diff --git a/README.md b/README.md index a88d859ac40..d2d5c4547b6 100644 --- a/README.md +++ b/README.md @@ -7,18 +7,4 @@ Updating this branch and pushing to the Apache git repo will cause gitpubsub to ## How to update Typically the website will need to be updated as part of a release. Prior to updating this branch -update the "website" branch appropriately, "jekyl build", update the product docs, APIs, etc... and -then reviewed the staged site as detailed in the website branch README. - -After verifying the staged site you can: - -1. `git checkout asf-site` - checkout this branch -1. `rm -fr content` - remove the old site content -1. `mv _site content` - rename the staged site directory. You should still have this from the prior staging efforts -1. review the changes and verify that they are what you expect -1. `git add .` - update git appropriately (may include git rm, etc..., as well). -1. `git commit` - ensure an good commit message -1. WARNING: review the changes you've made to git and as the next step will cause the live production site to be updated -1. `git push asf-site` - point of no return. - -At this point you can verify that the production site is updated and the links, etc... are functioning properly. +update the website in the "master" branch appropriately. More info can be found in the `zookeeper-website` directory: [https://github.com/apache/zookeeper/zookeeper-website/README.md](https://github.com/apache/zookeeper/zookeeper-website/README.md) diff --git a/content/.htaccess b/content/.htaccess index dded2e059cd..c7bcf2d3242 100644 --- a/content/.htaccess +++ b/content/.htaccess @@ -1,12 +1,26 @@ -# .htaccess for ZooKeeper +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 # -# Redirect HTTP to HTTPS -RewriteEngine On -RewriteCond %{HTTPS} !=on -RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L] -# Old site had /docs while new site has /doc -RedirectMatch Permanent ^/docs/(.+)$ /doc/$1 -# Old site had /mailing_lists.html while new site has /lists.html -RedirectMatch Permanent ^/mailing_lists.html$ /lists.html -# redirect bookkeeper site -RedirectMatch Permanent ^/bookkeeper/(.+)$ https://bookkeeper.apache.org/$1 +# 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. + +ErrorDocument 404 /404.html + + + Header always set Cache-Control "no-cache, must-revalidate" + + + Header always set Cache-Control "public, max-age=2592000, immutable" + + diff --git a/content/404.html b/content/404.html new file mode 100644 index 00000000000..aafbb11efa1 --- /dev/null +++ b/content/404.html @@ -0,0 +1,245 @@ + + + + + + + + Page Not Found | Apache ZooKeeper + + + + +
+
+ +

404

+

Page not found

+

+ The website was updated recently, so the route you were trying to visit might have + changed. +

+ +
+
+ + diff --git a/content/__spa-fallback.html b/content/__spa-fallback.html new file mode 100644 index 00000000000..c3c1f5d58b2 --- /dev/null +++ b/content/__spa-fallback.html @@ -0,0 +1,27 @@ + \ No newline at end of file diff --git a/content/api/search b/content/api/search new file mode 100644 index 00000000000..3b4e7dcfdde --- /dev/null +++ b/content/api/search @@ -0,0 +1 @@ +{"type":"advanced","internalDocumentIDStore":{"internalIdToId":["/docs/admin-ops/administrators-guide/administration","/docs/admin-ops/administrators-guide/administration-0","/docs/admin-ops/administrators-guide/administration-1","/docs/admin-ops/administrators-guide/administration-2","/docs/admin-ops/administrators-guide/administration-3","/docs/admin-ops/administrators-guide/administration-4","/docs/admin-ops/administrators-guide/administration-5","/docs/admin-ops/administrators-guide/administration-6","/docs/admin-ops/administrators-guide/administration-7","/docs/admin-ops/administrators-guide/administration-8","/docs/admin-ops/administrators-guide/administration-9","/docs/admin-ops/administrators-guide/administration-10","/docs/admin-ops/administrators-guide/administration-11","/docs/admin-ops/administrators-guide/administration-12","/docs/admin-ops/administrators-guide/administration-13","/docs/admin-ops/administrators-guide/administration-14","/docs/admin-ops/administrators-guide/administration-15","/docs/admin-ops/administrators-guide/administration-16","/docs/admin-ops/administrators-guide/administration-17","/docs/admin-ops/administrators-guide/administration-18","/docs/admin-ops/administrators-guide/administration-19","/docs/admin-ops/administrators-guide/administration-20","/docs/admin-ops/administrators-guide/administration-21","/docs/admin-ops/administrators-guide/administration-22","/docs/admin-ops/administrators-guide/administration-23","/docs/admin-ops/administrators-guide/administration-24","/docs/admin-ops/administrators-guide/administration-25","/docs/admin-ops/administrators-guide/administration-26","/docs/admin-ops/administrators-guide/administration-27","/docs/admin-ops/administrators-guide/administration-28","/docs/admin-ops/administrators-guide/administration-29","/docs/admin-ops/administrators-guide/administration-30","/docs/admin-ops/administrators-guide/administration-31","/docs/admin-ops/administrators-guide/administration-32","/docs/admin-ops/administrators-guide/administration-33","/docs/admin-ops/administrators-guide/administration-34","/docs/admin-ops/administrators-guide/administration-35","/docs/admin-ops/administrators-guide/administration-36","/docs/admin-ops/administrators-guide/administration-37","/docs/admin-ops/administrators-guide/administration-38","/docs/admin-ops/administrators-guide/best-practices","/docs/admin-ops/administrators-guide/best-practices-0","/docs/admin-ops/administrators-guide/best-practices-1","/docs/admin-ops/administrators-guide/best-practices-2","/docs/admin-ops/administrators-guide/best-practices-3","/docs/admin-ops/administrators-guide/best-practices-4","/docs/admin-ops/administrators-guide/best-practices-5","/docs/admin-ops/administrators-guide/best-practices-6","/docs/admin-ops/administrators-guide/best-practices-7","/docs/admin-ops/administrators-guide/best-practices-8","/docs/admin-ops/administrators-guide/best-practices-9","/docs/admin-ops/administrators-guide/commands","/docs/admin-ops/administrators-guide/commands-0","/docs/admin-ops/administrators-guide/commands-1","/docs/admin-ops/administrators-guide/commands-2","/docs/admin-ops/administrators-guide/commands-3","/docs/admin-ops/administrators-guide/commands-4","/docs/admin-ops/administrators-guide/commands-5","/docs/admin-ops/administrators-guide/commands-6","/docs/admin-ops/administrators-guide/commands-7","/docs/admin-ops/administrators-guide/commands-8","/docs/admin-ops/administrators-guide/commands-9","/docs/admin-ops/administrators-guide/commands-10","/docs/admin-ops/administrators-guide/commands-11","/docs/admin-ops/administrators-guide/commands-12","/docs/admin-ops/administrators-guide/commands-13","/docs/admin-ops/administrators-guide/commands-14","/docs/admin-ops/administrators-guide/commands-15","/docs/admin-ops/administrators-guide/commands-16","/docs/admin-ops/administrators-guide/commands-17","/docs/admin-ops/administrators-guide/commands-18","/docs/admin-ops/administrators-guide/commands-19","/docs/admin-ops/administrators-guide/commands-20","/docs/admin-ops/administrators-guide/commands-21","/docs/admin-ops/administrators-guide/commands-22","/docs/admin-ops/administrators-guide/commands-23","/docs/admin-ops/administrators-guide/commands-24","/docs/admin-ops/administrators-guide/commands-25","/docs/admin-ops/administrators-guide/commands-26","/docs/admin-ops/administrators-guide/commands-27","/docs/admin-ops/administrators-guide/commands-28","/docs/admin-ops/administrators-guide/commands-29","/docs/admin-ops/administrators-guide/commands-30","/docs/admin-ops/administrators-guide/commands-31","/docs/admin-ops/administrators-guide/commands-32","/docs/admin-ops/administrators-guide/commands-33","/docs/admin-ops/administrators-guide/commands-34","/docs/admin-ops/administrators-guide/commands-35","/docs/admin-ops/administrators-guide/commands-36","/docs/admin-ops/administrators-guide/commands-37","/docs/admin-ops/administrators-guide/commands-38","/docs/admin-ops/administrators-guide/commands-39","/docs/admin-ops/administrators-guide/commands-40","/docs/admin-ops/administrators-guide/commands-41","/docs/admin-ops/administrators-guide/commands-42","/docs/admin-ops/administrators-guide/commands-43","/docs/admin-ops/administrators-guide/commands-44","/docs/admin-ops/administrators-guide/commands-45","/docs/admin-ops/administrators-guide/commands-46","/docs/admin-ops/administrators-guide/commands-47","/docs/admin-ops/administrators-guide/commands-48","/docs/admin-ops/administrators-guide/commands-49","/docs/admin-ops/administrators-guide/commands-50","/docs/admin-ops/administrators-guide/commands-51","/docs/admin-ops/administrators-guide/commands-52","/docs/admin-ops/administrators-guide/commands-53","/docs/admin-ops/administrators-guide/commands-54","/docs/admin-ops/administrators-guide/commands-55","/docs/admin-ops/administrators-guide/commands-56","/docs/admin-ops/administrators-guide/commands-57","/docs/admin-ops/administrators-guide/commands-58","/docs/admin-ops/administrators-guide/commands-59","/docs/admin-ops/administrators-guide/commands-60","/docs/admin-ops/administrators-guide/commands-61","/docs/admin-ops/administrators-guide/commands-62","/docs/admin-ops/administrators-guide/commands-63","/docs/admin-ops/administrators-guide/commands-64","/docs/admin-ops/administrators-guide/commands-65","/docs/admin-ops/administrators-guide/commands-66","/docs/admin-ops/administrators-guide/commands-67","/docs/admin-ops/administrators-guide/commands-68","/docs/admin-ops/administrators-guide/commands-69","/docs/admin-ops/administrators-guide/commands-70","/docs/admin-ops/administrators-guide/commands-71","/docs/admin-ops/administrators-guide/commands-72","/docs/admin-ops/administrators-guide/commands-73","/docs/admin-ops/administrators-guide/commands-74","/docs/admin-ops/administrators-guide/commands-75","/docs/admin-ops/administrators-guide/commands-76","/docs/admin-ops/administrators-guide/commands-77","/docs/admin-ops/administrators-guide/commands-78","/docs/admin-ops/administrators-guide/commands-79","/docs/admin-ops/administrators-guide/commands-80","/docs/admin-ops/administrators-guide/commands-81","/docs/admin-ops/administrators-guide/commands-82","/docs/admin-ops/administrators-guide/commands-83","/docs/admin-ops/administrators-guide/commands-84","/docs/admin-ops/administrators-guide/commands-85","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-0","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-1","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-2","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-3","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-4","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-5","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-6","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-7","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-8","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-9","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-10","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-11","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-12","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-13","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-14","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-15","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-16","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-17","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-18","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-19","/docs/admin-ops/administrators-guide/configuration-parameters","/docs/admin-ops/administrators-guide/configuration-parameters-0","/docs/admin-ops/administrators-guide/configuration-parameters-1","/docs/admin-ops/administrators-guide/configuration-parameters-2","/docs/admin-ops/administrators-guide/configuration-parameters-3","/docs/admin-ops/administrators-guide/configuration-parameters-4","/docs/admin-ops/administrators-guide/configuration-parameters-5","/docs/admin-ops/administrators-guide/configuration-parameters-6","/docs/admin-ops/administrators-guide/configuration-parameters-7","/docs/admin-ops/administrators-guide/configuration-parameters-8","/docs/admin-ops/administrators-guide/configuration-parameters-9","/docs/admin-ops/administrators-guide/configuration-parameters-10","/docs/admin-ops/administrators-guide/configuration-parameters-11","/docs/admin-ops/administrators-guide/configuration-parameters-12","/docs/admin-ops/administrators-guide/configuration-parameters-13","/docs/admin-ops/administrators-guide/configuration-parameters-14","/docs/admin-ops/administrators-guide/configuration-parameters-15","/docs/admin-ops/administrators-guide/configuration-parameters-16","/docs/admin-ops/administrators-guide/configuration-parameters-17","/docs/admin-ops/administrators-guide/configuration-parameters-18","/docs/admin-ops/administrators-guide/configuration-parameters-19","/docs/admin-ops/administrators-guide/configuration-parameters-20","/docs/admin-ops/administrators-guide/configuration-parameters-21","/docs/admin-ops/administrators-guide/configuration-parameters-22","/docs/admin-ops/administrators-guide/configuration-parameters-23","/docs/admin-ops/administrators-guide/configuration-parameters-24","/docs/admin-ops/administrators-guide/configuration-parameters-25","/docs/admin-ops/administrators-guide/configuration-parameters-26","/docs/admin-ops/administrators-guide/configuration-parameters-27","/docs/admin-ops/administrators-guide/configuration-parameters-28","/docs/admin-ops/administrators-guide/configuration-parameters-29","/docs/admin-ops/administrators-guide/configuration-parameters-30","/docs/admin-ops/administrators-guide/configuration-parameters-31","/docs/admin-ops/administrators-guide/configuration-parameters-32","/docs/admin-ops/administrators-guide/configuration-parameters-33","/docs/admin-ops/administrators-guide/configuration-parameters-34","/docs/admin-ops/administrators-guide/configuration-parameters-35","/docs/admin-ops/administrators-guide/configuration-parameters-36","/docs/admin-ops/administrators-guide/configuration-parameters-37","/docs/admin-ops/administrators-guide/configuration-parameters-38","/docs/admin-ops/administrators-guide/configuration-parameters-39","/docs/admin-ops/administrators-guide/configuration-parameters-40","/docs/admin-ops/administrators-guide/configuration-parameters-41","/docs/admin-ops/administrators-guide/configuration-parameters-42","/docs/admin-ops/administrators-guide/configuration-parameters-43","/docs/admin-ops/administrators-guide/configuration-parameters-44","/docs/admin-ops/administrators-guide/configuration-parameters-45","/docs/admin-ops/administrators-guide/configuration-parameters-46","/docs/admin-ops/administrators-guide/configuration-parameters-47","/docs/admin-ops/administrators-guide/configuration-parameters-48","/docs/admin-ops/administrators-guide/configuration-parameters-49","/docs/admin-ops/administrators-guide/configuration-parameters-50","/docs/admin-ops/administrators-guide/configuration-parameters-51","/docs/admin-ops/administrators-guide/configuration-parameters-52","/docs/admin-ops/administrators-guide/configuration-parameters-53","/docs/admin-ops/administrators-guide/configuration-parameters-54","/docs/admin-ops/administrators-guide/configuration-parameters-55","/docs/admin-ops/administrators-guide/configuration-parameters-56","/docs/admin-ops/administrators-guide/configuration-parameters-57","/docs/admin-ops/administrators-guide/configuration-parameters-58","/docs/admin-ops/administrators-guide/configuration-parameters-59","/docs/admin-ops/administrators-guide/configuration-parameters-60","/docs/admin-ops/administrators-guide/configuration-parameters-61","/docs/admin-ops/administrators-guide/configuration-parameters-62","/docs/admin-ops/administrators-guide/configuration-parameters-63","/docs/admin-ops/administrators-guide/configuration-parameters-64","/docs/admin-ops/administrators-guide/configuration-parameters-65","/docs/admin-ops/administrators-guide/configuration-parameters-66","/docs/admin-ops/administrators-guide/configuration-parameters-67","/docs/admin-ops/administrators-guide/configuration-parameters-68","/docs/admin-ops/administrators-guide/configuration-parameters-69","/docs/admin-ops/administrators-guide/configuration-parameters-70","/docs/admin-ops/administrators-guide/configuration-parameters-71","/docs/admin-ops/administrators-guide/configuration-parameters-72","/docs/admin-ops/administrators-guide/configuration-parameters-73","/docs/admin-ops/administrators-guide/configuration-parameters-74","/docs/admin-ops/administrators-guide/configuration-parameters-75","/docs/admin-ops/administrators-guide/configuration-parameters-76","/docs/admin-ops/administrators-guide/configuration-parameters-77","/docs/admin-ops/administrators-guide/configuration-parameters-78","/docs/admin-ops/administrators-guide/configuration-parameters-79","/docs/admin-ops/administrators-guide/configuration-parameters-80","/docs/admin-ops/administrators-guide/configuration-parameters-81","/docs/admin-ops/administrators-guide/configuration-parameters-82","/docs/admin-ops/administrators-guide/configuration-parameters-83","/docs/admin-ops/administrators-guide/configuration-parameters-84","/docs/admin-ops/administrators-guide/configuration-parameters-85","/docs/admin-ops/administrators-guide/configuration-parameters-86","/docs/admin-ops/administrators-guide/configuration-parameters-87","/docs/admin-ops/administrators-guide/configuration-parameters-88","/docs/admin-ops/administrators-guide/configuration-parameters-89","/docs/admin-ops/administrators-guide/configuration-parameters-90","/docs/admin-ops/administrators-guide/configuration-parameters-91","/docs/admin-ops/administrators-guide/configuration-parameters-92","/docs/admin-ops/administrators-guide/configuration-parameters-93","/docs/admin-ops/administrators-guide/configuration-parameters-94","/docs/admin-ops/administrators-guide/configuration-parameters-95","/docs/admin-ops/administrators-guide/configuration-parameters-96","/docs/admin-ops/administrators-guide/configuration-parameters-97","/docs/admin-ops/administrators-guide/configuration-parameters-98","/docs/admin-ops/administrators-guide/configuration-parameters-99","/docs/admin-ops/administrators-guide/configuration-parameters-100","/docs/admin-ops/administrators-guide/configuration-parameters-101","/docs/admin-ops/administrators-guide/configuration-parameters-102","/docs/admin-ops/administrators-guide/configuration-parameters-103","/docs/admin-ops/administrators-guide/configuration-parameters-104","/docs/admin-ops/administrators-guide/configuration-parameters-105","/docs/admin-ops/administrators-guide/configuration-parameters-106","/docs/admin-ops/administrators-guide/configuration-parameters-107","/docs/admin-ops/administrators-guide/configuration-parameters-108","/docs/admin-ops/administrators-guide/configuration-parameters-109","/docs/admin-ops/administrators-guide/configuration-parameters-110","/docs/admin-ops/administrators-guide/configuration-parameters-111","/docs/admin-ops/administrators-guide/configuration-parameters-112","/docs/admin-ops/administrators-guide/configuration-parameters-113","/docs/admin-ops/administrators-guide/configuration-parameters-114","/docs/admin-ops/administrators-guide/configuration-parameters-115","/docs/admin-ops/administrators-guide/configuration-parameters-116","/docs/admin-ops/administrators-guide/configuration-parameters-117","/docs/admin-ops/administrators-guide/configuration-parameters-118","/docs/admin-ops/administrators-guide/configuration-parameters-119","/docs/admin-ops/administrators-guide/configuration-parameters-120","/docs/admin-ops/administrators-guide/configuration-parameters-121","/docs/admin-ops/administrators-guide/configuration-parameters-122","/docs/admin-ops/administrators-guide/configuration-parameters-123","/docs/admin-ops/administrators-guide/configuration-parameters-124","/docs/admin-ops/administrators-guide/configuration-parameters-125","/docs/admin-ops/administrators-guide/configuration-parameters-126","/docs/admin-ops/administrators-guide/configuration-parameters-127","/docs/admin-ops/administrators-guide/configuration-parameters-128","/docs/admin-ops/administrators-guide/configuration-parameters-129","/docs/admin-ops/administrators-guide/configuration-parameters-130","/docs/admin-ops/administrators-guide/configuration-parameters-131","/docs/admin-ops/administrators-guide/configuration-parameters-132","/docs/admin-ops/administrators-guide/configuration-parameters-133","/docs/admin-ops/administrators-guide/configuration-parameters-134","/docs/admin-ops/administrators-guide/configuration-parameters-135","/docs/admin-ops/administrators-guide/configuration-parameters-136","/docs/admin-ops/administrators-guide/configuration-parameters-137","/docs/admin-ops/administrators-guide/configuration-parameters-138","/docs/admin-ops/administrators-guide/configuration-parameters-139","/docs/admin-ops/administrators-guide/configuration-parameters-140","/docs/admin-ops/administrators-guide/configuration-parameters-141","/docs/admin-ops/administrators-guide/configuration-parameters-142","/docs/admin-ops/administrators-guide/configuration-parameters-143","/docs/admin-ops/administrators-guide/configuration-parameters-144","/docs/admin-ops/administrators-guide/configuration-parameters-145","/docs/admin-ops/administrators-guide/configuration-parameters-146","/docs/admin-ops/administrators-guide/configuration-parameters-147","/docs/admin-ops/administrators-guide/configuration-parameters-148","/docs/admin-ops/administrators-guide/configuration-parameters-149","/docs/admin-ops/administrators-guide/configuration-parameters-150","/docs/admin-ops/administrators-guide/configuration-parameters-151","/docs/admin-ops/administrators-guide/configuration-parameters-152","/docs/admin-ops/administrators-guide/configuration-parameters-153","/docs/admin-ops/administrators-guide/configuration-parameters-154","/docs/admin-ops/administrators-guide/configuration-parameters-155","/docs/admin-ops/administrators-guide/configuration-parameters-156","/docs/admin-ops/administrators-guide/configuration-parameters-157","/docs/admin-ops/administrators-guide/configuration-parameters-158","/docs/admin-ops/administrators-guide/configuration-parameters-159","/docs/admin-ops/administrators-guide/configuration-parameters-160","/docs/admin-ops/administrators-guide/configuration-parameters-161","/docs/admin-ops/administrators-guide/configuration-parameters-162","/docs/admin-ops/administrators-guide/configuration-parameters-163","/docs/admin-ops/administrators-guide/configuration-parameters-164","/docs/admin-ops/administrators-guide/configuration-parameters-165","/docs/admin-ops/administrators-guide/configuration-parameters-166","/docs/admin-ops/administrators-guide/configuration-parameters-167","/docs/admin-ops/administrators-guide/configuration-parameters-168","/docs/admin-ops/administrators-guide/configuration-parameters-169","/docs/admin-ops/administrators-guide/configuration-parameters-170","/docs/admin-ops/administrators-guide/configuration-parameters-171","/docs/admin-ops/administrators-guide/configuration-parameters-172","/docs/admin-ops/administrators-guide/configuration-parameters-173","/docs/admin-ops/administrators-guide/configuration-parameters-174","/docs/admin-ops/administrators-guide/configuration-parameters-175","/docs/admin-ops/administrators-guide/configuration-parameters-176","/docs/admin-ops/administrators-guide/configuration-parameters-177","/docs/admin-ops/administrators-guide/configuration-parameters-178","/docs/admin-ops/administrators-guide/configuration-parameters-179","/docs/admin-ops/administrators-guide/configuration-parameters-180","/docs/admin-ops/administrators-guide/configuration-parameters-181","/docs/admin-ops/administrators-guide/configuration-parameters-182","/docs/admin-ops/administrators-guide/configuration-parameters-183","/docs/admin-ops/administrators-guide/configuration-parameters-184","/docs/admin-ops/administrators-guide/configuration-parameters-185","/docs/admin-ops/administrators-guide/configuration-parameters-186","/docs/admin-ops/administrators-guide/configuration-parameters-187","/docs/admin-ops/administrators-guide/configuration-parameters-188","/docs/admin-ops/administrators-guide/configuration-parameters-189","/docs/admin-ops/administrators-guide/configuration-parameters-190","/docs/admin-ops/administrators-guide/configuration-parameters-191","/docs/admin-ops/administrators-guide/configuration-parameters-192","/docs/admin-ops/administrators-guide/configuration-parameters-193","/docs/admin-ops/administrators-guide/configuration-parameters-194","/docs/admin-ops/administrators-guide/configuration-parameters-195","/docs/admin-ops/administrators-guide/configuration-parameters-196","/docs/admin-ops/administrators-guide/configuration-parameters-197","/docs/admin-ops/administrators-guide/configuration-parameters-198","/docs/admin-ops/administrators-guide/configuration-parameters-199","/docs/admin-ops/administrators-guide/configuration-parameters-200","/docs/admin-ops/administrators-guide/configuration-parameters-201","/docs/admin-ops/administrators-guide/configuration-parameters-202","/docs/admin-ops/administrators-guide/configuration-parameters-203","/docs/admin-ops/administrators-guide/configuration-parameters-204","/docs/admin-ops/administrators-guide/configuration-parameters-205","/docs/admin-ops/administrators-guide/configuration-parameters-206","/docs/admin-ops/administrators-guide/configuration-parameters-207","/docs/admin-ops/administrators-guide/configuration-parameters-208","/docs/admin-ops/administrators-guide/configuration-parameters-209","/docs/admin-ops/administrators-guide/configuration-parameters-210","/docs/admin-ops/administrators-guide/configuration-parameters-211","/docs/admin-ops/administrators-guide/configuration-parameters-212","/docs/admin-ops/administrators-guide/configuration-parameters-213","/docs/admin-ops/administrators-guide/configuration-parameters-214","/docs/admin-ops/administrators-guide/configuration-parameters-215","/docs/admin-ops/administrators-guide/configuration-parameters-216","/docs/admin-ops/administrators-guide/configuration-parameters-217","/docs/admin-ops/administrators-guide/configuration-parameters-218","/docs/admin-ops/administrators-guide/configuration-parameters-219","/docs/admin-ops/administrators-guide/configuration-parameters-220","/docs/admin-ops/administrators-guide/configuration-parameters-221","/docs/admin-ops/administrators-guide/configuration-parameters-222","/docs/admin-ops/administrators-guide/configuration-parameters-223","/docs/admin-ops/administrators-guide/configuration-parameters-224","/docs/admin-ops/administrators-guide/configuration-parameters-225","/docs/admin-ops/administrators-guide/configuration-parameters-226","/docs/admin-ops/administrators-guide/configuration-parameters-227","/docs/admin-ops/administrators-guide/configuration-parameters-228","/docs/admin-ops/administrators-guide/configuration-parameters-229","/docs/admin-ops/administrators-guide/configuration-parameters-230","/docs/admin-ops/administrators-guide/configuration-parameters-231","/docs/admin-ops/administrators-guide/configuration-parameters-232","/docs/admin-ops/administrators-guide/configuration-parameters-233","/docs/admin-ops/administrators-guide/configuration-parameters-234","/docs/admin-ops/administrators-guide/configuration-parameters-235","/docs/admin-ops/administrators-guide/configuration-parameters-236","/docs/admin-ops/administrators-guide/configuration-parameters-237","/docs/admin-ops/administrators-guide/configuration-parameters-238","/docs/admin-ops/administrators-guide/configuration-parameters-239","/docs/admin-ops/administrators-guide/configuration-parameters-240","/docs/admin-ops/administrators-guide/configuration-parameters-241","/docs/admin-ops/administrators-guide/configuration-parameters-242","/docs/admin-ops/administrators-guide/configuration-parameters-243","/docs/admin-ops/administrators-guide/configuration-parameters-244","/docs/admin-ops/administrators-guide/configuration-parameters-245","/docs/admin-ops/administrators-guide/configuration-parameters-246","/docs/admin-ops/administrators-guide/configuration-parameters-247","/docs/admin-ops/administrators-guide/configuration-parameters-248","/docs/admin-ops/administrators-guide/configuration-parameters-249","/docs/admin-ops/administrators-guide/configuration-parameters-250","/docs/admin-ops/administrators-guide/configuration-parameters-251","/docs/admin-ops/administrators-guide/configuration-parameters-252","/docs/admin-ops/administrators-guide/configuration-parameters-253","/docs/admin-ops/administrators-guide/configuration-parameters-254","/docs/admin-ops/administrators-guide/configuration-parameters-255","/docs/admin-ops/administrators-guide/configuration-parameters-256","/docs/admin-ops/administrators-guide/configuration-parameters-257","/docs/admin-ops/administrators-guide/configuration-parameters-258","/docs/admin-ops/administrators-guide/configuration-parameters-259","/docs/admin-ops/administrators-guide/configuration-parameters-260","/docs/admin-ops/administrators-guide/configuration-parameters-261","/docs/admin-ops/administrators-guide/configuration-parameters-262","/docs/admin-ops/administrators-guide/configuration-parameters-263","/docs/admin-ops/administrators-guide/configuration-parameters-264","/docs/admin-ops/administrators-guide/configuration-parameters-265","/docs/admin-ops/administrators-guide/configuration-parameters-266","/docs/admin-ops/administrators-guide/configuration-parameters-267","/docs/admin-ops/administrators-guide/configuration-parameters-268","/docs/admin-ops/administrators-guide/configuration-parameters-269","/docs/admin-ops/administrators-guide/configuration-parameters-270","/docs/admin-ops/administrators-guide/configuration-parameters-271","/docs/admin-ops/administrators-guide/configuration-parameters-272","/docs/admin-ops/administrators-guide/configuration-parameters-273","/docs/admin-ops/administrators-guide/configuration-parameters-274","/docs/admin-ops/administrators-guide/data-file-management","/docs/admin-ops/administrators-guide/data-file-management-0","/docs/admin-ops/administrators-guide/data-file-management-1","/docs/admin-ops/administrators-guide/data-file-management-2","/docs/admin-ops/administrators-guide/data-file-management-3","/docs/admin-ops/administrators-guide/data-file-management-4","/docs/admin-ops/administrators-guide/data-file-management-5","/docs/admin-ops/administrators-guide/data-file-management-6","/docs/admin-ops/administrators-guide/data-file-management-7","/docs/admin-ops/administrators-guide/data-file-management-8","/docs/admin-ops/administrators-guide/data-file-management-9","/docs/admin-ops/administrators-guide/data-file-management-10","/docs/admin-ops/administrators-guide/data-file-management-11","/docs/admin-ops/administrators-guide/data-file-management-12","/docs/admin-ops/administrators-guide/data-file-management-13","/docs/admin-ops/administrators-guide/data-file-management-14","/docs/admin-ops/administrators-guide/data-file-management-15","/docs/admin-ops/administrators-guide/data-file-management-16","/docs/admin-ops/administrators-guide/data-file-management-17","/docs/admin-ops/administrators-guide/data-file-management-18","/docs/admin-ops/administrators-guide/deployment","/docs/admin-ops/administrators-guide/deployment-0","/docs/admin-ops/administrators-guide/deployment-1","/docs/admin-ops/administrators-guide/deployment-2","/docs/admin-ops/administrators-guide/deployment-3","/docs/admin-ops/administrators-guide/deployment-4","/docs/admin-ops/administrators-guide/deployment-5","/docs/admin-ops/administrators-guide/deployment-6","/docs/admin-ops/administrators-guide/deployment-7","/docs/admin-ops/administrators-guide/deployment-8","/docs/admin-ops/administrators-guide/deployment-9","/docs/admin-ops/administrators-guide/deployment-10","/docs/admin-ops/administrators-guide/deployment-11","/docs/admin-ops/administrators-guide/deployment-12","/docs/admin-ops/administrators-guide/deployment-13","/docs/admin-ops/administrators-guide/deployment-14","/docs/admin-ops/administrators-guide/deployment-15","/docs/admin-ops/administrators-guide/deployment-16","/docs/admin-ops/administrators-guide/deployment-17","/docs/admin-ops/administrators-guide/deployment-18","/docs/admin-ops/administrators-guide/deployment-19","/docs/admin-ops/administrators-guide/deployment-20","/docs/admin-ops/administrators-guide/deployment-21","/docs/admin-ops/administrators-guide/deployment-22","/docs/admin-ops/administrators-guide/deployment-23","/docs/admin-ops/administrators-guide/deployment-24","/docs/admin-ops/administrators-guide/deployment-25","/docs/admin-ops/administrators-guide/deployment-26","/docs/admin-ops/administrators-guide/deployment-27","/docs/admin-ops/administrators-guide/deployment-28","/docs/admin-ops/administrators-guide/deployment-29","/docs/admin-ops/administrators-guide/deployment-30","/docs/admin-ops/administrators-guide/deployment-31","/docs/admin-ops/administrators-guide/deployment-32","/docs/admin-ops/administrators-guide/deployment-33","/docs/admin-ops/administrators-guide/deployment-34","/docs/admin-ops/administrators-guide/deployment-35","/docs/admin-ops/administrators-guide/deployment-36","/docs/admin-ops/administrators-guide/deployment-37","/docs/admin-ops/administrators-guide/deployment-38","/docs/admin-ops/administrators-guide/deployment-39","/docs/admin-ops/administrators-guide/deployment-40","/docs/admin-ops/administrators-guide/deployment-41","/docs/admin-ops/administrators-guide/deployment-42","/docs/admin-ops/administrators-guide/deployment-43","/docs/admin-ops/administrators-guide/deployment-44","/docs/admin-ops/administrators-guide/deployment-45","/docs/admin-ops/administrators-guide/deployment-46","/docs/admin-ops/administrators-guide/deployment-47","/docs/admin-ops/administrators-guide/deployment-48","/docs/admin-ops/administrators-guide/deployment-49","/docs/admin-ops/administrators-guide/deployment-50","/docs/admin-ops/administrators-guide/deployment-51","/docs/admin-ops/administrators-guide/deployment-52","/docs/admin-ops/administrators-guide/deployment-53","/docs/admin-ops/administrators-guide/deployment-54","/docs/admin-ops/administrators-guide/deployment-55","/docs/admin-ops/administrators-guide/deployment-56","/docs/admin-ops/administrators-guide/deployment-57","/docs/admin-ops/administrators-guide/deployment-58","/docs/admin-ops/administrators-guide/deployment-59","/docs/admin-ops/administrators-guide/deployment-60","/docs/admin-ops/administrators-guide/deployment-61","/docs/admin-ops/administrators-guide/deployment-62","/docs/admin-ops/administrators-guide/deployment-63","/docs/admin-ops/administrators-guide/deployment-64","/docs/admin-ops/administrators-guide/deployment-65","/docs/admin-ops/administrators-guide/deployment-66","/docs/admin-ops/administrators-guide/deployment-67","/docs/admin-ops/administrators-guide/deployment-68","/docs/admin-ops/administrators-guide/deployment-69","/docs/admin-ops/administrators-guide/deployment-70","/docs/admin-ops/administrators-guide/deployment-71","/docs/admin-ops/administrators-guide/deployment-72","/docs/admin-ops/administrators-guide/deployment-73","/docs/admin-ops/administrators-guide/deployment-74","/docs/admin-ops/administrators-guide/deployment-75","/docs/admin-ops/administrators-guide/deployment-76","/docs/admin-ops/administrators-guide/deployment-77","/docs/admin-ops/administrators-guide/deployment-78","/docs/admin-ops/administrators-guide/deployment-79","/docs/admin-ops/administrators-guide/deployment-80","/docs/admin-ops/administrators-guide/deployment-81","/docs/admin-ops/administrators-guide/deployment-82","/docs/admin-ops/administrators-guide","/docs/admin-ops/administrators-guide-0","/docs/admin-ops/cli","/docs/admin-ops/cli-0","/docs/admin-ops/cli-1","/docs/admin-ops/cli-2","/docs/admin-ops/cli-3","/docs/admin-ops/cli-4","/docs/admin-ops/cli-5","/docs/admin-ops/cli-6","/docs/admin-ops/cli-7","/docs/admin-ops/cli-8","/docs/admin-ops/cli-9","/docs/admin-ops/cli-10","/docs/admin-ops/cli-11","/docs/admin-ops/cli-12","/docs/admin-ops/cli-13","/docs/admin-ops/cli-14","/docs/admin-ops/cli-15","/docs/admin-ops/cli-16","/docs/admin-ops/cli-17","/docs/admin-ops/cli-18","/docs/admin-ops/cli-19","/docs/admin-ops/cli-20","/docs/admin-ops/cli-21","/docs/admin-ops/cli-22","/docs/admin-ops/cli-23","/docs/admin-ops/cli-24","/docs/admin-ops/cli-25","/docs/admin-ops/cli-26","/docs/admin-ops/cli-27","/docs/admin-ops/cli-28","/docs/admin-ops/cli-29","/docs/admin-ops/cli-30","/docs/admin-ops/cli-31","/docs/admin-ops/cli-32","/docs/admin-ops/cli-33","/docs/admin-ops/cli-34","/docs/admin-ops/cli-35","/docs/admin-ops/cli-36","/docs/admin-ops/cli-37","/docs/admin-ops/cli-38","/docs/admin-ops/cli-39","/docs/admin-ops/cli-40","/docs/admin-ops/cli-41","/docs/admin-ops/cli-42","/docs/admin-ops/cli-43","/docs/admin-ops/cli-44","/docs/admin-ops/cli-45","/docs/admin-ops/cli-46","/docs/admin-ops/cli-47","/docs/admin-ops/cli-48","/docs/admin-ops/cli-49","/docs/admin-ops/cli-50","/docs/admin-ops/cli-51","/docs/admin-ops/cli-52","/docs/admin-ops/cli-53","/docs/admin-ops/cli-54","/docs/admin-ops/cli-55","/docs/admin-ops/cli-56","/docs/admin-ops/cli-57","/docs/admin-ops/cli-58","/docs/admin-ops/cli-59","/docs/admin-ops/cli-60","/docs/admin-ops/cli-61","/docs/admin-ops/cli-62","/docs/admin-ops/cli-63","/docs/admin-ops/cli-64","/docs/admin-ops/cli-65","/docs/admin-ops/dynamic-reconfiguration","/docs/admin-ops/dynamic-reconfiguration-0","/docs/admin-ops/dynamic-reconfiguration-1","/docs/admin-ops/dynamic-reconfiguration-2","/docs/admin-ops/dynamic-reconfiguration-3","/docs/admin-ops/dynamic-reconfiguration-4","/docs/admin-ops/dynamic-reconfiguration-5","/docs/admin-ops/dynamic-reconfiguration-6","/docs/admin-ops/dynamic-reconfiguration-7","/docs/admin-ops/dynamic-reconfiguration-8","/docs/admin-ops/dynamic-reconfiguration-9","/docs/admin-ops/dynamic-reconfiguration-10","/docs/admin-ops/dynamic-reconfiguration-11","/docs/admin-ops/dynamic-reconfiguration-12","/docs/admin-ops/dynamic-reconfiguration-13","/docs/admin-ops/dynamic-reconfiguration-14","/docs/admin-ops/dynamic-reconfiguration-15","/docs/admin-ops/dynamic-reconfiguration-16","/docs/admin-ops/dynamic-reconfiguration-17","/docs/admin-ops/dynamic-reconfiguration-18","/docs/admin-ops/dynamic-reconfiguration-19","/docs/admin-ops/dynamic-reconfiguration-20","/docs/admin-ops/dynamic-reconfiguration-21","/docs/admin-ops/dynamic-reconfiguration-22","/docs/admin-ops/dynamic-reconfiguration-23","/docs/admin-ops/dynamic-reconfiguration-24","/docs/admin-ops/dynamic-reconfiguration-25","/docs/admin-ops/dynamic-reconfiguration-26","/docs/admin-ops/dynamic-reconfiguration-27","/docs/admin-ops/dynamic-reconfiguration-28","/docs/admin-ops/dynamic-reconfiguration-29","/docs/admin-ops/dynamic-reconfiguration-30","/docs/admin-ops/dynamic-reconfiguration-31","/docs/admin-ops/dynamic-reconfiguration-32","/docs/admin-ops/dynamic-reconfiguration-33","/docs/admin-ops/dynamic-reconfiguration-34","/docs/admin-ops/dynamic-reconfiguration-35","/docs/admin-ops/dynamic-reconfiguration-36","/docs/admin-ops/dynamic-reconfiguration-37","/docs/admin-ops/dynamic-reconfiguration-38","/docs/admin-ops/dynamic-reconfiguration-39","/docs/admin-ops/dynamic-reconfiguration-40","/docs/admin-ops/dynamic-reconfiguration-41","/docs/admin-ops/dynamic-reconfiguration-42","/docs/admin-ops/dynamic-reconfiguration-43","/docs/admin-ops/dynamic-reconfiguration-44","/docs/admin-ops/dynamic-reconfiguration-45","/docs/admin-ops/dynamic-reconfiguration-46","/docs/admin-ops/dynamic-reconfiguration-47","/docs/admin-ops/dynamic-reconfiguration-48","/docs/admin-ops/dynamic-reconfiguration-49","/docs/admin-ops/dynamic-reconfiguration-50","/docs/admin-ops/dynamic-reconfiguration-51","/docs/admin-ops/dynamic-reconfiguration-52","/docs/admin-ops/dynamic-reconfiguration-53","/docs/admin-ops/dynamic-reconfiguration-54","/docs/admin-ops/dynamic-reconfiguration-55","/docs/admin-ops/dynamic-reconfiguration-56","/docs/admin-ops/dynamic-reconfiguration-57","/docs/admin-ops/dynamic-reconfiguration-58","/docs/admin-ops/dynamic-reconfiguration-59","/docs/admin-ops/dynamic-reconfiguration-60","/docs/admin-ops/dynamic-reconfiguration-61","/docs/admin-ops/dynamic-reconfiguration-62","/docs/admin-ops/dynamic-reconfiguration-63","/docs/admin-ops/dynamic-reconfiguration-64","/docs/admin-ops/dynamic-reconfiguration-65","/docs/admin-ops/dynamic-reconfiguration-66","/docs/admin-ops/dynamic-reconfiguration-67","/docs/admin-ops/dynamic-reconfiguration-68","/docs/admin-ops/dynamic-reconfiguration-69","/docs/admin-ops/dynamic-reconfiguration-70","/docs/admin-ops/dynamic-reconfiguration-71","/docs/admin-ops/dynamic-reconfiguration-72","/docs/admin-ops/dynamic-reconfiguration-73","/docs/admin-ops/dynamic-reconfiguration-74","/docs/admin-ops/dynamic-reconfiguration-75","/docs/admin-ops/dynamic-reconfiguration-76","/docs/admin-ops/dynamic-reconfiguration-77","/docs/admin-ops/dynamic-reconfiguration-78","/docs/admin-ops/dynamic-reconfiguration-79","/docs/admin-ops/dynamic-reconfiguration-80","/docs/admin-ops/dynamic-reconfiguration-81","/docs/admin-ops/dynamic-reconfiguration-82","/docs/admin-ops/dynamic-reconfiguration-83","/docs/admin-ops/dynamic-reconfiguration-84","/docs/admin-ops/dynamic-reconfiguration-85","/docs/admin-ops/dynamic-reconfiguration-86","/docs/admin-ops/dynamic-reconfiguration-87","/docs/admin-ops/dynamic-reconfiguration-88","/docs/admin-ops/dynamic-reconfiguration-89","/docs/admin-ops/dynamic-reconfiguration-90","/docs/admin-ops/dynamic-reconfiguration-91","/docs/admin-ops/dynamic-reconfiguration-92","/docs/admin-ops/dynamic-reconfiguration-93","/docs/admin-ops/dynamic-reconfiguration-94","/docs/admin-ops/dynamic-reconfiguration-95","/docs/admin-ops/dynamic-reconfiguration-96","/docs/admin-ops/dynamic-reconfiguration-97","/docs/admin-ops/dynamic-reconfiguration-98","/docs/admin-ops/dynamic-reconfiguration-99","/docs/admin-ops/dynamic-reconfiguration-100","/docs/admin-ops/dynamic-reconfiguration-101","/docs/admin-ops/dynamic-reconfiguration-102","/docs/admin-ops/dynamic-reconfiguration-103","/docs/admin-ops/dynamic-reconfiguration-104","/docs/admin-ops/dynamic-reconfiguration-105","/docs/admin-ops/dynamic-reconfiguration-106","/docs/admin-ops/dynamic-reconfiguration-107","/docs/admin-ops/dynamic-reconfiguration-108","/docs/admin-ops/dynamic-reconfiguration-109","/docs/admin-ops/dynamic-reconfiguration-110","/docs/admin-ops/dynamic-reconfiguration-111","/docs/admin-ops/dynamic-reconfiguration-112","/docs/admin-ops/dynamic-reconfiguration-113","/docs/admin-ops/dynamic-reconfiguration-114","/docs/admin-ops/dynamic-reconfiguration-115","/docs/admin-ops/dynamic-reconfiguration-116","/docs/admin-ops/dynamic-reconfiguration-117","/docs/admin-ops/dynamic-reconfiguration-118","/docs/admin-ops/dynamic-reconfiguration-119","/docs/admin-ops/dynamic-reconfiguration-120","/docs/admin-ops/dynamic-reconfiguration-121","/docs/admin-ops/dynamic-reconfiguration-122","/docs/admin-ops/dynamic-reconfiguration-123","/docs/admin-ops/dynamic-reconfiguration-124","/docs/admin-ops/dynamic-reconfiguration-125","/docs/admin-ops/jmx","/docs/admin-ops/jmx-0","/docs/admin-ops/jmx-1","/docs/admin-ops/jmx-2","/docs/admin-ops/jmx-3","/docs/admin-ops/jmx-4","/docs/admin-ops/jmx-5","/docs/admin-ops/jmx-6","/docs/admin-ops/jmx-7","/docs/admin-ops/jmx-8","/docs/admin-ops/jmx-9","/docs/admin-ops/jmx-10","/docs/admin-ops/jmx-11","/docs/admin-ops/jmx-12","/docs/admin-ops/jmx-13","/docs/admin-ops/jmx-14","/docs/admin-ops/jmx-15","/docs/admin-ops/jmx-16","/docs/admin-ops/jmx-17","/docs/admin-ops/jmx-18","/docs/admin-ops/jmx-19","/docs/admin-ops/jmx-20","/docs/admin-ops/jmx-21","/docs/admin-ops/jmx-22","/docs/admin-ops/jmx-23","/docs/admin-ops/jmx-24","/docs/admin-ops/jmx-25","/docs/admin-ops/jmx-26","/docs/admin-ops/jmx-27","/docs/admin-ops/jmx-28","/docs/admin-ops/jmx-29","/docs/admin-ops/jmx-30","/docs/admin-ops/jmx-31","/docs/admin-ops/jmx-32","/docs/admin-ops/jmx-33","/docs/admin-ops/jmx-34","/docs/admin-ops/jmx-35","/docs/admin-ops/jmx-36","/docs/admin-ops/jmx-37","/docs/admin-ops/jmx-38","/docs/admin-ops/jmx-39","/docs/admin-ops/jmx-40","/docs/admin-ops/jmx-41","/docs/admin-ops/jmx-42","/docs/admin-ops/jmx-43","/docs/admin-ops/jmx-44","/docs/admin-ops/jmx-45","/docs/admin-ops/jmx-46","/docs/admin-ops/jmx-47","/docs/admin-ops/jmx-48","/docs/admin-ops/jmx-49","/docs/admin-ops/jmx-50","/docs/admin-ops/jmx-51","/docs/admin-ops/jmx-52","/docs/admin-ops/jmx-53","/docs/admin-ops/jmx-54","/docs/admin-ops/jmx-55","/docs/admin-ops/jmx-56","/docs/admin-ops/monitor-and-audit-logs","/docs/admin-ops/monitor-and-audit-logs-0","/docs/admin-ops/monitor-and-audit-logs-1","/docs/admin-ops/monitor-and-audit-logs-2","/docs/admin-ops/monitor-and-audit-logs-3","/docs/admin-ops/monitor-and-audit-logs-4","/docs/admin-ops/monitor-and-audit-logs-5","/docs/admin-ops/monitor-and-audit-logs-6","/docs/admin-ops/monitor-and-audit-logs-7","/docs/admin-ops/monitor-and-audit-logs-8","/docs/admin-ops/monitor-and-audit-logs-9","/docs/admin-ops/monitor-and-audit-logs-10","/docs/admin-ops/monitor-and-audit-logs-11","/docs/admin-ops/monitor-and-audit-logs-12","/docs/admin-ops/monitor-and-audit-logs-13","/docs/admin-ops/monitor-and-audit-logs-14","/docs/admin-ops/monitor-and-audit-logs-15","/docs/admin-ops/monitor-and-audit-logs-16","/docs/admin-ops/monitor-and-audit-logs-17","/docs/admin-ops/monitor-and-audit-logs-18","/docs/admin-ops/monitor-and-audit-logs-19","/docs/admin-ops/monitor-and-audit-logs-20","/docs/admin-ops/monitor-and-audit-logs-21","/docs/admin-ops/monitor-and-audit-logs-22","/docs/admin-ops/monitor-and-audit-logs-23","/docs/admin-ops/monitor-and-audit-logs-24","/docs/admin-ops/monitor-and-audit-logs-25","/docs/admin-ops/monitor-and-audit-logs-26","/docs/admin-ops/monitor-and-audit-logs-27","/docs/admin-ops/monitor-and-audit-logs-28","/docs/admin-ops/monitor-and-audit-logs-29","/docs/admin-ops/monitor-and-audit-logs-30","/docs/admin-ops/monitor-and-audit-logs-31","/docs/admin-ops/monitor-and-audit-logs-32","/docs/admin-ops/monitor-and-audit-logs-33","/docs/admin-ops/monitor-and-audit-logs-34","/docs/admin-ops/monitor-and-audit-logs-35","/docs/admin-ops/monitor-and-audit-logs-36","/docs/admin-ops/monitor-and-audit-logs-37","/docs/admin-ops/monitor-and-audit-logs-38","/docs/admin-ops/monitor-and-audit-logs-39","/docs/admin-ops/monitor-and-audit-logs-40","/docs/admin-ops/monitor-and-audit-logs-41","/docs/admin-ops/monitor-and-audit-logs-42","/docs/admin-ops/monitor-and-audit-logs-43","/docs/admin-ops/monitor-and-audit-logs-44","/docs/admin-ops/monitor-and-audit-logs-45","/docs/admin-ops/monitor-and-audit-logs-46","/docs/admin-ops/monitor-and-audit-logs-47","/docs/admin-ops/monitor-and-audit-logs-48","/docs/admin-ops/monitor-and-audit-logs-49","/docs/admin-ops/monitor-and-audit-logs-50","/docs/admin-ops/monitor-and-audit-logs-51","/docs/admin-ops/monitor-and-audit-logs-52","/docs/admin-ops/monitor-and-audit-logs-53","/docs/admin-ops/monitor-and-audit-logs-54","/docs/admin-ops/monitor-and-audit-logs-55","/docs/admin-ops/monitor-and-audit-logs-56","/docs/admin-ops/monitor-and-audit-logs-57","/docs/admin-ops/monitor-and-audit-logs-58","/docs/admin-ops/monitor-and-audit-logs-59","/docs/admin-ops/monitor-and-audit-logs-60","/docs/admin-ops/monitor-and-audit-logs-61","/docs/admin-ops/monitor-and-audit-logs-62","/docs/admin-ops/monitor-and-audit-logs-63","/docs/admin-ops/monitor-and-audit-logs-64","/docs/admin-ops/monitor-and-audit-logs-65","/docs/admin-ops/monitor-and-audit-logs-66","/docs/admin-ops/monitor-and-audit-logs-67","/docs/admin-ops/monitor-and-audit-logs-68","/docs/admin-ops/monitor-and-audit-logs-69","/docs/admin-ops/observers-guide","/docs/admin-ops/observers-guide-0","/docs/admin-ops/observers-guide-1","/docs/admin-ops/observers-guide-2","/docs/admin-ops/observers-guide-3","/docs/admin-ops/observers-guide-4","/docs/admin-ops/observers-guide-5","/docs/admin-ops/observers-guide-6","/docs/admin-ops/observers-guide-7","/docs/admin-ops/observers-guide-8","/docs/admin-ops/observers-guide-9","/docs/admin-ops/observers-guide-10","/docs/admin-ops/observers-guide-11","/docs/admin-ops/observers-guide-12","/docs/admin-ops/observers-guide-13","/docs/admin-ops/observers-guide-14","/docs/admin-ops/observers-guide-15","/docs/admin-ops/observers-guide-16","/docs/admin-ops/observers-guide-17","/docs/admin-ops/observers-guide-18","/docs/admin-ops/quorums","/docs/admin-ops/quorums-0","/docs/admin-ops/quorums-1","/docs/admin-ops/quorums-2","/docs/admin-ops/quorums-3","/docs/admin-ops/quorums-4","/docs/admin-ops/quorums-5","/docs/admin-ops/quorums-6","/docs/admin-ops/quorums-7","/docs/admin-ops/quorums-8","/docs/admin-ops/quorums-9","/docs/admin-ops/quorums-10","/docs/admin-ops/quorums-11","/docs/admin-ops/quorums-12","/docs/admin-ops/quorums-13","/docs/admin-ops/quorums-14","/docs/admin-ops/quorums-15","/docs/admin-ops/quorums-16","/docs/admin-ops/quorums-17","/docs/admin-ops/quorums-18","/docs/admin-ops/quorums-19","/docs/admin-ops/quorums-20","/docs/admin-ops/quorums-21","/docs/admin-ops/quorums-22","/docs/admin-ops/quorums-23","/docs/admin-ops/quorums-24","/docs/admin-ops/quorums-25","/docs/admin-ops/quorums-26","/docs/admin-ops/quorums-27","/docs/admin-ops/quorums-28","/docs/admin-ops/quorums-29","/docs/admin-ops/quorums-30","/docs/admin-ops/quorums-31","/docs/admin-ops/quorums-32","/docs/admin-ops/quorums-33","/docs/admin-ops/quorums-34","/docs/admin-ops/quorums-35","/docs/admin-ops/quorums-36","/docs/admin-ops/quorums-37","/docs/admin-ops/quorums-38","/docs/admin-ops/quorums-39","/docs/admin-ops/quorums-40","/docs/admin-ops/quorums-41","/docs/admin-ops/quorums-42","/docs/admin-ops/quorums-43","/docs/admin-ops/quorums-44","/docs/admin-ops/quorums-45","/docs/admin-ops/quorums-46","/docs/admin-ops/quorums-47","/docs/admin-ops/quorums-48","/docs/admin-ops/quorums-49","/docs/admin-ops/quorums-50","/docs/admin-ops/quorums-51","/docs/admin-ops/quorums-52","/docs/admin-ops/quorums-53","/docs/admin-ops/quorums-54","/docs/admin-ops/quorums-55","/docs/admin-ops/quorums-56","/docs/admin-ops/quorums-57","/docs/admin-ops/quorums-58","/docs/admin-ops/quorums-59","/docs/admin-ops/quorums-60","/docs/admin-ops/quorums-61","/docs/admin-ops/quorums-62","/docs/admin-ops/quorums-63","/docs/admin-ops/quorums-64","/docs/admin-ops/quorums-65","/docs/admin-ops/quorums-66","/docs/admin-ops/quorums-67","/docs/admin-ops/quorums-68","/docs/admin-ops/quorums-69","/docs/admin-ops/quorums-70","/docs/admin-ops/quorums-71","/docs/admin-ops/quota-guide","/docs/admin-ops/quota-guide-0","/docs/admin-ops/quota-guide-1","/docs/admin-ops/quota-guide-2","/docs/admin-ops/quota-guide-3","/docs/admin-ops/quota-guide-4","/docs/admin-ops/quota-guide-5","/docs/admin-ops/quota-guide-6","/docs/admin-ops/quota-guide-7","/docs/admin-ops/quota-guide-8","/docs/admin-ops/quota-guide-9","/docs/admin-ops/quota-guide-10","/docs/admin-ops/quota-guide-11","/docs/admin-ops/quota-guide-12","/docs/admin-ops/quota-guide-13","/docs/admin-ops/quota-guide-14","/docs/admin-ops/quota-guide-15","/docs/admin-ops/quota-guide-16","/docs/admin-ops/snapshot-and-restore-guide","/docs/admin-ops/snapshot-and-restore-guide-0","/docs/admin-ops/snapshot-and-restore-guide-1","/docs/admin-ops/snapshot-and-restore-guide-2","/docs/admin-ops/snapshot-and-restore-guide-3","/docs/admin-ops/snapshot-and-restore-guide-4","/docs/admin-ops/snapshot-and-restore-guide-5","/docs/admin-ops/snapshot-and-restore-guide-6","/docs/admin-ops/snapshot-and-restore-guide-7","/docs/admin-ops/snapshot-and-restore-guide-8","/docs/admin-ops/snapshot-and-restore-guide-9","/docs/admin-ops/snapshot-and-restore-guide-10","/docs/admin-ops/snapshot-and-restore-guide-11","/docs/admin-ops/snapshot-and-restore-guide-12","/docs/admin-ops/snapshot-and-restore-guide-13","/docs/admin-ops/snapshot-and-restore-guide-14","/docs/admin-ops/snapshot-and-restore-guide-15","/docs/admin-ops/tools","/docs/admin-ops/tools-0","/docs/admin-ops/tools-1","/docs/admin-ops/tools-2","/docs/admin-ops/tools-3","/docs/admin-ops/tools-4","/docs/admin-ops/tools-5","/docs/admin-ops/tools-6","/docs/admin-ops/tools-7","/docs/admin-ops/tools-8","/docs/admin-ops/tools-9","/docs/admin-ops/tools-10","/docs/admin-ops/tools-11","/docs/admin-ops/tools-12","/docs/admin-ops/tools-13","/docs/admin-ops/tools-14","/docs/admin-ops/tools-15","/docs/admin-ops/tools-16","/docs/admin-ops/tools-17","/docs/admin-ops/tools-18","/docs/admin-ops/tools-19","/docs/admin-ops/tools-20","/docs/admin-ops/tools-21","/docs/admin-ops/tools-22","/docs/admin-ops/tools-23","/docs/admin-ops/tools-24","/docs/admin-ops/tools-25","/docs/admin-ops/tools-26","/docs/admin-ops/tools-27","/docs/admin-ops/tools-28","/docs/admin-ops/tools-29","/docs/admin-ops/tools-30","/docs/admin-ops/tools-31","/docs/admin-ops/tools-32","/docs/admin-ops/tools-33","/docs/admin-ops/tools-34","/docs/admin-ops/tools-35","/docs/admin-ops/tools-36","/docs/admin-ops/tools-37","/docs/admin-ops/tools-38","/docs/admin-ops/tools-39","/docs/admin-ops/tools-40","/docs/admin-ops/tools-41","/docs/admin-ops/tools-42","/docs/admin-ops/tools-43","/docs/admin-ops/tools-44","/docs/admin-ops/tools-45","/docs/admin-ops/tools-46","/docs/admin-ops/tools-47","/docs/admin-ops/tools-48","/docs/admin-ops/tools-49","/docs/admin-ops/tools-50","/docs/admin-ops/tools-51","/docs/admin-ops/tools-52","/docs/admin-ops/tools-53","/docs/admin-ops/tools-54","/docs/admin-ops/tools-55","/docs/admin-ops/tools-56","/docs/admin-ops/tools-57","/docs/admin-ops/tools-58","/docs/admin-ops/tools-59","/docs/admin-ops/tools-60","/docs/admin-ops/tools-61","/docs/admin-ops/tools-62","/docs/admin-ops/tools-63","/docs/admin-ops/tools-64","/docs/admin-ops/tools-65","/docs/admin-ops/tools-66","/docs/admin-ops/tools-67","/docs/admin-ops/tools-68","/docs/admin-ops/tools-69","/docs/admin-ops/tools-70","/docs/admin-ops/tools-71","/docs/admin-ops/tools-72","/docs/admin-ops/tools-73","/docs/admin-ops/tools-74","/docs/admin-ops/tools-75","/docs/admin-ops/tools-76","/docs/admin-ops/tools-77","/docs/admin-ops/tools-78","/docs/admin-ops/tools-79","/docs/admin-ops/tools-80","/docs/admin-ops/tools-81","/docs/admin-ops/tools-82","/docs/admin-ops/tools-83","/docs/developer/basic-tutorial","/docs/developer/basic-tutorial-0","/docs/developer/basic-tutorial-1","/docs/developer/basic-tutorial-2","/docs/developer/basic-tutorial-3","/docs/developer/basic-tutorial-4","/docs/developer/basic-tutorial-5","/docs/developer/basic-tutorial-6","/docs/developer/basic-tutorial-7","/docs/developer/basic-tutorial-8","/docs/developer/basic-tutorial-9","/docs/developer/basic-tutorial-10","/docs/developer/basic-tutorial-11","/docs/developer/basic-tutorial-12","/docs/developer/basic-tutorial-13","/docs/developer/basic-tutorial-14","/docs/developer/basic-tutorial-15","/docs/developer/basic-tutorial-16","/docs/developer/basic-tutorial-17","/docs/developer/basic-tutorial-18","/docs/developer/basic-tutorial-19","/docs/developer/basic-tutorial-20","/docs/developer/basic-tutorial-21","/docs/developer/basic-tutorial-22","/docs/developer/basic-tutorial-23","/docs/developer/basic-tutorial-24","/docs/developer/basic-tutorial-25","/docs/developer/basic-tutorial-26","/docs/developer/basic-tutorial-27","/docs/developer/basic-tutorial-28","/docs/developer/basic-tutorial-29","/docs/developer/basic-tutorial-30","/docs/developer/java-example","/docs/developer/java-example-0","/docs/developer/java-example-1","/docs/developer/java-example-2","/docs/developer/java-example-3","/docs/developer/java-example-4","/docs/developer/java-example-5","/docs/developer/java-example-6","/docs/developer/java-example-7","/docs/developer/java-example-8","/docs/developer/java-example-9","/docs/developer/java-example-10","/docs/developer/java-example-11","/docs/developer/java-example-12","/docs/developer/java-example-13","/docs/developer/java-example-14","/docs/developer/java-example-15","/docs/developer/java-example-16","/docs/developer/java-example-17","/docs/developer/java-example-18","/docs/developer/java-example-19","/docs/developer/java-example-20","/docs/developer/java-example-21","/docs/developer/java-example-22","/docs/developer/java-example-23","/docs/developer/java-example-24","/docs/developer/java-example-25","/docs/developer/java-example-26","/docs/developer/java-example-27","/docs/developer/java-example-28","/docs/developer/java-example-29","/docs/developer/java-example-30","/docs/developer/java-example-31","/docs/developer/java-example-32","/docs/developer/java-example-33","/docs/developer/java-example-34","/docs/developer/java-example-35","/docs/developer/java-example-36","/docs/developer/java-example-37","/docs/developer/programmers-guide/access-control-using-acls","/docs/developer/programmers-guide/access-control-using-acls-0","/docs/developer/programmers-guide/access-control-using-acls-1","/docs/developer/programmers-guide/access-control-using-acls-2","/docs/developer/programmers-guide/access-control-using-acls-3","/docs/developer/programmers-guide/access-control-using-acls-4","/docs/developer/programmers-guide/access-control-using-acls-5","/docs/developer/programmers-guide/access-control-using-acls-6","/docs/developer/programmers-guide/access-control-using-acls-7","/docs/developer/programmers-guide/access-control-using-acls-8","/docs/developer/programmers-guide/access-control-using-acls-9","/docs/developer/programmers-guide/access-control-using-acls-10","/docs/developer/programmers-guide/access-control-using-acls-11","/docs/developer/programmers-guide/access-control-using-acls-12","/docs/developer/programmers-guide/access-control-using-acls-13","/docs/developer/programmers-guide/access-control-using-acls-14","/docs/developer/programmers-guide/access-control-using-acls-15","/docs/developer/programmers-guide/access-control-using-acls-16","/docs/developer/programmers-guide/access-control-using-acls-17","/docs/developer/programmers-guide/access-control-using-acls-18","/docs/developer/programmers-guide/access-control-using-acls-19","/docs/developer/programmers-guide/access-control-using-acls-20","/docs/developer/programmers-guide/access-control-using-acls-21","/docs/developer/programmers-guide/access-control-using-acls-22","/docs/developer/programmers-guide/access-control-using-acls-23","/docs/developer/programmers-guide/access-control-using-acls-24","/docs/developer/programmers-guide/access-control-using-acls-25","/docs/developer/programmers-guide/access-control-using-acls-26","/docs/developer/programmers-guide/access-control-using-acls-27","/docs/developer/programmers-guide/access-control-using-acls-28","/docs/developer/programmers-guide/access-control-using-acls-29","/docs/developer/programmers-guide/access-control-using-acls-30","/docs/developer/programmers-guide/access-control-using-acls-31","/docs/developer/programmers-guide/access-control-using-acls-32","/docs/developer/programmers-guide/access-control-using-acls-33","/docs/developer/programmers-guide/access-control-using-acls-34","/docs/developer/programmers-guide/access-control-using-acls-35","/docs/developer/programmers-guide/access-control-using-acls-36","/docs/developer/programmers-guide/access-control-using-acls-37","/docs/developer/programmers-guide/access-control-using-acls-38","/docs/developer/programmers-guide/access-control-using-acls-39","/docs/developer/programmers-guide/access-control-using-acls-40","/docs/developer/programmers-guide/access-control-using-acls-41","/docs/developer/programmers-guide/access-control-using-acls-42","/docs/developer/programmers-guide/access-control-using-acls-43","/docs/developer/programmers-guide/access-control-using-acls-44","/docs/developer/programmers-guide/access-control-using-acls-45","/docs/developer/programmers-guide/access-control-using-acls-46","/docs/developer/programmers-guide/access-control-using-acls-47","/docs/developer/programmers-guide/access-control-using-acls-48","/docs/developer/programmers-guide/access-control-using-acls-49","/docs/developer/programmers-guide/access-control-using-acls-50","/docs/developer/programmers-guide/access-control-using-acls-51","/docs/developer/programmers-guide/access-control-using-acls-52","/docs/developer/programmers-guide/access-control-using-acls-53","/docs/developer/programmers-guide/bindings","/docs/developer/programmers-guide/bindings-0","/docs/developer/programmers-guide/bindings-1","/docs/developer/programmers-guide/bindings-2","/docs/developer/programmers-guide/bindings-3","/docs/developer/programmers-guide/bindings-4","/docs/developer/programmers-guide/bindings-5","/docs/developer/programmers-guide/bindings-6","/docs/developer/programmers-guide/bindings-7","/docs/developer/programmers-guide/bindings-8","/docs/developer/programmers-guide/bindings-9","/docs/developer/programmers-guide/bindings-10","/docs/developer/programmers-guide/bindings-11","/docs/developer/programmers-guide/bindings-12","/docs/developer/programmers-guide/bindings-13","/docs/developer/programmers-guide/bindings-14","/docs/developer/programmers-guide/bindings-15","/docs/developer/programmers-guide/bindings-16","/docs/developer/programmers-guide/bindings-17","/docs/developer/programmers-guide/bindings-18","/docs/developer/programmers-guide/bindings-19","/docs/developer/programmers-guide/bindings-20","/docs/developer/programmers-guide/bindings-21","/docs/developer/programmers-guide/bindings-22","/docs/developer/programmers-guide/bindings-23","/docs/developer/programmers-guide/bindings-24","/docs/developer/programmers-guide/bindings-25","/docs/developer/programmers-guide/bindings-26","/docs/developer/programmers-guide/bindings-27","/docs/developer/programmers-guide/bindings-28","/docs/developer/programmers-guide/bindings-29","/docs/developer/programmers-guide/bindings-30","/docs/developer/programmers-guide/bindings-31","/docs/developer/programmers-guide/bindings-32","/docs/developer/programmers-guide/bindings-33","/docs/developer/programmers-guide/bindings-34","/docs/developer/programmers-guide/bindings-35","/docs/developer/programmers-guide/bindings-36","/docs/developer/programmers-guide/bindings-37","/docs/developer/programmers-guide/bindings-38","/docs/developer/programmers-guide/bindings-39","/docs/developer/programmers-guide/bindings-40","/docs/developer/programmers-guide/bindings-41","/docs/developer/programmers-guide/bindings-42","/docs/developer/programmers-guide/bindings-43","/docs/developer/programmers-guide/bindings-44","/docs/developer/programmers-guide/bindings-45","/docs/developer/programmers-guide/bindings-46","/docs/developer/programmers-guide/bindings-47","/docs/developer/programmers-guide/bindings-48","/docs/developer/programmers-guide/bindings-49","/docs/developer/programmers-guide/bindings-50","/docs/developer/programmers-guide/bindings-51","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-0","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-1","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-2","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-3","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-4","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-5","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-6","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-7","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-8","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-9","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-10","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-11","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-12","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-13","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-14","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-15","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-16","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-17","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-18","/docs/developer/programmers-guide/consistency-guarantees","/docs/developer/programmers-guide/consistency-guarantees-0","/docs/developer/programmers-guide/consistency-guarantees-1","/docs/developer/programmers-guide/consistency-guarantees-2","/docs/developer/programmers-guide/consistency-guarantees-3","/docs/developer/programmers-guide/consistency-guarantees-4","/docs/developer/programmers-guide/consistency-guarantees-5","/docs/developer/programmers-guide/consistency-guarantees-6","/docs/developer/programmers-guide/consistency-guarantees-7","/docs/developer/programmers-guide/consistency-guarantees-8","/docs/developer/programmers-guide/consistency-guarantees-9","/docs/developer/programmers-guide/consistency-guarantees-10","/docs/developer/programmers-guide/consistency-guarantees-11","/docs/developer/programmers-guide/data-model","/docs/developer/programmers-guide/data-model-0","/docs/developer/programmers-guide/data-model-1","/docs/developer/programmers-guide/data-model-2","/docs/developer/programmers-guide/data-model-3","/docs/developer/programmers-guide/data-model-4","/docs/developer/programmers-guide/data-model-5","/docs/developer/programmers-guide/data-model-6","/docs/developer/programmers-guide/data-model-7","/docs/developer/programmers-guide/data-model-8","/docs/developer/programmers-guide/data-model-9","/docs/developer/programmers-guide/data-model-10","/docs/developer/programmers-guide/data-model-11","/docs/developer/programmers-guide/data-model-12","/docs/developer/programmers-guide/data-model-13","/docs/developer/programmers-guide/data-model-14","/docs/developer/programmers-guide/data-model-15","/docs/developer/programmers-guide/data-model-16","/docs/developer/programmers-guide/data-model-17","/docs/developer/programmers-guide/data-model-18","/docs/developer/programmers-guide/data-model-19","/docs/developer/programmers-guide/data-model-20","/docs/developer/programmers-guide/data-model-21","/docs/developer/programmers-guide/data-model-22","/docs/developer/programmers-guide/data-model-23","/docs/developer/programmers-guide/data-model-24","/docs/developer/programmers-guide/data-model-25","/docs/developer/programmers-guide/data-model-26","/docs/developer/programmers-guide/data-model-27","/docs/developer/programmers-guide/data-model-28","/docs/developer/programmers-guide/data-model-29","/docs/developer/programmers-guide/data-model-30","/docs/developer/programmers-guide/data-model-31","/docs/developer/programmers-guide/data-model-32","/docs/developer/programmers-guide/data-model-33","/docs/developer/programmers-guide/data-model-34","/docs/developer/programmers-guide/data-model-35","/docs/developer/programmers-guide/data-model-36","/docs/developer/programmers-guide/data-model-37","/docs/developer/programmers-guide/data-model-38","/docs/developer/programmers-guide/data-model-39","/docs/developer/programmers-guide/data-model-40","/docs/developer/programmers-guide/data-model-41","/docs/developer/programmers-guide/data-model-42","/docs/developer/programmers-guide/data-model-43","/docs/developer/programmers-guide/data-model-44","/docs/developer/programmers-guide/data-model-45","/docs/developer/programmers-guide/data-model-46","/docs/developer/programmers-guide/data-model-47","/docs/developer/programmers-guide/data-model-48","/docs/developer/programmers-guide/data-model-49","/docs/developer/programmers-guide/data-model-50","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-0","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-1","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-2","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-3","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-4","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-5","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-6","/docs/developer/programmers-guide","/docs/developer/programmers-guide-0","/docs/developer/programmers-guide-1","/docs/developer/programmers-guide-2","/docs/developer/programmers-guide-3","/docs/developer/programmers-guide-4","/docs/developer/programmers-guide-5","/docs/developer/programmers-guide-6","/docs/developer/programmers-guide-7","/docs/developer/programmers-guide-8","/docs/developer/programmers-guide-9","/docs/developer/programmers-guide-10","/docs/developer/programmers-guide/pluggable-authentication","/docs/developer/programmers-guide/pluggable-authentication-0","/docs/developer/programmers-guide/pluggable-authentication-1","/docs/developer/programmers-guide/pluggable-authentication-2","/docs/developer/programmers-guide/pluggable-authentication-3","/docs/developer/programmers-guide/pluggable-authentication-4","/docs/developer/programmers-guide/pluggable-authentication-5","/docs/developer/programmers-guide/pluggable-authentication-6","/docs/developer/programmers-guide/pluggable-authentication-7","/docs/developer/programmers-guide/pluggable-authentication-8","/docs/developer/programmers-guide/pluggable-authentication-9","/docs/developer/programmers-guide/pluggable-authentication-10","/docs/developer/programmers-guide/pluggable-authentication-11","/docs/developer/programmers-guide/pluggable-authentication-12","/docs/developer/programmers-guide/pluggable-authentication-13","/docs/developer/programmers-guide/pluggable-authentication-14","/docs/developer/programmers-guide/pluggable-authentication-15","/docs/developer/programmers-guide/sessions","/docs/developer/programmers-guide/sessions-0","/docs/developer/programmers-guide/sessions-1","/docs/developer/programmers-guide/sessions-2","/docs/developer/programmers-guide/sessions-3","/docs/developer/programmers-guide/sessions-4","/docs/developer/programmers-guide/sessions-5","/docs/developer/programmers-guide/sessions-6","/docs/developer/programmers-guide/sessions-7","/docs/developer/programmers-guide/sessions-8","/docs/developer/programmers-guide/sessions-9","/docs/developer/programmers-guide/sessions-10","/docs/developer/programmers-guide/sessions-11","/docs/developer/programmers-guide/sessions-12","/docs/developer/programmers-guide/sessions-13","/docs/developer/programmers-guide/sessions-14","/docs/developer/programmers-guide/sessions-15","/docs/developer/programmers-guide/sessions-16","/docs/developer/programmers-guide/sessions-17","/docs/developer/programmers-guide/sessions-18","/docs/developer/programmers-guide/sessions-19","/docs/developer/programmers-guide/sessions-20","/docs/developer/programmers-guide/sessions-21","/docs/developer/programmers-guide/sessions-22","/docs/developer/programmers-guide/sessions-23","/docs/developer/programmers-guide/sessions-24","/docs/developer/programmers-guide/sessions-25","/docs/developer/programmers-guide/sessions-26","/docs/developer/programmers-guide/sessions-27","/docs/developer/programmers-guide/sessions-28","/docs/developer/programmers-guide/sessions-29","/docs/developer/programmers-guide/sessions-30","/docs/developer/programmers-guide/sessions-31","/docs/developer/programmers-guide/sessions-32","/docs/developer/programmers-guide/sessions-33","/docs/developer/programmers-guide/sessions-34","/docs/developer/programmers-guide/sessions-35","/docs/developer/programmers-guide/sessions-36","/docs/developer/programmers-guide/sessions-37","/docs/developer/programmers-guide/sessions-38","/docs/developer/programmers-guide/sessions-39","/docs/developer/programmers-guide/sessions-40","/docs/developer/programmers-guide/sessions-41","/docs/developer/programmers-guide/sessions-42","/docs/developer/programmers-guide/sessions-43","/docs/developer/programmers-guide/sessions-44","/docs/developer/programmers-guide/watches","/docs/developer/programmers-guide/watches-0","/docs/developer/programmers-guide/watches-1","/docs/developer/programmers-guide/watches-2","/docs/developer/programmers-guide/watches-3","/docs/developer/programmers-guide/watches-4","/docs/developer/programmers-guide/watches-5","/docs/developer/programmers-guide/watches-6","/docs/developer/programmers-guide/watches-7","/docs/developer/programmers-guide/watches-8","/docs/developer/programmers-guide/watches-9","/docs/developer/programmers-guide/watches-10","/docs/developer/programmers-guide/watches-11","/docs/developer/programmers-guide/watches-12","/docs/developer/programmers-guide/watches-13","/docs/developer/programmers-guide/watches-14","/docs/developer/programmers-guide/watches-15","/docs/developer/programmers-guide/watches-16","/docs/developer/programmers-guide/watches-17","/docs/developer/programmers-guide/watches-18","/docs/developer/programmers-guide/watches-19","/docs/developer/programmers-guide/watches-20","/docs/developer/programmers-guide/watches-21","/docs/developer/programmers-guide/watches-22","/docs/developer/programmers-guide/watches-23","/docs/developer/programmers-guide/watches-24","/docs/developer/programmers-guide/watches-25","/docs/developer/programmers-guide/watches-26","/docs/developer/programmers-guide/watches-27","/docs/developer/programmers-guide/watches-28","/docs/developer/programmers-guide/watches-29","/docs/developer/programmers-guide/watches-30","/docs/developer/recipes","/docs/developer/recipes-0","/docs/developer/recipes-1","/docs/developer/recipes-2","/docs/developer/recipes-3","/docs/developer/recipes-4","/docs/developer/recipes-5","/docs/developer/recipes-6","/docs/developer/recipes-7","/docs/developer/recipes-8","/docs/developer/recipes-9","/docs/developer/recipes-10","/docs/developer/recipes-11","/docs/developer/recipes-12","/docs/developer/recipes-13","/docs/developer/recipes-14","/docs/developer/recipes-15","/docs/developer/recipes-16","/docs/developer/recipes-17","/docs/developer/recipes-18","/docs/developer/recipes-19","/docs/developer/recipes-20","/docs/developer/recipes-21","/docs/developer/recipes-22","/docs/developer/recipes-23","/docs/developer/recipes-24","/docs/developer/recipes-25","/docs/developer/recipes-26","/docs/developer/recipes-27","/docs/developer/recipes-28","/docs/developer/recipes-29","/docs/developer/recipes-30","/docs/developer/recipes-31","/docs/developer/recipes-32","/docs/developer/recipes-33","/docs/developer/recipes-34","/docs/developer/recipes-35","/docs/developer/recipes-36","/docs/developer/recipes-37","/docs/developer/recipes-38","/docs/developer/recipes-39","/docs/developer/recipes-40","/docs/developer/recipes-41","/docs/developer/recipes-42","/docs/developer/recipes-43","/docs/developer/recipes-44","/docs/developer/recipes-45","/docs/developer/recipes-46","/docs/developer/recipes-47","/docs/developer/recipes-48","/docs/developer/recipes-49","/docs/developer/recipes-50","/docs/developer/recipes-51","/docs/developer/recipes-52","/docs/developer/recipes-53","/docs/developer/recipes-54","/docs/developer/recipes-55","/docs/developer/recipes-56","/docs/developer/recipes-57","/docs/developer/recipes-58","/docs/developer/recipes-59","/docs/developer/recipes-60","/docs/developer/recipes-61","/docs/developer/recipes-62","/docs/developer/recipes-63","/docs/developer/recipes-64","/docs/developer/recipes-65","/docs/developer/recipes-66","/docs/developer/recipes-67","/docs/developer/recipes-68","/docs/developer/recipes-69","/docs/developer/recipes-70","/docs/developer/recipes-71","/docs/developer/recipes-72","/docs/developer/recipes-73","/docs/developer/recipes-74","/docs/developer/recipes-75","/docs/developer/recipes-76","/docs/developer/recipes-77","/docs/developer/recipes-78","/docs/developer/recipes-79","/docs/developer/recipes-80","/docs/developer/recipes-81","/docs/developer/recipes-82","/docs/developer/recipes-83","/docs/developer/recipes-84","/docs/developer/recipes-85","/docs/developer/recipes-86","/docs/developer/recipes-87","/docs/developer/recipes-88","/docs/developer/recipes-89","/docs/developer/recipes-90","/docs/developer/recipes-91","/docs/developer/recipes-92","/docs/developer/recipes-93","/docs/developer/recipes-94","/docs/developer/recipes-95","/docs/developer/recipes-96","/docs/developer/recipes-97","/docs/developer/recipes-98","/docs/developer/recipes-99","/docs/developer/recipes-100","/docs/developer/recipes-101","/docs/developer/recipes-102","/docs/developer/recipes-103","/docs/developer/use-cases","/docs/developer/use-cases-0","/docs/developer/use-cases-1","/docs/developer/use-cases-2","/docs/developer/use-cases-3","/docs/developer/use-cases-4","/docs/developer/use-cases-5","/docs/developer/use-cases-6","/docs/developer/use-cases-7","/docs/developer/use-cases-8","/docs/developer/use-cases-9","/docs/developer/use-cases-10","/docs/developer/use-cases-11","/docs/developer/use-cases-12","/docs/developer/use-cases-13","/docs/developer/use-cases-14","/docs/developer/use-cases-15","/docs/developer/use-cases-16","/docs/developer/use-cases-17","/docs/developer/use-cases-18","/docs/developer/use-cases-19","/docs/developer/use-cases-20","/docs/developer/use-cases-21","/docs/developer/use-cases-22","/docs/developer/use-cases-23","/docs/developer/use-cases-24","/docs/developer/use-cases-25","/docs/developer/use-cases-26","/docs/developer/use-cases-27","/docs/developer/use-cases-28","/docs/developer/use-cases-29","/docs/developer/use-cases-30","/docs/developer/use-cases-31","/docs/developer/use-cases-32","/docs/developer/use-cases-33","/docs/developer/use-cases-34","/docs/developer/use-cases-35","/docs/developer/use-cases-36","/docs/developer/use-cases-37","/docs/developer/use-cases-38","/docs/developer/use-cases-39","/docs/developer/use-cases-40","/docs/developer/use-cases-41","/docs/developer/use-cases-42","/docs/developer/use-cases-43","/docs/developer/use-cases-44","/docs/developer/use-cases-45","/docs/developer/use-cases-46","/docs/developer/use-cases-47","/docs/developer/use-cases-48","/docs/developer/use-cases-49","/docs/developer/use-cases-50","/docs/developer/use-cases-51","/docs/developer/use-cases-52","/docs/developer/use-cases-53","/docs/developer/use-cases-54","/docs/developer/use-cases-55","/docs/developer/use-cases-56","/docs/developer/use-cases-57","/docs/developer/use-cases-58","/docs/developer/use-cases-59","/docs/developer/use-cases-60","/docs/developer/use-cases-61","/docs/developer/use-cases-62","/docs/developer/use-cases-63","/docs/developer/use-cases-64","/docs/developer/use-cases-65","/docs/developer/use-cases-66","/docs/developer/use-cases-67","/docs/developer/use-cases-68","/docs/developer/use-cases-69","/docs/developer/use-cases-70","/docs/developer/use-cases-71","/docs/developer/use-cases-72","/docs/developer/use-cases-73","/docs/developer/use-cases-74","/docs/developer/use-cases-75","/docs/developer/use-cases-76","/docs/developer/use-cases-77","/docs/developer/use-cases-78","/docs/developer/use-cases-79","/docs/developer/use-cases-80","/docs/developer/use-cases-81","/docs/developer/use-cases-82","/docs/developer/use-cases-83","/docs/developer/use-cases-84","/docs/developer/use-cases-85","/docs/developer/use-cases-86","/docs/developer/use-cases-87","/docs/developer/use-cases-88","/docs/developer/use-cases-89","/docs/developer/use-cases-90","/docs/developer/use-cases-91","/docs/developer/use-cases-92","/docs/developer/use-cases-93","/docs/developer/use-cases-94","/docs/developer/use-cases-95","/docs/developer/use-cases-96","/docs/developer/use-cases-97","/docs/developer/use-cases-98","/docs/developer/use-cases-99","/docs/developer/use-cases-100","/docs/developer/use-cases-101","/docs/developer/use-cases-102","/docs/developer/use-cases-103","/docs/developer/use-cases-104","/docs/developer/use-cases-105","/docs/developer/use-cases-106","/docs/developer/use-cases-107","/docs/developer/use-cases-108","/docs/developer/use-cases-109","/docs/developer/use-cases-110","/docs/developer/use-cases-111","/docs/developer/use-cases-112","/docs/developer/use-cases-113","/docs/developer/use-cases-114","/docs/developer/use-cases-115","/docs/developer/use-cases-116","/docs/developer/use-cases-117","/docs/developer/use-cases-118","/docs/developer/use-cases-119","/docs/developer/use-cases-120","/docs/developer/use-cases-121","/docs/developer/use-cases-122","/docs/developer/use-cases-123","/docs/developer/use-cases-124","/docs/developer/use-cases-125","/docs/developer/use-cases-126","/docs/developer/use-cases-127","/docs/developer/use-cases-128","/docs/developer/use-cases-129","/docs/developer/use-cases-130","/docs/developer/use-cases-131","/docs/developer/use-cases-132","/docs/developer/use-cases-133","/docs/developer/use-cases-134","/docs/developer/use-cases-135","/docs/developer/use-cases-136","/docs/developer/use-cases-137","/docs/developer/use-cases-138","/docs/developer/use-cases-139","/docs/developer/use-cases-140","/docs/developer/use-cases-141","/docs/developer/use-cases-142","/docs/developer/use-cases-143","/docs/developer/use-cases-144","/docs/developer/use-cases-145","/docs/developer/use-cases-146","/docs/developer/use-cases-147","/docs/developer/use-cases-148","/docs/developer/use-cases-149","/docs/developer/use-cases-150","/docs/developer/use-cases-151","/docs/developer/use-cases-152","/docs/developer/use-cases-153","/docs/developer/use-cases-154","/docs/developer/use-cases-155","/docs/developer/use-cases-156","/docs/developer/use-cases-157","/docs/developer/use-cases-158","/docs/developer/use-cases-159","/docs/developer/use-cases-160","/docs/developer/use-cases-161","/docs/developer/use-cases-162","/docs/developer/use-cases-163","/docs/developer/use-cases-164","/docs/developer/use-cases-165","/docs/developer/use-cases-166","/docs/developer/use-cases-167","/docs/developer/use-cases-168","/docs/developer/use-cases-169","/docs/developer/use-cases-170","/docs/developer/use-cases-171","/docs/developer/use-cases-172","/docs/developer/use-cases-173","/docs/developer/use-cases-174","/docs/developer/use-cases-175","/docs/developer/use-cases-176","/docs/developer/use-cases-177","/docs/developer/use-cases-178","/docs/developer/use-cases-179","/docs/developer/use-cases-180","/docs/developer/use-cases-181","/docs/developer/use-cases-182","/docs/developer/use-cases-183","/docs/developer/use-cases-184","/docs/developer/use-cases-185","/docs/developer/use-cases-186","/docs/developer/use-cases-187","/docs/developer/use-cases-188","/docs/developer/use-cases-189","/docs/developer/use-cases-190","/docs/developer/use-cases-191","/docs/developer/use-cases-192","/docs/developer/use-cases-193","/docs/developer/use-cases-194","/docs/developer/use-cases-195","/docs/developer/use-cases-196","/docs/developer/use-cases-197","/docs/developer/use-cases-198","/docs/developer/use-cases-199","/docs/developer/use-cases-200","/docs/developer/use-cases-201","/docs/developer/use-cases-202","/docs/developer/use-cases-203","/docs/developer/use-cases-204","/docs/developer/use-cases-205","/docs/developer/use-cases-206","/docs/developer/use-cases-207","/docs/developer/use-cases-208","/docs/developer/use-cases-209","/docs/developer/use-cases-210","/docs/developer/use-cases-211","/docs/developer/use-cases-212","/docs/developer/use-cases-213","/docs/developer/use-cases-214","/docs/developer/use-cases-215","/docs/developer/use-cases-216","/docs/developer/use-cases-217","/docs/developer/use-cases-218","/docs","/docs-0","/docs-1","/docs-2","/docs-3","/docs-4","/docs-5","/docs-6","/docs-7","/docs-8","/docs-9","/docs-10","/docs-11","/docs-12","/docs-13","/docs-14","/docs-15","/docs-16","/docs-17","/docs-18","/docs-19","/docs-20","/docs-21","/docs-22","/docs-23","/docs-24","/docs-25","/docs-26","/docs-27","/docs-28","/docs-29","/docs-30","/docs-31","/docs-32","/docs-33","/docs-34","/docs-35","/docs-36","/docs-37","/docs-38","/docs-39","/docs-40","/docs-41","/docs-42","/docs-43","/docs-44","/docs-45","/docs-46","/docs-47","/docs-48","/docs-49","/docs-50","/docs-51","/docs-52","/docs-53","/docs-54","/docs-55","/docs-56","/docs-57","/docs-58","/docs-59","/docs-60","/docs-61","/docs-62","/docs-63","/docs-64","/docs/miscellaneous/internals","/docs/miscellaneous/internals-0","/docs/miscellaneous/internals-1","/docs/miscellaneous/internals-2","/docs/miscellaneous/internals-3","/docs/miscellaneous/internals-4","/docs/miscellaneous/internals-5","/docs/miscellaneous/internals-6","/docs/miscellaneous/internals-7","/docs/miscellaneous/internals-8","/docs/miscellaneous/internals-9","/docs/miscellaneous/internals-10","/docs/miscellaneous/internals-11","/docs/miscellaneous/internals-12","/docs/miscellaneous/internals-13","/docs/miscellaneous/internals-14","/docs/miscellaneous/internals-15","/docs/miscellaneous/internals-16","/docs/miscellaneous/internals-17","/docs/miscellaneous/internals-18","/docs/miscellaneous/internals-19","/docs/miscellaneous/internals-20","/docs/miscellaneous/internals-21","/docs/miscellaneous/internals-22","/docs/miscellaneous/internals-23","/docs/miscellaneous/internals-24","/docs/miscellaneous/internals-25","/docs/miscellaneous/internals-26","/docs/miscellaneous/internals-27","/docs/miscellaneous/internals-28","/docs/miscellaneous/internals-29","/docs/miscellaneous/internals-30","/docs/miscellaneous/internals-31","/docs/miscellaneous/internals-32","/docs/miscellaneous/internals-33","/docs/miscellaneous/internals-34","/docs/miscellaneous/internals-35","/docs/miscellaneous/internals-36","/docs/miscellaneous/internals-37","/docs/miscellaneous/internals-38","/docs/miscellaneous/internals-39","/docs/miscellaneous/internals-40","/docs/miscellaneous/internals-41","/docs/miscellaneous/internals-42","/docs/miscellaneous/internals-43","/docs/miscellaneous/internals-44","/docs/miscellaneous/internals-45","/docs/miscellaneous/internals-46","/docs/miscellaneous/internals-47","/docs/miscellaneous/internals-48","/docs/miscellaneous/internals-49","/docs/miscellaneous/internals-50","/docs/miscellaneous/internals-51","/docs/miscellaneous/internals-52","/docs/miscellaneous/internals-53","/docs/miscellaneous/internals-54","/docs/miscellaneous/internals-55","/docs/miscellaneous/internals-56","/docs/miscellaneous/internals-57","/docs/miscellaneous/internals-58","/docs/miscellaneous/internals-59","/docs/miscellaneous/internals-60","/docs/miscellaneous/internals-61","/docs/miscellaneous/internals-62","/docs/miscellaneous/internals-63","/docs/miscellaneous/internals-64","/docs/miscellaneous/internals-65","/docs/miscellaneous/internals-66","/docs/miscellaneous/internals-67","/docs/miscellaneous/internals-68","/docs/miscellaneous/internals-69","/docs/miscellaneous/internals-70","/docs/miscellaneous/internals-71","/docs/miscellaneous/internals-72","/docs/miscellaneous/internals-73","/docs/miscellaneous/internals-74","/docs/miscellaneous/internals-75","/docs/miscellaneous/internals-76","/docs/miscellaneous/internals-77","/docs/miscellaneous/internals-78","/docs/overview/quick-start","/docs/overview/quick-start-0","/docs/overview/quick-start-1","/docs/overview/quick-start-2","/docs/overview/quick-start-3","/docs/overview/quick-start-4","/docs/overview/quick-start-5","/docs/overview/quick-start-6","/docs/overview/quick-start-7","/docs/overview/quick-start-8","/docs/overview/quick-start-9","/docs/overview/quick-start-10","/docs/overview/quick-start-11","/docs/overview/quick-start-12","/docs/overview/quick-start-13","/docs/overview/quick-start-14","/docs/overview/quick-start-15","/docs/overview/quick-start-16","/docs/overview/quick-start-17","/docs/overview/quick-start-18","/docs/overview/quick-start-19","/docs/overview/quick-start-20","/docs/overview/quick-start-21","/docs/overview/quick-start-22","/docs/overview/quick-start-23","/docs/overview/quick-start-24","/docs/overview/quick-start-25","/docs/overview/quick-start-26","/docs/overview/quick-start-27","/docs/overview/quick-start-28","/docs/overview/quick-start-29","/docs/overview/quick-start-30","/docs/overview/quick-start-31","/docs/overview/quick-start-32","/docs/overview/quick-start-33","/docs/overview/quick-start-34","/docs/overview/quick-start-35","/docs/overview/quick-start-36","/docs/overview/quick-start-37","/docs/overview/quick-start-38","/docs/overview/quick-start-39","/docs/overview/quick-start-40","/docs/overview/quick-start-41","/docs/overview/quick-start-42","/docs/overview/quick-start-43","/docs/overview/quick-start-44","/docs/overview/quick-start-45","/docs/overview/quick-start-46","/docs/overview/quick-start-47","/docs/overview/quick-start-48","/docs/overview/quick-start-49","/docs/overview/quick-start-50","/docs/overview/quick-start-51","/docs/overview/quick-start-52","/docs/overview/quick-start-53","/docs/overview/release-notes","/docs/overview/release-notes-0","/docs/overview/release-notes-1","/docs/overview/release-notes-2","/docs/overview/release-notes-3","/docs/overview/release-notes-4","/docs/overview/release-notes-5","/docs/overview/release-notes-6","/docs/overview/release-notes-7","/docs/overview/release-notes-8","/docs/overview/release-notes-9","/docs/overview/release-notes-10","/docs/overview/release-notes-11","/docs/overview/release-notes-12","/docs/overview/release-notes-13","/docs/overview/release-notes-14","/docs/overview/release-notes-15","/docs/overview/release-notes-16","/docs/overview/release-notes-17","/docs/overview/release-notes-18","/docs/overview/release-notes-19","/docs/overview/release-notes-20","/docs/overview/release-notes-21","/docs/overview/release-notes-22","/docs/overview/release-notes-23","/docs/overview/release-notes-24","/docs/overview/release-notes-25","/docs/overview/release-notes-26","/docs/overview/release-notes-27","/docs/overview/release-notes-28","/docs/overview/release-notes-29","/docs/overview/release-notes-30","/docs/overview/release-notes-31","/docs/overview/release-notes-32","/docs/overview/release-notes-33","/docs/overview/release-notes-34","/docs/overview/release-notes-35","/docs/overview/release-notes-36","/docs/overview/release-notes-37","/docs/overview/release-notes-38","/docs/overview/release-notes-39","/docs/overview/release-notes-40","/docs/overview/release-notes-41","/docs/overview/release-notes-42","/docs/overview/release-notes-43","/docs/overview/release-notes-44","/docs/overview/release-notes-45","/docs/overview/release-notes-46","/docs/overview/release-notes-47","/docs/overview/release-notes-48","/docs/overview/release-notes-49","/docs/overview/release-notes-50","/docs/overview/release-notes-51","/docs/overview/release-notes-52","/docs/overview/release-notes-53","/docs/overview/release-notes-54","/docs/overview/release-notes-55","/docs/overview/release-notes-56","/docs/overview/release-notes-57","/docs/overview/release-notes-58","/docs/overview/release-notes-59","/docs/overview/release-notes-60","/docs/overview/release-notes-61","/docs/overview/release-notes-62","/docs/overview/release-notes-63","/docs/overview/release-notes-64","/docs/overview/release-notes-65","/docs/overview/release-notes-66","/docs/overview/release-notes-67","/docs/overview/release-notes-68","/docs/overview/release-notes-69","/docs/overview/release-notes-70","/docs/overview/release-notes-71","/docs/overview/release-notes-72","/docs/overview/release-notes-73","/docs/overview/release-notes-74","/docs/overview/release-notes-75","/docs/overview/release-notes-76","/docs/overview/release-notes-77","/docs/overview/release-notes-78","/docs/overview/release-notes-79","/docs/overview/release-notes-80","/docs/overview/release-notes-81","/docs/overview/release-notes-82","/docs/overview/release-notes-83","/docs/overview/release-notes-84","/docs/overview/release-notes-85","/docs/overview/release-notes-86","/docs/overview/release-notes-87","/docs/overview/release-notes-88","/docs/overview/release-notes-89","/docs/overview/release-notes-90","/docs/overview/release-notes-91","/docs/overview/release-notes-92","/docs/overview/release-notes-93","/docs/overview/release-notes-94","/docs/overview/release-notes-95","/docs/overview/release-notes-96","/docs/overview/release-notes-97","/docs/overview/release-notes-98","/docs/overview/release-notes-99","/docs/overview/release-notes-100","/docs/overview/release-notes-101","/docs/overview/release-notes-102","/docs/overview/release-notes-103","/docs/overview/release-notes-104","/docs/overview/release-notes-105","/docs/overview/release-notes-106","/docs/overview/release-notes-107","/docs/overview/release-notes-108","/docs/overview/release-notes-109","/docs/overview/release-notes-110","/docs/overview/release-notes-111","/docs/overview/release-notes-112","/docs/overview/release-notes-113","/docs/overview/release-notes-114","/docs/overview/release-notes-115","/docs/overview/release-notes-116","/docs/overview/release-notes-117","/docs/overview/release-notes-118","/docs/overview/release-notes-119","/docs/overview/release-notes-120","/docs/overview/release-notes-121","/docs/overview/release-notes-122","/docs/overview/release-notes-123","/docs/overview/release-notes-124","/docs/overview/release-notes-125","/docs/overview/release-notes-126","/docs/overview/release-notes-127","/docs/overview/release-notes-128","/docs/overview/release-notes-129","/docs/overview/release-notes-130","/docs/overview/release-notes-131","/docs/overview/release-notes-132","/docs/overview/release-notes-133","/docs/overview/release-notes-134","/docs/overview/release-notes-135","/docs/overview/release-notes-136","/docs/overview/release-notes-137","/docs/overview/release-notes-138","/docs/overview/release-notes-139","/docs/overview/release-notes-140","/docs/overview/release-notes-141","/docs/overview/release-notes-142","/docs/overview/release-notes-143","/docs/overview/release-notes-144","/docs/overview/release-notes-145","/docs/overview/release-notes-146","/docs/overview/release-notes-147","/docs/overview/release-notes-148","/docs/overview/release-notes-149","/docs/overview/release-notes-150","/docs/overview/release-notes-151","/docs/overview/release-notes-152","/docs/overview/release-notes-153","/docs/overview/release-notes-154","/docs/overview/release-notes-155","/docs/overview/release-notes-156","/docs/overview/release-notes-157","/docs/overview/release-notes-158","/docs/overview/release-notes-159","/docs/overview/release-notes-160","/docs/overview/release-notes-161","/docs/overview/release-notes-162","/docs/overview/release-notes-163","/docs/overview/release-notes-164","/docs/overview/release-notes-165","/docs/overview/release-notes-166","/docs/overview/release-notes-167","/docs/overview/release-notes-168","/docs/overview/release-notes-169","/docs/overview/release-notes-170","/docs/overview/release-notes-171","/docs/overview/release-notes-172","/docs/overview/release-notes-173","/docs/overview/release-notes-174","/docs/overview/release-notes-175","/docs/overview/release-notes-176","/docs/overview/release-notes-177","/docs/overview/release-notes-178","/docs/overview/release-notes-179","/docs/overview/release-notes-180","/docs/overview/release-notes-181","/docs/overview/release-notes-182","/docs/overview/release-notes-183","/docs/overview/release-notes-184","/docs/overview/release-notes-185","/docs/overview/release-notes-186","/docs/overview/release-notes-187","/docs/overview/release-notes-188","/docs/overview/release-notes-189","/docs/overview/release-notes-190","/docs/overview/release-notes-191","/docs/overview/release-notes-192","/docs/overview/release-notes-193","/docs/overview/release-notes-194","/docs/overview/release-notes-195","/docs/overview/release-notes-196","/docs/overview/release-notes-197","/docs/overview/release-notes-198","/docs/overview/release-notes-199","/docs/overview/release-notes-200","/docs/overview/release-notes-201","/docs/overview/release-notes-202","/docs/overview/release-notes-203","/docs/overview/release-notes-204","/docs/overview/release-notes-205","/docs/overview/release-notes-206","/docs/overview/release-notes-207","/docs/overview/release-notes-208","/docs/overview/release-notes-209","/docs/overview/release-notes-210"]},"index":{"indexes":{"content":{"type":"Radix","node":{"w":"","s":"","e":false,"k":"","d":[],"c":[["a",{"w":"a","s":"a","e":true,"k":"a","d":[2,11,12,13,14,15,17,18,19,29,32,35,36,46,47,48,49,51,57,65,70,72,73,77,78,100,102,113,114,120,121,123,126,127,128,129,131,132,134,135,136,138,144,148,158,174,176,183,184,186,188,189,191,193,194,195,196,197,200,201,202,204,207,213,214,215,216,217,218,219,220,221,222,224,225,226,227,229,231,232,234,235,236,237,241,242,247,250,263,266,267,269,270,271,272,273,283,286,287,289,292,293,295,296,297,298,304,305,306,312,313,316,317,327,329,330,331,332,333,336,337,340,343,344,346,347,357,372,373,376,379,384,389,393,396,397,399,402,405,406,409,413,414,417,419,434,442,444,446,447,448,449,450,452,464,471,472,473,475,510,512,513,515,517,519,520,521,522,523,524,526,527,530,533,534,536,538,539,541,577,578,579,580,581,582,583,584,585,586,587,590,591,597,598,599,600,601,604,605,606,633,634,635,636,637,640,644,647,649,650,651,653,655,656,659,660,662,665,666,667,668,672,673,674,678,679,681,684,686,687,689,690,691,692,694,696,697,698,699,700,704,705,706,709,710,713,714,715,717,718,719,720,725,727,729,731,732,733,734,735,737,739,745,748,749,750,756,765,768,771,774,781,825,828,830,833,855,861,862,864,870,871,872,873,878,879,880,882,883,884,900,902,903,904,905,906,907,908,910,916,918,919,920,923,925,933,935,940,941,942,944,946,947,949,950,951,952,953,955,956,965,966,970,971,973,974,975,977,980,981,986,987,989,991,1016,1023,1026,1028,1029,1042,1046,1048,1055,1068,1069,1070,1071,1072,1073,1090,1091,1092,1093,1094,1097,1098,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1111,1112,1120,1124,1125,1132,1134,1140,1146,1148,1154,1155,1156,1157,1159,1160,1161,1162,1165,1166,1167,1168,1171,1172,1173,1175,1196,1198,1200,1201,1203,1213,1214,1215,1217,1218,1223,1230,1232,1235,1237,1238,1239,1240,1241,1242,1244,1251,1254,1256,1257,1258,1261,1263,1266,1268,1279,1280,1282,1283,1284,1285,1286,1289,1304,1305,1309,1311,1313,1314,1315,1316,1317,1319,1320,1321,1323,1326,1327,1328,1345,1346,1347,1348,1349,1351,1353,1358,1360,1363,1364,1365,1367,1368,1380,1381,1382,1383,1384,1385,1386,1387,1388,1396,1397,1398,1399,1400,1401,1402,1404,1405,1407,1410,1411,1414,1415,1416,1417,1420,1422,1423,1424,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1445,1446,1447,1448,1451,1453,1454,1455,1456,1459,1474,1475,1476,1478,1479,1482,1484,1485,1488,1500,1501,1502,1503,1505,1506,1507,1509,1510,1511,1515,1516,1517,1518,1521,1522,1523,1524,1525,1526,1529,1530,1534,1535,1537,1542,1543,1545,1546,1548,1549,1551,1554,1555,1558,1560,1563,1625,1626,1627,1628,1630,1631,1634,1636,1637,1638,1639,1641,1642,1643,1644,1646,1647,1648,1649,1650,1651,1653,1654,1655,1658,1659,1666,1668,1669,1670,1672,1676,1678,1679,1680,1681,1682,1683,1685,1686,1687,1688,1689,1690,1691,1692,1694,1695,1696,1698,1700,1703,1707,1708,1711,1712,1716,1718,1720,1723,1724,1725,1731,1732,1735,1740,1742,1743,1760,1784,1797,1799,1800,1801,1802,1803,1804,1806,1807,1808,1809,1811,1812,1813,1814,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1830,1831,1833,1834,1838,1839,1840,1844,1845,1846,1864,1865,1866,1867,1869,1870,1873,1874,1875,1876,1877,1879,1880,1881,1882,1884,1885,1886,1887,1888,1890,1891,1892,1893,1894,1895,1896,1897,1901,1902,1903,1904,1905,1907,1908,1909,1911,1912,1913,1914,1920,1939,1941,1942,1943,1944,1950,1954,1957,1958,1959,1964,1967,1968,1970,1971,1972,1973,1974,1976,1978,1979,1980,1981,1982,2043,2057,2058,2066,2122,2145,2160,2163,2179],"c":[["d",{"w":"ad","s":"d","e":false,"k":"d","d":[],"c":[["m",{"w":"admin","s":"min","e":true,"k":"m","d":[104,126,275,281,422,423,424,425,427,429,431,432,433,434,435,597,850,983,989,992,1163,1167,1168,1198,1200,1219,1940,2074,2103,2105,2144],"c":[["i",{"w":"administrat","s":"istrat","e":false,"k":"i","d":[],"c":[["i",{"w":"administration","s":"ion","e":true,"k":"i","d":[1,541,1783],"c":[]}],["o",{"w":"administrator","s":"or","e":true,"k":"o","d":[317,329,636,689,692],"c":[["s",{"w":"administrators","s":"s","e":true,"k":"s","d":[14,532,634],"c":[]}],["'",{"w":"administrator's","s":"'s","e":true,"k":"'","d":[540,832,1324,1915,1939,1950],"c":[]}]]}]]}],["s",{"w":"admins","s":"s","e":true,"k":"s","d":[967],"c":[["e",{"w":"adminserver","s":"erver","e":true,"k":"e","d":[31,53,55,56,59,102,103,106,161,173,421,426,427,428,430,431],"c":[]}]]}]]}],["v",{"w":"adv","s":"v","e":false,"k":"v","d":[],"c":[["a",{"w":"advan","s":"an","e":false,"k":"a","d":[],"c":[["c",{"w":"advanced","s":"ced","e":true,"k":"c","d":[16,161,163,1723],"c":[["f",{"w":"advancedflowcontrol","s":"flowcontrol","e":true,"k":"f","d":[239],"c":[["e",{"w":"advancedflowcontrolenabled","s":"enabled","e":true,"k":"e","d":[239],"c":[]}]]}]]}],["t",{"w":"advantage","s":"tage","e":true,"k":"t","d":[154,448,1351],"c":[["s",{"w":"advantages","s":"s","e":true,"k":"s","d":[872],"c":[]}]]}]]}],["e",{"w":"adver","s":"er","e":false,"k":"e","d":[],"c":[["s",{"w":"adversely","s":"sely","e":true,"k":"s","d":[47,183,1348],"c":[]}],["t",{"w":"advertising","s":"tising","e":true,"k":"t","d":[1846],"c":[]}]]}],["i",{"w":"advis","s":"is","e":false,"k":"i","d":[],"c":[["e",{"w":"advised","s":"ed","e":true,"k":"e","d":[400],"c":[]}],["a",{"w":"advisable","s":"able","e":true,"k":"a","d":[1387],"c":[]}]]}]]}],["d",{"w":"add","s":"d","e":true,"k":"d","d":[108,151,156,218,355,574,597,654,672,691,708,731,828,870,874,877,902,1039,1101,1103,1166,1363,1367,1448,1506,2029,2105,2110,2111,2168],"c":[["i",{"w":"addi","s":"i","e":false,"k":"i","d":[],"c":[["t",{"w":"addition","s":"tion","e":true,"k":"t","d":[91,180,207,720,755],"c":[["a",{"w":"additional","s":"al","e":true,"k":"a","d":[312,396,631,675,687,697,1016,1370,1372,1373],"c":[["l",{"w":"additionally","s":"ly","e":true,"k":"l","d":[18,143,207,306,681,1443],"c":[]}]]}],["s",{"w":"additions","s":"s","e":true,"k":"s","d":[1287],"c":[]}]]}],["n",{"w":"adding","s":"ng","e":true,"k":"n","d":[212,304,651,687,689,692,697,699,707,729,754,811,881,1370,2156],"c":[]}]]}],["r",{"w":"addr","s":"r","e":true,"k":"r","d":[1174],"c":[["e",{"w":"address","s":"ess","e":true,"k":"e","d":[35,196,197,328,398,432,644,653,842,857,871,908,1094,1097,1123,1156,1157,1224,1237,1368,1547,2034,2114,2192],"c":[["e",{"w":"addresses","s":"es","e":true,"k":"e","d":[293,295,372,373,398,399,520,613,647,648,1237],"c":[]}]]}]]}],["e",{"w":"added","s":"ed","e":true,"k":"e","d":[74,204,208,209,210,211,212,213,243,271,272,273,306,345,348,358,364,690,691,729,866,870,1030,1032,1033,1234,1299,1301,1368,1369,1372,1384,1401,1406,1446,1447,1448],"c":[]}],["s",{"w":"adds","s":"s","e":true,"k":"s","d":[293,328,396,634,647,729],"c":[]}],["-",{"w":"add-on","s":"-on","e":true,"k":"-","d":[476],"c":[]}],["a",{"w":"addauth","s":"auth","e":true,"k":"a","d":[546,597],"c":[]}],["w",{"w":"addwatch","s":"watch","e":true,"k":"w","d":[1444,2109,2152],"c":[]}]]}],["j",{"w":"adjust","s":"just","e":true,"k":"j","d":[825,970],"c":[["e",{"w":"adjusted","s":"ed","e":true,"k":"e","d":[219],"c":[]}],["m",{"w":"adjustments","s":"ments","e":true,"k":"m","d":[697],"c":[]}]]}],["h",{"w":"adhash","s":"hash","e":true,"k":"h","d":[243],"c":[]}],["o",{"w":"adopt","s":"opt","e":true,"k":"o","d":[690],"c":[["s",{"w":"adopts","s":"s","e":true,"k":"s","d":[696],"c":[]}]]}],["a",{"w":"adapt","s":"apt","e":true,"k":"a","d":[906],"c":[]}],["r",{"w":"adroitlogic","s":"roitlogic","e":true,"k":"r","d":[1565],"c":[]}]]}],["n",{"w":"an","s":"n","e":true,"k":"n","d":[17,18,20,33,77,101,102,143,148,154,192,200,204,214,215,270,273,282,291,297,298,305,306,307,317,329,332,342,352,384,402,404,405,406,414,509,510,512,515,522,524,574,579,644,651,659,668,672,674,675,687,689,691,692,694,695,696,697,706,709,712,717,725,731,755,830,870,871,872,874,875,877,881,882,884,902,911,913,914,955,966,1043,1048,1101,1103,1104,1126,1130,1143,1144,1146,1148,1154,1155,1156,1157,1172,1173,1174,1175,1201,1203,1213,1214,1217,1235,1237,1239,1256,1262,1270,1271,1282,1283,1289,1311,1313,1316,1320,1327,1339,1349,1353,1360,1365,1366,1367,1368,1369,1370,1372,1382,1383,1384,1389,1399,1401,1405,1415,1434,1455,1473,1476,1500,1502,1506,1542,1544,1625,1626,1629,1650,1655,1671,1681,1684,1704,1710,1741,1801,1802,1809,1816,1817,1828,1829,1862,1874,1909,1911,1912,1915,1945,1971,1972,2089],"c":[["d",{"w":"and","s":"d","e":true,"k":"d","d":[2,12,13,15,16,18,19,20,29,31,35,36,42,48,53,58,63,65,68,71,74,91,100,102,107,115,116,121,122,123,126,129,131,132,137,138,140,143,147,148,155,156,157,158,159,161,176,180,181,184,186,188,189,190,191,193,194,195,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,220,221,232,235,243,247,248,249,250,251,252,253,254,256,263,269,271,273,274,275,276,278,280,283,285,286,287,289,292,293,295,297,298,304,305,306,308,309,310,311,313,315,317,329,331,333,334,337,339,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,363,365,366,377,380,381,382,384,385,390,395,396,398,402,404,405,406,408,413,414,415,416,417,419,420,429,435,437,442,447,448,449,450,451,452,454,457,463,467,470,472,484,485,486,487,489,490,494,495,499,500,509,512,513,517,520,521,522,526,527,531,532,534,535,536,537,538,541,543,583,606,610,633,634,635,636,639,641,642,644,647,649,651,653,655,659,662,667,668,669,670,673,674,675,676,679,680,681,685,686,687,688,689,690,691,692,694,695,696,697,698,699,704,706,707,708,709,710,712,717,718,722,723,729,731,732,733,734,737,745,747,748,750,753,755,771,774,777,790,795,809,815,818,819,824,829,830,853,864,871,872,877,878,879,880,881,883,886,902,903,904,909,913,914,918,923,924,925,927,935,936,942,943,953,955,956,957,959,966,967,970,973,976,977,980,981,982,985,986,991,994,1020,1021,1023,1026,1029,1030,1035,1042,1044,1049,1054,1055,1057,1065,1069,1071,1073,1079,1088,1090,1091,1092,1093,1097,1098,1099,1100,1101,1102,1103,1104,1105,1111,1120,1127,1128,1130,1132,1133,1135,1138,1139,1140,1146,1150,1154,1155,1157,1160,1164,1169,1172,1175,1177,1191,1194,1201,1205,1211,1212,1213,1214,1215,1217,1218,1219,1223,1229,1230,1232,1234,1235,1237,1239,1240,1243,1244,1246,1251,1254,1258,1262,1268,1278,1279,1287,1289,1291,1306,1309,1311,1315,1316,1317,1319,1322,1323,1326,1327,1329,1342,1343,1345,1346,1348,1349,1351,1355,1359,1361,1363,1365,1368,1369,1370,1373,1380,1382,1383,1384,1386,1387,1388,1390,1397,1398,1401,1402,1403,1404,1405,1407,1410,1411,1412,1417,1418,1420,1422,1423,1426,1432,1433,1434,1435,1436,1437,1438,1440,1441,1443,1444,1450,1453,1454,1455,1457,1458,1467,1472,1473,1474,1475,1476,1477,1481,1484,1485,1493,1497,1500,1501,1502,1503,1511,1513,1521,1525,1526,1529,1530,1537,1540,1543,1544,1546,1547,1549,1552,1553,1554,1558,1563,1624,1625,1626,1628,1631,1633,1635,1637,1638,1639,1640,1641,1644,1645,1646,1647,1650,1651,1652,1653,1654,1655,1657,1658,1662,1663,1665,1667,1668,1669,1670,1674,1675,1676,1680,1683,1685,1686,1687,1688,1691,1692,1694,1695,1696,1697,1700,1701,1703,1704,1706,1707,1709,1710,1711,1712,1713,1715,1717,1718,1721,1722,1723,1724,1726,1731,1732,1733,1735,1737,1738,1740,1741,1743,1760,1783,1786,1788,1789,1797,1798,1799,1802,1803,1805,1808,1809,1811,1812,1813,1828,1830,1831,1834,1839,1840,1842,1845,1846,1847,1849,1851,1867,1869,1872,1875,1876,1877,1879,1880,1881,1885,1886,1887,1888,1895,1896,1900,1901,1903,1905,1906,1907,1910,1911,1912,1913,1923,1939,1943,1946,1947,1950,1952,1953,1954,1959,1964,1967,1968,1971,1976,1978,1980,1982,1984,2025,2028,2029,2036,2037,2038,2039,2040,2051,2083,2084,2092,2103,2107,2115,2136,2138,2144,2150,2157,2182,2184,2191],"c":[]}],["y",{"w":"any","s":"y","e":true,"k":"y","d":[18,25,180,194,197,251,305,337,341,385,417,448,449,508,533,539,653,668,671,672,674,677,683,687,697,709,731,862,912,933,936,937,1050,1053,1100,1146,1157,1172,1191,1215,1218,1219,1222,1285,1304,1313,1346,1383,1385,1388,1396,1405,1436,1437,1444,1456,1502,1507,1627,1668,1688,1700,1703,1718,1812,1876,1886,1893,1895,1896,1903,1979],"c":[["o",{"w":"anyone","s":"one","e":true,"k":"o","d":[295,1155,1171,1184,1388,1548],"c":[]}],["t",{"w":"anything","s":"thing","e":true,"k":"t","d":[519,1146,1474,1945],"c":[]}]]}],["o",{"w":"another","s":"other","e":true,"k":"o","d":[46,159,325,692,706,721,872,1289,1309,1396,1404,1410,1433,1453,1478,1503,1540,1679,1717,1843,1885,1960,1976],"c":[]}],["s",{"w":"answer","s":"swer","e":true,"k":"s","d":[269,1881],"c":[]}],["n",{"w":"ann","s":"n","e":false,"k":"n","d":[],"c":[["u",{"w":"annual","s":"ual","e":true,"k":"u","d":[637,957],"c":[]}],["o",{"w":"annotations","s":"otations","e":true,"k":"o","d":[1641],"c":[]}]]}],["a",{"w":"analy","s":"aly","e":false,"k":"a","d":[],"c":[["s",{"w":"analysis","s":"sis","e":true,"k":"s","d":[1030,1077,1632,1704,2164],"c":[]}],["t",{"w":"analytic","s":"tic","e":true,"k":"t","d":[1670],"c":[["s",{"w":"analytics","s":"s","e":true,"k":"s","d":[1644,1659,1704,1716,1733],"c":[]}],["a",{"w":"analytical","s":"al","e":true,"k":"a","d":[1694],"c":[]}]]}]]}],["c",{"w":"anchors","s":"chors","e":true,"k":"c","d":[1925],"c":[]}]]}],["w",{"w":"awa","s":"wa","e":false,"k":"w","d":[],"c":[["r",{"w":"aware","s":"re","e":true,"k":"r","d":[11,537,1411,1560,1979],"c":[]}],["y",{"w":"away","s":"y","e":true,"k":"y","d":[1501,1502,1549,1706],"c":[]}]]}],["r",{"w":"ar","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"are","s":"e","e":true,"k":"e","d":[12,15,19,29,30,45,46,47,48,74,100,102,143,154,174,176,177,185,189,190,192,194,195,204,206,207,211,230,251,256,259,264,267,268,276,282,292,293,295,298,299,301,305,306,313,333,337,355,358,382,383,385,409,413,414,417,418,421,426,428,430,442,448,454,471,472,508,509,510,512,513,514,515,517,520,524,527,532,537,592,634,647,649,655,656,659,662,666,669,670,677,679,685,687,689,690,691,694,699,705,706,707,710,728,730,731,749,777,810,833,856,862,864,870,871,872,880,882,883,904,944,952,963,967,984,985,988,1019,1023,1030,1034,1035,1040,1044,1049,1050,1055,1090,1101,1130,1138,1154,1155,1156,1157,1164,1174,1175,1176,1183,1212,1214,1218,1229,1244,1245,1254,1265,1279,1281,1285,1304,1308,1314,1317,1318,1319,1321,1324,1327,1344,1345,1346,1353,1365,1370,1371,1378,1387,1396,1398,1400,1401,1407,1410,1412,1432,1434,1436,1437,1443,1444,1450,1453,1454,1456,1472,1475,1477,1479,1501,1502,1503,1507,1517,1529,1530,1543,1545,1549,1645,1660,1686,1692,1702,1703,1798,1799,1802,1805,1807,1812,1813,1828,1829,1830,1838,1844,1845,1847,1863,1871,1874,1876,1881,1885,1886,1887,1889,1898,1900,1901,1902,1903,1904,1907,1908,1909,1910,1912,1913,1917,1923,1926,1939,1945,1967,1970,1971,1978,1979,1981,1982,2102,2148],"c":[["n",{"w":"aren","s":"n","e":true,"k":"n","d":[537],"c":[["'",{"w":"aren't","s":"'t","e":true,"k":"'","d":[1475],"c":[]}]]}]]}],["g",{"w":"argument","s":"gument","e":true,"k":"g","d":[1103,1130,1132],"c":[["s",{"w":"arguments","s":"s","e":true,"k":"s","d":[14,20,708,1036,1126,1372],"c":[]}]]}],["o",{"w":"around","s":"ound","e":true,"k":"o","d":[385,678,1805],"c":[]}],["i",{"w":"arise","s":"ise","e":true,"k":"i","d":[390,912,1235],"c":[["s",{"w":"arises","s":"s","e":true,"k":"s","d":[1549,1976],"c":[]}]]}],["r",{"w":"arrive","s":"rive","e":true,"k":"r","d":[413,414,1424],"c":[["s",{"w":"arrives","s":"s","e":true,"k":"s","d":[729,1401,1887],"c":[]}],["d",{"w":"arrived","s":"d","e":true,"k":"d","d":[729,1887],"c":[]}]]}],["b",{"w":"arbitrary","s":"bitrary","e":true,"k":"b","d":[653,1383,1405],"c":[]}],["c",{"w":"architectur","s":"chitectur","e":false,"k":"c","d":[],"c":[["e",{"w":"architecture","s":"e","e":true,"k":"e","d":[870,1650,1670,1764],"c":[["s",{"w":"architectures","s":"s","e":true,"k":"s","d":[1628],"c":[]}]]}],["a",{"w":"architectural","s":"al","e":true,"k":"a","d":[882],"c":[]}]]}],["t",{"w":"arti","s":"ti","e":false,"k":"t","d":[],"c":[["c",{"w":"article","s":"cle","e":true,"k":"c","d":[1360,1472],"c":[]}],["f",{"w":"artifact","s":"fact","e":true,"k":"f","d":[1505,1509],"c":[["s",{"w":"artifacts","s":"s","e":true,"k":"s","d":[2170],"c":[]}]]}]]}]]}],["s",{"w":"as","s":"s","e":true,"k":"s","d":[12,15,18,19,25,48,77,100,102,116,117,123,127,130,132,133,134,135,136,151,155,179,184,200,204,206,263,270,275,283,287,298,303,305,307,310,312,313,316,317,329,330,332,340,367,369,370,376,385,389,396,402,405,406,414,448,471,508,509,510,512,519,520,521,522,535,662,665,678,683,687,690,691,692,694,697,709,730,731,751,755,768,777,780,790,793,808,833,834,840,857,858,859,860,861,862,864,870,871,872,877,878,879,880,884,900,905,908,943,944,980,987,1022,1067,1093,1102,1103,1105,1109,1122,1130,1131,1132,1133,1137,1140,1143,1144,1167,1169,1172,1173,1174,1175,1186,1212,1214,1224,1240,1262,1265,1287,1304,1309,1311,1317,1318,1321,1324,1328,1346,1353,1355,1365,1368,1370,1371,1382,1384,1385,1386,1389,1393,1415,1416,1424,1432,1435,1437,1443,1444,1452,1458,1473,1475,1484,1485,1500,1501,1502,1507,1527,1528,1537,1543,1546,1549,1631,1637,1647,1650,1655,1679,1681,1686,1693,1700,1713,1720,1725,1731,1735,1740,1798,1802,1804,1807,1810,1812,1813,1819,1830,1832,1834,1844,1845,1846,1867,1876,1877,1881,1882,1886,1896,1901,1909,1915,1939,1957,1958,1962,1963,1978,1982],"c":[["s",{"w":"ass","s":"s","e":false,"k":"s","d":[],"c":[["o",{"w":"associat","s":"ociat","e":false,"k":"o","d":[],"c":[["e",{"w":"associate","s":"e","e":true,"k":"e","d":[1367],"c":[["d",{"w":"associated","s":"d","e":true,"k":"d","d":[70,72,76,148,236,248,342,771,774,840,862,863,1103,1127,1154,1196,1218,1269,1304,1316,1353,1365,1367,1368,1807,1809,1962,1963],"c":[]}],["s",{"w":"associates","s":"s","e":true,"k":"s","d":[1157,1959],"c":[]}]]}],["i",{"w":"associati","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"association","s":"on","e":true,"k":"o","d":[957],"c":[]}],["n",{"w":"associating","s":"ng","e":true,"k":"n","d":[1365],"c":[]}]]}]]}],["u",{"w":"assu","s":"u","e":false,"k":"u","d":[],"c":[["m",{"w":"assum","s":"m","e":false,"k":"m","d":[],"c":[["i",{"w":"assuming","s":"ing","e":true,"k":"i","d":[174,305,1435],"c":[]}],["e",{"w":"assume","s":"e","e":true,"k":"e","d":[471,1088,1217,1289,1353,1868],"c":[["s",{"w":"assumes","s":"s","e":true,"k":"s","d":[746,1868],"c":[]}]]}],["p",{"w":"assumption","s":"ption","e":true,"k":"p","d":[1868],"c":[["s",{"w":"assumptions","s":"s","e":true,"k":"s","d":[529,532],"c":[]}]]}]]}],["r",{"w":"assur","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"assuring","s":"ing","e":true,"k":"i","d":[1904],"c":[]}],["a",{"w":"assurances","s":"ances","e":true,"k":"a","d":[1904],"c":[]}]]}]]}],["i",{"w":"assign","s":"ign","e":true,"k":"i","d":[902,903,1877,1912,1913],"c":[["m",{"w":"assignment","s":"ment","e":true,"k":"m","d":[297,1686],"c":[]}],["s",{"w":"assigns","s":"s","e":true,"k":"s","d":[298,1385],"c":[]}],["e",{"w":"assigned","s":"ed","e":true,"k":"e","d":[298,963],"c":[]}]]}]]}],["y",{"w":"async","s":"ync","e":true,"k":"y","d":[1240],"c":[["h",{"w":"asynchronous","s":"hronous","e":true,"k":"h","d":[606,668,712,717,914,957,1139,1142,1214,1215,1217,1240,1258,1398,1400,1450,1473,1871],"c":[["l",{"w":"asynchronously","s":"ly","e":true,"k":"l","d":[271,272,273,1434],"c":[]}]]}],["s",{"w":"asyncsending","s":"sending","e":true,"k":"s","d":[273],"c":[]}]]}],["c",{"w":"ascii","s":"cii","e":true,"k":"c","d":[292,444,1975],"c":[]}],["t",{"w":"asterisk","s":"terisk","e":true,"k":"t","d":[307],"c":[]}],["p",{"w":"aspect","s":"pect","e":true,"k":"p","d":[1544],"c":[["s",{"w":"aspects","s":"s","e":true,"k":"s","d":[514,1730,1800],"c":[]}]]}],["k",{"w":"ask","s":"k","e":true,"k":"k","d":[1346],"c":[["o",{"w":"askoracle","s":"oracle","e":true,"k":"o","d":[906],"c":[]}],["i",{"w":"asking","s":"ing","e":true,"k":"i","d":[1023],"c":[]}]]}],["i",{"w":"aside","s":"ide","e":true,"k":"i","d":[1144],"c":[]}],["f",{"w":"asf","s":"f","e":true,"k":"f","d":[2068],"c":[]}],["a",{"w":"asan","s":"an","e":true,"k":"a","d":[2084],"c":[]}]]}],["p",{"w":"ap","s":"p","e":false,"k":"p","d":[],"c":[["p",{"w":"app","s":"p","e":true,"k":"p","d":[1155,1384,1543],"c":[["e",{"w":"appe","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"append","s":"nd","e":true,"k":"n","d":[876,1103,1166,1320],"c":[["e",{"w":"appende","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"appended","s":"d","e":true,"k":"d","d":[12,100,252,1384,1548],"c":[]}],["r",{"w":"appender","s":"r","e":true,"k":"r","d":[17,755],"c":[]}]]}],["i",{"w":"appending","s":"ing","e":true,"k":"i","d":[12],"c":[]}],["s",{"w":"appends","s":"s","e":true,"k":"s","d":[1548],"c":[]}]]}],["a",{"w":"appear","s":"ar","e":true,"k":"a","d":[1500,1537,1907,1908,2045],"c":[["i",{"w":"appearing","s":"ing","e":true,"k":"i","d":[316],"c":[]}]]}]]}],["l",{"w":"appl","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"appli","s":"i","e":false,"k":"i","d":[],"c":[["c",{"w":"applica","s":"ca","e":false,"k":"c","d":[],"c":[["t",{"w":"application","s":"tion","e":true,"k":"t","d":[1069,1090,1099,1106,1130,1131,1134,1191,1194,1240,1252,1313,1343,1344,1346,1355,1382,1383,1384,1399,1549,1551,1641,1642,1670,1676,1721,1918,1920,1968,2039],"c":[["s",{"w":"applications","s":"s","e":true,"k":"s","d":[51,143,473,475,537,971,1130,1239,1351,1461,1477,1560,1624,1628,1642,1644,1784,1797,1798,1805,1833,1846,1930],"c":[]}],["'",{"w":"application's","s":"'s","e":true,"k":"'","d":[1240],"c":[]}]]}],["b",{"w":"applicable","s":"ble","e":true,"k":"b","d":[299,301,989],"c":[]}]]}],["e",{"w":"applie","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"applies","s":"s","e":true,"k":"s","d":[202,1366],"c":[]}],["d",{"w":"applied","s":"d","e":true,"k":"d","d":[309,718,730,1280,1283,1284,1814,1817,1828,1831],"c":[]}]]}]]}],["y",{"w":"apply","s":"y","e":true,"k":"y","d":[1154,1155,1369],"c":[["i",{"w":"applying","s":"ing","e":true,"k":"i","d":[248],"c":[]}]]}]]}],["r",{"w":"appro","s":"ro","e":false,"k":"r","d":[],"c":[["p",{"w":"appropriate","s":"priate","e":true,"k":"p","d":[194,195],"c":[]}],["a",{"w":"approach","s":"ach","e":true,"k":"a","d":[414,1545,1546],"c":[]}],["x",{"w":"approximately","s":"ximately","e":true,"k":"x","d":[1834],"c":[]}]]}],["s",{"w":"apps","s":"s","e":true,"k":"s","d":[1641,1732],"c":[]}]]}],["i",{"w":"api","s":"i","e":true,"k":"i","d":[14,125,129,305,622,653,670,671,675,677,682,683,711,712,716,717,733,1120,1133,1134,1145,1150,1153,1205,1239,1240,1247,1251,1252,1258,1261,1262,1263,1289,1318,1319,1357,1386,1398,1477,1791,1915,2024,2091,2106,2144],"c":[["s",{"w":"apis","s":"s","e":true,"k":"s","d":[281,668,669,670,673,977,983,1201,1240,1655,1783,1967],"c":[]}],["'",{"w":"api's","s":"'s","e":true,"k":"'","d":[1480],"c":[]}]]}],["a",{"w":"apa","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"apache","s":"che","e":true,"k":"c","d":[34,144,207,265,317,331,368,712,717,745,748,753,829,830,833,861,1212,1229,1241,1563,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,1625,1626,1637,1641,1650,1655,1656,1659,1660,1666,1668,1672,1673,1676,1685,1688,1692,1695,1696,1699,1704,1705,1706,1707,1708,1710,1711,1714,1715,1716,1718,1744,1746,1747,1748,1749,1750,1751,1753,1754,1755,1756,1757,1764,1765,1766,1767,1768,1770,1772,1774,1778,1779,1780,1783,1847,1941,2019,2038],"c":[["-",{"w":"apache-","s":"-","e":false,"k":"-","d":[],"c":[["d",{"w":"apache-drill-architecture-ultimate-guide","s":"drill-architecture-ultimate-guide","e":true,"k":"d","d":[1771],"c":[]}],["k",{"w":"apache-kylin-architecture","s":"kylin-architecture","e":true,"k":"k","d":[1776],"c":[]}]]}],["i",{"w":"apacheignite","s":"ignite","e":true,"k":"i","d":[1777],"c":[]}]]}],["r",{"w":"apart","s":"rt","e":true,"k":"r","d":[1905],"c":[]}]]}]]}],["l",{"w":"al","s":"l","e":false,"k":"l","d":[],"c":[["l",{"w":"all","s":"l","e":true,"k":"l","d":[12,29,48,61,62,65,100,102,111,117,124,133,150,155,161,174,191,193,266,267,270,285,293,297,298,307,319,329,355,373,390,396,398,452,514,543,573,583,588,602,608,633,634,647,659,667,675,684,687,692,706,732,733,762,771,774,810,853,862,864,872,877,879,913,969,985,988,1023,1027,1035,1042,1050,1090,1097,1148,1157,1166,1182,1191,1214,1215,1240,1251,1258,1261,1289,1316,1319,1326,1329,1349,1371,1384,1388,1404,1405,1432,1436,1443,1456,1472,1479,1500,1501,1502,1537,1542,1543,1546,1549,1629,1645,1668,1669,1685,1686,1700,1701,1702,1703,1802,1804,1809,1830,1833,1847,1862,1864,1865,1867,1869,1875,1876,1881,1883,1896,1898,1899,1900,1901,1903,1905,1907,1912,1968,1979,1980,2062,2082,2130],"c":[["o",{"w":"allo","s":"o","e":false,"k":"o","d":[],"c":[["w",{"w":"allow","s":"w","e":true,"k":"w","d":[198,199,263,287,288,296,308,314,336,340,355,635,1154,1167,1402,1808,1834,1918,2174],"c":[["s",{"w":"allows","s":"s","e":true,"k":"s","d":[186,352,364,365,366,371,384,524,652,674,707,880,1167,1227,1239,1304,1311,1386,1397,1436,1627,1651,1670,1676,1695,1799,1807,1845,1881,1905],"c":[["a",{"w":"allowsaslfailedclients","s":"aslfailedclients","e":true,"k":"a","d":[336,340],"c":[]}]]}],["e",{"w":"allowed","s":"ed","e":true,"k":"e","d":[193,195,207,231,233,537,539,649,698,707,710,730,731,1308,1318,1479,1541],"c":[]}],["r",{"w":"allowreversednslookup","s":"reversednslookup","e":true,"k":"r","d":[355,1225],"c":[]}],["i",{"w":"allowing","s":"ing","e":true,"k":"i","d":[427,745,880,1909],"c":[]}]]}],["c",{"w":"allocat","s":"cat","e":false,"k":"c","d":[],"c":[["e",{"w":"allocates","s":"es","e":true,"k":"e","d":[190],"c":[]}],["i",{"w":"allocation","s":"ion","e":true,"k":"i","d":[2176],"c":[["s",{"w":"allocations","s":"s","e":true,"k":"s","d":[970],"c":[]}]]}]]}]]}]]}],["t",{"w":"alt","s":"t","e":false,"k":"t","d":[],"c":[["h",{"w":"although","s":"hough","e":true,"k":"h","d":[15,667,687,870,1347,1867],"c":[]}],["e",{"w":"alter","s":"er","e":false,"k":"e","d":[],"c":[["n",{"w":"alternat","s":"nat","e":false,"k":"n","d":[],"c":[["i",{"w":"alternative","s":"ive","e":true,"k":"i","d":[355],"c":[["l",{"w":"alternatively","s":"ly","e":true,"k":"l","d":[1090,1435],"c":[]}]]}],["e",{"w":"alternate","s":"e","e":true,"k":"e","d":[1372],"c":[]}]]}],["e",{"w":"altered","s":"ed","e":true,"k":"e","d":[659,680],"c":[]}]]}]]}],["s",{"w":"also","s":"so","e":true,"k":"s","d":[19,20,46,48,102,130,185,190,194,226,249,295,315,342,372,373,396,399,509,520,524,534,644,645,660,667,692,698,712,717,777,780,787,790,793,830,880,973,1130,1132,1133,1134,1144,1155,1167,1168,1214,1219,1304,1311,1318,1320,1371,1384,1397,1416,1424,1437,1445,1627,1680,1682,1700,1702,1703,1732,1807,1808,1810,1812,1838,1846,1867,1869,1876,1899,1900,1903,1905,1907,1916,1976,1978,1980,2070],"c":[]}],["w",{"w":"always","s":"ways","e":true,"k":"w","d":[132,1237,1304,1322,1366,1402,1541,1881,1903,1915,2135],"c":[]}],["i",{"w":"ali","s":"i","e":false,"k":"i","d":[],"c":[["a",{"w":"alias","s":"as","e":true,"k":"a","d":[148],"c":[["e",{"w":"aliases","s":"es","e":true,"k":"e","d":[150,332],"c":[]}]]}],["v",{"w":"alive","s":"ve","e":true,"k":"v","d":[943,1397,1399],"c":[]}]]}],["r",{"w":"already","s":"ready","e":true,"k":"r","d":[154,250,310,327,402,662,689,709,970,1268,1424,1692],"c":[["-",{"w":"already-constructed","s":"-constructed","e":true,"k":"-","d":[352],"c":[]}]]}],["g",{"w":"algorithm","s":"gorithm","e":true,"k":"g","d":[283,318,325,326,327,635,1402,1403,1404,1405,1542,1845,1877],"c":[["s",{"w":"algorithms","s":"s","e":true,"k":"s","d":[320,636,906],"c":[]}]]}],["o",{"w":"alon","s":"on","e":false,"k":"o","d":[],"c":[["g",{"w":"along","s":"g","e":true,"k":"g","d":[298,386,755,879,880,1276,1309,1802],"c":[]}],["e",{"w":"alone","s":"e","e":true,"k":"e","d":[1309],"c":[]}]]}],["e",{"w":"alert","s":"ert","e":true,"k":"e","d":[824],"c":[["i",{"w":"alerting","s":"ing","e":true,"k":"i","d":[801,824,825],"c":[]}],["m",{"w":"alertmanager","s":"manager","e":true,"k":"m","d":[824],"c":[]}]]}],["m",{"w":"almost","s":"most","e":true,"k":"m","d":[1349],"c":[]}],["p",{"w":"alphabetically","s":"phabetically","e":true,"k":"p","d":[1624],"c":[]}]]}],["u",{"w":"au","s":"u","e":false,"k":"u","d":[],"c":[["t",{"w":"aut","s":"t","e":false,"k":"t","d":[],"c":[["o",{"w":"auto","s":"o","e":true,"k":"o","d":[203,204],"c":[["p",{"w":"autopurge","s":"purge","e":true,"k":"p","d":[13,16,203,204],"c":[]}],["m",{"w":"automa","s":"ma","e":false,"k":"m","d":[],"c":[["t",{"w":"automat","s":"t","e":false,"k":"t","d":[],"c":[["i",{"w":"automatic","s":"ic","e":true,"k":"i","d":[16,1227,1648,1677],"c":[["a",{"w":"automatically","s":"ally","e":true,"k":"a","d":[18,19,176,313,402,580,662,679,687,690,699,980,1027,1050,1148,1175,1227,1383,1414,1478,1548,1682,1980],"c":[]}]]}],["e",{"w":"automated","s":"ed","e":true,"k":"e","d":[634,1627],"c":[]}]]}],["k",{"w":"automake","s":"ke","e":true,"k":"k","d":[1243],"c":[]}]]}],["c",{"w":"autoc","s":"c","e":false,"k":"c","d":[],"c":[["r",{"w":"autocreat","s":"reat","e":false,"k":"r","d":[],"c":[["i",{"w":"autocreation","s":"ion","e":true,"k":"i","d":[169],"c":[]}],["e",{"w":"autocreate","s":"e","e":true,"k":"e","d":[402,403,405,407],"c":[]}]]}],["o",{"w":"autoconf","s":"onf","e":true,"k":"o","d":[1243],"c":[["i",{"w":"autoconfiguration","s":"iguration","e":true,"k":"i","d":[1641],"c":[]}]]}]]}],["_",{"w":"auto_read","s":"_read","e":true,"k":"_","d":[239],"c":[]}],["-",{"w":"auto-","s":"-","e":false,"k":"-","d":[],"c":[["r",{"w":"auto-reset","s":"reset","e":true,"k":"r","d":[1148],"c":[]}],["a",{"w":"auto-assign","s":"assign","e":true,"k":"a","d":[2150],"c":[]}]]}],["r",{"w":"autoreconf","s":"reconf","e":true,"k":"r","d":[1243],"c":[]}]]}],["h",{"w":"auth","s":"h","e":true,"k":"h","d":[317,327,331,334,337,338,339,341,368,377,425,861,985,1150,1172,1175,1185,1368,2054,2074,2113],"c":[["e",{"w":"authenticat","s":"enticat","e":false,"k":"e","d":[],"c":[["i",{"w":"authenticati","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"authentication","s":"on","e":true,"k":"o","d":[143,161,165,314,315,316,317,331,333,336,337,340,341,359,360,361,368,369,370,371,574,608,653,670,671,673,675,676,856,861,864,985,1156,1172,1173,1219,1220,1222,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1382,2066,2088],"c":[["p",{"w":"authenticationprovider","s":"provider","e":true,"k":"p","d":[331,861,1373],"c":[]}]]}],["n",{"w":"authenticating","s":"ng","e":true,"k":"n","d":[317],"c":[]}]]}],["e",{"w":"authenticate","s":"e","e":true,"k":"e","d":[328,358,1194,1201,1363,1365],"c":[["d",{"w":"authenticated","s":"d","e":true,"k":"d","d":[283,317,329,333,337,341,369,370,673,857,860,864,1172,1175,1191],"c":[]}],["s",{"w":"authenticates","s":"s","e":true,"k":"s","d":[1157],"c":[]}]]}]]}],["o",{"w":"authoriz","s":"oriz","e":false,"k":"o","d":[],"c":[["a",{"w":"authorization","s":"ation","e":true,"k":"a","d":[165,314,924,928,985],"c":[]}],["e",{"w":"authorize","s":"e","e":true,"k":"e","d":[911,919,920,930,936,941],"c":[["d",{"w":"authorized","s":"d","e":true,"k":"d","d":[305,574,674,906],"c":[]}],["s",{"w":"authorizes","s":"s","e":true,"k":"s","d":[944],"c":[]}]]}],["i",{"w":"authorizing","s":"ing","e":true,"k":"i","d":[942,943],"c":[]}]]}],["d",{"w":"authdata","s":"data","e":true,"k":"d","d":[317],"c":[]}],["p",{"w":"authprovider","s":"provider","e":true,"k":"p","d":[331,368,1370,1371,2022],"c":[]}],["_",{"w":"auth_failed","s":"_failed","e":true,"k":"_","d":[1218],"c":[]}]]}]]}],["d",{"w":"audit","s":"dit","e":true,"k":"d","d":[264,265,316,794,795,806,807,808,833,834,840,853,854,855,864,2045],"c":[["e",{"w":"audited","s":"ed","e":true,"k":"e","d":[834,844],"c":[]}]]}]]}],["c",{"w":"ac","s":"c","e":false,"k":"c","d":[],"c":[["t",{"w":"act","s":"t","e":true,"k":"t","d":[46,1456,1700],"c":[["i",{"w":"acti","s":"i","e":false,"k":"i","d":[],"c":[["v",{"w":"activ","s":"v","e":false,"k":"v","d":[],"c":[["e",{"w":"active","s":"e","e":true,"k":"e","d":[18,65,126,522,533,1318,1346,1397,1679,1682,1683,1707,1731,1810,1853,1880,1881,1903,1904,1905],"c":[]}],["a",{"w":"activat","s":"at","e":false,"k":"a","d":[],"c":[["i",{"w":"activati","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"activating","s":"ng","e":true,"k":"n","d":[286,880],"c":[]}],["o",{"w":"activation","s":"on","e":true,"k":"o","d":[706,1852,1877,1879,1881,1882,1885,1889,1896,1904,1905],"c":[]}]]}],["e",{"w":"activate","s":"e","e":true,"k":"e","d":[854,1888],"c":[["d",{"w":"activated","s":"d","e":true,"k":"d","d":[384,706,881],"c":[]}]]}]]}]]}],["n",{"w":"acting","s":"ng","e":true,"k":"n","d":[132],"c":[]}],["o",{"w":"action","s":"on","e":true,"k":"o","d":[1735],"c":[]}]]}],["u",{"w":"actual","s":"ual","e":true,"k":"u","d":[194,248,250,1311,1384,1909],"c":[["l",{"w":"actually","s":"ly","e":true,"k":"l","d":[448,690,852,1328,1903,1905],"c":[]}]]}],["o",{"w":"actor","s":"or","e":true,"k":"o","d":[653],"c":[]}]]}],["h",{"w":"achieve","s":"hieve","e":true,"k":"h","d":[409,536,650,689,731,1402,1688,1799,1871],"c":[["d",{"w":"achieved","s":"d","e":true,"k":"d","d":[20,1871],"c":[]}]]}],["c",{"w":"acc","s":"c","e":false,"k":"c","d":[],"c":[["e",{"w":"acce","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"access","s":"ss","e":true,"k":"s","d":[317,329,330,352,397,454,537,673,675,676,777,790,980,1149,1150,1154,1157,1164,1172,1191,1218,1291,1294,1314,1316,1386,1649,1685,1702,1709,1723,1800,1809],"c":[["i",{"w":"accessible","s":"ible","e":true,"k":"i","d":[26,49,946,948,1355,1696,1867],"c":[]}],["e",{"w":"accesses","s":"es","e":true,"k":"e","d":[906],"c":[]}]]}],["p",{"w":"accept","s":"pt","e":true,"k":"p","d":[289,333,337,367,429,980,1894],"c":[["e",{"w":"accepted","s":"ed","e":true,"k":"e","d":[150,197,2102],"c":[]}],["s",{"w":"accepts","s":"s","e":true,"k":"s","d":[289,640,681,713,1880],"c":[]}],["o",{"w":"acceptor","s":"or","e":true,"k":"o","d":[408],"c":[]}],["a",{"w":"acceptable","s":"able","e":true,"k":"a","d":[663],"c":[]}],["i",{"w":"accepting","s":"ing","e":true,"k":"i","d":[712,717],"c":[]}]]}]]}],["o",{"w":"acco","s":"o","e":false,"k":"o","d":[],"c":[["u",{"w":"account","s":"unt","e":true,"k":"u","d":[830],"c":[["i",{"w":"accounting","s":"ing","e":true,"k":"i","d":[195],"c":[]}]]}],["m",{"w":"accomplish","s":"mplish","e":true,"k":"m","d":[520],"c":[["e",{"w":"accomplished","s":"ed","e":true,"k":"e","d":[403],"c":[]}]]}],["r",{"w":"according","s":"rding","e":true,"k":"r","d":[955,970,1130,1435,1540],"c":[]}]]}],["u",{"w":"accu","s":"u","e":false,"k":"u","d":[],"c":[["r",{"w":"accura","s":"ra","e":false,"k":"r","d":[],"c":[["t",{"w":"accurate","s":"te","e":true,"k":"t","d":[239],"c":[]}],["c",{"w":"accuracy","s":"cy","e":true,"k":"c","d":[933],"c":[]}]]}],["m",{"w":"accumulo","s":"mulo","e":true,"k":"m","d":[1581,1649,1650,1673],"c":[]}]]}],["i",{"w":"accidentally","s":"identally","e":true,"k":"i","d":[332,402,690,1420],"c":[]}]]}],["r",{"w":"across","s":"ross","e":true,"k":"r","d":[189,305,635,732,1213,1289,1676,1700,1724],"c":[]}],["l",{"w":"acl","s":"l","e":true,"k":"l","d":[240,317,318,329,397,574,579,586,601,602,603,670,674,675,677,849,850,967,1150,1151,1152,1154,1155,1172,1173,1174,1175,1183,1191,1195,1196,1197,1198,1199,1200,1311,1316,1327,1338,1363,1365,1368,1369,1808,1809,2042,2049,2100,2109],"c":[["v",{"w":"aclve","s":"ve","e":false,"k":"v","d":[],"c":[["r",{"w":"aclversion","s":"rsion","e":true,"k":"r","d":[603],"c":[]}],["c",{"w":"aclvector","s":"ctor","e":true,"k":"c","d":[1195,1197],"c":[]}]]}],["s",{"w":"acls","s":"s","e":true,"k":"s","d":[675,1149,1154,1155,1157,1168,1169,1187,1192,1196,1203,1368,1378,1702],"c":[]}],["-",{"w":"acl-based","s":"-based","e":true,"k":"-","d":[1150],"c":[]}],["_",{"w":"acl_","s":"_","e":false,"k":"_","d":[],"c":[["v",{"w":"acl_vector","s":"vector","e":true,"k":"v","d":[1188,1189,1190,1199],"c":[]}],["r",{"w":"acl_result","s":"result","e":true,"k":"r","d":[2043],"c":[]}]]}],["e",{"w":"aclexpr","s":"expr","e":true,"k":"e","d":[1369],"c":[]}]]}],["q",{"w":"acquire","s":"quire","e":true,"k":"q","d":[406,1683],"c":[]}],["k",{"w":"ack","s":"k","e":true,"k":"k","d":[731,1072,1890,1891],"c":[["s",{"w":"acks","s":"s","e":true,"k":"s","d":[687,710,1072,1900],"c":[]}],["n",{"w":"acknowledg","s":"nowledg","e":false,"k":"n","d":[],"c":[["e",{"w":"acknowledge","s":"e","e":true,"k":"e","d":[731,1560,1876],"c":[["m",{"w":"acknowledgement","s":"ment","e":true,"k":"m","d":[1876,1911],"c":[]}]]}],["i",{"w":"acknowledging","s":"ing","e":true,"k":"i","d":[1911],"c":[]}]]}],["e",{"w":"acked","s":"ed","e":true,"k":"e","d":[1892,1900,1901],"c":[]}]]}],["m",{"w":"acm","s":"m","e":true,"k":"m","d":[957],"c":[]}],["i",{"w":"acid","s":"id","e":true,"k":"i","d":[1638],"c":[]}]]}],["v",{"w":"av","s":"v","e":false,"k":"v","d":[],"c":[["a",{"w":"availab","s":"ailab","e":false,"k":"a","d":[],"c":[["l",{"w":"available","s":"le","e":true,"k":"l","d":[19,47,102,106,110,132,185,285,309,364,376,398,405,510,539,573,610,706,749,809,810,1040,1240,1372,1407,1654,1670,1800,1802,1913,1950],"c":[]}],["i",{"w":"availability","s":"ility","e":true,"k":"i","d":[293,310,372,373,399,520,647,872,880,886,905,907,1639,1652,1669,1675],"c":[]}]]}],["o",{"w":"avoid","s":"oid","e":true,"k":"o","d":[42,43,45,186,190,194,212,239,268,342,517,539,687,729,733,1349,1474,1512,1518,1549,2032,2115,2148,2175,2185],"c":[["s",{"w":"avoids","s":"s","e":true,"k":"s","d":[271,1527,1528,1549],"c":[]}],["e",{"w":"avoided","s":"ed","e":true,"k":"e","d":[704,1218],"c":[]}]]}],["e",{"w":"aver","s":"er","e":false,"k":"e","d":[],"c":[["a",{"w":"average","s":"age","e":true,"k":"a","d":[1317],"c":[]}],["s",{"w":"aversion","s":"sion","e":true,"k":"s","d":[1327,1338],"c":[]}]]}]]}],["b",{"w":"ab","s":"b","e":false,"k":"b","d":[],"c":[["n",{"w":"abnormally","s":"normally","e":true,"k":"n","d":[19,1478,2138],"c":[]}],["o",{"w":"abo","s":"o","e":false,"k":"o","d":[],"c":[["u",{"w":"about","s":"ut","e":true,"k":"u","d":[27,28,37,58,60,64,112,123,315,467,520,635,695,768,1077,1219,1251,1315,1365,1416,1418,1424,1430,1431,1435,1460,1473,1700,1802,1807,1882,1903,1905,1907,2105],"c":[]}],["v",{"w":"above","s":"ve","e":true,"k":"v","d":[100,204,256,449,527,662,709,719,965,1106,1131,1132,1182,1201,1237,1388,1405,1443,1521,1545,1683,1876,1923,1978],"c":[]}],["r",{"w":"abort","s":"rt","e":true,"k":"r","d":[1026,1542,1543],"c":[["s",{"w":"aborts","s":"s","e":true,"k":"s","d":[1905],"c":[]}]]}]]}],["l",{"w":"able","s":"le","e":true,"k":"l","d":[29,293,329,333,336,337,340,400,406,533,534,647,696,753,904,967,1104,1155,1165,1166,1252,1388,1424,1647,1685,1845,1867,1896,1913],"c":[]}],["s",{"w":"abs","s":"s","e":false,"k":"s","d":[],"c":[["o",{"w":"absolute","s":"olute","e":true,"k":"o","d":[112,1043,1048,1304],"c":[]}],["e",{"w":"absent","s":"ent","e":true,"k":"e","d":[696],"c":[]}],["t",{"w":"abstract","s":"tract","e":true,"k":"t","d":[1629],"c":[["i",{"w":"abstraction","s":"ion","e":true,"k":"i","d":[1372,1915],"c":[["s",{"w":"abstractions","s":"s","e":true,"k":"s","d":[1804],"c":[]}]]}],["s",{"w":"abstracts","s":"s","e":true,"k":"s","d":[1706],"c":[]}]]}]]}],["i",{"w":"ability","s":"ility","e":true,"k":"i","d":[672,755,1914],"c":[]}],["a",{"w":"abandoning","s":"andoning","e":true,"k":"a","d":[1885],"c":[]}]]}],["f",{"w":"af","s":"f","e":false,"k":"f","d":[],"c":[["t",{"w":"after","s":"ter","e":true,"k":"t","d":[29,157,211,248,255,257,263,267,269,279,288,357,452,666,690,710,729,730,880,893,916,929,933,987,991,1265,1271,1387,1393,1405,1407,1445,1501,1540,1541,1797,1866,1869,1870,1885,1886,1887,1888,1890,1926,1964,1976,2059,2076,2087,2180],"c":[]}],["f",{"w":"affect","s":"fect","e":true,"k":"f","d":[47,183,229,231,252,1317],"c":[["s",{"w":"affects","s":"s","e":true,"k":"s","d":[398],"c":[]}],["i",{"w":"affecting","s":"ing","e":true,"k":"i","d":[866],"c":[]}]]}]]}],["h",{"w":"ahead","s":"head","e":true,"k":"h","d":[29,930],"c":[]}],["t",{"w":"at","s":"t","e":true,"k":"t","d":[57,65,191,193,196,241,242,255,279,289,311,337,341,402,408,409,410,419,448,451,452,509,582,585,594,600,610,633,644,647,649,655,690,691,707,718,725,729,733,870,904,909,922,930,936,937,938,1042,1050,1069,1088,1100,1215,1287,1289,1316,1321,1323,1329,1355,1358,1370,1382,1384,1387,1388,1401,1403,1404,1423,1434,1436,1443,1454,1472,1479,1500,1507,1656,1668,1676,1694,1700,1703,1709,1710,1724,1735,1743,1760,1800,1805,1807,1809,1820,1822,1833,1844,1846,1860,1862,1867,1876,1881,1903,1907,1912,1920,1939,1974],"c":[["t",{"w":"att","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"atte","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"attention","s":"ntion","e":true,"k":"n","d":[74],"c":[]}],["m",{"w":"attempt","s":"mpt","e":true,"k":"m","d":[178,180,197,305,653,666,1324,1401,1474],"c":[["i",{"w":"attempting","s":"ing","e":true,"k":"i","d":[306],"c":[]}],["s",{"w":"attempts","s":"s","e":true,"k":"s","d":[333,337,1405],"c":[]}]]}]]}],["a",{"w":"attac","s":"ac","e":false,"k":"a","d":[],"c":[["k",{"w":"attacks","s":"ks","e":true,"k":"k","d":[195,196],"c":[]}],["h",{"w":"attach","s":"h","e":true,"k":"h","d":[864,884],"c":[["e",{"w":"attached","s":"ed","e":true,"k":"e","d":[942,952],"c":[]}]]}]]}],["r",{"w":"attribute","s":"ribute","e":true,"k":"r","d":[520],"c":[["s",{"w":"attributes","s":"s","e":true,"k":"s","d":[771,774,787],"c":[]}]]}]]}],["o",{"w":"atomic","s":"omic","e":true,"k":"o","d":[298,1831,1849,1850,1862,1911],"c":[["i",{"w":"atomicity","s":"ity","e":true,"k":"i","d":[1278,1281,1815],"c":[]}],["a",{"w":"atomically","s":"ally","e":true,"k":"a","d":[1316,1809,1875,1907],"c":[]}]]}],["c",{"w":"atc","s":"c","e":true,"k":"c","d":[637],"c":[]}],["l",{"w":"atlas","s":"las","e":true,"k":"l","d":[1582,1651,1652,1778],"c":[]}]]}],["m",{"w":"am","s":"m","e":false,"k":"m","d":[],"c":[["o",{"w":"amo","s":"o","e":false,"k":"o","d":[],"c":[["n",{"w":"among","s":"ng","e":true,"k":"n","d":[123,1631,1724,1741,1885],"c":[]}],["u",{"w":"amount","s":"unt","e":true,"k":"u","d":[230,287,288,296,409,539,1349,1520],"c":[["s",{"w":"amounts","s":"s","e":true,"k":"s","d":[1670],"c":[]}]]}]]}],["a",{"w":"amazon","s":"azon","e":true,"k":"a","d":[1727],"c":[]}]]}],["g",{"w":"ag","s":"g","e":false,"k":"g","d":[],"c":[["g",{"w":"aggregat","s":"gregat","e":false,"k":"g","d":[],"c":[["e",{"w":"aggregated","s":"ed","e":true,"k":"e","d":[135,136],"c":[]}],["i",{"w":"aggregating","s":"ing","e":true,"k":"i","d":[1670],"c":[]}]]}],["a",{"w":"again","s":"ain","e":true,"k":"a","d":[157,286,696,1387,1423,1424,1433,1454,1483,1503,1845],"c":[["s",{"w":"against","s":"st","e":true,"k":"s","d":[332,448,1154,1157,1174,1254,1258,1261,1365,1369,1420],"c":[]}]]}],["e",{"w":"age","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"agent","s":"nt","e":true,"k":"n","d":[762,1671],"c":[["s",{"w":"agents","s":"s","e":true,"k":"s","d":[1707],"c":[]}]]}],["t",{"w":"ageto","s":"to","e":true,"k":"t","d":[1607,1720],"c":[]}]]}],["r",{"w":"agree","s":"ree","e":true,"k":"r","d":[1542,1830,1976],"c":[["m",{"w":"agreement","s":"ment","e":true,"k":"m","d":[870,871,1829,1830,1874],"c":[]}],["d",{"w":"agreed","s":"d","e":true,"k":"d","d":[1700,1874,1875],"c":[]}]]}],["_",{"w":"ag_install","s":"_install","e":true,"k":"_","d":[1772],"c":[]}]]}],["i",{"w":"ai","s":"i","e":false,"k":"i","d":[],"c":[["m",{"w":"aimed","s":"med","e":true,"k":"m","d":[409,1939],"c":[]}],["x",{"w":"aix","s":"x","e":true,"k":"x","d":[2169],"c":[]}]]}],["k",{"w":"akka","s":"kka","e":true,"k":"k","d":[1566,1628],"c":[]}]]}],["o",{"w":"o","s":"o","e":true,"k":"o","d":[18,213,408,411,727,1545],"c":[["p",{"w":"op","s":"p","e":true,"k":"p","d":[247,2152],"c":[["e",{"w":"ope","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"operat","s":"rat","e":false,"k":"r","d":[],"c":[["i",{"w":"operati","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"operation","s":"on","e":true,"k":"o","d":[61,70,72,113,116,130,135,136,537,634,687,706,843,844,852,864,870,1026,1104,1142,1145,1191,1196,1198,1365,1377,1382,1398,1399,1405,1416,1417,1434,1885,1889,1908,1909,1911,1912,1933,1954,2051],"c":[["a",{"w":"operational","s":"al","e":true,"k":"a","d":[2,1650],"c":[]}],["s",{"w":"operations","s":"s","e":true,"k":"s","d":[305,341,525,537,604,634,694,706,710,771,774,777,780,787,790,793,795,834,848,853,862,1154,1192,1257,1258,1261,1279,1317,1355,1365,1384,1400,1432,1549,1660,1686,1783,1804,1819,1832,1907,1908,1955],"c":[]}]]}],["n",{"w":"operating","s":"ng","e":true,"k":"n","d":[48,308,309,477,478,508,674,1317,1390,1760,1898],"c":[]}]]}],["o",{"w":"operator","s":"or","e":true,"k":"o","d":[13],"c":[["s",{"w":"operators","s":"s","e":true,"k":"s","d":[541,633],"c":[]}]]}],["e",{"w":"operate","s":"e","e":true,"k":"e","d":[49,531,983],"c":[["d",{"w":"operated","s":"d","e":true,"k":"d","d":[1376,1378],"c":[]}],["s",{"w":"operates","s":"s","e":true,"k":"s","d":[1897],"c":[]}]]}]]}],["n",{"w":"open","s":"n","e":true,"k":"n","d":[830,1191,1655,1666,1682,1704,1714,1718],"c":[["i",{"w":"opening","s":"ing","e":true,"k":"i","d":[299],"c":[]}],["s",{"w":"opens","s":"s","e":true,"k":"s","d":[397,1976],"c":[["s",{"w":"openssl","s":"sl","e":true,"k":"s","d":[364,2168],"c":[]}]]}],["-",{"w":"open-source","s":"-source","e":true,"k":"-","d":[1684,1710,1797],"c":[]}],["e",{"w":"opened","s":"ed","e":true,"k":"e","d":[2123],"c":[]}]]}]]}],["t",{"w":"opt","s":"t","e":false,"k":"t","d":[],"c":[["i",{"w":"opti","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"option","s":"on","e":true,"k":"o","d":[105,144,186,289,305,307,308,309,336,354,387,389,390,402,639,653,677,755,965,966,1227,1419,1432],"c":[["s",{"w":"options","s":"s","e":true,"k":"s","d":[19,20,30,102,161,164,165,167,168,171,282,308,309,314,358,364,386,418,421,426,428,430,543,689,708,1040,1245,1246],"c":[]}],["a",{"w":"optional","s":"al","e":true,"k":"a","d":[129,143,185,197,204,216,217,218,219,220,221,222,313,405,476,644,645,1213,1384],"c":[["l",{"w":"optionally","s":"ly","e":true,"k":"l","d":[405,1323,1443,2093],"c":[]}]]}]]}],["m",{"w":"optim","s":"m","e":false,"k":"m","d":[],"c":[["i",{"w":"optimi","s":"i","e":false,"k":"i","d":[],"c":[["z",{"w":"optimiz","s":"z","e":false,"k":"z","d":[],"c":[["e",{"w":"optimize","s":"e","e":true,"k":"e","d":[208],"c":[["d",{"w":"optimized","s":"d","e":true,"k":"d","d":[1653],"c":[]}]]}],["a",{"w":"optimization","s":"ation","e":true,"k":"a","d":[1246],"c":[["s",{"w":"optimizations","s":"s","e":true,"k":"s","d":[1938],"c":[]}]]}],["i",{"w":"optimizing","s":"ing","e":true,"k":"i","d":[1939],"c":[]}]]}],["s",{"w":"optimistic","s":"stic","e":true,"k":"s","d":[603],"c":[]}]]}],["a",{"w":"optimal","s":"al","e":true,"k":"a","d":[396,1349],"c":[["l",{"w":"optimally","s":"ly","e":true,"k":"l","d":[1347],"c":[]}]]}]]}]]}],["-",{"w":"opt-in","s":"-in","e":true,"k":"-","d":[335,338],"c":[]}]]}],["s",{"w":"ops","s":"s","e":true,"k":"s","d":[1766],"c":[]}],["2",{"w":"op2string","s":"2string","e":true,"k":"2","d":[2152],"c":[]}],["n",{"w":"opnames","s":"names","e":true,"k":"n","d":[2154],"c":[]}]]}],["n",{"w":"on","s":"n","e":true,"k":"n","d":[14,15,16,17,20,29,47,58,61,65,69,70,72,78,102,113,115,116,125,130,132,135,136,143,146,150,152,156,157,158,159,179,183,188,194,195,196,197,201,202,205,214,215,227,239,240,243,245,249,259,274,289,291,292,293,305,308,309,312,313,317,333,337,349,364,365,366,373,379,380,381,385,389,390,393,398,399,402,403,406,407,409,432,433,442,447,452,454,471,472,474,477,509,513,515,524,526,528,529,538,539,584,601,602,604,639,640,647,656,659,662,681,687,698,718,729,733,747,751,753,754,777,780,787,790,793,795,833,879,880,881,942,943,953,957,966,972,973,974,975,983,985,1023,1055,1063,1064,1095,1097,1100,1103,1132,1133,1134,1142,1143,1145,1148,1165,1167,1169,1191,1214,1218,1228,1229,1235,1251,1262,1284,1286,1289,1315,1317,1329,1348,1349,1355,1371,1376,1378,1384,1399,1401,1402,1407,1411,1416,1424,1434,1437,1443,1445,1473,1476,1480,1485,1495,1497,1500,1501,1502,1503,1512,1514,1521,1527,1528,1531,1532,1538,1540,1549,1554,1558,1560,1561,1627,1628,1629,1643,1670,1673,1676,1677,1681,1685,1686,1699,1700,1704,1714,1727,1760,1800,1805,1811,1812,1830,1834,1847,1868,1871,1881,1904,1915,1916,1950,1952,1978,1979,1980,1982,2019,2026,2126,2139,2141,2171,2178,2183],"c":[["g",{"w":"ongoing","s":"going","e":true,"k":"g","d":[4],"c":[]}],["c",{"w":"once","s":"ce","e":true,"k":"c","d":[18,125,129,159,311,408,445,659,696,706,707,709,750,904,908,980,1091,1092,1100,1218,1283,1382,1398,1405,1410,1455,1484,1543,1546,1817,1845,1870,1888,1896,1911,1943,1956],"c":[]}],["e",{"w":"one","s":"e","e":true,"k":"e","d":[19,21,46,47,48,114,138,148,190,210,216,217,218,219,220,221,222,248,252,253,286,304,307,317,325,341,357,410,413,414,513,520,535,644,649,668,690,691,694,729,730,748,883,950,970,1088,1097,1098,1100,1102,1103,1104,1105,1124,1130,1133,1200,1215,1237,1289,1327,1348,1349,1371,1382,1386,1387,1398,1401,1403,1404,1433,1436,1453,1454,1473,1475,1518,1543,1545,1700,1707,1717,1811,1819,1829,1834,1864,1865,1876,1877,1903,1911,1912,1913,1941,1971,1972],"c":[["s",{"w":"ones","s":"s","e":true,"k":"s","d":[1027,1405],"c":[]}],["-",{"w":"one-time","s":"-time","e":true,"k":"-","d":[1426,1432,1433,1444],"c":[]}]]}],["l",{"w":"onl","s":"l","e":false,"k":"l","d":[],"c":[["y",{"w":"only","s":"y","e":true,"k":"y","d":[47,48,74,149,194,200,206,207,208,209,210,211,212,213,223,224,225,226,238,240,243,252,263,268,285,299,301,306,309,310,313,317,329,332,333,337,341,353,373,377,384,389,398,399,400,405,410,411,412,413,414,415,416,417,419,420,427,452,472,504,505,510,521,522,530,644,650,659,666,673,681,687,690,698,706,710,718,729,730,747,781,833,848,850,861,871,879,883,905,950,967,970,1030,1044,1072,1133,1155,1166,1172,1213,1240,1251,1284,1304,1328,1348,1371,1387,1397,1405,1411,1416,1420,1444,1455,1493,1500,1502,1506,1518,1537,1544,1546,1700,1731,1819,1869,1877,1881,1885,1891,1903,1904,1911,1912,1967,1971,2122,2174],"c":[]}],["i",{"w":"online","s":"ine","e":true,"k":"i","d":[357,1670],"c":[]}]]}],["t",{"w":"onto","s":"to","e":true,"k":"t","d":[1317,1692],"c":[]}]]}],["f",{"w":"of","s":"f","e":true,"k":"f","d":[11,12,13,15,16,17,18,21,22,25,29,38,46,47,48,50,57,58,61,65,70,71,72,73,74,76,77,78,91,93,100,101,102,113,116,118,119,121,122,123,127,128,129,130,131,132,135,136,138,140,143,144,148,150,154,174,176,181,184,185,189,190,191,192,193,194,195,196,201,202,205,206,214,215,216,217,218,219,220,221,222,224,225,226,227,229,230,231,233,239,241,242,245,252,255,256,263,266,269,270,272,279,282,283,285,286,287,288,289,292,296,297,298,305,306,310,317,327,328,330,331,332,337,341,345,348,350,355,357,371,372,373,384,386,387,389,392,393,398,399,402,405,406,408,409,410,411,412,413,414,415,416,419,445,446,448,449,450,451,452,454,472,477,509,510,512,513,514,515,517,520,521,524,526,527,528,529,530,532,533,535,536,537,539,541,583,587,591,605,606,621,633,634,635,636,637,643,644,646,647,648,659,665,669,670,671,673,674,675,679,684,687,688,689,690,691,695,697,699,705,706,709,710,712,713,717,719,723,728,729,731,732,746,747,748,749,754,755,762,765,771,774,777,780,787,793,840,846,848,850,852,855,866,870,871,872,874,876,878,879,880,882,883,884,889,897,902,903,904,905,906,907,908,909,910,912,913,914,917,921,930,943,957,963,964,965,966,969,970,980,982,989,1022,1032,1043,1048,1063,1072,1077,1088,1089,1090,1091,1092,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1123,1124,1125,1130,1131,1133,1134,1138,1139,1140,1142,1143,1144,1146,1148,1154,1156,1157,1164,1166,1167,1168,1169,1174,1175,1182,1186,1191,1196,1201,1203,1212,1213,1216,1217,1219,1222,1223,1224,1226,1234,1235,1237,1238,1245,1254,1256,1263,1265,1279,1282,1286,1289,1291,1305,1309,1311,1313,1317,1318,1319,1320,1321,1322,1326,1327,1328,1330,1331,1332,1333,1336,1337,1338,1339,1340,1341,1345,1346,1347,1348,1349,1351,1353,1355,1356,1358,1361,1364,1365,1366,1367,1368,1369,1370,1373,1378,1382,1383,1384,1385,1386,1387,1388,1395,1396,1397,1398,1401,1402,1403,1404,1405,1407,1411,1416,1417,1418,1420,1424,1427,1432,1435,1436,1438,1452,1453,1461,1472,1473,1474,1475,1476,1477,1478,1479,1484,1500,1502,1505,1506,1509,1511,1518,1520,1521,1526,1537,1540,1541,1544,1545,1546,1548,1549,1551,1553,1555,1556,1560,1563,1627,1629,1631,1636,1644,1647,1650,1651,1652,1655,1660,1670,1675,1676,1677,1678,1680,1686,1688,1695,1700,1701,1703,1710,1715,1718,1720,1724,1730,1731,1735,1740,1741,1742,1743,1760,1797,1798,1799,1800,1801,1802,1804,1805,1806,1808,1810,1811,1813,1816,1818,1819,1825,1827,1829,1830,1831,1833,1834,1838,1839,1840,1841,1842,1843,1844,1846,1849,1861,1862,1866,1867,1868,1871,1872,1873,1874,1875,1876,1877,1878,1879,1881,1882,1883,1884,1885,1886,1887,1888,1889,1892,1896,1901,1903,1904,1905,1906,1909,1910,1911,1912,1913,1914,1915,1917,1920,1941,1942,1945,1947,1950,1957,1968,1970,1971,1973,1974,1975,1976,1978,1979,1980,1981,2026,2031,2036,2055,2078,2091,2098,2113,2142,2149,2166,2186,2188],"c":[["t",{"w":"often","s":"ten","e":true,"k":"t","d":[47,190,830,1731,2095],"c":[]}],["f",{"w":"off","s":"f","e":true,"k":"f","d":[143,194,201,202,213,267,402,530,880,1139,1140,1227,1382],"c":[["i",{"w":"official","s":"icial","e":true,"k":"i","d":[148,820,1783],"c":[["l",{"w":"officially","s":"ly","e":true,"k":"l","d":[689,692],"c":[]}]]}],["l",{"w":"offline","s":"line","e":true,"k":"l","d":[659,1030,1979],"c":[]}],["e",{"w":"offering","s":"ering","e":true,"k":"e","d":[1676],"c":[]}]]}]]}],["c",{"w":"oc","s":"c","e":false,"k":"c","d":[],"c":[["c",{"w":"occ","s":"c","e":false,"k":"c","d":[],"c":[["a",{"w":"occasionally","s":"asionally","e":true,"k":"a","d":[12],"c":[]}],["u",{"w":"occur","s":"ur","e":true,"k":"u","d":[922,950,1289,1909],"c":[["s",{"w":"occurs","s":"s","e":true,"k":"s","d":[18,20,317,700,953,1322,1382,1396,1401,1432,1436,1521,2057],"c":[]}],["r",{"w":"occurr","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"occurring","s":"ing","e":true,"k":"i","d":[448],"c":[]}],["e",{"w":"occurred","s":"ed","e":true,"k":"e","d":[448,706],"c":[]}]]}]]}]]}],["s",{"w":"ocsp","s":"sp","e":true,"k":"s","d":[357,2028,2063],"c":[]}],["t",{"w":"oct","s":"t","e":true,"k":"t","d":[1760],"c":[]}]]}],["l",{"w":"ol","s":"l","e":false,"k":"l","d":[],"c":[["d",{"w":"old","s":"d","e":true,"k":"d","d":[12,13,246,247,252,253,254,255,263,278,279,280,295,327,372,663,704,706,755,1020,1237,1289,1401,1405,1717,1904,2087],"c":[["e",{"w":"olde","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"older","s":"r","e":true,"k":"r","d":[295,451,1279,1282,1816],"c":[]}],["s",{"w":"oldest","s":"st","e":true,"k":"s","d":[1103],"c":[]}]]}]]}],["a",{"w":"olap","s":"ap","e":true,"k":"a","d":[1704],"c":[]}]]}],["t",{"w":"other","s":"ther","e":true,"k":"t","d":[19,25,29,48,123,194,270,272,305,320,384,472,508,513,520,533,537,538,633,634,668,687,690,692,725,729,730,871,872,877,905,907,909,913,936,943,967,1091,1130,1133,1134,1143,1154,1215,1237,1240,1251,1278,1289,1349,1352,1356,1412,1423,1434,1444,1450,1475,1500,1501,1502,1543,1549,1627,1639,1641,1654,1658,1678,1683,1696,1706,1709,1712,1723,1799,1802,1834,1896,1903,1912,1938,1976,1981],"c":[["s",{"w":"others","s":"s","e":true,"k":"s","d":[15,532,703,1317,1717],"c":[]}],["w",{"w":"otherwise","s":"wise","e":true,"k":"w","d":[65,148,181,308,356,357,390,405,581,597,710,912,968,1169,1235,1271,1371,1402,1424,1515,1531,1534,1535,1558,1681,1887,1947],"c":[]}]]}],["r",{"w":"or","s":"r","e":true,"k":"r","d":[19,26,48,53,57,75,78,100,143,194,197,201,202,207,210,225,232,235,241,242,259,263,285,286,304,305,308,310,313,317,333,337,345,348,349,352,354,357,373,379,385,389,392,399,413,419,434,443,471,508,509,516,526,530,537,597,600,645,649,653,659,668,671,672,673,675,687,688,690,692,695,697,706,709,713,722,729,733,751,762,765,824,830,852,855,872,882,906,911,952,955,970,977,980,986,987,1030,1046,1050,1060,1063,1064,1068,1069,1090,1120,1133,1135,1136,1146,1165,1168,1172,1182,1194,1198,1212,1216,1218,1234,1235,1237,1240,1243,1251,1271,1281,1284,1285,1286,1306,1309,1311,1313,1317,1323,1329,1365,1366,1367,1370,1376,1377,1382,1383,1384,1387,1396,1398,1402,1405,1426,1433,1434,1447,1455,1474,1475,1476,1519,1537,1542,1543,1625,1626,1627,1628,1655,1681,1702,1706,1707,1815,1868,1885,1886,1904,1914,1950,1974,2038,2039,2089,2118],"c":[["g",{"w":"org","s":"g","e":true,"k":"g","d":[34,144,207,265,317,331,368,712,717,748,753,829,861,1212,1229,1625,1626,1744,1746,1747,1748,1749,1750,1751,1753,1754,1755,1756,1757,1764,1765,1766,1767,1768,1770,1772,1774,1778,1779,1780,2019,2038],"c":[["a",{"w":"organiz","s":"aniz","e":false,"k":"a","d":[],"c":[["a",{"w":"organizations","s":"ations","e":true,"k":"a","d":[1563,1624],"c":[]}],["e",{"w":"organized","s":"ed","e":true,"k":"e","d":[1799],"c":[]}]]}]]}],["d",{"w":"ord","s":"d","e":false,"k":"d","d":[],"c":[["e",{"w":"order","s":"er","e":true,"k":"e","d":[78,100,191,193,228,269,270,328,373,375,393,399,405,539,970,1103,1105,1168,1215,1217,1235,1237,1252,1280,1286,1403,1416,1434,1450,1452,1472,1473,1700,1709,1724,1804,1814,1832,1865,1866,1869,1876,1877,1887,1898,1899,1900,1901,1902,1903,1908,1917,1976,2035,2189],"c":[["e",{"w":"ordered","s":"ed","e":true,"k":"e","d":[48,1349,1450,1800,1804,1866,1869,1907,1910],"c":[]}],["i",{"w":"ordering","s":"ing","e":true,"k":"i","d":[379,380,381,1326,1434,1473,1800,1876,1881,1905,1907],"c":[]}]]}],["i",{"w":"ordinary","s":"inary","e":true,"k":"i","d":[877],"c":[]}]]}],["i",{"w":"original","s":"iginal","e":true,"k":"i","d":[102,248,328,402,662,1023,1025,1704],"c":[["l",{"w":"originally","s":"ly","e":true,"k":"l","d":[1710],"c":[]}]]}],["s",{"w":"orst","s":"st","e":true,"k":"s","d":[124],"c":[]}],["t",{"w":"orthogonal","s":"thogonal","e":true,"k":"t","d":[676],"c":[]}],["a",{"w":"oracle","s":"acle","e":true,"k":"a","d":[886,888,889,891,893,894,900,905,906,907,908,909,910,911,912,914,915,917,919,920,924,928,930,932,934,936,937,938,942,943,944,946,947,948,950,953,954,955,956],"c":[["'",{"w":"oracle's","s":"'s","e":true,"k":"'","d":[906],"c":[]}],["p",{"w":"oraclepath","s":"path","e":true,"k":"p","d":[909,913],"c":[]}]]}],["c",{"w":"orchestration","s":"chestration","e":true,"k":"c","d":[1633],"c":[]}]]}],["u",{"w":"ou","s":"u","e":false,"k":"u","d":[],"c":[["t",{"w":"out","s":"t","e":true,"k":"t","d":[129,189,194,392,635,729,854,870,934,986,1148,1164,1168,1198,1346,1401,1461,1896,1939,1973,2063,2144],"c":[["o",{"w":"outofmemoryerror","s":"ofmemoryerror","e":true,"k":"o","d":[20],"c":[]}],["s",{"w":"outs","s":"s","e":false,"k":"s","d":[],"c":[["t",{"w":"outstanding","s":"tanding","e":true,"k":"t","d":[63,189,233,1346,1456],"c":[["h",{"w":"outstandinghandshake","s":"handshake","e":true,"k":"h","d":[268],"c":[]}]]}],["i",{"w":"outside","s":"ide","e":true,"k":"i","d":[452,1356,2078],"c":[]}]]}],["p",{"w":"output","s":"put","e":true,"k":"p","d":[74,200,543,679,1038,1125,1276,1923,2037],"c":[["s",{"w":"outputs","s":"s","e":true,"k":"s","d":[70,72,73,681,1271],"c":[]}],["t",{"w":"outputting","s":"ting","e":true,"k":"t","d":[1030],"c":[]}]]}],["-",{"w":"out-of-","s":"-of-","e":false,"k":"-","d":[],"c":[["d",{"w":"out-of-date","s":"date","e":true,"k":"d","d":[683],"c":[]}],["r",{"w":"out-of-range","s":"range","e":true,"k":"r","d":[1047],"c":[]}]]}],["c",{"w":"outcome","s":"come","e":true,"k":"c","d":[852,1424],"c":[]}],["l",{"w":"outlined","s":"lined","e":true,"k":"l","d":[1241,1951],"c":[]}],["a",{"w":"outage","s":"age","e":true,"k":"a","d":[1286],"c":[["s",{"w":"outages","s":"s","e":true,"k":"s","d":[1867],"c":[]}]]}],["n",{"w":"outnumber","s":"number","e":true,"k":"n","d":[1833],"c":[["i",{"w":"outnumbering","s":"ing","e":true,"k":"i","d":[1833],"c":[]}]]}]]}],["r",{"w":"our","s":"r","e":true,"k":"r","d":[250,385,1730,1844,1845,1867,1868,1876,1877,1881,1905,1912],"c":[]}]]}],["k",{"w":"ok","s":"k","e":true,"k":"k","d":[513],"c":[["a",{"w":"okay","s":"ay","e":true,"k":"a","d":[46],"c":[]}]]}],["v",{"w":"over","s":"ver","e":true,"k":"v","d":[74,143,176,314,317,328,344,347,452,672,673,872,924,1070,1091,1237,1282,1317,1655,1660,1668,1801,1816,1844,1896,1908],"c":[["r",{"w":"overr","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"overrid","s":"id","e":false,"k":"i","d":[],"c":[["e",{"w":"override","s":"e","e":true,"k":"e","d":[105,861,906],"c":[["s",{"w":"overrides","s":"s","e":true,"k":"s","d":[1701],"c":[]}]]}],["i",{"w":"overriding","s":"ing","e":true,"k":"i","d":[913],"c":[]}],["d",{"w":"overridden","s":"den","e":true,"k":"d","d":[1311],"c":[]}]]}],["u",{"w":"overrule","s":"ule","e":false,"k":"u","d":[],"c":[["s",{"w":"overrules","s":"s","e":true,"k":"s","d":[336],"c":[]}],["d",{"w":"overruled","s":"d","e":true,"k":"d","d":[340],"c":[]}]]}]]}],["-",{"w":"over-loaded","s":"-loaded","e":true,"k":"-","d":[125,129],"c":[]}],["v",{"w":"overview","s":"view","e":true,"k":"v","d":[128,752,1782],"c":[]}],["h",{"w":"overhead","s":"head","e":true,"k":"h","d":[208,674,1063],"c":[]}],["c",{"w":"overcome","s":"come","e":true,"k":"c","d":[310],"c":[]}],["w",{"w":"overw","s":"w","e":false,"k":"w","d":[],"c":[["r",{"w":"overwrit","s":"rit","e":false,"k":"r","d":[],"c":[["e",{"w":"overwrite","s":"e","e":true,"k":"e","d":[659],"c":[["s",{"w":"overwrites","s":"s","e":true,"k":"s","d":[427,1283,1817],"c":[]}]]}],["i",{"w":"overwriting","s":"ing","e":true,"k":"i","d":[729],"c":[]}],["t",{"w":"overwritten","s":"ten","e":true,"k":"t","d":[991],"c":[]}]]}],["h",{"w":"overwhelming","s":"helming","e":true,"k":"h","d":[1732],"c":[]}]]}],["a",{"w":"overall","s":"all","e":true,"k":"a","d":[880,1473,1650,1910],"c":[]}],["l",{"w":"overlo","s":"lo","e":false,"k":"l","d":[],"c":[["a",{"w":"overloaded","s":"aded","e":true,"k":"a","d":[984],"c":[]}],["r",{"w":"overlord","s":"rd","e":true,"k":"r","d":[1664,1665],"c":[]}]]}],["f",{"w":"overflow","s":"flow","e":true,"k":"f","d":[1320,2050],"c":[]}]]}],["b",{"w":"ob","s":"b","e":false,"k":"b","d":[],"c":[["j",{"w":"object","s":"ject","e":true,"k":"j","d":[758,762,765,780,783,787,793,1090,1093,1102,1131,1132,1133,1134,1137,1140,1142,1143,1214,1218,1269,1317,1387,1455],"c":[["s",{"w":"objects","s":"s","e":true,"k":"s","d":[113,114,1102,1133,2101],"c":[]}]]}],["s",{"w":"obs","s":"s","e":true,"k":"s","d":[1100],"c":[["e",{"w":"observ","s":"erv","e":false,"k":"e","d":[],"c":[["e",{"w":"observe","s":"e","e":true,"k":"e","d":[956],"c":[["r",{"w":"observer","s":"r","e":true,"k":"r","d":[124,132,180,205,311,312,385,419,634,645,687,692,697,702,709,731,868,871,872,874,875,876,877,878,880,884,2053,2083],"c":[["_",{"w":"observer_connection_stat_reset","s":"_connection_stat_reset","e":true,"k":"_","d":[124],"c":[]}],["s",{"w":"observers","s":"s","e":true,"k":"s","d":[124,132,180,205,304,385,690,694,709,865,866,867,871,872,873,879,880,881,882,883,884,1420],"c":[]}],["m",{"w":"observermaster","s":"master","e":true,"k":"m","d":[385,881],"c":[["p",{"w":"observermasterport","s":"port","e":true,"k":"p","d":[180],"c":[]}]]}],["'",{"w":"observer's","s":"'s","e":true,"k":"'","d":[312,385],"c":[]}],["z",{"w":"observerzookeeperserver","s":"zookeeperserver","e":true,"k":"z","d":[1418],"c":[]}]]}],["d",{"w":"observed","s":"d","e":true,"k":"d","d":[1898],"c":[]}]]}],["a",{"w":"observa","s":"a","e":false,"k":"a","d":[],"c":[["b",{"w":"observability","s":"bility","e":true,"k":"b","d":[172],"c":[]}],["t",{"w":"observations","s":"tions","e":true,"k":"t","d":[1845],"c":[]}]]}]]}],["r",{"w":"obsr","s":"r","e":true,"k":"r","d":[132],"c":[]}]]}],["v",{"w":"obvious","s":"vious","e":true,"k":"v","d":[508],"c":[]}],["t",{"w":"obtain","s":"tain","e":true,"k":"t","d":[1510,1540,1549,1877,1912],"c":[["s",{"w":"obtains","s":"s","e":true,"k":"s","d":[1104],"c":[]}],["e",{"w":"obtained","s":"ed","e":true,"k":"e","d":[1503,1506],"c":[]}],["i",{"w":"obtaining","s":"ing","e":true,"k":"i","d":[1523,1524],"c":[]}]]}]]}],["w",{"w":"ow","s":"w","e":false,"k":"w","d":[],"c":[["n",{"w":"own","s":"n","e":true,"k":"n","d":[117,123,133,729,912,953,1210,1369,1547,1630,1713,1827,1877,1979],"c":[["e",{"w":"owne","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"owned","s":"d","e":true,"k":"d","d":[862,1388],"c":[]}],["r",{"w":"owner","s":"r","e":true,"k":"r","d":[1154,1167,1339,1502,2151],"c":[["s",{"w":"ownership","s":"ship","e":true,"k":"s","d":[1713,1832],"c":[]}]]}]]}],["s",{"w":"owns","s":"s","e":true,"k":"s","d":[1133],"c":[]}]]}],["a",{"w":"owasp","s":"asp","e":true,"k":"a","d":[2024,2065,2143,2171,2172],"c":[]}]]}],["m",{"w":"omit","s":"mit","e":true,"k":"m","d":[644],"c":[["t",{"w":"omitt","s":"t","e":false,"k":"t","d":[],"c":[["i",{"w":"omitting","s":"ing","e":true,"k":"i","d":[179,1016],"c":[]}],["e",{"w":"omitted","s":"ed","e":true,"k":"e","d":[644],"c":[]}]]}]]}],["o",{"w":"oo","s":"o","e":false,"k":"o","d":[],"c":[["m",{"w":"oom","s":"m","e":true,"k":"m","d":[212,239],"c":[]}],["z",{"w":"oozie","s":"zie","e":true,"k":"z","d":[1601,1708,1709,1772],"c":[]}]]}],["s",{"w":"os","s":"s","e":true,"k":"s","d":[308,309,503,863,1349,1834],"c":[["g",{"w":"osgi","s":"gi","e":true,"k":"g","d":[1629,1630,1656],"c":[]}],["c",{"w":"osc","s":"c","e":true,"k":"c","d":[1910],"c":[]}]]}],["d",{"w":"odd","s":"dd","e":true,"k":"d","d":[510,512,533,535,1971],"c":[]}],["1",{"w":"o1","s":"1","e":true,"k":"1","d":[943],"c":[]}],["2",{"w":"o2","s":"2","e":true,"k":"2","d":[943],"c":[]}]]}],["g",{"w":"g","s":"g","e":true,"k":"g","d":[102,112,313,330,369,370,371,399,406,454,674,850,986,1061,1094,1095,1273,1383,1415,1871,1909,1913],"c":[["u",{"w":"gu","s":"u","e":false,"k":"u","d":[],"c":[["i",{"w":"guid","s":"id","e":true,"k":"i","d":[1467,1511,1521,1538,1561],"c":[["a",{"w":"guidance","s":"ance","e":true,"k":"a","d":[2],"c":[]}],["e",{"w":"guide","s":"e","e":true,"k":"e","d":[315,512,527,528,539,540,541,543,747,831,832,958,976,1148,1219,1257,1324,1350,1351,1353,1459,1755,1756,1915,1939,1940,1950,1967,2064],"c":[["l",{"w":"guidelines","s":"lines","e":true,"k":"l","d":[1458,1472,1859],"c":[]}]]}],["-",{"w":"guid-","s":"-","e":true,"k":"-","d":[1525,1526],"c":[["l",{"w":"guid-lock-","s":"lock-","e":true,"k":"l","d":[1511],"c":[]}],["n",{"w":"guid-n_","s":"n_","e":true,"k":"n","d":[1548,1552],"c":[["j",{"w":"guid-n_j","s":"j","e":true,"k":"j","d":[1554,1558],"c":[]}]]}]]}]]}],["a",{"w":"guar","s":"ar","e":false,"k":"a","d":[],"c":[["d",{"w":"guarded","s":"ded","e":true,"k":"d","d":[385],"c":[]}],["a",{"w":"guarantee","s":"antee","e":true,"k":"a","d":[408,1283,1284,1289,1434,1831,1908,1909,1911,1912],"c":[["s",{"w":"guarantees","s":"s","e":true,"k":"s","d":[537,683,706,729,730,1277,1278,1279,1287,1426,1430,1444,1449,1790,1813,1849,1851,1856,1863,1871,1876,1877,1906,1910,1912],"c":[]}],["d",{"w":"guaranteed","s":"d","e":true,"k":"d","d":[730,1286,1818],"c":[]}],["i",{"w":"guaranteeing","s":"ing","e":true,"k":"i","d":[1103],"c":[]}]]}]]}],["e",{"w":"guessed","s":"essed","e":true,"k":"e","d":[1137],"c":[]}]]}],["r",{"w":"gr","s":"r","e":false,"k":"r","d":[],"c":[["o",{"w":"gro","s":"o","e":false,"k":"o","d":[],"c":[["w",{"w":"grow","s":"w","e":true,"k":"w","d":[649,651],"c":[["s",{"w":"grows","s":"s","e":true,"k":"s","d":[12,870],"c":[]}]]}],["u",{"w":"group","s":"up","e":true,"k":"u","d":[297,298,655,902,1092,1096,1154,1461,1478,1537,1544,1734,1742,1832,1913,1968],"c":[["s",{"w":"groups","s":"s","e":true,"k":"s","d":[297,298,710,886,902,903,904,1101,1797,1912,1913,1914],"c":[]}]]}]]}],["e",{"w":"great","s":"eat","e":true,"k":"e","d":[537,1639],"c":[["e",{"w":"greater","s":"er","e":true,"k":"e","d":[15,391,509,1243,1548],"c":[]}],["l",{"w":"greatly","s":"ly","e":true,"k":"l","d":[1881,1981],"c":[]}]]}],["a",{"w":"gra","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"graceful","s":"ceful","e":true,"k":"c","d":[1627],"c":[["l",{"w":"gracefully","s":"ly","e":true,"k":"l","d":[253,256,1047],"c":[]}]]}],["n",{"w":"grant","s":"nt","e":true,"k":"n","d":[905],"c":[["e",{"w":"granted","s":"ed","e":true,"k":"e","d":[675],"c":[]}],["s",{"w":"grants","s":"s","e":true,"k":"s","d":[1191],"c":[]}]]}],["p",{"w":"graph","s":"ph","e":true,"k":"p","d":[1418,1632,1638,1834,1845],"c":[["s",{"w":"graphs","s":"s","e":true,"k":"s","d":[699,1638],"c":[]}]]}],["f",{"w":"grafana","s":"fana","e":true,"k":"f","d":[795,802,828],"c":[]}],["i",{"w":"grained","s":"ined","e":true,"k":"i","d":[1164],"c":[]}]]}],["i",{"w":"gri","s":"i","e":false,"k":"i","d":[],"c":[["f",{"w":"griffin","s":"ffin","e":true,"k":"f","d":[1591,1675,1779],"c":[]}],["d",{"w":"grid","s":"d","e":true,"k":"d","d":[1634,1635],"c":[]}]]}]]}],["o",{"w":"go","s":"o","e":true,"k":"o","d":[18,29,666,1091,1456,1501,1502,1515,1546,1549,1895,1951],"c":[["o",{"w":"good","s":"od","e":true,"k":"o","d":[29,47,50,183,209,268,316,402,882,1217,1348,1410],"c":[["b",{"w":"goodbye","s":"bye","e":true,"k":"b","d":[2111],"c":[]}]]}],["i",{"w":"going","s":"ing","e":true,"k":"i","d":[102,666,1349,1515,1534,1535,1885],"c":[]}],["v",{"w":"govern","s":"vern","e":false,"k":"v","d":[],"c":[["e",{"w":"governed","s":"ed","e":true,"k":"e","d":[174],"c":[]}],["a",{"w":"governance","s":"ance","e":true,"k":"a","d":[1651],"c":[]}]]}],["t",{"w":"got","s":"t","e":true,"k":"t","d":[1346,2080,2129],"c":[["o",{"w":"goto","s":"o","e":true,"k":"o","d":[286,1499,1533,1534],"c":[]}],["c",{"w":"gotchas","s":"chas","e":true,"k":"c","d":[1342],"c":[]}]]}],["a",{"w":"goal","s":"al","e":true,"k":"a","d":[1402,1644,1813],"c":[["s",{"w":"goals","s":"s","e":true,"k":"s","d":[1785,1819,1867],"c":[]}]]}],["n",{"w":"gone","s":"ne","e":true,"k":"n","d":[1410,1481,1549],"c":[]}],["e",{"w":"goes","s":"es","e":true,"k":"e","d":[1549,1695],"c":[]}],["l",{"w":"goldenorb","s":"ldenorb","e":true,"k":"l","d":[1569],"c":[]}]]}],["e",{"w":"ge","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"gener","s":"ner","e":false,"k":"n","d":[],"c":[["a",{"w":"genera","s":"a","e":false,"k":"a","d":[],"c":[["t",{"w":"generat","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"generate","s":"e","e":true,"k":"e","d":[148,317,404,1101,1173,1245,1251,2066],"c":[["d",{"w":"generated","s":"d","e":true,"k":"d","d":[47,191,193,317,1212,1242],"c":[]}],["s",{"w":"generates","s":"s","e":true,"k":"s","d":[1251,1398],"c":[]}]]}],["i",{"w":"generati","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"generating","s":"ng","e":true,"k":"n","d":[107,1697],"c":[]}],["o",{"w":"generation","s":"on","e":true,"k":"o","d":[1628],"c":[]}]]}]]}],["l",{"w":"general","s":"l","e":true,"k":"l","d":[58,402,626,735,1092,1251,1317,1436,1475],"c":[["l",{"w":"generally","s":"ly","e":true,"k":"l","d":[185,396,861,1401],"c":[]}]]}]]}],["i",{"w":"generic","s":"ic","e":true,"k":"i","d":[330,414,1133,1313,1506],"c":[]}]]}],["t",{"w":"get","s":"t","e":true,"k":"t","d":[194,202,213,224,225,226,256,331,385,391,392,554,585,586,587,588,597,666,671,678,681,746,830,1051,1074,1160,1316,1319,1322,1424,1433,1443,1453,1454,1456,1798,1809,1823,1825,1896,1912,1913,1929,1941,1957,1958,1962,1964,1982,2122,2138],"c":[["s",{"w":"gets","s":"s","e":true,"k":"s","d":[77,448,1100,1146,1148,1284,1289,1385,1401,1803,1879],"c":[["c",{"w":"getscheme","s":"cheme","e":true,"k":"c","d":[1366,1367],"c":[]}],["e",{"w":"getsecureport","s":"ecureport","e":true,"k":"e","d":[2029],"c":[]}]]}],["_",{"w":"get_trace_mask","s":"_trace_mask","e":true,"k":"_","d":[118,127],"c":[]}],["t",{"w":"getting","s":"ting","e":true,"k":"t","d":[512,527,1224,1384,1454,1537,1888],"c":[["-",{"w":"getting-started","s":"-started","e":true,"k":"-","d":[1746],"c":[]}]]}],["a",{"w":"geta","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"getacl","s":"cl","e":true,"k":"c","d":[555],"c":[]}],["l",{"w":"getallchildrennumber","s":"llchildrennumber","e":true,"k":"l","d":[556],"c":[]}],["u",{"w":"getauthinfo","s":"uthinfo","e":true,"k":"u","d":[1367],"c":[]}]]}],["e",{"w":"getephemerals","s":"ephemerals","e":true,"k":"e","d":[557,1296,1318,1319],"c":[]}],["c",{"w":"getc","s":"c","e":false,"k":"c","d":[],"c":[["o",{"w":"getconfig","s":"onfig","e":true,"k":"o","d":[668,682,733],"c":[]}],["h",{"w":"getchildren","s":"hildren","e":true,"k":"h","d":[1098,1100,1105,1432,1435,1438,1440,1442,1446,1489,1494,1503,1512,1521,1527,1528,1549],"c":[]}]]}],["u",{"w":"getusername","s":"username","e":true,"k":"u","d":[861],"c":[]}],["d",{"w":"getdata","s":"data","e":true,"k":"d","d":[1146,1432,1433,1435,1438,1440,1441,1447,1455,1540],"c":[]}],["p",{"w":"getport","s":"port","e":true,"k":"p","d":[2029],"c":[]}]]}]]}],["i",{"w":"gi","s":"i","e":false,"k":"i","d":[],"c":[["v",{"w":"giv","s":"v","e":false,"k":"v","d":[],"c":[["e",{"w":"give","s":"e","e":true,"k":"e","d":[58,1386,1540],"c":[["s",{"w":"gives","s":"s","e":true,"k":"s","d":[58,689,902,934,965,1157],"c":[]}],["n",{"w":"given","s":"n","e":true,"k":"n","d":[201,202,447,539,713,732,1022,1319,1322,1455,1700,1703,1868,1877,1887,1891,1905],"c":[]}]]}],["i",{"w":"giving","s":"ing","e":true,"k":"i","d":[128],"c":[]}]]}],["t",{"w":"git","s":"t","e":false,"k":"t","d":[],"c":[["i",{"w":"gitignore","s":"ignore","e":true,"k":"i","d":[2085],"c":[]}],["h",{"w":"github","s":"hub","e":true,"k":"h","d":[2106,2174],"c":[]}]]}]]}],["t",{"w":"gtmk","s":"tmk","e":true,"k":"t","d":[77,118],"c":[]}],["l",{"w":"global","s":"lobal","e":true,"k":"l","d":[116,224,225,313,1407,1414,1415,1416,1417,1418,1420,1638],"c":[["o",{"w":"globaloutstandinglimit","s":"outstandinglimit","e":true,"k":"o","d":[189],"c":[]}],["l",{"w":"globally","s":"ly","e":true,"k":"l","d":[1507,1712],"c":[]}]]}],["z",{"w":"gz","s":"z","e":true,"k":"z","d":[261,1035],"c":[["i",{"w":"gzip","s":"ip","e":true,"k":"i","d":[261],"c":[]}]]}],["c",{"w":"gc","s":"c","e":true,"k":"c","d":[274,2176],"c":[["m",{"w":"gcm","s":"m","e":true,"k":"m","d":[380,381],"c":[]}],["c",{"w":"gcc","s":"c","e":true,"k":"c","d":[2118],"c":[]}]]}],["a",{"w":"ga","s":"a","e":false,"k":"a","d":[],"c":[["i",{"w":"gain","s":"in","e":true,"k":"i","d":[306],"c":[["s",{"w":"gains","s":"s","e":true,"k":"s","d":[385],"c":[]}]]}],["t",{"w":"gathered","s":"thered","e":true,"k":"t","d":[1365],"c":[]}]]}],["s",{"w":"gssapi","s":"ssapi","e":true,"k":"s","d":[377,2113],"c":[]}],["n",{"w":"gnu","s":"nu","e":true,"k":"n","d":[483],"c":[]}],["y",{"w":"gyrex","s":"yrex","e":true,"k":"y","d":[1568,1630],"c":[]}],["h",{"w":"gh","s":"h","e":true,"k":"h","d":[2186],"c":[]}]]}],["f",{"w":"f","s":"f","e":true,"k":"f","d":[637,1370,1371],"c":[["o",{"w":"fo","s":"o","e":false,"k":"o","d":[],"c":[["r",{"w":"for","s":"r","e":true,"k":"r","d":[2,11,12,13,16,19,27,28,38,39,40,47,48,50,51,53,56,59,61,62,65,67,68,69,70,72,73,77,81,85,97,99,100,102,118,123,127,130,140,143,144,148,149,155,161,176,178,179,180,184,189,190,192,193,194,195,197,204,209,211,214,215,224,225,226,227,232,234,238,243,250,264,265,270,271,272,273,275,281,282,286,289,292,293,299,301,304,305,308,309,311,315,316,317,318,322,324,327,330,331,332,334,343,346,351,352,353,354,355,368,371,372,373,376,384,393,396,398,399,402,405,410,415,417,419,422,423,424,435,447,448,450,452,471,477,508,509,510,512,513,516,517,520,524,526,528,532,533,534,535,536,537,539,541,543,574,586,590,597,608,634,636,647,649,663,666,669,670,672,674,675,676,679,681,683,687,689,690,691,692,698,699,706,707,709,715,720,729,731,733,737,745,747,748,749,752,756,771,774,781,799,812,813,824,825,831,834,848,850,852,853,862,863,864,876,884,886,902,908,912,917,922,930,937,941,943,950,957,966,967,971,980,987,990,994,1018,1023,1028,1029,1030,1032,1033,1058,1068,1069,1071,1073,1079,1091,1092,1098,1100,1120,1130,1134,1140,1144,1146,1148,1150,1154,1155,1156,1157,1161,1164,1166,1172,1175,1191,1203,1205,1214,1215,1217,1219,1222,1225,1230,1232,1238,1239,1240,1251,1256,1258,1262,1263,1268,1270,1279,1287,1289,1311,1318,1319,1320,1321,1322,1323,1324,1330,1343,1345,1346,1349,1351,1353,1356,1368,1369,1370,1372,1383,1385,1387,1389,1396,1397,1398,1401,1403,1410,1419,1423,1432,1433,1434,1435,1436,1437,1443,1451,1455,1456,1458,1472,1476,1482,1485,1496,1500,1501,1502,1503,1506,1515,1521,1534,1535,1537,1538,1540,1543,1549,1554,1558,1561,1563,1628,1629,1630,1631,1635,1636,1638,1639,1641,1642,1644,1645,1648,1650,1652,1653,1654,1656,1657,1660,1667,1668,1669,1670,1673,1674,1675,1676,1677,1680,1682,1683,1685,1687,1694,1697,1699,1701,1702,1705,1709,1711,1712,1715,1716,1718,1719,1721,1722,1723,1724,1726,1730,1731,1732,1734,1735,1736,1738,1739,1741,1742,1743,1784,1797,1799,1808,1812,1813,1826,1828,1833,1845,1846,1847,1868,1871,1877,1881,1885,1886,1888,1903,1905,1908,1912,1913,1915,1916,1921,1925,1939,1945,1948,1951,1952,1958,1966,1967,1968,1970,1972,1974,1975,1976,1978,1980,1982,1984,2028,2029,2038,2039,2048,2055,2066,2071,2072,2077,2086,2087,2105,2110,2111,2144,2147,2148,2151,2164,2167,2169,2172,2173,2184,2191],"c":[["w",{"w":"forward","s":"ward","e":true,"k":"w","d":[59,251,276,871,920,941,942,943,944,1046,1283,1817],"c":[["_",{"w":"forward_learner_requests_to_commit_processor_disabled","s":"_learner_requests_to_commit_processor_disabled","e":true,"k":"_","d":[274],"c":[]}],["s",{"w":"forwards","s":"s","e":true,"k":"s","d":[1133],"c":[]}],["e",{"w":"forwarded","s":"ed","e":true,"k":"e","d":[1830],"c":[]}]]}],["m",{"w":"form","s":"m","e":true,"k":"m","d":[185,201,520,694,780,793,902,904,951,1098,1156,1172,1174,1317,1326,1368,1503,1913,1971,1975],"c":[["a",{"w":"forma","s":"a","e":false,"k":"a","d":[],"c":[["t",{"w":"format","s":"t","e":true,"k":"t","d":[74,77,100,345,348,450,611,662,663,665,667,709,1157,1223,1234,1265,1320,2158],"c":[["s",{"w":"formats","s":"s","e":true,"k":"s","d":[1005,1035,1251],"c":[]}],["t",{"w":"formatt","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"formatted","s":"ed","e":true,"k":"e","d":[1320],"c":[]}],["i",{"w":"formatting","s":"ing","e":true,"k":"i","d":[1925],"c":[]}]]}],["_",{"w":"format_endpoint_info","s":"_endpoint_info","e":true,"k":"_","d":[2047],"c":[]}]]}],["l",{"w":"formal","s":"l","e":true,"k":"l","d":[1356],"c":[["l",{"w":"formally","s":"ly","e":true,"k":"l","d":[1910],"c":[]}]]}]]}],["u",{"w":"formula","s":"ula","e":true,"k":"u","d":[245],"c":[]}],["i",{"w":"forming","s":"ing","e":true,"k":"i","d":[298,690,883,904,942],"c":[]}],["e",{"w":"former","s":"er","e":true,"k":"e","d":[1240,1915,1976],"c":[["l",{"w":"formerly","s":"ly","e":true,"k":"l","d":[1633],"c":[]}]]}],["s",{"w":"forms","s":"s","e":true,"k":"s","d":[1317],"c":[]}]]}],["c",{"w":"force","s":"ce","e":true,"k":"c","d":[232,427,1070],"c":[["f",{"w":"forcefully","s":"fully","e":true,"k":"f","d":[238],"c":[]}],["s",{"w":"forcesync","s":"sync","e":true,"k":"s","d":[387],"c":[]}],["h",{"w":"forcehttps","s":"https","e":true,"k":"h","d":[427],"c":[]}]]}],["k",{"w":"forked","s":"ked","e":true,"k":"k","d":[1724],"c":[]}],["e",{"w":"forever","s":"ever","e":true,"k":"e","d":[2099],"c":[]}]]}],["l",{"w":"follow","s":"llow","e":true,"k":"l","d":[1051,1105,1241,1881,1903,1916],"c":[["i",{"w":"following","s":"ing","e":true,"k":"i","d":[11,15,16,20,30,50,74,78,108,109,125,129,151,156,157,243,297,352,375,386,393,418,421,426,428,430,452,477,519,525,654,660,663,666,700,720,811,825,828,854,881,903,909,915,932,945,949,1060,1089,1091,1102,1106,1158,1164,1170,1176,1183,1192,1211,1217,1219,1222,1263,1271,1304,1306,1308,1309,1330,1370,1382,1398,1438,1445,1510,1677,1699,1838,1868,1882,1884,1898,1909,1916],"c":[]}],["e",{"w":"followe","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"followed","s":"d","e":true,"k":"d","d":[100],"c":[]}],["r",{"w":"follower","s":"r","e":true,"k":"r","d":[132,180,194,241,242,252,253,256,272,280,385,419,683,687,699,731,772,773,774,877,918,919,920,923,935,1071,1072,1700,1724,1839,1840,1881,1886,1887,1888,1890,1891,1893,1903,1976,2083],"c":[["s",{"w":"followers","s":"s","e":true,"k":"s","d":[192,248,272,273,287,288,292,296,395,606,690,731,871,872,879,880,881,913,1830,1842,1845,1881,1883,1885,1886,1892,1895,1896,1899,1900,1901,1902,1903,1976],"c":[]}],["z",{"w":"followerzookeeperserver","s":"zookeeperserver","e":true,"k":"z","d":[1418],"c":[]}],["'",{"w":"follower's","s":"'s","e":true,"k":"'","d":[2060],"c":[]}]]}]]}],["s",{"w":"follows","s":"s","e":true,"k":"s","d":[214,215,1899],"c":[]}]]}],["u",{"w":"fou","s":"u","e":false,"k":"u","d":[],"c":[["n",{"w":"found","s":"nd","e":true,"k":"n","d":[12,107,406,455,675,686,734,754,1315,1867,2037],"c":[["a",{"w":"foundation","s":"ation","e":true,"k":"a","d":[1710],"c":[["a",{"w":"foundational","s":"al","e":true,"k":"a","d":[1651],"c":[]}]]}]]}],["r",{"w":"four","s":"r","e":true,"k":"r","d":[31,54,57,59,118,127,306,510,513,805,832,856,1121,1353,1354],"c":[["-",{"w":"four-letter","s":"-letter","e":true,"k":"-","d":[53,100,102,106,306,307],"c":[]}]]}]]}],["c",{"w":"focus","s":"cus","e":true,"k":"c","d":[289,880,1881],"c":[["e",{"w":"focused","s":"ed","e":true,"k":"e","d":[1639],"c":[]}]]}],["o",{"w":"foo","s":"o","e":true,"k":"o","d":[1094,1201,1384],"c":[]}]]}],["i",{"w":"fi","s":"i","e":false,"k":"i","d":[],"c":[["l",{"w":"fil","s":"l","e":false,"k":"l","d":[],"c":[["e",{"w":"file","s":"e","e":true,"k":"e","d":[12,17,26,29,46,108,119,151,174,176,177,190,193,194,196,255,275,278,279,285,292,304,305,321,323,343,344,345,346,347,348,398,402,405,406,407,419,436,437,440,447,448,449,452,519,520,521,522,523,527,616,650,655,656,659,660,662,663,665,667,679,695,696,713,714,727,825,826,855,874,876,878,881,906,910,911,912,942,943,944,947,952,955,986,1022,1023,1024,1026,1028,1060,1125,1146,1154,1167,1221,1230,1231,1232,1233,1234,1304,1370,1455,1669,1797,1799,1806,1807,1942,1944,1945,1949,1950,1968,1972,1975,1978,1982,2182],"c":[["s",{"w":"files","s":"s","e":true,"k":"s","d":[12,13,29,47,71,174,263,371,403,407,442,443,448,450,451,452,454,659,662,679,690,855,873,912,937,991,1021,1166,1234,1348,1799,1978,2032,2076,2085,2184],"c":[["y",{"w":"filesystem","s":"ystem","e":true,"k":"y","d":[12,365,366],"c":[]}]]}],["n",{"w":"filename","s":"name","e":true,"k":"n","d":[345,348,679,680,855,1234],"c":[]}],["'",{"w":"file's","s":"'s","e":true,"k":"'","d":[449],"c":[]}],["-",{"w":"file-","s":"-","e":false,"k":"-","d":[],"c":[["s",{"w":"file-system","s":"system","e":true,"k":"s","d":[1807],"c":[]}],["l",{"w":"file-like","s":"like","e":true,"k":"l","d":[1955],"c":[]}]]}],["t",{"w":"filetxnsnaplogmetricstest","s":"txnsnaplogmetricstest","e":true,"k":"t","d":[2133],"c":[]}]]}],["t",{"w":"filters","s":"ters","e":true,"k":"t","d":[1030],"c":[]}]]}],["r",{"w":"fir","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"fire","s":"e","e":true,"k":"e","d":[1133,2145],"c":[["w",{"w":"firewall","s":"wall","e":true,"k":"w","d":[49,674],"c":[["s",{"w":"firewalls","s":"s","e":true,"k":"s","d":[308],"c":[]}]]}],["d",{"w":"fired","s":"d","e":true,"k":"d","d":[1132],"c":[]}],["s",{"w":"fires","s":"s","e":true,"k":"s","d":[1146],"c":[]}]]}],["s",{"w":"first","s":"st","e":true,"k":"s","d":[78,121,156,292,295,405,449,471,520,644,678,679,687,729,731,874,902,1064,1090,1098,1100,1102,1146,1224,1353,1355,1365,1366,1396,1401,1405,1434,1503,1506,1507,1546,1683,1845,1885,1903,1958],"c":[]}]]}],["e",{"w":"field","s":"eld","e":true,"k":"e","d":[117,123,130,133,861,1340,2157],"c":[["s",{"w":"fields","s":"s","e":true,"k":"s","d":[111,124,126,128,131,138,1330,1945],"c":[]}]]}],["n",{"w":"fin","s":"n","e":true,"k":"n","d":[309],"c":[["i",{"w":"finish","s":"ish","e":true,"k":"i","d":[255,279,880],"c":[["e",{"w":"finished","s":"ed","e":true,"k":"e","d":[121,1100,1484],"c":[]}],["i",{"w":"finishing","s":"ing","e":true,"k":"i","d":[121,387,1501],"c":[]}]]}],["e",{"w":"fine","s":"e","e":true,"k":"e","d":[185,666,692,1951],"c":[["r",{"w":"finer","s":"r","e":true,"k":"r","d":[777,790,1164],"c":[["-",{"w":"finer-grained","s":"-grained","e":true,"k":"-","d":[1922],"c":[]}]]}],["-",{"w":"fine-grained","s":"-grained","e":true,"k":"-","d":[1921],"c":[]}]]}],["d",{"w":"find","s":"d","e":true,"k":"d","d":[194,297,298,315,373,399,520,527,635,689,729,1106,1148,1346,1369,1472,1475,1658],"c":[["i",{"w":"finding","s":"ing","e":true,"k":"i","d":[1365,1405],"c":[]}]]}],["a",{"w":"final","s":"al","e":true,"k":"a","d":[471,706,2034,2161,2193],"c":[["p",{"w":"finalprocessor","s":"processor","e":true,"k":"p","d":[270],"c":[]}],["l",{"w":"finally","s":"ly","e":true,"k":"l","d":[696,1147,1218,1223,1939,1965,1976],"c":[]}],["r",{"w":"finalrequestprocessor","s":"requestprocessor","e":true,"k":"r","d":[1422],"c":[]}]]}]]}],["x",{"w":"fix","s":"x","e":true,"k":"x","d":[508,1027,2028,2033,2035,2047,2055,2068,2069,2075,2076,2140,2158,2169,2177,2180,2184],"c":[["e",{"w":"fixe","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"fixed","s":"d","e":true,"k":"d","d":[257,396,413,1023,1026,1237],"c":[]}],["s",{"w":"fixes","s":"s","e":true,"k":"s","d":[1984],"c":[]}]]}],["i",{"w":"fixing","s":"ing","e":true,"k":"i","d":[2064,2191],"c":[]}]]}],["p",{"w":"fips","s":"ps","e":true,"k":"p","d":[355,375,2054,2073,2125],"c":[["-",{"w":"fips-mode","s":"-mode","e":true,"k":"-","d":[375],"c":[]}],["_",{"w":"fips_mode","s":"_mode","e":true,"k":"_","d":[2186],"c":[]}]]}],["v",{"w":"five","s":"ve","e":true,"k":"v","d":[510,513],"c":[]}],["g",{"w":"figure","s":"gure","e":true,"k":"g","d":[1382,1838],"c":[["s",{"w":"figures","s":"s","e":true,"k":"s","d":[687,699,704],"c":[]}]]}],["f",{"w":"fifo","s":"fo","e":true,"k":"f","d":[1868,1870,1873,1898,1899,1900,1905],"c":[]}]]}],["u",{"w":"fu","s":"u","e":false,"k":"u","d":[],"c":[["t",{"w":"future","s":"ture","e":true,"k":"t","d":[12,81,85,97,99,100,318,652,684,1321,1323,1453,1915,2130],"c":[]}],["l",{"w":"ful","s":"l","e":false,"k":"l","d":[],"c":[["l",{"w":"full","s":"l","e":true,"k":"l","d":[61,67,329,397,508,541,634,737,1258,1262,1407,1709,1886,1979,2071],"c":[["y",{"w":"fully","s":"y","e":true,"k":"y","d":[269,1224,1507],"c":[["-",{"w":"fully-qualified","s":"-qualified","e":true,"k":"-","d":[331],"c":[]}]]}]]}],["f",{"w":"fulfill","s":"fill","e":true,"k":"f","d":[1700],"c":[]}]]}],["n",{"w":"fun","s":"n","e":true,"k":"n","d":[1718],"c":[["c",{"w":"function","s":"ction","e":true,"k":"c","d":[100,250,539,871,879,1148,1194,1200,1266,1402,1455,1475,1478,1480,1503,2066,2084,2186],"c":[["a",{"w":"functional","s":"al","e":false,"k":"a","d":[],"c":[["i",{"w":"functionalit","s":"it","e":false,"k":"i","d":[],"c":[["y",{"w":"functionality","s":"y","e":true,"k":"y","d":[154,634,1407,1629,1656,1688,2131],"c":[]}],["i",{"w":"functionalities","s":"ies","e":true,"k":"i","d":[981],"c":[]}]]}],["l",{"w":"functionally","s":"ly","e":true,"k":"l","d":[1967],"c":[]}]]}],["i",{"w":"functioning","s":"ing","e":true,"k":"i","d":[193,1703],"c":[]}],["s",{"w":"functions","s":"s","e":true,"k":"s","d":[1287,1289,1472,1475,1477],"c":[]}]]}],["d",{"w":"fundamental","s":"damental","e":true,"k":"d","d":[1686],"c":[]}]]}],["r",{"w":"further","s":"rther","e":true,"k":"r","d":[185,333,337,871,1218,2037],"c":[]}],["z",{"w":"fuzzy","s":"zzy","e":true,"k":"z","d":[446,448,452],"c":[]}]]}],["r",{"w":"fr","s":"r","e":false,"k":"r","d":[],"c":[["o",{"w":"fro","s":"o","e":false,"k":"o","d":[],"c":[["m",{"w":"from","s":"m","e":true,"k":"m","d":[13,18,26,89,95,100,105,125,129,140,149,189,191,193,194,214,215,243,249,263,274,280,285,286,295,304,309,317,325,331,333,337,344,347,352,358,369,370,371,379,384,396,398,403,407,413,447,450,516,518,530,598,599,603,655,656,665,666,668,670,673,680,687,689,690,694,696,698,701,702,707,710,713,727,731,820,830,833,853,872,882,904,913,924,928,940,955,967,970,977,980,981,984,986,991,1016,1098,1101,1105,1146,1160,1214,1223,1235,1237,1241,1244,1276,1280,1283,1285,1289,1334,1335,1345,1365,1369,1383,1384,1387,1388,1391,1393,1400,1401,1402,1405,1415,1416,1424,1434,1436,1452,1456,1472,1482,1501,1503,1506,1515,1534,1535,1543,1627,1662,1669,1676,1704,1706,1732,1798,1800,1814,1817,1823,1829,1830,1834,1845,1867,1870,1891,1893,1900,1903,1904,1905,1911,1912,1913,1941,1957,1958,1973,2038,2039,2085,2103,2177],"c":[]}],["n",{"w":"frontend","s":"ntend","e":true,"k":"n","d":[1655],"c":[]}],["z",{"w":"frozen","s":"zen","e":true,"k":"z","d":[1681],"c":[]}]]}],["a",{"w":"fra","s":"a","e":false,"k":"a","d":[],"c":[["m",{"w":"framework","s":"mework","e":true,"k":"m","d":[25,139,143,146,1012,1073,1363,1364,1365,1567,1627,1633,1636,1642,1655,1666,1668,1676,1687,1697],"c":[["s",{"w":"frameworks","s":"s","e":true,"k":"s","d":[994],"c":[]}]]}],["g",{"w":"fragile","s":"gile","e":true,"k":"g","d":[692],"c":[]}]]}],["e",{"w":"fre","s":"e","e":false,"k":"e","d":[],"c":[["q",{"w":"frequency","s":"quency","e":true,"k":"q","d":[449],"c":[]}],["e",{"w":"free","s":"e","e":true,"k":"e","d":[830,1133,1191,1564,1718],"c":[["b",{"w":"freebsd","s":"bsd","e":true,"k":"b","d":[493,1240],"c":[]}],["l",{"w":"freely","s":"ly","e":true,"k":"l","d":[866],"c":[]}]]}],["a",{"w":"freaking","s":"aking","e":true,"k":"a","d":[1541],"c":[]}]]}]]}],["e",{"w":"fe","s":"e","e":false,"k":"e","d":[],"c":[["a",{"w":"feature","s":"ature","e":true,"k":"a","d":[17,179,193,194,201,202,203,205,232,243,251,258,269,276,281,293,295,305,313,317,335,336,338,340,342,372,374,401,404,405,639,880,881,1237,1320,1384,1407,1643,1671,1994,1999,2014],"c":[["s",{"w":"features","s":"s","e":true,"k":"s","d":[143,167,206,383,521,635,753,1984],"c":[]}]]}],["d",{"w":"fed","s":"d","e":true,"k":"d","d":[270],"c":[]}],["w",{"w":"few","s":"w","e":true,"k":"w","d":[298,686,689,734,1214,1517,1522,1641,1845,1867,1939,1958,1972],"c":[["e",{"w":"fewer","s":"er","e":true,"k":"e","d":[688,722,731,1496],"c":[]}]]}],["t",{"w":"fetch","s":"tch","e":false,"k":"t","d":[],"c":[["e",{"w":"fetches","s":"es","e":true,"k":"e","d":[1127],"c":[]}],["i",{"w":"fetching","s":"ing","e":true,"k":"i","d":[1846],"c":[]}]]}],["n",{"w":"fenced","s":"nced","e":true,"k":"n","d":[1683],"c":[]}],["e",{"w":"feel","s":"el","e":true,"k":"e","d":[1958],"c":[]}]]}],["a",{"w":"fa","s":"a","e":false,"k":"a","d":[],"c":[["i",{"w":"fail","s":"il","e":true,"k":"i","d":[18,29,336,340,399,510,530,653,720,731,872,1172,1281,1311,1478,1501,1627,1700,1815,1845,2128,2138],"c":[["e",{"w":"failed","s":"ed","e":true,"k":"e","d":[18,272,333,337,929,940,1346,2046,2077],"c":[]}],["s",{"w":"fails","s":"s","e":true,"k":"s","d":[310,513,692,913,917,919,920,924,926,938,980,1282,1383,1405,1456,1549,1707,1724,1816,1951,1971,2059,2186],"c":[]}],["u",{"w":"failure","s":"ure","e":true,"k":"u","d":[510,513,514,530,535,536,704,852,883,897,905,906,910,936,940,941,953,955,957,977,1382,1478,1545,1549,1650,1678,1800,1839,1840,1841,1842,1843,1845,1846,1885,1971,1979,1980,2049,2071,2130,2172],"c":[["s",{"w":"failures","s":"s","e":true,"k":"s","d":[533,534,535,536,809,922,980,981,1284,1285,1343,1346,1545,1549,1676,1830,1838,1844,1867,1871,2059],"c":[]}]]}],["i",{"w":"failing","s":"ing","e":true,"k":"i","d":[1405,2171],"c":[]}],["o",{"w":"failover","s":"over","e":true,"k":"o","d":[1647,1648,1670,1677,1678,1683,1740],"c":[]}]]}],["s",{"w":"fas","s":"s","e":false,"k":"s","d":[],"c":[["t",{"w":"fast","s":"t","e":true,"k":"t","d":[18,192,283,398,872,1279,1344,1638,1805,1813,1845],"c":[["e",{"w":"faster","s":"er","e":true,"k":"e","d":[189,880,1279],"c":[]}],["l",{"w":"fastleader","s":"leader","e":true,"k":"l","d":[214,215],"c":[["e",{"w":"fastleaderelection","s":"election","e":true,"k":"e","d":[285,1882],"c":[]}]]}],["f",{"w":"fastforwardfromedits","s":"forwardfromedits","e":true,"k":"f","d":[2052],"c":[]}]]}],["h",{"w":"fashion","s":"hion","e":true,"k":"h","d":[1681],"c":[]}]]}],["v",{"w":"favo","s":"vo","e":false,"k":"v","d":[],"c":[["u",{"w":"favourite","s":"urite","e":true,"k":"u","d":[32],"c":[]}],["r",{"w":"favor","s":"r","e":true,"k":"r","d":[414],"c":[]}]]}],["l",{"w":"fal","s":"l","e":false,"k":"l","d":[],"c":[["s",{"w":"false","s":"se","e":true,"k":"s","d":[104,120,205,223,232,240,258,263,264,271,272,273,274,304,305,308,309,313,328,342,354,355,356,357,365,366,367,369,370,371,372,378,398,403,407,420,425,431,650,652,688,955,1063,1220,1224,1225,1237,1481,1489,1494,1533,1534,2172,2194],"c":[["-",{"w":"false-positive","s":"-positive","e":true,"k":"-","d":[883],"c":[]}]]}],["l",{"w":"fall","s":"l","e":true,"k":"l","d":[296,1344],"c":[["s",{"w":"falls","s":"s","e":true,"k":"s","d":[908,1905],"c":[]}],["b",{"w":"fallback","s":"back","e":true,"k":"b","d":[2054],"c":[]}]]}]]}],["t",{"w":"fatal","s":"tal","e":true,"k":"t","d":[263,1146,1218,1915],"c":[["-",{"w":"fatal-level","s":"-level","e":true,"k":"-","d":[1915],"c":[]}]]}],["r",{"w":"far","s":"r","e":true,"k":"r","d":[296,1973],"c":[]}],["u",{"w":"fault","s":"ult","e":true,"k":"u","d":[512,1012,1073,1628,1670,1731],"c":[["y",{"w":"faulty","s":"y","e":true,"k":"y","d":[905,907,908,919,920,941,942,943],"c":[]}],["-",{"w":"fault-tolerant","s":"-tolerant","e":true,"k":"-","d":[1628,1653,1706],"c":[]}]]}],["c",{"w":"fac","s":"c","e":false,"k":"c","d":[],"c":[["i",{"w":"facilitate","s":"ilitate","e":true,"k":"i","d":[668],"c":[["s",{"w":"facilitates","s":"s","e":true,"k":"s","d":[1692],"c":[]}]]}],["t",{"w":"fact","s":"t","e":true,"k":"t","d":[872,1289,1537,1544],"c":[["o",{"w":"factors","s":"ors","e":true,"k":"o","d":[1289,1434],"c":[]}]]}],["e",{"w":"facebook","s":"ebook","e":true,"k":"e","d":[1611,1724,1760],"c":[]}]]}],["m",{"w":"familiar","s":"miliar","e":true,"k":"m","d":[1797],"c":[["i",{"w":"familiarity","s":"ity","e":true,"k":"i","d":[1353],"c":[]}]]}],["q",{"w":"faq","s":"q","e":true,"k":"q","d":[1476,1916],"c":[]}]]}],["s",{"w":"fsync","s":"sync","e":true,"k":"s","d":[200],"c":[]}],["l",{"w":"fl","s":"l","e":false,"k":"l","d":[],"c":[["u",{"w":"flu","s":"u","e":false,"k":"u","d":[],"c":[["s",{"w":"flush","s":"sh","e":true,"k":"s","d":[229,231],"c":[["d",{"w":"flushdelay","s":"delay","e":true,"k":"d","d":[229,230,231],"c":[]}],["i",{"w":"flushing","s":"ing","e":true,"k":"i","d":[230],"c":[]}]]}],["m",{"w":"flume","s":"me","e":true,"k":"m","d":[1589,1670,1671,1748],"c":[["u",{"w":"flumeuserguide","s":"userguide","e":true,"k":"u","d":[1748],"c":[]}]]}],["o",{"w":"fluo","s":"o","e":true,"k":"o","d":[1590,1672,1673,1780],"c":[]}]]}],["o",{"w":"flo","s":"o","e":false,"k":"o","d":[],"c":[["w",{"w":"flow","s":"w","e":true,"k":"w","d":[239],"c":[["s",{"w":"flows","s":"s","e":true,"k":"s","d":[1670],"c":[]}]]}],["o",{"w":"flood","s":"od","e":true,"k":"o","d":[687],"c":[["i",{"w":"flooding","s":"ing","e":true,"k":"i","d":[269],"c":[]}]]}]]}],["a",{"w":"fla","s":"a","e":false,"k":"a","d":[],"c":[["g",{"w":"flag","s":"g","e":true,"k":"g","d":[269,272,281,308,309,385,423,424,425,614,615,650,652,681,688,1098,1103,1237,1254,1445,1501,1502,1503,1512,1514,1527,1528,1531,1532,1548,2180],"c":[["s",{"w":"flags","s":"s","e":true,"k":"s","d":[256,1182,1195,1264,1270,1503,1511,1525,1526,1548,1552],"c":[]}]]}],["v",{"w":"flavio","s":"vio","e":true,"k":"v","d":[1359],"c":[]}],["k",{"w":"flaky","s":"ky","e":true,"k":"k","d":[2117,2121,2124,2133,2183],"c":[]}]]}],["e",{"w":"fle","s":"e","e":false,"k":"e","d":[],"c":[["e",{"w":"fleet","s":"et","e":true,"k":"e","d":[311],"c":[]}],["x",{"w":"flexib","s":"xib","e":false,"k":"x","d":[],"c":[["i",{"w":"flexibility","s":"ility","e":true,"k":"i","d":[652],"c":[]}],["l",{"w":"flexible","s":"le","e":true,"k":"l","d":[1646,1670,1696],"c":[]}]]}]]}],["y",{"w":"fly","s":"y","e":true,"k":"y","d":[698],"c":[]}],["i",{"w":"flink","s":"ink","e":true,"k":"i","d":[1588,1668,1669,1766],"c":[["-",{"w":"flink-docs-release-1","s":"-docs-release-1","e":true,"k":"-","d":[1766],"c":[]}]]}],["p",{"w":"flp","s":"p","e":true,"k":"p","d":[1871],"c":[]}]]}],["-",{"w":"f-john","s":"-john","e":true,"k":"-","d":[924,925],"c":[]}],["n",{"w":"fn","s":"n","e":true,"k":"n","d":[1264,1266],"c":[]}],["d",{"w":"fd","s":"d","e":true,"k":"d","d":[2020],"c":[]}]]}],["r",{"w":"r","s":"r","e":true,"k":"r","d":[1760,1836],"c":[["u",{"w":"ru","s":"u","e":false,"k":"u","d":[],"c":[["n",{"w":"run","s":"n","e":true,"k":"n","d":[15,26,48,304,311,327,379,385,509,525,649,650,1065,1067,1106,1242,1243,1245,1251,1274,1349,1384,1668,1706,1805,1923,1951,1968,2082],"c":[["n",{"w":"running","s":"ning","e":true,"k":"n","d":[2,65,75,126,138,152,154,159,189,402,403,405,407,450,477,513,527,541,652,666,739,749,750,787,904,918,1006,1036,1053,1055,1069,1074,1076,1088,1251,1263,1645,1669,1683,1685,1834,1885,1918,1937,1939,1951,1952,1959,1962,1968,1978],"c":[]}],["t",{"w":"runtime","s":"time","e":true,"k":"t","d":[191,193,256,293,349,594,610,633,647,649,655,1069,1628,1645,1915],"c":[]}],["s",{"w":"runs","s":"s","e":true,"k":"s","d":[252,253,474,509,883,1364,1680,1724,1797],"c":[]}]]}],["o",{"w":"ruok","s":"ok","e":true,"k":"o","d":[65,101,126,306],"c":[]}],["l",{"w":"rules","s":"les","e":true,"k":"l","d":[825,826,827,1218,1291,1889],"c":[]}],["b",{"w":"ruby","s":"by","e":true,"k":"b","d":[1648],"c":[]}]]}],["e",{"w":"re","s":"e","e":true,"k":"e","d":[250],"c":[["q",{"w":"requ","s":"qu","e":false,"k":"q","d":[],"c":[["i",{"w":"requir","s":"ir","e":false,"k":"i","d":[],"c":[["e",{"w":"require","s":"e","e":true,"k":"e","d":[298,361,387,634,671,985,1472,1686,1867,1976],"c":[["d",{"w":"required","s":"d","e":true,"k":"d","d":[11,15,224,225,226,313,355,396,404,405,407,410,461,512,706,731,872,944,1415,1970,1972],"c":[]}],["m",{"w":"requirement","s":"ment","e":true,"k":"m","d":[452,1876,1885,2036],"c":[["s",{"w":"requirements","s":"s","e":true,"k":"s","d":[13,375,457,458,465,466,468,541,1113,1121,1130,1135,1651,1885,1905,1940],"c":[]}]]}],["s",{"w":"requires","s":"s","e":true,"k":"s","d":[26,127,354,387,405,425,510,581,670,870,873,1135,1228,1386,1416,1541,1546,1654,1904,1911,1979],"c":[]}]]}],["i",{"w":"requiring","s":"ing","e":true,"k":"i","d":[1069,1876],"c":[]}]]}],["e",{"w":"request","s":"est","e":true,"k":"e","d":[48,100,224,225,226,232,234,235,236,237,238,266,267,270,328,332,359,360,396,408,412,729,809,908,1166,1285,1320,1349,1397,1401,1422,1424,1454,1540,1625,1827,1831,1907,2122,2152,2165,2175],"c":[["s",{"w":"requests","s":"s","e":true,"k":"s","d":[18,48,83,87,89,100,189,192,202,227,230,233,235,240,267,270,274,333,337,373,396,399,640,687,871,882,1166,1328,1346,1349,1397,1803,1829,1830,1834,1845,1867,1899,2106,2122],"c":[["t",{"w":"requeststale","s":"tale","e":false,"k":"t","d":[],"c":[["l",{"w":"requeststalelatencycheck","s":"latencycheck","e":true,"k":"l","d":[236],"c":[]}],["c",{"w":"requeststaleconnectioncheck","s":"connectioncheck","e":true,"k":"c","d":[237],"c":[]}]]}]]}],["t",{"w":"requestt","s":"t","e":false,"k":"t","d":[],"c":[["h",{"w":"requestthrottle","s":"hrottle","e":false,"k":"h","d":[],"c":[["l",{"w":"requestthrottlelimit","s":"limit","e":true,"k":"l","d":[233],"c":[]}],["r",{"w":"requestthrottler","s":"r","e":true,"k":"r","d":[233,238,270],"c":[["t",{"w":"requestthrottlertest","s":"test","e":true,"k":"t","d":[2117],"c":[]}]]}],["s",{"w":"requestthrottlestalltime","s":"stalltime","e":true,"k":"s","d":[234],"c":[]}],["d",{"w":"requestthrottledropstale","s":"dropstale","e":true,"k":"d","d":[235],"c":[]}]]}],["i",{"w":"requesttimeout","s":"imeout","e":true,"k":"i","d":[2057],"c":[]}]]}],["_",{"w":"request_","s":"_","e":false,"k":"_","d":[],"c":[["t",{"w":"request_throttle","s":"throttle","e":false,"k":"t","d":[],"c":[["_",{"w":"request_throttle_","s":"_","e":false,"k":"_","d":[],"c":[["m",{"w":"request_throttle_max_requests","s":"max_requests","e":true,"k":"m","d":[233],"c":[]}],["s",{"w":"request_throttle_stall_time","s":"stall_time","e":true,"k":"s","d":[234],"c":[]}],["d",{"w":"request_throttle_drop_stale","s":"drop_stale","e":true,"k":"d","d":[235],"c":[]}]]}],["r",{"w":"request_throttler","s":"r","e":true,"k":"r","d":[238],"c":[]}]]}],["s",{"w":"request_stale_","s":"stale_","e":false,"k":"s","d":[],"c":[["l",{"w":"request_stale_latency_check","s":"latency_check","e":true,"k":"l","d":[236],"c":[]}],["c",{"w":"request_stale_connection_check","s":"connection_check","e":true,"k":"c","d":[237],"c":[]}]]}]]}],["'",{"w":"request's","s":"'s","e":true,"k":"'","d":[237],"c":[]}],["e",{"w":"requested","s":"ed","e":true,"k":"e","d":[384,725,1386,1415],"c":[]}]]}]]}],["m",{"w":"rem","s":"m","e":false,"k":"m","d":[],"c":[["o",{"w":"remo","s":"o","e":false,"k":"o","d":[],"c":[["v",{"w":"remov","s":"v","e":false,"k":"v","d":[],"c":[["e",{"w":"remove","s":"e","e":true,"k":"e","d":[13,369,370,385,599,672,697,708,731,955,1101,1105,1404,1429,1445,1446,1447,1448,2023,2051,2085,2107,2127,2159,2187],"c":[["s",{"w":"removes","s":"s","e":true,"k":"s","d":[195,196],"c":[]}],["h",{"w":"removehostfromprincipal","s":"hostfromprincipal","e":true,"k":"h","d":[369],"c":[]}],["r",{"w":"removerealmfromprincipal","s":"realmfromprincipal","e":true,"k":"r","d":[370],"c":[]}],["d",{"w":"removed","s":"d","e":true,"k":"d","d":[406,662,665,687,690,701,706,1032,1033,1404,1415,1424,1437,1443,1444,1476,1478,1483,1502,1503,1811,1812,2178],"c":[]}],["w",{"w":"removewatches","s":"watches","e":true,"k":"w","d":[565,1444,1445],"c":[]}]]}],["a",{"w":"removal","s":"al","e":true,"k":"a","d":[91,699,1426,1445,1518],"c":[]}],["i",{"w":"removing","s":"ing","e":true,"k":"i","d":[105,285,651,687,699,707,1506,2153,2176],"c":[]}]]}],["t",{"w":"remote","s":"te","e":true,"k":"t","d":[346,414,747,751,765,1232],"c":[["p",{"w":"remotepeer","s":"peer","e":true,"k":"p","d":[763],"c":[]}]]}]]}],["a",{"w":"remain","s":"ain","e":true,"k":"a","d":[308,659,665,722,731,1717],"c":[["i",{"w":"remaining","s":"ing","e":true,"k":"i","d":[100,157,510,905,953,1404,1895],"c":[]}],["s",{"w":"remains","s":"s","e":true,"k":"s","d":[651,883,1689,1896],"c":[]}]]}],["e",{"w":"remember","s":"ember","e":true,"k":"e","d":[1252,1349,1431],"c":[]}]]}],["s",{"w":"res","s":"s","e":false,"k":"s","d":[],"c":[["p",{"w":"resp","s":"p","e":false,"k":"p","d":[],"c":[["o",{"w":"respon","s":"on","e":false,"k":"o","d":[],"c":[["s",{"w":"respons","s":"s","e":false,"k":"s","d":[],"c":[["i",{"w":"responsib","s":"ib","e":false,"k":"i","d":[],"c":[["i",{"w":"responsibility","s":"ility","e":true,"k":"i","d":[13,1099,1700,1732,1798],"c":[]}],["l",{"w":"responsible","s":"le","e":true,"k":"l","d":[537,1130,1680,1683],"c":[]}]]}],["e",{"w":"response","s":"e","e":true,"k":"e","d":[47,65,102,125,126,270,306,1132,1136,1137,1217,1237,1348,1907,2122,2157],"c":[["_",{"w":"response_packet_","s":"_packet_","e":false,"k":"_","d":[],"c":[["c",{"w":"response_packet_cache_","s":"cache_","e":false,"k":"c","d":[],"c":[["h",{"w":"response_packet_cache_hits","s":"hits","e":true,"k":"h","d":[201],"c":[]}],["m",{"w":"response_packet_cache_misses","s":"misses","e":true,"k":"m","d":[201],"c":[]}]]}],["g",{"w":"response_packet_get_children_cache_","s":"get_children_cache_","e":false,"k":"g","d":[],"c":[["h",{"w":"response_packet_get_children_cache_hits","s":"hits","e":true,"k":"h","d":[202],"c":[]}],["m",{"w":"response_packet_get_children_cache_misses","s":"misses","e":true,"k":"m","d":[202],"c":[]}]]}]]}],["s",{"w":"responses","s":"s","e":true,"k":"s","d":[1214,1803],"c":[]}],["c",{"w":"responsecache","s":"cache","e":true,"k":"c","d":[2058],"c":[]}]]}]]}],["d",{"w":"respond","s":"d","e":true,"k":"d","d":[65,75,1908],"c":[["s",{"w":"responds","s":"s","e":true,"k":"s","d":[57,65,100,1120,1237,1386,1681,1838],"c":[]}]]}]]}],["e",{"w":"respect","s":"ect","e":true,"k":"e","d":[1450],"c":[["i",{"w":"respective","s":"ive","e":true,"k":"i","d":[1088,1543],"c":[["l",{"w":"respectively","s":"ly","e":true,"k":"l","d":[20,58,203,942,943],"c":[]}]]}],["s",{"w":"respects","s":"s","e":true,"k":"s","d":[1907,1908],"c":[]}]]}]]}],["t",{"w":"rest","s":"t","e":true,"k":"t","d":[125,203,306,1212,1647,1830,1886],"c":[["a",{"w":"restart","s":"art","e":true,"k":"a","d":[29,156,157,158,159,205,256,263,269,285,295,365,366,692,1213],"c":[["e",{"w":"restarted","s":"ed","e":true,"k":"e","d":[18,19,249,402,695],"c":[]}],["s",{"w":"restarts","s":"s","e":true,"k":"s","d":[633,634,696,991,1128,1130],"c":[]}]]}],["r",{"w":"restrict","s":"rict","e":true,"k":"r","d":[1172,2174],"c":[["e",{"w":"restricted","s":"ed","e":true,"k":"e","d":[102],"c":[]}],["s",{"w":"restricts","s":"s","e":true,"k":"s","d":[1316,1809],"c":[]}]]}],["o",{"w":"restor","s":"or","e":false,"k":"o","d":[],"c":[["e",{"w":"restore","s":"e","e":true,"k":"e","d":[125,275,424,451,976,977,979,981,982,987,988,991,992],"c":[["d",{"w":"restored","s":"d","e":true,"k":"d","d":[991],"c":[]}]]}],["i",{"w":"restoring","s":"ing","e":true,"k":"i","d":[987],"c":[]}]]}],["s",{"w":"rests","s":"s","e":true,"k":"s","d":[529],"c":[]}],["f",{"w":"restful","s":"ful","e":true,"k":"f","d":[1655],"c":[]}]]}],["i",{"w":"resi","s":"i","e":false,"k":"i","d":[],"c":[["d",{"w":"resid","s":"d","e":false,"k":"d","d":[],"c":[["e",{"w":"reside","s":"e","e":true,"k":"e","d":[442],"c":[["s",{"w":"resides","s":"s","e":true,"k":"s","d":[26,520,750],"c":[]}]]}],["i",{"w":"residing","s":"ing","e":true,"k":"i","d":[188,1692],"c":[]}]]}],["l",{"w":"resilienc","s":"lienc","e":false,"k":"l","d":[],"c":[["y",{"w":"resiliency","s":"y","e":true,"k":"y","d":[293,647],"c":[]}],["e",{"w":"resilience","s":"e","e":true,"k":"e","d":[1724],"c":[]}]]}]]}],["o",{"w":"reso","s":"o","e":false,"k":"o","d":[],"c":[["u",{"w":"resource","s":"urce","e":true,"k":"u","d":[309],"c":[["s",{"w":"resources","s":"s","e":true,"k":"s","d":[47,274,537,1687,1706,1867],"c":[]}]]}],["l",{"w":"resol","s":"l","e":false,"k":"l","d":[],"c":[["v",{"w":"resolv","s":"v","e":false,"k":"v","d":[],"c":[["e",{"w":"resolve","s":"e","e":true,"k":"e","d":[214,215,2167],"c":[["r",{"w":"resolver","s":"r","e":true,"k":"r","d":[1237],"c":[]}],["d",{"w":"resolved","s":"d","e":true,"k":"d","d":[2040],"c":[]}]]}],["i",{"w":"resolving","s":"ing","e":true,"k":"i","d":[310,1237],"c":[]}]]}],["u",{"w":"resolution","s":"ution","e":true,"k":"u","d":[1237],"c":[]}]]}],["r",{"w":"resorted","s":"rted","e":true,"k":"r","d":[633],"c":[]}]]}],["u",{"w":"resu","s":"u","e":false,"k":"u","d":[],"c":[["l",{"w":"result","s":"lt","e":true,"k":"l","d":[100,288,316,402,659,680,687,851,852,871,872,880,910,955,1214,1237,1262,1384,1398,1474,1511,1819],"c":[["s",{"w":"results","s":"s","e":true,"k":"s","d":[50,397,871,1281,1815,1833,2155],"c":[]}],["i",{"w":"resulting","s":"ing","e":true,"k":"i","d":[704,1320],"c":[]}]]}],["m",{"w":"resume","s":"me","e":true,"k":"m","d":[1717],"c":[]}]]}],["e",{"w":"rese","s":"e","e":false,"k":"e","d":[],"c":[["t",{"w":"reset","s":"t","e":true,"k":"t","d":[62,66,111,124,787,1227],"c":[["s",{"w":"resets","s":"s","e":true,"k":"s","d":[131],"c":[]}],["t",{"w":"resetting","s":"ting","e":true,"k":"t","d":[1227],"c":[]}]]}],["r",{"w":"reserved","s":"rved","e":true,"k":"r","d":[81,85,97,99,100,1310],"c":[]}],["a",{"w":"research","s":"arch","e":true,"k":"a","d":[1358,1723,1833],"c":[]}]]}]]}],["t",{"w":"ret","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"retention","s":"ention","e":true,"k":"e","d":[14,452],"c":[]}],["a",{"w":"retain","s":"ain","e":false,"k":"a","d":[],"c":[["e",{"w":"retained","s":"ed","e":true,"k":"e","d":[15,417,679],"c":[]}],["s",{"w":"retains","s":"s","e":true,"k":"s","d":[203],"c":[]}]]}],["u",{"w":"return","s":"urn","e":true,"k":"u","d":[76,305,1217,1262,1284,1367,1434,1435,1908],"c":[["s",{"w":"returns","s":"s","e":true,"k":"s","d":[47,113,114,115,116,117,118,119,120,121,122,123,125,127,128,129,130,132,133,134,135,136,137,138,581,683,685,955,1104,1105,1198,1262,1348,1366,1435,1481,1482,1515,1533,1534],"c":[]}],["e",{"w":"returned","s":"ed","e":true,"k":"e","d":[102,111,124,126,131,1366,1435],"c":[]}],["i",{"w":"returning","s":"ing","e":true,"k":"i","d":[1476,1521],"c":[]}]]}],["r",{"w":"retr","s":"r","e":false,"k":"r","d":[],"c":[["y",{"w":"retry","s":"y","e":true,"k":"y","d":[270,310],"c":[["i",{"w":"retrying","s":"ing","e":true,"k":"i","d":[333,337],"c":[]}]]}],["i",{"w":"retrie","s":"ie","e":false,"k":"i","d":[],"c":[["v",{"w":"retriev","s":"v","e":false,"k":"v","d":[],"c":[["e",{"w":"retrieve","s":"e","e":true,"k":"e","d":[352,671,678,1168],"c":[["s",{"w":"retrieves","s":"s","e":true,"k":"s","d":[1311,1319,1808,1825],"c":[]}],["d",{"w":"retrieved","s":"d","e":true,"k":"d","d":[1318],"c":[]}]]}],["i",{"w":"retrieving","s":"ing","e":true,"k":"i","d":[624],"c":[]}]]}],["d",{"w":"retried","s":"d","e":true,"k":"d","d":[1627],"c":[]}]]}]]}]]}],["c",{"w":"rec","s":"c","e":false,"k":"c","d":[],"c":[["e",{"w":"rece","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"recent","s":"nt","e":true,"k":"n","d":[15,203,589,1941,2065],"c":[["l",{"w":"recently","s":"ly","e":true,"k":"l","d":[201],"c":[]}]]}],["i",{"w":"receiv","s":"iv","e":false,"k":"i","d":[],"c":[["e",{"w":"receive","s":"e","e":true,"k":"e","d":[227,824,1098,1217,1345,1373,1388,1549,1811,1830,1899,1900],"c":[["d",{"w":"received","s":"d","e":true,"k":"d","d":[61,89,95,100,286,706,1401,1436,1870,1893,1899,1900,1901],"c":[]}],["s",{"w":"receives","s":"s","e":true,"k":"s","d":[332,1218,1311,1326,1540,1543,1549,1808,1811,1831,1907,1911],"c":[]}]]}],["i",{"w":"receiving","s":"ing","e":true,"k":"i","d":[272,273,434,710,1456,1555,1888],"c":[]}]]}],["p",{"w":"reception","s":"ption","e":true,"k":"p","d":[1100],"c":[]}]]}],["o",{"w":"reco","s":"o","e":false,"k":"o","d":[],"c":[["v",{"w":"recover","s":"ver","e":true,"k":"v","d":[18,263,310,448,955,977,980,981,1021,1213,1346,1717,1845,1867,1885,1904],"c":[["y",{"w":"recovery","s":"y","e":true,"k":"y","d":[205,263,437,441,1023,1213,1380,1670,1839,1840,1842,1846],"c":[]}],["e",{"w":"recovered","s":"ed","e":true,"k":"e","d":[263],"c":[]}],["a",{"w":"recoverab","s":"ab","e":false,"k":"a","d":[],"c":[["l",{"w":"recoverable","s":"le","e":true,"k":"l","d":[310,1146,1343,1467,1476,1521],"c":[]}],["i",{"w":"recoverability","s":"ility","e":true,"k":"i","d":[1828],"c":[]}]]}],["s",{"w":"recovers","s":"s","e":true,"k":"s","d":[927],"c":[]}],["i",{"w":"recovering","s":"ing","e":true,"k":"i","d":[940,986,987,1285,1346],"c":[]}]]}],["m",{"w":"recom","s":"m","e":false,"k":"m","d":[],"c":[["m",{"w":"recommend","s":"mend","e":true,"k":"m","d":[48,263,509,652,667],"c":[["e",{"w":"recommended","s":"ed","e":true,"k":"e","d":[20,42,49,188,192,194,291,305,353,355,393,410,414,509,512,663,988,1067,1971],"c":[]}],["a",{"w":"recommendation","s":"ation","e":true,"k":"a","d":[413],"c":[]}]]}],["p",{"w":"recompilation","s":"pilation","e":true,"k":"p","d":[1069],"c":[]}]]}],["r",{"w":"record","s":"rd","e":true,"k":"r","d":[419,420,819,1238,1903,2166],"c":[["e",{"w":"recorded","s":"ed","e":true,"k":"e","d":[114,191,193,1876],"c":[]}],["s",{"w":"records","s":"s","e":true,"k":"s","d":[191,193,201,371,1027],"c":[]}]]}],["n",{"w":"recon","s":"n","e":false,"k":"n","d":[],"c":[["f",{"w":"reconfig","s":"fig","e":true,"k":"f","d":[305,563,629,653,668,672,673,675,677,685,688,706,718,721,729,731,844,908],"c":[["u",{"w":"reconfigur","s":"ur","e":false,"k":"u","d":[],"c":[["a",{"w":"reconfiguration","s":"ation","e":true,"k":"a","d":[176,305,594,609,610,621,634,636,637,639,653,654,659,665,668,670,674,675,679,689,697,698,706,710,719,720,723,725,729,730,731,732],"c":[["s",{"w":"reconfigurations","s":"s","e":true,"k":"s","d":[634,729,730],"c":[]}]]}],["e",{"w":"reconfigure","s":"e","e":true,"k":"e","d":[304,305,400,653,670,674,908],"c":[["d",{"w":"reconfigured","s":"d","e":true,"k":"d","d":[690],"c":[]}]]}]]}],["e",{"w":"reconfige","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"reconfigenabled","s":"nabled","e":true,"k":"n","d":[305,596,615,639,653],"c":[]}],["x",{"w":"reconfigexceptiontest","s":"xceptiontest","e":true,"k":"x","d":[675],"c":[]}]]}],["t",{"w":"reconfigtest","s":"test","e":true,"k":"t","d":[686],"c":[]}],["r",{"w":"reconfigrecoverytest","s":"recoverytest","e":true,"k":"r","d":[686],"c":[]}],["i",{"w":"reconfiginprogress","s":"inprogress","e":true,"k":"i","d":[721],"c":[]}],["f",{"w":"reconfigfailurecases","s":"failurecases","e":true,"k":"f","d":[728],"c":[]}]]}],["n",{"w":"reconnect","s":"nect","e":true,"k":"n","d":[226,311,333,337,1227,1268,1387,1397,2059],"c":[["d",{"w":"reconnectdelayms","s":"delayms","e":true,"k":"d","d":[311],"c":[]}],["i",{"w":"reconnecti","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"reconnection","s":"on","e":true,"k":"o","d":[687],"c":[]}],["n",{"w":"reconnecting","s":"ng","e":true,"k":"n","d":[1214],"c":[]}]]}],["e",{"w":"reconnected","s":"ed","e":true,"k":"e","d":[1345,1387],"c":[]}],["s",{"w":"reconnects","s":"s","e":true,"k":"s","d":[1395,1424,1436,1476],"c":[]}]]}],["s",{"w":"reconstruct","s":"struct","e":true,"k":"s","d":[419],"c":[]}]]}]]}],["r",{"w":"recreat","s":"reat","e":false,"k":"r","d":[],"c":[["i",{"w":"recreating","s":"ing","e":true,"k":"i","d":[209],"c":[]}],["e",{"w":"recreate","s":"e","e":true,"k":"e","d":[1322],"c":[]}]]}],["u",{"w":"recursive","s":"ursive","e":true,"k":"u","d":[1155,1428,1437,1443,1444,1812,2129,2164],"c":[["l",{"w":"recursively","s":"ly","e":true,"k":"l","d":[602,1029,1437,1443,1812],"c":[]}]]}],["i",{"w":"recipe","s":"ipe","e":true,"k":"i","d":[735,1320,1484,1485,1506,1537],"c":[["s",{"w":"recipes","s":"s","e":true,"k":"s","d":[1106,1287,1289,1321,1361,1457,1474,1476,1505,1509],"c":[]}]]}],["a",{"w":"recal","s":"al","e":false,"k":"a","d":[],"c":[["c",{"w":"recalculated","s":"culated","e":true,"k":"c","d":[1023,1024],"c":[]}],["l",{"w":"recall","s":"l","e":true,"k":"l","d":[1132,1135],"c":[]}]]}],["v",{"w":"recv_timeout","s":"v_timeout","e":true,"k":"v","d":[1264,1267],"c":[]}],["h",{"w":"recheck","s":"heck","e":true,"k":"h","d":[1885],"c":[]}]]}],["l",{"w":"rel","s":"l","e":false,"k":"l","d":[],"c":[["e",{"w":"rele","s":"e","e":false,"k":"e","d":[],"c":[["a",{"w":"releas","s":"as","e":false,"k":"a","d":[],"c":[["e",{"w":"release","s":"e","e":true,"k":"e","d":[17,509,524,633,666,1505,1509,1516,1540,1834,1837,1941,1943,1983,1984,1985,1991,1997,2003,2008,2011,2055],"c":[["s",{"w":"releases","s":"s","e":true,"k":"s","d":[518,1765],"c":[]}],["d",{"w":"released","s":"d","e":true,"k":"d","d":[1537],"c":[]}]]}],["i",{"w":"releasing","s":"ing","e":true,"k":"i","d":[1537,1541,2180],"c":[]}]]}],["v",{"w":"relevant","s":"vant","e":true,"k":"v","d":[1369],"c":[]}]]}],["i",{"w":"reli","s":"i","e":false,"k":"i","d":[],"c":[["a",{"w":"reliab","s":"ab","e":false,"k":"a","d":[],"c":[["l",{"w":"reliabl","s":"l","e":false,"k":"l","d":[],"c":[["e",{"w":"reliable","s":"e","e":true,"k":"e","d":[18,510,872,884,1360,1669,1670,1838,1846,1864,1867],"c":[]}],["y",{"w":"reliably","s":"y","e":true,"k":"y","d":[1454,1718],"c":[]}]]}],["i",{"w":"reliability","s":"ility","e":true,"k":"i","d":[513,529,1278,1283,1670,1795,1800,1817,1838],"c":[]}]]}],["e",{"w":"relie","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"relies","s":"s","e":true,"k":"s","d":[308,309,1677,1699],"c":[]}],["v",{"w":"relieve","s":"ve","e":true,"k":"v","d":[1798],"c":[]}]]}]]}],["a",{"w":"relat","s":"at","e":false,"k":"a","d":[],"c":[["i",{"w":"relati","s":"i","e":false,"k":"i","d":[],"c":[["v",{"w":"relative","s":"ve","e":true,"k":"v","d":[435,1304,1309,1384],"c":[["l",{"w":"relatively","s":"ly","e":true,"k":"l","d":[210,211,213,1317],"c":[]}]]}],["o",{"w":"relationship","s":"onship","e":true,"k":"o","d":[1700],"c":[]}]]}],["e",{"w":"related","s":"ed","e":true,"k":"e","d":[310,414,753,1654],"c":[]}]]}],["o",{"w":"reload","s":"oad","e":true,"k":"o","d":[2049],"c":[["i",{"w":"reloading","s":"ing","e":true,"k":"i","d":[365,366],"c":[]}]]}],["y",{"w":"rely","s":"y","e":true,"k":"y","d":[1676,1868,1871],"c":[]}]]}],["j",{"w":"rej","s":"j","e":false,"k":"j","d":[],"c":[["o",{"w":"rejoin","s":"oin","e":true,"k":"o","d":[18,19],"c":[]}],["e",{"w":"reject","s":"ect","e":true,"k":"e","d":[232,604,970],"c":[["e",{"w":"rejected","s":"ed","e":true,"k":"e","d":[268,2062],"c":[]}]]}]]}],["a",{"w":"rea","s":"a","e":false,"k":"a","d":[],"c":[["d",{"w":"read","s":"d","e":true,"k":"d","d":[29,121,201,252,253,254,278,289,301,306,384,392,408,409,413,594,655,683,713,733,824,850,871,967,1063,1077,1098,1155,1157,1160,1168,1169,1177,1198,1217,1285,1287,1289,1316,1355,1401,1432,1433,1438,1523,1537,1639,1809,1829,1908,1909,1916,2100],"c":[["-",{"w":"read-","s":"-","e":true,"k":"-","d":[1525],"c":[["o",{"w":"read-only","s":"only","e":true,"k":"o","d":[75,118,120,675,1191,2070],"c":[]}],["a",{"w":"read-after-write","s":"after-write","e":true,"k":"a","d":[408],"c":[]}],["h",{"w":"read-heavy","s":"heavy","e":true,"k":"h","d":[1067],"c":[]}],["w",{"w":"read-write","s":"write","e":true,"k":"w","d":[1475,1834],"c":[]}],["d",{"w":"read-dominant","s":"dominant","e":true,"k":"d","d":[1805],"c":[]}]]}],["_",{"w":"read_only","s":"_only","e":true,"k":"_","d":[120],"c":[]}],["s",{"w":"reads","s":"s","e":true,"k":"s","d":[252,328,413,414,447,678,872,910,913,1104,1279,1316,1543,1805,1809,1823,1833,1834,1907,1908],"c":[]}],["o",{"w":"readonly","s":"only","e":true,"k":"o","d":[2048,2157],"c":[["m",{"w":"readonlymode","s":"mode","e":true,"k":"m","d":[306,384],"c":[["t",{"w":"readonlymodetest","s":"test","e":true,"k":"t","d":[2121,2178],"c":[]}]]}]]}],["i",{"w":"reading","s":"ing","e":true,"k":"i","d":[344,347,727,906,1692,2092],"c":[]}],["a",{"w":"readable","s":"able","e":true,"k":"a","d":[444,671,1155],"c":[]}],["m",{"w":"readme","s":"me","e":true,"k":"m","d":[1058,1777],"c":[]}],["y",{"w":"ready","s":"y","e":true,"k":"y","d":[1485,1490,1498,1500,1501,1502,1879,2099],"c":[]}],["e",{"w":"reader","s":"er","e":true,"k":"e","d":[1503,1537,1540],"c":[]}]]}],["l",{"w":"real","s":"l","e":true,"k":"l","d":[46,539,1140,1329,1346,1347,1644],"c":[["l",{"w":"really","s":"ly","e":true,"k":"l","d":[46,250,307,393,1235,1881,1912],"c":[]}],["m",{"w":"realm","s":"m","e":true,"k":"m","d":[370,1223,1226],"c":[]}],["p",{"w":"realpath","s":"path","e":true,"k":"p","d":[1195],"c":[]}],["i",{"w":"realize","s":"ize","e":true,"k":"i","d":[1454],"c":[]}],["-",{"w":"real-","s":"-","e":false,"k":"-","d":[],"c":[["w",{"w":"real-world","s":"world","e":true,"k":"w","d":[1563],"c":[]}],["t",{"w":"real-time","s":"time","e":true,"k":"t","d":[1653,1659,1907],"c":[]}]]}],["t",{"w":"realtime","s":"time","e":true,"k":"t","d":[1662,1718],"c":[]}]]}],["s",{"w":"reason","s":"son","e":true,"k":"s","d":[190,448,731,1237,1240,1279,1349,1383,1416,1419,1456,1700],"c":[["a",{"w":"reasonable","s":"able","e":true,"k":"a","d":[213,1397,1913],"c":[]}],["s",{"w":"reasons","s":"s","e":true,"k":"s","d":[393,687,720,1346],"c":[]}]]}],["c",{"w":"reach","s":"ch","e":true,"k":"c","d":[414,980,1434],"c":[["e",{"w":"reaches","s":"es","e":true,"k":"e","d":[191,193,212,449,1422,1434,1546],"c":[]}],["a",{"w":"reachab","s":"ab","e":false,"k":"a","d":[],"c":[["i",{"w":"reachability","s":"ility","e":true,"k":"i","d":[373,400],"c":[["c",{"w":"reachabilitycheck","s":"check","e":false,"k":"c","d":[],"c":[["t",{"w":"reachabilitychecktimeoutms","s":"timeoutms","e":true,"k":"t","d":[373],"c":[]}],["e",{"w":"reachabilitycheckenabled","s":"enabled","e":true,"k":"e","d":[399],"c":[]}]]}]]}],["l",{"w":"reachable","s":"le","e":true,"k":"l","d":[373,399],"c":[]}]]}]]}]]}],["p",{"w":"rep","s":"p","e":false,"k":"p","d":[],"c":[["o",{"w":"repo","s":"o","e":false,"k":"o","d":[],"c":[["r",{"w":"report","s":"rt","e":true,"k":"r","d":[248,1262],"c":[["i",{"w":"reporting","s":"ing","e":true,"k":"i","d":[38,39],"c":[]}],["e",{"w":"reported","s":"ed","e":true,"k":"e","d":[508,1030,2103],"c":[]}],["s",{"w":"reports","s":"s","e":true,"k":"s","d":[1713],"c":[]}]]}],["s",{"w":"repository","s":"sitory","e":true,"k":"s","d":[1241,1647],"c":[]}]]}],["r",{"w":"repr","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"represent","s":"esent","e":true,"k":"e","d":[248,1098,1548,1689,1690],"c":[["e",{"w":"represented","s":"ed","e":true,"k":"e","d":[100,1101,1385,1478,1877],"c":[]}],["s",{"w":"represents","s":"s","e":true,"k":"s","d":[204,444,449,762,765,768,1171,1485,1877],"c":[]}],["a",{"w":"representati","s":"ati","e":false,"k":"a","d":[],"c":[["o",{"w":"representation","s":"on","e":true,"k":"o","d":[850],"c":[]}],["v",{"w":"representative","s":"ve","e":true,"k":"v","d":[1067],"c":[]}]]}],["i",{"w":"representing","s":"ing","e":true,"k":"i","d":[1506],"c":[]}]]}],["o",{"w":"reproducible","s":"oducible","e":true,"k":"o","d":[2112],"c":[]}]]}],["e",{"w":"repeat","s":"eat","e":true,"k":"e","d":[157,729,2175],"c":[["i",{"w":"repeating","s":"ing","e":true,"k":"i","d":[955],"c":[]}],["e",{"w":"repeatedly","s":"edly","e":true,"k":"e","d":[2137],"c":[]}]]}],["l",{"w":"repl","s":"l","e":false,"k":"l","d":[],"c":[["y",{"w":"reply","s":"y","e":true,"k":"y","d":[232],"c":[]}],["i",{"w":"repli","s":"i","e":false,"k":"i","d":[],"c":[["c",{"w":"replica","s":"ca","e":true,"k":"c","d":[764,771,774,1829],"c":[["t",{"w":"replicat","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"replicate","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"replicated","s":"d","e":true,"k":"d","d":[304,450,737,743,756,1687,1801,1828,1937,1939,1951,1968,1970,1972,1978],"c":[["s",{"w":"replicatedserver_id","s":"server_id","e":true,"k":"s","d":[761],"c":[]}]]}],["s",{"w":"replicates","s":"s","e":true,"k":"s","d":[1827],"c":[]}]]}],["i",{"w":"replication","s":"ion","e":true,"k":"i","d":[1686,1846,1951],"c":[]}]]}],["s",{"w":"replicas","s":"s","e":true,"k":"s","d":[1700,1701,1831],"c":[]}]]}],["e",{"w":"replies","s":"es","e":true,"k":"e","d":[1450],"c":[]}]]}],["a",{"w":"repla","s":"a","e":false,"k":"a","d":[],"c":[["y",{"w":"replaying","s":"ying","e":true,"k":"y","d":[448],"c":[]}],["c",{"w":"replac","s":"c","e":false,"k":"c","d":[],"c":[["e",{"w":"replace","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"replaced","s":"d","e":true,"k":"d","d":[690],"c":[]}],["s",{"w":"replaces","s":"s","e":true,"k":"s","d":[1200,1316,1809],"c":[]}],["m",{"w":"replacements","s":"ments","e":true,"k":"m","d":[1636],"c":[]}]]}],["i",{"w":"replacing","s":"ing","e":true,"k":"i","d":[1830],"c":[]}]]}]]}]]}],["a",{"w":"repackaging","s":"ackaging","e":true,"k":"a","d":[1069],"c":[]}]]}],["f",{"w":"ref","s":"f","e":false,"k":"f","d":[],"c":[["e",{"w":"refer","s":"er","e":true,"k":"e","d":[59,448,528,930,1313,1939],"c":[["e",{"w":"reference","s":"ence","e":true,"k":"e","d":[53,161,371,543,737,742,825,901,994,1090,1132,1140,1258,1261,1304,1355,1357,1773],"c":[]}],["r",{"w":"referr","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"referred","s":"ed","e":true,"k":"e","d":[102,1311],"c":[]}],["i",{"w":"referring","s":"ing","e":true,"k":"i","d":[930],"c":[]}]]}],["s",{"w":"refers","s":"s","e":true,"k":"s","d":[476,1313,1435,1537],"c":[]}]]}],["u",{"w":"refuse","s":"use","e":true,"k":"u","d":[404],"c":[["d",{"w":"refused","s":"d","e":true,"k":"d","d":[332],"c":[]}]]}],["r",{"w":"refresh","s":"resh","e":true,"k":"r","d":[1238],"c":[]}],["l",{"w":"reflect","s":"lect","e":true,"k":"l","d":[1731,1876],"c":[["s",{"w":"reflects","s":"s","e":true,"k":"s","d":[1804],"c":[]}]]}],["a",{"w":"refactor","s":"actor","e":true,"k":"a","d":[2109],"c":[]}]]}],["g",{"w":"reg","s":"g","e":false,"k":"g","d":[],"c":[["u",{"w":"regula","s":"ula","e":false,"k":"u","d":[],"c":[["t",{"w":"regulate","s":"te","e":true,"k":"t","d":[184],"c":[]}],["r",{"w":"regular","s":"r","e":true,"k":"r","d":[1498,2122],"c":[["l",{"w":"regularly","s":"ly","e":true,"k":"l","d":[272],"c":[]}]]}]]}],["a",{"w":"rega","s":"a","e":false,"k":"a","d":[],"c":[["r",{"w":"regard","s":"rd","e":true,"k":"r","d":[1449],"c":[["i",{"w":"regarding","s":"ing","e":true,"k":"i","d":[308,309,1444,1701,1939],"c":[]}],["l",{"w":"regardless","s":"less","e":true,"k":"l","d":[909,1282,1816],"c":[]}]]}],["i",{"w":"regains","s":"ins","e":true,"k":"i","d":[1394],"c":[]}]]}],["e",{"w":"regenerate","s":"enerate","e":true,"k":"e","d":[326],"c":[]}],["i",{"w":"regi","s":"i","e":false,"k":"i","d":[],"c":[["s",{"w":"regist","s":"st","e":false,"k":"s","d":[],"c":[["e",{"w":"register","s":"er","e":true,"k":"e","d":[754,755,1144,1485],"c":[["e",{"w":"registered","s":"ed","e":true,"k":"e","d":[524,1143,1436,1437,1443,1445,1455,1812],"c":[]}],["s",{"w":"registers","s":"s","e":true,"k":"s","d":[748,1485,1799],"c":[]}]]}],["r",{"w":"registr","s":"r","e":false,"k":"r","d":[],"c":[["a",{"w":"registration","s":"ation","e":true,"k":"a","d":[755,1667],"c":[]}],["y",{"w":"registry","s":"y","e":true,"k":"y","d":[1736],"c":[]}]]}]]}],["o",{"w":"regions","s":"ons","e":true,"k":"o","d":[1686,1724],"c":[]}]]}]]}],["d",{"w":"red","s":"d","e":false,"k":"d","d":[],"c":[["u",{"w":"redu","s":"u","e":false,"k":"u","d":[],"c":[["c",{"w":"reduce","s":"ce","e":true,"k":"c","d":[190,210,211,286,385,2108,2149,2176],"c":[["s",{"w":"reduces","s":"s","e":true,"k":"s","d":[205,880],"c":[]}]]}],["n",{"w":"redundan","s":"ndan","e":false,"k":"n","d":[],"c":[["c",{"w":"redundancy","s":"cy","e":true,"k":"c","d":[514,1652,1675,1979],"c":[]}],["t",{"w":"redundant","s":"t","e":true,"k":"t","d":[662,665,667,1443,1444],"c":[]}]]}]]}],["o",{"w":"redo","s":"o","e":true,"k":"o","d":[564],"c":[]}],["e",{"w":"redeployment","s":"eployment","e":true,"k":"e","d":[1069],"c":[]}],["i",{"w":"redis","s":"is","e":true,"k":"i","d":[1648,1737],"c":[["_",{"w":"redis_failover","s":"_failover","e":true,"k":"_","d":[1579],"c":[]}]]}]]}],["-",{"w":"re-","s":"-","e":true,"k":"-","d":[1383],"c":[["f",{"w":"re-f","s":"f","e":false,"k":"f","d":[],"c":[["i",{"w":"re-filled","s":"illed","e":true,"k":"i","d":[217],"c":[]}],["o",{"w":"re-form","s":"orm","e":true,"k":"o","d":[908],"c":[]}],["e",{"w":"re-fetches","s":"etches","e":true,"k":"e","d":[1128],"c":[]}]]}],["e",{"w":"re-e","s":"e","e":false,"k":"e","d":[],"c":[["x",{"w":"re-execute","s":"xecute","e":true,"k":"x","d":[598],"c":[]}],["l",{"w":"re-election","s":"lection","e":true,"k":"l","d":[1070],"c":[]}],["n",{"w":"re-enter","s":"nter","e":true,"k":"n","d":[1071],"c":[]}],["s",{"w":"re-establish","s":"stablish","e":true,"k":"s","d":[1148,1388,1401,1410],"c":[["e",{"w":"re-established","s":"ed","e":true,"k":"e","d":[1148,1387,1388],"c":[]}]]}]]}],["a",{"w":"re-add","s":"add","e":true,"k":"a","d":[697],"c":[]}],["u",{"w":"re-use","s":"use","e":true,"k":"u","d":[1384],"c":[]}]]}],["n",{"w":"ren","s":"n","e":false,"k":"n","d":[],"c":[["e",{"w":"renew","s":"ew","e":true,"k":"e","d":[225],"c":[["i",{"w":"renewing","s":"ing","e":true,"k":"i","d":[226],"c":[]}],["a",{"w":"renewal","s":"al","e":true,"k":"a","d":[2130],"c":[["s",{"w":"renewals","s":"s","e":true,"k":"s","d":[2130],"c":[]}]]}]]}],["d",{"w":"rende","s":"de","e":false,"k":"d","d":[],"c":[["r",{"w":"render","s":"r","e":true,"k":"r","d":[1306],"c":[]}],["z",{"w":"rendezvous","s":"zvous","e":true,"k":"z","d":[1317],"c":[]}]]}]]}],["v",{"w":"rev","s":"v","e":false,"k":"v","d":[],"c":[["e",{"w":"rever","s":"er","e":false,"k":"e","d":[],"c":[["s",{"w":"reverse","s":"se","e":true,"k":"s","d":[355,1225,2025,2148],"c":[]}],["t",{"w":"revert","s":"t","e":true,"k":"t","d":[2162],"c":[]}]]}],["o",{"w":"revo","s":"o","e":false,"k":"o","d":[],"c":[["c",{"w":"revoca","s":"ca","e":false,"k":"c","d":[],"c":[["t",{"w":"revocation","s":"tion","e":true,"k":"t","d":[356],"c":[]}],["b",{"w":"revocable","s":"ble","e":true,"k":"b","d":[1287,1469,1475,1539,1541],"c":[]}]]}],["k",{"w":"revoker","s":"ker","e":true,"k":"k","d":[1541],"c":[]}]]}],["i",{"w":"review","s":"iew","e":true,"k":"i","d":[747],"c":[["e",{"w":"reviewers","s":"ers","e":true,"k":"e","d":[1916],"c":[]}]]}]]}],["w",{"w":"rew","s":"w","e":false,"k":"w","d":[],"c":[["o",{"w":"reworked","s":"orked","e":true,"k":"o","d":[408],"c":[]}],["r",{"w":"rewritten","s":"ritten","e":true,"k":"r","d":[696],"c":[]}]]}],["b",{"w":"reb","s":"b","e":false,"k":"b","d":[],"c":[["a",{"w":"rebalanc","s":"alanc","e":false,"k":"a","d":[],"c":[["i",{"w":"rebalancing","s":"ing","e":true,"k":"i","d":[632],"c":[]}],["e",{"w":"rebalance","s":"e","e":true,"k":"e","d":[635],"c":[]}]]}],["o",{"w":"reboot","s":"oot","e":false,"k":"o","d":[],"c":[["e",{"w":"rebooted","s":"ed","e":true,"k":"e","d":[667],"c":[]}],["i",{"w":"rebooting","s":"ing","e":true,"k":"i","d":[709],"c":[]}],["s",{"w":"reboots","s":"s","e":true,"k":"s","d":[980,1346],"c":[]}]]}]]}],["e",{"w":"ree","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"reed","s":"d","e":true,"k":"d","d":[637,1358],"c":[]}],["s",{"w":"reestablish","s":"stablish","e":true,"k":"s","d":[1401],"c":[["e",{"w":"reestablishe","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"reestablishes","s":"s","e":true,"k":"s","d":[1385],"c":[]}],["d",{"w":"reestablished","s":"d","e":true,"k":"d","d":[1401,1410,1456],"c":[]}]]}]]}]]}],["r",{"w":"reregistered","s":"registered","e":true,"k":"r","d":[1436],"c":[]}],["i",{"w":"reissues","s":"issues","e":true,"k":"i","d":[1483],"c":[]}],["o",{"w":"reorder","s":"order","e":true,"k":"o","d":[1868],"c":[]}]]}],["o",{"w":"ro","s":"o","e":true,"k":"o","d":[75],"c":[["l",{"w":"rol","s":"l","e":false,"k":"l","d":[],"c":[["l",{"w":"roll","s":"l","e":true,"k":"l","d":[194,251],"c":[["i",{"w":"rolling","s":"ing","e":true,"k":"i","d":[17,158,159,254,256,295,372,452,633,634,666,667,1070],"c":[]}],["e",{"w":"rolled","s":"ed","e":true,"k":"e","d":[191,193,1285],"c":[]}]]}],["e",{"w":"role","s":"e","e":true,"k":"e","d":[645,697,702,941,1168,1544,1650],"c":[["s",{"w":"roles","s":"s","e":true,"k":"s","d":[610,634],"c":[]}]]}]]}],["m",{"w":"rom","s":"m","e":true,"k":"m","d":[384],"c":[]}],["g",{"w":"rogue","s":"gue","e":true,"k":"g","d":[406],"c":[]}],["o",{"w":"root","s":"ot","e":true,"k":"o","d":[435,755,863,970,985,1097,1098,1100,1101,1102,1103,1104,1384,1943,2128],"c":[["e",{"w":"rooted","s":"ed","e":true,"k":"e","d":[1384],"c":[]}]]}],["u",{"w":"rou","s":"u","e":false,"k":"u","d":[],"c":[["n",{"w":"round","s":"nd","e":true,"k":"n","d":[1404,1405],"c":[["-",{"w":"round-robin-restart","s":"-robin-restart","e":true,"k":"-","d":[1627],"c":[]}]]}],["t",{"w":"routing","s":"ting","e":true,"k":"t","d":[1640],"c":[]}]]}],["b",{"w":"rob","s":"b","e":false,"k":"b","d":[],"c":[["i",{"w":"robin","s":"in","e":true,"k":"i","d":[1404,1405],"c":[]}],["u",{"w":"robust","s":"ust","e":true,"k":"u","d":[1670],"c":[]}]]}]]}],["a",{"w":"ra","s":"a","e":false,"k":"a","d":[],"c":[["m",{"w":"ram","s":"m","e":true,"k":"m","d":[48,509],"c":[]}],["t",{"w":"rat","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"rate","s":"e","e":true,"k":"e","d":[216,217,218,219,220,221,222,414,422],"c":[["-",{"w":"rate-limit","s":"-limit","e":false,"k":"-","d":[],"c":[["e",{"w":"rate-limited","s":"ed","e":true,"k":"e","d":[125,129,984],"c":[]}],["a",{"w":"rate-limitation","s":"ation","e":true,"k":"a","d":[399],"c":[]}]]}],["s",{"w":"rates","s":"s","e":true,"k":"s","d":[229],"c":[]}],["l",{"w":"ratelimiterintervalinms","s":"limiterintervalinms","e":true,"k":"l","d":[422],"c":[]}]]}],["h",{"w":"rather","s":"her","e":true,"k":"h","d":[186,235,405,1676,1881],"c":[]}],["i",{"w":"ratio","s":"io","e":true,"k":"i","d":[1834,1844],"c":[["s",{"w":"ratios","s":"s","e":true,"k":"s","d":[1805],"c":[]}]]}]]}],["n",{"w":"ran","s":"n","e":true,"k":"n","d":[1844],"c":[["d",{"w":"random","s":"dom","e":true,"k":"d","d":[191,193,733,1403,1404,1405],"c":[["l",{"w":"randomly","s":"ly","e":true,"k":"l","d":[732,1237],"c":[]}],["i",{"w":"randomize","s":"ize","e":true,"k":"i","d":[1237],"c":[]}]]}],["g",{"w":"range","s":"ge","e":true,"k":"g","d":[191,193,392,1807],"c":[]}]]}],["r",{"w":"rare","s":"re","e":true,"k":"r","d":[250,730],"c":[]}],["i",{"w":"raise","s":"ise","e":true,"k":"i","d":[1845],"c":[["d",{"w":"raised","s":"d","e":true,"k":"d","d":[1169,1235],"c":[]}]]}],["c",{"w":"rac","s":"c","e":false,"k":"c","d":[],"c":[["k",{"w":"rackspace","s":"kspace","e":true,"k":"k","d":[1616],"c":[]}],["e",{"w":"race","s":"e","e":true,"k":"e","d":[1798,2047,2104,2136],"c":[]}]]}]]}],["w",{"w":"rw","s":"w","e":true,"k":"w","d":[75],"c":[]}],["i",{"w":"ri","s":"i","e":false,"k":"i","d":[],"c":[["s",{"w":"risk","s":"sk","e":true,"k":"s","d":[386],"c":[]}],["g",{"w":"right","s":"ght","e":true,"k":"g","d":[644,941,1346,1798,1860],"c":[["s",{"w":"rights","s":"s","e":true,"k":"s","d":[522,1626],"c":[]}]]}],["c",{"w":"rich","s":"ch","e":true,"k":"c","d":[809],"c":[]}]]}],["h",{"w":"rhel","s":"hel","e":true,"k":"h","d":[509],"c":[]}],["p",{"w":"rp","s":"p","e":false,"k":"p","d":[],"c":[["c",{"w":"rpc","s":"c","e":true,"k":"c","d":[1666],"c":[]}],["m",{"w":"rpm","s":"m","e":true,"k":"m","d":[1834],"c":[]}]]}],["n",{"w":"rnd","s":"nd","e":true,"k":"n","d":[1720],"c":[]}],["2",{"w":"r2","s":"2","e":true,"k":"2","d":[1750],"c":[]}]]}],["z",{"w":"z","s":"z","e":true,"k":"z","d":[1552,1553,1557,1760],"c":[["o",{"w":"zo","s":"o","e":false,"k":"o","d":[],"c":[["o",{"w":"zoo","s":"o","e":true,"k":"o","d":[108,151,596,641,642,654,811,833,891,892,913,949,1016,1034,1944,1945,1972],"c":[["k",{"w":"zookeeper","s":"keeper","e":true,"k":"k","d":[2,11,12,13,15,18,19,20,21,25,26,29,31,33,34,42,45,46,47,48,49,50,51,57,104,121,140,144,146,150,154,161,174,176,179,181,184,185,189,190,191,192,193,194,195,196,200,201,202,203,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,236,237,238,239,240,241,242,243,257,259,263,264,265,266,267,268,269,270,271,272,273,274,275,286,287,288,289,291,292,293,295,296,297,298,299,301,305,306,308,309,310,311,312,315,316,317,318,328,329,330,331,332,333,336,337,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,363,364,366,367,368,369,370,371,372,373,375,377,385,387,389,393,396,397,398,399,402,403,404,405,406,407,409,410,411,412,413,414,418,419,420,422,423,424,425,427,429,431,432,433,434,435,437,442,447,448,449,450,451,452,454,457,464,467,471,472,473,474,475,508,509,510,512,514,517,518,520,523,524,526,527,528,529,532,533,534,535,537,538,539,541,573,577,581,597,607,621,633,634,635,647,649,651,655,659,666,668,670,671,672,673,675,676,677,678,706,710,712,717,720,732,733,737,738,742,745,748,750,754,755,756,768,795,813,819,821,823,825,829,830,833,853,861,862,863,866,870,871,872,873,875,877,878,882,883,884,886,905,907,912,914,941,942,943,948,950,959,963,966,967,972,974,975,980,981,986,994,1015,1016,1017,1018,1034,1051,1052,1053,1057,1059,1061,1062,1063,1068,1077,1088,1090,1091,1094,1095,1097,1100,1102,1103,1111,1120,1123,1130,1131,1132,1133,1134,1136,1139,1140,1142,1143,1144,1145,1146,1148,1153,1154,1156,1157,1158,1165,1166,1167,1170,1172,1176,1187,1192,1203,1205,1211,1212,1213,1214,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1251,1252,1253,1257,1258,1260,1261,1263,1265,1271,1276,1279,1287,1289,1302,1303,1304,1309,1310,1311,1313,1315,1317,1318,1320,1321,1325,1326,1328,1329,1330,1343,1344,1345,1346,1347,1348,1349,1353,1355,1356,1357,1358,1359,1360,1361,1364,1366,1367,1368,1369,1370,1380,1382,1383,1384,1385,1386,1387,1388,1396,1397,1400,1402,1407,1411,1426,1430,1432,1434,1435,1436,1438,1445,1449,1450,1452,1454,1458,1459,1472,1473,1477,1478,1479,1480,1482,1484,1503,1505,1507,1509,1543,1544,1548,1549,1563,1624,1625,1626,1627,1629,1631,1635,1637,1639,1641,1643,1645,1647,1650,1652,1654,1656,1658,1660,1667,1669,1671,1673,1675,1677,1678,1679,1680,1682,1685,1686,1688,1693,1695,1697,1699,1702,1703,1705,1707,1709,1711,1713,1715,1717,1719,1720,1721,1722,1723,1724,1726,1727,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1741,1742,1743,1744,1751,1770,1783,1784,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1810,1811,1813,1819,1827,1829,1830,1831,1832,1833,1834,1844,1845,1846,1847,1849,1862,1863,1867,1872,1874,1875,1876,1878,1881,1882,1897,1906,1907,1908,1910,1911,1914,1915,1923,1929,1930,1934,1935,1936,1937,1939,1941,1942,1943,1944,1946,1949,1950,1951,1952,1953,1966,1967,1968,1973,1975,1976,1979,1980,1984,1985,1991,1997,2003,2008,2011,2019,2021,2038,2039,2041,2042,2046,2059,2063,2064,2072,2075,2077,2082,2096,2099,2102,2125,2138],"c":[["'",{"w":"zookeeper's","s":"'s","e":true,"k":"'","d":[53,105,174,419,538,610,676,871,977,1137,1150,1276,1278,1279,1291,1351,1363,1432,1503,1787,1806,1833],"c":[]}],["-",{"w":"zookeeper-","s":"-","e":false,"k":"-","d":[],"c":[["2",{"w":"zookeeper-2","s":"2","e":false,"k":"2","d":[],"c":[["9",{"w":"zookeeper-2901","s":"901","e":true,"k":"9","d":[207],"c":[]}],["3",{"w":"zookeeper-2332","s":"332","e":true,"k":"3","d":[2077],"c":[]}],["6",{"w":"zookeeper-2623","s":"623","e":true,"k":"6","d":[2078],"c":[]}],["5",{"w":"zookeeper-2590","s":"590","e":true,"k":"5","d":[2100],"c":[]}],["1",{"w":"zookeeper-2108","s":"108","e":true,"k":"1","d":[2118],"c":[]}]]}],["1",{"w":"zookeeper-11","s":"11","e":false,"k":"1","d":[],"c":[["7",{"w":"zookeeper-1179","s":"79","e":true,"k":"7","d":[208,209,210,211,212,213],"c":[]}],["4",{"w":"zookeeper-1147","s":"47","e":true,"k":"4","d":[1406],"c":[]}]]}],["3",{"w":"zookeeper-3","s":"3","e":false,"k":"3","d":[],"c":[["1",{"w":"zookeeper-31","s":"1","e":false,"k":"1","d":[],"c":[["7",{"w":"zookeeper-3179","s":"79","e":true,"k":"7","d":[259],"c":[]}],["8",{"w":"zookeeper-3188","s":"88","e":true,"k":"8","d":[293,647],"c":[]}]]}],["5",{"w":"zookeeper-3575","s":"575","e":true,"k":"5","d":[273],"c":[]}],["3",{"w":"zookeeper-3320","s":"320","e":true,"k":"3","d":[310],"c":[]}],["9",{"w":"zookeeper-39","s":"9","e":false,"k":"9","d":[],"c":[["7",{"w":"zookeeper-3979","s":"79","e":true,"k":"7","d":[316],"c":[]}],["3",{"w":"zookeeper-3938","s":"38","e":true,"k":"3","d":[2027],"c":[]}],["0",{"w":"zookeeper-3908","s":"08","e":true,"k":"0","d":[2120],"c":[]}],["9",{"w":"zookeeper-3996","s":"96","e":true,"k":"9","d":[2121],"c":[]}]]}],["4",{"w":"zookeeper-3486","s":"486","e":true,"k":"4","d":[2105],"c":[]}],["6",{"w":"zookeeper-36","s":"6","e":false,"k":"6","d":[],"c":[["5",{"w":"zookeeper-3652","s":"52","e":true,"k":"5","d":[2119],"c":[]}],["1",{"w":"zookeeper-3615","s":"15","e":true,"k":"1","d":[2179],"c":[]}]]}],["7",{"w":"zookeeper-3731","s":"731","e":true,"k":"7","d":[2146],"c":[]}],["8",{"w":"zookeeper-38","s":"8","e":false,"k":"8","d":[],"c":[["0",{"w":"zookeeper-3806","s":"06","e":true,"k":"0","d":[2147],"c":[]}],["6",{"w":"zookeeper-3860","s":"60","e":true,"k":"6","d":[2148],"c":[]}]]}]]}],["4",{"w":"zookeeper-4","s":"4","e":false,"k":"4","d":[],"c":[["0",{"w":"zookeeper-40","s":"0","e":false,"k":"0","d":[],"c":[["7",{"w":"zookeeper-4074","s":"74","e":true,"k":"7","d":[273],"c":[]}],["2",{"w":"zookeeper-402","s":"2","e":false,"k":"2","d":[],"c":[["0",{"w":"zookeeper-4020","s":"0","e":true,"k":"0","d":[2041],"c":[]}],["6",{"w":"zookeeper-4026","s":"6","e":true,"k":"6","d":[2122],"c":[]}]]}]]}],["7",{"w":"zookeeper-47","s":"7","e":false,"k":"7","d":[],"c":[["3",{"w":"zookeeper-473","s":"3","e":false,"k":"3","d":[],"c":[["6",{"w":"zookeeper-4736","s":"6","e":true,"k":"6","d":[2020],"c":[]}],["3",{"w":"zookeeper-4733","s":"3","e":true,"k":"3","d":[2084],"c":[]}],["0",{"w":"zookeeper-4730","s":"0","e":true,"k":"0","d":[2103],"c":[]}],["2",{"w":"zookeeper-4732","s":"2","e":true,"k":"2","d":[2112],"c":[]}]]}],["8",{"w":"zookeeper-478","s":"8","e":false,"k":"8","d":[],"c":[["0",{"w":"zookeeper-4780","s":"0","e":true,"k":"0","d":[2032],"c":[]}],["7",{"w":"zookeeper-4787","s":"7","e":true,"k":"7","d":[2046],"c":[]}],["5",{"w":"zookeeper-4785","s":"5","e":true,"k":"5","d":[2104],"c":[]}]]}],["2",{"w":"zookeeper-472","s":"2","e":false,"k":"2","d":[],"c":[["5",{"w":"zookeeper-4725","s":"5","e":true,"k":"5","d":[2045],"c":[]}],["8",{"w":"zookeeper-4728","s":"8","e":true,"k":"8","d":[2099],"c":[]}],["1",{"w":"zookeeper-4721","s":"1","e":true,"k":"1","d":[2143],"c":[]}]]}],["9",{"w":"zookeeper-479","s":"9","e":false,"k":"9","d":[],"c":[["0",{"w":"zookeeper-4790","s":"0","e":true,"k":"0","d":[2067],"c":[]}],["4",{"w":"zookeeper-4794","s":"4","e":true,"k":"4","d":[2108],"c":[]}],["9",{"w":"zookeeper-4799","s":"9","e":true,"k":"9","d":[2109],"c":[]}]]}],["1",{"w":"zookeeper-471","s":"1","e":false,"k":"1","d":[],"c":[["2",{"w":"zookeeper-4712","s":"2","e":true,"k":"2","d":[2083],"c":[]}],["9",{"w":"zookeeper-4719","s":"9","e":true,"k":"9","d":[2142],"c":[]}],["7",{"w":"zookeeper-4717","s":"7","e":true,"k":"7","d":[2175],"c":[]}],["8",{"w":"zookeeper-4718","s":"8","e":true,"k":"8","d":[2176],"c":[]}],["0",{"w":"zookeeper-4710","s":"0","e":true,"k":"0","d":[2180],"c":[]}],["4",{"w":"zookeeper-4714","s":"4","e":true,"k":"4","d":[2181],"c":[]}],["5",{"w":"zookeeper-4715","s":"5","e":true,"k":"5","d":[2182],"c":[]}],["6",{"w":"zookeeper-4716","s":"6","e":true,"k":"6","d":[2194],"c":[]}]]}],["5",{"w":"zookeeper-475","s":"5","e":false,"k":"5","d":[],"c":[["2",{"w":"zookeeper-4752","s":"2","e":true,"k":"2","d":[2085],"c":[]}],["6",{"w":"zookeeper-4756","s":"6","e":true,"k":"6","d":[2106],"c":[]}],["3",{"w":"zookeeper-4753","s":"3","e":true,"k":"3","d":[2113],"c":[]}],["1",{"w":"zookeeper-4751","s":"1","e":true,"k":"1","d":[2114],"c":[]}],["4",{"w":"zookeeper-4754","s":"4","e":true,"k":"4","d":[2115],"c":[]}],["5",{"w":"zookeeper-4755","s":"5","e":true,"k":"5","d":[2116],"c":[]}]]}],["4",{"w":"zookeeper-4747","s":"47","e":true,"k":"4","d":[2091],"c":[]}],["7",{"w":"zookeeper-4778","s":"78","e":true,"k":"7","d":[2107],"c":[]}],["0",{"w":"zookeeper-470","s":"0","e":false,"k":"0","d":[],"c":[["5",{"w":"zookeeper-4705","s":"5","e":true,"k":"5","d":[2174],"c":[]}],["0",{"w":"zookeeper-4700","s":"0","e":true,"k":"0","d":[2191],"c":[]}],["7",{"w":"zookeeper-4707","s":"7","e":true,"k":"7","d":[2192],"c":[]}],["9",{"w":"zookeeper-4709","s":"9","e":true,"k":"9","d":[2193],"c":[]}]]}]]}],["8",{"w":"zookeeper-48","s":"8","e":false,"k":"8","d":[],"c":[["7",{"w":"zookeeper-487","s":"7","e":false,"k":"7","d":[],"c":[["1",{"w":"zookeeper-4871","s":"1","e":true,"k":"1","d":[2021],"c":[]}],["2",{"w":"zookeeper-4872","s":"2","e":true,"k":"2","d":[2052],"c":[]}],["6",{"w":"zookeeper-4876","s":"6","e":true,"k":"6","d":[2090],"c":[]}]]}],["9",{"w":"zookeeper-489","s":"9","e":false,"k":"9","d":[],"c":[["1",{"w":"zookeeper-4891","s":"1","e":true,"k":"1","d":[2036,2069],"c":[]}],["5",{"w":"zookeeper-4895","s":"5","e":true,"k":"5","d":[2066],"c":[]}],["7",{"w":"zookeeper-4897","s":"7","e":true,"k":"7","d":[2075],"c":[]}]]}],["1",{"w":"zookeeper-481","s":"1","e":false,"k":"1","d":[],"c":[["0",{"w":"zookeeper-4810","s":"0","e":true,"k":"0","d":[2047],"c":[]}],["9",{"w":"zookeeper-4819","s":"9","e":true,"k":"9","d":[2048],"c":[]}],["4",{"w":"zookeeper-4814","s":"4","e":true,"k":"4","d":[2087],"c":[]}]]}],["4",{"w":"zookeeper-484","s":"4","e":false,"k":"4","d":[],"c":[["6",{"w":"zookeeper-4846","s":"6","e":true,"k":"6","d":[2049],"c":[]}],["8",{"w":"zookeeper-4848","s":"8","e":true,"k":"8","d":[2050],"c":[]}],["3",{"w":"zookeeper-4843","s":"3","e":true,"k":"3","d":[2089],"c":[]}]]}],["5",{"w":"zookeeper-485","s":"5","e":false,"k":"5","d":[],"c":[["8",{"w":"zookeeper-4858","s":"8","e":true,"k":"8","d":[2051],"c":[]}],["2",{"w":"zookeeper-4852","s":"2","e":true,"k":"2","d":[2068],"c":[]}],["0",{"w":"zookeeper-4850","s":"0","e":true,"k":"0","d":[2092],"c":[]}],["1",{"w":"zookeeper-4851","s":"1","e":true,"k":"1","d":[2093],"c":[]}],["9",{"w":"zookeeper-4859","s":"9","e":true,"k":"9","d":[2095],"c":[]}]]}],["8",{"w":"zookeeper-488","s":"8","e":false,"k":"8","d":[],"c":[["6",{"w":"zookeeper-4886","s":"6","e":true,"k":"6","d":[2053],"c":[]}],["9",{"w":"zookeeper-4889","s":"9","e":true,"k":"9","d":[2054],"c":[]}]]}],["0",{"w":"zookeeper-480","s":"0","e":false,"k":"0","d":[],"c":[["4",{"w":"zookeeper-4804","s":"4","e":true,"k":"4","d":[2086],"c":[]}],["1",{"w":"zookeeper-4801","s":"1","e":true,"k":"1","d":[2110],"c":[]}],["7",{"w":"zookeeper-4807","s":"7","e":true,"k":"7","d":[2111],"c":[]}]]}],["3",{"w":"zookeeper-4839","s":"39","e":true,"k":"3","d":[2088],"c":[]}],["6",{"w":"zookeeper-486","s":"6","e":false,"k":"6","d":[],"c":[["0",{"w":"zookeeper-4860","s":"0","e":true,"k":"0","d":[2094],"c":[]}],["8",{"w":"zookeeper-4868","s":"8","e":true,"k":"8","d":[2097],"c":[]}]]}],["2",{"w":"zookeeper-4820","s":"20","e":true,"k":"2","d":[2096],"c":[]}]]}],["9",{"w":"zookeeper-49","s":"9","e":false,"k":"9","d":[],"c":[["5",{"w":"zookeeper-495","s":"5","e":false,"k":"5","d":[],"c":[["8",{"w":"zookeeper-4958","s":"8","e":true,"k":"8","d":[2022],"c":[]}],["5",{"w":"zookeeper-4955","s":"5","e":true,"k":"5","d":[2028],"c":[]}],["3",{"w":"zookeeper-4953","s":"3","e":true,"k":"3","d":[2064],"c":[]}],["4",{"w":"zookeeper-4954","s":"4","e":true,"k":"4","d":[2073],"c":[]}],["9",{"w":"zookeeper-4959","s":"9","e":true,"k":"9","d":[2076],"c":[]}]]}],["7",{"w":"zookeeper-497","s":"7","e":false,"k":"7","d":[],"c":[["4",{"w":"zookeeper-4974","s":"4","e":true,"k":"4","d":[2023],"c":[]}],["0",{"w":"zookeeper-4970","s":"0","e":true,"k":"0","d":[2031],"c":[]}],["6",{"w":"zookeeper-4976","s":"6","e":true,"k":"6","d":[2033],"c":[]}]]}],["8",{"w":"zookeeper-498","s":"8","e":false,"k":"8","d":[],"c":[["4",{"w":"zookeeper-4984","s":"4","e":true,"k":"4","d":[2024],"c":[]}],["6",{"w":"zookeeper-4986","s":"6","e":true,"k":"6","d":[2025],"c":[]}],["9",{"w":"zookeeper-4989","s":"9","e":true,"k":"9","d":[2026],"c":[]}]]}],["6",{"w":"zookeeper-496","s":"6","e":false,"k":"6","d":[],"c":[["2",{"w":"zookeeper-4962","s":"2","e":true,"k":"2","d":[2029],"c":[]}],["5",{"w":"zookeeper-4965","s":"5","e":true,"k":"5","d":[2030],"c":[]}],["0",{"w":"zookeeper-4960","s":"0","e":true,"k":"0","d":[2065],"c":[]}],["4",{"w":"zookeeper-4964","s":"4","e":true,"k":"4","d":[2074],"c":[]}]]}],["0",{"w":"zookeeper-490","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"zookeeper-4900","s":"0","e":true,"k":"0","d":[2055],"c":[]}],["7",{"w":"zookeeper-4907","s":"7","e":true,"k":"7","d":[2056],"c":[]}],["9",{"w":"zookeeper-4909","s":"9","e":true,"k":"9","d":[2057],"c":[]}],["2",{"w":"zookeeper-4902","s":"2","e":true,"k":"2","d":[2070],"c":[]}],["6",{"w":"zookeeper-4906","s":"6","e":true,"k":"6","d":[2071],"c":[]}]]}],["1",{"w":"zookeeper-4919","s":"19","e":true,"k":"1","d":[2058],"c":[]}],["2",{"w":"zookeeper-492","s":"2","e":false,"k":"2","d":[],"c":[["1",{"w":"zookeeper-4921","s":"1","e":true,"k":"1","d":[2059],"c":[]}],["5",{"w":"zookeeper-4925","s":"5","e":true,"k":"5","d":[2060],"c":[]}],["8",{"w":"zookeeper-4928","s":"8","e":true,"k":"8","d":[2061],"c":[]}]]}],["3",{"w":"zookeeper-4933","s":"33","e":true,"k":"3","d":[2062],"c":[]}],["4",{"w":"zookeeper-494","s":"4","e":false,"k":"4","d":[],"c":[["0",{"w":"zookeeper-4940","s":"0","e":true,"k":"0","d":[2063],"c":[]}],["4",{"w":"zookeeper-4944","s":"4","e":true,"k":"4","d":[2072],"c":[]}]]}]]}],["2",{"w":"zookeeper-42","s":"2","e":false,"k":"2","d":[],"c":[["4",{"w":"zookeeper-4240","s":"40","e":true,"k":"4","d":[2042],"c":[]}],["9",{"w":"zookeeper-429","s":"9","e":false,"k":"9","d":[],"c":[["3",{"w":"zookeeper-4293","s":"3","e":true,"k":"3","d":[2079],"c":[]}],["6",{"w":"zookeeper-4296","s":"6","e":true,"k":"6","d":[2123],"c":[]}]]}],["3",{"w":"zookeeper-4236","s":"36","e":true,"k":"3","d":[2101],"c":[]}],["8",{"w":"zookeeper-4289","s":"89","e":true,"k":"8","d":[2149],"c":[]}]]}],["6",{"w":"zookeeper-46","s":"6","e":false,"k":"6","d":[],"c":[["0",{"w":"zookeeper-4604","s":"04","e":true,"k":"0","d":[2043],"c":[]}],["9",{"w":"zookeeper-4699","s":"99","e":true,"k":"9","d":[2044],"c":[]}],["4",{"w":"zookeeper-464","s":"4","e":false,"k":"4","d":[],"c":[["7",{"w":"zookeeper-4647","s":"7","e":true,"k":"7","d":[2139],"c":[]}],["1",{"w":"zookeeper-4641","s":"1","e":true,"k":"1","d":[2186],"c":[]}],["2",{"w":"zookeeper-4642","s":"2","e":true,"k":"2","d":[2187],"c":[]}],["9",{"w":"zookeeper-4649","s":"9","e":true,"k":"9","d":[2188],"c":[]}]]}],["5",{"w":"zookeeper-465","s":"5","e":false,"k":"5","d":[],"c":[["4",{"w":"zookeeper-4654","s":"4","e":true,"k":"4","d":[2140],"c":[]}],["5",{"w":"zookeeper-4655","s":"5","e":true,"k":"5","d":[2145],"c":[]}],["7",{"w":"zookeeper-4657","s":"7","e":true,"k":"7","d":[2170],"c":[]}],["9",{"w":"zookeeper-4659","s":"9","e":true,"k":"9","d":[2171],"c":[]}]]}],["7",{"w":"zookeeper-467","s":"7","e":false,"k":"7","d":[],"c":[["4",{"w":"zookeeper-4674","s":"4","e":true,"k":"4","d":[2141],"c":[]}],["6",{"w":"zookeeper-4676","s":"6","e":true,"k":"6","d":[2178],"c":[]}]]}],["1",{"w":"zookeeper-4616","s":"16","e":true,"k":"1","d":[2167],"c":[]}],["2",{"w":"zookeeper-4622","s":"22","e":true,"k":"2","d":[2168],"c":[]}],["3",{"w":"zookeeper-463","s":"3","e":false,"k":"3","d":[],"c":[["6",{"w":"zookeeper-4636","s":"6","e":true,"k":"6","d":[2169],"c":[]}],["0",{"w":"zookeeper-4630","s":"0","e":true,"k":"0","d":[2177],"c":[]}]]}],["6",{"w":"zookeeper-466","s":"6","e":false,"k":"6","d":[],"c":[["0",{"w":"zookeeper-4660","s":"0","e":true,"k":"0","d":[2172],"c":[]}],["1",{"w":"zookeeper-4661","s":"1","e":true,"k":"1","d":[2173],"c":[]}],["9",{"w":"zookeeper-4669","s":"9","e":true,"k":"9","d":[2189],"c":[]}]]}],["8",{"w":"zookeeper-4688","s":"88","e":true,"k":"8","d":[2190],"c":[]}]]}],["3",{"w":"zookeeper-43","s":"3","e":false,"k":"3","d":[],"c":[["9",{"w":"zookeeper-439","s":"9","e":false,"k":"9","d":[],"c":[["4",{"w":"zookeeper-4394","s":"4","e":true,"k":"4","d":[2080],"c":[]}],["3",{"w":"zookeeper-4393","s":"3","e":true,"k":"3","d":[2125],"c":[]}]]}],["2",{"w":"zookeeper-4327","s":"27","e":true,"k":"2","d":[2117],"c":[]}],["0",{"w":"zookeeper-430","s":"0","e":false,"k":"0","d":[],"c":[["8",{"w":"zookeeper-4308","s":"8","e":true,"k":"8","d":[2124],"c":[]}],["3",{"w":"zookeeper-4303","s":"3","e":true,"k":"3","d":[2150],"c":[]}]]}]]}],["4",{"w":"zookeeper-44","s":"4","e":false,"k":"4","d":[],"c":[["0",{"w":"zookeeper-4409","s":"09","e":true,"k":"0","d":[2081],"c":[]}],["1",{"w":"zookeeper-4415","s":"15","e":true,"k":"1","d":[2102],"c":[]}],["6",{"w":"zookeeper-446","s":"6","e":false,"k":"6","d":[],"c":[["6",{"w":"zookeeper-4466","s":"6","e":true,"k":"6","d":[2126],"c":[]}],["4",{"w":"zookeeper-4464","s":"4","e":true,"k":"4","d":[2151],"c":[]}],["7",{"w":"zookeeper-4467","s":"7","e":true,"k":"7","d":[2152],"c":[]}]]}],["7",{"w":"zookeeper-447","s":"7","e":false,"k":"7","d":[],"c":[["1",{"w":"zookeeper-4471","s":"1","e":true,"k":"1","d":[2127],"c":[]}],["3",{"w":"zookeeper-4473","s":"3","e":true,"k":"3","d":[2128],"c":[]}],["5",{"w":"zookeeper-4475","s":"5","e":true,"k":"5","d":[2129],"c":[]}],["7",{"w":"zookeeper-4477","s":"7","e":true,"k":"7","d":[2130],"c":[]}],["2",{"w":"zookeeper-4472","s":"2","e":true,"k":"2","d":[2153],"c":[]}],["4",{"w":"zookeeper-4474","s":"4","e":true,"k":"4","d":[2154],"c":[]}],["9",{"w":"zookeeper-4479","s":"9","e":true,"k":"9","d":[2183],"c":[]}]]}],["9",{"w":"zookeeper-449","s":"9","e":false,"k":"9","d":[],"c":[["0",{"w":"zookeeper-4490","s":"0","e":true,"k":"0","d":[2155],"c":[]}],["1",{"w":"zookeeper-4491","s":"1","e":true,"k":"1","d":[2156],"c":[]}],["2",{"w":"zookeeper-4492","s":"2","e":true,"k":"2","d":[2157],"c":[]}],["4",{"w":"zookeeper-4494","s":"4","e":true,"k":"4","d":[2158],"c":[]}]]}],["8",{"w":"zookeeper-4482","s":"82","e":true,"k":"8","d":[2184],"c":[]}]]}],["5",{"w":"zookeeper-45","s":"5","e":false,"k":"5","d":[],"c":[["0",{"w":"zookeeper-450","s":"0","e":false,"k":"0","d":[],"c":[["8",{"w":"zookeeper-4508","s":"8","e":true,"k":"8","d":[2082],"c":[]}],["4",{"w":"zookeeper-4504","s":"4","e":true,"k":"4","d":[2131],"c":[]}],["5",{"w":"zookeeper-4505","s":"5","e":true,"k":"5","d":[2132],"c":[]}]]}],["1",{"w":"zookeeper-451","s":"1","e":false,"k":"1","d":[],"c":[["1",{"w":"zookeeper-4511","s":"1","e":true,"k":"1","d":[2133],"c":[]}],["4",{"w":"zookeeper-4514","s":"4","e":true,"k":"4","d":[2134],"c":[]}],["5",{"w":"zookeeper-4515","s":"5","e":true,"k":"5","d":[2135],"c":[]}],["8",{"w":"zookeeper-4518","s":"8","e":true,"k":"8","d":[2159],"c":[]}],["9",{"w":"zookeeper-4519","s":"9","e":true,"k":"9","d":[2160],"c":[]}]]}],["3",{"w":"zookeeper-453","s":"3","e":false,"k":"3","d":[],"c":[["7",{"w":"zookeeper-4537","s":"7","e":true,"k":"7","d":[2136],"c":[]}],["1",{"w":"zookeeper-4531","s":"1","e":true,"k":"1","d":[2162],"c":[]}]]}],["4",{"w":"zookeeper-4549","s":"49","e":true,"k":"4","d":[2137],"c":[]}],["6",{"w":"zookeeper-456","s":"6","e":false,"k":"6","d":[],"c":[["5",{"w":"zookeeper-4565","s":"5","e":true,"k":"5","d":[2138],"c":[]}],["6",{"w":"zookeeper-4566","s":"6","e":true,"k":"6","d":[2164],"c":[]}]]}],["7",{"w":"zookeeper-457","s":"7","e":false,"k":"7","d":[],"c":[["0",{"w":"zookeeper-4570","s":"0","e":true,"k":"0","d":[2144],"c":[]}],["3",{"w":"zookeeper-4573","s":"3","e":true,"k":"3","d":[2165],"c":[]}],["5",{"w":"zookeeper-4575","s":"5","e":true,"k":"5","d":[2166],"c":[]}]]}],["2",{"w":"zookeeper-4529","s":"29","e":true,"k":"2","d":[2161],"c":[]}],["5",{"w":"zookeeper-4551","s":"51","e":true,"k":"5","d":[2163],"c":[]}],["9",{"w":"zookeeper-4599","s":"99","e":true,"k":"9","d":[2185],"c":[]}]]}]]}],["7",{"w":"zookeeper-784","s":"784","e":true,"k":"7","d":[384],"c":[]}],["b",{"w":"zookeeper-based","s":"based","e":true,"k":"b","d":[1079,1648,1683],"c":[]}],["c",{"w":"zookeeper-client","s":"client","e":true,"k":"c","d":[1203,1242,1243,1244,1256],"c":[["-",{"w":"zookeeper-client-c","s":"-c","e":true,"k":"-","d":[1203,1242,1243,1244,1256],"c":[]}]]}],["j",{"w":"zookeeper-jute","s":"jute","e":true,"k":"j","d":[1242],"c":[]}],["x",{"w":"zookeeper-x","s":"x","e":true,"k":"x","d":[1244],"c":[]}],["r",{"w":"zookeeper-re","s":"re","e":false,"k":"r","d":[],"c":[["c",{"w":"zookeeper-recipes","s":"cipes","e":true,"k":"c","d":[1505,1509],"c":[["-",{"w":"zookeeper-recipes-","s":"-","e":false,"k":"-","d":[],"c":[["q",{"w":"zookeeper-recipes-queue","s":"queue","e":true,"k":"q","d":[1505],"c":[]}],["l",{"w":"zookeeper-recipes-lock","s":"lock","e":true,"k":"l","d":[1509],"c":[]}]]}]]}],["s",{"w":"zookeeper-resilience-at-pinterest-adfd8acf2a6b","s":"silience-at-pinterest-adfd8acf2a6b","e":true,"k":"s","d":[1762],"c":[]}]]}],["a",{"w":"zookeeper-at-twitter","s":"at-twitter","e":true,"k":"a","d":[1758],"c":[]}],["8",{"w":"zookeeper-842","s":"842","e":true,"k":"8","d":[2019],"c":[]}],["5",{"w":"zookeeper-501","s":"501","e":false,"k":"5","d":[],"c":[["7",{"w":"zookeeper-5017","s":"7","e":true,"k":"7","d":[2034],"c":[]}],["8",{"w":"zookeeper-5018","s":"8","e":true,"k":"8","d":[2035],"c":[]}]]}],["s",{"w":"zookeeper-server","s":"server","e":true,"k":"s","d":[2085],"c":[]}],["9",{"w":"zookeeper-910","s":"910","e":true,"k":"9","d":[2098],"c":[]}]]}],["a",{"w":"zookeeperadmin","s":"admin","e":true,"k":"a","d":[670],"c":[]}],["s",{"w":"zookeepers","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"zookeeperserv","s":"erv","e":false,"k":"e","d":[],"c":[["i",{"w":"zookeeperservice","s":"ice","e":true,"k":"i","d":[753],"c":[]}],["e",{"w":"zookeeperserver","s":"er","e":true,"k":"e","d":[771,774,777,785,1374,1418,2166],"c":[["e",{"w":"zookeeperserverembedded","s":"embedded","e":true,"k":"e","d":[2029,2150],"c":[]}]]}]]}],["t",{"w":"zookeeperst","s":"t","e":true,"k":"t","d":[1240],"c":[]}]]}],["m",{"w":"zookeeperm","s":"m","e":false,"k":"m","d":[],"c":[["a",{"w":"zookeepermain","s":"ain","e":true,"k":"a","d":[959],"c":[]}],["t",{"w":"zookeepermt","s":"t","e":true,"k":"t","d":[1263],"c":[]}]]}],["_",{"w":"zookeeper_","s":"_","e":false,"k":"_","d":[],"c":[["m",{"w":"zookeeper_mt","s":"mt","e":true,"k":"m","d":[1240,1247,1254],"c":[]}],["i",{"w":"zookeeper_in","s":"in","e":false,"k":"i","d":[],"c":[["i",{"w":"zookeeper_init","s":"it","e":true,"k":"i","d":[1264],"c":[]}],["t",{"w":"zookeeper_interest","s":"terest","e":true,"k":"t","d":[2044],"c":[]}]]}],["v",{"w":"zookeeper_version","s":"version","e":true,"k":"v","d":[2061],"c":[]}]]}],["h",{"w":"zookeeperhivelockmanager","s":"hivelockmanager","e":true,"k":"h","d":[1769],"c":[]}]]}],["_",{"w":"zoo_","s":"_","e":false,"k":"_","d":[],"c":[["d",{"w":"zoo_datadir_autocreate_disable","s":"datadir_autocreate_disable","e":true,"k":"d","d":[403],"c":[]}],["r",{"w":"zoo_re","s":"re","e":false,"k":"r","d":[],"c":[["p",{"w":"zoo_replicated1","s":"plicated1","e":true,"k":"p","d":[657,658,661,664],"c":[]}],["a",{"w":"zoo_read_acl_unsafe","s":"ad_acl_unsafe","e":true,"k":"a","d":[1189,1191],"c":[]}]]}],["l",{"w":"zoo_log_dir","s":"log_dir","e":true,"k":"l","d":[1019],"c":[]}],["e",{"w":"zoo_e","s":"e","e":false,"k":"e","d":[],"c":[["x",{"w":"zoo_exists","s":"xists","e":true,"k":"x","d":[1167],"c":[]}],["r",{"w":"zoo_errors","s":"rrors","e":true,"k":"r","d":[1262],"c":[]}]]}],["p",{"w":"zoo_perm_","s":"perm_","e":false,"k":"p","d":[],"c":[["r",{"w":"zoo_perm_read","s":"read","e":true,"k":"r","d":[1177,1189],"c":[]}],["w",{"w":"zoo_perm_write","s":"write","e":true,"k":"w","d":[1178],"c":[]}],["c",{"w":"zoo_perm_create","s":"create","e":true,"k":"c","d":[1179],"c":[]}],["d",{"w":"zoo_perm_delete","s":"delete","e":true,"k":"d","d":[1180],"c":[]}],["a",{"w":"zoo_perm_a","s":"a","e":false,"k":"a","d":[],"c":[["d",{"w":"zoo_perm_admin","s":"dmin","e":true,"k":"d","d":[1181],"c":[]}],["l",{"w":"zoo_perm_all","s":"ll","e":true,"k":"l","d":[1182,1188,1190],"c":[]}]]}]]}],["a",{"w":"zoo_a","s":"a","e":false,"k":"a","d":[],"c":[["n",{"w":"zoo_anyone_id_unsafe","s":"nyone_id_unsafe","e":true,"k":"n","d":[1184,1188,1189],"c":[]}],["u",{"w":"zoo_auth_ids","s":"uth_ids","e":true,"k":"u","d":[1185,1186,1190],"c":[]}],["d",{"w":"zoo_add_auth","s":"dd_auth","e":true,"k":"d","d":[1193,1194],"c":[]}]]}],["o",{"w":"zoo_open_acl_unsafe","s":"open_acl_unsafe","e":true,"k":"o","d":[1188],"c":[]}],["c",{"w":"zoo_creat","s":"creat","e":false,"k":"c","d":[],"c":[["o",{"w":"zoo_creator_all_acl","s":"or_all_acl","e":true,"k":"o","d":[1190],"c":[]}],["e",{"w":"zoo_create","s":"e","e":true,"k":"e","d":[1195,1196],"c":[]}]]}],["g",{"w":"zoo_get_acl","s":"get_acl","e":true,"k":"g","d":[1197],"c":[]}],["s",{"w":"zoo_set_acl","s":"set_acl","e":true,"k":"s","d":[1199],"c":[]}]]}],["d",{"w":"zoodefs","s":"defs","e":true,"k":"d","d":[675,678,684,2154],"c":[]}],["1",{"w":"zoo1","s":"1","e":true,"k":"1","d":[1094],"c":[]}],["o",{"w":"zooopen_acl_unsafe","s":"open_acl_unsafe","e":true,"k":"o","d":[1191],"c":[]}],["i",{"w":"zooinspector","s":"inspector","e":true,"k":"i","d":[2128,2151],"c":[]}]]}],["m",{"w":"zombie","s":"mbie","e":true,"k":"m","d":[309],"c":[]}]]}],["n",{"w":"znode","s":"node","e":true,"k":"n","d":[232,317,327,329,330,389,402,415,416,417,533,578,671,675,678,681,777,790,845,846,847,848,850,1028,1120,1124,1127,1128,1129,1130,1135,1140,1146,1148,1154,1155,1168,1172,1289,1311,1315,1316,1318,1320,1322,1323,1327,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1345,1368,1376,1426,1435,1436,1437,1443,1445,1451,1454,1503,1548,1549,1552,1554,1555,1558,1560,1682,1683,1807,1809,1810,1811,1812,1954,1959,1962],"c":[["s",{"w":"znodes","s":"s","e":true,"k":"s","d":[12,72,201,329,394,395,809,862,1030,1079,1150,1154,1157,1291,1292,1311,1313,1314,1315,1317,1318,1321,1322,1323,1388,1437,1443,1548,1549,1799,1808,1810,1812],"c":[]}],["'",{"w":"znode's","s":"'s","e":true,"k":"'","d":[1311,1808],"c":[]}],["1",{"w":"znode1","s":"1","e":true,"k":"1","d":[1433],"c":[]}]]}],["k",{"w":"zk","s":"k","e":true,"k":"k","d":[18,148,155,365,366,369,370,384,644,827,1387,1388,1410,1660,1741,2135],"c":[["s",{"w":"zks","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"zkserver","s":"erver","e":true,"k":"e","d":[20,24,306,403,524,747,748,996,2169],"c":[["-",{"w":"zkserver-initialize","s":"-initialize","e":true,"k":"-","d":[405,407],"c":[]}]]}],["n",{"w":"zksnapshot","s":"napshot","e":false,"k":"n","d":[],"c":[["t",{"w":"zksnapshottoolkit","s":"toolkit","e":true,"k":"t","d":[1001],"c":[]}],["r",{"w":"zksnapshotrecursivesummarytoolkit","s":"recursivesummarytoolkit","e":true,"k":"r","d":[1002],"c":[]}],["c",{"w":"zksnapshotcomparer","s":"comparer","e":true,"k":"c","d":[1003],"c":[]}]]}]]}],["t",{"w":"zkt","s":"t","e":false,"k":"t","d":[],"c":[["r",{"w":"zktr","s":"r","e":false,"k":"r","d":[],"c":[["u",{"w":"zktrustmanager","s":"ustmanager","e":true,"k":"u","d":[355,376],"c":[]}],["e",{"w":"zktreeutil","s":"eeutil","e":true,"k":"e","d":[2120,2156],"c":[]}]]}],["x",{"w":"zktxnlogtoolkit","s":"xnlogtoolkit","e":true,"k":"x","d":[1000],"c":[]}]]}],["c",{"w":"zkc","s":"c","e":false,"k":"c","d":[],"c":[["l",{"w":"zkcl","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"zkcli","s":"i","e":true,"k":"i","d":[543,853,864,997,1953,2092],"c":[["e",{"w":"zkclient","s":"ent","e":true,"k":"e","d":[1271,1273],"c":[]}]]}],["e",{"w":"zkcleanup","s":"eanup","e":true,"k":"e","d":[999],"c":[]}]]}],["o",{"w":"zkconfig","s":"onfig","e":true,"k":"o","d":[2031],"c":[]}]]}],["1",{"w":"zk1","s":"1","e":true,"k":"1","d":[942,943],"c":[]}],["2",{"w":"zk2","s":"2","e":true,"k":"2","d":[942,943],"c":[]}],["e",{"w":"zkenv","s":"env","e":true,"k":"e","d":[998],"c":[]}],["-",{"w":"zk-smoketest","s":"-smoketest","e":true,"k":"-","d":[1010,1068],"c":[]}],["h",{"w":"zkhandle_t","s":"handle_t","e":true,"k":"h","d":[1269],"c":[]}],["f",{"w":"zkf","s":"f","e":false,"k":"f","d":[],"c":[["a",{"w":"zkfailovercontroller","s":"ailovercontroller","e":true,"k":"a","d":[1680],"c":[]}],["c",{"w":"zkfc","s":"c","e":true,"k":"c","d":[1680,1681,1682,1683],"c":[]}]]}],["p",{"w":"zkpython","s":"python","e":true,"k":"p","d":[1728,2021],"c":[]}],["_",{"w":"zk_test","s":"_test","e":true,"k":"_","d":[1959,1961,1963],"c":[]}],["d",{"w":"zkdatabase","s":"database","e":true,"k":"d","d":[2108,2110],"c":[]}],["a",{"w":"zkadaptor","s":"adaptor","e":true,"k":"a","d":[2118],"c":[]}],["u",{"w":"zkutil","s":"util","e":true,"k":"u","d":[2131,2180],"c":[]}]]}],["x",{"w":"zxid","s":"xid","e":true,"k":"x","d":[76,121,406,446,448,449,679,924,925,926,927,928,930,986,1070,1326,1331,1332,1333,1876,1877,1883,1885,1887,1888,1891,1903,1905,2145],"c":[["1",{"w":"zxid1","s":"1","e":true,"k":"1","d":[1326],"c":[]}],["2",{"w":"zxid2","s":"2","e":true,"k":"2","d":[1326],"c":[]}],["s",{"w":"zxids","s":"s","e":true,"k":"s","d":[1887],"c":[]}]]}],["a",{"w":"zab","s":"ab","e":true,"k":"a","d":[138,398,2179],"c":[["s",{"w":"zabstate","s":"state","e":true,"k":"s","d":[138],"c":[]}]]}],["e",{"w":"ze","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"zero","s":"ro","e":true,"k":"r","d":[406,414,904,1237,1320,1339],"c":[["-",{"w":"zero-downtime","s":"-downtime","e":true,"k":"-","d":[140],"c":[]}]]}],["u",{"w":"zeus","s":"us","e":true,"k":"u","d":[1724],"c":[]}],["n",{"w":"zen","s":"n","e":true,"k":"n","d":[1727],"c":[]}]]}],["t",{"w":"zthrottledop","s":"throttledop","e":true,"k":"t","d":[270],"c":[]}],["h",{"w":"zh","s":"h","e":true,"k":"h","d":[1193,1195,1197,1199],"c":[["a",{"w":"zhandlet","s":"andlet","e":true,"k":"a","d":[1193,1195,1197,1199],"c":[]}],["-",{"w":"zh-","s":"-","e":true,"k":"-","d":[2044],"c":[]}]]}],["y",{"w":"zynga","s":"ynga","e":true,"k":"y","d":[1623,1743],"c":[]}]]}],["c",{"w":"c","s":"c","e":true,"k":"c","d":[333,337,475,526,668,669,690,691,731,1050,1150,1153,1176,1203,1205,1208,1210,1211,1239,1252,1256,1262,1263,1305,1309,1387,1398,1553,1554,1556,1557,1558,1760,1797,1866,1967,2041,2066,2095,2140,2141,2183],"c":[["l",{"w":"cl","s":"l","e":false,"k":"l","d":[],"c":[["u",{"w":"cluster","s":"uster","e":true,"k":"u","d":[2,11,18,19,51,59,73,142,161,164,295,304,372,373,385,399,400,510,520,653,659,670,671,673,674,732,762,768,795,821,872,877,905,907,908,909,942,951,977,980,981,986,987,1016,1347,1387,1388,1390,1391,1392,1393,1394,1395,1627,1640,1645,1658,1660,1668,1676,1678,1685,1687,1688,1703,1711,1713,1717,1719,1726,1727,1729,1732,1737],"c":[["s",{"w":"clusters","s":"s","e":true,"k":"s","d":[46,140,282,637,830,886,1676,1695],"c":[]}],["e",{"w":"clustered","s":"ed","e":true,"k":"e","d":[457,462,469,512],"c":[]}],["i",{"w":"clustering","s":"ing","e":true,"k":"i","d":[1627],"c":[]}],["-",{"w":"cluster-","s":"-","e":false,"k":"-","d":[],"c":[["s",{"w":"cluster-specific","s":"specific","e":true,"k":"s","d":[1713],"c":[]}],["d",{"w":"cluster-discovery","s":"discovery","e":true,"k":"d","d":[1777],"c":[]}]]}]]}],["e",{"w":"clea","s":"ea","e":false,"k":"e","d":[],"c":[["n",{"w":"clean","s":"n","e":true,"k":"n","d":[15,29,209,210,211,1020,1416,1896],"c":[["u",{"w":"cleanup","s":"up","e":true,"k":"u","d":[2,4,5,210,211,437],"c":[]}],["e",{"w":"cleaned","s":"ed","e":true,"k":"e","d":[445],"c":[]}]]}],["r",{"w":"clear","s":"r","e":true,"k":"r","d":[1091,1173,1315,1807,1881],"c":[]}]]}],["a",{"w":"class","s":"ass","e":true,"k":"a","d":[265,321,331,352,403,407,670,748,959,1097,1102,1115,1116,1130,1135,1139,1205,1213,1370,1387,1926],"c":[["p",{"w":"classpath","s":"path","e":true,"k":"p","d":[26,105,2039,2040],"c":[]}],["n",{"w":"classname","s":"name","e":true,"k":"n","d":[34],"c":[]}],["e",{"w":"classes","s":"es","e":true,"k":"e","d":[195,196,368,1088,1090,1212,1418],"c":[]}],["i",{"w":"classic","s":"ic","e":true,"k":"i","d":[1897],"c":[]}]]}],["i",{"w":"cli","s":"i","e":true,"k":"i","d":[542,593,607,668,678,681,1017,1064,1203,1256,1966,2135,2171],"c":[["e",{"w":"client","s":"ent","e":true,"k":"e","d":[46,57,65,83,87,91,93,100,111,112,113,130,140,143,144,178,179,195,196,197,198,199,232,289,305,309,315,317,328,329,331,332,333,336,337,340,343,345,346,348,349,350,351,352,353,354,355,356,357,359,360,361,366,367,369,370,371,391,392,396,408,410,417,425,473,475,479,481,528,575,612,632,634,635,640,644,665,667,672,681,683,705,706,709,718,729,731,732,733,780,787,793,816,833,838,840,842,853,858,859,862,864,880,882,908,1016,1068,1091,1111,1112,1120,1121,1128,1129,1145,1150,1153,1157,1169,1174,1175,1187,1203,1205,1207,1210,1211,1213,1217,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1235,1237,1241,1254,1256,1262,1263,1268,1271,1273,1274,1275,1280,1282,1283,1284,1285,1286,1287,1289,1311,1313,1315,1317,1328,1345,1346,1347,1365,1367,1368,1369,1380,1382,1383,1384,1385,1386,1387,1388,1390,1391,1392,1393,1394,1395,1396,1397,1398,1400,1401,1402,1403,1404,1405,1407,1410,1423,1424,1432,1433,1434,1436,1445,1450,1451,1472,1476,1480,1481,1483,1485,1503,1506,1513,1514,1518,1521,1529,1530,1540,1549,1658,1680,1732,1783,1800,1803,1808,1811,1814,1816,1817,1907,1908,1948,1957,2025,2026,2038,2041,2059,2066,2082,2086,2088,2095,2101,2102,2138,2140,2141,2147,2163,2183],"c":[["s",{"w":"clients","s":"s","e":true,"k":"s","d":[46,58,61,68,178,189,197,270,289,292,333,336,337,340,341,354,358,371,377,384,390,414,635,669,673,675,687,730,733,809,862,866,870,871,872,882,883,1091,1157,1166,1175,1227,1286,1289,1315,1363,1371,1380,1388,1401,1403,1404,1420,1426,1434,1437,1482,1484,1503,1507,1510,1516,1537,1542,1548,1549,1685,1731,1803,1811,1812,1818,1829,1830,1834,1907,2087],"c":[]}],["c",{"w":"clientc","s":"c","e":false,"k":"c","d":[],"c":[["n",{"w":"clientcnxn","s":"nxn","e":true,"k":"n","d":[2082,2119],"c":[["s",{"w":"clientcnxnsocket","s":"socket","e":true,"k":"s","d":[144,179,1229],"c":[["n",{"w":"clientcnxnsocketn","s":"n","e":false,"k":"n","d":[],"c":[["e",{"w":"clientcnxnsocketnetty","s":"etty","e":true,"k":"e","d":[144,1229,2079,2123,2134],"c":[]}],["i",{"w":"clientcnxnsocketnio","s":"io","e":true,"k":"i","d":[1229],"c":[]}]]}]]}]]}],["o",{"w":"clientconfig","s":"onfig","e":true,"k":"o","d":[1221],"c":[]}]]}],["p",{"w":"clientport","s":"port","e":true,"k":"p","d":[178,179,197,641,662,665,667,1016,1948],"c":[["a",{"w":"clientportaddress","s":"address","e":true,"k":"a","d":[197,641,662,667],"c":[]}],["l",{"w":"clientportlistenbacklog","s":"listenbacklog","e":true,"k":"l","d":[227],"c":[]}]]}],["t",{"w":"clienttcpkeepalive","s":"tcpkeepalive","e":true,"k":"t","d":[309],"c":[]}],["h",{"w":"clienthostnameverification","s":"hostnameverification","e":true,"k":"h","d":[354,2022],"c":[]}],["'",{"w":"client's","s":"'s","e":true,"k":"'","d":[354,1346,1388,1396,1908,2057],"c":[]}],["-",{"w":"client-","s":"-","e":false,"k":"-","d":[],"c":[["d",{"w":"client-driven","s":"driven","e":true,"k":"d","d":[357],"c":[]}],["s",{"w":"client-s","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"client-server","s":"erver","e":true,"k":"e","d":[364,376],"c":[]}],["i",{"w":"client-side","s":"ide","e":true,"k":"i","d":[526,635,1148,1472],"c":[]}]]}]]}],["a",{"w":"clientauth","s":"auth","e":true,"k":"a","d":[358],"c":[]}],["i",{"w":"clientid","s":"id","e":true,"k":"i","d":[1264,1268],"c":[["_",{"w":"clientid_t","s":"_t","e":true,"k":"_","d":[1264],"c":[]}]]}]]}]]}],["o",{"w":"clo","s":"o","e":false,"k":"o","d":[],"c":[["s",{"w":"clos","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"close","s":"e","e":true,"k":"e","d":[194,271,272,333,337,547,575,1071,1218,1416,1870],"c":[["d",{"w":"closed","s":"d","e":true,"k":"d","d":[235,237,266,271,309,1218,1382,1401,1870,2123],"c":[]}],["s",{"w":"closes","s":"s","e":true,"k":"s","d":[862,1382,1401,2163],"c":[["o",{"w":"closesocketasync","s":"ocketasync","e":true,"k":"o","d":[271,272,342],"c":[]}]]}]]}],["i",{"w":"closing","s":"ing","e":true,"k":"i","d":[209,212,271,272,309,342,1136,1138,1407,2056],"c":[]}]]}],["c",{"w":"clock","s":"ck","e":true,"k":"c","d":[1329],"c":[["s",{"w":"clocks","s":"s","e":true,"k":"s","d":[531,1871],"c":[]}]]}],["u",{"w":"cloud","s":"ud","e":true,"k":"u","d":[830,1051,1631,1641,1657,1715,1730],"c":[["s",{"w":"clouds","s":"s","e":true,"k":"s","d":[1630],"c":[]}],["k",{"w":"cloudkarafka","s":"karafka","e":true,"k":"k","d":[1752],"c":[]}],["e",{"w":"cloudera","s":"era","e":true,"k":"e","d":[1763],"c":[]}]]}],["n",{"w":"clone","s":"ne","e":true,"k":"n","d":[1057],"c":[]}],["v",{"w":"clover","s":"ver","e":true,"k":"v","d":[2155],"c":[]}]]}]]}],["o",{"w":"co","s":"o","e":false,"k":"o","d":[],"c":[["n",{"w":"con","s":"n","e":false,"k":"n","d":[],"c":[["t",{"w":"cont","s":"t","e":false,"k":"t","d":[],"c":[["a",{"w":"conta","s":"a","e":false,"k":"a","d":[],"c":[["i",{"w":"contain","s":"in","e":true,"k":"i","d":[521,532,650,667,911,1353,1874,1903],"c":[["s",{"w":"contains","s":"s","e":true,"k":"s","d":[12,14,74,292,306,344,347,444,449,467,524,665,689,906,952,1130,1131,1219,1231,1233,1351,1403,1876,1929,1939,1975],"c":[["q",{"w":"containsquorum","s":"quorum","e":true,"k":"q","d":[913],"c":[]}]]}],["i",{"w":"containing","s":"ing","e":true,"k":"i","d":[100,150,343,346,521,651,665,717,944,947,1230,1232,1383,1521,1828],"c":[]}],["e",{"w":"containe","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"container","s":"r","e":true,"k":"r","d":[310,352,415,416,417,580,1131,1133,1134,1291,1298,1321,1322],"c":[["s",{"w":"containers","s":"s","e":true,"k":"s","d":[417,1212,1645],"c":[]}]]}],["d",{"w":"contained","s":"d","e":true,"k":"d","d":[1403,1942],"c":[]}]]}]]}],["c",{"w":"contact","s":"ct","e":true,"k":"c","d":[447,690,692],"c":[]}]]}],["i",{"w":"continu","s":"inu","e":false,"k":"i","d":[],"c":[["e",{"w":"continue","s":"e","e":true,"k":"e","d":[12,263,980,1405,1410,1918],"c":[]}],["o",{"w":"continuous","s":"ous","e":true,"k":"o","d":[209,1741],"c":[]}]]}],["e",{"w":"conte","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"conten","s":"n","e":false,"k":"n","d":[],"c":[["t",{"w":"content","s":"t","e":true,"k":"t","d":[74,1543,1723],"c":[["i",{"w":"contention","s":"ion","e":true,"k":"i","d":[538,1520,2051,2079],"c":[]}],["s",{"w":"contents","s":"s","e":true,"k":"s","d":[1128],"c":[]}]]}],["d",{"w":"contend","s":"d","e":true,"k":"d","d":[537],"c":[["i",{"w":"contending","s":"ing","e":true,"k":"i","d":[1104],"c":[]}]]}]]}],["x",{"w":"context","s":"xt","e":true,"k":"x","d":[352,530,1221,1264,1269,1455],"c":[["s",{"w":"contexts","s":"s","e":true,"k":"s","d":[890],"c":[]}]]}]]}],["r",{"w":"contr","s":"r","e":false,"k":"r","d":[],"c":[["o",{"w":"control","s":"ol","e":true,"k":"o","d":[212,239,314,425,454,673,675,676,1149,1150,1154,1316,1702,1723,1730,1809],"c":[["l",{"w":"controlle","s":"le","e":false,"k":"l","d":[],"c":[["d",{"w":"controlled","s":"d","e":true,"k":"d","d":[194,1237],"c":[]}],["r",{"w":"controller","s":"r","e":true,"k":"r","d":[1700],"c":[]}]]}],["s",{"w":"controls","s":"s","e":true,"k":"s","d":[227,259,263,305,419,1164,1225,1227,1237],"c":[]}]]}],["i",{"w":"contrib","s":"ib","e":true,"k":"i","d":[476,482],"c":[["u",{"w":"contribute","s":"ute","e":true,"k":"u","d":[1847],"c":[["d",{"w":"contributed","s":"d","e":true,"k":"d","d":[1704],"c":[]}]]}]]}]]}]]}],["f",{"w":"conf","s":"f","e":true,"k":"f","d":[17,26,60,112,306,833,854,1034,1944,1945,1972],"c":[["i",{"w":"confi","s":"i","e":false,"k":"i","d":[],"c":[["g",{"w":"config","s":"g","e":true,"k":"g","d":[108,112,151,156,208,209,293,295,304,305,405,548,656,659,671,675,678,681,690,691,694,696,714,729,733,873,874,876,878,881,1419,1978,2071,2138],"c":[["u",{"w":"configur","s":"ur","e":false,"k":"u","d":[],"c":[["a",{"w":"configura","s":"a","e":false,"k":"a","d":[],"c":[["t",{"w":"configuration","s":"tion","e":true,"k":"t","d":[13,16,17,46,53,59,60,102,108,112,119,151,160,161,162,163,173,174,176,177,185,285,293,295,298,306,315,321,334,340,367,371,373,398,399,402,447,457,519,520,523,527,541,576,611,616,624,625,633,634,635,639,641,642,650,653,655,656,659,660,662,663,665,667,671,675,678,679,680,681,683,685,688,689,690,691,692,694,695,696,697,706,707,709,710,713,714,715,718,719,723,724,725,727,729,730,731,733,807,830,854,855,877,905,908,910,1016,1207,1219,1222,1317,1370,1386,1461,1477,1641,1650,1667,1701,1711,1712,1713,1715,1724,1731,1734,1740,1742,1743,1760,1783,1797,1807,1942,1944,1949,1950,1968,1980,1981],"c":[["s",{"w":"configurations","s":"s","e":true,"k":"s","d":[172,328,450,648,706,1349,1671],"c":[]}]]}],["b",{"w":"configurable","s":"ble","e":true,"k":"b","d":[396,1030],"c":[]}]]}],["e",{"w":"configure","s":"e","e":true,"k":"e","d":[20,30,32,140,331,421,426,428,430,795,815,816,821,830,886,903,1059,1245,1251,1641,1669,1914,1915,2105],"c":[["d",{"w":"configured","s":"d","e":true,"k":"d","d":[78,122,214,215,289,333,336,337,340,396,398,408,411,412,442,590,673,675,754,755,812,909,912,950,1034,1834,2022],"c":[]}]]}],["i",{"w":"configuring","s":"ing","e":true,"k":"i","d":[42,45,56,674,798,891,1915,2089],"c":[]}]]}],["_",{"w":"config_node","s":"_node","e":true,"k":"_","d":[675,678,684],"c":[]}],["e",{"w":"configexception","s":"exception","e":true,"k":"e","d":[2031],"c":[]}]]}],["d",{"w":"confidence","s":"dence","e":true,"k":"d","d":[385],"c":[]}],["r",{"w":"confirm","s":"rm","e":false,"k":"r","d":[],"c":[["e",{"w":"confirmed","s":"ed","e":true,"k":"e","d":[852],"c":[]}],["a",{"w":"confirmation","s":"ation","e":true,"k":"a","d":[1023],"c":[["s",{"w":"confirmations","s":"s","e":true,"k":"s","d":[1407],"c":[]}]]}]]}]]}],["e",{"w":"conference","s":"erence","e":true,"k":"e","d":[637],"c":[]}],["l",{"w":"confl","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"conflict","s":"ict","e":true,"k":"i","d":[1104],"c":[]}],["u",{"w":"confluence","s":"uence","e":true,"k":"u","d":[1744,1768,1774],"c":[]}]]}],["u",{"w":"confus","s":"us","e":false,"k":"u","d":[],"c":[["e",{"w":"confuse","s":"e","e":true,"k":"e","d":[1142],"c":[]}],["i",{"w":"confusi","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"confusing","s":"ng","e":true,"k":"n","d":[1306],"c":[]}],["o",{"w":"confusion","s":"on","e":true,"k":"o","d":[2056],"c":[]}]]}]]}]]}],["v",{"w":"conve","s":"ve","e":false,"k":"v","d":[],"c":[["n",{"w":"conven","s":"n","e":false,"k":"n","d":[],"c":[["t",{"w":"convention","s":"tion","e":true,"k":"t","d":[1133],"c":[["s",{"w":"conventions","s":"s","e":true,"k":"s","d":[14,1472,1849],"c":[]}],["a",{"w":"conventionally","s":"ally","e":true,"k":"a","d":[1130],"c":[]}]]}],["i",{"w":"convenien","s":"ien","e":false,"k":"i","d":[],"c":[["c",{"w":"convenience","s":"ce","e":true,"k":"c","d":[1172,1939],"c":[]}],["t",{"w":"convenient","s":"t","e":true,"k":"t","d":[1968],"c":[]}]]}]]}],["r",{"w":"convert","s":"rt","e":true,"k":"r","d":[100],"c":[["i",{"w":"converting","s":"ing","e":true,"k":"i","d":[731],"c":[]}],["e",{"w":"converted","s":"ed","e":true,"k":"e","d":[1724],"c":[]}]]}]]}],["s",{"w":"cons","s":"s","e":true,"k":"s","d":[58,61,113],"c":[["i",{"w":"consi","s":"i","e":false,"k":"i","d":[],"c":[["s",{"w":"consist","s":"st","e":false,"k":"s","d":[],"c":[["e",{"w":"consisten","s":"en","e":false,"k":"e","d":[],"c":[["t",{"w":"consistent","s":"t","e":true,"k":"t","d":[46,47,183,305,357,1289,1348,1434,1669,1712,1908,1911],"c":[["l",{"w":"consistently","s":"ly","e":true,"k":"l","d":[531],"c":[]}]]}],["c",{"w":"consistency","s":"cy","e":true,"k":"c","d":[263,408,634,1030,1277,1278,1279,1280,1287,1473,1650,1814,1849,1856,1906,1908,1910],"c":[]}]]}],["s",{"w":"consists","s":"s","e":true,"k":"s","d":[472,521,690,691,914,1365,1731,1799,1877,1878,1881,1942],"c":[]}],["i",{"w":"consisting","s":"ing","e":true,"k":"i","d":[691],"c":[]}]]}],["d",{"w":"consider","s":"der","e":true,"k":"d","d":[223,342,532,914,932,1289,1396,1432,1560,1909],"c":[["e",{"w":"considered","s":"ed","e":true,"k":"e","d":[236,237,267,383,688,904,1368],"c":[]}],["a",{"w":"considerations","s":"ations","e":true,"k":"a","d":[514,532,894],"c":[]}],["s",{"w":"considers","s":"s","e":true,"k":"s","d":[1681],"c":[]}]]}]]}],["e",{"w":"conse","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"conservative","s":"rvative","e":true,"k":"r","d":[48,517,1349,1397,1844],"c":[["l",{"w":"conservatively","s":"ly","e":true,"k":"l","d":[1456],"c":[]}]]}],["c",{"w":"consecutive","s":"cutive","e":true,"k":"c","d":[214,215],"c":[]}],["q",{"w":"consequence","s":"quence","e":true,"k":"q","d":[376,649],"c":[]}],["n",{"w":"consen","s":"n","e":false,"k":"n","d":[],"c":[["s",{"w":"consensus","s":"sus","e":true,"k":"s","d":[907,980,1673,1724,1871],"c":[]}],["t",{"w":"consent","s":"t","e":true,"k":"t","d":[1541],"c":[]}]]}]]}],["t",{"w":"const","s":"t","e":true,"k":"t","d":[1177,1178,1179,1180,1181,1182,1193,1195,1199,1264],"c":[["r",{"w":"constr","s":"r","e":false,"k":"r","d":[],"c":[["u",{"w":"construct","s":"uct","e":true,"k":"u","d":[100,1289,1868],"c":[["i",{"w":"constructi","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"construction","s":"on","e":true,"k":"o","d":[297,1813,1913],"c":[]}],["n",{"w":"constructing","s":"ng","e":true,"k":"n","d":[1225,1912],"c":[]}]]}],["o",{"w":"constructor","s":"or","e":true,"k":"o","d":[1090,1093,1097,1102,1132,1139],"c":[["s",{"w":"constructors","s":"s","e":true,"k":"s","d":[1213],"c":[]}]]}],["s",{"w":"constructs","s":"s","e":true,"k":"s","d":[1458,1459,1475],"c":[]}]]}],["a",{"w":"constraints","s":"aints","e":true,"k":"a","d":[1304,1898],"c":[]}]]}],["i",{"w":"constitute","s":"itute","e":true,"k":"i","d":[510],"c":[]}],["a",{"w":"constant","s":"ant","e":true,"k":"a","d":[1844],"c":[["s",{"w":"constants","s":"s","e":true,"k":"s","d":[1176],"c":[]}]]}]]}],["o",{"w":"console","s":"ole","e":true,"k":"o","d":[524,592,739,750,1950],"c":[["s",{"w":"consoles","s":"s","e":true,"k":"s","d":[749],"c":[]}]]}],["u",{"w":"consu","s":"u","e":false,"k":"u","d":[],"c":[["m",{"w":"consume","s":"me","e":true,"k":"m","d":[1101,1104,1108],"c":[["r",{"w":"consumer","s":"r","e":true,"k":"r","d":[1101,1104,1108],"c":[]}],["d",{"w":"consumed","s":"d","e":true,"k":"d","d":[1103],"c":[]}]]}],["l",{"w":"consulting","s":"lting","e":true,"k":"l","d":[1720],"c":[]}]]}]]}],["n",{"w":"connect","s":"nect","e":true,"k":"n","d":[178,180,197,287,288,292,332,384,473,475,549,577,672,689,732,749,750,751,870,871,872,877,880,881,1228,1229,1380,1382,1383,1403,1404,1405,1424,1692,1803,1829,1886,1953,1973,1976,2087,2125],"c":[["e",{"w":"connected","s":"ed","e":true,"k":"e","d":[58,61,68,385,683,687,689,696,706,723,731,762,833,853,883,944,983,1271,1276,1289,1345,1382,1387,1388,1398,1402,1403,1404,1411,1412,1436,1627,1717,1956,2048],"c":[]}],["i",{"w":"connecti","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"connection","s":"on","e":true,"k":"o","d":[61,62,65,111,113,124,197,216,217,218,219,220,221,222,223,224,225,235,237,266,269,311,317,332,342,373,399,434,635,640,681,732,751,780,793,908,1016,1059,1061,1111,1130,1133,1136,1146,1157,1224,1234,1239,1263,1265,1271,1276,1328,1343,1346,1365,1367,1368,1369,1375,1380,1383,1384,1385,1388,1396,1397,1398,1401,1402,1403,1404,1410,1445,1456,1803,1811,1909,1976,2046,2062,2148,2163],"c":[["s",{"w":"connections","s":"s","e":true,"k":"s","d":[58,62,70,113,130,132,178,179,180,195,196,197,227,268,269,271,272,289,299,301,308,333,337,343,346,358,367,384,398,410,535,632,705,732,780,793,879,880,1230,1232,1401,1402,1407,1732,1834,1948,2062],"c":[]}],["_",{"w":"connection_","s":"_","e":false,"k":"_","d":[],"c":[["s",{"w":"connection_stat_reset","s":"stat_reset","e":true,"k":"s","d":[111],"c":[]}],["t",{"w":"connection_throttle_","s":"throttle_","e":false,"k":"t","d":[],"c":[["t",{"w":"connection_throttle_tokens","s":"tokens","e":true,"k":"t","d":[216],"c":[]}],["f",{"w":"connection_throttle_f","s":"f","e":false,"k":"f","d":[],"c":[["i",{"w":"connection_throttle_fill_","s":"ill_","e":false,"k":"i","d":[],"c":[["t",{"w":"connection_throttle_fill_time","s":"time","e":true,"k":"t","d":[217],"c":[]}],["c",{"w":"connection_throttle_fill_count","s":"count","e":true,"k":"c","d":[218],"c":[]}]]}],["r",{"w":"connection_throttle_freeze_time","s":"reeze_time","e":true,"k":"r","d":[219],"c":[]}]]}],["d",{"w":"connection_throttle_d","s":"d","e":false,"k":"d","d":[],"c":[["r",{"w":"connection_throttle_drop_","s":"rop_","e":false,"k":"r","d":[],"c":[["i",{"w":"connection_throttle_drop_increase","s":"increase","e":true,"k":"i","d":[220],"c":[]}],["d",{"w":"connection_throttle_drop_decrease","s":"decrease","e":true,"k":"d","d":[221],"c":[]}]]}],["e",{"w":"connection_throttle_decrease_ratio","s":"ecrease_ratio","e":true,"k":"e","d":[222],"c":[]}]]}],["w",{"w":"connection_throttle_weight_enabled","s":"weight_enabled","e":true,"k":"w","d":[223],"c":[]}],["g",{"w":"connection_throttle_global_session_weight","s":"global_session_weight","e":true,"k":"g","d":[224],"c":[]}],["l",{"w":"connection_throttle_local_session_weight","s":"local_session_weight","e":true,"k":"l","d":[225],"c":[]}],["r",{"w":"connection_throttle_renew_session_weight","s":"renew_session_weight","e":true,"k":"r","d":[226],"c":[]}]]}]]}],["m",{"w":"connectionm","s":"m","e":false,"k":"m","d":[],"c":[["a",{"w":"connectionmaxtokens","s":"axtokens","e":true,"k":"a","d":[216,221,223],"c":[]}],["e",{"w":"connectionmetricstest","s":"etricstest","e":true,"k":"e","d":[2177],"c":[]}]]}],["t",{"w":"connectiontokenfill","s":"tokenfill","e":false,"k":"t","d":[],"c":[["t",{"w":"connectiontokenfilltime","s":"time","e":true,"k":"t","d":[217,218],"c":[]}],["c",{"w":"connectiontokenfillcount","s":"count","e":true,"k":"c","d":[217,218],"c":[]}]]}],["f",{"w":"connectionfreezetime","s":"freezetime","e":true,"k":"f","d":[219,220,221],"c":[]}],["d",{"w":"connectiond","s":"d","e":false,"k":"d","d":[],"c":[["r",{"w":"connectiondrop","s":"rop","e":false,"k":"r","d":[],"c":[["i",{"w":"connectiondropincrease","s":"increase","e":true,"k":"i","d":[220],"c":[]}],["d",{"w":"connectiondropdecrease","s":"decrease","e":true,"k":"d","d":[221],"c":[]}]]}],["e",{"w":"connectiondecreaseratio","s":"ecreaseratio","e":true,"k":"e","d":[221,222],"c":[]}]]}],["l",{"w":"connectionloss","s":"loss","e":true,"k":"l","d":[1398],"c":[]}]]}],["n",{"w":"connecting","s":"ng","e":true,"k":"n","d":[288,332,525,544,690,695,737,1222,1258,1260,1371,1382,1420,1935],"c":[]}],["v",{"w":"connectivity","s":"vity","e":true,"k":"v","d":[1387,1392,1394,1396],"c":[]}]]}],["t",{"w":"connecttolearnermasterlimit","s":"tolearnermasterlimit","e":true,"k":"t","d":[288],"c":[]}],["s",{"w":"connects","s":"s","e":true,"k":"s","d":[1157,1282,1365,1385,1401,1411,1423,1436,1816,1887],"c":[["t",{"w":"connectstring","s":"tring","e":true,"k":"t","d":[1061,1405],"c":[]}]]}],["r",{"w":"connectrequest","s":"request","e":true,"k":"r","d":[1422,2157],"c":[]}]]}],["c",{"w":"conc","s":"c","e":false,"k":"c","d":[],"c":[["u",{"w":"concurren","s":"urren","e":false,"k":"u","d":[],"c":[["t",{"w":"concurrent","s":"t","e":true,"k":"t","d":[195,196,269,730,1628],"c":[["l",{"w":"concurrently","s":"ly","e":true,"k":"l","d":[1417],"c":[]}]]}],["c",{"w":"concurrency","s":"cy","e":true,"k":"c","d":[268,634,1693],"c":[]}]]}],["e",{"w":"conce","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"concern","s":"rn","e":true,"k":"r","d":[653],"c":[]}],["p",{"w":"concept","s":"pt","e":true,"k":"p","d":[1811,1881],"c":[["s",{"w":"concepts","s":"s","e":true,"k":"s","d":[1261,1353,1642,1746],"c":[["-",{"w":"concepts-architecture-overview","s":"-architecture-overview","e":true,"k":"-","d":[1767],"c":[]}]]}],["u",{"w":"conceptual","s":"ual","e":true,"k":"u","d":[1351],"c":[]}]]}]]}],["r",{"w":"concrete","s":"rete","e":true,"k":"r","d":[1735],"c":[]}]]}],["d",{"w":"condition","s":"dition","e":true,"k":"d","d":[719,1284,1401,1479,2104],"c":[["a",{"w":"conditional","s":"al","e":true,"k":"a","d":[629,729,1789],"c":[]}],["s",{"w":"conditions","s":"s","e":true,"k":"s","d":[630,720,1798,2037],"c":[]}]]}]]}],["p",{"w":"cop","s":"p","e":false,"k":"p","d":[],"c":[["y",{"w":"copy","s":"y","e":true,"k":"y","d":[12,323,1025,1827],"c":[]}],["i",{"w":"copie","s":"ie","e":false,"k":"i","d":[],"c":[["d",{"w":"copied","s":"d","e":true,"k":"d","d":[1023],"c":[]}],["s",{"w":"copies","s":"s","e":true,"k":"s","d":[1968],"c":[]}]]}]]}],["u",{"w":"cou","s":"u","e":false,"k":"u","d":[],"c":[["n",{"w":"count","s":"nt","e":true,"k":"n","d":[15,232,310,414,687,731,777,790,964,966,1029,1877,1904],"c":[["e",{"w":"counte","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"counted","s":"d","e":true,"k":"d","d":[699],"c":[]}],["r",{"w":"counter","s":"r","e":true,"k":"r","d":[1103,1104,1105,1320,1877],"c":[]}]]}],["s",{"w":"counts","s":"s","e":true,"k":"s","d":[1881],"c":[]}]]}],["l",{"w":"could","s":"ld","e":true,"k":"l","d":[73,268,273,536,649,653,659,684,690,691,692,1090,1144,1146,1237,1268,1319,1384,1909,2037,2038,2039,2150],"c":[]}],["r",{"w":"course","s":"rse","e":true,"k":"r","d":[1541,1978],"c":[]}],["p",{"w":"couple","s":"ple","e":true,"k":"p","d":[1981],"c":[]}]]}],["r",{"w":"cor","s":"r","e":false,"k":"r","d":[],"c":[["r",{"w":"corr","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"corre","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"correspond","s":"spond","e":true,"k":"s","d":[78,297,448,1157,1365],"c":[["i",{"w":"corresponding","s":"ing","e":true,"k":"i","d":[15,16,203,354,679,1092,1100,1383,1402,1544,1907],"c":[["l",{"w":"correspondingly","s":"ly","e":true,"k":"l","d":[180,357],"c":[]}]]}],["s",{"w":"corresponds","s":"s","e":true,"k":"s","d":[283,298,447,1102,1156,1367,1451,1452],"c":[]}]]}],["c",{"w":"correct","s":"ct","e":true,"k":"c","d":[517,909,910,916,933,1217,1368,1501,1867,1879,1885],"c":[["l",{"w":"correctly","s":"ly","e":true,"k":"l","d":[45,48,531,908,1349,2083],"c":[]}],["n",{"w":"correctness","s":"ness","e":true,"k":"n","d":[194,1871],"c":[]}]]}],["l",{"w":"correlated","s":"lated","e":true,"k":"l","d":[536,1867],"c":[]}]]}],["u",{"w":"corrupt","s":"upt","e":true,"k":"u","d":[29],"c":[["e",{"w":"corrupted","s":"ed","e":true,"k":"e","d":[15],"c":[]}],["i",{"w":"corruption","s":"ion","e":true,"k":"i","d":[29,980],"c":[]}]]}]]}],["e",{"w":"core","s":"e","e":true,"k":"e","d":[884,1631,1651],"c":[["s",{"w":"cores","s":"s","e":true,"k":"s","d":[410,411,412,413],"c":[]}]]}],["o",{"w":"coro","s":"o","e":false,"k":"o","d":[],"c":[["l",{"w":"corollar","s":"llar","e":false,"k":"l","d":[],"c":[["i",{"w":"corollaries","s":"ies","e":true,"k":"i","d":[1283],"c":[]}],["y",{"w":"corollary","s":"y","e":true,"k":"y","d":[1869],"c":[]}]]}],["n",{"w":"coronated","s":"nated","e":true,"k":"n","d":[1896],"c":[]}]]}],["b",{"w":"corba","s":"ba","e":true,"k":"b","d":[1655],"c":[]}],["n",{"w":"corner","s":"ner","e":true,"k":"n","d":[1887],"c":[]}]]}],["m",{"w":"com","s":"m","e":true,"k":"m","d":[356,369,370,516,853,862,864,1094,1368,1370,1371,1620,1745,1752,1758,1759,1761,1762,1763,1771,1776],"c":[["m",{"w":"comm","s":"m","e":false,"k":"m","d":[],"c":[["a",{"w":"comma","s":"a","e":true,"k":"a","d":[306,341,1265,1383,1402],"c":[["n",{"w":"command","s":"nd","e":true,"k":"n","d":[22,24,29,57,101,102,118,121,124,126,127,281,305,306,307,403,405,407,422,423,424,525,543,594,598,634,668,678,679,681,682,683,685,731,878,965,989,992,1016,1037,1064,1106,1132,1251,1384,1627,1681,1692,1958,1960,1962,1963,2103,2109,2135],"c":[["s",{"w":"commands","s":"s","e":true,"k":"s","d":[52,53,57,58,59,102,110,269,275,306,307,435,543,573,589,659,668,673,675,731,878,1016,1384,1627,1939,1957,1958],"c":[]}],["u",{"w":"commandurl","s":"url","e":true,"k":"u","d":[435],"c":[]}]]}],["-",{"w":"comma-separated","s":"-separated","e":true,"k":"-","d":[332,708,712,717,840,864],"c":[]}]]}],["o",{"w":"common","s":"on","e":true,"k":"o","d":[42,45,825,1089,1090,1172,1317,1342,1343,1346,1503,1641,1668,1805,1876,1908],"c":[["s",{"w":"commons","s":"s","e":true,"k":"s","d":[2171],"c":[["-",{"w":"commons-","s":"-","e":false,"k":"-","d":[],"c":[["i",{"w":"commons-io","s":"io","e":true,"k":"i","d":[2097,2184],"c":[]}],["c",{"w":"commons-cli","s":"cli","e":true,"k":"c","d":[2184],"c":[]}]]}]]}]]}],["u",{"w":"communi","s":"uni","e":false,"k":"u","d":[],"c":[["c",{"w":"communicat","s":"cat","e":false,"k":"c","d":[],"c":[["i",{"w":"communicati","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"communication","s":"on","e":true,"k":"o","d":[139,140,143,146,147,228,342,352,364,376,408,1146,1148,1284,1390,1546,1567,1629,1650,1868,1898],"c":[]}],["n",{"w":"communicating","s":"ng","e":true,"k":"n","d":[1390,1709],"c":[]}]]}],["e",{"w":"communicate","s":"e","e":true,"k":"e","d":[533,1133,1134,1731,1976,2145],"c":[["s",{"w":"communicates","s":"s","e":true,"k":"s","d":[522,1133],"c":[]}]]}]]}],["t",{"w":"community","s":"ty","e":true,"k":"t","d":[508,1472,1847],"c":[]}]]}],["i",{"w":"commit","s":"it","e":true,"k":"i","d":[229,231,408,412,413,414,706,880,1072,1470,1542,1543,1892,1893,1897,1901,1905,1911,2174],"c":[["l",{"w":"commitlogcount","s":"logcount","e":true,"k":"l","d":[192],"c":[]}],["t",{"w":"committed","s":"ted","e":true,"k":"t","d":[192,448,477,678,690,691,696,706,1424,1876,1881,1884,1887,1888,1893,1894,1895,1902,1903],"c":[["l",{"w":"committedlog","s":"log","e":true,"k":"l","d":[2060,2108,2110],"c":[]}]]}],["p",{"w":"commitprocessor","s":"processor","e":true,"k":"p","d":[274,412,413,414,2136],"c":[]}],["s",{"w":"commits","s":"s","e":true,"k":"s","d":[413,414,706,709,710,1361,1901,1902],"c":[]}]]}],["e",{"w":"comme","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"comment","s":"nt","e":false,"k":"n","d":[],"c":[["s",{"w":"comments","s":"s","e":true,"k":"s","d":[631,687,697],"c":[]}],["e",{"w":"commented","s":"ed","e":true,"k":"e","d":[854],"c":[]}]]}],["r",{"w":"commercial","s":"rcial","e":true,"k":"r","d":[1939],"c":[]}]]}]]}],["i",{"w":"coming","s":"ing","e":true,"k":"i","d":[29,266,1950],"c":[]}],["e",{"w":"come","s":"e","e":true,"k":"e","d":[29,1211,1317,1345],"c":[["s",{"w":"comes","s":"s","e":true,"k":"s","d":[634,1146,1187,1877],"c":[]}]]}],["p",{"w":"comp","s":"p","e":false,"k":"p","d":[],"c":[["u",{"w":"comput","s":"ut","e":false,"k":"u","d":[],"c":[["i",{"w":"computing","s":"ing","e":true,"k":"i","d":[49,957,1353,1730],"c":[]}],["e",{"w":"compute","s":"e","e":true,"k":"e","d":[1706,1739],"c":[["d",{"w":"computed","s":"d","e":true,"k":"d","d":[449],"c":[]}],["r",{"w":"computers","s":"rs","e":true,"k":"r","d":[1676],"c":[]}]]}],["a",{"w":"computation","s":"ation","e":true,"k":"a","d":[1092,1100,1484,1485,1676,1718],"c":[["a",{"w":"computationally","s":"ally","e":true,"k":"a","d":[777,790],"c":[]}],["s",{"w":"computations","s":"s","e":true,"k":"s","d":[1668],"c":[]}]]}]]}],["o",{"w":"compo","s":"o","e":false,"k":"o","d":[],"c":[["s",{"w":"composed","s":"sed","e":true,"k":"s","d":[57,1731,1913],"c":[]}],["n",{"w":"component","s":"nent","e":true,"k":"n","d":[477,884,1631,1680,1733],"c":[["s",{"w":"components","s":"s","e":true,"k":"s","d":[472,476,508,531,1639,1827],"c":[]}]]}]]}],["a",{"w":"compa","s":"a","e":false,"k":"a","d":[],"c":[["t",{"w":"compatib","s":"tib","e":false,"k":"t","d":[],"c":[["l",{"w":"compatible","s":"le","e":true,"k":"l","d":[74,251,276,2040],"c":[]}],["i",{"w":"compatibility","s":"ility","e":true,"k":"i","d":[207,271,272,273,304,316,371,375,619,649,2036,2072],"c":[]}]]}],["n",{"w":"compan","s":"n","e":false,"k":"n","d":[],"c":[["i",{"w":"compani","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"companion","s":"on","e":true,"k":"o","d":[124],"c":[]}],["e",{"w":"companies","s":"es","e":true,"k":"e","d":[1606],"c":[]}]]}],["y",{"w":"company","s":"y","e":true,"k":"y","d":[674,1725],"c":[["'",{"w":"company's","s":"'s","e":true,"k":"'","d":[1626],"c":[]}]]}]]}],["r",{"w":"compar","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"compare","s":"e","e":true,"k":"e","d":[248,249,254,256,1030,1278],"c":[["d",{"w":"compared","s":"d","e":true,"k":"d","d":[250,687,1035,1050,1836],"c":[]}]]}],["i",{"w":"comparisons","s":"isons","e":true,"k":"i","d":[1855],"c":[]}]]}]]}],["l",{"w":"compl","s":"l","e":false,"k":"l","d":[],"c":[["e",{"w":"comple","s":"e","e":false,"k":"e","d":[],"c":[["x",{"w":"complex","s":"x","e":true,"k":"x","d":[710],"c":[["i",{"w":"complexit","s":"it","e":false,"k":"i","d":[],"c":[["i",{"w":"complexities","s":"ies","e":true,"k":"i","d":[143],"c":[]}],["y",{"w":"complexity","s":"y","e":true,"k":"y","d":[213,634,1545],"c":[]}]]}]]}],["t",{"w":"complet","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"complete","s":"e","e":true,"k":"e","d":[161,452,527,537,685,713,729,930,970,1083,1106,1111,1117,1357,1627,1939,1979],"c":[["l",{"w":"completely","s":"ly","e":true,"k":"l","d":[666,677,1134,1191,1237,1364,1979],"c":[]}],["n",{"w":"completeness","s":"ness","e":true,"k":"n","d":[916],"c":[]}],["s",{"w":"completes","s":"s","e":true,"k":"s","d":[953,1142,1145,1543],"c":[]}]]}],["i",{"w":"completion","s":"ion","e":true,"k":"i","d":[1140,1142,1145,1193,1217,2043],"c":[["s",{"w":"completions","s":"s","e":true,"k":"s","d":[1215],"c":[]}],["_",{"w":"completion_string_stat","s":"_string_stat","e":true,"k":"_","d":[2043],"c":[]}]]}]]}]]}],["y",{"w":"comply","s":"y","e":true,"k":"y","d":[375],"c":[]}],["i",{"w":"compli","s":"i","e":false,"k":"i","d":[],"c":[["a",{"w":"complian","s":"an","e":false,"k":"a","d":[],"c":[["t",{"w":"compliant","s":"t","e":true,"k":"t","d":[1638],"c":[]}],["c",{"w":"compliance","s":"ce","e":true,"k":"c","d":[1651],"c":[]}]]}],["c",{"w":"complicated","s":"cated","e":true,"k":"c","d":[1813,1939,2098],"c":[]}]]}],["a",{"w":"complain","s":"ain","e":true,"k":"a","d":[2037],"c":[]}]]}],["e",{"w":"competition","s":"etition","e":true,"k":"e","d":[186],"c":[]}],["r",{"w":"compr","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"compress","s":"ess","e":true,"k":"e","d":[259],"c":[["i",{"w":"compression","s":"ion","e":true,"k":"i","d":[259,260,261,262],"c":[]}],["e",{"w":"compressed","s":"ed","e":true,"k":"e","d":[1035],"c":[]}]]}],["i",{"w":"comprises","s":"ises","e":true,"k":"i","d":[408],"c":[]}],["o",{"w":"compromised","s":"omised","e":true,"k":"o","d":[672],"c":[]}]]}],["i",{"w":"compil","s":"il","e":false,"k":"i","d":[],"c":[["e",{"w":"compile","s":"e","e":true,"k":"e","d":[1242,1254,1272,2178],"c":[["r",{"w":"compiler","s":"r","e":true,"k":"r","d":[1246,1254],"c":[]}]]}],["a",{"w":"compilation","s":"ation","e":true,"k":"a","d":[2023,2026,2118,2140],"c":[]}]]}]]}],["b",{"w":"combined","s":"bined","e":true,"k":"b","d":[971],"c":[]}]]}],["v",{"w":"cover","s":"ver","e":false,"k":"v","d":[],"c":[["i",{"w":"covering","s":"ing","e":true,"k":"i","d":[42,809,1111,1258,1343,1783],"c":[]}],["e",{"w":"covered","s":"ed","e":true,"k":"e","d":[251],"c":[]}],["s",{"w":"covers","s":"s","e":true,"k":"s","d":[457,467,471,541,1380,1849],"c":[]}]]}],["s",{"w":"cost","s":"st","e":true,"k":"s","d":[201,210,211,213,870],"c":[["l",{"w":"costly","s":"ly","e":true,"k":"l","d":[1407],"c":[]}]]}],["l",{"w":"col","s":"l","e":false,"k":"l","d":[],"c":[["l",{"w":"coll","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"collision","s":"ision","e":true,"k":"i","d":[250],"c":[["l",{"w":"collisionless","s":"less","e":true,"k":"l","d":[250],"c":[]}]]}],["e",{"w":"collect","s":"ect","e":true,"k":"e","d":[830,1029],"c":[["e",{"w":"collected","s":"ed","e":true,"k":"e","d":[1319],"c":[]}],["i",{"w":"collecti","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"collections","s":"ons","e":true,"k":"o","d":[1415,1636],"c":[]}],["n",{"w":"collecting","s":"ng","e":true,"k":"n","d":[1670],"c":[]}]]}]]}]]}],["o",{"w":"colon-separated","s":"on-separated","e":true,"k":"o","d":[297],"c":[]}],["u",{"w":"column-oriented","s":"umn-oriented","e":true,"k":"u","d":[1684],"c":[]}]]}],["d",{"w":"code","s":"de","e":true,"k":"d","d":[252,253,254,255,270,278,279,280,333,337,531,1069,1089,1091,1098,1102,1132,1146,1201,1262,1271,1272,1284,1353,1383,1384,1398,1434,1479,1485,1550,1769,1915,1916,1967,2152],"c":[["d",{"w":"coded","s":"d","e":true,"k":"d","d":[351,379],"c":[]}],["p",{"w":"codepath","s":"path","e":true,"k":"p","d":[385],"c":[]}],["s",{"w":"codes","s":"s","e":true,"k":"s","d":[1146,1284,1434],"c":[]}]]}],["o",{"w":"coo","s":"o","e":false,"k":"o","d":[],"c":[["r",{"w":"coordinat","s":"rdinat","e":false,"k":"r","d":[],"c":[["e",{"w":"coordinate","s":"e","e":true,"k":"e","d":[1311,1732,1799],"c":[["s",{"w":"coordinates","s":"s","e":true,"k":"s","d":[289,1801,1880],"c":[]}],["d",{"w":"coordinated","s":"d","e":true,"k":"d","d":[1808],"c":[]}]]}],["i",{"w":"coordinati","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"coordination","s":"on","e":true,"k":"o","d":[289,1073,1079,1317,1351,1360,1563,1627,1631,1639,1652,1669,1675,1685,1686,1705,1711,1713,1722,1726,1735,1784,1797,1798,1807,1833,1846],"c":[]}],["n",{"w":"coordinating","s":"ng","e":true,"k":"n","d":[880,1707,1709,1719,1930],"c":[]}]]}],["o",{"w":"coordinator","s":"or","e":true,"k":"o","d":[1543,1544,1546,1547,1661,1663,1904],"c":[]}]]}],["l",{"w":"cool","s":"l","e":true,"k":"l","d":[1639],"c":[["i",{"w":"cooling","s":"ing","e":true,"k":"i","d":[536],"c":[]}]]}]]}],["-",{"w":"co-locations","s":"-locations","e":true,"k":"-","d":[1913],"c":[]}],["a",{"w":"coarse-grained","s":"arse-grained","e":true,"k":"a","d":[1920],"c":[]}]]}],["h",{"w":"ch","s":"h","e":false,"k":"h","d":[],"c":[["a",{"w":"cha","s":"a","e":false,"k":"a","d":[],"c":[["n",{"w":"chan","s":"n","e":false,"k":"n","d":[],"c":[["g",{"w":"chang","s":"g","e":false,"k":"g","d":[],"c":[["e",{"w":"change","s":"e","e":true,"k":"e","d":[74,102,210,256,295,365,366,385,402,406,450,537,594,610,635,655,672,684,687,688,697,698,699,700,709,722,729,730,755,1091,1098,1217,1243,1289,1326,1327,1331,1332,1333,1388,1396,1426,1434,1435,1454,1688,1691,1829,1877,1945,1963,1964,2162],"c":[["s",{"w":"changes","s":"s","e":true,"k":"s","d":[12,74,245,384,537,611,634,635,653,659,665,685,695,707,730,732,733,873,1111,1120,1128,1137,1286,1289,1311,1315,1326,1327,1336,1337,1338,1345,1396,1432,1433,1437,1453,1454,1506,1522,1546,1554,1558,1732,1808,1811,1812,1904,1984,1992,2024],"c":[]}],["d",{"w":"changed","s":"d","e":true,"k":"d","d":[211,357,375,390,402,634,655,702,906,1146,1148,1217,1433,1441,1444,1811],"c":[]}]]}],["i",{"w":"changing","s":"ing","e":true,"k":"i","d":[190,633,659,731,967,1311],"c":[]}]]}],["n",{"w":"channel","s":"nel","e":true,"k":"n","d":[1133,1148,1870,1873],"c":[["s",{"w":"channels","s":"s","e":true,"k":"s","d":[146,1868,1898,1899,1900],"c":[]}]]}],["d",{"w":"chand","s":"d","e":false,"k":"d","d":[],"c":[["r",{"w":"chandra","s":"ra","e":true,"k":"r","d":[957],"c":[]}],["e",{"w":"chander","s":"er","e":true,"k":"e","d":[1760],"c":[]}]]}]]}],["r",{"w":"char","s":"r","e":true,"k":"r","d":[1193,1195,1197,1199,1264],"c":[["a",{"w":"character","s":"acter","e":true,"k":"a","d":[293,647,1304,1305,1309],"c":[["i",{"w":"characteristics","s":"istics","e":true,"k":"i","d":[982,1314],"c":[]}],["s",{"w":"characters","s":"s","e":true,"k":"s","d":[1306,1308],"c":[]}]]}],["_",{"w":"char__","s":"__","e":true,"k":"_","d":[1193],"c":[]}]]}],["p",{"w":"chapters","s":"pters","e":true,"k":"p","d":[1261,1355],"c":[]}]]}],["o",{"w":"cho","s":"o","e":false,"k":"o","d":[],"c":[["i",{"w":"choice","s":"ice","e":true,"k":"i","d":[25,882,1551,1915],"c":[]}],["s",{"w":"chosen","s":"sen","e":true,"k":"s","d":[193,1403,1404,1915],"c":[]}],["o",{"w":"choose","s":"ose","e":true,"k":"o","d":[331,1349,1405],"c":[["s",{"w":"chooses","s":"s","e":true,"k":"s","d":[732,1404],"c":[]}]]}]]}],["r",{"w":"chroot","s":"root","e":true,"k":"r","d":[51,971,1384,2138],"c":[]}],["e",{"w":"check","s":"eck","e":true,"k":"e","d":[126,214,215,232,240,243,263,308,309,332,373,393,399,400,415,677,1090,1167,1219,1235,1319,1322,1503,1521,2074,2100,2109,2143],"c":[["s",{"w":"checks","s":"s","e":true,"k":"s","d":[214,215,220,221,397,400,674,677,1030,1100,1140,1146,1317],"c":[]}],["i",{"w":"checkin","s":"in","e":false,"k":"i","d":[],"c":[["g",{"w":"checking","s":"g","e":true,"k":"g","d":[317,329,373,1098,1369,1549],"c":[]}],["t",{"w":"checkintervalms","s":"tervalms","e":true,"k":"t","d":[415],"c":[]}]]}],["r",{"w":"checkrevocation","s":"revocation","e":true,"k":"r","d":[356],"c":[]}],["e",{"w":"checked","s":"ed","e":true,"k":"e","d":[1157],"c":[]}],["-",{"w":"check-out","s":"-out","e":true,"k":"-","d":[1241],"c":[]}],["v",{"w":"checkversion","s":"version","e":true,"k":"v","d":[2078],"c":[]}]]}],["i",{"w":"child","s":"ild","e":true,"k":"i","d":[580,591,602,970,1029,1100,1101,1159,1162,1321,1322,1435,1442,1444,1446,1492,1500,1543,1548,2127],"c":[["r",{"w":"children","s":"ren","e":true,"k":"r","d":[202,232,417,777,964,1098,1100,1104,1105,1155,1160,1165,1177,1179,1180,1191,1304,1318,1322,1323,1327,1333,1337,1341,1426,1435,1437,1491,1496,1500,1502,1503,1506,1529,1530,1549,1553,1556,1560,1807,1812,1825,2127],"c":[]}]]}]]}],["u",{"w":"cu","s":"u","e":false,"k":"u","d":[],"c":[["r",{"w":"cur","s":"r","e":false,"k":"r","d":[],"c":[["r",{"w":"current","s":"rent","e":true,"k":"r","d":[12,77,78,89,95,118,122,125,129,134,138,257,414,449,575,576,588,608,624,625,681,685,689,690,692,707,715,718,729,730,731,912,955,970,1041,1172,1375,1386,1402,1403,1412,1422,1549,1560,1660,1679,1717,1765,1773,1896],"c":[["_",{"w":"current_","s":"_","e":false,"k":"_","d":[],"c":[["c",{"w":"current_config","s":"config","e":true,"k":"c","d":[134],"c":[]}],["h",{"w":"current_hash","s":"hash","e":true,"k":"h","d":[246],"c":[]}]]}],["l",{"w":"currently","s":"ly","e":true,"k":"l","d":[208,309,383,384,385,710,721,730,1416,1654,1683,1908,1976],"c":[]}]]}],["a",{"w":"curator","s":"ator","e":true,"k":"a","d":[1697,1774],"c":[]}]]}],["s",{"w":"custom","s":"stom","e":true,"k":"s","d":[331,352,376,855,861,1134,1363,1831,2039,2073],"c":[["i",{"w":"customiz","s":"iz","e":false,"k":"i","d":[],"c":[["e",{"w":"customize","s":"e","e":true,"k":"e","d":[829,855],"c":[["d",{"w":"customized","s":"d","e":true,"k":"d","d":[2038],"c":[]}]]}],["a",{"w":"customization","s":"ation","e":true,"k":"a","d":[2039],"c":[]}]]}]]}]]}],["r",{"w":"cr","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"cre","s":"e","e":false,"k":"e","d":[],"c":[["a",{"w":"creat","s":"at","e":false,"k":"a","d":[],"c":[["e",{"w":"create","s":"e","e":true,"k":"e","d":[48,148,150,155,402,405,407,417,519,522,550,578,579,580,581,830,844,848,850,864,881,913,947,949,968,1064,1090,1101,1103,1107,1159,1164,1165,1166,1172,1179,1191,1196,1201,1239,1242,1324,1351,1383,1386,1387,1409,1415,1416,1422,1423,1435,1476,1478,1488,1492,1498,1500,1503,1511,1521,1525,1526,1540,1543,1544,1545,1552,1820,1944,1954,1959,1979,2101,2122,2128,2164],"c":[["d",{"w":"created","s":"d","e":true,"k":"d","d":[12,148,207,355,445,522,588,659,665,679,911,1092,1214,1318,1319,1331,1334,1345,1382,1415,1421,1435,1436,1439,1476,1513,1516,1529,1530,1540,1548,1690,1710,1810,1949,1961],"c":[]}],["s",{"w":"creates","s":"s","e":true,"k":"s","d":[452,729,1092,1097,1098,1101,1102,1103,1196,1385,1420,1500,1537,1543,1548,1820,1959],"c":[["e",{"w":"createsession","s":"ession","e":true,"k":"e","d":[1422,1424],"c":[]}]]}],["_",{"w":"create_all_acl","s":"_all_acl","e":true,"k":"_","d":[1191],"c":[]}],["-",{"w":"create-only","s":"-only","e":true,"k":"-","d":[1201],"c":[]}],["2",{"w":"create2","s":"2","e":true,"k":"2","d":[2122],"c":[]}]]}],["i",{"w":"creati","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"creation","s":"on","e":true,"k":"o","d":[206,405,406,1329,1387,1407,1411,1416],"c":[["s",{"w":"creations","s":"s","e":true,"k":"s","d":[2045],"c":[]}]]}],["n",{"w":"creating","s":"ng","e":true,"k":"n","d":[247,313,352,520,694,1090,1166,1320,1322,1323,1382,1459,1476,1547,1548,1560,1916,1942,2032,2043],"c":[]}]]}],["o",{"w":"creator","s":"or","e":true,"k":"o","d":[1186,1191,1560],"c":[]}]]}],["d",{"w":"credential","s":"dential","e":true,"k":"d","d":[332,333,337,1366],"c":[["s",{"w":"credentials","s":"s","e":true,"k":"s","d":[148,343,346,1172,1228,1230,1232],"c":[]}]]}]]}],["o",{"w":"cro","s":"o","e":false,"k":"o","d":[],"c":[["n",{"w":"cron","s":"n","e":true,"k":"n","d":[15],"c":[]}],["s",{"w":"cross","s":"ss","e":true,"k":"s","d":[286,465],"c":[["-",{"w":"cross-","s":"-","e":false,"k":"-","d":[],"c":[["m",{"w":"cross-machines","s":"machines","e":true,"k":"m","d":[532],"c":[]}],["c",{"w":"cross-client","s":"client","e":true,"k":"c","d":[1289],"c":[]}],["p",{"w":"cross-proposal","s":"proposal","e":true,"k":"p","d":[1905],"c":[]}]]}]]}]]}],["i",{"w":"critical","s":"itical","e":true,"k":"i","d":[47,273,872,882,1735,1738],"c":[]}],["s",{"w":"crst","s":"st","e":true,"k":"s","d":[62,111],"c":[]}],["c",{"w":"crc","s":"c","e":true,"k":"c","d":[250,1021,1023,1024,1025,1027],"c":[]}],["l",{"w":"crl","s":"l","e":true,"k":"l","d":[356,357,2028],"c":[]}],["a",{"w":"cra","s":"a","e":false,"k":"a","d":[],"c":[["s",{"w":"crash","s":"sh","e":true,"k":"s","d":[530],"c":[["e",{"w":"crashe","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"crashes","s":"s","e":true,"k":"s","d":[704,916,1476,1678,1679],"c":[]}],["d",{"w":"crashed","s":"d","e":true,"k":"d","d":[731,1681],"c":[]}]]}],["i",{"w":"crashing","s":"ing","e":true,"k":"i","d":[1521],"c":[]}]]}],["w",{"w":"crawler","s":"wler","e":true,"k":"w","d":[1846],"c":[]}]]}]]}],["a",{"w":"ca","s":"a","e":true,"k":"a","d":[1760],"c":[["n",{"w":"can","s":"n","e":true,"k":"n","d":[14,15,16,21,25,29,32,45,51,102,103,107,109,138,143,144,146,174,185,189,191,193,194,195,200,201,202,212,214,215,241,242,250,251,257,263,271,286,289,292,293,304,305,307,310,313,315,316,317,330,332,335,337,338,352,368,369,370,372,373,376,377,384,386,389,399,400,402,403,405,406,407,408,413,414,416,434,442,448,450,451,455,510,513,516,518,519,520,523,525,527,533,537,538,539,634,645,655,659,668,672,673,675,677,680,686,687,697,704,709,713,719,729,731,734,749,750,754,755,812,818,830,861,864,866,871,872,877,878,883,884,906,911,922,930,938,942,944,956,959,966,967,970,974,975,980,986,987,1035,1051,1069,1091,1092,1106,1132,1148,1159,1160,1161,1162,1163,1166,1177,1178,1179,1180,1181,1191,1194,1215,1219,1224,1245,1258,1261,1263,1268,1269,1270,1279,1289,1304,1309,1311,1313,1315,1316,1317,1318,1320,1323,1346,1347,1348,1370,1384,1385,1386,1401,1410,1414,1415,1416,1417,1435,1437,1438,1443,1445,1473,1475,1502,1507,1522,1529,1537,1540,1541,1543,1544,1546,1547,1641,1643,1655,1686,1692,1700,1717,1718,1797,1799,1800,1804,1807,1809,1811,1812,1831,1832,1867,1868,1877,1881,1887,1896,1907,1908,1911,1912,1945,1949,1957,1958,1963,1973,1976,1980,1981,2040,2088,2130,2176],"c":[["n",{"w":"cannot","s":"not","e":true,"k":"n","d":[18,402,539,644,731,943,972,980,1305,1309,1405,1409,1410,1417,1454,1871,2099],"c":[]}],["'",{"w":"can't","s":"'t","e":true,"k":"'","d":[263,1167,1306,1349,1501,2048,2053],"c":[]}],["o",{"w":"canonical","s":"onical","e":true,"k":"o","d":[1304],"c":[["i",{"w":"canonicalize","s":"ize","e":true,"k":"i","d":[371,1224],"c":[["h",{"w":"canonicalizehostnames","s":"hostnames","e":true,"k":"h","d":[371],"c":[]}]]}]]}],["d",{"w":"candidate","s":"didate","e":true,"k":"d","d":[415,1321,1323],"c":[]}],["c",{"w":"cancelled","s":"celled","e":true,"k":"c","d":[2095],"c":[]}]]}],["l",{"w":"cal","s":"l","e":false,"k":"l","d":[],"c":[["l",{"w":"call","s":"l","e":true,"k":"l","d":[317,884,1088,1092,1097,1098,1100,1105,1140,1146,1167,1169,1271,1289,1386,1396,1400,1402,1439,1440,1441,1442,1445,1446,1447,1448,1455,1483,1503,1511,1512,1521,1525,1526,1527,1528,1531,1532,1540,1945,2091],"c":[["i",{"w":"calling","s":"ing","e":true,"k":"i","d":[14,1262,1503,1521,1540],"c":[]}],["e",{"w":"calle","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"called","s":"d","e":true,"k":"d","d":[121,519,682,862,871,1130,1194,1284,1367,1369,1401,1417,1633,1707,1799,1801,1830,1945,1968],"c":[]}],["r",{"w":"caller","s":"r","e":true,"k":"r","d":[1215],"c":[]}]]}],["s",{"w":"calls","s":"s","e":true,"k":"s","d":[1098,1100,1102,1103,1146,1215,1216,1217,1399,1438,1480,1503,1514,2019],"c":[["z",{"w":"callszookeeper","s":"zookeeper","e":true,"k":"z","d":[1148],"c":[]}]]}],["b",{"w":"callback","s":"back","e":true,"k":"b","d":[1140,1142,1145,1146,1217],"c":[["s",{"w":"callbacks","s":"s","e":true,"k":"s","d":[1111,1205,1214,1215,1216,1239,1240,1262],"c":[]}]]}]]}],["c",{"w":"calculat","s":"culat","e":false,"k":"c","d":[],"c":[["i",{"w":"calculati","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"calculating","s":"ng","e":true,"k":"n","d":[100],"c":[]}],["o",{"w":"calculation","s":"on","e":true,"k":"o","d":[257,970],"c":[]}]]}],["e",{"w":"calculate","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"calculated","s":"d","e":true,"k":"d","d":[1023],"c":[]}],["s",{"w":"calculates","s":"s","e":true,"k":"s","d":[1831],"c":[]}]]}]]}]]}],["s",{"w":"case","s":"se","e":true,"k":"s","d":[29,192,285,293,295,310,333,337,402,454,647,665,731,755,756,830,864,929,1098,1237,1279,1319,1396,1402,1403,1436,1454,1476,1511,1521,1549,1625,1707,1833,1887,1980],"c":[["s",{"w":"cases","s":"s","e":true,"k":"s","d":[208,209,355,402,677,700,704,728,869,882,884,913,1164,1240,1398,1562],"c":[]}]]}],["r",{"w":"care","s":"re","e":true,"k":"r","d":[48,174,537,1346,1371,1454,1830,1882],"c":[["f",{"w":"careful","s":"ful","e":true,"k":"f","d":[183,386,1348],"c":[["l",{"w":"carefully","s":"ly","e":true,"k":"l","d":[70,72],"c":[]}]]}]]}],["c",{"w":"cach","s":"ch","e":false,"k":"c","d":[],"c":[["e",{"w":"cache","s":"e","e":true,"k":"e","d":[48,201,213,1311,1349,1808,2058,2072,2175],"c":[]}],["i",{"w":"caching","s":"ing","e":true,"k":"i","d":[1694],"c":[]}]]}],["u",{"w":"cau","s":"u","e":false,"k":"u","d":[],"c":[["s",{"w":"caus","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"cause","s":"e","e":true,"k":"e","d":[48,194,227,273,305,309,394,395,400,517,536,538,539,1146,1317,1327,1349,1401,1402,1403,1416,1434,1518,2037,2056,2060],"c":[["s",{"w":"causes","s":"s","e":true,"k":"s","d":[266,272,1305,1549,2078],"c":[]}],["d",{"w":"caused","s":"d","e":true,"k":"d","d":[633,1331,1979],"c":[]}]]}],["i",{"w":"causing","s":"ing","e":true,"k":"i","d":[413,687,1401,1474,2062,2131],"c":[]}],["a",{"w":"causal","s":"al","e":true,"k":"a","d":[1866],"c":[]}]]}],["g",{"w":"caught","s":"ght","e":true,"k":"g","d":[253,254,278],"c":[]}]]}],["t",{"w":"cat","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"categor","s":"egor","e":false,"k":"e","d":[],"c":[["y",{"w":"category","s":"y","e":true,"k":"y","d":[78],"c":[]}],["i",{"w":"categories","s":"ies","e":true,"k":"i","d":[78,100],"c":[]}]]}],["c",{"w":"catch","s":"ch","e":true,"k":"c","d":[1099],"c":[["i",{"w":"catching","s":"ing","e":true,"k":"i","d":[243],"c":[]}]]}],["a",{"w":"cata","s":"a","e":false,"k":"a","d":[],"c":[["s",{"w":"catastrophic","s":"strophic","e":true,"k":"s","d":[977],"c":[]}],["l",{"w":"catalog","s":"log","e":true,"k":"l","d":[1563],"c":[]}]]}]]}],["b",{"w":"cables","s":"bles","e":true,"k":"b","d":[514],"c":[]}],["p",{"w":"cap","s":"p","e":false,"k":"p","d":[],"c":[["a",{"w":"capa","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"capacity","s":"city","e":true,"k":"c","d":[535],"c":[]}],["b",{"w":"capab","s":"b","e":false,"k":"b","d":[],"c":[["l",{"w":"capable","s":"le","e":true,"k":"l","d":[930],"c":[]}],["i",{"w":"capabilities","s":"ilities","e":true,"k":"i","d":[1647],"c":[]}]]}]]}],["t",{"w":"capture","s":"ture","e":true,"k":"t","d":[1472],"c":[["s",{"w":"captures","s":"s","e":true,"k":"s","d":[834,1831],"c":[]}],["d",{"w":"captured","s":"d","e":true,"k":"d","d":[1910],"c":[]}]]}]]}]]}],["m",{"w":"cmd","s":"md","e":true,"k":"m","d":[20],"c":[]}],["f",{"w":"cfg","s":"fg","e":true,"k":"f","d":[108,151,596,641,642,654,657,658,661,664,714,811,833,891,892,913,949,1016,1034,1944,1945,1972],"c":[]}],["e",{"w":"ce","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"cert","s":"rt","e":true,"k":"r","d":[1193],"c":[["i",{"w":"certificate","s":"ificate","e":true,"k":"i","d":[148,149,331,356,357,815,859],"c":[["s",{"w":"certificates","s":"s","e":true,"k":"s","d":[143,149,150,355,365,366,816],"c":[]}]]}],["s",{"w":"certs","s":"s","e":true,"k":"s","d":[150],"c":[]}],["a",{"w":"certain","s":"ain","e":true,"k":"a","d":[195,196,211,539,1286,1475,1818,2037],"c":[["l",{"w":"certainly","s":"ly","e":true,"k":"l","d":[1349],"c":[]}]]}],["r",{"w":"certreload","s":"reload","e":true,"k":"r","d":[366],"c":[]}],["l",{"w":"certlen","s":"len","e":true,"k":"l","d":[1193],"c":[]}]]}],["n",{"w":"cent","s":"nt","e":false,"k":"n","d":[],"c":[["e",{"w":"center","s":"er","e":true,"k":"e","d":[872],"c":[]}],["r",{"w":"central","s":"ral","e":true,"k":"r","d":[1650],"c":[]}]]}],["a",{"w":"ceases","s":"ases","e":true,"k":"a","d":[1135],"c":[]}],["l",{"w":"cell-level","s":"ll-level","e":true,"k":"l","d":[1649],"c":[]}]]}],["i",{"w":"ci","s":"i","e":true,"k":"i","d":[1766,2141,2183,2186,2187],"c":[["p",{"w":"cipher","s":"pher","e":true,"k":"p","d":[166,351,379],"c":[["s",{"w":"ciphers","s":"s","e":true,"k":"s","d":[380,381],"c":[["u",{"w":"ciphersuites","s":"uites","e":true,"k":"u","d":[351],"c":[]}]]}]]}],["r",{"w":"circu","s":"rcu","e":false,"k":"r","d":[],"c":[["i",{"w":"circuits","s":"its","e":true,"k":"i","d":[536],"c":[]}],["m",{"w":"circumstances","s":"mstances","e":true,"k":"m","d":[970],"c":[]}]]}]]}],["s",{"w":"cseweb","s":"seweb","e":true,"k":"s","d":[244],"c":[]}],["n",{"w":"cn","s":"n","e":false,"k":"n","d":[],"c":[["x",{"w":"cnx","s":"x","e":false,"k":"x","d":[],"c":[["t",{"w":"cnxtimeout","s":"timeout","e":true,"k":"t","d":[299],"c":[]}],["n",{"w":"cnxn","s":"n","e":true,"k":"n","d":[1367],"c":[]}]]}],["a",{"w":"cname","s":"ame","e":true,"k":"a","d":[371],"c":[]}]]}],["b",{"w":"cbc","s":"bc","e":true,"k":"b","d":[380,381],"c":[]}],["p",{"w":"cp","s":"p","e":false,"k":"p","d":[],"c":[["u",{"w":"cpu","s":"u","e":true,"k":"u","d":[410,411,412,413,537,1706],"c":[]}],["p",{"w":"cpp","s":"p","e":true,"k":"p","d":[1273],"c":[["u",{"w":"cppunit","s":"unit","e":true,"k":"u","d":[2084],"c":[]}]]}]]}],["c",{"w":"cc","s":"c","e":true,"k":"c","d":[675,686,734,1271,2118,2140,2183],"c":[]}],["1",{"w":"c1","s":"1","e":true,"k":"1","d":[729],"c":[["'",{"w":"c1's","s":"'s","e":true,"k":"'","d":[729],"c":[]}]]}],["2",{"w":"c2","s":"2","e":true,"k":"2","d":[729],"c":[]}],["d",{"w":"cd","s":"d","e":true,"k":"d","d":[1244,1943],"c":[["r",{"w":"cdrwa","s":"rwa","e":true,"k":"r","d":[850],"c":[]}]]}],["v",{"w":"cve","s":"ve","e":true,"k":"v","d":[2036,2055,2194],"c":[["r",{"w":"cversion","s":"rsion","e":true,"k":"r","d":[1327,1337],"c":[]}],["-",{"w":"cve-202","s":"-202","e":false,"k":"-","d":[],"c":[["5",{"w":"cve-2025-","s":"5-","e":false,"k":"5","d":[],"c":[["5",{"w":"cve-2025-5","s":"5","e":false,"k":"5","d":[],"c":[["8",{"w":"cve-2025-58057","s":"8057","e":true,"k":"8","d":[2033],"c":[]}],["1",{"w":"cve-2025-5115","s":"115","e":true,"k":"1","d":[2035],"c":[]}]]}],["6",{"w":"cve-2025-67735","s":"67735","e":true,"k":"6","d":[2034],"c":[]}],["2",{"w":"cve-2025-24970","s":"24970","e":true,"k":"2","d":[2075],"c":[]}]]}],["4",{"w":"cve-2024-","s":"4-","e":false,"k":"4","d":[],"c":[["6",{"w":"cve-2024-6763","s":"6763","e":true,"k":"6","d":[2055,2090],"c":[]}],["1",{"w":"cve-2024-12798","s":"12798","e":true,"k":"1","d":[2069],"c":[]}]]}],["3",{"w":"cve-2023-","s":"3-","e":false,"k":"3","d":[],"c":[["4",{"w":"cve-2023-4","s":"4","e":false,"k":"4","d":[],"c":[["3",{"w":"cve-2023-43642","s":"3642","e":true,"k":"3","d":[2114],"c":[]}],["0",{"w":"cve-2023-40167","s":"0167","e":true,"k":"0","d":[2115],"c":[]}],["1",{"w":"cve-2023-41900","s":"1900","e":true,"k":"1","d":[2115],"c":[]}],["5",{"w":"cve-2023-4586","s":"586","e":true,"k":"5","d":[2116],"c":[]}]]}],["3",{"w":"cve-2023-36479","s":"36479","e":true,"k":"3","d":[2115],"c":[]}],["2",{"w":"cve-2023-2604","s":"2604","e":false,"k":"2","d":[],"c":[["8",{"w":"cve-2023-26048","s":"8","e":true,"k":"8","d":[2191],"c":[]}],["9",{"w":"cve-2023-26049","s":"9","e":true,"k":"9","d":[2191],"c":[]}]]}]]}],["0",{"w":"cve-2020-36518","s":"0-36518","e":true,"k":"0","d":[2132],"c":[]}],["1",{"w":"cve-2021-37533","s":"1-37533","e":true,"k":"1","d":[2171,2172],"c":[]}],["2",{"w":"cve-2022-","s":"2-","e":false,"k":"2","d":[],"c":[["4",{"w":"cve-2022-4","s":"4","e":false,"k":"4","d":[],"c":[["2",{"w":"cve-2022-4200","s":"200","e":false,"k":"2","d":[],"c":[["3",{"w":"cve-2022-42003","s":"3","e":true,"k":"3","d":[2173],"c":[]}],["4",{"w":"cve-2022-42004","s":"4","e":true,"k":"4","d":[2173],"c":[]}]]}],["1",{"w":"cve-2022-41915","s":"1915","e":true,"k":"1","d":[2188],"c":[]}]]}],["2",{"w":"cve-2022-2048","s":"2048","e":true,"k":"2","d":[2185],"c":[]}]]}]]}],["s",{"w":"cves","s":"s","e":true,"k":"s","d":[2167,2192],"c":[]}]]}],["z",{"w":"czxid","s":"zxid","e":true,"k":"z","d":[1331],"c":[]}],["t",{"w":"ctime","s":"time","e":true,"k":"t","d":[1334],"c":[]}],["x",{"w":"cxf","s":"xf","e":true,"k":"x","d":[1584,1655,1656,1747],"c":[]}],["w",{"w":"cwiki","s":"wiki","e":true,"k":"w","d":[1744,1768,1774],"c":[]}],["y",{"w":"cyclonedx-maven-plugin","s":"yclonedx-maven-plugin","e":true,"k":"y","d":[2190],"c":[]}]]}],["i",{"w":"i","s":"i","e":true,"k":"i","d":[113,116,130,135,136,333,337,402,403,407,408,411,727,756,765,1240,1282,1320,1322,1388,1396,1400,1553,1554,1558,1816,1978],"c":[["n",{"w":"in","s":"n","e":true,"k":"n","d":[12,15,16,17,21,26,29,30,35,38,39,40,46,48,49,59,60,61,62,65,67,69,70,71,72,73,75,76,77,78,100,102,107,109,114,115,120,122,125,129,134,138,143,144,145,146,148,150,152,153,155,157,174,176,177,180,184,185,190,191,192,193,197,198,199,200,202,203,204,205,206,207,208,209,210,211,212,213,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,243,248,252,257,259,263,264,265,266,267,268,269,270,271,272,273,275,280,282,283,285,286,287,288,291,292,293,295,296,304,305,306,307,308,309,310,312,313,314,315,316,317,318,319,328,331,332,333,337,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,363,364,365,366,369,370,371,372,373,375,376,377,380,381,384,385,389,391,392,393,396,397,398,399,402,405,406,408,410,411,412,413,414,415,416,417,418,419,421,426,428,430,434,442,443,444,447,448,452,454,455,471,475,508,509,510,512,515,520,522,524,525,527,530,532,538,539,541,589,594,596,603,633,634,635,637,641,642,644,647,649,650,652,653,656,659,662,665,667,671,674,675,677,678,680,684,686,687,690,691,694,695,696,697,699,700,704,709,718,719,720,721,728,730,731,732,734,740,750,755,756,765,768,780,781,793,808,810,830,832,833,840,854,861,864,870,872,874,876,878,883,886,891,905,906,907,912,913,918,922,923,929,935,944,955,957,963,967,968,970,991,1016,1023,1026,1034,1035,1060,1062,1064,1079,1088,1090,1091,1093,1098,1101,1103,1105,1106,1111,1130,1131,1132,1133,1135,1136,1137,1139,1140,1142,1144,1148,1155,1166,1167,1168,1170,1172,1173,1211,1214,1215,1217,1221,1225,1228,1230,1231,1232,1233,1234,1235,1237,1238,1239,1240,1242,1245,1251,1252,1261,1262,1263,1265,1267,1270,1279,1280,1284,1289,1299,1301,1302,1304,1306,1311,1313,1315,1316,1317,1319,1320,1321,1323,1326,1330,1334,1335,1346,1347,1349,1355,1364,1365,1368,1369,1370,1372,1382,1383,1384,1386,1387,1388,1396,1398,1401,1402,1403,1405,1406,1407,1415,1416,1420,1422,1424,1432,1436,1437,1443,1450,1454,1456,1472,1474,1475,1476,1479,1485,1493,1495,1496,1497,1500,1503,1505,1507,1509,1511,1513,1514,1516,1518,1521,1525,1526,1529,1530,1531,1537,1538,1540,1541,1542,1543,1544,1549,1554,1557,1558,1561,1626,1627,1629,1634,1635,1636,1639,1645,1647,1658,1667,1668,1678,1679,1681,1682,1688,1691,1692,1693,1700,1707,1709,1711,1715,1717,1720,1724,1732,1733,1735,1737,1738,1760,1769,1797,1799,1800,1802,1805,1806,1807,1809,1812,1814,1820,1833,1836,1838,1845,1846,1862,1869,1871,1876,1877,1879,1880,1887,1898,1899,1900,1901,1902,1903,1905,1907,1908,1909,1912,1913,1915,1916,1917,1923,1926,1940,1942,1944,1946,1950,1951,1957,1958,1962,1963,1967,1968,1971,1972,1973,1974,1975,1976,1978,1980,1982,2024,2025,2032,2035,2037,2039,2040,2041,2042,2044,2045,2047,2050,2054,2060,2061,2064,2067,2068,2075,2079,2081,2082,2084,2085,2088,2093,2094,2104,2109,2113,2118,2119,2122,2125,2131,2140,2148,2151,2152,2159,2165,2175,2176,2182,2189],"c":[["c",{"w":"inc","s":"c","e":true,"k":"c","d":[1704],"c":[["l",{"w":"includ","s":"lud","e":false,"k":"l","d":[],"c":[["i",{"w":"including","s":"ing","e":true,"k":"i","d":[2,140,161,196,305,405,687,737,994,1150,1205,1291,1426,1701,1743,1849,1984],"c":[]}],["e",{"w":"include","s":"e","e":true,"k":"e","d":[110,257,307,452,514,1253,1476,1624,1641,1735,1881,2055],"c":[["s",{"w":"includes","s":"s","e":true,"k":"s","d":[61,100,123,380,381,408,448,709,762,765,787,830,1240,1311,1368,1733,1808,1882],"c":[]}],["d",{"w":"included","s":"d","e":true,"k":"d","d":[524,692,747,964,969,1368,1369,1475,1625],"c":[]}]]}]]}],["o",{"w":"inco","s":"o","e":false,"k":"o","d":[],"c":[["m",{"w":"incom","s":"m","e":false,"k":"m","d":[],"c":[["i",{"w":"incoming","s":"ing","e":true,"k":"i","d":[12,1235],"c":[]}],["p",{"w":"incompatible","s":"patible","e":true,"k":"p","d":[2021,2038,2039],"c":[]}]]}],["n",{"w":"incon","s":"n","e":false,"k":"n","d":[],"c":[["s",{"w":"inconsisten","s":"sisten","e":false,"k":"s","d":[],"c":[["t",{"w":"inconsistent","s":"t","e":true,"k":"t","d":[46,305],"c":[]}],["c",{"w":"inconsistency","s":"cy","e":true,"k":"c","d":[243,257,633,659,680,1416,2083],"c":[]}]]}],["v",{"w":"inconvenient","s":"venient","e":true,"k":"v","d":[402],"c":[]}]]}],["r",{"w":"incorrect","s":"rrect","e":true,"k":"r","d":[47,48,2103],"c":[]}]]}],["r",{"w":"incre","s":"re","e":false,"k":"r","d":[],"c":[["a",{"w":"increas","s":"as","e":false,"k":"a","d":[],"c":[["e",{"w":"increase","s":"e","e":true,"k":"e","d":[47,220,293,372,373,399,520,647,871,907,1327,1348,1981],"c":[["d",{"w":"increased","s":"d","e":true,"k":"d","d":[220,287,310,396,1402],"c":[]}],["s",{"w":"increases","s":"s","e":true,"k":"s","d":[442,905,1311,1808],"c":[]}]]}],["i",{"w":"increasing","s":"ing","e":true,"k":"i","d":[393,886,1320,1503],"c":[]}]]}],["m",{"w":"increment","s":"ment","e":false,"k":"m","d":[],"c":[["a",{"w":"incremental","s":"al","e":true,"k":"a","d":[627,685,697,698,707,710,711,725,729,730,1672],"c":[["l",{"w":"incrementally","s":"ly","e":true,"k":"l","d":[243,245],"c":[]}]]}],["e",{"w":"incremented","s":"ed","e":true,"k":"e","d":[1320],"c":[]}],["s",{"w":"increments","s":"s","e":true,"k":"s","d":[1877],"c":[]}]]}]]}],["h",{"w":"inchash","s":"hash","e":true,"k":"h","d":[244],"c":[]}],["u",{"w":"incubator","s":"ubator","e":true,"k":"u","d":[1754],"c":[]}]]}],["s",{"w":"ins","s":"s","e":false,"k":"s","d":[],"c":[["t",{"w":"inst","s":"t","e":false,"k":"t","d":[],"c":[["a",{"w":"insta","s":"a","e":false,"k":"a","d":[],"c":[["l",{"w":"install","s":"ll","e":true,"k":"l","d":[13,405,513,516,518,526,820,1054,1251],"c":[["a",{"w":"installation","s":"ation","e":true,"k":"a","d":[1075,1209,1685,1783,1939,1942],"c":[["s",{"w":"installations","s":"s","e":true,"k":"s","d":[51,1068,1939],"c":[]}]]}],["i",{"w":"installing","s":"ing","e":true,"k":"i","d":[471,527,528],"c":[]}],["e",{"w":"installed","s":"ed","e":true,"k":"e","d":[1055,1243],"c":[]}]]}],["n",{"w":"instan","s":"n","e":false,"k":"n","d":[],"c":[["c",{"w":"instance","s":"ce","e":true,"k":"c","d":[102,148,372,373,399,447,520,526,527,748,905,906,907,911,912,913,940,941,950,952,953,1097,1213,1223,1289,1311,1374,1711,1717,1808],"c":[["s",{"w":"instances","s":"s","e":true,"k":"s","d":[150,524,747,905,907,908,912,914,942,943,948,950,1090,1213,1669],"c":[]}]]}],["t",{"w":"instantiate","s":"tiate","e":true,"k":"t","d":[1090],"c":[["s",{"w":"instantiates","s":"s","e":true,"k":"s","d":[1093],"c":[]}]]}]]}]]}],["e",{"w":"instead","s":"ead","e":true,"k":"e","d":[59,140,144,643,684,687,690,712,717,719,880,913,1154,1172,1317,1373,1904,2098,2142,2166],"c":[]}],["r",{"w":"instruct","s":"ruct","e":true,"k":"r","d":[369,370,1103,1980],"c":[["s",{"w":"instructs","s":"s","e":true,"k":"s","d":[371,650,881],"c":[]}],["i",{"w":"instructions","s":"ions","e":true,"k":"i","d":[527,1939],"c":[]}]]}]]}],["i",{"w":"inside","s":"ide","e":true,"k":"i","d":[243,1322,1641,1742],"c":[]}],["u",{"w":"insu","s":"u","e":false,"k":"u","d":[],"c":[["f",{"w":"insufficient","s":"fficient","e":true,"k":"f","d":[396,597],"c":[]}],["l",{"w":"insulate","s":"late","e":true,"k":"l","d":[882],"c":[]}]]}],["p",{"w":"inspect","s":"pect","e":true,"k":"p","d":[750,1954],"c":[]}],["e",{"w":"insert","s":"ert","e":true,"k":"e","d":[946],"c":[]}]]}],["t",{"w":"int","s":"t","e":true,"k":"t","d":[132,1177,1178,1179,1180,1181,1182,1193,1195,1197,1199,1264,1320],"c":[["r",{"w":"introduc","s":"roduc","e":false,"k":"r","d":[],"c":[["e",{"w":"introduce","s":"e","e":true,"k":"e","d":[1120,1407,2060,2066],"c":[["d",{"w":"introduced","s":"d","e":true,"k":"d","d":[16,269,418,419,653,871,915,932,1237],"c":[]}]]}],["t",{"w":"introduction","s":"tion","e":true,"k":"t","d":[1069,1080,1358],"c":[]}]]}],["e",{"w":"inte","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"inter","s":"r","e":false,"k":"r","d":[],"c":[["a",{"w":"interact","s":"act","e":true,"k":"a","d":[1203],"c":[["i",{"w":"interacti","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"interaction","s":"on","e":true,"k":"o","d":[18,1130],"c":[]}],["v",{"w":"interactive","s":"ve","e":true,"k":"v","d":[1007,1023,1039,1050],"c":[]}]]}]]}],["f",{"w":"interf","s":"f","e":false,"k":"f","d":[],"c":[["a",{"w":"interfac","s":"ac","e":false,"k":"a","d":[],"c":[["e",{"w":"interface","s":"e","e":true,"k":"e","d":[31,53,102,106,197,293,634,647,879,1133,1134,1135,1365,1704,1819,1832,1958,1980,2160],"c":[["s",{"w":"interfaces","s":"s","e":true,"k":"s","d":[293,372,373,399,520,647,1132,1980],"c":[]}]]}],["i",{"w":"interfacing","s":"ing","e":true,"k":"i","d":[51],"c":[]}]]}],["e",{"w":"interference","s":"erence","e":true,"k":"e","d":[2028],"c":[]}]]}],["e",{"w":"interest","s":"est","e":true,"k":"e","d":[755],"c":[["i",{"w":"interesting","s":"ing","e":true,"k":"i","d":[58,1473,1544],"c":[["l",{"w":"interestingly","s":"ly","e":true,"k":"l","d":[1913],"c":[]}]]}],["e",{"w":"interested","s":"ed","e":true,"k":"e","d":[471,1133],"c":[]}]]}],["n",{"w":"internal","s":"nal","e":true,"k":"n","d":[123,206,521,879,1091,1401,1720,1721],"c":[["l",{"w":"internally","s":"ly","e":true,"k":"l","d":[250,277,1212,1740],"c":[]}],["s",{"w":"internals","s":"s","e":true,"k":"s","d":[1848],"c":[]}]]}],["v",{"w":"interval","s":"val","e":true,"k":"v","d":[204,214,215,217,219,415,417,422,1238],"c":[]}],["r",{"w":"interrupt","s":"rupt","e":false,"k":"r","d":[],"c":[["i",{"w":"interruption","s":"ion","e":true,"k":"i","d":[610,634],"c":[]}],["e",{"w":"interrupted","s":"ed","e":true,"k":"e","d":[955],"c":[["e",{"w":"interruptedexception","s":"exception","e":true,"k":"e","d":[1099],"c":[]}]]}]]}],["m",{"w":"intermediate","s":"mediate","e":true,"k":"m","d":[731],"c":[]}],["p",{"w":"interpret","s":"pret","e":true,"k":"p","d":[1370],"c":[["e",{"w":"interpreted","s":"ed","e":true,"k":"e","d":[1186],"c":[]}],["i",{"w":"interpreting","s":"ing","e":true,"k":"i","d":[1384],"c":[]}]]}],["s",{"w":"intersect","s":"sect","e":true,"k":"s","d":[1912],"c":[["i",{"w":"intersection","s":"ion","e":true,"k":"i","d":[1913],"c":[]}]]}]]}],["g",{"w":"integ","s":"g","e":false,"k":"g","d":[],"c":[["r",{"w":"integrat","s":"rat","e":false,"k":"r","d":[],"c":[["i",{"w":"integrati","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"integration","s":"on","e":true,"k":"o","d":[33,884,1651],"c":[["s",{"w":"integrations","s":"s","e":true,"k":"s","d":[1641],"c":[]}]]}],["n",{"w":"integrating","s":"ng","e":true,"k":"n","d":[1240],"c":[]}]]}],["e",{"w":"integrated","s":"ed","e":true,"k":"e","d":[755],"c":[]}]]}],["e",{"w":"integer","s":"er","e":true,"k":"e","d":[201,202,204,224,225,226,444,1103],"c":[["s",{"w":"integers","s":"s","e":true,"k":"s","d":[419,1101,1877],"c":[]}]]}]]}],["n",{"w":"inten","s":"n","e":false,"k":"n","d":[],"c":[["t",{"w":"intent","s":"t","e":true,"k":"t","d":[270],"c":[]}],["d",{"w":"intend","s":"d","e":false,"k":"d","d":[],"c":[["s",{"w":"intends","s":"s","e":true,"k":"s","d":[332,644],"c":[]}],["e",{"w":"intended","s":"ed","e":true,"k":"e","d":[522,1203,1801],"c":[]}]]}],["s",{"w":"intensive","s":"sive","e":true,"k":"s","d":[633,777,790],"c":[]}]]}],["l",{"w":"intellectual","s":"llectual","e":true,"k":"l","d":[1626],"c":[]}]]}],["o",{"w":"into","s":"o","e":true,"k":"o","d":[331,396,452,514,662,670,709,710,731,880,902,908,1069,1130,1223,1240,1329,1344,1345,1387,1456,1503,1724,1729,1831,1875,1877,1913,2157],"c":[]}]]}],["-",{"w":"in-","s":"-","e":false,"k":"-","d":[],"c":[["b",{"w":"in-built","s":"built","e":true,"k":"b","d":[17],"c":[]}],["m",{"w":"in-memory","s":"memory","e":true,"k":"m","d":[181,192,777,790,1668,1694,1799,1802,1828,1947],"c":[]}],["f",{"w":"in-flight","s":"flight","e":true,"k":"f","d":[268],"c":[]}],["h",{"w":"in-house","s":"house","e":true,"k":"h","d":[1737],"c":[]}]]}],["f",{"w":"inf","s":"f","e":false,"k":"f","d":[],"c":[["r",{"w":"infrastructure","s":"rastructure","e":true,"k":"r","d":[25,308,309,1731,1741,1758,1759],"c":[["s",{"w":"infrastructures","s":"s","e":true,"k":"s","d":[331],"c":[]}]]}],["o",{"w":"info","s":"o","e":true,"k":"o","d":[113,123,175,182,187,284,290,294,300,302,453,511,817,1141,1175,1198,1202,1246,1250,1255,1288,1312,1411,1504,1508,1835,1920,1923,1969,1977],"c":[["r",{"w":"information","s":"rmation","e":true,"k":"r","d":[27,28,58,61,65,69,70,72,113,115,116,121,123,128,131,132,135,136,137,176,264,265,272,308,309,315,396,447,467,528,608,643,659,665,670,671,689,754,768,771,774,834,1028,1251,1261,1289,1315,1317,1351,1352,1354,1355,1356,1365,1367,1368,1369,1435,1645,1650,1654,1658,1737,1807,1847,1915,1929,1967],"c":[["a",{"w":"informational","s":"al","e":true,"k":"a","d":[1920,1921,1922],"c":[]}]]}]]}],["l",{"w":"infl","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"inflight","s":"ight","e":true,"k":"i","d":[266],"c":[]}],["u",{"w":"influ","s":"u","e":false,"k":"u","d":[],"c":[["e",{"w":"influences","s":"ences","e":true,"k":"e","d":[449],"c":[]}],["x",{"w":"influxdb","s":"xdb","e":true,"k":"x","d":[795,803,830],"c":[]}]]}]]}],["i",{"w":"infinite","s":"inite","e":true,"k":"i","d":[310],"c":[]}]]}],["d",{"w":"ind","s":"d","e":false,"k":"d","d":[],"c":[["i",{"w":"indi","s":"i","e":false,"k":"i","d":[],"c":[["c",{"w":"indic","s":"c","e":false,"k":"c","d":[],"c":[["a",{"w":"indicat","s":"at","e":false,"k":"a","d":[],"c":[["e",{"w":"indicate","s":"e","e":true,"k":"e","d":[65,126,204,406,417,644,906,1091,1262,1309,1833,1834,1838],"c":[["s",{"w":"indicates","s":"s","e":true,"k":"s","d":[445,522,771,774,1982],"c":[]}]]}],["i",{"w":"indicating","s":"ing","e":true,"k":"i","d":[1679],"c":[]}]]}],["e",{"w":"indices","s":"es","e":true,"k":"e","d":[1638],"c":[]}]]}],["v",{"w":"individual","s":"vidual","e":true,"k":"v","d":[189,454,1092,1731,1881],"c":[["l",{"w":"individually","s":"ly","e":true,"k":"l","d":[143,2074,2153],"c":[]}]]}],["r",{"w":"indirectly","s":"rectly","e":true,"k":"r","d":[1328],"c":[]}]]}],["e",{"w":"inde","s":"e","e":false,"k":"e","d":[],"c":[["p",{"w":"independent","s":"pendent","e":true,"k":"p","d":[536,694],"c":[["l",{"w":"independently","s":"ly","e":true,"k":"l","d":[452,694],"c":[]}]]}],["x",{"w":"index","s":"x","e":true,"k":"x","d":[516,598,1635,1723,1740],"c":[["e",{"w":"indexes","s":"es","e":true,"k":"e","d":[1634,1732],"c":[]}]]}],["e",{"w":"indeed","s":"ed","e":true,"k":"e","d":[733,1964],"c":[]}],["f",{"w":"indefinitely","s":"finitely","e":true,"k":"f","d":[1401],"c":[]}]]}],["u",{"w":"industrial","s":"ustrial","e":true,"k":"u","d":[1846],"c":[]}]]}],["i",{"w":"init","s":"it","e":false,"k":"i","d":[],"c":[["i",{"w":"initia","s":"ia","e":false,"k":"i","d":[],"c":[["l",{"w":"initial","s":"l","e":true,"k":"l","d":[121,689,690,691,694,696,1396],"c":[["_",{"w":"initial_configuration","s":"_configuration","e":true,"k":"_","d":[119],"c":[]}],["i",{"w":"initializ","s":"iz","e":false,"k":"i","d":[],"c":[["a",{"w":"initialization","s":"ation","e":true,"k":"a","d":[407,522,748,909],"c":[]}],["e",{"w":"initialize","s":"e","e":true,"k":"e","d":[445,522],"c":[["d",{"w":"initialized","s":"d","e":true,"k":"d","d":[2137],"c":[]}]]}]]}],["l",{"w":"initially","s":"ly","e":true,"k":"l","d":[660,929,1405],"c":[]}]]}],["t",{"w":"initiat","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"initiated","s":"ed","e":true,"k":"e","d":[272,862,1434],"c":[]}],["i",{"w":"initiation","s":"ion","e":true,"k":"i","d":[1270],"c":[]}]]}]]}],["l",{"w":"initlimit","s":"limit","e":true,"k":"l","d":[286,287,288,1973,1974],"c":[]}]]}],["p",{"w":"input","s":"put","e":true,"k":"p","d":[125,987,1049],"c":[]}],["v",{"w":"inv","s":"v","e":false,"k":"v","d":[],"c":[["a",{"w":"invalid","s":"alid","e":true,"k":"a","d":[333,337,402,1049,1218,1309],"c":[["a",{"w":"invalidate","s":"ate","e":true,"k":"a","d":[1506],"c":[]}]]}],["o",{"w":"invo","s":"o","e":false,"k":"o","d":[],"c":[["k",{"w":"invok","s":"k","e":false,"k":"k","d":[],"c":[["e",{"w":"invoke","s":"e","e":true,"k":"e","d":[668,706,733,1146],"c":[["d",{"w":"invoked","s":"d","e":true,"k":"d","d":[665,706,852,1135,1136,1142,1455],"c":[]}],["s",{"w":"invokes","s":"s","e":true,"k":"s","d":[729,1137,1145,1369,1402],"c":[]}]]}],["i",{"w":"invoking","s":"ing","e":true,"k":"i","d":[689,733],"c":[]}]]}],["c",{"w":"invocation","s":"cation","e":true,"k":"c","d":[706],"c":[]}],["l",{"w":"involve","s":"lve","e":true,"k":"l","d":[1833],"c":[["d",{"w":"involved","s":"d","e":true,"k":"d","d":[1368,1543],"c":[]}]]}]]}]]}],["l",{"w":"inline","s":"line","e":true,"k":"l","d":[713],"c":[]}],["m",{"w":"inmemorydatatree","s":"memorydatatree","e":true,"k":"m","d":[776,789],"c":[["s",{"w":"inmemorydatatrees","s":"s","e":true,"k":"s","d":[777],"c":[]}]]}],["g",{"w":"ingest","s":"gest","e":true,"k":"g","d":[819],"c":[["i",{"w":"ingestion","s":"ion","e":true,"k":"i","d":[1644],"c":[]}]]}],["h",{"w":"inher","s":"her","e":false,"k":"h","d":[],"c":[["i",{"w":"inherit","s":"it","e":true,"k":"i","d":[2038,2039],"c":[["s",{"w":"inherits","s":"s","e":true,"k":"s","d":[913],"c":[]}]]}],["e",{"w":"inherently","s":"ently","e":true,"k":"e","d":[1971],"c":[]}]]}],["j",{"w":"inject","s":"ject","e":false,"k":"j","d":[],"c":[["i",{"w":"injection","s":"ion","e":true,"k":"i","d":[1012,1069,1073],"c":[]}],["s",{"w":"injects","s":"s","e":true,"k":"s","d":[1069],"c":[]}],["e",{"w":"injected","s":"ed","e":true,"k":"e","d":[1844],"c":[]}]]}],["e",{"w":"ine","s":"e","e":false,"k":"e","d":[],"c":[["f",{"w":"ineffective","s":"ffective","e":true,"k":"f","d":[1237],"c":[]}],["t",{"w":"inetaddress","s":"taddress","e":true,"k":"t","d":[2139],"c":[]}]]}],["n",{"w":"inner","s":"ner","e":true,"k":"n","d":[1849],"c":[]}]]}],["s",{"w":"is","s":"s","e":true,"k":"s","d":[11,12,13,17,18,20,25,26,35,37,38,39,40,46,47,48,49,57,65,74,75,78,89,95,100,102,103,105,106,114,120,122,125,126,129,131,138,143,148,151,152,156,159,174,178,180,183,184,185,188,189,190,191,192,193,194,195,196,197,200,201,202,203,204,205,207,208,209,210,211,212,213,216,217,218,219,220,221,222,223,224,225,226,227,228,230,231,232,233,234,235,236,237,238,240,241,242,243,245,249,250,251,253,254,256,257,258,260,263,264,265,266,267,268,269,270,271,272,273,274,275,276,282,285,287,288,289,291,292,293,295,297,298,303,304,305,306,308,309,313,316,317,318,328,329,330,331,332,334,335,336,338,340,341,342,350,353,354,355,356,357,364,371,372,373,376,379,382,384,385,386,387,389,390,391,392,393,396,398,400,402,404,405,406,408,410,411,412,413,414,415,416,417,419,420,425,431,445,447,448,449,452,454,473,474,475,508,509,510,512,513,517,520,522,523,524,527,533,534,535,537,538,539,541,580,635,639,640,643,644,645,647,649,650,651,652,653,659,660,662,663,665,666,667,671,672,673,674,675,676,677,678,679,680,682,683,684,685,688,689,690,692,694,696,697,698,699,700,701,702,703,704,705,706,709,710,712,714,717,721,722,724,730,731,732,733,751,752,754,755,756,768,771,774,780,781,793,808,812,819,825,830,833,840,852,853,854,857,858,859,860,861,862,863,864,870,872,874,875,877,878,880,881,883,902,905,906,907,908,910,912,916,917,930,933,938,941,942,943,944,948,950,952,954,955,964,967,969,980,1016,1022,1023,1047,1067,1069,1073,1074,1090,1091,1092,1097,1098,1099,1100,1101,1103,1104,1105,1130,1131,1132,1133,1134,1135,1136,1137,1139,1140,1142,1144,1146,1148,1154,1155,1156,1157,1166,1167,1172,1173,1174,1175,1191,1196,1201,1203,1212,1213,1214,1217,1218,1220,1221,1222,1223,1224,1225,1226,1227,1229,1235,1236,1237,1239,1240,1261,1266,1269,1276,1279,1284,1286,1287,1289,1304,1310,1311,1316,1317,1318,1319,1320,1321,1323,1326,1328,1330,1339,1345,1346,1347,1348,1349,1351,1355,1365,1367,1368,1369,1371,1372,1378,1383,1384,1385,1386,1387,1388,1390,1391,1393,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1408,1410,1411,1412,1413,1415,1416,1420,1421,1423,1424,1432,1433,1434,1435,1436,1443,1444,1445,1450,1451,1454,1455,1456,1473,1476,1478,1479,1481,1483,1485,1493,1495,1500,1502,1503,1505,1506,1509,1511,1512,1516,1518,1519,1520,1525,1526,1527,1528,1537,1540,1541,1542,1544,1545,1546,1548,1549,1553,1554,1557,1558,1560,1628,1629,1631,1635,1636,1638,1639,1642,1644,1646,1647,1648,1649,1651,1655,1659,1666,1667,1668,1669,1670,1671,1672,1673,1676,1680,1682,1683,1684,1686,1688,1691,1694,1696,1698,1700,1701,1704,1708,1710,1714,1715,1716,1718,1721,1723,1724,1725,1726,1735,1736,1741,1742,1743,1797,1798,1799,1801,1804,1805,1806,1807,1809,1810,1811,1813,1818,1819,1828,1831,1832,1833,1834,1838,1844,1845,1846,1862,1864,1865,1866,1867,1868,1869,1870,1874,1875,1876,1877,1881,1885,1886,1887,1893,1896,1898,1902,1903,1904,1905,1907,1908,1909,1911,1912,1913,1915,1923,1939,1942,1944,1946,1951,1967,1968,1971,1972,1973,1974,1975,1976,1982,2021,2022,2026,2061,2073,2088,2099,2123,2154,2183],"c":[["s",{"w":"issu","s":"su","e":false,"k":"s","d":[],"c":[["e",{"w":"issue","s":"e","e":true,"k":"e","d":[57,194,210,212,235,249,251,257,270,273,310,405,534,878,883,895,896,931,950,1503,1901,1908,1960],"c":[["d",{"w":"issued","s":"d","e":true,"k":"d","d":[53,102,1424],"c":[]}],["s",{"w":"issues","s":"s","e":true,"k":"s","d":[207,227,310,318,342,912,1217,1907,2036,2120],"c":[]}]]}],["i",{"w":"issuing","s":"ing","e":true,"k":"i","d":[435,1888,1958,1963,1965],"c":[]}]]}],["r",{"w":"isro","s":"ro","e":true,"k":"r","d":[75,120,306,2070],"c":[]}],["_",{"w":"is_","s":"_","e":false,"k":"_","d":[],"c":[["r",{"w":"is_read_only","s":"read_only","e":true,"k":"r","d":[120],"c":[]}],["l",{"w":"is_leader","s":"leader","e":true,"k":"l","d":[122],"c":[]}]]}],["o",{"w":"isolation","s":"olation","e":true,"k":"o","d":[971],"c":[]}],["v",{"w":"isvalid","s":"valid","e":true,"k":"v","d":[1368],"c":[]}],["a",{"w":"isauthenticated","s":"authenticated","e":true,"k":"a","d":[1368],"c":[]}],["n",{"w":"isn't","s":"n't","e":true,"k":"n","d":[1541,1904,1905],"c":[]}],["x",{"w":"isxyz","s":"xyz","e":true,"k":"x","d":[2098],"c":[]}]]}],["m",{"w":"im","s":"m","e":false,"k":"m","d":[],"c":[["p",{"w":"imp","s":"p","e":false,"k":"p","d":[],"c":[["l",{"w":"impl","s":"l","e":true,"k":"l","d":[265],"c":[["e",{"w":"implement","s":"ement","e":true,"k":"e","d":[265,352,1365,1458,1472,1503,1506,1520,1522,1541,1543,1627,1797,1804,1832,1846,1867],"c":[["s",{"w":"implements","s":"s","e":true,"k":"s","d":[14,1132],"c":[]}],["a",{"w":"implementation","s":"ation","e":true,"k":"a","d":[213,228,283,331,649,889,898,899,912,955,1092,1101,1138,1154,1203,1212,1256,1361,1365,1386,1422,1505,1509,1544,1629,1656,1677,1769,1792,1800,1877,1915],"c":[["s",{"w":"implementations","s":"s","e":true,"k":"s","d":[285,897,1088,1317,1695],"c":[]}]]}],["e",{"w":"implemented","s":"ed","e":true,"k":"e","d":[452,475,1135,1142,1406,1472,1479,1507,1800,1867],"c":[]}],["i",{"w":"implementing","s":"ing","e":true,"k":"i","d":[1079,1359,1373,1476,1798],"c":[]}],["o",{"w":"implementor","s":"or","e":true,"k":"o","d":[1367],"c":[]}]]}],["i",{"w":"impli","s":"i","e":false,"k":"i","d":[],"c":[["c",{"w":"implic","s":"c","e":false,"k":"c","d":[],"c":[["i",{"w":"implicit","s":"it","e":true,"k":"i","d":[2186],"c":[["l",{"w":"implicitly","s":"ly","e":true,"k":"l","d":[230,1167],"c":[]}]]}],["a",{"w":"implication","s":"ation","e":true,"k":"a","d":[1476],"c":[]}]]}],["e",{"w":"implies","s":"es","e":true,"k":"e","d":[357,1434],"c":[]}]]}],["y",{"w":"imply","s":"y","e":true,"k":"y","d":[1410,1560],"c":[]}]]}],["a",{"w":"impact","s":"act","e":true,"k":"a","d":[70,72,113,116,130,135,136,188,699,2149],"c":[]}],["r",{"w":"impro","s":"ro","e":false,"k":"r","d":[],"c":[["v",{"w":"improve","s":"ve","e":true,"k":"v","d":[210,211,310,408,2112,2181],"c":[["s",{"w":"improves","s":"s","e":true,"k":"s","d":[192,871,880],"c":[]}],["d",{"w":"improved","s":"d","e":true,"k":"d","d":[229,1836],"c":[]}],["m",{"w":"improvement","s":"ment","e":true,"k":"m","d":[1988,1995,2000,2006,2009,2015],"c":[["s",{"w":"improvements","s":"s","e":true,"k":"s","d":[829,1984],"c":[]}]]}]]}],["p",{"w":"improper","s":"per","e":true,"k":"p","d":[2119],"c":[]}]]}],["o",{"w":"impo","s":"o","e":false,"k":"o","d":[],"c":[["r",{"w":"import","s":"rt","e":true,"k":"r","d":[829],"c":[["a",{"w":"important","s":"ant","e":true,"k":"a","d":[206,517,521,1289,1349,1460,1512,1527,1528,1541,1545,1549,1700,1845,1912,1982],"c":[["l",{"w":"importantly","s":"ly","e":true,"k":"l","d":[1845],"c":[]}]]}]]}],["s",{"w":"impos","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"impose","s":"e","e":true,"k":"e","d":[1103],"c":[["s",{"w":"imposes","s":"s","e":true,"k":"s","d":[1473],"c":[]}]]}],["s",{"w":"impossibility","s":"sibility","e":true,"k":"s","d":[1545],"c":[]}]]}]]}]]}],["o",{"w":"imok","s":"ok","e":true,"k":"o","d":[65],"c":[]}],["m",{"w":"imm","s":"m","e":false,"k":"m","d":[],"c":[["e",{"w":"immediate","s":"ediate","e":true,"k":"e","d":[1043,1048],"c":[["l",{"w":"immediately","s":"ly","e":true,"k":"l","d":[270,634,687,1388,1540,1908],"c":[]}]]}],["u",{"w":"immutable","s":"utable","e":true,"k":"u","d":[633],"c":[]}]]}],["a",{"w":"ima","s":"a","e":false,"k":"a","d":[],"c":[["g",{"w":"imag","s":"g","e":false,"k":"g","d":[],"c":[["e",{"w":"image","s":"e","e":true,"k":"e","d":[1278,1282,1802,1816,2167],"c":[]}],["i",{"w":"imagined","s":"ined","e":true,"k":"i","d":[1475],"c":[]}]]}],["p",{"w":"imap4","s":"p4","e":true,"k":"p","d":[1696],"c":[]}]]}]]}],["t",{"w":"it","s":"t","e":true,"k":"t","d":[17,18,19,20,36,47,48,49,65,70,72,100,127,138,143,148,184,188,194,195,201,210,212,213,224,225,226,234,238,239,245,247,248,249,250,251,252,253,254,255,258,264,267,268,269,270,275,278,279,280,286,292,293,298,304,305,306,309,310,311,316,317,328,330,331,332,353,354,371,379,389,396,398,402,404,405,406,410,414,417,443,447,448,452,454,509,510,512,518,522,537,539,541,645,647,649,651,665,672,678,680,681,683,684,687,689,690,692,694,696,697,698,699,706,709,731,754,768,771,774,809,829,852,854,861,862,870,877,880,881,911,913,941,943,951,966,967,980,1022,1069,1073,1090,1091,1098,1099,1100,1102,1106,1122,1127,1130,1131,1132,1133,1134,1139,1140,1146,1148,1154,1155,1172,1191,1217,1224,1226,1228,1235,1237,1240,1261,1268,1269,1270,1282,1283,1287,1289,1304,1311,1317,1319,1322,1323,1339,1346,1348,1349,1351,1353,1364,1365,1367,1368,1369,1372,1382,1383,1384,1385,1386,1387,1388,1393,1395,1397,1403,1405,1407,1410,1411,1415,1416,1422,1423,1434,1435,1443,1451,1454,1473,1476,1485,1500,1502,1503,1520,1527,1528,1537,1540,1543,1544,1545,1546,1549,1560,1647,1670,1676,1679,1681,1682,1683,1700,1707,1709,1718,1724,1735,1797,1800,1801,1803,1805,1807,1808,1813,1816,1817,1819,1831,1832,1833,1838,1846,1869,1870,1871,1875,1876,1877,1886,1887,1888,1890,1892,1893,1896,1900,1903,1905,1911,1913,1915,1939,1943,1944,1945,1946,1964,1966,1971,1975,1979,1982],"c":[["'",{"w":"it's","s":"'s","e":true,"k":"'","d":[19,295,355,1344,1638,1684],"c":[]}],["s",{"w":"its","s":"s","e":true,"k":"s","d":[20,25,27,29,53,117,121,123,132,133,191,193,236,243,286,311,385,398,408,414,437,442,447,448,537,580,583,598,672,681,687,696,729,880,912,913,918,929,953,970,1093,1098,1100,1133,1134,1154,1160,1177,1191,1213,1289,1369,1397,1401,1402,1403,1410,1416,1424,1476,1543,1547,1629,1637,1650,1656,1681,1683,1689,1713,1737,1741,1813,1827,1871,1877,1896,1979,2163],"c":[["e",{"w":"itself","s":"elf","e":true,"k":"e","d":[400,405,452,691,862,964,967,969,1132,1136,1140,1144,1157,1194,1201,1289,1388,1629,1676,1683,1801,2099],"c":[]}]]}],["e",{"w":"item","s":"em","e":true,"k":"e","d":[753],"c":[["s",{"w":"items","s":"s","e":true,"k":"s","d":[1101],"c":[]}]]}]]}],["f",{"w":"if","s":"f","e":true,"k":"f","d":[18,19,20,29,37,38,46,47,48,65,75,105,106,120,121,122,126,129,132,174,176,180,189,190,194,204,207,210,220,221,230,236,237,247,248,249,256,263,266,267,269,272,275,286,287,292,295,296,298,299,301,305,306,307,316,332,336,340,350,355,372,373,375,385,387,390,399,402,405,406,411,412,413,414,510,513,514,521,523,526,533,534,536,537,644,649,650,662,665,666,667,680,688,690,691,692,694,695,696,697,709,710,715,718,722,729,731,733,751,755,829,861,862,863,864,883,936,963,968,980,989,1023,1091,1097,1100,1102,1104,1128,1129,1146,1148,1155,1167,1172,1194,1217,1222,1228,1229,1235,1241,1244,1254,1265,1268,1269,1276,1282,1284,1289,1311,1317,1319,1323,1324,1326,1328,1339,1345,1346,1347,1348,1349,1367,1368,1369,1371,1376,1382,1383,1384,1385,1387,1396,1397,1403,1404,1405,1410,1415,1416,1418,1423,1424,1433,1436,1445,1453,1455,1476,1479,1481,1482,1491,1493,1495,1496,1497,1503,1506,1513,1515,1521,1529,1530,1533,1534,1540,1541,1543,1549,1557,1625,1626,1678,1679,1681,1682,1683,1688,1700,1717,1724,1803,1811,1816,1822,1845,1864,1865,1866,1869,1871,1876,1885,1886,1895,1896,1900,1905,1909,1912,1913,1951,1971,1978,1979,1980,2022,2038,2039,2048,2082,2099],"c":[]}],["o",{"w":"io","s":"o","e":true,"k":"o","d":[33,34,35,36,37,391,392,1214,1216,1239,1773,1775,1777,1781],"c":[["e",{"w":"ioexception","s":"exception","e":true,"k":"e","d":[29,254,391,392,1235],"c":[]}]]}],["d",{"w":"id","s":"d","e":true,"k":"d","d":[61,444,447,448,520,521,780,793,838,861,1156,1171,1173,1174,1175,1184,1185,1213,1268,1326,1339,1367,1368,1369,1385,1401,1415,1876,1877],"c":[["e",{"w":"ide","s":"e","e":true,"k":"e","d":[509],"c":[["n",{"w":"identi","s":"nti","e":false,"k":"n","d":[],"c":[["f",{"w":"identifie","s":"fie","e":false,"k":"f","d":[],"c":[["d",{"w":"identified","s":"d","e":true,"k":"d","d":[196,447,905,908,1806],"c":[]}],["r",{"w":"identifier","s":"r","e":true,"k":"r","d":[297],"c":[["s",{"w":"identifiers","s":"s","e":true,"k":"s","d":[297],"c":[]}]]}],["s",{"w":"identifies","s":"s","e":true,"k":"s","d":[447,943,1366],"c":[]}]]}],["t",{"w":"identit","s":"t","e":false,"k":"t","d":[],"c":[["y",{"w":"identity","s":"y","e":true,"k":"y","d":[355,1173,1174,1175,1186],"c":[]}],["i",{"w":"identities","s":"ies","e":true,"k":"i","d":[864,1194],"c":[]}]]}],["c",{"w":"identical","s":"cal","e":true,"k":"c","d":[659,1289],"c":[["l",{"w":"identically","s":"ly","e":true,"k":"l","d":[913],"c":[]}]]}]]}],["a",{"w":"idea","s":"a","e":true,"k":"a","d":[245,316,735,902,1092,1548],"c":[["l",{"w":"ideally","s":"lly","e":true,"k":"l","d":[1731],"c":[]}]]}],["m",{"w":"idempotent","s":"mpotent","e":true,"k":"m","d":[448],"c":[]}]]}],["s",{"w":"ids","s":"s","e":true,"k":"s","d":[206,207,1154,1156,1157,1183,1366],"c":[["p",{"w":"idspec","s":"pec","e":true,"k":"p","d":[1365,1366],"c":[]}]]}],["l",{"w":"idle","s":"le","e":true,"k":"l","d":[308,309,434,1397],"c":[["t",{"w":"idletimeout","s":"timeout","e":true,"k":"t","d":[434],"c":[]}]]}],["i",{"w":"idi","s":"i","e":false,"k":"i","d":[],"c":[["u",{"w":"idium","s":"um","e":true,"k":"u","d":[1612,1725],"c":[]}],["o",{"w":"idioms","s":"oms","e":true,"k":"o","d":[1641,1861],"c":[]}]]}],["'",{"w":"id's","s":"'s","e":true,"k":"'","d":[1697],"c":[]}]]}],["e",{"w":"ie","s":"e","e":true,"k":"e","d":[70,72,1384],"c":[]}],["c",{"w":"ic","s":"c","e":false,"k":"c","d":[],"c":[["f",{"w":"icfg","s":"fg","e":true,"k":"f","d":[119],"c":[]}],["m",{"w":"icmp","s":"mp","e":true,"k":"m","d":[373,399],"c":[]}]]}],["p",{"w":"ip","s":"p","e":true,"k":"p","d":[196,328,355,398,841,842,857,864,985,1150,1155,1156,1157,1174,1223,1237,1368,1370],"c":[["v",{"w":"ipv","s":"v","e":false,"k":"v","d":[],"c":[["4",{"w":"ipv4","s":"4","e":true,"k":"4","d":[197],"c":[]}],["6",{"w":"ipv6","s":"6","e":true,"k":"6","d":[197,2042],"c":[]}]]}],["a",{"w":"ipauthenticationprovider","s":"authenticationprovider","e":true,"k":"a","d":[328,857,2093,2094],"c":[]}]]}],["g",{"w":"ign","s":"gn","e":false,"k":"g","d":[],"c":[["o",{"w":"ignore","s":"ore","e":false,"k":"o","d":[],"c":[["d",{"w":"ignored","s":"d","e":true,"k":"d","d":[252,255,256,279,354,1030,1172,2022],"c":[]}],["s",{"w":"ignores","s":"s","e":true,"k":"s","d":[1172],"c":[]}]]}],["i",{"w":"ignite","s":"ite","e":true,"k":"i","d":[1596,1694,1695],"c":[]}]]}],["l",{"w":"ill","s":"ll","e":false,"k":"l","d":[],"c":[["u",{"w":"illustrate","s":"ustrate","e":true,"k":"u","d":[735,1133,1475,1909],"c":[["d",{"w":"illustrated","s":"d","e":true,"k":"d","d":[728,833],"c":[]}]]}],["e",{"w":"illegal","s":"egal","e":true,"k":"e","d":[1217],"c":[]}]]}]]}],["p",{"w":"p","s":"p","e":true,"k":"p","d":[1092,1485,1493,1495,1760],"c":[["r",{"w":"pr","s":"r","e":false,"k":"r","d":[],"c":[["o",{"w":"pro","s":"o","e":false,"k":"o","d":[],"c":[["v",{"w":"prov","s":"v","e":false,"k":"v","d":[],"c":[["i",{"w":"provi","s":"i","e":false,"k":"i","d":[],"c":[["s",{"w":"provisioning","s":"sioning","e":true,"k":"s","d":[2],"c":[]}],["d",{"w":"provid","s":"d","e":false,"k":"d","d":[],"c":[["e",{"w":"provide","s":"e","e":true,"k":"e","d":[317,328,332,373,399,644,813,861,884,1268,1289,1354,1383,1643,1647,1652,1675,1704,1717,1723,1735],"c":[["r",{"w":"provider","s":"r","e":true,"k":"r","d":[32,316,321,331,364,368,798,861,2063],"c":[["s",{"w":"providers","s":"s","e":true,"k":"s","d":[10,856,861,2037],"c":[]}],["r",{"w":"providerregistry","s":"registry","e":true,"k":"r","d":[331,2137],"c":[]}]]}],["s",{"w":"provides","s":"s","e":true,"k":"s","d":[15,17,102,134,636,768,771,774,809,981,1068,1240,1372,1388,1434,1629,1630,1641,1645,1649,1669,1679,1688,1731,1732,1813,1914],"c":[]}],["d",{"w":"provided","s":"d","e":true,"k":"d","d":[195,204,207,295,405,674,1016,1172,1176,1222,1224,1371,1477,1478,1641,1692,1806,1863,1909,2148],"c":[]}]]}],["i",{"w":"providing","s":"ing","e":true,"k":"i","d":[1402,1629,1696,1819],"c":[]}]]}]]}],["e",{"w":"proved","s":"ed","e":true,"k":"e","d":[1871],"c":[]}]]}],["c",{"w":"proce","s":"ce","e":false,"k":"c","d":[],"c":[["s",{"w":"process","s":"ss","e":true,"k":"s","d":[18,19,20,65,189,210,211,263,271,312,353,354,365,366,408,412,413,414,448,662,729,751,863,916,933,1015,1091,1092,1093,1097,1098,1100,1101,1103,1104,1133,1213,1266,1313,1456,1485,1493,1495,1497,1500,1501,1502,1548,1549,1683,1690,1718,1900,1951],"c":[["e",{"w":"processe","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"processes","s":"s","e":true,"k":"s","d":[18,252,538,1092,1096,1098,1101,1104,1147,1237,1484,1500,1501,1502,1543,1549,1650,1799,1801,1912,1913],"c":[]}],["d",{"w":"processed","s":"d","e":true,"k":"d","d":[227,270,688,1214,1215,1217,1829,1902],"c":[]}]]}],["i",{"w":"processing","s":"ing","e":true,"k":"i","d":[48,210,211,234,387,396,408,413,414,694,723,1140,1146,1215,1216,1217,1422,1479,1503,1541,1644,1668,1672,1676,1694,1716,1718,1845],"c":[]}],["o",{"w":"processor","s":"or","e":true,"k":"o","d":[408,412,1166,1827],"c":[["s",{"w":"processors","s":"s","e":true,"k":"s","d":[509,809],"c":[]}]]}],["r",{"w":"processresult","s":"result","e":true,"k":"r","d":[1142],"c":[]}],["p",{"w":"processpacket","s":"packet","e":true,"k":"p","d":[2166],"c":[]}]]}],["e",{"w":"proceed","s":"ed","e":true,"k":"e","d":[234,452,1479,1537],"c":[["i",{"w":"proceeding","s":"ing","e":true,"k":"i","d":[1485],"c":[["s",{"w":"proceedings","s":"s","e":true,"k":"s","d":[957,1760],"c":[]}]]}],["s",{"w":"proceeds","s":"s","e":true,"k":"s","d":[1481],"c":[]}]]}],["d",{"w":"procedure","s":"dure","e":true,"k":"d","d":[1485,1557,1560],"c":[]}]]}],["m",{"w":"prom","s":"m","e":false,"k":"m","d":[],"c":[["e",{"w":"prometheus","s":"etheus","e":true,"k":"e","d":[33,34,35,36,37,38,39,40,795,799,800,801,811,812,813,819,820,822,823,824,828,2149],"c":[["m",{"w":"prometheusmetricsprovider","s":"metricsprovider","e":true,"k":"m","d":[34],"c":[]}]]}],["p",{"w":"prompt","s":"pt","e":true,"k":"p","d":[878],"c":[["i",{"w":"prompting","s":"ing","e":true,"k":"i","d":[1027],"c":[]}]]}]]}],["p",{"w":"prop","s":"p","e":false,"k":"p","d":[],"c":[["e",{"w":"proper","s":"er","e":true,"k":"e","d":[748,1324],"c":[["t",{"w":"propert","s":"t","e":false,"k":"t","d":[],"c":[["y",{"w":"property","s":"y","e":true,"k":"y","d":[37,104,180,185,186,189,190,191,192,193,194,195,196,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,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,259,263,264,265,266,267,268,269,270,271,272,273,274,275,283,286,287,288,289,292,293,296,297,298,299,301,304,305,306,308,309,310,311,312,316,317,318,319,328,329,330,331,332,333,337,341,342,344,347,350,356,357,364,365,366,367,368,369,370,371,372,373,375,384,385,387,388,389,390,393,396,397,399,410,411,412,413,414,415,416,417,419,420,422,423,424,425,427,429,431,432,433,434,435,732,915,917,932,938,1228,1229,1237,1317,1322,1324,1371,1626,1868,1912],"c":[]}],["i",{"w":"properties","s":"ies","e":true,"k":"i","d":[74,132,133,185,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,363,1060,1064,1219,1237,1370,1851,1912,2028],"c":[]}]]}],["l",{"w":"properly","s":"ly","e":true,"k":"l","d":[308,309,400,531,1390],"c":[]}]]}],["o",{"w":"propo","s":"o","e":false,"k":"o","d":[],"c":[["s",{"w":"propos","s":"s","e":false,"k":"s","d":[],"c":[["a",{"w":"proposal","s":"al","e":true,"k":"a","d":[1072,1874,1875,1876,1877,1881,1888,1890,1891,1892,1893,1894,1895,1902,1903,1911],"c":[["s",{"w":"proposals","s":"s","e":true,"k":"s","d":[248,687,879,880,883,884,1548,1830,1872,1874,1876,1879,1881,1886,1887,1888,1894,1896,1899,1903,1905],"c":[]}]]}],["e",{"w":"propose","s":"e","e":true,"k":"e","d":[1880,1888],"c":[["d",{"w":"proposed","s":"d","e":true,"k":"d","d":[688,710,718,722,1876,1900,1903],"c":[]}]]}]]}],["r",{"w":"proportional","s":"rtional","e":true,"k":"r","d":[635],"c":[]}]]}],["a",{"w":"propagat","s":"agat","e":false,"k":"a","d":[],"c":[["e",{"w":"propagate","s":"e","e":true,"k":"e","d":[1544,1547],"c":[["d",{"w":"propagated","s":"d","e":true,"k":"d","d":[659,1826],"c":[]}]]}],["i",{"w":"propagating","s":"ing","e":true,"k":"i","d":[1544],"c":[]}]]}]]}],["b",{"w":"prob","s":"b","e":false,"k":"b","d":[],"c":[["l",{"w":"problem","s":"lem","e":true,"k":"l","d":[47,870,871,907,908,1167,1348,1546,1547,1731,1895,2125],"c":[["s",{"w":"problems","s":"s","e":true,"k":"s","d":[45,390,400,1235,1305,1342,1353,1371,1520],"c":[]}],["a",{"w":"problematic","s":"atic","e":true,"k":"a","d":[883],"c":[]}]]}],["a",{"w":"probab","s":"ab","e":false,"k":"a","d":[],"c":[["l",{"w":"probably","s":"ly","e":true,"k":"l","d":[48,148,526,730,1355],"c":[]}],["i",{"w":"probabili","s":"ili","e":false,"k":"i","d":[],"c":[["s",{"w":"probabilistic","s":"stic","e":true,"k":"s","d":[216,217,218,219,220,221,222,635,1402,1404],"c":[["a",{"w":"probabilistically","s":"ally","e":true,"k":"a","d":[414],"c":[]}]]}],["t",{"w":"probability","s":"ty","e":true,"k":"t","d":[219,220,221,222,532,536,1403,1405,1885,1913],"c":[]}]]}]]}]]}],["t",{"w":"prot","s":"t","e":false,"k":"t","d":[],"c":[["o",{"w":"protocol","s":"ocol","e":true,"k":"o","d":[102,138,295,298,349,350,357,376,398,871,872,1237,1513,1516,1522,1525,1526,1529,1530,1539,1540,1541,1542,1662,1663,1724,1829,1830,1831,1849,1867,1868,1872,1881,2087,2102,2179],"c":[["s",{"w":"protocols","s":"s","e":true,"k":"s","d":[147,350,355,356,357,1540,1655,1696,1903],"c":[]}]]}],["e",{"w":"protect","s":"ect","e":true,"k":"e","d":[125,129,422,984],"c":[]}]]}],["d",{"w":"produc","s":"duc","e":false,"k":"d","d":[],"c":[["t",{"w":"production","s":"tion","e":true,"k":"t","d":[148,393,402,471,484,485,486,487,489,490,494,495,499,500,513,541,633,735,756,1346,1923,1952,1968],"c":[]}],["e",{"w":"produce","s":"e","e":true,"k":"e","d":[1103],"c":[["r",{"w":"producer","s":"r","e":true,"k":"r","d":[1101,1103,1107],"c":[["-",{"w":"producer-consumer","s":"-consumer","e":true,"k":"-","d":[1082,1088,1101,1359],"c":[]}]]}]]}]]}],["g",{"w":"progr","s":"gr","e":false,"k":"g","d":[],"c":[["a",{"w":"program","s":"am","e":true,"k":"a","d":[668,1114,1120,1130,1131,1213,1797],"c":[["m",{"w":"programm","s":"m","e":false,"k":"m","d":[],"c":[["e",{"w":"programmer","s":"er","e":true,"k":"e","d":[1148,1314],"c":[["s",{"w":"programmers","s":"s","e":true,"k":"s","d":[315],"c":[]}],["'",{"w":"programmer's","s":"'s","e":true,"k":"'","d":[528,1350,1967,2064],"c":[]}]]}],["i",{"w":"programming","s":"ing","e":true,"k":"i","d":[1354,1641,1655,1676,1718,1819,1832,1936,1939,1967],"c":[]}]]}]]}],["e",{"w":"progress","s":"ess","e":true,"k":"e","d":[659,706,721,729,730,768,921,922,929,930,1920],"c":[]}]]}],["x",{"w":"proxy","s":"xy","e":true,"k":"x","d":[328],"c":[]}],["j",{"w":"project","s":"ject","e":true,"k":"j","d":[1241,1244,1629,1630,1639,1644,1796,1847,2038],"c":[["s",{"w":"projects","s":"s","e":true,"k":"s","d":[1563,1564,1580,1629,1720,1754,1766,1775,1781],"c":[]}],["e",{"w":"projected","s":"ed","e":true,"k":"e","d":[1692],"c":[]}]]}],["n",{"w":"prone","s":"ne","e":true,"k":"n","d":[1676,1798],"c":[]}]]}],["e",{"w":"pre","s":"e","e":true,"k":"e","d":[263],"c":[["c",{"w":"preced","s":"ced","e":false,"k":"c","d":[],"c":[["i",{"w":"preceding","s":"ing","e":true,"k":"i","d":[12,452,1560],"c":[]}],["e",{"w":"precedence","s":"ence","e":true,"k":"e","d":[344,347],"c":[]}]]}],["s",{"w":"pres","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"prese","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"presen","s":"n","e":false,"k":"n","d":[],"c":[["t",{"w":"present","s":"t","e":true,"k":"t","d":[129,305,522,644,1091,1284,1353],"c":[["e",{"w":"presented","s":"ed","e":true,"k":"e","d":[864],"c":[]}]]}],["c",{"w":"presence","s":"ce","e":true,"k":"c","d":[263,445,1838,1871],"c":[]}]]}],["r",{"w":"preserv","s":"rv","e":false,"k":"r","d":[],"c":[["e",{"w":"preserve","s":"e","e":true,"k":"e","d":[270],"c":[["s",{"w":"preserves","s":"s","e":true,"k":"s","d":[732],"c":[]}]]}],["i",{"w":"preserving","s":"ing","e":true,"k":"i","d":[1695],"c":[]}]]}]]}],["s",{"w":"press","s":"s","e":true,"k":"s","d":[1041,1045,1050],"c":[["u",{"w":"pressure","s":"ure","e":true,"k":"u","d":[385,2176],"c":[]}]]}]]}],["v",{"w":"prev","s":"v","e":false,"k":"v","d":[],"c":[["i",{"w":"previous","s":"ious","e":true,"k":"i","d":[155,405,451,1268,1403,1515,1534,1535,1683,1837,1903],"c":[["l",{"w":"previously","s":"ly","e":true,"k":"l","d":[1268,1369,1436,1506,1548],"c":[]}]]}],["e",{"w":"prevent","s":"ent","e":true,"k":"e","d":[189,191,193,195,196,269,312,454,534,991,1501,1732,1845,2130],"c":[["s",{"w":"prevents","s":"s","e":true,"k":"s","d":[332,416,690],"c":[]}],["e",{"w":"prevented","s":"ed","e":true,"k":"e","d":[930],"c":[]}]]}]]}],["a",{"w":"preallocsize","s":"allocsize","e":true,"k":"a","d":[190,194],"c":[]}],["p",{"w":"prep","s":"p","e":false,"k":"p","d":[],"c":[["a",{"w":"prepar","s":"ar","e":false,"k":"a","d":[],"c":[["i",{"w":"preparing","s":"ing","e":true,"k":"i","d":[245],"c":[]}],["e",{"w":"prepared","s":"ed","e":true,"k":"e","d":[1322,1454],"c":[]}]]}],["r",{"w":"preprequestprocessor","s":"requestprocessor","e":true,"k":"r","d":[2159],"c":[]}]]}],["-",{"w":"pre-","s":"-","e":false,"k":"-","d":[],"c":[["c",{"w":"pre-calculate","s":"calculate","e":true,"k":"c","d":[245],"c":[]}],["b",{"w":"pre-built","s":"built","e":true,"k":"b","d":[830],"c":[]}],["r",{"w":"pre-requisites","s":"requisites","e":true,"k":"r","d":[1931],"c":[]}]]}],["f",{"w":"pref","s":"f","e":false,"k":"f","d":[],"c":[["e",{"w":"prefer","s":"er","e":true,"k":"e","d":[660,1237],"c":[["r",{"w":"preferred","s":"red","e":true,"k":"r","d":[328,906,1701],"c":[]}],["i",{"w":"preferipv6addresses","s":"ipv6addresses","e":true,"k":"i","d":[1237],"c":[]}],["e",{"w":"preferences","s":"ences","e":true,"k":"e","d":[2102],"c":[]}]]}],["i",{"w":"prefix","s":"ix","e":true,"k":"i","d":[389,731,1105],"c":[["e",{"w":"prefixed","s":"ed","e":true,"k":"e","d":[1366],"c":[]}]]}]]}],["r",{"w":"prerequisites","s":"requisites","e":true,"k":"r","d":[595],"c":[]}],["l",{"w":"preliminary","s":"liminary","e":true,"k":"l","d":[957],"c":[]}],["m",{"w":"premium","s":"mium","e":true,"k":"m","d":[1800],"c":[]}],["q",{"w":"prequest","s":"quest","e":true,"k":"q","d":[2159],"c":[]}]]}],["i",{"w":"pri","s":"i","e":false,"k":"i","d":[],"c":[["m",{"w":"prim","s":"m","e":false,"k":"m","d":[],"c":[["a",{"w":"primar","s":"ar","e":false,"k":"a","d":[],"c":[["y",{"w":"primary","s":"y","e":true,"k":"y","d":[21,637,1131,1223,1477],"c":[]}],["i",{"w":"primarily","s":"ily","e":true,"k":"i","d":[1939],"c":[]}]]}],["i",{"w":"primitive","s":"itive","e":true,"k":"i","d":[1092],"c":[["s",{"w":"primitives","s":"s","e":true,"k":"s","d":[1079,1089,1090,1289,1473,1797,1800,1804,1832],"c":[]}]]}]]}],["n",{"w":"prin","s":"n","e":false,"k":"n","d":[],"c":[["t",{"w":"print","s":"t","e":true,"k":"t","d":[60,64,112,119,1027,1041,1042,1043,1048],"c":[["w",{"w":"printwatches","s":"watches","e":true,"k":"w","d":[561],"c":[]}],["e",{"w":"printed","s":"ed","e":true,"k":"e","d":[592,963],"c":[]}],["s",{"w":"prints","s":"s","e":true,"k":"s","d":[963,1036],"c":[]}]]}],["c",{"w":"princip","s":"cip","e":false,"k":"c","d":[],"c":[["a",{"w":"principal","s":"al","e":true,"k":"a","d":[329,369,370,853,858,862,864,1175,1222,1223,1224,1225,1226],"c":[]}],["l",{"w":"principles","s":"les","e":true,"k":"l","d":[824,957,1760],"c":[]}]]}]]}],["v",{"w":"priv","s":"v","e":false,"k":"v","d":[],"c":[["a",{"w":"priva","s":"a","e":false,"k":"a","d":[],"c":[["t",{"w":"private","s":"te","e":true,"k":"t","d":[148,815],"c":[]}],["c",{"w":"privacy","s":"cy","e":true,"k":"c","d":[1626],"c":[]}]]}],["i",{"w":"privileges","s":"ileges","e":true,"k":"i","d":[329],"c":[]}]]}],["o",{"w":"prior","s":"or","e":true,"k":"o","d":[283,372,633,649,653,672],"c":[["i",{"w":"priorit","s":"it","e":false,"k":"i","d":[],"c":[["y",{"w":"priority","s":"y","e":true,"k":"y","d":[973,1465,1475,1506,1507],"c":[]}],["i",{"w":"prioritize","s":"ize","e":true,"k":"i","d":[1237],"c":[["s",{"w":"prioritizes","s":"s","e":true,"k":"s","d":[1908],"c":[]}]]}]]}]]}]]}],["a",{"w":"practic","s":"actic","e":false,"k":"a","d":[],"c":[["e",{"w":"practice","s":"e","e":true,"k":"e","d":[48,730,956,1217,1909],"c":[["s",{"w":"practices","s":"s","e":true,"k":"s","d":[41,42,44,50,539,1474],"c":[]}]]}],["a",{"w":"practical","s":"al","e":true,"k":"a","d":[1258,1351,1354,1475,1868],"c":[["l",{"w":"practically","s":"ly","e":true,"k":"l","d":[699],"c":[]}]]}]]}],["u",{"w":"prudent","s":"udent","e":true,"k":"u","d":[317],"c":[]}]]}],["e",{"w":"pe","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"per","s":"r","e":true,"k":"r","d":[195,416,732,1130,1132,1135,1402,1543,1867],"c":[["s",{"w":"pers","s":"s","e":false,"k":"s","d":[],"c":[["i",{"w":"persist","s":"ist","e":true,"k":"i","d":[1283,1817],"c":[["e",{"w":"persiste","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"persistent","s":"nt","e":true,"k":"n","d":[12,884,1323,1428,1443,1444,1448,1678,1689,1691,1802,1876,2127,2129,2153],"c":[["_",{"w":"persistent_sequential","s":"_sequential","e":true,"k":"_","d":[1323],"c":[]}]]}],["d",{"w":"persisted","s":"d","e":true,"k":"d","d":[249],"c":[]}]]}],["i",{"w":"persisting","s":"ing","e":true,"k":"i","d":[396,1172],"c":[]}]]}],["p",{"w":"perspective","s":"pective","e":true,"k":"p","d":[1384],"c":[]}]]}],["f",{"w":"perform","s":"form","e":true,"k":"f","d":[295,305,308,373,399,513,531,697,1258,1261,1289,1668,1955,2052],"c":[["a",{"w":"performance","s":"ance","e":true,"k":"a","d":[47,70,72,113,116,123,130,135,136,161,171,183,192,194,210,211,413,414,517,537,636,699,866,870,871,880,1063,1279,1343,1348,1349,1659,1695,1724,1794,1800,1833,1836,1908,1916,1981,2149,2181],"c":[["-",{"w":"performance-critical","s":"-critical","e":true,"k":"-","d":[1348],"c":[]}]]}],["e",{"w":"performed","s":"ed","e":true,"k":"e","d":[61,314,515,634,704,731,795,854,862,1069,1398,1907,1909],"c":[]}],["i",{"w":"performing","s":"ing","e":true,"k":"i","d":[269,275,1475,1908],"c":[]}],["s",{"w":"performs","s":"s","e":true,"k":"s","d":[870,1289,1311,1805],"c":[]}]]}],["l",{"w":"perl","s":"l","e":true,"k":"l","d":[100],"c":[]}],["i",{"w":"period","s":"iod","e":true,"k":"i","d":[121,733,1388,1393,1397],"c":[["i",{"w":"periodic","s":"ic","e":true,"k":"i","d":[1238,1681],"c":[["a",{"w":"periodically","s":"ally","e":true,"k":"a","d":[986],"c":[]}]]}]]}],["-",{"w":"per-observer","s":"-observer","e":true,"k":"-","d":[132],"c":[]}],["m",{"w":"perm","s":"m","e":true,"k":"m","d":[1377],"c":[["i",{"w":"permission","s":"ission","e":true,"k":"i","d":[597,675,905,985,1150,1154,1157,1164,1166,1167,1168,1169,1196,1198,1200,2100],"c":[["s",{"w":"permissions","s":"s","e":true,"k":"s","d":[586,601,1151,1154,1158,1163,1164,1191,1201,1365,2074],"c":[]}],["'",{"w":"permission'","s":"'","e":true,"k":"'","d":[1169],"c":[]}]]}],["a",{"w":"permanent","s":"anent","e":true,"k":"a","d":[980,1030,1437,1812],"c":[["l",{"w":"permanently","s":"ly","e":true,"k":"l","d":[916,980,1136],"c":[]}]]}],["s",{"w":"perms","s":"s","e":true,"k":"s","d":[1157,1172],"c":[]}]]}],["t",{"w":"pertains","s":"tains","e":true,"k":"t","d":[1155],"c":[]}],["c",{"w":"percentage","s":"centage","e":true,"k":"c","d":[1844],"c":[]}]]}],["e",{"w":"peer","s":"er","e":true,"k":"e","d":[89,95,119,122,138,180,195,214,215,522,765],"c":[["s",{"w":"peers","s":"s","e":true,"k":"s","d":[138,312,398,881,1313,1328,1976],"c":[]}]]}],["m",{"w":"pem","s":"m","e":true,"k":"m","d":[345,348,1234],"c":[]}],["a",{"w":"peak","s":"ak","e":true,"k":"a","d":[409],"c":[]}],["n",{"w":"pending","s":"nding","e":true,"k":"n","d":[413,1146,1400],"c":[]}],["o",{"w":"people","s":"ople","e":true,"k":"o","d":[967],"c":[]}],["t",{"w":"petabyte","s":"tabyte","e":true,"k":"t","d":[1694],"c":[]}]]}],["a",{"w":"pa","s":"a","e":false,"k":"a","d":[],"c":[["r",{"w":"par","s":"r","e":false,"k":"r","d":[],"c":[["t",{"w":"part","s":"t","e":true,"k":"t","d":[47,515,520,643,665,679,689,872,882,1134,1212,1223,1224,1226,1305,1309,1348,1368,1385,1686,1703,1710,1740,1741,1830],"c":[["i",{"w":"parti","s":"i","e":false,"k":"i","d":[],"c":[["c",{"w":"partic","s":"c","e":false,"k":"c","d":[],"c":[["u",{"w":"particular","s":"ular","e":true,"k":"u","d":[12,48,317,755,1091,1144,1155,1384,1387,1416,1474,1475,1476,1905],"c":[["l",{"w":"particularly","s":"ly","e":true,"k":"l","d":[880,1384],"c":[]}]]}],["i",{"w":"participa","s":"ipa","e":false,"k":"i","d":[],"c":[["n",{"w":"participant","s":"nt","e":true,"k":"n","d":[304,406,634,645,650,651,687,691,692,697,702,722,731],"c":[["s",{"w":"participants","s":"s","e":true,"k":"s","d":[150,155,205,649,688,689,694,709,722,731,1109],"c":[]}]]}],["t",{"w":"participati","s":"ti","e":false,"k":"t","d":[],"c":[["o",{"w":"participation","s":"on","e":true,"k":"o","d":[312],"c":[]}],["n",{"w":"participating","s":"ng","e":true,"k":"n","d":[756,765,1543,1685],"c":[]}]]}]]}]]}],["t",{"w":"partition","s":"tion","e":true,"k":"t","d":[538,1700],"c":[["e",{"w":"partitioned","s":"ed","e":true,"k":"e","d":[384,1387,1391,1640,1687],"c":[]}],["s",{"w":"partitions","s":"s","e":true,"k":"s","d":[530,883,1346,1700,1701],"c":[]}],["i",{"w":"partitioning","s":"ing","e":true,"k":"i","d":[883],"c":[]}]]}],["a",{"w":"partial","s":"al","e":true,"k":"a","d":[1281,1815],"c":[]}]]}],["s",{"w":"parts","s":"s","e":true,"k":"s","d":[298,1223,1877],"c":[]}]]}],["a",{"w":"para","s":"a","e":false,"k":"a","d":[],"c":[["m",{"w":"parameter","s":"meter","e":true,"k":"m","d":[127,129,216,217,218,219,220,221,222,273,317,329,368,372,374,400,401,402,405,449,520,1100,1196,1224,1396],"c":[["s",{"w":"parameters","s":"s","e":true,"k":"s","d":[16,160,161,176,216,217,218,219,220,221,222,520,633,641,642,655,656,659,697,909,1031,1059,1093,1098,1122,1207,1222,1373,1386,1980,1981,1982],"c":[]}],["i",{"w":"parameterized","s":"ized","e":true,"k":"i","d":[1925],"c":[]}]]}],["l",{"w":"parallel","s":"llel","e":true,"k":"l","d":[372,373,399,413,520],"c":[]}],["g",{"w":"paragraph","s":"graph","e":true,"k":"g","d":[405],"c":[]}]]}],["e",{"w":"parent","s":"ent","e":true,"k":"e","d":[762,771,774,970,1092,1097,1102,1166,1196,1320,1435],"c":[]}],["l",{"w":"parlance","s":"lance","e":true,"k":"l","d":[1799],"c":[]}],["s",{"w":"parsing","s":"sing","e":true,"k":"s","d":[2065],"c":[]}]]}],["c",{"w":"pack","s":"ck","e":true,"k":"c","d":[100],"c":[["a",{"w":"packag","s":"ag","e":false,"k":"a","d":[],"c":[["e",{"w":"package","s":"e","e":true,"k":"e","d":[33,518,1212,1240,1241,1244],"c":[["r",{"w":"packagers","s":"rs","e":true,"k":"r","d":[402],"c":[]}],["s",{"w":"packages","s":"s","e":true,"k":"s","d":[1212],"c":[]}]]}],["i",{"w":"packaging","s":"ing","e":true,"k":"i","d":[516],"c":[]}]]}],["e",{"w":"packet","s":"et","e":true,"k":"e","d":[309,392,1401,1424,1811,1873],"c":[["s",{"w":"packets","s":"s","e":true,"k":"s","d":[61,89,95,100,273,286,1071,1072,1872,1874,1905],"c":[]}]]}]]}],["t",{"w":"pat","s":"t","e":false,"k":"t","d":[],"c":[["h",{"w":"path","s":"h","e":true,"k":"h","d":[72,112,136,343,344,346,347,582,584,585,586,587,590,591,600,604,679,684,846,910,946,948,964,968,969,970,972,973,985,1043,1048,1049,1095,1195,1197,1199,1230,1231,1232,1233,1236,1304,1305,1309,1319,1320,1376,1514,1521,1551,1552,1806,2126,2128,2138],"c":[["s",{"w":"paths","s":"s","e":true,"k":"s","d":[70,72,1304,1309,1384],"c":[]}],["_",{"w":"path_to_session_ids","s":"_to_session_ids","e":true,"k":"_","d":[136],"c":[]}],["n",{"w":"pathname","s":"name","e":true,"k":"n","d":[1503,1506,1511,1513,1515,1525,1526,1529,1531,1532,1534,1535],"c":[]}],["-",{"w":"path-to-queue-node","s":"-to-queue-node","e":true,"k":"-","d":[1503],"c":[]}]]}],["t",{"w":"pattern","s":"tern","e":true,"k":"t","d":[1317,1731],"c":[["s",{"w":"patterns","s":"s","e":true,"k":"s","d":[1641],"c":[]}]]}],["c",{"w":"patch","s":"ch","e":true,"k":"c","d":[1916,2055,2107],"c":[]}]]}],["y",{"w":"payload","s":"yload","e":true,"k":"y","d":[125],"c":[]}],["p",{"w":"paper","s":"per","e":true,"k":"p","d":[243,637,687,699,704,732],"c":[["s",{"w":"papers","s":"s","e":true,"k":"s","d":[244],"c":[]}]]}],["g",{"w":"page","s":"ge","e":true,"k":"g","d":[315,746,820,1036],"c":[["s",{"w":"pages","s":"s","e":true,"k":"s","d":[315,1219],"c":[]}]]}],["s",{"w":"pas","s":"s","e":false,"k":"s","d":[],"c":[["s",{"w":"pass","s":"s","e":true,"k":"s","d":[317,1130,1132,1368,2139,2141],"c":[["w",{"w":"password","s":"word","e":true,"k":"w","d":[317,343,344,346,347,1156,1172,1173,1213,1230,1231,1232,1233,1385,1401,1410,2066],"c":[["p",{"w":"passwordpath","s":"path","e":true,"k":"p","d":[344,347,1231,1233],"c":[]}],["-",{"w":"password-based","s":"-based","e":true,"k":"-","d":[1380],"c":[]}]]}],["e",{"w":"passe","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"passes","s":"s","e":true,"k":"s","d":[317,1097,1103,1132,1140,1367],"c":[]}],["d",{"w":"passed","s":"d","e":true,"k":"d","d":[684,1367],"c":[]}]]}],["i",{"w":"passing","s":"ing","e":true,"k":"i","d":[755,1044,1090],"c":[]}]]}],["t",{"w":"past","s":"t","e":true,"k":"t","d":[405],"c":[]}]]}],["i",{"w":"pair","s":"ir","e":true,"k":"i","d":[1157,1401,1455,1876,1877],"c":[["s",{"w":"pairs","s":"s","e":true,"k":"s","d":[834,1157,1265,1365,1383,1402],"c":[]}],["w",{"w":"pairwise","s":"wise","e":true,"k":"w","d":[1912],"c":[]}]]}],["x",{"w":"paxos","s":"xos","e":true,"k":"x","d":[1284,1905],"c":[]}],["d",{"w":"padding","s":"dding","e":true,"k":"d","d":[1320],"c":[]}]]}],["u",{"w":"pu","s":"u","e":false,"k":"u","d":[],"c":[["r",{"w":"pur","s":"r","e":false,"k":"r","d":[],"c":[["g",{"w":"purg","s":"g","e":false,"k":"g","d":[],"c":[["e",{"w":"purge","s":"e","e":true,"k":"e","d":[203,204],"c":[["t",{"w":"purgetxnlog","s":"txnlog","e":true,"k":"t","d":[14],"c":[]}],["i",{"w":"purgeinterval","s":"interval","e":true,"k":"i","d":[16,204],"c":[]}]]}],["i",{"w":"purging","s":"ing","e":true,"k":"i","d":[16,204],"c":[]}]]}],["p",{"w":"purpose","s":"pose","e":true,"k":"p","d":[419,1092,1321],"c":[["s",{"w":"purposes","s":"s","e":true,"k":"s","d":[148,353,526,679],"c":[]}]]}]]}],["t",{"w":"put","s":"t","e":true,"k":"t","d":[183,306,539,1329,1348,1503,1875,1982],"c":[["t",{"w":"putting","s":"ting","e":true,"k":"t","d":[47,183,1237,1348],"c":[]}],["s",{"w":"puts","s":"s","e":true,"k":"s","d":[1800],"c":[]}]]}],["b",{"w":"pub","s":"b","e":false,"k":"b","d":[],"c":[["l",{"w":"publi","s":"li","e":false,"k":"l","d":[],"c":[["c",{"w":"public","s":"c","e":true,"k":"c","d":[149],"c":[["l",{"w":"publicly","s":"ly","e":true,"k":"l","d":[49],"c":[]}]]}],["s",{"w":"publish","s":"sh","e":true,"k":"s","d":[1698,2155,2170],"c":[["-",{"w":"publish-subscribe","s":"-subscribe","e":true,"k":"-","d":[884,1846],"c":[]}],["i",{"w":"publishing","s":"ing","e":true,"k":"i","d":[1662],"c":[]}]]}]]}],["-",{"w":"pub-sub","s":"-sub","e":true,"k":"-","d":[1710,1738],"c":[]}]]}],["l",{"w":"pul","s":"l","e":false,"k":"l","d":[],"c":[["l",{"w":"pull","s":"l","e":true,"k":"l","d":[450,1625,2106],"c":[["s",{"w":"pulls","s":"s","e":true,"k":"s","d":[1732],"c":[]}]]}],["s",{"w":"pulsar","s":"sar","e":true,"k":"s","d":[1602,1710,1711,1767],"c":[]}]]}],["s",{"w":"pushed","s":"shed","e":true,"k":"s","d":[659],"c":[]}]]}],["o",{"w":"po","s":"o","e":false,"k":"o","d":[],"c":[["l",{"w":"pol","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"policy","s":"icy","e":true,"k":"i","d":[14,452,2110],"c":[]}],["l",{"w":"polling","s":"ling","e":true,"k":"l","d":[1474,1519],"c":[]}]]}],["r",{"w":"port","s":"rt","e":true,"k":"r","d":[22,29,36,57,65,102,112,126,154,156,159,178,179,180,195,292,310,367,373,399,429,433,447,520,612,640,644,665,667,703,705,709,787,812,814,878,879,880,881,1175,1228,1229,1265,1383,1402,1948,1976],"c":[["s",{"w":"ports","s":"s","e":true,"k":"s","d":[292,610,634,635,667,697,709,818,1669,1978,2150],"c":[]}],["u",{"w":"portunification","s":"unification","e":true,"k":"u","d":[367,427,429],"c":[]}],["a",{"w":"portal","s":"al","e":true,"k":"a","d":[1612,1725],"c":[]}]]}],["i",{"w":"point","s":"int","e":true,"k":"i","d":[36,102,188,402,519,884,1091,1133,1321,1323,1382,1388,1434,1800,1907],"c":[["e",{"w":"pointers","s":"ers","e":true,"k":"e","d":[1317],"c":[]}],["s",{"w":"points","s":"s","e":true,"k":"s","d":[1432,1475,1650,1971],"c":[]}],["-",{"w":"point-to-point","s":"-to-point","e":true,"k":"-","d":[1868],"c":[]}]]}],["s",{"w":"pos","s":"s","e":false,"k":"s","d":[],"c":[["s",{"w":"possib","s":"sib","e":false,"k":"s","d":[],"c":[["l",{"w":"possible","s":"le","e":true,"k":"l","d":[77,259,269,293,295,452,647,649,651,672,698,844,907,1229,1262,1382,1473,1871,2050,2079],"c":[]}],["i",{"w":"possibility","s":"ility","e":true,"k":"i","d":[250],"c":[]}]]}],["i",{"w":"posi","s":"i","e":false,"k":"i","d":[],"c":[["t",{"w":"positi","s":"ti","e":false,"k":"t","d":[],"c":[["v",{"w":"positive","s":"ve","e":true,"k":"v","d":[201,204,224,225,226,227,419,2172,2194],"c":[]}],["o",{"w":"position","s":"on","e":true,"k":"o","d":[2182],"c":[]}]]}],["x",{"w":"posix-style","s":"x-style","e":true,"k":"x","d":[1205],"c":[]}]]}],["t",{"w":"post","s":"t","e":true,"k":"t","d":[1077],"c":[]}]]}],["p",{"w":"pop","s":"p","e":false,"k":"p","d":[],"c":[["u",{"w":"popula","s":"ula","e":false,"k":"u","d":[],"c":[["r",{"w":"popular","s":"r","e":true,"k":"r","d":[201,1714],"c":[]}],["t",{"w":"populate","s":"te","e":true,"k":"t","d":[522],"c":[]}]]}],["3",{"w":"pop3","s":"3","e":true,"k":"3","d":[1696],"c":[]}]]}],["t",{"w":"potential","s":"tential","e":true,"k":"t","d":[257],"c":[["l",{"w":"potentially","s":"ly","e":true,"k":"l","d":[271,342,405,1919],"c":[]}]]}],["w",{"w":"power","s":"wer","e":true,"k":"w","d":[536,1867,1877],"c":[["e",{"w":"powered","s":"ed","e":true,"k":"e","d":[942,1774],"c":[["b",{"w":"poweredby","s":"by","e":true,"k":"b","d":[1744],"c":[]}]]}]]}],["d",{"w":"podc","s":"dc","e":true,"k":"d","d":[957],"c":[]}],["m",{"w":"pom","s":"m","e":true,"k":"m","d":[2096],"c":[]}]]}],["i",{"w":"pi","s":"i","e":false,"k":"i","d":[],"c":[["t",{"w":"pitfalls","s":"tfalls","e":true,"k":"t","d":[42,1343,1344],"c":[]}],["n",{"w":"pin","s":"n","e":false,"k":"n","d":[],"c":[["g",{"w":"ping","s":"g","e":true,"k":"g","d":[83,87,89,95,272,943,1071,1397],"c":[["s",{"w":"pings","s":"s","e":true,"k":"s","d":[272,1412,1681],"c":[]}],["i",{"w":"pinging","s":"ing","e":true,"k":"i","d":[943],"c":[]}]]}],["t",{"w":"pinterest","s":"terest","e":true,"k":"t","d":[1615,1731],"c":[["_",{"w":"pinterest_engineering","s":"_engineering","e":true,"k":"_","d":[1762],"c":[]}]]}]]}],["p",{"w":"pipe","s":"pe","e":true,"k":"p","d":[293,647],"c":[["l",{"w":"pipeline","s":"line","e":true,"k":"l","d":[235,239,270,408,879],"c":[]}]]}],["c",{"w":"pick","s":"ck","e":true,"k":"c","d":[1237,1383],"c":[["s",{"w":"picks","s":"s","e":true,"k":"s","d":[1405],"c":[]}],["i",{"w":"picking","s":"ing","e":true,"k":"i","d":[1502],"c":[]}]]}]]}],["l",{"w":"pl","s":"l","e":false,"k":"l","d":[],"c":[["a",{"w":"pla","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"place","s":"ce","e":true,"k":"c","d":[406,449,1479],"c":[["m",{"w":"placement","s":"ment","e":true,"k":"m","d":[42,47],"c":[]}],["d",{"w":"placed","s":"d","e":true,"k":"d","d":[176,1251],"c":[]}],["s",{"w":"places","s":"s","e":true,"k":"s","d":[447],"c":[]}]]}],["t",{"w":"platform","s":"tform","e":true,"k":"t","d":[74,1628,1630,1694,1714,1739],"c":[["s",{"w":"platforms","s":"s","e":true,"k":"s","d":[364,457,459,472,477,508,1240],"c":[]}]]}],["i",{"w":"plaintext","s":"intext","e":true,"k":"i","d":[179,317,640],"c":[]}],["y",{"w":"plays","s":"ys","e":true,"k":"y","d":[1650],"c":[]}],["n",{"w":"plan","s":"n","e":false,"k":"n","d":[],"c":[["e",{"w":"plane","s":"e","e":true,"k":"e","d":[1730],"c":[]}],["n",{"w":"planned","s":"ned","e":true,"k":"n","d":[1915],"c":[]}]]}]]}],["e",{"w":"please","s":"ease","e":true,"k":"e","d":[59,147,148,194,269,309,342,372,400,1219,1625,1939,1951,1979],"c":[]}],["u",{"w":"plu","s":"u","e":false,"k":"u","d":[],"c":[["g",{"w":"plug","s":"g","e":false,"k":"g","d":[],"c":[["s",{"w":"plugs-in","s":"s-in","e":true,"k":"s","d":[179],"c":[]}],["g",{"w":"plugg","s":"g","e":false,"k":"g","d":[],"c":[["e",{"w":"plugged","s":"ed","e":true,"k":"e","d":[514],"c":[]}],["a",{"w":"pluggable","s":"able","e":true,"k":"a","d":[676,1156,1362,1363,1364,1372],"c":[]}],["i",{"w":"plugging","s":"ing","e":true,"k":"i","d":[880],"c":[]}]]}],["i",{"w":"plugin","s":"in","e":true,"k":"i","d":[830,1365,1366,1367,1368,1369,1370,2024,2065],"c":[["s",{"w":"plugins","s":"s","e":true,"k":"s","d":[1363,1370,1371],"c":[]}]]}],["-",{"w":"plug-in","s":"-in","e":true,"k":"-","d":[884],"c":[]}]]}],["s",{"w":"plus","s":"s","e":true,"k":"s","d":[690,691],"c":[]}]]}]]}],["h",{"w":"ph","s":"h","e":false,"k":"h","d":[],"c":[["a",{"w":"phase","s":"ase","e":true,"k":"a","d":[138,1879,1880,1905],"c":[["s",{"w":"phases","s":"s","e":true,"k":"s","d":[138,1878],"c":[]}]]}],["y",{"w":"physical","s":"ysical","e":true,"k":"y","d":[293,372,373,399,520,647,1349,1706,1979],"c":[]}],["o",{"w":"photo","s":"oto","e":true,"k":"o","d":[1737],"c":[]}]]}],["d",{"w":"pdf","s":"df","e":true,"k":"d","d":[244,637],"c":[]}],["k",{"w":"pkcs1","s":"kcs1","e":false,"k":"k","d":[],"c":[["2",{"w":"pkcs12","s":"2","e":true,"k":"2","d":[345,348,1234],"c":[]}],["1",{"w":"pkcs11","s":"1","e":true,"k":"1","d":[352],"c":[]}]]}],["z",{"w":"pzxid","s":"zxid","e":true,"k":"z","d":[1333],"c":[]}],["s",{"w":"pseudo","s":"seudo","e":true,"k":"s","d":[1479,1485,1550],"c":[["-",{"w":"pseudo-level","s":"-level","e":true,"k":"-","d":[1361],"c":[]}]]}],["y",{"w":"python","s":"ython","e":true,"k":"y","d":[2021],"c":[]}]]}],["m",{"w":"m","s":"m","e":true,"k":"m","d":[204,1864,1869,1900],"c":[["a",{"w":"ma","s":"a","e":false,"k":"a","d":[],"c":[["i",{"w":"mai","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"main","s":"n","e":true,"k":"n","d":[38,408,412,687,694,712,717,1130,1133,1213,1314,1365,2085],"c":[["t",{"w":"maint","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"maintenance","s":"enance","e":true,"k":"e","d":[2,3,11,452,513,1214,1239,1412,1797,1952],"c":[]}],["a",{"w":"maintain","s":"ain","e":true,"k":"a","d":[207,535,879,913,917,938,1311,1436,1688,1700,1802,1808,1867,1905],"c":[["s",{"w":"maintains","s":"s","e":true,"k":"s","d":[192,1130,1449,1658,1678,1703,1803],"c":[]}],["i",{"w":"maintaining","s":"ing","e":true,"k":"i","d":[408,634,1214,1435],"c":[]}],["e",{"w":"maintained","s":"ed","e":true,"k":"e","d":[880,954,1320,1411,1436,1702],"c":[]}]]}]]}],["l",{"w":"mainly","s":"ly","e":true,"k":"l","d":[1406],"c":[]}]]}],["l",{"w":"mail","s":"l","e":true,"k":"l","d":[1696],"c":[["b",{"w":"mailbox","s":"box","e":true,"k":"b","d":[1597,1696],"c":[]}]]}]]}],["d",{"w":"made","s":"de","e":true,"k":"d","d":[12,195,283,396,402,659,1157,1212,1215,1330,1346,1405,1700,1844],"c":[]}],["y",{"w":"may","s":"y","e":true,"k":"y","d":[12,13,18,70,72,74,113,116,130,135,136,194,196,227,229,234,308,309,316,331,406,448,508,513,660,666,667,683,684,687,694,695,715,720,729,731,871,872,883,1026,1213,1217,1262,1289,1365,1384,1402,1434,1435,1436,1454,1475,1560,1676,1679,1871,1909,2057,2083,2137],"c":[["b",{"w":"maybe","s":"be","e":true,"k":"b","d":[1217,1845],"c":[]}]]}],["n",{"w":"man","s":"n","e":false,"k":"n","d":[],"c":[["a",{"w":"manag","s":"ag","e":false,"k":"a","d":[],"c":[["i",{"w":"managing","s":"ing","e":true,"k":"i","d":[13,19,524,541,1692,1731,1846,1934],"c":[]}],["e",{"w":"manage","s":"e","e":true,"k":"e","d":[745,753,755,1015,1708,1723],"c":[["s",{"w":"manages","s":"s","e":true,"k":"s","d":[18,437,1317,1680,1846],"c":[]}],["r",{"w":"manager","s":"r","e":true,"k":"r","d":[208,209,210,211,376,1693],"c":[]}],["d",{"w":"managed","s":"d","e":true,"k":"d","d":[287,1388,1952],"c":[]}],["m",{"w":"management","s":"ment","e":true,"k":"m","d":[436,440,524,737,747,748,994,1627,1631,1635,1640,1660,1665,1667,1682,1685,1687,1724,1734,1740,1742,1743,1760],"c":[]}],["a",{"w":"manageable","s":"able","e":true,"k":"a","d":[748],"c":[]}]]}]]}],["u",{"w":"manual","s":"ual","e":true,"k":"u","d":[18,27,636,1035,1261,1683,1916],"c":[["l",{"w":"manually","s":"ly","e":true,"k":"l","d":[633,659,680],"c":[]}]]}],["y",{"w":"many","s":"y","e":true,"k":"y","d":[51,143,209,212,268,269,396,414,880,1109,1475,1629,1670,1724,1731,1741,1846,1886,2101],"c":[]}],["i",{"w":"mani","s":"i","e":false,"k":"i","d":[],"c":[["p",{"w":"manipulating","s":"pulating","e":true,"k":"p","d":[680],"c":[]}],["f",{"w":"manifests","s":"fests","e":true,"k":"f","d":[1645],"c":[]}]]}],["n",{"w":"manner","s":"ner","e":true,"k":"n","d":[1319,1626,1647],"c":[]}],["d",{"w":"mandatory","s":"datory","e":true,"k":"d","d":[1387,2088],"c":[]}],["h",{"w":"manhattan","s":"hattan","e":true,"k":"h","d":[1737],"c":[]}]]}],["c",{"w":"mac","s":"c","e":true,"k":"c","d":[503],"c":[["h",{"w":"machine","s":"hine","e":true,"k":"h","d":[48,148,186,289,292,399,409,450,465,466,510,517,520,526,530,532,536,908,980,1055,1313,1349,1642,1643,1678,1978,1979],"c":[["s",{"w":"machines","s":"s","e":true,"k":"s","d":[15,191,193,509,510,531,533,536,1313,1537,1676,1678,1680,1706,1805,1844,1971,1979,1980],"c":[]}],["'",{"w":"machine's","s":"'s","e":true,"k":"'","d":[521],"c":[]}],["r",{"w":"machinery","s":"ry","e":true,"k":"r","d":[957],"c":[]}]]}],["o",{"w":"macos","s":"os","e":true,"k":"o","d":[399,944],"c":[]}],["s",{"w":"macs","s":"s","e":true,"k":"s","d":[2189],"c":[]}]]}],["k",{"w":"mak","s":"k","e":false,"k":"k","d":[],"c":[["e",{"w":"make","s":"e","e":true,"k":"e","d":[29,48,174,188,196,213,292,295,355,385,395,418,517,536,539,653,690,706,730,908,1071,1072,1212,1243,1251,1263,1289,1313,1346,1382,1506,1525,1526,1539,1672,1683,1802,1807,1827,1834,1867,1876,1881,1975],"c":[["s",{"w":"makes","s":"s","e":true,"k":"s","d":[47,731,870,1201,1217,1384,1718],"c":[]}],["f",{"w":"makefile","s":"file","e":true,"k":"f","d":[1245],"c":[]}]]}],["i",{"w":"making","s":"ing","e":true,"k":"i","d":[292,732,930,1637,1879],"c":[]}],["a",{"w":"makara","s":"ara","e":true,"k":"a","d":[1613],"c":[]}]]}],["x",{"w":"max","s":"x","e":true,"k":"x","d":[39,48,268,310,413,414,1349],"c":[["q",{"w":"maxqueuesize","s":"queuesize","e":true,"k":"q","d":[39],"c":[]}],["c",{"w":"maxc","s":"c","e":false,"k":"c","d":[],"c":[["n",{"w":"maxcnxns","s":"nxns","e":true,"k":"n","d":[195],"c":[]}],["l",{"w":"maxclientcnxns","s":"lientcnxns","e":true,"k":"l","d":[196],"c":[]}],["o",{"w":"maxco","s":"o","e":false,"k":"o","d":[],"c":[["n",{"w":"maxconcurrent","s":"ncurrent","e":false,"k":"n","d":[],"c":[["s",{"w":"maxconcurrentsnapsyncs","s":"snapsyncs","e":true,"k":"s","d":[241],"c":[]}],["d",{"w":"maxconcurrentdiffsyncs","s":"diffsyncs","e":true,"k":"d","d":[242],"c":[]}]]}],["m",{"w":"maxcommitbatchsize","s":"mmitbatchsize","e":true,"k":"m","d":[414],"c":[]}]]}]]}],["s",{"w":"maxsessiontimeout","s":"sessiontimeout","e":true,"k":"s","d":[199],"c":[]}],["i",{"w":"maxi","s":"i","e":false,"k":"i","d":[],"c":[["m",{"w":"maxim","s":"m","e":false,"k":"m","d":[],"c":[["u",{"w":"maximum","s":"um","e":true,"k":"u","d":[199,207,214,215,216,234,241,242,266,268,286,373,389,416,417,419,434,513,517,539,855,1235,1386],"c":[]}],["i",{"w":"maximiz","s":"iz","e":false,"k":"i","d":[],"c":[["i",{"w":"maximizing","s":"ing","e":true,"k":"i","d":[409],"c":[]}],["e",{"w":"maximize","s":"e","e":true,"k":"e","d":[532],"c":[]}]]}]]}],["n",{"w":"maxinprocessingdeadwatchers","s":"nprocessingdeadwatchers","e":true,"k":"n","d":[212],"c":[]}]]}],["r",{"w":"maxre","s":"re","e":false,"k":"r","d":[],"c":[["s",{"w":"maxresponsecachesize","s":"sponsecachesize","e":true,"k":"s","d":[201,202],"c":[]}],["a",{"w":"maxreadbatchsize","s":"adbatchsize","e":true,"k":"a","d":[413],"c":[]}]]}],["g",{"w":"maxgetchildrenresponsecachesize","s":"getchildrenresponsecachesize","e":true,"k":"g","d":[202],"c":[]}],["n",{"w":"maxn","s":"n","e":false,"k":"n","d":[],"c":[["o",{"w":"maxnotificationinterval","s":"otificationinterval","e":true,"k":"o","d":[214,215],"c":[]}],["e",{"w":"maxneverusedintervalms","s":"everusedintervalms","e":true,"k":"e","d":[417],"c":[]}]]}],["b",{"w":"maxb","s":"b","e":false,"k":"b","d":[],"c":[["a",{"w":"maxbatchsize","s":"atchsize","e":true,"k":"a","d":[229,231],"c":[]}],["u",{"w":"maxbuffer","s":"uffer","e":true,"k":"u","d":[388,391,392,396,1235,2089],"c":[]}]]}],["w",{"w":"maxwritequeuepolltime","s":"writequeuepolltime","e":true,"k":"w","d":[230],"c":[]}],["t",{"w":"maxtimetowaitforepoch","s":"timetowaitforepoch","e":true,"k":"t","d":[286],"c":[]}],["p",{"w":"maxperminute","s":"perminute","e":true,"k":"p","d":[416],"c":[]}],["_",{"w":"max_realpath_len","s":"_realpath_len","e":true,"k":"_","d":[1195],"c":[]}]]}],["t",{"w":"mat","s":"t","e":false,"k":"t","d":[],"c":[["c",{"w":"match","s":"ch","e":true,"k":"c","d":[46,148,174,292,413,825,1023,1172,1311,1347,1363,1365,1369,2151],"c":[["i",{"w":"matching","s":"ing","e":true,"k":"i","d":[413,414,1369],"c":[]}],["e",{"w":"matche","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"matched","s":"d","e":true,"k":"d","d":[1174],"c":[]}],["s",{"w":"matches","s":"s","e":true,"k":"s","d":[1367,1369,1373],"c":[]}]]}],["v",{"w":"matchvalues","s":"values","e":true,"k":"v","d":[1373],"c":[]}]]}],["t",{"w":"matter","s":"ter","e":true,"k":"t","d":[150,684],"c":[["s",{"w":"matters","s":"s","e":true,"k":"s","d":[313],"c":[]}]]}],["r",{"w":"matrix","s":"rix","e":true,"k":"r","d":[460,477,508],"c":[]}],["e",{"w":"material","s":"erial","e":true,"k":"e","d":[1355],"c":[]}]]}],["s",{"w":"mas","s":"s","e":false,"k":"s","d":[],"c":[["k",{"w":"mask","s":"k","e":true,"k":"k","d":[77,78,79,100,118,127],"c":[["e",{"w":"masked","s":"ed","e":true,"k":"e","d":[1168,1198],"c":[]}]]}],["t",{"w":"master","s":"ter","e":true,"k":"t","d":[132,288,385,1635,1648,1685,1707,1717],"c":[["s",{"w":"masters","s":"s","e":true,"k":"s","d":[868,1669,1707,1717],"c":[["h",{"w":"mastership","s":"hip","e":true,"k":"h","d":[947,948,950,952,955],"c":[]}]]}],["-",{"w":"master-failover","s":"-failover","e":true,"k":"-","d":[1686],"c":[]}]]}],["s",{"w":"mass","s":"s","e":true,"k":"s","d":[733],"c":[["i",{"w":"massive-scale","s":"ive-scale","e":true,"k":"i","d":[1632],"c":[]}]]}]]}],["p",{"w":"map","s":"p","e":true,"k":"p","d":[134,135,136],"c":[["s",{"w":"maps","s":"s","e":true,"k":"s","d":[116],"c":[]}],["r",{"w":"mapr","s":"r","e":true,"k":"r","d":[1771],"c":[]}]]}],["r",{"w":"mark","s":"rk","e":true,"k":"r","d":[1681,2068],"c":[["e",{"w":"marke","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"marked","s":"d","e":true,"k":"d","d":[270,1838],"c":[["l",{"w":"markedly","s":"ly","e":true,"k":"l","d":[537],"c":[]}]]}],["r",{"w":"marker","s":"r","e":true,"k":"r","d":[522],"c":[]}]]}]]}],["j",{"w":"majorit","s":"jorit","e":false,"k":"j","d":[],"c":[["y",{"w":"majority","s":"y","e":true,"k":"y","d":[286,510,530,533,689,698,710,715,725,730,731,904,1072,1346,1802,1911,1913,1914,1971],"c":[]}],["i",{"w":"majorities","s":"ies","e":true,"k":"i","d":[1912],"c":[]}]]}],["l",{"w":"mal","s":"l","e":false,"k":"l","d":[],"c":[["k",{"w":"malkhi","s":"khi","e":true,"k":"k","d":[637],"c":[]}],["i",{"w":"malicious","s":"icious","e":true,"k":"i","d":[653,672],"c":[]}]]}],["v",{"w":"maven","s":"ven","e":true,"k":"v","d":[1054,1055],"c":[]}]]}],["o",{"w":"mo","s":"o","e":false,"k":"o","d":[],"c":[["n",{"w":"mon","s":"n","e":false,"k":"n","d":[],"c":[["i",{"w":"monitor","s":"itor","e":true,"k":"i","d":[123,753,794,795,1681],"c":[["i",{"w":"monitoring","s":"ing","e":true,"k":"i","d":[2,7,73,123,541,737,748,1069,1681,1733],"c":[]}],["e",{"w":"monitored","s":"ed","e":true,"k":"e","d":[21],"c":[]}],["s",{"w":"monitors","s":"s","e":true,"k":"s","d":[1130,1680],"c":[]}]]}],["o",{"w":"monotonic","s":"otonic","e":true,"k":"o","d":[1503],"c":[["i",{"w":"monotonicity","s":"ity","e":true,"k":"i","d":[1284],"c":[]}],["a",{"w":"monotonically","s":"ally","e":true,"k":"a","d":[1320],"c":[]}]]}],["t",{"w":"monterey","s":"terey","e":true,"k":"t","d":[1760],"c":[]}]]}],["r",{"w":"more","s":"re","e":true,"k":"r","d":[16,27,28,42,47,48,58,118,127,176,189,190,194,209,221,232,250,264,265,291,308,309,320,384,385,396,410,414,452,455,513,535,539,636,649,651,652,670,676,687,688,690,691,692,694,710,731,754,777,790,809,870,980,1058,1077,1100,1133,1148,1167,1235,1287,1289,1315,1317,1403,1420,1435,1475,1537,1631,1713,1715,1743,1805,1813,1845,1847,1912,1939,1950,1952,1966,1967,1976,2089],"c":[["o",{"w":"moreover","s":"over","e":true,"k":"o","d":[1899],"c":[]}]]}],["s",{"w":"most","s":"st","e":true,"k":"s","d":[47,194,203,355,396,536,589,680,700,728,1067,1174,1239,1348,1355,1473,1700,1874,1921,1951],"c":[["l",{"w":"mostly","s":"ly","e":true,"k":"l","d":[1139],"c":[]}]]}],["v",{"w":"mov","s":"v","e":false,"k":"v","d":[],"c":[["i",{"w":"moving","s":"ing","e":true,"k":"i","d":[59,1670],"c":[]}],["e",{"w":"move","s":"e","e":true,"k":"e","d":[176,920,941,942,943,944,991,1045,1317,1382,1403,1404,1410],"c":[["s",{"w":"moves","s":"s","e":true,"k":"s","d":[273,1404,1405],"c":[]}],["d",{"w":"moved","s":"d","e":true,"k":"d","d":[670,1401,1915],"c":[]}],["-",{"w":"move-","s":"-","e":false,"k":"-","d":[],"c":[["u",{"w":"move-up","s":"up","e":true,"k":"u","d":[970],"c":[]}],["d",{"w":"move-down","s":"down","e":true,"k":"d","d":[970],"c":[]}]]}]]}]]}],["d",{"w":"mod","s":"d","e":false,"k":"d","d":[],"c":[["e",{"w":"mode","s":"e","e":true,"k":"e","d":[75,120,122,179,180,304,306,355,375,384,527,627,628,649,652,685,687,688,697,698,707,711,713,716,718,722,729,1007,1016,1023,1039,1050,1404,1405,1456,1669,1707,1717,1942,1951,1968,1970,1972,2054,2070,2125],"c":[["l",{"w":"model","s":"l","e":true,"k":"l","d":[408,1290,1355,1641,1650,1670,1684,1783,1786,1797],"c":[["s",{"w":"models","s":"s","e":true,"k":"s","d":[1676],"c":[]}]]}],["s",{"w":"modes","s":"s","e":true,"k":"s","d":[685,697,2126],"c":[]}]]}],["i",{"w":"modif","s":"if","e":false,"k":"i","d":[],"c":[["y",{"w":"modify","s":"y","e":true,"k":"y","d":[321,855],"c":[["i",{"w":"modifying","s":"ing","e":true,"k":"i","d":[625,697,1539],"c":[]}]]}],["i",{"w":"modifi","s":"i","e":false,"k":"i","d":[],"c":[["e",{"w":"modified","s":"ed","e":true,"k":"e","d":[685,697,703,705,1323,1332,1333,1335],"c":[]}],["c",{"w":"modification","s":"cation","e":true,"k":"c","d":[1329],"c":[["s",{"w":"modifications","s":"s","e":true,"k":"s","d":[1091,1539],"c":[]}]]}]]}]]}],["u",{"w":"module","s":"ule","e":true,"k":"u","d":[2021],"c":[["s",{"w":"modules","s":"s","e":true,"k":"s","d":[1645],"c":[]}]]}]]}],["m",{"w":"moment","s":"ment","e":true,"k":"m","d":[1703],"c":[["a",{"w":"momentarily","s":"arily","e":true,"k":"a","d":[659],"c":[]}]]}],["u",{"w":"mounted","s":"unted","e":true,"k":"u","d":[944],"c":[]}],["t",{"w":"motivation","s":"tivation","e":true,"k":"t","d":[1798],"c":[]}],["c",{"w":"mock","s":"ck","e":true,"k":"c","d":[2139],"c":[]}]]}],["e",{"w":"me","s":"e","e":false,"k":"e","d":[],"c":[["t",{"w":"met","s":"t","e":true,"k":"t","d":[1479],"c":[["r",{"w":"metrics","s":"rics","e":true,"k":"r","d":[10,30,31,32,34,36,37,38,39,201,202,795,796,797,798,799,809,810,812,813,819,823,825,830,2149],"c":[["p",{"w":"metricsprovider","s":"provider","e":true,"k":"p","d":[34,35,36,37,38,39,40,811],"c":[]}]]}],["h",{"w":"method","s":"hod","e":true,"k":"h","d":[259,304,305,317,357,633,730,733,861,906,1091,1103,1133,1142,1289,1366,1368,1378,1444,1882,2019,2146,2159,2160],"c":[["s",{"w":"methods","s":"s","e":true,"k":"s","d":[1069,1137,1214,1366,1373,2031,2098],"c":[]}]]}],["a",{"w":"metadata","s":"adata","e":true,"k":"a","d":[605,1654,1711,1713,1735,1738],"c":[["-",{"w":"metadata-store","s":"-store","e":true,"k":"-","d":[1767],"c":[]}]]}]]}],["a",{"w":"mea","s":"a","e":false,"k":"a","d":[],"c":[["n",{"w":"mean","s":"n","e":true,"k":"n","d":[522],"c":[["i",{"w":"meaning","s":"ing","e":true,"k":"i","d":[18,1100,1262,1506,1507],"c":[["s",{"w":"meanings","s":"s","e":true,"k":"s","d":[520,1945],"c":[]}],["l",{"w":"meaningless","s":"less","e":true,"k":"l","d":[1907],"c":[]}]]}],["s",{"w":"means","s":"s","e":true,"k":"s","d":[18,209,254,289,530,531,537,706,880,964,1475,1502,1799,1800,1876,1896,1899,1900,1907,1911],"c":[]}]]}],["s",{"w":"measure","s":"sure","e":true,"k":"s","d":[1385],"c":[["d",{"w":"measured","s":"d","e":true,"k":"d","d":[184,1317],"c":[]}],["s",{"w":"measures","s":"s","e":true,"k":"s","d":[454,1063,1476],"c":[]}],["m",{"w":"measurements","s":"ments","e":true,"k":"m","d":[636],"c":[]}]]}],["t",{"w":"meat","s":"t","e":true,"k":"t","d":[1139],"c":[]}]]}],["d",{"w":"medi","s":"di","e":false,"k":"d","d":[],"c":[["a",{"w":"media","s":"a","e":true,"k":"a","d":[47,387,537,1317,1348],"c":[]}],["u",{"w":"medium","s":"um","e":true,"k":"u","d":[1762],"c":[]}]]}],["m",{"w":"mem","s":"m","e":false,"k":"m","d":[],"c":[["o",{"w":"memory","s":"ory","e":true,"k":"o","d":[48,189,208,210,213,385,537,539,1349,1706,2041,2108,2110,2176],"c":[["-",{"w":"memory-centric","s":"-centric","e":true,"k":"-","d":[1694],"c":[]}]]}],["b",{"w":"member","s":"ber","e":true,"k":"b","d":[138,196,406,907,908,980,1313],"c":[["s",{"w":"members","s":"s","e":true,"k":"s","d":[134,189,308,309,371,399,717,762,866,870,871,879,908,980,988,1478],"c":[["h",{"w":"membership","s":"hip","e":true,"k":"h","d":[576,594,610,633,635,1461,1478,1631,1658,1703,1734,1742,1832],"c":[]}]]}]]}]]}],["s",{"w":"mes","s":"s","e":false,"k":"s","d":[],"c":[["s",{"w":"mess","s":"s","e":true,"k":"s","d":[1896],"c":[["a",{"w":"messag","s":"ag","e":false,"k":"a","d":[],"c":[["e",{"w":"message","s":"e","e":true,"k":"e","d":[200,679,706,884,1271,1545,1830,1846,1864,1865,1866,1868,1869,1870,1874,1875,1876,1880,1900,1901,1902,1924,2158],"c":[["s",{"w":"messages","s":"s","e":true,"k":"s","d":[78,419,420,872,963,1276,1867,1868,1869,1870,1872,1874,1876,1880,1900,1901,1915,1920,1925,1950],"c":[]}],["t",{"w":"messagetracker","s":"tracker","e":true,"k":"t","d":[419,420],"c":[]}]]}],["i",{"w":"messaging","s":"ing","e":true,"k":"i","d":[1698,1710,1726,1738,1830,1831,1853,1862,1863,1867,1871,1872,1878,1880,1882,1897,1905,1967],"c":[]}]]}]]}],["o",{"w":"mesos","s":"os","e":true,"k":"o","d":[1600,1706,1707,1739,1753],"c":[]}]]}],["c",{"w":"mech","s":"ch","e":true,"k":"c","d":[2054],"c":[["a",{"w":"mechanism","s":"anism","e":true,"k":"a","d":[216,217,218,219,220,221,222,377,672,884,1679,1691,1695],"c":[["s",{"w":"mechanisms","s":"s","e":true,"k":"s","d":[1473,1670],"c":[]}]]}]]}],["n",{"w":"mention","s":"ntion","e":false,"k":"n","d":[],"c":[["e",{"w":"mentioned","s":"ed","e":true,"k":"e","d":[243,405,508,512,1106,1272,1475],"c":[]}],["i",{"w":"mentioning","s":"ing","e":true,"k":"i","d":[1314],"c":[]}]]}],["e",{"w":"meet","s":"et","e":true,"k":"e","d":[250,1651,2036],"c":[]}],["r",{"w":"mer","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"merely","s":"ely","e":true,"k":"e","d":[1907],"c":[]}],["g",{"w":"merge","s":"ge","e":true,"k":"g","d":[2106,2157,2174],"c":[]}]]}]]}],["u",{"w":"mu","s":"u","e":false,"k":"u","d":[],"c":[["s",{"w":"must","s":"st","e":true,"k":"s","d":[11,46,78,148,174,177,193,206,207,227,292,293,297,306,341,390,402,521,533,538,639,644,673,675,688,689,692,706,731,733,909,912,934,937,950,1016,1169,1172,1191,1196,1198,1200,1237,1311,1324,1345,1346,1347,1348,1365,1371,1383,1453,1476,1540,1802,1866,1867,1876,1887,1952,1979],"c":[]}],["l",{"w":"mul","s":"l","e":false,"k":"l","d":[],"c":[["t",{"w":"multi","s":"ti","e":true,"k":"t","d":[396,2078,2122],"c":[["-",{"w":"multi-","s":"-","e":false,"k":"-","d":[],"c":[["t",{"w":"multi-t","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"multi-tenant","s":"enant","e":true,"k":"e","d":[51,1384],"c":[]}],["h",{"w":"multi-thread","s":"hread","e":false,"k":"h","d":[],"c":[["i",{"w":"multi-threading","s":"ing","e":true,"k":"i","d":[408],"c":[]}],["e",{"w":"multi-threaded","s":"ed","e":true,"k":"e","d":[1239,1254,1967],"c":[]}]]}]]}],["s",{"w":"multi-se","s":"se","e":false,"k":"s","d":[],"c":[["r",{"w":"multi-server","s":"rver","e":true,"k":"r","d":[457,462,469,1328],"c":[]}],["c",{"w":"multi-second","s":"cond","e":true,"k":"c","d":[538],"c":[]}]]}],["d",{"w":"multi-dimensional","s":"dimensional","e":true,"k":"d","d":[1704],"c":[]}],["p",{"w":"multi-paxos","s":"paxos","e":true,"k":"p","d":[1904],"c":[]}]]}],["p",{"w":"multiple","s":"ple","e":true,"k":"p","d":[74,100,102,128,150,292,293,295,330,368,372,373,399,408,472,476,520,613,634,647,648,694,707,730,864,922,950,1144,1194,1265,1325,1366,1454,1707,1717,1978,1979,1980,2120,2192],"c":[]}],["a",{"w":"multiaddress","s":"address","e":true,"k":"a","d":[293,295,372,373,374,399,401],"c":[]}],["o",{"w":"multioperation","s":"operation","e":true,"k":"o","d":[844],"c":[]}],["t",{"w":"multithreaded","s":"threaded","e":true,"k":"t","d":[1205,1254,1263,1272],"c":[]}]]}],["-",{"w":"mul-","s":"-","e":true,"k":"-","d":[1724],"c":[]}]]}],["c",{"w":"much","s":"ch","e":true,"k":"c","d":[213,286,385,871,1304,1317,1384,1402,1806],"c":[]}],["t",{"w":"mutually","s":"tually","e":true,"k":"t","d":[934],"c":[]}]]}],["i",{"w":"mi","s":"i","e":false,"k":"i","d":[],"c":[["g",{"w":"mig","s":"g","e":false,"k":"g","d":[],"c":[["h",{"w":"might","s":"ht","e":true,"k":"h","d":[29,149,263,271,272,384,385,1137,1144,1237,1319,1537,1918],"c":[]}],["r",{"w":"migrat","s":"rat","e":false,"k":"r","d":[],"c":[["i",{"w":"migrati","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"migration","s":"on","e":true,"k":"o","d":[140,733],"c":[["s",{"w":"migrations","s":"s","e":true,"k":"s","d":[635],"c":[]}]]}],["n",{"w":"migrating","s":"ng","e":true,"k":"n","d":[326],"c":[]}]]}],["e",{"w":"migrate","s":"e","e":true,"k":"e","d":[325],"c":[]}]]}]]}],["n",{"w":"min","s":"n","e":false,"k":"n","d":[],"c":[["s",{"w":"mins","s":"s","e":true,"k":"s","d":[125,129,422],"c":[["e",{"w":"minsessiontimeout","s":"essiontimeout","e":true,"k":"e","d":[198],"c":[]}]]}],["i",{"w":"minim","s":"im","e":false,"k":"i","d":[],"c":[["u",{"w":"minimum","s":"um","e":true,"k":"u","d":[161,162,177,184,192,193,198,203,214,215,509,512,688,1328,1386,1946,1970],"c":[]}],["i",{"w":"minimize","s":"ize","e":true,"k":"i","d":[537,1284],"c":[]}],["a",{"w":"minimal","s":"al","e":true,"k":"a","d":[731,872],"c":[]}]]}],["u",{"w":"minu","s":"u","e":false,"k":"u","d":[],"c":[["t",{"w":"minute","s":"te","e":true,"k":"t","d":[416],"c":[["s",{"w":"minutes","s":"s","e":true,"k":"s","d":[204,211,417],"c":[]}]]}],["s",{"w":"minus","s":"s","e":true,"k":"s","d":[1349],"c":[]}]]}],["n",{"w":"minnotificationinterval","s":"notificationinterval","e":true,"k":"n","d":[214,215],"c":[]}],["o",{"w":"minor","s":"or","e":true,"k":"o","d":[1539],"c":[["i",{"w":"minority","s":"ity","e":true,"k":"i","d":[530],"c":[]}]]}],["d",{"w":"mind","s":"d","e":true,"k":"d","d":[1909],"c":[]}]]}],["x",{"w":"mixed-mode","s":"xed-mode","e":true,"k":"x","d":[179],"c":[]}],["l",{"w":"milliseconds","s":"lliseconds","e":true,"k":"l","d":[184,198,199,200,204,217,218,219,220,221,229,230,234,238,373,415,417,434,1062,1267,1323,1334,1335,1386,1946,1974],"c":[]}],["s",{"w":"mis","s":"s","e":false,"k":"s","d":[],"c":[["m",{"w":"mismatch","s":"match","e":true,"k":"m","d":[248,249],"c":[]}],["s",{"w":"miss","s":"s","e":true,"k":"s","d":[1345],"c":[["i",{"w":"missing","s":"ing","e":true,"k":"i","d":[263,406,955,1886,2049,2152],"c":[]}],["e",{"w":"missed","s":"ed","e":true,"k":"e","d":[1436,1511],"c":[]}]]}],["l",{"w":"misleading","s":"leading","e":true,"k":"l","d":[316],"c":[]}],["t",{"w":"mistakenly","s":"takenly","e":true,"k":"t","d":[1289],"c":[]}]]}],["t",{"w":"mitigate","s":"tigate","e":true,"k":"t","d":[1348],"c":[]}],["d",{"w":"mid","s":"d","e":false,"k":"d","d":[],"c":[["o",{"w":"midokura","s":"okura","e":true,"k":"o","d":[1614],"c":[]}],["d",{"w":"middlemanager","s":"dlemanager","e":true,"k":"d","d":[1665],"c":[]}]]}],["r",{"w":"mirrors","s":"rrors","e":true,"k":"r","d":[1941],"c":[]}]]}],["s",{"w":"ms","s":"s","e":true,"k":"s","d":[40,204,229,311,312,434],"c":[["v",{"w":"msvc","s":"vc","e":true,"k":"v","d":[2026],"c":[]}]]}],["n",{"w":"mntr","s":"ntr","e":true,"k":"n","d":[73,123],"c":[]}],["y",{"w":"my","s":"y","e":false,"k":"y","d":[],"c":[["i",{"w":"myid","s":"id","e":true,"k":"i","d":[292,405,444,447,520,521,522,762,765,1975,1982,2053],"c":[]}],["h",{"w":"myhost","s":"host","e":true,"k":"h","d":[369,370],"c":[]}],["a",{"w":"myauth","s":"auth","e":true,"k":"a","d":[1370,1371],"c":[["2",{"w":"myauth2","s":"2","e":true,"k":"2","d":[1371],"c":[]}]]}],["r",{"w":"myriad","s":"riad","e":true,"k":"r","d":[1723,1742],"c":[]}],["_",{"w":"my_data","s":"_data","e":true,"k":"_","d":[1959],"c":[]}]]}],["b",{"w":"mb","s":"b","e":true,"k":"b","d":[396],"c":[["e",{"w":"mbean","s":"ean","e":true,"k":"e","d":[737,742,755,757,758,782,783],"c":[["s",{"w":"mbeans","s":"s","e":true,"k":"s","d":[740,741,743,744,748,752,754,755],"c":[]}]]}]]}],["d",{"w":"md5","s":"d5","e":true,"k":"d","d":[1173],"c":[]}],["v",{"w":"mvn","s":"vn","e":true,"k":"v","d":[1242],"c":[]}],["z",{"w":"mzxid","s":"zxid","e":true,"k":"z","d":[1332],"c":[]}],["t",{"w":"mtime","s":"time","e":true,"k":"t","d":[1335],"c":[]}],["1",{"w":"m1","s":"1","e":true,"k":"1","d":[2189],"c":[]}]]}],["t",{"w":"t","s":"t","e":true,"k":"t","d":[537,1167,1424,1731,1760],"c":[["a",{"w":"ta","s":"a","e":false,"k":"a","d":[],"c":[["s",{"w":"task","s":"sk","e":true,"k":"s","d":[39,204,731,1073,1665,1990,1996,2002,2010,2018],"c":[["s",{"w":"tasks","s":"s","e":true,"k":"s","d":[2,1654,1723],"c":[]}]]}],["r",{"w":"tar","s":"r","e":false,"k":"r","d":[],"c":[["'",{"w":"tar's","s":"'s","e":true,"k":"'","d":[17],"c":[]}],["g",{"w":"target","s":"get","e":true,"k":"g","d":[821],"c":[]}],["b",{"w":"tarball","s":"ball","e":true,"k":"b","d":[1244],"c":[]}]]}],["k",{"w":"tak","s":"k","e":false,"k":"k","d":[],"c":[["e",{"w":"take","s":"e","e":true,"k":"e","d":[48,50,191,193,271,272,402,513,514,537,708,730,986,989,1284,1317,1351,1679,1907,1908,2166],"c":[["s",{"w":"takes","s":"s","e":true,"k":"s","d":[129,200,344,347,448,449,729,924,1093,1122,1224,1346,1830,1845],"c":[]}],["n",{"w":"taken","s":"n","e":true,"k":"n","d":[174,190,191,193,373,454,667,808,840,864],"c":[]}]]}],["i",{"w":"taking","s":"ing","e":true,"k":"i","d":[154,191,193,448,1371,2144],"c":[]}]]}],["b",{"w":"tab","s":"b","e":true,"k":"b","d":[752],"c":[["l",{"w":"table","s":"le","e":true,"k":"l","d":[756,781],"c":[["s",{"w":"tables","s":"s","e":true,"k":"s","d":[1650],"c":[]}],["t",{"w":"tablets","s":"ts","e":true,"k":"t","d":[1650],"c":[]}]]}]]}],["l",{"w":"tal","s":"l","e":false,"k":"l","d":[],"c":[["k",{"w":"talk","s":"k","e":true,"k":"k","d":[872,1358,1872,1907],"c":[["i",{"w":"talking","s":"ing","e":true,"k":"i","d":[1807],"c":[]}]]}],["e",{"w":"talend","s":"end","e":true,"k":"e","d":[1578,1646,1647],"c":[]}]]}],["n",{"w":"tang","s":"ng","e":true,"k":"n","d":[1760],"c":[]}]]}],["r",{"w":"tr","s":"r","e":false,"k":"r","d":[],"c":[["o",{"w":"troubleshooting","s":"oubleshooting","e":true,"k":"o","d":[2,9,450,541,1342,1343],"c":[]}],["a",{"w":"tra","s":"a","e":false,"k":"a","d":[],"c":[["n",{"w":"trans","s":"ns","e":false,"k":"n","d":[],"c":[["a",{"w":"transaction","s":"action","e":true,"k":"a","d":[12,16,29,42,47,114,181,183,186,190,191,193,194,203,205,263,387,396,437,442,448,449,538,994,1020,1021,1022,1326,1348,1542,1543,1544,1546,1547,1802,1831,1876,1939,1947,1982],"c":[["a",{"w":"transactional","s":"al","e":true,"k":"a","d":[12,200,1638,1694],"c":[]}],["s",{"w":"transactions","s":"s","e":true,"k":"s","d":[12,47,114,191,193,231,406,449,703,1023,1348,1804],"c":[]}]]}],["i",{"w":"transi","s":"i","e":false,"k":"i","d":[],"c":[["e",{"w":"transient","s":"ent","e":true,"k":"e","d":[310,1690],"c":[]}],["t",{"w":"transition","s":"tion","e":true,"k":"t","d":[706,1387],"c":[["s",{"w":"transitions","s":"s","e":true,"k":"s","d":[1382,1389,1683],"c":[]}]]}]]}],["f",{"w":"transf","s":"f","e":false,"k":"f","d":[],"c":[["e",{"w":"transfer","s":"er","e":true,"k":"e","d":[731],"c":[["s",{"w":"transfers","s":"s","e":true,"k":"s","d":[535],"c":[]}]]}],["o",{"w":"transform","s":"orm","e":false,"k":"o","d":[],"c":[["e",{"w":"transformed","s":"ed","e":true,"k":"e","d":[662],"c":[]}],["s",{"w":"transforms","s":"s","e":true,"k":"s","d":[1831],"c":[]}]]}]]}],["m",{"w":"transmission","s":"mission","e":true,"k":"m","d":[813],"c":[]}],["p",{"w":"transp","s":"p","e":false,"k":"p","d":[],"c":[["a",{"w":"transparently","s":"arently","e":true,"k":"a","d":[1436],"c":[]}],["o",{"w":"transports","s":"orts","e":true,"k":"o","d":[1655],"c":[]}]]}]]}],["c",{"w":"trac","s":"c","e":false,"k":"c","d":[],"c":[["e",{"w":"trace","s":"e","e":true,"k":"e","d":[77,78,79,100,118,127,1348,1922,2146],"c":[["m",{"w":"tracemask","s":"mask","e":true,"k":"m","d":[118,127],"c":[]}]]}],["k",{"w":"track","s":"k","e":true,"k":"k","d":[420,795],"c":[["s",{"w":"tracks","s":"s","e":true,"k":"s","d":[1325,1645],"c":[]}],["e",{"w":"tracker","s":"er","e":true,"k":"e","d":[1424],"c":[]}]]}],["i",{"w":"tracing","s":"ing","e":true,"k":"i","d":[1069],"c":[]}]]}],["d",{"w":"trad","s":"d","e":false,"k":"d","d":[],"c":[["e",{"w":"trade","s":"e","e":true,"k":"e","d":[213],"c":[["s",{"w":"trades","s":"s","e":true,"k":"s","d":[930],"c":[]}]]}],["i",{"w":"traditionally","s":"itionally","e":true,"k":"i","d":[1223],"c":[]}]]}],["f",{"w":"traffic","s":"ffic","e":true,"k":"f","d":[427,429,872,880,1474],"c":[]}],["v",{"w":"trav","s":"v","e":false,"k":"v","d":[],"c":[["e",{"w":"travers","s":"ers","e":false,"k":"e","d":[],"c":[["e",{"w":"traverse","s":"e","e":true,"k":"e","d":[1105],"c":[]}],["a",{"w":"traversals","s":"als","e":true,"k":"a","d":[1638],"c":[]}]]}],["i",{"w":"travis","s":"is","e":true,"k":"i","d":[2187],"c":[]}]]}]]}],["u",{"w":"tru","s":"u","e":false,"k":"u","d":[],"c":[["e",{"w":"true","s":"e","e":true,"k":"e","d":[37,120,129,205,206,207,235,240,263,264,272,275,293,295,304,305,308,309,313,316,333,334,335,337,338,339,341,353,354,372,374,378,384,398,400,401,420,423,424,425,532,536,581,596,649,653,688,755,833,1063,1098,1100,1217,1220,1227,1228,1237,1433,1445,1480,1482,1490,1503],"c":[]}],["s",{"w":"trust","s":"st","e":true,"k":"s","d":[263,376,816,1234,2147],"c":[["e",{"w":"trusted","s":"ed","e":true,"k":"e","d":[49],"c":[]}],["s",{"w":"truststore","s":"store","e":true,"k":"s","d":[107,150,346,347,348,365,366,1232,1233,1234,2073],"c":[["s",{"w":"truststores","s":"s","e":true,"k":"s","d":[155,348],"c":[]}]]}]]}],["n",{"w":"trun","s":"n","e":false,"k":"n","d":[],"c":[["k",{"w":"trunk","s":"k","e":true,"k":"k","d":[1203,1242,1243,1256],"c":[]}],["c",{"w":"truncated","s":"cated","e":true,"k":"c","d":[2138],"c":[]}]]}],["t",{"w":"truth","s":"th","e":true,"k":"t","d":[1735],"c":[]}]]}],["e",{"w":"tre","s":"e","e":false,"k":"e","d":[],"c":[["e",{"w":"tree","s":"e","e":true,"k":"e","d":[76,123,245,248,255,397,406,445,446,448,970,1130,1154,1311,1797,1820,1828],"c":[]}],["a",{"w":"treat","s":"at","e":true,"k":"a","d":[263],"c":[]}],["n",{"w":"trend","s":"nd","e":true,"k":"n","d":[1030],"c":[]}]]}],["i",{"w":"tri","s":"i","e":false,"k":"i","d":[],"c":[["g",{"w":"trigger","s":"gger","e":true,"k":"g","d":[1315,1432,1433,1435,1437,1438,1443,1444,1812],"c":[["e",{"w":"triggered","s":"ed","e":true,"k":"e","d":[204,231,277,281,700,733,1091,1140,1266,1436,1437,1443,1445,1455,1483,1678,1811,1812,2145],"c":[]}],["i",{"w":"triggering","s":"ing","e":true,"k":"i","d":[1143,1444],"c":[]}],["s",{"w":"triggers","s":"s","e":true,"k":"s","d":[1146,1315,1426,1453,1454,1506],"c":[]}]]}],["e",{"w":"tries","s":"es","e":true,"k":"e","d":[253,1157,1224,1382,1424],"c":[]}],["v",{"w":"trivial","s":"vial","e":true,"k":"v","d":[1549],"c":[]}]]}],["y",{"w":"try","s":"y","e":true,"k":"y","d":[311,373,399,414,536,1224,1349,1383,1401,1405,1422,1683,1886,1939,1958,2139],"c":[["i",{"w":"trying","s":"ing","e":true,"k":"i","d":[254,278,311,1405],"c":[]}]]}]]}],["e",{"w":"te","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"term","s":"rm","e":true,"k":"r","d":[11,1807],"c":[["i",{"w":"terminat","s":"inat","e":false,"k":"i","d":[],"c":[["e",{"w":"terminate","s":"e","e":true,"k":"e","d":[20,308,952],"c":[["s",{"w":"terminates","s":"s","e":true,"k":"s","d":[309,1895],"c":[]}]]}],["i",{"w":"termination","s":"ion","e":true,"k":"i","d":[780,793],"c":[]}]]}],["s",{"w":"terms","s":"s","e":true,"k":"s","d":[1168],"c":[]}]]}],["s",{"w":"test","s":"st","e":true,"k":"s","d":[292,525,728,1014,1076,1084,1085,1346,1954,1978,1989,2001,2016,2117,2121,2124,2133,2140,2183],"c":[["s",{"w":"tests","s":"s","e":true,"k":"s","d":[48,65,75,517,1065,1349,1822,2072,2084,2095,2139,2141,2183],"c":[["e",{"w":"testsetdatafail","s":"etdatafail","e":true,"k":"e","d":[2124],"c":[]}]]}],["i",{"w":"testing","s":"ing","e":true,"k":"i","d":[148,353,399,400,471,994,1011,1069,1968],"c":[]}],["e",{"w":"tested","s":"ed","e":true,"k":"e","d":[251],"c":[]}],["r",{"w":"testre","s":"re","e":false,"k":"r","d":[],"c":[["c",{"w":"testreconfig","s":"config","e":true,"k":"c","d":[734],"c":[["s",{"w":"testreconfigserver","s":"server","e":true,"k":"s","d":[675,686],"c":[]}]]}],["v",{"w":"testrevalidatecount","s":"validatecount","e":true,"k":"v","d":[2177],"c":[]}]]}],["c",{"w":"testconnectionevents","s":"connectionevents","e":true,"k":"c","d":[2121],"c":[]}],["f",{"w":"testfiletxnsnaplogmetrics","s":"filetxnsnaplogmetrics","e":true,"k":"f","d":[2133],"c":[]}],["a",{"w":"testable","s":"able","e":true,"k":"a","d":[2160],"c":[["c",{"w":"testableclosesocket","s":"closesocket","e":true,"k":"c","d":[2160],"c":[]}]]}],["g",{"w":"testgetcurrentlogsize","s":"getcurrentlogsize","e":true,"k":"g","d":[2182],"c":[]}],["o",{"w":"testoperations","s":"operations","e":true,"k":"o","d":[2183],"c":[]}],["t",{"w":"testtimeoutcausedbywatches1","s":"timeoutcausedbywatches1","e":true,"k":"t","d":[2183],"c":[]}]]}],["l",{"w":"tel","s":"l","e":false,"k":"l","d":[],"c":[["n",{"w":"telnet","s":"net","e":true,"k":"n","d":[53,57],"c":[]}],["e",{"w":"telegraf","s":"egraf","e":true,"k":"e","d":[830],"c":[]}],["l",{"w":"tell","s":"l","e":true,"k":"l","d":[970,1328,1700,1887],"c":[["s",{"w":"tells","s":"s","e":true,"k":"s","d":[875,877,1289],"c":[]}]]}]]}],["x",{"w":"text","s":"xt","e":true,"k":"x","d":[119,444,521,910,1173],"c":[]}],["m",{"w":"temp","s":"mp","e":false,"k":"m","d":[],"c":[["o",{"w":"temporar","s":"orar","e":false,"k":"o","d":[],"c":[["y",{"w":"temporary","s":"y","e":true,"k":"y","d":[310,980,2032],"c":[]}],["i",{"w":"temporarily","s":"ily","e":true,"k":"i","d":[687],"c":[]}]]}],["l",{"w":"template","s":"late","e":true,"k":"l","d":[829,830],"c":[]}]]}],["c",{"w":"techn","s":"chn","e":false,"k":"c","d":[],"c":[["i",{"w":"technical","s":"ical","e":true,"k":"i","d":[637],"c":[]}],["o",{"w":"technolog","s":"olog","e":false,"k":"o","d":[],"c":[["y",{"w":"technology","s":"y","e":true,"k":"y","d":[746],"c":[]}],["i",{"w":"technologies","s":"ies","e":true,"k":"i","d":[1608,1723],"c":[]}]]}]]}],["n",{"w":"ten","s":"n","e":false,"k":"n","d":[],"c":[["t",{"w":"tenth","s":"th","e":true,"k":"t","d":[957],"c":[]}],["s",{"w":"tens","s":"s","e":true,"k":"s","d":[1286],"c":[]}],["a",{"w":"tenants","s":"ants","e":true,"k":"a","d":[1712],"c":[]}]]}],["a",{"w":"team","s":"am","e":true,"k":"a","d":[1720,1732,1833],"c":[]}]]}],["h",{"w":"th","s":"h","e":false,"k":"h","d":[],"c":[["e",{"w":"the","s":"e","e":true,"k":"e","d":[11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,29,30,31,37,38,39,40,46,47,48,50,51,53,54,55,57,58,63,65,67,68,69,70,71,72,73,74,75,76,77,78,89,95,100,101,102,103,104,105,106,107,108,109,113,114,116,118,119,121,122,123,125,126,127,129,130,131,134,135,136,138,139,143,144,146,148,149,150,151,152,154,155,156,157,161,174,176,177,178,179,180,181,183,184,185,186,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,224,225,226,227,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,245,247,248,249,250,251,252,253,254,255,256,257,260,263,264,265,266,267,268,269,270,271,272,273,274,275,276,278,279,280,281,282,283,285,286,287,288,289,292,293,295,297,298,299,301,303,304,305,306,307,308,309,311,312,313,314,315,316,317,318,319,321,323,328,329,330,331,332,333,335,336,337,338,342,343,344,345,346,347,348,350,351,352,353,354,355,364,365,366,367,368,369,370,371,372,373,374,375,376,379,380,381,382,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,421,422,423,424,425,426,428,429,430,431,432,433,434,435,437,438,439,442,444,446,447,448,449,450,451,452,454,471,473,474,475,477,508,509,510,512,513,514,515,516,517,518,519,520,521,522,524,525,526,527,528,529,530,532,533,534,535,536,537,538,539,541,575,576,582,584,585,586,587,588,589,590,591,592,593,594,600,604,605,606,607,608,610,612,614,615,621,624,625,633,634,635,636,639,640,641,642,643,644,647,649,650,652,653,654,655,656,659,660,662,663,665,666,667,668,670,671,672,673,674,675,677,678,679,680,681,682,683,684,685,687,688,689,690,691,692,694,695,696,697,698,699,700,701,703,704,705,706,707,708,709,710,711,713,715,716,717,718,719,720,722,723,724,725,727,729,730,731,732,733,735,746,747,748,749,750,751,752,753,754,755,756,762,765,768,771,774,777,780,787,790,793,795,798,809,811,812,813,814,815,816,819,820,821,824,825,826,828,829,830,831,832,833,834,840,844,846,848,850,852,853,854,855,857,858,859,860,861,862,863,864,870,871,872,874,875,876,877,878,879,880,881,882,883,884,889,891,893,894,900,902,903,904,905,906,907,908,909,910,911,912,913,915,917,918,919,920,922,923,924,928,929,930,932,934,935,936,937,938,941,942,943,944,945,946,948,949,950,951,952,953,954,955,956,957,959,963,964,965,967,968,969,970,971,972,973,980,983,984,985,986,988,989,991,992,994,1006,1015,1016,1018,1019,1022,1023,1024,1025,1026,1030,1034,1036,1041,1043,1044,1045,1048,1050,1051,1055,1057,1058,1060,1063,1064,1067,1069,1070,1071,1072,1074,1076,1077,1088,1089,1090,1091,1092,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1111,1115,1116,1120,1121,1123,1124,1125,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1139,1140,1142,1143,1144,1145,1146,1148,1150,1154,1156,1157,1158,1164,1166,1167,1169,1170,1172,1173,1174,1175,1176,1178,1182,1183,1186,1191,1192,1194,1196,1198,1200,1201,1205,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1230,1231,1232,1233,1234,1235,1237,1238,1239,1240,1241,1243,1244,1245,1251,1252,1254,1258,1261,1262,1263,1265,1269,1271,1272,1274,1276,1279,1280,1282,1283,1284,1285,1286,1287,1289,1291,1304,1305,1306,1308,1309,1310,1311,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1345,1346,1347,1348,1349,1353,1354,1355,1356,1357,1358,1359,1361,1364,1365,1366,1367,1368,1369,1370,1371,1373,1374,1375,1376,1377,1378,1382,1383,1384,1385,1386,1387,1388,1389,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1407,1410,1411,1412,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1432,1433,1434,1435,1436,1437,1438,1443,1444,1445,1450,1451,1452,1454,1455,1456,1461,1467,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1495,1500,1501,1502,1503,1505,1506,1507,1509,1510,1511,1512,1513,1514,1515,1516,1518,1520,1521,1522,1525,1526,1527,1528,1529,1530,1531,1532,1534,1535,1537,1538,1539,1540,1541,1543,1544,1545,1546,1547,1548,1549,1550,1551,1553,1554,1556,1557,1558,1560,1561,1627,1628,1629,1630,1631,1635,1636,1639,1641,1644,1645,1650,1651,1656,1658,1660,1669,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1688,1690,1692,1696,1699,1700,1701,1702,1703,1707,1709,1710,1714,1715,1717,1719,1720,1724,1730,1731,1732,1735,1760,1769,1783,1786,1796,1797,1798,1799,1800,1801,1802,1803,1804,1806,1807,1808,1809,1810,1811,1812,1813,1814,1816,1817,1818,1819,1820,1823,1827,1828,1829,1830,1831,1832,1833,1834,1837,1838,1841,1844,1845,1846,1847,1849,1860,1862,1863,1866,1867,1868,1869,1871,1872,1874,1876,1877,1879,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1892,1893,1894,1895,1896,1898,1899,1900,1901,1903,1905,1906,1907,1909,1910,1911,1912,1913,1914,1915,1916,1918,1920,1923,1926,1939,1940,1941,1942,1943,1945,1946,1947,1948,1949,1950,1951,1952,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1972,1973,1974,1975,1976,1978,1979,1980,1982,2024,2036,2051,2057,2068,2083,2102,2105,2108,2111,2144,2145,2148,2149,2159,2167,2175,2177],"c":[["s",{"w":"these","s":"se","e":true,"k":"s","d":[12,13,19,20,138,143,176,249,270,309,419,442,450,454,467,515,520,532,649,667,704,728,787,862,871,956,1088,1132,1137,1157,1211,1219,1237,1287,1318,1353,1370,1382,1403,1443,1449,1472,1477,1507,1655,1799,1810,1813,1819,1867,1885,1967,1974],"c":[]}],["r",{"w":"there","s":"re","e":true,"k":"r","d":[189,210,211,212,213,249,268,275,292,298,308,382,389,508,533,650,653,669,672,685,699,712,717,749,830,856,861,863,880,916,933,950,1098,1100,1104,1130,1146,1167,1172,1212,1214,1217,1265,1281,1304,1369,1370,1371,1398,1400,1401,1411,1432,1435,1436,1443,1445,1454,1475,1476,1502,1503,1505,1509,1519,1529,1530,1537,1545,1549,1688,1691,1700,1709,1845,1887,1903,1904,1912,1917,1939,1951,1971,1981],"c":[["f",{"w":"therefore","s":"fore","e":true,"k":"f","d":[12,13,402,450,539,659,731,980,1915],"c":[]}],["a",{"w":"thereafter","s":"after","e":true,"k":"a","d":[333,337],"c":[]}],["'",{"w":"there're","s":"'re","e":true,"k":"'","d":[1356],"c":[]}]]}],["i",{"w":"their","s":"ir","e":true,"k":"i","d":[15,146,313,352,514,634,635,937,1092,1175,1262,1472,1484,1501,1651,1669,1847,1907],"c":[]}],["y",{"w":"they","s":"y","e":true,"k":"y","d":[29,176,195,206,296,385,509,659,662,690,694,695,730,833,861,871,872,877,879,983,984,985,1215,1278,1280,1306,1314,1317,1324,1401,1407,1444,1474,1484,1501,1507,1516,1537,1543,1549,1798,1802,1814,1828,1845,1881,1886,1887,1900,1904,1908,1909,1926,1967],"c":[]}],["n",{"w":"then","s":"n","e":true,"k":"n","d":[48,122,180,188,267,272,286,292,295,298,303,305,306,331,339,385,405,413,414,417,419,447,448,514,520,526,537,665,688,729,731,871,877,942,1091,1092,1097,1098,1100,1102,1104,1146,1172,1173,1217,1222,1224,1254,1289,1315,1326,1373,1395,1410,1423,1455,1543,1546,1549,1557,1625,1683,1717,1845,1971],"c":[]}],["m",{"w":"them","s":"m","e":true,"k":"m","d":[176,185,189,235,259,270,285,306,308,386,452,513,644,649,687,690,829,833,871,963,1101,1133,1251,1346,1438,1472,1626,1876,1905,1971],"c":[]}],["_",{"w":"the_zookeeper_st_library","s":"_zookeeper_st_library","e":true,"k":"_","d":[1254],"c":[]}]]}],["a",{"w":"tha","s":"a","e":false,"k":"a","d":[],"c":[["n",{"w":"than","s":"n","e":true,"k":"n","d":[12,15,38,186,189,193,194,200,206,207,211,221,223,224,225,226,235,236,270,286,291,295,391,392,396,410,442,513,539,649,688,691,694,704,722,725,731,871,872,980,1235,1261,1279,1317,1326,1328,1444,1529,1530,1548,1676,1805,1845,1887,1909,1912,1913,1922,1971],"c":[["x",{"w":"thanx","s":"x","e":true,"k":"x","d":[1496],"c":[]}]]}],["t",{"w":"that","s":"t","e":true,"k":"t","d":[14,17,18,19,20,26,29,32,46,47,48,65,73,89,95,100,102,106,109,121,126,138,147,148,152,156,157,159,174,177,178,179,180,188,189,193,194,195,196,197,198,199,201,211,212,223,227,234,235,257,263,269,272,282,289,292,297,298,306,308,309,311,317,329,330,331,332,333,336,337,340,344,347,355,367,372,376,383,389,402,404,405,406,413,414,416,417,434,444,447,448,449,451,452,474,508,509,512,513,514,515,517,520,521,522,530,531,533,536,537,539,604,633,649,651,653,662,665,667,668,672,673,675,677,679,681,682,687,688,689,690,696,699,706,709,718,746,755,762,765,771,774,787,830,864,866,870,871,872,873,874,875,877,881,902,904,906,916,952,967,1042,1043,1071,1088,1090,1091,1092,1098,1099,1100,1101,1102,1103,1104,1132,1133,1135,1137,1144,1146,1154,1155,1156,1157,1167,1169,1171,1172,1201,1212,1213,1214,1215,1217,1228,1237,1245,1263,1268,1269,1271,1279,1280,1282,1283,1285,1289,1304,1311,1313,1314,1315,1316,1317,1318,1319,1320,1327,1328,1331,1332,1333,1344,1346,1347,1348,1349,1351,1365,1366,1367,1368,1369,1370,1371,1378,1382,1385,1386,1387,1388,1397,1399,1400,1401,1405,1410,1411,1416,1420,1432,1433,1434,1437,1438,1443,1444,1450,1451,1454,1455,1456,1473,1474,1475,1476,1478,1500,1501,1502,1503,1506,1507,1532,1537,1540,1541,1542,1543,1544,1545,1546,1548,1549,1554,1558,1560,1563,1627,1649,1650,1660,1670,1672,1676,1678,1679,1680,1683,1686,1690,1700,1703,1707,1712,1713,1731,1732,1797,1800,1802,1804,1806,1807,1808,1809,1810,1811,1812,1814,1816,1817,1827,1829,1831,1833,1834,1838,1862,1867,1868,1869,1871,1874,1876,1877,1881,1887,1896,1899,1900,1902,1903,1904,1905,1907,1908,1909,1911,1912,1913,1915,1918,1920,1923,1939,1949,1957,1961,1962,1971,1975,1976,1978,1979,1981,2070,2088,2145],"c":[["'",{"w":"that's","s":"'s","e":true,"k":"'","d":[1537,1549,1966],"c":[]}]]}]]}],["i",{"w":"thi","s":"i","e":false,"k":"i","d":[],"c":[["s",{"w":"this","s":"s","e":true,"k":"s","d":[13,15,16,17,18,20,35,36,37,51,61,70,72,100,105,113,116,120,125,129,130,131,135,136,146,148,149,174,186,192,193,194,195,196,197,200,201,202,205,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,227,228,230,248,251,254,258,259,260,263,268,269,271,272,273,274,276,282,286,287,289,292,293,295,305,306,307,308,309,310,314,315,316,317,319,329,331,332,334,335,336,338,340,341,342,352,354,357,368,371,372,373,374,384,385,387,389,390,393,396,397,399,400,401,402,403,404,405,406,408,413,414,416,443,447,448,452,455,467,517,519,520,522,530,535,537,539,541,589,594,636,643,647,650,651,662,665,666,670,671,675,678,679,682,684,689,692,696,697,698,709,729,730,731,732,746,747,748,749,753,756,781,855,861,870,871,875,877,880,881,902,906,917,929,930,938,945,1063,1072,1077,1088,1090,1091,1092,1093,1097,1101,1103,1120,1130,1132,1133,1134,1135,1140,1144,1145,1148,1166,1167,1172,1191,1198,1200,1203,1214,1222,1224,1227,1228,1229,1235,1237,1239,1240,1242,1245,1251,1261,1279,1283,1284,1286,1289,1305,1311,1317,1318,1319,1320,1322,1326,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1351,1353,1355,1365,1368,1383,1384,1385,1388,1396,1397,1401,1402,1403,1407,1416,1420,1424,1432,1434,1435,1436,1456,1472,1473,1475,1476,1484,1485,1502,1505,1509,1512,1518,1521,1525,1526,1527,1528,1537,1540,1541,1544,1546,1549,1560,1626,1627,1643,1654,1671,1682,1688,1731,1831,1844,1845,1849,1876,1879,1880,1881,1895,1899,1900,1904,1905,1907,1908,1909,1913,1929,1945,1951,1955,1958,1959,1974,1976,2037,2038,2039,2040],"c":[]}],["n",{"w":"thin","s":"n","e":false,"k":"n","d":[],"c":[["g",{"w":"things","s":"gs","e":true,"k":"g","d":[43,46,123,375,532,537,539,1139,1140,1214,1347,1387,1431,1473,1517,1677,1699],"c":[]}],["k",{"w":"think","s":"k","e":true,"k":"k","d":[191,193,1435,1507,1909],"c":[["i",{"w":"thinking","s":"ing","e":true,"k":"i","d":[1881],"c":[]}]]}]]}],["r",{"w":"third","s":"rd","e":true,"k":"r","d":[1845],"c":[]}]]}],["r",{"w":"thr","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"thre","s":"e","e":false,"k":"e","d":[],"c":[["e",{"w":"three","s":"e","e":true,"k":"e","d":[21,58,291,443,509,512,513,514,903,1040,1154,1187,1223,1327,1432,1438,1970,1978],"c":[]}],["a",{"w":"thread","s":"ad","e":true,"k":"a","d":[38,209,234,273,408,410,412,881,1130,1133,1214,1216,1239,1417,2136,2178],"c":[["s",{"w":"threads","s":"s","e":true,"k":"s","d":[38,40,408,409,410,411,412,1214,1218,2086],"c":[]}],["i",{"w":"threading","s":"ing","e":true,"k":"i","d":[408],"c":[]}],["e",{"w":"threaded","s":"ed","e":true,"k":"e","d":[1967],"c":[]}]]}],["s",{"w":"threshold","s":"shold","e":true,"k":"s","d":[221,222,267,449,1032,1033],"c":[["s",{"w":"thresholds","s":"s","e":true,"k":"s","d":[755,825,1030,1044],"c":[]}]]}]]}],["o",{"w":"thro","s":"o","e":false,"k":"o","d":[],"c":[["u",{"w":"through","s":"ugh","e":true,"k":"u","d":[22,194,224,225,226,305,396,524,653,659,666,675,685,732,733,755,878,1098,1111,1285,1328,1544,1545,1546,1641,1799,1803,1873],"c":[["p",{"w":"throughput","s":"put","e":true,"k":"p","d":[188,209,229,289,394,397,408,409,442,687,1799,1834,1845],"c":[]}]]}],["t",{"w":"throttl","s":"ttl","e":false,"k":"t","d":[],"c":[["e",{"w":"throttle","s":"e","e":true,"k":"e","d":[189,223,2062],"c":[["r",{"w":"throttler","s":"r","e":true,"k":"r","d":[216,217,218,219,220,221,222,224,225,226,235],"c":[]}],["d",{"w":"throttled","s":"d","e":true,"k":"d","d":[270],"c":[["o",{"w":"throttledopwaittime","s":"opwaittime","e":true,"k":"o","d":[270],"c":[]}],["_",{"w":"throttled_op_wait_time","s":"_op_wait_time","e":true,"k":"_","d":[270],"c":[]}]]}]]}],["i",{"w":"throttling","s":"ing","e":true,"k":"i","d":[216,223,233,267],"c":[]}]]}],["w",{"w":"throw","s":"w","e":true,"k":"w","d":[253,254,278,1104,1324,2031,2056],"c":[["n",{"w":"thrown","s":"n","e":true,"k":"n","d":[710],"c":[]}],["s",{"w":"throws","s":"s","e":true,"k":"s","d":[955,973,1099],"c":[]}],["i",{"w":"throwing","s":"ing","e":true,"k":"i","d":[1262,2134],"c":[]}]]}]]}]]}],["u",{"w":"thus","s":"us","e":true,"k":"u","d":[49,100,305,427,448,659,672,687,907,1103,1435,1476,1637],"c":[]}],["o",{"w":"tho","s":"o","e":false,"k":"o","d":[],"c":[["s",{"w":"those","s":"se","e":true,"k":"s","d":[780,793,1133,1154,1370,1388,1401,1537],"c":[]}],["u",{"w":"thou","s":"u","e":false,"k":"u","d":[],"c":[["g",{"w":"though","s":"gh","e":true,"k":"g","d":[1167,1279,1473,1475,1549,1813],"c":[["t",{"w":"thought","s":"t","e":true,"k":"t","d":[1475],"c":[]}]]}],["s",{"w":"thousands","s":"sands","e":true,"k":"s","d":[1407,1676,1805,1846,1867],"c":[]}]]}]]}]]}],["o",{"w":"to","s":"o","e":true,"k":"o","d":[12,13,15,18,19,20,29,30,32,34,36,37,42,43,47,48,49,51,57,59,61,65,78,93,100,102,104,105,108,112,113,114,119,121,124,125,126,129,132,140,144,146,148,150,151,154,174,176,178,179,180,181,183,184,185,186,188,189,190,191,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,224,225,226,227,228,229,230,233,234,235,238,239,240,243,245,248,250,252,253,254,256,257,258,263,264,265,268,269,270,272,273,274,275,278,280,281,283,285,286,287,288,289,292,293,295,296,297,298,304,305,306,307,308,309,310,311,312,313,316,317,320,323,325,326,328,329,330,331,332,333,335,336,337,338,340,341,342,343,346,349,351,352,354,355,357,358,364,365,366,368,369,370,371,372,373,375,379,384,385,387,391,392,393,396,397,398,399,400,402,403,404,405,406,408,409,410,413,414,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,442,447,448,449,450,452,454,473,475,476,510,513,515,517,520,521,522,525,526,527,528,531,532,533,534,535,536,537,539,577,592,602,603,610,611,620,633,634,635,644,647,649,650,651,652,653,654,659,660,665,666,670,671,672,674,675,676,677,678,679,680,683,684,685,687,688,689,690,691,692,694,695,696,697,698,702,703,705,706,709,718,719,720,729,730,732,733,735,737,745,746,747,748,749,750,751,753,754,755,762,777,787,790,795,811,813,816,819,821,824,825,829,830,833,854,855,861,864,866,867,868,870,871,872,873,874,875,876,877,878,880,881,882,883,884,886,902,903,904,905,906,907,908,909,910,911,912,913,917,919,920,930,938,941,942,943,944,948,952,955,959,963,966,967,970,974,975,977,980,981,984,986,991,1016,1022,1023,1024,1027,1028,1039,1041,1042,1043,1045,1046,1048,1050,1051,1071,1072,1073,1074,1077,1090,1091,1092,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1120,1124,1125,1130,1132,1133,1134,1135,1136,1137,1140,1142,1143,1144,1146,1148,1154,1155,1156,1157,1165,1166,1167,1168,1172,1173,1191,1194,1201,1203,1213,1214,1217,1220,1222,1224,1227,1228,1229,1230,1232,1234,1235,1236,1237,1239,1240,1241,1243,1244,1245,1251,1252,1254,1257,1260,1263,1265,1266,1268,1269,1271,1276,1278,1279,1282,1284,1286,1287,1289,1304,1309,1311,1313,1315,1317,1318,1319,1320,1321,1322,1323,1324,1326,1327,1328,1329,1331,1336,1337,1338,1345,1346,1348,1349,1351,1352,1353,1355,1357,1358,1363,1365,1366,1367,1368,1369,1371,1380,1382,1383,1384,1385,1386,1387,1388,1395,1396,1397,1398,1400,1401,1402,1403,1404,1405,1407,1410,1411,1412,1414,1415,1416,1419,1420,1422,1423,1424,1426,1431,1432,1433,1434,1435,1436,1439,1440,1441,1442,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1456,1458,1459,1472,1473,1474,1475,1476,1479,1480,1484,1485,1500,1501,1502,1503,1506,1510,1512,1515,1516,1517,1518,1520,1522,1525,1526,1534,1535,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1551,1560,1561,1625,1626,1627,1641,1642,1644,1647,1650,1651,1652,1654,1658,1668,1669,1672,1675,1676,1679,1683,1685,1688,1689,1690,1692,1693,1695,1700,1704,1706,1708,1709,1712,1717,1718,1723,1724,1731,1732,1735,1736,1797,1798,1799,1801,1803,1804,1807,1808,1813,1816,1818,1824,1826,1828,1829,1830,1831,1832,1833,1834,1836,1838,1844,1845,1846,1847,1867,1871,1875,1876,1877,1879,1880,1881,1884,1885,1886,1887,1888,1895,1896,1897,1899,1900,1901,1903,1904,1905,1907,1908,1909,1911,1912,1913,1914,1915,1918,1923,1929,1935,1936,1939,1941,1943,1944,1945,1946,1947,1948,1950,1951,1953,1954,1957,1958,1960,1966,1971,1972,1973,1976,1978,1979,1980,1982,2022,2024,2027,2033,2034,2035,2036,2037,2046,2048,2049,2054,2055,2058,2059,2062,2065,2066,2069,2072,2075,2077,2082,2083,2088,2089,2092,2095,2097,2099,2104,2105,2106,2107,2114,2115,2125,2132,2139,2143,2145,2151,2155,2156,2161,2167,2171,2173,2174,2175,2179,2185,2188,2189,2190,2192,2193,2194],"c":[["t",{"w":"total","s":"tal","e":true,"k":"t","d":[71,193,195,232,233,587,880,1103,1326,1865,1876,1912],"c":[["l",{"w":"totally","s":"ly","e":true,"k":"l","d":[1907],"c":[]}]]}],["g",{"w":"tog","s":"g","e":false,"k":"g","d":[],"c":[["e",{"w":"together","s":"ether","e":true,"k":"e","d":[148,1182,1237,1311],"c":[]}],["g",{"w":"toggle","s":"gle","e":true,"k":"g","d":[592],"c":[]}]]}],["o",{"w":"too","s":"o","e":true,"k":"o","d":[192,194,211,213,268,296,1546,1733,1838,1886,1908],"c":[["l",{"w":"tool","s":"l","e":true,"k":"l","d":[1006,1023,1036,1050,1069,1692,2092,2164],"c":[["s",{"w":"tools","s":"s","e":true,"k":"s","d":[305,993,994],"c":[]}],["k",{"w":"toolkit","s":"kit","e":true,"k":"k","d":[1628],"c":[]}]]}]]}],["k",{"w":"token","s":"ken","e":true,"k":"k","d":[217,218,220,221,1310],"c":[["-",{"w":"token-b","s":"-b","e":false,"k":"-","d":[],"c":[["a",{"w":"token-based","s":"ased","e":true,"k":"a","d":[216,217,218,219,220,221,222],"c":[]}],["u",{"w":"token-bucket","s":"ucket","e":true,"k":"u","d":[216],"c":[]}]]}],["s",{"w":"tokens","s":"s","e":true,"k":"s","d":[216,217,218,221,224,225,226],"c":[]}]]}],["p",{"w":"top","s":"p","e":true,"k":"p","d":[1627,1676],"c":[["i",{"w":"topic","s":"ic","e":true,"k":"i","d":[1701],"c":[["s",{"w":"topics","s":"s","e":true,"k":"s","d":[467,1701,1702,1758,1759,1846],"c":[]}]]}],["o",{"w":"topology","s":"ology","e":true,"k":"o","d":[1737],"c":[]}]]}],["l",{"w":"tolera","s":"lera","e":false,"k":"l","d":[],"c":[["n",{"w":"toleran","s":"n","e":false,"k":"n","d":[],"c":[["t",{"w":"tolerant","s":"t","e":true,"k":"t","d":[512,1628,1670],"c":[]}],["c",{"w":"tolerance","s":"ce","e":true,"k":"c","d":[535,1731],"c":[]}]]}],["t",{"w":"tolerat","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"tolerate","s":"e","e":true,"k":"e","d":[533,534,980],"c":[]}],["i",{"w":"tolerating","s":"ing","e":true,"k":"i","d":[536],"c":[]}]]}]]}],["w",{"w":"towards","s":"wards","e":true,"k":"w","d":[687,731],"c":[]}],["u",{"w":"toueg","s":"ueg","e":true,"k":"u","d":[957],"c":[]}],["d",{"w":"todd","s":"dd","e":true,"k":"d","d":[1360],"c":[]}],["c",{"w":"toc","s":"c","e":true,"k":"c","d":[1381],"c":[]}]]}],["y",{"w":"typ","s":"yp","e":false,"k":"y","d":[],"c":[["i",{"w":"typical","s":"ical","e":true,"k":"i","d":[756,1223,1319,1799],"c":[["l",{"w":"typically","s":"ly","e":true,"k":"l","d":[15,750,781,1396,1833,1923],"c":[]}]]}],["e",{"w":"type","s":"e","e":true,"k":"e","d":[175,182,187,284,290,294,300,302,345,348,396,453,511,638,693,817,847,848,871,1042,1046,1141,1202,1234,1250,1255,1288,1312,1407,1444,1504,1508,1835,1957,1969,1977],"c":[["s",{"w":"types","s":"s","e":true,"k":"s","d":[195,710,1150,1443],"c":[]}],["d",{"w":"typed","s":"d","e":true,"k":"d","d":[333,337],"c":[]}]]}],["o",{"w":"typo","s":"o","e":true,"k":"o","d":[2064],"c":[]}]]}],["w",{"w":"tw","s":"w","e":false,"k":"w","d":[],"c":[["o",{"w":"two","s":"o","e":true,"k":"o","d":[19,184,214,215,292,442,443,447,471,510,513,529,649,662,669,685,687,710,731,873,882,883,904,937,942,943,952,1030,1098,1104,1130,1211,1212,1213,1214,1218,1240,1283,1289,1365,1370,1382,1398,1401,1417,1435,1477,1506,1507,1545,1834,1842,1877,1878,1885,1903,1909,1913,1967,1971,1976,2194],"c":[["-",{"w":"two-","s":"-","e":false,"k":"-","d":[],"c":[["i",{"w":"two-instance","s":"instance","e":true,"k":"i","d":[886,907,956],"c":[]}],["p",{"w":"two-phase","s":"phase","e":true,"k":"p","d":[1361,1542,1897],"c":[["d",{"w":"two-phased","s":"d","e":true,"k":"d","d":[1470,1543],"c":[]}]]}]]}]]}],["i",{"w":"twi","s":"i","e":false,"k":"i","d":[],"c":[["t",{"w":"twitter","s":"tter","e":true,"k":"t","d":[1619,1735,1736,1737,1738,1739,1758,1759],"c":[]}],["c",{"w":"twice","s":"ce","e":true,"k":"c","d":[1946],"c":[]}]]}]]}],["i",{"w":"ti","s":"i","e":false,"k":"i","d":[],"c":[["m",{"w":"tim","s":"m","e":false,"k":"m","d":[],"c":[["e",{"w":"time","s":"e","e":true,"k":"e","d":[74,121,184,191,193,204,205,211,213,214,215,229,230,234,238,241,242,270,271,272,274,286,287,288,296,342,373,395,415,419,422,434,448,452,690,691,733,830,909,916,933,936,937,1050,1090,1215,1267,1283,1286,1289,1302,1311,1317,1325,1328,1329,1334,1335,1384,1393,1394,1397,1453,1454,1479,1500,1507,1541,1644,1700,1808,1817,1818,1844,1867,1871,1877,1903,1946,1973,1974,2057],"c":[["o",{"w":"timeout","s":"out","e":true,"k":"o","d":[40,184,198,199,227,236,268,288,299,301,303,373,395,1062,1328,1386,1387,1388,1397,1410,1895,1909,1946,1974],"c":[["s",{"w":"timeouts","s":"s","e":true,"k":"s","d":[184,1284,1328,1380,1519,1871,1973,1974],"c":[]}]]}],["s",{"w":"times","s":"s","e":true,"k":"s","d":[198,199,411,922,1109,1194,1328,1386,1401,1434,1454],"c":[["t",{"w":"timestamp","s":"tamp","e":true,"k":"t","d":[121,1311],"c":[["s",{"w":"timestamps","s":"s","e":true,"k":"s","d":[1311,1329,1808],"c":[]}]]}]]}],["l",{"w":"timel","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"timeliness","s":"iness","e":true,"k":"i","d":[539,1278,1286,1818],"c":[]}],["y",{"w":"timely","s":"y","e":true,"k":"y","d":[1626,1681],"c":[]}]]}],["r",{"w":"timers","s":"rs","e":true,"k":"r","d":[1474],"c":[]}]]}],["i",{"w":"timing","s":"ing","e":true,"k":"i","d":[1328,1397,1424],"c":[]}]]}],["c",{"w":"tick","s":"ck","e":true,"k":"c","d":[184,1328,1974],"c":[["t",{"w":"ticktime","s":"time","e":true,"k":"t","d":[184,198,199,286,287,288,296,303,1386,1909,1946,1974],"c":[]}],["s",{"w":"ticks","s":"s","e":true,"k":"s","d":[184,287,288,296,1328,1974],"c":[]}],["e",{"w":"ticket","s":"et","e":true,"k":"e","d":[2130],"c":[]}]]}],["l",{"w":"till","s":"ll","e":true,"k":"l","d":[414],"c":[]}],["p",{"w":"tip","s":"p","e":false,"k":"p","d":[],"c":[["s",{"w":"tips","s":"s","e":true,"k":"s","d":[1343],"c":[]}],["l",{"w":"tiple","s":"le","e":true,"k":"l","d":[1724],"c":[]}]]}],["e",{"w":"tied","s":"ed","e":true,"k":"e","d":[1416],"c":[]}],["g",{"w":"tigeranalytics","s":"geranalytics","e":true,"k":"g","d":[1776],"c":[]}]]}],["l",{"w":"tl","s":"l","e":false,"k":"l","d":[],"c":[["s",{"w":"tls","s":"s","e":true,"k":"s","d":[53,56,107,140,141,146,147,152,154,156,158,159,166,228,268,269,271,272,343,346,349,350,351,353,354,355,356,357,364,640,1234,2025,2048,2063,2067,2105,2147],"c":[["v",{"w":"tlsv1","s":"v1","e":true,"k":"v","d":[349,350,380,381,2102],"c":[]}],["_",{"w":"tls_","s":"_","e":false,"k":"_","d":[],"c":[["e",{"w":"tls_ecdhe_","s":"ecdhe_","e":false,"k":"e","d":[],"c":[["e",{"w":"tls_ecdhe_ecdsa_with_aes_","s":"ecdsa_with_aes_","e":false,"k":"e","d":[],"c":[["1",{"w":"tls_ecdhe_ecdsa_with_aes_128_","s":"128_","e":false,"k":"1","d":[],"c":[["c",{"w":"tls_ecdhe_ecdsa_with_aes_128_cbc_sha","s":"cbc_sha","e":true,"k":"c","d":[380,381],"c":[["2",{"w":"tls_ecdhe_ecdsa_with_aes_128_cbc_sha256","s":"256","e":true,"k":"2","d":[380,381],"c":[]}]]}],["g",{"w":"tls_ecdhe_ecdsa_with_aes_128_gcm_sha256","s":"gcm_sha256","e":true,"k":"g","d":[380,381],"c":[]}]]}],["2",{"w":"tls_ecdhe_ecdsa_with_aes_256_","s":"256_","e":false,"k":"2","d":[],"c":[["c",{"w":"tls_ecdhe_ecdsa_with_aes_256_cbc_sha","s":"cbc_sha","e":true,"k":"c","d":[380,381],"c":[["3",{"w":"tls_ecdhe_ecdsa_with_aes_256_cbc_sha384","s":"384","e":true,"k":"3","d":[380,381],"c":[]}]]}],["g",{"w":"tls_ecdhe_ecdsa_with_aes_256_gcm_sha384","s":"gcm_sha384","e":true,"k":"g","d":[380,381],"c":[]}]]}]]}],["r",{"w":"tls_ecdhe_rsa_with_aes_","s":"rsa_with_aes_","e":false,"k":"r","d":[],"c":[["1",{"w":"tls_ecdhe_rsa_with_aes_128_","s":"128_","e":false,"k":"1","d":[],"c":[["c",{"w":"tls_ecdhe_rsa_with_aes_128_cbc_sha","s":"cbc_sha","e":true,"k":"c","d":[380,381],"c":[["2",{"w":"tls_ecdhe_rsa_with_aes_128_cbc_sha256","s":"256","e":true,"k":"2","d":[380,381],"c":[]}]]}],["g",{"w":"tls_ecdhe_rsa_with_aes_128_gcm_sha256","s":"gcm_sha256","e":true,"k":"g","d":[380,381],"c":[]}]]}],["2",{"w":"tls_ecdhe_rsa_with_aes_256_","s":"256_","e":false,"k":"2","d":[],"c":[["c",{"w":"tls_ecdhe_rsa_with_aes_256_cbc_sha","s":"cbc_sha","e":true,"k":"c","d":[380,381],"c":[["3",{"w":"tls_ecdhe_rsa_with_aes_256_cbc_sha384","s":"384","e":true,"k":"3","d":[380,381],"c":[]}]]}],["g",{"w":"tls_ecdhe_rsa_with_aes_256_gcm_sha384","s":"gcm_sha384","e":true,"k":"g","d":[380,381],"c":[]}]]}]]}]]}],["a",{"w":"tls_aes_","s":"aes_","e":false,"k":"a","d":[],"c":[["2",{"w":"tls_aes_256_gcm_sha384","s":"256_gcm_sha384","e":true,"k":"2","d":[380,381],"c":[]}],["1",{"w":"tls_aes_128_gcm_sha256","s":"128_gcm_sha256","e":true,"k":"1","d":[380,381],"c":[]}]]}],["c",{"w":"tls_chacha20_poly1305_sha256","s":"chacha20_poly1305_sha256","e":true,"k":"c","d":[380,381],"c":[]}]]}],["-",{"w":"tls-only","s":"-only","e":true,"k":"-","d":[644,1016],"c":[]}]]}],["a",{"w":"tla","s":"a","e":true,"k":"a","d":[2179],"c":[]}]]}],["c",{"w":"tc","s":"c","e":false,"k":"c","d":[],"c":[["p",{"w":"tcp","s":"p","e":true,"k":"p","d":[106,269,308,309,373,399,1388,1410,1803,1868,1909,1976],"c":[["-",{"w":"tcp-based","s":"-based","e":true,"k":"-","d":[283],"c":[]}],["k",{"w":"tcpkeepalive","s":"keepalive","e":true,"k":"k","d":[308,309],"c":[]}]]}],["n",{"w":"tcnative","s":"native","e":true,"k":"n","d":[2162],"c":[]}]]}],["x",{"w":"tx","s":"x","e":true,"k":"x","d":[1543],"c":[["n",{"w":"txn","s":"n","e":true,"k":"n","d":[114,194,245,248,249,252,253,2077,2104],"c":[["l",{"w":"txnlog","s":"log","e":true,"k":"l","d":[405],"c":[["s",{"w":"txnlogsizelimitinkb","s":"sizelimitinkb","e":true,"k":"s","d":[194],"c":[]}],["t",{"w":"txnlogtoolkit","s":"toolkit","e":true,"k":"t","d":[437,441],"c":[]}]]}]]}],["t",{"w":"txt","s":"t","e":true,"k":"t","d":[910],"c":[]}]]}],["u",{"w":"tu","s":"u","e":false,"k":"u","d":[],"c":[["r",{"w":"turn","s":"rn","e":true,"k":"r","d":[156,201,202,212,402,538,667,709,1227,1279],"c":[["e",{"w":"turned","s":"ed","e":true,"k":"e","d":[143,194,201,202,639],"c":[]}],["i",{"w":"turning","s":"ing","e":true,"k":"i","d":[267,291,313,385,1407],"c":[]}]]}],["n",{"w":"tun","s":"n","e":false,"k":"n","d":[],"c":[["i",{"w":"tuning","s":"ing","e":true,"k":"i","d":[161,171,1031],"c":[]}],["e",{"w":"tune","s":"e","e":true,"k":"e","d":[185,201,202,216,217,218,219,220,221,222],"c":[["d",{"w":"tuned","s":"d","e":true,"k":"d","d":[286],"c":[]}]]}],["a",{"w":"tunable","s":"able","e":true,"k":"a","d":[1670],"c":[]}]]}],["s",{"w":"tushar","s":"shar","e":true,"k":"s","d":[957],"c":[]}],["t",{"w":"tutorial","s":"torial","e":true,"k":"t","d":[1069,1078,1079,1088,1359],"c":[]}],["b",{"w":"tubemogul","s":"bemogul","e":true,"k":"b","d":[1618],"c":[]}]]}],["t",{"w":"ttl","s":"tl","e":true,"k":"t","d":[206,207,415,416,521,581,1291,1300,1323,1324,2045],"c":[]}],["b",{"w":"tbd","s":"bd","e":true,"k":"b","d":[363],"c":[]}],["1",{"w":"t1","s":"1","e":true,"k":"1","d":[924],"c":[]}],["2",{"w":"t2","s":"2","e":true,"k":"2","d":[925],"c":[]}],["3",{"w":"t3","s":"3","e":true,"k":"3","d":[926],"c":[]}],["4",{"w":"t4","s":"4","e":true,"k":"4","d":[927],"c":[]}],["5",{"w":"t5","s":"5","e":true,"k":"5","d":[928,930],"c":[]}]]}],["d",{"w":"d","s":"d","e":true,"k":"d","d":[204,637,690,691,692,729,731,1182,1731],"c":[["a",{"w":"da","s":"a","e":false,"k":"a","d":[],"c":[["t",{"w":"dat","s":"t","e":false,"k":"t","d":[],"c":[["a",{"w":"data","s":"a","e":true,"k":"a","d":[2,4,12,112,123,125,129,169,243,245,246,247,248,249,252,255,263,287,292,317,389,391,392,393,397,402,405,406,413,434,436,437,438,442,445,446,447,448,452,454,520,522,533,534,535,585,600,606,633,634,680,777,790,813,828,861,872,966,986,987,1029,1030,1034,1065,1066,1101,1127,1130,1146,1154,1160,1161,1193,1212,1235,1279,1289,1290,1291,1294,1304,1311,1313,1316,1317,1319,1327,1336,1340,1355,1367,1416,1426,1432,1433,1435,1447,1451,1503,1636,1637,1644,1651,1668,1670,1672,1674,1676,1692,1716,1718,1732,1740,1783,1786,1797,1799,1807,1808,1809,1823,1824,1826,1828,1846,1869,1908,1909,1962,1963,1964,1975,1982,2047,2060,2083,2092,2144,2175],"c":[["b",{"w":"datab","s":"b","e":false,"k":"b","d":[],"c":[["a",{"w":"database","s":"ase","e":true,"k":"a","d":[29,125,181,243,522,777,790,830,989,991,1317,1638,1659,1684,1694,1709,1737,1828,1829,1947,2049],"c":[["s",{"w":"databases","s":"s","e":true,"k":"s","d":[1073],"c":[]}]]}],["i",{"w":"databind","s":"ind","e":true,"k":"i","d":[2132,2173],"c":[]}]]}],["d",{"w":"datadir","s":"dir","e":true,"k":"d","d":[29,129,181,186,188,203,402,403,520,991,1945,1947,1952,2103],"c":[["_",{"w":"datadir_size","s":"_size","e":true,"k":"_","d":[115],"c":[]}]]}],["l",{"w":"datal","s":"l","e":false,"k":"l","d":[],"c":[["o",{"w":"datalogdir","s":"ogdir","e":true,"k":"o","d":[29,186,188,203,991,1982],"c":[]}],["e",{"w":"datalength","s":"ength","e":true,"k":"e","d":[1340],"c":[]}]]}],["t",{"w":"datatree","s":"tree","e":true,"k":"t","d":[243,245,775,788,2019],"c":[]}],["c",{"w":"datacenter","s":"center","e":true,"k":"c","d":[286,471,883],"c":[["s",{"w":"datacenters","s":"s","e":true,"k":"s","d":[883],"c":[]}]]}],["m",{"w":"datamonitor","s":"monitor","e":true,"k":"m","d":[1111,1116,1119,1130,1131,1132,1133,1134,1135,1137,1139,1142,1144,1147,1148],"c":[["l",{"w":"datamonitorlistener","s":"listener","e":true,"k":"l","d":[1132,1134,1138],"c":[]}]]}],["s",{"w":"datasets","s":"sets","e":true,"k":"s","d":[1692,1704],"c":[]}]]}],["e",{"w":"date","s":"e","e":true,"k":"e","d":[684,1973],"c":[]}]]}],["i",{"w":"daily","s":"ily","e":true,"k":"i","d":[15],"c":[]}],["e",{"w":"daemon","s":"emon","e":true,"k":"e","d":[2086],"c":[["t",{"w":"daemontools","s":"tools","e":true,"k":"t","d":[19],"c":[]}]]}],["y",{"w":"day","s":"y","e":true,"k":"y","d":[1237],"c":[["s",{"w":"days","s":"s","e":true,"k":"s","d":[204],"c":[]}],["-",{"w":"day-to-day","s":"-to-day","e":true,"k":"-","d":[541],"c":[]}]]}],["n",{"w":"dan","s":"n","e":false,"k":"n","d":[],"c":[["i",{"w":"daniele","s":"iele","e":true,"k":"i","d":[244],"c":[]}],["g",{"w":"dangerous","s":"gerous","e":true,"k":"g","d":[402,406],"c":[]}]]}],["s",{"w":"dashboard","s":"shboard","e":true,"k":"s","d":[829,830],"c":[]}]]}],["i",{"w":"di","s":"i","e":false,"k":"i","d":[],"c":[["r",{"w":"dir","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"direct","s":"ect","e":true,"k":"e","d":[186,239,414],"c":[["o",{"w":"director","s":"or","e":false,"k":"o","d":[],"c":[["y",{"w":"directory","s":"y","e":true,"k":"y","d":[2,4,12,26,112,115,169,188,292,402,405,406,438,439,442,443,447,448,449,520,522,970,1019,1034,1166,1167,1242,1243,1244,1304,1505,1509,1514,1531,1797,1807,1945,1960,1961,1975,1982,2032],"c":[]}],["i",{"w":"directories","s":"ies","e":true,"k":"i","d":[404,405,437,442,1167,1799],"c":[]}]]}],["l",{"w":"directly","s":"ly","e":true,"k":"l","d":[143,194,403,407,411,412,668,682,733,862,870,1035,1064,1477,1478],"c":[]}]]}],["s",{"w":"dirs","s":"s","e":true,"k":"s","d":[71,115,2103],"c":[]}]]}],["f",{"w":"diff","s":"ff","e":true,"k":"f","d":[242,2060,2104],"c":[["e",{"w":"differ","s":"er","e":true,"k":"e","d":[13,659,1213,1967],"c":[["e",{"w":"differen","s":"en","e":false,"k":"e","d":[],"c":[["t",{"w":"different","s":"t","e":true,"k":"t","d":[13,32,46,100,150,174,276,292,293,373,450,477,659,684,697,709,710,715,729,879,904,922,971,991,1035,1194,1282,1289,1364,1385,1401,1405,1416,1434,1435,1803,1816,1840,1903,1905,1913,1967,1982,2126],"c":[["l",{"w":"differently","s":"ly","e":true,"k":"l","d":[1384],"c":[]}]]}],["c",{"w":"difference","s":"ce","e":true,"k":"c","d":[729,1304],"c":[["s",{"w":"differences","s":"s","e":true,"k":"s","d":[1972],"c":[]}]]}]]}],["s",{"w":"differs","s":"s","e":true,"k":"s","d":[913],"c":[]}]]}],["i",{"w":"difficult","s":"icult","e":true,"k":"i","d":[1476],"c":[]}]]}],["s",{"w":"dis","s":"s","e":false,"k":"s","d":[],"c":[["k",{"w":"disk","s":"k","e":true,"k":"k","d":[48,121,174,194,205,243,249,259,809,980,1349,1411,1638,1828],"c":[]}],["a",{"w":"disa","s":"a","e":false,"k":"a","d":[],"c":[["b",{"w":"disabl","s":"bl","e":false,"k":"b","d":[],"c":[["e",{"w":"disable","s":"e","e":true,"k":"e","d":[159,179,193,205,239,258,269,316,400,431,653,677,755,967,1220,1224,1408,1419,2025,2094,2146],"c":[["d",{"w":"disabled","s":"d","e":true,"k":"d","d":[65,103,106,206,216,219,229,230,233,236,251,256,260,264,269,305,306,317,335,338,376,377,384,403,404,405,427,429,639,688,722,755,833,1237,1246,1324,2054],"c":[]}],["s",{"w":"disables","s":"s","e":true,"k":"s","d":[78,1238,1247],"c":[]}],["a",{"w":"disableautowatchreset","s":"autowatchreset","e":true,"k":"a","d":[1227],"c":[]}]]}],["i",{"w":"disabling","s":"ing","e":true,"k":"i","d":[169,305,306,353,400],"c":[]}]]}],["s",{"w":"disastrous","s":"strous","e":true,"k":"s","d":[981],"c":[["l",{"w":"disastrously","s":"ly","e":true,"k":"l","d":[980],"c":[]}]]}],["p",{"w":"disappear","s":"ppear","e":false,"k":"p","d":[],"c":[["s",{"w":"disappears","s":"s","e":true,"k":"s","d":[1129],"c":[]}],["i",{"w":"disappearing","s":"ing","e":true,"k":"i","d":[1136],"c":[]}]]}],["l",{"w":"disallow","s":"llow","e":true,"k":"l","d":[1154],"c":[]}]]}],["c",{"w":"disc","s":"c","e":false,"k":"c","d":[],"c":[["o",{"w":"disco","s":"o","e":false,"k":"o","d":[],"c":[["v",{"w":"discovery","s":"very","e":true,"k":"v","d":[138,1319,1629,1641,1656,1667,1695,1722,1731,1736,1741],"c":[]}],["n",{"w":"disconnect","s":"nnect","e":true,"k":"n","d":[312,1402,1405,1456],"c":[["i",{"w":"disconnecti","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"disconnecting","s":"ng","e":true,"k":"n","d":[272,687],"c":[]}],["o",{"w":"disconnection","s":"on","e":true,"k":"o","d":[419,1387],"c":[]}]]}],["s",{"w":"disconnects","s":"s","e":true,"k":"s","d":[419,1345,1400,1423],"c":[]}],["e",{"w":"disconnected","s":"ed","e":true,"k":"e","d":[872,1345,1383,1388,1393,1396,1401,1436,1456],"c":[]}]]}],["u",{"w":"discouraged","s":"uraged","e":true,"k":"u","d":[659],"c":[]}]]}],["u",{"w":"discuss","s":"uss","e":false,"k":"u","d":[],"c":[["e",{"w":"discussed","s":"ed","e":true,"k":"e","d":[256],"c":[]}],["i",{"w":"discussion","s":"ion","e":true,"k":"i","d":[1091,1361,1945],"c":[["s",{"w":"discussions","s":"s","e":true,"k":"s","d":[1353],"c":[]}]]}]]}],["a",{"w":"discard","s":"ard","e":true,"k":"a","d":[1887],"c":[["e",{"w":"discarded","s":"ed","e":true,"k":"e","d":[904,1887],"c":[]}]]}]]}],["t",{"w":"dist","s":"t","e":false,"k":"t","d":[],"c":[["i",{"w":"distin","s":"in","e":false,"k":"i","d":[],"c":[["g",{"w":"distinguishe","s":"guishe","e":false,"k":"g","d":[],"c":[["d",{"w":"distinguished","s":"d","e":true,"k":"d","d":[148],"c":[]}],["s",{"w":"distinguishes","s":"s","e":true,"k":"s","d":[655],"c":[]}]]}],["c",{"w":"distinct","s":"ct","e":true,"k":"c","d":[1978],"c":[["i",{"w":"distinction","s":"ion","e":true,"k":"i","d":[309,871],"c":[]}]]}]]}],["r",{"w":"distribut","s":"ribut","e":false,"k":"r","d":[],"c":[["i",{"w":"distribution","s":"ion","e":true,"k":"i","d":[1941,2039],"c":[["s",{"w":"distributions","s":"s","e":true,"k":"s","d":[402],"c":[]}]]}],["e",{"w":"distributed","s":"ed","e":true,"k":"e","d":[649,650,652,914,957,1073,1079,1101,1278,1304,1313,1351,1353,1360,1479,1503,1505,1507,1509,1542,1563,1628,1634,1637,1641,1643,1644,1649,1656,1668,1669,1670,1672,1676,1684,1685,1687,1688,1692,1693,1694,1697,1698,1704,1706,1710,1718,1724,1730,1732,1735,1740,1741,1784,1797,1798,1799,1800,1801,1871,1930],"c":[]}]]}],["s",{"w":"dists","s":"s","e":true,"k":"s","d":[2072],"c":[]}]]}],["j",{"w":"disjoint","s":"joint","e":true,"k":"j","d":[297,1913],"c":[]}],["p",{"w":"disp","s":"p","e":false,"k":"p","d":[],"c":[["l",{"w":"display","s":"lay","e":true,"k":"l","d":[1029,1306,1744,1768,1774,2151],"c":[["i",{"w":"displaying","s":"ing","e":true,"k":"i","d":[681],"c":[]}],["e",{"w":"displayed","s":"ed","e":true,"k":"e","d":[751,752],"c":[]}]]}],["a",{"w":"dispatch","s":"atch","e":true,"k":"a","d":[1239,1436],"c":[["e",{"w":"dispatched","s":"ed","e":true,"k":"e","d":[1450],"c":[]}]]}]]}],["r",{"w":"disruption","s":"ruption","e":true,"k":"r","d":[699,700],"c":[]}]]}],["g",{"w":"dig","s":"g","e":false,"k":"g","d":[],"c":[["e",{"w":"digest","s":"est","e":true,"k":"e","d":[76,114,243,249,252,253,254,255,256,257,279,316,317,318,325,327,597,985,1150,1156,1168,1172,1173,1198,1370],"c":[["s",{"w":"digests","s":"s","e":true,"k":"s","d":[114],"c":[]}],["a",{"w":"digesta","s":"a","e":false,"k":"a","d":[],"c":[["u",{"w":"digestauthenticationprovider","s":"uthenticationprovider","e":true,"k":"u","d":[316,317,318,860],"c":[]}],["l",{"w":"digestalg","s":"lg","e":true,"k":"l","d":[318],"c":[]}]]}],["-",{"w":"digest-md5","s":"-md5","e":true,"k":"-","d":[377,2054,2113],"c":[]}],["m",{"w":"digestmd5","s":"md5","e":true,"k":"m","d":[2088],"c":[]}]]}],["i",{"w":"digits","s":"its","e":true,"k":"i","d":[1320],"c":[]}]]}],["v",{"w":"div","s":"v","e":false,"k":"v","d":[],"c":[["i",{"w":"divided","s":"ided","e":true,"k":"i","d":[189,710,1223],"c":[]}],["e",{"w":"diverge","s":"erge","e":true,"k":"e","d":[1831],"c":[]}]]}],["d",{"w":"did","s":"d","e":true,"k":"d","d":[1718,1887,1964],"c":[["n",{"w":"didn't","s":"n't","e":true,"k":"n","d":[295],"c":[]}]]}],["a",{"w":"diagnostic","s":"agnostic","e":true,"k":"a","d":[1016],"c":[]}],["e",{"w":"die","s":"e","e":true,"k":"e","d":[1979],"c":[["s",{"w":"dies","s":"s","e":true,"k":"s","d":[1690,1717],"c":[]}]]}]]}],["e",{"w":"de","s":"e","e":false,"k":"e","d":[],"c":[["b",{"w":"debug","s":"bug","e":true,"k":"b","d":[5,172,418,1246,1276,1520,1921,1922],"c":[["g",{"w":"debugging","s":"ging","e":true,"k":"g","d":[419,1921],"c":[]}]]}],["f",{"w":"def","s":"f","e":false,"k":"f","d":[],"c":[["a",{"w":"default","s":"ault","e":true,"k":"a","d":[13,25,26,31,35,37,38,39,40,100,102,103,125,129,144,189,190,191,192,193,194,195,196,197,201,202,204,205,206,209,210,211,212,213,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,240,241,242,258,260,263,264,265,266,267,269,270,271,272,273,274,283,289,298,303,304,305,306,307,309,310,313,316,317,318,328,335,338,342,345,348,349,350,351,352,353,354,355,356,357,362,364,365,366,367,369,370,371,372,373,378,379,384,385,389,393,396,398,400,402,406,408,409,410,411,412,413,414,415,416,417,419,420,431,442,639,645,649,653,675,747,752,754,755,812,829,833,854,880,913,1022,1023,1063,1133,1220,1221,1223,1225,1226,1227,1229,1234,1235,1236,1237,1238,1246,1247,1248,1249,1251,1324,1396,1911,1950,1976,1982,2094],"c":[["s",{"w":"defaults","s":"s","e":true,"k":"s","d":[36,129,198,199,200,203,204,275,288,308,309,311,312,351,382,422,423,424,425,427,429,432,433,434,435,644],"c":[]}]]}],["i",{"w":"defin","s":"in","e":false,"k":"i","d":[],"c":[["e",{"w":"define","s":"e","e":true,"k":"e","d":[206,208,814,1328,1507],"c":[["d",{"w":"defined","s":"d","e":true,"k":"d","d":[117,133,177,229,231,810,1133,1135,1156,1262,1371],"c":[]}],["s",{"w":"defines","s":"s","e":true,"k":"s","d":[216,217,218,219,220,221,222,298],"c":[]}]]}],["i",{"w":"defini","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"defining","s":"ng","e":true,"k":"n","d":[818],"c":[]}],["t",{"w":"definition","s":"tion","e":true,"k":"t","d":[876,1132,1432],"c":[["s",{"w":"definitions","s":"s","e":true,"k":"s","d":[1645,1851],"c":[]}]]}]]}]]}]]}],["t",{"w":"det","s":"t","e":false,"k":"t","d":[],"c":[["a",{"w":"detail","s":"ail","e":true,"k":"a","d":[1950],"c":[["s",{"w":"details","s":"s","e":true,"k":"s","d":[14,58,59,60,61,64,65,67,68,112,118,127,130,232,384,452,455,524,594,676,699,747,756,781,831,950,1058,1262,1278,1287,1324,1398,1438,1445,1952,1980,2071],"c":[]}],["i",{"w":"detailing","s":"ing","e":true,"k":"i","d":[51],"c":[]}],["e",{"w":"detailed","s":"ed","e":true,"k":"e","d":[70,72,636,834,1028,1388],"c":[]}]]}],["e",{"w":"dete","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"determine","s":"rmine","e":true,"k":"r","d":[517,680,942,1222,1224,1349,1366,1369,1388,1485],"c":[["d",{"w":"determined","s":"d","e":true,"k":"d","d":[191,193,1384],"c":[]}],["s",{"w":"determines","s":"s","e":true,"k":"s","d":[201,214,215,230,292,316,404,1367],"c":[]}]]}],["c",{"w":"detect","s":"ct","e":true,"k":"c","d":[243,249,328,345,348,697,919,920,943,1234,1286,1397,1545,1676],"c":[["e",{"w":"detected","s":"ed","e":true,"k":"e","d":[406],"c":[]}],["i",{"w":"detecti","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"detection","s":"on","e":true,"k":"o","d":[704,883,1678,1707],"c":[]}],["n",{"w":"detecting","s":"ng","e":true,"k":"n","d":[1545],"c":[]}]]}],["o",{"w":"detector","s":"or","e":true,"k":"o","d":[897,905,906,910,936],"c":[["'",{"w":"detector's","s":"'s","e":true,"k":"'","d":[941],"c":[]}],["s",{"w":"detectors","s":"s","e":true,"k":"s","d":[957],"c":[]}]]}],["s",{"w":"detects","s":"s","e":true,"k":"s","d":[1401,1478],"c":[]}]]}]]}]]}],["l",{"w":"del","s":"l","e":false,"k":"l","d":[],"c":[["e",{"w":"dele","s":"e","e":false,"k":"e","d":[],"c":[["t",{"w":"delet","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"delete","s":"e","e":true,"k":"e","d":[29,247,551,582,583,584,844,850,970,975,1104,1162,1164,1165,1166,1180,1191,1311,1388,1435,1493,1497,1501,1516,1541,1821,1954,1965],"c":[["d",{"w":"deleted","s":"d","e":true,"k":"d","d":[15,406,416,417,522,580,862,1026,1030,1146,1318,1321,1323,1345,1433,1435,1436,1440,1455,1537,1541,1682,1689,1810],"c":[]}],["s",{"w":"deletes","s":"s","e":true,"k":"s","d":[203,452,1100,1821],"c":[]}],["a",{"w":"deleteall","s":"all","e":true,"k":"a","d":[552],"c":[]}],["r",{"w":"deleterecursive","s":"recursive","e":true,"k":"r","d":[2131],"c":[]}],["i",{"w":"deleteinbatch","s":"inbatch","e":true,"k":"i","d":[2180],"c":[]}]]}],["i",{"w":"deleti","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"deletion","s":"on","e":true,"k":"o","d":[416,1455,1502,1555],"c":[]}],["n",{"w":"deleting","s":"ng","e":true,"k":"n","d":[962],"c":[]}]]}]]}],["g",{"w":"delegate","s":"gate","e":true,"k":"g","d":[1133],"c":[["d",{"w":"delegated","s":"d","e":true,"k":"d","d":[676],"c":[]}]]}]]}],["i",{"w":"deli","s":"i","e":false,"k":"i","d":[],"c":[["v",{"w":"deliver","s":"ver","e":true,"k":"v","d":[1676,1902],"c":[["y",{"w":"delivery","s":"y","e":true,"k":"y","d":[93,1830,1846,1864,1868,1869,1880],"c":[]}],["e",{"w":"delivered","s":"ed","e":true,"k":"e","d":[333,337,1725,1864,1865,1866,1869,1875,1876],"c":[]}],["i",{"w":"delivering","s":"ing","e":true,"k":"i","d":[1676,1694],"c":[]}]]}],["b",{"w":"deliberately","s":"berately","e":true,"k":"b","d":[1832],"c":[]}]]}],["a",{"w":"delay","s":"ay","e":true,"k":"a","d":[229,271,312,413,414],"c":[["m",{"w":"delayms","s":"ms","e":true,"k":"m","d":[312],"c":[]}],["s",{"w":"delays","s":"s","e":true,"k":"s","d":[538,1289,1434],"c":[]}],["e",{"w":"delayed","s":"ed","e":true,"k":"e","d":[1401],"c":[]}]]}],["q",{"w":"delquota","s":"quota","e":true,"k":"q","d":[553,975],"c":[]}],["t",{"w":"delta","s":"ta","e":true,"k":"t","d":[1030],"c":[]}]]}],["s",{"w":"des","s":"s","e":false,"k":"s","d":[],"c":[["i",{"w":"desi","s":"i","e":false,"k":"i","d":[],"c":[["g",{"w":"design","s":"gn","e":true,"k":"g","d":[273,906,1111,1114,1131,1214,1785,1819,1849],"c":[["e",{"w":"designed","s":"ed","e":true,"k":"e","d":[18,174,282,393,905,907,908,980,1134,1235,1279,1317,1475,1668,1676,1704,1797,1799,1807,1833],"c":[]}],["i",{"w":"designing","s":"ing","e":true,"k":"i","d":[464],"c":[]}],["a",{"w":"designat","s":"at","e":false,"k":"a","d":[],"c":[["e",{"w":"designate","s":"e","e":true,"k":"e","d":[1503],"c":[["s",{"w":"designates","s":"s","e":true,"k":"s","d":[1167],"c":[]}],["d",{"w":"designated","s":"d","e":true,"k":"d","d":[1886],"c":[]}]]}],["i",{"w":"designating","s":"ing","e":true,"k":"i","d":[1479],"c":[]}]]}]]}],["r",{"w":"desired","s":"red","e":true,"k":"r","d":[331],"c":[]}]]}],["c",{"w":"desc","s":"c","e":false,"k":"c","d":[],"c":[["r",{"w":"descri","s":"ri","e":false,"k":"r","d":[],"c":[["b",{"w":"describ","s":"b","e":false,"k":"b","d":[],"c":[["e",{"w":"describe","s":"e","e":true,"k":"e","d":[1211],"c":[["d",{"w":"described","s":"d","e":true,"k":"d","d":[59,100,155,310,659,665,709,912,1131,1443,1545,1683],"c":[]}],["s",{"w":"describes","s":"s","e":true,"k":"s","d":[146,437,477,1363,1426],"c":[]}]]}],["i",{"w":"describing","s":"ing","e":true,"k":"i","d":[1872],"c":[]}]]}],["p",{"w":"descript","s":"pt","e":false,"k":"p","d":[],"c":[["i",{"w":"description","s":"ion","e":true,"k":"i","d":[118,127,636,759,784],"c":[]}],["o",{"w":"descriptor","s":"or","e":true,"k":"o","d":[196],"c":[]}]]}]]}],["e",{"w":"descendant","s":"endant","e":true,"k":"e","d":[587,1032],"c":[["s",{"w":"descendants","s":"s","e":true,"k":"s","d":[583],"c":[]}]]}]]}],["e",{"w":"deserializ","s":"erializ","e":false,"k":"e","d":[],"c":[["i",{"w":"deserializing","s":"ing","e":true,"k":"i","d":[255,279],"c":[]}],["e",{"w":"deserialize","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"deserializes","s":"s","e":true,"k":"s","d":[275],"c":[]}],["d",{"w":"deserialized","s":"d","e":true,"k":"d","d":[280],"c":[]}]]}]]}],["p",{"w":"despite","s":"pite","e":true,"k":"p","d":[271,1845],"c":[]}],["t",{"w":"destination","s":"tination","e":true,"k":"t","d":[373,399],"c":[]}],["y",{"w":"desynchronization","s":"ynchronization","e":true,"k":"y","d":[2087],"c":[]}]]}],["p",{"w":"dep","s":"p","e":false,"k":"p","d":[],"c":[["l",{"w":"deploy","s":"loy","e":true,"k":"l","d":[510],"c":[["i",{"w":"deploying","s":"ing","e":true,"k":"i","d":[42,49,51,282,467,541],"c":[]}],["m",{"w":"deployment","s":"ment","e":true,"k":"m","d":[49,456,457,464,525,530,532,890,1384,1420,1633,1645,1723,1741,1838,2039],"c":[["s",{"w":"deployments","s":"s","e":true,"k":"s","d":[1913,1939],"c":[]}]]}],["e",{"w":"deployed","s":"ed","e":true,"k":"e","d":[454,509,531,1645],"c":[]}]]}],["r",{"w":"deprecat","s":"recat","e":false,"k":"r","d":[],"c":[["e",{"w":"deprecate","s":"e","e":true,"k":"e","d":[2031],"c":[["d",{"w":"deprecated","s":"d","e":true,"k":"d","d":[59,285,318,652,741],"c":[]}]]}],["i",{"w":"deprecation","s":"ion","e":true,"k":"i","d":[2030],"c":[]}]]}],["e",{"w":"depend","s":"end","e":true,"k":"e","d":[454],"c":[["i",{"w":"depending","s":"ing","e":true,"k":"i","d":[70,72,113,116,130,135,136,305,349,729,753,1289,1424,1950],"c":[]}],["e",{"w":"dependen","s":"en","e":false,"k":"e","d":[],"c":[["c",{"w":"dependenc","s":"c","e":false,"k":"c","d":[],"c":[["y",{"w":"dependency","s":"y","e":true,"k":"y","d":[105,537,2096,2143],"c":[]}],["i",{"w":"dependencies","s":"ies","e":true,"k":"i","d":[1770,2038],"c":[]}]]}],["t",{"w":"dependent","s":"t","e":true,"k":"t","d":[379],"c":[]}]]}],["s",{"w":"depends","s":"s","e":true,"k":"s","d":[718,1416,1685],"c":[]}]]}],["t",{"w":"depth","s":"th","e":true,"k":"t","d":[1041,1042,1045,1046,1047],"c":[]}]]}],["d",{"w":"dedicat","s":"dicat","e":false,"k":"d","d":[],"c":[["e",{"w":"dedicated","s":"ed","e":true,"k":"e","d":[47,183,186,188,409,442,509,520,538,942,943,1348,1834,1982],"c":[]}],["i",{"w":"dedicating","s":"ing","e":true,"k":"i","d":[188],"c":[]}]]}],["v",{"w":"dev","s":"v","e":true,"k":"v","d":[829,1625,1626,2167],"c":[["i",{"w":"device","s":"ice","e":true,"k":"i","d":[47,183,186,188,538,900,942,944,946,950,952,955,1348,1834],"c":[["s",{"w":"devices","s":"s","e":true,"k":"s","d":[442,944],"c":[]}]]}],["e",{"w":"develop","s":"elop","e":true,"k":"e","d":[1120,1655],"c":[["m",{"w":"development","s":"ment","e":true,"k":"m","d":[450,471,484,485,486,487,489,490,494,495,499,500,504,505,526,781,1644,1721,1833,1951,1968],"c":[]}],["e",{"w":"develope","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"developer","s":"r","e":true,"k":"r","d":[457,463,470,1258,1261,1859],"c":[["s",{"w":"developers","s":"s","e":true,"k":"s","d":[1240,1289,1343,1351,1356,1642,1847,1939],"c":[]}]]}],["d",{"w":"developed","s":"d","e":true,"k":"d","d":[1627],"c":[]}]]}],["i",{"w":"developing","s":"ing","e":true,"k":"i","d":[1263],"c":[]}]]}]]}],["a",{"w":"dea","s":"a","e":false,"k":"a","d":[],"c":[["t",{"w":"death","s":"th","e":true,"k":"t","d":[48],"c":[]}],["d",{"w":"dead","s":"d","e":true,"k":"d","d":[209,210,211,212,1397],"c":[["l",{"w":"deadlock","s":"lock","e":true,"k":"l","d":[1798,2079,2131],"c":[]}]]}],["l",{"w":"deal","s":"l","e":true,"k":"l","d":[1192,1731],"c":[["i",{"w":"dealing","s":"ing","e":true,"k":"i","d":[882,1317],"c":[]}]]}]]}],["c",{"w":"dec","s":"c","e":false,"k":"c","d":[],"c":[["i",{"w":"deci","s":"i","e":false,"k":"i","d":[],"c":[["m",{"w":"decimal","s":"mal","e":true,"k":"m","d":[77,100],"c":[]}],["d",{"w":"decide","s":"de","e":true,"k":"d","d":[209,210,213,1105,1133,1543,1544],"c":[["s",{"w":"decides","s":"s","e":true,"k":"s","d":[1135,1136,1405],"c":[]}]]}],["s",{"w":"decision","s":"sion","e":true,"k":"s","d":[906,1402,1405,1546],"c":[["s",{"w":"decisions","s":"s","e":true,"k":"s","d":[934],"c":[]}]]}]]}],["r",{"w":"decreas","s":"reas","e":false,"k":"r","d":[],"c":[["e",{"w":"decrease","s":"e","e":true,"k":"e","d":[221,222],"c":[["d",{"w":"decreased","s":"d","e":true,"k":"d","d":[221,1402],"c":[]}],["s",{"w":"decreases","s":"s","e":true,"k":"s","d":[442],"c":[]}]]}],["i",{"w":"decreasing","s":"ing","e":true,"k":"i","d":[1917],"c":[]}]]}],["o",{"w":"decompression","s":"ompression","e":true,"k":"o","d":[1035],"c":[]}],["l",{"w":"declar","s":"lar","e":false,"k":"l","d":[],"c":[["e",{"w":"declare","s":"e","e":true,"k":"e","d":[1090],"c":[]}],["a",{"w":"declaration","s":"ation","e":true,"k":"a","d":[2186],"c":[]}]]}]]}],["g",{"w":"degrad","s":"grad","e":false,"k":"g","d":[],"c":[["e",{"w":"degrade","s":"e","e":true,"k":"e","d":[517,1349],"c":[["d",{"w":"degraded","s":"d","e":true,"k":"d","d":[194],"c":[]}]]}],["a",{"w":"degradation","s":"ation","e":true,"k":"a","d":[537],"c":[]}]]}],["n",{"w":"deny","s":"ny","e":true,"k":"n","d":[911],"c":[]}],["m",{"w":"demonstrat","s":"monstrat","e":false,"k":"m","d":[],"c":[["e",{"w":"demonstrate","s":"e","e":true,"k":"e","d":[945,1106,1271],"c":[]}],["i",{"w":"demonstrating","s":"ing","e":true,"k":"i","d":[1079],"c":[]}]]}],["e",{"w":"deep","s":"ep","e":false,"k":"e","d":[],"c":[["a",{"w":"deepak","s":"ak","e":true,"k":"a","d":[957],"c":[]}],["d",{"w":"deepdyve","s":"dyve","e":true,"k":"d","d":[1610],"c":[]}]]}],["r",{"w":"derived","s":"rived","e":true,"k":"r","d":[1223],"c":[]}]]}],["u",{"w":"du","s":"u","e":false,"k":"u","d":[],"c":[["r",{"w":"dur","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"during","s":"ing","e":true,"k":"i","d":[12,121,238,254,256,263,295,312,369,370,372,400,416,448,513,633,634,655,662,665,667,680,704,731,748,938,1072,1215,1227,1382,1387,1417,1885,1889,1896,2074,2104],"c":[]}],["a",{"w":"durability","s":"ability","e":true,"k":"a","d":[537],"c":[]}]]}],["m",{"w":"dump","s":"mp","e":true,"k":"m","d":[20,63,116,1021,1028],"c":[["e",{"w":"dumped","s":"ed","e":true,"k":"e","d":[419],"c":[]}],["s",{"w":"dumps","s":"s","e":true,"k":"s","d":[1022],"c":[]}]]}],["e",{"w":"due","s":"e","e":true,"k":"e","d":[189,206,207,257,268,521,980,1091,1279,1289,1900,2024,2049,2065,2104,2171],"c":[]}],["a",{"w":"dual","s":"al","e":true,"k":"a","d":[1237,1834],"c":[["-",{"w":"dual-core","s":"-core","e":true,"k":"-","d":[509],"c":[]}]]}],["p",{"w":"duplicate","s":"plicate","e":true,"k":"p","d":[1319,1905],"c":[["s",{"w":"duplicates","s":"s","e":true,"k":"s","d":[1371],"c":[]}]]}],["b",{"w":"dubbo","s":"bbo","e":true,"k":"b","d":[1587,1666,1667,1749],"c":[["-",{"w":"dubbo-zk","s":"-zk","e":true,"k":"-","d":[1749],"c":[]}]]}],["t",{"w":"duties","s":"ties","e":true,"k":"t","d":[1700],"c":[]}]]}],["o",{"w":"do","s":"o","e":true,"k":"o","d":[48,158,159,295,331,404,411,417,510,537,539,604,655,666,678,694,871,872,1133,1146,1165,1215,1216,1248,1249,1254,1316,1319,1365,1401,1472,1501,1510,1541,1560,1625,1723,1730,1809,1834,1881,1904,1905,1946,2045,2083,2088,2163],"c":[["c",{"w":"doc","s":"c","e":true,"k":"c","d":[2105],"c":[["s",{"w":"docs","s":"s","e":true,"k":"s","d":[14,1251,1746,1750,1757,1767,1770,1772,1773,1777,1779],"c":[]}],["u",{"w":"document","s":"ument","e":true,"k":"u","d":[17,524,541,636,746,747,902,1251,1351,1355,1849,1929,1939,2070],"c":[["e",{"w":"documented","s":"ed","e":true,"k":"e","d":[100],"c":[]}],["a",{"w":"documentation","s":"ation","e":true,"k":"a","d":[364,824,1251,1262,1313,1356,1398,1626,1753,1783],"c":[]}],["s",{"w":"documents","s":"s","e":true,"k":"s","d":[1205],"c":[]}]]}],["k",{"w":"docker","s":"ker","e":true,"k":"k","d":[2167],"c":[["i",{"w":"dockerized","s":"ized","e":true,"k":"i","d":[1074],"c":[]}]]}]]}],["w",{"w":"dow","s":"w","e":false,"k":"w","d":[],"c":[["n",{"w":"down","s":"n","e":true,"k":"n","d":[18,212,238,270,285,304,342,406,513,514,536,666,667,687,699,706,1130,1133,1135,1136,1148,1218,1549,1700,1951,2082],"c":[["t",{"w":"downtime","s":"time","e":true,"k":"t","d":[142,154],"c":[]}],["g",{"w":"downgrade","s":"grade","e":true,"k":"g","d":[251,384],"c":[]}],["l",{"w":"download","s":"load","e":true,"k":"l","d":[516,820,829,830,1932,1941],"c":[["s",{"w":"downloads","s":"s","e":true,"k":"s","d":[516],"c":[]}],["e",{"w":"downloaded","s":"ed","e":true,"k":"e","d":[518,1241,1943],"c":[]}]]}]]}],["e",{"w":"dowell","s":"ell","e":true,"k":"e","d":[1760],"c":[]}]]}],["e",{"w":"does","s":"es","e":true,"k":"e","d":[19,47,65,126,229,231,386,402,405,450,634,671,690,731,861,919,920,1023,1097,1098,1105,1132,1133,1144,1154,1155,1217,1262,1289,1353,1388,1410,1433,1443,1503,1540,1874,1881,1896,1903,1908],"c":[["n",{"w":"doesn","s":"n","e":true,"k":"n","d":[1167],"c":[["'",{"w":"doesn't","s":"'t","e":true,"k":"'","d":[150,213,268,288,385,684,968,1102,1146,1167,1289,1309,1311,1329,1348,1407,1882,2178],"c":[]}]]}]]}],["n",{"w":"don","s":"n","e":true,"k":"n","d":[1731],"c":[["'",{"w":"don't","s":"'t","e":true,"k":"'","d":[48,210,211,307,352,385,687,1142,1306,1895,2139,2141],"c":[]}],["e",{"w":"done","s":"e","e":true,"k":"e","d":[194,195,273,402,634,666,689,1173,1214,1365,1433,1544,1898,1967],"c":[]}]]}],["u",{"w":"double","s":"uble","e":true,"k":"u","d":[1463,1484],"c":[["-",{"w":"double-check","s":"-check","e":true,"k":"-","d":[157],"c":[]}]]}],["s",{"w":"dos","s":"s","e":true,"k":"s","d":[195,196],"c":[["g",{"w":"dosgi","s":"gi","e":true,"k":"g","d":[1584],"c":[["-",{"w":"dosgi-discovery-demo-page","s":"-discovery-demo-page","e":true,"k":"-","d":[1747],"c":[]}]]}]]}],["i",{"w":"doi","s":"i","e":true,"k":"i","d":[957],"c":[["n",{"w":"doing","s":"ng","e":true,"k":"n","d":[243,341,689,1548,1718,1742],"c":[]}]]}],["m",{"w":"domain","s":"main","e":true,"k":"m","d":[908,1224],"c":[]}],["x",{"w":"doxygen","s":"xygen","e":true,"k":"x","d":[1251,1262],"c":[["-",{"w":"doxygen-doc","s":"-doc","e":true,"k":"-","d":[1251],"c":[]}]]}]]}],["b",{"w":"db","s":"b","e":true,"k":"b","d":[170,406,407],"c":[]}],["y",{"w":"dynamic","s":"ynamic","e":true,"k":"y","d":[176,305,594,609,610,616,621,624,625,634,637,639,653,655,656,658,659,662,665,675,678,679,685,713,714,1731,2147],"c":[["a",{"w":"dynamically","s":"ally","e":true,"k":"a","d":[634,651,730,755],"c":[]}],["c",{"w":"dynamicconfigfile","s":"configfile","e":true,"k":"c","d":[656],"c":[]}],["-",{"w":"dynamic-configuration-at-twitter","s":"-configuration-at-twitter","e":true,"k":"-","d":[1759],"c":[]}]]}],["r",{"w":"dr","s":"r","e":false,"k":"r","d":[],"c":[["o",{"w":"drop","s":"op","e":true,"k":"o","d":[235,269,1071,1072,1403,1663,2030],"c":[["p",{"w":"dropp","s":"p","e":false,"k":"p","d":[],"c":[["i",{"w":"dropping","s":"ing","e":true,"k":"i","d":[216,217,218,219,220,221,222,269,1845],"c":[]}],["e",{"w":"dropped","s":"ed","e":true,"k":"e","d":[296,705,1402,1404],"c":[]}]]}],["s",{"w":"drops","s":"s","e":true,"k":"s","d":[870],"c":[]}],["-",{"w":"drop-in","s":"-in","e":true,"k":"-","d":[1636],"c":[]}]]}],["a",{"w":"dra","s":"a","e":false,"k":"a","d":[],"c":[["i",{"w":"drain","s":"in","e":true,"k":"i","d":[238],"c":[]}],["w",{"w":"drawbacks","s":"wbacks","e":true,"k":"w","d":[1545],"c":[]}]]}],["i",{"w":"dri","s":"i","e":false,"k":"i","d":[],"c":[["v",{"w":"drive","s":"ve","e":true,"k":"v","d":[1834],"c":[["s",{"w":"drives","s":"s","e":true,"k":"s","d":[509,1834],"c":[]}],["n",{"w":"driven","s":"n","e":true,"k":"n","d":[1139,1239],"c":[]}],["r",{"w":"driver","s":"r","e":true,"k":"r","d":[1692],"c":[["s",{"w":"drivers","s":"s","e":true,"k":"s","d":[1707],"c":[]}]]}]]}],["l",{"w":"drill","s":"ll","e":true,"k":"l","d":[1585],"c":[["b",{"w":"drillbits","s":"bits","e":true,"k":"b","d":[1658],"c":[]}]]}]]}],["u",{"w":"druid","s":"uid","e":true,"k":"u","d":[1586,1659,1660,1770],"c":[]}]]}],["n",{"w":"dns","s":"ns","e":true,"k":"n","d":[310,355,1225,1237,1238,2025,2099,2148],"c":[["s",{"w":"dnssrv","s":"srv","e":false,"k":"s","d":[],"c":[["r",{"w":"dnssrvrefreshintervalseconds","s":"refreshintervalseconds","e":true,"k":"r","d":[1238],"c":[]}],["h",{"w":"dnssrvhostprovider","s":"hostprovider","e":true,"k":"h","d":[1238],"c":[]}]]}]]}],["'",{"w":"d's","s":"'s","e":true,"k":"'","d":[690,691],"c":[]}]]}],["s",{"w":"s","s":"s","e":true,"k":"s","d":[204,247,248,250,1052,1177,1178,1198,1200,1424,1644,1682,1700,1717,1731,1736,1737,1738,1739],"c":[["u",{"w":"su","s":"u","e":false,"k":"u","d":[],"c":[["p",{"w":"sup","s":"p","e":false,"k":"p","d":[],"c":[["e",{"w":"super","s":"er","e":true,"k":"e","d":[305,317,329,330,597,675],"c":[["v",{"w":"supervis","s":"vis","e":false,"k":"v","d":[],"c":[["i",{"w":"supervision","s":"ion","e":true,"k":"i","d":[2,6],"c":[]}],["o",{"w":"supervisory","s":"ory","e":true,"k":"o","d":[18,19],"c":[]}]]}],["d",{"w":"superdigest","s":"digest","e":true,"k":"d","d":[317,326],"c":[]}],["u",{"w":"superuser","s":"user","e":true,"k":"u","d":[329,330,675],"c":[]}],["c",{"w":"superclass","s":"class","e":true,"k":"c","d":[913],"c":[]}]]}],["p",{"w":"supp","s":"p","e":false,"k":"p","d":[],"c":[["o",{"w":"suppo","s":"o","e":false,"k":"o","d":[],"c":[["r",{"w":"support","s":"rt","e":true,"k":"r","d":[51,143,204,207,208,295,315,320,384,405,460,477,508,610,634,745,747,748,828,1144,1167,1219,1240,1247,1366,1472,1627,1682,1693,1722,1740,1915,2042,2092,2126,2153,2156,2168,2189],"c":[["e",{"w":"supported","s":"ed","e":true,"k":"e","d":[25,151,204,207,355,364,384,414,457,459,472,491,492,496,497,501,502,506,507,508,509,663,985,1005,1035,2102],"c":[]}],["s",{"w":"supports","s":"s","e":true,"k":"s","d":[677,710,747,813,833,973,1133,1156,1158,1213,1245,1650,1671,1811,1819],"c":[]}],["i",{"w":"supporting","s":"ing","e":true,"k":"i","d":[880,1704],"c":[]}]]}],["s",{"w":"suppose","s":"se","e":true,"k":"s","d":[729,731,910,918,923,935,942,943,1092,1404],"c":[["d",{"w":"supposed","s":"d","e":true,"k":"d","d":[1420,2058],"c":[]}]]}]]}],["l",{"w":"suppl","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"supplie","s":"ie","e":false,"k":"i","d":[],"c":[["r",{"w":"supplier","s":"r","e":true,"k":"r","d":[352],"c":[]}],["s",{"w":"supplies","s":"s","e":true,"k":"s","d":[1311],"c":[]}]]}],["y",{"w":"supply","s":"y","e":true,"k":"y","d":[1311],"c":[]}]]}],["r",{"w":"suppress","s":"ress","e":true,"k":"r","d":[2172,2194],"c":[["w",{"w":"suppresswarnings","s":"warnings","e":true,"k":"w","d":[2030],"c":[]}]]}]]}]]}],["c",{"w":"suc","s":"c","e":false,"k":"c","d":[],"c":[["h",{"w":"such","s":"h","e":true,"k":"h","d":[19,29,127,197,206,298,305,310,333,337,402,454,471,521,677,768,777,780,790,793,880,980,981,1099,1133,1214,1237,1287,1317,1321,1328,1370,1371,1382,1411,1458,1473,1475,1501,1541,1548,1554,1558,1655,1686,1713,1735,1798,1804,1813,1832,1834,1867,1904,1912,1913,1923,1976],"c":[]}],["c",{"w":"succe","s":"ce","e":false,"k":"c","d":[],"c":[["s",{"w":"success","s":"ss","e":true,"k":"s","d":[852],"c":[["f",{"w":"successful","s":"ful","e":true,"k":"f","d":[355,1271,1276,1284,1285,1434,1435,1445],"c":[["l",{"w":"successfully","s":"ly","e":true,"k":"l","d":[255,279,679,1398,1846],"c":[]}]]}]]}],["e",{"w":"succeed","s":"ed","e":true,"k":"e","d":[1281,1815],"c":[["s",{"w":"succeeds","s":"s","e":true,"k":"s","d":[695,718,1476,1683],"c":[]}],["i",{"w":"succeeding","s":"ing","e":true,"k":"i","d":[1521],"c":[]}]]}]]}]]}],["r",{"w":"sur","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"sure","s":"e","e":true,"k":"e","d":[29,48,188,213,355,517,1243,1254,1346,1525,1526,1700],"c":[]}],["v",{"w":"surv","s":"v","e":false,"k":"v","d":[],"c":[["e",{"w":"surveys","s":"eys","e":true,"k":"e","d":[1261],"c":[]}],["i",{"w":"survive","s":"ive","e":true,"k":"i","d":[1346],"c":[]}]]}]]}],["m",{"w":"sum","s":"m","e":true,"k":"m","d":[1912,1913],"c":[["m",{"w":"summ","s":"m","e":false,"k":"m","d":[],"c":[["a",{"w":"summar","s":"ar","e":false,"k":"a","d":[],"c":[["y",{"w":"summary","s":"y","e":true,"k":"y","d":[38,39,1854],"c":[]}],["i",{"w":"summari","s":"i","e":false,"k":"i","d":[],"c":[["e",{"w":"summaries","s":"es","e":true,"k":"e","d":[123],"c":[]}],["z",{"w":"summarized","s":"zed","e":true,"k":"z","d":[137],"c":[]}]]}]]}],["i",{"w":"summit","s":"it","e":true,"k":"i","d":[637,1358],"c":[]}]]}]]}],["b",{"w":"sub","s":"b","e":false,"k":"b","d":[],"c":[["s",{"w":"subs","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"subse","s":"e","e":false,"k":"e","d":[],"c":[["t",{"w":"subset","s":"t","e":true,"k":"t","d":[46,131,448,1347],"c":[["s",{"w":"subsets","s":"s","e":true,"k":"s","d":[1913],"c":[]}]]}],["q",{"w":"subsequent","s":"quent","e":true,"k":"q","d":[1090,1804],"c":[["l",{"w":"subsequently","s":"ly","e":true,"k":"l","d":[1415,1540],"c":[]}]]}]]}],["y",{"w":"subsystem","s":"ystem","e":true,"k":"y","d":[408],"c":[["s",{"w":"subsystems","s":"s","e":true,"k":"s","d":[408,409],"c":[]}]]}],["c",{"w":"subscribe","s":"cribe","e":true,"k":"c","d":[733,1698],"c":[]}],["t",{"w":"substantially","s":"tantially","e":true,"k":"t","d":[1845],"c":[]}]]}],["m",{"w":"submit","s":"mit","e":true,"k":"m","d":[189,1625,1658,1829],"c":[]}],["c",{"w":"subclass","s":"class","e":true,"k":"c","d":[331,771,774],"c":[]}],["j",{"w":"subject","s":"ject","e":true,"k":"j","d":[355,1304,1346],"c":[]}],["t",{"w":"subt","s":"t","e":false,"k":"t","d":[],"c":[["l",{"w":"subtle","s":"le","e":true,"k":"l","d":[731],"c":[]}],["r",{"w":"subtree","s":"ree","e":true,"k":"r","d":[1043,1048],"c":[]}]]}],["f",{"w":"subfolder","s":"folder","e":true,"k":"f","d":[1251],"c":[]}],["-",{"w":"sub-task","s":"-task","e":true,"k":"-","d":[1986,2004,2012],"c":[]}]]}],["i",{"w":"suit","s":"it","e":false,"k":"i","d":[],"c":[["a",{"w":"suitable","s":"able","e":true,"k":"a","d":[148,912],"c":[]}],["e",{"w":"suites","s":"es","e":true,"k":"e","d":[166,351],"c":[]}]]}],["f",{"w":"suff","s":"ff","e":false,"k":"f","d":[],"c":[["i",{"w":"suffi","s":"i","e":false,"k":"i","d":[],"c":[["x",{"w":"suffix","s":"x","e":true,"k":"x","d":[204,330,448,449,762,765,787,1023,1371,1384,1513],"c":[["e",{"w":"suffixes","s":"es","e":true,"k":"e","d":[204],"c":[]}]]}],["c",{"w":"sufficient","s":"cient","e":true,"k":"c","d":[409,1549],"c":[]}]]}],["e",{"w":"suffer","s":"er","e":true,"k":"e","d":[537],"c":[]}]]}],["n",{"w":"sun","s":"n","e":true,"k":"n","d":[356,516,746],"c":[["'",{"w":"sun's","s":"'s","e":true,"k":"'","d":[749],"c":[]}]]}],["d",{"w":"suddenly","s":"ddenly","e":true,"k":"d","d":[513],"c":[]}],["g",{"w":"suggested","s":"ggested","e":true,"k":"g","d":[729],"c":[]}],["s",{"w":"sus","s":"s","e":false,"k":"s","d":[],"c":[["p",{"w":"suspe","s":"pe","e":false,"k":"p","d":[],"c":[["c",{"w":"suspect","s":"ct","e":false,"k":"c","d":[],"c":[["e",{"w":"suspected","s":"ed","e":true,"k":"e","d":[916,933],"c":[]}],["s",{"w":"suspects","s":"s","e":true,"k":"s","d":[936],"c":[]}]]}],["n",{"w":"suspend","s":"nd","e":true,"k":"n","d":[2178],"c":[]}]]}],["t",{"w":"sustain","s":"tain","e":true,"k":"t","d":[1845],"c":[]}]]}]]}],["t",{"w":"st","s":"t","e":false,"k":"t","d":[],"c":[["o",{"w":"sto","s":"o","e":false,"k":"o","d":[],"c":[["r",{"w":"stor","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"store","s":"e","e":true,"k":"e","d":[148,150,181,393,402,442,815,816,830,861,1234,1235,1317,1320,1637,1649,1650,1654,1684,1688,1712,1736,1802,1807,1947,2147],"c":[["d",{"w":"stored","s":"d","e":true,"k":"d","d":[12,389,419,448,454,585,635,656,659,671,675,678,861,967,1019,1034,1316,1807,1809],"c":[]}],["s",{"w":"stores","s":"s","e":true,"k":"s","d":[201,330,442,1712,1713,1737,1738],"c":[]}]]}],["a",{"w":"storage","s":"age","e":true,"k":"a","d":[47,449,452,531,537,944,986,1213,1317,1348,1638,1653,1654,1657,1669,1676,1692,1696,1706,1711,1717,1737,1799,1876,1900,1934,1952],"c":[]}],["i",{"w":"storing","s":"ing","e":true,"k":"i","d":[150,259,454,1735],"c":[]}],["m",{"w":"storm","s":"m","e":true,"k":"m","d":[1605,1718,1719,1765],"c":[]}]]}],["p",{"w":"stop","s":"p","e":true,"k":"p","d":[852,1132,1871],"c":[["p",{"w":"stopp","s":"p","e":false,"k":"p","d":[],"c":[["e",{"w":"stopped","s":"ed","e":true,"k":"e","d":[634,852],"c":[]}],["i",{"w":"stopping","s":"ing","e":true,"k":"i","d":[1120],"c":[]}]]}]]}]]}],["a",{"w":"sta","s":"a","e":false,"k":"a","d":[],"c":[["t",{"w":"stat","s":"t","e":true,"k":"t","d":[29,58,65,68,102,130,257,306,569,603,605,1167,1197,1291,1303,1311,1329,1330,1808,2019],"c":[["e",{"w":"state","s":"e","e":true,"k":"e","d":[12,65,128,263,308,419,448,451,672,684,696,731,918,923,935,989,1026,1111,1130,1133,1137,1146,1326,1346,1382,1387,1388,1389,1396,1411,1412,1438,1642,1643,1660,1669,1680,1681,1683,1688,1689,1690,1691,1717,1723,1802,1829,1831,1833,1879,1881,1886,1893],"c":[["m",{"w":"statem","s":"m","e":false,"k":"m","d":[],"c":[["e",{"w":"statement","s":"ent","e":true,"k":"e","d":[709],"c":[["s",{"w":"statements","s":"s","e":true,"k":"s","d":[646,667,1915,1916],"c":[]}]]}],["a",{"w":"statemachine","s":"achine","e":true,"k":"a","d":[1642,1643],"c":[]}]]}],["s",{"w":"states","s":"s","e":true,"k":"s","d":[1098,1380,1382,1650],"c":[]}],["f",{"w":"stateful","s":"ful","e":true,"k":"f","d":[1668],"c":[]}],["d",{"w":"stated","s":"d","e":true,"k":"d","d":[1876],"c":[]}]]}],["u",{"w":"status","s":"us","e":true,"k":"u","d":[24,122,239,357,1016,1155,1317,1328,1681,1807],"c":[]}],["i",{"w":"stati","s":"i","e":false,"k":"i","d":[],"c":[["s",{"w":"statistics","s":"stics","e":true,"k":"s","d":[62,66,111,124,131,777,780,787,790,793],"c":[]}],["c",{"w":"static","s":"c","e":true,"k":"c","d":[176,633,650,655,656,659,662,665,679,909,1090,1248,1924,2019],"c":[["h",{"w":"statichostprovider","s":"hostprovider","e":true,"k":"h","d":[1237],"c":[["t",{"w":"statichostprovidertest","s":"test","e":true,"k":"t","d":[734],"c":[]}]]}]]}],["n",{"w":"stating","s":"ng","e":true,"k":"n","d":[1907],"c":[]}]]}],["s",{"w":"stats","s":"s","e":true,"k":"s","d":[123,130,131,681],"c":[]}],["_",{"w":"stat_reset","s":"_reset","e":true,"k":"_","d":[131],"c":[]}],["c",{"w":"statcallback","s":"callback","e":true,"k":"c","d":[1142],"c":[]}]]}],["r",{"w":"start","s":"rt","e":true,"k":"r","d":[35,36,119,194,399,404,405,448,523,651,691,748,750,822,880,939,951,1052,1053,1092,1107,1108,1109,1132,1135,1263,1349,1370,1484,1845,1879,1886,1888,1896,1928,1944,1945,1949,1953,1958,2077],"c":[["e",{"w":"started","s":"ed","e":true,"k":"e","d":[102,269,271,304,402,449,452,512,527,649,692,732,746,750,751,753,768,830,863,1016,1051,1074,1929],"c":[]}],["i",{"w":"starting","s":"ing","e":true,"k":"i","d":[121,268,317,519,524,634,639,641,642,653,655,667,670,673,689,737,738,748,755,1043,1120,1355,1443,1529,1531],"c":[]}],["s",{"w":"starts","s":"s","e":true,"k":"s","d":[233,292,295,447,524,925,927,1127,1157,1382,1975],"c":[]}],["u",{"w":"startup","s":"up","e":true,"k":"u","d":[406,1069,1370,2099],"c":[]}]]}],["b",{"w":"stable","s":"ble","e":true,"k":"b","d":[188,1213,1941,1943,1971],"c":[]}],["n",{"w":"stand","s":"nd","e":false,"k":"n","d":[],"c":[["a",{"w":"standa","s":"a","e":false,"k":"a","d":[],"c":[["r",{"w":"standard","s":"rd","e":true,"k":"r","d":[193,328,1154,1183,1187,1443,1444,1453,1454,1799,1806,1807,1861],"c":[["i",{"w":"standardization","s":"ization","e":true,"k":"i","d":[1472],"c":[]}]]}],["l",{"w":"standalone","s":"lone","e":true,"k":"l","d":[450,649,652,688,722,737,744,756,781,1418,1933,1942,1951,1968,1972],"c":[["e",{"w":"standaloneenabled","s":"enabled","e":true,"k":"e","d":[304,614,649,688],"c":[]}],["s",{"w":"standaloneserver_port","s":"server_port","e":true,"k":"s","d":[786],"c":[]}]]}]]}],["-",{"w":"stand-alone","s":"-alone","e":true,"k":"-","d":[450,1355],"c":[]}],["b",{"w":"standby","s":"by","e":true,"k":"b","d":[1717],"c":[["-",{"w":"standby-masters-with-zookeeper","s":"-masters-with-zookeeper","e":true,"k":"-","d":[1757],"c":[]}]]}]]}],["l",{"w":"stal","s":"l","e":false,"k":"l","d":[],"c":[["l",{"w":"stalling","s":"ling","e":true,"k":"l","d":[233],"c":[]}],["e",{"w":"stale","s":"e","e":true,"k":"e","d":[235,236,237,413,1908,1909,2060],"c":[]}]]}],["c",{"w":"stack","s":"ck","e":true,"k":"c","d":[331,650,1237,2050],"c":[["s",{"w":"stacks","s":"s","e":true,"k":"s","d":[649],"c":[]}],["t",{"w":"stacktrace","s":"trace","e":true,"k":"t","d":[2163],"c":[]}]]}],["m",{"w":"stamp","s":"mp","e":true,"k":"m","d":[1326],"c":[["s",{"w":"stamps","s":"s","e":true,"k":"s","d":[1804],"c":[]}],["e",{"w":"stamped","s":"ed","e":true,"k":"e","d":[1876],"c":[]}]]}],["y",{"w":"stay","s":"y","e":true,"k":"y","d":[1388,1404],"c":[]}]]}],["i",{"w":"sti","s":"i","e":false,"k":"i","d":[],"c":[["l",{"w":"still","s":"ll","e":true,"k":"l","d":[18,106,371,376,384,448,513,644,663,687,883,930,1172,1388,1397,1476,1497,1904,1918,1978,1979],"c":[]}],["m",{"w":"stimulate","s":"mulate","e":true,"k":"m","d":[1475],"c":[]}],["p",{"w":"stipulating","s":"pulating","e":true,"k":"p","d":[1541],"c":[]}]]}],["r",{"w":"str","s":"r","e":false,"k":"r","d":[],"c":[["a",{"w":"stra","s":"a","e":false,"k":"a","d":[],"c":[["n",{"w":"strange","s":"nge","e":true,"k":"n","d":[46],"c":[]}],["t",{"w":"strategy","s":"tegy","e":true,"k":"t","d":[214,215],"c":[]}],["i",{"w":"straightforward","s":"ightforward","e":true,"k":"i","d":[520,1218,1942],"c":[]}]]}],["e",{"w":"stream","s":"eam","e":true,"k":"e","d":[125,129,880,884,986,987,1645,1881,2144],"c":[["i",{"w":"streaming","s":"ing","e":true,"k":"i","d":[129,1670,1674,1694],"c":[]}],["s",{"w":"streams","s":"s","e":true,"k":"s","d":[1668,1718],"c":[]}]]}],["i",{"w":"stri","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"string","s":"ng","e":true,"k":"n","d":[125,129,635,681,712,717,732,850,861,1061,1173,1186,1224,1265,1365,1366,1368,1369,1383,1384,1402,1403,1540,1959],"c":[["s",{"w":"strings","s":"s","e":true,"k":"s","d":[712],"c":[]}]]}],["c",{"w":"strict","s":"ct","e":true,"k":"c","d":[1800,1881,1905],"c":[["l",{"w":"strictly","s":"ly","e":true,"k":"l","d":[1800,1908],"c":[]}]]}]]}],["o",{"w":"strong","s":"ong","e":true,"k":"o","d":[537,916],"c":[["l",{"w":"strongly","s":"ly","e":true,"k":"l","d":[512,1971],"c":[]}],["e",{"w":"stronger","s":"er","e":true,"k":"e","d":[683,730,1909],"c":[]}]]}],["u",{"w":"struct","s":"uct","e":true,"k":"u","d":[1184,1185,1188,1189,1190,1195,1197,1199],"c":[["u",{"w":"structure","s":"ure","e":true,"k":"u","d":[970,1091,1101,1291,1303,1311,1329,1330,1503,1692,1797,1808],"c":[["s",{"w":"structures","s":"s","e":true,"k":"s","d":[1636,1637],"c":[]}]]}]]}]]}],["m",{"w":"stmk","s":"mk","e":true,"k":"m","d":[77,78,100,102,118,127],"c":[]}],["e",{"w":"step","s":"ep","e":true,"k":"e","d":[149,157,687,955,1241,1245,1513,1515,1516,1529,1530,1533,1534,1535,1540],"c":[["s",{"w":"steps","s":"s","e":true,"k":"s","d":[154,515,527,945,956,988,1051,1090,1241,1284,1951],"c":[]}],["-",{"w":"step-by-step","s":"-by-step","e":true,"k":"-","d":[1079],"c":[]}],["4",{"w":"step4","s":"4","e":true,"k":"4","d":[1243],"c":[]}]]}],["d",{"w":"stdout","s":"dout","e":true,"k":"d","d":[1028],"c":[]}],["u",{"w":"stuff","s":"uff","e":true,"k":"u","d":[1639],"c":[]}],["y",{"w":"style","s":"yle","e":true,"k":"y","d":[2073],"c":[["d",{"w":"styled","s":"d","e":true,"k":"d","d":[1797],"c":[]}]]}]]}],["e",{"w":"se","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"ser","s":"r","e":false,"k":"r","d":[],"c":[["v",{"w":"serv","s":"v","e":false,"k":"v","d":[],"c":[["i",{"w":"servi","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"serving","s":"ng","e":true,"k":"n","d":[12,13,18,60,64,112,402,414,745,880,1051,1387],"c":[]}],["c",{"w":"service","s":"ce","e":true,"k":"c","d":[21,314,384,510,533,536,610,634,753,872,878,955,1123,1279,1282,1286,1313,1319,1346,1382,1384,1385,1452,1461,1477,1631,1633,1641,1646,1653,1654,1667,1669,1670,1676,1722,1726,1731,1736,1741,1784,1797,1802,1816,1827,1829,1833,1834,1844,1846,1876,1951,1975],"c":[["s",{"w":"services","s":"s","e":true,"k":"s","d":[51,943,1351,1629,1647,1651,1655,1731,1735,1740,1741,1742,1743,1797,1798,1813,1829,1846,1868],"c":[]}],["d",{"w":"serviced","s":"d","e":true,"k":"d","d":[1829],"c":[]}]]}]]}],["e",{"w":"serve","s":"e","e":true,"k":"e","d":[241,242,384,881,944,1279],"c":[["r",{"w":"server","s":"r","e":true,"k":"r","d":[13,15,18,19,20,29,31,35,36,42,46,58,61,65,66,67,68,69,70,72,75,78,100,102,113,116,120,121,125,126,128,129,130,131,132,135,136,140,143,144,174,180,191,193,195,197,198,199,206,207,227,228,231,232,240,268,269,270,275,277,281,286,292,293,297,298,304,305,306,310,317,328,331,333,336,337,340,359,360,361,368,371,372,373,384,391,392,396,398,399,402,404,405,406,408,414,419,422,432,433,442,444,447,448,450,452,463,470,474,480,515,518,520,521,523,524,526,527,530,533,534,535,577,610,613,640,643,644,646,647,649,655,656,662,665,667,672,684,687,689,691,692,694,697,699,705,709,729,731,732,744,748,749,750,751,753,756,762,765,771,774,781,787,833,852,853,861,862,863,872,875,876,877,881,886,902,903,983,984,986,989,990,991,992,994,1015,1018,1052,1088,1094,1097,1142,1145,1148,1172,1191,1194,1212,1219,1222,1223,1224,1225,1226,1228,1234,1235,1237,1258,1261,1263,1265,1282,1285,1289,1313,1317,1321,1323,1324,1328,1343,1345,1346,1347,1365,1366,1367,1368,1369,1370,1383,1384,1385,1386,1390,1396,1397,1398,1400,1401,1402,1404,1405,1410,1411,1412,1416,1423,1436,1445,1456,1476,1521,1685,1723,1803,1816,1829,1830,1864,1865,1876,1886,1891,1908,1912,1939,1942,1953,1971,1973,1975,1976,1978,1979,2019,2025,2048,2056,2071,2074,2082,2102,2105,2144],"c":[["s",{"w":"servers","s":"s","e":true,"k":"s","d":[29,46,174,185,249,263,282,285,291,292,293,298,305,319,371,390,403,407,419,450,451,509,512,513,514,530,533,534,535,634,635,647,651,659,672,687,689,690,691,692,694,695,706,707,710,731,732,737,833,902,903,904,1214,1265,1289,1313,1328,1346,1347,1371,1382,1387,1402,1405,1549,1676,1685,1709,1724,1731,1732,1802,1811,1827,1830,1833,1834,1862,1864,1865,1867,1868,1874,1875,1876,1884,1886,1887,1903,1909,1911,1912,1913,1914,1968,1970,1971,1973,1975,1978,1979],"c":[["t",{"w":"serverst","s":"t","e":false,"k":"t","d":[],"c":[["a",{"w":"serverstart","s":"art","e":true,"k":"a","d":[844],"c":[]}],["o",{"w":"serverstop","s":"op","e":true,"k":"o","d":[844,852],"c":[]}]]}]]}],["_",{"w":"server_stats","s":"_stats","e":true,"k":"_","d":[128,130,131],"c":[]}],["c",{"w":"servercnxn","s":"cnxn","e":true,"k":"c","d":[778,791,1375],"c":[["f",{"w":"servercnxnfactory","s":"factory","e":true,"k":"f","d":[144,151,179,195,228],"c":[]}]]}],["-",{"w":"server-","s":"-","e":true,"k":"-","d":[355],"c":[["s",{"w":"server-s","s":"s","e":false,"k":"s","d":[],"c":[["i",{"w":"server-side","s":"ide","e":true,"k":"i","d":[216,217,218,219,220,221,222,227],"c":[]}],["e",{"w":"server-server","s":"erver","e":true,"k":"e","d":[295],"c":[]}]]}]]}],["'",{"w":"server's","s":"'s","e":true,"k":"'","d":[304,305,520,699,815,1223,1229,1978],"c":[]}],["a",{"w":"servera","s":"a","e":false,"k":"a","d":[],"c":[["d",{"w":"serveraddress","s":"ddress","e":true,"k":"d","d":[432],"c":[]}],["u",{"w":"serverauthenticationprovider","s":"uthenticationprovider","e":true,"k":"u","d":[1373],"c":[]}]]}],["p",{"w":"serverport","s":"port","e":true,"k":"p","d":[433],"c":[]}],["m",{"w":"servermetrics","s":"metrics","e":true,"k":"m","d":[810],"c":[]}],["o",{"w":"serverobjs","s":"objs","e":true,"k":"o","d":[1373],"c":[]}],["n",{"w":"servername","s":"name","e":true,"k":"n","d":[1978],"c":[]}]]}],["d",{"w":"served","s":"d","e":true,"k":"d","d":[413,872,1909],"c":[]}],["s",{"w":"serves","s":"s","e":true,"k":"s","d":[1092,1634,1735],"c":[]}]]}]]}],["i",{"w":"seri","s":"i","e":false,"k":"i","d":[],"c":[["a",{"w":"serializ","s":"aliz","e":false,"k":"a","d":[],"c":[["e",{"w":"serialize","s":"e","e":true,"k":"e","d":[2175],"c":[["d",{"w":"serialized","s":"d","e":true,"k":"d","d":[194,201,280,1828],"c":[]}],["l",{"w":"serializelastprocessedzxid","s":"lastprocessedzxid","e":true,"k":"l","d":[275],"c":[]}],["s",{"w":"serializes","s":"s","e":true,"k":"s","d":[275],"c":[]}]]}],["a",{"w":"serialization","s":"ation","e":true,"k":"a","d":[201,2176],"c":[]}]]}],["o",{"w":"seriously","s":"ously","e":true,"k":"o","d":[517],"c":[]}],["e",{"w":"series","s":"es","e":true,"k":"e","d":[520,830],"c":[]}]]}]]}],["e",{"w":"see","s":"e","e":true,"k":"e","d":[13,16,17,27,28,29,51,77,78,102,118,127,130,157,176,190,229,249,259,261,262,264,265,273,287,288,293,296,316,351,364,384,449,452,521,524,539,636,644,647,667,670,676,687,688,691,697,699,704,712,714,717,732,746,747,748,753,755,831,832,840,872,878,883,950,1017,1058,1069,1132,1148,1203,1251,1256,1262,1276,1282,1287,1289,1320,1324,1368,1398,1401,1405,1434,1451,1454,1473,1476,1500,1511,1520,1538,1561,1686,1816,1847,1887,1903,1915,1940,1950,1951,1952,1956,1959,1960,1966,1967,1980],"c":[["n",{"w":"seen","s":"n","e":true,"k":"n","d":[109,1285,1286,1389,1393,1401,1434,1452,1883,1887,1888,1903],"c":[]}],["k",{"w":"seek","s":"k","e":true,"k":"k","d":[2048],"c":[["s",{"w":"seeks","s":"s","e":true,"k":"s","d":[190,538],"c":[]}],["i",{"w":"seeking","s":"ing","e":true,"k":"i","d":[538],"c":[]}]]}],["m",{"w":"seems","s":"ms","e":true,"k":"m","d":[213],"c":[]}],["s",{"w":"sees","s":"s","e":true,"k":"s","d":[687,884,1434,1683],"c":[]}],["d",{"w":"seed","s":"d","e":true,"k":"d","d":[987],"c":[]}],["i",{"w":"seeing","s":"ing","e":true,"k":"i","d":[1451],"c":[]}]]}],["c",{"w":"sec","s":"c","e":false,"k":"c","d":[],"c":[["t",{"w":"section","s":"tion","e":true,"k":"t","d":[17,51,59,146,155,185,273,282,314,452,467,471,520,527,528,594,755,832,912,950,1106,1219,1261,1315,1475,1915,1950,1952],"c":[["s",{"w":"sections","s":"s","e":true,"k":"s","d":[471,532,732,1211,1353,1354,1939],"c":[]}]]}],["o",{"w":"second","s":"ond","e":true,"k":"o","d":[292,644,687,729,731,876,883,1098,1100,1365,1401,1506,1545,1547,1867,1885,1976],"c":[["s",{"w":"seconds","s":"s","e":true,"k":"s","d":[121,204,823,1238,1286,1974],"c":[]}]]}],["u",{"w":"secur","s":"ur","e":false,"k":"u","d":[],"c":[["i",{"w":"securi","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"securing","s":"ng","e":true,"k":"n","d":[147],"c":[]}],["t",{"w":"security","s":"ty","e":true,"k":"t","d":[318,321,357,594,623,653,670,672,809,1385],"c":[]}]]}],["e",{"w":"secure","s":"e","e":true,"k":"e","d":[179,331,367,640,644,813,1175,1228,1229],"c":[["c",{"w":"secureclientport","s":"clientport","e":true,"k":"c","d":[179,642],"c":[["a",{"w":"secureclientportaddress","s":"address","e":true,"k":"a","d":[642],"c":[]}]]}],["s",{"w":"secureservercnxnfactory","s":"servercnxnfactory","e":true,"k":"s","d":[195],"c":[]}],["d",{"w":"secured","s":"d","e":true,"k":"d","d":[674],"c":[]}]]}]]}]]}],["t",{"w":"set","s":"t","e":true,"k":"t","d":[20,34,37,48,57,100,144,146,180,185,188,193,194,200,201,202,204,205,207,212,214,215,216,219,228,230,233,240,245,253,254,258,263,264,268,270,274,278,279,280,286,293,295,304,305,310,318,319,329,331,333,337,373,376,385,387,389,390,398,405,406,413,414,419,420,431,434,472,515,517,523,526,566,596,597,600,601,602,603,604,634,649,653,673,675,677,732,833,966,967,969,970,972,1056,1060,1064,1091,1098,1100,1146,1156,1161,1163,1165,1175,1178,1196,1198,1200,1217,1219,1220,1228,1229,1263,1269,1315,1323,1324,1349,1368,1369,1370,1378,1386,1432,1434,1435,1436,1437,1438,1443,1444,1453,1479,1480,1490,1503,1511,1514,1525,1526,1531,1532,1540,1556,1651,1669,1797,1801,1811,1812,1813,1824,1881,1903,1963,2043,2180],"c":[["u",{"w":"setup","s":"up","e":true,"k":"u","d":[17,140,357,405,457,462,463,469,470,512,670,671,959],"c":[["_",{"w":"setup_random","s":"_random","e":true,"k":"_","d":[2050],"c":[]}]]}],["s",{"w":"sets","s":"s","e":true,"k":"s","d":[78,127,299,301,308,309,665,669,1018,1091,1140,1154,1289,1433,1435,1543,1672,1676],"c":[["t",{"w":"setstandaloneenabled","s":"tandaloneenabled","e":true,"k":"t","d":[304],"c":[]}]]}],["_",{"w":"set_","s":"_","e":false,"k":"_","d":[],"c":[["t",{"w":"set_trace_mask","s":"trace_mask","e":true,"k":"t","d":[102,118,127],"c":[]}],["a",{"w":"set_acl","s":"acl","e":true,"k":"a","d":[1181],"c":[]}]]}],["t",{"w":"setting","s":"ting","e":true,"k":"t","d":[104,144,195,196,210,211,213,263,268,272,292,305,306,308,309,313,328,335,338,357,372,374,384,400,401,403,407,452,471,527,650,651,652,674,675,681,733,747,873,960,966,970,973,1142,1172,1224,1227,1235,1368,1384,1432,1445,1454,1512,1527,1528,1888,1942,1964,1979],"c":[["s",{"w":"settings","s":"s","e":true,"k":"s","d":[108,151,156,161,185,308,309,427,454,519,520,828,1237],"c":[]}],["-",{"w":"setting-up-a","s":"-up-a","e":false,"k":"-","d":[],"c":[["n",{"w":"setting-up-an-external-zookeeper-ensemble","s":"n-external-zookeeper-ensemble","e":true,"k":"n","d":[1756],"c":[]}],["-",{"w":"setting-up-a-storm-cluster","s":"-storm-cluster","e":true,"k":"-","d":[1765],"c":[]}]]}]]}],["r",{"w":"setreconfigenabled","s":"reconfigenabled","e":true,"k":"r","d":[305],"c":[]}],["a",{"w":"setacl","s":"acl","e":true,"k":"a","d":[327,567,844,850,1378],"c":[["s",{"w":"setacls","s":"s","e":true,"k":"s","d":[1378],"c":[]}]]}],["q",{"w":"setquota","s":"quota","e":true,"k":"q","d":[568,966,970],"c":[]}],["-",{"w":"set-data","s":"-data","e":true,"k":"-","d":[706],"c":[]}],["d",{"w":"setdata","s":"data","e":true,"k":"d","d":[844,1435,1540],"c":[]}],["p",{"w":"setproperty","s":"property","e":true,"k":"p","d":[1235],"c":[]}]]}],["l",{"w":"sel","s":"l","e":false,"k":"l","d":[],"c":[["f",{"w":"self","s":"f","e":true,"k":"f","d":[18,310],"c":[["-",{"w":"self-signed","s":"-signed","e":true,"k":"-","d":[148,149],"c":[]}]]}],["e",{"w":"select","s":"ect","e":true,"k":"e","d":[364,752],"c":[["i",{"w":"selection","s":"ion","e":true,"k":"i","d":[291],"c":[["k",{"w":"selectionkey","s":"key","e":true,"k":"k","d":[2098],"c":[]}]]}],["o",{"w":"selector","s":"or","e":true,"k":"o","d":[408,410,411],"c":[]}],["e",{"w":"selected","s":"ed","e":true,"k":"e","d":[1029],"c":[]}]]}]]}],["s",{"w":"session","s":"ssion","e":true,"k":"s","d":[61,62,70,116,135,184,198,199,209,224,225,226,227,236,272,313,333,336,337,340,575,588,589,608,780,793,837,838,840,862,864,1062,1133,1148,1213,1214,1227,1267,1268,1282,1318,1319,1328,1339,1380,1382,1383,1385,1386,1387,1388,1389,1390,1393,1396,1397,1399,1401,1406,1407,1410,1411,1412,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1436,1456,1476,1678,1682,1810,1816,1946,2151],"c":[["s",{"w":"sessions","s":"s","e":true,"k":"s","d":[63,70,72,91,93,100,116,272,384,809,1030,1379,1380,1407,1409,1420],"c":[]}],["_",{"w":"session_","s":"_","e":false,"k":"_","d":[],"c":[["i",{"w":"session_id","s":"id","e":true,"k":"i","d":[779,792],"c":[["_",{"w":"session_id_to_","s":"_to_","e":false,"k":"_","d":[],"c":[["e",{"w":"session_id_to_ephemeral_paths","s":"ephemeral_paths","e":true,"k":"e","d":[116],"c":[]}],["w",{"w":"session_id_to_watched_paths","s":"watched_paths","e":true,"k":"w","d":[135],"c":[]}]]}]]}],["e",{"w":"session_expired","s":"expired","e":true,"k":"e","d":[1218],"c":[]}]]}],["t",{"w":"sessiont","s":"t","e":false,"k":"t","d":[],"c":[["i",{"w":"sessiontimeout","s":"imeout","e":true,"k":"i","d":[235,1062],"c":[]}],["r",{"w":"sessiontrackerimpl","s":"rackerimpl","e":true,"k":"r","d":[1418],"c":[]}]]}],["r",{"w":"sessionrequireclientsaslauth","s":"requireclientsaslauth","e":true,"k":"r","d":[333,335],"c":[]}],["'",{"w":"session's","s":"'s","e":true,"k":"'","d":[1148,1389],"c":[]}],["m",{"w":"sessionmovedexception","s":"movedexception","e":true,"k":"m","d":[1401],"c":[]}],["-",{"w":"session-id","s":"-id","e":true,"k":"-","d":[1410],"c":[]}],["i",{"w":"sessionid","s":"id","e":true,"k":"i","d":[1424],"c":[]}]]}],["n",{"w":"sen","s":"n","e":false,"k":"n","d":[],"c":[["t",{"w":"sent","s":"t","e":true,"k":"t","d":[61,100,235,248,253,272,280,309,679,706,731,1280,1365,1385,1396,1397,1423,1426,1432,1433,1434,1456,1814,1866,1869,1873,1876,1901],"c":[]}],["d",{"w":"send","s":"d","e":true,"k":"d","d":[100,272,703,829,871,1235,1385,1397,1424,1867,1886],"c":[["i",{"w":"sending","s":"ing","e":true,"k":"i","d":[240,272,273,434,1173,1423,1454,1866,1886],"c":[]}],["s",{"w":"sends","s":"s","e":true,"k":"s","d":[273,1143,1315,1367,1385,1386,1401,1803,1866,1899],"c":[]}],["e",{"w":"sender","s":"er","e":true,"k":"e","d":[1866],"c":[]}],["a",{"w":"sendackrequestprocessor","s":"ackrequestprocessor","e":true,"k":"a","d":[2081],"c":[]}],["t",{"w":"sendthread","s":"thread","e":true,"k":"t","d":[2082,2101],"c":[]}]]}],["s",{"w":"sens","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"sense","s":"e","e":true,"k":"e","d":[448,1140,1167,1905],"c":[]}],["i",{"w":"sensitive","s":"itive","e":true,"k":"i","d":[454],"c":[]}]]}]]}],["v",{"w":"sever","s":"ver","e":false,"k":"v","d":[],"c":[["e",{"w":"severely","s":"ely","e":true,"k":"e","d":[194],"c":[]}],["a",{"w":"several","s":"al","e":true,"k":"a","d":[408,1314,1346,1356,1476,1707,1917],"c":[]}],["i",{"w":"severity","s":"ity","e":true,"k":"i","d":[1917,2107],"c":[]}]]}],["p",{"w":"separat","s":"parat","e":false,"k":"p","d":[],"c":[["e",{"w":"separate","s":"e","e":true,"k":"e","d":[273,295,442,509,649,656,1560,1669,1978,1979],"c":[["l",{"w":"separately","s":"ly","e":true,"k":"l","d":[195],"c":[]}],["d",{"w":"separated","s":"d","e":true,"k":"d","d":[306,341,647,1383,1402,1806],"c":[]}]]}],["o",{"w":"separator","s":"or","e":true,"k":"o","d":[1265],"c":[]}]]}],["q",{"w":"sequen","s":"quen","e":false,"k":"q","d":[],"c":[["t",{"w":"sequential","s":"tial","e":true,"k":"t","d":[1079,1278,1280,1319,1476,1814,1906,1908,1910],"c":[["l",{"w":"sequentially","s":"ly","e":true,"k":"l","d":[538,1908],"c":[]}]]}],["c",{"w":"sequence","s":"ce","e":true,"k":"c","d":[1103,1291,1297,1320,1503,1511,1513,1514,1525,1526,1529,1530,1531,1532,1537,1548,1549,1552,1553,1554,1558,1806,1873,1875],"c":[["r",{"w":"sequencer","s":"r","e":true,"k":"r","d":[1103],"c":[]}]]}]]}],["m",{"w":"sem","s":"m","e":false,"k":"m","d":[],"c":[["i",{"w":"semicolon","s":"icolon","e":true,"k":"i","d":[644],"c":[]}],["a",{"w":"sema","s":"a","e":false,"k":"a","d":[],"c":[["n",{"w":"semantics","s":"ntics","e":true,"k":"n","d":[1426,1427,1444],"c":[]}],["t",{"w":"sematext","s":"text","e":true,"k":"t","d":[1617],"c":[]}],["p",{"w":"semaphore","s":"phore","e":true,"k":"p","d":[2180],"c":[]}]]}]]}],["a",{"w":"search","s":"arch","e":true,"k":"a","d":[1714,1715,1723,1732,1733],"c":[["i",{"w":"searching","s":"ing","e":true,"k":"i","d":[1387],"c":[]}],["e",{"w":"searches","s":"es","e":true,"k":"e","d":[1638],"c":[]}]]}],["g",{"w":"segment","s":"gment","e":true,"k":"g","d":[1662,1663],"c":[]}],["z",{"w":"sezv373guzc","s":"zv373guzc","e":true,"k":"z","d":[1761],"c":[]}]]}],["n",{"w":"snap","s":"nap","e":true,"k":"n","d":[129,241],"c":[["s",{"w":"snaps","s":"s","e":false,"k":"s","d":[],"c":[["h",{"w":"snapshot","s":"hot","e":true,"k":"h","d":[12,47,71,115,121,125,129,191,193,205,249,254,255,259,260,263,275,277,278,279,281,423,437,446,448,450,451,452,976,977,978,981,982,986,987,988,989,994,1005,1028,1507,1886,2144,2164],"c":[["t",{"w":"snapshotting","s":"ting","e":true,"k":"t","d":[12,449,452,2051],"c":[]}],["s",{"w":"snapshots","s":"s","e":true,"k":"s","d":[13,15,16,181,186,190,191,192,193,203,259,448,986,1004,1020,1030,1034,1035,1686,1802,1834,1947,1982],"c":[]}],["_",{"w":"snapshot_size","s":"_size","e":true,"k":"_","d":[129],"c":[]}],["c",{"w":"snapshotco","s":"co","e":false,"k":"c","d":[],"c":[["u",{"w":"snapshotcount","s":"unt","e":true,"k":"u","d":[1348],"c":[]}],["m",{"w":"snapshotcommand","s":"mmand","e":true,"k":"m","d":[2052],"c":[]}]]}]]}],["i",{"w":"snapsize","s":"ize","e":true,"k":"i","d":[193],"c":[["l",{"w":"snapsizelimitinkb","s":"limitinkb","e":true,"k":"l","d":[190,193,194,449],"c":[]}]]}]]}],["r",{"w":"snapretaincount","s":"retaincount","e":true,"k":"r","d":[16,203],"c":[]}],["c",{"w":"snapcount","s":"count","e":true,"k":"c","d":[47,190,191,194,449],"c":[]}],["p",{"w":"snappy","s":"py","e":true,"k":"p","d":[262,1035],"c":[["-",{"w":"snappy-java","s":"-java","e":true,"k":"-","d":[2114,2189,2192],"c":[]}]]}]]}],["o",{"w":"so","s":"o","e":true,"k":"o","d":[47,48,174,189,195,211,212,249,251,263,288,307,311,312,336,340,373,400,414,521,651,667,672,673,771,774,870,967,1099,1262,1263,1289,1319,1344,1349,1364,1401,1407,1420,1424,1456,1500,1549,1676,1681,1700,1731,1807,1867,1871,1877,1885,1887,1898,1903,1912,1942,1951,1976],"c":[["m",{"w":"some","s":"me","e":true,"k":"m","d":[12,29,45,58,74,176,185,305,308,309,328,385,396,399,402,406,472,530,532,537,688,862,884,910,933,1133,1167,1245,1284,1317,1321,1323,1344,1349,1368,1371,1423,1475,1541,1543,1627,1700,1717,1735,1904,1907,1908,1912,1968,2067,2087],"c":[["t",{"w":"somet","s":"t","e":false,"k":"t","d":[],"c":[["h",{"w":"something","s":"hing","e":true,"k":"h","d":[268,286,352,1503,1956,1979],"c":[["'",{"w":"something's","s":"'s","e":true,"k":"'","d":[1344],"c":[]}]]}],["i",{"w":"sometimes","s":"imes","e":true,"k":"i","d":[395,687,718,731,1289],"c":[]}]]}],["w",{"w":"somewhat","s":"what","e":true,"k":"w","d":[452],"c":[]}],["o",{"w":"someone","s":"one","e":true,"k":"o","d":[1420],"c":[]}]]}],["c",{"w":"socket","s":"cket","e":true,"k":"c","d":[196,227,271,272,342,408,411,2020],"c":[["s",{"w":"sockets","s":"s","e":true,"k":"s","d":[308,309],"c":[]}]]}],["f",{"w":"soft","s":"ft","e":true,"k":"f","d":[604,973],"c":[["w",{"w":"software","s":"ware","e":true,"k":"w","d":[352,461,541,650,1564,1676,1692,1710],"c":[["-",{"w":"software-based","s":"-based","e":true,"k":"-","d":[899],"c":[]}]]}]]}],["l",{"w":"sol","s":"l","e":false,"k":"l","d":[],"c":[["a",{"w":"solaris","s":"aris","e":true,"k":"a","d":[488],"c":[]}],["v",{"w":"solve","s":"ve","e":true,"k":"v","d":[1546,1731,2036],"c":[["s",{"w":"solves","s":"s","e":true,"k":"s","d":[907],"c":[]}]]}],["e",{"w":"solely","s":"ely","e":true,"k":"e","d":[1287],"c":[]}],["u",{"w":"solution","s":"ution","e":true,"k":"u","d":[1549,1648,1674],"c":[["s",{"w":"solutions","s":"s","e":true,"k":"s","d":[1287,1361,1457],"c":[]}]]}],["r",{"w":"solr","s":"r","e":true,"k":"r","d":[1603,1638,1714,1715,1721,1722,1755,1756],"c":[]}]]}],["r",{"w":"sort","s":"rt","e":true,"k":"r","d":[537,539],"c":[["i",{"w":"sorting","s":"ing","e":true,"k":"i","d":[1320],"c":[]}]]}],["u",{"w":"source","s":"urce","e":true,"k":"u","d":[828,830,1086,1117,1241,1244,1353,1655,1666,1704,1714,1718,1735,2032],"c":[["s",{"w":"sources","s":"s","e":true,"k":"s","d":[1356],"c":[]}]]}],["o",{"w":"soon","s":"on","e":true,"k":"o","d":[1365,1543,1901],"c":[]}],["a",{"w":"soap","s":"ap","e":true,"k":"a","d":[1647,1655],"c":[]}],["s",{"w":"sosp","s":"sp","e":true,"k":"s","d":[1760],"c":[]}],["p",{"w":"sophisticated","s":"phisticated","e":true,"k":"p","d":[1800],"c":[]}],["n",{"w":"sonarqube","s":"narqube","e":true,"k":"n","d":[2155],"c":[]}]]}],["i",{"w":"si","s":"i","e":false,"k":"i","d":[],"c":[["m",{"w":"sim","s":"m","e":false,"k":"m","d":[],"c":[["p",{"w":"simpl","s":"pl","e":false,"k":"p","d":[],"c":[["e",{"w":"simple","s":"e","e":true,"k":"e","d":[14,245,525,634,710,750,871,902,1068,1088,1090,1101,1112,1120,1203,1217,1263,1344,1359,1365,1506,1516,1548,1631,1641,1670,1676,1679,1718,1791,1797,1799,1813,1819,1832,1877,1939,1955,1958],"c":[["r",{"w":"simpler","s":"r","e":true,"k":"r","d":[527,1384],"c":[]}],["s",{"w":"simplest","s":"st","e":true,"k":"s","d":[1074],"c":[]}]]}],["i",{"w":"simpli","s":"i","e":false,"k":"i","d":[],"c":[["f",{"w":"simplif","s":"f","e":false,"k":"f","d":[],"c":[["i",{"w":"simplifie","s":"ie","e":false,"k":"i","d":[],"c":[["s",{"w":"simplifies","s":"s","e":true,"k":"s","d":[143,1881],"c":[]}],["d",{"w":"simplified","s":"d","e":true,"k":"d","d":[735],"c":[]}]]}],["y",{"w":"simplify","s":"y","e":true,"k":"y","d":[970,1320,1644],"c":[]}]]}],["c",{"w":"simplicity","s":"city","e":true,"k":"c","d":[1502],"c":[]}]]}],["y",{"w":"simply","s":"y","e":true,"k":"y","d":[539,871,879,1133,1212,1410,1516,1877],"c":[]}]]}],["i",{"w":"similar","s":"ilar","e":true,"k":"i","d":[202,256,330,352,475,527,687,1154,1239,1384,1683,1799,1868,1897,1972],"c":[["l",{"w":"similarly","s":"ly","e":true,"k":"l","d":[651,668,1799],"c":[]}]]}],["u",{"w":"simul","s":"ul","e":false,"k":"u","d":[],"c":[["t",{"w":"simultaneously","s":"taneously","e":true,"k":"t","d":[818,936,1289,1537,1909],"c":[]}],["a",{"w":"simulate","s":"ate","e":true,"k":"a","d":[1834],"c":[]}]]}]]}],["n",{"w":"sin","s":"n","e":false,"k":"n","d":[],"c":[["c",{"w":"since","s":"ce","e":true,"k":"c","d":[32,33,269,285,293,351,356,357,372,373,382,399,406,413,417,520,610,647,652,665,684,692,696,699,704,730,731,754,809,872,880,906,1072,1140,1143,1167,1237,1401,1435,1518,1537,1813,1831,1833,1887,1895,1896,1901,1903,1908,1915,2130],"c":[]}],["g",{"w":"single","s":"gle","e":true,"k":"g","d":[51,184,196,292,304,399,444,463,466,470,510,521,526,527,634,649,650,651,660,667,864,950,987,1171,1278,1282,1502,1537,1650,1676,1800,1803,1816,1830,1886,1891,1903,1904,1939,1942,1967,1971,1978,1979,2130],"c":[["-",{"w":"single-","s":"-","e":false,"k":"-","d":[],"c":[["s",{"w":"single-server","s":"server","e":true,"k":"s","d":[457],"c":[]}],["t",{"w":"single-threaded","s":"threaded","e":true,"k":"t","d":[1205,1239,1254],"c":[]}]]}]]}]]}],["z",{"w":"siz","s":"z","e":false,"k":"z","d":[],"c":[["e",{"w":"size","s":"e","e":true,"k":"e","d":[39,48,71,115,190,193,194,201,210,213,267,389,393,394,395,396,413,414,509,517,539,855,907,908,909,1029,1096,1235,1349,1834,1876,1913,2103,2110,2182],"c":[["s",{"w":"sizes","s":"s","e":true,"k":"s","d":[1317],"c":[]}]]}],["i",{"w":"sizing","s":"ing","e":true,"k":"i","d":[42],"c":[]}]]}],["t",{"w":"sit","s":"t","e":false,"k":"t","d":[],"c":[["u",{"w":"situation","s":"uation","e":true,"k":"u","d":[48,402,539,694,970,1401,1971],"c":[["s",{"w":"situations","s":"s","e":true,"k":"s","d":[471,781,1919,1951],"c":[]}]]}],["e",{"w":"site","s":"e","e":true,"k":"e","d":[1543,1545,1547],"c":[["s",{"w":"sites","s":"s","e":true,"k":"s","d":[1543,1544,1545,1546,1547,1731],"c":[]}]]}]]}],["g",{"w":"sign","s":"gn","e":true,"k":"g","d":[148,297],"c":[["e",{"w":"signed","s":"ed","e":true,"k":"e","d":[77,100,149,1320],"c":[]}],["i",{"w":"significant","s":"ificant","e":true,"k":"i","d":[687,700,1174],"c":[["l",{"w":"significantly","s":"ly","e":true,"k":"l","d":[870],"c":[]}]]}],["a",{"w":"signa","s":"a","e":false,"k":"a","d":[],"c":[["t",{"w":"signature","s":"ture","e":true,"k":"t","d":[1263],"c":[]}],["l",{"w":"signals","s":"ls","e":true,"k":"l","d":[1540],"c":[]}]]}]]}],["d",{"w":"sid","s":"d","e":true,"k":"d","d":[2111],"c":[["e",{"w":"side","s":"e","e":true,"k":"e","d":[292,297,315,391,392,528,753,755,1235,1432],"c":[]}]]}]]}],["h",{"w":"sh","s":"h","e":true,"k":"h","d":[20,24,306,403,405,407,524,543,747,748,996,997,998,999,1000,1001,1002,1003,1953,2169],"c":[["o",{"w":"sho","s":"o","e":false,"k":"o","d":[],"c":[["u",{"w":"should","s":"uld","e":true,"k":"u","d":[15,46,48,74,148,150,176,228,259,263,292,305,310,367,402,406,417,419,442,447,510,514,515,520,521,532,536,537,641,642,644,650,659,666,678,680,687,718,733,753,877,878,911,912,950,951,988,1186,1218,1235,1237,1240,1276,1289,1317,1322,1355,1368,1371,1396,1424,1456,1521,1537,1678,1679,1709,1926,1956,1959,1968,2052,2054,2100,2106,2160],"c":[["n",{"w":"shouldn't","s":"n't","e":true,"k":"n","d":[2056],"c":[]}]]}],["w",{"w":"show","s":"w","e":true,"k":"w","d":[573,576,589,605,607,608,1088,1203,1844],"c":[["s",{"w":"shows","s":"s","e":true,"k":"s","d":[71,903,909,1382,1484,1827,1838],"c":[]}],["i",{"w":"showing","s":"ing","e":true,"k":"i","d":[543,1028],"c":[]}],["n",{"w":"shown","s":"n","e":true,"k":"n","d":[1044],"c":[]}]]}],["r",{"w":"short","s":"rt","e":true,"k":"r","d":[687,733],"c":[["h",{"w":"shorthand","s":"hand","e":true,"k":"h","d":[334,709],"c":[]}],["e",{"w":"shorter","s":"er","e":true,"k":"e","d":[704],"c":[]}]]}]]}],["u",{"w":"shu","s":"u","e":false,"k":"u","d":[],"c":[["t",{"w":"shut","s":"t","e":true,"k":"t","d":[18,285,687,699,1135,1136,1218],"c":[["d",{"w":"shutdown","s":"down","e":true,"k":"d","d":[40,238,271,1218,2083],"c":[["t",{"w":"shutdowntimeout","s":"timeout","e":true,"k":"t","d":[238],"c":[]}]]}],["s",{"w":"shuts","s":"s","e":true,"k":"s","d":[238,1130,1700],"c":[]}],["t",{"w":"shutting","s":"ting","e":true,"k":"t","d":[342,666,687,706,1700],"c":[]}]]}],["f",{"w":"shuffl","s":"ffl","e":false,"k":"f","d":[],"c":[["e",{"w":"shufflednsresponse","s":"ednsresponse","e":true,"k":"e","d":[1237],"c":[]}],["i",{"w":"shuffling","s":"ing","e":true,"k":"i","d":[1237],"c":[]}]]}]]}],["i",{"w":"shi","s":"i","e":false,"k":"i","d":[],"c":[["p",{"w":"ship","s":"p","e":true,"k":"p","d":[20],"c":[["p",{"w":"shipped","s":"ped","e":true,"k":"p","d":[25],"c":[]}],["s",{"w":"ships","s":"s","e":true,"k":"s","d":[750],"c":[]}]]}],["f",{"w":"shifts","s":"fts","e":true,"k":"f","d":[880],"c":[]}]]}],["a",{"w":"sha","s":"a","e":false,"k":"a","d":[],"c":[["r",{"w":"shar","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"share","s":"e","e":true,"k":"e","d":[536,829],"c":[["d",{"w":"shared","s":"d","e":true,"k":"d","d":[150,536,912,950,1240,1249,1468,1469,1522,1539,1540,1541,1799],"c":[]}]]}],["i",{"w":"sharing","s":"ing","e":true,"k":"i","d":[538,879],"c":[]}],["d",{"w":"shard","s":"d","e":false,"k":"d","d":[],"c":[["i",{"w":"sharding","s":"ing","e":true,"k":"i","d":[1732,1740,1742,1743],"c":[]}],["e",{"w":"sharded","s":"ed","e":true,"k":"e","d":[1737],"c":[]}]]}]]}],["1",{"w":"sha1","s":"1","e":true,"k":"1","d":[318,1173],"c":[]}],["d",{"w":"shadows","s":"dows","e":true,"k":"d","d":[1237],"c":[]}]]}],["r",{"w":"shr","s":"r","e":false,"k":"r","d":[],"c":[["a",{"w":"shraer","s":"aer","e":true,"k":"a","d":[637],"c":[]}],["i",{"w":"shrink","s":"ink","e":true,"k":"i","d":[649,651],"c":[]}]]}],["e",{"w":"shell","s":"ell","e":true,"k":"e","d":[1060,1957],"c":[]}]]}],["a",{"w":"sa","s":"a","e":false,"k":"a","d":[],"c":[["m",{"w":"sam","s":"m","e":true,"k":"m","d":[957],"c":[["p",{"w":"sample","s":"ple","e":true,"k":"p","d":[17,853,1130,1131,1134,1201,1319,1944,1967],"c":[]}],["e",{"w":"same","s":"e","e":true,"k":"e","d":[48,130,150,174,191,193,241,242,248,319,367,396,406,408,442,449,514,522,535,536,659,690,691,694,732,733,751,755,871,937,973,988,1022,1235,1237,1282,1289,1371,1401,1410,1415,1424,1444,1455,1475,1501,1507,1549,1627,1717,1816,1844,1869,1881,1899,1903,1968,1979,1982,2126],"c":[["-",{"w":"same-session","s":"-session","e":true,"k":"-","d":[408],"c":[]}]]}]]}],["v",{"w":"sav","s":"v","e":false,"k":"v","d":[],"c":[["i",{"w":"saving","s":"ing","e":true,"k":"i","d":[121],"c":[]}],["e",{"w":"save","s":"e","e":true,"k":"e","d":[201,274,1213],"c":[["d",{"w":"saved","s":"d","e":true,"k":"d","d":[1401,1415],"c":[]}]]}]]}],["f",{"w":"safe","s":"fe","e":true,"k":"f","d":[689,694,1022,1456],"c":[["l",{"w":"safely","s":"ly","e":true,"k":"l","d":[251,706],"c":[]}],["t",{"w":"safety","s":"ty","e":true,"k":"t","d":[896,912,930,950],"c":[]}],["g",{"w":"safeguard","s":"guard","e":true,"k":"g","d":[1420],"c":[]}]]}],["s",{"w":"sasl","s":"sl","e":true,"k":"s","d":[315,330,333,334,336,339,340,368,371,377,676,1172,1219,1220,1221,1223,1224,1225,2053,2066],"c":[["a",{"w":"saslauthenticationprovider","s":"authenticationprovider","e":true,"k":"a","d":[368,858],"c":[]}]]}],["n",{"w":"san","s":"n","e":true,"k":"n","d":[355],"c":[["i",{"w":"sanity","s":"ity","e":true,"k":"i","d":[393,1235,1317],"c":[]}]]}],["t",{"w":"sat","s":"t","e":false,"k":"t","d":[],"c":[["i",{"w":"satisfie","s":"isfie","e":false,"k":"i","d":[],"c":[["s",{"w":"satisfies","s":"s","e":true,"k":"s","d":[915,932],"c":[]}],["d",{"w":"satisfied","s":"d","e":true,"k":"d","d":[1867],"c":[]}]]}],["a",{"w":"sata","s":"a","e":true,"k":"a","d":[1834],"c":[]}],["u",{"w":"saturation","s":"uration","e":true,"k":"u","d":[1844],"c":[]}]]}],["y",{"w":"say","s":"y","e":true,"k":"y","d":[1135,1384,1543,1548,1912,2038,2039,2040],"c":[["i",{"w":"saying","s":"ing","e":true,"k":"i","d":[1217,1811],"c":[]}]]}],["k",{"w":"sake","s":"ke","e":true,"k":"k","d":[1945],"c":[]}]]}],["m",{"w":"sm","s":"m","e":false,"k":"m","d":[],"c":[["f",{"w":"smf","s":"f","e":true,"k":"f","d":[19],"c":[]}],["a",{"w":"small","s":"all","e":true,"k":"a","d":[57,213,267,1317,1537,1807,2053],"c":[["e",{"w":"smalle","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"smaller","s":"r","e":true,"k":"r","d":[194,207,224,226,286,472,872,1326,1549,1909,1913],"c":[]}],["s",{"w":"smallest","s":"st","e":true,"k":"s","d":[1104,1105,1548,1549,1557],"c":[]}]]}]]}],["o",{"w":"smo","s":"o","e":false,"k":"o","d":[],"c":[["o",{"w":"smooth","s":"oth","e":true,"k":"o","d":[413,414],"c":[]}],["k",{"w":"smoketest","s":"ketest","e":true,"k":"k","d":[1068],"c":[]}]]}],["t",{"w":"smtp","s":"tp","e":true,"k":"t","d":[1696],"c":[]}]]}],["c",{"w":"sc","s":"c","e":false,"k":"c","d":[],"c":[["r",{"w":"scr","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"script","s":"ipt","e":true,"k":"i","d":[405,524,2106],"c":[["s",{"w":"scripts","s":"s","e":true,"k":"s","d":[20,74,994,995],"c":[]}]]}],["a",{"w":"scra","s":"a","e":false,"k":"a","d":[],"c":[["p",{"w":"scrap","s":"p","e":false,"k":"p","d":[],"c":[["i",{"w":"scraping","s":"ing","e":true,"k":"i","d":[812],"c":[]}],["e",{"w":"scrape","s":"e","e":true,"k":"e","d":[823],"c":[["r",{"w":"scraper","s":"r","e":true,"k":"r","d":[821],"c":[]}]]}]]}],["t",{"w":"scratch","s":"tch","e":true,"k":"t","d":[1798],"c":[]}]]}],["e",{"w":"screen","s":"een","e":true,"k":"e","d":[1022],"c":[]}]]}],["a",{"w":"sca","s":"a","e":false,"k":"a","d":[],"c":[["n",{"w":"scan","s":"n","e":true,"k":"n","d":[194],"c":[]}],["l",{"w":"scal","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"scaling","s":"ing","e":true,"k":"i","d":[866,1695],"c":[]}],["e",{"w":"scale","s":"e","e":true,"k":"e","d":[870,880,882,1668,1676,1694,1724,1731],"c":[]}],["a",{"w":"scalab","s":"ab","e":false,"k":"a","d":[],"c":[["i",{"w":"scalability","s":"ility","e":true,"k":"i","d":[871,1474,1695,1724],"c":[]}],["l",{"w":"scalable","s":"le","e":true,"k":"l","d":[1279,1360,1546,1628,1637,1651,1653,1846],"c":[]}]]}]]}]]}],["e",{"w":"scenario","s":"enario","e":true,"k":"e","d":[402,1289,1909],"c":[["s",{"w":"scenarios","s":"s","e":true,"k":"s","d":[251,256,276,352,396,952,2067],"c":[]}]]}],["h",{"w":"sche","s":"he","e":false,"k":"h","d":[],"c":[["m",{"w":"schem","s":"m","e":false,"k":"m","d":[],"c":[["e",{"w":"scheme","s":"e","e":true,"k":"e","d":[317,331,332,334,337,340,341,1156,1157,1172,1175,1191,1193,1201,1363,1366,1367,1368,1369],"c":[["s",{"w":"schemes","s":"s","e":true,"k":"s","d":[337,339,341,676,864,985,1150,1152,1156,1170,1194,1364,1368,1371],"c":[]}]]}],["a",{"w":"schema","s":"a","e":true,"k":"a","d":[579],"c":[["-",{"w":"schema-free","s":"-free","e":true,"k":"-","d":[1657],"c":[]}]]}]]}],["d",{"w":"schedul","s":"dul","e":false,"k":"d","d":[],"c":[["e",{"w":"schedule","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"scheduled","s":"d","e":true,"k":"d","d":[706],"c":[]}],["r",{"w":"scheduler","s":"r","e":true,"k":"r","d":[1707,1708],"c":[["s",{"w":"schedulers","s":"s","e":true,"k":"s","d":[1073],"c":[]}]]}]]}],["i",{"w":"scheduling","s":"ing","e":true,"k":"i","d":[1717],"c":[]}]]}]]}],["o",{"w":"scope","s":"ope","e":true,"k":"o","d":[747,969,1154],"c":[["s",{"w":"scopes","s":"s","e":true,"k":"s","d":[1154],"c":[]}]]}]]}],["l",{"w":"sl","s":"l","e":false,"k":"l","d":[],"c":[["f",{"w":"slf4j","s":"f4j","e":true,"k":"f","d":[25,27,755,1861,1915,1916,1917,2037,2038,2039,2040,2076],"c":[["a",{"w":"slf4jauditlogger","s":"auditlogger","e":true,"k":"a","d":[265],"c":[]}],["-",{"w":"slf4j-api","s":"-api","e":true,"k":"-","d":[2036,2038,2039,2040],"c":[]}]]}],["o",{"w":"slow","s":"ow","e":true,"k":"o","d":[212],"c":[["e",{"w":"slower","s":"er","e":true,"k":"e","d":[194,1546],"c":[]}]]}],["i",{"w":"sli","s":"i","e":false,"k":"i","d":[],"c":[["g",{"w":"slight","s":"ght","e":true,"k":"g","d":[289],"c":[["l",{"w":"slightly","s":"ly","e":true,"k":"l","d":[683,879],"c":[]}]]}],["d",{"w":"slides","s":"des","e":true,"k":"d","d":[637],"c":[]}]]}],["e",{"w":"sleep","s":"eep","e":true,"k":"e","d":[733],"c":[]}],["a",{"w":"sla","s":"a","e":false,"k":"a","d":[],"c":[["s",{"w":"slash","s":"sh","e":true,"k":"s","d":[1806],"c":[["-",{"w":"slash-separated","s":"-separated","e":true,"k":"-","d":[1304],"c":[]}]]}],["v",{"w":"slave","s":"ve","e":true,"k":"v","d":[1639,1648],"c":[]}]]}]]}],["y",{"w":"sy","s":"y","e":false,"k":"y","d":[],"c":[["s",{"w":"sys","s":"s","e":false,"k":"s","d":[],"c":[["t",{"w":"system","s":"tem","e":true,"k":"t","d":[32,48,104,133,185,186,189,190,191,192,193,194,195,196,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,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,259,263,264,265,266,267,268,269,270,271,272,273,274,275,283,286,287,288,289,292,296,297,298,299,301,304,305,306,308,309,310,311,312,316,317,318,328,329,330,331,332,333,337,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,363,364,365,366,367,368,369,370,371,372,373,375,384,385,387,388,389,390,396,397,399,408,410,411,412,413,414,415,416,417,419,420,422,423,424,425,427,429,431,432,433,434,435,448,457,458,468,477,478,508,516,610,634,650,666,680,690,697,698,709,710,715,725,730,755,796,809,862,884,903,904,914,917,918,920,922,929,939,941,942,944,955,956,986,1219,1235,1237,1278,1282,1286,1304,1317,1324,1360,1370,1485,1542,1644,1672,1688,1698,1708,1710,1718,1725,1738,1760,1799,1806,1816,1818,1831,1844,1845,1846,1862,1863,1867,1871,1879,1911,1940],"c":[["_",{"w":"system_properties","s":"_properties","e":true,"k":"_","d":[133],"c":[]}],["'",{"w":"system's","s":"'s","e":true,"k":"'","d":[308,309],"c":[]}],["s",{"w":"systems","s":"s","e":true,"k":"s","d":[536,698,710,957,1073,1278,1479,1641,1706,1797,1800,1807,1846,1871,1952],"c":[]}],["-",{"w":"system-wide","s":"-wide","e":true,"k":"-","d":[729],"c":[]}]]}],["p",{"w":"sysp","s":"p","e":true,"k":"p","d":[133],"c":[]}]]}],["n",{"w":"syn","s":"n","e":false,"k":"n","d":[],"c":[["c",{"w":"sync","s":"c","e":true,"k":"c","d":[192,194,280,287,296,406,570,606,678,683,684,706,733,880,1240,1247,1289,1348,1826,1862,1886,1908,1909,2051,2060,2091,2104],"c":[["s",{"w":"syncs","s":"s","e":true,"k":"s","d":[47,194,241,242,1888],"c":[]}],["e",{"w":"synce","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"synced","s":"d","e":true,"k":"d","d":[387,689,1881,1890],"c":[["_",{"w":"synced_observers","s":"_observers","e":true,"k":"_","d":[132],"c":[]}]]}],["n",{"w":"syncenabled","s":"nabled","e":true,"k":"n","d":[205],"c":[]}]]}],["h",{"w":"synchron","s":"hron","e":false,"k":"h","d":[],"c":[["i",{"w":"synchroniz","s":"iz","e":false,"k":"i","d":[],"c":[["a",{"w":"synchronization","s":"ation","e":true,"k":"a","d":[138,192,395,1289,1361,1740,1797,1800,1804,1813,2119],"c":[["s",{"w":"synchronizations","s":"s","e":true,"k":"s","d":[1832],"c":[]}]]}],["e",{"w":"synchronize","s":"e","e":true,"k":"e","d":[1092,1484],"c":[]}],["i",{"w":"synchronizing","s":"ing","e":true,"k":"i","d":[1833],"c":[]}]]}],["o",{"w":"synchronous","s":"ous","e":true,"k":"o","d":[668,1214,1216,1217,1258,1398,1473,1507,2091],"c":[["l",{"w":"synchronously","s":"ly","e":true,"k":"l","d":[273,1289],"c":[]}]]}]]}],["l",{"w":"synclimit","s":"limit","e":true,"k":"l","d":[296,303,1909,1973],"c":[["c",{"w":"synclimitcheck","s":"check","e":true,"k":"c","d":[272],"c":[]}]]}],["i",{"w":"syncing","s":"ing","e":true,"k":"i","d":[880,1830],"c":[]}],["p",{"w":"syncpr","s":"pr","e":false,"k":"p","d":[],"c":[["i",{"w":"syncprimitive","s":"imitive","e":true,"k":"i","d":[1087,1090,1102],"c":[]}],["o",{"w":"syncprocessor","s":"ocessor","e":true,"k":"o","d":[2083],"c":[]}]]}],["c",{"w":"syncconnected","s":"connected","e":true,"k":"c","d":[1148],"c":[]}],["w",{"w":"syncwithleader","s":"withleader","e":true,"k":"w","d":[2080,2104],"c":[]}],["t",{"w":"syncthread","s":"thread","e":true,"k":"t","d":[2136],"c":[]}],["r",{"w":"syncrequestprocessor","s":"requestprocessor","e":true,"k":"r","d":[2181],"c":[]}]]}],["t",{"w":"syntax","s":"tax","e":true,"k":"t","d":[543,726],"c":[]}]]}],["m",{"w":"symposium","s":"mposium","e":true,"k":"m","d":[957,1760],"c":[]}]]}],["p",{"w":"sp","s":"p","e":false,"k":"p","d":[],"c":[["e",{"w":"spe","s":"e","e":false,"k":"e","d":[],"c":[["c",{"w":"spec","s":"c","e":true,"k":"c","d":[644],"c":[["i",{"w":"speci","s":"i","e":false,"k":"i","d":[],"c":[["a",{"w":"special","s":"al","e":true,"k":"a","d":[48,675,678,1168,1172,1321,1404,1472,1679,1682],"c":[["l",{"w":"specially","s":"ly","e":true,"k":"l","d":[396],"c":[]}]]}],["f",{"w":"specif","s":"f","e":false,"k":"f","d":[],"c":[["i",{"w":"specifi","s":"i","e":false,"k":"i","d":[],"c":[["e",{"w":"specifie","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"specified","s":"d","e":true,"k":"d","d":[65,100,126,181,200,204,293,311,402,520,582,644,662,665,718,724,878,881,968,969,970,1156,1228,1368,1387,1388,1947,2073],"c":[]}],["s",{"w":"specifies","s":"s","e":true,"k":"s","d":[179,228,331,343,344,345,346,347,348,349,350,351,352,353,354,356,357,358,367,389,685,1154,1221,1222,1223,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1367],"c":[]}]]}],["c",{"w":"specific","s":"c","e":true,"k":"c","d":[74,78,671,673,970,1046,1071,1155,1157,1262,1398,1627,1863],"c":[["a",{"w":"specifica","s":"a","e":false,"k":"a","d":[],"c":[["t",{"w":"specification","s":"tion","e":true,"k":"t","d":[643,644,665,713,2179],"c":[]}],["l",{"w":"specifically","s":"lly","e":true,"k":"l","d":[1203,1868,1898,1903,1976],"c":[]}]]}]]}]]}],["y",{"w":"specify","s":"y","e":true,"k":"y","d":[293,295,330,332,368,372,373,399,520,647,660,667,694,696,697,715,719,755,909,1268,1945,1974,1978,2038],"c":[["i",{"w":"specifying","s":"ing","e":true,"k":"i","d":[179,321,612,613,667,709,1265,2040],"c":[]}]]}]]}]]}]]}],["e",{"w":"speed","s":"ed","e":true,"k":"e","d":[210,1668],"c":[["s",{"w":"speeds","s":"s","e":true,"k":"s","d":[1694],"c":[]}]]}],["a",{"w":"speak","s":"ak","e":true,"k":"a","d":[1655],"c":[]}]]}],["a",{"w":"spa","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"space","s":"ce","e":true,"k":"c","d":[190],"c":[["s",{"w":"spaces","s":"s","e":true,"k":"s","d":[708],"c":[]}]]}],["r",{"w":"spark","s":"rk","e":true,"k":"r","d":[1604,1704,1716,1757],"c":[["-",{"w":"spark-standalone","s":"-standalone","e":true,"k":"-","d":[1757],"c":[]}]]}],["m",{"w":"spammy","s":"mmy","e":true,"k":"m","d":[2163],"c":[]}]]}],["i",{"w":"spike","s":"ike","e":true,"k":"i","d":[1549],"c":[["s",{"w":"spikes","s":"s","e":true,"k":"s","d":[394],"c":[]}]]}],["l",{"w":"split","s":"lit","e":true,"k":"l","d":[402,534,662,902,931,938,950,1913],"c":[["-",{"w":"split-brain","s":"-brain","e":true,"k":"-","d":[694],"c":[]}]]}],["o",{"w":"spoken","s":"oken","e":true,"k":"o","d":[1526],"c":[]}],["r",{"w":"spring","s":"ring","e":true,"k":"r","d":[1641,1642,1643,1644,1773,1775,1781],"c":[["-",{"w":"spring-","s":"-","e":false,"k":"-","d":[],"c":[["c",{"w":"spring-cloud-zookeeper","s":"cloud-zookeeper","e":true,"k":"c","d":[1575,1781],"c":[]}],["s",{"w":"spring-statemachine","s":"statemachine","e":true,"k":"s","d":[1576,1775],"c":[]}],["x",{"w":"spring-xd","s":"xd","e":true,"k":"x","d":[1577,1773],"c":[]}]]}]]}],["m",{"w":"spm","s":"m","e":true,"k":"m","d":[1733],"c":[]}],["u",{"w":"spurious","s":"urious","e":true,"k":"u","d":[2057],"c":[]}]]}],["w",{"w":"sw","s":"w","e":false,"k":"w","d":[],"c":[["a",{"w":"swap","s":"ap","e":true,"k":"a","d":[48,517,539,1349],"c":[["s",{"w":"swaps","s":"s","e":true,"k":"s","d":[48],"c":[]}],["p",{"w":"swapping","s":"ping","e":true,"k":"p","d":[517,1349],"c":[]}]]}],["i",{"w":"switch","s":"itch","e":true,"k":"i","d":[413,514,536,647,1227,1980],"c":[["i",{"w":"switching","s":"ing","e":true,"k":"i","d":[293,413,649],"c":[]}],["e",{"w":"switches","s":"es","e":true,"k":"e","d":[1382],"c":[]}]]}]]}],["s",{"w":"ssl","s":"sl","e":true,"k":"s","d":[53,56,143,148,150,151,179,315,331,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,363,364,365,366,367,427,813,815,816,1016,1219,1228,1230,1231,1232,1233,1234,2022,2028,2063,2105,2156],"c":[["-",{"w":"ssl-backed","s":"-backed","e":true,"k":"-","d":[329],"c":[]}],["q",{"w":"sslquorum","s":"quorum","e":true,"k":"q","d":[342],"c":[["r",{"w":"sslquorumreloadcertfiles","s":"reloadcertfiles","e":true,"k":"r","d":[365],"c":[]}]]}],["c",{"w":"sslcontext","s":"context","e":true,"k":"c","d":[352],"c":[]}],["p",{"w":"sslprovider","s":"provider","e":true,"k":"p","d":[364],"c":[]}]]}],["r",{"w":"sr","s":"r","e":false,"k":"r","d":[],"c":[["v",{"w":"srv","s":"v","e":true,"k":"v","d":[1238],"c":[["r",{"w":"srvr","s":"r","e":true,"k":"r","d":[58,67,128,306],"c":[]}]]}],["s",{"w":"srst","s":"st","e":true,"k":"s","d":[66,131],"c":[]}],["c",{"w":"src","s":"c","e":true,"k":"c","d":[712,717,1203,1256,2085],"c":[]}]]}],["k",{"w":"sk","s":"k","e":false,"k":"k","d":[],"c":[["i",{"w":"skip","s":"ip","e":true,"k":"i","d":[1241,1243,1905],"c":[["l",{"w":"skiplearnerrequesttonextprocessor","s":"learnerrequesttonextprocessor","e":true,"k":"l","d":[385],"c":[]}],["a",{"w":"skipacl","s":"acl","e":true,"k":"a","d":[397,597,674,677],"c":[]}],["s",{"w":"skips","s":"s","e":true,"k":"s","d":[397,674],"c":[]}],["p",{"w":"skipped","s":"ped","e":true,"k":"p","d":[677],"c":[]}]]}],["e",{"w":"skewed","s":"ewed","e":true,"k":"e","d":[1871],"c":[]}]]}],["q",{"w":"sq","s":"q","e":false,"k":"q","d":[],"c":[["r",{"w":"sqrt","s":"rt","e":true,"k":"r","d":[410],"c":[]}],["l",{"w":"sql","s":"l","e":true,"k":"l","d":[1657,1692,1704],"c":[]}],["u",{"w":"squash","s":"uash","e":true,"k":"u","d":[2174],"c":[]}]]}],["3",{"w":"s3","s":"3","e":true,"k":"3","d":[986],"c":[]}],["_",{"w":"s_i","s":"_i","e":true,"k":"_","d":[1543],"c":[]}],["4",{"w":"s4","s":"4","e":true,"k":"4","d":[1754],"c":[]}],["b",{"w":"sbom","s":"bom","e":true,"k":"b","d":[2170],"c":[]}]]}],["l",{"w":"l","s":"l","e":true,"k":"l","d":[1489,1493,1494,1495,1496,1497],"c":[["o",{"w":"lo","s":"o","e":false,"k":"o","d":[],"c":[["g",{"w":"log","s":"g","e":true,"k":"g","d":[5,12,13,15,42,47,71,181,183,186,188,190,191,193,194,200,205,229,231,263,387,419,437,439,442,448,449,450,451,452,537,538,604,659,807,834,855,864,963,994,1021,1022,1348,1670,1834,1915,1916,1917,1923,1939,1947,1950,1982,2045,2071,2077,2088,2111,2159,2163],"c":[["g",{"w":"logg","s":"g","e":false,"k":"g","d":[],"c":[["i",{"w":"logging","s":"ing","e":true,"k":"i","d":[2,8,17,25,78,100,186,754,755,795,833,854,1849,1858,1860,1915,1916,1924,1950],"c":[]}],["e",{"w":"logge","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"logger","s":"r","e":true,"k":"r","d":[265,855],"c":[["s",{"w":"loggers","s":"s","e":true,"k":"s","d":[1926],"c":[]}]]}],["d",{"w":"logged","s":"d","e":true,"k":"d","d":[850,852,862,1828],"c":[]}]]}]]}],["b",{"w":"logback","s":"back","e":true,"k":"b","d":[5,17,25,26,28,78,265,740,754,854,1915,1950,2036,2038,2039,2040,2069,2076,2096,2107],"c":[["'",{"w":"logback's","s":"'s","e":true,"k":"'","d":[754],"c":[]}],["-",{"w":"logback-classic","s":"-classic","e":true,"k":"-","d":[2036,2038,2039,2040],"c":[]}]]}],["s",{"w":"logs","s":"s","e":true,"k":"s","d":[15,16,29,83,87,89,91,93,95,109,152,157,194,203,264,265,316,442,449,452,794,806,808,833,840,853,973,1019,1020,1802,1950,1952,1982,2037,2135],"c":[["e",{"w":"logsene","s":"ene","e":true,"k":"e","d":[1733],"c":[]}]]}],["f",{"w":"logfile","s":"file","e":true,"k":"f","d":[115],"c":[]}],["d",{"w":"logdir","s":"dir","e":true,"k":"d","d":[2103],"c":[["_",{"w":"logdir_size","s":"_size","e":true,"k":"_","d":[115],"c":[]}]]}],["i",{"w":"logi","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"login","s":"n","e":true,"k":"n","d":[336,340,1221,2101],"c":[["s",{"w":"logins","s":"s","e":true,"k":"s","d":[330],"c":[]}]]}],["c",{"w":"logic","s":"c","e":true,"k":"c","d":[1130,1139,1369,2098],"c":[]}]]}],["4",{"w":"log4j","s":"4j","e":true,"k":"4","d":[741,755],"c":[["1",{"w":"log4j1","s":"1","e":true,"k":"1","d":[755],"c":[]}]]}]]}],["n",{"w":"lon","s":"n","e":false,"k":"n","d":[],"c":[["g",{"w":"long","s":"g","e":true,"k":"g","d":[11,77,100,211,214,215,271,272,342,385,417,510,692,1318,1346,1681,1802,1810,1882,1896,1952],"c":[["e",{"w":"longer","s":"er","e":true,"k":"e","d":[200,270,634,641,642,699,1399],"c":[]}],["-",{"w":"long-running","s":"-running","e":true,"k":"-","d":[308],"c":[]}]]}],["e",{"w":"lone","s":"e","e":true,"k":"e","d":[304],"c":[]}]]}],["a",{"w":"load","s":"ad","e":true,"k":"a","d":[48,249,312,331,517,880,882,1065,1066,1349,1403,1647,1663,1713,1731],"c":[["i",{"w":"loading","s":"ing","e":true,"k":"i","d":[29,243,254,255,278,279,884,2147],"c":[]}],["e",{"w":"loaded","s":"ed","e":true,"k":"e","d":[352,633],"c":[]}],["-",{"w":"load-balancing","s":"-balancing","e":true,"k":"-","d":[1402],"c":[]}]]}],["c",{"w":"loc","s":"c","e":false,"k":"c","d":[],"c":[["a",{"w":"loca","s":"a","e":false,"k":"a","d":[],"c":[["l",{"w":"local","s":"l","e":true,"k":"l","d":[148,224,225,226,240,313,343,413,414,747,751,765,986,1230,1406,1407,1409,1410,1411,1414,1415,1416,1417,1419,1420,1422,1424,1445,1676,1681,1682,1683,1713,1811,1829,1831],"c":[["h",{"w":"localhost","s":"host","e":true,"k":"h","d":[102,317,878,1978],"c":[]}],["s",{"w":"localsession","s":"session","e":false,"k":"s","d":[],"c":[["s",{"w":"localsessions","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"localsessionsenabled","s":"enabled","e":true,"k":"e","d":[313,384,1407],"c":[]}],["u",{"w":"localsessionsupgradingenabled","s":"upgradingenabled","e":true,"k":"u","d":[313,1408,1413],"c":[]}]]}],["t",{"w":"localsessiontracker","s":"tracker","e":true,"k":"t","d":[1415,1418],"c":[]}]]}],["l",{"w":"locally","s":"ly","e":true,"k":"l","d":[729,872,1415,1436,1445],"c":[]}],["p",{"w":"localpeer","s":"peer","e":true,"k":"p","d":[763],"c":[]}]]}],["t",{"w":"locati","s":"ti","e":false,"k":"t","d":[],"c":[["o",{"w":"location","s":"on","e":true,"k":"o","d":[122,181,343,346,991,1230,1232,1384,1701,1807,1820,1822,1947],"c":[["s",{"w":"locations","s":"s","e":true,"k":"s","d":[1317],"c":[]}]]}],["n",{"w":"locating","s":"ng","e":true,"k":"n","d":[1004],"c":[]}]]}]]}],["k",{"w":"lock","s":"k","e":true,"k":"k","d":[1321,1507,1509,1510,1512,1513,1514,1516,1520,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1537,1539,1540,1541,1631,1679,1682,1683,1693,2051,2079],"c":[["i",{"w":"locking","s":"ing","e":true,"k":"i","d":[603,1520,1732,1734,1735,1741,1742,1768],"c":[]}],["s",{"w":"locks","s":"s","e":true,"k":"s","d":[1287,1361,1458,1466,1468,1469,1473,1475,1507,1520,1522,1538,1539,1541,1561],"c":[]}],["n",{"w":"locknode","s":"node","e":true,"k":"n","d":[1511],"c":[]}]]}]]}],["t",{"w":"lot","s":"t","e":true,"k":"t","d":[189,1631,1718],"c":[["s",{"w":"lots","s":"s","e":true,"k":"s","d":[1420],"c":[]}]]}],["w",{"w":"low","s":"w","e":true,"k":"w","d":[414,1799,1877,1982],"c":[["e",{"w":"lowe","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"lower","s":"r","e":true,"k":"r","d":[214,413,1148,1261,1506,1529,1530],"c":[]}],["s",{"w":"lowest","s":"st","e":true,"k":"s","d":[1495,1497,1502,1503,1513,1514,1531,1532,1537],"c":[]}]]}],["-",{"w":"low-latency","s":"-latency","e":true,"k":"-","d":[1653],"c":[]}]]}],["s",{"w":"los","s":"s","e":false,"k":"s","d":[],"c":[["s",{"w":"loss","s":"s","e":true,"k":"s","d":[249,633,680,917,921,930,977,987,1343,1346,2060,2104],"c":[]}],["e",{"w":"lose","s":"e","e":true,"k":"e","d":[308,309,918,1868],"c":[["s",{"w":"loses","s":"s","e":true,"k":"s","d":[311,913,929,980,1396],"c":[]}]]}],["i",{"w":"losing","s":"ing","e":true,"k":"i","d":[533,534,955,1410],"c":[]}],["t",{"w":"lost","s":"t","e":true,"k":"t","d":[922,980,1392,1410,1869,1885,1896],"c":[]}]]}],["o",{"w":"loo","s":"o","e":false,"k":"o","d":[],"c":[["k",{"w":"look","s":"k","e":true,"k":"k","d":[451,1345,1370,1384,1881,1916],"c":[["i",{"w":"looking","s":"ing","e":true,"k":"i","d":[286,292,447,904,1729,1975],"c":[]}],["s",{"w":"looks","s":"s","e":true,"k":"s","d":[293,1134,1540,1905,1960],"c":[]}],["u",{"w":"lookup","s":"up","e":true,"k":"u","d":[355,1167,1225,1237,2025,2148],"c":[["s",{"w":"lookups","s":"s","e":true,"k":"s","d":[355,1238],"c":[]}]]}]]}],["p",{"w":"loop","s":"p","e":true,"k":"p","d":[1239,1240,1967,2082],"c":[]}]]}]]}],["i",{"w":"li","s":"i","e":false,"k":"i","d":[],"c":[["t",{"w":"little","s":"ttle","e":true,"k":"t","d":[11,1130,1867],"c":[]}],["k",{"w":"like","s":"ke","e":true,"k":"k","d":[19,105,205,212,268,286,293,335,338,364,368,537,634,668,681,871,878,909,949,1109,1134,1166,1172,1289,1304,1384,1387,1420,1506,1638,1639,1645,1655,1731,1801,1806,1807,1905,1956,1960],"c":[["l",{"w":"likely","s":"ly","e":true,"k":"l","d":[48,405],"c":[]}]]}],["n",{"w":"lin","s":"n","e":false,"k":"n","d":[],"c":[["u",{"w":"linux","s":"ux","e":true,"k":"u","d":[20,227,483],"c":[]}],["e",{"w":"line","s":"e","e":true,"k":"e","d":[285,305,403,405,407,521,665,679,876,878,902,965,1064,1106,1132,1500,1692,1958],"c":[["s",{"w":"lines","s":"s","e":true,"k":"s","d":[74,371,520,662],"c":[]}],["a",{"w":"linear","s":"ar","e":true,"k":"a","d":[1695],"c":[["i",{"w":"linearizab","s":"izab","e":false,"k":"i","d":[],"c":[["l",{"w":"linearizable","s":"le","e":true,"k":"l","d":[1073,1907,1908],"c":[]}],["i",{"w":"linearizability","s":"ility","e":true,"k":"i","d":[1906,1909,1910],"c":[]}]]}]]}]]}],["k",{"w":"link","s":"k","e":true,"k":"k","d":[1240,1254],"c":[["s",{"w":"links","s":"s","e":true,"k":"s","d":[637,872,1352],"c":[]}],["e",{"w":"linked","s":"ed","e":true,"k":"e","d":[656,747],"c":[]}]]}]]}],["s",{"w":"list","s":"st","e":true,"k":"s","d":[46,50,61,70,72,73,102,113,114,132,174,192,292,297,306,307,332,341,356,379,380,381,382,398,590,591,635,674,689,691,692,694,712,717,729,840,864,974,1101,1105,1160,1167,1177,1191,1196,1200,1219,1237,1316,1318,1319,1347,1378,1383,1387,1402,1403,1404,1405,1435,1438,1445,1500,1503,1506,1549,1560,1701,1703,1809,1825,1958,1975],"c":[["e",{"w":"liste","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"listen","s":"n","e":true,"k":"n","d":[35,178,179,180,197,398,447,881,1948],"c":[["s",{"w":"listens","s":"s","e":true,"k":"s","d":[432,433],"c":[]}]]}],["d",{"w":"listed","s":"d","e":true,"k":"d","d":[59,690,691,694,1625],"c":[]}]]}],["s",{"w":"lists","s":"s","e":true,"k":"s","d":[42,46,63,67,68,69,70,72,447,1347,1435,1506,1702],"c":[]}],["i",{"w":"listing","s":"ing","e":true,"k":"i","d":[435,690,692,902,961,1086,1957],"c":[["s",{"w":"listings","s":"s","e":true,"k":"s","d":[1117],"c":[]}]]}],["q",{"w":"listquota","s":"quota","e":true,"k":"q","d":[559,974],"c":[]}]]}],["m",{"w":"limit","s":"mit","e":true,"k":"m","d":[48,189,194,195,196,212,229,231,266,268,517,634,1349,1973],"c":[["s",{"w":"limits","s":"s","e":true,"k":"s","d":[194,195,196,604,964,1973],"c":[]}],["a",{"w":"limitation","s":"ation","e":true,"k":"a","d":[2110],"c":[["s",{"w":"limitations","s":"s","e":true,"k":"s","d":[206,521],"c":[]}]]}],["i",{"w":"limiting","s":"ing","e":true,"k":"i","d":[216,217,218,219,220,221,222,422,1474],"c":[]}],["e",{"w":"limited","s":"ed","e":true,"k":"e","d":[471,1072,1154],"c":[]}]]}],["b",{"w":"lib","s":"b","e":true,"k":"b","d":[321,323,1396,1398],"c":[["r",{"w":"librar","s":"rar","e":false,"k":"r","d":[],"c":[["y",{"w":"library","s":"y","e":true,"k":"y","d":[364,473,1176,1205,1217,1239,1240,1247,1254,1263,1272,1346,1382,1383,1386,1387,1636,1676,1696,2038,2097],"c":[]}],["i",{"w":"libraries","s":"ies","e":true,"k":"i","d":[364,526,528,1148,1205,1211,1240,1248,1249,1251,1450,1472],"c":[]}]]}],["t",{"w":"libtool","s":"tool","e":true,"k":"t","d":[1243],"c":[]}]]}],["f",{"w":"lif","s":"f","e":false,"k":"f","d":[],"c":[["e",{"w":"life","s":"e","e":false,"k":"e","d":[],"c":[["c",{"w":"lifecycle","s":"cycle","e":true,"k":"c","d":[437,541],"c":[]}],["s",{"w":"lifespan","s":"span","e":true,"k":"s","d":[1416],"c":[]}]]}],["t",{"w":"lifting","s":"ting","e":true,"k":"t","d":[1896],"c":[]}]]}],["v",{"w":"live","s":"ve","e":true,"k":"v","d":[986],"c":[["n",{"w":"liveness","s":"ness","e":true,"k":"n","d":[729,730,895,917,918,930,1871],"c":[]}]]}],["g",{"w":"light","s":"ght","e":false,"k":"g","d":[],"c":[["w",{"w":"lightweight","s":"weight","e":true,"k":"w","d":[1436],"c":[]}],["-",{"w":"light-weight","s":"-weight","e":true,"k":"-","d":[1647,1669],"c":[]}]]}],["e",{"w":"lie","s":"e","e":true,"k":"e","d":[1906],"c":[["s",{"w":"lies","s":"s","e":true,"k":"s","d":[1910],"c":[]}]]}],["c",{"w":"license","s":"cense","e":true,"k":"c","d":[2068,2076,2184],"c":[]}]]}],["a",{"w":"la","s":"a","e":false,"k":"a","d":[],"c":[["r",{"w":"large","s":"rge","e":true,"k":"r","d":[12,188,192,266,267,287,394,395,399,410,866,880,1317,1420,1537,1549,1641,1670,1672,1676,1692,1704,1731,1800],"c":[["r",{"w":"larger","s":"r","e":true,"k":"r","d":[193,194,209,211,223,225,1912,1913],"c":[["e",{"w":"largerequest","s":"equest","e":false,"k":"e","d":[],"c":[["m",{"w":"largerequestmaxbytes","s":"maxbytes","e":true,"k":"m","d":[266],"c":[]}],["t",{"w":"largerequestthreshold","s":"threshold","e":true,"k":"t","d":[267],"c":[]}]]}]]}],["s",{"w":"largest","s":"st","e":true,"k":"s","d":[1554,1558],"c":[]}],["-",{"w":"large-scale","s":"-scale","e":true,"k":"-","d":[1716],"c":[]}]]}],["s",{"w":"las","s":"s","e":false,"k":"s","d":[],"c":[["t",{"w":"last","s":"t","e":true,"k":"t","d":[12,15,61,121,192,419,448,452,580,644,679,690,691,696,710,718,725,1321,1332,1333,1335,1500,1502],"c":[["_",{"w":"last_","s":"_","e":false,"k":"_","d":[],"c":[["s",{"w":"last_snapshot","s":"snapshot","e":true,"k":"s","d":[121],"c":[]}],["z",{"w":"last_zxid","s":"zxid","e":true,"k":"z","d":[125,129],"c":[]}]]}],["p",{"w":"lastprocessedzxid","s":"processedzxid","e":true,"k":"p","d":[275,278,279,280],"c":[]}]]}],["e",{"w":"laser","s":"er","e":true,"k":"e","d":[1541],"c":[]}]]}],["u",{"w":"launch","s":"unch","e":true,"k":"u","d":[1717],"c":[["i",{"w":"launching","s":"ing","e":true,"k":"i","d":[20],"c":[]}]]}],["t",{"w":"lat","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"late","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"latenc","s":"nc","e":false,"k":"n","d":[],"c":[["i",{"w":"latencies","s":"ies","e":true,"k":"i","d":[61,188,1317,1982],"c":[]}],["y",{"w":"latency","s":"y","e":true,"k":"y","d":[235,236,394,442,883,1063,1454,1799],"c":[]}]]}],["s",{"w":"latest","s":"st","e":true,"k":"s","d":[76,452,678,724,930,989,1753,1757,1770],"c":[]}],["r",{"w":"later","s":"r","e":true,"k":"r","d":[176,251,295,379,1133,1433,1525,1526,2118],"c":[]}]]}],["t",{"w":"latter","s":"ter","e":true,"k":"t","d":[121,452],"c":[]}]]}],["y",{"w":"lay","s":"y","e":false,"k":"y","d":[],"c":[["o",{"w":"layouts","s":"outs","e":true,"k":"o","d":[174],"c":[]}],["e",{"w":"layer","s":"er","e":true,"k":"e","d":[1041,1045,1676,1830,1831,1915],"c":[["s",{"w":"layers","s":"s","e":true,"k":"s","d":[1050],"c":[]}]]}]]}],["z",{"w":"lazily","s":"zily","e":true,"k":"z","d":[209,210,211],"c":[]}],["c",{"w":"lack","s":"ck","e":true,"k":"c","d":[445],"c":[["s",{"w":"lacks","s":"s","e":true,"k":"s","d":[2091],"c":[]}]]}],["n",{"w":"language","s":"nguage","e":true,"k":"n","d":[1262,1382,1718],"c":[["s",{"w":"languages","s":"s","e":true,"k":"s","d":[1211],"c":[]}]]}],["b",{"w":"lab","s":"b","e":true,"k":"b","d":[1346],"c":[["e",{"w":"labels","s":"els","e":true,"k":"e","d":[1649],"c":[]}]]}]]}],["e",{"w":"le","s":"e","e":false,"k":"e","d":[],"c":[["t",{"w":"let","s":"t","e":true,"k":"t","d":[1551,1553,1556],"c":[["t",{"w":"lett","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"letter","s":"er","e":true,"k":"e","d":[22,31,54,59,118,127,306,805,832],"c":[["s",{"w":"letters","s":"s","e":true,"k":"s","d":[57],"c":[]}]]}],["i",{"w":"letting","s":"ing","e":true,"k":"i","d":[1346],"c":[]}]]}],["'",{"w":"let's","s":"'s","e":true,"k":"'","d":[1271,1965],"c":[]}],["s",{"w":"lets","s":"s","e":true,"k":"s","d":[1542,1672,1955],"c":[]}]]}],["s",{"w":"less","s":"ss","e":true,"k":"s","d":[38,47,206,207,392,535,872,1317,1328,1537,1845,1971],"c":[]}],["a",{"w":"lea","s":"a","e":false,"k":"a","d":[],"c":[["d",{"w":"lead","s":"d","e":true,"k":"d","d":[122,194,883,2083],"c":[["e",{"w":"leader","s":"er","e":true,"k":"e","d":[74,89,95,100,122,132,147,180,194,214,215,241,242,243,245,252,253,256,271,272,274,280,283,285,286,287,288,289,291,292,296,298,299,301,305,310,311,312,342,395,398,406,419,520,522,606,679,684,687,689,690,692,696,699,700,701,703,704,706,710,718,723,725,729,730,731,768,769,770,771,809,871,879,880,908,913,918,919,920,923,925,927,928,930,935,938,944,953,955,1070,1071,1072,1287,1321,1411,1416,1424,1458,1471,1548,1549,1551,1557,1560,1661,1664,1669,1701,1707,1715,1717,1724,1734,1735,1738,1739,1741,1742,1743,1830,1831,1841,1843,1845,1852,1877,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1892,1893,1894,1895,1896,1899,1900,1901,1903,1904,1905,1909,1911,1973,1976,1978,2111],"c":[["_",{"w":"leader_i","s":"_i","e":false,"k":"_","d":[],"c":[["d",{"w":"leader_id","s":"d","e":true,"k":"d","d":[122],"c":[]}],["p",{"w":"leader_ip","s":"p","e":true,"k":"p","d":[122],"c":[]}]]}],["s",{"w":"leaders","s":"s","e":true,"k":"s","d":[881,1700,1830,1834,1904],"c":[["e",{"w":"leaderse","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"leaderserves","s":"rves","e":true,"k":"r","d":[289],"c":[]}],["s",{"w":"leadersessiontracker","s":"ssiontracker","e":true,"k":"s","d":[1418],"c":[]}]]}],["h",{"w":"leadership","s":"hip","e":true,"k":"h","d":[1877,1881,1904],"c":[]}]]}],["'",{"w":"leader's","s":"'s","e":true,"k":"'","d":[702,1070],"c":[]}],["e",{"w":"leaderelection","s":"election","e":true,"k":"e","d":[766,767],"c":[]}],["z",{"w":"leaderzookeeper","s":"zookeeper","e":true,"k":"z","d":[1418],"c":[]}],["-",{"w":"leader-follower","s":"-follower","e":true,"k":"-","d":[1700],"c":[]}]]}],["s",{"w":"leads","s":"s","e":true,"k":"s","d":[871],"c":[]}],["i",{"w":"leading","s":"ing","e":true,"k":"i","d":[1707,2060],"c":[]}]]}],["r",{"w":"learn","s":"rn","e":true,"k":"r","d":[879,880,1077],"c":[["e",{"w":"learner","s":"er","e":true,"k":"e","d":[132,248,271,273,288,342,879,2080,2104],"c":[["s",{"w":"learners","s":"s","e":true,"k":"s","d":[274,880],"c":[["e",{"w":"learnersessiontracker","s":"essiontracker","e":true,"k":"e","d":[1418],"c":[]}]]}],["h",{"w":"learnerhandler","s":"handler","e":true,"k":"h","d":[1071],"c":[]}]]}],["i",{"w":"learning","s":"ing","e":true,"k":"i","d":[695],"c":[]}]]}],["v",{"w":"leave","s":"ve","e":true,"k":"v","d":[211,271,667,688,722,1091,1100,1270,1484,1485,1487,1501,1915],"c":[["s",{"w":"leaves","s":"s","e":true,"k":"s","d":[1543],"c":[]}]]}],["k",{"w":"leak","s":"k","e":true,"k":"k","d":[309,2020,2041],"c":[["s",{"w":"leaks","s":"s","e":true,"k":"s","d":[2096],"c":[]}]]}],["s",{"w":"leas","s":"s","e":false,"k":"s","d":[],"c":[["t",{"w":"least","s":"t","e":true,"k":"t","d":[341,410,644,870,904,1088,1100,1355,1387,1454,1709,1867,1876,1912],"c":[]}],["e",{"w":"lease","s":"e","e":true,"k":"e","d":[1685],"c":[]}]]}],["f",{"w":"leaf","s":"f","e":true,"k":"f","d":[970],"c":[]}]]}],["v",{"w":"leve","s":"ve","e":false,"k":"v","d":[],"c":[["l",{"w":"level","s":"l","e":true,"k":"l","d":[78,143,196,293,308,309,477,1261,1287,1289,1353,1394,1797,1860,1915,1920],"c":[["s",{"w":"levels","s":"s","e":true,"k":"s","d":[755,1917],"c":[]}]]}],["r",{"w":"leverages","s":"rages","e":true,"k":"r","d":[1650,1669,1705],"c":[]}]]}],["n",{"w":"len","s":"n","e":true,"k":"n","d":[391,392,2056],"c":[["g",{"w":"length","s":"gth","e":true,"k":"g","d":[184,214,215,227,392,966,1235,1340,1541,1973],"c":[["'",{"w":"length'","s":"'","e":true,"k":"'","d":[2089],"c":[]}]]}]]}],["f",{"w":"left","s":"ft","e":true,"k":"f","d":[292,402,753,755,1023,1502,1896],"c":[["-",{"w":"left-hand","s":"-hand","e":true,"k":"-","d":[297],"c":[]}]]}],["g",{"w":"leg","s":"g","e":false,"k":"g","d":[],"c":[["a",{"w":"lega","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"legacy","s":"cy","e":true,"k":"c","d":[402,652],"c":[]}],["l",{"w":"legal","s":"l","e":true,"k":"l","d":[646,660,688,689],"c":[]}]]}],["i",{"w":"legitimate","s":"itimate","e":true,"k":"i","d":[672],"c":[]}]]}],["x",{"w":"lexicographic","s":"xicographic","e":true,"k":"x","d":[1105],"c":[]}],["d",{"w":"ledger","s":"dger","e":true,"k":"d","d":[1713],"c":[["s",{"w":"ledgers","s":"s","e":true,"k":"s","d":[1654,1746],"c":[]}]]}]]}],["s",{"w":"ls","s":"s","e":true,"k":"s","d":[560,878,1958,1960],"c":[["n",{"w":"lsnp","s":"np","e":true,"k":"n","d":[121],"c":[]}]]}],["t",{"w":"lts","s":"ts","e":true,"k":"t","d":[509],"c":[]}],["-",{"w":"l-","s":"-","e":false,"k":"-","d":[],"c":[["b",{"w":"l-ben","s":"ben","e":true,"k":"b","d":[924,928,929],"c":[]}],["j",{"w":"l-john","s":"john","e":true,"k":"j","d":[925,926],"c":[]}]]}],["u",{"w":"lucene","s":"ucene","e":true,"k":"u","d":[1634,1638,1714,1755,1756],"c":[]}],["r",{"w":"lru","s":"ru","e":true,"k":"r","d":[2058],"c":[]}]]}],["h",{"w":"h","s":"h","e":true,"k":"h","d":[204,1253,2061],"c":[["o",{"w":"ho","s":"o","e":false,"k":"o","d":[],"c":[["w",{"w":"how","s":"w","e":true,"k":"w","d":[102,140,146,209,212,214,215,320,325,437,610,675,737,753,795,866,867,868,886,902,903,945,956,977,1147,1203,1278,1353,1363,1365,1380,1402,1484,1538,1561,1838,1967,1973,2105],"c":[["e",{"w":"however","s":"ever","e":true,"k":"e","d":[11,207,295,402,510,644,665,684,692,883,917,930,1144,1172,1355,1502,1832,1871,1874,1907,1908,1912,1939],"c":[]}]]}],["s",{"w":"host","s":"st","e":true,"k":"s","d":[180,195,328,369,371,373,399,515,520,751,942,943,1098,1150,1156,1174,1224,1237,1264,1265,1313,1368,1383,1402,1403,1979],"c":[["n",{"w":"hostname","s":"name","e":true,"k":"n","d":[36,148,197,292,353,354,355,371,376,878,1224,2044,2067,2073,2148],"c":[["v",{"w":"hostnameverification","s":"verification","e":true,"k":"v","d":[353,354],"c":[]}],["s",{"w":"hostnames","s":"s","e":true,"k":"s","d":[2148],"c":[]}]]}],["s",{"w":"hosts","s":"s","e":true,"k":"s","d":[525,1403,1404,1669,1731,1801],"c":[]}],["p",{"w":"hostprovider","s":"provider","e":true,"k":"p","d":[1238],"c":[]}],["e",{"w":"hosted","s":"ed","e":true,"k":"e","d":[1725],"c":[]}]]}],["u",{"w":"hours","s":"urs","e":true,"k":"u","d":[204],"c":[]}],["l",{"w":"hol","s":"l","e":false,"k":"l","d":[],"c":[["d",{"w":"hold","s":"d","e":true,"k":"d","d":[532,1503,1507,1885],"c":[["s",{"w":"holds","s":"s","e":true,"k":"s","d":[446,536,815,1398,1418,1682,1683,1882],"c":[]}],["i",{"w":"holding","s":"ing","e":true,"k":"i","d":[879],"c":[]}],["e",{"w":"holder","s":"er","e":true,"k":"e","d":[1541],"c":[]}]]}],["i",{"w":"holistic","s":"istic","e":true,"k":"i","d":[1760,1881],"c":[]}],["e",{"w":"hole","s":"e","e":true,"k":"e","d":[2060],"c":[]}]]}],["n",{"w":"honor","s":"nor","e":true,"k":"n","d":[1237,2093],"c":[]}],["f",{"w":"hoff","s":"ff","e":true,"k":"f","d":[1360],"c":[]}],["p",{"w":"hop","s":"p","e":false,"k":"p","d":[],"c":[["e",{"w":"hopefully","s":"efully","e":true,"k":"e","d":[1472,1881],"c":[]}],["i",{"w":"hoping","s":"ing","e":true,"k":"i","d":[1939],"c":[]}]]}]]}],["a",{"w":"ha","s":"a","e":true,"k":"a","d":[1709,2131],"c":[["s",{"w":"has","s":"s","e":true,"k":"s","d":[15,46,65,121,126,143,188,193,194,204,221,224,225,226,237,269,292,305,315,357,364,374,384,385,401,405,406,417,443,447,535,537,633,634,659,672,687,692,706,718,731,745,762,809,828,852,941,959,966,970,973,986,1072,1073,1098,1100,1105,1121,1139,1146,1148,1167,1168,1170,1171,1219,1237,1239,1268,1283,1284,1304,1311,1316,1318,1320,1321,1323,1347,1364,1368,1392,1401,1402,1433,1434,1473,1501,1513,1529,1530,1532,1560,1626,1668,1670,1681,1683,1693,1700,1707,1713,1797,1809,1810,1811,1817,1846,1866,1876,1877,1881,1883,1887,1888,1890,1892,1894,1896,1900,1903,1905,1915,1961,1967,1975,2178],"c":[["h",{"w":"hash","s":"h","e":true,"k":"h","d":[76,114,243,245,246,247,248,249,250,1168,1173,1198],"c":[["s",{"w":"hashset","s":"set","e":true,"k":"s","d":[213],"c":[]}]]}],["n",{"w":"hasn","s":"n","e":true,"k":"n","d":[1424],"c":[["'",{"w":"hasn't","s":"'t","e":true,"k":"'","d":[286],"c":[]}]]}]]}],["v",{"w":"hav","s":"v","e":false,"k":"v","d":[],"c":[["e",{"w":"have","s":"e","e":true,"k":"e","d":[18,29,46,47,48,102,189,212,235,251,263,268,285,291,305,307,329,333,337,352,385,402,408,409,413,417,512,513,514,521,522,531,534,668,673,688,706,710,746,829,871,872,902,904,910,912,918,923,935,971,1088,1090,1092,1098,1137,1146,1154,1164,1167,1168,1169,1191,1196,1198,1200,1237,1243,1252,1263,1284,1289,1304,1314,1317,1318,1326,1348,1349,1371,1387,1404,1407,1432,1434,1484,1503,1537,1543,1546,1547,1548,1549,1669,1700,1709,1807,1869,1876,1877,1881,1884,1887,1895,1900,1901,1903,1912,1913,1915,1956,1968,1971,1973,1978,1979,1980,1982,2160],"c":[]}],["i",{"w":"having","s":"ing","e":true,"k":"i","d":[19,188,305,365,366,870,1304,1419,1529,1531,1543,1549,1560,1807],"c":[]}]]}],["n",{"w":"han","s":"n","e":false,"k":"n","d":[],"c":[["d",{"w":"hand","s":"d","e":true,"k":"d","d":[194,292,753,755,1134,1143],"c":[["l",{"w":"handl","s":"l","e":false,"k":"l","d":[],"c":[["e",{"w":"handle","s":"e","e":true,"k":"e","d":[396,414,510,635,1099,1218,1346,1382,1385,1387,1407,1420,1454,1476,1626,1676,1867,1905,2116],"c":[["d",{"w":"handled","s":"d","e":true,"k":"d","d":[253,256,413,1047,1049,1365,1412],"c":[]}],["r",{"w":"handler","s":"r","e":true,"k":"r","d":[1269],"c":[["s",{"w":"handlers","s":"s","e":true,"k":"s","d":[1456],"c":[]}]]}],["s",{"w":"handles","s":"s","e":true,"k":"s","d":[1361,1475,1521],"c":[]}],["a",{"w":"handleauthentication","s":"authentication","e":true,"k":"a","d":[1367,1369,1373],"c":[]}]]}],["i",{"w":"handling","s":"ing","e":true,"k":"i","d":[398,1111,1239,1258,1259,1460,1707,1927,2113],"c":[]}]]}],["s",{"w":"handshake","s":"shake","e":true,"k":"s","d":[268,269,1385],"c":[["s",{"w":"handshakes","s":"s","e":true,"k":"s","d":[268,269],"c":[]}],["d",{"w":"handshakedetectiontimeoutmillis","s":"detectiontimeoutmillis","e":true,"k":"d","d":[363],"c":[]}]]}],["-",{"w":"hand-off","s":"-off","e":true,"k":"-","d":[704],"c":[]}]]}],["g",{"w":"hang","s":"g","e":true,"k":"g","d":[273,1871,2095],"c":[]}],["c",{"w":"hancements","s":"cements","e":true,"k":"c","d":[1724],"c":[]}]]}],["r",{"w":"har","s":"r","e":false,"k":"r","d":[],"c":[["d",{"w":"hard","s":"d","e":true,"k":"d","d":[232,351,379,509,604,870,973,1798],"c":[["w",{"w":"hardware","s":"ware","e":true,"k":"w","d":[352,541,942,943,980,1676],"c":[["-",{"w":"hardware-based","s":"-based","e":true,"k":"-","d":[898],"c":[]}]]}],["c",{"w":"hardcoded","s":"coded","e":true,"k":"c","d":[382],"c":[]}]]}],["m",{"w":"harm","s":"m","e":false,"k":"m","d":[],"c":[["i",{"w":"harming","s":"ing","e":true,"k":"i","d":[871,872],"c":[]}],["f",{"w":"harmful","s":"ful","e":true,"k":"f","d":[1919],"c":[]}]]}]]}],["p",{"w":"happen","s":"ppen","e":true,"k":"p","d":[254,938,1214,1454,1660,1979,2038,2039],"c":[["e",{"w":"happened","s":"ed","e":true,"k":"e","d":[245,452,706,1326,1346],"c":[]}],["s",{"w":"happens","s":"s","e":true,"k":"s","d":[373,399,706,1140,1142,1214,1388,1423,1454,1885,1895],"c":[]}]]}],["d",{"w":"had","s":"d","e":true,"k":"d","d":[327,417,1867],"c":[["o",{"w":"hadoop","s":"oop","e":true,"k":"o","d":[637,853,862,864,1358,1592,1651,1657,1676,1684,1704,1708,1718,1721,1722,1750],"c":[["-",{"w":"hadoop-","s":"-","e":false,"k":"-","d":[],"c":[["p",{"w":"hadoop-project-dist","s":"project-dist","e":true,"k":"p","d":[1750],"c":[]}],["h",{"w":"hadoop-hdfs","s":"hdfs","e":true,"k":"h","d":[1750],"c":[]}]]}]]}]]}],["t",{"w":"hatch","s":"tch","e":true,"k":"t","d":[674],"c":[]}],["l",{"w":"half","s":"lf","e":true,"k":"l","d":[870,1912,1913],"c":[["-",{"w":"half-complete","s":"-complete","e":true,"k":"-","d":[1026],"c":[]}]]}]]}],["i",{"w":"hi","s":"i","e":false,"k":"i","d":[],"c":[["g",{"w":"high","s":"gh","e":true,"k":"g","d":[229,288,413,414,880,883,1279,1639,1652,1659,1669,1675,1723,1799,1800,1833,1845,1877,1885,1913,2107],"c":[["l",{"w":"highl","s":"l","e":false,"k":"l","d":[],"c":[["y",{"w":"highly","s":"y","e":true,"k":"y","d":[18,188,291,659,667,1628,1669,1800,1833,1846],"c":[["-",{"w":"highly-available","s":"-available","e":true,"k":"-","d":[1676],"c":[]}]]}],["i",{"w":"highlight","s":"ight","e":true,"k":"i","d":[1920],"c":[]}]]}],["e",{"w":"highe","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"higher","s":"r","e":true,"k":"r","d":[235,236,288,289,1261,1287,1289,1353,1472,1506,1797,1832,1887],"c":[["-",{"w":"higher-","s":"-","e":false,"k":"-","d":[],"c":[["o",{"w":"higher-order","s":"order","e":true,"k":"o","d":[1458],"c":[]}],["l",{"w":"higher-level","s":"level","e":true,"k":"l","d":[1459,1804],"c":[]}]]}]]}],["s",{"w":"highest","s":"st","e":true,"k":"s","d":[536,986,1495,1502,1883,1885,1888,1903],"c":[]}]]}],["-",{"w":"high-","s":"-","e":false,"k":"-","d":[],"c":[["p",{"w":"high-performance","s":"performance","e":true,"k":"p","d":[1666],"c":[]}],["a",{"w":"high-availability","s":"availability","e":true,"k":"a","d":[1669,1676,1707,1753],"c":[]}],["l",{"w":"high-level","s":"level","e":true,"k":"l","d":[1827],"c":[]}]]}],["a",{"w":"highavailability","s":"availability","e":true,"k":"a","d":[1778],"c":[]}]]}],["s",{"w":"his","s":"s","e":true,"k":"s","d":[1384],"c":[["t",{"w":"histor","s":"tor","e":false,"k":"t","d":[],"c":[["y",{"w":"history","s":"y","e":true,"k":"y","d":[76,558,598,731],"c":[]}],["i",{"w":"historical","s":"ical","e":true,"k":"i","d":[114,1662,1663],"c":[]}]]}]]}],["t",{"w":"hit","s":"t","e":true,"k":"t","d":[194,399,1349],"c":[["s",{"w":"hits","s":"s","e":true,"k":"s","d":[1349],"c":[]}]]}],["e",{"w":"hierarch","s":"erarch","e":false,"k":"e","d":[],"c":[["i",{"w":"hierarchical","s":"ical","e":true,"k":"i","d":[297,698,710,715,886,887,902,1291,1786,1787,1799,1913],"c":[]}],["y",{"w":"hierarchy","s":"y","e":true,"k":"y","d":[317,329,330,755,970,1914],"c":[]}],["a",{"w":"hierarchal","s":"al","e":true,"k":"a","d":[1304],"c":[]}]]}],["m",{"w":"him","s":"m","e":true,"k":"m","d":[930],"c":[]}],["v",{"w":"hive","s":"ve","e":true,"k":"v","d":[1595,1692,1693,1768,1769],"c":[["s",{"w":"hiveserver2","s":"server2","e":true,"k":"s","d":[1693],"c":[]}]]}]]}],["e",{"w":"he","s":"e","e":true,"k":"e","d":[1404],"c":[["a",{"w":"hea","s":"a","e":false,"k":"a","d":[],"c":[["l",{"w":"heal","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"healing","s":"ing","e":true,"k":"i","d":[18],"c":[]}],["t",{"w":"health","s":"th","e":true,"k":"t","d":[29,73,1681],"c":[["y",{"w":"healthy","s":"y","e":true,"k":"y","d":[157,1681,1682,1683,1980],"c":[]}],["-",{"w":"health-check","s":"-check","e":true,"k":"-","d":[1681],"c":[]}]]}]]}],["p",{"w":"heap","s":"p","e":true,"k":"p","d":[20,42,48,517,539,1349,2176],"c":[["s",{"w":"heapsize","s":"size","e":true,"k":"s","d":[1349],"c":[]}],["-",{"w":"heap-use-after-free","s":"-use-after-free","e":true,"k":"-","d":[2044],"c":[]}]]}],["d",{"w":"header","s":"der","e":true,"k":"d","d":[252,328,1253],"c":[["s",{"w":"headers","s":"s","e":true,"k":"s","d":[129],"c":[]}]]}],["r",{"w":"hear","s":"r","e":true,"k":"r","d":[871,1388],"c":[["t",{"w":"heart","s":"t","e":true,"k":"t","d":[1803,1862],"c":[["b",{"w":"heartbeat","s":"beat","e":true,"k":"b","d":[1214,1388],"c":[["s",{"w":"heartbeats","s":"s","e":true,"k":"s","d":[184,1946],"c":[]}]]}]]}]]}],["v",{"w":"heav","s":"v","e":false,"k":"v","d":[],"c":[["y",{"w":"heavy","s":"y","e":true,"k":"y","d":[208,209,210,211,1867,1896],"c":[]}],["i",{"w":"heavily","s":"ily","e":true,"k":"i","d":[1416],"c":[]}]]}]]}],["r",{"w":"her","s":"r","e":true,"k":"r","d":[1384],"c":[["e",{"w":"here","s":"e","e":true,"k":"e","d":[45,154,177,250,251,276,297,298,373,385,515,537,950,1120,1138,1201,1245,1314,1344,1365,1432,1475,1485,1517,1625,1944,1945,1951,1958,1972],"c":[["'",{"w":"here's","s":"'s","e":true,"k":"'","d":[101,306,1479,1550],"c":[]}]]}],["d",{"w":"herd","s":"d","e":true,"k":"d","d":[268,1387,1474,1512,1518,1527,1528,1537,1549],"c":[["i",{"w":"herding","s":"ing","e":true,"k":"i","d":[416],"c":[]}]]}]]}],["l",{"w":"hel","s":"l","e":false,"k":"l","d":[],"c":[["p",{"w":"help","s":"p","e":true,"k":"p","d":[249,274,310,385,406,419,545,1036,1435,1957,2176],"c":[["s",{"w":"helps","s":"s","e":true,"k":"s","d":[186,201,268,293,647,871,1435,1655],"c":[]}],["e",{"w":"helper","s":"er","e":true,"k":"e","d":[2066],"c":[]}]]}],["d",{"w":"held","s":"d","e":true,"k":"d","d":[537],"c":[]}],["i",{"w":"helix","s":"ix","e":true,"k":"i","d":[1594,1688,1764],"c":[]}]]}],["x",{"w":"hex","s":"x","e":true,"k":"x","d":[780,793,2151],"c":[]}],["u",{"w":"heuristics","s":"uristics","e":true,"k":"u","d":[1387],"c":[]}],["s",{"w":"hesitate","s":"sitate","e":true,"k":"s","d":[1625],"c":[]}]]}],["t",{"w":"ht","s":"t","e":false,"k":"t","d":[],"c":[["t",{"w":"http","s":"tp","e":true,"k":"t","d":[36,102,129,328,429,516,812,818,1655,1747,1749,1753,1754,1765,1778,1779,2146],"c":[["h",{"w":"httphost","s":"host","e":true,"k":"h","d":[35],"c":[]}],["p",{"w":"httpport","s":"port","e":true,"k":"p","d":[36],"c":[]}],["o",{"w":"httport","s":"ort","e":true,"k":"o","d":[36],"c":[]}],["-",{"w":"http-based","s":"-based","e":true,"k":"-","d":[53],"c":[]}],["s",{"w":"https","s":"s","e":true,"k":"s","d":[207,244,427,429,799,814,818,1744,1745,1746,1748,1750,1751,1752,1755,1756,1757,1758,1759,1761,1762,1763,1764,1766,1767,1768,1770,1771,1772,1773,1774,1775,1776,1777,1780,1781],"c":[]}]]}],["m",{"w":"html","s":"ml","e":true,"k":"m","d":[1251,1747,1748,1749,1750,1751,1752,1754,1755,1756,1757,1758,1759,1764,1765,1766,1770,1772,1773,1778,1779],"c":[]}]]}],["u",{"w":"hu","s":"u","e":false,"k":"u","d":[],"c":[["m",{"w":"human","s":"man","e":true,"k":"m","d":[444],"c":[]}],["r",{"w":"hurting","s":"rting","e":true,"k":"r","d":[866],"c":[]}],["g",{"w":"huge","s":"ge","e":true,"k":"g","d":[870],"c":[]}],["n",{"w":"hundreds","s":"ndreds","e":true,"k":"n","d":[880],"c":[]}]]}],["w",{"w":"hw","s":"w","e":false,"k":"w","d":[],"c":[["1",{"w":"hw1","s":"1","e":true,"k":"1","d":[942,943],"c":[]}],["2",{"w":"hw2","s":"2","e":true,"k":"2","d":[942,943],"c":[]}]]}],["d",{"w":"hdfs","s":"dfs","e":true,"k":"d","d":[1317,1677,2131],"c":[["h",{"w":"hdfshighavailabilitywithqjm","s":"highavailabilitywithqjm","e":true,"k":"h","d":[1750],"c":[]}]]}],["b",{"w":"hbase","s":"base","e":true,"k":"b","d":[1593,1652,1684,1685,1686,1721,1751],"c":[]}]]}],["y",{"w":"y","s":"y","e":true,"k":"y","d":[724],"c":[["o",{"w":"yo","s":"o","e":false,"k":"o","d":[],"c":[["u",{"w":"you","s":"u","e":true,"k":"u","d":[11,17,18,19,25,29,32,45,47,48,57,105,148,150,157,159,183,185,207,212,269,285,291,292,293,295,297,298,299,301,307,315,330,352,368,369,370,372,373,374,385,386,399,400,401,450,451,471,510,512,513,514,516,517,520,521,523,525,526,527,532,536,537,597,666,667,668,678,696,715,719,745,746,753,755,829,830,877,878,882,906,910,956,959,965,966,974,975,1088,1106,1120,1130,1132,1137,1144,1159,1160,1161,1162,1163,1165,1166,1167,1219,1224,1228,1229,1237,1243,1244,1252,1254,1263,1276,1319,1320,1322,1323,1324,1344,1345,1346,1348,1349,1355,1365,1373,1387,1443,1453,1454,1456,1473,1475,1476,1485,1501,1502,1506,1518,1520,1522,1539,1540,1541,1543,1546,1547,1626,1641,1655,1669,1686,1717,1832,1881,1929,1944,1949,1950,1955,1956,1958,1959,1968,1971,1974,1978,1980,2038,2039],"c":[["r",{"w":"your","s":"r","e":true,"k":"r","d":[18,19,25,29,32,48,74,148,151,152,159,185,192,285,308,309,385,417,514,516,523,525,526,532,537,538,683,762,821,825,829,830,873,877,882,1053,1060,1210,1252,1344,1346,1349,1355,1373,1456,1485,1541,1625,1626,1630,1641,1717,1953,1980],"c":[["-",{"w":"your-options","s":"-options","e":true,"k":"-","d":[1245],"c":[]}],["s",{"w":"yourself","s":"self","e":true,"k":"s","d":[1881],"c":[]}]]}],["'",{"w":"you'","s":"'","e":false,"k":"'","d":[],"c":[["r",{"w":"you're","s":"re","e":true,"k":"r","d":[513,1241],"c":[]}],["v",{"w":"you've","s":"ve","e":true,"k":"v","d":[750,753,1943],"c":[]}],["d",{"w":"you'd","s":"d","e":true,"k":"d","d":[1109],"c":[]}],["l",{"w":"you'll","s":"ll","e":true,"k":"l","d":[1472],"c":[]}]]}],["t",{"w":"youtube","s":"tube","e":true,"k":"t","d":[1745,1761],"c":[]}]]}],["r",{"w":"york","s":"rk","e":true,"k":"r","d":[957],"c":[]}]]}],["e",{"w":"ye","s":"e","e":false,"k":"e","d":[],"c":[["t",{"w":"yet","s":"t","e":true,"k":"t","d":[156,697,1424,1436],"c":[]}],["s",{"w":"yes","s":"s","e":true,"k":"s","d":[289,674,677,1024,1881],"c":[]}]]}],["a",{"w":"yahoo","s":"ahoo","e":true,"k":"a","d":[509,1051,1358,1622,1710,1742,1833,1846],"c":[]}],["m",{"w":"yml","s":"ml","e":true,"k":"m","d":[827],"c":[]}],["c",{"w":"ycsb","s":"csb","e":true,"k":"c","d":[1009,1051,1056,1058],"c":[]}],["y",{"w":"yy","s":"y","e":true,"k":"y","d":[1506],"c":[]}],["i",{"w":"yielding","s":"ielding","e":true,"k":"i","d":[1958],"c":[]}]]}],["b",{"w":"b","s":"b","e":true,"k":"b","d":[637,689,690,691,706,731,1289,1309,1423,1424,1485,1489,1490,1494,1498,1502,1865,1866],"c":[["e",{"w":"be","s":"e","e":true,"k":"e","d":[11,12,15,16,18,19,21,26,29,36,38,46,48,51,59,70,72,73,78,102,103,107,109,113,116,130,135,136,138,143,146,148,149,150,174,176,177,179,183,184,185,186,191,193,194,195,197,200,201,202,204,206,207,208,211,220,221,224,225,226,227,228,234,245,247,248,249,252,253,254,255,256,263,266,268,270,271,272,274,275,278,279,280,281,286,289,292,293,296,297,298,304,305,306,310,316,317,318,328,329,331,332,333,336,337,340,341,343,346,349,351,352,354,369,370,372,373,375,376,377,384,386,387,389,390,396,399,400,402,403,405,406,407,408,413,414,416,417,419,442,454,455,510,515,517,518,519,520,521,533,537,538,539,634,639,641,642,644,645,649,652,655,659,662,666,672,673,675,680,683,684,686,687,688,689,690,691,692,695,696,697,704,706,709,713,718,729,731,734,750,753,754,755,812,818,864,866,872,874,875,906,909,911,912,922,930,934,937,946,950,970,987,1016,1026,1035,1051,1069,1104,1124,1133,1142,1148,1155,1165,1166,1168,1169,1172,1173,1186,1194,1198,1215,1218,1222,1229,1230,1232,1237,1239,1245,1247,1251,1252,1254,1263,1269,1279,1280,1285,1286,1289,1304,1305,1306,1309,1311,1315,1317,1318,1319,1321,1322,1323,1324,1331,1339,1348,1349,1355,1365,1366,1367,1368,1369,1370,1371,1382,1384,1386,1388,1396,1401,1402,1407,1410,1414,1415,1417,1420,1424,1433,1435,1436,1443,1445,1454,1455,1456,1475,1478,1503,1507,1537,1544,1551,1553,1556,1625,1627,1676,1678,1682,1685,1692,1700,1706,1709,1712,1717,1718,1797,1800,1801,1802,1807,1811,1813,1814,1818,1826,1831,1833,1864,1865,1866,1867,1869,1870,1871,1875,1876,1877,1886,1887,1888,1895,1896,1900,1901,1903,1907,1909,1926,1945,1946,1952,1957,1973,1979,2040,2054,2058,2062,2095,2137],"c":[["l",{"w":"bel","s":"l","e":false,"k":"l","d":[],"c":[["o",{"w":"belo","s":"o","e":false,"k":"o","d":[],"c":[["w",{"w":"below","s":"w","e":true,"k":"w","d":[13,48,185,517,521,532,644,649,659,668,691,833,1051,1241,1349,1474,1476,1485,1511,1881],"c":[]}],["n",{"w":"belong","s":"ng","e":false,"k":"n","d":[],"c":[["s",{"w":"belongs","s":"s","e":true,"k":"s","d":[270],"c":[]}],["i",{"w":"belonging","s":"ing","e":true,"k":"i","d":[1224],"c":[]}]]}]]}],["i",{"w":"believ","s":"iev","e":false,"k":"i","d":[],"c":[["e",{"w":"believe","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"believes","s":"s","e":true,"k":"s","d":[718,1881],"c":[]}],["d",{"w":"believed","s":"d","e":true,"k":"d","d":[1903],"c":[]}]]}],["i",{"w":"believing","s":"ing","e":true,"k":"i","d":[1904],"c":[]}]]}]]}],["c",{"w":"bec","s":"c","e":false,"k":"c","d":[],"c":[["o",{"w":"become","s":"ome","e":true,"k":"o","d":[15,667,690,695,919,1323,1407,1679],"c":[["s",{"w":"becomes","s":"s","e":true,"k":"s","d":[157,679,687,689,709,862,925,928,955,1091,1218,1321,1383,1387,1549,1881,1903],"c":[]}]]}],["a",{"w":"because","s":"ause","e":true,"k":"a","d":[29,65,151,194,272,306,448,452,510,535,671,687,852,870,871,872,883,930,950,1146,1172,1217,1237,1306,1309,1317,1318,1366,1401,1407,1424,1454,1473,1501,1503,1520,1540,1549,1877,1895,1899,1908,1971,1976,2139,2188],"c":[]}]]}],["s",{"w":"bes","s":"s","e":false,"k":"s","d":[],"c":[["t",{"w":"best","s":"t","e":true,"k":"t","d":[41,42,44,48,50,510,539,1349,1474,1805],"c":[]}],["i",{"w":"beside","s":"ide","e":true,"k":"i","d":[315],"c":[["s",{"w":"besides","s":"s","e":true,"k":"s","d":[211],"c":[]}]]}]]}],["f",{"w":"before","s":"fore","e":true,"k":"f","d":[47,59,191,193,230,231,233,238,240,259,268,269,311,341,357,387,396,413,414,434,449,537,594,659,667,687,689,692,695,696,706,733,852,1053,1146,1148,1191,1217,1263,1272,1289,1326,1348,1355,1396,1410,1424,1434,1451,1476,1485,1515,1521,1534,1535,1541,1828,1844,1865,1866,1869,1875,1900,1903,1908,1909],"c":[]}],["h",{"w":"beh","s":"h","e":false,"k":"h","d":[],"c":[["i",{"w":"behind","s":"ind","e":true,"k":"i","d":[49,192,296,385,674,1237,1798],"c":[]}],["a",{"w":"behav","s":"av","e":false,"k":"a","d":[],"c":[["i",{"w":"behavio","s":"io","e":false,"k":"i","d":[],"c":[["r",{"w":"behavior","s":"r","e":true,"k":"r","d":[174,260,305,331,385,402,406,893,1022,1218,1227,1237,1311,1318,1537,1844,1915],"c":[]}],["u",{"w":"behaviour","s":"ur","e":true,"k":"u","d":[185,269],"c":[]}]]}],["e",{"w":"behaves","s":"es","e":true,"k":"e","d":[913],"c":[]}]]}]]}],["t",{"w":"bet","s":"t","e":false,"k":"t","d":[],"c":[["w",{"w":"between","s":"ween","e":true,"k":"w","d":[121,186,213,214,215,280,308,309,371,395,419,450,521,606,649,655,729,883,971,1217,1328,1387,1416,1454,1663,1669,1685,1811,1868,1906,1907,1910,2046,2051,2136],"c":[]}],["t",{"w":"better","s":"ter","e":true,"k":"t","d":[880,971,1915],"c":[]}]]}],["i",{"w":"being","s":"ing","e":true,"k":"i","d":[125,129,143,230,270,271,349,454,690,696,955,984,991,1092,1376,1378,1384,1435,1800,1903,2123],"c":[]}],["e",{"w":"been","s":"en","e":true,"k":"e","d":[251,269,364,405,408,809,1073,1164,1191,1237,1283,1284,1401,1501,1668,1693,1817,1846,1866,1869,1881,1887,1888,1894,1900,1903,1915,1961,2178],"c":[]}],["g",{"w":"beg","s":"g","e":false,"k":"g","d":[],"c":[["i",{"w":"begin","s":"in","e":true,"k":"i","d":[402,1263,1387],"c":[["n",{"w":"beginning","s":"ning","e":true,"k":"n","d":[1092,1484],"c":[]}],["s",{"w":"begins","s":"s","e":true,"k":"s","d":[1503],"c":[]}]]}],["a",{"w":"began","s":"an","e":true,"k":"a","d":[723],"c":[]}]]}],["a",{"w":"bea","s":"a","e":false,"k":"a","d":[],"c":[["n",{"w":"beans","s":"ns","e":true,"k":"n","d":[524],"c":[]}],["m",{"w":"beams","s":"ms","e":true,"k":"m","d":[1541],"c":[]}],["t",{"w":"beats","s":"ts","e":true,"k":"t","d":[1803],"c":[]}]]}],["y",{"w":"beyond","s":"yond","e":true,"k":"y","d":[747,1320,1650],"c":[]}],["n",{"w":"ben","s":"n","e":true,"k":"n","d":[923,927,928,930,935,936],"c":[["e",{"w":"benefit","s":"efit","e":true,"k":"e","d":[872],"c":[["s",{"w":"benefits","s":"s","e":true,"k":"s","d":[880],"c":[]}]]}],["c",{"w":"benchmark","s":"chmark","e":true,"k":"c","d":[994,1008,1051,1053,1055,1061,1064,1844],"c":[["s",{"w":"benchmarks","s":"s","e":true,"k":"s","d":[1838],"c":[]}]]}],["j",{"w":"benjamin","s":"jamin","e":true,"k":"j","d":[1358],"c":[]}],["i",{"w":"benipal","s":"ipal","e":true,"k":"i","d":[1608],"c":[]}]]}]]}],["y",{"w":"by","s":"y","e":true,"k":"y","d":[12,20,25,31,45,46,70,72,74,100,102,103,125,129,131,135,136,144,151,154,174,184,191,193,194,196,197,201,202,205,206,212,220,221,227,229,230,231,232,235,236,237,258,264,265,269,277,280,285,287,292,295,298,304,306,307,308,309,313,314,317,321,328,335,338,345,348,373,374,384,400,401,402,403,406,407,431,442,447,448,473,475,520,525,537,588,598,639,645,647,649,651,653,659,671,675,679,680,689,697,698,703,706,728,729,730,733,747,752,754,755,811,818,833,854,862,863,866,870,879,880,881,905,906,913,915,916,917,930,932,933,943,950,1016,1023,1070,1098,1101,1120,1132,1133,1142,1146,1154,1155,1156,1166,1172,1173,1176,1191,1213,1222,1224,1226,1227,1234,1237,1239,1246,1247,1248,1249,1251,1262,1285,1286,1289,1319,1320,1321,1323,1324,1347,1349,1358,1359,1360,1365,1366,1367,1369,1371,1382,1388,1389,1393,1396,1397,1401,1402,1406,1407,1412,1417,1424,1434,1445,1452,1477,1478,1479,1501,1503,1518,1522,1539,1540,1541,1543,1544,1549,1647,1696,1700,1707,1725,1736,1774,1806,1829,1836,1846,1863,1864,1865,1866,1874,1876,1885,1886,1887,1888,1901,1903,1907,1909,1910,1911,1912,1946,1958,1959,1962,1963,1965,1975,1982,2040,2094,2102,2180],"c":[["t",{"w":"byte","s":"te","e":true,"k":"t","d":[100,389,396,1807],"c":[["s",{"w":"bytes","s":"s","e":true,"k":"s","d":[71,115,193,232,266,389,396,959,966,1033,1044,1235,1316,1809,1873,1875,2166],"c":[]}],["m",{"w":"byteman","s":"man","e":true,"k":"m","d":[1013,1069],"c":[]}],["b",{"w":"bytebuffer","s":"buffer","e":true,"k":"b","d":[2165],"c":[]}]]}],["p",{"w":"bypass","s":"pass","e":true,"k":"p","d":[329],"c":[]}]]}],["a",{"w":"ba","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"back","s":"ck","e":true,"k":"c","d":[263,687,731,1133,1134,1146,1285,1405,1423,1424,1895],"c":[["u",{"w":"backup","s":"up","e":true,"k":"u","d":[13,637,679,855],"c":[["s",{"w":"backups","s":"s","e":true,"k":"s","d":[15,1707],"c":[]}]]}],["e",{"w":"backe","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"backend","s":"nd","e":true,"k":"n","d":[25,754,755,1731,1741,1915],"c":[]}],["d",{"w":"backed","s":"d","e":true,"k":"d","d":[662,690,696],"c":[]}]]}],["l",{"w":"backlog","s":"log","e":true,"k":"l","d":[212,227],"c":[]}],["o",{"w":"backoff","s":"off","e":true,"k":"o","d":[214,215],"c":[]}],["w",{"w":"backward","s":"ward","e":true,"k":"w","d":[251,271,272,273,276,619,649,1046],"c":[["s",{"w":"backwards","s":"s","e":true,"k":"s","d":[304,316,371],"c":[]}]]}],["g",{"w":"background","s":"ground","e":true,"k":"g","d":[1407],"c":[]}],["i",{"w":"backing","s":"ing","e":true,"k":"i","d":[1637],"c":[]}]]}],["s",{"w":"bas","s":"s","e":false,"k":"s","d":[],"c":[["i",{"w":"basi","s":"i","e":false,"k":"i","d":[],"c":[["c",{"w":"basic","s":"c","e":true,"k":"c","d":[112,184,529,746,902,1078,1355,1889,1946],"c":[["a",{"w":"basically","s":"ally","e":true,"k":"a","d":[1398],"c":[]}]]}],["s",{"w":"basis","s":"s","e":true,"k":"s","d":[402,471,1681,1813],"c":[]}]]}],["e",{"w":"base","s":"e","e":true,"k":"e","d":[1629,1769],"c":[["d",{"w":"based","s":"d","e":true,"k":"d","d":[143,146,228,239,243,245,265,330,1402,1629,1630,1638,1643,1666,1670],"c":[]}],["6",{"w":"base64","s":"64","e":true,"k":"6","d":[1173],"c":[]}]]}]]}],["t",{"w":"batch","s":"tch","e":true,"k":"t","d":[210,211,413,414,1644,1674,1718],"c":[["e",{"w":"batches","s":"es","e":true,"k":"e","d":[413,414],"c":[]}]]}],["k",{"w":"bak","s":"k","e":true,"k":"k","d":[662],"c":[]}],["d",{"w":"bad","s":"d","e":true,"k":"d","d":[1367,1731,2068],"c":[["a",{"w":"badargumentsexception","s":"argumentsexception","e":true,"k":"a","d":[688,710,722,725,726,727],"c":[]}],["v",{"w":"badversionexception","s":"versionexception","e":true,"k":"v","d":[724],"c":[]}]]}],["r",{"w":"bar","s":"r","e":true,"k":"r","d":[1384],"c":[["r",{"w":"barrier","s":"rier","e":true,"k":"r","d":[1079,1085,1088,1090,1091,1092,1093,1095,1097,1098,1100,1102,1109,1359,1479,1480,1481,1482,1483,1484,1485,1500,1501],"c":[["s",{"w":"barriers","s":"s","e":true,"k":"s","d":[1081,1088,1287,1359,1458,1462,1463,1479,1484],"c":[]}]]}]]}],["l",{"w":"balanc","s":"lanc","e":false,"k":"l","d":[],"c":[["e",{"w":"balance","s":"e","e":true,"k":"e","d":[1403],"c":[]}],["i",{"w":"balancing","s":"ing","e":true,"k":"i","d":[1647],"c":[]}]]}]]}],["u",{"w":"bu","s":"u","e":false,"k":"u","d":[],"c":[["t",{"w":"but","s":"t","e":true,"k":"t","d":[25,46,47,103,130,148,156,202,213,250,256,263,268,295,298,316,330,333,337,352,358,376,384,386,397,405,452,471,508,513,514,535,604,663,668,687,689,706,724,725,729,861,871,919,920,973,1133,1165,1166,1167,1168,1215,1217,1261,1284,1289,1309,1317,1344,1346,1347,1348,1353,1368,1397,1401,1405,1417,1434,1454,1476,1500,1521,1546,1549,1833,1844,1845,1871,1909,1915,1945,1951,1968,1972],"c":[["t",{"w":"button","s":"ton","e":true,"k":"t","d":[2174],"c":[]}]]}],["n",{"w":"bundle","s":"ndle","e":false,"k":"n","d":[],"c":[["s",{"w":"bundles","s":"s","e":true,"k":"s","d":[33],"c":[]}],["d",{"w":"bundled","s":"d","e":true,"k":"d","d":[994],"c":[]}]]}],["s",{"w":"bus","s":"s","e":true,"k":"s","d":[884,1646],"c":[["y",{"w":"busy","s":"y","e":true,"k":"y","d":[47,183,1348],"c":[]}]]}],["i",{"w":"buil","s":"il","e":false,"k":"i","d":[],"c":[["t",{"w":"built","s":"t","e":true,"k":"t","d":[143,1170,1247,1370,1387,1673,1686,1706,1714],"c":[["-",{"w":"built-in","s":"-in","e":true,"k":"-","d":[53,828,856,1150,1237],"c":[]}],["i",{"w":"builtin","s":"in","e":true,"k":"i","d":[1152,1364],"c":[]}]]}],["d",{"w":"build","s":"d","e":true,"k":"d","d":[1057,1248,1249,1251,1287,1473,1641,1655,1797],"c":[["i",{"w":"building","s":"ing","e":true,"k":"i","d":[987,1111,1210,1241,1244,1254,1257,1628,1630],"c":[]}],["s",{"w":"builds","s":"s","e":true,"k":"s","d":[2112],"c":[]}]]}]]}],["g",{"w":"bug","s":"g","e":true,"k":"g","d":[207,1984,1987,1993,1998,2005,2013],"c":[["s",{"w":"bugs","s":"s","e":true,"k":"s","d":[508],"c":[]}],["g",{"w":"buggy","s":"gy","e":true,"k":"g","d":[1237],"c":[]}]]}],["c",{"w":"bucket","s":"cket","e":true,"k":"c","d":[217,218,220,221],"c":[]}],["f",{"w":"buffer","s":"ffer","e":true,"k":"f","d":[239],"c":[["s",{"w":"buffersize","s":"size","e":true,"k":"s","d":[419],"c":[]}]]}],["l",{"w":"bulk","s":"lk","e":true,"k":"l","d":[685,697,698,716,1317],"c":[]}],["r",{"w":"bur","s":"r","e":false,"k":"r","d":[],"c":[["d",{"w":"burden","s":"den","e":true,"k":"d","d":[880],"c":[]}],["s",{"w":"bursts","s":"sts","e":true,"k":"s","d":[1474],"c":[]}]]}],["m",{"w":"bump","s":"mp","e":true,"k":"m","d":[2055,2097],"c":[]}]]}],["i",{"w":"bi","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"bin","s":"n","e":true,"k":"n","d":[524,748,750,1236,1953],"c":[["a",{"w":"binar","s":"ar","e":false,"k":"a","d":[],"c":[["y",{"w":"binary","s":"y","e":true,"k":"y","d":[33,1236,2092,2098],"c":[]}],["i",{"w":"binaries","s":"ies","e":true,"k":"i","d":[667],"c":[]}]]}],["d",{"w":"bind","s":"d","e":true,"k":"d","d":[36,197,293,310,647,1980,2099],"c":[["i",{"w":"binding","s":"ing","e":true,"k":"i","d":[1057,1206,1208,1212,1239,1262,1305,1382,1387,1398,1641],"c":[["s",{"w":"bindings","s":"s","e":true,"k":"s","d":[526,528,1204,1205,1262,1263,1797,1967],"c":[]}]]}]]}]]}],["t",{"w":"bit","s":"t","e":true,"k":"t","d":[78,79,213,1148,1167,1196],"c":[["s",{"w":"bits","s":"s","e":true,"k":"s","d":[78,100,1154,1174],"c":[]}],["w",{"w":"bitwise","s":"wise","e":true,"k":"w","d":[100],"c":[]}],["h",{"w":"bithash","s":"hash","e":false,"k":"h","d":[],"c":[["c",{"w":"bithashcachesize","s":"cachesize","e":true,"k":"c","d":[213],"c":[]}],["s",{"w":"bithashset","s":"set","e":true,"k":"s","d":[213],"c":[]}]]}]]}],["g",{"w":"big","s":"g","e":true,"k":"g","d":[1638,1644,1674],"c":[["-",{"w":"big-endian","s":"-endian","e":true,"k":"-","d":[100],"c":[]}],["g",{"w":"bigger","s":"ger","e":true,"k":"g","d":[539],"c":[]}]]}]]}],["o",{"w":"bo","s":"o","e":false,"k":"o","d":[],"c":[["u",{"w":"boun","s":"un","e":false,"k":"u","d":[],"c":[["d",{"w":"bound","s":"d","e":true,"k":"d","d":[65,126,214,215,1286,1818],"c":[["e",{"w":"bounded","s":"ed","e":true,"k":"e","d":[1668],"c":[]}]]}],["c",{"w":"bouncycastle","s":"cycastle","e":true,"k":"c","d":[2142],"c":[]}]]}],["o",{"w":"boo","s":"o","e":false,"k":"o","d":[],"c":[["l",{"w":"boolean","s":"lean","e":true,"k":"l","d":[129,1098],"c":[]}],["s",{"w":"boost","s":"st","e":true,"k":"s","d":[397],"c":[]}],["t",{"w":"boot","s":"t","e":true,"k":"t","d":[633,655,665,680,696,1641],"c":[["s",{"w":"bootstrap","s":"strap","e":true,"k":"s","d":[1243],"c":[["p",{"w":"bootstrapping","s":"ping","e":true,"k":"p","d":[1685,1726],"c":[]}]]}]]}],["k",{"w":"book","s":"k","e":true,"k":"k","d":[1751],"c":[["k",{"w":"bookkeeper","s":"keeper","e":true,"k":"k","d":[1583,1654,1713,1746],"c":[]}],["i",{"w":"bookies","s":"ies","e":true,"k":"i","d":[1654],"c":[]}]]}]]}],["t",{"w":"bot","s":"t","e":false,"k":"t","d":[],"c":[["h",{"w":"both","s":"h","e":true,"k":"h","d":[147,179,280,333,337,355,357,402,409,429,535,644,668,669,691,697,698,706,708,729,730,818,879,936,937,942,959,1089,1090,1099,1131,1132,1240,1262,1279,1353,1368,1417,1435,1525,1526,1540,1548,1552,1647,1707,1797,1877,1905,1974],"c":[]}],["t",{"w":"bottleneck","s":"tleneck","e":true,"k":"t","d":[1407],"c":[]}]]}],["x",{"w":"box","s":"x","e":true,"k":"x","d":[1461,1609,1722],"c":[["e",{"w":"boxes","s":"es","e":true,"k":"e","d":[509],"c":[]}]]}],["b",{"w":"bob","s":"b","e":true,"k":"b","d":[1156],"c":[]}]]}],["r",{"w":"br","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"bri","s":"i","e":false,"k":"i","d":[],"c":[["e",{"w":"brief","s":"ef","e":true,"k":"e","d":[68,69,128],"c":[]}],["n",{"w":"bring","s":"ng","e":true,"k":"n","d":[536],"c":[["i",{"w":"bringing","s":"ing","e":true,"k":"i","d":[522],"c":[]}]]}],["d",{"w":"bridge","s":"dge","e":true,"k":"d","d":[883],"c":[]}]]}],["o",{"w":"bro","s":"o","e":false,"k":"o","d":[],"c":[["w",{"w":"browse","s":"wse","e":true,"k":"w","d":[207],"c":[["r",{"w":"browser","s":"r","e":true,"k":"r","d":[102],"c":[]}]]}],["a",{"w":"broad","s":"ad","e":false,"k":"a","d":[],"c":[["c",{"w":"broadcast","s":"cast","e":true,"k":"c","d":[138,298,1072,1849,1850,1875,1911],"c":[["i",{"w":"broadcasting","s":"ing","e":true,"k":"i","d":[918,923,935],"c":[]}]]}],["l",{"w":"broadly","s":"ly","e":true,"k":"l","d":[472],"c":[]}]]}],["k",{"w":"brok","s":"k","e":false,"k":"k","d":[],"c":[["e",{"w":"broke","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"broken","s":"n","e":true,"k":"n","d":[309,358,1021,1027,1130,1164,1811,2026],"c":[]}],["r",{"w":"broker","s":"r","e":true,"k":"r","d":[1713,1846],"c":[["s",{"w":"brokers","s":"s","e":true,"k":"s","d":[1703],"c":[]}]]}]]}],["i",{"w":"broking","s":"ing","e":true,"k":"i","d":[1700],"c":[]}]]}],["u",{"w":"brought","s":"ught","e":true,"k":"u","d":[684],"c":[]}]]}],["e",{"w":"break","s":"eak","e":true,"k":"e","d":[308,1346,1520,2127],"c":[["s",{"w":"breaks","s":"s","e":true,"k":"s","d":[908,1803,2067],"c":[]}],["i",{"w":"breaking","s":"ing","e":true,"k":"i","d":[1984,1992,2024],"c":[]}]]}],["a",{"w":"bra","s":"a","e":false,"k":"a","d":[],"c":[["i",{"w":"brain","s":"in","e":true,"k":"i","d":[402,534,931,938,950],"c":[]}],["n",{"w":"brand-new","s":"nd-new","e":true,"k":"n","d":[987],"c":[]}]]}]]}],["l",{"w":"bl","s":"l","e":false,"k":"l","d":[],"c":[["o",{"w":"blo","s":"o","e":false,"k":"o","d":[],"c":[["c",{"w":"block","s":"ck","e":true,"k":"c","d":[190,271,272,604,854,1216,1479],"c":[["s",{"w":"blocks","s":"s","e":true,"k":"s","d":[190,1257,1905],"c":[]}],["i",{"w":"blocking","s":"ing","e":true,"k":"i","d":[271,668,1217],"c":[]}]]}],["g",{"w":"blog","s":"g","e":true,"k":"g","d":[1077,1749,1752,1758,1759,1763,1771,1776],"c":[]}],["b",{"w":"blobstore","s":"bstore","e":true,"k":"b","d":[1737],"c":[]}]]}],["i",{"w":"blindly","s":"indly","e":true,"k":"i","d":[729],"c":[]}],["a",{"w":"bla","s":"a","e":false,"k":"a","d":[],"c":[["z",{"w":"blazing-fast","s":"zing-fast","e":true,"k":"z","d":[1714],"c":[]}],["s",{"w":"blasting","s":"sting","e":true,"k":"s","d":[1896],"c":[]}]]}]]}],["c",{"w":"bcfks","s":"cfks","e":true,"k":"c","d":[345,348,1234],"c":[]}],["1",{"w":"b1","s":"1","e":true,"k":"1","d":[1092,1095],"c":[]}]]}],["w",{"w":"w","s":"w","e":true,"k":"w","d":[18,1836],"c":[["h",{"w":"wh","s":"h","e":false,"k":"h","d":[],"c":[["i",{"w":"whi","s":"i","e":false,"k":"i","d":[],"c":[["c",{"w":"which","s":"ch","e":true,"k":"c","d":[12,19,26,48,107,184,192,204,207,208,209,211,212,213,216,217,218,219,220,221,222,227,234,249,253,254,256,267,270,272,274,289,292,303,305,306,313,318,327,364,384,385,417,447,449,452,454,471,517,520,524,537,538,640,655,672,680,683,684,696,729,749,750,768,833,871,878,879,905,906,908,914,916,933,938,964,970,986,1030,1091,1097,1105,1130,1133,1134,1142,1154,1172,1173,1203,1229,1231,1233,1237,1279,1289,1313,1366,1367,1369,1382,1388,1401,1402,1403,1407,1412,1418,1420,1423,1432,1434,1435,1436,1445,1446,1447,1448,1476,1479,1502,1540,1545,1645,1669,1673,1676,1680,1689,1690,1695,1701,1724,1733,1736,1799,1803,1844,1846,1887,1899,1909,1910,1911,1926,1975,1979,2031,2060,2083],"c":[]}],["l",{"w":"while","s":"le","e":true,"k":"l","d":[18,58,179,194,252,253,271,306,309,371,396,406,408,414,448,634,635,659,729,930,1069,1222,1345,1384,1415,1436,1456,1868],"c":[]}],["t",{"w":"white","s":"te","e":true,"k":"t","d":[59],"c":[["l",{"w":"whitelist","s":"list","e":true,"k":"l","d":[59,65,306],"c":[]}]]}]]}],["e",{"w":"whe","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"when","s":"n","e":true,"k":"n","d":[12,13,42,51,65,121,179,180,185,191,192,193,194,201,203,206,212,216,217,219,223,230,232,233,235,236,237,240,243,245,249,252,253,254,255,268,270,271,272,274,275,278,279,282,286,288,291,292,293,295,298,304,305,308,309,310,311,313,317,326,329,333,337,339,341,342,364,365,366,372,373,384,385,386,391,392,398,399,402,403,404,406,407,414,419,420,442,447,449,520,522,580,647,659,677,679,682,692,699,700,704,705,706,723,727,732,733,751,755,768,862,880,894,904,905,908,913,915,917,918,922,930,938,942,943,944,970,973,980,991,1016,1050,1098,1135,1136,1140,1142,1145,1146,1148,1157,1172,1173,1175,1214,1222,1225,1237,1238,1266,1285,1311,1315,1318,1320,1321,1322,1323,1328,1334,1335,1345,1367,1368,1369,1378,1385,1387,1388,1396,1398,1400,1401,1407,1408,1411,1413,1415,1421,1422,1424,1426,1432,1433,1436,1437,1443,1456,1476,1478,1483,1484,1485,1500,1501,1502,1506,1537,1543,1548,1549,1682,1690,1691,1810,1811,1812,1831,1867,1872,1876,1881,1887,1892,1893,1895,1902,1907,1916,1975,1976,2056,2057,2073,2088,2089,2099,2123,2148,2163],"c":[["e",{"w":"whenever","s":"ever","e":true,"k":"e","d":[200,413,955,1311,1385,1700,1808],"c":[]}]]}],["r",{"w":"where","s":"re","e":true,"k":"r","d":[78,181,183,194,263,271,272,295,396,402,690,704,710,731,853,878,882,1019,1156,1174,1223,1348,1384,1398,1404,1405,1436,1454,1503,1506,1554,1558,1805,1833,1846,1876,1909,1971],"c":[["i",{"w":"wherein","s":"in","e":true,"k":"i","d":[402],"c":[]}],["v",{"w":"wherever","s":"ver","e":true,"k":"v","d":[882],"c":[]}],["a",{"w":"whereas","s":"as","e":true,"k":"a","d":[1156,1404,1435],"c":[]}],["b",{"w":"whereby","s":"by","e":true,"k":"b","d":[1443],"c":[]}]]}],["t",{"w":"whether","s":"ther","e":true,"k":"t","d":[138,223,259,263,316,353,354,356,357,379,425,592,692,906,941,942,943,1090,1100,1135,1136,1172,1225,1227,1237,1402],"c":[]}]]}],["o",{"w":"who","s":"o","e":true,"k":"o","d":[335,338,674,808,840,863,1316,1809],"c":[["l",{"w":"whole","s":"le","e":true,"k":"l","d":[18,1651,1881],"c":[]}],["a",{"w":"whoami","s":"ami","e":true,"k":"a","d":[572],"c":[]}],["s",{"w":"whose","s":"se","e":true,"k":"s","d":[952,1132,1367],"c":[]}]]}],["a",{"w":"what","s":"at","e":true,"k":"a","d":[207,386,718,861,964,1130,1133,1148,1316,1346,1423,1430,1718,1809,1831,1960],"c":[["'",{"w":"what's","s":"'s","e":true,"k":"'","d":[1419],"c":[]}],["-",{"w":"what-are-hbase-znodes","s":"-are-hbase-znodes","e":true,"k":"-","d":[1763],"c":[]}]]}],["y",{"w":"why","s":"y","e":true,"k":"y","d":[1881,1903],"c":[]}]]}],["i",{"w":"wi","s":"i","e":false,"k":"i","d":[],"c":[["l",{"w":"will","s":"ll","e":true,"k":"l","d":[12,13,17,18,19,29,35,36,37,38,46,47,48,59,65,75,176,179,180,181,183,184,186,189,191,193,194,197,198,199,200,209,210,211,212,220,221,227,232,235,239,245,247,248,249,252,253,254,255,256,266,268,270,271,272,274,278,279,280,286,289,295,296,297,298,303,305,306,307,308,318,328,329,331,332,333,336,337,340,354,359,360,361,369,370,372,373,375,376,377,384,387,390,391,392,398,399,400,402,404,405,406,407,412,413,414,419,420,508,510,514,515,517,522,526,530,537,597,649,653,662,665,687,688,696,697,705,729,731,748,749,753,755,823,864,872,912,913,918,919,920,930,936,946,950,955,970,971,1026,1071,1104,1148,1155,1168,1169,1172,1173,1198,1215,1217,1222,1224,1228,1235,1239,1242,1251,1262,1263,1271,1280,1282,1283,1284,1285,1286,1289,1311,1317,1319,1320,1323,1324,1326,1327,1328,1339,1345,1348,1349,1366,1367,1368,1369,1370,1371,1373,1382,1383,1384,1385,1387,1388,1396,1397,1401,1402,1403,1404,1405,1407,1416,1422,1424,1433,1434,1435,1436,1445,1451,1455,1456,1472,1473,1478,1500,1503,1506,1518,1549,1625,1626,1678,1681,1682,1683,1717,1802,1803,1811,1814,1816,1817,1864,1865,1869,1870,1871,1872,1876,1877,1885,1886,1887,1888,1890,1891,1892,1893,1894,1895,1896,1900,1901,1903,1907,1908,1913,1916,1946,1950,1951,1979],"c":[]}],["t",{"w":"with","s":"th","e":true,"k":"t","d":[20,23,25,33,46,53,65,70,72,74,75,76,100,142,148,189,192,201,202,204,216,217,218,219,220,221,222,229,245,248,249,252,253,254,255,256,269,273,278,279,282,285,295,296,298,304,311,317,329,333,336,337,340,341,342,355,357,375,379,385,386,402,406,411,412,413,414,419,450,509,510,513,520,522,524,533,534,535,537,538,539,543,579,603,634,639,641,642,649,651,653,655,659,666,667,668,670,675,678,679,684,689,690,691,692,695,697,698,709,723,729,730,731,737,738,746,750,755,771,774,795,801,812,826,828,840,862,863,864,879,882,903,905,908,911,950,956,966,971,985,987,994,1021,1023,1030,1036,1043,1073,1098,1102,1104,1109,1126,1127,1130,1133,1139,1142,1148,1154,1156,1157,1172,1187,1191,1192,1196,1200,1201,1203,1217,1218,1228,1235,1237,1240,1254,1263,1269,1272,1276,1282,1284,1304,1305,1311,1316,1317,1320,1346,1349,1353,1361,1364,1365,1366,1367,1368,1369,1370,1382,1385,1386,1388,1390,1392,1394,1402,1403,1405,1410,1438,1439,1440,1441,1442,1444,1445,1446,1447,1448,1449,1450,1455,1459,1480,1485,1503,1505,1506,1507,1509,1511,1514,1522,1525,1526,1529,1530,1531,1532,1537,1539,1540,1541,1548,1552,1641,1642,1650,1651,1669,1670,1681,1695,1707,1709,1718,1721,1724,1731,1799,1802,1804,1807,1809,1816,1827,1830,1832,1834,1874,1876,1881,1885,1886,1888,1890,1891,1909,1913,1914,1929,1930,1945,1959,1962,1963,1972,1974,1978,2021,2026,2028,2053,2063,2118,2128,2186],"c":[["o",{"w":"without","s":"out","e":true,"k":"o","d":[154,213,251,263,272,295,333,337,365,366,533,534,538,610,634,653,666,674,709,866,871,872,884,941,1027,1035,1069,1166,1168,1198,1324,1416,1512,1527,1528,1905,2123],"c":[]}],["i",{"w":"within","s":"in","e":true,"k":"i","d":[286,521,1286,1323,1387,1388,1650,1651,1702,1818],"c":[]}],["s",{"w":"withstand","s":"stand","e":true,"k":"s","d":[980],"c":[]}]]}],["n",{"w":"window","s":"ndow","e":true,"k":"n","d":[751],"c":[["s",{"w":"windows","s":"s","e":true,"k":"s","d":[20,498,2026],"c":[]}]]}],["d",{"w":"wide","s":"de","e":true,"k":"d","d":[123,1627],"c":[["-",{"w":"wide-area","s":"-area","e":true,"k":"-","d":[1913],"c":[]}]]}],["k",{"w":"wiki","s":"ki","e":true,"k":"k","d":[315,1219],"c":[]}],["s",{"w":"wish","s":"sh","e":true,"k":"s","d":[513,882,1215,2007,2017],"c":[["i",{"w":"wishing","s":"ing","e":true,"k":"i","d":[1351,1510,1516],"c":[]}]]}]]}],["r",{"w":"wr","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"writ","s":"it","e":false,"k":"i","d":[],"c":[["t",{"w":"written","s":"ten","e":true,"k":"t","d":[12,449,679,833,834,910,1263,1316,1355,1411,1809,1834,1900],"c":[]}],["e",{"w":"write","s":"e","e":true,"k":"e","d":[127,186,205,229,240,384,391,413,414,675,850,866,870,871,967,1024,1063,1125,1161,1164,1279,1287,1316,1524,1543,1625,1626,1809,1829,1830,1831,1834,1844,1907,1909,2179],"c":[["-",{"w":"write-","s":"-","e":true,"k":"-","d":[1526,1529,1531,1537],"c":[["a",{"w":"write-ahead","s":"ahead","e":true,"k":"a","d":[191,193],"c":[]}],["m",{"w":"write-master","s":"master","e":true,"k":"m","d":[1639],"c":[]}]]}],["s",{"w":"writes","s":"s","e":true,"k":"s","d":[385,414,538,872,880,1279,1805,1824,1828,1833,1834,1907],"c":[]}],["r",{"w":"writer","s":"r","e":true,"k":"r","d":[1540],"c":[]}]]}],["i",{"w":"writing","s":"ing","e":true,"k":"i","d":[1540,1543,1544,1692,2092],"c":[]}],["a",{"w":"writable","s":"able","e":true,"k":"a","d":[2048],"c":[]}]]}],["t",{"w":"wrt","s":"t","e":true,"k":"t","d":[65],"c":[]}],["o",{"w":"wrong","s":"ong","e":true,"k":"o","d":[332,1344],"c":[]}],["a",{"w":"wrappe","s":"appe","e":false,"k":"a","d":[],"c":[["r",{"w":"wrapper","s":"r","e":true,"k":"r","d":[678],"c":[]}],["d",{"w":"wrapped","s":"d","e":true,"k":"d","d":[1415],"c":[]}]]}]]}],["a",{"w":"wa","s":"a","e":false,"k":"a","d":[],"c":[["s",{"w":"was","s":"s","e":true,"k":"s","d":[16,207,269,283,345,348,379,396,406,448,452,653,665,706,723,724,725,751,863,1213,1234,1237,1317,1334,1335,1369,1401,1432,1435,1446,1447,1448,1476,1807,1834,1962],"c":[]}],["n",{"w":"want","s":"nt","e":true,"k":"n","d":[18,292,360,385,526,537,674,1165,1166,1167,1228,1229,1237,1453,1978],"c":[["s",{"w":"wants","s":"s","e":true,"k":"s","d":[306,391,392,1194,1420,1503,1625],"c":[]}]]}],["y",{"w":"way","s":"y","e":true,"k":"y","d":[197,329,653,709,730,819,906,908,909,1074,1090,1103,1320,1349,1434,1518,1520,1548,1689,1690,1904,1907],"c":[["s",{"w":"ways","s":"s","e":true,"k":"s","d":[21,1306,1325,1435,1912],"c":[]}]]}],["t",{"w":"watch","s":"tch","e":true,"k":"t","d":[93,135,136,137,208,592,681,733,1063,1091,1098,1100,1111,1112,1120,1133,1140,1142,1143,1144,1146,1147,1214,1217,1227,1315,1345,1426,1432,1433,1434,1435,1436,1438,1443,1445,1448,1451,1452,1453,1454,1455,1456,1480,1482,1483,1490,1496,1500,1502,1503,1506,1512,1514,1527,1528,1531,1532,1540,1543,1549,1554,1558,1745,1761,1803,1811,2126,2138],"c":[["e",{"w":"watche","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"watches","s":"s","e":true,"k":"s","d":[69,70,72,135,136,599,809,1063,1079,1091,1120,1146,1148,1227,1293,1315,1343,1345,1410,1425,1426,1427,1428,1429,1430,1431,1434,1435,1436,1437,1438,1443,1444,1445,1449,1450,1453,1454,1456,1502,1789,1811,1812],"c":[["_",{"w":"watches_by_path","s":"_by_path","e":true,"k":"_","d":[136],"c":[]}]]}],["r",{"w":"watcher","s":"r","e":true,"k":"r","d":[208,209,210,211,212,1111,1132,1133,1143,1144,1215,1266,1388,1389,1396,1444,1446,1447,1448,2129],"c":[["c",{"w":"watcherclean","s":"clean","e":false,"k":"c","d":[],"c":[["t",{"w":"watchercleanthre","s":"thre","e":false,"k":"t","d":[],"c":[["a",{"w":"watchercleanthreadsnum","s":"adsnum","e":true,"k":"a","d":[209],"c":[]}],["s",{"w":"watchercleanthreshold","s":"shold","e":true,"k":"s","d":[210,211,212],"c":[]}]]}],["e",{"w":"watchercleaner","s":"er","e":true,"k":"e","d":[209,212],"c":[]}],["i",{"w":"watchercleanintervalinseconds","s":"intervalinseconds","e":true,"k":"i","d":[211],"c":[]}]]}],["s",{"w":"watchers","s":"s","e":true,"k":"s","d":[209,210,211,212,1144,1396,1434,1444,2153],"c":[]}],["_",{"w":"watcher_fn","s":"_fn","e":true,"k":"_","d":[1264],"c":[]}],["t",{"w":"watchertype","s":"type","e":true,"k":"t","d":[1444,2127],"c":[]}],["'",{"w":"watcher's","s":"'s","e":true,"k":"'","d":[2127],"c":[]}]]}],["d",{"w":"watched","s":"d","e":true,"k":"d","d":[1124,1518],"c":[]}],["v",{"w":"watchevent","s":"vent","e":true,"k":"v","d":[2145],"c":[]}]]}],["_",{"w":"watch_summary","s":"_summary","e":true,"k":"_","d":[137],"c":[]}],["m",{"w":"watchmanager","s":"manager","e":true,"k":"m","d":[208],"c":[["n",{"w":"watchmanagername","s":"name","e":true,"k":"n","d":[208],"c":[]}],["o",{"w":"watchmanageroptimized","s":"optimized","e":true,"k":"o","d":[208,209,210,211],"c":[]}]]}],["f",{"w":"watchflag","s":"flag","e":true,"k":"f","d":[1063],"c":[]}],["i",{"w":"watching","s":"ing","e":true,"k":"i","d":[1345,1388,1451,1501,1549],"c":[]}]]}],["r",{"w":"war","s":"r","e":false,"k":"r","d":[],"c":[["n",{"w":"warn","s":"n","e":true,"k":"n","d":[638,693,963,1919],"c":[["i",{"w":"warning","s":"ing","e":true,"k":"i","d":[200,604,691,973],"c":[["t",{"w":"warningthresholdms","s":"thresholdms","e":true,"k":"t","d":[200],"c":[]}],["s",{"w":"warnings","s":"s","e":true,"k":"s","d":[2023],"c":[]}]]}]]}],["e",{"w":"warehouse","s":"ehouse","e":true,"k":"e","d":[1692],"c":[]}]]}],["l",{"w":"wal","s":"l","e":true,"k":"l","d":[200],"c":[["k",{"w":"walks","s":"ks","e":true,"k":"k","d":[1111],"c":[]}]]}],["i",{"w":"wait","s":"it","e":true,"k":"i","d":[230,234,286,434,706,871,1091,1098,1344,1482,1495,1496,1497,1501,1515,1534,1535],"c":[["s",{"w":"waits","s":"s","e":true,"k":"s","d":[214,215,238,311,1100,1485,1500,1503,1826],"c":[]}],["i",{"w":"waiting","s":"ing","e":true,"k":"i","d":[941,1091,1098,1483,1500,1537,1886,2057],"c":[]}]]}],["k",{"w":"wak","s":"k","e":false,"k":"k","d":[],"c":[["i",{"w":"waking","s":"ing","e":true,"k":"i","d":[1500],"c":[]}],["e",{"w":"wake","s":"e","e":true,"k":"e","d":[1500,1518],"c":[["s",{"w":"wakes","s":"s","e":true,"k":"s","d":[1502],"c":[]}],["u",{"w":"wakeup","s":"up","e":true,"k":"u","d":[2057],"c":[]}]]}]]}]]}],["o",{"w":"wo","s":"o","e":false,"k":"o","d":[],"c":[["u",{"w":"would","s":"uld","e":true,"k":"u","d":[19,48,105,317,335,338,402,414,517,521,688,722,731,877,930,1133,1268,1309,1349,1384,1397,1443,1455,1474,1887,1978,1979,2043],"c":[]}],["r",{"w":"wor","s":"r","e":false,"k":"r","d":[],"c":[["d",{"w":"word","s":"d","e":true,"k":"d","d":[100,102,106,306,307],"c":[["s",{"w":"words","s":"s","e":true,"k":"s","d":[22,31,53,54,59,306,805,832,907,1237,1313],"c":[]}]]}],["k",{"w":"work","s":"k","e":true,"k":"k","d":[46,148,281,295,308,309,417,508,531,733,908,1235,1347,1353,1655,1724,1903],"c":[["i",{"w":"working","s":"ing","e":true,"k":"i","d":[26,29,293,647,1871],"c":[["s",{"w":"workings","s":"s","e":true,"k":"s","d":[1849],"c":[]}]]}],["e",{"w":"worker","s":"er","e":true,"k":"e","d":[38,40,408,411,412],"c":[["s",{"w":"workers","s":"s","e":true,"k":"s","d":[1631],"c":[["h",{"w":"workershutdowntimeoutms","s":"hutdowntimeoutms","e":true,"k":"h","d":[40],"c":[]}]]}]]}],["l",{"w":"workload","s":"load","e":true,"k":"l","d":[201,202,414,1060,1067],"c":[["b",{"w":"workloadb","s":"b","e":true,"k":"b","d":[1067],"c":[]}],["s",{"w":"workloads","s":"s","e":true,"k":"s","d":[1653,1694,1805,1844],"c":[]}]]}],["a",{"w":"workaround","s":"around","e":true,"k":"a","d":[207,1908],"c":[]}],["s",{"w":"works","s":"s","e":true,"k":"s","d":[697,698,945,956,1344,1353,1365],"c":[["t",{"w":"workstation","s":"tation","e":true,"k":"t","d":[1727],"c":[]}]]}],["f",{"w":"workflow","s":"flow","e":true,"k":"f","d":[1708],"c":[]}]]}],["s",{"w":"worsen","s":"sen","e":true,"k":"s","d":[394],"c":[]}],["l",{"w":"world","s":"ld","e":true,"k":"l","d":[1150,1154,1155,1171,1184,1346],"c":[]}],["t",{"w":"worth","s":"th","e":true,"k":"t","d":[1314,1909],"c":[]}],["r",{"w":"worry","s":"ry","e":true,"k":"r","d":[1903,1905],"c":[]}]]}],["n",{"w":"won","s":"n","e":true,"k":"n","d":[1424,1683],"c":[["'",{"w":"won't","s":"'t","e":true,"k":"'","d":[148,211,252,253,254,256,269,274,311,385,1104,1247],"c":[]}]]}]]}],["e",{"w":"we","s":"e","e":true,"k":"e","d":[148,156,197,208,210,211,212,213,250,254,257,263,385,413,414,448,509,534,652,667,749,755,870,871,902,903,904,914,918,923,932,935,1088,1090,1091,1092,1097,1098,1103,1105,1120,1237,1263,1268,1269,1270,1271,1284,1366,1387,1402,1404,1407,1420,1438,1445,1626,1627,1639,1688,1723,1730,1731,1807,1844,1867,1868,1871,1872,1876,1877,1881,1885,1895,1899,1903,1904,1905,1907,1912,1913,1963,1964,1976,2139],"c":[["b",{"w":"web","s":"b","e":true,"k":"b","d":[1647,1669,1731],"c":[["s",{"w":"website","s":"site","e":true,"k":"s","d":[28,754],"c":[]}],["h",{"w":"webhook","s":"hook","e":true,"k":"h","d":[824],"c":[]}],["-",{"w":"web-publishing","s":"-publishing","e":true,"k":"-","d":[1725],"c":[]}]]}],["l",{"w":"well","s":"ll","e":true,"k":"l","d":[48,283,517,870,1130,1214,1304,1306,1349,1353,1435,1437,1650,1720,1731,1807,1812,1881,1909],"c":[]}],["i",{"w":"weight","s":"ight","e":true,"k":"i","d":[224,225,226,298,655,902,903,904,1913],"c":[["s",{"w":"weights","s":"s","e":true,"k":"s","d":[223,298,710,886,1912,1913],"c":[]}],["e",{"w":"weighted","s":"ed","e":true,"k":"e","d":[1914],"c":[]}]]}],["r",{"w":"were","s":"re","e":true,"k":"r","d":[273,283,285,633,668,1030,1240,1280,1384,1387,1814,1834,1899,1900,1979,2037],"c":[]}],["n",{"w":"wen","s":"n","e":true,"k":"n","d":[1760],"c":[["t",{"w":"went","s":"t","e":true,"k":"t","d":[452],"c":[]}]]}],["a",{"w":"wealthfront","s":"althfront","e":true,"k":"a","d":[1621,1741],"c":[["'",{"w":"wealthfront's","s":"'s","e":true,"k":"'","d":[1741],"c":[]}]]}]]}],["c",{"w":"wch","s":"ch","e":false,"k":"c","d":[],"c":[["s",{"w":"wchs","s":"s","e":true,"k":"s","d":[69,137],"c":[]}],["c",{"w":"wchc","s":"c","e":true,"k":"c","d":[70,135],"c":[]}],["p",{"w":"wchp","s":"p","e":true,"k":"p","d":[72,136],"c":[]}]]}],["w",{"w":"www","s":"ww","e":true,"k":"w","d":[1745,1752,1761,1776],"c":[]}]]}],["e",{"w":"e","s":"e","e":true,"k":"e","d":[102,112,113,116,130,135,136,313,330,333,337,369,370,371,399,402,403,406,407,454,674,690,691,729,756,765,850,986,1061,1094,1095,1240,1282,1320,1322,1383,1388,1396,1400,1415,1816,1871,1888,1909,1978],"c":[["n",{"w":"en","s":"n","e":true,"k":"n","d":[1767],"c":[["s",{"w":"ens","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"ensemble","s":"emble","e":true,"k":"e","d":[12,18,29,49,122,134,150,152,154,159,189,196,282,291,292,297,305,317,329,332,399,406,414,457,473,474,475,509,510,514,515,520,521,522,533,534,535,541,594,610,621,635,649,650,651,653,659,666,672,689,690,694,697,698,701,715,743,745,756,762,765,866,870,871,872,873,879,882,883,884,907,1053,1068,1313,1380,1407,1633,1685,1713,1801,1834],"c":[["s",{"w":"ensembles","s":"s","e":true,"k":"s","d":[146,229,737],"c":[]}],["a",{"w":"ensembleauth","s":"auth","e":false,"k":"a","d":[],"c":[["n",{"w":"ensembleauthname","s":"name","e":true,"k":"n","d":[332],"c":[]}],["e",{"w":"ensembleauthenticationprovider","s":"enticationprovider","e":true,"k":"e","d":[332],"c":[]}]]}]]}],["u",{"w":"ensure","s":"ure","e":true,"k":"u","d":[174,537,689,706,1055,1317,1371,1397,1871,1876,1877],"c":[["s",{"w":"ensures","s":"s","e":true,"k":"s","d":[19,272,405,449,1450],"c":[]}],["d",{"w":"ensured","s":"d","e":true,"k":"d","d":[917],"c":[]}]]}]]}],["v",{"w":"env","s":"v","e":true,"k":"v","d":[117],"c":[["i",{"w":"envi","s":"i","e":true,"k":"i","d":[64,117],"c":[["r",{"w":"environment","s":"ronment","e":true,"k":"r","d":[13,49,64,117,144,148,286,310,393,403,471,514,674,756,825,1018,1237,1634,1641,2167],"c":[["s",{"w":"environments","s":"s","e":true,"k":"s","d":[402,541,1364,1384,1668],"c":[]}]]}]]}]]}],["a",{"w":"enabl","s":"abl","e":false,"k":"a","d":[],"c":[["e",{"w":"enable","s":"e","e":true,"k":"e","d":[34,78,158,204,206,264,269,293,295,306,307,329,335,338,357,372,374,375,401,420,429,521,654,737,747,795,811,833,866,909,912,1063,1254,1413,1418,1438,1484,1641,1669,2088],"c":[["d",{"w":"enabled","s":"d","e":true,"k":"d","d":[16,103,156,179,194,203,206,223,230,232,235,236,237,239,243,251,256,258,271,272,273,275,281,293,295,305,306,313,316,334,336,337,338,339,340,341,350,351,353,354,355,356,357,364,372,374,375,384,401,407,420,423,424,431,673,688,722,738,818,1222,1225,1227,1247,1248,1249,1324,1439,1440,1441,1442],"c":[["p",{"w":"enabledprotocols","s":"protocols","e":true,"k":"p","d":[350],"c":[]}]]}],["s",{"w":"enables","s":"s","e":true,"k":"s","d":[65,78,100,179,240,297,306,317,342,384,1091,1092,1098,1246,1913,2070],"c":[["e",{"w":"enableserver","s":"erver","e":true,"k":"e","d":[104,431],"c":[]}]]}],["e",{"w":"enableeageraclcheck","s":"eageraclcheck","e":true,"k":"e","d":[240],"c":[]}]]}],["i",{"w":"enabling","s":"ing","e":true,"k":"i","d":[170,295,305,308,309,328,342,371,406,423,424,799,893,1651,1706,2063],"c":[]}]]}],["d",{"w":"end","s":"d","e":true,"k":"d","d":[36,252,255,279,448,1091,1092,1320,1484,1915,2072],"c":[["p",{"w":"endpoint","s":"point","e":true,"k":"p","d":[813,1647],"c":[["s",{"w":"endpoints","s":"s","e":true,"k":"s","d":[53,821],"c":[]}]]}],["s",{"w":"ends","s":"s","e":true,"k":"s","d":[1318,1423,1506,1810],"c":[]}],["i",{"w":"ending","s":"ing","e":true,"k":"i","d":[1503],"c":[]}],["-",{"w":"end-to-end","s":"-to-end","e":true,"k":"-","d":[1954],"c":[]}],["l",{"w":"endless","s":"less","e":true,"k":"l","d":[2082],"c":[]}]]}],["t",{"w":"ent","s":"t","e":false,"k":"t","d":[],"c":[["r",{"w":"entr","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"entries","s":"ies","e":true,"k":"i","d":[109,157,316,355,1021,1022,1363,1365,1369,1370,1975],"c":[]}],["y",{"w":"entry","s":"y","e":true,"k":"y","d":[881,1319,1368,1369,1485,1973,1976],"c":[]}]]}],["i",{"w":"enti","s":"i","e":false,"k":"i","d":[],"c":[["r",{"w":"entire","s":"re","e":true,"k":"r","d":[159,189,305,311,514,854,1828],"c":[["l",{"w":"entirely","s":"ly","e":true,"k":"l","d":[195,196,883],"c":[]}]]}],["t",{"w":"entit","s":"t","e":false,"k":"t","d":[],"c":[["y",{"w":"entity","s":"y","e":true,"k":"y","d":[1167,1314,1700],"c":[]}],["i",{"w":"entities","s":"ies","e":true,"k":"i","d":[1712],"c":[]}]]}]]}],["e",{"w":"enter","s":"er","e":true,"k":"e","d":[1039,1041,1043,1045,1048,1098,1099,1109,1485,1486],"c":[["e",{"w":"entered","s":"ed","e":true,"k":"e","d":[1098,1501,1681],"c":[]}],["i",{"w":"entering","s":"ing","e":true,"k":"i","d":[1500],"c":[]}],["s",{"w":"enters","s":"s","e":true,"k":"s","d":[1500],"c":[]}],["p",{"w":"enterprise","s":"prise","e":true,"k":"p","d":[1646,1651,1714,1715],"c":[["s",{"w":"enterprises","s":"s","e":true,"k":"s","d":[1651],"c":[]}]]}]]}]]}],["c",{"w":"enc","s":"c","e":false,"k":"c","d":[],"c":[["r",{"w":"encrypt","s":"rypt","e":false,"k":"r","d":[],"c":[["i",{"w":"encryption","s":"ion","e":true,"k":"i","d":[143,146,161,165,314],"c":[]}],["e",{"w":"encrypted","s":"ed","e":true,"k":"e","d":[317,342,454],"c":[]}]]}],["a",{"w":"encapsulate","s":"apsulate","e":true,"k":"a","d":[2165],"c":[["s",{"w":"encapsulates","s":"s","e":true,"k":"s","d":[147],"c":[]}]]}],["o",{"w":"enco","s":"o","e":false,"k":"o","d":[],"c":[["d",{"w":"encoded","s":"ded","e":true,"k":"d","d":[1173],"c":[]}],["u",{"w":"encou","s":"u","e":false,"k":"u","d":[],"c":[["r",{"w":"encourage","s":"rage","e":true,"k":"r","d":[1472],"c":[["d",{"w":"encouraged","s":"d","e":true,"k":"d","d":[1847],"c":[]}]]}],["n",{"w":"encountering","s":"ntering","e":true,"k":"n","d":[2089],"c":[]}]]}]]}]]}],["o",{"w":"enough","s":"ough","e":true,"k":"o","d":[209,268,417,513,538,689,1092,1098,1397,1484,1845,1912,1913,1971],"c":[]}],["f",{"w":"enforce","s":"force","e":true,"k":"f","d":[232,334,337,338,339,341],"c":[["q",{"w":"enforcequota","s":"quota","e":true,"k":"q","d":[232],"c":[]}],["d",{"w":"enforced","s":"d","e":true,"k":"d","d":[672,673,2023],"c":[]}]]}],["q",{"w":"enqueued","s":"queued","e":true,"k":"q","d":[274],"c":[]}],["u",{"w":"enum","s":"um","e":true,"k":"u","d":[1262],"c":[]}],["g",{"w":"engine","s":"gine","e":true,"k":"g","d":[1638,1657,1668,1704,1715,1716],"c":[["e",{"w":"engineer","s":"er","e":false,"k":"e","d":[],"c":[["i",{"w":"engineering","s":"ing","e":true,"k":"i","d":[1313,1758,1759,1867],"c":[]}],["s",{"w":"engineers","s":"s","e":true,"k":"s","d":[1867],"c":[]}]]}]]}],["-",{"w":"en-","s":"-","e":true,"k":"-","d":[1724],"c":[["u",{"w":"en-us","s":"us","e":true,"k":"u","d":[1749],"c":[]}]]}],["_",{"w":"en_us","s":"_us","e":true,"k":"_","d":[1758,1759],"c":[]}],["h",{"w":"enhance","s":"hance","e":true,"k":"h","d":[2092],"c":[]}]]}],["v",{"w":"ev","s":"v","e":false,"k":"v","d":[],"c":[["e",{"w":"eve","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"every","s":"ry","e":true,"k":"r","d":[13,114,125,129,194,218,220,221,305,307,515,520,532,729,823,833,874,876,877,878,906,916,1289,1311,1326,1327,1454,1485,1806,1829,1877,1911],"c":[["t",{"w":"everything","s":"thing","e":true,"k":"t","d":[48,295,1349,1434,1450,1898],"c":[]}],["o",{"w":"everyone","s":"one","e":true,"k":"o","d":[397,1167,1502],"c":[]}]]}],["n",{"w":"even","s":"n","e":true,"k":"n","d":[48,209,211,336,340,384,402,405,451,533,535,634,650,715,936,1167,1282,1364,1445,1473,1475,1544,1816],"c":[["t",{"w":"event","s":"t","e":true,"k":"t","d":[15,406,1139,1143,1144,1146,1148,1214,1217,1218,1239,1240,1345,1361,1396,1426,1432,1433,1434,1439,1440,1441,1442,1443,1446,1447,1448,1451,1453,1454,1475,1482,1483,1496,2129],"c":[["s",{"w":"events","s":"s","e":true,"k":"s","d":[93,592,1132,1133,1147,1214,1266,1328,1396,1436,1438,1443,1444,1445,1450,1452,1456,1803,1838,1918,1921,1922,2127],"c":[]}],["u",{"w":"eventually","s":"ually","e":true,"k":"u","d":[1387,1395,1864],"c":[["-",{"w":"eventually-consistent","s":"-consistent","e":true,"k":"-","d":[1073],"c":[]}]]}],["-",{"w":"event-driven","s":"-driven","e":true,"k":"-","d":[1628],"c":[]}],["b",{"w":"eventbus","s":"bus","e":true,"k":"b","d":[1738],"c":[]}]]}]]}]]}],["a",{"w":"evaluat","s":"aluat","e":false,"k":"a","d":[],"c":[["i",{"w":"evaluation","s":"ion","e":true,"k":"i","d":[471,1968],"c":[]}],["e",{"w":"evaluated","s":"ed","e":true,"k":"e","d":[1365],"c":[]}]]}]]}],["x",{"w":"ex","s":"x","e":false,"k":"x","d":[],"c":[["a",{"w":"exa","s":"a","e":false,"k":"a","d":[],"c":[["m",{"w":"example","s":"mple","e":true,"k":"m","d":[13,15,17,48,100,101,148,184,189,204,297,298,306,307,322,324,369,370,510,524,534,536,597,617,618,644,662,663,666,681,683,690,691,692,697,698,706,707,709,715,716,735,748,749,862,863,864,869,876,882,892,902,903,904,908,911,917,922,943,971,1037,1038,1070,1071,1072,1083,1091,1093,1110,1133,1144,1155,1156,1157,1191,1203,1217,1256,1263,1320,1349,1368,1384,1389,1396,1403,1404,1405,1433,1455,1456,1475,1874,1911,1912,1939,1972,1974,1976,1978],"c":[["s",{"w":"examples","s":"s","e":true,"k":"s","d":[19,543,646,648,668,675,686,711,719,734,897,1088,1090,1091,1475,1735,1967],"c":[]}]]}],["c",{"w":"exact","s":"ct","e":true,"k":"c","d":[174,185,1175,1882],"c":[["l",{"w":"exactly","s":"ly","e":true,"k":"l","d":[709,871,1518,1829,1876],"c":[]}]]}]]}],["p",{"w":"exp","s":"p","e":false,"k":"p","d":[],"c":[["e",{"w":"expe","s":"e","e":false,"k":"e","d":[],"c":[["c",{"w":"expect","s":"ct","e":true,"k":"c","d":[74,877,1913],"c":[["e",{"w":"expected","s":"ed","e":true,"k":"e","d":[17,49,248,254,406,445,522,543,652,732,908,917,938,952,1402,1844],"c":[]}],["i",{"w":"expecting","s":"ing","e":true,"k":"i","d":[1224],"c":[]}]]}],["n",{"w":"expens","s":"ns","e":false,"k":"n","d":[],"c":[["i",{"w":"expensive","s":"ive","e":true,"k":"i","d":[70,72,113,116,130,135,136,355],"c":[]}],["e",{"w":"expense","s":"e","e":true,"k":"e","d":[289],"c":[]}]]}],["r",{"w":"exper","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"experimental","s":"imental","e":true,"k":"i","d":[167,383,1671],"c":[]}],["t",{"w":"expertise","s":"tise","e":true,"k":"t","d":[1847],"c":[]}]]}]]}],["o",{"w":"expo","s":"o","e":false,"k":"o","d":[],"c":[["s",{"w":"expos","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"expose","s":"e","e":true,"k":"e","d":[1473,2150],"c":[["s",{"w":"exposes","s":"s","e":true,"k":"s","d":[31,1326,1797,1876],"c":[]}],["d",{"w":"exposed","s":"d","e":true,"k":"d","d":[1328],"c":[]}]]}],["i",{"w":"exposing","s":"ing","e":true,"k":"i","d":[1239],"c":[]}]]}],["r",{"w":"export","s":"rt","e":true,"k":"r","d":[37,1644],"c":[["s",{"w":"exports","s":"s","e":true,"k":"s","d":[32],"c":[]}],["e",{"w":"exporte","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"exporter","s":"r","e":true,"k":"r","d":[34,35,36],"c":[]}],["d",{"w":"exported","s":"d","e":true,"k":"d","d":[74],"c":[]}]]}],["j",{"w":"exportjvminfo","s":"jvminfo","e":true,"k":"j","d":[37],"c":[]}]]}]]}],["l",{"w":"expl","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"explicit","s":"icit","e":true,"k":"i","d":[344,347,674,2113],"c":[["l",{"w":"explicitly","s":"ly","e":true,"k":"l","d":[59,508,639,673,675,1382],"c":[]}]]}],["a",{"w":"expla","s":"a","e":false,"k":"a","d":[],"c":[["n",{"w":"explanation","s":"nation","e":true,"k":"n","d":[77,386],"c":[]}],["i",{"w":"explain","s":"in","e":false,"k":"i","d":[],"c":[["s",{"w":"explains","s":"s","e":true,"k":"s","d":[140,1150,1291],"c":[]}],["e",{"w":"explained","s":"ed","e":true,"k":"e","d":[386,665],"c":[]}]]}]]}],["o",{"w":"explor","s":"or","e":false,"k":"o","d":[],"c":[["i",{"w":"exploring","s":"ing","e":true,"k":"i","d":[232],"c":[]}],["e",{"w":"explore","s":"e","e":true,"k":"e","d":[1966],"c":[]}]]}]]}],["i",{"w":"expir","s":"ir","e":false,"k":"i","d":[],"c":[["a",{"w":"expiration","s":"ation","e":true,"k":"a","d":[1148,1267,1380,1382,1387,1388,1395,1412],"c":[["s",{"w":"expirations","s":"s","e":true,"k":"s","d":[116,1388],"c":[]}]]}],["y",{"w":"expiry","s":"y","e":true,"k":"y","d":[227,1416],"c":[["_",{"w":"expiry_time_to_session_ids","s":"_time_to_session_ids","e":true,"k":"_","d":[116],"c":[]}]]}],["e",{"w":"expire","s":"e","e":true,"k":"e","d":[272,1678],"c":[["d",{"w":"expired","s":"d","e":true,"k":"d","d":[1148,1387,1388,1389,1424],"c":[]}],["s",{"w":"expires","s":"s","e":true,"k":"s","d":[1388,1393,1396,1682],"c":[]}]]}]]}],["a",{"w":"expand","s":"and","e":true,"k":"a","d":[753,755],"c":[["i",{"w":"expanding","s":"ing","e":true,"k":"i","d":[1729],"c":[]}]]}],["r",{"w":"express","s":"ress","e":false,"k":"r","d":[],"c":[["i",{"w":"expressi","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"expression","s":"on","e":true,"k":"o","d":[1156,1157,1172,1173,1174,1175,1365],"c":[["s",{"w":"expressions","s":"s","e":true,"k":"s","d":[1156],"c":[]}]]}],["v",{"w":"expressive","s":"ve","e":true,"k":"v","d":[1649],"c":[]}]]}],["e",{"w":"expressed","s":"ed","e":true,"k":"e","d":[1304],"c":[]}]]}]]}],["i",{"w":"exi","s":"i","e":false,"k":"i","d":[],"c":[["t",{"w":"exit","s":"t","e":true,"k":"t","d":[18,19,1050,1491,1493,1500,1501,1502,1529],"c":[["s",{"w":"exits","s":"s","e":true,"k":"s","d":[1050,1513,1530],"c":[]}]]}],["s",{"w":"exist","s":"st","e":true,"k":"s","d":[402,404,405,968,1097,1102,1135,1167,1169,1424,1967,2088],"c":[["i",{"w":"existing","s":"ing","e":true,"k":"i","d":[142,384,452,694,695,705,1068,1502,1701,1945],"c":[]}],["e",{"w":"existe","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"existence","s":"nce","e":true,"k":"n","d":[170,406,1140,1146,1345,1436],"c":[]}],["d",{"w":"existed","s":"d","e":true,"k":"d","d":[448],"c":[]}]]}],["s",{"w":"exists","s":"s","e":true,"k":"s","d":[680,1090,1102,1135,1138,1140,1142,1145,1146,1148,1169,1240,1318,1432,1435,1438,1439,1440,1441,1447,1455,1479,1480,1481,1482,1483,1490,1497,1505,1509,1514,1515,1531,1532,1533,1534,1810,1822,2100],"c":[]}]]}]]}],["t",{"w":"ext","s":"t","e":true,"k":"t","d":[323],"c":[["e",{"w":"exte","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"exten","s":"n","e":false,"k":"n","d":[],"c":[["d",{"w":"extend","s":"d","e":true,"k":"d","d":[331,1090,1373],"c":[["e",{"w":"extended","s":"ed","e":true,"k":"e","d":[58,206,521,668],"c":[["t",{"w":"extendedtypesenabled","s":"typesenabled","e":true,"k":"t","d":[206,207,581],"c":[]}]]}]]}],["t",{"w":"extent","s":"t","e":true,"k":"t","d":[635],"c":[]}],["s",{"w":"extensi","s":"si","e":false,"k":"s","d":[],"c":[["v",{"w":"extensive","s":"ve","e":true,"k":"v","d":[745],"c":[]}],["b",{"w":"extensible","s":"ble","e":true,"k":"b","d":[1644,1651,1670],"c":[]}]]}]]}],["r",{"w":"external","s":"rnal","e":true,"k":"r","d":[454,944,986,1638,1720],"c":[["l",{"w":"externally","s":"ly","e":true,"k":"l","d":[1952],"c":[]}]]}]]}],["r",{"w":"extr","s":"r","e":false,"k":"r","d":[],"c":[["a",{"w":"extra","s":"a","e":true,"k":"a","d":[535,1317],"c":[["c",{"w":"extract","s":"ct","e":true,"k":"c","d":[149,275,1912],"c":[["e",{"w":"extracted","s":"ed","e":true,"k":"e","d":[371,680],"c":[]}]]}],["s",{"w":"extrasize","s":"size","e":true,"k":"s","d":[396],"c":[]}]]}],["e",{"w":"extremely","s":"emely","e":true,"k":"e","d":[1704],"c":[]}]]}]]}],["e",{"w":"execut","s":"ecut","e":false,"k":"e","d":[],"c":[["e",{"w":"execute","s":"e","e":true,"k":"e","d":[405,525,531,1016,1090,1167,1181,1191,1549,1557],"c":[["d",{"w":"executed","s":"d","e":true,"k":"d","d":[65,306,589,1560,1957],"c":[]}],["s",{"w":"executes","s":"s","e":true,"k":"s","d":[913],"c":[]}]]}],["i",{"w":"executi","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"execution","s":"on","e":true,"k":"o","d":[655,1130],"c":[]}],["n",{"w":"executing","s":"ng","e":true,"k":"n","d":[1631],"c":[]}]]}],["o",{"w":"executor","s":"or","e":true,"k":"o","d":[1111,1115,1118,1130,1131,1132,1133,1134,1135,1136,1143,1146],"c":[["'",{"w":"executor's","s":"'s","e":true,"k":"'","d":[1132,1138],"c":[]}],["-",{"w":"executor-like","s":"-like","e":true,"k":"-","d":[1133],"c":[]}]]}],["a",{"w":"executable","s":"able","e":true,"k":"a","d":[1126,1127,1128,1129,1130,1132,1135],"c":[]}]]}],["c",{"w":"exc","s":"c","e":false,"k":"c","d":[],"c":[["l",{"w":"exclu","s":"lu","e":false,"k":"l","d":[],"c":[["d",{"w":"exclud","s":"d","e":false,"k":"d","d":[],"c":[["i",{"w":"excluding","s":"ing","e":true,"k":"i","d":[83,89],"c":[]}],["e",{"w":"excluded","s":"ed","e":true,"k":"e","d":[257],"c":[]}]]}],["s",{"w":"exclusive","s":"sive","e":true,"k":"s","d":[934,1679],"c":[["l",{"w":"exclusively","s":"ly","e":true,"k":"l","d":[1679],"c":[]}]]}]]}],["e",{"w":"exce","s":"e","e":false,"k":"e","d":[],"c":[["e",{"w":"exceed","s":"ed","e":true,"k":"e","d":[194,227,268,393,604,963,2057],"c":[["s",{"w":"exceeds","s":"s","e":true,"k":"s","d":[232,391,392,908],"c":[]}],["e",{"w":"exceeded","s":"ed","e":true,"k":"e","d":[266],"c":[]}],["i",{"w":"exceeding","s":"ing","e":true,"k":"i","d":[973],"c":[]}]]}],["p",{"w":"except","s":"pt","e":true,"k":"p","d":[527,675,1329,1502],"c":[["i",{"w":"exception","s":"ion","e":true,"k":"i","d":[254,256,278,697,727,955,1104,1146,1262,1398,1401,1444,1827,1927,2062,2071],"c":[["s",{"w":"exceptions","s":"s","e":true,"k":"s","d":[1099,1476],"c":[]}]]}]]}],["r",{"w":"excerpt","s":"rpt","e":true,"k":"r","d":[1089,1102],"c":[]}],["l",{"w":"excellent","s":"llent","e":true,"k":"l","d":[1359],"c":[]}]]}],["h",{"w":"exchanging","s":"hanging","e":true,"k":"h","d":[1874],"c":[]}]]}],["h",{"w":"exhaust","s":"haust","e":false,"k":"h","d":[],"c":[["i",{"w":"exhaustion","s":"ion","e":true,"k":"i","d":[196],"c":[]}],["s",{"w":"exhausts","s":"s","e":true,"k":"s","d":[1503],"c":[]}]]}]]}],["t",{"w":"etc","s":"tc","e":true,"k":"t","d":[14,61,292,536,1284,1313,1317,1321,1328,1384,1387,1396,1520,1627,1701,1722,1742,1807,1832],"c":[]}],["a",{"w":"ea","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"each","s":"ch","e":true,"k":"c","d":[18,46,57,78,117,123,133,148,157,158,189,191,193,195,240,248,249,252,292,293,317,372,373,386,399,414,415,447,477,520,532,533,647,662,667,691,729,732,733,780,793,876,902,903,904,912,936,942,990,1023,1028,1092,1093,1105,1304,1311,1316,1326,1330,1347,1369,1383,1384,1402,1403,1405,1500,1502,1518,1543,1547,1548,1676,1678,1680,1701,1709,1713,1799,1802,1804,1807,1808,1809,1827,1829,1877,1907,1908,1913,1945,1976,1978,1979],"c":[]}],["g",{"w":"eager","s":"ger","e":true,"k":"g","d":[240],"c":[["a",{"w":"eageraclfiltertest","s":"aclfiltertest","e":true,"k":"a","d":[2124],"c":[]}]]}],["r",{"w":"earl","s":"rl","e":false,"k":"r","d":[],"c":[["y",{"w":"earlydropsecureconnectionhandshakes","s":"ydropsecureconnectionhandshakes","e":true,"k":"y","d":[269],"c":[]}],["i",{"w":"earlier","s":"ier","e":true,"k":"i","d":[351,396,417,665,679,1213,1261,1543],"c":[]}]]}],["s",{"w":"eas","s":"s","e":false,"k":"s","d":[],"c":[["i",{"w":"easi","s":"i","e":false,"k":"i","d":[],"c":[["e",{"w":"easie","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"easier","s":"r","e":true,"k":"r","d":[418],"c":[]}],["s",{"w":"easiest","s":"st","e":true,"k":"s","d":[819,1239],"c":[]}]]}],["l",{"w":"easily","s":"ly","e":true,"k":"l","d":[1706],"c":[]}]]}],["y",{"w":"easy","s":"y","e":true,"k":"y","d":[709,1287,1520,1718,1797,1867,2151],"c":[]}],["e",{"w":"ease","s":"e","e":true,"k":"e","d":[1472],"c":[]}]]}]]}],["r",{"w":"er","s":"r","e":false,"k":"r","d":[],"c":[["r",{"w":"erro","s":"ro","e":false,"k":"r","d":[],"c":[["r",{"w":"error","s":"r","e":true,"k":"r","d":[18,270,293,305,333,337,391,404,530,630,647,666,720,726,731,1023,1146,1169,1258,1262,1271,1367,1382,1401,1460,1476,1521,1915,1918,2056,2084,2089,2118,2135,2140,2158,2186],"c":[["s",{"w":"errors","s":"s","e":true,"k":"s","d":[310,1027,1146,1259,1262,1284,1343,1467,1798,1838,2063,2065,2194],"c":[]}],["-",{"w":"error-prone","s":"-prone","e":true,"k":"-","d":[633],"c":[]}]]}],["n",{"w":"erroneously","s":"neously","e":true,"k":"n","d":[1895],"c":[]}]]}],["a",{"w":"era","s":"a","e":true,"k":"a","d":[1730],"c":[]}]]}],["i",{"w":"either","s":"ither","e":true,"k":"i","d":[26,103,179,526,644,733,751,830,906,952,955,1090,1217,1281,1286,1387,1398,1542,1543,1815],"c":[]}],["l",{"w":"el","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"eliminate","s":"iminate","e":true,"k":"i","d":[47,1348],"c":[]}],["e",{"w":"ele","s":"e","e":false,"k":"e","d":[],"c":[["c",{"w":"elect","s":"ct","e":true,"k":"c","d":[286,406,1679,1707,1845],"c":[["i",{"w":"electi","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"election","s":"on","e":true,"k":"o","d":[138,147,214,215,271,283,285,288,292,298,299,301,310,311,312,398,520,768,809,880,927,930,938,953,1287,1458,1471,1548,1549,1551,1552,1553,1554,1556,1558,1639,1661,1664,1669,1679,1683,1685,1700,1707,1715,1717,1734,1735,1738,1739,1741,1742,1743,1845,1882,1885,1886,1887,1895,1911,1976,1978],"c":[["s",{"w":"elections","s":"s","e":true,"k":"s","d":[214,215,308],"c":[]}],["a",{"w":"electionalg","s":"alg","e":true,"k":"a","d":[283,285,299,301],"c":[]}],["p",{"w":"electionportbindretry","s":"portbindretry","e":true,"k":"p","d":[310],"c":[]}]]}],["n",{"w":"electing","s":"ng","e":true,"k":"n","d":[704,1882],"c":[]}]]}],["e",{"w":"elected","s":"ed","e":true,"k":"e","d":[305,1700,1717,1887],"c":[]}]]}],["m",{"w":"element","s":"ment","e":true,"k":"m","d":[1101,1103,1104,1105,1506],"c":[["s",{"w":"elements","s":"s","e":true,"k":"s","d":[213,1101,1103,1107,1108,1806],"c":[]}],["b",{"w":"elementbits","s":"bits","e":true,"k":"b","d":[213],"c":[]}]]}]]}],["s",{"w":"else","s":"se","e":true,"k":"s","d":[306,521,1474,1482,1497,1498],"c":[]}],["a",{"w":"ela","s":"a","e":false,"k":"a","d":[],"c":[["p",{"w":"elapses","s":"pses","e":true,"k":"p","d":[1393,1394],"c":[]}],["s",{"w":"elastic","s":"stic","e":true,"k":"s","d":[1706],"c":[]}]]}]]}],["s",{"w":"es","s":"s","e":false,"k":"s","d":[],"c":[["t",{"w":"est","s":"t","e":false,"k":"t","d":[],"c":[["i",{"w":"estimat","s":"imat","e":false,"k":"i","d":[],"c":[["e",{"w":"estimate","s":"e","e":true,"k":"e","d":[1349],"c":[["s",{"w":"estimates","s":"s","e":true,"k":"s","d":[48,1349],"c":[]}]]}],["i",{"w":"estimating","s":"ing","e":true,"k":"i","d":[48],"c":[]}]]}],["a",{"w":"establish","s":"ablish","e":true,"k":"a","d":[333,336,337,340,373,399,1234,1263,1268,2046],"c":[["e",{"w":"establishe","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"established","s":"d","e":true,"k":"d","d":[679,1383,1390,1398],"c":[]}],["s",{"w":"establishes","s":"s","e":true,"k":"s","d":[1016,1382,1385,1388,1879,1888],"c":[]}]]}],["m",{"w":"establishment","s":"ment","e":true,"k":"m","d":[1396],"c":[]}]]}]]}],["p",{"w":"especially","s":"pecially","e":true,"k":"p","d":[189,310,594,718,1541,1798,1805,1833],"c":[]}],["s",{"w":"essential","s":"sential","e":true,"k":"s","d":[1741],"c":[["l",{"w":"essentially","s":"ly","e":true,"k":"l","d":[371,678],"c":[]}]]}],["c",{"w":"escape","s":"cape","e":true,"k":"c","d":[674],"c":[]}],["b",{"w":"esb","s":"b","e":true,"k":"b","d":[1578,1646,1647],"c":[]}]]}],["p",{"w":"ep","s":"p","e":false,"k":"p","d":[],"c":[["h",{"w":"ephemeral","s":"hemeral","e":true,"k":"h","d":[63,313,588,777,790,862,1030,1079,1201,1291,1295,1318,1319,1339,1388,1409,1415,1416,1420,1476,1478,1492,1500,1501,1503,1511,1525,1526,1545,1547,1548,1549,1552,1658,1682,1690,1691,1788,1810,2151],"c":[["s",{"w":"ephemerals","s":"s","e":true,"k":"s","d":[116,1318],"c":[]}],["z",{"w":"ephemeralznodedeleteonsessionclose","s":"znodedeleteonsessionclose","e":true,"k":"z","d":[844],"c":[]}],["o",{"w":"ephemeralowner","s":"owner","e":true,"k":"o","d":[1339],"c":[]}]]}],["o",{"w":"epoch","s":"och","e":true,"k":"o","d":[286,925,1334,1335,1877,1888,1903],"c":[["s",{"w":"epochs","s":"s","e":true,"k":"s","d":[1905],"c":[]}]]}]]}],["m",{"w":"em","s":"m","e":false,"k":"m","d":[],"c":[["b",{"w":"emb","s":"b","e":false,"k":"b","d":[],"c":[["e",{"w":"embedd","s":"edd","e":false,"k":"e","d":[],"c":[["e",{"w":"embedded","s":"ed","e":true,"k":"e","d":[102,432,433,2122],"c":[]}],["i",{"w":"embedding","s":"ing","e":true,"k":"i","d":[1915],"c":[]}]]}],["o",{"w":"embodies","s":"odies","e":true,"k":"o","d":[1881],"c":[]}]]}],["i",{"w":"emits","s":"its","e":true,"k":"i","d":[122,123],"c":[]}],["u",{"w":"emulate353ttlnodes","s":"ulate353ttlnodes","e":true,"k":"u","d":[207],"c":[]}],["p",{"w":"emp","s":"p","e":false,"k":"p","d":[],"c":[["t",{"w":"empty","s":"ty","e":true,"k":"t","d":[220,263,402,406,522,644,1186,1319,1945,2077],"c":[]}],["l",{"w":"employ","s":"loy","e":true,"k":"l","d":[1474,1476],"c":[["s",{"w":"employs","s":"s","e":true,"k":"s","d":[1154],"c":[]}]]}]]}],["a",{"w":"email","s":"ail","e":true,"k":"a","d":[824,1625,1626,1732],"c":[]}],["e",{"w":"emerge","s":"erge","e":true,"k":"e","d":[1896],"c":[]}]]}],["q",{"w":"equ","s":"qu","e":false,"k":"q","d":[],"c":[["a",{"w":"equal","s":"al","e":true,"k":"a","d":[414,732,912],"c":[["l",{"w":"equally","s":"ly","e":true,"k":"l","d":[189],"c":[]}],["s",{"w":"equals","s":"s","e":true,"k":"s","d":[679,908],"c":[]}]]}],["i",{"w":"equivalent","s":"ivalent","e":true,"k":"i","d":[371,912,1967],"c":[["l",{"w":"equivalently","s":"ly","e":true,"k":"l","d":[937],"c":[]}]]}]]}],["f",{"w":"eff","s":"ff","e":false,"k":"f","d":[],"c":[["e",{"w":"effect","s":"ect","e":true,"k":"e","d":[268,374,401,687,699,729,730,1063,1072,1348,1387,1432,1474,1512,1518,1527,1528,1537,1549,1907,1908],"c":[["s",{"w":"effects","s":"s","e":true,"k":"s","d":[214,215],"c":[]}],["i",{"w":"effective","s":"ive","e":true,"k":"i","d":[402],"c":[["l",{"w":"effectively","s":"ly","e":true,"k":"l","d":[267,1651,1706],"c":[]}],["n",{"w":"effectiveness","s":"ness","e":true,"k":"n","d":[971],"c":[]}]]}]]}],["i",{"w":"efficien","s":"icien","e":false,"k":"i","d":[],"c":[["t",{"w":"efficient","s":"t","e":true,"k":"t","d":[250,1500,1867],"c":[["l",{"w":"efficiently","s":"ly","e":true,"k":"l","d":[1651,1670,1881],"c":[]}]]}],["c",{"w":"efficiency","s":"cy","e":true,"k":"c","d":[1502],"c":[]}]]}]]}],["d",{"w":"ed","s":"d","e":false,"k":"d","d":[],"c":[["u",{"w":"edu","s":"u","e":true,"k":"u","d":[244],"c":[]}],["i",{"w":"editi","s":"iti","e":false,"k":"i","d":[],"c":[["n",{"w":"editing","s":"ng","e":true,"k":"n","d":[755],"c":[]}],["o",{"w":"edition","s":"on","e":true,"k":"o","d":[1715],"c":[]}]]}]]}],["o",{"w":"eof","s":"of","e":true,"k":"o","d":[253,256],"c":[["e",{"w":"eofexception","s":"exception","e":true,"k":"e","d":[278],"c":[]}]]}],["c",{"w":"ec","s":"c","e":false,"k":"c","d":[],"c":[["h",{"w":"echo","s":"ho","e":true,"k":"h","d":[373,399],"c":[]}],["l",{"w":"eclipse","s":"lipse","e":true,"k":"l","d":[1567,1568,1629,1630],"c":[]}],["f",{"w":"ecf","s":"f","e":true,"k":"f","d":[1629],"c":[]}],["o",{"w":"ecosystem","s":"osystem","e":true,"k":"o","d":[1651,1700],"c":[]}],["2",{"w":"ec2","s":"2","e":true,"k":"2","d":[1727],"c":[]}]]}],["'",{"w":"e's","s":"'s","e":true,"k":"'","d":[691],"c":[]}],["g",{"w":"eg","s":"g","e":true,"k":"g","d":[1265],"c":[]}],["b",{"w":"ebay","s":"bay","e":true,"k":"b","d":[1704],"c":[]}],["-",{"w":"e-mail","s":"-mail","e":true,"k":"-","d":[1732],"c":[]}],["w",{"w":"ew53t6h9orw","s":"w53t6h9orw","e":true,"k":"w","d":[1745],"c":[]}]]}],["n",{"w":"n","s":"n","e":true,"k":"n","d":[194,213,321,533,980,1488,1492,1493,1497,1545,1876],"c":[["e",{"w":"ne","s":"e","e":false,"k":"e","d":[],"c":[["w",{"w":"new","s":"w","e":true,"k":"w","d":[12,30,35,38,39,40,59,60,61,62,67,69,70,71,72,73,74,75,76,100,102,111,124,126,131,145,153,197,198,199,200,202,203,204,205,206,207,208,209,210,211,212,213,216,217,218,219,220,221,222,223,224,225,226,227,230,232,233,234,235,236,237,238,243,246,247,252,253,254,255,259,263,264,265,266,267,270,271,272,273,275,278,279,280,286,295,304,305,306,308,309,313,316,317,318,326,328,332,333,337,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,363,364,365,366,371,372,373,375,383,384,396,399,402,405,406,408,410,411,412,415,416,417,418,421,426,428,430,449,522,635,644,659,667,679,685,688,689,691,697,704,705,706,709,713,715,717,723,729,731,733,740,751,796,809,871,879,880,919,925,928,957,1023,1024,1068,1101,1103,1144,1148,1196,1200,1217,1225,1228,1230,1231,1232,1233,1234,1237,1238,1251,1268,1367,1368,1385,1387,1396,1397,1401,1402,1403,1404,1405,1407,1415,1433,1436,1437,1443,1451,1454,1503,1521,1549,1556,1680,1700,1724,1812,1831,1845,1867,1877,1888,1892,1894,1896,1903,1959,1973,1976,1984,1994,1999,2014],"c":[["e",{"w":"newer","s":"er","e":true,"k":"e","d":[12],"c":[]}],["l",{"w":"newleader","s":"leader","e":true,"k":"l","d":[679],"c":[]}],["c",{"w":"newconfig","s":"config","e":true,"k":"c","d":[714],"c":[["n",{"w":"newconfignoquorum","s":"noquorum","e":true,"k":"n","d":[723],"c":[]}]]}],["_",{"w":"new_leader","s":"_leader","e":true,"k":"_","d":[1874,1881,1888,1890,1891,1892,1893,1894,1895],"c":[]}]]}],["e",{"w":"need","s":"ed","e":true,"k":"e","d":[48,59,148,150,207,210,211,213,281,295,307,361,362,409,454,520,666,675,695,696,755,880,1105,1228,1229,1237,1404,1407,1424,1501,1503,1506,1685,1688,1712,1731,1867,1905,1912,1944],"c":[["s",{"w":"needs","s":"s","e":true,"k":"s","d":[48,250,275,452,829,986,987,1072,1319,1369,1407,1416,1541,1867,1885],"c":[]}],["e",{"w":"needed","s":"ed","e":true,"k":"e","d":[154,287,417,425,634,877,1287,1317,1349,1436,1511,1867],"c":[]}],["c",{"w":"needclientauth","s":"clientauth","e":true,"k":"c","d":[425],"c":[]}]]}],["c",{"w":"necessar","s":"cessar","e":false,"k":"c","d":[],"c":[["i",{"w":"necessarily","s":"ily","e":true,"k":"i","d":[65,126,1105,1410,1913],"c":[]}],["y",{"w":"necessary","s":"y","e":true,"k":"y","d":[149,155,331,405,452,454,666,687,697,1353,1545,1683,1976,1978],"c":[]}]]}],["t",{"w":"net","s":"t","e":true,"k":"t","d":[331,356,1237],"c":[["c",{"w":"netcat","s":"cat","e":true,"k":"c","d":[100],"c":[]}],["t",{"w":"netty","s":"ty","e":true,"k":"t","d":[139,140,143,144,146,179,239,268,269,1228,2033,2034,2075,2086,2107,2116,2161,2162,2188,2193],"c":[["s",{"w":"nettyservercnxnfactory","s":"servercnxnfactory","e":true,"k":"s","d":[144,151,228],"c":[]}],["-",{"w":"netty-tcnative","s":"-tcnative","e":true,"k":"-","d":[364,2168],"c":[]}]]}],["w",{"w":"network","s":"work","e":true,"k":"w","d":[143,227,273,293,308,309,317,372,373,399,400,514,520,530,531,537,647,809,872,880,1237,1289,1317,1346,1394,1401,1434,1980,2059],"c":[["-",{"w":"network-level","s":"-level","e":true,"k":"-","d":[647],"c":[]}],["i",{"w":"networking","s":"ing","e":true,"k":"i","d":[1730],"c":[]}]]}]]}],["g",{"w":"neg","s":"g","e":false,"k":"g","d":[],"c":[["o",{"w":"negotiat","s":"otiat","e":false,"k":"o","d":[],"c":[["e",{"w":"negotiate","s":"e","e":true,"k":"e","d":[198,199],"c":[["d",{"w":"negotiated","s":"d","e":true,"k":"d","d":[1386],"c":[]}]]}],["i",{"w":"negotiation","s":"ion","e":true,"k":"i","d":[349,350,351,353,354],"c":[]}]]}],["a",{"w":"negative","s":"ative","e":true,"k":"a","d":[201,202,414,687],"c":[]}]]}],["x",{"w":"next","s":"xt","e":true,"k":"x","d":[252,902,1045,1103,1320,1354,1383,1514,1531,1532,1549,1628,1679,1888,1959,1962],"c":[]}],["v",{"w":"never","s":"ver","e":true,"k":"v","d":[309,417,452,680,691,694,933,1282,1285,1434,1444,1816,1831,1903],"c":[]}],["i",{"w":"neither","s":"ither","e":true,"k":"i","d":[706],"c":[]}],["o",{"w":"neo4j","s":"o4j","e":true,"k":"o","d":[1573,1638,1639],"c":[]}]]}],["o",{"w":"no","s":"o","e":true,"k":"o","d":[111,124,126,131,142,186,189,196,198,199,203,204,210,212,224,225,226,227,230,260,270,275,283,287,292,296,297,298,304,305,317,365,374,382,387,389,401,406,508,634,641,642,653,672,692,699,708,723,863,1025,1036,1167,1172,1215,1281,1287,1304,1323,1388,1399,1411,1433,1435,1445,1491,1502,1503,1507,1519,1529,1530,1549,1560,1650,1683,1815,1870,1896,1904,1915,1951,2037,2073],"c":[["t",{"w":"not","s":"t","e":true,"k":"t","d":[13,15,29,47,48,65,75,102,126,129,151,156,188,192,194,207,211,229,231,248,250,256,259,263,269,270,272,280,289,295,298,306,316,317,331,332,333,336,337,340,355,359,372,376,384,385,387,393,396,398,400,402,404,405,414,448,450,454,471,491,492,496,497,501,502,506,507,508,509,510,522,538,539,604,634,649,655,659,662,663,665,666,671,687,688,689,690,692,694,696,697,699,705,706,709,724,729,731,735,756,833,861,862,871,872,877,883,904,912,919,920,930,936,937,942,950,952,1023,1026,1027,1063,1097,1098,1105,1134,1136,1144,1154,1155,1165,1216,1217,1222,1224,1237,1240,1248,1249,1254,1269,1284,1289,1308,1317,1318,1319,1323,1339,1345,1346,1347,1353,1368,1376,1387,1388,1397,1401,1402,1404,1410,1411,1434,1436,1437,1443,1454,1456,1472,1476,1501,1503,1549,1560,1625,1812,1834,1871,1874,1881,1887,1894,1895,1904,1905,1908,1971,1979,2045,2052,2061,2083,2088,2099,2102,2163],"c":[["e",{"w":"note","s":"e","e":true,"k":"e","d":[50,70,72,106,113,116,125,129,130,135,136,147,148,156,179,194,207,257,269,297,309,317,372,400,405,662,682,684,688,690,696,706,709,762,765,771,774,780,787,793,950,1044,1097,1099,1100,1104,1144,1146,1155,1217,1228,1320,1324,1410,1443,1460,1474,1500,1511,1538,1541,1543,1546,1549,1560,1561,1909,1913,1915,1976],"c":[["d",{"w":"noted","s":"d","e":true,"k":"d","d":[185,1521],"c":[]}],["s",{"w":"notes","s":"s","e":true,"k":"s","d":[1536,1559,1983,1984,1985,1991,1997,2003,2008,2011],"c":[]}]]}],["i",{"w":"noti","s":"i","e":false,"k":"i","d":[],"c":[["f",{"w":"notif","s":"f","e":false,"k":"f","d":[],"c":[["i",{"w":"notifi","s":"i","e":false,"k":"i","d":[],"c":[["c",{"w":"notification","s":"cation","e":true,"k":"c","d":[214,215,286,1063,1098,1100,1266,1315,1345,1388,1455,1503,1506,1515,1534,1535,1540,1549,1555,1688,1691,1811],"c":[["s",{"w":"notifications","s":"s","e":true,"k":"s","d":[299,301,824,1091,1098,1473],"c":[]}]]}],["e",{"w":"notified","s":"ed","e":true,"k":"e","d":[234,1289,1387,1388,1395,1396,1453,1537,1543,1546],"c":[]}]]}],["y",{"w":"notify","s":"y","e":true,"k":"y","d":[1091,1388,1546,1688],"c":[["i",{"w":"notifying","s":"ing","e":true,"k":"i","d":[1678],"c":[]}]]}]]}],["c",{"w":"notice","s":"ce","e":true,"k":"c","d":[295,679,964,1147,1214,1517,1961,1964],"c":[["a",{"w":"noticeable","s":"able","e":true,"k":"a","d":[699],"c":[]}]]}],["o",{"w":"notion","s":"on","e":true,"k":"o","d":[1154,1167,1318,1321,1810,1910,1911],"c":[]}]]}],["a",{"w":"notation","s":"ation","e":true,"k":"a","d":[330],"c":[]}],["h",{"w":"nothing","s":"hing","e":true,"k":"h","d":[521,1167,1393],"c":[]}],["o",{"w":"notoriously","s":"oriously","e":true,"k":"o","d":[1798],"c":[]}]]}],["d",{"w":"node","s":"de","e":true,"k":"d","d":[156,157,158,246,247,257,304,579,580,581,582,583,599,601,605,606,675,771,774,871,874,943,966,970,974,975,1029,1043,1048,1091,1092,1095,1097,1098,1100,1101,1102,1103,1104,1146,1154,1157,1159,1160,1161,1162,1165,1167,1177,1178,1191,1196,1198,1200,1201,1217,1304,1309,1311,1313,1316,1320,1327,1339,1416,1435,1454,1476,1478,1479,1480,1482,1483,1484,1485,1493,1495,1497,1500,1502,1503,1506,1507,1512,1516,1518,1521,1525,1526,1527,1528,1529,1530,1531,1532,1537,1538,1540,1541,1543,1544,1545,1547,1549,1557,1561,1627,1631,1635,1679,1681,1682,1683,1700,1701,1729,1806,1807,1809,1820,1821,1822,1823,1824,1825,1959,1965,2045,2128],"c":[["s",{"w":"nodes","s":"s","e":true,"k":"s","d":[63,157,206,207,257,313,415,416,474,521,587,588,591,602,777,870,942,943,969,1030,1032,1042,1044,1079,1092,1097,1154,1166,1169,1191,1291,1295,1297,1298,1300,1304,1313,1318,1319,1324,1388,1409,1415,1416,1420,1476,1478,1479,1500,1501,1502,1503,1544,1545,1546,1627,1682,1685,1695,1700,1788,1807,1810],"c":[]}],["c",{"w":"nodec","s":"c","e":false,"k":"c","d":[],"c":[["r",{"w":"nodecreated","s":"reated","e":true,"k":"r","d":[1443],"c":[]}],["h",{"w":"nodechildrenchanged","s":"hildrenchanged","e":true,"k":"h","d":[1443,2129],"c":[]}]]}],["d",{"w":"noded","s":"d","e":false,"k":"d","d":[],"c":[["e",{"w":"nodedeleted","s":"eleted","e":true,"k":"e","d":[1443],"c":[]}],["a",{"w":"nodedatachanged","s":"atachanged","e":true,"k":"a","d":[1443],"c":[]}]]}]]}],["n",{"w":"non","s":"n","e":false,"k":"n","d":[],"c":[["-",{"w":"non-","s":"-","e":false,"k":"-","d":[],"c":[["e",{"w":"non-e","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"non-error","s":"rror","e":true,"k":"r","d":[65],"c":[]}],["x",{"w":"non-exist","s":"xist","e":true,"k":"x","d":[254,278],"c":[["e",{"w":"non-existent","s":"ent","e":true,"k":"e","d":[402],"c":[]}]]}],["m",{"w":"non-empty","s":"mpty","e":true,"k":"m","d":[1913],"c":[]}]]}],["t",{"w":"non-tls","s":"tls","e":true,"k":"t","d":[140,142,640],"c":[]}],["p",{"w":"non-positive","s":"positive","e":true,"k":"p","d":[193],"c":[]}],["a",{"w":"non-authenticated","s":"authenticated","e":true,"k":"a","d":[283],"c":[]}],["r",{"w":"non-ret","s":"ret","e":false,"k":"r","d":[],"c":[["r",{"w":"non-retryable","s":"ryable","e":true,"k":"r","d":[310],"c":[]}],["u",{"w":"non-return","s":"urn","e":true,"k":"u","d":[2084],"c":[]}]]}],["c",{"w":"non-convergent","s":"convergent","e":true,"k":"c","d":[395],"c":[]}],["v",{"w":"non-vo","s":"vo","e":false,"k":"v","d":[],"c":[["t",{"w":"non-voting","s":"ting","e":true,"k":"t","d":[406,687,690,731,866,871,879],"c":[]}],["l",{"w":"non-volatile","s":"latile","e":true,"k":"l","d":[449,1900],"c":[]}]]}],["f",{"w":"non-failing","s":"failing","e":true,"k":"f","d":[533],"c":[]}],["i",{"w":"non-incremental","s":"incremental","e":true,"k":"i","d":[628,685,698,713,718,729,730],"c":[]}],["z",{"w":"non-zero-weight","s":"zero-weight","e":true,"k":"z","d":[904],"c":[]}]]}],["e",{"w":"none","s":"e","e":true,"k":"e","d":[359],"c":[]}],["o",{"w":"nonodeexception","s":"odeexception","e":true,"k":"o","d":[1322],"c":[]}]]}],["-",{"w":"no-op","s":"-op","e":true,"k":"-","d":[126],"c":[]}],["w",{"w":"now","s":"w","e":true,"k":"w","d":[205,235,643,753,823,948,1169,1344,1403,1404,1443,1505,1509,1710,1949,1961,1966],"c":[]}],["r",{"w":"nor","s":"r","e":true,"k":"r","d":[706],"c":[["m",{"w":"normal","s":"mal","e":true,"k":"m","d":[263,678,720,1382,1401,1405,1407],"c":[["l",{"w":"normally","s":"ly","e":true,"k":"l","d":[295,771,774,951,1401],"c":[]}]]}],["b",{"w":"norbert","s":"bert","e":true,"k":"b","d":[1574],"c":[]}],["w",{"w":"norwegian","s":"wegian","e":true,"k":"w","d":[1725],"c":[]}]]}],["m",{"w":"nominates","s":"minates","e":true,"k":"m","d":[704],"c":[]}],["s",{"w":"nosql","s":"sql","e":true,"k":"s","d":[1657],"c":[]}]]}],["u",{"w":"nu","s":"u","e":false,"k":"u","d":[],"c":[["m",{"w":"num","s":"m","e":false,"k":"m","d":[],"c":[["w",{"w":"numworkerthread","s":"workerthread","e":true,"k":"w","d":[413],"c":[["s",{"w":"numworkerthreads","s":"s","e":true,"k":"s","d":[38,411,412],"c":[]}]]}],["b",{"w":"number","s":"ber","e":true,"k":"b","d":[38,70,72,113,116,130,135,136,191,193,195,196,212,216,218,224,225,226,227,231,233,241,242,266,292,410,411,412,413,414,416,419,449,510,512,535,587,688,731,732,749,855,871,872,880,882,912,964,1032,1042,1046,1098,1311,1320,1327,1336,1337,1338,1341,1349,1385,1402,1420,1503,1513,1514,1529,1530,1531,1532,1537,1548,1549,1553,1554,1558,1701,1731,1804,1808,1834,1846,1876,1877,1971,1975],"c":[["s",{"w":"numbers","s":"s","e":true,"k":"s","d":[61,213,292,297,410,866,870,1311,1327,1506,1799,1808,1976],"c":[]}]]}],["_",{"w":"num_","s":"_","e":false,"k":"_","d":[],"c":[["t",{"w":"num_total_watches","s":"total_watches","e":true,"k":"t","d":[137],"c":[]}],["p",{"w":"num_paths","s":"paths","e":true,"k":"p","d":[137],"c":[]}],["c",{"w":"num_connections","s":"connections","e":true,"k":"c","d":[137],"c":[]}]]}],["s",{"w":"numselectorthreads","s":"selectorthreads","e":true,"k":"s","d":[410],"c":[]}],["e",{"w":"numerical","s":"erical","e":true,"k":"e","d":[1105],"c":[]}],["c",{"w":"numchildren","s":"children","e":true,"k":"c","d":[1341],"c":[]}]]}],["l",{"w":"null","s":"ll","e":true,"k":"l","d":[253,254,345,348,352,1234,1305,1376,1515],"c":[["p",{"w":"nullpointerexception","s":"pointerexception","e":true,"k":"p","d":[2078,2080,2081,2123],"c":[]}]]}]]}],["c",{"w":"nc","s":"c","e":true,"k":"c","d":[53,57],"c":[]}],["a",{"w":"na","s":"a","e":false,"k":"a","d":[],"c":[["m",{"w":"nam","s":"m","e":false,"k":"m","d":[],"c":[["e",{"w":"name","s":"e","e":true,"k":"e","d":[102,148,150,275,278,279,310,321,329,330,331,332,369,370,755,758,762,765,780,783,787,793,861,1098,1124,1125,1132,1156,1175,1224,1305,1309,1319,1320,1370,1461,1476,1477,1488,1521,1806,1976],"c":[["s",{"w":"names","s":"s","e":true,"k":"s","d":[102,332,355,371,448],"c":[["p",{"w":"namespace","s":"pace","e":true,"k":"p","d":[402,959,964,966,1064,1291,1304,1316,1786,1787,1799,1806,1807,1809],"c":[["s",{"w":"namespaces","s":"s","e":true,"k":"s","d":[1712],"c":[]}]]}]]}],["d",{"w":"named","s":"d","e":true,"k":"d","d":[520,750,946,947,1242,1251,1926],"c":[]}],["n",{"w":"namenode","s":"node","e":true,"k":"n","d":[1678,1679,1680,1681,1682,1683],"c":[]}]]}],["i",{"w":"naming","s":"ing","e":true,"k":"i","d":[1297,1736,1797,1926],"c":[]}]]}],["t",{"w":"nat","s":"t","e":false,"k":"t","d":[],"c":[["s",{"w":"nats","s":"s","e":true,"k":"s","d":[308],"c":[]}],["i",{"w":"native","s":"ive","e":true,"k":"i","d":[364,475,481,516],"c":[]}],["u",{"w":"natur","s":"ur","e":false,"k":"u","d":[],"c":[["e",{"w":"nature","s":"e","e":true,"k":"e","d":[448],"c":[]}],["a",{"w":"natural","s":"al","e":true,"k":"a","d":[884],"c":[]}]]}]]}],["v",{"w":"navigation","s":"vigation","e":true,"k":"v","d":[1040],"c":[]}],["r",{"w":"narayanan","s":"rayanan","e":true,"k":"r","d":[1760],"c":[]}]]}],["i",{"w":"ni","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"nio","s":"o","e":true,"k":"o","d":[140,143,144,151,408,410,411,1214],"c":[["s",{"w":"nioservercnxnfactory","s":"servercnxnfactory","e":true,"k":"s","d":[228,309],"c":[]}]]}],["c",{"w":"nic","s":"c","e":true,"k":"c","d":[197],"c":[]}],["g",{"w":"nighthawk","s":"ghthawk","e":true,"k":"g","d":[1737],"c":[]}]]}],["n",{"w":"nnnnn","s":"nnnn","e":true,"k":"n","d":[292,297,298],"c":[]}],["y",{"w":"ny","s":"y","e":true,"k":"y","d":[957],"c":[]}],["-",{"w":"n-1","s":"-1","e":true,"k":"-","d":[980],"c":[]}],["f",{"w":"nfs","s":"fs","e":true,"k":"f","d":[1317,1348],"c":[]}],["_",{"w":"n_j","s":"_j","e":true,"k":"_","d":[1554,1558],"c":[]}],["p",{"w":"npe","s":"pe","e":true,"k":"p","d":[2134,2177],"c":[]}]]}],["u",{"w":"u","s":"u","e":true,"k":"u","d":[1887,1910],"c":[["s",{"w":"us","s":"s","e":true,"k":"s","d":[364,385,1237,1881,1905],"c":[["i",{"w":"using","s":"ing","e":true,"k":"i","d":[13,17,24,31,59,100,121,139,179,185,191,193,194,239,250,278,279,283,293,299,301,304,305,330,337,352,367,371,385,425,437,447,448,449,451,594,634,648,656,665,682,683,698,709,711,716,748,750,755,854,866,886,894,900,965,988,989,992,1064,1088,1098,1103,1149,1156,1175,1191,1194,1201,1214,1219,1228,1238,1263,1287,1318,1328,1345,1359,1367,1368,1370,1371,1382,1401,1404,1410,1444,1458,1472,1501,1507,1545,1624,1627,1629,1638,1647,1655,1676,1692,1693,1723,1727,1728,1876,1888,1899,1912,1950,1967,1974,1976],"c":[["-",{"w":"using-zookeeper-to-manage-configuration-files","s":"-zookeeper-to-manage-configuration-files","e":true,"k":"-","d":[1755],"c":[]}],["z",{"w":"usingzookeepertomanageconfigurationfiles-startupbootstrap","s":"zookeepertomanageconfigurationfiles-startupbootstrap","e":true,"k":"z","d":[1755],"c":[]}]]}],["e",{"w":"use","s":"e","e":true,"k":"e","d":[14,19,22,25,29,48,59,65,70,72,81,85,97,99,100,140,144,146,150,151,174,185,208,213,228,282,283,288,303,306,307,310,317,331,352,357,364,368,386,405,410,427,510,516,517,519,522,602,603,610,668,670,671,673,674,675,677,683,705,715,729,737,749,751,824,855,867,868,869,882,884,902,959,966,974,975,977,1027,1089,1091,1101,1106,1201,1222,1239,1252,1263,1265,1309,1319,1320,1328,1329,1364,1418,1456,1472,1473,1479,1484,1501,1502,1525,1538,1548,1561,1562,1563,1625,1639,1642,1658,1709,1718,1730,1804,1807,1846,1861,1867,1868,1871,1877,1888,1899,1904,1905,1911,1912,1914,1915,1925,1976,1982,2073,2086,2098,2106,2142],"c":[["s",{"w":"uses","s":"s","e":true,"k":"s","d":[25,100,227,306,328,537,710,715,725,873,1103,1133,1134,1154,1172,1173,1174,1175,1194,1313,1366,1369,1418,1473,1506,1627,1637,1647,1652,1654,1656,1658,1660,1670,1673,1675,1682,1685,1688,1697,1707,1711,1719,1720,1722,1724,1731,1732,1733,1734,1738,1739,1741,1793,1797,1831,1877,1911,1913,1915,1973,1976],"c":[]}],["d",{"w":"used","s":"d","e":true,"k":"d","d":[30,38,46,73,119,143,174,184,186,195,196,201,202,207,208,209,210,211,212,213,265,292,293,298,308,309,316,317,331,341,343,346,349,351,352,372,373,376,377,379,382,399,405,417,421,426,428,430,447,473,475,520,635,641,642,647,670,671,680,684,687,698,703,709,750,755,781,816,830,852,857,858,859,860,861,863,872,987,1023,1051,1073,1173,1212,1213,1222,1229,1230,1232,1234,1239,1269,1289,1304,1306,1309,1319,1320,1347,1368,1371,1376,1384,1388,1405,1521,1629,1631,1635,1667,1715,1718,1721,1723,1726,1735,1736,1740,1742,1743,1800,1834,1846,1912,1926,1946,1972,2088],"c":[]}],["f",{"w":"useful","s":"ful","e":true,"k":"f","d":[31,37,51,105,123,223,269,271,272,315,331,386,419,1030,1068,1219,1245,1289,1321,1384,1475,1913,1921],"c":[]}],["r",{"w":"user","s":"r","e":true,"k":"r","d":[179,305,306,317,328,329,330,405,406,574,597,644,670,671,674,675,677,808,839,840,857,858,859,860,861,862,863,864,872,1130,1154,1156,1168,1172,1384,1915],"c":[["s",{"w":"users","s":"s","e":true,"k":"s","d":[295,305,330,335,338,402,405,660,673,674,675,840,963,967,969,970,972,986,1344,1410,1650,1672,1692,1847,1914,2088],"c":[]}],["n",{"w":"username","s":"name","e":true,"k":"n","d":[860,1173,1223],"c":[]}]]}],["x",{"w":"usexforwardedfor","s":"xforwardedfor","e":true,"k":"x","d":[328],"c":[]}],["n",{"w":"usenix","s":"nix","e":true,"k":"n","d":[637],"c":[]}],["-",{"w":"use-case","s":"-case","e":true,"k":"-","d":[1172],"c":[]}],["c",{"w":"usecases","s":"cases","e":true,"k":"c","d":[1779],"c":[]}],["l",{"w":"useless","s":"less","e":true,"k":"l","d":[2159],"c":[]}]]}],["a",{"w":"usa","s":"a","e":true,"k":"a","d":[957,1760],"c":[["g",{"w":"usage","s":"ge","e":true,"k":"g","d":[48,517,2038,2039,2108],"c":[]}]]}],["u",{"w":"usual","s":"ual","e":true,"k":"u","d":[1317],"c":[["l",{"w":"usually","s":"ly","e":true,"k":"l","d":[209,211,368,509,513,535,659,704,1365,1367,1401,1807,1868],"c":[]}]]}],["b",{"w":"usb","s":"b","e":true,"k":"b","d":[900,944,946,950,952,955],"c":[]}],["r",{"w":"usr","s":"r","e":true,"k":"r","d":[1236],"c":[]}]]}],["t",{"w":"util","s":"til","e":true,"k":"t","d":[2140],"c":[["i",{"w":"utili","s":"i","e":false,"k":"i","d":[],"c":[["t",{"w":"utilit","s":"t","e":false,"k":"t","d":[],"c":[["y",{"w":"utility","s":"y","e":true,"k":"y","d":[14,1245],"c":[]}],["i",{"w":"utilities","s":"ies","e":true,"k":"i","d":[994],"c":[]}]]}],["z",{"w":"utilizing","s":"zing","e":true,"k":"z","d":[1717],"c":[]}]]}]]}],["n",{"w":"un","s":"n","e":false,"k":"n","d":[],"c":[["l",{"w":"unl","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"unlike","s":"ike","e":true,"k":"i","d":[102,687,1154,1799,1807,1903],"c":[["l",{"w":"unlikely","s":"ly","e":true,"k":"l","d":[15,1909],"c":[]}]]}],["e",{"w":"unless","s":"ess","e":true,"k":"e","d":[181,374,401,653,1388,1433,1907,1947],"c":[]}],["o",{"w":"unlock","s":"ock","e":true,"k":"o","d":[343,346,1230,1232,1516,1540],"c":[]}]]}],["u",{"w":"unused","s":"used","e":true,"k":"u","d":[81,85,97,99,100,2154],"c":[]}],["i",{"w":"uni","s":"i","e":false,"k":"i","d":[],"c":[["t",{"w":"unit","s":"t","e":true,"k":"t","d":[121,184,204,389,1874,1946,1974],"c":[["s",{"w":"units","s":"s","e":true,"k":"s","d":[1130],"c":[]}]]}],["f",{"w":"unif","s":"f","e":false,"k":"f","d":[],"c":[["i",{"w":"unifi","s":"i","e":false,"k":"i","d":[],"c":[["c",{"w":"unification","s":"cation","e":true,"k":"c","d":[154,156,159],"c":[]}],["e",{"w":"unified","s":"ed","e":true,"k":"e","d":[1644,1716],"c":[]}]]}],["o",{"w":"uniform","s":"orm","e":true,"k":"o","d":[1402],"c":[]}]]}],["o",{"w":"union","s":"on","e":true,"k":"o","d":[297],"c":[]}],["q",{"w":"unique","s":"que","e":true,"k":"q","d":[447,521,1297,1320,1326,1371,1697,1877,1903,1978],"c":[]}],["m",{"w":"unimplemented","s":"mplemented","e":true,"k":"m","d":[581],"c":[["e",{"w":"unimplementedexception","s":"exception","e":true,"k":"e","d":[1324],"c":[]}]]}],["x",{"w":"unix","s":"x","e":true,"k":"x","d":[1154,1384,1506],"c":[]}],["c",{"w":"unicode","s":"code","e":true,"k":"c","d":[1304],"c":[]}]]}],["s",{"w":"uns","s":"s","e":false,"k":"s","d":[],"c":[["a",{"w":"unsafe","s":"afe","e":true,"k":"a","d":[168],"c":[]}],["e",{"w":"unset","s":"et","e":true,"k":"e","d":[227],"c":[]}],["t",{"w":"unstable","s":"table","e":true,"k":"t","d":[395,1240],"c":[]}]]}],["d",{"w":"und","s":"d","e":false,"k":"d","d":[],"c":[["e",{"w":"unde","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"under","s":"r","e":true,"k":"r","d":[232,257,321,389,587,880,924,928,944,947,964,969,972,1098,1235,1242,1478,1909],"c":[["s",{"w":"understand","s":"stand","e":true,"k":"s","d":[729,1365],"c":[["i",{"w":"understanding","s":"ing","e":true,"k":"i","d":[1353],"c":[]}]]}]]}],["f",{"w":"undefined","s":"fined","e":true,"k":"f","d":[1218,1543],"c":[]}]]}],["i",{"w":"undigested","s":"igested","e":true,"k":"i","d":[270],"c":[]}],["o",{"w":"undoubtedly","s":"oubtedly","e":true,"k":"o","d":[942],"c":[]}]]}],["a",{"w":"una","s":"a","e":false,"k":"a","d":[],"c":[["v",{"w":"unavailab","s":"vailab","e":false,"k":"v","d":[],"c":[["l",{"w":"unavailable","s":"le","e":true,"k":"l","d":[271,286,695,955],"c":[]}],["i",{"w":"unavailability","s":"ility","e":true,"k":"i","d":[687,704],"c":[]}]]}],["b",{"w":"unable","s":"ble","e":true,"k":"b","d":[384,955],"c":[]}],["u",{"w":"unauth","s":"uth","e":false,"k":"u","d":[],"c":[["o",{"w":"unauthorized","s":"orized","e":true,"k":"o","d":[454],"c":[]}],["e",{"w":"unauthenticated","s":"enticated","e":true,"k":"e","d":[677],"c":[]}]]}],["c",{"w":"unacceptably","s":"cceptably","e":true,"k":"c","d":[1349],"c":[]}]]}],["t",{"w":"unt","s":"t","e":false,"k":"t","d":[],"c":[["i",{"w":"unti","s":"i","e":false,"k":"i","d":[],"c":[["m",{"w":"untimely","s":"mely","e":true,"k":"m","d":[273],"c":[]}],["l",{"w":"until","s":"l","e":true,"k":"l","d":[358,406,522,690,729,1098,1283,1345,1383,1388,1434,1456,1479,1483,1485,1503,1689,1817,1894],"c":[]}]]}],["o",{"w":"untouched","s":"ouched","e":true,"k":"o","d":[1023],"c":[]}],["a",{"w":"untar","s":"ar","e":true,"k":"a","d":[1244],"c":[]}]]}],["e",{"w":"unexpected","s":"expected","e":true,"k":"e","d":[312],"c":[]}],["n",{"w":"unnecessar","s":"necessar","e":false,"k":"n","d":[],"c":[["y",{"w":"unnecessary","s":"y","e":true,"k":"y","d":[355,704,2030,2101,2176],"c":[]}],["i",{"w":"unnecessarily","s":"ily","e":true,"k":"i","d":[1349],"c":[]}]]}],["r",{"w":"unre","s":"re","e":false,"k":"r","d":[],"c":[["a",{"w":"unreasonable","s":"asonable","e":true,"k":"a","d":[392],"c":[]}],["l",{"w":"unreliable","s":"liable","e":true,"k":"l","d":[957],"c":[]}],["c",{"w":"unrecoverable","s":"coverable","e":true,"k":"c","d":[1382],"c":[]}],["g",{"w":"unregisters","s":"gisters","e":true,"k":"g","d":[1485],"c":[]}]]}],["w",{"w":"unwarranted","s":"warranted","e":true,"k":"w","d":[394],"c":[]}],["p",{"w":"unp","s":"p","e":false,"k":"p","d":[],"c":[["r",{"w":"unpredictable","s":"redictable","e":true,"k":"r","d":[395],"c":[]}],["a",{"w":"unpack","s":"ack","e":true,"k":"a","d":[1943],"c":[]}]]}],["f",{"w":"unfortunately","s":"fortunately","e":true,"k":"f","d":[402],"c":[]}],["c",{"w":"uncom","s":"com","e":false,"k":"c","d":[],"c":[["m",{"w":"uncomm","s":"m","e":false,"k":"m","d":[],"c":[["e",{"w":"uncomment","s":"ent","e":true,"k":"e","d":[854],"c":[]}],["i",{"w":"uncommitted","s":"itted","e":true,"k":"i","d":[1903,1905],"c":[]}]]}],["p",{"w":"uncompressed","s":"pressed","e":true,"k":"p","d":[1035],"c":[]}]]}],["z",{"w":"unzip","s":"zip","e":true,"k":"z","d":[1244],"c":[]}],["b",{"w":"unbounded","s":"bounded","e":true,"k":"b","d":[1668,1718],"c":[]}],["h",{"w":"unhealthy","s":"healthy","e":true,"k":"h","d":[1681],"c":[]}]]}],["p",{"w":"up","s":"p","e":true,"k":"p","d":[15,19,29,121,146,174,195,209,210,211,243,280,292,304,308,357,397,405,445,447,471,510,522,523,526,527,533,534,537,662,675,684,690,696,706,747,861,871,873,980,1020,1056,1135,1146,1157,1212,1263,1313,1330,1346,1365,1368,1382,1416,1423,1485,1500,1502,1518,1540,1669,1676,1715,1802,1827,1834,1844,1876,1881,1886,1896,1942,1975,1979],"c":[["g",{"w":"upgrad","s":"grad","e":false,"k":"g","d":[],"c":[["i",{"w":"upgrading","s":"ing","e":true,"k":"i","d":[142,263,620,666,1416],"c":[]}],["e",{"w":"upgrade","s":"e","e":true,"k":"e","d":[154,251,254,263,285,295,313,372,666,667,755,1415,1416,1417,1419,2024,2027,2034,2035,2065,2075,2076,2132,2143,2161,2167,2171,2173,2185,2188,2189,2190,2193,2194],"c":[["s",{"w":"upgrades","s":"s","e":true,"k":"s","d":[666],"c":[]}],["d",{"w":"upgraded","s":"d","e":true,"k":"d","d":[1414,1415],"c":[]}]]}]]}],["d",{"w":"updat","s":"dat","e":false,"k":"d","d":[],"c":[["e",{"w":"update","s":"e","e":true,"k":"e","d":[289,387,449,600,635,706,968,1283,1284,1285,1289,1311,1402,1404,1804,1817,1954,2033,2069,2114,2115,2191,2192],"c":[["s",{"w":"updates","s":"s","e":true,"k":"s","d":[181,289,387,448,452,942,943,980,1280,1281,1285,1311,1434,1452,1473,1672,1740,1789,1808,1814,1815,1828,1947,1976,1982,2036],"c":[["e",{"w":"updateserverlist","s":"erverlist","e":true,"k":"e","d":[733],"c":[]}]]}],["d",{"w":"updated","s":"d","e":true,"k":"d","d":[245,679,695,709,1030,1068,2061],"c":[]}]]}],["i",{"w":"updating","s":"ing","e":true,"k":"i","d":[667,1402],"c":[]}]]}],["p",{"w":"upper","s":"per","e":true,"k":"p","d":[215],"c":[]}],["o",{"w":"upon","s":"on","e":true,"k":"o","d":[312,1100,1544,1549,1555,1797,1830,1874,1875,1976],"c":[]}],["-",{"w":"up-to-date","s":"-to-date","e":true,"k":"-","d":[406,680,723,731,1286,1506,1818,1908],"c":[]}],["l",{"w":"uploads","s":"loads","e":true,"k":"l","d":[1328],"c":[]}]]}],["r",{"w":"url","s":"rl","e":true,"k":"r","d":[102,435,2148],"c":[["s",{"w":"urls","s":"s","e":true,"k":"s","d":[102],"c":[]}]]}],["c",{"w":"ucsd","s":"csd","e":true,"k":"c","d":[244],"c":[]}],["d",{"w":"ud","s":"d","e":false,"k":"d","d":[],"c":[["p",{"w":"udp-based","s":"p-based","e":true,"k":"p","d":[283],"c":[]}],["8",{"w":"ud800","s":"800","e":true,"k":"8","d":[1308],"c":[]}]]}],["0",{"w":"u00","s":"00","e":false,"k":"0","d":[],"c":[["0",{"w":"u000","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"u0000","s":"0","e":true,"k":"0","d":[1305],"c":[]}],["1",{"w":"u0001","s":"1","e":true,"k":"1","d":[1306],"c":[]}]]}],["1",{"w":"u001f","s":"1f","e":true,"k":"1","d":[1306],"c":[]}],["7",{"w":"u007f","s":"7f","e":true,"k":"7","d":[1306],"c":[]}],["9",{"w":"u009f","s":"9f","e":true,"k":"9","d":[1307],"c":[]}]]}],["f",{"w":"uf","s":"f","e":false,"k":"f","d":[],"c":[["8",{"w":"uf8ff","s":"8ff","e":true,"k":"8","d":[1308],"c":[]}],["f",{"w":"ufff","s":"ff","e":false,"k":"f","d":[],"c":[["0",{"w":"ufff0","s":"0","e":true,"k":"0","d":[1308],"c":[]}],["f",{"w":"uffff","s":"f","e":true,"k":"f","d":[1308],"c":[]}]]}]]}],["m",{"w":"uml","s":"ml","e":true,"k":"m","d":[1418],"c":[]}],["l",{"w":"ultraesb","s":"ltraesb","e":true,"k":"l","d":[1565],"c":[]}],["i",{"w":"ui","s":"i","e":true,"k":"i","d":[1669],"c":[]}],["u",{"w":"uuuuu","s":"uuuu","e":true,"k":"u","d":[2068],"c":[]}]]}],["v",{"w":"v","s":"v","e":true,"k":"v","d":[1745,1761],"c":[["a",{"w":"va","s":"a","e":false,"k":"a","d":[],"c":[["l",{"w":"val","s":"l","e":false,"k":"l","d":[],"c":[["u",{"w":"value","s":"ue","e":true,"k":"u","d":[15,38,39,40,77,100,191,192,193,194,200,201,202,203,207,209,213,227,229,232,245,248,249,252,253,254,255,256,263,264,274,278,279,283,287,288,289,298,299,301,303,305,310,311,313,316,317,318,319,328,350,364,371,372,373,384,393,396,398,400,410,411,412,413,414,419,420,517,521,678,834,836,861,1023,1025,1103,1104,1105,1177,1178,1195,1217,1220,1223,1235,1237,1238,1289,1370,1377,1387,1388,1649,1945],"c":[["s",{"w":"values","s":"s","e":true,"k":"s","d":[77,79,100,194,200,212,259,313,345,348,358,384,409,414,844,937,1023,1105,1168,1198,1229,1234,1903],"c":[]}],["l",{"w":"valuelen","s":"len","e":true,"k":"l","d":[1195],"c":[]}]]}],["i",{"w":"valid","s":"id","e":true,"k":"i","d":[193,293,306,332,358,402,648,1156,1368,1399,1476,1537],"c":[["a",{"w":"validat","s":"at","e":false,"k":"a","d":[],"c":[["i",{"w":"validati","s":"i","e":false,"k":"i","d":[],"c":[["o",{"w":"validation","s":"on","e":true,"k":"o","d":[91,170,406,407,1424],"c":[["s",{"w":"validations","s":"s","e":true,"k":"s","d":[1808],"c":[]}]]}],["n",{"w":"validating","s":"ng","e":true,"k":"n","d":[1365],"c":[]}]]}],["e",{"w":"validate","s":"e","e":true,"k":"e","d":[826,1311,1385,1912,1954,2128],"c":[]}]]}]]}]]}],["r",{"w":"var","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"vari","s":"i","e":false,"k":"i","d":[],"c":[["a",{"w":"varia","s":"a","e":false,"k":"a","d":[],"c":[["b",{"w":"variable","s":"ble","e":true,"k":"b","d":[144,386,403,449,1090],"c":[["s",{"w":"variables","s":"s","e":true,"k":"s","d":[73,117,1018],"c":[]}]]}],["n",{"w":"varian","s":"n","e":false,"k":"n","d":[],"c":[["t",{"w":"variant","s":"t","e":true,"k":"t","d":[668],"c":[["s",{"w":"variants","s":"s","e":true,"k":"s","d":[1967],"c":[]}]]}],["c",{"w":"variance","s":"ce","e":true,"k":"c","d":[883],"c":[]}]]}],["t",{"w":"variation","s":"tion","e":true,"k":"t","d":[1443],"c":[]}]]}],["e",{"w":"varie","s":"e","e":false,"k":"e","d":[],"c":[["t",{"w":"variety","s":"ty","e":true,"k":"t","d":[123,1364,1655,1720,1743],"c":[]}],["s",{"w":"varies","s":"s","e":true,"k":"s","d":[1834],"c":[]}]]}],["o",{"w":"various","s":"ous","e":true,"k":"o","d":[753,1154,1317,1353,1361,1364,1730,1838],"c":[]}]]}],["y",{"w":"vary","s":"y","e":true,"k":"y","d":[906],"c":[]}]]}],["s",{"w":"vast","s":"st","e":true,"k":"s","d":[1620],"c":[]}],["n",{"w":"vanishes","s":"nishes","e":true,"k":"n","d":[1690],"c":[]}]]}],["e",{"w":"ve","s":"e","e":false,"k":"e","d":[],"c":[["r",{"w":"ver","s":"r","e":false,"k":"r","d":[],"c":[["s",{"w":"vers","s":"s","e":false,"k":"s","d":[],"c":[["i",{"w":"version","s":"ion","e":true,"k":"i","d":[16,25,118,127,207,283,349,364,372,379,406,571,603,607,679,680,681,718,719,724,754,830,833,913,957,1199,1243,1254,1311,1327,1336,1724,1808,1836,1985,1991,1997,2003,2008,2011,2027,2061,2085,2091],"c":[["-",{"w":"version-2","s":"-2","e":true,"k":"-","d":[29],"c":[]}],["s",{"w":"versions","s":"s","e":true,"k":"s","d":[144,263,283,351,417,679,1169,2038,2039,2040,2102],"c":[]}]]}],["a",{"w":"versa","s":"a","e":true,"k":"a","d":[709],"c":[["t",{"w":"versatile","s":"tile","e":true,"k":"t","d":[1646],"c":[]}]]}]]}],["i",{"w":"verif","s":"if","e":false,"k":"i","d":[],"c":[["i",{"w":"verifi","s":"i","e":false,"k":"i","d":[],"c":[["e",{"w":"verifie","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"verified","s":"d","e":true,"k":"d","d":[29],"c":[]}],["s",{"w":"verifies","s":"s","e":true,"k":"s","d":[1102],"c":[]}]]}],["c",{"w":"verification","s":"cation","e":true,"k":"c","d":[148,353,354,355,376,1073,2067,2073,2148],"c":[["s",{"w":"verifications","s":"s","e":true,"k":"s","d":[355],"c":[]}]]}]]}],["y",{"w":"verify","s":"y","e":true,"k":"y","d":[109,152,157,159,816,1073,1169,1368,1397,1939,1962,2179,2182],"c":[["i",{"w":"verifying","s":"ing","e":true,"k":"i","d":[1068],"c":[]}]]}]]}],["y",{"w":"very","s":"y","e":true,"k":"y","d":[51,517,634,870,902,1120,1203,1349,1420,1516,1647,1813,1819,1868,2183],"c":[]}]]}],["n",{"w":"venkatachalam","s":"nkatachalam","e":true,"k":"n","d":[1760],"c":[]}]]}],["i",{"w":"vi","s":"i","e":false,"k":"i","d":[],"c":[["a",{"w":"via","s":"a","e":true,"k":"a","d":[16,53,57,129,207,275,280,281,333,337,639,672,737,824,953,954,983,1060,1324,1373,1420,1485,1627,1669,1671],"c":[]}],["e",{"w":"view","s":"ew","e":true,"k":"e","d":[102,745,1282,1286,1816,1818,1911],"c":[["s",{"w":"views","s":"s","e":true,"k":"s","d":[1289],"c":[]}]]}],["d",{"w":"video","s":"deo","e":true,"k":"d","d":[637,1358,1737],"c":[]}],["s",{"w":"visible","s":"sible","e":true,"k":"s","d":[706],"c":[]}],["c",{"w":"vice","s":"ce","e":true,"k":"c","d":[709],"c":[]}],["o",{"w":"violate","s":"olate","e":true,"k":"o","d":[1871],"c":[["d",{"w":"violated","s":"d","e":true,"k":"d","d":[1626],"c":[]}]]}],["r",{"w":"virtual","s":"rtual","e":true,"k":"r","d":[1706,1979],"c":[["i",{"w":"virtualized","s":"ized","e":true,"k":"i","d":[1730],"c":[]}]]}]]}],["o",{"w":"vo","s":"o","e":false,"k":"o","d":[],"c":[["t",{"w":"vot","s":"t","e":false,"k":"t","d":[],"c":[["i",{"w":"voting","s":"ing","e":true,"k":"i","d":[134,138,180,298,312,406,522,710,731,870,907,908,1911,1912],"c":[["_",{"w":"voting_view","s":"_view","e":true,"k":"_","d":[134],"c":[]}]]}],["e",{"w":"vote","s":"e","e":true,"k":"e","d":[870,871,872,877,1881,1911],"c":[["s",{"w":"votes","s":"s","e":true,"k":"s","d":[214,215,687,699,710,871,904,1543,1912,1913],"c":[]}],["r",{"w":"voters","s":"rs","e":true,"k":"r","d":[286,710,731,870],"c":[]}]]}]]}],["l",{"w":"volu","s":"lu","e":false,"k":"l","d":[],"c":[["m",{"w":"volumes","s":"mes","e":true,"k":"m","d":[944,946,947,948,955],"c":[]}],["n",{"w":"volunteer","s":"nteer","e":true,"k":"n","d":[1551],"c":[]}]]}],["i",{"w":"void","s":"id","e":true,"k":"i","d":[1193,1264],"c":[["c",{"w":"voidcompletion_t","s":"completion_t","e":true,"k":"c","d":[1193],"c":[]}]]}]]}],["u",{"w":"vulnerab","s":"ulnerab","e":false,"k":"u","d":[],"c":[["l",{"w":"vulnerable","s":"le","e":true,"k":"l","d":[513,1979],"c":[]}],["i",{"w":"vulnerabilit","s":"ilit","e":false,"k":"i","d":[],"c":[["y",{"w":"vulnerability","s":"y","e":true,"k":"y","d":[672],"c":[]}],["i",{"w":"vulnerabilities","s":"ies","e":true,"k":"i","d":[2107],"c":[]}]]}]]}],["m",{"w":"vm","s":"m","e":true,"k":"m","d":[747,752],"c":[["w",{"w":"vmware","s":"ware","e":true,"k":"w","d":[1727],"c":[]}]]}],["5",{"w":"v5","s":"5","e":true,"k":"5","d":[1223],"c":[]}],["4",{"w":"v4","s":"4","e":true,"k":"4","d":[1237,1715],"c":[]}],["6",{"w":"v6","s":"6","e":true,"k":"6","d":[1237],"c":[]}],["2",{"w":"v202","s":"202","e":false,"k":"2","d":[],"c":[["5",{"w":"v20250814","s":"50814","e":true,"k":"5","d":[2035],"c":[]}],["3",{"w":"v20231009","s":"31009","e":true,"k":"3","d":[2090],"c":[]}]]}],["s",{"w":"vs","s":"s","e":true,"k":"s","d":[2113],"c":[]}]]}],["3",{"w":"3","s":"3","e":true,"k":"3","d":[15,16,30,32,33,35,38,39,40,59,60,61,62,67,69,70,71,72,73,75,76,102,144,145,153,176,189,197,198,199,200,202,203,204,205,206,207,208,209,210,211,212,213,216,217,218,219,220,221,222,223,224,225,226,227,230,232,233,234,235,236,237,238,243,259,263,264,265,266,267,269,271,272,273,275,283,285,286,293,295,299,301,304,305,306,308,309,310,313,316,317,318,328,332,333,337,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,363,364,365,366,371,372,373,375,378,379,380,381,382,384,396,399,402,406,408,410,411,412,415,416,417,418,419,421,426,428,430,520,534,610,620,633,634,639,641,642,644,647,649,653,655,666,667,670,672,673,684,731,740,754,809,833,853,1072,1144,1148,1169,1225,1228,1230,1231,1232,1233,1234,1237,1238,1241,1299,1301,1372,1384,1401,1403,1404,1406,1407,1437,1443,1492,1493,1529,1530,1709,1746,1812,1834,1836,1837,1913,1915,1984,1985,1991,1997,2003,2008,2011,2021,2027,2036,2040,2059,2065,2069,2075,2090,2102,2143],"c":[["g",{"w":"3g","s":"g","e":true,"k":"g","d":[48,1349],"c":[["b",{"w":"3gb","s":"b","e":true,"k":"b","d":[517],"c":[]}]]}],["0",{"w":"30","s":"0","e":true,"k":"0","d":[1645,1834,1844],"c":[["4",{"w":"304","s":"4","e":true,"k":"4","d":[193],"c":[]}],["s",{"w":"30s","s":"s","e":true,"k":"s","d":[227],"c":[]}],["0",{"w":"300","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"3000","s":"0","e":true,"k":"0","d":[1383,1384],"c":[["0",{"w":"30000","s":"0","e":true,"k":"0","d":[434],"c":[["0",{"w":"300000","s":"0","e":true,"k":"0","d":[417],"c":[]}]]}]]}],["1",{"w":"3001","s":"1","e":true,"k":"1","d":[1265,1383,1384],"c":[]}],["2",{"w":"3002","s":"2","e":true,"k":"2","d":[1265,1383,1384],"c":[]}]]}]]}],["2",{"w":"32","s":"2","e":true,"k":"2","d":[1643],"c":[["5",{"w":"325","s":"5","e":true,"k":"5","d":[957],"c":[]}],["-",{"w":"32-bits","s":"-bits","e":true,"k":"-","d":[1877],"c":[]}]]}],["4",{"w":"34","s":"4","e":true,"k":"4","d":[1695],"c":[["0",{"w":"340","s":"0","e":true,"k":"0","d":[957],"c":[]}]]}],["1",{"w":"31","s":"1","e":true,"k":"1","d":[1643,1645,1652,1673,1675,1695,1705],"c":[]}],["5",{"w":"35","s":"5","e":true,"k":"5","d":[1652],"c":[]}],["7",{"w":"37","s":"7","e":true,"k":"7","d":[1673],"c":[]}],["6",{"w":"36","s":"6","e":true,"k":"6","d":[1675],"c":[]}],["3",{"w":"33","s":"3","e":true,"k":"3","d":[1705],"c":[]}],["8",{"w":"38","s":"8","e":false,"k":"8","d":[],"c":[["8",{"w":"388","s":"8","e":false,"k":"8","d":[],"c":[["8",{"w":"3888","s":"8","e":true,"k":"8","d":[1976,1978],"c":[]}],["9",{"w":"3889","s":"9","e":true,"k":"9","d":[1978],"c":[]}]]}],["9",{"w":"3890","s":"90","e":true,"k":"9","d":[1978],"c":[]}]]}]]}],["j",{"w":"j","s":"j","e":true,"k":"j","d":[1554,1558],"c":[["o",{"w":"jo","s":"o","e":false,"k":"o","d":[],"c":[["b",{"w":"job","s":"b","e":true,"k":"b","d":[15,1132,1705],"c":[["s",{"w":"jobs","s":"s","e":true,"k":"s","d":[1631,1645,1708],"c":[]}],["m",{"w":"jobmanager","s":"manager","e":true,"k":"m","d":[1669],"c":[["s",{"w":"jobmanagers","s":"s","e":true,"k":"s","d":[1669],"c":[]}],["_",{"w":"jobmanager_high_availability","s":"_high_availability","e":true,"k":"_","d":[1766],"c":[]}]]}]]}],["i",{"w":"join","s":"in","e":true,"k":"i","d":[406,1847,2053],"c":[["e",{"w":"joine","s":"e","e":false,"k":"e","d":[],"c":[["d",{"w":"joined","s":"d","e":true,"k":"d","d":[65,126,1092,1484],"c":[]}],["r",{"w":"joiner","s":"r","e":true,"k":"r","d":[689,691,692,695,696],"c":[["s",{"w":"joiners","s":"s","e":true,"k":"s","d":[690,694],"c":[]}]]}]]}],["s",{"w":"joins","s":"s","e":true,"k":"s","d":[406,692],"c":[]}],["i",{"w":"joining","s":"ing","e":true,"k":"i","d":[689,694],"c":[]}]]}],["h",{"w":"john","s":"hn","e":true,"k":"h","d":[923,930,935,936],"c":[]}]]}],["v",{"w":"jvm","s":"vm","e":true,"k":"v","d":[18,20,37,356,357,755,1069,1237,1628,2028],"c":[["'",{"w":"jvm's","s":"'s","e":true,"k":"'","d":[1237],"c":[]}]]}],["u",{"w":"ju","s":"u","e":false,"k":"u","d":[],"c":[["s",{"w":"just","s":"st","e":true,"k":"s","d":[19,65,126,389,634,651,668,692,697,873,973,1027,1235,1404,1475,1506,1885,1904,1905],"c":[]}],["t",{"w":"jute","s":"te","e":true,"k":"t","d":[388,391,392,396,1235,2089],"c":[]}],["n",{"w":"junqueira","s":"nqueira","e":true,"k":"n","d":[637,1359],"c":[]}],["m",{"w":"jump","s":"mp","e":true,"k":"m","d":[1042,1046],"c":[]}],["j",{"w":"juju","s":"ju","e":true,"k":"j","d":[1570],"c":[]}]]}],["m",{"w":"jm","s":"m","e":false,"k":"m","d":[],"c":[["x",{"w":"jmx","s":"x","e":true,"k":"x","d":[23,524,736,737,738,739,745,746,747,748,749,750,754,755,756,762,781,804,831,1627,2151],"c":[["c",{"w":"jmxconfigurator","s":"configurator","e":true,"k":"c","d":[754],"c":[]}]]}],["s",{"w":"jms","s":"s","e":true,"k":"s","d":[1655],"c":[]}]]}],["e",{"w":"je","s":"e","e":false,"k":"e","d":[],"c":[["t",{"w":"jetty","s":"tty","e":true,"k":"t","d":[35,36,102,105,432,433,2035,2055,2107,2115,2185,2191],"c":[["-",{"w":"jetty-http-9","s":"-http-9","e":true,"k":"-","d":[2090],"c":[]}]]}],["p",{"w":"jepsen","s":"psen","e":true,"k":"p","d":[1014,1073,1074,1077],"c":[]}]]}],["a",{"w":"ja","s":"a","e":false,"k":"a","d":[],"c":[["v",{"w":"java","s":"va","e":true,"k":"v","d":[42,48,74,143,185,186,189,190,191,192,193,194,195,196,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,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,259,263,264,265,266,267,268,269,270,271,272,273,274,275,283,286,287,288,289,292,296,297,298,299,301,304,305,306,308,309,310,311,312,316,317,318,321,328,329,330,331,332,333,337,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,363,364,365,366,367,368,369,370,371,372,373,375,379,380,381,384,385,387,388,389,391,392,396,397,399,403,407,410,411,412,413,414,415,416,417,419,420,422,423,424,425,427,429,431,432,433,434,435,473,474,475,509,516,517,525,526,668,669,670,675,683,686,711,712,716,717,719,728,734,750,810,1054,1069,1079,1087,1110,1111,1118,1119,1120,1133,1205,1206,1211,1212,1213,1214,1219,1237,1239,1262,1349,1359,1398,1630,1636,1666,1797,1967,2091,2101,2130],"c":[["_",{"w":"java_home","s":"_home","e":true,"k":"_","d":[321,323],"c":[]}],["x",{"w":"javax","s":"x","e":true,"k":"x","d":[331],"c":[]}],["s",{"w":"javase","s":"se","e":true,"k":"s","d":[516],"c":[]}],["d",{"w":"javadoc","s":"doc","e":true,"k":"d","d":[1262],"c":[]}]]}],["r",{"w":"jar","s":"r","e":true,"k":"r","d":[323,1942,2090],"c":[]}],["a",{"w":"jaas","s":"as","e":true,"k":"a","d":[1221,2071],"c":[]}],["m",{"w":"james","s":"mes","e":true,"k":"m","d":[1597,1696],"c":[]}],["x",{"w":"jax-","s":"x-","e":false,"k":"x","d":[],"c":[["w",{"w":"jax-ws","s":"ws","e":true,"k":"w","d":[1655],"c":[]}],["r",{"w":"jax-rs","s":"rs","e":true,"k":"r","d":[1655],"c":[]}]]}],["c",{"w":"jackson","s":"ckson","e":true,"k":"c","d":[2132,2173,2194],"c":[]}]]}],["s",{"w":"js","s":"s","e":false,"k":"s","d":[],"c":[["o",{"w":"json","s":"on","e":true,"k":"o","d":[102],"c":[]}],["p",{"w":"jsp","s":"p","e":true,"k":"p","d":[516],"c":[]}]]}],["k",{"w":"jks","s":"ks","e":true,"k":"k","d":[107,148,150,331,345,348,1230,1232,1234],"c":[]}],["i",{"w":"jira","s":"ira","e":true,"k":"i","d":[207],"c":[]}],["r",{"w":"jre","s":"re","e":true,"k":"r","d":[321,323,2063],"c":[]}],["d",{"w":"jd","s":"d","e":false,"k":"d","d":[],"c":[["k",{"w":"jdk","s":"k","e":true,"k":"k","d":[351,364,382,509,516,750,1055,1069,2023],"c":[["'",{"w":"jdk's","s":"'s","e":true,"k":"'","d":[357],"c":[]}],["_",{"w":"jdk_home","s":"_home","e":true,"k":"_","d":[750],"c":[]}],["2",{"w":"jdk20","s":"20","e":true,"k":"2","d":[2139,2178],"c":[]}],["1",{"w":"jdk1","s":"1","e":false,"k":"1","d":[],"c":[["8",{"w":"jdk18on","s":"8on","e":true,"k":"8","d":[2142],"c":[]}],["5",{"w":"jdk15on","s":"5on","e":true,"k":"5","d":[2142],"c":[]}]]}]]}],["b",{"w":"jdbc","s":"bc","e":true,"k":"b","d":[1692],"c":[]}]]}],["c",{"w":"jconsole","s":"console","e":true,"k":"c","d":[737,749,750,751],"c":[]}],["b",{"w":"jbi","s":"bi","e":true,"k":"b","d":[1655],"c":[]}],["l",{"w":"jline","s":"line","e":true,"k":"l","d":[2027],"c":[]}]]}],["4",{"w":"4","s":"4","e":true,"k":"4","d":[16,22,73,75,193,200,203,204,205,206,207,227,263,285,308,354,384,666,732,908,1169,1240,1403,1405,1494,1495,1531,1532,1746,1772,1913,1991,2034,2035,2090,2118,2161,2171,2173,2188,2193],"c":[["g",{"w":"4g","s":"g","e":true,"k":"g","d":[48,1349],"c":[["b",{"w":"4gb","s":"b","e":true,"k":"b","d":[193,517],"c":[]}]]}],["l",{"w":"4lw","s":"lw","e":true,"k":"l","d":[59,306,2070,2103],"c":[]}],["0",{"w":"40","s":"0","e":true,"k":"0","d":[1403],"c":[["0",{"w":"400","s":"0","e":true,"k":"0","d":[201,202],"c":[]}]]}],["2",{"w":"425","s":"25","e":true,"k":"2","d":[637],"c":[]}],["3",{"w":"437","s":"37","e":true,"k":"3","d":[637],"c":[]}],["b",{"w":"4bytes","s":"bytes","e":true,"k":"b","d":[1320],"c":[]}],["5",{"w":"4545","s":"545","e":true,"k":"5","d":[1383,1384],"c":[]}]]}],["0",{"w":"0","s":"0","e":true,"k":"0","d":[16,30,32,33,35,60,61,62,67,69,70,72,73,75,76,102,176,195,196,197,198,199,201,202,203,204,205,206,207,208,209,210,211,212,213,216,217,218,219,220,221,222,223,224,225,226,227,229,232,233,234,235,236,237,238,243,247,259,264,265,266,267,269,270,271,272,273,275,283,285,286,293,295,304,310,311,318,332,333,337,341,344,345,347,348,351,356,357,364,365,366,371,372,373,378,384,399,406,408,410,411,412,413,415,416,417,418,419,421,428,430,432,520,610,620,633,634,641,642,644,647,649,653,655,666,667,684,740,754,809,833,864,906,911,952,1061,1144,1148,1157,1231,1233,1234,1237,1238,1265,1268,1269,1270,1289,1320,1368,1372,1377,1383,1384,1401,1403,1405,1406,1407,1437,1443,1772,1812,1888,1915,1953,2011,2036,2038,2039,2040,2097,2102,2171],"c":[["b",{"w":"0b","s":"b","e":false,"k":"b","d":[],"c":[["0",{"w":"0b0","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"0b00","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"0b000","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"0b0000","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"0b00000","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"0b000000","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"0b0000000","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"0b00000000","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"0b0000000000","s":"00","e":true,"k":"0","d":[80],"c":[]}],["1",{"w":"0b0000000010","s":"10","e":true,"k":"1","d":[82],"c":[]}]]}],["1",{"w":"0b0000000100","s":"100","e":true,"k":"1","d":[84],"c":[]}]]}],["1",{"w":"0b0000001000","s":"1000","e":true,"k":"1","d":[86],"c":[]}]]}],["1",{"w":"0b0000010000","s":"10000","e":true,"k":"1","d":[88],"c":[]}]]}],["1",{"w":"0b0000100000","s":"100000","e":true,"k":"1","d":[90],"c":[]}]]}],["1",{"w":"0b0001000000","s":"1000000","e":true,"k":"1","d":[92],"c":[]}]]}],["1",{"w":"0b0010000000","s":"10000000","e":true,"k":"1","d":[94],"c":[]}]]}],["1",{"w":"0b0100","s":"100","e":false,"k":"1","d":[],"c":[["0",{"w":"0b0100000000","s":"000000","e":true,"k":"0","d":[96],"c":[]}],["1",{"w":"0b0100110010","s":"110010","e":true,"k":"1","d":[100],"c":[]}]]}]]}],["1",{"w":"0b1000000000","s":"1000000000","e":true,"k":"1","d":[98],"c":[]}]]}],["0",{"w":"00","s":"0","e":false,"k":"0","d":[],"c":[["0",{"w":"000","s":"0","e":true,"k":"0","d":[189,191,192],"c":[["0",{"w":"0000000001","s":"0000001","e":true,"k":"0","d":[1320],"c":[]}]]}],["2",{"w":"002","s":"2","e":true,"k":"2","d":[221],"c":[]}]]}],["2",{"w":"02","s":"2","e":true,"k":"2","d":[220],"c":[]}],["x",{"w":"0x","s":"x","e":false,"k":"x","d":[],"c":[["f",{"w":"0xfffff","s":"fffff","e":true,"k":"f","d":[389,1235],"c":[]}],["1",{"w":"0x1_1","s":"1_1","e":true,"k":"1","d":[924],"c":[]}],["2",{"w":"0x2_","s":"2_","e":false,"k":"2","d":[],"c":[["1",{"w":"0x2_1","s":"1","e":true,"k":"1","d":[925],"c":[]}],["a",{"w":"0x2_a","s":"a","e":true,"k":"a","d":[926,927,930],"c":[]}]]}],["3",{"w":"0x3_1","s":"3_1","e":true,"k":"3","d":[928],"c":[]}]]}],["-",{"w":"0-","s":"-","e":false,"k":"-","d":[],"c":[["m",{"w":"0-m","s":"m","e":true,"k":"m","d":[408],"c":[]}],["n",{"w":"0-n","s":"n","e":true,"k":"n","d":[408],"c":[]}]]}],["1",{"w":"010d","s":"10d","e":true,"k":"1","d":[1320],"c":[]}],["7",{"w":"07","s":"7","e":true,"k":"7","d":[1360],"c":[]}]]}],["x",{"w":"x","s":"x","e":true,"k":"x","d":[263,292,297,298,371,378,503,667,724,1240,1244,1370,1371,1485,1500,1503,1715,1975,1978,1984,2027],"c":[["m",{"w":"xml","s":"ml","e":true,"k":"m","d":[17,26,754,854,1655],"c":[]}],["-",{"w":"x-forwarded-for","s":"-forwarded-for","e":true,"k":"-","d":[328,2093,2094],"c":[]}],["5",{"w":"x50","s":"50","e":false,"k":"5","d":[],"c":[["9",{"w":"x509","s":"9","e":true,"k":"9","d":[425,985,1175,2022],"c":[["a",{"w":"x509authenticationprovider","s":"authenticationprovider","e":true,"k":"a","d":[329,330,331,859],"c":[]}],["k",{"w":"x509keymanager","s":"keymanager","e":true,"k":"k","d":[331],"c":[]}],["t",{"w":"x509trustmanager","s":"trustmanager","e":true,"k":"t","d":[331],"c":[]}]]}],["0",{"w":"x500","s":"0","e":true,"k":"0","d":[329,1175],"c":[]}]]}],["y",{"w":"xyz","s":"yz","e":true,"k":"y","d":[1201],"c":[]}],["x",{"w":"xxxx","s":"xxx","e":true,"k":"x","d":[1235],"c":[]}],["t",{"w":"xth","s":"th","e":true,"k":"t","d":[1500],"c":[]}],["d",{"w":"xd","s":"d","e":true,"k":"d","d":[1644,1645],"c":[]}],["e",{"w":"xeon","s":"eon","e":true,"k":"e","d":[1834],"c":[]}]]}],["q",{"w":"q","s":"q","e":true,"k":"q","d":[1381],"c":[["u",{"w":"qu","s":"u","e":false,"k":"u","d":[],"c":[["i",{"w":"qui","s":"i","e":false,"k":"i","d":[],"c":[["c",{"w":"quick","s":"ck","e":true,"k":"c","d":[1069,1928],"c":[["l",{"w":"quickly","s":"ly","e":true,"k":"l","d":[19,214,215,830,1641,1845,1929],"c":[]}]]}],["t",{"w":"quit","s":"t","e":true,"k":"t","d":[562,593,2135],"c":[["e",{"w":"quite","s":"e","e":true,"k":"e","d":[1154,2095],"c":[]}]]}]]}],["e",{"w":"que","s":"e","e":false,"k":"e","d":[],"c":[["u",{"w":"queue","s":"ue","e":true,"k":"u","d":[39,238,270,274,413,414,1079,1084,1088,1090,1101,1102,1103,1217,1320,1359,1503,1505,1506,1631],"c":[["d",{"w":"queued","s":"d","e":true,"k":"d","d":[48,189,227,230,1349],"c":[["r",{"w":"queuedrequests","s":"requests","e":true,"k":"r","d":[413],"c":[]}]]}],["s",{"w":"queues","s":"s","e":true,"k":"s","d":[123,1082,1088,1287,1359,1361,1458,1464,1465,1473,1475,1503,1507],"c":[]}],["-",{"w":"queue-","s":"-","e":true,"k":"-","d":[1503],"c":[["x",{"w":"queue-x","s":"x","e":true,"k":"x","d":[1503],"c":[]}],["y",{"w":"queue-yy","s":"yy","e":true,"k":"y","d":[1506],"c":[]}]]}]]}],["r",{"w":"quer","s":"r","e":false,"k":"r","d":[],"c":[["y",{"w":"query","s":"y","e":true,"k":"y","d":[129,878,1237,1543,1657,1658],"c":[["i",{"w":"querying","s":"ing","e":true,"k":"i","d":[941],"c":[]}]]}],["i",{"w":"queries","s":"ies","e":true,"k":"i","d":[955,1237],"c":[]}]]}],["s",{"w":"question","s":"stion","e":true,"k":"s","d":[1346],"c":[]}]]}],["o",{"w":"quo","s":"o","e":false,"k":"o","d":[],"c":[["r",{"w":"quorum","s":"rum","e":true,"k":"r","d":[65,89,95,107,122,126,140,141,146,147,157,158,191,193,240,271,272,286,295,297,308,309,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,363,365,371,376,377,384,395,406,520,576,610,634,687,689,690,694,698,703,706,710,715,723,725,730,748,760,762,809,866,879,880,886,888,904,905,913,951,954,955,977,980,987,1071,1313,1407,1424,1650,1669,1712,1849,1874,1876,1881,1884,1885,1887,1892,1895,1896,1901,1903,1908,1909,1911,1912,1913,1968,1971,1973,1978,2053,2067,2113],"c":[["p",{"w":"quorump","s":"p","e":false,"k":"p","d":[],"c":[["a",{"w":"quorumpacket","s":"acket","e":true,"k":"a","d":[280],"c":[]}],["e",{"w":"quorumpeer","s":"eer","e":false,"k":"e","d":[],"c":[["c",{"w":"quorumpeerconfig","s":"config","e":true,"k":"c","d":[913,2031],"c":[["'",{"w":"quorumpeerconfig's","s":"'s","e":true,"k":"'","d":[304,305],"c":[]}]]}],["m",{"w":"quorumpeermain","s":"main","e":true,"k":"m","d":[524,748,750],"c":[]}]]}]]}],["s",{"w":"quorums","s":"s","e":true,"k":"s","d":[298,885,886,887,902,904,1857,1876,1911,1912,1913,1914],"c":[]}],["c",{"w":"quorumcnxntimeoutms","s":"cnxntimeoutms","e":true,"k":"c","d":[301],"c":[]}],["l",{"w":"quorumlistenonallips","s":"listenonallips","e":true,"k":"l","d":[398],"c":[]}],["o",{"w":"quorumoraclemaj","s":"oraclemaj","e":true,"k":"o","d":[906,910,912,913],"c":[]}],["m",{"w":"quorummaj","s":"maj","e":true,"k":"m","d":[913],"c":[]}]]}],["t",{"w":"quota","s":"ta","e":true,"k":"t","d":[232,257,584,590,604,958,963,964,966,967,968,969,970,971,972,973,974,975],"c":[["e",{"w":"quotaexceededexception","s":"exceededexception","e":true,"k":"e","d":[232,973],"c":[]}],["s",{"w":"quotas","s":"s","e":true,"k":"s","d":[959,960,961,962,965,967,970,973],"c":[]}]]}]]}],["a",{"w":"quali","s":"ali","e":false,"k":"a","d":[],"c":[["f",{"w":"qualified","s":"fied","e":true,"k":"f","d":[1224],"c":[]}],["t",{"w":"quality","s":"ty","e":true,"k":"t","d":[1674,1723],"c":[]}]]}]]}]]}],["1",{"w":"1","s":"1","e":true,"k":"1","d":[25,38,39,40,71,189,191,193,204,217,218,225,269,283,285,298,309,330,352,366,368,396,403,408,410,414,426,509,521,534,617,662,665,688,722,732,853,864,877,903,906,911,937,942,943,947,1061,1070,1155,1156,1251,1265,1289,1383,1384,1488,1489,1499,1513,1516,1525,1526,1529,1530,1540,1750,1772,1805,1837,1867,1876,1888,1913,1953,2008,2024,2034,2036,2038,2039,2040,2065,2069,2114,2132,2143,2161,2171,2188,2189,2193],"c":[["0",{"w":"10","s":"0","e":true,"k":"0","d":[204,211,213,241,345,348,351,356,357,382,417,419,509,642,644,823,944,957,1237,1238,1320,1805,1974,2114],"c":[["0",{"w":"100","s":"0","e":true,"k":"0","d":[191,192,234,242,266,1107,1108,1729],"c":[["0",{"w":"1000","s":"0","e":true,"k":"0","d":[189,200,210,212,231,373],"c":[["0",{"w":"10000","s":"0","e":true,"k":"0","d":[39,238,416],"c":[]}],["m",{"w":"1000ms","s":"ms","e":true,"k":"m","d":[40],"c":[]}],["s",{"w":"1000s","s":"s","e":true,"k":"s","d":[1695],"c":[]}]]}],["s",{"w":"100s","s":"s","e":true,"k":"s","d":[1695],"c":[]}]]}],["m",{"w":"10m","s":"m","e":true,"k":"m","d":[204],"c":[]}],["9",{"w":"1099511627775","s":"99511627775","e":true,"k":"9","d":[207],"c":[]}],["-",{"w":"10-20","s":"-20","e":true,"k":"-","d":[229],"c":[]}],["2",{"w":"1024","s":"24","e":true,"k":"2","d":[266,396],"c":[]}],["4",{"w":"1048575","s":"48575","e":true,"k":"4","d":[389,1235],"c":[]}]]}],["2",{"w":"12","s":"2","e":true,"k":"2","d":[509,1715,2021,2024,2065],"c":[["8",{"w":"128","s":"8","e":true,"k":"8","d":[114],"c":[]}],["7",{"w":"127","s":"7","e":true,"k":"7","d":[207,864,1061,1265,1383,1384,1953],"c":[]}]]}],["9",{"w":"19","s":"9","e":true,"k":"9","d":[1157],"c":[["4",{"w":"194","s":"4","e":true,"k":"4","d":[193],"c":[]}],["2",{"w":"192","s":"2","e":true,"k":"2","d":[853],"c":[]}],["h",{"w":"19h2","s":"h2","e":true,"k":"h","d":[944],"c":[]}],["9",{"w":"1991","s":"91","e":true,"k":"9","d":[957],"c":[]}]]}],["1",{"w":"11","s":"1","e":true,"k":"1","d":[399,509,589],"c":[["5",{"w":"1152921504606846975","s":"52921504606846975","e":true,"k":"5","d":[207],"c":[]}],["4",{"w":"1145","s":"45","e":true,"k":"4","d":[957],"c":[]}],["2",{"w":"1126","s":"26","e":false,"k":"2","d":[],"c":[["0",{"w":"112600","s":"00","e":true,"k":"0","d":[957],"c":[]}],["2",{"w":"112627","s":"27","e":true,"k":"2","d":[957],"c":[]}]]}]]}],["4",{"w":"14","s":"4","e":true,"k":"4","d":[227,2097],"c":[]}],["s",{"w":"1st","s":"st","e":true,"k":"s","d":[256],"c":[]}],["m",{"w":"1m","s":"m","e":true,"k":"m","d":[389,1235,1317],"c":[]}],["-",{"w":"1-n","s":"-n","e":true,"k":"-","d":[408],"c":[]}],["6",{"w":"16","s":"6","e":true,"k":"6","d":[1155,1156,1157,1368,1735],"c":[["8",{"w":"168","s":"8","e":true,"k":"8","d":[853],"c":[]}]]}],["5",{"w":"15","s":"5","e":true,"k":"5","d":[944,1360,1735,1760,2036,2040,2069,2194],"c":[["k",{"w":"15k","s":"k","e":true,"k":"k","d":[1834],"c":[]}]]}],["7",{"w":"17","s":"7","e":true,"k":"7","d":[1724,2023],"c":[["2",{"w":"172","s":"2","e":true,"k":"2","d":[1155,1156,1368],"c":[]}]]}],["3",{"w":"13","s":"3","e":true,"k":"3","d":[1715,2036,2038,2039,2040,2132,2173],"c":[["0",{"w":"130","s":"0","e":true,"k":"0","d":[2034],"c":[]}]]}],["8",{"w":"18","s":"8","e":true,"k":"8","d":[1724],"c":[]}],["k",{"w":"1k","s":"k","e":true,"k":"k","d":[1834],"c":[]}],["g",{"w":"1gb","s":"gb","e":true,"k":"g","d":[2089],"c":[]}]]}],["7",{"w":"7","s":"7","e":true,"k":"7","d":[25,38,39,40,232,269,271,272,273,316,318,337,341,345,348,358,366,371,373,396,399,426,699,944,1169,1234,1746,1750,1844,2090,2102,2118,2190],"c":[["0",{"w":"7000","s":"000","e":true,"k":"0","d":[36,812],"c":[]}],["6",{"w":"76","s":"6","e":true,"k":"6","d":[2161],"c":[]}]]}],["6",{"w":"6","s":"6","e":true,"k":"6","d":[30,32,33,76,202,205,206,207,208,209,210,211,212,213,216,217,218,219,220,221,222,223,224,225,226,227,233,234,235,236,237,238,243,259,263,264,265,266,267,285,286,293,295,309,332,333,345,348,365,372,373,399,406,415,416,417,418,419,428,520,534,647,666,687,699,704,809,833,945,1234,1372,1437,1443,1498,1499,1535,1812,2024,2190],"c":[["g",{"w":"6g","s":"g","e":true,"k":"g","d":[48],"c":[]}],["4",{"w":"64","s":"4","e":true,"k":"4","d":[78],"c":[["-",{"w":"64-bit","s":"-bit","e":true,"k":"-","d":[77,100,1385,1877],"c":[]}],["m",{"w":"64m","s":"m","e":true,"k":"m","d":[190],"c":[]}]]}],["0",{"w":"60","s":"0","e":true,"k":"0","d":[196,1238],"c":[["0",{"w":"60000","s":"000","e":true,"k":"0","d":[415],"c":[]}]]}],["-",{"w":"6-node","s":"-node","e":true,"k":"-","d":[535],"c":[]}],["_",{"w":"6_6","s":"_6","e":true,"k":"_","d":[1755,1756],"c":[]}]]}],["8",{"w":"8","s":"8","e":true,"k":"8","d":[35,269,344,347,366,375,378,379,380,509,687,699,704,740,754,1169,1231,1233,1915,2143],"c":[["0",{"w":"80","s":"0","e":false,"k":"0","d":[],"c":[["8",{"w":"8080","s":"80","e":true,"k":"8","d":[102,433],"c":[]}],["g",{"w":"80gb","s":"gb","e":true,"k":"g","d":[509],"c":[]}]]}],["6",{"w":"86","s":"6","e":true,"k":"6","d":[2188],"c":[]}]]}],["k",{"w":"k","s":"k","e":true,"k":"k","d":[417,1867],"c":[["e",{"w":"ke","s":"e","e":false,"k":"e","d":[],"c":[["y",{"w":"key","s":"y","e":true,"k":"y","d":[47,148,149,183,331,815,834,835,982,1018,1221,1348,1432,1434,1649,2147],"c":[["s",{"w":"keys","s":"s","e":true,"k":"s","d":[74,148,1234],"c":[["t",{"w":"keystore","s":"tore","e":true,"k":"t","d":[107,148,149,343,344,345,352,365,366,1230,1231,1234],"c":[["s",{"w":"keystores","s":"s","e":true,"k":"s","d":[155,345],"c":[]}]]}]]}],["w",{"w":"keyword","s":"word","e":true,"k":"w","d":[185,643,656],"c":[["s",{"w":"keywords","s":"s","e":true,"k":"s","d":[177,655],"c":[]}]]}],["-",{"w":"key-value","s":"-value","e":true,"k":"-","d":[1737],"c":[]}]]}],["e",{"w":"keep","s":"ep","e":true,"k":"e","d":[213,1090,1235,1237,1397,1800],"c":[["a",{"w":"keepalive","s":"alive","e":true,"k":"a","d":[308,309],"c":[]}],["e",{"w":"keepere","s":"ere","e":false,"k":"e","d":[],"c":[["r",{"w":"keepererrorcode","s":"rrorcode","e":true,"k":"r","d":[581],"c":[]}],["x",{"w":"keeperexception","s":"xception","e":true,"k":"x","d":[1099,1262,1322,1324],"c":[]}]]}],["i",{"w":"keeping","s":"ing","e":true,"k":"i","d":[635,1415,1909],"c":[]}],["s",{"w":"keeps","s":"s","e":true,"k":"s","d":[1862],"c":[]}]]}],["r",{"w":"ker","s":"r","e":false,"k":"r","d":[],"c":[["b",{"w":"kerberos","s":"beros","e":true,"k":"b","d":[369,370,371,377,1222,1223,2130],"c":[]}],["n",{"w":"kernel","s":"nel","e":true,"k":"n","d":[1735],"c":[]}]]}],["p",{"w":"kept","s":"pt","e":true,"k":"p","d":[1397,1799,1844],"c":[["c",{"w":"keptcollections","s":"collections","e":true,"k":"c","d":[1572,1636,1637],"c":[]}]]}]]}],["i",{"w":"ki","s":"i","e":false,"k":"i","d":[],"c":[["l",{"w":"kil","s":"l","e":false,"k":"l","d":[],"c":[["o",{"w":"kilobyte","s":"obyte","e":true,"k":"o","d":[1807],"c":[["s",{"w":"kilobytes","s":"s","e":true,"k":"s","d":[190,393,1235,1317],"c":[]}]]}],["l",{"w":"kill","s":"l","e":true,"k":"l","d":[1135],"c":[["s",{"w":"kills","s":"s","e":true,"k":"s","d":[1129],"c":[]}]]}]]}],["c",{"w":"kicks","s":"cks","e":true,"k":"c","d":[1139,1140],"c":[]}],["n",{"w":"kin","s":"n","e":false,"k":"n","d":[],"c":[["d",{"w":"kind","s":"d","e":true,"k":"d","d":[1166,1435],"c":[]}],["i",{"w":"kinit","s":"it","e":true,"k":"i","d":[1236],"c":[]}]]}]]}],["u",{"w":"kubernetes","s":"ubernetes","e":true,"k":"u","d":[310],"c":[]}],["n",{"w":"know","s":"now","e":true,"k":"n","d":[513,520,694,1284,1319,1344,1346,1397,1416,1420,1424,1476,1802],"c":[["n",{"w":"known","s":"n","e":true,"k":"n","d":[413,414,510,683,905,930,1731],"c":[]}],["l",{"w":"knowledge","s":"ledge","e":true,"k":"l","d":[746],"c":[]}],["s",{"w":"knows","s":"s","e":true,"k":"s","d":[1975],"c":[]}]]}],["a",{"w":"ka","s":"a","e":false,"k":"a","d":[],"c":[["t",{"w":"katta","s":"tta","e":true,"k":"t","d":[1571,1634],"c":[]}],["f",{"w":"kafka","s":"fka","e":true,"k":"f","d":[1598,1652,1675,1698,1699,1700],"c":[]}],["r",{"w":"karl","s":"rl","e":true,"k":"r","d":[1760],"c":[]}]]}],["y",{"w":"kylin","s":"ylin","e":true,"k":"y","d":[1599,1704,1705],"c":[]}],["o",{"w":"kooburat","s":"ooburat","e":true,"k":"o","d":[1760],"c":[]}]]}],["5",{"w":"5","s":"5","e":true,"k":"5","d":[59,71,102,125,129,144,145,153,176,204,205,206,207,227,263,304,305,306,308,313,342,343,345,346,348,349,350,351,352,353,355,356,357,358,363,365,379,396,402,408,410,411,412,417,422,430,534,610,620,633,634,639,641,649,653,655,666,667,670,672,673,684,709,732,908,955,1225,1228,1230,1232,1234,1299,1301,1404,1406,1407,1496,1497,1500,1533,1534,1974,1985,2114,2171],"c":[["0",{"w":"50","s":"0","e":true,"k":"0","d":[227],"c":[["0",{"w":"500","s":"0","e":true,"k":"0","d":[189,192],"c":[]}]]}],["h",{"w":"5h","s":"h","e":true,"k":"h","d":[204],"c":[]}],["-",{"w":"5-node","s":"-node","e":true,"k":"-","d":[535],"c":[]}],["9",{"w":"59","s":"9","e":true,"k":"9","d":[1243],"c":[]}],["8",{"w":"58","s":"8","e":true,"k":"8","d":[2035],"c":[]}],["3",{"w":"53","s":"3","e":true,"k":"3","d":[2090],"c":[]}]]}],["-",{"w":"-","s":"-","e":true,"k":"-","d":[246,402,441,444,445,446,471,509,1124,1263,1306,1308,1319,1346,1360,1384,1432,1475,1527,1528,1627,1639,1645,1678,1679,1681,1682,1683,1799,1814,1815,1816,1817,1818,1985,1991,1997,2003,2008,2011,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,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],"c":[["a",{"w":"-alias","s":"alias","e":true,"k":"a","d":[148],"c":[]}],["d",{"w":"-d","s":"d","e":true,"k":"d","d":[1022],"c":[["n",{"w":"-dname","s":"name","e":true,"k":"n","d":[148],"c":[]}],["z",{"w":"-dzookeeper","s":"zookeeper","e":true,"k":"z","d":[403,407,755,1370,1371],"c":[]}],["t",{"w":"-dthreaded","s":"threaded","e":true,"k":"t","d":[1254],"c":[]}]]}],["1",{"w":"-1","s":"1","e":true,"k":"1","d":[219,227,267,303,719],"c":[["2",{"w":"-124","s":"24","e":true,"k":"2","d":[333,337],"c":[]}]]}],["r",{"w":"-r","s":"r","e":true,"k":"r","d":[602,1023],"c":[["f",{"w":"-rf'","s":"f'","e":true,"k":"f","d":[406],"c":[]}]]}],["v",{"w":"-v","s":"v","e":true,"k":"v","d":[603,724,1027],"c":[]}],["n",{"w":"-n","s":"n","e":true,"k":"n","d":[604,966],"c":[]}],["b",{"w":"-b","s":"b","e":true,"k":"b","d":[604,966],"c":[]}],["w",{"w":"-w","s":"w","e":true,"k":"w","d":[681],"c":[]}],["s",{"w":"-s","s":"s","e":true,"k":"s","d":[681],"c":[["e",{"w":"-server","s":"erver","e":true,"k":"e","d":[1953],"c":[]}]]}],["c",{"w":"-c","s":"c","e":true,"k":"c","d":[681],"c":[]}],["-",{"w":"--","s":"-","e":true,"k":"-","d":[1505,1509],"c":[["d",{"w":"--d","s":"d","e":false,"k":"d","d":[],"c":[["u",{"w":"--dump","s":"ump","e":true,"k":"u","d":[1022],"c":[]}],["i",{"w":"--disable-s","s":"isable-s","e":false,"k":"i","d":[],"c":[["t",{"w":"--disable-static","s":"tatic","e":true,"k":"t","d":[1248],"c":[]}],["h",{"w":"--disable-shared","s":"hared","e":true,"k":"h","d":[1249],"c":[]}]]}]]}],["r",{"w":"--recover","s":"recover","e":true,"k":"r","d":[1023],"c":[]}],["v",{"w":"--verbose","s":"verbose","e":true,"k":"v","d":[1027],"c":[]}],["y",{"w":"--yes","s":"yes","e":true,"k":"y","d":[1027],"c":[]}],["n",{"w":"--nodes","s":"nodes","e":true,"k":"n","d":[1032],"c":[]}],["b",{"w":"--bytes","s":"bytes","e":true,"k":"b","d":[1033],"c":[]}],["i",{"w":"--interactive","s":"interactive","e":true,"k":"i","d":[1039],"c":[]}],["e",{"w":"--enable-debug","s":"enable-debug","e":true,"k":"e","d":[1246],"c":[]}],["w",{"w":"--without-syncapi","s":"without-syncapi","e":true,"k":"w","d":[1247],"c":[]}],["h",{"w":"--help","s":"help","e":true,"k":"h","d":[1251],"c":[]}]]}],["y",{"w":"-y","s":"y","e":true,"k":"y","d":[1027],"c":[]}],["i",{"w":"-i","s":"i","e":true,"k":"i","d":[1039],"c":[["f",{"w":"-if","s":"f","e":true,"k":"f","d":[1243],"c":[]}],["i",{"w":"-iinclude","s":"include","e":true,"k":"i","d":[1273],"c":[]}]]}],["l",{"w":"-lzookeeper_mt","s":"lzookeeper_mt","e":true,"k":"l","d":[1273],"c":[]}],["o",{"w":"-o","s":"o","e":true,"k":"o","d":[1273],"c":[]}],["2",{"w":"-2147483648","s":"2147483648","e":true,"k":"2","d":[1320],"c":[]}]]}],["2",{"w":"2","s":"2","e":true,"k":"2","d":[157,189,191,193,194,195,198,209,226,283,285,317,349,350,352,366,375,380,381,410,411,533,534,535,618,688,722,731,853,905,907,908,914,980,1071,1109,1169,1243,1328,1384,1386,1401,1403,1404,1490,1491,1515,1527,1528,1533,1534,1535,1834,1836,1876,1905,2003,2036,2038,2039,2040,2097,2132,2173,2190,2194],"c":[["0",{"w":"20","s":"0","e":true,"k":"0","d":[199,1386],"c":[["0",{"w":"200","s":"0","e":true,"k":"0","d":[312],"c":[["8",{"w":"2008","s":"8","e":true,"k":"8","d":[1358,1360],"c":[]}],["m",{"w":"200ms","s":"ms","e":true,"k":"m","d":[1845],"c":[]}],["0",{"w":"2000","s":"0","e":true,"k":"0","d":[1974],"c":[]}]]}],["1",{"w":"201","s":"1","e":false,"k":"1","d":[],"c":[["2",{"w":"2012","s":"2","e":true,"k":"2","d":[637],"c":[]}],["8",{"w":"2018","s":"8","e":true,"k":"8","d":[1758,1759],"c":[["-",{"w":"2018-07-04-cloudkarafka_what_is_zookeeper","s":"-07-04-cloudkarafka_what_is_zookeeper","e":true,"k":"-","d":[1752],"c":[]}]]}],["5",{"w":"2015","s":"5","e":true,"k":"5","d":[1760],"c":[]}]]}]]}],["5",{"w":"25","s":"5","e":true,"k":"5","d":[1693],"c":[["5",{"w":"255","s":"5","e":true,"k":"5","d":[206,521],"c":[]}],["0",{"w":"250","s":"0","e":true,"k":"0","d":[268],"c":[]}],["4",{"w":"254","s":"4","e":true,"k":"4","d":[521],"c":[]}],["t",{"w":"25th","s":"th","e":true,"k":"t","d":[1760],"c":[]}]]}],["n",{"w":"2nd","s":"nd","e":true,"k":"n","d":[256],"c":[]}],["s",{"w":"2s","s":"s","e":true,"k":"s","d":[286],"c":[]}],["g",{"w":"2g","s":"g","e":false,"k":"g","d":[],"c":[["b",{"w":"2gb","s":"b","e":true,"k":"b","d":[509],"c":[]}],["h",{"w":"2ghz","s":"hz","e":true,"k":"h","d":[1834],"c":[]}]]}],["-",{"w":"2-","s":"-","e":false,"k":"-","d":[],"c":[["1",{"w":"2-1","s":"1","e":true,"k":"1","d":[533,534],"c":[]}],["i",{"w":"2-instance","s":"instance","e":true,"k":"i","d":[905],"c":[]}],["n",{"w":"2-node","s":"node","e":true,"k":"n","d":[1727],"c":[]}],["p",{"w":"2-phase","s":"phase","e":true,"k":"p","d":[1905],"c":[]}]]}],["7",{"w":"2791","s":"791","e":true,"k":"7","d":[665],"c":[]}],["1",{"w":"21","s":"1","e":false,"k":"1","d":[],"c":[["8",{"w":"2181","s":"81","e":true,"k":"8","d":[878,1061,1094,1265,1953],"c":[]}],["4",{"w":"2147483647","s":"47483647","e":true,"k":"4","d":[1320],"c":[]}]]}],["2",{"w":"22","s":"2","e":true,"k":"2","d":[1157],"c":[]}],["6",{"w":"26","s":"6","e":true,"k":"6","d":[1693],"c":[]}],["x",{"w":"2x","s":"x","e":true,"k":"x","d":[1836],"c":[]}],["8",{"w":"28","s":"8","e":false,"k":"8","d":[],"c":[["8",{"w":"288","s":"8","e":false,"k":"8","d":[],"c":[["8",{"w":"2888","s":"8","e":true,"k":"8","d":[1976,1978],"c":[]}],["9",{"w":"2889","s":"9","e":true,"k":"9","d":[1978],"c":[]}]]}],["9",{"w":"2890","s":"90","e":true,"k":"9","d":[1978],"c":[]}]]}]]}],["'",{"w":"'","s":"'","e":true,"k":"'","d":[293],"c":[["r",{"w":"'r","s":"r","e":false,"k":"r","d":[],"c":[["u",{"w":"'ruok'","s":"uok'","e":true,"k":"u","d":[269],"c":[]}],["m",{"w":"'rm","s":"m","e":true,"k":"m","d":[406],"c":[]}]]}],["f",{"w":"'false'","s":"false'","e":true,"k":"f","d":[400],"c":[]}],["i",{"w":"'in","s":"in","e":false,"k":"i","d":[],"c":[["i",{"w":"'initialize'","s":"itialize'","e":true,"k":"i","d":[406],"c":[]}],["s",{"w":"'ins","s":"s","e":false,"k":"s","d":[],"c":[["u",{"w":"'insufficient","s":"ufficient","e":true,"k":"u","d":[1169],"c":[]}],["t",{"w":"'instance'","s":"tance'","e":true,"k":"t","d":[1224],"c":[]}]]}]]}],["m",{"w":"'myid'","s":"myid'","e":true,"k":"m","d":[406],"c":[]}],["9",{"w":"'91","s":"91","e":true,"k":"9","d":[957],"c":[]}],["c",{"w":"'c","s":"c","e":false,"k":"c","d":[],"c":[["a",{"w":"'canonicaliz","s":"anonicaliz","e":false,"k":"a","d":[],"c":[["e",{"w":"'canonicalize'","s":"e'","e":true,"k":"e","d":[1224],"c":[]}],["a",{"w":"'canonicalization'","s":"ation'","e":true,"k":"a","d":[1224],"c":[]}]]}],["o",{"w":"'connected'","s":"onnected'","e":true,"k":"o","d":[1390],"c":[]}]]}],["d",{"w":"'disconnected'","s":"disconnected'","e":true,"k":"d","d":[1392],"c":[]}],["t",{"w":"'timeout'","s":"timeout'","e":true,"k":"t","d":[1393],"c":[]}],["e",{"w":"'expired'","s":"expired'","e":true,"k":"e","d":[1395],"c":[]}],["u",{"w":"'unreasonable","s":"unreasonable","e":true,"k":"u","d":[2089],"c":[]}]]}],["9",{"w":"9","s":"9","e":true,"k":"9","d":[275,328,351,354,355,364,366,378,379,381,421,509,1169,1225,1766,1913,1984,1985,1991,1997,2003,2008,2011,2035,2059,2075,2130,2189],"c":[["4",{"w":"94","s":"4","e":true,"k":"4","d":[2193],"c":[]}]]}],["_",{"w":"_","s":"_","e":false,"k":"_","d":[],"c":[["d",{"w":"_d","s":"d","e":false,"k":"d","d":[],"c":[["i",{"w":"_digest","s":"igest","e":true,"k":"i","d":[1191],"c":[]}],["a",{"w":"_datadir_s","s":"atadir_s","e":true,"k":"a","d":[1978],"c":[]}]]}],["c",{"w":"_c","s":"c","e":false,"k":"c","d":[],"c":[["o",{"w":"_const","s":"onst","e":true,"k":"o","d":[1193,1195,1197,1199],"c":[]}],["l",{"w":"_clientport_s","s":"lientport_s","e":true,"k":"l","d":[1978],"c":[]}]]}],["i",{"w":"_int","s":"int","e":true,"k":"i","d":[1195],"c":[]}],["s",{"w":"_struct","s":"struct","e":true,"k":"s","d":[1197],"c":[]}],["p",{"w":"_p","s":"p","e":true,"k":"p","d":[1488],"c":[["t",{"w":"_pthread","s":"thread","e":true,"k":"t","d":[1240],"c":[]}]]}],["z",{"w":"_zookeeper_init","s":"zookeeper_init","e":true,"k":"z","d":[1263],"c":[]}],["b",{"w":"_b","s":"b","e":true,"k":"b","d":[1488],"c":[]}]]}]]},"isArray":false},"page_id":{"type":"Radix","node":{"w":"","s":"","e":false,"k":"","d":[],"c":[["d",{"w":"d","s":"d","e":false,"k":"d","d":[],"c":[["o",{"w":"docs","s":"ocs","e":true,"k":"o","d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,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,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,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,224,225,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,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,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,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,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,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,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,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,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,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],"c":[]}],["a",{"w":"data-","s":"ata-","e":false,"k":"a","d":[],"c":[["f",{"w":"data-file-management","s":"file-management","e":true,"k":"f","d":[436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455],"c":[]}],["m",{"w":"data-model","s":"model","e":true,"k":"m","d":[1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341],"c":[]}]]}],["e",{"w":"de","s":"e","e":false,"k":"e","d":[],"c":[["p",{"w":"deployment","s":"ployment","e":true,"k":"p","d":[456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539],"c":[]}],["v",{"w":"developer","s":"veloper","e":true,"k":"v","d":[1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,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,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,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,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,1781],"c":[]}]]}],["y",{"w":"dynamic-reconfiguration","s":"ynamic-reconfiguration","e":true,"k":"y","d":[609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735],"c":[]}]]}],["a",{"w":"a","s":"a","e":false,"k":"a","d":[],"c":[["d",{"w":"admin","s":"dmin","e":false,"k":"d","d":[],"c":[["-",{"w":"admin-ops","s":"-ops","e":true,"k":"-","d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,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,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,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,224,225,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,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,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,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,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077],"c":[]}],["i",{"w":"administrat","s":"istrat","e":false,"k":"i","d":[],"c":[["o",{"w":"administrators-guide","s":"ors-guide","e":true,"k":"o","d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,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,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,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,224,225,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,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,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541],"c":[]}],["i",{"w":"administration","s":"ion","e":true,"k":"i","d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"c":[]}]]}]]}],["c",{"w":"access-control-using-acls","s":"ccess-control-using-acls","e":true,"k":"c","d":[1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203],"c":[]}]]}],["b",{"w":"b","s":"b","e":false,"k":"b","d":[],"c":[["e",{"w":"best-practices","s":"est-practices","e":true,"k":"e","d":[41,42,43,44,45,46,47,48,49,50,51],"c":[]}],["a",{"w":"basic-tutorial","s":"asic-tutorial","e":true,"k":"a","d":[1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109],"c":[]}],["i",{"w":"bindings","s":"indings","e":true,"k":"i","d":[1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256],"c":[]}],["u",{"w":"building-blocks-a-guide-to-zookeeper-operations","s":"uilding-blocks-a-guide-to-zookeeper-operations","e":true,"k":"u","d":[1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276],"c":[]}]]}],["c",{"w":"c","s":"c","e":false,"k":"c","d":[],"c":[["o",{"w":"co","s":"o","e":false,"k":"o","d":[],"c":[["m",{"w":"comm","s":"mm","e":false,"k":"m","d":[],"c":[["a",{"w":"commands","s":"ands","e":true,"k":"a","d":[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,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],"c":[]}],["u",{"w":"communication-using-the-netty-framework","s":"unication-using-the-netty-framework","e":true,"k":"u","d":[139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159],"c":[]}]]}],["n",{"w":"con","s":"n","e":false,"k":"n","d":[],"c":[["f",{"w":"configuration-parameters","s":"figuration-parameters","e":true,"k":"f","d":[160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,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,224,225,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,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,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435],"c":[]}],["s",{"w":"consistency-guarantees","s":"sistency-guarantees","e":true,"k":"s","d":[1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289],"c":[]}]]}]]}],["l",{"w":"cli","s":"li","e":true,"k":"l","d":[542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608],"c":[]}]]}],["j",{"w":"j","s":"j","e":false,"k":"j","d":[],"c":[["m",{"w":"jmx","s":"mx","e":true,"k":"m","d":[736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793],"c":[]}],["a",{"w":"java-example","s":"ava-example","e":true,"k":"a","d":[1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148],"c":[]}]]}],["m",{"w":"m","s":"m","e":false,"k":"m","d":[],"c":[["o",{"w":"monitor-and-audit-logs","s":"onitor-and-audit-logs","e":true,"k":"o","d":[794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864],"c":[]}],["i",{"w":"miscellaneous","s":"iscellaneous","e":true,"k":"i","d":[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],"c":[]}]]}],["o",{"w":"o","s":"o","e":false,"k":"o","d":[],"c":[["b",{"w":"observers-guide","s":"bservers-guide","e":true,"k":"b","d":[865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884],"c":[]}],["v",{"w":"overview","s":"verview","e":true,"k":"v","d":[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],"c":[]}]]}],["q",{"w":"qu","s":"qu","e":false,"k":"q","d":[],"c":[["o",{"w":"quo","s":"o","e":false,"k":"o","d":[],"c":[["r",{"w":"quorums","s":"rums","e":true,"k":"r","d":[885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957],"c":[]}],["t",{"w":"quota-guide","s":"ta-guide","e":true,"k":"t","d":[958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975],"c":[]}]]}],["i",{"w":"quick-start","s":"ick-start","e":true,"k":"i","d":[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],"c":[]}]]}],["s",{"w":"s","s":"s","e":false,"k":"s","d":[],"c":[["n",{"w":"snapshot-and-restore-guide","s":"napshot-and-restore-guide","e":true,"k":"n","d":[976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992],"c":[]}],["e",{"w":"sessions","s":"essions","e":true,"k":"e","d":[1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424],"c":[]}]]}],["t",{"w":"tools","s":"tools","e":true,"k":"t","d":[993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077],"c":[]}],["p",{"w":"p","s":"p","e":false,"k":"p","d":[],"c":[["r",{"w":"programmers-guide","s":"rogrammers-guide","e":true,"k":"r","d":[1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456],"c":[]}],["l",{"w":"pluggable-authentication","s":"luggable-authentication","e":true,"k":"l","d":[1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378],"c":[]}]]}],["g",{"w":"gotchas-common-problems-and-troubleshooting","s":"gotchas-common-problems-and-troubleshooting","e":true,"k":"g","d":[1342,1343,1344,1345,1346,1347,1348,1349],"c":[]}],["w",{"w":"watches","s":"watches","e":true,"k":"w","d":[1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456],"c":[]}],["r",{"w":"re","s":"re","e":false,"k":"r","d":[],"c":[["c",{"w":"recipes","s":"cipes","e":true,"k":"c","d":[1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,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],"c":[]}],["l",{"w":"release-notes","s":"lease-notes","e":true,"k":"l","d":[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],"c":[]}]]}],["u",{"w":"use-cases","s":"use-cases","e":true,"k":"u","d":[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,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,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,1781],"c":[]}],["i",{"w":"internals","s":"internals","e":true,"k":"i","d":[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],"c":[]}]]},"isArray":false},"type":{"type":"Radix","node":{"w":"","s":"","e":false,"k":"","d":[],"c":[["p",{"w":"page","s":"page","e":true,"k":"p","d":[1,41,52,139,160,436,456,540,542,609,736,794,865,885,958,976,993,1078,1110,1149,1204,1257,1277,1290,1342,1350,1362,1379,1425,1457,1562,1782,1848,1928,1983],"c":[]}],["t",{"w":"text","s":"text","e":true,"k":"t","d":[2,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,45,46,47,48,49,50,51,53,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,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,140,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,174,175,176,177,178,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,224,225,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,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,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,437,442,443,444,445,446,447,448,449,450,451,452,453,454,455,457,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,541,543,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,610,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,737,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,795,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,866,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,886,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,959,963,964,965,966,967,968,969,970,971,972,973,974,975,977,980,981,982,983,984,985,986,987,988,989,990,991,992,994,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1079,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1111,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1150,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1205,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1258,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1291,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1343,1344,1345,1346,1347,1348,1349,1351,1353,1354,1355,1356,1357,1358,1359,1360,1361,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1380,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1426,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1458,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,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,1563,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,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,1781,1783,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,1849,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,1929,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,1984,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],"c":[]}],["h",{"w":"heading","s":"heading","e":true,"k":"h","d":[3,4,5,6,7,8,9,10,43,44,54,55,56,141,142,162,163,164,165,166,167,168,169,170,171,172,173,438,439,440,441,458,459,460,461,462,463,464,465,466,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,738,739,740,741,742,743,744,796,797,798,799,800,801,802,803,804,805,806,807,808,867,868,869,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,960,961,962,978,979,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1080,1081,1082,1083,1084,1085,1086,1087,1112,1113,1114,1115,1116,1117,1118,1119,1151,1152,1153,1206,1207,1208,1209,1210,1259,1260,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1352,1381,1427,1428,1429,1430,1431,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,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,1784,1785,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1930,1931,1932,1933,1934,1935,1936,1937,1938,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],"c":[]}]]},"isArray":false},"breadcrumbs":{"type":"Radix","node":{"w":"","s":"","e":false,"k":"","d":[],"c":[["m",{"w":"m","s":"m","e":false,"k":"m","d":[],"c":[["u",{"w":"multi-page","s":"ulti-page","e":true,"k":"u","d":[1,41,52,139,160,436,456,540,542,609,736,794,865,885,958,976,993,1078,1110,1149,1204,1257,1277,1290,1342,1350,1362,1379,1425,1457,1562,1782,1848,1928,1983],"c":[]}],["i",{"w":"miscellaneous","s":"iscellaneous","e":true,"k":"i","d":[1848],"c":[]}]]}],["d",{"w":"d","s":"d","e":false,"k":"d","d":[],"c":[["o",{"w":"documentation","s":"ocumentation","e":true,"k":"o","d":[1,41,52,139,160,436,456,540,542,609,736,794,865,885,958,976,993,1078,1110,1149,1204,1257,1277,1290,1342,1350,1362,1379,1425,1457,1562,1782,1848,1928,1983],"c":[]}],["e",{"w":"developer","s":"eveloper","e":true,"k":"e","d":[1078,1110,1149,1204,1257,1277,1290,1342,1350,1362,1379,1425,1457,1562],"c":[]}]]}],["a",{"w":"admin","s":"admin","e":true,"k":"a","d":[1,41,52,139,160,436,456,540,542,609,736,794,865,885,958,976,993],"c":[["i",{"w":"administrator's","s":"istrator's","e":true,"k":"i","d":[1,41,52,139,160,436,456,540],"c":[]}]]}],["o",{"w":"ops","s":"ops","e":true,"k":"o","d":[1,41,52,139,160,436,456,540,542,609,736,794,865,885,958,976,993],"c":[]}],["g",{"w":"g","s":"g","e":false,"k":"g","d":[],"c":[["u",{"w":"guide","s":"uide","e":true,"k":"u","d":[1,41,52,139,160,436,456,540,1149,1204,1257,1277,1290,1342,1350,1362,1379,1425],"c":[]}],["e",{"w":"getting","s":"etting","e":true,"k":"e","d":[1782,1928,1983],"c":[]}]]}],["p",{"w":"programmer's","s":"programmer's","e":true,"k":"p","d":[1149,1204,1257,1277,1290,1342,1350,1362,1379,1425],"c":[]}],["s",{"w":"started","s":"started","e":true,"k":"s","d":[1782,1928,1983],"c":[]}]]},"isArray":true},"tags":{"type":"Flat","node":{"numberToDocumentId":[]},"isArray":true},"url":{"type":"Radix","node":{"w":"","s":"","e":false,"k":"","d":[],"c":[["d",{"w":"d","s":"d","e":false,"k":"d","d":[],"c":[["o",{"w":"do","s":"o","e":false,"k":"o","d":[],"c":[["c",{"w":"docs","s":"cs","e":true,"k":"c","d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,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,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,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,224,225,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,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,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,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,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,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,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,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,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,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],"c":[]}],["u",{"w":"double-barriers","s":"uble-barriers","e":true,"k":"u","d":[1463,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502],"c":[]}],["w",{"w":"download","s":"wnload","e":true,"k":"w","d":[1932,1941],"c":[]}]]}],["e",{"w":"de","s":"e","e":false,"k":"e","d":[],"c":[["b",{"w":"debug-","s":"bug-","e":false,"k":"b","d":[],"c":[["l",{"w":"debug-log-cleanup-logback","s":"log-cleanup-logback","e":true,"k":"l","d":[5,17],"c":[]}],["o",{"w":"debug-observability-configurations","s":"observability-configurations","e":true,"k":"o","d":[172,418,419,420],"c":[]}]]}],["p",{"w":"deployment","s":"ployment","e":true,"k":"p","d":[456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539],"c":[["-",{"w":"deployment-contexts","s":"-contexts","e":true,"k":"-","d":[890,907,908],"c":[]}]]}],["s",{"w":"design","s":"sign","e":false,"k":"s","d":[],"c":[["i",{"w":"designing-a-zookeeper-deployment","s":"ing-a-zookeeper-deployment","e":true,"k":"i","d":[464,529,530,531,532],"c":[]}],["-",{"w":"design-goals","s":"-goals","e":true,"k":"-","d":[1785,1799,1800,1801,1802,1803,1804,1805],"c":[]}]]}],["l",{"w":"del","s":"l","e":false,"k":"l","d":[],"c":[["e",{"w":"delet","s":"et","e":false,"k":"e","d":[],"c":[["e",{"w":"delete","s":"e","e":true,"k":"e","d":[551,582],"c":[["a",{"w":"deleteall","s":"all","e":true,"k":"a","d":[552,583],"c":[]}]]}],["i",{"w":"deleting-quotas","s":"ing-quotas","e":true,"k":"i","d":[962,975],"c":[]}]]}],["q",{"w":"delquota","s":"quota","e":true,"k":"q","d":[553,584],"c":[]}]]}],["v",{"w":"developer","s":"veloper","e":true,"k":"v","d":[1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,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,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,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,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,1781],"c":[["-",{"w":"developer-guidelines","s":"-guidelines","e":true,"k":"-","d":[1859,1916],"c":[]}]]}],["e",{"w":"deepdyve","s":"epdyve","e":true,"k":"e","d":[1610,1723],"c":[]}]]}],["i",{"w":"disabling-data-directory-autocreation","s":"isabling-data-directory-autocreation","e":true,"k":"i","d":[169,402,403,404,405],"c":[]}],["a",{"w":"data","s":"ata","e":false,"k":"a","d":[],"c":[["-",{"w":"data-","s":"-","e":false,"k":"-","d":[],"c":[["f",{"w":"data-file-management","s":"file-management","e":true,"k":"f","d":[436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455],"c":[]}],["m",{"w":"data-model","s":"model","e":true,"k":"m","d":[1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341],"c":[["-",{"w":"data-model-and-the-hierarchical-namespace","s":"-and-the-hierarchical-namespace","e":true,"k":"-","d":[1786,1806],"c":[]}]]}],["a",{"w":"data-access","s":"access","e":true,"k":"a","d":[1294,1316,1317],"c":[]}]]}],["m",{"w":"datamonitorjava","s":"monitorjava","e":true,"k":"m","d":[1119],"c":[]}]]}],["y",{"w":"dynamic-","s":"ynamic-","e":false,"k":"y","d":[],"c":[["r",{"w":"dynamic-reconfiguration","s":"reconfiguration","e":true,"k":"r","d":[609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735],"c":[["-",{"w":"dynamic-reconfiguration-of-the-zookeeper-ensemble","s":"-of-the-zookeeper-ensemble","e":true,"k":"-","d":[621,668],"c":[]}]]}],["c",{"w":"dynamic-configuration-file","s":"configuration-file","e":true,"k":"c","d":[616,655,656],"c":[]}]]}]]}],["a",{"w":"a","s":"a","e":false,"k":"a","d":[],"c":[["d",{"w":"ad","s":"d","e":false,"k":"d","d":[],"c":[["m",{"w":"admin","s":"min","e":false,"k":"m","d":[],"c":[["-",{"w":"admin-ops","s":"-ops","e":true,"k":"-","d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,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,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,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,224,225,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,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,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,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,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077],"c":[]}],["i",{"w":"administrat","s":"istrat","e":false,"k":"i","d":[],"c":[["o",{"w":"administrators-guide","s":"ors-guide","e":true,"k":"o","d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,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,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,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,224,225,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,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,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541],"c":[]}],["i",{"w":"administration","s":"ion","e":true,"k":"i","d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"c":[]}]]}],["s",{"w":"adminserver-configuration","s":"server-configuration","e":true,"k":"s","d":[173,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435],"c":[]}]]}],["v",{"w":"advanced-configuration","s":"vanced-configuration","e":true,"k":"v","d":[163,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,224,225,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,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281],"c":[]}],["d",{"w":"add","s":"d","e":false,"k":"d","d":[],"c":[["a",{"w":"addauth","s":"auth","e":true,"k":"a","d":[546,574],"c":[]}],["i",{"w":"additional-comments","s":"itional-comments","e":true,"k":"i","d":[631,729,730,731],"c":[]}],["e",{"w":"added-in-353","s":"ed-in-353","e":true,"k":"e","d":[1299,1321,1322],"c":[["-",{"w":"added-in-353-1","s":"-1","e":true,"k":"-","d":[1301,1323,1324],"c":[]}]]}]]}],["r",{"w":"adroitlogic-ultraesb","s":"roitlogic-ultraesb","e":true,"k":"r","d":[1565,1627],"c":[]}]]}],["p",{"w":"ap","s":"p","e":false,"k":"p","d":[],"c":[["i",{"w":"api","s":"i","e":true,"k":"i","d":[622,669,670,671],"c":[]}],["a",{"w":"apache-","s":"ache-","e":false,"k":"a","d":[],"c":[["p",{"w":"apache-p","s":"p","e":false,"k":"p","d":[],"c":[["r",{"w":"apache-projects","s":"rojects","e":true,"k":"r","d":[1580],"c":[]}],["u",{"w":"apache-pulsar","s":"ulsar","e":true,"k":"u","d":[1602,1710,1711,1712,1713],"c":[]}]]}],["a",{"w":"apache-a","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"apache-accumulo","s":"ccumulo","e":true,"k":"c","d":[1581,1649,1650],"c":[]}],["t",{"w":"apache-atlas","s":"tlas","e":true,"k":"t","d":[1582,1651,1652],"c":[]}]]}],["b",{"w":"apache-bookkeeper","s":"bookkeeper","e":true,"k":"b","d":[1583,1653,1654],"c":[]}],["c",{"w":"apache-cxf-dosgi","s":"cxf-dosgi","e":true,"k":"c","d":[1584,1655,1656],"c":[]}],["d",{"w":"apache-d","s":"d","e":false,"k":"d","d":[],"c":[["r",{"w":"apache-dr","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"apache-drill","s":"ill","e":true,"k":"i","d":[1585,1657,1658],"c":[]}],["u",{"w":"apache-druid","s":"uid","e":true,"k":"u","d":[1586,1659,1660,1661,1662,1663,1664,1665],"c":[]}]]}],["u",{"w":"apache-dubbo","s":"ubbo","e":true,"k":"u","d":[1587,1666,1667],"c":[]}]]}],["f",{"w":"apache-fl","s":"fl","e":false,"k":"f","d":[],"c":[["i",{"w":"apache-flink","s":"ink","e":true,"k":"i","d":[1588,1668,1669],"c":[]}],["u",{"w":"apache-flu","s":"u","e":false,"k":"u","d":[],"c":[["m",{"w":"apache-flume","s":"me","e":true,"k":"m","d":[1589,1670,1671],"c":[]}],["o",{"w":"apache-fluo","s":"o","e":true,"k":"o","d":[1590,1672,1673],"c":[]}]]}]]}],["g",{"w":"apache-griffin","s":"griffin","e":true,"k":"g","d":[1591,1674,1675],"c":[]}],["h",{"w":"apache-h","s":"h","e":false,"k":"h","d":[],"c":[["a",{"w":"apache-hadoop","s":"adoop","e":true,"k":"a","d":[1592,1676,1677,1678,1679,1680,1681,1682,1683],"c":[]}],["b",{"w":"apache-hbase","s":"base","e":true,"k":"b","d":[1593,1684,1685,1686],"c":[]}],["e",{"w":"apache-helix","s":"elix","e":true,"k":"e","d":[1594,1687,1688,1689,1690,1691],"c":[]}],["i",{"w":"apache-hive","s":"ive","e":true,"k":"i","d":[1595,1692,1693],"c":[]}]]}],["i",{"w":"apache-ignite","s":"ignite","e":true,"k":"i","d":[1596,1694,1695],"c":[]}],["j",{"w":"apache-james-mailbox","s":"james-mailbox","e":true,"k":"j","d":[1597,1696,1697],"c":[]}],["k",{"w":"apache-k","s":"k","e":false,"k":"k","d":[],"c":[["a",{"w":"apache-kafka","s":"afka","e":true,"k":"a","d":[1598,1698,1699,1700,1701,1702,1703],"c":[]}],["y",{"w":"apache-kylin","s":"ylin","e":true,"k":"y","d":[1599,1704,1705],"c":[]}]]}],["m",{"w":"apache-mesos","s":"mesos","e":true,"k":"m","d":[1600,1706,1707],"c":[]}],["o",{"w":"apache-oozie","s":"oozie","e":true,"k":"o","d":[1601,1708,1709],"c":[]}],["s",{"w":"apache-s","s":"s","e":false,"k":"s","d":[],"c":[["o",{"w":"apache-solr","s":"olr","e":true,"k":"o","d":[1603,1714,1715],"c":[]}],["p",{"w":"apache-spark","s":"park","e":true,"k":"p","d":[1604,1716,1717],"c":[]}],["t",{"w":"apache-storm","s":"torm","e":true,"k":"t","d":[1605,1718,1719],"c":[]}]]}]]}]]}],["l",{"w":"alerting-with-prometheus","s":"lerting-with-prometheus","e":true,"k":"l","d":[801,824,825,826,827],"c":[]}],["u",{"w":"audit-log","s":"udit-log","e":false,"k":"u","d":[],"c":[["s",{"w":"audit-logs","s":"s","e":true,"k":"s","d":[806,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853],"c":[]}],["-",{"w":"audit-log-configuration","s":"-configuration","e":true,"k":"-","d":[807,854,855],"c":[]}]]}],["-",{"w":"a-","s":"-","e":false,"k":"-","d":[],"c":[["s",{"w":"a-simple-watch-client","s":"simple-watch-client","e":true,"k":"s","d":[1112,1120],"c":[]}],["g",{"w":"a-guide-to-creating-higher-level-constructs-with-zookeeper","s":"guide-to-creating-higher-level-constructs-with-zookeeper","e":true,"k":"g","d":[1459,1472,1473,1474,1475],"c":[]}]]}],["c",{"w":"ac","s":"c","e":false,"k":"c","d":[],"c":[["c",{"w":"access-control-using-acls","s":"cess-control-using-acls","e":true,"k":"c","d":[1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203],"c":[]}],["l",{"w":"acl-permissions","s":"l-permissions","e":true,"k":"l","d":[1151,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169],"c":[]}],["t",{"w":"active-messaging","s":"tive-messaging","e":true,"k":"t","d":[1853,1896,1897,1898,1899,1900,1901,1902],"c":[]}]]}],["k",{"w":"akka","s":"kka","e":true,"k":"k","d":[1566,1628],"c":[]}],["g",{"w":"ageto","s":"geto","e":true,"k":"g","d":[1607,1720],"c":[]}],["t",{"w":"atomic-broadcast","s":"tomic-broadcast","e":true,"k":"t","d":[1850,1862],"c":[]}]]}],["m",{"w":"m","s":"m","e":false,"k":"m","d":[],"c":[["a",{"w":"ma","s":"a","e":false,"k":"a","d":[],"c":[["i",{"w":"maintenance","s":"intenance","e":true,"k":"i","d":[3,11],"c":[]}],["k",{"w":"makara","s":"kara","e":true,"k":"k","d":[1613,1727,1728,1729],"c":[]}],["n",{"w":"managing-zookeeper-storage","s":"naging-zookeeper-storage","e":true,"k":"n","d":[1934,1952],"c":[]}]]}],["o",{"w":"mo","s":"o","e":false,"k":"o","d":[],"c":[["n",{"w":"monitor","s":"nitor","e":false,"k":"n","d":[],"c":[["i",{"w":"monitoring","s":"ing","e":true,"k":"i","d":[7,21,22,23,24],"c":[]}],["-",{"w":"monitor-and-audit-logs","s":"-and-audit-logs","e":true,"k":"-","d":[794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864],"c":[]}]]}],["d",{"w":"modifying-the-current-dynamic-configuration","s":"difying-the-current-dynamic-configuration","e":true,"k":"d","d":[625,685,686],"c":[]}]]}],["e",{"w":"metrics","s":"etrics","e":true,"k":"e","d":[797,810],"c":[["-",{"w":"metrics-providers","s":"-providers","e":true,"k":"-","d":[10,30,31,32,33,34,35,36,37,38,39,40],"c":[]}]]}],["i",{"w":"mi","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"minimum-configuration","s":"nimum-configuration","e":true,"k":"n","d":[162,177,178,179,180,181,182,183,184],"c":[]}],["d",{"w":"midokura","s":"dokura","e":true,"k":"d","d":[1614,1730],"c":[]}],["s",{"w":"miscellaneous","s":"scellaneous","e":true,"k":"s","d":[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],"c":[]}]]}]]}],["o",{"w":"o","s":"o","e":false,"k":"o","d":[],"c":[["n",{"w":"ongoing-data-directory-cleanup","s":"ngoing-data-directory-cleanup","e":true,"k":"n","d":[4,12,13,14,15,16],"c":[]}],["b",{"w":"observers-guide","s":"bservers-guide","e":true,"k":"b","d":[865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884],"c":[]}],["r",{"w":"oracle-quorum","s":"racle-quorum","e":true,"k":"r","d":[888,905],"c":[]}],["u",{"w":"out-of-the-box-applications-name-service-configuration-group-membership","s":"ut-of-the-box-applications-name-service-configuration-group-membership","e":true,"k":"u","d":[1461,1477,1478],"c":[]}],["v",{"w":"overview","s":"verview","e":true,"k":"v","d":[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],"c":[]}],["t",{"w":"other-optimizations","s":"ther-optimizations","e":true,"k":"t","d":[1938,1981,1982],"c":[]}]]}],["s",{"w":"s","s":"s","e":false,"k":"s","d":[],"c":[["u",{"w":"su","s":"u","e":false,"k":"u","d":[],"c":[["p",{"w":"sup","s":"p","e":false,"k":"p","d":[],"c":[["e",{"w":"supervision","s":"ervision","e":true,"k":"e","d":[6,18,19,20],"c":[]}],["p",{"w":"support","s":"port","e":false,"k":"p","d":[],"c":[["e",{"w":"supported-","s":"ed-","e":false,"k":"e","d":[],"c":[["p",{"w":"supported-platforms","s":"platforms","e":true,"k":"p","d":[459,472,473,474,475,476,477],"c":[]}],["s",{"w":"supported-snapshot-formats","s":"snapshot-formats","e":true,"k":"s","d":[1005,1035],"c":[]}]]}],["-",{"w":"support-matrix","s":"-matrix","e":true,"k":"-","d":[460,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508],"c":[]}]]}]]}],["m",{"w":"summary","s":"mmary","e":true,"k":"m","d":[1854,1903],"c":[]}],["b",{"w":"sub-task","s":"b-task","e":true,"k":"b","d":[1986,2019],"c":[["-",{"w":"sub-task-","s":"-","e":false,"k":"-","d":[],"c":[["1",{"w":"sub-task-1","s":"1","e":true,"k":"1","d":[2004,2098,2099],"c":[]}],["2",{"w":"sub-task-2","s":"2","e":true,"k":"2","d":[2012,2117],"c":[]}]]}]]}]]}],["y",{"w":"sy","s":"y","e":false,"k":"y","d":[],"c":[["s",{"w":"system-requirements","s":"stem-requirements","e":true,"k":"s","d":[458],"c":[]}],["n",{"w":"sync","s":"nc","e":true,"k":"n","d":[570,606],"c":[["p",{"w":"syncprimitivejava","s":"primitivejava","e":true,"k":"p","d":[1087],"c":[]}]]}]]}],["i",{"w":"si","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"single-","s":"ngle-","e":false,"k":"n","d":[],"c":[["s",{"w":"single-server-and-developer-setup","s":"server-and-developer-setup","e":true,"k":"s","d":[463,526,527,528],"c":[]}],["m",{"w":"single-machine-requirements","s":"machine-requirements","e":true,"k":"m","d":[466,537,538,539],"c":[]}]]}],["m",{"w":"simple-api","s":"mple-api","e":true,"k":"m","d":[1791,1819,1820,1821,1822,1823,1824,1825,1826],"c":[]}]]}],["e",{"w":"se","s":"e","e":false,"k":"e","d":[],"c":[["t",{"w":"set","s":"t","e":true,"k":"t","d":[566,600],"c":[["a",{"w":"setacl","s":"acl","e":true,"k":"a","d":[567,601,602,603],"c":[]}],["q",{"w":"setquota","s":"quota","e":true,"k":"q","d":[568,604],"c":[]}],["t",{"w":"setting-quotas","s":"ting-quotas","e":true,"k":"t","d":[960,966,967,968,969,970,971,972,973],"c":[]}]]}],["c",{"w":"security","s":"curity","e":true,"k":"c","d":[623,672,673,674,675,676,677],"c":[]}],["q",{"w":"sequence-nodes--unique-naming","s":"quence-nodes--unique-naming","e":true,"k":"q","d":[1297,1320],"c":[]}],["s",{"w":"sessions","s":"ssions","e":true,"k":"s","d":[1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424],"c":[]}],["m",{"w":"sema","s":"ma","e":false,"k":"m","d":[],"c":[["n",{"w":"semantics-of-watches","s":"ntics-of-watches","e":true,"k":"n","d":[1427,1438,1439,1440,1441,1442],"c":[]}],["t",{"w":"sematext","s":"text","e":true,"k":"t","d":[1617,1733],"c":[]}]]}]]}],["t",{"w":"sta","s":"ta","e":false,"k":"t","d":[],"c":[["t",{"w":"stat","s":"t","e":true,"k":"t","d":[569,605],"c":[]}],["r",{"w":"starting-zookeeper-with-jmx-enabled","s":"rting-zookeeper-with-jmx-enabled","e":true,"k":"r","d":[738,748],"c":[]}],["n",{"w":"standalone-","s":"ndalone-","e":false,"k":"n","d":[],"c":[["s",{"w":"standalone-server-mbeans","s":"server-mbeans","e":true,"k":"s","d":[744,781,782,783,784,785,786,787,788,789,790,791,792,793],"c":[]}],["o",{"w":"standalone-operation","s":"operation","e":true,"k":"o","d":[1933,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951],"c":[]}]]}]]}],["p",{"w":"sp","s":"p","e":false,"k":"p","d":[],"c":[["e",{"w":"specifying-","s":"ecifying-","e":false,"k":"e","d":[],"c":[["t",{"w":"specifying-the-client-port","s":"the-client-port","e":true,"k":"t","d":[612,640,641,642,643,644,645,646],"c":[]}],["m",{"w":"specifying-multiple-server-addresses","s":"multiple-server-addresses","e":true,"k":"m","d":[613,647,648],"c":[]}]]}],["r",{"w":"spring-","s":"ring-","e":false,"k":"r","d":[],"c":[["c",{"w":"spring-cloud-zookeeper","s":"cloud-zookeeper","e":true,"k":"c","d":[1575,1641],"c":[]}],["s",{"w":"spring-statemachine","s":"statemachine","e":true,"k":"s","d":[1576,1642,1643],"c":[]}],["x",{"w":"spring-xd","s":"xd","e":true,"k":"x","d":[1577,1644,1645],"c":[]}]]}]]}],["a",{"w":"safety-issue","s":"afety-issue","e":true,"k":"a","d":[896,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940],"c":[]}],["o",{"w":"so","s":"o","e":false,"k":"o","d":[],"c":[["f",{"w":"software-based-implementation","s":"ftware-based-implementation","e":true,"k":"f","d":[899,943],"c":[]}],["u",{"w":"source-listing","s":"urce-listing","e":true,"k":"u","d":[1086],"c":[]}]]}],["n",{"w":"snapshot","s":"napshot","e":true,"k":"n","d":[978,986],"c":[["-",{"w":"snapshot-and-restore-guide","s":"-and-restore-guide","e":true,"k":"-","d":[976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992],"c":[]}]]}],["c",{"w":"scripts","s":"cripts","e":true,"k":"c","d":[995],"c":[]}],["h",{"w":"shared-locks","s":"hared-locks","e":true,"k":"h","d":[1468,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538],"c":[]}]]}],["l",{"w":"l","s":"l","e":false,"k":"l","d":[],"c":[["o",{"w":"lo","s":"o","e":false,"k":"o","d":[],"c":[["g",{"w":"log","s":"g","e":false,"k":"g","d":[],"c":[["g",{"w":"logging","s":"ging","e":true,"k":"g","d":[8,25,26,27,28,1858,1915],"c":[["-",{"w":"logging-at-the-right-level","s":"-at-the-right-level","e":true,"k":"-","d":[1860,1917,1918,1919,1920,1921,1922,1923],"c":[]}]]}],["b",{"w":"logback-mbeans-new-in-380","s":"back-mbeans-new-in-380","e":true,"k":"b","d":[740,754],"c":[]}],["4",{"w":"log4j-mbeans-deprecated","s":"4j-mbeans-deprecated","e":true,"k":"4","d":[741,755],"c":[]}]]}],["c",{"w":"loc","s":"c","e":false,"k":"c","d":[],"c":[["a",{"w":"locating-snapshots","s":"ating-snapshots","e":true,"k":"a","d":[1004,1034],"c":[]}],["k",{"w":"locks","s":"ks","e":true,"k":"k","d":[1466,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520],"c":[]}]]}]]}],["i",{"w":"li","s":"i","e":false,"k":"i","d":[],"c":[["s",{"w":"list","s":"st","e":false,"k":"s","d":[],"c":[["q",{"w":"listquota","s":"quota","e":true,"k":"q","d":[559,590],"c":[]}],["i",{"w":"listing-quotas","s":"ing-quotas","e":true,"k":"i","d":[961,974],"c":[]}]]}],["v",{"w":"liveness-issue","s":"veness-issue","e":true,"k":"v","d":[895,915,916,917,918,919,920],"c":[]}],["n",{"w":"links-to-other-information","s":"nks-to-other-information","e":true,"k":"n","d":[1352,1356,1357,1358,1359,1360,1361],"c":[]}]]}],["s",{"w":"ls","s":"s","e":true,"k":"s","d":[560,591],"c":[]}],["e",{"w":"leader-","s":"eader-","e":false,"k":"e","d":[],"c":[["e",{"w":"leader-election","s":"election","e":true,"k":"e","d":[1471,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561],"c":[]}],["a",{"w":"leader-activation","s":"activation","e":true,"k":"a","d":[1852,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895],"c":[]}]]}]]}],["t",{"w":"t","s":"t","e":false,"k":"t","d":[],"c":[["r",{"w":"troubleshooting","s":"roubleshooting","e":true,"k":"r","d":[9,29],"c":[]}],["h",{"w":"th","s":"h","e":false,"k":"h","d":[],"c":[["i",{"w":"things-to-","s":"ings-to-","e":false,"k":"i","d":[],"c":[["a",{"w":"things-to-avoid","s":"avoid","e":true,"k":"a","d":[43,45,46,47,48,49],"c":[]}],["r",{"w":"things-to-remember-about-watches","s":"remember-about-watches","e":true,"k":"r","d":[1431,1453,1454,1455,1456],"c":[]}]]}],["e",{"w":"the-","s":"e-","e":false,"k":"e","d":[],"c":[["f",{"w":"the-four-letter-words","s":"four-letter-words","e":true,"k":"f","d":[54,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101],"c":[]}],["a",{"w":"the-adminserver","s":"adminserver","e":true,"k":"a","d":[55,102,103,104,105,106],"c":[]}],["d",{"w":"the-data","s":"data","e":false,"k":"d","d":[],"c":[["-",{"w":"the-data-directory","s":"-directory","e":true,"k":"-","d":[438,443,444,445,446,447,448],"c":[]}],["m",{"w":"the-datamonitor-class","s":"monitor-class","e":true,"k":"m","d":[1116,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148],"c":[]}]]}],["l",{"w":"the-log-directory","s":"log-directory","e":true,"k":"l","d":[439,449],"c":[]}],["s",{"w":"the-standaloneenabled-flag","s":"standaloneenabled-flag","e":true,"k":"s","d":[614,649,650,651,652],"c":[]}],["r",{"w":"the-reconfigenabled-flag","s":"reconfigenabled-flag","e":true,"k":"r","d":[615,653,654],"c":[]}],["i",{"w":"the-implementation-of-the-oracle","s":"implementation-of-the-oracle","e":true,"k":"i","d":[889,906],"c":[]}],["e",{"w":"the-executor-class","s":"executor-class","e":true,"k":"e","d":[1115,1131,1132,1133,1134,1135,1136,1137,1138],"c":[]}],["z",{"w":"the-zookeeper-project","s":"zookeeper-project","e":true,"k":"z","d":[1796,1846,1847],"c":[]}]]}]]}],["l",{"w":"tls-cipher-suites","s":"ls-cipher-suites","e":true,"k":"l","d":[166,379,380,381,382],"c":[]}],["o",{"w":"tools","s":"ools","e":true,"k":"o","d":[993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077],"c":[]}],["e",{"w":"test","s":"est","e":true,"k":"e","d":[1989,2032],"c":[["i",{"w":"testing","s":"ing","e":true,"k":"i","d":[1011],"c":[]}],["-",{"w":"test-","s":"-","e":false,"k":"-","d":[],"c":[["1",{"w":"test-1","s":"1","e":true,"k":"1","d":[2001,2095],"c":[]}],["2",{"w":"test-2","s":"2","e":true,"k":"2","d":[2016,2177,2178],"c":[]}]]}]]}],["t",{"w":"ttl-nodes","s":"tl-nodes","e":true,"k":"t","d":[1300],"c":[]}],["i",{"w":"time-in-zookeeper","s":"ime-in-zookeeper","e":true,"k":"i","d":[1302,1325,1326,1327,1328,1329],"c":[]}],["w",{"w":"tw","s":"w","e":false,"k":"w","d":[],"c":[["o",{"w":"two-phased-commit","s":"o-phased-commit","e":true,"k":"o","d":[1470,1542,1543,1544,1545,1546,1547],"c":[]}],["i",{"w":"twitter","s":"itter","e":true,"k":"i","d":[1619,1735,1736,1737,1738,1739],"c":[]}]]}],["a",{"w":"ta","s":"a","e":false,"k":"a","d":[],"c":[["l",{"w":"talend-esb","s":"lend-esb","e":true,"k":"l","d":[1578,1646,1647],"c":[]}],["s",{"w":"task","s":"sk","e":true,"k":"s","d":[1990,2033,2034,2035],"c":[["-",{"w":"task-","s":"-","e":false,"k":"-","d":[],"c":[["1",{"w":"task-1","s":"1","e":true,"k":"1","d":[1996,2075,2076],"c":[]}],["2",{"w":"task-2","s":"2","e":true,"k":"2","d":[2002,2096,2097],"c":[]}],["3",{"w":"task-3","s":"3","e":true,"k":"3","d":[2010,2114,2115,2116],"c":[]}],["4",{"w":"task-4","s":"4","e":true,"k":"4","d":[2018,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2194],"c":[]}]]}]]}]]}],["u",{"w":"tubemogul","s":"ubemogul","e":true,"k":"u","d":[1618,1734],"c":[]}]]}],["b",{"w":"b","s":"b","e":false,"k":"b","d":[],"c":[["e",{"w":"be","s":"e","e":false,"k":"e","d":[],"c":[["s",{"w":"best-practices","s":"st-practices","e":true,"k":"s","d":[41,42,43,44,45,46,47,48,49,50,51],"c":[]}],["h",{"w":"behavior-after-enabling-the-oracle","s":"havior-after-enabling-the-oracle","e":true,"k":"h","d":[893,913],"c":[]}],["n",{"w":"ben","s":"n","e":false,"k":"n","d":[],"c":[["c",{"w":"benchmark","s":"chmark","e":true,"k":"c","d":[1008],"c":[]}],["i",{"w":"benipal-technologies","s":"ipal-technologies","e":true,"k":"i","d":[1608,1721],"c":[]}]]}]]}],["a",{"w":"ba","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"backward-compatibility","s":"ckward-compatibility","e":true,"k":"c","d":[619,663,664,665],"c":[]}],["s",{"w":"basic-tutorial","s":"sic-tutorial","e":true,"k":"s","d":[1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109],"c":[]}],["r",{"w":"barrier","s":"rrier","e":false,"k":"r","d":[],"c":[["s",{"w":"barriers","s":"s","e":true,"k":"s","d":[1081,1092,1093,1094,1095,1096,1097,1098,1099,1100,1462,1479,1480,1481,1482,1483],"c":[]}],["-",{"w":"barrier-test","s":"-test","e":true,"k":"-","d":[1085,1109],"c":[]}]]}]]}],["y",{"w":"byteman","s":"yteman","e":true,"k":"y","d":[1013,1069,1070,1071,1072],"c":[]}],["u",{"w":"bu","s":"u","e":false,"k":"u","d":[],"c":[["i",{"w":"buil","s":"il","e":false,"k":"i","d":[],"c":[["t",{"w":"builtin-acl-schemes","s":"tin-acl-schemes","e":true,"k":"t","d":[1152,1170,1171,1172,1173,1174,1175],"c":[]}],["d",{"w":"building-","s":"ding-","e":false,"k":"d","d":[],"c":[["y",{"w":"building-your-own-c-client","s":"your-own-c-client","e":true,"k":"y","d":[1210,1252,1253,1254,1255,1256],"c":[]}],["b",{"w":"building-blocks-a-guide-to-zookeeper-operations","s":"blocks-a-guide-to-zookeeper-operations","e":true,"k":"b","d":[1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276],"c":[]}]]}]]}],["g",{"w":"bug","s":"g","e":true,"k":"g","d":[1987,2020,2021,2022,2023,2024,2025,2026],"c":[["-",{"w":"bug-","s":"-","e":false,"k":"-","d":[],"c":[["1",{"w":"bug-1","s":"1","e":true,"k":"1","d":[1993,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],"c":[]}],["2",{"w":"bug-2","s":"2","e":true,"k":"2","d":[1998,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090],"c":[]}],["3",{"w":"bug-3","s":"3","e":true,"k":"3","d":[2005,2100,2101,2102,2103,2104],"c":[]}],["4",{"w":"bug-4","s":"4","e":true,"k":"4","d":[2013,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],"c":[]}]]}]]}]]}],["i",{"w":"bindings","s":"indings","e":true,"k":"i","d":[1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256],"c":[]}],["o",{"w":"box","s":"ox","e":true,"k":"o","d":[1609,1722],"c":[]}],["r",{"w":"breaking-changes","s":"reaking-changes","e":true,"k":"r","d":[1992,2036,2037,2038,2039,2040],"c":[]}]]}],["c",{"w":"c","s":"c","e":false,"k":"c","d":[],"c":[["o",{"w":"co","s":"o","e":false,"k":"o","d":[],"c":[["m",{"w":"com","s":"m","e":false,"k":"m","d":[],"c":[["m",{"w":"comm","s":"m","e":false,"k":"m","d":[],"c":[["a",{"w":"commands","s":"ands","e":true,"k":"a","d":[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,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],"c":[]}],["u",{"w":"communication-using-the-netty-framework","s":"unication-using-the-netty-framework","e":true,"k":"u","d":[139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159],"c":[]}]]}],["p",{"w":"comp","s":"p","e":false,"k":"p","d":[],"c":[["l",{"w":"complete-","s":"lete-","e":false,"k":"l","d":[],"c":[["e",{"w":"complete-example","s":"example","e":true,"k":"e","d":[1083,1106],"c":[]}],["s",{"w":"complete-source-listings","s":"source-listings","e":true,"k":"s","d":[1117],"c":[]}]]}],["a",{"w":"compa","s":"a","e":false,"k":"a","d":[],"c":[["n",{"w":"companies","s":"nies","e":true,"k":"n","d":[1606],"c":[]}],["r",{"w":"comparisons","s":"risons","e":true,"k":"r","d":[1855,1904,1905],"c":[]}]]}]]}]]}],["n",{"w":"con","s":"n","e":false,"k":"n","d":[],"c":[["f",{"w":"config","s":"fig","e":true,"k":"f","d":[548,576],"c":[["u",{"w":"configur","s":"ur","e":false,"k":"u","d":[],"c":[["i",{"w":"configuring-","s":"ing-","e":false,"k":"i","d":[],"c":[["a",{"w":"configuring-adminserver-for-ssltls","s":"adminserver-for-ssltls","e":true,"k":"a","d":[56,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],"c":[]}],["t",{"w":"configuring-the-","s":"the-","e":false,"k":"t","d":[],"c":[["m",{"w":"configuring-the-metrics-provider","s":"metrics-provider","e":true,"k":"m","d":[798,811,812],"c":[]}],["o",{"w":"configuring-the-oracle-in-zoocfg","s":"oracle-in-zoocfg","e":true,"k":"o","d":[891,909,910,911,912],"c":[]}]]}]]}],["a",{"w":"configuration-parameters","s":"ation-parameters","e":true,"k":"a","d":[160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,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,224,225,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,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,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435],"c":[]}]]}]]}],["n",{"w":"connect","s":"nect","e":true,"k":"n","d":[549,577],"c":[["i",{"w":"connecting","s":"ing","e":true,"k":"i","d":[544],"c":[["-",{"w":"connecting-to-zookeeper","s":"-to-zookeeper","e":true,"k":"-","d":[1260,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1935,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966],"c":[]}]]}]]}],["d",{"w":"conditional-","s":"ditional-","e":false,"k":"d","d":[],"c":[["r",{"w":"conditional-reconfig","s":"reconfig","e":true,"k":"r","d":[629,718,719],"c":[]}],["u",{"w":"conditional-updates-and-watches","s":"updates-and-watches","e":true,"k":"u","d":[1789,1811,1812],"c":[]}]]}],["s",{"w":"consi","s":"si","e":false,"k":"s","d":[],"c":[["d",{"w":"considerations-when-using-the-oracle","s":"derations-when-using-the-oracle","e":true,"k":"d","d":[894,914],"c":[]}],["s",{"w":"consistency-guarantees","s":"stency-guarantees","e":true,"k":"s","d":[1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1856,1906,1907,1908,1909,1910],"c":[]}]]}],["t",{"w":"container-nodes","s":"tainer-nodes","e":true,"k":"t","d":[1298],"c":[]}]]}],["o",{"w":"coordinating-distributed-applications-with-zookeeper","s":"ordinating-distributed-applications-with-zookeeper","e":true,"k":"o","d":[1930,1939],"c":[]}]]}],["l",{"w":"cl","s":"l","e":false,"k":"l","d":[],"c":[["u",{"w":"cluster","s":"uster","e":false,"k":"u","d":[],"c":[["-",{"w":"cluster-options","s":"-options","e":true,"k":"-","d":[164,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313],"c":[]}],["e",{"w":"clustered-multi-server-setup","s":"ed-multi-server-setup","e":true,"k":"e","d":[462,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525],"c":[]}]]}],["i",{"w":"cli","s":"i","e":true,"k":"i","d":[542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608],"c":[["e",{"w":"client-configuration-parameters","s":"ent-configuration-parameters","e":true,"k":"e","d":[1207,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238],"c":[]}]]}],["o",{"w":"close","s":"ose","e":true,"k":"o","d":[547,575],"c":[]}]]}],["r",{"w":"cr","s":"r","e":false,"k":"r","d":[],"c":[["o",{"w":"cross-machine-requirements","s":"oss-machine-requirements","e":true,"k":"o","d":[465,533,534,535,536],"c":[]}],["e",{"w":"create","s":"eate","e":true,"k":"e","d":[550,578,579,580,581],"c":[]}]]}],["h",{"w":"changes-to-configuration-format","s":"hanges-to-configuration-format","e":true,"k":"h","d":[611],"c":[]}],["-",{"w":"c-binding","s":"-binding","e":true,"k":"-","d":[1208,1239,1240],"c":[]}]]}],["q",{"w":"q","s":"q","e":false,"k":"q","d":[],"c":[["u",{"w":"qu","s":"u","e":false,"k":"u","d":[],"c":[["o",{"w":"quo","s":"o","e":false,"k":"o","d":[],"c":[["r",{"w":"quorum","s":"rum","e":false,"k":"r","d":[],"c":[["-",{"w":"quorum-tls","s":"-tls","e":true,"k":"-","d":[141,145,146,147,148,149,150,151,152],"c":[]}],["s",{"w":"quorums","s":"s","e":true,"k":"s","d":[885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,1857,1911,1912,1913,1914],"c":[]}]]}],["t",{"w":"quota-guide","s":"ta-guide","e":true,"k":"t","d":[958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975],"c":[]}]]}],["i",{"w":"qui","s":"i","e":false,"k":"i","d":[],"c":[["t",{"w":"quit","s":"t","e":true,"k":"t","d":[562,593],"c":[]}],["c",{"w":"quick-start","s":"ck-start","e":true,"k":"c","d":[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],"c":[]}]]}],["e",{"w":"queue","s":"eue","e":false,"k":"e","d":[],"c":[["-",{"w":"queue-test","s":"-test","e":true,"k":"-","d":[1084,1107,1108],"c":[]}],["s",{"w":"queues","s":"s","e":true,"k":"s","d":[1464,1503,1504,1505],"c":[]}]]}]]}],["a",{"w":"qa-toc","s":"a-toc","e":true,"k":"a","d":[1381,1419,1420,1421,1422,1423,1424],"c":[]}]]}],["u",{"w":"u","s":"u","e":false,"k":"u","d":[],"c":[["p",{"w":"upgrading-","s":"pgrading-","e":false,"k":"p","d":[],"c":[["e",{"w":"upgrading-existing-non-tls-cluster-with-no-downtime","s":"existing-non-tls-cluster-with-no-downtime","e":true,"k":"e","d":[142,153,154,155,156,157,158,159],"c":[]}],["t",{"w":"upgrading-to-350","s":"to-350","e":true,"k":"t","d":[620,666,667],"c":[]}]]}],["n",{"w":"unsafe-options","s":"nsafe-options","e":true,"k":"n","d":[168,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401],"c":[]}],["s",{"w":"us","s":"s","e":false,"k":"s","d":[],"c":[["i",{"w":"using-a-usb-device-as-the-oracle","s":"ing-a-usb-device-as-the-oracle","e":true,"k":"i","d":[900,944,945,946,947,948,949,950,951,952,953,954,955,956],"c":[]}],["e",{"w":"use","s":"e","e":false,"k":"e","d":[],"c":[["-",{"w":"use-","s":"-","e":false,"k":"-","d":[],"c":[["c",{"w":"use-cases","s":"cases","e":true,"k":"c","d":[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,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,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,1781],"c":[]}],["o",{"w":"use-of-standard-slf4j-idioms","s":"of-standard-slf4j-idioms","e":true,"k":"o","d":[1861,1924,1925,1926,1927],"c":[]}]]}],["s",{"w":"uses","s":"s","e":true,"k":"s","d":[1793,1832],"c":[]}]]}]]}]]}],["e",{"w":"e","s":"e","e":false,"k":"e","d":[],"c":[["n",{"w":"en","s":"n","e":false,"k":"n","d":[],"c":[["c",{"w":"encryption-authentication-authorization-options","s":"cryption-authentication-authorization-options","e":true,"k":"c","d":[165,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378],"c":[]}],["a",{"w":"enabling-","s":"abling-","e":false,"k":"a","d":[],"c":[["d",{"w":"enabling-db-existence-validation","s":"db-existence-validation","e":true,"k":"d","d":[170,406,407],"c":[]}],["h",{"w":"enabling-https-for-prometheus-metrics","s":"https-for-prometheus-metrics","e":true,"k":"h","d":[799,813,814,815,816,817,818],"c":[]}]]}]]}],["x",{"w":"ex","s":"x","e":false,"k":"x","d":[],"c":[["p",{"w":"experimental-optionsfeatures","s":"perimental-optionsfeatures","e":true,"k":"p","d":[167,383,384,385],"c":[]}],["a",{"w":"example","s":"ample","e":false,"k":"a","d":[],"c":[["-",{"w":"example-","s":"-","e":false,"k":"-","d":[],"c":[["1",{"w":"example-1","s":"1","e":true,"k":"1","d":[617,657,658,659],"c":[]}],["2",{"w":"example-2","s":"2","e":true,"k":"2","d":[618,660,661,662],"c":[]}],["u",{"w":"example-use-cases","s":"use-cases","e":true,"k":"u","d":[869,882,883,884],"c":[]}],["z",{"w":"example-zoocfg","s":"zoocfg","e":true,"k":"z","d":[892],"c":[]}]]}],["s",{"w":"examples-of-failure-detector-implementations","s":"s-of-failure-detector-implementations","e":true,"k":"s","d":[897,941],"c":[]}]]}],["e",{"w":"executorjava","s":"ecutorjava","e":true,"k":"e","d":[1118],"c":[]}]]}],["r",{"w":"error-conditions","s":"rror-conditions","e":true,"k":"r","d":[630,720,721,722,723,724,725,726,727,728],"c":[]}],["p",{"w":"ephemeral-nodes","s":"phemeral-nodes","e":true,"k":"p","d":[1295,1318],"c":[]}],["c",{"w":"eclipse-","s":"clipse-","e":false,"k":"c","d":[],"c":[["c",{"w":"eclipse-communication-framework","s":"communication-framework","e":true,"k":"c","d":[1567,1629],"c":[]}],["g",{"w":"eclipse-gyrex","s":"gyrex","e":true,"k":"g","d":[1568,1630,1631],"c":[]}]]}]]}],["p",{"w":"p","s":"p","e":false,"k":"p","d":[],"c":[["e",{"w":"per","s":"er","e":false,"k":"e","d":[],"c":[["f",{"w":"performance","s":"formance","e":true,"k":"f","d":[1794,1833,1834,1835,1836,1837,1838,1839,1840,1841,1842,1843],"c":[["-",{"w":"performance-tuning-options","s":"-tuning-options","e":true,"k":"-","d":[171,408,409,410,411,412,413,414,415,416,417],"c":[]}]]}],["s",{"w":"persistent-recursive-watches","s":"sistent-recursive-watches","e":true,"k":"s","d":[1428,1443,1444],"c":[]}]]}],["r",{"w":"pr","s":"r","e":false,"k":"r","d":[],"c":[["i",{"w":"pri","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"printwatches","s":"ntwatches","e":true,"k":"n","d":[561,592],"c":[]}],["o",{"w":"priority-queues","s":"ority-queues","e":true,"k":"o","d":[1465,1506],"c":[]}]]}],["o",{"w":"pro","s":"o","e":false,"k":"o","d":[],"c":[["m",{"w":"prometheus","s":"metheus","e":true,"k":"m","d":[800,819,820,821,822,823],"c":[]}],["d",{"w":"producer-consumer-queues","s":"ducer-consumer-queues","e":true,"k":"d","d":[1082,1101,1102,1103,1104,1105],"c":[]}],["g",{"w":"program","s":"gram","e":false,"k":"g","d":[],"c":[["-",{"w":"program-design","s":"-design","e":true,"k":"-","d":[1114,1130],"c":[]}],["m",{"w":"programm","s":"m","e":false,"k":"m","d":[],"c":[["e",{"w":"programmers-guide","s":"ers-guide","e":true,"k":"e","d":[1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456],"c":[]}],["i",{"w":"programming-to-zookeeper","s":"ing-to-zookeeper","e":true,"k":"i","d":[1936,1967],"c":[]}]]}]]}]]}],["e",{"w":"pre-requisites","s":"e-requisites","e":true,"k":"e","d":[1931,1940],"c":[]}]]}],["l",{"w":"pluggable-authentication","s":"luggable-authentication","e":true,"k":"l","d":[1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378],"c":[]}],["i",{"w":"pinterest","s":"interest","e":true,"k":"i","d":[1615,1731],"c":[]}]]}],["f",{"w":"f","s":"f","e":false,"k":"f","d":[],"c":[["i",{"w":"file-management","s":"ile-management","e":true,"k":"i","d":[440,450,451,452,453,454],"c":[]}],["o",{"w":"four-letter-words","s":"our-letter-words","e":true,"k":"o","d":[805,832],"c":[]}],["a",{"w":"fa","s":"a","e":false,"k":"a","d":[],"c":[["u",{"w":"fault-injection-framework","s":"ult-injection-framework","e":true,"k":"u","d":[1012],"c":[]}],["c",{"w":"facebook","s":"cebook","e":true,"k":"c","d":[1611,1724],"c":[]}]]}],["r",{"w":"free-software-projects","s":"ree-software-projects","e":true,"k":"r","d":[1564],"c":[]}]]}],["r",{"w":"r","s":"r","e":false,"k":"r","d":[],"c":[["e",{"w":"re","s":"e","e":false,"k":"e","d":[],"c":[["c",{"w":"rec","s":"c","e":false,"k":"c","d":[],"c":[["o",{"w":"reco","s":"o","e":false,"k":"o","d":[],"c":[["v",{"w":"recover","s":"ver","e":false,"k":"v","d":[],"c":[["y",{"w":"recovery---txnlogtoolkit","s":"y---txnlogtoolkit","e":true,"k":"y","d":[441,455],"c":[]}],["a",{"w":"recoverable-errors-and-the-guid","s":"able-errors-and-the-guid","e":true,"k":"a","d":[1467,1521],"c":[]}]]}],["n",{"w":"reconfig","s":"nfig","e":true,"k":"n","d":[563,594,595,596,597],"c":[]}]]}],["i",{"w":"recipes","s":"ipes","e":true,"k":"i","d":[1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,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],"c":[]}]]}],["q",{"w":"require","s":"quire","e":false,"k":"q","d":[],"c":[["d",{"w":"required-software","s":"d-software","e":true,"k":"d","d":[461,509],"c":[]}],["m",{"w":"requirements","s":"ments","e":true,"k":"m","d":[1113,1121,1122,1123,1124,1125,1126,1127,1128,1129],"c":[]}]]}],["d",{"w":"red","s":"d","e":false,"k":"d","d":[],"c":[["o",{"w":"redo","s":"o","e":true,"k":"o","d":[564,598],"c":[]}],["i",{"w":"redis_failover","s":"is_failover","e":true,"k":"i","d":[1579,1648],"c":[]}]]}],["m",{"w":"remove","s":"move","e":false,"k":"m","d":[],"c":[["w",{"w":"removewatches","s":"watches","e":true,"k":"w","d":[565,599],"c":[]}],["-",{"w":"remove-watches","s":"-watches","e":true,"k":"-","d":[1429,1445,1446,1447,1448],"c":[]}]]}],["t",{"w":"retrieving-the-current-dynamic-configuration","s":"trieving-the-current-dynamic-configuration","e":true,"k":"t","d":[624,678,679,680,681,682,683,684],"c":[]}],["b",{"w":"rebalancing-client-connections","s":"balancing-client-connections","e":true,"k":"b","d":[632,732,733,734,735],"c":[]}],["p",{"w":"replicated-ensemble-mbeans","s":"plicated-ensemble-mbeans","e":true,"k":"p","d":[743,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780],"c":[]}],["f",{"w":"reference","s":"ference","e":true,"k":"f","d":[901,957],"c":[]}],["s",{"w":"restore","s":"store","e":true,"k":"s","d":[979,987,988,989,990,991,992],"c":[]}],["v",{"w":"revocable-shared-locks","s":"vocable-shared-locks","e":true,"k":"v","d":[1469,1539,1540,1541],"c":[]}],["l",{"w":"rel","s":"l","e":false,"k":"l","d":[],"c":[["i",{"w":"reliability","s":"iability","e":true,"k":"i","d":[1795,1844,1845],"c":[]}],["e",{"w":"release-notes","s":"ease-notes","e":true,"k":"e","d":[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],"c":[["-",{"w":"release-notes---zookeeper---version-39","s":"---zookeeper---version-39","e":false,"k":"-","d":[],"c":[["5",{"w":"release-notes---zookeeper---version-395","s":"5","e":true,"k":"5","d":[1985],"c":[]}],["4",{"w":"release-notes---zookeeper---version-394","s":"4","e":true,"k":"4","d":[1991],"c":[]}],["3",{"w":"release-notes---zookeeper---version-393","s":"3","e":true,"k":"3","d":[1997],"c":[]}],["2",{"w":"release-notes---zookeeper---version-392","s":"2","e":true,"k":"2","d":[2003],"c":[]}],["1",{"w":"release-notes---zookeeper---version-391","s":"1","e":true,"k":"1","d":[2008],"c":[]}],["0",{"w":"release-notes---zookeeper---version-390","s":"0","e":true,"k":"0","d":[2011],"c":[]}]]}]]}]]}]]}],["u",{"w":"running-","s":"unning-","e":false,"k":"u","d":[],"c":[["a",{"w":"running-a-jmx-console","s":"a-jmx-console","e":true,"k":"a","d":[739,749,750,751,752,753],"c":[]}],["t",{"w":"running-the-tool","s":"the-tool","e":true,"k":"t","d":[1006,1036,1037,1038],"c":[]}],["r",{"w":"running-replicated-zookeeper","s":"replicated-zookeeper","e":true,"k":"r","d":[1937,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980],"c":[]}]]}],["a",{"w":"rackspace","s":"ackspace","e":true,"k":"a","d":[1616,1732],"c":[]}]]}],["h",{"w":"h","s":"h","e":false,"k":"h","d":[],"c":[["e",{"w":"help","s":"elp","e":true,"k":"e","d":[545,573],"c":[]}],["i",{"w":"hi","s":"i","e":false,"k":"i","d":[],"c":[["s",{"w":"history","s":"story","e":true,"k":"s","d":[558,589],"c":[]}],["e",{"w":"hierarchical-quorums","s":"erarchical-quorums","e":true,"k":"e","d":[887,902,903,904],"c":[]}]]}],["o",{"w":"how-to-use-observer","s":"ow-to-use-observer","e":false,"k":"o","d":[],"c":[["s",{"w":"how-to-use-observers","s":"s","e":true,"k":"s","d":[867,873,874,875,876,877,878],"c":[]}],["-",{"w":"how-to-use-observer-masters","s":"-masters","e":true,"k":"-","d":[868,879,880,881],"c":[]}]]}],["a",{"w":"ha","s":"a","e":false,"k":"a","d":[],"c":[["r",{"w":"hardware-based-implementation","s":"rdware-based-implementation","e":true,"k":"r","d":[898,942],"c":[]}],["n",{"w":"handling-errors","s":"ndling-errors","e":true,"k":"n","d":[1259,1262],"c":[]}]]}]]}],["g",{"w":"g","s":"g","e":false,"k":"g","d":[],"c":[["e",{"w":"ge","s":"e","e":false,"k":"e","d":[],"c":[["t",{"w":"get","s":"t","e":true,"k":"t","d":[554,585],"c":[["a",{"w":"geta","s":"a","e":false,"k":"a","d":[],"c":[["c",{"w":"getacl","s":"cl","e":true,"k":"c","d":[555,586],"c":[]}],["l",{"w":"getallchildrennumber","s":"llchildrennumber","e":true,"k":"l","d":[556,587],"c":[]}]]}],["e",{"w":"getephemerals","s":"ephemerals","e":true,"k":"e","d":[557,588,1296,1319],"c":[]}]]}],["n",{"w":"general","s":"neral","e":true,"k":"n","d":[626,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706],"c":[]}]]}],["r",{"w":"grafana","s":"rafana","e":true,"k":"r","d":[802,828,829],"c":[]}],["o",{"w":"go","s":"o","e":false,"k":"o","d":[],"c":[["t",{"w":"gotchas-common-problems-and-troubleshooting","s":"tchas-common-problems-and-troubleshooting","e":true,"k":"t","d":[1342,1343,1344,1345,1346,1347,1348,1349],"c":[]}],["l",{"w":"goldenorb","s":"ldenorb","e":true,"k":"l","d":[1569,1632],"c":[]}]]}],["u",{"w":"guarantees","s":"uarantees","e":true,"k":"u","d":[1790,1813,1814,1815,1816,1817,1818],"c":[["-",{"w":"guarantees-properties-and-definitions","s":"-properties-and-definitions","e":true,"k":"-","d":[1851,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881],"c":[]}]]}]]}],["v",{"w":"v","s":"v","e":false,"k":"v","d":[],"c":[["e",{"w":"version","s":"ersion","e":true,"k":"e","d":[571,607],"c":[]}],["a",{"w":"vastcom","s":"astcom","e":true,"k":"a","d":[1620,1740],"c":[]}]]}],["w",{"w":"w","s":"w","e":false,"k":"w","d":[],"c":[["h",{"w":"wh","s":"h","e":false,"k":"h","d":[],"c":[["o",{"w":"who","s":"o","e":false,"k":"o","d":[],"c":[["a",{"w":"whoami","s":"ami","e":true,"k":"a","d":[572,608],"c":[]}],["-",{"w":"who-is-taken-as-user-in-audit-logs","s":"-is-taken-as-user-in-audit-logs","e":true,"k":"-","d":[808,856,857,858,859,860,861,862,863,864],"c":[]}]]}],["a",{"w":"what-zookeeper-guarantees-about-watches","s":"at-zookeeper-guarantees-about-watches","e":true,"k":"a","d":[1430,1449,1450,1451,1452],"c":[]}]]}],["a",{"w":"watches","s":"atches","e":true,"k":"a","d":[1293,1315,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456],"c":[]}],["e",{"w":"wealthfront","s":"ealthfront","e":true,"k":"e","d":[1621,1741],"c":[]}],["i",{"w":"wish","s":"ish","e":true,"k":"i","d":[2007,2111],"c":[["-",{"w":"wish-1","s":"-1","e":true,"k":"-","d":[2017,2179,2180,2181,2182],"c":[]}]]}]]}],["i",{"w":"i","s":"i","e":false,"k":"i","d":[],"c":[["n",{"w":"in","s":"n","e":false,"k":"n","d":[],"c":[["c",{"w":"incremental-mode","s":"cremental-mode","e":true,"k":"c","d":[627,707,708,709,710,711,712],"c":[]}],["f",{"w":"influxdb","s":"fluxdb","e":true,"k":"f","d":[803,830],"c":[]}],["t",{"w":"int","s":"t","e":false,"k":"t","d":[],"c":[["e",{"w":"inter","s":"er","e":false,"k":"e","d":[],"c":[["a",{"w":"interactive-mode","s":"active-mode","e":true,"k":"a","d":[1007,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050],"c":[]}],["n",{"w":"internals","s":"nals","e":true,"k":"n","d":[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],"c":[]}]]}],["r",{"w":"introduction","s":"roduction","e":true,"k":"r","d":[1080,1088,1089,1090,1091],"c":[]}]]}],["s",{"w":"installation","s":"stallation","e":true,"k":"s","d":[1209,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251],"c":[]}]]}],["m",{"w":"imp","s":"mp","e":false,"k":"m","d":[],"c":[["o",{"w":"important-note-about-error-handling","s":"ortant-note-about-error-handling","e":true,"k":"o","d":[1460,1476],"c":[]}],["l",{"w":"implementation","s":"lementation","e":true,"k":"l","d":[1792,1827,1828,1829,1830,1831],"c":[]}],["r",{"w":"improvement","s":"rovement","e":true,"k":"r","d":[1988,2027,2028,2029,2030,2031],"c":[["-",{"w":"improvement-","s":"-","e":false,"k":"-","d":[],"c":[["1",{"w":"improvement-1","s":"1","e":true,"k":"1","d":[1995,2067,2068,2069,2070,2071,2072,2073,2074],"c":[]}],["2",{"w":"improvement-2","s":"2","e":true,"k":"2","d":[2000,2092,2093,2094],"c":[]}],["3",{"w":"improvement-3","s":"3","e":true,"k":"3","d":[2006,2105,2106,2107,2108,2109,2110],"c":[]}],["4",{"w":"improvement-4","s":"4","e":true,"k":"4","d":[2009,2112,2113],"c":[]}],["5",{"w":"improvement-5","s":"5","e":true,"k":"5","d":[2015,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],"c":[]}]]}]]}]]}],["d",{"w":"idium-portal","s":"dium-portal","e":true,"k":"d","d":[1612,1725,1726],"c":[]}]]}],["n",{"w":"n","s":"n","e":false,"k":"n","d":[],"c":[["o",{"w":"no","s":"o","e":false,"k":"o","d":[],"c":[["n",{"w":"non-incremental-mode","s":"n-incremental-mode","e":true,"k":"n","d":[628,713,714,715,716,717],"c":[]}],["r",{"w":"norbert","s":"rbert","e":true,"k":"r","d":[1574,1640],"c":[]}],["d",{"w":"nodes-and-ephemeral-nodes","s":"des-and-ephemeral-nodes","e":true,"k":"d","d":[1788,1807,1808,1809,1810],"c":[]}]]}],["e",{"w":"ne","s":"e","e":false,"k":"e","d":[],"c":[["w",{"w":"new-","s":"w-","e":false,"k":"w","d":[],"c":[["m",{"w":"new-metrics-system","s":"metrics-system","e":true,"k":"m","d":[796,809],"c":[]}],["f",{"w":"new-feature","s":"feature","e":true,"k":"f","d":[1994,2066],"c":[["-",{"w":"new-feature-","s":"-","e":false,"k":"-","d":[],"c":[["1",{"w":"new-feature-1","s":"1","e":true,"k":"1","d":[1999,2091],"c":[]}],["2",{"w":"new-feature-2","s":"2","e":true,"k":"2","d":[2014,2144,2145],"c":[]}]]}]]}]]}],["o",{"w":"neo4j","s":"o4j","e":true,"k":"o","d":[1573,1638,1639],"c":[]}]]}]]}],["j",{"w":"j","s":"j","e":false,"k":"j","d":[],"c":[["m",{"w":"jmx","s":"mx","e":true,"k":"m","d":[736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,804,831],"c":[]}],["e",{"w":"jepsen-test","s":"epsen-test","e":true,"k":"e","d":[1014,1073,1074,1075,1076,1077],"c":[]}],["a",{"w":"java-","s":"ava-","e":false,"k":"a","d":[],"c":[["e",{"w":"java-example","s":"example","e":true,"k":"e","d":[1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148],"c":[]}],["b",{"w":"java-binding","s":"binding","e":true,"k":"b","d":[1206,1212,1213,1214,1215,1216,1217,1218],"c":[]}]]}],["u",{"w":"juju","s":"uju","e":true,"k":"u","d":[1570,1633],"c":[]}]]}],["z",{"w":"z","s":"z","e":false,"k":"z","d":[],"c":[["o",{"w":"zookeeper","s":"ookeeper","e":false,"k":"o","d":[],"c":[["-",{"w":"zookeeper-","s":"-","e":false,"k":"-","d":[],"c":[["m",{"w":"zookeeper-mbean-reference","s":"mbean-reference","e":true,"k":"m","d":[742],"c":[]}],["c",{"w":"zookeeper-c-client-api","s":"c-client-api","e":true,"k":"c","d":[1153,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203],"c":[]}],["s",{"w":"zookeeper-stat-structure","s":"stat-structure","e":true,"k":"s","d":[1303,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341],"c":[]}],["a",{"w":"zookeeper-a-distributed-coordination-service-for-distributed-applications","s":"a-distributed-coordination-service-for-distributed-applications","e":true,"k":"a","d":[1784,1797,1798],"c":[]}]]}],["s",{"w":"zookeepers-hierarchical-namespace","s":"s-hierarchical-namespace","e":true,"k":"s","d":[1787],"c":[]}]]}],["k",{"w":"zk","s":"k","e":false,"k":"k","d":[],"c":[["s",{"w":"zks","s":"s","e":false,"k":"s","d":[],"c":[["e",{"w":"zkserversh","s":"erversh","e":true,"k":"e","d":[996,1015,1016],"c":[]}],["n",{"w":"zksnapshot","s":"napshot","e":false,"k":"n","d":[],"c":[["t",{"w":"zksnapshottoolkitsh","s":"toolkitsh","e":true,"k":"t","d":[1001,1028],"c":[]}],["r",{"w":"zksnapshotrecursivesummarytoolkitsh","s":"recursivesummarytoolkitsh","e":true,"k":"r","d":[1002,1029],"c":[]}],["c",{"w":"zksnapshotcomparersh","s":"comparersh","e":true,"k":"c","d":[1003,1030,1031,1032,1033],"c":[]}]]}]]}],["c",{"w":"zkcl","s":"cl","e":false,"k":"c","d":[],"c":[["i",{"w":"zkclish","s":"ish","e":true,"k":"i","d":[997,1017],"c":[]}],["e",{"w":"zkcleanupsh","s":"eanupsh","e":true,"k":"e","d":[999,1020],"c":[]}]]}],["e",{"w":"zkenvsh","s":"envsh","e":true,"k":"e","d":[998,1018,1019],"c":[]}],["t",{"w":"zktxnlogtoolkitsh","s":"txnlogtoolkitsh","e":true,"k":"t","d":[1000,1021,1022,1023,1024,1025,1026,1027],"c":[]}],["-",{"w":"zk-smoketest","s":"-smoketest","e":true,"k":"-","d":[1010,1068],"c":[]}]]}],["n",{"w":"znodes","s":"nodes","e":true,"k":"n","d":[1292,1311,1312,1313,1314],"c":[]}],["y",{"w":"zynga","s":"ynga","e":true,"k":"y","d":[1623,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,1781],"c":[]}]]}],["y",{"w":"y","s":"y","e":false,"k":"y","d":[],"c":[["c",{"w":"ycsb","s":"csb","e":true,"k":"c","d":[1009,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067],"c":[]}],["a",{"w":"yahoo","s":"ahoo","e":true,"k":"a","d":[1622,1742],"c":[]}]]}],["k",{"w":"k","s":"k","e":false,"k":"k","d":[],"c":[["a",{"w":"katta","s":"atta","e":true,"k":"a","d":[1571,1634,1635],"c":[]}],["e",{"w":"keptcollections","s":"eptcollections","e":true,"k":"e","d":[1572,1636,1637],"c":[]}]]}]]},"isArray":false}},"vectorIndexes":{"embeddings":{"size":512,"vectors":[]}},"searchableProperties":["content","page_id","type","breadcrumbs","tags","url","embeddings"],"searchablePropertiesWithTypes":{"content":"string","page_id":"string","type":"string","breadcrumbs":"string[]","tags":"enum[]","url":"string","embeddings":"vector[512]"},"frequencies":{"content":{"1":{"administration":1},"2":{"operational":0.05263157894736842,"guidance":0.05263157894736842,"for":0.05263157894736842,"running":0.05263157894736842,"a":0.05263157894736842,"zookeeper":0.05263157894736842,"cluster":0.05263157894736842,"including":0.05263157894736842,"provisioning":0.05263157894736842,"maintenance":0.05263157894736842,"tasks":0.05263157894736842,"data":0.05263157894736842,"directory":0.05263157894736842,"cleanup":0.05263157894736842,"supervision":0.05263157894736842,"monitoring":0.05263157894736842,"logging":0.05263157894736842,"and":0.05263157894736842,"troubleshooting":0.05263157894736842},"3":{"maintenance":1},"4":{"ongoing":0.25,"data":0.25,"directory":0.25,"cleanup":0.25},"5":{"debug":0.25,"log":0.25,"cleanup":0.25,"logback":0.25},"6":{"supervision":1},"7":{"monitoring":1},"8":{"logging":1},"9":{"troubleshooting":1},"10":{"metrics":0.5,"providers":0.5},"11":{"little":0.05555555555555555,"long":0.05555555555555555,"term":0.05555555555555555,"maintenance":0.05555555555555555,"is":0.05555555555555555,"required":0.05555555555555555,"for":0.05555555555555555,"a":0.05555555555555555,"zookeeper":0.05555555555555555,"cluster":0.05555555555555555,"however":0.05555555555555555,"you":0.05555555555555555,"must":0.05555555555555555,"be":0.05555555555555555,"aware":0.05555555555555555,"of":0.05555555555555555,"the":0.05555555555555555,"following":0.05555555555555555},"12":{"the":0.016129032258064516,"zookeeper":0.016129032258064516,"data":0.016129032258064516,"directory":0.016129032258064516,"contains":0.016129032258064516,"files":0.016129032258064516,"which":0.016129032258064516,"are":0.016129032258064516,"a":0.016129032258064516,"persistent":0.016129032258064516,"copy":0.016129032258064516,"of":0.016129032258064516,"znodes":0.016129032258064516,"stored":0.016129032258064516,"by":0.016129032258064516,"particular":0.016129032258064516,"serving":0.016129032258064516,"ensemble":0.016129032258064516,"these":0.016129032258064516,"snapshot":0.016129032258064516,"and":0.016129032258064516,"transactional":0.016129032258064516,"log":0.016129032258064516,"as":0.016129032258064516,"changes":0.016129032258064516,"made":0.016129032258064516,"to":0.016129032258064516,"appended":0.016129032258064516,"transaction":0.016129032258064516,"occasionally":0.016129032258064516,"when":0.016129032258064516,"grows":0.016129032258064516,"large":0.016129032258064516,"current":0.016129032258064516,"state":0.016129032258064516,"all":0.016129032258064516,"will":0.016129032258064516,"be":0.016129032258064516,"written":0.016129032258064516,"filesystem":0.016129032258064516,"new":0.016129032258064516,"file":0.016129032258064516,"is":0.016129032258064516,"created":0.016129032258064516,"for":0.016129032258064516,"future":0.016129032258064516,"transactions":0.016129032258064516,"during":0.016129032258064516,"snapshotting":0.016129032258064516,"may":0.016129032258064516,"continue":0.016129032258064516,"appending":0.016129032258064516,"incoming":0.016129032258064516,"old":0.016129032258064516,"therefore":0.016129032258064516,"some":0.016129032258064516,"newer":0.016129032258064516,"than":0.016129032258064516,"found":0.016129032258064516,"in":0.016129032258064516,"last":0.016129032258064516,"preceding":0.016129032258064516},"13":{"a":0.025,"zookeeper":0.025,"server":0.025,"will":0.025,"not":0.025,"remove":0.025,"old":0.025,"snapshots":0.025,"and":0.025,"log":0.025,"files":0.025,"when":0.025,"using":0.025,"the":0.025,"default":0.025,"configuration":0.025,"see":0.025,"autopurge":0.025,"below":0.025,"this":0.025,"is":0.025,"responsibility":0.025,"of":0.025,"operator":0.025,"every":0.025,"serving":0.025,"environment":0.025,"different":0.025,"therefore":0.025,"requirements":0.025,"managing":0.025,"these":0.025,"may":0.025,"differ":0.025,"from":0.025,"install":0.025,"to":0.025,"backup":0.025,"for":0.025,"example":0.025},"14":{"the":0.047619047619047616,"purgetxnlog":0.047619047619047616,"utility":0.047619047619047616,"implements":0.047619047619047616,"a":0.047619047619047616,"simple":0.047619047619047616,"retention":0.047619047619047616,"policy":0.047619047619047616,"that":0.047619047619047616,"administrators":0.047619047619047616,"can":0.047619047619047616,"use":0.047619047619047616,"api":0.047619047619047616,"docs":0.047619047619047616,"contains":0.047619047619047616,"details":0.047619047619047616,"on":0.047619047619047616,"calling":0.047619047619047616,"conventions":0.047619047619047616,"arguments":0.047619047619047616,"etc":0.047619047619047616},"15":{"3":0.02,"in":0.02,"the":0.02,"following":0.02,"example":0.02,"last":0.02,"count":0.02,"snapshots":0.02,"and":0.02,"their":0.02,"corresponding":0.02,"logs":0.02,"are":0.02,"retained":0.02,"others":0.02,"deleted":0.02,"value":0.02,"of":0.02,"should":0.02,"typically":0.02,"be":0.02,"greater":0.02,"than":0.02,"although":0.02,"not":0.02,"required":0.02,"this":0.02,"provides":0.02,"backups":0.02,"unlikely":0.02,"event":0.02,"a":0.02,"recent":0.02,"log":0.02,"has":0.02,"become":0.02,"corrupted":0.02,"can":0.02,"run":0.02,"as":0.02,"cron":0.02,"job":0.02,"on":0.02,"zookeeper":0.02,"server":0.02,"machines":0.02,"to":0.02,"clean":0.02,"up":0.02,"daily":0.02},"16":{"0":0.03125,"3":0.03125,"4":0.03125,"automatic":0.03125,"purging":0.03125,"of":0.03125,"the":0.03125,"snapshots":0.03125,"and":0.03125,"corresponding":0.03125,"transaction":0.03125,"logs":0.03125,"was":0.03125,"introduced":0.03125,"in":0.03125,"version":0.03125,"can":0.03125,"be":0.03125,"enabled":0.03125,"via":0.03125,"following":0.03125,"configuration":0.03125,"parameters":0.03125,"autopurge":0.03125,"snapretaincount":0.03125,"purgeinterval":0.03125,"for":0.03125,"more":0.03125,"on":0.03125,"this":0.03125,"see":0.03125,"advanced":0.03125},"17":{"see":0.030303030303030304,"the":0.030303030303030304,"section":0.030303030303030304,"on":0.030303030303030304,"logging":0.030303030303030304,"in":0.030303030303030304,"this":0.030303030303030304,"document":0.030303030303030304,"it":0.030303030303030304,"is":0.030303030303030304,"expected":0.030303030303030304,"that":0.030303030303030304,"you":0.030303030303030304,"will":0.030303030303030304,"setup":0.030303030303030304,"a":0.030303030303030304,"rolling":0.030303030303030304,"file":0.030303030303030304,"appender":0.030303030303030304,"using":0.030303030303030304,"in-built":0.030303030303030304,"logback":0.030303030303030304,"feature":0.030303030303030304,"sample":0.030303030303030304,"configuration":0.030303030303030304,"release":0.030303030303030304,"tar's":0.030303030303030304,"conf":0.030303030303030304,"xml":0.030303030303030304,"provides":0.030303030303030304,"an":0.030303030303030304,"example":0.030303030303030304,"of":0.030303030303030304},"18":{"you":0.015384615384615385,"will":0.015384615384615385,"want":0.015384615384615385,"to":0.015384615384615385,"have":0.015384615384615385,"a":0.015384615384615385,"supervisory":0.015384615384615385,"process":0.015384615384615385,"that":0.015384615384615385,"manages":0.015384615384615385,"each":0.015384615384615385,"of":0.015384615384615385,"your":0.015384615384615385,"zookeeper":0.015384615384615385,"server":0.015384615384615385,"processes":0.015384615384615385,"jvm":0.015384615384615385,"the":0.015384615384615385,"zk":0.015384615384615385,"is":0.015384615384615385,"designed":0.015384615384615385,"be":0.015384615384615385,"fail":0.015384615384615385,"fast":0.015384615384615385,"meaning":0.015384615384615385,"it":0.015384615384615385,"shut":0.015384615384615385,"down":0.015384615384615385,"exit":0.015384615384615385,"if":0.015384615384615385,"an":0.015384615384615385,"error":0.015384615384615385,"occurs":0.015384615384615385,"cannot":0.015384615384615385,"recover":0.015384615384615385,"from":0.015384615384615385,"as":0.015384615384615385,"serving":0.015384615384615385,"cluster":0.015384615384615385,"highly":0.015384615384615385,"reliable":0.015384615384615385,"this":0.015384615384615385,"means":0.015384615384615385,"while":0.015384615384615385,"may":0.015384615384615385,"go":0.015384615384615385,"whole":0.015384615384615385,"still":0.015384615384615385,"active":0.015384615384615385,"and":0.015384615384615385,"requests":0.015384615384615385,"additionally":0.015384615384615385,"self":0.015384615384615385,"healing":0.015384615384615385,"failed":0.015384615384615385,"once":0.015384615384615385,"restarted":0.015384615384615385,"automatically":0.015384615384615385,"rejoin":0.015384615384615385,"ensemble":0.015384615384615385,"w":0.015384615384615385,"o":0.015384615384615385,"any":0.015384615384615385,"manual":0.015384615384615385,"interaction":0.015384615384615385},"19":{"having":0.020833333333333332,"a":0.020833333333333332,"supervisory":0.020833333333333332,"process":0.020833333333333332,"such":0.020833333333333332,"as":0.020833333333333332,"daemontools":0.020833333333333332,"or":0.020833333333333332,"smf":0.020833333333333332,"other":0.020833333333333332,"options":0.020833333333333332,"for":0.020833333333333332,"are":0.020833333333333332,"also":0.020833333333333332,"available":0.020833333333333332,"it's":0.020833333333333332,"up":0.020833333333333332,"to":0.020833333333333332,"you":0.020833333333333332,"which":0.020833333333333332,"one":0.020833333333333332,"would":0.020833333333333332,"like":0.020833333333333332,"use":0.020833333333333332,"these":0.020833333333333332,"just":0.020833333333333332,"two":0.020833333333333332,"examples":0.020833333333333332,"managing":0.020833333333333332,"your":0.020833333333333332,"zookeeper":0.020833333333333332,"server":0.020833333333333332,"ensures":0.020833333333333332,"that":0.020833333333333332,"if":0.020833333333333332,"the":0.020833333333333332,"does":0.020833333333333332,"exit":0.020833333333333332,"abnormally":0.020833333333333332,"it":0.020833333333333332,"will":0.020833333333333332,"automatically":0.020833333333333332,"be":0.020833333333333332,"restarted":0.020833333333333332,"and":0.020833333333333332,"quickly":0.020833333333333332,"rejoin":0.020833333333333332,"cluster":0.020833333333333332},"20":{"it":0.025,"is":0.025,"also":0.025,"recommended":0.025,"to":0.025,"configure":0.025,"the":0.025,"zookeeper":0.025,"server":0.025,"process":0.025,"terminate":0.025,"and":0.025,"dump":0.025,"its":0.025,"heap":0.025,"if":0.025,"an":0.025,"outofmemoryerror":0.025,"occurs":0.025,"this":0.025,"achieved":0.025,"by":0.025,"launching":0.025,"jvm":0.025,"with":0.025,"following":0.025,"arguments":0.025,"on":0.025,"linux":0.025,"windows":0.025,"respectively":0.025,"zkserver":0.025,"sh":0.025,"cmd":0.025,"scripts":0.025,"that":0.025,"ship":0.025,"set":0.025,"these":0.025,"options":0.025},"21":{"the":0.08333333333333333,"zookeeper":0.08333333333333333,"service":0.08333333333333333,"can":0.08333333333333333,"be":0.08333333333333333,"monitored":0.08333333333333333,"in":0.08333333333333333,"one":0.08333333333333333,"of":0.08333333333333333,"three":0.08333333333333333,"primary":0.08333333333333333,"ways":0.08333333333333333},"22":{"4":0.1111111111111111,"the":0.1111111111111111,"command":0.1111111111111111,"port":0.1111111111111111,"through":0.1111111111111111,"use":0.1111111111111111,"of":0.1111111111111111,"letter":0.1111111111111111,"words":0.1111111111111111},"23":{"with":0.5,"jmx":0.5},"24":{"using":0.16666666666666666,"the":0.16666666666666666,"zkserver":0.16666666666666666,"sh":0.16666666666666666,"status":0.16666666666666666,"command":0.16666666666666666},"25":{"1":0.034482758620689655,"7":0.034482758620689655,"zookeeper":0.034482758620689655,"uses":0.034482758620689655,"slf4j":0.034482758620689655,"version":0.034482758620689655,"as":0.034482758620689655,"its":0.034482758620689655,"logging":0.034482758620689655,"infrastructure":0.034482758620689655,"by":0.034482758620689655,"default":0.034482758620689655,"is":0.034482758620689655,"shipped":0.034482758620689655,"with":0.034482758620689655,"logback":0.034482758620689655,"the":0.034482758620689655,"backend":0.034482758620689655,"but":0.034482758620689655,"you":0.034482758620689655,"can":0.034482758620689655,"use":0.034482758620689655,"any":0.034482758620689655,"other":0.034482758620689655,"supported":0.034482758620689655,"framework":0.034482758620689655,"of":0.034482758620689655,"your":0.034482758620689655,"choice":0.034482758620689655},"26":{"the":0.045454545454545456,"zookeeper":0.045454545454545456,"default":0.045454545454545456,"logback":0.045454545454545456,"xml":0.045454545454545456,"file":0.045454545454545456,"resides":0.045454545454545456,"in":0.045454545454545456,"conf":0.045454545454545456,"directory":0.045454545454545456,"requires":0.045454545454545456,"that":0.045454545454545456,"either":0.045454545454545456,"be":0.045454545454545456,"working":0.045454545454545456,"from":0.045454545454545456,"which":0.045454545454545456,"is":0.045454545454545456,"run":0.045454545454545456,"or":0.045454545454545456,"accessible":0.045454545454545456,"classpath":0.045454545454545456},"27":{"for":0.125,"more":0.125,"information":0.125,"about":0.125,"slf4j":0.125,"see":0.125,"its":0.125,"manual":0.125},"28":{"for":0.14285714285714285,"more":0.14285714285714285,"information":0.14285714285714285,"about":0.14285714285714285,"logback":0.14285714285714285,"see":0.14285714285714285,"website":0.14285714285714285},"29":{"server":0.015384615384615385,"not":0.015384615384615385,"coming":0.015384615384615385,"up":0.015384615384615385,"because":0.015384615384615385,"of":0.015384615384615385,"file":0.015384615384615385,"corruption":0.015384615384615385,"a":0.015384615384615385,"might":0.015384615384615385,"be":0.015384615384615385,"able":0.015384615384615385,"to":0.015384615384615385,"read":0.015384615384615385,"its":0.015384615384615385,"database":0.015384615384615385,"and":0.015384615384615385,"fail":0.015384615384615385,"come":0.015384615384615385,"some":0.015384615384615385,"in":0.015384615384615385,"the":0.015384615384615385,"transaction":0.015384615384615385,"logs":0.015384615384615385,"zookeeper":0.015384615384615385,"you":0.015384615384615385,"will":0.015384615384615385,"see":0.015384615384615385,"ioexception":0.015384615384615385,"on":0.015384615384615385,"loading":0.015384615384615385,"such":0.015384615384615385,"case":0.015384615384615385,"make":0.015384615384615385,"sure":0.015384615384615385,"all":0.015384615384615385,"other":0.015384615384615385,"servers":0.015384615384615385,"your":0.015384615384615385,"ensemble":0.015384615384615385,"are":0.015384615384615385,"working":0.015384615384615385,"use":0.015384615384615385,"stat":0.015384615384615385,"command":0.015384615384615385,"port":0.015384615384615385,"if":0.015384615384615385,"they":0.015384615384615385,"good":0.015384615384615385,"health":0.015384615384615385,"after":0.015384615384615385,"have":0.015384615384615385,"verified":0.015384615384615385,"that":0.015384615384615385,"can":0.015384615384615385,"go":0.015384615384615385,"ahead":0.015384615384615385,"clean":0.015384615384615385,"corrupt":0.015384615384615385,"delete":0.015384615384615385,"files":0.015384615384615385,"datadir":0.015384615384615385,"version-2":0.015384615384615385,"datalogdir":0.015384615384615385,"restart":0.015384615384615385},"30":{"0":0.07692307692307693,"3":0.07692307692307693,"6":0.07692307692307693,"new":0.07692307692307693,"in":0.07692307692307693,"the":0.07692307692307693,"following":0.07692307692307693,"options":0.07692307692307693,"are":0.07692307692307693,"used":0.07692307692307693,"to":0.07692307692307693,"configure":0.07692307692307693,"metrics":0.07692307692307693},"31":{"by":0.06666666666666667,"default":0.06666666666666667,"zookeeper":0.06666666666666667,"server":0.06666666666666667,"exposes":0.06666666666666667,"useful":0.06666666666666667,"metrics":0.06666666666666667,"using":0.06666666666666667,"the":0.06666666666666667,"adminserver":0.06666666666666667,"and":0.06666666666666667,"four":0.06666666666666667,"letter":0.06666666666666667,"words":0.06666666666666667,"interface":0.06666666666666667},"32":{"0":0.058823529411764705,"3":0.058823529411764705,"6":0.058823529411764705,"since":0.058823529411764705,"you":0.058823529411764705,"can":0.058823529411764705,"configure":0.058823529411764705,"a":0.058823529411764705,"different":0.058823529411764705,"metrics":0.058823529411764705,"provider":0.058823529411764705,"that":0.058823529411764705,"exports":0.058823529411764705,"to":0.058823529411764705,"your":0.058823529411764705,"favourite":0.058823529411764705,"system":0.058823529411764705},"33":{"0":0.07692307692307693,"3":0.07692307692307693,"6":0.07692307692307693,"since":0.07692307692307693,"zookeeper":0.07692307692307693,"binary":0.07692307692307693,"package":0.07692307692307693,"bundles":0.07692307692307693,"an":0.07692307692307693,"integration":0.07692307692307693,"with":0.07692307692307693,"prometheus":0.07692307692307693,"io":0.07692307692307693},"34":{"metricsprovider":0.07692307692307693,"classname":0.07692307692307693,"set":0.07692307692307693,"to":0.07692307692307693,"org":0.07692307692307693,"apache":0.07692307692307693,"zookeeper":0.07692307692307693,"metrics":0.07692307692307693,"prometheus":0.07692307692307693,"prometheusmetricsprovider":0.07692307692307693,"enable":0.07692307692307693,"io":0.07692307692307693,"exporter":0.07692307692307693},"35":{"0":0.047619047619047616,"3":0.047619047619047616,"8":0.047619047619047616,"metricsprovider":0.047619047619047616,"httphost":0.047619047619047616,"new":0.047619047619047616,"in":0.047619047619047616,"prometheus":0.047619047619047616,"io":0.047619047619047616,"exporter":0.047619047619047616,"will":0.047619047619047616,"start":0.047619047619047616,"a":0.047619047619047616,"jetty":0.047619047619047616,"server":0.047619047619047616,"and":0.047619047619047616,"listen":0.047619047619047616,"this":0.047619047619047616,"address":0.047619047619047616,"default":0.047619047619047616,"is":0.047619047619047616},"36":{"7000":0.04,"metricsprovider":0.04,"httpport":0.04,"prometheus":0.04,"io":0.04,"exporter":0.04,"will":0.04,"start":0.04,"a":0.04,"jetty":0.04,"server":0.04,"and":0.04,"bind":0.04,"to":0.04,"this":0.04,"port":0.04,"it":0.04,"defaults":0.04,"end":0.04,"point":0.04,"be":0.04,"http":0.04,"hostname":0.04,"httport":0.04,"metrics":0.04},"37":{"metricsprovider":0.05263157894736842,"exportjvminfo":0.05263157894736842,"if":0.05263157894736842,"this":0.05263157894736842,"property":0.05263157894736842,"is":0.05263157894736842,"set":0.05263157894736842,"to":0.05263157894736842,"true":0.05263157894736842,"prometheus":0.05263157894736842,"io":0.05263157894736842,"will":0.05263157894736842,"export":0.05263157894736842,"useful":0.05263157894736842,"metrics":0.05263157894736842,"about":0.05263157894736842,"the":0.05263157894736842,"jvm":0.05263157894736842,"default":0.05263157894736842},"38":{"1":0.03571428571428571,"3":0.03571428571428571,"7":0.03571428571428571,"metricsprovider":0.03571428571428571,"numworkerthreads":0.03571428571428571,"new":0.03571428571428571,"in":0.03571428571428571,"number":0.03571428571428571,"of":0.03571428571428571,"worker":0.03571428571428571,"threads":0.03571428571428571,"for":0.03571428571428571,"reporting":0.03571428571428571,"prometheus":0.03571428571428571,"summary":0.03571428571428571,"metrics":0.03571428571428571,"default":0.03571428571428571,"value":0.03571428571428571,"is":0.03571428571428571,"if":0.03571428571428571,"the":0.03571428571428571,"less":0.03571428571428571,"than":0.03571428571428571,"main":0.03571428571428571,"thread":0.03571428571428571,"will":0.03571428571428571,"be":0.03571428571428571,"used":0.03571428571428571},"39":{"1":0.047619047619047616,"3":0.047619047619047616,"7":0.047619047619047616,"10000":0.047619047619047616,"metricsprovider":0.047619047619047616,"maxqueuesize":0.047619047619047616,"new":0.047619047619047616,"in":0.047619047619047616,"the":0.047619047619047616,"max":0.047619047619047616,"queue":0.047619047619047616,"size":0.047619047619047616,"for":0.047619047619047616,"prometheus":0.047619047619047616,"summary":0.047619047619047616,"metrics":0.047619047619047616,"reporting":0.047619047619047616,"task":0.047619047619047616,"default":0.047619047619047616,"value":0.047619047619047616,"is":0.047619047619047616},"40":{"1":0.05263157894736842,"3":0.05263157894736842,"7":0.05263157894736842,"metricsprovider":0.05263157894736842,"workershutdowntimeoutms":0.05263157894736842,"new":0.05263157894736842,"in":0.05263157894736842,"the":0.05263157894736842,"timeout":0.05263157894736842,"ms":0.05263157894736842,"for":0.05263157894736842,"prometheus":0.05263157894736842,"worker":0.05263157894736842,"threads":0.05263157894736842,"shutdown":0.05263157894736842,"default":0.05263157894736842,"value":0.05263157894736842,"is":0.05263157894736842,"1000ms":0.05263157894736842},"41":{"best":0.5,"practices":0.5},"42":{"recommended":0.045454545454545456,"best":0.045454545454545456,"practices":0.045454545454545456,"and":0.045454545454545456,"common":0.045454545454545456,"pitfalls":0.045454545454545456,"to":0.045454545454545456,"avoid":0.045454545454545456,"when":0.045454545454545456,"deploying":0.045454545454545456,"configuring":0.045454545454545456,"zookeeper":0.045454545454545456,"covering":0.045454545454545456,"server":0.045454545454545456,"lists":0.045454545454545456,"transaction":0.045454545454545456,"log":0.045454545454545456,"placement":0.045454545454545456,"java":0.045454545454545456,"heap":0.045454545454545456,"sizing":0.045454545454545456,"more":0.045454545454545456},"43":{"things":0.3333333333333333,"to":0.3333333333333333,"avoid":0.3333333333333333},"44":{"best":0.5,"practices":0.5},"45":{"here":0.08333333333333333,"are":0.08333333333333333,"some":0.08333333333333333,"common":0.08333333333333333,"problems":0.08333333333333333,"you":0.08333333333333333,"can":0.08333333333333333,"avoid":0.08333333333333333,"by":0.08333333333333333,"configuring":0.08333333333333333,"zookeeper":0.08333333333333333,"correctly":0.08333333333333333},"46":{"inconsistent":0.022727272727272728,"lists":0.022727272727272728,"of":0.022727272727272728,"servers":0.022727272727272728,"the":0.022727272727272728,"list":0.022727272727272728,"zookeeper":0.022727272727272728,"used":0.022727272727272728,"by":0.022727272727272728,"clients":0.022727272727272728,"must":0.022727272727272728,"match":0.022727272727272728,"that":0.022727272727272728,"each":0.022727272727272728,"server":0.022727272727272728,"has":0.022727272727272728,"things":0.022727272727272728,"work":0.022727272727272728,"okay":0.022727272727272728,"if":0.022727272727272728,"client":0.022727272727272728,"is":0.022727272727272728,"a":0.022727272727272728,"subset":0.022727272727272728,"real":0.022727272727272728,"but":0.022727272727272728,"will":0.022727272727272728,"really":0.022727272727272728,"act":0.022727272727272728,"strange":0.022727272727272728,"have":0.022727272727272728,"are":0.022727272727272728,"in":0.022727272727272728,"different":0.022727272727272728,"clusters":0.022727272727272728,"also":0.022727272727272728,"configuration":0.022727272727272728,"file":0.022727272727272728,"should":0.022727272727272728,"be":0.022727272727272728,"consistent":0.022727272727272728,"with":0.022727272727272728,"one":0.022727272727272728,"another":0.022727272727272728},"47":{"incorrect":0.017241379310344827,"placement":0.017241379310344827,"of":0.017241379310344827,"transaction":0.017241379310344827,"log":0.017241379310344827,"the":0.017241379310344827,"most":0.017241379310344827,"performance":0.017241379310344827,"critical":0.017241379310344827,"part":0.017241379310344827,"zookeeper":0.017241379310344827,"is":0.017241379310344827,"syncs":0.017241379310344827,"transactions":0.017241379310344827,"to":0.017241379310344827,"media":0.017241379310344827,"before":0.017241379310344827,"it":0.017241379310344827,"returns":0.017241379310344827,"a":0.017241379310344827,"response":0.017241379310344827,"dedicated":0.017241379310344827,"device":0.017241379310344827,"key":0.017241379310344827,"consistent":0.017241379310344827,"good":0.017241379310344827,"putting":0.017241379310344827,"on":0.017241379310344827,"busy":0.017241379310344827,"will":0.017241379310344827,"adversely":0.017241379310344827,"affect":0.017241379310344827,"if":0.017241379310344827,"you":0.017241379310344827,"only":0.017241379310344827,"have":0.017241379310344827,"one":0.017241379310344827,"storage":0.017241379310344827,"increase":0.017241379310344827,"snapcount":0.017241379310344827,"so":0.017241379310344827,"that":0.017241379310344827,"snapshot":0.017241379310344827,"files":0.017241379310344827,"are":0.017241379310344827,"generated":0.017241379310344827,"less":0.017241379310344827,"often":0.017241379310344827,"does":0.017241379310344827,"not":0.017241379310344827,"eliminate":0.017241379310344827,"problem":0.017241379310344827,"but":0.017241379310344827,"makes":0.017241379310344827,"more":0.017241379310344827,"resources":0.017241379310344827,"available":0.017241379310344827,"for":0.017241379310344827},"48":{"incorrect":0.011111111111111112,"java":0.011111111111111112,"heap":0.011111111111111112,"size":0.011111111111111112,"you":0.011111111111111112,"should":0.011111111111111112,"take":0.011111111111111112,"special":0.011111111111111112,"care":0.011111111111111112,"to":0.011111111111111112,"set":0.011111111111111112,"your":0.011111111111111112,"max":0.011111111111111112,"correctly":0.011111111111111112,"in":0.011111111111111112,"particular":0.011111111111111112,"not":0.011111111111111112,"create":0.011111111111111112,"a":0.011111111111111112,"situation":0.011111111111111112,"which":0.011111111111111112,"zookeeper":0.011111111111111112,"swaps":0.011111111111111112,"disk":0.011111111111111112,"the":0.011111111111111112,"is":0.011111111111111112,"death":0.011111111111111112,"everything":0.011111111111111112,"ordered":0.011111111111111112,"so":0.011111111111111112,"if":0.011111111111111112,"processing":0.011111111111111112,"one":0.011111111111111112,"request":0.011111111111111112,"all":0.011111111111111112,"other":0.011111111111111112,"queued":0.011111111111111112,"requests":0.011111111111111112,"will":0.011111111111111112,"probably":0.011111111111111112,"do":0.011111111111111112,"same":0.011111111111111112,"don't":0.011111111111111112,"swap":0.011111111111111112,"be":0.011111111111111112,"conservative":0.011111111111111112,"estimates":0.011111111111111112,"have":0.011111111111111112,"4g":0.011111111111111112,"of":0.011111111111111112,"ram":0.011111111111111112,"6g":0.011111111111111112,"or":0.011111111111111112,"even":0.011111111111111112,"for":0.011111111111111112,"example":0.011111111111111112,"it":0.011111111111111112,"more":0.011111111111111112,"likely":0.011111111111111112,"would":0.011111111111111112,"use":0.011111111111111112,"3g":0.011111111111111112,"machine":0.011111111111111112,"as":0.011111111111111112,"operating":0.011111111111111112,"system":0.011111111111111112,"and":0.011111111111111112,"cache":0.011111111111111112,"also":0.011111111111111112,"need":0.011111111111111112,"memory":0.011111111111111112,"best":0.011111111111111112,"only":0.011111111111111112,"recommend":0.011111111111111112,"practice":0.011111111111111112,"estimating":0.011111111111111112,"needs":0.011111111111111112,"run":0.011111111111111112,"load":0.011111111111111112,"tests":0.011111111111111112,"then":0.011111111111111112,"make":0.011111111111111112,"sure":0.011111111111111112,"are":0.011111111111111112,"well":0.011111111111111112,"below":0.011111111111111112,"usage":0.011111111111111112,"limit":0.011111111111111112,"that":0.011111111111111112,"cause":0.011111111111111112},"49":{"publicly":0.05,"accessible":0.05,"deployment":0.05,"a":0.05,"zookeeper":0.05,"ensemble":0.05,"is":0.05,"expected":0.05,"to":0.05,"operate":0.05,"in":0.05,"trusted":0.05,"computing":0.05,"environment":0.05,"it":0.05,"thus":0.05,"recommended":0.05,"deploying":0.05,"behind":0.05,"firewall":0.05},"50":{"for":0.08333333333333333,"best":0.08333333333333333,"results":0.08333333333333333,"take":0.08333333333333333,"note":0.08333333333333333,"of":0.08333333333333333,"the":0.08333333333333333,"following":0.08333333333333333,"list":0.08333333333333333,"good":0.08333333333333333,"zookeeper":0.08333333333333333,"practices":0.08333333333333333},"51":{"for":0.04,"multi-tenant":0.04,"installations":0.04,"see":0.04,"the":0.04,"section":0.04,"detailing":0.04,"zookeeper":0.04,"chroot":0.04,"support":0.04,"this":0.04,"can":0.04,"be":0.04,"very":0.04,"useful":0.04,"when":0.04,"deploying":0.04,"many":0.04,"applications":0.04,"services":0.04,"interfacing":0.04,"to":0.04,"a":0.04,"single":0.04,"cluster":0.04},"52":{"commands":1},"53":{"reference":0.043478260869565216,"for":0.043478260869565216,"zookeeper's":0.043478260869565216,"built-in":0.043478260869565216,"commands":0.043478260869565216,"the":0.043478260869565216,"four-letter":0.043478260869565216,"words":0.043478260869565216,"issued":0.043478260869565216,"via":0.043478260869565216,"telnet":0.043478260869565216,"or":0.043478260869565216,"nc":0.043478260869565216,"and":0.043478260869565216,"http-based":0.043478260869565216,"adminserver":0.043478260869565216,"interface":0.043478260869565216,"with":0.043478260869565216,"its":0.043478260869565216,"endpoints":0.043478260869565216,"ssl":0.043478260869565216,"tls":0.043478260869565216,"configuration":0.043478260869565216},"54":{"the":0.25,"four":0.25,"letter":0.25,"words":0.25},"55":{"the":0.5,"adminserver":0.5},"56":{"configuring":0.2,"adminserver":0.2,"for":0.2,"ssl":0.2,"tls":0.2},"57":{"zookeeper":0.041666666666666664,"responds":0.041666666666666664,"to":0.041666666666666664,"a":0.041666666666666664,"small":0.041666666666666664,"set":0.041666666666666664,"of":0.041666666666666664,"commands":0.041666666666666664,"each":0.041666666666666664,"command":0.041666666666666664,"is":0.041666666666666664,"composed":0.041666666666666664,"four":0.041666666666666664,"letters":0.041666666666666664,"you":0.041666666666666664,"issue":0.041666666666666664,"the":0.041666666666666664,"via":0.041666666666666664,"telnet":0.041666666666666664,"or":0.041666666666666664,"nc":0.041666666666666664,"at":0.041666666666666664,"client":0.041666666666666664,"port":0.041666666666666664},"58":{"three":0.04,"of":0.04,"the":0.04,"more":0.04,"interesting":0.04,"commands":0.04,"stat":0.04,"gives":0.04,"some":0.04,"general":0.04,"information":0.04,"about":0.04,"server":0.04,"and":0.04,"connected":0.04,"clients":0.04,"while":0.04,"srvr":0.04,"cons":0.04,"give":0.04,"extended":0.04,"details":0.04,"on":0.04,"connections":0.04,"respectively":0.04},"59":{"3":0.030303030303030304,"5":0.030303030303030304,"new":0.030303030303030304,"in":0.030303030303030304,"four":0.030303030303030304,"letter":0.030303030303030304,"words":0.030303030303030304,"need":0.030303030303030304,"to":0.030303030303030304,"be":0.030303030303030304,"explicitly":0.030303030303030304,"white":0.030303030303030304,"listed":0.030303030303030304,"before":0.030303030303030304,"using":0.030303030303030304,"please":0.030303030303030304,"refer":0.030303030303030304,"4lw":0.030303030303030304,"commands":0.030303030303030304,"whitelist":0.030303030303030304,"described":0.030303030303030304,"cluster":0.030303030303030304,"configuration":0.030303030303030304,"section":0.030303030303030304,"for":0.030303030303030304,"details":0.030303030303030304,"moving":0.030303030303030304,"forward":0.030303030303030304,"will":0.030303030303030304,"deprecated":0.030303030303030304,"use":0.030303030303030304,"adminserver":0.030303030303030304,"instead":0.030303030303030304},"60":{"0":0.1,"3":0.1,"conf":0.1,"new":0.1,"in":0.1,"print":0.1,"details":0.1,"about":0.1,"serving":0.1,"configuration":0.1},"61":{"0":0.03225806451612903,"3":0.03225806451612903,"cons":0.03225806451612903,"new":0.03225806451612903,"in":0.03225806451612903,"list":0.03225806451612903,"full":0.03225806451612903,"connection":0.03225806451612903,"session":0.03225806451612903,"details":0.03225806451612903,"for":0.03225806451612903,"all":0.03225806451612903,"clients":0.03225806451612903,"connected":0.03225806451612903,"to":0.03225806451612903,"this":0.03225806451612903,"server":0.03225806451612903,"includes":0.03225806451612903,"information":0.03225806451612903,"on":0.03225806451612903,"numbers":0.03225806451612903,"of":0.03225806451612903,"packets":0.03225806451612903,"received":0.03225806451612903,"sent":0.03225806451612903,"id":0.03225806451612903,"operation":0.03225806451612903,"latencies":0.03225806451612903,"last":0.03225806451612903,"performed":0.03225806451612903,"etc":0.03225806451612903},"62":{"0":0.08333333333333333,"3":0.08333333333333333,"crst":0.08333333333333333,"new":0.08333333333333333,"in":0.08333333333333333,"reset":0.08333333333333333,"connection":0.08333333333333333,"session":0.08333333333333333,"statistics":0.08333333333333333,"for":0.08333333333333333,"all":0.08333333333333333,"connections":0.08333333333333333},"63":{"dump":0.125,"lists":0.125,"the":0.125,"outstanding":0.125,"sessions":0.125,"and":0.125,"ephemeral":0.125,"nodes":0.125},"64":{"envi":0.16666666666666666,"print":0.16666666666666666,"details":0.16666666666666666,"about":0.16666666666666666,"serving":0.16666666666666666,"environment":0.16666666666666666},"65":{"ruok":0.018867924528301886,"tests":0.018867924528301886,"if":0.018867924528301886,"the":0.018867924528301886,"server":0.018867924528301886,"is":0.018867924528301886,"running":0.018867924528301886,"in":0.018867924528301886,"a":0.018867924528301886,"non-error":0.018867924528301886,"state":0.018867924528301886,"when":0.018867924528301886,"whitelist":0.018867924528301886,"enables":0.018867924528301886,"will":0.018867924528301886,"respond":0.018867924528301886,"with":0.018867924528301886,"imok":0.018867924528301886,"it":0.018867924528301886,"otherwise":0.018867924528301886,"not":0.018867924528301886,"at":0.018867924528301886,"all":0.018867924528301886,"disabled":0.018867924528301886,"responds":0.018867924528301886,"executed":0.018867924528301886,"because":0.018867924528301886,"response":0.018867924528301886,"of":0.018867924528301886,"does":0.018867924528301886,"necessarily":0.018867924528301886,"indicate":0.018867924528301886,"that":0.018867924528301886,"has":0.018867924528301886,"joined":0.018867924528301886,"quorum":0.018867924528301886,"just":0.018867924528301886,"process":0.018867924528301886,"active":0.018867924528301886,"and":0.018867924528301886,"bound":0.018867924528301886,"to":0.018867924528301886,"specified":0.018867924528301886,"client":0.018867924528301886,"port":0.018867924528301886,"use":0.018867924528301886,"stat":0.018867924528301886,"for":0.018867924528301886,"details":0.018867924528301886,"on":0.018867924528301886,"wrt":0.018867924528301886,"connection":0.018867924528301886,"information":0.018867924528301886},"66":{"srst":0.25,"reset":0.25,"server":0.25,"statistics":0.25},"67":{"0":0.09090909090909091,"3":0.09090909090909091,"srvr":0.09090909090909091,"new":0.09090909090909091,"in":0.09090909090909091,"lists":0.09090909090909091,"full":0.09090909090909091,"details":0.09090909090909091,"for":0.09090909090909091,"the":0.09090909090909091,"server":0.09090909090909091},"68":{"stat":0.1,"lists":0.1,"brief":0.1,"details":0.1,"for":0.1,"the":0.1,"server":0.1,"and":0.1,"connected":0.1,"clients":0.1},"69":{"0":0.07692307692307693,"3":0.07692307692307693,"wchs":0.07692307692307693,"new":0.07692307692307693,"in":0.07692307692307693,"lists":0.07692307692307693,"brief":0.07692307692307693,"information":0.07692307692307693,"on":0.07692307692307693,"watches":0.07692307692307693,"for":0.07692307692307693,"the":0.07692307692307693,"server":0.07692307692307693},"70":{"0":0.02631578947368421,"3":0.02631578947368421,"wchc":0.02631578947368421,"new":0.02631578947368421,"in":0.02631578947368421,"lists":0.02631578947368421,"detailed":0.02631578947368421,"information":0.02631578947368421,"on":0.02631578947368421,"watches":0.02631578947368421,"for":0.02631578947368421,"the":0.02631578947368421,"server":0.02631578947368421,"by":0.02631578947368421,"session":0.02631578947368421,"this":0.02631578947368421,"outputs":0.02631578947368421,"a":0.02631578947368421,"list":0.02631578947368421,"of":0.02631578947368421,"sessions":0.02631578947368421,"connections":0.02631578947368421,"with":0.02631578947368421,"associated":0.02631578947368421,"paths":0.02631578947368421,"note":0.02631578947368421,"depending":0.02631578947368421,"number":0.02631578947368421,"operation":0.02631578947368421,"may":0.02631578947368421,"be":0.02631578947368421,"expensive":0.02631578947368421,"ie":0.02631578947368421,"impact":0.02631578947368421,"performance":0.02631578947368421,"use":0.02631578947368421,"it":0.02631578947368421,"carefully":0.02631578947368421},"71":{"1":0.0625,"3":0.0625,"5":0.0625,"dirs":0.0625,"new":0.0625,"in":0.0625,"shows":0.0625,"the":0.0625,"total":0.0625,"size":0.0625,"of":0.0625,"snapshot":0.0625,"and":0.0625,"log":0.0625,"files":0.0625,"bytes":0.0625},"72":{"0":0.02631578947368421,"3":0.02631578947368421,"wchp":0.02631578947368421,"new":0.02631578947368421,"in":0.02631578947368421,"lists":0.02631578947368421,"detailed":0.02631578947368421,"information":0.02631578947368421,"on":0.02631578947368421,"watches":0.02631578947368421,"for":0.02631578947368421,"the":0.02631578947368421,"server":0.02631578947368421,"by":0.02631578947368421,"path":0.02631578947368421,"this":0.02631578947368421,"outputs":0.02631578947368421,"a":0.02631578947368421,"list":0.02631578947368421,"of":0.02631578947368421,"paths":0.02631578947368421,"znodes":0.02631578947368421,"with":0.02631578947368421,"associated":0.02631578947368421,"sessions":0.02631578947368421,"note":0.02631578947368421,"depending":0.02631578947368421,"number":0.02631578947368421,"operation":0.02631578947368421,"may":0.02631578947368421,"be":0.02631578947368421,"expensive":0.02631578947368421,"ie":0.02631578947368421,"impact":0.02631578947368421,"performance":0.02631578947368421,"use":0.02631578947368421,"it":0.02631578947368421,"carefully":0.02631578947368421},"73":{"0":0.05,"3":0.05,"4":0.05,"mntr":0.05,"new":0.05,"in":0.05,"outputs":0.05,"a":0.05,"list":0.05,"of":0.05,"variables":0.05,"that":0.05,"could":0.05,"be":0.05,"used":0.05,"for":0.05,"monitoring":0.05,"the":0.05,"health":0.05,"cluster":0.05},"74":{"the":0.027777777777777776,"output":0.027777777777777776,"is":0.027777777777777776,"compatible":0.027777777777777776,"with":0.027777777777777776,"java":0.027777777777777776,"properties":0.027777777777777776,"format":0.027777777777777776,"and":0.027777777777777776,"content":0.027777777777777776,"may":0.027777777777777776,"change":0.027777777777777776,"over":0.027777777777777776,"time":0.027777777777777776,"new":0.027777777777777776,"keys":0.027777777777777776,"added":0.027777777777777776,"your":0.027777777777777776,"scripts":0.027777777777777776,"should":0.027777777777777776,"expect":0.027777777777777776,"changes":0.027777777777777776,"attention":0.027777777777777776,"some":0.027777777777777776,"of":0.027777777777777776,"are":0.027777777777777776,"platform":0.027777777777777776,"specific":0.027777777777777776,"only":0.027777777777777776,"exported":0.027777777777777776,"by":0.027777777777777776,"leader":0.027777777777777776,"contains":0.027777777777777776,"multiple":0.027777777777777776,"lines":0.027777777777777776,"following":0.027777777777777776},"75":{"0":0.047619047619047616,"3":0.047619047619047616,"4":0.047619047619047616,"isro":0.047619047619047616,"new":0.047619047619047616,"in":0.047619047619047616,"tests":0.047619047619047616,"if":0.047619047619047616,"server":0.047619047619047616,"is":0.047619047619047616,"running":0.047619047619047616,"read-only":0.047619047619047616,"mode":0.047619047619047616,"the":0.047619047619047616,"will":0.047619047619047616,"respond":0.047619047619047616,"with":0.047619047619047616,"ro":0.047619047619047616,"or":0.047619047619047616,"rw":0.047619047619047616,"not":0.047619047619047616},"76":{"0":0.0625,"3":0.0625,"6":0.0625,"hash":0.0625,"new":0.0625,"in":0.0625,"return":0.0625,"the":0.0625,"latest":0.0625,"history":0.0625,"of":0.0625,"tree":0.0625,"digest":0.0625,"associated":0.0625,"with":0.0625,"zxid":0.0625},"77":{"gtmk":0.043478260869565216,"gets":0.043478260869565216,"the":0.043478260869565216,"current":0.043478260869565216,"trace":0.043478260869565216,"mask":0.043478260869565216,"as":0.043478260869565216,"a":0.043478260869565216,"64-bit":0.043478260869565216,"signed":0.043478260869565216,"long":0.043478260869565216,"value":0.043478260869565216,"in":0.043478260869565216,"decimal":0.043478260869565216,"format":0.043478260869565216,"see":0.043478260869565216,"stmk":0.043478260869565216,"for":0.043478260869565216,"an":0.043478260869565216,"explanation":0.043478260869565216,"of":0.043478260869565216,"possible":0.043478260869565216,"values":0.043478260869565216},"78":{"64":0.02702702702702703,"stmk":0.02702702702702703,"sets":0.02702702702702703,"the":0.02702702702702703,"current":0.02702702702702703,"trace":0.02702702702702703,"mask":0.02702702702702703,"is":0.02702702702702703,"bits":0.02702702702702703,"where":0.02702702702702703,"each":0.02702702702702703,"bit":0.02702702702702703,"enables":0.02702702702702703,"or":0.02702702702702703,"disables":0.02702702702702703,"a":0.02702702702702703,"specific":0.02702702702702703,"category":0.02702702702702703,"of":0.02702702702702703,"logging":0.02702702702702703,"on":0.02702702702702703,"server":0.02702702702702703,"logback":0.02702702702702703,"must":0.02702702702702703,"be":0.02702702702702703,"configured":0.02702702702702703,"to":0.02702702702702703,"enable":0.02702702702702703,"level":0.02702702702702703,"first":0.02702702702702703,"in":0.02702702702702703,"order":0.02702702702702703,"see":0.02702702702702703,"messages":0.02702702702702703,"correspond":0.02702702702702703,"following":0.02702702702702703,"categories":0.02702702702702703},"79":{"trace":0.25,"mask":0.25,"bit":0.25,"values":0.25},"80":{"0b0000000000":1},"81":{"unused":0.2,"reserved":0.2,"for":0.2,"future":0.2,"use":0.2},"82":{"0b0000000010":1},"83":{"logs":0.2,"client":0.2,"requests":0.2,"excluding":0.2,"ping":0.2},"84":{"0b0000000100":1},"85":{"unused":0.2,"reserved":0.2,"for":0.2,"future":0.2,"use":0.2},"86":{"0b0000001000":1},"87":{"logs":0.25,"client":0.25,"ping":0.25,"requests":0.25},"88":{"0b0000010000":1},"89":{"logs":0.07142857142857142,"packets":0.07142857142857142,"received":0.07142857142857142,"from":0.07142857142857142,"the":0.07142857142857142,"quorum":0.07142857142857142,"peer":0.07142857142857142,"that":0.07142857142857142,"is":0.07142857142857142,"current":0.07142857142857142,"leader":0.07142857142857142,"excluding":0.07142857142857142,"ping":0.07142857142857142,"requests":0.07142857142857142},"90":{"0b0000100000":1},"91":{"logs":0.125,"addition":0.125,"removal":0.125,"and":0.125,"validation":0.125,"of":0.125,"client":0.125,"sessions":0.125},"92":{"0b0001000000":1},"93":{"logs":0.125,"delivery":0.125,"of":0.125,"watch":0.125,"events":0.125,"to":0.125,"client":0.125,"sessions":0.125},"94":{"0b0010000000":1},"95":{"logs":0.08333333333333333,"ping":0.08333333333333333,"packets":0.08333333333333333,"received":0.08333333333333333,"from":0.08333333333333333,"the":0.08333333333333333,"quorum":0.08333333333333333,"peer":0.08333333333333333,"that":0.08333333333333333,"is":0.08333333333333333,"current":0.08333333333333333,"leader":0.08333333333333333},"96":{"0b0100000000":1},"97":{"unused":0.2,"reserved":0.2,"for":0.2,"future":0.2,"use":0.2},"98":{"0b1000000000":1},"99":{"unused":0.2,"reserved":0.2,"for":0.2,"future":0.2,"use":0.2},"100":{"all":0.012345679012345678,"remaining":0.012345679012345678,"bits":0.012345679012345678,"in":0.012345679012345678,"the":0.012345679012345678,"64-bit":0.012345679012345678,"value":0.012345679012345678,"are":0.012345679012345678,"unused":0.012345679012345678,"and":0.012345679012345678,"reserved":0.012345679012345678,"for":0.012345679012345678,"future":0.012345679012345678,"use":0.012345679012345678,"multiple":0.012345679012345678,"trace":0.012345679012345678,"logging":0.012345679012345678,"categories":0.012345679012345678,"specified":0.012345679012345678,"by":0.012345679012345678,"calculating":0.012345679012345678,"bitwise":0.012345679012345678,"or":0.012345679012345678,"of":0.012345679012345678,"documented":0.012345679012345678,"values":0.012345679012345678,"default":0.012345679012345678,"mask":0.012345679012345678,"is":0.012345679012345678,"0b0100110010":0.012345679012345678,"thus":0.012345679012345678,"includes":0.012345679012345678,"client":0.012345679012345678,"requests":0.012345679012345678,"packets":0.012345679012345678,"received":0.012345679012345678,"from":0.012345679012345678,"leader":0.012345679012345678,"sessions":0.012345679012345678,"to":0.012345679012345678,"set":0.012345679012345678,"a":0.012345679012345678,"different":0.012345679012345678,"send":0.012345679012345678,"request":0.012345679012345678,"containing":0.012345679012345678,"stmk":0.012345679012345678,"four-letter":0.012345679012345678,"word":0.012345679012345678,"followed":0.012345679012345678,"represented":0.012345679012345678,"as":0.012345679012345678,"signed":0.012345679012345678,"long":0.012345679012345678,"this":0.012345679012345678,"example":0.012345679012345678,"uses":0.012345679012345678,"perl":0.012345679012345678,"pack":0.012345679012345678,"function":0.012345679012345678,"construct":0.012345679012345678,"that":0.012345679012345678,"enables":0.012345679012345678,"described":0.012345679012345678,"above":0.012345679012345678,"convert":0.012345679012345678,"it":0.012345679012345678,"with":0.012345679012345678,"big-endian":0.012345679012345678,"byte":0.012345679012345678,"order":0.012345679012345678,"result":0.012345679012345678,"appended":0.012345679012345678,"sent":0.012345679012345678,"server":0.012345679012345678,"using":0.012345679012345678,"netcat":0.012345679012345678,"responds":0.012345679012345678,"new":0.012345679012345678,"decimal":0.012345679012345678,"format":0.012345679012345678},"101":{"here's":0.14285714285714285,"an":0.14285714285714285,"example":0.14285714285714285,"of":0.14285714285714285,"the":0.14285714285714285,"ruok":0.14285714285714285,"command":0.14285714285714285},"102":{"0":0.014084507042253521,"3":0.014084507042253521,"5":0.014084507042253521,"8080":0.014084507042253521,"new":0.014084507042253521,"in":0.014084507042253521,"the":0.014084507042253521,"adminserver":0.014084507042253521,"is":0.014084507042253521,"an":0.014084507042253521,"embedded":0.014084507042253521,"jetty":0.014084507042253521,"server":0.014084507042253521,"that":0.014084507042253521,"provides":0.014084507042253521,"http":0.014084507042253521,"interface":0.014084507042253521,"to":0.014084507042253521,"four-letter":0.014084507042253521,"word":0.014084507042253521,"commands":0.014084507042253521,"by":0.014084507042253521,"default":0.014084507042253521,"started":0.014084507042253521,"on":0.014084507042253521,"port":0.014084507042253521,"and":0.014084507042253521,"are":0.014084507042253521,"issued":0.014084507042253521,"going":0.014084507042253521,"url":0.014084507042253521,"command":0.014084507042253521,"name":0.014084507042253521,"e":0.014084507042253521,"g":0.014084507042253521,"localhost":0.014084507042253521,"stat":0.014084507042253521,"response":0.014084507042253521,"returned":0.014084507042253521,"as":0.014084507042253521,"json":0.014084507042253521,"unlike":0.014084507042253521,"original":0.014084507042253521,"protocol":0.014084507042253521,"not":0.014084507042253521,"restricted":0.014084507042253521,"names":0.014084507042253521,"can":0.014084507042253521,"have":0.014084507042253521,"multiple":0.014084507042253521,"for":0.014084507042253521,"instance":0.014084507042253521,"stmk":0.014084507042253521,"also":0.014084507042253521,"be":0.014084507042253521,"referred":0.014084507042253521,"set_trace_mask":0.014084507042253521,"view":0.014084507042253521,"a":0.014084507042253521,"list":0.014084507042253521,"of":0.014084507042253521,"all":0.014084507042253521,"available":0.014084507042253521,"point":0.014084507042253521,"browser":0.014084507042253521,"see":0.014084507042253521,"configuration":0.014084507042253521,"options":0.014084507042253521,"how":0.014084507042253521,"change":0.014084507042253521,"urls":0.014084507042253521},"103":{"the":0.09090909090909091,"adminserver":0.09090909090909091,"is":0.09090909090909091,"enabled":0.09090909090909091,"by":0.09090909090909091,"default":0.09090909090909091,"but":0.09090909090909091,"can":0.09090909090909091,"be":0.09090909090909091,"disabled":0.09090909090909091,"either":0.09090909090909091},"104":{"setting":0.1111111111111111,"the":0.1111111111111111,"zookeeper":0.1111111111111111,"admin":0.1111111111111111,"enableserver":0.1111111111111111,"system":0.1111111111111111,"property":0.1111111111111111,"to":0.1111111111111111,"false":0.1111111111111111},"105":{"removing":0.058823529411764705,"jetty":0.058823529411764705,"from":0.058823529411764705,"the":0.058823529411764705,"classpath":0.058823529411764705,"this":0.058823529411764705,"option":0.058823529411764705,"is":0.058823529411764705,"useful":0.058823529411764705,"if":0.058823529411764705,"you":0.058823529411764705,"would":0.058823529411764705,"like":0.058823529411764705,"to":0.058823529411764705,"override":0.058823529411764705,"zookeeper's":0.058823529411764705,"dependency":0.058823529411764705},"106":{"note":0.07692307692307693,"that":0.07692307692307693,"the":0.07692307692307693,"tcp":0.07692307692307693,"four-letter":0.07692307692307693,"word":0.07692307692307693,"interface":0.07692307692307693,"is":0.07692307692307693,"still":0.07692307692307693,"available":0.07692307692307693,"if":0.07692307692307693,"adminserver":0.07692307692307693,"disabled":0.07692307692307693},"107":{"generating":0.07692307692307693,"the":0.07692307692307693,"keystore":0.07692307692307693,"jks":0.07692307692307693,"and":0.07692307692307693,"truststore":0.07692307692307693,"which":0.07692307692307693,"can":0.07692307692307693,"be":0.07692307692307693,"found":0.07692307692307693,"in":0.07692307692307693,"quorum":0.07692307692307693,"tls":0.07692307692307693},"108":{"add":0.1,"the":0.1,"following":0.1,"configuration":0.1,"settings":0.1,"to":0.1,"zoo":0.1,"cfg":0.1,"config":0.1,"file":0.1},"109":{"verify":0.1,"that":0.1,"the":0.1,"following":0.1,"entries":0.1,"in":0.1,"logs":0.1,"can":0.1,"be":0.1,"seen":0.1},"110":{"available":0.3333333333333333,"commands":0.3333333333333333,"include":0.3333333333333333},"111":{"connection_stat_reset":0.09090909090909091,"crst":0.09090909090909091,"reset":0.09090909090909091,"all":0.09090909090909091,"client":0.09090909090909091,"connection":0.09090909090909091,"statistics":0.09090909090909091,"no":0.09090909090909091,"new":0.09090909090909091,"fields":0.09090909090909091,"returned":0.09090909090909091},"112":{"configuration":0.058823529411764705,"conf":0.058823529411764705,"config":0.058823529411764705,"print":0.058823529411764705,"basic":0.058823529411764705,"details":0.058823529411764705,"about":0.058823529411764705,"serving":0.058823529411764705,"e":0.058823529411764705,"g":0.058823529411764705,"client":0.058823529411764705,"port":0.058823529411764705,"absolute":0.058823529411764705,"path":0.058823529411764705,"to":0.058823529411764705,"data":0.058823529411764705,"directory":0.058823529411764705},"113":{"connections":0.037037037037037035,"cons":0.037037037037037035,"information":0.037037037037037035,"on":0.037037037037037035,"client":0.037037037037037035,"to":0.037037037037037035,"server":0.037037037037037035,"note":0.037037037037037035,"depending":0.037037037037037035,"the":0.037037037037037035,"number":0.037037037037037035,"of":0.037037037037037035,"this":0.037037037037037035,"operation":0.037037037037037035,"may":0.037037037037037035,"be":0.037037037037037035,"expensive":0.037037037037037035,"i":0.037037037037037035,"e":0.037037037037037035,"impact":0.037037037037037035,"performance":0.037037037037037035,"returns":0.037037037037037035,"a":0.037037037037037035,"list":0.037037037037037035,"connection":0.037037037037037035,"info":0.037037037037037035,"objects":0.037037037037037035},"114":{"128":0.05263157894736842,"hash":0.05263157894736842,"txn":0.05263157894736842,"digests":0.05263157894736842,"in":0.05263157894736842,"the":0.05263157894736842,"historical":0.05263157894736842,"digest":0.05263157894736842,"list":0.05263157894736842,"one":0.05263157894736842,"is":0.05263157894736842,"recorded":0.05263157894736842,"every":0.05263157894736842,"transactions":0.05263157894736842,"returns":0.05263157894736842,"a":0.05263157894736842,"to":0.05263157894736842,"transaction":0.05263157894736842,"objects":0.05263157894736842},"115":{"dirs":0.07692307692307693,"information":0.07692307692307693,"on":0.07692307692307693,"logfile":0.07692307692307693,"directory":0.07692307692307693,"and":0.07692307692307693,"snapshot":0.07692307692307693,"size":0.07692307692307693,"in":0.07692307692307693,"bytes":0.07692307692307693,"returns":0.07692307692307693,"datadir_size":0.07692307692307693,"logdir_size":0.07692307692307693},"116":{"dump":0.034482758620689655,"information":0.034482758620689655,"on":0.034482758620689655,"session":0.034482758620689655,"expirations":0.034482758620689655,"and":0.034482758620689655,"ephemerals":0.034482758620689655,"note":0.034482758620689655,"depending":0.034482758620689655,"the":0.034482758620689655,"number":0.034482758620689655,"of":0.034482758620689655,"global":0.034482758620689655,"sessions":0.034482758620689655,"this":0.034482758620689655,"operation":0.034482758620689655,"may":0.034482758620689655,"be":0.034482758620689655,"expensive":0.034482758620689655,"i":0.034482758620689655,"e":0.034482758620689655,"impact":0.034482758620689655,"server":0.034482758620689655,"performance":0.034482758620689655,"returns":0.034482758620689655,"expiry_time_to_session_ids":0.034482758620689655,"session_id_to_ephemeral_paths":0.034482758620689655,"as":0.034482758620689655,"maps":0.034482758620689655},"117":{"environment":0.08333333333333333,"env":0.08333333333333333,"envi":0.08333333333333333,"all":0.08333333333333333,"defined":0.08333333333333333,"variables":0.08333333333333333,"returns":0.08333333333333333,"each":0.08333333333333333,"as":0.08333333333333333,"its":0.08333333333333333,"own":0.08333333333333333,"field":0.08333333333333333},"118":{"get_trace_mask":0.047619047619047616,"gtmk":0.047619047619047616,"the":0.047619047619047616,"current":0.047619047619047616,"trace":0.047619047619047616,"mask":0.047619047619047616,"read-only":0.047619047619047616,"version":0.047619047619047616,"of":0.047619047619047616,"set_trace_mask":0.047619047619047616,"see":0.047619047619047616,"description":0.047619047619047616,"four":0.047619047619047616,"letter":0.047619047619047616,"command":0.047619047619047616,"stmk":0.047619047619047616,"for":0.047619047619047616,"more":0.047619047619047616,"details":0.047619047619047616,"returns":0.047619047619047616,"tracemask":0.047619047619047616},"119":{"initial_configuration":0.07692307692307693,"icfg":0.07692307692307693,"print":0.07692307692307693,"the":0.07692307692307693,"text":0.07692307692307693,"of":0.07692307692307693,"configuration":0.07692307692307693,"file":0.07692307692307693,"used":0.07692307692307693,"to":0.07692307692307693,"start":0.07692307692307693,"peer":0.07692307692307693,"returns":0.07692307692307693},"120":{"is_read_only":0.07142857142857142,"isro":0.07142857142857142,"a":0.07142857142857142,"true":0.07142857142857142,"false":0.07142857142857142,"if":0.07142857142857142,"this":0.07142857142857142,"server":0.07142857142857142,"is":0.07142857142857142,"in":0.07142857142857142,"read-only":0.07142857142857142,"mode":0.07142857142857142,"returns":0.07142857142857142,"read_only":0.07142857142857142},"121":{"last_snapshot":0.02564102564102564,"lsnp":0.02564102564102564,"information":0.02564102564102564,"of":0.02564102564102564,"the":0.02564102564102564,"last":0.02564102564102564,"snapshot":0.02564102564102564,"that":0.02564102564102564,"zookeeper":0.02564102564102564,"server":0.02564102564102564,"has":0.02564102564102564,"finished":0.02564102564102564,"saving":0.02564102564102564,"to":0.02564102564102564,"disk":0.02564102564102564,"if":0.02564102564102564,"called":0.02564102564102564,"during":0.02564102564102564,"initial":0.02564102564102564,"time":0.02564102564102564,"period":0.02564102564102564,"between":0.02564102564102564,"starting":0.02564102564102564,"up":0.02564102564102564,"and":0.02564102564102564,"finishing":0.02564102564102564,"its":0.02564102564102564,"first":0.02564102564102564,"command":0.02564102564102564,"returns":0.02564102564102564,"read":0.02564102564102564,"when":0.02564102564102564,"zxid":0.02564102564102564,"timestamp":0.02564102564102564,"latter":0.02564102564102564,"using":0.02564102564102564,"a":0.02564102564102564,"unit":0.02564102564102564,"seconds":0.02564102564102564},"122":{"leader":0.045454545454545456,"lead":0.045454545454545456,"if":0.045454545454545456,"the":0.045454545454545456,"ensemble":0.045454545454545456,"is":0.045454545454545456,"configured":0.045454545454545456,"in":0.045454545454545456,"quorum":0.045454545454545456,"mode":0.045454545454545456,"then":0.045454545454545456,"emits":0.045454545454545456,"current":0.045454545454545456,"status":0.045454545454545456,"of":0.045454545454545456,"peer":0.045454545454545456,"and":0.045454545454545456,"location":0.045454545454545456,"returns":0.045454545454545456,"is_leader":0.045454545454545456,"leader_id":0.045454545454545456,"leader_ip":0.045454545454545456},"123":{"monitor":0.03125,"mntr":0.03125,"emits":0.03125,"a":0.03125,"wide":0.03125,"variety":0.03125,"of":0.03125,"useful":0.03125,"info":0.03125,"for":0.03125,"monitoring":0.03125,"includes":0.03125,"performance":0.03125,"stats":0.03125,"information":0.03125,"about":0.03125,"internal":0.03125,"queues":0.03125,"and":0.03125,"summaries":0.03125,"the":0.03125,"data":0.03125,"tree":0.03125,"among":0.03125,"other":0.03125,"things":0.03125,"returns":0.03125,"each":0.03125,"as":0.03125,"its":0.03125,"own":0.03125,"field":0.03125},"124":{"observer_connection_stat_reset":0.06666666666666667,"orst":0.06666666666666667,"reset":0.06666666666666667,"all":0.06666666666666667,"observer":0.06666666666666667,"connection":0.06666666666666667,"statistics":0.06666666666666667,"companion":0.06666666666666667,"command":0.06666666666666667,"to":0.06666666666666667,"observers":0.06666666666666667,"no":0.06666666666666667,"new":0.06666666666666667,"fields":0.06666666666666667,"returned":0.06666666666666667},"125":{"5":0.029411764705882353,"restore":0.029411764705882353,"rest":0.029411764705882353,"database":0.029411764705882353,"from":0.029411764705882353,"snapshot":0.029411764705882353,"input":0.029411764705882353,"stream":0.029411764705882353,"on":0.029411764705882353,"the":0.029411764705882353,"current":0.029411764705882353,"server":0.029411764705882353,"returns":0.029411764705882353,"following":0.029411764705882353,"data":0.029411764705882353,"in":0.029411764705882353,"response":0.029411764705882353,"payload":0.029411764705882353,"last_zxid":0.029411764705882353,"string":0.029411764705882353,"note":0.029411764705882353,"this":0.029411764705882353,"api":0.029411764705882353,"is":0.029411764705882353,"rate-limited":0.029411764705882353,"once":0.029411764705882353,"every":0.029411764705882353,"mins":0.029411764705882353,"by":0.029411764705882353,"default":0.029411764705882353,"to":0.029411764705882353,"protect":0.029411764705882353,"being":0.029411764705882353,"over-loaded":0.029411764705882353},"126":{"ruok":0.03225806451612903,"no-op":0.03225806451612903,"command":0.03225806451612903,"check":0.03225806451612903,"if":0.03225806451612903,"the":0.03225806451612903,"server":0.03225806451612903,"is":0.03225806451612903,"running":0.03225806451612903,"a":0.03225806451612903,"response":0.03225806451612903,"does":0.03225806451612903,"not":0.03225806451612903,"necessarily":0.03225806451612903,"indicate":0.03225806451612903,"that":0.03225806451612903,"has":0.03225806451612903,"joined":0.03225806451612903,"quorum":0.03225806451612903,"just":0.03225806451612903,"admin":0.03225806451612903,"active":0.03225806451612903,"and":0.03225806451612903,"bound":0.03225806451612903,"to":0.03225806451612903,"specified":0.03225806451612903,"port":0.03225806451612903,"no":0.03225806451612903,"new":0.03225806451612903,"fields":0.03225806451612903,"returned":0.03225806451612903},"127":{"set_trace_mask":0.038461538461538464,"stmk":0.038461538461538464,"sets":0.038461538461538464,"the":0.038461538461538464,"trace":0.038461538461538464,"mask":0.038461538461538464,"as":0.038461538461538464,"such":0.038461538461538464,"it":0.038461538461538464,"requires":0.038461538461538464,"a":0.038461538461538464,"parameter":0.038461538461538464,"write":0.038461538461538464,"version":0.038461538461538464,"of":0.038461538461538464,"get_trace_mask":0.038461538461538464,"see":0.038461538461538464,"description":0.038461538461538464,"four":0.038461538461538464,"letter":0.038461538461538464,"command":0.038461538461538464,"for":0.038461538461538464,"more":0.038461538461538464,"details":0.038461538461538464,"returns":0.038461538461538464,"tracemask":0.038461538461538464},"128":{"server_stats":0.07692307692307693,"srvr":0.07692307692307693,"server":0.07692307692307693,"information":0.07692307692307693,"returns":0.07692307692307693,"multiple":0.07692307692307693,"fields":0.07692307692307693,"giving":0.07692307692307693,"a":0.07692307692307693,"brief":0.07692307692307693,"overview":0.07692307692307693,"of":0.07692307692307693,"state":0.07692307692307693},"129":{"5":0.020833333333333332,"snapshot":0.020833333333333332,"snap":0.020833333333333332,"takes":0.020833333333333332,"a":0.020833333333333332,"of":0.020833333333333332,"the":0.020833333333333332,"current":0.020833333333333332,"server":0.020833333333333332,"in":0.020833333333333332,"datadir":0.020833333333333332,"and":0.020833333333333332,"stream":0.020833333333333332,"out":0.020833333333333332,"data":0.020833333333333332,"optional":0.020833333333333332,"query":0.020833333333333332,"parameter":0.020833333333333332,"streaming":0.020833333333333332,"boolean":0.020833333333333332,"defaults":0.020833333333333332,"to":0.020833333333333332,"true":0.020833333333333332,"if":0.020833333333333332,"is":0.020833333333333332,"not":0.020833333333333332,"present":0.020833333333333332,"returns":0.020833333333333332,"following":0.020833333333333332,"via":0.020833333333333332,"http":0.020833333333333332,"headers":0.020833333333333332,"last_zxid":0.020833333333333332,"string":0.020833333333333332,"snapshot_size":0.020833333333333332,"note":0.020833333333333332,"this":0.020833333333333332,"api":0.020833333333333332,"rate-limited":0.020833333333333332,"once":0.020833333333333332,"every":0.020833333333333332,"mins":0.020833333333333332,"by":0.020833333333333332,"default":0.020833333333333332,"protect":0.020833333333333332,"from":0.020833333333333332,"being":0.020833333333333332,"over-loaded":0.020833333333333332},"130":{"stats":0.03333333333333333,"stat":0.03333333333333333,"same":0.03333333333333333,"as":0.03333333333333333,"server_stats":0.03333333333333333,"but":0.03333333333333333,"also":0.03333333333333333,"returns":0.03333333333333333,"the":0.03333333333333333,"connections":0.03333333333333333,"field":0.03333333333333333,"see":0.03333333333333333,"for":0.03333333333333333,"details":0.03333333333333333,"note":0.03333333333333333,"depending":0.03333333333333333,"on":0.03333333333333333,"number":0.03333333333333333,"of":0.03333333333333333,"client":0.03333333333333333,"this":0.03333333333333333,"operation":0.03333333333333333,"may":0.03333333333333333,"be":0.03333333333333333,"expensive":0.03333333333333333,"i":0.03333333333333333,"e":0.03333333333333333,"impact":0.03333333333333333,"server":0.03333333333333333,"performance":0.03333333333333333},"131":{"stat_reset":0.05,"srst":0.05,"resets":0.05,"server":0.05,"statistics":0.05,"this":0.05,"is":0.05,"a":0.05,"subset":0.05,"of":0.05,"the":0.05,"information":0.05,"returned":0.05,"by":0.05,"server_stats":0.05,"and":0.05,"stats":0.05,"no":0.05,"new":0.05,"fields":0.05},"132":{"observers":0.037037037037037035,"obsr":0.037037037037037035,"information":0.037037037037037035,"on":0.037037037037037035,"observer":0.037037037037037035,"connections":0.037037037037037035,"to":0.037037037037037035,"server":0.037037037037037035,"always":0.037037037037037035,"available":0.037037037037037035,"a":0.037037037037037035,"leader":0.037037037037037035,"follower":0.037037037037037035,"if":0.037037037037037035,"its":0.037037037037037035,"acting":0.037037037037037035,"as":0.037037037037037035,"learner":0.037037037037037035,"master":0.037037037037037035,"returns":0.037037037037037035,"synced_observers":0.037037037037037035,"int":0.037037037037037035,"and":0.037037037037037035,"list":0.037037037037037035,"of":0.037037037037037035,"per-observer":0.037037037037037035,"properties":0.037037037037037035},"133":{"system_properties":0.08333333333333333,"sysp":0.08333333333333333,"all":0.08333333333333333,"defined":0.08333333333333333,"system":0.08333333333333333,"properties":0.08333333333333333,"returns":0.08333333333333333,"each":0.08333333333333333,"as":0.08333333333333333,"its":0.08333333333333333,"own":0.08333333333333333,"field":0.08333333333333333},"134":{"voting_view":0.07692307692307693,"provides":0.07692307692307693,"the":0.07692307692307693,"current":0.07692307692307693,"voting":0.07692307692307693,"members":0.07692307692307693,"in":0.07692307692307693,"ensemble":0.07692307692307693,"returns":0.07692307692307693,"current_config":0.07692307692307693,"as":0.07692307692307693,"a":0.07692307692307693,"map":0.07692307692307693},"135":{"watches":0.03571428571428571,"wchc":0.03571428571428571,"watch":0.03571428571428571,"information":0.03571428571428571,"aggregated":0.03571428571428571,"by":0.03571428571428571,"session":0.03571428571428571,"note":0.03571428571428571,"depending":0.03571428571428571,"on":0.03571428571428571,"the":0.03571428571428571,"number":0.03571428571428571,"of":0.03571428571428571,"this":0.03571428571428571,"operation":0.03571428571428571,"may":0.03571428571428571,"be":0.03571428571428571,"expensive":0.03571428571428571,"i":0.03571428571428571,"e":0.03571428571428571,"impact":0.03571428571428571,"server":0.03571428571428571,"performance":0.03571428571428571,"returns":0.03571428571428571,"session_id_to_watched_paths":0.03571428571428571,"as":0.03571428571428571,"a":0.03571428571428571,"map":0.03571428571428571},"136":{"watches_by_path":0.034482758620689655,"wchp":0.034482758620689655,"watch":0.034482758620689655,"information":0.034482758620689655,"aggregated":0.034482758620689655,"by":0.034482758620689655,"path":0.034482758620689655,"note":0.034482758620689655,"depending":0.034482758620689655,"on":0.034482758620689655,"the":0.034482758620689655,"number":0.034482758620689655,"of":0.034482758620689655,"watches":0.034482758620689655,"this":0.034482758620689655,"operation":0.034482758620689655,"may":0.034482758620689655,"be":0.034482758620689655,"expensive":0.034482758620689655,"i":0.034482758620689655,"e":0.034482758620689655,"impact":0.034482758620689655,"server":0.034482758620689655,"performance":0.034482758620689655,"returns":0.034482758620689655,"path_to_session_ids":0.034482758620689655,"as":0.034482758620689655,"a":0.034482758620689655,"map":0.034482758620689655},"137":{"watch_summary":0.1,"wchs":0.1,"summarized":0.1,"watch":0.1,"information":0.1,"returns":0.1,"num_total_watches":0.1,"num_paths":0.1,"and":0.1,"num_connections":0.1},"138":{"zabstate":0.03333333333333333,"the":0.03333333333333333,"current":0.03333333333333333,"phase":0.03333333333333333,"of":0.03333333333333333,"zab":0.03333333333333333,"protocol":0.03333333333333333,"that":0.03333333333333333,"peer":0.03333333333333333,"is":0.03333333333333333,"running":0.03333333333333333,"and":0.03333333333333333,"whether":0.03333333333333333,"it":0.03333333333333333,"a":0.03333333333333333,"voting":0.03333333333333333,"member":0.03333333333333333,"peers":0.03333333333333333,"can":0.03333333333333333,"be":0.03333333333333333,"in":0.03333333333333333,"one":0.03333333333333333,"these":0.03333333333333333,"phases":0.03333333333333333,"election":0.03333333333333333,"discovery":0.03333333333333333,"synchronization":0.03333333333333333,"broadcast":0.03333333333333333,"returns":0.03333333333333333,"fields":0.03333333333333333},"139":{"communication":0.2,"using":0.2,"the":0.2,"netty":0.2,"framework":0.2},"140":{"explains":0.041666666666666664,"how":0.041666666666666664,"to":0.041666666666666664,"configure":0.041666666666666664,"zookeeper":0.041666666666666664,"use":0.041666666666666664,"netty":0.041666666666666664,"instead":0.041666666666666664,"of":0.041666666666666664,"nio":0.041666666666666664,"for":0.041666666666666664,"client":0.041666666666666664,"server":0.041666666666666664,"communication":0.041666666666666664,"including":0.041666666666666664,"quorum":0.041666666666666664,"tls":0.041666666666666664,"setup":0.041666666666666664,"and":0.041666666666666664,"zero-downtime":0.041666666666666664,"migration":0.041666666666666664,"from":0.041666666666666664,"non-tls":0.041666666666666664,"clusters":0.041666666666666664},"141":{"quorum":0.5,"tls":0.5},"142":{"upgrading":0.14285714285714285,"existing":0.14285714285714285,"non-tls":0.14285714285714285,"cluster":0.14285714285714285,"with":0.14285714285714285,"no":0.14285714285714285,"downtime":0.14285714285714285},"143":{"netty":0.022222222222222223,"is":0.022222222222222223,"an":0.022222222222222223,"nio":0.022222222222222223,"based":0.022222222222222223,"client":0.022222222222222223,"server":0.022222222222222223,"communication":0.022222222222222223,"framework":0.022222222222222223,"it":0.022222222222222223,"simplifies":0.022222222222222223,"over":0.022222222222222223,"being":0.022222222222222223,"used":0.022222222222222223,"directly":0.022222222222222223,"many":0.022222222222222223,"of":0.022222222222222223,"the":0.022222222222222223,"complexities":0.022222222222222223,"network":0.022222222222222223,"level":0.022222222222222223,"for":0.022222222222222223,"java":0.022222222222222223,"applications":0.022222222222222223,"additionally":0.022222222222222223,"has":0.022222222222222223,"built":0.022222222222222223,"in":0.022222222222222223,"support":0.022222222222222223,"encryption":0.022222222222222223,"ssl":0.022222222222222223,"and":0.022222222222222223,"authentication":0.022222222222222223,"certificates":0.022222222222222223,"these":0.022222222222222223,"are":0.022222222222222223,"optional":0.022222222222222223,"features":0.022222222222222223,"can":0.022222222222222223,"be":0.022222222222222223,"turned":0.022222222222222223,"on":0.022222222222222223,"or":0.022222222222222223,"off":0.022222222222222223,"individually":0.022222222222222223},"144":{"3":0.03333333333333333,"5":0.03333333333333333,"in":0.03333333333333333,"versions":0.03333333333333333,"a":0.03333333333333333,"zookeeper":0.03333333333333333,"server":0.03333333333333333,"can":0.03333333333333333,"use":0.03333333333333333,"netty":0.03333333333333333,"instead":0.03333333333333333,"of":0.03333333333333333,"nio":0.03333333333333333,"default":0.03333333333333333,"option":0.03333333333333333,"by":0.03333333333333333,"setting":0.03333333333333333,"the":0.03333333333333333,"environment":0.03333333333333333,"variable":0.03333333333333333,"servercnxnfactory":0.03333333333333333,"to":0.03333333333333333,"org":0.03333333333333333,"apache":0.03333333333333333,"nettyservercnxnfactory":0.03333333333333333,"for":0.03333333333333333,"client":0.03333333333333333,"set":0.03333333333333333,"clientcnxnsocket":0.03333333333333333,"clientcnxnsocketnetty":0.03333333333333333},"145":{"3":0.25,"5":0.25,"new":0.25,"in":0.25},"146":{"based":0.041666666666666664,"on":0.041666666666666664,"the":0.041666666666666664,"netty":0.041666666666666664,"framework":0.041666666666666664,"zookeeper":0.041666666666666664,"ensembles":0.041666666666666664,"can":0.041666666666666664,"be":0.041666666666666664,"set":0.041666666666666664,"up":0.041666666666666664,"to":0.041666666666666664,"use":0.041666666666666664,"tls":0.041666666666666664,"encryption":0.041666666666666664,"in":0.041666666666666664,"their":0.041666666666666664,"communication":0.041666666666666664,"channels":0.041666666666666664,"this":0.041666666666666664,"section":0.041666666666666664,"describes":0.041666666666666664,"how":0.041666666666666664,"quorum":0.041666666666666664},"147":{"please":0.07692307692307693,"note":0.07692307692307693,"that":0.07692307692307693,"quorum":0.07692307692307693,"tls":0.07692307692307693,"encapsulates":0.07692307692307693,"securing":0.07692307692307693,"both":0.07692307692307693,"leader":0.07692307692307693,"election":0.07692307692307693,"and":0.07692307692307693,"communication":0.07692307692307693,"protocols":0.07692307692307693},"148":{"create":0.015625,"ssl":0.015625,"keystore":0.015625,"jks":0.015625,"to":0.015625,"store":0.015625,"local":0.015625,"credentials":0.015625,"one":0.015625,"should":0.015625,"be":0.015625,"created":0.015625,"for":0.015625,"each":0.015625,"zk":0.015625,"instance":0.015625,"in":0.015625,"this":0.015625,"example":0.015625,"we":0.015625,"generate":0.015625,"a":0.015625,"self-signed":0.015625,"certificate":0.015625,"and":0.015625,"it":0.015625,"together":0.015625,"with":0.015625,"the":0.015625,"private":0.015625,"key":0.015625,"is":0.015625,"suitable":0.015625,"testing":0.015625,"purposes":0.015625,"but":0.015625,"you":0.015625,"probably":0.015625,"need":0.015625,"an":0.015625,"official":0.015625,"sign":0.015625,"your":0.015625,"keys":0.015625,"production":0.015625,"environment":0.015625,"please":0.015625,"note":0.015625,"that":0.015625,"alias":0.015625,"-alias":0.015625,"distinguished":0.015625,"name":0.015625,"-dname":0.015625,"must":0.015625,"match":0.015625,"hostname":0.015625,"of":0.015625,"machine":0.015625,"associated":0.015625,"otherwise":0.015625,"verification":0.015625,"won't":0.015625,"work":0.015625},"149":{"extract":0.058823529411764705,"the":0.058823529411764705,"signed":0.058823529411764705,"public":0.058823529411764705,"key":0.058823529411764705,"certificate":0.058823529411764705,"from":0.058823529411764705,"keystore":0.058823529411764705,"this":0.058823529411764705,"step":0.058823529411764705,"might":0.058823529411764705,"only":0.058823529411764705,"be":0.058823529411764705,"necessary":0.058823529411764705,"for":0.058823529411764705,"self-signed":0.058823529411764705,"certificates":0.058823529411764705},"150":{"create":0.030303030303030304,"ssl":0.030303030303030304,"truststore":0.030303030303030304,"jks":0.030303030303030304,"containing":0.030303030303030304,"certificates":0.030303030303030304,"of":0.030303030303030304,"all":0.030303030303030304,"zookeeper":0.030303030303030304,"instances":0.030303030303030304,"the":0.030303030303030304,"same":0.030303030303030304,"storing":0.030303030303030304,"accepted":0.030303030303030304,"certs":0.030303030303030304,"should":0.030303030303030304,"be":0.030303030303030304,"shared":0.030303030303030304,"on":0.030303030303030304,"participants":0.030303030303030304,"ensemble":0.030303030303030304,"you":0.030303030303030304,"need":0.030303030303030304,"to":0.030303030303030304,"use":0.030303030303030304,"different":0.030303030303030304,"aliases":0.030303030303030304,"store":0.030303030303030304,"multiple":0.030303030303030304,"in":0.030303030303030304,"name":0.030303030303030304,"doesn't":0.030303030303030304,"matter":0.030303030303030304},"151":{"use":0.045454545454545456,"nettyservercnxnfactory":0.045454545454545456,"as":0.045454545454545456,"servercnxnfactory":0.045454545454545456,"because":0.045454545454545456,"ssl":0.045454545454545456,"is":0.045454545454545456,"not":0.045454545454545456,"supported":0.045454545454545456,"by":0.045454545454545456,"nio":0.045454545454545456,"add":0.045454545454545456,"the":0.045454545454545456,"following":0.045454545454545456,"configuration":0.045454545454545456,"settings":0.045454545454545456,"to":0.045454545454545456,"your":0.045454545454545456,"zoo":0.045454545454545456,"cfg":0.045454545454545456,"config":0.045454545454545456,"file":0.045454545454545456},"152":{"verify":0.09090909090909091,"in":0.09090909090909091,"the":0.09090909090909091,"logs":0.09090909090909091,"that":0.09090909090909091,"your":0.09090909090909091,"ensemble":0.09090909090909091,"is":0.09090909090909091,"running":0.09090909090909091,"on":0.09090909090909091,"tls":0.09090909090909091},"153":{"3":0.25,"5":0.25,"new":0.25,"in":0.25},"154":{"here":0.045454545454545456,"are":0.045454545454545456,"the":0.045454545454545456,"steps":0.045454545454545456,"needed":0.045454545454545456,"to":0.045454545454545456,"upgrade":0.045454545454545456,"an":0.045454545454545456,"already":0.045454545454545456,"running":0.045454545454545456,"zookeeper":0.045454545454545456,"ensemble":0.045454545454545456,"tls":0.045454545454545456,"without":0.045454545454545456,"downtime":0.045454545454545456,"by":0.045454545454545456,"taking":0.045454545454545456,"advantage":0.045454545454545456,"of":0.045454545454545456,"port":0.045454545454545456,"unification":0.045454545454545456,"functionality":0.045454545454545456},"155":{"create":0.06666666666666667,"the":0.06666666666666667,"necessary":0.06666666666666667,"keystores":0.06666666666666667,"and":0.06666666666666667,"truststores":0.06666666666666667,"for":0.06666666666666667,"all":0.06666666666666667,"zk":0.06666666666666667,"participants":0.06666666666666667,"as":0.06666666666666667,"described":0.06666666666666667,"in":0.06666666666666667,"previous":0.06666666666666667,"section":0.06666666666666667},"156":{"add":0.045454545454545456,"the":0.045454545454545456,"following":0.045454545454545456,"config":0.045454545454545456,"settings":0.045454545454545456,"and":0.045454545454545456,"restart":0.045454545454545456,"first":0.045454545454545456,"node":0.045454545454545456,"note":0.045454545454545456,"that":0.045454545454545456,"tls":0.045454545454545456,"is":0.045454545454545456,"not":0.045454545454545456,"yet":0.045454545454545456,"enabled":0.045454545454545456,"but":0.045454545454545456,"we":0.045454545454545456,"turn":0.045454545454545456,"on":0.045454545454545456,"port":0.045454545454545456,"unification":0.045454545454545456},"157":{"2":0.04,"repeat":0.04,"step":0.04,"on":0.04,"the":0.04,"remaining":0.04,"nodes":0.04,"verify":0.04,"that":0.04,"you":0.04,"see":0.04,"following":0.04,"entries":0.04,"in":0.04,"logs":0.04,"and":0.04,"double-check":0.04,"after":0.04,"each":0.04,"node":0.04,"restart":0.04,"quorum":0.04,"becomes":0.04,"healthy":0.04,"again":0.04},"158":{"enable":0.09090909090909091,"quorum":0.09090909090909091,"tls":0.09090909090909091,"on":0.09090909090909091,"each":0.09090909090909091,"node":0.09090909090909091,"and":0.09090909090909091,"do":0.09090909090909091,"a":0.09090909090909091,"rolling":0.09090909090909091,"restart":0.09090909090909091},"159":{"once":0.05263157894736842,"you":0.05263157894736842,"verify":0.05263157894736842,"that":0.05263157894736842,"your":0.05263157894736842,"entire":0.05263157894736842,"ensemble":0.05263157894736842,"is":0.05263157894736842,"running":0.05263157894736842,"on":0.05263157894736842,"tls":0.05263157894736842,"disable":0.05263157894736842,"port":0.05263157894736842,"unification":0.05263157894736842,"and":0.05263157894736842,"do":0.05263157894736842,"another":0.05263157894736842,"rolling":0.05263157894736842,"restart":0.05263157894736842},"160":{"configuration":0.5,"parameters":0.5},"161":{"complete":0.05,"reference":0.05,"for":0.05,"all":0.05,"zookeeper":0.05,"configuration":0.05,"parameters":0.05,"including":0.05,"minimum":0.05,"and":0.05,"advanced":0.05,"settings":0.05,"cluster":0.05,"options":0.05,"encryption":0.05,"authentication":0.05,"performance":0.05,"tuning":0.05,"the":0.05,"adminserver":0.05},"162":{"minimum":0.5,"configuration":0.5},"163":{"advanced":0.5,"configuration":0.5},"164":{"cluster":0.5,"options":0.5},"165":{"encryption":0.25,"authentication":0.25,"authorization":0.25,"options":0.25},"166":{"tls":0.3333333333333333,"cipher":0.3333333333333333,"suites":0.3333333333333333},"167":{"experimental":0.3333333333333333,"options":0.3333333333333333,"features":0.3333333333333333},"168":{"unsafe":0.5,"options":0.5},"169":{"disabling":0.25,"data":0.25,"directory":0.25,"autocreation":0.25},"170":{"enabling":0.25,"db":0.25,"existence":0.25,"validation":0.25},"171":{"performance":0.3333333333333333,"tuning":0.3333333333333333,"options":0.3333333333333333},"172":{"debug":0.3333333333333333,"observability":0.3333333333333333,"configurations":0.3333333333333333},"173":{"adminserver":0.5,"configuration":0.5},"174":{"zookeeper's":0.024390243902439025,"behavior":0.024390243902439025,"is":0.024390243902439025,"governed":0.024390243902439025,"by":0.024390243902439025,"the":0.024390243902439025,"zookeeper":0.024390243902439025,"configuration":0.024390243902439025,"file":0.024390243902439025,"this":0.024390243902439025,"designed":0.024390243902439025,"so":0.024390243902439025,"that":0.024390243902439025,"exact":0.024390243902439025,"same":0.024390243902439025,"can":0.024390243902439025,"be":0.024390243902439025,"used":0.024390243902439025,"all":0.024390243902439025,"servers":0.024390243902439025,"make":0.024390243902439025,"up":0.024390243902439025,"a":0.024390243902439025,"server":0.024390243902439025,"assuming":0.024390243902439025,"disk":0.024390243902439025,"layouts":0.024390243902439025,"are":0.024390243902439025,"if":0.024390243902439025,"use":0.024390243902439025,"different":0.024390243902439025,"files":0.024390243902439025,"care":0.024390243902439025,"must":0.024390243902439025,"taken":0.024390243902439025,"to":0.024390243902439025,"ensure":0.024390243902439025,"list":0.024390243902439025,"of":0.024390243902439025,"in":0.024390243902439025,"match":0.024390243902439025},"175":{"type":0.5,"info":0.5},"176":{"0":0.029411764705882353,"3":0.029411764705882353,"5":0.029411764705882353,"in":0.029411764705882353,"and":0.029411764705882353,"later":0.029411764705882353,"some":0.029411764705882353,"of":0.029411764705882353,"these":0.029411764705882353,"parameters":0.029411764705882353,"should":0.029411764705882353,"be":0.029411764705882353,"placed":0.029411764705882353,"a":0.029411764705882353,"dynamic":0.029411764705882353,"configuration":0.029411764705882353,"file":0.029411764705882353,"if":0.029411764705882353,"they":0.029411764705882353,"are":0.029411764705882353,"the":0.029411764705882353,"static":0.029411764705882353,"zookeeper":0.029411764705882353,"will":0.029411764705882353,"automatically":0.029411764705882353,"move":0.029411764705882353,"them":0.029411764705882353,"over":0.029411764705882353,"to":0.029411764705882353,"see":0.029411764705882353,"reconfiguration":0.029411764705882353,"for":0.029411764705882353,"more":0.029411764705882353,"information":0.029411764705882353},"177":{"here":0.08333333333333333,"are":0.08333333333333333,"the":0.08333333333333333,"minimum":0.08333333333333333,"configuration":0.08333333333333333,"keywords":0.08333333333333333,"that":0.08333333333333333,"must":0.08333333333333333,"be":0.08333333333333333,"defined":0.08333333333333333,"in":0.08333333333333333,"file":0.08333333333333333},"178":{"clientport":0.07692307692307693,"the":0.07692307692307693,"port":0.07692307692307693,"to":0.07692307692307693,"listen":0.07692307692307693,"for":0.07692307692307693,"client":0.07692307692307693,"connections":0.07692307692307693,"that":0.07692307692307693,"is":0.07692307692307693,"clients":0.07692307692307693,"attempt":0.07692307692307693,"connect":0.07692307692307693},"179":{"secureclientport":0.02631578947368421,"the":0.02631578947368421,"port":0.02631578947368421,"to":0.02631578947368421,"listen":0.02631578947368421,"on":0.02631578947368421,"for":0.02631578947368421,"secure":0.02631578947368421,"client":0.02631578947368421,"connections":0.02631578947368421,"using":0.02631578947368421,"ssl":0.02631578947368421,"clientport":0.02631578947368421,"specifies":0.02631578947368421,"plaintext":0.02631578947368421,"while":0.02631578947368421,"specifying":0.02631578947368421,"both":0.02631578947368421,"enables":0.02631578947368421,"mixed-mode":0.02631578947368421,"omitting":0.02631578947368421,"either":0.02631578947368421,"will":0.02631578947368421,"disable":0.02631578947368421,"that":0.02631578947368421,"mode":0.02631578947368421,"note":0.02631578947368421,"feature":0.02631578947368421,"be":0.02631578947368421,"enabled":0.02631578947368421,"when":0.02631578947368421,"user":0.02631578947368421,"plugs-in":0.02631578947368421,"zookeeper":0.02631578947368421,"servercnxnfactory":0.02631578947368421,"clientcnxnsocket":0.02631578947368421,"as":0.02631578947368421,"netty":0.02631578947368421},"180":{"observermasterport":0.03225806451612903,"the":0.03225806451612903,"port":0.03225806451612903,"to":0.03225806451612903,"listen":0.03225806451612903,"for":0.03225806451612903,"observer":0.03225806451612903,"connections":0.03225806451612903,"that":0.03225806451612903,"is":0.03225806451612903,"observers":0.03225806451612903,"attempt":0.03225806451612903,"connect":0.03225806451612903,"if":0.03225806451612903,"property":0.03225806451612903,"set":0.03225806451612903,"then":0.03225806451612903,"server":0.03225806451612903,"will":0.03225806451612903,"host":0.03225806451612903,"when":0.03225806451612903,"in":0.03225806451612903,"follower":0.03225806451612903,"mode":0.03225806451612903,"addition":0.03225806451612903,"leader":0.03225806451612903,"and":0.03225806451612903,"correspondingly":0.03225806451612903,"any":0.03225806451612903,"voting":0.03225806451612903,"peer":0.03225806451612903},"181":{"datadir":0.05263157894736842,"the":0.05263157894736842,"location":0.05263157894736842,"where":0.05263157894736842,"zookeeper":0.05263157894736842,"will":0.05263157894736842,"store":0.05263157894736842,"in-memory":0.05263157894736842,"database":0.05263157894736842,"snapshots":0.05263157894736842,"and":0.05263157894736842,"unless":0.05263157894736842,"specified":0.05263157894736842,"otherwise":0.05263157894736842,"transaction":0.05263157894736842,"log":0.05263157894736842,"of":0.05263157894736842,"updates":0.05263157894736842,"to":0.05263157894736842},"182":{"type":0.5,"info":0.5},"183":{"be":0.043478260869565216,"careful":0.043478260869565216,"where":0.043478260869565216,"you":0.043478260869565216,"put":0.043478260869565216,"the":0.043478260869565216,"transaction":0.043478260869565216,"log":0.043478260869565216,"a":0.043478260869565216,"dedicated":0.043478260869565216,"device":0.043478260869565216,"is":0.043478260869565216,"key":0.043478260869565216,"to":0.043478260869565216,"consistent":0.043478260869565216,"good":0.043478260869565216,"performance":0.043478260869565216,"putting":0.043478260869565216,"on":0.043478260869565216,"busy":0.043478260869565216,"will":0.043478260869565216,"adversely":0.043478260869565216,"affect":0.043478260869565216},"184":{"ticktime":0.029411764705882353,"the":0.029411764705882353,"length":0.029411764705882353,"of":0.029411764705882353,"a":0.029411764705882353,"single":0.029411764705882353,"tick":0.029411764705882353,"which":0.029411764705882353,"is":0.029411764705882353,"basic":0.029411764705882353,"time":0.029411764705882353,"unit":0.029411764705882353,"used":0.029411764705882353,"by":0.029411764705882353,"zookeeper":0.029411764705882353,"as":0.029411764705882353,"measured":0.029411764705882353,"in":0.029411764705882353,"milliseconds":0.029411764705882353,"it":0.029411764705882353,"to":0.029411764705882353,"regulate":0.029411764705882353,"heartbeats":0.029411764705882353,"and":0.029411764705882353,"timeouts":0.029411764705882353,"for":0.029411764705882353,"example":0.029411764705882353,"minimum":0.029411764705882353,"session":0.029411764705882353,"timeout":0.029411764705882353,"will":0.029411764705882353,"be":0.029411764705882353,"two":0.029411764705882353,"ticks":0.029411764705882353},"185":{"the":0.02631578947368421,"configuration":0.02631578947368421,"settings":0.02631578947368421,"in":0.02631578947368421,"section":0.02631578947368421,"are":0.02631578947368421,"optional":0.02631578947368421,"you":0.02631578947368421,"can":0.02631578947368421,"use":0.02631578947368421,"them":0.02631578947368421,"to":0.02631578947368421,"further":0.02631578947368421,"fine":0.02631578947368421,"tune":0.02631578947368421,"behaviour":0.02631578947368421,"of":0.02631578947368421,"your":0.02631578947368421,"zookeeper":0.02631578947368421,"servers":0.02631578947368421,"some":0.02631578947368421,"also":0.02631578947368421,"be":0.02631578947368421,"set":0.02631578947368421,"using":0.02631578947368421,"java":0.02631578947368421,"system":0.02631578947368421,"properties":0.02631578947368421,"generally":0.02631578947368421,"form":0.02631578947368421,"keyword":0.02631578947368421,"exact":0.02631578947368421,"property":0.02631578947368421,"when":0.02631578947368421,"available":0.02631578947368421,"is":0.02631578947368421,"noted":0.02631578947368421,"below":0.02631578947368421},"186":{"datalogdir":0.03225806451612903,"no":0.03225806451612903,"java":0.03225806451612903,"system":0.03225806451612903,"property":0.03225806451612903,"this":0.03225806451612903,"option":0.03225806451612903,"will":0.03225806451612903,"direct":0.03225806451612903,"the":0.03225806451612903,"machine":0.03225806451612903,"to":0.03225806451612903,"write":0.03225806451612903,"transaction":0.03225806451612903,"log":0.03225806451612903,"rather":0.03225806451612903,"than":0.03225806451612903,"datadir":0.03225806451612903,"allows":0.03225806451612903,"a":0.03225806451612903,"dedicated":0.03225806451612903,"device":0.03225806451612903,"be":0.03225806451612903,"used":0.03225806451612903,"and":0.03225806451612903,"helps":0.03225806451612903,"avoid":0.03225806451612903,"competition":0.03225806451612903,"between":0.03225806451612903,"logging":0.03225806451612903,"snapshots":0.03225806451612903},"187":{"type":0.5,"info":0.5},"188":{"having":0.03333333333333333,"a":0.03333333333333333,"dedicated":0.03333333333333333,"log":0.03333333333333333,"device":0.03333333333333333,"has":0.03333333333333333,"large":0.03333333333333333,"impact":0.03333333333333333,"on":0.03333333333333333,"throughput":0.03333333333333333,"and":0.03333333333333333,"stable":0.03333333333333333,"latencies":0.03333333333333333,"it":0.03333333333333333,"is":0.03333333333333333,"highly":0.03333333333333333,"recommended":0.03333333333333333,"dedicating":0.03333333333333333,"set":0.03333333333333333,"datalogdir":0.03333333333333333,"to":0.03333333333333333,"point":0.03333333333333333,"directory":0.03333333333333333,"that":0.03333333333333333,"then":0.03333333333333333,"make":0.03333333333333333,"sure":0.03333333333333333,"datadir":0.03333333333333333,"not":0.03333333333333333,"residing":0.03333333333333333},"189":{"1":0.017241379310344827,"2":0.017241379310344827,"3":0.017241379310344827,"500":0.017241379310344827,"1000":0.017241379310344827,"globaloutstandinglimit":0.017241379310344827,"java":0.017241379310344827,"system":0.017241379310344827,"property":0.017241379310344827,"zookeeper":0.017241379310344827,"clients":0.017241379310344827,"can":0.017241379310344827,"submit":0.017241379310344827,"requests":0.017241379310344827,"faster":0.017241379310344827,"than":0.017241379310344827,"process":0.017241379310344827,"them":0.017241379310344827,"especially":0.017241379310344827,"if":0.017241379310344827,"there":0.017241379310344827,"are":0.017241379310344827,"a":0.017241379310344827,"lot":0.017241379310344827,"of":0.017241379310344827,"to":0.017241379310344827,"prevent":0.017241379310344827,"from":0.017241379310344827,"running":0.017241379310344827,"out":0.017241379310344827,"memory":0.017241379310344827,"due":0.017241379310344827,"queued":0.017241379310344827,"will":0.017241379310344827,"throttle":0.017241379310344827,"so":0.017241379310344827,"that":0.017241379310344827,"no":0.017241379310344827,"more":0.017241379310344827,"outstanding":0.017241379310344827,"across":0.017241379310344827,"entire":0.017241379310344827,"ensemble":0.017241379310344827,"equally":0.017241379310344827,"divided":0.017241379310344827,"the":0.017241379310344827,"default":0.017241379310344827,"limit":0.017241379310344827,"is":0.017241379310344827,"000":0.017241379310344827,"and":0.017241379310344827,"for":0.017241379310344827,"example":0.017241379310344827,"with":0.017241379310344827,"members":0.017241379310344827,"each":0.017241379310344827,"have":0.017241379310344827,"individual":0.017241379310344827},"190":{"preallocsize":0.02564102564102564,"java":0.02564102564102564,"system":0.02564102564102564,"property":0.02564102564102564,"zookeeper":0.02564102564102564,"to":0.02564102564102564,"avoid":0.02564102564102564,"seeks":0.02564102564102564,"allocates":0.02564102564102564,"space":0.02564102564102564,"in":0.02564102564102564,"the":0.02564102564102564,"transaction":0.02564102564102564,"log":0.02564102564102564,"file":0.02564102564102564,"blocks":0.02564102564102564,"of":0.02564102564102564,"kilobytes":0.02564102564102564,"default":0.02564102564102564,"block":0.02564102564102564,"size":0.02564102564102564,"is":0.02564102564102564,"64m":0.02564102564102564,"one":0.02564102564102564,"reason":0.02564102564102564,"for":0.02564102564102564,"changing":0.02564102564102564,"reduce":0.02564102564102564,"if":0.02564102564102564,"snapshots":0.02564102564102564,"are":0.02564102564102564,"taken":0.02564102564102564,"more":0.02564102564102564,"often":0.02564102564102564,"also":0.02564102564102564,"see":0.02564102564102564,"snapcount":0.02564102564102564,"and":0.02564102564102564,"snapsizelimitinkb":0.02564102564102564},"191":{"1":0.017543859649122806,"2":0.017543859649122806,"100":0.017543859649122806,"snapcount":0.017543859649122806,"java":0.017543859649122806,"system":0.017543859649122806,"property":0.017543859649122806,"zookeeper":0.017543859649122806,"records":0.017543859649122806,"its":0.017543859649122806,"transactions":0.017543859649122806,"using":0.017543859649122806,"snapshots":0.017543859649122806,"and":0.017543859649122806,"a":0.017543859649122806,"transaction":0.017543859649122806,"log":0.017543859649122806,"think":0.017543859649122806,"write-ahead":0.017543859649122806,"the":0.017543859649122806,"number":0.017543859649122806,"of":0.017543859649122806,"recorded":0.017543859649122806,"in":0.017543859649122806,"before":0.017543859649122806,"snapshot":0.017543859649122806,"can":0.017543859649122806,"be":0.017543859649122806,"taken":0.017543859649122806,"rolled":0.017543859649122806,"is":0.017543859649122806,"determined":0.017543859649122806,"by":0.017543859649122806,"order":0.017543859649122806,"to":0.017543859649122806,"prevent":0.017543859649122806,"all":0.017543859649122806,"machines":0.017543859649122806,"quorum":0.017543859649122806,"from":0.017543859649122806,"taking":0.017543859649122806,"at":0.017543859649122806,"same":0.017543859649122806,"time":0.017543859649122806,"each":0.017543859649122806,"server":0.017543859649122806,"will":0.017543859649122806,"take":0.017543859649122806,"when":0.017543859649122806,"reaches":0.017543859649122806,"runtime":0.017543859649122806,"generated":0.017543859649122806,"random":0.017543859649122806,"value":0.017543859649122806,"range":0.017543859649122806,"default":0.017543859649122806,"000":0.017543859649122806},"192":{"100":0.023809523809523808,"500":0.023809523809523808,"commitlogcount":0.023809523809523808,"java":0.023809523809523808,"system":0.023809523809523808,"property":0.023809523809523808,"zookeeper":0.023809523809523808,"maintains":0.023809523809523808,"an":0.023809523809523808,"in-memory":0.023809523809523808,"list":0.023809523809523808,"of":0.023809523809523808,"last":0.023809523809523808,"committed":0.023809523809523808,"requests":0.023809523809523808,"for":0.023809523809523808,"fast":0.023809523809523808,"synchronization":0.023809523809523808,"with":0.023809523809523808,"followers":0.023809523809523808,"when":0.023809523809523808,"the":0.023809523809523808,"are":0.023809523809523808,"not":0.023809523809523808,"too":0.023809523809523808,"behind":0.023809523809523808,"this":0.023809523809523808,"improves":0.023809523809523808,"sync":0.023809523809523808,"performance":0.023809523809523808,"in":0.023809523809523808,"case":0.023809523809523808,"your":0.023809523809523808,"snapshots":0.023809523809523808,"large":0.023809523809523808,"000":0.023809523809523808,"default":0.023809523809523808,"value":0.023809523809523808,"is":0.023809523809523808,"which":0.023809523809523808,"recommended":0.023809523809523808,"minimum":0.023809523809523808},"193":{"1":0.012345679012345678,"2":0.012345679012345678,"4":0.012345679012345678,"194":0.012345679012345678,"304":0.012345679012345678,"snapsizelimitinkb":0.012345679012345678,"java":0.012345679012345678,"system":0.012345679012345678,"property":0.012345679012345678,"zookeeper":0.012345679012345678,"records":0.012345679012345678,"its":0.012345679012345678,"transactions":0.012345679012345678,"using":0.012345679012345678,"snapshots":0.012345679012345678,"and":0.012345679012345678,"a":0.012345679012345678,"transaction":0.012345679012345678,"log":0.012345679012345678,"think":0.012345679012345678,"write-ahead":0.012345679012345678,"the":0.012345679012345678,"total":0.012345679012345678,"size":0.012345679012345678,"in":0.012345679012345678,"bytes":0.012345679012345678,"allowed":0.012345679012345678,"set":0.012345679012345678,"of":0.012345679012345678,"recorded":0.012345679012345678,"before":0.012345679012345678,"snapshot":0.012345679012345678,"can":0.012345679012345678,"be":0.012345679012345678,"taken":0.012345679012345678,"rolled":0.012345679012345678,"is":0.012345679012345678,"determined":0.012345679012345678,"by":0.012345679012345678,"snapsize":0.012345679012345678,"order":0.012345679012345678,"to":0.012345679012345678,"prevent":0.012345679012345678,"all":0.012345679012345678,"machines":0.012345679012345678,"quorum":0.012345679012345678,"from":0.012345679012345678,"taking":0.012345679012345678,"at":0.012345679012345678,"same":0.012345679012345678,"time":0.012345679012345678,"each":0.012345679012345678,"server":0.012345679012345678,"will":0.012345679012345678,"take":0.012345679012345678,"when":0.012345679012345678,"reaches":0.012345679012345678,"runtime":0.012345679012345678,"generated":0.012345679012345678,"random":0.012345679012345678,"value":0.012345679012345678,"range":0.012345679012345678,"file":0.012345679012345678,"has":0.012345679012345678,"minimum":0.012345679012345678,"standard":0.012345679012345678,"for":0.012345679012345678,"valid":0.012345679012345678,"functioning":0.012345679012345678,"this":0.012345679012345678,"feature":0.012345679012345678,"number":0.012345679012345678,"chosen":0.012345679012345678,"must":0.012345679012345678,"larger":0.012345679012345678,"than":0.012345679012345678,"that":0.012345679012345678,"default":0.012345679012345678,"4gb":0.012345679012345678,"non-positive":0.012345679012345678,"disable":0.012345679012345678},"194":{"2":0.01020408163265306,"txnlogsizelimitinkb":0.01020408163265306,"java":0.01020408163265306,"system":0.01020408163265306,"property":0.01020408163265306,"zookeeper":0.01020408163265306,"transaction":0.01020408163265306,"log":0.01020408163265306,"file":0.01020408163265306,"can":0.01020408163265306,"also":0.01020408163265306,"be":0.01020408163265306,"controlled":0.01020408163265306,"more":0.01020408163265306,"directly":0.01020408163265306,"using":0.01020408163265306,"larger":0.01020408163265306,"txn":0.01020408163265306,"logs":0.01020408163265306,"lead":0.01020408163265306,"to":0.01020408163265306,"slower":0.01020408163265306,"follower":0.01020408163265306,"syncs":0.01020408163265306,"when":0.01020408163265306,"sync":0.01020408163265306,"is":0.01020408163265306,"done":0.01020408163265306,"this":0.01020408163265306,"because":0.01020408163265306,"leader":0.01020408163265306,"has":0.01020408163265306,"scan":0.01020408163265306,"through":0.01020408163265306,"the":0.01020408163265306,"appropriate":0.01020408163265306,"on":0.01020408163265306,"disk":0.01020408163265306,"find":0.01020408163265306,"start":0.01020408163265306,"from":0.01020408163265306,"feature":0.01020408163265306,"turned":0.01020408163265306,"off":0.01020408163265306,"by":0.01020408163265306,"default":0.01020408163265306,"and":0.01020408163265306,"snapcount":0.01020408163265306,"snapsizelimitinkb":0.01020408163265306,"are":0.01020408163265306,"only":0.01020408163265306,"values":0.01020408163265306,"that":0.01020408163265306,"limit":0.01020408163265306,"size":0.01020408163265306,"enabled":0.01020408163265306,"will":0.01020408163265306,"roll":0.01020408163265306,"any":0.01020408163265306,"of":0.01020408163265306,"limits":0.01020408163265306,"hit":0.01020408163265306,"please":0.01020408163265306,"note":0.01020408163265306,"actual":0.01020408163265306,"exceed":0.01020408163265306,"value":0.01020408163265306,"serialized":0.01020408163265306,"other":0.01020408163265306,"hand":0.01020408163265306,"if":0.01020408163265306,"set":0.01020408163265306,"too":0.01020408163265306,"close":0.01020408163265306,"or":0.01020408163265306,"smaller":0.01020408163265306,"than":0.01020408163265306,"preallocsize":0.01020408163265306,"it":0.01020408163265306,"cause":0.01020408163265306,"for":0.01020408163265306,"every":0.01020408163265306,"while":0.01020408163265306,"not":0.01020408163265306,"a":0.01020408163265306,"correctness":0.01020408163265306,"issue":0.01020408163265306,"may":0.01020408163265306,"severely":0.01020408163265306,"degraded":0.01020408163265306,"performance":0.01020408163265306,"avoid":0.01020408163265306,"get":0.01020408163265306,"most":0.01020408163265306,"out":0.01020408163265306,"recommended":0.01020408163265306,"n":0.01020408163265306,"where":0.01020408163265306},"195":{"0":0.017543859649122806,"2":0.017543859649122806,"maxcnxns":0.017543859649122806,"java":0.017543859649122806,"system":0.017543859649122806,"property":0.017543859649122806,"zookeeper":0.017543859649122806,"limits":0.017543859649122806,"the":0.017543859649122806,"total":0.017543859649122806,"number":0.017543859649122806,"of":0.017543859649122806,"concurrent":0.017543859649122806,"connections":0.017543859649122806,"that":0.017543859649122806,"can":0.017543859649122806,"be":0.017543859649122806,"made":0.017543859649122806,"to":0.017543859649122806,"a":0.017543859649122806,"server":0.017543859649122806,"per":0.017543859649122806,"client":0.017543859649122806,"port":0.017543859649122806,"each":0.017543859649122806,"this":0.017543859649122806,"is":0.017543859649122806,"used":0.017543859649122806,"prevent":0.017543859649122806,"certain":0.017543859649122806,"classes":0.017543859649122806,"dos":0.017543859649122806,"attacks":0.017543859649122806,"default":0.017543859649122806,"and":0.017543859649122806,"setting":0.017543859649122806,"it":0.017543859649122806,"entirely":0.017543859649122806,"removes":0.017543859649122806,"limit":0.017543859649122806,"on":0.017543859649122806,"accounting":0.017543859649122806,"for":0.017543859649122806,"servercnxnfactory":0.017543859649122806,"secureservercnxnfactory":0.017543859649122806,"done":0.017543859649122806,"separately":0.017543859649122806,"so":0.017543859649122806,"peer":0.017543859649122806,"allowed":0.017543859649122806,"host":0.017543859649122806,"up":0.017543859649122806,"provided":0.017543859649122806,"they":0.017543859649122806,"are":0.017543859649122806,"appropriate":0.017543859649122806,"types":0.017543859649122806},"196":{"0":0.020833333333333332,"60":0.020833333333333332,"maxclientcnxns":0.020833333333333332,"no":0.020833333333333332,"java":0.020833333333333332,"system":0.020833333333333332,"property":0.020833333333333332,"limits":0.020833333333333332,"the":0.020833333333333332,"number":0.020833333333333332,"of":0.020833333333333332,"concurrent":0.020833333333333332,"connections":0.020833333333333332,"at":0.020833333333333332,"socket":0.020833333333333332,"level":0.020833333333333332,"that":0.020833333333333332,"a":0.020833333333333332,"single":0.020833333333333332,"client":0.020833333333333332,"identified":0.020833333333333332,"by":0.020833333333333332,"ip":0.020833333333333332,"address":0.020833333333333332,"may":0.020833333333333332,"make":0.020833333333333332,"to":0.020833333333333332,"member":0.020833333333333332,"zookeeper":0.020833333333333332,"ensemble":0.020833333333333332,"this":0.020833333333333332,"is":0.020833333333333332,"used":0.020833333333333332,"prevent":0.020833333333333332,"certain":0.020833333333333332,"classes":0.020833333333333332,"dos":0.020833333333333332,"attacks":0.020833333333333332,"including":0.020833333333333332,"file":0.020833333333333332,"descriptor":0.020833333333333332,"exhaustion":0.020833333333333332,"default":0.020833333333333332,"setting":0.020833333333333332,"entirely":0.020833333333333332,"removes":0.020833333333333332,"limit":0.020833333333333332,"on":0.020833333333333332},"197":{"0":0.025,"3":0.025,"clientportaddress":0.025,"new":0.025,"in":0.025,"the":0.025,"address":0.025,"ipv4":0.025,"ipv6":0.025,"or":0.025,"hostname":0.025,"to":0.025,"listen":0.025,"for":0.025,"client":0.025,"connections":0.025,"that":0.025,"is":0.025,"clients":0.025,"attempt":0.025,"connect":0.025,"this":0.025,"optional":0.025,"by":0.025,"default":0.025,"we":0.025,"bind":0.025,"such":0.025,"a":0.025,"way":0.025,"any":0.025,"connection":0.025,"clientport":0.025,"interface":0.025,"nic":0.025,"on":0.025,"server":0.025,"will":0.025,"be":0.025,"accepted":0.025},"198":{"0":0.04,"2":0.04,"3":0.04,"minsessiontimeout":0.04,"no":0.04,"java":0.04,"system":0.04,"property":0.04,"new":0.04,"in":0.04,"the":0.04,"minimum":0.04,"session":0.04,"timeout":0.04,"milliseconds":0.04,"that":0.04,"server":0.04,"will":0.04,"allow":0.04,"client":0.04,"to":0.04,"negotiate":0.04,"defaults":0.04,"times":0.04,"ticktime":0.04},"199":{"0":0.04,"3":0.04,"20":0.04,"maxsessiontimeout":0.04,"no":0.04,"java":0.04,"system":0.04,"property":0.04,"new":0.04,"in":0.04,"the":0.04,"maximum":0.04,"session":0.04,"timeout":0.04,"milliseconds":0.04,"that":0.04,"server":0.04,"will":0.04,"allow":0.04,"client":0.04,"to":0.04,"negotiate":0.04,"defaults":0.04,"times":0.04,"ticktime":0.04},"200":{"3":0.02564102564102564,"4":0.02564102564102564,"1000":0.02564102564102564,"fsync":0.02564102564102564,"warningthresholdms":0.02564102564102564,"java":0.02564102564102564,"system":0.02564102564102564,"property":0.02564102564102564,"zookeeper":0.02564102564102564,"new":0.02564102564102564,"in":0.02564102564102564,"a":0.02564102564102564,"warning":0.02564102564102564,"message":0.02564102564102564,"will":0.02564102564102564,"be":0.02564102564102564,"output":0.02564102564102564,"to":0.02564102564102564,"the":0.02564102564102564,"log":0.02564102564102564,"whenever":0.02564102564102564,"an":0.02564102564102564,"transactional":0.02564102564102564,"wal":0.02564102564102564,"takes":0.02564102564102564,"longer":0.02564102564102564,"than":0.02564102564102564,"this":0.02564102564102564,"value":0.02564102564102564,"values":0.02564102564102564,"is":0.02564102564102564,"specified":0.02564102564102564,"milliseconds":0.02564102564102564,"and":0.02564102564102564,"defaults":0.02564102564102564,"can":0.02564102564102564,"only":0.02564102564102564,"set":0.02564102564102564,"as":0.02564102564102564},"201":{"0":0.01818181818181818,"400":0.01818181818181818,"maxresponsecachesize":0.01818181818181818,"java":0.01818181818181818,"system":0.01818181818181818,"property":0.01818181818181818,"zookeeper":0.01818181818181818,"when":0.01818181818181818,"set":0.01818181818181818,"to":0.01818181818181818,"a":0.01818181818181818,"positive":0.01818181818181818,"integer":0.01818181818181818,"it":0.01818181818181818,"determines":0.01818181818181818,"the":0.01818181818181818,"size":0.01818181818181818,"of":0.01818181818181818,"cache":0.01818181818181818,"that":0.01818181818181818,"stores":0.01818181818181818,"serialized":0.01818181818181818,"form":0.01818181818181818,"recently":0.01818181818181818,"read":0.01818181818181818,"records":0.01818181818181818,"helps":0.01818181818181818,"save":0.01818181818181818,"serialization":0.01818181818181818,"cost":0.01818181818181818,"on":0.01818181818181818,"popular":0.01818181818181818,"znodes":0.01818181818181818,"metrics":0.01818181818181818,"response_packet_cache_hits":0.01818181818181818,"and":0.01818181818181818,"response_packet_cache_misses":0.01818181818181818,"can":0.01818181818181818,"be":0.01818181818181818,"used":0.01818181818181818,"tune":0.01818181818181818,"this":0.01818181818181818,"value":0.01818181818181818,"given":0.01818181818181818,"workload":0.01818181818181818,"feature":0.01818181818181818,"is":0.01818181818181818,"turned":0.01818181818181818,"by":0.01818181818181818,"default":0.01818181818181818,"with":0.01818181818181818,"or":0.01818181818181818,"negative":0.01818181818181818,"turn":0.01818181818181818,"off":0.01818181818181818},"202":{"0":0.02127659574468085,"3":0.02127659574468085,"6":0.02127659574468085,"400":0.02127659574468085,"maxgetchildrenresponsecachesize":0.02127659574468085,"java":0.02127659574468085,"system":0.02127659574468085,"property":0.02127659574468085,"zookeeper":0.02127659574468085,"new":0.02127659574468085,"in":0.02127659574468085,"similar":0.02127659574468085,"to":0.02127659574468085,"maxresponsecachesize":0.02127659574468085,"but":0.02127659574468085,"applies":0.02127659574468085,"get":0.02127659574468085,"children":0.02127659574468085,"requests":0.02127659574468085,"the":0.02127659574468085,"metrics":0.02127659574468085,"response_packet_get_children_cache_hits":0.02127659574468085,"and":0.02127659574468085,"response_packet_get_children_cache_misses":0.02127659574468085,"can":0.02127659574468085,"be":0.02127659574468085,"used":0.02127659574468085,"tune":0.02127659574468085,"this":0.02127659574468085,"value":0.02127659574468085,"a":0.02127659574468085,"given":0.02127659574468085,"workload":0.02127659574468085,"feature":0.02127659574468085,"is":0.02127659574468085,"turned":0.02127659574468085,"on":0.02127659574468085,"by":0.02127659574468085,"default":0.02127659574468085,"with":0.02127659574468085,"of":0.02127659574468085,"set":0.02127659574468085,"or":0.02127659574468085,"negative":0.02127659574468085,"integer":0.02127659574468085,"turn":0.02127659574468085,"off":0.02127659574468085},"203":{"0":0.027777777777777776,"3":0.027777777777777776,"4":0.027777777777777776,"autopurge":0.027777777777777776,"snapretaincount":0.027777777777777776,"no":0.027777777777777776,"java":0.027777777777777776,"system":0.027777777777777776,"property":0.027777777777777776,"new":0.027777777777777776,"in":0.027777777777777776,"when":0.027777777777777776,"enabled":0.027777777777777776,"zookeeper":0.027777777777777776,"auto":0.027777777777777776,"purge":0.027777777777777776,"feature":0.027777777777777776,"retains":0.027777777777777776,"the":0.027777777777777776,"most":0.027777777777777776,"recent":0.027777777777777776,"snapshots":0.027777777777777776,"and":0.027777777777777776,"corresponding":0.027777777777777776,"transaction":0.027777777777777776,"logs":0.027777777777777776,"datadir":0.027777777777777776,"datalogdir":0.027777777777777776,"respectively":0.027777777777777776,"deletes":0.027777777777777776,"rest":0.027777777777777776,"defaults":0.027777777777777776,"to":0.027777777777777776,"minimum":0.027777777777777776,"value":0.027777777777777776,"is":0.027777777777777776},"204":{"0":0.015151515151515152,"1":0.015151515151515152,"3":0.015151515151515152,"4":0.015151515151515152,"5":0.015151515151515152,"10":0.015151515151515152,"autopurge":0.015151515151515152,"purgeinterval":0.015151515151515152,"no":0.015151515151515152,"java":0.015151515151515152,"system":0.015151515151515152,"property":0.015151515151515152,"new":0.015151515151515152,"in":0.015151515151515152,"the":0.015151515151515152,"time":0.015151515151515152,"interval":0.015151515151515152,"hours":0.015151515151515152,"for":0.015151515151515152,"which":0.015151515151515152,"purge":0.015151515151515152,"task":0.015151515151515152,"has":0.015151515151515152,"to":0.015151515151515152,"be":0.015151515151515152,"triggered":0.015151515151515152,"set":0.015151515151515152,"a":0.015151515151515152,"positive":0.015151515151515152,"integer":0.015151515151515152,"and":0.015151515151515152,"above":0.015151515151515152,"enable":0.015151515151515152,"auto":0.015151515151515152,"purging":0.015151515151515152,"defaults":0.015151515151515152,"suffix":0.015151515151515152,"support":0.015151515151515152,"added":0.015151515151515152,"is":0.015151515151515152,"specified":0.015151515151515152,"as":0.015151515151515152,"an":0.015151515151515152,"with":0.015151515151515152,"optional":0.015151515151515152,"indicate":0.015151515151515152,"unit":0.015151515151515152,"supported":0.015151515151515152,"suffixes":0.015151515151515152,"are":0.015151515151515152,"ms":0.015151515151515152,"milliseconds":0.015151515151515152,"s":0.015151515151515152,"seconds":0.015151515151515152,"m":0.015151515151515152,"minutes":0.015151515151515152,"h":0.015151515151515152,"d":0.015151515151515152,"days":0.015151515151515152,"example":0.015151515151515152,"10m":0.015151515151515152,"represents":0.015151515151515152,"5h":0.015151515151515152,"if":0.015151515151515152,"provided":0.015151515151515152,"default":0.015151515151515152},"205":{"0":0.025,"3":0.025,"4":0.025,"5":0.025,"6":0.025,"syncenabled":0.025,"java":0.025,"system":0.025,"property":0.025,"zookeeper":0.025,"observer":0.025,"new":0.025,"in":0.025,"the":0.025,"observers":0.025,"now":0.025,"log":0.025,"transaction":0.025,"and":0.025,"write":0.025,"snapshot":0.025,"to":0.025,"disk":0.025,"by":0.025,"default":0.025,"like":0.025,"participants":0.025,"this":0.025,"reduces":0.025,"recovery":0.025,"time":0.025,"of":0.025,"on":0.025,"restart":0.025,"set":0.025,"false":0.025,"disable":0.025,"feature":0.025,"is":0.025,"true":0.025},"206":{"0":0.022727272727272728,"3":0.022727272727272728,"4":0.022727272727272728,"5":0.022727272727272728,"6":0.022727272727272728,"255":0.022727272727272728,"extendedtypesenabled":0.022727272727272728,"java":0.022727272727272728,"system":0.022727272727272728,"property":0.022727272727272728,"only":0.022727272727272728,"zookeeper":0.022727272727272728,"new":0.022727272727272728,"in":0.022727272727272728,"define":0.022727272727272728,"to":0.022727272727272728,"true":0.022727272727272728,"enable":0.022727272727272728,"extended":0.022727272727272728,"features":0.022727272727272728,"such":0.022727272727272728,"as":0.022727272727272728,"the":0.022727272727272728,"creation":0.022727272727272728,"of":0.022727272727272728,"ttl":0.022727272727272728,"nodes":0.022727272727272728,"they":0.022727272727272728,"are":0.022727272727272728,"disabled":0.022727272727272728,"by":0.022727272727272728,"default":0.022727272727272728,"important":0.022727272727272728,"when":0.022727272727272728,"enabled":0.022727272727272728,"server":0.022727272727272728,"ids":0.022727272727272728,"must":0.022727272727272728,"be":0.022727272727272728,"less":0.022727272727272728,"than":0.022727272727272728,"due":0.022727272727272728,"internal":0.022727272727272728,"limitations":0.022727272727272728},"207":{"0":0.014705882352941176,"3":0.014705882352941176,"4":0.014705882352941176,"5":0.014705882352941176,"6":0.014705882352941176,"127":0.014705882352941176,"emulate353ttlnodes":0.014705882352941176,"java":0.014705882352941176,"system":0.014705882352941176,"property":0.014705882352941176,"only":0.014705882352941176,"zookeeper":0.014705882352941176,"new":0.014705882352941176,"in":0.014705882352941176,"due":0.014705882352941176,"to":0.014705882352941176,"zookeeper-2901":0.014705882352941176,"https":0.014705882352941176,"issues":0.014705882352941176,"apache":0.014705882352941176,"org":0.014705882352941176,"jira":0.014705882352941176,"browse":0.014705882352941176,"ttl":0.014705882352941176,"nodes":0.014705882352941176,"created":0.014705882352941176,"version":0.014705882352941176,"are":0.014705882352941176,"not":0.014705882352941176,"supported":0.014705882352941176,"however":0.014705882352941176,"a":0.014705882352941176,"workaround":0.014705882352941176,"is":0.014705882352941176,"provided":0.014705882352941176,"via":0.014705882352941176,"the":0.014705882352941176,"if":0.014705882352941176,"you":0.014705882352941176,"used":0.014705882352941176,"and":0.014705882352941176,"need":0.014705882352941176,"maintain":0.014705882352941176,"compatibility":0.014705882352941176,"set":0.014705882352941176,"true":0.014705882352941176,"addition":0.014705882352941176,"extendedtypesenabled":0.014705882352941176,"note":0.014705882352941176,"bug":0.014705882352941176,"server":0.014705882352941176,"ids":0.014705882352941176,"must":0.014705882352941176,"be":0.014705882352941176,"or":0.014705882352941176,"less":0.014705882352941176,"additionally":0.014705882352941176,"maximum":0.014705882352941176,"support":0.014705882352941176,"value":0.014705882352941176,"1099511627775":0.014705882352941176,"which":0.014705882352941176,"smaller":0.014705882352941176,"than":0.014705882352941176,"what":0.014705882352941176,"was":0.014705882352941176,"allowed":0.014705882352941176,"1152921504606846975":0.014705882352941176},"208":{"0":0.02702702702702703,"3":0.02702702702702703,"6":0.02702702702702703,"watchmanagername":0.02702702702702703,"java":0.02702702702702703,"system":0.02702702702702703,"property":0.02702702702702703,"only":0.02702702702702703,"zookeeper":0.02702702702702703,"new":0.02702702702702703,"in":0.02702702702702703,"added":0.02702702702702703,"zookeeper-1179":0.02702702702702703,"watcher":0.02702702702702703,"manager":0.02702702702702703,"watchmanageroptimized":0.02702702702702703,"is":0.02702702702702703,"to":0.02702702702702703,"optimize":0.02702702702702703,"the":0.02702702702702703,"memory":0.02702702702702703,"overhead":0.02702702702702703,"heavy":0.02702702702702703,"watch":0.02702702702702703,"use":0.02702702702702703,"cases":0.02702702702702703,"this":0.02702702702702703,"config":0.02702702702702703,"used":0.02702702702702703,"define":0.02702702702702703,"which":0.02702702702702703,"be":0.02702702702702703,"currently":0.02702702702702703,"we":0.02702702702702703,"support":0.02702702702702703,"watchmanager":0.02702702702702703,"and":0.02702702702702703},"209":{"0":0.018867924528301886,"2":0.018867924528301886,"3":0.018867924528301886,"6":0.018867924528301886,"watchercleanthreadsnum":0.018867924528301886,"java":0.018867924528301886,"system":0.018867924528301886,"property":0.018867924528301886,"only":0.018867924528301886,"zookeeper":0.018867924528301886,"new":0.018867924528301886,"in":0.018867924528301886,"added":0.018867924528301886,"zookeeper-1179":0.018867924528301886,"the":0.018867924528301886,"watcher":0.018867924528301886,"manager":0.018867924528301886,"watchmanageroptimized":0.018867924528301886,"will":0.018867924528301886,"clean":0.018867924528301886,"up":0.018867924528301886,"dead":0.018867924528301886,"watchers":0.018867924528301886,"lazily":0.018867924528301886,"this":0.018867924528301886,"config":0.018867924528301886,"is":0.018867924528301886,"used":0.018867924528301886,"to":0.018867924528301886,"decide":0.018867924528301886,"how":0.018867924528301886,"many":0.018867924528301886,"thread":0.018867924528301886,"watchercleaner":0.018867924528301886,"more":0.018867924528301886,"usually":0.018867924528301886,"means":0.018867924528301886,"larger":0.018867924528301886,"throughput":0.018867924528301886,"default":0.018867924528301886,"value":0.018867924528301886,"which":0.018867924528301886,"good":0.018867924528301886,"enough":0.018867924528301886,"even":0.018867924528301886,"for":0.018867924528301886,"heavy":0.018867924528301886,"and":0.018867924528301886,"continuous":0.018867924528301886,"session":0.018867924528301886,"closing":0.018867924528301886,"recreating":0.018867924528301886,"cases":0.018867924528301886},"210":{"0":0.017857142857142856,"3":0.017857142857142856,"6":0.017857142857142856,"1000":0.017857142857142856,"watchercleanthreshold":0.017857142857142856,"java":0.017857142857142856,"system":0.017857142857142856,"property":0.017857142857142856,"only":0.017857142857142856,"zookeeper":0.017857142857142856,"new":0.017857142857142856,"in":0.017857142857142856,"added":0.017857142857142856,"zookeeper-1179":0.017857142857142856,"the":0.017857142857142856,"watcher":0.017857142857142856,"manager":0.017857142857142856,"watchmanageroptimized":0.017857142857142856,"will":0.017857142857142856,"clean":0.017857142857142856,"up":0.017857142857142856,"dead":0.017857142857142856,"watchers":0.017857142857142856,"lazily":0.017857142857142856,"cleanup":0.017857142857142856,"process":0.017857142857142856,"is":0.017857142857142856,"relatively":0.017857142857142856,"heavy":0.017857142857142856,"batch":0.017857142857142856,"processing":0.017857142857142856,"reduce":0.017857142857142856,"cost":0.017857142857142856,"and":0.017857142857142856,"improve":0.017857142857142856,"performance":0.017857142857142856,"this":0.017857142857142856,"setting":0.017857142857142856,"used":0.017857142857142856,"to":0.017857142857142856,"decide":0.017857142857142856,"size":0.017857142857142856,"default":0.017857142857142856,"one":0.017857142857142856,"we":0.017857142857142856,"don't":0.017857142857142856,"need":0.017857142857142856,"change":0.017857142857142856,"it":0.017857142857142856,"if":0.017857142857142856,"there":0.017857142857142856,"no":0.017857142857142856,"memory":0.017857142857142856,"or":0.017857142857142856,"speed":0.017857142857142856,"issue":0.017857142857142856},"211":{"0":0.014925373134328358,"3":0.014925373134328358,"6":0.014925373134328358,"10":0.014925373134328358,"watchercleanintervalinseconds":0.014925373134328358,"java":0.014925373134328358,"system":0.014925373134328358,"property":0.014925373134328358,"only":0.014925373134328358,"zookeeper":0.014925373134328358,"new":0.014925373134328358,"in":0.014925373134328358,"added":0.014925373134328358,"zookeeper-1179":0.014925373134328358,"the":0.014925373134328358,"watcher":0.014925373134328358,"manager":0.014925373134328358,"watchmanageroptimized":0.014925373134328358,"will":0.014925373134328358,"clean":0.014925373134328358,"up":0.014925373134328358,"dead":0.014925373134328358,"watchers":0.014925373134328358,"lazily":0.014925373134328358,"cleanup":0.014925373134328358,"process":0.014925373134328358,"is":0.014925373134328358,"relatively":0.014925373134328358,"heavy":0.014925373134328358,"batch":0.014925373134328358,"processing":0.014925373134328358,"reduce":0.014925373134328358,"cost":0.014925373134328358,"and":0.014925373134328358,"improve":0.014925373134328358,"performance":0.014925373134328358,"besides":0.014925373134328358,"watchercleanthreshold":0.014925373134328358,"this":0.014925373134328358,"setting":0.014925373134328358,"used":0.014925373134328358,"to":0.014925373134328358,"after":0.014925373134328358,"certain":0.014925373134328358,"time":0.014925373134328358,"even":0.014925373134328358,"are":0.014925373134328358,"not":0.014925373134328358,"larger":0.014925373134328358,"than":0.014925373134328358,"so":0.014925373134328358,"that":0.014925373134328358,"we":0.014925373134328358,"won't":0.014925373134328358,"leave":0.014925373134328358,"there":0.014925373134328358,"for":0.014925373134328358,"too":0.014925373134328358,"long":0.014925373134328358,"default":0.014925373134328358,"minutes":0.014925373134328358,"which":0.014925373134328358,"usually":0.014925373134328358,"don't":0.014925373134328358,"need":0.014925373134328358,"be":0.014925373134328358,"changed":0.014925373134328358},"212":{"0":0.017543859649122806,"3":0.017543859649122806,"6":0.017543859649122806,"1000":0.017543859649122806,"maxinprocessingdeadwatchers":0.017543859649122806,"java":0.017543859649122806,"system":0.017543859649122806,"property":0.017543859649122806,"only":0.017543859649122806,"zookeeper":0.017543859649122806,"new":0.017543859649122806,"in":0.017543859649122806,"added":0.017543859649122806,"zookeeper-1179":0.017543859649122806,"this":0.017543859649122806,"is":0.017543859649122806,"used":0.017543859649122806,"to":0.017543859649122806,"control":0.017543859649122806,"how":0.017543859649122806,"many":0.017543859649122806,"backlog":0.017543859649122806,"can":0.017543859649122806,"we":0.017543859649122806,"have":0.017543859649122806,"the":0.017543859649122806,"watchercleaner":0.017543859649122806,"when":0.017543859649122806,"it":0.017543859649122806,"reaches":0.017543859649122806,"number":0.017543859649122806,"will":0.017543859649122806,"slow":0.017543859649122806,"down":0.017543859649122806,"adding":0.017543859649122806,"dead":0.017543859649122806,"watcher":0.017543859649122806,"which":0.017543859649122806,"turn":0.017543859649122806,"and":0.017543859649122806,"closing":0.017543859649122806,"watchers":0.017543859649122806,"so":0.017543859649122806,"that":0.017543859649122806,"avoid":0.017543859649122806,"oom":0.017543859649122806,"issue":0.017543859649122806,"by":0.017543859649122806,"default":0.017543859649122806,"there":0.017543859649122806,"no":0.017543859649122806,"limit":0.017543859649122806,"you":0.017543859649122806,"set":0.017543859649122806,"values":0.017543859649122806,"like":0.017543859649122806,"watchercleanthreshold":0.017543859649122806},"213":{"0":0.016129032258064516,"3":0.016129032258064516,"6":0.016129032258064516,"10":0.016129032258064516,"bithashcachesize":0.016129032258064516,"java":0.016129032258064516,"system":0.016129032258064516,"property":0.016129032258064516,"only":0.016129032258064516,"zookeeper":0.016129032258064516,"new":0.016129032258064516,"added":0.016129032258064516,"in":0.016129032258064516,"zookeeper-1179":0.016129032258064516,"this":0.016129032258064516,"is":0.016129032258064516,"the":0.016129032258064516,"setting":0.016129032258064516,"used":0.016129032258064516,"to":0.016129032258064516,"decide":0.016129032258064516,"hashset":0.016129032258064516,"cache":0.016129032258064516,"size":0.016129032258064516,"bithashset":0.016129032258064516,"implementation":0.016129032258064516,"without":0.016129032258064516,"we":0.016129032258064516,"need":0.016129032258064516,"use":0.016129032258064516,"o":0.016129032258064516,"n":0.016129032258064516,"time":0.016129032258064516,"get":0.016129032258064516,"elements":0.016129032258064516,"bit":0.016129032258064516,"numbers":0.016129032258064516,"elementbits":0.016129032258064516,"but":0.016129032258064516,"keep":0.016129032258064516,"small":0.016129032258064516,"make":0.016129032258064516,"sure":0.016129032258064516,"it":0.016129032258064516,"doesn't":0.016129032258064516,"cost":0.016129032258064516,"too":0.016129032258064516,"much":0.016129032258064516,"memory":0.016129032258064516,"there":0.016129032258064516,"a":0.016129032258064516,"trade":0.016129032258064516,"off":0.016129032258064516,"between":0.016129032258064516,"and":0.016129032258064516,"complexity":0.016129032258064516,"default":0.016129032258064516,"value":0.016129032258064516,"which":0.016129032258064516,"seems":0.016129032258064516,"relatively":0.016129032258064516,"reasonable":0.016129032258064516},"214":{"fastleader":0.020833333333333332,"minnotificationinterval":0.020833333333333332,"java":0.020833333333333332,"system":0.020833333333333332,"property":0.020833333333333332,"zookeeper":0.020833333333333332,"lower":0.020833333333333332,"bound":0.020833333333333332,"for":0.020833333333333332,"length":0.020833333333333332,"of":0.020833333333333332,"time":0.020833333333333332,"between":0.020833333333333332,"two":0.020833333333333332,"consecutive":0.020833333333333332,"notification":0.020833333333333332,"checks":0.020833333333333332,"on":0.020833333333333332,"the":0.020833333333333332,"leader":0.020833333333333332,"election":0.020833333333333332,"this":0.020833333333333332,"interval":0.020833333333333332,"determines":0.020833333333333332,"how":0.020833333333333332,"long":0.020833333333333332,"a":0.020833333333333332,"peer":0.020833333333333332,"waits":0.020833333333333332,"to":0.020833333333333332,"check":0.020833333333333332,"set":0.020833333333333332,"votes":0.020833333333333332,"and":0.020833333333333332,"effects":0.020833333333333332,"quickly":0.020833333333333332,"an":0.020833333333333332,"can":0.020833333333333332,"resolve":0.020833333333333332,"follows":0.020833333333333332,"backoff":0.020833333333333332,"strategy":0.020833333333333332,"from":0.020833333333333332,"configured":0.020833333333333332,"minimum":0.020833333333333332,"maximum":0.020833333333333332,"maxnotificationinterval":0.020833333333333332,"elections":0.020833333333333332},"215":{"fastleader":0.020833333333333332,"maxnotificationinterval":0.020833333333333332,"java":0.020833333333333332,"system":0.020833333333333332,"property":0.020833333333333332,"zookeeper":0.020833333333333332,"upper":0.020833333333333332,"bound":0.020833333333333332,"for":0.020833333333333332,"length":0.020833333333333332,"of":0.020833333333333332,"time":0.020833333333333332,"between":0.020833333333333332,"two":0.020833333333333332,"consecutive":0.020833333333333332,"notification":0.020833333333333332,"checks":0.020833333333333332,"on":0.020833333333333332,"the":0.020833333333333332,"leader":0.020833333333333332,"election":0.020833333333333332,"this":0.020833333333333332,"interval":0.020833333333333332,"determines":0.020833333333333332,"how":0.020833333333333332,"long":0.020833333333333332,"a":0.020833333333333332,"peer":0.020833333333333332,"waits":0.020833333333333332,"to":0.020833333333333332,"check":0.020833333333333332,"set":0.020833333333333332,"votes":0.020833333333333332,"and":0.020833333333333332,"effects":0.020833333333333332,"quickly":0.020833333333333332,"an":0.020833333333333332,"can":0.020833333333333332,"resolve":0.020833333333333332,"follows":0.020833333333333332,"backoff":0.020833333333333332,"strategy":0.020833333333333332,"from":0.020833333333333332,"configured":0.020833333333333332,"minimum":0.020833333333333332,"minnotificationinterval":0.020833333333333332,"maximum":0.020833333333333332,"elections":0.020833333333333332},"216":{"0":0.023255813953488372,"3":0.023255813953488372,"6":0.023255813953488372,"connectionmaxtokens":0.023255813953488372,"java":0.023255813953488372,"system":0.023255813953488372,"property":0.023255813953488372,"zookeeper":0.023255813953488372,"connection_throttle_tokens":0.023255813953488372,"new":0.023255813953488372,"in":0.023255813953488372,"this":0.023255813953488372,"is":0.023255813953488372,"one":0.023255813953488372,"of":0.023255813953488372,"the":0.023255813953488372,"parameters":0.023255813953488372,"to":0.023255813953488372,"tune":0.023255813953488372,"server-side":0.023255813953488372,"connection":0.023255813953488372,"throttler":0.023255813953488372,"which":0.023255813953488372,"a":0.023255813953488372,"token-based":0.023255813953488372,"rate":0.023255813953488372,"limiting":0.023255813953488372,"mechanism":0.023255813953488372,"with":0.023255813953488372,"optional":0.023255813953488372,"probabilistic":0.023255813953488372,"dropping":0.023255813953488372,"parameter":0.023255813953488372,"defines":0.023255813953488372,"maximum":0.023255813953488372,"number":0.023255813953488372,"tokens":0.023255813953488372,"token-bucket":0.023255813953488372,"when":0.023255813953488372,"set":0.023255813953488372,"throttling":0.023255813953488372,"disabled":0.023255813953488372,"default":0.023255813953488372},"217":{"0":0.022727272727272728,"1":0.022727272727272728,"3":0.022727272727272728,"6":0.022727272727272728,"connectiontokenfilltime":0.022727272727272728,"java":0.022727272727272728,"system":0.022727272727272728,"property":0.022727272727272728,"zookeeper":0.022727272727272728,"connection_throttle_fill_time":0.022727272727272728,"new":0.022727272727272728,"in":0.022727272727272728,"this":0.022727272727272728,"is":0.022727272727272728,"one":0.022727272727272728,"of":0.022727272727272728,"the":0.022727272727272728,"parameters":0.022727272727272728,"to":0.022727272727272728,"tune":0.022727272727272728,"server-side":0.022727272727272728,"connection":0.022727272727272728,"throttler":0.022727272727272728,"which":0.022727272727272728,"a":0.022727272727272728,"token-based":0.022727272727272728,"rate":0.022727272727272728,"limiting":0.022727272727272728,"mechanism":0.022727272727272728,"with":0.022727272727272728,"optional":0.022727272727272728,"probabilistic":0.022727272727272728,"dropping":0.022727272727272728,"parameter":0.022727272727272728,"defines":0.022727272727272728,"interval":0.022727272727272728,"milliseconds":0.022727272727272728,"when":0.022727272727272728,"token":0.022727272727272728,"bucket":0.022727272727272728,"re-filled":0.022727272727272728,"connectiontokenfillcount":0.022727272727272728,"tokens":0.022727272727272728,"default":0.022727272727272728},"218":{"0":0.022727272727272728,"1":0.022727272727272728,"3":0.022727272727272728,"6":0.022727272727272728,"connectiontokenfillcount":0.022727272727272728,"java":0.022727272727272728,"system":0.022727272727272728,"property":0.022727272727272728,"zookeeper":0.022727272727272728,"connection_throttle_fill_count":0.022727272727272728,"new":0.022727272727272728,"in":0.022727272727272728,"this":0.022727272727272728,"is":0.022727272727272728,"one":0.022727272727272728,"of":0.022727272727272728,"the":0.022727272727272728,"parameters":0.022727272727272728,"to":0.022727272727272728,"tune":0.022727272727272728,"server-side":0.022727272727272728,"connection":0.022727272727272728,"throttler":0.022727272727272728,"which":0.022727272727272728,"a":0.022727272727272728,"token-based":0.022727272727272728,"rate":0.022727272727272728,"limiting":0.022727272727272728,"mechanism":0.022727272727272728,"with":0.022727272727272728,"optional":0.022727272727272728,"probabilistic":0.022727272727272728,"dropping":0.022727272727272728,"parameter":0.022727272727272728,"defines":0.022727272727272728,"number":0.022727272727272728,"tokens":0.022727272727272728,"add":0.022727272727272728,"token":0.022727272727272728,"bucket":0.022727272727272728,"every":0.022727272727272728,"connectiontokenfilltime":0.022727272727272728,"milliseconds":0.022727272727272728,"default":0.022727272727272728},"219":{"0":0.023255813953488372,"3":0.023255813953488372,"6":0.023255813953488372,"connectionfreezetime":0.023255813953488372,"java":0.023255813953488372,"system":0.023255813953488372,"property":0.023255813953488372,"zookeeper":0.023255813953488372,"connection_throttle_freeze_time":0.023255813953488372,"new":0.023255813953488372,"in":0.023255813953488372,"this":0.023255813953488372,"is":0.023255813953488372,"one":0.023255813953488372,"of":0.023255813953488372,"the":0.023255813953488372,"parameters":0.023255813953488372,"to":0.023255813953488372,"tune":0.023255813953488372,"server-side":0.023255813953488372,"connection":0.023255813953488372,"throttler":0.023255813953488372,"which":0.023255813953488372,"a":0.023255813953488372,"token-based":0.023255813953488372,"rate":0.023255813953488372,"limiting":0.023255813953488372,"mechanism":0.023255813953488372,"with":0.023255813953488372,"optional":0.023255813953488372,"probabilistic":0.023255813953488372,"dropping":0.023255813953488372,"parameter":0.023255813953488372,"defines":0.023255813953488372,"interval":0.023255813953488372,"milliseconds":0.023255813953488372,"when":0.023255813953488372,"probability":0.023255813953488372,"adjusted":0.023255813953488372,"set":0.023255813953488372,"-1":0.023255813953488372,"disabled":0.023255813953488372,"default":0.023255813953488372},"220":{"0":0.0196078431372549,"3":0.0196078431372549,"6":0.0196078431372549,"connectiondropincrease":0.0196078431372549,"java":0.0196078431372549,"system":0.0196078431372549,"property":0.0196078431372549,"zookeeper":0.0196078431372549,"connection_throttle_drop_increase":0.0196078431372549,"new":0.0196078431372549,"in":0.0196078431372549,"this":0.0196078431372549,"is":0.0196078431372549,"one":0.0196078431372549,"of":0.0196078431372549,"the":0.0196078431372549,"parameters":0.0196078431372549,"to":0.0196078431372549,"tune":0.0196078431372549,"server-side":0.0196078431372549,"connection":0.0196078431372549,"throttler":0.0196078431372549,"which":0.0196078431372549,"a":0.0196078431372549,"token-based":0.0196078431372549,"rate":0.0196078431372549,"limiting":0.0196078431372549,"mechanism":0.0196078431372549,"with":0.0196078431372549,"optional":0.0196078431372549,"probabilistic":0.0196078431372549,"dropping":0.0196078431372549,"parameter":0.0196078431372549,"defines":0.0196078431372549,"probability":0.0196078431372549,"increase":0.0196078431372549,"checks":0.0196078431372549,"every":0.0196078431372549,"connectionfreezetime":0.0196078431372549,"milliseconds":0.0196078431372549,"and":0.0196078431372549,"if":0.0196078431372549,"token":0.0196078431372549,"bucket":0.0196078431372549,"empty":0.0196078431372549,"will":0.0196078431372549,"be":0.0196078431372549,"increased":0.0196078431372549,"by":0.0196078431372549,"default":0.0196078431372549,"02":0.0196078431372549},"221":{"0":0.017543859649122806,"3":0.017543859649122806,"6":0.017543859649122806,"connectiondropdecrease":0.017543859649122806,"java":0.017543859649122806,"system":0.017543859649122806,"property":0.017543859649122806,"zookeeper":0.017543859649122806,"connection_throttle_drop_decrease":0.017543859649122806,"new":0.017543859649122806,"in":0.017543859649122806,"this":0.017543859649122806,"is":0.017543859649122806,"one":0.017543859649122806,"of":0.017543859649122806,"the":0.017543859649122806,"parameters":0.017543859649122806,"to":0.017543859649122806,"tune":0.017543859649122806,"server-side":0.017543859649122806,"connection":0.017543859649122806,"throttler":0.017543859649122806,"which":0.017543859649122806,"a":0.017543859649122806,"token-based":0.017543859649122806,"rate":0.017543859649122806,"limiting":0.017543859649122806,"mechanism":0.017543859649122806,"with":0.017543859649122806,"optional":0.017543859649122806,"probabilistic":0.017543859649122806,"dropping":0.017543859649122806,"parameter":0.017543859649122806,"defines":0.017543859649122806,"probability":0.017543859649122806,"decrease":0.017543859649122806,"checks":0.017543859649122806,"every":0.017543859649122806,"connectionfreezetime":0.017543859649122806,"milliseconds":0.017543859649122806,"and":0.017543859649122806,"if":0.017543859649122806,"token":0.017543859649122806,"bucket":0.017543859649122806,"has":0.017543859649122806,"more":0.017543859649122806,"tokens":0.017543859649122806,"than":0.017543859649122806,"threshold":0.017543859649122806,"will":0.017543859649122806,"be":0.017543859649122806,"decreased":0.017543859649122806,"by":0.017543859649122806,"connectionmaxtokens":0.017543859649122806,"connectiondecreaseratio":0.017543859649122806,"default":0.017543859649122806,"002":0.017543859649122806},"222":{"0":0.02631578947368421,"3":0.02631578947368421,"6":0.02631578947368421,"connectiondecreaseratio":0.02631578947368421,"java":0.02631578947368421,"system":0.02631578947368421,"property":0.02631578947368421,"zookeeper":0.02631578947368421,"connection_throttle_decrease_ratio":0.02631578947368421,"new":0.02631578947368421,"in":0.02631578947368421,"this":0.02631578947368421,"is":0.02631578947368421,"one":0.02631578947368421,"of":0.02631578947368421,"the":0.02631578947368421,"parameters":0.02631578947368421,"to":0.02631578947368421,"tune":0.02631578947368421,"server-side":0.02631578947368421,"connection":0.02631578947368421,"throttler":0.02631578947368421,"which":0.02631578947368421,"a":0.02631578947368421,"token-based":0.02631578947368421,"rate":0.02631578947368421,"limiting":0.02631578947368421,"mechanism":0.02631578947368421,"with":0.02631578947368421,"optional":0.02631578947368421,"probabilistic":0.02631578947368421,"dropping":0.02631578947368421,"parameter":0.02631578947368421,"defines":0.02631578947368421,"threshold":0.02631578947368421,"decrease":0.02631578947368421,"probability":0.02631578947368421,"default":0.02631578947368421},"223":{"0":0.034482758620689655,"3":0.034482758620689655,"6":0.034482758620689655,"zookeeper":0.034482758620689655,"connection_throttle_weight_enabled":0.034482758620689655,"java":0.034482758620689655,"system":0.034482758620689655,"property":0.034482758620689655,"only":0.034482758620689655,"new":0.034482758620689655,"in":0.034482758620689655,"whether":0.034482758620689655,"to":0.034482758620689655,"consider":0.034482758620689655,"connection":0.034482758620689655,"weights":0.034482758620689655,"when":0.034482758620689655,"throttling":0.034482758620689655,"useful":0.034482758620689655,"throttle":0.034482758620689655,"is":0.034482758620689655,"enabled":0.034482758620689655,"that":0.034482758620689655,"connectionmaxtokens":0.034482758620689655,"larger":0.034482758620689655,"than":0.034482758620689655,"the":0.034482758620689655,"default":0.034482758620689655,"false":0.034482758620689655},"224":{"0":0.02631578947368421,"3":0.02631578947368421,"6":0.02631578947368421,"zookeeper":0.02631578947368421,"connection_throttle_global_session_weight":0.02631578947368421,"java":0.02631578947368421,"system":0.02631578947368421,"property":0.02631578947368421,"only":0.02631578947368421,"new":0.02631578947368421,"in":0.02631578947368421,"the":0.02631578947368421,"weight":0.02631578947368421,"of":0.02631578947368421,"a":0.02631578947368421,"global":0.02631578947368421,"session":0.02631578947368421,"it":0.02631578947368421,"is":0.02631578947368421,"number":0.02631578947368421,"tokens":0.02631578947368421,"required":0.02631578947368421,"for":0.02631578947368421,"request":0.02631578947368421,"to":0.02631578947368421,"get":0.02631578947368421,"through":0.02631578947368421,"connection":0.02631578947368421,"throttler":0.02631578947368421,"has":0.02631578947368421,"be":0.02631578947368421,"positive":0.02631578947368421,"integer":0.02631578947368421,"no":0.02631578947368421,"smaller":0.02631578947368421,"than":0.02631578947368421,"local":0.02631578947368421,"default":0.02631578947368421},"225":{"0":0.024390243902439025,"1":0.024390243902439025,"3":0.024390243902439025,"6":0.024390243902439025,"zookeeper":0.024390243902439025,"connection_throttle_local_session_weight":0.024390243902439025,"java":0.024390243902439025,"system":0.024390243902439025,"property":0.024390243902439025,"only":0.024390243902439025,"new":0.024390243902439025,"in":0.024390243902439025,"the":0.024390243902439025,"weight":0.024390243902439025,"of":0.024390243902439025,"a":0.024390243902439025,"local":0.024390243902439025,"session":0.024390243902439025,"it":0.024390243902439025,"is":0.024390243902439025,"number":0.024390243902439025,"tokens":0.024390243902439025,"required":0.024390243902439025,"for":0.024390243902439025,"request":0.024390243902439025,"to":0.024390243902439025,"get":0.024390243902439025,"through":0.024390243902439025,"connection":0.024390243902439025,"throttler":0.024390243902439025,"has":0.024390243902439025,"be":0.024390243902439025,"positive":0.024390243902439025,"integer":0.024390243902439025,"no":0.024390243902439025,"larger":0.024390243902439025,"than":0.024390243902439025,"global":0.024390243902439025,"or":0.024390243902439025,"renew":0.024390243902439025,"default":0.024390243902439025},"226":{"0":0.025,"2":0.025,"3":0.025,"6":0.025,"zookeeper":0.025,"connection_throttle_renew_session_weight":0.025,"java":0.025,"system":0.025,"property":0.025,"only":0.025,"new":0.025,"in":0.025,"the":0.025,"weight":0.025,"of":0.025,"renewing":0.025,"a":0.025,"session":0.025,"it":0.025,"is":0.025,"also":0.025,"number":0.025,"tokens":0.025,"required":0.025,"for":0.025,"reconnect":0.025,"request":0.025,"to":0.025,"get":0.025,"through":0.025,"throttler":0.025,"has":0.025,"be":0.025,"positive":0.025,"integer":0.025,"no":0.025,"smaller":0.025,"than":0.025,"local":0.025,"default":0.025},"227":{"0":0.017543859649122806,"3":0.017543859649122806,"4":0.017543859649122806,"5":0.017543859649122806,"6":0.017543859649122806,"14":0.017543859649122806,"50":0.017543859649122806,"clientportlistenbacklog":0.017543859649122806,"no":0.017543859649122806,"java":0.017543859649122806,"system":0.017543859649122806,"property":0.017543859649122806,"new":0.017543859649122806,"in":0.017543859649122806,"the":0.017543859649122806,"socket":0.017543859649122806,"backlog":0.017543859649122806,"length":0.017543859649122806,"for":0.017543859649122806,"zookeeper":0.017543859649122806,"server":0.017543859649122806,"this":0.017543859649122806,"controls":0.017543859649122806,"number":0.017543859649122806,"of":0.017543859649122806,"requests":0.017543859649122806,"that":0.017543859649122806,"will":0.017543859649122806,"be":0.017543859649122806,"queued":0.017543859649122806,"server-side":0.017543859649122806,"to":0.017543859649122806,"processed":0.017543859649122806,"by":0.017543859649122806,"connections":0.017543859649122806,"exceed":0.017543859649122806,"receive":0.017543859649122806,"a":0.017543859649122806,"network":0.017543859649122806,"timeout":0.017543859649122806,"30s":0.017543859649122806,"which":0.017543859649122806,"may":0.017543859649122806,"cause":0.017543859649122806,"session":0.017543859649122806,"expiry":0.017543859649122806,"issues":0.017543859649122806,"default":0.017543859649122806,"value":0.017543859649122806,"is":0.017543859649122806,"unset":0.017543859649122806,"-1":0.017543859649122806,"on":0.017543859649122806,"linux":0.017543859649122806,"uses":0.017543859649122806,"must":0.017543859649122806,"positive":0.017543859649122806},"228":{"servercnxnfactory":0.043478260869565216,"java":0.043478260869565216,"system":0.043478260869565216,"property":0.043478260869565216,"zookeeper":0.043478260869565216,"specifies":0.043478260869565216,"implementation":0.043478260869565216,"this":0.043478260869565216,"should":0.043478260869565216,"be":0.043478260869565216,"set":0.043478260869565216,"to":0.043478260869565216,"nettyservercnxnfactory":0.043478260869565216,"in":0.043478260869565216,"order":0.043478260869565216,"use":0.043478260869565216,"tls":0.043478260869565216,"based":0.043478260869565216,"server":0.043478260869565216,"communication":0.043478260869565216,"default":0.043478260869565216,"is":0.043478260869565216,"nioservercnxnfactory":0.043478260869565216},"229":{"0":0.02631578947368421,"flushdelay":0.02631578947368421,"java":0.02631578947368421,"system":0.02631578947368421,"property":0.02631578947368421,"zookeeper":0.02631578947368421,"time":0.02631578947368421,"in":0.02631578947368421,"milliseconds":0.02631578947368421,"to":0.02631578947368421,"delay":0.02631578947368421,"the":0.02631578947368421,"flush":0.02631578947368421,"of":0.02631578947368421,"commit":0.02631578947368421,"log":0.02631578947368421,"does":0.02631578947368421,"not":0.02631578947368421,"affect":0.02631578947368421,"limit":0.02631578947368421,"defined":0.02631578947368421,"by":0.02631578947368421,"maxbatchsize":0.02631578947368421,"disabled":0.02631578947368421,"default":0.02631578947368421,"with":0.02631578947368421,"value":0.02631578947368421,"ensembles":0.02631578947368421,"high":0.02631578947368421,"write":0.02631578947368421,"rates":0.02631578947368421,"may":0.02631578947368421,"see":0.02631578947368421,"throughput":0.02631578947368421,"improved":0.02631578947368421,"a":0.02631578947368421,"10-20":0.02631578947368421,"ms":0.02631578947368421},"230":{"3":0.029411764705882353,"maxwritequeuepolltime":0.029411764705882353,"java":0.029411764705882353,"system":0.029411764705882353,"property":0.029411764705882353,"zookeeper":0.029411764705882353,"if":0.029411764705882353,"flushdelay":0.029411764705882353,"is":0.029411764705882353,"enabled":0.029411764705882353,"this":0.029411764705882353,"determines":0.029411764705882353,"the":0.029411764705882353,"amount":0.029411764705882353,"of":0.029411764705882353,"time":0.029411764705882353,"in":0.029411764705882353,"milliseconds":0.029411764705882353,"to":0.029411764705882353,"wait":0.029411764705882353,"before":0.029411764705882353,"flushing":0.029411764705882353,"when":0.029411764705882353,"no":0.029411764705882353,"new":0.029411764705882353,"requests":0.029411764705882353,"are":0.029411764705882353,"being":0.029411764705882353,"queued":0.029411764705882353,"set":0.029411764705882353,"by":0.029411764705882353,"default":0.029411764705882353,"implicitly":0.029411764705882353,"disabled":0.029411764705882353},"231":{"1000":0.03571428571428571,"maxbatchsize":0.03571428571428571,"java":0.03571428571428571,"system":0.03571428571428571,"property":0.03571428571428571,"zookeeper":0.03571428571428571,"the":0.03571428571428571,"number":0.03571428571428571,"of":0.03571428571428571,"transactions":0.03571428571428571,"allowed":0.03571428571428571,"in":0.03571428571428571,"server":0.03571428571428571,"before":0.03571428571428571,"a":0.03571428571428571,"flush":0.03571428571428571,"commit":0.03571428571428571,"log":0.03571428571428571,"is":0.03571428571428571,"triggered":0.03571428571428571,"does":0.03571428571428571,"not":0.03571428571428571,"affect":0.03571428571428571,"limit":0.03571428571428571,"defined":0.03571428571428571,"by":0.03571428571428571,"flushdelay":0.03571428571428571,"default":0.03571428571428571},"232":{"0":0.022222222222222223,"3":0.022222222222222223,"7":0.022222222222222223,"enforcequota":0.022222222222222223,"java":0.022222222222222223,"system":0.022222222222222223,"property":0.022222222222222223,"zookeeper":0.022222222222222223,"new":0.022222222222222223,"in":0.022222222222222223,"enforce":0.022222222222222223,"the":0.022222222222222223,"quota":0.022222222222222223,"check":0.022222222222222223,"when":0.022222222222222223,"enabled":0.022222222222222223,"and":0.022222222222222223,"client":0.022222222222222223,"exceeds":0.022222222222222223,"total":0.022222222222222223,"bytes":0.022222222222222223,"or":0.022222222222222223,"children":0.022222222222222223,"count":0.022222222222222223,"hard":0.022222222222222223,"under":0.022222222222222223,"a":0.022222222222222223,"znode":0.022222222222222223,"server":0.022222222222222223,"will":0.022222222222222223,"reject":0.022222222222222223,"request":0.022222222222222223,"reply":0.022222222222222223,"quotaexceededexception":0.022222222222222223,"by":0.022222222222222223,"force":0.022222222222222223,"default":0.022222222222222223,"value":0.022222222222222223,"is":0.022222222222222223,"false":0.022222222222222223,"exploring":0.022222222222222223,"feature":0.022222222222222223,"for":0.022222222222222223,"more":0.022222222222222223,"details":0.022222222222222223},"233":{"0":0.034482758620689655,"3":0.034482758620689655,"6":0.034482758620689655,"requestthrottlelimit":0.034482758620689655,"java":0.034482758620689655,"system":0.034482758620689655,"property":0.034482758620689655,"zookeeper":0.034482758620689655,"request_throttle_max_requests":0.034482758620689655,"new":0.034482758620689655,"in":0.034482758620689655,"the":0.034482758620689655,"total":0.034482758620689655,"number":0.034482758620689655,"of":0.034482758620689655,"outstanding":0.034482758620689655,"requests":0.034482758620689655,"allowed":0.034482758620689655,"before":0.034482758620689655,"requestthrottler":0.034482758620689655,"starts":0.034482758620689655,"stalling":0.034482758620689655,"when":0.034482758620689655,"set":0.034482758620689655,"to":0.034482758620689655,"throttling":0.034482758620689655,"is":0.034482758620689655,"disabled":0.034482758620689655,"default":0.034482758620689655},"234":{"0":0.03125,"3":0.03125,"6":0.03125,"100":0.03125,"requestthrottlestalltime":0.03125,"java":0.03125,"system":0.03125,"property":0.03125,"zookeeper":0.03125,"request_throttle_stall_time":0.03125,"new":0.03125,"in":0.03125,"the":0.03125,"maximum":0.03125,"time":0.03125,"milliseconds":0.03125,"for":0.03125,"which":0.03125,"a":0.03125,"thread":0.03125,"may":0.03125,"wait":0.03125,"to":0.03125,"be":0.03125,"notified":0.03125,"that":0.03125,"it":0.03125,"proceed":0.03125,"processing":0.03125,"request":0.03125,"default":0.03125,"is":0.03125},"235":{"0":0.024390243902439025,"3":0.024390243902439025,"6":0.024390243902439025,"requestthrottledropstale":0.024390243902439025,"java":0.024390243902439025,"system":0.024390243902439025,"property":0.024390243902439025,"request_throttle_drop_stale":0.024390243902439025,"new":0.024390243902439025,"in":0.024390243902439025,"when":0.024390243902439025,"enabled":0.024390243902439025,"the":0.024390243902439025,"throttler":0.024390243902439025,"will":0.024390243902439025,"drop":0.024390243902439025,"stale":0.024390243902439025,"requests":0.024390243902439025,"rather":0.024390243902439025,"than":0.024390243902439025,"issue":0.024390243902439025,"them":0.024390243902439025,"to":0.024390243902439025,"request":0.024390243902439025,"pipeline":0.024390243902439025,"a":0.024390243902439025,"is":0.024390243902439025,"sent":0.024390243902439025,"by":0.024390243902439025,"connection":0.024390243902439025,"that":0.024390243902439025,"now":0.024390243902439025,"closed":0.024390243902439025,"and":0.024390243902439025,"or":0.024390243902439025,"have":0.024390243902439025,"latency":0.024390243902439025,"higher":0.024390243902439025,"sessiontimeout":0.024390243902439025,"default":0.024390243902439025,"true":0.024390243902439025},"236":{"0":0.03333333333333333,"3":0.03333333333333333,"6":0.03333333333333333,"requeststalelatencycheck":0.03333333333333333,"java":0.03333333333333333,"system":0.03333333333333333,"property":0.03333333333333333,"zookeeper":0.03333333333333333,"request_stale_latency_check":0.03333333333333333,"new":0.03333333333333333,"in":0.03333333333333333,"when":0.03333333333333333,"enabled":0.03333333333333333,"a":0.03333333333333333,"request":0.03333333333333333,"is":0.03333333333333333,"considered":0.03333333333333333,"stale":0.03333333333333333,"if":0.03333333333333333,"the":0.03333333333333333,"latency":0.03333333333333333,"higher":0.03333333333333333,"than":0.03333333333333333,"its":0.03333333333333333,"associated":0.03333333333333333,"session":0.03333333333333333,"timeout":0.03333333333333333,"disabled":0.03333333333333333,"by":0.03333333333333333,"default":0.03333333333333333},"237":{"0":0.038461538461538464,"3":0.038461538461538464,"6":0.038461538461538464,"requeststaleconnectioncheck":0.038461538461538464,"java":0.038461538461538464,"system":0.038461538461538464,"property":0.038461538461538464,"zookeeper":0.038461538461538464,"request_stale_connection_check":0.038461538461538464,"new":0.038461538461538464,"in":0.038461538461538464,"when":0.038461538461538464,"enabled":0.038461538461538464,"a":0.038461538461538464,"request":0.038461538461538464,"is":0.038461538461538464,"considered":0.038461538461538464,"stale":0.038461538461538464,"if":0.038461538461538464,"the":0.038461538461538464,"request's":0.038461538461538464,"connection":0.038461538461538464,"has":0.038461538461538464,"closed":0.038461538461538464,"by":0.038461538461538464,"default":0.038461538461538464},"238":{"0":0.03125,"3":0.03125,"6":0.03125,"10000":0.03125,"zookeeper":0.03125,"request_throttler":0.03125,"shutdowntimeout":0.03125,"java":0.03125,"system":0.03125,"property":0.03125,"only":0.03125,"new":0.03125,"in":0.03125,"the":0.03125,"time":0.03125,"milliseconds":0.03125,"requestthrottler":0.03125,"waits":0.03125,"for":0.03125,"request":0.03125,"queue":0.03125,"to":0.03125,"drain":0.03125,"during":0.03125,"shutdown":0.03125,"before":0.03125,"it":0.03125,"shuts":0.03125,"down":0.03125,"forcefully":0.03125,"default":0.03125,"is":0.03125},"239":{"advancedflowcontrolenabled":0.03571428571428571,"java":0.03571428571428571,"system":0.03571428571428571,"property":0.03571428571428571,"zookeeper":0.03571428571428571,"netty":0.03571428571428571,"advancedflowcontrol":0.03571428571428571,"enabled":0.03571428571428571,"using":0.03571428571428571,"accurate":0.03571428571428571,"flow":0.03571428571428571,"control":0.03571428571428571,"in":0.03571428571428571,"based":0.03571428571428571,"on":0.03571428571428571,"the":0.03571428571428571,"status":0.03571428571428571,"of":0.03571428571428571,"pipeline":0.03571428571428571,"to":0.03571428571428571,"avoid":0.03571428571428571,"direct":0.03571428571428571,"buffer":0.03571428571428571,"oom":0.03571428571428571,"it":0.03571428571428571,"will":0.03571428571428571,"disable":0.03571428571428571,"auto_read":0.03571428571428571},"240":{"enableeageraclcheck":0.037037037037037035,"java":0.037037037037037035,"system":0.037037037037037035,"property":0.037037037037037035,"only":0.037037037037037035,"zookeeper":0.037037037037037035,"when":0.037037037037037035,"set":0.037037037037037035,"to":0.037037037037037035,"true":0.037037037037037035,"enables":0.037037037037037035,"eager":0.037037037037037035,"acl":0.037037037037037035,"check":0.037037037037037035,"on":0.037037037037037035,"write":0.037037037037037035,"requests":0.037037037037037035,"each":0.037037037037037035,"local":0.037037037037037035,"server":0.037037037037037035,"before":0.037037037037037035,"sending":0.037037037037037035,"the":0.037037037037037035,"quorum":0.037037037037037035,"default":0.037037037037037035,"is":0.037037037037037035,"false":0.037037037037037035},"241":{"10":0.043478260869565216,"maxconcurrentsnapsyncs":0.043478260869565216,"java":0.043478260869565216,"system":0.043478260869565216,"property":0.043478260869565216,"zookeeper":0.043478260869565216,"leader":0.043478260869565216,"the":0.043478260869565216,"maximum":0.043478260869565216,"number":0.043478260869565216,"of":0.043478260869565216,"snap":0.043478260869565216,"syncs":0.043478260869565216,"a":0.043478260869565216,"or":0.043478260869565216,"follower":0.043478260869565216,"can":0.043478260869565216,"serve":0.043478260869565216,"at":0.043478260869565216,"same":0.043478260869565216,"time":0.043478260869565216,"default":0.043478260869565216,"is":0.043478260869565216},"242":{"100":0.043478260869565216,"maxconcurrentdiffsyncs":0.043478260869565216,"java":0.043478260869565216,"system":0.043478260869565216,"property":0.043478260869565216,"zookeeper":0.043478260869565216,"leader":0.043478260869565216,"the":0.043478260869565216,"maximum":0.043478260869565216,"number":0.043478260869565216,"of":0.043478260869565216,"diff":0.043478260869565216,"syncs":0.043478260869565216,"a":0.043478260869565216,"or":0.043478260869565216,"follower":0.043478260869565216,"can":0.043478260869565216,"serve":0.043478260869565216,"at":0.043478260869565216,"same":0.043478260869565216,"time":0.043478260869565216,"default":0.043478260869565216,"is":0.043478260869565216},"243":{"0":0.023255813953488372,"3":0.023255813953488372,"6":0.023255813953488372,"digest":0.023255813953488372,"enabled":0.023255813953488372,"java":0.023255813953488372,"system":0.023255813953488372,"property":0.023255813953488372,"only":0.023255813953488372,"zookeeper":0.023255813953488372,"new":0.023255813953488372,"in":0.023255813953488372,"the":0.023255813953488372,"feature":0.023255813953488372,"is":0.023255813953488372,"added":0.023255813953488372,"to":0.023255813953488372,"detect":0.023255813953488372,"data":0.023255813953488372,"inconsistency":0.023255813953488372,"inside":0.023255813953488372,"when":0.023255813953488372,"loading":0.023255813953488372,"database":0.023255813953488372,"from":0.023255813953488372,"disk":0.023255813953488372,"catching":0.023255813953488372,"up":0.023255813953488372,"and":0.023255813953488372,"following":0.023255813953488372,"leader":0.023255813953488372,"its":0.023255813953488372,"doing":0.023255813953488372,"incrementally":0.023255813953488372,"hash":0.023255813953488372,"check":0.023255813953488372,"for":0.023255813953488372,"datatree":0.023255813953488372,"based":0.023255813953488372,"on":0.023255813953488372,"adhash":0.023255813953488372,"paper":0.023255813953488372,"mentioned":0.023255813953488372},"244":{"https":0.125,"cseweb":0.125,"ucsd":0.125,"edu":0.125,"daniele":0.125,"papers":0.125,"inchash":0.125,"pdf":0.125},"245":{"the":0.03571428571428571,"idea":0.03571428571428571,"is":0.03571428571428571,"simple":0.03571428571428571,"hash":0.03571428571428571,"value":0.03571428571428571,"of":0.03571428571428571,"datatree":0.03571428571428571,"will":0.03571428571428571,"be":0.03571428571428571,"updated":0.03571428571428571,"incrementally":0.03571428571428571,"based":0.03571428571428571,"on":0.03571428571428571,"changes":0.03571428571428571,"to":0.03571428571428571,"set":0.03571428571428571,"data":0.03571428571428571,"when":0.03571428571428571,"leader":0.03571428571428571,"preparing":0.03571428571428571,"txn":0.03571428571428571,"it":0.03571428571428571,"pre-calculate":0.03571428571428571,"tree":0.03571428571428571,"happened":0.03571428571428571,"with":0.03571428571428571,"formula":0.03571428571428571},"246":{"current_hash":0.14285714285714285,"hash":0.14285714285714285,"new":0.14285714285714285,"node":0.14285714285714285,"data":0.14285714285714285,"-":0.14285714285714285,"old":0.14285714285714285},"247":{"0":0.058823529411764705,"if":0.058823529411764705,"it":0.058823529411764705,"s":0.058823529411764705,"creating":0.058823529411764705,"a":0.058823529411764705,"new":0.058823529411764705,"node":0.058823529411764705,"the":0.058823529411764705,"hash":0.058823529411764705,"old":0.058823529411764705,"data":0.058823529411764705,"will":0.058823529411764705,"be":0.058823529411764705,"and":0.058823529411764705,"delete":0.058823529411764705,"op":0.058823529411764705},"248":{"this":0.029411764705882353,"hash":0.029411764705882353,"will":0.029411764705882353,"be":0.029411764705882353,"associated":0.029411764705882353,"with":0.029411764705882353,"each":0.029411764705882353,"txn":0.029411764705882353,"to":0.029411764705882353,"represent":0.029411764705882353,"the":0.029411764705882353,"expected":0.029411764705882353,"value":0.029411764705882353,"after":0.029411764705882353,"applying":0.029411764705882353,"data":0.029411764705882353,"tree":0.029411764705882353,"it":0.029411764705882353,"sent":0.029411764705882353,"followers":0.029411764705882353,"original":0.029411764705882353,"proposals":0.029411764705882353,"learner":0.029411764705882353,"compare":0.029411764705882353,"actual":0.029411764705882353,"one":0.029411764705882353,"in":0.029411764705882353,"and":0.029411764705882353,"report":0.029411764705882353,"mismatch":0.029411764705882353,"if":0.029411764705882353,"s":0.029411764705882353,"not":0.029411764705882353,"same":0.029411764705882353},"249":{"these":0.02857142857142857,"digest":0.02857142857142857,"value":0.02857142857142857,"will":0.02857142857142857,"also":0.02857142857142857,"be":0.02857142857142857,"persisted":0.02857142857142857,"with":0.02857142857142857,"each":0.02857142857142857,"txn":0.02857142857142857,"and":0.02857142857142857,"snapshot":0.02857142857142857,"on":0.02857142857142857,"the":0.02857142857142857,"disk":0.02857142857142857,"so":0.02857142857142857,"when":0.02857142857142857,"servers":0.02857142857142857,"restarted":0.02857142857142857,"load":0.02857142857142857,"data":0.02857142857142857,"from":0.02857142857142857,"it":0.02857142857142857,"compare":0.02857142857142857,"see":0.02857142857142857,"if":0.02857142857142857,"there":0.02857142857142857,"is":0.02857142857142857,"hash":0.02857142857142857,"mismatch":0.02857142857142857,"which":0.02857142857142857,"help":0.02857142857142857,"detect":0.02857142857142857,"loss":0.02857142857142857,"issue":0.02857142857142857},"250":{"for":0.03125,"the":0.03125,"actual":0.03125,"hash":0.03125,"function":0.03125,"we":0.03125,"re":0.03125,"using":0.03125,"crc":0.03125,"internally":0.03125,"it":0.03125,"s":0.03125,"not":0.03125,"a":0.03125,"collisionless":0.03125,"but":0.03125,"more":0.03125,"efficient":0.03125,"compared":0.03125,"to":0.03125,"and":0.03125,"collision":0.03125,"possibility":0.03125,"is":0.03125,"really":0.03125,"rare":0.03125,"can":0.03125,"already":0.03125,"meet":0.03125,"our":0.03125,"needs":0.03125,"here":0.03125},"251":{"this":0.03571428571428571,"feature":0.03571428571428571,"is":0.03571428571428571,"backward":0.03571428571428571,"and":0.03571428571428571,"forward":0.03571428571428571,"compatible":0.03571428571428571,"so":0.03571428571428571,"it":0.03571428571428571,"can":0.03571428571428571,"safely":0.03571428571428571,"roll":0.03571428571428571,"upgrade":0.03571428571428571,"downgrade":0.03571428571428571,"enabled":0.03571428571428571,"later":0.03571428571428571,"disabled":0.03571428571428571,"without":0.03571428571428571,"any":0.03571428571428571,"issue":0.03571428571428571,"here":0.03571428571428571,"are":0.03571428571428571,"the":0.03571428571428571,"scenarios":0.03571428571428571,"have":0.03571428571428571,"been":0.03571428571428571,"covered":0.03571428571428571,"tested":0.03571428571428571},"252":{"when":0.029411764705882353,"leader":0.029411764705882353,"runs":0.029411764705882353,"with":0.029411764705882353,"new":0.029411764705882353,"code":0.029411764705882353,"while":0.029411764705882353,"follower":0.029411764705882353,"old":0.029411764705882353,"one":0.029411764705882353,"the":0.029411764705882353,"digest":0.029411764705882353,"will":0.029411764705882353,"be":0.029411764705882353,"appended":0.029411764705882353,"to":0.029411764705882353,"end":0.029411764705882353,"of":0.029411764705882353,"each":0.029411764705882353,"txn":0.029411764705882353,"only":0.029411764705882353,"read":0.029411764705882353,"header":0.029411764705882353,"and":0.029411764705882353,"data":0.029411764705882353,"value":0.029411764705882353,"in":0.029411764705882353,"ignored":0.029411764705882353,"it":0.029411764705882353,"won't":0.029411764705882353,"affect":0.029411764705882353,"reads":0.029411764705882353,"processes":0.029411764705882353,"next":0.029411764705882353},"253":{"when":0.03125,"leader":0.03125,"runs":0.03125,"with":0.03125,"old":0.03125,"code":0.03125,"while":0.03125,"follower":0.03125,"new":0.03125,"one":0.03125,"the":0.03125,"digest":0.03125,"won't":0.03125,"be":0.03125,"sent":0.03125,"txn":0.03125,"tries":0.03125,"to":0.03125,"read":0.03125,"it":0.03125,"will":0.03125,"throw":0.03125,"eof":0.03125,"which":0.03125,"is":0.03125,"caught":0.03125,"and":0.03125,"handled":0.03125,"gracefully":0.03125,"value":0.03125,"set":0.03125,"null":0.03125},"254":{"when":0.027777777777777776,"loading":0.027777777777777776,"old":0.027777777777777776,"snapshot":0.027777777777777776,"with":0.027777777777777776,"new":0.027777777777777776,"code":0.027777777777777776,"it":0.027777777777777776,"will":0.027777777777777776,"throw":0.027777777777777776,"ioexception":0.027777777777777776,"trying":0.027777777777777776,"to":0.027777777777777776,"read":0.027777777777777776,"the":0.027777777777777776,"non-exist":0.027777777777777776,"digest":0.027777777777777776,"value":0.027777777777777776,"and":0.027777777777777776,"exception":0.027777777777777776,"be":0.027777777777777776,"caught":0.027777777777777776,"set":0.027777777777777776,"null":0.027777777777777776,"which":0.027777777777777776,"means":0.027777777777777776,"we":0.027777777777777776,"won't":0.027777777777777776,"compare":0.027777777777777776,"this":0.027777777777777776,"is":0.027777777777777776,"expected":0.027777777777777776,"happen":0.027777777777777776,"during":0.027777777777777776,"rolling":0.027777777777777776,"upgrade":0.027777777777777776},"255":{"when":0.041666666666666664,"loading":0.041666666666666664,"new":0.041666666666666664,"snapshot":0.041666666666666664,"with":0.041666666666666664,"old":0.041666666666666664,"code":0.041666666666666664,"it":0.041666666666666664,"will":0.041666666666666664,"finish":0.041666666666666664,"successfully":0.041666666666666664,"after":0.041666666666666664,"deserializing":0.041666666666666664,"the":0.041666666666666664,"data":0.041666666666666664,"tree":0.041666666666666664,"digest":0.041666666666666664,"value":0.041666666666666664,"at":0.041666666666666664,"end":0.041666666666666664,"of":0.041666666666666664,"file":0.041666666666666664,"be":0.041666666666666664,"ignored":0.041666666666666664},"256":{"the":0.02564102564102564,"scenarios":0.02564102564102564,"of":0.02564102564102564,"rolling":0.02564102564102564,"restart":0.02564102564102564,"with":0.02564102564102564,"flags":0.02564102564102564,"change":0.02564102564102564,"are":0.02564102564102564,"similar":0.02564102564102564,"to":0.02564102564102564,"1st":0.02564102564102564,"and":0.02564102564102564,"2nd":0.02564102564102564,"discussed":0.02564102564102564,"above":0.02564102564102564,"if":0.02564102564102564,"leader":0.02564102564102564,"enabled":0.02564102564102564,"but":0.02564102564102564,"follower":0.02564102564102564,"not":0.02564102564102564,"digest":0.02564102564102564,"value":0.02564102564102564,"will":0.02564102564102564,"be":0.02564102564102564,"ignored":0.02564102564102564,"won't":0.02564102564102564,"compare":0.02564102564102564,"during":0.02564102564102564,"runtime":0.02564102564102564,"disabled":0.02564102564102564,"get":0.02564102564102564,"eof":0.02564102564102564,"exception":0.02564102564102564,"which":0.02564102564102564,"is":0.02564102564102564,"handled":0.02564102564102564,"gracefully":0.02564102564102564},"257":{"note":0.04,"the":0.04,"current":0.04,"digest":0.04,"calculation":0.04,"excluded":0.04,"nodes":0.04,"under":0.04,"zookeeper":0.04,"due":0.04,"to":0.04,"potential":0.04,"inconsistency":0.04,"in":0.04,"quota":0.04,"stat":0.04,"node":0.04,"we":0.04,"can":0.04,"include":0.04,"that":0.04,"after":0.04,"issue":0.04,"is":0.04,"fixed":0.04},"258":{"by":0.09090909090909091,"default":0.09090909090909091,"this":0.09090909090909091,"feature":0.09090909090909091,"is":0.09090909090909091,"enabled":0.09090909090909091,"set":0.09090909090909091,"false":0.09090909090909091,"to":0.09090909090909091,"disable":0.09090909090909091,"it":0.09090909090909091},"259":{"0":0.03333333333333333,"3":0.03333333333333333,"6":0.03333333333333333,"snapshot":0.03333333333333333,"compression":0.03333333333333333,"method":0.03333333333333333,"java":0.03333333333333333,"system":0.03333333333333333,"property":0.03333333333333333,"zookeeper":0.03333333333333333,"new":0.03333333333333333,"in":0.03333333333333333,"this":0.03333333333333333,"controls":0.03333333333333333,"whether":0.03333333333333333,"or":0.03333333333333333,"not":0.03333333333333333,"should":0.03333333333333333,"compress":0.03333333333333333,"snapshots":0.03333333333333333,"before":0.03333333333333333,"storing":0.03333333333333333,"them":0.03333333333333333,"on":0.03333333333333333,"disk":0.03333333333333333,"see":0.03333333333333333,"zookeeper-3179":0.03333333333333333,"possible":0.03333333333333333,"values":0.03333333333333333,"are":0.03333333333333333},"260":{"disabled":0.1111111111111111,"no":0.1111111111111111,"snapshot":0.1111111111111111,"compression":0.1111111111111111,"this":0.1111111111111111,"is":0.1111111111111111,"the":0.1111111111111111,"default":0.1111111111111111,"behavior":0.1111111111111111},"261":{"gz":0.25,"see":0.25,"gzip":0.25,"compression":0.25},"262":{"snappy":0.3333333333333333,"see":0.3333333333333333,"compression":0.3333333333333333},"263":{"3":0.013157894736842105,"4":0.013157894736842105,"5":0.013157894736842105,"6":0.013157894736842105,"snapshot":0.013157894736842105,"trust":0.013157894736842105,"empty":0.013157894736842105,"java":0.013157894736842105,"system":0.013157894736842105,"property":0.013157894736842105,"zookeeper":0.013157894736842105,"new":0.013157894736842105,"in":0.013157894736842105,"this":0.013157894736842105,"controls":0.013157894736842105,"whether":0.013157894736842105,"or":0.013157894736842105,"not":0.013157894736842105,"should":0.013157894736842105,"treat":0.013157894736842105,"missing":0.013157894736842105,"files":0.013157894736842105,"as":0.013157894736842105,"a":0.013157894736842105,"fatal":0.013157894736842105,"state":0.013157894736842105,"that":0.013157894736842105,"can't":0.013157894736842105,"be":0.013157894736842105,"recovered":0.013157894736842105,"from":0.013157894736842105,"set":0.013157894736842105,"to":0.013157894736842105,"true":0.013157894736842105,"allow":0.013157894736842105,"servers":0.013157894736842105,"recover":0.013157894736842105,"without":0.013157894736842105,"only":0.013157894736842105,"during":0.013157894736842105,"upgrading":0.013157894736842105,"old":0.013157894736842105,"versions":0.013157894736842105,"of":0.013157894736842105,"x":0.013157894736842105,"pre":0.013157894736842105,"where":0.013157894736842105,"might":0.013157894736842105,"have":0.013157894736842105,"transaction":0.013157894736842105,"log":0.013157894736842105,"but":0.013157894736842105,"presence":0.013157894736842105,"if":0.013157894736842105,"the":0.013157894736842105,"value":0.013157894736842105,"is":0.013157894736842105,"upgrade":0.013157894736842105,"we":0.013157894736842105,"recommend":0.013157894736842105,"setting":0.013157894736842105,"back":0.013157894736842105,"false":0.013157894736842105,"after":0.013157894736842105,"and":0.013157894736842105,"restart":0.013157894736842105,"process":0.013157894736842105,"so":0.013157894736842105,"can":0.013157894736842105,"continue":0.013157894736842105,"normal":0.013157894736842105,"data":0.013157894736842105,"consistency":0.013157894736842105,"check":0.013157894736842105,"recovery":0.013157894736842105,"default":0.013157894736842105},"264":{"0":0.03571428571428571,"3":0.03571428571428571,"6":0.03571428571428571,"audit":0.03571428571428571,"enable":0.03571428571428571,"java":0.03571428571428571,"system":0.03571428571428571,"property":0.03571428571428571,"zookeeper":0.03571428571428571,"new":0.03571428571428571,"in":0.03571428571428571,"by":0.03571428571428571,"default":0.03571428571428571,"logs":0.03571428571428571,"are":0.03571428571428571,"disabled":0.03571428571428571,"set":0.03571428571428571,"to":0.03571428571428571,"true":0.03571428571428571,"it":0.03571428571428571,"value":0.03571428571428571,"is":0.03571428571428571,"false":0.03571428571428571,"see":0.03571428571428571,"the":0.03571428571428571,"for":0.03571428571428571,"more":0.03571428571428571,"information":0.03571428571428571},"265":{"0":0.03333333333333333,"3":0.03333333333333333,"6":0.03333333333333333,"audit":0.03333333333333333,"impl":0.03333333333333333,"class":0.03333333333333333,"java":0.03333333333333333,"system":0.03333333333333333,"property":0.03333333333333333,"zookeeper":0.03333333333333333,"new":0.03333333333333333,"in":0.03333333333333333,"to":0.03333333333333333,"implement":0.03333333333333333,"the":0.03333333333333333,"logger":0.03333333333333333,"by":0.03333333333333333,"default":0.03333333333333333,"logback":0.03333333333333333,"based":0.03333333333333333,"org":0.03333333333333333,"apache":0.03333333333333333,"slf4jauditlogger":0.03333333333333333,"is":0.03333333333333333,"used":0.03333333333333333,"see":0.03333333333333333,"logs":0.03333333333333333,"for":0.03333333333333333,"more":0.03333333333333333,"information":0.03333333333333333},"266":{"0":0.030303030303030304,"3":0.030303030303030304,"6":0.030303030303030304,"100":0.030303030303030304,"1024":0.030303030303030304,"largerequestmaxbytes":0.030303030303030304,"java":0.030303030303030304,"system":0.030303030303030304,"property":0.030303030303030304,"zookeeper":0.030303030303030304,"new":0.030303030303030304,"in":0.030303030303030304,"the":0.030303030303030304,"maximum":0.030303030303030304,"number":0.030303030303030304,"of":0.030303030303030304,"bytes":0.030303030303030304,"all":0.030303030303030304,"inflight":0.030303030303030304,"large":0.030303030303030304,"request":0.030303030303030304,"connection":0.030303030303030304,"will":0.030303030303030304,"be":0.030303030303030304,"closed":0.030303030303030304,"if":0.030303030303030304,"a":0.030303030303030304,"coming":0.030303030303030304,"causes":0.030303030303030304,"limit":0.030303030303030304,"exceeded":0.030303030303030304,"default":0.030303030303030304,"is":0.030303030303030304},"267":{"0":0.030303030303030304,"3":0.030303030303030304,"6":0.030303030303030304,"largerequestthreshold":0.030303030303030304,"java":0.030303030303030304,"system":0.030303030303030304,"property":0.030303030303030304,"zookeeper":0.030303030303030304,"new":0.030303030303030304,"in":0.030303030303030304,"the":0.030303030303030304,"size":0.030303030303030304,"threshold":0.030303030303030304,"after":0.030303030303030304,"which":0.030303030303030304,"a":0.030303030303030304,"request":0.030303030303030304,"is":0.030303030303030304,"considered":0.030303030303030304,"large":0.030303030303030304,"if":0.030303030303030304,"it":0.030303030303030304,"-1":0.030303030303030304,"then":0.030303030303030304,"all":0.030303030303030304,"requests":0.030303030303030304,"are":0.030303030303030304,"small":0.030303030303030304,"effectively":0.030303030303030304,"turning":0.030303030303030304,"off":0.030303030303030304,"throttling":0.030303030303030304,"default":0.030303030303030304},"268":{"250":0.0196078431372549,"outstandinghandshake":0.0196078431372549,"limit":0.0196078431372549,"java":0.0196078431372549,"system":0.0196078431372549,"property":0.0196078431372549,"only":0.0196078431372549,"zookeeper":0.0196078431372549,"netty":0.0196078431372549,"server":0.0196078431372549,"the":0.0196078431372549,"maximum":0.0196078431372549,"in-flight":0.0196078431372549,"tls":0.0196078431372549,"handshake":0.0196078431372549,"connections":0.0196078431372549,"could":0.0196078431372549,"have":0.0196078431372549,"in":0.0196078431372549,"exceed":0.0196078431372549,"this":0.0196078431372549,"will":0.0196078431372549,"be":0.0196078431372549,"rejected":0.0196078431372549,"before":0.0196078431372549,"starting":0.0196078431372549,"setting":0.0196078431372549,"doesn't":0.0196078431372549,"max":0.0196078431372549,"concurrency":0.0196078431372549,"but":0.0196078431372549,"helps":0.0196078431372549,"avoid":0.0196078431372549,"herd":0.0196078431372549,"effect":0.0196078431372549,"due":0.0196078431372549,"to":0.0196078431372549,"timeout":0.0196078431372549,"when":0.0196078431372549,"there":0.0196078431372549,"are":0.0196078431372549,"too":0.0196078431372549,"many":0.0196078431372549,"handshakes":0.0196078431372549,"set":0.0196078431372549,"it":0.0196078431372549,"something":0.0196078431372549,"like":0.0196078431372549,"is":0.0196078431372549,"good":0.0196078431372549,"enough":0.0196078431372549},"269":{"0":0.015151515151515152,"1":0.015151515151515152,"3":0.015151515151515152,"7":0.015151515151515152,"8":0.015151515151515152,"netty":0.015151515151515152,"server":0.015151515151515152,"earlydropsecureconnectionhandshakes":0.015151515151515152,"java":0.015151515151515152,"system":0.015151515151515152,"property":0.015151515151515152,"zookeeper":0.015151515151515152,"if":0.015151515151515152,"the":0.015151515151515152,"is":0.015151515151515152,"not":0.015151515151515152,"fully":0.015151515151515152,"started":0.015151515151515152,"drop":0.015151515151515152,"tcp":0.015151515151515152,"connections":0.015151515151515152,"before":0.015151515151515152,"performing":0.015151515151515152,"tls":0.015151515151515152,"handshake":0.015151515151515152,"this":0.015151515151515152,"useful":0.015151515151515152,"in":0.015151515151515152,"order":0.015151515151515152,"to":0.015151515151515152,"prevent":0.015151515151515152,"flooding":0.015151515151515152,"with":0.015151515151515152,"many":0.015151515151515152,"concurrent":0.015151515151515152,"handshakes":0.015151515151515152,"after":0.015151515151515152,"a":0.015151515151515152,"restart":0.015151515151515152,"please":0.015151515151515152,"note":0.015151515151515152,"that":0.015151515151515152,"you":0.015151515151515152,"enable":0.015151515151515152,"flag":0.015151515151515152,"won't":0.015151515151515152,"answer":0.015151515151515152,"'ruok'":0.015151515151515152,"commands":0.015151515151515152,"it":0.015151515151515152,"behaviour":0.015151515151515152,"of":0.015151515151515152,"dropping":0.015151515151515152,"connection":0.015151515151515152,"has":0.015151515151515152,"been":0.015151515151515152,"introduced":0.015151515151515152,"and":0.015151515151515152,"was":0.015151515151515152,"possible":0.015151515151515152,"disable":0.015151515151515152,"since":0.015151515151515152,"feature":0.015151515151515152,"disabled":0.015151515151515152,"by":0.015151515151515152,"default":0.015151515151515152},"270":{"0":0.01694915254237288,"throttledopwaittime":0.01694915254237288,"java":0.01694915254237288,"system":0.01694915254237288,"property":0.01694915254237288,"zookeeper":0.01694915254237288,"throttled_op_wait_time":0.01694915254237288,"the":0.01694915254237288,"time":0.01694915254237288,"in":0.01694915254237288,"requestthrottler":0.01694915254237288,"queue":0.01694915254237288,"longer":0.01694915254237288,"than":0.01694915254237288,"which":0.01694915254237288,"a":0.01694915254237288,"request":0.01694915254237288,"will":0.01694915254237288,"be":0.01694915254237288,"marked":0.01694915254237288,"as":0.01694915254237288,"throttled":0.01694915254237288,"requests":0.01694915254237288,"not":0.01694915254237288,"processed":0.01694915254237288,"other":0.01694915254237288,"being":0.01694915254237288,"fed":0.01694915254237288,"down":0.01694915254237288,"pipeline":0.01694915254237288,"of":0.01694915254237288,"server":0.01694915254237288,"it":0.01694915254237288,"belongs":0.01694915254237288,"to":0.01694915254237288,"preserve":0.01694915254237288,"order":0.01694915254237288,"all":0.01694915254237288,"finalprocessor":0.01694915254237288,"issue":0.01694915254237288,"an":0.01694915254237288,"error":0.01694915254237288,"response":0.01694915254237288,"new":0.01694915254237288,"code":0.01694915254237288,"zthrottledop":0.01694915254237288,"for":0.01694915254237288,"these":0.01694915254237288,"undigested":0.01694915254237288,"intent":0.01694915254237288,"is":0.01694915254237288,"clients":0.01694915254237288,"retry":0.01694915254237288,"them":0.01694915254237288,"immediately":0.01694915254237288,"when":0.01694915254237288,"set":0.01694915254237288,"no":0.01694915254237288,"default":0.01694915254237288},"271":{"0":0.017857142857142856,"3":0.017857142857142856,"7":0.017857142857142856,"learner":0.017857142857142856,"closesocketasync":0.017857142857142856,"java":0.017857142857142856,"system":0.017857142857142856,"property":0.017857142857142856,"zookeeper":0.017857142857142856,"added":0.017857142857142856,"for":0.017857142857142856,"backward":0.017857142857142856,"compatibility":0.017857142857142856,"new":0.017857142857142856,"in":0.017857142857142856,"when":0.017857142857142856,"enabled":0.017857142857142856,"a":0.017857142857142856,"will":0.017857142857142856,"close":0.017857142857142856,"the":0.017857142857142856,"quorum":0.017857142857142856,"socket":0.017857142857142856,"asynchronously":0.017857142857142856,"this":0.017857142857142856,"is":0.017857142857142856,"useful":0.017857142857142856,"tls":0.017857142857142856,"connections":0.017857142857142856,"where":0.017857142857142856,"closing":0.017857142857142856,"might":0.017857142857142856,"take":0.017857142857142856,"long":0.017857142857142856,"time":0.017857142857142856,"block":0.017857142857142856,"shutdown":0.017857142857142856,"process":0.017857142857142856,"potentially":0.017857142857142856,"delay":0.017857142857142856,"leader":0.017857142857142856,"election":0.017857142857142856,"and":0.017857142857142856,"leave":0.017857142857142856,"unavailable":0.017857142857142856,"avoids":0.017857142857142856,"blocking":0.017857142857142856,"despite":0.017857142857142856,"can":0.017857142857142856,"be":0.017857142857142856,"started":0.017857142857142856,"while":0.017857142857142856,"being":0.017857142857142856,"closed":0.017857142857142856,"default":0.017857142857142856,"false":0.017857142857142856},"272":{"0":0.014084507042253521,"3":0.014084507042253521,"7":0.014084507042253521,"leader":0.014084507042253521,"closesocketasync":0.014084507042253521,"java":0.014084507042253521,"system":0.014084507042253521,"property":0.014084507042253521,"zookeeper":0.014084507042253521,"added":0.014084507042253521,"for":0.014084507042253521,"backward":0.014084507042253521,"compatibility":0.014084507042253521,"new":0.014084507042253521,"in":0.014084507042253521,"when":0.014084507042253521,"enabled":0.014084507042253521,"the":0.014084507042253521,"will":0.014084507042253521,"close":0.014084507042253521,"a":0.014084507042253521,"quorum":0.014084507042253521,"socket":0.014084507042253521,"asynchronously":0.014084507042253521,"this":0.014084507042253521,"is":0.014084507042253521,"useful":0.014084507042253521,"tls":0.014084507042253521,"connections":0.014084507042253521,"where":0.014084507042253521,"closing":0.014084507042253521,"might":0.014084507042253521,"take":0.014084507042253521,"long":0.014084507042253521,"time":0.014084507042253521,"if":0.014084507042253521,"disconnecting":0.014084507042253521,"follower":0.014084507042253521,"initiated":0.014084507042253521,"ping":0.014084507042253521,"because":0.014084507042253521,"of":0.014084507042253521,"failed":0.014084507042253521,"synclimitcheck":0.014084507042253521,"then":0.014084507042253521,"block":0.014084507042253521,"sending":0.014084507042253521,"pings":0.014084507042253521,"to":0.014084507042253521,"other":0.014084507042253521,"followers":0.014084507042253521,"without":0.014084507042253521,"receiving":0.014084507042253521,"not":0.014084507042253521,"send":0.014084507042253521,"session":0.014084507042253521,"information":0.014084507042253521,"which":0.014084507042253521,"causes":0.014084507042253521,"sessions":0.014084507042253521,"expire":0.014084507042253521,"setting":0.014084507042253521,"flag":0.014084507042253521,"true":0.014084507042253521,"ensures":0.014084507042253521,"that":0.014084507042253521,"be":0.014084507042253521,"sent":0.014084507042253521,"regularly":0.014084507042253521,"default":0.014084507042253521,"false":0.014084507042253521},"273":{"0":0.0196078431372549,"3":0.0196078431372549,"7":0.0196078431372549,"learner":0.0196078431372549,"asyncsending":0.0196078431372549,"java":0.0196078431372549,"system":0.0196078431372549,"property":0.0196078431372549,"zookeeper":0.0196078431372549,"added":0.0196078431372549,"for":0.0196078431372549,"backward":0.0196078431372549,"compatibility":0.0196078431372549,"new":0.0196078431372549,"in":0.0196078431372549,"the":0.0196078431372549,"sending":0.0196078431372549,"and":0.0196078431372549,"receiving":0.0196078431372549,"packets":0.0196078431372549,"were":0.0196078431372549,"done":0.0196078431372549,"synchronously":0.0196078431372549,"a":0.0196078431372549,"critical":0.0196078431372549,"section":0.0196078431372549,"an":0.0196078431372549,"untimely":0.0196078431372549,"network":0.0196078431372549,"issue":0.0196078431372549,"could":0.0196078431372549,"cause":0.0196078431372549,"followers":0.0196078431372549,"to":0.0196078431372549,"hang":0.0196078431372549,"see":0.0196078431372549,"zookeeper-3575":0.0196078431372549,"zookeeper-4074":0.0196078431372549,"design":0.0196078431372549,"moves":0.0196078431372549,"separate":0.0196078431372549,"thread":0.0196078431372549,"sends":0.0196078431372549,"asynchronously":0.0196078431372549,"is":0.0196078431372549,"enabled":0.0196078431372549,"with":0.0196078431372549,"this":0.0196078431372549,"parameter":0.0196078431372549,"default":0.0196078431372549,"false":0.0196078431372549},"274":{"forward_learner_requests_to_commit_processor_disabled":0.03125,"java":0.03125,"system":0.03125,"property":0.03125,"zookeeper":0.03125,"when":0.03125,"this":0.03125,"is":0.03125,"set":0.03125,"the":0.03125,"requests":0.03125,"from":0.03125,"learners":0.03125,"won't":0.03125,"be":0.03125,"enqueued":0.03125,"to":0.03125,"commitprocessor":0.03125,"queue":0.03125,"which":0.03125,"will":0.03125,"help":0.03125,"save":0.03125,"resources":0.03125,"and":0.03125,"gc":0.03125,"time":0.03125,"on":0.03125,"leader":0.03125,"default":0.03125,"value":0.03125,"false":0.03125},"275":{"0":0.02564102564102564,"3":0.02564102564102564,"9":0.02564102564102564,"serializelastprocessedzxid":0.02564102564102564,"enabled":0.02564102564102564,"java":0.02564102564102564,"system":0.02564102564102564,"property":0.02564102564102564,"zookeeper":0.02564102564102564,"new":0.02564102564102564,"in":0.02564102564102564,"if":0.02564102564102564,"serializes":0.02564102564102564,"the":0.02564102564102564,"lastprocessedzxid":0.02564102564102564,"when":0.02564102564102564,"snapshot":0.02564102564102564,"and":0.02564102564102564,"deserializes":0.02564102564102564,"it":0.02564102564102564,"restore":0.02564102564102564,"defaults":0.02564102564102564,"to":0.02564102564102564,"true":0.02564102564102564,"needs":0.02564102564102564,"be":0.02564102564102564,"for":0.02564102564102564,"performing":0.02564102564102564,"via":0.02564102564102564,"admin":0.02564102564102564,"server":0.02564102564102564,"commands":0.02564102564102564,"as":0.02564102564102564,"there":0.02564102564102564,"is":0.02564102564102564,"no":0.02564102564102564,"file":0.02564102564102564,"name":0.02564102564102564,"extract":0.02564102564102564},"276":{"this":0.08333333333333333,"feature":0.08333333333333333,"is":0.08333333333333333,"backward":0.08333333333333333,"and":0.08333333333333333,"forward":0.08333333333333333,"compatible":0.08333333333333333,"here":0.08333333333333333,"are":0.08333333333333333,"the":0.08333333333333333,"different":0.08333333333333333,"scenarios":0.08333333333333333},"277":{"snapshot":0.2,"triggered":0.2,"by":0.2,"server":0.2,"internally":0.2},"278":{"when":0.038461538461538464,"loading":0.038461538461538464,"old":0.038461538461538464,"snapshot":0.038461538461538464,"with":0.038461538461538464,"new":0.038461538461538464,"code":0.038461538461538464,"it":0.038461538461538464,"will":0.038461538461538464,"throw":0.038461538461538464,"eofexception":0.038461538461538464,"trying":0.038461538461538464,"to":0.038461538461538464,"read":0.038461538461538464,"the":0.038461538461538464,"non-exist":0.038461538461538464,"lastprocessedzxid":0.038461538461538464,"value":0.038461538461538464,"and":0.038461538461538464,"exception":0.038461538461538464,"be":0.038461538461538464,"caught":0.038461538461538464,"set":0.038461538461538464,"using":0.038461538461538464,"file":0.038461538461538464,"name":0.038461538461538464},"279":{"when":0.038461538461538464,"loading":0.038461538461538464,"new":0.038461538461538464,"snapshot":0.038461538461538464,"with":0.038461538461538464,"old":0.038461538461538464,"code":0.038461538461538464,"it":0.038461538461538464,"will":0.038461538461538464,"finish":0.038461538461538464,"successfully":0.038461538461538464,"after":0.038461538461538464,"deserializing":0.038461538461538464,"the":0.038461538461538464,"digest":0.038461538461538464,"value":0.038461538461538464,"lastprocessedzxid":0.038461538461538464,"at":0.038461538461538464,"end":0.038461538461538464,"of":0.038461538461538464,"file":0.038461538461538464,"be":0.038461538461538464,"ignored":0.038461538461538464,"set":0.038461538461538464,"using":0.038461538461538464,"name":0.038461538461538464},"280":{"sync":0.038461538461538464,"up":0.038461538461538464,"between":0.038461538461538464,"leader":0.038461538461538464,"and":0.038461538461538464,"follower":0.038461538461538464,"the":0.038461538461538464,"lastprocessedzxid":0.038461538461538464,"will":0.038461538461538464,"not":0.038461538461538464,"be":0.038461538461538464,"serialized":0.038461538461538464,"by":0.038461538461538464,"deserialized":0.038461538461538464,"in":0.038461538461538464,"both":0.038461538461538464,"new":0.038461538461538464,"old":0.038461538461538464,"code":0.038461538461538464,"it":0.038461538461538464,"set":0.038461538461538464,"to":0.038461538461538464,"sent":0.038461538461538464,"from":0.038461538461538464,"via":0.038461538461538464,"quorumpacket":0.038461538461538464},"281":{"snapshot":0.0625,"triggered":0.0625,"via":0.0625,"admin":0.0625,"server":0.0625,"apis":0.0625,"the":0.0625,"feature":0.0625,"flag":0.0625,"need":0.0625,"to":0.0625,"be":0.0625,"enabled":0.0625,"for":0.0625,"command":0.0625,"work":0.0625},"282":{"the":0.05263157894736842,"options":0.05263157894736842,"in":0.05263157894736842,"this":0.05263157894736842,"section":0.05263157894736842,"are":0.05263157894736842,"designed":0.05263157894736842,"for":0.05263157894736842,"use":0.05263157894736842,"with":0.05263157894736842,"an":0.05263157894736842,"ensemble":0.05263157894736842,"of":0.05263157894736842,"servers":0.05263157894736842,"that":0.05263157894736842,"is":0.05263157894736842,"when":0.05263157894736842,"deploying":0.05263157894736842,"clusters":0.05263157894736842},"283":{"0":0.02702702702702703,"1":0.02702702702702703,"2":0.02702702702702703,"3":0.02702702702702703,"electionalg":0.02702702702702703,"no":0.02702702702702703,"java":0.02702702702702703,"system":0.02702702702702703,"property":0.02702702702702703,"election":0.02702702702702703,"implementation":0.02702702702702703,"to":0.02702702702702703,"use":0.02702702702702703,"a":0.02702702702702703,"value":0.02702702702702703,"of":0.02702702702702703,"corresponds":0.02702702702702703,"the":0.02702702702702703,"non-authenticated":0.02702702702702703,"udp-based":0.02702702702702703,"version":0.02702702702702703,"fast":0.02702702702702703,"leader":0.02702702702702703,"authenticated":0.02702702702702703,"and":0.02702702702702703,"tcp-based":0.02702702702702703,"algorithm":0.02702702702702703,"was":0.02702702702702703,"made":0.02702702702702703,"default":0.02702702702702703,"in":0.02702702702702703,"prior":0.02702702702702703,"versions":0.02702702702702703,"were":0.02702702702702703,"using":0.02702702702702703,"as":0.02702702702702703,"well":0.02702702702702703},"284":{"type":0.5,"info":0.5},"285":{"0":0.024390243902439025,"1":0.024390243902439025,"2":0.024390243902439025,"3":0.024390243902439025,"4":0.024390243902439025,"6":0.024390243902439025,"the":0.024390243902439025,"implementations":0.024390243902439025,"of":0.024390243902439025,"leader":0.024390243902439025,"election":0.024390243902439025,"and":0.024390243902439025,"were":0.024390243902439025,"deprecated":0.024390243902439025,"in":0.024390243902439025,"since":0.024390243902439025,"only":0.024390243902439025,"fastleaderelection":0.024390243902439025,"is":0.024390243902439025,"available":0.024390243902439025,"case":0.024390243902439025,"upgrade":0.024390243902439025,"you":0.024390243902439025,"have":0.024390243902439025,"to":0.024390243902439025,"shut":0.024390243902439025,"down":0.024390243902439025,"all":0.024390243902439025,"your":0.024390243902439025,"servers":0.024390243902439025,"restart":0.024390243902439025,"them":0.024390243902439025,"with":0.024390243902439025,"electionalg":0.024390243902439025,"or":0.024390243902439025,"by":0.024390243902439025,"removing":0.024390243902439025,"line":0.024390243902439025,"from":0.024390243902439025,"configuration":0.024390243902439025,"file":0.024390243902439025},"286":{"0":0.016129032258064516,"3":0.016129032258064516,"6":0.016129032258064516,"maxtimetowaitforepoch":0.016129032258064516,"java":0.016129032258064516,"system":0.016129032258064516,"property":0.016129032258064516,"zookeeper":0.016129032258064516,"leader":0.016129032258064516,"new":0.016129032258064516,"in":0.016129032258064516,"the":0.016129032258064516,"maximum":0.016129032258064516,"time":0.016129032258064516,"to":0.016129032258064516,"wait":0.016129032258064516,"for":0.016129032258064516,"epoch":0.016129032258064516,"from":0.016129032258064516,"voters":0.016129032258064516,"when":0.016129032258064516,"activating":0.016129032258064516,"if":0.016129032258064516,"received":0.016129032258064516,"a":0.016129032258064516,"looking":0.016129032258064516,"notification":0.016129032258064516,"one":0.016129032258064516,"of":0.016129032258064516,"its":0.016129032258064516,"and":0.016129032258064516,"it":0.016129032258064516,"hasn't":0.016129032258064516,"packets":0.016129032258064516,"majority":0.016129032258064516,"within":0.016129032258064516,"then":0.016129032258064516,"will":0.016129032258064516,"goto":0.016129032258064516,"elect":0.016129032258064516,"again":0.016129032258064516,"this":0.016129032258064516,"can":0.016129032258064516,"be":0.016129032258064516,"tuned":0.016129032258064516,"reduce":0.016129032258064516,"quorum":0.016129032258064516,"or":0.016129032258064516,"server":0.016129032258064516,"unavailable":0.016129032258064516,"set":0.016129032258064516,"much":0.016129032258064516,"smaller":0.016129032258064516,"than":0.016129032258064516,"initlimit":0.016129032258064516,"ticktime":0.016129032258064516,"cross":0.016129032258064516,"datacenter":0.016129032258064516,"environment":0.016129032258064516,"something":0.016129032258064516,"like":0.016129032258064516,"2s":0.016129032258064516},"287":{"initlimit":0.030303030303030304,"no":0.030303030303030304,"java":0.030303030303030304,"system":0.030303030303030304,"property":0.030303030303030304,"amount":0.030303030303030304,"of":0.030303030303030304,"time":0.030303030303030304,"in":0.030303030303030304,"ticks":0.030303030303030304,"see":0.030303030303030304,"ticktime":0.030303030303030304,"to":0.030303030303030304,"allow":0.030303030303030304,"followers":0.030303030303030304,"connect":0.030303030303030304,"and":0.030303030303030304,"sync":0.030303030303030304,"a":0.030303030303030304,"leader":0.030303030303030304,"increased":0.030303030303030304,"this":0.030303030303030304,"value":0.030303030303030304,"as":0.030303030303030304,"needed":0.030303030303030304,"if":0.030303030303030304,"the":0.030303030303030304,"data":0.030303030303030304,"managed":0.030303030303030304,"by":0.030303030303030304,"zookeeper":0.030303030303030304,"is":0.030303030303030304,"large":0.030303030303030304},"288":{"connecttolearnermasterlimit":0.02857142857142857,"java":0.02857142857142857,"system":0.02857142857142857,"property":0.02857142857142857,"zookeeper":0.02857142857142857,"amount":0.02857142857142857,"of":0.02857142857142857,"time":0.02857142857142857,"in":0.02857142857142857,"ticks":0.02857142857142857,"see":0.02857142857142857,"ticktime":0.02857142857142857,"to":0.02857142857142857,"allow":0.02857142857142857,"followers":0.02857142857142857,"connect":0.02857142857142857,"the":0.02857142857142857,"leader":0.02857142857142857,"after":0.02857142857142857,"election":0.02857142857142857,"defaults":0.02857142857142857,"value":0.02857142857142857,"initlimit":0.02857142857142857,"use":0.02857142857142857,"when":0.02857142857142857,"is":0.02857142857142857,"high":0.02857142857142857,"so":0.02857142857142857,"connecting":0.02857142857142857,"learner":0.02857142857142857,"master":0.02857142857142857,"doesn't":0.02857142857142857,"result":0.02857142857142857,"higher":0.02857142857142857,"timeout":0.02857142857142857},"289":{"leaderserves":0.022727272727272728,"java":0.022727272727272728,"system":0.022727272727272728,"property":0.022727272727272728,"zookeeper":0.022727272727272728,"leader":0.022727272727272728,"accepts":0.022727272727272728,"client":0.022727272727272728,"connections":0.022727272727272728,"default":0.022727272727272728,"value":0.022727272727272728,"is":0.022727272727272728,"yes":0.022727272727272728,"the":0.022727272727272728,"machine":0.022727272727272728,"coordinates":0.022727272727272728,"updates":0.022727272727272728,"for":0.022727272727272728,"higher":0.022727272727272728,"update":0.022727272727272728,"throughput":0.022727272727272728,"at":0.022727272727272728,"slight":0.022727272727272728,"expense":0.022727272727272728,"of":0.022727272727272728,"read":0.022727272727272728,"can":0.022727272727272728,"be":0.022727272727272728,"configured":0.022727272727272728,"to":0.022727272727272728,"not":0.022727272727272728,"accept":0.022727272727272728,"clients":0.022727272727272728,"and":0.022727272727272728,"focus":0.022727272727272728,"on":0.022727272727272728,"coordination":0.022727272727272728,"this":0.022727272727272728,"option":0.022727272727272728,"which":0.022727272727272728,"means":0.022727272727272728,"that":0.022727272727272728,"a":0.022727272727272728,"will":0.022727272727272728},"290":{"type":0.5,"info":0.5},"291":{"turning":0.05555555555555555,"on":0.05555555555555555,"leader":0.05555555555555555,"selection":0.05555555555555555,"is":0.05555555555555555,"highly":0.05555555555555555,"recommended":0.05555555555555555,"when":0.05555555555555555,"you":0.05555555555555555,"have":0.05555555555555555,"more":0.05555555555555555,"than":0.05555555555555555,"three":0.05555555555555555,"zookeeper":0.05555555555555555,"servers":0.05555555555555555,"in":0.05555555555555555,"an":0.05555555555555555,"ensemble":0.05555555555555555},"292":{"server":0.013333333333333334,"x":0.013333333333333334,"hostname":0.013333333333333334,"nnnnn":0.013333333333333334,"etc":0.013333333333333334,"no":0.013333333333333334,"java":0.013333333333333334,"system":0.013333333333333334,"property":0.013333333333333334,"servers":0.013333333333333334,"making":0.013333333333333334,"up":0.013333333333333334,"the":0.013333333333333334,"zookeeper":0.013333333333333334,"ensemble":0.013333333333333334,"when":0.013333333333333334,"starts":0.013333333333333334,"it":0.013333333333333334,"determines":0.013333333333333334,"which":0.013333333333333334,"is":0.013333333333333334,"by":0.013333333333333334,"looking":0.013333333333333334,"for":0.013333333333333334,"file":0.013333333333333334,"myid":0.013333333333333334,"in":0.013333333333333334,"data":0.013333333333333334,"directory":0.013333333333333334,"that":0.013333333333333334,"contains":0.013333333333333334,"number":0.013333333333333334,"ascii":0.013333333333333334,"and":0.013333333333333334,"should":0.013333333333333334,"match":0.013333333333333334,"left":0.013333333333333334,"hand":0.013333333333333334,"side":0.013333333333333334,"of":0.013333333333333334,"this":0.013333333333333334,"setting":0.013333333333333334,"list":0.013333333333333334,"make":0.013333333333333334,"used":0.013333333333333334,"clients":0.013333333333333334,"must":0.013333333333333334,"each":0.013333333333333334,"has":0.013333333333333334,"there":0.013333333333333334,"are":0.013333333333333334,"two":0.013333333333333334,"port":0.013333333333333334,"numbers":0.013333333333333334,"first":0.013333333333333334,"followers":0.013333333333333334,"to":0.013333333333333334,"connect":0.013333333333333334,"leader":0.013333333333333334,"second":0.013333333333333334,"election":0.013333333333333334,"if":0.013333333333333334,"you":0.013333333333333334,"want":0.013333333333333334,"test":0.013333333333333334,"multiple":0.013333333333333334,"on":0.013333333333333334,"a":0.013333333333333334,"single":0.013333333333333334,"machine":0.013333333333333334,"then":0.013333333333333334,"different":0.013333333333333334,"ports":0.013333333333333334,"can":0.013333333333333334,"be":0.013333333333333334},"293":{"0":0.014925373134328358,"3":0.014925373134328358,"6":0.014925373134328358,"since":0.014925373134328358,"zookeeper":0.014925373134328358,"it":0.014925373134328358,"is":0.014925373134328358,"possible":0.014925373134328358,"to":0.014925373134328358,"specify":0.014925373134328358,"multiple":0.014925373134328358,"addresses":0.014925373134328358,"for":0.014925373134328358,"each":0.014925373134328358,"server":0.014925373134328358,"see":0.014925373134328358,"zookeeper-3188":0.014925373134328358,"enable":0.014925373134328358,"this":0.014925373134328358,"feature":0.014925373134328358,"you":0.014925373134328358,"must":0.014925373134328358,"set":0.014925373134328358,"the":0.014925373134328358,"multiaddress":0.014925373134328358,"enabled":0.014925373134328358,"configuration":0.014925373134328358,"property":0.014925373134328358,"true":0.014925373134328358,"helps":0.014925373134328358,"increase":0.014925373134328358,"availability":0.014925373134328358,"and":0.014925373134328358,"adds":0.014925373134328358,"network":0.014925373134328358,"level":0.014925373134328358,"resiliency":0.014925373134328358,"when":0.014925373134328358,"physical":0.014925373134328358,"interfaces":0.014925373134328358,"are":0.014925373134328358,"used":0.014925373134328358,"servers":0.014925373134328358,"able":0.014925373134328358,"bind":0.014925373134328358,"on":0.014925373134328358,"all":0.014925373134328358,"runtime":0.014925373134328358,"switching":0.014925373134328358,"a":0.014925373134328358,"working":0.014925373134328358,"interface":0.014925373134328358,"in":0.014925373134328358,"case":0.014925373134328358,"error":0.014925373134328358,"different":0.014925373134328358,"can":0.014925373134328358,"be":0.014925373134328358,"specified":0.014925373134328358,"config":0.014925373134328358,"using":0.014925373134328358,"pipe":0.014925373134328358,"'":0.014925373134328358,"character":0.014925373134328358,"valid":0.014925373134328358,"looks":0.014925373134328358,"like":0.014925373134328358},"294":{"type":0.5,"info":0.5},"295":{"0":0.014084507042253521,"3":0.014084507042253521,"6":0.014084507042253521,"by":0.014084507042253521,"enabling":0.014084507042253521,"this":0.014084507042253521,"feature":0.014084507042253521,"the":0.014084507042253521,"quorum":0.014084507042253521,"protocol":0.014084507042253521,"zookeeper":0.014084507042253521,"server-server":0.014084507042253521,"will":0.014084507042253521,"change":0.014084507042253521,"users":0.014084507042253521,"not":0.014084507042253521,"notice":0.014084507042253521,"and":0.014084507042253521,"when":0.014084507042253521,"anyone":0.014084507042253521,"starts":0.014084507042253521,"a":0.014084507042253521,"cluster":0.014084507042253521,"with":0.014084507042253521,"new":0.014084507042253521,"config":0.014084507042253521,"everything":0.014084507042253521,"work":0.014084507042253521,"normally":0.014084507042253521,"however":0.014084507042253521,"it's":0.014084507042253521,"possible":0.014084507042253521,"to":0.014084507042253521,"enable":0.014084507042253521,"specify":0.014084507042253521,"multiple":0.014084507042253521,"addresses":0.014084507042253521,"during":0.014084507042253521,"rolling":0.014084507042253521,"upgrade":0.014084507042253521,"if":0.014084507042253521,"old":0.014084507042253521,"didn't":0.014084507042253521,"support":0.014084507042253521,"multiaddress":0.014084507042253521,"in":0.014084507042253521,"case":0.014084507042253521,"you":0.014084507042253521,"need":0.014084507042253521,"but":0.014084507042253521,"also":0.014084507042253521,"perform":0.014084507042253521,"from":0.014084507042253521,"older":0.014084507042253521,"than":0.014084507042253521,"then":0.014084507042253521,"first":0.014084507042253521,"do":0.014084507042253521,"without":0.014084507042253521,"later":0.014084507042253521,"make":0.014084507042253521,"separate":0.014084507042253521,"restart":0.014084507042253521,"configuration":0.014084507042253521,"where":0.014084507042253521,"enabled":0.014084507042253521,"is":0.014084507042253521,"set":0.014084507042253521,"true":0.014084507042253521,"are":0.014084507042253521,"provided":0.014084507042253521},"296":{"synclimit":0.034482758620689655,"no":0.034482758620689655,"java":0.034482758620689655,"system":0.034482758620689655,"property":0.034482758620689655,"amount":0.034482758620689655,"of":0.034482758620689655,"time":0.034482758620689655,"in":0.034482758620689655,"ticks":0.034482758620689655,"see":0.034482758620689655,"ticktime":0.034482758620689655,"to":0.034482758620689655,"allow":0.034482758620689655,"followers":0.034482758620689655,"sync":0.034482758620689655,"with":0.034482758620689655,"zookeeper":0.034482758620689655,"if":0.034482758620689655,"fall":0.034482758620689655,"too":0.034482758620689655,"far":0.034482758620689655,"behind":0.034482758620689655,"a":0.034482758620689655,"leader":0.034482758620689655,"they":0.034482758620689655,"will":0.034482758620689655,"be":0.034482758620689655,"dropped":0.034482758620689655},"297":{"group":0.022222222222222223,"x":0.022222222222222223,"nnnnn":0.022222222222222223,"no":0.022222222222222223,"java":0.022222222222222223,"system":0.022222222222222223,"property":0.022222222222222223,"enables":0.022222222222222223,"a":0.022222222222222223,"hierarchical":0.022222222222222223,"quorum":0.022222222222222223,"construction":0.022222222222222223,"is":0.022222222222222223,"identifier":0.022222222222222223,"and":0.022222222222222223,"the":0.022222222222222223,"numbers":0.022222222222222223,"following":0.022222222222222223,"sign":0.022222222222222223,"correspond":0.022222222222222223,"to":0.022222222222222223,"server":0.022222222222222223,"identifiers":0.022222222222222223,"left-hand":0.022222222222222223,"side":0.022222222222222223,"of":0.022222222222222223,"assignment":0.022222222222222223,"colon-separated":0.022222222222222223,"list":0.022222222222222223,"note":0.022222222222222223,"that":0.022222222222222223,"groups":0.022222222222222223,"must":0.022222222222222223,"be":0.022222222222222223,"disjoint":0.022222222222222223,"union":0.022222222222222223,"all":0.022222222222222223,"zookeeper":0.022222222222222223,"ensemble":0.022222222222222223,"you":0.022222222222222223,"will":0.022222222222222223,"find":0.022222222222222223,"an":0.022222222222222223,"example":0.022222222222222223,"here":0.022222222222222223},"298":{"1":0.01639344262295082,"weight":0.01639344262295082,"x":0.01639344262295082,"nnnnn":0.01639344262295082,"no":0.01639344262295082,"java":0.01639344262295082,"system":0.01639344262295082,"property":0.01639344262295082,"used":0.01639344262295082,"along":0.01639344262295082,"with":0.01639344262295082,"group":0.01639344262295082,"it":0.01639344262295082,"assigns":0.01639344262295082,"a":0.01639344262295082,"to":0.01639344262295082,"server":0.01639344262295082,"when":0.01639344262295082,"forming":0.01639344262295082,"quorums":0.01639344262295082,"such":0.01639344262295082,"value":0.01639344262295082,"corresponds":0.01639344262295082,"the":0.01639344262295082,"of":0.01639344262295082,"voting":0.01639344262295082,"there":0.01639344262295082,"are":0.01639344262295082,"few":0.01639344262295082,"parts":0.01639344262295082,"zookeeper":0.01639344262295082,"that":0.01639344262295082,"require":0.01639344262295082,"as":0.01639344262295082,"leader":0.01639344262295082,"election":0.01639344262295082,"and":0.01639344262295082,"atomic":0.01639344262295082,"broadcast":0.01639344262295082,"protocol":0.01639344262295082,"by":0.01639344262295082,"default":0.01639344262295082,"is":0.01639344262295082,"if":0.01639344262295082,"configuration":0.01639344262295082,"defines":0.01639344262295082,"groups":0.01639344262295082,"but":0.01639344262295082,"not":0.01639344262295082,"weights":0.01639344262295082,"then":0.01639344262295082,"will":0.01639344262295082,"be":0.01639344262295082,"assigned":0.01639344262295082,"all":0.01639344262295082,"servers":0.01639344262295082,"you":0.01639344262295082,"find":0.01639344262295082,"an":0.01639344262295082,"example":0.01639344262295082,"here":0.01639344262295082},"299":{"3":0.043478260869565216,"cnxtimeout":0.043478260869565216,"java":0.043478260869565216,"system":0.043478260869565216,"property":0.043478260869565216,"zookeeper":0.043478260869565216,"sets":0.043478260869565216,"the":0.043478260869565216,"timeout":0.043478260869565216,"value":0.043478260869565216,"for":0.043478260869565216,"opening":0.043478260869565216,"connections":0.043478260869565216,"leader":0.043478260869565216,"election":0.043478260869565216,"notifications":0.043478260869565216,"only":0.043478260869565216,"applicable":0.043478260869565216,"if":0.043478260869565216,"you":0.043478260869565216,"are":0.043478260869565216,"using":0.043478260869565216,"electionalg":0.043478260869565216},"300":{"type":0.5,"info":0.5},"301":{"3":0.043478260869565216,"quorumcnxntimeoutms":0.043478260869565216,"java":0.043478260869565216,"system":0.043478260869565216,"property":0.043478260869565216,"zookeeper":0.043478260869565216,"sets":0.043478260869565216,"the":0.043478260869565216,"read":0.043478260869565216,"timeout":0.043478260869565216,"value":0.043478260869565216,"for":0.043478260869565216,"connections":0.043478260869565216,"leader":0.043478260869565216,"election":0.043478260869565216,"notifications":0.043478260869565216,"only":0.043478260869565216,"applicable":0.043478260869565216,"if":0.043478260869565216,"you":0.043478260869565216,"are":0.043478260869565216,"using":0.043478260869565216,"electionalg":0.043478260869565216},"302":{"type":0.5,"info":0.5},"303":{"default":0.07692307692307693,"value":0.07692307692307693,"is":0.07692307692307693,"-1":0.07692307692307693,"which":0.07692307692307693,"will":0.07692307692307693,"then":0.07692307692307693,"use":0.07692307692307693,"the":0.07692307692307693,"synclimit":0.07692307692307693,"ticktime":0.07692307692307693,"as":0.07692307692307693,"timeout":0.07692307692307693},"304":{"0":0.018867924528301886,"3":0.018867924528301886,"5":0.018867924528301886,"standaloneenabled":0.018867924528301886,"no":0.018867924528301886,"java":0.018867924528301886,"system":0.018867924528301886,"property":0.018867924528301886,"new":0.018867924528301886,"in":0.018867924528301886,"when":0.018867924528301886,"set":0.018867924528301886,"to":0.018867924528301886,"false":0.018867924528301886,"a":0.018867924528301886,"single":0.018867924528301886,"server":0.018867924528301886,"can":0.018867924528301886,"be":0.018867924528301886,"started":0.018867924528301886,"replicated":0.018867924528301886,"mode":0.018867924528301886,"lone":0.018867924528301886,"participant":0.018867924528301886,"run":0.018867924528301886,"with":0.018867924528301886,"observers":0.018867924528301886,"and":0.018867924528301886,"cluster":0.018867924528301886,"reconfigure":0.018867924528301886,"down":0.018867924528301886,"one":0.018867924528301886,"node":0.018867924528301886,"up":0.018867924528301886,"from":0.018867924528301886,"the":0.018867924528301886,"default":0.018867924528301886,"is":0.018867924528301886,"true":0.018867924528301886,"for":0.018867924528301886,"backwards":0.018867924528301886,"compatibility":0.018867924528301886,"it":0.018867924528301886,"using":0.018867924528301886,"quorumpeerconfig's":0.018867924528301886,"setstandaloneenabled":0.018867924528301886,"method":0.018867924528301886,"or":0.018867924528301886,"by":0.018867924528301886,"adding":0.018867924528301886,"server's":0.018867924528301886,"config":0.018867924528301886,"file":0.018867924528301886},"305":{"3":0.010416666666666666,"5":0.010416666666666666,"reconfigenabled":0.010416666666666666,"no":0.010416666666666666,"java":0.010416666666666666,"system":0.010416666666666666,"property":0.010416666666666666,"new":0.010416666666666666,"in":0.010416666666666666,"this":0.010416666666666666,"controls":0.010416666666666666,"the":0.010416666666666666,"enabling":0.010416666666666666,"or":0.010416666666666666,"disabling":0.010416666666666666,"of":0.010416666666666666,"dynamic":0.010416666666666666,"reconfiguration":0.010416666666666666,"feature":0.010416666666666666,"when":0.010416666666666666,"is":0.010416666666666666,"enabled":0.010416666666666666,"users":0.010416666666666666,"can":0.010416666666666666,"perform":0.010416666666666666,"reconfigure":0.010416666666666666,"operations":0.010416666666666666,"through":0.010416666666666666,"zookeeper":0.010416666666666666,"client":0.010416666666666666,"api":0.010416666666666666,"command":0.010416666666666666,"line":0.010416666666666666,"tools":0.010416666666666666,"assuming":0.010416666666666666,"are":0.010416666666666666,"authorized":0.010416666666666666,"to":0.010416666666666666,"such":0.010416666666666666,"disabled":0.010416666666666666,"user":0.010416666666666666,"including":0.010416666666666666,"super":0.010416666666666666,"a":0.010416666666666666,"any":0.010416666666666666,"attempt":0.010416666666666666,"will":0.010416666666666666,"return":0.010416666666666666,"an":0.010416666666666666,"error":0.010416666666666666,"option":0.010416666666666666,"be":0.010416666666666666,"set":0.010416666666666666,"as":0.010416666666666666,"false":0.010416666666666666,"true":0.010416666666666666,"server's":0.010416666666666666,"config":0.010416666666666666,"file":0.010416666666666666,"using":0.010416666666666666,"quorumpeerconfig's":0.010416666666666666,"setreconfigenabled":0.010416666666666666,"method":0.010416666666666666,"default":0.010416666666666666,"value":0.010416666666666666,"if":0.010416666666666666,"present":0.010416666666666666,"should":0.010416666666666666,"consistent":0.010416666666666666,"across":0.010416666666666666,"every":0.010416666666666666,"server":0.010416666666666666,"entire":0.010416666666666666,"ensemble":0.010416666666666666,"setting":0.010416666666666666,"on":0.010416666666666666,"some":0.010416666666666666,"servers":0.010416666666666666,"and":0.010416666666666666,"other":0.010416666666666666,"cause":0.010416666666666666,"inconsistent":0.010416666666666666,"behavior":0.010416666666666666,"depending":0.010416666666666666,"which":0.010416666666666666,"elected":0.010416666666666666,"leader":0.010416666666666666,"has":0.010416666666666666,"then":0.010416666666666666,"have":0.010416666666666666,"reconfig":0.010416666666666666,"it":0.010416666666666666,"thus":0.010416666666666666,"recommended":0.010416666666666666,"having":0.010416666666666666,"for":0.010416666666666666},"306":{"3":0.012658227848101266,"5":0.012658227848101266,"4lw":0.012658227848101266,"commands":0.012658227848101266,"whitelist":0.012658227848101266,"java":0.012658227848101266,"system":0.012658227848101266,"property":0.012658227848101266,"zookeeper":0.012658227848101266,"new":0.012658227848101266,"in":0.012658227848101266,"a":0.012658227848101266,"list":0.012658227848101266,"of":0.012658227848101266,"comma":0.012658227848101266,"separated":0.012658227848101266,"four":0.012658227848101266,"letter":0.012658227848101266,"words":0.012658227848101266,"that":0.012658227848101266,"user":0.012658227848101266,"wants":0.012658227848101266,"to":0.012658227848101266,"use":0.012658227848101266,"valid":0.012658227848101266,"command":0.012658227848101266,"must":0.012658227848101266,"be":0.012658227848101266,"put":0.012658227848101266,"this":0.012658227848101266,"else":0.012658227848101266,"server":0.012658227848101266,"will":0.012658227848101266,"not":0.012658227848101266,"enable":0.012658227848101266,"the":0.012658227848101266,"by":0.012658227848101266,"default":0.012658227848101266,"only":0.012658227848101266,"contains":0.012658227848101266,"srvr":0.012658227848101266,"which":0.012658227848101266,"zkserver":0.012658227848101266,"sh":0.012658227848101266,"uses":0.012658227848101266,"additionally":0.012658227848101266,"if":0.012658227848101266,"read":0.012658227848101266,"mode":0.012658227848101266,"is":0.012658227848101266,"enabled":0.012658227848101266,"setting":0.012658227848101266,"readonlymode":0.012658227848101266,"then":0.012658227848101266,"isro":0.012658227848101266,"added":0.012658227848101266,"rest":0.012658227848101266,"four-letter":0.012658227848101266,"word":0.012658227848101266,"are":0.012658227848101266,"disabled":0.012658227848101266,"attempting":0.012658227848101266,"them":0.012658227848101266,"gain":0.012658227848101266,"response":0.012658227848101266,"executed":0.012658227848101266,"because":0.012658227848101266,"it":0.012658227848101266,"here's":0.012658227848101266,"an":0.012658227848101266,"example":0.012658227848101266,"configuration":0.012658227848101266,"enables":0.012658227848101266,"stat":0.012658227848101266,"ruok":0.012658227848101266,"conf":0.012658227848101266,"and":0.012658227848101266,"while":0.012658227848101266,"disabling":0.012658227848101266},"307":{"if":0.03225806451612903,"you":0.03225806451612903,"really":0.03225806451612903,"need":0.03225806451612903,"enable":0.03225806451612903,"all":0.03225806451612903,"four-letter":0.03225806451612903,"word":0.03225806451612903,"commands":0.03225806451612903,"by":0.03225806451612903,"default":0.03225806451612903,"can":0.03225806451612903,"use":0.03225806451612903,"the":0.03225806451612903,"asterisk":0.03225806451612903,"option":0.03225806451612903,"so":0.03225806451612903,"don't":0.03225806451612903,"have":0.03225806451612903,"to":0.03225806451612903,"include":0.03225806451612903,"every":0.03225806451612903,"command":0.03225806451612903,"one":0.03225806451612903,"in":0.03225806451612903,"list":0.03225806451612903,"as":0.03225806451612903,"an":0.03225806451612903,"example":0.03225806451612903,"this":0.03225806451612903,"will":0.03225806451612903},"308":{"3":0.013888888888888888,"4":0.013888888888888888,"5":0.013888888888888888,"tcpkeepalive":0.013888888888888888,"java":0.013888888888888888,"system":0.013888888888888888,"property":0.013888888888888888,"zookeeper":0.013888888888888888,"new":0.013888888888888888,"in":0.013888888888888888,"setting":0.013888888888888888,"this":0.013888888888888888,"to":0.013888888888888888,"true":0.013888888888888888,"sets":0.013888888888888888,"the":0.013888888888888888,"tcp":0.013888888888888888,"keepalive":0.013888888888888888,"flag":0.013888888888888888,"on":0.013888888888888888,"sockets":0.013888888888888888,"used":0.013888888888888888,"by":0.013888888888888888,"quorum":0.013888888888888888,"members":0.013888888888888888,"perform":0.013888888888888888,"elections":0.013888888888888888,"will":0.013888888888888888,"allow":0.013888888888888888,"for":0.013888888888888888,"connections":0.013888888888888888,"between":0.013888888888888888,"remain":0.013888888888888888,"up":0.013888888888888888,"when":0.013888888888888888,"there":0.013888888888888888,"is":0.013888888888888888,"network":0.013888888888888888,"infrastructure":0.013888888888888888,"that":0.013888888888888888,"may":0.013888888888888888,"otherwise":0.013888888888888888,"break":0.013888888888888888,"them":0.013888888888888888,"some":0.013888888888888888,"nats":0.013888888888888888,"and":0.013888888888888888,"firewalls":0.013888888888888888,"terminate":0.013888888888888888,"or":0.013888888888888888,"lose":0.013888888888888888,"state":0.013888888888888888,"long-running":0.013888888888888888,"idle":0.013888888888888888,"enabling":0.013888888888888888,"option":0.013888888888888888,"relies":0.013888888888888888,"os":0.013888888888888888,"level":0.013888888888888888,"settings":0.013888888888888888,"work":0.013888888888888888,"properly":0.013888888888888888,"check":0.013888888888888888,"your":0.013888888888888888,"operating":0.013888888888888888,"system's":0.013888888888888888,"options":0.013888888888888888,"regarding":0.013888888888888888,"more":0.013888888888888888,"information":0.013888888888888888,"defaults":0.013888888888888888,"false":0.013888888888888888},"309":{"1":0.012195121951219513,"3":0.012195121951219513,"6":0.012195121951219513,"clienttcpkeepalive":0.012195121951219513,"java":0.012195121951219513,"system":0.012195121951219513,"property":0.012195121951219513,"zookeeper":0.012195121951219513,"new":0.012195121951219513,"in":0.012195121951219513,"setting":0.012195121951219513,"this":0.012195121951219513,"to":0.012195121951219513,"true":0.012195121951219513,"sets":0.012195121951219513,"the":0.012195121951219513,"tcp":0.012195121951219513,"keepalive":0.012195121951219513,"flag":0.012195121951219513,"on":0.012195121951219513,"client":0.012195121951219513,"sockets":0.012195121951219513,"some":0.012195121951219513,"broken":0.012195121951219513,"network":0.012195121951219513,"infrastructure":0.012195121951219513,"may":0.012195121951219513,"lose":0.012195121951219513,"fin":0.012195121951219513,"packet":0.012195121951219513,"that":0.012195121951219513,"is":0.012195121951219513,"sent":0.012195121951219513,"from":0.012195121951219513,"closing":0.012195121951219513,"these":0.012195121951219513,"never":0.012195121951219513,"closed":0.012195121951219513,"cause":0.012195121951219513,"os":0.012195121951219513,"resource":0.012195121951219513,"leak":0.012195121951219513,"enabling":0.012195121951219513,"option":0.012195121951219513,"terminates":0.012195121951219513,"zombie":0.012195121951219513,"by":0.012195121951219513,"idle":0.012195121951219513,"check":0.012195121951219513,"relies":0.012195121951219513,"level":0.012195121951219513,"settings":0.012195121951219513,"work":0.012195121951219513,"properly":0.012195121951219513,"your":0.012195121951219513,"operating":0.012195121951219513,"system's":0.012195121951219513,"options":0.012195121951219513,"regarding":0.012195121951219513,"for":0.012195121951219513,"more":0.012195121951219513,"information":0.012195121951219513,"defaults":0.012195121951219513,"false":0.012195121951219513,"please":0.012195121951219513,"note":0.012195121951219513,"distinction":0.012195121951219513,"between":0.012195121951219513,"it":0.012195121951219513,"and":0.012195121951219513,"tcpkeepalive":0.012195121951219513,"applied":0.012195121951219513,"while":0.012195121951219513,"used":0.012195121951219513,"quorum":0.012195121951219513,"members":0.012195121951219513,"currently":0.012195121951219513,"only":0.012195121951219513,"available":0.012195121951219513,"when":0.012195121951219513,"default":0.012195121951219513,"nioservercnxnfactory":0.012195121951219513},"310":{"0":0.01639344262295082,"3":0.01639344262295082,"electionportbindretry":0.01639344262295082,"java":0.01639344262295082,"system":0.01639344262295082,"property":0.01639344262295082,"only":0.01639344262295082,"zookeeper":0.01639344262295082,"set":0.01639344262295082,"max":0.01639344262295082,"retry":0.01639344262295082,"count":0.01639344262295082,"when":0.01639344262295082,"server":0.01639344262295082,"fails":0.01639344262295082,"to":0.01639344262295082,"bind":0.01639344262295082,"leader":0.01639344262295082,"election":0.01639344262295082,"port":0.01639344262295082,"such":0.01639344262295082,"errors":0.01639344262295082,"can":0.01639344262295082,"be":0.01639344262295082,"temporary":0.01639344262295082,"and":0.01639344262295082,"recoverable":0.01639344262295082,"as":0.01639344262295082,"dns":0.01639344262295082,"issue":0.01639344262295082,"described":0.01639344262295082,"in":0.01639344262295082,"zookeeper-3320":0.01639344262295082,"or":0.01639344262295082,"non-retryable":0.01639344262295082,"already":0.01639344262295082,"use":0.01639344262295082,"case":0.01639344262295082,"of":0.01639344262295082,"transient":0.01639344262295082,"this":0.01639344262295082,"improve":0.01639344262295082,"availability":0.01639344262295082,"help":0.01639344262295082,"it":0.01639344262295082,"self":0.01639344262295082,"recover":0.01639344262295082,"default":0.01639344262295082,"value":0.01639344262295082,"container":0.01639344262295082,"environment":0.01639344262295082,"especially":0.01639344262295082,"kubernetes":0.01639344262295082,"should":0.01639344262295082,"increased":0.01639344262295082,"infinite":0.01639344262295082,"overcome":0.01639344262295082,"issues":0.01639344262295082,"related":0.01639344262295082,"name":0.01639344262295082,"resolving":0.01639344262295082},"311":{"0":0.027777777777777776,"observer":0.027777777777777776,"reconnectdelayms":0.027777777777777776,"java":0.027777777777777776,"system":0.027777777777777776,"property":0.027777777777777776,"zookeeper":0.027777777777777776,"when":0.027777777777777776,"loses":0.027777777777777776,"its":0.027777777777777776,"connection":0.027777777777777776,"with":0.027777777777777776,"the":0.027777777777777776,"leader":0.027777777777777776,"it":0.027777777777777776,"waits":0.027777777777777776,"for":0.027777777777777776,"specified":0.027777777777777776,"value":0.027777777777777776,"before":0.027777777777777776,"trying":0.027777777777777776,"to":0.027777777777777776,"reconnect":0.027777777777777776,"so":0.027777777777777776,"that":0.027777777777777776,"entire":0.027777777777777776,"fleet":0.027777777777777776,"won't":0.027777777777777776,"try":0.027777777777777776,"run":0.027777777777777776,"election":0.027777777777777776,"and":0.027777777777777776,"at":0.027777777777777776,"once":0.027777777777777776,"defaults":0.027777777777777776,"ms":0.027777777777777776},"312":{"200":0.03225806451612903,"observer":0.03225806451612903,"election":0.03225806451612903,"delayms":0.03225806451612903,"java":0.03225806451612903,"system":0.03225806451612903,"property":0.03225806451612903,"zookeeper":0.03225806451612903,"delay":0.03225806451612903,"the":0.03225806451612903,"observer's":0.03225806451612903,"participation":0.03225806451612903,"in":0.03225806451612903,"a":0.03225806451612903,"leader":0.03225806451612903,"upon":0.03225806451612903,"disconnect":0.03225806451612903,"so":0.03225806451612903,"as":0.03225806451612903,"to":0.03225806451612903,"prevent":0.03225806451612903,"unexpected":0.03225806451612903,"additional":0.03225806451612903,"load":0.03225806451612903,"on":0.03225806451612903,"voting":0.03225806451612903,"peers":0.03225806451612903,"during":0.03225806451612903,"process":0.03225806451612903,"defaults":0.03225806451612903,"ms":0.03225806451612903},"313":{"3":0.023255813953488372,"5":0.023255813953488372,"localsessionsenabled":0.023255813953488372,"and":0.023255813953488372,"localsessionsupgradingenabled":0.023255813953488372,"new":0.023255813953488372,"in":0.023255813953488372,"optional":0.023255813953488372,"value":0.023255813953488372,"is":0.023255813953488372,"true":0.023255813953488372,"or":0.023255813953488372,"false":0.023255813953488372,"their":0.023255813953488372,"default":0.023255813953488372,"values":0.023255813953488372,"are":0.023255813953488372,"turning":0.023255813953488372,"on":0.023255813953488372,"the":0.023255813953488372,"local":0.023255813953488372,"session":0.023255813953488372,"feature":0.023255813953488372,"by":0.023255813953488372,"setting":0.023255813953488372,"can":0.023255813953488372,"upgrade":0.023255813953488372,"a":0.023255813953488372,"to":0.023255813953488372,"global":0.023255813953488372,"automatically":0.023255813953488372,"as":0.023255813953488372,"required":0.023255813953488372,"e":0.023255813953488372,"g":0.023255813953488372,"creating":0.023255813953488372,"ephemeral":0.023255813953488372,"nodes":0.023255813953488372,"which":0.023255813953488372,"only":0.023255813953488372,"matters":0.023255813953488372,"when":0.023255813953488372,"enabled":0.023255813953488372},"314":{"the":0.07142857142857142,"options":0.07142857142857142,"in":0.07142857142857142,"this":0.07142857142857142,"section":0.07142857142857142,"allow":0.07142857142857142,"control":0.07142857142857142,"over":0.07142857142857142,"encryption":0.07142857142857142,"authentication":0.07142857142857142,"authorization":0.07142857142857142,"performed":0.07142857142857142,"by":0.07142857142857142,"service":0.07142857142857142},"315":{"beside":0.037037037037037035,"this":0.037037037037037035,"page":0.037037037037037035,"you":0.037037037037037035,"can":0.037037037037037035,"also":0.037037037037037035,"find":0.037037037037037035,"useful":0.037037037037037035,"information":0.037037037037037035,"about":0.037037037037037035,"client":0.037037037037037035,"side":0.037037037037037035,"configuration":0.037037037037037035,"in":0.037037037037037035,"the":0.037037037037037035,"programmers":0.037037037037037035,"guide":0.037037037037037035,"zookeeper":0.037037037037037035,"wiki":0.037037037037037035,"has":0.037037037037037035,"pages":0.037037037037037035,"ssl":0.037037037037037035,"support":0.037037037037037035,"and":0.037037037037037035,"sasl":0.037037037037037035,"authentication":0.037037037037037035,"for":0.037037037037037035},"316":{"3":0.021739130434782608,"7":0.021739130434782608,"digestauthenticationprovider":0.021739130434782608,"enabled":0.021739130434782608,"java":0.021739130434782608,"system":0.021739130434782608,"property":0.021739130434782608,"zookeeper":0.021739130434782608,"new":0.021739130434782608,"in":0.021739130434782608,"determines":0.021739130434782608,"whether":0.021739130434782608,"the":0.021739130434782608,"digest":0.021739130434782608,"authentication":0.021739130434782608,"provider":0.021739130434782608,"is":0.021739130434782608,"default":0.021739130434782608,"value":0.021739130434782608,"true":0.021739130434782608,"for":0.021739130434782608,"backwards":0.021739130434782608,"compatibility":0.021739130434782608,"but":0.021739130434782608,"it":0.021739130434782608,"may":0.021739130434782608,"be":0.021739130434782608,"a":0.021739130434782608,"good":0.021739130434782608,"idea":0.021739130434782608,"to":0.021739130434782608,"disable":0.021739130434782608,"this":0.021739130434782608,"if":0.021739130434782608,"not":0.021739130434782608,"used":0.021739130434782608,"as":0.021739130434782608,"can":0.021739130434782608,"result":0.021739130434782608,"misleading":0.021739130434782608,"entries":0.021739130434782608,"appearing":0.021739130434782608,"audit":0.021739130434782608,"logs":0.021739130434782608,"see":0.021739130434782608,"zookeeper-3979":0.021739130434782608},"317":{"2":0.011904761904761904,"3":0.011904761904761904,"digestauthenticationprovider":0.011904761904761904,"superdigest":0.011904761904761904,"java":0.011904761904761904,"system":0.011904761904761904,"property":0.011904761904761904,"zookeeper":0.011904761904761904,"by":0.011904761904761904,"default":0.011904761904761904,"this":0.011904761904761904,"feature":0.011904761904761904,"is":0.011904761904761904,"disabled":0.011904761904761904,"new":0.011904761904761904,"in":0.011904761904761904,"enables":0.011904761904761904,"a":0.011904761904761904,"ensemble":0.011904761904761904,"administrator":0.011904761904761904,"to":0.011904761904761904,"access":0.011904761904761904,"the":0.011904761904761904,"znode":0.011904761904761904,"hierarchy":0.011904761904761904,"as":0.011904761904761904,"super":0.011904761904761904,"user":0.011904761904761904,"particular":0.011904761904761904,"no":0.011904761904761904,"acl":0.011904761904761904,"checking":0.011904761904761904,"occurs":0.011904761904761904,"for":0.011904761904761904,"authenticated":0.011904761904761904,"org":0.011904761904761904,"apache":0.011904761904761904,"server":0.011904761904761904,"auth":0.011904761904761904,"can":0.011904761904761904,"be":0.011904761904761904,"used":0.011904761904761904,"generate":0.011904761904761904,"call":0.011904761904761904,"it":0.011904761904761904,"with":0.011904761904761904,"one":0.011904761904761904,"parameter":0.011904761904761904,"of":0.011904761904761904,"password":0.011904761904761904,"provide":0.011904761904761904,"generated":0.011904761904761904,"data":0.011904761904761904,"value":0.011904761904761904,"when":0.011904761904761904,"starting":0.011904761904761904,"each":0.011904761904761904,"authenticating":0.011904761904761904,"from":0.011904761904761904,"client":0.011904761904761904,"pass":0.011904761904761904,"scheme":0.011904761904761904,"digest":0.011904761904761904,"and":0.011904761904761904,"authdata":0.011904761904761904,"note":0.011904761904761904,"that":0.011904761904761904,"passes":0.011904761904761904,"plaintext":0.011904761904761904,"would":0.011904761904761904,"prudent":0.011904761904761904,"use":0.011904761904761904,"authentication":0.011904761904761904,"method":0.011904761904761904,"only":0.011904761904761904,"on":0.011904761904761904,"localhost":0.011904761904761904,"not":0.011904761904761904,"over":0.011904761904761904,"network":0.011904761904761904,"or":0.011904761904761904,"an":0.011904761904761904,"encrypted":0.011904761904761904,"connection":0.011904761904761904},"318":{"0":0.03571428571428571,"3":0.03571428571428571,"7":0.03571428571428571,"digestauthenticationprovider":0.03571428571428571,"digestalg":0.03571428571428571,"java":0.03571428571428571,"system":0.03571428571428571,"property":0.03571428571428571,"zookeeper":0.03571428571428571,"new":0.03571428571428571,"in":0.03571428571428571,"set":0.03571428571428571,"acl":0.03571428571428571,"digest":0.03571428571428571,"algorithm":0.03571428571428571,"the":0.03571428571428571,"default":0.03571428571428571,"value":0.03571428571428571,"is":0.03571428571428571,"sha1":0.03571428571428571,"which":0.03571428571428571,"will":0.03571428571428571,"be":0.03571428571428571,"deprecated":0.03571428571428571,"future":0.03571428571428571,"for":0.03571428571428571,"security":0.03571428571428571,"issues":0.03571428571428571},"319":{"set":0.1111111111111111,"this":0.1111111111111111,"property":0.1111111111111111,"the":0.1111111111111111,"same":0.1111111111111111,"value":0.1111111111111111,"in":0.1111111111111111,"all":0.1111111111111111,"servers":0.1111111111111111},"320":{"how":0.16666666666666666,"to":0.16666666666666666,"support":0.16666666666666666,"other":0.16666666666666666,"more":0.16666666666666666,"algorithms":0.16666666666666666},"321":{"modify":0.0625,"the":0.0625,"java":0.0625,"security":0.0625,"configuration":0.0625,"file":0.0625,"under":0.0625,"java_home":0.0625,"jre":0.0625,"lib":0.0625,"by":0.0625,"specifying":0.0625,"provider":0.0625,"n":0.0625,"class":0.0625,"name":0.0625},"322":{"for":0.5,"example":0.5},"323":{"copy":0.1111111111111111,"the":0.1111111111111111,"jar":0.1111111111111111,"file":0.1111111111111111,"to":0.1111111111111111,"java_home":0.1111111111111111,"jre":0.1111111111111111,"lib":0.1111111111111111,"ext":0.1111111111111111},"324":{"for":0.5,"example":0.5},"325":{"how":0.125,"to":0.125,"migrate":0.125,"from":0.125,"one":0.125,"digest":0.125,"algorithm":0.125,"another":0.125},"326":{"regenerate":0.14285714285714285,"superdigest":0.14285714285714285,"when":0.14285714285714285,"migrating":0.14285714285714285,"to":0.14285714285714285,"new":0.14285714285714285,"algorithm":0.14285714285714285},"327":{"run":0.07692307692307693,"setacl":0.07692307692307693,"for":0.07692307692307693,"a":0.07692307692307693,"znode":0.07692307692307693,"which":0.07692307692307693,"already":0.07692307692307693,"had":0.07692307692307693,"digest":0.07692307692307693,"auth":0.07692307692307693,"of":0.07692307692307693,"old":0.07692307692307693,"algorithm":0.07692307692307693},"328":{"3":0.02127659574468085,"9":0.02127659574468085,"ipauthenticationprovider":0.02127659574468085,"usexforwardedfor":0.02127659574468085,"java":0.02127659574468085,"system":0.02127659574468085,"property":0.02127659574468085,"zookeeper":0.02127659574468085,"new":0.02127659574468085,"in":0.02127659574468085,"uses":0.02127659574468085,"the":0.02127659574468085,"client":0.02127659574468085,"ip":0.02127659574468085,"address":0.02127659574468085,"to":0.02127659574468085,"authenticate":0.02127659574468085,"user":0.02127659574468085,"by":0.02127659574468085,"default":0.02127659574468085,"it":0.02127659574468085,"reads":0.02127659574468085,"host":0.02127659574468085,"http":0.02127659574468085,"header":0.02127659574468085,"detect":0.02127659574468085,"some":0.02127659574468085,"proxy":0.02127659574468085,"configurations":0.02127659574468085,"server":0.02127659574468085,"adds":0.02127659574468085,"x-forwarded-for":0.02127659574468085,"request":0.02127659574468085,"order":0.02127659574468085,"provide":0.02127659574468085,"of":0.02127659574468085,"original":0.02127659574468085,"enabling":0.02127659574468085,"setting":0.02127659574468085,"will":0.02127659574468085,"be":0.02127659574468085,"preferred":0.02127659574468085,"over":0.02127659574468085,"standard":0.02127659574468085,"value":0.02127659574468085,"is":0.02127659574468085,"false":0.02127659574468085},"329":{"x509authenticationprovider":0.021739130434782608,"superuser":0.021739130434782608,"java":0.021739130434782608,"system":0.021739130434782608,"property":0.021739130434782608,"zookeeper":0.021739130434782608,"the":0.021739130434782608,"ssl-backed":0.021739130434782608,"way":0.021739130434782608,"to":0.021739130434782608,"enable":0.021739130434782608,"a":0.021739130434782608,"ensemble":0.021739130434782608,"administrator":0.021739130434782608,"access":0.021739130434782608,"znode":0.021739130434782608,"hierarchy":0.021739130434782608,"as":0.021739130434782608,"super":0.021739130434782608,"user":0.021739130434782608,"when":0.021739130434782608,"this":0.021739130434782608,"parameter":0.021739130434782608,"is":0.021739130434782608,"set":0.021739130434782608,"an":0.021739130434782608,"x500":0.021739130434782608,"principal":0.021739130434782608,"name":0.021739130434782608,"only":0.021739130434782608,"authenticated":0.021739130434782608,"client":0.021739130434782608,"with":0.021739130434782608,"that":0.021739130434782608,"will":0.021739130434782608,"be":0.021739130434782608,"able":0.021739130434782608,"bypass":0.021739130434782608,"acl":0.021739130434782608,"checking":0.021739130434782608,"and":0.021739130434782608,"have":0.021739130434782608,"full":0.021739130434782608,"privileges":0.021739130434782608,"all":0.021739130434782608,"znodes":0.021739130434782608},"330":{"1":0.02564102564102564,"zookeeper":0.02564102564102564,"superuser":0.02564102564102564,"java":0.02564102564102564,"system":0.02564102564102564,"property":0.02564102564102564,"similar":0.02564102564102564,"to":0.02564102564102564,"x509authenticationprovider":0.02564102564102564,"but":0.02564102564102564,"is":0.02564102564102564,"generic":0.02564102564102564,"for":0.02564102564102564,"sasl":0.02564102564102564,"based":0.02564102564102564,"logins":0.02564102564102564,"it":0.02564102564102564,"stores":0.02564102564102564,"the":0.02564102564102564,"name":0.02564102564102564,"of":0.02564102564102564,"a":0.02564102564102564,"user":0.02564102564102564,"that":0.02564102564102564,"can":0.02564102564102564,"access":0.02564102564102564,"znode":0.02564102564102564,"hierarchy":0.02564102564102564,"as":0.02564102564102564,"super":0.02564102564102564,"you":0.02564102564102564,"specify":0.02564102564102564,"multiple":0.02564102564102564,"users":0.02564102564102564,"using":0.02564102564102564,"suffix":0.02564102564102564,"notation":0.02564102564102564,"e":0.02564102564102564,"g":0.02564102564102564},"331":{"ssl":0.015384615384615385,"authprovider":0.015384615384615385,"java":0.015384615384615385,"system":0.015384615384615385,"property":0.015384615384615385,"zookeeper":0.015384615384615385,"specifies":0.015384615384615385,"a":0.015384615384615385,"subclass":0.015384615384615385,"of":0.015384615384615385,"org":0.015384615384615385,"apache":0.015384615384615385,"auth":0.015384615384615385,"x509authenticationprovider":0.015384615384615385,"to":0.015384615384615385,"use":0.015384615384615385,"for":0.015384615384615385,"secure":0.015384615384615385,"client":0.015384615384615385,"authentication":0.015384615384615385,"this":0.015384615384615385,"is":0.015384615384615385,"useful":0.015384615384615385,"in":0.015384615384615385,"certificate":0.015384615384615385,"key":0.015384615384615385,"infrastructures":0.015384615384615385,"that":0.015384615384615385,"do":0.015384615384615385,"not":0.015384615384615385,"jks":0.015384615384615385,"it":0.015384615384615385,"may":0.015384615384615385,"be":0.015384615384615385,"necessary":0.015384615384615385,"extend":0.015384615384615385,"javax":0.015384615384615385,"net":0.015384615384615385,"x509keymanager":0.015384615384615385,"and":0.015384615384615385,"x509trustmanager":0.015384615384615385,"get":0.015384615384615385,"the":0.015384615384615385,"desired":0.015384615384615385,"behavior":0.015384615384615385,"from":0.015384615384615385,"stack":0.015384615384615385,"configure":0.015384615384615385,"server":0.015384615384615385,"custom":0.015384615384615385,"provider":0.015384615384615385,"choose":0.015384615384615385,"scheme":0.015384615384615385,"name":0.015384615384615385,"authenticationprovider":0.015384615384615385,"set":0.015384615384615385,"fully-qualified":0.015384615384615385,"class":0.015384615384615385,"implementation":0.015384615384615385,"will":0.015384615384615385,"load":0.015384615384615385,"into":0.015384615384615385,"providerregistry":0.015384615384615385,"then":0.015384615384615385,"used":0.015384615384615385},"332":{"0":0.019230769230769232,"3":0.019230769230769232,"6":0.019230769230769232,"zookeeper":0.019230769230769232,"ensembleauthname":0.019230769230769232,"java":0.019230769230769232,"system":0.019230769230769232,"property":0.019230769230769232,"only":0.019230769230769232,"new":0.019230769230769232,"in":0.019230769230769232,"specify":0.019230769230769232,"a":0.019230769230769232,"list":0.019230769230769232,"of":0.019230769230769232,"comma-separated":0.019230769230769232,"valid":0.019230769230769232,"names":0.019230769230769232,"aliases":0.019230769230769232,"an":0.019230769230769232,"ensemble":0.019230769230769232,"client":0.019230769230769232,"can":0.019230769230769232,"provide":0.019230769230769232,"the":0.019230769230769232,"name":0.019230769230769232,"it":0.019230769230769232,"intends":0.019230769230769232,"to":0.019230769230769232,"connect":0.019230769230769232,"as":0.019230769230769232,"credential":0.019230769230769232,"for":0.019230769230769232,"scheme":0.019230769230769232,"ensembleauthenticationprovider":0.019230769230769232,"will":0.019230769230769232,"check":0.019230769230769232,"against":0.019230769230769232,"that":0.019230769230769232,"receives":0.019230769230769232,"connection":0.019230769230769232,"request":0.019230769230769232,"if":0.019230769230769232,"is":0.019230769230769232,"not":0.019230769230769232,"be":0.019230769230769232,"refused":0.019230769230769232,"this":0.019230769230769232,"prevents":0.019230769230769232,"accidentally":0.019230769230769232,"connecting":0.019230769230769232,"wrong":0.019230769230769232},"333":{"0":0.015625,"3":0.015625,"6":0.015625,"sessionrequireclientsaslauth":0.015625,"java":0.015625,"system":0.015625,"property":0.015625,"zookeeper":0.015625,"new":0.015625,"in":0.015625,"when":0.015625,"set":0.015625,"to":0.015625,"true":0.015625,"server":0.015625,"will":0.015625,"only":0.015625,"accept":0.015625,"connections":0.015625,"and":0.015625,"requests":0.015625,"from":0.015625,"clients":0.015625,"that":0.015625,"have":0.015625,"authenticated":0.015625,"with":0.015625,"via":0.015625,"sasl":0.015625,"are":0.015625,"not":0.015625,"configured":0.015625,"authentication":0.015625,"or":0.015625,"but":0.015625,"failed":0.015625,"i":0.015625,"e":0.015625,"invalid":0.015625,"credential":0.015625,"be":0.015625,"able":0.015625,"establish":0.015625,"a":0.015625,"session":0.015625,"typed":0.015625,"error":0.015625,"code":0.015625,"-124":0.015625,"delivered":0.015625,"such":0.015625,"case":0.015625,"both":0.015625,"c":0.015625,"client":0.015625,"close":0.015625,"the":0.015625,"thereafter":0.015625,"without":0.015625,"further":0.015625,"attempts":0.015625,"on":0.015625,"retrying":0.015625,"reconnect":0.015625},"334":{"this":0.08333333333333333,"configuration":0.08333333333333333,"is":0.08333333333333333,"shorthand":0.08333333333333333,"for":0.08333333333333333,"enforce":0.08333333333333333,"auth":0.08333333333333333,"enabled":0.08333333333333333,"true":0.08333333333333333,"and":0.08333333333333333,"scheme":0.08333333333333333,"sasl":0.08333333333333333},"335":{"by":0.05555555555555555,"default":0.05555555555555555,"this":0.05555555555555555,"feature":0.05555555555555555,"is":0.05555555555555555,"disabled":0.05555555555555555,"users":0.05555555555555555,"who":0.05555555555555555,"would":0.05555555555555555,"like":0.05555555555555555,"to":0.05555555555555555,"opt-in":0.05555555555555555,"can":0.05555555555555555,"enable":0.05555555555555555,"the":0.05555555555555555,"setting":0.05555555555555555,"sessionrequireclientsaslauth":0.05555555555555555,"true":0.05555555555555555},"336":{"this":0.03225806451612903,"feature":0.03225806451612903,"overrules":0.03225806451612903,"the":0.03225806451612903,"zookeeper":0.03225806451612903,"allowsaslfailedclients":0.03225806451612903,"option":0.03225806451612903,"so":0.03225806451612903,"even":0.03225806451612903,"if":0.03225806451612903,"server":0.03225806451612903,"is":0.03225806451612903,"configured":0.03225806451612903,"to":0.03225806451612903,"allow":0.03225806451612903,"clients":0.03225806451612903,"that":0.03225806451612903,"fail":0.03225806451612903,"sasl":0.03225806451612903,"authentication":0.03225806451612903,"login":0.03225806451612903,"client":0.03225806451612903,"will":0.03225806451612903,"not":0.03225806451612903,"be":0.03225806451612903,"able":0.03225806451612903,"establish":0.03225806451612903,"a":0.03225806451612903,"session":0.03225806451612903,"with":0.03225806451612903,"enabled":0.03225806451612903},"337":{"0":0.013888888888888888,"3":0.013888888888888888,"7":0.013888888888888888,"enforce":0.013888888888888888,"auth":0.013888888888888888,"enabled":0.013888888888888888,"java":0.013888888888888888,"system":0.013888888888888888,"property":0.013888888888888888,"zookeeper":0.013888888888888888,"new":0.013888888888888888,"in":0.013888888888888888,"when":0.013888888888888888,"set":0.013888888888888888,"to":0.013888888888888888,"true":0.013888888888888888,"server":0.013888888888888888,"will":0.013888888888888888,"only":0.013888888888888888,"accept":0.013888888888888888,"connections":0.013888888888888888,"and":0.013888888888888888,"requests":0.013888888888888888,"from":0.013888888888888888,"clients":0.013888888888888888,"that":0.013888888888888888,"have":0.013888888888888888,"authenticated":0.013888888888888888,"with":0.013888888888888888,"via":0.013888888888888888,"configured":0.013888888888888888,"scheme":0.013888888888888888,"authentication":0.013888888888888888,"schemes":0.013888888888888888,"can":0.013888888888888888,"be":0.013888888888888888,"using":0.013888888888888888,"are":0.013888888888888888,"not":0.013888888888888888,"the":0.013888888888888888,"any":0.013888888888888888,"of":0.013888888888888888,"at":0.013888888888888888,"or":0.013888888888888888,"but":0.013888888888888888,"failed":0.013888888888888888,"i":0.013888888888888888,"e":0.013888888888888888,"invalid":0.013888888888888888,"credential":0.013888888888888888,"able":0.013888888888888888,"establish":0.013888888888888888,"a":0.013888888888888888,"session":0.013888888888888888,"typed":0.013888888888888888,"error":0.013888888888888888,"code":0.013888888888888888,"-124":0.013888888888888888,"delivered":0.013888888888888888,"such":0.013888888888888888,"case":0.013888888888888888,"both":0.013888888888888888,"c":0.013888888888888888,"client":0.013888888888888888,"close":0.013888888888888888,"thereafter":0.013888888888888888,"without":0.013888888888888888,"further":0.013888888888888888,"attempts":0.013888888888888888,"on":0.013888888888888888,"retrying":0.013888888888888888,"reconnect":0.013888888888888888},"338":{"by":0.05,"default":0.05,"this":0.05,"feature":0.05,"is":0.05,"disabled":0.05,"users":0.05,"who":0.05,"would":0.05,"like":0.05,"to":0.05,"opt-in":0.05,"can":0.05,"enable":0.05,"the":0.05,"setting":0.05,"enforce":0.05,"auth":0.05,"enabled":0.05,"true":0.05},"339":{"when":0.1111111111111111,"enforce":0.1111111111111111,"auth":0.1111111111111111,"enabled":0.1111111111111111,"true":0.1111111111111111,"and":0.1111111111111111,"schemes":0.1111111111111111,"sasl":0.1111111111111111,"then":0.1111111111111111},"340":{"zookeeper":0.03125,"allowsaslfailedclients":0.03125,"configuration":0.03125,"is":0.03125,"overruled":0.03125,"so":0.03125,"even":0.03125,"if":0.03125,"server":0.03125,"configured":0.03125,"to":0.03125,"allow":0.03125,"clients":0.03125,"that":0.03125,"fail":0.03125,"sasl":0.03125,"authentication":0.03125,"login":0.03125,"client":0.03125,"will":0.03125,"not":0.03125,"be":0.03125,"able":0.03125,"establish":0.03125,"a":0.03125,"session":0.03125,"with":0.03125,"this":0.03125,"feature":0.03125,"enabled":0.03125,"as":0.03125,"scheme":0.03125},"341":{"0":0.02631578947368421,"3":0.02631578947368421,"7":0.02631578947368421,"enforce":0.02631578947368421,"auth":0.02631578947368421,"schemes":0.02631578947368421,"java":0.02631578947368421,"system":0.02631578947368421,"property":0.02631578947368421,"zookeeper":0.02631578947368421,"new":0.02631578947368421,"in":0.02631578947368421,"comma":0.02631578947368421,"separated":0.02631578947368421,"list":0.02631578947368421,"of":0.02631578947368421,"authentication":0.02631578947368421,"clients":0.02631578947368421,"must":0.02631578947368421,"be":0.02631578947368421,"authenticated":0.02631578947368421,"with":0.02631578947368421,"at":0.02631578947368421,"least":0.02631578947368421,"one":0.02631578947368421,"scheme":0.02631578947368421,"before":0.02631578947368421,"doing":0.02631578947368421,"any":0.02631578947368421,"operations":0.02631578947368421,"this":0.02631578947368421,"is":0.02631578947368421,"used":0.02631578947368421,"only":0.02631578947368421,"when":0.02631578947368421,"enabled":0.02631578947368421,"to":0.02631578947368421,"true":0.02631578947368421},"342":{"3":0.023255813953488372,"5":0.023255813953488372,"sslquorum":0.023255813953488372,"java":0.023255813953488372,"system":0.023255813953488372,"property":0.023255813953488372,"zookeeper":0.023255813953488372,"new":0.023255813953488372,"in":0.023255813953488372,"enables":0.023255813953488372,"encrypted":0.023255813953488372,"quorum":0.023255813953488372,"communication":0.023255813953488372,"default":0.023255813953488372,"is":0.023255813953488372,"false":0.023255813953488372,"when":0.023255813953488372,"enabling":0.023255813953488372,"this":0.023255813953488372,"feature":0.023255813953488372,"please":0.023255813953488372,"also":0.023255813953488372,"consider":0.023255813953488372,"leader":0.023255813953488372,"closesocketasync":0.023255813953488372,"and":0.023255813953488372,"learner":0.023255813953488372,"to":0.023255813953488372,"avoid":0.023255813953488372,"issues":0.023255813953488372,"associated":0.023255813953488372,"with":0.023255813953488372,"the":0.023255813953488372,"potentially":0.023255813953488372,"long":0.023255813953488372,"socket":0.023255813953488372,"closing":0.023255813953488372,"time":0.023255813953488372,"shutting":0.023255813953488372,"down":0.023255813953488372,"an":0.023255813953488372,"ssl":0.023255813953488372,"connection":0.023255813953488372},"343":{"3":0.03333333333333333,"5":0.03333333333333333,"ssl":0.03333333333333333,"keystore":0.03333333333333333,"location":0.03333333333333333,"and":0.03333333333333333,"password":0.03333333333333333,"quorum":0.03333333333333333,"java":0.03333333333333333,"system":0.03333333333333333,"properties":0.03333333333333333,"zookeeper":0.03333333333333333,"new":0.03333333333333333,"in":0.03333333333333333,"specifies":0.03333333333333333,"the":0.03333333333333333,"file":0.03333333333333333,"path":0.03333333333333333,"to":0.03333333333333333,"a":0.03333333333333333,"containing":0.03333333333333333,"local":0.03333333333333333,"credentials":0.03333333333333333,"be":0.03333333333333333,"used":0.03333333333333333,"for":0.03333333333333333,"client":0.03333333333333333,"tls":0.03333333333333333,"connections":0.03333333333333333,"unlock":0.03333333333333333},"344":{"0":0.034482758620689655,"3":0.034482758620689655,"8":0.034482758620689655,"ssl":0.034482758620689655,"keystore":0.034482758620689655,"passwordpath":0.034482758620689655,"and":0.034482758620689655,"quorum":0.034482758620689655,"java":0.034482758620689655,"system":0.034482758620689655,"properties":0.034482758620689655,"zookeeper":0.034482758620689655,"new":0.034482758620689655,"in":0.034482758620689655,"specifies":0.034482758620689655,"the":0.034482758620689655,"file":0.034482758620689655,"path":0.034482758620689655,"that":0.034482758620689655,"contains":0.034482758620689655,"password":0.034482758620689655,"reading":0.034482758620689655,"from":0.034482758620689655,"a":0.034482758620689655,"takes":0.034482758620689655,"precedence":0.034482758620689655,"over":0.034482758620689655,"explicit":0.034482758620689655,"property":0.034482758620689655},"345":{"0":0.02702702702702703,"3":0.02702702702702703,"5":0.02702702702702703,"6":0.02702702702702703,"7":0.02702702702702703,"10":0.02702702702702703,"ssl":0.02702702702702703,"keystore":0.02702702702702703,"type":0.02702702702702703,"and":0.02702702702702703,"quorum":0.02702702702702703,"java":0.02702702702702703,"system":0.02702702702702703,"properties":0.02702702702702703,"zookeeper":0.02702702702702703,"new":0.02702702702702703,"in":0.02702702702702703,"specifies":0.02702702702702703,"the":0.02702702702702703,"file":0.02702702702702703,"format":0.02702702702702703,"of":0.02702702702702703,"client":0.02702702702702703,"keystores":0.02702702702702703,"values":0.02702702702702703,"jks":0.02702702702702703,"pem":0.02702702702702703,"pkcs12":0.02702702702702703,"or":0.02702702702702703,"null":0.02702702702702703,"detect":0.02702702702702703,"by":0.02702702702702703,"filename":0.02702702702702703,"default":0.02702702702702703,"bcfks":0.02702702702702703,"was":0.02702702702702703,"added":0.02702702702702703},"346":{"3":0.03333333333333333,"5":0.03333333333333333,"ssl":0.03333333333333333,"truststore":0.03333333333333333,"location":0.03333333333333333,"and":0.03333333333333333,"password":0.03333333333333333,"quorum":0.03333333333333333,"java":0.03333333333333333,"system":0.03333333333333333,"properties":0.03333333333333333,"zookeeper":0.03333333333333333,"new":0.03333333333333333,"in":0.03333333333333333,"specifies":0.03333333333333333,"the":0.03333333333333333,"file":0.03333333333333333,"path":0.03333333333333333,"to":0.03333333333333333,"a":0.03333333333333333,"containing":0.03333333333333333,"remote":0.03333333333333333,"credentials":0.03333333333333333,"be":0.03333333333333333,"used":0.03333333333333333,"for":0.03333333333333333,"client":0.03333333333333333,"tls":0.03333333333333333,"connections":0.03333333333333333,"unlock":0.03333333333333333},"347":{"0":0.034482758620689655,"3":0.034482758620689655,"8":0.034482758620689655,"ssl":0.034482758620689655,"truststore":0.034482758620689655,"passwordpath":0.034482758620689655,"and":0.034482758620689655,"quorum":0.034482758620689655,"java":0.034482758620689655,"system":0.034482758620689655,"properties":0.034482758620689655,"zookeeper":0.034482758620689655,"new":0.034482758620689655,"in":0.034482758620689655,"specifies":0.034482758620689655,"the":0.034482758620689655,"file":0.034482758620689655,"path":0.034482758620689655,"that":0.034482758620689655,"contains":0.034482758620689655,"password":0.034482758620689655,"reading":0.034482758620689655,"from":0.034482758620689655,"a":0.034482758620689655,"takes":0.034482758620689655,"precedence":0.034482758620689655,"over":0.034482758620689655,"explicit":0.034482758620689655,"property":0.034482758620689655},"348":{"0":0.02702702702702703,"3":0.02702702702702703,"5":0.02702702702702703,"6":0.02702702702702703,"7":0.02702702702702703,"10":0.02702702702702703,"ssl":0.02702702702702703,"truststore":0.02702702702702703,"type":0.02702702702702703,"and":0.02702702702702703,"quorum":0.02702702702702703,"java":0.02702702702702703,"system":0.02702702702702703,"properties":0.02702702702702703,"zookeeper":0.02702702702702703,"new":0.02702702702702703,"in":0.02702702702702703,"specifies":0.02702702702702703,"the":0.02702702702702703,"file":0.02702702702702703,"format":0.02702702702702703,"of":0.02702702702702703,"client":0.02702702702702703,"truststores":0.02702702702702703,"values":0.02702702702702703,"jks":0.02702702702702703,"pem":0.02702702702702703,"pkcs12":0.02702702702702703,"or":0.02702702702702703,"null":0.02702702702702703,"detect":0.02702702702702703,"by":0.02702702702702703,"filename":0.02702702702702703,"default":0.02702702702702703,"bcfks":0.02702702702702703,"was":0.02702702702702703,"added":0.02702702702702703},"349":{"2":0.03571428571428571,"3":0.03571428571428571,"5":0.03571428571428571,"ssl":0.03571428571428571,"protocol":0.03571428571428571,"and":0.03571428571428571,"quorum":0.03571428571428571,"java":0.03571428571428571,"system":0.03571428571428571,"properties":0.03571428571428571,"zookeeper":0.03571428571428571,"new":0.03571428571428571,"in":0.03571428571428571,"specifies":0.03571428571428571,"to":0.03571428571428571,"be":0.03571428571428571,"used":0.03571428571428571,"client":0.03571428571428571,"tls":0.03571428571428571,"negotiation":0.03571428571428571,"default":0.03571428571428571,"tlsv1":0.03571428571428571,"or":0.03571428571428571,"depending":0.03571428571428571,"on":0.03571428571428571,"runtime":0.03571428571428571,"version":0.03571428571428571,"being":0.03571428571428571},"350":{"2":0.03571428571428571,"3":0.03571428571428571,"5":0.03571428571428571,"ssl":0.03571428571428571,"enabledprotocols":0.03571428571428571,"and":0.03571428571428571,"quorum":0.03571428571428571,"java":0.03571428571428571,"system":0.03571428571428571,"properties":0.03571428571428571,"zookeeper":0.03571428571428571,"new":0.03571428571428571,"in":0.03571428571428571,"specifies":0.03571428571428571,"the":0.03571428571428571,"enabled":0.03571428571428571,"protocols":0.03571428571428571,"client":0.03571428571428571,"tls":0.03571428571428571,"negotiation":0.03571428571428571,"default":0.03571428571428571,"tlsv1":0.03571428571428571,"if":0.03571428571428571,"value":0.03571428571428571,"of":0.03571428571428571,"protocol":0.03571428571428571,"property":0.03571428571428571,"is":0.03571428571428571},"351":{"0":0.027777777777777776,"3":0.027777777777777776,"5":0.027777777777777776,"9":0.027777777777777776,"10":0.027777777777777776,"ssl":0.027777777777777776,"ciphersuites":0.027777777777777776,"and":0.027777777777777776,"quorum":0.027777777777777776,"java":0.027777777777777776,"system":0.027777777777777776,"properties":0.027777777777777776,"zookeeper":0.027777777777777776,"new":0.027777777777777776,"in":0.027777777777777776,"specifies":0.027777777777777776,"the":0.027777777777777776,"enabled":0.027777777777777776,"cipher":0.027777777777777776,"suites":0.027777777777777776,"to":0.027777777777777776,"be":0.027777777777777776,"used":0.027777777777777776,"client":0.027777777777777776,"tls":0.027777777777777776,"negotiation":0.027777777777777776,"default":0.027777777777777776,"jdk":0.027777777777777776,"defaults":0.027777777777777776,"since":0.027777777777777776,"hard":0.027777777777777776,"coded":0.027777777777777776,"for":0.027777777777777776,"earlier":0.027777777777777776,"versions":0.027777777777777776,"see":0.027777777777777776},"352":{"1":0.017857142857142856,"2":0.017857142857142856,"3":0.017857142857142856,"5":0.017857142857142856,"ssl":0.017857142857142856,"context":0.017857142857142856,"supplier":0.017857142857142856,"class":0.017857142857142856,"and":0.017857142857142856,"quorum":0.017857142857142856,"java":0.017857142857142856,"system":0.017857142857142856,"properties":0.017857142857142856,"zookeeper":0.017857142857142856,"new":0.017857142857142856,"in":0.017857142857142856,"specifies":0.017857142857142856,"the":0.017857142857142856,"to":0.017857142857142856,"be":0.017857142857142856,"used":0.017857142857142856,"for":0.017857142857142856,"creating":0.017857142857142856,"client":0.017857142857142856,"communication":0.017857142857142856,"this":0.017857142857142856,"allows":0.017857142857142856,"you":0.017857142857142856,"use":0.017857142857142856,"custom":0.017857142857142856,"implement":0.017857142857142856,"following":0.017857142857142856,"scenarios":0.017857142857142856,"hardware":0.017857142857142856,"keystore":0.017857142857142856,"loaded":0.017857142857142856,"using":0.017857142857142856,"pkcs11":0.017857142857142856,"or":0.017857142857142856,"something":0.017857142857142856,"similar":0.017857142857142856,"don't":0.017857142857142856,"have":0.017857142857142856,"access":0.017857142857142856,"software":0.017857142857142856,"but":0.017857142857142856,"can":0.017857142857142856,"retrieve":0.017857142857142856,"an":0.017857142857142856,"already-constructed":0.017857142857142856,"sslcontext":0.017857142857142856,"from":0.017857142857142856,"their":0.017857142857142856,"container":0.017857142857142856,"default":0.017857142857142856,"null":0.017857142857142856},"353":{"3":0.03125,"5":0.03125,"ssl":0.03125,"hostnameverification":0.03125,"and":0.03125,"quorum":0.03125,"java":0.03125,"system":0.03125,"properties":0.03125,"zookeeper":0.03125,"new":0.03125,"in":0.03125,"specifies":0.03125,"whether":0.03125,"the":0.03125,"hostname":0.03125,"verification":0.03125,"is":0.03125,"enabled":0.03125,"client":0.03125,"tls":0.03125,"negotiation":0.03125,"process":0.03125,"disabling":0.03125,"it":0.03125,"only":0.03125,"recommended":0.03125,"for":0.03125,"testing":0.03125,"purposes":0.03125,"default":0.03125,"true":0.03125},"354":{"3":0.024390243902439025,"4":0.024390243902439025,"9":0.024390243902439025,"ssl":0.024390243902439025,"clienthostnameverification":0.024390243902439025,"and":0.024390243902439025,"quorum":0.024390243902439025,"java":0.024390243902439025,"system":0.024390243902439025,"properties":0.024390243902439025,"zookeeper":0.024390243902439025,"new":0.024390243902439025,"in":0.024390243902439025,"specifies":0.024390243902439025,"whether":0.024390243902439025,"the":0.024390243902439025,"client's":0.024390243902439025,"hostname":0.024390243902439025,"verification":0.024390243902439025,"is":0.024390243902439025,"enabled":0.024390243902439025,"client":0.024390243902439025,"tls":0.024390243902439025,"negotiation":0.024390243902439025,"process":0.024390243902439025,"this":0.024390243902439025,"option":0.024390243902439025,"requires":0.024390243902439025,"corresponding":0.024390243902439025,"hostnameverification":0.024390243902439025,"to":0.024390243902439025,"be":0.024390243902439025,"true":0.024390243902439025,"or":0.024390243902439025,"it":0.024390243902439025,"will":0.024390243902439025,"ignored":0.024390243902439025,"default":0.024390243902439025,"for":0.024390243902439025,"false":0.024390243902439025,"clients":0.024390243902439025},"355":{"3":0.015625,"5":0.015625,"9":0.015625,"ssl":0.015625,"allowreversednslookup":0.015625,"and":0.015625,"quorum":0.015625,"java":0.015625,"system":0.015625,"properties":0.015625,"zookeeper":0.015625,"new":0.015625,"in":0.015625,"allow":0.015625,"reverse":0.015625,"dns":0.015625,"lookup":0.015625,"both":0.015625,"server-":0.015625,"client":0.015625,"hostname":0.015625,"verifications":0.015625,"if":0.015625,"the":0.015625,"verification":0.015625,"is":0.015625,"enabled":0.015625,"zktrustmanager":0.015625,"supported":0.015625,"tls":0.015625,"protocols":0.015625,"not":0.015625,"fips":0.015625,"mode":0.015625,"lookups":0.015625,"are":0.015625,"expensive":0.015625,"unnecessary":0.015625,"most":0.015625,"cases":0.015625,"make":0.015625,"sure":0.015625,"that":0.015625,"certificates":0.015625,"created":0.015625,"with":0.015625,"all":0.015625,"required":0.015625,"subject":0.015625,"alternative":0.015625,"names":0.015625,"san":0.015625,"for":0.015625,"successful":0.015625,"identity":0.015625,"it's":0.015625,"recommended":0.015625,"to":0.015625,"add":0.015625,"ip":0.015625,"entries":0.015625,"of":0.015625,"default":0.015625,"false":0.015625},"356":{"0":0.029411764705882353,"3":0.029411764705882353,"5":0.029411764705882353,"10":0.029411764705882353,"ssl":0.029411764705882353,"crl":0.029411764705882353,"and":0.029411764705882353,"quorum":0.029411764705882353,"java":0.029411764705882353,"system":0.029411764705882353,"properties":0.029411764705882353,"zookeeper":0.029411764705882353,"new":0.029411764705882353,"in":0.029411764705882353,"specifies":0.029411764705882353,"whether":0.029411764705882353,"certificate":0.029411764705882353,"revocation":0.029411764705882353,"list":0.029411764705882353,"is":0.029411764705882353,"enabled":0.029411764705882353,"client":0.029411764705882353,"tls":0.029411764705882353,"protocols":0.029411764705882353,"default":0.029411764705882353,"jvm":0.029411764705882353,"property":0.029411764705882353,"com":0.029411764705882353,"sun":0.029411764705882353,"net":0.029411764705882353,"checkrevocation":0.029411764705882353,"since":0.029411764705882353,"false":0.029411764705882353,"otherwise":0.029411764705882353},"357":{"0":0.017857142857142856,"3":0.017857142857142856,"5":0.017857142857142856,"10":0.017857142857142856,"ssl":0.017857142857142856,"ocsp":0.017857142857142856,"and":0.017857142857142856,"quorum":0.017857142857142856,"java":0.017857142857142856,"system":0.017857142857142856,"properties":0.017857142857142856,"zookeeper":0.017857142857142856,"new":0.017857142857142856,"in":0.017857142857142856,"specifies":0.017857142857142856,"whether":0.017857142857142856,"online":0.017857142857142856,"certificate":0.017857142857142856,"status":0.017857142857142856,"protocol":0.017857142857142856,"is":0.017857142857142856,"enabled":0.017857142857142856,"client":0.017857142857142856,"tls":0.017857142857142856,"protocols":0.017857142857142856,"changed":0.017857142857142856,"before":0.017857142857142856,"implies":0.017857142857142856,"crl":0.017857142857142856,"correspondingly":0.017857142857142856,"after":0.017857142857142856,"one":0.017857142857142856,"has":0.017857142857142856,"to":0.017857142857142856,"setup":0.017857142857142856,"both":0.017857142857142856,"or":0.017857142857142856,"enable":0.017857142857142856,"this":0.017857142857142856,"consistent":0.017857142857142856,"with":0.017857142857142856,"jdk's":0.017857142857142856,"method":0.017857142857142856,"of":0.017857142857142856,"setting":0.017857142857142856,"up":0.017857142857142856,"a":0.017857142857142856,"use":0.017857142857142856,"client-driven":0.017857142857142856,"default":0.017857142857142856,"jvm":0.017857142857142856,"security":0.017857142857142856,"property":0.017857142857142856,"since":0.017857142857142856,"false":0.017857142857142856,"otherwise":0.017857142857142856},"358":{"3":0.038461538461538464,"5":0.038461538461538464,"7":0.038461538461538464,"ssl":0.038461538461538464,"clientauth":0.038461538461538464,"and":0.038461538461538464,"quorum":0.038461538461538464,"java":0.038461538461538464,"system":0.038461538461538464,"properties":0.038461538461538464,"zookeeper":0.038461538461538464,"added":0.038461538461538464,"in":0.038461538461538464,"but":0.038461538461538464,"broken":0.038461538461538464,"until":0.038461538461538464,"specifies":0.038461538461538464,"options":0.038461538461538464,"to":0.038461538461538464,"authenticate":0.038461538461538464,"connections":0.038461538461538464,"from":0.038461538461538464,"clients":0.038461538461538464,"valid":0.038461538461538464,"values":0.038461538461538464,"are":0.038461538461538464},"359":{"none":0.14285714285714285,"server":0.14285714285714285,"will":0.14285714285714285,"not":0.14285714285714285,"request":0.14285714285714285,"client":0.14285714285714285,"authentication":0.14285714285714285},"360":{"want":0.16666666666666666,"server":0.16666666666666666,"will":0.16666666666666666,"request":0.16666666666666666,"client":0.16666666666666666,"authentication":0.16666666666666666},"361":{"need":0.16666666666666666,"server":0.16666666666666666,"will":0.16666666666666666,"require":0.16666666666666666,"client":0.16666666666666666,"authentication":0.16666666666666666},"362":{"default":0.5,"need":0.5},"363":{"3":0.07692307692307693,"5":0.07692307692307693,"ssl":0.07692307692307693,"handshakedetectiontimeoutmillis":0.07692307692307693,"and":0.07692307692307693,"quorum":0.07692307692307693,"java":0.07692307692307693,"system":0.07692307692307693,"properties":0.07692307692307693,"zookeeper":0.07692307692307693,"new":0.07692307692307693,"in":0.07692307692307693,"tbd":0.07692307692307693},"364":{"0":0.022222222222222223,"3":0.022222222222222223,"9":0.022222222222222223,"ssl":0.022222222222222223,"sslprovider":0.022222222222222223,"java":0.022222222222222223,"system":0.022222222222222223,"property":0.022222222222222223,"zookeeper":0.022222222222222223,"new":0.022222222222222223,"in":0.022222222222222223,"allows":0.022222222222222223,"to":0.022222222222222223,"select":0.022222222222222223,"provider":0.022222222222222223,"the":0.022222222222222223,"client-server":0.022222222222222223,"communication":0.022222222222222223,"when":0.022222222222222223,"tls":0.022222222222222223,"is":0.022222222222222223,"enabled":0.022222222222222223,"netty-tcnative":0.022222222222222223,"native":0.022222222222222223,"library":0.022222222222222223,"has":0.022222222222222223,"been":0.022222222222222223,"added":0.022222222222222223,"version":0.022222222222222223,"which":0.022222222222222223,"us":0.022222222222222223,"use":0.022222222222222223,"libraries":0.022222222222222223,"like":0.022222222222222223,"openssl":0.022222222222222223,"on":0.022222222222222223,"supported":0.022222222222222223,"platforms":0.022222222222222223,"see":0.022222222222222223,"available":0.022222222222222223,"options":0.022222222222222223,"documentation":0.022222222222222223,"default":0.022222222222222223,"value":0.022222222222222223,"jdk":0.022222222222222223},"365":{"0":0.03125,"3":0.03125,"5":0.03125,"6":0.03125,"sslquorumreloadcertfiles":0.03125,"no":0.03125,"java":0.03125,"system":0.03125,"property":0.03125,"new":0.03125,"in":0.03125,"allows":0.03125,"quorum":0.03125,"ssl":0.03125,"keystore":0.03125,"and":0.03125,"truststore":0.03125,"reloading":0.03125,"when":0.03125,"the":0.03125,"certificates":0.03125,"on":0.03125,"filesystem":0.03125,"change":0.03125,"without":0.03125,"having":0.03125,"to":0.03125,"restart":0.03125,"zk":0.03125,"process":0.03125,"default":0.03125,"false":0.03125},"366":{"0":0.02857142857142857,"1":0.02857142857142857,"2":0.02857142857142857,"3":0.02857142857142857,"7":0.02857142857142857,"8":0.02857142857142857,"9":0.02857142857142857,"client":0.02857142857142857,"certreload":0.02857142857142857,"java":0.02857142857142857,"system":0.02857142857142857,"property":0.02857142857142857,"zookeeper":0.02857142857142857,"new":0.02857142857142857,"in":0.02857142857142857,"allows":0.02857142857142857,"ssl":0.02857142857142857,"keystore":0.02857142857142857,"and":0.02857142857142857,"truststore":0.02857142857142857,"reloading":0.02857142857142857,"when":0.02857142857142857,"the":0.02857142857142857,"certificates":0.02857142857142857,"on":0.02857142857142857,"filesystem":0.02857142857142857,"change":0.02857142857142857,"without":0.02857142857142857,"having":0.02857142857142857,"to":0.02857142857142857,"restart":0.02857142857142857,"zk":0.02857142857142857,"process":0.02857142857142857,"default":0.02857142857142857,"false":0.02857142857142857},"367":{"client":0.047619047619047616,"portunification":0.047619047619047616,"java":0.047619047619047616,"system":0.047619047619047616,"property":0.047619047619047616,"zookeeper":0.047619047619047616,"specifies":0.047619047619047616,"that":0.047619047619047616,"the":0.047619047619047616,"port":0.047619047619047616,"should":0.047619047619047616,"accept":0.047619047619047616,"ssl":0.047619047619047616,"connections":0.047619047619047616,"using":0.047619047619047616,"same":0.047619047619047616,"configuration":0.047619047619047616,"as":0.047619047619047616,"secure":0.047619047619047616,"default":0.047619047619047616,"false":0.047619047619047616},"368":{"1":0.037037037037037035,"authprovider":0.037037037037037035,"java":0.037037037037037035,"system":0.037037037037037035,"property":0.037037037037037035,"zookeeper":0.037037037037037035,"you":0.037037037037037035,"can":0.037037037037037035,"specify":0.037037037037037035,"multiple":0.037037037037037035,"authentication":0.037037037037037035,"provider":0.037037037037037035,"classes":0.037037037037037035,"for":0.037037037037037035,"usually":0.037037037037037035,"use":0.037037037037037035,"this":0.037037037037037035,"parameter":0.037037037037037035,"to":0.037037037037037035,"the":0.037037037037037035,"sasl":0.037037037037037035,"like":0.037037037037037035,"org":0.037037037037037035,"apache":0.037037037037037035,"server":0.037037037037037035,"auth":0.037037037037037035,"saslauthenticationprovider":0.037037037037037035},"369":{"kerberos":0.03125,"removehostfromprincipal":0.03125,"java":0.03125,"system":0.03125,"property":0.03125,"zookeeper":0.03125,"you":0.03125,"can":0.03125,"instruct":0.03125,"to":0.03125,"remove":0.03125,"the":0.03125,"host":0.03125,"from":0.03125,"client":0.03125,"principal":0.03125,"name":0.03125,"during":0.03125,"authentication":0.03125,"e":0.03125,"g":0.03125,"zk":0.03125,"myhost":0.03125,"example":0.03125,"com":0.03125,"will":0.03125,"be":0.03125,"authenticated":0.03125,"in":0.03125,"as":0.03125,"default":0.03125,"false":0.03125},"370":{"kerberos":0.03125,"removerealmfromprincipal":0.03125,"java":0.03125,"system":0.03125,"property":0.03125,"zookeeper":0.03125,"you":0.03125,"can":0.03125,"instruct":0.03125,"to":0.03125,"remove":0.03125,"the":0.03125,"realm":0.03125,"from":0.03125,"client":0.03125,"principal":0.03125,"name":0.03125,"during":0.03125,"authentication":0.03125,"e":0.03125,"g":0.03125,"zk":0.03125,"myhost":0.03125,"example":0.03125,"com":0.03125,"will":0.03125,"be":0.03125,"authenticated":0.03125,"in":0.03125,"as":0.03125,"default":0.03125,"false":0.03125},"371":{"0":0.01818181818181818,"3":0.01818181818181818,"7":0.01818181818181818,"kerberos":0.01818181818181818,"canonicalizehostnames":0.01818181818181818,"java":0.01818181818181818,"system":0.01818181818181818,"property":0.01818181818181818,"zookeeper":0.01818181818181818,"new":0.01818181818181818,"in":0.01818181818181818,"instructs":0.01818181818181818,"to":0.01818181818181818,"canonicalize":0.01818181818181818,"server":0.01818181818181818,"host":0.01818181818181818,"names":0.01818181818181818,"extracted":0.01818181818181818,"from":0.01818181818181818,"x":0.01818181818181818,"lines":0.01818181818181818,"this":0.01818181818181818,"allows":0.01818181818181818,"using":0.01818181818181818,"e":0.01818181818181818,"g":0.01818181818181818,"cname":0.01818181818181818,"records":0.01818181818181818,"reference":0.01818181818181818,"servers":0.01818181818181818,"configuration":0.01818181818181818,"files":0.01818181818181818,"while":0.01818181818181818,"still":0.01818181818181818,"enabling":0.01818181818181818,"sasl":0.01818181818181818,"authentication":0.01818181818181818,"between":0.01818181818181818,"quorum":0.01818181818181818,"members":0.01818181818181818,"it":0.01818181818181818,"is":0.01818181818181818,"essentially":0.01818181818181818,"the":0.01818181818181818,"equivalent":0.01818181818181818,"of":0.01818181818181818,"client":0.01818181818181818,"hostname":0.01818181818181818,"for":0.01818181818181818,"clients":0.01818181818181818,"default":0.01818181818181818,"value":0.01818181818181818,"false":0.01818181818181818,"backwards":0.01818181818181818,"compatibility":0.01818181818181818},"372":{"0":0.017241379310344827,"3":0.017241379310344827,"6":0.017241379310344827,"multiaddress":0.017241379310344827,"enabled":0.017241379310344827,"java":0.017241379310344827,"system":0.017241379310344827,"property":0.017241379310344827,"zookeeper":0.017241379310344827,"new":0.017241379310344827,"in":0.017241379310344827,"since":0.017241379310344827,"you":0.017241379310344827,"can":0.017241379310344827,"also":0.017241379310344827,"specify":0.017241379310344827,"multiple":0.017241379310344827,"addresses":0.017241379310344827,"for":0.017241379310344827,"each":0.017241379310344827,"server":0.017241379310344827,"instance":0.017241379310344827,"this":0.017241379310344827,"increase":0.017241379310344827,"availability":0.017241379310344827,"when":0.017241379310344827,"physical":0.017241379310344827,"network":0.017241379310344827,"interfaces":0.017241379310344827,"be":0.017241379310344827,"used":0.017241379310344827,"parallel":0.017241379310344827,"the":0.017241379310344827,"cluster":0.017241379310344827,"setting":0.017241379310344827,"parameter":0.017241379310344827,"to":0.017241379310344827,"true":0.017241379310344827,"will":0.017241379310344827,"enable":0.017241379310344827,"feature":0.017241379310344827,"please":0.017241379310344827,"note":0.017241379310344827,"that":0.017241379310344827,"not":0.017241379310344827,"during":0.017241379310344827,"a":0.017241379310344827,"rolling":0.017241379310344827,"upgrade":0.017241379310344827,"if":0.017241379310344827,"version":0.017241379310344827,"of":0.017241379310344827,"old":0.017241379310344827,"is":0.017241379310344827,"prior":0.017241379310344827,"default":0.017241379310344827,"value":0.017241379310344827,"false":0.017241379310344827},"373":{"0":0.01282051282051282,"3":0.01282051282051282,"6":0.01282051282051282,"7":0.01282051282051282,"1000":0.01282051282051282,"multiaddress":0.01282051282051282,"reachabilitychecktimeoutms":0.01282051282051282,"java":0.01282051282051282,"system":0.01282051282051282,"property":0.01282051282051282,"zookeeper":0.01282051282051282,"new":0.01282051282051282,"in":0.01282051282051282,"since":0.01282051282051282,"you":0.01282051282051282,"can":0.01282051282051282,"also":0.01282051282051282,"specify":0.01282051282051282,"multiple":0.01282051282051282,"addresses":0.01282051282051282,"for":0.01282051282051282,"each":0.01282051282051282,"server":0.01282051282051282,"instance":0.01282051282051282,"this":0.01282051282051282,"increase":0.01282051282051282,"availability":0.01282051282051282,"when":0.01282051282051282,"physical":0.01282051282051282,"network":0.01282051282051282,"interfaces":0.01282051282051282,"be":0.01282051282051282,"used":0.01282051282051282,"parallel":0.01282051282051282,"the":0.01282051282051282,"cluster":0.01282051282051282,"will":0.01282051282051282,"perform":0.01282051282051282,"icmp":0.01282051282051282,"echo":0.01282051282051282,"requests":0.01282051282051282,"or":0.01282051282051282,"try":0.01282051282051282,"to":0.01282051282051282,"establish":0.01282051282051282,"a":0.01282051282051282,"tcp":0.01282051282051282,"connection":0.01282051282051282,"on":0.01282051282051282,"port":0.01282051282051282,"of":0.01282051282051282,"destination":0.01282051282051282,"host":0.01282051282051282,"order":0.01282051282051282,"find":0.01282051282051282,"reachable":0.01282051282051282,"happens":0.01282051282051282,"only":0.01282051282051282,"if":0.01282051282051282,"provide":0.01282051282051282,"configuration":0.01282051282051282,"set":0.01282051282051282,"timeout":0.01282051282051282,"milliseconds":0.01282051282051282,"reachability":0.01282051282051282,"check":0.01282051282051282,"different":0.01282051282051282,"so":0.01282051282051282,"here":0.01282051282051282,"is":0.01282051282051282,"maximum":0.01282051282051282,"time":0.01282051282051282,"taken":0.01282051282051282,"by":0.01282051282051282,"checking":0.01282051282051282,"all":0.01282051282051282,"default":0.01282051282051282,"value":0.01282051282051282},"374":{"this":0.06666666666666667,"parameter":0.06666666666666667,"has":0.06666666666666667,"no":0.06666666666666667,"effect":0.06666666666666667,"unless":0.06666666666666667,"you":0.06666666666666667,"enable":0.06666666666666667,"the":0.06666666666666667,"multiaddress":0.06666666666666667,"feature":0.06666666666666667,"by":0.06666666666666667,"setting":0.06666666666666667,"enabled":0.06666666666666667,"true":0.06666666666666667},"375":{"2":0.037037037037037035,"3":0.037037037037037035,"8":0.037037037037037035,"fips-mode":0.037037037037037035,"java":0.037037037037037035,"system":0.037037037037037035,"property":0.037037037037037035,"zookeeper":0.037037037037037035,"new":0.037037037037037035,"in":0.037037037037037035,"enable":0.037037037037037035,"fips":0.037037037037037035,"compatibility":0.037037037037037035,"mode":0.037037037037037035,"if":0.037037037037037035,"enabled":0.037037037037037035,"the":0.037037037037037035,"following":0.037037037037037035,"things":0.037037037037037035,"will":0.037037037037037035,"be":0.037037037037037035,"changed":0.037037037037037035,"order":0.037037037037037035,"to":0.037037037037037035,"comply":0.037037037037037035,"with":0.037037037037037035,"requirements":0.037037037037037035},"376":{"custom":0.03571428571428571,"trust":0.03571428571428571,"manager":0.03571428571428571,"zktrustmanager":0.03571428571428571,"that":0.03571428571428571,"is":0.03571428571428571,"used":0.03571428571428571,"for":0.03571428571428571,"hostname":0.03571428571428571,"verification":0.03571428571428571,"will":0.03571428571428571,"be":0.03571428571428571,"disabled":0.03571428571428571,"as":0.03571428571428571,"a":0.03571428571428571,"consequence":0.03571428571428571,"not":0.03571428571428571,"available":0.03571428571428571,"in":0.03571428571428571,"the":0.03571428571428571,"quorum":0.03571428571428571,"protocol":0.03571428571428571,"but":0.03571428571428571,"still":0.03571428571428571,"can":0.03571428571428571,"set":0.03571428571428571,"client-server":0.03571428571428571,"communication":0.03571428571428571},"377":{"digest-md5":0.058823529411764705,"sasl":0.058823529411764705,"auth":0.058823529411764705,"mechanism":0.058823529411764705,"will":0.058823529411764705,"be":0.058823529411764705,"disabled":0.058823529411764705,"in":0.058823529411764705,"quorum":0.058823529411764705,"and":0.058823529411764705,"zookeeper":0.058823529411764705,"clients":0.058823529411764705,"only":0.058823529411764705,"gssapi":0.058823529411764705,"kerberos":0.058823529411764705,"can":0.058823529411764705,"used":0.058823529411764705},"378":{"0":0.125,"3":0.125,"8":0.125,"9":0.125,"default":0.125,"true":0.125,"false":0.125,"x":0.125},"379":{"3":0.037037037037037035,"5":0.037037037037037035,"8":0.037037037037037035,"9":0.037037037037037035,"from":0.037037037037037035,"to":0.037037037037037035,"a":0.037037037037037035,"hard":0.037037037037037035,"coded":0.037037037037037035,"default":0.037037037037037035,"cipher":0.037037037037037035,"list":0.037037037037037035,"was":0.037037037037037035,"used":0.037037037037037035,"with":0.037037037037037035,"the":0.037037037037037035,"ordering":0.037037037037037035,"dependent":0.037037037037037035,"on":0.037037037037037035,"whether":0.037037037037037035,"it":0.037037037037037035,"is":0.037037037037037035,"run":0.037037037037037035,"java":0.037037037037037035,"or":0.037037037037037035,"later":0.037037037037037035,"version":0.037037037037037035},"380":{"2":0.03333333333333333,"3":0.03333333333333333,"8":0.03333333333333333,"the":0.03333333333333333,"list":0.03333333333333333,"on":0.03333333333333333,"java":0.03333333333333333,"includes":0.03333333333333333,"tlsv1":0.03333333333333333,"cbc":0.03333333333333333,"gcm":0.03333333333333333,"and":0.03333333333333333,"ciphers":0.03333333333333333,"in":0.03333333333333333,"ordering":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_128_cbc_sha256":0.03333333333333333,"tls_ecdhe_rsa_with_aes_128_cbc_sha256":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_128_cbc_sha":0.03333333333333333,"tls_ecdhe_rsa_with_aes_128_cbc_sha":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_256_cbc_sha384":0.03333333333333333,"tls_ecdhe_rsa_with_aes_256_cbc_sha384":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_256_cbc_sha":0.03333333333333333,"tls_ecdhe_rsa_with_aes_256_cbc_sha":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_128_gcm_sha256":0.03333333333333333,"tls_ecdhe_rsa_with_aes_128_gcm_sha256":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_256_gcm_sha384":0.03333333333333333,"tls_ecdhe_rsa_with_aes_256_gcm_sha384":0.03333333333333333,"tls_aes_256_gcm_sha384":0.03333333333333333,"tls_aes_128_gcm_sha256":0.03333333333333333,"tls_chacha20_poly1305_sha256":0.03333333333333333},"381":{"2":0.03333333333333333,"3":0.03333333333333333,"9":0.03333333333333333,"the":0.03333333333333333,"list":0.03333333333333333,"on":0.03333333333333333,"java":0.03333333333333333,"includes":0.03333333333333333,"tlsv1":0.03333333333333333,"gcm":0.03333333333333333,"cbc":0.03333333333333333,"and":0.03333333333333333,"ciphers":0.03333333333333333,"in":0.03333333333333333,"ordering":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_128_gcm_sha256":0.03333333333333333,"tls_ecdhe_rsa_with_aes_128_gcm_sha256":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_256_gcm_sha384":0.03333333333333333,"tls_ecdhe_rsa_with_aes_256_gcm_sha384":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_128_cbc_sha256":0.03333333333333333,"tls_ecdhe_rsa_with_aes_128_cbc_sha256":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_128_cbc_sha":0.03333333333333333,"tls_ecdhe_rsa_with_aes_128_cbc_sha":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_256_cbc_sha384":0.03333333333333333,"tls_ecdhe_rsa_with_aes_256_cbc_sha384":0.03333333333333333,"tls_ecdhe_ecdsa_with_aes_256_cbc_sha":0.03333333333333333,"tls_ecdhe_rsa_with_aes_256_cbc_sha":0.03333333333333333,"tls_aes_256_gcm_sha384":0.03333333333333333,"tls_aes_128_gcm_sha256":0.03333333333333333,"tls_chacha20_poly1305_sha256":0.03333333333333333},"382":{"3":0.07142857142857142,"10":0.07142857142857142,"since":0.07142857142857142,"there":0.07142857142857142,"is":0.07142857142857142,"no":0.07142857142857142,"hardcoded":0.07142857142857142,"list":0.07142857142857142,"and":0.07142857142857142,"the":0.07142857142857142,"jdk":0.07142857142857142,"defaults":0.07142857142857142,"are":0.07142857142857142,"used":0.07142857142857142},"383":{"new":0.14285714285714285,"features":0.14285714285714285,"that":0.14285714285714285,"are":0.14285714285714285,"currently":0.14285714285714285,"considered":0.14285714285714285,"experimental":0.14285714285714285},"384":{"0":0.014285714285714285,"3":0.014285714285714285,"4":0.014285714285714285,"read":0.014285714285714285,"only":0.014285714285714285,"mode":0.014285714285714285,"server":0.014285714285714285,"java":0.014285714285714285,"system":0.014285714285714285,"property":0.014285714285714285,"readonlymode":0.014285714285714285,"enabled":0.014285714285714285,"new":0.014285714285714285,"in":0.014285714285714285,"setting":0.014285714285714285,"this":0.014285714285714285,"value":0.014285714285714285,"to":0.014285714285714285,"true":0.014285714285714285,"enables":0.014285714285714285,"support":0.014285714285714285,"disabled":0.014285714285714285,"by":0.014285714285714285,"default":0.014285714285714285,"localsessionsenabled":0.014285714285714285,"has":0.014285714285714285,"be":0.014285714285714285,"activated":0.014285714285714285,"serve":0.014285714285714285,"clients":0.014285714285714285,"a":0.014285714285714285,"downgrade":0.014285714285714285,"of":0.014285714285714285,"an":0.014285714285714285,"existing":0.014285714285714285,"connections":0.014285714285714285,"is":0.014285714285714285,"currently":0.014285714285714285,"not":0.014285714285714285,"supported":0.014285714285714285,"rom":0.014285714285714285,"allows":0.014285714285714285,"sessions":0.014285714285714285,"which":0.014285714285714285,"requested":0.014285714285714285,"connect":0.014285714285714285,"the":0.014285714285714285,"even":0.014285714285714285,"when":0.014285714285714285,"might":0.014285714285714285,"partitioned":0.014285714285714285,"from":0.014285714285714285,"quorum":0.014285714285714285,"can":0.014285714285714285,"still":0.014285714285714285,"values":0.014285714285714285,"zk":0.014285714285714285,"service":0.014285714285714285,"but":0.014285714285714285,"will":0.014285714285714285,"unable":0.014285714285714285,"write":0.014285714285714285,"and":0.014285714285714285,"see":0.014285714285714285,"changes":0.014285714285714285,"other":0.014285714285714285,"zookeeper-784":0.014285714285714285,"for":0.014285714285714285,"more":0.014285714285714285,"details":0.014285714285714285},"385":{"zookeeper":0.013888888888888888,"follower":0.013888888888888888,"skiplearnerrequesttonextprocessor":0.013888888888888888,"java":0.013888888888888888,"system":0.013888888888888888,"property":0.013888888888888888,"when":0.013888888888888888,"our":0.013888888888888888,"cluster":0.013888888888888888,"has":0.013888888888888888,"observers":0.013888888888888888,"which":0.013888888888888888,"are":0.013888888888888888,"connected":0.013888888888888888,"with":0.013888888888888888,"observermaster":0.013888888888888888,"then":0.013888888888888888,"turning":0.013888888888888888,"on":0.013888888888888888,"this":0.013888888888888888,"flag":0.013888888888888888,"might":0.013888888888888888,"help":0.013888888888888888,"you":0.013888888888888888,"reduce":0.013888888888888888,"some":0.013888888888888888,"memory":0.013888888888888888,"pressure":0.013888888888888888,"the":0.013888888888888888,"observer":0.013888888888888888,"master":0.013888888888888888,"if":0.013888888888888888,"your":0.013888888888888888,"doesn't":0.013888888888888888,"have":0.013888888888888888,"any":0.013888888888888888,"or":0.013888888888888888,"they":0.013888888888888888,"not":0.013888888888888888,"observer's":0.013888888888888888,"don't":0.013888888888888888,"make":0.013888888888888888,"much":0.013888888888888888,"writes":0.013888888888888888,"using":0.013888888888888888,"won't":0.013888888888888888,"currently":0.013888888888888888,"change":0.013888888888888888,"here":0.013888888888888888,"is":0.013888888888888888,"guarded":0.013888888888888888,"behind":0.013888888888888888,"to":0.013888888888888888,"us":0.013888888888888888,"get":0.013888888888888888,"more":0.013888888888888888,"confidence":0.013888888888888888,"around":0.013888888888888888,"gains":0.013888888888888888,"in":0.013888888888888888,"long":0.013888888888888888,"run":0.013888888888888888,"we":0.013888888888888888,"want":0.013888888888888888,"remove":0.013888888888888888,"and":0.013888888888888888,"set":0.013888888888888888,"its":0.013888888888888888,"behavior":0.013888888888888888,"as":0.013888888888888888,"default":0.013888888888888888,"codepath":0.013888888888888888},"386":{"the":0.043478260869565216,"following":0.043478260869565216,"options":0.043478260869565216,"can":0.043478260869565216,"be":0.043478260869565216,"useful":0.043478260869565216,"but":0.043478260869565216,"careful":0.043478260869565216,"when":0.043478260869565216,"you":0.043478260869565216,"use":0.043478260869565216,"them":0.043478260869565216,"risk":0.043478260869565216,"of":0.043478260869565216,"each":0.043478260869565216,"is":0.043478260869565216,"explained":0.043478260869565216,"along":0.043478260869565216,"with":0.043478260869565216,"explanation":0.043478260869565216,"what":0.043478260869565216,"variable":0.043478260869565216,"does":0.043478260869565216},"387":{"forcesync":0.03571428571428571,"java":0.03571428571428571,"system":0.03571428571428571,"property":0.03571428571428571,"zookeeper":0.03571428571428571,"requires":0.03571428571428571,"updates":0.03571428571428571,"to":0.03571428571428571,"be":0.03571428571428571,"synced":0.03571428571428571,"media":0.03571428571428571,"of":0.03571428571428571,"the":0.03571428571428571,"transaction":0.03571428571428571,"log":0.03571428571428571,"before":0.03571428571428571,"finishing":0.03571428571428571,"processing":0.03571428571428571,"update":0.03571428571428571,"if":0.03571428571428571,"this":0.03571428571428571,"option":0.03571428571428571,"is":0.03571428571428571,"set":0.03571428571428571,"no":0.03571428571428571,"will":0.03571428571428571,"not":0.03571428571428571,"require":0.03571428571428571},"388":{"jute":0.2,"maxbuffer":0.2,"java":0.2,"system":0.2,"property":0.2},"389":{"1048575":0.02631578947368421,"this":0.02631578947368421,"option":0.02631578947368421,"can":0.02631578947368421,"only":0.02631578947368421,"be":0.02631578947368421,"set":0.02631578947368421,"as":0.02631578947368421,"a":0.02631578947368421,"java":0.02631578947368421,"system":0.02631578947368421,"property":0.02631578947368421,"there":0.02631578947368421,"is":0.02631578947368421,"no":0.02631578947368421,"zookeeper":0.02631578947368421,"prefix":0.02631578947368421,"on":0.02631578947368421,"it":0.02631578947368421,"specifies":0.02631578947368421,"the":0.02631578947368421,"maximum":0.02631578947368421,"size":0.02631578947368421,"of":0.02631578947368421,"data":0.02631578947368421,"that":0.02631578947368421,"stored":0.02631578947368421,"in":0.02631578947368421,"znode":0.02631578947368421,"unit":0.02631578947368421,"byte":0.02631578947368421,"default":0.02631578947368421,"0xfffff":0.02631578947368421,"bytes":0.02631578947368421,"or":0.02631578947368421,"just":0.02631578947368421,"under":0.02631578947368421,"1m":0.02631578947368421},"390":{"if":0.05,"this":0.05,"option":0.05,"is":0.05,"changed":0.05,"the":0.05,"system":0.05,"property":0.05,"must":0.05,"be":0.05,"set":0.05,"on":0.05,"all":0.05,"servers":0.05,"and":0.05,"clients":0.05,"otherwise":0.05,"problems":0.05,"will":0.05,"arise":0.05},"391":{"when":0.043478260869565216,"jute":0.043478260869565216,"maxbuffer":0.043478260869565216,"in":0.043478260869565216,"the":0.043478260869565216,"client":0.043478260869565216,"side":0.043478260869565216,"is":0.043478260869565216,"greater":0.043478260869565216,"than":0.043478260869565216,"server":0.043478260869565216,"wants":0.043478260869565216,"to":0.043478260869565216,"write":0.043478260869565216,"data":0.043478260869565216,"exceeds":0.043478260869565216,"will":0.043478260869565216,"get":0.043478260869565216,"java":0.043478260869565216,"io":0.043478260869565216,"ioexception":0.043478260869565216,"len":0.043478260869565216,"error":0.043478260869565216},"392":{"when":0.034482758620689655,"jute":0.034482758620689655,"maxbuffer":0.034482758620689655,"in":0.034482758620689655,"the":0.034482758620689655,"client":0.034482758620689655,"side":0.034482758620689655,"is":0.034482758620689655,"less":0.034482758620689655,"than":0.034482758620689655,"server":0.034482758620689655,"wants":0.034482758620689655,"to":0.034482758620689655,"read":0.034482758620689655,"data":0.034482758620689655,"exceeds":0.034482758620689655,"will":0.034482758620689655,"get":0.034482758620689655,"java":0.034482758620689655,"io":0.034482758620689655,"ioexception":0.034482758620689655,"unreasonable":0.034482758620689655,"length":0.034482758620689655,"or":0.034482758620689655,"packet":0.034482758620689655,"len":0.034482758620689655,"out":0.034482758620689655,"of":0.034482758620689655,"range":0.034482758620689655},"393":{"this":0.03333333333333333,"is":0.03333333333333333,"really":0.03333333333333333,"a":0.03333333333333333,"sanity":0.03333333333333333,"check":0.03333333333333333,"zookeeper":0.03333333333333333,"designed":0.03333333333333333,"to":0.03333333333333333,"store":0.03333333333333333,"data":0.03333333333333333,"on":0.03333333333333333,"the":0.03333333333333333,"order":0.03333333333333333,"of":0.03333333333333333,"kilobytes":0.03333333333333333,"in":0.03333333333333333,"size":0.03333333333333333,"production":0.03333333333333333,"environment":0.03333333333333333,"increasing":0.03333333333333333,"property":0.03333333333333333,"exceed":0.03333333333333333,"default":0.03333333333333333,"value":0.03333333333333333,"not":0.03333333333333333,"recommended":0.03333333333333333,"for":0.03333333333333333,"following":0.03333333333333333,"reasons":0.03333333333333333},"394":{"large":0.1,"size":0.1,"znodes":0.1,"cause":0.1,"unwarranted":0.1,"latency":0.1,"spikes":0.1,"worsen":0.1,"the":0.1,"throughput":0.1},"395":{"large":0.05555555555555555,"size":0.05555555555555555,"znodes":0.05555555555555555,"make":0.05555555555555555,"the":0.05555555555555555,"synchronization":0.05555555555555555,"time":0.05555555555555555,"between":0.05555555555555555,"leader":0.05555555555555555,"and":0.05555555555555555,"followers":0.05555555555555555,"unpredictable":0.05555555555555555,"non-convergent":0.05555555555555555,"sometimes":0.05555555555555555,"timeout":0.05555555555555555,"cause":0.05555555555555555,"quorum":0.05555555555555555,"unstable":0.05555555555555555},"396":{"1":0.014084507042253521,"3":0.014084507042253521,"5":0.014084507042253521,"7":0.014084507042253521,"1024":0.014084507042253521,"jute":0.014084507042253521,"maxbuffer":0.014084507042253521,"extrasize":0.014084507042253521,"java":0.014084507042253521,"system":0.014084507042253521,"property":0.014084507042253521,"zookeeper":0.014084507042253521,"new":0.014084507042253521,"in":0.014084507042253521,"while":0.014084507042253521,"processing":0.014084507042253521,"client":0.014084507042253521,"requests":0.014084507042253521,"server":0.014084507042253521,"adds":0.014084507042253521,"some":0.014084507042253521,"additional":0.014084507042253521,"information":0.014084507042253521,"into":0.014084507042253521,"the":0.014084507042253521,"before":0.014084507042253521,"persisting":0.014084507042253521,"it":0.014084507042253521,"as":0.014084507042253521,"a":0.014084507042253521,"transaction":0.014084507042253521,"earlier":0.014084507042253521,"this":0.014084507042253521,"size":0.014084507042253521,"was":0.014084507042253521,"fixed":0.014084507042253521,"to":0.014084507042253521,"bytes":0.014084507042253521,"for":0.014084507042253521,"many":0.014084507042253521,"scenarios":0.014084507042253521,"specially":0.014084507042253521,"where":0.014084507042253521,"value":0.014084507042253521,"is":0.014084507042253521,"more":0.014084507042253521,"than":0.014084507042253521,"mb":0.014084507042253521,"and":0.014084507042253521,"request":0.014084507042253521,"type":0.014084507042253521,"multi":0.014084507042253521,"insufficient":0.014084507042253521,"handle":0.014084507042253521,"all":0.014084507042253521,"increased":0.014084507042253521,"from":0.014084507042253521,"byte":0.014084507042253521,"same":0.014084507042253521,"also":0.014084507042253521,"made":0.014084507042253521,"configurable":0.014084507042253521,"through":0.014084507042253521,"generally":0.014084507042253521,"not":0.014084507042253521,"required":0.014084507042253521,"be":0.014084507042253521,"configured":0.014084507042253521,"default":0.014084507042253521,"most":0.014084507042253521,"optimal":0.014084507042253521},"397":{"skipacl":0.041666666666666664,"java":0.041666666666666664,"system":0.041666666666666664,"property":0.041666666666666664,"zookeeper":0.041666666666666664,"skips":0.041666666666666664,"acl":0.041666666666666664,"checks":0.041666666666666664,"this":0.041666666666666664,"results":0.041666666666666664,"in":0.041666666666666664,"a":0.041666666666666664,"boost":0.041666666666666664,"throughput":0.041666666666666664,"but":0.041666666666666664,"opens":0.041666666666666664,"up":0.041666666666666664,"full":0.041666666666666664,"access":0.041666666666666664,"to":0.041666666666666664,"the":0.041666666666666664,"data":0.041666666666666664,"tree":0.041666666666666664,"everyone":0.041666666666666664},"398":{"quorumlistenonallips":0.023809523809523808,"when":0.023809523809523808,"set":0.023809523809523808,"to":0.023809523809523808,"true":0.023809523809523808,"the":0.023809523809523808,"zookeeper":0.023809523809523808,"server":0.023809523809523808,"will":0.023809523809523808,"listen":0.023809523809523808,"for":0.023809523809523808,"connections":0.023809523809523808,"from":0.023809523809523808,"its":0.023809523809523808,"peers":0.023809523809523808,"on":0.023809523809523808,"all":0.023809523809523808,"available":0.023809523809523808,"ip":0.023809523809523808,"addresses":0.023809523809523808,"and":0.023809523809523808,"not":0.023809523809523808,"only":0.023809523809523808,"address":0.023809523809523808,"configured":0.023809523809523808,"in":0.023809523809523808,"list":0.023809523809523808,"of":0.023809523809523808,"configuration":0.023809523809523808,"file":0.023809523809523808,"it":0.023809523809523808,"affects":0.023809523809523808,"handling":0.023809523809523808,"zab":0.023809523809523808,"protocol":0.023809523809523808,"fast":0.023809523809523808,"leader":0.023809523809523808,"election":0.023809523809523808,"default":0.023809523809523808,"value":0.023809523809523808,"is":0.023809523809523808,"false":0.023809523809523808},"399":{"0":0.013157894736842105,"3":0.013157894736842105,"6":0.013157894736842105,"7":0.013157894736842105,"11":0.013157894736842105,"multiaddress":0.013157894736842105,"reachabilitycheckenabled":0.013157894736842105,"java":0.013157894736842105,"system":0.013157894736842105,"property":0.013157894736842105,"zookeeper":0.013157894736842105,"new":0.013157894736842105,"in":0.013157894736842105,"since":0.013157894736842105,"you":0.013157894736842105,"can":0.013157894736842105,"also":0.013157894736842105,"specify":0.013157894736842105,"multiple":0.013157894736842105,"addresses":0.013157894736842105,"for":0.013157894736842105,"each":0.013157894736842105,"server":0.013157894736842105,"instance":0.013157894736842105,"this":0.013157894736842105,"increase":0.013157894736842105,"availability":0.013157894736842105,"when":0.013157894736842105,"physical":0.013157894736842105,"network":0.013157894736842105,"interfaces":0.013157894736842105,"be":0.013157894736842105,"used":0.013157894736842105,"parallel":0.013157894736842105,"the":0.013157894736842105,"cluster":0.013157894736842105,"will":0.013157894736842105,"perform":0.013157894736842105,"icmp":0.013157894736842105,"echo":0.013157894736842105,"requests":0.013157894736842105,"or":0.013157894736842105,"try":0.013157894736842105,"to":0.013157894736842105,"establish":0.013157894736842105,"a":0.013157894736842105,"tcp":0.013157894736842105,"connection":0.013157894736842105,"on":0.013157894736842105,"port":0.013157894736842105,"of":0.013157894736842105,"destination":0.013157894736842105,"host":0.013157894736842105,"order":0.013157894736842105,"find":0.013157894736842105,"reachable":0.013157894736842105,"happens":0.013157894736842105,"only":0.013157894736842105,"if":0.013157894736842105,"provide":0.013157894736842105,"configuration":0.013157894736842105,"check":0.013157894736842105,"fail":0.013157894736842105,"hit":0.013157894736842105,"some":0.013157894736842105,"rate-limitation":0.013157894736842105,"e":0.013157894736842105,"g":0.013157894736842105,"macos":0.013157894736842105,"start":0.013157894736842105,"large":0.013157894736842105,"ensemble":0.013157894736842105,"members":0.013157894736842105,"single":0.013157894736842105,"machine":0.013157894736842105,"testing":0.013157894736842105},"400":{"default":0.027777777777777776,"value":0.027777777777777776,"is":0.027777777777777776,"true":0.027777777777777776,"by":0.027777777777777776,"setting":0.027777777777777776,"this":0.027777777777777776,"parameter":0.027777777777777776,"to":0.027777777777777776,"'false'":0.027777777777777776,"you":0.027777777777777776,"can":0.027777777777777776,"disable":0.027777777777777776,"the":0.027777777777777776,"reachability":0.027777777777777776,"checks":0.027777777777777776,"please":0.027777777777777776,"note":0.027777777777777776,"disabling":0.027777777777777776,"check":0.027777777777777776,"will":0.027777777777777776,"cause":0.027777777777777776,"cluster":0.027777777777777776,"not":0.027777777777777776,"be":0.027777777777777776,"able":0.027777777777777776,"reconfigure":0.027777777777777776,"itself":0.027777777777777776,"properly":0.027777777777777776,"during":0.027777777777777776,"network":0.027777777777777776,"problems":0.027777777777777776,"so":0.027777777777777776,"advised":0.027777777777777776,"only":0.027777777777777776,"testing":0.027777777777777776},"401":{"this":0.06666666666666667,"parameter":0.06666666666666667,"has":0.06666666666666667,"no":0.06666666666666667,"effect":0.06666666666666667,"unless":0.06666666666666667,"you":0.06666666666666667,"enable":0.06666666666666667,"the":0.06666666666666667,"multiaddress":0.06666666666666667,"feature":0.06666666666666667,"by":0.06666666666666667,"setting":0.06666666666666667,"enabled":0.06666666666666667,"true":0.06666666666666667},"402":{"3":0.009708737864077669,"5":0.009708737864077669,"new":0.009708737864077669,"in":0.009708737864077669,"the":0.009708737864077669,"default":0.009708737864077669,"behavior":0.009708737864077669,"of":0.009708737864077669,"a":0.009708737864077669,"zookeeper":0.009708737864077669,"server":0.009708737864077669,"is":0.009708737864077669,"to":0.009708737864077669,"automatically":0.009708737864077669,"create":0.009708737864077669,"data":0.009708737864077669,"directory":0.009708737864077669,"specified":0.009708737864077669,"configuration":0.009708737864077669,"file":0.009708737864077669,"when":0.009708737864077669,"started":0.009708737864077669,"if":0.009708737864077669,"that":0.009708737864077669,"does":0.009708737864077669,"not":0.009708737864077669,"already":0.009708737864077669,"exist":0.009708737864077669,"this":0.009708737864077669,"can":0.009708737864077669,"be":0.009708737864077669,"inconvenient":0.009708737864077669,"and":0.009708737864077669,"even":0.009708737864077669,"dangerous":0.009708737864077669,"some":0.009708737864077669,"cases":0.009708737864077669,"take":0.009708737864077669,"case":0.009708737864077669,"where":0.009708737864077669,"change":0.009708737864077669,"made":0.009708737864077669,"running":0.009708737864077669,"wherein":0.009708737864077669,"datadir":0.009708737864077669,"parameter":0.009708737864077669,"accidentally":0.009708737864077669,"changed":0.009708737864077669,"restarted":0.009708737864077669,"it":0.009708737864077669,"will":0.009708737864077669,"non-existent":0.009708737864077669,"begin":0.009708737864077669,"serving":0.009708737864077669,"-":0.009708737864077669,"with":0.009708737864077669,"an":0.009708737864077669,"empty":0.009708737864077669,"znode":0.009708737864077669,"namespace":0.009708737864077669,"scenario":0.009708737864077669,"result":0.009708737864077669,"effective":0.009708737864077669,"split":0.009708737864077669,"brain":0.009708737864077669,"situation":0.009708737864077669,"i":0.009708737864077669,"e":0.009708737864077669,"both":0.009708737864077669,"invalid":0.009708737864077669,"original":0.009708737864077669,"valid":0.009708737864077669,"store":0.009708737864077669,"as":0.009708737864077669,"such":0.009708737864077669,"would":0.009708737864077669,"good":0.009708737864077669,"have":0.009708737864077669,"option":0.009708737864077669,"turn":0.009708737864077669,"off":0.009708737864077669,"autocreate":0.009708737864077669,"general":0.009708737864077669,"for":0.009708737864077669,"production":0.009708737864077669,"environments":0.009708737864077669,"should":0.009708737864077669,"done":0.009708737864077669,"unfortunately":0.009708737864077669,"however":0.009708737864077669,"legacy":0.009708737864077669,"cannot":0.009708737864077669,"at":0.009708737864077669,"point":0.009708737864077669,"therefore":0.009708737864077669,"must":0.009708737864077669,"on":0.009708737864077669,"by":0.009708737864077669,"basis":0.009708737864077669,"left":0.009708737864077669,"users":0.009708737864077669,"packagers":0.009708737864077669,"distributions":0.009708737864077669},"403":{"1":0.030303030303030304,"when":0.030303030303030304,"running":0.030303030303030304,"zkserver":0.030303030303030304,"sh":0.030303030303030304,"autocreate":0.030303030303030304,"can":0.030303030303030304,"be":0.030303030303030304,"disabled":0.030303030303030304,"by":0.030303030303030304,"setting":0.030303030303030304,"the":0.030303030303030304,"environment":0.030303030303030304,"variable":0.030303030303030304,"zoo_datadir_autocreate_disable":0.030303030303030304,"to":0.030303030303030304,"zookeeper":0.030303030303030304,"servers":0.030303030303030304,"directly":0.030303030303030304,"from":0.030303030303030304,"class":0.030303030303030304,"files":0.030303030303030304,"this":0.030303030303030304,"accomplished":0.030303030303030304,"datadir":0.030303030303030304,"false":0.030303030303030304,"on":0.030303030303030304,"java":0.030303030303030304,"command":0.030303030303030304,"line":0.030303030303030304,"i":0.030303030303030304,"e":0.030303030303030304,"-dzookeeper":0.030303030303030304},"404":{"when":0.041666666666666664,"this":0.041666666666666664,"feature":0.041666666666666664,"is":0.041666666666666664,"disabled":0.041666666666666664,"and":0.041666666666666664,"the":0.041666666666666664,"zookeeper":0.041666666666666664,"server":0.041666666666666664,"determines":0.041666666666666664,"that":0.041666666666666664,"required":0.041666666666666664,"directories":0.041666666666666664,"do":0.041666666666666664,"not":0.041666666666666664,"exist":0.041666666666666664,"it":0.041666666666666664,"will":0.041666666666666664,"generate":0.041666666666666664,"an":0.041666666666666664,"error":0.041666666666666664,"refuse":0.041666666666666664,"to":0.041666666666666664,"start":0.041666666666666664},"405":{"a":0.012345679012345678,"new":0.012345679012345678,"script":0.012345679012345678,"zkserver-initialize":0.012345679012345678,"sh":0.012345679012345678,"is":0.012345679012345678,"provided":0.012345679012345678,"to":0.012345679012345678,"support":0.012345679012345678,"this":0.012345679012345678,"feature":0.012345679012345678,"if":0.012345679012345678,"autocreate":0.012345679012345678,"disabled":0.012345679012345678,"it":0.012345679012345678,"necessary":0.012345679012345678,"for":0.012345679012345678,"the":0.012345679012345678,"user":0.012345679012345678,"first":0.012345679012345678,"install":0.012345679012345678,"zookeeper":0.012345679012345678,"then":0.012345679012345678,"create":0.012345679012345678,"data":0.012345679012345678,"directory":0.012345679012345678,"and":0.012345679012345678,"potentially":0.012345679012345678,"txnlog":0.012345679012345678,"start":0.012345679012345678,"server":0.012345679012345678,"otherwise":0.012345679012345678,"as":0.012345679012345678,"mentioned":0.012345679012345678,"in":0.012345679012345678,"previous":0.012345679012345678,"paragraph":0.012345679012345678,"will":0.012345679012345678,"not":0.012345679012345678,"running":0.012345679012345678,"required":0.012345679012345678,"directories":0.012345679012345678,"optionally":0.012345679012345678,"set":0.012345679012345678,"up":0.012345679012345678,"myid":0.012345679012345678,"file":0.012345679012345678,"optional":0.012345679012345678,"command":0.012345679012345678,"line":0.012345679012345678,"parameter":0.012345679012345678,"can":0.012345679012345678,"be":0.012345679012345678,"used":0.012345679012345678,"even":0.012345679012345678,"itself":0.012345679012345678,"likely":0.012345679012345678,"of":0.012345679012345678,"use":0.012345679012345678,"users":0.012345679012345678,"setup":0.012345679012345678,"including":0.012345679012345678,"creation":0.012345679012345678,"has":0.012345679012345678,"been":0.012345679012345678,"an":0.012345679012345678,"issue":0.012345679012345678,"past":0.012345679012345678,"note":0.012345679012345678,"that":0.012345679012345678,"ensures":0.012345679012345678,"exist":0.012345679012345678,"only":0.012345679012345678,"does":0.012345679012345678,"config":0.012345679012345678,"but":0.012345679012345678,"rather":0.012345679012345678,"requires":0.012345679012345678,"available":0.012345679012345678,"order":0.012345679012345678,"execute":0.012345679012345678},"406":{"0":0.011235955056179775,"3":0.011235955056179775,"6":0.011235955056179775,"new":0.011235955056179775,"in":0.011235955056179775,"the":0.011235955056179775,"default":0.011235955056179775,"behavior":0.011235955056179775,"of":0.011235955056179775,"a":0.011235955056179775,"zookeeper":0.011235955056179775,"server":0.011235955056179775,"on":0.011235955056179775,"startup":0.011235955056179775,"when":0.011235955056179775,"no":0.011235955056179775,"data":0.011235955056179775,"tree":0.011235955056179775,"is":0.011235955056179775,"found":0.011235955056179775,"to":0.011235955056179775,"set":0.011235955056179775,"zxid":0.011235955056179775,"zero":0.011235955056179775,"and":0.011235955056179775,"join":0.011235955056179775,"quorum":0.011235955056179775,"as":0.011235955056179775,"voting":0.011235955056179775,"member":0.011235955056179775,"this":0.011235955056179775,"can":0.011235955056179775,"be":0.011235955056179775,"dangerous":0.011235955056179775,"if":0.011235955056179775,"some":0.011235955056179775,"event":0.011235955056179775,"e":0.011235955056179775,"g":0.011235955056179775,"rogue":0.011235955056179775,"'rm":0.011235955056179775,"-rf'":0.011235955056179775,"has":0.011235955056179775,"removed":0.011235955056179775,"directory":0.011235955056179775,"while":0.011235955056179775,"was":0.011235955056179775,"down":0.011235955056179775,"since":0.011235955056179775,"may":0.011235955056179775,"help":0.011235955056179775,"elect":0.011235955056179775,"leader":0.011235955056179775,"that":0.011235955056179775,"missing":0.011235955056179775,"transactions":0.011235955056179775,"enabling":0.011235955056179775,"db":0.011235955056179775,"existence":0.011235955056179775,"validation":0.011235955056179775,"will":0.011235955056179775,"change":0.011235955056179775,"joins":0.011235955056179775,"ensemble":0.011235955056179775,"non-voting":0.011235955056179775,"participant":0.011235955056179775,"until":0.011235955056179775,"it":0.011235955056179775,"able":0.011235955056179775,"sync":0.011235955056179775,"with":0.011235955056179775,"acquire":0.011235955056179775,"an":0.011235955056179775,"up-to-date":0.011235955056179775,"version":0.011235955056179775,"indicate":0.011235955056179775,"empty":0.011235955056179775,"expected":0.011235955056179775,"creation":0.011235955056179775,"user":0.011235955056179775,"should":0.011235955056179775,"place":0.011235955056179775,"file":0.011235955056179775,"'initialize'":0.011235955056179775,"same":0.011235955056179775,"'myid'":0.011235955056179775,"detected":0.011235955056179775,"deleted":0.011235955056179775,"by":0.011235955056179775},"407":{"initialization":0.03125,"validation":0.03125,"can":0.03125,"be":0.03125,"enabled":0.03125,"when":0.03125,"running":0.03125,"zookeeper":0.03125,"servers":0.03125,"directly":0.03125,"from":0.03125,"class":0.03125,"files":0.03125,"by":0.03125,"setting":0.03125,"db":0.03125,"autocreate":0.03125,"false":0.03125,"on":0.03125,"the":0.03125,"java":0.03125,"command":0.03125,"line":0.03125,"i":0.03125,"e":0.03125,"-dzookeeper":0.03125,"zkserver-initialize":0.03125,"sh":0.03125,"will":0.03125,"create":0.03125,"required":0.03125,"file":0.03125},"408":{"0":0.015625,"1":0.015625,"3":0.015625,"5":0.015625,"new":0.015625,"in":0.015625,"several":0.015625,"subsystems":0.015625,"have":0.015625,"been":0.015625,"reworked":0.015625,"to":0.015625,"improve":0.015625,"read":0.015625,"throughput":0.015625,"this":0.015625,"includes":0.015625,"multi-threading":0.015625,"of":0.015625,"the":0.015625,"nio":0.015625,"communication":0.015625,"subsystem":0.015625,"and":0.015625,"request":0.015625,"processing":0.015625,"pipeline":0.015625,"commit":0.015625,"processor":0.015625,"is":0.015625,"default":0.015625,"client":0.015625,"server":0.015625,"its":0.015625,"threading":0.015625,"model":0.015625,"comprises":0.015625,"acceptor":0.015625,"thread":0.015625,"1-n":0.015625,"selector":0.015625,"threads":0.015625,"0-m":0.015625,"socket":0.015625,"i":0.015625,"o":0.015625,"worker":0.015625,"system":0.015625,"can":0.015625,"be":0.015625,"configured":0.015625,"process":0.015625,"multiple":0.015625,"at":0.015625,"once":0.015625,"while":0.015625,"maintaining":0.015625,"same":0.015625,"consistency":0.015625,"guarantee":0.015625,"same-session":0.015625,"read-after-write":0.015625,"main":0.015625,"0-n":0.015625},"409":{"the":0.04,"default":0.04,"values":0.04,"are":0.04,"aimed":0.04,"at":0.04,"maximizing":0.04,"read":0.04,"throughput":0.04,"on":0.04,"a":0.04,"dedicated":0.04,"zookeeper":0.04,"machine":0.04,"both":0.04,"subsystems":0.04,"need":0.04,"to":0.04,"have":0.04,"sufficient":0.04,"amount":0.04,"of":0.04,"threads":0.04,"achieve":0.04,"peak":0.04},"410":{"0":0.024390243902439025,"1":0.024390243902439025,"2":0.024390243902439025,"3":0.024390243902439025,"5":0.024390243902439025,"zookeeper":0.024390243902439025,"nio":0.024390243902439025,"numselectorthreads":0.024390243902439025,"java":0.024390243902439025,"system":0.024390243902439025,"property":0.024390243902439025,"only":0.024390243902439025,"new":0.024390243902439025,"in":0.024390243902439025,"number":0.024390243902439025,"of":0.024390243902439025,"selector":0.024390243902439025,"threads":0.024390243902439025,"at":0.024390243902439025,"least":0.024390243902439025,"thread":0.024390243902439025,"required":0.024390243902439025,"it":0.024390243902439025,"is":0.024390243902439025,"recommended":0.024390243902439025,"to":0.024390243902439025,"use":0.024390243902439025,"more":0.024390243902439025,"than":0.024390243902439025,"one":0.024390243902439025,"for":0.024390243902439025,"large":0.024390243902439025,"numbers":0.024390243902439025,"client":0.024390243902439025,"connections":0.024390243902439025,"the":0.024390243902439025,"default":0.024390243902439025,"value":0.024390243902439025,"sqrt":0.024390243902439025,"cpu":0.024390243902439025,"cores":0.024390243902439025},"411":{"0":0.030303030303030304,"2":0.030303030303030304,"3":0.030303030303030304,"5":0.030303030303030304,"zookeeper":0.030303030303030304,"nio":0.030303030303030304,"numworkerthreads":0.030303030303030304,"java":0.030303030303030304,"system":0.030303030303030304,"property":0.030303030303030304,"only":0.030303030303030304,"new":0.030303030303030304,"in":0.030303030303030304,"number":0.030303030303030304,"of":0.030303030303030304,"worker":0.030303030303030304,"threads":0.030303030303030304,"if":0.030303030303030304,"configured":0.030303030303030304,"with":0.030303030303030304,"the":0.030303030303030304,"selector":0.030303030303030304,"do":0.030303030303030304,"socket":0.030303030303030304,"i":0.030303030303030304,"o":0.030303030303030304,"directly":0.030303030303030304,"default":0.030303030303030304,"value":0.030303030303030304,"is":0.030303030303030304,"times":0.030303030303030304,"cpu":0.030303030303030304,"cores":0.030303030303030304},"412":{"0":0.030303030303030304,"3":0.030303030303030304,"5":0.030303030303030304,"zookeeper":0.030303030303030304,"commitprocessor":0.030303030303030304,"numworkerthreads":0.030303030303030304,"java":0.030303030303030304,"system":0.030303030303030304,"property":0.030303030303030304,"only":0.030303030303030304,"new":0.030303030303030304,"in":0.030303030303030304,"number":0.030303030303030304,"of":0.030303030303030304,"commit":0.030303030303030304,"processor":0.030303030303030304,"worker":0.030303030303030304,"threads":0.030303030303030304,"if":0.030303030303030304,"configured":0.030303030303030304,"with":0.030303030303030304,"the":0.030303030303030304,"main":0.030303030303030304,"thread":0.030303030303030304,"will":0.030303030303030304,"process":0.030303030303030304,"request":0.030303030303030304,"directly":0.030303030303030304,"default":0.030303030303030304,"value":0.030303030303030304,"is":0.030303030303030304,"cpu":0.030303030303030304,"cores":0.030303030303030304},"413":{"0":0.0136986301369863,"zookeeper":0.0136986301369863,"commitprocessor":0.0136986301369863,"maxreadbatchsize":0.0136986301369863,"java":0.0136986301369863,"system":0.0136986301369863,"property":0.0136986301369863,"only":0.0136986301369863,"max":0.0136986301369863,"number":0.0136986301369863,"of":0.0136986301369863,"reads":0.0136986301369863,"to":0.0136986301369863,"process":0.0136986301369863,"from":0.0136986301369863,"queuedrequests":0.0136986301369863,"before":0.0136986301369863,"switching":0.0136986301369863,"processing":0.0136986301369863,"commits":0.0136986301369863,"if":0.0136986301369863,"the":0.0136986301369863,"value":0.0136986301369863,"default":0.0136986301369863,"we":0.0136986301369863,"switch":0.0136986301369863,"whenever":0.0136986301369863,"have":0.0136986301369863,"a":0.0136986301369863,"local":0.0136986301369863,"write":0.0136986301369863,"and":0.0136986301369863,"pending":0.0136986301369863,"high":0.0136986301369863,"read":0.0136986301369863,"batch":0.0136986301369863,"size":0.0136986301369863,"will":0.0136986301369863,"delay":0.0136986301369863,"commit":0.0136986301369863,"causing":0.0136986301369863,"stale":0.0136986301369863,"data":0.0136986301369863,"be":0.0136986301369863,"served":0.0136986301369863,"are":0.0136986301369863,"known":0.0136986301369863,"arrive":0.0136986301369863,"in":0.0136986301369863,"fixed":0.0136986301369863,"batches":0.0136986301369863,"then":0.0136986301369863,"matching":0.0136986301369863,"that":0.0136986301369863,"with":0.0136986301369863,"this":0.0136986301369863,"can":0.0136986301369863,"smooth":0.0136986301369863,"queue":0.0136986301369863,"performance":0.0136986301369863,"since":0.0136986301369863,"handled":0.0136986301369863,"parallel":0.0136986301369863,"one":0.0136986301369863,"recommendation":0.0136986301369863,"is":0.0136986301369863,"set":0.0136986301369863,"match":0.0136986301369863,"numworkerthread":0.0136986301369863,"cpu":0.0136986301369863,"cores":0.0136986301369863,"or":0.0136986301369863,"lower":0.0136986301369863},"414":{"1":0.011235955056179775,"zookeeper":0.011235955056179775,"commitprocessor":0.011235955056179775,"maxcommitbatchsize":0.011235955056179775,"java":0.011235955056179775,"system":0.011235955056179775,"property":0.011235955056179775,"only":0.011235955056179775,"max":0.011235955056179775,"number":0.011235955056179775,"of":0.011235955056179775,"commits":0.011235955056179775,"to":0.011235955056179775,"process":0.011235955056179775,"before":0.011235955056179775,"processing":0.011235955056179775,"reads":0.011235955056179775,"we":0.011235955056179775,"will":0.011235955056179775,"try":0.011235955056179775,"as":0.011235955056179775,"many":0.011235955056179775,"remote":0.011235955056179775,"local":0.011235955056179775,"can":0.011235955056179775,"till":0.011235955056179775,"reach":0.011235955056179775,"this":0.011235955056179775,"count":0.011235955056179775,"a":0.011235955056179775,"high":0.011235955056179775,"commit":0.011235955056179775,"batch":0.011235955056179775,"size":0.011235955056179775,"delay":0.011235955056179775,"while":0.011235955056179775,"more":0.011235955056179775,"low":0.011235955056179775,"favor":0.011235955056179775,"it":0.011235955056179775,"is":0.011235955056179775,"recommended":0.011235955056179775,"set":0.011235955056179775,"when":0.011235955056179775,"an":0.011235955056179775,"ensemble":0.011235955056179775,"serving":0.011235955056179775,"workload":0.011235955056179775,"with":0.011235955056179775,"rate":0.011235955056179775,"if":0.011235955056179775,"writes":0.011235955056179775,"are":0.011235955056179775,"known":0.011235955056179775,"arrive":0.011235955056179775,"in":0.011235955056179775,"batches":0.011235955056179775,"then":0.011235955056179775,"matching":0.011235955056179775,"that":0.011235955056179775,"the":0.011235955056179775,"value":0.011235955056179775,"smooth":0.011235955056179775,"queue":0.011235955056179775,"performance":0.011235955056179775,"generic":0.011235955056179775,"approach":0.011235955056179775,"would":0.011235955056179775,"be":0.011235955056179775,"equal":0.011235955056179775,"so":0.011235955056179775,"each":0.011235955056179775,"current":0.011235955056179775,"server":0.011235955056179775,"probabilistically":0.011235955056179775,"handle":0.011235955056179775,"write":0.011235955056179775,"related":0.011235955056179775,"one":0.011235955056179775,"its":0.011235955056179775,"direct":0.011235955056179775,"clients":0.011235955056179775,"default":0.011235955056179775,"negative":0.011235955056179775,"and":0.011235955056179775,"zero":0.011235955056179775,"values":0.011235955056179775,"not":0.011235955056179775,"supported":0.011235955056179775},"415":{"0":0.037037037037037035,"3":0.037037037037037035,"6":0.037037037037037035,"60000":0.037037037037037035,"znode":0.037037037037037035,"container":0.037037037037037035,"checkintervalms":0.037037037037037035,"java":0.037037037037037035,"system":0.037037037037037035,"property":0.037037037037037035,"only":0.037037037037037035,"new":0.037037037037037035,"in":0.037037037037037035,"the":0.037037037037037035,"time":0.037037037037037035,"interval":0.037037037037037035,"milliseconds":0.037037037037037035,"for":0.037037037037037035,"each":0.037037037037037035,"check":0.037037037037037035,"of":0.037037037037037035,"candidate":0.037037037037037035,"and":0.037037037037037035,"ttl":0.037037037037037035,"nodes":0.037037037037037035,"default":0.037037037037037035,"is":0.037037037037037035},"416":{"0":0.030303030303030304,"3":0.030303030303030304,"6":0.030303030303030304,"10000":0.030303030303030304,"znode":0.030303030303030304,"container":0.030303030303030304,"maxperminute":0.030303030303030304,"java":0.030303030303030304,"system":0.030303030303030304,"property":0.030303030303030304,"only":0.030303030303030304,"new":0.030303030303030304,"in":0.030303030303030304,"the":0.030303030303030304,"maximum":0.030303030303030304,"number":0.030303030303030304,"of":0.030303030303030304,"and":0.030303030303030304,"ttl":0.030303030303030304,"nodes":0.030303030303030304,"that":0.030303030303030304,"can":0.030303030303030304,"be":0.030303030303030304,"deleted":0.030303030303030304,"per":0.030303030303030304,"minute":0.030303030303030304,"this":0.030303030303030304,"prevents":0.030303030303030304,"herding":0.030303030303030304,"during":0.030303030303030304,"deletion":0.030303030303030304,"default":0.030303030303030304,"is":0.030303030303030304},"417":{"0":0.017857142857142856,"3":0.017857142857142856,"5":0.017857142857142856,"6":0.017857142857142856,"10":0.017857142857142856,"300000":0.017857142857142856,"znode":0.017857142857142856,"container":0.017857142857142856,"maxneverusedintervalms":0.017857142857142856,"java":0.017857142857142856,"system":0.017857142857142856,"property":0.017857142857142856,"only":0.017857142857142856,"new":0.017857142857142856,"in":0.017857142857142856,"the":0.017857142857142856,"maximum":0.017857142857142856,"interval":0.017857142857142856,"milliseconds":0.017857142857142856,"that":0.017857142857142856,"a":0.017857142857142856,"has":0.017857142857142856,"never":0.017857142857142856,"had":0.017857142857142856,"any":0.017857142857142856,"children":0.017857142857142856,"is":0.017857142857142856,"retained":0.017857142857142856,"should":0.017857142857142856,"be":0.017857142857142856,"long":0.017857142857142856,"enough":0.017857142857142856,"for":0.017857142857142856,"your":0.017857142857142856,"client":0.017857142857142856,"to":0.017857142857142856,"create":0.017857142857142856,"do":0.017857142857142856,"needed":0.017857142857142856,"work":0.017857142857142856,"and":0.017857142857142856,"then":0.017857142857142856,"default":0.017857142857142856,"k":0.017857142857142856,"minutes":0.017857142857142856,"since":0.017857142857142856,"earlier":0.017857142857142856,"versions":0.017857142857142856,"it":0.017857142857142856,"which":0.017857142857142856,"used":0.017857142857142856,"indicate":0.017857142857142856,"containers":0.017857142857142856,"have":0.017857142857142856,"are":0.017857142857142856,"deleted":0.017857142857142856},"418":{"0":0.06666666666666667,"3":0.06666666666666667,"6":0.06666666666666667,"new":0.06666666666666667,"in":0.06666666666666667,"the":0.06666666666666667,"following":0.06666666666666667,"options":0.06666666666666667,"are":0.06666666666666667,"introduced":0.06666666666666667,"to":0.06666666666666667,"make":0.06666666666666667,"zookeeper":0.06666666666666667,"easier":0.06666666666666667,"debug":0.06666666666666667},"419":{"0":0.016666666666666666,"3":0.016666666666666666,"6":0.016666666666666666,"10":0.016666666666666666,"zookeeper":0.016666666666666666,"messagetracker":0.016666666666666666,"buffersize":0.016666666666666666,"java":0.016666666666666666,"system":0.016666666666666666,"property":0.016666666666666666,"only":0.016666666666666666,"controls":0.016666666666666666,"the":0.016666666666666666,"maximum":0.016666666666666666,"number":0.016666666666666666,"of":0.016666666666666666,"messages":0.016666666666666666,"stored":0.016666666666666666,"in":0.016666666666666666,"value":0.016666666666666666,"should":0.016666666666666666,"be":0.016666666666666666,"positive":0.016666666666666666,"integers":0.016666666666666666,"default":0.016666666666666666,"is":0.016666666666666666,"introduced":0.016666666666666666,"to":0.016666666666666666,"record":0.016666666666666666,"last":0.016666666666666666,"set":0.016666666666666666,"between":0.016666666666666666,"a":0.016666666666666666,"server":0.016666666666666666,"follower":0.016666666666666666,"or":0.016666666666666666,"observer":0.016666666666666666,"and":0.016666666666666666,"leader":0.016666666666666666,"when":0.016666666666666666,"disconnects":0.016666666666666666,"with":0.016666666666666666,"these":0.016666666666666666,"will":0.016666666666666666,"then":0.016666666666666666,"dumped":0.016666666666666666,"zookeeper's":0.016666666666666666,"log":0.016666666666666666,"file":0.016666666666666666,"help":0.016666666666666666,"reconstruct":0.016666666666666666,"state":0.016666666666666666,"servers":0.016666666666666666,"at":0.016666666666666666,"time":0.016666666666666666,"disconnection":0.016666666666666666,"useful":0.016666666666666666,"for":0.016666666666666666,"debugging":0.016666666666666666,"purpose":0.016666666666666666},"420":{"zookeeper":0.047619047619047616,"messagetracker":0.047619047619047616,"enabled":0.047619047619047616,"java":0.047619047619047616,"system":0.047619047619047616,"property":0.047619047619047616,"only":0.047619047619047616,"when":0.047619047619047616,"set":0.047619047619047616,"to":0.047619047619047616,"true":0.047619047619047616,"will":0.047619047619047616,"enable":0.047619047619047616,"track":0.047619047619047616,"and":0.047619047619047616,"record":0.047619047619047616,"messages":0.047619047619047616,"default":0.047619047619047616,"value":0.047619047619047616,"is":0.047619047619047616,"false":0.047619047619047616},"421":{"0":0.07692307692307693,"3":0.07692307692307693,"9":0.07692307692307693,"new":0.07692307692307693,"in":0.07692307692307693,"the":0.07692307692307693,"following":0.07692307692307693,"options":0.07692307692307693,"are":0.07692307692307693,"used":0.07692307692307693,"to":0.07692307692307693,"configure":0.07692307692307693,"adminserver":0.07692307692307693},"422":{"5":0.05263157894736842,"admin":0.05263157894736842,"ratelimiterintervalinms":0.05263157894736842,"java":0.05263157894736842,"system":0.05263157894736842,"property":0.05263157894736842,"zookeeper":0.05263157894736842,"the":0.05263157894736842,"time":0.05263157894736842,"interval":0.05263157894736842,"for":0.05263157894736842,"rate":0.05263157894736842,"limiting":0.05263157894736842,"command":0.05263157894736842,"to":0.05263157894736842,"protect":0.05263157894736842,"server":0.05263157894736842,"defaults":0.05263157894736842,"mins":0.05263157894736842},"423":{"admin":0.06666666666666667,"snapshot":0.06666666666666667,"enabled":0.06666666666666667,"java":0.06666666666666667,"system":0.06666666666666667,"property":0.06666666666666667,"zookeeper":0.06666666666666667,"the":0.06666666666666667,"flag":0.06666666666666667,"for":0.06666666666666667,"enabling":0.06666666666666667,"command":0.06666666666666667,"defaults":0.06666666666666667,"to":0.06666666666666667,"true":0.06666666666666667},"424":{"admin":0.06666666666666667,"restore":0.06666666666666667,"enabled":0.06666666666666667,"java":0.06666666666666667,"system":0.06666666666666667,"property":0.06666666666666667,"zookeeper":0.06666666666666667,"the":0.06666666666666667,"flag":0.06666666666666667,"for":0.06666666666666667,"enabling":0.06666666666666667,"command":0.06666666666666667,"defaults":0.06666666666666667,"to":0.06666666666666667,"true":0.06666666666666667},"425":{"admin":0.047619047619047616,"needclientauth":0.047619047619047616,"java":0.047619047619047616,"system":0.047619047619047616,"property":0.047619047619047616,"zookeeper":0.047619047619047616,"the":0.047619047619047616,"flag":0.047619047619047616,"to":0.047619047619047616,"control":0.047619047619047616,"whether":0.047619047619047616,"client":0.047619047619047616,"auth":0.047619047619047616,"is":0.047619047619047616,"needed":0.047619047619047616,"using":0.047619047619047616,"x509":0.047619047619047616,"requires":0.047619047619047616,"true":0.047619047619047616,"defaults":0.047619047619047616,"false":0.047619047619047616},"426":{"1":0.07692307692307693,"3":0.07692307692307693,"7":0.07692307692307693,"new":0.07692307692307693,"in":0.07692307692307693,"the":0.07692307692307693,"following":0.07692307692307693,"options":0.07692307692307693,"are":0.07692307692307693,"used":0.07692307692307693,"to":0.07692307692307693,"configure":0.07692307692307693,"adminserver":0.07692307692307693},"427":{"admin":0.047619047619047616,"forcehttps":0.047619047619047616,"java":0.047619047619047616,"system":0.047619047619047616,"property":0.047619047619047616,"zookeeper":0.047619047619047616,"force":0.047619047619047616,"adminserver":0.047619047619047616,"to":0.047619047619047616,"use":0.047619047619047616,"ssl":0.047619047619047616,"thus":0.047619047619047616,"allowing":0.047619047619047616,"only":0.047619047619047616,"https":0.047619047619047616,"traffic":0.047619047619047616,"defaults":0.047619047619047616,"disabled":0.047619047619047616,"overwrites":0.047619047619047616,"portunification":0.047619047619047616,"settings":0.047619047619047616},"428":{"0":0.07692307692307693,"3":0.07692307692307693,"6":0.07692307692307693,"new":0.07692307692307693,"in":0.07692307692307693,"the":0.07692307692307693,"following":0.07692307692307693,"options":0.07692307692307693,"are":0.07692307692307693,"used":0.07692307692307693,"to":0.07692307692307693,"configure":0.07692307692307693,"adminserver":0.07692307692307693},"429":{"admin":0.05555555555555555,"portunification":0.05555555555555555,"java":0.05555555555555555,"system":0.05555555555555555,"property":0.05555555555555555,"zookeeper":0.05555555555555555,"enable":0.05555555555555555,"the":0.05555555555555555,"port":0.05555555555555555,"to":0.05555555555555555,"accept":0.05555555555555555,"both":0.05555555555555555,"http":0.05555555555555555,"and":0.05555555555555555,"https":0.05555555555555555,"traffic":0.05555555555555555,"defaults":0.05555555555555555,"disabled":0.05555555555555555},"430":{"0":0.07692307692307693,"3":0.07692307692307693,"5":0.07692307692307693,"new":0.07692307692307693,"in":0.07692307692307693,"the":0.07692307692307693,"following":0.07692307692307693,"options":0.07692307692307693,"are":0.07692307692307693,"used":0.07692307692307693,"to":0.07692307692307693,"configure":0.07692307692307693,"adminserver":0.07692307692307693},"431":{"admin":0.0625,"enableserver":0.0625,"java":0.0625,"system":0.0625,"property":0.0625,"zookeeper":0.0625,"set":0.0625,"to":0.0625,"false":0.0625,"disable":0.0625,"the":0.0625,"adminserver":0.0625,"by":0.0625,"default":0.0625,"is":0.0625,"enabled":0.0625},"432":{"0":0.0625,"admin":0.0625,"serveraddress":0.0625,"java":0.0625,"system":0.0625,"property":0.0625,"zookeeper":0.0625,"the":0.0625,"address":0.0625,"embedded":0.0625,"jetty":0.0625,"server":0.0625,"listens":0.0625,"on":0.0625,"defaults":0.0625,"to":0.0625},"433":{"8080":0.0625,"admin":0.0625,"serverport":0.0625,"java":0.0625,"system":0.0625,"property":0.0625,"zookeeper":0.0625,"the":0.0625,"port":0.0625,"embedded":0.0625,"jetty":0.0625,"server":0.0625,"listens":0.0625,"on":0.0625,"defaults":0.0625,"to":0.0625},"434":{"30000":0.037037037037037035,"admin":0.037037037037037035,"idletimeout":0.037037037037037035,"java":0.037037037037037035,"system":0.037037037037037035,"property":0.037037037037037035,"zookeeper":0.037037037037037035,"set":0.037037037037037035,"the":0.037037037037037035,"maximum":0.037037037037037035,"idle":0.037037037037037035,"time":0.037037037037037035,"in":0.037037037037037035,"milliseconds":0.037037037037037035,"that":0.037037037037037035,"a":0.037037037037037035,"connection":0.037037037037037035,"can":0.037037037037037035,"wait":0.037037037037037035,"before":0.037037037037037035,"sending":0.037037037037037035,"or":0.037037037037037035,"receiving":0.037037037037037035,"data":0.037037037037037035,"defaults":0.037037037037037035,"to":0.037037037037037035,"ms":0.037037037037037035},"435":{"admin":0.058823529411764705,"commandurl":0.058823529411764705,"java":0.058823529411764705,"system":0.058823529411764705,"property":0.058823529411764705,"zookeeper":0.058823529411764705,"the":0.058823529411764705,"url":0.058823529411764705,"for":0.058823529411764705,"listing":0.058823529411764705,"and":0.058823529411764705,"issuing":0.058823529411764705,"commands":0.058823529411764705,"relative":0.058823529411764705,"to":0.058823529411764705,"root":0.058823529411764705,"defaults":0.058823529411764705},"436":{"data":0.3333333333333333,"file":0.3333333333333333,"management":0.3333333333333333},"437":{"describes":0.05555555555555555,"how":0.05555555555555555,"zookeeper":0.05555555555555555,"manages":0.05555555555555555,"its":0.05555555555555555,"data":0.05555555555555555,"and":0.05555555555555555,"transaction":0.05555555555555555,"log":0.05555555555555555,"directories":0.05555555555555555,"snapshot":0.05555555555555555,"file":0.05555555555555555,"lifecycle":0.05555555555555555,"cleanup":0.05555555555555555,"recovery":0.05555555555555555,"using":0.05555555555555555,"the":0.05555555555555555,"txnlogtoolkit":0.05555555555555555},"438":{"the":0.3333333333333333,"data":0.3333333333333333,"directory":0.3333333333333333},"439":{"the":0.3333333333333333,"log":0.3333333333333333,"directory":0.3333333333333333},"440":{"file":0.5,"management":0.5},"441":{"recovery":0.3333333333333333,"-":0.3333333333333333,"txnlogtoolkit":0.3333333333333333},"442":{"zookeeper":0.02631578947368421,"stores":0.02631578947368421,"its":0.02631578947368421,"data":0.02631578947368421,"in":0.02631578947368421,"a":0.02631578947368421,"directory":0.02631578947368421,"and":0.02631578947368421,"transaction":0.02631578947368421,"log":0.02631578947368421,"by":0.02631578947368421,"default":0.02631578947368421,"these":0.02631578947368421,"two":0.02631578947368421,"directories":0.02631578947368421,"are":0.02631578947368421,"the":0.02631578947368421,"same":0.02631578947368421,"server":0.02631578947368421,"can":0.02631578947368421,"should":0.02631578947368421,"be":0.02631578947368421,"configured":0.02631578947368421,"to":0.02631578947368421,"store":0.02631578947368421,"files":0.02631578947368421,"separate":0.02631578947368421,"than":0.02631578947368421,"throughput":0.02631578947368421,"increases":0.02631578947368421,"latency":0.02631578947368421,"decreases":0.02631578947368421,"when":0.02631578947368421,"logs":0.02631578947368421,"reside":0.02631578947368421,"on":0.02631578947368421,"dedicated":0.02631578947368421,"devices":0.02631578947368421},"443":{"this":0.1111111111111111,"directory":0.1111111111111111,"has":0.1111111111111111,"two":0.1111111111111111,"or":0.1111111111111111,"three":0.1111111111111111,"files":0.1111111111111111,"in":0.1111111111111111,"it":0.1111111111111111},"444":{"myid":0.0625,"-":0.0625,"contains":0.0625,"a":0.0625,"single":0.0625,"integer":0.0625,"in":0.0625,"human":0.0625,"readable":0.0625,"ascii":0.0625,"text":0.0625,"that":0.0625,"represents":0.0625,"the":0.0625,"server":0.0625,"id":0.0625},"445":{"initialize":0.07142857142857142,"-":0.07142857142857142,"presence":0.07142857142857142,"indicates":0.07142857142857142,"lack":0.07142857142857142,"of":0.07142857142857142,"data":0.07142857142857142,"tree":0.07142857142857142,"is":0.07142857142857142,"expected":0.07142857142857142,"cleaned":0.07142857142857142,"up":0.07142857142857142,"once":0.07142857142857142,"created":0.07142857142857142},"446":{"snapshot":0.1,"zxid":0.1,"-":0.1,"holds":0.1,"the":0.1,"fuzzy":0.1,"of":0.1,"a":0.1,"data":0.1,"tree":0.1},"447":{"each":0.02127659574468085,"zookeeper":0.02127659574468085,"server":0.02127659574468085,"has":0.02127659574468085,"a":0.02127659574468085,"unique":0.02127659574468085,"id":0.02127659574468085,"this":0.02127659574468085,"is":0.02127659574468085,"used":0.02127659574468085,"in":0.02127659574468085,"two":0.02127659574468085,"places":0.02127659574468085,"the":0.02127659574468085,"myid":0.02127659574468085,"file":0.02127659574468085,"and":0.02127659574468085,"configuration":0.02127659574468085,"identifies":0.02127659574468085,"that":0.02127659574468085,"corresponds":0.02127659574468085,"to":0.02127659574468085,"given":0.02127659574468085,"data":0.02127659574468085,"directory":0.02127659574468085,"lists":0.02127659574468085,"contact":0.02127659574468085,"information":0.02127659574468085,"for":0.02127659574468085,"identified":0.02127659574468085,"by":0.02127659574468085,"its":0.02127659574468085,"when":0.02127659574468085,"instance":0.02127659574468085,"starts":0.02127659574468085,"it":0.02127659574468085,"reads":0.02127659574468085,"from":0.02127659574468085,"then":0.02127659574468085,"using":0.02127659574468085,"looking":0.02127659574468085,"up":0.02127659574468085,"port":0.02127659574468085,"on":0.02127659574468085,"which":0.02127659574468085,"should":0.02127659574468085,"listen":0.02127659574468085},"448":{"the":0.013513513513513514,"snapshot":0.013513513513513514,"files":0.013513513513513514,"stored":0.013513513513513514,"in":0.013513513513513514,"data":0.013513513513513514,"directory":0.013513513513513514,"are":0.013513513513513514,"fuzzy":0.013513513513513514,"snapshots":0.013513513513513514,"sense":0.013513513513513514,"that":0.013513513513513514,"during":0.013513513513513514,"time":0.013513513513513514,"zookeeper":0.013513513513513514,"server":0.013513513513513514,"is":0.013513513513513514,"taking":0.013513513513513514,"updates":0.013513513513513514,"occurring":0.013513513513513514,"to":0.013513513513513514,"tree":0.013513513513513514,"suffix":0.013513513513513514,"of":0.013513513513513514,"file":0.013513513513513514,"names":0.013513513513513514,"zxid":0.013513513513513514,"transaction":0.013513513513513514,"id":0.013513513513513514,"last":0.013513513513513514,"committed":0.013513513513513514,"at":0.013513513513513514,"start":0.013513513513513514,"thus":0.013513513513513514,"includes":0.013513513513513514,"a":0.013513513513513514,"subset":0.013513513513513514,"occurred":0.013513513513513514,"while":0.013513513513513514,"was":0.013513513513513514,"process":0.013513513513513514,"then":0.013513513513513514,"may":0.013513513513513514,"not":0.013513513513513514,"correspond":0.013513513513513514,"any":0.013513513513513514,"actually":0.013513513513513514,"existed":0.013513513513513514,"and":0.013513513513513514,"for":0.013513513513513514,"this":0.013513513513513514,"reason":0.013513513513513514,"we":0.013513513513513514,"refer":0.013513513513513514,"it":0.013513513513513514,"as":0.013513513513513514,"still":0.013513513513513514,"can":0.013513513513513514,"recover":0.013513513513513514,"using":0.013513513513513514,"because":0.013513513513513514,"takes":0.013513513513513514,"advantage":0.013513513513513514,"idempotent":0.013513513513513514,"nature":0.013513513513513514,"its":0.013513513513513514,"by":0.013513513513513514,"replaying":0.013513513513513514,"log":0.013513513513513514,"against":0.013513513513513514,"gets":0.013513513513513514,"state":0.013513513513513514,"system":0.013513513513513514,"end":0.013513513513513514},"449":{"the":0.02040816326530612,"log":0.02040816326530612,"directory":0.02040816326530612,"contains":0.02040816326530612,"zookeeper":0.02040816326530612,"transaction":0.02040816326530612,"logs":0.02040816326530612,"before":0.02040816326530612,"any":0.02040816326530612,"update":0.02040816326530612,"takes":0.02040816326530612,"place":0.02040816326530612,"ensures":0.02040816326530612,"that":0.02040816326530612,"represents":0.02040816326530612,"is":0.02040816326530612,"written":0.02040816326530612,"to":0.02040816326530612,"non-volatile":0.02040816326530612,"storage":0.02040816326530612,"a":0.02040816326530612,"new":0.02040816326530612,"file":0.02040816326530612,"started":0.02040816326530612,"when":0.02040816326530612,"number":0.02040816326530612,"of":0.02040816326530612,"transactions":0.02040816326530612,"current":0.02040816326530612,"reaches":0.02040816326530612,"variable":0.02040816326530612,"threshold":0.02040816326530612,"computed":0.02040816326530612,"using":0.02040816326530612,"same":0.02040816326530612,"parameter":0.02040816326530612,"which":0.02040816326530612,"influences":0.02040816326530612,"frequency":0.02040816326530612,"snapshotting":0.02040816326530612,"see":0.02040816326530612,"snapcount":0.02040816326530612,"and":0.02040816326530612,"snapsizelimitinkb":0.02040816326530612,"above":0.02040816326530612,"file's":0.02040816326530612,"suffix":0.02040816326530612,"first":0.02040816326530612,"zxid":0.02040816326530612},"450":{"the":0.030303030303030304,"format":0.030303030303030304,"of":0.030303030303030304,"snapshot":0.030303030303030304,"and":0.030303030303030304,"log":0.030303030303030304,"files":0.030303030303030304,"does":0.030303030303030304,"not":0.030303030303030304,"change":0.030303030303030304,"between":0.030303030303030304,"standalone":0.030303030303030304,"zookeeper":0.030303030303030304,"servers":0.030303030303030304,"different":0.030303030303030304,"configurations":0.030303030303030304,"replicated":0.030303030303030304,"therefore":0.030303030303030304,"you":0.030303030303030304,"can":0.030303030303030304,"pull":0.030303030303030304,"these":0.030303030303030304,"from":0.030303030303030304,"a":0.030303030303030304,"running":0.030303030303030304,"server":0.030303030303030304,"to":0.030303030303030304,"development":0.030303030303030304,"machine":0.030303030303030304,"with":0.030303030303030304,"stand-alone":0.030303030303030304,"for":0.030303030303030304,"troubleshooting":0.030303030303030304},"451":{"using":0.05263157894736842,"older":0.05263157894736842,"log":0.05263157894736842,"and":0.05263157894736842,"snapshot":0.05263157894736842,"files":0.05263157894736842,"you":0.05263157894736842,"can":0.05263157894736842,"look":0.05263157894736842,"at":0.05263157894736842,"the":0.05263157894736842,"previous":0.05263157894736842,"state":0.05263157894736842,"of":0.05263157894736842,"zookeeper":0.05263157894736842,"servers":0.05263157894736842,"even":0.05263157894736842,"restore":0.05263157894736842,"that":0.05263157894736842},"452":{"the":0.014492753623188406,"zookeeper":0.014492753623188406,"server":0.014492753623188406,"creates":0.014492753623188406,"snapshot":0.014492753623188406,"and":0.014492753623188406,"log":0.014492753623188406,"files":0.014492753623188406,"but":0.014492753623188406,"never":0.014492753623188406,"deletes":0.014492753623188406,"them":0.014492753623188406,"retention":0.014492753623188406,"policy":0.014492753623188406,"of":0.014492753623188406,"data":0.014492753623188406,"is":0.014492753623188406,"implemented":0.014492753623188406,"outside":0.014492753623188406,"itself":0.014492753623188406,"only":0.014492753623188406,"needs":0.014492753623188406,"latest":0.014492753623188406,"complete":0.014492753623188406,"fuzzy":0.014492753623188406,"all":0.014492753623188406,"following":0.014492753623188406,"it":0.014492753623188406,"last":0.014492753623188406,"file":0.014492753623188406,"preceding":0.014492753623188406,"latter":0.014492753623188406,"requirement":0.014492753623188406,"necessary":0.014492753623188406,"to":0.014492753623188406,"include":0.014492753623188406,"updates":0.014492753623188406,"which":0.014492753623188406,"happened":0.014492753623188406,"after":0.014492753623188406,"this":0.014492753623188406,"was":0.014492753623188406,"started":0.014492753623188406,"went":0.014492753623188406,"into":0.014492753623188406,"existing":0.014492753623188406,"at":0.014492753623188406,"that":0.014492753623188406,"time":0.014492753623188406,"possible":0.014492753623188406,"because":0.014492753623188406,"snapshotting":0.014492753623188406,"rolling":0.014492753623188406,"over":0.014492753623188406,"logs":0.014492753623188406,"proceed":0.014492753623188406,"somewhat":0.014492753623188406,"independently":0.014492753623188406,"in":0.014492753623188406,"see":0.014492753623188406,"maintenance":0.014492753623188406,"section":0.014492753623188406,"for":0.014492753623188406,"more":0.014492753623188406,"details":0.014492753623188406,"on":0.014492753623188406,"setting":0.014492753623188406,"a":0.014492753623188406,"storage":0.014492753623188406},"453":{"type":0.5,"info":0.5},"454":{"the":0.02631578947368421,"data":0.02631578947368421,"stored":0.02631578947368421,"in":0.02631578947368421,"these":0.02631578947368421,"files":0.02631578947368421,"is":0.02631578947368421,"not":0.02631578947368421,"encrypted":0.02631578947368421,"case":0.02631578947368421,"of":0.02631578947368421,"storing":0.02631578947368421,"sensitive":0.02631578947368421,"zookeeper":0.02631578947368421,"necessary":0.02631578947368421,"measures":0.02631578947368421,"need":0.02631578947368421,"to":0.02631578947368421,"be":0.02631578947368421,"taken":0.02631578947368421,"prevent":0.02631578947368421,"unauthorized":0.02631578947368421,"access":0.02631578947368421,"such":0.02631578947368421,"are":0.02631578947368421,"external":0.02631578947368421,"e":0.02631578947368421,"g":0.02631578947368421,"control":0.02631578947368421,"and":0.02631578947368421,"depend":0.02631578947368421,"on":0.02631578947368421,"individual":0.02631578947368421,"settings":0.02631578947368421,"which":0.02631578947368421,"it":0.02631578947368421,"being":0.02631578947368421,"deployed":0.02631578947368421},"455":{"more":0.14285714285714285,"details":0.14285714285714285,"can":0.14285714285714285,"be":0.14285714285714285,"found":0.14285714285714285,"in":0.14285714285714285,"this":0.14285714285714285},"456":{"deployment":1},"457":{"covers":0.06666666666666667,"zookeeper":0.06666666666666667,"deployment":0.06666666666666667,"requirements":0.06666666666666667,"and":0.06666666666666667,"setup":0.06666666666666667,"supported":0.06666666666666667,"platforms":0.06666666666666667,"system":0.06666666666666667,"clustered":0.06666666666666667,"multi-server":0.06666666666666667,"ensemble":0.06666666666666667,"configuration":0.06666666666666667,"single-server":0.06666666666666667,"developer":0.06666666666666667},"458":{"system":0.5,"requirements":0.5},"459":{"supported":0.5,"platforms":0.5},"460":{"support":0.5,"matrix":0.5},"461":{"required":0.5,"software":0.5},"462":{"clustered":0.3333333333333333,"multi-server":0.3333333333333333,"setup":0.3333333333333333},"463":{"single":0.2,"server":0.2,"and":0.2,"developer":0.2,"setup":0.2},"464":{"designing":0.25,"a":0.25,"zookeeper":0.25,"deployment":0.25},"465":{"cross":0.3333333333333333,"machine":0.3333333333333333,"requirements":0.3333333333333333},"466":{"single":0.3333333333333333,"machine":0.3333333333333333,"requirements":0.3333333333333333},"467":{"this":0.09090909090909091,"section":0.09090909090909091,"contains":0.09090909090909091,"information":0.09090909090909091,"about":0.09090909090909091,"deploying":0.09090909090909091,"zookeeper":0.09090909090909091,"and":0.09090909090909091,"covers":0.09090909090909091,"these":0.09090909090909091,"topics":0.09090909090909091},"468":{"system":0.5,"requirements":0.5},"469":{"clustered":0.3333333333333333,"multi-server":0.3333333333333333,"setup":0.3333333333333333},"470":{"single":0.2,"server":0.2,"and":0.2,"developer":0.2,"setup":0.2},"471":{"the":0.02857142857142857,"first":0.02857142857142857,"two":0.02857142857142857,"sections":0.02857142857142857,"assume":0.02857142857142857,"you":0.02857142857142857,"are":0.02857142857142857,"interested":0.02857142857142857,"in":0.02857142857142857,"installing":0.02857142857142857,"zookeeper":0.02857142857142857,"a":0.02857142857142857,"production":0.02857142857142857,"environment":0.02857142857142857,"such":0.02857142857142857,"as":0.02857142857142857,"datacenter":0.02857142857142857,"final":0.02857142857142857,"section":0.02857142857142857,"covers":0.02857142857142857,"situations":0.02857142857142857,"which":0.02857142857142857,"setting":0.02857142857142857,"up":0.02857142857142857,"on":0.02857142857142857,"limited":0.02857142857142857,"basis":0.02857142857142857,"-":0.02857142857142857,"for":0.02857142857142857,"evaluation":0.02857142857142857,"testing":0.02857142857142857,"or":0.02857142857142857,"development":0.02857142857142857,"but":0.02857142857142857,"not":0.02857142857142857},"472":{"zookeeper":0.058823529411764705,"consists":0.058823529411764705,"of":0.058823529411764705,"multiple":0.058823529411764705,"components":0.058823529411764705,"some":0.058823529411764705,"are":0.058823529411764705,"supported":0.058823529411764705,"broadly":0.058823529411764705,"and":0.058823529411764705,"other":0.058823529411764705,"only":0.058823529411764705,"on":0.058823529411764705,"a":0.058823529411764705,"smaller":0.058823529411764705,"set":0.058823529411764705,"platforms":0.058823529411764705},"473":{"client":0.07692307692307693,"is":0.07692307692307693,"the":0.07692307692307693,"java":0.07692307692307693,"library":0.07692307692307693,"used":0.07692307692307693,"by":0.07692307692307693,"applications":0.07692307692307693,"to":0.07692307692307693,"connect":0.07692307692307693,"a":0.07692307692307693,"zookeeper":0.07692307692307693,"ensemble":0.07692307692307693},"474":{"server":0.1,"is":0.1,"the":0.1,"java":0.1,"that":0.1,"runs":0.1,"on":0.1,"zookeeper":0.1,"ensemble":0.1,"nodes":0.1},"475":{"native":0.058823529411764705,"client":0.058823529411764705,"is":0.058823529411764705,"a":0.058823529411764705,"implemented":0.058823529411764705,"in":0.058823529411764705,"c":0.058823529411764705,"similar":0.058823529411764705,"to":0.058823529411764705,"the":0.058823529411764705,"java":0.058823529411764705,"used":0.058823529411764705,"by":0.058823529411764705,"applications":0.058823529411764705,"connect":0.058823529411764705,"zookeeper":0.058823529411764705,"ensemble":0.058823529411764705},"476":{"contrib":0.14285714285714285,"refers":0.14285714285714285,"to":0.14285714285714285,"multiple":0.14285714285714285,"optional":0.14285714285714285,"add-on":0.14285714285714285,"components":0.14285714285714285},"477":{"the":0.058823529411764705,"following":0.058823529411764705,"matrix":0.058823529411764705,"describes":0.058823529411764705,"level":0.058823529411764705,"of":0.058823529411764705,"support":0.058823529411764705,"committed":0.058823529411764705,"for":0.058823529411764705,"running":0.058823529411764705,"each":0.058823529411764705,"component":0.058823529411764705,"on":0.058823529411764705,"different":0.058823529411764705,"operating":0.058823529411764705,"system":0.058823529411764705,"platforms":0.058823529411764705},"478":{"operating":0.5,"system":0.5},"479":{"client":1},"480":{"server":1},"481":{"native":0.5,"client":0.5},"482":{"contrib":1},"483":{"gnu":0.5,"linux":0.5},"484":{"development":0.3333333333333333,"and":0.3333333333333333,"production":0.3333333333333333},"485":{"development":0.3333333333333333,"and":0.3333333333333333,"production":0.3333333333333333},"486":{"development":0.3333333333333333,"and":0.3333333333333333,"production":0.3333333333333333},"487":{"development":0.3333333333333333,"and":0.3333333333333333,"production":0.3333333333333333},"488":{"solaris":1},"489":{"development":0.3333333333333333,"and":0.3333333333333333,"production":0.3333333333333333},"490":{"development":0.3333333333333333,"and":0.3333333333333333,"production":0.3333333333333333},"491":{"not":0.5,"supported":0.5},"492":{"not":0.5,"supported":0.5},"493":{"freebsd":1},"494":{"development":0.3333333333333333,"and":0.3333333333333333,"production":0.3333333333333333},"495":{"development":0.3333333333333333,"and":0.3333333333333333,"production":0.3333333333333333},"496":{"not":0.5,"supported":0.5},"497":{"not":0.5,"supported":0.5},"498":{"windows":1},"499":{"development":0.3333333333333333,"and":0.3333333333333333,"production":0.3333333333333333},"500":{"development":0.3333333333333333,"and":0.3333333333333333,"production":0.3333333333333333},"501":{"not":0.5,"supported":0.5},"502":{"not":0.5,"supported":0.5},"503":{"mac":0.3333333333333333,"os":0.3333333333333333,"x":0.3333333333333333},"504":{"development":0.5,"only":0.5},"505":{"development":0.5,"only":0.5},"506":{"not":0.5,"supported":0.5},"507":{"not":0.5,"supported":0.5},"508":{"for":0.030303030303030304,"any":0.030303030303030304,"operating":0.030303030303030304,"system":0.030303030303030304,"not":0.030303030303030304,"explicitly":0.030303030303030304,"mentioned":0.030303030303030304,"as":0.030303030303030304,"supported":0.030303030303030304,"in":0.030303030303030304,"the":0.030303030303030304,"matrix":0.030303030303030304,"components":0.030303030303030304,"may":0.030303030303030304,"or":0.030303030303030304,"work":0.030303030303030304,"zookeeper":0.030303030303030304,"community":0.030303030303030304,"will":0.030303030303030304,"fix":0.030303030303030304,"obvious":0.030303030303030304,"bugs":0.030303030303030304,"that":0.030303030303030304,"are":0.030303030303030304,"reported":0.030303030303030304,"other":0.030303030303030304,"platforms":0.030303030303030304,"but":0.030303030303030304,"there":0.030303030303030304,"is":0.030303030303030304,"no":0.030303030303030304,"full":0.030303030303030304,"support":0.030303030303030304},"509":{"1":0.017241379310344827,"8":0.017241379310344827,"9":0.017241379310344827,"10":0.017241379310344827,"11":0.017241379310344827,"12":0.017241379310344827,"zookeeper":0.017241379310344827,"runs":0.017241379310344827,"in":0.017241379310344827,"java":0.017241379310344827,"release":0.017241379310344827,"or":0.017241379310344827,"greater":0.017241379310344827,"jdk":0.017241379310344827,"lts":0.017241379310344827,"-":0.017241379310344827,"and":0.017241379310344827,"are":0.017241379310344827,"not":0.017241379310344827,"supported":0.017241379310344827,"it":0.017241379310344827,"as":0.017241379310344827,"an":0.017241379310344827,"ensemble":0.017241379310344827,"of":0.017241379310344827,"servers":0.017241379310344827,"three":0.017241379310344827,"is":0.017241379310344827,"the":0.017241379310344827,"minimum":0.017241379310344827,"recommended":0.017241379310344827,"size":0.017241379310344827,"for":0.017241379310344827,"we":0.017241379310344827,"also":0.017241379310344827,"recommend":0.017241379310344827,"that":0.017241379310344827,"they":0.017241379310344827,"run":0.017241379310344827,"on":0.017241379310344827,"separate":0.017241379310344827,"machines":0.017241379310344827,"at":0.017241379310344827,"yahoo":0.017241379310344827,"usually":0.017241379310344827,"deployed":0.017241379310344827,"dedicated":0.017241379310344827,"rhel":0.017241379310344827,"boxes":0.017241379310344827,"with":0.017241379310344827,"dual-core":0.017241379310344827,"processors":0.017241379310344827,"2gb":0.017241379310344827,"ram":0.017241379310344827,"80gb":0.017241379310344827,"ide":0.017241379310344827,"hard":0.017241379310344827,"drives":0.017241379310344827},"510":{"for":0.0196078431372549,"reliable":0.0196078431372549,"zookeeper":0.0196078431372549,"service":0.0196078431372549,"you":0.0196078431372549,"should":0.0196078431372549,"deploy":0.0196078431372549,"in":0.0196078431372549,"a":0.0196078431372549,"cluster":0.0196078431372549,"known":0.0196078431372549,"as":0.0196078431372549,"an":0.0196078431372549,"ensemble":0.0196078431372549,"long":0.0196078431372549,"majority":0.0196078431372549,"of":0.0196078431372549,"the":0.0196078431372549,"are":0.0196078431372549,"up":0.0196078431372549,"will":0.0196078431372549,"be":0.0196078431372549,"available":0.0196078431372549,"because":0.0196078431372549,"requires":0.0196078431372549,"it":0.0196078431372549,"is":0.0196078431372549,"best":0.0196078431372549,"to":0.0196078431372549,"use":0.0196078431372549,"odd":0.0196078431372549,"number":0.0196078431372549,"machines":0.0196078431372549,"example":0.0196078431372549,"with":0.0196078431372549,"four":0.0196078431372549,"can":0.0196078431372549,"only":0.0196078431372549,"handle":0.0196078431372549,"failure":0.0196078431372549,"single":0.0196078431372549,"machine":0.0196078431372549,"if":0.0196078431372549,"two":0.0196078431372549,"fail":0.0196078431372549,"remaining":0.0196078431372549,"do":0.0196078431372549,"not":0.0196078431372549,"constitute":0.0196078431372549,"however":0.0196078431372549,"five":0.0196078431372549},"511":{"type":0.5,"info":0.5},"512":{"as":0.03225806451612903,"mentioned":0.03225806451612903,"in":0.03225806451612903,"the":0.03225806451612903,"zookeeper":0.03225806451612903,"getting":0.03225806451612903,"started":0.03225806451612903,"guide":0.03225806451612903,"a":0.03225806451612903,"minimum":0.03225806451612903,"of":0.03225806451612903,"three":0.03225806451612903,"servers":0.03225806451612903,"are":0.03225806451612903,"required":0.03225806451612903,"for":0.03225806451612903,"fault":0.03225806451612903,"tolerant":0.03225806451612903,"clustered":0.03225806451612903,"setup":0.03225806451612903,"and":0.03225806451612903,"it":0.03225806451612903,"is":0.03225806451612903,"strongly":0.03225806451612903,"recommended":0.03225806451612903,"that":0.03225806451612903,"you":0.03225806451612903,"have":0.03225806451612903,"an":0.03225806451612903,"odd":0.03225806451612903,"number":0.03225806451612903},"513":{"usually":0.020833333333333332,"three":0.020833333333333332,"servers":0.020833333333333332,"is":0.020833333333333332,"more":0.020833333333333332,"than":0.020833333333333332,"enough":0.020833333333333332,"for":0.020833333333333332,"a":0.020833333333333332,"production":0.020833333333333332,"install":0.020833333333333332,"but":0.020833333333333332,"maximum":0.020833333333333332,"reliability":0.020833333333333332,"during":0.020833333333333332,"maintenance":0.020833333333333332,"you":0.020833333333333332,"may":0.020833333333333332,"wish":0.020833333333333332,"to":0.020833333333333332,"five":0.020833333333333332,"with":0.020833333333333332,"if":0.020833333333333332,"perform":0.020833333333333332,"on":0.020833333333333332,"one":0.020833333333333332,"of":0.020833333333333332,"them":0.020833333333333332,"are":0.020833333333333332,"vulnerable":0.020833333333333332,"failure":0.020833333333333332,"the":0.020833333333333332,"other":0.020833333333333332,"two":0.020833333333333332,"that":0.020833333333333332,"have":0.020833333333333332,"running":0.020833333333333332,"can":0.020833333333333332,"take":0.020833333333333332,"down":0.020833333333333332,"and":0.020833333333333332,"know":0.020833333333333332,"you're":0.020833333333333332,"still":0.020833333333333332,"ok":0.020833333333333332,"four":0.020833333333333332,"suddenly":0.020833333333333332,"fails":0.020833333333333332},"514":{"your":0.030303030303030304,"redundancy":0.030303030303030304,"considerations":0.030303030303030304,"should":0.030303030303030304,"include":0.030303030303030304,"all":0.030303030303030304,"aspects":0.030303030303030304,"of":0.030303030303030304,"environment":0.030303030303030304,"if":0.030303030303030304,"you":0.030303030303030304,"have":0.030303030303030304,"three":0.030303030303030304,"zookeeper":0.030303030303030304,"servers":0.030303030303030304,"but":0.030303030303030304,"their":0.030303030303030304,"network":0.030303030303030304,"cables":0.030303030303030304,"are":0.030303030303030304,"plugged":0.030303030303030304,"into":0.030303030303030304,"the":0.030303030303030304,"same":0.030303030303030304,"switch":0.030303030303030304,"then":0.030303030303030304,"failure":0.030303030303030304,"that":0.030303030303030304,"will":0.030303030303030304,"take":0.030303030303030304,"down":0.030303030303030304,"entire":0.030303030303030304,"ensemble":0.030303030303030304},"515":{"here":0.045454545454545456,"are":0.045454545454545456,"the":0.045454545454545456,"steps":0.045454545454545456,"to":0.045454545454545456,"set":0.045454545454545456,"a":0.045454545454545456,"server":0.045454545454545456,"that":0.045454545454545456,"will":0.045454545454545456,"be":0.045454545454545456,"part":0.045454545454545456,"of":0.045454545454545456,"an":0.045454545454545456,"ensemble":0.045454545454545456,"these":0.045454545454545456,"should":0.045454545454545456,"performed":0.045454545454545456,"on":0.045454545454545456,"every":0.045454545454545456,"host":0.045454545454545456,"in":0.045454545454545456},"516":{"install":0.045454545454545456,"the":0.045454545454545456,"java":0.045454545454545456,"jdk":0.045454545454545456,"you":0.045454545454545456,"can":0.045454545454545456,"use":0.045454545454545456,"native":0.045454545454545456,"packaging":0.045454545454545456,"system":0.045454545454545456,"for":0.045454545454545456,"your":0.045454545454545456,"or":0.045454545454545456,"download":0.045454545454545456,"from":0.045454545454545456,"http":0.045454545454545456,"sun":0.045454545454545456,"com":0.045454545454545456,"javase":0.045454545454545456,"downloads":0.045454545454545456,"index":0.045454545454545456,"jsp":0.045454545454545456},"517":{"set":0.021739130434782608,"the":0.021739130434782608,"java":0.021739130434782608,"heap":0.021739130434782608,"size":0.021739130434782608,"this":0.021739130434782608,"is":0.021739130434782608,"very":0.021739130434782608,"important":0.021739130434782608,"to":0.021739130434782608,"avoid":0.021739130434782608,"swapping":0.021739130434782608,"which":0.021739130434782608,"will":0.021739130434782608,"seriously":0.021739130434782608,"degrade":0.021739130434782608,"zookeeper":0.021739130434782608,"performance":0.021739130434782608,"determine":0.021739130434782608,"correct":0.021739130434782608,"value":0.021739130434782608,"use":0.021739130434782608,"load":0.021739130434782608,"tests":0.021739130434782608,"and":0.021739130434782608,"make":0.021739130434782608,"sure":0.021739130434782608,"you":0.021739130434782608,"are":0.021739130434782608,"well":0.021739130434782608,"below":0.021739130434782608,"usage":0.021739130434782608,"limit":0.021739130434782608,"that":0.021739130434782608,"would":0.021739130434782608,"cause":0.021739130434782608,"swap":0.021739130434782608,"be":0.021739130434782608,"conservative":0.021739130434782608,"a":0.021739130434782608,"maximum":0.021739130434782608,"of":0.021739130434782608,"3gb":0.021739130434782608,"for":0.021739130434782608,"4gb":0.021739130434782608,"machine":0.021739130434782608},"518":{"install":0.09090909090909091,"the":0.09090909090909091,"zookeeper":0.09090909090909091,"server":0.09090909090909091,"package":0.09090909090909091,"it":0.09090909090909091,"can":0.09090909090909091,"be":0.09090909090909091,"downloaded":0.09090909090909091,"from":0.09090909090909091,"releases":0.09090909090909091},"519":{"create":0.0625,"a":0.0625,"configuration":0.0625,"file":0.0625,"this":0.0625,"can":0.0625,"be":0.0625,"called":0.0625,"anything":0.0625,"use":0.0625,"the":0.0625,"following":0.0625,"settings":0.0625,"as":0.0625,"starting":0.0625,"point":0.0625},"520":{"0":0.012195121951219513,"3":0.012195121951219513,"6":0.012195121951219513,"you":0.012195121951219513,"can":0.012195121951219513,"find":0.012195121951219513,"the":0.012195121951219513,"meanings":0.012195121951219513,"of":0.012195121951219513,"these":0.012195121951219513,"and":0.012195121951219513,"other":0.012195121951219513,"configuration":0.012195121951219513,"settings":0.012195121951219513,"in":0.012195121951219513,"section":0.012195121951219513,"parameters":0.012195121951219513,"every":0.012195121951219513,"machine":0.012195121951219513,"that":0.012195121951219513,"is":0.012195121951219513,"part":0.012195121951219513,"zookeeper":0.012195121951219513,"ensemble":0.012195121951219513,"should":0.012195121951219513,"know":0.012195121951219513,"about":0.012195121951219513,"accomplish":0.012195121951219513,"this":0.012195121951219513,"with":0.012195121951219513,"series":0.012195121951219513,"lines":0.012195121951219513,"form":0.012195121951219513,"server":0.012195121951219513,"id":0.012195121951219513,"host":0.012195121951219513,"port":0.012195121951219513,"are":0.012195121951219513,"straightforward":0.012195121951219513,"for":0.012195121951219513,"each":0.012195121951219513,"need":0.012195121951219513,"to":0.012195121951219513,"specify":0.012195121951219513,"first":0.012195121951219513,"a":0.012195121951219513,"quorum":0.012195121951219513,"then":0.012195121951219513,"dedicated":0.012195121951219513,"leader":0.012195121951219513,"election":0.012195121951219513,"since":0.012195121951219513,"also":0.012195121951219513,"multiple":0.012195121951219513,"addresses":0.012195121951219513,"instance":0.012195121951219513,"increase":0.012195121951219513,"availability":0.012195121951219513,"when":0.012195121951219513,"physical":0.012195121951219513,"network":0.012195121951219513,"interfaces":0.012195121951219513,"be":0.012195121951219513,"used":0.012195121951219513,"parallel":0.012195121951219513,"cluster":0.012195121951219513,"attribute":0.012195121951219513,"by":0.012195121951219513,"creating":0.012195121951219513,"file":0.012195121951219513,"named":0.012195121951219513,"myid":0.012195121951219513,"one":0.012195121951219513,"which":0.012195121951219513,"resides":0.012195121951219513,"server's":0.012195121951219513,"data":0.012195121951219513,"directory":0.012195121951219513,"as":0.012195121951219513,"specified":0.012195121951219513,"parameter":0.012195121951219513,"datadir":0.012195121951219513},"521":{"1":0.02040816326530612,"254":0.02040816326530612,"255":0.02040816326530612,"the":0.02040816326530612,"myid":0.02040816326530612,"file":0.02040816326530612,"consists":0.02040816326530612,"of":0.02040816326530612,"a":0.02040816326530612,"single":0.02040816326530612,"line":0.02040816326530612,"containing":0.02040816326530612,"only":0.02040816326530612,"text":0.02040816326530612,"that":0.02040816326530612,"machine's":0.02040816326530612,"id":0.02040816326530612,"so":0.02040816326530612,"server":0.02040816326530612,"would":0.02040816326530612,"contain":0.02040816326530612,"and":0.02040816326530612,"nothing":0.02040816326530612,"else":0.02040816326530612,"must":0.02040816326530612,"be":0.02040816326530612,"unique":0.02040816326530612,"within":0.02040816326530612,"ensemble":0.02040816326530612,"should":0.02040816326530612,"have":0.02040816326530612,"value":0.02040816326530612,"between":0.02040816326530612,"important":0.02040816326530612,"if":0.02040816326530612,"you":0.02040816326530612,"enable":0.02040816326530612,"extended":0.02040816326530612,"features":0.02040816326530612,"such":0.02040816326530612,"as":0.02040816326530612,"ttl":0.02040816326530612,"nodes":0.02040816326530612,"see":0.02040816326530612,"below":0.02040816326530612,"due":0.02040816326530612,"to":0.02040816326530612,"internal":0.02040816326530612,"limitations":0.02040816326530612},"522":{"create":0.020833333333333332,"an":0.020833333333333332,"initialization":0.020833333333333332,"marker":0.020833333333333332,"file":0.020833333333333332,"initialize":0.020833333333333332,"in":0.020833333333333332,"the":0.020833333333333332,"same":0.020833333333333332,"directory":0.020833333333333332,"as":0.020833333333333332,"myid":0.020833333333333332,"this":0.020833333333333332,"indicates":0.020833333333333332,"that":0.020833333333333332,"empty":0.020833333333333332,"data":0.020833333333333332,"is":0.020833333333333332,"expected":0.020833333333333332,"when":0.020833333333333332,"present":0.020833333333333332,"database":0.020833333333333332,"created":0.020833333333333332,"and":0.020833333333333332,"deleted":0.020833333333333332,"not":0.020833333333333332,"will":0.020833333333333332,"mean":0.020833333333333332,"peer":0.020833333333333332,"have":0.020833333333333332,"voting":0.020833333333333332,"rights":0.020833333333333332,"it":0.020833333333333332,"populate":0.020833333333333332,"until":0.020833333333333332,"communicates":0.020833333333333332,"with":0.020833333333333332,"active":0.020833333333333332,"leader":0.020833333333333332,"intended":0.020833333333333332,"use":0.020833333333333332,"to":0.020833333333333332,"only":0.020833333333333332,"bringing":0.020833333333333332,"up":0.020833333333333332,"a":0.020833333333333332,"new":0.020833333333333332,"ensemble":0.020833333333333332},"523":{"if":0.07692307692307693,"your":0.07692307692307693,"configuration":0.07692307692307693,"file":0.07692307692307693,"is":0.07692307692307693,"set":0.07692307692307693,"up":0.07692307692307693,"you":0.07692307692307693,"can":0.07692307692307693,"start":0.07692307692307693,"a":0.07692307692307693,"zookeeper":0.07692307692307693,"server":0.07692307692307693},"524":{"quorumpeermain":0.02702702702702703,"starts":0.02702702702702703,"a":0.02702702702702703,"zookeeper":0.02702702702702703,"server":0.02702702702702703,"jmx":0.02702702702702703,"management":0.02702702702702703,"beans":0.02702702702702703,"are":0.02702702702702703,"also":0.02702702702702703,"registered":0.02702702702702703,"which":0.02702702702702703,"allows":0.02702702702702703,"through":0.02702702702702703,"console":0.02702702702702703,"the":0.02702702702702703,"document":0.02702702702702703,"contains":0.02702702702702703,"details":0.02702702702702703,"on":0.02702702702702703,"managing":0.02702702702702703,"with":0.02702702702702703,"see":0.02702702702702703,"script":0.02702702702702703,"bin":0.02702702702702703,"zkserver":0.02702702702702703,"sh":0.02702702702702703,"is":0.02702702702702703,"included":0.02702702702702703,"in":0.02702702702702703,"release":0.02702702702702703,"for":0.02702702702702703,"an":0.02702702702702703,"example":0.02702702702702703,"of":0.02702702702702703,"starting":0.02702702702702703,"instances":0.02702702702702703},"525":{"test":0.05555555555555555,"your":0.05555555555555555,"deployment":0.05555555555555555,"by":0.05555555555555555,"connecting":0.05555555555555555,"to":0.05555555555555555,"the":0.05555555555555555,"hosts":0.05555555555555555,"in":0.05555555555555555,"java":0.05555555555555555,"you":0.05555555555555555,"can":0.05555555555555555,"run":0.05555555555555555,"following":0.05555555555555555,"command":0.05555555555555555,"execute":0.05555555555555555,"simple":0.05555555555555555,"operations":0.05555555555555555},"526":{"if":0.03225806451612903,"you":0.03225806451612903,"want":0.03225806451612903,"to":0.03225806451612903,"set":0.03225806451612903,"up":0.03225806451612903,"zookeeper":0.03225806451612903,"for":0.03225806451612903,"development":0.03225806451612903,"purposes":0.03225806451612903,"will":0.03225806451612903,"probably":0.03225806451612903,"a":0.03225806451612903,"single":0.03225806451612903,"server":0.03225806451612903,"instance":0.03225806451612903,"of":0.03225806451612903,"and":0.03225806451612903,"then":0.03225806451612903,"install":0.03225806451612903,"either":0.03225806451612903,"the":0.03225806451612903,"java":0.03225806451612903,"or":0.03225806451612903,"c":0.03225806451612903,"client-side":0.03225806451612903,"libraries":0.03225806451612903,"bindings":0.03225806451612903,"on":0.03225806451612903,"your":0.03225806451612903,"machine":0.03225806451612903},"527":{"the":0.030303030303030304,"steps":0.030303030303030304,"to":0.030303030303030304,"setting":0.030303030303030304,"up":0.030303030303030304,"a":0.030303030303030304,"single":0.030303030303030304,"server":0.030303030303030304,"instance":0.030303030303030304,"are":0.030303030303030304,"similar":0.030303030303030304,"above":0.030303030303030304,"except":0.030303030303030304,"configuration":0.030303030303030304,"file":0.030303030303030304,"is":0.030303030303030304,"simpler":0.030303030303030304,"you":0.030303030303030304,"can":0.030303030303030304,"find":0.030303030303030304,"complete":0.030303030303030304,"instructions":0.030303030303030304,"in":0.030303030303030304,"installing":0.030303030303030304,"and":0.030303030303030304,"running":0.030303030303030304,"zookeeper":0.030303030303030304,"mode":0.030303030303030304,"section":0.030303030303030304,"of":0.030303030303030304,"getting":0.030303030303030304,"started":0.030303030303030304,"guide":0.030303030303030304},"528":{"for":0.0625,"information":0.0625,"on":0.0625,"installing":0.0625,"the":0.0625,"client":0.0625,"side":0.0625,"libraries":0.0625,"refer":0.0625,"to":0.0625,"bindings":0.0625,"section":0.0625,"of":0.0625,"zookeeper":0.0625,"programmer's":0.0625,"guide":0.0625},"529":{"the":0.1111111111111111,"reliability":0.1111111111111111,"of":0.1111111111111111,"zookeeper":0.1111111111111111,"rests":0.1111111111111111,"on":0.1111111111111111,"two":0.1111111111111111,"basic":0.1111111111111111,"assumptions":0.1111111111111111},"530":{"only":0.038461538461538464,"a":0.038461538461538464,"minority":0.038461538461538464,"of":0.038461538461538464,"servers":0.038461538461538464,"in":0.038461538461538464,"deployment":0.038461538461538464,"will":0.038461538461538464,"fail":0.038461538461538464,"failure":0.038461538461538464,"this":0.038461538461538464,"context":0.038461538461538464,"means":0.038461538461538464,"machine":0.038461538461538464,"crash":0.038461538461538464,"or":0.038461538461538464,"some":0.038461538461538464,"error":0.038461538461538464,"the":0.038461538461538464,"network":0.038461538461538464,"that":0.038461538461538464,"partitions":0.038461538461538464,"server":0.038461538461538464,"off":0.038461538461538464,"from":0.038461538461538464,"majority":0.038461538461538464},"531":{"deployed":0.05263157894736842,"machines":0.05263157894736842,"operate":0.05263157894736842,"correctly":0.05263157894736842,"to":0.05263157894736842,"means":0.05263157894736842,"execute":0.05263157894736842,"code":0.05263157894736842,"have":0.05263157894736842,"clocks":0.05263157894736842,"that":0.05263157894736842,"work":0.05263157894736842,"properly":0.05263157894736842,"and":0.05263157894736842,"storage":0.05263157894736842,"network":0.05263157894736842,"components":0.05263157894736842,"perform":0.05263157894736842,"consistently":0.05263157894736842},"532":{"the":0.03225806451612903,"sections":0.03225806451612903,"below":0.03225806451612903,"contain":0.03225806451612903,"considerations":0.03225806451612903,"for":0.03225806451612903,"zookeeper":0.03225806451612903,"administrators":0.03225806451612903,"to":0.03225806451612903,"maximize":0.03225806451612903,"probability":0.03225806451612903,"these":0.03225806451612903,"assumptions":0.03225806451612903,"hold":0.03225806451612903,"true":0.03225806451612903,"some":0.03225806451612903,"of":0.03225806451612903,"are":0.03225806451612903,"cross-machines":0.03225806451612903,"and":0.03225806451612903,"others":0.03225806451612903,"things":0.03225806451612903,"you":0.03225806451612903,"should":0.03225806451612903,"consider":0.03225806451612903,"each":0.03225806451612903,"every":0.03225806451612903,"machine":0.03225806451612903,"in":0.03225806451612903,"your":0.03225806451612903,"deployment":0.03225806451612903},"533":{"2":0.02564102564102564,"for":0.02564102564102564,"the":0.02564102564102564,"zookeeper":0.02564102564102564,"service":0.02564102564102564,"to":0.02564102564102564,"be":0.02564102564102564,"active":0.02564102564102564,"there":0.02564102564102564,"must":0.02564102564102564,"a":0.02564102564102564,"majority":0.02564102564102564,"of":0.02564102564102564,"non-failing":0.02564102564102564,"machines":0.02564102564102564,"that":0.02564102564102564,"can":0.02564102564102564,"communicate":0.02564102564102564,"with":0.02564102564102564,"each":0.02564102564102564,"other":0.02564102564102564,"ensemble":0.02564102564102564,"n":0.02564102564102564,"servers":0.02564102564102564,"if":0.02564102564102564,"is":0.02564102564102564,"odd":0.02564102564102564,"able":0.02564102564102564,"tolerate":0.02564102564102564,"up":0.02564102564102564,"server":0.02564102564102564,"failures":0.02564102564102564,"without":0.02564102564102564,"losing":0.02564102564102564,"any":0.02564102564102564,"znode":0.02564102564102564,"data":0.02564102564102564,"even":0.02564102564102564,"2-1":0.02564102564102564},"534":{"1":0.030303030303030304,"2":0.030303030303030304,"3":0.030303030303030304,"5":0.030303030303030304,"6":0.030303030303030304,"for":0.030303030303030304,"example":0.030303030303030304,"if":0.030303030303030304,"we":0.030303030303030304,"have":0.030303030303030304,"a":0.030303030303030304,"zookeeper":0.030303030303030304,"ensemble":0.030303030303030304,"with":0.030303030303030304,"servers":0.030303030303030304,"the":0.030303030303030304,"is":0.030303030303030304,"able":0.030303030303030304,"to":0.030303030303030304,"tolerate":0.030303030303030304,"up":0.030303030303030304,"server":0.030303030303030304,"failures":0.030303030303030304,"also":0.030303030303030304,"2-1":0.030303030303030304,"without":0.030303030303030304,"losing":0.030303030303030304,"data":0.030303030303030304,"and":0.030303030303030304,"prevent":0.030303030303030304,"brain":0.030303030303030304,"split":0.030303030303030304,"issue":0.030303030303030304},"535":{"2":0.02702702702702703,"zookeeper":0.02702702702702703,"ensemble":0.02702702702702703,"is":0.02702702702702703,"usually":0.02702702702702703,"has":0.02702702702702703,"odd":0.02702702702702703,"number":0.02702702702702703,"of":0.02702702702702703,"servers":0.02702702702702703,"this":0.02702702702702703,"because":0.02702702702702703,"with":0.02702702702702703,"the":0.02702702702702703,"even":0.02702702702702703,"capacity":0.02702702702702703,"failure":0.02702702702702703,"tolerance":0.02702702702702703,"same":0.02702702702702703,"as":0.02702702702702703,"one":0.02702702702702703,"less":0.02702702702702703,"server":0.02702702702702703,"failures":0.02702702702702703,"for":0.02702702702702703,"both":0.02702702702702703,"5-node":0.02702702702702703,"and":0.02702702702702703,"6-node":0.02702702702702703,"but":0.02702702702702703,"to":0.02702702702702703,"maintain":0.02702702702702703,"extra":0.02702702702702703,"connections":0.02702702702702703,"data":0.02702702702702703,"transfers":0.02702702702702703,"more":0.02702702702702703},"536":{"to":0.025,"achieve":0.025,"the":0.025,"highest":0.025,"probability":0.025,"of":0.025,"tolerating":0.025,"a":0.025,"failure":0.025,"you":0.025,"should":0.025,"try":0.025,"make":0.025,"machine":0.025,"failures":0.025,"independent":0.025,"for":0.025,"example":0.025,"if":0.025,"most":0.025,"machines":0.025,"share":0.025,"same":0.025,"switch":0.025,"that":0.025,"could":0.025,"cause":0.025,"correlated":0.025,"and":0.025,"bring":0.025,"down":0.025,"service":0.025,"holds":0.025,"true":0.025,"shared":0.025,"power":0.025,"circuits":0.025,"cooling":0.025,"systems":0.025,"etc":0.025},"537":{"if":0.014084507042253521,"zookeeper":0.014084507042253521,"has":0.014084507042253521,"to":0.014084507042253521,"contend":0.014084507042253521,"with":0.014084507042253521,"other":0.014084507042253521,"applications":0.014084507042253521,"for":0.014084507042253521,"access":0.014084507042253521,"resources":0.014084507042253521,"like":0.014084507042253521,"storage":0.014084507042253521,"media":0.014084507042253521,"cpu":0.014084507042253521,"network":0.014084507042253521,"or":0.014084507042253521,"memory":0.014084507042253521,"its":0.014084507042253521,"performance":0.014084507042253521,"will":0.014084507042253521,"suffer":0.014084507042253521,"markedly":0.014084507042253521,"strong":0.014084507042253521,"durability":0.014084507042253521,"guarantees":0.014084507042253521,"which":0.014084507042253521,"means":0.014084507042253521,"it":0.014084507042253521,"uses":0.014084507042253521,"log":0.014084507042253521,"changes":0.014084507042253521,"before":0.014084507042253521,"the":0.014084507042253521,"operation":0.014084507042253521,"responsible":0.014084507042253521,"change":0.014084507042253521,"is":0.014084507042253521,"allowed":0.014084507042253521,"complete":0.014084507042253521,"you":0.014084507042253521,"should":0.014084507042253521,"be":0.014084507042253521,"aware":0.014084507042253521,"of":0.014084507042253521,"this":0.014084507042253521,"dependency":0.014084507042253521,"then":0.014084507042253521,"and":0.014084507042253521,"take":0.014084507042253521,"great":0.014084507042253521,"care":0.014084507042253521,"want":0.014084507042253521,"ensure":0.014084507042253521,"that":0.014084507042253521,"operations":0.014084507042253521,"aren":0.014084507042253521,"t":0.014084507042253521,"held":0.014084507042253521,"up":0.014084507042253521,"by":0.014084507042253521,"your":0.014084507042253521,"here":0.014084507042253521,"are":0.014084507042253521,"some":0.014084507042253521,"things":0.014084507042253521,"can":0.014084507042253521,"do":0.014084507042253521,"minimize":0.014084507042253521,"sort":0.014084507042253521,"degradation":0.014084507042253521},"538":{"zookeeper's":0.029411764705882353,"transaction":0.029411764705882353,"log":0.029411764705882353,"must":0.029411764705882353,"be":0.029411764705882353,"on":0.029411764705882353,"a":0.029411764705882353,"dedicated":0.029411764705882353,"device":0.029411764705882353,"partition":0.029411764705882353,"is":0.029411764705882353,"not":0.029411764705882353,"enough":0.029411764705882353,"zookeeper":0.029411764705882353,"writes":0.029411764705882353,"the":0.029411764705882353,"sequentially":0.029411764705882353,"without":0.029411764705882353,"seeking":0.029411764705882353,"sharing":0.029411764705882353,"your":0.029411764705882353,"with":0.029411764705882353,"other":0.029411764705882353,"processes":0.029411764705882353,"can":0.029411764705882353,"cause":0.029411764705882353,"seeks":0.029411764705882353,"and":0.029411764705882353,"contention":0.029411764705882353,"which":0.029411764705882353,"in":0.029411764705882353,"turn":0.029411764705882353,"multi-second":0.029411764705882353,"delays":0.029411764705882353},"539":{"do":0.02040816326530612,"not":0.02040816326530612,"put":0.02040816326530612,"zookeeper":0.02040816326530612,"in":0.02040816326530612,"a":0.02040816326530612,"situation":0.02040816326530612,"that":0.02040816326530612,"can":0.02040816326530612,"cause":0.02040816326530612,"swap":0.02040816326530612,"order":0.02040816326530612,"for":0.02040816326530612,"to":0.02040816326530612,"function":0.02040816326530612,"with":0.02040816326530612,"any":0.02040816326530612,"sort":0.02040816326530612,"of":0.02040816326530612,"timeliness":0.02040816326530612,"it":0.02040816326530612,"simply":0.02040816326530612,"cannot":0.02040816326530612,"be":0.02040816326530612,"allowed":0.02040816326530612,"therefore":0.02040816326530612,"make":0.02040816326530612,"certain":0.02040816326530612,"the":0.02040816326530612,"maximum":0.02040816326530612,"heap":0.02040816326530612,"size":0.02040816326530612,"given":0.02040816326530612,"is":0.02040816326530612,"bigger":0.02040816326530612,"than":0.02040816326530612,"amount":0.02040816326530612,"real":0.02040816326530612,"memory":0.02040816326530612,"available":0.02040816326530612,"more":0.02040816326530612,"on":0.02040816326530612,"this":0.02040816326530612,"see":0.02040816326530612,"things":0.02040816326530612,"avoid":0.02040816326530612,"best":0.02040816326530612,"practices":0.02040816326530612,"guide":0.02040816326530612},"540":{"administrator's":0.5,"guide":0.5},"541":{"this":0.03333333333333333,"document":0.03333333333333333,"is":0.03333333333333333,"a":0.03333333333333333,"guide":0.03333333333333333,"for":0.03333333333333333,"operators":0.03333333333333333,"deploying":0.03333333333333333,"and":0.03333333333333333,"managing":0.03333333333333333,"zookeeper":0.03333333333333333,"in":0.03333333333333333,"production":0.03333333333333333,"environments":0.03333333333333333,"it":0.03333333333333333,"covers":0.03333333333333333,"the":0.03333333333333333,"full":0.03333333333333333,"lifecycle":0.03333333333333333,"of":0.03333333333333333,"running":0.03333333333333333,"ensemble":0.03333333333333333,"hardware":0.03333333333333333,"software":0.03333333333333333,"requirements":0.03333333333333333,"configuration":0.03333333333333333,"day-to-day":0.03333333333333333,"administration":0.03333333333333333,"monitoring":0.03333333333333333,"troubleshooting":0.03333333333333333},"542":{"cli":1},"543":{"reference":0.0625,"guide":0.0625,"for":0.0625,"all":0.0625,"zkcli":0.0625,"sh":0.0625,"commands":0.0625,"with":0.0625,"examples":0.0625,"showing":0.0625,"command":0.0625,"syntax":0.0625,"options":0.0625,"and":0.0625,"expected":0.0625,"output":0.0625},"544":{"connecting":1},"545":{"help":1},"546":{"addauth":1},"547":{"close":1},"548":{"config":1},"549":{"connect":1},"550":{"create":1},"551":{"delete":1},"552":{"deleteall":1},"553":{"delquota":1},"554":{"get":1},"555":{"getacl":1},"556":{"getallchildrennumber":1},"557":{"getephemerals":1},"558":{"history":1},"559":{"listquota":1},"560":{"ls":1},"561":{"printwatches":1},"562":{"quit":1},"563":{"reconfig":1},"564":{"redo":1},"565":{"removewatches":1},"566":{"set":1},"567":{"setacl":1},"568":{"setquota":1},"569":{"stat":1},"570":{"sync":1},"571":{"version":1},"572":{"whoami":1},"573":{"show":0.2,"all":0.2,"available":0.2,"zookeeper":0.2,"commands":0.2},"574":{"add":0.14285714285714285,"an":0.14285714285714285,"authorized":0.14285714285714285,"user":0.14285714285714285,"for":0.14285714285714285,"acl":0.14285714285714285,"authentication":0.14285714285714285},"575":{"close":0.2,"the":0.2,"current":0.2,"client":0.2,"session":0.2},"576":{"show":0.16666666666666666,"the":0.16666666666666666,"current":0.16666666666666666,"quorum":0.16666666666666666,"membership":0.16666666666666666,"configuration":0.16666666666666666},"577":{"connect":0.2,"to":0.2,"a":0.2,"zookeeper":0.2,"server":0.2},"578":{"create":0.3333333333333333,"a":0.3333333333333333,"znode":0.3333333333333333},"579":{"create":0.14285714285714285,"a":0.14285714285714285,"node":0.14285714285714285,"with":0.14285714285714285,"an":0.14285714285714285,"acl":0.14285714285714285,"schema":0.14285714285714285},"580":{"create":0.09090909090909091,"a":0.09090909090909091,"container":0.09090909090909091,"node":0.09090909090909091,"automatically":0.09090909090909091,"deleted":0.09090909090909091,"when":0.09090909090909091,"its":0.09090909090909091,"last":0.09090909090909091,"child":0.09090909090909091,"is":0.09090909090909091},"581":{"create":0.08333333333333333,"a":0.08333333333333333,"ttl":0.08333333333333333,"node":0.08333333333333333,"requires":0.08333333333333333,"zookeeper":0.08333333333333333,"extendedtypesenabled":0.08333333333333333,"true":0.08333333333333333,"otherwise":0.08333333333333333,"returns":0.08333333333333333,"keepererrorcode":0.08333333333333333,"unimplemented":0.08333333333333333},"582":{"delete":0.14285714285714285,"a":0.14285714285714285,"node":0.14285714285714285,"at":0.14285714285714285,"the":0.14285714285714285,"specified":0.14285714285714285,"path":0.14285714285714285},"583":{"delete":0.125,"a":0.125,"node":0.125,"and":0.125,"all":0.125,"of":0.125,"its":0.125,"descendants":0.125},"584":{"delete":0.16666666666666666,"the":0.16666666666666666,"quota":0.16666666666666666,"on":0.16666666666666666,"a":0.16666666666666666,"path":0.16666666666666666},"585":{"get":0.14285714285714285,"the":0.14285714285714285,"data":0.14285714285714285,"stored":0.14285714285714285,"at":0.14285714285714285,"a":0.14285714285714285,"path":0.14285714285714285},"586":{"get":0.14285714285714285,"the":0.14285714285714285,"acl":0.14285714285714285,"permissions":0.14285714285714285,"for":0.14285714285714285,"a":0.14285714285714285,"path":0.14285714285714285},"587":{"get":0.1,"the":0.1,"total":0.1,"number":0.1,"of":0.1,"descendant":0.1,"nodes":0.1,"under":0.1,"a":0.1,"path":0.1},"588":{"get":0.1111111111111111,"all":0.1111111111111111,"ephemeral":0.1111111111111111,"nodes":0.1111111111111111,"created":0.1111111111111111,"by":0.1111111111111111,"the":0.1111111111111111,"current":0.1111111111111111,"session":0.1111111111111111},"589":{"11":0.1,"show":0.1,"the":0.1,"most":0.1,"recent":0.1,"commands":0.1,"executed":0.1,"in":0.1,"this":0.1,"session":0.1},"590":{"list":0.14285714285714285,"the":0.14285714285714285,"quota":0.14285714285714285,"configured":0.14285714285714285,"for":0.14285714285714285,"a":0.14285714285714285,"path":0.14285714285714285},"591":{"list":0.14285714285714285,"the":0.14285714285714285,"child":0.14285714285714285,"nodes":0.14285714285714285,"of":0.14285714285714285,"a":0.14285714285714285,"path":0.14285714285714285},"592":{"toggle":0.1111111111111111,"whether":0.1111111111111111,"watch":0.1111111111111111,"events":0.1111111111111111,"are":0.1111111111111111,"printed":0.1111111111111111,"to":0.1111111111111111,"the":0.1111111111111111,"console":0.1111111111111111},"593":{"quit":0.3333333333333333,"the":0.3333333333333333,"cli":0.3333333333333333},"594":{"change":0.05555555555555555,"ensemble":0.05555555555555555,"membership":0.05555555555555555,"at":0.05555555555555555,"runtime":0.05555555555555555,"before":0.05555555555555555,"using":0.05555555555555555,"this":0.05555555555555555,"command":0.05555555555555555,"read":0.05555555555555555,"the":0.05555555555555555,"details":0.05555555555555555,"in":0.05555555555555555,"dynamic":0.05555555555555555,"reconfiguration":0.05555555555555555,"especially":0.05555555555555555,"security":0.05555555555555555,"section":0.05555555555555555},"595":{"prerequisites":1},"596":{"set":0.16666666666666666,"reconfigenabled":0.16666666666666666,"true":0.16666666666666666,"in":0.16666666666666666,"zoo":0.16666666666666666,"cfg":0.16666666666666666},"597":{"add":0.05263157894736842,"a":0.05263157894736842,"super":0.05263157894736842,"user":0.05263157894736842,"or":0.05263157894736842,"set":0.05263157894736842,"skipacl":0.05263157894736842,"otherwise":0.05263157894736842,"you":0.05263157894736842,"will":0.05263157894736842,"get":0.05263157894736842,"insufficient":0.05263157894736842,"permission":0.05263157894736842,"for":0.05263157894736842,"example":0.05263157894736842,"addauth":0.05263157894736842,"digest":0.05263157894736842,"zookeeper":0.05263157894736842,"admin":0.05263157894736842},"598":{"re-execute":0.125,"a":0.125,"command":0.125,"from":0.125,"history":0.125,"by":0.125,"its":0.125,"index":0.125},"599":{"remove":0.2,"watches":0.2,"from":0.2,"a":0.2,"node":0.2},"600":{"set":0.125,"or":0.125,"update":0.125,"the":0.125,"data":0.125,"at":0.125,"a":0.125,"path":0.125},"601":{"set":0.16666666666666666,"acl":0.16666666666666666,"permissions":0.16666666666666666,"on":0.16666666666666666,"a":0.16666666666666666,"node":0.16666666666666666},"602":{"use":0.1,"-r":0.1,"to":0.1,"set":0.1,"acl":0.1,"recursively":0.1,"on":0.1,"all":0.1,"child":0.1,"nodes":0.1},"603":{"use":0.07692307692307693,"-v":0.07692307692307693,"to":0.07692307692307693,"set":0.07692307692307693,"acl":0.07692307692307693,"with":0.07692307692307693,"optimistic":0.07692307692307693,"locking":0.07692307692307693,"version":0.07692307692307693,"from":0.07692307692307693,"aclversion":0.07692307692307693,"in":0.07692307692307693,"stat":0.07692307692307693},"604":{"set":0.047619047619047616,"a":0.047619047619047616,"quota":0.047619047619047616,"on":0.047619047619047616,"path":0.047619047619047616,"soft":0.047619047619047616,"limits":0.047619047619047616,"-n":0.047619047619047616,"-b":0.047619047619047616,"log":0.047619047619047616,"warning":0.047619047619047616,"but":0.047619047619047616,"do":0.047619047619047616,"not":0.047619047619047616,"block":0.047619047619047616,"operations":0.047619047619047616,"hard":0.047619047619047616,"reject":0.047619047619047616,"that":0.047619047619047616,"exceed":0.047619047619047616,"the":0.047619047619047616},"605":{"show":0.14285714285714285,"the":0.14285714285714285,"metadata":0.14285714285714285,"stat":0.14285714285714285,"of":0.14285714285714285,"a":0.14285714285714285,"node":0.14285714285714285},"606":{"sync":0.09090909090909091,"the":0.09090909090909091,"data":0.09090909090909091,"of":0.09090909090909091,"a":0.09090909090909091,"node":0.09090909090909091,"between":0.09090909090909091,"leader":0.09090909090909091,"and":0.09090909090909091,"followers":0.09090909090909091,"asynchronous":0.09090909090909091},"607":{"show":0.2,"the":0.2,"zookeeper":0.2,"cli":0.2,"version":0.2},"608":{"show":0.125,"all":0.125,"authentication":0.125,"information":0.125,"for":0.125,"the":0.125,"current":0.125,"session":0.125},"609":{"dynamic":0.5,"reconfiguration":0.5},"610":{"0":0.037037037037037035,"3":0.037037037037037035,"5":0.037037037037037035,"how":0.037037037037037035,"to":0.037037037037037035,"use":0.037037037037037035,"zookeeper's":0.037037037037037035,"dynamic":0.037037037037037035,"reconfiguration":0.037037037037037035,"support":0.037037037037037035,"available":0.037037037037037035,"since":0.037037037037037035,"change":0.037037037037037035,"ensemble":0.037037037037037035,"membership":0.037037037037037035,"server":0.037037037037037035,"roles":0.037037037037037035,"ports":0.037037037037037035,"and":0.037037037037037035,"the":0.037037037037037035,"quorum":0.037037037037037035,"system":0.037037037037037035,"at":0.037037037037037035,"runtime":0.037037037037037035,"without":0.037037037037037035,"service":0.037037037037037035,"interruption":0.037037037037037035},"611":{"changes":0.25,"to":0.25,"configuration":0.25,"format":0.25},"612":{"specifying":0.25,"the":0.25,"client":0.25,"port":0.25},"613":{"specifying":0.25,"multiple":0.25,"server":0.25,"addresses":0.25},"614":{"the":0.3333333333333333,"standaloneenabled":0.3333333333333333,"flag":0.3333333333333333},"615":{"the":0.3333333333333333,"reconfigenabled":0.3333333333333333,"flag":0.3333333333333333},"616":{"dynamic":0.3333333333333333,"configuration":0.3333333333333333,"file":0.3333333333333333},"617":{"1":0.5,"example":0.5},"618":{"2":0.5,"example":0.5},"619":{"backward":0.5,"compatibility":0.5},"620":{"0":0.2,"3":0.2,"5":0.2,"upgrading":0.2,"to":0.2},"621":{"dynamic":0.16666666666666666,"reconfiguration":0.16666666666666666,"of":0.16666666666666666,"the":0.16666666666666666,"zookeeper":0.16666666666666666,"ensemble":0.16666666666666666},"622":{"api":1},"623":{"security":1},"624":{"retrieving":0.2,"the":0.2,"current":0.2,"dynamic":0.2,"configuration":0.2},"625":{"modifying":0.2,"the":0.2,"current":0.2,"dynamic":0.2,"configuration":0.2},"626":{"general":1},"627":{"incremental":0.5,"mode":0.5},"628":{"non-incremental":0.5,"mode":0.5},"629":{"conditional":0.5,"reconfig":0.5},"630":{"error":0.5,"conditions":0.5},"631":{"additional":0.5,"comments":0.5},"632":{"rebalancing":0.3333333333333333,"client":0.3333333333333333,"connections":0.3333333333333333},"633":{"0":0.024390243902439025,"3":0.024390243902439025,"5":0.024390243902439025,"prior":0.024390243902439025,"to":0.024390243902439025,"the":0.024390243902439025,"release":0.024390243902439025,"membership":0.024390243902439025,"and":0.024390243902439025,"all":0.024390243902439025,"other":0.024390243902439025,"configuration":0.024390243902439025,"parameters":0.024390243902439025,"of":0.024390243902439025,"zookeeper":0.024390243902439025,"were":0.024390243902439025,"static":0.024390243902439025,"loaded":0.024390243902439025,"during":0.024390243902439025,"boot":0.024390243902439025,"immutable":0.024390243902439025,"at":0.024390243902439025,"runtime":0.024390243902439025,"operators":0.024390243902439025,"resorted":0.024390243902439025,"rolling":0.024390243902439025,"restarts":0.024390243902439025,"a":0.024390243902439025,"manually":0.024390243902439025,"intensive":0.024390243902439025,"error-prone":0.024390243902439025,"method":0.024390243902439025,"changing":0.024390243902439025,"that":0.024390243902439025,"has":0.024390243902439025,"caused":0.024390243902439025,"data":0.024390243902439025,"loss":0.024390243902439025,"inconsistency":0.024390243902439025,"in":0.024390243902439025,"production":0.024390243902439025},"634":{"0":0.01282051282051282,"3":0.01282051282051282,"5":0.01282051282051282,"starting":0.01282051282051282,"with":0.01282051282051282,"rolling":0.01282051282051282,"restarts":0.01282051282051282,"are":0.01282051282051282,"no":0.01282051282051282,"longer":0.01282051282051282,"needed":0.01282051282051282,"zookeeper":0.01282051282051282,"comes":0.01282051282051282,"full":0.01282051282051282,"support":0.01282051282051282,"for":0.01282051282051282,"automated":0.01282051282051282,"configuration":0.01282051282051282,"changes":0.01282051282051282,"the":0.01282051282051282,"set":0.01282051282051282,"of":0.01282051282051282,"servers":0.01282051282051282,"their":0.01282051282051282,"roles":0.01282051282051282,"participant":0.01282051282051282,"observer":0.01282051282051282,"all":0.01282051282051282,"ports":0.01282051282051282,"and":0.01282051282051282,"even":0.01282051282051282,"quorum":0.01282051282051282,"system":0.01282051282051282,"can":0.01282051282051282,"be":0.01282051282051282,"changed":0.01282051282051282,"dynamically":0.01282051282051282,"without":0.01282051282051282,"service":0.01282051282051282,"interruption":0.01282051282051282,"while":0.01282051282051282,"maintaining":0.01282051282051282,"data":0.01282051282051282,"consistency":0.01282051282051282,"reconfigurations":0.01282051282051282,"performed":0.01282051282051282,"immediately":0.01282051282051282,"just":0.01282051282051282,"like":0.01282051282051282,"other":0.01282051282051282,"operations":0.01282051282051282,"in":0.01282051282051282,"multiple":0.01282051282051282,"done":0.01282051282051282,"using":0.01282051282051282,"a":0.01282051282051282,"single":0.01282051282051282,"reconfiguration":0.01282051282051282,"command":0.01282051282051282,"dynamic":0.01282051282051282,"functionality":0.01282051282051282,"does":0.01282051282051282,"not":0.01282051282051282,"limit":0.01282051282051282,"operation":0.01282051282051282,"concurrency":0.01282051282051282,"require":0.01282051282051282,"client":0.01282051282051282,"to":0.01282051282051282,"stopped":0.01282051282051282,"during":0.01282051282051282,"has":0.01282051282051282,"very":0.01282051282051282,"simple":0.01282051282051282,"interface":0.01282051282051282,"administrators":0.01282051282051282,"adds":0.01282051282051282,"complexity":0.01282051282051282},"635":{"new":0.024390243902439025,"client-side":0.024390243902439025,"features":0.024390243902439025,"allow":0.024390243902439025,"clients":0.024390243902439025,"to":0.024390243902439025,"find":0.024390243902439025,"out":0.024390243902439025,"about":0.024390243902439025,"configuration":0.024390243902439025,"changes":0.024390243902439025,"and":0.024390243902439025,"update":0.024390243902439025,"the":0.024390243902439025,"connection":0.024390243902439025,"string":0.024390243902439025,"list":0.024390243902439025,"of":0.024390243902439025,"servers":0.024390243902439025,"their":0.024390243902439025,"client":0.024390243902439025,"ports":0.024390243902439025,"stored":0.024390243902439025,"in":0.024390243902439025,"zookeeper":0.024390243902439025,"handle":0.024390243902439025,"a":0.024390243902439025,"probabilistic":0.024390243902439025,"algorithm":0.024390243902439025,"is":0.024390243902439025,"used":0.024390243902439025,"rebalance":0.024390243902439025,"across":0.024390243902439025,"while":0.024390243902439025,"keeping":0.024390243902439025,"extent":0.024390243902439025,"migrations":0.024390243902439025,"proportional":0.024390243902439025,"change":0.024390243902439025,"ensemble":0.024390243902439025,"membership":0.024390243902439025},"636":{"this":0.05555555555555555,"document":0.05555555555555555,"provides":0.05555555555555555,"the":0.05555555555555555,"administrator":0.05555555555555555,"manual":0.05555555555555555,"for":0.05555555555555555,"reconfiguration":0.05555555555555555,"a":0.05555555555555555,"detailed":0.05555555555555555,"description":0.05555555555555555,"of":0.05555555555555555,"algorithms":0.05555555555555555,"performance":0.05555555555555555,"measurements":0.05555555555555555,"and":0.05555555555555555,"more":0.05555555555555555,"see":0.05555555555555555},"637":{"425":0.03333333333333333,"437":0.03333333333333333,"2012":0.03333333333333333,"shraer":0.03333333333333333,"a":0.03333333333333333,"reed":0.03333333333333333,"b":0.03333333333333333,"malkhi":0.03333333333333333,"d":0.03333333333333333,"junqueira":0.03333333333333333,"f":0.03333333333333333,"dynamic":0.03333333333333333,"reconfiguration":0.03333333333333333,"of":0.03333333333333333,"primary":0.03333333333333333,"backup":0.03333333333333333,"clusters":0.03333333333333333,"in":0.03333333333333333,"usenix":0.03333333333333333,"annual":0.03333333333333333,"technical":0.03333333333333333,"conference":0.03333333333333333,"atc":0.03333333333333333,"links":0.03333333333333333,"paper":0.03333333333333333,"pdf":0.03333333333333333,"slides":0.03333333333333333,"video":0.03333333333333333,"hadoop":0.03333333333333333,"summit":0.03333333333333333},"638":{"type":0.5,"warn":0.5},"639":{"3":0.045454545454545456,"5":0.045454545454545456,"starting":0.045454545454545456,"with":0.045454545454545456,"the":0.045454545454545456,"dynamic":0.045454545454545456,"reconfiguration":0.045454545454545456,"feature":0.045454545454545456,"is":0.045454545454545456,"disabled":0.045454545454545456,"by":0.045454545454545456,"default":0.045454545454545456,"and":0.045454545454545456,"must":0.045454545454545456,"be":0.045454545454545456,"explicitly":0.045454545454545456,"turned":0.045454545454545456,"on":0.045454545454545456,"via":0.045454545454545456,"reconfigenabled":0.045454545454545456,"configuration":0.045454545454545456,"option":0.045454545454545456},"640":{"a":0.06666666666666667,"client":0.06666666666666667,"port":0.06666666666666667,"is":0.06666666666666667,"the":0.06666666666666667,"on":0.06666666666666667,"which":0.06666666666666667,"server":0.06666666666666667,"accepts":0.06666666666666667,"plaintext":0.06666666666666667,"non-tls":0.06666666666666667,"connection":0.06666666666666667,"requests":0.06666666666666667,"secure":0.06666666666666667,"tls":0.06666666666666667},"641":{"0":0.05263157894736842,"3":0.05263157894736842,"5":0.05263157894736842,"starting":0.05263157894736842,"with":0.05263157894736842,"the":0.05263157894736842,"clientport":0.05263157894736842,"and":0.05263157894736842,"clientportaddress":0.05263157894736842,"configuration":0.05263157894736842,"parameters":0.05263157894736842,"should":0.05263157894736842,"no":0.05263157894736842,"longer":0.05263157894736842,"be":0.05263157894736842,"used":0.05263157894736842,"in":0.05263157894736842,"zoo":0.05263157894736842,"cfg":0.05263157894736842},"642":{"0":0.05263157894736842,"3":0.05263157894736842,"10":0.05263157894736842,"starting":0.05263157894736842,"with":0.05263157894736842,"the":0.05263157894736842,"secureclientport":0.05263157894736842,"and":0.05263157894736842,"secureclientportaddress":0.05263157894736842,"configuration":0.05263157894736842,"parameters":0.05263157894736842,"should":0.05263157894736842,"no":0.05263157894736842,"longer":0.05263157894736842,"be":0.05263157894736842,"used":0.05263157894736842,"in":0.05263157894736842,"zoo":0.05263157894736842,"cfg":0.05263157894736842},"643":{"instead":0.09090909090909091,"this":0.09090909090909091,"information":0.09090909090909091,"is":0.09090909090909091,"now":0.09090909090909091,"part":0.09090909090909091,"of":0.09090909090909091,"the":0.09090909090909091,"server":0.09090909090909091,"keyword":0.09090909090909091,"specification":0.09090909090909091},"644":{"0":0.01818181818181818,"3":0.01818181818181818,"10":0.01818181818181818,"new":0.01818181818181818,"in":0.01818181818181818,"zk":0.01818181818181818,"the":0.01818181818181818,"client":0.01818181818181818,"port":0.01818181818181818,"specification":0.01818181818181818,"is":0.01818181818181818,"optional":0.01818181818181818,"and":0.01818181818181818,"to":0.01818181818181818,"right":0.01818181818181818,"of":0.01818181818181818,"first":0.01818181818181818,"semicolon":0.01818181818181818,"secure":0.01818181818181818,"also":0.01818181818181818,"second":0.01818181818181818,"however":0.01818181818181818,"both":0.01818181818181818,"cannot":0.01818181818181818,"be":0.01818181818181818,"omitted":0.01818181818181818,"at":0.01818181818181818,"least":0.01818181818181818,"one":0.01818181818181818,"them":0.01818181818181818,"must":0.01818181818181818,"present":0.01818181818181818,"if":0.01818181818181818,"user":0.01818181818181818,"intends":0.01818181818181818,"omit":0.01818181818181818,"provide":0.01818181818181818,"only":0.01818181818181818,"tls-only":0.01818181818181818,"server":0.01818181818181818,"a":0.01818181818181818,"should":0.01818181818181818,"still":0.01818181818181818,"specified":0.01818181818181818,"indicate":0.01818181818181818,"an":0.01818181818181818,"empty":0.01818181818181818,"see":0.01818181818181818,"last":0.01818181818181818,"example":0.01818181818181818,"below":0.01818181818181818,"either":0.01818181818181818,"spec":0.01818181818181818,"address":0.01818181818181818,"defaults":0.01818181818181818},"645":{"role":0.08333333333333333,"is":0.08333333333333333,"also":0.08333333333333333,"optional":0.08333333333333333,"it":0.08333333333333333,"can":0.08333333333333333,"be":0.08333333333333333,"participant":0.08333333333333333,"or":0.08333333333333333,"observer":0.08333333333333333,"by":0.08333333333333333,"default":0.08333333333333333},"646":{"examples":0.2,"of":0.2,"legal":0.2,"server":0.2,"statements":0.2},"647":{"0":0.0196078431372549,"3":0.0196078431372549,"6":0.0196078431372549,"since":0.0196078431372549,"zookeeper":0.0196078431372549,"it":0.0196078431372549,"is":0.0196078431372549,"possible":0.0196078431372549,"to":0.0196078431372549,"specify":0.0196078431372549,"multiple":0.0196078431372549,"addresses":0.0196078431372549,"for":0.0196078431372549,"each":0.0196078431372549,"server":0.0196078431372549,"see":0.0196078431372549,"zookeeper-3188":0.0196078431372549,"this":0.0196078431372549,"helps":0.0196078431372549,"increase":0.0196078431372549,"availability":0.0196078431372549,"and":0.0196078431372549,"adds":0.0196078431372549,"network-level":0.0196078431372549,"resiliency":0.0196078431372549,"when":0.0196078431372549,"physical":0.0196078431372549,"network":0.0196078431372549,"interfaces":0.0196078431372549,"are":0.0196078431372549,"used":0.0196078431372549,"the":0.0196078431372549,"servers":0.0196078431372549,"able":0.0196078431372549,"bind":0.0196078431372549,"on":0.0196078431372549,"all":0.0196078431372549,"switch":0.0196078431372549,"a":0.0196078431372549,"working":0.0196078431372549,"interface":0.0196078431372549,"at":0.0196078431372549,"runtime":0.0196078431372549,"in":0.0196078431372549,"case":0.0196078431372549,"of":0.0196078431372549,"error":0.0196078431372549,"separated":0.0196078431372549,"by":0.0196078431372549,"pipe":0.0196078431372549,"character":0.0196078431372549},"648":{"examples":0.14285714285714285,"of":0.14285714285714285,"valid":0.14285714285714285,"configurations":0.14285714285714285,"using":0.14285714285714285,"multiple":0.14285714285714285,"addresses":0.14285714285714285},"649":{"0":0.017543859649122806,"3":0.017543859649122806,"5":0.017543859649122806,"prior":0.017543859649122806,"to":0.017543859649122806,"one":0.017543859649122806,"could":0.017543859649122806,"run":0.017543859649122806,"zookeeper":0.017543859649122806,"in":0.017543859649122806,"standalone":0.017543859649122806,"mode":0.017543859649122806,"or":0.017543859649122806,"distributed":0.017543859649122806,"these":0.017543859649122806,"are":0.017543859649122806,"separate":0.017543859649122806,"implementation":0.017543859649122806,"stacks":0.017543859649122806,"and":0.017543859649122806,"switching":0.017543859649122806,"between":0.017543859649122806,"them":0.017543859649122806,"at":0.017543859649122806,"runtime":0.017543859649122806,"is":0.017543859649122806,"not":0.017543859649122806,"possible":0.017543859649122806,"by":0.017543859649122806,"default":0.017543859649122806,"for":0.017543859649122806,"backward":0.017543859649122806,"compatibility":0.017543859649122806,"standaloneenabled":0.017543859649122806,"set":0.017543859649122806,"true":0.017543859649122806,"the":0.017543859649122806,"consequence":0.017543859649122806,"that":0.017543859649122806,"if":0.017543859649122806,"started":0.017543859649122806,"with":0.017543859649122806,"a":0.017543859649122806,"single":0.017543859649122806,"server":0.017543859649122806,"ensemble":0.017543859649122806,"will":0.017543859649122806,"be":0.017543859649122806,"allowed":0.017543859649122806,"grow":0.017543859649122806,"more":0.017543859649122806,"than":0.017543859649122806,"it":0.017543859649122806,"shrink":0.017543859649122806,"below":0.017543859649122806,"two":0.017543859649122806,"participants":0.017543859649122806},"650":{"setting":0.03571428571428571,"the":0.03571428571428571,"flag":0.03571428571428571,"to":0.03571428571428571,"false":0.03571428571428571,"instructs":0.03571428571428571,"system":0.03571428571428571,"run":0.03571428571428571,"distributed":0.03571428571428571,"software":0.03571428571428571,"stack":0.03571428571428571,"even":0.03571428571428571,"if":0.03571428571428571,"there":0.03571428571428571,"is":0.03571428571428571,"only":0.03571428571428571,"a":0.03571428571428571,"single":0.03571428571428571,"participant":0.03571428571428571,"in":0.03571428571428571,"ensemble":0.03571428571428571,"achieve":0.03571428571428571,"this":0.03571428571428571,"static":0.03571428571428571,"configuration":0.03571428571428571,"file":0.03571428571428571,"should":0.03571428571428571,"contain":0.03571428571428571},"651":{"with":0.034482758620689655,"this":0.034482758620689655,"setting":0.034482758620689655,"it":0.034482758620689655,"is":0.034482758620689655,"possible":0.034482758620689655,"to":0.034482758620689655,"start":0.034482758620689655,"a":0.034482758620689655,"zookeeper":0.034482758620689655,"ensemble":0.034482758620689655,"containing":0.034482758620689655,"single":0.034482758620689655,"participant":0.034482758620689655,"and":0.034482758620689655,"dynamically":0.034482758620689655,"grow":0.034482758620689655,"by":0.034482758620689655,"adding":0.034482758620689655,"more":0.034482758620689655,"servers":0.034482758620689655,"similarly":0.034482758620689655,"shrink":0.034482758620689655,"an":0.034482758620689655,"so":0.034482758620689655,"that":0.034482758620689655,"just":0.034482758620689655,"remains":0.034482758620689655,"removing":0.034482758620689655},"652":{"since":0.045454545454545456,"running":0.045454545454545456,"the":0.045454545454545456,"distributed":0.045454545454545456,"mode":0.045454545454545456,"allows":0.045454545454545456,"more":0.045454545454545456,"flexibility":0.045454545454545456,"we":0.045454545454545456,"recommend":0.045454545454545456,"setting":0.045454545454545456,"flag":0.045454545454545456,"to":0.045454545454545456,"false":0.045454545454545456,"legacy":0.045454545454545456,"standalone":0.045454545454545456,"is":0.045454545454545456,"expected":0.045454545454545456,"be":0.045454545454545456,"deprecated":0.045454545454545456,"in":0.045454545454545456,"future":0.045454545454545456},"653":{"0":0.0196078431372549,"3":0.0196078431372549,"5":0.0196078431372549,"starting":0.0196078431372549,"with":0.0196078431372549,"and":0.0196078431372549,"prior":0.0196078431372549,"to":0.0196078431372549,"there":0.0196078431372549,"is":0.0196078431372549,"no":0.0196078431372549,"way":0.0196078431372549,"disable":0.0196078431372549,"dynamic":0.0196078431372549,"reconfiguration":0.0196078431372549,"address":0.0196078431372549,"the":0.0196078431372549,"security":0.0196078431372549,"concern":0.0196078431372549,"that":0.0196078431372549,"a":0.0196078431372549,"malicious":0.0196078431372549,"actor":0.0196078431372549,"could":0.0196078431372549,"make":0.0196078431372549,"arbitrary":0.0196078431372549,"changes":0.0196078431372549,"ensemble":0.0196078431372549,"configuration":0.0196078431372549,"reconfigenabled":0.0196078431372549,"option":0.0196078431372549,"was":0.0196078431372549,"introduced":0.0196078431372549,"in":0.0196078431372549,"any":0.0196078431372549,"attempt":0.0196078431372549,"reconfigure":0.0196078431372549,"cluster":0.0196078431372549,"through":0.0196078431372549,"reconfig":0.0196078431372549,"api":0.0196078431372549,"or":0.0196078431372549,"without":0.0196078431372549,"authentication":0.0196078431372549,"will":0.0196078431372549,"fail":0.0196078431372549,"by":0.0196078431372549,"default":0.0196078431372549,"unless":0.0196078431372549,"set":0.0196078431372549,"true":0.0196078431372549},"654":{"to":0.125,"enable":0.125,"reconfiguration":0.125,"add":0.125,"the":0.125,"following":0.125,"zoo":0.125,"cfg":0.125},"655":{"0":0.02857142857142857,"3":0.02857142857142857,"5":0.02857142857142857,"starting":0.02857142857142857,"with":0.02857142857142857,"zookeeper":0.02857142857142857,"distinguishes":0.02857142857142857,"between":0.02857142857142857,"dynamic":0.02857142857142857,"configuration":0.02857142857142857,"parameters":0.02857142857142857,"which":0.02857142857142857,"can":0.02857142857142857,"be":0.02857142857142857,"changed":0.02857142857142857,"during":0.02857142857142857,"runtime":0.02857142857142857,"and":0.02857142857142857,"static":0.02857142857142857,"are":0.02857142857142857,"read":0.02857142857142857,"from":0.02857142857142857,"a":0.02857142857142857,"file":0.02857142857142857,"at":0.02857142857142857,"boot":0.02857142857142857,"do":0.02857142857142857,"not":0.02857142857142857,"change":0.02857142857142857,"execution":0.02857142857142857,"the":0.02857142857142857,"keywords":0.02857142857142857,"server":0.02857142857142857,"group":0.02857142857142857,"weight":0.02857142857142857},"656":{"dynamic":0.05263157894736842,"configuration":0.05263157894736842,"parameters":0.05263157894736842,"are":0.05263157894736842,"stored":0.05263157894736842,"in":0.05263157894736842,"a":0.05263157894736842,"separate":0.05263157894736842,"file":0.05263157894736842,"on":0.05263157894736842,"the":0.05263157894736842,"server":0.05263157894736842,"linked":0.05263157894736842,"from":0.05263157894736842,"static":0.05263157894736842,"config":0.05263157894736842,"using":0.05263157894736842,"dynamicconfigfile":0.05263157894736842,"keyword":0.05263157894736842},"657":{"zoo_replicated1":0.5,"cfg":0.5},"658":{"zoo_replicated1":0.3333333333333333,"cfg":0.3333333333333333,"dynamic":0.3333333333333333},"659":{"when":0.014285714285714285,"the":0.014285714285714285,"ensemble":0.014285714285714285,"configuration":0.014285714285714285,"changes":0.014285714285714285,"static":0.014285714285714285,"parameters":0.014285714285714285,"remain":0.014285714285714285,"same":0.014285714285714285,"dynamic":0.014285714285714285,"are":0.014285714285714285,"pushed":0.014285714285714285,"by":0.014285714285714285,"zookeeper":0.014285714285714285,"and":0.014285714285714285,"overwrite":0.014285714285714285,"files":0.014285714285714285,"on":0.014285714285714285,"all":0.014285714285714285,"servers":0.014285714285714285,"thus":0.014285714285714285,"different":0.014285714285714285,"usually":0.014285714285714285,"identical":0.014285714285714285,"they":0.014285714285714285,"can":0.014285714285714285,"differ":0.014285714285714285,"momentarily":0.014285714285714285,"while":0.014285714285714285,"a":0.014285714285714285,"reconfiguration":0.014285714285714285,"is":0.014285714285714285,"in":0.014285714285714285,"progress":0.014285714285714285,"or":0.014285714285714285,"before":0.014285714285714285,"new":0.014285714285714285,"has":0.014285714285714285,"propagated":0.014285714285714285,"to":0.014285714285714285,"once":0.014285714285714285,"created":0.014285714285714285,"file":0.014285714285714285,"should":0.014285714285714285,"not":0.014285714285714285,"be":0.014285714285714285,"manually":0.014285714285714285,"altered":0.014285714285714285,"made":0.014285714285714285,"only":0.014285714285714285,"through":0.014285714285714285,"commands":0.014285714285714285,"described":0.014285714285714285,"below":0.014285714285714285,"changing":0.014285714285714285,"config":0.014285714285714285,"of":0.014285714285714285,"an":0.014285714285714285,"offline":0.014285714285714285,"cluster":0.014285714285714285,"could":0.014285714285714285,"result":0.014285714285714285,"inconsistency":0.014285714285714285,"with":0.014285714285714285,"information":0.014285714285714285,"stored":0.014285714285714285,"log":0.014285714285714285,"therefore":0.014285714285714285,"highly":0.014285714285714285,"discouraged":0.014285714285714285},"660":{"users":0.06666666666666667,"may":0.06666666666666667,"prefer":0.06666666666666667,"to":0.06666666666666667,"initially":0.06666666666666667,"specify":0.06666666666666667,"a":0.06666666666666667,"single":0.06666666666666667,"configuration":0.06666666666666667,"file":0.06666666666666667,"the":0.06666666666666667,"following":0.06666666666666667,"is":0.06666666666666667,"also":0.06666666666666667,"legal":0.06666666666666667},"661":{"zoo_replicated1":0.5,"cfg":0.5},"662":{"1":0.022222222222222223,"the":0.022222222222222223,"configuration":0.022222222222222223,"files":0.022222222222222223,"on":0.022222222222222223,"each":0.022222222222222223,"server":0.022222222222222223,"will":0.022222222222222223,"be":0.022222222222222223,"automatically":0.022222222222222223,"split":0.022222222222222223,"into":0.022222222222222223,"dynamic":0.022222222222222223,"and":0.022222222222222223,"static":0.022222222222222223,"if":0.022222222222222223,"they":0.022222222222222223,"are":0.022222222222222223,"not":0.022222222222222223,"already":0.022222222222222223,"in":0.022222222222222223,"this":0.022222222222222223,"format":0.022222222222222223,"above":0.022222222222222223,"transformed":0.022222222222222223,"two":0.022222222222222223,"example":0.022222222222222223,"note":0.022222222222222223,"that":0.022222222222222223,"clientport":0.022222222222222223,"clientportaddress":0.022222222222222223,"lines":0.022222222222222223,"specified":0.022222222222222223,"removed":0.022222222222222223,"during":0.022222222222222223,"process":0.022222222222222223,"redundant":0.022222222222222223,"as":0.022222222222222223,"original":0.022222222222222223,"file":0.022222222222222223,"is":0.022222222222222223,"backed":0.022222222222222223,"up":0.022222222222222223,"a":0.022222222222222223,"bak":0.022222222222222223},"663":{"the":0.06666666666666667,"old":0.06666666666666667,"configuration":0.06666666666666667,"format":0.06666666666666667,"is":0.06666666666666667,"still":0.06666666666666667,"supported":0.06666666666666667,"for":0.06666666666666667,"example":0.06666666666666667,"following":0.06666666666666667,"file":0.06666666666666667,"acceptable":0.06666666666666667,"but":0.06666666666666667,"not":0.06666666666666667,"recommended":0.06666666666666667},"664":{"zoo_replicated1":0.5,"cfg":0.5},"665":{"1":0.0196078431372549,"2791":0.0196078431372549,"during":0.0196078431372549,"boot":0.0196078431372549,"a":0.0196078431372549,"dynamic":0.0196078431372549,"configuration":0.0196078431372549,"file":0.0196078431372549,"is":0.0196078431372549,"created":0.0196078431372549,"containing":0.0196078431372549,"the":0.0196078431372549,"part":0.0196078431372549,"of":0.0196078431372549,"as":0.0196078431372549,"explained":0.0196078431372549,"earlier":0.0196078431372549,"in":0.0196078431372549,"this":0.0196078431372549,"case":0.0196078431372549,"however":0.0196078431372549,"line":0.0196078431372549,"clientport":0.0196078431372549,"will":0.0196078431372549,"remain":0.0196078431372549,"static":0.0196078431372549,"server":0.0196078431372549,"since":0.0196078431372549,"it":0.0196078431372549,"not":0.0196078431372549,"redundant":0.0196078431372549,"was":0.0196078431372549,"specified":0.0196078431372549,"using":0.0196078431372549,"format":0.0196078431372549,"described":0.0196078431372549,"changes":0.0196078431372549,"to":0.0196078431372549,"if":0.0196078431372549,"reconfiguration":0.0196078431372549,"invoked":0.0196078431372549,"that":0.0196078431372549,"sets":0.0196078431372549,"client":0.0196078431372549,"port":0.0196078431372549,"removed":0.0196078431372549,"from":0.0196078431372549,"then":0.0196078431372549,"contains":0.0196078431372549,"information":0.0196078431372549,"specification":0.0196078431372549},"666":{"0":0.020833333333333332,"3":0.020833333333333332,"4":0.020833333333333332,"5":0.020833333333333332,"6":0.020833333333333332,"upgrading":0.020833333333333332,"a":0.020833333333333332,"running":0.020833333333333332,"zookeeper":0.020833333333333332,"ensemble":0.020833333333333332,"to":0.020833333333333332,"should":0.020833333333333332,"be":0.020833333333333332,"done":0.020833333333333332,"only":0.020833333333333332,"after":0.020833333333333332,"the":0.020833333333333332,"release":0.020833333333333332,"this":0.020833333333333332,"is":0.020833333333333332,"necessary":0.020833333333333332,"for":0.020833333333333332,"rolling":0.020833333333333332,"upgrades":0.020833333333333332,"if":0.020833333333333332,"you":0.020833333333333332,"are":0.020833333333333332,"fine":0.020833333333333332,"with":0.020833333333333332,"shutting":0.020833333333333332,"down":0.020833333333333332,"system":0.020833333333333332,"completely":0.020833333333333332,"do":0.020833333333333332,"not":0.020833333333333332,"need":0.020833333333333332,"go":0.020833333333333332,"through":0.020833333333333332,"attempt":0.020833333333333332,"upgrade":0.020833333333333332,"without":0.020833333333333332,"going":0.020833333333333332,"example":0.020833333333333332,"from":0.020833333333333332,"may":0.020833333333333332,"get":0.020833333333333332,"following":0.020833333333333332,"error":0.020833333333333332},"667":{"0":0.018867924528301886,"3":0.018867924528301886,"5":0.018867924528301886,"during":0.018867924528301886,"a":0.018867924528301886,"rolling":0.018867924528301886,"upgrade":0.018867924528301886,"each":0.018867924528301886,"server":0.018867924528301886,"is":0.018867924528301886,"taken":0.018867924528301886,"down":0.018867924528301886,"in":0.018867924528301886,"turn":0.018867924528301886,"and":0.018867924528301886,"rebooted":0.018867924528301886,"with":0.018867924528301886,"the":0.018867924528301886,"new":0.018867924528301886,"binaries":0.018867924528301886,"before":0.018867924528301886,"starting":0.018867924528301886,"we":0.018867924528301886,"highly":0.018867924528301886,"recommend":0.018867924528301886,"updating":0.018867924528301886,"configuration":0.018867924528301886,"file":0.018867924528301886,"so":0.018867924528301886,"that":0.018867924528301886,"all":0.018867924528301886,"statements":0.018867924528301886,"x":0.018867924528301886,"contain":0.018867924528301886,"client":0.018867924528301886,"ports":0.018867924528301886,"see":0.018867924528301886,"specifying":0.018867924528301886,"port":0.018867924528301886,"you":0.018867924528301886,"may":0.018867924528301886,"leave":0.018867924528301886,"single":0.018867924528301886,"also":0.018867924528301886,"clientport":0.018867924528301886,"clientportaddress":0.018867924528301886,"although":0.018867924528301886,"if":0.018867924528301886,"specify":0.018867924528301886,"format":0.018867924528301886,"these":0.018867924528301886,"become":0.018867924528301886,"redundant":0.018867924528301886},"668":{"the":0.023809523809523808,"zookeeper":0.023809523809523808,"java":0.023809523809523808,"and":0.023809523809523808,"c":0.023809523809523808,"apis":0.023809523809523808,"were":0.023809523809523808,"extended":0.023809523809523808,"with":0.023809523809523808,"getconfig":0.023809523809523808,"reconfig":0.023809523809523808,"commands":0.023809523809523808,"that":0.023809523809523808,"facilitate":0.023809523809523808,"reconfiguration":0.023809523809523808,"both":0.023809523809523808,"have":0.023809523809523808,"a":0.023809523809523808,"synchronous":0.023809523809523808,"blocking":0.023809523809523808,"variant":0.023809523809523808,"an":0.023809523809523808,"asynchronous":0.023809523809523808,"one":0.023809523809523808,"examples":0.023809523809523808,"below":0.023809523809523808,"use":0.023809523809523808,"cli":0.023809523809523808,"but":0.023809523809523808,"you":0.023809523809523808,"can":0.023809523809523808,"similarly":0.023809523809523808,"or":0.023809523809523808,"invoke":0.023809523809523808,"directly":0.023809523809523808,"from":0.023809523809523808,"program":0.023809523809523808,"just":0.023809523809523808,"like":0.023809523809523808,"any":0.023809523809523808,"other":0.023809523809523808,"command":0.023809523809523808},"669":{"there":0.08333333333333333,"are":0.08333333333333333,"two":0.08333333333333333,"sets":0.08333333333333333,"of":0.08333333333333333,"apis":0.08333333333333333,"for":0.08333333333333333,"both":0.08333333333333333,"java":0.08333333333333333,"and":0.08333333333333333,"c":0.08333333333333333,"clients":0.08333333333333333},"670":{"3":0.029411764705882353,"5":0.029411764705882353,"reconfiguration":0.029411764705882353,"api":0.029411764705882353,"used":0.029411764705882353,"to":0.029411764705882353,"reconfigure":0.029411764705882353,"the":0.029411764705882353,"zookeeper":0.029411764705882353,"cluster":0.029411764705882353,"starting":0.029411764705882353,"with":0.029411764705882353,"java":0.029411764705882353,"apis":0.029411764705882353,"are":0.029411764705882353,"moved":0.029411764705882353,"into":0.029411764705882353,"zookeeperadmin":0.029411764705882353,"class":0.029411764705882353,"from":0.029411764705882353,"use":0.029411764705882353,"of":0.029411764705882353,"this":0.029411764705882353,"requires":0.029411764705882353,"acl":0.029411764705882353,"setup":0.029411764705882353,"and":0.029411764705882353,"user":0.029411764705882353,"authentication":0.029411764705882353,"see":0.029411764705882353,"security":0.029411764705882353,"for":0.029411764705882353,"more":0.029411764705882353,"information":0.029411764705882353},"671":{"get":0.03333333333333333,"configuration":0.03333333333333333,"api":0.03333333333333333,"used":0.03333333333333333,"to":0.03333333333333333,"retrieve":0.03333333333333333,"zookeeper":0.03333333333333333,"cluster":0.03333333333333333,"information":0.03333333333333333,"stored":0.03333333333333333,"in":0.03333333333333333,"the":0.03333333333333333,"config":0.03333333333333333,"znode":0.03333333333333333,"use":0.03333333333333333,"of":0.03333333333333333,"this":0.03333333333333333,"does":0.03333333333333333,"not":0.03333333333333333,"require":0.03333333333333333,"specific":0.03333333333333333,"setup":0.03333333333333333,"or":0.03333333333333333,"authentication":0.03333333333333333,"because":0.03333333333333333,"is":0.03333333333333333,"readable":0.03333333333333333,"by":0.03333333333333333,"any":0.03333333333333333,"user":0.03333333333333333},"672":{"3":0.022727272727272728,"5":0.022727272727272728,"prior":0.022727272727272728,"to":0.022727272727272728,"there":0.022727272727272728,"is":0.022727272727272728,"no":0.022727272727272728,"enforced":0.022727272727272728,"security":0.022727272727272728,"mechanism":0.022727272727272728,"over":0.022727272727272728,"reconfig":0.022727272727272728,"so":0.022727272727272728,"any":0.022727272727272728,"zookeeper":0.022727272727272728,"client":0.022727272727272728,"that":0.022727272727272728,"can":0.022727272727272728,"connect":0.022727272727272728,"the":0.022727272727272728,"ensemble":0.022727272727272728,"has":0.022727272727272728,"ability":0.022727272727272728,"change":0.022727272727272728,"its":0.022727272727272728,"state":0.022727272727272728,"via":0.022727272727272728,"it":0.022727272727272728,"thus":0.022727272727272728,"possible":0.022727272727272728,"for":0.022727272727272728,"a":0.022727272727272728,"malicious":0.022727272727272728,"add":0.022727272727272728,"compromised":0.022727272727272728,"server":0.022727272727272728,"an":0.022727272727272728,"or":0.022727272727272728,"remove":0.022727272727272728,"legitimate":0.022727272727272728,"servers":0.022727272727272728,"which":0.022727272727272728,"be":0.022727272727272728,"vulnerability":0.022727272727272728},"673":{"3":0.027777777777777776,"5":0.027777777777777776,"starting":0.027777777777777776,"from":0.027777777777777776,"access":0.027777777777777776,"control":0.027777777777777776,"over":0.027777777777777776,"reconfig":0.027777777777777776,"is":0.027777777777777776,"enforced":0.027777777777777776,"only":0.027777777777777776,"a":0.027777777777777776,"specific":0.027777777777777776,"set":0.027777777777777776,"of":0.027777777777777776,"explicitly":0.027777777777777776,"configured":0.027777777777777776,"users":0.027777777777777776,"can":0.027777777777777776,"use":0.027777777777777776,"commands":0.027777777777777776,"or":0.027777777777777776,"apis":0.027777777777777776,"and":0.027777777777777776,"the":0.027777777777777776,"zookeeper":0.027777777777777776,"cluster":0.027777777777777776,"must":0.027777777777777776,"have":0.027777777777777776,"authentication":0.027777777777777776,"enabled":0.027777777777777776,"so":0.027777777777777776,"that":0.027777777777777776,"clients":0.027777777777777776,"be":0.027777777777777776,"authenticated":0.027777777777777776},"674":{"an":0.023809523809523808,"escape":0.023809523809523808,"hatch":0.023809523809523808,"is":0.023809523809523808,"provided":0.023809523809523808,"for":0.023809523809523808,"users":0.023809523809523808,"operating":0.023809523809523808,"in":0.023809523809523808,"a":0.023809523809523808,"secured":0.023809523809523808,"environment":0.023809523809523808,"e":0.023809523809523808,"g":0.023809523809523808,"behind":0.023809523809523808,"company":0.023809523809523808,"firewall":0.023809523809523808,"who":0.023809523809523808,"want":0.023809523809523808,"to":0.023809523809523808,"use":0.023809523809523808,"reconfiguration":0.023809523809523808,"without":0.023809523809523808,"the":0.023809523809523808,"overhead":0.023809523809523808,"of":0.023809523809523808,"configuring":0.023809523809523808,"explicit":0.023809523809523808,"authorized":0.023809523809523808,"user":0.023809523809523808,"list":0.023809523809523808,"setting":0.023809523809523808,"skipacl":0.023809523809523808,"yes":0.023809523809523808,"skips":0.023809523809523808,"acl":0.023809523809523808,"checks":0.023809523809523808,"and":0.023809523809523808,"allows":0.023809523809523808,"any":0.023809523809523808,"reconfigure":0.023809523809523808,"cluster":0.023809523809523808},"675":{"access":0.015873015873015872,"control":0.015873015873015872,"the":0.015873015873015872,"dynamic":0.015873015873015872,"configuration":0.015873015873015872,"is":0.015873015873015872,"stored":0.015873015873015872,"in":0.015873015873015872,"special":0.015873015873015872,"znode":0.015873015873015872,"zoodefs":0.015873015873015872,"config_node":0.015873015873015872,"zookeeper":0.015873015873015872,"config":0.015873015873015872,"this":0.015873015873015872,"node":0.015873015873015872,"read-only":0.015873015873015872,"for":0.015873015873015872,"all":0.015873015873015872,"users":0.015873015873015872,"by":0.015873015873015872,"default":0.015873015873015872,"except":0.015873015873015872,"super":0.015873015873015872,"user":0.015873015873015872,"and":0.015873015873015872,"explicitly":0.015873015873015872,"configured":0.015873015873015872,"write":0.015873015873015872,"clients":0.015873015873015872,"that":0.015873015873015872,"need":0.015873015873015872,"to":0.015873015873015872,"use":0.015873015873015872,"reconfig":0.015873015873015872,"commands":0.015873015873015872,"or":0.015873015873015872,"api":0.015873015873015872,"must":0.015873015873015872,"be":0.015873015873015872,"with":0.015873015873015872,"additional":0.015873015873015872,"can":0.015873015873015872,"granted":0.015873015873015872,"through":0.015873015873015872,"superuser":0.015873015873015872,"setting":0.015873015873015872,"an":0.015873015873015872,"acl":0.015873015873015872,"permission":0.015873015873015872,"examples":0.015873015873015872,"of":0.015873015873015872,"how":0.015873015873015872,"set":0.015873015873015872,"up":0.015873015873015872,"acls":0.015873015873015872,"reconfiguration":0.015873015873015872,"authentication":0.015873015873015872,"found":0.015873015873015872,"reconfigexceptiontest":0.015873015873015872,"java":0.015873015873015872,"testreconfigserver":0.015873015873015872,"cc":0.015873015873015872},"676":{"authentication":0.058823529411764705,"is":0.058823529411764705,"orthogonal":0.058823529411764705,"to":0.058823529411764705,"access":0.058823529411764705,"control":0.058823529411764705,"and":0.058823529411764705,"delegated":0.058823529411764705,"zookeeper's":0.058823529411764705,"pluggable":0.058823529411764705,"schemes":0.058823529411764705,"see":0.058823529411764705,"zookeeper":0.058823529411764705,"sasl":0.058823529411764705,"for":0.058823529411764705,"more":0.058823529411764705,"details":0.058823529411764705},"677":{"disable":0.03571428571428571,"acl":0.03571428571428571,"check":0.03571428571428571,"zookeeper":0.03571428571428571,"supports":0.03571428571428571,"the":0.03571428571428571,"skipacl":0.03571428571428571,"option":0.03571428571428571,"such":0.03571428571428571,"that":0.03571428571428571,"checks":0.03571428571428571,"are":0.03571428571428571,"completely":0.03571428571428571,"skipped":0.03571428571428571,"when":0.03571428571428571,"is":0.03571428571428571,"set":0.03571428571428571,"to":0.03571428571428571,"yes":0.03571428571428571,"in":0.03571428571428571,"cases":0.03571428571428571,"any":0.03571428571428571,"unauthenticated":0.03571428571428571,"user":0.03571428571428571,"can":0.03571428571428571,"use":0.03571428571428571,"reconfig":0.03571428571428571,"api":0.03571428571428571},"678":{"the":0.02857142857142857,"dynamic":0.02857142857142857,"configuration":0.02857142857142857,"is":0.02857142857142857,"stored":0.02857142857142857,"in":0.02857142857142857,"a":0.02857142857142857,"special":0.02857142857142857,"znode":0.02857142857142857,"zoodefs":0.02857142857142857,"config_node":0.02857142857142857,"zookeeper":0.02857142857142857,"config":0.02857142857142857,"cli":0.02857142857142857,"command":0.02857142857142857,"reads":0.02857142857142857,"this":0.02857142857142857,"it":0.02857142857142857,"essentially":0.02857142857142857,"wrapper":0.02857142857142857,"around":0.02857142857142857,"get":0.02857142857142857,"as":0.02857142857142857,"with":0.02857142857142857,"normal":0.02857142857142857,"to":0.02857142857142857,"retrieve":0.02857142857142857,"latest":0.02857142857142857,"committed":0.02857142857142857,"value":0.02857142857142857,"you":0.02857142857142857,"should":0.02857142857142857,"do":0.02857142857142857,"sync":0.02857142857142857,"first":0.02857142857142857},"679":{"notice":0.02040816326530612,"the":0.02040816326530612,"last":0.02040816326530612,"line":0.02040816326530612,"of":0.02040816326530612,"output":0.02040816326530612,"this":0.02040816326530612,"is":0.02040816326530612,"configuration":0.02040816326530612,"version":0.02040816326530612,"equals":0.02040816326530612,"zxid":0.02040816326530612,"reconfiguration":0.02040816326530612,"command":0.02040816326530612,"that":0.02040816326530612,"created":0.02040816326530612,"first":0.02040816326530612,"established":0.02040816326530612,"newleader":0.02040816326530612,"message":0.02040816326530612,"sent":0.02040816326530612,"by":0.02040816326530612,"successfully":0.02040816326530612,"leader":0.02040816326530612,"when":0.02040816326530612,"a":0.02040816326530612,"written":0.02040816326530612,"to":0.02040816326530612,"dynamic":0.02040816326530612,"file":0.02040816326530612,"automatically":0.02040816326530612,"becomes":0.02040816326530612,"part":0.02040816326530612,"filename":0.02040816326530612,"and":0.02040816326530612,"static":0.02040816326530612,"updated":0.02040816326530612,"with":0.02040816326530612,"path":0.02040816326530612,"new":0.02040816326530612,"files":0.02040816326530612,"corresponding":0.02040816326530612,"earlier":0.02040816326530612,"versions":0.02040816326530612,"are":0.02040816326530612,"retained":0.02040816326530612,"for":0.02040816326530612,"backup":0.02040816326530612,"purposes":0.02040816326530612},"680":{"during":0.030303030303030304,"boot":0.030303030303030304,"the":0.030303030303030304,"version":0.030303030303030304,"if":0.030303030303030304,"it":0.030303030303030304,"exists":0.030303030303030304,"is":0.030303030303030304,"extracted":0.030303030303030304,"from":0.030303030303030304,"filename":0.030303030303030304,"should":0.030303030303030304,"never":0.030303030303030304,"be":0.030303030303030304,"manually":0.030303030303030304,"altered":0.030303030303030304,"used":0.030303030303030304,"by":0.030303030303030304,"system":0.030303030303030304,"to":0.030303030303030304,"determine":0.030303030303030304,"which":0.030303030303030304,"configuration":0.030303030303030304,"most":0.030303030303030304,"up-to-date":0.030303030303030304,"and":0.030303030303030304,"manipulating":0.030303030303030304,"can":0.030303030303030304,"result":0.030303030303030304,"in":0.030303030303030304,"data":0.030303030303030304,"loss":0.030303030303030304,"inconsistency":0.030303030303030304},"681":{"like":0.030303030303030304,"the":0.030303030303030304,"get":0.030303030303030304,"command":0.030303030303030304,"config":0.030303030303030304,"cli":0.030303030303030304,"accepts":0.030303030303030304,"-w":0.030303030303030304,"flag":0.030303030303030304,"for":0.030303030303030304,"setting":0.030303030303030304,"a":0.030303030303030304,"watch":0.030303030303030304,"on":0.030303030303030304,"znode":0.030303030303030304,"and":0.030303030303030304,"-s":0.030303030303030304,"displaying":0.030303030303030304,"its":0.030303030303030304,"stats":0.030303030303030304,"it":0.030303030303030304,"additionally":0.030303030303030304,"-c":0.030303030303030304,"that":0.030303030303030304,"outputs":0.030303030303030304,"only":0.030303030303030304,"version":0.030303030303030304,"client":0.030303030303030304,"connection":0.030303030303030304,"string":0.030303030303030304,"current":0.030303030303030304,"configuration":0.030303030303030304,"example":0.030303030303030304},"682":{"note":0.08333333333333333,"that":0.08333333333333333,"when":0.08333333333333333,"using":0.08333333333333333,"the":0.08333333333333333,"api":0.08333333333333333,"directly":0.08333333333333333,"this":0.08333333333333333,"command":0.08333333333333333,"is":0.08333333333333333,"called":0.08333333333333333,"getconfig":0.08333333333333333},"683":{"as":0.034482758620689655,"any":0.034482758620689655,"read":0.034482758620689655,"command":0.034482758620689655,"it":0.034482758620689655,"returns":0.034482758620689655,"the":0.034482758620689655,"configuration":0.034482758620689655,"known":0.034482758620689655,"to":0.034482758620689655,"follower":0.034482758620689655,"your":0.034482758620689655,"client":0.034482758620689655,"is":0.034482758620689655,"connected":0.034482758620689655,"which":0.034482758620689655,"may":0.034482758620689655,"be":0.034482758620689655,"slightly":0.034482758620689655,"out-of-date":0.034482758620689655,"use":0.034482758620689655,"sync":0.034482758620689655,"for":0.034482758620689655,"stronger":0.034482758620689655,"guarantees":0.034482758620689655,"example":0.034482758620689655,"using":0.034482758620689655,"java":0.034482758620689655,"api":0.034482758620689655},"684":{"0":0.02631578947368421,"3":0.02631578947368421,"5":0.02631578947368421,"note":0.02631578947368421,"in":0.02631578947368421,"it":0.02631578947368421,"doesn't":0.02631578947368421,"matter":0.02631578947368421,"which":0.02631578947368421,"path":0.02631578947368421,"is":0.02631578947368421,"passed":0.02631578947368421,"to":0.02631578947368421,"sync":0.02631578947368421,"since":0.02631578947368421,"all":0.02631578947368421,"server":0.02631578947368421,"state":0.02631578947368421,"brought":0.02631578947368421,"up":0.02631578947368421,"date":0.02631578947368421,"with":0.02631578947368421,"the":0.02631578947368421,"leader":0.02631578947368421,"a":0.02631578947368421,"different":0.02631578947368421,"could":0.02631578947368421,"be":0.02631578947368421,"used":0.02631578947368421,"instead":0.02631578947368421,"of":0.02631578947368421,"zoodefs":0.02631578947368421,"config_node":0.02631578947368421,"however":0.02631578947368421,"this":0.02631578947368421,"may":0.02631578947368421,"change":0.02631578947368421,"future":0.02631578947368421},"685":{"configuration":0.041666666666666664,"is":0.041666666666666664,"modified":0.041666666666666664,"through":0.041666666666666664,"the":0.041666666666666664,"reconfig":0.041666666666666664,"command":0.041666666666666664,"there":0.041666666666666664,"are":0.041666666666666664,"two":0.041666666666666664,"modes":0.041666666666666664,"incremental":0.041666666666666664,"and":0.041666666666666664,"non-incremental":0.041666666666666664,"bulk":0.041666666666666664,"mode":0.041666666666666664,"specifies":0.041666666666666664,"complete":0.041666666666666664,"new":0.041666666666666664,"dynamic":0.041666666666666664,"changes":0.041666666666666664,"to":0.041666666666666664,"current":0.041666666666666664,"returns":0.041666666666666664},"686":{"a":0.07692307692307693,"few":0.07692307692307693,"examples":0.07692307692307693,"can":0.07692307692307693,"be":0.07692307692307693,"found":0.07692307692307693,"in":0.07692307692307693,"reconfigtest":0.07692307692307693,"java":0.07692307692307693,"reconfigrecoverytest":0.07692307692307693,"and":0.07692307692307693,"testreconfigserver":0.07692307692307693,"cc":0.07692307692307693},"687":{"6":0.01,"8":0.01,"removing":0.01,"servers":0.01,"any":0.01,"server":0.01,"can":0.01,"be":0.01,"removed":0.01,"including":0.01,"the":0.01,"leader":0.01,"although":0.01,"will":0.01,"result":0.01,"in":0.01,"a":0.01,"short":0.01,"unavailability":0.01,"see":0.01,"figures":0.01,"and":0.01,"paper":0.01,"not":0.01,"shut":0.01,"down":0.01,"automatically":0.01,"instead":0.01,"it":0.01,"becomes":0.01,"non-voting":0.01,"follower":0.01,"similar":0.01,"to":0.01,"an":0.01,"observer":0.01,"that":0.01,"its":0.01,"votes":0.01,"don't":0.01,"count":0.01,"towards":0.01,"quorum":0.01,"but":0.01,"unlike":0.01,"still":0.01,"sees":0.01,"operation":0.01,"proposals":0.01,"acks":0.01,"them":0.01,"thus":0.01,"has":0.01,"more":0.01,"significant":0.01,"negative":0.01,"effect":0.01,"on":0.01,"throughput":0.01,"compared":0.01,"mode":0.01,"should":0.01,"only":0.01,"used":0.01,"temporarily":0.01,"before":0.01,"shutting":0.01,"or":0.01,"adding":0.01,"back":0.01,"as":0.01,"are":0.01,"for":0.01,"two":0.01,"main":0.01,"reasons":0.01,"first":0.01,"avoid":0.01,"immediately":0.01,"disconnecting":0.01,"all":0.01,"connected":0.01,"clients":0.01,"causing":0.01,"flood":0.01,"of":0.01,"reconnection":0.01,"requests":0.01,"other":0.01,"second":0.01,"because":0.01,"may":0.01,"sometimes":0.01,"necessary":0.01,"step":0.01,"change":0.01,"from":0.01,"participant":0.01,"additional":0.01,"comments":0.01},"688":{"1":0.022727272727272728,"2":0.022727272727272728,"note":0.022727272727272728,"that":0.022727272727272728,"the":0.022727272727272728,"new":0.022727272727272728,"configuration":0.022727272727272728,"must":0.022727272727272728,"have":0.022727272727272728,"some":0.022727272727272728,"minimum":0.022727272727272728,"number":0.022727272727272728,"of":0.022727272727272728,"participants":0.022727272727272728,"to":0.022727272727272728,"be":0.022727272727272728,"considered":0.022727272727272728,"legal":0.022727272727272728,"if":0.022727272727272728,"proposed":0.022727272727272728,"change":0.022727272727272728,"would":0.022727272727272728,"leave":0.022727272727272728,"fewer":0.022727272727272728,"than":0.022727272727272728,"and":0.022727272727272728,"standalone":0.022727272727272728,"mode":0.022727272727272728,"is":0.022727272727272728,"enabled":0.022727272727272728,"standaloneenabled":0.022727272727272728,"true":0.022727272727272728,"see":0.022727272727272728,"flag":0.022727272727272728,"reconfig":0.022727272727272728,"will":0.022727272727272728,"not":0.022727272727272728,"processed":0.022727272727272728,"badargumentsexception":0.022727272727272728,"disabled":0.022727272727272728,"false":0.022727272727272728,"then":0.022727272727272728,"or":0.022727272727272728,"more":0.022727272727272728},"689":{"adding":0.016666666666666666,"servers":0.016666666666666666,"before":0.016666666666666666,"invoking":0.016666666666666666,"a":0.016666666666666666,"reconfiguration":0.016666666666666666,"the":0.016666666666666666,"administrator":0.016666666666666666,"must":0.016666666666666666,"ensure":0.016666666666666666,"that":0.016666666666666666,"quorum":0.016666666666666666,"majority":0.016666666666666666,"of":0.016666666666666666,"participants":0.016666666666666666,"from":0.016666666666666666,"new":0.016666666666666666,"configuration":0.016666666666666666,"are":0.016666666666666666,"already":0.016666666666666666,"connected":0.016666666666666666,"and":0.016666666666666666,"synced":0.016666666666666666,"with":0.016666666666666666,"current":0.016666666666666666,"leader":0.016666666666666666,"to":0.016666666666666666,"achieve":0.016666666666666666,"this":0.016666666666666666,"joining":0.016666666666666666,"server":0.016666666666666666,"be":0.016666666666666666,"it":0.016666666666666666,"officially":0.016666666666666666,"becomes":0.016666666666666666,"part":0.016666666666666666,"ensemble":0.016666666666666666,"is":0.016666666666666666,"done":0.016666666666666666,"by":0.016666666666666666,"starting":0.016666666666666666,"an":0.016666666666666666,"initial":0.016666666666666666,"list":0.016666666666666666,"not":0.016666666666666666,"legal":0.016666666666666666,"but":0.016666666666666666,"contains":0.016666666666666666,"joiner":0.016666666666666666,"b":0.016666666666666666,"gives":0.016666666666666666,"enough":0.016666666666666666,"information":0.016666666666666666,"find":0.016666666666666666,"connect":0.016666666666666666,"few":0.016666666666666666,"safe":0.016666666666666666,"options":0.016666666666666666,"for":0.016666666666666666,"doing":0.016666666666666666},"690":{"the":0.012987012987012988,"initial":0.012987012987012988,"configuration":0.012987012987012988,"of":0.012987012987012988,"joiners":0.012987012987012988,"consists":0.012987012987012988,"servers":0.012987012987012988,"in":0.012987012987012988,"last":0.012987012987012988,"committed":0.012987012987012988,"plus":0.012987012987012988,"one":0.012987012987012988,"or":0.012987012987012988,"more":0.012987012987012988,"where":0.012987012987012988,"are":0.012987012987012988,"listed":0.012987012987012988,"as":0.012987012987012988,"observers":0.012987012987012988,"for":0.012987012987012988,"example":0.012987012987012988,"if":0.012987012987012988,"d":0.012987012987012988,"and":0.012987012987012988,"e":0.012987012987012988,"added":0.012987012987012988,"at":0.012987012987012988,"same":0.012987012987012988,"time":0.012987012987012988,"to":0.012987012987012988,"a":0.012987012987012988,"b":0.012987012987012988,"c":0.012987012987012988,"is":0.012987012987012988,"being":0.012987012987012988,"removed":0.012987012987012988,"d's":0.012987012987012988,"config":0.012987012987012988,"could":0.012987012987012988,"be":0.012987012987012988,"with":0.012987012987012988,"note":0.012987012987012988,"that":0.012987012987012988,"listing":0.012987012987012988,"does":0.012987012987012988,"not":0.012987012987012988,"actually":0.012987012987012988,"make":0.012987012987012988,"them":0.012987012987012988,"it":0.012987012987012988,"only":0.012987012987012988,"prevents":0.012987012987012988,"from":0.012987012987012988,"accidentally":0.012987012987012988,"forming":0.012987012987012988,"quorum":0.012987012987012988,"other":0.012987012987012988,"instead":0.012987012987012988,"they":0.012987012987012988,"contact":0.012987012987012988,"current":0.012987012987012988,"adopt":0.012987012987012988,"files":0.012987012987012988,"backed":0.012987012987012988,"up":0.012987012987012988,"replaced":0.012987012987012988,"automatically":0.012987012987012988,"after":0.012987012987012988,"connecting":0.012987012987012988,"leader":0.012987012987012988,"become":0.012987012987012988,"non-voting":0.012987012987012988,"followers":0.012987012987012988,"until":0.012987012987012988,"system":0.012987012987012988,"reconfigured":0.012987012987012988,"ensemble":0.012987012987012988},"691":{"the":0.019230769230769232,"initial":0.019230769230769232,"configuration":0.019230769230769232,"of":0.019230769230769232,"each":0.019230769230769232,"joiner":0.019230769230769232,"consists":0.019230769230769232,"servers":0.019230769230769232,"in":0.019230769230769232,"last":0.019230769230769232,"committed":0.019230769230769232,"plus":0.019230769230769232,"itself":0.019230769230769232,"listed":0.019230769230769232,"as":0.019230769230769232,"a":0.019230769230769232,"participant":0.019230769230769232,"for":0.019230769230769232,"example":0.019230769230769232,"to":0.019230769230769232,"add":0.019230769230769232,"new":0.019230769230769232,"server":0.019230769230769232,"d":0.019230769230769232,"b":0.019230769230769232,"c":0.019230769230769232,"start":0.019230769230769232,"with":0.019230769230769232,"an":0.019230769230769232,"config":0.019230769230769232,"consisting":0.019230769230769232,"if":0.019230769230769232,"both":0.019230769230769232,"and":0.019230769230769232,"e":0.019230769230769232,"are":0.019230769230769232,"added":0.019230769230769232,"at":0.019230769230769232,"same":0.019230769230769232,"time":0.019230769230769232,"d's":0.019230769230769232,"could":0.019230769230769232,"be":0.019230769230769232,"e's":0.019230769230769232,"never":0.019230769230769232,"list":0.019230769230769232,"more":0.019230769230769232,"than":0.019230769230769232,"one":0.019230769230769232,"see":0.019230769230769232,"warning":0.019230769230769232,"below":0.019230769230769232},"692":{"whether":0.018518518518518517,"listing":0.018518518518518517,"the":0.018518518518518517,"joiner":0.018518518518518517,"as":0.018518518518518517,"an":0.018518518518518517,"observer":0.018518518518518517,"or":0.018518518518518517,"participant":0.018518518518518517,"it":0.018518518518518517,"is":0.018518518518518517,"also":0.018518518518518517,"fine":0.018518518518518517,"not":0.018518518518518517,"to":0.018518518518518517,"list":0.018518518518518517,"all":0.018518518518518517,"current":0.018518518518518517,"configuration":0.018518518518518517,"servers":0.018518518518518517,"long":0.018518518518518517,"leader":0.018518518518518517,"included":0.018518518518518517,"for":0.018518518518518517,"example":0.018518518518518517,"when":0.018518518518518517,"adding":0.018518518518518517,"d":0.018518518518518517,"could":0.018518518518518517,"be":0.018518518518518517,"started":0.018518518518518517,"with":0.018518518518518517,"just":0.018518518518518517,"a":0.018518518518518517,"if":0.018518518518518517,"however":0.018518518518518517,"this":0.018518518518518517,"more":0.018518518518518517,"fragile":0.018518518518518517,"since":0.018518518518518517,"fails":0.018518518518518517,"before":0.018518518518518517,"officially":0.018518518518518517,"joins":0.018518518518518517,"has":0.018518518518518517,"no":0.018518518518518517,"other":0.018518518518518517,"contact":0.018518518518518517,"and":0.018518518518518517,"administrator":0.018518518518518517,"must":0.018518518518518517,"restart":0.018518518518518517,"another":0.018518518518518517,"server":0.018518518518518517},"693":{"type":0.5,"warn":0.5},"694":{"never":0.020833333333333332,"specify":0.020833333333333332,"more":0.020833333333333332,"than":0.020833333333333332,"one":0.020833333333333332,"joining":0.020833333333333332,"server":0.020833333333333332,"in":0.020833333333333332,"the":0.020833333333333332,"same":0.020833333333333332,"initial":0.020833333333333332,"configuration":0.020833333333333332,"as":0.020833333333333332,"participants":0.020833333333333332,"servers":0.020833333333333332,"do":0.020833333333333332,"not":0.020833333333333332,"know":0.020833333333333332,"they":0.020833333333333332,"are":0.020833333333333332,"an":0.020833333333333332,"existing":0.020833333333333332,"ensemble":0.020833333333333332,"if":0.020833333333333332,"multiple":0.020833333333333332,"joiners":0.020833333333333332,"listed":0.020833333333333332,"may":0.020833333333333332,"form":0.020833333333333332,"independent":0.020833333333333332,"quorum":0.020833333333333332,"creating":0.020833333333333332,"a":0.020833333333333332,"split-brain":0.020833333333333332,"situation":0.020833333333333332,"and":0.020833333333333332,"processing":0.020833333333333332,"operations":0.020833333333333332,"independently":0.020833333333333332,"from":0.020833333333333332,"main":0.020833333333333332,"it":0.020833333333333332,"is":0.020833333333333332,"safe":0.020833333333333332,"to":0.020833333333333332,"list":0.020833333333333332,"observers":0.020833333333333332,"config":0.020833333333333332},"695":{"if":0.03571428571428571,"the":0.03571428571428571,"configuration":0.03571428571428571,"of":0.03571428571428571,"existing":0.03571428571428571,"servers":0.03571428571428571,"changes":0.03571428571428571,"or":0.03571428571428571,"they":0.03571428571428571,"become":0.03571428571428571,"unavailable":0.03571428571428571,"before":0.03571428571428571,"joiner":0.03571428571428571,"succeeds":0.03571428571428571,"in":0.03571428571428571,"connecting":0.03571428571428571,"and":0.03571428571428571,"learning":0.03571428571428571,"about":0.03571428571428571,"may":0.03571428571428571,"need":0.03571428571428571,"to":0.03571428571428571,"be":0.03571428571428571,"restarted":0.03571428571428571,"with":0.03571428571428571,"an":0.03571428571428571,"updated":0.03571428571428571,"file":0.03571428571428571},"696":{"finally":0.022222222222222223,"note":0.022222222222222223,"that":0.022222222222222223,"once":0.022222222222222223,"connected":0.022222222222222223,"to":0.022222222222222223,"the":0.022222222222222223,"leader":0.022222222222222223,"a":0.022222222222222223,"joiner":0.022222222222222223,"adopts":0.022222222222222223,"last":0.022222222222222223,"committed":0.022222222222222223,"configuration":0.022222222222222223,"in":0.022222222222222223,"which":0.022222222222222223,"it":0.022222222222222223,"is":0.022222222222222223,"absent":0.022222222222222223,"and":0.022222222222222223,"initial":0.022222222222222223,"config":0.022222222222222223,"backed":0.022222222222222223,"up":0.022222222222222223,"before":0.022222222222222223,"being":0.022222222222222223,"rewritten":0.022222222222222223,"if":0.022222222222222223,"restarts":0.022222222222222223,"this":0.022222222222222223,"state":0.022222222222222223,"will":0.022222222222222223,"not":0.022222222222222223,"be":0.022222222222222223,"able":0.022222222222222223,"boot":0.022222222222222223,"since":0.022222222222222223,"from":0.022222222222222223,"its":0.022222222222222223,"file":0.022222222222222223,"you":0.022222222222222223,"need":0.022222222222222223,"specify":0.022222222222222223,"an":0.022222222222222223,"again":0.022222222222222223},"697":{"modifying":0.017857142857142856,"server":0.017857142857142856,"parameters":0.017857142857142856,"any":0.017857142857142856,"of":0.017857142857142856,"the":0.017857142857142856,"ports":0.017857142857142856,"or":0.017857142857142856,"role":0.017857142857142856,"participant":0.017857142857142856,"observer":0.017857142857142856,"a":0.017857142857142856,"can":0.017857142857142856,"be":0.017857142857142856,"modified":0.017857142857142856,"by":0.017857142857142856,"adding":0.017857142857142856,"it":0.017857142857142856,"to":0.017857142857142856,"ensemble":0.017857142857142856,"with":0.017857142857142856,"different":0.017857142857142856,"this":0.017857142857142856,"works":0.017857142857142856,"in":0.017857142857142856,"both":0.017857142857142856,"incremental":0.017857142857142856,"and":0.017857142857142856,"bulk":0.017857142857142856,"reconfiguration":0.017857142857142856,"modes":0.017857142857142856,"is":0.017857142857142856,"not":0.017857142857142856,"necessary":0.017857142857142856,"remove":0.017857142857142856,"re-add":0.017857142857142856,"just":0.017857142857142856,"specify":0.017857142857142856,"new":0.017857142857142856,"as":0.017857142857142856,"if":0.017857142857142856,"yet":0.017857142857142856,"system":0.017857142857142856,"will":0.017857142857142856,"detect":0.017857142857142856,"configuration":0.017857142857142856,"change":0.017857142857142856,"perform":0.017857142857142856,"adjustments":0.017857142857142856,"see":0.017857142857142856,"an":0.017857142857142856,"example":0.017857142857142856,"mode":0.017857142857142856,"exception":0.017857142857142856,"additional":0.017857142857142856,"comments":0.017857142857142856},"698":{"it":0.029411764705882353,"is":0.029411764705882353,"also":0.029411764705882353,"possible":0.029411764705882353,"to":0.029411764705882353,"change":0.029411764705882353,"the":0.029411764705882353,"quorum":0.029411764705882353,"system":0.029411764705882353,"used":0.029411764705882353,"by":0.029411764705882353,"ensemble":0.029411764705882353,"for":0.029411764705882353,"example":0.029411764705882353,"from":0.029411764705882353,"a":0.029411764705882353,"majority":0.029411764705882353,"hierarchical":0.029411764705882353,"on":0.029411764705882353,"fly":0.029411764705882353,"this":0.029411764705882353,"only":0.029411764705882353,"allowed":0.029411764705882353,"using":0.029411764705882353,"bulk":0.029411764705882353,"non-incremental":0.029411764705882353,"reconfiguration":0.029411764705882353,"mode":0.029411764705882353,"incremental":0.029411764705882353,"works":0.029411764705882353,"with":0.029411764705882353,"both":0.029411764705882353,"and":0.029411764705882353,"systems":0.029411764705882353},"699":{"6":0.023255813953488372,"7":0.023255813953488372,"8":0.023255813953488372,"performance":0.023255813953488372,"impact":0.023255813953488372,"there":0.023255813953488372,"is":0.023255813953488372,"practically":0.023255813953488372,"no":0.023255813953488372,"when":0.023255813953488372,"removing":0.023255813953488372,"a":0.023255813953488372,"follower":0.023255813953488372,"since":0.023255813953488372,"it":0.023255813953488372,"not":0.023255813953488372,"automatically":0.023255813953488372,"shut":0.023255813953488372,"down":0.023255813953488372,"the":0.023255813953488372,"effect":0.023255813953488372,"of":0.023255813953488372,"removal":0.023255813953488372,"that":0.023255813953488372,"server's":0.023255813953488372,"votes":0.023255813953488372,"are":0.023255813953488372,"longer":0.023255813953488372,"counted":0.023255813953488372,"adding":0.023255813953488372,"server":0.023255813953488372,"leader":0.023255813953488372,"change":0.023255813953488372,"and":0.023255813953488372,"noticeable":0.023255813953488372,"disruption":0.023255813953488372,"for":0.023255813953488372,"details":0.023255813953488372,"graphs":0.023255813953488372,"see":0.023255813953488372,"figures":0.023255813953488372,"in":0.023255813953488372,"paper":0.023255813953488372},"700":{"the":0.07142857142857142,"most":0.07142857142857142,"significant":0.07142857142857142,"disruption":0.07142857142857142,"occurs":0.07142857142857142,"when":0.07142857142857142,"a":0.07142857142857142,"leader":0.07142857142857142,"change":0.07142857142857142,"is":0.07142857142857142,"triggered":0.07142857142857142,"in":0.07142857142857142,"following":0.07142857142857142,"cases":0.07142857142857142},"701":{"leader":0.16666666666666666,"is":0.16666666666666666,"removed":0.16666666666666666,"from":0.16666666666666666,"the":0.16666666666666666,"ensemble":0.16666666666666666},"702":{"leader's":0.125,"role":0.125,"is":0.125,"changed":0.125,"from":0.125,"participant":0.125,"to":0.125,"observer":0.125},"703":{"the":0.08333333333333333,"port":0.08333333333333333,"used":0.08333333333333333,"by":0.08333333333333333,"leader":0.08333333333333333,"to":0.08333333333333333,"send":0.08333333333333333,"transactions":0.08333333333333333,"others":0.08333333333333333,"quorum":0.08333333333333333,"is":0.08333333333333333,"modified":0.08333333333333333},"704":{"6":0.02857142857142857,"8":0.02857142857142857,"in":0.02857142857142857,"these":0.02857142857142857,"cases":0.02857142857142857,"a":0.02857142857142857,"leader":0.02857142857142857,"hand-off":0.02857142857142857,"is":0.02857142857142857,"performed":0.02857142857142857,"where":0.02857142857142857,"the":0.02857142857142857,"old":0.02857142857142857,"nominates":0.02857142857142857,"new":0.02857142857142857,"resulting":0.02857142857142857,"unavailability":0.02857142857142857,"usually":0.02857142857142857,"shorter":0.02857142857142857,"than":0.02857142857142857,"when":0.02857142857142857,"crashes":0.02857142857142857,"since":0.02857142857142857,"failure":0.02857142857142857,"detection":0.02857142857142857,"unnecessary":0.02857142857142857,"and":0.02857142857142857,"electing":0.02857142857142857,"can":0.02857142857142857,"be":0.02857142857142857,"avoided":0.02857142857142857,"during":0.02857142857142857,"see":0.02857142857142857,"figures":0.02857142857142857,"paper":0.02857142857142857},"705":{"when":0.05555555555555555,"the":0.05555555555555555,"client":0.05555555555555555,"port":0.05555555555555555,"of":0.05555555555555555,"a":0.05555555555555555,"server":0.05555555555555555,"is":0.05555555555555555,"modified":0.05555555555555555,"existing":0.05555555555555555,"connections":0.05555555555555555,"are":0.05555555555555555,"not":0.05555555555555555,"dropped":0.05555555555555555,"new":0.05555555555555555,"to":0.05555555555555555,"will":0.05555555555555555,"use":0.05555555555555555},"706":{"progress":0.0125,"guarantees":0.0125,"up":0.0125,"to":0.0125,"the":0.0125,"invocation":0.0125,"of":0.0125,"reconfig":0.0125,"operation":0.0125,"a":0.0125,"quorum":0.0125,"old":0.0125,"configuration":0.0125,"must":0.0125,"be":0.0125,"available":0.0125,"and":0.0125,"connected":0.0125,"for":0.0125,"zookeeper":0.0125,"make":0.0125,"once":0.0125,"is":0.0125,"invoked":0.0125,"both":0.0125,"new":0.0125,"configurations":0.0125,"final":0.0125,"transition":0.0125,"happens":0.0125,"activated":0.0125,"b":0.0125,"all":0.0125,"operations":0.0125,"scheduled":0.0125,"before":0.0125,"was":0.0125,"by":0.0125,"leader":0.0125,"are":0.0125,"committed":0.0125,"have":0.0125,"happened":0.0125,"only":0.0125,"required":0.0125,"note":0.0125,"that":0.0125,"neither":0.0125,"nor":0.0125,"visible":0.0125,"client":0.0125,"when":0.0125,"reconfiguration":0.0125,"commits":0.0125,"it":0.0125,"means":0.0125,"an":0.0125,"activation":0.0125,"message":0.0125,"sent":0.0125,"not":0.0125,"has":0.0125,"received":0.0125,"ensure":0.0125,"occurred":0.0125,"example":0.0125,"safely":0.0125,"shutting":0.0125,"down":0.0125,"removed":0.0125,"servers":0.0125,"invoke":0.0125,"update":0.0125,"set-data":0.0125,"or":0.0125,"another":0.0125,"but":0.0125,"sync":0.0125,"wait":0.0125,"commit":0.0125},"707":{"the":0.05263157894736842,"incremental":0.05263157894736842,"mode":0.05263157894736842,"allows":0.05263157894736842,"adding":0.05263157894736842,"and":0.05263157894736842,"removing":0.05263157894736842,"servers":0.05263157894736842,"from":0.05263157894736842,"current":0.05263157894736842,"configuration":0.05263157894736842,"multiple":0.05263157894736842,"changes":0.05263157894736842,"are":0.05263157894736842,"allowed":0.05263157894736842,"at":0.05263157894736842,"once":0.05263157894736842,"for":0.05263157894736842,"example":0.05263157894736842},"708":{"both":0.09090909090909091,"the":0.09090909090909091,"add":0.09090909090909091,"and":0.09090909090909091,"remove":0.09090909090909091,"options":0.09090909090909091,"take":0.09090909090909091,"comma-separated":0.09090909090909091,"arguments":0.09090909090909091,"no":0.09090909090909091,"spaces":0.09090909090909091},"709":{"5":0.017241379310344827,"the":0.017241379310344827,"format":0.017241379310344827,"of":0.017241379310344827,"server":0.017241379310344827,"statement":0.017241379310344827,"is":0.017241379310344827,"exactly":0.017241379310344827,"as":0.017241379310344827,"described":0.017241379310344827,"in":0.017241379310344827,"specifying":0.017241379310344827,"client":0.017241379310344827,"port":0.017241379310344827,"and":0.017241379310344827,"includes":0.017241379310344827,"note":0.017241379310344827,"that":0.017241379310344827,"can":0.017241379310344827,"be":0.017241379310344827,"used":0.017241379310344827,"a":0.017241379310344827,"shorthand":0.017241379310344827,"for":0.017241379310344827,"example":0.017241379310344827,"above":0.017241379310344827,"if":0.017241379310344827,"already":0.017241379310344827,"system":0.017241379310344827,"with":0.017241379310344827,"different":0.017241379310344827,"ports":0.017241379310344827,"or":0.017241379310344827,"not":0.017241379310344827,"an":0.017241379310344827,"observer":0.017241379310344827,"it":0.017241379310344827,"updated":0.017241379310344827,"once":0.017241379310344827,"configuration":0.017241379310344827,"commits":0.017241379310344827,"becomes":0.017241379310344827,"using":0.017241379310344827,"new":0.017241379310344827,"this":0.017241379310344827,"easy":0.017241379310344827,"way":0.017241379310344827,"to":0.017241379310344827,"turn":0.017241379310344827,"participants":0.017241379310344827,"into":0.017241379310344827,"observers":0.017241379310344827,"vice":0.017241379310344827,"versa":0.017241379310344827,"change":0.017241379310344827,"any":0.017241379310344827,"without":0.017241379310344827,"rebooting":0.017241379310344827},"710":{"zookeeper":0.02040816326530612,"supports":0.02040816326530612,"two":0.02040816326530612,"types":0.02040816326530612,"of":0.02040816326530612,"quorum":0.02040816326530612,"systems":0.02040816326530612,"the":0.02040816326530612,"simple":0.02040816326530612,"majority":0.02040816326530612,"system":0.02040816326530612,"where":0.02040816326530612,"leader":0.02040816326530612,"commits":0.02040816326530612,"operations":0.02040816326530612,"after":0.02040816326530612,"receiving":0.02040816326530612,"acks":0.02040816326530612,"from":0.02040816326530612,"a":0.02040816326530612,"voters":0.02040816326530612,"and":0.02040816326530612,"more":0.02040816326530612,"complex":0.02040816326530612,"hierarchical":0.02040816326530612,"votes":0.02040816326530612,"different":0.02040816326530612,"servers":0.02040816326530612,"have":0.02040816326530612,"weights":0.02040816326530612,"are":0.02040816326530612,"divided":0.02040816326530612,"into":0.02040816326530612,"voting":0.02040816326530612,"groups":0.02040816326530612,"incremental":0.02040816326530612,"reconfiguration":0.02040816326530612,"is":0.02040816326530612,"currently":0.02040816326530612,"allowed":0.02040816326530612,"only":0.02040816326530612,"if":0.02040816326530612,"last":0.02040816326530612,"proposed":0.02040816326530612,"configuration":0.02040816326530612,"uses":0.02040816326530612,"badargumentsexception":0.02040816326530612,"thrown":0.02040816326530612,"otherwise":0.02040816326530612},"711":{"incremental":0.14285714285714285,"mode":0.14285714285714285,"examples":0.14285714285714285,"using":0.14285714285714285,"the":0.14285714285714285,"java":0.14285714285714285,"api":0.14285714285714285},"712":{"there":0.047619047619047616,"is":0.047619047619047616,"also":0.047619047619047616,"an":0.047619047619047616,"asynchronous":0.047619047619047616,"api":0.047619047619047616,"and":0.047619047619047616,"accepting":0.047619047619047616,"comma-separated":0.047619047619047616,"strings":0.047619047619047616,"instead":0.047619047619047616,"of":0.047619047619047616,"list":0.047619047619047616,"string":0.047619047619047616,"see":0.047619047619047616,"src":0.047619047619047616,"java":0.047619047619047616,"main":0.047619047619047616,"org":0.047619047619047616,"apache":0.047619047619047616,"zookeeper":0.047619047619047616},"713":{"the":0.05263157894736842,"non-incremental":0.05263157894736842,"mode":0.05263157894736842,"accepts":0.05263157894736842,"a":0.05263157894736842,"complete":0.05263157894736842,"specification":0.05263157894736842,"of":0.05263157894736842,"new":0.05263157894736842,"dynamic":0.05263157894736842,"configuration":0.05263157894736842,"can":0.05263157894736842,"be":0.05263157894736842,"given":0.05263157894736842,"inline":0.05263157894736842,"or":0.05263157894736842,"read":0.05263157894736842,"from":0.05263157894736842,"file":0.05263157894736842},"714":{"newconfig":0.1111111111111111,"cfg":0.1111111111111111,"is":0.1111111111111111,"a":0.1111111111111111,"dynamic":0.1111111111111111,"config":0.1111111111111111,"file":0.1111111111111111,"see":0.1111111111111111,"configuration":0.1111111111111111},"715":{"the":0.05,"new":0.05,"configuration":0.05,"may":0.05,"use":0.05,"a":0.05,"different":0.05,"quorum":0.05,"system":0.05,"for":0.05,"example":0.05,"you":0.05,"specify":0.05,"hierarchical":0.05,"even":0.05,"if":0.05,"current":0.05,"ensemble":0.05,"uses":0.05,"majority":0.05},"716":{"bulk":0.14285714285714285,"mode":0.14285714285714285,"example":0.14285714285714285,"using":0.14285714285714285,"the":0.14285714285714285,"java":0.14285714285714285,"api":0.14285714285714285},"717":{"there":0.04,"is":0.04,"also":0.04,"an":0.04,"asynchronous":0.04,"api":0.04,"and":0.04,"accepting":0.04,"a":0.04,"comma-separated":0.04,"string":0.04,"containing":0.04,"the":0.04,"new":0.04,"members":0.04,"instead":0.04,"of":0.04,"list":0.04,"see":0.04,"src":0.04,"java":0.04,"main":0.04,"org":0.04,"apache":0.04,"zookeeper":0.04},"718":{"sometimes":0.03225806451612903,"especially":0.03225806451612903,"in":0.03225806451612903,"non-incremental":0.03225806451612903,"mode":0.03225806451612903,"a":0.03225806451612903,"proposed":0.03225806451612903,"configuration":0.03225806451612903,"depends":0.03225806451612903,"on":0.03225806451612903,"what":0.03225806451612903,"the":0.03225806451612903,"client":0.03225806451612903,"believes":0.03225806451612903,"to":0.03225806451612903,"be":0.03225806451612903,"current":0.03225806451612903,"and":0.03225806451612903,"should":0.03225806451612903,"only":0.03225806451612903,"applied":0.03225806451612903,"that":0.03225806451612903,"reconfig":0.03225806451612903,"succeeds":0.03225806451612903,"if":0.03225806451612903,"last":0.03225806451612903,"at":0.03225806451612903,"leader":0.03225806451612903,"has":0.03225806451612903,"specified":0.03225806451612903,"version":0.03225806451612903},"719":{"in":0.058823529411764705,"the":0.058823529411764705,"java":0.058823529411764705,"examples":0.058823529411764705,"above":0.058823529411764705,"instead":0.058823529411764705,"of":0.058823529411764705,"-1":0.058823529411764705,"you":0.058823529411764705,"can":0.058823529411764705,"specify":0.058823529411764705,"a":0.058823529411764705,"configuration":0.058823529411764705,"version":0.058823529411764705,"to":0.058823529411764705,"condition":0.058823529411764705,"reconfiguration":0.058823529411764705},"720":{"in":0.06666666666666667,"addition":0.06666666666666667,"to":0.06666666666666667,"normal":0.06666666666666667,"zookeeper":0.06666666666666667,"error":0.06666666666666667,"conditions":0.06666666666666667,"a":0.06666666666666667,"reconfiguration":0.06666666666666667,"may":0.06666666666666667,"fail":0.06666666666666667,"for":0.06666666666666667,"the":0.06666666666666667,"following":0.06666666666666667,"reasons":0.06666666666666667},"721":{"another":0.14285714285714285,"reconfig":0.14285714285714285,"is":0.14285714285714285,"currently":0.14285714285714285,"in":0.14285714285714285,"progress":0.14285714285714285,"reconfiginprogress":0.14285714285714285},"722":{"1":0.047619047619047616,"2":0.047619047619047616,"the":0.047619047619047616,"proposed":0.047619047619047616,"change":0.047619047619047616,"would":0.047619047619047616,"leave":0.047619047619047616,"fewer":0.047619047619047616,"than":0.047619047619047616,"participants":0.047619047619047616,"and":0.047619047619047616,"standalone":0.047619047619047616,"mode":0.047619047619047616,"is":0.047619047619047616,"enabled":0.047619047619047616,"or":0.047619047619047616,"if":0.047619047619047616,"disabled":0.047619047619047616,"participant":0.047619047619047616,"remain":0.047619047619047616,"badargumentsexception":0.047619047619047616},"723":{"no":0.058823529411764705,"quorum":0.058823529411764705,"of":0.058823529411764705,"the":0.058823529411764705,"new":0.058823529411764705,"configuration":0.058823529411764705,"was":0.058823529411764705,"connected":0.058823529411764705,"and":0.058823529411764705,"up-to-date":0.058823529411764705,"with":0.058823529411764705,"leader":0.058823529411764705,"when":0.058823529411764705,"reconfiguration":0.058823529411764705,"processing":0.058823529411764705,"began":0.058823529411764705,"newconfignoquorum":0.058823529411764705},"724":{"-v":0.07692307692307693,"x":0.07692307692307693,"was":0.07692307692307693,"specified":0.07692307692307693,"but":0.07692307692307693,"the":0.07692307692307693,"latest":0.07692307692307693,"configuration":0.07692307692307693,"version":0.07692307692307693,"y":0.07692307692307693,"is":0.07692307692307693,"not":0.07692307692307693,"badversionexception":0.07692307692307693},"725":{"an":0.05263157894736842,"incremental":0.05263157894736842,"reconfiguration":0.05263157894736842,"was":0.05263157894736842,"requested":0.05263157894736842,"but":0.05263157894736842,"the":0.05263157894736842,"last":0.05263157894736842,"configuration":0.05263157894736842,"at":0.05263157894736842,"leader":0.05263157894736842,"uses":0.05263157894736842,"a":0.05263157894736842,"quorum":0.05263157894736842,"system":0.05263157894736842,"other":0.05263157894736842,"than":0.05263157894736842,"majority":0.05263157894736842,"badargumentsexception":0.05263157894736842},"726":{"syntax":0.3333333333333333,"error":0.3333333333333333,"badargumentsexception":0.3333333333333333},"727":{"i":0.09090909090909091,"o":0.09090909090909091,"exception":0.09090909090909091,"when":0.09090909090909091,"reading":0.09090909090909091,"the":0.09090909090909091,"configuration":0.09090909090909091,"from":0.09090909090909091,"a":0.09090909090909091,"file":0.09090909090909091,"badargumentsexception":0.09090909090909091},"728":{"most":0.09090909090909091,"of":0.09090909090909091,"these":0.09090909090909091,"are":0.09090909090909091,"illustrated":0.09090909090909091,"by":0.09090909090909091,"test":0.09090909090909091,"cases":0.09090909090909091,"in":0.09090909090909091,"reconfigfailurecases":0.09090909090909091,"java":0.09090909090909091},"729":{"liveness":0.011627906976744186,"to":0.011627906976744186,"understand":0.011627906976744186,"the":0.011627906976744186,"difference":0.011627906976744186,"between":0.011627906976744186,"incremental":0.011627906976744186,"and":0.011627906976744186,"non-incremental":0.011627906976744186,"reconfiguration":0.011627906976744186,"suppose":0.011627906976744186,"client":0.011627906976744186,"c1":0.011627906976744186,"adds":0.011627906976744186,"server":0.011627906976744186,"d":0.011627906976744186,"while":0.011627906976744186,"a":0.011627906976744186,"different":0.011627906976744186,"c2":0.011627906976744186,"e":0.011627906976744186,"with":0.011627906976744186,"mode":0.011627906976744186,"each":0.011627906976744186,"first":0.011627906976744186,"invokes":0.011627906976744186,"config":0.011627906976744186,"find":0.011627906976744186,"out":0.011627906976744186,"current":0.011627906976744186,"configuration":0.011627906976744186,"then":0.011627906976744186,"locally":0.011627906976744186,"creates":0.011627906976744186,"new":0.011627906976744186,"list":0.011627906976744186,"by":0.011627906976744186,"adding":0.011627906976744186,"its":0.011627906976744186,"own":0.011627906976744186,"suggested":0.011627906976744186,"after":0.011627906976744186,"both":0.011627906976744186,"reconfigurations":0.011627906976744186,"complete":0.011627906976744186,"only":0.011627906976744186,"one":0.011627906976744186,"of":0.011627906976744186,"or":0.011627906976744186,"will":0.011627906976744186,"be":0.011627906976744186,"added":0.011627906976744186,"not":0.011627906976744186,"depending":0.011627906976744186,"on":0.011627906976744186,"which":0.011627906976744186,"request":0.011627906976744186,"arrives":0.011627906976744186,"second":0.011627906976744186,"at":0.011627906976744186,"leader":0.011627906976744186,"other":0.011627906976744186,"can":0.011627906976744186,"repeat":0.011627906976744186,"process":0.011627906976744186,"until":0.011627906976744186,"change":0.011627906976744186,"takes":0.011627906976744186,"effect":0.011627906976744186,"this":0.011627906976744186,"guarantees":0.011627906976744186,"system-wide":0.011627906976744186,"progress":0.011627906976744186,"for":0.011627906976744186,"but":0.011627906976744186,"every":0.011627906976744186,"may":0.011627906976744186,"use":0.011627906976744186,"conditional":0.011627906976744186,"reconfig":0.011627906976744186,"avoid":0.011627906976744186,"blindly":0.011627906976744186,"overwriting":0.011627906976744186,"c1's":0.011627906976744186,"if":0.011627906976744186,"arrived":0.011627906976744186},"730":{"with":0.020833333333333332,"incremental":0.020833333333333332,"reconfiguration":0.020833333333333332,"both":0.020833333333333332,"changes":0.020833333333333332,"take":0.020833333333333332,"effect":0.020833333333333332,"as":0.020833333333333332,"they":0.020833333333333332,"are":0.020833333333333332,"applied":0.020833333333333332,"by":0.020833333333333332,"the":0.020833333333333332,"leader":0.020833333333333332,"one":0.020833333333333332,"after":0.020833333333333332,"other":0.020833333333333332,"to":0.020833333333333332,"current":0.020833333333333332,"configuration":0.020833333333333332,"since":0.020833333333333332,"clients":0.020833333333333332,"guaranteed":0.020833333333333332,"make":0.020833333333333332,"progress":0.020833333333333332,"this":0.020833333333333332,"method":0.020833333333333332,"guarantees":0.020833333333333332,"stronger":0.020833333333333332,"liveness":0.020833333333333332,"in":0.020833333333333332,"practice":0.020833333333333332,"multiple":0.020833333333333332,"concurrent":0.020833333333333332,"reconfigurations":0.020833333333333332,"probably":0.020833333333333332,"rare":0.020833333333333332,"non-incremental":0.020833333333333332,"is":0.020833333333333332,"currently":0.020833333333333332,"only":0.020833333333333332,"way":0.020833333333333332,"dynamically":0.020833333333333332,"change":0.020833333333333332,"quorum":0.020833333333333332,"system":0.020833333333333332,"allowed":0.020833333333333332,"majority":0.020833333333333332},"731":{"2":0.010309278350515464,"3":0.010309278350515464,"changing":0.010309278350515464,"an":0.010309278350515464,"observer":0.010309278350515464,"into":0.010309278350515464,"a":0.010309278350515464,"follower":0.010309278350515464,"voting":0.010309278350515464,"server":0.010309278350515464,"may":0.010309278350515464,"fail":0.010309278350515464,"if":0.010309278350515464,"fewer":0.010309278350515464,"than":0.010309278350515464,"the":0.010309278350515464,"minimal":0.010309278350515464,"allowed":0.010309278350515464,"number":0.010309278350515464,"of":0.010309278350515464,"participants":0.010309278350515464,"would":0.010309278350515464,"remain":0.010309278350515464,"error":0.010309278350515464,"converting":0.010309278350515464,"participant":0.010309278350515464,"sometimes":0.010309278350515464,"for":0.010309278350515464,"more":0.010309278350515464,"subtle":0.010309278350515464,"reason":0.010309278350515464,"suppose":0.010309278350515464,"current":0.010309278350515464,"configuration":0.010309278350515464,"is":0.010309278350515464,"b":0.010309278350515464,"c":0.010309278350515464,"d":0.010309278350515464,"where":0.010309278350515464,"leader":0.010309278350515464,"and":0.010309278350515464,"are":0.010309278350515464,"followers":0.010309278350515464,"has":0.010309278350515464,"crashed":0.010309278350515464,"reconfiguration":0.010309278350515464,"makes":0.010309278350515464,"it":0.010309278350515464,"will":0.010309278350515464,"with":0.010309278350515464,"since":0.010309278350515464,"majority":0.010309278350515464,"voters":0.010309278350515464,"in":0.010309278350515464,"new":0.010309278350515464,"any":0.010309278350515464,"must":0.010309278350515464,"be":0.010309278350515464,"connected":0.010309278350515464,"up-to-date":0.010309278350515464,"cannot":0.010309278350515464,"acknowledge":0.010309278350515464,"history":0.010309278350515464,"prefix":0.010309278350515464,"sent":0.010309278350515464,"during":0.010309278350515464,"therefore":0.010309278350515464,"does":0.010309278350515464,"not":0.010309278350515464,"count":0.010309278350515464,"towards":0.010309278350515464,"required":0.010309278350515464,"servers":0.010309278350515464,"this":0.010309278350515464,"case":0.010309278350515464,"client":0.010309278350515464,"can":0.010309278350515464,"achieve":0.010309278350515464,"task":0.010309278350515464,"two":0.010309278350515464,"reconfig":0.010309278350515464,"commands":0.010309278350515464,"first":0.010309278350515464,"remove":0.010309278350515464,"from":0.010309278350515464,"then":0.010309278350515464,"add":0.010309278350515464,"back":0.010309278350515464,"as":0.010309278350515464,"intermediate":0.010309278350515464,"state":0.010309278350515464,"non-voting":0.010309278350515464,"ack":0.010309278350515464,"transfer":0.010309278350515464,"performed":0.010309278350515464,"second":0.010309278350515464,"command":0.010309278350515464},"732":{"1":0.023255813953488372,"4":0.023255813953488372,"5":0.023255813953488372,"when":0.023255813953488372,"a":0.023255813953488372,"zookeeper":0.023255813953488372,"cluster":0.023255813953488372,"is":0.023255813953488372,"started":0.023255813953488372,"and":0.023255813953488372,"each":0.023255813953488372,"client":0.023255813953488372,"given":0.023255813953488372,"the":0.023255813953488372,"same":0.023255813953488372,"connection":0.023255813953488372,"string":0.023255813953488372,"randomly":0.023255813953488372,"chooses":0.023255813953488372,"server":0.023255813953488372,"to":0.023255813953488372,"connect":0.023255813953488372,"making":0.023255813953488372,"expected":0.023255813953488372,"number":0.023255813953488372,"of":0.023255813953488372,"connections":0.023255813953488372,"per":0.023255813953488372,"equal":0.023255813953488372,"across":0.023255813953488372,"all":0.023255813953488372,"servers":0.023255813953488372,"preserves":0.023255813953488372,"this":0.023255813953488372,"property":0.023255813953488372,"set":0.023255813953488372,"changes":0.023255813953488372,"through":0.023255813953488372,"reconfiguration":0.023255813953488372,"see":0.023255813953488372,"sections":0.023255813953488372,"in":0.023255813953488372,"paper":0.023255813953488372},"733":{"for":0.02,"the":0.02,"method":0.02,"to":0.02,"work":0.02,"all":0.02,"clients":0.02,"must":0.02,"subscribe":0.02,"configuration":0.02,"changes":0.02,"by":0.02,"setting":0.02,"a":0.02,"watch":0.02,"on":0.02,"zookeeper":0.02,"config":0.02,"either":0.02,"directly":0.02,"or":0.02,"through":0.02,"getconfig":0.02,"api":0.02,"when":0.02,"is":0.02,"triggered":0.02,"client":0.02,"should":0.02,"read":0.02,"new":0.02,"invoking":0.02,"sync":0.02,"and":0.02,"if":0.02,"indeed":0.02,"invoke":0.02,"updateserverlist":0.02,"avoid":0.02,"mass":0.02,"migration":0.02,"at":0.02,"same":0.02,"time":0.02,"each":0.02,"sleep":0.02,"random":0.02,"short":0.02,"period":0.02,"before":0.02},"734":{"a":0.08333333333333333,"few":0.08333333333333333,"examples":0.08333333333333333,"can":0.08333333333333333,"be":0.08333333333333333,"found":0.08333333333333333,"in":0.08333333333333333,"statichostprovidertest":0.08333333333333333,"java":0.08333333333333333,"and":0.08333333333333333,"testreconfig":0.08333333333333333,"cc":0.08333333333333333},"735":{"example":0.09090909090909091,"simplified":0.09090909090909091,"to":0.09090909090909091,"illustrate":0.09090909090909091,"the":0.09090909090909091,"general":0.09090909090909091,"idea":0.09090909090909091,"not":0.09090909090909091,"a":0.09090909090909091,"production":0.09090909090909091,"recipe":0.09090909090909091},"736":{"jmx":1},"737":{"how":0.041666666666666664,"to":0.041666666666666664,"enable":0.041666666666666664,"and":0.041666666666666664,"use":0.041666666666666664,"jmx":0.041666666666666664,"monitoring":0.041666666666666664,"management":0.041666666666666664,"for":0.041666666666666664,"zookeeper":0.041666666666666664,"ensembles":0.041666666666666664,"including":0.041666666666666664,"starting":0.041666666666666664,"with":0.041666666666666664,"connecting":0.041666666666666664,"via":0.041666666666666664,"jconsole":0.041666666666666664,"a":0.041666666666666664,"full":0.041666666666666664,"mbean":0.041666666666666664,"reference":0.041666666666666664,"replicated":0.041666666666666664,"standalone":0.041666666666666664,"servers":0.041666666666666664},"738":{"starting":0.2,"zookeeper":0.2,"with":0.2,"jmx":0.2,"enabled":0.2},"739":{"running":0.25,"a":0.25,"jmx":0.25,"console":0.25},"740":{"0":0.14285714285714285,"3":0.14285714285714285,"8":0.14285714285714285,"logback":0.14285714285714285,"mbeans":0.14285714285714285,"new":0.14285714285714285,"in":0.14285714285714285},"741":{"log4j":0.3333333333333333,"mbeans":0.3333333333333333,"deprecated":0.3333333333333333},"742":{"zookeeper":0.3333333333333333,"mbean":0.3333333333333333,"reference":0.3333333333333333},"743":{"replicated":0.3333333333333333,"ensemble":0.3333333333333333,"mbeans":0.3333333333333333},"744":{"standalone":0.3333333333333333,"server":0.3333333333333333,"mbeans":0.3333333333333333},"745":{"apache":0.0625,"zookeeper":0.0625,"has":0.0625,"extensive":0.0625,"support":0.0625,"for":0.0625,"jmx":0.0625,"allowing":0.0625,"you":0.0625,"to":0.0625,"view":0.0625,"and":0.0625,"manage":0.0625,"a":0.0625,"serving":0.0625,"ensemble":0.0625},"746":{"this":0.05263157894736842,"document":0.05263157894736842,"assumes":0.05263157894736842,"that":0.05263157894736842,"you":0.05263157894736842,"have":0.05263157894736842,"basic":0.05263157894736842,"knowledge":0.05263157894736842,"of":0.05263157894736842,"jmx":0.05263157894736842,"see":0.05263157894736842,"the":0.05263157894736842,"sun":0.05263157894736842,"technology":0.05263157894736842,"page":0.05263157894736842,"to":0.05263157894736842,"get":0.05263157894736842,"started":0.05263157894736842,"with":0.05263157894736842},"747":{"see":0.03125,"the":0.03125,"jmx":0.03125,"management":0.03125,"guide":0.03125,"for":0.03125,"details":0.03125,"on":0.03125,"setting":0.03125,"up":0.03125,"local":0.03125,"and":0.03125,"remote":0.03125,"of":0.03125,"vm":0.03125,"instances":0.03125,"by":0.03125,"default":0.03125,"included":0.03125,"zkserver":0.03125,"sh":0.03125,"supports":0.03125,"only":0.03125,"review":0.03125,"linked":0.03125,"document":0.03125,"to":0.03125,"enable":0.03125,"support":0.03125,"beyond":0.03125,"scope":0.03125,"this":0.03125},"748":{"the":0.02857142857142857,"class":0.02857142857142857,"org":0.02857142857142857,"apache":0.02857142857142857,"zookeeper":0.02857142857142857,"server":0.02857142857142857,"quorum":0.02857142857142857,"quorumpeermain":0.02857142857142857,"will":0.02857142857142857,"start":0.02857142857142857,"a":0.02857142857142857,"jmx":0.02857142857142857,"manageable":0.02857142857142857,"this":0.02857142857142857,"registers":0.02857142857142857,"proper":0.02857142857142857,"mbeans":0.02857142857142857,"during":0.02857142857142857,"initialization":0.02857142857142857,"to":0.02857142857142857,"support":0.02857142857142857,"monitoring":0.02857142857142857,"and":0.02857142857142857,"management":0.02857142857142857,"of":0.02857142857142857,"instance":0.02857142857142857,"see":0.02857142857142857,"bin":0.02857142857142857,"zkserver":0.02857142857142857,"sh":0.02857142857142857,"for":0.02857142857142857,"one":0.02857142857142857,"example":0.02857142857142857,"starting":0.02857142857142857,"using":0.02857142857142857},"749":{"there":0.043478260869565216,"are":0.043478260869565216,"a":0.043478260869565216,"number":0.043478260869565216,"of":0.043478260869565216,"jmx":0.043478260869565216,"consoles":0.043478260869565216,"available":0.043478260869565216,"which":0.043478260869565216,"can":0.043478260869565216,"connect":0.043478260869565216,"to":0.043478260869565216,"the":0.043478260869565216,"running":0.043478260869565216,"server":0.043478260869565216,"for":0.043478260869565216,"this":0.043478260869565216,"example":0.043478260869565216,"we":0.043478260869565216,"will":0.043478260869565216,"use":0.043478260869565216,"sun's":0.043478260869565216,"jconsole":0.043478260869565216},"750":{"the":0.030303030303030304,"java":0.030303030303030304,"jdk":0.030303030303030304,"ships":0.030303030303030304,"with":0.030303030303030304,"a":0.030303030303030304,"simple":0.030303030303030304,"jmx":0.030303030303030304,"console":0.030303030303030304,"named":0.030303030303030304,"jconsole":0.030303030303030304,"which":0.030303030303030304,"can":0.030303030303030304,"be":0.030303030303030304,"used":0.030303030303030304,"to":0.030303030303030304,"connect":0.030303030303030304,"zookeeper":0.030303030303030304,"and":0.030303030303030304,"inspect":0.030303030303030304,"running":0.030303030303030304,"server":0.030303030303030304,"once":0.030303030303030304,"you've":0.030303030303030304,"started":0.030303030303030304,"using":0.030303030303030304,"quorumpeermain":0.030303030303030304,"start":0.030303030303030304,"typically":0.030303030303030304,"resides":0.030303030303030304,"in":0.030303030303030304,"jdk_home":0.030303030303030304,"bin":0.030303030303030304},"751":{"when":0.041666666666666664,"the":0.041666666666666664,"new":0.041666666666666664,"connection":0.041666666666666664,"window":0.041666666666666664,"is":0.041666666666666664,"displayed":0.041666666666666664,"either":0.041666666666666664,"connect":0.041666666666666664,"to":0.041666666666666664,"local":0.041666666666666664,"process":0.041666666666666664,"if":0.041666666666666664,"jconsole":0.041666666666666664,"was":0.041666666666666664,"started":0.041666666666666664,"on":0.041666666666666664,"same":0.041666666666666664,"host":0.041666666666666664,"as":0.041666666666666664,"server":0.041666666666666664,"or":0.041666666666666664,"use":0.041666666666666664,"remote":0.041666666666666664},"752":{"by":0.09090909090909091,"default":0.09090909090909091,"the":0.09090909090909091,"overview":0.09090909090909091,"tab":0.09090909090909091,"for":0.09090909090909091,"vm":0.09090909090909091,"is":0.09090909090909091,"displayed":0.09090909090909091,"select":0.09090909090909091,"mbeans":0.09090909090909091},"753":{"you":0.03225806451612903,"should":0.03225806451612903,"now":0.03225806451612903,"see":0.03225806451612903,"org":0.03225806451612903,"apache":0.03225806451612903,"zookeeperservice":0.03225806451612903,"on":0.03225806451612903,"the":0.03225806451612903,"left":0.03225806451612903,"hand":0.03225806451612903,"side":0.03225806451612903,"expand":0.03225806451612903,"this":0.03225806451612903,"item":0.03225806451612903,"and":0.03225806451612903,"depending":0.03225806451612903,"how":0.03225806451612903,"you've":0.03225806451612903,"started":0.03225806451612903,"server":0.03225806451612903,"will":0.03225806451612903,"be":0.03225806451612903,"able":0.03225806451612903,"to":0.03225806451612903,"monitor":0.03225806451612903,"manage":0.03225806451612903,"various":0.03225806451612903,"service":0.03225806451612903,"related":0.03225806451612903,"features":0.03225806451612903},"754":{"0":0.03225806451612903,"3":0.03225806451612903,"8":0.03225806451612903,"logback":0.03225806451612903,"is":0.03225806451612903,"the":0.03225806451612903,"default":0.03225806451612903,"logging":0.03225806451612903,"backend":0.03225806451612903,"of":0.03225806451612903,"zookeeper":0.03225806451612903,"since":0.03225806451612903,"version":0.03225806451612903,"it":0.03225806451612903,"can":0.03225806451612903,"be":0.03225806451612903,"configured":0.03225806451612903,"to":0.03225806451612903,"register":0.03225806451612903,"jmx":0.03225806451612903,"mbeans":0.03225806451612903,"by":0.03225806451612903,"adding":0.03225806451612903,"jmxconfigurator":0.03225806451612903,"xml":0.03225806451612903,"more":0.03225806451612903,"information":0.03225806451612903,"found":0.03225806451612903,"on":0.03225806451612903,"logback's":0.03225806451612903,"website":0.03225806451612903},"755":{"zookeeper":0.014084507042253521,"will":0.014084507042253521,"register":0.014084507042253521,"log4j":0.014084507042253521,"mbeans":0.014084507042253521,"if":0.014084507042253521,"log4j1":0.014084507042253521,"is":0.014084507042253521,"configured":0.014084507042253521,"as":0.014084507042253521,"the":0.014084507042253521,"logging":0.014084507042253521,"backend":0.014084507042253521,"of":0.014084507042253521,"slf4j":0.014084507042253521,"in":0.014084507042253521,"same":0.014084507042253521,"section":0.014084507042253521,"along":0.014084507042253521,"left":0.014084507042253521,"hand":0.014084507042253521,"side":0.014084507042253521,"you":0.014084507042253521,"see":0.014084507042253521,"expand":0.014084507042253521,"that":0.014084507042253521,"to":0.014084507042253521,"manage":0.014084507042253521,"through":0.014084507042253521,"jmx":0.014084507042253521,"particular":0.014084507042253521,"interest":0.014084507042253521,"ability":0.014084507042253521,"dynamically":0.014084507042253521,"change":0.014084507042253521,"levels":0.014084507042253521,"used":0.014084507042253521,"by":0.014084507042253521,"editing":0.014084507042253521,"appender":0.014084507042253521,"and":0.014084507042253521,"root":0.014084507042253521,"thresholds":0.014084507042253521,"mbean":0.014084507042253521,"registration":0.014084507042253521,"can":0.014084507042253521,"be":0.014084507042253521,"disabled":0.014084507042253521,"passing":0.014084507042253521,"-dzookeeper":0.014084507042253521,"disable":0.014084507042253521,"true":0.014084507042253521,"jvm":0.014084507042253521,"when":0.014084507042253521,"starting":0.014084507042253521,"addition":0.014084507042253521,"we":0.014084507042253521,"specify":0.014084507042253521,"name":0.014084507042253521,"with":0.014084507042253521,"hierarchy":0.014084507042253521,"default":0.014084507042253521,"option":0.014084507042253521,"case":0.014084507042253521,"need":0.014084507042253521,"upgrade":0.014084507042253521,"an":0.014084507042253521,"integrated":0.014084507042253521,"system":0.014084507042253521,"using":0.014084507042253521,"old":0.014084507042253521},"756":{"this":0.045454545454545456,"table":0.045454545454545456,"details":0.045454545454545456,"jmx":0.045454545454545456,"for":0.045454545454545456,"a":0.045454545454545456,"server":0.045454545454545456,"participating":0.045454545454545456,"in":0.045454545454545456,"replicated":0.045454545454545456,"zookeeper":0.045454545454545456,"ensemble":0.045454545454545456,"i":0.045454545454545456,"e":0.045454545454545456,"not":0.045454545454545456,"standalone":0.045454545454545456,"is":0.045454545454545456,"the":0.045454545454545456,"typical":0.045454545454545456,"case":0.045454545454545456,"production":0.045454545454545456,"environment":0.045454545454545456},"757":{"mbean":1},"758":{"mbean":0.3333333333333333,"object":0.3333333333333333,"name":0.3333333333333333},"759":{"description":1},"760":{"quorum":1},"761":{"replicatedserver_id":1},"762":{"represents":0.041666666666666664,"the":0.041666666666666664,"quorum":0.041666666666666664,"or":0.041666666666666664,"ensemble":0.041666666666666664,"parent":0.041666666666666664,"of":0.041666666666666664,"all":0.041666666666666664,"cluster":0.041666666666666664,"members":0.041666666666666664,"note":0.041666666666666664,"that":0.041666666666666664,"object":0.041666666666666664,"name":0.041666666666666664,"includes":0.041666666666666664,"myid":0.041666666666666664,"server":0.041666666666666664,"suffix":0.041666666666666664,"your":0.041666666666666664,"jmx":0.041666666666666664,"agent":0.041666666666666664,"has":0.041666666666666664,"connected":0.041666666666666664,"to":0.041666666666666664},"763":{"localpeer":0.5,"remotepeer":0.5},"764":{"replica":1},"765":{"represents":0.047619047619047616,"a":0.047619047619047616,"local":0.047619047619047616,"or":0.047619047619047616,"remote":0.047619047619047616,"peer":0.047619047619047616,"i":0.047619047619047616,"e":0.047619047619047616,"server":0.047619047619047616,"participating":0.047619047619047616,"in":0.047619047619047616,"the":0.047619047619047616,"ensemble":0.047619047619047616,"note":0.047619047619047616,"that":0.047619047619047616,"object":0.047619047619047616,"name":0.047619047619047616,"includes":0.047619047619047616,"myid":0.047619047619047616,"of":0.047619047619047616,"suffix":0.047619047619047616},"766":{"leaderelection":1},"767":{"leaderelection":1},"768":{"represents":0.05263157894736842,"a":0.05263157894736842,"zookeeper":0.05263157894736842,"cluster":0.05263157894736842,"leader":0.05263157894736842,"election":0.05263157894736842,"which":0.05263157894736842,"is":0.05263157894736842,"in":0.05263157894736842,"progress":0.05263157894736842,"provides":0.05263157894736842,"information":0.05263157894736842,"about":0.05263157894736842,"the":0.05263157894736842,"such":0.05263157894736842,"as":0.05263157894736842,"when":0.05263157894736842,"it":0.05263157894736842,"started":0.05263157894736842},"769":{"leader":1},"770":{"leader":1},"771":{"indicates":0.038461538461538464,"that":0.038461538461538464,"the":0.038461538461538464,"parent":0.038461538461538464,"replica":0.038461538461538464,"is":0.038461538461538464,"leader":0.038461538461538464,"and":0.038461538461538464,"provides":0.038461538461538464,"attributes":0.038461538461538464,"operations":0.038461538461538464,"for":0.038461538461538464,"server":0.038461538461538464,"note":0.038461538461538464,"a":0.038461538461538464,"subclass":0.038461538461538464,"of":0.038461538461538464,"zookeeperserver":0.038461538461538464,"so":0.038461538461538464,"it":0.038461538461538464,"all":0.038461538461538464,"information":0.038461538461538464,"normally":0.038461538461538464,"associated":0.038461538461538464,"with":0.038461538461538464,"node":0.038461538461538464},"772":{"follower":1},"773":{"follower":1},"774":{"indicates":0.038461538461538464,"that":0.038461538461538464,"the":0.038461538461538464,"parent":0.038461538461538464,"replica":0.038461538461538464,"is":0.038461538461538464,"a":0.038461538461538464,"follower":0.038461538461538464,"and":0.038461538461538464,"provides":0.038461538461538464,"attributes":0.038461538461538464,"operations":0.038461538461538464,"for":0.038461538461538464,"server":0.038461538461538464,"note":0.038461538461538464,"subclass":0.038461538461538464,"of":0.038461538461538464,"zookeeperserver":0.038461538461538464,"so":0.038461538461538464,"it":0.038461538461538464,"all":0.038461538461538464,"information":0.038461538461538464,"normally":0.038461538461538464,"associated":0.038461538461538464,"with":0.038461538461538464,"node":0.038461538461538464},"775":{"datatree":1},"776":{"inmemorydatatree":1},"777":{"statistics":0.038461538461538464,"on":0.038461538461538464,"the":0.038461538461538464,"in-memory":0.038461538461538464,"znode":0.038461538461538464,"database":0.038461538461538464,"also":0.038461538461538464,"operations":0.038461538461538464,"to":0.038461538461538464,"access":0.038461538461538464,"finer":0.038461538461538464,"and":0.038461538461538464,"more":0.038461538461538464,"computationally":0.038461538461538464,"intensive":0.038461538461538464,"data":0.038461538461538464,"such":0.038461538461538464,"as":0.038461538461538464,"ephemeral":0.038461538461538464,"count":0.038461538461538464,"inmemorydatatrees":0.038461538461538464,"are":0.038461538461538464,"children":0.038461538461538464,"of":0.038461538461538464,"zookeeperserver":0.038461538461538464,"nodes":0.038461538461538464},"778":{"servercnxn":1},"779":{"session_id":1},"780":{"statistics":0.043478260869565216,"on":0.043478260869565216,"each":0.043478260869565216,"client":0.043478260869565216,"connection":0.043478260869565216,"also":0.043478260869565216,"operations":0.043478260869565216,"those":0.043478260869565216,"connections":0.043478260869565216,"such":0.043478260869565216,"as":0.043478260869565216,"termination":0.043478260869565216,"note":0.043478260869565216,"the":0.043478260869565216,"object":0.043478260869565216,"name":0.043478260869565216,"is":0.043478260869565216,"session":0.043478260869565216,"id":0.043478260869565216,"of":0.043478260869565216,"in":0.043478260869565216,"hex":0.043478260869565216,"form":0.043478260869565216},"781":{"this":0.06666666666666667,"table":0.06666666666666667,"details":0.06666666666666667,"jmx":0.06666666666666667,"for":0.06666666666666667,"a":0.06666666666666667,"standalone":0.06666666666666667,"server":0.06666666666666667,"is":0.06666666666666667,"typically":0.06666666666666667,"only":0.06666666666666667,"used":0.06666666666666667,"in":0.06666666666666667,"development":0.06666666666666667,"situations":0.06666666666666667},"782":{"mbean":1},"783":{"mbean":0.3333333333333333,"object":0.3333333333333333,"name":0.3333333333333333},"784":{"description":1},"785":{"zookeeperserver":1},"786":{"standaloneserver_port":1},"787":{"statistics":0.05,"on":0.05,"the":0.05,"running":0.05,"server":0.05,"also":0.05,"operations":0.05,"to":0.05,"reset":0.05,"these":0.05,"attributes":0.05,"note":0.05,"that":0.05,"object":0.05,"name":0.05,"includes":0.05,"client":0.05,"port":0.05,"of":0.05,"suffix":0.05},"788":{"datatree":1},"789":{"inmemorydatatree":1},"790":{"statistics":0.05,"on":0.05,"the":0.05,"in-memory":0.05,"znode":0.05,"database":0.05,"also":0.05,"operations":0.05,"to":0.05,"access":0.05,"finer":0.05,"and":0.05,"more":0.05,"computationally":0.05,"intensive":0.05,"data":0.05,"such":0.05,"as":0.05,"ephemeral":0.05,"count":0.05},"791":{"servercnxn":1},"792":{"session_id":1},"793":{"statistics":0.043478260869565216,"on":0.043478260869565216,"each":0.043478260869565216,"client":0.043478260869565216,"connection":0.043478260869565216,"also":0.043478260869565216,"operations":0.043478260869565216,"those":0.043478260869565216,"connections":0.043478260869565216,"such":0.043478260869565216,"as":0.043478260869565216,"termination":0.043478260869565216,"note":0.043478260869565216,"the":0.043478260869565216,"object":0.043478260869565216,"name":0.043478260869565216,"is":0.043478260869565216,"session":0.043478260869565216,"id":0.043478260869565216,"of":0.043478260869565216,"in":0.043478260869565216,"hex":0.043478260869565216,"form":0.043478260869565216},"794":{"monitor":0.3333333333333333,"audit":0.3333333333333333,"logs":0.3333333333333333},"795":{"how":0.05,"to":0.05,"monitor":0.05,"zookeeper":0.05,"with":0.05,"prometheus":0.05,"grafana":0.05,"and":0.05,"influxdb":0.05,"metrics":0.05,"enable":0.05,"configure":0.05,"audit":0.05,"logging":0.05,"track":0.05,"operations":0.05,"performed":0.05,"on":0.05,"the":0.05,"cluster":0.05},"796":{"new":0.3333333333333333,"metrics":0.3333333333333333,"system":0.3333333333333333},"797":{"metrics":1},"798":{"configuring":0.25,"the":0.25,"metrics":0.25,"provider":0.25},"799":{"enabling":0.2,"https":0.2,"for":0.2,"prometheus":0.2,"metrics":0.2},"800":{"prometheus":1},"801":{"alerting":0.3333333333333333,"with":0.3333333333333333,"prometheus":0.3333333333333333},"802":{"grafana":1},"803":{"influxdb":1},"804":{"jmx":1},"805":{"four":0.3333333333333333,"letter":0.3333333333333333,"words":0.3333333333333333},"806":{"audit":0.5,"logs":0.5},"807":{"audit":0.3333333333333333,"log":0.3333333333333333,"configuration":0.3333333333333333},"808":{"who":0.125,"is":0.125,"taken":0.125,"as":0.125,"user":0.125,"in":0.125,"audit":0.125,"logs":0.125},"809":{"0":0.03333333333333333,"3":0.03333333333333333,"6":0.03333333333333333,"the":0.03333333333333333,"new":0.03333333333333333,"metrics":0.03333333333333333,"system":0.03333333333333333,"has":0.03333333333333333,"been":0.03333333333333333,"available":0.03333333333333333,"since":0.03333333333333333,"it":0.03333333333333333,"provides":0.03333333333333333,"rich":0.03333333333333333,"covering":0.03333333333333333,"znodes":0.03333333333333333,"network":0.03333333333333333,"disk":0.03333333333333333,"quorum":0.03333333333333333,"leader":0.03333333333333333,"election":0.03333333333333333,"clients":0.03333333333333333,"security":0.03333333333333333,"failures":0.03333333333333333,"watches":0.03333333333333333,"sessions":0.03333333333333333,"request":0.03333333333333333,"processors":0.03333333333333333,"and":0.03333333333333333,"more":0.03333333333333333},"810":{"all":0.125,"available":0.125,"metrics":0.125,"are":0.125,"defined":0.125,"in":0.125,"servermetrics":0.125,"java":0.125},"811":{"enable":0.1,"the":0.1,"prometheus":0.1,"metricsprovider":0.1,"by":0.1,"adding":0.1,"following":0.1,"to":0.1,"zoo":0.1,"cfg":0.1},"812":{"7000":0.07142857142857142,"the":0.07142857142857142,"http":0.07142857142857142,"port":0.07142857142857142,"for":0.07142857142857142,"prometheus":0.07142857142857142,"metrics":0.07142857142857142,"scraping":0.07142857142857142,"can":0.07142857142857142,"be":0.07142857142857142,"configured":0.07142857142857142,"with":0.07142857142857142,"default":0.07142857142857142,"is":0.07142857142857142},"813":{"zookeeper":0.07692307692307693,"supports":0.07692307692307693,"ssl":0.07692307692307693,"for":0.07692307692307693,"the":0.07692307692307693,"prometheus":0.07692307692307693,"metrics":0.07692307692307693,"endpoint":0.07692307692307693,"to":0.07692307692307693,"provide":0.07692307692307693,"secure":0.07692307692307693,"data":0.07692307692307693,"transmission":0.07692307692307693},"814":{"define":0.25,"the":0.25,"https":0.25,"port":0.25},"815":{"configure":0.1,"the":0.1,"ssl":0.1,"key":0.1,"store":0.1,"holds":0.1,"server's":0.1,"private":0.1,"and":0.1,"certificate":0.1},"816":{"configure":0.1,"the":0.1,"ssl":0.1,"trust":0.1,"store":0.1,"used":0.1,"to":0.1,"verify":0.1,"client":0.1,"certificates":0.1},"817":{"type":0.5,"info":0.5},"818":{"http":0.09090909090909091,"and":0.09090909090909091,"https":0.09090909090909091,"can":0.09090909090909091,"be":0.09090909090909091,"enabled":0.09090909090909091,"simultaneously":0.09090909090909091,"by":0.09090909090909091,"defining":0.09090909090909091,"both":0.09090909090909091,"ports":0.09090909090909091},"819":{"prometheus":0.09090909090909091,"is":0.09090909090909091,"the":0.09090909090909091,"easiest":0.09090909090909091,"way":0.09090909090909091,"to":0.09090909090909091,"ingest":0.09090909090909091,"and":0.09090909090909091,"record":0.09090909090909091,"zookeeper":0.09090909090909091,"metrics":0.09090909090909091},"820":{"install":0.14285714285714285,"prometheus":0.14285714285714285,"from":0.14285714285714285,"the":0.14285714285714285,"official":0.14285714285714285,"download":0.14285714285714285,"page":0.14285714285714285},"821":{"configure":0.1111111111111111,"the":0.1111111111111111,"scraper":0.1111111111111111,"to":0.1111111111111111,"target":0.1111111111111111,"your":0.1111111111111111,"zookeeper":0.1111111111111111,"cluster":0.1111111111111111,"endpoints":0.1111111111111111},"822":{"start":0.5,"prometheus":0.5},"823":{"10":0.1111111111111111,"prometheus":0.1111111111111111,"will":0.1111111111111111,"now":0.1111111111111111,"scrape":0.1111111111111111,"zookeeper":0.1111111111111111,"metrics":0.1111111111111111,"every":0.1111111111111111,"seconds":0.1111111111111111},"824":{"read":0.05555555555555555,"the":0.05555555555555555,"prometheus":0.05555555555555555,"alerting":0.05555555555555555,"documentation":0.05555555555555555,"for":0.05555555555555555,"principles":0.05555555555555555,"and":0.05555555555555555,"use":0.05555555555555555,"alertmanager":0.05555555555555555,"to":0.05555555555555555,"receive":0.05555555555555555,"alert":0.05555555555555555,"notifications":0.05555555555555555,"via":0.05555555555555555,"email":0.05555555555555555,"or":0.05555555555555555,"webhook":0.05555555555555555},"825":{"the":0.05555555555555555,"following":0.05555555555555555,"is":0.05555555555555555,"a":0.05555555555555555,"reference":0.05555555555555555,"alerting":0.05555555555555555,"rules":0.05555555555555555,"file":0.05555555555555555,"for":0.05555555555555555,"common":0.05555555555555555,"zookeeper":0.05555555555555555,"metrics":0.05555555555555555,"adjust":0.05555555555555555,"thresholds":0.05555555555555555,"to":0.05555555555555555,"match":0.05555555555555555,"your":0.05555555555555555,"environment":0.05555555555555555},"826":{"validate":0.2,"the":0.2,"rules":0.2,"file":0.2,"with":0.2},"827":{"rules":0.3333333333333333,"zk":0.3333333333333333,"yml":0.3333333333333333},"828":{"grafana":0.07692307692307693,"has":0.07692307692307693,"built-in":0.07692307692307693,"prometheus":0.07692307692307693,"support":0.07692307692307693,"add":0.07692307692307693,"a":0.07692307692307693,"data":0.07692307692307693,"source":0.07692307692307693,"with":0.07692307692307693,"the":0.07692307692307693,"following":0.07692307692307693,"settings":0.07692307692307693},"829":{"download":0.043478260869565216,"and":0.043478260869565216,"import":0.043478260869565216,"the":0.043478260869565216,"default":0.043478260869565216,"zookeeper":0.043478260869565216,"dashboard":0.043478260869565216,"template":0.043478260869565216,"customize":0.043478260869565216,"it":0.043478260869565216,"to":0.043478260869565216,"your":0.043478260869565216,"needs":0.043478260869565216,"if":0.043478260869565216,"you":0.043478260869565216,"have":0.043478260869565216,"improvements":0.043478260869565216,"share":0.043478260869565216,"send":0.043478260869565216,"them":0.043478260869565216,"dev":0.043478260869565216,"apache":0.043478260869565216,"org":0.043478260869565216},"830":{"influxdb":0.020833333333333332,"is":0.020833333333333332,"an":0.020833333333333332,"open":0.020833333333333332,"source":0.020833333333333332,"time":0.020833333333333332,"series":0.020833333333333332,"database":0.020833333333333332,"often":0.020833333333333332,"used":0.020833333333333332,"to":0.020833333333333332,"store":0.020833333333333332,"zookeeper":0.020833333333333332,"metrics":0.020833333333333332,"you":0.020833333333333332,"can":0.020833333333333332,"download":0.020833333333333332,"the":0.020833333333333332,"version":0.020833333333333332,"or":0.020833333333333332,"create":0.020833333333333332,"a":0.020833333333333332,"free":0.020833333333333332,"cloud":0.020833333333333332,"account":0.020833333333333332,"in":0.020833333333333332,"either":0.020833333333333332,"case":0.020833333333333332,"configure":0.020833333333333332,"apache":0.020833333333333332,"telegraf":0.020833333333333332,"plugin":0.020833333333333332,"collect":0.020833333333333332,"and":0.020833333333333332,"from":0.020833333333333332,"your":0.020833333333333332,"clusters":0.020833333333333332,"there":0.020833333333333332,"also":0.020833333333333332,"template":0.020833333333333332,"that":0.020833333333333332,"includes":0.020833333333333332,"configuration":0.020833333333333332,"pre-built":0.020833333333333332,"dashboard":0.020833333333333332,"get":0.020833333333333332,"started":0.020833333333333332,"quickly":0.020833333333333332},"831":{"see":0.16666666666666666,"the":0.16666666666666666,"jmx":0.16666666666666666,"guide":0.16666666666666666,"for":0.16666666666666666,"details":0.16666666666666666},"832":{"see":0.1111111111111111,"the":0.1111111111111111,"four":0.1111111111111111,"letter":0.1111111111111111,"words":0.1111111111111111,"section":0.1111111111111111,"in":0.1111111111111111,"administrator's":0.1111111111111111,"guide":0.1111111111111111},"833":{"0":0.024390243902439025,"3":0.024390243902439025,"6":0.024390243902439025,"apache":0.024390243902439025,"zookeeper":0.024390243902439025,"supports":0.024390243902439025,"audit":0.024390243902439025,"logging":0.024390243902439025,"from":0.024390243902439025,"version":0.024390243902439025,"by":0.024390243902439025,"default":0.024390243902439025,"logs":0.024390243902439025,"are":0.024390243902439025,"disabled":0.024390243902439025,"to":0.024390243902439025,"enable":0.024390243902439025,"them":0.024390243902439025,"set":0.024390243902439025,"true":0.024390243902439025,"in":0.024390243902439025,"conf":0.024390243902439025,"zoo":0.024390243902439025,"cfg":0.024390243902439025,"not":0.024390243902439025,"written":0.024390243902439025,"on":0.024390243902439025,"every":0.024390243902439025,"server":0.024390243902439025,"they":0.024390243902439025,"only":0.024390243902439025,"the":0.024390243902439025,"servers":0.024390243902439025,"which":0.024390243902439025,"a":0.024390243902439025,"client":0.024390243902439025,"is":0.024390243902439025,"connected":0.024390243902439025,"as":0.024390243902439025,"illustrated":0.024390243902439025,"below":0.024390243902439025},"834":{"the":0.07142857142857142,"audit":0.07142857142857142,"log":0.07142857142857142,"captures":0.07142857142857142,"detailed":0.07142857142857142,"information":0.07142857142857142,"for":0.07142857142857142,"audited":0.07142857142857142,"operations":0.07142857142857142,"written":0.07142857142857142,"as":0.07142857142857142,"key":0.07142857142857142,"value":0.07142857142857142,"pairs":0.07142857142857142},"835":{"key":1},"836":{"value":1},"837":{"session":1},"838":{"client":0.3333333333333333,"session":0.3333333333333333,"id":0.3333333333333333},"839":{"user":1},"840":{"comma-separated":0.05555555555555555,"list":0.05555555555555555,"of":0.05555555555555555,"users":0.05555555555555555,"associated":0.05555555555555555,"with":0.05555555555555555,"the":0.05555555555555555,"client":0.05555555555555555,"session":0.05555555555555555,"see":0.05555555555555555,"who":0.05555555555555555,"is":0.05555555555555555,"taken":0.05555555555555555,"as":0.05555555555555555,"user":0.05555555555555555,"in":0.05555555555555555,"audit":0.05555555555555555,"logs":0.05555555555555555},"841":{"ip":1},"842":{"client":0.3333333333333333,"ip":0.3333333333333333,"address":0.3333333333333333},"843":{"operation":1},"844":{"the":0.07142857142857142,"audited":0.07142857142857142,"operation":0.07142857142857142,"possible":0.07142857142857142,"values":0.07142857142857142,"serverstart":0.07142857142857142,"serverstop":0.07142857142857142,"create":0.07142857142857142,"delete":0.07142857142857142,"setdata":0.07142857142857142,"setacl":0.07142857142857142,"multioperation":0.07142857142857142,"reconfig":0.07142857142857142,"ephemeralznodedeleteonsessionclose":0.07142857142857142},"845":{"znode":1},"846":{"path":0.25,"of":0.25,"the":0.25,"znode":0.25},"847":{"znode":0.5,"type":0.5},"848":{"type":0.125,"of":0.125,"the":0.125,"znode":0.125,"only":0.125,"for":0.125,"create":0.125,"operations":0.125},"849":{"acl":1},"850":{"string":0.05555555555555555,"representation":0.05555555555555555,"of":0.05555555555555555,"the":0.05555555555555555,"znode":0.05555555555555555,"acl":0.05555555555555555,"e":0.05555555555555555,"g":0.05555555555555555,"cdrwa":0.05555555555555555,"create":0.05555555555555555,"delete":0.05555555555555555,"read":0.05555555555555555,"write":0.05555555555555555,"admin":0.05555555555555555,"only":0.05555555555555555,"logged":0.05555555555555555,"for":0.05555555555555555,"setacl":0.05555555555555555},"851":{"result":1},"852":{"outcome":0.043478260869565216,"of":0.043478260869565216,"the":0.043478260869565216,"operation":0.043478260869565216,"success":0.043478260869565216,"failure":0.043478260869565216,"or":0.043478260869565216,"invoked":0.043478260869565216,"result":0.043478260869565216,"is":0.043478260869565216,"used":0.043478260869565216,"for":0.043478260869565216,"serverstop":0.043478260869565216,"because":0.043478260869565216,"stop":0.043478260869565216,"logged":0.043478260869565216,"before":0.043478260869565216,"server":0.043478260869565216,"has":0.043478260869565216,"confirmed":0.043478260869565216,"it":0.043478260869565216,"actually":0.043478260869565216,"stopped":0.043478260869565216},"853":{"1":0.041666666666666664,"2":0.041666666666666664,"3":0.041666666666666664,"168":0.041666666666666664,"192":0.041666666666666664,"sample":0.041666666666666664,"audit":0.041666666666666664,"logs":0.041666666666666664,"for":0.041666666666666664,"all":0.041666666666666664,"operations":0.041666666666666664,"where":0.041666666666666664,"the":0.041666666666666664,"client":0.041666666666666664,"connected":0.041666666666666664,"from":0.041666666666666664,"principal":0.041666666666666664,"is":0.041666666666666664,"zkcli":0.041666666666666664,"hadoop":0.041666666666666664,"com":0.041666666666666664,"and":0.041666666666666664,"server":0.041666666666666664,"zookeeper":0.041666666666666664},"854":{"audit":0.045454545454545456,"logging":0.045454545454545456,"is":0.045454545454545456,"performed":0.045454545454545456,"using":0.045454545454545456,"logback":0.045454545454545456,"the":0.045454545454545456,"following":0.045454545454545456,"default":0.045454545454545456,"configuration":0.045454545454545456,"block":0.045454545454545456,"in":0.045454545454545456,"conf":0.045454545454545456,"xml":0.045454545454545456,"entire":0.045454545454545456,"commented":0.045454545454545456,"out":0.045454545454545456,"by":0.045454545454545456,"uncomment":0.045454545454545456,"it":0.045454545454545456,"to":0.045454545454545456,"activate":0.045454545454545456},"855":{"modify":0.047619047619047616,"this":0.047619047619047616,"configuration":0.047619047619047616,"to":0.047619047619047616,"customize":0.047619047619047616,"the":0.047619047619047616,"audit":0.047619047619047616,"log":0.047619047619047616,"filename":0.047619047619047616,"number":0.047619047619047616,"of":0.047619047619047616,"backup":0.047619047619047616,"files":0.047619047619047616,"maximum":0.047619047619047616,"file":0.047619047619047616,"size":0.047619047619047616,"or":0.047619047619047616,"use":0.047619047619047616,"a":0.047619047619047616,"custom":0.047619047619047616,"logger":0.047619047619047616},"856":{"there":0.16666666666666666,"are":0.16666666666666666,"four":0.16666666666666666,"built-in":0.16666666666666666,"authentication":0.16666666666666666,"providers":0.16666666666666666},"857":{"ipauthenticationprovider":0.1111111111111111,"the":0.1111111111111111,"authenticated":0.1111111111111111,"ip":0.1111111111111111,"address":0.1111111111111111,"is":0.1111111111111111,"used":0.1111111111111111,"as":0.1111111111111111,"user":0.1111111111111111},"858":{"saslauthenticationprovider":0.125,"the":0.125,"client":0.125,"principal":0.125,"is":0.125,"used":0.125,"as":0.125,"user":0.125},"859":{"x509authenticationprovider":0.125,"the":0.125,"client":0.125,"certificate":0.125,"is":0.125,"used":0.125,"as":0.125,"user":0.125},"860":{"digestauthenticationprovider":0.125,"the":0.125,"authenticated":0.125,"username":0.125,"is":0.125,"used":0.125,"as":0.125,"user":0.125},"861":{"custom":0.023255813953488372,"authentication":0.023255813953488372,"providers":0.023255813953488372,"can":0.023255813953488372,"override":0.023255813953488372,"org":0.023255813953488372,"apache":0.023255813953488372,"zookeeper":0.023255813953488372,"server":0.023255813953488372,"auth":0.023255813953488372,"authenticationprovider":0.023255813953488372,"getusername":0.023255813953488372,"string":0.023255813953488372,"id":0.023255813953488372,"to":0.023255813953488372,"provide":0.023255813953488372,"a":0.023255813953488372,"user":0.023255813953488372,"name":0.023255813953488372,"if":0.023255813953488372,"provider":0.023255813953488372,"does":0.023255813953488372,"not":0.023255813953488372,"this":0.023255813953488372,"method":0.023255813953488372,"the":0.023255813953488372,"value":0.023255813953488372,"stored":0.023255813953488372,"in":0.023255813953488372,"data":0.023255813953488372,"is":0.023255813953488372,"used":0.023255813953488372,"as":0.023255813953488372,"generally":0.023255813953488372,"only":0.023255813953488372,"field":0.023255813953488372,"but":0.023255813953488372,"it":0.023255813953488372,"up":0.023255813953488372,"what":0.023255813953488372,"they":0.023255813953488372,"store":0.023255813953488372,"there":0.023255813953488372},"862":{"not":0.024390243902439025,"all":0.024390243902439025,"zookeeper":0.024390243902439025,"operations":0.024390243902439025,"are":0.024390243902439025,"initiated":0.024390243902439025,"by":0.024390243902439025,"clients":0.024390243902439025,"some":0.024390243902439025,"performed":0.024390243902439025,"the":0.024390243902439025,"server":0.024390243902439025,"itself":0.024390243902439025,"for":0.024390243902439025,"example":0.024390243902439025,"when":0.024390243902439025,"a":0.024390243902439025,"client":0.024390243902439025,"session":0.024390243902439025,"closes":0.024390243902439025,"any":0.024390243902439025,"ephemeral":0.024390243902439025,"znodes":0.024390243902439025,"it":0.024390243902439025,"owned":0.024390243902439025,"deleted":0.024390243902439025,"directly":0.024390243902439025,"these":0.024390243902439025,"called":0.024390243902439025,"system":0.024390243902439025,"user":0.024390243902439025,"associated":0.024390243902439025,"with":0.024390243902439025,"principal":0.024390243902439025,"is":0.024390243902439025,"logged":0.024390243902439025,"as":0.024390243902439025,"if":0.024390243902439025,"hadoop":0.024390243902439025,"com":0.024390243902439025,"becomes":0.024390243902439025},"863":{"if":0.05,"there":0.05,"is":0.05,"no":0.05,"user":0.05,"associated":0.05,"with":0.05,"the":0.05,"zookeeper":0.05,"server":0.05,"os":0.05,"who":0.05,"started":0.05,"process":0.05,"used":0.05,"for":0.05,"example":0.05,"was":0.05,"by":0.05,"root":0.05},"864":{"0":0.022727272727272728,"1":0.022727272727272728,"127":0.022727272727272728,"a":0.022727272727272728,"single":0.022727272727272728,"client":0.022727272727272728,"can":0.022727272727272728,"attach":0.022727272727272728,"multiple":0.022727272727272728,"authentication":0.022727272727272728,"schemes":0.022727272727272728,"to":0.022727272727272728,"session":0.022727272727272728,"in":0.022727272727272728,"that":0.022727272727272728,"case":0.022727272727272728,"all":0.022727272727272728,"authenticated":0.022727272727272728,"identities":0.022727272727272728,"are":0.022727272727272728,"taken":0.022727272727272728,"as":0.022727272727272728,"the":0.022727272727272728,"user":0.022727272727272728,"and":0.022727272727272728,"presented":0.022727272727272728,"comma-separated":0.022727272727272728,"list":0.022727272727272728,"for":0.022727272727272728,"example":0.022727272727272728,"if":0.022727272727272728,"is":0.022727272727272728,"with":0.022727272727272728,"principal":0.022727272727272728,"zkcli":0.022727272727272728,"hadoop":0.022727272727272728,"com":0.022727272727272728,"ip":0.022727272727272728,"create":0.022727272727272728,"operation":0.022727272727272728,"audit":0.022727272727272728,"log":0.022727272727272728,"will":0.022727272727272728,"be":0.022727272727272728},"865":{"observers":1},"866":{"how":0.038461538461538464,"zookeeper":0.038461538461538464,"observers":0.038461538461538464,"enable":0.038461538461538464,"scaling":0.038461538461538464,"to":0.038461538461538464,"large":0.038461538461538464,"numbers":0.038461538461538464,"of":0.038461538461538464,"clients":0.038461538461538464,"without":0.038461538461538464,"hurting":0.038461538461538464,"write":0.038461538461538464,"performance":0.038461538461538464,"by":0.038461538461538464,"using":0.038461538461538464,"non-voting":0.038461538461538464,"ensemble":0.038461538461538464,"members":0.038461538461538464,"that":0.038461538461538464,"can":0.038461538461538464,"be":0.038461538461538464,"added":0.038461538461538464,"freely":0.038461538461538464,"affecting":0.038461538461538464,"quorum":0.038461538461538464},"867":{"how":0.25,"to":0.25,"use":0.25,"observers":0.25},"868":{"how":0.2,"to":0.2,"use":0.2,"observer":0.2,"masters":0.2},"869":{"example":0.3333333333333333,"use":0.3333333333333333,"cases":0.3333333333333333},"870":{"although":0.018518518518518517,"zookeeper":0.018518518518518517,"performs":0.018518518518518517,"very":0.018518518518518517,"well":0.018518518518518517,"by":0.018518518518518517,"having":0.018518518518518517,"clients":0.018518518518518517,"connect":0.018518518518518517,"directly":0.018518518518518517,"to":0.018518518518518517,"voting":0.018518518518518517,"members":0.018518518518518517,"of":0.018518518518518517,"the":0.018518518518518517,"ensemble":0.018518518518518517,"this":0.018518518518518517,"architecture":0.018518518518518517,"makes":0.018518518518518517,"it":0.018518518518518517,"hard":0.018518518518518517,"scale":0.018518518518518517,"out":0.018518518518518517,"huge":0.018518518518518517,"numbers":0.018518518518518517,"problem":0.018518518518518517,"is":0.018518518518518517,"that":0.018518518518518517,"as":0.018518518518518517,"we":0.018518518518518517,"add":0.018518518518518517,"more":0.018518518518518517,"write":0.018518518518518517,"performance":0.018518518518518517,"drops":0.018518518518518517,"because":0.018518518518518517,"a":0.018518518518518517,"operation":0.018518518518518517,"requires":0.018518518518518517,"agreement":0.018518518518518517,"at":0.018518518518518517,"least":0.018518518518518517,"half":0.018518518518518517,"nodes":0.018518518518518517,"in":0.018518518518518517,"an":0.018518518518518517,"so":0.018518518518518517,"cost":0.018518518518518517,"vote":0.018518518518518517,"grows":0.018518518518518517,"significantly":0.018518518518518517,"voters":0.018518518518518517,"are":0.018518518518518517,"added":0.018518518518518517},"871":{"we":0.013157894736842105,"have":0.013157894736842105,"introduced":0.013157894736842105,"a":0.013157894736842105,"new":0.013157894736842105,"type":0.013157894736842105,"of":0.013157894736842105,"zookeeper":0.013157894736842105,"node":0.013157894736842105,"called":0.013157894736842105,"an":0.013157894736842105,"observer":0.013157894736842105,"which":0.013157894736842105,"helps":0.013157894736842105,"address":0.013157894736842105,"this":0.013157894736842105,"problem":0.013157894736842105,"and":0.013157894736842105,"further":0.013157894736842105,"improves":0.013157894736842105,"zookeeper's":0.013157894736842105,"scalability":0.013157894736842105,"observers":0.013157894736842105,"are":0.013157894736842105,"non-voting":0.013157894736842105,"members":0.013157894736842105,"ensemble":0.013157894736842105,"only":0.013157894736842105,"hear":0.013157894736842105,"the":0.013157894736842105,"results":0.013157894736842105,"votes":0.013157894736842105,"not":0.013157894736842105,"agreement":0.013157894736842105,"protocol":0.013157894736842105,"that":0.013157894736842105,"leads":0.013157894736842105,"up":0.013157894736842105,"to":0.013157894736842105,"them":0.013157894736842105,"other":0.013157894736842105,"than":0.013157894736842105,"simple":0.013157894736842105,"distinction":0.013157894736842105,"function":0.013157894736842105,"exactly":0.013157894736842105,"same":0.013157894736842105,"as":0.013157894736842105,"followers":0.013157894736842105,"clients":0.013157894736842105,"may":0.013157894736842105,"connect":0.013157894736842105,"send":0.013157894736842105,"read":0.013157894736842105,"write":0.013157894736842105,"requests":0.013157894736842105,"forward":0.013157894736842105,"these":0.013157894736842105,"leader":0.013157894736842105,"like":0.013157894736842105,"do":0.013157894736842105,"but":0.013157894736842105,"they":0.013157894736842105,"then":0.013157894736842105,"simply":0.013157894736842105,"wait":0.013157894736842105,"result":0.013157894736842105,"vote":0.013157894736842105,"because":0.013157894736842105,"can":0.013157894736842105,"increase":0.013157894736842105,"number":0.013157894736842105,"much":0.013157894736842105,"without":0.013157894736842105,"harming":0.013157894736842105,"performance":0.013157894736842105},"872":{"observers":0.013888888888888888,"have":0.013888888888888888,"other":0.013888888888888888,"advantages":0.013888888888888888,"because":0.013888888888888888,"they":0.013888888888888888,"do":0.013888888888888888,"not":0.013888888888888888,"vote":0.013888888888888888,"are":0.013888888888888888,"a":0.013888888888888888,"critical":0.013888888888888888,"part":0.013888888888888888,"of":0.013888888888888888,"the":0.013888888888888888,"zookeeper":0.013888888888888888,"ensemble":0.013888888888888888,"can":0.013888888888888888,"fail":0.013888888888888888,"or":0.013888888888888888,"be":0.013888888888888888,"disconnected":0.013888888888888888,"from":0.013888888888888888,"cluster":0.013888888888888888,"without":0.013888888888888888,"harming":0.013888888888888888,"availability":0.013888888888888888,"service":0.013888888888888888,"benefit":0.013888888888888888,"to":0.013888888888888888,"user":0.013888888888888888,"is":0.013888888888888888,"that":0.013888888888888888,"may":0.013888888888888888,"connect":0.013888888888888888,"over":0.013888888888888888,"less":0.013888888888888888,"reliable":0.013888888888888888,"network":0.013888888888888888,"links":0.013888888888888888,"than":0.013888888888888888,"followers":0.013888888888888888,"in":0.013888888888888888,"fact":0.013888888888888888,"used":0.013888888888888888,"talk":0.013888888888888888,"server":0.013888888888888888,"another":0.013888888888888888,"data":0.013888888888888888,"center":0.013888888888888888,"clients":0.013888888888888888,"an":0.013888888888888888,"observer":0.013888888888888888,"will":0.013888888888888888,"see":0.013888888888888888,"fast":0.013888888888888888,"reads":0.013888888888888888,"as":0.013888888888888888,"all":0.013888888888888888,"served":0.013888888888888888,"locally":0.013888888888888888,"and":0.013888888888888888,"writes":0.013888888888888888,"result":0.013888888888888888,"minimal":0.013888888888888888,"traffic":0.013888888888888888,"since":0.013888888888888888,"number":0.013888888888888888,"messages":0.013888888888888888,"required":0.013888888888888888,"protocol":0.013888888888888888,"smaller":0.013888888888888888},"873":{"setting":0.0625,"up":0.0625,"a":0.0625,"zookeeper":0.0625,"ensemble":0.0625,"that":0.0625,"uses":0.0625,"observers":0.0625,"requires":0.0625,"just":0.0625,"two":0.0625,"changes":0.0625,"to":0.0625,"your":0.0625,"config":0.0625,"files":0.0625},"874":{"first":0.06666666666666667,"in":0.06666666666666667,"the":0.06666666666666667,"config":0.06666666666666667,"file":0.06666666666666667,"of":0.06666666666666667,"every":0.06666666666666667,"node":0.06666666666666667,"that":0.06666666666666667,"is":0.06666666666666667,"to":0.06666666666666667,"be":0.06666666666666667,"an":0.06666666666666667,"observer":0.06666666666666667,"add":0.06666666666666667},"875":{"this":0.09090909090909091,"tells":0.09090909090909091,"zookeeper":0.09090909090909091,"that":0.09090909090909091,"the":0.09090909090909091,"server":0.09090909090909091,"is":0.09090909090909091,"to":0.09090909090909091,"be":0.09090909090909091,"an":0.09090909090909091,"observer":0.09090909090909091},"876":{"second":0.0625,"in":0.0625,"every":0.0625,"server":0.0625,"config":0.0625,"file":0.0625,"append":0.0625,"observer":0.0625,"to":0.0625,"the":0.0625,"definition":0.0625,"line":0.0625,"of":0.0625,"each":0.0625,"for":0.0625,"example":0.0625},"877":{"1":0.029411764705882353,"this":0.029411764705882353,"tells":0.029411764705882353,"every":0.029411764705882353,"other":0.029411764705882353,"server":0.029411764705882353,"that":0.029411764705882353,"is":0.029411764705882353,"an":0.029411764705882353,"observer":0.029411764705882353,"and":0.029411764705882353,"they":0.029411764705882353,"should":0.029411764705882353,"not":0.029411764705882353,"expect":0.029411764705882353,"it":0.029411764705882353,"to":0.029411764705882353,"vote":0.029411764705882353,"all":0.029411764705882353,"the":0.029411764705882353,"configuration":0.029411764705882353,"needed":0.029411764705882353,"add":0.029411764705882353,"your":0.029411764705882353,"zookeeper":0.029411764705882353,"cluster":0.029411764705882353,"you":0.029411764705882353,"can":0.029411764705882353,"then":0.029411764705882353,"connect":0.029411764705882353,"as":0.029411764705882353,"would":0.029411764705882353,"ordinary":0.029411764705882353,"follower":0.029411764705882353},"878":{"2181":0.029411764705882353,"where":0.029411764705882353,"localhost":0.029411764705882353,"is":0.029411764705882353,"the":0.029411764705882353,"hostname":0.029411764705882353,"and":0.029411764705882353,"port":0.029411764705882353,"of":0.029411764705882353,"observer":0.029411764705882353,"as":0.029411764705882353,"specified":0.029411764705882353,"in":0.029411764705882353,"every":0.029411764705882353,"config":0.029411764705882353,"file":0.029411764705882353,"you":0.029411764705882353,"should":0.029411764705882353,"see":0.029411764705882353,"a":0.029411764705882353,"command":0.029411764705882353,"line":0.029411764705882353,"prompt":0.029411764705882353,"through":0.029411764705882353,"which":0.029411764705882353,"can":0.029411764705882353,"issue":0.029411764705882353,"commands":0.029411764705882353,"like":0.029411764705882353,"ls":0.029411764705882353,"to":0.029411764705882353,"query":0.029411764705882353,"zookeeper":0.029411764705882353,"service":0.029411764705882353},"879":{"observers":0.02702702702702703,"function":0.02702702702702703,"simply":0.02702702702702703,"as":0.02702702702702703,"non-voting":0.02702702702702703,"members":0.02702702702702703,"of":0.02702702702702703,"the":0.02702702702702703,"ensemble":0.02702702702702703,"sharing":0.02702702702702703,"learner":0.02702702702702703,"interface":0.02702702702702703,"with":0.02702702702702703,"followers":0.02702702702702703,"and":0.02702702702702703,"holding":0.02702702702702703,"only":0.02702702702702703,"a":0.02702702702702703,"slightly":0.02702702702702703,"different":0.02702702702702703,"internal":0.02702702702702703,"pipeline":0.02702702702702703,"both":0.02702702702702703,"maintain":0.02702702702702703,"connections":0.02702702702702703,"along":0.02702702702702703,"quorum":0.02702702702702703,"port":0.02702702702702703,"leader":0.02702702702702703,"by":0.02702702702702703,"which":0.02702702702702703,"they":0.02702702702702703,"learn":0.02702702702702703,"all":0.02702702702702703,"new":0.02702702702702703,"proposals":0.02702702702702703,"on":0.02702702702702703},"880":{"by":0.0125,"default":0.0125,"observers":0.0125,"connect":0.0125,"to":0.0125,"the":0.0125,"leader":0.0125,"along":0.0125,"its":0.0125,"quorum":0.0125,"port":0.0125,"learn":0.0125,"of":0.0125,"new":0.0125,"proposals":0.0125,"there":0.0125,"are":0.0125,"benefits":0.0125,"allowing":0.0125,"followers":0.0125,"instead":0.0125,"as":0.0125,"a":0.0125,"means":0.0125,"plugging":0.0125,"into":0.0125,"commit":0.0125,"stream":0.0125,"this":0.0125,"shifts":0.0125,"burden":0.0125,"supporting":0.0125,"off":0.0125,"it":0.0125,"focus":0.0125,"on":0.0125,"coordinating":0.0125,"writes":0.0125,"result":0.0125,"is":0.0125,"better":0.0125,"performance":0.0125,"when":0.0125,"under":0.0125,"high":0.0125,"load":0.0125,"particularly":0.0125,"network":0.0125,"such":0.0125,"after":0.0125,"election":0.0125,"many":0.0125,"learners":0.0125,"need":0.0125,"sync":0.0125,"also":0.0125,"reduces":0.0125,"total":0.0125,"number":0.0125,"connections":0.0125,"maintained":0.0125,"activating":0.0125,"feature":0.0125,"allows":0.0125,"overall":0.0125,"scale":0.0125,"hundreds":0.0125,"and":0.0125,"improves":0.0125,"observer":0.0125,"availability":0.0125,"since":0.0125,"large":0.0125,"finish":0.0125,"syncing":0.0125,"start":0.0125,"serving":0.0125,"client":0.0125,"traffic":0.0125,"faster":0.0125},"881":{"this":0.03225806451612903,"feature":0.03225806451612903,"is":0.03225806451612903,"activated":0.03225806451612903,"by":0.03225806451612903,"adding":0.03225806451612903,"the":0.03225806451612903,"following":0.03225806451612903,"entry":0.03225806451612903,"to":0.03225806451612903,"server":0.03225806451612903,"config":0.03225806451612903,"file":0.03225806451612903,"it":0.03225806451612903,"instructs":0.03225806451612903,"observers":0.03225806451612903,"connect":0.03225806451612903,"peers":0.03225806451612903,"leaders":0.03225806451612903,"and":0.03225806451612903,"followers":0.03225806451612903,"on":0.03225806451612903,"specified":0.03225806451612903,"port":0.03225806451612903,"create":0.03225806451612903,"an":0.03225806451612903,"observermaster":0.03225806451612903,"thread":0.03225806451612903,"listen":0.03225806451612903,"serve":0.03225806451612903,"that":0.03225806451612903},"882":{"wherever":0.029411764705882353,"you":0.029411764705882353,"wish":0.029411764705882353,"to":0.029411764705882353,"scale":0.029411764705882353,"the":0.029411764705882353,"number":0.029411764705882353,"of":0.029411764705882353,"clients":0.029411764705882353,"your":0.029411764705882353,"zookeeper":0.029411764705882353,"ensemble":0.029411764705882353,"or":0.029411764705882353,"where":0.029411764705882353,"insulate":0.029411764705882353,"critical":0.029411764705882353,"part":0.029411764705882353,"an":0.029411764705882353,"from":0.029411764705882353,"load":0.029411764705882353,"dealing":0.029411764705882353,"with":0.029411764705882353,"client":0.029411764705882353,"requests":0.029411764705882353,"observers":0.029411764705882353,"are":0.029411764705882353,"a":0.029411764705882353,"good":0.029411764705882353,"architectural":0.029411764705882353,"choice":0.029411764705882353,"two":0.029411764705882353,"example":0.029411764705882353,"use":0.029411764705882353,"cases":0.029411764705882353},"883":{"datacenter":0.022222222222222223,"bridge":0.022222222222222223,"forming":0.022222222222222223,"a":0.022222222222222223,"zookeeper":0.022222222222222223,"ensemble":0.022222222222222223,"between":0.022222222222222223,"two":0.022222222222222223,"datacenters":0.022222222222222223,"is":0.022222222222222223,"problematic":0.022222222222222223,"because":0.022222222222222223,"high":0.022222222222222223,"variance":0.022222222222222223,"in":0.022222222222222223,"latency":0.022222222222222223,"can":0.022222222222222223,"lead":0.022222222222222223,"to":0.022222222222222223,"false-positive":0.022222222222222223,"failure":0.022222222222222223,"detection":0.022222222222222223,"and":0.022222222222222223,"partitioning":0.022222222222222223,"however":0.022222222222222223,"if":0.022222222222222223,"the":0.022222222222222223,"runs":0.022222222222222223,"entirely":0.022222222222222223,"one":0.022222222222222223,"second":0.022222222222222223,"only":0.022222222222222223,"observers":0.022222222222222223,"partitions":0.022222222222222223,"are":0.022222222222222223,"not":0.022222222222222223,"remains":0.022222222222222223,"connected":0.022222222222222223,"clients":0.022222222222222223,"of":0.022222222222222223,"may":0.022222222222222223,"still":0.022222222222222223,"see":0.022222222222222223,"issue":0.022222222222222223,"proposals":0.022222222222222223},"884":{"message":0.027777777777777776,"bus":0.027777777777777776,"integration":0.027777777777777776,"some":0.027777777777777776,"use":0.027777777777777776,"cases":0.027777777777777776,"call":0.027777777777777776,"for":0.027777777777777776,"zookeeper":0.027777777777777776,"as":0.027777777777777776,"a":0.027777777777777776,"component":0.027777777777777776,"of":0.027777777777777776,"persistent":0.027777777777777776,"reliable":0.027777777777777776,"observers":0.027777777777777776,"provide":0.027777777777777776,"natural":0.027777777777777776,"point":0.027777777777777776,"plug-in":0.027777777777777776,"mechanism":0.027777777777777776,"can":0.027777777777777776,"attach":0.027777777777777776,"the":0.027777777777777776,"stream":0.027777777777777776,"proposals":0.027777777777777776,"an":0.027777777777777776,"observer":0.027777777777777776,"sees":0.027777777777777776,"to":0.027777777777777776,"publish-subscribe":0.027777777777777776,"system":0.027777777777777776,"without":0.027777777777777776,"loading":0.027777777777777776,"core":0.027777777777777776,"ensemble":0.027777777777777776},"885":{"quorums":1},"886":{"how":0.05263157894736842,"to":0.05263157894736842,"configure":0.05263157894736842,"zookeeper":0.05263157894736842,"quorums":0.05263157894736842,"hierarchical":0.05263157894736842,"using":0.05263157894736842,"server":0.05263157894736842,"groups":0.05263157894736842,"and":0.05263157894736842,"weights":0.05263157894736842,"oracle":0.05263157894736842,"quorum":0.05263157894736842,"for":0.05263157894736842,"increasing":0.05263157894736842,"availability":0.05263157894736842,"in":0.05263157894736842,"two-instance":0.05263157894736842,"clusters":0.05263157894736842},"887":{"hierarchical":0.5,"quorums":0.5},"888":{"oracle":0.5,"quorum":0.5},"889":{"the":0.25,"implementation":0.25,"of":0.25,"oracle":0.25},"890":{"deployment":0.5,"contexts":0.5},"891":{"configuring":0.16666666666666666,"the":0.16666666666666666,"oracle":0.16666666666666666,"in":0.16666666666666666,"zoo":0.16666666666666666,"cfg":0.16666666666666666},"892":{"example":0.3333333333333333,"zoo":0.3333333333333333,"cfg":0.3333333333333333},"893":{"behavior":0.2,"after":0.2,"enabling":0.2,"the":0.2,"oracle":0.2},"894":{"considerations":0.2,"when":0.2,"using":0.2,"the":0.2,"oracle":0.2},"895":{"liveness":0.5,"issue":0.5},"896":{"safety":0.5,"issue":0.5},"897":{"examples":0.2,"of":0.2,"failure":0.2,"detector":0.2,"implementations":0.2},"898":{"hardware-based":0.5,"implementation":0.5},"899":{"software-based":0.5,"implementation":0.5},"900":{"using":0.14285714285714285,"a":0.14285714285714285,"usb":0.14285714285714285,"device":0.14285714285714285,"as":0.14285714285714285,"the":0.14285714285714285,"oracle":0.14285714285714285},"901":{"reference":1},"902":{"this":0.02631578947368421,"document":0.02631578947368421,"gives":0.02631578947368421,"an":0.02631578947368421,"example":0.02631578947368421,"of":0.02631578947368421,"how":0.02631578947368421,"to":0.02631578947368421,"use":0.02631578947368421,"hierarchical":0.02631578947368421,"quorums":0.02631578947368421,"the":0.02631578947368421,"basic":0.02631578947368421,"idea":0.02631578947368421,"is":0.02631578947368421,"very":0.02631578947368421,"simple":0.02631578947368421,"first":0.02631578947368421,"we":0.02631578947368421,"split":0.02631578947368421,"servers":0.02631578947368421,"into":0.02631578947368421,"groups":0.02631578947368421,"and":0.02631578947368421,"add":0.02631578947368421,"a":0.02631578947368421,"line":0.02631578947368421,"for":0.02631578947368421,"each":0.02631578947368421,"group":0.02631578947368421,"listing":0.02631578947368421,"that":0.02631578947368421,"form":0.02631578947368421,"next":0.02631578947368421,"have":0.02631578947368421,"assign":0.02631578947368421,"weight":0.02631578947368421,"server":0.02631578947368421},"903":{"1":0.047619047619047616,"the":0.047619047619047616,"following":0.047619047619047616,"example":0.047619047619047616,"shows":0.047619047619047616,"how":0.047619047619047616,"to":0.047619047619047616,"configure":0.047619047619047616,"a":0.047619047619047616,"system":0.047619047619047616,"with":0.047619047619047616,"three":0.047619047619047616,"groups":0.047619047619047616,"of":0.047619047619047616,"servers":0.047619047619047616,"each":0.047619047619047616,"and":0.047619047619047616,"we":0.047619047619047616,"assign":0.047619047619047616,"weight":0.047619047619047616,"server":0.047619047619047616},"904":{"when":0.027777777777777776,"running":0.027777777777777776,"the":0.027777777777777776,"system":0.027777777777777776,"we":0.027777777777777776,"are":0.027777777777777776,"able":0.027777777777777776,"to":0.027777777777777776,"form":0.027777777777777776,"a":0.027777777777777776,"quorum":0.027777777777777776,"once":0.027777777777777776,"have":0.027777777777777776,"majority":0.027777777777777776,"of":0.027777777777777776,"votes":0.027777777777777776,"from":0.027777777777777776,"non-zero-weight":0.027777777777777776,"groups":0.027777777777777776,"that":0.027777777777777776,"zero":0.027777777777777776,"weight":0.027777777777777776,"discarded":0.027777777777777776,"and":0.027777777777777776,"not":0.027777777777777776,"considered":0.027777777777777776,"forming":0.027777777777777776,"quorums":0.027777777777777776,"looking":0.027777777777777776,"at":0.027777777777777776,"example":0.027777777777777776,"least":0.027777777777777776,"two":0.027777777777777776,"servers":0.027777777777777776,"each":0.027777777777777776,"different":0.027777777777777776},"905":{"2":0.030303030303030304,"oracle":0.030303030303030304,"quorum":0.030303030303030304,"increases":0.030303030303030304,"the":0.030303030303030304,"availability":0.030303030303030304,"of":0.030303030303030304,"a":0.030303030303030304,"cluster":0.030303030303030304,"zookeeper":0.030303030303030304,"instances":0.030303030303030304,"with":0.030303030303030304,"failure":0.030303030303030304,"detector":0.030303030303030304,"known":0.030303030303030304,"as":0.030303030303030304,"is":0.030303030303030304,"designed":0.030303030303030304,"to":0.030303030303030304,"grant":0.030303030303030304,"permission":0.030303030303030304,"instance":0.030303030303030304,"which":0.030303030303030304,"only":0.030303030303030304,"remaining":0.030303030303030304,"in":0.030303030303030304,"2-instance":0.030303030303030304,"configuration":0.030303030303030304,"when":0.030303030303030304,"other":0.030303030303030304,"identified":0.030303030303030304,"faulty":0.030303030303030304,"by":0.030303030303030304},"906":{"0":0.023255813953488372,"1":0.023255813953488372,"every":0.023255813953488372,"instance":0.023255813953488372,"accesses":0.023255813953488372,"a":0.023255813953488372,"file":0.023255813953488372,"which":0.023255813953488372,"contains":0.023255813953488372,"either":0.023255813953488372,"or":0.023255813953488372,"to":0.023255813953488372,"indicate":0.023255813953488372,"whether":0.023255813953488372,"that":0.023255813953488372,"is":0.023255813953488372,"authorized":0.023255813953488372,"by":0.023255813953488372,"the":0.023255813953488372,"oracle":0.023255813953488372,"this":0.023255813953488372,"design":0.023255813953488372,"can":0.023255813953488372,"be":0.023255813953488372,"changed":0.023255813953488372,"since":0.023255813953488372,"failure":0.023255813953488372,"detector":0.023255813953488372,"algorithms":0.023255813953488372,"vary":0.023255813953488372,"you":0.023255813953488372,"override":0.023255813953488372,"askoracle":0.023255813953488372,"method":0.023255813953488372,"in":0.023255813953488372,"quorumoraclemaj":0.023255813953488372,"adapt":0.023255813953488372,"preferred":0.023255813953488372,"way":0.023255813953488372,"of":0.023255813953488372,"reading":0.023255813953488372,"oracle's":0.023255813953488372,"decision":0.023255813953488372},"907":{"2":0.03571428571428571,"the":0.03571428571428571,"oracle":0.03571428571428571,"is":0.03571428571428571,"designed":0.03571428571428571,"to":0.03571428571428571,"increase":0.03571428571428571,"availability":0.03571428571428571,"of":0.03571428571428571,"a":0.03571428571428571,"cluster":0.03571428571428571,"zookeeper":0.03571428571428571,"instances":0.03571428571428571,"thus":0.03571428571428571,"size":0.03571428571428571,"voting":0.03571428571428571,"member":0.03571428571428571,"in":0.03571428571428571,"other":0.03571428571428571,"words":0.03571428571428571,"solves":0.03571428571428571,"consensus":0.03571428571428571,"problem":0.03571428571428571,"possible":0.03571428571428571,"faulty":0.03571428571428571,"instance":0.03571428571428571,"two-instance":0.03571428571428571,"ensemble":0.03571428571428571},"908":{"2":0.02127659574468085,"4":0.02127659574468085,"5":0.02127659574468085,"when":0.02127659574468085,"the":0.02127659574468085,"size":0.02127659574468085,"of":0.02127659574468085,"voting":0.02127659574468085,"members":0.02127659574468085,"exceeds":0.02127659574468085,"expected":0.02127659574468085,"way":0.02127659574468085,"to":0.02127659574468085,"make":0.02127659574468085,"oracle":0.02127659574468085,"work":0.02127659574468085,"correctly":0.02127659574468085,"is":0.02127659574468085,"reconfigure":0.02127659574468085,"cluster":0.02127659574468085,"a":0.02127659574468085,"faulty":0.02127659574468085,"machine":0.02127659574468085,"identified":0.02127659574468085,"for":0.02127659574468085,"example":0.02127659574468085,"with":0.02127659574468085,"configuration":0.02127659574468085,"instances":0.02127659574468085,"breaks":0.02127659574468085,"connection":0.02127659574468085,"leader":0.02127659574468085,"reconfig":0.02127659574468085,"client":0.02127659574468085,"request":0.02127659574468085,"re-form":0.02127659574468085,"as":0.02127659574468085,"once":0.02127659574468085,"member":0.02127659574468085,"equals":0.02127659574468085,"falls":0.02127659574468085,"into":0.02127659574468085,"problem":0.02127659574468085,"domain":0.02127659574468085,"which":0.02127659574468085,"designed":0.02127659574468085,"address":0.02127659574468085},"909":{"regardless":0.04,"of":0.04,"the":0.04,"cluster":0.04,"size":0.04,"oraclepath":0.04,"must":0.04,"be":0.04,"configured":0.04,"at":0.04,"initialization":0.04,"time":0.04,"like":0.04,"other":0.04,"static":0.04,"parameters":0.04,"following":0.04,"shows":0.04,"correct":0.04,"way":0.04,"to":0.04,"specify":0.04,"and":0.04,"enable":0.04,"oracle":0.04},"910":{"quorumoraclemaj":0.045454545454545456,"reads":0.045454545454545456,"the":0.045454545454545456,"result":0.045454545454545456,"of":0.045454545454545456,"a":0.045454545454545456,"failure":0.045454545454545456,"detector":0.045454545454545456,"written":0.045454545454545456,"to":0.045454545454545456,"text":0.045454545454545456,"file":0.045454545454545456,"oracle":0.045454545454545456,"suppose":0.045454545454545456,"you":0.045454545454545456,"have":0.045454545454545456,"some":0.045454545454545456,"path":0.045454545454545456,"txt":0.045454545454545456,"correct":0.045454545454545456,"configuration":0.045454545454545456,"is":0.045454545454545456},"911":{"0":0.05263157894736842,"1":0.05263157894736842,"the":0.05263157894736842,"oracle":0.05263157894736842,"file":0.05263157894736842,"should":0.05263157894736842,"contain":0.05263157894736842,"to":0.05263157894736842,"authorize":0.05263157894736842,"instance":0.05263157894736842,"or":0.05263157894736842,"deny":0.05263157894736842,"it":0.05263157894736842,"an":0.05263157894736842,"example":0.05263157894736842,"can":0.05263157894736842,"be":0.05263157894736842,"created":0.05263157894736842,"with":0.05263157894736842},"912":{"any":0.02631578947368421,"equivalent":0.02631578947368421,"file":0.02631578947368421,"is":0.02631578947368421,"suitable":0.02631578947368421,"for":0.02631578947368421,"the":0.02631578947368421,"current":0.02631578947368421,"implementation":0.02631578947368421,"of":0.02631578947368421,"quorumoraclemaj":0.02631578947368421,"number":0.02631578947368421,"oracle":0.02631578947368421,"files":0.02631578947368421,"should":0.02631578947368421,"equal":0.02631578947368421,"zookeeper":0.02631578947368421,"instances":0.02631578947368421,"configured":0.02631578947368421,"to":0.02631578947368421,"enable":0.02631578947368421,"each":0.02631578947368421,"instance":0.02631578947368421,"have":0.02631578947368421,"its":0.02631578947368421,"own":0.02631578947368421,"must":0.02631578947368421,"not":0.02631578947368421,"be":0.02631578947368421,"shared":0.02631578947368421,"otherwise":0.02631578947368421,"issues":0.02631578947368421,"described":0.02631578947368421,"in":0.02631578947368421,"safety":0.02631578947368421,"section":0.02631578947368421,"will":0.02631578947368421,"arise":0.02631578947368421},"913":{"quorumpeerconfig":0.024390243902439025,"will":0.024390243902439025,"create":0.024390243902439025,"an":0.024390243902439025,"instance":0.024390243902439025,"of":0.024390243902439025,"quorumoraclemaj":0.024390243902439025,"instead":0.024390243902439025,"the":0.024390243902439025,"default":0.024390243902439025,"quorummaj":0.024390243902439025,"when":0.024390243902439025,"it":0.024390243902439025,"reads":0.024390243902439025,"oraclepath":0.024390243902439025,"in":0.024390243902439025,"zoo":0.024390243902439025,"cfg":0.024390243902439025,"inherits":0.024390243902439025,"from":0.024390243902439025,"and":0.024390243902439025,"differs":0.024390243902439025,"its":0.024390243902439025,"superclass":0.024390243902439025,"by":0.024390243902439025,"overriding":0.024390243902439025,"containsquorum":0.024390243902439025,"executes":0.024390243902439025,"version":0.024390243902439025,"leader":0.024390243902439025,"loses":0.024390243902439025,"all":0.024390243902439025,"followers":0.024390243902439025,"fails":0.024390243902439025,"to":0.024390243902439025,"maintain":0.024390243902439025,"quorum":0.024390243902439025,"other":0.024390243902439025,"cases":0.024390243902439025,"behaves":0.024390243902439025,"identically":0.024390243902439025},"914":{"2":0.07142857142857142,"we":0.07142857142857142,"consider":0.07142857142857142,"an":0.07142857142857142,"asynchronous":0.07142857142857142,"distributed":0.07142857142857142,"system":0.07142857142857142,"which":0.07142857142857142,"consists":0.07142857142857142,"of":0.07142857142857142,"zookeeper":0.07142857142857142,"instances":0.07142857142857142,"and":0.07142857142857142,"oracle":0.07142857142857142},"915":{"when":0.125,"the":0.125,"oracle":0.125,"satisfies":0.125,"following":0.125,"property":0.125,"introduced":0.125,"by":0.125},"916":{"strong":0.0625,"completeness":0.0625,"there":0.0625,"is":0.0625,"a":0.0625,"time":0.0625,"after":0.0625,"which":0.0625,"every":0.0625,"process":0.0625,"that":0.0625,"crashes":0.0625,"permanently":0.0625,"suspected":0.0625,"by":0.0625,"correct":0.0625},"917":{"liveness":0.05263157894736842,"of":0.05263157894736842,"the":0.05263157894736842,"system":0.05263157894736842,"is":0.05263157894736842,"ensured":0.05263157894736842,"by":0.05263157894736842,"oracle":0.05263157894736842,"however":0.05263157894736842,"when":0.05263157894736842,"fails":0.05263157894736842,"to":0.05263157894736842,"maintain":0.05263157894736842,"this":0.05263157894736842,"property":0.05263157894736842,"loss":0.05263157894736842,"expected":0.05263157894736842,"for":0.05263157894736842,"example":0.05263157894736842},"918":{"suppose":0.05555555555555555,"we":0.05555555555555555,"have":0.05555555555555555,"a":0.05555555555555555,"leader":0.05555555555555555,"and":0.05555555555555555,"follower":0.05555555555555555,"running":0.05555555555555555,"in":0.05555555555555555,"the":0.05555555555555555,"broadcasting":0.05555555555555555,"state":0.05555555555555555,"system":0.05555555555555555,"will":0.05555555555555555,"lose":0.05555555555555555,"its":0.05555555555555555,"liveness":0.05555555555555555,"when":0.05555555555555555},"919":{"the":0.0625,"leader":0.0625,"fails":0.0625,"but":0.0625,"oracle":0.0625,"does":0.0625,"not":0.0625,"detect":0.0625,"faulty":0.0625,"will":0.0625,"authorize":0.0625,"follower":0.0625,"to":0.0625,"become":0.0625,"a":0.0625,"new":0.0625},"920":{"a":0.058823529411764705,"follower":0.058823529411764705,"fails":0.058823529411764705,"but":0.058823529411764705,"the":0.058823529411764705,"oracle":0.058823529411764705,"does":0.058823529411764705,"not":0.058823529411764705,"detect":0.058823529411764705,"faulty":0.058823529411764705,"will":0.058823529411764705,"authorize":0.058823529411764705,"leader":0.058823529411764705,"to":0.058823529411764705,"move":0.058823529411764705,"system":0.058823529411764705,"forward":0.058823529411764705},"921":{"loss":0.3333333333333333,"of":0.3333333333333333,"progress":0.3333333333333333},"922":{"progress":0.0625,"can":0.0625,"be":0.0625,"lost":0.0625,"when":0.0625,"multiple":0.0625,"failures":0.0625,"occur":0.0625,"in":0.0625,"the":0.0625,"system":0.0625,"at":0.0625,"different":0.0625,"times":0.0625,"for":0.0625,"example":0.0625},"923":{"suppose":0.07692307692307693,"we":0.07692307692307693,"have":0.07692307692307693,"a":0.07692307692307693,"leader":0.07692307692307693,"ben":0.07692307692307693,"and":0.07692307692307693,"follower":0.07692307692307693,"john":0.07692307692307693,"in":0.07692307692307693,"the":0.07692307692307693,"broadcasting":0.07692307692307693,"state":0.07692307692307693},"924":{"t1":0.07142857142857142,"zxid":0.07142857142857142,"0x1_1":0.07142857142857142,"l-ben":0.07142857142857142,"fails":0.07142857142857142,"and":0.07142857142857142,"f-john":0.07142857142857142,"takes":0.07142857142857142,"over":0.07142857142857142,"under":0.07142857142857142,"authorization":0.07142857142857142,"from":0.07142857142857142,"the":0.07142857142857142,"oracle":0.07142857142857142},"925":{"t2":0.08333333333333333,"zxid":0.08333333333333333,"0x2_1":0.08333333333333333,"f-john":0.08333333333333333,"becomes":0.08333333333333333,"a":0.08333333333333333,"new":0.08333333333333333,"leader":0.08333333333333333,"l-john":0.08333333333333333,"and":0.08333333333333333,"starts":0.08333333333333333,"epoch":0.08333333333333333},"926":{"t3":0.2,"zxid":0.2,"0x2_a":0.2,"l-john":0.2,"fails":0.2},"927":{"t4":0.1111111111111111,"zxid":0.1111111111111111,"0x2_a":0.1111111111111111,"ben":0.1111111111111111,"recovers":0.1111111111111111,"and":0.1111111111111111,"starts":0.1111111111111111,"leader":0.1111111111111111,"election":0.1111111111111111},"928":{"t5":0.07692307692307693,"zxid":0.07692307692307693,"0x3_1":0.07692307692307693,"ben":0.07692307692307693,"becomes":0.07692307692307693,"the":0.07692307692307693,"new":0.07692307692307693,"leader":0.07692307692307693,"l-ben":0.07692307692307693,"under":0.07692307692307693,"authorization":0.07692307692307693,"from":0.07692307692307693,"oracle":0.07692307692307693},"929":{"in":0.08333333333333333,"this":0.08333333333333333,"case":0.08333333333333333,"the":0.08333333333333333,"system":0.08333333333333333,"loses":0.08333333333333333,"its":0.08333333333333333,"progress":0.08333333333333333,"after":0.08333333333333333,"l-ben":0.08333333333333333,"initially":0.08333333333333333,"failed":0.08333333333333333},"930":{"however":0.023809523809523808,"loss":0.023809523809523808,"of":0.023809523809523808,"progress":0.023809523809523808,"can":0.023809523809523808,"be":0.023809523809523808,"prevented":0.023809523809523808,"by":0.023809523809523808,"making":0.023809523809523808,"the":0.023809523809523808,"oracle":0.023809523809523808,"capable":0.023809523809523808,"referring":0.023809523809523808,"to":0.023809523809523808,"latest":0.023809523809523808,"zxid":0.023809523809523808,"when":0.023809523809523808,"refer":0.023809523809523808,"at":0.023809523809523808,"t5":0.023809523809523808,"0x2_a":0.023809523809523808,"ben":0.023809523809523808,"will":0.023809523809523808,"not":0.023809523809523808,"complete":0.023809523809523808,"leader":0.023809523809523808,"election":0.023809523809523808,"because":0.023809523809523808,"would":0.023809523809523808,"authorize":0.023809523809523808,"him":0.023809523809523808,"while":0.023809523809523808,"john":0.023809523809523808,"is":0.023809523809523808,"still":0.023809523809523808,"known":0.023809523809523808,"ahead":0.023809523809523808,"this":0.023809523809523808,"trades":0.023809523809523808,"liveness":0.023809523809523808,"for":0.023809523809523808,"safety":0.023809523809523808},"931":{"split":0.3333333333333333,"brain":0.3333333333333333,"issue":0.3333333333333333},"932":{"we":0.1111111111111111,"consider":0.1111111111111111,"the":0.1111111111111111,"oracle":0.1111111111111111,"satisfies":0.1111111111111111,"following":0.1111111111111111,"property":0.1111111111111111,"introduced":0.1111111111111111,"by":0.1111111111111111},"933":{"accuracy":0.07142857142857142,"there":0.07142857142857142,"is":0.07142857142857142,"a":0.07142857142857142,"time":0.07142857142857142,"after":0.07142857142857142,"which":0.07142857142857142,"some":0.07142857142857142,"correct":0.07142857142857142,"process":0.07142857142857142,"never":0.07142857142857142,"suspected":0.07142857142857142,"by":0.07142857142857142,"any":0.07142857142857142},"934":{"the":0.1111111111111111,"decisions":0.1111111111111111,"oracle":0.1111111111111111,"gives":0.1111111111111111,"out":0.1111111111111111,"must":0.1111111111111111,"be":0.1111111111111111,"mutually":0.1111111111111111,"exclusive":0.1111111111111111},"935":{"suppose":0.07692307692307693,"we":0.07692307692307693,"have":0.07692307692307693,"a":0.07692307692307693,"leader":0.07692307692307693,"ben":0.07692307692307693,"and":0.07692307692307693,"follower":0.07692307692307693,"john":0.07692307692307693,"in":0.07692307692307693,"the":0.07692307692307693,"broadcasting":0.07692307692307693,"state":0.07692307692307693},"936":{"at":0.05,"any":0.05,"time":0.05,"the":0.05,"oracle":0.05,"will":0.05,"not":0.05,"authorize":0.05,"both":0.05,"ben":0.05,"and":0.05,"john":0.05,"simultaneously":0.05,"even":0.05,"if":0.05,"each":0.05,"failure":0.05,"detector":0.05,"suspects":0.05,"other":0.05},"937":{"1":0.058823529411764705,"equivalently":0.058823529411764705,"for":0.058823529411764705,"any":0.058823529411764705,"two":0.058823529411764705,"oracle":0.058823529411764705,"files":0.058823529411764705,"their":0.058823529411764705,"values":0.058823529411764705,"must":0.058823529411764705,"not":0.058823529411764705,"both":0.058823529411764705,"be":0.058823529411764705,"at":0.058823529411764705,"the":0.058823529411764705,"same":0.058823529411764705,"time":0.058823529411764705},"938":{"split":0.05263157894736842,"brain":0.05263157894736842,"is":0.05263157894736842,"expected":0.05263157894736842,"when":0.05263157894736842,"the":0.05263157894736842,"oracle":0.05263157894736842,"fails":0.05263157894736842,"to":0.05263157894736842,"maintain":0.05263157894736842,"this":0.05263157894736842,"property":0.05263157894736842,"during":0.05263157894736842,"leader":0.05263157894736842,"election":0.05263157894736842,"which":0.05263157894736842,"can":0.05263157894736842,"happen":0.05263157894736842,"at":0.05263157894736842},"939":{"system":0.5,"start":0.5},"940":{"a":0.16666666666666666,"failed":0.16666666666666666,"instance":0.16666666666666666,"recovering":0.16666666666666666,"from":0.16666666666666666,"failure":0.16666666666666666},"941":{"a":0.045454545454545456,"failure":0.045454545454545456,"detector's":0.045454545454545456,"role":0.045454545454545456,"is":0.045454545454545456,"to":0.045454545454545456,"authorize":0.045454545454545456,"the":0.045454545454545456,"querying":0.045454545454545456,"zookeeper":0.045454545454545456,"instance":0.045454545454545456,"whether":0.045454545454545456,"it":0.045454545454545456,"has":0.045454545454545456,"right":0.045454545454545456,"move":0.045454545454545456,"system":0.045454545454545456,"forward":0.045454545454545456,"without":0.045454545454545456,"waiting":0.045454545454545456,"for":0.045454545454545456,"faulty":0.045454545454545456},"942":{"1":0.023809523809523808,"suppose":0.023809523809523808,"two":0.023809523809523808,"dedicated":0.023809523809523808,"hardware":0.023809523809523808,"nodes":0.023809523809523808,"hw1":0.023809523809523808,"and":0.023809523809523808,"hw2":0.023809523809523808,"host":0.023809523809523808,"zookeeper":0.023809523809523808,"instances":0.023809523809523808,"zk1":0.023809523809523808,"zk2":0.023809523809523808,"respectively":0.023809523809523808,"forming":0.023809523809523808,"a":0.023809523809523808,"cluster":0.023809523809523808,"device":0.023809523809523808,"attached":0.023809523809523808,"to":0.023809523809523808,"both":0.023809523809523808,"can":0.023809523809523808,"determine":0.023809523809523808,"whether":0.023809523809523808,"each":0.023809523809523808,"is":0.023809523809523808,"powered":0.023809523809523808,"on":0.023809523809523808,"when":0.023809523809523808,"not":0.023809523809523808,"undoubtedly":0.023809523809523808,"faulty":0.023809523809523808,"the":0.023809523809523808,"then":0.023809523809523808,"updates":0.023809523809523808,"oracle":0.023809523809523808,"file":0.023809523809523808,"authorizing":0.023809523809523808,"move":0.023809523809523808,"system":0.023809523809523808,"forward":0.023809523809523808},"943":{"1":0.022222222222222223,"suppose":0.022222222222222223,"two":0.022222222222222223,"dedicated":0.022222222222222223,"hardware":0.022222222222222223,"nodes":0.022222222222222223,"hw1":0.022222222222222223,"and":0.022222222222222223,"hw2":0.022222222222222223,"host":0.022222222222222223,"zookeeper":0.022222222222222223,"instances":0.022222222222222223,"zk1":0.022222222222222223,"zk2":0.022222222222222223,"respectively":0.022222222222222223,"services":0.022222222222222223,"o1":0.022222222222222223,"on":0.022222222222222223,"o2":0.022222222222222223,"detect":0.022222222222222223,"whether":0.022222222222222223,"the":0.022222222222222223,"other":0.022222222222222223,"node":0.022222222222222223,"is":0.022222222222222223,"alive":0.022222222222222223,"for":0.022222222222222223,"example":0.022222222222222223,"by":0.022222222222222223,"pinging":0.022222222222222223,"when":0.022222222222222223,"cannot":0.022222222222222223,"ping":0.022222222222222223,"it":0.022222222222222223,"identifies":0.022222222222222223,"as":0.022222222222222223,"faulty":0.022222222222222223,"updates":0.022222222222222223,"oracle":0.022222222222222223,"file":0.022222222222222223,"of":0.022222222222222223,"to":0.022222222222222223,"authorizing":0.022222222222222223,"move":0.022222222222222223,"forward":0.022222222222222223},"944":{"7":0.030303030303030304,"10":0.030303030303030304,"15":0.030303030303030304,"in":0.030303030303030304,"macos":0.030303030303030304,"19h2":0.030303030303030304,"external":0.030303030303030304,"storage":0.030303030303030304,"devices":0.030303030303030304,"are":0.030303030303030304,"mounted":0.030303030303030304,"under":0.030303030303030304,"volumes":0.030303030303030304,"a":0.030303030303030304,"usb":0.030303030303030304,"device":0.030303030303030304,"containing":0.030303030303030304,"the":0.030303030303030304,"required":0.030303030303030304,"oracle":0.030303030303030304,"file":0.030303030303030304,"can":0.030303030303030304,"serve":0.030303030303030304,"as":0.030303030303030304,"when":0.030303030303030304,"is":0.030303030303030304,"connected":0.030303030303030304,"authorizes":0.030303030303030304,"leader":0.030303030303030304,"to":0.030303030303030304,"move":0.030303030303030304,"system":0.030303030303030304,"forward":0.030303030303030304},"945":{"6":0.125,"the":0.125,"following":0.125,"steps":0.125,"demonstrate":0.125,"how":0.125,"this":0.125,"works":0.125},"946":{"insert":0.08333333333333333,"a":0.08333333333333333,"usb":0.08333333333333333,"device":0.08333333333333333,"named":0.08333333333333333,"oracle":0.08333333333333333,"the":0.08333333333333333,"path":0.08333333333333333,"volumes":0.08333333333333333,"will":0.08333333333333333,"be":0.08333333333333333,"accessible":0.08333333333333333},"947":{"1":0.1,"create":0.1,"a":0.1,"file":0.1,"containing":0.1,"under":0.1,"volumes":0.1,"oracle":0.1,"named":0.1,"mastership":0.1},"948":{"the":0.09090909090909091,"path":0.09090909090909091,"volumes":0.09090909090909091,"oracle":0.09090909090909091,"mastership":0.09090909090909091,"is":0.09090909090909091,"now":0.09090909090909091,"accessible":0.09090909090909091,"to":0.09090909090909091,"zookeeper":0.09090909090909091,"instances":0.09090909090909091},"949":{"create":0.14285714285714285,"a":0.14285714285714285,"zoo":0.14285714285714285,"cfg":0.14285714285714285,"like":0.14285714285714285,"the":0.14285714285714285,"following":0.14285714285714285},"950":{"note":0.027777777777777776,"split":0.027777777777777776,"brain":0.027777777777777776,"will":0.027777777777777776,"not":0.027777777777777776,"occur":0.027777777777777776,"here":0.027777777777777776,"because":0.027777777777777776,"there":0.027777777777777776,"is":0.027777777777777776,"only":0.027777777777777776,"a":0.027777777777777776,"single":0.027777777777777776,"usb":0.027777777777777776,"device":0.027777777777777776,"mastership":0.027777777777777776,"must":0.027777777777777776,"be":0.027777777777777776,"shared":0.027777777777777776,"by":0.027777777777777776,"multiple":0.027777777777777776,"instances":0.027777777777777776,"one":0.027777777777777776,"zookeeper":0.027777777777777776,"instance":0.027777777777777776,"should":0.027777777777777776,"configured":0.027777777777777776,"with":0.027777777777777776,"oracle":0.027777777777777776,"see":0.027777777777777776,"the":0.027777777777777776,"safety":0.027777777777777776,"issue":0.027777777777777776,"section":0.027777777777777776,"for":0.027777777777777776,"details":0.027777777777777776},"951":{"start":0.1111111111111111,"the":0.1111111111111111,"cluster":0.1111111111111111,"it":0.1111111111111111,"should":0.1111111111111111,"form":0.1111111111111111,"a":0.1111111111111111,"quorum":0.1111111111111111,"normally":0.1111111111111111},"952":{"0":0.045454545454545456,"terminate":0.045454545454545456,"the":0.045454545454545456,"instance":0.045454545454545456,"that":0.045454545454545456,"is":0.045454545454545456,"either":0.045454545454545456,"not":0.045454545454545456,"attached":0.045454545454545456,"to":0.045454545454545456,"a":0.045454545454545456,"usb":0.045454545454545456,"device":0.045454545454545456,"or":0.045454545454545456,"whose":0.045454545454545456,"mastership":0.045454545454545456,"file":0.045454545454545456,"contains":0.045454545454545456,"two":0.045454545454545456,"scenarios":0.045454545454545456,"are":0.045454545454545456,"expected":0.045454545454545456},"953":{"a":0.06666666666666667,"leader":0.06666666666666667,"failure":0.06666666666666667,"occurs":0.06666666666666667,"and":0.06666666666666667,"the":0.06666666666666667,"remaining":0.06666666666666667,"instance":0.06666666666666667,"completes":0.06666666666666667,"election":0.06666666666666667,"on":0.06666666666666667,"its":0.06666666666666667,"own":0.06666666666666667,"via":0.06666666666666667,"oracle":0.06666666666666667},"954":{"the":0.16666666666666666,"quorum":0.16666666666666666,"is":0.16666666666666666,"maintained":0.16666666666666666,"via":0.16666666666666666,"oracle":0.16666666666666666},"955":{"5":0.022727272727272728,"remove":0.022727272727272728,"the":0.022727272727272728,"usb":0.022727272727272728,"device":0.022727272727272728,"volumes":0.022727272727272728,"oracle":0.022727272727272728,"mastership":0.022727272727272728,"becomes":0.022727272727272728,"unavailable":0.022727272727272728,"according":0.022727272727272728,"to":0.022727272727272728,"current":0.022727272727272728,"implementation":0.022727272727272728,"whenever":0.022727272727272728,"leader":0.022727272727272728,"queries":0.022727272727272728,"and":0.022727272727272728,"file":0.022727272727272728,"is":0.022727272727272728,"missing":0.022727272727272728,"throws":0.022727272727272728,"an":0.022727272727272728,"exception":0.022727272727272728,"returns":0.022727272727272728,"false":0.022727272727272728,"repeating":0.022727272727272728,"step":0.022727272727272728,"will":0.022727272727272728,"result":0.022727272727272728,"in":0.022727272727272728,"either":0.022727272727272728,"system":0.022727272727272728,"being":0.022727272727272728,"unable":0.022727272727272728,"recover":0.022727272727272728,"from":0.022727272727272728,"a":0.022727272727272728,"failure":0.022727272727272728,"or":0.022727272727272728,"losing":0.022727272727272728,"quorum":0.022727272727272728,"service":0.022727272727272728,"interrupted":0.022727272727272728},"956":{"with":0.06666666666666667,"these":0.06666666666666667,"steps":0.06666666666666667,"you":0.06666666666666667,"can":0.06666666666666667,"observe":0.06666666666666667,"and":0.06666666666666667,"practice":0.06666666666666667,"how":0.06666666666666667,"the":0.06666666666666667,"oracle":0.06666666666666667,"works":0.06666666666666667,"a":0.06666666666666667,"two-instance":0.06666666666666667,"system":0.06666666666666667},"957":{"10":0.023809523809523808,"325":0.023809523809523808,"340":0.023809523809523808,"1145":0.023809523809523808,"1991":0.023809523809523808,"112600":0.023809523809523808,"112627":0.023809523809523808,"tushar":0.023809523809523808,"deepak":0.023809523809523808,"chandra":0.023809523809523808,"and":0.023809523809523808,"sam":0.023809523809523808,"toueg":0.023809523809523808,"unreliable":0.023809523809523808,"failure":0.023809523809523808,"detectors":0.023809523809523808,"for":0.023809523809523808,"asynchronous":0.023809523809523808,"systems":0.023809523809523808,"preliminary":0.023809523809523808,"version":0.023809523809523808,"in":0.023809523809523808,"proceedings":0.023809523809523808,"of":0.023809523809523808,"the":0.023809523809523808,"tenth":0.023809523809523808,"annual":0.023809523809523808,"acm":0.023809523809523808,"symposium":0.023809523809523808,"on":0.023809523809523808,"principles":0.023809523809523808,"distributed":0.023809523809523808,"computing":0.023809523809523808,"podc":0.023809523809523808,"'91":0.023809523809523808,"association":0.023809523809523808,"machinery":0.023809523809523808,"new":0.023809523809523808,"york":0.023809523809523808,"ny":0.023809523809523808,"usa":0.023809523809523808,"doi":0.023809523809523808},"958":{"quota":0.5,"guide":0.5},"959":{"zookeeper":0.06666666666666667,"has":0.06666666666666667,"both":0.06666666666666667,"namespace":0.06666666666666667,"and":0.06666666666666667,"bytes":0.06666666666666667,"quotas":0.06666666666666667,"you":0.06666666666666667,"can":0.06666666666666667,"use":0.06666666666666667,"the":0.06666666666666667,"zookeepermain":0.06666666666666667,"class":0.06666666666666667,"to":0.06666666666666667,"setup":0.06666666666666667},"960":{"setting":0.5,"quotas":0.5},"961":{"listing":0.5,"quotas":0.5},"962":{"deleting":0.5,"quotas":0.5},"963":{"zookeeper":0.058823529411764705,"prints":0.058823529411764705,"warn":0.058823529411764705,"messages":0.058823529411764705,"if":0.058823529411764705,"users":0.058823529411764705,"exceed":0.058823529411764705,"the":0.058823529411764705,"quota":0.058823529411764705,"assigned":0.058823529411764705,"to":0.058823529411764705,"them":0.058823529411764705,"are":0.058823529411764705,"printed":0.058823529411764705,"in":0.058823529411764705,"log":0.058823529411764705,"of":0.058823529411764705},"964":{"notice":0.058823529411764705,"what":0.058823529411764705,"the":0.058823529411764705,"namespace":0.058823529411764705,"quota":0.058823529411764705,"means":0.058823529411764705,"is":0.058823529411764705,"count":0.058823529411764705,"which":0.058823529411764705,"limits":0.058823529411764705,"number":0.058823529411764705,"of":0.058823529411764705,"children":0.058823529411764705,"under":0.058823529411764705,"path":0.058823529411764705,"included":0.058823529411764705,"itself":0.058823529411764705},"965":{"the":0.09090909090909091,"above":0.09090909090909091,"command":0.09090909090909091,"gives":0.09090909090909091,"you":0.09090909090909091,"a":0.09090909090909091,"line":0.09090909090909091,"option":0.09090909090909091,"of":0.09090909090909091,"using":0.09090909090909091,"quotas":0.09090909090909091},"966":{"you":0.037037037037037035,"can":0.037037037037037035,"use":0.037037037037037035,"setquota":0.037037037037037035,"to":0.037037037037037035,"set":0.037037037037037035,"a":0.037037037037037035,"quota":0.037037037037037035,"on":0.037037037037037035,"zookeeper":0.037037037037037035,"node":0.037037037037037035,"it":0.037037037037037035,"has":0.037037037037037035,"an":0.037037037037037035,"option":0.037037037037037035,"of":0.037037037037037035,"setting":0.037037037037037035,"with":0.037037037037037035,"-n":0.037037037037037035,"for":0.037037037037037035,"namespace":0.037037037037037035,"count":0.037037037037037035,"and":0.037037037037037035,"-b":0.037037037037037035,"bytes":0.037037037037037035,"data":0.037037037037037035,"length":0.037037037037037035},"967":{"the":0.034482758620689655,"zookeeper":0.034482758620689655,"quota":0.034482758620689655,"is":0.034482758620689655,"stored":0.034482758620689655,"in":0.034482758620689655,"itself":0.034482758620689655,"to":0.034482758620689655,"disable":0.034482758620689655,"other":0.034482758620689655,"people":0.034482758620689655,"from":0.034482758620689655,"changing":0.034482758620689655,"quotas":0.034482758620689655,"users":0.034482758620689655,"can":0.034482758620689655,"set":0.034482758620689655,"acl":0.034482758620689655,"for":0.034482758620689655,"so":0.034482758620689655,"that":0.034482758620689655,"only":0.034482758620689655,"admins":0.034482758620689655,"are":0.034482758620689655,"able":0.034482758620689655,"read":0.034482758620689655,"and":0.034482758620689655,"write":0.034482758620689655,"it":0.034482758620689655},"968":{"if":0.09090909090909091,"the":0.09090909090909091,"quota":0.09090909090909091,"doesn't":0.09090909090909091,"exist":0.09090909090909091,"in":0.09090909090909091,"specified":0.09090909090909091,"path":0.09090909090909091,"create":0.09090909090909091,"otherwise":0.09090909090909091,"update":0.09090909090909091},"969":{"the":0.07142857142857142,"scope":0.07142857142857142,"of":0.07142857142857142,"quota":0.07142857142857142,"users":0.07142857142857142,"set":0.07142857142857142,"is":0.07142857142857142,"all":0.07142857142857142,"nodes":0.07142857142857142,"under":0.07142857142857142,"path":0.07142857142857142,"specified":0.07142857142857142,"included":0.07142857142857142,"itself":0.07142857142857142},"970":{"in":0.0196078431372549,"order":0.0196078431372549,"to":0.0196078431372549,"simplify":0.0196078431372549,"the":0.0196078431372549,"calculation":0.0196078431372549,"of":0.0196078431372549,"quota":0.0196078431372549,"current":0.0196078431372549,"directory":0.0196078431372549,"hierarchy":0.0196078431372549,"structure":0.0196078431372549,"a":0.0196078431372549,"complete":0.0196078431372549,"tree":0.0196078431372549,"path":0.0196078431372549,"from":0.0196078431372549,"root":0.0196078431372549,"leaf":0.0196078431372549,"node":0.0196078431372549,"can":0.0196078431372549,"be":0.0196078431372549,"set":0.0196078431372549,"only":0.0196078431372549,"one":0.0196078431372549,"situation":0.0196078431372549,"when":0.0196078431372549,"setting":0.0196078431372549,"which":0.0196078431372549,"its":0.0196078431372549,"parent":0.0196078431372549,"or":0.0196078431372549,"child":0.0196078431372549,"already":0.0196078431372549,"has":0.0196078431372549,"setquota":0.0196078431372549,"will":0.0196078431372549,"reject":0.0196078431372549,"and":0.0196078431372549,"tell":0.0196078431372549,"specified":0.0196078431372549,"users":0.0196078431372549,"adjust":0.0196078431372549,"allocations":0.0196078431372549,"quotas":0.0196078431372549,"delete":0.0196078431372549,"move-up":0.0196078431372549,"move-down":0.0196078431372549,"according":0.0196078431372549,"specific":0.0196078431372549,"circumstances":0.0196078431372549},"971":{"combined":0.0625,"with":0.0625,"the":0.0625,"chroot":0.0625,"quota":0.0625,"will":0.0625,"have":0.0625,"a":0.0625,"better":0.0625,"isolation":0.0625,"effectiveness":0.0625,"between":0.0625,"different":0.0625,"applications":0.0625,"for":0.0625,"example":0.0625},"972":{"users":0.1111111111111111,"cannot":0.1111111111111111,"set":0.1111111111111111,"the":0.1111111111111111,"quota":0.1111111111111111,"on":0.1111111111111111,"path":0.1111111111111111,"under":0.1111111111111111,"zookeeper":0.1111111111111111},"973":{"the":0.043478260869565216,"quota":0.043478260869565216,"supports":0.043478260869565216,"soft":0.043478260869565216,"and":0.043478260869565216,"hard":0.043478260869565216,"quotas":0.043478260869565216,"just":0.043478260869565216,"logs":0.043478260869565216,"a":0.043478260869565216,"warning":0.043478260869565216,"when":0.043478260869565216,"exceeding":0.043478260869565216,"but":0.043478260869565216,"also":0.043478260869565216,"throws":0.043478260869565216,"quotaexceededexception":0.043478260869565216,"setting":0.043478260869565216,"on":0.043478260869565216,"same":0.043478260869565216,"path":0.043478260869565216,"has":0.043478260869565216,"priority":0.043478260869565216},"974":{"you":0.09090909090909091,"can":0.09090909090909091,"use":0.09090909090909091,"listquota":0.09090909090909091,"to":0.09090909090909091,"list":0.09090909090909091,"a":0.09090909090909091,"quota":0.09090909090909091,"on":0.09090909090909091,"zookeeper":0.09090909090909091,"node":0.09090909090909091},"975":{"you":0.09090909090909091,"can":0.09090909090909091,"use":0.09090909090909091,"delquota":0.09090909090909091,"to":0.09090909090909091,"delete":0.09090909090909091,"quota":0.09090909090909091,"on":0.09090909090909091,"a":0.09090909090909091,"zookeeper":0.09090909090909091,"node":0.09090909090909091},"976":{"snapshot":0.25,"and":0.25,"restore":0.25,"guide":0.25},"977":{"how":0.058823529411764705,"to":0.058823529411764705,"use":0.058823529411764705,"zookeeper's":0.058823529411764705,"snapshot":0.058823529411764705,"and":0.058823529411764705,"restore":0.058823529411764705,"apis":0.058823529411764705,"recover":0.058823529411764705,"a":0.058823529411764705,"cluster":0.058823529411764705,"from":0.058823529411764705,"quorum":0.058823529411764705,"loss":0.058823529411764705,"or":0.058823529411764705,"catastrophic":0.058823529411764705,"failure":0.058823529411764705},"978":{"snapshot":1},"979":{"restore":1},"980":{"2":0.018518518518518517,"zookeeper":0.018518518518518517,"is":0.018518518518518517,"designed":0.018518518518518517,"to":0.018518518518518517,"withstand":0.018518518518518517,"machine":0.018518518518518517,"failures":0.018518518518518517,"a":0.018518518518518517,"cluster":0.018518518518518517,"can":0.018518518518518517,"automatically":0.018518518518518517,"recover":0.018518518518518517,"from":0.018518518518518517,"temporary":0.018518518518518517,"such":0.018518518518518517,"as":0.018518518518518517,"reboots":0.018518518518518517,"and":0.018518518518518517,"tolerate":0.018518518518518517,"up":0.018518518518518517,"n-1":0.018518518518518517,"permanent":0.018518518518518517,"for":0.018518518518518517,"of":0.018518518518518517,"n":0.018518518518518517,"members":0.018518518518518517,"due":0.018518518518518517,"hardware":0.018518518518518517,"or":0.018518518518518517,"disk":0.018518518518518517,"corruption":0.018518518518518517,"when":0.018518518518518517,"member":0.018518518518518517,"permanently":0.018518518518518517,"fails":0.018518518518518517,"it":0.018518518518518517,"loses":0.018518518518518517,"access":0.018518518518518517,"the":0.018518518518518517,"if":0.018518518518518517,"more":0.018518518518518517,"than":0.018518518518518517,"disastrously":0.018518518518518517,"quorum":0.018518518518518517,"once":0.018518518518518517,"lost":0.018518518518518517,"cannot":0.018518518518518517,"reach":0.018518518518518517,"consensus":0.018518518518518517,"therefore":0.018518518518518517,"continue":0.018518518518518517,"accept":0.018518518518518517,"updates":0.018518518518518517},"981":{"to":0.07142857142857142,"recover":0.07142857142857142,"from":0.07142857142857142,"such":0.07142857142857142,"disastrous":0.07142857142857142,"failures":0.07142857142857142,"zookeeper":0.07142857142857142,"provides":0.07142857142857142,"snapshot":0.07142857142857142,"and":0.07142857142857142,"restore":0.07142857142857142,"functionalities":0.07142857142857142,"a":0.07142857142857142,"cluster":0.07142857142857142},"982":{"key":0.16666666666666666,"characteristics":0.16666666666666666,"of":0.16666666666666666,"snapshot":0.16666666666666666,"and":0.16666666666666666,"restore":0.16666666666666666},"983":{"they":0.1111111111111111,"operate":0.1111111111111111,"on":0.1111111111111111,"the":0.1111111111111111,"connected":0.1111111111111111,"server":0.1111111111111111,"via":0.1111111111111111,"admin":0.1111111111111111,"apis":0.1111111111111111},"984":{"they":0.1,"are":0.1,"rate-limited":0.1,"to":0.1,"protect":0.1,"the":0.1,"server":0.1,"from":0.1,"being":0.1,"overloaded":0.1},"985":{"they":0.05263157894736842,"require":0.05263157894736842,"authentication":0.05263157894736842,"and":0.05263157894736842,"authorization":0.05263157894736842,"on":0.05263157894736842,"the":0.05263157894736842,"root":0.05263157894736842,"path":0.05263157894736842,"with":0.05263157894736842,"all":0.05263157894736842,"permission":0.05263157894736842,"supported":0.05263157894736842,"auth":0.05263157894736842,"schemes":0.05263157894736842,"are":0.05263157894736842,"digest":0.05263157894736842,"x509":0.05263157894736842,"ip":0.05263157894736842},"986":{"recovering":0.030303030303030304,"a":0.030303030303030304,"cluster":0.030303030303030304,"needs":0.030303030303030304,"snapshot":0.030303030303030304,"from":0.030303030303030304,"zookeeper":0.030303030303030304,"users":0.030303030303030304,"can":0.030303030303030304,"periodically":0.030303030303030304,"take":0.030303030303030304,"snapshots":0.030303030303030304,"live":0.030303030303030304,"server":0.030303030303030304,"which":0.030303030303030304,"has":0.030303030303030304,"the":0.030303030303030304,"highest":0.030303030303030304,"zxid":0.030303030303030304,"and":0.030303030303030304,"stream":0.030303030303030304,"out":0.030303030303030304,"data":0.030303030303030304,"to":0.030303030303030304,"local":0.030303030303030304,"or":0.030303030303030304,"external":0.030303030303030304,"storage":0.030303030303030304,"file":0.030303030303030304,"system":0.030303030303030304,"e":0.030303030303030304,"g":0.030303030303030304,"s3":0.030303030303030304},"987":{"restoring":0.041666666666666664,"a":0.041666666666666664,"cluster":0.041666666666666664,"needs":0.041666666666666664,"single":0.041666666666666664,"snapshot":0.041666666666666664,"as":0.041666666666666664,"input":0.041666666666666664,"stream":0.041666666666666664,"restore":0.041666666666666664,"can":0.041666666666666664,"be":0.041666666666666664,"used":0.041666666666666664,"for":0.041666666666666664,"recovering":0.041666666666666664,"after":0.041666666666666664,"quorum":0.041666666666666664,"loss":0.041666666666666664,"or":0.041666666666666664,"building":0.041666666666666664,"brand-new":0.041666666666666664,"with":0.041666666666666664,"seed":0.041666666666666664,"data":0.041666666666666664},"988":{"all":0.09090909090909091,"members":0.09090909090909091,"should":0.09090909090909091,"restore":0.09090909090909091,"using":0.09090909090909091,"the":0.09090909090909091,"same":0.09090909090909091,"snapshot":0.09090909090909091,"recommended":0.09090909090909091,"steps":0.09090909090909091,"are":0.09090909090909091},"989":{"take":0.07142857142857142,"a":0.07142857142857142,"snapshot":0.07142857142857142,"of":0.07142857142857142,"the":0.07142857142857142,"latest":0.07142857142857142,"database":0.07142857142857142,"state":0.07142857142857142,"using":0.07142857142857142,"admin":0.07142857142857142,"server":0.07142857142857142,"command":0.07142857142857142,"if":0.07142857142857142,"applicable":0.07142857142857142},"990":{"for":0.3333333333333333,"each":0.3333333333333333,"server":0.3333333333333333},"991":{"move":0.045454545454545456,"the":0.045454545454545456,"files":0.045454545454545456,"in":0.045454545454545456,"datadir":0.045454545454545456,"and":0.045454545454545456,"datalogdir":0.045454545454545456,"to":0.045454545454545456,"a":0.045454545454545456,"different":0.045454545454545456,"location":0.045454545454545456,"prevent":0.045454545454545456,"restored":0.045454545454545456,"database":0.045454545454545456,"from":0.045454545454545456,"being":0.045454545454545456,"overwritten":0.045454545454545456,"when":0.045454545454545456,"server":0.045454545454545456,"restarts":0.045454545454545456,"after":0.045454545454545456,"restore":0.045454545454545456},"992":{"restore":0.16666666666666666,"the":0.16666666666666666,"server":0.16666666666666666,"using":0.16666666666666666,"admin":0.16666666666666666,"command":0.16666666666666666},"993":{"tools":1},"994":{"reference":0.05263157894736842,"for":0.05263157894736842,"the":0.05263157894736842,"scripts":0.05263157894736842,"and":0.05263157894736842,"tools":0.05263157894736842,"bundled":0.05263157894736842,"with":0.05263157894736842,"zookeeper":0.05263157894736842,"including":0.05263157894736842,"server":0.05263157894736842,"management":0.05263157894736842,"snapshot":0.05263157894736842,"transaction":0.05263157894736842,"log":0.05263157894736842,"utilities":0.05263157894736842,"benchmark":0.05263157894736842,"testing":0.05263157894736842,"frameworks":0.05263157894736842},"995":{"scripts":1},"996":{"zkserver":0.5,"sh":0.5},"997":{"zkcli":0.5,"sh":0.5},"998":{"zkenv":0.5,"sh":0.5},"999":{"zkcleanup":0.5,"sh":0.5},"1000":{"zktxnlogtoolkit":0.5,"sh":0.5},"1001":{"zksnapshottoolkit":0.5,"sh":0.5},"1002":{"zksnapshotrecursivesummarytoolkit":0.5,"sh":0.5},"1003":{"zksnapshotcomparer":0.5,"sh":0.5},"1004":{"locating":0.5,"snapshots":0.5},"1005":{"supported":0.3333333333333333,"snapshot":0.3333333333333333,"formats":0.3333333333333333},"1006":{"running":0.3333333333333333,"the":0.3333333333333333,"tool":0.3333333333333333},"1007":{"interactive":0.5,"mode":0.5},"1008":{"benchmark":1},"1009":{"ycsb":1},"1010":{"zk-smoketest":1},"1011":{"testing":1},"1012":{"fault":0.3333333333333333,"injection":0.3333333333333333,"framework":0.3333333333333333},"1013":{"byteman":1},"1014":{"jepsen":0.5,"test":0.5},"1015":{"manage":0.2,"the":0.2,"zookeeper":0.2,"server":0.2,"process":0.2},"1016":{"the":0.03225806451612903,"status":0.03225806451612903,"command":0.03225806451612903,"establishes":0.03225806451612903,"a":0.03225806451612903,"client":0.03225806451612903,"connection":0.03225806451612903,"to":0.03225806451612903,"execute":0.03225806451612903,"diagnostic":0.03225806451612903,"commands":0.03225806451612903,"when":0.03225806451612903,"zookeeper":0.03225806451612903,"cluster":0.03225806451612903,"is":0.03225806451612903,"started":0.03225806451612903,"in":0.03225806451612903,"tls-only":0.03225806451612903,"mode":0.03225806451612903,"by":0.03225806451612903,"omitting":0.03225806451612903,"clientport":0.03225806451612903,"from":0.03225806451612903,"zoo":0.03225806451612903,"cfg":0.03225806451612903,"additional":0.03225806451612903,"ssl":0.03225806451612903,"configuration":0.03225806451612903,"must":0.03225806451612903,"be":0.03225806451612903,"provided":0.03225806451612903},"1017":{"see":0.3333333333333333,"zookeeper":0.3333333333333333,"cli":0.3333333333333333},"1018":{"sets":0.125,"environment":0.125,"variables":0.125,"for":0.125,"the":0.125,"zookeeper":0.125,"server":0.125,"key":0.125},"1019":{"zoo_log_dir":0.14285714285714285,"the":0.14285714285714285,"directory":0.14285714285714285,"where":0.14285714285714285,"logs":0.14285714285714285,"are":0.14285714285714285,"stored":0.14285714285714285},"1020":{"clean":0.14285714285714285,"up":0.14285714285714285,"old":0.14285714285714285,"snapshots":0.14285714285714285,"and":0.14285714285714285,"transaction":0.14285714285714285,"logs":0.14285714285714285},"1021":{"dump":0.1,"and":0.1,"recover":0.1,"transaction":0.1,"log":0.1,"files":0.1,"with":0.1,"broken":0.1,"crc":0.1,"entries":0.1},"1022":{"the":0.05263157894736842,"default":0.05263157894736842,"behavior":0.05263157894736842,"is":0.05263157894736842,"safe":0.05263157894736842,"it":0.05263157894736842,"dumps":0.05263157894736842,"entries":0.05263157894736842,"of":0.05263157894736842,"given":0.05263157894736842,"transaction":0.05263157894736842,"log":0.05263157894736842,"file":0.05263157894736842,"to":0.05263157894736842,"screen":0.05263157894736842,"same":0.05263157894736842,"as":0.05263157894736842,"-d":0.05263157894736842,"--dump":0.05263157894736842},"1023":{"in":0.023809523809523808,"recovery":0.023809523809523808,"mode":0.023809523809523808,"-r":0.023809523809523808,"--recover":0.023809523809523808,"the":0.023809523809523808,"original":0.023809523809523808,"file":0.023809523809523808,"is":0.023809523809523808,"left":0.023809523809523808,"untouched":0.023809523809523808,"and":0.023809523809523808,"all":0.023809523809523808,"transactions":0.023809523809523808,"are":0.023809523809523808,"copied":0.023809523809523808,"to":0.023809523809523808,"a":0.023809523809523808,"new":0.023809523809523808,"with":0.023809523809523808,"fixed":0.023809523809523808,"suffix":0.023809523809523808,"crc":0.023809523809523808,"values":0.023809523809523808,"recalculated":0.023809523809523808,"if":0.023809523809523808,"calculated":0.023809523809523808,"value":0.023809523809523808,"does":0.023809523809523808,"not":0.023809523809523808,"match":0.023809523809523808,"used":0.023809523809523808,"by":0.023809523809523808,"default":0.023809523809523808,"tool":0.023809523809523808,"interactive":0.023809523809523808,"asking":0.023809523809523808,"for":0.023809523809523808,"confirmation":0.023809523809523808,"on":0.023809523809523808,"each":0.023809523809523808,"error":0.023809523809523808},"1024":{"yes":0.125,"write":0.125,"the":0.125,"recalculated":0.125,"crc":0.125,"to":0.125,"new":0.125,"file":0.125},"1025":{"no":0.16666666666666666,"copy":0.16666666666666666,"the":0.16666666666666666,"original":0.16666666666666666,"crc":0.16666666666666666,"value":0.16666666666666666},"1026":{"abort":0.06666666666666667,"the":0.06666666666666667,"operation":0.06666666666666667,"fixed":0.06666666666666667,"file":0.06666666666666667,"will":0.06666666666666667,"not":0.06666666666666667,"be":0.06666666666666667,"deleted":0.06666666666666667,"and":0.06666666666666667,"may":0.06666666666666667,"in":0.06666666666666667,"a":0.06666666666666667,"half-complete":0.06666666666666667,"state":0.06666666666666667},"1027":{"use":0.05263157894736842,"-v":0.05263157894736842,"--verbose":0.05263157894736842,"to":0.05263157894736842,"print":0.05263157894736842,"all":0.05263157894736842,"records":0.05263157894736842,"not":0.05263157894736842,"just":0.05263157894736842,"broken":0.05263157894736842,"ones":0.05263157894736842,"-y":0.05263157894736842,"--yes":0.05263157894736842,"fix":0.05263157894736842,"crc":0.05263157894736842,"errors":0.05263157894736842,"automatically":0.05263157894736842,"without":0.05263157894736842,"prompting":0.05263157894736842},"1028":{"dump":0.08333333333333333,"a":0.08333333333333333,"snapshot":0.08333333333333333,"file":0.08333333333333333,"to":0.08333333333333333,"stdout":0.08333333333333333,"showing":0.08333333333333333,"detailed":0.08333333333333333,"information":0.08333333333333333,"for":0.08333333333333333,"each":0.08333333333333333,"znode":0.08333333333333333},"1029":{"recursively":0.08333333333333333,"collect":0.08333333333333333,"and":0.08333333333333333,"display":0.08333333333333333,"child":0.08333333333333333,"count":0.08333333333333333,"data":0.08333333333333333,"size":0.08333333333333333,"for":0.08333333333333333,"a":0.08333333333333333,"selected":0.08333333333333333,"node":0.08333333333333333},"1030":{"compare":0.029411764705882353,"two":0.029411764705882353,"snapshots":0.029411764705882353,"with":0.029411764705882353,"configurable":0.029411764705882353,"thresholds":0.029411764705882353,"and":0.029411764705882353,"filters":0.029411764705882353,"outputting":0.029411764705882353,"the":0.029411764705882353,"delta":0.029411764705882353,"which":0.029411764705882353,"znodes":0.029411764705882353,"were":0.029411764705882353,"added":0.029411764705882353,"updated":0.029411764705882353,"or":0.029411764705882353,"deleted":0.029411764705882353,"useful":0.029411764705882353,"for":0.029411764705882353,"offline":0.029411764705882353,"consistency":0.029411764705882353,"checks":0.029411764705882353,"data":0.029411764705882353,"trend":0.029411764705882353,"analysis":0.029411764705882353,"only":0.029411764705882353,"permanent":0.029411764705882353,"nodes":0.029411764705882353,"are":0.029411764705882353,"reported":0.029411764705882353,"sessions":0.029411764705882353,"ephemeral":0.029411764705882353,"ignored":0.029411764705882353},"1031":{"tuning":0.5,"parameters":0.5},"1032":{"--nodes":0.1111111111111111,"threshold":0.1111111111111111,"for":0.1111111111111111,"number":0.1111111111111111,"of":0.1111111111111111,"descendant":0.1111111111111111,"nodes":0.1111111111111111,"added":0.1111111111111111,"removed":0.1111111111111111},"1033":{"--bytes":0.16666666666666666,"threshold":0.16666666666666666,"for":0.16666666666666666,"bytes":0.16666666666666666,"added":0.16666666666666666,"removed":0.16666666666666666},"1034":{"snapshots":0.08333333333333333,"are":0.08333333333333333,"stored":0.08333333333333333,"in":0.08333333333333333,"the":0.08333333333333333,"zookeeper":0.08333333333333333,"data":0.08333333333333333,"directory":0.08333333333333333,"configured":0.08333333333333333,"conf":0.08333333333333333,"zoo":0.08333333333333333,"cfg":0.08333333333333333},"1035":{"uncompressed":0.05263157894736842,"snapshots":0.05263157894736842,"and":0.05263157894736842,"compressed":0.05263157894736842,"formats":0.05263157894736842,"snappy":0.05263157894736842,"gz":0.05263157894736842,"are":0.05263157894736842,"all":0.05263157894736842,"supported":0.05263157894736842,"in":0.05263157894736842,"different":0.05263157894736842,"can":0.05263157894736842,"be":0.05263157894736842,"compared":0.05263157894736842,"directly":0.05263157894736842,"without":0.05263157894736842,"manual":0.05263157894736842,"decompression":0.05263157894736842},"1036":{"running":0.1111111111111111,"the":0.1111111111111111,"tool":0.1111111111111111,"with":0.1111111111111111,"no":0.1111111111111111,"arguments":0.1111111111111111,"prints":0.1111111111111111,"help":0.1111111111111111,"page":0.1111111111111111},"1037":{"example":0.5,"command":0.5},"1038":{"example":0.5,"output":0.5},"1039":{"add":0.14285714285714285,"-i":0.14285714285714285,"--interactive":0.14285714285714285,"to":0.14285714285714285,"enter":0.14285714285714285,"interactive":0.14285714285714285,"mode":0.14285714285714285},"1040":{"three":0.2,"navigation":0.2,"options":0.2,"are":0.2,"available":0.2},"1041":{"press":0.125,"enter":0.125,"to":0.125,"print":0.125,"the":0.125,"current":0.125,"depth":0.125,"layer":0.125},"1042":{"type":0.08333333333333333,"a":0.08333333333333333,"number":0.08333333333333333,"to":0.08333333333333333,"jump":0.08333333333333333,"and":0.08333333333333333,"print":0.08333333333333333,"all":0.08333333333333333,"nodes":0.08333333333333333,"at":0.08333333333333333,"that":0.08333333333333333,"depth":0.08333333333333333},"1043":{"enter":0.07142857142857142,"an":0.07142857142857142,"absolute":0.07142857142857142,"path":0.07142857142857142,"starting":0.07142857142857142,"with":0.07142857142857142,"to":0.07142857142857142,"print":0.07142857142857142,"the":0.07142857142857142,"immediate":0.07142857142857142,"subtree":0.07142857142857142,"of":0.07142857142857142,"that":0.07142857142857142,"node":0.07142857142857142},"1044":{"note":0.1,"only":0.1,"nodes":0.1,"passing":0.1,"the":0.1,"bytes":0.1,"and":0.1,"thresholds":0.1,"are":0.1,"shown":0.1},"1045":{"press":0.125,"enter":0.125,"to":0.125,"move":0.125,"the":0.125,"next":0.125,"depth":0.125,"layer":0.125},"1046":{"type":0.1,"a":0.1,"number":0.1,"to":0.1,"jump":0.1,"forward":0.1,"or":0.1,"backward":0.1,"specific":0.1,"depth":0.1},"1047":{"out-of-range":0.2,"depth":0.2,"is":0.2,"handled":0.2,"gracefully":0.2},"1048":{"enter":0.08333333333333333,"an":0.08333333333333333,"absolute":0.08333333333333333,"path":0.08333333333333333,"to":0.08333333333333333,"print":0.08333333333333333,"the":0.08333333333333333,"immediate":0.08333333333333333,"subtree":0.08333333333333333,"of":0.08333333333333333,"a":0.08333333333333333,"node":0.08333333333333333},"1049":{"invalid":0.16666666666666666,"path":0.16666666666666666,"and":0.16666666666666666,"input":0.16666666666666666,"are":0.16666666666666666,"handled":0.16666666666666666},"1050":{"the":0.05263157894736842,"tool":0.05263157894736842,"exits":0.05263157894736842,"interactive":0.05263157894736842,"mode":0.05263157894736842,"automatically":0.05263157894736842,"when":0.05263157894736842,"all":0.05263157894736842,"layers":0.05263157894736842,"are":0.05263157894736842,"compared":0.05263157894736842,"or":0.05263157894736842,"press":0.05263157894736842,"c":0.05263157894736842,"to":0.05263157894736842,"exit":0.05263157894736842,"at":0.05263157894736842,"any":0.05263157894736842,"time":0.05263157894736842},"1051":{"ycsb":0.0625,"yahoo":0.0625,"cloud":0.0625,"serving":0.0625,"benchmark":0.0625,"can":0.0625,"be":0.0625,"used":0.0625,"to":0.0625,"zookeeper":0.0625,"follow":0.0625,"the":0.0625,"steps":0.0625,"below":0.0625,"get":0.0625,"started":0.0625},"1052":{"start":0.25,"zookeeper":0.25,"server":0.25,"s":0.25},"1053":{"start":0.125,"your":0.125,"zookeeper":0.125,"ensemble":0.125,"before":0.125,"running":0.125,"any":0.125,"benchmark":0.125},"1054":{"install":0.25,"java":0.25,"and":0.25,"maven":0.25},"1055":{"ensure":0.08333333333333333,"a":0.08333333333333333,"jdk":0.08333333333333333,"and":0.08333333333333333,"maven":0.08333333333333333,"are":0.08333333333333333,"installed":0.08333333333333333,"on":0.08333333333333333,"the":0.08333333333333333,"machine":0.08333333333333333,"running":0.08333333333333333,"benchmark":0.08333333333333333},"1056":{"set":0.3333333333333333,"up":0.3333333333333333,"ycsb":0.3333333333333333},"1057":{"clone":0.16666666666666666,"and":0.16666666666666666,"build":0.16666666666666666,"the":0.16666666666666666,"zookeeper":0.16666666666666666,"binding":0.16666666666666666},"1058":{"see":0.14285714285714285,"the":0.14285714285714285,"ycsb":0.14285714285714285,"readme":0.14285714285714285,"for":0.14285714285714285,"more":0.14285714285714285,"details":0.14285714285714285},"1059":{"configure":0.25,"zookeeper":0.25,"connection":0.25,"parameters":0.25},"1060":{"set":0.09090909090909091,"the":0.09090909090909091,"following":0.09090909090909091,"properties":0.09090909090909091,"in":0.09090909090909091,"your":0.09090909090909091,"workload":0.09090909090909091,"file":0.09090909090909091,"or":0.09090909090909091,"via":0.09090909090909091,"shell":0.09090909090909091},"1061":{"0":0.09090909090909091,"1":0.09090909090909091,"127":0.09090909090909091,"2181":0.09090909090909091,"zookeeper":0.09090909090909091,"connectstring":0.09090909090909091,"connection":0.09090909090909091,"string":0.09090909090909091,"e":0.09090909090909091,"g":0.09090909090909091,"benchmark":0.09090909090909091},"1062":{"zookeeper":0.16666666666666666,"sessiontimeout":0.16666666666666666,"session":0.16666666666666666,"timeout":0.16666666666666666,"in":0.16666666666666666,"milliseconds":0.16666666666666666},"1063":{"zookeeper":0.045454545454545456,"watchflag":0.045454545454545456,"enable":0.045454545454545456,"watches":0.045454545454545456,"true":0.045454545454545456,"or":0.045454545454545456,"false":0.045454545454545456,"default":0.045454545454545456,"this":0.045454545454545456,"measures":0.045454545454545456,"the":0.045454545454545456,"effect":0.045454545454545456,"of":0.045454545454545456,"watch":0.045454545454545456,"overhead":0.045454545454545456,"on":0.045454545454545456,"read":0.045454545454545456,"write":0.045454545454545456,"performance":0.045454545454545456,"not":0.045454545454545456,"notification":0.045454545454545456,"latency":0.045454545454545456},"1064":{"or":0.06666666666666667,"set":0.06666666666666667,"properties":0.06666666666666667,"directly":0.06666666666666667,"on":0.06666666666666667,"the":0.06666666666666667,"command":0.06666666666666667,"line":0.06666666666666667,"create":0.06666666666666667,"benchmark":0.06666666666666667,"namespace":0.06666666666666667,"first":0.06666666666666667,"using":0.06666666666666667,"in":0.06666666666666667,"cli":0.06666666666666667},"1065":{"load":0.2,"data":0.2,"and":0.2,"run":0.2,"tests":0.2},"1066":{"load":0.5,"data":0.5},"1067":{"run":0.1,"the":0.1,"workload":0.1,"workloadb":0.1,"is":0.1,"recommended":0.1,"as":0.1,"most":0.1,"representative":0.1,"read-heavy":0.1},"1068":{"zk-smoketest":0.0625,"provides":0.0625,"a":0.0625,"simple":0.0625,"smoketest":0.0625,"client":0.0625,"for":0.0625,"zookeeper":0.0625,"ensemble":0.0625,"useful":0.0625,"verifying":0.0625,"new":0.0625,"updated":0.0625,"or":0.0625,"existing":0.0625,"installations":0.0625},"1069":{"byteman":0.02631578947368421,"is":0.02631578947368421,"a":0.02631578947368421,"tool":0.02631578947368421,"for":0.02631578947368421,"tracing":0.02631578947368421,"monitoring":0.02631578947368421,"and":0.02631578947368421,"testing":0.02631578947368421,"java":0.02631578947368421,"application":0.02631578947368421,"jdk":0.02631578947368421,"runtime":0.02631578947368421,"code":0.02631578947368421,"it":0.02631578947368421,"injects":0.02631578947368421,"into":0.02631578947368421,"methods":0.02631578947368421,"without":0.02631578947368421,"requiring":0.02631578947368421,"recompilation":0.02631578947368421,"repackaging":0.02631578947368421,"or":0.02631578947368421,"redeployment":0.02631578947368421,"injection":0.02631578947368421,"can":0.02631578947368421,"be":0.02631578947368421,"performed":0.02631578947368421,"at":0.02631578947368421,"jvm":0.02631578947368421,"startup":0.02631578947368421,"while":0.02631578947368421,"the":0.02631578947368421,"running":0.02631578947368421,"see":0.02631578947368421,"tutorial":0.02631578947368421,"quick":0.02631578947368421,"introduction":0.02631578947368421},"1070":{"1":0.08333333333333333,"example":0.08333333333333333,"force":0.08333333333333333,"a":0.08333333333333333,"leader":0.08333333333333333,"re-election":0.08333333333333333,"by":0.08333333333333333,"rolling":0.08333333333333333,"over":0.08333333333333333,"the":0.08333333333333333,"leader's":0.08333333333333333,"zxid":0.08333333333333333},"1071":{"2":0.05,"example":0.05,"make":0.05,"the":0.05,"leader":0.05,"drop":0.05,"ping":0.05,"packets":0.05,"to":0.05,"a":0.05,"specific":0.05,"follower":0.05,"will":0.05,"close":0.05,"learnerhandler":0.05,"for":0.05,"that":0.05,"and":0.05,"re-enter":0.05,"quorum":0.05},"1072":{"3":0.04,"example":0.04,"make":0.04,"a":0.04,"follower":0.04,"drop":0.04,"ack":0.04,"packets":0.04,"this":0.04,"has":0.04,"limited":0.04,"effect":0.04,"during":0.04,"broadcast":0.04,"since":0.04,"the":0.04,"leader":0.04,"only":0.04,"needs":0.04,"majority":0.04,"of":0.04,"acks":0.04,"to":0.04,"commit":0.04,"proposal":0.04},"1073":{"jepsen":0.041666666666666664,"is":0.041666666666666664,"a":0.041666666666666664,"framework":0.041666666666666664,"for":0.041666666666666664,"distributed":0.041666666666666664,"systems":0.041666666666666664,"verification":0.041666666666666664,"with":0.041666666666666664,"fault":0.041666666666666664,"injection":0.041666666666666664,"it":0.041666666666666664,"has":0.041666666666666664,"been":0.041666666666666664,"used":0.041666666666666664,"to":0.041666666666666664,"verify":0.041666666666666664,"eventually-consistent":0.041666666666666664,"databases":0.041666666666666664,"linearizable":0.041666666666666664,"coordination":0.041666666666666664,"and":0.041666666666666664,"task":0.041666666666666664,"schedulers":0.041666666666666664},"1074":{"running":0.1,"the":0.1,"dockerized":0.1,"jepsen":0.1,"is":0.1,"simplest":0.1,"way":0.1,"to":0.1,"get":0.1,"started":0.1},"1075":{"installation":1},"1076":{"running":0.3333333333333333,"the":0.3333333333333333,"test":0.3333333333333333},"1077":{"read":0.07692307692307693,"this":0.07692307692307693,"blog":0.07692307692307693,"post":0.07692307692307693,"to":0.07692307692307693,"learn":0.07692307692307693,"more":0.07692307692307693,"about":0.07692307692307693,"the":0.07692307692307693,"jepsen":0.07692307692307693,"analysis":0.07692307692307693,"of":0.07692307692307693,"zookeeper":0.07692307692307693},"1078":{"basic":0.5,"tutorial":0.5},"1079":{"step-by-step":0.05263157894736842,"tutorial":0.05263157894736842,"implementing":0.05263157894736842,"zookeeper-based":0.05263157894736842,"barrier":0.05263157894736842,"and":0.05263157894736842,"queue":0.05263157894736842,"primitives":0.05263157894736842,"in":0.05263157894736842,"java":0.05263157894736842,"demonstrating":0.05263157894736842,"watches":0.05263157894736842,"ephemeral":0.05263157894736842,"nodes":0.05263157894736842,"sequential":0.05263157894736842,"znodes":0.05263157894736842,"for":0.05263157894736842,"distributed":0.05263157894736842,"coordination":0.05263157894736842},"1080":{"introduction":1},"1081":{"barriers":1},"1082":{"producer-consumer":0.5,"queues":0.5},"1083":{"complete":0.5,"example":0.5},"1084":{"queue":0.5,"test":0.5},"1085":{"barrier":0.5,"test":0.5},"1086":{"source":0.5,"listing":0.5},"1087":{"syncprimitive":0.5,"java":0.5},"1088":{"in":0.03225806451612903,"this":0.03225806451612903,"tutorial":0.03225806451612903,"we":0.03225806451612903,"show":0.03225806451612903,"simple":0.03225806451612903,"implementations":0.03225806451612903,"of":0.03225806451612903,"barriers":0.03225806451612903,"and":0.03225806451612903,"producer-consumer":0.03225806451612903,"queues":0.03225806451612903,"using":0.03225806451612903,"zookeeper":0.03225806451612903,"call":0.03225806451612903,"the":0.03225806451612903,"respective":0.03225806451612903,"classes":0.03225806451612903,"barrier":0.03225806451612903,"queue":0.03225806451612903,"these":0.03225806451612903,"examples":0.03225806451612903,"assume":0.03225806451612903,"that":0.03225806451612903,"you":0.03225806451612903,"have":0.03225806451612903,"at":0.03225806451612903,"least":0.03225806451612903,"one":0.03225806451612903,"server":0.03225806451612903,"running":0.03225806451612903},"1089":{"both":0.1111111111111111,"primitives":0.1111111111111111,"use":0.1111111111111111,"the":0.1111111111111111,"following":0.1111111111111111,"common":0.1111111111111111,"excerpt":0.1111111111111111,"of":0.1111111111111111,"code":0.1111111111111111},"1090":{"both":0.0196078431372549,"classes":0.0196078431372549,"extend":0.0196078431372549,"syncprimitive":0.0196078431372549,"in":0.0196078431372549,"this":0.0196078431372549,"way":0.0196078431372549,"we":0.0196078431372549,"execute":0.0196078431372549,"steps":0.0196078431372549,"that":0.0196078431372549,"are":0.0196078431372549,"common":0.0196078431372549,"to":0.0196078431372549,"all":0.0196078431372549,"primitives":0.0196078431372549,"the":0.0196078431372549,"constructor":0.0196078431372549,"of":0.0196078431372549,"keep":0.0196078431372549,"examples":0.0196078431372549,"simple":0.0196078431372549,"create":0.0196078431372549,"a":0.0196078431372549,"zookeeper":0.0196078431372549,"object":0.0196078431372549,"first":0.0196078431372549,"time":0.0196078431372549,"instantiate":0.0196078431372549,"either":0.0196078431372549,"barrier":0.0196078431372549,"or":0.0196078431372549,"queue":0.0196078431372549,"and":0.0196078431372549,"declare":0.0196078431372549,"static":0.0196078431372549,"variable":0.0196078431372549,"is":0.0196078431372549,"reference":0.0196078431372549,"subsequent":0.0196078431372549,"instances":0.0196078431372549,"check":0.0196078431372549,"whether":0.0196078431372549,"exists":0.0196078431372549,"alternatively":0.0196078431372549,"could":0.0196078431372549,"have":0.0196078431372549,"application":0.0196078431372549,"creating":0.0196078431372549,"passing":0.0196078431372549,"it":0.0196078431372549},"1091":{"we":0.017857142857142856,"use":0.017857142857142856,"the":0.017857142857142856,"process":0.017857142857142856,"method":0.017857142857142856,"to":0.017857142857142856,"notifications":0.017857142857142856,"triggered":0.017857142857142856,"due":0.017857142857142856,"watches":0.017857142857142856,"in":0.017857142857142856,"following":0.017857142857142856,"discussion":0.017857142857142856,"present":0.017857142857142856,"code":0.017857142857142856,"that":0.017857142857142856,"sets":0.017857142857142856,"a":0.017857142857142856,"watch":0.017857142857142856,"is":0.017857142857142856,"internal":0.017857142857142856,"structure":0.017857142857142856,"enables":0.017857142857142856,"zookeeper":0.017857142857142856,"notify":0.017857142857142856,"client":0.017857142857142856,"of":0.017857142857142856,"change":0.017857142857142856,"node":0.017857142857142856,"for":0.017857142857142856,"example":0.017857142857142856,"if":0.017857142857142856,"waiting":0.017857142857142856,"other":0.017857142857142856,"clients":0.017857142857142856,"leave":0.017857142857142856,"barrier":0.017857142857142856,"then":0.017857142857142856,"it":0.017857142857142856,"can":0.017857142857142856,"set":0.017857142857142856,"and":0.017857142857142856,"wait":0.017857142857142856,"modifications":0.017857142857142856,"particular":0.017857142857142856,"which":0.017857142857142856,"indicate":0.017857142857142856,"end":0.017857142857142856,"this":0.017857142857142856,"point":0.017857142857142856,"becomes":0.017857142857142856,"clear":0.017857142857142856,"once":0.017857142857142856,"go":0.017857142857142856,"over":0.017857142857142856,"examples":0.017857142857142856},"1092":{"a":0.021739130434782608,"barrier":0.021739130434782608,"is":0.021739130434782608,"primitive":0.021739130434782608,"that":0.021739130434782608,"enables":0.021739130434782608,"group":0.021739130434782608,"of":0.021739130434782608,"processes":0.021739130434782608,"to":0.021739130434782608,"synchronize":0.021739130434782608,"the":0.021739130434782608,"beginning":0.021739130434782608,"and":0.021739130434782608,"end":0.021739130434782608,"computation":0.021739130434782608,"general":0.021739130434782608,"idea":0.021739130434782608,"this":0.021739130434782608,"implementation":0.021739130434782608,"have":0.021739130434782608,"node":0.021739130434782608,"serves":0.021739130434782608,"purpose":0.021739130434782608,"being":0.021739130434782608,"parent":0.021739130434782608,"for":0.021739130434782608,"individual":0.021739130434782608,"process":0.021739130434782608,"nodes":0.021739130434782608,"suppose":0.021739130434782608,"we":0.021739130434782608,"call":0.021739130434782608,"b1":0.021739130434782608,"each":0.021739130434782608,"p":0.021739130434782608,"then":0.021739130434782608,"creates":0.021739130434782608,"once":0.021739130434782608,"enough":0.021739130434782608,"created":0.021739130434782608,"their":0.021739130434782608,"corresponding":0.021739130434782608,"joined":0.021739130434782608,"can":0.021739130434782608,"start":0.021739130434782608},"1093":{"in":0.06666666666666667,"this":0.06666666666666667,"example":0.06666666666666667,"each":0.06666666666666667,"process":0.06666666666666667,"instantiates":0.06666666666666667,"a":0.06666666666666667,"barrier":0.06666666666666667,"object":0.06666666666666667,"and":0.06666666666666667,"its":0.06666666666666667,"constructor":0.06666666666666667,"takes":0.06666666666666667,"as":0.06666666666666667,"parameters":0.06666666666666667},"1094":{"2181":0.08333333333333333,"the":0.08333333333333333,"address":0.08333333333333333,"of":0.08333333333333333,"a":0.08333333333333333,"zookeeper":0.08333333333333333,"server":0.08333333333333333,"e":0.08333333333333333,"g":0.08333333333333333,"zoo1":0.08333333333333333,"foo":0.08333333333333333,"com":0.08333333333333333},"1095":{"the":0.1,"path":0.1,"of":0.1,"barrier":0.1,"node":0.1,"on":0.1,"zookeeper":0.1,"e":0.1,"g":0.1,"b1":0.1},"1096":{"the":0.2,"size":0.2,"of":0.2,"group":0.2,"processes":0.2},"1097":{"the":0.030303030303030304,"constructor":0.030303030303030304,"of":0.030303030303030304,"barrier":0.030303030303030304,"passes":0.030303030303030304,"address":0.030303030303030304,"zookeeper":0.030303030303030304,"server":0.030303030303030304,"to":0.030303030303030304,"parent":0.030303030303030304,"class":0.030303030303030304,"creates":0.030303030303030304,"a":0.030303030303030304,"instance":0.030303030303030304,"if":0.030303030303030304,"one":0.030303030303030304,"does":0.030303030303030304,"not":0.030303030303030304,"exist":0.030303030303030304,"then":0.030303030303030304,"node":0.030303030303030304,"on":0.030303030303030304,"which":0.030303030303030304,"is":0.030303030303030304,"all":0.030303030303030304,"process":0.030303030303030304,"nodes":0.030303030303030304,"and":0.030303030303030304,"we":0.030303030303030304,"call":0.030303030303030304,"root":0.030303030303030304,"note":0.030303030303030304,"this":0.030303030303030304},"1098":{"to":0.015151515151515152,"enter":0.015151515151515152,"the":0.015151515151515152,"barrier":0.015151515151515152,"a":0.015151515151515152,"process":0.015151515151515152,"calls":0.015151515151515152,"creates":0.015151515151515152,"node":0.015151515151515152,"under":0.015151515151515152,"root":0.015151515151515152,"represent":0.015151515151515152,"it":0.015151515151515152,"using":0.015151515151515152,"its":0.015151515151515152,"host":0.015151515151515152,"name":0.015151515151515152,"form":0.015151515151515152,"then":0.015151515151515152,"wait":0.015151515151515152,"until":0.015151515151515152,"enough":0.015151515151515152,"processes":0.015151515151515152,"have":0.015151515151515152,"entered":0.015151515151515152,"does":0.015151515151515152,"by":0.015151515151515152,"checking":0.015151515151515152,"number":0.015151515151515152,"of":0.015151515151515152,"children":0.015151515151515152,"has":0.015151515151515152,"with":0.015151515151515152,"getchildren":0.015151515151515152,"and":0.015151515151515152,"waiting":0.015151515151515152,"for":0.015151515151515152,"notifications":0.015151515151515152,"in":0.015151515151515152,"case":0.015151515151515152,"not":0.015151515151515152,"receive":0.015151515151515152,"notification":0.015151515151515152,"when":0.015151515151515152,"there":0.015151515151515152,"is":0.015151515151515152,"change":0.015151515151515152,"set":0.015151515151515152,"watch":0.015151515151515152,"through":0.015151515151515152,"call":0.015151515151515152,"code":0.015151515151515152,"we":0.015151515151515152,"that":0.015151515151515152,"two":0.015151515151515152,"parameters":0.015151515151515152,"first":0.015151515151515152,"one":0.015151515151515152,"states":0.015151515151515152,"read":0.015151515151515152,"from":0.015151515151515152,"second":0.015151515151515152,"boolean":0.015151515151515152,"flag":0.015151515151515152,"enables":0.015151515151515152,"true":0.015151515151515152},"1099":{"note":0.05,"that":0.05,"enter":0.05,"throws":0.05,"both":0.05,"keeperexception":0.05,"and":0.05,"interruptedexception":0.05,"so":0.05,"it":0.05,"is":0.05,"the":0.05,"responsibility":0.05,"of":0.05,"application":0.05,"to":0.05,"catch":0.05,"handle":0.05,"such":0.05,"exceptions":0.05},"1100":{"once":0.019230769230769232,"the":0.019230769230769232,"computation":0.019230769230769232,"is":0.019230769230769232,"finished":0.019230769230769232,"a":0.019230769230769232,"process":0.019230769230769232,"calls":0.019230769230769232,"leave":0.019230769230769232,"to":0.019230769230769232,"barrier":0.019230769230769232,"first":0.019230769230769232,"it":0.019230769230769232,"deletes":0.019230769230769232,"its":0.019230769230769232,"corresponding":0.019230769230769232,"node":0.019230769230769232,"and":0.019230769230769232,"then":0.019230769230769232,"gets":0.019230769230769232,"children":0.019230769230769232,"of":0.019230769230769232,"root":0.019230769230769232,"if":0.019230769230769232,"there":0.019230769230769232,"at":0.019230769230769232,"least":0.019230769230769232,"one":0.019230769230769232,"child":0.019230769230769232,"waits":0.019230769230769232,"for":0.019230769230769232,"notification":0.019230769230769232,"obs":0.019230769230769232,"note":0.019230769230769232,"that":0.019230769230769232,"second":0.019230769230769232,"parameter":0.019230769230769232,"call":0.019230769230769232,"getchildren":0.019230769230769232,"true":0.019230769230769232,"meaning":0.019230769230769232,"zookeeper":0.019230769230769232,"has":0.019230769230769232,"set":0.019230769230769232,"watch":0.019230769230769232,"on":0.019230769230769232,"upon":0.019230769230769232,"reception":0.019230769230769232,"checks":0.019230769230769232,"more":0.019230769230769232,"whether":0.019230769230769232,"any":0.019230769230769232},"1101":{"a":0.023255813953488372,"producer-consumer":0.023255813953488372,"queue":0.023255813953488372,"is":0.023255813953488372,"distributed":0.023255813953488372,"data":0.023255813953488372,"structure":0.023255813953488372,"that":0.023255813953488372,"groups":0.023255813953488372,"of":0.023255813953488372,"processes":0.023255813953488372,"use":0.023255813953488372,"to":0.023255813953488372,"generate":0.023255813953488372,"and":0.023255813953488372,"consume":0.023255813953488372,"items":0.023255813953488372,"producer":0.023255813953488372,"create":0.023255813953488372,"new":0.023255813953488372,"elements":0.023255813953488372,"add":0.023255813953488372,"them":0.023255813953488372,"the":0.023255813953488372,"consumer":0.023255813953488372,"remove":0.023255813953488372,"from":0.023255813953488372,"list":0.023255813953488372,"process":0.023255813953488372,"in":0.023255813953488372,"this":0.023255813953488372,"implementation":0.023255813953488372,"are":0.023255813953488372,"simple":0.023255813953488372,"integers":0.023255813953488372,"represented":0.023255813953488372,"by":0.023255813953488372,"root":0.023255813953488372,"node":0.023255813953488372,"an":0.023255813953488372,"element":0.023255813953488372,"creates":0.023255813953488372,"child":0.023255813953488372},"1102":{"the":0.029411764705882353,"following":0.029411764705882353,"excerpt":0.029411764705882353,"of":0.029411764705882353,"code":0.029411764705882353,"corresponds":0.029411764705882353,"to":0.029411764705882353,"constructor":0.029411764705882353,"object":0.029411764705882353,"as":0.029411764705882353,"with":0.029411764705882353,"barrier":0.029411764705882353,"objects":0.029411764705882353,"it":0.029411764705882353,"first":0.029411764705882353,"calls":0.029411764705882353,"parent":0.029411764705882353,"class":0.029411764705882353,"syncprimitive":0.029411764705882353,"that":0.029411764705882353,"creates":0.029411764705882353,"a":0.029411764705882353,"zookeeper":0.029411764705882353,"if":0.029411764705882353,"one":0.029411764705882353,"doesn't":0.029411764705882353,"exist":0.029411764705882353,"then":0.029411764705882353,"verifies":0.029411764705882353,"root":0.029411764705882353,"node":0.029411764705882353,"queue":0.029411764705882353,"exists":0.029411764705882353,"and":0.029411764705882353},"1103":{"a":0.0196078431372549,"producer":0.0196078431372549,"process":0.0196078431372549,"calls":0.0196078431372549,"produce":0.0196078431372549,"to":0.0196078431372549,"add":0.0196078431372549,"an":0.0196078431372549,"element":0.0196078431372549,"the":0.0196078431372549,"queue":0.0196078431372549,"and":0.0196078431372549,"passes":0.0196078431372549,"integer":0.0196078431372549,"as":0.0196078431372549,"argument":0.0196078431372549,"method":0.0196078431372549,"creates":0.0196078431372549,"new":0.0196078431372549,"node":0.0196078431372549,"using":0.0196078431372549,"create":0.0196078431372549,"uses":0.0196078431372549,"sequence":0.0196078431372549,"flag":0.0196078431372549,"instruct":0.0196078431372549,"zookeeper":0.0196078431372549,"append":0.0196078431372549,"value":0.0196078431372549,"of":0.0196078431372549,"sequencer":0.0196078431372549,"counter":0.0196078431372549,"associated":0.0196078431372549,"root":0.0196078431372549,"in":0.0196078431372549,"this":0.0196078431372549,"way":0.0196078431372549,"we":0.0196078431372549,"impose":0.0196078431372549,"total":0.0196078431372549,"order":0.0196078431372549,"on":0.0196078431372549,"elements":0.0196078431372549,"thus":0.0196078431372549,"guaranteeing":0.0196078431372549,"that":0.0196078431372549,"oldest":0.0196078431372549,"is":0.0196078431372549,"next":0.0196078431372549,"one":0.0196078431372549,"consumed":0.0196078431372549},"1104":{"to":0.02564102564102564,"consume":0.02564102564102564,"an":0.02564102564102564,"element":0.02564102564102564,"a":0.02564102564102564,"consumer":0.02564102564102564,"process":0.02564102564102564,"obtains":0.02564102564102564,"the":0.02564102564102564,"children":0.02564102564102564,"of":0.02564102564102564,"root":0.02564102564102564,"node":0.02564102564102564,"reads":0.02564102564102564,"with":0.02564102564102564,"smallest":0.02564102564102564,"counter":0.02564102564102564,"value":0.02564102564102564,"and":0.02564102564102564,"returns":0.02564102564102564,"note":0.02564102564102564,"that":0.02564102564102564,"if":0.02564102564102564,"there":0.02564102564102564,"is":0.02564102564102564,"conflict":0.02564102564102564,"then":0.02564102564102564,"one":0.02564102564102564,"two":0.02564102564102564,"contending":0.02564102564102564,"processes":0.02564102564102564,"won't":0.02564102564102564,"be":0.02564102564102564,"able":0.02564102564102564,"delete":0.02564102564102564,"operation":0.02564102564102564,"will":0.02564102564102564,"throw":0.02564102564102564,"exception":0.02564102564102564},"1105":{"a":0.027777777777777776,"call":0.027777777777777776,"to":0.027777777777777776,"getchildren":0.027777777777777776,"returns":0.027777777777777776,"the":0.027777777777777776,"list":0.027777777777777776,"of":0.027777777777777776,"children":0.027777777777777776,"in":0.027777777777777776,"lexicographic":0.027777777777777776,"order":0.027777777777777776,"as":0.027777777777777776,"does":0.027777777777777776,"not":0.027777777777777776,"necessarily":0.027777777777777776,"follow":0.027777777777777776,"numerical":0.027777777777777776,"counter":0.027777777777777776,"values":0.027777777777777776,"we":0.027777777777777776,"need":0.027777777777777776,"decide":0.027777777777777776,"which":0.027777777777777776,"element":0.027777777777777776,"is":0.027777777777777776,"smallest":0.027777777777777776,"one":0.027777777777777776,"has":0.027777777777777776,"value":0.027777777777777776,"traverse":0.027777777777777776,"and":0.027777777777777776,"remove":0.027777777777777776,"prefix":0.027777777777777776,"from":0.027777777777777776,"each":0.027777777777777776},"1106":{"in":0.05,"the":0.05,"following":0.05,"section":0.05,"you":0.05,"can":0.05,"find":0.05,"a":0.05,"complete":0.05,"command":0.05,"line":0.05,"application":0.05,"to":0.05,"demonstrate":0.05,"above":0.05,"mentioned":0.05,"recipes":0.05,"use":0.05,"run":0.05,"it":0.05},"1107":{"100":0.14285714285714285,"start":0.14285714285714285,"a":0.14285714285714285,"producer":0.14285714285714285,"to":0.14285714285714285,"create":0.14285714285714285,"elements":0.14285714285714285},"1108":{"100":0.14285714285714285,"start":0.14285714285714285,"a":0.14285714285714285,"consumer":0.14285714285714285,"to":0.14285714285714285,"consume":0.14285714285714285,"elements":0.14285714285714285},"1109":{"2":0.07692307692307693,"start":0.07692307692307693,"a":0.07692307692307693,"barrier":0.07692307692307693,"with":0.07692307692307693,"participants":0.07692307692307693,"as":0.07692307692307693,"many":0.07692307692307693,"times":0.07692307692307693,"you'd":0.07692307692307693,"like":0.07692307692307693,"to":0.07692307692307693,"enter":0.07692307692307693},"1110":{"java":0.5,"example":0.5},"1111":{"walks":0.045454545454545456,"through":0.045454545454545456,"building":0.045454545454545456,"a":0.045454545454545456,"complete":0.045454545454545456,"zookeeper":0.045454545454545456,"watch":0.045454545454545456,"client":0.045454545454545456,"in":0.045454545454545456,"java":0.045454545454545456,"covering":0.045454545454545456,"the":0.045454545454545456,"executor":0.045454545454545456,"and":0.045454545454545456,"datamonitor":0.045454545454545456,"design":0.045454545454545456,"watcher":0.045454545454545456,"callbacks":0.045454545454545456,"handling":0.045454545454545456,"connection":0.045454545454545456,"state":0.045454545454545456,"changes":0.045454545454545456},"1112":{"a":0.25,"simple":0.25,"watch":0.25,"client":0.25},"1113":{"requirements":1},"1114":{"program":0.5,"design":0.5},"1115":{"the":0.3333333333333333,"executor":0.3333333333333333,"class":0.3333333333333333},"1116":{"the":0.3333333333333333,"datamonitor":0.3333333333333333,"class":0.3333333333333333},"1117":{"complete":0.3333333333333333,"source":0.3333333333333333,"listings":0.3333333333333333},"1118":{"executor":0.5,"java":0.5},"1119":{"datamonitor":0.5,"java":0.5},"1120":{"to":0.037037037037037035,"introduce":0.037037037037037035,"you":0.037037037037037035,"the":0.037037037037037035,"zookeeper":0.037037037037037035,"java":0.037037037037037035,"api":0.037037037037037035,"we":0.037037037037037035,"develop":0.037037037037037035,"here":0.037037037037037035,"a":0.037037037037037035,"very":0.037037037037037035,"simple":0.037037037037037035,"watch":0.037037037037037035,"client":0.037037037037037035,"this":0.037037037037037035,"watches":0.037037037037037035,"znode":0.037037037037037035,"for":0.037037037037037035,"changes":0.037037037037037035,"and":0.037037037037037035,"responds":0.037037037037037035,"by":0.037037037037037035,"starting":0.037037037037037035,"or":0.037037037037037035,"stopping":0.037037037037037035,"program":0.037037037037037035},"1121":{"the":0.2,"client":0.2,"has":0.2,"four":0.2,"requirements":0.2},"1122":{"it":0.25,"takes":0.25,"as":0.25,"parameters":0.25},"1123":{"the":0.2,"address":0.2,"of":0.2,"zookeeper":0.2,"service":0.2},"1124":{"the":0.1,"name":0.1,"of":0.1,"a":0.1,"znode":0.1,"-":0.1,"one":0.1,"to":0.1,"be":0.1,"watched":0.1},"1125":{"the":0.125,"name":0.125,"of":0.125,"a":0.125,"file":0.125,"to":0.125,"write":0.125,"output":0.125},"1126":{"an":0.25,"executable":0.25,"with":0.25,"arguments":0.25},"1127":{"it":0.1,"fetches":0.1,"the":0.1,"data":0.1,"associated":0.1,"with":0.1,"znode":0.1,"and":0.1,"starts":0.1,"executable":0.1},"1128":{"if":0.1,"the":0.1,"znode":0.1,"changes":0.1,"client":0.1,"re-fetches":0.1,"contents":0.1,"and":0.1,"restarts":0.1,"executable":0.1},"1129":{"if":0.14285714285714285,"the":0.14285714285714285,"znode":0.14285714285714285,"disappears":0.14285714285714285,"client":0.14285714285714285,"kills":0.14285714285714285,"executable":0.14285714285714285},"1130":{"conventionally":0.016666666666666666,"zookeeper":0.016666666666666666,"applications":0.016666666666666666,"are":0.016666666666666666,"broken":0.016666666666666666,"into":0.016666666666666666,"two":0.016666666666666666,"units":0.016666666666666666,"one":0.016666666666666666,"which":0.016666666666666666,"maintains":0.016666666666666666,"the":0.016666666666666666,"connection":0.016666666666666666,"and":0.016666666666666666,"other":0.016666666666666666,"monitors":0.016666666666666666,"data":0.016666666666666666,"in":0.016666666666666666,"this":0.016666666666666666,"application":0.016666666666666666,"class":0.016666666666666666,"called":0.016666666666666666,"executor":0.016666666666666666,"datamonitor":0.016666666666666666,"tree":0.016666666666666666,"also":0.016666666666666666,"contains":0.016666666666666666,"main":0.016666666666666666,"thread":0.016666666666666666,"execution":0.016666666666666666,"logic":0.016666666666666666,"it":0.016666666666666666,"is":0.016666666666666666,"responsible":0.016666666666666666,"for":0.016666666666666666,"what":0.016666666666666666,"little":0.016666666666666666,"user":0.016666666666666666,"interaction":0.016666666666666666,"there":0.016666666666666666,"as":0.016666666666666666,"well":0.016666666666666666,"with":0.016666666666666666,"executable":0.016666666666666666,"program":0.016666666666666666,"you":0.016666666666666666,"pass":0.016666666666666666,"an":0.016666666666666666,"argument":0.016666666666666666,"sample":0.016666666666666666,"per":0.016666666666666666,"requirements":0.016666666666666666,"shuts":0.016666666666666666,"down":0.016666666666666666,"restarts":0.016666666666666666,"according":0.016666666666666666,"to":0.016666666666666666,"state":0.016666666666666666,"of":0.016666666666666666,"znode":0.016666666666666666},"1131":{"the":0.05,"executor":0.05,"object":0.05,"is":0.05,"primary":0.05,"container":0.05,"of":0.05,"sample":0.05,"application":0.05,"it":0.05,"contains":0.05,"both":0.05,"zookeeper":0.05,"datamonitor":0.05,"as":0.05,"described":0.05,"above":0.05,"in":0.05,"program":0.05,"design":0.05},"1132":{"recall":0.02,"that":0.02,"the":0.02,"executor's":0.02,"job":0.02,"is":0.02,"to":0.02,"start":0.02,"and":0.02,"stop":0.02,"executable":0.02,"whose":0.02,"name":0.02,"you":0.02,"pass":0.02,"in":0.02,"on":0.02,"command":0.02,"line":0.02,"it":0.02,"does":0.02,"this":0.02,"response":0.02,"events":0.02,"fired":0.02,"by":0.02,"zookeeper":0.02,"object":0.02,"as":0.02,"can":0.02,"see":0.02,"code":0.02,"above":0.02,"executor":0.02,"passes":0.02,"a":0.02,"reference":0.02,"itself":0.02,"watcher":0.02,"argument":0.02,"constructor":0.02,"also":0.02,"datamonitorlistener":0.02,"datamonitor":0.02,"per":0.02,"definition":0.02,"implements":0.02,"both":0.02,"these":0.02,"interfaces":0.02},"1133":{"the":0.013513513513513514,"watcher":0.013513513513513514,"interface":0.013513513513513514,"is":0.013513513513513514,"defined":0.013513513513513514,"by":0.013513513513513514,"zookeeper":0.013513513513513514,"java":0.013513513513513514,"api":0.013513513513513514,"uses":0.013513513513513514,"it":0.013513513513513514,"to":0.013513513513513514,"communicate":0.013513513513513514,"back":0.013513513513513514,"its":0.013513513513513514,"container":0.013513513513513514,"supports":0.013513513513513514,"only":0.013513513513513514,"one":0.013513513513513514,"method":0.013513513513513514,"process":0.013513513513513514,"and":0.013513513513513514,"communicates":0.013513513513513514,"generic":0.013513513513513514,"events":0.013513513513513514,"that":0.013513513513513514,"main":0.013513513513513514,"thread":0.013513513513513514,"would":0.013513513513513514,"be":0.013513513513513514,"interested":0.013513513513513514,"in":0.013513513513513514,"such":0.013513513513513514,"as":0.013513513513513514,"state":0.013513513513513514,"of":0.013513513513513514,"connection":0.013513513513513514,"or":0.013513513513513514,"session":0.013513513513513514,"executor":0.013513513513513514,"this":0.013513513513513514,"example":0.013513513513513514,"simply":0.013513513513513514,"forwards":0.013513513513513514,"those":0.013513513513513514,"down":0.013513513513513514,"datamonitor":0.013513513513513514,"decide":0.013513513513513514,"what":0.013513513513513514,"do":0.013513513513513514,"with":0.013513513513513514,"them":0.013513513513513514,"does":0.013513513513513514,"illustrate":0.013513513513513514,"point":0.013513513513513514,"convention":0.013513513513513514,"some":0.013513513513513514,"executor-like":0.013513513513513514,"object":0.013513513513513514,"owns":0.013513513513513514,"but":0.013513513513513514,"free":0.013513513513513514,"delegate":0.013513513513513514,"other":0.013513513513513514,"objects":0.013513513513513514,"also":0.013513513513513514,"default":0.013513513513513514,"channel":0.013513513513513514,"on":0.013513513513513514,"which":0.013513513513513514,"fire":0.013513513513513514,"watch":0.013513513513513514,"more":0.013513513513513514,"later":0.013513513513513514},"1134":{"the":0.029411764705882353,"datamonitorlistener":0.029411764705882353,"interface":0.029411764705882353,"on":0.029411764705882353,"other":0.029411764705882353,"hand":0.029411764705882353,"is":0.029411764705882353,"not":0.029411764705882353,"part":0.029411764705882353,"of":0.029411764705882353,"zookeeper":0.029411764705882353,"api":0.029411764705882353,"it":0.029411764705882353,"a":0.029411764705882353,"completely":0.029411764705882353,"custom":0.029411764705882353,"designed":0.029411764705882353,"for":0.029411764705882353,"this":0.029411764705882353,"sample":0.029411764705882353,"application":0.029411764705882353,"datamonitor":0.029411764705882353,"object":0.029411764705882353,"uses":0.029411764705882353,"to":0.029411764705882353,"communicate":0.029411764705882353,"back":0.029411764705882353,"its":0.029411764705882353,"container":0.029411764705882353,"which":0.029411764705882353,"also":0.029411764705882353,"executor":0.029411764705882353,"looks":0.029411764705882353,"like":0.029411764705882353},"1135":{"this":0.030303030303030304,"interface":0.030303030303030304,"is":0.030303030303030304,"defined":0.030303030303030304,"in":0.030303030303030304,"the":0.030303030303030304,"datamonitor":0.030303030303030304,"class":0.030303030303030304,"and":0.030303030303030304,"implemented":0.030303030303030304,"executor":0.030303030303030304,"when":0.030303030303030304,"exists":0.030303030303030304,"invoked":0.030303030303030304,"decides":0.030303030303030304,"whether":0.030303030303030304,"to":0.030303030303030304,"start":0.030303030303030304,"up":0.030303030303030304,"or":0.030303030303030304,"shut":0.030303030303030304,"down":0.030303030303030304,"per":0.030303030303030304,"requirements":0.030303030303030304,"recall":0.030303030303030304,"that":0.030303030303030304,"requires":0.030303030303030304,"say":0.030303030303030304,"kill":0.030303030303030304,"executable":0.030303030303030304,"znode":0.030303030303030304,"ceases":0.030303030303030304,"exist":0.030303030303030304},"1136":{"when":0.05,"executor":0.05,"closing":0.05,"is":0.05,"invoked":0.05,"the":0.05,"decides":0.05,"whether":0.05,"or":0.05,"not":0.05,"to":0.05,"shut":0.05,"itself":0.05,"down":0.05,"in":0.05,"response":0.05,"zookeeper":0.05,"connection":0.05,"permanently":0.05,"disappearing":0.05},"1137":{"as":0.05263157894736842,"you":0.05263157894736842,"might":0.05263157894736842,"have":0.05263157894736842,"guessed":0.05263157894736842,"datamonitor":0.05263157894736842,"is":0.05263157894736842,"the":0.05263157894736842,"object":0.05263157894736842,"that":0.05263157894736842,"invokes":0.05263157894736842,"these":0.05263157894736842,"methods":0.05263157894736842,"in":0.05263157894736842,"response":0.05263157894736842,"to":0.05263157894736842,"changes":0.05263157894736842,"zookeeper's":0.05263157894736842,"state":0.05263157894736842},"1138":{"here":0.1111111111111111,"are":0.1111111111111111,"executor's":0.1111111111111111,"implementation":0.1111111111111111,"of":0.1111111111111111,"datamonitorlistener":0.1111111111111111,"exists":0.1111111111111111,"and":0.1111111111111111,"closing":0.1111111111111111},"1139":{"the":0.047619047619047616,"datamonitor":0.047619047619047616,"class":0.047619047619047616,"has":0.047619047619047616,"meat":0.047619047619047616,"of":0.047619047619047616,"zookeeper":0.047619047619047616,"logic":0.047619047619047616,"it":0.047619047619047616,"is":0.047619047619047616,"mostly":0.047619047619047616,"asynchronous":0.047619047619047616,"and":0.047619047619047616,"event":0.047619047619047616,"driven":0.047619047619047616,"kicks":0.047619047619047616,"things":0.047619047619047616,"off":0.047619047619047616,"in":0.047619047619047616,"constructor":0.047619047619047616,"with":0.047619047619047616},"1140":{"the":0.02857142857142857,"call":0.02857142857142857,"to":0.02857142857142857,"zookeeper":0.02857142857142857,"exists":0.02857142857142857,"checks":0.02857142857142857,"for":0.02857142857142857,"existence":0.02857142857142857,"of":0.02857142857142857,"znode":0.02857142857142857,"sets":0.02857142857142857,"a":0.02857142857142857,"watch":0.02857142857142857,"and":0.02857142857142857,"passes":0.02857142857142857,"reference":0.02857142857142857,"itself":0.02857142857142857,"this":0.02857142857142857,"as":0.02857142857142857,"completion":0.02857142857142857,"callback":0.02857142857142857,"object":0.02857142857142857,"in":0.02857142857142857,"sense":0.02857142857142857,"it":0.02857142857142857,"kicks":0.02857142857142857,"things":0.02857142857142857,"off":0.02857142857142857,"since":0.02857142857142857,"real":0.02857142857142857,"processing":0.02857142857142857,"happens":0.02857142857142857,"when":0.02857142857142857,"is":0.02857142857142857,"triggered":0.02857142857142857},"1141":{"type":0.5,"info":0.5},"1142":{"don't":0.03225806451612903,"confuse":0.03225806451612903,"the":0.03225806451612903,"completion":0.03225806451612903,"callback":0.03225806451612903,"with":0.03225806451612903,"watch":0.03225806451612903,"zookeeper":0.03225806451612903,"exists":0.03225806451612903,"which":0.03225806451612903,"happens":0.03225806451612903,"to":0.03225806451612903,"be":0.03225806451612903,"method":0.03225806451612903,"statcallback":0.03225806451612903,"processresult":0.03225806451612903,"implemented":0.03225806451612903,"in":0.03225806451612903,"datamonitor":0.03225806451612903,"object":0.03225806451612903,"is":0.03225806451612903,"invoked":0.03225806451612903,"when":0.03225806451612903,"asynchronous":0.03225806451612903,"setting":0.03225806451612903,"of":0.03225806451612903,"operation":0.03225806451612903,"by":0.03225806451612903,"completes":0.03225806451612903,"on":0.03225806451612903,"server":0.03225806451612903},"1143":{"the":0.05555555555555555,"triggering":0.05555555555555555,"of":0.05555555555555555,"watch":0.05555555555555555,"on":0.05555555555555555,"other":0.05555555555555555,"hand":0.05555555555555555,"sends":0.05555555555555555,"an":0.05555555555555555,"event":0.05555555555555555,"to":0.05555555555555555,"executor":0.05555555555555555,"object":0.05555555555555555,"since":0.05555555555555555,"registered":0.05555555555555555,"as":0.05555555555555555,"watcher":0.05555555555555555,"zookeeper":0.05555555555555555},"1144":{"0":0.029411764705882353,"3":0.029411764705882353,"as":0.029411764705882353,"an":0.029411764705882353,"aside":0.029411764705882353,"you":0.029411764705882353,"might":0.029411764705882353,"note":0.029411764705882353,"that":0.029411764705882353,"the":0.029411764705882353,"datamonitor":0.029411764705882353,"could":0.029411764705882353,"also":0.029411764705882353,"register":0.029411764705882353,"itself":0.029411764705882353,"watcher":0.029411764705882353,"for":0.029411764705882353,"this":0.029411764705882353,"particular":0.029411764705882353,"watch":0.029411764705882353,"event":0.029411764705882353,"is":0.029411764705882353,"new":0.029411764705882353,"to":0.029411764705882353,"zookeeper":0.029411764705882353,"support":0.029411764705882353,"of":0.029411764705882353,"multiple":0.029411764705882353,"watchers":0.029411764705882353,"in":0.029411764705882353,"example":0.029411764705882353,"however":0.029411764705882353,"does":0.029411764705882353,"not":0.029411764705882353},"1145":{"when":0.07142857142857142,"the":0.07142857142857142,"zookeeper":0.07142857142857142,"exists":0.07142857142857142,"operation":0.07142857142857142,"completes":0.07142857142857142,"on":0.07142857142857142,"server":0.07142857142857142,"api":0.07142857142857142,"invokes":0.07142857142857142,"this":0.07142857142857142,"completion":0.07142857142857142,"callback":0.07142857142857142,"client":0.07142857142857142},"1146":{"the":0.014925373134328358,"code":0.014925373134328358,"first":0.014925373134328358,"checks":0.014925373134328358,"error":0.014925373134328358,"codes":0.014925373134328358,"for":0.014925373134328358,"znode":0.014925373134328358,"existence":0.014925373134328358,"fatal":0.014925373134328358,"errors":0.014925373134328358,"and":0.014925373134328358,"recoverable":0.014925373134328358,"if":0.014925373134328358,"file":0.014925373134328358,"or":0.014925373134328358,"exists":0.014925373134328358,"it":0.014925373134328358,"gets":0.014925373134328358,"data":0.014925373134328358,"from":0.014925373134328358,"then":0.014925373134328358,"invoke":0.014925373134328358,"callback":0.014925373134328358,"of":0.014925373134328358,"executor":0.014925373134328358,"state":0.014925373134328358,"has":0.014925373134328358,"changed":0.014925373134328358,"note":0.014925373134328358,"doesn't":0.014925373134328358,"have":0.014925373134328358,"to":0.014925373134328358,"do":0.014925373134328358,"any":0.014925373134328358,"exception":0.014925373134328358,"processing":0.014925373134328358,"getdata":0.014925373134328358,"call":0.014925373134328358,"because":0.014925373134328358,"watches":0.014925373134328358,"pending":0.014925373134328358,"anything":0.014925373134328358,"that":0.014925373134328358,"could":0.014925373134328358,"cause":0.014925373134328358,"an":0.014925373134328358,"node":0.014925373134328358,"is":0.014925373134328358,"deleted":0.014925373134328358,"before":0.014925373134328358,"calls":0.014925373134328358,"zookeeper":0.014925373134328358,"watch":0.014925373134328358,"event":0.014925373134328358,"set":0.014925373134328358,"by":0.014925373134328358,"triggers":0.014925373134328358,"a":0.014925373134328358,"there":0.014925373134328358,"communication":0.014925373134328358,"connection":0.014925373134328358,"fires":0.014925373134328358,"when":0.014925373134328358,"comes":0.014925373134328358,"back":0.014925373134328358,"up":0.014925373134328358},"1147":{"finally":0.14285714285714285,"notice":0.14285714285714285,"how":0.14285714285714285,"datamonitor":0.14285714285714285,"processes":0.14285714285714285,"watch":0.14285714285714285,"events":0.14285714285714285},"1148":{"0":0.017543859649122806,"3":0.017543859649122806,"if":0.017543859649122806,"the":0.017543859649122806,"client-side":0.017543859649122806,"zookeeper":0.017543859649122806,"libraries":0.017543859649122806,"can":0.017543859649122806,"re-establish":0.017543859649122806,"communication":0.017543859649122806,"channel":0.017543859649122806,"syncconnected":0.017543859649122806,"event":0.017543859649122806,"to":0.017543859649122806,"before":0.017543859649122806,"session":0.017543859649122806,"expiration":0.017543859649122806,"expired":0.017543859649122806,"all":0.017543859649122806,"of":0.017543859649122806,"session's":0.017543859649122806,"watches":0.017543859649122806,"will":0.017543859649122806,"automatically":0.017543859649122806,"be":0.017543859649122806,"re-established":0.017543859649122806,"with":0.017543859649122806,"server":0.017543859649122806,"auto-reset":0.017543859649122806,"is":0.017543859649122806,"new":0.017543859649122806,"in":0.017543859649122806,"see":0.017543859649122806,"programmer":0.017543859649122806,"guide":0.017543859649122806,"for":0.017543859649122806,"more":0.017543859649122806,"on":0.017543859649122806,"this":0.017543859649122806,"a":0.017543859649122806,"bit":0.017543859649122806,"lower":0.017543859649122806,"down":0.017543859649122806,"function":0.017543859649122806,"when":0.017543859649122806,"datamonitor":0.017543859649122806,"gets":0.017543859649122806,"an":0.017543859649122806,"znode":0.017543859649122806,"it":0.017543859649122806,"callszookeeper":0.017543859649122806,"exists":0.017543859649122806,"find":0.017543859649122806,"out":0.017543859649122806,"what":0.017543859649122806,"has":0.017543859649122806,"changed":0.017543859649122806},"1149":{"access":0.25,"control":0.25,"using":0.25,"acls":0.25},"1150":{"explains":0.043478260869565216,"zookeeper's":0.043478260869565216,"acl-based":0.043478260869565216,"access":0.043478260869565216,"control":0.043478260869565216,"for":0.043478260869565216,"znodes":0.043478260869565216,"including":0.043478260869565216,"permission":0.043478260869565216,"types":0.043478260869565216,"built-in":0.043478260869565216,"acl":0.043478260869565216,"schemes":0.043478260869565216,"world":0.043478260869565216,"auth":0.043478260869565216,"digest":0.043478260869565216,"host":0.043478260869565216,"ip":0.043478260869565216,"and":0.043478260869565216,"the":0.043478260869565216,"c":0.043478260869565216,"client":0.043478260869565216,"api":0.043478260869565216},"1151":{"acl":0.5,"permissions":0.5},"1152":{"builtin":0.3333333333333333,"acl":0.3333333333333333,"schemes":0.3333333333333333},"1153":{"zookeeper":0.25,"c":0.25,"client":0.25,"api":0.25},"1154":{"zookeeper":0.015873015873015872,"uses":0.015873015873015872,"acls":0.015873015873015872,"to":0.015873015873015872,"control":0.015873015873015872,"access":0.015873015873015872,"its":0.015873015873015872,"znodes":0.015873015873015872,"the":0.015873015873015872,"data":0.015873015873015872,"nodes":0.015873015873015872,"of":0.015873015873015872,"a":0.015873015873015872,"tree":0.015873015873015872,"acl":0.015873015873015872,"implementation":0.015873015873015872,"is":0.015873015873015872,"quite":0.015873015873015872,"similar":0.015873015873015872,"unix":0.015873015873015872,"file":0.015873015873015872,"permissions":0.015873015873015872,"it":0.015873015873015872,"employs":0.015873015873015872,"permission":0.015873015873015872,"bits":0.015873015873015872,"allow":0.015873015873015872,"disallow":0.015873015873015872,"various":0.015873015873015872,"operations":0.015873015873015872,"against":0.015873015873015872,"node":0.015873015873015872,"and":0.015873015873015872,"scope":0.015873015873015872,"which":0.015873015873015872,"apply":0.015873015873015872,"unlike":0.015873015873015872,"standard":0.015873015873015872,"not":0.015873015873015872,"limited":0.015873015873015872,"by":0.015873015873015872,"three":0.015873015873015872,"scopes":0.015873015873015872,"for":0.015873015873015872,"user":0.015873015873015872,"owner":0.015873015873015872,"group":0.015873015873015872,"world":0.015873015873015872,"other":0.015873015873015872,"does":0.015873015873015872,"have":0.015873015873015872,"notion":0.015873015873015872,"an":0.015873015873015872,"znode":0.015873015873015872,"instead":0.015873015873015872,"specifies":0.015873015873015872,"sets":0.015873015873015872,"ids":0.015873015873015872,"that":0.015873015873015872,"are":0.015873015873015872,"associated":0.015873015873015872,"with":0.015873015873015872,"those":0.015873015873015872},"1155":{"1":0.025,"16":0.025,"172":0.025,"note":0.025,"also":0.025,"that":0.025,"an":0.025,"acl":0.025,"pertains":0.025,"only":0.025,"to":0.025,"a":0.025,"specific":0.025,"znode":0.025,"in":0.025,"particular":0.025,"it":0.025,"does":0.025,"not":0.025,"apply":0.025,"children":0.025,"for":0.025,"example":0.025,"if":0.025,"app":0.025,"is":0.025,"readable":0.025,"by":0.025,"ip":0.025,"and":0.025,"status":0.025,"world":0.025,"anyone":0.025,"will":0.025,"be":0.025,"able":0.025,"read":0.025,"acls":0.025,"are":0.025,"recursive":0.025},"1156":{"1":0.023809523809523808,"16":0.023809523809523808,"172":0.023809523809523808,"zookeeper":0.023809523809523808,"supports":0.023809523809523808,"pluggable":0.023809523809523808,"authentication":0.023809523809523808,"schemes":0.023809523809523808,"ids":0.023809523809523808,"are":0.023809523809523808,"specified":0.023809523809523808,"using":0.023809523809523808,"the":0.023809523809523808,"form":0.023809523809523808,"scheme":0.023809523809523808,"expression":0.023809523809523808,"where":0.023809523809523808,"is":0.023809523809523808,"that":0.023809523809523808,"id":0.023809523809523808,"corresponds":0.023809523809523808,"to":0.023809523809523808,"set":0.023809523809523808,"of":0.023809523809523808,"valid":0.023809523809523808,"expressions":0.023809523809523808,"defined":0.023809523809523808,"by":0.023809523809523808,"for":0.023809523809523808,"example":0.023809523809523808,"ip":0.023809523809523808,"an":0.023809523809523808,"a":0.023809523809523808,"host":0.023809523809523808,"with":0.023809523809523808,"address":0.023809523809523808,"whereas":0.023809523809523808,"digest":0.023809523809523808,"bob":0.023809523809523808,"password":0.023809523809523808,"user":0.023809523809523808,"name":0.023809523809523808},"1157":{"0":0.019230769230769232,"16":0.019230769230769232,"19":0.019230769230769232,"22":0.019230769230769232,"when":0.019230769230769232,"a":0.019230769230769232,"client":0.019230769230769232,"connects":0.019230769230769232,"to":0.019230769230769232,"zookeeper":0.019230769230769232,"and":0.019230769230769232,"authenticates":0.019230769230769232,"itself":0.019230769230769232,"associates":0.019230769230769232,"all":0.019230769230769232,"the":0.019230769230769232,"ids":0.019230769230769232,"that":0.019230769230769232,"correspond":0.019230769230769232,"with":0.019230769230769232,"clients":0.019230769230769232,"connection":0.019230769230769232,"these":0.019230769230769232,"are":0.019230769230769232,"checked":0.019230769230769232,"against":0.019230769230769232,"acls":0.019230769230769232,"of":0.019230769230769232,"znodes":0.019230769230769232,"tries":0.019230769230769232,"access":0.019230769230769232,"node":0.019230769230769232,"made":0.019230769230769232,"up":0.019230769230769232,"pairs":0.019230769230769232,"scheme":0.019230769230769232,"expression":0.019230769230769232,"perms":0.019230769230769232,"format":0.019230769230769232,"is":0.019230769230769232,"specific":0.019230769230769232,"for":0.019230769230769232,"example":0.019230769230769232,"pair":0.019230769230769232,"ip":0.019230769230769232,"read":0.019230769230769232,"gives":0.019230769230769232,"permission":0.019230769230769232,"any":0.019230769230769232,"an":0.019230769230769232,"address":0.019230769230769232,"starts":0.019230769230769232},"1158":{"zookeeper":0.2,"supports":0.2,"the":0.2,"following":0.2,"permissions":0.2},"1159":{"create":0.16666666666666666,"you":0.16666666666666666,"can":0.16666666666666666,"a":0.16666666666666666,"child":0.16666666666666666,"node":0.16666666666666666},"1160":{"read":0.08333333333333333,"you":0.08333333333333333,"can":0.08333333333333333,"get":0.08333333333333333,"data":0.08333333333333333,"from":0.08333333333333333,"a":0.08333333333333333,"node":0.08333333333333333,"and":0.08333333333333333,"list":0.08333333333333333,"its":0.08333333333333333,"children":0.08333333333333333},"1161":{"write":0.125,"you":0.125,"can":0.125,"set":0.125,"data":0.125,"for":0.125,"a":0.125,"node":0.125},"1162":{"delete":0.16666666666666666,"you":0.16666666666666666,"can":0.16666666666666666,"a":0.16666666666666666,"child":0.16666666666666666,"node":0.16666666666666666},"1163":{"admin":0.2,"you":0.2,"can":0.2,"set":0.2,"permissions":0.2},"1164":{"the":0.05,"create":0.05,"and":0.05,"delete":0.05,"permissions":0.05,"have":0.05,"been":0.05,"broken":0.05,"out":0.05,"of":0.05,"write":0.05,"permission":0.05,"for":0.05,"finer":0.05,"grained":0.05,"access":0.05,"controls":0.05,"cases":0.05,"are":0.05,"following":0.05},"1165":{"you":0.058823529411764705,"want":0.058823529411764705,"a":0.058823529411764705,"to":0.058823529411764705,"be":0.058823529411764705,"able":0.058823529411764705,"do":0.058823529411764705,"set":0.058823529411764705,"on":0.058823529411764705,"zookeeper":0.058823529411764705,"node":0.058823529411764705,"but":0.058823529411764705,"not":0.058823529411764705,"create":0.058823529411764705,"or":0.058823529411764705,"delete":0.058823529411764705,"children":0.058823529411764705},"1166":{"create":0.02857142857142857,"without":0.02857142857142857,"delete":0.02857142857142857,"clients":0.02857142857142857,"requests":0.02857142857142857,"by":0.02857142857142857,"creating":0.02857142857142857,"zookeeper":0.02857142857142857,"nodes":0.02857142857142857,"in":0.02857142857142857,"a":0.02857142857142857,"parent":0.02857142857142857,"directory":0.02857142857142857,"you":0.02857142857142857,"want":0.02857142857142857,"all":0.02857142857142857,"to":0.02857142857142857,"be":0.02857142857142857,"able":0.02857142857142857,"add":0.02857142857142857,"but":0.02857142857142857,"only":0.02857142857142857,"request":0.02857142857142857,"processor":0.02857142857142857,"can":0.02857142857142857,"this":0.02857142857142857,"is":0.02857142857142857,"kind":0.02857142857142857,"of":0.02857142857142857,"like":0.02857142857142857,"the":0.02857142857142857,"append":0.02857142857142857,"permission":0.02857142857142857,"for":0.02857142857142857,"files":0.02857142857142857},"1167":{"also":0.017857142857142856,"the":0.017857142857142856,"admin":0.017857142857142856,"permission":0.017857142857142856,"is":0.017857142857142856,"there":0.017857142857142856,"since":0.017857142857142856,"zookeeper":0.017857142857142856,"doesn":0.017857142857142856,"t":0.017857142857142856,"have":0.017857142857142856,"a":0.017857142857142856,"notion":0.017857142857142856,"of":0.017857142857142856,"file":0.017857142857142856,"owner":0.017857142857142856,"in":0.017857142857142856,"some":0.017857142857142856,"sense":0.017857142857142856,"designates":0.017857142857142856,"entity":0.017857142857142856,"as":0.017857142857142856,"support":0.017857142857142856,"lookup":0.017857142857142856,"execute":0.017857142857142856,"bit":0.017857142857142856,"on":0.017857142857142856,"directories":0.017857142857142856,"to":0.017857142857142856,"allow":0.017857142857142856,"you":0.017857142857142856,"even":0.017857142857142856,"though":0.017857142857142856,"can't":0.017857142857142856,"list":0.017857142857142856,"directory":0.017857142857142856,"everyone":0.017857142857142856,"implicitly":0.017857142857142856,"has":0.017857142857142856,"this":0.017857142857142856,"allows":0.017857142857142856,"stat":0.017857142857142856,"node":0.017857142857142856,"but":0.017857142857142856,"nothing":0.017857142857142856,"more":0.017857142857142856,"problem":0.017857142857142856,"if":0.017857142857142856,"want":0.017857142857142856,"call":0.017857142857142856,"zoo_exists":0.017857142857142856,"that":0.017857142857142856,"doesn't":0.017857142857142856,"exist":0.017857142857142856,"no":0.017857142857142856,"check":0.017857142857142856},"1168":{"admin":0.03571428571428571,"permission":0.03571428571428571,"also":0.03571428571428571,"has":0.03571428571428571,"a":0.03571428571428571,"special":0.03571428571428571,"role":0.03571428571428571,"in":0.03571428571428571,"terms":0.03571428571428571,"of":0.03571428571428571,"acls":0.03571428571428571,"order":0.03571428571428571,"to":0.03571428571428571,"retrieve":0.03571428571428571,"znode":0.03571428571428571,"user":0.03571428571428571,"have":0.03571428571428571,"read":0.03571428571428571,"or":0.03571428571428571,"but":0.03571428571428571,"without":0.03571428571428571,"digest":0.03571428571428571,"hash":0.03571428571428571,"values":0.03571428571428571,"will":0.03571428571428571,"be":0.03571428571428571,"masked":0.03571428571428571,"out":0.03571428571428571},"1169":{"2":0.03125,"3":0.03125,"4":0.03125,"7":0.03125,"8":0.03125,"9":0.03125,"as":0.03125,"of":0.03125,"versions":0.03125,"the":0.03125,"exists":0.03125,"call":0.03125,"will":0.03125,"now":0.03125,"verify":0.03125,"acls":0.03125,"on":0.03125,"nodes":0.03125,"that":0.03125,"exist":0.03125,"and":0.03125,"client":0.03125,"must":0.03125,"have":0.03125,"read":0.03125,"permission":0.03125,"otherwise":0.03125,"'insufficient":0.03125,"permission'":0.03125,"error":0.03125,"be":0.03125,"raised":0.03125},"1170":{"zookeeper":0.14285714285714285,"has":0.14285714285714285,"the":0.14285714285714285,"following":0.14285714285714285,"built":0.14285714285714285,"in":0.14285714285714285,"schemes":0.14285714285714285},"1171":{"world":0.125,"has":0.125,"a":0.125,"single":0.125,"id":0.125,"anyone":0.125,"that":0.125,"represents":0.125},"1172":{"auth":0.015625,"is":0.015625,"a":0.015625,"special":0.015625,"scheme":0.015625,"which":0.015625,"ignores":0.015625,"any":0.015625,"provided":0.015625,"expression":0.015625,"and":0.015625,"instead":0.015625,"uses":0.015625,"the":0.015625,"current":0.015625,"user":0.015625,"credentials":0.015625,"whether":0.015625,"like":0.015625,"with":0.015625,"sasl":0.015625,"authentication":0.015625,"or":0.015625,"password":0.015625,"digest":0.015625,"ignored":0.015625,"by":0.015625,"zookeeper":0.015625,"server":0.015625,"when":0.015625,"persisting":0.015625,"acl":0.015625,"however":0.015625,"must":0.015625,"still":0.015625,"be":0.015625,"in":0.015625,"because":0.015625,"match":0.015625,"form":0.015625,"perms":0.015625,"this":0.015625,"as":0.015625,"convenience":0.015625,"it":0.015625,"common":0.015625,"use-case":0.015625,"for":0.015625,"to":0.015625,"create":0.015625,"znode":0.015625,"then":0.015625,"restrict":0.015625,"access":0.015625,"that":0.015625,"only":0.015625,"if":0.015625,"there":0.015625,"no":0.015625,"authenticated":0.015625,"setting":0.015625,"an":0.015625,"will":0.015625,"fail":0.015625},"1173":{"digest":0.029411764705882353,"uses":0.029411764705882353,"a":0.029411764705882353,"username":0.029411764705882353,"password":0.029411764705882353,"string":0.029411764705882353,"to":0.029411764705882353,"generate":0.029411764705882353,"md5":0.029411764705882353,"hash":0.029411764705882353,"which":0.029411764705882353,"is":0.029411764705882353,"then":0.029411764705882353,"used":0.029411764705882353,"as":0.029411764705882353,"an":0.029411764705882353,"acl":0.029411764705882353,"id":0.029411764705882353,"identity":0.029411764705882353,"authentication":0.029411764705882353,"done":0.029411764705882353,"by":0.029411764705882353,"sending":0.029411764705882353,"the":0.029411764705882353,"in":0.029411764705882353,"clear":0.029411764705882353,"text":0.029411764705882353,"when":0.029411764705882353,"expression":0.029411764705882353,"will":0.029411764705882353,"be":0.029411764705882353,"base64":0.029411764705882353,"encoded":0.029411764705882353,"sha1":0.029411764705882353},"1174":{"ip":0.045454545454545456,"uses":0.045454545454545456,"the":0.045454545454545456,"client":0.045454545454545456,"host":0.045454545454545456,"as":0.045454545454545456,"an":0.045454545454545456,"acl":0.045454545454545456,"id":0.045454545454545456,"identity":0.045454545454545456,"expression":0.045454545454545456,"is":0.045454545454545456,"of":0.045454545454545456,"form":0.045454545454545456,"addr":0.045454545454545456,"bits":0.045454545454545456,"where":0.045454545454545456,"most":0.045454545454545456,"significant":0.045454545454545456,"are":0.045454545454545456,"matched":0.045454545454545456,"against":0.045454545454545456},"1175":{"x509":0.03125,"uses":0.03125,"the":0.03125,"client":0.03125,"x500":0.03125,"principal":0.03125,"as":0.03125,"an":0.03125,"acl":0.03125,"id":0.03125,"identity":0.03125,"expression":0.03125,"is":0.03125,"exact":0.03125,"name":0.03125,"of":0.03125,"a":0.03125,"when":0.03125,"using":0.03125,"secure":0.03125,"port":0.03125,"clients":0.03125,"are":0.03125,"automatically":0.03125,"authenticated":0.03125,"and":0.03125,"their":0.03125,"auth":0.03125,"info":0.03125,"for":0.03125,"scheme":0.03125,"set":0.03125},"1176":{"the":0.1111111111111111,"following":0.1111111111111111,"constants":0.1111111111111111,"are":0.1111111111111111,"provided":0.1111111111111111,"by":0.1111111111111111,"zookeeper":0.1111111111111111,"c":0.1111111111111111,"library":0.1111111111111111},"1177":{"const":0.08333333333333333,"int":0.08333333333333333,"zoo_perm_read":0.08333333333333333,"can":0.08333333333333333,"read":0.08333333333333333,"node":0.08333333333333333,"s":0.08333333333333333,"value":0.08333333333333333,"and":0.08333333333333333,"list":0.08333333333333333,"its":0.08333333333333333,"children":0.08333333333333333},"1178":{"const":0.1111111111111111,"int":0.1111111111111111,"zoo_perm_write":0.1111111111111111,"can":0.1111111111111111,"set":0.1111111111111111,"the":0.1111111111111111,"node":0.1111111111111111,"s":0.1111111111111111,"value":0.1111111111111111},"1179":{"const":0.16666666666666666,"int":0.16666666666666666,"zoo_perm_create":0.16666666666666666,"can":0.16666666666666666,"create":0.16666666666666666,"children":0.16666666666666666},"1180":{"const":0.16666666666666666,"int":0.16666666666666666,"zoo_perm_delete":0.16666666666666666,"can":0.16666666666666666,"delete":0.16666666666666666,"children":0.16666666666666666},"1181":{"const":0.16666666666666666,"int":0.16666666666666666,"zoo_perm_admin":0.16666666666666666,"can":0.16666666666666666,"execute":0.16666666666666666,"set_acl":0.16666666666666666},"1182":{"const":0.09090909090909091,"int":0.09090909090909091,"zoo_perm_all":0.09090909090909091,"all":0.09090909090909091,"of":0.09090909090909091,"the":0.09090909090909091,"above":0.09090909090909091,"flags":0.09090909090909091,"or":0.09090909090909091,"d":0.09090909090909091,"together":0.09090909090909091},"1183":{"the":0.16666666666666666,"following":0.16666666666666666,"are":0.16666666666666666,"standard":0.16666666666666666,"acl":0.16666666666666666,"ids":0.16666666666666666},"1184":{"struct":0.2,"id":0.2,"zoo_anyone_id_unsafe":0.2,"world":0.2,"anyone":0.2},"1185":{"struct":0.25,"id":0.25,"zoo_auth_ids":0.25,"auth":0.25},"1186":{"zoo_auth_ids":0.09090909090909091,"empty":0.09090909090909091,"identity":0.09090909090909091,"string":0.09090909090909091,"should":0.09090909090909091,"be":0.09090909090909091,"interpreted":0.09090909090909091,"as":0.09090909090909091,"the":0.09090909090909091,"of":0.09090909090909091,"creator":0.09090909090909091},"1187":{"zookeeper":0.14285714285714285,"client":0.14285714285714285,"comes":0.14285714285714285,"with":0.14285714285714285,"three":0.14285714285714285,"standard":0.14285714285714285,"acls":0.14285714285714285},"1188":{"struct":0.2,"acl_vector":0.2,"zoo_open_acl_unsafe":0.2,"zoo_perm_all":0.2,"zoo_anyone_id_unsafe":0.2},"1189":{"struct":0.2,"acl_vector":0.2,"zoo_read_acl_unsafe":0.2,"zoo_perm_read":0.2,"zoo_anyone_id_unsafe":0.2},"1190":{"struct":0.2,"acl_vector":0.2,"zoo_creator_all_acl":0.2,"zoo_perm_all":0.2,"zoo_auth_ids":0.2},"1191":{"the":0.021739130434782608,"zooopen_acl_unsafe":0.021739130434782608,"is":0.021739130434782608,"completely":0.021739130434782608,"open":0.021739130434782608,"free":0.021739130434782608,"for":0.021739130434782608,"all":0.021739130434782608,"acl":0.021739130434782608,"any":0.021739130434782608,"application":0.021739130434782608,"can":0.021739130434782608,"execute":0.021739130434782608,"operation":0.021739130434782608,"on":0.021739130434782608,"node":0.021739130434782608,"and":0.021739130434782608,"create":0.021739130434782608,"list":0.021739130434782608,"delete":0.021739130434782608,"its":0.021739130434782608,"children":0.021739130434782608,"zoo_read_acl_unsafe":0.021739130434782608,"read-only":0.021739130434782608,"access":0.021739130434782608,"create_all_acl":0.021739130434782608,"grants":0.021739130434782608,"permissions":0.021739130434782608,"to":0.021739130434782608,"creator":0.021739130434782608,"of":0.021739130434782608,"must":0.021739130434782608,"have":0.021739130434782608,"been":0.021739130434782608,"authenticated":0.021739130434782608,"by":0.021739130434782608,"server":0.021739130434782608,"example":0.021739130434782608,"using":0.021739130434782608,"_digest":0.021739130434782608,"scheme":0.021739130434782608,"before":0.021739130434782608,"it":0.021739130434782608,"nodes":0.021739130434782608,"with":0.021739130434782608,"this":0.021739130434782608},"1192":{"the":0.14285714285714285,"following":0.14285714285714285,"zookeeper":0.14285714285714285,"operations":0.14285714285714285,"deal":0.14285714285714285,"with":0.14285714285714285,"acls":0.14285714285714285},"1193":{"int":0.06666666666666667,"zoo_add_auth":0.06666666666666667,"zhandlet":0.06666666666666667,"zh":0.06666666666666667,"_const":0.06666666666666667,"char__":0.06666666666666667,"scheme":0.06666666666666667,"const":0.06666666666666667,"char":0.06666666666666667,"cert":0.06666666666666667,"certlen":0.06666666666666667,"voidcompletion_t":0.06666666666666667,"completion":0.06666666666666667,"void":0.06666666666666667,"data":0.06666666666666667},"1194":{"the":0.045454545454545456,"application":0.045454545454545456,"uses":0.045454545454545456,"zoo_add_auth":0.045454545454545456,"function":0.045454545454545456,"to":0.045454545454545456,"authenticate":0.045454545454545456,"itself":0.045454545454545456,"server":0.045454545454545456,"can":0.045454545454545456,"be":0.045454545454545456,"called":0.045454545454545456,"multiple":0.045454545454545456,"times":0.045454545454545456,"if":0.045454545454545456,"wants":0.045454545454545456,"using":0.045454545454545456,"different":0.045454545454545456,"schemes":0.045454545454545456,"and":0.045454545454545456,"or":0.045454545454545456,"identities":0.045454545454545456},"1195":{"int":0.058823529411764705,"zoo_create":0.058823529411764705,"zhandlet":0.058823529411764705,"zh":0.058823529411764705,"_const":0.058823529411764705,"char":0.058823529411764705,"path":0.058823529411764705,"const":0.058823529411764705,"value":0.058823529411764705,"valuelen":0.058823529411764705,"struct":0.058823529411764705,"aclvector":0.058823529411764705,"acl":0.058823529411764705,"_int":0.058823529411764705,"flags":0.058823529411764705,"realpath":0.058823529411764705,"max_realpath_len":0.058823529411764705},"1196":{"zoo_create":0.045454545454545456,"operation":0.045454545454545456,"creates":0.045454545454545456,"a":0.045454545454545456,"new":0.045454545454545456,"node":0.045454545454545456,"the":0.045454545454545456,"acl":0.045454545454545456,"parameter":0.045454545454545456,"is":0.045454545454545456,"list":0.045454545454545456,"of":0.045454545454545456,"acls":0.045454545454545456,"associated":0.045454545454545456,"with":0.045454545454545456,"parent":0.045454545454545456,"must":0.045454545454545456,"have":0.045454545454545456,"create":0.045454545454545456,"permission":0.045454545454545456,"bit":0.045454545454545456,"set":0.045454545454545456},"1197":{"int":0.08333333333333333,"zoo_get_acl":0.08333333333333333,"zhandlet":0.08333333333333333,"zh":0.08333333333333333,"_const":0.08333333333333333,"char":0.08333333333333333,"path":0.08333333333333333,"struct":0.08333333333333333,"aclvector":0.08333333333333333,"acl":0.08333333333333333,"_struct":0.08333333333333333,"stat":0.08333333333333333},"1198":{"this":0.041666666666666664,"operation":0.041666666666666664,"returns":0.041666666666666664,"a":0.041666666666666664,"node":0.041666666666666664,"s":0.041666666666666664,"acl":0.041666666666666664,"info":0.041666666666666664,"the":0.041666666666666664,"must":0.041666666666666664,"have":0.041666666666666664,"read":0.041666666666666664,"or":0.041666666666666664,"admin":0.041666666666666664,"permission":0.041666666666666664,"set":0.041666666666666664,"without":0.041666666666666664,"digest":0.041666666666666664,"hash":0.041666666666666664,"values":0.041666666666666664,"will":0.041666666666666664,"be":0.041666666666666664,"masked":0.041666666666666664,"out":0.041666666666666664},"1199":{"int":0.08333333333333333,"zoo_set_acl":0.08333333333333333,"zhandlet":0.08333333333333333,"zh":0.08333333333333333,"_const":0.08333333333333333,"char":0.08333333333333333,"path":0.08333333333333333,"version":0.08333333333333333,"const":0.08333333333333333,"struct":0.08333333333333333,"acl_vector":0.08333333333333333,"acl":0.08333333333333333},"1200":{"this":0.058823529411764705,"function":0.058823529411764705,"replaces":0.058823529411764705,"node":0.058823529411764705,"s":0.058823529411764705,"acl":0.058823529411764705,"list":0.058823529411764705,"with":0.058823529411764705,"a":0.058823529411764705,"new":0.058823529411764705,"one":0.058823529411764705,"the":0.058823529411764705,"must":0.058823529411764705,"have":0.058823529411764705,"admin":0.058823529411764705,"permission":0.058823529411764705,"set":0.058823529411764705},"1201":{"here":0.037037037037037035,"is":0.037037037037037035,"a":0.037037037037037035,"sample":0.037037037037037035,"code":0.037037037037037035,"that":0.037037037037037035,"makes":0.037037037037037035,"use":0.037037037037037035,"of":0.037037037037037035,"the":0.037037037037037035,"above":0.037037037037037035,"apis":0.037037037037037035,"to":0.037037037037037035,"authenticate":0.037037037037037035,"itself":0.037037037037037035,"using":0.037037037037037035,"foo":0.037037037037037035,"scheme":0.037037037037037035,"and":0.037037037037037035,"create":0.037037037037037035,"an":0.037037037037037035,"ephemeral":0.037037037037037035,"node":0.037037037037037035,"xyz":0.037037037037037035,"with":0.037037037037037035,"create-only":0.037037037037037035,"permissions":0.037037037037037035},"1202":{"type":0.5,"info":0.5},"1203":{"this":0.03571428571428571,"is":0.03571428571428571,"a":0.03571428571428571,"very":0.03571428571428571,"simple":0.03571428571428571,"example":0.03571428571428571,"which":0.03571428571428571,"intended":0.03571428571428571,"to":0.03571428571428571,"show":0.03571428571428571,"how":0.03571428571428571,"interact":0.03571428571428571,"with":0.03571428571428571,"zookeeper":0.03571428571428571,"acls":0.03571428571428571,"specifically":0.03571428571428571,"see":0.03571428571428571,"trunk":0.03571428571428571,"zookeeper-client":0.03571428571428571,"zookeeper-client-c":0.03571428571428571,"src":0.03571428571428571,"cli":0.03571428571428571,"c":0.03571428571428571,"for":0.03571428571428571,"an":0.03571428571428571,"of":0.03571428571428571,"client":0.03571428571428571,"implementation":0.03571428571428571},"1204":{"bindings":1},"1205":{"documents":0.05555555555555555,"the":0.05555555555555555,"java":0.05555555555555555,"and":0.05555555555555555,"c":0.05555555555555555,"client":0.05555555555555555,"library":0.05555555555555555,"bindings":0.05555555555555555,"for":0.05555555555555555,"zookeeper":0.05555555555555555,"including":0.05555555555555555,"class":0.05555555555555555,"callbacks":0.05555555555555555,"posix-style":0.05555555555555555,"api":0.05555555555555555,"multithreaded":0.05555555555555555,"single-threaded":0.05555555555555555,"libraries":0.05555555555555555},"1206":{"java":0.5,"binding":0.5},"1207":{"client":0.3333333333333333,"configuration":0.3333333333333333,"parameters":0.3333333333333333},"1208":{"c":0.5,"binding":0.5},"1209":{"installation":1},"1210":{"building":0.2,"your":0.2,"own":0.2,"c":0.2,"client":0.2},"1211":{"the":0.06666666666666667,"zookeeper":0.06666666666666667,"client":0.06666666666666667,"libraries":0.06666666666666667,"come":0.06666666666666667,"in":0.06666666666666667,"two":0.06666666666666667,"languages":0.06666666666666667,"java":0.06666666666666667,"and":0.06666666666666667,"c":0.06666666666666667,"following":0.06666666666666667,"sections":0.06666666666666667,"describe":0.06666666666666667,"these":0.06666666666666667},"1212":{"there":0.03225806451612903,"are":0.03225806451612903,"two":0.03225806451612903,"packages":0.03225806451612903,"that":0.03225806451612903,"make":0.03225806451612903,"up":0.03225806451612903,"the":0.03225806451612903,"zookeeper":0.03225806451612903,"java":0.03225806451612903,"binding":0.03225806451612903,"org":0.03225806451612903,"apache":0.03225806451612903,"and":0.03225806451612903,"data":0.03225806451612903,"rest":0.03225806451612903,"of":0.03225806451612903,"used":0.03225806451612903,"internally":0.03225806451612903,"or":0.03225806451612903,"part":0.03225806451612903,"server":0.03225806451612903,"implementation":0.03225806451612903,"package":0.03225806451612903,"is":0.03225806451612903,"made":0.03225806451612903,"generated":0.03225806451612903,"classes":0.03225806451612903,"simply":0.03225806451612903,"as":0.03225806451612903,"containers":0.03225806451612903},"1213":{"the":0.02564102564102564,"main":0.02564102564102564,"class":0.02564102564102564,"used":0.02564102564102564,"by":0.02564102564102564,"a":0.02564102564102564,"zookeeper":0.02564102564102564,"java":0.02564102564102564,"client":0.02564102564102564,"is":0.02564102564102564,"its":0.02564102564102564,"two":0.02564102564102564,"constructors":0.02564102564102564,"differ":0.02564102564102564,"only":0.02564102564102564,"an":0.02564102564102564,"optional":0.02564102564102564,"session":0.02564102564102564,"id":0.02564102564102564,"and":0.02564102564102564,"password":0.02564102564102564,"supports":0.02564102564102564,"recovery":0.02564102564102564,"across":0.02564102564102564,"instances":0.02564102564102564,"of":0.02564102564102564,"process":0.02564102564102564,"program":0.02564102564102564,"may":0.02564102564102564,"save":0.02564102564102564,"to":0.02564102564102564,"stable":0.02564102564102564,"storage":0.02564102564102564,"restart":0.02564102564102564,"recover":0.02564102564102564,"that":0.02564102564102564,"was":0.02564102564102564,"earlier":0.02564102564102564,"instance":0.02564102564102564},"1214":{"when":0.018867924528301886,"a":0.018867924528301886,"zookeeper":0.018867924528301886,"object":0.018867924528301886,"is":0.018867924528301886,"created":0.018867924528301886,"two":0.018867924528301886,"threads":0.018867924528301886,"are":0.018867924528301886,"as":0.018867924528301886,"well":0.018867924528301886,"an":0.018867924528301886,"io":0.018867924528301886,"thread":0.018867924528301886,"and":0.018867924528301886,"event":0.018867924528301886,"all":0.018867924528301886,"happens":0.018867924528301886,"on":0.018867924528301886,"the":0.018867924528301886,"using":0.018867924528301886,"java":0.018867924528301886,"nio":0.018867924528301886,"callbacks":0.018867924528301886,"happen":0.018867924528301886,"session":0.018867924528301886,"maintenance":0.018867924528301886,"such":0.018867924528301886,"reconnecting":0.018867924528301886,"to":0.018867924528301886,"servers":0.018867924528301886,"maintaining":0.018867924528301886,"heartbeat":0.018867924528301886,"done":0.018867924528301886,"responses":0.018867924528301886,"for":0.018867924528301886,"synchronous":0.018867924528301886,"methods":0.018867924528301886,"also":0.018867924528301886,"processed":0.018867924528301886,"in":0.018867924528301886,"asynchronous":0.018867924528301886,"watch":0.018867924528301886,"events":0.018867924528301886,"there":0.018867924528301886,"few":0.018867924528301886,"things":0.018867924528301886,"notice":0.018867924528301886,"that":0.018867924528301886,"result":0.018867924528301886,"from":0.018867924528301886,"this":0.018867924528301886,"design":0.018867924528301886},"1215":{"all":0.03225806451612903,"completions":0.03225806451612903,"for":0.03225806451612903,"asynchronous":0.03225806451612903,"calls":0.03225806451612903,"and":0.03225806451612903,"watcher":0.03225806451612903,"callbacks":0.03225806451612903,"will":0.03225806451612903,"be":0.03225806451612903,"made":0.03225806451612903,"in":0.03225806451612903,"order":0.03225806451612903,"one":0.03225806451612903,"at":0.03225806451612903,"a":0.03225806451612903,"time":0.03225806451612903,"the":0.03225806451612903,"caller":0.03225806451612903,"can":0.03225806451612903,"do":0.03225806451612903,"any":0.03225806451612903,"processing":0.03225806451612903,"they":0.03225806451612903,"wish":0.03225806451612903,"but":0.03225806451612903,"no":0.03225806451612903,"other":0.03225806451612903,"processed":0.03225806451612903,"during":0.03225806451612903,"that":0.03225806451612903},"1216":{"callbacks":0.08333333333333333,"do":0.08333333333333333,"not":0.08333333333333333,"block":0.08333333333333333,"the":0.08333333333333333,"processing":0.08333333333333333,"of":0.08333333333333333,"io":0.08333333333333333,"thread":0.08333333333333333,"or":0.08333333333333333,"synchronous":0.08333333333333333,"calls":0.08333333333333333},"1217":{"synchronous":0.016129032258064516,"calls":0.016129032258064516,"may":0.016129032258064516,"not":0.016129032258064516,"return":0.016129032258064516,"in":0.016129032258064516,"the":0.016129032258064516,"correct":0.016129032258064516,"order":0.016129032258064516,"for":0.016129032258064516,"example":0.016129032258064516,"assume":0.016129032258064516,"a":0.016129032258064516,"client":0.016129032258064516,"does":0.016129032258064516,"following":0.016129032258064516,"processing":0.016129032258064516,"issues":0.016129032258064516,"an":0.016129032258064516,"asynchronous":0.016129032258064516,"read":0.016129032258064516,"of":0.016129032258064516,"node":0.016129032258064516,"with":0.016129032258064516,"watch":0.016129032258064516,"set":0.016129032258064516,"to":0.016129032258064516,"true":0.016129032258064516,"and":0.016129032258064516,"then":0.016129032258064516,"completion":0.016129032258064516,"callback":0.016129032258064516,"it":0.016129032258064516,"maybe":0.016129032258064516,"good":0.016129032258064516,"practice":0.016129032258064516,"but":0.016129032258064516,"illegal":0.016129032258064516,"either":0.016129032258064516,"makes":0.016129032258064516,"simple":0.016129032258064516,"note":0.016129032258064516,"that":0.016129032258064516,"if":0.016129032258064516,"there":0.016129032258064516,"is":0.016129032258064516,"change":0.016129032258064516,"between":0.016129032258064516,"library":0.016129032258064516,"will":0.016129032258064516,"receive":0.016129032258064516,"event":0.016129032258064516,"saying":0.016129032258064516,"changed":0.016129032258064516,"before":0.016129032258064516,"response":0.016129032258064516,"because":0.016129032258064516,"blocking":0.016129032258064516,"queue":0.016129032258064516,"new":0.016129032258064516,"value":0.016129032258064516,"processed":0.016129032258064516},"1218":{"finally":0.02631578947368421,"the":0.02631578947368421,"rules":0.02631578947368421,"associated":0.02631578947368421,"with":0.02631578947368421,"shutdown":0.02631578947368421,"are":0.02631578947368421,"straightforward":0.02631578947368421,"once":0.02631578947368421,"a":0.02631578947368421,"zookeeper":0.02631578947368421,"object":0.02631578947368421,"is":0.02631578947368421,"closed":0.02631578947368421,"or":0.02631578947368421,"receives":0.02631578947368421,"fatal":0.02631578947368421,"event":0.02631578947368421,"session_expired":0.02631578947368421,"and":0.02631578947368421,"auth_failed":0.02631578947368421,"becomes":0.02631578947368421,"invalid":0.02631578947368421,"on":0.02631578947368421,"close":0.02631578947368421,"two":0.02631578947368421,"threads":0.02631578947368421,"shut":0.02631578947368421,"down":0.02631578947368421,"any":0.02631578947368421,"further":0.02631578947368421,"access":0.02631578947368421,"handle":0.02631578947368421,"undefined":0.02631578947368421,"behavior":0.02631578947368421,"should":0.02631578947368421,"be":0.02631578947368421,"avoided":0.02631578947368421},"1219":{"the":0.02857142857142857,"following":0.02857142857142857,"list":0.02857142857142857,"contains":0.02857142857142857,"configuration":0.02857142857142857,"properties":0.02857142857142857,"for":0.02857142857142857,"java":0.02857142857142857,"client":0.02857142857142857,"you":0.02857142857142857,"can":0.02857142857142857,"set":0.02857142857142857,"any":0.02857142857142857,"of":0.02857142857142857,"these":0.02857142857142857,"using":0.02857142857142857,"system":0.02857142857142857,"server":0.02857142857142857,"please":0.02857142857142857,"check":0.02857142857142857,"section":0.02857142857142857,"admin":0.02857142857142857,"guide":0.02857142857142857,"zookeeper":0.02857142857142857,"wiki":0.02857142857142857,"also":0.02857142857142857,"has":0.02857142857142857,"useful":0.02857142857142857,"pages":0.02857142857142857,"about":0.02857142857142857,"ssl":0.02857142857142857,"support":0.02857142857142857,"and":0.02857142857142857,"sasl":0.02857142857142857,"authentication":0.02857142857142857},"1220":{"zookeeper":0.07692307692307693,"sasl":0.07692307692307693,"client":0.07692307692307693,"set":0.07692307692307693,"the":0.07692307692307693,"value":0.07692307692307693,"to":0.07692307692307693,"false":0.07692307692307693,"disable":0.07692307692307693,"authentication":0.07692307692307693,"default":0.07692307692307693,"is":0.07692307692307693,"true":0.07692307692307693},"1221":{"zookeeper":0.07142857142857142,"sasl":0.07142857142857142,"clientconfig":0.07142857142857142,"specifies":0.07142857142857142,"the":0.07142857142857142,"context":0.07142857142857142,"key":0.07142857142857142,"in":0.07142857142857142,"jaas":0.07142857142857142,"login":0.07142857142857142,"file":0.07142857142857142,"default":0.07142857142857142,"is":0.07142857142857142,"client":0.07142857142857142},"1222":{"zookeeper":0.03225806451612903,"server":0.03225806451612903,"principal":0.03225806451612903,"specifies":0.03225806451612903,"the":0.03225806451612903,"to":0.03225806451612903,"be":0.03225806451612903,"used":0.03225806451612903,"by":0.03225806451612903,"client":0.03225806451612903,"for":0.03225806451612903,"authentication":0.03225806451612903,"while":0.03225806451612903,"connecting":0.03225806451612903,"when":0.03225806451612903,"kerberos":0.03225806451612903,"is":0.03225806451612903,"enabled":0.03225806451612903,"if":0.03225806451612903,"this":0.03225806451612903,"configuration":0.03225806451612903,"provided":0.03225806451612903,"then":0.03225806451612903,"will":0.03225806451612903,"not":0.03225806451612903,"use":0.03225806451612903,"any":0.03225806451612903,"of":0.03225806451612903,"following":0.03225806451612903,"parameters":0.03225806451612903,"determine":0.03225806451612903},"1223":{"zookeeper":0.030303030303030304,"sasl":0.030303030303030304,"client":0.030303030303030304,"username":0.030303030303030304,"traditionally":0.030303030303030304,"a":0.030303030303030304,"principal":0.030303030303030304,"is":0.030303030303030304,"divided":0.030303030303030304,"into":0.030303030303030304,"three":0.030303030303030304,"parts":0.030303030303030304,"the":0.030303030303030304,"primary":0.030303030303030304,"instance":0.030303030303030304,"and":0.030303030303030304,"realm":0.030303030303030304,"format":0.030303030303030304,"of":0.030303030303030304,"typical":0.030303030303030304,"kerberos":0.030303030303030304,"v5":0.030303030303030304,"specifies":0.030303030303030304,"part":0.030303030303030304,"server":0.030303030303030304,"default":0.030303030303030304,"derived":0.030303030303030304,"from":0.030303030303030304,"ip":0.030303030303030304,"finally":0.030303030303030304,"server's":0.030303030303030304,"where":0.030303030303030304,"value":0.030303030303030304},"1224":{"zookeeper":0.022222222222222223,"sasl":0.022222222222222223,"client":0.022222222222222223,"canonicalize":0.022222222222222223,"hostname":0.022222222222222223,"expecting":0.022222222222222223,"the":0.022222222222222223,"server":0.022222222222222223,"principal":0.022222222222222223,"parameter":0.022222222222222223,"is":0.022222222222222223,"not":0.022222222222222223,"provided":0.022222222222222223,"will":0.022222222222222223,"try":0.022222222222222223,"to":0.022222222222222223,"determine":0.022222222222222223,"'instance'":0.022222222222222223,"host":0.022222222222222223,"part":0.022222222222222223,"of":0.022222222222222223,"first":0.022222222222222223,"it":0.022222222222222223,"takes":0.022222222222222223,"as":0.022222222222222223,"connection":0.022222222222222223,"string":0.022222222222222223,"then":0.022222222222222223,"tries":0.022222222222222223,"'canonicalize'":0.022222222222222223,"address":0.022222222222222223,"by":0.022222222222222223,"getting":0.022222222222222223,"fully":0.022222222222222223,"qualified":0.022222222222222223,"domain":0.022222222222222223,"name":0.022222222222222223,"belonging":0.022222222222222223,"you":0.022222222222222223,"can":0.022222222222222223,"disable":0.022222222222222223,"this":0.022222222222222223,"'canonicalization'":0.022222222222222223,"setting":0.022222222222222223,"false":0.022222222222222223},"1225":{"3":0.041666666666666664,"5":0.041666666666666664,"9":0.041666666666666664,"zookeeper":0.041666666666666664,"sasl":0.041666666666666664,"client":0.041666666666666664,"allowreversednslookup":0.041666666666666664,"new":0.041666666666666664,"in":0.041666666666666664,"controls":0.041666666666666664,"whether":0.041666666666666664,"reverse":0.041666666666666664,"dns":0.041666666666666664,"lookup":0.041666666666666664,"is":0.041666666666666664,"enabled":0.041666666666666664,"when":0.041666666666666664,"constructing":0.041666666666666664,"the":0.041666666666666664,"server":0.041666666666666664,"principal":0.041666666666666664,"for":0.041666666666666664,"default":0.041666666666666664,"false":0.041666666666666664},"1226":{"zookeeper":0.08333333333333333,"server":0.08333333333333333,"realm":0.08333333333333333,"part":0.08333333333333333,"of":0.08333333333333333,"the":0.08333333333333333,"principal":0.08333333333333333,"by":0.08333333333333333,"default":0.08333333333333333,"it":0.08333333333333333,"is":0.08333333333333333,"client":0.08333333333333333},"1227":{"zookeeper":0.03333333333333333,"disableautowatchreset":0.03333333333333333,"this":0.03333333333333333,"switch":0.03333333333333333,"controls":0.03333333333333333,"whether":0.03333333333333333,"automatic":0.03333333333333333,"watch":0.03333333333333333,"resetting":0.03333333333333333,"is":0.03333333333333333,"enabled":0.03333333333333333,"clients":0.03333333333333333,"automatically":0.03333333333333333,"reset":0.03333333333333333,"watches":0.03333333333333333,"during":0.03333333333333333,"session":0.03333333333333333,"reconnect":0.03333333333333333,"by":0.03333333333333333,"default":0.03333333333333333,"option":0.03333333333333333,"allows":0.03333333333333333,"the":0.03333333333333333,"client":0.03333333333333333,"to":0.03333333333333333,"turn":0.03333333333333333,"off":0.03333333333333333,"behavior":0.03333333333333333,"setting":0.03333333333333333,"true":0.03333333333333333},"1228":{"3":0.03125,"5":0.03125,"zookeeper":0.03125,"client":0.03125,"secure":0.03125,"new":0.03125,"in":0.03125,"if":0.03125,"you":0.03125,"want":0.03125,"to":0.03125,"connect":0.03125,"the":0.03125,"server":0.03125,"port":0.03125,"need":0.03125,"set":0.03125,"this":0.03125,"property":0.03125,"true":0.03125,"on":0.03125,"will":0.03125,"using":0.03125,"ssl":0.03125,"with":0.03125,"specified":0.03125,"credentials":0.03125,"note":0.03125,"that":0.03125,"it":0.03125,"requires":0.03125,"netty":0.03125},"1229":{"zookeeper":0.03333333333333333,"clientcnxnsocket":0.03333333333333333,"specifies":0.03333333333333333,"which":0.03333333333333333,"to":0.03333333333333333,"be":0.03333333333333333,"used":0.03333333333333333,"possible":0.03333333333333333,"values":0.03333333333333333,"are":0.03333333333333333,"org":0.03333333333333333,"apache":0.03333333333333333,"clientcnxnsocketnio":0.03333333333333333,"and":0.03333333333333333,"clientcnxnsocketnetty":0.03333333333333333,"default":0.03333333333333333,"is":0.03333333333333333,"if":0.03333333333333333,"you":0.03333333333333333,"want":0.03333333333333333,"connect":0.03333333333333333,"server's":0.03333333333333333,"secure":0.03333333333333333,"client":0.03333333333333333,"port":0.03333333333333333,"need":0.03333333333333333,"set":0.03333333333333333,"this":0.03333333333333333,"property":0.03333333333333333,"on":0.03333333333333333},"1230":{"3":0.04,"5":0.04,"zookeeper":0.04,"ssl":0.04,"keystore":0.04,"location":0.04,"and":0.04,"password":0.04,"new":0.04,"in":0.04,"specifies":0.04,"the":0.04,"file":0.04,"path":0.04,"to":0.04,"a":0.04,"jks":0.04,"containing":0.04,"local":0.04,"credentials":0.04,"be":0.04,"used":0.04,"for":0.04,"connections":0.04,"unlock":0.04},"1231":{"0":0.0625,"3":0.0625,"8":0.0625,"zookeeper":0.0625,"ssl":0.0625,"keystore":0.0625,"passwordpath":0.0625,"new":0.0625,"in":0.0625,"specifies":0.0625,"the":0.0625,"file":0.0625,"path":0.0625,"which":0.0625,"contains":0.0625,"password":0.0625},"1232":{"3":0.04,"5":0.04,"zookeeper":0.04,"ssl":0.04,"truststore":0.04,"location":0.04,"and":0.04,"password":0.04,"new":0.04,"in":0.04,"specifies":0.04,"the":0.04,"file":0.04,"path":0.04,"to":0.04,"a":0.04,"jks":0.04,"containing":0.04,"remote":0.04,"credentials":0.04,"be":0.04,"used":0.04,"for":0.04,"connections":0.04,"unlock":0.04},"1233":{"0":0.0625,"3":0.0625,"8":0.0625,"zookeeper":0.0625,"ssl":0.0625,"truststore":0.0625,"passwordpath":0.0625,"new":0.0625,"in":0.0625,"specifies":0.0625,"the":0.0625,"file":0.0625,"path":0.0625,"which":0.0625,"contains":0.0625,"password":0.0625},"1234":{"0":0.024390243902439025,"3":0.024390243902439025,"5":0.024390243902439025,"6":0.024390243902439025,"7":0.024390243902439025,"zookeeper":0.024390243902439025,"ssl":0.024390243902439025,"keystore":0.024390243902439025,"type":0.024390243902439025,"and":0.024390243902439025,"truststore":0.024390243902439025,"new":0.024390243902439025,"in":0.024390243902439025,"specifies":0.024390243902439025,"the":0.024390243902439025,"file":0.024390243902439025,"format":0.024390243902439025,"of":0.024390243902439025,"keys":0.024390243902439025,"trust":0.024390243902439025,"store":0.024390243902439025,"files":0.024390243902439025,"used":0.024390243902439025,"to":0.024390243902439025,"establish":0.024390243902439025,"tls":0.024390243902439025,"connection":0.024390243902439025,"server":0.024390243902439025,"values":0.024390243902439025,"jks":0.024390243902439025,"pem":0.024390243902439025,"pkcs12":0.024390243902439025,"or":0.024390243902439025,"null":0.024390243902439025,"detect":0.024390243902439025,"by":0.024390243902439025,"filename":0.024390243902439025,"default":0.024390243902439025,"bcfks":0.024390243902439025,"was":0.024390243902439025,"added":0.024390243902439025},"1235":{"1048575":0.01694915254237288,"jute":0.01694915254237288,"maxbuffer":0.01694915254237288,"in":0.01694915254237288,"the":0.01694915254237288,"client":0.01694915254237288,"side":0.01694915254237288,"it":0.01694915254237288,"specifies":0.01694915254237288,"maximum":0.01694915254237288,"size":0.01694915254237288,"of":0.01694915254237288,"incoming":0.01694915254237288,"data":0.01694915254237288,"from":0.01694915254237288,"server":0.01694915254237288,"default":0.01694915254237288,"is":0.01694915254237288,"0xfffff":0.01694915254237288,"bytes":0.01694915254237288,"or":0.01694915254237288,"just":0.01694915254237288,"under":0.01694915254237288,"1m":0.01694915254237288,"this":0.01694915254237288,"really":0.01694915254237288,"a":0.01694915254237288,"sanity":0.01694915254237288,"check":0.01694915254237288,"zookeeper":0.01694915254237288,"designed":0.01694915254237288,"to":0.01694915254237288,"store":0.01694915254237288,"and":0.01694915254237288,"send":0.01694915254237288,"on":0.01694915254237288,"order":0.01694915254237288,"kilobytes":0.01694915254237288,"if":0.01694915254237288,"length":0.01694915254237288,"more":0.01694915254237288,"than":0.01694915254237288,"value":0.01694915254237288,"an":0.01694915254237288,"ioexception":0.01694915254237288,"raised":0.01694915254237288,"should":0.01694915254237288,"keep":0.01694915254237288,"same":0.01694915254237288,"with":0.01694915254237288,"setting":0.01694915254237288,"system":0.01694915254237288,"setproperty":0.01694915254237288,"xxxx":0.01694915254237288,"will":0.01694915254237288,"work":0.01694915254237288,"otherwise":0.01694915254237288,"problems":0.01694915254237288,"arise":0.01694915254237288},"1236":{"zookeeper":0.1,"kinit":0.1,"specifies":0.1,"path":0.1,"to":0.1,"binary":0.1,"default":0.1,"is":0.1,"usr":0.1,"bin":0.1},"1237":{"0":0.008333333333333333,"3":0.008333333333333333,"10":0.008333333333333333,"zookeeper":0.008333333333333333,"shufflednsresponse":0.008333333333333333,"new":0.008333333333333333,"in":0.008333333333333333,"specifies":0.008333333333333333,"whether":0.008333333333333333,"client":0.008333333333333333,"should":0.008333333333333333,"randomly":0.008333333333333333,"pick":0.008333333333333333,"an":0.008333333333333333,"ip":0.008333333333333333,"address":0.008333333333333333,"from":0.008333333333333333,"the":0.008333333333333333,"dns":0.008333333333333333,"lookup":0.008333333333333333,"query":0.008333333333333333,"result":0.008333333333333333,"when":0.008333333333333333,"resolving":0.008333333333333333,"server":0.008333333333333333,"addresses":0.008333333333333333,"or":0.008333333333333333,"not":0.008333333333333333,"this":0.008333333333333333,"is":0.008333333333333333,"a":0.008333333333333333,"feature":0.008333333333333333,"flag":0.008333333333333333,"order":0.008333333333333333,"to":0.008333333333333333,"keep":0.008333333333333333,"old":0.008333333333333333,"behavior":0.008333333333333333,"of":0.008333333333333333,"default":0.008333333333333333,"resolver":0.008333333333333333,"statichostprovider":0.008333333333333333,"because":0.008333333333333333,"we":0.008333333333333333,"disabled":0.008333333333333333,"it":0.008333333333333333,"by":0.008333333333333333,"reason":0.008333333333333333,"behind":0.008333333333333333,"that":0.008333333333333333,"shuffling":0.008333333333333333,"response":0.008333333333333333,"queries":0.008333333333333333,"shadows":0.008333333333333333,"jvm":0.008333333333333333,"network":0.008333333333333333,"property":0.008333333333333333,"java":0.008333333333333333,"net":0.008333333333333333,"preferipv6addresses":0.008333333333333333,"false":0.008333333333333333,"controls":0.008333333333333333,"jvm's":0.008333333333333333,"built-in":0.008333333333333333,"prioritize":0.008333333333333333,"v4":0.008333333333333333,"value":0.008333333333333333,"v6":0.008333333333333333,"true":0.008333333333333333,"putting":0.008333333333333333,"together":0.008333333333333333,"list":0.008333333333333333,"other":0.008333333333333333,"words":0.008333333333333333,"above":0.008333333333333333,"system":0.008333333333333333,"was":0.008333333333333333,"completely":0.008333333333333333,"ineffective":0.008333333333333333,"case":0.008333333333333333,"host":0.008333333333333333,"resolution":0.008333333333333333,"protocol":0.008333333333333333,"and":0.008333333333333333,"must":0.008333333333333333,"have":0.008333333333333333,"been":0.008333333333333333,"fixed":0.008333333333333333,"dual":0.008333333333333333,"stack":0.008333333333333333,"environment":0.008333333333333333,"one":0.008333333333333333,"might":0.008333333333333333,"want":0.008333333333333333,"prefer":0.008333333333333333,"over":0.008333333333333333,"which":0.008333333333333333,"processes":0.008333333333333333,"be":0.008333333333333333,"controlled":0.008333333333333333,"properties":0.008333333333333333,"honor":0.008333333333333333,"these":0.008333333333333333,"settings":0.008333333333333333,"since":0.008333333333333333,"has":0.008333333333333333,"with":0.008333333333333333,"us":0.008333333333333333,"day":0.008333333333333333,"zero":0.008333333333333333,"introduced":0.008333333333333333,"you":0.008333333333333333,"need":0.008333333333333333,"such":0.008333333333333333,"could":0.008333333333333333,"buggy":0.008333333333333333,"responds":0.008333333333333333,"always":0.008333333333333333,"same":0.008333333333333333,"randomize":0.008333333333333333},"1238":{"0":0.03571428571428571,"3":0.03571428571428571,"10":0.03571428571428571,"60":0.03571428571428571,"zookeeper":0.03571428571428571,"hostprovider":0.03571428571428571,"dnssrvrefreshintervalseconds":0.03571428571428571,"new":0.03571428571428571,"in":0.03571428571428571,"specifies":0.03571428571428571,"the":0.03571428571428571,"refresh":0.03571428571428571,"interval":0.03571428571428571,"seconds":0.03571428571428571,"for":0.03571428571428571,"dns":0.03571428571428571,"srv":0.03571428571428571,"record":0.03571428571428571,"lookups":0.03571428571428571,"when":0.03571428571428571,"using":0.03571428571428571,"dnssrvhostprovider":0.03571428571428571,"a":0.03571428571428571,"value":0.03571428571428571,"of":0.03571428571428571,"disables":0.03571428571428571,"periodic":0.03571428571428571,"default":0.03571428571428571},"1239":{"the":0.025,"c":0.025,"binding":0.025,"has":0.025,"a":0.025,"single-threaded":0.025,"and":0.025,"multi-threaded":0.025,"library":0.025,"is":0.025,"easiest":0.025,"to":0.025,"use":0.025,"most":0.025,"similar":0.025,"java":0.025,"api":0.025,"this":0.025,"will":0.025,"create":0.025,"an":0.025,"io":0.025,"thread":0.025,"event":0.025,"dispatch":0.025,"for":0.025,"handling":0.025,"connection":0.025,"maintenance":0.025,"callbacks":0.025,"allows":0.025,"zookeeper":0.025,"be":0.025,"used":0.025,"in":0.025,"driven":0.025,"applications":0.025,"by":0.025,"exposing":0.025,"loop":0.025},"1240":{"4":0.017857142857142856,"the":0.017857142857142856,"package":0.017857142857142856,"includes":0.017857142857142856,"two":0.017857142857142856,"shared":0.017857142857142856,"libraries":0.017857142857142856,"zookeeperst":0.017857142857142856,"and":0.017857142857142856,"zookeeper_mt":0.017857142857142856,"former":0.017857142857142856,"only":0.017857142857142856,"provides":0.017857142857142856,"asynchronous":0.017857142857142856,"apis":0.017857142857142856,"callbacks":0.017857142857142856,"for":0.017857142857142856,"integrating":0.017857142857142856,"into":0.017857142857142856,"application's":0.017857142857142856,"event":0.017857142857142856,"loop":0.017857142857142856,"reason":0.017857142857142856,"this":0.017857142857142856,"library":0.017857142857142856,"exists":0.017857142857142856,"is":0.017857142857142856,"to":0.017857142857142856,"support":0.017857142857142856,"platforms":0.017857142857142856,"were":0.017857142857142856,"a":0.017857142857142856,"_pthread":0.017857142857142856,"not":0.017857142857142856,"available":0.017857142857142856,"or":0.017857142857142856,"unstable":0.017857142857142856,"i":0.017857142857142856,"e":0.017857142857142856,"freebsd":0.017857142857142856,"x":0.017857142857142856,"in":0.017857142857142856,"all":0.017857142857142856,"other":0.017857142857142856,"cases":0.017857142857142856,"application":0.017857142857142856,"developers":0.017857142857142856,"should":0.017857142857142856,"link":0.017857142857142856,"with":0.017857142857142856,"as":0.017857142857142856,"it":0.017857142857142856,"both":0.017857142857142856,"sync":0.017857142857142856,"async":0.017857142857142856,"api":0.017857142857142856},"1241":{"3":0.045454545454545456,"if":0.045454545454545456,"you're":0.045454545454545456,"building":0.045454545454545456,"the":0.045454545454545456,"client":0.045454545454545456,"from":0.045454545454545456,"a":0.045454545454545456,"check-out":0.045454545454545456,"apache":0.045454545454545456,"repository":0.045454545454545456,"follow":0.045454545454545456,"steps":0.045454545454545456,"outlined":0.045454545454545456,"below":0.045454545454545456,"project":0.045454545454545456,"source":0.045454545454545456,"package":0.045454545454545456,"downloaded":0.045454545454545456,"skip":0.045454545454545456,"to":0.045454545454545456,"step":0.045454545454545456},"1242":{"run":0.0625,"mvn":0.0625,"compile":0.0625,"in":0.0625,"zookeeper-jute":0.0625,"directory":0.0625,"trunk":0.0625,"this":0.0625,"will":0.0625,"create":0.0625,"a":0.0625,"named":0.0625,"generated":0.0625,"under":0.0625,"zookeeper-client":0.0625,"zookeeper-client-c":0.0625},"1243":{"2":0.037037037037037035,"59":0.037037037037037035,"change":0.037037037037037035,"directory":0.037037037037037035,"to":0.037037037037037035,"the":0.037037037037037035,"trunk":0.037037037037037035,"zookeeper-client":0.037037037037037035,"zookeeper-client-c":0.037037037037037035,"and":0.037037037037037035,"run":0.037037037037037035,"autoreconf":0.037037037037037035,"-if":0.037037037037037035,"bootstrap":0.037037037037037035,"autoconf":0.037037037037037035,"automake":0.037037037037037035,"libtool":0.037037037037037035,"make":0.037037037037037035,"sure":0.037037037037037035,"you":0.037037037037037035,"have":0.037037037037037035,"version":0.037037037037037035,"or":0.037037037037037035,"greater":0.037037037037037035,"installed":0.037037037037037035,"skip":0.037037037037037035,"step4":0.037037037037037035},"1244":{"if":0.047619047619047616,"you":0.047619047619047616,"are":0.047619047619047616,"building":0.047619047619047616,"from":0.047619047619047616,"a":0.047619047619047616,"project":0.047619047619047616,"source":0.047619047619047616,"package":0.047619047619047616,"unzip":0.047619047619047616,"untar":0.047619047619047616,"the":0.047619047619047616,"tarball":0.047619047619047616,"and":0.047619047619047616,"cd":0.047619047619047616,"to":0.047619047619047616,"zookeeper-x":0.047619047619047616,"x":0.047619047619047616,"zookeeper-client":0.047619047619047616,"zookeeper-client-c":0.047619047619047616,"directory":0.047619047619047616},"1245":{"run":0.047619047619047616,"configure":0.047619047619047616,"your-options":0.047619047619047616,"to":0.047619047619047616,"generate":0.047619047619047616,"the":0.047619047619047616,"makefile":0.047619047619047616,"here":0.047619047619047616,"are":0.047619047619047616,"some":0.047619047619047616,"of":0.047619047619047616,"options":0.047619047619047616,"utility":0.047619047619047616,"supports":0.047619047619047616,"that":0.047619047619047616,"can":0.047619047619047616,"be":0.047619047619047616,"useful":0.047619047619047616,"in":0.047619047619047616,"this":0.047619047619047616,"step":0.047619047619047616},"1246":{"--enable-debug":0.09090909090909091,"enables":0.09090909090909091,"optimization":0.09090909090909091,"and":0.09090909090909091,"debug":0.09090909090909091,"info":0.09090909090909091,"compiler":0.09090909090909091,"options":0.09090909090909091,"disabled":0.09090909090909091,"by":0.09090909090909091,"default":0.09090909090909091},"1247":{"--without-syncapi":0.07692307692307693,"disables":0.07692307692307693,"sync":0.07692307692307693,"api":0.07692307692307693,"support":0.07692307692307693,"zookeeper_mt":0.07692307692307693,"library":0.07692307692307693,"won't":0.07692307692307693,"be":0.07692307692307693,"built":0.07692307692307693,"enabled":0.07692307692307693,"by":0.07692307692307693,"default":0.07692307692307693},"1248":{"--disable-static":0.1111111111111111,"do":0.1111111111111111,"not":0.1111111111111111,"build":0.1111111111111111,"static":0.1111111111111111,"libraries":0.1111111111111111,"enabled":0.1111111111111111,"by":0.1111111111111111,"default":0.1111111111111111},"1249":{"--disable-shared":0.1111111111111111,"do":0.1111111111111111,"not":0.1111111111111111,"build":0.1111111111111111,"shared":0.1111111111111111,"libraries":0.1111111111111111,"enabled":0.1111111111111111,"by":0.1111111111111111,"default":0.1111111111111111},"1250":{"type":0.5,"info":0.5},"1251":{"1":0.021739130434782608,"see":0.021739130434782608,"install":0.021739130434782608,"for":0.021739130434782608,"general":0.021739130434782608,"information":0.021739130434782608,"about":0.021739130434782608,"running":0.021739130434782608,"configure":0.021739130434782608,"run":0.021739130434782608,"make":0.021739130434782608,"or":0.021739130434782608,"to":0.021739130434782608,"build":0.021739130434782608,"the":0.021739130434782608,"libraries":0.021739130434782608,"and":0.021739130434782608,"them":0.021739130434782608,"generate":0.021739130434782608,"doxygen":0.021739130434782608,"documentation":0.021739130434782608,"zookeeper":0.021739130434782608,"api":0.021739130434782608,"doxygen-doc":0.021739130434782608,"all":0.021739130434782608,"will":0.021739130434782608,"be":0.021739130434782608,"placed":0.021739130434782608,"in":0.021739130434782608,"a":0.021739130434782608,"new":0.021739130434782608,"subfolder":0.021739130434782608,"named":0.021739130434782608,"docs":0.021739130434782608,"by":0.021739130434782608,"default":0.021739130434782608,"this":0.021739130434782608,"command":0.021739130434782608,"only":0.021739130434782608,"generates":0.021739130434782608,"html":0.021739130434782608,"on":0.021739130434782608,"other":0.021739130434782608,"document":0.021739130434782608,"formats":0.021739130434782608,"--help":0.021739130434782608},"1252":{"in":0.06666666666666667,"order":0.06666666666666667,"to":0.06666666666666667,"be":0.06666666666666667,"able":0.06666666666666667,"use":0.06666666666666667,"the":0.06666666666666667,"zookeeper":0.06666666666666667,"c":0.06666666666666667,"api":0.06666666666666667,"your":0.06666666666666667,"application":0.06666666666666667,"you":0.06666666666666667,"have":0.06666666666666667,"remember":0.06666666666666667},"1253":{"include":0.25,"zookeeper":0.25,"header":0.25,"h":0.25},"1254":{"if":0.03333333333333333,"you":0.03333333333333333,"are":0.03333333333333333,"building":0.03333333333333333,"a":0.03333333333333333,"multithreaded":0.03333333333333333,"client":0.03333333333333333,"compile":0.03333333333333333,"with":0.03333333333333333,"-dthreaded":0.03333333333333333,"compiler":0.03333333333333333,"flag":0.03333333333333333,"to":0.03333333333333333,"enable":0.03333333333333333,"the":0.03333333333333333,"multi-threaded":0.03333333333333333,"version":0.03333333333333333,"of":0.03333333333333333,"library":0.03333333333333333,"and":0.03333333333333333,"then":0.03333333333333333,"link":0.03333333333333333,"against":0.03333333333333333,"zookeeper_mt":0.03333333333333333,"single-threaded":0.03333333333333333,"do":0.03333333333333333,"not":0.03333333333333333,"be":0.03333333333333333,"sure":0.03333333333333333,"the_zookeeper_st_library":0.03333333333333333},"1255":{"type":0.5,"info":0.5},"1256":{"see":0.07142857142857142,"trunk":0.07142857142857142,"zookeeper-client":0.07142857142857142,"zookeeper-client-c":0.07142857142857142,"src":0.07142857142857142,"cli":0.07142857142857142,"c":0.07142857142857142,"for":0.07142857142857142,"an":0.07142857142857142,"example":0.07142857142857142,"of":0.07142857142857142,"a":0.07142857142857142,"client":0.07142857142857142,"implementation":0.07142857142857142},"1257":{"building":0.14285714285714285,"blocks":0.14285714285714285,"a":0.14285714285714285,"guide":0.14285714285714285,"to":0.14285714285714285,"zookeeper":0.14285714285714285,"operations":0.14285714285714285},"1258":{"a":0.045454545454545456,"practical":0.045454545454545456,"reference":0.045454545454545456,"for":0.045454545454545456,"all":0.045454545454545456,"operations":0.045454545454545456,"developer":0.045454545454545456,"can":0.045454545454545456,"perform":0.045454545454545456,"against":0.045454545454545456,"zookeeper":0.045454545454545456,"server":0.045454545454545456,"covering":0.045454545454545456,"error":0.045454545454545456,"handling":0.045454545454545456,"connecting":0.045454545454545456,"and":0.045454545454545456,"the":0.045454545454545456,"full":0.045454545454545456,"synchronous":0.045454545454545456,"asynchronous":0.045454545454545456,"api":0.045454545454545456},"1259":{"handling":0.5,"errors":0.5},"1260":{"connecting":0.3333333333333333,"to":0.3333333333333333,"zookeeper":0.3333333333333333},"1261":{"this":0.03571428571428571,"section":0.03571428571428571,"surveys":0.03571428571428571,"all":0.03571428571428571,"the":0.03571428571428571,"operations":0.03571428571428571,"a":0.03571428571428571,"developer":0.03571428571428571,"can":0.03571428571428571,"perform":0.03571428571428571,"against":0.03571428571428571,"zookeeper":0.03571428571428571,"server":0.03571428571428571,"it":0.03571428571428571,"is":0.03571428571428571,"lower":0.03571428571428571,"level":0.03571428571428571,"information":0.03571428571428571,"than":0.03571428571428571,"earlier":0.03571428571428571,"concepts":0.03571428571428571,"chapters":0.03571428571428571,"in":0.03571428571428571,"manual":0.03571428571428571,"but":0.03571428571428571,"higher":0.03571428571428571,"api":0.03571428571428571,"reference":0.03571428571428571},"1262":{"both":0.021739130434782608,"the":0.021739130434782608,"java":0.021739130434782608,"and":0.021739130434782608,"c":0.021739130434782608,"client":0.021739130434782608,"bindings":0.021739130434782608,"may":0.021739130434782608,"report":0.021739130434782608,"errors":0.021739130434782608,"binding":0.021739130434782608,"does":0.021739130434782608,"so":0.021739130434782608,"by":0.021739130434782608,"throwing":0.021739130434782608,"keeperexception":0.021739130434782608,"calling":0.021739130434782608,"code":0.021739130434782608,"on":0.021739130434782608,"exception":0.021739130434782608,"will":0.021739130434782608,"return":0.021739130434782608,"specific":0.021739130434782608,"error":0.021739130434782608,"returns":0.021739130434782608,"an":0.021739130434782608,"as":0.021739130434782608,"defined":0.021739130434782608,"in":0.021739130434782608,"enum":0.021739130434782608,"zoo_errors":0.021739130434782608,"api":0.021739130434782608,"callbacks":0.021739130434782608,"indicate":0.021739130434782608,"result":0.021739130434782608,"for":0.021739130434782608,"language":0.021739130434782608,"see":0.021739130434782608,"documentation":0.021739130434782608,"javadoc":0.021739130434782608,"doxygen":0.021739130434782608,"full":0.021739130434782608,"details":0.021739130434782608,"possible":0.021739130434782608,"their":0.021739130434782608,"meaning":0.021739130434782608},"1263":{"before":0.023255813953488372,"we":0.023255813953488372,"begin":0.023255813953488372,"you":0.023255813953488372,"will":0.023255813953488372,"have":0.023255813953488372,"to":0.023255813953488372,"set":0.023255813953488372,"up":0.023255813953488372,"a":0.023255813953488372,"running":0.023255813953488372,"zookeeper":0.023255813953488372,"server":0.023255813953488372,"so":0.023255813953488372,"that":0.023255813953488372,"can":0.023255813953488372,"start":0.023255813953488372,"developing":0.023255813953488372,"the":0.023255813953488372,"client":0.023255813953488372,"for":0.023255813953488372,"c":0.023255813953488372,"bindings":0.023255813953488372,"be":0.023255813953488372,"using":0.023255813953488372,"multithreaded":0.023255813953488372,"library":0.023255813953488372,"zookeepermt":0.023255813953488372,"with":0.023255813953488372,"simple":0.023255813953488372,"example":0.023255813953488372,"written":0.023255813953488372,"in":0.023255813953488372,"establish":0.023255813953488372,"connection":0.023255813953488372,"make":0.023255813953488372,"use":0.023255813953488372,"of":0.023255813953488372,"api":0.023255813953488372,"-":0.023255813953488372,"_zookeeper_init":0.023255813953488372,"following":0.023255813953488372,"signature":0.023255813953488372},"1264":{"int":0.07692307692307693,"zookeeper_init":0.07692307692307693,"const":0.07692307692307693,"char":0.07692307692307693,"host":0.07692307692307693,"watcher_fn":0.07692307692307693,"fn":0.07692307692307693,"recv_timeout":0.07692307692307693,"clientid_t":0.07692307692307693,"clientid":0.07692307692307693,"void":0.07692307692307693,"context":0.07692307692307693,"flags":0.07692307692307693},"1265":{"0":0.03333333333333333,"1":0.03333333333333333,"127":0.03333333333333333,"2181":0.03333333333333333,"3001":0.03333333333333333,"3002":0.03333333333333333,"host":0.03333333333333333,"connection":0.03333333333333333,"string":0.03333333333333333,"to":0.03333333333333333,"zookeeper":0.03333333333333333,"server":0.03333333333333333,"in":0.03333333333333333,"the":0.03333333333333333,"format":0.03333333333333333,"of":0.03333333333333333,"port":0.03333333333333333,"if":0.03333333333333333,"there":0.03333333333333333,"are":0.03333333333333333,"multiple":0.03333333333333333,"servers":0.03333333333333333,"use":0.03333333333333333,"comma":0.03333333333333333,"as":0.03333333333333333,"separator":0.03333333333333333,"after":0.03333333333333333,"specifying":0.03333333333333333,"pairs":0.03333333333333333,"eg":0.03333333333333333},"1266":{"fn":0.09090909090909091,"watcher":0.09090909090909091,"function":0.09090909090909091,"to":0.09090909090909091,"process":0.09090909090909091,"events":0.09090909090909091,"when":0.09090909090909091,"a":0.09090909090909091,"notification":0.09090909090909091,"is":0.09090909090909091,"triggered":0.09090909090909091},"1267":{"recv_timeout":0.16666666666666666,"session":0.16666666666666666,"expiration":0.16666666666666666,"time":0.16666666666666666,"in":0.16666666666666666,"milliseconds":0.16666666666666666},"1268":{"0":0.04,"clientid":0.04,"we":0.04,"can":0.04,"specify":0.04,"for":0.04,"a":0.04,"new":0.04,"session":0.04,"if":0.04,"has":0.04,"already":0.04,"establish":0.04,"previously":0.04,"could":0.04,"provide":0.04,"that":0.04,"client":0.04,"id":0.04,"and":0.04,"it":0.04,"would":0.04,"reconnect":0.04,"to":0.04,"previous":0.04},"1269":{"0":0.05263157894736842,"context":0.05263157894736842,"object":0.05263157894736842,"that":0.05263157894736842,"can":0.05263157894736842,"be":0.05263157894736842,"associated":0.05263157894736842,"with":0.05263157894736842,"the":0.05263157894736842,"zkhandle_t":0.05263157894736842,"handler":0.05263157894736842,"if":0.05263157894736842,"it":0.05263157894736842,"is":0.05263157894736842,"not":0.05263157894736842,"used":0.05263157894736842,"we":0.05263157894736842,"set":0.05263157894736842,"to":0.05263157894736842},"1270":{"0":0.1,"flags":0.1,"in":0.1,"an":0.1,"initiation":0.1,"we":0.1,"can":0.1,"leave":0.1,"it":0.1,"for":0.1},"1271":{"we":0.041666666666666664,"will":0.041666666666666664,"demonstrate":0.041666666666666664,"client":0.041666666666666664,"that":0.041666666666666664,"outputs":0.041666666666666664,"connected":0.041666666666666664,"to":0.041666666666666664,"zookeeper":0.041666666666666664,"after":0.041666666666666664,"successful":0.041666666666666664,"connection":0.041666666666666664,"or":0.041666666666666664,"an":0.041666666666666664,"error":0.041666666666666664,"message":0.041666666666666664,"otherwise":0.041666666666666664,"let's":0.041666666666666664,"call":0.041666666666666664,"the":0.041666666666666664,"following":0.041666666666666664,"code":0.041666666666666664,"zkclient":0.041666666666666664,"cc":0.041666666666666664},"1272":{"compile":0.125,"the":0.125,"code":0.125,"with":0.125,"multithreaded":0.125,"library":0.125,"mentioned":0.125,"before":0.125},"1273":{"g":0.14285714285714285,"-iinclude":0.14285714285714285,"zkclient":0.14285714285714285,"cpp":0.14285714285714285,"-lzookeeper_mt":0.14285714285714285,"-o":0.14285714285714285,"client":0.14285714285714285},"1274":{"run":0.3333333333333333,"the":0.3333333333333333,"client":0.3333333333333333},"1275":{"client":1},"1276":{"from":0.05555555555555555,"the":0.05555555555555555,"output":0.05555555555555555,"you":0.05555555555555555,"should":0.05555555555555555,"see":0.05555555555555555,"connected":0.05555555555555555,"to":0.05555555555555555,"zookeeper":0.05555555555555555,"along":0.05555555555555555,"with":0.05555555555555555,"zookeeper's":0.05555555555555555,"debug":0.05555555555555555,"messages":0.05555555555555555,"if":0.05555555555555555,"connection":0.05555555555555555,"is":0.05555555555555555,"successful":0.05555555555555555},"1277":{"consistency":0.5,"guarantees":0.5},"1278":{"details":0.05263157894736842,"zookeeper's":0.05263157894736842,"consistency":0.05263157894736842,"guarantees":0.05263157894736842,"sequential":0.05263157894736842,"atomicity":0.05263157894736842,"single":0.05263157894736842,"system":0.05263157894736842,"image":0.05263157894736842,"reliability":0.05263157894736842,"and":0.05263157894736842,"timeliness":0.05263157894736842,"how":0.05263157894736842,"they":0.05263157894736842,"compare":0.05263157894736842,"to":0.05263157894736842,"other":0.05263157894736842,"distributed":0.05263157894736842,"systems":0.05263157894736842},"1279":{"zookeeper":0.02564102564102564,"is":0.02564102564102564,"a":0.02564102564102564,"high":0.02564102564102564,"performance":0.02564102564102564,"scalable":0.02564102564102564,"service":0.02564102564102564,"both":0.02564102564102564,"reads":0.02564102564102564,"and":0.02564102564102564,"write":0.02564102564102564,"operations":0.02564102564102564,"are":0.02564102564102564,"designed":0.02564102564102564,"to":0.02564102564102564,"be":0.02564102564102564,"fast":0.02564102564102564,"though":0.02564102564102564,"faster":0.02564102564102564,"than":0.02564102564102564,"writes":0.02564102564102564,"the":0.02564102564102564,"reason":0.02564102564102564,"for":0.02564102564102564,"this":0.02564102564102564,"that":0.02564102564102564,"in":0.02564102564102564,"case":0.02564102564102564,"of":0.02564102564102564,"can":0.02564102564102564,"serve":0.02564102564102564,"older":0.02564102564102564,"data":0.02564102564102564,"which":0.02564102564102564,"turn":0.02564102564102564,"due":0.02564102564102564,"zookeeper's":0.02564102564102564,"consistency":0.02564102564102564,"guarantees":0.02564102564102564},"1280":{"sequential":0.0625,"consistency":0.0625,"updates":0.0625,"from":0.0625,"a":0.0625,"client":0.0625,"will":0.0625,"be":0.0625,"applied":0.0625,"in":0.0625,"the":0.0625,"order":0.0625,"that":0.0625,"they":0.0625,"were":0.0625,"sent":0.0625},"1281":{"atomicity":0.09090909090909091,"updates":0.09090909090909091,"either":0.09090909090909091,"succeed":0.09090909090909091,"or":0.09090909090909091,"fail":0.09090909090909091,"there":0.09090909090909091,"are":0.09090909090909091,"no":0.09090909090909091,"partial":0.09090909090909091,"results":0.09090909090909091},"1282":{"single":0.03333333333333333,"system":0.03333333333333333,"image":0.03333333333333333,"a":0.03333333333333333,"client":0.03333333333333333,"will":0.03333333333333333,"see":0.03333333333333333,"the":0.03333333333333333,"same":0.03333333333333333,"view":0.03333333333333333,"of":0.03333333333333333,"service":0.03333333333333333,"regardless":0.03333333333333333,"server":0.03333333333333333,"that":0.03333333333333333,"it":0.03333333333333333,"connects":0.03333333333333333,"to":0.03333333333333333,"i":0.03333333333333333,"e":0.03333333333333333,"never":0.03333333333333333,"an":0.03333333333333333,"older":0.03333333333333333,"even":0.03333333333333333,"if":0.03333333333333333,"fails":0.03333333333333333,"over":0.03333333333333333,"different":0.03333333333333333,"with":0.03333333333333333,"session":0.03333333333333333},"1283":{"reliability":0.043478260869565216,"once":0.043478260869565216,"an":0.043478260869565216,"update":0.043478260869565216,"has":0.043478260869565216,"been":0.043478260869565216,"applied":0.043478260869565216,"it":0.043478260869565216,"will":0.043478260869565216,"persist":0.043478260869565216,"from":0.043478260869565216,"that":0.043478260869565216,"time":0.043478260869565216,"forward":0.043478260869565216,"until":0.043478260869565216,"a":0.043478260869565216,"client":0.043478260869565216,"overwrites":0.043478260869565216,"the":0.043478260869565216,"this":0.043478260869565216,"guarantee":0.043478260869565216,"two":0.043478260869565216,"corollaries":0.043478260869565216},"1284":{"if":0.023809523809523808,"a":0.023809523809523808,"client":0.023809523809523808,"gets":0.023809523809523808,"successful":0.023809523809523808,"return":0.023809523809523808,"code":0.023809523809523808,"the":0.023809523809523808,"update":0.023809523809523808,"will":0.023809523809523808,"have":0.023809523809523808,"been":0.023809523809523808,"applied":0.023809523809523808,"on":0.023809523809523808,"some":0.023809523809523808,"failures":0.023809523809523808,"communication":0.023809523809523808,"errors":0.023809523809523808,"timeouts":0.023809523809523808,"etc":0.023809523809523808,"not":0.023809523809523808,"know":0.023809523809523808,"has":0.023809523809523808,"or":0.023809523809523808,"we":0.023809523809523808,"take":0.023809523809523808,"steps":0.023809523809523808,"to":0.023809523809523808,"minimize":0.023809523809523808,"but":0.023809523809523808,"guarantee":0.023809523809523808,"is":0.023809523809523808,"only":0.023809523809523808,"present":0.023809523809523808,"with":0.023809523809523808,"codes":0.023809523809523808,"this":0.023809523809523808,"called":0.023809523809523808,"monotonicity":0.023809523809523808,"condition":0.023809523809523808,"in":0.023809523809523808,"paxos":0.023809523809523808},"1285":{"any":0.04,"updates":0.04,"that":0.04,"are":0.04,"seen":0.04,"by":0.04,"the":0.04,"client":0.04,"through":0.04,"a":0.04,"read":0.04,"request":0.04,"or":0.04,"successful":0.04,"update":0.04,"will":0.04,"never":0.04,"be":0.04,"rolled":0.04,"back":0.04,"when":0.04,"recovering":0.04,"from":0.04,"server":0.04,"failures":0.04},"1286":{"timeliness":0.03225806451612903,"the":0.03225806451612903,"clients":0.03225806451612903,"view":0.03225806451612903,"of":0.03225806451612903,"system":0.03225806451612903,"is":0.03225806451612903,"guaranteed":0.03225806451612903,"to":0.03225806451612903,"be":0.03225806451612903,"up-to-date":0.03225806451612903,"within":0.03225806451612903,"a":0.03225806451612903,"certain":0.03225806451612903,"time":0.03225806451612903,"bound":0.03225806451612903,"on":0.03225806451612903,"order":0.03225806451612903,"tens":0.03225806451612903,"seconds":0.03225806451612903,"either":0.03225806451612903,"changes":0.03225806451612903,"will":0.03225806451612903,"seen":0.03225806451612903,"by":0.03225806451612903,"client":0.03225806451612903,"this":0.03225806451612903,"or":0.03225806451612903,"detect":0.03225806451612903,"service":0.03225806451612903,"outage":0.03225806451612903},"1287":{"using":0.02702702702702703,"these":0.02702702702702703,"consistency":0.02702702702702703,"guarantees":0.02702702702702703,"it":0.02702702702702703,"is":0.02702702702702703,"easy":0.02702702702702703,"to":0.02702702702702703,"build":0.02702702702702703,"higher":0.02702702702702703,"level":0.02702702702702703,"functions":0.02702702702702703,"such":0.02702702702702703,"as":0.02702702702702703,"leader":0.02702702702702703,"election":0.02702702702702703,"barriers":0.02702702702702703,"queues":0.02702702702702703,"and":0.02702702702702703,"read":0.02702702702702703,"write":0.02702702702702703,"revocable":0.02702702702702703,"locks":0.02702702702702703,"solely":0.02702702702702703,"at":0.02702702702702703,"the":0.02702702702702703,"zookeeper":0.02702702702702703,"client":0.02702702702702703,"no":0.02702702702702703,"additions":0.02702702702702703,"needed":0.02702702702702703,"see":0.02702702702702703,"recipes":0.02702702702702703,"solutions":0.02702702702702703,"for":0.02702702702702703,"more":0.02702702702702703,"details":0.02702702702702703},"1288":{"type":0.5,"info":0.5},"1289":{"0":0.009345794392523364,"1":0.009345794392523364,"sometimes":0.009345794392523364,"developers":0.009345794392523364,"mistakenly":0.009345794392523364,"assume":0.009345794392523364,"one":0.009345794392523364,"other":0.009345794392523364,"guarantee":0.009345794392523364,"that":0.009345794392523364,"zookeeper":0.009345794392523364,"does":0.009345794392523364,"not":0.009345794392523364,"in":0.009345794392523364,"fact":0.009345794392523364,"make":0.009345794392523364,"this":0.009345794392523364,"is":0.009345794392523364,"simultaneously":0.009345794392523364,"consistent":0.009345794392523364,"cross-client":0.009345794392523364,"views":0.009345794392523364,"at":0.009345794392523364,"every":0.009345794392523364,"instance":0.009345794392523364,"time":0.009345794392523364,"two":0.009345794392523364,"different":0.009345794392523364,"clients":0.009345794392523364,"will":0.009345794392523364,"have":0.009345794392523364,"identical":0.009345794392523364,"of":0.009345794392523364,"data":0.009345794392523364,"due":0.009345794392523364,"to":0.009345794392523364,"factors":0.009345794392523364,"like":0.009345794392523364,"network":0.009345794392523364,"delays":0.009345794392523364,"client":0.009345794392523364,"may":0.009345794392523364,"perform":0.009345794392523364,"an":0.009345794392523364,"update":0.009345794392523364,"before":0.009345794392523364,"another":0.009345794392523364,"gets":0.009345794392523364,"notified":0.009345794392523364,"the":0.009345794392523364,"change":0.009345794392523364,"consider":0.009345794392523364,"scenario":0.009345794392523364,"a":0.009345794392523364,"and":0.009345794392523364,"b":0.009345794392523364,"if":0.009345794392523364,"sets":0.009345794392523364,"value":0.009345794392523364,"znode":0.009345794392523364,"from":0.009345794392523364,"then":0.009345794392523364,"tells":0.009345794392523364,"read":0.009345794392523364,"old":0.009345794392523364,"depending":0.009345794392523364,"on":0.009345794392523364,"which":0.009345794392523364,"server":0.009345794392523364,"it":0.009345794392523364,"connected":0.009345794392523364,"important":0.009345794392523364,"same":0.009345794392523364,"should":0.009345794392523364,"call":0.009345794392523364,"sync":0.009345794392523364,"method":0.009345794392523364,"api":0.009345794392523364,"performs":0.009345794392523364,"its":0.009345794392523364,"so":0.009345794392523364,"by":0.009345794392523364,"itself":0.009345794392523364,"doesn't":0.009345794392523364,"changes":0.009345794392523364,"occur":0.009345794392523364,"synchronously":0.009345794392523364,"across":0.009345794392523364,"all":0.009345794392523364,"servers":0.009345794392523364,"but":0.009345794392523364,"primitives":0.009345794392523364,"can":0.009345794392523364,"be":0.009345794392523364,"used":0.009345794392523364,"construct":0.009345794392523364,"higher":0.009345794392523364,"level":0.009345794392523364,"functions":0.009345794392523364,"provide":0.009345794392523364,"useful":0.009345794392523364,"synchronization":0.009345794392523364,"for":0.009345794392523364,"more":0.009345794392523364,"information":0.009345794392523364,"see":0.009345794392523364,"recipes":0.009345794392523364},"1290":{"data":0.5,"model":0.5},"1291":{"explains":0.05263157894736842,"zookeeper's":0.05263157894736842,"hierarchical":0.05263157894736842,"namespace":0.05263157894736842,"of":0.05263157894736842,"znodes":0.05263157894736842,"including":0.05263157894736842,"data":0.05263157894736842,"access":0.05263157894736842,"rules":0.05263157894736842,"ephemeral":0.05263157894736842,"and":0.05263157894736842,"sequence":0.05263157894736842,"nodes":0.05263157894736842,"container":0.05263157894736842,"ttl":0.05263157894736842,"the":0.05263157894736842,"stat":0.05263157894736842,"structure":0.05263157894736842},"1292":{"znodes":1},"1293":{"watches":1},"1294":{"data":0.5,"access":0.5},"1295":{"ephemeral":0.5,"nodes":0.5},"1296":{"getephemerals":1},"1297":{"sequence":0.25,"nodes":0.25,"unique":0.25,"naming":0.25},"1298":{"container":0.5,"nodes":0.5},"1299":{"3":0.25,"5":0.25,"added":0.25,"in":0.25},"1300":{"ttl":0.5,"nodes":0.5},"1301":{"3":0.25,"5":0.25,"added":0.25,"in":0.25},"1302":{"time":0.3333333333333333,"in":0.3333333333333333,"zookeeper":0.3333333333333333},"1303":{"zookeeper":0.3333333333333333,"stat":0.3333333333333333,"structure":0.3333333333333333},"1304":{"zookeeper":0.018867924528301886,"has":0.018867924528301886,"a":0.018867924528301886,"hierarchal":0.018867924528301886,"namespace":0.018867924528301886,"much":0.018867924528301886,"like":0.018867924528301886,"distributed":0.018867924528301886,"file":0.018867924528301886,"system":0.018867924528301886,"the":0.018867924528301886,"only":0.018867924528301886,"difference":0.018867924528301886,"is":0.018867924528301886,"that":0.018867924528301886,"each":0.018867924528301886,"node":0.018867924528301886,"in":0.018867924528301886,"can":0.018867924528301886,"have":0.018867924528301886,"data":0.018867924528301886,"associated":0.018867924528301886,"with":0.018867924528301886,"it":0.018867924528301886,"as":0.018867924528301886,"well":0.018867924528301886,"children":0.018867924528301886,"having":0.018867924528301886,"allows":0.018867924528301886,"to":0.018867924528301886,"also":0.018867924528301886,"be":0.018867924528301886,"directory":0.018867924528301886,"paths":0.018867924528301886,"nodes":0.018867924528301886,"are":0.018867924528301886,"always":0.018867924528301886,"expressed":0.018867924528301886,"canonical":0.018867924528301886,"absolute":0.018867924528301886,"slash-separated":0.018867924528301886,"there":0.018867924528301886,"no":0.018867924528301886,"relative":0.018867924528301886,"reference":0.018867924528301886,"any":0.018867924528301886,"unicode":0.018867924528301886,"character":0.018867924528301886,"used":0.018867924528301886,"path":0.018867924528301886,"subject":0.018867924528301886,"following":0.018867924528301886,"constraints":0.018867924528301886},"1305":{"the":0.058823529411764705,"null":0.058823529411764705,"character":0.058823529411764705,"u0000":0.058823529411764705,"cannot":0.058823529411764705,"be":0.058823529411764705,"part":0.058823529411764705,"of":0.058823529411764705,"a":0.058823529411764705,"path":0.058823529411764705,"name":0.058823529411764705,"this":0.058823529411764705,"causes":0.058823529411764705,"problems":0.058823529411764705,"with":0.058823529411764705,"c":0.058823529411764705,"binding":0.058823529411764705},"1306":{"the":0.047619047619047616,"following":0.047619047619047616,"characters":0.047619047619047616,"can't":0.047619047619047616,"be":0.047619047619047616,"used":0.047619047619047616,"because":0.047619047619047616,"they":0.047619047619047616,"don't":0.047619047619047616,"display":0.047619047619047616,"well":0.047619047619047616,"or":0.047619047619047616,"render":0.047619047619047616,"in":0.047619047619047616,"confusing":0.047619047619047616,"ways":0.047619047619047616,"u0001":0.047619047619047616,"-":0.047619047619047616,"u001f":0.047619047619047616,"and":0.047619047619047616,"u007f":0.047619047619047616},"1307":{"u009f":1},"1308":{"the":0.09090909090909091,"following":0.09090909090909091,"characters":0.09090909090909091,"are":0.09090909090909091,"not":0.09090909090909091,"allowed":0.09090909090909091,"ud800":0.09090909090909091,"-":0.09090909090909091,"uf8ff":0.09090909090909091,"ufff0":0.09090909090909091,"uffff":0.09090909090909091},"1309":{"the":0.03125,"character":0.03125,"can":0.03125,"be":0.03125,"used":0.03125,"as":0.03125,"part":0.03125,"of":0.03125,"another":0.03125,"name":0.03125,"but":0.03125,"and":0.03125,"cannot":0.03125,"alone":0.03125,"to":0.03125,"indicate":0.03125,"a":0.03125,"node":0.03125,"along":0.03125,"path":0.03125,"because":0.03125,"zookeeper":0.03125,"doesn't":0.03125,"use":0.03125,"relative":0.03125,"paths":0.03125,"following":0.03125,"would":0.03125,"invalid":0.03125,"b":0.03125,"c":0.03125,"or":0.03125},"1310":{"the":0.2,"token":0.2,"zookeeper":0.2,"is":0.2,"reserved":0.2},"1311":{"every":0.014492753623188406,"node":0.014492753623188406,"in":0.014492753623188406,"a":0.014492753623188406,"zookeeper":0.014492753623188406,"tree":0.014492753623188406,"is":0.014492753623188406,"referred":0.014492753623188406,"to":0.014492753623188406,"as":0.014492753623188406,"znode":0.014492753623188406,"znodes":0.014492753623188406,"maintain":0.014492753623188406,"stat":0.014492753623188406,"structure":0.014492753623188406,"that":0.014492753623188406,"includes":0.014492753623188406,"version":0.014492753623188406,"numbers":0.014492753623188406,"for":0.014492753623188406,"data":0.014492753623188406,"changes":0.014492753623188406,"acl":0.014492753623188406,"the":0.014492753623188406,"also":0.014492753623188406,"has":0.014492753623188406,"timestamps":0.014492753623188406,"number":0.014492753623188406,"together":0.014492753623188406,"with":0.014492753623188406,"timestamp":0.014492753623188406,"allows":0.014492753623188406,"validate":0.014492753623188406,"cache":0.014492753623188406,"and":0.014492753623188406,"coordinate":0.014492753623188406,"updates":0.014492753623188406,"each":0.014492753623188406,"time":0.014492753623188406,"znode's":0.014492753623188406,"increases":0.014492753623188406,"instance":0.014492753623188406,"whenever":0.014492753623188406,"client":0.014492753623188406,"retrieves":0.014492753623188406,"it":0.014492753623188406,"receives":0.014492753623188406,"of":0.014492753623188406,"when":0.014492753623188406,"performs":0.014492753623188406,"an":0.014492753623188406,"update":0.014492753623188406,"or":0.014492753623188406,"delete":0.014492753623188406,"must":0.014492753623188406,"supply":0.014492753623188406,"changing":0.014492753623188406,"if":0.014492753623188406,"supplies":0.014492753623188406,"doesn't":0.014492753623188406,"match":0.014492753623188406,"actual":0.014492753623188406,"will":0.014492753623188406,"fail":0.014492753623188406,"this":0.014492753623188406,"behavior":0.014492753623188406,"can":0.014492753623188406,"be":0.014492753623188406,"overridden":0.014492753623188406},"1312":{"type":0.5,"info":0.5},"1313":{"in":0.025,"distributed":0.025,"application":0.025,"engineering":0.025,"the":0.025,"words":0.025,"node":0.025,"can":0.025,"refer":0.025,"to":0.025,"a":0.025,"generic":0.025,"host":0.025,"machine":0.025,"server":0.025,"member":0.025,"of":0.025,"an":0.025,"ensemble":0.025,"client":0.025,"process":0.025,"etc":0.025,"zookeeper":0.025,"documentation":0.025,"znodes":0.025,"data":0.025,"nodes":0.025,"servers":0.025,"refers":0.025,"machines":0.025,"that":0.025,"make":0.025,"up":0.025,"service":0.025,"quorum":0.025,"peers":0.025,"any":0.025,"or":0.025,"which":0.025,"uses":0.025},"1314":{"znodes":0.0625,"are":0.0625,"the":0.0625,"main":0.0625,"entity":0.0625,"that":0.0625,"a":0.0625,"programmer":0.0625,"access":0.0625,"they":0.0625,"have":0.0625,"several":0.0625,"characteristics":0.0625,"worth":0.0625,"mentioning":0.0625,"here":0.0625},"1315":{"clients":0.03333333333333333,"can":0.03333333333333333,"set":0.03333333333333333,"watches":0.03333333333333333,"on":0.03333333333333333,"znodes":0.03333333333333333,"changes":0.03333333333333333,"to":0.03333333333333333,"that":0.03333333333333333,"znode":0.03333333333333333,"trigger":0.03333333333333333,"the":0.03333333333333333,"watch":0.03333333333333333,"and":0.03333333333333333,"then":0.03333333333333333,"clear":0.03333333333333333,"when":0.03333333333333333,"a":0.03333333333333333,"triggers":0.03333333333333333,"zookeeper":0.03333333333333333,"sends":0.03333333333333333,"client":0.03333333333333333,"notification":0.03333333333333333,"more":0.03333333333333333,"information":0.03333333333333333,"about":0.03333333333333333,"be":0.03333333333333333,"found":0.03333333333333333,"in":0.03333333333333333,"section":0.03333333333333333},"1316":{"the":0.02857142857142857,"data":0.02857142857142857,"stored":0.02857142857142857,"at":0.02857142857142857,"each":0.02857142857142857,"znode":0.02857142857142857,"in":0.02857142857142857,"a":0.02857142857142857,"namespace":0.02857142857142857,"is":0.02857142857142857,"read":0.02857142857142857,"and":0.02857142857142857,"written":0.02857142857142857,"atomically":0.02857142857142857,"reads":0.02857142857142857,"get":0.02857142857142857,"all":0.02857142857142857,"bytes":0.02857142857142857,"associated":0.02857142857142857,"with":0.02857142857142857,"write":0.02857142857142857,"replaces":0.02857142857142857,"node":0.02857142857142857,"has":0.02857142857142857,"an":0.02857142857142857,"access":0.02857142857142857,"control":0.02857142857142857,"list":0.02857142857142857,"acl":0.02857142857142857,"that":0.02857142857142857,"restricts":0.02857142857142857,"who":0.02857142857142857,"can":0.02857142857142857,"do":0.02857142857142857,"what":0.02857142857142857},"1317":{"zookeeper":0.010752688172043012,"was":0.010752688172043012,"not":0.010752688172043012,"designed":0.010752688172043012,"to":0.010752688172043012,"be":0.010752688172043012,"a":0.010752688172043012,"general":0.010752688172043012,"database":0.010752688172043012,"or":0.010752688172043012,"large":0.010752688172043012,"object":0.010752688172043012,"store":0.010752688172043012,"instead":0.010752688172043012,"it":0.010752688172043012,"manages":0.010752688172043012,"coordination":0.010752688172043012,"data":0.010752688172043012,"this":0.010752688172043012,"can":0.010752688172043012,"come":0.010752688172043012,"in":0.010752688172043012,"the":0.010752688172043012,"form":0.010752688172043012,"of":0.010752688172043012,"configuration":0.010752688172043012,"status":0.010752688172043012,"information":0.010752688172043012,"rendezvous":0.010752688172043012,"etc":0.010752688172043012,"common":0.010752688172043012,"property":0.010752688172043012,"various":0.010752688172043012,"forms":0.010752688172043012,"is":0.010752688172043012,"that":0.010752688172043012,"they":0.010752688172043012,"are":0.010752688172043012,"relatively":0.010752688172043012,"small":0.010752688172043012,"measured":0.010752688172043012,"kilobytes":0.010752688172043012,"client":0.010752688172043012,"and":0.010752688172043012,"server":0.010752688172043012,"implementations":0.010752688172043012,"have":0.010752688172043012,"sanity":0.010752688172043012,"checks":0.010752688172043012,"ensure":0.010752688172043012,"znodes":0.010752688172043012,"less":0.010752688172043012,"than":0.010752688172043012,"1m":0.010752688172043012,"but":0.010752688172043012,"should":0.010752688172043012,"much":0.010752688172043012,"on":0.010752688172043012,"average":0.010752688172043012,"operating":0.010752688172043012,"sizes":0.010752688172043012,"will":0.010752688172043012,"cause":0.010752688172043012,"some":0.010752688172043012,"operations":0.010752688172043012,"take":0.010752688172043012,"more":0.010752688172043012,"time":0.010752688172043012,"others":0.010752688172043012,"affect":0.010752688172043012,"latencies":0.010752688172043012,"because":0.010752688172043012,"extra":0.010752688172043012,"needed":0.010752688172043012,"move":0.010752688172043012,"over":0.010752688172043012,"network":0.010752688172043012,"onto":0.010752688172043012,"storage":0.010752688172043012,"media":0.010752688172043012,"if":0.010752688172043012,"usual":0.010752688172043012,"pattern":0.010752688172043012,"dealing":0.010752688172043012,"with":0.010752688172043012,"such":0.010752688172043012,"bulk":0.010752688172043012,"system":0.010752688172043012,"as":0.010752688172043012,"nfs":0.010752688172043012,"hdfs":0.010752688172043012,"pointers":0.010752688172043012,"locations":0.010752688172043012},"1318":{"zookeeper":0.025,"also":0.025,"has":0.025,"the":0.025,"notion":0.025,"of":0.025,"ephemeral":0.025,"nodes":0.025,"these":0.025,"znodes":0.025,"exists":0.025,"as":0.025,"long":0.025,"session":0.025,"that":0.025,"created":0.025,"znode":0.025,"is":0.025,"active":0.025,"when":0.025,"ends":0.025,"deleted":0.025,"because":0.025,"this":0.025,"behavior":0.025,"are":0.025,"not":0.025,"allowed":0.025,"to":0.025,"have":0.025,"children":0.025,"list":0.025,"ephemerals":0.025,"for":0.025,"can":0.025,"be":0.025,"retrieved":0.025,"using":0.025,"getephemerals":0.025,"api":0.025},"1319":{"retrieves":0.018867924528301886,"the":0.018867924528301886,"list":0.018867924528301886,"of":0.018867924528301886,"ephemeral":0.018867924528301886,"nodes":0.018867924528301886,"created":0.018867924528301886,"by":0.018867924528301886,"session":0.018867924528301886,"for":0.018867924528301886,"given":0.018867924528301886,"path":0.018867924528301886,"if":0.018867924528301886,"is":0.018867924528301886,"empty":0.018867924528301886,"it":0.018867924528301886,"will":0.018867924528301886,"all":0.018867924528301886,"use":0.018867924528301886,"case":0.018867924528301886,"-":0.018867924528301886,"a":0.018867924528301886,"sample":0.018867924528301886,"might":0.018867924528301886,"be":0.018867924528301886,"needs":0.018867924528301886,"to":0.018867924528301886,"collected":0.018867924528301886,"duplicate":0.018867924528301886,"data":0.018867924528301886,"entry":0.018867924528301886,"check":0.018867924528301886,"and":0.018867924528301886,"are":0.018867924528301886,"in":0.018867924528301886,"sequential":0.018867924528301886,"manner":0.018867924528301886,"so":0.018867924528301886,"you":0.018867924528301886,"do":0.018867924528301886,"not":0.018867924528301886,"know":0.018867924528301886,"name":0.018867924528301886,"that":0.018867924528301886,"getephemerals":0.018867924528301886,"api":0.018867924528301886,"could":0.018867924528301886,"used":0.018867924528301886,"get":0.018867924528301886,"this":0.018867924528301886,"typical":0.018867924528301886,"service":0.018867924528301886,"discovery":0.018867924528301886},"1320":{"0":0.014705882352941176,"10":0.014705882352941176,"2147483647":0.014705882352941176,"when":0.014705882352941176,"creating":0.014705882352941176,"a":0.014705882352941176,"znode":0.014705882352941176,"you":0.014705882352941176,"can":0.014705882352941176,"also":0.014705882352941176,"request":0.014705882352941176,"that":0.014705882352941176,"zookeeper":0.014705882352941176,"append":0.014705882352941176,"monotonically":0.014705882352941176,"increasing":0.014705882352941176,"counter":0.014705882352941176,"to":0.014705882352941176,"the":0.014705882352941176,"end":0.014705882352941176,"of":0.014705882352941176,"path":0.014705882352941176,"this":0.014705882352941176,"is":0.014705882352941176,"unique":0.014705882352941176,"parent":0.014705882352941176,"has":0.014705882352941176,"format":0.014705882352941176,"010d":0.014705882352941176,"digits":0.014705882352941176,"with":0.014705882352941176,"zero":0.014705882352941176,"padding":0.014705882352941176,"formatted":0.014705882352941176,"in":0.014705882352941176,"way":0.014705882352941176,"simplify":0.014705882352941176,"sorting":0.014705882352941176,"i":0.014705882352941176,"e":0.014705882352941176,"0000000001":0.014705882352941176,"see":0.014705882352941176,"queue":0.014705882352941176,"recipe":0.014705882352941176,"for":0.014705882352941176,"an":0.014705882352941176,"example":0.014705882352941176,"use":0.014705882352941176,"feature":0.014705882352941176,"note":0.014705882352941176,"used":0.014705882352941176,"store":0.014705882352941176,"next":0.014705882352941176,"sequence":0.014705882352941176,"number":0.014705882352941176,"signed":0.014705882352941176,"int":0.014705882352941176,"4bytes":0.014705882352941176,"maintained":0.014705882352941176,"by":0.014705882352941176,"node":0.014705882352941176,"will":0.014705882352941176,"overflow":0.014705882352941176,"incremented":0.014705882352941176,"beyond":0.014705882352941176,"resulting":0.014705882352941176,"name":0.014705882352941176,"-2147483648":0.014705882352941176},"1321":{"zookeeper":0.02857142857142857,"has":0.02857142857142857,"the":0.02857142857142857,"notion":0.02857142857142857,"of":0.02857142857142857,"container":0.02857142857142857,"znodes":0.02857142857142857,"are":0.02857142857142857,"special":0.02857142857142857,"purpose":0.02857142857142857,"useful":0.02857142857142857,"for":0.02857142857142857,"recipes":0.02857142857142857,"such":0.02857142857142857,"as":0.02857142857142857,"leader":0.02857142857142857,"lock":0.02857142857142857,"etc":0.02857142857142857,"when":0.02857142857142857,"last":0.02857142857142857,"child":0.02857142857142857,"a":0.02857142857142857,"is":0.02857142857142857,"deleted":0.02857142857142857,"becomes":0.02857142857142857,"candidate":0.02857142857142857,"to":0.02857142857142857,"be":0.02857142857142857,"by":0.02857142857142857,"server":0.02857142857142857,"at":0.02857142857142857,"some":0.02857142857142857,"point":0.02857142857142857,"in":0.02857142857142857,"future":0.02857142857142857},"1322":{"given":0.03333333333333333,"this":0.03333333333333333,"property":0.03333333333333333,"you":0.03333333333333333,"should":0.03333333333333333,"be":0.03333333333333333,"prepared":0.03333333333333333,"to":0.03333333333333333,"get":0.03333333333333333,"keeperexception":0.03333333333333333,"nonodeexception":0.03333333333333333,"when":0.03333333333333333,"creating":0.03333333333333333,"children":0.03333333333333333,"inside":0.03333333333333333,"of":0.03333333333333333,"container":0.03333333333333333,"znodes":0.03333333333333333,"i":0.03333333333333333,"e":0.03333333333333333,"child":0.03333333333333333,"always":0.03333333333333333,"check":0.03333333333333333,"for":0.03333333333333333,"and":0.03333333333333333,"recreate":0.03333333333333333,"the":0.03333333333333333,"znode":0.03333333333333333,"it":0.03333333333333333,"occurs":0.03333333333333333},"1323":{"when":0.02564102564102564,"creating":0.02564102564102564,"persistent":0.02564102564102564,"or":0.02564102564102564,"persistent_sequential":0.02564102564102564,"znodes":0.02564102564102564,"you":0.02564102564102564,"can":0.02564102564102564,"optionally":0.02564102564102564,"set":0.02564102564102564,"a":0.02564102564102564,"ttl":0.02564102564102564,"in":0.02564102564102564,"milliseconds":0.02564102564102564,"for":0.02564102564102564,"the":0.02564102564102564,"znode":0.02564102564102564,"if":0.02564102564102564,"is":0.02564102564102564,"not":0.02564102564102564,"modified":0.02564102564102564,"within":0.02564102564102564,"and":0.02564102564102564,"has":0.02564102564102564,"no":0.02564102564102564,"children":0.02564102564102564,"it":0.02564102564102564,"will":0.02564102564102564,"become":0.02564102564102564,"candidate":0.02564102564102564,"to":0.02564102564102564,"be":0.02564102564102564,"deleted":0.02564102564102564,"by":0.02564102564102564,"server":0.02564102564102564,"at":0.02564102564102564,"some":0.02564102564102564,"point":0.02564102564102564,"future":0.02564102564102564},"1324":{"note":0.029411764705882353,"ttl":0.029411764705882353,"nodes":0.029411764705882353,"must":0.029411764705882353,"be":0.029411764705882353,"enabled":0.029411764705882353,"via":0.029411764705882353,"system":0.029411764705882353,"property":0.029411764705882353,"as":0.029411764705882353,"they":0.029411764705882353,"are":0.029411764705882353,"disabled":0.029411764705882353,"by":0.029411764705882353,"default":0.029411764705882353,"see":0.029411764705882353,"the":0.029411764705882353,"administrator's":0.029411764705882353,"guide":0.029411764705882353,"for":0.029411764705882353,"details":0.029411764705882353,"if":0.029411764705882353,"you":0.029411764705882353,"attempt":0.029411764705882353,"to":0.029411764705882353,"create":0.029411764705882353,"without":0.029411764705882353,"proper":0.029411764705882353,"set":0.029411764705882353,"server":0.029411764705882353,"will":0.029411764705882353,"throw":0.029411764705882353,"keeperexception":0.029411764705882353,"unimplementedexception":0.029411764705882353},"1325":{"zookeeper":0.2,"tracks":0.2,"time":0.2,"multiple":0.2,"ways":0.2},"1326":{"zxid":0.02857142857142857,"every":0.02857142857142857,"change":0.02857142857142857,"to":0.02857142857142857,"the":0.02857142857142857,"zookeeper":0.02857142857142857,"state":0.02857142857142857,"receives":0.02857142857142857,"a":0.02857142857142857,"stamp":0.02857142857142857,"in":0.02857142857142857,"form":0.02857142857142857,"of":0.02857142857142857,"transaction":0.02857142857142857,"id":0.02857142857142857,"this":0.02857142857142857,"exposes":0.02857142857142857,"total":0.02857142857142857,"ordering":0.02857142857142857,"all":0.02857142857142857,"changes":0.02857142857142857,"each":0.02857142857142857,"will":0.02857142857142857,"have":0.02857142857142857,"unique":0.02857142857142857,"and":0.02857142857142857,"if":0.02857142857142857,"zxid1":0.02857142857142857,"is":0.02857142857142857,"smaller":0.02857142857142857,"than":0.02857142857142857,"zxid2":0.02857142857142857,"then":0.02857142857142857,"happened":0.02857142857142857,"before":0.02857142857142857},"1327":{"version":0.038461538461538464,"numbers":0.038461538461538464,"every":0.038461538461538464,"change":0.038461538461538464,"to":0.038461538461538464,"a":0.038461538461538464,"node":0.038461538461538464,"will":0.038461538461538464,"cause":0.038461538461538464,"an":0.038461538461538464,"increase":0.038461538461538464,"one":0.038461538461538464,"of":0.038461538461538464,"the":0.038461538461538464,"that":0.038461538461538464,"three":0.038461538461538464,"are":0.038461538461538464,"number":0.038461538461538464,"changes":0.038461538461538464,"data":0.038461538461538464,"znode":0.038461538461538464,"cversion":0.038461538461538464,"children":0.038461538461538464,"and":0.038461538461538464,"aversion":0.038461538461538464,"acl":0.038461538461538464},"1328":{"2":0.022222222222222223,"ticks":0.022222222222222223,"when":0.022222222222222223,"using":0.022222222222222223,"multi-server":0.022222222222222223,"zookeeper":0.022222222222222223,"servers":0.022222222222222223,"use":0.022222222222222223,"to":0.022222222222222223,"define":0.022222222222222223,"timing":0.022222222222222223,"of":0.022222222222222223,"events":0.022222222222222223,"such":0.022222222222222223,"as":0.022222222222222223,"status":0.022222222222222223,"uploads":0.022222222222222223,"session":0.022222222222222223,"timeouts":0.022222222222222223,"connection":0.022222222222222223,"between":0.022222222222222223,"peers":0.022222222222222223,"etc":0.022222222222222223,"the":0.022222222222222223,"tick":0.022222222222222223,"time":0.022222222222222223,"is":0.022222222222222223,"only":0.022222222222222223,"indirectly":0.022222222222222223,"exposed":0.022222222222222223,"through":0.022222222222222223,"minimum":0.022222222222222223,"timeout":0.022222222222222223,"times":0.022222222222222223,"if":0.022222222222222223,"a":0.022222222222222223,"client":0.022222222222222223,"requests":0.022222222222222223,"less":0.022222222222222223,"than":0.022222222222222223,"server":0.022222222222222223,"will":0.022222222222222223,"tell":0.022222222222222223,"that":0.022222222222222223,"actually":0.022222222222222223},"1329":{"real":0.045454545454545456,"time":0.045454545454545456,"zookeeper":0.045454545454545456,"doesn't":0.045454545454545456,"use":0.045454545454545456,"or":0.045454545454545456,"clock":0.045454545454545456,"at":0.045454545454545456,"all":0.045454545454545456,"except":0.045454545454545456,"to":0.045454545454545456,"put":0.045454545454545456,"timestamps":0.045454545454545456,"into":0.045454545454545456,"the":0.045454545454545456,"stat":0.045454545454545456,"structure":0.045454545454545456,"on":0.045454545454545456,"znode":0.045454545454545456,"creation":0.045454545454545456,"and":0.045454545454545456,"modification":0.045454545454545456},"1330":{"the":0.07142857142857142,"stat":0.07142857142857142,"structure":0.07142857142857142,"for":0.07142857142857142,"each":0.07142857142857142,"znode":0.07142857142857142,"in":0.07142857142857142,"zookeeper":0.07142857142857142,"is":0.07142857142857142,"made":0.07142857142857142,"up":0.07142857142857142,"of":0.07142857142857142,"following":0.07142857142857142,"fields":0.07142857142857142},"1331":{"czxid":0.08333333333333333,"the":0.08333333333333333,"zxid":0.08333333333333333,"of":0.08333333333333333,"change":0.08333333333333333,"that":0.08333333333333333,"caused":0.08333333333333333,"this":0.08333333333333333,"znode":0.08333333333333333,"to":0.08333333333333333,"be":0.08333333333333333,"created":0.08333333333333333},"1332":{"mzxid":0.1,"the":0.1,"zxid":0.1,"of":0.1,"change":0.1,"that":0.1,"last":0.1,"modified":0.1,"this":0.1,"znode":0.1},"1333":{"pzxid":0.09090909090909091,"the":0.09090909090909091,"zxid":0.09090909090909091,"of":0.09090909090909091,"change":0.09090909090909091,"that":0.09090909090909091,"last":0.09090909090909091,"modified":0.09090909090909091,"children":0.09090909090909091,"this":0.09090909090909091,"znode":0.09090909090909091},"1334":{"ctime":0.08333333333333333,"the":0.08333333333333333,"time":0.08333333333333333,"in":0.08333333333333333,"milliseconds":0.08333333333333333,"from":0.08333333333333333,"epoch":0.08333333333333333,"when":0.08333333333333333,"this":0.08333333333333333,"znode":0.08333333333333333,"was":0.08333333333333333,"created":0.08333333333333333},"1335":{"mtime":0.07692307692307693,"the":0.07692307692307693,"time":0.07692307692307693,"in":0.07692307692307693,"milliseconds":0.07692307692307693,"from":0.07692307692307693,"epoch":0.07692307692307693,"when":0.07692307692307693,"this":0.07692307692307693,"znode":0.07692307692307693,"was":0.07692307692307693,"last":0.07692307692307693,"modified":0.07692307692307693},"1336":{"version":0.1111111111111111,"the":0.1111111111111111,"number":0.1111111111111111,"of":0.1111111111111111,"changes":0.1111111111111111,"to":0.1111111111111111,"data":0.1111111111111111,"this":0.1111111111111111,"znode":0.1111111111111111},"1337":{"cversion":0.1111111111111111,"the":0.1111111111111111,"number":0.1111111111111111,"of":0.1111111111111111,"changes":0.1111111111111111,"to":0.1111111111111111,"children":0.1111111111111111,"this":0.1111111111111111,"znode":0.1111111111111111},"1338":{"aversion":0.1111111111111111,"the":0.1111111111111111,"number":0.1111111111111111,"of":0.1111111111111111,"changes":0.1111111111111111,"to":0.1111111111111111,"acl":0.1111111111111111,"this":0.1111111111111111,"znode":0.1111111111111111},"1339":{"ephemeralowner":0.05555555555555555,"the":0.05555555555555555,"session":0.05555555555555555,"id":0.05555555555555555,"of":0.05555555555555555,"owner":0.05555555555555555,"this":0.05555555555555555,"znode":0.05555555555555555,"if":0.05555555555555555,"is":0.05555555555555555,"an":0.05555555555555555,"ephemeral":0.05555555555555555,"node":0.05555555555555555,"it":0.05555555555555555,"not":0.05555555555555555,"will":0.05555555555555555,"be":0.05555555555555555,"zero":0.05555555555555555},"1340":{"datalength":0.125,"the":0.125,"length":0.125,"of":0.125,"data":0.125,"field":0.125,"this":0.125,"znode":0.125},"1341":{"numchildren":0.14285714285714285,"the":0.14285714285714285,"number":0.14285714285714285,"of":0.14285714285714285,"children":0.14285714285714285,"this":0.14285714285714285,"znode":0.14285714285714285},"1342":{"gotchas":0.2,"common":0.2,"problems":0.2,"and":0.2,"troubleshooting":0.2},"1343":{"common":0.05555555555555555,"pitfalls":0.05555555555555555,"and":0.05555555555555555,"troubleshooting":0.05555555555555555,"tips":0.05555555555555555,"for":0.05555555555555555,"zookeeper":0.05555555555555555,"application":0.05555555555555555,"developers":0.05555555555555555,"covering":0.05555555555555555,"watches":0.05555555555555555,"server":0.05555555555555555,"failures":0.05555555555555555,"connection":0.05555555555555555,"loss":0.05555555555555555,"performance":0.05555555555555555,"recoverable":0.05555555555555555,"errors":0.05555555555555555},"1344":{"so":0.043478260869565216,"now":0.043478260869565216,"you":0.043478260869565216,"know":0.043478260869565216,"zookeeper":0.043478260869565216,"it's":0.043478260869565216,"fast":0.043478260869565216,"simple":0.043478260869565216,"your":0.043478260869565216,"application":0.043478260869565216,"works":0.043478260869565216,"but":0.043478260869565216,"wait":0.043478260869565216,"something's":0.043478260869565216,"wrong":0.043478260869565216,"here":0.043478260869565216,"are":0.043478260869565216,"some":0.043478260869565216,"pitfalls":0.043478260869565216,"that":0.043478260869565216,"users":0.043478260869565216,"fall":0.043478260869565216,"into":0.043478260869565216},"1345":{"if":0.025,"you":0.025,"are":0.025,"using":0.025,"watches":0.025,"must":0.025,"look":0.025,"for":0.025,"the":0.025,"connected":0.025,"watch":0.025,"event":0.025,"when":0.025,"a":0.025,"zookeeper":0.025,"client":0.025,"disconnects":0.025,"from":0.025,"server":0.025,"will":0.025,"not":0.025,"receive":0.025,"notification":0.025,"of":0.025,"changes":0.025,"until":0.025,"reconnected":0.025,"watching":0.025,"znode":0.025,"to":0.025,"come":0.025,"into":0.025,"existence":0.025,"miss":0.025,"is":0.025,"created":0.025,"and":0.025,"deleted":0.025,"while":0.025,"disconnected":0.025},"1346":{"you":0.013513513513513514,"must":0.013513513513513514,"test":0.013513513513513514,"zookeeper":0.013513513513513514,"server":0.013513513513513514,"failures":0.013513513513513514,"the":0.013513513513513514,"service":0.013513513513513514,"can":0.013513513513513514,"survive":0.013513513513513514,"as":0.013513513513513514,"long":0.013513513513513514,"a":0.013513513513513514,"majority":0.013513513513513514,"of":0.013513513513513514,"servers":0.013513513513513514,"are":0.013513513513513514,"active":0.013513513513513514,"question":0.013513513513513514,"to":0.013513513513513514,"ask":0.013513513513513514,"is":0.013513513513513514,"your":0.013513513513513514,"application":0.013513513513513514,"handle":0.013513513513513514,"it":0.013513513513513514,"in":0.013513513513513514,"real":0.013513513513513514,"world":0.013513513513513514,"client's":0.013513513513513514,"connection":0.013513513513513514,"break":0.013513513513513514,"and":0.013513513513513514,"network":0.013513513513513514,"partitions":0.013513513513513514,"common":0.013513513513513514,"reasons":0.013513513513513514,"for":0.013513513513513514,"loss":0.013513513513513514,"client":0.013513513513513514,"library":0.013513513513513514,"takes":0.013513513513513514,"care":0.013513513513513514,"recovering":0.013513513513513514,"letting":0.013513513513513514,"know":0.013513513513513514,"what":0.013513513513513514,"happened":0.013513513513513514,"but":0.013513513513513514,"make":0.013513513513513514,"sure":0.013513513513513514,"that":0.013513513513513514,"recover":0.013513513513513514,"state":0.013513513513513514,"any":0.013513513513513514,"outstanding":0.013513513513513514,"requests":0.013513513513513514,"failed":0.013513513513513514,"find":0.013513513513513514,"out":0.013513513513513514,"if":0.013513513513513514,"got":0.013513513513513514,"right":0.013513513513513514,"lab":0.013513513513513514,"not":0.013513513513513514,"production":0.013513513513513514,"-":0.013513513513513514,"with":0.013513513513513514,"made":0.013513513513513514,"up":0.013513513513513514,"several":0.013513513513513514,"subject":0.013513513513513514,"them":0.013513513513513514,"reboots":0.013513513513513514},"1347":{"the":0.034482758620689655,"list":0.034482758620689655,"of":0.034482758620689655,"zookeeper":0.034482758620689655,"servers":0.034482758620689655,"used":0.034482758620689655,"by":0.034482758620689655,"client":0.034482758620689655,"must":0.034482758620689655,"match":0.034482758620689655,"that":0.034482758620689655,"each":0.034482758620689655,"server":0.034482758620689655,"has":0.034482758620689655,"things":0.034482758620689655,"can":0.034482758620689655,"work":0.034482758620689655,"although":0.034482758620689655,"not":0.034482758620689655,"optimally":0.034482758620689655,"if":0.034482758620689655,"is":0.034482758620689655,"a":0.034482758620689655,"subset":0.034482758620689655,"real":0.034482758620689655,"but":0.034482758620689655,"lists":0.034482758620689655,"in":0.034482758620689655,"cluster":0.034482758620689655},"1348":{"be":0.018518518518518517,"careful":0.018518518518518517,"where":0.018518518518518517,"you":0.018518518518518517,"put":0.018518518518518517,"that":0.018518518518518517,"transaction":0.018518518518518517,"log":0.018518518518518517,"the":0.018518518518518517,"most":0.018518518518518517,"performance-critical":0.018518518518518517,"part":0.018518518518518517,"of":0.018518518518518517,"zookeeper":0.018518518518518517,"is":0.018518518518518517,"must":0.018518518518518517,"sync":0.018518518518518517,"transactions":0.018518518518518517,"to":0.018518518518518517,"media":0.018518518518518517,"before":0.018518518518518517,"it":0.018518518518518517,"returns":0.018518518518518517,"a":0.018518518518518517,"response":0.018518518518518517,"dedicated":0.018518518518518517,"device":0.018518518518518517,"key":0.018518518518518517,"consistent":0.018518518518518517,"good":0.018518518518518517,"performance":0.018518518518518517,"putting":0.018518518518518517,"on":0.018518518518518517,"busy":0.018518518518518517,"will":0.018518518518518517,"adversely":0.018518518518518517,"effect":0.018518518518518517,"if":0.018518518518518517,"only":0.018518518518518517,"have":0.018518518518518517,"one":0.018518518518518517,"storage":0.018518518518518517,"trace":0.018518518518518517,"files":0.018518518518518517,"nfs":0.018518518518518517,"and":0.018518518518518517,"increase":0.018518518518518517,"snapshotcount":0.018518518518518517,"doesn't":0.018518518518518517,"eliminate":0.018518518518518517,"problem":0.018518518518518517,"but":0.018518518518518517,"can":0.018518518518518517,"mitigate":0.018518518518518517},"1349":{"set":0.011494252873563218,"your":0.011494252873563218,"java":0.011494252873563218,"max":0.011494252873563218,"heap":0.011494252873563218,"size":0.011494252873563218,"correctly":0.011494252873563218,"it":0.011494252873563218,"is":0.011494252873563218,"very":0.011494252873563218,"important":0.011494252873563218,"to":0.011494252873563218,"avoid":0.011494252873563218,"swapping":0.011494252873563218,"going":0.011494252873563218,"disk":0.011494252873563218,"unnecessarily":0.011494252873563218,"will":0.011494252873563218,"almost":0.011494252873563218,"certainly":0.011494252873563218,"degrade":0.011494252873563218,"performance":0.011494252873563218,"unacceptably":0.011494252873563218,"remember":0.011494252873563218,"in":0.011494252873563218,"zookeeper":0.011494252873563218,"everything":0.011494252873563218,"ordered":0.011494252873563218,"so":0.011494252873563218,"if":0.011494252873563218,"one":0.011494252873563218,"request":0.011494252873563218,"hits":0.011494252873563218,"the":0.011494252873563218,"all":0.011494252873563218,"other":0.011494252873563218,"queued":0.011494252873563218,"requests":0.011494252873563218,"hit":0.011494252873563218,"try":0.011494252873563218,"heapsize":0.011494252873563218,"amount":0.011494252873563218,"of":0.011494252873563218,"physical":0.011494252873563218,"memory":0.011494252873563218,"you":0.011494252873563218,"have":0.011494252873563218,"minus":0.011494252873563218,"needed":0.011494252873563218,"by":0.011494252873563218,"os":0.011494252873563218,"and":0.011494252873563218,"cache":0.011494252873563218,"best":0.011494252873563218,"way":0.011494252873563218,"determine":0.011494252873563218,"an":0.011494252873563218,"optimal":0.011494252873563218,"for":0.011494252873563218,"configurations":0.011494252873563218,"run":0.011494252873563218,"load":0.011494252873563218,"tests":0.011494252873563218,"some":0.011494252873563218,"reason":0.011494252873563218,"can't":0.011494252873563218,"be":0.011494252873563218,"conservative":0.011494252873563218,"estimates":0.011494252873563218,"choose":0.011494252873563218,"a":0.011494252873563218,"number":0.011494252873563218,"well":0.011494252873563218,"below":0.011494252873563218,"limit":0.011494252873563218,"that":0.011494252873563218,"would":0.011494252873563218,"cause":0.011494252873563218,"machine":0.011494252873563218,"swap":0.011494252873563218,"example":0.011494252873563218,"on":0.011494252873563218,"4g":0.011494252873563218,"3g":0.011494252873563218,"estimate":0.011494252873563218,"start":0.011494252873563218,"with":0.011494252873563218},"1350":{"programmer's":0.5,"guide":0.5},"1351":{"this":0.04,"document":0.04,"is":0.04,"a":0.04,"guide":0.04,"for":0.04,"developers":0.04,"wishing":0.04,"to":0.04,"create":0.04,"distributed":0.04,"applications":0.04,"that":0.04,"take":0.04,"advantage":0.04,"of":0.04,"zookeeper's":0.04,"coordination":0.04,"services":0.04,"it":0.04,"contains":0.04,"conceptual":0.04,"and":0.04,"practical":0.04,"information":0.04},"1352":{"links":0.25,"to":0.25,"other":0.25,"information":0.25},"1353":{"the":0.023809523809523808,"first":0.023809523809523808,"four":0.023809523809523808,"sections":0.023809523809523808,"of":0.023809523809523808,"this":0.023809523809523808,"guide":0.023809523809523808,"present":0.023809523809523808,"a":0.023809523809523808,"higher":0.023809523809523808,"level":0.023809523809523808,"discussions":0.023809523809523808,"various":0.023809523809523808,"zookeeper":0.023809523809523808,"concepts":0.023809523809523808,"these":0.023809523809523808,"are":0.023809523809523808,"necessary":0.023809523809523808,"both":0.023809523809523808,"for":0.023809523809523808,"an":0.023809523809523808,"understanding":0.023809523809523808,"how":0.023809523809523808,"works":0.023809523809523808,"as":0.023809523809523808,"well":0.023809523809523808,"to":0.023809523809523808,"work":0.023809523809523808,"with":0.023809523809523808,"it":0.023809523809523808,"does":0.023809523809523808,"not":0.023809523809523808,"contain":0.023809523809523808,"source":0.023809523809523808,"code":0.023809523809523808,"but":0.023809523809523808,"assume":0.023809523809523808,"familiarity":0.023809523809523808,"problems":0.023809523809523808,"associated":0.023809523809523808,"distributed":0.023809523809523808,"computing":0.023809523809523808},"1354":{"the":0.125,"next":0.125,"four":0.125,"sections":0.125,"provide":0.125,"practical":0.125,"programming":0.125,"information":0.125},"1355":{"most":0.027777777777777776,"of":0.027777777777777776,"the":0.027777777777777776,"information":0.027777777777777776,"in":0.027777777777777776,"this":0.027777777777777776,"document":0.027777777777777776,"is":0.027777777777777776,"written":0.027777777777777776,"to":0.027777777777777776,"be":0.027777777777777776,"accessible":0.027777777777777776,"as":0.027777777777777776,"stand-alone":0.027777777777777776,"reference":0.027777777777777776,"material":0.027777777777777776,"however":0.027777777777777776,"before":0.027777777777777776,"starting":0.027777777777777776,"your":0.027777777777777776,"first":0.027777777777777776,"zookeeper":0.027777777777777776,"application":0.027777777777777776,"you":0.027777777777777776,"should":0.027777777777777776,"probably":0.027777777777777776,"at":0.027777777777777776,"least":0.027777777777777776,"read":0.027777777777777776,"chapters":0.027777777777777776,"on":0.027777777777777776,"data":0.027777777777777776,"model":0.027777777777777776,"and":0.027777777777777776,"basic":0.027777777777777776,"operations":0.027777777777777776},"1356":{"outside":0.07692307692307693,"the":0.07692307692307693,"formal":0.07692307692307693,"documentation":0.07692307692307693,"there're":0.07692307692307693,"several":0.07692307692307693,"other":0.07692307692307693,"sources":0.07692307692307693,"of":0.07692307692307693,"information":0.07692307692307693,"for":0.07692307692307693,"zookeeper":0.07692307692307693,"developers":0.07692307692307693},"1357":{"api":0.16666666666666666,"reference":0.16666666666666666,"the":0.16666666666666666,"complete":0.16666666666666666,"to":0.16666666666666666,"zookeeper":0.16666666666666666},"1358":{"2008":0.058823529411764705,"zookeeper":0.058823529411764705,"talk":0.058823529411764705,"at":0.058823529411764705,"the":0.058823529411764705,"hadoop":0.058823529411764705,"summit":0.058823529411764705,"a":0.058823529411764705,"video":0.058823529411764705,"introduction":0.058823529411764705,"to":0.058823529411764705,"by":0.058823529411764705,"benjamin":0.058823529411764705,"reed":0.058823529411764705,"of":0.058823529411764705,"yahoo":0.058823529411764705,"research":0.058823529411764705},"1359":{"barrier":0.058823529411764705,"and":0.058823529411764705,"queue":0.058823529411764705,"tutorial":0.058823529411764705,"the":0.058823529411764705,"excellent":0.058823529411764705,"java":0.058823529411764705,"by":0.058823529411764705,"flavio":0.058823529411764705,"junqueira":0.058823529411764705,"implementing":0.058823529411764705,"simple":0.058823529411764705,"barriers":0.058823529411764705,"producer-consumer":0.058823529411764705,"queues":0.058823529411764705,"using":0.058823529411764705,"zookeeper":0.058823529411764705},"1360":{"15":0.0625,"2008":0.0625,"zookeeper":0.0625,"-":0.0625,"a":0.0625,"reliable":0.0625,"scalable":0.0625,"distributed":0.0625,"coordination":0.0625,"system":0.0625,"an":0.0625,"article":0.0625,"by":0.0625,"todd":0.0625,"hoff":0.0625,"07":0.0625},"1361":{"zookeeper":0.05555555555555555,"recipes":0.05555555555555555,"pseudo-level":0.05555555555555555,"discussion":0.05555555555555555,"of":0.05555555555555555,"the":0.05555555555555555,"implementation":0.05555555555555555,"various":0.05555555555555555,"synchronization":0.05555555555555555,"solutions":0.05555555555555555,"with":0.05555555555555555,"event":0.05555555555555555,"handles":0.05555555555555555,"queues":0.05555555555555555,"locks":0.05555555555555555,"and":0.05555555555555555,"two-phase":0.05555555555555555,"commits":0.05555555555555555},"1362":{"pluggable":0.5,"authentication":0.5},"1363":{"describes":0.05555555555555555,"zookeeper's":0.05555555555555555,"pluggable":0.05555555555555555,"authentication":0.05555555555555555,"framework":0.05555555555555555,"how":0.05555555555555555,"plugins":0.05555555555555555,"authenticate":0.05555555555555555,"clients":0.05555555555555555,"and":0.05555555555555555,"match":0.05555555555555555,"acl":0.05555555555555555,"entries":0.05555555555555555,"to":0.05555555555555555,"add":0.05555555555555555,"a":0.05555555555555555,"custom":0.05555555555555555,"scheme":0.05555555555555555},"1364":{"zookeeper":0.045454545454545456,"runs":0.045454545454545456,"in":0.045454545454545456,"a":0.045454545454545456,"variety":0.045454545454545456,"of":0.045454545454545456,"different":0.045454545454545456,"environments":0.045454545454545456,"with":0.045454545454545456,"various":0.045454545454545456,"authentication":0.045454545454545456,"schemes":0.045454545454545456,"so":0.045454545454545456,"it":0.045454545454545456,"has":0.045454545454545456,"completely":0.045454545454545456,"pluggable":0.045454545454545456,"framework":0.045454545454545456,"even":0.045454545454545456,"the":0.045454545454545456,"builtin":0.045454545454545456,"use":0.045454545454545456},"1365":{"to":0.014492753623188406,"understand":0.014492753623188406,"how":0.014492753623188406,"the":0.014492753623188406,"authentication":0.014492753623188406,"framework":0.014492753623188406,"works":0.014492753623188406,"first":0.014492753623188406,"you":0.014492753623188406,"must":0.014492753623188406,"two":0.014492753623188406,"main":0.014492753623188406,"operations":0.014492753623188406,"authenticate":0.014492753623188406,"client":0.014492753623188406,"this":0.014492753623188406,"is":0.014492753623188406,"usually":0.014492753623188406,"done":0.014492753623188406,"as":0.014492753623188406,"soon":0.014492753623188406,"connects":0.014492753623188406,"a":0.014492753623188406,"server":0.014492753623188406,"and":0.014492753623188406,"consists":0.014492753623188406,"of":0.014492753623188406,"validating":0.014492753623188406,"information":0.014492753623188406,"sent":0.014492753623188406,"from":0.014492753623188406,"or":0.014492753623188406,"gathered":0.014492753623188406,"about":0.014492753623188406,"associating":0.014492753623188406,"it":0.014492753623188406,"with":0.014492753623188406,"connection":0.014492753623188406,"second":0.014492753623188406,"operation":0.014492753623188406,"handled":0.014492753623188406,"by":0.014492753623188406,"finding":0.014492753623188406,"entries":0.014492753623188406,"in":0.014492753623188406,"an":0.014492753623188406,"acl":0.014492753623188406,"that":0.014492753623188406,"correspond":0.014492753623188406,"are":0.014492753623188406,"idspec":0.014492753623188406,"permissions":0.014492753623188406,"pairs":0.014492753623188406,"may":0.014492753623188406,"be":0.014492753623188406,"simple":0.014492753623188406,"string":0.014492753623188406,"match":0.014492753623188406,"against":0.014492753623188406,"associated":0.014492753623188406,"expression":0.014492753623188406,"evaluated":0.014492753623188406,"up":0.014492753623188406,"implementation":0.014492753623188406,"plugin":0.014492753623188406,"do":0.014492753623188406,"here":0.014492753623188406,"interface":0.014492753623188406,"implement":0.014492753623188406},"1366":{"the":0.027777777777777776,"first":0.027777777777777776,"method":0.027777777777777776,"getscheme":0.027777777777777776,"returns":0.027777777777777776,"string":0.027777777777777776,"that":0.027777777777777776,"identifies":0.027777777777777776,"plugin":0.027777777777777776,"because":0.027777777777777776,"we":0.027777777777777776,"support":0.027777777777777776,"multiple":0.027777777777777776,"methods":0.027777777777777776,"of":0.027777777777777776,"authentication":0.027777777777777776,"an":0.027777777777777776,"credential":0.027777777777777776,"or":0.027777777777777776,"idspec":0.027777777777777776,"will":0.027777777777777776,"always":0.027777777777777776,"be":0.027777777777777776,"prefixed":0.027777777777777776,"with":0.027777777777777776,"scheme":0.027777777777777776,"zookeeper":0.027777777777777776,"server":0.027777777777777776,"uses":0.027777777777777776,"returned":0.027777777777777776,"by":0.027777777777777776,"to":0.027777777777777776,"determine":0.027777777777777776,"which":0.027777777777777776,"ids":0.027777777777777776,"applies":0.027777777777777776},"1367":{"handleauthentication":0.02040816326530612,"is":0.02040816326530612,"called":0.02040816326530612,"when":0.02040816326530612,"a":0.02040816326530612,"client":0.02040816326530612,"sends":0.02040816326530612,"authentication":0.02040816326530612,"information":0.02040816326530612,"to":0.02040816326530612,"be":0.02040816326530612,"associated":0.02040816326530612,"with":0.02040816326530612,"connection":0.02040816326530612,"the":0.02040816326530612,"specifies":0.02040816326530612,"scheme":0.02040816326530612,"which":0.02040816326530612,"corresponds":0.02040816326530612,"zookeeper":0.02040816326530612,"server":0.02040816326530612,"passes":0.02040816326530612,"plugin":0.02040816326530612,"whose":0.02040816326530612,"getscheme":0.02040816326530612,"matches":0.02040816326530612,"passed":0.02040816326530612,"by":0.02040816326530612,"implementor":0.02040816326530612,"of":0.02040816326530612,"will":0.02040816326530612,"usually":0.02040816326530612,"return":0.02040816326530612,"an":0.02040816326530612,"error":0.02040816326530612,"if":0.02040816326530612,"it":0.02040816326530612,"determines":0.02040816326530612,"that":0.02040816326530612,"bad":0.02040816326530612,"or":0.02040816326530612,"associate":0.02040816326530612,"using":0.02040816326530612,"cnxn":0.02040816326530612,"getauthinfo":0.02040816326530612,"add":0.02040816326530612,"new":0.02040816326530612,"id":0.02040816326530612,"data":0.02040816326530612},"1368":{"0":0.014084507042253521,"16":0.014084507042253521,"172":0.014084507042253521,"the":0.014084507042253521,"authentication":0.014084507042253521,"plugin":0.014084507042253521,"is":0.014084507042253521,"involved":0.014084507042253521,"in":0.014084507042253521,"both":0.014084507042253521,"setting":0.014084507042253521,"and":0.014084507042253521,"using":0.014084507042253521,"acls":0.014084507042253521,"when":0.014084507042253521,"an":0.014084507042253521,"acl":0.014084507042253521,"set":0.014084507042253521,"for":0.014084507042253521,"a":0.014084507042253521,"znode":0.014084507042253521,"zookeeper":0.014084507042253521,"server":0.014084507042253521,"will":0.014084507042253521,"pass":0.014084507042253521,"id":0.014084507042253521,"part":0.014084507042253521,"of":0.014084507042253521,"entry":0.014084507042253521,"to":0.014084507042253521,"isvalid":0.014084507042253521,"string":0.014084507042253521,"method":0.014084507042253521,"it":0.014084507042253521,"up":0.014084507042253521,"verify":0.014084507042253521,"that":0.014084507042253521,"has":0.014084507042253521,"correct":0.014084507042253521,"form":0.014084507042253521,"example":0.014084507042253521,"ip":0.014084507042253521,"valid":0.014084507042253521,"but":0.014084507042253521,"host":0.014084507042253521,"com":0.014084507042253521,"not":0.014084507042253521,"if":0.014084507042253521,"new":0.014084507042253521,"includes":0.014084507042253521,"auth":0.014084507042253521,"isauthenticated":0.014084507042253521,"used":0.014084507042253521,"see":0.014084507042253521,"information":0.014084507042253521,"this":0.014084507042253521,"scheme":0.014084507042253521,"associated":0.014084507042253521,"with":0.014084507042253521,"connection":0.014084507042253521,"should":0.014084507042253521,"be":0.014084507042253521,"added":0.014084507042253521,"some":0.014084507042253521,"schemes":0.014084507042253521,"included":0.014084507042253521,"address":0.014084507042253521,"client":0.014084507042253521,"considered":0.014084507042253521,"as":0.014084507042253521,"specified":0.014084507042253521},"1369":{"zookeeper":0.017857142857142856,"invokes":0.017857142857142856,"matches":0.017857142857142856,"string":0.017857142857142856,"id":0.017857142857142856,"aclexpr":0.017857142857142856,"when":0.017857142857142856,"checking":0.017857142857142856,"an":0.017857142857142856,"acl":0.017857142857142856,"it":0.017857142857142856,"needs":0.017857142857142856,"to":0.017857142857142856,"match":0.017857142857142856,"authentication":0.017857142857142856,"information":0.017857142857142856,"of":0.017857142857142856,"the":0.017857142857142856,"client":0.017857142857142856,"against":0.017857142857142856,"relevant":0.017857142857142856,"entries":0.017857142857142856,"find":0.017857142857142856,"which":0.017857142857142856,"apply":0.017857142857142856,"server":0.017857142857142856,"will":0.017857142857142856,"scheme":0.017857142857142856,"each":0.017857142857142856,"entry":0.017857142857142856,"and":0.017857142857142856,"if":0.017857142857142856,"there":0.017857142857142856,"is":0.017857142857142856,"from":0.017857142857142856,"that":0.017857142857142856,"for":0.017857142857142856,"be":0.017857142857142856,"called":0.017857142857142856,"with":0.017857142857142856,"set":0.017857142857142856,"was":0.017857142857142856,"previously":0.017857142857142856,"added":0.017857142857142856,"connection":0.017857142857142856,"by":0.017857142857142856,"handleauthentication":0.017857142857142856,"plugin":0.017857142857142856,"uses":0.017857142857142856,"its":0.017857142857142856,"own":0.017857142857142856,"logic":0.017857142857142856,"matching":0.017857142857142856,"determine":0.017857142857142856,"included":0.017857142857142856,"in":0.017857142857142856},"1370":{"there":0.0196078431372549,"are":0.0196078431372549,"two":0.0196078431372549,"built":0.0196078431372549,"in":0.0196078431372549,"authentication":0.0196078431372549,"plugins":0.0196078431372549,"ip":0.0196078431372549,"and":0.0196078431372549,"digest":0.0196078431372549,"additional":0.0196078431372549,"can":0.0196078431372549,"adding":0.0196078431372549,"using":0.0196078431372549,"system":0.0196078431372549,"properties":0.0196078431372549,"at":0.0196078431372549,"startup":0.0196078431372549,"the":0.0196078431372549,"zookeeper":0.0196078431372549,"server":0.0196078431372549,"will":0.0196078431372549,"look":0.0196078431372549,"for":0.0196078431372549,"that":0.0196078431372549,"start":0.0196078431372549,"with":0.0196078431372549,"authprovider":0.0196078431372549,"interpret":0.0196078431372549,"value":0.0196078431372549,"of":0.0196078431372549,"those":0.0196078431372549,"as":0.0196078431372549,"class":0.0196078431372549,"name":0.0196078431372549,"an":0.0196078431372549,"plugin":0.0196078431372549,"these":0.0196078431372549,"be":0.0196078431372549,"set":0.0196078431372549,"-dzookeeper":0.0196078431372549,"x":0.0196078431372549,"com":0.0196078431372549,"f":0.0196078431372549,"myauth":0.0196078431372549,"or":0.0196078431372549,"entries":0.0196078431372549,"such":0.0196078431372549,"following":0.0196078431372549,"configuration":0.0196078431372549,"file":0.0196078431372549},"1371":{"care":0.020833333333333332,"should":0.020833333333333332,"be":0.020833333333333332,"taking":0.020833333333333332,"to":0.020833333333333332,"ensure":0.020833333333333332,"that":0.020833333333333332,"the":0.020833333333333332,"suffix":0.020833333333333332,"on":0.020833333333333332,"property":0.020833333333333332,"is":0.020833333333333332,"unique":0.020833333333333332,"if":0.020833333333333332,"there":0.020833333333333332,"are":0.020833333333333332,"duplicates":0.020833333333333332,"such":0.020833333333333332,"as":0.020833333333333332,"-dzookeeper":0.020833333333333332,"authprovider":0.020833333333333332,"x":0.020833333333333332,"com":0.020833333333333332,"f":0.020833333333333332,"myauth":0.020833333333333332,"myauth2":0.020833333333333332,"only":0.020833333333333332,"one":0.020833333333333332,"will":0.020833333333333332,"used":0.020833333333333332,"also":0.020833333333333332,"all":0.020833333333333332,"servers":0.020833333333333332,"must":0.020833333333333332,"have":0.020833333333333332,"same":0.020833333333333332,"plugins":0.020833333333333332,"defined":0.020833333333333332,"otherwise":0.020833333333333332,"clients":0.020833333333333332,"using":0.020833333333333332,"authentication":0.020833333333333332,"schemes":0.020833333333333332,"provided":0.020833333333333332,"by":0.020833333333333332,"problems":0.020833333333333332,"connecting":0.020833333333333332,"some":0.020833333333333332},"1372":{"0":0.058823529411764705,"3":0.058823529411764705,"6":0.058823529411764705,"added":0.058823529411764705,"in":0.058823529411764705,"an":0.058823529411764705,"alternate":0.058823529411764705,"abstraction":0.058823529411764705,"is":0.058823529411764705,"available":0.058823529411764705,"for":0.058823529411764705,"pluggable":0.058823529411764705,"authentication":0.058823529411764705,"it":0.058823529411764705,"provides":0.058823529411764705,"additional":0.058823529411764705,"arguments":0.058823529411764705},"1373":{"instead":0.047619047619047616,"of":0.047619047619047616,"implementing":0.047619047619047616,"authenticationprovider":0.047619047619047616,"you":0.047619047619047616,"extend":0.047619047619047616,"serverauthenticationprovider":0.047619047619047616,"your":0.047619047619047616,"handleauthentication":0.047619047619047616,"and":0.047619047619047616,"matches":0.047619047619047616,"methods":0.047619047619047616,"will":0.047619047619047616,"then":0.047619047619047616,"receive":0.047619047619047616,"the":0.047619047619047616,"additional":0.047619047619047616,"parameters":0.047619047619047616,"via":0.047619047619047616,"serverobjs":0.047619047619047616,"matchvalues":0.047619047619047616},"1374":{"zookeeperserver":0.3333333333333333,"the":0.3333333333333333,"instance":0.3333333333333333},"1375":{"servercnxn":0.25,"the":0.25,"current":0.25,"connection":0.25},"1376":{"path":0.09090909090909091,"the":0.09090909090909091,"znode":0.09090909090909091,"being":0.09090909090909091,"operated":0.09090909090909091,"on":0.09090909090909091,"or":0.09090909090909091,"null":0.09090909090909091,"if":0.09090909090909091,"not":0.09090909090909091,"used":0.09090909090909091},"1377":{"0":0.16666666666666666,"perm":0.16666666666666666,"the":0.16666666666666666,"operation":0.16666666666666666,"value":0.16666666666666666,"or":0.16666666666666666},"1378":{"setacls":0.06666666666666667,"when":0.06666666666666667,"the":0.06666666666666667,"setacl":0.06666666666666667,"method":0.06666666666666667,"is":0.06666666666666667,"being":0.06666666666666667,"operated":0.06666666666666667,"on":0.06666666666666667,"list":0.06666666666666667,"of":0.06666666666666667,"acls":0.06666666666666667,"that":0.06666666666666667,"are":0.06666666666666667,"set":0.06666666666666667},"1379":{"sessions":1},"1380":{"covers":0.05555555555555555,"zookeeper":0.05555555555555555,"client":0.05555555555555555,"sessions":0.05555555555555555,"connection":0.05555555555555555,"states":0.05555555555555555,"session":0.05555555555555555,"timeouts":0.05555555555555555,"expiration":0.05555555555555555,"password-based":0.05555555555555555,"recovery":0.05555555555555555,"and":0.05555555555555555,"how":0.05555555555555555,"clients":0.05555555555555555,"connect":0.05555555555555555,"to":0.05555555555555555,"a":0.05555555555555555,"ensemble":0.05555555555555555},"1381":{"q":0.3333333333333333,"a":0.3333333333333333,"toc":0.3333333333333333},"1382":{"a":0.014925373134328358,"zookeeper":0.014925373134328358,"client":0.014925373134328358,"establishes":0.014925373134328358,"session":0.014925373134328358,"with":0.014925373134328358,"the":0.014925373134328358,"service":0.014925373134328358,"by":0.014925373134328358,"creating":0.014925373134328358,"handle":0.014925373134328358,"to":0.014925373134328358,"using":0.014925373134328358,"language":0.014925373134328358,"binding":0.014925373134328358,"once":0.014925373134328358,"created":0.014925373134328358,"starts":0.014925373134328358,"off":0.014925373134328358,"in":0.014925373134328358,"connecting":0.014925373134328358,"state":0.014925373134328358,"and":0.014925373134328358,"library":0.014925373134328358,"tries":0.014925373134328358,"connect":0.014925373134328358,"one":0.014925373134328358,"of":0.014925373134328358,"servers":0.014925373134328358,"that":0.014925373134328358,"make":0.014925373134328358,"up":0.014925373134328358,"at":0.014925373134328358,"which":0.014925373134328358,"point":0.014925373134328358,"it":0.014925373134328358,"switches":0.014925373134328358,"connected":0.014925373134328358,"during":0.014925373134328358,"normal":0.014925373134328358,"operation":0.014925373134328358,"will":0.014925373134328358,"be":0.014925373134328358,"these":0.014925373134328358,"two":0.014925373134328358,"states":0.014925373134328358,"if":0.014925373134328358,"an":0.014925373134328358,"unrecoverable":0.014925373134328358,"error":0.014925373134328358,"occurs":0.014925373134328358,"such":0.014925373134328358,"as":0.014925373134328358,"expiration":0.014925373134328358,"or":0.014925373134328358,"authentication":0.014925373134328358,"failure":0.014925373134328358,"application":0.014925373134328358,"explicitly":0.014925373134328358,"closes":0.014925373134328358,"move":0.014925373134328358,"closed":0.014925373134328358,"following":0.014925373134328358,"figure":0.014925373134328358,"shows":0.014925373134328358,"possible":0.014925373134328358,"transitions":0.014925373134328358},"1383":{"0":0.01694915254237288,"1":0.01694915254237288,"127":0.01694915254237288,"3000":0.01694915254237288,"3001":0.01694915254237288,"3002":0.01694915254237288,"4545":0.01694915254237288,"to":0.01694915254237288,"create":0.01694915254237288,"a":0.01694915254237288,"client":0.01694915254237288,"session":0.01694915254237288,"the":0.01694915254237288,"application":0.01694915254237288,"code":0.01694915254237288,"must":0.01694915254237288,"provide":0.01694915254237288,"connection":0.01694915254237288,"string":0.01694915254237288,"containing":0.01694915254237288,"comma":0.01694915254237288,"separated":0.01694915254237288,"list":0.01694915254237288,"of":0.01694915254237288,"host":0.01694915254237288,"port":0.01694915254237288,"pairs":0.01694915254237288,"each":0.01694915254237288,"corresponding":0.01694915254237288,"zookeeper":0.01694915254237288,"server":0.01694915254237288,"e":0.01694915254237288,"g":0.01694915254237288,"or":0.01694915254237288,"library":0.01694915254237288,"will":0.01694915254237288,"pick":0.01694915254237288,"an":0.01694915254237288,"arbitrary":0.01694915254237288,"and":0.01694915254237288,"try":0.01694915254237288,"connect":0.01694915254237288,"it":0.01694915254237288,"if":0.01694915254237288,"this":0.01694915254237288,"fails":0.01694915254237288,"becomes":0.01694915254237288,"disconnected":0.01694915254237288,"from":0.01694915254237288,"for":0.01694915254237288,"any":0.01694915254237288,"reason":0.01694915254237288,"automatically":0.01694915254237288,"next":0.01694915254237288,"in":0.01694915254237288,"until":0.01694915254237288,"is":0.01694915254237288,"re-":0.01694915254237288,"established":0.01694915254237288},"1384":{"0":0.010416666666666666,"1":0.010416666666666666,"2":0.010416666666666666,"3":0.010416666666666666,"127":0.010416666666666666,"3000":0.010416666666666666,"3001":0.010416666666666666,"3002":0.010416666666666666,"4545":0.010416666666666666,"added":0.010416666666666666,"in":0.010416666666666666,"an":0.010416666666666666,"optional":0.010416666666666666,"chroot":0.010416666666666666,"suffix":0.010416666666666666,"may":0.010416666666666666,"also":0.010416666666666666,"be":0.010416666666666666,"appended":0.010416666666666666,"to":0.010416666666666666,"the":0.010416666666666666,"connection":0.010416666666666666,"string":0.010416666666666666,"this":0.010416666666666666,"will":0.010416666666666666,"run":0.010416666666666666,"client":0.010416666666666666,"commands":0.010416666666666666,"while":0.010416666666666666,"interpreting":0.010416666666666666,"all":0.010416666666666666,"paths":0.010416666666666666,"relative":0.010416666666666666,"root":0.010416666666666666,"similar":0.010416666666666666,"unix":0.010416666666666666,"command":0.010416666666666666,"if":0.010416666666666666,"used":0.010416666666666666,"example":0.010416666666666666,"would":0.010416666666666666,"look":0.010416666666666666,"like":0.010416666666666666,"app":0.010416666666666666,"a":0.010416666666666666,"or":0.010416666666666666,"where":0.010416666666666666,"rooted":0.010416666666666666,"at":0.010416666666666666,"and":0.010416666666666666,"-":0.010416666666666666,"ie":0.010416666666666666,"getting":0.010416666666666666,"setting":0.010416666666666666,"etc":0.010416666666666666,"foo":0.010416666666666666,"bar":0.010416666666666666,"result":0.010416666666666666,"operations":0.010416666666666666,"being":0.010416666666666666,"on":0.010416666666666666,"from":0.010416666666666666,"server":0.010416666666666666,"perspective":0.010416666666666666,"feature":0.010416666666666666,"is":0.010416666666666666,"particularly":0.010416666666666666,"useful":0.010416666666666666,"multi-tenant":0.010416666666666666,"environments":0.010416666666666666,"each":0.010416666666666666,"user":0.010416666666666666,"of":0.010416666666666666,"particular":0.010416666666666666,"zookeeper":0.010416666666666666,"service":0.010416666666666666,"could":0.010416666666666666,"differently":0.010416666666666666,"makes":0.010416666666666666,"re-use":0.010416666666666666,"much":0.010416666666666666,"simpler":0.010416666666666666,"as":0.010416666666666666,"can":0.010416666666666666,"code":0.010416666666666666,"his":0.010416666666666666,"her":0.010416666666666666,"application":0.010416666666666666,"it":0.010416666666666666,"were":0.010416666666666666,"actual":0.010416666666666666,"location":0.010416666666666666,"say":0.010416666666666666,"determined":0.010416666666666666,"deployment":0.010416666666666666,"time":0.010416666666666666},"1385":{"when":0.022222222222222223,"a":0.022222222222222223,"client":0.022222222222222223,"gets":0.022222222222222223,"handle":0.022222222222222223,"to":0.022222222222222223,"the":0.022222222222222223,"zookeeper":0.022222222222222223,"service":0.022222222222222223,"creates":0.022222222222222223,"session":0.022222222222222223,"represented":0.022222222222222223,"as":0.022222222222222223,"64-bit":0.022222222222222223,"number":0.022222222222222223,"that":0.022222222222222223,"it":0.022222222222222223,"assigns":0.022222222222222223,"if":0.022222222222222223,"connects":0.022222222222222223,"different":0.022222222222222223,"server":0.022222222222222223,"will":0.022222222222222223,"send":0.022222222222222223,"id":0.022222222222222223,"part":0.022222222222222223,"of":0.022222222222222223,"connection":0.022222222222222223,"handshake":0.022222222222222223,"security":0.022222222222222223,"measure":0.022222222222222223,"password":0.022222222222222223,"for":0.022222222222222223,"any":0.022222222222222223,"can":0.022222222222222223,"validate":0.022222222222222223,"is":0.022222222222222223,"sent":0.022222222222222223,"with":0.022222222222222223,"establishes":0.022222222222222223,"sends":0.022222222222222223,"this":0.022222222222222223,"whenever":0.022222222222222223,"reestablishes":0.022222222222222223,"new":0.022222222222222223},"1386":{"2":0.023255813953488372,"20":0.023255813953488372,"one":0.023255813953488372,"of":0.023255813953488372,"the":0.023255813953488372,"parameters":0.023255813953488372,"to":0.023255813953488372,"zookeeper":0.023255813953488372,"client":0.023255813953488372,"library":0.023255813953488372,"call":0.023255813953488372,"create":0.023255813953488372,"a":0.023255813953488372,"session":0.023255813953488372,"is":0.023255813953488372,"timeout":0.023255813953488372,"in":0.023255813953488372,"milliseconds":0.023255813953488372,"sends":0.023255813953488372,"requested":0.023255813953488372,"server":0.023255813953488372,"responds":0.023255813953488372,"with":0.023255813953488372,"that":0.023255813953488372,"it":0.023255813953488372,"can":0.023255813953488372,"give":0.023255813953488372,"current":0.023255813953488372,"implementation":0.023255813953488372,"requires":0.023255813953488372,"be":0.023255813953488372,"minimum":0.023255813953488372,"times":0.023255813953488372,"ticktime":0.023255813953488372,"as":0.023255813953488372,"set":0.023255813953488372,"configuration":0.023255813953488372,"and":0.023255813953488372,"maximum":0.023255813953488372,"api":0.023255813953488372,"allows":0.023255813953488372,"access":0.023255813953488372,"negotiated":0.023255813953488372},"1387":{"when":0.01282051282051282,"a":0.01282051282051282,"client":0.01282051282051282,"session":0.01282051282051282,"becomes":0.01282051282051282,"partitioned":0.01282051282051282,"from":0.01282051282051282,"the":0.01282051282051282,"zk":0.01282051282051282,"serving":0.01282051282051282,"cluster":0.01282051282051282,"it":0.01282051282051282,"will":0.01282051282051282,"begin":0.01282051282051282,"searching":0.01282051282051282,"list":0.01282051282051282,"of":0.01282051282051282,"servers":0.01282051282051282,"that":0.01282051282051282,"were":0.01282051282051282,"specified":0.01282051282051282,"during":0.01282051282051282,"creation":0.01282051282051282,"eventually":0.01282051282051282,"connectivity":0.01282051282051282,"between":0.01282051282051282,"and":0.01282051282051282,"at":0.01282051282051282,"least":0.01282051282051282,"one":0.01282051282051282,"is":0.01282051282051282,"re-established":0.01282051282051282,"either":0.01282051282051282,"again":0.01282051282051282,"transition":0.01282051282051282,"to":0.01282051282051282,"connected":0.01282051282051282,"state":0.01282051282051282,"if":0.01282051282051282,"reconnected":0.01282051282051282,"within":0.01282051282051282,"timeout":0.01282051282051282,"value":0.01282051282051282,"or":0.01282051282051282,"expired":0.01282051282051282,"after":0.01282051282051282,"not":0.01282051282051282,"advisable":0.01282051282051282,"create":0.01282051282051282,"new":0.01282051282051282,"object":0.01282051282051282,"zookeeper":0.01282051282051282,"class":0.01282051282051282,"handle":0.01282051282051282,"in":0.01282051282051282,"c":0.01282051282051282,"binding":0.01282051282051282,"for":0.01282051282051282,"disconnection":0.01282051282051282,"library":0.01282051282051282,"reconnect":0.01282051282051282,"you":0.01282051282051282,"particular":0.01282051282051282,"we":0.01282051282051282,"have":0.01282051282051282,"heuristics":0.01282051282051282,"built":0.01282051282051282,"into":0.01282051282051282,"things":0.01282051282051282,"like":0.01282051282051282,"herd":0.01282051282051282,"effect":0.01282051282051282,"etc":0.01282051282051282,"only":0.01282051282051282,"are":0.01282051282051282,"notified":0.01282051282051282,"expiration":0.01282051282051282,"mandatory":0.01282051282051282},"1388":{"session":0.0125,"expiration":0.0125,"is":0.0125,"managed":0.0125,"by":0.0125,"the":0.0125,"zookeeper":0.0125,"cluster":0.0125,"itself":0.0125,"not":0.0125,"client":0.0125,"when":0.0125,"zk":0.0125,"establishes":0.0125,"a":0.0125,"with":0.0125,"it":0.0125,"provides":0.0125,"timeout":0.0125,"value":0.0125,"detailed":0.0125,"above":0.0125,"this":0.0125,"used":0.0125,"to":0.0125,"determine":0.0125,"client's":0.0125,"expires":0.0125,"expirations":0.0125,"happens":0.0125,"does":0.0125,"hear":0.0125,"from":0.0125,"within":0.0125,"specified":0.0125,"period":0.0125,"i":0.0125,"e":0.0125,"no":0.0125,"heartbeat":0.0125,"at":0.0125,"will":0.0125,"delete":0.0125,"any":0.0125,"all":0.0125,"ephemeral":0.0125,"nodes":0.0125,"owned":0.0125,"that":0.0125,"and":0.0125,"immediately":0.0125,"notify":0.0125,"connected":0.0125,"clients":0.0125,"of":0.0125,"change":0.0125,"anyone":0.0125,"watching":0.0125,"those":0.0125,"znodes":0.0125,"point":0.0125,"expired":0.0125,"still":0.0125,"disconnected":0.0125,"be":0.0125,"notified":0.0125,"until":0.0125,"unless":0.0125,"able":0.0125,"re-establish":0.0125,"connection":0.0125,"stay":0.0125,"in":0.0125,"state":0.0125,"tcp":0.0125,"re-established":0.0125,"which":0.0125,"watcher":0.0125,"receive":0.0125,"notification":0.0125},"1389":{"example":0.07692307692307693,"state":0.07692307692307693,"transitions":0.07692307692307693,"for":0.07692307692307693,"an":0.07692307692307693,"expired":0.07692307692307693,"session":0.07692307692307693,"as":0.07692307692307693,"seen":0.07692307692307693,"by":0.07692307692307693,"the":0.07692307692307693,"session's":0.07692307692307693,"watcher":0.07692307692307693},"1390":{"'connected'":0.07692307692307693,"session":0.07692307692307693,"is":0.07692307692307693,"established":0.07692307692307693,"and":0.07692307692307693,"client":0.07692307692307693,"communicating":0.07692307692307693,"with":0.07692307692307693,"cluster":0.07692307692307693,"server":0.07692307692307693,"communication":0.07692307692307693,"operating":0.07692307692307693,"properly":0.07692307692307693},"1391":{"client":0.16666666666666666,"is":0.16666666666666666,"partitioned":0.16666666666666666,"from":0.16666666666666666,"the":0.16666666666666666,"cluster":0.16666666666666666},"1392":{"'disconnected'":0.125,"client":0.125,"has":0.125,"lost":0.125,"connectivity":0.125,"with":0.125,"the":0.125,"cluster":0.125},"1393":{"time":0.05555555555555555,"elapses":0.05555555555555555,"after":0.05555555555555555,"'timeout'":0.05555555555555555,"period":0.05555555555555555,"the":0.05555555555555555,"cluster":0.05555555555555555,"expires":0.05555555555555555,"session":0.05555555555555555,"nothing":0.05555555555555555,"is":0.05555555555555555,"seen":0.05555555555555555,"by":0.05555555555555555,"client":0.05555555555555555,"as":0.05555555555555555,"it":0.05555555555555555,"disconnected":0.05555555555555555,"from":0.05555555555555555},"1394":{"time":0.1,"elapses":0.1,"the":0.1,"client":0.1,"regains":0.1,"network":0.1,"level":0.1,"connectivity":0.1,"with":0.1,"cluster":0.1},"1395":{"'expired'":0.07692307692307693,"eventually":0.07692307692307693,"the":0.07692307692307693,"client":0.07692307692307693,"reconnects":0.07692307692307693,"to":0.07692307692307693,"cluster":0.07692307692307693,"it":0.07692307692307693,"is":0.07692307692307693,"then":0.07692307692307693,"notified":0.07692307692307693,"of":0.07692307692307693,"expiration":0.07692307692307693},"1396":{"another":0.018518518518518517,"parameter":0.018518518518518517,"to":0.018518518518518517,"the":0.018518518518518517,"zookeeper":0.018518518518518517,"session":0.018518518518518517,"establishment":0.018518518518518517,"call":0.018518518518518517,"is":0.018518518518518517,"default":0.018518518518518517,"watcher":0.018518518518518517,"watchers":0.018518518518518517,"are":0.018518518518518517,"notified":0.018518518518518517,"when":0.018518518518518517,"any":0.018518518518518517,"state":0.018518518518518517,"change":0.018518518518518517,"occurs":0.018518518518518517,"in":0.018518518518518517,"client":0.018518518518518517,"for":0.018518518518518517,"example":0.018518518518518517,"if":0.018518518518518517,"loses":0.018518518518518517,"connectivity":0.018518518518518517,"server":0.018518518518518517,"will":0.018518518518518517,"be":0.018518518518518517,"or":0.018518518518518517,"client's":0.018518518518518517,"expires":0.018518518518518517,"etc":0.018518518518518517,"this":0.018518518518518517,"should":0.018518518518518517,"consider":0.018518518518518517,"initial":0.018518518518518517,"disconnected":0.018518518518518517,"i":0.018518518518518517,"e":0.018518518518518517,"before":0.018518518518518517,"changes":0.018518518518518517,"events":0.018518518518518517,"sent":0.018518518518518517,"by":0.018518518518518517,"lib":0.018518518518518517,"case":0.018518518518518517,"of":0.018518518518518517,"a":0.018518518518518517,"new":0.018518518518518517,"connection":0.018518518518518517,"first":0.018518518518518517,"event":0.018518518518518517,"typically":0.018518518518518517},"1397":{"the":0.02,"session":0.02,"is":0.02,"kept":0.02,"alive":0.02,"by":0.02,"requests":0.02,"sent":0.02,"client":0.02,"if":0.02,"idle":0.02,"for":0.02,"a":0.02,"period":0.02,"of":0.02,"time":0.02,"that":0.02,"would":0.02,"timeout":0.02,"will":0.02,"send":0.02,"ping":0.02,"request":0.02,"to":0.02,"keep":0.02,"this":0.02,"not":0.02,"only":0.02,"allows":0.02,"zookeeper":0.02,"server":0.02,"know":0.02,"still":0.02,"active":0.02,"but":0.02,"it":0.02,"also":0.02,"verify":0.02,"its":0.02,"connection":0.02,"timing":0.02,"conservative":0.02,"enough":0.02,"ensure":0.02,"reasonable":0.02,"detect":0.02,"dead":0.02,"and":0.02,"reconnect":0.02,"new":0.02},"1398":{"once":0.022222222222222223,"a":0.022222222222222223,"connection":0.022222222222222223,"to":0.022222222222222223,"the":0.022222222222222223,"server":0.022222222222222223,"is":0.022222222222222223,"successfully":0.022222222222222223,"established":0.022222222222222223,"connected":0.022222222222222223,"there":0.022222222222222223,"are":0.022222222222222223,"basically":0.022222222222222223,"two":0.022222222222222223,"cases":0.022222222222222223,"where":0.022222222222222223,"client":0.022222222222222223,"lib":0.022222222222222223,"generates":0.022222222222222223,"connectionloss":0.022222222222222223,"result":0.022222222222222223,"code":0.022222222222222223,"in":0.022222222222222223,"c":0.022222222222222223,"binding":0.022222222222222223,"exception":0.022222222222222223,"java":0.022222222222222223,"see":0.022222222222222223,"api":0.022222222222222223,"documentation":0.022222222222222223,"for":0.022222222222222223,"specific":0.022222222222222223,"details":0.022222222222222223,"when":0.022222222222222223,"either":0.022222222222222223,"synchronous":0.022222222222222223,"or":0.022222222222222223,"asynchronous":0.022222222222222223,"operation":0.022222222222222223,"performed":0.022222222222222223,"and":0.022222222222222223,"one":0.022222222222222223,"of":0.022222222222222223,"following":0.022222222222222223,"holds":0.022222222222222223},"1399":{"the":0.07142857142857142,"application":0.07142857142857142,"calls":0.07142857142857142,"an":0.07142857142857142,"operation":0.07142857142857142,"on":0.07142857142857142,"a":0.07142857142857142,"session":0.07142857142857142,"that":0.07142857142857142,"is":0.07142857142857142,"no":0.07142857142857142,"longer":0.07142857142857142,"alive":0.07142857142857142,"valid":0.07142857142857142},"1400":{"the":0.05263157894736842,"zookeeper":0.05263157894736842,"client":0.05263157894736842,"disconnects":0.05263157894736842,"from":0.05263157894736842,"a":0.05263157894736842,"server":0.05263157894736842,"when":0.05263157894736842,"there":0.05263157894736842,"are":0.05263157894736842,"pending":0.05263157894736842,"operations":0.05263157894736842,"to":0.05263157894736842,"that":0.05263157894736842,"i":0.05263157894736842,"e":0.05263157894736842,"is":0.05263157894736842,"asynchronous":0.05263157894736842,"call":0.05263157894736842},"1401":{"0":0.010416666666666666,"2":0.010416666666666666,"3":0.010416666666666666,"added":0.010416666666666666,"in":0.010416666666666666,"sessionmovedexception":0.010416666666666666,"there":0.010416666666666666,"is":0.010416666666666666,"an":0.010416666666666666,"internal":0.010416666666666666,"exception":0.010416666666666666,"that":0.010416666666666666,"generally":0.010416666666666666,"not":0.010416666666666666,"seen":0.010416666666666666,"by":0.010416666666666666,"clients":0.010416666666666666,"called":0.010416666666666666,"the":0.010416666666666666,"this":0.010416666666666666,"occurs":0.010416666666666666,"because":0.010416666666666666,"a":0.010416666666666666,"request":0.010416666666666666,"was":0.010416666666666666,"received":0.010416666666666666,"on":0.010416666666666666,"connection":0.010416666666666666,"for":0.010416666666666666,"session":0.010416666666666666,"which":0.010416666666666666,"has":0.010416666666666666,"been":0.010416666666666666,"reestablished":0.010416666666666666,"different":0.010416666666666666,"server":0.010416666666666666,"normal":0.010416666666666666,"cause":0.010416666666666666,"of":0.010416666666666666,"error":0.010416666666666666,"client":0.010416666666666666,"sends":0.010416666666666666,"to":0.010416666666666666,"but":0.010416666666666666,"network":0.010416666666666666,"packet":0.010416666666666666,"gets":0.010416666666666666,"delayed":0.010416666666666666,"so":0.010416666666666666,"times":0.010416666666666666,"out":0.010416666666666666,"and":0.010416666666666666,"connects":0.010416666666666666,"new":0.010416666666666666,"when":0.010416666666666666,"arrives":0.010416666666666666,"at":0.010416666666666666,"first":0.010416666666666666,"old":0.010416666666666666,"detects":0.010416666666666666,"moved":0.010416666666666666,"closes":0.010416666666666666,"normally":0.010416666666666666,"do":0.010416666666666666,"see":0.010416666666666666,"since":0.010416666666666666,"they":0.010416666666666666,"read":0.010416666666666666,"from":0.010416666666666666,"those":0.010416666666666666,"connections":0.010416666666666666,"are":0.010416666666666666,"usually":0.010416666666666666,"closed":0.010416666666666666,"one":0.010416666666666666,"situation":0.010416666666666666,"condition":0.010416666666666666,"can":0.010416666666666666,"be":0.010416666666666666,"two":0.010416666666666666,"try":0.010416666666666666,"reestablish":0.010416666666666666,"same":0.010416666666666666,"using":0.010416666666666666,"saved":0.010416666666666666,"id":0.010416666666666666,"password":0.010416666666666666,"will":0.010416666666666666,"second":0.010416666666666666,"disconnected":0.010416666666666666,"causing":0.010416666666666666,"pair":0.010416666666666666,"attempt":0.010416666666666666,"re-establish":0.010416666666666666,"its":0.010416666666666666,"indefinitely":0.010416666666666666},"1402":{"updating":0.014705882352941176,"the":0.014705882352941176,"list":0.014705882352941176,"of":0.014705882352941176,"servers":0.014705882352941176,"we":0.014705882352941176,"allow":0.014705882352941176,"a":0.014705882352941176,"client":0.014705882352941176,"to":0.014705882352941176,"update":0.014705882352941176,"connection":0.014705882352941176,"string":0.014705882352941176,"by":0.014705882352941176,"providing":0.014705882352941176,"new":0.014705882352941176,"comma":0.014705882352941176,"separated":0.014705882352941176,"host":0.014705882352941176,"port":0.014705882352941176,"pairs":0.014705882352941176,"each":0.014705882352941176,"corresponding":0.014705882352941176,"zookeeper":0.014705882352941176,"server":0.014705882352941176,"function":0.014705882352941176,"invokes":0.014705882352941176,"probabilistic":0.014705882352941176,"load-balancing":0.014705882352941176,"algorithm":0.014705882352941176,"which":0.014705882352941176,"may":0.014705882352941176,"cause":0.014705882352941176,"disconnect":0.014705882352941176,"from":0.014705882352941176,"its":0.014705882352941176,"current":0.014705882352941176,"with":0.014705882352941176,"goal":0.014705882352941176,"achieve":0.014705882352941176,"expected":0.014705882352941176,"uniform":0.014705882352941176,"number":0.014705882352941176,"connections":0.014705882352941176,"per":0.014705882352941176,"in":0.014705882352941176,"case":0.014705882352941176,"is":0.014705882352941176,"connected":0.014705882352941176,"not":0.014705882352941176,"this":0.014705882352941176,"call":0.014705882352941176,"will":0.014705882352941176,"always":0.014705882352941176,"be":0.014705882352941176,"dropped":0.014705882352941176,"otherwise":0.014705882352941176,"decision":0.014705882352941176,"based":0.014705882352941176,"on":0.014705882352941176,"whether":0.014705882352941176,"has":0.014705882352941176,"increased":0.014705882352941176,"or":0.014705882352941176,"decreased":0.014705882352941176,"and":0.014705882352941176,"how":0.014705882352941176,"much":0.014705882352941176},"1403":{"0":0.0196078431372549,"2":0.0196078431372549,"3":0.0196078431372549,"4":0.0196078431372549,"40":0.0196078431372549,"for":0.0196078431372549,"example":0.0196078431372549,"if":0.0196078431372549,"the":0.0196078431372549,"previous":0.0196078431372549,"connection":0.0196078431372549,"string":0.0196078431372549,"contained":0.0196078431372549,"hosts":0.0196078431372549,"and":0.0196078431372549,"now":0.0196078431372549,"list":0.0196078431372549,"contains":0.0196078431372549,"these":0.0196078431372549,"more":0.0196078431372549,"of":0.0196078431372549,"clients":0.0196078431372549,"connected":0.0196078431372549,"to":0.0196078431372549,"each":0.0196078431372549,"will":0.0196078431372549,"move":0.0196078431372549,"one":0.0196078431372549,"new":0.0196078431372549,"in":0.0196078431372549,"order":0.0196078431372549,"balance":0.0196078431372549,"load":0.0196078431372549,"algorithm":0.0196078431372549,"cause":0.0196078431372549,"client":0.0196078431372549,"drop":0.0196078431372549,"its":0.0196078431372549,"current":0.0196078431372549,"host":0.0196078431372549,"which":0.0196078431372549,"it":0.0196078431372549,"is":0.0196078431372549,"with":0.0196078431372549,"probability":0.0196078431372549,"this":0.0196078431372549,"case":0.0196078431372549,"connect":0.0196078431372549,"chosen":0.0196078431372549,"at":0.0196078431372549,"random":0.0196078431372549},"1404":{"2":0.018867924528301886,"3":0.018867924528301886,"5":0.018867924528301886,"another":0.018867924528301886,"example":0.018867924528301886,"suppose":0.018867924528301886,"we":0.018867924528301886,"have":0.018867924528301886,"hosts":0.018867924528301886,"and":0.018867924528301886,"now":0.018867924528301886,"update":0.018867924528301886,"the":0.018867924528301886,"list":0.018867924528301886,"to":0.018867924528301886,"remove":0.018867924528301886,"of":0.018867924528301886,"clients":0.018867924528301886,"connected":0.018867924528301886,"remaining":0.018867924528301886,"will":0.018867924528301886,"stay":0.018867924528301886,"whereas":0.018867924528301886,"all":0.018867924528301886,"removed":0.018867924528301886,"need":0.018867924528301886,"move":0.018867924528301886,"one":0.018867924528301886,"chosen":0.018867924528301886,"at":0.018867924528301886,"random":0.018867924528301886,"if":0.018867924528301886,"connection":0.018867924528301886,"is":0.018867924528301886,"dropped":0.018867924528301886,"client":0.018867924528301886,"moves":0.018867924528301886,"a":0.018867924528301886,"special":0.018867924528301886,"mode":0.018867924528301886,"where":0.018867924528301886,"he":0.018867924528301886,"chooses":0.018867924528301886,"new":0.018867924528301886,"server":0.018867924528301886,"connect":0.018867924528301886,"using":0.018867924528301886,"probabilistic":0.018867924528301886,"algorithm":0.018867924528301886,"not":0.018867924528301886,"just":0.018867924528301886,"round":0.018867924528301886,"robin":0.018867924528301886},"1405":{"0":0.015151515151515152,"4":0.015151515151515152,"in":0.015151515151515152,"the":0.015151515151515152,"first":0.015151515151515152,"example":0.015151515151515152,"each":0.015151515151515152,"client":0.015151515151515152,"decides":0.015151515151515152,"to":0.015151515151515152,"disconnect":0.015151515151515152,"with":0.015151515151515152,"probability":0.015151515151515152,"but":0.015151515151515152,"once":0.015151515151515152,"decision":0.015151515151515152,"is":0.015151515151515152,"made":0.015151515151515152,"it":0.015151515151515152,"will":0.015151515151515152,"try":0.015151515151515152,"connect":0.015151515151515152,"a":0.015151515151515152,"random":0.015151515151515152,"new":0.015151515151515152,"server":0.015151515151515152,"and":0.015151515151515152,"only":0.015151515151515152,"if":0.015151515151515152,"cannot":0.015151515151515152,"any":0.015151515151515152,"of":0.015151515151515152,"servers":0.015151515151515152,"old":0.015151515151515152,"ones":0.015151515151515152,"after":0.015151515151515152,"finding":0.015151515151515152,"or":0.015151515151515152,"trying":0.015151515151515152,"all":0.015151515151515152,"list":0.015151515151515152,"failing":0.015151515151515152,"moves":0.015151515151515152,"back":0.015151515151515152,"normal":0.015151515151515152,"mode":0.015151515151515152,"operation":0.015151515151515152,"where":0.015151515151515152,"picks":0.015151515151515152,"an":0.015151515151515152,"arbitrary":0.015151515151515152,"from":0.015151515151515152,"connectstring":0.015151515151515152,"attempts":0.015151515151515152,"that":0.015151515151515152,"fails":0.015151515151515152,"continue":0.015151515151515152,"different":0.015151515151515152,"round":0.015151515151515152,"robin":0.015151515151515152,"see":0.015151515151515152,"above":0.015151515151515152,"algorithm":0.015151515151515152,"used":0.015151515151515152,"initially":0.015151515151515152,"choose":0.015151515151515152},"1406":{"0":0.09090909090909091,"3":0.09090909090909091,"5":0.09090909090909091,"local":0.09090909090909091,"session":0.09090909090909091,"added":0.09090909090909091,"in":0.09090909090909091,"mainly":0.09090909090909091,"implemented":0.09090909090909091,"by":0.09090909090909091,"zookeeper-1147":0.09090909090909091},"1407":{"0":0.01818181818181818,"3":0.01818181818181818,"5":0.01818181818181818,"background":0.01818181818181818,"the":0.01818181818181818,"creation":0.01818181818181818,"and":0.01818181818181818,"closing":0.01818181818181818,"of":0.01818181818181818,"sessions":0.01818181818181818,"are":0.01818181818181818,"costly":0.01818181818181818,"in":0.01818181818181818,"zookeeper":0.01818181818181818,"because":0.01818181818181818,"they":0.01818181818181818,"need":0.01818181818181818,"quorum":0.01818181818181818,"confirmations":0.01818181818181818,"become":0.01818181818181818,"bottleneck":0.01818181818181818,"a":0.01818181818181818,"ensemble":0.01818181818181818,"when":0.01818181818181818,"it":0.01818181818181818,"needs":0.01818181818181818,"to":0.01818181818181818,"handle":0.01818181818181818,"thousands":0.01818181818181818,"client":0.01818181818181818,"connections":0.01818181818181818,"so":0.01818181818181818,"after":0.01818181818181818,"we":0.01818181818181818,"introduce":0.01818181818181818,"new":0.01818181818181818,"type":0.01818181818181818,"session":0.01818181818181818,"local":0.01818181818181818,"which":0.01818181818181818,"doesn't":0.01818181818181818,"have":0.01818181818181818,"full":0.01818181818181818,"functionality":0.01818181818181818,"normal":0.01818181818181818,"global":0.01818181818181818,"this":0.01818181818181818,"feature":0.01818181818181818,"will":0.01818181818181818,"be":0.01818181818181818,"available":0.01818181818181818,"by":0.01818181818181818,"turning":0.01818181818181818,"on":0.01818181818181818,"localsessionsenabled":0.01818181818181818},"1408":{"when":0.25,"localsessionsupgradingenabled":0.25,"is":0.25,"disable":0.25},"1409":{"local":0.16666666666666666,"sessions":0.16666666666666666,"cannot":0.16666666666666666,"create":0.16666666666666666,"ephemeral":0.16666666666666666,"nodes":0.16666666666666666},"1410":{"once":0.02127659574468085,"a":0.02127659574468085,"local":0.02127659574468085,"session":0.02127659574468085,"is":0.02127659574468085,"lost":0.02127659574468085,"users":0.02127659574468085,"cannot":0.02127659574468085,"re-establish":0.02127659574468085,"it":0.02127659574468085,"using":0.02127659574468085,"the":0.02127659574468085,"session-id":0.02127659574468085,"password":0.02127659574468085,"and":0.02127659574468085,"its":0.02127659574468085,"watches":0.02127659574468085,"are":0.02127659574468085,"gone":0.02127659574468085,"for":0.02127659574468085,"good":0.02127659574468085,"note":0.02127659574468085,"losing":0.02127659574468085,"tcp":0.02127659574468085,"connection":0.02127659574468085,"does":0.02127659574468085,"not":0.02127659574468085,"necessarily":0.02127659574468085,"imply":0.02127659574468085,"that":0.02127659574468085,"if":0.02127659574468085,"can":0.02127659574468085,"be":0.02127659574468085,"reestablished":0.02127659574468085,"with":0.02127659574468085,"same":0.02127659574468085,"zk":0.02127659574468085,"server":0.02127659574468085,"before":0.02127659574468085,"timeout":0.02127659574468085,"then":0.02127659574468085,"client":0.02127659574468085,"continue":0.02127659574468085,"simply":0.02127659574468085,"move":0.02127659574468085,"to":0.02127659574468085,"another":0.02127659574468085},"1411":{"when":0.034482758620689655,"a":0.034482758620689655,"local":0.034482758620689655,"session":0.034482758620689655,"connects":0.034482758620689655,"the":0.034482758620689655,"info":0.034482758620689655,"is":0.034482758620689655,"only":0.034482758620689655,"maintained":0.034482758620689655,"on":0.034482758620689655,"zookeeper":0.034482758620689655,"server":0.034482758620689655,"that":0.034482758620689655,"it":0.034482758620689655,"connected":0.034482758620689655,"to":0.034482758620689655,"leader":0.034482758620689655,"not":0.034482758620689655,"aware":0.034482758620689655,"of":0.034482758620689655,"creation":0.034482758620689655,"such":0.034482758620689655,"and":0.034482758620689655,"there":0.034482758620689655,"no":0.034482758620689655,"state":0.034482758620689655,"written":0.034482758620689655,"disk":0.034482758620689655},"1412":{"the":0.058823529411764705,"pings":0.058823529411764705,"expiration":0.058823529411764705,"and":0.058823529411764705,"other":0.058823529411764705,"session":0.058823529411764705,"state":0.058823529411764705,"maintenance":0.058823529411764705,"are":0.058823529411764705,"handled":0.058823529411764705,"by":0.058823529411764705,"server":0.058823529411764705,"which":0.058823529411764705,"current":0.058823529411764705,"is":0.058823529411764705,"connected":0.058823529411764705,"to":0.058823529411764705},"1413":{"when":0.25,"localsessionsupgradingenabled":0.25,"is":0.25,"enable":0.25},"1414":{"a":0.1,"local":0.1,"session":0.1,"can":0.1,"be":0.1,"upgraded":0.1,"to":0.1,"the":0.1,"global":0.1,"automatically":0.1},"1415":{"when":0.02631578947368421,"a":0.02631578947368421,"new":0.02631578947368421,"session":0.02631578947368421,"is":0.02631578947368421,"created":0.02631578947368421,"it":0.02631578947368421,"saved":0.02631578947368421,"locally":0.02631578947368421,"in":0.02631578947368421,"wrapped":0.02631578947368421,"localsessiontracker":0.02631578947368421,"can":0.02631578947368421,"subsequently":0.02631578947368421,"be":0.02631578947368421,"upgraded":0.02631578947368421,"to":0.02631578947368421,"global":0.02631578947368421,"as":0.02631578947368421,"required":0.02631578947368421,"e":0.02631578947368421,"g":0.02631578947368421,"create":0.02631578947368421,"ephemeral":0.02631578947368421,"nodes":0.02631578947368421,"if":0.02631578947368421,"an":0.02631578947368421,"upgrade":0.02631578947368421,"requested":0.02631578947368421,"the":0.02631578947368421,"removed":0.02631578947368421,"from":0.02631578947368421,"local":0.02631578947368421,"collections":0.02631578947368421,"while":0.02631578947368421,"keeping":0.02631578947368421,"same":0.02631578947368421,"id":0.02631578947368421},"1416":{"currently":0.018867924528301886,"only":0.018867924528301886,"the":0.018867924528301886,"operation":0.018867924528301886,"create":0.018867924528301886,"ephemeral":0.018867924528301886,"node":0.018867924528301886,"needs":0.018867924528301886,"a":0.018867924528301886,"session":0.018867924528301886,"upgrade":0.018867924528301886,"from":0.018867924528301886,"local":0.018867924528301886,"to":0.018867924528301886,"global":0.018867924528301886,"reason":0.018867924528301886,"is":0.018867924528301886,"that":0.018867924528301886,"creation":0.018867924528301886,"of":0.018867924528301886,"depends":0.018867924528301886,"heavily":0.018867924528301886,"on":0.018867924528301886,"if":0.018867924528301886,"can":0.018867924528301886,"without":0.018867924528301886,"upgrading":0.018867924528301886,"it":0.018867924528301886,"will":0.018867924528301886,"cause":0.018867924528301886,"data":0.018867924528301886,"inconsistency":0.018867924528301886,"between":0.018867924528301886,"different":0.018867924528301886,"nodes":0.018867924528301886,"leader":0.018867924528301886,"also":0.018867924528301886,"know":0.018867924528301886,"about":0.018867924528301886,"lifespan":0.018867924528301886,"in":0.018867924528301886,"order":0.018867924528301886,"clean":0.018867924528301886,"up":0.018867924528301886,"close":0.018867924528301886,"expiry":0.018867924528301886,"this":0.018867924528301886,"requires":0.018867924528301886,"as":0.018867924528301886,"tied":0.018867924528301886,"its":0.018867924528301886,"particular":0.018867924528301886,"server":0.018867924528301886},"1417":{"a":0.05,"session":0.05,"can":0.05,"be":0.05,"both":0.05,"local":0.05,"and":0.05,"global":0.05,"during":0.05,"upgrade":0.05,"but":0.05,"the":0.05,"operation":0.05,"of":0.05,"cannot":0.05,"called":0.05,"concurrently":0.05,"by":0.05,"two":0.05,"thread":0.05},"1418":{"zookeeperserver":0.041666666666666664,"standalone":0.041666666666666664,"uses":0.041666666666666664,"sessiontrackerimpl":0.041666666666666664,"leaderzookeeper":0.041666666666666664,"leadersessiontracker":0.041666666666666664,"which":0.041666666666666664,"holds":0.041666666666666664,"global":0.041666666666666664,"and":0.041666666666666664,"localsessiontracker":0.041666666666666664,"if":0.041666666666666664,"enable":0.041666666666666664,"followerzookeeperserver":0.041666666666666664,"observerzookeeperserver":0.041666666666666664,"use":0.041666666666666664,"learnersessiontracker":0.041666666666666664,"the":0.041666666666666664,"uml":0.041666666666666664,"graph":0.041666666666666664,"of":0.041666666666666664,"classes":0.041666666666666664,"about":0.041666666666666664,"session":0.041666666666666664},"1419":{"what's":0.08333333333333333,"the":0.08333333333333333,"reason":0.08333333333333333,"for":0.08333333333333333,"having":0.08333333333333333,"config":0.08333333333333333,"option":0.08333333333333333,"to":0.08333333333333333,"disable":0.08333333333333333,"local":0.08333333333333333,"session":0.08333333333333333,"upgrade":0.08333333333333333},"1420":{"in":0.025,"a":0.025,"large":0.025,"deployment":0.025,"which":0.025,"wants":0.025,"to":0.025,"handle":0.025,"very":0.025,"number":0.025,"of":0.025,"clients":0.025,"we":0.025,"know":0.025,"that":0.025,"connecting":0.025,"via":0.025,"the":0.025,"observers":0.025,"is":0.025,"supposed":0.025,"be":0.025,"local":0.025,"session":0.025,"only":0.025,"so":0.025,"this":0.025,"more":0.025,"like":0.025,"safeguard":0.025,"against":0.025,"someone":0.025,"accidentally":0.025,"creates":0.025,"lots":0.025,"ephemeral":0.025,"nodes":0.025,"and":0.025,"global":0.025,"sessions":0.025},"1421":{"when":0.2,"is":0.2,"the":0.2,"session":0.2,"created":0.2},"1422":{"in":0.05,"the":0.05,"current":0.05,"implementation":0.05,"it":0.05,"will":0.05,"try":0.05,"to":0.05,"create":0.05,"a":0.05,"local":0.05,"session":0.05,"when":0.05,"processing":0.05,"connectrequest":0.05,"and":0.05,"createsession":0.05,"request":0.05,"reaches":0.05,"finalrequestprocessor":0.05},"1423":{"what":0.03571428571428571,"happens":0.03571428571428571,"if":0.03571428571428571,"the":0.03571428571428571,"create":0.03571428571428571,"for":0.03571428571428571,"session":0.03571428571428571,"is":0.03571428571428571,"sent":0.03571428571428571,"at":0.03571428571428571,"server":0.03571428571428571,"a":0.03571428571428571,"and":0.03571428571428571,"client":0.03571428571428571,"disconnects":0.03571428571428571,"to":0.03571428571428571,"some":0.03571428571428571,"other":0.03571428571428571,"b":0.03571428571428571,"which":0.03571428571428571,"ends":0.03571428571428571,"up":0.03571428571428571,"sending":0.03571428571428571,"it":0.03571428571428571,"again":0.03571428571428571,"then":0.03571428571428571,"connects":0.03571428571428571,"back":0.03571428571428571},"1424":{"when":0.01639344262295082,"a":0.01639344262295082,"client":0.01639344262295082,"reconnects":0.01639344262295082,"to":0.01639344262295082,"b":0.01639344262295082,"its":0.01639344262295082,"sessionid":0.01639344262295082,"won":0.01639344262295082,"t":0.01639344262295082,"exist":0.01639344262295082,"in":0.01639344262295082,"s":0.01639344262295082,"local":0.01639344262295082,"session":0.01639344262295082,"tracker":0.01639344262295082,"so":0.01639344262295082,"will":0.01639344262295082,"send":0.01639344262295082,"validation":0.01639344262295082,"packet":0.01639344262295082,"if":0.01639344262295082,"createsession":0.01639344262295082,"issued":0.01639344262295082,"by":0.01639344262295082,"is":0.01639344262295082,"committed":0.01639344262295082,"before":0.01639344262295082,"arrive":0.01639344262295082,"the":0.01639344262295082,"be":0.01639344262295082,"able":0.01639344262295082,"connect":0.01639344262295082,"otherwise":0.01639344262295082,"get":0.01639344262295082,"expired":0.01639344262295082,"because":0.01639344262295082,"quorum":0.01639344262295082,"hasn":0.01639344262295082,"know":0.01639344262295082,"about":0.01639344262295082,"this":0.01639344262295082,"yet":0.01639344262295082,"also":0.01639344262295082,"tries":0.01639344262295082,"back":0.01639344262295082,"again":0.01639344262295082,"already":0.01639344262295082,"removed":0.01639344262295082,"from":0.01639344262295082,"need":0.01639344262295082,"leader":0.01639344262295082,"outcome":0.01639344262295082,"should":0.01639344262295082,"same":0.01639344262295082,"as":0.01639344262295082,"depending":0.01639344262295082,"on":0.01639344262295082,"timing":0.01639344262295082,"of":0.01639344262295082,"request":0.01639344262295082},"1425":{"watches":1},"1426":{"describes":0.047619047619047616,"zookeeper":0.047619047619047616,"watches":0.047619047619047616,"one-time":0.047619047619047616,"event":0.047619047619047616,"triggers":0.047619047619047616,"sent":0.047619047619047616,"to":0.047619047619047616,"clients":0.047619047619047616,"when":0.047619047619047616,"znode":0.047619047619047616,"data":0.047619047619047616,"or":0.047619047619047616,"children":0.047619047619047616,"change":0.047619047619047616,"including":0.047619047619047616,"watch":0.047619047619047616,"semantics":0.047619047619047616,"guarantees":0.047619047619047616,"and":0.047619047619047616,"removal":0.047619047619047616},"1427":{"semantics":0.3333333333333333,"of":0.3333333333333333,"watches":0.3333333333333333},"1428":{"persistent":0.3333333333333333,"recursive":0.3333333333333333,"watches":0.3333333333333333},"1429":{"remove":0.5,"watches":0.5},"1430":{"what":0.2,"zookeeper":0.2,"guarantees":0.2,"about":0.2,"watches":0.2},"1431":{"things":0.2,"to":0.2,"remember":0.2,"about":0.2,"watches":0.2},"1432":{"all":0.021739130434782608,"of":0.021739130434782608,"the":0.021739130434782608,"read":0.021739130434782608,"operations":0.021739130434782608,"in":0.021739130434782608,"zookeeper":0.021739130434782608,"-":0.021739130434782608,"getdata":0.021739130434782608,"getchildren":0.021739130434782608,"and":0.021739130434782608,"exists":0.021739130434782608,"have":0.021739130434782608,"option":0.021739130434782608,"setting":0.021739130434782608,"a":0.021739130434782608,"watch":0.021739130434782608,"as":0.021739130434782608,"side":0.021739130434782608,"effect":0.021739130434782608,"here":0.021739130434782608,"is":0.021739130434782608,"zookeeper's":0.021739130434782608,"definition":0.021739130434782608,"event":0.021739130434782608,"one-time":0.021739130434782608,"trigger":0.021739130434782608,"sent":0.021739130434782608,"to":0.021739130434782608,"client":0.021739130434782608,"that":0.021739130434782608,"set":0.021739130434782608,"which":0.021739130434782608,"occurs":0.021739130434782608,"when":0.021739130434782608,"data":0.021739130434782608,"for":0.021739130434782608,"was":0.021739130434782608,"changes":0.021739130434782608,"there":0.021739130434782608,"are":0.021739130434782608,"three":0.021739130434782608,"key":0.021739130434782608,"points":0.021739130434782608,"consider":0.021739130434782608,"this":0.021739130434782608},"1433":{"one-time":0.02564102564102564,"trigger":0.02564102564102564,"one":0.02564102564102564,"watch":0.02564102564102564,"event":0.02564102564102564,"will":0.02564102564102564,"be":0.02564102564102564,"sent":0.02564102564102564,"to":0.02564102564102564,"the":0.02564102564102564,"client":0.02564102564102564,"when":0.02564102564102564,"data":0.02564102564102564,"has":0.02564102564102564,"changed":0.02564102564102564,"for":0.02564102564102564,"example":0.02564102564102564,"if":0.02564102564102564,"a":0.02564102564102564,"does":0.02564102564102564,"getdata":0.02564102564102564,"znode1":0.02564102564102564,"true":0.02564102564102564,"and":0.02564102564102564,"later":0.02564102564102564,"is":0.02564102564102564,"or":0.02564102564102564,"deleted":0.02564102564102564,"get":0.02564102564102564,"changes":0.02564102564102564,"again":0.02564102564102564,"no":0.02564102564102564,"unless":0.02564102564102564,"done":0.02564102564102564,"another":0.02564102564102564,"read":0.02564102564102564,"that":0.02564102564102564,"sets":0.02564102564102564,"new":0.02564102564102564},"1434":{"sent":0.014925373134328358,"to":0.014925373134328358,"the":0.014925373134328358,"client":0.014925373134328358,"this":0.014925373134328358,"implies":0.014925373134328358,"that":0.014925373134328358,"an":0.014925373134328358,"event":0.014925373134328358,"is":0.014925373134328358,"on":0.014925373134328358,"way":0.014925373134328358,"but":0.014925373134328358,"may":0.014925373134328358,"not":0.014925373134328358,"reach":0.014925373134328358,"before":0.014925373134328358,"successful":0.014925373134328358,"return":0.014925373134328358,"code":0.014925373134328358,"change":0.014925373134328358,"operation":0.014925373134328358,"reaches":0.014925373134328358,"initiated":0.014925373134328358,"watches":0.014925373134328358,"are":0.014925373134328358,"asynchronously":0.014925373134328358,"watchers":0.014925373134328358,"zookeeper":0.014925373134328358,"provides":0.014925373134328358,"ordering":0.014925373134328358,"guarantee":0.014925373134328358,"a":0.014925373134328358,"will":0.014925373134328358,"never":0.014925373134328358,"see":0.014925373134328358,"for":0.014925373134328358,"which":0.014925373134328358,"it":0.014925373134328358,"has":0.014925373134328358,"set":0.014925373134328358,"watch":0.014925373134328358,"until":0.014925373134328358,"first":0.014925373134328358,"sees":0.014925373134328358,"network":0.014925373134328358,"delays":0.014925373134328358,"or":0.014925373134328358,"other":0.014925373134328358,"factors":0.014925373134328358,"cause":0.014925373134328358,"different":0.014925373134328358,"clients":0.014925373134328358,"and":0.014925373134328358,"codes":0.014925373134328358,"from":0.014925373134328358,"updates":0.014925373134328358,"at":0.014925373134328358,"times":0.014925373134328358,"key":0.014925373134328358,"point":0.014925373134328358,"everything":0.014925373134328358,"seen":0.014925373134328358,"by":0.014925373134328358,"have":0.014925373134328358,"consistent":0.014925373134328358,"order":0.014925373134328358},"1435":{"the":0.015151515151515152,"data":0.015151515151515152,"for":0.015151515151515152,"which":0.015151515151515152,"watch":0.015151515151515152,"was":0.015151515151515152,"set":0.015151515151515152,"this":0.015151515151515152,"refers":0.015151515151515152,"to":0.015151515151515152,"different":0.015151515151515152,"ways":0.015151515151515152,"a":0.015151515151515152,"node":0.015151515151515152,"can":0.015151515151515152,"change":0.015151515151515152,"it":0.015151515151515152,"helps":0.015151515151515152,"think":0.015151515151515152,"of":0.015151515151515152,"zookeeper":0.015151515151515152,"as":0.015151515151515152,"maintaining":0.015151515151515152,"two":0.015151515151515152,"lists":0.015151515151515152,"watches":0.015151515151515152,"and":0.015151515151515152,"child":0.015151515151515152,"getdata":0.015151515151515152,"exists":0.015151515151515152,"getchildren":0.015151515151515152,"sets":0.015151515151515152,"alternatively":0.015151515151515152,"may":0.015151515151515152,"help":0.015151515151515152,"being":0.015151515151515152,"according":0.015151515151515152,"kind":0.015151515151515152,"returned":0.015151515151515152,"return":0.015151515151515152,"information":0.015151515151515152,"about":0.015151515151515152,"whereas":0.015151515151515152,"returns":0.015151515151515152,"list":0.015151515151515152,"children":0.015151515151515152,"thus":0.015151515151515152,"setdata":0.015151515151515152,"will":0.015151515151515152,"trigger":0.015151515151515152,"znode":0.015151515151515152,"assuming":0.015151515151515152,"is":0.015151515151515152,"successful":0.015151515151515152,"create":0.015151515151515152,"created":0.015151515151515152,"parent":0.015151515151515152,"delete":0.015151515151515152,"both":0.015151515151515152,"since":0.015151515151515152,"there":0.015151515151515152,"be":0.015151515151515152,"no":0.015151515151515152,"more":0.015151515151515152,"deleted":0.015151515151515152,"well":0.015151515151515152},"1436":{"watches":0.016666666666666666,"are":0.016666666666666666,"maintained":0.016666666666666666,"locally":0.016666666666666666,"at":0.016666666666666666,"the":0.016666666666666666,"zookeeper":0.016666666666666666,"server":0.016666666666666666,"to":0.016666666666666666,"which":0.016666666666666666,"client":0.016666666666666666,"is":0.016666666666666666,"connected":0.016666666666666666,"this":0.016666666666666666,"allows":0.016666666666666666,"be":0.016666666666666666,"lightweight":0.016666666666666666,"set":0.016666666666666666,"maintain":0.016666666666666666,"and":0.016666666666666666,"dispatch":0.016666666666666666,"when":0.016666666666666666,"a":0.016666666666666666,"connects":0.016666666666666666,"new":0.016666666666666666,"watch":0.016666666666666666,"will":0.016666666666666666,"triggered":0.016666666666666666,"for":0.016666666666666666,"any":0.016666666666666666,"session":0.016666666666666666,"events":0.016666666666666666,"not":0.016666666666666666,"received":0.016666666666666666,"while":0.016666666666666666,"disconnected":0.016666666666666666,"from":0.016666666666666666,"reconnects":0.016666666666666666,"previously":0.016666666666666666,"registered":0.016666666666666666,"reregistered":0.016666666666666666,"if":0.016666666666666666,"needed":0.016666666666666666,"in":0.016666666666666666,"general":0.016666666666666666,"all":0.016666666666666666,"occurs":0.016666666666666666,"transparently":0.016666666666666666,"there":0.016666666666666666,"one":0.016666666666666666,"case":0.016666666666666666,"where":0.016666666666666666,"may":0.016666666666666666,"missed":0.016666666666666666,"existence":0.016666666666666666,"of":0.016666666666666666,"znode":0.016666666666666666,"yet":0.016666666666666666,"created":0.016666666666666666,"deleted":0.016666666666666666},"1437":{"0":0.030303030303030304,"3":0.030303030303030304,"6":0.030303030303030304,"new":0.030303030303030304,"in":0.030303030303030304,"clients":0.030303030303030304,"can":0.030303030303030304,"also":0.030303030303030304,"set":0.030303030303030304,"permanent":0.030303030303030304,"recursive":0.030303030303030304,"watches":0.030303030303030304,"on":0.030303030303030304,"a":0.030303030303030304,"znode":0.030303030303030304,"that":0.030303030303030304,"are":0.030303030303030304,"not":0.030303030303030304,"removed":0.030303030303030304,"when":0.030303030303030304,"triggered":0.030303030303030304,"and":0.030303030303030304,"trigger":0.030303030303030304,"for":0.030303030303030304,"changes":0.030303030303030304,"the":0.030303030303030304,"registered":0.030303030303030304,"as":0.030303030303030304,"well":0.030303030303030304,"any":0.030303030303030304,"children":0.030303030303030304,"znodes":0.030303030303030304,"recursively":0.030303030303030304},"1438":{"we":0.038461538461538464,"can":0.038461538461538464,"set":0.038461538461538464,"watches":0.038461538461538464,"with":0.038461538461538464,"the":0.038461538461538464,"three":0.038461538461538464,"calls":0.038461538461538464,"that":0.038461538461538464,"read":0.038461538461538464,"state":0.038461538461538464,"of":0.038461538461538464,"zookeeper":0.038461538461538464,"exists":0.038461538461538464,"getdata":0.038461538461538464,"and":0.038461538461538464,"getchildren":0.038461538461538464,"following":0.038461538461538464,"list":0.038461538461538464,"details":0.038461538461538464,"events":0.038461538461538464,"a":0.038461538461538464,"watch":0.038461538461538464,"trigger":0.038461538461538464,"enable":0.038461538461538464,"them":0.038461538461538464},"1439":{"created":0.125,"event":0.125,"enabled":0.125,"with":0.125,"a":0.125,"call":0.125,"to":0.125,"exists":0.125},"1440":{"deleted":0.09090909090909091,"event":0.09090909090909091,"enabled":0.09090909090909091,"with":0.09090909090909091,"a":0.09090909090909091,"call":0.09090909090909091,"to":0.09090909090909091,"exists":0.09090909090909091,"getdata":0.09090909090909091,"and":0.09090909090909091,"getchildren":0.09090909090909091},"1441":{"changed":0.1,"event":0.1,"enabled":0.1,"with":0.1,"a":0.1,"call":0.1,"to":0.1,"exists":0.1,"and":0.1,"getdata":0.1},"1442":{"child":0.125,"event":0.125,"enabled":0.125,"with":0.125,"a":0.125,"call":0.125,"to":0.125,"getchildren":0.125},"1443":{"0":0.017543859649122806,"3":0.017543859649122806,"6":0.017543859649122806,"new":0.017543859649122806,"in":0.017543859649122806,"there":0.017543859649122806,"is":0.017543859649122806,"now":0.017543859649122806,"a":0.017543859649122806,"variation":0.017543859649122806,"on":0.017543859649122806,"the":0.017543859649122806,"standard":0.017543859649122806,"watch":0.017543859649122806,"described":0.017543859649122806,"above":0.017543859649122806,"whereby":0.017543859649122806,"you":0.017543859649122806,"can":0.017543859649122806,"set":0.017543859649122806,"that":0.017543859649122806,"does":0.017543859649122806,"not":0.017543859649122806,"get":0.017543859649122806,"removed":0.017543859649122806,"when":0.017543859649122806,"triggered":0.017543859649122806,"additionally":0.017543859649122806,"these":0.017543859649122806,"watches":0.017543859649122806,"trigger":0.017543859649122806,"event":0.017543859649122806,"types":0.017543859649122806,"nodecreated":0.017543859649122806,"nodedeleted":0.017543859649122806,"and":0.017543859649122806,"nodedatachanged":0.017543859649122806,"optionally":0.017543859649122806,"recursively":0.017543859649122806,"for":0.017543859649122806,"all":0.017543859649122806,"znodes":0.017543859649122806,"starting":0.017543859649122806,"at":0.017543859649122806,"znode":0.017543859649122806,"registered":0.017543859649122806,"note":0.017543859649122806,"nodechildrenchanged":0.017543859649122806,"events":0.017543859649122806,"are":0.017543859649122806,"persistent":0.017543859649122806,"recursive":0.017543859649122806,"as":0.017543859649122806,"it":0.017543859649122806,"would":0.017543859649122806,"be":0.017543859649122806,"redundant":0.017543859649122806},"1444":{"persistent":0.02564102564102564,"watches":0.02564102564102564,"are":0.02564102564102564,"set":0.02564102564102564,"using":0.02564102564102564,"the":0.02564102564102564,"method":0.02564102564102564,"addwatch":0.02564102564102564,"triggering":0.02564102564102564,"semantics":0.02564102564102564,"and":0.02564102564102564,"guarantees":0.02564102564102564,"other":0.02564102564102564,"than":0.02564102564102564,"one-time":0.02564102564102564,"same":0.02564102564102564,"as":0.02564102564102564,"standard":0.02564102564102564,"only":0.02564102564102564,"exception":0.02564102564102564,"regarding":0.02564102564102564,"events":0.02564102564102564,"is":0.02564102564102564,"that":0.02564102564102564,"recursive":0.02564102564102564,"watchers":0.02564102564102564,"never":0.02564102564102564,"trigger":0.02564102564102564,"child":0.02564102564102564,"changed":0.02564102564102564,"they":0.02564102564102564,"redundant":0.02564102564102564,"removed":0.02564102564102564,"removewatches":0.02564102564102564,"with":0.02564102564102564,"watcher":0.02564102564102564,"type":0.02564102564102564,"watchertype":0.02564102564102564,"any":0.02564102564102564},"1445":{"we":0.024390243902439025,"can":0.024390243902439025,"remove":0.024390243902439025,"the":0.024390243902439025,"watches":0.024390243902439025,"registered":0.024390243902439025,"on":0.024390243902439025,"a":0.024390243902439025,"znode":0.024390243902439025,"with":0.024390243902439025,"call":0.024390243902439025,"to":0.024390243902439025,"removewatches":0.024390243902439025,"also":0.024390243902439025,"zookeeper":0.024390243902439025,"client":0.024390243902439025,"locally":0.024390243902439025,"even":0.024390243902439025,"if":0.024390243902439025,"there":0.024390243902439025,"is":0.024390243902439025,"no":0.024390243902439025,"server":0.024390243902439025,"connection":0.024390243902439025,"by":0.024390243902439025,"setting":0.024390243902439025,"local":0.024390243902439025,"flag":0.024390243902439025,"true":0.024390243902439025,"following":0.024390243902439025,"list":0.024390243902439025,"details":0.024390243902439025,"events":0.024390243902439025,"which":0.024390243902439025,"will":0.024390243902439025,"be":0.024390243902439025,"triggered":0.024390243902439025,"after":0.024390243902439025,"successful":0.024390243902439025,"watch":0.024390243902439025,"removal":0.024390243902439025},"1446":{"child":0.08333333333333333,"remove":0.08333333333333333,"event":0.08333333333333333,"watcher":0.08333333333333333,"which":0.08333333333333333,"was":0.08333333333333333,"added":0.08333333333333333,"with":0.08333333333333333,"a":0.08333333333333333,"call":0.08333333333333333,"to":0.08333333333333333,"getchildren":0.08333333333333333},"1447":{"data":0.07142857142857142,"remove":0.07142857142857142,"event":0.07142857142857142,"watcher":0.07142857142857142,"which":0.07142857142857142,"was":0.07142857142857142,"added":0.07142857142857142,"with":0.07142857142857142,"a":0.07142857142857142,"call":0.07142857142857142,"to":0.07142857142857142,"exists":0.07142857142857142,"or":0.07142857142857142,"getdata":0.07142857142857142},"1448":{"persistent":0.07692307692307693,"remove":0.07692307692307693,"event":0.07692307692307693,"watcher":0.07692307692307693,"which":0.07692307692307693,"was":0.07692307692307693,"added":0.07692307692307693,"with":0.07692307692307693,"a":0.07692307692307693,"call":0.07692307692307693,"to":0.07692307692307693,"add":0.07692307692307693,"watch":0.07692307692307693},"1449":{"with":0.125,"regard":0.125,"to":0.125,"watches":0.125,"zookeeper":0.125,"maintains":0.125,"these":0.125,"guarantees":0.125},"1450":{"watches":0.045454545454545456,"are":0.045454545454545456,"ordered":0.045454545454545456,"with":0.045454545454545456,"respect":0.045454545454545456,"to":0.045454545454545456,"other":0.045454545454545456,"events":0.045454545454545456,"and":0.045454545454545456,"asynchronous":0.045454545454545456,"replies":0.045454545454545456,"the":0.045454545454545456,"zookeeper":0.045454545454545456,"client":0.045454545454545456,"libraries":0.045454545454545456,"ensures":0.045454545454545456,"that":0.045454545454545456,"everything":0.045454545454545456,"is":0.045454545454545456,"dispatched":0.045454545454545456,"in":0.045454545454545456,"order":0.045454545454545456},"1451":{"a":0.05263157894736842,"client":0.05263157894736842,"will":0.05263157894736842,"see":0.05263157894736842,"watch":0.05263157894736842,"event":0.05263157894736842,"for":0.05263157894736842,"znode":0.05263157894736842,"it":0.05263157894736842,"is":0.05263157894736842,"watching":0.05263157894736842,"before":0.05263157894736842,"seeing":0.05263157894736842,"the":0.05263157894736842,"new":0.05263157894736842,"data":0.05263157894736842,"that":0.05263157894736842,"corresponds":0.05263157894736842,"to":0.05263157894736842},"1452":{"the":0.07142857142857142,"order":0.07142857142857142,"of":0.07142857142857142,"watch":0.07142857142857142,"events":0.07142857142857142,"from":0.07142857142857142,"zookeeper":0.07142857142857142,"corresponds":0.07142857142857142,"to":0.07142857142857142,"updates":0.07142857142857142,"as":0.07142857142857142,"seen":0.07142857142857142,"by":0.07142857142857142,"service":0.07142857142857142},"1453":{"standard":0.045454545454545456,"watches":0.045454545454545456,"are":0.045454545454545456,"one":0.045454545454545456,"time":0.045454545454545456,"triggers":0.045454545454545456,"if":0.045454545454545456,"you":0.045454545454545456,"get":0.045454545454545456,"a":0.045454545454545456,"watch":0.045454545454545456,"event":0.045454545454545456,"and":0.045454545454545456,"want":0.045454545454545456,"to":0.045454545454545456,"notified":0.045454545454545456,"of":0.045454545454545456,"future":0.045454545454545456,"changes":0.045454545454545456,"must":0.045454545454545456,"set":0.045454545454545456,"another":0.045454545454545456},"1454":{"because":0.018867924528301886,"standard":0.018867924528301886,"watches":0.018867924528301886,"are":0.018867924528301886,"one":0.018867924528301886,"time":0.018867924528301886,"triggers":0.018867924528301886,"and":0.018867924528301886,"there":0.018867924528301886,"is":0.018867924528301886,"latency":0.018867924528301886,"between":0.018867924528301886,"getting":0.018867924528301886,"the":0.018867924528301886,"event":0.018867924528301886,"sending":0.018867924528301886,"a":0.018867924528301886,"new":0.018867924528301886,"request":0.018867924528301886,"to":0.018867924528301886,"get":0.018867924528301886,"watch":0.018867924528301886,"you":0.018867924528301886,"cannot":0.018867924528301886,"reliably":0.018867924528301886,"see":0.018867924528301886,"every":0.018867924528301886,"change":0.018867924528301886,"that":0.018867924528301886,"happens":0.018867924528301886,"node":0.018867924528301886,"in":0.018867924528301886,"zookeeper":0.018867924528301886,"be":0.018867924528301886,"prepared":0.018867924528301886,"handle":0.018867924528301886,"case":0.018867924528301886,"where":0.018867924528301886,"znode":0.018867924528301886,"changes":0.018867924528301886,"multiple":0.018867924528301886,"times":0.018867924528301886,"setting":0.018867924528301886,"again":0.018867924528301886,"may":0.018867924528301886,"not":0.018867924528301886,"care":0.018867924528301886,"but":0.018867924528301886,"at":0.018867924528301886,"least":0.018867924528301886,"realize":0.018867924528301886,"it":0.018867924528301886,"happen":0.018867924528301886},"1455":{"a":0.029411764705882353,"watch":0.029411764705882353,"object":0.029411764705882353,"or":0.029411764705882353,"function":0.029411764705882353,"context":0.029411764705882353,"pair":0.029411764705882353,"will":0.029411764705882353,"only":0.029411764705882353,"be":0.029411764705882353,"triggered":0.029411764705882353,"once":0.029411764705882353,"for":0.029411764705882353,"given":0.029411764705882353,"notification":0.029411764705882353,"example":0.029411764705882353,"if":0.029411764705882353,"the":0.029411764705882353,"same":0.029411764705882353,"is":0.029411764705882353,"registered":0.029411764705882353,"an":0.029411764705882353,"exists":0.029411764705882353,"and":0.029411764705882353,"getdata":0.029411764705882353,"call":0.029411764705882353,"file":0.029411764705882353,"that":0.029411764705882353,"then":0.029411764705882353,"deleted":0.029411764705882353,"would":0.029411764705882353,"invoked":0.029411764705882353,"with":0.029411764705882353,"deletion":0.029411764705882353},"1456":{"when":0.02127659574468085,"you":0.02127659574468085,"disconnect":0.02127659574468085,"from":0.02127659574468085,"a":0.02127659574468085,"server":0.02127659574468085,"for":0.02127659574468085,"example":0.02127659574468085,"the":0.02127659574468085,"fails":0.02127659574468085,"will":0.02127659574468085,"not":0.02127659574468085,"get":0.02127659574468085,"any":0.02127659574468085,"watches":0.02127659574468085,"until":0.02127659574468085,"connection":0.02127659574468085,"is":0.02127659574468085,"reestablished":0.02127659574468085,"this":0.02127659574468085,"reason":0.02127659574468085,"session":0.02127659574468085,"events":0.02127659574468085,"are":0.02127659574468085,"sent":0.02127659574468085,"to":0.02127659574468085,"all":0.02127659574468085,"outstanding":0.02127659574468085,"watch":0.02127659574468085,"handlers":0.02127659574468085,"use":0.02127659574468085,"go":0.02127659574468085,"into":0.02127659574468085,"safe":0.02127659574468085,"mode":0.02127659574468085,"be":0.02127659574468085,"receiving":0.02127659574468085,"while":0.02127659574468085,"disconnected":0.02127659574468085,"so":0.02127659574468085,"your":0.02127659574468085,"process":0.02127659574468085,"should":0.02127659574468085,"act":0.02127659574468085,"conservatively":0.02127659574468085,"in":0.02127659574468085,"that":0.02127659574468085},"1457":{"recipes":0.3333333333333333,"and":0.3333333333333333,"solutions":0.3333333333333333},"1458":{"guidelines":0.0625,"for":0.0625,"using":0.0625,"zookeeper":0.0625,"to":0.0625,"implement":0.0625,"higher-order":0.0625,"constructs":0.0625,"such":0.0625,"as":0.0625,"barriers":0.0625,"queues":0.0625,"locks":0.0625,"and":0.0625,"leader":0.0625,"election":0.0625},"1459":{"a":0.125,"guide":0.125,"to":0.125,"creating":0.125,"higher-level":0.125,"constructs":0.125,"with":0.125,"zookeeper":0.125},"1460":{"important":0.2,"note":0.2,"about":0.2,"error":0.2,"handling":0.2},"1461":{"out":0.1,"of":0.1,"the":0.1,"box":0.1,"applications":0.1,"name":0.1,"service":0.1,"configuration":0.1,"group":0.1,"membership":0.1},"1462":{"barriers":1},"1463":{"double":0.5,"barriers":0.5},"1464":{"queues":1},"1465":{"priority":0.5,"queues":0.5},"1466":{"locks":1},"1467":{"recoverable":0.2,"errors":0.2,"and":0.2,"the":0.2,"guid":0.2},"1468":{"shared":0.5,"locks":0.5},"1469":{"revocable":0.3333333333333333,"shared":0.3333333333333333,"locks":0.3333333333333333},"1470":{"two-phased":0.5,"commit":0.5},"1471":{"leader":0.5,"election":0.5},"1472":{"in":0.023809523809523808,"this":0.023809523809523808,"article":0.023809523809523808,"you'll":0.023809523809523808,"find":0.023809523809523808,"guidelines":0.023809523809523808,"for":0.023809523809523808,"using":0.023809523809523808,"zookeeper":0.023809523809523808,"to":0.023809523809523808,"implement":0.023809523809523808,"higher":0.023809523809523808,"order":0.023809523809523808,"functions":0.023809523809523808,"all":0.023809523809523808,"of":0.023809523809523808,"them":0.023809523809523808,"are":0.023809523809523808,"conventions":0.023809523809523808,"implemented":0.023809523809523808,"at":0.023809523809523808,"the":0.023809523809523808,"client":0.023809523809523808,"and":0.023809523809523808,"do":0.023809523809523808,"not":0.023809523809523808,"require":0.023809523809523808,"special":0.023809523809523808,"support":0.023809523809523808,"from":0.023809523809523808,"hopefully":0.023809523809523808,"community":0.023809523809523808,"will":0.023809523809523808,"capture":0.023809523809523808,"these":0.023809523809523808,"client-side":0.023809523809523808,"libraries":0.023809523809523808,"ease":0.023809523809523808,"their":0.023809523809523808,"use":0.023809523809523808,"encourage":0.023809523809523808,"standardization":0.023809523809523808},"1473":{"one":0.022727272727272728,"of":0.022727272727272728,"the":0.022727272727272728,"most":0.022727272727272728,"interesting":0.022727272727272728,"things":0.022727272727272728,"about":0.022727272727272728,"zookeeper":0.022727272727272728,"is":0.022727272727272728,"that":0.022727272727272728,"even":0.022727272727272728,"though":0.022727272727272728,"uses":0.022727272727272728,"asynchronous":0.022727272727272728,"notifications":0.022727272727272728,"you":0.022727272727272728,"can":0.022727272727272728,"use":0.022727272727272728,"it":0.022727272727272728,"to":0.022727272727272728,"build":0.022727272727272728,"synchronous":0.022727272727272728,"consistency":0.022727272727272728,"primitives":0.022727272727272728,"such":0.022727272727272728,"as":0.022727272727272728,"queues":0.022727272727272728,"and":0.022727272727272728,"locks":0.022727272727272728,"will":0.022727272727272728,"see":0.022727272727272728,"this":0.022727272727272728,"possible":0.022727272727272728,"because":0.022727272727272728,"imposes":0.022727272727272728,"an":0.022727272727272728,"overall":0.022727272727272728,"order":0.022727272727272728,"on":0.022727272727272728,"updates":0.022727272727272728,"has":0.022727272727272728,"mechanisms":0.022727272727272728,"expose":0.022727272727272728,"ordering":0.022727272727272728},"1474":{"note":0.03225806451612903,"that":0.03225806451612903,"the":0.03225806451612903,"recipes":0.03225806451612903,"below":0.03225806451612903,"attempt":0.03225806451612903,"to":0.03225806451612903,"employ":0.03225806451612903,"best":0.03225806451612903,"practices":0.03225806451612903,"in":0.03225806451612903,"particular":0.03225806451612903,"they":0.03225806451612903,"avoid":0.03225806451612903,"polling":0.03225806451612903,"timers":0.03225806451612903,"or":0.03225806451612903,"anything":0.03225806451612903,"else":0.03225806451612903,"would":0.03225806451612903,"result":0.03225806451612903,"a":0.03225806451612903,"herd":0.03225806451612903,"effect":0.03225806451612903,"causing":0.03225806451612903,"bursts":0.03225806451612903,"of":0.03225806451612903,"traffic":0.03225806451612903,"and":0.03225806451612903,"limiting":0.03225806451612903,"scalability":0.03225806451612903},"1475":{"there":0.017241379310344827,"are":0.017241379310344827,"many":0.017241379310344827,"useful":0.017241379310344827,"functions":0.017241379310344827,"that":0.017241379310344827,"can":0.017241379310344827,"be":0.017241379310344827,"imagined":0.017241379310344827,"aren't":0.017241379310344827,"included":0.017241379310344827,"here":0.017241379310344827,"-":0.017241379310344827,"revocable":0.017241379310344827,"read-write":0.017241379310344827,"priority":0.017241379310344827,"locks":0.017241379310344827,"as":0.017241379310344827,"just":0.017241379310344827,"one":0.017241379310344827,"example":0.017241379310344827,"and":0.017241379310344827,"some":0.017241379310344827,"of":0.017241379310344827,"the":0.017241379310344827,"constructs":0.017241379310344827,"mentioned":0.017241379310344827,"in":0.017241379310344827,"particular":0.017241379310344827,"illustrate":0.017241379310344827,"certain":0.017241379310344827,"points":0.017241379310344827,"even":0.017241379310344827,"though":0.017241379310344827,"you":0.017241379310344827,"may":0.017241379310344827,"find":0.017241379310344827,"other":0.017241379310344827,"such":0.017241379310344827,"event":0.017241379310344827,"handles":0.017241379310344827,"or":0.017241379310344827,"queues":0.017241379310344827,"a":0.017241379310344827,"more":0.017241379310344827,"practical":0.017241379310344827,"means":0.017241379310344827,"performing":0.017241379310344827,"same":0.017241379310344827,"function":0.017241379310344827,"general":0.017241379310344827,"examples":0.017241379310344827,"this":0.017241379310344827,"section":0.017241379310344827,"designed":0.017241379310344827,"to":0.017241379310344827,"stimulate":0.017241379310344827,"thought":0.017241379310344827},"1476":{"when":0.016129032258064516,"implementing":0.016129032258064516,"the":0.016129032258064516,"recipes":0.016129032258064516,"you":0.016129032258064516,"must":0.016129032258064516,"handle":0.016129032258064516,"recoverable":0.016129032258064516,"exceptions":0.016129032258064516,"see":0.016129032258064516,"faq":0.016129032258064516,"in":0.016129032258064516,"particular":0.016129032258064516,"several":0.016129032258064516,"of":0.016129032258064516,"employ":0.016129032258064516,"sequential":0.016129032258064516,"ephemeral":0.016129032258064516,"nodes":0.016129032258064516,"creating":0.016129032258064516,"a":0.016129032258064516,"node":0.016129032258064516,"there":0.016129032258064516,"is":0.016129032258064516,"an":0.016129032258064516,"error":0.016129032258064516,"case":0.016129032258064516,"which":0.016129032258064516,"create":0.016129032258064516,"succeeds":0.016129032258064516,"on":0.016129032258064516,"server":0.016129032258064516,"but":0.016129032258064516,"crashes":0.016129032258064516,"before":0.016129032258064516,"returning":0.016129032258064516,"name":0.016129032258064516,"to":0.016129032258064516,"client":0.016129032258064516,"reconnects":0.016129032258064516,"its":0.016129032258064516,"session":0.016129032258064516,"still":0.016129032258064516,"valid":0.016129032258064516,"and":0.016129032258064516,"thus":0.016129032258064516,"not":0.016129032258064516,"removed":0.016129032258064516,"implication":0.016129032258064516,"that":0.016129032258064516,"it":0.016129032258064516,"difficult":0.016129032258064516,"for":0.016129032258064516,"know":0.016129032258064516,"if":0.016129032258064516,"was":0.016129032258064516,"created":0.016129032258064516,"or":0.016129032258064516,"below":0.016129032258064516,"include":0.016129032258064516,"measures":0.016129032258064516,"this":0.016129032258064516},"1477":{"name":0.058823529411764705,"service":0.058823529411764705,"and":0.058823529411764705,"configuration":0.058823529411764705,"are":0.058823529411764705,"two":0.058823529411764705,"of":0.058823529411764705,"the":0.058823529411764705,"primary":0.058823529411764705,"applications":0.058823529411764705,"zookeeper":0.058823529411764705,"these":0.058823529411764705,"functions":0.058823529411764705,"provided":0.058823529411764705,"directly":0.058823529411764705,"by":0.058823529411764705,"api":0.058823529411764705},"1478":{"another":0.034482758620689655,"function":0.034482758620689655,"directly":0.034482758620689655,"provided":0.034482758620689655,"by":0.034482758620689655,"zookeeper":0.034482758620689655,"is":0.034482758620689655,"group":0.034482758620689655,"membership":0.034482758620689655,"the":0.034482758620689655,"represented":0.034482758620689655,"a":0.034482758620689655,"node":0.034482758620689655,"members":0.034482758620689655,"of":0.034482758620689655,"create":0.034482758620689655,"ephemeral":0.034482758620689655,"nodes":0.034482758620689655,"under":0.034482758620689655,"that":0.034482758620689655,"fail":0.034482758620689655,"abnormally":0.034482758620689655,"will":0.034482758620689655,"be":0.034482758620689655,"removed":0.034482758620689655,"automatically":0.034482758620689655,"when":0.034482758620689655,"detects":0.034482758620689655,"failure":0.034482758620689655},"1479":{"distributed":0.027777777777777776,"systems":0.027777777777777776,"use":0.027777777777777776,"barriers":0.027777777777777776,"to":0.027777777777777776,"block":0.027777777777777776,"processing":0.027777777777777776,"of":0.027777777777777776,"a":0.027777777777777776,"set":0.027777777777777776,"nodes":0.027777777777777776,"until":0.027777777777777776,"condition":0.027777777777777776,"is":0.027777777777777776,"met":0.027777777777777776,"at":0.027777777777777776,"which":0.027777777777777776,"time":0.027777777777777776,"all":0.027777777777777776,"the":0.027777777777777776,"are":0.027777777777777776,"allowed":0.027777777777777776,"proceed":0.027777777777777776,"implemented":0.027777777777777776,"in":0.027777777777777776,"zookeeper":0.027777777777777776,"by":0.027777777777777776,"designating":0.027777777777777776,"barrier":0.027777777777777776,"node":0.027777777777777776,"place":0.027777777777777776,"if":0.027777777777777776,"exists":0.027777777777777776,"here's":0.027777777777777776,"pseudo":0.027777777777777776,"code":0.027777777777777776},"1480":{"client":0.06666666666666667,"calls":0.06666666666666667,"the":0.06666666666666667,"zookeeper":0.06666666666666667,"api's":0.06666666666666667,"exists":0.06666666666666667,"function":0.06666666666666667,"on":0.06666666666666667,"barrier":0.06666666666666667,"node":0.06666666666666667,"with":0.06666666666666667,"watch":0.06666666666666667,"set":0.06666666666666667,"to":0.06666666666666667,"true":0.06666666666666667},"1481":{"if":0.09090909090909091,"exists":0.09090909090909091,"returns":0.09090909090909091,"false":0.09090909090909091,"the":0.09090909090909091,"barrier":0.09090909090909091,"is":0.09090909090909091,"gone":0.09090909090909091,"and":0.09090909090909091,"client":0.09090909090909091,"proceeds":0.09090909090909091},"1482":{"else":0.0625,"if":0.0625,"exists":0.0625,"returns":0.0625,"true":0.0625,"the":0.0625,"clients":0.0625,"wait":0.0625,"for":0.0625,"a":0.0625,"watch":0.0625,"event":0.0625,"from":0.0625,"zookeeper":0.0625,"barrier":0.0625,"node":0.0625},"1483":{"when":0.0625,"the":0.0625,"watch":0.0625,"event":0.0625,"is":0.0625,"triggered":0.0625,"client":0.0625,"reissues":0.0625,"exists":0.0625,"call":0.0625,"again":0.0625,"waiting":0.0625,"until":0.0625,"barrier":0.0625,"node":0.0625,"removed":0.0625},"1484":{"double":0.030303030303030304,"barriers":0.030303030303030304,"enable":0.030303030303030304,"clients":0.030303030303030304,"to":0.030303030303030304,"synchronize":0.030303030303030304,"the":0.030303030303030304,"beginning":0.030303030303030304,"and":0.030303030303030304,"end":0.030303030303030304,"of":0.030303030303030304,"a":0.030303030303030304,"computation":0.030303030303030304,"when":0.030303030303030304,"enough":0.030303030303030304,"processes":0.030303030303030304,"have":0.030303030303030304,"joined":0.030303030303030304,"barrier":0.030303030303030304,"start":0.030303030303030304,"their":0.030303030303030304,"leave":0.030303030303030304,"once":0.030303030303030304,"they":0.030303030303030304,"finished":0.030303030303030304,"this":0.030303030303030304,"recipe":0.030303030303030304,"shows":0.030303030303030304,"how":0.030303030303030304,"use":0.030303030303030304,"zookeeper":0.030303030303030304,"node":0.030303030303030304,"as":0.030303030303030304},"1485":{"the":0.021739130434782608,"pseudo":0.021739130434782608,"code":0.021739130434782608,"in":0.021739130434782608,"this":0.021739130434782608,"recipe":0.021739130434782608,"represents":0.021739130434782608,"barrier":0.021739130434782608,"node":0.021739130434782608,"as":0.021739130434782608,"b":0.021739130434782608,"every":0.021739130434782608,"client":0.021739130434782608,"process":0.021739130434782608,"p":0.021739130434782608,"registers":0.021739130434782608,"with":0.021739130434782608,"on":0.021739130434782608,"entry":0.021739130434782608,"and":0.021739130434782608,"unregisters":0.021739130434782608,"when":0.021739130434782608,"it":0.021739130434782608,"is":0.021739130434782608,"ready":0.021739130434782608,"to":0.021739130434782608,"leave":0.021739130434782608,"a":0.021739130434782608,"via":0.021739130434782608,"enter":0.021739130434782608,"procedure":0.021739130434782608,"below":0.021739130434782608,"waits":0.021739130434782608,"until":0.021739130434782608,"x":0.021739130434782608,"register":0.021739130434782608,"before":0.021739130434782608,"proceeding":0.021739130434782608,"computation":0.021739130434782608,"here":0.021739130434782608,"up":0.021739130434782608,"you":0.021739130434782608,"determine":0.021739130434782608,"for":0.021739130434782608,"your":0.021739130434782608,"system":0.021739130434782608},"1486":{"enter":1},"1487":{"leave":1},"1488":{"1":0.14285714285714285,"create":0.14285714285714285,"a":0.14285714285714285,"name":0.14285714285714285,"n":0.14285714285714285,"_b":0.14285714285714285,"_p":0.14285714285714285},"1489":{"1":0.2,"l":0.2,"getchildren":0.2,"b":0.2,"false":0.2},"1490":{"2":0.14285714285714285,"set":0.14285714285714285,"watch":0.14285714285714285,"exists":0.14285714285714285,"b":0.14285714285714285,"ready":0.14285714285714285,"true":0.14285714285714285},"1491":{"2":0.2,"if":0.2,"no":0.2,"children":0.2,"exit":0.2},"1492":{"3":0.2,"create":0.2,"child":0.2,"n":0.2,"ephemeral":0.2},"1493":{"3":0.07692307692307693,"if":0.07692307692307693,"p":0.07692307692307693,"is":0.07692307692307693,"only":0.07692307692307693,"process":0.07692307692307693,"node":0.07692307692307693,"in":0.07692307692307693,"l":0.07692307692307693,"delete":0.07692307692307693,"n":0.07692307692307693,"and":0.07692307692307693,"exit":0.07692307692307693},"1494":{"4":0.2,"l":0.2,"getchildren":0.2,"b":0.2,"false":0.2},"1495":{"4":0.07692307692307693,"if":0.07692307692307693,"p":0.07692307692307693,"is":0.07692307692307693,"the":0.07692307692307693,"lowest":0.07692307692307693,"process":0.07692307692307693,"node":0.07692307692307693,"in":0.07692307692307693,"l":0.07692307692307693,"wait":0.07692307692307693,"on":0.07692307692307693,"highest":0.07692307692307693},"1496":{"5":0.09090909090909091,"if":0.09090909090909091,"fewer":0.09090909090909091,"children":0.09090909090909091,"in":0.09090909090909091,"l":0.09090909090909091,"thanx":0.09090909090909091,"wait":0.09090909090909091,"for":0.09090909090909091,"watch":0.09090909090909091,"event":0.09090909090909091},"1497":{"5":0.06666666666666667,"else":0.06666666666666667,"delete":0.06666666666666667,"n":0.06666666666666667,"if":0.06666666666666667,"still":0.06666666666666667,"exists":0.06666666666666667,"and":0.06666666666666667,"wait":0.06666666666666667,"on":0.06666666666666667,"lowest":0.06666666666666667,"process":0.06666666666666667,"node":0.06666666666666667,"in":0.06666666666666667,"l":0.06666666666666667},"1498":{"6":0.16666666666666666,"else":0.16666666666666666,"create":0.16666666666666666,"b":0.16666666666666666,"ready":0.16666666666666666,"regular":0.16666666666666666},"1499":{"1":0.3333333333333333,"6":0.3333333333333333,"goto":0.3333333333333333},"1500":{"5":0.018867924528301886,"on":0.018867924528301886,"entering":0.018867924528301886,"all":0.018867924528301886,"processes":0.018867924528301886,"watch":0.018867924528301886,"a":0.018867924528301886,"ready":0.018867924528301886,"node":0.018867924528301886,"and":0.018867924528301886,"create":0.018867924528301886,"an":0.018867924528301886,"ephemeral":0.018867924528301886,"as":0.018867924528301886,"child":0.018867924528301886,"of":0.018867924528301886,"the":0.018867924528301886,"barrier":0.018867924528301886,"each":0.018867924528301886,"process":0.018867924528301886,"but":0.018867924528301886,"last":0.018867924528301886,"enters":0.018867924528301886,"waits":0.018867924528301886,"for":0.018867924528301886,"to":0.018867924528301886,"appear":0.018867924528301886,"at":0.018867924528301886,"line":0.018867924528301886,"that":0.018867924528301886,"creates":0.018867924528301886,"xth":0.018867924528301886,"will":0.018867924528301886,"see":0.018867924528301886,"x":0.018867924528301886,"nodes":0.018867924528301886,"in":0.018867924528301886,"list":0.018867924528301886,"children":0.018867924528301886,"waking":0.018867924528301886,"up":0.018867924528301886,"other":0.018867924528301886,"note":0.018867924528301886,"waiting":0.018867924528301886,"wake":0.018867924528301886,"only":0.018867924528301886,"when":0.018867924528301886,"it":0.018867924528301886,"is":0.018867924528301886,"time":0.018867924528301886,"exit":0.018867924528301886,"so":0.018867924528301886,"efficient":0.018867924528301886},"1501":{"on":0.020833333333333332,"exit":0.020833333333333332,"you":0.020833333333333332,"can't":0.020833333333333332,"use":0.020833333333333332,"a":0.020833333333333332,"flag":0.020833333333333332,"such":0.020833333333333332,"as":0.020833333333333332,"ready":0.020833333333333332,"because":0.020833333333333332,"are":0.020833333333333332,"watching":0.020833333333333332,"for":0.020833333333333332,"process":0.020833333333333332,"nodes":0.020833333333333332,"to":0.020833333333333332,"go":0.020833333333333332,"away":0.020833333333333332,"by":0.020833333333333332,"using":0.020833333333333332,"ephemeral":0.020833333333333332,"processes":0.020833333333333332,"that":0.020833333333333332,"fail":0.020833333333333332,"after":0.020833333333333332,"the":0.020833333333333332,"barrier":0.020833333333333332,"has":0.020833333333333332,"been":0.020833333333333332,"entered":0.020833333333333332,"do":0.020833333333333332,"not":0.020833333333333332,"prevent":0.020833333333333332,"correct":0.020833333333333332,"from":0.020833333333333332,"finishing":0.020833333333333332,"when":0.020833333333333332,"leave":0.020833333333333332,"they":0.020833333333333332,"need":0.020833333333333332,"delete":0.020833333333333332,"their":0.020833333333333332,"and":0.020833333333333332,"wait":0.020833333333333332,"all":0.020833333333333332,"other":0.020833333333333332,"same":0.020833333333333332},"1502":{"processes":0.017543859649122806,"exit":0.017543859649122806,"when":0.017543859649122806,"there":0.017543859649122806,"are":0.017543859649122806,"no":0.017543859649122806,"process":0.017543859649122806,"nodes":0.017543859649122806,"left":0.017543859649122806,"as":0.017543859649122806,"children":0.017543859649122806,"of":0.017543859649122806,"b":0.017543859649122806,"however":0.017543859649122806,"an":0.017543859649122806,"efficiency":0.017543859649122806,"you":0.017543859649122806,"can":0.017543859649122806,"use":0.017543859649122806,"the":0.017543859649122806,"lowest":0.017543859649122806,"node":0.017543859649122806,"ready":0.017543859649122806,"flag":0.017543859649122806,"all":0.017543859649122806,"other":0.017543859649122806,"that":0.017543859649122806,"to":0.017543859649122806,"watch":0.017543859649122806,"for":0.017543859649122806,"existing":0.017543859649122806,"go":0.017543859649122806,"away":0.017543859649122806,"and":0.017543859649122806,"owner":0.017543859649122806,"watches":0.017543859649122806,"any":0.017543859649122806,"picking":0.017543859649122806,"highest":0.017543859649122806,"simplicity":0.017543859649122806,"this":0.017543859649122806,"means":0.017543859649122806,"only":0.017543859649122806,"a":0.017543859649122806,"single":0.017543859649122806,"wakes":0.017543859649122806,"up":0.017543859649122806,"on":0.017543859649122806,"each":0.017543859649122806,"deletion":0.017543859649122806,"except":0.017543859649122806,"last":0.017543859649122806,"which":0.017543859649122806,"everyone":0.017543859649122806,"it":0.017543859649122806,"is":0.017543859649122806,"removed":0.017543859649122806},"1503":{"distributed":0.011627906976744186,"queues":0.011627906976744186,"are":0.011627906976744186,"a":0.011627906976744186,"common":0.011627906976744186,"data":0.011627906976744186,"structure":0.011627906976744186,"to":0.011627906976744186,"implement":0.011627906976744186,"queue":0.011627906976744186,"in":0.011627906976744186,"zookeeper":0.011627906976744186,"first":0.011627906976744186,"designate":0.011627906976744186,"znode":0.011627906976744186,"hold":0.011627906976744186,"the":0.011627906976744186,"node":0.011627906976744186,"clients":0.011627906976744186,"put":0.011627906976744186,"something":0.011627906976744186,"into":0.011627906976744186,"by":0.011627906976744186,"calling":0.011627906976744186,"create":0.011627906976744186,"with":0.011627906976744186,"pathname":0.011627906976744186,"ending":0.011627906976744186,"queue-":0.011627906976744186,"sequence":0.011627906976744186,"and":0.011627906976744186,"ephemeral":0.011627906976744186,"flags":0.011627906976744186,"call":0.011627906976744186,"set":0.011627906976744186,"true":0.011627906976744186,"because":0.011627906976744186,"flag":0.011627906976744186,"is":0.011627906976744186,"new":0.011627906976744186,"will":0.011627906976744186,"have":0.011627906976744186,"form":0.011627906976744186,"path-to-queue-node":0.011627906976744186,"queue-x":0.011627906976744186,"where":0.011627906976744186,"x":0.011627906976744186,"monotonic":0.011627906976744186,"increasing":0.011627906976744186,"number":0.011627906976744186,"client":0.011627906976744186,"that":0.011627906976744186,"wants":0.011627906976744186,"be":0.011627906976744186,"removed":0.011627906976744186,"from":0.011627906976744186,"calls":0.011627906976744186,"zookeeper's":0.011627906976744186,"getchildren":0.011627906976744186,"function":0.011627906976744186,"watch":0.011627906976744186,"on":0.011627906976744186,"begins":0.011627906976744186,"processing":0.011627906976744186,"nodes":0.011627906976744186,"lowest":0.011627906976744186,"does":0.011627906976744186,"not":0.011627906976744186,"need":0.011627906976744186,"issue":0.011627906976744186,"another":0.011627906976744186,"until":0.011627906976744186,"it":0.011627906976744186,"exhausts":0.011627906976744186,"list":0.011627906976744186,"obtained":0.011627906976744186,"if":0.011627906976744186,"there":0.011627906976744186,"no":0.011627906976744186,"children":0.011627906976744186,"reader":0.011627906976744186,"waits":0.011627906976744186,"for":0.011627906976744186,"notification":0.011627906976744186,"check":0.011627906976744186,"again":0.011627906976744186},"1504":{"type":0.5,"info":0.5},"1505":{"there":0.047619047619047616,"now":0.047619047619047616,"exists":0.047619047619047616,"a":0.047619047619047616,"queue":0.047619047619047616,"implementation":0.047619047619047616,"in":0.047619047619047616,"zookeeper":0.047619047619047616,"recipes":0.047619047619047616,"directory":0.047619047619047616,"this":0.047619047619047616,"is":0.047619047619047616,"distributed":0.047619047619047616,"with":0.047619047619047616,"the":0.047619047619047616,"release":0.047619047619047616,"--":0.047619047619047616,"zookeeper-recipes":0.047619047619047616,"zookeeper-recipes-queue":0.047619047619047616,"of":0.047619047619047616,"artifact":0.047619047619047616},"1506":{"to":0.017857142857142856,"implement":0.017857142857142856,"a":0.017857142857142856,"priority":0.017857142857142856,"queue":0.017857142857142856,"you":0.017857142857142856,"need":0.017857142857142856,"only":0.017857142857142856,"make":0.017857142857142856,"two":0.017857142857142856,"simple":0.017857142857142856,"changes":0.017857142857142856,"the":0.017857142857142856,"generic":0.017857142857142856,"recipe":0.017857142857142856,"first":0.017857142857142856,"add":0.017857142857142856,"pathname":0.017857142857142856,"ends":0.017857142857142856,"with":0.017857142857142856,"queue-yy":0.017857142857142856,"where":0.017857142857142856,"yy":0.017857142857142856,"is":0.017857142857142856,"of":0.017857142857142856,"element":0.017857142857142856,"lower":0.017857142857142856,"numbers":0.017857142857142856,"representing":0.017857142857142856,"higher":0.017857142857142856,"just":0.017857142857142856,"like":0.017857142857142856,"unix":0.017857142857142856,"second":0.017857142857142856,"when":0.017857142857142856,"removing":0.017857142857142856,"from":0.017857142857142856,"client":0.017857142857142856,"uses":0.017857142857142856,"an":0.017857142857142856,"up-to-date":0.017857142857142856,"children":0.017857142857142856,"list":0.017857142857142856,"meaning":0.017857142857142856,"that":0.017857142857142856,"will":0.017857142857142856,"invalidate":0.017857142857142856,"previously":0.017857142857142856,"obtained":0.017857142857142856,"lists":0.017857142857142856,"if":0.017857142857142856,"watch":0.017857142857142856,"notification":0.017857142857142856,"triggers":0.017857142857142856,"for":0.017857142857142856,"node":0.017857142857142856},"1507":{"fully":0.027777777777777776,"distributed":0.027777777777777776,"locks":0.027777777777777776,"that":0.027777777777777776,"are":0.027777777777777776,"globally":0.027777777777777776,"synchronous":0.027777777777777776,"meaning":0.027777777777777776,"at":0.027777777777777776,"any":0.027777777777777776,"snapshot":0.027777777777777776,"in":0.027777777777777776,"time":0.027777777777777776,"no":0.027777777777777776,"two":0.027777777777777776,"clients":0.027777777777777776,"think":0.027777777777777776,"they":0.027777777777777776,"hold":0.027777777777777776,"the":0.027777777777777776,"same":0.027777777777777776,"lock":0.027777777777777776,"these":0.027777777777777776,"can":0.027777777777777776,"be":0.027777777777777776,"implemented":0.027777777777777776,"using":0.027777777777777776,"zookeeper":0.027777777777777776,"as":0.027777777777777776,"with":0.027777777777777776,"priority":0.027777777777777776,"queues":0.027777777777777776,"first":0.027777777777777776,"define":0.027777777777777776,"a":0.027777777777777776,"node":0.027777777777777776},"1508":{"type":0.5,"info":0.5},"1509":{"there":0.047619047619047616,"now":0.047619047619047616,"exists":0.047619047619047616,"a":0.047619047619047616,"lock":0.047619047619047616,"implementation":0.047619047619047616,"in":0.047619047619047616,"zookeeper":0.047619047619047616,"recipes":0.047619047619047616,"directory":0.047619047619047616,"this":0.047619047619047616,"is":0.047619047619047616,"distributed":0.047619047619047616,"with":0.047619047619047616,"the":0.047619047619047616,"release":0.047619047619047616,"--":0.047619047619047616,"zookeeper-recipes":0.047619047619047616,"zookeeper-recipes-lock":0.047619047619047616,"of":0.047619047619047616,"artifact":0.047619047619047616},"1510":{"clients":0.1111111111111111,"wishing":0.1111111111111111,"to":0.1111111111111111,"obtain":0.1111111111111111,"a":0.1111111111111111,"lock":0.1111111111111111,"do":0.1111111111111111,"the":0.1111111111111111,"following":0.1111111111111111},"1511":{"call":0.041666666666666664,"create":0.041666666666666664,"with":0.041666666666666664,"a":0.041666666666666664,"pathname":0.041666666666666664,"of":0.041666666666666664,"locknode":0.041666666666666664,"guid-lock-":0.041666666666666664,"and":0.041666666666666664,"the":0.041666666666666664,"sequence":0.041666666666666664,"ephemeral":0.041666666666666664,"flags":0.041666666666666664,"set":0.041666666666666664,"guid":0.041666666666666664,"is":0.041666666666666664,"needed":0.041666666666666664,"in":0.041666666666666664,"case":0.041666666666666664,"result":0.041666666666666664,"missed":0.041666666666666664,"see":0.041666666666666664,"note":0.041666666666666664,"below":0.041666666666666664},"1512":{"call":0.058823529411764705,"getchildren":0.058823529411764705,"on":0.058823529411764705,"the":0.058823529411764705,"lock":0.058823529411764705,"node":0.058823529411764705,"without":0.058823529411764705,"setting":0.058823529411764705,"watch":0.058823529411764705,"flag":0.058823529411764705,"this":0.058823529411764705,"is":0.058823529411764705,"important":0.058823529411764705,"to":0.058823529411764705,"avoid":0.058823529411764705,"herd":0.058823529411764705,"effect":0.058823529411764705},"1513":{"1":0.058823529411764705,"if":0.058823529411764705,"the":0.058823529411764705,"pathname":0.058823529411764705,"created":0.058823529411764705,"in":0.058823529411764705,"step":0.058823529411764705,"has":0.058823529411764705,"lowest":0.058823529411764705,"sequence":0.058823529411764705,"number":0.058823529411764705,"suffix":0.058823529411764705,"client":0.058823529411764705,"lock":0.058823529411764705,"and":0.058823529411764705,"exits":0.058823529411764705,"protocol":0.058823529411764705},"1514":{"the":0.058823529411764705,"client":0.058823529411764705,"calls":0.058823529411764705,"exists":0.058823529411764705,"with":0.058823529411764705,"watch":0.058823529411764705,"flag":0.058823529411764705,"set":0.058823529411764705,"on":0.058823529411764705,"path":0.058823529411764705,"in":0.058823529411764705,"lock":0.058823529411764705,"directory":0.058823529411764705,"next":0.058823529411764705,"lowest":0.058823529411764705,"sequence":0.058823529411764705,"number":0.058823529411764705},"1515":{"2":0.05263157894736842,"if":0.05263157894736842,"exists":0.05263157894736842,"returns":0.05263157894736842,"null":0.05263157894736842,"go":0.05263157894736842,"to":0.05263157894736842,"step":0.05263157894736842,"otherwise":0.05263157894736842,"wait":0.05263157894736842,"for":0.05263157894736842,"a":0.05263157894736842,"notification":0.05263157894736842,"the":0.05263157894736842,"pathname":0.05263157894736842,"from":0.05263157894736842,"previous":0.05263157894736842,"before":0.05263157894736842,"going":0.05263157894736842},"1516":{"1":0.05,"the":0.05,"unlock":0.05,"protocol":0.05,"is":0.05,"very":0.05,"simple":0.05,"clients":0.05,"wishing":0.05,"to":0.05,"release":0.05,"a":0.05,"lock":0.05,"simply":0.05,"delete":0.05,"node":0.05,"they":0.05,"created":0.05,"in":0.05,"step":0.05},"1517":{"here":0.14285714285714285,"are":0.14285714285714285,"a":0.14285714285714285,"few":0.14285714285714285,"things":0.14285714285714285,"to":0.14285714285714285,"notice":0.14285714285714285},"1518":{"the":0.038461538461538464,"removal":0.038461538461538464,"of":0.038461538461538464,"a":0.038461538461538464,"node":0.038461538461538464,"will":0.038461538461538464,"only":0.038461538461538464,"cause":0.038461538461538464,"one":0.038461538461538464,"client":0.038461538461538464,"to":0.038461538461538464,"wake":0.038461538461538464,"up":0.038461538461538464,"since":0.038461538461538464,"each":0.038461538461538464,"is":0.038461538461538464,"watched":0.038461538461538464,"by":0.038461538461538464,"exactly":0.038461538461538464,"in":0.038461538461538464,"this":0.038461538461538464,"way":0.038461538461538464,"you":0.038461538461538464,"avoid":0.038461538461538464,"herd":0.038461538461538464,"effect":0.038461538461538464},"1519":{"there":0.16666666666666666,"is":0.16666666666666666,"no":0.16666666666666666,"polling":0.16666666666666666,"or":0.16666666666666666,"timeouts":0.16666666666666666},"1520":{"because":0.05,"of":0.05,"the":0.05,"way":0.05,"you":0.05,"implement":0.05,"locking":0.05,"it":0.05,"is":0.05,"easy":0.05,"to":0.05,"see":0.05,"amount":0.05,"lock":0.05,"contention":0.05,"break":0.05,"locks":0.05,"debug":0.05,"problems":0.05,"etc":0.05},"1521":{"if":0.027777777777777776,"a":0.027777777777777776,"recoverable":0.027777777777777776,"error":0.027777777777777776,"occurs":0.027777777777777776,"calling":0.027777777777777776,"create":0.027777777777777776,"the":0.027777777777777776,"client":0.027777777777777776,"should":0.027777777777777776,"call":0.027777777777777776,"getchildren":0.027777777777777776,"and":0.027777777777777776,"check":0.027777777777777776,"for":0.027777777777777776,"node":0.027777777777777776,"containing":0.027777777777777776,"guid":0.027777777777777776,"used":0.027777777777777776,"in":0.027777777777777776,"path":0.027777777777777776,"name":0.027777777777777776,"this":0.027777777777777776,"handles":0.027777777777777776,"case":0.027777777777777776,"noted":0.027777777777777776,"above":0.027777777777777776,"of":0.027777777777777776,"succeeding":0.027777777777777776,"on":0.027777777777777776,"server":0.027777777777777776,"but":0.027777777777777776,"crashing":0.027777777777777776,"before":0.027777777777777776,"returning":0.027777777777777776,"new":0.027777777777777776},"1522":{"you":0.07142857142857142,"can":0.07142857142857142,"implement":0.07142857142857142,"shared":0.07142857142857142,"locks":0.07142857142857142,"by":0.07142857142857142,"with":0.07142857142857142,"a":0.07142857142857142,"few":0.07142857142857142,"changes":0.07142857142857142,"to":0.07142857142857142,"the":0.07142857142857142,"lock":0.07142857142857142,"protocol":0.07142857142857142},"1523":{"obtaining":0.25,"a":0.25,"read":0.25,"lock":0.25},"1524":{"obtaining":0.25,"a":0.25,"write":0.25,"lock":0.25},"1525":{"1":0.038461538461538464,"call":0.038461538461538464,"create":0.038461538461538464,"to":0.038461538461538464,"a":0.038461538461538464,"node":0.038461538461538464,"with":0.038461538461538464,"pathname":0.038461538461538464,"guid-":0.038461538461538464,"read-":0.038461538461538464,"this":0.038461538461538464,"is":0.038461538461538464,"the":0.038461538461538464,"lock":0.038461538461538464,"use":0.038461538461538464,"later":0.038461538461538464,"in":0.038461538461538464,"protocol":0.038461538461538464,"make":0.038461538461538464,"sure":0.038461538461538464,"set":0.038461538461538464,"both":0.038461538461538464,"sequence":0.038461538461538464,"and":0.038461538461538464,"ephemeral":0.038461538461538464,"flags":0.038461538461538464},"1526":{"1":0.037037037037037035,"call":0.037037037037037035,"create":0.037037037037037035,"to":0.037037037037037035,"a":0.037037037037037035,"node":0.037037037037037035,"with":0.037037037037037035,"pathname":0.037037037037037035,"guid-":0.037037037037037035,"write-":0.037037037037037035,"this":0.037037037037037035,"is":0.037037037037037035,"the":0.037037037037037035,"lock":0.037037037037037035,"spoken":0.037037037037037035,"of":0.037037037037037035,"later":0.037037037037037035,"in":0.037037037037037035,"protocol":0.037037037037037035,"make":0.037037037037037035,"sure":0.037037037037037035,"set":0.037037037037037035,"both":0.037037037037037035,"sequence":0.037037037037037035,"and":0.037037037037037035,"ephemeral":0.037037037037037035,"flags":0.037037037037037035},"1527":{"2":0.05,"call":0.05,"getchildren":0.05,"on":0.05,"the":0.05,"lock":0.05,"node":0.05,"without":0.05,"setting":0.05,"watch":0.05,"flag":0.05,"-":0.05,"this":0.05,"is":0.05,"important":0.05,"as":0.05,"it":0.05,"avoids":0.05,"herd":0.05,"effect":0.05},"1528":{"2":0.05,"call":0.05,"getchildren":0.05,"on":0.05,"the":0.05,"lock":0.05,"node":0.05,"without":0.05,"setting":0.05,"watch":0.05,"flag":0.05,"-":0.05,"this":0.05,"is":0.05,"important":0.05,"as":0.05,"it":0.05,"avoids":0.05,"herd":0.05,"effect":0.05},"1529":{"1":0.034482758620689655,"3":0.034482758620689655,"if":0.034482758620689655,"there":0.034482758620689655,"are":0.034482758620689655,"no":0.034482758620689655,"children":0.034482758620689655,"with":0.034482758620689655,"a":0.034482758620689655,"pathname":0.034482758620689655,"starting":0.034482758620689655,"write-":0.034482758620689655,"and":0.034482758620689655,"having":0.034482758620689655,"lower":0.034482758620689655,"sequence":0.034482758620689655,"number":0.034482758620689655,"than":0.034482758620689655,"the":0.034482758620689655,"node":0.034482758620689655,"created":0.034482758620689655,"in":0.034482758620689655,"step":0.034482758620689655,"client":0.034482758620689655,"has":0.034482758620689655,"lock":0.034482758620689655,"can":0.034482758620689655,"exit":0.034482758620689655,"protocol":0.034482758620689655},"1530":{"1":0.041666666666666664,"3":0.041666666666666664,"if":0.041666666666666664,"there":0.041666666666666664,"are":0.041666666666666664,"no":0.041666666666666664,"children":0.041666666666666664,"with":0.041666666666666664,"a":0.041666666666666664,"lower":0.041666666666666664,"sequence":0.041666666666666664,"number":0.041666666666666664,"than":0.041666666666666664,"the":0.041666666666666664,"node":0.041666666666666664,"created":0.041666666666666664,"in":0.041666666666666664,"step":0.041666666666666664,"client":0.041666666666666664,"has":0.041666666666666664,"lock":0.041666666666666664,"and":0.041666666666666664,"exits":0.041666666666666664,"protocol":0.041666666666666664},"1531":{"4":0.045454545454545456,"otherwise":0.045454545454545456,"call":0.045454545454545456,"exists":0.045454545454545456,"with":0.045454545454545456,"watch":0.045454545454545456,"flag":0.045454545454545456,"set":0.045454545454545456,"on":0.045454545454545456,"the":0.045454545454545456,"node":0.045454545454545456,"in":0.045454545454545456,"lock":0.045454545454545456,"directory":0.045454545454545456,"pathname":0.045454545454545456,"starting":0.045454545454545456,"write-":0.045454545454545456,"having":0.045454545454545456,"next":0.045454545454545456,"lowest":0.045454545454545456,"sequence":0.045454545454545456,"number":0.045454545454545456},"1532":{"4":0.058823529411764705,"call":0.058823529411764705,"exists":0.058823529411764705,"with":0.058823529411764705,"watch":0.058823529411764705,"flag":0.058823529411764705,"set":0.058823529411764705,"on":0.058823529411764705,"the":0.058823529411764705,"node":0.058823529411764705,"pathname":0.058823529411764705,"that":0.058823529411764705,"has":0.058823529411764705,"next":0.058823529411764705,"lowest":0.058823529411764705,"sequence":0.058823529411764705,"number":0.058823529411764705},"1533":{"2":0.125,"5":0.125,"if":0.125,"exists":0.125,"returns":0.125,"false":0.125,"goto":0.125,"step":0.125},"1534":{"2":0.05,"5":0.05,"if":0.05,"exists":0.05,"returns":0.05,"false":0.05,"goto":0.05,"step":0.05,"otherwise":0.05,"wait":0.05,"for":0.05,"a":0.05,"notification":0.05,"the":0.05,"pathname":0.05,"from":0.05,"previous":0.05,"before":0.05,"going":0.05,"to":0.05},"1535":{"2":0.06666666666666667,"6":0.06666666666666667,"otherwise":0.06666666666666667,"wait":0.06666666666666667,"for":0.06666666666666667,"a":0.06666666666666667,"notification":0.06666666666666667,"the":0.06666666666666667,"pathname":0.06666666666666667,"from":0.06666666666666667,"previous":0.06666666666666667,"step":0.06666666666666667,"before":0.06666666666666667,"going":0.06666666666666667,"to":0.06666666666666667},"1536":{"notes":1},"1537":{"it":0.016666666666666666,"might":0.016666666666666666,"appear":0.016666666666666666,"that":0.016666666666666666,"this":0.016666666666666666,"recipe":0.016666666666666666,"creates":0.016666666666666666,"a":0.016666666666666666,"herd":0.016666666666666666,"effect":0.016666666666666666,"when":0.016666666666666666,"there":0.016666666666666666,"is":0.016666666666666666,"large":0.016666666666666666,"group":0.016666666666666666,"of":0.016666666666666666,"clients":0.016666666666666666,"waiting":0.016666666666666666,"for":0.016666666666666666,"read":0.016666666666666666,"lock":0.016666666666666666,"and":0.016666666666666666,"all":0.016666666666666666,"getting":0.016666666666666666,"notified":0.016666666666666666,"more":0.016666666666666666,"or":0.016666666666666666,"less":0.016666666666666666,"simultaneously":0.016666666666666666,"the":0.016666666666666666,"write-":0.016666666666666666,"node":0.016666666666666666,"with":0.016666666666666666,"lowest":0.016666666666666666,"sequence":0.016666666666666666,"number":0.016666666666666666,"deleted":0.016666666666666666,"in":0.016666666666666666,"fact":0.016666666666666666,"that's":0.016666666666666666,"valid":0.016666666666666666,"behavior":0.016666666666666666,"as":0.016666666666666666,"those":0.016666666666666666,"reader":0.016666666666666666,"should":0.016666666666666666,"be":0.016666666666666666,"released":0.016666666666666666,"since":0.016666666666666666,"they":0.016666666666666666,"have":0.016666666666666666,"refers":0.016666666666666666,"to":0.016666666666666666,"releasing":0.016666666666666666,"only":0.016666666666666666,"single":0.016666666666666666,"small":0.016666666666666666,"machines":0.016666666666666666,"can":0.016666666666666666,"proceed":0.016666666666666666},"1538":{"see":0.08333333333333333,"the":0.08333333333333333,"note":0.08333333333333333,"for":0.08333333333333333,"locks":0.08333333333333333,"on":0.08333333333333333,"how":0.08333333333333333,"to":0.08333333333333333,"use":0.08333333333333333,"guid":0.08333333333333333,"in":0.08333333333333333,"node":0.08333333333333333},"1539":{"with":0.07142857142857142,"minor":0.07142857142857142,"modifications":0.07142857142857142,"to":0.07142857142857142,"the":0.07142857142857142,"shared":0.07142857142857142,"lock":0.07142857142857142,"protocol":0.07142857142857142,"you":0.07142857142857142,"make":0.07142857142857142,"locks":0.07142857142857142,"revocable":0.07142857142857142,"by":0.07142857142857142,"modifying":0.07142857142857142},"1540":{"1":0.017857142857142856,"in":0.017857142857142856,"step":0.017857142857142856,"of":0.017857142857142856,"both":0.017857142857142856,"obtain":0.017857142857142856,"reader":0.017857142857142856,"and":0.017857142857142856,"writer":0.017857142857142856,"lock":0.017857142857142856,"protocols":0.017857142857142856,"call":0.017857142857142856,"getdata":0.017857142857142856,"with":0.017857142857142856,"watch":0.017857142857142856,"set":0.017857142857142856,"immediately":0.017857142857142856,"after":0.017857142857142856,"the":0.017857142857142856,"to":0.017857142857142856,"create":0.017857142857142856,"if":0.017857142857142856,"client":0.017857142857142856,"subsequently":0.017857142857142856,"receives":0.017857142857142856,"notification":0.017857142857142856,"for":0.017857142857142856,"node":0.017857142857142856,"it":0.017857142857142856,"created":0.017857142857142856,"does":0.017857142857142856,"another":0.017857142857142856,"on":0.017857142857142856,"that":0.017857142857142856,"looks":0.017857142857142856,"string":0.017857142857142856,"unlock":0.017857142857142856,"which":0.017857142857142856,"signals":0.017857142857142856,"must":0.017857142857142856,"release":0.017857142857142856,"this":0.017857142857142856,"is":0.017857142857142856,"because":0.017857142857142856,"according":0.017857142857142856,"shared":0.017857142857142856,"protocol":0.017857142857142856,"you":0.017857142857142856,"can":0.017857142857142856,"request":0.017857142857142856,"give":0.017857142857142856,"up":0.017857142857142856,"by":0.017857142857142856,"calling":0.017857142857142856,"setdata":0.017857142857142856,"writing":0.017857142857142856},"1541":{"note":0.02127659574468085,"that":0.02127659574468085,"this":0.02127659574468085,"protocol":0.02127659574468085,"requires":0.02127659574468085,"the":0.02127659574468085,"lock":0.02127659574468085,"holder":0.02127659574468085,"to":0.02127659574468085,"consent":0.02127659574468085,"releasing":0.02127659574468085,"such":0.02127659574468085,"is":0.02127659574468085,"important":0.02127659574468085,"especially":0.02127659574468085,"if":0.02127659574468085,"needs":0.02127659574468085,"do":0.02127659574468085,"some":0.02127659574468085,"processing":0.02127659574468085,"before":0.02127659574468085,"of":0.02127659574468085,"course":0.02127659574468085,"you":0.02127659574468085,"can":0.02127659574468085,"always":0.02127659574468085,"implement":0.02127659574468085,"revocable":0.02127659574468085,"shared":0.02127659574468085,"locks":0.02127659574468085,"with":0.02127659574468085,"freaking":0.02127659574468085,"laser":0.02127659574468085,"beams":0.02127659574468085,"by":0.02127659574468085,"stipulating":0.02127659574468085,"in":0.02127659574468085,"your":0.02127659574468085,"revoker":0.02127659574468085,"allowed":0.02127659574468085,"delete":0.02127659574468085,"node":0.02127659574468085,"after":0.02127659574468085,"length":0.02127659574468085,"time":0.02127659574468085,"isn't":0.02127659574468085,"deleted":0.02127659574468085},"1542":{"a":0.05,"two-phase":0.05,"commit":0.05,"protocol":0.05,"is":0.05,"an":0.05,"algorithm":0.05,"that":0.05,"lets":0.05,"all":0.05,"clients":0.05,"in":0.05,"distributed":0.05,"system":0.05,"agree":0.05,"either":0.05,"to":0.05,"transaction":0.05,"or":0.05,"abort":0.05},"1543":{"in":0.014705882352941176,"zookeeper":0.014705882352941176,"you":0.014705882352941176,"can":0.014705882352941176,"implement":0.014705882352941176,"a":0.014705882352941176,"two-phased":0.014705882352941176,"commit":0.014705882352941176,"by":0.014705882352941176,"having":0.014705882352941176,"coordinator":0.014705882352941176,"create":0.014705882352941176,"transaction":0.014705882352941176,"node":0.014705882352941176,"say":0.014705882352941176,"app":0.014705882352941176,"tx":0.014705882352941176,"and":0.014705882352941176,"one":0.014705882352941176,"child":0.014705882352941176,"per":0.014705882352941176,"participating":0.014705882352941176,"site":0.014705882352941176,"s_i":0.014705882352941176,"when":0.014705882352941176,"creates":0.014705882352941176,"the":0.014705882352941176,"it":0.014705882352941176,"leaves":0.014705882352941176,"content":0.014705882352941176,"undefined":0.014705882352941176,"once":0.014705882352941176,"each":0.014705882352941176,"involved":0.014705882352941176,"receives":0.014705882352941176,"from":0.014705882352941176,"reads":0.014705882352941176,"sets":0.014705882352941176,"watch":0.014705882352941176,"then":0.014705882352941176,"processes":0.014705882352941176,"query":0.014705882352941176,"votes":0.014705882352941176,"or":0.014705882352941176,"abort":0.014705882352941176,"writing":0.014705882352941176,"to":0.014705882352941176,"its":0.014705882352941176,"respective":0.014705882352941176,"write":0.014705882352941176,"completes":0.014705882352941176,"other":0.014705882352941176,"sites":0.014705882352941176,"are":0.014705882352941176,"notified":0.014705882352941176,"as":0.014705882352941176,"soon":0.014705882352941176,"all":0.014705882352941176,"have":0.014705882352941176,"they":0.014705882352941176,"decide":0.014705882352941176,"either":0.014705882352941176,"note":0.014705882352941176,"that":0.014705882352941176,"earlier":0.014705882352941176,"if":0.014705882352941176,"some":0.014705882352941176,"for":0.014705882352941176},"1544":{"an":0.027777777777777776,"interesting":0.027777777777777776,"aspect":0.027777777777777776,"of":0.027777777777777776,"this":0.027777777777777776,"implementation":0.027777777777777776,"is":0.027777777777777776,"that":0.027777777777777776,"the":0.027777777777777776,"only":0.027777777777777776,"role":0.027777777777777776,"coordinator":0.027777777777777776,"to":0.027777777777777776,"decide":0.027777777777777776,"upon":0.027777777777777776,"group":0.027777777777777776,"sites":0.027777777777777776,"create":0.027777777777777776,"zookeeper":0.027777777777777776,"nodes":0.027777777777777776,"and":0.027777777777777776,"propagate":0.027777777777777776,"transaction":0.027777777777777776,"corresponding":0.027777777777777776,"in":0.027777777777777776,"fact":0.027777777777777776,"even":0.027777777777777776,"propagating":0.027777777777777776,"can":0.027777777777777776,"be":0.027777777777777776,"done":0.027777777777777776,"through":0.027777777777777776,"by":0.027777777777777776,"writing":0.027777777777777776,"it":0.027777777777777776,"node":0.027777777777777776},"1545":{"there":0.027777777777777776,"are":0.027777777777777776,"two":0.027777777777777776,"important":0.027777777777777776,"drawbacks":0.027777777777777776,"of":0.027777777777777776,"the":0.027777777777777776,"approach":0.027777777777777776,"described":0.027777777777777776,"above":0.027777777777777776,"one":0.027777777777777776,"is":0.027777777777777776,"message":0.027777777777777776,"complexity":0.027777777777777776,"which":0.027777777777777776,"o":0.027777777777777776,"n":0.027777777777777776,"second":0.027777777777777776,"impossibility":0.027777777777777776,"detecting":0.027777777777777776,"failures":0.027777777777777776,"sites":0.027777777777777776,"through":0.027777777777777776,"ephemeral":0.027777777777777776,"nodes":0.027777777777777776,"to":0.027777777777777776,"detect":0.027777777777777776,"failure":0.027777777777777776,"a":0.027777777777777776,"site":0.027777777777777776,"using":0.027777777777777776,"it":0.027777777777777776,"necessary":0.027777777777777776,"that":0.027777777777777776,"create":0.027777777777777776,"node":0.027777777777777776},"1546":{"to":0.02564102564102564,"solve":0.02564102564102564,"the":0.02564102564102564,"first":0.02564102564102564,"problem":0.02564102564102564,"you":0.02564102564102564,"can":0.02564102564102564,"have":0.02564102564102564,"only":0.02564102564102564,"coordinator":0.02564102564102564,"notified":0.02564102564102564,"of":0.02564102564102564,"changes":0.02564102564102564,"transaction":0.02564102564102564,"nodes":0.02564102564102564,"and":0.02564102564102564,"then":0.02564102564102564,"notify":0.02564102564102564,"sites":0.02564102564102564,"once":0.02564102564102564,"reaches":0.02564102564102564,"a":0.02564102564102564,"decision":0.02564102564102564,"note":0.02564102564102564,"that":0.02564102564102564,"this":0.02564102564102564,"approach":0.02564102564102564,"is":0.02564102564102564,"scalable":0.02564102564102564,"but":0.02564102564102564,"it":0.02564102564102564,"slower":0.02564102564102564,"too":0.02564102564102564,"as":0.02564102564102564,"requires":0.02564102564102564,"all":0.02564102564102564,"communication":0.02564102564102564,"go":0.02564102564102564,"through":0.02564102564102564},"1547":{"to":0.05,"address":0.05,"the":0.05,"second":0.05,"problem":0.05,"you":0.05,"can":0.05,"have":0.05,"coordinator":0.05,"propagate":0.05,"transaction":0.05,"sites":0.05,"and":0.05,"each":0.05,"site":0.05,"creating":0.05,"its":0.05,"own":0.05,"ephemeral":0.05,"node":0.05},"1548":{"a":0.022222222222222223,"simple":0.022222222222222223,"way":0.022222222222222223,"of":0.022222222222222223,"doing":0.022222222222222223,"leader":0.022222222222222223,"election":0.022222222222222223,"with":0.022222222222222223,"zookeeper":0.022222222222222223,"is":0.022222222222222223,"to":0.022222222222222223,"use":0.022222222222222223,"the":0.022222222222222223,"sequence":0.022222222222222223,"ephemeral":0.022222222222222223,"flags":0.022222222222222223,"when":0.022222222222222223,"creating":0.022222222222222223,"znodes":0.022222222222222223,"that":0.022222222222222223,"represent":0.022222222222222223,"proposals":0.022222222222222223,"clients":0.022222222222222223,"idea":0.022222222222222223,"have":0.022222222222222223,"znode":0.022222222222222223,"say":0.022222222222222223,"such":0.022222222222222223,"each":0.022222222222222223,"creates":0.022222222222222223,"child":0.022222222222222223,"guid-n_":0.022222222222222223,"both":0.022222222222222223,"flag":0.022222222222222223,"automatically":0.022222222222222223,"appends":0.022222222222222223,"number":0.022222222222222223,"greater":0.022222222222222223,"than":0.022222222222222223,"anyone":0.022222222222222223,"previously":0.022222222222222223,"appended":0.022222222222222223,"process":0.022222222222222223,"created":0.022222222222222223,"smallest":0.022222222222222223},"1549":{"that's":0.011235955056179775,"not":0.011235955056179775,"all":0.011235955056179775,"though":0.011235955056179775,"it":0.011235955056179775,"is":0.011235955056179775,"important":0.011235955056179775,"to":0.011235955056179775,"watch":0.011235955056179775,"for":0.011235955056179775,"failures":0.011235955056179775,"of":0.011235955056179775,"the":0.011235955056179775,"leader":0.011235955056179775,"so":0.011235955056179775,"that":0.011235955056179775,"a":0.011235955056179775,"new":0.011235955056179775,"client":0.011235955056179775,"arises":0.011235955056179775,"as":0.011235955056179775,"in":0.011235955056179775,"case":0.011235955056179775,"current":0.011235955056179775,"fails":0.011235955056179775,"trivial":0.011235955056179775,"solution":0.011235955056179775,"have":0.011235955056179775,"application":0.011235955056179775,"processes":0.011235955056179775,"watching":0.011235955056179775,"upon":0.011235955056179775,"smallest":0.011235955056179775,"znode":0.011235955056179775,"and":0.011235955056179775,"checking":0.011235955056179775,"if":0.011235955056179775,"they":0.011235955056179775,"are":0.011235955056179775,"when":0.011235955056179775,"goes":0.011235955056179775,"away":0.011235955056179775,"note":0.011235955056179775,"will":0.011235955056179775,"go":0.011235955056179775,"because":0.011235955056179775,"node":0.011235955056179775,"ephemeral":0.011235955056179775,"but":0.011235955056179775,"this":0.011235955056179775,"causes":0.011235955056179775,"herd":0.011235955056179775,"effect":0.011235955056179775,"failure":0.011235955056179775,"other":0.011235955056179775,"receive":0.011235955056179775,"notification":0.011235955056179775,"execute":0.011235955056179775,"getchildren":0.011235955056179775,"on":0.011235955056179775,"election":0.011235955056179775,"obtain":0.011235955056179775,"list":0.011235955056179775,"children":0.011235955056179775,"number":0.011235955056179775,"clients":0.011235955056179775,"large":0.011235955056179775,"spike":0.011235955056179775,"operations":0.011235955056179775,"zookeeper":0.011235955056179775,"servers":0.011235955056179775,"process":0.011235955056179775,"avoid":0.011235955056179775,"sufficient":0.011235955056179775,"next":0.011235955056179775,"down":0.011235955056179775,"sequence":0.011235955056179775,"znodes":0.011235955056179775,"receives":0.011235955056179775,"gone":0.011235955056179775,"then":0.011235955056179775,"becomes":0.011235955056179775,"there":0.011235955056179775,"no":0.011235955056179775,"smaller":0.011235955056179775,"avoids":0.011235955056179775,"by":0.011235955056179775,"having":0.011235955056179775,"same":0.011235955056179775},"1550":{"here's":0.25,"the":0.25,"pseudo":0.25,"code":0.25},"1551":{"let":0.08333333333333333,"election":0.08333333333333333,"be":0.08333333333333333,"a":0.08333333333333333,"path":0.08333333333333333,"of":0.08333333333333333,"choice":0.08333333333333333,"the":0.08333333333333333,"application":0.08333333333333333,"to":0.08333333333333333,"volunteer":0.08333333333333333,"leader":0.08333333333333333},"1552":{"create":0.08333333333333333,"znode":0.08333333333333333,"z":0.08333333333333333,"with":0.08333333333333333,"path":0.08333333333333333,"election":0.08333333333333333,"guid-n_":0.08333333333333333,"both":0.08333333333333333,"sequence":0.08333333333333333,"and":0.08333333333333333,"ephemeral":0.08333333333333333,"flags":0.08333333333333333},"1553":{"let":0.07692307692307693,"c":0.07692307692307693,"be":0.07692307692307693,"the":0.07692307692307693,"children":0.07692307692307693,"of":0.07692307692307693,"election":0.07692307692307693,"and":0.07692307692307693,"i":0.07692307692307693,"is":0.07692307692307693,"sequence":0.07692307692307693,"number":0.07692307692307693,"z":0.07692307692307693},"1554":{"watch":0.045454545454545456,"for":0.045454545454545456,"changes":0.045454545454545456,"on":0.045454545454545456,"election":0.045454545454545456,"guid-n_j":0.045454545454545456,"where":0.045454545454545456,"j":0.045454545454545456,"is":0.045454545454545456,"the":0.045454545454545456,"largest":0.045454545454545456,"sequence":0.045454545454545456,"number":0.045454545454545456,"such":0.045454545454545456,"that":0.045454545454545456,"i":0.045454545454545456,"and":0.045454545454545456,"n_j":0.045454545454545456,"a":0.045454545454545456,"znode":0.045454545454545456,"in":0.045454545454545456,"c":0.045454545454545456},"1555":{"upon":0.14285714285714285,"receiving":0.14285714285714285,"a":0.14285714285714285,"notification":0.14285714285714285,"of":0.14285714285714285,"znode":0.14285714285714285,"deletion":0.14285714285714285},"1556":{"let":0.1111111111111111,"c":0.1111111111111111,"be":0.1111111111111111,"the":0.1111111111111111,"new":0.1111111111111111,"set":0.1111111111111111,"of":0.1111111111111111,"children":0.1111111111111111,"election":0.1111111111111111},"1557":{"if":0.08333333333333333,"z":0.08333333333333333,"is":0.08333333333333333,"the":0.08333333333333333,"smallest":0.08333333333333333,"node":0.08333333333333333,"in":0.08333333333333333,"c":0.08333333333333333,"then":0.08333333333333333,"execute":0.08333333333333333,"leader":0.08333333333333333,"procedure":0.08333333333333333},"1558":{"otherwise":0.043478260869565216,"watch":0.043478260869565216,"for":0.043478260869565216,"changes":0.043478260869565216,"on":0.043478260869565216,"election":0.043478260869565216,"guid-n_j":0.043478260869565216,"where":0.043478260869565216,"j":0.043478260869565216,"is":0.043478260869565216,"the":0.043478260869565216,"largest":0.043478260869565216,"sequence":0.043478260869565216,"number":0.043478260869565216,"such":0.043478260869565216,"that":0.043478260869565216,"i":0.043478260869565216,"and":0.043478260869565216,"n_j":0.043478260869565216,"a":0.043478260869565216,"znode":0.043478260869565216,"in":0.043478260869565216,"c":0.043478260869565216},"1559":{"notes":1},"1560":{"note":0.03125,"that":0.03125,"the":0.03125,"znode":0.03125,"having":0.03125,"no":0.03125,"preceding":0.03125,"on":0.03125,"list":0.03125,"of":0.03125,"children":0.03125,"do":0.03125,"not":0.03125,"imply":0.03125,"creator":0.03125,"this":0.03125,"is":0.03125,"aware":0.03125,"it":0.03125,"current":0.03125,"leader":0.03125,"applications":0.03125,"may":0.03125,"consider":0.03125,"creating":0.03125,"a":0.03125,"separate":0.03125,"to":0.03125,"acknowledge":0.03125,"has":0.03125,"executed":0.03125,"procedure":0.03125},"1561":{"see":0.08333333333333333,"the":0.08333333333333333,"note":0.08333333333333333,"for":0.08333333333333333,"locks":0.08333333333333333,"on":0.08333333333333333,"how":0.08333333333333333,"to":0.08333333333333333,"use":0.08333333333333333,"guid":0.08333333333333333,"in":0.08333333333333333,"node":0.08333333333333333},"1562":{"use":0.5,"cases":0.5},"1563":{"a":0.07142857142857142,"catalog":0.07142857142857142,"of":0.07142857142857142,"real-world":0.07142857142857142,"projects":0.07142857142857142,"and":0.07142857142857142,"organizations":0.07142857142857142,"that":0.07142857142857142,"use":0.07142857142857142,"apache":0.07142857142857142,"zookeeper":0.07142857142857142,"for":0.07142857142857142,"distributed":0.07142857142857142,"coordination":0.07142857142857142},"1564":{"free":0.3333333333333333,"software":0.3333333333333333,"projects":0.3333333333333333},"1565":{"adroitlogic":0.5,"ultraesb":0.5},"1566":{"akka":1},"1567":{"eclipse":0.3333333333333333,"communication":0.3333333333333333,"framework":0.3333333333333333},"1568":{"eclipse":0.5,"gyrex":0.5},"1569":{"goldenorb":1},"1570":{"juju":1},"1571":{"katta":1},"1572":{"keptcollections":1},"1573":{"neo4j":1},"1574":{"norbert":1},"1575":{"spring-cloud-zookeeper":1},"1576":{"spring-statemachine":1},"1577":{"spring-xd":1},"1578":{"talend":0.5,"esb":0.5},"1579":{"redis_failover":1},"1580":{"apache":0.5,"projects":0.5},"1581":{"apache":0.5,"accumulo":0.5},"1582":{"apache":0.5,"atlas":0.5},"1583":{"apache":0.5,"bookkeeper":0.5},"1584":{"apache":0.3333333333333333,"cxf":0.3333333333333333,"dosgi":0.3333333333333333},"1585":{"apache":0.5,"drill":0.5},"1586":{"apache":0.5,"druid":0.5},"1587":{"apache":0.5,"dubbo":0.5},"1588":{"apache":0.5,"flink":0.5},"1589":{"apache":0.5,"flume":0.5},"1590":{"apache":0.5,"fluo":0.5},"1591":{"apache":0.5,"griffin":0.5},"1592":{"apache":0.5,"hadoop":0.5},"1593":{"apache":0.5,"hbase":0.5},"1594":{"apache":0.5,"helix":0.5},"1595":{"apache":0.5,"hive":0.5},"1596":{"apache":0.5,"ignite":0.5},"1597":{"apache":0.3333333333333333,"james":0.3333333333333333,"mailbox":0.3333333333333333},"1598":{"apache":0.5,"kafka":0.5},"1599":{"apache":0.5,"kylin":0.5},"1600":{"apache":0.5,"mesos":0.5},"1601":{"apache":0.5,"oozie":0.5},"1602":{"apache":0.5,"pulsar":0.5},"1603":{"apache":0.5,"solr":0.5},"1604":{"apache":0.5,"spark":0.5},"1605":{"apache":0.5,"storm":0.5},"1606":{"companies":1},"1607":{"ageto":1},"1608":{"benipal":0.5,"technologies":0.5},"1609":{"box":1},"1610":{"deepdyve":1},"1611":{"facebook":1},"1612":{"idium":0.5,"portal":0.5},"1613":{"makara":1},"1614":{"midokura":1},"1615":{"pinterest":1},"1616":{"rackspace":1},"1617":{"sematext":1},"1618":{"tubemogul":1},"1619":{"twitter":1},"1620":{"vast":0.5,"com":0.5},"1621":{"wealthfront":1},"1622":{"yahoo":1},"1623":{"zynga":1},"1624":{"applications":0.14285714285714285,"and":0.14285714285714285,"organizations":0.14285714285714285,"using":0.14285714285714285,"zookeeper":0.14285714285714285,"include":0.14285714285714285,"alphabetically":0.14285714285714285},"1625":{"if":0.034482758620689655,"your":0.034482758620689655,"use":0.034482758620689655,"case":0.034482758620689655,"wants":0.034482758620689655,"to":0.034482758620689655,"be":0.034482758620689655,"listed":0.034482758620689655,"here":0.034482758620689655,"please":0.034482758620689655,"do":0.034482758620689655,"not":0.034482758620689655,"hesitate":0.034482758620689655,"submit":0.034482758620689655,"a":0.034482758620689655,"pull":0.034482758620689655,"request":0.034482758620689655,"or":0.034482758620689655,"write":0.034482758620689655,"an":0.034482758620689655,"email":0.034482758620689655,"dev":0.034482758620689655,"zookeeper":0.034482758620689655,"apache":0.034482758620689655,"org":0.034482758620689655,"and":0.034482758620689655,"then":0.034482758620689655,"will":0.034482758620689655,"included":0.034482758620689655},"1626":{"if":0.03333333333333333,"this":0.03333333333333333,"documentation":0.03333333333333333,"has":0.03333333333333333,"violated":0.03333333333333333,"your":0.03333333333333333,"intellectual":0.03333333333333333,"property":0.03333333333333333,"rights":0.03333333333333333,"or":0.03333333333333333,"you":0.03333333333333333,"and":0.03333333333333333,"company's":0.03333333333333333,"privacy":0.03333333333333333,"write":0.03333333333333333,"an":0.03333333333333333,"email":0.03333333333333333,"to":0.03333333333333333,"dev":0.03333333333333333,"zookeeper":0.03333333333333333,"apache":0.03333333333333333,"org":0.03333333333333333,"we":0.03333333333333333,"will":0.03333333333333333,"handle":0.03333333333333333,"them":0.03333333333333333,"in":0.03333333333333333,"a":0.03333333333333333,"timely":0.03333333333333333,"manner":0.03333333333333333},"1627":{"uses":0.02127659574468085,"zookeeper":0.02127659574468085,"to":0.02127659574468085,"implement":0.02127659574468085,"node":0.02127659574468085,"coordination":0.02127659574468085,"in":0.02127659574468085,"clustering":0.02127659574468085,"support":0.02127659574468085,"this":0.02127659574468085,"allows":0.02127659574468085,"the":0.02127659574468085,"management":0.02127659574468085,"of":0.02127659574468085,"complete":0.02127659574468085,"cluster":0.02127659574468085,"or":0.02127659574468085,"any":0.02127659574468085,"specific":0.02127659574468085,"-":0.02127659574468085,"from":0.02127659574468085,"other":0.02127659574468085,"connected":0.02127659574468085,"via":0.02127659574468085,"jmx":0.02127659574468085,"a":0.02127659574468085,"wide":0.02127659574468085,"command":0.02127659574468085,"framework":0.02127659574468085,"developed":0.02127659574468085,"on":0.02127659574468085,"top":0.02127659574468085,"commands":0.02127659574468085,"that":0.02127659574468085,"fail":0.02127659574468085,"some":0.02127659574468085,"nodes":0.02127659574468085,"be":0.02127659574468085,"retried":0.02127659574468085,"etc":0.02127659574468085,"we":0.02127659574468085,"also":0.02127659574468085,"automated":0.02127659574468085,"graceful":0.02127659574468085,"round-robin-restart":0.02127659574468085,"using":0.02127659574468085,"same":0.02127659574468085},"1628":{"akka":0.04,"is":0.04,"the":0.04,"platform":0.04,"for":0.04,"next":0.04,"generation":0.04,"event-driven":0.04,"scalable":0.04,"and":0.04,"fault-tolerant":0.04,"architectures":0.04,"on":0.04,"jvm":0.04,"or":0.04,"a":0.04,"toolkit":0.04,"runtime":0.04,"building":0.04,"highly":0.04,"concurrent":0.04,"distributed":0.04,"fault":0.04,"tolerant":0.04,"applications":0.04},"1629":{"the":0.034482758620689655,"eclipse":0.034482758620689655,"ecf":0.034482758620689655,"project":0.034482758620689655,"provides":0.034482758620689655,"an":0.034482758620689655,"implementation":0.034482758620689655,"of":0.034482758620689655,"its":0.034482758620689655,"abstract":0.034482758620689655,"discovery":0.034482758620689655,"services":0.034482758620689655,"using":0.034482758620689655,"zookeeper":0.034482758620689655,"itself":0.034482758620689655,"is":0.034482758620689655,"used":0.034482758620689655,"in":0.034482758620689655,"many":0.034482758620689655,"projects":0.034482758620689655,"providing":0.034482758620689655,"base":0.034482758620689655,"functionality":0.034482758620689655,"for":0.034482758620689655,"communication":0.034482758620689655,"all":0.034482758620689655,"based":0.034482758620689655,"on":0.034482758620689655,"osgi":0.034482758620689655},"1630":{"the":0.06666666666666667,"eclipse":0.06666666666666667,"gyrex":0.06666666666666667,"project":0.06666666666666667,"provides":0.06666666666666667,"a":0.06666666666666667,"platform":0.06666666666666667,"for":0.06666666666666667,"building":0.06666666666666667,"your":0.06666666666666667,"own":0.06666666666666667,"java":0.06666666666666667,"osgi":0.06666666666666667,"based":0.06666666666666667,"clouds":0.06666666666666667},"1631":{"zookeeper":0.038461538461538464,"is":0.038461538461538464,"used":0.038461538461538464,"as":0.038461538461538464,"the":0.038461538461538464,"core":0.038461538461538464,"cloud":0.038461538461538464,"component":0.038461538461538464,"for":0.038461538461538464,"node":0.038461538461538464,"membership":0.038461538461538464,"and":0.038461538461538464,"management":0.038461538461538464,"coordination":0.038461538461538464,"of":0.038461538461538464,"jobs":0.038461538461538464,"executing":0.038461538461538464,"among":0.038461538461538464,"workers":0.038461538461538464,"a":0.038461538461538464,"lock":0.038461538461538464,"service":0.038461538461538464,"simple":0.038461538461538464,"queue":0.038461538461538464,"lot":0.038461538461538464,"more":0.038461538461538464},"1632":{"massive-scale":0.3333333333333333,"graph":0.3333333333333333,"analysis":0.3333333333333333},"1633":{"service":0.125,"deployment":0.125,"and":0.125,"orchestration":0.125,"framework":0.125,"formerly":0.125,"called":0.125,"ensemble":0.125},"1634":{"katta":0.1111111111111111,"serves":0.1111111111111111,"distributed":0.1111111111111111,"lucene":0.1111111111111111,"indexes":0.1111111111111111,"in":0.1111111111111111,"a":0.1111111111111111,"grid":0.1111111111111111,"environment":0.1111111111111111},"1635":{"zookeeper":0.08333333333333333,"is":0.08333333333333333,"used":0.08333333333333333,"for":0.08333333333333333,"node":0.08333333333333333,"master":0.08333333333333333,"and":0.08333333333333333,"index":0.08333333333333333,"management":0.08333333333333333,"in":0.08333333333333333,"the":0.08333333333333333,"grid":0.08333333333333333},"1636":{"keptcollections":0.06666666666666667,"is":0.06666666666666667,"a":0.06666666666666667,"library":0.06666666666666667,"of":0.06666666666666667,"drop-in":0.06666666666666667,"replacements":0.06666666666666667,"for":0.06666666666666667,"the":0.06666666666666667,"data":0.06666666666666667,"structures":0.06666666666666667,"in":0.06666666666666667,"java":0.06666666666666667,"collections":0.06666666666666667,"framework":0.06666666666666667},"1637":{"keptcollections":0.0625,"uses":0.0625,"apache":0.0625,"zookeeper":0.0625,"as":0.0625,"a":0.0625,"backing":0.0625,"store":0.0625,"thus":0.0625,"making":0.0625,"its":0.0625,"data":0.0625,"structures":0.0625,"distributed":0.0625,"and":0.0625,"scalable":0.0625},"1638":{"neo4j":0.037037037037037035,"is":0.037037037037037035,"a":0.037037037037037035,"graph":0.037037037037037035,"database":0.037037037037037035,"it's":0.037037037037037035,"disk":0.037037037037037035,"based":0.037037037037037035,"acid":0.037037037037037035,"compliant":0.037037037037037035,"transactional":0.037037037037037035,"storage":0.037037037037037035,"engine":0.037037037037037035,"for":0.037037037037037035,"big":0.037037037037037035,"graphs":0.037037037037037035,"and":0.037037037037037035,"fast":0.037037037037037035,"traversals":0.037037037037037035,"using":0.037037037037037035,"external":0.037037037037037035,"indices":0.037037037037037035,"like":0.037037037037037035,"lucene":0.037037037037037035,"solr":0.037037037037037035,"global":0.037037037037037035,"searches":0.037037037037037035},"1639":{"we":0.038461538461538464,"use":0.038461538461538464,"zookeeper":0.038461538461538464,"in":0.038461538461538464,"the":0.038461538461538464,"neo4j":0.038461538461538464,"high":0.038461538461538464,"availability":0.038461538461538464,"components":0.038461538461538464,"for":0.038461538461538464,"write-master":0.038461538461538464,"election":0.038461538461538464,"read":0.038461538461538464,"slave":0.038461538461538464,"coordination":0.038461538461538464,"and":0.038461538461538464,"other":0.038461538461538464,"cool":0.038461538461538464,"stuff":0.038461538461538464,"is":0.038461538461538464,"a":0.038461538461538464,"great":0.038461538461538464,"focused":0.038461538461538464,"project":0.038461538461538464,"-":0.038461538461538464,"like":0.038461538461538464},"1640":{"partitioned":0.2,"routing":0.2,"and":0.2,"cluster":0.2,"management":0.2},"1641":{"spring":0.022727272727272728,"cloud":0.022727272727272728,"zookeeper":0.022727272727272728,"provides":0.022727272727272728,"apache":0.022727272727272728,"integrations":0.022727272727272728,"for":0.022727272727272728,"boot":0.022727272727272728,"apps":0.022727272727272728,"through":0.022727272727272728,"autoconfiguration":0.022727272727272728,"and":0.022727272727272728,"binding":0.022727272727272728,"to":0.022727272727272728,"the":0.022727272727272728,"environment":0.022727272727272728,"other":0.022727272727272728,"programming":0.022727272727272728,"model":0.022727272727272728,"idioms":0.022727272727272728,"with":0.022727272727272728,"a":0.022727272727272728,"few":0.022727272727272728,"simple":0.022727272727272728,"annotations":0.022727272727272728,"you":0.022727272727272728,"can":0.022727272727272728,"quickly":0.022727272727272728,"enable":0.022727272727272728,"configure":0.022727272727272728,"common":0.022727272727272728,"patterns":0.022727272727272728,"inside":0.022727272727272728,"your":0.022727272727272728,"application":0.022727272727272728,"build":0.022727272727272728,"large":0.022727272727272728,"distributed":0.022727272727272728,"systems":0.022727272727272728,"provided":0.022727272727272728,"include":0.022727272727272728,"service":0.022727272727272728,"discovery":0.022727272727272728,"configuration":0.022727272727272728},"1642":{"spring":0.06666666666666667,"statemachine":0.06666666666666667,"is":0.06666666666666667,"a":0.06666666666666667,"framework":0.06666666666666667,"for":0.06666666666666667,"application":0.06666666666666667,"developers":0.06666666666666667,"to":0.06666666666666667,"use":0.06666666666666667,"state":0.06666666666666667,"machine":0.06666666666666667,"concepts":0.06666666666666667,"with":0.06666666666666667,"applications":0.06666666666666667},"1643":{"31":0.06666666666666667,"32":0.06666666666666667,"spring":0.06666666666666667,"statemachine":0.06666666666666667,"can":0.06666666666666667,"provide":0.06666666666666667,"this":0.06666666666666667,"feature":0.06666666666666667,"distributed":0.06666666666666667,"state":0.06666666666666667,"machine":0.06666666666666667,"based":0.06666666666666667,"on":0.06666666666666667,"a":0.06666666666666667,"zookeeper":0.06666666666666667},"1644":{"spring":0.03571428571428571,"xd":0.03571428571428571,"is":0.03571428571428571,"a":0.03571428571428571,"unified":0.03571428571428571,"distributed":0.03571428571428571,"and":0.03571428571428571,"extensible":0.03571428571428571,"system":0.03571428571428571,"for":0.03571428571428571,"data":0.03571428571428571,"ingestion":0.03571428571428571,"real":0.03571428571428571,"time":0.03571428571428571,"analytics":0.03571428571428571,"batch":0.03571428571428571,"processing":0.03571428571428571,"export":0.03571428571428571,"the":0.03571428571428571,"project":0.03571428571428571,"s":0.03571428571428571,"goal":0.03571428571428571,"to":0.03571428571428571,"simplify":0.03571428571428571,"development":0.03571428571428571,"of":0.03571428571428571,"big":0.03571428571428571,"applications":0.03571428571428571},"1645":{"30":0.037037037037037035,"31":0.037037037037037035,"zookeeper":0.037037037037037035,"-":0.037037037037037035,"provides":0.037037037037037035,"all":0.037037037037037035,"runtime":0.037037037037037035,"information":0.037037037037037035,"for":0.037037037037037035,"the":0.037037037037037035,"xd":0.037037037037037035,"cluster":0.037037037037037035,"tracks":0.037037037037037035,"running":0.037037037037037035,"containers":0.037037037037037035,"in":0.037037037037037035,"which":0.037037037037037035,"modules":0.037037037037037035,"and":0.037037037037037035,"jobs":0.037037037037037035,"are":0.037037037037037035,"deployed":0.037037037037037035,"stream":0.037037037037037035,"definitions":0.037037037037037035,"deployment":0.037037037037037035,"manifests":0.037037037037037035,"like":0.037037037037037035},"1646":{"talend":0.1,"esb":0.1,"is":0.1,"a":0.1,"versatile":0.1,"and":0.1,"flexible":0.1,"enterprise":0.1,"service":0.1,"bus":0.1},"1647":{"it":0.03333333333333333,"uses":0.03333333333333333,"zookeeper":0.03333333333333333,"as":0.03333333333333333,"endpoint":0.03333333333333333,"repository":0.03333333333333333,"of":0.03333333333333333,"both":0.03333333333333333,"rest":0.03333333333333333,"and":0.03333333333333333,"soap":0.03333333333333333,"web":0.03333333333333333,"services":0.03333333333333333,"by":0.03333333333333333,"using":0.03333333333333333,"talend":0.03333333333333333,"esb":0.03333333333333333,"is":0.03333333333333333,"able":0.03333333333333333,"to":0.03333333333333333,"provide":0.03333333333333333,"failover":0.03333333333333333,"load":0.03333333333333333,"balancing":0.03333333333333333,"capabilities":0.03333333333333333,"in":0.03333333333333333,"a":0.03333333333333333,"very":0.03333333333333333,"light-weight":0.03333333333333333,"manner":0.03333333333333333},"1648":{"redis":0.09090909090909091,"failover":0.09090909090909091,"is":0.09090909090909091,"a":0.09090909090909091,"zookeeper-based":0.09090909090909091,"automatic":0.09090909090909091,"master":0.09090909090909091,"slave":0.09090909090909091,"solution":0.09090909090909091,"for":0.09090909090909091,"ruby":0.09090909090909091},"1649":{"accumulo":0.07692307692307693,"is":0.07692307692307693,"a":0.07692307692307693,"distributed":0.07692307692307693,"key":0.07692307692307693,"value":0.07692307692307693,"store":0.07692307692307693,"that":0.07692307692307693,"provides":0.07692307692307693,"expressive":0.07692307692307693,"cell-level":0.07692307692307693,"access":0.07692307692307693,"labels":0.07692307692307693},"1650":{"apache":0.024390243902439025,"zookeeper":0.024390243902439025,"plays":0.024390243902439025,"a":0.024390243902439025,"central":0.024390243902439025,"role":0.024390243902439025,"within":0.024390243902439025,"the":0.024390243902439025,"accumulo":0.024390243902439025,"architecture":0.024390243902439025,"its":0.024390243902439025,"quorum":0.024390243902439025,"consistency":0.024390243902439025,"model":0.024390243902439025,"supports":0.024390243902439025,"an":0.024390243902439025,"overall":0.024390243902439025,"with":0.024390243902439025,"no":0.024390243902439025,"single":0.024390243902439025,"points":0.024390243902439025,"of":0.024390243902439025,"failure":0.024390243902439025,"beyond":0.024390243902439025,"that":0.024390243902439025,"leverages":0.024390243902439025,"to":0.024390243902439025,"store":0.024390243902439025,"and":0.024390243902439025,"communication":0.024390243902439025,"configuration":0.024390243902439025,"information":0.024390243902439025,"for":0.024390243902439025,"users":0.024390243902439025,"tables":0.024390243902439025,"as":0.024390243902439025,"well":0.024390243902439025,"operational":0.024390243902439025,"states":0.024390243902439025,"processes":0.024390243902439025,"tablets":0.024390243902439025},"1651":{"atlas":0.03225806451612903,"is":0.03225806451612903,"a":0.03225806451612903,"scalable":0.03225806451612903,"and":0.03225806451612903,"extensible":0.03225806451612903,"set":0.03225806451612903,"of":0.03225806451612903,"core":0.03225806451612903,"foundational":0.03225806451612903,"governance":0.03225806451612903,"services":0.03225806451612903,"enabling":0.03225806451612903,"enterprises":0.03225806451612903,"to":0.03225806451612903,"effectively":0.03225806451612903,"efficiently":0.03225806451612903,"meet":0.03225806451612903,"their":0.03225806451612903,"compliance":0.03225806451612903,"requirements":0.03225806451612903,"within":0.03225806451612903,"hadoop":0.03225806451612903,"allows":0.03225806451612903,"integration":0.03225806451612903,"with":0.03225806451612903,"the":0.03225806451612903,"whole":0.03225806451612903,"enterprise":0.03225806451612903,"data":0.03225806451612903,"ecosystem":0.03225806451612903},"1652":{"31":0.0625,"35":0.0625,"atlas":0.0625,"uses":0.0625,"zookeeper":0.0625,"for":0.0625,"coordination":0.0625,"to":0.0625,"provide":0.0625,"redundancy":0.0625,"and":0.0625,"high":0.0625,"availability":0.0625,"of":0.0625,"hbase":0.0625,"kafka":0.0625},"1653":{"a":0.09090909090909091,"scalable":0.09090909090909091,"fault-tolerant":0.09090909090909091,"and":0.09090909090909091,"low-latency":0.09090909090909091,"storage":0.09090909090909091,"service":0.09090909090909091,"optimized":0.09090909090909091,"for":0.09090909090909091,"real-time":0.09090909090909091,"workloads":0.09090909090909091},"1654":{"bookkeeper":0.047619047619047616,"requires":0.047619047619047616,"a":0.047619047619047616,"metadata":0.047619047619047616,"storage":0.047619047619047616,"service":0.047619047619047616,"to":0.047619047619047616,"store":0.047619047619047616,"information":0.047619047619047616,"related":0.047619047619047616,"ledgers":0.047619047619047616,"and":0.047619047619047616,"available":0.047619047619047616,"bookies":0.047619047619047616,"currently":0.047619047619047616,"uses":0.047619047619047616,"zookeeper":0.047619047619047616,"for":0.047619047619047616,"this":0.047619047619047616,"other":0.047619047619047616,"tasks":0.047619047619047616},"1655":{"apache":0.025,"cxf":0.025,"is":0.025,"an":0.025,"open":0.025,"source":0.025,"services":0.025,"framework":0.025,"helps":0.025,"you":0.025,"build":0.025,"and":0.025,"develop":0.025,"using":0.025,"frontend":0.025,"programming":0.025,"apis":0.025,"like":0.025,"jax-ws":0.025,"jax-rs":0.025,"these":0.025,"can":0.025,"speak":0.025,"a":0.025,"variety":0.025,"of":0.025,"protocols":0.025,"such":0.025,"as":0.025,"soap":0.025,"xml":0.025,"http":0.025,"restful":0.025,"or":0.025,"corba":0.025,"work":0.025,"over":0.025,"transports":0.025,"jms":0.025,"jbi":0.025},"1656":{"the":0.07692307692307693,"distributed":0.07692307692307693,"osgi":0.07692307692307693,"implementation":0.07692307692307693,"at":0.07692307692307693,"apache":0.07692307692307693,"cxf":0.07692307692307693,"uses":0.07692307692307693,"zookeeper":0.07692307692307693,"for":0.07692307692307693,"its":0.07692307692307693,"discovery":0.07692307692307693,"functionality":0.07692307692307693},"1657":{"schema-free":0.1,"sql":0.1,"query":0.1,"engine":0.1,"for":0.1,"hadoop":0.1,"nosql":0.1,"and":0.1,"cloud":0.1,"storage":0.1},"1658":{"zookeeper":0.05263157894736842,"maintains":0.05263157894736842,"ephemeral":0.05263157894736842,"cluster":0.05263157894736842,"membership":0.05263157894736842,"information":0.05263157894736842,"the":0.05263157894736842,"drillbits":0.05263157894736842,"use":0.05263157894736842,"to":0.05263157894736842,"find":0.05263157894736842,"other":0.05263157894736842,"in":0.05263157894736842,"and":0.05263157894736842,"client":0.05263157894736842,"uses":0.05263157894736842,"submit":0.05263157894736842,"a":0.05263157894736842,"query":0.05263157894736842},"1659":{"apache":0.1111111111111111,"druid":0.1111111111111111,"is":0.1111111111111111,"a":0.1111111111111111,"high":0.1111111111111111,"performance":0.1111111111111111,"real-time":0.1111111111111111,"analytics":0.1111111111111111,"database":0.1111111111111111},"1660":{"apache":0.058823529411764705,"druid":0.058823529411764705,"uses":0.058823529411764705,"zookeeper":0.058823529411764705,"zk":0.058823529411764705,"for":0.058823529411764705,"management":0.058823529411764705,"of":0.058823529411764705,"current":0.058823529411764705,"cluster":0.058823529411764705,"state":0.058823529411764705,"the":0.058823529411764705,"operations":0.058823529411764705,"that":0.058823529411764705,"happen":0.058823529411764705,"over":0.058823529411764705,"are":0.058823529411764705},"1661":{"coordinator":0.3333333333333333,"leader":0.3333333333333333,"election":0.3333333333333333},"1662":{"segment":0.14285714285714285,"publishing":0.14285714285714285,"protocol":0.14285714285714285,"from":0.14285714285714285,"historical":0.14285714285714285,"and":0.14285714285714285,"realtime":0.14285714285714285},"1663":{"segment":0.125,"load":0.125,"drop":0.125,"protocol":0.125,"between":0.125,"coordinator":0.125,"and":0.125,"historical":0.125},"1664":{"overlord":0.3333333333333333,"leader":0.3333333333333333,"election":0.3333333333333333},"1665":{"overlord":0.2,"and":0.2,"middlemanager":0.2,"task":0.2,"management":0.2},"1666":{"apache":0.09090909090909091,"dubbo":0.09090909090909091,"is":0.09090909090909091,"a":0.09090909090909091,"high-performance":0.09090909090909091,"java":0.09090909090909091,"based":0.09090909090909091,"open":0.09090909090909091,"source":0.09090909090909091,"rpc":0.09090909090909091,"framework":0.09090909090909091},"1667":{"zookeeper":0.08333333333333333,"is":0.08333333333333333,"used":0.08333333333333333,"for":0.08333333333333333,"service":0.08333333333333333,"registration":0.08333333333333333,"discovery":0.08333333333333333,"and":0.08333333333333333,"configuration":0.08333333333333333,"management":0.08333333333333333,"in":0.08333333333333333,"dubbo":0.08333333333333333},"1668":{"apache":0.030303030303030304,"flink":0.030303030303030304,"is":0.030303030303030304,"a":0.030303030303030304,"framework":0.030303030303030304,"and":0.030303030303030304,"distributed":0.030303030303030304,"processing":0.030303030303030304,"engine":0.030303030303030304,"for":0.030303030303030304,"stateful":0.030303030303030304,"computations":0.030303030303030304,"over":0.030303030303030304,"unbounded":0.030303030303030304,"bounded":0.030303030303030304,"data":0.030303030303030304,"streams":0.030303030303030304,"has":0.030303030303030304,"been":0.030303030303030304,"designed":0.030303030303030304,"to":0.030303030303030304,"run":0.030303030303030304,"in":0.030303030303030304,"all":0.030303030303030304,"common":0.030303030303030304,"cluster":0.030303030303030304,"environments":0.030303030303030304,"perform":0.030303030303030304,"at":0.030303030303030304,"in-memory":0.030303030303030304,"speed":0.030303030303030304,"any":0.030303030303030304,"scale":0.030303030303030304},"1669":{"to":0.02,"enable":0.02,"jobmanager":0.02,"high":0.02,"availability":0.02,"you":0.02,"have":0.02,"set":0.02,"the":0.02,"high-availability":0.02,"mode":0.02,"zookeeper":0.02,"configure":0.02,"a":0.02,"quorum":0.02,"and":0.02,"up":0.02,"masters":0.02,"file":0.02,"with":0.02,"all":0.02,"jobmanagers":0.02,"hosts":0.02,"their":0.02,"web":0.02,"ui":0.02,"ports":0.02,"flink":0.02,"leverages":0.02,"for":0.02,"distributed":0.02,"coordination":0.02,"between":0.02,"running":0.02,"instances":0.02,"is":0.02,"separate":0.02,"service":0.02,"from":0.02,"which":0.02,"provides":0.02,"highly":0.02,"reliable":0.02,"via":0.02,"leader":0.02,"election":0.02,"light-weight":0.02,"consistent":0.02,"state":0.02,"storage":0.02},"1670":{"flume":0.022222222222222223,"is":0.022222222222222223,"a":0.022222222222222223,"distributed":0.022222222222222223,"reliable":0.022222222222222223,"and":0.022222222222222223,"available":0.022222222222222223,"service":0.022222222222222223,"for":0.022222222222222223,"efficiently":0.022222222222222223,"collecting":0.022222222222222223,"aggregating":0.022222222222222223,"moving":0.022222222222222223,"large":0.022222222222222223,"amounts":0.022222222222222223,"of":0.022222222222222223,"log":0.022222222222222223,"data":0.022222222222222223,"it":0.022222222222222223,"has":0.022222222222222223,"simple":0.022222222222222223,"flexible":0.022222222222222223,"architecture":0.022222222222222223,"based":0.022222222222222223,"on":0.022222222222222223,"streaming":0.022222222222222223,"flows":0.022222222222222223,"robust":0.022222222222222223,"fault":0.022222222222222223,"tolerant":0.022222222222222223,"with":0.022222222222222223,"tunable":0.022222222222222223,"reliability":0.022222222222222223,"mechanisms":0.022222222222222223,"many":0.022222222222222223,"failover":0.022222222222222223,"recovery":0.022222222222222223,"uses":0.022222222222222223,"extensible":0.022222222222222223,"model":0.022222222222222223,"that":0.022222222222222223,"allows":0.022222222222222223,"online":0.022222222222222223,"analytic":0.022222222222222223,"application":0.022222222222222223},"1671":{"flume":0.09090909090909091,"supports":0.09090909090909091,"agent":0.09090909090909091,"configurations":0.09090909090909091,"via":0.09090909090909091,"zookeeper":0.09090909090909091,"this":0.09090909090909091,"is":0.09090909090909091,"an":0.09090909090909091,"experimental":0.09090909090909091,"feature":0.09090909090909091},"1672":{"apache":0.058823529411764705,"fluo":0.058823529411764705,"is":0.058823529411764705,"a":0.058823529411764705,"distributed":0.058823529411764705,"processing":0.058823529411764705,"system":0.058823529411764705,"that":0.058823529411764705,"lets":0.058823529411764705,"users":0.058823529411764705,"make":0.058823529411764705,"incremental":0.058823529411764705,"updates":0.058823529411764705,"to":0.058823529411764705,"large":0.058823529411764705,"data":0.058823529411764705,"sets":0.058823529411764705},"1673":{"31":0.07692307692307693,"37":0.07692307692307693,"apache":0.07692307692307693,"fluo":0.07692307692307693,"is":0.07692307692307693,"built":0.07692307692307693,"on":0.07692307692307693,"accumulo":0.07692307692307693,"which":0.07692307692307693,"uses":0.07692307692307693,"zookeeper":0.07692307692307693,"for":0.07692307692307693,"consensus":0.07692307692307693},"1674":{"big":0.125,"data":0.125,"quality":0.125,"solution":0.125,"for":0.125,"batch":0.125,"and":0.125,"streaming":0.125},"1675":{"31":0.06666666666666667,"36":0.06666666666666667,"griffin":0.06666666666666667,"uses":0.06666666666666667,"zookeeper":0.06666666666666667,"for":0.06666666666666667,"coordination":0.06666666666666667,"to":0.06666666666666667,"provide":0.06666666666666667,"redundancy":0.06666666666666667,"and":0.06666666666666667,"high":0.06666666666666667,"availability":0.06666666666666667,"of":0.06666666666666667,"kafka":0.06666666666666667},"1676":{"the":0.015625,"apache":0.015625,"hadoop":0.015625,"software":0.015625,"library":0.015625,"is":0.015625,"a":0.015625,"framework":0.015625,"that":0.015625,"allows":0.015625,"for":0.015625,"distributed":0.015625,"processing":0.015625,"of":0.015625,"large":0.015625,"data":0.015625,"sets":0.015625,"across":0.015625,"clusters":0.015625,"computers":0.015625,"using":0.015625,"simple":0.015625,"programming":0.015625,"models":0.015625,"it":0.015625,"designed":0.015625,"to":0.015625,"scale":0.015625,"up":0.015625,"from":0.015625,"single":0.015625,"servers":0.015625,"thousands":0.015625,"machines":0.015625,"each":0.015625,"offering":0.015625,"local":0.015625,"computation":0.015625,"and":0.015625,"storage":0.015625,"rather":0.015625,"than":0.015625,"rely":0.015625,"on":0.015625,"hardware":0.015625,"deliver":0.015625,"high-availability":0.015625,"itself":0.015625,"detect":0.015625,"handle":0.015625,"failures":0.015625,"at":0.015625,"application":0.015625,"layer":0.015625,"so":0.015625,"delivering":0.015625,"highly-available":0.015625,"service":0.015625,"top":0.015625,"cluster":0.015625,"which":0.015625,"may":0.015625,"be":0.015625,"prone":0.015625},"1677":{"the":0.08333333333333333,"implementation":0.08333333333333333,"of":0.08333333333333333,"automatic":0.08333333333333333,"hdfs":0.08333333333333333,"failover":0.08333333333333333,"relies":0.08333333333333333,"on":0.08333333333333333,"zookeeper":0.08333333333333333,"for":0.08333333333333333,"following":0.08333333333333333,"things":0.08333333333333333},"1678":{"failure":0.037037037037037035,"detection":0.037037037037037035,"-":0.037037037037037035,"each":0.037037037037037035,"of":0.037037037037037035,"the":0.037037037037037035,"namenode":0.037037037037037035,"machines":0.037037037037037035,"in":0.037037037037037035,"cluster":0.037037037037037035,"maintains":0.037037037037037035,"a":0.037037037037037035,"persistent":0.037037037037037035,"session":0.037037037037037035,"zookeeper":0.037037037037037035,"if":0.037037037037037035,"machine":0.037037037037037035,"crashes":0.037037037037037035,"will":0.037037037037037035,"expire":0.037037037037037035,"notifying":0.037037037037037035,"other":0.037037037037037035,"that":0.037037037037037035,"failover":0.037037037037037035,"should":0.037037037037037035,"be":0.037037037037037035,"triggered":0.037037037037037035},"1679":{"active":0.03225806451612903,"namenode":0.03225806451612903,"election":0.03225806451612903,"-":0.03225806451612903,"zookeeper":0.03225806451612903,"provides":0.03225806451612903,"a":0.03225806451612903,"simple":0.03225806451612903,"mechanism":0.03225806451612903,"to":0.03225806451612903,"exclusively":0.03225806451612903,"elect":0.03225806451612903,"node":0.03225806451612903,"as":0.03225806451612903,"if":0.03225806451612903,"the":0.03225806451612903,"current":0.03225806451612903,"crashes":0.03225806451612903,"another":0.03225806451612903,"may":0.03225806451612903,"take":0.03225806451612903,"special":0.03225806451612903,"exclusive":0.03225806451612903,"lock":0.03225806451612903,"in":0.03225806451612903,"indicating":0.03225806451612903,"that":0.03225806451612903,"it":0.03225806451612903,"should":0.03225806451612903,"become":0.03225806451612903,"next":0.03225806451612903},"1680":{"the":0.043478260869565216,"zkfailovercontroller":0.043478260869565216,"zkfc":0.043478260869565216,"is":0.043478260869565216,"a":0.043478260869565216,"new":0.043478260869565216,"component":0.043478260869565216,"which":0.043478260869565216,"zookeeper":0.043478260869565216,"client":0.043478260869565216,"also":0.043478260869565216,"monitors":0.043478260869565216,"and":0.043478260869565216,"manages":0.043478260869565216,"state":0.043478260869565216,"of":0.043478260869565216,"namenode":0.043478260869565216,"each":0.043478260869565216,"machines":0.043478260869565216,"runs":0.043478260869565216,"that":0.043478260869565216,"responsible":0.043478260869565216,"for":0.043478260869565216},"1681":{"health":0.024390243902439025,"monitoring":0.024390243902439025,"-":0.024390243902439025,"the":0.024390243902439025,"zkfc":0.024390243902439025,"pings":0.024390243902439025,"its":0.024390243902439025,"local":0.024390243902439025,"namenode":0.024390243902439025,"on":0.024390243902439025,"a":0.024390243902439025,"periodic":0.024390243902439025,"basis":0.024390243902439025,"with":0.024390243902439025,"health-check":0.024390243902439025,"command":0.024390243902439025,"so":0.024390243902439025,"long":0.024390243902439025,"as":0.024390243902439025,"responds":0.024390243902439025,"in":0.024390243902439025,"timely":0.024390243902439025,"fashion":0.024390243902439025,"healthy":0.024390243902439025,"status":0.024390243902439025,"considers":0.024390243902439025,"node":0.024390243902439025,"if":0.024390243902439025,"has":0.024390243902439025,"crashed":0.024390243902439025,"frozen":0.024390243902439025,"or":0.024390243902439025,"otherwise":0.024390243902439025,"entered":0.024390243902439025,"an":0.024390243902439025,"unhealthy":0.024390243902439025,"state":0.024390243902439025,"monitor":0.024390243902439025,"will":0.024390243902439025,"mark":0.024390243902439025,"it":0.024390243902439025},"1682":{"zookeeper":0.02857142857142857,"session":0.02857142857142857,"management":0.02857142857142857,"-":0.02857142857142857,"when":0.02857142857142857,"the":0.02857142857142857,"local":0.02857142857142857,"namenode":0.02857142857142857,"is":0.02857142857142857,"healthy":0.02857142857142857,"zkfc":0.02857142857142857,"holds":0.02857142857142857,"a":0.02857142857142857,"open":0.02857142857142857,"in":0.02857142857142857,"if":0.02857142857142857,"active":0.02857142857142857,"it":0.02857142857142857,"also":0.02857142857142857,"special":0.02857142857142857,"lock":0.02857142857142857,"znode":0.02857142857142857,"this":0.02857142857142857,"uses":0.02857142857142857,"s":0.02857142857142857,"support":0.02857142857142857,"for":0.02857142857142857,"ephemeral":0.02857142857142857,"nodes":0.02857142857142857,"expires":0.02857142857142857,"node":0.02857142857142857,"will":0.02857142857142857,"be":0.02857142857142857,"automatically":0.02857142857142857,"deleted":0.02857142857142857},"1683":{"zookeeper-based":0.02040816326530612,"election":0.02040816326530612,"-":0.02040816326530612,"if":0.02040816326530612,"the":0.02040816326530612,"local":0.02040816326530612,"namenode":0.02040816326530612,"is":0.02040816326530612,"healthy":0.02040816326530612,"and":0.02040816326530612,"zkfc":0.02040816326530612,"sees":0.02040816326530612,"that":0.02040816326530612,"no":0.02040816326530612,"other":0.02040816326530612,"node":0.02040816326530612,"currently":0.02040816326530612,"holds":0.02040816326530612,"lock":0.02040816326530612,"znode":0.02040816326530612,"it":0.02040816326530612,"will":0.02040816326530612,"itself":0.02040816326530612,"try":0.02040816326530612,"to":0.02040816326530612,"acquire":0.02040816326530612,"succeeds":0.02040816326530612,"then":0.02040816326530612,"has":0.02040816326530612,"won":0.02040816326530612,"responsible":0.02040816326530612,"for":0.02040816326530612,"running":0.02040816326530612,"a":0.02040816326530612,"failover":0.02040816326530612,"make":0.02040816326530612,"its":0.02040816326530612,"active":0.02040816326530612,"process":0.02040816326530612,"similar":0.02040816326530612,"manual":0.02040816326530612,"described":0.02040816326530612,"above":0.02040816326530612,"first":0.02040816326530612,"previous":0.02040816326530612,"fenced":0.02040816326530612,"necessary":0.02040816326530612,"transitions":0.02040816326530612,"state":0.02040816326530612},"1684":{"hbase":0.08333333333333333,"is":0.08333333333333333,"the":0.08333333333333333,"hadoop":0.08333333333333333,"database":0.08333333333333333,"it's":0.08333333333333333,"an":0.08333333333333333,"open-source":0.08333333333333333,"distributed":0.08333333333333333,"column-oriented":0.08333333333333333,"store":0.08333333333333333,"model":0.08333333333333333},"1685":{"hbase":0.030303030303030304,"uses":0.030303030303030304,"zookeeper":0.030303030303030304,"for":0.030303030303030304,"master":0.030303030303030304,"election":0.030303030303030304,"server":0.030303030303030304,"lease":0.030303030303030304,"management":0.030303030303030304,"bootstrapping":0.030303030303030304,"and":0.030303030303030304,"coordination":0.030303030303030304,"between":0.030303030303030304,"servers":0.030303030303030304,"a":0.030303030303030304,"distributed":0.030303030303030304,"apache":0.030303030303030304,"installation":0.030303030303030304,"depends":0.030303030303030304,"on":0.030303030303030304,"running":0.030303030303030304,"cluster":0.030303030303030304,"all":0.030303030303030304,"participating":0.030303030303030304,"nodes":0.030303030303030304,"clients":0.030303030303030304,"need":0.030303030303030304,"to":0.030303030303030304,"be":0.030303030303030304,"able":0.030303030303030304,"access":0.030303030303030304,"the":0.030303030303030304,"ensemble":0.030303030303030304},"1686":{"as":0.038461538461538464,"you":0.038461538461538464,"can":0.038461538461538464,"see":0.038461538461538464,"zookeeper":0.038461538461538464,"is":0.038461538461538464,"a":0.038461538461538464,"fundamental":0.038461538461538464,"part":0.038461538461538464,"of":0.038461538461538464,"hbase":0.038461538461538464,"all":0.038461538461538464,"operations":0.038461538461538464,"that":0.038461538461538464,"require":0.038461538461538464,"coordination":0.038461538461538464,"such":0.038461538461538464,"regions":0.038461538461538464,"assignment":0.038461538461538464,"master-failover":0.038461538461538464,"replication":0.038461538461538464,"and":0.038461538461538464,"snapshots":0.038461538461538464,"are":0.038461538461538464,"built":0.038461538461538464,"on":0.038461538461538464},"1687":{"a":0.1,"cluster":0.1,"management":0.1,"framework":0.1,"for":0.1,"partitioned":0.1,"and":0.1,"replicated":0.1,"distributed":0.1,"resources":0.1},"1688":{"we":0.034482758620689655,"need":0.034482758620689655,"a":0.034482758620689655,"distributed":0.034482758620689655,"store":0.034482758620689655,"to":0.034482758620689655,"maintain":0.034482758620689655,"the":0.034482758620689655,"state":0.034482758620689655,"of":0.034482758620689655,"cluster":0.034482758620689655,"and":0.034482758620689655,"notification":0.034482758620689655,"system":0.034482758620689655,"notify":0.034482758620689655,"if":0.034482758620689655,"there":0.034482758620689655,"is":0.034482758620689655,"any":0.034482758620689655,"change":0.034482758620689655,"in":0.034482758620689655,"helix":0.034482758620689655,"uses":0.034482758620689655,"apache":0.034482758620689655,"zookeeper":0.034482758620689655,"achieve":0.034482758620689655,"this":0.034482758620689655,"functionality":0.034482758620689655,"provides":0.034482758620689655},"1689":{"a":0.09090909090909091,"way":0.09090909090909091,"to":0.09090909090909091,"represent":0.09090909090909091,"persistent":0.09090909090909091,"state":0.09090909090909091,"which":0.09090909090909091,"remains":0.09090909090909091,"until":0.09090909090909091,"its":0.09090909090909091,"deleted":0.09090909090909091},"1690":{"a":0.06666666666666667,"way":0.06666666666666667,"to":0.06666666666666667,"represent":0.06666666666666667,"transient":0.06666666666666667,"ephemeral":0.06666666666666667,"state":0.06666666666666667,"which":0.06666666666666667,"vanishes":0.06666666666666667,"when":0.06666666666666667,"the":0.06666666666666667,"process":0.06666666666666667,"that":0.06666666666666667,"created":0.06666666666666667,"dies":0.06666666666666667},"1691":{"a":0.08333333333333333,"notification":0.08333333333333333,"mechanism":0.08333333333333333,"when":0.08333333333333333,"there":0.08333333333333333,"is":0.08333333333333333,"change":0.08333333333333333,"in":0.08333333333333333,"persistent":0.08333333333333333,"and":0.08333333333333333,"ephemeral":0.08333333333333333,"state":0.08333333333333333},"1692":{"the":0.027777777777777776,"apache":0.027777777777777776,"hive":0.027777777777777776,"data":0.027777777777777776,"warehouse":0.027777777777777776,"software":0.027777777777777776,"facilitates":0.027777777777777776,"reading":0.027777777777777776,"writing":0.027777777777777776,"and":0.027777777777777776,"managing":0.027777777777777776,"large":0.027777777777777776,"datasets":0.027777777777777776,"residing":0.027777777777777776,"in":0.027777777777777776,"distributed":0.027777777777777776,"storage":0.027777777777777776,"using":0.027777777777777776,"sql":0.027777777777777776,"structure":0.027777777777777776,"can":0.027777777777777776,"be":0.027777777777777776,"projected":0.027777777777777776,"onto":0.027777777777777776,"already":0.027777777777777776,"a":0.027777777777777776,"command":0.027777777777777776,"line":0.027777777777777776,"tool":0.027777777777777776,"jdbc":0.027777777777777776,"driver":0.027777777777777776,"are":0.027777777777777776,"provided":0.027777777777777776,"to":0.027777777777777776,"connect":0.027777777777777776,"users":0.027777777777777776},"1693":{"25":0.0625,"26":0.0625,"hive":0.0625,"has":0.0625,"been":0.0625,"using":0.0625,"zookeeper":0.0625,"as":0.0625,"distributed":0.0625,"lock":0.0625,"manager":0.0625,"to":0.0625,"support":0.0625,"concurrency":0.0625,"in":0.0625,"hiveserver2":0.0625},"1694":{"ignite":0.047619047619047616,"is":0.047619047619047616,"a":0.047619047619047616,"memory-centric":0.047619047619047616,"distributed":0.047619047619047616,"database":0.047619047619047616,"caching":0.047619047619047616,"and":0.047619047619047616,"processing":0.047619047619047616,"platform":0.047619047619047616,"for":0.047619047619047616,"transactional":0.047619047619047616,"analytical":0.047619047619047616,"streaming":0.047619047619047616,"workloads":0.047619047619047616,"delivering":0.047619047619047616,"in-memory":0.047619047619047616,"speeds":0.047619047619047616,"at":0.047619047619047616,"petabyte":0.047619047619047616,"scale":0.047619047619047616},"1695":{"31":0.04,"34":0.04,"apache":0.04,"ignite":0.04,"discovery":0.04,"mechanism":0.04,"goes":0.04,"with":0.04,"a":0.04,"zookeeper":0.04,"implementations":0.04,"which":0.04,"allows":0.04,"scaling":0.04,"clusters":0.04,"to":0.04,"100s":0.04,"and":0.04,"1000s":0.04,"of":0.04,"nodes":0.04,"preserving":0.04,"linear":0.04,"scalability":0.04,"performance":0.04},"1696":{"the":0.05263157894736842,"apache":0.05263157894736842,"james":0.05263157894736842,"mailbox":0.05263157894736842,"is":0.05263157894736842,"a":0.05263157894736842,"library":0.05263157894736842,"providing":0.05263157894736842,"flexible":0.05263157894736842,"storage":0.05263157894736842,"accessible":0.05263157894736842,"by":0.05263157894736842,"mail":0.05263157894736842,"protocols":0.05263157894736842,"imap4":0.05263157894736842,"pop3":0.05263157894736842,"smtp":0.05263157894736842,"and":0.05263157894736842,"other":0.05263157894736842},"1697":{"uses":0.1,"zookeeper":0.1,"and":0.1,"curator":0.1,"framework":0.1,"for":0.1,"generating":0.1,"distributed":0.1,"unique":0.1,"id's":0.1},"1698":{"kafka":0.125,"is":0.125,"a":0.125,"distributed":0.125,"publish":0.125,"subscribe":0.125,"messaging":0.125,"system":0.125},"1699":{"apache":0.1111111111111111,"kafka":0.1111111111111111,"relies":0.1111111111111111,"on":0.1111111111111111,"zookeeper":0.1111111111111111,"for":0.1111111111111111,"the":0.1111111111111111,"following":0.1111111111111111,"things":0.1111111111111111},"1700":{"controller":0.015151515151515152,"election":0.015151515151515152,"the":0.015151515151515152,"is":0.015151515151515152,"one":0.015151515151515152,"of":0.015151515151515152,"most":0.015151515151515152,"important":0.015151515151515152,"broking":0.015151515151515152,"entity":0.015151515151515152,"in":0.015151515151515152,"a":0.015151515151515152,"kafka":0.015151515151515152,"ecosystem":0.015151515151515152,"and":0.015151515151515152,"it":0.015151515151515152,"also":0.015151515151515152,"has":0.015151515151515152,"responsibility":0.015151515151515152,"to":0.015151515151515152,"maintain":0.015151515151515152,"leader-follower":0.015151515151515152,"relationship":0.015151515151515152,"across":0.015151515151515152,"all":0.015151515151515152,"partitions":0.015151515151515152,"if":0.015151515151515152,"node":0.015151515151515152,"by":0.015151515151515152,"some":0.015151515151515152,"reason":0.015151515151515152,"shutting":0.015151515151515152,"down":0.015151515151515152,"s":0.015151515151515152,"tell":0.015151515151515152,"replicas":0.015151515151515152,"act":0.015151515151515152,"as":0.015151515151515152,"partition":0.015151515151515152,"leaders":0.015151515151515152,"order":0.015151515151515152,"fulfill":0.015151515151515152,"duties":0.015151515151515152,"on":0.015151515151515152,"that":0.015151515151515152,"about":0.015151515151515152,"fail":0.015151515151515152,"so":0.015151515151515152,"whenever":0.015151515151515152,"shuts":0.015151515151515152,"new":0.015151515151515152,"can":0.015151515151515152,"be":0.015151515151515152,"elected":0.015151515151515152,"made":0.015151515151515152,"sure":0.015151515151515152,"at":0.015151515151515152,"any":0.015151515151515152,"given":0.015151515151515152,"time":0.015151515151515152,"there":0.015151515151515152,"only":0.015151515151515152,"follower":0.015151515151515152,"nodes":0.015151515151515152,"have":0.015151515151515152,"agreed":0.015151515151515152},"1701":{"configuration":0.041666666666666664,"of":0.041666666666666664,"topics":0.041666666666666664,"the":0.041666666666666664,"regarding":0.041666666666666664,"all":0.041666666666666664,"including":0.041666666666666664,"list":0.041666666666666664,"existing":0.041666666666666664,"number":0.041666666666666664,"partitions":0.041666666666666664,"for":0.041666666666666664,"each":0.041666666666666664,"topic":0.041666666666666664,"location":0.041666666666666664,"replicas":0.041666666666666664,"overrides":0.041666666666666664,"and":0.041666666666666664,"which":0.041666666666666664,"node":0.041666666666666664,"is":0.041666666666666664,"preferred":0.041666666666666664,"leader":0.041666666666666664,"etc":0.041666666666666664},"1702":{"access":0.07142857142857142,"control":0.07142857142857142,"lists":0.07142857142857142,"or":0.07142857142857142,"acls":0.07142857142857142,"for":0.07142857142857142,"all":0.07142857142857142,"the":0.07142857142857142,"topics":0.07142857142857142,"are":0.07142857142857142,"also":0.07142857142857142,"maintained":0.07142857142857142,"within":0.07142857142857142,"zookeeper":0.07142857142857142},"1703":{"membership":0.05,"of":0.05,"the":0.05,"cluster":0.05,"zookeeper":0.05,"also":0.05,"maintains":0.05,"a":0.05,"list":0.05,"all":0.05,"brokers":0.05,"that":0.05,"are":0.05,"functioning":0.05,"at":0.05,"any":0.05,"given":0.05,"moment":0.05,"and":0.05,"part":0.05},"1704":{"apache":0.03333333333333333,"kylin":0.03333333333333333,"is":0.03333333333333333,"an":0.03333333333333333,"open":0.03333333333333333,"source":0.03333333333333333,"distributed":0.03333333333333333,"analytics":0.03333333333333333,"engine":0.03333333333333333,"designed":0.03333333333333333,"to":0.03333333333333333,"provide":0.03333333333333333,"sql":0.03333333333333333,"interface":0.03333333333333333,"and":0.03333333333333333,"multi-dimensional":0.03333333333333333,"analysis":0.03333333333333333,"olap":0.03333333333333333,"on":0.03333333333333333,"hadoop":0.03333333333333333,"spark":0.03333333333333333,"supporting":0.03333333333333333,"extremely":0.03333333333333333,"large":0.03333333333333333,"datasets":0.03333333333333333,"original":0.03333333333333333,"contributed":0.03333333333333333,"from":0.03333333333333333,"ebay":0.03333333333333333,"inc":0.03333333333333333},"1705":{"31":0.1111111111111111,"33":0.1111111111111111,"apache":0.1111111111111111,"kylin":0.1111111111111111,"leverages":0.1111111111111111,"zookeeper":0.1111111111111111,"for":0.1111111111111111,"job":0.1111111111111111,"coordination":0.1111111111111111},"1706":{"apache":0.037037037037037035,"mesos":0.037037037037037035,"abstracts":0.037037037037037035,"cpu":0.037037037037037035,"memory":0.037037037037037035,"storage":0.037037037037037035,"and":0.037037037037037035,"other":0.037037037037037035,"compute":0.037037037037037035,"resources":0.037037037037037035,"away":0.037037037037037035,"from":0.037037037037037035,"machines":0.037037037037037035,"physical":0.037037037037037035,"or":0.037037037037037035,"virtual":0.037037037037037035,"enabling":0.037037037037037035,"fault-tolerant":0.037037037037037035,"elastic":0.037037037037037035,"distributed":0.037037037037037035,"systems":0.037037037037037035,"to":0.037037037037037035,"easily":0.037037037037037035,"be":0.037037037037037035,"built":0.037037037037037035,"run":0.037037037037037035,"effectively":0.037037037037037035},"1707":{"mesos":0.02702702702702703,"has":0.02702702702702703,"a":0.02702702702702703,"high-availability":0.02702702702702703,"mode":0.02702702702702703,"that":0.02702702702702703,"uses":0.02702702702702703,"multiple":0.02702702702702703,"masters":0.02702702702702703,"one":0.02702702702702703,"active":0.02702702702702703,"master":0.02702702702702703,"called":0.02702702702702703,"the":0.02702702702702703,"leader":0.02702702702702703,"or":0.02702702702702703,"leading":0.02702702702702703,"and":0.02702702702702703,"several":0.02702702702702703,"backups":0.02702702702702703,"in":0.02702702702702703,"case":0.02702702702702703,"it":0.02702702702702703,"fails":0.02702702702702703,"elect":0.02702702702702703,"with":0.02702702702702703,"apache":0.02702702702702703,"zookeeper":0.02702702702702703,"both":0.02702702702702703,"coordinating":0.02702702702702703,"election":0.02702702702702703,"handling":0.02702702702702703,"detection":0.02702702702702703,"by":0.02702702702702703,"agents":0.02702702702702703,"scheduler":0.02702702702702703,"drivers":0.02702702702702703},"1708":{"oozie":0.09090909090909091,"is":0.09090909090909091,"a":0.09090909090909091,"workflow":0.09090909090909091,"scheduler":0.09090909090909091,"system":0.09090909090909091,"to":0.09090909090909091,"manage":0.09090909090909091,"apache":0.09090909090909091,"hadoop":0.09090909090909091,"jobs":0.09090909090909091},"1709":{"3":0.037037037037037035,"the":0.037037037037037035,"oozie":0.037037037037037035,"servers":0.037037037037037035,"use":0.037037037037037035,"it":0.037037037037037035,"for":0.037037037037037035,"coordinating":0.037037037037037035,"access":0.037037037037037035,"to":0.037037037037037035,"database":0.037037037037037035,"and":0.037037037037037035,"communicating":0.037037037037037035,"with":0.037037037037037035,"each":0.037037037037037035,"other":0.037037037037037035,"in":0.037037037037037035,"order":0.037037037037037035,"have":0.037037037037037035,"full":0.037037037037037035,"ha":0.037037037037037035,"there":0.037037037037037035,"should":0.037037037037037035,"be":0.037037037037037035,"at":0.037037037037037035,"least":0.037037037037037035,"zookeeper":0.037037037037037035},"1710":{"apache":0.05,"pulsar":0.05,"is":0.05,"an":0.05,"open-source":0.05,"distributed":0.05,"pub-sub":0.05,"messaging":0.05,"system":0.05,"originally":0.05,"created":0.05,"at":0.05,"yahoo":0.05,"and":0.05,"now":0.05,"part":0.05,"of":0.05,"the":0.05,"software":0.05,"foundation":0.05},"1711":{"pulsar":0.07142857142857142,"uses":0.07142857142857142,"apache":0.07142857142857142,"zookeeper":0.07142857142857142,"for":0.07142857142857142,"metadata":0.07142857142857142,"storage":0.07142857142857142,"cluster":0.07142857142857142,"configuration":0.07142857142857142,"and":0.07142857142857142,"coordination":0.07142857142857142,"in":0.07142857142857142,"a":0.07142857142857142,"instance":0.07142857142857142},"1712":{"a":0.058823529411764705,"configuration":0.058823529411764705,"store":0.058823529411764705,"quorum":0.058823529411764705,"stores":0.058823529411764705,"for":0.058823529411764705,"tenants":0.058823529411764705,"namespaces":0.058823529411764705,"and":0.058823529411764705,"other":0.058823529411764705,"entities":0.058823529411764705,"that":0.058823529411764705,"need":0.058823529411764705,"to":0.058823529411764705,"be":0.058823529411764705,"globally":0.058823529411764705,"consistent":0.058823529411764705},"1713":{"each":0.041666666666666664,"cluster":0.041666666666666664,"has":0.041666666666666664,"its":0.041666666666666664,"own":0.041666666666666664,"local":0.041666666666666664,"zookeeper":0.041666666666666664,"ensemble":0.041666666666666664,"that":0.041666666666666664,"stores":0.041666666666666664,"cluster-specific":0.041666666666666664,"configuration":0.041666666666666664,"and":0.041666666666666664,"coordination":0.041666666666666664,"such":0.041666666666666664,"as":0.041666666666666664,"ownership":0.041666666666666664,"metadata":0.041666666666666664,"broker":0.041666666666666664,"load":0.041666666666666664,"reports":0.041666666666666664,"bookkeeper":0.041666666666666664,"ledger":0.041666666666666664,"more":0.041666666666666664},"1714":{"solr":0.07142857142857142,"is":0.07142857142857142,"the":0.07142857142857142,"popular":0.07142857142857142,"blazing-fast":0.07142857142857142,"open":0.07142857142857142,"source":0.07142857142857142,"enterprise":0.07142857142857142,"search":0.07142857142857142,"platform":0.07142857142857142,"built":0.07142857142857142,"on":0.07142857142857142,"apache":0.07142857142857142,"lucene":0.07142857142857142},"1715":{"12":0.041666666666666664,"13":0.041666666666666664,"in":0.041666666666666664,"the":0.041666666666666664,"cloud":0.041666666666666664,"edition":0.041666666666666664,"v4":0.041666666666666664,"x":0.041666666666666664,"and":0.041666666666666664,"up":0.041666666666666664,"of":0.041666666666666664,"enterprise":0.041666666666666664,"search":0.041666666666666664,"engine":0.041666666666666664,"apache":0.041666666666666664,"solr":0.041666666666666664,"zookeeper":0.041666666666666664,"is":0.041666666666666664,"used":0.041666666666666664,"for":0.041666666666666664,"configuration":0.041666666666666664,"leader":0.041666666666666664,"election":0.041666666666666664,"more":0.041666666666666664},"1716":{"apache":0.09090909090909091,"spark":0.09090909090909091,"is":0.09090909090909091,"a":0.09090909090909091,"unified":0.09090909090909091,"analytics":0.09090909090909091,"engine":0.09090909090909091,"for":0.09090909090909091,"large-scale":0.09090909090909091,"data":0.09090909090909091,"processing":0.09090909090909091},"1717":{"utilizing":0.024390243902439025,"zookeeper":0.024390243902439025,"to":0.024390243902439025,"provide":0.024390243902439025,"leader":0.024390243902439025,"election":0.024390243902439025,"and":0.024390243902439025,"some":0.024390243902439025,"state":0.024390243902439025,"storage":0.024390243902439025,"you":0.024390243902439025,"can":0.024390243902439025,"launch":0.024390243902439025,"multiple":0.024390243902439025,"masters":0.024390243902439025,"in":0.024390243902439025,"your":0.024390243902439025,"cluster":0.024390243902439025,"connected":0.024390243902439025,"the":0.024390243902439025,"same":0.024390243902439025,"instance":0.024390243902439025,"one":0.024390243902439025,"will":0.024390243902439025,"be":0.024390243902439025,"elected":0.024390243902439025,"others":0.024390243902439025,"remain":0.024390243902439025,"standby":0.024390243902439025,"mode":0.024390243902439025,"if":0.024390243902439025,"current":0.024390243902439025,"dies":0.024390243902439025,"another":0.024390243902439025,"master":0.024390243902439025,"recover":0.024390243902439025,"old":0.024390243902439025,"s":0.024390243902439025,"then":0.024390243902439025,"resume":0.024390243902439025,"scheduling":0.024390243902439025},"1718":{"apache":0.025,"storm":0.025,"is":0.025,"a":0.025,"free":0.025,"and":0.025,"open":0.025,"source":0.025,"distributed":0.025,"realtime":0.025,"computation":0.025,"system":0.025,"makes":0.025,"it":0.025,"easy":0.025,"to":0.025,"reliably":0.025,"process":0.025,"unbounded":0.025,"streams":0.025,"of":0.025,"data":0.025,"doing":0.025,"for":0.025,"processing":0.025,"what":0.025,"hadoop":0.025,"did":0.025,"batch":0.025,"simple":0.025,"can":0.025,"be":0.025,"used":0.025,"with":0.025,"any":0.025,"programming":0.025,"language":0.025,"lot":0.025,"fun":0.025,"use":0.025},"1719":{"storm":0.14285714285714285,"uses":0.14285714285714285,"zookeeper":0.14285714285714285,"for":0.14285714285714285,"coordinating":0.14285714285714285,"the":0.14285714285714285,"cluster":0.14285714285714285},"1720":{"the":0.0625,"ageto":0.0625,"rnd":0.0625,"team":0.0625,"uses":0.0625,"zookeeper":0.0625,"in":0.0625,"a":0.0625,"variety":0.0625,"of":0.0625,"internal":0.0625,"as":0.0625,"well":0.0625,"external":0.0625,"consulting":0.0625,"projects":0.0625},"1721":{"zookeeper":0.08333333333333333,"is":0.08333333333333333,"used":0.08333333333333333,"for":0.08333333333333333,"internal":0.08333333333333333,"application":0.08333333333333333,"development":0.08333333333333333,"with":0.08333333333333333,"solr":0.08333333333333333,"and":0.08333333333333333,"hadoop":0.08333333333333333,"hbase":0.08333333333333333},"1722":{"box":0.08333333333333333,"uses":0.08333333333333333,"zookeeper":0.08333333333333333,"for":0.08333333333333333,"service":0.08333333333333333,"discovery":0.08333333333333333,"coordination":0.08333333333333333,"solr":0.08333333333333333,"and":0.08333333333333333,"hadoop":0.08333333333333333,"support":0.08333333333333333,"etc":0.08333333333333333},"1723":{"we":0.03571428571428571,"do":0.03571428571428571,"search":0.03571428571428571,"for":0.03571428571428571,"research":0.03571428571428571,"and":0.03571428571428571,"provide":0.03571428571428571,"access":0.03571428571428571,"to":0.03571428571428571,"high":0.03571428571428571,"quality":0.03571428571428571,"content":0.03571428571428571,"using":0.03571428571428571,"advanced":0.03571428571428571,"technologies":0.03571428571428571,"zookeeper":0.03571428571428571,"is":0.03571428571428571,"used":0.03571428571428571,"manage":0.03571428571428571,"server":0.03571428571428571,"state":0.03571428571428571,"control":0.03571428571428571,"index":0.03571428571428571,"deployment":0.03571428571428571,"a":0.03571428571428571,"myriad":0.03571428571428571,"other":0.03571428571428571,"tasks":0.03571428571428571},"1724":{"17":0.020833333333333332,"18":0.020833333333333332,"facebook":0.020833333333333332,"uses":0.020833333333333332,"the":0.020833333333333332,"zeus":0.020833333333333332,"for":0.020833333333333332,"configuration":0.020833333333333332,"management":0.020833333333333332,"which":0.020833333333333332,"is":0.020833333333333332,"a":0.020833333333333332,"forked":0.020833333333333332,"version":0.020833333333333332,"of":0.020833333333333332,"zookeeper":0.020833333333333332,"with":0.020833333333333332,"many":0.020833333333333332,"scalability":0.020833333333333332,"and":0.020833333333333332,"performance":0.020833333333333332,"en-":0.020833333333333332,"hancements":0.020833333333333332,"in":0.020833333333333332,"order":0.020833333333333332,"to":0.020833333333333332,"work":0.020833333333333332,"at":0.020833333333333332,"scale":0.020833333333333332,"it":0.020833333333333332,"runs":0.020833333333333332,"consensus":0.020833333333333332,"protocol":0.020833333333333332,"among":0.020833333333333332,"servers":0.020833333333333332,"distributed":0.020833333333333332,"across":0.020833333333333332,"mul-":0.020833333333333332,"tiple":0.020833333333333332,"regions":0.020833333333333332,"resilience":0.020833333333333332,"if":0.020833333333333332,"leader":0.020833333333333332,"fails":0.020833333333333332,"follower":0.020833333333333332,"converted":0.020833333333333332,"into":0.020833333333333332,"new":0.020833333333333332},"1725":{"idium":0.08333333333333333,"portal":0.08333333333333333,"is":0.08333333333333333,"a":0.08333333333333333,"hosted":0.08333333333333333,"web-publishing":0.08333333333333333,"system":0.08333333333333333,"delivered":0.08333333333333333,"by":0.08333333333333333,"norwegian":0.08333333333333333,"company":0.08333333333333333,"as":0.08333333333333333},"1726":{"zookeeper":0.1,"is":0.1,"used":0.1,"for":0.1,"cluster":0.1,"messaging":0.1,"service":0.1,"bootstrapping":0.1,"and":0.1,"coordination":0.1},"1727":{"using":0.1,"zookeeper":0.1,"on":0.1,"2-node":0.1,"cluster":0.1,"vmware":0.1,"workstation":0.1,"amazon":0.1,"ec2":0.1,"zen":0.1},"1728":{"using":0.5,"zkpython":0.5},"1729":{"100":0.16666666666666666,"looking":0.16666666666666666,"into":0.16666666666666666,"expanding":0.16666666666666666,"node":0.16666666666666666,"cluster":0.16666666666666666},"1730":{"we":0.05555555555555555,"do":0.05555555555555555,"virtualized":0.05555555555555555,"networking":0.05555555555555555,"for":0.05555555555555555,"the":0.05555555555555555,"cloud":0.05555555555555555,"computing":0.05555555555555555,"era":0.05555555555555555,"use":0.05555555555555555,"zookeeper":0.05555555555555555,"various":0.05555555555555555,"aspects":0.05555555555555555,"of":0.05555555555555555,"our":0.05555555555555555,"distributed":0.05555555555555555,"control":0.05555555555555555,"plane":0.05555555555555555},"1731":{"pinterest":0.017241379310344827,"uses":0.017241379310344827,"the":0.017241379310344827,"zookeeper":0.017241379310344827,"for":0.017241379310344827,"service":0.017241379310344827,"discovery":0.017241379310344827,"and":0.017241379310344827,"dynamic":0.017241379310344827,"configuration":0.017241379310344827,"like":0.017241379310344827,"many":0.017241379310344827,"large":0.017241379310344827,"scale":0.017241379310344827,"web":0.017241379310344827,"sites":0.017241379310344827,"s":0.017241379310344827,"infrastructure":0.017241379310344827,"consists":0.017241379310344827,"of":0.017241379310344827,"servers":0.017241379310344827,"that":0.017241379310344827,"communicate":0.017241379310344827,"with":0.017241379310344827,"backend":0.017241379310344827,"services":0.017241379310344827,"composed":0.017241379310344827,"a":0.017241379310344827,"number":0.017241379310344827,"individual":0.017241379310344827,"managing":0.017241379310344827,"load":0.017241379310344827,"fault":0.017241379310344827,"tolerance":0.017241379310344827,"ideally":0.017241379310344827,"we":0.017241379310344827,"d":0.017241379310344827,"to":0.017241379310344827,"reflect":0.017241379310344827,"only":0.017241379310344827,"active":0.017241379310344827,"hosts":0.017241379310344827,"so":0.017241379310344827,"clients":0.017241379310344827,"don":0.017241379310344827,"t":0.017241379310344827,"need":0.017241379310344827,"deal":0.017241379310344827,"bad":0.017241379310344827,"as":0.017241379310344827,"often":0.017241379310344827,"provides":0.017241379310344827,"well":0.017241379310344827,"known":0.017241379310344827,"pattern":0.017241379310344827,"solve":0.017241379310344827,"this":0.017241379310344827,"problem":0.017241379310344827},"1732":{"the":0.03125,"email":0.03125,"apps":0.03125,"team":0.03125,"uses":0.03125,"zookeeper":0.03125,"to":0.03125,"coordinate":0.03125,"sharding":0.03125,"and":0.03125,"responsibility":0.03125,"changes":0.03125,"in":0.03125,"a":0.03125,"distributed":0.03125,"e-mail":0.03125,"client":0.03125,"that":0.03125,"pulls":0.03125,"indexes":0.03125,"data":0.03125,"for":0.03125,"search":0.03125,"also":0.03125,"provides":0.03125,"locking":0.03125,"connections":0.03125,"prevent":0.03125,"cluster":0.03125,"from":0.03125,"overwhelming":0.03125,"servers":0.03125},"1733":{"uses":0.07692307692307693,"zookeeper":0.07692307692307693,"in":0.07692307692307693,"spm":0.07692307692307693,"which":0.07692307692307693,"includes":0.07692307692307693,"monitoring":0.07692307692307693,"component":0.07692307692307693,"too":0.07692307692307693,"search":0.07692307692307693,"analytics":0.07692307692307693,"and":0.07692307692307693,"logsene":0.07692307692307693},"1734":{"uses":0.1,"zookeeper":0.1,"for":0.1,"leader":0.1,"election":0.1,"configuration":0.1,"management":0.1,"locking":0.1,"group":0.1,"membership":0.1},"1735":{"15":0.027777777777777776,"16":0.027777777777777776,"zookeeper":0.027777777777777776,"is":0.027777777777777776,"used":0.027777777777777776,"at":0.027777777777777776,"twitter":0.027777777777777776,"as":0.027777777777777776,"the":0.027777777777777776,"source":0.027777777777777776,"of":0.027777777777777776,"truth":0.027777777777777776,"for":0.027777777777777776,"storing":0.027777777777777776,"critical":0.027777777777777776,"metadata":0.027777777777777776,"it":0.027777777777777776,"serves":0.027777777777777776,"a":0.027777777777777776,"coordination":0.027777777777777776,"kernel":0.027777777777777776,"to":0.027777777777777776,"provide":0.027777777777777776,"distributed":0.027777777777777776,"services":0.027777777777777776,"such":0.027777777777777776,"leader":0.027777777777777776,"election":0.027777777777777776,"and":0.027777777777777776,"locking":0.027777777777777776,"some":0.027777777777777776,"concrete":0.027777777777777776,"examples":0.027777777777777776,"in":0.027777777777777776,"action":0.027777777777777776,"include":0.027777777777777776},"1736":{"zookeeper":0.07142857142857142,"is":0.07142857142857142,"used":0.07142857142857142,"to":0.07142857142857142,"store":0.07142857142857142,"service":0.07142857142857142,"registry":0.07142857142857142,"which":0.07142857142857142,"by":0.07142857142857142,"twitter":0.07142857142857142,"s":0.07142857142857142,"naming":0.07142857142857142,"for":0.07142857142857142,"discovery":0.07142857142857142},"1737":{"manhattan":0.047619047619047616,"twitter":0.047619047619047616,"s":0.047619047619047616,"in-house":0.047619047619047616,"key-value":0.047619047619047616,"database":0.047619047619047616,"nighthawk":0.047619047619047616,"sharded":0.047619047619047616,"redis":0.047619047619047616,"and":0.047619047619047616,"blobstore":0.047619047619047616,"photo":0.047619047619047616,"video":0.047619047619047616,"storage":0.047619047619047616,"stores":0.047619047619047616,"its":0.047619047619047616,"cluster":0.047619047619047616,"topology":0.047619047619047616,"information":0.047619047619047616,"in":0.047619047619047616,"zookeeper":0.047619047619047616},"1738":{"eventbus":0.0625,"twitter":0.0625,"s":0.0625,"pub-sub":0.0625,"messaging":0.0625,"system":0.0625,"stores":0.0625,"critical":0.0625,"metadata":0.0625,"in":0.0625,"zookeeper":0.0625,"and":0.0625,"uses":0.0625,"for":0.0625,"leader":0.0625,"election":0.0625},"1739":{"mesos":0.1,"twitter":0.1,"s":0.1,"compute":0.1,"platform":0.1,"uses":0.1,"zookeeper":0.1,"for":0.1,"leader":0.1,"election":0.1},"1740":{"used":0.05555555555555555,"internally":0.05555555555555555,"as":0.05555555555555555,"a":0.05555555555555555,"part":0.05555555555555555,"of":0.05555555555555555,"sharding":0.05555555555555555,"services":0.05555555555555555,"distributed":0.05555555555555555,"synchronization":0.05555555555555555,"data":0.05555555555555555,"index":0.05555555555555555,"updates":0.05555555555555555,"configuration":0.05555555555555555,"management":0.05555555555555555,"and":0.05555555555555555,"failover":0.05555555555555555,"support":0.05555555555555555},"1741":{"wealthfront":0.038461538461538464,"uses":0.038461538461538464,"zookeeper":0.038461538461538464,"for":0.038461538461538464,"service":0.038461538461538464,"discovery":0.038461538461538464,"leader":0.038461538461538464,"election":0.038461538461538464,"and":0.038461538461538464,"distributed":0.038461538461538464,"locking":0.038461538461538464,"among":0.038461538461538464,"its":0.038461538461538464,"many":0.038461538461538464,"backend":0.038461538461538464,"services":0.038461538461538464,"zk":0.038461538461538464,"is":0.038461538461538464,"an":0.038461538461538464,"essential":0.038461538461538464,"part":0.038461538461538464,"of":0.038461538461538464,"wealthfront's":0.038461538461538464,"continuous":0.038461538461538464,"deployment":0.038461538461538464,"infrastructure":0.038461538461538464},"1742":{"zookeeper":0.05,"is":0.05,"used":0.05,"for":0.05,"a":0.05,"myriad":0.05,"of":0.05,"services":0.05,"inside":0.05,"yahoo":0.05,"doing":0.05,"leader":0.05,"election":0.05,"configuration":0.05,"management":0.05,"sharding":0.05,"locking":0.05,"group":0.05,"membership":0.05,"etc":0.05},"1743":{"zookeeper":0.05555555555555555,"at":0.05555555555555555,"zynga":0.05555555555555555,"is":0.05555555555555555,"used":0.05555555555555555,"for":0.05555555555555555,"a":0.05555555555555555,"variety":0.05555555555555555,"of":0.05555555555555555,"services":0.05555555555555555,"including":0.05555555555555555,"configuration":0.05555555555555555,"management":0.05555555555555555,"leader":0.05555555555555555,"election":0.05555555555555555,"sharding":0.05555555555555555,"and":0.05555555555555555,"more":0.05555555555555555},"1744":{"https":0.125,"cwiki":0.125,"apache":0.125,"org":0.125,"confluence":0.125,"display":0.125,"zookeeper":0.125,"poweredby":0.125},"1745":{"https":0.14285714285714285,"www":0.14285714285714285,"youtube":0.14285714285714285,"com":0.14285714285714285,"watch":0.14285714285714285,"v":0.14285714285714285,"ew53t6h9orw":0.14285714285714285},"1746":{"3":0.09090909090909091,"4":0.09090909090909091,"7":0.09090909090909091,"https":0.09090909090909091,"bookkeeper":0.09090909090909091,"apache":0.09090909090909091,"org":0.09090909090909091,"docs":0.09090909090909091,"getting-started":0.09090909090909091,"concepts":0.09090909090909091,"ledgers":0.09090909090909091},"1747":{"http":0.16666666666666666,"cxf":0.16666666666666666,"apache":0.16666666666666666,"org":0.16666666666666666,"dosgi-discovery-demo-page":0.16666666666666666,"html":0.16666666666666666},"1748":{"https":0.16666666666666666,"flume":0.16666666666666666,"apache":0.16666666666666666,"org":0.16666666666666666,"flumeuserguide":0.16666666666666666,"html":0.16666666666666666},"1749":{"http":0.125,"dubbo":0.125,"apache":0.125,"org":0.125,"en-us":0.125,"blog":0.125,"dubbo-zk":0.125,"html":0.125},"1750":{"1":0.08333333333333333,"7":0.08333333333333333,"https":0.08333333333333333,"hadoop":0.08333333333333333,"apache":0.08333333333333333,"org":0.08333333333333333,"docs":0.08333333333333333,"r2":0.08333333333333333,"hadoop-project-dist":0.08333333333333333,"hadoop-hdfs":0.08333333333333333,"hdfshighavailabilitywithqjm":0.08333333333333333,"html":0.08333333333333333},"1751":{"https":0.14285714285714285,"hbase":0.14285714285714285,"apache":0.14285714285714285,"org":0.14285714285714285,"book":0.14285714285714285,"html":0.14285714285714285,"zookeeper":0.14285714285714285},"1752":{"https":0.14285714285714285,"www":0.14285714285714285,"cloudkarafka":0.14285714285714285,"com":0.14285714285714285,"blog":0.14285714285714285,"2018-07-04-cloudkarafka_what_is_zookeeper":0.14285714285714285,"html":0.14285714285714285},"1753":{"http":0.14285714285714285,"mesos":0.14285714285714285,"apache":0.14285714285714285,"org":0.14285714285714285,"documentation":0.14285714285714285,"latest":0.14285714285714285,"high-availability":0.14285714285714285},"1754":{"http":0.14285714285714285,"incubator":0.14285714285714285,"apache":0.14285714285714285,"org":0.14285714285714285,"projects":0.14285714285714285,"s4":0.14285714285714285,"html":0.14285714285714285},"1755":{"https":0.1,"lucene":0.1,"apache":0.1,"org":0.1,"solr":0.1,"guide":0.1,"6_6":0.1,"using-zookeeper-to-manage-configuration-files":0.1,"html":0.1,"usingzookeepertomanageconfigurationfiles-startupbootstrap":0.1},"1756":{"https":0.1111111111111111,"lucene":0.1111111111111111,"apache":0.1111111111111111,"org":0.1111111111111111,"solr":0.1111111111111111,"guide":0.1111111111111111,"6_6":0.1111111111111111,"setting-up-an-external-zookeeper-ensemble":0.1111111111111111,"html":0.1111111111111111},"1757":{"https":0.1111111111111111,"spark":0.1111111111111111,"apache":0.1111111111111111,"org":0.1111111111111111,"docs":0.1111111111111111,"latest":0.1111111111111111,"spark-standalone":0.1111111111111111,"html":0.1111111111111111,"standby-masters-with-zookeeper":0.1111111111111111},"1758":{"2018":0.09090909090909091,"https":0.09090909090909091,"blog":0.09090909090909091,"twitter":0.09090909090909091,"com":0.09090909090909091,"engineering":0.09090909090909091,"en_us":0.09090909090909091,"topics":0.09090909090909091,"infrastructure":0.09090909090909091,"zookeeper-at-twitter":0.09090909090909091,"html":0.09090909090909091},"1759":{"2018":0.09090909090909091,"https":0.09090909090909091,"blog":0.09090909090909091,"twitter":0.09090909090909091,"com":0.09090909090909091,"engineering":0.09090909090909091,"en_us":0.09090909090909091,"topics":0.09090909090909091,"infrastructure":0.09090909090909091,"dynamic-configuration-at-twitter":0.09090909090909091,"html":0.09090909090909091},"1760":{"15":0.02702702702702703,"2015":0.02702702702702703,"tang":0.02702702702702703,"c":0.02702702702702703,"kooburat":0.02702702702702703,"t":0.02702702702702703,"venkatachalam":0.02702702702702703,"p":0.02702702702702703,"chander":0.02702702702702703,"a":0.02702702702702703,"wen":0.02702702702702703,"z":0.02702702702702703,"narayanan":0.02702702702702703,"dowell":0.02702702702702703,"and":0.02702702702702703,"karl":0.02702702702702703,"r":0.02702702702702703,"holistic":0.02702702702702703,"configuration":0.02702702702702703,"management":0.02702702702702703,"at":0.02702702702702703,"facebook":0.02702702702702703,"in":0.02702702702702703,"proceedings":0.02702702702702703,"of":0.02702702702702703,"the":0.02702702702702703,"25th":0.02702702702702703,"symposium":0.02702702702702703,"on":0.02702702702702703,"operating":0.02702702702702703,"system":0.02702702702702703,"principles":0.02702702702702703,"sosp":0.02702702702702703,"monterey":0.02702702702702703,"ca":0.02702702702702703,"usa":0.02702702702702703,"oct":0.02702702702702703},"1761":{"https":0.14285714285714285,"www":0.14285714285714285,"youtube":0.14285714285714285,"com":0.14285714285714285,"watch":0.14285714285714285,"v":0.14285714285714285,"sezv373guzc":0.14285714285714285},"1762":{"https":0.2,"medium":0.2,"com":0.2,"pinterest_engineering":0.2,"zookeeper-resilience-at-pinterest-adfd8acf2a6b":0.2},"1763":{"https":0.2,"blog":0.2,"cloudera":0.2,"com":0.2,"what-are-hbase-znodes":0.2},"1764":{"https":0.16666666666666666,"helix":0.16666666666666666,"apache":0.16666666666666666,"org":0.16666666666666666,"architecture":0.16666666666666666,"html":0.16666666666666666},"1765":{"http":0.125,"storm":0.125,"apache":0.125,"org":0.125,"releases":0.125,"current":0.125,"setting-up-a-storm-cluster":0.125,"html":0.125},"1766":{"9":0.09090909090909091,"https":0.09090909090909091,"ci":0.09090909090909091,"apache":0.09090909090909091,"org":0.09090909090909091,"projects":0.09090909090909091,"flink":0.09090909090909091,"flink-docs-release-1":0.09090909090909091,"ops":0.09090909090909091,"jobmanager_high_availability":0.09090909090909091,"html":0.09090909090909091},"1767":{"https":0.125,"pulsar":0.125,"apache":0.125,"org":0.125,"docs":0.125,"en":0.125,"concepts-architecture-overview":0.125,"metadata-store":0.125},"1768":{"https":0.125,"cwiki":0.125,"apache":0.125,"org":0.125,"confluence":0.125,"display":0.125,"hive":0.125,"locking":0.125},"1769":{"zookeeperhivelockmanager":0.14285714285714285,"implementation":0.14285714285714285,"in":0.14285714285714285,"the":0.14285714285714285,"hive":0.14285714285714285,"code":0.14285714285714285,"base":0.14285714285714285},"1770":{"https":0.1111111111111111,"druid":0.1111111111111111,"apache":0.1111111111111111,"org":0.1111111111111111,"docs":0.1111111111111111,"latest":0.1111111111111111,"dependencies":0.1111111111111111,"zookeeper":0.1111111111111111,"html":0.1111111111111111},"1771":{"https":0.2,"mapr":0.2,"com":0.2,"blog":0.2,"apache-drill-architecture-ultimate-guide":0.2},"1772":{"0":0.1,"1":0.1,"4":0.1,"https":0.1,"oozie":0.1,"apache":0.1,"org":0.1,"docs":0.1,"ag_install":0.1,"html":0.1},"1773":{"https":0.125,"docs":0.125,"spring":0.125,"io":0.125,"spring-xd":0.125,"current":0.125,"reference":0.125,"html":0.125},"1774":{"https":0.1111111111111111,"cwiki":0.1111111111111111,"apache":0.1111111111111111,"org":0.1111111111111111,"confluence":0.1111111111111111,"display":0.1111111111111111,"curator":0.1111111111111111,"powered":0.1111111111111111,"by":0.1111111111111111},"1775":{"https":0.2,"projects":0.2,"spring":0.2,"io":0.2,"spring-statemachine":0.2},"1776":{"https":0.16666666666666666,"www":0.16666666666666666,"tigeranalytics":0.16666666666666666,"com":0.16666666666666666,"blog":0.16666666666666666,"apache-kylin-architecture":0.16666666666666666},"1777":{"https":0.16666666666666666,"apacheignite":0.16666666666666666,"readme":0.16666666666666666,"io":0.16666666666666666,"docs":0.16666666666666666,"cluster-discovery":0.16666666666666666},"1778":{"http":0.16666666666666666,"atlas":0.16666666666666666,"apache":0.16666666666666666,"org":0.16666666666666666,"highavailability":0.16666666666666666,"html":0.16666666666666666},"1779":{"http":0.14285714285714285,"griffin":0.14285714285714285,"apache":0.14285714285714285,"org":0.14285714285714285,"docs":0.14285714285714285,"usecases":0.14285714285714285,"html":0.14285714285714285},"1780":{"https":0.25,"fluo":0.25,"apache":0.25,"org":0.25},"1781":{"https":0.2,"spring":0.2,"io":0.2,"projects":0.2,"spring-cloud-zookeeper":0.2},"1782":{"overview":1},"1783":{"official":0.06666666666666667,"apache":0.06666666666666667,"zookeeper":0.06666666666666667,"documentation":0.06666666666666667,"covering":0.06666666666666667,"installation":0.06666666666666667,"configuration":0.06666666666666667,"the":0.06666666666666667,"data":0.06666666666666667,"model":0.06666666666666667,"client":0.06666666666666667,"apis":0.06666666666666667,"administration":0.06666666666666667,"and":0.06666666666666667,"operations":0.06666666666666667},"1784":{"zookeeper":0.14285714285714285,"a":0.14285714285714285,"distributed":0.14285714285714285,"coordination":0.14285714285714285,"service":0.14285714285714285,"for":0.14285714285714285,"applications":0.14285714285714285},"1785":{"design":0.5,"goals":0.5},"1786":{"data":0.16666666666666666,"model":0.16666666666666666,"and":0.16666666666666666,"the":0.16666666666666666,"hierarchical":0.16666666666666666,"namespace":0.16666666666666666},"1787":{"zookeeper's":0.3333333333333333,"hierarchical":0.3333333333333333,"namespace":0.3333333333333333},"1788":{"nodes":0.3333333333333333,"and":0.3333333333333333,"ephemeral":0.3333333333333333},"1789":{"conditional":0.25,"updates":0.25,"and":0.25,"watches":0.25},"1790":{"guarantees":1},"1791":{"simple":0.5,"api":0.5},"1792":{"implementation":1},"1793":{"uses":1},"1794":{"performance":1},"1795":{"reliability":1},"1796":{"the":0.3333333333333333,"zookeeper":0.3333333333333333,"project":0.3333333333333333},"1797":{"zookeeper":0.018867924528301886,"is":0.018867924528301886,"a":0.018867924528301886,"distributed":0.018867924528301886,"open-source":0.018867924528301886,"coordination":0.018867924528301886,"service":0.018867924528301886,"for":0.018867924528301886,"applications":0.018867924528301886,"it":0.018867924528301886,"exposes":0.018867924528301886,"simple":0.018867924528301886,"set":0.018867924528301886,"of":0.018867924528301886,"primitives":0.018867924528301886,"that":0.018867924528301886,"can":0.018867924528301886,"build":0.018867924528301886,"upon":0.018867924528301886,"to":0.018867924528301886,"implement":0.018867924528301886,"higher":0.018867924528301886,"level":0.018867924528301886,"services":0.018867924528301886,"synchronization":0.018867924528301886,"configuration":0.018867924528301886,"maintenance":0.018867924528301886,"and":0.018867924528301886,"groups":0.018867924528301886,"naming":0.018867924528301886,"designed":0.018867924528301886,"be":0.018867924528301886,"easy":0.018867924528301886,"program":0.018867924528301886,"uses":0.018867924528301886,"data":0.018867924528301886,"model":0.018867924528301886,"styled":0.018867924528301886,"after":0.018867924528301886,"the":0.018867924528301886,"familiar":0.018867924528301886,"directory":0.018867924528301886,"tree":0.018867924528301886,"structure":0.018867924528301886,"file":0.018867924528301886,"systems":0.018867924528301886,"runs":0.018867924528301886,"in":0.018867924528301886,"java":0.018867924528301886,"has":0.018867924528301886,"bindings":0.018867924528301886,"both":0.018867924528301886,"c":0.018867924528301886},"1798":{"coordination":0.03225806451612903,"services":0.03225806451612903,"are":0.03225806451612903,"notoriously":0.03225806451612903,"hard":0.03225806451612903,"to":0.03225806451612903,"get":0.03225806451612903,"right":0.03225806451612903,"they":0.03225806451612903,"especially":0.03225806451612903,"prone":0.03225806451612903,"errors":0.03225806451612903,"such":0.03225806451612903,"as":0.03225806451612903,"race":0.03225806451612903,"conditions":0.03225806451612903,"and":0.03225806451612903,"deadlock":0.03225806451612903,"the":0.03225806451612903,"motivation":0.03225806451612903,"behind":0.03225806451612903,"zookeeper":0.03225806451612903,"is":0.03225806451612903,"relieve":0.03225806451612903,"distributed":0.03225806451612903,"applications":0.03225806451612903,"responsibility":0.03225806451612903,"of":0.03225806451612903,"implementing":0.03225806451612903,"from":0.03225806451612903,"scratch":0.03225806451612903},"1799":{"zookeeper":0.018867924528301886,"is":0.018867924528301886,"simple":0.018867924528301886,"allows":0.018867924528301886,"distributed":0.018867924528301886,"processes":0.018867924528301886,"to":0.018867924528301886,"coordinate":0.018867924528301886,"with":0.018867924528301886,"each":0.018867924528301886,"other":0.018867924528301886,"through":0.018867924528301886,"a":0.018867924528301886,"shared":0.018867924528301886,"hierarchical":0.018867924528301886,"namespace":0.018867924528301886,"which":0.018867924528301886,"organized":0.018867924528301886,"similarly":0.018867924528301886,"standard":0.018867924528301886,"file":0.018867924528301886,"system":0.018867924528301886,"the":0.018867924528301886,"consists":0.018867924528301886,"of":0.018867924528301886,"data":0.018867924528301886,"registers":0.018867924528301886,"-":0.018867924528301886,"called":0.018867924528301886,"znodes":0.018867924528301886,"in":0.018867924528301886,"parlance":0.018867924528301886,"and":0.018867924528301886,"these":0.018867924528301886,"are":0.018867924528301886,"similar":0.018867924528301886,"files":0.018867924528301886,"directories":0.018867924528301886,"unlike":0.018867924528301886,"typical":0.018867924528301886,"designed":0.018867924528301886,"for":0.018867924528301886,"storage":0.018867924528301886,"kept":0.018867924528301886,"in-memory":0.018867924528301886,"means":0.018867924528301886,"can":0.018867924528301886,"achieve":0.018867924528301886,"high":0.018867924528301886,"throughput":0.018867924528301886,"low":0.018867924528301886,"latency":0.018867924528301886,"numbers":0.018867924528301886},"1800":{"the":0.024390243902439025,"zookeeper":0.024390243902439025,"implementation":0.024390243902439025,"puts":0.024390243902439025,"a":0.024390243902439025,"premium":0.024390243902439025,"on":0.024390243902439025,"high":0.024390243902439025,"performance":0.024390243902439025,"highly":0.024390243902439025,"available":0.024390243902439025,"strictly":0.024390243902439025,"ordered":0.024390243902439025,"access":0.024390243902439025,"aspects":0.024390243902439025,"of":0.024390243902439025,"means":0.024390243902439025,"it":0.024390243902439025,"can":0.024390243902439025,"be":0.024390243902439025,"used":0.024390243902439025,"in":0.024390243902439025,"large":0.024390243902439025,"distributed":0.024390243902439025,"systems":0.024390243902439025,"reliability":0.024390243902439025,"keep":0.024390243902439025,"from":0.024390243902439025,"being":0.024390243902439025,"single":0.024390243902439025,"point":0.024390243902439025,"failure":0.024390243902439025,"strict":0.024390243902439025,"ordering":0.024390243902439025,"that":0.024390243902439025,"sophisticated":0.024390243902439025,"synchronization":0.024390243902439025,"primitives":0.024390243902439025,"implemented":0.024390243902439025,"at":0.024390243902439025,"client":0.024390243902439025},"1801":{"zookeeper":0.047619047619047616,"is":0.047619047619047616,"replicated":0.047619047619047616,"like":0.047619047619047616,"the":0.047619047619047616,"distributed":0.047619047619047616,"processes":0.047619047619047616,"it":0.047619047619047616,"coordinates":0.047619047619047616,"itself":0.047619047619047616,"intended":0.047619047619047616,"to":0.047619047619047616,"be":0.047619047619047616,"over":0.047619047619047616,"a":0.047619047619047616,"set":0.047619047619047616,"of":0.047619047619047616,"hosts":0.047619047619047616,"called":0.047619047619047616,"an":0.047619047619047616,"ensemble":0.047619047619047616},"1802":{"the":0.02702702702702703,"servers":0.02702702702702703,"that":0.02702702702702703,"make":0.02702702702702703,"up":0.02702702702702703,"zookeeper":0.02702702702702703,"service":0.02702702702702703,"must":0.02702702702702703,"all":0.02702702702702703,"know":0.02702702702702703,"about":0.02702702702702703,"each":0.02702702702702703,"other":0.02702702702702703,"they":0.02702702702702703,"maintain":0.02702702702702703,"an":0.02702702702702703,"in-memory":0.02702702702702703,"image":0.02702702702702703,"of":0.02702702702702703,"state":0.02702702702702703,"along":0.02702702702702703,"with":0.02702702702702703,"a":0.02702702702702703,"transaction":0.02702702702702703,"logs":0.02702702702702703,"and":0.02702702702702703,"snapshots":0.02702702702702703,"in":0.02702702702702703,"persistent":0.02702702702702703,"store":0.02702702702702703,"as":0.02702702702702703,"long":0.02702702702702703,"majority":0.02702702702702703,"are":0.02702702702702703,"available":0.02702702702702703,"will":0.02702702702702703,"be":0.02702702702702703},"1803":{"clients":0.03571428571428571,"connect":0.03571428571428571,"to":0.03571428571428571,"a":0.03571428571428571,"single":0.03571428571428571,"zookeeper":0.03571428571428571,"server":0.03571428571428571,"the":0.03571428571428571,"client":0.03571428571428571,"maintains":0.03571428571428571,"tcp":0.03571428571428571,"connection":0.03571428571428571,"through":0.03571428571428571,"which":0.03571428571428571,"it":0.03571428571428571,"sends":0.03571428571428571,"requests":0.03571428571428571,"gets":0.03571428571428571,"responses":0.03571428571428571,"watch":0.03571428571428571,"events":0.03571428571428571,"and":0.03571428571428571,"heart":0.03571428571428571,"beats":0.03571428571428571,"if":0.03571428571428571,"breaks":0.03571428571428571,"will":0.03571428571428571,"different":0.03571428571428571},"1804":{"zookeeper":0.03571428571428571,"is":0.03571428571428571,"ordered":0.03571428571428571,"stamps":0.03571428571428571,"each":0.03571428571428571,"update":0.03571428571428571,"with":0.03571428571428571,"a":0.03571428571428571,"number":0.03571428571428571,"that":0.03571428571428571,"reflects":0.03571428571428571,"the":0.03571428571428571,"order":0.03571428571428571,"of":0.03571428571428571,"all":0.03571428571428571,"transactions":0.03571428571428571,"subsequent":0.03571428571428571,"operations":0.03571428571428571,"can":0.03571428571428571,"use":0.03571428571428571,"to":0.03571428571428571,"implement":0.03571428571428571,"higher-level":0.03571428571428571,"abstractions":0.03571428571428571,"such":0.03571428571428571,"as":0.03571428571428571,"synchronization":0.03571428571428571,"primitives":0.03571428571428571},"1805":{"1":0.034482758620689655,"10":0.034482758620689655,"zookeeper":0.034482758620689655,"is":0.034482758620689655,"fast":0.034482758620689655,"it":0.034482758620689655,"especially":0.034482758620689655,"in":0.034482758620689655,"read-dominant":0.034482758620689655,"workloads":0.034482758620689655,"applications":0.034482758620689655,"run":0.034482758620689655,"on":0.034482758620689655,"thousands":0.034482758620689655,"of":0.034482758620689655,"machines":0.034482758620689655,"and":0.034482758620689655,"performs":0.034482758620689655,"best":0.034482758620689655,"where":0.034482758620689655,"reads":0.034482758620689655,"are":0.034482758620689655,"more":0.034482758620689655,"common":0.034482758620689655,"than":0.034482758620689655,"writes":0.034482758620689655,"at":0.034482758620689655,"ratios":0.034482758620689655,"around":0.034482758620689655},"1806":{"the":0.04,"namespace":0.04,"provided":0.04,"by":0.04,"zookeeper":0.04,"is":0.04,"much":0.04,"like":0.04,"that":0.04,"of":0.04,"a":0.04,"standard":0.04,"file":0.04,"system":0.04,"name":0.04,"sequence":0.04,"path":0.04,"elements":0.04,"separated":0.04,"slash":0.04,"every":0.04,"node":0.04,"in":0.04,"zookeeper's":0.04,"identified":0.04},"1807":{"unlike":0.017543859649122806,"standard":0.017543859649122806,"file":0.017543859649122806,"systems":0.017543859649122806,"each":0.017543859649122806,"node":0.017543859649122806,"in":0.017543859649122806,"a":0.017543859649122806,"zookeeper":0.017543859649122806,"namespace":0.017543859649122806,"can":0.017543859649122806,"have":0.017543859649122806,"data":0.017543859649122806,"associated":0.017543859649122806,"with":0.017543859649122806,"it":0.017543859649122806,"as":0.017543859649122806,"well":0.017543859649122806,"children":0.017543859649122806,"is":0.017543859649122806,"like":0.017543859649122806,"having":0.017543859649122806,"file-system":0.017543859649122806,"that":0.017543859649122806,"allows":0.017543859649122806,"to":0.017543859649122806,"also":0.017543859649122806,"be":0.017543859649122806,"directory":0.017543859649122806,"was":0.017543859649122806,"designed":0.017543859649122806,"store":0.017543859649122806,"coordination":0.017543859649122806,"status":0.017543859649122806,"information":0.017543859649122806,"configuration":0.017543859649122806,"location":0.017543859649122806,"etc":0.017543859649122806,"so":0.017543859649122806,"the":0.017543859649122806,"stored":0.017543859649122806,"at":0.017543859649122806,"usually":0.017543859649122806,"small":0.017543859649122806,"byte":0.017543859649122806,"kilobyte":0.017543859649122806,"range":0.017543859649122806,"we":0.017543859649122806,"use":0.017543859649122806,"term":0.017543859649122806,"znode":0.017543859649122806,"make":0.017543859649122806,"clear":0.017543859649122806,"are":0.017543859649122806,"talking":0.017543859649122806,"about":0.017543859649122806,"nodes":0.017543859649122806},"1808":{"znodes":0.02857142857142857,"maintain":0.02857142857142857,"a":0.02857142857142857,"stat":0.02857142857142857,"structure":0.02857142857142857,"that":0.02857142857142857,"includes":0.02857142857142857,"version":0.02857142857142857,"numbers":0.02857142857142857,"for":0.02857142857142857,"data":0.02857142857142857,"changes":0.02857142857142857,"acl":0.02857142857142857,"and":0.02857142857142857,"timestamps":0.02857142857142857,"to":0.02857142857142857,"allow":0.02857142857142857,"cache":0.02857142857142857,"validations":0.02857142857142857,"coordinated":0.02857142857142857,"updates":0.02857142857142857,"each":0.02857142857142857,"time":0.02857142857142857,"znode's":0.02857142857142857,"the":0.02857142857142857,"number":0.02857142857142857,"increases":0.02857142857142857,"instance":0.02857142857142857,"whenever":0.02857142857142857,"client":0.02857142857142857,"retrieves":0.02857142857142857,"it":0.02857142857142857,"also":0.02857142857142857,"receives":0.02857142857142857,"of":0.02857142857142857},"1809":{"the":0.02857142857142857,"data":0.02857142857142857,"stored":0.02857142857142857,"at":0.02857142857142857,"each":0.02857142857142857,"znode":0.02857142857142857,"in":0.02857142857142857,"a":0.02857142857142857,"namespace":0.02857142857142857,"is":0.02857142857142857,"read":0.02857142857142857,"and":0.02857142857142857,"written":0.02857142857142857,"atomically":0.02857142857142857,"reads":0.02857142857142857,"get":0.02857142857142857,"all":0.02857142857142857,"bytes":0.02857142857142857,"associated":0.02857142857142857,"with":0.02857142857142857,"write":0.02857142857142857,"replaces":0.02857142857142857,"node":0.02857142857142857,"has":0.02857142857142857,"an":0.02857142857142857,"access":0.02857142857142857,"control":0.02857142857142857,"list":0.02857142857142857,"acl":0.02857142857142857,"that":0.02857142857142857,"restricts":0.02857142857142857,"who":0.02857142857142857,"can":0.02857142857142857,"do":0.02857142857142857,"what":0.02857142857142857},"1810":{"zookeeper":0.045454545454545456,"also":0.045454545454545456,"has":0.045454545454545456,"the":0.045454545454545456,"notion":0.045454545454545456,"of":0.045454545454545456,"ephemeral":0.045454545454545456,"nodes":0.045454545454545456,"these":0.045454545454545456,"znodes":0.045454545454545456,"exists":0.045454545454545456,"as":0.045454545454545456,"long":0.045454545454545456,"session":0.045454545454545456,"that":0.045454545454545456,"created":0.045454545454545456,"znode":0.045454545454545456,"is":0.045454545454545456,"active":0.045454545454545456,"when":0.045454545454545456,"ends":0.045454545454545456,"deleted":0.045454545454545456},"1811":{"zookeeper":0.02702702702702703,"supports":0.02702702702702703,"the":0.02702702702702703,"concept":0.02702702702702703,"of":0.02702702702702703,"watches":0.02702702702702703,"clients":0.02702702702702703,"can":0.02702702702702703,"set":0.02702702702702703,"a":0.02702702702702703,"watch":0.02702702702702703,"on":0.02702702702702703,"znode":0.02702702702702703,"will":0.02702702702702703,"be":0.02702702702702703,"triggered":0.02702702702702703,"and":0.02702702702702703,"removed":0.02702702702702703,"when":0.02702702702702703,"changes":0.02702702702702703,"is":0.02702702702702703,"client":0.02702702702702703,"receives":0.02702702702702703,"packet":0.02702702702702703,"saying":0.02702702702702703,"that":0.02702702702702703,"has":0.02702702702702703,"changed":0.02702702702702703,"if":0.02702702702702703,"connection":0.02702702702702703,"between":0.02702702702702703,"one":0.02702702702702703,"servers":0.02702702702702703,"broken":0.02702702702702703,"receive":0.02702702702702703,"local":0.02702702702702703,"notification":0.02702702702702703},"1812":{"0":0.030303030303030304,"3":0.030303030303030304,"6":0.030303030303030304,"new":0.030303030303030304,"in":0.030303030303030304,"clients":0.030303030303030304,"can":0.030303030303030304,"also":0.030303030303030304,"set":0.030303030303030304,"permanent":0.030303030303030304,"recursive":0.030303030303030304,"watches":0.030303030303030304,"on":0.030303030303030304,"a":0.030303030303030304,"znode":0.030303030303030304,"that":0.030303030303030304,"are":0.030303030303030304,"not":0.030303030303030304,"removed":0.030303030303030304,"when":0.030303030303030304,"triggered":0.030303030303030304,"and":0.030303030303030304,"trigger":0.030303030303030304,"for":0.030303030303030304,"changes":0.030303030303030304,"the":0.030303030303030304,"registered":0.030303030303030304,"as":0.030303030303030304,"well":0.030303030303030304,"any":0.030303030303030304,"children":0.030303030303030304,"znodes":0.030303030303030304,"recursively":0.030303030303030304},"1813":{"zookeeper":0.03333333333333333,"is":0.03333333333333333,"very":0.03333333333333333,"fast":0.03333333333333333,"and":0.03333333333333333,"simple":0.03333333333333333,"since":0.03333333333333333,"its":0.03333333333333333,"goal":0.03333333333333333,"though":0.03333333333333333,"to":0.03333333333333333,"be":0.03333333333333333,"a":0.03333333333333333,"basis":0.03333333333333333,"for":0.03333333333333333,"the":0.03333333333333333,"construction":0.03333333333333333,"of":0.03333333333333333,"more":0.03333333333333333,"complicated":0.03333333333333333,"services":0.03333333333333333,"such":0.03333333333333333,"as":0.03333333333333333,"synchronization":0.03333333333333333,"it":0.03333333333333333,"provides":0.03333333333333333,"set":0.03333333333333333,"guarantees":0.03333333333333333,"these":0.03333333333333333,"are":0.03333333333333333},"1814":{"sequential":0.058823529411764705,"consistency":0.058823529411764705,"-":0.058823529411764705,"updates":0.058823529411764705,"from":0.058823529411764705,"a":0.058823529411764705,"client":0.058823529411764705,"will":0.058823529411764705,"be":0.058823529411764705,"applied":0.058823529411764705,"in":0.058823529411764705,"the":0.058823529411764705,"order":0.058823529411764705,"that":0.058823529411764705,"they":0.058823529411764705,"were":0.058823529411764705,"sent":0.058823529411764705},"1815":{"atomicity":0.1,"-":0.1,"updates":0.1,"either":0.1,"succeed":0.1,"or":0.1,"fail":0.1,"no":0.1,"partial":0.1,"results":0.1},"1816":{"single":0.03225806451612903,"system":0.03225806451612903,"image":0.03225806451612903,"-":0.03225806451612903,"a":0.03225806451612903,"client":0.03225806451612903,"will":0.03225806451612903,"see":0.03225806451612903,"the":0.03225806451612903,"same":0.03225806451612903,"view":0.03225806451612903,"of":0.03225806451612903,"service":0.03225806451612903,"regardless":0.03225806451612903,"server":0.03225806451612903,"that":0.03225806451612903,"it":0.03225806451612903,"connects":0.03225806451612903,"to":0.03225806451612903,"i":0.03225806451612903,"e":0.03225806451612903,"never":0.03225806451612903,"an":0.03225806451612903,"older":0.03225806451612903,"even":0.03225806451612903,"if":0.03225806451612903,"fails":0.03225806451612903,"over":0.03225806451612903,"different":0.03225806451612903,"with":0.03225806451612903,"session":0.03225806451612903},"1817":{"reliability":0.05,"-":0.05,"once":0.05,"an":0.05,"update":0.05,"has":0.05,"been":0.05,"applied":0.05,"it":0.05,"will":0.05,"persist":0.05,"from":0.05,"that":0.05,"time":0.05,"forward":0.05,"until":0.05,"a":0.05,"client":0.05,"overwrites":0.05,"the":0.05},"1818":{"timeliness":0.058823529411764705,"-":0.058823529411764705,"the":0.058823529411764705,"clients":0.058823529411764705,"view":0.058823529411764705,"of":0.058823529411764705,"system":0.058823529411764705,"is":0.058823529411764705,"guaranteed":0.058823529411764705,"to":0.058823529411764705,"be":0.058823529411764705,"up-to-date":0.058823529411764705,"within":0.058823529411764705,"a":0.058823529411764705,"certain":0.058823529411764705,"time":0.058823529411764705,"bound":0.058823529411764705},"1819":{"one":0.05,"of":0.05,"the":0.05,"design":0.05,"goals":0.05,"zookeeper":0.05,"is":0.05,"providing":0.05,"a":0.05,"very":0.05,"simple":0.05,"programming":0.05,"interface":0.05,"as":0.05,"result":0.05,"it":0.05,"supports":0.05,"only":0.05,"these":0.05,"operations":0.05},"1820":{"create":0.1111111111111111,"creates":0.1111111111111111,"a":0.1111111111111111,"node":0.1111111111111111,"at":0.1111111111111111,"location":0.1111111111111111,"in":0.1111111111111111,"the":0.1111111111111111,"tree":0.1111111111111111},"1821":{"delete":0.25,"deletes":0.25,"a":0.25,"node":0.25},"1822":{"exists":0.14285714285714285,"tests":0.14285714285714285,"if":0.14285714285714285,"a":0.14285714285714285,"node":0.14285714285714285,"at":0.14285714285714285,"location":0.14285714285714285},"1823":{"get":0.14285714285714285,"data":0.14285714285714285,"reads":0.14285714285714285,"the":0.14285714285714285,"from":0.14285714285714285,"a":0.14285714285714285,"node":0.14285714285714285},"1824":{"set":0.16666666666666666,"data":0.16666666666666666,"writes":0.16666666666666666,"to":0.16666666666666666,"a":0.16666666666666666,"node":0.16666666666666666},"1825":{"get":0.14285714285714285,"children":0.14285714285714285,"retrieves":0.14285714285714285,"a":0.14285714285714285,"list":0.14285714285714285,"of":0.14285714285714285,"node":0.14285714285714285},"1826":{"sync":0.14285714285714285,"waits":0.14285714285714285,"for":0.14285714285714285,"data":0.14285714285714285,"to":0.14285714285714285,"be":0.14285714285714285,"propagated":0.14285714285714285},"1827":{"zookeeper":0.05,"components":0.05,"shows":0.05,"the":0.05,"high-level":0.05,"of":0.05,"service":0.05,"with":0.05,"exception":0.05,"request":0.05,"processor":0.05,"each":0.05,"servers":0.05,"that":0.05,"make":0.05,"up":0.05,"replicates":0.05,"its":0.05,"own":0.05,"copy":0.05},"1828":{"the":0.043478260869565216,"replicated":0.043478260869565216,"database":0.043478260869565216,"is":0.043478260869565216,"an":0.043478260869565216,"in-memory":0.043478260869565216,"containing":0.043478260869565216,"entire":0.043478260869565216,"data":0.043478260869565216,"tree":0.043478260869565216,"updates":0.043478260869565216,"are":0.043478260869565216,"logged":0.043478260869565216,"to":0.043478260869565216,"disk":0.043478260869565216,"for":0.043478260869565216,"recoverability":0.043478260869565216,"and":0.043478260869565216,"writes":0.043478260869565216,"serialized":0.043478260869565216,"before":0.043478260869565216,"they":0.043478260869565216,"applied":0.043478260869565216},"1829":{"every":0.03225806451612903,"zookeeper":0.03225806451612903,"server":0.03225806451612903,"services":0.03225806451612903,"clients":0.03225806451612903,"connect":0.03225806451612903,"to":0.03225806451612903,"exactly":0.03225806451612903,"one":0.03225806451612903,"submit":0.03225806451612903,"requests":0.03225806451612903,"read":0.03225806451612903,"are":0.03225806451612903,"serviced":0.03225806451612903,"from":0.03225806451612903,"the":0.03225806451612903,"local":0.03225806451612903,"replica":0.03225806451612903,"of":0.03225806451612903,"each":0.03225806451612903,"database":0.03225806451612903,"that":0.03225806451612903,"change":0.03225806451612903,"state":0.03225806451612903,"service":0.03225806451612903,"write":0.03225806451612903,"processed":0.03225806451612903,"by":0.03225806451612903,"an":0.03225806451612903,"agreement":0.03225806451612903,"protocol":0.03225806451612903},"1830":{"as":0.025,"part":0.025,"of":0.025,"the":0.025,"agreement":0.025,"protocol":0.025,"all":0.025,"write":0.025,"requests":0.025,"from":0.025,"clients":0.025,"are":0.025,"forwarded":0.025,"to":0.025,"a":0.025,"single":0.025,"server":0.025,"called":0.025,"leader":0.025,"rest":0.025,"zookeeper":0.025,"servers":0.025,"followers":0.025,"receive":0.025,"message":0.025,"proposals":0.025,"and":0.025,"agree":0.025,"upon":0.025,"delivery":0.025,"messaging":0.025,"layer":0.025,"takes":0.025,"care":0.025,"replacing":0.025,"leaders":0.025,"on":0.025,"failures":0.025,"syncing":0.025,"with":0.025},"1831":{"zookeeper":0.02564102564102564,"uses":0.02564102564102564,"a":0.02564102564102564,"custom":0.02564102564102564,"atomic":0.02564102564102564,"messaging":0.02564102564102564,"protocol":0.02564102564102564,"since":0.02564102564102564,"the":0.02564102564102564,"layer":0.02564102564102564,"is":0.02564102564102564,"can":0.02564102564102564,"guarantee":0.02564102564102564,"that":0.02564102564102564,"local":0.02564102564102564,"replicas":0.02564102564102564,"never":0.02564102564102564,"diverge":0.02564102564102564,"when":0.02564102564102564,"leader":0.02564102564102564,"receives":0.02564102564102564,"write":0.02564102564102564,"request":0.02564102564102564,"it":0.02564102564102564,"calculates":0.02564102564102564,"what":0.02564102564102564,"state":0.02564102564102564,"of":0.02564102564102564,"system":0.02564102564102564,"to":0.02564102564102564,"be":0.02564102564102564,"applied":0.02564102564102564,"and":0.02564102564102564,"transforms":0.02564102564102564,"this":0.02564102564102564,"into":0.02564102564102564,"transaction":0.02564102564102564,"captures":0.02564102564102564,"new":0.02564102564102564},"1832":{"the":0.04,"programming":0.04,"interface":0.04,"to":0.04,"zookeeper":0.04,"is":0.04,"deliberately":0.04,"simple":0.04,"with":0.04,"it":0.04,"however":0.04,"you":0.04,"can":0.04,"implement":0.04,"higher":0.04,"order":0.04,"operations":0.04,"such":0.04,"as":0.04,"synchronizations":0.04,"primitives":0.04,"group":0.04,"membership":0.04,"ownership":0.04,"etc":0.04},"1833":{"zookeeper":0.024390243902439025,"is":0.024390243902439025,"designed":0.024390243902439025,"to":0.024390243902439025,"be":0.024390243902439025,"highly":0.024390243902439025,"performance":0.024390243902439025,"but":0.024390243902439025,"it":0.024390243902439025,"the":0.024390243902439025,"results":0.024390243902439025,"of":0.024390243902439025,"zookeeper's":0.024390243902439025,"development":0.024390243902439025,"team":0.024390243902439025,"at":0.024390243902439025,"yahoo":0.024390243902439025,"research":0.024390243902439025,"indicate":0.024390243902439025,"that":0.024390243902439025,"especially":0.024390243902439025,"high":0.024390243902439025,"in":0.024390243902439025,"applications":0.024390243902439025,"where":0.024390243902439025,"reads":0.024390243902439025,"outnumber":0.024390243902439025,"writes":0.024390243902439025,"since":0.024390243902439025,"involve":0.024390243902439025,"synchronizing":0.024390243902439025,"state":0.024390243902439025,"all":0.024390243902439025,"servers":0.024390243902439025,"outnumbering":0.024390243902439025,"typically":0.024390243902439025,"case":0.024390243902439025,"for":0.024390243902439025,"a":0.024390243902439025,"coordination":0.024390243902439025,"service":0.024390243902439025},"1834":{"2":0.015384615384615385,"3":0.015384615384615385,"30":0.015384615384615385,"the":0.015384615384615385,"zookeeper":0.015384615384615385,"throughput":0.015384615384615385,"as":0.015384615384615385,"read-write":0.015384615384615385,"ratio":0.015384615384615385,"varies":0.015384615384615385,"is":0.015384615384615385,"a":0.015384615384615385,"graph":0.015384615384615385,"of":0.015384615384615385,"release":0.015384615384615385,"running":0.015384615384615385,"on":0.015384615384615385,"servers":0.015384615384615385,"with":0.015384615384615385,"dual":0.015384615384615385,"2ghz":0.015384615384615385,"xeon":0.015384615384615385,"and":0.015384615384615385,"two":0.015384615384615385,"sata":0.015384615384615385,"15k":0.015384615384615385,"rpm":0.015384615384615385,"drives":0.015384615384615385,"one":0.015384615384615385,"drive":0.015384615384615385,"was":0.015384615384615385,"used":0.015384615384615385,"dedicated":0.015384615384615385,"log":0.015384615384615385,"device":0.015384615384615385,"snapshots":0.015384615384615385,"were":0.015384615384615385,"written":0.015384615384615385,"to":0.015384615384615385,"os":0.015384615384615385,"write":0.015384615384615385,"requests":0.015384615384615385,"1k":0.015384615384615385,"writes":0.015384615384615385,"reads":0.015384615384615385,"indicate":0.015384615384615385,"size":0.015384615384615385,"ensemble":0.015384615384615385,"number":0.015384615384615385,"that":0.015384615384615385,"make":0.015384615384615385,"up":0.015384615384615385,"service":0.015384615384615385,"approximately":0.015384615384615385,"other":0.015384615384615385,"simulate":0.015384615384615385,"clients":0.015384615384615385,"configured":0.015384615384615385,"such":0.015384615384615385,"leaders":0.015384615384615385,"do":0.015384615384615385,"not":0.015384615384615385,"allow":0.015384615384615385,"connections":0.015384615384615385,"from":0.015384615384615385},"1835":{"type":0.5,"info":0.5},"1836":{"2":0.08333333333333333,"3":0.08333333333333333,"in":0.08333333333333333,"version":0.08333333333333333,"r":0.08333333333333333,"w":0.08333333333333333,"performance":0.08333333333333333,"improved":0.08333333333333333,"by":0.08333333333333333,"2x":0.08333333333333333,"compared":0.08333333333333333,"to":0.08333333333333333},"1837":{"1":0.2,"3":0.2,"the":0.2,"previous":0.2,"release":0.2},"1838":{"benchmarks":0.037037037037037035,"also":0.037037037037037035,"indicate":0.037037037037037035,"that":0.037037037037037035,"it":0.037037037037037035,"is":0.037037037037037035,"reliable":0.037037037037037035,"too":0.037037037037037035,"reliability":0.037037037037037035,"in":0.037037037037037035,"the":0.037037037037037035,"presence":0.037037037037037035,"of":0.037037037037037035,"errors":0.037037037037037035,"shows":0.037037037037037035,"how":0.037037037037037035,"a":0.037037037037037035,"deployment":0.037037037037037035,"responds":0.037037037037037035,"to":0.037037037037037035,"various":0.037037037037037035,"failures":0.037037037037037035,"events":0.037037037037037035,"marked":0.037037037037037035,"figure":0.037037037037037035,"are":0.037037037037037035,"following":0.037037037037037035},"1839":{"failure":0.16666666666666666,"and":0.16666666666666666,"recovery":0.16666666666666666,"of":0.16666666666666666,"a":0.16666666666666666,"follower":0.16666666666666666},"1840":{"failure":0.14285714285714285,"and":0.14285714285714285,"recovery":0.14285714285714285,"of":0.14285714285714285,"a":0.14285714285714285,"different":0.14285714285714285,"follower":0.14285714285714285},"1841":{"failure":0.25,"of":0.25,"the":0.25,"leader":0.25},"1842":{"failure":0.16666666666666666,"and":0.16666666666666666,"recovery":0.16666666666666666,"of":0.16666666666666666,"two":0.16666666666666666,"followers":0.16666666666666666},"1843":{"failure":0.25,"of":0.25,"another":0.25,"leader":0.25},"1844":{"7":0.025,"30":0.025,"to":0.025,"show":0.025,"the":0.025,"behavior":0.025,"of":0.025,"system":0.025,"over":0.025,"time":0.025,"as":0.025,"failures":0.025,"are":0.025,"injected":0.025,"we":0.025,"ran":0.025,"a":0.025,"zookeeper":0.025,"service":0.025,"made":0.025,"up":0.025,"machines":0.025,"same":0.025,"saturation":0.025,"benchmark":0.025,"before":0.025,"but":0.025,"this":0.025,"kept":0.025,"write":0.025,"percentage":0.025,"at":0.025,"constant":0.025,"which":0.025,"is":0.025,"conservative":0.025,"ratio":0.025,"our":0.025,"expected":0.025,"workloads":0.025},"1845":{"there":0.01694915254237288,"are":0.01694915254237288,"a":0.01694915254237288,"few":0.01694915254237288,"important":0.01694915254237288,"observations":0.01694915254237288,"from":0.01694915254237288,"this":0.01694915254237288,"graph":0.01694915254237288,"first":0.01694915254237288,"if":0.01694915254237288,"followers":0.01694915254237288,"fail":0.01694915254237288,"and":0.01694915254237288,"recover":0.01694915254237288,"quickly":0.01694915254237288,"then":0.01694915254237288,"zookeeper":0.01694915254237288,"is":0.01694915254237288,"able":0.01694915254237288,"to":0.01694915254237288,"sustain":0.01694915254237288,"high":0.01694915254237288,"throughput":0.01694915254237288,"despite":0.01694915254237288,"the":0.01694915254237288,"failure":0.01694915254237288,"but":0.01694915254237288,"maybe":0.01694915254237288,"more":0.01694915254237288,"importantly":0.01694915254237288,"leader":0.01694915254237288,"election":0.01694915254237288,"algorithm":0.01694915254237288,"allows":0.01694915254237288,"for":0.01694915254237288,"system":0.01694915254237288,"fast":0.01694915254237288,"enough":0.01694915254237288,"prevent":0.01694915254237288,"dropping":0.01694915254237288,"substantially":0.01694915254237288,"in":0.01694915254237288,"our":0.01694915254237288,"takes":0.01694915254237288,"less":0.01694915254237288,"than":0.01694915254237288,"200ms":0.01694915254237288,"elect":0.01694915254237288,"new":0.01694915254237288,"third":0.01694915254237288,"as":0.01694915254237288,"raise":0.01694915254237288,"again":0.01694915254237288,"once":0.01694915254237288,"they":0.01694915254237288,"start":0.01694915254237288,"processing":0.01694915254237288,"requests":0.01694915254237288},"1846":{"zookeeper":0.02,"has":0.02,"been":0.02,"successfully":0.02,"used":0.02,"in":0.02,"many":0.02,"industrial":0.02,"applications":0.02,"it":0.02,"is":0.02,"at":0.02,"yahoo":0.02,"as":0.02,"the":0.02,"coordination":0.02,"and":0.02,"failure":0.02,"recovery":0.02,"service":0.02,"for":0.02,"message":0.02,"broker":0.02,"which":0.02,"a":0.02,"highly":0.02,"scalable":0.02,"publish-subscribe":0.02,"system":0.02,"managing":0.02,"thousands":0.02,"of":0.02,"topics":0.02,"replication":0.02,"data":0.02,"delivery":0.02,"by":0.02,"fetching":0.02,"crawler":0.02,"where":0.02,"also":0.02,"manages":0.02,"number":0.02,"advertising":0.02,"systems":0.02,"use":0.02,"to":0.02,"implement":0.02,"reliable":0.02,"services":0.02},"1847":{"all":0.047619047619047616,"users":0.047619047619047616,"and":0.047619047619047616,"developers":0.047619047619047616,"are":0.047619047619047616,"encouraged":0.047619047619047616,"to":0.047619047619047616,"join":0.047619047619047616,"the":0.047619047619047616,"community":0.047619047619047616,"contribute":0.047619047619047616,"their":0.047619047619047616,"expertise":0.047619047619047616,"see":0.047619047619047616,"zookeeper":0.047619047619047616,"project":0.047619047619047616,"on":0.047619047619047616,"apache":0.047619047619047616,"for":0.047619047619047616,"more":0.047619047619047616,"information":0.047619047619047616},"1848":{"internals":1},"1849":{"this":0.05263157894736842,"document":0.05263157894736842,"covers":0.05263157894736842,"the":0.05263157894736842,"inner":0.05263157894736842,"workings":0.05263157894736842,"of":0.05263157894736842,"zookeeper":0.05263157894736842,"including":0.05263157894736842,"atomic":0.05263157894736842,"broadcast":0.05263157894736842,"protocol":0.05263157894736842,"consistency":0.05263157894736842,"guarantees":0.05263157894736842,"quorum":0.05263157894736842,"design":0.05263157894736842,"and":0.05263157894736842,"logging":0.05263157894736842,"conventions":0.05263157894736842},"1850":{"atomic":0.5,"broadcast":0.5},"1851":{"guarantees":0.25,"properties":0.25,"and":0.25,"definitions":0.25},"1852":{"leader":0.5,"activation":0.5},"1853":{"active":0.5,"messaging":0.5},"1854":{"summary":1},"1855":{"comparisons":1},"1856":{"consistency":0.5,"guarantees":0.5},"1857":{"quorums":1},"1858":{"logging":1},"1859":{"developer":0.5,"guidelines":0.5},"1860":{"logging":0.2,"at":0.2,"the":0.2,"right":0.2,"level":0.2},"1861":{"use":0.2,"of":0.2,"standard":0.2,"slf4j":0.2,"idioms":0.2},"1862":{"at":0.0625,"the":0.0625,"heart":0.0625,"of":0.0625,"zookeeper":0.0625,"is":0.0625,"an":0.0625,"atomic":0.0625,"messaging":0.0625,"system":0.0625,"that":0.0625,"keeps":0.0625,"all":0.0625,"servers":0.0625,"in":0.0625,"sync":0.0625},"1863":{"the":0.1111111111111111,"specific":0.1111111111111111,"guarantees":0.1111111111111111,"provided":0.1111111111111111,"by":0.1111111111111111,"zookeeper":0.1111111111111111,"messaging":0.1111111111111111,"system":0.1111111111111111,"are":0.1111111111111111},"1864":{"reliable":0.0625,"delivery":0.0625,"if":0.0625,"a":0.0625,"message":0.0625,"m":0.0625,"is":0.0625,"delivered":0.0625,"by":0.0625,"one":0.0625,"server":0.0625,"will":0.0625,"eventually":0.0625,"be":0.0625,"all":0.0625,"servers":0.0625},"1865":{"total":0.0625,"order":0.0625,"if":0.0625,"a":0.0625,"message":0.0625,"is":0.0625,"delivered":0.0625,"before":0.0625,"b":0.0625,"by":0.0625,"one":0.0625,"server":0.0625,"will":0.0625,"be":0.0625,"all":0.0625,"servers":0.0625},"1866":{"causal":0.043478260869565216,"order":0.043478260869565216,"if":0.043478260869565216,"a":0.043478260869565216,"message":0.043478260869565216,"b":0.043478260869565216,"is":0.043478260869565216,"sent":0.043478260869565216,"after":0.043478260869565216,"has":0.043478260869565216,"been":0.043478260869565216,"delivered":0.043478260869565216,"by":0.043478260869565216,"the":0.043478260869565216,"sender":0.043478260869565216,"of":0.043478260869565216,"must":0.043478260869565216,"be":0.043478260869565216,"ordered":0.043478260869565216,"before":0.043478260869565216,"sends":0.043478260869565216,"c":0.043478260869565216,"sending":0.043478260869565216},"1867":{"1":0.014492753623188406,"the":0.014492753623188406,"zookeeper":0.014492753623188406,"messaging":0.014492753623188406,"system":0.014492753623188406,"also":0.014492753623188406,"needs":0.014492753623188406,"to":0.014492753623188406,"be":0.014492753623188406,"efficient":0.014492753623188406,"reliable":0.014492753623188406,"and":0.014492753623188406,"easy":0.014492753623188406,"implement":0.014492753623188406,"maintain":0.014492753623188406,"we":0.014492753623188406,"make":0.014492753623188406,"heavy":0.014492753623188406,"use":0.014492753623188406,"of":0.014492753623188406,"so":0.014492753623188406,"need":0.014492753623188406,"able":0.014492753623188406,"handle":0.014492753623188406,"thousands":0.014492753623188406,"requests":0.014492753623188406,"per":0.014492753623188406,"second":0.014492753623188406,"although":0.014492753623188406,"can":0.014492753623188406,"require":0.014492753623188406,"at":0.014492753623188406,"least":0.014492753623188406,"k":0.014492753623188406,"correct":0.014492753623188406,"servers":0.014492753623188406,"send":0.014492753623188406,"new":0.014492753623188406,"messages":0.014492753623188406,"must":0.014492753623188406,"recover":0.014492753623188406,"from":0.014492753623188406,"correlated":0.014492753623188406,"failures":0.014492753623188406,"such":0.014492753623188406,"as":0.014492753623188406,"power":0.014492753623188406,"outages":0.014492753623188406,"when":0.014492753623188406,"implemented":0.014492753623188406,"had":0.014492753623188406,"little":0.014492753623188406,"time":0.014492753623188406,"few":0.014492753623188406,"engineering":0.014492753623188406,"resources":0.014492753623188406,"needed":0.014492753623188406,"a":0.014492753623188406,"protocol":0.014492753623188406,"that":0.014492753623188406,"is":0.014492753623188406,"accessible":0.014492753623188406,"engineers":0.014492753623188406,"found":0.014492753623188406,"our":0.014492753623188406,"satisfied":0.014492753623188406,"all":0.014492753623188406,"these":0.014492753623188406,"goals":0.014492753623188406},"1868":{"our":0.02564102564102564,"protocol":0.02564102564102564,"assumes":0.02564102564102564,"that":0.02564102564102564,"we":0.02564102564102564,"can":0.02564102564102564,"construct":0.02564102564102564,"point-to-point":0.02564102564102564,"fifo":0.02564102564102564,"channels":0.02564102564102564,"between":0.02564102564102564,"the":0.02564102564102564,"servers":0.02564102564102564,"while":0.02564102564102564,"similar":0.02564102564102564,"services":0.02564102564102564,"usually":0.02564102564102564,"assume":0.02564102564102564,"message":0.02564102564102564,"delivery":0.02564102564102564,"lose":0.02564102564102564,"or":0.02564102564102564,"reorder":0.02564102564102564,"messages":0.02564102564102564,"assumption":0.02564102564102564,"of":0.02564102564102564,"is":0.02564102564102564,"very":0.02564102564102564,"practical":0.02564102564102564,"given":0.02564102564102564,"use":0.02564102564102564,"tcp":0.02564102564102564,"for":0.02564102564102564,"communication":0.02564102564102564,"specifically":0.02564102564102564,"rely":0.02564102564102564,"on":0.02564102564102564,"following":0.02564102564102564,"property":0.02564102564102564},"1869":{"ordered":0.034482758620689655,"delivery":0.034482758620689655,"data":0.034482758620689655,"is":0.034482758620689655,"delivered":0.034482758620689655,"in":0.034482758620689655,"the":0.034482758620689655,"same":0.034482758620689655,"order":0.034482758620689655,"it":0.034482758620689655,"sent":0.034482758620689655,"and":0.034482758620689655,"a":0.034482758620689655,"message":0.034482758620689655,"m":0.034482758620689655,"only":0.034482758620689655,"after":0.034482758620689655,"all":0.034482758620689655,"messages":0.034482758620689655,"before":0.034482758620689655,"have":0.034482758620689655,"been":0.034482758620689655,"corollary":0.034482758620689655,"that":0.034482758620689655,"if":0.034482758620689655,"lost":0.034482758620689655,"will":0.034482758620689655,"also":0.034482758620689655,"be":0.034482758620689655},"1870":{"no":0.0625,"message":0.0625,"after":0.0625,"close":0.0625,"once":0.0625,"a":0.0625,"fifo":0.0625,"channel":0.0625,"is":0.0625,"closed":0.0625,"messages":0.0625,"will":0.0625,"be":0.0625,"received":0.0625,"from":0.0625,"it":0.0625},"1871":{"flp":0.02040816326530612,"proved":0.02040816326530612,"that":0.02040816326530612,"consensus":0.02040816326530612,"cannot":0.02040816326530612,"be":0.02040816326530612,"achieved":0.02040816326530612,"in":0.02040816326530612,"asynchronous":0.02040816326530612,"distributed":0.02040816326530612,"systems":0.02040816326530612,"if":0.02040816326530612,"failures":0.02040816326530612,"are":0.02040816326530612,"possible":0.02040816326530612,"to":0.02040816326530612,"ensure":0.02040816326530612,"we":0.02040816326530612,"achieve":0.02040816326530612,"the":0.02040816326530612,"presence":0.02040816326530612,"of":0.02040816326530612,"use":0.02040816326530612,"timeouts":0.02040816326530612,"however":0.02040816326530612,"rely":0.02040816326530612,"on":0.02040816326530612,"time":0.02040816326530612,"for":0.02040816326530612,"liveness":0.02040816326530612,"not":0.02040816326530612,"correctness":0.02040816326530612,"so":0.02040816326530612,"stop":0.02040816326530612,"working":0.02040816326530612,"e":0.02040816326530612,"g":0.02040816326530612,"skewed":0.02040816326530612,"clocks":0.02040816326530612,"messaging":0.02040816326530612,"system":0.02040816326530612,"may":0.02040816326530612,"hang":0.02040816326530612,"but":0.02040816326530612,"it":0.02040816326530612,"will":0.02040816326530612,"violate":0.02040816326530612,"its":0.02040816326530612,"guarantees":0.02040816326530612},"1872":{"when":0.07142857142857142,"describing":0.07142857142857142,"the":0.07142857142857142,"zookeeper":0.07142857142857142,"messaging":0.07142857142857142,"protocol":0.07142857142857142,"we":0.07142857142857142,"will":0.07142857142857142,"talk":0.07142857142857142,"of":0.07142857142857142,"packets":0.07142857142857142,"proposals":0.07142857142857142,"and":0.07142857142857142,"messages":0.07142857142857142},"1873":{"packet":0.1111111111111111,"a":0.1111111111111111,"sequence":0.1111111111111111,"of":0.1111111111111111,"bytes":0.1111111111111111,"sent":0.1111111111111111,"through":0.1111111111111111,"fifo":0.1111111111111111,"channel":0.1111111111111111},"1874":{"proposal":0.034482758620689655,"a":0.034482758620689655,"unit":0.034482758620689655,"of":0.034482758620689655,"agreement":0.034482758620689655,"proposals":0.034482758620689655,"are":0.034482758620689655,"agreed":0.034482758620689655,"upon":0.034482758620689655,"by":0.034482758620689655,"exchanging":0.034482758620689655,"packets":0.034482758620689655,"with":0.034482758620689655,"quorum":0.034482758620689655,"zookeeper":0.034482758620689655,"servers":0.034482758620689655,"most":0.034482758620689655,"contain":0.034482758620689655,"messages":0.034482758620689655,"however":0.034482758620689655,"the":0.034482758620689655,"new_leader":0.034482758620689655,"is":0.034482758620689655,"an":0.034482758620689655,"example":0.034482758620689655,"that":0.034482758620689655,"does":0.034482758620689655,"not":0.034482758620689655,"message":0.034482758620689655},"1875":{"message":0.045454545454545456,"a":0.045454545454545456,"sequence":0.045454545454545456,"of":0.045454545454545456,"bytes":0.045454545454545456,"to":0.045454545454545456,"be":0.045454545454545456,"atomically":0.045454545454545456,"broadcast":0.045454545454545456,"all":0.045454545454545456,"zookeeper":0.045454545454545456,"servers":0.045454545454545456,"is":0.045454545454545456,"put":0.045454545454545456,"into":0.045454545454545456,"proposal":0.045454545454545456,"and":0.045454545454545456,"agreed":0.045454545454545456,"upon":0.045454545454545456,"before":0.045454545454545456,"it":0.045454545454545456,"delivered":0.045454545454545456},"1876":{"1":0.01282051282051282,"2":0.01282051282051282,"as":0.01282051282051282,"stated":0.01282051282051282,"above":0.01282051282051282,"zookeeper":0.01282051282051282,"guarantees":0.01282051282051282,"a":0.01282051282051282,"total":0.01282051282051282,"order":0.01282051282051282,"of":0.01282051282051282,"messages":0.01282051282051282,"and":0.01282051282051282,"it":0.01282051282051282,"also":0.01282051282051282,"proposals":0.01282051282051282,"exposes":0.01282051282051282,"the":0.01282051282051282,"ordering":0.01282051282051282,"using":0.01282051282051282,"transaction":0.01282051282051282,"id":0.01282051282051282,"zxid":0.01282051282051282,"all":0.01282051282051282,"will":0.01282051282051282,"be":0.01282051282051282,"stamped":0.01282051282051282,"with":0.01282051282051282,"when":0.01282051282051282,"proposed":0.01282051282051282,"exactly":0.01282051282051282,"reflect":0.01282051282051282,"are":0.01282051282051282,"sent":0.01282051282051282,"to":0.01282051282051282,"servers":0.01282051282051282,"committed":0.01282051282051282,"quorum":0.01282051282051282,"them":0.01282051282051282,"acknowledge":0.01282051282051282,"proposal":0.01282051282051282,"if":0.01282051282051282,"contains":0.01282051282051282,"message":0.01282051282051282,"delivered":0.01282051282051282,"is":0.01282051282051282,"acknowledgement":0.01282051282051282,"means":0.01282051282051282,"server":0.01282051282051282,"has":0.01282051282051282,"recorded":0.01282051282051282,"persistent":0.01282051282051282,"storage":0.01282051282051282,"our":0.01282051282051282,"quorums":0.01282051282051282,"have":0.01282051282051282,"requirement":0.01282051282051282,"that":0.01282051282051282,"any":0.01282051282051282,"pair":0.01282051282051282,"must":0.01282051282051282,"at":0.01282051282051282,"least":0.01282051282051282,"one":0.01282051282051282,"in":0.01282051282051282,"common":0.01282051282051282,"we":0.01282051282051282,"ensure":0.01282051282051282,"this":0.01282051282051282,"by":0.01282051282051282,"requiring":0.01282051282051282,"size":0.01282051282051282,"n":0.01282051282051282,"where":0.01282051282051282,"number":0.01282051282051282,"make":0.01282051282051282,"up":0.01282051282051282,"service":0.01282051282051282},"1877":{"the":0.014705882352941176,"zxid":0.014705882352941176,"has":0.014705882352941176,"two":0.014705882352941176,"parts":0.014705882352941176,"epoch":0.014705882352941176,"and":0.014705882352941176,"a":0.014705882352941176,"counter":0.014705882352941176,"in":0.014705882352941176,"our":0.014705882352941176,"implementation":0.014705882352941176,"is":0.014705882352941176,"64-bit":0.014705882352941176,"number":0.014705882352941176,"we":0.014705882352941176,"use":0.014705882352941176,"high":0.014705882352941176,"order":0.014705882352941176,"32-bits":0.014705882352941176,"for":0.014705882352941176,"low":0.014705882352941176,"because":0.014705882352941176,"consists":0.014705882352941176,"of":0.014705882352941176,"it":0.014705882352941176,"can":0.014705882352941176,"be":0.014705882352941176,"represented":0.014705882352941176,"both":0.014705882352941176,"as":0.014705882352941176,"pair":0.014705882352941176,"integers":0.014705882352941176,"count":0.014705882352941176,"represents":0.014705882352941176,"change":0.014705882352941176,"leadership":0.014705882352941176,"each":0.014705882352941176,"time":0.014705882352941176,"new":0.014705882352941176,"leader":0.014705882352941176,"comes":0.014705882352941176,"into":0.014705882352941176,"power":0.014705882352941176,"will":0.014705882352941176,"have":0.014705882352941176,"its":0.014705882352941176,"own":0.014705882352941176,"simple":0.014705882352941176,"algorithm":0.014705882352941176,"to":0.014705882352941176,"assign":0.014705882352941176,"unique":0.014705882352941176,"proposal":0.014705882352941176,"simply":0.014705882352941176,"increments":0.014705882352941176,"obtain":0.014705882352941176,"activation":0.014705882352941176,"ensure":0.014705882352941176,"that":0.014705882352941176,"only":0.014705882352941176,"one":0.014705882352941176,"uses":0.014705882352941176,"given":0.014705882352941176,"so":0.014705882352941176,"guarantees":0.014705882352941176,"every":0.014705882352941176,"id":0.014705882352941176},"1878":{"zookeeper":0.16666666666666666,"messaging":0.16666666666666666,"consists":0.16666666666666666,"of":0.16666666666666666,"two":0.16666666666666666,"phases":0.16666666666666666},"1879":{"leader":0.05263157894736842,"activation":0.05263157894736842,"in":0.05263157894736842,"this":0.05263157894736842,"phase":0.05263157894736842,"a":0.05263157894736842,"establishes":0.05263157894736842,"the":0.05263157894736842,"correct":0.05263157894736842,"state":0.05263157894736842,"of":0.05263157894736842,"system":0.05263157894736842,"and":0.05263157894736842,"gets":0.05263157894736842,"ready":0.05263157894736842,"to":0.05263157894736842,"start":0.05263157894736842,"making":0.05263157894736842,"proposals":0.05263157894736842},"1880":{"active":0.06666666666666667,"messaging":0.06666666666666667,"in":0.06666666666666667,"this":0.06666666666666667,"phase":0.06666666666666667,"a":0.06666666666666667,"leader":0.06666666666666667,"accepts":0.06666666666666667,"messages":0.06666666666666667,"to":0.06666666666666667,"propose":0.06666666666666667,"and":0.06666666666666667,"coordinates":0.06666666666666667,"message":0.06666666666666667,"delivery":0.06666666666666667},"1881":{"zookeeper":0.012345679012345678,"is":0.012345679012345678,"a":0.012345679012345678,"holistic":0.012345679012345678,"protocol":0.012345679012345678,"we":0.012345679012345678,"do":0.012345679012345678,"not":0.012345679012345678,"focus":0.012345679012345678,"on":0.012345679012345678,"individual":0.012345679012345678,"proposals":0.012345679012345678,"rather":0.012345679012345678,"look":0.012345679012345678,"at":0.012345679012345678,"the":0.012345679012345678,"stream":0.012345679012345678,"of":0.012345679012345678,"as":0.012345679012345678,"whole":0.012345679012345678,"our":0.012345679012345678,"strict":0.012345679012345678,"ordering":0.012345679012345678,"allows":0.012345679012345678,"us":0.012345679012345678,"to":0.012345679012345678,"this":0.012345679012345678,"efficiently":0.012345679012345678,"and":0.012345679012345678,"greatly":0.012345679012345678,"simplifies":0.012345679012345678,"leadership":0.012345679012345678,"activation":0.012345679012345678,"embodies":0.012345679012345678,"concept":0.012345679012345678,"leader":0.012345679012345678,"becomes":0.012345679012345678,"active":0.012345679012345678,"only":0.012345679012345678,"when":0.012345679012345678,"quorum":0.012345679012345678,"followers":0.012345679012345678,"counts":0.012345679012345678,"follower":0.012345679012345678,"well":0.012345679012345678,"you":0.012345679012345678,"can":0.012345679012345678,"always":0.012345679012345678,"vote":0.012345679012345678,"for":0.012345679012345678,"yourself":0.012345679012345678,"has":0.012345679012345678,"synced":0.012345679012345678,"up":0.012345679012345678,"with":0.012345679012345678,"they":0.012345679012345678,"have":0.012345679012345678,"same":0.012345679012345678,"state":0.012345679012345678,"consists":0.012345679012345678,"all":0.012345679012345678,"that":0.012345679012345678,"believes":0.012345679012345678,"been":0.012345679012345678,"committed":0.012345679012345678,"proposal":0.012345679012345678,"follow":0.012345679012345678,"new_leader":0.012345679012345678,"hopefully":0.012345679012345678,"are":0.012345679012345678,"thinking":0.012345679012345678,"does":0.012345679012345678,"set":0.012345679012345678,"include":0.012345679012345678,"really":0.012345679012345678,"answer":0.012345679012345678,"yes":0.012345679012345678,"below":0.012345679012345678,"make":0.012345679012345678,"clear":0.012345679012345678,"why":0.012345679012345678},"1882":{"leader":0.05,"activation":0.05,"includes":0.05,"election":0.05,"fastleaderelection":0.05,"zookeeper":0.05,"messaging":0.05,"doesn't":0.05,"care":0.05,"about":0.05,"the":0.05,"exact":0.05,"method":0.05,"of":0.05,"electing":0.05,"a":0.05,"as":0.05,"long":0.05,"following":0.05,"holds":0.05},"1883":{"the":0.1111111111111111,"leader":0.1111111111111111,"has":0.1111111111111111,"seen":0.1111111111111111,"highest":0.1111111111111111,"zxid":0.1111111111111111,"of":0.1111111111111111,"all":0.1111111111111111,"followers":0.1111111111111111},"1884":{"a":0.1,"quorum":0.1,"of":0.1,"servers":0.1,"have":0.1,"committed":0.1,"to":0.1,"following":0.1,"the":0.1,"leader":0.1},"1885":{"of":0.020833333333333332,"these":0.020833333333333332,"two":0.020833333333333332,"requirements":0.020833333333333332,"only":0.020833333333333332,"the":0.020833333333333332,"first":0.020833333333333332,"highest":0.020833333333333332,"zxid":0.020833333333333332,"among":0.020833333333333332,"followers":0.020833333333333332,"needs":0.020833333333333332,"to":0.020833333333333332,"hold":0.020833333333333332,"for":0.020833333333333332,"correct":0.020833333333333332,"operation":0.020833333333333332,"second":0.020833333333333332,"requirement":0.020833333333333332,"a":0.020833333333333332,"quorum":0.020833333333333332,"just":0.020833333333333332,"with":0.020833333333333332,"high":0.020833333333333332,"probability":0.020833333333333332,"we":0.020833333333333332,"are":0.020833333333333332,"going":0.020833333333333332,"recheck":0.020833333333333332,"so":0.020833333333333332,"if":0.020833333333333332,"failure":0.020833333333333332,"happens":0.020833333333333332,"during":0.020833333333333332,"or":0.020833333333333332,"after":0.020833333333333332,"leader":0.020833333333333332,"election":0.020833333333333332,"and":0.020833333333333332,"is":0.020833333333333332,"lost":0.020833333333333332,"will":0.020833333333333332,"recover":0.020833333333333332,"by":0.020833333333333332,"abandoning":0.020833333333333332,"activation":0.020833333333333332,"running":0.020833333333333332,"another":0.020833333333333332},"1886":{"after":0.023255813953488372,"leader":0.023255813953488372,"election":0.023255813953488372,"a":0.023255813953488372,"single":0.023255813953488372,"server":0.023255813953488372,"will":0.023255813953488372,"be":0.023255813953488372,"designated":0.023255813953488372,"as":0.023255813953488372,"and":0.023255813953488372,"start":0.023255813953488372,"waiting":0.023255813953488372,"for":0.023255813953488372,"followers":0.023255813953488372,"to":0.023255813953488372,"connect":0.023255813953488372,"the":0.023255813953488372,"rest":0.023255813953488372,"of":0.023255813953488372,"servers":0.023255813953488372,"try":0.023255813953488372,"sync":0.023255813953488372,"up":0.023255813953488372,"with":0.023255813953488372,"by":0.023255813953488372,"sending":0.023255813953488372,"any":0.023255813953488372,"proposals":0.023255813953488372,"they":0.023255813953488372,"are":0.023255813953488372,"missing":0.023255813953488372,"or":0.023255813953488372,"if":0.023255813953488372,"follower":0.023255813953488372,"is":0.023255813953488372,"too":0.023255813953488372,"many":0.023255813953488372,"it":0.023255813953488372,"send":0.023255813953488372,"full":0.023255813953488372,"snapshot":0.023255813953488372,"state":0.023255813953488372},"1887":{"there":0.018518518518518517,"is":0.018518518518518517,"a":0.018518518518518517,"corner":0.018518518518518517,"case":0.018518518518518517,"in":0.018518518518518517,"which":0.018518518518518517,"follower":0.018518518518518517,"that":0.018518518518518517,"has":0.018518518518518517,"proposals":0.018518518518518517,"u":0.018518518518518517,"not":0.018518518518518517,"seen":0.018518518518518517,"by":0.018518518518518517,"leader":0.018518518518518517,"arrives":0.018518518518518517,"are":0.018518518518518517,"order":0.018518518518518517,"so":0.018518518518518517,"the":0.018518518518518517,"of":0.018518518518518517,"will":0.018518518518518517,"have":0.018518518518518517,"zxids":0.018518518518518517,"higher":0.018518518518518517,"than":0.018518518518518517,"must":0.018518518518518517,"arrived":0.018518518518518517,"after":0.018518518518518517,"election":0.018518518518518517,"otherwise":0.018518518518518517,"would":0.018518518518518517,"been":0.018518518518518517,"elected":0.018518518518518517,"given":0.018518518518518517,"it":0.018518518518518517,"zxid":0.018518518518518517,"since":0.018518518518518517,"committed":0.018518518518518517,"be":0.018518518518518517,"quorum":0.018518518518518517,"servers":0.018518518518518517,"and":0.018518518518518517,"did":0.018518518518518517,"see":0.018518518518518517,"they":0.018518518518518517,"can":0.018518518518518517,"discarded":0.018518518518518517,"when":0.018518518518518517,"connects":0.018518518518518517,"to":0.018518518518518517,"tell":0.018518518518518517,"discard":0.018518518518518517},"1888":{"0":0.024390243902439025,"1":0.024390243902439025,"a":0.024390243902439025,"new":0.024390243902439025,"leader":0.024390243902439025,"establishes":0.024390243902439025,"zxid":0.024390243902439025,"to":0.024390243902439025,"start":0.024390243902439025,"using":0.024390243902439025,"for":0.024390243902439025,"proposals":0.024390243902439025,"by":0.024390243902439025,"getting":0.024390243902439025,"the":0.024390243902439025,"epoch":0.024390243902439025,"e":0.024390243902439025,"of":0.024390243902439025,"highest":0.024390243902439025,"it":0.024390243902439025,"has":0.024390243902439025,"seen":0.024390243902439025,"and":0.024390243902439025,"setting":0.024390243902439025,"next":0.024390243902439025,"use":0.024390243902439025,"be":0.024390243902439025,"after":0.024390243902439025,"syncs":0.024390243902439025,"with":0.024390243902439025,"follower":0.024390243902439025,"will":0.024390243902439025,"propose":0.024390243902439025,"new_leader":0.024390243902439025,"proposal":0.024390243902439025,"once":0.024390243902439025,"been":0.024390243902439025,"committed":0.024390243902439025,"activate":0.024390243902439025,"receiving":0.024390243902439025,"issuing":0.024390243902439025},"1889":{"the":0.1111111111111111,"basic":0.1111111111111111,"rules":0.1111111111111111,"of":0.1111111111111111,"operation":0.1111111111111111,"during":0.1111111111111111,"leader":0.1111111111111111,"activation":0.1111111111111111,"are":0.1111111111111111},"1890":{"a":0.07692307692307693,"follower":0.07692307692307693,"will":0.07692307692307693,"ack":0.07692307692307693,"the":0.07692307692307693,"new_leader":0.07692307692307693,"proposal":0.07692307692307693,"after":0.07692307692307693,"it":0.07692307692307693,"has":0.07692307692307693,"synced":0.07692307692307693,"with":0.07692307692307693,"leader":0.07692307692307693},"1891":{"a":0.07692307692307693,"follower":0.07692307692307693,"will":0.07692307692307693,"only":0.07692307692307693,"ack":0.07692307692307693,"new_leader":0.07692307692307693,"proposal":0.07692307692307693,"with":0.07692307692307693,"given":0.07692307692307693,"zxid":0.07692307692307693,"from":0.07692307692307693,"single":0.07692307692307693,"server":0.07692307692307693},"1892":{"a":0.06666666666666667,"new":0.06666666666666667,"leader":0.06666666666666667,"will":0.06666666666666667,"commit":0.06666666666666667,"the":0.06666666666666667,"new_leader":0.06666666666666667,"proposal":0.06666666666666667,"when":0.06666666666666667,"quorum":0.06666666666666667,"of":0.06666666666666667,"followers":0.06666666666666667,"has":0.06666666666666667,"acked":0.06666666666666667,"it":0.06666666666666667},"1893":{"a":0.0625,"follower":0.0625,"will":0.0625,"commit":0.0625,"any":0.0625,"state":0.0625,"it":0.0625,"received":0.0625,"from":0.0625,"the":0.0625,"leader":0.0625,"when":0.0625,"new_leader":0.0625,"proposal":0.0625,"is":0.0625,"committed":0.0625},"1894":{"a":0.07142857142857142,"new":0.07142857142857142,"leader":0.07142857142857142,"will":0.07142857142857142,"not":0.07142857142857142,"accept":0.07142857142857142,"proposals":0.07142857142857142,"until":0.07142857142857142,"the":0.07142857142857142,"new_leader":0.07142857142857142,"proposal":0.07142857142857142,"has":0.07142857142857142,"been":0.07142857142857142,"committed":0.07142857142857142},"1895":{"if":0.03225806451612903,"leader":0.03225806451612903,"election":0.03225806451612903,"terminates":0.03225806451612903,"erroneously":0.03225806451612903,"we":0.03225806451612903,"don't":0.03225806451612903,"have":0.03225806451612903,"a":0.03225806451612903,"problem":0.03225806451612903,"since":0.03225806451612903,"the":0.03225806451612903,"new_leader":0.03225806451612903,"proposal":0.03225806451612903,"will":0.03225806451612903,"not":0.03225806451612903,"be":0.03225806451612903,"committed":0.03225806451612903,"because":0.03225806451612903,"quorum":0.03225806451612903,"when":0.03225806451612903,"this":0.03225806451612903,"happens":0.03225806451612903,"and":0.03225806451612903,"any":0.03225806451612903,"remaining":0.03225806451612903,"followers":0.03225806451612903,"timeout":0.03225806451612903,"go":0.03225806451612903,"back":0.03225806451612903,"to":0.03225806451612903},"1896":{"leader":0.020833333333333332,"activation":0.020833333333333332,"does":0.020833333333333332,"all":0.020833333333333332,"the":0.020833333333333332,"heavy":0.020833333333333332,"lifting":0.020833333333333332,"once":0.020833333333333332,"is":0.020833333333333332,"coronated":0.020833333333333332,"it":0.020833333333333332,"can":0.020833333333333332,"start":0.020833333333333332,"blasting":0.020833333333333332,"out":0.020833333333333332,"proposals":0.020833333333333332,"as":0.020833333333333332,"long":0.020833333333333332,"remains":0.020833333333333332,"no":0.020833333333333332,"other":0.020833333333333332,"emerge":0.020833333333333332,"since":0.020833333333333332,"will":0.020833333333333332,"be":0.020833333333333332,"able":0.020833333333333332,"to":0.020833333333333332,"get":0.020833333333333332,"a":0.020833333333333332,"quorum":0.020833333333333332,"of":0.020833333333333332,"followers":0.020833333333333332,"if":0.020833333333333332,"new":0.020833333333333332,"means":0.020833333333333332,"that":0.020833333333333332,"current":0.020833333333333332,"has":0.020833333333333332,"lost":0.020833333333333332,"and":0.020833333333333332,"clean":0.020833333333333332,"up":0.020833333333333332,"any":0.020833333333333332,"mess":0.020833333333333332,"left":0.020833333333333332,"over":0.020833333333333332,"during":0.020833333333333332,"its":0.020833333333333332},"1897":{"zookeeper":0.1111111111111111,"messaging":0.1111111111111111,"operates":0.1111111111111111,"similar":0.1111111111111111,"to":0.1111111111111111,"a":0.1111111111111111,"classic":0.1111111111111111,"two-phase":0.1111111111111111,"commit":0.1111111111111111},"1898":{"all":0.058823529411764705,"communication":0.058823529411764705,"channels":0.058823529411764705,"are":0.058823529411764705,"fifo":0.058823529411764705,"so":0.058823529411764705,"everything":0.058823529411764705,"is":0.058823529411764705,"done":0.058823529411764705,"in":0.058823529411764705,"order":0.058823529411764705,"specifically":0.058823529411764705,"the":0.058823529411764705,"following":0.058823529411764705,"operating":0.058823529411764705,"constraints":0.058823529411764705,"observed":0.058823529411764705},"1899":{"the":0.037037037037037035,"leader":0.037037037037037035,"sends":0.037037037037037035,"proposals":0.037037037037037035,"to":0.037037037037037035,"all":0.037037037037037035,"followers":0.037037037037037035,"using":0.037037037037037035,"same":0.037037037037037035,"order":0.037037037037037035,"moreover":0.037037037037037035,"this":0.037037037037037035,"follows":0.037037037037037035,"in":0.037037037037037035,"which":0.037037037037037035,"requests":0.037037037037037035,"were":0.037037037037037035,"received":0.037037037037037035,"because":0.037037037037037035,"we":0.037037037037037035,"use":0.037037037037037035,"fifo":0.037037037037037035,"channels":0.037037037037037035,"means":0.037037037037037035,"that":0.037037037037037035,"also":0.037037037037037035,"receive":0.037037037037037035},"1900":{"followers":0.02564102564102564,"process":0.02564102564102564,"messages":0.02564102564102564,"in":0.02564102564102564,"the":0.02564102564102564,"order":0.02564102564102564,"they":0.02564102564102564,"are":0.02564102564102564,"received":0.02564102564102564,"this":0.02564102564102564,"means":0.02564102564102564,"that":0.02564102564102564,"will":0.02564102564102564,"be":0.02564102564102564,"acked":0.02564102564102564,"and":0.02564102564102564,"leader":0.02564102564102564,"receive":0.02564102564102564,"acks":0.02564102564102564,"from":0.02564102564102564,"due":0.02564102564102564,"to":0.02564102564102564,"fifo":0.02564102564102564,"channels":0.02564102564102564,"it":0.02564102564102564,"also":0.02564102564102564,"if":0.02564102564102564,"message":0.02564102564102564,"m":0.02564102564102564,"has":0.02564102564102564,"been":0.02564102564102564,"written":0.02564102564102564,"non-volatile":0.02564102564102564,"storage":0.02564102564102564,"all":0.02564102564102564,"were":0.02564102564102564,"proposed":0.02564102564102564,"before":0.02564102564102564,"have":0.02564102564102564},"1901":{"the":0.037037037037037035,"leader":0.037037037037037035,"will":0.037037037037037035,"issue":0.037037037037037035,"a":0.037037037037037035,"commit":0.037037037037037035,"to":0.037037037037037035,"all":0.037037037037037035,"followers":0.037037037037037035,"as":0.037037037037037035,"soon":0.037037037037037035,"quorum":0.037037037037037035,"of":0.037037037037037035,"have":0.037037037037037035,"acked":0.037037037037037035,"message":0.037037037037037035,"since":0.037037037037037035,"messages":0.037037037037037035,"are":0.037037037037037035,"in":0.037037037037037035,"order":0.037037037037037035,"commits":0.037037037037037035,"be":0.037037037037037035,"sent":0.037037037037037035,"by":0.037037037037037035,"and":0.037037037037037035,"received":0.037037037037037035},"1902":{"commits":0.07142857142857142,"are":0.07142857142857142,"processed":0.07142857142857142,"in":0.07142857142857142,"order":0.07142857142857142,"followers":0.07142857142857142,"deliver":0.07142857142857142,"a":0.07142857142857142,"proposal":0.07142857142857142,"message":0.07142857142857142,"when":0.07142857142857142,"that":0.07142857142857142,"is":0.07142857142857142,"committed":0.07142857142857142},"1903":{"why":0.013333333333333334,"does":0.013333333333333334,"it":0.013333333333333334,"work":0.013333333333333334,"specifically":0.013333333333333334,"a":0.013333333333333334,"set":0.013333333333333334,"of":0.013333333333333334,"proposals":0.013333333333333334,"believed":0.013333333333333334,"by":0.013333333333333334,"new":0.013333333333333334,"leader":0.013333333333333334,"always":0.013333333333333334,"contain":0.013333333333333334,"any":0.013333333333333334,"proposal":0.013333333333333334,"that":0.013333333333333334,"has":0.013333333333333334,"actually":0.013333333333333334,"been":0.013333333333333334,"committed":0.013333333333333334,"first":0.013333333333333334,"all":0.013333333333333334,"have":0.013333333333333334,"unique":0.013333333333333334,"zxid":0.013333333333333334,"so":0.013333333333333334,"unlike":0.013333333333333334,"other":0.013333333333333334,"protocols":0.013333333333333334,"we":0.013333333333333334,"never":0.013333333333333334,"to":0.013333333333333334,"worry":0.013333333333333334,"about":0.013333333333333334,"two":0.013333333333333334,"different":0.013333333333333334,"values":0.013333333333333334,"being":0.013333333333333334,"proposed":0.013333333333333334,"for":0.013333333333333334,"the":0.013333333333333334,"same":0.013333333333333334,"followers":0.013333333333333334,"is":0.013333333333333334,"also":0.013333333333333334,"follower":0.013333333333333334,"see":0.013333333333333334,"and":0.013333333333333334,"record":0.013333333333333334,"in":0.013333333333333334,"order":0.013333333333333334,"are":0.013333333333333334,"there":0.013333333333333334,"only":0.013333333333333334,"one":0.013333333333333334,"active":0.013333333333333334,"at":0.013333333333333334,"time":0.013333333333333334,"since":0.013333333333333334,"follow":0.013333333333333334,"single":0.013333333333333334,"seen":0.013333333333333334,"from":0.013333333333333334,"previous":0.013333333333333334,"epoch":0.013333333333333334,"highest":0.013333333333333334,"quorum":0.013333333333333334,"servers":0.013333333333333334,"uncommitted":0.013333333333333334,"will":0.013333333333333334,"be":0.013333333333333334,"before":0.013333333333333334,"becomes":0.013333333333333334},"1904":{"isn't":0.024390243902439025,"this":0.024390243902439025,"just":0.024390243902439025,"multi-paxos":0.024390243902439025,"no":0.024390243902439025,"requires":0.024390243902439025,"some":0.024390243902439025,"way":0.024390243902439025,"of":0.024390243902439025,"assuring":0.024390243902439025,"that":0.024390243902439025,"there":0.024390243902439025,"is":0.024390243902439025,"only":0.024390243902439025,"a":0.024390243902439025,"single":0.024390243902439025,"coordinator":0.024390243902439025,"we":0.024390243902439025,"do":0.024390243902439025,"not":0.024390243902439025,"count":0.024390243902439025,"on":0.024390243902439025,"such":0.024390243902439025,"assurances":0.024390243902439025,"instead":0.024390243902439025,"use":0.024390243902439025,"leader":0.024390243902439025,"activation":0.024390243902439025,"to":0.024390243902439025,"recover":0.024390243902439025,"from":0.024390243902439025,"leadership":0.024390243902439025,"changes":0.024390243902439025,"or":0.024390243902439025,"old":0.024390243902439025,"leaders":0.024390243902439025,"believing":0.024390243902439025,"they":0.024390243902439025,"are":0.024390243902439025,"still":0.024390243902439025,"active":0.024390243902439025},"1905":{"2":0.015384615384615385,"isn't":0.015384615384615385,"this":0.015384615384615385,"just":0.015384615384615385,"paxos":0.015384615384615385,"the":0.015384615384615385,"active":0.015384615384615385,"messaging":0.015384615384615385,"phase":0.015384615384615385,"looks":0.015384615384615385,"like":0.015384615384615385,"of":0.015384615384615385,"actually":0.015384615384615385,"to":0.015384615384615385,"us":0.015384615384615385,"2-phase":0.015384615384615385,"commit":0.015384615384615385,"without":0.015384615384615385,"need":0.015384615384615385,"handle":0.015384615384615385,"aborts":0.015384615384615385,"is":0.015384615384615385,"different":0.015384615384615385,"from":0.015384615384615385,"both":0.015384615384615385,"in":0.015384615384615385,"sense":0.015384615384615385,"that":0.015384615384615385,"it":0.015384615384615385,"has":0.015384615384615385,"cross-proposal":0.015384615384615385,"ordering":0.015384615384615385,"requirements":0.015384615384615385,"if":0.015384615384615385,"we":0.015384615384615385,"do":0.015384615384615385,"not":0.015384615384615385,"maintain":0.015384615384615385,"strict":0.015384615384615385,"fifo":0.015384615384615385,"all":0.015384615384615385,"packets":0.015384615384615385,"falls":0.015384615384615385,"apart":0.015384615384615385,"also":0.015384615384615385,"our":0.015384615384615385,"leader":0.015384615384615385,"activation":0.015384615384615385,"them":0.015384615384615385,"particular":0.015384615384615385,"use":0.015384615384615385,"epochs":0.015384615384615385,"allows":0.015384615384615385,"skip":0.015384615384615385,"blocks":0.015384615384615385,"uncommitted":0.015384615384615385,"proposals":0.015384615384615385,"and":0.015384615384615385,"worry":0.015384615384615385,"about":0.015384615384615385,"duplicate":0.015384615384615385,"for":0.015384615384615385,"a":0.015384615384615385,"given":0.015384615384615385,"zxid":0.015384615384615385},"1906":{"the":0.1,"consistency":0.1,"guarantees":0.1,"of":0.1,"zookeeper":0.1,"lie":0.1,"between":0.1,"sequential":0.1,"and":0.1,"linearizability":0.1},"1907":{"write":0.01818181818181818,"operations":0.01818181818181818,"in":0.01818181818181818,"zookeeper":0.01818181818181818,"are":0.01818181818181818,"linearizable":0.01818181818181818,"each":0.01818181818181818,"will":0.01818181818181818,"appear":0.01818181818181818,"to":0.01818181818181818,"take":0.01818181818181818,"effect":0.01818181818181818,"atomically":0.01818181818181818,"at":0.01818181818181818,"some":0.01818181818181818,"point":0.01818181818181818,"between":0.01818181818181818,"when":0.01818181818181818,"the":0.01818181818181818,"client":0.01818181818181818,"issues":0.01818181818181818,"request":0.01818181818181818,"and":0.01818181818181818,"receives":0.01818181818181818,"corresponding":0.01818181818181818,"response":0.01818181818181818,"this":0.01818181818181818,"means":0.01818181818181818,"that":0.01818181818181818,"writes":0.01818181818181818,"performed":0.01818181818181818,"by":0.01818181818181818,"all":0.01818181818181818,"clients":0.01818181818181818,"can":0.01818181818181818,"be":0.01818181818181818,"totally":0.01818181818181818,"ordered":0.01818181818181818,"a":0.01818181818181818,"way":0.01818181818181818,"respects":0.01818181818181818,"their":0.01818181818181818,"real-time":0.01818181818181818,"ordering":0.01818181818181818,"however":0.01818181818181818,"merely":0.01818181818181818,"stating":0.01818181818181818,"is":0.01818181818181818,"meaningless":0.01818181818181818,"unless":0.01818181818181818,"we":0.01818181818181818,"also":0.01818181818181818,"talk":0.01818181818181818,"about":0.01818181818181818,"reads":0.01818181818181818},"1908":{"read":0.017857142857142856,"operations":0.017857142857142856,"in":0.017857142857142856,"zookeeper":0.017857142857142856,"are":0.017857142857142856,"not":0.017857142857142856,"linearizable":0.017857142857142856,"since":0.017857142857142856,"they":0.017857142857142856,"can":0.017857142857142856,"return":0.017857142857142856,"stale":0.017857142857142856,"data":0.017857142857142856,"a":0.017857142857142856,"is":0.017857142857142856,"quorum":0.017857142857142856,"operation":0.017857142857142856,"server":0.017857142857142856,"will":0.017857142857142856,"respond":0.017857142857142856,"immediately":0.017857142857142856,"to":0.017857142857142856,"client":0.017857142857142856,"performing":0.017857142857142856,"prioritizes":0.017857142857142856,"performance":0.017857142857142856,"over":0.017857142857142856,"consistency":0.017857142857142856,"for":0.017857142857142856,"reads":0.017857142857142856,"however":0.017857142857142856,"sequentially":0.017857142857142856,"consistent":0.017857142857142856,"because":0.017857142857142856,"appear":0.017857142857142856,"take":0.017857142857142856,"effect":0.017857142857142856,"some":0.017857142857142856,"sequential":0.017857142857142856,"order":0.017857142857142856,"that":0.017857142857142856,"respects":0.017857142857142856,"each":0.017857142857142856,"client's":0.017857142857142856,"common":0.017857142857142856,"workaround":0.017857142857142856,"issue":0.017857142857142856,"sync":0.017857142857142856,"before":0.017857142857142856,"this":0.017857142857142856,"too":0.017857142857142856,"does":0.017857142857142856,"strictly":0.017857142857142856,"guarantee":0.017857142857142856,"up-to-date":0.017857142857142856,"currently":0.017857142857142856},"1909":{"to":0.015625,"illustrate":0.015625,"consider":0.015625,"a":0.015625,"scenario":0.015625,"where":0.015625,"two":0.015625,"servers":0.015625,"simultaneously":0.015625,"think":0.015625,"they":0.015625,"are":0.015625,"the":0.015625,"leader":0.015625,"which":0.015625,"could":0.015625,"occur":0.015625,"if":0.015625,"tcp":0.015625,"connection":0.015625,"timeout":0.015625,"is":0.015625,"smaller":0.015625,"than":0.015625,"synclimit":0.015625,"ticktime":0.015625,"note":0.015625,"that":0.015625,"this":0.015625,"unlikely":0.015625,"in":0.015625,"practice":0.015625,"but":0.015625,"worth":0.015625,"keeping":0.015625,"mind":0.015625,"under":0.015625,"sync":0.015625,"may":0.015625,"be":0.015625,"served":0.015625,"by":0.015625,"with":0.015625,"stale":0.015625,"data":0.015625,"allowing":0.015625,"following":0.015625,"read":0.015625,"as":0.015625,"well":0.015625,"stronger":0.015625,"guarantee":0.015625,"of":0.015625,"linearizability":0.015625,"provided":0.015625,"an":0.015625,"actual":0.015625,"quorum":0.015625,"operation":0.015625,"e":0.015625,"g":0.015625,"write":0.015625,"performed":0.015625,"before":0.015625},"1910":{"overall":0.05,"the":0.05,"consistency":0.05,"guarantees":0.05,"of":0.05,"zookeeper":0.05,"are":0.05,"formally":0.05,"captured":0.05,"by":0.05,"notion":0.05,"ordered":0.05,"sequential":0.05,"osc":0.05,"u":0.05,"which":0.05,"lies":0.05,"between":0.05,"and":0.05,"linearizability":0.05},"1911":{"atomic":0.022222222222222223,"broadcast":0.022222222222222223,"and":0.022222222222222223,"leader":0.022222222222222223,"election":0.022222222222222223,"use":0.022222222222222223,"the":0.022222222222222223,"notion":0.022222222222222223,"of":0.022222222222222223,"quorums":0.022222222222222223,"to":0.022222222222222223,"guarantee":0.022222222222222223,"a":0.022222222222222223,"consistent":0.022222222222222223,"view":0.022222222222222223,"system":0.022222222222222223,"by":0.022222222222222223,"default":0.022222222222222223,"zookeeper":0.022222222222222223,"uses":0.022222222222222223,"majority":0.022222222222222223,"which":0.022222222222222223,"means":0.022222222222222223,"that":0.022222222222222223,"every":0.022222222222222223,"voting":0.022222222222222223,"operation":0.022222222222222223,"requires":0.022222222222222223,"vote":0.022222222222222223,"one":0.022222222222222223,"example":0.022222222222222223,"is":0.022222222222222223,"acknowledging":0.022222222222222223,"proposal":0.022222222222222223,"can":0.022222222222222223,"only":0.022222222222222223,"commit":0.022222222222222223,"once":0.022222222222222223,"it":0.022222222222222223,"receives":0.022222222222222223,"an":0.022222222222222223,"acknowledgement":0.022222222222222223,"from":0.022222222222222223,"quorum":0.022222222222222223,"servers":0.022222222222222223},"1912":{"if":0.014705882352941176,"we":0.014705882352941176,"extract":0.014705882352941176,"the":0.014705882352941176,"properties":0.014705882352941176,"that":0.014705882352941176,"really":0.014705882352941176,"need":0.014705882352941176,"from":0.014705882352941176,"our":0.014705882352941176,"use":0.014705882352941176,"of":0.014705882352941176,"majorities":0.014705882352941176,"have":0.014705882352941176,"only":0.014705882352941176,"to":0.014705882352941176,"guarantee":0.014705882352941176,"groups":0.014705882352941176,"processes":0.014705882352941176,"used":0.014705882352941176,"validate":0.014705882352941176,"an":0.014705882352941176,"operation":0.014705882352941176,"by":0.014705882352941176,"voting":0.014705882352941176,"pairwise":0.014705882352941176,"intersect":0.014705882352941176,"in":0.014705882352941176,"at":0.014705882352941176,"least":0.014705882352941176,"one":0.014705882352941176,"server":0.014705882352941176,"using":0.014705882352941176,"guarantees":0.014705882352941176,"such":0.014705882352941176,"a":0.014705882352941176,"property":0.014705882352941176,"however":0.014705882352941176,"there":0.014705882352941176,"are":0.014705882352941176,"other":0.014705882352941176,"ways":0.014705882352941176,"constructing":0.014705882352941176,"quorums":0.014705882352941176,"for":0.014705882352941176,"example":0.014705882352941176,"can":0.014705882352941176,"assign":0.014705882352941176,"weights":0.014705882352941176,"votes":0.014705882352941176,"servers":0.014705882352941176,"and":0.014705882352941176,"say":0.014705882352941176,"some":0.014705882352941176,"more":0.014705882352941176,"important":0.014705882352941176,"obtain":0.014705882352941176,"quorum":0.014705882352941176,"get":0.014705882352941176,"enough":0.014705882352941176,"so":0.014705882352941176,"sum":0.014705882352941176,"all":0.014705882352941176,"is":0.014705882352941176,"larger":0.014705882352941176,"than":0.014705882352941176,"half":0.014705882352941176,"total":0.014705882352941176},"1913":{"1":0.013888888888888888,"3":0.013888888888888888,"4":0.013888888888888888,"9":0.013888888888888888,"a":0.013888888888888888,"different":0.013888888888888888,"construction":0.013888888888888888,"that":0.013888888888888888,"uses":0.013888888888888888,"weights":0.013888888888888888,"and":0.013888888888888888,"is":0.013888888888888888,"useful":0.013888888888888888,"in":0.013888888888888888,"wide-area":0.013888888888888888,"deployments":0.013888888888888888,"hierarchical":0.013888888888888888,"one":0.013888888888888888,"with":0.013888888888888888,"this":0.013888888888888888,"we":0.013888888888888888,"split":0.013888888888888888,"the":0.013888888888888888,"servers":0.013888888888888888,"into":0.013888888888888888,"disjoint":0.013888888888888888,"groups":0.013888888888888888,"assign":0.013888888888888888,"to":0.013888888888888888,"processes":0.013888888888888888,"form":0.013888888888888888,"quorum":0.013888888888888888,"have":0.013888888888888888,"get":0.013888888888888888,"enough":0.013888888888888888,"from":0.013888888888888888,"majority":0.013888888888888888,"of":0.013888888888888888,"g":0.013888888888888888,"such":0.013888888888888888,"for":0.013888888888888888,"each":0.013888888888888888,"group":0.013888888888888888,"sum":0.013888888888888888,"votes":0.013888888888888888,"larger":0.013888888888888888,"than":0.013888888888888888,"half":0.013888888888888888,"interestingly":0.013888888888888888,"enables":0.013888888888888888,"smaller":0.013888888888888888,"quorums":0.013888888888888888,"if":0.013888888888888888,"weight":0.013888888888888888,"are":0.013888888888888888,"able":0.013888888888888888,"size":0.013888888888888888,"note":0.013888888888888888,"two":0.013888888888888888,"subsets":0.013888888888888888,"composed":0.013888888888888888,"necessarily":0.013888888888888888,"non-empty":0.013888888888888888,"intersection":0.013888888888888888,"it":0.013888888888888888,"reasonable":0.013888888888888888,"expect":0.013888888888888888,"co-locations":0.013888888888888888,"will":0.013888888888888888,"available":0.013888888888888888,"high":0.013888888888888888,"probability":0.013888888888888888},"1914":{"zookeeper":0.05555555555555555,"provides":0.05555555555555555,"users":0.05555555555555555,"with":0.05555555555555555,"the":0.05555555555555555,"ability":0.05555555555555555,"to":0.05555555555555555,"configure":0.05555555555555555,"servers":0.05555555555555555,"use":0.05555555555555555,"majority":0.05555555555555555,"quorums":0.05555555555555555,"weighted":0.05555555555555555,"or":0.05555555555555555,"a":0.05555555555555555,"hierarchy":0.05555555555555555,"of":0.05555555555555555,"groups":0.05555555555555555},"1915":{"0":0.015873015873015872,"3":0.015873015873015872,"8":0.015873015873015872,"zookeeper":0.015873015873015872,"uses":0.015873015873015872,"slf4j":0.015873015873015872,"as":0.015873015873015872,"an":0.015873015873015872,"abstraction":0.015873015873015872,"layer":0.015873015873015872,"for":0.015873015873015872,"logging":0.015873015873015872,"logback":0.015873015873015872,"has":0.015873015873015872,"been":0.015873015873015872,"chosen":0.015873015873015872,"the":0.015873015873015872,"backend":0.015873015873015872,"since":0.015873015873015872,"better":0.015873015873015872,"embedding":0.015873015873015872,"support":0.015873015873015872,"it":0.015873015873015872,"is":0.015873015873015872,"planned":0.015873015873015872,"in":0.015873015873015872,"future":0.015873015873015872,"to":0.015873015873015872,"leave":0.015873015873015872,"choice":0.015873015873015872,"of":0.015873015873015872,"implementation":0.015873015873015872,"end":0.015873015873015872,"user":0.015873015873015872,"therefore":0.015873015873015872,"always":0.015873015873015872,"use":0.015873015873015872,"api":0.015873015873015872,"log":0.015873015873015872,"statements":0.015873015873015872,"code":0.015873015873015872,"but":0.015873015873015872,"configure":0.015873015873015872,"runtime":0.015873015873015872,"behavior":0.015873015873015872,"note":0.015873015873015872,"that":0.015873015873015872,"no":0.015873015873015872,"fatal":0.015873015873015872,"level":0.015873015873015872,"former":0.015873015873015872,"fatal-level":0.015873015873015872,"messages":0.015873015873015872,"have":0.015873015873015872,"moved":0.015873015873015872,"error":0.015873015873015872,"information":0.015873015873015872,"on":0.015873015873015872,"configuring":0.015873015873015872,"see":0.015873015873015872,"section":0.015873015873015872,"administrator's":0.015873015873015872,"guide":0.015873015873015872},"1916":{"follow":0.045454545454545456,"the":0.045454545454545456,"slf4j":0.045454545454545456,"manual":0.045454545454545456,"when":0.045454545454545456,"creating":0.045454545454545456,"log":0.045454545454545456,"statements":0.045454545454545456,"in":0.045454545454545456,"code":0.045454545454545456,"also":0.045454545454545456,"read":0.045454545454545456,"faq":0.045454545454545456,"on":0.045454545454545456,"logging":0.045454545454545456,"performance":0.045454545454545456,"patch":0.045454545454545456,"reviewers":0.045454545454545456,"will":0.045454545454545456,"look":0.045454545454545456,"for":0.045454545454545456,"following":0.045454545454545456},"1917":{"there":0.09090909090909091,"are":0.09090909090909091,"several":0.09090909090909091,"log":0.09090909090909091,"levels":0.09090909090909091,"in":0.09090909090909091,"slf4j":0.09090909090909091,"order":0.09090909090909091,"of":0.09090909090909091,"decreasing":0.09090909090909091,"severity":0.09090909090909091},"1918":{"error":0.09090909090909091,"events":0.09090909090909091,"that":0.09090909090909091,"might":0.09090909090909091,"still":0.09090909090909091,"allow":0.09090909090909091,"the":0.09090909090909091,"application":0.09090909090909091,"to":0.09090909090909091,"continue":0.09090909090909091,"running":0.09090909090909091},"1919":{"warn":0.25,"potentially":0.25,"harmful":0.25,"situations":0.25},"1920":{"info":0.07692307692307693,"informational":0.07692307692307693,"messages":0.07692307692307693,"that":0.07692307692307693,"highlight":0.07692307692307693,"the":0.07692307692307693,"progress":0.07692307692307693,"of":0.07692307692307693,"application":0.07692307692307693,"at":0.07692307692307693,"a":0.07692307692307693,"coarse-grained":0.07692307692307693,"level":0.07692307692307693},"1921":{"debug":0.125,"fine-grained":0.125,"informational":0.125,"events":0.125,"most":0.125,"useful":0.125,"for":0.125,"debugging":0.125},"1922":{"trace":0.16666666666666666,"finer-grained":0.16666666666666666,"informational":0.16666666666666666,"events":0.16666666666666666,"than":0.16666666666666666,"debug":0.16666666666666666},"1923":{"zookeeper":0.0625,"is":0.0625,"typically":0.0625,"run":0.0625,"in":0.0625,"production":0.0625,"such":0.0625,"that":0.0625,"info":0.0625,"and":0.0625,"above":0.0625,"are":0.0625,"output":0.0625,"to":0.0625,"the":0.0625,"log":0.0625},"1924":{"static":0.3333333333333333,"message":0.3333333333333333,"logging":0.3333333333333333},"1925":{"for":0.16666666666666666,"parameterized":0.16666666666666666,"messages":0.16666666666666666,"use":0.16666666666666666,"formatting":0.16666666666666666,"anchors":0.16666666666666666},"1926":{"naming":0.07692307692307693,"loggers":0.07692307692307693,"should":0.07692307692307693,"be":0.07692307692307693,"named":0.07692307692307693,"after":0.07692307692307693,"the":0.07692307692307693,"class":0.07692307692307693,"in":0.07692307692307693,"which":0.07692307692307693,"they":0.07692307692307693,"are":0.07692307692307693,"used":0.07692307692307693},"1927":{"exception":0.5,"handling":0.5},"1928":{"quick":0.5,"start":0.5},"1929":{"this":0.09090909090909091,"document":0.09090909090909091,"contains":0.09090909090909091,"information":0.09090909090909091,"to":0.09090909090909091,"get":0.09090909090909091,"you":0.09090909090909091,"started":0.09090909090909091,"quickly":0.09090909090909091,"with":0.09090909090909091,"zookeeper":0.09090909090909091},"1930":{"coordinating":0.2,"distributed":0.2,"applications":0.2,"with":0.2,"zookeeper":0.2},"1931":{"pre-requisites":1},"1932":{"download":1},"1933":{"standalone":0.5,"operation":0.5},"1934":{"managing":0.3333333333333333,"zookeeper":0.3333333333333333,"storage":0.3333333333333333},"1935":{"connecting":0.3333333333333333,"to":0.3333333333333333,"zookeeper":0.3333333333333333},"1936":{"programming":0.3333333333333333,"to":0.3333333333333333,"zookeeper":0.3333333333333333},"1937":{"running":0.3333333333333333,"replicated":0.3333333333333333,"zookeeper":0.3333333333333333},"1938":{"other":0.5,"optimizations":0.5},"1939":{"the":0.0196078431372549,"document":0.0196078431372549,"is":0.0196078431372549,"aimed":0.0196078431372549,"primarily":0.0196078431372549,"at":0.0196078431372549,"developers":0.0196078431372549,"hoping":0.0196078431372549,"to":0.0196078431372549,"try":0.0196078431372549,"it":0.0196078431372549,"out":0.0196078431372549,"and":0.0196078431372549,"contains":0.0196078431372549,"simple":0.0196078431372549,"installation":0.0196078431372549,"instructions":0.0196078431372549,"for":0.0196078431372549,"a":0.0196078431372549,"single":0.0196078431372549,"zookeeper":0.0196078431372549,"server":0.0196078431372549,"few":0.0196078431372549,"commands":0.0196078431372549,"verify":0.0196078431372549,"that":0.0196078431372549,"running":0.0196078431372549,"programming":0.0196078431372549,"example":0.0196078431372549,"finally":0.0196078431372549,"as":0.0196078431372549,"convenience":0.0196078431372549,"there":0.0196078431372549,"are":0.0196078431372549,"sections":0.0196078431372549,"regarding":0.0196078431372549,"more":0.0196078431372549,"complicated":0.0196078431372549,"installations":0.0196078431372549,"replicated":0.0196078431372549,"deployments":0.0196078431372549,"optimizing":0.0196078431372549,"transaction":0.0196078431372549,"log":0.0196078431372549,"however":0.0196078431372549,"complete":0.0196078431372549,"commercial":0.0196078431372549,"please":0.0196078431372549,"refer":0.0196078431372549,"administrator's":0.0196078431372549,"guide":0.0196078431372549},"1940":{"see":0.14285714285714285,"system":0.14285714285714285,"requirements":0.14285714285714285,"in":0.14285714285714285,"the":0.14285714285714285,"admin":0.14285714285714285,"guide":0.14285714285714285},"1941":{"to":0.06666666666666667,"get":0.06666666666666667,"a":0.06666666666666667,"zookeeper":0.06666666666666667,"distribution":0.06666666666666667,"download":0.06666666666666667,"recent":0.06666666666666667,"stable":0.06666666666666667,"release":0.06666666666666667,"from":0.06666666666666667,"one":0.06666666666666667,"of":0.06666666666666667,"the":0.06666666666666667,"apache":0.06666666666666667,"mirrors":0.06666666666666667},"1942":{"setting":0.047619047619047616,"up":0.047619047619047616,"a":0.047619047619047616,"zookeeper":0.047619047619047616,"server":0.047619047619047616,"in":0.047619047619047616,"standalone":0.047619047619047616,"mode":0.047619047619047616,"is":0.047619047619047616,"straightforward":0.047619047619047616,"the":0.047619047619047616,"contained":0.047619047619047616,"single":0.047619047619047616,"jar":0.047619047619047616,"file":0.047619047619047616,"so":0.047619047619047616,"installation":0.047619047619047616,"consists":0.047619047619047616,"of":0.047619047619047616,"creating":0.047619047619047616,"configuration":0.047619047619047616},"1943":{"once":0.07142857142857142,"you've":0.07142857142857142,"downloaded":0.07142857142857142,"a":0.07142857142857142,"stable":0.07142857142857142,"zookeeper":0.07142857142857142,"release":0.07142857142857142,"unpack":0.07142857142857142,"it":0.07142857142857142,"and":0.07142857142857142,"cd":0.07142857142857142,"to":0.07142857142857142,"the":0.07142857142857142,"root":0.07142857142857142},"1944":{"to":0.058823529411764705,"start":0.058823529411764705,"zookeeper":0.058823529411764705,"you":0.058823529411764705,"need":0.058823529411764705,"a":0.058823529411764705,"configuration":0.058823529411764705,"file":0.058823529411764705,"here":0.058823529411764705,"is":0.058823529411764705,"sample":0.058823529411764705,"create":0.058823529411764705,"it":0.058823529411764705,"in":0.058823529411764705,"conf":0.058823529411764705,"zoo":0.058823529411764705,"cfg":0.058823529411764705},"1945":{"this":0.030303030303030304,"file":0.030303030303030304,"can":0.030303030303030304,"be":0.030303030303030304,"called":0.030303030303030304,"anything":0.030303030303030304,"but":0.030303030303030304,"for":0.030303030303030304,"the":0.030303030303030304,"sake":0.030303030303030304,"of":0.030303030303030304,"discussion":0.030303030303030304,"call":0.030303030303030304,"it":0.030303030303030304,"conf":0.030303030303030304,"zoo":0.030303030303030304,"cfg":0.030303030303030304,"change":0.030303030303030304,"value":0.030303030303030304,"datadir":0.030303030303030304,"to":0.030303030303030304,"specify":0.030303030303030304,"an":0.030303030303030304,"existing":0.030303030303030304,"empty":0.030303030303030304,"start":0.030303030303030304,"with":0.030303030303030304,"directory":0.030303030303030304,"here":0.030303030303030304,"are":0.030303030303030304,"meanings":0.030303030303030304,"each":0.030303030303030304,"fields":0.030303030303030304},"1946":{"ticktime":0.045454545454545456,"the":0.045454545454545456,"basic":0.045454545454545456,"time":0.045454545454545456,"unit":0.045454545454545456,"in":0.045454545454545456,"milliseconds":0.045454545454545456,"used":0.045454545454545456,"by":0.045454545454545456,"zookeeper":0.045454545454545456,"it":0.045454545454545456,"is":0.045454545454545456,"to":0.045454545454545456,"do":0.045454545454545456,"heartbeats":0.045454545454545456,"and":0.045454545454545456,"minimum":0.045454545454545456,"session":0.045454545454545456,"timeout":0.045454545454545456,"will":0.045454545454545456,"be":0.045454545454545456,"twice":0.045454545454545456},"1947":{"datadir":0.0625,"the":0.0625,"location":0.0625,"to":0.0625,"store":0.0625,"in-memory":0.0625,"database":0.0625,"snapshots":0.0625,"and":0.0625,"unless":0.0625,"specified":0.0625,"otherwise":0.0625,"transaction":0.0625,"log":0.0625,"of":0.0625,"updates":0.0625},"1948":{"clientport":0.125,"the":0.125,"port":0.125,"to":0.125,"listen":0.125,"for":0.125,"client":0.125,"connections":0.125},"1949":{"now":0.1,"that":0.1,"you":0.1,"created":0.1,"the":0.1,"configuration":0.1,"file":0.1,"can":0.1,"start":0.1,"zookeeper":0.1},"1950":{"zookeeper":0.03333333333333333,"logs":0.03333333333333333,"messages":0.03333333333333333,"using":0.03333333333333333,"logback":0.03333333333333333,"more":0.03333333333333333,"detail":0.03333333333333333,"available":0.03333333333333333,"in":0.03333333333333333,"the":0.03333333333333333,"logging":0.03333333333333333,"section":0.03333333333333333,"of":0.03333333333333333,"administrator's":0.03333333333333333,"guide":0.03333333333333333,"you":0.03333333333333333,"will":0.03333333333333333,"see":0.03333333333333333,"log":0.03333333333333333,"coming":0.03333333333333333,"to":0.03333333333333333,"console":0.03333333333333333,"default":0.03333333333333333,"and":0.03333333333333333,"or":0.03333333333333333,"a":0.03333333333333333,"file":0.03333333333333333,"depending":0.03333333333333333,"on":0.03333333333333333,"configuration":0.03333333333333333},"1951":{"the":0.030303030303030304,"steps":0.030303030303030304,"outlined":0.030303030303030304,"here":0.030303030303030304,"run":0.030303030303030304,"zookeeper":0.030303030303030304,"in":0.030303030303030304,"standalone":0.030303030303030304,"mode":0.030303030303030304,"there":0.030303030303030304,"is":0.030303030303030304,"no":0.030303030303030304,"replication":0.030303030303030304,"so":0.030303030303030304,"if":0.030303030303030304,"process":0.030303030303030304,"fails":0.030303030303030304,"service":0.030303030303030304,"will":0.030303030303030304,"go":0.030303030303030304,"down":0.030303030303030304,"this":0.030303030303030304,"fine":0.030303030303030304,"for":0.030303030303030304,"most":0.030303030303030304,"development":0.030303030303030304,"situations":0.030303030303030304,"but":0.030303030303030304,"to":0.030303030303030304,"replicated":0.030303030303030304,"please":0.030303030303030304,"see":0.030303030303030304,"running":0.030303030303030304},"1952":{"for":0.047619047619047616,"long":0.047619047619047616,"running":0.047619047619047616,"production":0.047619047619047616,"systems":0.047619047619047616,"zookeeper":0.047619047619047616,"storage":0.047619047619047616,"must":0.047619047619047616,"be":0.047619047619047616,"managed":0.047619047619047616,"externally":0.047619047619047616,"datadir":0.047619047619047616,"and":0.047619047619047616,"logs":0.047619047619047616,"see":0.047619047619047616,"the":0.047619047619047616,"section":0.047619047619047616,"on":0.047619047619047616,"maintenance":0.047619047619047616,"more":0.047619047619047616,"details":0.047619047619047616},"1953":{"0":0.06666666666666667,"1":0.06666666666666667,"127":0.06666666666666667,"2181":0.06666666666666667,"start":0.06666666666666667,"zkcli":0.06666666666666667,"sh":0.06666666666666667,"and":0.06666666666666667,"connect":0.06666666666666667,"to":0.06666666666666667,"your":0.06666666666666667,"zookeeper":0.06666666666666667,"server":0.06666666666666667,"bin":0.06666666666666667,"-server":0.06666666666666667},"1954":{"create":0.08333333333333333,"inspect":0.08333333333333333,"update":0.08333333333333333,"and":0.08333333333333333,"delete":0.08333333333333333,"a":0.08333333333333333,"test":0.08333333333333333,"znode":0.08333333333333333,"to":0.08333333333333333,"validate":0.08333333333333333,"end-to-end":0.08333333333333333,"operation":0.08333333333333333},"1955":{"this":0.14285714285714285,"lets":0.14285714285714285,"you":0.14285714285714285,"perform":0.14285714285714285,"simple":0.14285714285714285,"file-like":0.14285714285714285,"operations":0.14285714285714285},"1956":{"once":0.125,"you":0.125,"have":0.125,"connected":0.125,"should":0.125,"see":0.125,"something":0.125,"like":0.125},"1957":{"from":0.05555555555555555,"the":0.05555555555555555,"shell":0.05555555555555555,"type":0.05555555555555555,"help":0.05555555555555555,"to":0.05555555555555555,"get":0.05555555555555555,"a":0.05555555555555555,"listing":0.05555555555555555,"of":0.05555555555555555,"commands":0.05555555555555555,"that":0.05555555555555555,"can":0.05555555555555555,"be":0.05555555555555555,"executed":0.05555555555555555,"client":0.05555555555555555,"as":0.05555555555555555,"in":0.05555555555555555},"1958":{"from":0.037037037037037035,"here":0.037037037037037035,"you":0.037037037037037035,"can":0.037037037037037035,"try":0.037037037037037035,"a":0.037037037037037035,"few":0.037037037037037035,"simple":0.037037037037037035,"commands":0.037037037037037035,"to":0.037037037037037035,"get":0.037037037037037035,"feel":0.037037037037037035,"for":0.037037037037037035,"this":0.037037037037037035,"command":0.037037037037037035,"line":0.037037037037037035,"interface":0.037037037037037035,"first":0.037037037037037035,"start":0.037037037037037035,"by":0.037037037037037035,"issuing":0.037037037037037035,"the":0.037037037037037035,"list":0.037037037037037035,"as":0.037037037037037035,"in":0.037037037037037035,"ls":0.037037037037037035,"yielding":0.037037037037037035},"1959":{"next":0.05,"create":0.05,"a":0.05,"new":0.05,"znode":0.05,"by":0.05,"running":0.05,"zk_test":0.05,"my_data":0.05,"this":0.05,"creates":0.05,"and":0.05,"associates":0.05,"the":0.05,"string":0.05,"with":0.05,"node":0.05,"you":0.05,"should":0.05,"see":0.05},"1960":{"issue":0.09090909090909091,"another":0.09090909090909091,"ls":0.09090909090909091,"command":0.09090909090909091,"to":0.09090909090909091,"see":0.09090909090909091,"what":0.09090909090909091,"the":0.09090909090909091,"directory":0.09090909090909091,"looks":0.09090909090909091,"like":0.09090909090909091},"1961":{"notice":0.1111111111111111,"that":0.1111111111111111,"the":0.1111111111111111,"zk_test":0.1111111111111111,"directory":0.1111111111111111,"has":0.1111111111111111,"now":0.1111111111111111,"been":0.1111111111111111,"created":0.1111111111111111},"1962":{"next":0.06666666666666667,"verify":0.06666666666666667,"that":0.06666666666666667,"the":0.06666666666666667,"data":0.06666666666666667,"was":0.06666666666666667,"associated":0.06666666666666667,"with":0.06666666666666667,"znode":0.06666666666666667,"by":0.06666666666666667,"running":0.06666666666666667,"get":0.06666666666666667,"command":0.06666666666666667,"as":0.06666666666666667,"in":0.06666666666666667},"1963":{"we":0.07142857142857142,"can":0.07142857142857142,"change":0.07142857142857142,"the":0.07142857142857142,"data":0.07142857142857142,"associated":0.07142857142857142,"with":0.07142857142857142,"zk_test":0.07142857142857142,"by":0.07142857142857142,"issuing":0.07142857142857142,"set":0.07142857142857142,"command":0.07142857142857142,"as":0.07142857142857142,"in":0.07142857142857142},"1964":{"notice":0.07692307692307693,"we":0.07692307692307693,"did":0.07692307692307693,"a":0.07692307692307693,"get":0.07692307692307693,"after":0.07692307692307693,"setting":0.07692307692307693,"the":0.07692307692307693,"data":0.07692307692307693,"and":0.07692307692307693,"it":0.07692307692307693,"indeed":0.07692307692307693,"change":0.07692307692307693},"1965":{"finally":0.14285714285714285,"let's":0.14285714285714285,"delete":0.14285714285714285,"the":0.14285714285714285,"node":0.14285714285714285,"by":0.14285714285714285,"issuing":0.14285714285714285},"1966":{"that's":0.09090909090909091,"it":0.09090909090909091,"for":0.09090909090909091,"now":0.09090909090909091,"to":0.09090909090909091,"explore":0.09090909090909091,"more":0.09090909090909091,"see":0.09090909090909091,"the":0.09090909090909091,"zookeeper":0.09090909090909091,"cli":0.09090909090909091},"1967":{"zookeeper":0.025,"has":0.025,"a":0.025,"java":0.025,"bindings":0.025,"and":0.025,"c":0.025,"they":0.025,"are":0.025,"functionally":0.025,"equivalent":0.025,"the":0.025,"exist":0.025,"in":0.025,"two":0.025,"variants":0.025,"single":0.025,"threaded":0.025,"multi-threaded":0.025,"these":0.025,"differ":0.025,"only":0.025,"how":0.025,"messaging":0.025,"loop":0.025,"is":0.025,"done":0.025,"for":0.025,"more":0.025,"information":0.025,"see":0.025,"programming":0.025,"examples":0.025,"programmer's":0.025,"guide":0.025,"sample":0.025,"code":0.025,"using":0.025,"different":0.025,"apis":0.025},"1968":{"running":0.030303030303030304,"zookeeper":0.030303030303030304,"in":0.030303030303030304,"standalone":0.030303030303030304,"mode":0.030303030303030304,"is":0.030303030303030304,"convenient":0.030303030303030304,"for":0.030303030303030304,"evaluation":0.030303030303030304,"some":0.030303030303030304,"development":0.030303030303030304,"and":0.030303030303030304,"testing":0.030303030303030304,"but":0.030303030303030304,"production":0.030303030303030304,"you":0.030303030303030304,"should":0.030303030303030304,"run":0.030303030303030304,"replicated":0.030303030303030304,"a":0.030303030303030304,"group":0.030303030303030304,"of":0.030303030303030304,"servers":0.030303030303030304,"the":0.030303030303030304,"same":0.030303030303030304,"application":0.030303030303030304,"called":0.030303030303030304,"quorum":0.030303030303030304,"all":0.030303030303030304,"have":0.030303030303030304,"copies":0.030303030303030304,"configuration":0.030303030303030304,"file":0.030303030303030304},"1969":{"type":0.5,"info":0.5},"1970":{"for":0.1,"replicated":0.1,"mode":0.1,"a":0.1,"minimum":0.1,"of":0.1,"three":0.1,"servers":0.1,"are":0.1,"required":0.1},"1971":{"and":0.023809523809523808,"it":0.023809523809523808,"is":0.023809523809523808,"strongly":0.023809523809523808,"recommended":0.023809523809523808,"that":0.023809523809523808,"you":0.023809523809523808,"have":0.023809523809523808,"an":0.023809523809523808,"odd":0.023809523809523808,"number":0.023809523809523808,"of":0.023809523809523808,"servers":0.023809523809523808,"if":0.023809523809523808,"only":0.023809523809523808,"two":0.023809523809523808,"then":0.023809523809523808,"are":0.023809523809523808,"in":0.023809523809523808,"a":0.023809523809523808,"situation":0.023809523809523808,"where":0.023809523809523808,"one":0.023809523809523808,"them":0.023809523809523808,"fails":0.023809523809523808,"there":0.023809523809523808,"not":0.023809523809523808,"enough":0.023809523809523808,"machines":0.023809523809523808,"to":0.023809523809523808,"form":0.023809523809523808,"majority":0.023809523809523808,"quorum":0.023809523809523808,"inherently":0.023809523809523808,"less":0.023809523809523808,"stable":0.023809523809523808,"than":0.023809523809523808,"single":0.023809523809523808,"server":0.023809523809523808,"because":0.023809523809523808,"points":0.023809523809523808,"failure":0.023809523809523808},"1972":{"the":0.041666666666666664,"required":0.041666666666666664,"conf":0.041666666666666664,"zoo":0.041666666666666664,"cfg":0.041666666666666664,"file":0.041666666666666664,"for":0.041666666666666664,"replicated":0.041666666666666664,"mode":0.041666666666666664,"is":0.041666666666666664,"similar":0.041666666666666664,"to":0.041666666666666664,"one":0.041666666666666664,"used":0.041666666666666664,"in":0.041666666666666664,"standalone":0.041666666666666664,"but":0.041666666666666664,"with":0.041666666666666664,"a":0.041666666666666664,"few":0.041666666666666664,"differences":0.041666666666666664,"here":0.041666666666666664,"an":0.041666666666666664,"example":0.041666666666666664},"1973":{"the":0.03333333333333333,"new":0.03333333333333333,"entry":0.03333333333333333,"initlimit":0.03333333333333333,"is":0.03333333333333333,"timeouts":0.03333333333333333,"zookeeper":0.03333333333333333,"uses":0.03333333333333333,"to":0.03333333333333333,"limit":0.03333333333333333,"length":0.03333333333333333,"of":0.03333333333333333,"time":0.03333333333333333,"servers":0.03333333333333333,"in":0.03333333333333333,"quorum":0.03333333333333333,"have":0.03333333333333333,"connect":0.03333333333333333,"a":0.03333333333333333,"leader":0.03333333333333333,"synclimit":0.03333333333333333,"limits":0.03333333333333333,"how":0.03333333333333333,"far":0.03333333333333333,"out":0.03333333333333333,"date":0.03333333333333333,"server":0.03333333333333333,"can":0.03333333333333333,"be":0.03333333333333333,"from":0.03333333333333333},"1974":{"5":0.034482758620689655,"10":0.034482758620689655,"2000":0.034482758620689655,"with":0.034482758620689655,"both":0.034482758620689655,"of":0.034482758620689655,"these":0.034482758620689655,"timeouts":0.034482758620689655,"you":0.034482758620689655,"specify":0.034482758620689655,"the":0.034482758620689655,"unit":0.034482758620689655,"time":0.034482758620689655,"using":0.034482758620689655,"ticktime":0.034482758620689655,"in":0.034482758620689655,"this":0.034482758620689655,"example":0.034482758620689655,"timeout":0.034482758620689655,"for":0.034482758620689655,"initlimit":0.034482758620689655,"is":0.034482758620689655,"ticks":0.034482758620689655,"at":0.034482758620689655,"milliseconds":0.034482758620689655,"a":0.034482758620689655,"tick":0.034482758620689655,"or":0.034482758620689655,"seconds":0.034482758620689655},"1975":{"the":0.03225806451612903,"entries":0.03225806451612903,"of":0.03225806451612903,"form":0.03225806451612903,"server":0.03225806451612903,"x":0.03225806451612903,"list":0.03225806451612903,"servers":0.03225806451612903,"that":0.03225806451612903,"make":0.03225806451612903,"up":0.03225806451612903,"zookeeper":0.03225806451612903,"service":0.03225806451612903,"when":0.03225806451612903,"starts":0.03225806451612903,"it":0.03225806451612903,"knows":0.03225806451612903,"which":0.03225806451612903,"is":0.03225806451612903,"by":0.03225806451612903,"looking":0.03225806451612903,"for":0.03225806451612903,"file":0.03225806451612903,"myid":0.03225806451612903,"in":0.03225806451612903,"data":0.03225806451612903,"directory":0.03225806451612903,"has":0.03225806451612903,"contains":0.03225806451612903,"number":0.03225806451612903,"ascii":0.03225806451612903},"1976":{"2888":0.016666666666666666,"3888":0.016666666666666666,"finally":0.016666666666666666,"note":0.016666666666666666,"the":0.016666666666666666,"two":0.016666666666666666,"port":0.016666666666666666,"numbers":0.016666666666666666,"after":0.016666666666666666,"each":0.016666666666666666,"server":0.016666666666666666,"name":0.016666666666666666,"and":0.016666666666666666,"peers":0.016666666666666666,"use":0.016666666666666666,"former":0.016666666666666666,"to":0.016666666666666666,"connect":0.016666666666666666,"other":0.016666666666666666,"such":0.016666666666666666,"a":0.016666666666666666,"connection":0.016666666666666666,"is":0.016666666666666666,"necessary":0.016666666666666666,"so":0.016666666666666666,"that":0.016666666666666666,"can":0.016666666666666666,"communicate":0.016666666666666666,"for":0.016666666666666666,"example":0.016666666666666666,"agree":0.016666666666666666,"upon":0.016666666666666666,"order":0.016666666666666666,"of":0.016666666666666666,"updates":0.016666666666666666,"more":0.016666666666666666,"specifically":0.016666666666666666,"zookeeper":0.016666666666666666,"uses":0.016666666666666666,"this":0.016666666666666666,"followers":0.016666666666666666,"leader":0.016666666666666666,"when":0.016666666666666666,"new":0.016666666666666666,"arises":0.016666666666666666,"follower":0.016666666666666666,"opens":0.016666666666666666,"tcp":0.016666666666666666,"using":0.016666666666666666,"because":0.016666666666666666,"default":0.016666666666666666,"election":0.016666666666666666,"also":0.016666666666666666,"we":0.016666666666666666,"currently":0.016666666666666666,"require":0.016666666666666666,"another":0.016666666666666666,"second":0.016666666666666666,"in":0.016666666666666666,"entry":0.016666666666666666},"1977":{"type":0.5,"info":0.5},"1978":{"2888":0.017241379310344827,"2889":0.017241379310344827,"2890":0.017241379310344827,"3888":0.017241379310344827,"3889":0.017241379310344827,"3890":0.017241379310344827,"if":0.017241379310344827,"you":0.017241379310344827,"want":0.017241379310344827,"to":0.017241379310344827,"test":0.017241379310344827,"multiple":0.017241379310344827,"servers":0.017241379310344827,"on":0.017241379310344827,"a":0.017241379310344827,"single":0.017241379310344827,"machine":0.017241379310344827,"specify":0.017241379310344827,"the":0.017241379310344827,"servername":0.017241379310344827,"as":0.017241379310344827,"localhost":0.017241379310344827,"with":0.017241379310344827,"unique":0.017241379310344827,"quorum":0.017241379310344827,"leader":0.017241379310344827,"election":0.017241379310344827,"ports":0.017241379310344827,"i":0.017241379310344827,"e":0.017241379310344827,"in":0.017241379310344827,"example":0.017241379310344827,"above":0.017241379310344827,"for":0.017241379310344827,"each":0.017241379310344827,"server":0.017241379310344827,"x":0.017241379310344827,"that":0.017241379310344827,"server's":0.017241379310344827,"config":0.017241379310344827,"file":0.017241379310344827,"of":0.017241379310344827,"course":0.017241379310344827,"separate":0.017241379310344827,"_datadir_s":0.017241379310344827,"and":0.017241379310344827,"distinct":0.017241379310344827,"_clientport_s":0.017241379310344827,"are":0.017241379310344827,"also":0.017241379310344827,"necessary":0.017241379310344827,"replicated":0.017241379310344827,"running":0.017241379310344827,"would":0.017241379310344827,"still":0.017241379310344827,"have":0.017241379310344827,"three":0.017241379310344827,"files":0.017241379310344827},"1979":{"please":0.019230769230769232,"be":0.019230769230769232,"aware":0.019230769230769232,"that":0.019230769230769232,"setting":0.019230769230769232,"up":0.019230769230769232,"multiple":0.019230769230769232,"servers":0.019230769230769232,"on":0.019230769230769232,"a":0.019230769230769232,"single":0.019230769230769232,"machine":0.019230769230769232,"will":0.019230769230769232,"not":0.019230769230769232,"create":0.019230769230769232,"any":0.019230769230769232,"redundancy":0.019230769230769232,"if":0.019230769230769232,"something":0.019230769230769232,"were":0.019230769230769232,"to":0.019230769230769232,"happen":0.019230769230769232,"which":0.019230769230769232,"caused":0.019230769230769232,"the":0.019230769230769232,"die":0.019230769230769232,"all":0.019230769230769232,"of":0.019230769230769232,"zookeeper":0.019230769230769232,"would":0.019230769230769232,"offline":0.019230769230769232,"full":0.019230769230769232,"requires":0.019230769230769232,"each":0.019230769230769232,"server":0.019230769230769232,"have":0.019230769230769232,"its":0.019230769230769232,"own":0.019230769230769232,"it":0.019230769230769232,"must":0.019230769230769232,"completely":0.019230769230769232,"separate":0.019230769230769232,"physical":0.019230769230769232,"virtual":0.019230769230769232,"machines":0.019230769230769232,"same":0.019230769230769232,"host":0.019230769230769232,"are":0.019230769230769232,"still":0.019230769230769232,"vulnerable":0.019230769230769232,"complete":0.019230769230769232,"failure":0.019230769230769232},"1980":{"if":0.03125,"you":0.03125,"have":0.03125,"multiple":0.03125,"network":0.03125,"interfaces":0.03125,"in":0.03125,"your":0.03125,"zookeeper":0.03125,"machines":0.03125,"can":0.03125,"also":0.03125,"instruct":0.03125,"to":0.03125,"bind":0.03125,"on":0.03125,"all":0.03125,"of":0.03125,"and":0.03125,"automatically":0.03125,"switch":0.03125,"a":0.03125,"healthy":0.03125,"interface":0.03125,"case":0.03125,"failure":0.03125,"for":0.03125,"details":0.03125,"see":0.03125,"the":0.03125,"configuration":0.03125,"parameters":0.03125},"1981":{"there":0.07692307692307693,"are":0.07692307692307693,"a":0.07692307692307693,"couple":0.07692307692307693,"of":0.07692307692307693,"other":0.07692307692307693,"configuration":0.07692307692307693,"parameters":0.07692307692307693,"that":0.07692307692307693,"can":0.07692307692307693,"greatly":0.07692307692307693,"increase":0.07692307692307693,"performance":0.07692307692307693},"1982":{"to":0.02857142857142857,"get":0.02857142857142857,"low":0.02857142857142857,"latencies":0.02857142857142857,"on":0.02857142857142857,"updates":0.02857142857142857,"it":0.02857142857142857,"is":0.02857142857142857,"important":0.02857142857142857,"have":0.02857142857142857,"a":0.02857142857142857,"dedicated":0.02857142857142857,"transaction":0.02857142857142857,"log":0.02857142857142857,"directory":0.02857142857142857,"by":0.02857142857142857,"default":0.02857142857142857,"logs":0.02857142857142857,"are":0.02857142857142857,"put":0.02857142857142857,"in":0.02857142857142857,"the":0.02857142857142857,"same":0.02857142857142857,"as":0.02857142857142857,"data":0.02857142857142857,"snapshots":0.02857142857142857,"and":0.02857142857142857,"myid":0.02857142857142857,"file":0.02857142857142857,"datalogdir":0.02857142857142857,"parameters":0.02857142857142857,"indicates":0.02857142857142857,"different":0.02857142857142857,"use":0.02857142857142857,"for":0.02857142857142857},"1983":{"release":0.5,"notes":0.5},"1984":{"3":0.0625,"9":0.0625,"release":0.0625,"notes":0.0625,"for":0.0625,"zookeeper":0.0625,"x":0.0625,"including":0.0625,"new":0.0625,"features":0.0625,"bug":0.0625,"fixes":0.0625,"improvements":0.0625,"and":0.0625,"breaking":0.0625,"changes":0.0625},"1985":{"3":0.125,"5":0.125,"9":0.125,"release":0.125,"notes":0.125,"-":0.125,"zookeeper":0.125,"version":0.125},"1986":{"sub-task":1},"1987":{"bug":1},"1988":{"improvement":1},"1989":{"test":1},"1990":{"task":1},"1991":{"3":0.125,"4":0.125,"9":0.125,"release":0.125,"notes":0.125,"-":0.125,"zookeeper":0.125,"version":0.125},"1992":{"breaking":0.5,"changes":0.5},"1993":{"bug":1},"1994":{"new":0.5,"feature":0.5},"1995":{"improvement":1},"1996":{"task":1},"1997":{"3":0.14285714285714285,"9":0.14285714285714285,"release":0.14285714285714285,"notes":0.14285714285714285,"-":0.14285714285714285,"zookeeper":0.14285714285714285,"version":0.14285714285714285},"1998":{"bug":1},"1999":{"new":0.5,"feature":0.5},"2000":{"improvement":1},"2001":{"test":1},"2002":{"task":1},"2003":{"2":0.125,"3":0.125,"9":0.125,"release":0.125,"notes":0.125,"-":0.125,"zookeeper":0.125,"version":0.125},"2004":{"sub-task":1},"2005":{"bug":1},"2006":{"improvement":1},"2007":{"wish":1},"2008":{"1":0.125,"3":0.125,"9":0.125,"release":0.125,"notes":0.125,"-":0.125,"zookeeper":0.125,"version":0.125},"2009":{"improvement":1},"2010":{"task":1},"2011":{"0":0.125,"3":0.125,"9":0.125,"release":0.125,"notes":0.125,"-":0.125,"zookeeper":0.125,"version":0.125},"2012":{"sub-task":1},"2013":{"bug":1},"2014":{"new":0.5,"feature":0.5},"2015":{"improvement":1},"2016":{"test":1},"2017":{"wish":1},"2018":{"task":1},"2019":{"zookeeper-842":0.08333333333333333,"-":0.08333333333333333,"stat":0.08333333333333333,"calls":0.08333333333333333,"static":0.08333333333333333,"method":0.08333333333333333,"on":0.08333333333333333,"org":0.08333333333333333,"apache":0.08333333333333333,"zookeeper":0.08333333333333333,"server":0.08333333333333333,"datatree":0.08333333333333333},"2020":{"zookeeper-4736":0.2,"-":0.2,"socket":0.2,"fd":0.2,"leak":0.2},"2021":{"3":0.09090909090909091,"12":0.09090909090909091,"zookeeper-4871":0.09090909090909091,"-":0.09090909090909091,"zookeeper":0.09090909090909091,"python":0.09090909090909091,"module":0.09090909090909091,"zkpython":0.09090909090909091,"is":0.09090909090909091,"incompatible":0.09090909090909091,"with":0.09090909090909091},"2022":{"zookeeper-4958":0.09090909090909091,"-":0.09090909090909091,"ssl":0.09090909090909091,"clienthostnameverification":0.09090909090909091,"is":0.09090909090909091,"ignored":0.09090909090909091,"if":0.09090909090909091,"authprovider":0.09090909090909091,"configured":0.09090909090909091,"to":0.09090909090909091,"x509":0.09090909090909091},"2023":{"17":0.125,"zookeeper-4974":0.125,"-":0.125,"remove":0.125,"enforced":0.125,"jdk":0.125,"compilation":0.125,"warnings":0.125},"2024":{"1":0.06666666666666667,"6":0.06666666666666667,"12":0.06666666666666667,"zookeeper-4984":0.06666666666666667,"-":0.06666666666666667,"upgrade":0.06666666666666667,"owasp":0.06666666666666667,"plugin":0.06666666666666667,"to":0.06666666666666667,"due":0.06666666666666667,"breaking":0.06666666666666667,"changes":0.06666666666666667,"in":0.06666666666666667,"the":0.06666666666666667,"api":0.06666666666666667},"2025":{"zookeeper-4986":0.09090909090909091,"-":0.09090909090909091,"disable":0.09090909090909091,"reverse":0.09090909090909091,"dns":0.09090909090909091,"lookup":0.09090909090909091,"in":0.09090909090909091,"tls":0.09090909090909091,"client":0.09090909090909091,"and":0.09090909090909091,"server":0.09090909090909091},"2026":{"zookeeper-4989":0.09090909090909091,"-":0.09090909090909091,"compilation":0.09090909090909091,"of":0.09090909090909091,"client":0.09090909090909091,"on":0.09090909090909091,"windows":0.09090909090909091,"with":0.09090909090909091,"msvc":0.09090909090909091,"is":0.09090909090909091,"broken":0.09090909090909091},"2027":{"3":0.125,"zookeeper-3938":0.125,"-":0.125,"upgrade":0.125,"jline":0.125,"to":0.125,"version":0.125,"x":0.125},"2028":{"zookeeper-4955":0.08333333333333333,"-":0.08333333333333333,"fix":0.08333333333333333,"interference":0.08333333333333333,"with":0.08333333333333333,"jvm":0.08333333333333333,"ssl":0.08333333333333333,"properties":0.08333333333333333,"for":0.08333333333333333,"crl":0.08333333333333333,"and":0.08333333333333333,"ocsp":0.08333333333333333},"2029":{"zookeeper-4962":0.125,"-":0.125,"add":0.125,"getport":0.125,"and":0.125,"getsecureport":0.125,"for":0.125,"zookeeperserverembedded":0.125},"2030":{"zookeeper-4965":0.16666666666666666,"-":0.16666666666666666,"drop":0.16666666666666666,"unnecessary":0.16666666666666666,"suppresswarnings":0.16666666666666666,"deprecation":0.16666666666666666},"2031":{"zookeeper-4970":0.1,"-":0.1,"deprecate":0.1,"methods":0.1,"of":0.1,"zkconfig":0.1,"which":0.1,"throw":0.1,"quorumpeerconfig":0.1,"configexception":0.1},"2032":{"zookeeper-4780":0.1111111111111111,"-":0.1111111111111111,"avoid":0.1111111111111111,"creating":0.1111111111111111,"temporary":0.1111111111111111,"files":0.1111111111111111,"in":0.1111111111111111,"source":0.1111111111111111,"directory":0.1111111111111111},"2033":{"zookeeper-4976":0.14285714285714285,"-":0.14285714285714285,"update":0.14285714285714285,"netty":0.14285714285714285,"to":0.14285714285714285,"fix":0.14285714285714285,"cve-2025-58057":0.14285714285714285},"2034":{"1":0.09090909090909091,"4":0.09090909090909091,"130":0.09090909090909091,"zookeeper-5017":0.09090909090909091,"-":0.09090909090909091,"upgrade":0.09090909090909091,"netty":0.09090909090909091,"to":0.09090909090909091,"final":0.09090909090909091,"address":0.09090909090909091,"cve-2025-67735":0.09090909090909091},"2035":{"4":0.07692307692307693,"9":0.07692307692307693,"58":0.07692307692307693,"zookeeper-5018":0.07692307692307693,"-":0.07692307692307693,"upgrade":0.07692307692307693,"jetty":0.07692307692307693,"to":0.07692307692307693,"v20250814":0.07692307692307693,"in":0.07692307692307693,"order":0.07692307692307693,"fix":0.07692307692307693,"cve-2025-5115":0.07692307692307693},"2036":{"0":0.047619047619047616,"1":0.047619047619047616,"2":0.047619047619047616,"3":0.047619047619047616,"13":0.047619047619047616,"15":0.047619047619047616,"zookeeper-4891":0.047619047619047616,"updates":0.047619047619047616,"logback-classic":0.047619047619047616,"to":0.047619047619047616,"solve":0.047619047619047616,"cve":0.047619047619047616,"issues":0.047619047619047616,"and":0.047619047619047616,"slf4j-api":0.047619047619047616,"meet":0.047619047619047616,"the":0.047619047619047616,"compatibility":0.047619047619047616,"requirement":0.047619047619047616,"of":0.047619047619047616,"logback":0.047619047619047616},"2037":{"this":0.058823529411764705,"could":0.058823529411764705,"cause":0.058823529411764705,"slf4j":0.058823529411764705,"to":0.058823529411764705,"complain":0.058823529411764705,"no":0.058823529411764705,"providers":0.058823529411764705,"were":0.058823529411764705,"found":0.058823529411764705,"and":0.058823529411764705,"output":0.058823529411764705,"further":0.058823529411764705,"logs":0.058823529411764705,"in":0.058823529411764705,"certain":0.058823529411764705,"conditions":0.058823529411764705},"2038":{"0":0.03225806451612903,"1":0.03225806451612903,"2":0.03225806451612903,"13":0.03225806451612903,"for":0.03225806451612903,"library":0.03225806451612903,"or":0.03225806451612903,"client":0.03225806451612903,"usage":0.03225806451612903,"this":0.03225806451612903,"could":0.03225806451612903,"happen":0.03225806451612903,"if":0.03225806451612903,"you":0.03225806451612903,"specify":0.03225806451612903,"and":0.03225806451612903,"inherit":0.03225806451612903,"incompatible":0.03225806451612903,"slf4j":0.03225806451612903,"logback":0.03225806451612903,"versions":0.03225806451612903,"say":0.03225806451612903,"slf4j-api":0.03225806451612903,"from":0.03225806451612903,"org":0.03225806451612903,"apache":0.03225806451612903,"zookeeper":0.03225806451612903,"logback-classic":0.03225806451612903,"customized":0.03225806451612903,"project":0.03225806451612903,"dependencies":0.03225806451612903},"2039":{"0":0.03333333333333333,"1":0.03333333333333333,"2":0.03333333333333333,"13":0.03333333333333333,"for":0.03333333333333333,"application":0.03333333333333333,"or":0.03333333333333333,"deployment":0.03333333333333333,"usage":0.03333333333333333,"this":0.03333333333333333,"could":0.03333333333333333,"happen":0.03333333333333333,"if":0.03333333333333333,"you":0.03333333333333333,"custom":0.03333333333333333,"and":0.03333333333333333,"inherit":0.03333333333333333,"incompatible":0.03333333333333333,"slf4j":0.03333333333333333,"logback":0.03333333333333333,"versions":0.03333333333333333,"in":0.03333333333333333,"classpath":0.03333333333333333,"say":0.03333333333333333,"slf4j-api":0.03333333333333333,"from":0.03333333333333333,"zookeeper":0.03333333333333333,"distribution":0.03333333333333333,"logback-classic":0.03333333333333333,"customization":0.03333333333333333},"2040":{"0":0.045454545454545456,"1":0.045454545454545456,"2":0.045454545454545456,"3":0.045454545454545456,"13":0.045454545454545456,"15":0.045454545454545456,"this":0.045454545454545456,"can":0.045454545454545456,"be":0.045454545454545456,"resolved":0.045454545454545456,"by":0.045454545454545456,"specifying":0.045454545454545456,"compatible":0.045454545454545456,"slf4j":0.045454545454545456,"and":0.045454545454545456,"logback":0.045454545454545456,"versions":0.045454545454545456,"in":0.045454545454545456,"classpath":0.045454545454545456,"say":0.045454545454545456,"slf4j-api":0.045454545454545456,"logback-classic":0.045454545454545456},"2041":{"zookeeper-4020":0.125,"-":0.125,"memory":0.125,"leak":0.125,"in":0.125,"zookeeper":0.125,"c":0.125,"client":0.125},"2042":{"zookeeper-4240":0.14285714285714285,"-":0.14285714285714285,"ipv6":0.14285714285714285,"support":0.14285714285714285,"in":0.14285714285714285,"zookeeper":0.14285714285714285,"acl":0.14285714285714285},"2043":{"zookeeper-4604":0.1111111111111111,"-":0.1111111111111111,"creating":0.1111111111111111,"a":0.1111111111111111,"completion_string_stat":0.1111111111111111,"would":0.1111111111111111,"set":0.1111111111111111,"acl_result":0.1111111111111111,"completion":0.1111111111111111},"2044":{"zookeeper-4699":0.14285714285714285,"-":0.14285714285714285,"zh-":0.14285714285714285,"hostname":0.14285714285714285,"heap-use-after-free":0.14285714285714285,"in":0.14285714285714285,"zookeeper_interest":0.14285714285714285},"2045":{"zookeeper-4725":0.09090909090909091,"-":0.09090909090909091,"ttl":0.09090909090909091,"node":0.09090909090909091,"creations":0.09090909090909091,"do":0.09090909090909091,"not":0.09090909090909091,"appear":0.09090909090909091,"in":0.09090909090909091,"audit":0.09090909090909091,"log":0.09090909090909091},"2046":{"zookeeper-4787":0.125,"-":0.125,"failed":0.125,"to":0.125,"establish":0.125,"connection":0.125,"between":0.125,"zookeeper":0.125},"2047":{"zookeeper-4810":0.14285714285714285,"-":0.14285714285714285,"fix":0.14285714285714285,"data":0.14285714285714285,"race":0.14285714285714285,"in":0.14285714285714285,"format_endpoint_info":0.14285714285714285},"2048":{"zookeeper-4819":0.08333333333333333,"-":0.08333333333333333,"can't":0.08333333333333333,"seek":0.08333333333333333,"for":0.08333333333333333,"writable":0.08333333333333333,"tls":0.08333333333333333,"server":0.08333333333333333,"if":0.08333333333333333,"connected":0.08333333333333333,"to":0.08333333333333333,"readonly":0.08333333333333333},"2049":{"zookeeper-4846":0.1111111111111111,"-":0.1111111111111111,"failure":0.1111111111111111,"to":0.1111111111111111,"reload":0.1111111111111111,"database":0.1111111111111111,"due":0.1111111111111111,"missing":0.1111111111111111,"acl":0.1111111111111111},"2050":{"zookeeper-4848":0.14285714285714285,"-":0.14285714285714285,"possible":0.14285714285714285,"stack":0.14285714285714285,"overflow":0.14285714285714285,"in":0.14285714285714285,"setup_random":0.14285714285714285},"2051":{"zookeeper-4858":0.09090909090909091,"-":0.09090909090909091,"remove":0.09090909090909091,"the":0.09090909090909091,"lock":0.09090909090909091,"contention":0.09090909090909091,"between":0.09090909090909091,"snapshotting":0.09090909090909091,"and":0.09090909090909091,"sync":0.09090909090909091,"operation":0.09090909090909091},"2052":{"zookeeper-4872":0.14285714285714285,"-":0.14285714285714285,"snapshotcommand":0.14285714285714285,"should":0.14285714285714285,"not":0.14285714285714285,"perform":0.14285714285714285,"fastforwardfromedits":0.14285714285714285},"2053":{"zookeeper-4886":0.1,"-":0.1,"observer":0.1,"with":0.1,"small":0.1,"myid":0.1,"can't":0.1,"join":0.1,"sasl":0.1,"quorum":0.1},"2054":{"zookeeper-4889":0.07692307692307693,"-":0.07692307692307693,"fallback":0.07692307692307693,"to":0.07692307692307693,"digest-md5":0.07692307692307693,"auth":0.07692307692307693,"mech":0.07692307692307693,"should":0.07692307692307693,"be":0.07692307692307693,"disabled":0.07692307692307693,"in":0.07692307692307693,"fips":0.07692307692307693,"mode":0.07692307692307693},"2055":{"zookeeper-4900":0.07692307692307693,"-":0.07692307692307693,"bump":0.07692307692307693,"patch":0.07692307692307693,"release":0.07692307692307693,"of":0.07692307692307693,"jetty":0.07692307692307693,"to":0.07692307692307693,"include":0.07692307692307693,"cve":0.07692307692307693,"fix":0.07692307692307693,"for":0.07692307692307693,"cve-2024-6763":0.07692307692307693},"2056":{"zookeeper-4907":0.09090909090909091,"-":0.09090909090909091,"shouldn't":0.09090909090909091,"throw":0.09090909090909091,"len":0.09090909090909091,"error":0.09090909090909091,"when":0.09090909090909091,"server":0.09090909090909091,"closing":0.09090909090909091,"cause":0.09090909090909091,"confusion":0.09090909090909091},"2057":{"zookeeper-4909":0.07142857142857142,"-":0.07142857142857142,"when":0.07142857142857142,"a":0.07142857142857142,"spurious":0.07142857142857142,"wakeup":0.07142857142857142,"occurs":0.07142857142857142,"the":0.07142857142857142,"client's":0.07142857142857142,"waiting":0.07142857142857142,"time":0.07142857142857142,"may":0.07142857142857142,"exceed":0.07142857142857142,"requesttimeout":0.07142857142857142},"2058":{"zookeeper-4919":0.1111111111111111,"-":0.1111111111111111,"responsecache":0.1111111111111111,"supposed":0.1111111111111111,"to":0.1111111111111111,"be":0.1111111111111111,"a":0.1111111111111111,"lru":0.1111111111111111,"cache":0.1111111111111111},"2059":{"3":0.08333333333333333,"9":0.08333333333333333,"zookeeper-4921":0.08333333333333333,"-":0.08333333333333333,"zookeeper":0.08333333333333333,"client":0.08333333333333333,"fails":0.08333333333333333,"to":0.08333333333333333,"reconnect":0.08333333333333333,"after":0.08333333333333333,"network":0.08333333333333333,"failures":0.08333333333333333},"2060":{"zookeeper-4925":0.06666666666666667,"-":0.06666666666666667,"diff":0.06666666666666667,"sync":0.06666666666666667,"introduce":0.06666666666666667,"hole":0.06666666666666667,"in":0.06666666666666667,"stale":0.06666666666666667,"follower's":0.06666666666666667,"committedlog":0.06666666666666667,"which":0.06666666666666667,"cause":0.06666666666666667,"data":0.06666666666666667,"loss":0.06666666666666667,"leading":0.06666666666666667},"2061":{"zookeeper-4928":0.1111111111111111,"-":0.1111111111111111,"version":0.1111111111111111,"in":0.1111111111111111,"zookeeper_version":0.1111111111111111,"h":0.1111111111111111,"is":0.1111111111111111,"not":0.1111111111111111,"updated":0.1111111111111111},"2062":{"zookeeper-4933":0.09090909090909091,"-":0.09090909090909091,"connection":0.09090909090909091,"throttle":0.09090909090909091,"exception":0.09090909090909091,"causing":0.09090909090909091,"all":0.09090909090909091,"connections":0.09090909090909091,"to":0.09090909090909091,"be":0.09090909090909091,"rejected":0.09090909090909091},"2063":{"zookeeper-4940":0.08333333333333333,"-":0.08333333333333333,"enabling":0.08333333333333333,"zookeeper":0.08333333333333333,"ssl":0.08333333333333333,"ocsp":0.08333333333333333,"with":0.08333333333333333,"jre":0.08333333333333333,"tls":0.08333333333333333,"provider":0.08333333333333333,"errors":0.08333333333333333,"out":0.08333333333333333},"2064":{"zookeeper-4953":0.125,"-":0.125,"fixing":0.125,"typo":0.125,"in":0.125,"zookeeper":0.125,"programmer's":0.125,"guide":0.125},"2065":{"1":0.07692307692307693,"3":0.07692307692307693,"12":0.07692307692307693,"zookeeper-4960":0.07692307692307693,"-":0.07692307692307693,"upgrade":0.07692307692307693,"owasp":0.07692307692307693,"plugin":0.07692307692307693,"to":0.07692307692307693,"due":0.07692307692307693,"recent":0.07692307692307693,"parsing":0.07692307692307693,"errors":0.07692307692307693},"2066":{"zookeeper-4895":0.07142857142857142,"-":0.07142857142857142,"introduce":0.07142857142857142,"a":0.07142857142857142,"helper":0.07142857142857142,"function":0.07142857142857142,"for":0.07142857142857142,"c":0.07142857142857142,"client":0.07142857142857142,"to":0.07142857142857142,"generate":0.07142857142857142,"password":0.07142857142857142,"sasl":0.07142857142857142,"authentication":0.07142857142857142},"2067":{"zookeeper-4790":0.1,"-":0.1,"tls":0.1,"quorum":0.1,"hostname":0.1,"verification":0.1,"breaks":0.1,"in":0.1,"some":0.1,"scenarios":0.1},"2068":{"zookeeper-4852":0.1,"-":0.1,"fix":0.1,"the":0.1,"bad":0.1,"uuuuu":0.1,"mark":0.1,"in":0.1,"asf":0.1,"license":0.1},"2069":{"1":0.1,"3":0.1,"15":0.1,"zookeeper-4891":0.1,"-":0.1,"update":0.1,"logback":0.1,"to":0.1,"fix":0.1,"cve-2024-12798":0.1},"2070":{"zookeeper-4902":0.1,"-":0.1,"document":0.1,"that":0.1,"read-only":0.1,"mode":0.1,"also":0.1,"enables":0.1,"isro":0.1,"4lw":0.1},"2071":{"zookeeper-4906":0.09090909090909091,"-":0.09090909090909091,"log":0.09090909090909091,"full":0.09090909090909091,"exception":0.09090909090909091,"details":0.09090909090909091,"for":0.09090909090909091,"server":0.09090909090909091,"jaas":0.09090909090909091,"config":0.09090909090909091,"failure":0.09090909090909091},"2072":{"zookeeper-4944":0.1,"-":0.1,"cache":0.1,"zookeeper":0.1,"dists":0.1,"for":0.1,"end":0.1,"to":0.1,"compatibility":0.1,"tests":0.1},"2073":{"zookeeper-4954":0.07692307692307693,"-":0.07692307692307693,"use":0.07692307692307693,"fips":0.07692307692307693,"style":0.07692307692307693,"hostname":0.07692307692307693,"verification":0.07692307692307693,"when":0.07692307692307693,"no":0.07692307692307693,"custom":0.07692307692307693,"truststore":0.07692307692307693,"is":0.07692307692307693,"specified":0.07692307692307693},"2074":{"zookeeper-4964":0.1111111111111111,"-":0.1111111111111111,"check":0.1111111111111111,"permissions":0.1111111111111111,"individually":0.1111111111111111,"during":0.1111111111111111,"admin":0.1111111111111111,"server":0.1111111111111111,"auth":0.1111111111111111},"2075":{"3":0.09090909090909091,"9":0.09090909090909091,"zookeeper-4897":0.09090909090909091,"-":0.09090909090909091,"upgrade":0.09090909090909091,"netty":0.09090909090909091,"to":0.09090909090909091,"fix":0.09090909090909091,"cve-2025-24970":0.09090909090909091,"in":0.09090909090909091,"zookeeper":0.09090909090909091},"2076":{"zookeeper-4959":0.1111111111111111,"-":0.1111111111111111,"fix":0.1111111111111111,"license":0.1111111111111111,"files":0.1111111111111111,"after":0.1111111111111111,"logback":0.1111111111111111,"slf4j":0.1111111111111111,"upgrade":0.1111111111111111},"2077":{"zookeeper-2332":0.1,"-":0.1,"zookeeper":0.1,"failed":0.1,"to":0.1,"start":0.1,"for":0.1,"empty":0.1,"txn":0.1,"log":0.1},"2078":{"zookeeper-2623":0.125,"-":0.125,"checkversion":0.125,"outside":0.125,"of":0.125,"multi":0.125,"causes":0.125,"nullpointerexception":0.125},"2079":{"zookeeper-4293":0.125,"-":0.125,"lock":0.125,"contention":0.125,"in":0.125,"clientcnxnsocketnetty":0.125,"possible":0.125,"deadlock":0.125},"2080":{"zookeeper-4394":0.16666666666666666,"-":0.16666666666666666,"learner":0.16666666666666666,"syncwithleader":0.16666666666666666,"got":0.16666666666666666,"nullpointerexception":0.16666666666666666},"2081":{"zookeeper-4409":0.2,"-":0.2,"nullpointerexception":0.2,"in":0.2,"sendackrequestprocessor":0.2},"2082":{"zookeeper-4508":0.06666666666666667,"-":0.06666666666666667,"zookeeper":0.06666666666666667,"client":0.06666666666666667,"run":0.06666666666666667,"to":0.06666666666666667,"endless":0.06666666666666667,"loop":0.06666666666666667,"in":0.06666666666666667,"clientcnxn":0.06666666666666667,"sendthread":0.06666666666666667,"if":0.06666666666666667,"all":0.06666666666666667,"server":0.06666666666666667,"down":0.06666666666666667},"2083":{"zookeeper-4712":0.058823529411764705,"-":0.058823529411764705,"follower":0.058823529411764705,"shutdown":0.058823529411764705,"and":0.058823529411764705,"observer":0.058823529411764705,"do":0.058823529411764705,"not":0.058823529411764705,"correctly":0.058823529411764705,"the":0.058823529411764705,"syncprocessor":0.058823529411764705,"which":0.058823529411764705,"may":0.058823529411764705,"lead":0.058823529411764705,"to":0.058823529411764705,"data":0.058823529411764705,"inconsistency":0.058823529411764705},"2084":{"zookeeper-4733":0.1,"-":0.1,"non-return":0.1,"function":0.1,"error":0.1,"and":0.1,"asan":0.1,"in":0.1,"cppunit":0.1,"tests":0.1},"2085":{"zookeeper-4752":0.09090909090909091,"-":0.09090909090909091,"remove":0.09090909090909091,"version":0.09090909090909091,"files":0.09090909090909091,"in":0.09090909090909091,"zookeeper-server":0.09090909090909091,"src":0.09090909090909091,"main":0.09090909090909091,"from":0.09090909090909091,"gitignore":0.09090909090909091},"2086":{"zookeeper-4804":0.125,"-":0.125,"use":0.125,"daemon":0.125,"threads":0.125,"for":0.125,"netty":0.125,"client":0.125},"2087":{"zookeeper-4814":0.1,"-":0.1,"protocol":0.1,"desynchronization":0.1,"after":0.1,"connect":0.1,"for":0.1,"some":0.1,"old":0.1,"clients":0.1},"2088":{"zookeeper-4839":0.05263157894736842,"-":0.05263157894736842,"when":0.05263157894736842,"digestmd5":0.05263157894736842,"is":0.05263157894736842,"used":0.05263157894736842,"to":0.05263157894736842,"enable":0.05263157894736842,"mandatory":0.05263157894736842,"client":0.05263157894736842,"authentication":0.05263157894736842,"users":0.05263157894736842,"that":0.05263157894736842,"do":0.05263157894736842,"not":0.05263157894736842,"exist":0.05263157894736842,"can":0.05263157894736842,"log":0.05263157894736842,"in":0.05263157894736842},"2089":{"zookeeper-4843":0.06666666666666667,"-":0.06666666666666667,"encountering":0.06666666666666667,"an":0.06666666666666667,"'unreasonable":0.06666666666666667,"length'":0.06666666666666667,"error":0.06666666666666667,"when":0.06666666666666667,"configuring":0.06666666666666667,"jute":0.06666666666666667,"maxbuffer":0.06666666666666667,"to":0.06666666666666667,"1gb":0.06666666666666667,"or":0.06666666666666667,"more":0.06666666666666667},"2090":{"3":0.1,"4":0.1,"7":0.1,"53":0.1,"zookeeper-4876":0.1,"-":0.1,"jetty-http-9":0.1,"v20231009":0.1,"jar":0.1,"cve-2024-6763":0.1},"2091":{"zookeeper-4747":0.1,"-":0.1,"java":0.1,"api":0.1,"lacks":0.1,"synchronous":0.1,"version":0.1,"of":0.1,"sync":0.1,"call":0.1},"2092":{"zookeeper-4850":0.08333333333333333,"-":0.08333333333333333,"enhance":0.08333333333333333,"zkcli":0.08333333333333333,"tool":0.08333333333333333,"to":0.08333333333333333,"support":0.08333333333333333,"reading":0.08333333333333333,"and":0.08333333333333333,"writing":0.08333333333333333,"binary":0.08333333333333333,"data":0.08333333333333333},"2093":{"zookeeper-4851":0.14285714285714285,"-":0.14285714285714285,"honor":0.14285714285714285,"x-forwarded-for":0.14285714285714285,"optionally":0.14285714285714285,"in":0.14285714285714285,"ipauthenticationprovider":0.14285714285714285},"2094":{"zookeeper-4860":0.125,"-":0.125,"disable":0.125,"x-forwarded-for":0.125,"in":0.125,"ipauthenticationprovider":0.125,"by":0.125,"default":0.125},"2095":{"zookeeper-4859":0.09090909090909091,"-":0.09090909090909091,"c":0.09090909090909091,"client":0.09090909090909091,"tests":0.09090909090909091,"hang":0.09090909090909091,"to":0.09090909090909091,"be":0.09090909090909091,"cancelled":0.09090909090909091,"quite":0.09090909090909091,"often":0.09090909090909091},"2096":{"zookeeper-4820":0.14285714285714285,"-":0.14285714285714285,"zookeeper":0.14285714285714285,"pom":0.14285714285714285,"leaks":0.14285714285714285,"logback":0.14285714285714285,"dependency":0.14285714285714285},"2097":{"0":0.1111111111111111,"2":0.1111111111111111,"14":0.1111111111111111,"zookeeper-4868":0.1111111111111111,"-":0.1111111111111111,"bump":0.1111111111111111,"commons-io":0.1111111111111111,"library":0.1111111111111111,"to":0.1111111111111111},"2098":{"zookeeper-910":0.09090909090909091,"-":0.09090909090909091,"use":0.09090909090909091,"selectionkey":0.09090909090909091,"isxyz":0.09090909090909091,"methods":0.09090909090909091,"instead":0.09090909090909091,"of":0.09090909090909091,"complicated":0.09090909090909091,"binary":0.09090909090909091,"logic":0.09090909090909091},"2099":{"zookeeper-4728":0.06666666666666667,"-":0.06666666666666667,"zookeeper":0.06666666666666667,"cannot":0.06666666666666667,"bind":0.06666666666666667,"to":0.06666666666666667,"itself":0.06666666666666667,"forever":0.06666666666666667,"if":0.06666666666666667,"dns":0.06666666666666667,"is":0.06666666666666667,"not":0.06666666666666667,"ready":0.06666666666666667,"when":0.06666666666666667,"startup":0.06666666666666667},"2100":{"zookeeper-2590":0.125,"-":0.125,"exists":0.125,"should":0.125,"check":0.125,"read":0.125,"acl":0.125,"permission":0.125},"2101":{"zookeeper-4236":0.1,"-":0.1,"java":0.1,"client":0.1,"sendthread":0.1,"create":0.1,"many":0.1,"unnecessary":0.1,"login":0.1,"objects":0.1},"2102":{"0":0.05555555555555555,"3":0.05555555555555555,"7":0.05555555555555555,"zookeeper-4415":0.05555555555555555,"-":0.05555555555555555,"zookeeper":0.05555555555555555,"the":0.05555555555555555,"client":0.05555555555555555,"supported":0.05555555555555555,"protocol":0.05555555555555555,"versions":0.05555555555555555,"tlsv1":0.05555555555555555,"are":0.05555555555555555,"not":0.05555555555555555,"accepted":0.05555555555555555,"by":0.05555555555555555,"server":0.05555555555555555,"preferences":0.05555555555555555},"2103":{"zookeeper-4730":0.07692307692307693,"-":0.07692307692307693,"incorrect":0.07692307692307693,"datadir":0.07692307692307693,"and":0.07692307692307693,"logdir":0.07692307692307693,"size":0.07692307692307693,"reported":0.07692307692307693,"from":0.07692307692307693,"admin":0.07692307692307693,"4lw":0.07692307692307693,"dirs":0.07692307692307693,"command":0.07692307692307693},"2104":{"zookeeper-4785":0.07142857142857142,"-":0.07142857142857142,"txn":0.07142857142857142,"loss":0.07142857142857142,"due":0.07142857142857142,"to":0.07142857142857142,"race":0.07142857142857142,"condition":0.07142857142857142,"in":0.07142857142857142,"learner":0.07142857142857142,"syncwithleader":0.07142857142857142,"during":0.07142857142857142,"diff":0.07142857142857142,"sync":0.07142857142857142},"2105":{"zookeeper-3486":0.07142857142857142,"-":0.07142857142857142,"add":0.07142857142857142,"the":0.07142857142857142,"doc":0.07142857142857142,"about":0.07142857142857142,"how":0.07142857142857142,"to":0.07142857142857142,"configure":0.07142857142857142,"ssl":0.07142857142857142,"tls":0.07142857142857142,"for":0.07142857142857142,"admin":0.07142857142857142,"server":0.07142857142857142},"2106":{"zookeeper-4756":0.09090909090909091,"-":0.09090909090909091,"merge":0.09090909090909091,"script":0.09090909090909091,"should":0.09090909090909091,"use":0.09090909090909091,"github":0.09090909090909091,"api":0.09090909090909091,"to":0.09090909090909091,"pull":0.09090909090909091,"requests":0.09090909090909091},"2107":{"zookeeper-4778":0.08333333333333333,"-":0.08333333333333333,"patch":0.08333333333333333,"jetty":0.08333333333333333,"netty":0.08333333333333333,"and":0.08333333333333333,"logback":0.08333333333333333,"to":0.08333333333333333,"remove":0.08333333333333333,"high":0.08333333333333333,"severity":0.08333333333333333,"vulnerabilities":0.08333333333333333},"2108":{"zookeeper-4794":0.125,"-":0.125,"reduce":0.125,"the":0.125,"zkdatabase":0.125,"committedlog":0.125,"memory":0.125,"usage":0.125},"2109":{"zookeeper-4799":0.125,"-":0.125,"refactor":0.125,"acl":0.125,"check":0.125,"in":0.125,"addwatch":0.125,"command":0.125},"2110":{"zookeeper-4801":0.1,"-":0.1,"add":0.1,"memory":0.1,"size":0.1,"limitation":0.1,"policy":0.1,"for":0.1,"zkdatabase":0.1,"committedlog":0.1},"2111":{"zookeeper-4807":0.1111111111111111,"-":0.1111111111111111,"add":0.1111111111111111,"sid":0.1111111111111111,"for":0.1111111111111111,"the":0.1111111111111111,"leader":0.1111111111111111,"goodbye":0.1111111111111111,"log":0.1111111111111111},"2112":{"zookeeper-4732":0.2,"-":0.2,"improve":0.2,"reproducible":0.2,"builds":0.2},"2113":{"zookeeper-4753":0.09090909090909091,"-":0.09090909090909091,"explicit":0.09090909090909091,"handling":0.09090909090909091,"of":0.09090909090909091,"digest-md5":0.09090909090909091,"vs":0.09090909090909091,"gssapi":0.09090909090909091,"in":0.09090909090909091,"quorum":0.09090909090909091,"auth":0.09090909090909091},"2114":{"1":0.1,"5":0.1,"10":0.1,"zookeeper-4751":0.1,"-":0.1,"update":0.1,"snappy-java":0.1,"to":0.1,"address":0.1,"cve-2023-43642":0.1},"2115":{"zookeeper-4754":0.1,"-":0.1,"update":0.1,"jetty":0.1,"to":0.1,"avoid":0.1,"cve-2023-36479":0.1,"cve-2023-40167":0.1,"and":0.1,"cve-2023-41900":0.1},"2116":{"zookeeper-4755":0.2,"-":0.2,"handle":0.2,"netty":0.2,"cve-2023-4586":0.2},"2117":{"zookeeper-4327":0.2,"-":0.2,"flaky":0.2,"test":0.2,"requestthrottlertest":0.2},"2118":{"4":0.07692307692307693,"7":0.07692307692307693,"zookeeper-2108":0.07692307692307693,"-":0.07692307692307693,"compilation":0.07692307692307693,"error":0.07692307692307693,"in":0.07692307692307693,"zkadaptor":0.07692307692307693,"cc":0.07692307692307693,"with":0.07692307692307693,"gcc":0.07692307692307693,"or":0.07692307692307693,"later":0.07692307692307693},"2119":{"zookeeper-3652":0.16666666666666666,"-":0.16666666666666666,"improper":0.16666666666666666,"synchronization":0.16666666666666666,"in":0.16666666666666666,"clientcnxn":0.16666666666666666},"2120":{"zookeeper-3908":0.2,"-":0.2,"zktreeutil":0.2,"multiple":0.2,"issues":0.2},"2121":{"zookeeper-3996":0.16666666666666666,"-":0.16666666666666666,"flaky":0.16666666666666666,"test":0.16666666666666666,"readonlymodetest":0.16666666666666666,"testconnectionevents":0.16666666666666666},"2122":{"zookeeper-4026":0.07142857142857142,"-":0.07142857142857142,"create2":0.07142857142857142,"requests":0.07142857142857142,"embedded":0.07142857142857142,"in":0.07142857142857142,"a":0.07142857142857142,"multi":0.07142857142857142,"request":0.07142857142857142,"only":0.07142857142857142,"get":0.07142857142857142,"regular":0.07142857142857142,"create":0.07142857142857142,"response":0.07142857142857142},"2123":{"zookeeper-4296":0.1,"-":0.1,"nullpointerexception":0.1,"when":0.1,"clientcnxnsocketnetty":0.1,"is":0.1,"closed":0.1,"without":0.1,"being":0.1,"opened":0.1},"2124":{"zookeeper-4308":0.16666666666666666,"-":0.16666666666666666,"flaky":0.16666666666666666,"test":0.16666666666666666,"eageraclfiltertest":0.16666666666666666,"testsetdatafail":0.16666666666666666},"2125":{"zookeeper-4393":0.1111111111111111,"-":0.1111111111111111,"problem":0.1111111111111111,"to":0.1111111111111111,"connect":0.1111111111111111,"zookeeper":0.1111111111111111,"in":0.1111111111111111,"fips":0.1111111111111111,"mode":0.1111111111111111},"2126":{"zookeeper-4466":0.1111111111111111,"-":0.1111111111111111,"support":0.1111111111111111,"different":0.1111111111111111,"watch":0.1111111111111111,"modes":0.1111111111111111,"on":0.1111111111111111,"same":0.1111111111111111,"path":0.1111111111111111},"2127":{"zookeeper-4471":0.1,"-":0.1,"remove":0.1,"watchertype":0.1,"children":0.1,"break":0.1,"persistent":0.1,"watcher's":0.1,"child":0.1,"events":0.1},"2128":{"zookeeper-4473":0.1,"-":0.1,"zooinspector":0.1,"create":0.1,"root":0.1,"node":0.1,"fail":0.1,"with":0.1,"path":0.1,"validate":0.1},"2129":{"zookeeper-4475":0.125,"-":0.125,"persistent":0.125,"recursive":0.125,"watcher":0.125,"got":0.125,"nodechildrenchanged":0.125,"event":0.125},"2130":{"9":0.06666666666666667,"zookeeper-4477":0.06666666666666667,"-":0.06666666666666667,"single":0.06666666666666667,"kerberos":0.06666666666666667,"ticket":0.06666666666666667,"renewal":0.06666666666666667,"failure":0.06666666666666667,"can":0.06666666666666667,"prevent":0.06666666666666667,"all":0.06666666666666667,"future":0.06666666666666667,"renewals":0.06666666666666667,"since":0.06666666666666667,"java":0.06666666666666667},"2131":{"zookeeper-4504":0.1,"-":0.1,"zkutil":0.1,"deleterecursive":0.1,"causing":0.1,"deadlock":0.1,"in":0.1,"hdfs":0.1,"ha":0.1,"functionality":0.1},"2132":{"1":0.1,"2":0.1,"13":0.1,"zookeeper-4505":0.1,"-":0.1,"cve-2020-36518":0.1,"upgrade":0.1,"jackson":0.1,"databind":0.1,"to":0.1},"2133":{"zookeeper-4511":0.16666666666666666,"-":0.16666666666666666,"flaky":0.16666666666666666,"test":0.16666666666666666,"filetxnsnaplogmetricstest":0.16666666666666666,"testfiletxnsnaplogmetrics":0.16666666666666666},"2134":{"zookeeper-4514":0.2,"-":0.2,"clientcnxnsocketnetty":0.2,"throwing":0.2,"npe":0.2},"2135":{"zookeeper-4515":0.1111111111111111,"-":0.1111111111111111,"zk":0.1111111111111111,"cli":0.1111111111111111,"quit":0.1111111111111111,"command":0.1111111111111111,"always":0.1111111111111111,"logs":0.1111111111111111,"error":0.1111111111111111},"2136":{"zookeeper-4537":0.125,"-":0.125,"race":0.125,"between":0.125,"syncthread":0.125,"and":0.125,"commitprocessor":0.125,"thread":0.125},"2137":{"zookeeper-4549":0.14285714285714285,"-":0.14285714285714285,"providerregistry":0.14285714285714285,"may":0.14285714285714285,"be":0.14285714285714285,"repeatedly":0.14285714285714285,"initialized":0.14285714285714285},"2138":{"zookeeper-4565":0.07692307692307693,"-":0.07692307692307693,"config":0.07692307692307693,"watch":0.07692307692307693,"path":0.07692307692307693,"get":0.07692307692307693,"truncated":0.07692307692307693,"abnormally":0.07692307692307693,"and":0.07692307692307693,"fail":0.07692307692307693,"chroot":0.07692307692307693,"zookeeper":0.07692307692307693,"client":0.07692307692307693},"2139":{"zookeeper-4647":0.07692307692307693,"-":0.07692307692307693,"tests":0.07692307692307693,"don't":0.07692307692307693,"pass":0.07692307692307693,"on":0.07692307692307693,"jdk20":0.07692307692307693,"because":0.07692307692307693,"we":0.07692307692307693,"try":0.07692307692307693,"to":0.07692307692307693,"mock":0.07692307692307693,"inetaddress":0.07692307692307693},"2140":{"zookeeper-4654":0.09090909090909091,"-":0.09090909090909091,"fix":0.09090909090909091,"c":0.09090909090909091,"client":0.09090909090909091,"test":0.09090909090909091,"compilation":0.09090909090909091,"error":0.09090909090909091,"in":0.09090909090909091,"util":0.09090909090909091,"cc":0.09090909090909091},"2141":{"zookeeper-4674":0.1111111111111111,"-":0.1111111111111111,"c":0.1111111111111111,"client":0.1111111111111111,"tests":0.1111111111111111,"don't":0.1111111111111111,"pass":0.1111111111111111,"on":0.1111111111111111,"ci":0.1111111111111111},"2142":{"zookeeper-4719":0.125,"-":0.125,"use":0.125,"bouncycastle":0.125,"jdk18on":0.125,"instead":0.125,"of":0.125,"jdk15on":0.125},"2143":{"1":0.1,"3":0.1,"8":0.1,"zookeeper-4721":0.1,"-":0.1,"upgrade":0.1,"owasp":0.1,"dependency":0.1,"check":0.1,"to":0.1},"2144":{"zookeeper-4570":0.07692307692307693,"-":0.07692307692307693,"admin":0.07692307692307693,"server":0.07692307692307693,"api":0.07692307692307693,"for":0.07692307692307693,"taking":0.07692307692307693,"snapshot":0.07692307692307693,"and":0.07692307692307693,"stream":0.07692307692307693,"out":0.07692307692307693,"the":0.07692307692307693,"data":0.07692307692307693},"2145":{"zookeeper-4655":0.09090909090909091,"-":0.09090909090909091,"communicate":0.09090909090909091,"the":0.09090909090909091,"zxid":0.09090909090909091,"that":0.09090909090909091,"triggered":0.09090909090909091,"a":0.09090909090909091,"watchevent":0.09090909090909091,"to":0.09090909090909091,"fire":0.09090909090909091},"2146":{"zookeeper-3731":0.16666666666666666,"-":0.16666666666666666,"disable":0.16666666666666666,"http":0.16666666666666666,"trace":0.16666666666666666,"method":0.16666666666666666},"2147":{"zookeeper-3806":0.1,"-":0.1,"tls":0.1,"dynamic":0.1,"loading":0.1,"for":0.1,"client":0.1,"trust":0.1,"key":0.1,"store":0.1},"2148":{"zookeeper-3860":0.058823529411764705,"-":0.058823529411764705,"avoid":0.058823529411764705,"reverse":0.058823529411764705,"dns":0.058823529411764705,"lookup":0.058823529411764705,"for":0.058823529411764705,"hostname":0.058823529411764705,"verification":0.058823529411764705,"when":0.058823529411764705,"hostnames":0.058823529411764705,"are":0.058823529411764705,"provided":0.058823529411764705,"in":0.058823529411764705,"the":0.058823529411764705,"connection":0.058823529411764705,"url":0.058823529411764705},"2149":{"zookeeper-4289":0.1111111111111111,"-":0.1111111111111111,"reduce":0.1111111111111111,"the":0.1111111111111111,"performance":0.1111111111111111,"impact":0.1111111111111111,"of":0.1111111111111111,"prometheus":0.1111111111111111,"metrics":0.1111111111111111},"2150":{"zookeeper-4303":0.125,"-":0.125,"zookeeperserverembedded":0.125,"could":0.125,"auto-assign":0.125,"and":0.125,"expose":0.125,"ports":0.125},"2151":{"zookeeper-4464":0.07142857142857142,"-":0.07142857142857142,"zooinspector":0.07142857142857142,"display":0.07142857142857142,"ephemeral":0.07142857142857142,"owner":0.07142857142857142,"in":0.07142857142857142,"hex":0.07142857142857142,"for":0.07142857142857142,"easy":0.07142857142857142,"match":0.07142857142857142,"to":0.07142857142857142,"jmx":0.07142857142857142,"session":0.07142857142857142},"2152":{"zookeeper-4467":0.1111111111111111,"-":0.1111111111111111,"missing":0.1111111111111111,"op":0.1111111111111111,"code":0.1111111111111111,"addwatch":0.1111111111111111,"in":0.1111111111111111,"request":0.1111111111111111,"op2string":0.1111111111111111},"2153":{"zookeeper-4472":0.14285714285714285,"-":0.14285714285714285,"support":0.14285714285714285,"persistent":0.14285714285714285,"watchers":0.14285714285714285,"removing":0.14285714285714285,"individually":0.14285714285714285},"2154":{"zookeeper-4474":0.16666666666666666,"-":0.16666666666666666,"zoodefs":0.16666666666666666,"opnames":0.16666666666666666,"is":0.16666666666666666,"unused":0.16666666666666666},"2155":{"zookeeper-4490":0.14285714285714285,"-":0.14285714285714285,"publish":0.14285714285714285,"clover":0.14285714285714285,"results":0.14285714285714285,"to":0.14285714285714285,"sonarqube":0.14285714285714285},"2156":{"zookeeper-4491":0.14285714285714285,"-":0.14285714285714285,"adding":0.14285714285714285,"ssl":0.14285714285714285,"support":0.14285714285714285,"to":0.14285714285714285,"zktreeutil":0.14285714285714285},"2157":{"zookeeper-4492":0.1111111111111111,"-":0.1111111111111111,"merge":0.1111111111111111,"readonly":0.1111111111111111,"field":0.1111111111111111,"into":0.1111111111111111,"connectrequest":0.1111111111111111,"and":0.1111111111111111,"response":0.1111111111111111},"2158":{"zookeeper-4494":0.16666666666666666,"-":0.16666666666666666,"fix":0.16666666666666666,"error":0.16666666666666666,"message":0.16666666666666666,"format":0.16666666666666666},"2159":{"zookeeper-4518":0.1,"-":0.1,"remove":0.1,"useless":0.1,"log":0.1,"in":0.1,"the":0.1,"preprequestprocessor":0.1,"prequest":0.1,"method":0.1},"2160":{"zookeeper-4519":0.1111111111111111,"-":0.1111111111111111,"testable":0.1111111111111111,"interface":0.1111111111111111,"should":0.1111111111111111,"have":0.1111111111111111,"a":0.1111111111111111,"testableclosesocket":0.1111111111111111,"method":0.1111111111111111},"2161":{"1":0.1111111111111111,"4":0.1111111111111111,"76":0.1111111111111111,"zookeeper-4529":0.1111111111111111,"-":0.1111111111111111,"upgrade":0.1111111111111111,"netty":0.1111111111111111,"to":0.1111111111111111,"final":0.1111111111111111},"2162":{"zookeeper-4531":0.16666666666666666,"-":0.16666666666666666,"revert":0.16666666666666666,"netty":0.16666666666666666,"tcnative":0.16666666666666666,"change":0.16666666666666666},"2163":{"zookeeper-4551":0.07692307692307693,"-":0.07692307692307693,"do":0.07692307692307693,"not":0.07692307692307693,"log":0.07692307692307693,"spammy":0.07692307692307693,"stacktrace":0.07692307692307693,"when":0.07692307692307693,"a":0.07692307692307693,"client":0.07692307692307693,"closes":0.07692307692307693,"its":0.07692307692307693,"connection":0.07692307692307693},"2164":{"zookeeper-4566":0.125,"-":0.125,"create":0.125,"tool":0.125,"for":0.125,"recursive":0.125,"snapshot":0.125,"analysis":0.125},"2165":{"zookeeper-4573":0.16666666666666666,"-":0.16666666666666666,"encapsulate":0.16666666666666666,"request":0.16666666666666666,"bytebuffer":0.16666666666666666,"in":0.16666666666666666},"2166":{"zookeeper-4575":0.1111111111111111,"-":0.1111111111111111,"zookeeperserver":0.1111111111111111,"processpacket":0.1111111111111111,"take":0.1111111111111111,"record":0.1111111111111111,"instead":0.1111111111111111,"of":0.1111111111111111,"bytes":0.1111111111111111},"2167":{"zookeeper-4616":0.08333333333333333,"-":0.08333333333333333,"upgrade":0.08333333333333333,"docker":0.08333333333333333,"image":0.08333333333333333,"for":0.08333333333333333,"the":0.08333333333333333,"dev":0.08333333333333333,"environment":0.08333333333333333,"to":0.08333333333333333,"resolve":0.08333333333333333,"cves":0.08333333333333333},"2168":{"zookeeper-4622":0.16666666666666666,"-":0.16666666666666666,"add":0.16666666666666666,"netty-tcnative":0.16666666666666666,"openssl":0.16666666666666666,"support":0.16666666666666666},"2169":{"zookeeper-4636":0.14285714285714285,"-":0.14285714285714285,"fix":0.14285714285714285,"zkserver":0.14285714285714285,"sh":0.14285714285714285,"for":0.14285714285714285,"aix":0.14285714285714285},"2170":{"zookeeper-4657":0.2,"-":0.2,"publish":0.2,"sbom":0.2,"artifacts":0.2},"2171":{"0":0.06666666666666667,"1":0.06666666666666667,"4":0.06666666666666667,"5":0.06666666666666667,"zookeeper-4659":0.06666666666666667,"-":0.06666666666666667,"upgrade":0.06666666666666667,"commons":0.06666666666666667,"cli":0.06666666666666667,"to":0.06666666666666667,"due":0.06666666666666667,"owasp":0.06666666666666667,"failing":0.06666666666666667,"on":0.06666666666666667,"cve-2021-37533":0.06666666666666667},"2172":{"zookeeper-4660":0.1111111111111111,"-":0.1111111111111111,"suppress":0.1111111111111111,"false":0.1111111111111111,"positive":0.1111111111111111,"owasp":0.1111111111111111,"failure":0.1111111111111111,"for":0.1111111111111111,"cve-2021-37533":0.1111111111111111},"2173":{"2":0.08333333333333333,"4":0.08333333333333333,"13":0.08333333333333333,"zookeeper-4661":0.08333333333333333,"-":0.08333333333333333,"upgrade":0.08333333333333333,"jackson":0.08333333333333333,"databind":0.08333333333333333,"to":0.08333333333333333,"for":0.08333333333333333,"cve-2022-42003":0.08333333333333333,"cve-2022-42004":0.08333333333333333},"2174":{"zookeeper-4705":0.09090909090909091,"-":0.09090909090909091,"restrict":0.09090909090909091,"github":0.09090909090909091,"merge":0.09090909090909091,"button":0.09090909090909091,"to":0.09090909090909091,"allow":0.09090909090909091,"squash":0.09090909090909091,"commit":0.09090909090909091,"only":0.09090909090909091},"2175":{"zookeeper-4717":0.09090909090909091,"-":0.09090909090909091,"cache":0.09090909090909091,"serialize":0.09090909090909091,"data":0.09090909090909091,"in":0.09090909090909091,"the":0.09090909090909091,"request":0.09090909090909091,"to":0.09090909090909091,"avoid":0.09090909090909091,"repeat":0.09090909090909091},"2176":{"zookeeper-4718":0.07142857142857142,"-":0.07142857142857142,"removing":0.07142857142857142,"unnecessary":0.07142857142857142,"heap":0.07142857142857142,"memory":0.07142857142857142,"allocation":0.07142857142857142,"in":0.07142857142857142,"serialization":0.07142857142857142,"can":0.07142857142857142,"help":0.07142857142857142,"reduce":0.07142857142857142,"gc":0.07142857142857142,"pressure":0.07142857142857142},"2177":{"zookeeper-4630":0.125,"-":0.125,"fix":0.125,"the":0.125,"npe":0.125,"from":0.125,"connectionmetricstest":0.125,"testrevalidatecount":0.125},"2178":{"zookeeper-4676":0.08333333333333333,"-":0.08333333333333333,"readonlymodetest":0.08333333333333333,"doesn't":0.08333333333333333,"compile":0.08333333333333333,"on":0.08333333333333333,"jdk20":0.08333333333333333,"thread":0.08333333333333333,"suspend":0.08333333333333333,"has":0.08333333333333333,"been":0.08333333333333333,"removed":0.08333333333333333},"2179":{"zookeeper-3615":0.1,"-":0.1,"write":0.1,"a":0.1,"tla":0.1,"specification":0.1,"to":0.1,"verify":0.1,"zab":0.1,"protocol":0.1},"2180":{"zookeeper-4710":0.09090909090909091,"-":0.09090909090909091,"fix":0.09090909090909091,"zkutil":0.09090909090909091,"deleteinbatch":0.09090909090909091,"by":0.09090909090909091,"releasing":0.09090909090909091,"semaphore":0.09090909090909091,"after":0.09090909090909091,"set":0.09090909090909091,"flag":0.09090909090909091},"2181":{"zookeeper-4714":0.2,"-":0.2,"improve":0.2,"syncrequestprocessor":0.2,"performance":0.2},"2182":{"zookeeper-4715":0.1111111111111111,"-":0.1111111111111111,"verify":0.1111111111111111,"file":0.1111111111111111,"size":0.1111111111111111,"and":0.1111111111111111,"position":0.1111111111111111,"in":0.1111111111111111,"testgetcurrentlogsize":0.1111111111111111},"2183":{"zookeeper-4479":0.07142857142857142,"-":0.07142857142857142,"tests":0.07142857142857142,"c":0.07142857142857142,"client":0.07142857142857142,"test":0.07142857142857142,"testoperations":0.07142857142857142,"cc":0.07142857142857142,"testtimeoutcausedbywatches1":0.07142857142857142,"is":0.07142857142857142,"very":0.07142857142857142,"flaky":0.07142857142857142,"on":0.07142857142857142,"ci":0.07142857142857142},"2184":{"zookeeper-4482":0.1111111111111111,"-":0.1111111111111111,"fix":0.1111111111111111,"license":0.1111111111111111,"files":0.1111111111111111,"for":0.1111111111111111,"commons-io":0.1111111111111111,"and":0.1111111111111111,"commons-cli":0.1111111111111111},"2185":{"zookeeper-4599":0.14285714285714285,"-":0.14285714285714285,"upgrade":0.14285714285714285,"jetty":0.14285714285714285,"to":0.14285714285714285,"avoid":0.14285714285714285,"cve-2022-2048":0.14285714285714285},"2186":{"zookeeper-4641":0.08333333333333333,"-":0.08333333333333333,"gh":0.08333333333333333,"ci":0.08333333333333333,"fails":0.08333333333333333,"with":0.08333333333333333,"error":0.08333333333333333,"implicit":0.08333333333333333,"declaration":0.08333333333333333,"of":0.08333333333333333,"function":0.08333333333333333,"fips_mode":0.08333333333333333},"2187":{"zookeeper-4642":0.2,"-":0.2,"remove":0.2,"travis":0.2,"ci":0.2},"2188":{"1":0.09090909090909091,"4":0.09090909090909091,"86":0.09090909090909091,"zookeeper-4649":0.09090909090909091,"-":0.09090909090909091,"upgrade":0.09090909090909091,"netty":0.09090909090909091,"to":0.09090909090909091,"because":0.09090909090909091,"of":0.09090909090909091,"cve-2022-41915":0.09090909090909091},"2189":{"1":0.08333333333333333,"9":0.08333333333333333,"zookeeper-4669":0.08333333333333333,"-":0.08333333333333333,"upgrade":0.08333333333333333,"snappy-java":0.08333333333333333,"to":0.08333333333333333,"in":0.08333333333333333,"order":0.08333333333333333,"support":0.08333333333333333,"m1":0.08333333333333333,"macs":0.08333333333333333},"2190":{"2":0.125,"6":0.125,"7":0.125,"zookeeper-4688":0.125,"-":0.125,"upgrade":0.125,"cyclonedx-maven-plugin":0.125,"to":0.125},"2191":{"zookeeper-4700":0.1111111111111111,"-":0.1111111111111111,"update":0.1111111111111111,"jetty":0.1111111111111111,"for":0.1111111111111111,"fixing":0.1111111111111111,"cve-2023-26048":0.1111111111111111,"and":0.1111111111111111,"cve-2023-26049":0.1111111111111111},"2192":{"zookeeper-4707":0.125,"-":0.125,"update":0.125,"snappy-java":0.125,"to":0.125,"address":0.125,"multiple":0.125,"cves":0.125},"2193":{"1":0.1111111111111111,"4":0.1111111111111111,"94":0.1111111111111111,"zookeeper-4709":0.1111111111111111,"-":0.1111111111111111,"upgrade":0.1111111111111111,"netty":0.1111111111111111,"to":0.1111111111111111,"final":0.1111111111111111},"2194":{"2":0.07692307692307693,"15":0.07692307692307693,"zookeeper-4716":0.07692307692307693,"-":0.07692307692307693,"upgrade":0.07692307692307693,"jackson":0.07692307692307693,"to":0.07692307692307693,"suppress":0.07692307692307693,"two":0.07692307692307693,"false":0.07692307692307693,"positive":0.07692307692307693,"cve":0.07692307692307693,"errors":0.07692307692307693}},"page_id":{"1":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"2":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"3":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"4":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"5":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"6":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"7":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"8":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"9":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"10":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"11":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"12":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"13":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"14":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"15":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"16":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"17":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"18":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"19":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"20":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"21":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"22":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"23":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"24":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"25":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"26":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"27":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"28":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"29":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"30":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"31":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"32":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"33":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"34":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"35":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"36":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"37":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"38":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"39":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"40":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"41":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"42":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"43":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"44":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"45":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"46":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"47":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"48":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"49":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"50":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"51":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"52":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"53":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"54":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"55":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"56":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"57":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"58":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"59":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"60":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"61":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"62":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"63":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"64":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"65":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"66":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"67":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"68":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"69":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"70":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"71":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"72":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"73":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"74":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"75":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"76":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"77":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"78":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"79":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"80":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"81":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"82":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"83":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"84":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"85":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"86":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"87":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"88":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"89":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"90":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"91":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"92":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"93":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"94":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"95":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"96":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"97":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"98":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"99":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"100":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"101":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"102":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"103":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"104":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"105":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"106":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"107":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"108":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"109":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"110":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"111":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"112":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"113":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"114":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"115":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"116":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"117":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"118":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"119":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"120":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"121":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"122":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"123":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"124":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"125":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"126":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"127":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"128":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"129":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"130":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"131":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"132":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"133":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"134":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"135":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"136":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"137":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"138":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"139":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"140":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"141":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"142":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"143":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"144":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"145":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"146":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"147":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"148":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"149":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"150":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"151":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"152":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"153":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"154":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"155":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"156":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"157":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"158":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"159":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"160":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"161":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"162":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"163":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"164":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"165":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"166":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"167":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"168":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"169":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"170":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"171":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"172":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"173":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"174":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"175":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"176":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"177":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"178":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"179":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"180":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"181":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"182":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"183":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"184":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"185":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"186":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"187":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"188":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"189":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"190":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"191":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"192":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"193":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"194":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"195":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"196":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"197":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"198":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"199":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"200":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"201":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"202":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"203":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"204":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"205":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"206":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"207":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"208":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"209":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"210":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"211":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"212":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"213":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"214":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"215":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"216":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"217":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"218":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"219":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"220":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"221":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"222":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"223":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"224":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"225":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"226":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"227":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"228":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"229":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"230":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"231":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"232":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"233":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"234":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"235":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"236":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"237":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"238":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"239":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"240":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"241":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"242":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"243":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"244":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"245":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"246":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"247":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"248":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"249":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"250":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"251":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"252":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"253":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"254":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"255":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"256":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"257":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"258":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"259":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"260":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"261":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"262":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"263":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"264":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"265":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"266":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"267":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"268":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"269":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"270":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"271":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"272":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"273":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"274":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"275":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"276":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"277":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"278":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"279":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"280":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"281":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"282":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"283":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"284":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"285":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"286":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"287":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"288":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"289":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"290":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"291":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"292":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"293":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"294":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"295":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"296":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"297":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"298":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"299":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"300":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"301":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"302":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"303":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"304":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"305":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"306":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"307":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"308":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"309":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"310":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"311":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"312":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"313":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"314":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"315":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"316":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"317":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"318":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"319":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"320":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"321":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"322":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"323":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"324":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"325":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"326":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"327":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"328":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"329":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"330":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"331":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"332":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"333":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"334":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"335":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"336":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"337":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"338":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"339":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"340":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"341":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"342":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"343":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"344":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"345":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"346":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"347":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"348":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"349":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"350":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"351":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"352":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"353":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"354":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"355":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"356":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"357":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"358":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"359":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"360":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"361":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"362":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"363":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"364":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"365":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"366":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"367":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"368":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"369":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"370":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"371":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"372":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"373":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"374":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"375":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"376":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"377":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"378":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"379":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"380":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"381":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"382":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"383":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"384":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"385":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"386":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"387":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"388":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"389":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"390":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"391":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"392":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"393":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"394":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"395":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"396":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"397":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"398":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"399":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"400":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"401":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"402":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"403":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"404":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"405":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"406":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"407":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"408":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"409":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"410":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"411":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"412":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"413":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"414":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"415":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"416":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"417":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"418":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"419":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"420":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"421":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"422":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"423":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"424":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"425":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"426":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"427":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"428":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"429":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"430":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"431":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"432":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"433":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"434":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"435":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"436":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"437":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"438":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"439":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"440":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"441":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"442":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"443":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"444":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"445":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"446":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"447":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"448":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"449":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"450":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"451":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"452":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"453":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"454":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"455":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"456":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"457":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"458":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"459":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"460":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"461":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"462":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"463":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"464":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"465":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"466":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"467":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"468":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"469":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"470":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"471":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"472":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"473":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"474":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"475":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"476":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"477":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"478":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"479":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"480":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"481":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"482":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"483":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"484":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"485":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"486":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"487":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"488":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"489":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"490":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"491":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"492":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"493":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"494":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"495":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"496":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"497":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"498":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"499":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"500":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"501":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"502":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"503":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"504":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"505":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"506":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"507":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"508":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"509":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"510":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"511":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"512":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"513":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"514":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"515":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"516":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"517":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"518":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"519":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"520":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"521":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"522":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"523":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"524":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"525":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"526":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"527":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"528":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"529":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"530":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"531":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"532":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"533":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"534":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"535":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"536":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"537":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"538":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"539":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"540":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"administrators-guide":0.3333333333333333},"541":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"administrators-guide":0.3333333333333333},"542":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"543":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"544":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"545":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"546":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"547":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"548":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"549":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"550":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"551":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"552":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"553":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"554":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"555":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"556":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"557":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"558":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"559":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"560":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"561":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"562":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"563":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"564":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"565":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"566":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"567":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"568":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"569":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"570":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"571":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"572":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"573":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"574":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"575":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"576":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"577":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"578":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"579":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"580":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"581":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"582":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"583":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"584":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"585":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"586":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"587":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"588":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"589":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"590":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"591":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"592":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"593":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"594":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"595":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"596":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"597":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"598":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"599":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"600":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"601":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"602":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"603":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"604":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"605":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"606":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"607":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"608":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"609":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"610":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"611":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"612":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"613":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"614":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"615":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"616":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"617":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"618":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"619":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"620":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"621":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"622":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"623":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"624":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"625":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"626":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"627":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"628":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"629":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"630":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"631":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"632":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"633":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"634":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"635":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"636":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"637":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"638":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"639":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"640":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"641":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"642":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"643":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"644":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"645":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"646":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"647":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"648":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"649":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"650":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"651":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"652":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"653":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"654":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"655":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"656":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"657":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"658":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"659":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"660":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"661":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"662":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"663":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"664":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"665":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"666":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"667":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"668":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"669":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"670":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"671":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"672":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"673":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"674":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"675":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"676":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"677":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"678":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"679":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"680":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"681":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"682":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"683":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"684":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"685":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"686":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"687":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"688":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"689":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"690":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"691":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"692":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"693":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"694":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"695":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"696":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"697":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"698":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"699":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"700":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"701":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"702":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"703":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"704":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"705":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"706":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"707":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"708":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"709":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"710":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"711":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"712":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"713":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"714":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"715":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"716":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"717":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"718":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"719":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"720":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"721":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"722":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"723":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"724":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"725":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"726":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"727":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"728":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"729":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"730":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"731":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"732":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"733":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"734":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"735":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"736":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"737":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"738":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"739":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"740":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"741":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"742":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"743":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"744":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"745":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"746":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"747":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"748":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"749":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"750":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"751":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"752":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"753":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"754":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"755":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"756":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"757":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"758":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"759":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"760":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"761":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"762":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"763":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"764":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"765":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"766":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"767":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"768":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"769":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"770":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"771":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"772":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"773":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"774":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"775":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"776":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"777":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"778":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"779":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"780":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"781":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"782":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"783":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"784":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"785":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"786":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"787":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"788":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"789":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"790":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"791":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"792":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"793":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"794":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"795":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"796":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"797":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"798":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"799":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"800":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"801":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"802":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"803":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"804":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"805":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"806":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"807":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"808":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"809":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"810":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"811":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"812":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"813":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"814":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"815":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"816":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"817":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"818":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"819":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"820":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"821":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"822":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"823":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"824":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"825":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"826":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"827":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"828":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"829":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"830":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"831":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"832":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"833":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"834":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"835":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"836":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"837":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"838":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"839":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"840":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"841":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"842":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"843":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"844":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"845":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"846":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"847":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"848":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"849":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"850":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"851":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"852":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"853":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"854":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"855":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"856":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"857":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"858":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"859":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"860":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"861":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"862":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"863":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"864":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"865":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"866":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"867":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"868":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"869":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"870":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"871":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"872":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"873":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"874":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"875":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"876":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"877":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"878":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"879":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"880":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"881":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"882":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"883":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"884":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"885":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"886":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"887":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"888":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"889":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"890":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"891":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"892":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"893":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"894":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"895":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"896":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"897":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"898":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"899":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"900":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"901":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"902":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"903":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"904":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"905":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"906":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"907":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"908":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"909":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"910":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"911":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"912":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"913":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"914":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"915":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"916":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"917":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"918":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"919":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"920":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"921":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"922":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"923":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"924":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"925":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"926":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"927":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"928":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"929":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"930":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"931":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"932":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"933":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"934":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"935":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"936":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"937":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"938":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"939":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"940":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"941":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"942":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"943":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"944":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"945":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"946":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"947":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"948":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"949":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"950":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"951":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"952":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"953":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"954":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"955":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"956":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"957":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"958":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"959":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"960":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"961":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"962":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"963":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"964":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"965":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"966":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"967":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"968":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"969":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"970":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"971":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"972":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"973":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"974":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"975":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"976":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"977":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"978":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"979":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"980":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"981":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"982":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"983":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"984":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"985":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"986":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"987":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"988":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"989":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"990":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"991":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"992":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"993":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"994":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"995":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"996":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"997":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"998":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"999":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1000":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1001":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1002":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1003":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1004":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1005":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1006":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1007":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1008":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1009":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1010":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1011":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1012":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1013":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1014":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1015":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1016":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1017":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1018":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1019":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1020":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1021":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1022":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1023":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1024":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1025":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1026":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1027":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1028":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1029":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1030":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1031":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1032":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1033":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1034":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1035":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1036":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1037":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1038":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1039":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1040":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1041":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1042":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1043":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1044":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1045":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1046":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1047":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1048":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1049":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1050":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1051":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1052":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1053":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1054":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1055":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1056":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1057":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1058":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1059":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1060":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1061":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1062":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1063":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1064":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1065":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1066":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1067":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1068":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1069":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1070":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1071":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1072":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1073":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1074":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1075":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1076":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1077":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"1078":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1079":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1080":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1081":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1082":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1083":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1084":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1085":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1086":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1087":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1088":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1089":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1090":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1091":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1092":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1093":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1094":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1095":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1096":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1097":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1098":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1099":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1100":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1101":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1102":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1103":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1104":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1105":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1106":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1107":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1108":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1109":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1110":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1111":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1112":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1113":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1114":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1115":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1116":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1117":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1118":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1119":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1120":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1121":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1122":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1123":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1124":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1125":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1126":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1127":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1128":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1129":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1130":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1131":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1132":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1133":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1134":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1135":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1136":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1137":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1138":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1139":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1140":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1141":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1142":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1143":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1144":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1145":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1146":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1147":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1148":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1149":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1150":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1151":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1152":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1153":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1154":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1155":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1156":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1157":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1158":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1159":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1160":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1161":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1162":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1163":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1164":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1165":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1166":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1167":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1168":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1169":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1170":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1171":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1172":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1173":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1174":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1175":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1176":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1177":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1178":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1179":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1180":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1181":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1182":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1183":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1184":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1185":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1186":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1187":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1188":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1189":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1190":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1191":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1192":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1193":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1194":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1195":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1196":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1197":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1198":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1199":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1200":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1201":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1202":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1203":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1204":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1205":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1206":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1207":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1208":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1209":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1210":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1211":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1212":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1213":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1214":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1215":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1216":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1217":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1218":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1219":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1220":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1221":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1222":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1223":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1224":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1225":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1226":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1227":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1228":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1229":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1230":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1231":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1232":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1233":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1234":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1235":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1236":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1237":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1238":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1239":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1240":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1241":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1242":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1243":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1244":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1245":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1246":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1247":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1248":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1249":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1250":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1251":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1252":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1253":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1254":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1255":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1256":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1257":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1258":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1259":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1260":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1261":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1262":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1263":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1264":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1265":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1266":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1267":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1268":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1269":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1270":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1271":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1272":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1273":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1274":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1275":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1276":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1277":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1278":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1279":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1280":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1281":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1282":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1283":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1284":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1285":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1286":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1287":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1288":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1289":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1290":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1291":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1292":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1293":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1294":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1295":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1296":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1297":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1298":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1299":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1300":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1301":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1302":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1303":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1304":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1305":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1306":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1307":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1308":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1309":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1310":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1311":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1312":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1313":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1314":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1315":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1316":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1317":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1318":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1319":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1320":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1321":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1322":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1323":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1324":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1325":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1326":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1327":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1328":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1329":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1330":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1331":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1332":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1333":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1334":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1335":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1336":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1337":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1338":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1339":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1340":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1341":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1342":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1343":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1344":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1345":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1346":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1347":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1348":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1349":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1350":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1351":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1352":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1353":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1354":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1355":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1356":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1357":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1358":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1359":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1360":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1361":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1362":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1363":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1364":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1365":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1366":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1367":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1368":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1369":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1370":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1371":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1372":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1373":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1374":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1375":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1376":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1377":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1378":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1379":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1380":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1381":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1382":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1383":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1384":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1385":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1386":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1387":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1388":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1389":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1390":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1391":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1392":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1393":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1394":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1395":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1396":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1397":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1398":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1399":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1400":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1401":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1402":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1403":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1404":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1405":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1406":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1407":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1408":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1409":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1410":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1411":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1412":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1413":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1414":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1415":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1416":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1417":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1418":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1419":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1420":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1421":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1422":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1423":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1424":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1425":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1426":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1427":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1428":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1429":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1430":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1431":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1432":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1433":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1434":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1435":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1436":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1437":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1438":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1439":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1440":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1441":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1442":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1443":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1444":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1445":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1446":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1447":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1448":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1449":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1450":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1451":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1452":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1453":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1454":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1455":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1456":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1457":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1458":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1459":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1460":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1461":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1462":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1463":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1464":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1465":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1466":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1467":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1468":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1469":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1470":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1471":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1472":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1473":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1474":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1475":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1476":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1477":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1478":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1479":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1480":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1481":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1482":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1483":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1484":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1485":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1486":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1487":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1488":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1489":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1490":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1491":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1492":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1493":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1494":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1495":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1496":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1497":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1498":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1499":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1500":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1501":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1502":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1503":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1504":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1505":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1506":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1507":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1508":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1509":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1510":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1511":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1512":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1513":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1514":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1515":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1516":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1517":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1518":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1519":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1520":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1521":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1522":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1523":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1524":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1525":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1526":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1527":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1528":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1529":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1530":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1531":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1532":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1533":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1534":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1535":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1536":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1537":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1538":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1539":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1540":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1541":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1542":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1543":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1544":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1545":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1546":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1547":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1548":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1549":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1550":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1551":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1552":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1553":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1554":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1555":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1556":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1557":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1558":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1559":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1560":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1561":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1562":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1563":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1564":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1565":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1566":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1567":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1568":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1569":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1570":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1571":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1572":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1573":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1574":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1575":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1576":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1577":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1578":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1579":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1580":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1581":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1582":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1583":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1584":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1585":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1586":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1587":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1588":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1589":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1590":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1591":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1592":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1593":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1594":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1595":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1596":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1597":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1598":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1599":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1600":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1601":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1602":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1603":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1604":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1605":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1606":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1607":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1608":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1609":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1610":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1611":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1612":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1613":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1614":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1615":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1616":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1617":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1618":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1619":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1620":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1621":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1622":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1623":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1624":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1625":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1626":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1627":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1628":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1629":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1630":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1631":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1632":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1633":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1634":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1635":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1636":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1637":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1638":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1639":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1640":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1641":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1642":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1643":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1644":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1645":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1646":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1647":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1648":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1649":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1650":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1651":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1652":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1653":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1654":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1655":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1656":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1657":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1658":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1659":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1660":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1661":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1662":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1663":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1664":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1665":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1666":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1667":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1668":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1669":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1670":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1671":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1672":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1673":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1674":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1675":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1676":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1677":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1678":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1679":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1680":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1681":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1682":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1683":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1684":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1685":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1686":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1687":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1688":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1689":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1690":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1691":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1692":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1693":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1694":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1695":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1696":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1697":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1698":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1699":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1700":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1701":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1702":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1703":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1704":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1705":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1706":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1707":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1708":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1709":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1710":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1711":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1712":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1713":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1714":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1715":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1716":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1717":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1718":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1719":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1720":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1721":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1722":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1723":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1724":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1725":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1726":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1727":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1728":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1729":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1730":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1731":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1732":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1733":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1734":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1735":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1736":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1737":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1738":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1739":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1740":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1741":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1742":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1743":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1744":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1745":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1746":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1747":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1748":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1749":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1750":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1751":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1752":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1753":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1754":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1755":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1756":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1757":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1758":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1759":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1760":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1761":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1762":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1763":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1764":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1765":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1766":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1767":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1768":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1769":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1770":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1771":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1772":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1773":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1774":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1775":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1776":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1777":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1778":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1779":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1780":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1781":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1782":{"docs":1},"1783":{"docs":1},"1784":{"docs":1},"1785":{"docs":1},"1786":{"docs":1},"1787":{"docs":1},"1788":{"docs":1},"1789":{"docs":1},"1790":{"docs":1},"1791":{"docs":1},"1792":{"docs":1},"1793":{"docs":1},"1794":{"docs":1},"1795":{"docs":1},"1796":{"docs":1},"1797":{"docs":1},"1798":{"docs":1},"1799":{"docs":1},"1800":{"docs":1},"1801":{"docs":1},"1802":{"docs":1},"1803":{"docs":1},"1804":{"docs":1},"1805":{"docs":1},"1806":{"docs":1},"1807":{"docs":1},"1808":{"docs":1},"1809":{"docs":1},"1810":{"docs":1},"1811":{"docs":1},"1812":{"docs":1},"1813":{"docs":1},"1814":{"docs":1},"1815":{"docs":1},"1816":{"docs":1},"1817":{"docs":1},"1818":{"docs":1},"1819":{"docs":1},"1820":{"docs":1},"1821":{"docs":1},"1822":{"docs":1},"1823":{"docs":1},"1824":{"docs":1},"1825":{"docs":1},"1826":{"docs":1},"1827":{"docs":1},"1828":{"docs":1},"1829":{"docs":1},"1830":{"docs":1},"1831":{"docs":1},"1832":{"docs":1},"1833":{"docs":1},"1834":{"docs":1},"1835":{"docs":1},"1836":{"docs":1},"1837":{"docs":1},"1838":{"docs":1},"1839":{"docs":1},"1840":{"docs":1},"1841":{"docs":1},"1842":{"docs":1},"1843":{"docs":1},"1844":{"docs":1},"1845":{"docs":1},"1846":{"docs":1},"1847":{"docs":1},"1848":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1849":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1850":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1851":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1852":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1853":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1854":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1855":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1856":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1857":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1858":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1859":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1860":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1861":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1862":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1863":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1864":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1865":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1866":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1867":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1868":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1869":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1870":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1871":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1872":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1873":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1874":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1875":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1876":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1877":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1878":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1879":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1880":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1881":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1882":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1883":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1884":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1885":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1886":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1887":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1888":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1889":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1890":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1891":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1892":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1893":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1894":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1895":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1896":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1897":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1898":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1899":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1900":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1901":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1902":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1903":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1904":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1905":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1906":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1907":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1908":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1909":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1910":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1911":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1912":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1913":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1914":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1915":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1916":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1917":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1918":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1919":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1920":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1921":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1922":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1923":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1924":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1925":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1926":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1927":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1928":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1929":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1930":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1931":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1932":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1933":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1934":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1935":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1936":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1937":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1938":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1939":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1940":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1941":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1942":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1943":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1944":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1945":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1946":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1947":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1948":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1949":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1950":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1951":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1952":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1953":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1954":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1955":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1956":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1957":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1958":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1959":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1960":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1961":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1962":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1963":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1964":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1965":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1966":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1967":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1968":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1969":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1970":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1971":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1972":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1973":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1974":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1975":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1976":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1977":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1978":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1979":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1980":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1981":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1982":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1983":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1984":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1985":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1986":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1987":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1988":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1989":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1990":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1991":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1992":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1993":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1994":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1995":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1996":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1997":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1998":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1999":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2000":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2001":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2002":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2003":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2004":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2005":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2006":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2007":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2008":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2009":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2010":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2011":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2012":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2013":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2014":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2015":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2016":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2017":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2018":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2019":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2020":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2021":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2022":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2023":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2024":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2025":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2026":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2027":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2028":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2029":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2030":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2031":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2032":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2033":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2034":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2035":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2036":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2037":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2038":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2039":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2040":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2041":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2042":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2043":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2044":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2045":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2046":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2047":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2048":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2049":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2050":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2051":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2052":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2053":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2054":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2055":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2056":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2057":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2058":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2059":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2060":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2061":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2062":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2063":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2064":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2065":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2066":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2067":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2068":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2069":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2070":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2071":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2072":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2073":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2074":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2075":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2076":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2077":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2078":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2079":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2080":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2081":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2082":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2083":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2084":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2085":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2086":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2087":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2088":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2089":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2090":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2091":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2092":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2093":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2094":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2095":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2096":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2097":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2098":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2099":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2100":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2101":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2102":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2103":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2104":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2105":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2106":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2107":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2108":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2109":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2110":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2111":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2112":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2113":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2114":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2115":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2116":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2117":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2118":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2119":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2120":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2121":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2122":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2123":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2124":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2125":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2126":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2127":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2128":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2129":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2130":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2131":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2132":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2133":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2134":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2135":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2136":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2137":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2138":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2139":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2140":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2141":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2142":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2143":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2144":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2145":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2146":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2147":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2148":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2149":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2150":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2151":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2152":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2153":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2154":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2155":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2156":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2157":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2158":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2159":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2160":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2161":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2162":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2163":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2164":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2165":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2166":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2167":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2168":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2169":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2170":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2171":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2172":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2173":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2174":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2175":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2176":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2177":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2178":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2179":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2180":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2181":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2182":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2183":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2184":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2185":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2186":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2187":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2188":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2189":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2190":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2191":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2192":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2193":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"2194":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333}},"type":{"1":{"page":1},"2":{"text":1},"3":{"heading":1},"4":{"heading":1},"5":{"heading":1},"6":{"heading":1},"7":{"heading":1},"8":{"heading":1},"9":{"heading":1},"10":{"heading":1},"11":{"text":1},"12":{"text":1},"13":{"text":1},"14":{"text":1},"15":{"text":1},"16":{"text":1},"17":{"text":1},"18":{"text":1},"19":{"text":1},"20":{"text":1},"21":{"text":1},"22":{"text":1},"23":{"text":1},"24":{"text":1},"25":{"text":1},"26":{"text":1},"27":{"text":1},"28":{"text":1},"29":{"text":1},"30":{"text":1},"31":{"text":1},"32":{"text":1},"33":{"text":1},"34":{"text":1},"35":{"text":1},"36":{"text":1},"37":{"text":1},"38":{"text":1},"39":{"text":1},"40":{"text":1},"41":{"page":1},"42":{"text":1},"43":{"heading":1},"44":{"heading":1},"45":{"text":1},"46":{"text":1},"47":{"text":1},"48":{"text":1},"49":{"text":1},"50":{"text":1},"51":{"text":1},"52":{"page":1},"53":{"text":1},"54":{"heading":1},"55":{"heading":1},"56":{"heading":1},"57":{"text":1},"58":{"text":1},"59":{"text":1},"60":{"text":1},"61":{"text":1},"62":{"text":1},"63":{"text":1},"64":{"text":1},"65":{"text":1},"66":{"text":1},"67":{"text":1},"68":{"text":1},"69":{"text":1},"70":{"text":1},"71":{"text":1},"72":{"text":1},"73":{"text":1},"74":{"text":1},"75":{"text":1},"76":{"text":1},"77":{"text":1},"78":{"text":1},"79":{"text":1},"80":{"text":1},"81":{"text":1},"82":{"text":1},"83":{"text":1},"84":{"text":1},"85":{"text":1},"86":{"text":1},"87":{"text":1},"88":{"text":1},"89":{"text":1},"90":{"text":1},"91":{"text":1},"92":{"text":1},"93":{"text":1},"94":{"text":1},"95":{"text":1},"96":{"text":1},"97":{"text":1},"98":{"text":1},"99":{"text":1},"100":{"text":1},"101":{"text":1},"102":{"text":1},"103":{"text":1},"104":{"text":1},"105":{"text":1},"106":{"text":1},"107":{"text":1},"108":{"text":1},"109":{"text":1},"110":{"text":1},"111":{"text":1},"112":{"text":1},"113":{"text":1},"114":{"text":1},"115":{"text":1},"116":{"text":1},"117":{"text":1},"118":{"text":1},"119":{"text":1},"120":{"text":1},"121":{"text":1},"122":{"text":1},"123":{"text":1},"124":{"text":1},"125":{"text":1},"126":{"text":1},"127":{"text":1},"128":{"text":1},"129":{"text":1},"130":{"text":1},"131":{"text":1},"132":{"text":1},"133":{"text":1},"134":{"text":1},"135":{"text":1},"136":{"text":1},"137":{"text":1},"138":{"text":1},"139":{"page":1},"140":{"text":1},"141":{"heading":1},"142":{"heading":1},"143":{"text":1},"144":{"text":1},"145":{"text":1},"146":{"text":1},"147":{"text":1},"148":{"text":1},"149":{"text":1},"150":{"text":1},"151":{"text":1},"152":{"text":1},"153":{"text":1},"154":{"text":1},"155":{"text":1},"156":{"text":1},"157":{"text":1},"158":{"text":1},"159":{"text":1},"160":{"page":1},"161":{"text":1},"162":{"heading":1},"163":{"heading":1},"164":{"heading":1},"165":{"heading":1},"166":{"heading":1},"167":{"heading":1},"168":{"heading":1},"169":{"heading":1},"170":{"heading":1},"171":{"heading":1},"172":{"heading":1},"173":{"heading":1},"174":{"text":1},"175":{"text":1},"176":{"text":1},"177":{"text":1},"178":{"text":1},"179":{"text":1},"180":{"text":1},"181":{"text":1},"182":{"text":1},"183":{"text":1},"184":{"text":1},"185":{"text":1},"186":{"text":1},"187":{"text":1},"188":{"text":1},"189":{"text":1},"190":{"text":1},"191":{"text":1},"192":{"text":1},"193":{"text":1},"194":{"text":1},"195":{"text":1},"196":{"text":1},"197":{"text":1},"198":{"text":1},"199":{"text":1},"200":{"text":1},"201":{"text":1},"202":{"text":1},"203":{"text":1},"204":{"text":1},"205":{"text":1},"206":{"text":1},"207":{"text":1},"208":{"text":1},"209":{"text":1},"210":{"text":1},"211":{"text":1},"212":{"text":1},"213":{"text":1},"214":{"text":1},"215":{"text":1},"216":{"text":1},"217":{"text":1},"218":{"text":1},"219":{"text":1},"220":{"text":1},"221":{"text":1},"222":{"text":1},"223":{"text":1},"224":{"text":1},"225":{"text":1},"226":{"text":1},"227":{"text":1},"228":{"text":1},"229":{"text":1},"230":{"text":1},"231":{"text":1},"232":{"text":1},"233":{"text":1},"234":{"text":1},"235":{"text":1},"236":{"text":1},"237":{"text":1},"238":{"text":1},"239":{"text":1},"240":{"text":1},"241":{"text":1},"242":{"text":1},"243":{"text":1},"244":{"text":1},"245":{"text":1},"246":{"text":1},"247":{"text":1},"248":{"text":1},"249":{"text":1},"250":{"text":1},"251":{"text":1},"252":{"text":1},"253":{"text":1},"254":{"text":1},"255":{"text":1},"256":{"text":1},"257":{"text":1},"258":{"text":1},"259":{"text":1},"260":{"text":1},"261":{"text":1},"262":{"text":1},"263":{"text":1},"264":{"text":1},"265":{"text":1},"266":{"text":1},"267":{"text":1},"268":{"text":1},"269":{"text":1},"270":{"text":1},"271":{"text":1},"272":{"text":1},"273":{"text":1},"274":{"text":1},"275":{"text":1},"276":{"text":1},"277":{"text":1},"278":{"text":1},"279":{"text":1},"280":{"text":1},"281":{"text":1},"282":{"text":1},"283":{"text":1},"284":{"text":1},"285":{"text":1},"286":{"text":1},"287":{"text":1},"288":{"text":1},"289":{"text":1},"290":{"text":1},"291":{"text":1},"292":{"text":1},"293":{"text":1},"294":{"text":1},"295":{"text":1},"296":{"text":1},"297":{"text":1},"298":{"text":1},"299":{"text":1},"300":{"text":1},"301":{"text":1},"302":{"text":1},"303":{"text":1},"304":{"text":1},"305":{"text":1},"306":{"text":1},"307":{"text":1},"308":{"text":1},"309":{"text":1},"310":{"text":1},"311":{"text":1},"312":{"text":1},"313":{"text":1},"314":{"text":1},"315":{"text":1},"316":{"text":1},"317":{"text":1},"318":{"text":1},"319":{"text":1},"320":{"text":1},"321":{"text":1},"322":{"text":1},"323":{"text":1},"324":{"text":1},"325":{"text":1},"326":{"text":1},"327":{"text":1},"328":{"text":1},"329":{"text":1},"330":{"text":1},"331":{"text":1},"332":{"text":1},"333":{"text":1},"334":{"text":1},"335":{"text":1},"336":{"text":1},"337":{"text":1},"338":{"text":1},"339":{"text":1},"340":{"text":1},"341":{"text":1},"342":{"text":1},"343":{"text":1},"344":{"text":1},"345":{"text":1},"346":{"text":1},"347":{"text":1},"348":{"text":1},"349":{"text":1},"350":{"text":1},"351":{"text":1},"352":{"text":1},"353":{"text":1},"354":{"text":1},"355":{"text":1},"356":{"text":1},"357":{"text":1},"358":{"text":1},"359":{"text":1},"360":{"text":1},"361":{"text":1},"362":{"text":1},"363":{"text":1},"364":{"text":1},"365":{"text":1},"366":{"text":1},"367":{"text":1},"368":{"text":1},"369":{"text":1},"370":{"text":1},"371":{"text":1},"372":{"text":1},"373":{"text":1},"374":{"text":1},"375":{"text":1},"376":{"text":1},"377":{"text":1},"378":{"text":1},"379":{"text":1},"380":{"text":1},"381":{"text":1},"382":{"text":1},"383":{"text":1},"384":{"text":1},"385":{"text":1},"386":{"text":1},"387":{"text":1},"388":{"text":1},"389":{"text":1},"390":{"text":1},"391":{"text":1},"392":{"text":1},"393":{"text":1},"394":{"text":1},"395":{"text":1},"396":{"text":1},"397":{"text":1},"398":{"text":1},"399":{"text":1},"400":{"text":1},"401":{"text":1},"402":{"text":1},"403":{"text":1},"404":{"text":1},"405":{"text":1},"406":{"text":1},"407":{"text":1},"408":{"text":1},"409":{"text":1},"410":{"text":1},"411":{"text":1},"412":{"text":1},"413":{"text":1},"414":{"text":1},"415":{"text":1},"416":{"text":1},"417":{"text":1},"418":{"text":1},"419":{"text":1},"420":{"text":1},"421":{"text":1},"422":{"text":1},"423":{"text":1},"424":{"text":1},"425":{"text":1},"426":{"text":1},"427":{"text":1},"428":{"text":1},"429":{"text":1},"430":{"text":1},"431":{"text":1},"432":{"text":1},"433":{"text":1},"434":{"text":1},"435":{"text":1},"436":{"page":1},"437":{"text":1},"438":{"heading":1},"439":{"heading":1},"440":{"heading":1},"441":{"heading":1},"442":{"text":1},"443":{"text":1},"444":{"text":1},"445":{"text":1},"446":{"text":1},"447":{"text":1},"448":{"text":1},"449":{"text":1},"450":{"text":1},"451":{"text":1},"452":{"text":1},"453":{"text":1},"454":{"text":1},"455":{"text":1},"456":{"page":1},"457":{"text":1},"458":{"heading":1},"459":{"heading":1},"460":{"heading":1},"461":{"heading":1},"462":{"heading":1},"463":{"heading":1},"464":{"heading":1},"465":{"heading":1},"466":{"heading":1},"467":{"text":1},"468":{"text":1},"469":{"text":1},"470":{"text":1},"471":{"text":1},"472":{"text":1},"473":{"text":1},"474":{"text":1},"475":{"text":1},"476":{"text":1},"477":{"text":1},"478":{"text":1},"479":{"text":1},"480":{"text":1},"481":{"text":1},"482":{"text":1},"483":{"text":1},"484":{"text":1},"485":{"text":1},"486":{"text":1},"487":{"text":1},"488":{"text":1},"489":{"text":1},"490":{"text":1},"491":{"text":1},"492":{"text":1},"493":{"text":1},"494":{"text":1},"495":{"text":1},"496":{"text":1},"497":{"text":1},"498":{"text":1},"499":{"text":1},"500":{"text":1},"501":{"text":1},"502":{"text":1},"503":{"text":1},"504":{"text":1},"505":{"text":1},"506":{"text":1},"507":{"text":1},"508":{"text":1},"509":{"text":1},"510":{"text":1},"511":{"text":1},"512":{"text":1},"513":{"text":1},"514":{"text":1},"515":{"text":1},"516":{"text":1},"517":{"text":1},"518":{"text":1},"519":{"text":1},"520":{"text":1},"521":{"text":1},"522":{"text":1},"523":{"text":1},"524":{"text":1},"525":{"text":1},"526":{"text":1},"527":{"text":1},"528":{"text":1},"529":{"text":1},"530":{"text":1},"531":{"text":1},"532":{"text":1},"533":{"text":1},"534":{"text":1},"535":{"text":1},"536":{"text":1},"537":{"text":1},"538":{"text":1},"539":{"text":1},"540":{"page":1},"541":{"text":1},"542":{"page":1},"543":{"text":1},"544":{"heading":1},"545":{"heading":1},"546":{"heading":1},"547":{"heading":1},"548":{"heading":1},"549":{"heading":1},"550":{"heading":1},"551":{"heading":1},"552":{"heading":1},"553":{"heading":1},"554":{"heading":1},"555":{"heading":1},"556":{"heading":1},"557":{"heading":1},"558":{"heading":1},"559":{"heading":1},"560":{"heading":1},"561":{"heading":1},"562":{"heading":1},"563":{"heading":1},"564":{"heading":1},"565":{"heading":1},"566":{"heading":1},"567":{"heading":1},"568":{"heading":1},"569":{"heading":1},"570":{"heading":1},"571":{"heading":1},"572":{"heading":1},"573":{"text":1},"574":{"text":1},"575":{"text":1},"576":{"text":1},"577":{"text":1},"578":{"text":1},"579":{"text":1},"580":{"text":1},"581":{"text":1},"582":{"text":1},"583":{"text":1},"584":{"text":1},"585":{"text":1},"586":{"text":1},"587":{"text":1},"588":{"text":1},"589":{"text":1},"590":{"text":1},"591":{"text":1},"592":{"text":1},"593":{"text":1},"594":{"text":1},"595":{"text":1},"596":{"text":1},"597":{"text":1},"598":{"text":1},"599":{"text":1},"600":{"text":1},"601":{"text":1},"602":{"text":1},"603":{"text":1},"604":{"text":1},"605":{"text":1},"606":{"text":1},"607":{"text":1},"608":{"text":1},"609":{"page":1},"610":{"text":1},"611":{"heading":1},"612":{"heading":1},"613":{"heading":1},"614":{"heading":1},"615":{"heading":1},"616":{"heading":1},"617":{"heading":1},"618":{"heading":1},"619":{"heading":1},"620":{"heading":1},"621":{"heading":1},"622":{"heading":1},"623":{"heading":1},"624":{"heading":1},"625":{"heading":1},"626":{"heading":1},"627":{"heading":1},"628":{"heading":1},"629":{"heading":1},"630":{"heading":1},"631":{"heading":1},"632":{"heading":1},"633":{"text":1},"634":{"text":1},"635":{"text":1},"636":{"text":1},"637":{"text":1},"638":{"text":1},"639":{"text":1},"640":{"text":1},"641":{"text":1},"642":{"text":1},"643":{"text":1},"644":{"text":1},"645":{"text":1},"646":{"text":1},"647":{"text":1},"648":{"text":1},"649":{"text":1},"650":{"text":1},"651":{"text":1},"652":{"text":1},"653":{"text":1},"654":{"text":1},"655":{"text":1},"656":{"text":1},"657":{"text":1},"658":{"text":1},"659":{"text":1},"660":{"text":1},"661":{"text":1},"662":{"text":1},"663":{"text":1},"664":{"text":1},"665":{"text":1},"666":{"text":1},"667":{"text":1},"668":{"text":1},"669":{"text":1},"670":{"text":1},"671":{"text":1},"672":{"text":1},"673":{"text":1},"674":{"text":1},"675":{"text":1},"676":{"text":1},"677":{"text":1},"678":{"text":1},"679":{"text":1},"680":{"text":1},"681":{"text":1},"682":{"text":1},"683":{"text":1},"684":{"text":1},"685":{"text":1},"686":{"text":1},"687":{"text":1},"688":{"text":1},"689":{"text":1},"690":{"text":1},"691":{"text":1},"692":{"text":1},"693":{"text":1},"694":{"text":1},"695":{"text":1},"696":{"text":1},"697":{"text":1},"698":{"text":1},"699":{"text":1},"700":{"text":1},"701":{"text":1},"702":{"text":1},"703":{"text":1},"704":{"text":1},"705":{"text":1},"706":{"text":1},"707":{"text":1},"708":{"text":1},"709":{"text":1},"710":{"text":1},"711":{"text":1},"712":{"text":1},"713":{"text":1},"714":{"text":1},"715":{"text":1},"716":{"text":1},"717":{"text":1},"718":{"text":1},"719":{"text":1},"720":{"text":1},"721":{"text":1},"722":{"text":1},"723":{"text":1},"724":{"text":1},"725":{"text":1},"726":{"text":1},"727":{"text":1},"728":{"text":1},"729":{"text":1},"730":{"text":1},"731":{"text":1},"732":{"text":1},"733":{"text":1},"734":{"text":1},"735":{"text":1},"736":{"page":1},"737":{"text":1},"738":{"heading":1},"739":{"heading":1},"740":{"heading":1},"741":{"heading":1},"742":{"heading":1},"743":{"heading":1},"744":{"heading":1},"745":{"text":1},"746":{"text":1},"747":{"text":1},"748":{"text":1},"749":{"text":1},"750":{"text":1},"751":{"text":1},"752":{"text":1},"753":{"text":1},"754":{"text":1},"755":{"text":1},"756":{"text":1},"757":{"text":1},"758":{"text":1},"759":{"text":1},"760":{"text":1},"761":{"text":1},"762":{"text":1},"763":{"text":1},"764":{"text":1},"765":{"text":1},"766":{"text":1},"767":{"text":1},"768":{"text":1},"769":{"text":1},"770":{"text":1},"771":{"text":1},"772":{"text":1},"773":{"text":1},"774":{"text":1},"775":{"text":1},"776":{"text":1},"777":{"text":1},"778":{"text":1},"779":{"text":1},"780":{"text":1},"781":{"text":1},"782":{"text":1},"783":{"text":1},"784":{"text":1},"785":{"text":1},"786":{"text":1},"787":{"text":1},"788":{"text":1},"789":{"text":1},"790":{"text":1},"791":{"text":1},"792":{"text":1},"793":{"text":1},"794":{"page":1},"795":{"text":1},"796":{"heading":1},"797":{"heading":1},"798":{"heading":1},"799":{"heading":1},"800":{"heading":1},"801":{"heading":1},"802":{"heading":1},"803":{"heading":1},"804":{"heading":1},"805":{"heading":1},"806":{"heading":1},"807":{"heading":1},"808":{"heading":1},"809":{"text":1},"810":{"text":1},"811":{"text":1},"812":{"text":1},"813":{"text":1},"814":{"text":1},"815":{"text":1},"816":{"text":1},"817":{"text":1},"818":{"text":1},"819":{"text":1},"820":{"text":1},"821":{"text":1},"822":{"text":1},"823":{"text":1},"824":{"text":1},"825":{"text":1},"826":{"text":1},"827":{"text":1},"828":{"text":1},"829":{"text":1},"830":{"text":1},"831":{"text":1},"832":{"text":1},"833":{"text":1},"834":{"text":1},"835":{"text":1},"836":{"text":1},"837":{"text":1},"838":{"text":1},"839":{"text":1},"840":{"text":1},"841":{"text":1},"842":{"text":1},"843":{"text":1},"844":{"text":1},"845":{"text":1},"846":{"text":1},"847":{"text":1},"848":{"text":1},"849":{"text":1},"850":{"text":1},"851":{"text":1},"852":{"text":1},"853":{"text":1},"854":{"text":1},"855":{"text":1},"856":{"text":1},"857":{"text":1},"858":{"text":1},"859":{"text":1},"860":{"text":1},"861":{"text":1},"862":{"text":1},"863":{"text":1},"864":{"text":1},"865":{"page":1},"866":{"text":1},"867":{"heading":1},"868":{"heading":1},"869":{"heading":1},"870":{"text":1},"871":{"text":1},"872":{"text":1},"873":{"text":1},"874":{"text":1},"875":{"text":1},"876":{"text":1},"877":{"text":1},"878":{"text":1},"879":{"text":1},"880":{"text":1},"881":{"text":1},"882":{"text":1},"883":{"text":1},"884":{"text":1},"885":{"page":1},"886":{"text":1},"887":{"heading":1},"888":{"heading":1},"889":{"heading":1},"890":{"heading":1},"891":{"heading":1},"892":{"heading":1},"893":{"heading":1},"894":{"heading":1},"895":{"heading":1},"896":{"heading":1},"897":{"heading":1},"898":{"heading":1},"899":{"heading":1},"900":{"heading":1},"901":{"heading":1},"902":{"text":1},"903":{"text":1},"904":{"text":1},"905":{"text":1},"906":{"text":1},"907":{"text":1},"908":{"text":1},"909":{"text":1},"910":{"text":1},"911":{"text":1},"912":{"text":1},"913":{"text":1},"914":{"text":1},"915":{"text":1},"916":{"text":1},"917":{"text":1},"918":{"text":1},"919":{"text":1},"920":{"text":1},"921":{"text":1},"922":{"text":1},"923":{"text":1},"924":{"text":1},"925":{"text":1},"926":{"text":1},"927":{"text":1},"928":{"text":1},"929":{"text":1},"930":{"text":1},"931":{"text":1},"932":{"text":1},"933":{"text":1},"934":{"text":1},"935":{"text":1},"936":{"text":1},"937":{"text":1},"938":{"text":1},"939":{"text":1},"940":{"text":1},"941":{"text":1},"942":{"text":1},"943":{"text":1},"944":{"text":1},"945":{"text":1},"946":{"text":1},"947":{"text":1},"948":{"text":1},"949":{"text":1},"950":{"text":1},"951":{"text":1},"952":{"text":1},"953":{"text":1},"954":{"text":1},"955":{"text":1},"956":{"text":1},"957":{"text":1},"958":{"page":1},"959":{"text":1},"960":{"heading":1},"961":{"heading":1},"962":{"heading":1},"963":{"text":1},"964":{"text":1},"965":{"text":1},"966":{"text":1},"967":{"text":1},"968":{"text":1},"969":{"text":1},"970":{"text":1},"971":{"text":1},"972":{"text":1},"973":{"text":1},"974":{"text":1},"975":{"text":1},"976":{"page":1},"977":{"text":1},"978":{"heading":1},"979":{"heading":1},"980":{"text":1},"981":{"text":1},"982":{"text":1},"983":{"text":1},"984":{"text":1},"985":{"text":1},"986":{"text":1},"987":{"text":1},"988":{"text":1},"989":{"text":1},"990":{"text":1},"991":{"text":1},"992":{"text":1},"993":{"page":1},"994":{"text":1},"995":{"heading":1},"996":{"heading":1},"997":{"heading":1},"998":{"heading":1},"999":{"heading":1},"1000":{"heading":1},"1001":{"heading":1},"1002":{"heading":1},"1003":{"heading":1},"1004":{"heading":1},"1005":{"heading":1},"1006":{"heading":1},"1007":{"heading":1},"1008":{"heading":1},"1009":{"heading":1},"1010":{"heading":1},"1011":{"heading":1},"1012":{"heading":1},"1013":{"heading":1},"1014":{"heading":1},"1015":{"text":1},"1016":{"text":1},"1017":{"text":1},"1018":{"text":1},"1019":{"text":1},"1020":{"text":1},"1021":{"text":1},"1022":{"text":1},"1023":{"text":1},"1024":{"text":1},"1025":{"text":1},"1026":{"text":1},"1027":{"text":1},"1028":{"text":1},"1029":{"text":1},"1030":{"text":1},"1031":{"text":1},"1032":{"text":1},"1033":{"text":1},"1034":{"text":1},"1035":{"text":1},"1036":{"text":1},"1037":{"text":1},"1038":{"text":1},"1039":{"text":1},"1040":{"text":1},"1041":{"text":1},"1042":{"text":1},"1043":{"text":1},"1044":{"text":1},"1045":{"text":1},"1046":{"text":1},"1047":{"text":1},"1048":{"text":1},"1049":{"text":1},"1050":{"text":1},"1051":{"text":1},"1052":{"text":1},"1053":{"text":1},"1054":{"text":1},"1055":{"text":1},"1056":{"text":1},"1057":{"text":1},"1058":{"text":1},"1059":{"text":1},"1060":{"text":1},"1061":{"text":1},"1062":{"text":1},"1063":{"text":1},"1064":{"text":1},"1065":{"text":1},"1066":{"text":1},"1067":{"text":1},"1068":{"text":1},"1069":{"text":1},"1070":{"text":1},"1071":{"text":1},"1072":{"text":1},"1073":{"text":1},"1074":{"text":1},"1075":{"text":1},"1076":{"text":1},"1077":{"text":1},"1078":{"page":1},"1079":{"text":1},"1080":{"heading":1},"1081":{"heading":1},"1082":{"heading":1},"1083":{"heading":1},"1084":{"heading":1},"1085":{"heading":1},"1086":{"heading":1},"1087":{"heading":1},"1088":{"text":1},"1089":{"text":1},"1090":{"text":1},"1091":{"text":1},"1092":{"text":1},"1093":{"text":1},"1094":{"text":1},"1095":{"text":1},"1096":{"text":1},"1097":{"text":1},"1098":{"text":1},"1099":{"text":1},"1100":{"text":1},"1101":{"text":1},"1102":{"text":1},"1103":{"text":1},"1104":{"text":1},"1105":{"text":1},"1106":{"text":1},"1107":{"text":1},"1108":{"text":1},"1109":{"text":1},"1110":{"page":1},"1111":{"text":1},"1112":{"heading":1},"1113":{"heading":1},"1114":{"heading":1},"1115":{"heading":1},"1116":{"heading":1},"1117":{"heading":1},"1118":{"heading":1},"1119":{"heading":1},"1120":{"text":1},"1121":{"text":1},"1122":{"text":1},"1123":{"text":1},"1124":{"text":1},"1125":{"text":1},"1126":{"text":1},"1127":{"text":1},"1128":{"text":1},"1129":{"text":1},"1130":{"text":1},"1131":{"text":1},"1132":{"text":1},"1133":{"text":1},"1134":{"text":1},"1135":{"text":1},"1136":{"text":1},"1137":{"text":1},"1138":{"text":1},"1139":{"text":1},"1140":{"text":1},"1141":{"text":1},"1142":{"text":1},"1143":{"text":1},"1144":{"text":1},"1145":{"text":1},"1146":{"text":1},"1147":{"text":1},"1148":{"text":1},"1149":{"page":1},"1150":{"text":1},"1151":{"heading":1},"1152":{"heading":1},"1153":{"heading":1},"1154":{"text":1},"1155":{"text":1},"1156":{"text":1},"1157":{"text":1},"1158":{"text":1},"1159":{"text":1},"1160":{"text":1},"1161":{"text":1},"1162":{"text":1},"1163":{"text":1},"1164":{"text":1},"1165":{"text":1},"1166":{"text":1},"1167":{"text":1},"1168":{"text":1},"1169":{"text":1},"1170":{"text":1},"1171":{"text":1},"1172":{"text":1},"1173":{"text":1},"1174":{"text":1},"1175":{"text":1},"1176":{"text":1},"1177":{"text":1},"1178":{"text":1},"1179":{"text":1},"1180":{"text":1},"1181":{"text":1},"1182":{"text":1},"1183":{"text":1},"1184":{"text":1},"1185":{"text":1},"1186":{"text":1},"1187":{"text":1},"1188":{"text":1},"1189":{"text":1},"1190":{"text":1},"1191":{"text":1},"1192":{"text":1},"1193":{"text":1},"1194":{"text":1},"1195":{"text":1},"1196":{"text":1},"1197":{"text":1},"1198":{"text":1},"1199":{"text":1},"1200":{"text":1},"1201":{"text":1},"1202":{"text":1},"1203":{"text":1},"1204":{"page":1},"1205":{"text":1},"1206":{"heading":1},"1207":{"heading":1},"1208":{"heading":1},"1209":{"heading":1},"1210":{"heading":1},"1211":{"text":1},"1212":{"text":1},"1213":{"text":1},"1214":{"text":1},"1215":{"text":1},"1216":{"text":1},"1217":{"text":1},"1218":{"text":1},"1219":{"text":1},"1220":{"text":1},"1221":{"text":1},"1222":{"text":1},"1223":{"text":1},"1224":{"text":1},"1225":{"text":1},"1226":{"text":1},"1227":{"text":1},"1228":{"text":1},"1229":{"text":1},"1230":{"text":1},"1231":{"text":1},"1232":{"text":1},"1233":{"text":1},"1234":{"text":1},"1235":{"text":1},"1236":{"text":1},"1237":{"text":1},"1238":{"text":1},"1239":{"text":1},"1240":{"text":1},"1241":{"text":1},"1242":{"text":1},"1243":{"text":1},"1244":{"text":1},"1245":{"text":1},"1246":{"text":1},"1247":{"text":1},"1248":{"text":1},"1249":{"text":1},"1250":{"text":1},"1251":{"text":1},"1252":{"text":1},"1253":{"text":1},"1254":{"text":1},"1255":{"text":1},"1256":{"text":1},"1257":{"page":1},"1258":{"text":1},"1259":{"heading":1},"1260":{"heading":1},"1261":{"text":1},"1262":{"text":1},"1263":{"text":1},"1264":{"text":1},"1265":{"text":1},"1266":{"text":1},"1267":{"text":1},"1268":{"text":1},"1269":{"text":1},"1270":{"text":1},"1271":{"text":1},"1272":{"text":1},"1273":{"text":1},"1274":{"text":1},"1275":{"text":1},"1276":{"text":1},"1277":{"page":1},"1278":{"text":1},"1279":{"text":1},"1280":{"text":1},"1281":{"text":1},"1282":{"text":1},"1283":{"text":1},"1284":{"text":1},"1285":{"text":1},"1286":{"text":1},"1287":{"text":1},"1288":{"text":1},"1289":{"text":1},"1290":{"page":1},"1291":{"text":1},"1292":{"heading":1},"1293":{"heading":1},"1294":{"heading":1},"1295":{"heading":1},"1296":{"heading":1},"1297":{"heading":1},"1298":{"heading":1},"1299":{"heading":1},"1300":{"heading":1},"1301":{"heading":1},"1302":{"heading":1},"1303":{"heading":1},"1304":{"text":1},"1305":{"text":1},"1306":{"text":1},"1307":{"text":1},"1308":{"text":1},"1309":{"text":1},"1310":{"text":1},"1311":{"text":1},"1312":{"text":1},"1313":{"text":1},"1314":{"text":1},"1315":{"text":1},"1316":{"text":1},"1317":{"text":1},"1318":{"text":1},"1319":{"text":1},"1320":{"text":1},"1321":{"text":1},"1322":{"text":1},"1323":{"text":1},"1324":{"text":1},"1325":{"text":1},"1326":{"text":1},"1327":{"text":1},"1328":{"text":1},"1329":{"text":1},"1330":{"text":1},"1331":{"text":1},"1332":{"text":1},"1333":{"text":1},"1334":{"text":1},"1335":{"text":1},"1336":{"text":1},"1337":{"text":1},"1338":{"text":1},"1339":{"text":1},"1340":{"text":1},"1341":{"text":1},"1342":{"page":1},"1343":{"text":1},"1344":{"text":1},"1345":{"text":1},"1346":{"text":1},"1347":{"text":1},"1348":{"text":1},"1349":{"text":1},"1350":{"page":1},"1351":{"text":1},"1352":{"heading":1},"1353":{"text":1},"1354":{"text":1},"1355":{"text":1},"1356":{"text":1},"1357":{"text":1},"1358":{"text":1},"1359":{"text":1},"1360":{"text":1},"1361":{"text":1},"1362":{"page":1},"1363":{"text":1},"1364":{"text":1},"1365":{"text":1},"1366":{"text":1},"1367":{"text":1},"1368":{"text":1},"1369":{"text":1},"1370":{"text":1},"1371":{"text":1},"1372":{"text":1},"1373":{"text":1},"1374":{"text":1},"1375":{"text":1},"1376":{"text":1},"1377":{"text":1},"1378":{"text":1},"1379":{"page":1},"1380":{"text":1},"1381":{"heading":1},"1382":{"text":1},"1383":{"text":1},"1384":{"text":1},"1385":{"text":1},"1386":{"text":1},"1387":{"text":1},"1388":{"text":1},"1389":{"text":1},"1390":{"text":1},"1391":{"text":1},"1392":{"text":1},"1393":{"text":1},"1394":{"text":1},"1395":{"text":1},"1396":{"text":1},"1397":{"text":1},"1398":{"text":1},"1399":{"text":1},"1400":{"text":1},"1401":{"text":1},"1402":{"text":1},"1403":{"text":1},"1404":{"text":1},"1405":{"text":1},"1406":{"text":1},"1407":{"text":1},"1408":{"text":1},"1409":{"text":1},"1410":{"text":1},"1411":{"text":1},"1412":{"text":1},"1413":{"text":1},"1414":{"text":1},"1415":{"text":1},"1416":{"text":1},"1417":{"text":1},"1418":{"text":1},"1419":{"text":1},"1420":{"text":1},"1421":{"text":1},"1422":{"text":1},"1423":{"text":1},"1424":{"text":1},"1425":{"page":1},"1426":{"text":1},"1427":{"heading":1},"1428":{"heading":1},"1429":{"heading":1},"1430":{"heading":1},"1431":{"heading":1},"1432":{"text":1},"1433":{"text":1},"1434":{"text":1},"1435":{"text":1},"1436":{"text":1},"1437":{"text":1},"1438":{"text":1},"1439":{"text":1},"1440":{"text":1},"1441":{"text":1},"1442":{"text":1},"1443":{"text":1},"1444":{"text":1},"1445":{"text":1},"1446":{"text":1},"1447":{"text":1},"1448":{"text":1},"1449":{"text":1},"1450":{"text":1},"1451":{"text":1},"1452":{"text":1},"1453":{"text":1},"1454":{"text":1},"1455":{"text":1},"1456":{"text":1},"1457":{"page":1},"1458":{"text":1},"1459":{"heading":1},"1460":{"heading":1},"1461":{"heading":1},"1462":{"heading":1},"1463":{"heading":1},"1464":{"heading":1},"1465":{"heading":1},"1466":{"heading":1},"1467":{"heading":1},"1468":{"heading":1},"1469":{"heading":1},"1470":{"heading":1},"1471":{"heading":1},"1472":{"text":1},"1473":{"text":1},"1474":{"text":1},"1475":{"text":1},"1476":{"text":1},"1477":{"text":1},"1478":{"text":1},"1479":{"text":1},"1480":{"text":1},"1481":{"text":1},"1482":{"text":1},"1483":{"text":1},"1484":{"text":1},"1485":{"text":1},"1486":{"text":1},"1487":{"text":1},"1488":{"text":1},"1489":{"text":1},"1490":{"text":1},"1491":{"text":1},"1492":{"text":1},"1493":{"text":1},"1494":{"text":1},"1495":{"text":1},"1496":{"text":1},"1497":{"text":1},"1498":{"text":1},"1499":{"text":1},"1500":{"text":1},"1501":{"text":1},"1502":{"text":1},"1503":{"text":1},"1504":{"text":1},"1505":{"text":1},"1506":{"text":1},"1507":{"text":1},"1508":{"text":1},"1509":{"text":1},"1510":{"text":1},"1511":{"text":1},"1512":{"text":1},"1513":{"text":1},"1514":{"text":1},"1515":{"text":1},"1516":{"text":1},"1517":{"text":1},"1518":{"text":1},"1519":{"text":1},"1520":{"text":1},"1521":{"text":1},"1522":{"text":1},"1523":{"text":1},"1524":{"text":1},"1525":{"text":1},"1526":{"text":1},"1527":{"text":1},"1528":{"text":1},"1529":{"text":1},"1530":{"text":1},"1531":{"text":1},"1532":{"text":1},"1533":{"text":1},"1534":{"text":1},"1535":{"text":1},"1536":{"text":1},"1537":{"text":1},"1538":{"text":1},"1539":{"text":1},"1540":{"text":1},"1541":{"text":1},"1542":{"text":1},"1543":{"text":1},"1544":{"text":1},"1545":{"text":1},"1546":{"text":1},"1547":{"text":1},"1548":{"text":1},"1549":{"text":1},"1550":{"text":1},"1551":{"text":1},"1552":{"text":1},"1553":{"text":1},"1554":{"text":1},"1555":{"text":1},"1556":{"text":1},"1557":{"text":1},"1558":{"text":1},"1559":{"text":1},"1560":{"text":1},"1561":{"text":1},"1562":{"page":1},"1563":{"text":1},"1564":{"heading":1},"1565":{"heading":1},"1566":{"heading":1},"1567":{"heading":1},"1568":{"heading":1},"1569":{"heading":1},"1570":{"heading":1},"1571":{"heading":1},"1572":{"heading":1},"1573":{"heading":1},"1574":{"heading":1},"1575":{"heading":1},"1576":{"heading":1},"1577":{"heading":1},"1578":{"heading":1},"1579":{"heading":1},"1580":{"heading":1},"1581":{"heading":1},"1582":{"heading":1},"1583":{"heading":1},"1584":{"heading":1},"1585":{"heading":1},"1586":{"heading":1},"1587":{"heading":1},"1588":{"heading":1},"1589":{"heading":1},"1590":{"heading":1},"1591":{"heading":1},"1592":{"heading":1},"1593":{"heading":1},"1594":{"heading":1},"1595":{"heading":1},"1596":{"heading":1},"1597":{"heading":1},"1598":{"heading":1},"1599":{"heading":1},"1600":{"heading":1},"1601":{"heading":1},"1602":{"heading":1},"1603":{"heading":1},"1604":{"heading":1},"1605":{"heading":1},"1606":{"heading":1},"1607":{"heading":1},"1608":{"heading":1},"1609":{"heading":1},"1610":{"heading":1},"1611":{"heading":1},"1612":{"heading":1},"1613":{"heading":1},"1614":{"heading":1},"1615":{"heading":1},"1616":{"heading":1},"1617":{"heading":1},"1618":{"heading":1},"1619":{"heading":1},"1620":{"heading":1},"1621":{"heading":1},"1622":{"heading":1},"1623":{"heading":1},"1624":{"text":1},"1625":{"text":1},"1626":{"text":1},"1627":{"text":1},"1628":{"text":1},"1629":{"text":1},"1630":{"text":1},"1631":{"text":1},"1632":{"text":1},"1633":{"text":1},"1634":{"text":1},"1635":{"text":1},"1636":{"text":1},"1637":{"text":1},"1638":{"text":1},"1639":{"text":1},"1640":{"text":1},"1641":{"text":1},"1642":{"text":1},"1643":{"text":1},"1644":{"text":1},"1645":{"text":1},"1646":{"text":1},"1647":{"text":1},"1648":{"text":1},"1649":{"text":1},"1650":{"text":1},"1651":{"text":1},"1652":{"text":1},"1653":{"text":1},"1654":{"text":1},"1655":{"text":1},"1656":{"text":1},"1657":{"text":1},"1658":{"text":1},"1659":{"text":1},"1660":{"text":1},"1661":{"text":1},"1662":{"text":1},"1663":{"text":1},"1664":{"text":1},"1665":{"text":1},"1666":{"text":1},"1667":{"text":1},"1668":{"text":1},"1669":{"text":1},"1670":{"text":1},"1671":{"text":1},"1672":{"text":1},"1673":{"text":1},"1674":{"text":1},"1675":{"text":1},"1676":{"text":1},"1677":{"text":1},"1678":{"text":1},"1679":{"text":1},"1680":{"text":1},"1681":{"text":1},"1682":{"text":1},"1683":{"text":1},"1684":{"text":1},"1685":{"text":1},"1686":{"text":1},"1687":{"text":1},"1688":{"text":1},"1689":{"text":1},"1690":{"text":1},"1691":{"text":1},"1692":{"text":1},"1693":{"text":1},"1694":{"text":1},"1695":{"text":1},"1696":{"text":1},"1697":{"text":1},"1698":{"text":1},"1699":{"text":1},"1700":{"text":1},"1701":{"text":1},"1702":{"text":1},"1703":{"text":1},"1704":{"text":1},"1705":{"text":1},"1706":{"text":1},"1707":{"text":1},"1708":{"text":1},"1709":{"text":1},"1710":{"text":1},"1711":{"text":1},"1712":{"text":1},"1713":{"text":1},"1714":{"text":1},"1715":{"text":1},"1716":{"text":1},"1717":{"text":1},"1718":{"text":1},"1719":{"text":1},"1720":{"text":1},"1721":{"text":1},"1722":{"text":1},"1723":{"text":1},"1724":{"text":1},"1725":{"text":1},"1726":{"text":1},"1727":{"text":1},"1728":{"text":1},"1729":{"text":1},"1730":{"text":1},"1731":{"text":1},"1732":{"text":1},"1733":{"text":1},"1734":{"text":1},"1735":{"text":1},"1736":{"text":1},"1737":{"text":1},"1738":{"text":1},"1739":{"text":1},"1740":{"text":1},"1741":{"text":1},"1742":{"text":1},"1743":{"text":1},"1744":{"text":1},"1745":{"text":1},"1746":{"text":1},"1747":{"text":1},"1748":{"text":1},"1749":{"text":1},"1750":{"text":1},"1751":{"text":1},"1752":{"text":1},"1753":{"text":1},"1754":{"text":1},"1755":{"text":1},"1756":{"text":1},"1757":{"text":1},"1758":{"text":1},"1759":{"text":1},"1760":{"text":1},"1761":{"text":1},"1762":{"text":1},"1763":{"text":1},"1764":{"text":1},"1765":{"text":1},"1766":{"text":1},"1767":{"text":1},"1768":{"text":1},"1769":{"text":1},"1770":{"text":1},"1771":{"text":1},"1772":{"text":1},"1773":{"text":1},"1774":{"text":1},"1775":{"text":1},"1776":{"text":1},"1777":{"text":1},"1778":{"text":1},"1779":{"text":1},"1780":{"text":1},"1781":{"text":1},"1782":{"page":1},"1783":{"text":1},"1784":{"heading":1},"1785":{"heading":1},"1786":{"heading":1},"1787":{"heading":1},"1788":{"heading":1},"1789":{"heading":1},"1790":{"heading":1},"1791":{"heading":1},"1792":{"heading":1},"1793":{"heading":1},"1794":{"heading":1},"1795":{"heading":1},"1796":{"heading":1},"1797":{"text":1},"1798":{"text":1},"1799":{"text":1},"1800":{"text":1},"1801":{"text":1},"1802":{"text":1},"1803":{"text":1},"1804":{"text":1},"1805":{"text":1},"1806":{"text":1},"1807":{"text":1},"1808":{"text":1},"1809":{"text":1},"1810":{"text":1},"1811":{"text":1},"1812":{"text":1},"1813":{"text":1},"1814":{"text":1},"1815":{"text":1},"1816":{"text":1},"1817":{"text":1},"1818":{"text":1},"1819":{"text":1},"1820":{"text":1},"1821":{"text":1},"1822":{"text":1},"1823":{"text":1},"1824":{"text":1},"1825":{"text":1},"1826":{"text":1},"1827":{"text":1},"1828":{"text":1},"1829":{"text":1},"1830":{"text":1},"1831":{"text":1},"1832":{"text":1},"1833":{"text":1},"1834":{"text":1},"1835":{"text":1},"1836":{"text":1},"1837":{"text":1},"1838":{"text":1},"1839":{"text":1},"1840":{"text":1},"1841":{"text":1},"1842":{"text":1},"1843":{"text":1},"1844":{"text":1},"1845":{"text":1},"1846":{"text":1},"1847":{"text":1},"1848":{"page":1},"1849":{"text":1},"1850":{"heading":1},"1851":{"heading":1},"1852":{"heading":1},"1853":{"heading":1},"1854":{"heading":1},"1855":{"heading":1},"1856":{"heading":1},"1857":{"heading":1},"1858":{"heading":1},"1859":{"heading":1},"1860":{"heading":1},"1861":{"heading":1},"1862":{"text":1},"1863":{"text":1},"1864":{"text":1},"1865":{"text":1},"1866":{"text":1},"1867":{"text":1},"1868":{"text":1},"1869":{"text":1},"1870":{"text":1},"1871":{"text":1},"1872":{"text":1},"1873":{"text":1},"1874":{"text":1},"1875":{"text":1},"1876":{"text":1},"1877":{"text":1},"1878":{"text":1},"1879":{"text":1},"1880":{"text":1},"1881":{"text":1},"1882":{"text":1},"1883":{"text":1},"1884":{"text":1},"1885":{"text":1},"1886":{"text":1},"1887":{"text":1},"1888":{"text":1},"1889":{"text":1},"1890":{"text":1},"1891":{"text":1},"1892":{"text":1},"1893":{"text":1},"1894":{"text":1},"1895":{"text":1},"1896":{"text":1},"1897":{"text":1},"1898":{"text":1},"1899":{"text":1},"1900":{"text":1},"1901":{"text":1},"1902":{"text":1},"1903":{"text":1},"1904":{"text":1},"1905":{"text":1},"1906":{"text":1},"1907":{"text":1},"1908":{"text":1},"1909":{"text":1},"1910":{"text":1},"1911":{"text":1},"1912":{"text":1},"1913":{"text":1},"1914":{"text":1},"1915":{"text":1},"1916":{"text":1},"1917":{"text":1},"1918":{"text":1},"1919":{"text":1},"1920":{"text":1},"1921":{"text":1},"1922":{"text":1},"1923":{"text":1},"1924":{"text":1},"1925":{"text":1},"1926":{"text":1},"1927":{"text":1},"1928":{"page":1},"1929":{"text":1},"1930":{"heading":1},"1931":{"heading":1},"1932":{"heading":1},"1933":{"heading":1},"1934":{"heading":1},"1935":{"heading":1},"1936":{"heading":1},"1937":{"heading":1},"1938":{"heading":1},"1939":{"text":1},"1940":{"text":1},"1941":{"text":1},"1942":{"text":1},"1943":{"text":1},"1944":{"text":1},"1945":{"text":1},"1946":{"text":1},"1947":{"text":1},"1948":{"text":1},"1949":{"text":1},"1950":{"text":1},"1951":{"text":1},"1952":{"text":1},"1953":{"text":1},"1954":{"text":1},"1955":{"text":1},"1956":{"text":1},"1957":{"text":1},"1958":{"text":1},"1959":{"text":1},"1960":{"text":1},"1961":{"text":1},"1962":{"text":1},"1963":{"text":1},"1964":{"text":1},"1965":{"text":1},"1966":{"text":1},"1967":{"text":1},"1968":{"text":1},"1969":{"text":1},"1970":{"text":1},"1971":{"text":1},"1972":{"text":1},"1973":{"text":1},"1974":{"text":1},"1975":{"text":1},"1976":{"text":1},"1977":{"text":1},"1978":{"text":1},"1979":{"text":1},"1980":{"text":1},"1981":{"text":1},"1982":{"text":1},"1983":{"page":1},"1984":{"text":1},"1985":{"heading":1},"1986":{"heading":1},"1987":{"heading":1},"1988":{"heading":1},"1989":{"heading":1},"1990":{"heading":1},"1991":{"heading":1},"1992":{"heading":1},"1993":{"heading":1},"1994":{"heading":1},"1995":{"heading":1},"1996":{"heading":1},"1997":{"heading":1},"1998":{"heading":1},"1999":{"heading":1},"2000":{"heading":1},"2001":{"heading":1},"2002":{"heading":1},"2003":{"heading":1},"2004":{"heading":1},"2005":{"heading":1},"2006":{"heading":1},"2007":{"heading":1},"2008":{"heading":1},"2009":{"heading":1},"2010":{"heading":1},"2011":{"heading":1},"2012":{"heading":1},"2013":{"heading":1},"2014":{"heading":1},"2015":{"heading":1},"2016":{"heading":1},"2017":{"heading":1},"2018":{"heading":1},"2019":{"text":1},"2020":{"text":1},"2021":{"text":1},"2022":{"text":1},"2023":{"text":1},"2024":{"text":1},"2025":{"text":1},"2026":{"text":1},"2027":{"text":1},"2028":{"text":1},"2029":{"text":1},"2030":{"text":1},"2031":{"text":1},"2032":{"text":1},"2033":{"text":1},"2034":{"text":1},"2035":{"text":1},"2036":{"text":1},"2037":{"text":1},"2038":{"text":1},"2039":{"text":1},"2040":{"text":1},"2041":{"text":1},"2042":{"text":1},"2043":{"text":1},"2044":{"text":1},"2045":{"text":1},"2046":{"text":1},"2047":{"text":1},"2048":{"text":1},"2049":{"text":1},"2050":{"text":1},"2051":{"text":1},"2052":{"text":1},"2053":{"text":1},"2054":{"text":1},"2055":{"text":1},"2056":{"text":1},"2057":{"text":1},"2058":{"text":1},"2059":{"text":1},"2060":{"text":1},"2061":{"text":1},"2062":{"text":1},"2063":{"text":1},"2064":{"text":1},"2065":{"text":1},"2066":{"text":1},"2067":{"text":1},"2068":{"text":1},"2069":{"text":1},"2070":{"text":1},"2071":{"text":1},"2072":{"text":1},"2073":{"text":1},"2074":{"text":1},"2075":{"text":1},"2076":{"text":1},"2077":{"text":1},"2078":{"text":1},"2079":{"text":1},"2080":{"text":1},"2081":{"text":1},"2082":{"text":1},"2083":{"text":1},"2084":{"text":1},"2085":{"text":1},"2086":{"text":1},"2087":{"text":1},"2088":{"text":1},"2089":{"text":1},"2090":{"text":1},"2091":{"text":1},"2092":{"text":1},"2093":{"text":1},"2094":{"text":1},"2095":{"text":1},"2096":{"text":1},"2097":{"text":1},"2098":{"text":1},"2099":{"text":1},"2100":{"text":1},"2101":{"text":1},"2102":{"text":1},"2103":{"text":1},"2104":{"text":1},"2105":{"text":1},"2106":{"text":1},"2107":{"text":1},"2108":{"text":1},"2109":{"text":1},"2110":{"text":1},"2111":{"text":1},"2112":{"text":1},"2113":{"text":1},"2114":{"text":1},"2115":{"text":1},"2116":{"text":1},"2117":{"text":1},"2118":{"text":1},"2119":{"text":1},"2120":{"text":1},"2121":{"text":1},"2122":{"text":1},"2123":{"text":1},"2124":{"text":1},"2125":{"text":1},"2126":{"text":1},"2127":{"text":1},"2128":{"text":1},"2129":{"text":1},"2130":{"text":1},"2131":{"text":1},"2132":{"text":1},"2133":{"text":1},"2134":{"text":1},"2135":{"text":1},"2136":{"text":1},"2137":{"text":1},"2138":{"text":1},"2139":{"text":1},"2140":{"text":1},"2141":{"text":1},"2142":{"text":1},"2143":{"text":1},"2144":{"text":1},"2145":{"text":1},"2146":{"text":1},"2147":{"text":1},"2148":{"text":1},"2149":{"text":1},"2150":{"text":1},"2151":{"text":1},"2152":{"text":1},"2153":{"text":1},"2154":{"text":1},"2155":{"text":1},"2156":{"text":1},"2157":{"text":1},"2158":{"text":1},"2159":{"text":1},"2160":{"text":1},"2161":{"text":1},"2162":{"text":1},"2163":{"text":1},"2164":{"text":1},"2165":{"text":1},"2166":{"text":1},"2167":{"text":1},"2168":{"text":1},"2169":{"text":1},"2170":{"text":1},"2171":{"text":1},"2172":{"text":1},"2173":{"text":1},"2174":{"text":1},"2175":{"text":1},"2176":{"text":1},"2177":{"text":1},"2178":{"text":1},"2179":{"text":1},"2180":{"text":1},"2181":{"text":1},"2182":{"text":1},"2183":{"text":1},"2184":{"text":1},"2185":{"text":1},"2186":{"text":1},"2187":{"text":1},"2188":{"text":1},"2189":{"text":1},"2190":{"text":1},"2191":{"text":1},"2192":{"text":1},"2193":{"text":1},"2194":{"text":1}},"breadcrumbs":{"1":{"administrator's":0.5,"guide":0.5},"41":{"administrator's":0.5,"guide":0.5},"52":{"administrator's":0.5,"guide":0.5},"139":{"administrator's":0.5,"guide":0.5},"160":{"administrator's":0.5,"guide":0.5},"436":{"administrator's":0.5,"guide":0.5},"456":{"administrator's":0.5,"guide":0.5},"540":{"administrator's":0.5,"guide":0.5},"542":{"admin":0.5,"ops":0.5},"609":{"admin":0.5,"ops":0.5},"736":{"admin":0.5,"ops":0.5},"794":{"admin":0.5,"ops":0.5},"865":{"admin":0.5,"ops":0.5},"885":{"admin":0.5,"ops":0.5},"958":{"admin":0.5,"ops":0.5},"976":{"admin":0.5,"ops":0.5},"993":{"admin":0.5,"ops":0.5},"1078":{"developer":1},"1110":{"developer":1},"1149":{"programmer's":0.5,"guide":0.5},"1204":{"programmer's":0.5,"guide":0.5},"1257":{"programmer's":0.5,"guide":0.5},"1277":{"programmer's":0.5,"guide":0.5},"1290":{"programmer's":0.5,"guide":0.5},"1342":{"programmer's":0.5,"guide":0.5},"1350":{"programmer's":0.5,"guide":0.5},"1362":{"programmer's":0.5,"guide":0.5},"1379":{"programmer's":0.5,"guide":0.5},"1425":{"programmer's":0.5,"guide":0.5},"1457":{"developer":1},"1562":{"developer":1},"1782":{"getting":0.5,"started":0.5},"1848":{"miscellaneous":1},"1928":{"getting":0.5,"started":0.5},"1983":{"getting":0.5,"started":0.5}},"url":{"1":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"2":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"administration":0.25},"3":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"maintenance":0.2},"4":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"ongoing-data-directory-cleanup":0.2},"5":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"debug-log-cleanup-logback":0.2},"6":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"supervision":0.2},"7":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"monitoring":0.2},"8":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"logging":0.2},"9":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"troubleshooting":0.2},"10":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"11":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"maintenance":0.2},"12":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"ongoing-data-directory-cleanup":0.2},"13":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"ongoing-data-directory-cleanup":0.2},"14":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"ongoing-data-directory-cleanup":0.2},"15":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"ongoing-data-directory-cleanup":0.2},"16":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"ongoing-data-directory-cleanup":0.2},"17":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"debug-log-cleanup-logback":0.2},"18":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"supervision":0.2},"19":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"supervision":0.2},"20":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"supervision":0.2},"21":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"monitoring":0.2},"22":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"monitoring":0.2},"23":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"monitoring":0.2},"24":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"monitoring":0.2},"25":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"logging":0.2},"26":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"logging":0.2},"27":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"logging":0.2},"28":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"logging":0.2},"29":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"troubleshooting":0.2},"30":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"31":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"32":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"33":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"34":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"35":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"36":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"37":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"38":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"39":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"40":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"administration":0.2,"metrics-providers":0.2},"41":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"42":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"43":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"best-practices":0.2,"things-to-avoid":0.2},"44":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"45":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"best-practices":0.2,"things-to-avoid":0.2},"46":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"best-practices":0.2,"things-to-avoid":0.2},"47":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"best-practices":0.2,"things-to-avoid":0.2},"48":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"best-practices":0.2,"things-to-avoid":0.2},"49":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"best-practices":0.2,"things-to-avoid":0.2},"50":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"51":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"best-practices":0.25},"52":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"53":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"commands":0.25},"54":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"55":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-adminserver":0.2},"56":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"57":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"58":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"59":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"60":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"61":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"62":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"63":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"64":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"65":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"66":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"67":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"68":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"69":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"70":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"71":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"72":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"73":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"74":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"75":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"76":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"77":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"78":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"79":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"80":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"81":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"82":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"83":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"84":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"85":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"86":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"87":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"88":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"89":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"90":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"91":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"92":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"93":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"94":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"95":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"96":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"97":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"98":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"99":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"100":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"101":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-four-letter-words":0.2},"102":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-adminserver":0.2},"103":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-adminserver":0.2},"104":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-adminserver":0.2},"105":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-adminserver":0.2},"106":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"the-adminserver":0.2},"107":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"108":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"109":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"110":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"111":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"112":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"113":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"114":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"115":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"116":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"117":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"118":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"119":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"120":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"121":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"122":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"123":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"124":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"125":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"126":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"127":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"128":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"129":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"130":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"131":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"132":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"133":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"134":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"135":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"136":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"137":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"138":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"commands":0.2,"configuring-adminserver-for-ssltls":0.2},"139":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"140":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"141":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"quorum-tls":0.2},"142":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"upgrading-existing-non-tls-cluster-with-no-downtime":0.2},"143":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"144":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"communication-using-the-netty-framework":0.25},"145":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"quorum-tls":0.2},"146":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"quorum-tls":0.2},"147":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"quorum-tls":0.2},"148":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"quorum-tls":0.2},"149":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"quorum-tls":0.2},"150":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"quorum-tls":0.2},"151":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"quorum-tls":0.2},"152":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"quorum-tls":0.2},"153":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"upgrading-existing-non-tls-cluster-with-no-downtime":0.2},"154":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"upgrading-existing-non-tls-cluster-with-no-downtime":0.2},"155":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"upgrading-existing-non-tls-cluster-with-no-downtime":0.2},"156":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"upgrading-existing-non-tls-cluster-with-no-downtime":0.2},"157":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"upgrading-existing-non-tls-cluster-with-no-downtime":0.2},"158":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"upgrading-existing-non-tls-cluster-with-no-downtime":0.2},"159":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"communication-using-the-netty-framework":0.2,"upgrading-existing-non-tls-cluster-with-no-downtime":0.2},"160":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"161":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"162":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"minimum-configuration":0.2},"163":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"164":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"165":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"166":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"tls-cipher-suites":0.2},"167":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"experimental-optionsfeatures":0.2},"168":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"169":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"disabling-data-directory-autocreation":0.2},"170":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"enabling-db-existence-validation":0.2},"171":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"performance-tuning-options":0.2},"172":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"debug-observability-configurations":0.2},"173":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"174":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"175":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"176":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"configuration-parameters":0.25},"177":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"minimum-configuration":0.2},"178":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"minimum-configuration":0.2},"179":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"minimum-configuration":0.2},"180":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"minimum-configuration":0.2},"181":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"minimum-configuration":0.2},"182":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"minimum-configuration":0.2},"183":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"minimum-configuration":0.2},"184":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"minimum-configuration":0.2},"185":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"186":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"187":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"188":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"189":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"190":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"191":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"192":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"193":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"194":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"195":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"196":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"197":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"198":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"199":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"200":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"201":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"202":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"203":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"204":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"205":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"206":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"207":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"208":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"209":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"210":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"211":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"212":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"213":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"214":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"215":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"216":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"217":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"218":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"219":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"220":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"221":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"222":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"223":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"224":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"225":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"226":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"227":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"228":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"229":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"230":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"231":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"232":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"233":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"234":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"235":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"236":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"237":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"238":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"239":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"240":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"241":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"242":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"243":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"244":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"245":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"246":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"247":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"248":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"249":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"250":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"251":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"252":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"253":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"254":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"255":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"256":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"257":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"258":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"259":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"260":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"261":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"262":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"263":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"264":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"265":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"266":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"267":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"268":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"269":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"270":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"271":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"272":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"273":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"274":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"275":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"276":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"277":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"278":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"279":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"280":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"281":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"advanced-configuration":0.2},"282":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"283":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"284":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"285":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"286":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"287":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"288":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"289":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"290":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"291":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"292":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"293":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"294":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"295":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"296":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"297":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"298":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"299":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"300":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"301":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"302":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"303":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"304":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"305":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"306":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"307":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"308":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"309":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"310":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"311":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"312":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"313":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"cluster-options":0.2},"314":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"315":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"316":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"317":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"318":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"319":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"320":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"321":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"322":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"323":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"324":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"325":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"326":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"327":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"328":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"329":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"330":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"331":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"332":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"333":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"334":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"335":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"336":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"337":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"338":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"339":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"340":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"341":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"342":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"343":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"344":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"345":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"346":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"347":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"348":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"349":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"350":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"351":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"352":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"353":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"354":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"355":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"356":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"357":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"358":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"359":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"360":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"361":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"362":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"363":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"364":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"365":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"366":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"367":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"368":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"369":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"370":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"371":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"372":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"373":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"374":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"375":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"376":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"377":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"378":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"encryption-authentication-authorization-options":0.2},"379":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"tls-cipher-suites":0.2},"380":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"tls-cipher-suites":0.2},"381":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"tls-cipher-suites":0.2},"382":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"tls-cipher-suites":0.2},"383":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"experimental-optionsfeatures":0.2},"384":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"experimental-optionsfeatures":0.2},"385":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"experimental-optionsfeatures":0.2},"386":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"387":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"388":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"389":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"390":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"391":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"392":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"393":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"394":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"395":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"396":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"397":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"398":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"399":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"400":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"401":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"unsafe-options":0.2},"402":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"disabling-data-directory-autocreation":0.2},"403":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"disabling-data-directory-autocreation":0.2},"404":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"disabling-data-directory-autocreation":0.2},"405":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"disabling-data-directory-autocreation":0.2},"406":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"enabling-db-existence-validation":0.2},"407":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"enabling-db-existence-validation":0.2},"408":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"performance-tuning-options":0.2},"409":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"performance-tuning-options":0.2},"410":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"performance-tuning-options":0.2},"411":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"performance-tuning-options":0.2},"412":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"performance-tuning-options":0.2},"413":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"performance-tuning-options":0.2},"414":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"performance-tuning-options":0.2},"415":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"performance-tuning-options":0.2},"416":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"performance-tuning-options":0.2},"417":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"performance-tuning-options":0.2},"418":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"debug-observability-configurations":0.2},"419":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"debug-observability-configurations":0.2},"420":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"debug-observability-configurations":0.2},"421":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"422":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"423":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"424":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"425":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"426":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"427":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"428":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"429":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"430":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"431":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"432":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"433":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"434":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"435":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"configuration-parameters":0.2,"adminserver-configuration":0.2},"436":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"437":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"438":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"the-data-directory":0.2},"439":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"the-log-directory":0.2},"440":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"file-management":0.2},"441":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"recovery---txnlogtoolkit":0.2},"442":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"data-file-management":0.25},"443":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"the-data-directory":0.2},"444":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"the-data-directory":0.2},"445":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"the-data-directory":0.2},"446":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"the-data-directory":0.2},"447":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"the-data-directory":0.2},"448":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"the-data-directory":0.2},"449":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"the-log-directory":0.2},"450":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"file-management":0.2},"451":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"file-management":0.2},"452":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"file-management":0.2},"453":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"file-management":0.2},"454":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"file-management":0.2},"455":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"data-file-management":0.2,"recovery---txnlogtoolkit":0.2},"456":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"457":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"458":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"system-requirements":0.2},"459":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"supported-platforms":0.2},"460":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"461":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"required-software":0.2},"462":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"463":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"single-server-and-developer-setup":0.2},"464":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"designing-a-zookeeper-deployment":0.2},"465":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"cross-machine-requirements":0.2},"466":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"single-machine-requirements":0.2},"467":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"468":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"469":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"470":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"471":{"docs":0.25,"admin-ops":0.25,"administrators-guide":0.25,"deployment":0.25},"472":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"supported-platforms":0.2},"473":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"supported-platforms":0.2},"474":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"supported-platforms":0.2},"475":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"supported-platforms":0.2},"476":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"supported-platforms":0.2},"477":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"supported-platforms":0.2},"478":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"479":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"480":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"481":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"482":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"483":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"484":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"485":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"486":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"487":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"488":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"489":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"490":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"491":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"492":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"493":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"494":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"495":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"496":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"497":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"498":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"499":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"500":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"501":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"502":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"503":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"504":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"505":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"506":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"507":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"508":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"support-matrix":0.2},"509":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"required-software":0.2},"510":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"511":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"512":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"513":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"514":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"515":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"516":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"517":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"518":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"519":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"520":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"521":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"522":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"523":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"524":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"525":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"clustered-multi-server-setup":0.2},"526":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"single-server-and-developer-setup":0.2},"527":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"single-server-and-developer-setup":0.2},"528":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"single-server-and-developer-setup":0.2},"529":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"designing-a-zookeeper-deployment":0.2},"530":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"designing-a-zookeeper-deployment":0.2},"531":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"designing-a-zookeeper-deployment":0.2},"532":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"designing-a-zookeeper-deployment":0.2},"533":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"cross-machine-requirements":0.2},"534":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"cross-machine-requirements":0.2},"535":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"cross-machine-requirements":0.2},"536":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"cross-machine-requirements":0.2},"537":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"single-machine-requirements":0.2},"538":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"single-machine-requirements":0.2},"539":{"docs":0.2,"admin-ops":0.2,"administrators-guide":0.2,"deployment":0.2,"single-machine-requirements":0.2},"540":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"administrators-guide":0.3333333333333333},"541":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"administrators-guide":0.3333333333333333},"542":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"543":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"cli":0.3333333333333333},"544":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"connecting":0.25},"545":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"help":0.25},"546":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"addauth":0.25},"547":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"close":0.25},"548":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"config":0.25},"549":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"connect":0.25},"550":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"create":0.25},"551":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"delete":0.25},"552":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"deleteall":0.25},"553":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"delquota":0.25},"554":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"get":0.25},"555":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"getacl":0.25},"556":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"getallchildrennumber":0.25},"557":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"getephemerals":0.25},"558":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"history":0.25},"559":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"listquota":0.25},"560":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"ls":0.25},"561":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"printwatches":0.25},"562":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"quit":0.25},"563":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"reconfig":0.25},"564":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"redo":0.25},"565":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"removewatches":0.25},"566":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"set":0.25},"567":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"setacl":0.25},"568":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"setquota":0.25},"569":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"stat":0.25},"570":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"sync":0.25},"571":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"version":0.25},"572":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"whoami":0.25},"573":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"help":0.25},"574":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"addauth":0.25},"575":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"close":0.25},"576":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"config":0.25},"577":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"connect":0.25},"578":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"create":0.25},"579":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"create":0.25},"580":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"create":0.25},"581":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"create":0.25},"582":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"delete":0.25},"583":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"deleteall":0.25},"584":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"delquota":0.25},"585":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"get":0.25},"586":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"getacl":0.25},"587":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"getallchildrennumber":0.25},"588":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"getephemerals":0.25},"589":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"history":0.25},"590":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"listquota":0.25},"591":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"ls":0.25},"592":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"printwatches":0.25},"593":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"quit":0.25},"594":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"reconfig":0.25},"595":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"reconfig":0.25},"596":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"reconfig":0.25},"597":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"reconfig":0.25},"598":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"redo":0.25},"599":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"removewatches":0.25},"600":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"set":0.25},"601":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"setacl":0.25},"602":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"setacl":0.25},"603":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"setacl":0.25},"604":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"setquota":0.25},"605":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"stat":0.25},"606":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"sync":0.25},"607":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"version":0.25},"608":{"docs":0.25,"admin-ops":0.25,"cli":0.25,"whoami":0.25},"609":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"610":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"611":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"changes-to-configuration-format":0.25},"612":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"specifying-the-client-port":0.25},"613":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"specifying-multiple-server-addresses":0.25},"614":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"the-standaloneenabled-flag":0.25},"615":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"the-reconfigenabled-flag":0.25},"616":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"dynamic-configuration-file":0.25},"617":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"example-1":0.25},"618":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"example-2":0.25},"619":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"backward-compatibility":0.25},"620":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"upgrading-to-350":0.25},"621":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"dynamic-reconfiguration-of-the-zookeeper-ensemble":0.25},"622":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"api":0.25},"623":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"security":0.25},"624":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"retrieving-the-current-dynamic-configuration":0.25},"625":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"modifying-the-current-dynamic-configuration":0.25},"626":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"627":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"incremental-mode":0.25},"628":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"non-incremental-mode":0.25},"629":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"conditional-reconfig":0.25},"630":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"error-conditions":0.25},"631":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"additional-comments":0.25},"632":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"rebalancing-client-connections":0.25},"633":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"634":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"635":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"636":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"637":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"638":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"639":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"dynamic-reconfiguration":0.3333333333333333},"640":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"specifying-the-client-port":0.25},"641":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"specifying-the-client-port":0.25},"642":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"specifying-the-client-port":0.25},"643":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"specifying-the-client-port":0.25},"644":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"specifying-the-client-port":0.25},"645":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"specifying-the-client-port":0.25},"646":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"specifying-the-client-port":0.25},"647":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"specifying-multiple-server-addresses":0.25},"648":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"specifying-multiple-server-addresses":0.25},"649":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"the-standaloneenabled-flag":0.25},"650":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"the-standaloneenabled-flag":0.25},"651":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"the-standaloneenabled-flag":0.25},"652":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"the-standaloneenabled-flag":0.25},"653":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"the-reconfigenabled-flag":0.25},"654":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"the-reconfigenabled-flag":0.25},"655":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"dynamic-configuration-file":0.25},"656":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"dynamic-configuration-file":0.25},"657":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"example-1":0.25},"658":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"example-1":0.25},"659":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"example-1":0.25},"660":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"example-2":0.25},"661":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"example-2":0.25},"662":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"example-2":0.25},"663":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"backward-compatibility":0.25},"664":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"backward-compatibility":0.25},"665":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"backward-compatibility":0.25},"666":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"upgrading-to-350":0.25},"667":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"upgrading-to-350":0.25},"668":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"dynamic-reconfiguration-of-the-zookeeper-ensemble":0.25},"669":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"api":0.25},"670":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"api":0.25},"671":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"api":0.25},"672":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"security":0.25},"673":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"security":0.25},"674":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"security":0.25},"675":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"security":0.25},"676":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"security":0.25},"677":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"security":0.25},"678":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"retrieving-the-current-dynamic-configuration":0.25},"679":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"retrieving-the-current-dynamic-configuration":0.25},"680":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"retrieving-the-current-dynamic-configuration":0.25},"681":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"retrieving-the-current-dynamic-configuration":0.25},"682":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"retrieving-the-current-dynamic-configuration":0.25},"683":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"retrieving-the-current-dynamic-configuration":0.25},"684":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"retrieving-the-current-dynamic-configuration":0.25},"685":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"modifying-the-current-dynamic-configuration":0.25},"686":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"modifying-the-current-dynamic-configuration":0.25},"687":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"688":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"689":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"690":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"691":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"692":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"693":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"694":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"695":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"696":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"697":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"698":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"699":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"700":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"701":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"702":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"703":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"704":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"705":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"706":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"general":0.25},"707":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"incremental-mode":0.25},"708":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"incremental-mode":0.25},"709":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"incremental-mode":0.25},"710":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"incremental-mode":0.25},"711":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"incremental-mode":0.25},"712":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"incremental-mode":0.25},"713":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"non-incremental-mode":0.25},"714":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"non-incremental-mode":0.25},"715":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"non-incremental-mode":0.25},"716":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"non-incremental-mode":0.25},"717":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"non-incremental-mode":0.25},"718":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"conditional-reconfig":0.25},"719":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"conditional-reconfig":0.25},"720":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"error-conditions":0.25},"721":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"error-conditions":0.25},"722":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"error-conditions":0.25},"723":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"error-conditions":0.25},"724":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"error-conditions":0.25},"725":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"error-conditions":0.25},"726":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"error-conditions":0.25},"727":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"error-conditions":0.25},"728":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"error-conditions":0.25},"729":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"additional-comments":0.25},"730":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"additional-comments":0.25},"731":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"additional-comments":0.25},"732":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"rebalancing-client-connections":0.25},"733":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"rebalancing-client-connections":0.25},"734":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"rebalancing-client-connections":0.25},"735":{"docs":0.25,"admin-ops":0.25,"dynamic-reconfiguration":0.25,"rebalancing-client-connections":0.25},"736":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"737":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"738":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"starting-zookeeper-with-jmx-enabled":0.25},"739":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"running-a-jmx-console":0.25},"740":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"logback-mbeans-new-in-380":0.25},"741":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"log4j-mbeans-deprecated":0.25},"742":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"zookeeper-mbean-reference":0.25},"743":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"744":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"745":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"746":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"747":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"jmx":0.3333333333333333},"748":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"starting-zookeeper-with-jmx-enabled":0.25},"749":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"running-a-jmx-console":0.25},"750":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"running-a-jmx-console":0.25},"751":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"running-a-jmx-console":0.25},"752":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"running-a-jmx-console":0.25},"753":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"running-a-jmx-console":0.25},"754":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"logback-mbeans-new-in-380":0.25},"755":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"log4j-mbeans-deprecated":0.25},"756":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"757":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"758":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"759":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"760":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"761":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"762":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"763":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"764":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"765":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"766":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"767":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"768":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"769":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"770":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"771":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"772":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"773":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"774":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"775":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"776":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"777":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"778":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"779":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"780":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"replicated-ensemble-mbeans":0.25},"781":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"782":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"783":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"784":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"785":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"786":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"787":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"788":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"789":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"790":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"791":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"792":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"793":{"docs":0.25,"admin-ops":0.25,"jmx":0.25,"standalone-server-mbeans":0.25},"794":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"795":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"monitor-and-audit-logs":0.3333333333333333},"796":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"new-metrics-system":0.25},"797":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"metrics":0.25},"798":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"configuring-the-metrics-provider":0.25},"799":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"enabling-https-for-prometheus-metrics":0.25},"800":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"prometheus":0.25},"801":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"alerting-with-prometheus":0.25},"802":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"grafana":0.25},"803":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"influxdb":0.25},"804":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"jmx":0.25},"805":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"four-letter-words":0.25},"806":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"807":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-log-configuration":0.25},"808":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"who-is-taken-as-user-in-audit-logs":0.25},"809":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"new-metrics-system":0.25},"810":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"metrics":0.25},"811":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"configuring-the-metrics-provider":0.25},"812":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"configuring-the-metrics-provider":0.25},"813":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"enabling-https-for-prometheus-metrics":0.25},"814":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"enabling-https-for-prometheus-metrics":0.25},"815":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"enabling-https-for-prometheus-metrics":0.25},"816":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"enabling-https-for-prometheus-metrics":0.25},"817":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"enabling-https-for-prometheus-metrics":0.25},"818":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"enabling-https-for-prometheus-metrics":0.25},"819":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"prometheus":0.25},"820":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"prometheus":0.25},"821":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"prometheus":0.25},"822":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"prometheus":0.25},"823":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"prometheus":0.25},"824":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"alerting-with-prometheus":0.25},"825":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"alerting-with-prometheus":0.25},"826":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"alerting-with-prometheus":0.25},"827":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"alerting-with-prometheus":0.25},"828":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"grafana":0.25},"829":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"grafana":0.25},"830":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"influxdb":0.25},"831":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"jmx":0.25},"832":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"four-letter-words":0.25},"833":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"834":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"835":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"836":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"837":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"838":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"839":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"840":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"841":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"842":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"843":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"844":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"845":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"846":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"847":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"848":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"849":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"850":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"851":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"852":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"853":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-logs":0.25},"854":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-log-configuration":0.25},"855":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"audit-log-configuration":0.25},"856":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"who-is-taken-as-user-in-audit-logs":0.25},"857":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"who-is-taken-as-user-in-audit-logs":0.25},"858":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"who-is-taken-as-user-in-audit-logs":0.25},"859":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"who-is-taken-as-user-in-audit-logs":0.25},"860":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"who-is-taken-as-user-in-audit-logs":0.25},"861":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"who-is-taken-as-user-in-audit-logs":0.25},"862":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"who-is-taken-as-user-in-audit-logs":0.25},"863":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"who-is-taken-as-user-in-audit-logs":0.25},"864":{"docs":0.25,"admin-ops":0.25,"monitor-and-audit-logs":0.25,"who-is-taken-as-user-in-audit-logs":0.25},"865":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"866":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"867":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"how-to-use-observers":0.25},"868":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"how-to-use-observer-masters":0.25},"869":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"example-use-cases":0.25},"870":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"871":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"872":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"observers-guide":0.3333333333333333},"873":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"how-to-use-observers":0.25},"874":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"how-to-use-observers":0.25},"875":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"how-to-use-observers":0.25},"876":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"how-to-use-observers":0.25},"877":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"how-to-use-observers":0.25},"878":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"how-to-use-observers":0.25},"879":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"how-to-use-observer-masters":0.25},"880":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"how-to-use-observer-masters":0.25},"881":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"how-to-use-observer-masters":0.25},"882":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"example-use-cases":0.25},"883":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"example-use-cases":0.25},"884":{"docs":0.25,"admin-ops":0.25,"observers-guide":0.25,"example-use-cases":0.25},"885":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"886":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quorums":0.3333333333333333},"887":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"hierarchical-quorums":0.25},"888":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"oracle-quorum":0.25},"889":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"the-implementation-of-the-oracle":0.25},"890":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"deployment-contexts":0.25},"891":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"configuring-the-oracle-in-zoocfg":0.25},"892":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"example-zoocfg":0.25},"893":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"behavior-after-enabling-the-oracle":0.25},"894":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"considerations-when-using-the-oracle":0.25},"895":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"liveness-issue":0.25},"896":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"897":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"examples-of-failure-detector-implementations":0.25},"898":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"hardware-based-implementation":0.25},"899":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"software-based-implementation":0.25},"900":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"901":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"reference":0.25},"902":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"hierarchical-quorums":0.25},"903":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"hierarchical-quorums":0.25},"904":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"hierarchical-quorums":0.25},"905":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"oracle-quorum":0.25},"906":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"the-implementation-of-the-oracle":0.25},"907":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"deployment-contexts":0.25},"908":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"deployment-contexts":0.25},"909":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"configuring-the-oracle-in-zoocfg":0.25},"910":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"configuring-the-oracle-in-zoocfg":0.25},"911":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"configuring-the-oracle-in-zoocfg":0.25},"912":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"configuring-the-oracle-in-zoocfg":0.25},"913":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"behavior-after-enabling-the-oracle":0.25},"914":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"considerations-when-using-the-oracle":0.25},"915":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"liveness-issue":0.25},"916":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"liveness-issue":0.25},"917":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"liveness-issue":0.25},"918":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"liveness-issue":0.25},"919":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"liveness-issue":0.25},"920":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"liveness-issue":0.25},"921":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"922":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"923":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"924":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"925":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"926":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"927":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"928":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"929":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"930":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"931":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"932":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"933":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"934":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"935":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"936":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"937":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"938":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"939":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"940":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"safety-issue":0.25},"941":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"examples-of-failure-detector-implementations":0.25},"942":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"hardware-based-implementation":0.25},"943":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"software-based-implementation":0.25},"944":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"945":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"946":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"947":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"948":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"949":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"950":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"951":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"952":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"953":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"954":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"955":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"956":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"using-a-usb-device-as-the-oracle":0.25},"957":{"docs":0.25,"admin-ops":0.25,"quorums":0.25,"reference":0.25},"958":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"959":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"960":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"setting-quotas":0.25},"961":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"listing-quotas":0.25},"962":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"deleting-quotas":0.25},"963":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"964":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"965":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"quota-guide":0.3333333333333333},"966":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"setting-quotas":0.25},"967":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"setting-quotas":0.25},"968":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"setting-quotas":0.25},"969":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"setting-quotas":0.25},"970":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"setting-quotas":0.25},"971":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"setting-quotas":0.25},"972":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"setting-quotas":0.25},"973":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"setting-quotas":0.25},"974":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"listing-quotas":0.25},"975":{"docs":0.25,"admin-ops":0.25,"quota-guide":0.25,"deleting-quotas":0.25},"976":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"977":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"978":{"docs":0.25,"admin-ops":0.25,"snapshot-and-restore-guide":0.25,"snapshot":0.25},"979":{"docs":0.25,"admin-ops":0.25,"snapshot-and-restore-guide":0.25,"restore":0.25},"980":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"981":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"982":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"983":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"984":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"985":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"snapshot-and-restore-guide":0.3333333333333333},"986":{"docs":0.25,"admin-ops":0.25,"snapshot-and-restore-guide":0.25,"snapshot":0.25},"987":{"docs":0.25,"admin-ops":0.25,"snapshot-and-restore-guide":0.25,"restore":0.25},"988":{"docs":0.25,"admin-ops":0.25,"snapshot-and-restore-guide":0.25,"restore":0.25},"989":{"docs":0.25,"admin-ops":0.25,"snapshot-and-restore-guide":0.25,"restore":0.25},"990":{"docs":0.25,"admin-ops":0.25,"snapshot-and-restore-guide":0.25,"restore":0.25},"991":{"docs":0.25,"admin-ops":0.25,"snapshot-and-restore-guide":0.25,"restore":0.25},"992":{"docs":0.25,"admin-ops":0.25,"snapshot-and-restore-guide":0.25,"restore":0.25},"993":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"994":{"docs":0.3333333333333333,"admin-ops":0.3333333333333333,"tools":0.3333333333333333},"995":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"scripts":0.25},"996":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zkserversh":0.25},"997":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zkclish":0.25},"998":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zkenvsh":0.25},"999":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zkcleanupsh":0.25},"1000":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zktxnlogtoolkitsh":0.25},"1001":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zksnapshottoolkitsh":0.25},"1002":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zksnapshotrecursivesummarytoolkitsh":0.25},"1003":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zksnapshotcomparersh":0.25},"1004":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"locating-snapshots":0.25},"1005":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"supported-snapshot-formats":0.25},"1006":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"running-the-tool":0.25},"1007":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1008":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"benchmark":0.25},"1009":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1010":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zk-smoketest":0.25},"1011":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"testing":0.25},"1012":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"fault-injection-framework":0.25},"1013":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"byteman":0.25},"1014":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"jepsen-test":0.25},"1015":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zkserversh":0.25},"1016":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zkserversh":0.25},"1017":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zkclish":0.25},"1018":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zkenvsh":0.25},"1019":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zkenvsh":0.25},"1020":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zkcleanupsh":0.25},"1021":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zktxnlogtoolkitsh":0.25},"1022":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zktxnlogtoolkitsh":0.25},"1023":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zktxnlogtoolkitsh":0.25},"1024":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zktxnlogtoolkitsh":0.25},"1025":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zktxnlogtoolkitsh":0.25},"1026":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zktxnlogtoolkitsh":0.25},"1027":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zktxnlogtoolkitsh":0.25},"1028":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zksnapshottoolkitsh":0.25},"1029":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zksnapshotrecursivesummarytoolkitsh":0.25},"1030":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zksnapshotcomparersh":0.25},"1031":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zksnapshotcomparersh":0.25},"1032":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zksnapshotcomparersh":0.25},"1033":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zksnapshotcomparersh":0.25},"1034":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"locating-snapshots":0.25},"1035":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"supported-snapshot-formats":0.25},"1036":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"running-the-tool":0.25},"1037":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"running-the-tool":0.25},"1038":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"running-the-tool":0.25},"1039":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1040":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1041":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1042":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1043":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1044":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1045":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1046":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1047":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1048":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1049":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1050":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"interactive-mode":0.25},"1051":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1052":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1053":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1054":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1055":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1056":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1057":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1058":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1059":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1060":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1061":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1062":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1063":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1064":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1065":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1066":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1067":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"ycsb":0.25},"1068":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"zk-smoketest":0.25},"1069":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"byteman":0.25},"1070":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"byteman":0.25},"1071":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"byteman":0.25},"1072":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"byteman":0.25},"1073":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"jepsen-test":0.25},"1074":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"jepsen-test":0.25},"1075":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"jepsen-test":0.25},"1076":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"jepsen-test":0.25},"1077":{"docs":0.25,"admin-ops":0.25,"tools":0.25,"jepsen-test":0.25},"1078":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1079":{"docs":0.3333333333333333,"developer":0.3333333333333333,"basic-tutorial":0.3333333333333333},"1080":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"introduction":0.25},"1081":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barriers":0.25},"1082":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"producer-consumer-queues":0.25},"1083":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"complete-example":0.25},"1084":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"queue-test":0.25},"1085":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barrier-test":0.25},"1086":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"source-listing":0.25},"1087":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"syncprimitivejava":0.25},"1088":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"introduction":0.25},"1089":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"introduction":0.25},"1090":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"introduction":0.25},"1091":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"introduction":0.25},"1092":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barriers":0.25},"1093":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barriers":0.25},"1094":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barriers":0.25},"1095":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barriers":0.25},"1096":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barriers":0.25},"1097":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barriers":0.25},"1098":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barriers":0.25},"1099":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barriers":0.25},"1100":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barriers":0.25},"1101":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"producer-consumer-queues":0.25},"1102":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"producer-consumer-queues":0.25},"1103":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"producer-consumer-queues":0.25},"1104":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"producer-consumer-queues":0.25},"1105":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"producer-consumer-queues":0.25},"1106":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"complete-example":0.25},"1107":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"queue-test":0.25},"1108":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"queue-test":0.25},"1109":{"docs":0.25,"developer":0.25,"basic-tutorial":0.25,"barrier-test":0.25},"1110":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1111":{"docs":0.3333333333333333,"developer":0.3333333333333333,"java-example":0.3333333333333333},"1112":{"docs":0.25,"developer":0.25,"java-example":0.25,"a-simple-watch-client":0.25},"1113":{"docs":0.25,"developer":0.25,"java-example":0.25,"requirements":0.25},"1114":{"docs":0.25,"developer":0.25,"java-example":0.25,"program-design":0.25},"1115":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-executor-class":0.25},"1116":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-datamonitor-class":0.25},"1117":{"docs":0.25,"developer":0.25,"java-example":0.25,"complete-source-listings":0.25},"1118":{"docs":0.25,"developer":0.25,"java-example":0.25,"executorjava":0.25},"1119":{"docs":0.25,"developer":0.25,"java-example":0.25,"datamonitorjava":0.25},"1120":{"docs":0.25,"developer":0.25,"java-example":0.25,"a-simple-watch-client":0.25},"1121":{"docs":0.25,"developer":0.25,"java-example":0.25,"requirements":0.25},"1122":{"docs":0.25,"developer":0.25,"java-example":0.25,"requirements":0.25},"1123":{"docs":0.25,"developer":0.25,"java-example":0.25,"requirements":0.25},"1124":{"docs":0.25,"developer":0.25,"java-example":0.25,"requirements":0.25},"1125":{"docs":0.25,"developer":0.25,"java-example":0.25,"requirements":0.25},"1126":{"docs":0.25,"developer":0.25,"java-example":0.25,"requirements":0.25},"1127":{"docs":0.25,"developer":0.25,"java-example":0.25,"requirements":0.25},"1128":{"docs":0.25,"developer":0.25,"java-example":0.25,"requirements":0.25},"1129":{"docs":0.25,"developer":0.25,"java-example":0.25,"requirements":0.25},"1130":{"docs":0.25,"developer":0.25,"java-example":0.25,"program-design":0.25},"1131":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-executor-class":0.25},"1132":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-executor-class":0.25},"1133":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-executor-class":0.25},"1134":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-executor-class":0.25},"1135":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-executor-class":0.25},"1136":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-executor-class":0.25},"1137":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-executor-class":0.25},"1138":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-executor-class":0.25},"1139":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-datamonitor-class":0.25},"1140":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-datamonitor-class":0.25},"1141":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-datamonitor-class":0.25},"1142":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-datamonitor-class":0.25},"1143":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-datamonitor-class":0.25},"1144":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-datamonitor-class":0.25},"1145":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-datamonitor-class":0.25},"1146":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-datamonitor-class":0.25},"1147":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-datamonitor-class":0.25},"1148":{"docs":0.25,"developer":0.25,"java-example":0.25,"the-datamonitor-class":0.25},"1149":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1150":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1151":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1152":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"builtin-acl-schemes":0.2},"1153":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1154":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1155":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1156":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1157":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"access-control-using-acls":0.25},"1158":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1159":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1160":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1161":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1162":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1163":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1164":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1165":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1166":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1167":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1168":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1169":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"acl-permissions":0.2},"1170":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"builtin-acl-schemes":0.2},"1171":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"builtin-acl-schemes":0.2},"1172":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"builtin-acl-schemes":0.2},"1173":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"builtin-acl-schemes":0.2},"1174":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"builtin-acl-schemes":0.2},"1175":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"builtin-acl-schemes":0.2},"1176":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1177":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1178":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1179":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1180":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1181":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1182":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1183":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1184":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1185":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1186":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1187":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1188":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1189":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1190":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1191":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1192":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1193":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1194":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1195":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1196":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1197":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1198":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1199":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1200":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1201":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1202":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1203":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"access-control-using-acls":0.2,"zookeeper-c-client-api":0.2},"1204":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1205":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1206":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"java-binding":0.2},"1207":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1208":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"c-binding":0.2},"1209":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1210":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"building-your-own-c-client":0.2},"1211":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"bindings":0.25},"1212":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"java-binding":0.2},"1213":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"java-binding":0.2},"1214":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"java-binding":0.2},"1215":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"java-binding":0.2},"1216":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"java-binding":0.2},"1217":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"java-binding":0.2},"1218":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"java-binding":0.2},"1219":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1220":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1221":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1222":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1223":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1224":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1225":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1226":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1227":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1228":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1229":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1230":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1231":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1232":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1233":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1234":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1235":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1236":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1237":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1238":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"client-configuration-parameters":0.2},"1239":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"c-binding":0.2},"1240":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"c-binding":0.2},"1241":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1242":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1243":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1244":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1245":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1246":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1247":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1248":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1249":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1250":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1251":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"installation":0.2},"1252":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"building-your-own-c-client":0.2},"1253":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"building-your-own-c-client":0.2},"1254":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"building-your-own-c-client":0.2},"1255":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"building-your-own-c-client":0.2},"1256":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"bindings":0.2,"building-your-own-c-client":0.2},"1257":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1258":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1259":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"handling-errors":0.2},"1260":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1261":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"building-blocks-a-guide-to-zookeeper-operations":0.25},"1262":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"handling-errors":0.2},"1263":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1264":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1265":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1266":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1267":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1268":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1269":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1270":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1271":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1272":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1273":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1274":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1275":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1276":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"building-blocks-a-guide-to-zookeeper-operations":0.2,"connecting-to-zookeeper":0.2},"1277":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1278":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1279":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1280":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1281":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1282":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1283":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1284":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1285":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1286":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1287":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1288":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1289":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"consistency-guarantees":0.25},"1290":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1291":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1292":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"znodes":0.2},"1293":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"watches":0.2},"1294":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"data-access":0.2},"1295":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"ephemeral-nodes":0.2},"1296":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"getephemerals":0.2},"1297":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"sequence-nodes--unique-naming":0.2},"1298":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"container-nodes":0.2},"1299":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"added-in-353":0.2},"1300":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"ttl-nodes":0.2},"1301":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"added-in-353-1":0.2},"1302":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"time-in-zookeeper":0.2},"1303":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1304":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1305":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1306":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1307":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1308":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1309":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1310":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"data-model":0.25},"1311":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"znodes":0.2},"1312":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"znodes":0.2},"1313":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"znodes":0.2},"1314":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"znodes":0.2},"1315":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"watches":0.2},"1316":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"data-access":0.2},"1317":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"data-access":0.2},"1318":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"ephemeral-nodes":0.2},"1319":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"getephemerals":0.2},"1320":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"sequence-nodes--unique-naming":0.2},"1321":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"added-in-353":0.2},"1322":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"added-in-353":0.2},"1323":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"added-in-353-1":0.2},"1324":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"added-in-353-1":0.2},"1325":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"time-in-zookeeper":0.2},"1326":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"time-in-zookeeper":0.2},"1327":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"time-in-zookeeper":0.2},"1328":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"time-in-zookeeper":0.2},"1329":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"time-in-zookeeper":0.2},"1330":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1331":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1332":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1333":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1334":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1335":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1336":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1337":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1338":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1339":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1340":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1341":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"data-model":0.2,"zookeeper-stat-structure":0.2},"1342":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1343":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1344":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1345":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1346":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1347":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1348":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1349":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"gotchas-common-problems-and-troubleshooting":0.25},"1350":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1351":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1352":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"links-to-other-information":0.25},"1353":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1354":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1355":{"docs":0.3333333333333333,"developer":0.3333333333333333,"programmers-guide":0.3333333333333333},"1356":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"links-to-other-information":0.25},"1357":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"links-to-other-information":0.25},"1358":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"links-to-other-information":0.25},"1359":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"links-to-other-information":0.25},"1360":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"links-to-other-information":0.25},"1361":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"links-to-other-information":0.25},"1362":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1363":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1364":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1365":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1366":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1367":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1368":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1369":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1370":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1371":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1372":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1373":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1374":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1375":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1376":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1377":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1378":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"pluggable-authentication":0.25},"1379":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1380":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1381":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"sessions":0.2,"qa-toc":0.2},"1382":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1383":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1384":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1385":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1386":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1387":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1388":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1389":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1390":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1391":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1392":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1393":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1394":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1395":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1396":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1397":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1398":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1399":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1400":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1401":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1402":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1403":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1404":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1405":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1406":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1407":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1408":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1409":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1410":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1411":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1412":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1413":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1414":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1415":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1416":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1417":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1418":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"sessions":0.25},"1419":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"sessions":0.2,"qa-toc":0.2},"1420":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"sessions":0.2,"qa-toc":0.2},"1421":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"sessions":0.2,"qa-toc":0.2},"1422":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"sessions":0.2,"qa-toc":0.2},"1423":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"sessions":0.2,"qa-toc":0.2},"1424":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"sessions":0.2,"qa-toc":0.2},"1425":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1426":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1427":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"semantics-of-watches":0.2},"1428":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"persistent-recursive-watches":0.2},"1429":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"remove-watches":0.2},"1430":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"what-zookeeper-guarantees-about-watches":0.2},"1431":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"things-to-remember-about-watches":0.2},"1432":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1433":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1434":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1435":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1436":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1437":{"docs":0.25,"developer":0.25,"programmers-guide":0.25,"watches":0.25},"1438":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"semantics-of-watches":0.2},"1439":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"semantics-of-watches":0.2},"1440":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"semantics-of-watches":0.2},"1441":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"semantics-of-watches":0.2},"1442":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"semantics-of-watches":0.2},"1443":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"persistent-recursive-watches":0.2},"1444":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"persistent-recursive-watches":0.2},"1445":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"remove-watches":0.2},"1446":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"remove-watches":0.2},"1447":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"remove-watches":0.2},"1448":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"remove-watches":0.2},"1449":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"what-zookeeper-guarantees-about-watches":0.2},"1450":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"what-zookeeper-guarantees-about-watches":0.2},"1451":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"what-zookeeper-guarantees-about-watches":0.2},"1452":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"what-zookeeper-guarantees-about-watches":0.2},"1453":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"things-to-remember-about-watches":0.2},"1454":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"things-to-remember-about-watches":0.2},"1455":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"things-to-remember-about-watches":0.2},"1456":{"docs":0.2,"developer":0.2,"programmers-guide":0.2,"watches":0.2,"things-to-remember-about-watches":0.2},"1457":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1458":{"docs":0.3333333333333333,"developer":0.3333333333333333,"recipes":0.3333333333333333},"1459":{"docs":0.25,"developer":0.25,"recipes":0.25,"a-guide-to-creating-higher-level-constructs-with-zookeeper":0.25},"1460":{"docs":0.25,"developer":0.25,"recipes":0.25,"important-note-about-error-handling":0.25},"1461":{"docs":0.25,"developer":0.25,"recipes":0.25,"out-of-the-box-applications-name-service-configuration-group-membership":0.25},"1462":{"docs":0.25,"developer":0.25,"recipes":0.25,"barriers":0.25},"1463":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1464":{"docs":0.25,"developer":0.25,"recipes":0.25,"queues":0.25},"1465":{"docs":0.25,"developer":0.25,"recipes":0.25,"priority-queues":0.25},"1466":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1467":{"docs":0.25,"developer":0.25,"recipes":0.25,"recoverable-errors-and-the-guid":0.25},"1468":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1469":{"docs":0.25,"developer":0.25,"recipes":0.25,"revocable-shared-locks":0.25},"1470":{"docs":0.25,"developer":0.25,"recipes":0.25,"two-phased-commit":0.25},"1471":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1472":{"docs":0.25,"developer":0.25,"recipes":0.25,"a-guide-to-creating-higher-level-constructs-with-zookeeper":0.25},"1473":{"docs":0.25,"developer":0.25,"recipes":0.25,"a-guide-to-creating-higher-level-constructs-with-zookeeper":0.25},"1474":{"docs":0.25,"developer":0.25,"recipes":0.25,"a-guide-to-creating-higher-level-constructs-with-zookeeper":0.25},"1475":{"docs":0.25,"developer":0.25,"recipes":0.25,"a-guide-to-creating-higher-level-constructs-with-zookeeper":0.25},"1476":{"docs":0.25,"developer":0.25,"recipes":0.25,"important-note-about-error-handling":0.25},"1477":{"docs":0.25,"developer":0.25,"recipes":0.25,"out-of-the-box-applications-name-service-configuration-group-membership":0.25},"1478":{"docs":0.25,"developer":0.25,"recipes":0.25,"out-of-the-box-applications-name-service-configuration-group-membership":0.25},"1479":{"docs":0.25,"developer":0.25,"recipes":0.25,"barriers":0.25},"1480":{"docs":0.25,"developer":0.25,"recipes":0.25,"barriers":0.25},"1481":{"docs":0.25,"developer":0.25,"recipes":0.25,"barriers":0.25},"1482":{"docs":0.25,"developer":0.25,"recipes":0.25,"barriers":0.25},"1483":{"docs":0.25,"developer":0.25,"recipes":0.25,"barriers":0.25},"1484":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1485":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1486":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1487":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1488":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1489":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1490":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1491":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1492":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1493":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1494":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1495":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1496":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1497":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1498":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1499":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1500":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1501":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1502":{"docs":0.25,"developer":0.25,"recipes":0.25,"double-barriers":0.25},"1503":{"docs":0.25,"developer":0.25,"recipes":0.25,"queues":0.25},"1504":{"docs":0.25,"developer":0.25,"recipes":0.25,"queues":0.25},"1505":{"docs":0.25,"developer":0.25,"recipes":0.25,"queues":0.25},"1506":{"docs":0.25,"developer":0.25,"recipes":0.25,"priority-queues":0.25},"1507":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1508":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1509":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1510":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1511":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1512":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1513":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1514":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1515":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1516":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1517":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1518":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1519":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1520":{"docs":0.25,"developer":0.25,"recipes":0.25,"locks":0.25},"1521":{"docs":0.25,"developer":0.25,"recipes":0.25,"recoverable-errors-and-the-guid":0.25},"1522":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1523":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1524":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1525":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1526":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1527":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1528":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1529":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1530":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1531":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1532":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1533":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1534":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1535":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1536":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1537":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1538":{"docs":0.25,"developer":0.25,"recipes":0.25,"shared-locks":0.25},"1539":{"docs":0.25,"developer":0.25,"recipes":0.25,"revocable-shared-locks":0.25},"1540":{"docs":0.25,"developer":0.25,"recipes":0.25,"revocable-shared-locks":0.25},"1541":{"docs":0.25,"developer":0.25,"recipes":0.25,"revocable-shared-locks":0.25},"1542":{"docs":0.25,"developer":0.25,"recipes":0.25,"two-phased-commit":0.25},"1543":{"docs":0.25,"developer":0.25,"recipes":0.25,"two-phased-commit":0.25},"1544":{"docs":0.25,"developer":0.25,"recipes":0.25,"two-phased-commit":0.25},"1545":{"docs":0.25,"developer":0.25,"recipes":0.25,"two-phased-commit":0.25},"1546":{"docs":0.25,"developer":0.25,"recipes":0.25,"two-phased-commit":0.25},"1547":{"docs":0.25,"developer":0.25,"recipes":0.25,"two-phased-commit":0.25},"1548":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1549":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1550":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1551":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1552":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1553":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1554":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1555":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1556":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1557":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1558":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1559":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1560":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1561":{"docs":0.25,"developer":0.25,"recipes":0.25,"leader-election":0.25},"1562":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1563":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1564":{"docs":0.25,"developer":0.25,"use-cases":0.25,"free-software-projects":0.25},"1565":{"docs":0.25,"developer":0.25,"use-cases":0.25,"adroitlogic-ultraesb":0.25},"1566":{"docs":0.25,"developer":0.25,"use-cases":0.25,"akka":0.25},"1567":{"docs":0.25,"developer":0.25,"use-cases":0.25,"eclipse-communication-framework":0.25},"1568":{"docs":0.25,"developer":0.25,"use-cases":0.25,"eclipse-gyrex":0.25},"1569":{"docs":0.25,"developer":0.25,"use-cases":0.25,"goldenorb":0.25},"1570":{"docs":0.25,"developer":0.25,"use-cases":0.25,"juju":0.25},"1571":{"docs":0.25,"developer":0.25,"use-cases":0.25,"katta":0.25},"1572":{"docs":0.25,"developer":0.25,"use-cases":0.25,"keptcollections":0.25},"1573":{"docs":0.25,"developer":0.25,"use-cases":0.25,"neo4j":0.25},"1574":{"docs":0.25,"developer":0.25,"use-cases":0.25,"norbert":0.25},"1575":{"docs":0.25,"developer":0.25,"use-cases":0.25,"spring-cloud-zookeeper":0.25},"1576":{"docs":0.25,"developer":0.25,"use-cases":0.25,"spring-statemachine":0.25},"1577":{"docs":0.25,"developer":0.25,"use-cases":0.25,"spring-xd":0.25},"1578":{"docs":0.25,"developer":0.25,"use-cases":0.25,"talend-esb":0.25},"1579":{"docs":0.25,"developer":0.25,"use-cases":0.25,"redis_failover":0.25},"1580":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-projects":0.25},"1581":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-accumulo":0.25},"1582":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-atlas":0.25},"1583":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-bookkeeper":0.25},"1584":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-cxf-dosgi":0.25},"1585":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-drill":0.25},"1586":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-druid":0.25},"1587":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-dubbo":0.25},"1588":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-flink":0.25},"1589":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-flume":0.25},"1590":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-fluo":0.25},"1591":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-griffin":0.25},"1592":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hadoop":0.25},"1593":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hbase":0.25},"1594":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-helix":0.25},"1595":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hive":0.25},"1596":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-ignite":0.25},"1597":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-james-mailbox":0.25},"1598":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-kafka":0.25},"1599":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-kylin":0.25},"1600":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-mesos":0.25},"1601":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-oozie":0.25},"1602":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-pulsar":0.25},"1603":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-solr":0.25},"1604":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-spark":0.25},"1605":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-storm":0.25},"1606":{"docs":0.25,"developer":0.25,"use-cases":0.25,"companies":0.25},"1607":{"docs":0.25,"developer":0.25,"use-cases":0.25,"ageto":0.25},"1608":{"docs":0.25,"developer":0.25,"use-cases":0.25,"benipal-technologies":0.25},"1609":{"docs":0.25,"developer":0.25,"use-cases":0.25,"box":0.25},"1610":{"docs":0.25,"developer":0.25,"use-cases":0.25,"deepdyve":0.25},"1611":{"docs":0.25,"developer":0.25,"use-cases":0.25,"facebook":0.25},"1612":{"docs":0.25,"developer":0.25,"use-cases":0.25,"idium-portal":0.25},"1613":{"docs":0.25,"developer":0.25,"use-cases":0.25,"makara":0.25},"1614":{"docs":0.25,"developer":0.25,"use-cases":0.25,"midokura":0.25},"1615":{"docs":0.25,"developer":0.25,"use-cases":0.25,"pinterest":0.25},"1616":{"docs":0.25,"developer":0.25,"use-cases":0.25,"rackspace":0.25},"1617":{"docs":0.25,"developer":0.25,"use-cases":0.25,"sematext":0.25},"1618":{"docs":0.25,"developer":0.25,"use-cases":0.25,"tubemogul":0.25},"1619":{"docs":0.25,"developer":0.25,"use-cases":0.25,"twitter":0.25},"1620":{"docs":0.25,"developer":0.25,"use-cases":0.25,"vastcom":0.25},"1621":{"docs":0.25,"developer":0.25,"use-cases":0.25,"wealthfront":0.25},"1622":{"docs":0.25,"developer":0.25,"use-cases":0.25,"yahoo":0.25},"1623":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1624":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1625":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1626":{"docs":0.3333333333333333,"developer":0.3333333333333333,"use-cases":0.3333333333333333},"1627":{"docs":0.25,"developer":0.25,"use-cases":0.25,"adroitlogic-ultraesb":0.25},"1628":{"docs":0.25,"developer":0.25,"use-cases":0.25,"akka":0.25},"1629":{"docs":0.25,"developer":0.25,"use-cases":0.25,"eclipse-communication-framework":0.25},"1630":{"docs":0.25,"developer":0.25,"use-cases":0.25,"eclipse-gyrex":0.25},"1631":{"docs":0.25,"developer":0.25,"use-cases":0.25,"eclipse-gyrex":0.25},"1632":{"docs":0.25,"developer":0.25,"use-cases":0.25,"goldenorb":0.25},"1633":{"docs":0.25,"developer":0.25,"use-cases":0.25,"juju":0.25},"1634":{"docs":0.25,"developer":0.25,"use-cases":0.25,"katta":0.25},"1635":{"docs":0.25,"developer":0.25,"use-cases":0.25,"katta":0.25},"1636":{"docs":0.25,"developer":0.25,"use-cases":0.25,"keptcollections":0.25},"1637":{"docs":0.25,"developer":0.25,"use-cases":0.25,"keptcollections":0.25},"1638":{"docs":0.25,"developer":0.25,"use-cases":0.25,"neo4j":0.25},"1639":{"docs":0.25,"developer":0.25,"use-cases":0.25,"neo4j":0.25},"1640":{"docs":0.25,"developer":0.25,"use-cases":0.25,"norbert":0.25},"1641":{"docs":0.25,"developer":0.25,"use-cases":0.25,"spring-cloud-zookeeper":0.25},"1642":{"docs":0.25,"developer":0.25,"use-cases":0.25,"spring-statemachine":0.25},"1643":{"docs":0.25,"developer":0.25,"use-cases":0.25,"spring-statemachine":0.25},"1644":{"docs":0.25,"developer":0.25,"use-cases":0.25,"spring-xd":0.25},"1645":{"docs":0.25,"developer":0.25,"use-cases":0.25,"spring-xd":0.25},"1646":{"docs":0.25,"developer":0.25,"use-cases":0.25,"talend-esb":0.25},"1647":{"docs":0.25,"developer":0.25,"use-cases":0.25,"talend-esb":0.25},"1648":{"docs":0.25,"developer":0.25,"use-cases":0.25,"redis_failover":0.25},"1649":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-accumulo":0.25},"1650":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-accumulo":0.25},"1651":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-atlas":0.25},"1652":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-atlas":0.25},"1653":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-bookkeeper":0.25},"1654":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-bookkeeper":0.25},"1655":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-cxf-dosgi":0.25},"1656":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-cxf-dosgi":0.25},"1657":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-drill":0.25},"1658":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-drill":0.25},"1659":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-druid":0.25},"1660":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-druid":0.25},"1661":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-druid":0.25},"1662":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-druid":0.25},"1663":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-druid":0.25},"1664":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-druid":0.25},"1665":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-druid":0.25},"1666":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-dubbo":0.25},"1667":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-dubbo":0.25},"1668":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-flink":0.25},"1669":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-flink":0.25},"1670":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-flume":0.25},"1671":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-flume":0.25},"1672":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-fluo":0.25},"1673":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-fluo":0.25},"1674":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-griffin":0.25},"1675":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-griffin":0.25},"1676":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hadoop":0.25},"1677":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hadoop":0.25},"1678":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hadoop":0.25},"1679":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hadoop":0.25},"1680":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hadoop":0.25},"1681":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hadoop":0.25},"1682":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hadoop":0.25},"1683":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hadoop":0.25},"1684":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hbase":0.25},"1685":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hbase":0.25},"1686":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hbase":0.25},"1687":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-helix":0.25},"1688":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-helix":0.25},"1689":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-helix":0.25},"1690":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-helix":0.25},"1691":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-helix":0.25},"1692":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hive":0.25},"1693":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-hive":0.25},"1694":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-ignite":0.25},"1695":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-ignite":0.25},"1696":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-james-mailbox":0.25},"1697":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-james-mailbox":0.25},"1698":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-kafka":0.25},"1699":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-kafka":0.25},"1700":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-kafka":0.25},"1701":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-kafka":0.25},"1702":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-kafka":0.25},"1703":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-kafka":0.25},"1704":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-kylin":0.25},"1705":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-kylin":0.25},"1706":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-mesos":0.25},"1707":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-mesos":0.25},"1708":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-oozie":0.25},"1709":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-oozie":0.25},"1710":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-pulsar":0.25},"1711":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-pulsar":0.25},"1712":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-pulsar":0.25},"1713":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-pulsar":0.25},"1714":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-solr":0.25},"1715":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-solr":0.25},"1716":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-spark":0.25},"1717":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-spark":0.25},"1718":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-storm":0.25},"1719":{"docs":0.25,"developer":0.25,"use-cases":0.25,"apache-storm":0.25},"1720":{"docs":0.25,"developer":0.25,"use-cases":0.25,"ageto":0.25},"1721":{"docs":0.25,"developer":0.25,"use-cases":0.25,"benipal-technologies":0.25},"1722":{"docs":0.25,"developer":0.25,"use-cases":0.25,"box":0.25},"1723":{"docs":0.25,"developer":0.25,"use-cases":0.25,"deepdyve":0.25},"1724":{"docs":0.25,"developer":0.25,"use-cases":0.25,"facebook":0.25},"1725":{"docs":0.25,"developer":0.25,"use-cases":0.25,"idium-portal":0.25},"1726":{"docs":0.25,"developer":0.25,"use-cases":0.25,"idium-portal":0.25},"1727":{"docs":0.25,"developer":0.25,"use-cases":0.25,"makara":0.25},"1728":{"docs":0.25,"developer":0.25,"use-cases":0.25,"makara":0.25},"1729":{"docs":0.25,"developer":0.25,"use-cases":0.25,"makara":0.25},"1730":{"docs":0.25,"developer":0.25,"use-cases":0.25,"midokura":0.25},"1731":{"docs":0.25,"developer":0.25,"use-cases":0.25,"pinterest":0.25},"1732":{"docs":0.25,"developer":0.25,"use-cases":0.25,"rackspace":0.25},"1733":{"docs":0.25,"developer":0.25,"use-cases":0.25,"sematext":0.25},"1734":{"docs":0.25,"developer":0.25,"use-cases":0.25,"tubemogul":0.25},"1735":{"docs":0.25,"developer":0.25,"use-cases":0.25,"twitter":0.25},"1736":{"docs":0.25,"developer":0.25,"use-cases":0.25,"twitter":0.25},"1737":{"docs":0.25,"developer":0.25,"use-cases":0.25,"twitter":0.25},"1738":{"docs":0.25,"developer":0.25,"use-cases":0.25,"twitter":0.25},"1739":{"docs":0.25,"developer":0.25,"use-cases":0.25,"twitter":0.25},"1740":{"docs":0.25,"developer":0.25,"use-cases":0.25,"vastcom":0.25},"1741":{"docs":0.25,"developer":0.25,"use-cases":0.25,"wealthfront":0.25},"1742":{"docs":0.25,"developer":0.25,"use-cases":0.25,"yahoo":0.25},"1743":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1744":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1745":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1746":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1747":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1748":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1749":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1750":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1751":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1752":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1753":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1754":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1755":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1756":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1757":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1758":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1759":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1760":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1761":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1762":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1763":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1764":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1765":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1766":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1767":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1768":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1769":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1770":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1771":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1772":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1773":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1774":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1775":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1776":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1777":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1778":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1779":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1780":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1781":{"docs":0.25,"developer":0.25,"use-cases":0.25,"zynga":0.25},"1782":{"docs":1},"1783":{"docs":1},"1784":{"docs":0.5,"zookeeper-a-distributed-coordination-service-for-distributed-applications":0.5},"1785":{"docs":0.5,"design-goals":0.5},"1786":{"docs":0.5,"data-model-and-the-hierarchical-namespace":0.5},"1787":{"docs":0.5,"zookeepers-hierarchical-namespace":0.5},"1788":{"docs":0.5,"nodes-and-ephemeral-nodes":0.5},"1789":{"docs":0.5,"conditional-updates-and-watches":0.5},"1790":{"docs":0.5,"guarantees":0.5},"1791":{"docs":0.5,"simple-api":0.5},"1792":{"docs":0.5,"implementation":0.5},"1793":{"docs":0.5,"uses":0.5},"1794":{"docs":0.5,"performance":0.5},"1795":{"docs":0.5,"reliability":0.5},"1796":{"docs":0.5,"the-zookeeper-project":0.5},"1797":{"docs":0.5,"zookeeper-a-distributed-coordination-service-for-distributed-applications":0.5},"1798":{"docs":0.5,"zookeeper-a-distributed-coordination-service-for-distributed-applications":0.5},"1799":{"docs":0.5,"design-goals":0.5},"1800":{"docs":0.5,"design-goals":0.5},"1801":{"docs":0.5,"design-goals":0.5},"1802":{"docs":0.5,"design-goals":0.5},"1803":{"docs":0.5,"design-goals":0.5},"1804":{"docs":0.5,"design-goals":0.5},"1805":{"docs":0.5,"design-goals":0.5},"1806":{"docs":0.5,"data-model-and-the-hierarchical-namespace":0.5},"1807":{"docs":0.5,"nodes-and-ephemeral-nodes":0.5},"1808":{"docs":0.5,"nodes-and-ephemeral-nodes":0.5},"1809":{"docs":0.5,"nodes-and-ephemeral-nodes":0.5},"1810":{"docs":0.5,"nodes-and-ephemeral-nodes":0.5},"1811":{"docs":0.5,"conditional-updates-and-watches":0.5},"1812":{"docs":0.5,"conditional-updates-and-watches":0.5},"1813":{"docs":0.5,"guarantees":0.5},"1814":{"docs":0.5,"guarantees":0.5},"1815":{"docs":0.5,"guarantees":0.5},"1816":{"docs":0.5,"guarantees":0.5},"1817":{"docs":0.5,"guarantees":0.5},"1818":{"docs":0.5,"guarantees":0.5},"1819":{"docs":0.5,"simple-api":0.5},"1820":{"docs":0.5,"simple-api":0.5},"1821":{"docs":0.5,"simple-api":0.5},"1822":{"docs":0.5,"simple-api":0.5},"1823":{"docs":0.5,"simple-api":0.5},"1824":{"docs":0.5,"simple-api":0.5},"1825":{"docs":0.5,"simple-api":0.5},"1826":{"docs":0.5,"simple-api":0.5},"1827":{"docs":0.5,"implementation":0.5},"1828":{"docs":0.5,"implementation":0.5},"1829":{"docs":0.5,"implementation":0.5},"1830":{"docs":0.5,"implementation":0.5},"1831":{"docs":0.5,"implementation":0.5},"1832":{"docs":0.5,"uses":0.5},"1833":{"docs":0.5,"performance":0.5},"1834":{"docs":0.5,"performance":0.5},"1835":{"docs":0.5,"performance":0.5},"1836":{"docs":0.5,"performance":0.5},"1837":{"docs":0.5,"performance":0.5},"1838":{"docs":0.5,"performance":0.5},"1839":{"docs":0.5,"performance":0.5},"1840":{"docs":0.5,"performance":0.5},"1841":{"docs":0.5,"performance":0.5},"1842":{"docs":0.5,"performance":0.5},"1843":{"docs":0.5,"performance":0.5},"1844":{"docs":0.5,"reliability":0.5},"1845":{"docs":0.5,"reliability":0.5},"1846":{"docs":0.5,"the-zookeeper-project":0.5},"1847":{"docs":0.5,"the-zookeeper-project":0.5},"1848":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1849":{"docs":0.3333333333333333,"miscellaneous":0.3333333333333333,"internals":0.3333333333333333},"1850":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"atomic-broadcast":0.25},"1851":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1852":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1853":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"active-messaging":0.25},"1854":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"summary":0.25},"1855":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"comparisons":0.25},"1856":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"consistency-guarantees":0.25},"1857":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"quorums":0.25},"1858":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"logging":0.25},"1859":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"developer-guidelines":0.25},"1860":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"logging-at-the-right-level":0.25},"1861":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"use-of-standard-slf4j-idioms":0.25},"1862":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"atomic-broadcast":0.25},"1863":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1864":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1865":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1866":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1867":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1868":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1869":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1870":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1871":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1872":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1873":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1874":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1875":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1876":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1877":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1878":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1879":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1880":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1881":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"guarantees-properties-and-definitions":0.25},"1882":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1883":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1884":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1885":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1886":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1887":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1888":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1889":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1890":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1891":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1892":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1893":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1894":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1895":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"leader-activation":0.25},"1896":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"active-messaging":0.25},"1897":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"active-messaging":0.25},"1898":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"active-messaging":0.25},"1899":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"active-messaging":0.25},"1900":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"active-messaging":0.25},"1901":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"active-messaging":0.25},"1902":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"active-messaging":0.25},"1903":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"summary":0.25},"1904":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"comparisons":0.25},"1905":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"comparisons":0.25},"1906":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"consistency-guarantees":0.25},"1907":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"consistency-guarantees":0.25},"1908":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"consistency-guarantees":0.25},"1909":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"consistency-guarantees":0.25},"1910":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"consistency-guarantees":0.25},"1911":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"quorums":0.25},"1912":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"quorums":0.25},"1913":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"quorums":0.25},"1914":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"quorums":0.25},"1915":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"logging":0.25},"1916":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"developer-guidelines":0.25},"1917":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"logging-at-the-right-level":0.25},"1918":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"logging-at-the-right-level":0.25},"1919":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"logging-at-the-right-level":0.25},"1920":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"logging-at-the-right-level":0.25},"1921":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"logging-at-the-right-level":0.25},"1922":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"logging-at-the-right-level":0.25},"1923":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"logging-at-the-right-level":0.25},"1924":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"use-of-standard-slf4j-idioms":0.25},"1925":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"use-of-standard-slf4j-idioms":0.25},"1926":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"use-of-standard-slf4j-idioms":0.25},"1927":{"docs":0.25,"miscellaneous":0.25,"internals":0.25,"use-of-standard-slf4j-idioms":0.25},"1928":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1929":{"docs":0.3333333333333333,"overview":0.3333333333333333,"quick-start":0.3333333333333333},"1930":{"docs":0.25,"overview":0.25,"quick-start":0.25,"coordinating-distributed-applications-with-zookeeper":0.25},"1931":{"docs":0.25,"overview":0.25,"quick-start":0.25,"pre-requisites":0.25},"1932":{"docs":0.25,"overview":0.25,"quick-start":0.25,"download":0.25},"1933":{"docs":0.25,"overview":0.25,"quick-start":0.25,"standalone-operation":0.25},"1934":{"docs":0.25,"overview":0.25,"quick-start":0.25,"managing-zookeeper-storage":0.25},"1935":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1936":{"docs":0.25,"overview":0.25,"quick-start":0.25,"programming-to-zookeeper":0.25},"1937":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1938":{"docs":0.25,"overview":0.25,"quick-start":0.25,"other-optimizations":0.25},"1939":{"docs":0.25,"overview":0.25,"quick-start":0.25,"coordinating-distributed-applications-with-zookeeper":0.25},"1940":{"docs":0.25,"overview":0.25,"quick-start":0.25,"pre-requisites":0.25},"1941":{"docs":0.25,"overview":0.25,"quick-start":0.25,"download":0.25},"1942":{"docs":0.25,"overview":0.25,"quick-start":0.25,"standalone-operation":0.25},"1943":{"docs":0.25,"overview":0.25,"quick-start":0.25,"standalone-operation":0.25},"1944":{"docs":0.25,"overview":0.25,"quick-start":0.25,"standalone-operation":0.25},"1945":{"docs":0.25,"overview":0.25,"quick-start":0.25,"standalone-operation":0.25},"1946":{"docs":0.25,"overview":0.25,"quick-start":0.25,"standalone-operation":0.25},"1947":{"docs":0.25,"overview":0.25,"quick-start":0.25,"standalone-operation":0.25},"1948":{"docs":0.25,"overview":0.25,"quick-start":0.25,"standalone-operation":0.25},"1949":{"docs":0.25,"overview":0.25,"quick-start":0.25,"standalone-operation":0.25},"1950":{"docs":0.25,"overview":0.25,"quick-start":0.25,"standalone-operation":0.25},"1951":{"docs":0.25,"overview":0.25,"quick-start":0.25,"standalone-operation":0.25},"1952":{"docs":0.25,"overview":0.25,"quick-start":0.25,"managing-zookeeper-storage":0.25},"1953":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1954":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1955":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1956":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1957":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1958":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1959":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1960":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1961":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1962":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1963":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1964":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1965":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1966":{"docs":0.25,"overview":0.25,"quick-start":0.25,"connecting-to-zookeeper":0.25},"1967":{"docs":0.25,"overview":0.25,"quick-start":0.25,"programming-to-zookeeper":0.25},"1968":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1969":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1970":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1971":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1972":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1973":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1974":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1975":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1976":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1977":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1978":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1979":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1980":{"docs":0.25,"overview":0.25,"quick-start":0.25,"running-replicated-zookeeper":0.25},"1981":{"docs":0.25,"overview":0.25,"quick-start":0.25,"other-optimizations":0.25},"1982":{"docs":0.25,"overview":0.25,"quick-start":0.25,"other-optimizations":0.25},"1983":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1984":{"docs":0.3333333333333333,"overview":0.3333333333333333,"release-notes":0.3333333333333333},"1985":{"docs":0.25,"overview":0.25,"release-notes":0.25,"release-notes---zookeeper---version-395":0.25},"1986":{"docs":0.25,"overview":0.25,"release-notes":0.25,"sub-task":0.25},"1987":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug":0.25},"1988":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement":0.25},"1989":{"docs":0.25,"overview":0.25,"release-notes":0.25,"test":0.25},"1990":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task":0.25},"1991":{"docs":0.25,"overview":0.25,"release-notes":0.25,"release-notes---zookeeper---version-394":0.25},"1992":{"docs":0.25,"overview":0.25,"release-notes":0.25,"breaking-changes":0.25},"1993":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"1994":{"docs":0.25,"overview":0.25,"release-notes":0.25,"new-feature":0.25},"1995":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-1":0.25},"1996":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-1":0.25},"1997":{"docs":0.25,"overview":0.25,"release-notes":0.25,"release-notes---zookeeper---version-393":0.25},"1998":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"1999":{"docs":0.25,"overview":0.25,"release-notes":0.25,"new-feature-1":0.25},"2000":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-2":0.25},"2001":{"docs":0.25,"overview":0.25,"release-notes":0.25,"test-1":0.25},"2002":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-2":0.25},"2003":{"docs":0.25,"overview":0.25,"release-notes":0.25,"release-notes---zookeeper---version-392":0.25},"2004":{"docs":0.25,"overview":0.25,"release-notes":0.25,"sub-task-1":0.25},"2005":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-3":0.25},"2006":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-3":0.25},"2007":{"docs":0.25,"overview":0.25,"release-notes":0.25,"wish":0.25},"2008":{"docs":0.25,"overview":0.25,"release-notes":0.25,"release-notes---zookeeper---version-391":0.25},"2009":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-4":0.25},"2010":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-3":0.25},"2011":{"docs":0.25,"overview":0.25,"release-notes":0.25,"release-notes---zookeeper---version-390":0.25},"2012":{"docs":0.25,"overview":0.25,"release-notes":0.25,"sub-task-2":0.25},"2013":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2014":{"docs":0.25,"overview":0.25,"release-notes":0.25,"new-feature-2":0.25},"2015":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2016":{"docs":0.25,"overview":0.25,"release-notes":0.25,"test-2":0.25},"2017":{"docs":0.25,"overview":0.25,"release-notes":0.25,"wish-1":0.25},"2018":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2019":{"docs":0.25,"overview":0.25,"release-notes":0.25,"sub-task":0.25},"2020":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug":0.25},"2021":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug":0.25},"2022":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug":0.25},"2023":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug":0.25},"2024":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug":0.25},"2025":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug":0.25},"2026":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug":0.25},"2027":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement":0.25},"2028":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement":0.25},"2029":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement":0.25},"2030":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement":0.25},"2031":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement":0.25},"2032":{"docs":0.25,"overview":0.25,"release-notes":0.25,"test":0.25},"2033":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task":0.25},"2034":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task":0.25},"2035":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task":0.25},"2036":{"docs":0.25,"overview":0.25,"release-notes":0.25,"breaking-changes":0.25},"2037":{"docs":0.25,"overview":0.25,"release-notes":0.25,"breaking-changes":0.25},"2038":{"docs":0.25,"overview":0.25,"release-notes":0.25,"breaking-changes":0.25},"2039":{"docs":0.25,"overview":0.25,"release-notes":0.25,"breaking-changes":0.25},"2040":{"docs":0.25,"overview":0.25,"release-notes":0.25,"breaking-changes":0.25},"2041":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2042":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2043":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2044":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2045":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2046":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2047":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2048":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2049":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2050":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2051":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2052":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2053":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2054":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2055":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2056":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2057":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2058":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2059":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2060":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2061":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2062":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2063":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2064":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2065":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-1":0.25},"2066":{"docs":0.25,"overview":0.25,"release-notes":0.25,"new-feature":0.25},"2067":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-1":0.25},"2068":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-1":0.25},"2069":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-1":0.25},"2070":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-1":0.25},"2071":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-1":0.25},"2072":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-1":0.25},"2073":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-1":0.25},"2074":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-1":0.25},"2075":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-1":0.25},"2076":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-1":0.25},"2077":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2078":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2079":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2080":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2081":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2082":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2083":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2084":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2085":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2086":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2087":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2088":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2089":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2090":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-2":0.25},"2091":{"docs":0.25,"overview":0.25,"release-notes":0.25,"new-feature-1":0.25},"2092":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-2":0.25},"2093":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-2":0.25},"2094":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-2":0.25},"2095":{"docs":0.25,"overview":0.25,"release-notes":0.25,"test-1":0.25},"2096":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-2":0.25},"2097":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-2":0.25},"2098":{"docs":0.25,"overview":0.25,"release-notes":0.25,"sub-task-1":0.25},"2099":{"docs":0.25,"overview":0.25,"release-notes":0.25,"sub-task-1":0.25},"2100":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-3":0.25},"2101":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-3":0.25},"2102":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-3":0.25},"2103":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-3":0.25},"2104":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-3":0.25},"2105":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-3":0.25},"2106":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-3":0.25},"2107":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-3":0.25},"2108":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-3":0.25},"2109":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-3":0.25},"2110":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-3":0.25},"2111":{"docs":0.25,"overview":0.25,"release-notes":0.25,"wish":0.25},"2112":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-4":0.25},"2113":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-4":0.25},"2114":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-3":0.25},"2115":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-3":0.25},"2116":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-3":0.25},"2117":{"docs":0.25,"overview":0.25,"release-notes":0.25,"sub-task-2":0.25},"2118":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2119":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2120":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2121":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2122":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2123":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2124":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2125":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2126":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2127":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2128":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2129":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2130":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2131":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2132":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2133":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2134":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2135":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2136":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2137":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2138":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2139":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2140":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2141":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2142":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2143":{"docs":0.25,"overview":0.25,"release-notes":0.25,"bug-4":0.25},"2144":{"docs":0.25,"overview":0.25,"release-notes":0.25,"new-feature-2":0.25},"2145":{"docs":0.25,"overview":0.25,"release-notes":0.25,"new-feature-2":0.25},"2146":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2147":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2148":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2149":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2150":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2151":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2152":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2153":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2154":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2155":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2156":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2157":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2158":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2159":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2160":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2161":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2162":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2163":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2164":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2165":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2166":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2167":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2168":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2169":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2170":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2171":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2172":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2173":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2174":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2175":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2176":{"docs":0.25,"overview":0.25,"release-notes":0.25,"improvement-5":0.25},"2177":{"docs":0.25,"overview":0.25,"release-notes":0.25,"test-2":0.25},"2178":{"docs":0.25,"overview":0.25,"release-notes":0.25,"test-2":0.25},"2179":{"docs":0.25,"overview":0.25,"release-notes":0.25,"wish-1":0.25},"2180":{"docs":0.25,"overview":0.25,"release-notes":0.25,"wish-1":0.25},"2181":{"docs":0.25,"overview":0.25,"release-notes":0.25,"wish-1":0.25},"2182":{"docs":0.25,"overview":0.25,"release-notes":0.25,"wish-1":0.25},"2183":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2184":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2185":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2186":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2187":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2188":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2189":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2190":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2191":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2192":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2193":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25},"2194":{"docs":0.25,"overview":0.25,"release-notes":0.25,"task-4":0.25}}},"tokenOccurrences":{"content":{"0":175,"1":91,"2":66,"3":226,"4":41,"5":85,"6":79,"7":33,"8":20,"9":28,"10":24,"11":3,"12":5,"13":7,"14":2,"15":8,"16":5,"17":2,"18":1,"19":1,"20":2,"22":1,"25":1,"26":1,"30":3,"31":7,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"40":1,"50":1,"53":1,"58":1,"59":1,"60":2,"64":1,"76":1,"86":1,"94":1,"100":8,"127":7,"128":1,"130":1,"168":1,"172":3,"192":1,"194":1,"200":1,"250":1,"254":1,"255":2,"304":1,"325":1,"340":1,"400":2,"425":1,"437":1,"500":2,"1000":6,"1024":2,"1145":1,"1991":1,"2000":1,"2008":2,"2012":1,"2015":1,"2018":2,"2181":5,"2791":1,"2888":2,"2889":1,"2890":1,"3000":2,"3001":3,"3002":3,"3888":2,"3889":1,"3890":1,"4545":2,"7000":2,"8080":2,"10000":3,"30000":1,"60000":1,"112600":1,"112627":1,"300000":1,"1048575":2,"2147483647":1,"administration":3,"operational":2,"guidance":1,"for":494,"running":51,"a":736,"zookeeper":673,"cluster":74,"including":17,"provisioning":1,"maintenance":10,"tasks":3,"data":139,"directory":42,"cleanup":6,"supervision":2,"monitoring":10,"logging":19,"and":692,"troubleshooting":6,"ongoing":1,"debug":8,"log":60,"logback":20,"metrics":25,"providers":4,"little":3,"long":21,"term":2,"is":667,"required":21,"however":23,"you":171,"must":62,"be":366,"aware":5,"of":614,"the":1146,"following":84,"contains":26,"files":36,"which":150,"are":265,"persistent":15,"copy":4,"znodes":33,"stored":19,"by":252,"particular":14,"serving":12,"ensemble":81,"these":53,"snapshot":44,"transactional":4,"as":234,"changes":51,"made":14,"to":824,"appended":5,"transaction":40,"occasionally":1,"when":230,"grows":2,"large":24,"current":50,"state":53,"all":150,"will":273,"written":13,"filesystem":3,"new":242,"file":119,"created":36,"future":14,"transactions":12,"during":37,"snapshotting":4,"may":60,"continue":6,"appending":1,"incoming":2,"old":27,"therefore":9,"some":51,"newer":1,"than":59,"found":11,"in":634,"last":23,"preceding":3,"server":286,"not":196,"remove":25,"snapshots":23,"using":112,"default":180,"configuration":140,"see":110,"autopurge":4,"below":20,"this":340,"responsibility":5,"operator":1,"every":32,"environment":20,"different":44,"requirements":16,"managing":8,"differ":4,"from":179,"install":9,"backup":4,"example":100,"purgetxnlog":1,"utility":2,"implements":2,"simple":39,"retention":2,"policy":3,"that":369,"administrators":3,"can":263,"use":139,"api":46,"docs":11,"details":37,"on":260,"calling":5,"conventions":3,"arguments":6,"etc":19,"count":13,"their":18,"corresponding":11,"logs":35,"retained":3,"others":5,"deleted":24,"value":94,"should":76,"typically":6,"greater":5,"although":6,"provides":27,"backups":2,"unlikely":2,"event":35,"recent":5,"has":127,"become":8,"corrupted":1,"run":29,"cron":1,"job":3,"machines":19,"clean":8,"up":74,"daily":1,"automatic":4,"purging":2,"was":36,"introduced":9,"version":44,"enabled":70,"via":25,"parameters":32,"snapretaincount":2,"purgeinterval":2,"more":85,"advanced":4,"section":28,"document":14,"it":296,"expected":16,"setup":13,"rolling":13,"appender":2,"in-built":1,"feature":42,"sample":9,"release":22,"tar's":1,"conf":11,"xml":5,"an":176,"want":15,"have":118,"supervisory":2,"process":54,"manages":5,"each":94,"your":54,"processes":21,"jvm":10,"zk":16,"designed":20,"fail":22,"fast":11,"meaning":5,"shut":7,"down":26,"exit":9,"if":254,"error":37,"occurs":13,"cannot":17,"recover":16,"highly":10,"reliable":11,"means":20,"while":28,"go":12,"whole":3,"still":21,"active":20,"requests":40,"additionally":6,"self":2,"healing":1,"failed":9,"once":37,"restarted":5,"automatically":23,"rejoin":2,"w":2,"o":6,"any":72,"manual":7,"interaction":2,"having":14,"such":58,"daemontools":1,"or":184,"smf":1,"other":84,"options":28,"also":85,"available":31,"it's":6,"one":98,"would":28,"like":40,"just":19,"two":62,"examples":17,"ensures":5,"does":41,"abnormally":3,"quickly":7,"recommended":19,"configure":24,"terminate":3,"dump":5,"its":79,"heap":7,"outofmemoryerror":1,"achieved":2,"launching":1,"with":299,"linux":3,"windows":3,"respectively":5,"zkserver":9,"sh":20,"cmd":1,"scripts":4,"ship":1,"set":159,"service":53,"monitored":1,"three":18,"primary":5,"ways":5,"command":55,"port":47,"through":28,"letter":9,"words":11,"jmx":21,"status":10,"uses":62,"slf4j":12,"infrastructure":7,"shipped":1,"backend":6,"but":85,"supported":26,"framework":20,"choice":4,"resides":3,"requires":21,"either":20,"working":5,"accessible":7,"classpath":4,"information":68,"about":35,"website":2,"coming":3,"because":46,"corruption":2,"might":13,"able":29,"read":53,"database":21,"come":4,"ioexception":5,"loading":8,"case":36,"make":44,"sure":12,"servers":101,"stat":20,"they":54,"good":12,"health":3,"after":51,"verified":1,"ahead":2,"corrupt":1,"delete":28,"datadir":14,"version-2":1,"datalogdir":6,"restart":15,"used":127,"exposes":4,"useful":23,"adminserver":16,"four":15,"interface":19,"since":52,"provider":9,"exports":1,"favourite":1,"system":243,"binary":4,"package":6,"bundles":1,"integration":3,"prometheus":22,"io":14,"metricsprovider":8,"classname":1,"org":42,"apache":105,"prometheusmetricsprovider":1,"enable":40,"exporter":3,"httphost":1,"start":41,"jetty":12,"listen":9,"address":24,"httpport":1,"bind":7,"defaults":26,"end":11,"point":15,"http":17,"hostname":15,"httport":1,"exportjvminfo":1,"property":168,"true":63,"export":2,"numworkerthreads":3,"number":86,"worker":5,"threads":10,"reporting":2,"summary":3,"less":12,"main":13,"thread":16,"maxqueuesize":1,"max":7,"queue":20,"size":35,"task":10,"workershutdowntimeoutms":1,"timeout":24,"ms":6,"shutdown":5,"1000ms":1,"best":10,"practices":6,"common":16,"pitfalls":3,"avoid":25,"deploying":6,"configuring":8,"covering":6,"lists":13,"placement":2,"java":224,"sizing":1,"things":17,"here":30,"problems":9,"correctly":6,"inconsistent":2,"list":73,"clients":77,"match":14,"work":17,"okay":1,"client":255,"subset":4,"real":7,"really":7,"act":3,"strange":1,"clusters":8,"consistent":12,"another":23,"incorrect":3,"most":20,"performance":43,"critical":6,"part":25,"syncs":5,"media":5,"before":66,"returns":40,"response":16,"dedicated":14,"device":14,"key":16,"putting":4,"busy":3,"adversely":3,"affect":6,"only":139,"storage":27,"increase":13,"snapcount":5,"so":59,"generated":6,"often":5,"eliminate":2,"problem":12,"makes":7,"resources":6,"take":21,"special":10,"care":8,"create":77,"situation":7,"swaps":1,"disk":14,"death":1,"everything":6,"ordered":9,"processing":28,"request":42,"queued":5,"probably":5,"do":48,"same":60,"don't":12,"swap":4,"conservative":5,"estimates":2,"4g":2,"ram":2,"6g":1,"even":23,"likely":2,"3g":2,"machine":27,"operating":11,"cache":9,"need":40,"memory":14,"recommend":5,"practice":5,"estimating":1,"needs":15,"load":15,"tests":13,"then":65,"well":19,"usage":5,"limit":14,"cause":26,"publicly":1,"deployment":16,"operate":3,"trusted":1,"computing":4,"thus":13,"behind":7,"firewall":2,"results":7,"note":70,"multi-tenant":2,"installations":3,"detailing":1,"chroot":4,"support":39,"very":15,"many":19,"applications":23,"services":19,"interfacing":1,"single":45,"commands":27,"reference":18,"zookeeper's":22,"built-in":5,"four-letter":6,"issued":3,"telnet":2,"nc":2,"http-based":1,"endpoints":2,"ssl":48,"tls":37,"responds":8,"small":7,"composed":3,"letters":1,"issue":23,"at":110,"interesting":3,"gives":6,"general":9,"connected":35,"srvr":4,"cons":3,"give":3,"extended":4,"connections":47,"explicitly":6,"white":1,"listed":5,"please":14,"refer":6,"4lw":4,"whitelist":3,"described":12,"moving":2,"forward":12,"deprecated":5,"instead":20,"print":9,"full":15,"connection":83,"session":83,"includes":18,"numbers":13,"packets":11,"received":13,"sent":28,"id":29,"operation":42,"latencies":4,"performed":13,"crst":2,"reset":6,"statistics":10,"outstanding":5,"sessions":16,"ephemeral":40,"nodes":63,"envi":2,"ruok":4,"non-error":1,"enables":16,"respond":3,"imok":1,"otherwise":27,"disabled":37,"executed":5,"necessarily":5,"indicate":13,"joined":4,"quorum":112,"bound":6,"specified":28,"wrt":1,"srst":2,"brief":3,"wchs":2,"watches":43,"wchc":2,"detailed":6,"outputs":5,"associated":28,"paths":5,"depending":14,"expensive":8,"ie":3,"impact":10,"carefully":2,"dirs":3,"shows":7,"total":12,"bytes":17,"wchp":2,"path":55,"mntr":2,"variables":3,"could":23,"output":9,"compatible":4,"properties":29,"format":18,"content":3,"change":53,"over":26,"time":82,"keys":3,"added":37,"expect":3,"attention":1,"platform":6,"specific":13,"exported":1,"leader":155,"multiple":40,"lines":4,"isro":4,"read-only":6,"mode":46,"ro":1,"rw":1,"hash":12,"return":9,"latest":9,"history":4,"tree":17,"digest":25,"zxid":29,"gtmk":2,"gets":11,"trace":9,"mask":6,"64-bit":4,"signed":4,"decimal":2,"stmk":6,"explanation":2,"possible":20,"values":23,"sets":18,"bits":4,"where":38,"bit":6,"disables":3,"category":1,"configured":27,"level":16,"first":41,"order":55,"messages":20,"correspond":5,"categories":2,"0b0000000000":1,"unused":6,"reserved":6,"0b0000000010":1,"excluding":2,"ping":8,"0b0000000100":1,"0b0000001000":1,"0b0000010000":1,"peer":11,"0b0000100000":1,"addition":5,"removal":5,"validation":5,"0b0001000000":1,"delivery":7,"watch":69,"events":23,"0b0010000000":1,"0b0100000000":1,"0b1000000000":1,"remaining":7,"calculating":1,"bitwise":1,"documented":1,"0b0100110010":1,"send":11,"containing":15,"word":5,"followed":1,"represented":5,"perl":1,"pack":1,"function":18,"construct":3,"above":24,"convert":1,"big-endian":1,"byte":4,"result":22,"netcat":1,"here's":4,"embedded":4,"started":23,"going":7,"url":3,"name":42,"e":45,"g":22,"localhost":4,"returned":7,"json":1,"unlike":6,"original":8,"protocol":37,"restricted":1,"names":5,"instance":30,"referred":2,"set_trace_mask":3,"view":7,"browser":1,"how":39,"urls":1,"setting":60,"admin":31,"enableserver":2,"false":54,"removing":9,"option":23,"override":3,"dependency":4,"tcp":12,"generating":2,"keystore":12,"jks":9,"truststore":11,"add":30,"settings":13,"zoo":17,"cfg":22,"config":34,"verify":13,"entries":11,"seen":12,"include":12,"connection_stat_reset":1,"no":83,"fields":8,"basic":9,"absolute":4,"i":27,"info":30,"objects":5,"txn":9,"digests":1,"historical":3,"recorded":4,"logfile":1,"datadir_size":1,"logdir_size":1,"expirations":2,"ephemerals":2,"global":12,"expiry_time_to_session_ids":1,"session_id_to_ephemeral_paths":1,"maps":1,"env":1,"defined":11,"own":14,"field":7,"get_trace_mask":2,"description":5,"tracemask":2,"initial_configuration":1,"icfg":1,"text":5,"is_read_only":1,"read_only":1,"last_snapshot":1,"lsnp":1,"finished":3,"saving":1,"called":19,"initial":7,"period":5,"between":35,"starting":25,"finishing":3,"timestamp":2,"latter":2,"unit":7,"seconds":6,"lead":4,"emits":2,"location":13,"is_leader":1,"leader_id":1,"leader_ip":1,"monitor":5,"wide":2,"variety":5,"stats":4,"internal":8,"queues":13,"summaries":1,"among":5,"observer_connection_stat_reset":1,"orst":1,"observer":28,"companion":1,"observers":22,"restore":13,"rest":7,"input":3,"stream":9,"payload":1,"last_zxid":2,"string":24,"rate-limited":3,"mins":3,"protect":4,"being":21,"over-loaded":2,"no-op":1,"check":28,"parameter":25,"write":36,"server_stats":3,"giving":1,"overview":3,"snap":2,"takes":14,"out":22,"optional":19,"query":6,"streaming":4,"boolean":2,"present":7,"headers":1,"snapshot_size":1,"stat_reset":1,"resets":1,"obsr":1,"always":11,"follower":41,"acting":1,"learner":9,"master":8,"synced_observers":1,"int":13,"per-observer":1,"system_properties":1,"sysp":1,"voting_view":1,"voting":14,"members":16,"current_config":1,"map":3,"aggregated":2,"session_id_to_watched_paths":1,"watches_by_path":1,"path_to_session_ids":1,"watch_summary":1,"summarized":1,"num_total_watches":1,"num_paths":1,"num_connections":1,"zabstate":1,"phase":4,"zab":3,"whether":26,"member":7,"peers":7,"phases":2,"election":62,"discovery":11,"synchronization":11,"broadcast":7,"communication":21,"netty":20,"explains":3,"nio":8,"zero-downtime":1,"migration":2,"non-tls":3,"upgrading":5,"existing":10,"downtime":2,"based":15,"simplifies":2,"directly":15,"complexities":1,"network":29,"built":9,"encryption":5,"authentication":52,"certificates":7,"features":8,"turned":5,"off":13,"individually":3,"versions":11,"variable":5,"servercnxnfactory":5,"nettyservercnxnfactory":3,"clientcnxnsocket":3,"clientcnxnsocketnetty":5,"ensembles":3,"channels":5,"describes":5,"encapsulates":1,"securing":1,"both":50,"protocols":9,"store":26,"local":36,"credentials":7,"we":85,"generate":8,"self-signed":2,"certificate":7,"together":4,"private":2,"suitable":2,"testing":9,"purposes":4,"official":3,"sign":2,"production":23,"alias":1,"-alias":1,"distinguished":1,"-dname":1,"verification":9,"won't":12,"extract":3,"public":1,"step":15,"necessary":14,"instances":15,"storing":4,"accepted":3,"certs":1,"shared":13,"participants":11,"aliases":2,"doesn't":18,"matter":2,"steps":11,"needed":12,"upgrade":34,"already":12,"without":37,"taking":6,"advantage":3,"unification":3,"functionality":7,"keystores":2,"truststores":2,"previous":11,"node":129,"yet":4,"turn":10,"repeat":3,"double-check":1,"becomes":17,"healthy":5,"again":11,"entire":7,"disable":21,"complete":17,"minimum":17,"tuning":3,"authorization":5,"cipher":3,"suites":2,"experimental":3,"unsafe":1,"disabling":5,"autocreation":1,"enabling":16,"db":3,"existence":6,"observability":1,"configurations":7,"behavior":17,"governed":1,"exact":4,"assuming":3,"layouts":1,"taken":10,"ensure":11,"type":36,"later":9,"placed":2,"dynamic":27,"static":14,"move":13,"them":30,"reconfiguration":32,"keywords":2,"clientport":9,"attempt":9,"connect":42,"secureclientport":2,"secure":9,"specifies":36,"plaintext":3,"specifying":8,"mixed-mode":1,"omitting":2,"user":36,"plugs-in":1,"observermasterport":1,"host":26,"correspondingly":2,"in-memory":10,"unless":8,"updates":26,"careful":3,"put":8,"ticktime":12,"length":10,"tick":3,"measured":2,"milliseconds":26,"regulate":1,"heartbeats":2,"timeouts":8,"ticks":6,"further":6,"fine":4,"tune":10,"behaviour":2,"generally":4,"form":20,"keyword":3,"noted":2,"direct":3,"rather":5,"allows":30,"helps":8,"competition":1,"throughput":13,"stable":5,"dedicating":1,"residing":2,"globaloutstandinglimit":1,"submit":4,"faster":3,"especially":8,"there":84,"lot":3,"prevent":14,"due":16,"throttle":3,"across":9,"equally":1,"divided":3,"000":3,"individual":5,"preallocsize":2,"seeks":2,"allocates":1,"space":1,"blocks":3,"kilobytes":4,"block":7,"64m":1,"reason":12,"changing":6,"reduce":8,"snapsizelimitinkb":4,"records":5,"think":5,"write-ahead":2,"rolled":3,"determined":3,"reaches":7,"runtime":15,"random":6,"range":4,"commitlogcount":1,"maintains":7,"committed":19,"followers":34,"too":11,"improves":3,"sync":27,"allowed":17,"snapsize":1,"standard":13,"valid":12,"functioning":2,"chosen":4,"larger":8,"4gb":2,"non-positive":1,"txnlogsizelimitinkb":1,"controlled":2,"slower":2,"done":14,"scan":1,"appropriate":2,"find":18,"roll":2,"limits":6,"hit":3,"actual":6,"exceed":7,"serialized":4,"hand":6,"close":11,"smaller":11,"correctness":2,"severely":1,"degraded":1,"get":51,"n":11,"maxcnxns":1,"concurrent":5,"per":9,"certain":8,"classes":7,"dos":2,"attacks":2,"entirely":3,"removes":2,"accounting":1,"secureservercnxnfactory":1,"separately":1,"provided":20,"types":4,"maxclientcnxns":1,"socket":8,"identified":5,"ip":18,"descriptor":1,"exhaustion":1,"clientportaddress":4,"ipv4":1,"ipv6":2,"way":22,"nic":1,"minsessiontimeout":1,"allow":19,"negotiate":2,"times":11,"maxsessiontimeout":1,"maximum":23,"fsync":1,"warningthresholdms":1,"warning":4,"message":23,"whenever":7,"wal":1,"longer":7,"maxresponsecachesize":2,"positive":9,"integer":8,"determines":8,"stores":7,"recently":1,"save":3,"serialization":2,"cost":5,"popular":2,"response_packet_cache_hits":1,"response_packet_cache_misses":1,"given":17,"workload":5,"negative":4,"maxgetchildrenresponsecachesize":1,"similar":15,"applies":2,"children":43,"response_packet_get_children_cache_hits":1,"response_packet_get_children_cache_misses":1,"auto":2,"purge":2,"retains":1,"deletes":4,"interval":9,"hours":1,"triggered":19,"suffix":11,"suffixes":1,"s":19,"m":4,"minutes":3,"h":3,"d":9,"days":1,"10m":1,"represents":9,"5h":1,"syncenabled":1,"now":17,"reduces":2,"recovery":12,"extendedtypesenabled":3,"define":5,"creation":8,"ttl":11,"important":16,"ids":7,"limitations":2,"emulate353ttlnodes":1,"zookeeper-2901":1,"https":36,"issues":10,"jira":1,"browse":1,"workaround":2,"maintain":14,"compatibility":12,"bug":7,"1099511627775":1,"what":16,"1152921504606846975":1,"watchmanagername":1,"zookeeper-1179":6,"watcher":20,"manager":6,"watchmanageroptimized":4,"optimize":1,"overhead":3,"heavy":6,"cases":16,"currently":13,"watchmanager":1,"watchercleanthreadsnum":1,"dead":5,"watchers":9,"lazily":3,"decide":7,"watchercleaner":2,"usually":13,"enough":14,"continuous":2,"closing":10,"recreating":1,"watchercleanthreshold":3,"relatively":4,"batch":7,"improve":6,"speed":2,"watchercleanintervalinseconds":1,"besides":1,"leave":13,"changed":16,"maxinprocessingdeadwatchers":1,"control":16,"backlog":2,"slow":1,"adding":15,"oom":2,"bithashcachesize":1,"hashset":1,"bithashset":1,"implementation":32,"elements":6,"elementbits":1,"keep":6,"much":9,"trade":1,"complexity":3,"seems":1,"reasonable":3,"fastleader":2,"minnotificationinterval":2,"lower":7,"consecutive":2,"notification":22,"checks":13,"waits":9,"votes":10,"effects":2,"resolve":3,"follows":3,"backoff":2,"strategy":2,"maxnotificationinterval":2,"elections":3,"upper":1,"connectionmaxtokens":3,"connection_throttle_tokens":1,"server-side":8,"throttler":11,"token-based":7,"rate":9,"limiting":9,"mechanism":13,"probabilistic":10,"dropping":9,"defines":8,"tokens":7,"token-bucket":1,"throttling":4,"connectiontokenfilltime":2,"connection_throttle_fill_time":1,"token":5,"bucket":4,"re-filled":1,"connectiontokenfillcount":2,"connection_throttle_fill_count":1,"connectionfreezetime":3,"connection_throttle_freeze_time":1,"probability":10,"adjusted":1,"-1":5,"connectiondropincrease":1,"connection_throttle_drop_increase":1,"empty":10,"increased":5,"02":1,"connectiondropdecrease":1,"connection_throttle_drop_decrease":1,"decrease":2,"threshold":6,"decreased":2,"connectiondecreaseratio":2,"002":1,"connection_throttle_decrease_ratio":1,"connection_throttle_weight_enabled":1,"consider":10,"weights":6,"connection_throttle_global_session_weight":1,"weight":9,"connection_throttle_local_session_weight":1,"renew":1,"connection_throttle_renew_session_weight":1,"renewing":1,"reconnect":9,"clientportlistenbacklog":1,"controls":9,"processed":8,"receive":12,"30s":1,"expiry":2,"unset":1,"nioservercnxnfactory":2,"flushdelay":3,"delay":5,"flush":2,"commit":19,"maxbatchsize":2,"high":21,"rates":1,"improved":2,"10-20":1,"maxwritequeuepolltime":1,"amount":8,"wait":17,"flushing":1,"implicitly":2,"enforcequota":1,"enforce":6,"quota":18,"exceeds":4,"hard":8,"under":18,"znode":89,"reject":3,"reply":1,"quotaexceededexception":2,"force":3,"exploring":1,"requestthrottlelimit":1,"request_throttle_max_requests":1,"requestthrottler":3,"starts":11,"stalling":1,"requestthrottlestalltime":1,"request_throttle_stall_time":1,"notified":10,"proceed":4,"requestthrottledropstale":1,"request_throttle_drop_stale":1,"drop":7,"stale":7,"pipeline":5,"closed":10,"latency":8,"higher":13,"sessiontimeout":2,"requeststalelatencycheck":1,"request_stale_latency_check":1,"considered":7,"requeststaleconnectioncheck":1,"request_stale_connection_check":1,"request's":1,"request_throttler":1,"shutdowntimeout":1,"drain":1,"shuts":3,"forcefully":1,"advancedflowcontrolenabled":1,"advancedflowcontrol":1,"accurate":1,"flow":1,"buffer":1,"auto_read":1,"enableeageraclcheck":1,"eager":1,"acl":49,"sending":9,"maxconcurrentsnapsyncs":1,"serve":6,"maxconcurrentdiffsyncs":1,"diff":3,"detect":14,"inconsistency":7,"inside":4,"catching":1,"doing":6,"incrementally":2,"datatree":5,"adhash":1,"paper":6,"mentioned":7,"cseweb":1,"ucsd":1,"edu":1,"daniele":1,"papers":1,"inchash":1,"pdf":2,"idea":6,"updated":7,"preparing":1,"pre-calculate":1,"happened":5,"formula":1,"current_hash":1,"-":211,"creating":20,"op":2,"represent":5,"applying":1,"proposals":21,"compare":6,"report":2,"mismatch":2,"persisted":1,"help":11,"loss":12,"re":1,"crc":6,"internally":4,"collisionless":1,"efficient":3,"compared":5,"collision":1,"possibility":1,"rare":2,"meet":3,"our":12,"backward":8,"safely":2,"downgrade":2,"scenarios":7,"been":29,"covered":1,"tested":1,"runs":9,"code":36,"header":3,"ignored":8,"reads":20,"next":16,"tries":5,"throw":7,"eof":2,"caught":3,"handled":7,"gracefully":3,"null":9,"trying":4,"non-exist":2,"exception":16,"happen":8,"finish":3,"successfully":5,"deserializing":2,"flags":11,"1st":1,"2nd":1,"discussed":1,"calculation":2,"excluded":1,"potential":1,"fixed":6,"compression":4,"method":24,"compress":1,"zookeeper-3179":1,"gz":2,"gzip":1,"snappy":2,"trust":5,"treat":1,"missing":6,"fatal":4,"can't":7,"recovered":1,"x":21,"pre":1,"presence":4,"back":11,"normal":7,"consistency":17,"audit":16,"impl":1,"class":21,"implement":17,"logger":2,"slf4jauditlogger":1,"largerequestmaxbytes":1,"inflight":1,"causes":5,"exceeded":1,"largerequestthreshold":1,"effectively":3,"turning":5,"outstandinghandshake":1,"in-flight":1,"handshake":3,"rejected":2,"concurrency":3,"herd":9,"effect":21,"handshakes":2,"something":6,"earlydropsecureconnectionhandshakes":1,"fully":3,"performing":4,"flooding":1,"flag":31,"answer":2,"'ruok'":1,"throttledopwaittime":1,"throttled_op_wait_time":1,"marked":2,"throttled":1,"fed":1,"belongs":1,"preserve":1,"finalprocessor":1,"zthrottledop":1,"undigested":1,"intent":1,"retry":2,"immediately":6,"closesocketasync":3,"asynchronously":4,"potentially":4,"unavailable":4,"avoids":4,"blocking":3,"despite":2,"disconnecting":2,"initiated":3,"synclimitcheck":1,"pings":3,"receiving":7,"expire":2,"regularly":1,"asyncsending":1,"were":16,"synchronously":2,"untimely":1,"hang":3,"zookeeper-3575":1,"zookeeper-4074":1,"design":9,"moves":3,"separate":10,"sends":10,"forward_learner_requests_to_commit_processor_disabled":1,"learners":2,"enqueued":1,"commitprocessor":5,"gc":2,"serializelastprocessedzxid":1,"serializes":1,"lastprocessedzxid":4,"deserializes":1,"eofexception":1,"deserialized":1,"quorumpacket":1,"apis":12,"electionalg":4,"corresponds":8,"non-authenticated":1,"udp-based":1,"authenticated":15,"tcp-based":1,"algorithm":13,"prior":6,"implementations":5,"fastleaderelection":2,"line":18,"maxtimetowaitforepoch":1,"epoch":7,"voters":4,"activating":2,"looking":6,"hasn't":1,"majority":19,"within":10,"goto":4,"elect":5,"tuned":1,"initlimit":5,"cross":2,"datacenter":3,"2s":1,"managed":3,"connecttolearnermasterlimit":1,"connecting":14,"leaderserves":1,"accepts":5,"yes":5,"coordinates":3,"update":23,"slight":1,"expense":1,"accept":7,"focus":3,"coordination":27,"selection":1,"nnnnn":3,"making":5,"myid":12,"ascii":3,"left":7,"side":10,"second":17,"test":19,"ports":11,"specify":24,"addresses":11,"zookeeper-3188":2,"multiaddress":7,"availability":16,"adds":6,"resiliency":2,"physical":9,"interfaces":8,"switching":3,"pipe":2,"'":1,"character":5,"looks":5,"server-server":1,"users":26,"notice":8,"anyone":6,"normally":5,"didn't":1,"perform":14,"older":5,"synclimit":4,"fall":2,"far":2,"dropped":4,"group":16,"hierarchical":12,"construction":3,"identifier":1,"identifiers":1,"left-hand":1,"assignment":2,"colon-separated":1,"groups":12,"disjoint":2,"union":1,"along":8,"assigns":2,"forming":5,"quorums":12,"few":13,"parts":3,"require":10,"atomic":6,"assigned":2,"cnxtimeout":1,"opening":1,"notifications":6,"applicable":3,"quorumcnxntimeoutms":1,"standaloneenabled":4,"replicated":15,"lone":1,"participant":13,"reconfigure":7,"backwards":3,"quorumpeerconfig's":2,"setstandaloneenabled":1,"server's":8,"reconfigenabled":5,"operations":43,"tools":3,"authorized":4,"super":6,"setreconfigenabled":1,"elected":4,"reconfig":18,"comma":5,"separated":6,"wants":7,"else":6,"readonlymode":2,"attempting":1,"gain":1,"asterisk":1,"tcpkeepalive":2,"keepalive":2,"sockets":2,"remain":6,"break":4,"nats":1,"firewalls":1,"lose":4,"long-running":1,"idle":4,"relies":4,"os":6,"properly":5,"system's":2,"regarding":5,"clienttcpkeepalive":1,"broken":8,"fin":1,"packet":6,"never":14,"resource":1,"leak":3,"terminates":2,"zombie":1,"distinction":2,"applied":10,"electionportbindretry":1,"fails":23,"errors":13,"temporary":3,"recoverable":6,"dns":8,"zookeeper-3320":1,"non-retryable":1,"transient":2,"container":13,"kubernetes":1,"infinite":1,"overcome":1,"related":4,"resolving":2,"reconnectdelayms":1,"loses":5,"fleet":1,"try":16,"delayms":1,"observer's":2,"participation":1,"upon":10,"disconnect":4,"unexpected":1,"additional":10,"localsessionsenabled":3,"localsessionsupgradingenabled":3,"matters":1,"beside":1,"page":4,"programmers":1,"guide":29,"wiki":2,"pages":2,"sasl":20,"digestauthenticationprovider":4,"misleading":1,"appearing":1,"zookeeper-3979":1,"superdigest":2,"administrator":5,"access":33,"hierarchy":6,"checking":6,"auth":21,"call":41,"password":17,"provide":21,"authenticating":1,"pass":6,"scheme":19,"authdata":1,"passes":6,"prudent":1,"encrypted":3,"digestalg":1,"sha1":2,"security":10,"algorithms":3,"modify":2,"java_home":2,"jre":3,"lib":4,"jar":3,"ext":1,"migrate":1,"regenerate":1,"migrating":1,"setacl":5,"had":3,"ipauthenticationprovider":4,"usexforwardedfor":1,"authenticate":6,"proxy":1,"x-forwarded-for":3,"preferred":3,"x509authenticationprovider":4,"superuser":3,"ssl-backed":1,"x500":2,"principal":13,"bypass":1,"privileges":1,"generic":5,"logins":1,"notation":1,"authprovider":5,"subclass":3,"infrastructures":1,"extend":3,"javax":1,"net":3,"x509keymanager":1,"x509trustmanager":1,"desired":1,"stack":4,"custom":10,"choose":3,"authenticationprovider":3,"fully-qualified":1,"into":29,"providerregistry":2,"ensembleauthname":1,"comma-separated":6,"intends":2,"credential":4,"ensembleauthenticationprovider":1,"against":11,"receives":12,"refused":1,"prevents":3,"accidentally":4,"wrong":2,"sessionrequireclientsaslauth":2,"invalid":6,"establish":10,"typed":2,"-124":2,"delivered":9,"c":42,"thereafter":2,"attempts":3,"retrying":2,"shorthand":2,"who":8,"opt-in":2,"overrules":1,"allowsaslfailedclients":2,"login":4,"schemes":14,"overruled":1,"least":14,"sslquorum":1,"shutting":5,"unlock":6,"passwordpath":4,"reading":6,"precedence":2,"explicit":4,"pem":3,"pkcs12":3,"filename":6,"bcfks":3,"remote":6,"negotiation":5,"tlsv1":5,"enabledprotocols":1,"ciphersuites":1,"jdk":9,"coded":2,"earlier":8,"context":6,"supplier":1,"hardware":6,"loaded":2,"pkcs11":1,"software":8,"retrieve":4,"already-constructed":1,"sslcontext":1,"hostnameverification":2,"clienthostnameverification":2,"client's":6,"allowreversednslookup":2,"reverse":4,"lookup":6,"server-":1,"verifications":1,"zktrustmanager":2,"fips":5,"lookups":2,"unnecessary":5,"subject":3,"alternative":1,"san":1,"successful":8,"identity":5,"crl":3,"revocation":1,"com":21,"sun":3,"checkrevocation":1,"ocsp":3,"online":2,"implies":2,"jdk's":1,"client-driven":1,"clientauth":1,"until":19,"none":1,"handshakedetectiontimeoutmillis":1,"tbd":1,"sslprovider":1,"select":2,"client-server":2,"netty-tcnative":2,"native":4,"library":21,"us":5,"libraries":12,"openssl":2,"platforms":7,"documentation":10,"sslquorumreloadcertfiles":1,"reloading":2,"certreload":1,"portunification":3,"saslauthenticationprovider":2,"kerberos":7,"removehostfromprincipal":1,"instruct":4,"myhost":2,"removerealmfromprincipal":1,"realm":3,"canonicalizehostnames":1,"instructs":3,"canonicalize":2,"extracted":2,"cname":1,"essentially":2,"equivalent":3,"parallel":5,"reachabilitychecktimeoutms":1,"icmp":2,"echo":2,"destination":2,"reachable":2,"happens":11,"reachability":2,"fips-mode":1,"comply":1,"consequence":2,"digest-md5":3,"gssapi":2,"ordering":11,"dependent":1,"cbc":2,"gcm":2,"ciphers":2,"tls_ecdhe_ecdsa_with_aes_128_cbc_sha256":2,"tls_ecdhe_rsa_with_aes_128_cbc_sha256":2,"tls_ecdhe_ecdsa_with_aes_128_cbc_sha":2,"tls_ecdhe_rsa_with_aes_128_cbc_sha":2,"tls_ecdhe_ecdsa_with_aes_256_cbc_sha384":2,"tls_ecdhe_rsa_with_aes_256_cbc_sha384":2,"tls_ecdhe_ecdsa_with_aes_256_cbc_sha":2,"tls_ecdhe_rsa_with_aes_256_cbc_sha":2,"tls_ecdhe_ecdsa_with_aes_128_gcm_sha256":2,"tls_ecdhe_rsa_with_aes_128_gcm_sha256":2,"tls_ecdhe_ecdsa_with_aes_256_gcm_sha384":2,"tls_ecdhe_rsa_with_aes_256_gcm_sha384":2,"tls_aes_256_gcm_sha384":2,"tls_aes_128_gcm_sha256":2,"tls_chacha20_poly1305_sha256":2,"hardcoded":1,"activated":3,"rom":1,"requested":4,"partitioned":5,"unable":2,"zookeeper-784":1,"skiplearnerrequesttonextprocessor":1,"observermaster":2,"pressure":2,"writes":12,"guarded":1,"confidence":1,"around":3,"gains":1,"codepath":1,"risk":1,"explained":2,"forcesync":1,"synced":4,"jute":6,"maxbuffer":6,"prefix":3,"0xfffff":2,"1m":3,"arise":3,"len":3,"unreasonable":1,"sanity":3,"increasing":4,"reasons":4,"unwarranted":1,"spikes":1,"worsen":1,"unpredictable":1,"non-convergent":1,"sometimes":5,"unstable":2,"extrasize":1,"persisting":2,"specially":1,"mb":1,"multi":3,"insufficient":2,"handle":19,"configurable":2,"optimal":2,"skipacl":4,"skips":2,"boost":1,"opens":2,"everyone":3,"quorumlistenonallips":1,"affects":1,"handling":9,"reachabilitycheckenabled":1,"rate-limitation":1,"macos":2,"'false'":1,"itself":22,"advised":1,"exist":12,"inconvenient":1,"dangerous":2,"wherein":1,"non-existent":1,"begin":3,"namespace":14,"scenario":3,"effective":1,"split":8,"brain":5,"autocreate":4,"environments":5,"unfortunately":1,"legacy":2,"basis":4,"packagers":1,"distributions":1,"zoo_datadir_autocreate_disable":1,"accomplished":1,"-dzookeeper":5,"directories":6,"refuse":1,"script":3,"zkserver-initialize":2,"txnlog":1,"paragraph":1,"optionally":4,"past":1,"execute":10,"startup":4,"zero":6,"join":3,"rogue":1,"'rm":1,"-rf'":1,"removed":23,"joins":2,"non-voting":7,"acquire":2,"up-to-date":8,"place":3,"'initialize'":1,"'myid'":1,"detected":1,"initialization":4,"several":7,"subsystems":2,"reworked":1,"multi-threading":1,"subsystem":1,"processor":4,"threading":1,"model":10,"comprises":1,"acceptor":1,"1-n":1,"selector":3,"0-m":1,"maintaining":4,"guarantee":10,"same-session":1,"read-after-write":1,"0-n":1,"aimed":2,"maximizing":1,"sufficient":2,"achieve":9,"peak":1,"numselectorthreads":1,"sqrt":1,"cpu":6,"cores":4,"maxreadbatchsize":1,"queuedrequests":1,"commits":8,"switch":6,"pending":3,"causing":6,"served":3,"known":7,"arrive":3,"batches":2,"matching":3,"smooth":2,"recommendation":1,"numworkerthread":1,"maxcommitbatchsize":1,"till":1,"reach":3,"low":4,"favor":1,"approach":3,"equal":3,"probabilistically":1,"checkintervalms":1,"candidate":3,"maxperminute":1,"minute":1,"herding":1,"deletion":4,"maxneverusedintervalms":1,"k":2,"containers":3,"easier":1,"messagetracker":2,"buffersize":1,"integers":3,"record":6,"disconnects":4,"dumped":1,"reconstruct":1,"disconnection":2,"debugging":2,"purpose":3,"track":2,"ratelimiterintervalinms":1,"needclientauth":1,"x509":4,"forcehttps":1,"allowing":4,"traffic":5,"overwrites":3,"serveraddress":1,"listens":2,"serverport":1,"idletimeout":1,"commandurl":1,"listing":7,"issuing":5,"relative":4,"root":15,"management":23,"lifecycle":2,"txnlogtoolkit":2,"increases":4,"decreases":1,"reside":1,"devices":2,"human":1,"readable":3,"initialize":2,"indicates":5,"lack":1,"cleaned":1,"holds":8,"fuzzy":3,"unique":10,"places":1,"identifies":3,"contact":3,"sense":4,"occurring":1,"occurred":2,"actually":6,"existed":1,"idempotent":1,"nature":1,"replaying":1,"non-volatile":2,"computed":1,"influences":1,"frequency":1,"file's":1,"standalone":15,"pull":3,"development":21,"stand-alone":2,"look":6,"creates":17,"implemented":10,"outside":3,"requirement":4,"went":1,"somewhat":1,"independently":2,"sensitive":1,"measures":3,"unauthorized":1,"external":5,"depend":1,"deployed":4,"covers":6,"clustered":4,"multi-server":4,"single-server":1,"developer":6,"matrix":3,"designing":1,"topics":6,"sections":7,"assume":6,"interested":2,"installing":3,"final":5,"situations":4,"limited":3,"evaluation":2,"consists":12,"components":6,"broadly":1,"contrib":2,"refers":4,"add-on":1,"component":5,"gnu":1,"solaris":1,"freebsd":2,"mac":1,"community":3,"fix":17,"obvious":1,"bugs":1,"reported":3,"lts":1,"yahoo":8,"rhel":1,"boxes":1,"dual-core":1,"processors":2,"2gb":1,"80gb":1,"ide":1,"drives":2,"deploy":1,"odd":5,"failure":42,"constitute":1,"five":2,"getting":7,"fault":6,"tolerant":3,"strongly":2,"reliability":9,"wish":5,"vulnerable":2,"know":13,"you're":2,"ok":1,"suddenly":1,"redundancy":4,"considerations":3,"aspects":3,"cables":1,"plugged":1,"packaging":1,"download":6,"javase":1,"downloads":1,"index":5,"jsp":1,"swapping":2,"seriously":1,"degrade":2,"determine":10,"correct":11,"3gb":1,"downloaded":3,"releases":2,"anything":4,"meanings":2,"accomplish":1,"series":2,"straightforward":3,"attribute":1,"named":7,"machine's":1,"contain":8,"nothing":3,"marker":1,"mean":1,"rights":2,"populate":1,"communicates":2,"intended":3,"bringing":1,"quorumpeermain":3,"beans":1,"registered":8,"console":5,"bin":5,"included":9,"hosts":6,"client-side":4,"bindings":8,"except":4,"simpler":2,"instructions":2,"programmer's":4,"rests":1,"assumptions":2,"minority":1,"crash":1,"partitions":5,"clocks":2,"consistently":1,"maximize":1,"hold":4,"cross-machines":1,"non-failing":1,"communicate":6,"tolerate":3,"failures":21,"losing":4,"2-1":2,"capacity":1,"tolerance":2,"5-node":1,"6-node":1,"extra":2,"transfers":1,"highest":8,"tolerating":1,"independent":2,"share":2,"correlated":2,"bring":1,"power":3,"circuits":1,"cooling":1,"systems":15,"contend":1,"suffer":1,"markedly":1,"strong":2,"durability":1,"guarantees":25,"responsible":4,"great":2,"aren":1,"t":5,"held":1,"minimize":2,"sort":2,"degradation":1,"partition":2,"sequentially":2,"seeking":1,"sharing":2,"contention":4,"multi-second":1,"delays":3,"timeliness":4,"simply":8,"bigger":1,"administrator's":6,"operators":2,"day-to-day":1,"cli":13,"zkcli":6,"showing":2,"syntax":2,"addauth":2,"deleteall":1,"delquota":2,"getacl":1,"getallchildrennumber":1,"getephemerals":4,"listquota":2,"ls":4,"printwatches":1,"quit":3,"redo":1,"removewatches":3,"setquota":3,"whoami":1,"show":9,"membership":13,"schema":1,"child":20,"keepererrorcode":1,"unimplemented":1,"descendants":1,"permissions":11,"descendant":2,"toggle":1,"printed":2,"prerequisites":1,"permission":16,"re-execute":1,"-r":2,"recursively":5,"-v":3,"optimistic":1,"locking":8,"aclversion":1,"soft":2,"-n":2,"-b":2,"metadata":6,"asynchronous":18,"roles":2,"interruption":2,"retrieving":1,"modifying":3,"incremental":11,"non-incremental":7,"conditional":3,"conditions":4,"comments":3,"rebalancing":1,"boot":6,"immutable":1,"resorted":1,"restarts":6,"manually":3,"intensive":3,"error-prone":1,"caused":3,"comes":4,"automated":2,"dynamically":4,"reconfigurations":3,"stopped":2,"rebalance":1,"keeping":3,"extent":1,"migrations":1,"proportional":1,"measurements":1,"shraer":1,"reed":2,"b":18,"malkhi":1,"junqueira":2,"f":3,"usenix":1,"annual":2,"technical":1,"conference":1,"atc":1,"links":3,"slides":1,"video":3,"hadoop":16,"summit":2,"warn":4,"secureclientportaddress":1,"specification":5,"right":5,"semicolon":1,"omitted":1,"omit":1,"tls-only":2,"spec":1,"role":7,"legal":4,"statements":4,"network-level":1,"distributed":61,"stacks":1,"grow":2,"shrink":2,"similarly":3,"remains":4,"flexibility":1,"concern":1,"malicious":2,"actor":1,"arbitrary":3,"distinguishes":1,"execution":2,"linked":2,"dynamicconfigfile":1,"zoo_replicated1":4,"pushed":1,"overwrite":1,"identical":2,"momentarily":1,"progress":11,"propagated":2,"altered":2,"offline":3,"discouraged":1,"prefer":2,"initially":3,"transformed":1,"redundant":5,"backed":3,"bak":1,"acceptable":1,"invoked":7,"upgrades":1,"completely":7,"rebooted":1,"binaries":1,"updating":2,"getconfig":3,"facilitate":1,"synchronous":9,"variant":1,"invoke":4,"program":7,"moved":3,"zookeeperadmin":1,"enforced":3,"ability":3,"compromised":1,"legitimate":1,"vulnerability":1,"escape":1,"hatch":1,"secured":1,"company":2,"zoodefs":4,"config_node":3,"granted":1,"acls":14,"reconfigexceptiontest":1,"testreconfigserver":2,"cc":7,"orthogonal":1,"delegated":1,"pluggable":6,"supports":15,"skipped":1,"unauthenticated":1,"wrapper":1,"equals":2,"established":4,"newleader":1,"exists":39,"manipulating":1,"-w":1,"-s":1,"displaying":1,"-c":1,"slightly":2,"out-of-date":1,"stronger":3,"passed":2,"brought":1,"date":2,"modified":8,"modes":3,"bulk":5,"reconfigtest":1,"reconfigrecoverytest":1,"short":2,"unavailability":2,"figures":3,"towards":2,"sees":4,"acks":4,"significant":3,"temporarily":1,"flood":1,"reconnection":1,"proposed":7,"fewer":4,"badargumentsexception":6,"invoking":2,"joining":2,"officially":2,"joiner":5,"safe":4,"joiners":2,"plus":2,"d's":2,"adopt":1,"replaced":1,"reconfigured":1,"consisting":1,"e's":1,"fragile":1,"split-brain":1,"succeeds":4,"learning":1,"finally":7,"adopts":1,"absent":1,"rewritten":1,"works":7,"re-add":1,"adjustments":1,"fly":1,"practically":1,"counted":1,"noticeable":1,"disruption":2,"graphs":2,"leader's":2,"hand-off":1,"nominates":1,"resulting":2,"shorter":1,"crashes":5,"detection":4,"electing":2,"avoided":2,"invocation":1,"transition":2,"scheduled":1,"neither":1,"nor":1,"visible":1,"activation":11,"set-data":1,"spaces":1,"statement":1,"exactly":5,"easy":7,"vice":1,"versa":1,"rebooting":1,"complex":1,"thrown":1,"accepting":2,"strings":1,"src":5,"inline":1,"newconfig":1,"depends":3,"believes":2,"condition":5,"reconfiginprogress":1,"began":1,"newconfignoquorum":1,"y":1,"badversionexception":1,"illustrated":2,"reconfigfailurecases":1,"liveness":7,"understand":2,"difference":2,"suppose":10,"c1":1,"c2":1,"invokes":5,"locally":5,"suggested":1,"arrives":3,"system-wide":1,"blindly":1,"overwriting":1,"c1's":1,"arrived":2,"guaranteed":3,"minimal":2,"converting":1,"subtle":1,"crashed":2,"acknowledge":3,"intermediate":1,"ack":4,"transfer":1,"randomly":2,"chooses":2,"preserves":1,"subscribe":2,"indeed":2,"updateserverlist":1,"mass":1,"sleep":1,"statichostprovidertest":1,"testreconfig":1,"simplified":1,"illustrate":4,"recipe":6,"jconsole":4,"mbean":7,"mbeans":8,"log4j":2,"extensive":1,"manage":6,"assumes":2,"knowledge":1,"technology":1,"vm":2,"review":1,"beyond":3,"scope":3,"manageable":1,"registers":3,"proper":2,"consoles":1,"sun's":1,"ships":1,"inspect":2,"you've":3,"jdk_home":1,"window":1,"displayed":2,"tab":1,"zookeeperservice":1,"expand":2,"item":1,"various":8,"register":4,"jmxconfigurator":1,"logback's":1,"log4j1":1,"interest":1,"levels":2,"editing":1,"thresholds":4,"registration":2,"passing":3,"integrated":1,"table":2,"participating":4,"typical":4,"object":24,"replicatedserver_id":1,"parent":11,"agent":2,"localpeer":1,"remotepeer":1,"replica":4,"leaderelection":2,"attributes":3,"zookeeperserver":7,"inmemorydatatree":2,"finer":3,"computationally":2,"inmemorydatatrees":1,"servercnxn":3,"session_id":2,"those":8,"termination":2,"hex":3,"standaloneserver_port":1,"grafana":3,"influxdb":3,"alerting":3,"rich":1,"servermetrics":1,"scraping":1,"endpoint":2,"transmission":1,"simultaneously":5,"defining":1,"easiest":2,"ingest":1,"scraper":1,"target":1,"scrape":1,"principles":3,"alertmanager":1,"alert":1,"email":4,"webhook":1,"rules":6,"adjust":2,"validate":6,"yml":1,"source":14,"import":1,"dashboard":2,"template":2,"customize":2,"improvements":2,"dev":4,"open":8,"free":5,"cloud":7,"account":1,"telegraf":1,"plugin":9,"collect":2,"pre-built":1,"captures":2,"audited":2,"pairs":6,"serverstart":1,"serverstop":2,"setdata":3,"multioperation":1,"ephemeralznodedeleteonsessionclose":1,"representation":1,"cdrwa":1,"logged":4,"outcome":2,"success":1,"stop":3,"confirmed":1,"commented":1,"uncomment":1,"activate":2,"username":3,"getusername":1,"closes":4,"owned":2,"attach":2,"identities":2,"presented":1,"scaling":2,"hurting":1,"freely":1,"affecting":1,"masters":4,"performs":4,"architecture":4,"scale":8,"huge":1,"drops":1,"agreement":5,"half":3,"vote":6,"significantly":1,"scalability":4,"hear":2,"leads":1,"harming":2,"advantages":1,"disconnected":9,"benefit":1,"fact":4,"talk":4,"center":1,"tells":3,"append":4,"definition":3,"ordinary":1,"prompt":1,"holding":1,"learn":3,"benefits":1,"plugging":1,"shifts":1,"burden":1,"supporting":2,"coordinating":5,"better":3,"particularly":2,"maintained":6,"overall":4,"hundreds":1,"syncing":2,"entry":7,"leaders":5,"wherever":1,"insulate":1,"dealing":2,"architectural":1,"bridge":1,"datacenters":1,"problematic":1,"variance":1,"false-positive":1,"partitioning":1,"bus":2,"natural":1,"plug-in":1,"publish-subscribe":2,"core":3,"oracle":39,"two-instance":3,"contexts":1,"safety":4,"detector":5,"hardware-based":1,"software-based":1,"usb":6,"assign":5,"non-zero-weight":1,"discarded":2,"grant":1,"2-instance":1,"faulty":8,"accesses":1,"vary":1,"askoracle":1,"quorumoraclemaj":4,"adapt":1,"oracle's":1,"decision":4,"solves":1,"consensus":5,"breaks":3,"re-form":1,"falls":2,"domain":2,"regardless":3,"oraclepath":2,"txt":1,"authorize":6,"deny":1,"quorumpeerconfig":2,"quorummaj":1,"inherits":1,"differs":1,"superclass":1,"overriding":1,"containsquorum":1,"executes":1,"behaves":1,"identically":1,"satisfies":2,"completeness":1,"permanently":3,"suspected":2,"ensured":1,"broadcasting":3,"lost":7,"occur":4,"ben":6,"john":4,"t1":1,"0x1_1":1,"l-ben":3,"f-john":2,"t2":1,"0x2_1":1,"l-john":2,"t3":1,"0x2_a":3,"t4":1,"recovers":1,"t5":2,"0x3_1":1,"prevented":1,"capable":1,"referring":1,"him":1,"trades":1,"accuracy":1,"decisions":1,"mutually":1,"exclusive":2,"suspects":1,"equivalently":1,"recovering":5,"detector's":1,"querying":1,"waiting":8,"hw1":2,"hw2":2,"zk1":2,"zk2":2,"attached":2,"powered":2,"undoubtedly":1,"authorizing":2,"o1":1,"o2":1,"alive":3,"pinging":1,"19h2":1,"mounted":1,"volumes":5,"authorizes":1,"demonstrate":3,"insert":1,"mastership":5,"whose":3,"completes":4,"according":5,"queries":2,"throws":3,"repeating":1,"interrupted":1,"observe":1,"tushar":1,"deepak":1,"chandra":1,"sam":1,"toueg":1,"unreliable":1,"detectors":1,"preliminary":1,"proceedings":2,"tenth":1,"acm":1,"symposium":2,"podc":1,"'91":1,"association":1,"machinery":1,"york":1,"ny":1,"usa":2,"doi":1,"quotas":8,"zookeepermain":1,"deleting":1,"prints":2,"people":1,"admins":1,"simplify":3,"structure":12,"leaf":1,"tell":4,"allocations":1,"move-up":1,"move-down":1,"circumstances":1,"combined":1,"isolation":1,"effectiveness":1,"exceeding":1,"priority":5,"catastrophic":1,"withstand":1,"reboots":2,"n-1":1,"permanent":4,"disastrously":1,"disastrous":1,"functionalities":1,"characteristics":2,"overloaded":1,"periodically":1,"live":1,"s3":1,"restoring":1,"building":9,"brand-new":1,"seed":1,"restored":1,"overwritten":1,"bundled":1,"utilities":1,"benchmark":8,"frameworks":1,"zkenv":1,"zkcleanup":1,"zktxnlogtoolkit":1,"zksnapshottoolkit":1,"zksnapshotrecursivesummarytoolkit":1,"zksnapshotcomparer":1,"locating":1,"formats":3,"tool":8,"interactive":4,"ycsb":4,"zk-smoketest":2,"injection":3,"byteman":2,"jepsen":4,"establishes":6,"diagnostic":1,"zoo_log_dir":1,"dumps":1,"screen":1,"-d":1,"--dump":1,"--recover":1,"untouched":1,"copied":1,"recalculated":2,"calculated":1,"asking":1,"confirmation":1,"abort":3,"half-complete":1,"--verbose":1,"ones":2,"-y":1,"--yes":1,"prompting":1,"stdout":1,"display":6,"selected":1,"filters":1,"outputting":1,"delta":1,"trend":1,"analysis":5,"--nodes":1,"--bytes":1,"uncompressed":1,"compressed":1,"decompression":1,"-i":1,"--interactive":1,"enter":10,"navigation":1,"press":3,"depth":5,"layer":6,"jump":2,"immediate":2,"subtree":2,"shown":1,"out-of-range":1,"exits":3,"layers":1,"follow":6,"maven":2,"installed":2,"clone":1,"build":9,"binding":11,"readme":2,"shell":2,"connectstring":2,"watchflag":1,"workloadb":1,"representative":1,"read-heavy":1,"smoketest":1,"verifying":1,"tracing":1,"application":31,"injects":1,"methods":7,"requiring":2,"recompilation":1,"repackaging":1,"redeployment":1,"tutorial":5,"quick":2,"introduction":3,"re-election":1,"learnerhandler":1,"re-enter":1,"proposal":16,"eventually-consistent":1,"databases":1,"linearizable":3,"schedulers":1,"dockerized":1,"simplest":1,"installation":6,"blog":8,"post":1,"step-by-step":1,"implementing":5,"zookeeper-based":3,"barrier":23,"primitives":9,"demonstrating":1,"sequential":9,"barriers":9,"producer-consumer":4,"syncprimitive":3,"respective":2,"excerpt":2,"constructor":"function Object() { [native code] }111111","instantiate":1,"declare":1,"subsequent":2,"alternatively":2,"discussion":3,"notify":4,"modifications":2,"clear":5,"primitive":1,"synchronize":2,"beginning":2,"computation":6,"serves":3,"b1":2,"p":5,"instantiates":1,"zoo1":1,"foo":3,"calls":14,"entered":3,"getchildren":17,"states":4,"keeperexception":4,"interruptedexception":1,"catch":1,"exceptions":2,"obs":1,"reception":1,"consume":3,"items":1,"producer":3,"consumer":3,"element":5,"verifies":1,"produce":1,"argument":3,"sequence":24,"sequencer":1,"counter":5,"impose":1,"guaranteeing":1,"oldest":1,"consumed":1,"obtains":1,"smallest":5,"conflict":1,"contending":1,"lexicographic":1,"numerical":1,"traverse":1,"recipes":10,"you'd":1,"walks":1,"executor":12,"datamonitor":15,"callbacks":8,"listings":1,"introduce":4,"develop":2,"stopping":1,"watched":2,"executable":7,"fetches":1,"re-fetches":1,"contents":1,"disappears":1,"kills":1,"conventionally":1,"units":1,"monitors":2,"logic":4,"recall":2,"executor's":2,"fired":1,"datamonitorlistener":3,"forwards":1,"convention":1,"executor-like":1,"owns":1,"delegate":1,"channel":4,"fire":2,"decides":3,"say":8,"kill":1,"ceases":1,"disappearing":1,"guessed":1,"meat":1,"mostly":1,"driven":2,"kicks":2,"completion":6,"callback":5,"confuse":1,"statcallback":1,"processresult":1,"triggering":2,"aside":1,"codes":3,"getdata":10,"triggers":6,"fires":1,"re-establish":4,"syncconnected":1,"expiration":8,"expired":5,"session's":2,"re-established":3,"auto-reset":1,"programmer":2,"callszookeeper":1,"acl-based":1,"world":6,"builtin":2,"quite":2,"unix":3,"employs":1,"disallow":1,"apply":3,"scopes":1,"owner":5,"notion":7,"pertains":1,"app":3,"recursive":8,"expression":7,"expressions":1,"whereas":3,"bob":1,"connects":10,"authenticates":1,"associates":2,"checked":1,"perms":2,"pair":5,"grained":1,"kind":2,"doesn":1,"designates":1,"entity":3,"though":6,"zoo_exists":1,"terms":1,"masked":2,"'insufficient":1,"permission'":1,"raised":2,"ignores":1,"convenience":2,"use-case":1,"restrict":2,"md5":1,"base64":1,"encoded":1,"addr":1,"matched":1,"constants":1,"const":10,"zoo_perm_read":2,"zoo_perm_write":1,"zoo_perm_create":1,"zoo_perm_delete":1,"zoo_perm_admin":1,"set_acl":1,"zoo_perm_all":3,"struct":8,"zoo_anyone_id_unsafe":3,"zoo_auth_ids":3,"interpreted":1,"creator":3,"acl_vector":4,"zoo_open_acl_unsafe":1,"zoo_read_acl_unsafe":2,"zoo_creator_all_acl":1,"zooopen_acl_unsafe":1,"create_all_acl":1,"grants":1,"_digest":1,"deal":2,"zoo_add_auth":2,"zhandlet":4,"zh":4,"_const":4,"char__":1,"char":5,"cert":1,"certlen":1,"voidcompletion_t":1,"void":2,"zoo_create":2,"valuelen":1,"aclvector":2,"_int":1,"realpath":1,"max_realpath_len":1,"zoo_get_acl":1,"_struct":1,"zoo_set_acl":1,"replaces":3,"xyz":1,"create-only":1,"interact":1,"specifically":5,"trunk":4,"zookeeper-client":5,"zookeeper-client-c":5,"documents":1,"posix-style":1,"multithreaded":4,"single-threaded":3,"languages":1,"describe":1,"packages":1,"constructors":1,"reconnecting":1,"heartbeat":2,"responses":2,"completions":1,"caller":1,"maybe":2,"illegal":1,"saying":2,"session_expired":1,"auth_failed":1,"undefined":2,"clientconfig":1,"jaas":2,"traditionally":1,"v5":1,"derived":1,"expecting":1,"'instance'":1,"'canonicalize'":1,"qualified":1,"belonging":1,"'canonicalization'":1,"constructing":2,"disableautowatchreset":1,"resetting":1,"clientcnxnsocketnio":1,"setproperty":1,"xxxx":1,"kinit":1,"usr":1,"shufflednsresponse":1,"pick":2,"resolver":1,"statichostprovider":1,"shuffling":1,"shadows":1,"preferipv6addresses":1,"jvm's":1,"prioritize":1,"v4":2,"v6":1,"ineffective":1,"resolution":1,"dual":2,"honor":2,"day":1,"buggy":1,"randomize":1,"hostprovider":1,"dnssrvrefreshintervalseconds":1,"refresh":1,"srv":1,"dnssrvhostprovider":1,"periodic":2,"multi-threaded":3,"dispatch":2,"exposing":1,"loop":4,"zookeeperst":1,"zookeeper_mt":3,"former":3,"integrating":1,"application's":1,"_pthread":1,"developers":8,"link":2,"async":1,"check-out":1,"repository":2,"outlined":2,"project":9,"skip":3,"mvn":1,"compile":4,"zookeeper-jute":1,"autoreconf":1,"-if":1,"bootstrap":1,"autoconf":1,"automake":1,"libtool":1,"step4":1,"unzip":1,"untar":1,"tarball":1,"cd":2,"zookeeper-x":1,"your-options":1,"makefile":1,"--enable-debug":1,"optimization":1,"compiler":2,"--without-syncapi":1,"--disable-static":1,"--disable-shared":1,"doxygen":2,"doxygen-doc":1,"subfolder":1,"generates":2,"html":21,"--help":1,"remember":3,"-dthreaded":1,"the_zookeeper_st_library":1,"practical":5,"surveys":1,"concepts":4,"chapters":2,"throwing":2,"enum":1,"zoo_errors":1,"language":3,"javadoc":1,"developing":1,"zookeepermt":1,"_zookeeper_init":1,"signature":1,"zookeeper_init":1,"watcher_fn":1,"fn":2,"recv_timeout":2,"clientid_t":1,"clientid":2,"separator":1,"eg":1,"previously":5,"zkhandle_t":1,"handler":1,"initiation":1,"let's":2,"zkclient":2,"-iinclude":1,"cpp":1,"-lzookeeper_mt":1,"-o":1,"atomicity":3,"image":5,"scalable":8,"succeed":2,"partial":2,"persist":2,"corollaries":1,"monotonicity":1,"paxos":2,"tens":1,"outage":1,"functions":5,"revocable":5,"locks":15,"solely":1,"additions":1,"solutions":3,"mistakenly":1,"cross-client":1,"views":1,"factors":2,"naming":4,"hierarchal":1,"expressed":1,"canonical":1,"slash-separated":1,"unicode":1,"constraints":2,"u0000":1,"characters":2,"render":1,"confusing":1,"u0001":1,"u001f":1,"u007f":1,"u009f":1,"ud800":1,"uf8ff":1,"ufff0":1,"uffff":1,"alone":1,"timestamps":3,"coordinate":3,"znode's":2,"retrieves":4,"supply":1,"supplies":1,"overridden":1,"engineering":4,"worth":2,"mentioning":1,"trigger":9,"atomically":4,"restricts":2,"rendezvous":1,"forms":1,"average":1,"sizes":1,"onto":2,"usual":1,"pattern":2,"nfs":2,"hdfs":3,"pointers":1,"locations":1,"ends":4,"retrieved":1,"collected":1,"duplicate":2,"manner":3,"monotonically":1,"010d":1,"digits":1,"padding":1,"formatted":1,"sorting":1,"0000000001":1,"4bytes":1,"overflow":2,"incremented":1,"-2147483648":1,"lock":30,"prepared":2,"nonodeexception":1,"recreate":1,"persistent_sequential":1,"unimplementedexception":1,"tracks":2,"stamp":1,"zxid1":1,"zxid2":1,"cversion":2,"aversion":2,"timing":3,"uploads":1,"indirectly":1,"exposed":1,"clock":1,"modification":1,"czxid":1,"mzxid":1,"pzxid":1,"ctime":1,"mtime":1,"ephemeralowner":1,"datalength":1,"numchildren":1,"gotchas":1,"tips":1,"something's":1,"reconnected":2,"watching":5,"miss":1,"survive":1,"question":1,"ask":1,"letting":1,"got":3,"lab":1,"optimally":1,"performance-critical":1,"snapshotcount":1,"mitigate":1,"unnecessarily":1,"almost":1,"certainly":1,"unacceptably":1,"hits":1,"heapsize":1,"minus":1,"estimate":1,"wishing":3,"conceptual":1,"discussions":1,"understanding":1,"familiarity":1,"programming":10,"material":1,"formal":1,"there're":1,"sources":1,"benjamin":1,"research":3,"excellent":1,"flavio":1,"article":2,"todd":1,"hoff":1,"07":1,"pseudo-level":1,"handles":3,"two-phase":3,"plugins":3,"soon":3,"validating":1,"gathered":1,"associating":1,"finding":2,"idspec":2,"evaluated":1,"getscheme":2,"prefixed":1,"handleauthentication":3,"matches":3,"implementor":1,"bad":3,"associate":1,"cnxn":1,"getauthinfo":1,"involved":2,"isvalid":1,"isauthenticated":1,"aclexpr":1,"relevant":1,"interpret":1,"myauth":2,"duplicates":1,"myauth2":1,"alternate":1,"abstraction":2,"serverauthenticationprovider":1,"serverobjs":1,"matchvalues":1,"operated":2,"perm":1,"setacls":1,"password-based":1,"q":1,"toc":1,"switches":1,"unrecoverable":1,"figure":2,"transitions":3,"re-":1,"interpreting":1,"rooted":1,"bar":1,"perspective":1,"differently":1,"re-use":1,"his":1,"her":1,"measure":1,"reestablishes":1,"negotiated":1,"searching":1,"eventually":3,"connectivity":4,"advisable":1,"heuristics":1,"mandatory":2,"expires":4,"stay":2,"'connected'":1,"communicating":2,"'disconnected'":1,"elapses":2,"'timeout'":1,"regains":1,"'expired'":1,"reconnects":4,"establishment":1,"kept":3,"basically":1,"connectionloss":1,"sessionmovedexception":1,"reestablished":3,"delayed":1,"detects":2,"reestablish":1,"saved":2,"indefinitely":1,"providing":4,"load-balancing":1,"goal":3,"uniform":1,"contained":2,"balance":1,"he":1,"round":2,"robin":2,"failing":2,"picks":1,"mainly":1,"zookeeper-1147":1,"background":1,"costly":1,"confirmations":1,"bottleneck":1,"thousands":5,"session-id":1,"gone":3,"imply":2,"upgraded":2,"wrapped":1,"localsessiontracker":2,"subsequently":2,"collections":2,"heavily":1,"lifespan":1,"tied":1,"concurrently":1,"sessiontrackerimpl":1,"leaderzookeeper":1,"leadersessiontracker":1,"followerzookeeperserver":1,"observerzookeeperserver":1,"learnersessiontracker":1,"uml":1,"graph":5,"what's":1,"supposed":2,"safeguard":1,"someone":1,"lots":1,"connectrequest":2,"createsession":2,"finalrequestprocessor":1,"sessionid":1,"won":2,"tracker":1,"hasn":1,"one-time":4,"semantics":3,"points":4,"znode1":1,"lightweight":1,"reregistered":1,"transparently":1,"missed":2,"variation":1,"whereby":1,"nodecreated":1,"nodedeleted":1,"nodedatachanged":1,"nodechildrenchanged":2,"addwatch":3,"watchertype":2,"regard":1,"respect":1,"replies":1,"dispatched":1,"seeing":1,"reliably":2,"realize":1,"handlers":1,"conservatively":1,"guidelines":3,"higher-order":1,"constructs":3,"higher-level":2,"box":3,"double":2,"guid":5,"two-phased":2,"you'll":1,"hopefully":2,"capture":1,"ease":1,"encourage":1,"standardization":1,"imposes":1,"mechanisms":2,"expose":2,"employ":2,"polling":2,"timers":1,"bursts":1,"imagined":1,"aren't":1,"read-write":2,"stimulate":1,"thought":1,"faq":2,"returning":2,"implication":1,"difficult":1,"met":1,"designating":1,"pseudo":3,"api's":1,"proceeds":1,"reissues":1,"unregisters":1,"ready":8,"procedure":3,"proceeding":1,"_b":1,"_p":1,"l":6,"lowest":9,"thanx":1,"regular":2,"entering":1,"enters":1,"appear":5,"xth":1,"waking":1,"wake":2,"away":4,"efficiency":1,"picking":1,"simplicity":1,"wakes":1,"designate":1,"pathname":12,"ending":1,"queue-":1,"path-to-queue-node":1,"queue-x":1,"monotonic":1,"begins":1,"exhausts":1,"obtained":2,"reader":3,"--":2,"zookeeper-recipes":2,"zookeeper-recipes-queue":1,"artifact":2,"queue-yy":1,"yy":1,"representing":1,"invalidate":1,"globally":2,"zookeeper-recipes-lock":1,"obtain":5,"locknode":1,"guid-lock-":1,"succeeding":1,"crashing":1,"obtaining":2,"guid-":2,"read-":1,"write-":4,"spoken":1,"notes":10,"that's":3,"released":1,"releasing":3,"minor":1,"writer":1,"signals":1,"writing":5,"holder":1,"consent":1,"course":2,"freaking":1,"laser":1,"beams":1,"stipulating":1,"revoker":1,"isn't":3,"lets":3,"agree":3,"coordinator":7,"tx":1,"site":3,"s_i":1,"leaves":1,"sites":6,"aspect":1,"propagate":2,"propagating":1,"drawbacks":1,"impossibility":1,"detecting":1,"solve":3,"guid-n_":2,"appends":1,"arises":2,"trivial":1,"solution":3,"goes":2,"spike":1,"let":3,"volunteer":1,"z":4,"guid-n_j":2,"j":2,"largest":2,"n_j":2,"catalog":1,"real-world":1,"projects":9,"organizations":2,"adroitlogic":1,"ultraesb":1,"akka":2,"eclipse":4,"gyrex":2,"goldenorb":1,"juju":1,"katta":2,"keptcollections":3,"neo4j":3,"norbert":1,"spring-cloud-zookeeper":2,"spring-statemachine":2,"spring-xd":2,"talend":3,"esb":3,"redis_failover":1,"accumulo":4,"atlas":4,"bookkeeper":4,"cxf":4,"dosgi":1,"drill":1,"druid":4,"dubbo":4,"flink":4,"flume":4,"fluo":4,"griffin":3,"hbase":7,"helix":3,"hive":5,"ignite":3,"james":2,"mailbox":2,"kafka":6,"kylin":3,"mesos":5,"oozie":4,"pulsar":4,"solr":8,"spark":4,"storm":4,"companies":1,"ageto":2,"benipal":1,"technologies":2,"deepdyve":1,"facebook":3,"idium":2,"portal":2,"makara":1,"midokura":1,"pinterest":2,"rackspace":1,"sematext":1,"tubemogul":1,"twitter":8,"vast":1,"wealthfront":2,"zynga":2,"alphabetically":1,"hesitate":1,"violated":1,"intellectual":1,"company's":1,"privacy":1,"timely":2,"clustering":1,"developed":1,"top":2,"retried":1,"graceful":1,"round-robin-restart":1,"generation":1,"event-driven":1,"fault-tolerant":3,"architectures":1,"toolkit":1,"ecf":1,"abstract":1,"base":2,"osgi":3,"clouds":1,"jobs":3,"executing":1,"workers":1,"massive-scale":1,"orchestration":1,"formerly":1,"lucene":5,"indexes":2,"grid":2,"drop-in":1,"replacements":1,"structures":2,"backing":1,"acid":1,"compliant":1,"engine":6,"big":3,"traversals":1,"indices":1,"searches":1,"write-master":1,"slave":2,"cool":1,"stuff":1,"focused":1,"routing":1,"spring":7,"integrations":1,"apps":2,"autoconfiguration":1,"idioms":2,"annotations":1,"patterns":1,"statemachine":2,"xd":2,"unified":2,"extensible":3,"ingestion":1,"analytics":5,"modules":1,"definitions":2,"manifests":1,"versatile":1,"flexible":3,"enterprise":4,"soap":2,"web":3,"failover":7,"balancing":1,"capabilities":1,"light-weight":2,"redis":2,"ruby":1,"expressive":1,"cell-level":1,"labels":1,"plays":1,"central":1,"leverages":3,"tables":1,"tablets":1,"foundational":1,"governance":1,"enterprises":1,"efficiently":3,"compliance":1,"ecosystem":2,"low-latency":1,"optimized":1,"real-time":3,"workloads":4,"ledgers":2,"bookies":1,"frontend":1,"jax-ws":1,"jax-rs":1,"speak":1,"restful":1,"corba":1,"transports":1,"jms":1,"jbi":1,"schema-free":1,"sql":3,"nosql":1,"drillbits":1,"segment":2,"publishing":1,"realtime":2,"overlord":2,"middlemanager":1,"high-performance":1,"rpc":1,"stateful":1,"computations":1,"unbounded":2,"bounded":1,"streams":2,"jobmanager":1,"high-availability":4,"jobmanagers":1,"ui":1,"collecting":1,"aggregating":1,"amounts":1,"flows":1,"robust":1,"tunable":1,"analytic":1,"quality":2,"computers":1,"models":1,"offering":1,"rely":3,"deliver":2,"delivering":2,"highly-available":1,"prone":2,"namenode":6,"notifying":1,"exclusively":1,"indicating":1,"zkfailovercontroller":1,"zkfc":4,"health-check":1,"fashion":1,"considers":1,"frozen":1,"unhealthy":1,"mark":2,"fenced":1,"open-source":3,"column-oriented":1,"lease":1,"bootstrapping":2,"fundamental":1,"regions":2,"master-failover":1,"replication":3,"vanishes":1,"dies":2,"warehouse":1,"facilitates":1,"datasets":2,"projected":1,"jdbc":1,"driver":1,"hiveserver2":1,"memory-centric":1,"caching":1,"analytical":1,"speeds":1,"petabyte":1,"100s":1,"1000s":1,"preserving":1,"linear":1,"mail":1,"imap4":1,"pop3":1,"smtp":1,"curator":2,"id's":1,"publish":3,"messaging":18,"controller":1,"broking":1,"leader-follower":1,"relationship":1,"replicas":3,"fulfill":1,"duties":1,"agreed":3,"topic":1,"overrides":1,"brokers":1,"moment":1,"multi-dimensional":1,"olap":1,"extremely":1,"contributed":1,"ebay":1,"inc":1,"abstracts":1,"compute":2,"virtual":2,"elastic":1,"easily":1,"leading":2,"agents":1,"scheduler":2,"drivers":1,"workflow":1,"ha":2,"pub-sub":2,"originally":1,"foundation":1,"tenants":1,"namespaces":1,"entities":1,"cluster-specific":1,"ownership":2,"broker":2,"reports":1,"ledger":1,"blazing-fast":1,"search":5,"edition":1,"large-scale":1,"utilizing":1,"launch":1,"standby":1,"resume":1,"scheduling":1,"did":3,"fun":1,"rnd":1,"team":3,"consulting":1,"myriad":2,"zeus":1,"forked":1,"en-":1,"hancements":1,"mul-":1,"tiple":1,"resilience":1,"converted":1,"hosted":1,"web-publishing":1,"norwegian":1,"2-node":1,"vmware":1,"workstation":1,"amazon":1,"ec2":1,"zen":1,"zkpython":2,"expanding":1,"virtualized":1,"networking":1,"era":1,"plane":1,"ideally":1,"reflect":2,"don":1,"sharding":4,"e-mail":1,"pulls":1,"overwhelming":1,"spm":1,"logsene":1,"truth":1,"kernel":1,"concrete":1,"action":1,"registry":1,"manhattan":1,"in-house":1,"key-value":1,"nighthawk":1,"sharded":1,"blobstore":1,"photo":1,"topology":1,"eventbus":1,"essential":1,"wealthfront's":1,"cwiki":3,"confluence":3,"poweredby":1,"www":4,"youtube":2,"v":2,"ew53t6h9orw":1,"getting-started":1,"dosgi-discovery-demo-page":1,"flumeuserguide":1,"en-us":1,"dubbo-zk":1,"r2":1,"hadoop-project-dist":1,"hadoop-hdfs":1,"hdfshighavailabilitywithqjm":1,"book":1,"cloudkarafka":1,"2018-07-04-cloudkarafka_what_is_zookeeper":1,"incubator":1,"s4":1,"6_6":2,"using-zookeeper-to-manage-configuration-files":1,"usingzookeepertomanageconfigurationfiles-startupbootstrap":1,"setting-up-an-external-zookeeper-ensemble":1,"spark-standalone":1,"standby-masters-with-zookeeper":1,"en_us":2,"zookeeper-at-twitter":1,"dynamic-configuration-at-twitter":1,"tang":1,"kooburat":1,"venkatachalam":1,"chander":1,"wen":1,"narayanan":1,"dowell":1,"karl":1,"r":2,"holistic":2,"25th":1,"sosp":1,"monterey":1,"ca":1,"oct":1,"sezv373guzc":1,"medium":1,"pinterest_engineering":1,"zookeeper-resilience-at-pinterest-adfd8acf2a6b":1,"cloudera":1,"what-are-hbase-znodes":1,"setting-up-a-storm-cluster":1,"ci":5,"flink-docs-release-1":1,"ops":1,"jobmanager_high_availability":1,"en":1,"concepts-architecture-overview":1,"metadata-store":1,"zookeeperhivelockmanager":1,"dependencies":2,"mapr":1,"apache-drill-architecture-ultimate-guide":1,"ag_install":1,"tigeranalytics":1,"apache-kylin-architecture":1,"apacheignite":1,"cluster-discovery":1,"highavailability":1,"usecases":1,"goals":3,"styled":1,"familiar":1,"notoriously":1,"race":4,"deadlock":3,"motivation":1,"relieve":1,"scratch":1,"organized":1,"parlance":1,"puts":1,"premium":1,"strictly":2,"strict":3,"sophisticated":1,"heart":2,"beats":1,"stamps":1,"reflects":1,"abstractions":1,"read-dominant":1,"ratios":1,"slash":1,"file-system":1,"kilobyte":1,"talking":1,"validations":1,"coordinated":1,"concept":2,"complicated":3,"high-level":1,"replicates":1,"recoverability":1,"serviced":1,"forwarded":1,"replacing":1,"diverge":1,"calculates":1,"transforms":1,"deliberately":1,"synchronizations":1,"outnumber":1,"involve":1,"synchronizing":1,"outnumbering":1,"ratio":2,"varies":1,"2ghz":1,"xeon":1,"sata":1,"15k":1,"rpm":1,"drive":1,"1k":1,"approximately":1,"simulate":1,"2x":1,"benchmarks":1,"injected":1,"ran":1,"saturation":1,"percentage":1,"constant":1,"observations":1,"sustain":1,"importantly":1,"substantially":1,"200ms":1,"third":1,"raise":1,"industrial":1,"fetching":1,"crawler":1,"advertising":1,"encouraged":1,"contribute":1,"expertise":1,"internals":1,"inner":1,"workings":1,"comparisons":1,"keeps":1,"causal":1,"sender":1,"outages":1,"engineers":1,"satisfied":1,"point-to-point":1,"fifo":7,"reorder":1,"assumption":1,"corollary":1,"flp":1,"proved":1,"skewed":1,"violate":1,"describing":1,"exchanging":1,"new_leader":9,"stated":1,"stamped":1,"acknowledgement":2,"32-bits":1,"leadership":3,"increments":1,"propose":2,"greatly":2,"embodies":1,"counts":1,"yourself":1,"thinking":1,"why":2,"recheck":1,"abandoning":1,"designated":1,"corner":1,"u":2,"zxids":1,"discard":1,"acked":3,"erroneously":1,"lifting":1,"coronated":1,"blasting":1,"emerge":1,"mess":1,"operates":1,"classic":1,"observed":1,"moreover":1,"believed":1,"worry":2,"uncommitted":2,"multi-paxos":1,"assuring":1,"assurances":1,"believing":1,"2-phase":1,"aborts":1,"cross-proposal":1,"apart":1,"epochs":1,"lie":1,"linearizability":3,"totally":1,"respects":2,"merely":1,"stating":1,"meaningless":1,"prioritizes":1,"mind":1,"formally":1,"captured":1,"osc":1,"lies":1,"acknowledging":1,"majorities":1,"pairwise":1,"intersect":1,"sum":2,"wide-area":1,"deployments":2,"interestingly":1,"subsets":1,"non-empty":1,"intersection":1,"co-locations":1,"weighted":1,"embedding":1,"planned":1,"fatal-level":1,"patch":3,"reviewers":1,"decreasing":1,"severity":2,"harmful":1,"informational":3,"highlight":1,"coarse-grained":1,"fine-grained":1,"finer-grained":1,"parameterized":1,"formatting":1,"anchors":1,"loggers":1,"pre-requisites":1,"optimizations":1,"primarily":1,"hoping":1,"optimizing":1,"commercial":1,"distribution":2,"mirrors":1,"unpack":1,"sake":1,"twice":1,"detail":1,"externally":1,"-server":1,"end-to-end":1,"file-like":1,"feel":1,"yielding":1,"zk_test":3,"my_data":1,"explore":1,"functionally":1,"variants":1,"threaded":1,"convenient":1,"copies":1,"inherently":1,"differences":1,"knows":1,"servername":1,"_datadir_s":1,"distinct":1,"_clientport_s":1,"die":1,"couple":1,"fixes":1,"breaking":3,"sub-task":3,"improvement":6,"zookeeper-842":1,"zookeeper-4736":1,"fd":1,"zookeeper-4871":1,"python":1,"module":1,"incompatible":3,"zookeeper-4958":1,"zookeeper-4974":1,"compilation":4,"warnings":1,"zookeeper-4984":1,"owasp":5,"zookeeper-4986":1,"zookeeper-4989":1,"msvc":1,"zookeeper-3938":1,"jline":1,"zookeeper-4955":1,"interference":1,"zookeeper-4962":1,"getport":1,"getsecureport":1,"zookeeperserverembedded":2,"zookeeper-4965":1,"suppresswarnings":1,"deprecation":1,"zookeeper-4970":1,"deprecate":1,"zkconfig":1,"configexception":1,"zookeeper-4780":1,"zookeeper-4976":1,"cve-2025-58057":1,"zookeeper-5017":1,"cve-2025-67735":1,"zookeeper-5018":1,"v20250814":1,"cve-2025-5115":1,"zookeeper-4891":2,"logback-classic":4,"cve":3,"slf4j-api":4,"complain":1,"inherit":2,"customized":1,"customization":1,"resolved":1,"zookeeper-4020":1,"zookeeper-4240":1,"zookeeper-4604":1,"completion_string_stat":1,"acl_result":1,"zookeeper-4699":1,"zh-":1,"heap-use-after-free":1,"zookeeper_interest":1,"zookeeper-4725":1,"creations":1,"zookeeper-4787":1,"zookeeper-4810":1,"format_endpoint_info":1,"zookeeper-4819":1,"seek":1,"writable":1,"readonly":2,"zookeeper-4846":1,"reload":1,"zookeeper-4848":1,"setup_random":1,"zookeeper-4858":1,"zookeeper-4872":1,"snapshotcommand":1,"fastforwardfromedits":1,"zookeeper-4886":1,"zookeeper-4889":1,"fallback":1,"mech":1,"zookeeper-4900":1,"bump":2,"cve-2024-6763":2,"zookeeper-4907":1,"shouldn't":1,"confusion":1,"zookeeper-4909":1,"spurious":1,"wakeup":1,"requesttimeout":1,"zookeeper-4919":1,"responsecache":1,"lru":1,"zookeeper-4921":1,"zookeeper-4925":1,"hole":1,"follower's":1,"committedlog":3,"zookeeper-4928":1,"zookeeper_version":1,"zookeeper-4933":1,"zookeeper-4940":1,"zookeeper-4953":1,"fixing":2,"typo":1,"zookeeper-4960":1,"parsing":1,"zookeeper-4895":1,"helper":1,"zookeeper-4790":1,"zookeeper-4852":1,"uuuuu":1,"asf":1,"license":3,"cve-2024-12798":1,"zookeeper-4902":1,"zookeeper-4906":1,"zookeeper-4944":1,"dists":1,"zookeeper-4954":1,"style":1,"zookeeper-4964":1,"zookeeper-4897":1,"cve-2025-24970":1,"zookeeper-4959":1,"zookeeper-2332":1,"zookeeper-2623":1,"checkversion":1,"nullpointerexception":4,"zookeeper-4293":1,"zookeeper-4394":1,"syncwithleader":2,"zookeeper-4409":1,"sendackrequestprocessor":1,"zookeeper-4508":1,"endless":1,"clientcnxn":2,"sendthread":2,"zookeeper-4712":1,"syncprocessor":1,"zookeeper-4733":1,"non-return":1,"asan":1,"cppunit":1,"zookeeper-4752":1,"zookeeper-server":1,"gitignore":1,"zookeeper-4804":1,"daemon":1,"zookeeper-4814":1,"desynchronization":1,"zookeeper-4839":1,"digestmd5":1,"zookeeper-4843":1,"encountering":1,"'unreasonable":1,"length'":1,"1gb":1,"zookeeper-4876":1,"jetty-http-9":1,"v20231009":1,"zookeeper-4747":1,"lacks":1,"zookeeper-4850":1,"enhance":1,"zookeeper-4851":1,"zookeeper-4860":1,"zookeeper-4859":1,"cancelled":1,"zookeeper-4820":1,"pom":1,"leaks":1,"zookeeper-4868":1,"commons-io":2,"zookeeper-910":1,"selectionkey":1,"isxyz":1,"zookeeper-4728":1,"forever":1,"zookeeper-2590":1,"zookeeper-4236":1,"zookeeper-4415":1,"preferences":1,"zookeeper-4730":1,"logdir":1,"zookeeper-4785":1,"zookeeper-3486":1,"doc":1,"zookeeper-4756":1,"merge":3,"github":2,"zookeeper-4778":1,"vulnerabilities":1,"zookeeper-4794":1,"zkdatabase":2,"zookeeper-4799":1,"refactor":1,"zookeeper-4801":1,"limitation":1,"zookeeper-4807":1,"sid":1,"goodbye":1,"zookeeper-4732":1,"reproducible":1,"builds":1,"zookeeper-4753":1,"vs":1,"zookeeper-4751":1,"snappy-java":3,"cve-2023-43642":1,"zookeeper-4754":1,"cve-2023-36479":1,"cve-2023-40167":1,"cve-2023-41900":1,"zookeeper-4755":1,"cve-2023-4586":1,"zookeeper-4327":1,"flaky":5,"requestthrottlertest":1,"zookeeper-2108":1,"zkadaptor":1,"gcc":1,"zookeeper-3652":1,"improper":1,"zookeeper-3908":1,"zktreeutil":2,"zookeeper-3996":1,"readonlymodetest":2,"testconnectionevents":1,"zookeeper-4026":1,"create2":1,"zookeeper-4296":1,"opened":1,"zookeeper-4308":1,"eageraclfiltertest":1,"testsetdatafail":1,"zookeeper-4393":1,"zookeeper-4466":1,"zookeeper-4471":1,"watcher's":1,"zookeeper-4473":1,"zooinspector":2,"zookeeper-4475":1,"zookeeper-4477":1,"ticket":1,"renewal":1,"renewals":1,"zookeeper-4504":1,"zkutil":2,"deleterecursive":1,"zookeeper-4505":1,"cve-2020-36518":1,"jackson":3,"databind":2,"zookeeper-4511":1,"filetxnsnaplogmetricstest":1,"testfiletxnsnaplogmetrics":1,"zookeeper-4514":1,"npe":2,"zookeeper-4515":1,"zookeeper-4537":1,"syncthread":1,"zookeeper-4549":1,"repeatedly":1,"initialized":1,"zookeeper-4565":1,"truncated":1,"zookeeper-4647":1,"jdk20":2,"mock":1,"inetaddress":1,"zookeeper-4654":1,"util":1,"zookeeper-4674":1,"zookeeper-4719":1,"bouncycastle":1,"jdk18on":1,"jdk15on":1,"zookeeper-4721":1,"zookeeper-4570":1,"zookeeper-4655":1,"watchevent":1,"zookeeper-3731":1,"zookeeper-3806":1,"zookeeper-3860":1,"hostnames":1,"zookeeper-4289":1,"zookeeper-4303":1,"auto-assign":1,"zookeeper-4464":1,"zookeeper-4467":1,"op2string":1,"zookeeper-4472":1,"zookeeper-4474":1,"opnames":1,"zookeeper-4490":1,"clover":1,"sonarqube":1,"zookeeper-4491":1,"zookeeper-4492":1,"zookeeper-4494":1,"zookeeper-4518":1,"useless":1,"preprequestprocessor":1,"prequest":1,"zookeeper-4519":1,"testable":1,"testableclosesocket":1,"zookeeper-4529":1,"zookeeper-4531":1,"revert":1,"tcnative":1,"zookeeper-4551":1,"spammy":1,"stacktrace":1,"zookeeper-4566":1,"zookeeper-4573":1,"encapsulate":1,"bytebuffer":1,"zookeeper-4575":1,"processpacket":1,"zookeeper-4616":1,"docker":1,"cves":2,"zookeeper-4622":1,"zookeeper-4636":1,"aix":1,"zookeeper-4657":1,"sbom":1,"artifacts":1,"zookeeper-4659":1,"commons":1,"cve-2021-37533":2,"zookeeper-4660":1,"suppress":2,"zookeeper-4661":1,"cve-2022-42003":1,"cve-2022-42004":1,"zookeeper-4705":1,"button":1,"squash":1,"zookeeper-4717":1,"serialize":1,"zookeeper-4718":1,"allocation":1,"zookeeper-4630":1,"connectionmetricstest":1,"testrevalidatecount":1,"zookeeper-4676":1,"suspend":1,"zookeeper-3615":1,"tla":1,"zookeeper-4710":1,"deleteinbatch":1,"semaphore":1,"zookeeper-4714":1,"syncrequestprocessor":1,"zookeeper-4715":1,"position":1,"testgetcurrentlogsize":1,"zookeeper-4479":1,"testoperations":1,"testtimeoutcausedbywatches1":1,"zookeeper-4482":1,"commons-cli":1,"zookeeper-4599":1,"cve-2022-2048":1,"zookeeper-4641":1,"gh":1,"implicit":1,"declaration":1,"fips_mode":1,"zookeeper-4642":1,"travis":1,"zookeeper-4649":1,"cve-2022-41915":1,"zookeeper-4669":1,"m1":1,"macs":1,"zookeeper-4688":1,"cyclonedx-maven-plugin":1,"zookeeper-4700":1,"cve-2023-26048":1,"cve-2023-26049":1,"zookeeper-4707":1,"zookeeper-4709":1,"zookeeper-4716":1},"page_id":{"docs":2194,"admin-ops":1077,"administrators-guide":541,"administration":40,"best-practices":11,"commands":87,"communication-using-the-netty-framework":21,"configuration-parameters":276,"data-file-management":20,"deployment":84,"cli":67,"dynamic-reconfiguration":127,"jmx":58,"monitor-and-audit-logs":71,"observers-guide":20,"quorums":73,"quota-guide":18,"snapshot-and-restore-guide":17,"tools":85,"developer":704,"basic-tutorial":32,"java-example":39,"programmers-guide":308,"access-control-using-acls":55,"bindings":53,"building-blocks-a-guide-to-zookeeper-operations":20,"consistency-guarantees":13,"data-model":52,"gotchas-common-problems-and-troubleshooting":8,"pluggable-authentication":17,"sessions":46,"watches":32,"recipes":105,"use-cases":220,"miscellaneous":80,"internals":80,"overview":267,"quick-start":55,"release-notes":212},"type":{"page":35,"text":1819,"heading":340},"breadcrumbs":{"multi-page":35,"documentation":35,"admin":17,"ops":17,"administrator's":8,"guide":18,"developer":14,"programmer's":10,"getting":3,"started":3,"miscellaneous":1},"url":{"docs":2194,"admin-ops":1077,"administrators-guide":541,"administration":40,"maintenance":2,"ongoing-data-directory-cleanup":6,"debug-log-cleanup-logback":2,"supervision":4,"monitoring":5,"logging":7,"troubleshooting":2,"metrics-providers":12,"best-practices":11,"things-to-avoid":6,"commands":87,"the-four-letter-words":46,"the-adminserver":6,"configuring-adminserver-for-ssltls":33,"communication-using-the-netty-framework":21,"quorum-tls":9,"upgrading-existing-non-tls-cluster-with-no-downtime":8,"configuration-parameters":276,"minimum-configuration":9,"advanced-configuration":98,"cluster-options":33,"encryption-authentication-authorization-options":66,"tls-cipher-suites":5,"experimental-optionsfeatures":4,"unsafe-options":17,"disabling-data-directory-autocreation":5,"enabling-db-existence-validation":3,"performance-tuning-options":11,"debug-observability-configurations":4,"adminserver-configuration":16,"data-file-management":20,"the-data-directory":7,"the-log-directory":2,"file-management":6,"recovery---txnlogtoolkit":2,"deployment":84,"system-requirements":1,"supported-platforms":7,"support-matrix":32,"required-software":2,"clustered-multi-server-setup":17,"single-server-and-developer-setup":4,"designing-a-zookeeper-deployment":5,"cross-machine-requirements":5,"single-machine-requirements":4,"cli":67,"connecting":1,"help":2,"addauth":2,"close":2,"config":2,"connect":2,"create":5,"delete":2,"deleteall":2,"delquota":2,"get":2,"getacl":2,"getallchildrennumber":2,"getephemerals":4,"history":2,"listquota":2,"ls":2,"printwatches":2,"quit":2,"reconfig":5,"redo":2,"removewatches":2,"set":2,"setacl":4,"setquota":2,"stat":2,"sync":2,"version":2,"whoami":2,"dynamic-reconfiguration":127,"changes-to-configuration-format":1,"specifying-the-client-port":8,"specifying-multiple-server-addresses":3,"the-standaloneenabled-flag":5,"the-reconfigenabled-flag":3,"dynamic-configuration-file":3,"example-1":4,"example-2":4,"backward-compatibility":4,"upgrading-to-350":3,"dynamic-reconfiguration-of-the-zookeeper-ensemble":2,"api":4,"security":7,"retrieving-the-current-dynamic-configuration":8,"modifying-the-current-dynamic-configuration":3,"general":21,"incremental-mode":7,"non-incremental-mode":6,"conditional-reconfig":3,"error-conditions":10,"additional-comments":4,"rebalancing-client-connections":5,"jmx":60,"starting-zookeeper-with-jmx-enabled":2,"running-a-jmx-console":6,"logback-mbeans-new-in-380":2,"log4j-mbeans-deprecated":2,"zookeeper-mbean-reference":1,"replicated-ensemble-mbeans":26,"standalone-server-mbeans":14,"monitor-and-audit-logs":71,"new-metrics-system":2,"metrics":2,"configuring-the-metrics-provider":3,"enabling-https-for-prometheus-metrics":7,"prometheus":6,"alerting-with-prometheus":5,"grafana":3,"influxdb":2,"four-letter-words":2,"audit-logs":22,"audit-log-configuration":3,"who-is-taken-as-user-in-audit-logs":10,"observers-guide":20,"how-to-use-observers":7,"how-to-use-observer-masters":4,"example-use-cases":4,"quorums":78,"hierarchical-quorums":4,"oracle-quorum":2,"the-implementation-of-the-oracle":2,"deployment-contexts":3,"configuring-the-oracle-in-zoocfg":5,"example-zoocfg":1,"behavior-after-enabling-the-oracle":2,"considerations-when-using-the-oracle":2,"liveness-issue":7,"safety-issue":21,"examples-of-failure-detector-implementations":2,"hardware-based-implementation":2,"software-based-implementation":2,"using-a-usb-device-as-the-oracle":14,"reference":2,"quota-guide":18,"setting-quotas":9,"listing-quotas":2,"deleting-quotas":2,"snapshot-and-restore-guide":17,"snapshot":2,"restore":7,"tools":85,"scripts":1,"zkserversh":3,"zkclish":2,"zkenvsh":3,"zkcleanupsh":2,"zktxnlogtoolkitsh":8,"zksnapshottoolkitsh":2,"zksnapshotrecursivesummarytoolkitsh":2,"zksnapshotcomparersh":5,"locating-snapshots":2,"supported-snapshot-formats":2,"running-the-tool":4,"interactive-mode":13,"benchmark":1,"ycsb":18,"zk-smoketest":2,"testing":1,"fault-injection-framework":1,"byteman":5,"jepsen-test":6,"developer":704,"basic-tutorial":32,"introduction":5,"barriers":16,"producer-consumer-queues":6,"complete-example":2,"queue-test":3,"barrier-test":2,"source-listing":1,"syncprimitivejava":1,"java-example":39,"a-simple-watch-client":2,"requirements":10,"program-design":2,"the-executor-class":9,"the-datamonitor-class":11,"complete-source-listings":1,"executorjava":1,"datamonitorjava":1,"programmers-guide":308,"access-control-using-acls":55,"acl-permissions":13,"builtin-acl-schemes":7,"zookeeper-c-client-api":29,"bindings":53,"java-binding":8,"client-configuration-parameters":21,"c-binding":3,"installation":12,"building-your-own-c-client":6,"building-blocks-a-guide-to-zookeeper-operations":20,"handling-errors":2,"connecting-to-zookeeper":30,"consistency-guarantees":19,"data-model":52,"znodes":5,"watches":34,"data-access":3,"ephemeral-nodes":2,"sequence-nodes--unique-naming":2,"container-nodes":1,"added-in-353":3,"ttl-nodes":1,"added-in-353-1":3,"time-in-zookeeper":6,"zookeeper-stat-structure":13,"gotchas-common-problems-and-troubleshooting":8,"links-to-other-information":7,"pluggable-authentication":17,"sessions":46,"qa-toc":7,"semantics-of-watches":6,"persistent-recursive-watches":3,"remove-watches":5,"what-zookeeper-guarantees-about-watches":5,"things-to-remember-about-watches":5,"recipes":105,"a-guide-to-creating-higher-level-constructs-with-zookeeper":5,"important-note-about-error-handling":2,"out-of-the-box-applications-name-service-configuration-group-membership":3,"double-barriers":20,"queues":4,"priority-queues":2,"locks":15,"recoverable-errors-and-the-guid":2,"shared-locks":18,"revocable-shared-locks":4,"two-phased-commit":7,"leader-election":15,"use-cases":220,"free-software-projects":1,"adroitlogic-ultraesb":2,"akka":2,"eclipse-communication-framework":2,"eclipse-gyrex":3,"goldenorb":2,"juju":2,"katta":3,"keptcollections":3,"neo4j":3,"norbert":2,"spring-cloud-zookeeper":2,"spring-statemachine":3,"spring-xd":3,"talend-esb":3,"redis_failover":2,"apache-projects":1,"apache-accumulo":3,"apache-atlas":3,"apache-bookkeeper":3,"apache-cxf-dosgi":3,"apache-drill":3,"apache-druid":8,"apache-dubbo":3,"apache-flink":3,"apache-flume":3,"apache-fluo":3,"apache-griffin":3,"apache-hadoop":9,"apache-hbase":4,"apache-helix":6,"apache-hive":3,"apache-ignite":3,"apache-james-mailbox":3,"apache-kafka":7,"apache-kylin":3,"apache-mesos":3,"apache-oozie":3,"apache-pulsar":5,"apache-solr":3,"apache-spark":3,"apache-storm":3,"companies":1,"ageto":2,"benipal-technologies":2,"box":2,"deepdyve":2,"facebook":2,"idium-portal":3,"makara":4,"midokura":2,"pinterest":2,"rackspace":2,"sematext":2,"tubemogul":2,"twitter":6,"vastcom":2,"wealthfront":2,"yahoo":2,"zynga":40,"zookeeper-a-distributed-coordination-service-for-distributed-applications":3,"design-goals":8,"data-model-and-the-hierarchical-namespace":2,"zookeepers-hierarchical-namespace":1,"nodes-and-ephemeral-nodes":5,"conditional-updates-and-watches":3,"guarantees":7,"simple-api":9,"implementation":6,"uses":2,"performance":12,"reliability":3,"the-zookeeper-project":3,"miscellaneous":80,"internals":80,"atomic-broadcast":2,"guarantees-properties-and-definitions":20,"leader-activation":15,"active-messaging":8,"summary":2,"comparisons":3,"developer-guidelines":2,"logging-at-the-right-level":8,"use-of-standard-slf4j-idioms":5,"overview":267,"quick-start":55,"coordinating-distributed-applications-with-zookeeper":2,"pre-requisites":2,"download":2,"standalone-operation":11,"managing-zookeeper-storage":2,"programming-to-zookeeper":2,"running-replicated-zookeeper":14,"other-optimizations":3,"release-notes":212,"release-notes---zookeeper---version-395":1,"sub-task":2,"bug":8,"improvement":6,"test":2,"task":4,"release-notes---zookeeper---version-394":1,"breaking-changes":6,"bug-1":26,"new-feature":2,"improvement-1":9,"task-1":3,"release-notes---zookeeper---version-393":1,"bug-2":15,"new-feature-1":2,"improvement-2":4,"test-1":2,"task-2":3,"release-notes---zookeeper---version-392":1,"sub-task-1":3,"bug-3":6,"improvement-3":7,"wish":2,"release-notes---zookeeper---version-391":1,"improvement-4":3,"task-3":4,"release-notes---zookeeper---version-390":1,"sub-task-2":2,"bug-4":27,"new-feature-2":3,"improvement-5":32,"test-2":3,"wish-1":5,"task-4":13}},"avgFieldLength":{"content":19.326800364630806,"page_id":3.320419325432998,"type":1,"breadcrumbs":1.9888031485776165,"url":4.229261622607108},"fieldLengths":{"content":{"1":1,"2":19,"3":1,"4":4,"5":4,"6":1,"7":1,"8":1,"9":1,"10":2,"11":18,"12":62,"13":40,"14":21,"15":50,"16":32,"17":33,"18":65,"19":48,"20":40,"21":12,"22":9,"23":2,"24":6,"25":29,"26":22,"27":8,"28":7,"29":65,"30":13,"31":15,"32":17,"33":13,"34":13,"35":21,"36":25,"37":19,"38":28,"39":21,"40":19,"41":2,"42":22,"43":3,"44":2,"45":12,"46":44,"47":58,"48":90,"49":20,"50":12,"51":25,"52":1,"53":23,"54":4,"55":2,"56":5,"57":24,"58":25,"59":33,"60":10,"61":31,"62":12,"63":8,"64":6,"65":53,"66":4,"67":11,"68":10,"69":13,"70":38,"71":16,"72":38,"73":20,"74":36,"75":21,"76":16,"77":23,"78":37,"79":4,"80":1,"81":5,"82":1,"83":5,"84":1,"85":5,"86":1,"87":4,"88":1,"89":14,"90":1,"91":8,"92":1,"93":8,"94":1,"95":12,"96":1,"97":5,"98":1,"99":5,"100":81,"101":7,"102":71,"103":11,"104":9,"105":17,"106":13,"107":13,"108":10,"109":10,"110":3,"111":11,"112":17,"113":27,"114":19,"115":13,"116":29,"117":12,"118":21,"119":13,"120":14,"121":39,"122":22,"123":32,"124":15,"125":34,"126":31,"127":26,"128":13,"129":48,"130":30,"131":20,"132":27,"133":12,"134":13,"135":28,"136":29,"137":10,"138":30,"139":5,"140":24,"141":2,"142":7,"143":45,"144":30,"145":4,"146":24,"147":13,"148":64,"149":17,"150":33,"151":22,"152":11,"153":4,"154":22,"155":15,"156":22,"157":25,"158":11,"159":19,"160":2,"161":20,"162":2,"163":2,"164":2,"165":4,"166":3,"167":3,"168":2,"169":4,"170":4,"171":3,"172":3,"173":2,"174":41,"175":2,"176":34,"177":12,"178":13,"179":38,"180":31,"181":19,"182":2,"183":23,"184":34,"185":38,"186":31,"187":2,"188":30,"189":58,"190":39,"191":57,"192":42,"193":81,"194":98,"195":57,"196":48,"197":40,"198":25,"199":25,"200":39,"201":55,"202":47,"203":36,"204":66,"205":40,"206":44,"207":68,"208":37,"209":53,"210":56,"211":67,"212":57,"213":62,"214":48,"215":48,"216":43,"217":44,"218":44,"219":43,"220":51,"221":57,"222":38,"223":29,"224":38,"225":41,"226":40,"227":57,"228":23,"229":38,"230":34,"231":28,"232":45,"233":29,"234":32,"235":41,"236":30,"237":26,"238":32,"239":28,"240":27,"241":23,"242":23,"243":43,"244":8,"245":28,"246":7,"247":17,"248":34,"249":35,"250":32,"251":28,"252":34,"253":32,"254":36,"255":24,"256":39,"257":25,"258":11,"259":30,"260":9,"261":4,"262":3,"263":76,"264":28,"265":30,"266":33,"267":33,"268":51,"269":66,"270":59,"271":56,"272":71,"273":51,"274":32,"275":39,"276":12,"277":5,"278":26,"279":26,"280":26,"281":16,"282":19,"283":37,"284":2,"285":41,"286":62,"287":33,"288":35,"289":44,"290":2,"291":18,"292":75,"293":67,"294":2,"295":71,"296":29,"297":45,"298":61,"299":23,"300":2,"301":23,"302":2,"303":13,"304":53,"305":96,"306":79,"307":31,"308":72,"309":82,"310":61,"311":36,"312":31,"313":43,"314":14,"315":27,"316":46,"317":84,"318":28,"319":9,"320":6,"321":16,"322":2,"323":9,"324":2,"325":8,"326":7,"327":13,"328":47,"329":46,"330":39,"331":65,"332":52,"333":64,"334":12,"335":18,"336":31,"337":72,"338":20,"339":9,"340":32,"341":38,"342":43,"343":30,"344":29,"345":37,"346":30,"347":29,"348":37,"349":28,"350":28,"351":36,"352":56,"353":32,"354":41,"355":64,"356":34,"357":56,"358":26,"359":7,"360":6,"361":6,"362":2,"363":13,"364":45,"365":32,"366":35,"367":21,"368":27,"369":32,"370":32,"371":55,"372":58,"373":78,"374":15,"375":27,"376":28,"377":17,"378":8,"379":27,"380":30,"381":30,"382":14,"383":7,"384":70,"385":72,"386":23,"387":28,"388":5,"389":38,"390":20,"391":23,"392":29,"393":30,"394":10,"395":18,"396":71,"397":24,"398":42,"399":76,"400":36,"401":15,"402":103,"403":33,"404":24,"405":81,"406":89,"407":32,"408":64,"409":25,"410":41,"411":33,"412":33,"413":73,"414":89,"415":27,"416":33,"417":56,"418":15,"419":60,"420":21,"421":13,"422":19,"423":15,"424":15,"425":21,"426":13,"427":21,"428":13,"429":18,"430":13,"431":16,"432":16,"433":16,"434":27,"435":17,"436":3,"437":18,"438":3,"439":3,"440":2,"441":3,"442":38,"443":9,"444":16,"445":14,"446":10,"447":47,"448":74,"449":49,"450":33,"451":19,"452":69,"453":2,"454":38,"455":7,"456":1,"457":15,"458":2,"459":2,"460":2,"461":2,"462":3,"463":5,"464":4,"465":3,"466":3,"467":11,"468":2,"469":3,"470":5,"471":35,"472":17,"473":13,"474":10,"475":17,"476":7,"477":17,"478":2,"479":1,"480":1,"481":2,"482":1,"483":2,"484":3,"485":3,"486":3,"487":3,"488":1,"489":3,"490":3,"491":2,"492":2,"493":1,"494":3,"495":3,"496":2,"497":2,"498":1,"499":3,"500":3,"501":2,"502":2,"503":3,"504":2,"505":2,"506":2,"507":2,"508":33,"509":58,"510":51,"511":2,"512":31,"513":48,"514":33,"515":22,"516":22,"517":46,"518":11,"519":16,"520":82,"521":49,"522":48,"523":13,"524":37,"525":18,"526":31,"527":33,"528":16,"529":9,"530":26,"531":19,"532":31,"533":39,"534":33,"535":37,"536":40,"537":71,"538":34,"539":49,"540":2,"541":30,"542":1,"543":16,"544":1,"545":1,"546":1,"547":1,"548":1,"549":1,"550":1,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1,"557":1,"558":1,"559":1,"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1,"570":1,"571":1,"572":1,"573":5,"574":7,"575":5,"576":6,"577":5,"578":3,"579":7,"580":11,"581":12,"582":7,"583":8,"584":6,"585":7,"586":7,"587":10,"588":9,"589":10,"590":7,"591":7,"592":9,"593":3,"594":18,"595":1,"596":6,"597":19,"598":8,"599":5,"600":8,"601":6,"602":10,"603":13,"604":21,"605":7,"606":11,"607":5,"608":8,"609":2,"610":27,"611":4,"612":4,"613":4,"614":3,"615":3,"616":3,"617":2,"618":2,"619":2,"620":5,"621":6,"622":1,"623":1,"624":5,"625":5,"626":1,"627":2,"628":2,"629":2,"630":2,"631":2,"632":3,"633":41,"634":78,"635":41,"636":18,"637":30,"638":2,"639":22,"640":15,"641":19,"642":19,"643":11,"644":55,"645":12,"646":5,"647":51,"648":7,"649":57,"650":28,"651":29,"652":22,"653":51,"654":8,"655":35,"656":19,"657":2,"658":3,"659":70,"660":15,"661":2,"662":45,"663":15,"664":2,"665":51,"666":48,"667":53,"668":42,"669":12,"670":34,"671":30,"672":44,"673":36,"674":42,"675":63,"676":17,"677":28,"678":35,"679":49,"680":33,"681":33,"682":12,"683":29,"684":38,"685":24,"686":13,"687":100,"688":44,"689":60,"690":77,"691":52,"692":54,"693":2,"694":48,"695":28,"696":45,"697":56,"698":34,"699":43,"700":14,"701":6,"702":8,"703":12,"704":35,"705":18,"706":80,"707":19,"708":11,"709":58,"710":49,"711":7,"712":21,"713":19,"714":9,"715":20,"716":7,"717":25,"718":31,"719":17,"720":15,"721":7,"722":21,"723":17,"724":13,"725":19,"726":3,"727":11,"728":11,"729":86,"730":48,"731":97,"732":43,"733":50,"734":12,"735":11,"736":1,"737":24,"738":5,"739":4,"740":7,"741":3,"742":3,"743":3,"744":3,"745":16,"746":19,"747":32,"748":35,"749":23,"750":33,"751":24,"752":11,"753":31,"754":31,"755":71,"756":22,"757":1,"758":3,"759":1,"760":1,"761":1,"762":24,"763":2,"764":1,"765":21,"766":1,"767":1,"768":19,"769":1,"770":1,"771":26,"772":1,"773":1,"774":26,"775":1,"776":1,"777":26,"778":1,"779":1,"780":23,"781":15,"782":1,"783":3,"784":1,"785":1,"786":1,"787":20,"788":1,"789":1,"790":20,"791":1,"792":1,"793":23,"794":3,"795":20,"796":3,"797":1,"798":4,"799":5,"800":1,"801":3,"802":1,"803":1,"804":1,"805":3,"806":2,"807":3,"808":8,"809":30,"810":8,"811":10,"812":14,"813":13,"814":4,"815":10,"816":10,"817":2,"818":11,"819":11,"820":7,"821":9,"822":2,"823":9,"824":18,"825":18,"826":5,"827":3,"828":13,"829":23,"830":48,"831":6,"832":9,"833":41,"834":14,"835":1,"836":1,"837":1,"838":3,"839":1,"840":18,"841":1,"842":3,"843":1,"844":14,"845":1,"846":4,"847":2,"848":8,"849":1,"850":18,"851":1,"852":23,"853":24,"854":22,"855":21,"856":6,"857":9,"858":8,"859":8,"860":8,"861":43,"862":41,"863":20,"864":44,"865":1,"866":26,"867":4,"868":5,"869":3,"870":54,"871":76,"872":72,"873":16,"874":15,"875":11,"876":16,"877":34,"878":34,"879":37,"880":80,"881":31,"882":34,"883":45,"884":36,"885":1,"886":19,"887":2,"888":2,"889":4,"890":2,"891":6,"892":3,"893":5,"894":5,"895":2,"896":2,"897":5,"898":2,"899":2,"900":7,"901":1,"902":38,"903":21,"904":36,"905":33,"906":43,"907":28,"908":47,"909":25,"910":22,"911":19,"912":38,"913":41,"914":14,"915":8,"916":16,"917":19,"918":18,"919":16,"920":17,"921":3,"922":16,"923":13,"924":14,"925":12,"926":5,"927":9,"928":13,"929":12,"930":42,"931":3,"932":9,"933":14,"934":9,"935":13,"936":20,"937":17,"938":19,"939":2,"940":6,"941":22,"942":42,"943":45,"944":33,"945":8,"946":12,"947":10,"948":11,"949":7,"950":36,"951":9,"952":22,"953":15,"954":6,"955":44,"956":15,"957":42,"958":2,"959":15,"960":2,"961":2,"962":2,"963":17,"964":17,"965":11,"966":27,"967":29,"968":11,"969":14,"970":51,"971":16,"972":9,"973":23,"974":11,"975":11,"976":4,"977":17,"978":1,"979":1,"980":54,"981":14,"982":6,"983":9,"984":10,"985":19,"986":33,"987":24,"988":11,"989":14,"990":3,"991":22,"992":6,"993":1,"994":19,"995":1,"996":2,"997":2,"998":2,"999":2,"1000":2,"1001":2,"1002":2,"1003":2,"1004":2,"1005":3,"1006":3,"1007":2,"1008":1,"1009":1,"1010":1,"1011":1,"1012":3,"1013":1,"1014":2,"1015":5,"1016":31,"1017":3,"1018":8,"1019":7,"1020":7,"1021":10,"1022":19,"1023":42,"1024":8,"1025":6,"1026":15,"1027":19,"1028":12,"1029":12,"1030":34,"1031":2,"1032":9,"1033":6,"1034":12,"1035":19,"1036":9,"1037":2,"1038":2,"1039":7,"1040":5,"1041":8,"1042":12,"1043":14,"1044":10,"1045":8,"1046":10,"1047":5,"1048":12,"1049":6,"1050":19,"1051":16,"1052":4,"1053":8,"1054":4,"1055":12,"1056":3,"1057":6,"1058":7,"1059":4,"1060":11,"1061":11,"1062":6,"1063":22,"1064":15,"1065":5,"1066":2,"1067":10,"1068":16,"1069":38,"1070":12,"1071":20,"1072":25,"1073":24,"1074":10,"1075":1,"1076":3,"1077":13,"1078":2,"1079":19,"1080":1,"1081":1,"1082":2,"1083":2,"1084":2,"1085":2,"1086":2,"1087":2,"1088":31,"1089":9,"1090":51,"1091":56,"1092":46,"1093":15,"1094":12,"1095":10,"1096":5,"1097":33,"1098":66,"1099":20,"1100":52,"1101":43,"1102":34,"1103":51,"1104":39,"1105":36,"1106":20,"1107":7,"1108":7,"1109":13,"1110":2,"1111":22,"1112":4,"1113":1,"1114":2,"1115":3,"1116":3,"1117":3,"1118":2,"1119":2,"1120":27,"1121":5,"1122":4,"1123":5,"1124":10,"1125":8,"1126":4,"1127":10,"1128":10,"1129":7,"1130":60,"1131":20,"1132":50,"1133":74,"1134":34,"1135":33,"1136":20,"1137":19,"1138":9,"1139":21,"1140":35,"1141":2,"1142":31,"1143":18,"1144":34,"1145":14,"1146":67,"1147":7,"1148":57,"1149":4,"1150":23,"1151":2,"1152":3,"1153":4,"1154":63,"1155":40,"1156":42,"1157":52,"1158":5,"1159":6,"1160":12,"1161":8,"1162":6,"1163":5,"1164":20,"1165":17,"1166":35,"1167":56,"1168":28,"1169":32,"1170":7,"1171":8,"1172":64,"1173":34,"1174":22,"1175":32,"1176":9,"1177":12,"1178":9,"1179":6,"1180":6,"1181":6,"1182":11,"1183":6,"1184":5,"1185":4,"1186":11,"1187":7,"1188":5,"1189":5,"1190":5,"1191":46,"1192":7,"1193":15,"1194":22,"1195":17,"1196":22,"1197":12,"1198":24,"1199":12,"1200":17,"1201":27,"1202":2,"1203":28,"1204":1,"1205":18,"1206":2,"1207":3,"1208":2,"1209":1,"1210":5,"1211":15,"1212":31,"1213":39,"1214":53,"1215":31,"1216":12,"1217":62,"1218":38,"1219":35,"1220":13,"1221":14,"1222":31,"1223":33,"1224":45,"1225":24,"1226":12,"1227":30,"1228":32,"1229":30,"1230":25,"1231":16,"1232":25,"1233":16,"1234":41,"1235":59,"1236":10,"1237":120,"1238":28,"1239":40,"1240":56,"1241":22,"1242":16,"1243":27,"1244":21,"1245":21,"1246":11,"1247":13,"1248":9,"1249":9,"1250":2,"1251":46,"1252":15,"1253":4,"1254":30,"1255":2,"1256":14,"1257":7,"1258":22,"1259":2,"1260":3,"1261":28,"1262":46,"1263":43,"1264":13,"1265":30,"1266":11,"1267":6,"1268":25,"1269":19,"1270":10,"1271":24,"1272":8,"1273":7,"1274":3,"1275":1,"1276":18,"1277":2,"1278":19,"1279":39,"1280":16,"1281":11,"1282":30,"1283":23,"1284":42,"1285":25,"1286":31,"1287":37,"1288":2,"1289":107,"1290":2,"1291":19,"1292":1,"1293":1,"1294":2,"1295":2,"1296":1,"1297":4,"1298":2,"1299":4,"1300":2,"1301":4,"1302":3,"1303":3,"1304":53,"1305":17,"1306":21,"1307":1,"1308":11,"1309":32,"1310":5,"1311":69,"1312":2,"1313":40,"1314":16,"1315":30,"1316":35,"1317":93,"1318":40,"1319":53,"1320":68,"1321":35,"1322":30,"1323":39,"1324":34,"1325":5,"1326":35,"1327":26,"1328":45,"1329":22,"1330":14,"1331":12,"1332":10,"1333":11,"1334":12,"1335":13,"1336":9,"1337":9,"1338":9,"1339":18,"1340":8,"1341":7,"1342":5,"1343":18,"1344":23,"1345":40,"1346":74,"1347":29,"1348":54,"1349":87,"1350":2,"1351":25,"1352":4,"1353":42,"1354":8,"1355":36,"1356":13,"1357":6,"1358":17,"1359":17,"1360":16,"1361":18,"1362":2,"1363":18,"1364":22,"1365":69,"1366":36,"1367":49,"1368":71,"1369":56,"1370":51,"1371":48,"1372":17,"1373":21,"1374":3,"1375":4,"1376":11,"1377":6,"1378":15,"1379":1,"1380":18,"1381":3,"1382":67,"1383":59,"1384":96,"1385":45,"1386":43,"1387":78,"1388":80,"1389":13,"1390":13,"1391":6,"1392":8,"1393":18,"1394":10,"1395":13,"1396":54,"1397":50,"1398":45,"1399":14,"1400":19,"1401":96,"1402":68,"1403":51,"1404":53,"1405":66,"1406":11,"1407":55,"1408":4,"1409":6,"1410":47,"1411":29,"1412":17,"1413":4,"1414":10,"1415":38,"1416":53,"1417":20,"1418":24,"1419":12,"1420":40,"1421":5,"1422":20,"1423":28,"1424":61,"1425":1,"1426":21,"1427":3,"1428":3,"1429":2,"1430":5,"1431":5,"1432":46,"1433":39,"1434":67,"1435":66,"1436":60,"1437":33,"1438":26,"1439":8,"1440":11,"1441":10,"1442":8,"1443":57,"1444":39,"1445":41,"1446":12,"1447":14,"1448":13,"1449":8,"1450":22,"1451":19,"1452":14,"1453":22,"1454":53,"1455":34,"1456":47,"1457":3,"1458":16,"1459":8,"1460":5,"1461":10,"1462":1,"1463":2,"1464":1,"1465":2,"1466":1,"1467":5,"1468":2,"1469":3,"1470":2,"1471":2,"1472":42,"1473":44,"1474":31,"1475":58,"1476":62,"1477":17,"1478":29,"1479":36,"1480":15,"1481":11,"1482":16,"1483":16,"1484":33,"1485":46,"1486":1,"1487":1,"1488":7,"1489":5,"1490":7,"1491":5,"1492":5,"1493":13,"1494":5,"1495":13,"1496":11,"1497":15,"1498":6,"1499":3,"1500":53,"1501":48,"1502":57,"1503":86,"1504":2,"1505":21,"1506":56,"1507":36,"1508":2,"1509":21,"1510":9,"1511":24,"1512":17,"1513":17,"1514":17,"1515":19,"1516":20,"1517":7,"1518":26,"1519":6,"1520":20,"1521":36,"1522":14,"1523":4,"1524":4,"1525":26,"1526":27,"1527":20,"1528":20,"1529":29,"1530":24,"1531":22,"1532":17,"1533":8,"1534":20,"1535":15,"1536":1,"1537":60,"1538":12,"1539":14,"1540":56,"1541":47,"1542":20,"1543":68,"1544":36,"1545":36,"1546":39,"1547":20,"1548":45,"1549":89,"1550":4,"1551":12,"1552":12,"1553":13,"1554":22,"1555":7,"1556":9,"1557":12,"1558":23,"1559":1,"1560":32,"1561":12,"1562":2,"1563":14,"1564":3,"1565":2,"1566":1,"1567":3,"1568":2,"1569":1,"1570":1,"1571":1,"1572":1,"1573":1,"1574":1,"1575":1,"1576":1,"1577":1,"1578":2,"1579":1,"1580":2,"1581":2,"1582":2,"1583":2,"1584":3,"1585":2,"1586":2,"1587":2,"1588":2,"1589":2,"1590":2,"1591":2,"1592":2,"1593":2,"1594":2,"1595":2,"1596":2,"1597":3,"1598":2,"1599":2,"1600":2,"1601":2,"1602":2,"1603":2,"1604":2,"1605":2,"1606":1,"1607":1,"1608":2,"1609":1,"1610":1,"1611":1,"1612":2,"1613":1,"1614":1,"1615":1,"1616":1,"1617":1,"1618":1,"1619":1,"1620":2,"1621":1,"1622":1,"1623":1,"1624":7,"1625":29,"1626":30,"1627":47,"1628":25,"1629":29,"1630":15,"1631":26,"1632":3,"1633":8,"1634":9,"1635":12,"1636":15,"1637":16,"1638":27,"1639":26,"1640":5,"1641":44,"1642":15,"1643":15,"1644":28,"1645":27,"1646":10,"1647":30,"1648":11,"1649":13,"1650":41,"1651":31,"1652":16,"1653":11,"1654":21,"1655":40,"1656":13,"1657":10,"1658":19,"1659":9,"1660":17,"1661":3,"1662":7,"1663":8,"1664":3,"1665":5,"1666":11,"1667":12,"1668":33,"1669":50,"1670":45,"1671":11,"1672":17,"1673":13,"1674":8,"1675":15,"1676":64,"1677":12,"1678":27,"1679":31,"1680":23,"1681":41,"1682":35,"1683":49,"1684":12,"1685":33,"1686":26,"1687":10,"1688":29,"1689":11,"1690":15,"1691":12,"1692":36,"1693":16,"1694":21,"1695":25,"1696":19,"1697":10,"1698":8,"1699":9,"1700":66,"1701":24,"1702":14,"1703":20,"1704":30,"1705":9,"1706":27,"1707":37,"1708":11,"1709":27,"1710":20,"1711":14,"1712":17,"1713":24,"1714":14,"1715":24,"1716":11,"1717":41,"1718":40,"1719":7,"1720":16,"1721":12,"1722":12,"1723":28,"1724":48,"1725":12,"1726":10,"1727":10,"1728":2,"1729":6,"1730":18,"1731":58,"1732":32,"1733":13,"1734":10,"1735":36,"1736":14,"1737":21,"1738":16,"1739":10,"1740":18,"1741":26,"1742":20,"1743":18,"1744":8,"1745":7,"1746":11,"1747":6,"1748":6,"1749":8,"1750":12,"1751":7,"1752":7,"1753":7,"1754":7,"1755":10,"1756":9,"1757":9,"1758":11,"1759":11,"1760":37,"1761":7,"1762":5,"1763":5,"1764":6,"1765":8,"1766":11,"1767":8,"1768":8,"1769":7,"1770":9,"1771":5,"1772":10,"1773":8,"1774":9,"1775":5,"1776":6,"1777":6,"1778":6,"1779":7,"1780":4,"1781":5,"1782":1,"1783":15,"1784":7,"1785":2,"1786":6,"1787":3,"1788":3,"1789":4,"1790":1,"1791":2,"1792":1,"1793":1,"1794":1,"1795":1,"1796":3,"1797":53,"1798":31,"1799":53,"1800":41,"1801":21,"1802":37,"1803":28,"1804":28,"1805":29,"1806":25,"1807":57,"1808":35,"1809":35,"1810":22,"1811":37,"1812":33,"1813":30,"1814":17,"1815":10,"1816":31,"1817":20,"1818":17,"1819":20,"1820":9,"1821":4,"1822":7,"1823":7,"1824":6,"1825":7,"1826":7,"1827":20,"1828":23,"1829":31,"1830":40,"1831":39,"1832":25,"1833":41,"1834":65,"1835":2,"1836":12,"1837":5,"1838":27,"1839":6,"1840":7,"1841":4,"1842":6,"1843":4,"1844":40,"1845":59,"1846":50,"1847":21,"1848":1,"1849":19,"1850":2,"1851":4,"1852":2,"1853":2,"1854":1,"1855":1,"1856":2,"1857":1,"1858":1,"1859":2,"1860":5,"1861":5,"1862":16,"1863":9,"1864":16,"1865":16,"1866":23,"1867":69,"1868":39,"1869":29,"1870":16,"1871":49,"1872":14,"1873":9,"1874":29,"1875":22,"1876":78,"1877":68,"1878":6,"1879":19,"1880":15,"1881":81,"1882":20,"1883":9,"1884":10,"1885":48,"1886":43,"1887":54,"1888":41,"1889":9,"1890":13,"1891":13,"1892":15,"1893":16,"1894":14,"1895":31,"1896":48,"1897":9,"1898":17,"1899":27,"1900":39,"1901":27,"1902":14,"1903":75,"1904":41,"1905":65,"1906":10,"1907":55,"1908":56,"1909":64,"1910":20,"1911":45,"1912":68,"1913":72,"1914":18,"1915":63,"1916":22,"1917":11,"1918":11,"1919":4,"1920":13,"1921":8,"1922":6,"1923":16,"1924":3,"1925":6,"1926":13,"1927":2,"1928":2,"1929":11,"1930":5,"1931":1,"1932":1,"1933":2,"1934":3,"1935":3,"1936":3,"1937":3,"1938":2,"1939":51,"1940":7,"1941":15,"1942":21,"1943":14,"1944":17,"1945":33,"1946":22,"1947":16,"1948":8,"1949":10,"1950":30,"1951":33,"1952":21,"1953":15,"1954":12,"1955":7,"1956":8,"1957":18,"1958":27,"1959":20,"1960":11,"1961":9,"1962":15,"1963":14,"1964":13,"1965":7,"1966":11,"1967":40,"1968":33,"1969":2,"1970":10,"1971":42,"1972":24,"1973":30,"1974":29,"1975":31,"1976":60,"1977":2,"1978":58,"1979":52,"1980":32,"1981":13,"1982":35,"1983":2,"1984":16,"1985":8,"1986":1,"1987":1,"1988":1,"1989":1,"1990":1,"1991":8,"1992":2,"1993":1,"1994":2,"1995":1,"1996":1,"1997":7,"1998":1,"1999":2,"2000":1,"2001":1,"2002":1,"2003":8,"2004":1,"2005":1,"2006":1,"2007":1,"2008":8,"2009":1,"2010":1,"2011":8,"2012":1,"2013":1,"2014":2,"2015":1,"2016":1,"2017":1,"2018":1,"2019":12,"2020":5,"2021":11,"2022":11,"2023":8,"2024":15,"2025":11,"2026":11,"2027":8,"2028":12,"2029":8,"2030":6,"2031":10,"2032":9,"2033":7,"2034":11,"2035":13,"2036":21,"2037":17,"2038":31,"2039":30,"2040":22,"2041":8,"2042":7,"2043":9,"2044":7,"2045":11,"2046":8,"2047":7,"2048":12,"2049":9,"2050":7,"2051":11,"2052":7,"2053":10,"2054":13,"2055":13,"2056":11,"2057":14,"2058":9,"2059":12,"2060":15,"2061":9,"2062":11,"2063":12,"2064":8,"2065":13,"2066":14,"2067":10,"2068":10,"2069":10,"2070":10,"2071":11,"2072":10,"2073":13,"2074":9,"2075":11,"2076":9,"2077":10,"2078":8,"2079":8,"2080":6,"2081":5,"2082":15,"2083":17,"2084":10,"2085":11,"2086":8,"2087":10,"2088":19,"2089":15,"2090":10,"2091":10,"2092":12,"2093":7,"2094":8,"2095":11,"2096":7,"2097":9,"2098":11,"2099":15,"2100":8,"2101":10,"2102":18,"2103":13,"2104":14,"2105":14,"2106":11,"2107":12,"2108":8,"2109":8,"2110":10,"2111":9,"2112":5,"2113":11,"2114":10,"2115":10,"2116":5,"2117":5,"2118":13,"2119":6,"2120":5,"2121":6,"2122":14,"2123":10,"2124":6,"2125":9,"2126":9,"2127":10,"2128":10,"2129":8,"2130":15,"2131":10,"2132":10,"2133":6,"2134":5,"2135":9,"2136":8,"2137":7,"2138":13,"2139":13,"2140":11,"2141":9,"2142":8,"2143":10,"2144":13,"2145":11,"2146":6,"2147":10,"2148":17,"2149":9,"2150":8,"2151":14,"2152":9,"2153":7,"2154":6,"2155":7,"2156":7,"2157":9,"2158":6,"2159":10,"2160":9,"2161":9,"2162":6,"2163":13,"2164":8,"2165":6,"2166":9,"2167":12,"2168":6,"2169":7,"2170":5,"2171":15,"2172":9,"2173":12,"2174":11,"2175":11,"2176":14,"2177":8,"2178":12,"2179":10,"2180":11,"2181":5,"2182":9,"2183":14,"2184":9,"2185":7,"2186":12,"2187":5,"2188":11,"2189":12,"2190":8,"2191":9,"2192":8,"2193":9,"2194":13},"page_id":{"1":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8":4,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":4,"16":4,"17":4,"18":4,"19":4,"20":4,"21":4,"22":4,"23":4,"24":4,"25":4,"26":4,"27":4,"28":4,"29":4,"30":4,"31":4,"32":4,"33":4,"34":4,"35":4,"36":4,"37":4,"38":4,"39":4,"40":4,"41":4,"42":4,"43":4,"44":4,"45":4,"46":4,"47":4,"48":4,"49":4,"50":4,"51":4,"52":4,"53":4,"54":4,"55":4,"56":4,"57":4,"58":4,"59":4,"60":4,"61":4,"62":4,"63":4,"64":4,"65":4,"66":4,"67":4,"68":4,"69":4,"70":4,"71":4,"72":4,"73":4,"74":4,"75":4,"76":4,"77":4,"78":4,"79":4,"80":4,"81":4,"82":4,"83":4,"84":4,"85":4,"86":4,"87":4,"88":4,"89":4,"90":4,"91":4,"92":4,"93":4,"94":4,"95":4,"96":4,"97":4,"98":4,"99":4,"100":4,"101":4,"102":4,"103":4,"104":4,"105":4,"106":4,"107":4,"108":4,"109":4,"110":4,"111":4,"112":4,"113":4,"114":4,"115":4,"116":4,"117":4,"118":4,"119":4,"120":4,"121":4,"122":4,"123":4,"124":4,"125":4,"126":4,"127":4,"128":4,"129":4,"130":4,"131":4,"132":4,"133":4,"134":4,"135":4,"136":4,"137":4,"138":4,"139":4,"140":4,"141":4,"142":4,"143":4,"144":4,"145":4,"146":4,"147":4,"148":4,"149":4,"150":4,"151":4,"152":4,"153":4,"154":4,"155":4,"156":4,"157":4,"158":4,"159":4,"160":4,"161":4,"162":4,"163":4,"164":4,"165":4,"166":4,"167":4,"168":4,"169":4,"170":4,"171":4,"172":4,"173":4,"174":4,"175":4,"176":4,"177":4,"178":4,"179":4,"180":4,"181":4,"182":4,"183":4,"184":4,"185":4,"186":4,"187":4,"188":4,"189":4,"190":4,"191":4,"192":4,"193":4,"194":4,"195":4,"196":4,"197":4,"198":4,"199":4,"200":4,"201":4,"202":4,"203":4,"204":4,"205":4,"206":4,"207":4,"208":4,"209":4,"210":4,"211":4,"212":4,"213":4,"214":4,"215":4,"216":4,"217":4,"218":4,"219":4,"220":4,"221":4,"222":4,"223":4,"224":4,"225":4,"226":4,"227":4,"228":4,"229":4,"230":4,"231":4,"232":4,"233":4,"234":4,"235":4,"236":4,"237":4,"238":4,"239":4,"240":4,"241":4,"242":4,"243":4,"244":4,"245":4,"246":4,"247":4,"248":4,"249":4,"250":4,"251":4,"252":4,"253":4,"254":4,"255":4,"256":4,"257":4,"258":4,"259":4,"260":4,"261":4,"262":4,"263":4,"264":4,"265":4,"266":4,"267":4,"268":4,"269":4,"270":4,"271":4,"272":4,"273":4,"274":4,"275":4,"276":4,"277":4,"278":4,"279":4,"280":4,"281":4,"282":4,"283":4,"284":4,"285":4,"286":4,"287":4,"288":4,"289":4,"290":4,"291":4,"292":4,"293":4,"294":4,"295":4,"296":4,"297":4,"298":4,"299":4,"300":4,"301":4,"302":4,"303":4,"304":4,"305":4,"306":4,"307":4,"308":4,"309":4,"310":4,"311":4,"312":4,"313":4,"314":4,"315":4,"316":4,"317":4,"318":4,"319":4,"320":4,"321":4,"322":4,"323":4,"324":4,"325":4,"326":4,"327":4,"328":4,"329":4,"330":4,"331":4,"332":4,"333":4,"334":4,"335":4,"336":4,"337":4,"338":4,"339":4,"340":4,"341":4,"342":4,"343":4,"344":4,"345":4,"346":4,"347":4,"348":4,"349":4,"350":4,"351":4,"352":4,"353":4,"354":4,"355":4,"356":4,"357":4,"358":4,"359":4,"360":4,"361":4,"362":4,"363":4,"364":4,"365":4,"366":4,"367":4,"368":4,"369":4,"370":4,"371":4,"372":4,"373":4,"374":4,"375":4,"376":4,"377":4,"378":4,"379":4,"380":4,"381":4,"382":4,"383":4,"384":4,"385":4,"386":4,"387":4,"388":4,"389":4,"390":4,"391":4,"392":4,"393":4,"394":4,"395":4,"396":4,"397":4,"398":4,"399":4,"400":4,"401":4,"402":4,"403":4,"404":4,"405":4,"406":4,"407":4,"408":4,"409":4,"410":4,"411":4,"412":4,"413":4,"414":4,"415":4,"416":4,"417":4,"418":4,"419":4,"420":4,"421":4,"422":4,"423":4,"424":4,"425":4,"426":4,"427":4,"428":4,"429":4,"430":4,"431":4,"432":4,"433":4,"434":4,"435":4,"436":4,"437":4,"438":4,"439":4,"440":4,"441":4,"442":4,"443":4,"444":4,"445":4,"446":4,"447":4,"448":4,"449":4,"450":4,"451":4,"452":4,"453":4,"454":4,"455":4,"456":4,"457":4,"458":4,"459":4,"460":4,"461":4,"462":4,"463":4,"464":4,"465":4,"466":4,"467":4,"468":4,"469":4,"470":4,"471":4,"472":4,"473":4,"474":4,"475":4,"476":4,"477":4,"478":4,"479":4,"480":4,"481":4,"482":4,"483":4,"484":4,"485":4,"486":4,"487":4,"488":4,"489":4,"490":4,"491":4,"492":4,"493":4,"494":4,"495":4,"496":4,"497":4,"498":4,"499":4,"500":4,"501":4,"502":4,"503":4,"504":4,"505":4,"506":4,"507":4,"508":4,"509":4,"510":4,"511":4,"512":4,"513":4,"514":4,"515":4,"516":4,"517":4,"518":4,"519":4,"520":4,"521":4,"522":4,"523":4,"524":4,"525":4,"526":4,"527":4,"528":4,"529":4,"530":4,"531":4,"532":4,"533":4,"534":4,"535":4,"536":4,"537":4,"538":4,"539":4,"540":3,"541":3,"542":3,"543":3,"544":3,"545":3,"546":3,"547":3,"548":3,"549":3,"550":3,"551":3,"552":3,"553":3,"554":3,"555":3,"556":3,"557":3,"558":3,"559":3,"560":3,"561":3,"562":3,"563":3,"564":3,"565":3,"566":3,"567":3,"568":3,"569":3,"570":3,"571":3,"572":3,"573":3,"574":3,"575":3,"576":3,"577":3,"578":3,"579":3,"580":3,"581":3,"582":3,"583":3,"584":3,"585":3,"586":3,"587":3,"588":3,"589":3,"590":3,"591":3,"592":3,"593":3,"594":3,"595":3,"596":3,"597":3,"598":3,"599":3,"600":3,"601":3,"602":3,"603":3,"604":3,"605":3,"606":3,"607":3,"608":3,"609":3,"610":3,"611":3,"612":3,"613":3,"614":3,"615":3,"616":3,"617":3,"618":3,"619":3,"620":3,"621":3,"622":3,"623":3,"624":3,"625":3,"626":3,"627":3,"628":3,"629":3,"630":3,"631":3,"632":3,"633":3,"634":3,"635":3,"636":3,"637":3,"638":3,"639":3,"640":3,"641":3,"642":3,"643":3,"644":3,"645":3,"646":3,"647":3,"648":3,"649":3,"650":3,"651":3,"652":3,"653":3,"654":3,"655":3,"656":3,"657":3,"658":3,"659":3,"660":3,"661":3,"662":3,"663":3,"664":3,"665":3,"666":3,"667":3,"668":3,"669":3,"670":3,"671":3,"672":3,"673":3,"674":3,"675":3,"676":3,"677":3,"678":3,"679":3,"680":3,"681":3,"682":3,"683":3,"684":3,"685":3,"686":3,"687":3,"688":3,"689":3,"690":3,"691":3,"692":3,"693":3,"694":3,"695":3,"696":3,"697":3,"698":3,"699":3,"700":3,"701":3,"702":3,"703":3,"704":3,"705":3,"706":3,"707":3,"708":3,"709":3,"710":3,"711":3,"712":3,"713":3,"714":3,"715":3,"716":3,"717":3,"718":3,"719":3,"720":3,"721":3,"722":3,"723":3,"724":3,"725":3,"726":3,"727":3,"728":3,"729":3,"730":3,"731":3,"732":3,"733":3,"734":3,"735":3,"736":3,"737":3,"738":3,"739":3,"740":3,"741":3,"742":3,"743":3,"744":3,"745":3,"746":3,"747":3,"748":3,"749":3,"750":3,"751":3,"752":3,"753":3,"754":3,"755":3,"756":3,"757":3,"758":3,"759":3,"760":3,"761":3,"762":3,"763":3,"764":3,"765":3,"766":3,"767":3,"768":3,"769":3,"770":3,"771":3,"772":3,"773":3,"774":3,"775":3,"776":3,"777":3,"778":3,"779":3,"780":3,"781":3,"782":3,"783":3,"784":3,"785":3,"786":3,"787":3,"788":3,"789":3,"790":3,"791":3,"792":3,"793":3,"794":3,"795":3,"796":3,"797":3,"798":3,"799":3,"800":3,"801":3,"802":3,"803":3,"804":3,"805":3,"806":3,"807":3,"808":3,"809":3,"810":3,"811":3,"812":3,"813":3,"814":3,"815":3,"816":3,"817":3,"818":3,"819":3,"820":3,"821":3,"822":3,"823":3,"824":3,"825":3,"826":3,"827":3,"828":3,"829":3,"830":3,"831":3,"832":3,"833":3,"834":3,"835":3,"836":3,"837":3,"838":3,"839":3,"840":3,"841":3,"842":3,"843":3,"844":3,"845":3,"846":3,"847":3,"848":3,"849":3,"850":3,"851":3,"852":3,"853":3,"854":3,"855":3,"856":3,"857":3,"858":3,"859":3,"860":3,"861":3,"862":3,"863":3,"864":3,"865":3,"866":3,"867":3,"868":3,"869":3,"870":3,"871":3,"872":3,"873":3,"874":3,"875":3,"876":3,"877":3,"878":3,"879":3,"880":3,"881":3,"882":3,"883":3,"884":3,"885":3,"886":3,"887":3,"888":3,"889":3,"890":3,"891":3,"892":3,"893":3,"894":3,"895":3,"896":3,"897":3,"898":3,"899":3,"900":3,"901":3,"902":3,"903":3,"904":3,"905":3,"906":3,"907":3,"908":3,"909":3,"910":3,"911":3,"912":3,"913":3,"914":3,"915":3,"916":3,"917":3,"918":3,"919":3,"920":3,"921":3,"922":3,"923":3,"924":3,"925":3,"926":3,"927":3,"928":3,"929":3,"930":3,"931":3,"932":3,"933":3,"934":3,"935":3,"936":3,"937":3,"938":3,"939":3,"940":3,"941":3,"942":3,"943":3,"944":3,"945":3,"946":3,"947":3,"948":3,"949":3,"950":3,"951":3,"952":3,"953":3,"954":3,"955":3,"956":3,"957":3,"958":3,"959":3,"960":3,"961":3,"962":3,"963":3,"964":3,"965":3,"966":3,"967":3,"968":3,"969":3,"970":3,"971":3,"972":3,"973":3,"974":3,"975":3,"976":3,"977":3,"978":3,"979":3,"980":3,"981":3,"982":3,"983":3,"984":3,"985":3,"986":3,"987":3,"988":3,"989":3,"990":3,"991":3,"992":3,"993":3,"994":3,"995":3,"996":3,"997":3,"998":3,"999":3,"1000":3,"1001":3,"1002":3,"1003":3,"1004":3,"1005":3,"1006":3,"1007":3,"1008":3,"1009":3,"1010":3,"1011":3,"1012":3,"1013":3,"1014":3,"1015":3,"1016":3,"1017":3,"1018":3,"1019":3,"1020":3,"1021":3,"1022":3,"1023":3,"1024":3,"1025":3,"1026":3,"1027":3,"1028":3,"1029":3,"1030":3,"1031":3,"1032":3,"1033":3,"1034":3,"1035":3,"1036":3,"1037":3,"1038":3,"1039":3,"1040":3,"1041":3,"1042":3,"1043":3,"1044":3,"1045":3,"1046":3,"1047":3,"1048":3,"1049":3,"1050":3,"1051":3,"1052":3,"1053":3,"1054":3,"1055":3,"1056":3,"1057":3,"1058":3,"1059":3,"1060":3,"1061":3,"1062":3,"1063":3,"1064":3,"1065":3,"1066":3,"1067":3,"1068":3,"1069":3,"1070":3,"1071":3,"1072":3,"1073":3,"1074":3,"1075":3,"1076":3,"1077":3,"1078":3,"1079":3,"1080":3,"1081":3,"1082":3,"1083":3,"1084":3,"1085":3,"1086":3,"1087":3,"1088":3,"1089":3,"1090":3,"1091":3,"1092":3,"1093":3,"1094":3,"1095":3,"1096":3,"1097":3,"1098":3,"1099":3,"1100":3,"1101":3,"1102":3,"1103":3,"1104":3,"1105":3,"1106":3,"1107":3,"1108":3,"1109":3,"1110":3,"1111":3,"1112":3,"1113":3,"1114":3,"1115":3,"1116":3,"1117":3,"1118":3,"1119":3,"1120":3,"1121":3,"1122":3,"1123":3,"1124":3,"1125":3,"1126":3,"1127":3,"1128":3,"1129":3,"1130":3,"1131":3,"1132":3,"1133":3,"1134":3,"1135":3,"1136":3,"1137":3,"1138":3,"1139":3,"1140":3,"1141":3,"1142":3,"1143":3,"1144":3,"1145":3,"1146":3,"1147":3,"1148":3,"1149":4,"1150":4,"1151":4,"1152":4,"1153":4,"1154":4,"1155":4,"1156":4,"1157":4,"1158":4,"1159":4,"1160":4,"1161":4,"1162":4,"1163":4,"1164":4,"1165":4,"1166":4,"1167":4,"1168":4,"1169":4,"1170":4,"1171":4,"1172":4,"1173":4,"1174":4,"1175":4,"1176":4,"1177":4,"1178":4,"1179":4,"1180":4,"1181":4,"1182":4,"1183":4,"1184":4,"1185":4,"1186":4,"1187":4,"1188":4,"1189":4,"1190":4,"1191":4,"1192":4,"1193":4,"1194":4,"1195":4,"1196":4,"1197":4,"1198":4,"1199":4,"1200":4,"1201":4,"1202":4,"1203":4,"1204":4,"1205":4,"1206":4,"1207":4,"1208":4,"1209":4,"1210":4,"1211":4,"1212":4,"1213":4,"1214":4,"1215":4,"1216":4,"1217":4,"1218":4,"1219":4,"1220":4,"1221":4,"1222":4,"1223":4,"1224":4,"1225":4,"1226":4,"1227":4,"1228":4,"1229":4,"1230":4,"1231":4,"1232":4,"1233":4,"1234":4,"1235":4,"1236":4,"1237":4,"1238":4,"1239":4,"1240":4,"1241":4,"1242":4,"1243":4,"1244":4,"1245":4,"1246":4,"1247":4,"1248":4,"1249":4,"1250":4,"1251":4,"1252":4,"1253":4,"1254":4,"1255":4,"1256":4,"1257":4,"1258":4,"1259":4,"1260":4,"1261":4,"1262":4,"1263":4,"1264":4,"1265":4,"1266":4,"1267":4,"1268":4,"1269":4,"1270":4,"1271":4,"1272":4,"1273":4,"1274":4,"1275":4,"1276":4,"1277":4,"1278":4,"1279":4,"1280":4,"1281":4,"1282":4,"1283":4,"1284":4,"1285":4,"1286":4,"1287":4,"1288":4,"1289":4,"1290":4,"1291":4,"1292":4,"1293":4,"1294":4,"1295":4,"1296":4,"1297":4,"1298":4,"1299":4,"1300":4,"1301":4,"1302":4,"1303":4,"1304":4,"1305":4,"1306":4,"1307":4,"1308":4,"1309":4,"1310":4,"1311":4,"1312":4,"1313":4,"1314":4,"1315":4,"1316":4,"1317":4,"1318":4,"1319":4,"1320":4,"1321":4,"1322":4,"1323":4,"1324":4,"1325":4,"1326":4,"1327":4,"1328":4,"1329":4,"1330":4,"1331":4,"1332":4,"1333":4,"1334":4,"1335":4,"1336":4,"1337":4,"1338":4,"1339":4,"1340":4,"1341":4,"1342":4,"1343":4,"1344":4,"1345":4,"1346":4,"1347":4,"1348":4,"1349":4,"1350":3,"1351":3,"1352":3,"1353":3,"1354":3,"1355":3,"1356":3,"1357":3,"1358":3,"1359":3,"1360":3,"1361":3,"1362":4,"1363":4,"1364":4,"1365":4,"1366":4,"1367":4,"1368":4,"1369":4,"1370":4,"1371":4,"1372":4,"1373":4,"1374":4,"1375":4,"1376":4,"1377":4,"1378":4,"1379":4,"1380":4,"1381":4,"1382":4,"1383":4,"1384":4,"1385":4,"1386":4,"1387":4,"1388":4,"1389":4,"1390":4,"1391":4,"1392":4,"1393":4,"1394":4,"1395":4,"1396":4,"1397":4,"1398":4,"1399":4,"1400":4,"1401":4,"1402":4,"1403":4,"1404":4,"1405":4,"1406":4,"1407":4,"1408":4,"1409":4,"1410":4,"1411":4,"1412":4,"1413":4,"1414":4,"1415":4,"1416":4,"1417":4,"1418":4,"1419":4,"1420":4,"1421":4,"1422":4,"1423":4,"1424":4,"1425":4,"1426":4,"1427":4,"1428":4,"1429":4,"1430":4,"1431":4,"1432":4,"1433":4,"1434":4,"1435":4,"1436":4,"1437":4,"1438":4,"1439":4,"1440":4,"1441":4,"1442":4,"1443":4,"1444":4,"1445":4,"1446":4,"1447":4,"1448":4,"1449":4,"1450":4,"1451":4,"1452":4,"1453":4,"1454":4,"1455":4,"1456":4,"1457":3,"1458":3,"1459":3,"1460":3,"1461":3,"1462":3,"1463":3,"1464":3,"1465":3,"1466":3,"1467":3,"1468":3,"1469":3,"1470":3,"1471":3,"1472":3,"1473":3,"1474":3,"1475":3,"1476":3,"1477":3,"1478":3,"1479":3,"1480":3,"1481":3,"1482":3,"1483":3,"1484":3,"1485":3,"1486":3,"1487":3,"1488":3,"1489":3,"1490":3,"1491":3,"1492":3,"1493":3,"1494":3,"1495":3,"1496":3,"1497":3,"1498":3,"1499":3,"1500":3,"1501":3,"1502":3,"1503":3,"1504":3,"1505":3,"1506":3,"1507":3,"1508":3,"1509":3,"1510":3,"1511":3,"1512":3,"1513":3,"1514":3,"1515":3,"1516":3,"1517":3,"1518":3,"1519":3,"1520":3,"1521":3,"1522":3,"1523":3,"1524":3,"1525":3,"1526":3,"1527":3,"1528":3,"1529":3,"1530":3,"1531":3,"1532":3,"1533":3,"1534":3,"1535":3,"1536":3,"1537":3,"1538":3,"1539":3,"1540":3,"1541":3,"1542":3,"1543":3,"1544":3,"1545":3,"1546":3,"1547":3,"1548":3,"1549":3,"1550":3,"1551":3,"1552":3,"1553":3,"1554":3,"1555":3,"1556":3,"1557":3,"1558":3,"1559":3,"1560":3,"1561":3,"1562":3,"1563":3,"1564":3,"1565":3,"1566":3,"1567":3,"1568":3,"1569":3,"1570":3,"1571":3,"1572":3,"1573":3,"1574":3,"1575":3,"1576":3,"1577":3,"1578":3,"1579":3,"1580":3,"1581":3,"1582":3,"1583":3,"1584":3,"1585":3,"1586":3,"1587":3,"1588":3,"1589":3,"1590":3,"1591":3,"1592":3,"1593":3,"1594":3,"1595":3,"1596":3,"1597":3,"1598":3,"1599":3,"1600":3,"1601":3,"1602":3,"1603":3,"1604":3,"1605":3,"1606":3,"1607":3,"1608":3,"1609":3,"1610":3,"1611":3,"1612":3,"1613":3,"1614":3,"1615":3,"1616":3,"1617":3,"1618":3,"1619":3,"1620":3,"1621":3,"1622":3,"1623":3,"1624":3,"1625":3,"1626":3,"1627":3,"1628":3,"1629":3,"1630":3,"1631":3,"1632":3,"1633":3,"1634":3,"1635":3,"1636":3,"1637":3,"1638":3,"1639":3,"1640":3,"1641":3,"1642":3,"1643":3,"1644":3,"1645":3,"1646":3,"1647":3,"1648":3,"1649":3,"1650":3,"1651":3,"1652":3,"1653":3,"1654":3,"1655":3,"1656":3,"1657":3,"1658":3,"1659":3,"1660":3,"1661":3,"1662":3,"1663":3,"1664":3,"1665":3,"1666":3,"1667":3,"1668":3,"1669":3,"1670":3,"1671":3,"1672":3,"1673":3,"1674":3,"1675":3,"1676":3,"1677":3,"1678":3,"1679":3,"1680":3,"1681":3,"1682":3,"1683":3,"1684":3,"1685":3,"1686":3,"1687":3,"1688":3,"1689":3,"1690":3,"1691":3,"1692":3,"1693":3,"1694":3,"1695":3,"1696":3,"1697":3,"1698":3,"1699":3,"1700":3,"1701":3,"1702":3,"1703":3,"1704":3,"1705":3,"1706":3,"1707":3,"1708":3,"1709":3,"1710":3,"1711":3,"1712":3,"1713":3,"1714":3,"1715":3,"1716":3,"1717":3,"1718":3,"1719":3,"1720":3,"1721":3,"1722":3,"1723":3,"1724":3,"1725":3,"1726":3,"1727":3,"1728":3,"1729":3,"1730":3,"1731":3,"1732":3,"1733":3,"1734":3,"1735":3,"1736":3,"1737":3,"1738":3,"1739":3,"1740":3,"1741":3,"1742":3,"1743":3,"1744":3,"1745":3,"1746":3,"1747":3,"1748":3,"1749":3,"1750":3,"1751":3,"1752":3,"1753":3,"1754":3,"1755":3,"1756":3,"1757":3,"1758":3,"1759":3,"1760":3,"1761":3,"1762":3,"1763":3,"1764":3,"1765":3,"1766":3,"1767":3,"1768":3,"1769":3,"1770":3,"1771":3,"1772":3,"1773":3,"1774":3,"1775":3,"1776":3,"1777":3,"1778":3,"1779":3,"1780":3,"1781":3,"1782":1,"1783":1,"1784":1,"1785":1,"1786":1,"1787":1,"1788":1,"1789":1,"1790":1,"1791":1,"1792":1,"1793":1,"1794":1,"1795":1,"1796":1,"1797":1,"1798":1,"1799":1,"1800":1,"1801":1,"1802":1,"1803":1,"1804":1,"1805":1,"1806":1,"1807":1,"1808":1,"1809":1,"1810":1,"1811":1,"1812":1,"1813":1,"1814":1,"1815":1,"1816":1,"1817":1,"1818":1,"1819":1,"1820":1,"1821":1,"1822":1,"1823":1,"1824":1,"1825":1,"1826":1,"1827":1,"1828":1,"1829":1,"1830":1,"1831":1,"1832":1,"1833":1,"1834":1,"1835":1,"1836":1,"1837":1,"1838":1,"1839":1,"1840":1,"1841":1,"1842":1,"1843":1,"1844":1,"1845":1,"1846":1,"1847":1,"1848":3,"1849":3,"1850":3,"1851":3,"1852":3,"1853":3,"1854":3,"1855":3,"1856":3,"1857":3,"1858":3,"1859":3,"1860":3,"1861":3,"1862":3,"1863":3,"1864":3,"1865":3,"1866":3,"1867":3,"1868":3,"1869":3,"1870":3,"1871":3,"1872":3,"1873":3,"1874":3,"1875":3,"1876":3,"1877":3,"1878":3,"1879":3,"1880":3,"1881":3,"1882":3,"1883":3,"1884":3,"1885":3,"1886":3,"1887":3,"1888":3,"1889":3,"1890":3,"1891":3,"1892":3,"1893":3,"1894":3,"1895":3,"1896":3,"1897":3,"1898":3,"1899":3,"1900":3,"1901":3,"1902":3,"1903":3,"1904":3,"1905":3,"1906":3,"1907":3,"1908":3,"1909":3,"1910":3,"1911":3,"1912":3,"1913":3,"1914":3,"1915":3,"1916":3,"1917":3,"1918":3,"1919":3,"1920":3,"1921":3,"1922":3,"1923":3,"1924":3,"1925":3,"1926":3,"1927":3,"1928":3,"1929":3,"1930":3,"1931":3,"1932":3,"1933":3,"1934":3,"1935":3,"1936":3,"1937":3,"1938":3,"1939":3,"1940":3,"1941":3,"1942":3,"1943":3,"1944":3,"1945":3,"1946":3,"1947":3,"1948":3,"1949":3,"1950":3,"1951":3,"1952":3,"1953":3,"1954":3,"1955":3,"1956":3,"1957":3,"1958":3,"1959":3,"1960":3,"1961":3,"1962":3,"1963":3,"1964":3,"1965":3,"1966":3,"1967":3,"1968":3,"1969":3,"1970":3,"1971":3,"1972":3,"1973":3,"1974":3,"1975":3,"1976":3,"1977":3,"1978":3,"1979":3,"1980":3,"1981":3,"1982":3,"1983":3,"1984":3,"1985":3,"1986":3,"1987":3,"1988":3,"1989":3,"1990":3,"1991":3,"1992":3,"1993":3,"1994":3,"1995":3,"1996":3,"1997":3,"1998":3,"1999":3,"2000":3,"2001":3,"2002":3,"2003":3,"2004":3,"2005":3,"2006":3,"2007":3,"2008":3,"2009":3,"2010":3,"2011":3,"2012":3,"2013":3,"2014":3,"2015":3,"2016":3,"2017":3,"2018":3,"2019":3,"2020":3,"2021":3,"2022":3,"2023":3,"2024":3,"2025":3,"2026":3,"2027":3,"2028":3,"2029":3,"2030":3,"2031":3,"2032":3,"2033":3,"2034":3,"2035":3,"2036":3,"2037":3,"2038":3,"2039":3,"2040":3,"2041":3,"2042":3,"2043":3,"2044":3,"2045":3,"2046":3,"2047":3,"2048":3,"2049":3,"2050":3,"2051":3,"2052":3,"2053":3,"2054":3,"2055":3,"2056":3,"2057":3,"2058":3,"2059":3,"2060":3,"2061":3,"2062":3,"2063":3,"2064":3,"2065":3,"2066":3,"2067":3,"2068":3,"2069":3,"2070":3,"2071":3,"2072":3,"2073":3,"2074":3,"2075":3,"2076":3,"2077":3,"2078":3,"2079":3,"2080":3,"2081":3,"2082":3,"2083":3,"2084":3,"2085":3,"2086":3,"2087":3,"2088":3,"2089":3,"2090":3,"2091":3,"2092":3,"2093":3,"2094":3,"2095":3,"2096":3,"2097":3,"2098":3,"2099":3,"2100":3,"2101":3,"2102":3,"2103":3,"2104":3,"2105":3,"2106":3,"2107":3,"2108":3,"2109":3,"2110":3,"2111":3,"2112":3,"2113":3,"2114":3,"2115":3,"2116":3,"2117":3,"2118":3,"2119":3,"2120":3,"2121":3,"2122":3,"2123":3,"2124":3,"2125":3,"2126":3,"2127":3,"2128":3,"2129":3,"2130":3,"2131":3,"2132":3,"2133":3,"2134":3,"2135":3,"2136":3,"2137":3,"2138":3,"2139":3,"2140":3,"2141":3,"2142":3,"2143":3,"2144":3,"2145":3,"2146":3,"2147":3,"2148":3,"2149":3,"2150":3,"2151":3,"2152":3,"2153":3,"2154":3,"2155":3,"2156":3,"2157":3,"2158":3,"2159":3,"2160":3,"2161":3,"2162":3,"2163":3,"2164":3,"2165":3,"2166":3,"2167":3,"2168":3,"2169":3,"2170":3,"2171":3,"2172":3,"2173":3,"2174":3,"2175":3,"2176":3,"2177":3,"2178":3,"2179":3,"2180":3,"2181":3,"2182":3,"2183":3,"2184":3,"2185":3,"2186":3,"2187":3,"2188":3,"2189":3,"2190":3,"2191":3,"2192":3,"2193":3,"2194":3},"type":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1,"298":1,"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"351":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1,"387":1,"388":1,"389":1,"390":1,"391":1,"392":1,"393":1,"394":1,"395":1,"396":1,"397":1,"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"412":1,"413":1,"414":1,"415":1,"416":1,"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1,"425":1,"426":1,"427":1,"428":1,"429":1,"430":1,"431":1,"432":1,"433":1,"434":1,"435":1,"436":1,"437":1,"438":1,"439":1,"440":1,"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1,"461":1,"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":1,"469":1,"470":1,"471":1,"472":1,"473":1,"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1,"484":1,"485":1,"486":1,"487":1,"488":1,"489":1,"490":1,"491":1,"492":1,"493":1,"494":1,"495":1,"496":1,"497":1,"498":1,"499":1,"500":1,"501":1,"502":1,"503":1,"504":1,"505":1,"506":1,"507":1,"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"516":1,"517":1,"518":1,"519":1,"520":1,"521":1,"522":1,"523":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1,"538":1,"539":1,"540":1,"541":1,"542":1,"543":1,"544":1,"545":1,"546":1,"547":1,"548":1,"549":1,"550":1,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1,"557":1,"558":1,"559":1,"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1,"570":1,"571":1,"572":1,"573":1,"574":1,"575":1,"576":1,"577":1,"578":1,"579":1,"580":1,"581":1,"582":1,"583":1,"584":1,"585":1,"586":1,"587":1,"588":1,"589":1,"590":1,"591":1,"592":1,"593":1,"594":1,"595":1,"596":1,"597":1,"598":1,"599":1,"600":1,"601":1,"602":1,"603":1,"604":1,"605":1,"606":1,"607":1,"608":1,"609":1,"610":1,"611":1,"612":1,"613":1,"614":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":1,"627":1,"628":1,"629":1,"630":1,"631":1,"632":1,"633":1,"634":1,"635":1,"636":1,"637":1,"638":1,"639":1,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"648":1,"649":1,"650":1,"651":1,"652":1,"653":1,"654":1,"655":1,"656":1,"657":1,"658":1,"659":1,"660":1,"661":1,"662":1,"663":1,"664":1,"665":1,"666":1,"667":1,"668":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"675":1,"676":1,"677":1,"678":1,"679":1,"680":1,"681":1,"682":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1,"693":1,"694":1,"695":1,"696":1,"697":1,"698":1,"699":1,"700":1,"701":1,"702":1,"703":1,"704":1,"705":1,"706":1,"707":1,"708":1,"709":1,"710":1,"711":1,"712":1,"713":1,"714":1,"715":1,"716":1,"717":1,"718":1,"719":1,"720":1,"721":1,"722":1,"723":1,"724":1,"725":1,"726":1,"727":1,"728":1,"729":1,"730":1,"731":1,"732":1,"733":1,"734":1,"735":1,"736":1,"737":1,"738":1,"739":1,"740":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1,"747":1,"748":1,"749":1,"750":1,"751":1,"752":1,"753":1,"754":1,"755":1,"756":1,"757":1,"758":1,"759":1,"760":1,"761":1,"762":1,"763":1,"764":1,"765":1,"766":1,"767":1,"768":1,"769":1,"770":1,"771":1,"772":1,"773":1,"774":1,"775":1,"776":1,"777":1,"778":1,"779":1,"780":1,"781":1,"782":1,"783":1,"784":1,"785":1,"786":1,"787":1,"788":1,"789":1,"790":1,"791":1,"792":1,"793":1,"794":1,"795":1,"796":1,"797":1,"798":1,"799":1,"800":1,"801":1,"802":1,"803":1,"804":1,"805":1,"806":1,"807":1,"808":1,"809":1,"810":1,"811":1,"812":1,"813":1,"814":1,"815":1,"816":1,"817":1,"818":1,"819":1,"820":1,"821":1,"822":1,"823":1,"824":1,"825":1,"826":1,"827":1,"828":1,"829":1,"830":1,"831":1,"832":1,"833":1,"834":1,"835":1,"836":1,"837":1,"838":1,"839":1,"840":1,"841":1,"842":1,"843":1,"844":1,"845":1,"846":1,"847":1,"848":1,"849":1,"850":1,"851":1,"852":1,"853":1,"854":1,"855":1,"856":1,"857":1,"858":1,"859":1,"860":1,"861":1,"862":1,"863":1,"864":1,"865":1,"866":1,"867":1,"868":1,"869":1,"870":1,"871":1,"872":1,"873":1,"874":1,"875":1,"876":1,"877":1,"878":1,"879":1,"880":1,"881":1,"882":1,"883":1,"884":1,"885":1,"886":1,"887":1,"888":1,"889":1,"890":1,"891":1,"892":1,"893":1,"894":1,"895":1,"896":1,"897":1,"898":1,"899":1,"900":1,"901":1,"902":1,"903":1,"904":1,"905":1,"906":1,"907":1,"908":1,"909":1,"910":1,"911":1,"912":1,"913":1,"914":1,"915":1,"916":1,"917":1,"918":1,"919":1,"920":1,"921":1,"922":1,"923":1,"924":1,"925":1,"926":1,"927":1,"928":1,"929":1,"930":1,"931":1,"932":1,"933":1,"934":1,"935":1,"936":1,"937":1,"938":1,"939":1,"940":1,"941":1,"942":1,"943":1,"944":1,"945":1,"946":1,"947":1,"948":1,"949":1,"950":1,"951":1,"952":1,"953":1,"954":1,"955":1,"956":1,"957":1,"958":1,"959":1,"960":1,"961":1,"962":1,"963":1,"964":1,"965":1,"966":1,"967":1,"968":1,"969":1,"970":1,"971":1,"972":1,"973":1,"974":1,"975":1,"976":1,"977":1,"978":1,"979":1,"980":1,"981":1,"982":1,"983":1,"984":1,"985":1,"986":1,"987":1,"988":1,"989":1,"990":1,"991":1,"992":1,"993":1,"994":1,"995":1,"996":1,"997":1,"998":1,"999":1,"1000":1,"1001":1,"1002":1,"1003":1,"1004":1,"1005":1,"1006":1,"1007":1,"1008":1,"1009":1,"1010":1,"1011":1,"1012":1,"1013":1,"1014":1,"1015":1,"1016":1,"1017":1,"1018":1,"1019":1,"1020":1,"1021":1,"1022":1,"1023":1,"1024":1,"1025":1,"1026":1,"1027":1,"1028":1,"1029":1,"1030":1,"1031":1,"1032":1,"1033":1,"1034":1,"1035":1,"1036":1,"1037":1,"1038":1,"1039":1,"1040":1,"1041":1,"1042":1,"1043":1,"1044":1,"1045":1,"1046":1,"1047":1,"1048":1,"1049":1,"1050":1,"1051":1,"1052":1,"1053":1,"1054":1,"1055":1,"1056":1,"1057":1,"1058":1,"1059":1,"1060":1,"1061":1,"1062":1,"1063":1,"1064":1,"1065":1,"1066":1,"1067":1,"1068":1,"1069":1,"1070":1,"1071":1,"1072":1,"1073":1,"1074":1,"1075":1,"1076":1,"1077":1,"1078":1,"1079":1,"1080":1,"1081":1,"1082":1,"1083":1,"1084":1,"1085":1,"1086":1,"1087":1,"1088":1,"1089":1,"1090":1,"1091":1,"1092":1,"1093":1,"1094":1,"1095":1,"1096":1,"1097":1,"1098":1,"1099":1,"1100":1,"1101":1,"1102":1,"1103":1,"1104":1,"1105":1,"1106":1,"1107":1,"1108":1,"1109":1,"1110":1,"1111":1,"1112":1,"1113":1,"1114":1,"1115":1,"1116":1,"1117":1,"1118":1,"1119":1,"1120":1,"1121":1,"1122":1,"1123":1,"1124":1,"1125":1,"1126":1,"1127":1,"1128":1,"1129":1,"1130":1,"1131":1,"1132":1,"1133":1,"1134":1,"1135":1,"1136":1,"1137":1,"1138":1,"1139":1,"1140":1,"1141":1,"1142":1,"1143":1,"1144":1,"1145":1,"1146":1,"1147":1,"1148":1,"1149":1,"1150":1,"1151":1,"1152":1,"1153":1,"1154":1,"1155":1,"1156":1,"1157":1,"1158":1,"1159":1,"1160":1,"1161":1,"1162":1,"1163":1,"1164":1,"1165":1,"1166":1,"1167":1,"1168":1,"1169":1,"1170":1,"1171":1,"1172":1,"1173":1,"1174":1,"1175":1,"1176":1,"1177":1,"1178":1,"1179":1,"1180":1,"1181":1,"1182":1,"1183":1,"1184":1,"1185":1,"1186":1,"1187":1,"1188":1,"1189":1,"1190":1,"1191":1,"1192":1,"1193":1,"1194":1,"1195":1,"1196":1,"1197":1,"1198":1,"1199":1,"1200":1,"1201":1,"1202":1,"1203":1,"1204":1,"1205":1,"1206":1,"1207":1,"1208":1,"1209":1,"1210":1,"1211":1,"1212":1,"1213":1,"1214":1,"1215":1,"1216":1,"1217":1,"1218":1,"1219":1,"1220":1,"1221":1,"1222":1,"1223":1,"1224":1,"1225":1,"1226":1,"1227":1,"1228":1,"1229":1,"1230":1,"1231":1,"1232":1,"1233":1,"1234":1,"1235":1,"1236":1,"1237":1,"1238":1,"1239":1,"1240":1,"1241":1,"1242":1,"1243":1,"1244":1,"1245":1,"1246":1,"1247":1,"1248":1,"1249":1,"1250":1,"1251":1,"1252":1,"1253":1,"1254":1,"1255":1,"1256":1,"1257":1,"1258":1,"1259":1,"1260":1,"1261":1,"1262":1,"1263":1,"1264":1,"1265":1,"1266":1,"1267":1,"1268":1,"1269":1,"1270":1,"1271":1,"1272":1,"1273":1,"1274":1,"1275":1,"1276":1,"1277":1,"1278":1,"1279":1,"1280":1,"1281":1,"1282":1,"1283":1,"1284":1,"1285":1,"1286":1,"1287":1,"1288":1,"1289":1,"1290":1,"1291":1,"1292":1,"1293":1,"1294":1,"1295":1,"1296":1,"1297":1,"1298":1,"1299":1,"1300":1,"1301":1,"1302":1,"1303":1,"1304":1,"1305":1,"1306":1,"1307":1,"1308":1,"1309":1,"1310":1,"1311":1,"1312":1,"1313":1,"1314":1,"1315":1,"1316":1,"1317":1,"1318":1,"1319":1,"1320":1,"1321":1,"1322":1,"1323":1,"1324":1,"1325":1,"1326":1,"1327":1,"1328":1,"1329":1,"1330":1,"1331":1,"1332":1,"1333":1,"1334":1,"1335":1,"1336":1,"1337":1,"1338":1,"1339":1,"1340":1,"1341":1,"1342":1,"1343":1,"1344":1,"1345":1,"1346":1,"1347":1,"1348":1,"1349":1,"1350":1,"1351":1,"1352":1,"1353":1,"1354":1,"1355":1,"1356":1,"1357":1,"1358":1,"1359":1,"1360":1,"1361":1,"1362":1,"1363":1,"1364":1,"1365":1,"1366":1,"1367":1,"1368":1,"1369":1,"1370":1,"1371":1,"1372":1,"1373":1,"1374":1,"1375":1,"1376":1,"1377":1,"1378":1,"1379":1,"1380":1,"1381":1,"1382":1,"1383":1,"1384":1,"1385":1,"1386":1,"1387":1,"1388":1,"1389":1,"1390":1,"1391":1,"1392":1,"1393":1,"1394":1,"1395":1,"1396":1,"1397":1,"1398":1,"1399":1,"1400":1,"1401":1,"1402":1,"1403":1,"1404":1,"1405":1,"1406":1,"1407":1,"1408":1,"1409":1,"1410":1,"1411":1,"1412":1,"1413":1,"1414":1,"1415":1,"1416":1,"1417":1,"1418":1,"1419":1,"1420":1,"1421":1,"1422":1,"1423":1,"1424":1,"1425":1,"1426":1,"1427":1,"1428":1,"1429":1,"1430":1,"1431":1,"1432":1,"1433":1,"1434":1,"1435":1,"1436":1,"1437":1,"1438":1,"1439":1,"1440":1,"1441":1,"1442":1,"1443":1,"1444":1,"1445":1,"1446":1,"1447":1,"1448":1,"1449":1,"1450":1,"1451":1,"1452":1,"1453":1,"1454":1,"1455":1,"1456":1,"1457":1,"1458":1,"1459":1,"1460":1,"1461":1,"1462":1,"1463":1,"1464":1,"1465":1,"1466":1,"1467":1,"1468":1,"1469":1,"1470":1,"1471":1,"1472":1,"1473":1,"1474":1,"1475":1,"1476":1,"1477":1,"1478":1,"1479":1,"1480":1,"1481":1,"1482":1,"1483":1,"1484":1,"1485":1,"1486":1,"1487":1,"1488":1,"1489":1,"1490":1,"1491":1,"1492":1,"1493":1,"1494":1,"1495":1,"1496":1,"1497":1,"1498":1,"1499":1,"1500":1,"1501":1,"1502":1,"1503":1,"1504":1,"1505":1,"1506":1,"1507":1,"1508":1,"1509":1,"1510":1,"1511":1,"1512":1,"1513":1,"1514":1,"1515":1,"1516":1,"1517":1,"1518":1,"1519":1,"1520":1,"1521":1,"1522":1,"1523":1,"1524":1,"1525":1,"1526":1,"1527":1,"1528":1,"1529":1,"1530":1,"1531":1,"1532":1,"1533":1,"1534":1,"1535":1,"1536":1,"1537":1,"1538":1,"1539":1,"1540":1,"1541":1,"1542":1,"1543":1,"1544":1,"1545":1,"1546":1,"1547":1,"1548":1,"1549":1,"1550":1,"1551":1,"1552":1,"1553":1,"1554":1,"1555":1,"1556":1,"1557":1,"1558":1,"1559":1,"1560":1,"1561":1,"1562":1,"1563":1,"1564":1,"1565":1,"1566":1,"1567":1,"1568":1,"1569":1,"1570":1,"1571":1,"1572":1,"1573":1,"1574":1,"1575":1,"1576":1,"1577":1,"1578":1,"1579":1,"1580":1,"1581":1,"1582":1,"1583":1,"1584":1,"1585":1,"1586":1,"1587":1,"1588":1,"1589":1,"1590":1,"1591":1,"1592":1,"1593":1,"1594":1,"1595":1,"1596":1,"1597":1,"1598":1,"1599":1,"1600":1,"1601":1,"1602":1,"1603":1,"1604":1,"1605":1,"1606":1,"1607":1,"1608":1,"1609":1,"1610":1,"1611":1,"1612":1,"1613":1,"1614":1,"1615":1,"1616":1,"1617":1,"1618":1,"1619":1,"1620":1,"1621":1,"1622":1,"1623":1,"1624":1,"1625":1,"1626":1,"1627":1,"1628":1,"1629":1,"1630":1,"1631":1,"1632":1,"1633":1,"1634":1,"1635":1,"1636":1,"1637":1,"1638":1,"1639":1,"1640":1,"1641":1,"1642":1,"1643":1,"1644":1,"1645":1,"1646":1,"1647":1,"1648":1,"1649":1,"1650":1,"1651":1,"1652":1,"1653":1,"1654":1,"1655":1,"1656":1,"1657":1,"1658":1,"1659":1,"1660":1,"1661":1,"1662":1,"1663":1,"1664":1,"1665":1,"1666":1,"1667":1,"1668":1,"1669":1,"1670":1,"1671":1,"1672":1,"1673":1,"1674":1,"1675":1,"1676":1,"1677":1,"1678":1,"1679":1,"1680":1,"1681":1,"1682":1,"1683":1,"1684":1,"1685":1,"1686":1,"1687":1,"1688":1,"1689":1,"1690":1,"1691":1,"1692":1,"1693":1,"1694":1,"1695":1,"1696":1,"1697":1,"1698":1,"1699":1,"1700":1,"1701":1,"1702":1,"1703":1,"1704":1,"1705":1,"1706":1,"1707":1,"1708":1,"1709":1,"1710":1,"1711":1,"1712":1,"1713":1,"1714":1,"1715":1,"1716":1,"1717":1,"1718":1,"1719":1,"1720":1,"1721":1,"1722":1,"1723":1,"1724":1,"1725":1,"1726":1,"1727":1,"1728":1,"1729":1,"1730":1,"1731":1,"1732":1,"1733":1,"1734":1,"1735":1,"1736":1,"1737":1,"1738":1,"1739":1,"1740":1,"1741":1,"1742":1,"1743":1,"1744":1,"1745":1,"1746":1,"1747":1,"1748":1,"1749":1,"1750":1,"1751":1,"1752":1,"1753":1,"1754":1,"1755":1,"1756":1,"1757":1,"1758":1,"1759":1,"1760":1,"1761":1,"1762":1,"1763":1,"1764":1,"1765":1,"1766":1,"1767":1,"1768":1,"1769":1,"1770":1,"1771":1,"1772":1,"1773":1,"1774":1,"1775":1,"1776":1,"1777":1,"1778":1,"1779":1,"1780":1,"1781":1,"1782":1,"1783":1,"1784":1,"1785":1,"1786":1,"1787":1,"1788":1,"1789":1,"1790":1,"1791":1,"1792":1,"1793":1,"1794":1,"1795":1,"1796":1,"1797":1,"1798":1,"1799":1,"1800":1,"1801":1,"1802":1,"1803":1,"1804":1,"1805":1,"1806":1,"1807":1,"1808":1,"1809":1,"1810":1,"1811":1,"1812":1,"1813":1,"1814":1,"1815":1,"1816":1,"1817":1,"1818":1,"1819":1,"1820":1,"1821":1,"1822":1,"1823":1,"1824":1,"1825":1,"1826":1,"1827":1,"1828":1,"1829":1,"1830":1,"1831":1,"1832":1,"1833":1,"1834":1,"1835":1,"1836":1,"1837":1,"1838":1,"1839":1,"1840":1,"1841":1,"1842":1,"1843":1,"1844":1,"1845":1,"1846":1,"1847":1,"1848":1,"1849":1,"1850":1,"1851":1,"1852":1,"1853":1,"1854":1,"1855":1,"1856":1,"1857":1,"1858":1,"1859":1,"1860":1,"1861":1,"1862":1,"1863":1,"1864":1,"1865":1,"1866":1,"1867":1,"1868":1,"1869":1,"1870":1,"1871":1,"1872":1,"1873":1,"1874":1,"1875":1,"1876":1,"1877":1,"1878":1,"1879":1,"1880":1,"1881":1,"1882":1,"1883":1,"1884":1,"1885":1,"1886":1,"1887":1,"1888":1,"1889":1,"1890":1,"1891":1,"1892":1,"1893":1,"1894":1,"1895":1,"1896":1,"1897":1,"1898":1,"1899":1,"1900":1,"1901":1,"1902":1,"1903":1,"1904":1,"1905":1,"1906":1,"1907":1,"1908":1,"1909":1,"1910":1,"1911":1,"1912":1,"1913":1,"1914":1,"1915":1,"1916":1,"1917":1,"1918":1,"1919":1,"1920":1,"1921":1,"1922":1,"1923":1,"1924":1,"1925":1,"1926":1,"1927":1,"1928":1,"1929":1,"1930":1,"1931":1,"1932":1,"1933":1,"1934":1,"1935":1,"1936":1,"1937":1,"1938":1,"1939":1,"1940":1,"1941":1,"1942":1,"1943":1,"1944":1,"1945":1,"1946":1,"1947":1,"1948":1,"1949":1,"1950":1,"1951":1,"1952":1,"1953":1,"1954":1,"1955":1,"1956":1,"1957":1,"1958":1,"1959":1,"1960":1,"1961":1,"1962":1,"1963":1,"1964":1,"1965":1,"1966":1,"1967":1,"1968":1,"1969":1,"1970":1,"1971":1,"1972":1,"1973":1,"1974":1,"1975":1,"1976":1,"1977":1,"1978":1,"1979":1,"1980":1,"1981":1,"1982":1,"1983":1,"1984":1,"1985":1,"1986":1,"1987":1,"1988":1,"1989":1,"1990":1,"1991":1,"1992":1,"1993":1,"1994":1,"1995":1,"1996":1,"1997":1,"1998":1,"1999":1,"2000":1,"2001":1,"2002":1,"2003":1,"2004":1,"2005":1,"2006":1,"2007":1,"2008":1,"2009":1,"2010":1,"2011":1,"2012":1,"2013":1,"2014":1,"2015":1,"2016":1,"2017":1,"2018":1,"2019":1,"2020":1,"2021":1,"2022":1,"2023":1,"2024":1,"2025":1,"2026":1,"2027":1,"2028":1,"2029":1,"2030":1,"2031":1,"2032":1,"2033":1,"2034":1,"2035":1,"2036":1,"2037":1,"2038":1,"2039":1,"2040":1,"2041":1,"2042":1,"2043":1,"2044":1,"2045":1,"2046":1,"2047":1,"2048":1,"2049":1,"2050":1,"2051":1,"2052":1,"2053":1,"2054":1,"2055":1,"2056":1,"2057":1,"2058":1,"2059":1,"2060":1,"2061":1,"2062":1,"2063":1,"2064":1,"2065":1,"2066":1,"2067":1,"2068":1,"2069":1,"2070":1,"2071":1,"2072":1,"2073":1,"2074":1,"2075":1,"2076":1,"2077":1,"2078":1,"2079":1,"2080":1,"2081":1,"2082":1,"2083":1,"2084":1,"2085":1,"2086":1,"2087":1,"2088":1,"2089":1,"2090":1,"2091":1,"2092":1,"2093":1,"2094":1,"2095":1,"2096":1,"2097":1,"2098":1,"2099":1,"2100":1,"2101":1,"2102":1,"2103":1,"2104":1,"2105":1,"2106":1,"2107":1,"2108":1,"2109":1,"2110":1,"2111":1,"2112":1,"2113":1,"2114":1,"2115":1,"2116":1,"2117":1,"2118":1,"2119":1,"2120":1,"2121":1,"2122":1,"2123":1,"2124":1,"2125":1,"2126":1,"2127":1,"2128":1,"2129":1,"2130":1,"2131":1,"2132":1,"2133":1,"2134":1,"2135":1,"2136":1,"2137":1,"2138":1,"2139":1,"2140":1,"2141":1,"2142":1,"2143":1,"2144":1,"2145":1,"2146":1,"2147":1,"2148":1,"2149":1,"2150":1,"2151":1,"2152":1,"2153":1,"2154":1,"2155":1,"2156":1,"2157":1,"2158":1,"2159":1,"2160":1,"2161":1,"2162":1,"2163":1,"2164":1,"2165":1,"2166":1,"2167":1,"2168":1,"2169":1,"2170":1,"2171":1,"2172":1,"2173":1,"2174":1,"2175":1,"2176":1,"2177":1,"2178":1,"2179":1,"2180":1,"2181":1,"2182":1,"2183":1,"2184":1,"2185":1,"2186":1,"2187":1,"2188":1,"2189":1,"2190":1,"2191":1,"2192":1,"2193":1,"2194":1},"breadcrumbs":{"1":2,"41":2,"52":2,"139":2,"160":2,"436":2,"456":2,"540":2,"542":2,"609":2,"736":2,"794":2,"865":2,"885":2,"958":2,"976":2,"993":2,"1078":1,"1110":1,"1149":2,"1204":2,"1257":2,"1277":2,"1290":2,"1342":2,"1350":2,"1362":2,"1379":2,"1425":2,"1457":1,"1562":1,"1782":2,"1848":1,"1928":2,"1983":2},"url":{"1":4,"2":4,"3":5,"4":5,"5":5,"6":5,"7":5,"8":5,"9":5,"10":5,"11":5,"12":5,"13":5,"14":5,"15":5,"16":5,"17":5,"18":5,"19":5,"20":5,"21":5,"22":5,"23":5,"24":5,"25":5,"26":5,"27":5,"28":5,"29":5,"30":5,"31":5,"32":5,"33":5,"34":5,"35":5,"36":5,"37":5,"38":5,"39":5,"40":5,"41":4,"42":4,"43":5,"44":4,"45":5,"46":5,"47":5,"48":5,"49":5,"50":4,"51":4,"52":4,"53":4,"54":5,"55":5,"56":5,"57":5,"58":5,"59":5,"60":5,"61":5,"62":5,"63":5,"64":5,"65":5,"66":5,"67":5,"68":5,"69":5,"70":5,"71":5,"72":5,"73":5,"74":5,"75":5,"76":5,"77":5,"78":5,"79":5,"80":5,"81":5,"82":5,"83":5,"84":5,"85":5,"86":5,"87":5,"88":5,"89":5,"90":5,"91":5,"92":5,"93":5,"94":5,"95":5,"96":5,"97":5,"98":5,"99":5,"100":5,"101":5,"102":5,"103":5,"104":5,"105":5,"106":5,"107":5,"108":5,"109":5,"110":5,"111":5,"112":5,"113":5,"114":5,"115":5,"116":5,"117":5,"118":5,"119":5,"120":5,"121":5,"122":5,"123":5,"124":5,"125":5,"126":5,"127":5,"128":5,"129":5,"130":5,"131":5,"132":5,"133":5,"134":5,"135":5,"136":5,"137":5,"138":5,"139":4,"140":4,"141":5,"142":5,"143":4,"144":4,"145":5,"146":5,"147":5,"148":5,"149":5,"150":5,"151":5,"152":5,"153":5,"154":5,"155":5,"156":5,"157":5,"158":5,"159":5,"160":4,"161":4,"162":5,"163":5,"164":5,"165":5,"166":5,"167":5,"168":5,"169":5,"170":5,"171":5,"172":5,"173":5,"174":4,"175":4,"176":4,"177":5,"178":5,"179":5,"180":5,"181":5,"182":5,"183":5,"184":5,"185":5,"186":5,"187":5,"188":5,"189":5,"190":5,"191":5,"192":5,"193":5,"194":5,"195":5,"196":5,"197":5,"198":5,"199":5,"200":5,"201":5,"202":5,"203":5,"204":5,"205":5,"206":5,"207":5,"208":5,"209":5,"210":5,"211":5,"212":5,"213":5,"214":5,"215":5,"216":5,"217":5,"218":5,"219":5,"220":5,"221":5,"222":5,"223":5,"224":5,"225":5,"226":5,"227":5,"228":5,"229":5,"230":5,"231":5,"232":5,"233":5,"234":5,"235":5,"236":5,"237":5,"238":5,"239":5,"240":5,"241":5,"242":5,"243":5,"244":5,"245":5,"246":5,"247":5,"248":5,"249":5,"250":5,"251":5,"252":5,"253":5,"254":5,"255":5,"256":5,"257":5,"258":5,"259":5,"260":5,"261":5,"262":5,"263":5,"264":5,"265":5,"266":5,"267":5,"268":5,"269":5,"270":5,"271":5,"272":5,"273":5,"274":5,"275":5,"276":5,"277":5,"278":5,"279":5,"280":5,"281":5,"282":5,"283":5,"284":5,"285":5,"286":5,"287":5,"288":5,"289":5,"290":5,"291":5,"292":5,"293":5,"294":5,"295":5,"296":5,"297":5,"298":5,"299":5,"300":5,"301":5,"302":5,"303":5,"304":5,"305":5,"306":5,"307":5,"308":5,"309":5,"310":5,"311":5,"312":5,"313":5,"314":5,"315":5,"316":5,"317":5,"318":5,"319":5,"320":5,"321":5,"322":5,"323":5,"324":5,"325":5,"326":5,"327":5,"328":5,"329":5,"330":5,"331":5,"332":5,"333":5,"334":5,"335":5,"336":5,"337":5,"338":5,"339":5,"340":5,"341":5,"342":5,"343":5,"344":5,"345":5,"346":5,"347":5,"348":5,"349":5,"350":5,"351":5,"352":5,"353":5,"354":5,"355":5,"356":5,"357":5,"358":5,"359":5,"360":5,"361":5,"362":5,"363":5,"364":5,"365":5,"366":5,"367":5,"368":5,"369":5,"370":5,"371":5,"372":5,"373":5,"374":5,"375":5,"376":5,"377":5,"378":5,"379":5,"380":5,"381":5,"382":5,"383":5,"384":5,"385":5,"386":5,"387":5,"388":5,"389":5,"390":5,"391":5,"392":5,"393":5,"394":5,"395":5,"396":5,"397":5,"398":5,"399":5,"400":5,"401":5,"402":5,"403":5,"404":5,"405":5,"406":5,"407":5,"408":5,"409":5,"410":5,"411":5,"412":5,"413":5,"414":5,"415":5,"416":5,"417":5,"418":5,"419":5,"420":5,"421":5,"422":5,"423":5,"424":5,"425":5,"426":5,"427":5,"428":5,"429":5,"430":5,"431":5,"432":5,"433":5,"434":5,"435":5,"436":4,"437":4,"438":5,"439":5,"440":5,"441":5,"442":4,"443":5,"444":5,"445":5,"446":5,"447":5,"448":5,"449":5,"450":5,"451":5,"452":5,"453":5,"454":5,"455":5,"456":4,"457":4,"458":5,"459":5,"460":5,"461":5,"462":5,"463":5,"464":5,"465":5,"466":5,"467":4,"468":4,"469":4,"470":4,"471":4,"472":5,"473":5,"474":5,"475":5,"476":5,"477":5,"478":5,"479":5,"480":5,"481":5,"482":5,"483":5,"484":5,"485":5,"486":5,"487":5,"488":5,"489":5,"490":5,"491":5,"492":5,"493":5,"494":5,"495":5,"496":5,"497":5,"498":5,"499":5,"500":5,"501":5,"502":5,"503":5,"504":5,"505":5,"506":5,"507":5,"508":5,"509":5,"510":5,"511":5,"512":5,"513":5,"514":5,"515":5,"516":5,"517":5,"518":5,"519":5,"520":5,"521":5,"522":5,"523":5,"524":5,"525":5,"526":5,"527":5,"528":5,"529":5,"530":5,"531":5,"532":5,"533":5,"534":5,"535":5,"536":5,"537":5,"538":5,"539":5,"540":3,"541":3,"542":3,"543":3,"544":4,"545":4,"546":4,"547":4,"548":4,"549":4,"550":4,"551":4,"552":4,"553":4,"554":4,"555":4,"556":4,"557":4,"558":4,"559":4,"560":4,"561":4,"562":4,"563":4,"564":4,"565":4,"566":4,"567":4,"568":4,"569":4,"570":4,"571":4,"572":4,"573":4,"574":4,"575":4,"576":4,"577":4,"578":4,"579":4,"580":4,"581":4,"582":4,"583":4,"584":4,"585":4,"586":4,"587":4,"588":4,"589":4,"590":4,"591":4,"592":4,"593":4,"594":4,"595":4,"596":4,"597":4,"598":4,"599":4,"600":4,"601":4,"602":4,"603":4,"604":4,"605":4,"606":4,"607":4,"608":4,"609":3,"610":3,"611":4,"612":4,"613":4,"614":4,"615":4,"616":4,"617":4,"618":4,"619":4,"620":4,"621":4,"622":4,"623":4,"624":4,"625":4,"626":4,"627":4,"628":4,"629":4,"630":4,"631":4,"632":4,"633":3,"634":3,"635":3,"636":3,"637":3,"638":3,"639":3,"640":4,"641":4,"642":4,"643":4,"644":4,"645":4,"646":4,"647":4,"648":4,"649":4,"650":4,"651":4,"652":4,"653":4,"654":4,"655":4,"656":4,"657":4,"658":4,"659":4,"660":4,"661":4,"662":4,"663":4,"664":4,"665":4,"666":4,"667":4,"668":4,"669":4,"670":4,"671":4,"672":4,"673":4,"674":4,"675":4,"676":4,"677":4,"678":4,"679":4,"680":4,"681":4,"682":4,"683":4,"684":4,"685":4,"686":4,"687":4,"688":4,"689":4,"690":4,"691":4,"692":4,"693":4,"694":4,"695":4,"696":4,"697":4,"698":4,"699":4,"700":4,"701":4,"702":4,"703":4,"704":4,"705":4,"706":4,"707":4,"708":4,"709":4,"710":4,"711":4,"712":4,"713":4,"714":4,"715":4,"716":4,"717":4,"718":4,"719":4,"720":4,"721":4,"722":4,"723":4,"724":4,"725":4,"726":4,"727":4,"728":4,"729":4,"730":4,"731":4,"732":4,"733":4,"734":4,"735":4,"736":3,"737":3,"738":4,"739":4,"740":4,"741":4,"742":4,"743":4,"744":4,"745":3,"746":3,"747":3,"748":4,"749":4,"750":4,"751":4,"752":4,"753":4,"754":4,"755":4,"756":4,"757":4,"758":4,"759":4,"760":4,"761":4,"762":4,"763":4,"764":4,"765":4,"766":4,"767":4,"768":4,"769":4,"770":4,"771":4,"772":4,"773":4,"774":4,"775":4,"776":4,"777":4,"778":4,"779":4,"780":4,"781":4,"782":4,"783":4,"784":4,"785":4,"786":4,"787":4,"788":4,"789":4,"790":4,"791":4,"792":4,"793":4,"794":3,"795":3,"796":4,"797":4,"798":4,"799":4,"800":4,"801":4,"802":4,"803":4,"804":4,"805":4,"806":4,"807":4,"808":4,"809":4,"810":4,"811":4,"812":4,"813":4,"814":4,"815":4,"816":4,"817":4,"818":4,"819":4,"820":4,"821":4,"822":4,"823":4,"824":4,"825":4,"826":4,"827":4,"828":4,"829":4,"830":4,"831":4,"832":4,"833":4,"834":4,"835":4,"836":4,"837":4,"838":4,"839":4,"840":4,"841":4,"842":4,"843":4,"844":4,"845":4,"846":4,"847":4,"848":4,"849":4,"850":4,"851":4,"852":4,"853":4,"854":4,"855":4,"856":4,"857":4,"858":4,"859":4,"860":4,"861":4,"862":4,"863":4,"864":4,"865":3,"866":3,"867":4,"868":4,"869":4,"870":3,"871":3,"872":3,"873":4,"874":4,"875":4,"876":4,"877":4,"878":4,"879":4,"880":4,"881":4,"882":4,"883":4,"884":4,"885":3,"886":3,"887":4,"888":4,"889":4,"890":4,"891":4,"892":4,"893":4,"894":4,"895":4,"896":4,"897":4,"898":4,"899":4,"900":4,"901":4,"902":4,"903":4,"904":4,"905":4,"906":4,"907":4,"908":4,"909":4,"910":4,"911":4,"912":4,"913":4,"914":4,"915":4,"916":4,"917":4,"918":4,"919":4,"920":4,"921":4,"922":4,"923":4,"924":4,"925":4,"926":4,"927":4,"928":4,"929":4,"930":4,"931":4,"932":4,"933":4,"934":4,"935":4,"936":4,"937":4,"938":4,"939":4,"940":4,"941":4,"942":4,"943":4,"944":4,"945":4,"946":4,"947":4,"948":4,"949":4,"950":4,"951":4,"952":4,"953":4,"954":4,"955":4,"956":4,"957":4,"958":3,"959":3,"960":4,"961":4,"962":4,"963":3,"964":3,"965":3,"966":4,"967":4,"968":4,"969":4,"970":4,"971":4,"972":4,"973":4,"974":4,"975":4,"976":3,"977":3,"978":4,"979":4,"980":3,"981":3,"982":3,"983":3,"984":3,"985":3,"986":4,"987":4,"988":4,"989":4,"990":4,"991":4,"992":4,"993":3,"994":3,"995":4,"996":4,"997":4,"998":4,"999":4,"1000":4,"1001":4,"1002":4,"1003":4,"1004":4,"1005":4,"1006":4,"1007":4,"1008":4,"1009":4,"1010":4,"1011":4,"1012":4,"1013":4,"1014":4,"1015":4,"1016":4,"1017":4,"1018":4,"1019":4,"1020":4,"1021":4,"1022":4,"1023":4,"1024":4,"1025":4,"1026":4,"1027":4,"1028":4,"1029":4,"1030":4,"1031":4,"1032":4,"1033":4,"1034":4,"1035":4,"1036":4,"1037":4,"1038":4,"1039":4,"1040":4,"1041":4,"1042":4,"1043":4,"1044":4,"1045":4,"1046":4,"1047":4,"1048":4,"1049":4,"1050":4,"1051":4,"1052":4,"1053":4,"1054":4,"1055":4,"1056":4,"1057":4,"1058":4,"1059":4,"1060":4,"1061":4,"1062":4,"1063":4,"1064":4,"1065":4,"1066":4,"1067":4,"1068":4,"1069":4,"1070":4,"1071":4,"1072":4,"1073":4,"1074":4,"1075":4,"1076":4,"1077":4,"1078":3,"1079":3,"1080":4,"1081":4,"1082":4,"1083":4,"1084":4,"1085":4,"1086":4,"1087":4,"1088":4,"1089":4,"1090":4,"1091":4,"1092":4,"1093":4,"1094":4,"1095":4,"1096":4,"1097":4,"1098":4,"1099":4,"1100":4,"1101":4,"1102":4,"1103":4,"1104":4,"1105":4,"1106":4,"1107":4,"1108":4,"1109":4,"1110":3,"1111":3,"1112":4,"1113":4,"1114":4,"1115":4,"1116":4,"1117":4,"1118":4,"1119":4,"1120":4,"1121":4,"1122":4,"1123":4,"1124":4,"1125":4,"1126":4,"1127":4,"1128":4,"1129":4,"1130":4,"1131":4,"1132":4,"1133":4,"1134":4,"1135":4,"1136":4,"1137":4,"1138":4,"1139":4,"1140":4,"1141":4,"1142":4,"1143":4,"1144":4,"1145":4,"1146":4,"1147":4,"1148":4,"1149":4,"1150":4,"1151":5,"1152":5,"1153":5,"1154":4,"1155":4,"1156":4,"1157":4,"1158":5,"1159":5,"1160":5,"1161":5,"1162":5,"1163":5,"1164":5,"1165":5,"1166":5,"1167":5,"1168":5,"1169":5,"1170":5,"1171":5,"1172":5,"1173":5,"1174":5,"1175":5,"1176":5,"1177":5,"1178":5,"1179":5,"1180":5,"1181":5,"1182":5,"1183":5,"1184":5,"1185":5,"1186":5,"1187":5,"1188":5,"1189":5,"1190":5,"1191":5,"1192":5,"1193":5,"1194":5,"1195":5,"1196":5,"1197":5,"1198":5,"1199":5,"1200":5,"1201":5,"1202":5,"1203":5,"1204":4,"1205":4,"1206":5,"1207":5,"1208":5,"1209":5,"1210":5,"1211":4,"1212":5,"1213":5,"1214":5,"1215":5,"1216":5,"1217":5,"1218":5,"1219":5,"1220":5,"1221":5,"1222":5,"1223":5,"1224":5,"1225":5,"1226":5,"1227":5,"1228":5,"1229":5,"1230":5,"1231":5,"1232":5,"1233":5,"1234":5,"1235":5,"1236":5,"1237":5,"1238":5,"1239":5,"1240":5,"1241":5,"1242":5,"1243":5,"1244":5,"1245":5,"1246":5,"1247":5,"1248":5,"1249":5,"1250":5,"1251":5,"1252":5,"1253":5,"1254":5,"1255":5,"1256":5,"1257":4,"1258":4,"1259":5,"1260":5,"1261":4,"1262":5,"1263":5,"1264":5,"1265":5,"1266":5,"1267":5,"1268":5,"1269":5,"1270":5,"1271":5,"1272":5,"1273":5,"1274":5,"1275":5,"1276":5,"1277":4,"1278":4,"1279":4,"1280":4,"1281":4,"1282":4,"1283":4,"1284":4,"1285":4,"1286":4,"1287":4,"1288":4,"1289":4,"1290":4,"1291":4,"1292":5,"1293":5,"1294":5,"1295":5,"1296":5,"1297":5,"1298":5,"1299":5,"1300":5,"1301":5,"1302":5,"1303":5,"1304":4,"1305":4,"1306":4,"1307":4,"1308":4,"1309":4,"1310":4,"1311":5,"1312":5,"1313":5,"1314":5,"1315":5,"1316":5,"1317":5,"1318":5,"1319":5,"1320":5,"1321":5,"1322":5,"1323":5,"1324":5,"1325":5,"1326":5,"1327":5,"1328":5,"1329":5,"1330":5,"1331":5,"1332":5,"1333":5,"1334":5,"1335":5,"1336":5,"1337":5,"1338":5,"1339":5,"1340":5,"1341":5,"1342":4,"1343":4,"1344":4,"1345":4,"1346":4,"1347":4,"1348":4,"1349":4,"1350":3,"1351":3,"1352":4,"1353":3,"1354":3,"1355":3,"1356":4,"1357":4,"1358":4,"1359":4,"1360":4,"1361":4,"1362":4,"1363":4,"1364":4,"1365":4,"1366":4,"1367":4,"1368":4,"1369":4,"1370":4,"1371":4,"1372":4,"1373":4,"1374":4,"1375":4,"1376":4,"1377":4,"1378":4,"1379":4,"1380":4,"1381":5,"1382":4,"1383":4,"1384":4,"1385":4,"1386":4,"1387":4,"1388":4,"1389":4,"1390":4,"1391":4,"1392":4,"1393":4,"1394":4,"1395":4,"1396":4,"1397":4,"1398":4,"1399":4,"1400":4,"1401":4,"1402":4,"1403":4,"1404":4,"1405":4,"1406":4,"1407":4,"1408":4,"1409":4,"1410":4,"1411":4,"1412":4,"1413":4,"1414":4,"1415":4,"1416":4,"1417":4,"1418":4,"1419":5,"1420":5,"1421":5,"1422":5,"1423":5,"1424":5,"1425":4,"1426":4,"1427":5,"1428":5,"1429":5,"1430":5,"1431":5,"1432":4,"1433":4,"1434":4,"1435":4,"1436":4,"1437":4,"1438":5,"1439":5,"1440":5,"1441":5,"1442":5,"1443":5,"1444":5,"1445":5,"1446":5,"1447":5,"1448":5,"1449":5,"1450":5,"1451":5,"1452":5,"1453":5,"1454":5,"1455":5,"1456":5,"1457":3,"1458":3,"1459":4,"1460":4,"1461":4,"1462":4,"1463":4,"1464":4,"1465":4,"1466":4,"1467":4,"1468":4,"1469":4,"1470":4,"1471":4,"1472":4,"1473":4,"1474":4,"1475":4,"1476":4,"1477":4,"1478":4,"1479":4,"1480":4,"1481":4,"1482":4,"1483":4,"1484":4,"1485":4,"1486":4,"1487":4,"1488":4,"1489":4,"1490":4,"1491":4,"1492":4,"1493":4,"1494":4,"1495":4,"1496":4,"1497":4,"1498":4,"1499":4,"1500":4,"1501":4,"1502":4,"1503":4,"1504":4,"1505":4,"1506":4,"1507":4,"1508":4,"1509":4,"1510":4,"1511":4,"1512":4,"1513":4,"1514":4,"1515":4,"1516":4,"1517":4,"1518":4,"1519":4,"1520":4,"1521":4,"1522":4,"1523":4,"1524":4,"1525":4,"1526":4,"1527":4,"1528":4,"1529":4,"1530":4,"1531":4,"1532":4,"1533":4,"1534":4,"1535":4,"1536":4,"1537":4,"1538":4,"1539":4,"1540":4,"1541":4,"1542":4,"1543":4,"1544":4,"1545":4,"1546":4,"1547":4,"1548":4,"1549":4,"1550":4,"1551":4,"1552":4,"1553":4,"1554":4,"1555":4,"1556":4,"1557":4,"1558":4,"1559":4,"1560":4,"1561":4,"1562":3,"1563":3,"1564":4,"1565":4,"1566":4,"1567":4,"1568":4,"1569":4,"1570":4,"1571":4,"1572":4,"1573":4,"1574":4,"1575":4,"1576":4,"1577":4,"1578":4,"1579":4,"1580":4,"1581":4,"1582":4,"1583":4,"1584":4,"1585":4,"1586":4,"1587":4,"1588":4,"1589":4,"1590":4,"1591":4,"1592":4,"1593":4,"1594":4,"1595":4,"1596":4,"1597":4,"1598":4,"1599":4,"1600":4,"1601":4,"1602":4,"1603":4,"1604":4,"1605":4,"1606":4,"1607":4,"1608":4,"1609":4,"1610":4,"1611":4,"1612":4,"1613":4,"1614":4,"1615":4,"1616":4,"1617":4,"1618":4,"1619":4,"1620":4,"1621":4,"1622":4,"1623":4,"1624":3,"1625":3,"1626":3,"1627":4,"1628":4,"1629":4,"1630":4,"1631":4,"1632":4,"1633":4,"1634":4,"1635":4,"1636":4,"1637":4,"1638":4,"1639":4,"1640":4,"1641":4,"1642":4,"1643":4,"1644":4,"1645":4,"1646":4,"1647":4,"1648":4,"1649":4,"1650":4,"1651":4,"1652":4,"1653":4,"1654":4,"1655":4,"1656":4,"1657":4,"1658":4,"1659":4,"1660":4,"1661":4,"1662":4,"1663":4,"1664":4,"1665":4,"1666":4,"1667":4,"1668":4,"1669":4,"1670":4,"1671":4,"1672":4,"1673":4,"1674":4,"1675":4,"1676":4,"1677":4,"1678":4,"1679":4,"1680":4,"1681":4,"1682":4,"1683":4,"1684":4,"1685":4,"1686":4,"1687":4,"1688":4,"1689":4,"1690":4,"1691":4,"1692":4,"1693":4,"1694":4,"1695":4,"1696":4,"1697":4,"1698":4,"1699":4,"1700":4,"1701":4,"1702":4,"1703":4,"1704":4,"1705":4,"1706":4,"1707":4,"1708":4,"1709":4,"1710":4,"1711":4,"1712":4,"1713":4,"1714":4,"1715":4,"1716":4,"1717":4,"1718":4,"1719":4,"1720":4,"1721":4,"1722":4,"1723":4,"1724":4,"1725":4,"1726":4,"1727":4,"1728":4,"1729":4,"1730":4,"1731":4,"1732":4,"1733":4,"1734":4,"1735":4,"1736":4,"1737":4,"1738":4,"1739":4,"1740":4,"1741":4,"1742":4,"1743":4,"1744":4,"1745":4,"1746":4,"1747":4,"1748":4,"1749":4,"1750":4,"1751":4,"1752":4,"1753":4,"1754":4,"1755":4,"1756":4,"1757":4,"1758":4,"1759":4,"1760":4,"1761":4,"1762":4,"1763":4,"1764":4,"1765":4,"1766":4,"1767":4,"1768":4,"1769":4,"1770":4,"1771":4,"1772":4,"1773":4,"1774":4,"1775":4,"1776":4,"1777":4,"1778":4,"1779":4,"1780":4,"1781":4,"1782":1,"1783":1,"1784":2,"1785":2,"1786":2,"1787":2,"1788":2,"1789":2,"1790":2,"1791":2,"1792":2,"1793":2,"1794":2,"1795":2,"1796":2,"1797":2,"1798":2,"1799":2,"1800":2,"1801":2,"1802":2,"1803":2,"1804":2,"1805":2,"1806":2,"1807":2,"1808":2,"1809":2,"1810":2,"1811":2,"1812":2,"1813":2,"1814":2,"1815":2,"1816":2,"1817":2,"1818":2,"1819":2,"1820":2,"1821":2,"1822":2,"1823":2,"1824":2,"1825":2,"1826":2,"1827":2,"1828":2,"1829":2,"1830":2,"1831":2,"1832":2,"1833":2,"1834":2,"1835":2,"1836":2,"1837":2,"1838":2,"1839":2,"1840":2,"1841":2,"1842":2,"1843":2,"1844":2,"1845":2,"1846":2,"1847":2,"1848":3,"1849":3,"1850":4,"1851":4,"1852":4,"1853":4,"1854":4,"1855":4,"1856":4,"1857":4,"1858":4,"1859":4,"1860":4,"1861":4,"1862":4,"1863":4,"1864":4,"1865":4,"1866":4,"1867":4,"1868":4,"1869":4,"1870":4,"1871":4,"1872":4,"1873":4,"1874":4,"1875":4,"1876":4,"1877":4,"1878":4,"1879":4,"1880":4,"1881":4,"1882":4,"1883":4,"1884":4,"1885":4,"1886":4,"1887":4,"1888":4,"1889":4,"1890":4,"1891":4,"1892":4,"1893":4,"1894":4,"1895":4,"1896":4,"1897":4,"1898":4,"1899":4,"1900":4,"1901":4,"1902":4,"1903":4,"1904":4,"1905":4,"1906":4,"1907":4,"1908":4,"1909":4,"1910":4,"1911":4,"1912":4,"1913":4,"1914":4,"1915":4,"1916":4,"1917":4,"1918":4,"1919":4,"1920":4,"1921":4,"1922":4,"1923":4,"1924":4,"1925":4,"1926":4,"1927":4,"1928":3,"1929":3,"1930":4,"1931":4,"1932":4,"1933":4,"1934":4,"1935":4,"1936":4,"1937":4,"1938":4,"1939":4,"1940":4,"1941":4,"1942":4,"1943":4,"1944":4,"1945":4,"1946":4,"1947":4,"1948":4,"1949":4,"1950":4,"1951":4,"1952":4,"1953":4,"1954":4,"1955":4,"1956":4,"1957":4,"1958":4,"1959":4,"1960":4,"1961":4,"1962":4,"1963":4,"1964":4,"1965":4,"1966":4,"1967":4,"1968":4,"1969":4,"1970":4,"1971":4,"1972":4,"1973":4,"1974":4,"1975":4,"1976":4,"1977":4,"1978":4,"1979":4,"1980":4,"1981":4,"1982":4,"1983":3,"1984":3,"1985":4,"1986":4,"1987":4,"1988":4,"1989":4,"1990":4,"1991":4,"1992":4,"1993":4,"1994":4,"1995":4,"1996":4,"1997":4,"1998":4,"1999":4,"2000":4,"2001":4,"2002":4,"2003":4,"2004":4,"2005":4,"2006":4,"2007":4,"2008":4,"2009":4,"2010":4,"2011":4,"2012":4,"2013":4,"2014":4,"2015":4,"2016":4,"2017":4,"2018":4,"2019":4,"2020":4,"2021":4,"2022":4,"2023":4,"2024":4,"2025":4,"2026":4,"2027":4,"2028":4,"2029":4,"2030":4,"2031":4,"2032":4,"2033":4,"2034":4,"2035":4,"2036":4,"2037":4,"2038":4,"2039":4,"2040":4,"2041":4,"2042":4,"2043":4,"2044":4,"2045":4,"2046":4,"2047":4,"2048":4,"2049":4,"2050":4,"2051":4,"2052":4,"2053":4,"2054":4,"2055":4,"2056":4,"2057":4,"2058":4,"2059":4,"2060":4,"2061":4,"2062":4,"2063":4,"2064":4,"2065":4,"2066":4,"2067":4,"2068":4,"2069":4,"2070":4,"2071":4,"2072":4,"2073":4,"2074":4,"2075":4,"2076":4,"2077":4,"2078":4,"2079":4,"2080":4,"2081":4,"2082":4,"2083":4,"2084":4,"2085":4,"2086":4,"2087":4,"2088":4,"2089":4,"2090":4,"2091":4,"2092":4,"2093":4,"2094":4,"2095":4,"2096":4,"2097":4,"2098":4,"2099":4,"2100":4,"2101":4,"2102":4,"2103":4,"2104":4,"2105":4,"2106":4,"2107":4,"2108":4,"2109":4,"2110":4,"2111":4,"2112":4,"2113":4,"2114":4,"2115":4,"2116":4,"2117":4,"2118":4,"2119":4,"2120":4,"2121":4,"2122":4,"2123":4,"2124":4,"2125":4,"2126":4,"2127":4,"2128":4,"2129":4,"2130":4,"2131":4,"2132":4,"2133":4,"2134":4,"2135":4,"2136":4,"2137":4,"2138":4,"2139":4,"2140":4,"2141":4,"2142":4,"2143":4,"2144":4,"2145":4,"2146":4,"2147":4,"2148":4,"2149":4,"2150":4,"2151":4,"2152":4,"2153":4,"2154":4,"2155":4,"2156":4,"2157":4,"2158":4,"2159":4,"2160":4,"2161":4,"2162":4,"2163":4,"2164":4,"2165":4,"2166":4,"2167":4,"2168":4,"2169":4,"2170":4,"2171":4,"2172":4,"2173":4,"2174":4,"2175":4,"2176":4,"2177":4,"2178":4,"2179":4,"2180":4,"2181":4,"2182":4,"2183":4,"2184":4,"2185":4,"2186":4,"2187":4,"2188":4,"2189":4,"2190":4,"2191":4,"2192":4,"2193":4,"2194":4}}},"docs":{"docs":{"1":{"id":"/docs/admin-ops/administrators-guide/administration","page_id":"/docs/admin-ops/administrators-guide/administration","type":"page","content":"Administration","breadcrumbs":["Multi-Page Documentation","Admin & Ops","Administrator's Guide"],"tags":[],"url":"/docs/admin-ops/administrators-guide/administration"},"2":{"id":"/docs/admin-ops/administrators-guide/administration-0","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration","content":"Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting."},"3":{"id":"/docs/admin-ops/administrators-guide/administration-1","page_id":"/docs/admin-ops/administrators-guide/administration","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/administration#maintenance","content":"Maintenance"},"4":{"id":"/docs/admin-ops/administrators-guide/administration-2","page_id":"/docs/admin-ops/administrators-guide/administration","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup","content":"Ongoing Data Directory Cleanup"},"5":{"id":"/docs/admin-ops/administrators-guide/administration-3","page_id":"/docs/admin-ops/administrators-guide/administration","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/administration#debug-log-cleanup-logback","content":"Debug Log Cleanup (logback)"},"6":{"id":"/docs/admin-ops/administrators-guide/administration-4","page_id":"/docs/admin-ops/administrators-guide/administration","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/administration#supervision","content":"Supervision"},"7":{"id":"/docs/admin-ops/administrators-guide/administration-5","page_id":"/docs/admin-ops/administrators-guide/administration","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/administration#monitoring","content":"Monitoring"},"8":{"id":"/docs/admin-ops/administrators-guide/administration-6","page_id":"/docs/admin-ops/administrators-guide/administration","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/administration#logging","content":"Logging"},"9":{"id":"/docs/admin-ops/administrators-guide/administration-7","page_id":"/docs/admin-ops/administrators-guide/administration","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/administration#troubleshooting","content":"Troubleshooting"},"10":{"id":"/docs/admin-ops/administrators-guide/administration-8","page_id":"/docs/admin-ops/administrators-guide/administration","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"Metrics Providers"},"11":{"id":"/docs/admin-ops/administrators-guide/administration-9","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#maintenance","content":"Little long term maintenance is required for a ZooKeeper\ncluster however you must be aware of the following:"},"12":{"id":"/docs/admin-ops/administrators-guide/administration-10","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup","content":"The ZooKeeper Data\nDirectory contains files which are a persistent copy\nof the znodes stored by a particular serving ensemble. These\nare the snapshot and transactional log files. As changes are\nmade to the znodes these changes are appended to a\ntransaction log. Occasionally, when a log grows large, a\nsnapshot of the current state of all znodes will be written\nto the filesystem and a new transaction log file is created\nfor future transactions. During snapshotting, ZooKeeper may\ncontinue appending incoming transactions to the old log file.\nTherefore, some transactions which are newer than a snapshot\nmay be found in the last transaction log preceding the\nsnapshot."},"13":{"id":"/docs/admin-ops/administrators-guide/administration-11","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup","content":"A ZooKeeper server will not remove\nold snapshots and log files when using the default\nconfiguration (see autopurge below), this is the\nresponsibility of the operator. Every serving environment is\ndifferent and therefore the requirements of managing these\nfiles may differ from install to install (backup for example)."},"14":{"id":"/docs/admin-ops/administrators-guide/administration-12","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup","content":"The PurgeTxnLog utility implements a simple retention\npolicy that administrators can use. The API docs contains details on\ncalling conventions (arguments, etc...)."},"15":{"id":"/docs/admin-ops/administrators-guide/administration-13","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup","content":"In the following example the last count snapshots and\ntheir corresponding logs are retained and the others are\ndeleted. The value of should typically be\ngreater than 3 (although not required, this provides 3 backups\nin the unlikely event a recent log has become corrupted). This\ncan be run as a cron job on the ZooKeeper server machines to\nclean up the logs daily."},"16":{"id":"/docs/admin-ops/administrators-guide/administration-14","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup","content":"Automatic purging of the snapshots and corresponding\ntransaction logs was introduced in version 3.4.0 and can be\nenabled via the following configuration parameters autopurge.snapRetainCount and autopurge.purgeInterval. For more on\nthis, see Advanced Configuration."},"17":{"id":"/docs/admin-ops/administrators-guide/administration-15","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#debug-log-cleanup-logback","content":"See the section on logging in this document. It is\nexpected that you will setup a rolling file appender using the\nin-built logback feature. The sample configuration file in the\nrelease tar's conf/logback.xml provides an example of\nthis."},"18":{"id":"/docs/admin-ops/administrators-guide/administration-16","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#supervision","content":"You will want to have a supervisory process that manages\neach of your ZooKeeper server processes (JVM). The ZK server is\ndesigned to be \"fail fast\" meaning that it will shut down\n(process exit) if an error occurs that it cannot recover\nfrom. As a ZooKeeper serving cluster is highly reliable, this\nmeans that while the server may go down the cluster as a whole\nis still active and serving requests. Additionally, as the\ncluster is \"self healing\" the failed server once restarted will\nautomatically rejoin the ensemble w/o any manual\ninteraction."},"19":{"id":"/docs/admin-ops/administrators-guide/administration-17","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#supervision","content":"Having a supervisory process such as daemontools or\nSMF\n(other options for supervisory process are also available, it's\nup to you which one you would like to use, these are just two\nexamples) managing your ZooKeeper server ensures that if the\nprocess does exit abnormally it will automatically be restarted\nand will quickly rejoin the cluster."},"20":{"id":"/docs/admin-ops/administrators-guide/administration-18","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#supervision","content":"It is also recommended to configure the ZooKeeper server process to\nterminate and dump its heap if an OutOfMemoryError** occurs. This is achieved\nby launching the JVM with the following arguments on Linux and Windows\nrespectively. The zkServer.sh and\n*zkServer.cmd* scripts that ship with ZooKeeper set\nthese options."},"21":{"id":"/docs/admin-ops/administrators-guide/administration-19","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#monitoring","content":"The ZooKeeper service can be monitored in one of three primary ways:"},"22":{"id":"/docs/admin-ops/administrators-guide/administration-20","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#monitoring","content":"the command port through the use of 4 letter words"},"23":{"id":"/docs/admin-ops/administrators-guide/administration-21","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#monitoring","content":"with JMX"},"24":{"id":"/docs/admin-ops/administrators-guide/administration-22","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#monitoring","content":"using the zkServer.sh status command"},"25":{"id":"/docs/admin-ops/administrators-guide/administration-23","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#logging","content":"ZooKeeper uses SLF4J\nversion 1.7 as its logging infrastructure. By default ZooKeeper is shipped with\nLOGBack as the logging backend, but you can use\nany other supported logging framework of your choice."},"26":{"id":"/docs/admin-ops/administrators-guide/administration-24","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#logging","content":"The ZooKeeper default logback.xml\nfile resides in the conf directory. Logback requires that\nlogback.xml either be in the working directory\n(the directory from which ZooKeeper is run) or be accessible from the classpath."},"27":{"id":"/docs/admin-ops/administrators-guide/administration-25","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#logging","content":"For more information about SLF4J, see\nits manual."},"28":{"id":"/docs/admin-ops/administrators-guide/administration-26","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#logging","content":"For more information about Logback, see\nLogback website."},"29":{"id":"/docs/admin-ops/administrators-guide/administration-27","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#troubleshooting","content":"Server not coming up because of file corruption :\nA server might not be able to read its database and fail to come up because of\nsome file corruption in the transaction logs of the ZooKeeper server. You will\nsee some IOException on loading ZooKeeper database. In such a case,\nmake sure all the other servers in your ensemble are up and working. Use \"stat\"\ncommand on the command port to see if they are in good health. After you have verified that\nall the other servers of the ensemble are up, you can go ahead and clean the database\nof the corrupt server. Delete all the files in datadir/version-2 and datalogdir/version-2/.\nRestart the server."},"30":{"id":"/docs/admin-ops/administrators-guide/administration-28","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"New in 3.6.0: The following options are used to configure metrics."},"31":{"id":"/docs/admin-ops/administrators-guide/administration-29","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"By default ZooKeeper server exposes useful metrics using the AdminServer\nand Four Letter Words interface."},"32":{"id":"/docs/admin-ops/administrators-guide/administration-30","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"Since 3.6.0 you can configure a different Metrics Provider, that exports metrics\nto your favourite system."},"33":{"id":"/docs/admin-ops/administrators-guide/administration-31","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"Since 3.6.0 ZooKeeper binary package bundles an integration with Prometheus.io"},"34":{"id":"/docs/admin-ops/administrators-guide/administration-32","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"metricsProvider.className :\nSet to \"org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider\" to\nenable Prometheus.io exporter."},"35":{"id":"/docs/admin-ops/administrators-guide/administration-33","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"metricsProvider.httpHost :\nNew in 3.8.0: Prometheus.io exporter will start a Jetty server and listen this address, default is \"0.0.0.0\""},"36":{"id":"/docs/admin-ops/administrators-guide/administration-34","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"metricsProvider.httpPort :\nPrometheus.io exporter will start a Jetty server and bind to this port, it defaults to 7000.\nPrometheus end point will be http://hostname:httPort/metrics."},"37":{"id":"/docs/admin-ops/administrators-guide/administration-35","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"metricsProvider.exportJvmInfo :\nIf this property is set to true Prometheus.io will export useful metrics about the JVM.\nThe default is true."},"38":{"id":"/docs/admin-ops/administrators-guide/administration-36","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"metricsProvider.numWorkerThreads :\nNew in 3.7.1:\nNumber of worker threads for reporting Prometheus summary metrics.\nDefault value is 1.\nIf the number is less than 1, the main thread will be used."},"39":{"id":"/docs/admin-ops/administrators-guide/administration-37","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"metricsProvider.maxQueueSize :\nNew in 3.7.1:\nThe max queue size for Prometheus summary metrics reporting task.\nDefault value is 10000."},"40":{"id":"/docs/admin-ops/administrators-guide/administration-38","page_id":"/docs/admin-ops/administrators-guide/administration","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/administration#metrics-providers","content":"metricsProvider.workerShutdownTimeoutMs :\nNew in 3.7.1:\nThe timeout in ms for Prometheus worker threads shutdown.\nDefault value is 1000ms."},"41":{"id":"/docs/admin-ops/administrators-guide/best-practices","page_id":"/docs/admin-ops/administrators-guide/best-practices","type":"page","content":"Best Practices","breadcrumbs":["Multi-Page Documentation","Admin & Ops","Administrator's Guide"],"tags":[],"url":"/docs/admin-ops/administrators-guide/best-practices"},"42":{"id":"/docs/admin-ops/administrators-guide/best-practices-0","page_id":"/docs/admin-ops/administrators-guide/best-practices","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/best-practices","content":"Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more."},"43":{"id":"/docs/admin-ops/administrators-guide/best-practices-1","page_id":"/docs/admin-ops/administrators-guide/best-practices","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid","content":"Things to Avoid"},"44":{"id":"/docs/admin-ops/administrators-guide/best-practices-2","page_id":"/docs/admin-ops/administrators-guide/best-practices","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/best-practices#best-practices","content":"Best Practices"},"45":{"id":"/docs/admin-ops/administrators-guide/best-practices-3","page_id":"/docs/admin-ops/administrators-guide/best-practices","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid","content":"Here are some common problems you can avoid by configuring\nZooKeeper correctly:"},"46":{"id":"/docs/admin-ops/administrators-guide/best-practices-4","page_id":"/docs/admin-ops/administrators-guide/best-practices","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid","content":"inconsistent lists of servers :\nThe list of ZooKeeper servers used by the clients must match\nthe list of ZooKeeper servers that each ZooKeeper server has.\nThings work okay if the client list is a subset of the real list,\nbut things will really act strange if clients have a list of\nZooKeeper servers that are in different ZooKeeper clusters. Also,\nthe server lists in each Zookeeper server configuration file\nshould be consistent with one another."},"47":{"id":"/docs/admin-ops/administrators-guide/best-practices-5","page_id":"/docs/admin-ops/administrators-guide/best-practices","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid","content":"incorrect placement of transaction log :\nThe most performance critical part of ZooKeeper is the\ntransaction log. ZooKeeper syncs transactions to media before it\nreturns a response. A dedicated transaction log device is key to\nconsistent good performance. Putting the log on a busy device will\nadversely affect performance. If you only have one storage device,\nincrease the snapCount so that snapshot files are generated less often;\nit does not eliminate the problem, but it makes more resources available\nfor the transaction log."},"48":{"id":"/docs/admin-ops/administrators-guide/best-practices-6","page_id":"/docs/admin-ops/administrators-guide/best-practices","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid","content":"incorrect Java heap size :\nYou should take special care to set your Java max heap size\ncorrectly. In particular, you should not create a situation in\nwhich ZooKeeper swaps to disk. The disk is death to ZooKeeper.\nEverything is ordered, so if processing one request swaps the\ndisk, all other queued requests will probably do the same. DON'T SWAP.\nBe conservative in your estimates: if you have 4G of RAM, do\nnot set the Java max heap size to 6G or even 4G. For example, it\nis more likely you would use a 3G heap for a 4G machine, as the\noperating system and the cache also need memory. The best and only\nrecommend practice for estimating the heap size your system needs\nis to run load tests, and then make sure you are well below the\nusage limit that would cause the system to swap."},"49":{"id":"/docs/admin-ops/administrators-guide/best-practices-7","page_id":"/docs/admin-ops/administrators-guide/best-practices","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid","content":"Publicly accessible deployment :\nA ZooKeeper ensemble is expected to operate in a trusted computing environment.\nIt is thus recommended deploying ZooKeeper behind a firewall."},"50":{"id":"/docs/admin-ops/administrators-guide/best-practices-8","page_id":"/docs/admin-ops/administrators-guide/best-practices","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/best-practices#best-practices","content":"For best results, take note of the following list of good\nZookeeper practices:"},"51":{"id":"/docs/admin-ops/administrators-guide/best-practices-9","page_id":"/docs/admin-ops/administrators-guide/best-practices","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/best-practices#best-practices","content":"For multi-tenant installations see the section\ndetailing ZooKeeper \"chroot\" support, this can be very useful\nwhen deploying many applications/services interfacing to a\nsingle ZooKeeper cluster."},"52":{"id":"/docs/admin-ops/administrators-guide/commands","page_id":"/docs/admin-ops/administrators-guide/commands","type":"page","content":"Commands","breadcrumbs":["Multi-Page Documentation","Admin & Ops","Administrator's Guide"],"tags":[],"url":"/docs/admin-ops/administrators-guide/commands"},"53":{"id":"/docs/admin-ops/administrators-guide/commands-0","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands","content":"Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration."},"54":{"id":"/docs/admin-ops/administrators-guide/commands-1","page_id":"/docs/admin-ops/administrators-guide/commands","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"The Four Letter Words"},"55":{"id":"/docs/admin-ops/administrators-guide/commands-2","page_id":"/docs/admin-ops/administrators-guide/commands","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/commands#the-adminserver","content":"The AdminServer"},"56":{"id":"/docs/admin-ops/administrators-guide/commands-3","page_id":"/docs/admin-ops/administrators-guide/commands","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"Configuring AdminServer for SSL/TLS"},"57":{"id":"/docs/admin-ops/administrators-guide/commands-4","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"ZooKeeper responds to a small set of commands. Each command is\ncomposed of four letters. You issue the commands to ZooKeeper via telnet\nor nc, at the client port."},"58":{"id":"/docs/admin-ops/administrators-guide/commands-5","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Three of the more interesting commands: \"stat\" gives some\ngeneral information about the server and connected clients,\nwhile \"srvr\" and \"cons\" give extended details on server and\nconnections respectively."},"59":{"id":"/docs/admin-ops/administrators-guide/commands-6","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"New in 3.5.3:\nFour Letter Words need to be explicitly white listed before using.\nPlease refer to 4lw.commands.whitelist\ndescribed in cluster configuration section for details.\nMoving forward, Four Letter Words will be deprecated, please use\nAdminServer instead."},"60":{"id":"/docs/admin-ops/administrators-guide/commands-7","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"conf :\nNew in 3.3.0: Print\ndetails about serving configuration."},"61":{"id":"/docs/admin-ops/administrators-guide/commands-8","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"cons :\nNew in 3.3.0: List\nfull connection/session details for all clients connected\nto this server. Includes information on numbers of packets\nreceived/sent, session id, operation latencies, last\noperation performed, etc..."},"62":{"id":"/docs/admin-ops/administrators-guide/commands-9","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"crst :\nNew in 3.3.0: Reset\nconnection/session statistics for all connections."},"63":{"id":"/docs/admin-ops/administrators-guide/commands-10","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"dump :\nLists the outstanding sessions and ephemeral nodes."},"64":{"id":"/docs/admin-ops/administrators-guide/commands-11","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"envi :\nPrint details about serving environment"},"65":{"id":"/docs/admin-ops/administrators-guide/commands-12","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"ruok :\nTests if the server is running in a non-error state.\nWhen the whitelist enables ruok, the server will respond with imok\nif it is running, otherwise it will not respond at all.\nWhen ruok is disabled, the server responds with:\n\"ruok is not executed because it is not in the whitelist.\"\nA response of \"imok\" does not necessarily indicate that the\nserver has joined the quorum, just that the server process is active\nand bound to the specified client port. Use \"stat\" for details on\nstate wrt quorum and client connection information."},"66":{"id":"/docs/admin-ops/administrators-guide/commands-13","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"srst :\nReset server statistics."},"67":{"id":"/docs/admin-ops/administrators-guide/commands-14","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"srvr :\nNew in 3.3.0: Lists\nfull details for the server."},"68":{"id":"/docs/admin-ops/administrators-guide/commands-15","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"stat :\nLists brief details for the server and connected\nclients."},"69":{"id":"/docs/admin-ops/administrators-guide/commands-16","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"wchs :\nNew in 3.3.0: Lists\nbrief information on watches for the server."},"70":{"id":"/docs/admin-ops/administrators-guide/commands-17","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"wchc :\nNew in 3.3.0: Lists\ndetailed information on watches for the server, by\nsession. This outputs a list of sessions(connections)\nwith associated watches (paths). Note, depending on the\nnumber of watches this operation may be expensive (ie\nimpact server performance), use it carefully."},"71":{"id":"/docs/admin-ops/administrators-guide/commands-18","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"dirs :\nNew in 3.5.1:\nShows the total size of snapshot and log files in bytes"},"72":{"id":"/docs/admin-ops/administrators-guide/commands-19","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"wchp :\nNew in 3.3.0: Lists\ndetailed information on watches for the server, by path.\nThis outputs a list of paths (znodes) with associated\nsessions. Note, depending on the number of watches this\noperation may be expensive (ie impact server performance),\nuse it carefully."},"73":{"id":"/docs/admin-ops/administrators-guide/commands-20","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"mntr :\nNew in 3.4.0: Outputs a list\nof variables that could be used for monitoring the health of the cluster."},"74":{"id":"/docs/admin-ops/administrators-guide/commands-21","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"The output is compatible with java properties format and the content\nmay change over time (new keys added). Your scripts should expect changes.\nATTENTION: Some of the keys are platform specific and some of the keys are only exported by the Leader.\nThe output contains multiple lines with the following format:"},"75":{"id":"/docs/admin-ops/administrators-guide/commands-22","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"isro :\nNew in 3.4.0: Tests if\nserver is running in read-only mode. The server will respond with\n\"ro\" if in read-only mode or \"rw\" if not in read-only mode."},"76":{"id":"/docs/admin-ops/administrators-guide/commands-23","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"hash :\nNew in 3.6.0:\nReturn the latest history of the tree digest associated with zxid."},"77":{"id":"/docs/admin-ops/administrators-guide/commands-24","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"gtmk :\nGets the current trace mask as a 64-bit signed long value in\ndecimal format. See stmk for an explanation of\nthe possible values."},"78":{"id":"/docs/admin-ops/administrators-guide/commands-25","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"stmk :\nSets the current trace mask. The trace mask is 64 bits,\nwhere each bit enables or disables a specific category of trace\nlogging on the server. Logback must be configured to enable\nTRACE level first in order to see trace logging\nmessages. The bits of the trace mask correspond to the following\ntrace logging categories."},"79":{"id":"/docs/admin-ops/administrators-guide/commands-26","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Trace Mask Bit Values"},"80":{"id":"/docs/admin-ops/administrators-guide/commands-27","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"0b0000000000"},"81":{"id":"/docs/admin-ops/administrators-guide/commands-28","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Unused, reserved for future use."},"82":{"id":"/docs/admin-ops/administrators-guide/commands-29","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"0b0000000010"},"83":{"id":"/docs/admin-ops/administrators-guide/commands-30","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Logs client requests, excluding ping requests."},"84":{"id":"/docs/admin-ops/administrators-guide/commands-31","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"0b0000000100"},"85":{"id":"/docs/admin-ops/administrators-guide/commands-32","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Unused, reserved for future use."},"86":{"id":"/docs/admin-ops/administrators-guide/commands-33","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"0b0000001000"},"87":{"id":"/docs/admin-ops/administrators-guide/commands-34","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Logs client ping requests."},"88":{"id":"/docs/admin-ops/administrators-guide/commands-35","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"0b0000010000"},"89":{"id":"/docs/admin-ops/administrators-guide/commands-36","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Logs packets received from the quorum peer that is the current leader, excluding ping requests."},"90":{"id":"/docs/admin-ops/administrators-guide/commands-37","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"0b0000100000"},"91":{"id":"/docs/admin-ops/administrators-guide/commands-38","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Logs addition, removal and validation of client sessions."},"92":{"id":"/docs/admin-ops/administrators-guide/commands-39","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"0b0001000000"},"93":{"id":"/docs/admin-ops/administrators-guide/commands-40","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Logs delivery of watch events to client sessions."},"94":{"id":"/docs/admin-ops/administrators-guide/commands-41","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"0b0010000000"},"95":{"id":"/docs/admin-ops/administrators-guide/commands-42","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Logs ping packets received from the quorum peer that is the current leader."},"96":{"id":"/docs/admin-ops/administrators-guide/commands-43","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"0b0100000000"},"97":{"id":"/docs/admin-ops/administrators-guide/commands-44","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Unused, reserved for future use."},"98":{"id":"/docs/admin-ops/administrators-guide/commands-45","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"0b1000000000"},"99":{"id":"/docs/admin-ops/administrators-guide/commands-46","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Unused, reserved for future use."},"100":{"id":"/docs/admin-ops/administrators-guide/commands-47","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"All remaining bits in the 64-bit value are unused and reserved for future use.\nMultiple trace logging categories are specified by calculating the bitwise OR of the documented values.\nThe default trace mask is 0b0100110010. Thus, by default, trace logging includes client requests,\npackets received from the leader and sessions.\nTo set a different trace mask, send a request containing the stmk four-letter word followed\nby the trace mask represented as a 64-bit signed long value. This example uses\nthe Perl pack function to construct a trace mask that enables all trace logging categories\ndescribed above and convert it to a 64-bit signed long value with big-endian byte order.\nThe result is appended to stmk and sent to the server using netcat.\nThe server responds with the new trace mask in decimal format."},"101":{"id":"/docs/admin-ops/administrators-guide/commands-48","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","content":"Here's an example of the ruok\ncommand:"},"102":{"id":"/docs/admin-ops/administrators-guide/commands-49","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-adminserver","content":"New in 3.5.0: The AdminServer is\nan embedded Jetty server that provides an HTTP interface to the four-letter\nword commands. By default, the server is started on port 8080,\nand commands are issued by going to the URL \"/commands/[command name]\",\ne.g., http://localhost:8080/commands/stat. The command response is\nreturned as JSON. Unlike the original protocol, commands are not\nrestricted to four-letter names, and commands can have multiple names;\nfor instance, \"stmk\" can also be referred to as \"set_trace_mask\". To\nview a list of all available commands, point a browser to the URL\n/commands (e.g., http://localhost:8080/commands). See the AdminServer configuration options\nfor how to change the port and URLs."},"103":{"id":"/docs/admin-ops/administrators-guide/commands-50","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-adminserver","content":"The AdminServer is enabled by default, but can be disabled by either:"},"104":{"id":"/docs/admin-ops/administrators-guide/commands-51","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-adminserver","content":"Setting the zookeeper.admin.enableServer system\nproperty to false."},"105":{"id":"/docs/admin-ops/administrators-guide/commands-52","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-adminserver","content":"Removing Jetty from the classpath. (This option is\nuseful if you would like to override ZooKeeper's jetty\ndependency.)"},"106":{"id":"/docs/admin-ops/administrators-guide/commands-53","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#the-adminserver","content":"Note that the TCP four-letter word interface is still available if\nthe AdminServer is disabled."},"107":{"id":"/docs/admin-ops/administrators-guide/commands-54","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"Generating the keystore.jks and truststore.jks which can be found in the Quorum TLS."},"108":{"id":"/docs/admin-ops/administrators-guide/commands-55","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"Add the following configuration settings to the zoo.cfg config file:"},"109":{"id":"/docs/admin-ops/administrators-guide/commands-56","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"Verify that the following entries in the logs can be seen:"},"110":{"id":"/docs/admin-ops/administrators-guide/commands-57","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"Available commands include:"},"111":{"id":"/docs/admin-ops/administrators-guide/commands-58","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"connection_stat_reset/crst:\nReset all client connection statistics.\nNo new fields returned."},"112":{"id":"/docs/admin-ops/administrators-guide/commands-59","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"configuration/conf/config :\nPrint basic details about serving configuration, e.g.\nclient port, absolute path to data directory."},"113":{"id":"/docs/admin-ops/administrators-guide/commands-60","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"connections/cons :\nInformation on client connections to server.\nNote, depending on the number of client connections this operation may be expensive\n(i.e. impact server performance).\nReturns \"connections\", a list of connection info objects."},"114":{"id":"/docs/admin-ops/administrators-guide/commands-61","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"hash:\nTxn digests in the historical digest list.\nOne is recorded every 128 transactions.\nReturns \"digests\", a list to transaction digest objects."},"115":{"id":"/docs/admin-ops/administrators-guide/commands-62","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"dirs :\nInformation on logfile directory and snapshot directory\nsize in bytes.\nReturns \"datadir_size\" and \"logdir_size\"."},"116":{"id":"/docs/admin-ops/administrators-guide/commands-63","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"dump :\nInformation on session expirations and ephemerals.\nNote, depending on the number of global sessions and ephemerals\nthis operation may be expensive (i.e. impact server performance).\nReturns \"expiry_time_to_session_ids\" and \"session_id_to_ephemeral_paths\" as maps."},"117":{"id":"/docs/admin-ops/administrators-guide/commands-64","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"environment/env/envi :\nAll defined environment variables.\nReturns each as its own field."},"118":{"id":"/docs/admin-ops/administrators-guide/commands-65","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"get_trace_mask/gtmk :\nThe current trace mask. Read-only version of set_trace_mask.\nSee the description of the four letter command stmk for\nmore details.\nReturns \"tracemask\"."},"119":{"id":"/docs/admin-ops/administrators-guide/commands-66","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"initial_configuration/icfg :\nPrint the text of the configuration file used to start the peer.\nReturns \"initial_configuration\"."},"120":{"id":"/docs/admin-ops/administrators-guide/commands-67","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"is_read_only/isro :\nA true/false if this server is in read-only mode.\nReturns \"read_only\"."},"121":{"id":"/docs/admin-ops/administrators-guide/commands-68","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"last_snapshot/lsnp :\nInformation of the last snapshot that zookeeper server has finished saving to disk.\nIf called during the initial time period between the server starting up\nand the server finishing saving its first snapshot, the command returns the\ninformation of the snapshot read when starting up the server.\nReturns \"zxid\" and \"timestamp\", the latter using a time unit of seconds."},"122":{"id":"/docs/admin-ops/administrators-guide/commands-69","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"leader/lead :\nIf the ensemble is configured in quorum mode then emits the current leader\nstatus of the peer and the current leader location.\nReturns \"is_leader\", \"leader_id\", and \"leader_ip\"."},"123":{"id":"/docs/admin-ops/administrators-guide/commands-70","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"monitor/mntr :\nEmits a wide variety of useful info for monitoring.\nIncludes performance stats, information about internal queues, and\nsummaries of the data tree (among other things).\nReturns each as its own field."},"124":{"id":"/docs/admin-ops/administrators-guide/commands-71","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"observer_connection_stat_reset/orst :\nReset all observer connection statistics. Companion command to observers.\nNo new fields returned."},"125":{"id":"/docs/admin-ops/administrators-guide/commands-72","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"restore/rest :\nRestore database from snapshot input stream on the current server.\nReturns the following data in response payload:\n\"last_zxid\": String\nNote: this API is rate-limited (once every 5 mins by default) to protect the server\nfrom being over-loaded."},"126":{"id":"/docs/admin-ops/administrators-guide/commands-73","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"ruok :\nNo-op command, check if the server is running.\nA response does not necessarily indicate that the\nserver has joined the quorum, just that the admin server\nis active and bound to the specified port.\nNo new fields returned."},"127":{"id":"/docs/admin-ops/administrators-guide/commands-74","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"set_trace_mask/stmk :\nSets the trace mask (as such, it requires a parameter).\nWrite version of get_trace_mask.\nSee the description of the four letter command stmk for\nmore details.\nReturns \"tracemask\"."},"128":{"id":"/docs/admin-ops/administrators-guide/commands-75","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"server_stats/srvr :\nServer information.\nReturns multiple fields giving a brief overview of server state."},"129":{"id":"/docs/admin-ops/administrators-guide/commands-76","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"snapshot/snap :\nTakes a snapshot of the current server in the datadir and stream out data.\nOptional query parameter:\n\"streaming\": Boolean (defaults to true if the parameter is not present)\nReturns the following via Http headers:\n\"last_zxid\": String\n\"snapshot_size\": String\nNote: this API is rate-limited (once every 5 mins by default) to protect the server\nfrom being over-loaded."},"130":{"id":"/docs/admin-ops/administrators-guide/commands-77","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"stats/stat :\nSame as server_stats but also returns the \"connections\" field (see connections\nfor details).\nNote, depending on the number of client connections this operation may be expensive\n(i.e. impact server performance)."},"131":{"id":"/docs/admin-ops/administrators-guide/commands-78","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"stat_reset/srst :\nResets server statistics. This is a subset of the information returned\nby server_stats and stats.\nNo new fields returned."},"132":{"id":"/docs/admin-ops/administrators-guide/commands-79","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"observers/obsr :\nInformation on observer connections to server.\nAlways available on a Leader, available on a Follower if its\nacting as a learner master.\nReturns \"synced_observers\" (int) and \"observers\" (list of per-observer properties)."},"133":{"id":"/docs/admin-ops/administrators-guide/commands-80","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"system_properties/sysp :\nAll defined system properties.\nReturns each as its own field."},"134":{"id":"/docs/admin-ops/administrators-guide/commands-81","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"voting_view :\nProvides the current voting members in the ensemble.\nReturns \"current_config\" as a map."},"135":{"id":"/docs/admin-ops/administrators-guide/commands-82","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"watches/wchc :\nWatch information aggregated by session.\nNote, depending on the number of watches this operation may be expensive\n(i.e. impact server performance).\nReturns \"session_id_to_watched_paths\" as a map."},"136":{"id":"/docs/admin-ops/administrators-guide/commands-83","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"watches_by_path/wchp :\nWatch information aggregated by path.\nNote, depending on the number of watches this operation may be expensive\n(i.e. impact server performance).\nReturns \"path_to_session_ids\" as a map."},"137":{"id":"/docs/admin-ops/administrators-guide/commands-84","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"watch_summary/wchs :\nSummarized watch information.\nReturns \"num_total_watches\", \"num_paths\", and \"num_connections\"."},"138":{"id":"/docs/admin-ops/administrators-guide/commands-85","page_id":"/docs/admin-ops/administrators-guide/commands","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","content":"zabstate :\nThe current phase of Zab protocol that peer is running and whether it is a\nvoting member.\nPeers can be in one of these phases: ELECTION, DISCOVERY, SYNCHRONIZATION, BROADCAST.\nReturns fields \"voting\" and \"zabstate\"."},"139":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","type":"page","content":"Communication using the Netty framework","breadcrumbs":["Multi-Page Documentation","Admin & Ops","Administrator's Guide"],"tags":[],"url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"},"140":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-0","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","content":"Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters."},"141":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-1","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls","content":"Quorum TLS"},"142":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-2","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime","content":"Upgrading existing non-TLS cluster with no downtime"},"143":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-3","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","content":"Netty\nis an NIO based client/server communication framework, it\nsimplifies (over NIO being used directly) many of the\ncomplexities of network level communication for java\napplications. Additionally the Netty framework has built\nin support for encryption (SSL) and authentication\n(certificates). These are optional features and can be\nturned on or off individually."},"144":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-4","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","content":"In versions 3.5+, a ZooKeeper server can use Netty\ninstead of NIO (default option) by setting the environment\nvariable zookeeper.serverCnxnFactory\nto org.apache.zookeeper.server.NettyServerCnxnFactory;\nfor the client, set zookeeper.clientCnxnSocket\nto org.apache.zookeeper.ClientCnxnSocketNetty."},"145":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-5","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls","content":"New in 3.5.5"},"146":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-6","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls","content":"Based on the Netty Framework ZooKeeper ensembles can be set up\nto use TLS encryption in their communication channels. This section\ndescribes how to set up encryption on the quorum communication."},"147":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-7","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls","content":"Please note that Quorum TLS encapsulates securing both leader election\nand quorum communication protocols."},"148":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-8","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls","content":"Create SSL keystore JKS to store local credentials. One keystore should be created for each ZK\ninstance. In this example we generate a self-signed certificate and store it together with the\nprivate key in keystore.jks. This is suitable for testing purposes, but you probably need an\nofficial certificate to sign your keys in a production environment. Please note that the alias\n(-alias) and the distinguished name (-dname) must match the hostname of the machine that is\nassociated with, otherwise hostname verification won't work."},"149":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-9","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls","content":"Extract the signed public key (certificate) from keystore. This step might only be necessary\nfor self-signed certificates."},"150":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-10","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls","content":"Create SSL truststore JKS containing certificates of all ZooKeeper instances. The same\ntruststore (storing all accepted certs) should be shared on participants of the ensemble. You\nneed to use different aliases to store multiple certificates in the same truststore. Name of\nthe aliases doesn't matter."},"151":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-11","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls","content":"Use NettyServerCnxnFactory as serverCnxnFactory, because SSL is not supported by NIO. Add\nthe following configuration settings to your zoo.cfg config file:"},"152":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-12","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls","content":"Verify in the logs that your ensemble is running on TLS:"},"153":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-13","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime","content":"New in 3.5.5"},"154":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-14","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime","content":"Here are the steps needed to upgrade an already running ZooKeeper ensemble\nto TLS without downtime by taking advantage of port unification functionality."},"155":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-15","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime","content":"Create the necessary keystores and truststores for all ZK participants as described in the\nprevious section."},"156":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-16","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime","content":"Add the following config settings and restart the first node. Note that TLS is not yet\nenabled, but we turn on port unification."},"157":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-17","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime","content":"Repeat step 2 on the remaining nodes. Verify that you see the following entries in the logs,\nand double-check after each node restart that the quorum becomes healthy again."},"158":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-18","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime","content":"Enable Quorum TLS on each node and do a rolling restart:"},"159":{"id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-19","page_id":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime","content":"Once you verify that your entire ensemble is running on TLS, disable port unification and do\nanother rolling restart:"},"160":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"page","content":"Configuration Parameters","breadcrumbs":["Multi-Page Documentation","Admin & Ops","Administrator's Guide"],"tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters"},"161":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-0","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters","content":"Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer."},"162":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-1","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration","content":"Minimum Configuration"},"163":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-2","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"Advanced Configuration"},"164":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-3","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"Cluster Options"},"165":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-4","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"Encryption, Authentication, Authorization Options"},"166":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-5","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#tls-cipher-suites","content":"TLS Cipher Suites"},"167":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-6","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#experimental-optionsfeatures","content":"Experimental Options/Features"},"168":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-7","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"Unsafe Options"},"169":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-8","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#disabling-data-directory-autocreation","content":"Disabling data directory autocreation"},"170":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-9","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#enabling-db-existence-validation","content":"Enabling db existence validation"},"171":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-10","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","content":"Performance Tuning Options"},"172":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-11","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#debug-observability-configurations","content":"Debug Observability Configurations"},"173":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-12","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"AdminServer configuration"},"174":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-13","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters","content":"ZooKeeper's behavior is governed by the ZooKeeper configuration\nfile. This file is designed so that the exact same file can be used by\nall the servers that make up a ZooKeeper server assuming the disk\nlayouts are the same. If servers use different configuration files, care\nmust be taken to ensure that the list of servers in all of the different\nconfiguration files match."},"175":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-14","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters","content":"type: info"},"176":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-15","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters","content":"In 3.5.0 and later, some of these parameters should be placed in a dynamic\nconfiguration file. If they are placed in the static configuration file,\nZooKeeper will automatically move them over to the dynamic configuration file.\nSee Dynamic Reconfiguration for\nmore information."},"177":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-16","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration","content":"Here are the minimum configuration keywords that must be defined\nin the configuration file:"},"178":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-17","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration","content":"clientPort :\nthe port to listen for client connections; that is, the\nport that clients attempt to connect to."},"179":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-18","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration","content":"secureClientPort :\nthe port to listen on for secure client connections using SSL.\nclientPort specifies\nthe port for plaintext connections while secureClientPort specifies the port for SSL\nconnections. Specifying both enables mixed-mode while omitting\neither will disable that mode.\nNote that SSL feature will be enabled when user plugs-in\nzookeeper.serverCnxnFactory, zookeeper.clientCnxnSocket as Netty."},"180":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-19","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration","content":"observerMasterPort :\nthe port to listen for observer connections; that is, the\nport that observers attempt to connect to.\nif the property is set then the server will host observer connections\nwhen in follower mode in addition to when in leader mode and correspondingly\nattempt to connect to any voting peer when in observer mode."},"181":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-20","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration","content":"dataDir :\nthe location where ZooKeeper will store the in-memory\ndatabase snapshots and, unless specified otherwise, the\ntransaction log of updates to the database."},"182":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-21","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration","content":"type: info"},"183":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-22","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration","content":"Be careful where you put the transaction log. A dedicated transaction log\ndevice is key to consistent good performance. Putting the log on a busy\ndevice will adversely affect performance."},"184":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-23","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration","content":"tickTime :\nthe length of a single tick, which is the basic time unit\nused by ZooKeeper, as measured in milliseconds. It is used to\nregulate heartbeats, and timeouts. For example, the minimum\nsession timeout will be two ticks."},"185":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-24","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"The configuration settings in the section are optional. You can\nuse them to further fine tune the behaviour of your ZooKeeper servers.\nSome can also be set using Java system properties, generally of the\nform zookeeper.keyword. The exact system\nproperty, when available, is noted below."},"186":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-25","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"dataLogDir :\n(No Java system property)\nThis option will direct the machine to write the\ntransaction log to the dataLogDir rather than the dataDir. This allows a dedicated log\ndevice to be used, and helps avoid competition between logging\nand snapshots."},"187":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-26","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"type: info"},"188":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-27","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"Having a dedicated log device has a large impact on throughput and stable\nlatencies. It is highly recommended dedicating a log device and set\ndataLogDir to point to a directory on that device, and then make sure to\npoint dataDir to a directory not residing on that device."},"189":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-28","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"globalOutstandingLimit :\n(Java system property: zookeeper.globalOutstandingLimit.)\nClients can submit requests faster than ZooKeeper can\nprocess them, especially if there are a lot of clients. To\nprevent ZooKeeper from running out of memory due to queued\nrequests, ZooKeeper will throttle clients so that there are no\nmore than globalOutstandingLimit outstanding requests across\nentire ensemble, equally divided. The default limit is 1,000\nand, for example, with 3 members each of them will have\n1000 / 2 = 500 individual limit."},"190":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-29","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"preAllocSize :\n(Java system property: zookeeper.preAllocSize)\nTo avoid seeks ZooKeeper allocates space in the\ntransaction log file in blocks of preAllocSize kilobytes. The\ndefault block size is 64M. One reason for changing the size of\nthe blocks is to reduce the block size if snapshots are taken\nmore often. (Also, see snapCount and snapSizeLimitInKb)."},"191":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-30","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"snapCount :\n(Java system property: zookeeper.snapCount)\nZooKeeper records its transactions using snapshots and\na transaction log (think write-ahead log). The number of\ntransactions recorded in the transaction log before a snapshot\ncan be taken (and the transaction log rolled) is determined\nby snapCount. In order to prevent all of the machines in the quorum\nfrom taking a snapshot at the same time, each ZooKeeper server\nwill take a snapshot when the number of transactions in the transaction log\nreaches a runtime generated random value in the [snapCount/2+1, snapCount]\nrange. The default snapCount is 100,000."},"192":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-31","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"commitLogCount * :\n(Java system property: zookeeper.commitLogCount)\nZookeeper maintains an in-memory list of last committed requests for fast synchronization with\nfollowers when the followers are not too behind. This improves sync performance in case when your\nsnapshots are large (>100,000). The default value is 500 which is the recommended minimum."},"193":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-32","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"snapSizeLimitInKb :\n(Java system property: zookeeper.snapSizeLimitInKb)\nZooKeeper records its transactions using snapshots and\na transaction log (think write-ahead log). The total size in bytes allowed\nin the set of transactions recorded in the transaction log before a snapshot\ncan be taken (and the transaction log rolled) is determined\nby snapSize. In order to prevent all of the machines in the quorum\nfrom taking a snapshot at the same time, each ZooKeeper server\nwill take a snapshot when the size in bytes of the set of transactions in the\ntransaction log reaches a runtime generated random value in the [snapSize/2+1, snapSize]\nrange. Each file system has a minimum standard file size and in order\nto for valid functioning of this feature, the number chosen must be larger\nthan that value. The default snapSizeLimitInKb is 4,194,304 (4GB).\nA non-positive value will disable the feature."},"194":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-33","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"txnLogSizeLimitInKb :\n(Java system property: zookeeper.txnLogSizeLimitInKb)\nZookeeper transaction log file can also be controlled more\ndirectly using txnLogSizeLimitInKb. Larger txn logs can lead to\nslower follower syncs when sync is done using transaction log.\nThis is because leader has to scan through the appropriate log\nfile on disk to find the transaction to start sync from.\nThis feature is turned off by default and snapCount and snapSizeLimitInKb are the\nonly values that limit transaction log size. When enabled\nZookeeper will roll the log when any of the limits is hit.\nPlease note that actual log size can exceed this value by the size\nof the serialized transaction. On the other hand, if this value is\nset too close to (or smaller than) preAllocSize,\nit can cause Zookeeper to roll the log for every transaction. While\nthis is not a correctness issue, this may cause severely degraded\nperformance. To avoid this and to get most out of this feature, it is\nrecommended to set the value to N * preAllocSize\nwhere N >= 2."},"195":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-34","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"maxCnxns :\n(Java system property: zookeeper.maxCnxns)\nLimits the total number of concurrent connections that can be made to a\nzookeeper server (per client Port of each server ). This is used to prevent certain\nclasses of DoS attacks. The default is 0 and setting it to 0 entirely removes\nthe limit on total number of concurrent connections. Accounting for the\nnumber of connections for serverCnxnFactory and a secureServerCnxnFactory is done\nseparately, so a peer is allowed to host up to 2*maxCnxns provided they are of appropriate types."},"196":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-35","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"maxClientCnxns :\n(No Java system property)\nLimits the number of concurrent connections (at the socket\nlevel) that a single client, identified by IP address, may make\nto a single member of the ZooKeeper ensemble. This is used to\nprevent certain classes of DoS attacks, including file\ndescriptor exhaustion. The default is 60. Setting this to 0\nentirely removes the limit on concurrent connections."},"197":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-36","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"clientPortAddress :\nNew in 3.3.0: the\naddress (ipv4, ipv6 or hostname) to listen for client\nconnections; that is, the address that clients attempt\nto connect to. This is optional, by default we bind in\nsuch a way that any connection to the clientPort for any\naddress/interface/nic on the server will be\naccepted."},"198":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-37","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"minSessionTimeout :\n(No Java system property)\nNew in 3.3.0: the\nminimum session timeout in milliseconds that the server\nwill allow the client to negotiate. Defaults to 2 times\nthe tickTime."},"199":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-38","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"maxSessionTimeout :\n(No Java system property)\nNew in 3.3.0: the\nmaximum session timeout in milliseconds that the server\nwill allow the client to negotiate. Defaults to 20 times\nthe tickTime."},"200":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-39","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"fsync.warningthresholdms :\n(Java system property: zookeeper.fsync.warningthresholdms)\nNew in 3.3.4: A\nwarning message will be output to the log whenever an\nfsync in the Transactional Log (WAL) takes longer than\nthis value. The values is specified in milliseconds and\ndefaults to 1000. This value can only be set as a\nsystem property."},"201":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-40","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"maxResponseCacheSize :\n(Java system property: zookeeper.maxResponseCacheSize)\nWhen set to a positive integer, it determines the size\nof the cache that stores the serialized form of recently\nread records. Helps save the serialization cost on\npopular znodes. The metrics response_packet_cache_hits\nand response_packet_cache_misses can be used to tune\nthis value to a given workload. The feature is turned on\nby default with a value of 400, set to 0 or a negative\ninteger to turn the feature off."},"202":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-41","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"maxGetChildrenResponseCacheSize :\n(Java system property: zookeeper.maxGetChildrenResponseCacheSize)\nNew in 3.6.0:\nSimilar to maxResponseCacheSize, but applies to get children\nrequests. The metrics response_packet_get_children_cache_hits\nand response_packet_get_children_cache_misses can be used to tune\nthis value to a given workload. The feature is turned on\nby default with a value of 400, set to 0 or a negative\ninteger to turn the feature off."},"203":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-42","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"autopurge.snapRetainCount :\n(No Java system property)\nNew in 3.4.0:\nWhen enabled, ZooKeeper auto purge feature retains\nthe autopurge.snapRetainCount most\nrecent snapshots and the corresponding transaction logs in the\ndataDir and dataLogDir respectively and deletes the rest.\nDefaults to 3. Minimum value is 3."},"204":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-43","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"autopurge.purgeInterval :\n(No Java system property)\nNew in 3.4.0: The\ntime interval in hours for which the purge task has to\nbe triggered. Set to a positive integer (1 and above)\nto enable the auto purging. Defaults to 0.\nSuffix support added in 3.10.0: The interval is specified as an integer with an optional suffix to indicate the time unit.\nSupported suffixes are: ms for milliseconds, s for seconds, m for minutes, h for hours, and d for days.\nFor example, \"10m\" represents 10 minutes, and \"5h\" represents 5 hours.\nIf no suffix is provided, the default unit is hours."},"205":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-44","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"syncEnabled :\n(Java system property: zookeeper.observer.syncEnabled)\nNew in 3.4.6, 3.5.0:\nThe observers now log transaction and write snapshot to disk\nby default like the participants. This reduces the recovery time\nof the observers on restart. Set to \"false\" to disable this\nfeature. Default is \"true\""},"206":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-45","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"extendedTypesEnabled :\n(Java system property only: zookeeper.extendedTypesEnabled)\nNew in 3.5.4, 3.6.0: Define to true to enable\nextended features such as the creation of TTL Nodes.\nThey are disabled by default. IMPORTANT: when enabled server IDs must\nbe less than 255 due to internal limitations."},"207":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-46","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"emulate353TTLNodes :\n(Java system property only:zookeeper.emulate353TTLNodes).\nNew in 3.5.4, 3.6.0: Due to [ZOOKEEPER-2901]\n(https://issues.apache.org/jira/browse/ZOOKEEPER-2901) TTL nodes\ncreated in version 3.5.3 are not supported in 3.5.4/3.6.0. However, a workaround is provided via the\nzookeeper.emulate353TTLNodes system property. If you used TTL nodes in ZooKeeper 3.5.3 and need to maintain\ncompatibility set zookeeper.emulate353TTLNodes to true in addition to\nzookeeper.extendedTypesEnabled. NOTE: due to the bug, server IDs\nmust be 127 or less. Additionally, the maximum support TTL value is 1099511627775 which is smaller\nthan what was allowed in 3.5.3 (1152921504606846975)"},"208":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-47","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"watchManagerName :\n(Java system property only: zookeeper.watchManagerName)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nNew watcher manager WatchManagerOptimized is added to optimize the memory overhead in heavy watch use cases. This\nconfig is used to define which watcher manager to be used. Currently, we only support WatchManager and\nWatchManagerOptimized."},"209":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-48","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"watcherCleanThreadsNum :\n(Java system property only: zookeeper.watcherCleanThreadsNum)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThe new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, this config is used to decide how\nmany thread is used in the WatcherCleaner. More thread usually means larger clean up throughput. The\ndefault value is 2, which is good enough even for heavy and continuous session closing/recreating cases."},"210":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-49","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"watcherCleanThreshold :\n(Java system property only: zookeeper.watcherCleanThreshold)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThe new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, the cleanup process is relatively\nheavy, batch processing will reduce the cost and improve the performance. This setting is used to decide\nthe batch size. The default one is 1000, we don't need to change it if there is no memory or clean up\nspeed issue."},"211":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-50","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"watcherCleanIntervalInSeconds :\n(Java system property only:zookeeper.watcherCleanIntervalInSeconds)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThe new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, the cleanup process is relatively\nheavy, batch processing will reduce the cost and improve the performance. Besides watcherCleanThreshold,\nthis setting is used to clean up the dead watchers after certain time even the dead watchers are not larger\nthan watcherCleanThreshold, so that we won't leave the dead watchers there for too long. The default setting\nis 10 minutes, which usually don't need to be changed."},"212":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-51","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"maxInProcessingDeadWatchers :\n(Java system property only: zookeeper.maxInProcessingDeadWatchers)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThis is used to control how many backlog can we have in the WatcherCleaner, when it reaches this number, it will\nslow down adding the dead watcher to WatcherCleaner, which will in turn slow down adding and closing\nwatchers, so that we can avoid OOM issue. By default there is no limit, you can set it to values like\nwatcherCleanThreshold * 1000."},"213":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-52","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"bitHashCacheSize :\n(Java system property only: zookeeper.bitHashCacheSize)\nNew 3.6.0: Added in ZOOKEEPER-1179\nThis is the setting used to decide the HashSet cache size in the BitHashSet implementation. Without HashSet, we\nneed to use O(N) time to get the elements, N is the bit numbers in elementBits. But we need to\nkeep the size small to make sure it doesn't cost too much in memory, there is a trade off between memory\nand time complexity. The default value is 10, which seems a relatively reasonable cache size."},"214":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-53","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"fastleader.minNotificationInterval :\n(Java system property: zookeeper.fastleader.minNotificationInterval)\nLower bound for length of time between two consecutive notification\nchecks on the leader election. This interval determines how long a\npeer waits to check the set of election votes and effects how\nquickly an election can resolve. The interval follows a backoff\nstrategy from the configured minimum (this) and the configured maximum\n(fastleader.maxNotificationInterval) for long elections."},"215":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-54","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"fastleader.maxNotificationInterval :\n(Java system property: zookeeper.fastleader.maxNotificationInterval)\nUpper bound for length of time between two consecutive notification\nchecks on the leader election. This interval determines how long a\npeer waits to check the set of election votes and effects how\nquickly an election can resolve. The interval follows a backoff\nstrategy from the configured minimum (fastleader.minNotificationInterval)\nand the configured maximum (this) for long elections."},"216":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-55","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"connectionMaxTokens :\n(Java system property: zookeeper.connection_throttle_tokens)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the maximum number of tokens in the token-bucket.\nWhen set to 0, throttling is disabled. Default is 0."},"217":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-56","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"connectionTokenFillTime :\n(Java system property: zookeeper.connection_throttle_fill_time)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the interval in milliseconds when the token bucket is re-filled with\nconnectionTokenFillCount tokens. Default is 1."},"218":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-57","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"connectionTokenFillCount :\n(Java system property: zookeeper.connection_throttle_fill_count)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the number of tokens to add to the token bucket every\nconnectionTokenFillTime milliseconds. Default is 1."},"219":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-58","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"connectionFreezeTime :\n(Java system property: zookeeper.connection_throttle_freeze_time)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the interval in milliseconds when the dropping\nprobability is adjusted. When set to -1, probabilistic dropping is disabled.\nDefault is -1."},"220":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-59","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"connectionDropIncrease :\n(Java system property: zookeeper.connection_throttle_drop_increase)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the dropping probability to increase. The throttler\nchecks every connectionFreezeTime milliseconds and if the token bucket is\nempty, the dropping probability will be increased by connectionDropIncrease.\nThe default is 0.02."},"221":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-60","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"connectionDropDecrease :\n(Java system property: zookeeper.connection_throttle_drop_decrease)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the dropping probability to decrease. The throttler\nchecks every connectionFreezeTime milliseconds and if the token bucket has\nmore tokens than a threshold, the dropping probability will be decreased by\nconnectionDropDecrease. The threshold is connectionMaxTokens *\nconnectionDecreaseRatio. The default is 0.002."},"222":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-61","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"connectionDecreaseRatio :\n(Java system property: zookeeper.connection_throttle_decrease_ratio)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping. This parameter defines the threshold to decrease the dropping\nprobability. The default is 0."},"223":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-62","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"zookeeper.connection_throttle_weight_enabled :\n(Java system property only)\nNew in 3.6.0:\nWhether to consider connection weights when throttling. Only useful when connection throttle is enabled, that is, connectionMaxTokens is larger than 0. The default is false."},"224":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-63","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"zookeeper.connection_throttle_global_session_weight :\n(Java system property only)\nNew in 3.6.0:\nThe weight of a global session. It is the number of tokens required for a global session request to get through the connection throttler. It has to be a positive integer no smaller than the weight of a local session. The default is 3."},"225":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-64","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"zookeeper.connection_throttle_local_session_weight :\n(Java system property only)\nNew in 3.6.0:\nThe weight of a local session. It is the number of tokens required for a local session request to get through the connection throttler. It has to be a positive integer no larger than the weight of a global session or a renew session. The default is 1."},"226":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-65","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"zookeeper.connection_throttle_renew_session_weight :\n(Java system property only)\nNew in 3.6.0:\nThe weight of renewing a session. It is also the number of tokens required for a reconnect request to get through the throttler. It has to be a positive integer no smaller than the weight of a local session. The default is 2."},"227":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-66","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"clientPortListenBacklog :\n(No Java system property)\nNew in 3.4.14, 3.5.5, 3.6.0:\nThe socket backlog length for the ZooKeeper server socket. This controls\nthe number of requests that will be queued server-side to be processed\nby the ZooKeeper server. Connections that exceed this length will receive\na network timeout (30s) which may cause ZooKeeper session expiry issues.\nBy default, this value is unset (-1) which, on Linux, uses a backlog of\n50. This value must be a positive number."},"228":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-67","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"serverCnxnFactory :\n(Java system property: zookeeper.serverCnxnFactory)\nSpecifies ServerCnxnFactory implementation.\nThis should be set to NettyServerCnxnFactory in order to use TLS based server communication.\nDefault is NIOServerCnxnFactory."},"229":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-68","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"flushDelay :\n(Java system property: zookeeper.flushDelay)\nTime in milliseconds to delay the flush of the commit log.\nDoes not affect the limit defined by maxBatchSize.\nDisabled by default (with value 0). Ensembles with high write rates\nmay see throughput improved with a value of 10-20 ms."},"230":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-69","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"maxWriteQueuePollTime :\n(Java system property: zookeeper.maxWriteQueuePollTime)\nIf flushDelay is enabled, this determines the amount of time in milliseconds\nto wait before flushing when no new requests are being queued.\nSet to flushDelay/3 by default (implicitly disabled by default)."},"231":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-70","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"maxBatchSize :\n(Java system property: zookeeper.maxBatchSize)\nThe number of transactions allowed in the server before a flush of the\ncommit log is triggered.\nDoes not affect the limit defined by flushDelay.\nDefault is 1000."},"232":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-71","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"enforceQuota :\n(Java system property: zookeeper.enforceQuota)\nNew in 3.7.0:\nEnforce the quota check. When enabled and the client exceeds the total bytes or children count hard quota under a znode, the server will reject the request and reply the client a QuotaExceededException by force.\nThe default value is: false. Exploring quota feature for more details."},"233":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-72","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"requestThrottleLimit :\n(Java system property: zookeeper.request_throttle_max_requests)\nNew in 3.6.0:\nThe total number of outstanding requests allowed before the RequestThrottler starts stalling. When set to 0, throttling is disabled. The default is 0."},"234":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-73","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"requestThrottleStallTime :\n(Java system property: zookeeper.request_throttle_stall_time)\nNew in 3.6.0:\nThe maximum time (in milliseconds) for which a thread may wait to be notified that it may proceed processing a request. The default is 100."},"235":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-74","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"requestThrottleDropStale :\n(Java system property: request_throttle_drop_stale)\nNew in 3.6.0:\nWhen enabled, the throttler will drop stale requests rather than issue them to the request pipeline. A stale request is a request sent by a connection that is now closed, and/or a request that will have a request latency higher than the sessionTimeout. The default is true."},"236":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-75","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"requestStaleLatencyCheck :\n(Java system property: zookeeper.request_stale_latency_check)\nNew in 3.6.0:\nWhen enabled, a request is considered stale if the request latency is higher than its associated session timeout. Disabled by default."},"237":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-76","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"requestStaleConnectionCheck :\n(Java system property: zookeeper.request_stale_connection_check)\nNew in 3.6.0:\nWhen enabled, a request is considered stale if the request's connection has closed. Enabled by default."},"238":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-77","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"zookeeper.request_throttler.shutdownTimeout :\n(Java system property only)\nNew in 3.6.0:\nThe time (in milliseconds) the RequestThrottler waits for the request queue to drain during shutdown before it shuts down forcefully. The default is 10000."},"239":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-78","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"advancedFlowControlEnabled :\n(Java system property: zookeeper.netty.advancedFlowControl.enabled)\nUsing accurate flow control in netty based on the status of ZooKeeper\npipeline to avoid direct buffer OOM. It will disable the AUTO_READ in\nNetty."},"240":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-79","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"enableEagerACLCheck :\n(Java system property only: zookeeper.enableEagerACLCheck)\nWhen set to \"true\", enables eager ACL check on write requests on each local\nserver before sending the requests to quorum. Default is \"false\"."},"241":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-80","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"maxConcurrentSnapSyncs :\n(Java system property: zookeeper.leader.maxConcurrentSnapSyncs)\nThe maximum number of snap syncs a leader or a follower can serve at the same\ntime. The default is 10."},"242":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-81","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"maxConcurrentDiffSyncs :\n(Java system property: zookeeper.leader.maxConcurrentDiffSyncs)\nThe maximum number of diff syncs a leader or a follower can serve at the same\ntime. The default is 100."},"243":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-82","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"digest.enabled :\n(Java system property only: zookeeper.digest.enabled)\nNew in 3.6.0:\nThe digest feature is added to detect the data inconsistency inside\nZooKeeper when loading database from disk, catching up and following\nleader, its doing incrementally hash check for the DataTree based on\nthe adHash paper mentioned in"},"244":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-83","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"https://cseweb.ucsd.edu/~daniele/papers/IncHash.pdf"},"245":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-84","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"The idea is simple, the hash value of DataTree will be updated incrementally\nbased on the changes to the set of data. When the leader is preparing the txn,\nit will pre-calculate the hash of the tree based on the changes happened with\nformula:"},"246":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-85","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"current_hash = current_hash + hash(new node data) - hash(old node data)"},"247":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-86","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"If it’s creating a new node, the hash(old node data) will be 0, and if it’s a\ndelete node op, the hash(new node data) will be 0."},"248":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-87","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"This hash will be associated with each txn to represent the expected hash value\nafter applying the txn to the data tree, it will be sent to followers with\noriginal proposals. Learner will compare the actual hash value with the one in\nthe txn after applying the txn to the data tree, and report mismatch if it’s not\nthe same."},"249":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-88","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"These digest value will also be persisted with each txn and snapshot on the disk,\nso when servers restarted and load data from disk, it will compare and see if\nthere is hash mismatch, which will help detect data loss issue on disk."},"250":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-89","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"For the actual hash function, we’re using CRC internally, it’s not a collisionless\nhash function, but it’s more efficient compared to collisionless hash, and the\ncollision possibility is really really rare and can already meet our needs here."},"251":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-90","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"This feature is backward and forward compatible, so it can safely roll upgrade,\ndowngrade, enabled and later disabled without any compatible issue. Here are the\nscenarios have been covered and tested:"},"252":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-91","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"When leader runs with new code while follower runs with old one, the digest will\nbe appended to the end of each txn, follower will only read header and txn data,\ndigest value in the txn will be ignored. It won't affect the follower reads and\nprocesses the next txn."},"253":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-92","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"When leader runs with old code while follower runs with new one, the digest won't\nbe sent with txn, when follower tries to read the digest, it will throw EOF which\nis caught and handled gracefully with digest value set to null."},"254":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-93","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"When loading old snapshot with new code, it will throw IOException when trying to\nread the non-exist digest value, and the exception will be caught and digest will\nbe set to null, which means we won't compare digest when loading this snapshot,\nwhich is expected to happen during rolling upgrade"},"255":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-94","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"When loading new snapshot with old code, it will finish successfully after deserializing\nthe data tree, the digest value at the end of snapshot file will be ignored"},"256":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-95","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"The scenarios of rolling restart with flags change are similar to the 1st and 2nd\nscenarios discussed above, if the leader enabled but follower not, digest value will\nbe ignored, and follower won't compare the digest during runtime; if leader disabled\nbut follower enabled, follower will get EOF exception which is handled gracefully."},"257":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-96","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"Note: the current digest calculation excluded nodes under /zookeeper\ndue to the potential inconsistency in the /zookeeper/quota stat node,\nwe can include that after that issue is fixed."},"258":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-97","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"By default, this feature is enabled, set \"false\" to disable it."},"259":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-98","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"snapshot.compression.method :\n(Java system property: zookeeper.snapshot.compression.method)\nNew in 3.6.0:\nThis property controls whether or not ZooKeeper should compress snapshots\nbefore storing them on disk (see ZOOKEEPER-3179).\nPossible values are:"},"260":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-99","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"\"\": Disabled (no snapshot compression). This is the default behavior."},"261":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-100","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"\"gz\": See gzip compression."},"262":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-101","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"\"snappy\": See Snappy compression."},"263":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-102","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"snapshot.trust.empty :\n(Java system property: zookeeper.snapshot.trust.empty)\nNew in 3.5.6:\nThis property controls whether or not ZooKeeper should treat missing\nsnapshot files as a fatal state that can't be recovered from.\nSet to true to allow ZooKeeper servers recover without snapshot\nfiles. This should only be set during upgrading from old versions of\nZooKeeper (3.4.x, pre 3.5.3) where ZooKeeper might only have transaction\nlog files but without presence of snapshot files. If the value is set\nduring upgrade, we recommend setting the value back to false after upgrading\nand restart ZooKeeper process so ZooKeeper can continue normal data\nconsistency check during recovery process.\nDefault value is false."},"264":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-103","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"audit.enable :\n(Java system property: zookeeper.audit.enable)\nNew in 3.6.0:\nBy default audit logs are disabled. Set to \"true\" to enable it. Default value is \"false\".\nSee the ZooKeeper audit logs for more information."},"265":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-104","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"audit.impl.class :\n(Java system property: zookeeper.audit.impl.class)\nNew in 3.6.0:\nClass to implement the audit logger. By default logback based audit logger org.apache.zookeeper.audit\n.Slf4jAuditLogger is used.\nSee the ZooKeeper audit logs for more information."},"266":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-105","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"largeRequestMaxBytes :\n(Java system property: zookeeper.largeRequestMaxBytes)\nNew in 3.6.0:\nThe maximum number of bytes of all inflight large request. The connection will be closed if a coming large request causes the limit exceeded. The default is 100 * 1024 * 1024."},"267":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-106","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"largeRequestThreshold :\n(Java system property: zookeeper.largeRequestThreshold)\nNew in 3.6.0:\nThe size threshold after which a request is considered a large request. If it is -1, then all requests are considered small, effectively turning off large request throttling. The default is -1."},"268":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-107","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"outstandingHandshake.limit\n(Java system property only: zookeeper.netty.server.outstandingHandshake.limit)\nThe maximum in-flight TLS handshake connections could have in ZooKeeper,\nthe connections exceed this limit will be rejected before starting handshake.\nThis setting doesn't limit the max TLS concurrency, but helps avoid herd\neffect due to TLS handshake timeout when there are too many in-flight TLS\nhandshakes. Set it to something like 250 is good enough to avoid herd effect."},"269":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-108","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"netty.server.earlyDropSecureConnectionHandshakes\n(Java system property: zookeeper.netty.server.earlyDropSecureConnectionHandshakes)\nIf the ZooKeeper server is not fully started, drop TCP connections before performing the TLS handshake.\nThis is useful in order to prevent flooding the server with many concurrent TLS handshakes after a restart.\nPlease note that if you enable this flag the server won't answer to 'ruok' commands if it is not fully started.\nThe behaviour of dropping the connection has been introduced in ZooKeeper 3.7 and it was not possible to disable it.\nSince 3.7.1 and 3.8.0 this feature is disabled by default."},"270":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-109","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"throttledOpWaitTime\n(Java system property: zookeeper.throttled_op_wait_time)\nThe time in the RequestThrottler queue longer than which a request will be marked as throttled.\nA throttled requests will not be processed other than being fed down the pipeline of the server it belongs\nto preserve the order of all requests.\nThe FinalProcessor will issue an error response (new error code: ZTHROTTLEDOP) for these undigested requests.\nThe intent is for the clients not to retry them immediately.\nWhen set to 0, no requests will be throttled. The default is 0."},"271":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-110","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"learner.closeSocketAsync\n(Java system property: zookeeper.learner.closeSocketAsync)\n(Java system property: learner.closeSocketAsync)(Added for backward compatibility)\nNew in 3.7.0:\nWhen enabled, a learner will close the quorum socket asynchronously. This is useful for TLS connections where closing a socket might take a long time, block the shutdown process, potentially delay a new leader election, and leave the quorum unavailable. Closing the socket asynchronously avoids blocking the shutdown process despite the long socket closing time and a new leader election can be started while the socket being closed.\nThe default is false."},"272":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-111","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"leader.closeSocketAsync\n(Java system property: zookeeper.leader.closeSocketAsync)\n(Java system property: leader.closeSocketAsync)(Added for backward compatibility)\nNew in 3.7.0:\nWhen enabled, the leader will close a quorum socket asynchronously. This is useful for TLS connections where closing a socket might take a long time. If disconnecting a follower is initiated in ping() because of a failed SyncLimitCheck then the long socket closing time will block the sending of pings to other followers. Without receiving pings, the other followers will not send session information to the leader, which causes sessions to expire. Setting this flag to true ensures that pings will be sent regularly.\nThe default is false."},"273":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-112","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"learner.asyncSending\n(Java system property: zookeeper.learner.asyncSending)\n(Java system property: learner.asyncSending)(Added for backward compatibility)\nNew in 3.7.0:\nThe sending and receiving packets in Learner were done synchronously in a critical section. An untimely network issue could cause the followers to hang (see ZOOKEEPER-3575 and ZOOKEEPER-4074). The new design moves sending packets in Learner to a separate thread and sends the packets asynchronously. The new design is enabled with this parameter (learner.asyncSending).\nThe default is false."},"274":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-113","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"forward_learner_requests_to_commit_processor_disabled\n(Java system property: zookeeper.forward_learner_requests_to_commit_processor_disabled)\nWhen this property is set, the requests from learners won't be enqueued to\nCommitProcessor queue, which will help save the resources and GC time on\nleader. The default value is false."},"275":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-114","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"serializeLastProcessedZxid.enabled\n(Java system property: zookeeper.serializeLastProcessedZxid.enabled)\nNew in 3.9.0:\nIf enabled, ZooKeeper serializes the lastProcessedZxid when snapshot and deserializes it\nwhen restore. Defaults to true. Needs to be enabled for performing snapshot and restore\nvia admin server commands, as there is no snapshot file name to extract the lastProcessedZxid."},"276":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-115","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"This feature is backward and forward compatible. Here are the different scenarios."},"277":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-116","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"Snapshot triggered by server internally"},"278":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-117","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"When loading old snapshot with new code, it will throw EOFException when trying to\nread the non-exist lastProcessedZxid value, and the exception will be caught.\nThe lastProcessedZxid will be set using the snapshot file name."},"279":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-118","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"When loading new snapshot with old code, it will finish successfully after deserializing\nthe digest value, the lastProcessedZxid at the end of snapshot file will be ignored.\nThe lastProcessedZxid will be set using the snapshot file name."},"280":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-119","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"Sync up between leader and follower: The lastProcessedZxid will not be serialized by\nleader and deserialized by follower in both new and old code. It will be set to the\nlastProcessedZxid sent from leader via QuorumPacket."},"281":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-120","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","content":"Snapshot triggered via admin server APIs: The feature flag need to be enabled for the\nsnapshot command to work."},"282":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-121","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"The options in this section are designed for use with an ensemble\nof servers — that is, when deploying clusters of servers."},"283":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-122","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"electionAlg :\n(No Java system property)\nElection implementation to use. A value of \"1\" corresponds to the\nnon-authenticated UDP-based version of fast leader election, \"2\"\ncorresponds to the authenticated UDP-based version of fast\nleader election, and \"3\" corresponds to TCP-based version of\nfast leader election. Algorithm 3 was made default in 3.2.0 and\nprior versions (3.0.0 and 3.1.0) were using algorithm 1 and 2 as well."},"284":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-123","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"type: info"},"285":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-124","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"The implementations of leader election 1, and 2 were deprecated in\n3.4.0. Since 3.6.0 only FastLeaderElection is available, in case of upgrade\nyou have to shut down all of your servers and restart them with\nelectionAlg=3 (or by removing the line from the configuration file)."},"286":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-125","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"maxTimeToWaitForEpoch :\n(Java system property: zookeeper.leader.maxTimeToWaitForEpoch)\nNew in 3.6.0:\nThe maximum time to wait for epoch from voters when activating\nleader. If leader received a LOOKING notification from one of\nits voters, and it hasn't received epoch packets from majority\nwithin maxTimeToWaitForEpoch, then it will goto LOOKING and\nelect leader again.\nThis can be tuned to reduce the quorum or server unavailable\ntime, it can be set to be much smaller than initLimit * tickTime.\nIn cross datacenter environment, it can be set to something\nlike 2s."},"287":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-126","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"initLimit :\n(No Java system property)\nAmount of time, in ticks (see tickTime), to allow followers to\nconnect and sync to a leader. Increased this value as needed, if\nthe amount of data managed by ZooKeeper is large."},"288":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-127","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"connectToLearnerMasterLimit :\n(Java system property: zookeeper.connectToLearnerMasterLimit)\nAmount of time, in ticks (see tickTime), to allow followers to\nconnect to the leader after leader election. Defaults to the value of initLimit.\nUse when initLimit is high so connecting to learner master doesn't result in higher timeout."},"289":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-128","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"leaderServes :\n(Java system property: zookeeper.leaderServes)\nLeader accepts client connections. Default value is \"yes\".\nThe leader machine coordinates updates. For higher update\nthroughput at the slight expense of read throughput the leader\ncan be configured to not accept clients and focus on\ncoordination. The default to this option is yes, which means\nthat a leader will accept client connections."},"290":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-129","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"type: info"},"291":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-130","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"Turning on leader selection is highly recommended when you have more than\nthree ZooKeeper servers in an ensemble."},"292":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-131","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"server.x=[hostname]:nnnnn[:nnnnn] etc :\n(No Java system property)\nServers making up the ZooKeeper ensemble. When the server\nstarts up, it determines which server it is by looking for the\nfile myid in the data directory. That file contains the server number, in ASCII,\nand it should match x in server.x in the left hand side of this setting.\nThe list of servers that make up ZooKeeper servers that is\nused by the clients must match the list of ZooKeeper servers\nthat each ZooKeeper server has.\nThere are two port numbers nnnnn.\nThe first followers used to connect to the leader, and the second is for\nleader election. If you want to test multiple servers on a single machine, then\ndifferent ports can be used for each server."},"293":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-132","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"Since ZooKeeper 3.6.0 it is possible to specify multiple addresses for each\nZooKeeper server (see ZOOKEEPER-3188).\nTo enable this feature, you must set the multiAddress.enabled configuration property\nto true. This helps to increase availability and adds network level\nresiliency to ZooKeeper. When multiple physical network interfaces are used\nfor the servers, ZooKeeper is able to bind on all interfaces and runtime switching\nto a working interface in case a network error. The different addresses can be specified\nin the config using a pipe ('|') character. A valid configuration using multiple addresses looks like:"},"294":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-133","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"type: info"},"295":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-134","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"By enabling this feature, the Quorum protocol (ZooKeeper Server-Server\nprotocol) will change. The users will not notice this and when anyone starts\na ZooKeeper cluster with the new config, everything will work normally.\nHowever, it's not possible to enable this feature and specify multiple\naddresses during a rolling upgrade if the old ZooKeeper cluster didn't\nsupport the multiAddress feature (and the new Quorum protocol). In case if\nyou need this feature but you also need to perform a rolling upgrade from a\nZooKeeper cluster older than 3.6.0, then you first need to do the rolling\nupgrade without enabling the MultiAddress feature and later make a separate\nrolling restart with the new configuration where multiAddress.enabled is\nset to true and multiple addresses are provided."},"296":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-135","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"syncLimit :\n(No Java system property)\nAmount of time, in ticks (see tickTime), to allow followers to sync\nwith ZooKeeper. If followers fall too far behind a leader, they\nwill be dropped."},"297":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-136","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"group.x=nnnnn[:nnnnn] :\n(No Java system property)\nEnables a hierarchical quorum construction.\"x\" is a group identifier\nand the numbers following the \"=\" sign correspond to server identifiers.\nThe left-hand side of the assignment is a colon-separated list of server\nidentifiers. Note that groups must be disjoint and the union of all groups\nmust be the ZooKeeper ensemble.\nYou will find an example here"},"298":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-137","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"weight.x=nnnnn :\n(No Java system property)\nUsed along with \"group\", it assigns a weight to a server when\nforming quorums. Such a value corresponds to the weight of a server\nwhen voting. There are a few parts of ZooKeeper that require voting\nsuch as leader election and the atomic broadcast protocol. By default\nthe weight of server is 1. If the configuration defines groups, but not\nweights, then a value of 1 will be assigned to all servers.\nYou will find an example here"},"299":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-138","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"cnxTimeout :\n(Java system property: zookeeper.cnxTimeout)\nSets the timeout value for opening connections for leader election notifications.\nOnly applicable if you are using electionAlg 3."},"300":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-139","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"type: info"},"301":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-140","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"quorumCnxnTimeoutMs :\n(Java system property: zookeeper.quorumCnxnTimeoutMs)\nSets the read timeout value for the connections for leader election notifications.\nOnly applicable if you are using electionAlg 3."},"302":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-141","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"type: info"},"303":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-142","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"Default value is -1, which will then use the syncLimit * tickTime as the\ntimeout."},"304":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-143","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"standaloneEnabled :\n(No Java system property)\nNew in 3.5.0:\nWhen set to false, a single server can be started in replicated\nmode, a lone participant can run with observers, and a cluster\ncan reconfigure down to one node, and up from one node. The\ndefault is true for backwards compatibility. It can be set\nusing QuorumPeerConfig's setStandaloneEnabled method or by\nadding \"standaloneEnabled=false\" or \"standaloneEnabled=true\"\nto a server's config file."},"305":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-144","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"reconfigEnabled :\n(No Java system property)\nNew in 3.5.3:\nThis controls the enabling or disabling of\nDynamic Reconfiguration feature. When the feature\nis enabled, users can perform reconfigure operations through\nthe ZooKeeper client API or through ZooKeeper command line tools\nassuming users are authorized to perform such operations.\nWhen the feature is disabled, no user, including the super user,\ncan perform a reconfiguration. Any attempt to reconfigure will return an error.\n\"reconfigEnabled\" option can be set as\n\"reconfigEnabled=false\" or\n\"reconfigEnabled=true\"\nto a server's config file, or using QuorumPeerConfig's\nsetReconfigEnabled method. The default value is false.\nIf present, the value should be consistent across every server in\nthe entire ensemble. Setting the value as true on some servers and false\non other servers will cause inconsistent behavior depending on which server\nis elected as leader. If the leader has a setting of\n\"reconfigEnabled=true\", then the ensemble\nwill have reconfig feature enabled. If the leader has a setting of\n\"reconfigEnabled=false\", then the ensemble\nwill have reconfig feature disabled. It is thus recommended having a consistent\nvalue for \"reconfigEnabled\" across servers\nin the ensemble."},"306":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-145","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"4lw.commands.whitelist :\n(Java system property: zookeeper.4lw.commands.whitelist)\nNew in 3.5.3:\nA list of comma separated Four Letter Words\ncommands that user wants to use. A valid Four Letter Words\ncommand must be put in this list else ZooKeeper server will\nnot enable the command.\nBy default the whitelist only contains \"srvr\" command\nwhich zkServer.sh uses. Additionally, if Read Only Mode is enabled by setting\nJava system property readonlymode.enabled, then the \"isro\" command is\nadded to the whitelist. The rest of four-letter word commands are disabled\nby default: attempting to use them will gain a response\n\".... is not executed because it is not in the whitelist.\"\nHere's an example of the configuration that enables stat, ruok, conf, and isro\ncommand while disabling the rest of Four Letter Words command:"},"307":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-146","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"If you really need enable all four-letter word commands by default, you can use\nthe asterisk option so you don't have to include every command one by one in the list.\nAs an example, this will enable all four-letter word commands:"},"308":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-147","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"tcpKeepAlive :\n(Java system property: zookeeper.tcpKeepAlive)\nNew in 3.5.4:\nSetting this to true sets the TCP keepAlive flag on the\nsockets used by quorum members to perform elections.\nThis will allow for connections between quorum members to\nremain up when there is network infrastructure that may\notherwise break them. Some NATs and firewalls may terminate\nor lose state for long-running or idle connections.\nEnabling this option relies on OS level settings to work\nproperly, check your operating system's options regarding TCP\nkeepalive for more information. Defaults to\nfalse."},"309":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-148","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"clientTcpKeepAlive :\n(Java system property: zookeeper.clientTcpKeepAlive)\nNew in 3.6.1:\nSetting this to true sets the TCP keepAlive flag on the\nclient sockets. Some broken network infrastructure may lose\nthe FIN packet that is sent from closing client. These never\nclosed client sockets cause OS resource leak. Enabling this\noption terminates these zombie sockets by idle check.\nEnabling this option relies on OS level settings to work\nproperly, check your operating system's options regarding TCP\nkeepalive for more information. Defaults to false. Please\nnote the distinction between it and tcpKeepAlive. It is\napplied for the client sockets while tcpKeepAlive is for\nthe sockets used by quorum members. Currently this option is\nonly available when default NIOServerCnxnFactory is used."},"310":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-149","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"electionPortBindRetry :\n(Java system property only: zookeeper.electionPortBindRetry)\nProperty set max retry count when Zookeeper server fails to bind\nleader election port. Such errors can be temporary and recoverable,\nsuch as DNS issue described in ZOOKEEPER-3320,\nor non-retryable, such as port already in use.\nIn case of transient errors, this property can improve availability\nof Zookeeper server and help it to self recover.\nDefault value 3. In container environment, especially in Kubernetes,\nthis value should be increased or set to 0(infinite retry) to overcome issues\nrelated to DNS name resolving."},"311":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-150","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"observer.reconnectDelayMs :\n(Java system property: zookeeper.observer.reconnectDelayMs)\nWhen observer loses its connection with the leader, it waits for the\nspecified value before trying to reconnect with the leader so that\nthe entire observer fleet won't try to run leader election and reconnect\nto the leader at once.\nDefaults to 0 ms."},"312":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-151","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"observer.election.DelayMs :\n(Java system property: zookeeper.observer.election.DelayMs)\nDelay the observer's participation in a leader election upon disconnect\nso as to prevent unexpected additional load on the voting peers during\nthe process. Defaults to 200 ms."},"313":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-152","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","content":"localSessionsEnabled and localSessionsUpgradingEnabled :\nNew in 3.5:\nOptional value is true or false. Their default values are false.\nTurning on the local session feature by setting localSessionsEnabled=true. Turning on\nlocalSessionsUpgradingEnabled can upgrade a local session to a global session automatically as required (e.g. creating ephemeral nodes),\nwhich only matters when localSessionsEnabled is enabled."},"314":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-153","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"The options in this section allow control over\nencryption/authentication/authorization performed by the service."},"315":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-154","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"Beside this page, you can also find useful information about client side configuration in the\nProgrammers Guide.\nThe ZooKeeper Wiki also has useful pages about ZooKeeper SSL support,\nand SASL authentication for ZooKeeper."},"316":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-155","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"DigestAuthenticationProvider.enabled :\n(Java system property: zookeeper.DigestAuthenticationProvider.enabled)\nNew in 3.7:\nDetermines whether the digest authentication provider is\nenabled. The default value is true for backwards\ncompatibility, but it may be a good idea to disable this provider\nif not used, as it can result in misleading entries appearing in\naudit logs\n(see ZOOKEEPER-3979)"},"317":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-156","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"DigestAuthenticationProvider.superDigest :\n(Java system property: zookeeper.DigestAuthenticationProvider.superDigest)\nBy default this feature is disabled\nNew in 3.2:\nEnables a ZooKeeper ensemble administrator to access the\nznode hierarchy as a \"super\" user. In particular no ACL\nchecking occurs for a user authenticated as\nsuper.\norg.apache.zookeeper.server.auth.DigestAuthenticationProvider\ncan be used to generate the superDigest, call it with\none parameter of \"super:\". Provide the\ngenerated \"super:\" as the system property value\nwhen starting each server of the ensemble.\nWhen authenticating to a ZooKeeper server (from a\nZooKeeper client) pass a scheme of \"digest\" and authdata\nof \"super:\". Note that digest auth passes\nthe authdata in plaintext to the server, it would be\nprudent to use this authentication method only on\nlocalhost (not over the network) or over an encrypted\nconnection."},"318":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-157","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"DigestAuthenticationProvider.digestAlg :\n(Java system property: zookeeper.DigestAuthenticationProvider.digestAlg)\nNew in 3.7.0:\nSet ACL digest algorithm. The default value is: SHA1 which will be deprecated in the future for security issues."},"319":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-158","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"Set this property the same value in all the servers."},"320":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-159","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"How to support other more algorithms?"},"321":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-160","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"Modify the java.security configuration file under $JAVA_HOME/jre/lib/security/java.security by specifying\nsecurity.provider.=."},"322":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-161","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"For example:"},"323":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-162","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"Copy the jar file to $JAVA_HOME/jre/lib/ext/."},"324":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-163","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"For example:"},"325":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-164","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"How to migrate from one digest algorithm to another?"},"326":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-165","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"Regenerate superDigest when migrating to new algorithm."},"327":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-166","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"Run SetAcl for a znode which already had a digest auth of old algorithm."},"328":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-167","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"IPAuthenticationProvider.usexforwardedfor :\n(Java system property: zookeeper.IPAuthenticationProvider.usexforwardedfor)\nNew in 3.9.3:\nIPAuthenticationProvider uses the client IP address to authenticate the user. By\ndefault it reads the Host HTTP header to detect client IP address. In some\nproxy configurations the proxy server adds the X-Forwarded-For header to\nthe request in order to provide the IP address of the original client request.\nBy enabling usexforwardedfor ZooKeeper setting, X-Forwarded-For will be preferred\nover the standard Host header.\nDefault value is false."},"329":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-168","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"X509AuthenticationProvider.superUser :\n(Java system property: zookeeper.X509AuthenticationProvider.superUser)\nThe SSL-backed way to enable a ZooKeeper ensemble\nadministrator to access the znode hierarchy as a \"super\" user.\nWhen this parameter is set to an X500 principal name, only an\nauthenticated client with that principal will be able to bypass\nACL checking and have full privileges to all znodes."},"330":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-169","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"zookeeper.superUser :\n(Java system property: zookeeper.superUser)\nSimilar to zookeeper.X509AuthenticationProvider.superUser\nbut is generic for SASL based logins. It stores the name of\na user that can access the znode hierarchy as a \"super\" user.\nYou can specify multiple SASL super users using the\nzookeeper.superUser.[suffix] notation, e.g.:\nzookeeper.superUser.1=...."},"331":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-170","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.authProvider :\n(Java system property: zookeeper.ssl.authProvider)\nSpecifies a subclass of org.apache.zookeeper.auth.X509AuthenticationProvider\nto use for secure client authentication. This is useful in\ncertificate key infrastructures that do not use JKS. It may be\nnecessary to extend javax.net.ssl.X509KeyManager and javax.net.ssl.X509TrustManager\nto get the desired behavior from the SSL stack. To configure the\nZooKeeper server to use the custom provider for authentication,\nchoose a scheme name for the custom AuthenticationProvider and\nset the property zookeeper.authProvider.[scheme] to the fully-qualified class name of the custom\nimplementation. This will load the provider into the ProviderRegistry.\nThen set this property zookeeper.ssl.authProvider=[scheme] and that provider\nwill be used for secure authentication."},"332":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-171","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"zookeeper.ensembleAuthName :\n(Java system property only: zookeeper.ensembleAuthName)\nNew in 3.6.0:\nSpecify a list of comma-separated valid names/aliases of an ensemble. A client\ncan provide the ensemble name it intends to connect as the credential for scheme \"ensemble\". The EnsembleAuthenticationProvider will check the credential against\nthe list of names/aliases of the ensemble that receives the connection request.\nIf the credential is not in the list, the connection request will be refused.\nThis prevents a client accidentally connecting to a wrong ensemble."},"333":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-172","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"sessionRequireClientSASLAuth :\n(Java system property: zookeeper.sessionRequireClientSASLAuth)\nNew in 3.6.0:\nWhen set to true, ZooKeeper server will only accept connections and requests from clients\nthat have authenticated with server via SASL. Clients that are not configured with SASL\nauthentication, or configured with SASL but failed authentication (i.e. with invalid credential)\nwill not be able to establish a session with server. A typed error code (-124) will be delivered\nin such case, both Java and C client will close the session with server thereafter,\nwithout further attempts on retrying to reconnect."},"334":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-173","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"This configuration is shorthand for enforce.auth.enabled=true and enforce.auth.scheme=sasl"},"335":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-174","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"By default, this feature is disabled. Users who would like to opt-in can enable the feature\nby setting sessionRequireClientSASLAuth to true."},"336":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-175","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"This feature overrules the zookeeper.allowSaslFailedClients option, so even if server is\nconfigured to allow clients that fail SASL authentication to login, client will not be able to\nestablish a session with server if this feature is enabled."},"337":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-176","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"enforce.auth.enabled :\n(Java system property : zookeeper.enforce.auth.enabled)\nNew in 3.7.0:\nWhen set to true, ZooKeeper server will only accept connections and requests from clients\nthat have authenticated with server via configured auth scheme. Authentication schemes\ncan be configured using property enforce.auth.schemes. Clients that are not\nconfigured with the any of the auth scheme configured at server or configured but failed authentication (i.e. with invalid credential)\nwill not be able to establish a session with server. A typed error code (-124) will be delivered\nin such case, both Java and C client will close the session with server thereafter,\nwithout further attempts on retrying to reconnect."},"338":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-177","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"By default, this feature is disabled. Users who would like to opt-in can enable the feature\nby setting enforce.auth.enabled to true."},"339":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-178","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"When enforce.auth.enabled=true and enforce.auth.schemes=sasl then"},"340":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-179","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"zookeeper.allowSaslFailedClients configuration\nis overruled. So even if server is configured to allow clients that fail SASL\nauthentication to login, client will not be able to establish a session with\nserver if this feature is enabled with sasl as authentication scheme."},"341":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-180","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"enforce.auth.schemes :\n(Java system property : zookeeper.enforce.auth.schemes)\nNew in 3.7.0:\nComma separated list of authentication schemes. Clients must be authenticated with at least one\nauthentication scheme before doing any zookeeper operations.\nThis property is used only when enforce.auth.enabled is to true."},"342":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-181","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"sslQuorum :\n(Java system property: zookeeper.sslQuorum)\nNew in 3.5.5:\nEnables encrypted quorum communication. Default is false. When enabling this feature, please also consider enabling leader.closeSocketAsync\nand learner.closeSocketAsync to avoid issues associated with the potentially long socket closing time when shutting down an SSL connection."},"343":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-182","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.keyStore.location and ssl.keyStore.password and ssl.quorum.keyStore.location and ssl.quorum.keyStore.password :\n(Java system properties: zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password and zookeeper.ssl.quorum.keyStore.location and zookeeper.ssl.quorum.keyStore.password)\nNew in 3.5.5:\nSpecifies the file path to a Java keystore containing the local\ncredentials to be used for client and quorum TLS connections, and the\npassword to unlock the file."},"344":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-183","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.keyStore.passwordPath and ssl.quorum.keyStore.passwordPath :\n(Java system properties: zookeeper.ssl.keyStore.passwordPath and zookeeper.ssl.quorum.keyStore.passwordPath)\nNew in 3.8.0:\nSpecifies the file path that contains the keystore password. Reading the password from a file takes precedence over\nthe explicit password property."},"345":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-184","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.keyStore.type and ssl.quorum.keyStore.type :\n(Java system properties: zookeeper.ssl.keyStore.type and zookeeper.ssl.quorum.keyStore.type)\nNew in 3.5.5:\nSpecifies the file format of client and quorum keystores. Values: JKS, PEM, PKCS12 or null (detect by filename).\nDefault: null.\nNew in 3.5.10, 3.6.3, 3.7.0:\nThe format BCFKS was added."},"346":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-185","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.trustStore.location and ssl.trustStore.password and ssl.quorum.trustStore.location and ssl.quorum.trustStore.password :\n(Java system properties: zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password and zookeeper.ssl.quorum.trustStore.location and zookeeper.ssl.quorum.trustStore.password)\nNew in 3.5.5:\nSpecifies the file path to a Java truststore containing the remote\ncredentials to be used for client and quorum TLS connections, and the\npassword to unlock the file."},"347":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-186","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.trustStore.passwordPath and ssl.quorum.trustStore.passwordPath :\n(Java system properties: zookeeper.ssl.trustStore.passwordPath and zookeeper.ssl.quorum.trustStore.passwordPath)\nNew in 3.8.0:\nSpecifies the file path that contains the truststore password. Reading the password from a file takes precedence over\nthe explicit password property."},"348":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-187","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.trustStore.type and ssl.quorum.trustStore.type :\n(Java system properties: zookeeper.ssl.trustStore.type and zookeeper.ssl.quorum.trustStore.type)\nNew in 3.5.5:\nSpecifies the file format of client and quorum trustStores. Values: JKS, PEM, PKCS12 or null (detect by filename).\nDefault: null.\nNew in 3.5.10, 3.6.3, 3.7.0:\nThe format BCFKS was added."},"349":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-188","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.protocol and ssl.quorum.protocol :\n(Java system properties: zookeeper.ssl.protocol and zookeeper.ssl.quorum.protocol)\nNew in 3.5.5:\nSpecifies to protocol to be used in client and quorum TLS negotiation.\nDefault: TLSv1.3 or TLSv1.2 depending on Java runtime version being used."},"350":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-189","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.enabledProtocols and ssl.quorum.enabledProtocols :\n(Java system properties: zookeeper.ssl.enabledProtocols and zookeeper.ssl.quorum.enabledProtocols)\nNew in 3.5.5:\nSpecifies the enabled protocols in client and quorum TLS negotiation.\nDefault: TLSv1.3, TLSv1.2 if value of protocol property is TLSv1.3. TLSv1.2 if protocol is TLSv1.2."},"351":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-190","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.ciphersuites and ssl.quorum.ciphersuites :\n(Java system properties: zookeeper.ssl.ciphersuites and zookeeper.ssl.quorum.ciphersuites)\nNew in 3.5.5:\nSpecifies the enabled cipher suites to be used in client and quorum TLS negotiation.\nDefault: JDK defaults since 3.10.0, and hard coded cipher suites for 3.9 and earlier versions. See TLS Cipher Suites."},"352":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-191","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.context.supplier.class and ssl.quorum.context.supplier.class :\n(Java system properties: zookeeper.ssl.context.supplier.class and zookeeper.ssl.quorum.context.supplier.class)\nNew in 3.5.5:\nSpecifies the class to be used for creating SSL context in client and quorum SSL communication.\nThis allows you to use custom SSL context and implement the following scenarios: 1. Use hardware keystore, loaded in using PKCS11 or something similar. 2. You don't have access to the software keystore, but can retrieve an already-constructed SSLContext from their container.\nDefault: null"},"353":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-192","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.hostnameVerification and ssl.quorum.hostnameVerification :\n(Java system properties: zookeeper.ssl.hostnameVerification and zookeeper.ssl.quorum.hostnameVerification)\nNew in 3.5.5:\nSpecifies whether the hostname verification is enabled in client and quorum TLS negotiation process.\nDisabling it only recommended for testing purposes.\nDefault: true"},"354":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-193","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.clientHostnameVerification and ssl.quorum.clientHostnameVerification :\n(Java system properties: zookeeper.ssl.clientHostnameVerification and zookeeper.ssl.quorum.clientHostnameVerification)\nNew in 3.9.4:\nSpecifies whether the client's hostname verification is enabled in client and quorum TLS negotiation process.\nThis option requires the corresponding hostnameVerification option to be true, or it will be ignored.\nDefault: true for quorum, false for clients"},"355":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-194","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.allowReverseDnsLookup and ssl.quorum.allowReverseDnsLookup :\n(Java system properties: zookeeper.ssl.allowReverseDnsLookup and zookeeper.ssl.quorum.allowReverseDnsLookup)\nNew in 3.9.5:\nAllow reverse DNS lookup in both server- and client hostname verifications if the hostname verification is enabled in\nZKTrustManager. Supported in both quorum and client TLS protocols. Not supported in FIPS mode. Reverse DNS lookups are\nexpensive and unnecessary in most cases. Make sure that certificates are created with all required Subject Alternative\nNames (SAN) for successful identity verification. It's recommended to add SAN:IP entries for identity verification\nof client certificates.\nDefault: false"},"356":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-195","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.crl and ssl.quorum.crl :\n(Java system properties: zookeeper.ssl.crl and zookeeper.ssl.quorum.crl)\nNew in 3.5.5:\nSpecifies whether Certificate Revocation List is enabled in client and quorum TLS protocols.\nDefault: jvm property \"com.sun.net.ssl.checkRevocation\" since 3.10.0, false otherwise"},"357":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-196","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.ocsp and ssl.quorum.ocsp :\n(Java system properties: zookeeper.ssl.ocsp and zookeeper.ssl.quorum.ocsp)\nNew in 3.5.5:\nSpecifies whether Online Certificate Status Protocol is enabled in client and quorum TLS protocols.\nChanged in 3.10.0:\nBefore 3.10.0, ssl.ocsp and ssl.quorum.ocsp implies ssl.crl and ssl.quorum.crl correspondingly.\nAfter 3.10.0, one has to setup both ssl.crl and ssl.ocsp (or ssl.quorum.crl and ssl.quorum.ocsp)\nto enable OCSP. This is consistent with jdk's method of Setting up a Java Client to use Client-Driven OCSP.\nDefault: jvm security property \"ocsp.enable\" since 3.10.0, false otherwise"},"358":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-197","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.clientAuth and ssl.quorum.clientAuth :\n(Java system properties: zookeeper.ssl.clientAuth and zookeeper.ssl.quorum.clientAuth)\nAdded in 3.5.5, but broken until 3.5.7:\nSpecifies options to authenticate ssl connections from clients. Valid values are"},"359":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-198","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"\"none\": server will not request client authentication"},"360":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-199","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"\"want\": server will \"request\" client authentication"},"361":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-200","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"\"need\": server will \"require\" client authentication"},"362":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-201","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"Default: \"need\""},"363":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-202","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.handshakeDetectionTimeoutMillis and ssl.quorum.handshakeDetectionTimeoutMillis :\n(Java system properties: zookeeper.ssl.handshakeDetectionTimeoutMillis and zookeeper.ssl.quorum.handshakeDetectionTimeoutMillis)\nNew in 3.5.5:\nTBD"},"364":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-203","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"ssl.sslProvider :\n(Java system property: zookeeper.ssl.sslProvider)\nNew in 3.9.0:\nAllows to select SSL provider in the client-server communication when TLS is enabled. Netty-tcnative native library\nhas been added to ZooKeeper in version 3.9.0 which allows us to use native SSL libraries like OpenSSL on supported\nplatforms. See the available options in Netty-tcnative documentation. Default value is \"JDK\"."},"365":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-204","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"sslQuorumReloadCertFiles :\n(No Java system property)\nNew in 3.5.5, 3.6.0:\nAllows Quorum SSL keyStore and trustStore reloading when the certificates on the filesystem change without having to restart the ZK process. Default: false"},"366":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-205","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"client.certReload :\n(Java system property: zookeeper.client.certReload)\nNew in 3.7.2, 3.8.1, 3.9.0:\nAllows client SSL keyStore and trustStore reloading when the certificates on the filesystem change without having to restart the ZK process. Default: false"},"367":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-206","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"client.portUnification:\n(Java system property: zookeeper.client.portUnification)\nSpecifies that the client port should accept SSL connections\n(using the same configuration as the secure client port).\nDefault: false"},"368":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-207","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"authProvider:\n(Java system property: zookeeper.authProvider)\nYou can specify multiple authentication provider classes for ZooKeeper.\nUsually you use this parameter to specify the SASL authentication provider\nlike: authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider"},"369":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-208","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"kerberos.removeHostFromPrincipal\n(Java system property: zookeeper.kerberos.removeHostFromPrincipal)\nYou can instruct ZooKeeper to remove the host from the client principal name during authentication.\n(e.g. the zk/myhost@EXAMPLE.COM client principal will be authenticated in ZooKeeper as zk@EXAMPLE.COM)\nDefault: false"},"370":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-209","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"kerberos.removeRealmFromPrincipal\n(Java system property: zookeeper.kerberos.removeRealmFromPrincipal)\nYou can instruct ZooKeeper to remove the realm from the client principal name during authentication.\n(e.g. the zk/myhost@EXAMPLE.COM client principal will be authenticated in ZooKeeper as zk/myhost)\nDefault: false"},"371":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-210","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"kerberos.canonicalizeHostNames\n(Java system property: zookeeper.kerberos.canonicalizeHostNames)\nNew in 3.7.0:\nInstructs ZooKeeper to canonicalize server host names extracted from server.x lines.\nThis allows using e.g. CNAME records to reference servers in configuration files, while still enabling SASL Kerberos authentication between quorum members.\nIt is essentially the quorum equivalent of the zookeeper.sasl.client.canonicalize.hostname property for clients.\nThe default value is false for backwards compatibility."},"372":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-211","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"multiAddress.enabled :\n(Java system property: zookeeper.multiAddress.enabled)\nNew in 3.6.0:\nSince ZooKeeper 3.6.0 you can also specify multiple addresses\nfor each ZooKeeper server instance (this can increase availability when multiple physical\nnetwork interfaces can be used parallel in the cluster). Setting this parameter to\ntrue will enable this feature. Please note, that you can not enable this feature\nduring a rolling upgrade if the version of the old ZooKeeper cluster is prior to 3.6.0.\nThe default value is false."},"373":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-212","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"multiAddress.reachabilityCheckTimeoutMs :\n(Java system property: zookeeper.multiAddress.reachabilityCheckTimeoutMs)\nNew in 3.6.0:\nSince ZooKeeper 3.6.0 you can also specify multiple addresses\nfor each ZooKeeper server instance (this can increase availability when multiple physical\nnetwork interfaces can be used parallel in the cluster). ZooKeeper will perform ICMP ECHO requests\nor try to establish a TCP connection on port 7 (Echo) of the destination host in order to find\nthe reachable addresses. This happens only if you provide multiple addresses in the configuration.\nIn this property you can set the timeout in milliseconds for the reachability check. The check happens\nin parallel for the different addresses, so the timeout you set here is the maximum time will be taken\nby checking the reachability of all addresses.\nThe default value is 1000."},"374":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-213","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"This parameter has no effect, unless you enable the MultiAddress feature by setting multiAddress.enabled=true."},"375":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-214","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"fips-mode :\n(Java system property: zookeeper.fips-mode)\nNew in 3.8.2:\nEnable FIPS compatibility mode in ZooKeeper. If enabled, the following things will be changed in order to comply\nwith FIPS requirements:"},"376":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-215","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"Custom trust manager (ZKTrustManager) that is used for hostname verification will be disabled. As a consequence,\nhostname verification is not available in the Quorum protocol, but still can be set in client-server communication."},"377":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-216","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"DIGEST-MD5 Sasl auth mechanism will be disabled in Quorum and ZooKeeper Sasl clients. Only GSSAPI (Kerberos)\ncan be used."},"378":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-217","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","content":"Default: true (3.9.0+), false (3.8.x)"},"379":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-218","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#tls-cipher-suites","content":"From 3.5.5 to 3.9 a hard coded default cipher list was used, with the ordering\ndependent on whether it is run Java 8 or a later version."},"380":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-219","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#tls-cipher-suites","content":"The list on Java 8 includes TLSv1.2 CBC, GCM and TLSv1.3 ciphers in ordering: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256"},"381":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-220","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#tls-cipher-suites","content":"The list on Java 9+ includes TLSv1.2 GCM, CBC and TLSv1.3 ciphers in ordering: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256"},"382":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-221","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#tls-cipher-suites","content":"Since 3.10 there is no hardcoded list, and the JDK defaults are used."},"383":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-222","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#experimental-optionsfeatures","content":"New features that are currently considered experimental."},"384":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-223","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#experimental-optionsfeatures","content":"Read Only Mode Server :\n(Java system property: readonlymode.enabled)\nNew in 3.4.0:\nSetting this value to true enables Read Only Mode server\nsupport (disabled by default).\nlocalSessionsEnabled has to be activated to serve clients.\nA downgrade of an existing connections is currently not supported.\nROM allows clients sessions which requested ROM support to connect to the\nserver even when the server might be partitioned from\nthe quorum. In this mode ROM clients can still read\nvalues from the ZK service, but will be unable to write\nvalues and see changes from other clients. See\nZOOKEEPER-784 for more details."},"385":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-224","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#experimental-optionsfeatures","content":"zookeeper.follower.skipLearnerRequestToNextProcessor :\n(Java system property: zookeeper.follower.skipLearnerRequestToNextProcessor)\nWhen our cluster has observers which are connected with ObserverMaster, then turning on this flag might help\nyou reduce some memory pressure on the Observer Master. If your cluster doesn't have any observers or\nthey are not connected with ObserverMaster or your Observer's don't make much writes, then using this flag\nwon't help you.\nCurrently the change here is guarded behind the flag to help us get more confidence around the memory gains.\nIn Long run, we might want to remove this flag and set its behavior as the default codepath."},"386":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-225","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"The following options can be useful, but be careful when you use\nthem. The risk of each is explained along with the explanation of what\nthe variable does."},"387":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-226","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"forceSync :\n(Java system property: zookeeper.forceSync)\nRequires updates to be synced to media of the transaction\nlog before finishing processing the update. If this option is\nset to no, ZooKeeper will not require updates to be synced to\nthe media."},"388":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-227","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"jute.maxbuffer :\n(Java system property:jute.maxbuffer)."},"389":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-228","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"This option can only be set as a Java system property.\nThere is no zookeeper prefix on it. It specifies the maximum\nsize of the data that can be stored in a znode. The unit is: byte. The default is\n0xfffff(1048575) bytes, or just under 1M."},"390":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-229","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"If this option is changed, the system property must be set on all servers and clients otherwise\nproblems will arise."},"391":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-230","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"When jute.maxbuffer in the client side is greater than the server side, the client wants to write the data\nexceeds jute.maxbuffer in the server side, the server side will get java.io.IOException: Len error"},"392":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-231","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"When jute.maxbuffer in the client side is less than the server side, the client wants to read the data\nexceeds jute.maxbuffer in the client side, the client side will get java.io.IOException: Unreasonable length\nor Packet len is out of range!"},"393":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-232","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"This is really a sanity check. ZooKeeper is designed to store data on the order of kilobytes in size.\nIn the production environment, increasing this property to exceed the default value is not recommended for the following reasons:"},"394":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-233","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"Large size znodes cause unwarranted latency spikes, worsen the throughput"},"395":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-234","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"Large size znodes make the synchronization time between leader and followers unpredictable and non-convergent(sometimes timeout), cause the quorum unstable"},"396":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-235","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"jute.maxbuffer.extrasize:\n(Java system property: zookeeper.jute.maxbuffer.extrasize)\nNew in 3.5.7:\nWhile processing client requests ZooKeeper server adds some additional information into\nthe requests before persisting it as a transaction. Earlier this additional information size\nwas fixed to 1024 bytes. For many scenarios, specially scenarios where jute.maxbuffer value\nis more than 1 MB and request type is multi, this fixed size was insufficient.\nTo handle all the scenarios additional information size is increased from 1024 byte\nto same as jute.maxbuffer size and also it is made configurable through jute.maxbuffer.extrasize.\nGenerally this property is not required to be configured as default value is the most optimal value."},"397":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-236","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"skipACL :\n(Java system property: zookeeper.skipACL)\nSkips ACL checks. This results in a boost in throughput,\nbut opens up full access to the data tree to everyone."},"398":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-237","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"quorumListenOnAllIPs :\nWhen set to true the ZooKeeper server will listen\nfor connections from its peers on all available IP addresses,\nand not only the address configured in the server list of the\nconfiguration file. It affects the connections handling the\nZAB protocol and the Fast Leader Election protocol. Default\nvalue is false."},"399":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-238","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"multiAddress.reachabilityCheckEnabled :\n(Java system property: zookeeper.multiAddress.reachabilityCheckEnabled)\nNew in 3.6.0:\nSince ZooKeeper 3.6.0 you can also specify multiple addresses\nfor each ZooKeeper server instance (this can increase availability when multiple physical\nnetwork interfaces can be used parallel in the cluster). ZooKeeper will perform ICMP ECHO requests\nor try to establish a TCP connection on port 7 (Echo) of the destination host in order to find\nthe reachable addresses. This happens only if you provide multiple addresses in the configuration.\nThe reachable check can fail if you hit some ICMP rate-limitation, (e.g. on macOS) when you try to\nstart a large (e.g. 11+) ensemble members cluster on a single machine for testing."},"400":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-239","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"Default value is true. By setting this parameter to 'false' you can disable the reachability checks.\nPlease note, disabling the reachability check will cause the cluster not to be able to reconfigure\nitself properly during network problems, so the disabling is advised only during testing."},"401":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-240","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","content":"This parameter has no effect, unless you enable the MultiAddress feature by setting multiAddress.enabled=true."},"402":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-241","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#disabling-data-directory-autocreation","content":"New in 3.5: The default\nbehavior of a ZooKeeper server is to automatically create the\ndata directory (specified in the configuration file) when\nstarted if that directory does not already exist. This can be\ninconvenient and even dangerous in some cases. Take the case\nwhere a configuration change is made to a running server,\nwherein the dataDir parameter\nis accidentally changed. When the ZooKeeper server is\nrestarted it will create this non-existent directory and begin\nserving - with an empty znode namespace. This scenario can\nresult in an effective \"split brain\" situation (i.e. data in\nboth the new invalid directory and the original valid data\nstore). As such is would be good to have an option to turn off\nthis autocreate behavior. In general for production\nenvironments this should be done, unfortunately however the\ndefault legacy behavior cannot be changed at this point and\ntherefore this must be done on a case by case basis. This is\nleft to users and to packagers of ZooKeeper distributions."},"403":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-242","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#disabling-data-directory-autocreation","content":"When running zkServer.sh autocreate can be disabled\nby setting the environment variable ZOO_DATADIR_AUTOCREATE_DISABLE to 1.\nWhen running ZooKeeper servers directly from class files this\ncan be accomplished by setting zookeeper.datadir.autocreate=false on\nthe java command line, i.e. -Dzookeeper.datadir.autocreate=false"},"404":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-243","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#disabling-data-directory-autocreation","content":"When this feature is disabled, and the ZooKeeper server\ndetermines that the required directories do not exist it will\ngenerate an error and refuse to start."},"405":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-244","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#disabling-data-directory-autocreation","content":"A new script zkServer-initialize.sh is provided to\nsupport this new feature. If autocreate is disabled it is\nnecessary for the user to first install ZooKeeper, then create\nthe data directory (and potentially txnlog directory), and\nthen start the server. Otherwise as mentioned in the previous\nparagraph the server will not start. Running zkServer-initialize.sh will create the\nrequired directories, and optionally set up the myid file\n(optional command line parameter). This script can be used\neven if the autocreate feature itself is not used, and will\nlikely be of use to users as this (setup, including creation\nof the myid file) has been an issue for users in the past.\nNote that this script ensures the data directories exist only,\nit does not create a config file, but rather requires a config\nfile to be available in order to execute."},"406":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-245","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#enabling-db-existence-validation","content":"New in 3.6.0: The default\nbehavior of a ZooKeeper server on startup when no data tree\nis found is to set zxid to zero and join the quorum as a\nvoting member. This can be dangerous if some event (e.g. a\nrogue 'rm -rf') has removed the data directory while the\nserver was down since this server may help elect a leader\nthat is missing transactions. Enabling db existence validation\nwill change the behavior on startup when no data tree is\nfound: the server joins the ensemble as a non-voting participant\nuntil it is able to sync with the leader and acquire an up-to-date\nversion of the ensemble data. To indicate an empty data tree is\nexpected (ensemble creation), the user should place a file\n'initialize' in the same directory as 'myid'. This file will\nbe detected and deleted by the server on startup."},"407":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-246","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#enabling-db-existence-validation","content":"Initialization validation can be enabled when running\nZooKeeper servers directly from class files by setting\nzookeeper.db.autocreate=false\non the java command line, i.e.\n-Dzookeeper.db.autocreate=false.\nRunning zkServer-initialize.sh\nwill create the required initialization file."},"408":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-247","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","content":"New in 3.5.0: Several subsystems have been reworked\nto improve read throughput. This includes multi-threading of the NIO communication subsystem and\nrequest processing pipeline (Commit Processor). NIO is the default client/server communication\nsubsystem. Its threading model comprises 1 acceptor thread, 1-N selector threads and 0-M\nsocket I/O worker threads. In the request processing pipeline the system can be configured\nto process multiple read request at once while maintaining the same consistency guarantee\n(same-session read-after-write). The Commit Processor threading model comprises 1 main\nthread and 0-N worker threads."},"409":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-248","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","content":"The default values are aimed at maximizing read throughput on a dedicated ZooKeeper machine.\nBoth subsystems need to have sufficient amount of threads to achieve peak read throughput."},"410":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-249","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","content":"zookeeper.nio.numSelectorThreads :\n(Java system property only: zookeeper.nio.numSelectorThreads)\nNew in 3.5.0:\nNumber of NIO selector threads. At least 1 selector thread required.\nIt is recommended to use more than one selector for large numbers\nof client connections. The default value is sqrt( number of cpu cores / 2 )."},"411":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-250","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","content":"zookeeper.nio.numWorkerThreads :\n(Java system property only: zookeeper.nio.numWorkerThreads)\nNew in 3.5.0:\nNumber of NIO worker threads. If configured with 0 worker threads, the selector threads\ndo the socket I/O directly. The default value is 2 times the number of cpu cores."},"412":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-251","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","content":"zookeeper.commitProcessor.numWorkerThreads :\n(Java system property only: zookeeper.commitProcessor.numWorkerThreads)\nNew in 3.5.0:\nNumber of Commit Processor worker threads. If configured with 0 worker threads, the main thread\nwill process the request directly. The default value is the number of cpu cores."},"413":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-252","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","content":"zookeeper.commitProcessor.maxReadBatchSize :\n(Java system property only: zookeeper.commitProcessor.maxReadBatchSize)\nMax number of reads to process from queuedRequests before switching to processing commits.\nIf the value < 0 (default), we switch whenever we have a local write, and pending commits.\nA high read batch size will delay commit processing, causing stale data to be served.\nIf reads are known to arrive in fixed size batches then matching that batch size with\nthe value of this property can smooth queue performance. Since reads are handled in parallel,\none recommendation is to set this property to match zookeeper.commitProcessor.numWorkerThread\n(default is the number of cpu cores) or lower."},"414":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-253","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","content":"zookeeper.commitProcessor.maxCommitBatchSize :\n(Java system property only: zookeeper.commitProcessor.maxCommitBatchSize)\nMax number of commits to process before processing reads. We will try to process as many\nremote/local commits as we can till we reach this count. A high commit batch size will delay\nreads while processing more commits. A low commit batch size will favor reads.\nIt is recommended to only set this property when an ensemble is serving a workload with a high\ncommit rate. If writes are known to arrive in a set number of batches then matching that\nbatch size with the value of this property can smooth queue performance. A generic\napproach would be to set this value to equal the ensemble size so that with the processing\nof each batch the current server will probabilistically handle a write related to one of\nits direct clients.\nDefault is \"1\". Negative and zero values are not supported."},"415":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-254","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","content":"znode.container.checkIntervalMs :\n(Java system property only)\nNew in 3.6.0: The\ntime interval in milliseconds for each check of candidate container\nand ttl nodes. Default is \"60000\"."},"416":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-255","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","content":"znode.container.maxPerMinute :\n(Java system property only)\nNew in 3.6.0: The\nmaximum number of container and ttl nodes that can be deleted per\nminute. This prevents herding during container deletion.\nDefault is \"10000\"."},"417":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-256","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","content":"znode.container.maxNeverUsedIntervalMs :\n(Java system property only)\nNew in 3.6.0: The\nmaximum interval in milliseconds that a container that has never had\nany children is retained. Should be long enough for your client to\ncreate the container, do any needed work and then create children.\nDefault is \"300000\"(a.k.a. 5 minutes) since 3.10.0, for earlier versions,\nit is \"0\" which is used to indicate that containers that have never had\nany children are never deleted."},"418":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-257","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#debug-observability-configurations","content":"New in 3.6.0: The following options are introduced to make zookeeper easier to debug."},"419":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-258","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#debug-observability-configurations","content":"zookeeper.messageTracker.BufferSize :\n(Java system property only)\nControls the maximum number of messages stored in MessageTracker. Value should be positive\nintegers. The default value is 10. MessageTracker is introduced in 3.6.0 to record the\nlast set of messages between a server (follower or observer) and a leader, when a server\ndisconnects with leader. These set of messages will then be dumped to zookeeper's log file,\nand will help reconstruct the state of the servers at the time of the disconnection and\nwill be useful for debugging purpose."},"420":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-259","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#debug-observability-configurations","content":"zookeeper.messageTracker.Enabled :\n(Java system property only)\nWhen set to \"true\", will enable MessageTracker to track and record messages. Default value\nis \"false\"."},"421":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-260","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"New in 3.9.0: The following\noptions are used to configure the AdminServer."},"422":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-261","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"admin.rateLimiterIntervalInMS :\n(Java system property: zookeeper.admin.rateLimiterIntervalInMS)\nThe time interval for rate limiting admin command to protect the server.\nDefaults to 5 mins."},"423":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-262","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"admin.snapshot.enabled :\n(Java system property: zookeeper.admin.snapshot.enabled)\nThe flag for enabling the snapshot command. Defaults to true."},"424":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-263","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"admin.restore.enabled :\n(Java system property: zookeeper.admin.restore.enabled)\nThe flag for enabling the restore command. Defaults to true."},"425":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-264","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"admin.needClientAuth :\n(Java system property: zookeeper.admin.needClientAuth)\nThe flag to control whether client auth is needed. Using x509 auth requires true.\nDefaults to false."},"426":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-265","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"New in 3.7.1: The following\noptions are used to configure the AdminServer."},"427":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-266","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"admin.forceHttps :\n(Java system property: zookeeper.admin.forceHttps)\nForce AdminServer to use SSL, thus allowing only HTTPS traffic.\nDefaults to disabled.\nOverwrites admin.portUnification settings."},"428":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-267","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"New in 3.6.0: The following\noptions are used to configure the AdminServer."},"429":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-268","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"admin.portUnification :\n(Java system property: zookeeper.admin.portUnification)\nEnable the admin port to accept both HTTP and HTTPS traffic.\nDefaults to disabled."},"430":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-269","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"New in 3.5.0: The following\noptions are used to configure the AdminServer."},"431":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-270","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"admin.enableServer :\n(Java system property: zookeeper.admin.enableServer)\nSet to \"false\" to disable the AdminServer. By default the\nAdminServer is enabled."},"432":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-271","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"admin.serverAddress :\n(Java system property: zookeeper.admin.serverAddress)\nThe address the embedded Jetty server listens on. Defaults to 0.0.0.0."},"433":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-272","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"admin.serverPort :\n(Java system property: zookeeper.admin.serverPort)\nThe port the embedded Jetty server listens on. Defaults to 8080."},"434":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-273","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"admin.idleTimeout :\n(Java system property: zookeeper.admin.idleTimeout)\nSet the maximum idle time in milliseconds that a connection can wait\nbefore sending or receiving data. Defaults to 30000 ms."},"435":{"id":"/docs/admin-ops/administrators-guide/configuration-parameters-274","page_id":"/docs/admin-ops/administrators-guide/configuration-parameters","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","content":"admin.commandURL :\n(Java system property: zookeeper.admin.commandURL)\nThe URL for listing and issuing commands relative to the\nroot URL. Defaults to \"/commands\"."},"436":{"id":"/docs/admin-ops/administrators-guide/data-file-management","page_id":"/docs/admin-ops/administrators-guide/data-file-management","type":"page","content":"Data File Management","breadcrumbs":["Multi-Page Documentation","Admin & Ops","Administrator's Guide"],"tags":[],"url":"/docs/admin-ops/administrators-guide/data-file-management"},"437":{"id":"/docs/admin-ops/administrators-guide/data-file-management-0","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management","content":"Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit."},"438":{"id":"/docs/admin-ops/administrators-guide/data-file-management-1","page_id":"/docs/admin-ops/administrators-guide/data-file-management","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory","content":"The Data Directory"},"439":{"id":"/docs/admin-ops/administrators-guide/data-file-management-2","page_id":"/docs/admin-ops/administrators-guide/data-file-management","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/data-file-management#the-log-directory","content":"The Log Directory"},"440":{"id":"/docs/admin-ops/administrators-guide/data-file-management-3","page_id":"/docs/admin-ops/administrators-guide/data-file-management","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/data-file-management#file-management","content":"File Management"},"441":{"id":"/docs/admin-ops/administrators-guide/data-file-management-4","page_id":"/docs/admin-ops/administrators-guide/data-file-management","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/data-file-management#recovery---txnlogtoolkit","content":"Recovery - TxnLogToolkit"},"442":{"id":"/docs/admin-ops/administrators-guide/data-file-management-5","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management","content":"ZooKeeper stores its data in a data directory and its transaction\nlog in a transaction log directory. By default these two directories are\nthe same. The server can (and should) be configured to store the\ntransaction log files in a separate directory than the data files.\nThroughput increases and latency decreases when transaction logs reside\non a dedicated log devices."},"443":{"id":"/docs/admin-ops/administrators-guide/data-file-management-6","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory","content":"This directory has two or three files in it:"},"444":{"id":"/docs/admin-ops/administrators-guide/data-file-management-7","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory","content":"myid - contains a single integer in\nhuman readable ASCII text that represents the server id."},"445":{"id":"/docs/admin-ops/administrators-guide/data-file-management-8","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory","content":"initialize - presence indicates lack of\ndata tree is expected. Cleaned up once data tree is created."},"446":{"id":"/docs/admin-ops/administrators-guide/data-file-management-9","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory","content":"snapshot. - holds the fuzzy\nsnapshot of a data tree."},"447":{"id":"/docs/admin-ops/administrators-guide/data-file-management-10","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory","content":"Each ZooKeeper server has a unique id. This id is used in two\nplaces: the myid file and the configuration file.\nThe myid file identifies the server that\ncorresponds to the given data directory. The configuration file lists\nthe contact information for each server identified by its server id.\nWhen a ZooKeeper server instance starts, it reads its id from the\nmyid file and then, using that id, reads from the\nconfiguration file, looking up the port on which it should\nlisten."},"448":{"id":"/docs/admin-ops/administrators-guide/data-file-management-11","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory","content":"The snapshot files stored in the data\ndirectory are fuzzy snapshots in the sense that during the time the\nZooKeeper server is taking the snapshot, updates are occurring to the\ndata tree. The suffix of the snapshot file names\nis the zxid, the ZooKeeper transaction id, of the\nlast committed transaction at the start of the snapshot. Thus, the\nsnapshot includes a subset of the updates to the data tree that\noccurred while the snapshot was in process. The snapshot, then, may\nnot correspond to any data tree that actually existed, and for this\nreason we refer to it as a fuzzy snapshot. Still, ZooKeeper can\nrecover using this snapshot because it takes advantage of the\nidempotent nature of its updates. By replaying the transaction log\nagainst fuzzy snapshots ZooKeeper gets the state of the system at the\nend of the log."},"449":{"id":"/docs/admin-ops/administrators-guide/data-file-management-12","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#the-log-directory","content":"The Log Directory contains the ZooKeeper transaction logs.\nBefore any update takes place, ZooKeeper ensures that the transaction\nthat represents the update is written to non-volatile storage. A new\nlog file is started when the number of transactions written to the\ncurrent log file reaches a (variable) threshold. The threshold is\ncomputed using the same parameter which influences the frequency of\nsnapshotting (see snapCount and snapSizeLimitInKb above). The log file's\nsuffix is the first zxid written to that log."},"450":{"id":"/docs/admin-ops/administrators-guide/data-file-management-13","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#file-management","content":"The format of snapshot and log files does not change between\nstandalone ZooKeeper servers and different configurations of\nreplicated ZooKeeper servers. Therefore, you can pull these files from\na running replicated ZooKeeper server to a development machine with a\nstand-alone ZooKeeper server for troubleshooting."},"451":{"id":"/docs/admin-ops/administrators-guide/data-file-management-14","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#file-management","content":"Using older log and snapshot files, you can look at the previous\nstate of ZooKeeper servers and even restore that state."},"452":{"id":"/docs/admin-ops/administrators-guide/data-file-management-15","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#file-management","content":"The ZooKeeper server creates snapshot and log files, but\nnever deletes them. The retention policy of the data and log\nfiles is implemented outside of the ZooKeeper server. The\nserver itself only needs the latest complete fuzzy snapshot, all log\nfiles following it, and the last log file preceding it. The latter\nrequirement is necessary to include updates which happened after this\nsnapshot was started but went into the existing log file at that time.\nThis is possible because snapshotting and rolling over of logs\nproceed somewhat independently in ZooKeeper. See the\nmaintenance section\nfor more details on setting a retention policy\nand maintenance of ZooKeeper storage."},"453":{"id":"/docs/admin-ops/administrators-guide/data-file-management-16","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#file-management","content":"type: info"},"454":{"id":"/docs/admin-ops/administrators-guide/data-file-management-17","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#file-management","content":"The data stored in these files is not encrypted. In the case of storing\nsensitive data in ZooKeeper, necessary measures need to be taken to prevent\nunauthorized access. Such measures are external to ZooKeeper (e.g., control\naccess to the files) and depend on the individual settings in which it is\nbeing deployed."},"455":{"id":"/docs/admin-ops/administrators-guide/data-file-management-18","page_id":"/docs/admin-ops/administrators-guide/data-file-management","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/data-file-management#recovery---txnlogtoolkit","content":"More details can be found in this"},"456":{"id":"/docs/admin-ops/administrators-guide/deployment","page_id":"/docs/admin-ops/administrators-guide/deployment","type":"page","content":"Deployment","breadcrumbs":["Multi-Page Documentation","Admin & Ops","Administrator's Guide"],"tags":[],"url":"/docs/admin-ops/administrators-guide/deployment"},"457":{"id":"/docs/admin-ops/administrators-guide/deployment-0","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment","content":"Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup."},"458":{"id":"/docs/admin-ops/administrators-guide/deployment-1","page_id":"/docs/admin-ops/administrators-guide/deployment","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/deployment#system-requirements","content":"System Requirements"},"459":{"id":"/docs/admin-ops/administrators-guide/deployment-2","page_id":"/docs/admin-ops/administrators-guide/deployment","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/deployment#supported-platforms","content":"Supported Platforms"},"460":{"id":"/docs/admin-ops/administrators-guide/deployment-3","page_id":"/docs/admin-ops/administrators-guide/deployment","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Support Matrix"},"461":{"id":"/docs/admin-ops/administrators-guide/deployment-4","page_id":"/docs/admin-ops/administrators-guide/deployment","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/deployment#required-software","content":"Required Software"},"462":{"id":"/docs/admin-ops/administrators-guide/deployment-5","page_id":"/docs/admin-ops/administrators-guide/deployment","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"Clustered (Multi-Server) Setup"},"463":{"id":"/docs/admin-ops/administrators-guide/deployment-6","page_id":"/docs/admin-ops/administrators-guide/deployment","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/deployment#single-server-and-developer-setup","content":"Single Server and Developer Setup"},"464":{"id":"/docs/admin-ops/administrators-guide/deployment-7","page_id":"/docs/admin-ops/administrators-guide/deployment","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/deployment#designing-a-zookeeper-deployment","content":"Designing a ZooKeeper Deployment"},"465":{"id":"/docs/admin-ops/administrators-guide/deployment-8","page_id":"/docs/admin-ops/administrators-guide/deployment","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/deployment#cross-machine-requirements","content":"Cross Machine Requirements"},"466":{"id":"/docs/admin-ops/administrators-guide/deployment-9","page_id":"/docs/admin-ops/administrators-guide/deployment","type":"heading","tags":[],"url":"/docs/admin-ops/administrators-guide/deployment#single-machine-requirements","content":"Single Machine Requirements"},"467":{"id":"/docs/admin-ops/administrators-guide/deployment-10","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment","content":"This section contains information about deploying Zookeeper and\ncovers these topics:"},"468":{"id":"/docs/admin-ops/administrators-guide/deployment-11","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment","content":"System Requirements"},"469":{"id":"/docs/admin-ops/administrators-guide/deployment-12","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment","content":"Clustered (Multi-Server) Setup"},"470":{"id":"/docs/admin-ops/administrators-guide/deployment-13","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment","content":"Single Server and Developer Setup"},"471":{"id":"/docs/admin-ops/administrators-guide/deployment-14","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment","content":"The first two sections assume you are interested in installing\nZooKeeper in a production environment such as a datacenter. The final\nsection covers situations in which you are setting up ZooKeeper on a\nlimited basis - for evaluation, testing, or development - but not in a\nproduction environment."},"472":{"id":"/docs/admin-ops/administrators-guide/deployment-15","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#supported-platforms","content":"ZooKeeper consists of multiple components. Some components are\nsupported broadly, and other components are supported only on a smaller\nset of platforms."},"473":{"id":"/docs/admin-ops/administrators-guide/deployment-16","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#supported-platforms","content":"Client is the Java client\nlibrary, used by applications to connect to a ZooKeeper ensemble."},"474":{"id":"/docs/admin-ops/administrators-guide/deployment-17","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#supported-platforms","content":"Server is the Java server\nthat runs on the ZooKeeper ensemble nodes."},"475":{"id":"/docs/admin-ops/administrators-guide/deployment-18","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#supported-platforms","content":"Native Client is a client\nimplemented in C, similar to the Java client, used by applications\nto connect to a ZooKeeper ensemble."},"476":{"id":"/docs/admin-ops/administrators-guide/deployment-19","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#supported-platforms","content":"Contrib refers to multiple\noptional add-on components."},"477":{"id":"/docs/admin-ops/administrators-guide/deployment-20","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#supported-platforms","content":"The following matrix describes the level of support committed for\nrunning each component on different operating system platforms."},"478":{"id":"/docs/admin-ops/administrators-guide/deployment-21","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Operating System"},"479":{"id":"/docs/admin-ops/administrators-guide/deployment-22","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Client"},"480":{"id":"/docs/admin-ops/administrators-guide/deployment-23","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Server"},"481":{"id":"/docs/admin-ops/administrators-guide/deployment-24","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Native Client"},"482":{"id":"/docs/admin-ops/administrators-guide/deployment-25","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Contrib"},"483":{"id":"/docs/admin-ops/administrators-guide/deployment-26","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"GNU/Linux"},"484":{"id":"/docs/admin-ops/administrators-guide/deployment-27","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development and Production"},"485":{"id":"/docs/admin-ops/administrators-guide/deployment-28","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development and Production"},"486":{"id":"/docs/admin-ops/administrators-guide/deployment-29","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development and Production"},"487":{"id":"/docs/admin-ops/administrators-guide/deployment-30","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development and Production"},"488":{"id":"/docs/admin-ops/administrators-guide/deployment-31","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Solaris"},"489":{"id":"/docs/admin-ops/administrators-guide/deployment-32","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development and Production"},"490":{"id":"/docs/admin-ops/administrators-guide/deployment-33","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development and Production"},"491":{"id":"/docs/admin-ops/administrators-guide/deployment-34","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Not Supported"},"492":{"id":"/docs/admin-ops/administrators-guide/deployment-35","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Not Supported"},"493":{"id":"/docs/admin-ops/administrators-guide/deployment-36","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"FreeBSD"},"494":{"id":"/docs/admin-ops/administrators-guide/deployment-37","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development and Production"},"495":{"id":"/docs/admin-ops/administrators-guide/deployment-38","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development and Production"},"496":{"id":"/docs/admin-ops/administrators-guide/deployment-39","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Not Supported"},"497":{"id":"/docs/admin-ops/administrators-guide/deployment-40","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Not Supported"},"498":{"id":"/docs/admin-ops/administrators-guide/deployment-41","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Windows"},"499":{"id":"/docs/admin-ops/administrators-guide/deployment-42","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development and Production"},"500":{"id":"/docs/admin-ops/administrators-guide/deployment-43","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development and Production"},"501":{"id":"/docs/admin-ops/administrators-guide/deployment-44","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Not Supported"},"502":{"id":"/docs/admin-ops/administrators-guide/deployment-45","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Not Supported"},"503":{"id":"/docs/admin-ops/administrators-guide/deployment-46","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Mac OS X"},"504":{"id":"/docs/admin-ops/administrators-guide/deployment-47","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development Only"},"505":{"id":"/docs/admin-ops/administrators-guide/deployment-48","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Development Only"},"506":{"id":"/docs/admin-ops/administrators-guide/deployment-49","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Not Supported"},"507":{"id":"/docs/admin-ops/administrators-guide/deployment-50","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"Not Supported"},"508":{"id":"/docs/admin-ops/administrators-guide/deployment-51","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#support-matrix","content":"For any operating system not explicitly mentioned as supported in\nthe matrix, components may or may not work. The ZooKeeper community\nwill fix obvious bugs that are reported for other platforms, but there\nis no full support."},"509":{"id":"/docs/admin-ops/administrators-guide/deployment-52","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#required-software","content":"ZooKeeper runs in Java, release 1.8 or greater\n(JDK 8 LTS, JDK 11 LTS, JDK 12 - Java 9 and 10 are not supported).\nIt runs as an ensemble of ZooKeeper servers. Three\nZooKeeper servers is the minimum recommended size for an\nensemble, and we also recommend that they run on separate\nmachines. At Yahoo!, ZooKeeper is usually deployed on\ndedicated RHEL boxes, with dual-core processors, 2GB of RAM,\nand 80GB IDE hard drives."},"510":{"id":"/docs/admin-ops/administrators-guide/deployment-53","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"For reliable ZooKeeper service, you should deploy ZooKeeper in a\ncluster known as an ensemble. As long as a majority\nof the ensemble are up, the service will be available. Because Zookeeper\nrequires a majority, it is best to use an\nodd number of machines. For example, with four machines ZooKeeper can\nonly handle the failure of a single machine; if two machines fail, the\nremaining two machines do not constitute a majority. However, with five\nmachines ZooKeeper can handle the failure of two machines."},"511":{"id":"/docs/admin-ops/administrators-guide/deployment-54","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"type: info"},"512":{"id":"/docs/admin-ops/administrators-guide/deployment-55","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"As mentioned in the ZooKeeper Getting Started\nGuide, a minimum of three servers are required\nfor a fault tolerant clustered setup, and it is strongly recommended that you\nhave an odd number of servers."},"513":{"id":"/docs/admin-ops/administrators-guide/deployment-56","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"Usually three servers is more than enough for a production\ninstall, but for maximum reliability during maintenance, you may\nwish to install five servers. With three servers, if you perform\nmaintenance on one of them, you are vulnerable to a failure on one\nof the other two servers during that maintenance. If you have five\nof them running, you can take one down for maintenance, and know\nthat you're still OK if one of the other four suddenly fails."},"514":{"id":"/docs/admin-ops/administrators-guide/deployment-57","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"Your redundancy considerations should include all aspects of\nyour environment. If you have three ZooKeeper servers, but their\nnetwork cables are all plugged into the same network switch, then\nthe failure of that switch will take down your entire ensemble."},"515":{"id":"/docs/admin-ops/administrators-guide/deployment-58","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"Here are the steps to set a server that will be part of an\nensemble. These steps should be performed on every host in the\nensemble:"},"516":{"id":"/docs/admin-ops/administrators-guide/deployment-59","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"Install the Java JDK. You can use the native packaging system for your system, or download\nthe JDK from: http://java.sun.com/javase/downloads/index.jsp"},"517":{"id":"/docs/admin-ops/administrators-guide/deployment-60","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"Set the Java heap size. This is very important to avoid swapping, which will seriously degrade\nZooKeeper performance. To determine the correct value, use load tests, and make sure you are\nwell below the usage limit that would cause you to swap. Be conservative — use a maximum heap\nsize of 3GB for a 4GB machine."},"518":{"id":"/docs/admin-ops/administrators-guide/deployment-61","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"Install the ZooKeeper Server Package. It can be downloaded\nfrom: /releases"},"519":{"id":"/docs/admin-ops/administrators-guide/deployment-62","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"Create a configuration file. This file can be called anything. Use the following settings as a\nstarting point:"},"520":{"id":"/docs/admin-ops/administrators-guide/deployment-63","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"You can find the meanings of these and other configuration settings in the section\nConfiguration Parameters. Every machine that is part of the ZooKeeper\nensemble should know about every other machine in the ensemble. You accomplish this with the\nseries of lines of the form server.id=host:port:port. (The parameters host and port\nare straightforward; for each server you need to specify first a Quorum port then a dedicated\nport for ZooKeeper leader election). Since ZooKeeper 3.6.0 you can also\nspecify multiple addresses for each ZooKeeper server instance (this can\nincrease availability when multiple physical network interfaces can be used parallel in the\ncluster). You attribute the server id to each machine by creating a file named myid, one for\neach server, which resides in that server's data directory, as specified by the configuration\nfile parameter dataDir."},"521":{"id":"/docs/admin-ops/administrators-guide/deployment-64","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"The myid file consists of a single line containing only the text of that machine's id. So\nmyid of server 1 would contain the text \"1\" and nothing else. The id must be unique within\nthe ensemble and should have a value between 1 and 255. IMPORTANT: if you enable extended\nfeatures such as TTL Nodes (see below) the id must be between 1 and 254 due to internal\nlimitations."},"522":{"id":"/docs/admin-ops/administrators-guide/deployment-65","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"Create an initialization marker file initialize in the same directory as myid. This file\nindicates that an empty data directory is expected. When present, an empty database is created\nand the marker file deleted. When not present, an empty data directory will mean this peer will\nnot have voting rights and it will not populate the data directory until it communicates with\nan active leader. Intended use is to only create this file when bringing up a new ensemble."},"523":{"id":"/docs/admin-ops/administrators-guide/deployment-66","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"If your configuration file is set up, you can start a ZooKeeper server:"},"524":{"id":"/docs/admin-ops/administrators-guide/deployment-67","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"QuorumPeerMain starts a ZooKeeper server; JMX\nmanagement beans are also registered which allows management through a JMX management console.\nThe ZooKeeper JMX document contains details on managing ZooKeeper with JMX.\nSee the script bin/zkServer.sh, which is included in the release, for an example of starting\nserver instances."},"525":{"id":"/docs/admin-ops/administrators-guide/deployment-68","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","content":"Test your deployment by connecting to the hosts. In Java, you can run the following command to\nexecute simple operations:"},"526":{"id":"/docs/admin-ops/administrators-guide/deployment-69","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#single-server-and-developer-setup","content":"If you want to set up ZooKeeper for development purposes, you will\nprobably want to set up a single server instance of ZooKeeper, and then\ninstall either the Java or C client-side libraries and bindings on your\ndevelopment machine."},"527":{"id":"/docs/admin-ops/administrators-guide/deployment-70","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#single-server-and-developer-setup","content":"The steps to setting up a single server instance are the similar\nto the above, except the configuration file is simpler. You can find the\ncomplete instructions in the Installing and\nRunning ZooKeeper in Single Server Mode section of the ZooKeeper Getting Started\nGuide."},"528":{"id":"/docs/admin-ops/administrators-guide/deployment-71","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#single-server-and-developer-setup","content":"For information on installing the client side libraries, refer to\nthe Bindings\nsection of the ZooKeeper\nProgrammer's Guide."},"529":{"id":"/docs/admin-ops/administrators-guide/deployment-72","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#designing-a-zookeeper-deployment","content":"The reliability of ZooKeeper rests on two basic assumptions."},"530":{"id":"/docs/admin-ops/administrators-guide/deployment-73","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#designing-a-zookeeper-deployment","content":"Only a minority of servers in a deployment\nwill fail. Failure in this context\nmeans a machine crash, or some error in the network that\npartitions a server off from the majority."},"531":{"id":"/docs/admin-ops/administrators-guide/deployment-74","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#designing-a-zookeeper-deployment","content":"Deployed machines operate correctly. To\noperate correctly means to execute code correctly, to have\nclocks that work properly, and to have storage and network\ncomponents that perform consistently."},"532":{"id":"/docs/admin-ops/administrators-guide/deployment-75","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#designing-a-zookeeper-deployment","content":"The sections below contain considerations for ZooKeeper\nadministrators to maximize the probability for these assumptions\nto hold true. Some of these are cross-machines considerations,\nand others are things you should consider for each and every\nmachine in your deployment."},"533":{"id":"/docs/admin-ops/administrators-guide/deployment-76","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#cross-machine-requirements","content":"For the ZooKeeper service to be active, there must be a\nmajority of non-failing machines that can communicate with\neach other. For a ZooKeeper ensemble with N servers,\nif N is odd, the ensemble is able to tolerate up to N/2\nserver failures without losing any znode data;\nif N is even, the ensemble is able to tolerate up to N/2-1\nserver failures."},"534":{"id":"/docs/admin-ops/administrators-guide/deployment-77","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#cross-machine-requirements","content":"For example, if we have a ZooKeeper ensemble with 3 servers,\nthe ensemble is able to tolerate up to 1 (3/2) server failures.\nIf we have a ZooKeeper ensemble with 5 servers,\nthe ensemble is able to tolerate up to 2 (5/2) server failures.\nIf the ZooKeeper ensemble with 6 servers, the ensemble\nis also able to tolerate up to 2 (6/2-1) server failures\nwithout losing data and prevent the \"brain split\" issue."},"535":{"id":"/docs/admin-ops/administrators-guide/deployment-78","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#cross-machine-requirements","content":"ZooKeeper ensemble is usually has odd number of servers.\nThis is because with the even number of servers,\nthe capacity of failure tolerance is the same as\nthe ensemble with one less server\n(2 failures for both 5-node ensemble and 6-node ensemble),\nbut the ensemble has to maintain extra connections and\ndata transfers for one more server."},"536":{"id":"/docs/admin-ops/administrators-guide/deployment-79","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#cross-machine-requirements","content":"To achieve the highest probability of tolerating a failure\nyou should try to make machine failures independent. For\nexample, if most of the machines share the same switch,\nfailure of that switch could cause a correlated failure and\nbring down the service. The same holds true of shared power\ncircuits, cooling systems, etc."},"537":{"id":"/docs/admin-ops/administrators-guide/deployment-80","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#single-machine-requirements","content":"If ZooKeeper has to contend with other applications for\naccess to resources like storage media, CPU, network, or\nmemory, its performance will suffer markedly. ZooKeeper has\nstrong durability guarantees, which means it uses storage\nmedia to log changes before the operation responsible for the\nchange is allowed to complete. You should be aware of this\ndependency then, and take great care if you want to ensure\nthat ZooKeeper operations aren’t held up by your media. Here\nare some things you can do to minimize that sort of\ndegradation:"},"538":{"id":"/docs/admin-ops/administrators-guide/deployment-81","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#single-machine-requirements","content":"ZooKeeper's transaction log must be on a dedicated\ndevice. (A dedicated partition is not enough.) ZooKeeper\nwrites the log sequentially, without seeking Sharing your\nlog device with other processes can cause seeks and\ncontention, which in turn can cause multi-second\ndelays."},"539":{"id":"/docs/admin-ops/administrators-guide/deployment-82","page_id":"/docs/admin-ops/administrators-guide/deployment","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide/deployment#single-machine-requirements","content":"Do not put ZooKeeper in a situation that can cause a\nswap. In order for ZooKeeper to function with any sort of\ntimeliness, it simply cannot be allowed to swap.\nTherefore, make certain that the maximum heap size given\nto ZooKeeper is not bigger than the amount of real memory\navailable to ZooKeeper. For more on this, see\nThings to Avoid\nin the Best Practices guide."},"540":{"id":"/docs/admin-ops/administrators-guide","page_id":"/docs/admin-ops/administrators-guide","type":"page","content":"Administrator's Guide","breadcrumbs":["Multi-Page Documentation","Admin & Ops","Administrator's Guide"],"tags":[],"url":"/docs/admin-ops/administrators-guide"},"541":{"id":"/docs/admin-ops/administrators-guide-0","page_id":"/docs/admin-ops/administrators-guide","tags":[],"type":"text","url":"/docs/admin-ops/administrators-guide","content":"This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting."},"542":{"id":"/docs/admin-ops/cli","page_id":"/docs/admin-ops/cli","type":"page","content":"CLI","breadcrumbs":["Multi-Page Documentation","Admin & Ops"],"tags":[],"url":"/docs/admin-ops/cli"},"543":{"id":"/docs/admin-ops/cli-0","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli","content":"Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output."},"544":{"id":"/docs/admin-ops/cli-1","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#connecting","content":"Connecting"},"545":{"id":"/docs/admin-ops/cli-2","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#help","content":"help"},"546":{"id":"/docs/admin-ops/cli-3","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#addauth","content":"addauth"},"547":{"id":"/docs/admin-ops/cli-4","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#close","content":"close"},"548":{"id":"/docs/admin-ops/cli-5","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#config","content":"config"},"549":{"id":"/docs/admin-ops/cli-6","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#connect","content":"connect"},"550":{"id":"/docs/admin-ops/cli-7","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#create","content":"create"},"551":{"id":"/docs/admin-ops/cli-8","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#delete","content":"delete"},"552":{"id":"/docs/admin-ops/cli-9","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#deleteall","content":"deleteall"},"553":{"id":"/docs/admin-ops/cli-10","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#delquota","content":"delquota"},"554":{"id":"/docs/admin-ops/cli-11","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#get","content":"get"},"555":{"id":"/docs/admin-ops/cli-12","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#getacl","content":"getAcl"},"556":{"id":"/docs/admin-ops/cli-13","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#getallchildrennumber","content":"getAllChildrenNumber"},"557":{"id":"/docs/admin-ops/cli-14","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#getephemerals","content":"getEphemerals"},"558":{"id":"/docs/admin-ops/cli-15","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#history","content":"history"},"559":{"id":"/docs/admin-ops/cli-16","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#listquota","content":"listquota"},"560":{"id":"/docs/admin-ops/cli-17","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#ls","content":"ls"},"561":{"id":"/docs/admin-ops/cli-18","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#printwatches","content":"printwatches"},"562":{"id":"/docs/admin-ops/cli-19","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#quit","content":"quit"},"563":{"id":"/docs/admin-ops/cli-20","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#reconfig","content":"reconfig"},"564":{"id":"/docs/admin-ops/cli-21","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#redo","content":"redo"},"565":{"id":"/docs/admin-ops/cli-22","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#removewatches","content":"removewatches"},"566":{"id":"/docs/admin-ops/cli-23","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#set","content":"set"},"567":{"id":"/docs/admin-ops/cli-24","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#setacl","content":"setAcl"},"568":{"id":"/docs/admin-ops/cli-25","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#setquota","content":"setquota"},"569":{"id":"/docs/admin-ops/cli-26","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#stat","content":"stat"},"570":{"id":"/docs/admin-ops/cli-27","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#sync","content":"sync"},"571":{"id":"/docs/admin-ops/cli-28","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#version","content":"version"},"572":{"id":"/docs/admin-ops/cli-29","page_id":"/docs/admin-ops/cli","type":"heading","tags":[],"url":"/docs/admin-ops/cli#whoami","content":"whoami"},"573":{"id":"/docs/admin-ops/cli-30","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#help","content":"Show all available ZooKeeper commands."},"574":{"id":"/docs/admin-ops/cli-31","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#addauth","content":"Add an authorized user for ACL authentication."},"575":{"id":"/docs/admin-ops/cli-32","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#close","content":"Close the current client session."},"576":{"id":"/docs/admin-ops/cli-33","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#config","content":"Show the current quorum membership configuration."},"577":{"id":"/docs/admin-ops/cli-34","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#connect","content":"Connect to a ZooKeeper server."},"578":{"id":"/docs/admin-ops/cli-35","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#create","content":"Create a znode."},"579":{"id":"/docs/admin-ops/cli-36","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#create","content":"Create a node with an ACL schema:"},"580":{"id":"/docs/admin-ops/cli-37","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#create","content":"Create a container node (automatically deleted when its last child is deleted):"},"581":{"id":"/docs/admin-ops/cli-38","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#create","content":"Create a TTL node (requires zookeeper.extendedTypesEnabled=true; otherwise returns KeeperErrorCode = Unimplemented):"},"582":{"id":"/docs/admin-ops/cli-39","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#delete","content":"Delete a node at the specified path."},"583":{"id":"/docs/admin-ops/cli-40","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#deleteall","content":"Delete a node and all of its descendants."},"584":{"id":"/docs/admin-ops/cli-41","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#delquota","content":"Delete the quota on a path."},"585":{"id":"/docs/admin-ops/cli-42","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#get","content":"Get the data stored at a path."},"586":{"id":"/docs/admin-ops/cli-43","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#getacl","content":"Get the ACL permissions for a path."},"587":{"id":"/docs/admin-ops/cli-44","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#getallchildrennumber","content":"Get the total number of descendant nodes under a path."},"588":{"id":"/docs/admin-ops/cli-45","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#getephemerals","content":"Get all ephemeral nodes created by the current session."},"589":{"id":"/docs/admin-ops/cli-46","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#history","content":"Show the most recent 11 commands executed in this session."},"590":{"id":"/docs/admin-ops/cli-47","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#listquota","content":"List the quota configured for a path."},"591":{"id":"/docs/admin-ops/cli-48","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#ls","content":"List the child nodes of a path."},"592":{"id":"/docs/admin-ops/cli-49","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#printwatches","content":"Toggle whether watch events are printed to the console."},"593":{"id":"/docs/admin-ops/cli-50","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#quit","content":"Quit the CLI."},"594":{"id":"/docs/admin-ops/cli-51","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#reconfig","content":"Change ensemble membership at runtime. Before using this command, read the details in Dynamic Reconfiguration, especially the Security section."},"595":{"id":"/docs/admin-ops/cli-52","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#reconfig","content":"Prerequisites:"},"596":{"id":"/docs/admin-ops/cli-53","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#reconfig","content":"Set reconfigEnabled=true in zoo.cfg."},"597":{"id":"/docs/admin-ops/cli-54","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#reconfig","content":"Add a super user or set skipACL; otherwise you will get Insufficient permission. For example: addauth digest zookeeper:admin."},"598":{"id":"/docs/admin-ops/cli-55","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#redo","content":"Re-execute a command from history by its index."},"599":{"id":"/docs/admin-ops/cli-56","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#removewatches","content":"Remove watches from a node."},"600":{"id":"/docs/admin-ops/cli-57","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#set","content":"Set or update the data at a path."},"601":{"id":"/docs/admin-ops/cli-58","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#setacl","content":"Set ACL permissions on a node."},"602":{"id":"/docs/admin-ops/cli-59","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#setacl","content":"Use -R to set ACL recursively on all child nodes:"},"603":{"id":"/docs/admin-ops/cli-60","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#setacl","content":"Use -v to set ACL with optimistic locking (version from aclVersion in stat):"},"604":{"id":"/docs/admin-ops/cli-61","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#setquota","content":"Set a quota on a path. Soft limits (-n, -b) log a warning but do not block operations. Hard limits (-N, -B) reject operations that exceed the quota."},"605":{"id":"/docs/admin-ops/cli-62","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#stat","content":"Show the metadata (stat) of a node."},"606":{"id":"/docs/admin-ops/cli-63","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#sync","content":"Sync the data of a node between the leader and followers (asynchronous)."},"607":{"id":"/docs/admin-ops/cli-64","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#version","content":"Show the ZooKeeper CLI version."},"608":{"id":"/docs/admin-ops/cli-65","page_id":"/docs/admin-ops/cli","tags":[],"type":"text","url":"/docs/admin-ops/cli#whoami","content":"Show all authentication information for the current session."},"609":{"id":"/docs/admin-ops/dynamic-reconfiguration","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"page","content":"Dynamic Reconfiguration","breadcrumbs":["Multi-Page Documentation","Admin & Ops"],"tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration"},"610":{"id":"/docs/admin-ops/dynamic-reconfiguration-0","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration","content":"How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption."},"611":{"id":"/docs/admin-ops/dynamic-reconfiguration-1","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#changes-to-configuration-format","content":"Changes to Configuration Format"},"612":{"id":"/docs/admin-ops/dynamic-reconfiguration-2","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port","content":"Specifying the Client Port"},"613":{"id":"/docs/admin-ops/dynamic-reconfiguration-3","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#specifying-multiple-server-addresses","content":"Specifying Multiple Server Addresses"},"614":{"id":"/docs/admin-ops/dynamic-reconfiguration-4","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#the-standaloneenabled-flag","content":"The standaloneEnabled Flag"},"615":{"id":"/docs/admin-ops/dynamic-reconfiguration-5","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#the-reconfigenabled-flag","content":"The reconfigEnabled Flag"},"616":{"id":"/docs/admin-ops/dynamic-reconfiguration-6","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#dynamic-configuration-file","content":"Dynamic Configuration File"},"617":{"id":"/docs/admin-ops/dynamic-reconfiguration-7","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#example-1","content":"Example 1"},"618":{"id":"/docs/admin-ops/dynamic-reconfiguration-8","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#example-2","content":"Example 2"},"619":{"id":"/docs/admin-ops/dynamic-reconfiguration-9","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#backward-compatibility","content":"Backward Compatibility"},"620":{"id":"/docs/admin-ops/dynamic-reconfiguration-10","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#upgrading-to-350","content":"Upgrading to 3.5.0"},"621":{"id":"/docs/admin-ops/dynamic-reconfiguration-11","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#dynamic-reconfiguration-of-the-zookeeper-ensemble","content":"Dynamic Reconfiguration of the ZooKeeper Ensemble"},"622":{"id":"/docs/admin-ops/dynamic-reconfiguration-12","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#api","content":"API"},"623":{"id":"/docs/admin-ops/dynamic-reconfiguration-13","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#security","content":"Security"},"624":{"id":"/docs/admin-ops/dynamic-reconfiguration-14","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration","content":"Retrieving the Current Dynamic Configuration"},"625":{"id":"/docs/admin-ops/dynamic-reconfiguration-15","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#modifying-the-current-dynamic-configuration","content":"Modifying the Current Dynamic Configuration"},"626":{"id":"/docs/admin-ops/dynamic-reconfiguration-16","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"General"},"627":{"id":"/docs/admin-ops/dynamic-reconfiguration-17","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#incremental-mode","content":"Incremental Mode"},"628":{"id":"/docs/admin-ops/dynamic-reconfiguration-18","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode","content":"Non-incremental Mode"},"629":{"id":"/docs/admin-ops/dynamic-reconfiguration-19","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#conditional-reconfig","content":"Conditional Reconfig"},"630":{"id":"/docs/admin-ops/dynamic-reconfiguration-20","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#error-conditions","content":"Error Conditions"},"631":{"id":"/docs/admin-ops/dynamic-reconfiguration-21","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#additional-comments","content":"Additional Comments"},"632":{"id":"/docs/admin-ops/dynamic-reconfiguration-22","page_id":"/docs/admin-ops/dynamic-reconfiguration","type":"heading","tags":[],"url":"/docs/admin-ops/dynamic-reconfiguration#rebalancing-client-connections","content":"Rebalancing Client Connections"},"633":{"id":"/docs/admin-ops/dynamic-reconfiguration-23","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration","content":"Prior to the 3.5.0 release, the membership and all other configuration\nparameters of ZooKeeper were static — loaded during boot and immutable at\nruntime. Operators resorted to \"rolling restarts\" — a manually intensive\nand error-prone method of changing the configuration that has caused data\nloss and inconsistency in production."},"634":{"id":"/docs/admin-ops/dynamic-reconfiguration-24","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration","content":"Starting with 3.5.0, rolling restarts are no longer needed.\nZooKeeper comes with full support for automated configuration changes: the\nset of ZooKeeper servers, their roles (participant / observer), all ports,\nand even the quorum system can be changed dynamically, without service\ninterruption and while maintaining data consistency. Reconfigurations are\nperformed immediately, just like other operations in ZooKeeper. Multiple\nchanges can be done using a single reconfiguration command. The dynamic\nreconfiguration functionality does not limit operation concurrency, does\nnot require client operations to be stopped during reconfigurations, has a\nvery simple interface for administrators, and adds no complexity to other\nclient operations."},"635":{"id":"/docs/admin-ops/dynamic-reconfiguration-25","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration","content":"New client-side features allow clients to find out about configuration\nchanges and to update the connection string (list of servers and their\nclient ports) stored in their ZooKeeper handle. A probabilistic algorithm\nis used to rebalance clients across the new configuration servers while\nkeeping the extent of client migrations proportional to the change in\nensemble membership."},"636":{"id":"/docs/admin-ops/dynamic-reconfiguration-26","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration","content":"This document provides the administrator manual for reconfiguration.\nFor a detailed description of the reconfiguration algorithms, performance\nmeasurements, and more, see:"},"637":{"id":"/docs/admin-ops/dynamic-reconfiguration-27","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration","content":"Shraer, A., Reed, B., Malkhi, D., Junqueira, F. Dynamic Reconfiguration of Primary/Backup Clusters. In USENIX Annual Technical Conference (ATC) (2012), 425–437.\nLinks: paper (pdf), slides (pdf), video, hadoop summit slides"},"638":{"id":"/docs/admin-ops/dynamic-reconfiguration-28","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration","content":"type: warn"},"639":{"id":"/docs/admin-ops/dynamic-reconfiguration-29","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration","content":"Starting with 3.5.3, the dynamic reconfiguration feature is disabled by\ndefault and must be explicitly turned on via the reconfigEnabled\nconfiguration option."},"640":{"id":"/docs/admin-ops/dynamic-reconfiguration-30","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port","content":"A client port is the port on which the server accepts plaintext (non-TLS) client connection requests.\nA secure client port is the port on which the server accepts TLS client connection requests."},"641":{"id":"/docs/admin-ops/dynamic-reconfiguration-31","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port","content":"Starting with 3.5.0, the clientPort and clientPortAddress configuration parameters should no longer be used in zoo.cfg."},"642":{"id":"/docs/admin-ops/dynamic-reconfiguration-32","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port","content":"Starting with 3.10.0, the secureClientPort and secureClientPortAddress configuration parameters should no longer be used in zoo.cfg."},"643":{"id":"/docs/admin-ops/dynamic-reconfiguration-33","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port","content":"Instead, this information is now part of the server keyword specification:"},"644":{"id":"/docs/admin-ops/dynamic-reconfiguration-34","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port","content":"[New in ZK 3.10.0] The client port specification is optional and is to the right of the\nfirst semicolon. The secure client port specification is also optional and is to the right\nof the second semicolon. However, both the client port and secure client port specification\ncannot be omitted — at least one of them must be present. If the user intends to omit the client\nport specification and provide only the secure client port (TLS-only server), a second\nsemicolon should still be specified to indicate an empty client port specification (see last\nexample below). In either spec, the port address is optional and defaults to 0.0.0.0."},"645":{"id":"/docs/admin-ops/dynamic-reconfiguration-35","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port","content":"Role is also optional — it can be participant or observer (participant by default)."},"646":{"id":"/docs/admin-ops/dynamic-reconfiguration-36","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port","content":"Examples of legal server statements:"},"647":{"id":"/docs/admin-ops/dynamic-reconfiguration-37","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#specifying-multiple-server-addresses","content":"Since ZooKeeper 3.6.0 it is possible to specify multiple addresses for each\nZooKeeper server (see ZOOKEEPER-3188).\nThis helps to increase availability and adds network-level resiliency to ZooKeeper. When multiple\nphysical network interfaces are used for the servers, ZooKeeper is able to bind on all interfaces\nand switch to a working interface at runtime in case of a network error. Multiple addresses are\nseparated by a pipe (|) character."},"648":{"id":"/docs/admin-ops/dynamic-reconfiguration-38","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#specifying-multiple-server-addresses","content":"Examples of valid configurations using multiple addresses:"},"649":{"id":"/docs/admin-ops/dynamic-reconfiguration-39","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#the-standaloneenabled-flag","content":"Prior to 3.5.0, one could run ZooKeeper in Standalone mode or in\nDistributed mode. These are separate implementation stacks and switching\nbetween them at runtime is not possible. By default (for backward\ncompatibility) standaloneEnabled is set to true. The consequence is that\nif started with a single server the ensemble will not be allowed to grow,\nand if started with more than one server it will not be allowed to shrink\nbelow two participants."},"650":{"id":"/docs/admin-ops/dynamic-reconfiguration-40","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#the-standaloneenabled-flag","content":"Setting the flag to false instructs the system to run the Distributed\nsoftware stack even if there is only a single participant in the ensemble.\nTo achieve this the static configuration file should contain:"},"651":{"id":"/docs/admin-ops/dynamic-reconfiguration-41","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#the-standaloneenabled-flag","content":"With this setting it is possible to start a ZooKeeper ensemble containing\na single participant and to dynamically grow it by adding more servers.\nSimilarly, it is possible to shrink an ensemble so that just a single\nparticipant remains by removing servers."},"652":{"id":"/docs/admin-ops/dynamic-reconfiguration-42","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#the-standaloneenabled-flag","content":"Since running the Distributed mode allows more flexibility, we recommend\nsetting the flag to false. The legacy Standalone mode is expected to be\ndeprecated in the future."},"653":{"id":"/docs/admin-ops/dynamic-reconfiguration-43","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#the-reconfigenabled-flag","content":"Starting with 3.5.0 and prior to 3.5.3, there is no way to disable\ndynamic reconfiguration. To address the security concern that a malicious\nactor could make arbitrary changes to the ensemble configuration, the\nreconfigEnabled option was introduced in 3.5.3. Any attempt\nto reconfigure a cluster through the reconfig API — with or without authentication —\nwill fail by default unless reconfigEnabled is set to true."},"654":{"id":"/docs/admin-ops/dynamic-reconfiguration-44","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#the-reconfigenabled-flag","content":"To enable reconfiguration, add the following to zoo.cfg:"},"655":{"id":"/docs/admin-ops/dynamic-reconfiguration-45","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#dynamic-configuration-file","content":"Starting with 3.5.0, ZooKeeper distinguishes between dynamic configuration\nparameters (which can be changed during runtime) and static configuration\nparameters (which are read from a configuration file at boot and do not change\nduring execution). The dynamic configuration keywords are: server, group,\nand weight."},"656":{"id":"/docs/admin-ops/dynamic-reconfiguration-46","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#dynamic-configuration-file","content":"Dynamic configuration parameters are stored in a separate file on the server\n(the dynamic configuration file), linked from the static config file using the\ndynamicConfigFile keyword."},"657":{"id":"/docs/admin-ops/dynamic-reconfiguration-47","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#example-1","content":"zoo_replicated1.cfg"},"658":{"id":"/docs/admin-ops/dynamic-reconfiguration-48","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#example-1","content":"zoo_replicated1.cfg.dynamic"},"659":{"id":"/docs/admin-ops/dynamic-reconfiguration-49","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#example-1","content":"When the ensemble configuration changes, the static configuration parameters\nremain the same. The dynamic parameters are pushed by ZooKeeper and overwrite\nthe dynamic configuration files on all servers. Thus the dynamic configuration\nfiles on different servers are usually identical (they can differ momentarily\nwhile a reconfiguration is in progress or before a new configuration has\npropagated to all servers). Once created, the dynamic configuration file should\nnot be manually altered — changes are made only through the reconfiguration\ncommands described below. Changing the config of an offline cluster could\nresult in an inconsistency with configuration information stored in the\nZooKeeper log and is therefore highly discouraged."},"660":{"id":"/docs/admin-ops/dynamic-reconfiguration-50","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#example-2","content":"Users may prefer to initially specify a single configuration file. The\nfollowing is also legal:"},"661":{"id":"/docs/admin-ops/dynamic-reconfiguration-51","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#example-2","content":"zoo_replicated1.cfg"},"662":{"id":"/docs/admin-ops/dynamic-reconfiguration-52","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#example-2","content":"The configuration files on each server will be automatically split into\ndynamic and static files if they are not already in this format. The\nconfiguration above will be automatically transformed into the two files in\nExample 1. Note that the clientPort and clientPortAddress lines (if\nspecified) will be automatically removed during this process if they are\nredundant (as in the example above). The original static configuration file\nis backed up (as a .bak file)."},"663":{"id":"/docs/admin-ops/dynamic-reconfiguration-53","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#backward-compatibility","content":"The old configuration format is still supported. For example, the\nfollowing configuration file is acceptable (but not recommended):"},"664":{"id":"/docs/admin-ops/dynamic-reconfiguration-54","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#backward-compatibility","content":"zoo_replicated1.cfg"},"665":{"id":"/docs/admin-ops/dynamic-reconfiguration-55","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#backward-compatibility","content":"During boot, a dynamic configuration file is created containing the dynamic\npart of the configuration as explained earlier. In this case, however, the\nline clientPort=2791 will remain in the static configuration file of\nserver 1 since it is not redundant — it was not specified as part of\nserver.1=... using the format described in\nChanges to Configuration Format. If a\nreconfiguration is invoked that sets the client port of server 1, clientPort=2791\nis removed from the static configuration file (the dynamic file then contains\nthis information as part of the server 1 specification)."},"666":{"id":"/docs/admin-ops/dynamic-reconfiguration-56","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#upgrading-to-350","content":"Upgrading a running ZooKeeper ensemble to 3.5.0 should be done only\nafter upgrading to the 3.4.6 release. This is only necessary for rolling\nupgrades — if you are fine with shutting down the system completely, you\ndo not need to go through 3.4.6. If you attempt a rolling upgrade without\ngoing through 3.4.6 (for example from 3.4.5), you may get the following error:"},"667":{"id":"/docs/admin-ops/dynamic-reconfiguration-57","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#upgrading-to-350","content":"During a rolling upgrade, each server is taken down in turn and rebooted\nwith the new 3.5.0 binaries. Before starting a server with 3.5.0 binaries,\nwe highly recommend updating the configuration file so that all server\nstatements server.x=... contain client ports (see\nSpecifying the Client Port). You may leave\nthe configuration in a single file and may also leave the\nclientPort/clientPortAddress statements (although if you specify client\nports in the new format, these statements become redundant)."},"668":{"id":"/docs/admin-ops/dynamic-reconfiguration-58","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#dynamic-reconfiguration-of-the-zookeeper-ensemble","content":"The ZooKeeper Java and C APIs were extended with getConfig and reconfig\ncommands that facilitate reconfiguration. Both commands have a synchronous\n(blocking) variant and an asynchronous one. The examples below use the Java\nCLI, but you can similarly use the C CLI or invoke the commands directly from\na program just like any other ZooKeeper command."},"669":{"id":"/docs/admin-ops/dynamic-reconfiguration-59","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#api","content":"There are two sets of APIs for both Java and C clients."},"670":{"id":"/docs/admin-ops/dynamic-reconfiguration-60","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#api","content":"Reconfiguration API: Used to reconfigure the ZooKeeper cluster.\nStarting with 3.5.3, reconfiguration Java APIs are moved into the ZooKeeperAdmin\nclass from the ZooKeeper class. Use of this API requires ACL setup and user\nauthentication (see Security for more information)."},"671":{"id":"/docs/admin-ops/dynamic-reconfiguration-61","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#api","content":"Get Configuration API: Used to retrieve ZooKeeper cluster configuration\ninformation stored in the /zookeeper/config znode. Use of this API does not\nrequire specific setup or authentication, because /zookeeper/config is readable\nby any user."},"672":{"id":"/docs/admin-ops/dynamic-reconfiguration-62","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#security","content":"Prior to 3.5.3, there is no enforced security mechanism over reconfig,\nso any ZooKeeper client that can connect to the ensemble has the ability to\nchange its state via reconfig. It is thus possible for a malicious client to\nadd a compromised server to an ensemble or remove legitimate servers, which\ncan be a security vulnerability."},"673":{"id":"/docs/admin-ops/dynamic-reconfiguration-63","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#security","content":"Starting from 3.5.3, access control over reconfig is enforced: only a\nspecific set of explicitly configured users can use reconfig commands or APIs,\nand the ZooKeeper cluster must have authentication enabled so that clients can\nbe authenticated."},"674":{"id":"/docs/admin-ops/dynamic-reconfiguration-64","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#security","content":"An escape hatch is provided for users operating in a secured environment (e.g.\nbehind a company firewall) who want to use reconfiguration without the overhead\nof configuring an explicit authorized user list: setting\nskipACL to yes skips\nACL checks and allows any user to reconfigure the cluster."},"675":{"id":"/docs/admin-ops/dynamic-reconfiguration-65","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#security","content":"Access Control: The dynamic configuration is stored in the special znode\nZooDefs.CONFIG_NODE = /zookeeper/config. This node is read-only for all users\nby default, except the super user and users explicitly configured for write access.\nClients that need to use reconfig commands or the reconfig API must be configured\nwith write access to CONFIG_NODE. Additional users can be granted write access\nthrough the superuser by setting an ACL with write permission. Examples of how to\nset up ACLs and use the reconfiguration API with authentication can be found in\nReconfigExceptionTest.java and TestReconfigServer.cc."},"676":{"id":"/docs/admin-ops/dynamic-reconfiguration-66","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#security","content":"Authentication: Authentication is orthogonal to access control and is\ndelegated to ZooKeeper's pluggable authentication schemes. See\nZooKeeper and SASL\nfor more details."},"677":{"id":"/docs/admin-ops/dynamic-reconfiguration-67","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#security","content":"Disable ACL check: ZooKeeper supports the\nskipACL option such that\nACL checks are completely skipped when skipACL is set to yes. In such cases\nany unauthenticated user can use the reconfig API."},"678":{"id":"/docs/admin-ops/dynamic-reconfiguration-68","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration","content":"The dynamic configuration is stored in a special znode\nZooDefs.CONFIG_NODE = /zookeeper/config. The config CLI command reads\nthis znode (it is essentially a wrapper around get /zookeeper/config). As\nwith normal reads, to retrieve the latest committed value you should do a\nsync first."},"679":{"id":"/docs/admin-ops/dynamic-reconfiguration-69","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration","content":"Notice the last line of the output — this is the configuration version. The\nversion equals the zxid of the reconfiguration command that created this\nconfiguration. The version of the first established configuration equals the\nzxid of the NEWLEADER message sent by the first successfully established leader.\nWhen a configuration is written to a dynamic configuration file, the version\nautomatically becomes part of the filename and the static configuration file is\nupdated with the path to the new dynamic configuration file. Configuration files\ncorresponding to earlier versions are retained for backup purposes."},"680":{"id":"/docs/admin-ops/dynamic-reconfiguration-70","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration","content":"During boot, the version (if it exists) is extracted from the filename. The\nversion should never be manually altered — it is used by the system to determine\nwhich configuration is most up-to-date, and manipulating it can result in data\nloss and inconsistency."},"681":{"id":"/docs/admin-ops/dynamic-reconfiguration-71","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration","content":"Like the get command, the config CLI command accepts the -w flag for\nsetting a watch on the znode and the -s flag for displaying its stats. It\nadditionally accepts a -c flag that outputs only the version and the client\nconnection string for the current configuration. For example:"},"682":{"id":"/docs/admin-ops/dynamic-reconfiguration-72","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration","content":"Note that when using the API directly, this command is called getConfig."},"683":{"id":"/docs/admin-ops/dynamic-reconfiguration-73","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration","content":"As any read command, it returns the configuration known to the follower your\nclient is connected to, which may be slightly out-of-date. Use the sync\ncommand for stronger guarantees. For example using the Java API:"},"684":{"id":"/docs/admin-ops/dynamic-reconfiguration-74","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration","content":"Note: in 3.5.0 it doesn't matter which path is passed to sync() since all\nserver state is brought up to date with the leader (a different path could be\nused instead of ZooDefs.CONFIG_NODE). However, this may change in the future."},"685":{"id":"/docs/admin-ops/dynamic-reconfiguration-75","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#modifying-the-current-dynamic-configuration","content":"Configuration is modified through the reconfig command. There are two\nmodes: incremental and non-incremental (bulk). The non-incremental mode\nspecifies the complete new dynamic configuration. The incremental mode specifies\nchanges to the current configuration. The reconfig command returns the new\nconfiguration."},"686":{"id":"/docs/admin-ops/dynamic-reconfiguration-76","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#modifying-the-current-dynamic-configuration","content":"A few examples can be found in: ReconfigTest.java, ReconfigRecoveryTest.java,\nand TestReconfigServer.cc."},"687":{"id":"/docs/admin-ops/dynamic-reconfiguration-77","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"Removing servers: Any server can be removed, including the leader (although\nremoving the leader will result in a short unavailability, see Figures 6 and 8 in\nthe paper).\nThe server will not be shut down automatically. Instead, it becomes a\n\"non-voting follower\" — similar to an observer in that its votes don't count\ntowards the quorum, but unlike an observer, a non-voting follower still sees\noperation proposals and ACKs them. Thus a non-voting follower has a more\nsignificant negative effect on throughput compared to an observer.\nNon-voting follower mode should only be used temporarily before shutting the\nserver down or adding it back as a follower or observer. Servers are not\nshut down automatically for two main reasons: first, to avoid immediately\ndisconnecting all connected clients and causing a flood of reconnection requests\nto other servers; second, because removing a server may sometimes be necessary\nas a step to change it from observer to participant (see\nAdditional comments)."},"688":{"id":"/docs/admin-ops/dynamic-reconfiguration-78","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"Note that the new configuration must have some minimum number of participants\nto be considered legal. If the proposed change would leave fewer than 2\nparticipants and standalone mode is enabled (standaloneEnabled=true, see\nThe standaloneEnabled Flag), the reconfig\nwill not be processed (BadArgumentsException). If standalone mode is disabled\n(standaloneEnabled=false) then 1 or more participants is legal."},"689":{"id":"/docs/admin-ops/dynamic-reconfiguration-79","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"Adding servers: Before invoking a reconfiguration, the administrator must\nensure that a quorum (majority) of participants from the new configuration are\nalready connected and synced with the current leader. To achieve this, a new\njoining server must be connected to the leader before it officially becomes part\nof the ensemble. This is done by starting the joining server with an initial\nserver list that is not a legal configuration but (a) contains the joiner, and\n(b) gives the joiner enough information to find and connect to the current leader.\nA few safe options for doing this:"},"690":{"id":"/docs/admin-ops/dynamic-reconfiguration-80","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"The initial configuration of joiners consists of servers in the last committed\nconfiguration plus one or more joiners, where joiners are listed as observers.\nFor example, if servers D and E are added at the same time to (A, B, C) and C\nis being removed, D's initial config could be (A, B, C, D) or (A, B, C, D, E)\nwith D and E listed as observers. Note that listing joiners as observers does\nnot actually make them observers — it only prevents them from accidentally\nforming a quorum with other joiners. Instead, they contact the servers in the\ncurrent configuration and adopt the last committed configuration (A, B, C).\nConfiguration files of joiners are backed up and replaced automatically.\nAfter connecting to the current leader, joiners become non-voting followers until\nthe system is reconfigured and they are added to the ensemble."},"691":{"id":"/docs/admin-ops/dynamic-reconfiguration-81","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"The initial configuration of each joiner consists of servers in the last committed\nconfiguration plus the joiner itself, listed as a participant. For example,\nto add a new server D to (A, B, C), start D with an initial config consisting of\n(A, B, C, D). If both D and E are added at the same time, D's initial config\ncould be (A, B, C, D) and E's could be (A, B, C, E). Never list more than one\njoiner as participant in the initial configuration (see warning below)."},"692":{"id":"/docs/admin-ops/dynamic-reconfiguration-82","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"Whether listing the joiner as an observer or participant, it is also fine not\nto list all current configuration servers, as long as the current leader is\nincluded. For example, when adding D, it could be started with just (A, D) if\nA is the current leader. However, this is more fragile since if A fails before\nD officially joins, D has no other servers to contact and the administrator\nmust restart D with another server list."},"693":{"id":"/docs/admin-ops/dynamic-reconfiguration-83","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"type: warn"},"694":{"id":"/docs/admin-ops/dynamic-reconfiguration-84","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"Never specify more than one joining server in the same initial configuration\nas participants. The joining servers do not know they are joining an existing\nensemble — if multiple joiners are listed as participants they may form an\nindependent quorum, creating a split-brain situation and processing operations\nindependently from the main ensemble. It is safe to list multiple joiners as\nobservers in an initial config."},"695":{"id":"/docs/admin-ops/dynamic-reconfiguration-85","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"If the configuration of existing servers changes or they become unavailable before\nthe joiner succeeds in connecting and learning about configuration changes, the\njoiner may need to be restarted with an updated configuration file."},"696":{"id":"/docs/admin-ops/dynamic-reconfiguration-86","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"Finally, note that once connected to the leader, a joiner adopts the last committed\nconfiguration (in which it is absent), and the initial config is backed up before\nbeing rewritten. If the joiner restarts in this state it will not be able to boot\nsince it is absent from its configuration file — you will need to specify an initial\nconfiguration again."},"697":{"id":"/docs/admin-ops/dynamic-reconfiguration-87","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"Modifying server parameters: Any of the ports or the role (participant/observer)\nof a server can be modified by adding it to the ensemble with different parameters.\nThis works in both incremental and bulk reconfiguration modes — it is not necessary\nto remove the server and re-add it; just specify the new parameters as if the server\nis not yet in the system. The server will detect the configuration change and perform\nthe necessary adjustments. See an example in Incremental mode\nand an exception in Additional comments."},"698":{"id":"/docs/admin-ops/dynamic-reconfiguration-88","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"It is also possible to change the Quorum System used by the ensemble (for example,\nchange from a Majority Quorum System to a Hierarchical Quorum System on the fly).\nThis is only allowed using the bulk (non-incremental) reconfiguration mode. Incremental\nreconfiguration only works with the Majority Quorum System. Bulk reconfiguration\nworks with both Hierarchical and Majority Quorum Systems."},"699":{"id":"/docs/admin-ops/dynamic-reconfiguration-89","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"Performance impact: There is practically no performance impact when removing a\nfollower, since it is not automatically shut down (the effect of removal is that the\nserver's votes are no longer counted). When adding a server, there is no leader change\nand no noticeable performance disruption. For details and graphs see Figures 6, 7 and\n8 in the paper."},"700":{"id":"/docs/admin-ops/dynamic-reconfiguration-90","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"The most significant disruption occurs when a leader change is triggered, in the\nfollowing cases:"},"701":{"id":"/docs/admin-ops/dynamic-reconfiguration-91","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"Leader is removed from the ensemble."},"702":{"id":"/docs/admin-ops/dynamic-reconfiguration-92","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"Leader's role is changed from participant to observer."},"703":{"id":"/docs/admin-ops/dynamic-reconfiguration-93","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"The port used by the leader to send transactions to others (quorum port) is modified."},"704":{"id":"/docs/admin-ops/dynamic-reconfiguration-94","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"In these cases a leader hand-off is performed where the old leader nominates a new\nleader. The resulting unavailability is usually shorter than when a leader crashes\nsince failure detection is unnecessary and electing a new leader can usually be\navoided during a hand-off (see Figures 6 and 8 in the paper)."},"705":{"id":"/docs/admin-ops/dynamic-reconfiguration-95","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"When the client port of a server is modified, existing client connections are not\ndropped. New connections to the server will use the new client port."},"706":{"id":"/docs/admin-ops/dynamic-reconfiguration-96","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#general","content":"Progress guarantees: Up to the invocation of the reconfig operation, a quorum of\nthe old configuration must be available and connected for ZooKeeper to make progress.\nOnce reconfig is invoked, a quorum of both the old and new configurations must be\navailable. The final transition happens once (a) the new configuration is activated and\n(b) all operations scheduled before the new configuration was activated by the leader\nare committed. Once both (a) and (b) have happened, only a quorum of the new\nconfiguration is required. Note that neither (a) nor (b) are visible to a client —\nwhen a reconfiguration operation commits it only means that an activation message was\nsent by the leader, not that a quorum of the new configuration has received it.\nTo ensure both (a) and (b) have occurred (for example, before safely shutting down\nremoved servers), invoke an update (set-data or another quorum operation, but not\nsync) and wait for it to commit."},"707":{"id":"/docs/admin-ops/dynamic-reconfiguration-97","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#incremental-mode","content":"The incremental mode allows adding and removing servers from the current\nconfiguration. Multiple changes are allowed at once. For example:"},"708":{"id":"/docs/admin-ops/dynamic-reconfiguration-98","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#incremental-mode","content":"Both the add and remove options take comma-separated arguments (no spaces):"},"709":{"id":"/docs/admin-ops/dynamic-reconfiguration-99","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#incremental-mode","content":"The format of the server statement is exactly as described in\nSpecifying the Client Port and includes the client\nport. Note that 5= can be used as a shorthand for server.5=. In the example\nabove, if server 5 is already in the system with different ports or is not an\nobserver, it is updated — once the configuration commits it becomes an observer\nusing the new ports. This is an easy way to turn participants into observers and\nvice versa, or change any ports, without rebooting the server."},"710":{"id":"/docs/admin-ops/dynamic-reconfiguration-100","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#incremental-mode","content":"ZooKeeper supports two types of Quorum Systems: the simple Majority system (where\nthe leader commits operations after receiving ACKs from a majority of voters) and a\nmore complex Hierarchical system (where votes of different servers have different\nweights and servers are divided into voting groups). Incremental reconfiguration is\ncurrently allowed only if the last proposed configuration uses a Majority Quorum\nSystem (BadArgumentsException is thrown otherwise)."},"711":{"id":"/docs/admin-ops/dynamic-reconfiguration-101","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#incremental-mode","content":"Incremental mode — examples using the Java API:"},"712":{"id":"/docs/admin-ops/dynamic-reconfiguration-102","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#incremental-mode","content":"There is also an asynchronous API, and an API accepting comma-separated Strings\ninstead of List. See\nsrc/java/main/org/apache/zookeeper/ZooKeeper.java."},"713":{"id":"/docs/admin-ops/dynamic-reconfiguration-103","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode","content":"The non-incremental mode accepts a complete specification of the new dynamic\nconfiguration. The new configuration can be given inline or read from a file:"},"714":{"id":"/docs/admin-ops/dynamic-reconfiguration-104","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode","content":"newconfig.cfg is a dynamic config file — see Dynamic Configuration File."},"715":{"id":"/docs/admin-ops/dynamic-reconfiguration-105","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode","content":"The new configuration may use a different Quorum System. For example, you may\nspecify a Hierarchical Quorum System even if the current ensemble uses a Majority\nQuorum System."},"716":{"id":"/docs/admin-ops/dynamic-reconfiguration-106","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode","content":"Bulk mode — example using the Java API:"},"717":{"id":"/docs/admin-ops/dynamic-reconfiguration-107","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode","content":"There is also an asynchronous API, and an API accepting a comma-separated String\ncontaining the new members instead of List. See\nsrc/java/main/org/apache/zookeeper/ZooKeeper.java."},"718":{"id":"/docs/admin-ops/dynamic-reconfiguration-108","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#conditional-reconfig","content":"Sometimes (especially in non-incremental mode) a proposed configuration depends\non what the client believes to be the current configuration, and should only be\napplied to that configuration. The reconfig succeeds only if the last\nconfiguration at the leader has the specified version:"},"719":{"id":"/docs/admin-ops/dynamic-reconfiguration-109","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#conditional-reconfig","content":"In the Java examples above, instead of -1 you can specify a configuration\nversion to condition the reconfiguration."},"720":{"id":"/docs/admin-ops/dynamic-reconfiguration-110","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#error-conditions","content":"In addition to normal ZooKeeper error conditions, a reconfiguration may fail for\nthe following reasons:"},"721":{"id":"/docs/admin-ops/dynamic-reconfiguration-111","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#error-conditions","content":"Another reconfig is currently in progress (ReconfigInProgress)."},"722":{"id":"/docs/admin-ops/dynamic-reconfiguration-112","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#error-conditions","content":"The proposed change would leave fewer than 2 participants and standalone mode\nis enabled, or, if standalone mode is disabled, fewer than 1 participant would\nremain (BadArgumentsException)."},"723":{"id":"/docs/admin-ops/dynamic-reconfiguration-113","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#error-conditions","content":"No quorum of the new configuration was connected and up-to-date with the leader\nwhen reconfiguration processing began (NewConfigNoQuorum)."},"724":{"id":"/docs/admin-ops/dynamic-reconfiguration-114","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#error-conditions","content":"-v x was specified but the latest configuration version y is not x\n(BadVersionException)."},"725":{"id":"/docs/admin-ops/dynamic-reconfiguration-115","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#error-conditions","content":"An incremental reconfiguration was requested but the last configuration at the\nleader uses a Quorum System other than Majority (BadArgumentsException)."},"726":{"id":"/docs/admin-ops/dynamic-reconfiguration-116","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#error-conditions","content":"Syntax error (BadArgumentsException)."},"727":{"id":"/docs/admin-ops/dynamic-reconfiguration-117","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#error-conditions","content":"I/O exception when reading the configuration from a file (BadArgumentsException)."},"728":{"id":"/docs/admin-ops/dynamic-reconfiguration-118","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#error-conditions","content":"Most of these are illustrated by test cases in ReconfigFailureCases.java."},"729":{"id":"/docs/admin-ops/dynamic-reconfiguration-119","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#additional-comments","content":"Liveness: To understand the difference between incremental and non-incremental\nreconfiguration, suppose client C1 adds server D while a different client C2 adds\nserver E. With non-incremental mode, each client first invokes config to find out\nthe current configuration, then locally creates a new server list by adding its own\nsuggested server. After both reconfigurations complete, only one of D or E will be\nadded (not both), depending on which request arrives second at the leader. The other\nclient can repeat the process until its change takes effect. This guarantees\nsystem-wide progress (for one client) but not for every client. C2 may use\nConditional reconfig to avoid blindly overwriting C1's\nconfiguration if C1's request arrived first."},"730":{"id":"/docs/admin-ops/dynamic-reconfiguration-120","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#additional-comments","content":"With incremental reconfiguration, both changes take effect as they are applied by\nthe leader one after the other to the current configuration. Since both clients are\nguaranteed to make progress, this method guarantees stronger liveness. In practice,\nmultiple concurrent reconfigurations are probably rare. Non-incremental reconfiguration\nis currently the only way to dynamically change the Quorum System. Incremental\nreconfiguration is currently only allowed with the Majority Quorum System."},"731":{"id":"/docs/admin-ops/dynamic-reconfiguration-121","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#additional-comments","content":"Changing an observer into a follower: Changing a voting server into an observer\nmay fail if fewer than the minimal allowed number of participants would remain (error 2).\nConverting an observer into a participant may sometimes fail for a more subtle reason.\nSuppose the current configuration is (A, B, C, D), where A is the leader, B and C are\nfollowers, and D is an observer, and B has crashed. If a reconfiguration makes D a\nfollower, it will fail with error 3 since a majority of voters in the new configuration\n(any 3 voters) must be connected and up-to-date with the leader. An observer cannot\nacknowledge the history prefix sent during reconfiguration and therefore does not count\ntowards the 3 required servers. In this case, a client can achieve the task with two\nreconfig commands: first remove D from the configuration, then add it back as a\nparticipant. During the intermediate state D is a non-voting follower and can ACK the\nstate transfer performed during the second reconfig command."},"732":{"id":"/docs/admin-ops/dynamic-reconfiguration-122","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#rebalancing-client-connections","content":"When a ZooKeeper cluster is started and each client is given the same connection\nstring, the client randomly chooses a server to connect to, making the expected\nnumber of client connections per server equal across all servers. ZooKeeper preserves\nthis property when the set of servers changes through reconfiguration (see Sections\n4 and 5.1 in the paper)."},"733":{"id":"/docs/admin-ops/dynamic-reconfiguration-123","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#rebalancing-client-connections","content":"For the method to work, all clients must subscribe to configuration changes by setting\na watch on /zookeeper/config — either directly or through the getConfig API. When\nthe watch is triggered, the client should read the new configuration by invoking\nsync and getConfig, and if the configuration is indeed new, invoke updateServerList.\nTo avoid mass client migration at the same time, each client should sleep a random\nshort period before invoking updateServerList."},"734":{"id":"/docs/admin-ops/dynamic-reconfiguration-124","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#rebalancing-client-connections","content":"A few examples can be found in StaticHostProviderTest.java and TestReconfig.cc."},"735":{"id":"/docs/admin-ops/dynamic-reconfiguration-125","page_id":"/docs/admin-ops/dynamic-reconfiguration","tags":[],"type":"text","url":"/docs/admin-ops/dynamic-reconfiguration#rebalancing-client-connections","content":"Example (simplified to illustrate the general idea, not a production recipe):"},"736":{"id":"/docs/admin-ops/jmx","page_id":"/docs/admin-ops/jmx","type":"page","content":"JMX","breadcrumbs":["Multi-Page Documentation","Admin & Ops"],"tags":[],"url":"/docs/admin-ops/jmx"},"737":{"id":"/docs/admin-ops/jmx-0","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx","content":"How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers."},"738":{"id":"/docs/admin-ops/jmx-1","page_id":"/docs/admin-ops/jmx","type":"heading","tags":[],"url":"/docs/admin-ops/jmx#starting-zookeeper-with-jmx-enabled","content":"Starting ZooKeeper with JMX Enabled"},"739":{"id":"/docs/admin-ops/jmx-2","page_id":"/docs/admin-ops/jmx","type":"heading","tags":[],"url":"/docs/admin-ops/jmx#running-a-jmx-console","content":"Running a JMX Console"},"740":{"id":"/docs/admin-ops/jmx-3","page_id":"/docs/admin-ops/jmx","type":"heading","tags":[],"url":"/docs/admin-ops/jmx#logback-mbeans-new-in-380","content":"Logback MBeans (new in 3.8.0)"},"741":{"id":"/docs/admin-ops/jmx-4","page_id":"/docs/admin-ops/jmx","type":"heading","tags":[],"url":"/docs/admin-ops/jmx#log4j-mbeans-deprecated","content":"Log4j MBeans (deprecated)"},"742":{"id":"/docs/admin-ops/jmx-5","page_id":"/docs/admin-ops/jmx","type":"heading","tags":[],"url":"/docs/admin-ops/jmx#zookeeper-mbean-reference","content":"ZooKeeper MBean Reference"},"743":{"id":"/docs/admin-ops/jmx-6","page_id":"/docs/admin-ops/jmx","type":"heading","tags":[],"url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Replicated Ensemble MBeans"},"744":{"id":"/docs/admin-ops/jmx-7","page_id":"/docs/admin-ops/jmx","type":"heading","tags":[],"url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"Standalone Server MBeans"},"745":{"id":"/docs/admin-ops/jmx-8","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx","content":"Apache ZooKeeper has extensive support for JMX, allowing you\nto view and manage a ZooKeeper serving ensemble."},"746":{"id":"/docs/admin-ops/jmx-9","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx","content":"This document assumes that you have basic knowledge of\nJMX. See the Sun JMX Technology page to get started with JMX."},"747":{"id":"/docs/admin-ops/jmx-10","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx","content":"See the JMX Management Guide for details on setting up local and\nremote management of VM instances. By default the included\nzkServer.sh supports only local management —\nreview the linked document to enable support for remote management\n(beyond the scope of this document)."},"748":{"id":"/docs/admin-ops/jmx-11","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#starting-zookeeper-with-jmx-enabled","content":"The class org.apache.zookeeper.server.quorum.QuorumPeerMain\nwill start a JMX manageable ZooKeeper server. This class\nregisters the proper MBeans during initialization to support JMX\nmonitoring and management of the instance. See bin/zkServer.sh for one\nexample of starting ZooKeeper using QuorumPeerMain."},"749":{"id":"/docs/admin-ops/jmx-12","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#running-a-jmx-console","content":"There are a number of JMX consoles available which can connect\nto the running server. For this example we will use Sun's jconsole."},"750":{"id":"/docs/admin-ops/jmx-13","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#running-a-jmx-console","content":"The Java JDK ships with a simple JMX console\nnamed jconsole\nwhich can be used to connect to ZooKeeper and inspect a running\nserver. Once you've started ZooKeeper using QuorumPeerMain,\nstart jconsole, which typically resides in JDK_HOME/bin/jconsole."},"751":{"id":"/docs/admin-ops/jmx-14","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#running-a-jmx-console","content":"When the \"new connection\" window is displayed, either connect\nto the local process (if jconsole was started on the same host as the server) or\nuse the remote process connection."},"752":{"id":"/docs/admin-ops/jmx-15","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#running-a-jmx-console","content":"By default the \"overview\" tab for the VM is displayed. Select\nthe \"MBeans\" tab."},"753":{"id":"/docs/admin-ops/jmx-16","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#running-a-jmx-console","content":"You should now see org.apache.ZooKeeperService\non the left hand side. Expand this item and depending on how you've\nstarted the server you will be able to monitor and manage various\nservice related features."},"754":{"id":"/docs/admin-ops/jmx-17","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#logback-mbeans-new-in-380","content":"Logback is the default logging backend of ZooKeeper since version 3.8.0.\nIt can be configured to register JMX MBeans by adding to logback.xml. More\ninformation can be found on Logback's website."},"755":{"id":"/docs/admin-ops/jmx-18","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#log4j-mbeans-deprecated","content":"ZooKeeper will register log4j MBeans if log4j1 is configured as the logging backend of SLF4J.\nIn the same section along the left hand side you will see\n\"log4j\". Expand that to manage log4j through JMX. Of particular\ninterest is the ability to dynamically change the logging levels\nused by editing the appender and root thresholds. Log4j MBean\nregistration can be disabled by passing\n-Dzookeeper.jmx.log4j.disable=true to the JVM\nwhen starting ZooKeeper. In addition, we can specify the name of\nthe MBean with the -Dzookeeper.jmx.log4j.mbean=log4j:hierarchy=default\noption, in case we need to upgrade an integrated system\nusing the old MBean name (log4j:hierarchy = default)."},"756":{"id":"/docs/admin-ops/jmx-19","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"This table details JMX for a server participating in a\nreplicated ZooKeeper ensemble (i.e. not standalone). This is the\ntypical case for a production environment."},"757":{"id":"/docs/admin-ops/jmx-20","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"MBean"},"758":{"id":"/docs/admin-ops/jmx-21","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"MBean Object Name"},"759":{"id":"/docs/admin-ops/jmx-22","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Description"},"760":{"id":"/docs/admin-ops/jmx-23","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Quorum"},"761":{"id":"/docs/admin-ops/jmx-24","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"ReplicatedServer_id<#>"},"762":{"id":"/docs/admin-ops/jmx-25","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Represents the Quorum, or Ensemble — parent of all cluster members. Note that the object name includes the \"myid\" of the server (name suffix) that your JMX agent has connected to."},"763":{"id":"/docs/admin-ops/jmx-26","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"LocalPeer/RemotePeer"},"764":{"id":"/docs/admin-ops/jmx-27","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"replica.<#>"},"765":{"id":"/docs/admin-ops/jmx-28","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Represents a local or remote peer (i.e. server participating in the ensemble). Note that the object name includes the \"myid\" of the server (name suffix)."},"766":{"id":"/docs/admin-ops/jmx-29","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"LeaderElection"},"767":{"id":"/docs/admin-ops/jmx-30","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"LeaderElection"},"768":{"id":"/docs/admin-ops/jmx-31","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Represents a ZooKeeper cluster leader election which is in progress. Provides information about the election, such as when it started."},"769":{"id":"/docs/admin-ops/jmx-32","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Leader"},"770":{"id":"/docs/admin-ops/jmx-33","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Leader"},"771":{"id":"/docs/admin-ops/jmx-34","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Indicates that the parent replica is the leader and provides attributes/operations for that server. Note that Leader is a subclass of ZooKeeperServer, so it provides all of the information normally associated with a ZooKeeperServer node."},"772":{"id":"/docs/admin-ops/jmx-35","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Follower"},"773":{"id":"/docs/admin-ops/jmx-36","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Follower"},"774":{"id":"/docs/admin-ops/jmx-37","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Indicates that the parent replica is a follower and provides attributes/operations for that server. Note that Follower is a subclass of ZooKeeperServer, so it provides all of the information normally associated with a ZooKeeperServer node."},"775":{"id":"/docs/admin-ops/jmx-38","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"DataTree"},"776":{"id":"/docs/admin-ops/jmx-39","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"InMemoryDataTree"},"777":{"id":"/docs/admin-ops/jmx-40","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Statistics on the in-memory znode database, also operations to access finer (and more computationally intensive) statistics on the data (such as ephemeral count). InMemoryDataTrees are children of ZooKeeperServer nodes."},"778":{"id":"/docs/admin-ops/jmx-41","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"ServerCnxn"},"779":{"id":"/docs/admin-ops/jmx-42","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":""},"780":{"id":"/docs/admin-ops/jmx-43","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#replicated-ensemble-mbeans","content":"Statistics on each client connection, also operations on those connections (such as termination). Note the object name is the session id of the connection in hex form."},"781":{"id":"/docs/admin-ops/jmx-44","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"This table details JMX for a standalone server. Standalone is typically\nonly used in development situations."},"782":{"id":"/docs/admin-ops/jmx-45","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"MBean"},"783":{"id":"/docs/admin-ops/jmx-46","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"MBean Object Name"},"784":{"id":"/docs/admin-ops/jmx-47","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"Description"},"785":{"id":"/docs/admin-ops/jmx-48","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"ZooKeeperServer"},"786":{"id":"/docs/admin-ops/jmx-49","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"StandaloneServer_port<#>"},"787":{"id":"/docs/admin-ops/jmx-50","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"Statistics on the running server, also operations to reset these attributes. Note that the object name includes the client port of the server (name suffix)."},"788":{"id":"/docs/admin-ops/jmx-51","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"DataTree"},"789":{"id":"/docs/admin-ops/jmx-52","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"InMemoryDataTree"},"790":{"id":"/docs/admin-ops/jmx-53","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"Statistics on the in-memory znode database, also operations to access finer (and more computationally intensive) statistics on the data (such as ephemeral count)."},"791":{"id":"/docs/admin-ops/jmx-54","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"ServerCnxn"},"792":{"id":"/docs/admin-ops/jmx-55","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":""},"793":{"id":"/docs/admin-ops/jmx-56","page_id":"/docs/admin-ops/jmx","tags":[],"type":"text","url":"/docs/admin-ops/jmx#standalone-server-mbeans","content":"Statistics on each client connection, also operations on those connections (such as termination). Note the object name is the session id of the connection in hex form."},"794":{"id":"/docs/admin-ops/monitor-and-audit-logs","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"page","content":"Monitor & Audit Logs","breadcrumbs":["Multi-Page Documentation","Admin & Ops"],"tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs"},"795":{"id":"/docs/admin-ops/monitor-and-audit-logs-0","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs","content":"How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster."},"796":{"id":"/docs/admin-ops/monitor-and-audit-logs-1","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#new-metrics-system","content":"New Metrics System"},"797":{"id":"/docs/admin-ops/monitor-and-audit-logs-2","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#metrics","content":"Metrics"},"798":{"id":"/docs/admin-ops/monitor-and-audit-logs-3","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#configuring-the-metrics-provider","content":"Configuring the Metrics Provider"},"799":{"id":"/docs/admin-ops/monitor-and-audit-logs-4","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics","content":"Enabling HTTPS for Prometheus Metrics"},"800":{"id":"/docs/admin-ops/monitor-and-audit-logs-5","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#prometheus","content":"Prometheus"},"801":{"id":"/docs/admin-ops/monitor-and-audit-logs-6","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#alerting-with-prometheus","content":"Alerting with Prometheus"},"802":{"id":"/docs/admin-ops/monitor-and-audit-logs-7","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#grafana","content":"Grafana"},"803":{"id":"/docs/admin-ops/monitor-and-audit-logs-8","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#influxdb","content":"InfluxDB"},"804":{"id":"/docs/admin-ops/monitor-and-audit-logs-9","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#jmx","content":"JMX"},"805":{"id":"/docs/admin-ops/monitor-and-audit-logs-10","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#four-letter-words","content":"Four Letter Words"},"806":{"id":"/docs/admin-ops/monitor-and-audit-logs-11","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"Audit Logs"},"807":{"id":"/docs/admin-ops/monitor-and-audit-logs-12","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#audit-log-configuration","content":"Audit Log Configuration"},"808":{"id":"/docs/admin-ops/monitor-and-audit-logs-13","page_id":"/docs/admin-ops/monitor-and-audit-logs","type":"heading","tags":[],"url":"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs","content":"Who is Taken as User in Audit Logs?"},"809":{"id":"/docs/admin-ops/monitor-and-audit-logs-14","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#new-metrics-system","content":"The New Metrics System has been available since 3.6.0. It provides rich metrics covering\nznodes, network, disk, quorum, leader election, clients, security, failures, watches/sessions,\nrequest processors, and more."},"810":{"id":"/docs/admin-ops/monitor-and-audit-logs-15","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#metrics","content":"All available metrics are defined in ServerMetrics.java."},"811":{"id":"/docs/admin-ops/monitor-and-audit-logs-16","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#configuring-the-metrics-provider","content":"Enable the Prometheus MetricsProvider by adding the following to zoo.cfg:"},"812":{"id":"/docs/admin-ops/monitor-and-audit-logs-17","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#configuring-the-metrics-provider","content":"The HTTP port for Prometheus metrics scraping can be configured with (default is 7000):"},"813":{"id":"/docs/admin-ops/monitor-and-audit-logs-18","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics","content":"ZooKeeper supports SSL for the Prometheus metrics endpoint to provide secure data transmission."},"814":{"id":"/docs/admin-ops/monitor-and-audit-logs-19","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics","content":"Define the HTTPS port:"},"815":{"id":"/docs/admin-ops/monitor-and-audit-logs-20","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics","content":"Configure the SSL key store (holds the server's private key and certificate):"},"816":{"id":"/docs/admin-ops/monitor-and-audit-logs-21","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics","content":"Configure the SSL trust store (used to verify client certificates):"},"817":{"id":"/docs/admin-ops/monitor-and-audit-logs-22","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics","content":"type: info"},"818":{"id":"/docs/admin-ops/monitor-and-audit-logs-23","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics","content":"HTTP and HTTPS can be enabled simultaneously by defining both ports:"},"819":{"id":"/docs/admin-ops/monitor-and-audit-logs-24","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#prometheus","content":"Prometheus is the easiest way to ingest and record ZooKeeper metrics."},"820":{"id":"/docs/admin-ops/monitor-and-audit-logs-25","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#prometheus","content":"Install Prometheus from the official download page."},"821":{"id":"/docs/admin-ops/monitor-and-audit-logs-26","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#prometheus","content":"Configure the scraper to target your ZooKeeper cluster endpoints:"},"822":{"id":"/docs/admin-ops/monitor-and-audit-logs-27","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#prometheus","content":"Start Prometheus:"},"823":{"id":"/docs/admin-ops/monitor-and-audit-logs-28","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#prometheus","content":"Prometheus will now scrape ZooKeeper metrics every 10 seconds."},"824":{"id":"/docs/admin-ops/monitor-and-audit-logs-29","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#alerting-with-prometheus","content":"Read the Prometheus alerting documentation\nfor alerting principles, and use Prometheus Alertmanager\nto receive alert notifications via email or webhook."},"825":{"id":"/docs/admin-ops/monitor-and-audit-logs-30","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#alerting-with-prometheus","content":"The following is a reference alerting rules file for common ZooKeeper metrics. Adjust\nthresholds to match your environment."},"826":{"id":"/docs/admin-ops/monitor-and-audit-logs-31","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#alerting-with-prometheus","content":"Validate the rules file with:"},"827":{"id":"/docs/admin-ops/monitor-and-audit-logs-32","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#alerting-with-prometheus","content":"rules/zk.yml:"},"828":{"id":"/docs/admin-ops/monitor-and-audit-logs-33","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#grafana","content":"Grafana has built-in Prometheus support. Add a Prometheus data source with the following settings:"},"829":{"id":"/docs/admin-ops/monitor-and-audit-logs-34","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#grafana","content":"Download and import the default ZooKeeper dashboard template\nand customize it to your needs. If you have improvements to share, send them to dev@zookeeper.apache.org."},"830":{"id":"/docs/admin-ops/monitor-and-audit-logs-35","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#influxdb","content":"InfluxDB is an open source time series database often used to store ZooKeeper metrics.\nYou can download the open source version or\ncreate a free cloud account. In either case,\nconfigure the Apache ZooKeeper Telegraf plugin\nto collect and store metrics from your ZooKeeper clusters. There is also an\nApache ZooKeeper InfluxDB template\nthat includes Telegraf configuration and a pre-built dashboard to get you started quickly."},"831":{"id":"/docs/admin-ops/monitor-and-audit-logs-36","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#jmx","content":"See the JMX guide for details."},"832":{"id":"/docs/admin-ops/monitor-and-audit-logs-37","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#four-letter-words","content":"See the Four Letter Words section in the Administrator's Guide."},"833":{"id":"/docs/admin-ops/monitor-and-audit-logs-38","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"Apache ZooKeeper supports audit logging from version 3.6.0. By default audit logs are disabled.\nTo enable them, set audit.enable=true in conf/zoo.cfg. Audit logs are not written on every\nZooKeeper server — they are written only on the servers to which a client is connected, as\nillustrated below."},"834":{"id":"/docs/admin-ops/monitor-and-audit-logs-39","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"The audit log captures detailed information for audited operations, written as key=value pairs:"},"835":{"id":"/docs/admin-ops/monitor-and-audit-logs-40","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"Key"},"836":{"id":"/docs/admin-ops/monitor-and-audit-logs-41","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"Value"},"837":{"id":"/docs/admin-ops/monitor-and-audit-logs-42","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"session"},"838":{"id":"/docs/admin-ops/monitor-and-audit-logs-43","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"Client session ID."},"839":{"id":"/docs/admin-ops/monitor-and-audit-logs-44","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"user"},"840":{"id":"/docs/admin-ops/monitor-and-audit-logs-45","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"Comma-separated list of users associated with the client session. See Who is taken as user in audit logs?"},"841":{"id":"/docs/admin-ops/monitor-and-audit-logs-46","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"ip"},"842":{"id":"/docs/admin-ops/monitor-and-audit-logs-47","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"Client IP address."},"843":{"id":"/docs/admin-ops/monitor-and-audit-logs-48","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"operation"},"844":{"id":"/docs/admin-ops/monitor-and-audit-logs-49","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"The audited operation. Possible values: serverStart, serverStop, create, delete, setData, setAcl, multiOperation, reconfig, ephemeralZNodeDeleteOnSessionClose."},"845":{"id":"/docs/admin-ops/monitor-and-audit-logs-50","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"znode"},"846":{"id":"/docs/admin-ops/monitor-and-audit-logs-51","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"Path of the znode."},"847":{"id":"/docs/admin-ops/monitor-and-audit-logs-52","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"znode type"},"848":{"id":"/docs/admin-ops/monitor-and-audit-logs-53","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"Type of the znode (only for create operations)."},"849":{"id":"/docs/admin-ops/monitor-and-audit-logs-54","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"acl"},"850":{"id":"/docs/admin-ops/monitor-and-audit-logs-55","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"String representation of the znode ACL, e.g. cdrwa (create, delete, read, write, admin). Only logged for setAcl."},"851":{"id":"/docs/admin-ops/monitor-and-audit-logs-56","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"result"},"852":{"id":"/docs/admin-ops/monitor-and-audit-logs-57","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"Outcome of the operation: success, failure, or invoked. The invoked result is used for serverStop because the stop is logged before the server has confirmed it actually stopped."},"853":{"id":"/docs/admin-ops/monitor-and-audit-logs-58","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-logs","content":"Sample audit logs for all operations, where the client connected from 192.168.1.2, client\nprincipal is zkcli@HADOOP.COM, and server principal is zookeeper/192.168.1.3@HADOOP.COM:"},"854":{"id":"/docs/admin-ops/monitor-and-audit-logs-59","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-log-configuration","content":"Audit logging is performed using Logback. The following is the default logback configuration\nblock in conf/logback.xml (the entire block is commented out by default — uncomment it to\nactivate audit logging):"},"855":{"id":"/docs/admin-ops/monitor-and-audit-logs-60","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#audit-log-configuration","content":"Modify this configuration to customize the audit log filename, number of backup files,\nmaximum file size, or to use a custom audit logger."},"856":{"id":"/docs/admin-ops/monitor-and-audit-logs-61","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs","content":"There are four built-in authentication providers:"},"857":{"id":"/docs/admin-ops/monitor-and-audit-logs-62","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs","content":"IPAuthenticationProvider — the authenticated IP address is used as the user."},"858":{"id":"/docs/admin-ops/monitor-and-audit-logs-63","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs","content":"SASLAuthenticationProvider — the client principal is used as the user."},"859":{"id":"/docs/admin-ops/monitor-and-audit-logs-64","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs","content":"X509AuthenticationProvider — the client certificate is used as the user."},"860":{"id":"/docs/admin-ops/monitor-and-audit-logs-65","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs","content":"DigestAuthenticationProvider — the authenticated username is used as the user."},"861":{"id":"/docs/admin-ops/monitor-and-audit-logs-66","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs","content":"Custom authentication providers can override org.apache.zookeeper.server.auth.AuthenticationProvider.getUserName(String id)\nto provide a user name. If a custom provider does not override this method, the value stored in\norg.apache.zookeeper.data.Id.id is used as the user. Generally only the user name is stored in\nthis field, but it is up to the custom provider what they store there."},"862":{"id":"/docs/admin-ops/monitor-and-audit-logs-67","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs","content":"Not all ZooKeeper operations are initiated by clients — some are performed by the server itself.\nFor example, when a client session closes, any ephemeral znodes it owned are deleted by the server\ndirectly. These are called system operations. For system operations, the user associated with the\nZooKeeper server principal is logged as the user. For example, if the server principal is\nzookeeper/hadoop.hadoop.com@HADOOP.COM, it becomes the system user:"},"863":{"id":"/docs/admin-ops/monitor-and-audit-logs-68","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs","content":"If there is no user associated with the ZooKeeper server, the OS user who started the server\nprocess is used. For example, if the server was started by root:"},"864":{"id":"/docs/admin-ops/monitor-and-audit-logs-69","page_id":"/docs/admin-ops/monitor-and-audit-logs","tags":[],"type":"text","url":"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs","content":"A single client can attach multiple authentication schemes to a session. In that case all\nauthenticated identities are taken as the user and presented as a comma-separated list. For\nexample, if a client is authenticated with principal zkcli@HADOOP.COM and IP 127.0.0.1,\nthe create operation audit log will be:"},"865":{"id":"/docs/admin-ops/observers-guide","page_id":"/docs/admin-ops/observers-guide","type":"page","content":"Observers","breadcrumbs":["Multi-Page Documentation","Admin & Ops"],"tags":[],"url":"/docs/admin-ops/observers-guide"},"866":{"id":"/docs/admin-ops/observers-guide-0","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide","content":"How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum."},"867":{"id":"/docs/admin-ops/observers-guide-1","page_id":"/docs/admin-ops/observers-guide","type":"heading","tags":[],"url":"/docs/admin-ops/observers-guide#how-to-use-observers","content":"How to Use Observers"},"868":{"id":"/docs/admin-ops/observers-guide-2","page_id":"/docs/admin-ops/observers-guide","type":"heading","tags":[],"url":"/docs/admin-ops/observers-guide#how-to-use-observer-masters","content":"How to Use Observer Masters"},"869":{"id":"/docs/admin-ops/observers-guide-3","page_id":"/docs/admin-ops/observers-guide","type":"heading","tags":[],"url":"/docs/admin-ops/observers-guide#example-use-cases","content":"Example Use Cases"},"870":{"id":"/docs/admin-ops/observers-guide-4","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide","content":"Although ZooKeeper performs very well by having clients connect directly\nto voting members of the ensemble, this architecture makes it hard to\nscale out to huge numbers of clients. The problem is that as we add more\nvoting members, write performance drops. This is because a write operation\nrequires the agreement of at least half the nodes in an ensemble, so the\ncost of a vote grows significantly as more voters are added."},"871":{"id":"/docs/admin-ops/observers-guide-5","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide","content":"We have introduced a new type of ZooKeeper node called an Observer which\nhelps address this problem and further improves ZooKeeper's scalability. Observers\nare non-voting members of an ensemble which only hear the results of votes, not the\nagreement protocol that leads up to them. Other than this simple distinction,\nObservers function exactly the same as Followers — clients may connect to\nthem and send read and write requests to them. Observers forward these\nrequests to the Leader like Followers do, but they then simply wait to\nhear the result of the vote. Because of this, we can increase the number\nof Observers as much as we like without harming vote performance."},"872":{"id":"/docs/admin-ops/observers-guide-6","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide","content":"Observers have other advantages. Because they do not vote, they are not a\ncritical part of the ZooKeeper ensemble — they can fail or be\ndisconnected from the cluster without harming the availability of the\nZooKeeper service. The benefit to the user is that Observers may connect\nover less reliable network links than Followers. In fact, Observers may be\nused to talk to a ZooKeeper server from another data center. Clients of\nan Observer will see fast reads, as all reads are served locally, and\nwrites result in minimal network traffic since the number of messages\nrequired without the vote protocol is smaller."},"873":{"id":"/docs/admin-ops/observers-guide-7","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#how-to-use-observers","content":"Setting up a ZooKeeper ensemble that uses Observers requires just two\nchanges to your config files."},"874":{"id":"/docs/admin-ops/observers-guide-8","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#how-to-use-observers","content":"First, in the config file of every node that is to be an Observer, add:"},"875":{"id":"/docs/admin-ops/observers-guide-9","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#how-to-use-observers","content":"This tells ZooKeeper that the server is to be an Observer."},"876":{"id":"/docs/admin-ops/observers-guide-10","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#how-to-use-observers","content":"Second, in every server config file, append :observer to the server\ndefinition line of each Observer. For example:"},"877":{"id":"/docs/admin-ops/observers-guide-11","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#how-to-use-observers","content":"This tells every other server that server.1 is an Observer and that they\nshould not expect it to vote. This is all the configuration needed to add\nan Observer to your ZooKeeper cluster. You can then connect to it as you\nwould an ordinary Follower:"},"878":{"id":"/docs/admin-ops/observers-guide-12","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#how-to-use-observers","content":"where localhost:2181 is the hostname and port of the Observer as\nspecified in every config file. You should see a command line prompt\nthrough which you can issue commands like ls to query the ZooKeeper service."},"879":{"id":"/docs/admin-ops/observers-guide-13","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#how-to-use-observer-masters","content":"Observers function simply as non-voting members of the ensemble, sharing\nthe Learner interface with Followers and holding only a slightly different\ninternal pipeline. Both maintain connections along the quorum port with the\nLeader by which they learn of all new proposals on the ensemble."},"880":{"id":"/docs/admin-ops/observers-guide-14","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#how-to-use-observer-masters","content":"By default, Observers connect to the Leader along its quorum port to learn of\nnew proposals. There are benefits to allowing Observers to connect to\nFollowers instead as a means of plugging into the commit stream. This shifts\nthe burden of supporting Observers off the Leader, allowing it to focus on\ncoordinating the commit of writes. The result is better performance when the\nLeader is under high load — particularly high network load such as after a\nleader election when many Learners need to sync. It also reduces the total\nnumber of network connections maintained on the Leader when there are many\nObservers. Activating this feature allows the overall number of Observers to\nscale into the hundreds, and improves Observer availability since a large\nnumber of Observers finish syncing and start serving client traffic faster."},"881":{"id":"/docs/admin-ops/observers-guide-15","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#how-to-use-observer-masters","content":"This feature is activated by adding the following entry to the server config\nfile. It instructs Observers to connect to peers (Leaders and Followers) on\nthe specified port, and instructs Followers to create an ObserverMaster thread\nto listen and serve on that port:"},"882":{"id":"/docs/admin-ops/observers-guide-16","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#example-use-cases","content":"Wherever you wish to scale the number of clients of your ZooKeeper ensemble,\nor where you wish to insulate the critical part of an ensemble from the load\nof dealing with client requests, Observers are a good architectural choice.\nTwo example use cases are:"},"883":{"id":"/docs/admin-ops/observers-guide-17","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#example-use-cases","content":"Datacenter bridge: Forming a ZooKeeper ensemble between two datacenters is\nproblematic because high variance in latency between datacenters can lead to\nfalse-positive failure detection and partitioning. However, if the ensemble runs\nentirely in one datacenter and the second datacenter runs only Observers,\npartitions are not problematic — the ensemble remains connected. Clients of the\nObservers may still see and issue proposals."},"884":{"id":"/docs/admin-ops/observers-guide-18","page_id":"/docs/admin-ops/observers-guide","tags":[],"type":"text","url":"/docs/admin-ops/observers-guide#example-use-cases","content":"Message bus integration: Some use cases call for ZooKeeper as a component of\na persistent reliable message bus. Observers provide a natural integration point:\na plug-in mechanism can attach the stream of proposals an Observer sees to a\npublish-subscribe system, without loading the core ensemble."},"885":{"id":"/docs/admin-ops/quorums","page_id":"/docs/admin-ops/quorums","type":"page","content":"Quorums","breadcrumbs":["Multi-Page Documentation","Admin & Ops"],"tags":[],"url":"/docs/admin-ops/quorums"},"886":{"id":"/docs/admin-ops/quorums-0","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums","content":"How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters."},"887":{"id":"/docs/admin-ops/quorums-1","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#hierarchical-quorums","content":"Hierarchical Quorums"},"888":{"id":"/docs/admin-ops/quorums-2","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#oracle-quorum","content":"Oracle Quorum"},"889":{"id":"/docs/admin-ops/quorums-3","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#the-implementation-of-the-oracle","content":"The Implementation of the Oracle"},"890":{"id":"/docs/admin-ops/quorums-4","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#deployment-contexts","content":"Deployment Contexts"},"891":{"id":"/docs/admin-ops/quorums-5","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#configuring-the-oracle-in-zoocfg","content":"Configuring the Oracle in zoo.cfg"},"892":{"id":"/docs/admin-ops/quorums-6","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#example-zoocfg","content":"Example zoo.cfg"},"893":{"id":"/docs/admin-ops/quorums-7","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#behavior-after-enabling-the-oracle","content":"Behavior After Enabling the Oracle"},"894":{"id":"/docs/admin-ops/quorums-8","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#considerations-when-using-the-oracle","content":"Considerations When Using the Oracle"},"895":{"id":"/docs/admin-ops/quorums-9","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#liveness-issue","content":"Liveness Issue"},"896":{"id":"/docs/admin-ops/quorums-10","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#safety-issue","content":"Safety Issue"},"897":{"id":"/docs/admin-ops/quorums-11","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#examples-of-failure-detector-implementations","content":"Examples of Failure Detector Implementations"},"898":{"id":"/docs/admin-ops/quorums-12","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#hardware-based-implementation","content":"Hardware-based Implementation"},"899":{"id":"/docs/admin-ops/quorums-13","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#software-based-implementation","content":"Software-based Implementation"},"900":{"id":"/docs/admin-ops/quorums-14","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"Using a USB Device as the Oracle"},"901":{"id":"/docs/admin-ops/quorums-15","page_id":"/docs/admin-ops/quorums","type":"heading","tags":[],"url":"/docs/admin-ops/quorums#reference","content":"Reference"},"902":{"id":"/docs/admin-ops/quorums-16","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#hierarchical-quorums","content":"This document gives an example of how to use hierarchical quorums. The basic idea is\nvery simple. First, we split servers into groups, and add a line for each group listing\nthe servers that form this group. Next we have to assign a weight to each server."},"903":{"id":"/docs/admin-ops/quorums-17","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#hierarchical-quorums","content":"The following example shows how to configure a system with three groups of three servers\neach, and we assign a weight of 1 to each server:"},"904":{"id":"/docs/admin-ops/quorums-18","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#hierarchical-quorums","content":"When running the system, we are able to form a quorum once we have a majority of votes from\na majority of non-zero-weight groups. Groups that have zero weight are discarded and not\nconsidered when forming quorums. Looking at the example, we are able to form a quorum once\nwe have votes from at least two servers from each of two different groups."},"905":{"id":"/docs/admin-ops/quorums-19","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#oracle-quorum","content":"Oracle Quorum increases the availability of a cluster of 2 ZooKeeper instances with a failure detector known as the Oracle.\nThe Oracle is designed to grant permission to the instance which is the only remaining instance\nin a 2-instance configuration when the other instance is identified as faulty by the failure detector."},"906":{"id":"/docs/admin-ops/quorums-20","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#the-implementation-of-the-oracle","content":"Every instance accesses a file which contains either 0 or 1 to indicate whether that instance is authorized by the Oracle.\nThis design can be changed since failure detector algorithms vary. You can override the askOracle() method in QuorumOracleMaj to adapt a preferred way of reading the Oracle's decision."},"907":{"id":"/docs/admin-ops/quorums-21","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#deployment-contexts","content":"The Oracle is designed to increase the availability of a cluster of 2 ZooKeeper instances; thus, the size of the voting member is 2.\nIn other words, the Oracle solves the consensus problem of a possible faulty instance in a two-instance ensemble."},"908":{"id":"/docs/admin-ops/quorums-22","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#deployment-contexts","content":"When the size of the voting members exceeds 2, the expected way to make the Oracle work correctly is to reconfigure the cluster size when a faulty machine is identified.\nFor example, with a configuration of 5 instances, when a faulty machine breaks the connection with the Leader, a reconfig client request is expected to re-form the cluster as 4 instances.\nOnce the size of the voting member equals 2, the configuration falls into the problem domain which the Oracle is designed to address."},"909":{"id":"/docs/admin-ops/quorums-23","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#configuring-the-oracle-in-zoocfg","content":"Regardless of the cluster size, oraclePath must be configured at initialization time, like other static parameters.\nThe following shows the correct way to specify and enable the Oracle:"},"910":{"id":"/docs/admin-ops/quorums-24","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#configuring-the-oracle-in-zoocfg","content":"QuorumOracleMaj reads the result of a failure detector written to a text file — the oracle file.\nSuppose you have the result of the failure detector written to /some/path/result.txt; the correct configuration is:"},"911":{"id":"/docs/admin-ops/quorums-25","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#configuring-the-oracle-in-zoocfg","content":"The oracle file should contain 1 to authorize the instance, or 0 to deny it. An example file can be created with:"},"912":{"id":"/docs/admin-ops/quorums-26","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#configuring-the-oracle-in-zoocfg","content":"Any equivalent file is suitable for the current implementation of QuorumOracleMaj.\nThe number of oracle files should equal the number of ZooKeeper instances configured to enable the Oracle.\nEach ZooKeeper instance should have its own oracle file — files must not be shared, otherwise the issues described in the Safety section will arise."},"913":{"id":"/docs/admin-ops/quorums-27","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#behavior-after-enabling-the-oracle","content":"QuorumPeerConfig will create an instance of QuorumOracleMaj instead of the default QuorumMaj when it reads an oraclePath in zoo.cfg.\nQuorumOracleMaj inherits from QuorumMaj and differs from its superclass by overriding containsQuorum().\nQuorumOracleMaj executes its version of containsQuorum when the Leader loses all of its followers and fails to maintain the quorum.\nIn all other cases, QuorumOracleMaj behaves identically to QuorumMaj."},"914":{"id":"/docs/admin-ops/quorums-28","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#considerations-when-using-the-oracle","content":"We consider an asynchronous distributed system which consists of 2 ZooKeeper instances and an Oracle."},"915":{"id":"/docs/admin-ops/quorums-29","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#liveness-issue","content":"When the Oracle satisfies the following property introduced by :"},"916":{"id":"/docs/admin-ops/quorums-30","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#liveness-issue","content":"Strong Completeness: There is a time after which every process that crashes is permanently suspected by every correct process."},"917":{"id":"/docs/admin-ops/quorums-31","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#liveness-issue","content":"Liveness of the system is ensured by the Oracle.\nHowever, when the Oracle fails to maintain this property, loss of liveness is expected. For example:"},"918":{"id":"/docs/admin-ops/quorums-32","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#liveness-issue","content":"Suppose we have a Leader and a Follower running in the broadcasting state. The system will lose its liveness when:"},"919":{"id":"/docs/admin-ops/quorums-33","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#liveness-issue","content":"The Leader fails, but the Oracle does not detect the faulty Leader — the Oracle will not authorize the Follower to become a new Leader."},"920":{"id":"/docs/admin-ops/quorums-34","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#liveness-issue","content":"A Follower fails, but the Oracle does not detect the faulty Follower — the Oracle will authorize the Leader to move the system forward."},"921":{"id":"/docs/admin-ops/quorums-35","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"Loss of Progress"},"922":{"id":"/docs/admin-ops/quorums-36","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"Progress can be lost when multiple failures occur in the system at different times. For example:"},"923":{"id":"/docs/admin-ops/quorums-37","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"Suppose we have a Leader (Ben) and a Follower (John) in the broadcasting state:"},"924":{"id":"/docs/admin-ops/quorums-38","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"T1 zxid(0x1_1): L-Ben fails, and F-John takes over under authorization from the Oracle."},"925":{"id":"/docs/admin-ops/quorums-39","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"T2 zxid(0x2_1): F-John becomes a new Leader (L-John) and starts a new epoch."},"926":{"id":"/docs/admin-ops/quorums-40","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"T3 zxid(0x2_A): L-John fails."},"927":{"id":"/docs/admin-ops/quorums-41","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"T4 zxid(0x2_A): Ben recovers and starts leader election."},"928":{"id":"/docs/admin-ops/quorums-42","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"T5 zxid(0x3_1): Ben becomes the new Leader (L-Ben) under authorization from the Oracle."},"929":{"id":"/docs/admin-ops/quorums-43","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"In this case, the system loses its progress after L-Ben initially failed."},"930":{"id":"/docs/admin-ops/quorums-44","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"However, loss of progress can be prevented by making the Oracle capable of referring to the latest zxid.\nWhen the Oracle can refer to the latest zxid, at T5 zxid(0x2_A), Ben will not complete leader election because the Oracle would not authorize him while John is still known to be ahead.\nThis trades liveness for safety."},"931":{"id":"/docs/admin-ops/quorums-45","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"Split Brain Issue"},"932":{"id":"/docs/admin-ops/quorums-46","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"We consider the Oracle satisfies the following property introduced by :"},"933":{"id":"/docs/admin-ops/quorums-47","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"Accuracy: There is a time after which some correct process is never suspected by any process."},"934":{"id":"/docs/admin-ops/quorums-48","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"The decisions the Oracle gives out must be mutually exclusive."},"935":{"id":"/docs/admin-ops/quorums-49","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"Suppose we have a Leader (Ben) and a Follower (John) in the broadcasting state:"},"936":{"id":"/docs/admin-ops/quorums-50","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"At any time, the Oracle will not authorize both Ben and John simultaneously, even if each failure detector suspects the other."},"937":{"id":"/docs/admin-ops/quorums-51","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"Equivalently: for any two Oracle files, their values must not both be 1 at the same time."},"938":{"id":"/docs/admin-ops/quorums-52","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"Split brain is expected when the Oracle fails to maintain this property during leader election, which can happen at:"},"939":{"id":"/docs/admin-ops/quorums-53","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"System start."},"940":{"id":"/docs/admin-ops/quorums-54","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#safety-issue","content":"A failed instance recovering from failure."},"941":{"id":"/docs/admin-ops/quorums-55","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#examples-of-failure-detector-implementations","content":"A failure detector's role is to authorize the querying ZooKeeper instance whether it has the right to move the system forward without waiting for the faulty instance."},"942":{"id":"/docs/admin-ops/quorums-56","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#hardware-based-implementation","content":"Suppose two dedicated hardware nodes, hw1 and hw2, host ZooKeeper instances zk1 and zk2 respectively, forming a cluster.\nA hardware device attached to both nodes can determine whether each is powered on.\nWhen hw1 is not powered on, zk1 is undoubtedly faulty.\nThe hardware device then updates the oracle file on hw2 to 1, authorizing zk2 to move the system forward."},"943":{"id":"/docs/admin-ops/quorums-57","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#software-based-implementation","content":"Suppose two dedicated hardware nodes, hw1 and hw2, host ZooKeeper instances zk1 and zk2 respectively.\nTwo services, o1 on hw1 and o2 on hw2, detect whether the other node is alive (for example, by pinging).\nWhen o1 cannot ping hw2, it identifies hw2 as faulty and updates the oracle file of zk1 to 1, authorizing zk1 to move forward."},"944":{"id":"/docs/admin-ops/quorums-58","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"In macOS 10.15.7 (19H2), external storage devices are mounted under /Volumes.\nA USB device containing the required oracle file can serve as the Oracle.\nWhen the device is connected, the oracle authorizes the leader to move the system forward."},"945":{"id":"/docs/admin-ops/quorums-59","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"The following 6 steps demonstrate how this works:"},"946":{"id":"/docs/admin-ops/quorums-60","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"Insert a USB device named Oracle. The path /Volumes/Oracle will be accessible."},"947":{"id":"/docs/admin-ops/quorums-61","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"Create a file containing 1 under /Volumes/Oracle named mastership:"},"948":{"id":"/docs/admin-ops/quorums-62","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"The path /Volumes/Oracle/mastership is now accessible to ZooKeeper instances."},"949":{"id":"/docs/admin-ops/quorums-63","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"Create a zoo.cfg like the following:"},"950":{"id":"/docs/admin-ops/quorums-64","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"Note: Split brain will not occur here because there is only a single USB device. mastership must not be shared by multiple instances — only one ZooKeeper instance should be configured with Oracle. See the Safety Issue section for details."},"951":{"id":"/docs/admin-ops/quorums-65","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"Start the cluster. It should form a quorum normally."},"952":{"id":"/docs/admin-ops/quorums-66","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"Terminate the instance that is either not attached to a USB device or whose mastership file contains 0. Two scenarios are expected:"},"953":{"id":"/docs/admin-ops/quorums-67","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"A leader failure occurs, and the remaining instance completes leader election on its own via the Oracle."},"954":{"id":"/docs/admin-ops/quorums-68","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"The quorum is maintained via the Oracle."},"955":{"id":"/docs/admin-ops/quorums-69","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"Remove the USB device. /Volumes/Oracle/mastership becomes unavailable. According to the current implementation, whenever the Leader queries the oracle and the file is missing, the oracle throws an exception and returns false. Repeating step 5 will result in either the system being unable to recover from a leader failure, or the leader losing the quorum and service being interrupted."},"956":{"id":"/docs/admin-ops/quorums-70","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","content":"With these steps, you can observe and practice how the Oracle works with a two-instance system."},"957":{"id":"/docs/admin-ops/quorums-71","page_id":"/docs/admin-ops/quorums","tags":[],"type":"text","url":"/docs/admin-ops/quorums#reference","content":"Tushar Deepak Chandra and Sam Toueg. 1991. Unreliable failure detectors for asynchronous systems (preliminary version). In Proceedings of the tenth annual ACM symposium on Principles of distributed computing (PODC '91). Association for Computing Machinery, New York, NY, USA, 325–340. DOI:10.1145/112600.112627"},"958":{"id":"/docs/admin-ops/quota-guide","page_id":"/docs/admin-ops/quota-guide","type":"page","content":"Quota Guide","breadcrumbs":["Multi-Page Documentation","Admin & Ops"],"tags":[],"url":"/docs/admin-ops/quota-guide"},"959":{"id":"/docs/admin-ops/quota-guide-0","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide","content":"ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas."},"960":{"id":"/docs/admin-ops/quota-guide-1","page_id":"/docs/admin-ops/quota-guide","type":"heading","tags":[],"url":"/docs/admin-ops/quota-guide#setting-quotas","content":"Setting Quotas"},"961":{"id":"/docs/admin-ops/quota-guide-2","page_id":"/docs/admin-ops/quota-guide","type":"heading","tags":[],"url":"/docs/admin-ops/quota-guide#listing-quotas","content":"Listing Quotas"},"962":{"id":"/docs/admin-ops/quota-guide-3","page_id":"/docs/admin-ops/quota-guide","type":"heading","tags":[],"url":"/docs/admin-ops/quota-guide#deleting-quotas","content":"Deleting Quotas"},"963":{"id":"/docs/admin-ops/quota-guide-4","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide","content":"ZooKeeper prints WARN messages if users exceed the quota assigned to them. The messages\nare printed in the log of the ZooKeeper."},"964":{"id":"/docs/admin-ops/quota-guide-5","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide","content":"Notice: What the namespace quota means is the count quota which limits the number of children\nunder the path (included itself)."},"965":{"id":"/docs/admin-ops/quota-guide-6","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide","content":"The above command gives you a command line option of using quotas."},"966":{"id":"/docs/admin-ops/quota-guide-7","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide#setting-quotas","content":"You can use setquota to set a quota on a ZooKeeper node. It has an option of setting quota with\n-n (for namespace/count) and -b (for bytes/data length)."},"967":{"id":"/docs/admin-ops/quota-guide-8","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide#setting-quotas","content":"The ZooKeeper quota is stored in ZooKeeper itself in /zookeeper/quota. To disable other people from\nchanging the quotas, users can set the ACL for /zookeeper/quota so that only admins are able to read and write to it."},"968":{"id":"/docs/admin-ops/quota-guide-9","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide#setting-quotas","content":"If the quota doesn't exist in the specified path, create the quota, otherwise update the quota."},"969":{"id":"/docs/admin-ops/quota-guide-10","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide#setting-quotas","content":"The scope of the quota users set is all the nodes under the path specified (included itself)."},"970":{"id":"/docs/admin-ops/quota-guide-11","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide#setting-quotas","content":"In order to simplify the calculation of quota in the current directory/hierarchy structure, a complete\ntree path (from root to leaf node) can be set only one quota. In the situation when setting a quota in\na path which its parent or child node already has a quota, setquota will reject and tell the specified\nparent or child path. Users can adjust allocations of quotas (delete/move-up/move-down the quota)\naccording to specific circumstances."},"971":{"id":"/docs/admin-ops/quota-guide-12","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide#setting-quotas","content":"Combined with the Chroot, the quota will have a better isolation effectiveness between different\napplications. For example:"},"972":{"id":"/docs/admin-ops/quota-guide-13","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide#setting-quotas","content":"Users cannot set the quota on the path under /zookeeper/quota."},"973":{"id":"/docs/admin-ops/quota-guide-14","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide#setting-quotas","content":"The quota supports soft and hard quotas. The soft quota just logs a warning when exceeding the quota,\nbut the hard quota also throws a QuotaExceededException. When setting soft and hard quota on the same\npath, the hard quota has priority."},"974":{"id":"/docs/admin-ops/quota-guide-15","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide#listing-quotas","content":"You can use listquota to list a quota on a ZooKeeper node."},"975":{"id":"/docs/admin-ops/quota-guide-16","page_id":"/docs/admin-ops/quota-guide","tags":[],"type":"text","url":"/docs/admin-ops/quota-guide#deleting-quotas","content":"You can use delquota to delete quota on a ZooKeeper node."},"976":{"id":"/docs/admin-ops/snapshot-and-restore-guide","page_id":"/docs/admin-ops/snapshot-and-restore-guide","type":"page","content":"Snapshot and Restore Guide","breadcrumbs":["Multi-Page Documentation","Admin & Ops"],"tags":[],"url":"/docs/admin-ops/snapshot-and-restore-guide"},"977":{"id":"/docs/admin-ops/snapshot-and-restore-guide-0","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide","content":"How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure."},"978":{"id":"/docs/admin-ops/snapshot-and-restore-guide-1","page_id":"/docs/admin-ops/snapshot-and-restore-guide","type":"heading","tags":[],"url":"/docs/admin-ops/snapshot-and-restore-guide#snapshot","content":"Snapshot"},"979":{"id":"/docs/admin-ops/snapshot-and-restore-guide-2","page_id":"/docs/admin-ops/snapshot-and-restore-guide","type":"heading","tags":[],"url":"/docs/admin-ops/snapshot-and-restore-guide#restore","content":"Restore"},"980":{"id":"/docs/admin-ops/snapshot-and-restore-guide-3","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide","content":"ZooKeeper is designed to withstand machine failures. A ZooKeeper cluster can automatically recover\nfrom temporary failures such as machine reboots, and can tolerate up to (N-1)/2 permanent failures\nfor a cluster of N members due to hardware failures or disk corruption. When a member permanently\nfails, it loses access to the cluster. If the cluster permanently loses more than (N-1)/2 members,\nit disastrously fails and loses quorum. Once quorum is lost, the cluster cannot reach consensus and\ntherefore cannot continue to accept updates."},"981":{"id":"/docs/admin-ops/snapshot-and-restore-guide-4","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide","content":"To recover from such disastrous failures, ZooKeeper provides snapshot and restore functionalities to\nrestore a cluster from a snapshot."},"982":{"id":"/docs/admin-ops/snapshot-and-restore-guide-5","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide","content":"Key characteristics of snapshot and restore:"},"983":{"id":"/docs/admin-ops/snapshot-and-restore-guide-6","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide","content":"They operate on the connected server via Admin Server APIs."},"984":{"id":"/docs/admin-ops/snapshot-and-restore-guide-7","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide","content":"They are rate-limited to protect the server from being overloaded."},"985":{"id":"/docs/admin-ops/snapshot-and-restore-guide-8","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide","content":"They require authentication and authorization on the root path with ALL permission. The supported\nauth schemes are digest, x509, and IP."},"986":{"id":"/docs/admin-ops/snapshot-and-restore-guide-9","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide#snapshot","content":"Recovering a cluster needs a snapshot from a ZooKeeper cluster. Users can periodically take\nsnapshots from a live server which has the highest zxid and stream out data to local or external\nstorage/file system (e.g., S3)."},"987":{"id":"/docs/admin-ops/snapshot-and-restore-guide-10","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide#restore","content":"Restoring a cluster needs a single snapshot as input stream. Restore can be used for recovering a\ncluster after quorum loss or for building a brand-new cluster with seed data."},"988":{"id":"/docs/admin-ops/snapshot-and-restore-guide-11","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide#restore","content":"All members should restore using the same snapshot. The recommended steps are:"},"989":{"id":"/docs/admin-ops/snapshot-and-restore-guide-12","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide#restore","content":"Take a snapshot of the latest database state using the snapshot admin server command, if\napplicable."},"990":{"id":"/docs/admin-ops/snapshot-and-restore-guide-13","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide#restore","content":"For each server:"},"991":{"id":"/docs/admin-ops/snapshot-and-restore-guide-14","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide#restore","content":"Move the files in dataDir and dataLogDir to a different location to prevent the restored\ndatabase from being overwritten when the server restarts after restore."},"992":{"id":"/docs/admin-ops/snapshot-and-restore-guide-15","page_id":"/docs/admin-ops/snapshot-and-restore-guide","tags":[],"type":"text","url":"/docs/admin-ops/snapshot-and-restore-guide#restore","content":"Restore the server using the restore admin server command:"},"993":{"id":"/docs/admin-ops/tools","page_id":"/docs/admin-ops/tools","type":"page","content":"Tools","breadcrumbs":["Multi-Page Documentation","Admin & Ops"],"tags":[],"url":"/docs/admin-ops/tools"},"994":{"id":"/docs/admin-ops/tools-0","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools","content":"Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks."},"995":{"id":"/docs/admin-ops/tools-1","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#scripts","content":"Scripts"},"996":{"id":"/docs/admin-ops/tools-2","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#zkserversh","content":"zkServer.sh"},"997":{"id":"/docs/admin-ops/tools-3","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#zkclish","content":"zkCli.sh"},"998":{"id":"/docs/admin-ops/tools-4","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#zkenvsh","content":"zkEnv.sh"},"999":{"id":"/docs/admin-ops/tools-5","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#zkcleanupsh","content":"zkCleanup.sh"},"1000":{"id":"/docs/admin-ops/tools-6","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#zktxnlogtoolkitsh","content":"zkTxnLogToolkit.sh"},"1001":{"id":"/docs/admin-ops/tools-7","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#zksnapshottoolkitsh","content":"zkSnapShotToolkit.sh"},"1002":{"id":"/docs/admin-ops/tools-8","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#zksnapshotrecursivesummarytoolkitsh","content":"zkSnapshotRecursiveSummaryToolkit.sh"},"1003":{"id":"/docs/admin-ops/tools-9","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#zksnapshotcomparersh","content":"zkSnapshotComparer.sh"},"1004":{"id":"/docs/admin-ops/tools-10","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#locating-snapshots","content":"Locating Snapshots"},"1005":{"id":"/docs/admin-ops/tools-11","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#supported-snapshot-formats","content":"Supported Snapshot Formats"},"1006":{"id":"/docs/admin-ops/tools-12","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#running-the-tool","content":"Running the Tool"},"1007":{"id":"/docs/admin-ops/tools-13","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#interactive-mode","content":"Interactive Mode"},"1008":{"id":"/docs/admin-ops/tools-14","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#benchmark","content":"Benchmark"},"1009":{"id":"/docs/admin-ops/tools-15","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#ycsb","content":"YCSB"},"1010":{"id":"/docs/admin-ops/tools-16","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#zk-smoketest","content":"zk-smoketest"},"1011":{"id":"/docs/admin-ops/tools-17","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#testing","content":"Testing"},"1012":{"id":"/docs/admin-ops/tools-18","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#fault-injection-framework","content":"Fault Injection Framework"},"1013":{"id":"/docs/admin-ops/tools-19","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#byteman","content":"Byteman"},"1014":{"id":"/docs/admin-ops/tools-20","page_id":"/docs/admin-ops/tools","type":"heading","tags":[],"url":"/docs/admin-ops/tools#jepsen-test","content":"Jepsen Test"},"1015":{"id":"/docs/admin-ops/tools-21","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zkserversh","content":"Manage the ZooKeeper server process."},"1016":{"id":"/docs/admin-ops/tools-22","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zkserversh","content":"The status command establishes a client connection to execute diagnostic commands.\nWhen the ZooKeeper cluster is started in TLS-only mode (by omitting clientPort from\nzoo.cfg), additional SSL configuration must be provided:"},"1017":{"id":"/docs/admin-ops/tools-23","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zkclish","content":"See ZooKeeper CLI."},"1018":{"id":"/docs/admin-ops/tools-24","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zkenvsh","content":"Sets environment variables for the ZooKeeper server. Key variables:"},"1019":{"id":"/docs/admin-ops/tools-25","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zkenvsh","content":"ZOO_LOG_DIR — the directory where logs are stored."},"1020":{"id":"/docs/admin-ops/tools-26","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zkcleanupsh","content":"Clean up old snapshots and transaction logs."},"1021":{"id":"/docs/admin-ops/tools-27","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zktxnlogtoolkitsh","content":"Dump and recover transaction log files with broken CRC entries."},"1022":{"id":"/docs/admin-ops/tools-28","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zktxnlogtoolkitsh","content":"The default behavior is safe — it dumps the entries of the given transaction log file\nto the screen (same as -d,--dump):"},"1023":{"id":"/docs/admin-ops/tools-29","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zktxnlogtoolkitsh","content":"In recovery mode (-r,--recover), the original file is left untouched and all transactions\nare copied to a new file with a .fixed suffix. CRC values are recalculated; if the calculated\nvalue does not match the original, the new value is used. By default the tool is interactive,\nasking for confirmation on each CRC error:"},"1024":{"id":"/docs/admin-ops/tools-30","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zktxnlogtoolkitsh","content":"Yes — write the recalculated CRC to the new file."},"1025":{"id":"/docs/admin-ops/tools-31","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zktxnlogtoolkitsh","content":"No — copy the original CRC value."},"1026":{"id":"/docs/admin-ops/tools-32","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zktxnlogtoolkitsh","content":"Abort — abort the operation. The .fixed file will not be deleted and may be in a half-complete state."},"1027":{"id":"/docs/admin-ops/tools-33","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zktxnlogtoolkitsh","content":"Use -v,--verbose to print all records (not just broken ones). Use -y,--yes to fix all\nCRC errors automatically without prompting."},"1028":{"id":"/docs/admin-ops/tools-34","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zksnapshottoolkitsh","content":"Dump a snapshot file to stdout, showing detailed information for each znode."},"1029":{"id":"/docs/admin-ops/tools-35","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zksnapshotrecursivesummarytoolkitsh","content":"Recursively collect and display child count and data size for a selected node."},"1030":{"id":"/docs/admin-ops/tools-36","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zksnapshotcomparersh","content":"Compare two snapshots with configurable thresholds and filters, outputting the delta —\nwhich znodes were added, updated, or deleted. Useful for offline consistency checks and\ndata trend analysis. Only permanent nodes are reported; sessions and ephemeral nodes are ignored."},"1031":{"id":"/docs/admin-ops/tools-37","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zksnapshotcomparersh","content":"Tuning parameters:"},"1032":{"id":"/docs/admin-ops/tools-38","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zksnapshotcomparersh","content":"--nodes — threshold for number of descendant nodes added/removed."},"1033":{"id":"/docs/admin-ops/tools-39","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zksnapshotcomparersh","content":"--bytes — threshold for bytes added/removed."},"1034":{"id":"/docs/admin-ops/tools-40","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#locating-snapshots","content":"Snapshots are stored in the ZooKeeper data directory\nconfigured in conf/zoo.cfg."},"1035":{"id":"/docs/admin-ops/tools-41","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#supported-snapshot-formats","content":"Uncompressed snapshots and compressed formats (snappy, gz) are all supported.\nSnapshots in different formats can be compared directly without manual decompression."},"1036":{"id":"/docs/admin-ops/tools-42","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#running-the-tool","content":"Running the tool with no arguments prints the help page:"},"1037":{"id":"/docs/admin-ops/tools-43","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#running-the-tool","content":"Example command:"},"1038":{"id":"/docs/admin-ops/tools-44","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#running-the-tool","content":"Example output:"},"1039":{"id":"/docs/admin-ops/tools-45","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"Add -i / --interactive to enter interactive mode:"},"1040":{"id":"/docs/admin-ops/tools-46","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"Three navigation options are available:"},"1041":{"id":"/docs/admin-ops/tools-47","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"Press Enter to print the current depth layer."},"1042":{"id":"/docs/admin-ops/tools-48","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"Type a number to jump to and print all nodes at that depth."},"1043":{"id":"/docs/admin-ops/tools-49","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"Enter an absolute path (starting with /) to print the immediate subtree of that node."},"1044":{"id":"/docs/admin-ops/tools-50","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"Note: only nodes passing the bytes and nodes thresholds are shown."},"1045":{"id":"/docs/admin-ops/tools-51","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"Press Enter to move to the next depth layer:"},"1046":{"id":"/docs/admin-ops/tools-52","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"Type a number to jump forward or backward to a specific depth:"},"1047":{"id":"/docs/admin-ops/tools-53","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"Out-of-range depth is handled gracefully:"},"1048":{"id":"/docs/admin-ops/tools-54","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"Enter an absolute path to print the immediate subtree of a node:"},"1049":{"id":"/docs/admin-ops/tools-55","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"Invalid path and invalid input are handled:"},"1050":{"id":"/docs/admin-ops/tools-56","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#interactive-mode","content":"The tool exits interactive mode automatically when all layers are compared, or press ^C to exit at any time."},"1051":{"id":"/docs/admin-ops/tools-57","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"YCSB (Yahoo Cloud Serving Benchmark) can be used to benchmark ZooKeeper. Follow the steps below to get started."},"1052":{"id":"/docs/admin-ops/tools-58","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Start ZooKeeper Server(s)"},"1053":{"id":"/docs/admin-ops/tools-59","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Start your ZooKeeper ensemble before running any benchmark."},"1054":{"id":"/docs/admin-ops/tools-60","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Install Java and Maven"},"1055":{"id":"/docs/admin-ops/tools-61","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Ensure a JDK and Maven are installed on the machine running the benchmark."},"1056":{"id":"/docs/admin-ops/tools-62","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Set Up YCSB"},"1057":{"id":"/docs/admin-ops/tools-63","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Clone and build the ZooKeeper binding:"},"1058":{"id":"/docs/admin-ops/tools-64","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"See the YCSB README for more details."},"1059":{"id":"/docs/admin-ops/tools-65","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Configure ZooKeeper Connection Parameters"},"1060":{"id":"/docs/admin-ops/tools-66","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Set the following properties in your workload file or via the shell:"},"1061":{"id":"/docs/admin-ops/tools-67","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"zookeeper.connectString — connection string (e.g. 127.0.0.1:2181/benchmark)"},"1062":{"id":"/docs/admin-ops/tools-68","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"zookeeper.sessionTimeout — session timeout in milliseconds"},"1063":{"id":"/docs/admin-ops/tools-69","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"zookeeper.watchFlag — enable ZooKeeper watches (true or false, default false). This measures the effect of watch overhead on read/write performance, not watch notification latency."},"1064":{"id":"/docs/admin-ops/tools-70","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Or set properties directly on the command line (create the /benchmark namespace first using create /benchmark in the CLI):"},"1065":{"id":"/docs/admin-ops/tools-71","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Load Data and Run Tests"},"1066":{"id":"/docs/admin-ops/tools-72","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Load data:"},"1067":{"id":"/docs/admin-ops/tools-73","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#ycsb","content":"Run the workload (workloadb is recommended as the most representative read-heavy workload):"},"1068":{"id":"/docs/admin-ops/tools-74","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#zk-smoketest","content":"zk-smoketest provides a simple smoketest client\nfor a ZooKeeper ensemble. Useful for verifying new, updated, or existing installations."},"1069":{"id":"/docs/admin-ops/tools-75","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#byteman","content":"Byteman is a tool for tracing, monitoring, and testing Java\napplication and JDK runtime code. It injects Java code into methods without requiring\nrecompilation, repackaging, or redeployment — and injection can be performed at JVM startup\nor while the application is running. See the Byteman tutorial\nfor a quick introduction."},"1070":{"id":"/docs/admin-ops/tools-76","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#byteman","content":"Example 1: Force a leader re-election by rolling over the leader's zxid."},"1071":{"id":"/docs/admin-ops/tools-77","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#byteman","content":"Example 2: Make the leader drop ping packets to a specific follower. The leader will close\nthe LearnerHandler for that follower, and the follower will re-enter the quorum."},"1072":{"id":"/docs/admin-ops/tools-78","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#byteman","content":"Example 3: Make a follower drop ACK packets. This has limited effect during broadcast since\nthe leader only needs a majority of ACKs to commit a proposal."},"1073":{"id":"/docs/admin-ops/tools-79","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#jepsen-test","content":"Jepsen is a framework for distributed systems\nverification with fault injection. It has been used to verify eventually-consistent databases,\nlinearizable coordination systems, and distributed task schedulers."},"1074":{"id":"/docs/admin-ops/tools-80","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#jepsen-test","content":"Running the Dockerized Jepsen\nis the simplest way to get started."},"1075":{"id":"/docs/admin-ops/tools-81","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#jepsen-test","content":"Installation:"},"1076":{"id":"/docs/admin-ops/tools-82","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#jepsen-test","content":"Running the test:"},"1077":{"id":"/docs/admin-ops/tools-83","page_id":"/docs/admin-ops/tools","tags":[],"type":"text","url":"/docs/admin-ops/tools#jepsen-test","content":"Read this blog post to learn more\nabout the Jepsen analysis of ZooKeeper."},"1078":{"id":"/docs/developer/basic-tutorial","page_id":"/docs/developer/basic-tutorial","type":"page","content":"Basic tutorial","breadcrumbs":["Multi-Page Documentation","Developer"],"tags":[],"url":"/docs/developer/basic-tutorial"},"1079":{"id":"/docs/developer/basic-tutorial-0","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial","content":"Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination."},"1080":{"id":"/docs/developer/basic-tutorial-1","page_id":"/docs/developer/basic-tutorial","type":"heading","tags":[],"url":"/docs/developer/basic-tutorial#introduction","content":"Introduction"},"1081":{"id":"/docs/developer/basic-tutorial-2","page_id":"/docs/developer/basic-tutorial","type":"heading","tags":[],"url":"/docs/developer/basic-tutorial#barriers","content":"Barriers"},"1082":{"id":"/docs/developer/basic-tutorial-3","page_id":"/docs/developer/basic-tutorial","type":"heading","tags":[],"url":"/docs/developer/basic-tutorial#producer-consumer-queues","content":"Producer-Consumer Queues"},"1083":{"id":"/docs/developer/basic-tutorial-4","page_id":"/docs/developer/basic-tutorial","type":"heading","tags":[],"url":"/docs/developer/basic-tutorial#complete-example","content":"Complete example"},"1084":{"id":"/docs/developer/basic-tutorial-5","page_id":"/docs/developer/basic-tutorial","type":"heading","tags":[],"url":"/docs/developer/basic-tutorial#queue-test","content":"Queue test"},"1085":{"id":"/docs/developer/basic-tutorial-6","page_id":"/docs/developer/basic-tutorial","type":"heading","tags":[],"url":"/docs/developer/basic-tutorial#barrier-test","content":"Barrier test"},"1086":{"id":"/docs/developer/basic-tutorial-7","page_id":"/docs/developer/basic-tutorial","type":"heading","tags":[],"url":"/docs/developer/basic-tutorial#source-listing","content":"Source Listing"},"1087":{"id":"/docs/developer/basic-tutorial-8","page_id":"/docs/developer/basic-tutorial","type":"heading","tags":[],"url":"/docs/developer/basic-tutorial#syncprimitivejava","content":"SyncPrimitive.Java"},"1088":{"id":"/docs/developer/basic-tutorial-9","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#introduction","content":"In this tutorial, we show simple implementations of barriers and\nproducer-consumer queues using ZooKeeper. We call the respective classes Barrier and Queue.\nThese examples assume that you have at least one ZooKeeper server running."},"1089":{"id":"/docs/developer/basic-tutorial-10","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#introduction","content":"Both primitives use the following common excerpt of code:"},"1090":{"id":"/docs/developer/basic-tutorial-11","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#introduction","content":"Both classes extend SyncPrimitive. In this way, we execute steps that are\ncommon to all primitives in the constructor of SyncPrimitive. To keep the examples\nsimple, we create a ZooKeeper object the first time we instantiate either a barrier\nobject or a queue object, and we declare a static variable that is a reference\nto this object. The subsequent instances of Barrier and Queue check whether a\nZooKeeper object exists. Alternatively, we could have the application creating a\nZooKeeper object and passing it to the constructor of Barrier and Queue."},"1091":{"id":"/docs/developer/basic-tutorial-12","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#introduction","content":"We use the process() method to process notifications triggered due to watches.\nIn the following discussion, we present code that sets watches. A watch is internal\nstructure that enables ZooKeeper to notify a client of a change to a node. For example,\nif a client is waiting for other clients to leave a barrier, then it can set a watch and\nwait for modifications to a particular node, which can indicate that it is the end of the wait.\nThis point becomes clear once we go over the examples."},"1092":{"id":"/docs/developer/basic-tutorial-13","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#barriers","content":"A barrier is a primitive that enables a group of processes to synchronize the\nbeginning and the end of a computation. The general idea of this implementation\nis to have a barrier node that serves the purpose of being a parent for individual\nprocess nodes. Suppose that we call the barrier node \"/b1\". Each process \"p\" then\ncreates a node \"/b1/p\". Once enough processes have created their corresponding\nnodes, joined processes can start the computation."},"1093":{"id":"/docs/developer/basic-tutorial-14","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#barriers","content":"In this example, each process instantiates a Barrier object, and its constructor takes as parameters:"},"1094":{"id":"/docs/developer/basic-tutorial-15","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#barriers","content":"the address of a ZooKeeper server (e.g., \"zoo1.foo.com:2181\")"},"1095":{"id":"/docs/developer/basic-tutorial-16","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#barriers","content":"the path of the barrier node on ZooKeeper (e.g., \"/b1\")"},"1096":{"id":"/docs/developer/basic-tutorial-17","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#barriers","content":"the size of the group of processes"},"1097":{"id":"/docs/developer/basic-tutorial-18","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#barriers","content":"The constructor of Barrier passes the address of the Zookeeper server to the\nconstructor of the parent class. The parent class creates a ZooKeeper instance if\none does not exist. The constructor of Barrier then creates a\nbarrier node on ZooKeeper, which is the parent node of all process nodes, and\nwe call root (Note: This is not the ZooKeeper root \"/\")."},"1098":{"id":"/docs/developer/basic-tutorial-19","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#barriers","content":"To enter the barrier, a process calls enter(). The process creates a node under\nthe root to represent it, using its host name to form the node name. It then wait\nuntil enough processes have entered the barrier. A process does it by checking\nthe number of children the root node has with \"getChildren()\", and waiting for\nnotifications in the case it does not have enough. To receive a notification when\nthere is a change to the root node, a process has to set a watch, and does it\nthrough the call to \"getChildren()\". In the code, we have that \"getChildren()\"\nhas two parameters. The first one states the node to read from, and the second is\na boolean flag that enables the process to set a watch. In the code the flag is true."},"1099":{"id":"/docs/developer/basic-tutorial-20","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#barriers","content":"Note that enter() throws both KeeperException and InterruptedException, so it is\nthe responsibility of the application to catch and handle such exceptions."},"1100":{"id":"/docs/developer/basic-tutorial-21","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#barriers","content":"Once the computation is finished, a process calls leave() to leave the barrier.\nFirst it deletes its corresponding node, and then it gets the children of the root\nnode. If there is at least one child, then it waits for a notification (obs: note\nthat the second parameter of the call to getChildren() is true, meaning that\nZooKeeper has to set a watch on the root node). Upon reception of a notification,\nit checks once more whether the root node has any children."},"1101":{"id":"/docs/developer/basic-tutorial-22","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#producer-consumer-queues","content":"A producer-consumer queue is a distributed data structure that groups of processes\nuse to generate and consume items. Producer processes create new elements and add\nthem to the queue. Consumer processes remove elements from the list, and process them.\nIn this implementation, the elements are simple integers. The queue is represented\nby a root node, and to add an element to the queue, a producer process creates a new node,\na child of the root node."},"1102":{"id":"/docs/developer/basic-tutorial-23","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#producer-consumer-queues","content":"The following excerpt of code corresponds to the constructor of the object. As\nwith Barrier objects, it first calls the constructor of the parent class, SyncPrimitive,\nthat creates a ZooKeeper object if one doesn't exist. It then verifies if the root\nnode of the queue exists, and creates if it doesn't."},"1103":{"id":"/docs/developer/basic-tutorial-24","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#producer-consumer-queues","content":"A producer process calls \"produce()\" to add an element to the queue, and passes\nan integer as an argument. To add an element to the queue, the method creates a\nnew node using \"create()\", and uses the SEQUENCE flag to instruct ZooKeeper to\nappend the value of the sequencer counter associated to the root node. In this way,\nwe impose a total order on the elements of the queue, thus guaranteeing that the\noldest element of the queue is the next one consumed."},"1104":{"id":"/docs/developer/basic-tutorial-25","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#producer-consumer-queues","content":"To consume an element, a consumer process obtains the children of the root node,\nreads the node with smallest counter value, and returns the element. Note that\nif there is a conflict, then one of the two contending processes won't be able to\ndelete the node and the delete operation will throw an exception."},"1105":{"id":"/docs/developer/basic-tutorial-26","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#producer-consumer-queues","content":"A call to getChildren() returns the list of children in lexicographic order.\nAs lexicographic order does not necessarily follow the numerical order of the counter\nvalues, we need to decide which element is the smallest. To decide which one has\nthe smallest counter value, we traverse the list, and remove the prefix \"element\"\nfrom each one."},"1106":{"id":"/docs/developer/basic-tutorial-27","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#complete-example","content":"In the following section you can find a complete command line application to demonstrate the above mentioned\nrecipes. Use the following command to run it."},"1107":{"id":"/docs/developer/basic-tutorial-28","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#queue-test","content":"Start a producer to create 100 elements"},"1108":{"id":"/docs/developer/basic-tutorial-29","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#queue-test","content":"Start a consumer to consume 100 elements"},"1109":{"id":"/docs/developer/basic-tutorial-30","page_id":"/docs/developer/basic-tutorial","tags":[],"type":"text","url":"/docs/developer/basic-tutorial#barrier-test","content":"Start a barrier with 2 participants (start as many times as many participants you'd like to enter)"},"1110":{"id":"/docs/developer/java-example","page_id":"/docs/developer/java-example","type":"page","content":"Java Example","breadcrumbs":["Multi-Page Documentation","Developer"],"tags":[],"url":"/docs/developer/java-example"},"1111":{"id":"/docs/developer/java-example-0","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example","content":"Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes."},"1112":{"id":"/docs/developer/java-example-1","page_id":"/docs/developer/java-example","type":"heading","tags":[],"url":"/docs/developer/java-example#a-simple-watch-client","content":"A Simple Watch Client"},"1113":{"id":"/docs/developer/java-example-2","page_id":"/docs/developer/java-example","type":"heading","tags":[],"url":"/docs/developer/java-example#requirements","content":"Requirements"},"1114":{"id":"/docs/developer/java-example-3","page_id":"/docs/developer/java-example","type":"heading","tags":[],"url":"/docs/developer/java-example#program-design","content":"Program Design"},"1115":{"id":"/docs/developer/java-example-4","page_id":"/docs/developer/java-example","type":"heading","tags":[],"url":"/docs/developer/java-example#the-executor-class","content":"The Executor Class"},"1116":{"id":"/docs/developer/java-example-5","page_id":"/docs/developer/java-example","type":"heading","tags":[],"url":"/docs/developer/java-example#the-datamonitor-class","content":"The DataMonitor Class"},"1117":{"id":"/docs/developer/java-example-6","page_id":"/docs/developer/java-example","type":"heading","tags":[],"url":"/docs/developer/java-example#complete-source-listings","content":"Complete Source Listings"},"1118":{"id":"/docs/developer/java-example-7","page_id":"/docs/developer/java-example","type":"heading","tags":[],"url":"/docs/developer/java-example#executorjava","content":"Executor.java"},"1119":{"id":"/docs/developer/java-example-8","page_id":"/docs/developer/java-example","type":"heading","tags":[],"url":"/docs/developer/java-example#datamonitorjava","content":"DataMonitor.java"},"1120":{"id":"/docs/developer/java-example-9","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#a-simple-watch-client","content":"To introduce you to the ZooKeeper Java API, we develop here a very simple\nwatch client. This ZooKeeper client watches a znode for changes\nand responds to by starting or stopping a program."},"1121":{"id":"/docs/developer/java-example-10","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#requirements","content":"The client has four requirements:"},"1122":{"id":"/docs/developer/java-example-11","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#requirements","content":"It takes as parameters:"},"1123":{"id":"/docs/developer/java-example-12","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#requirements","content":"the address of the ZooKeeper service"},"1124":{"id":"/docs/developer/java-example-13","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#requirements","content":"the name of a znode - the one to be watched"},"1125":{"id":"/docs/developer/java-example-14","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#requirements","content":"the name of a file to write the output to"},"1126":{"id":"/docs/developer/java-example-15","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#requirements","content":"an executable with arguments."},"1127":{"id":"/docs/developer/java-example-16","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#requirements","content":"It fetches the data associated with the znode and starts the executable."},"1128":{"id":"/docs/developer/java-example-17","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#requirements","content":"If the znode changes, the client re-fetches the contents and restarts the executable."},"1129":{"id":"/docs/developer/java-example-18","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#requirements","content":"If the znode disappears, the client kills the executable."},"1130":{"id":"/docs/developer/java-example-19","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#program-design","content":"Conventionally, ZooKeeper applications are broken into two units, one which maintains the connection,\nand the other which monitors data. In this application, the class called the Executor\nmaintains the ZooKeeper connection, and the class called the DataMonitor monitors the data\nin the ZooKeeper tree. Also, Executor contains the main thread and contains the execution logic.\nIt is responsible for what little user interaction there is, as well as interaction with the executable program you\npass in as an argument and which the sample (per the requirements) shuts down and restarts, according to the\nstate of the znode."},"1131":{"id":"/docs/developer/java-example-20","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-executor-class","content":"The Executor object is the primary container of the sample application. It contains\nboth the ZooKeeper object, DataMonitor, as described above in\nProgram Design."},"1132":{"id":"/docs/developer/java-example-21","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-executor-class","content":"Recall that the Executor's job is to start and stop the executable whose name you pass in on the command line.\nIt does this in response to events fired by the ZooKeeper object. As you can see in the code above, the Executor passes\na reference to itself as the Watcher argument in the ZooKeeper constructor. It also passes a reference to itself\nas DataMonitorListener argument to the DataMonitor constructor. Per the Executor's definition, it implements both these\ninterfaces:"},"1133":{"id":"/docs/developer/java-example-22","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-executor-class","content":"The Watcher interface is defined by the ZooKeeper Java API.\nZooKeeper uses it to communicate back to its container. It supports only one method, process(),\nand ZooKeeper uses it to communicates generic events that the main thread would be interested in,\nsuch as the state of the ZooKeeper connection or the ZooKeeper session. The Executor in this example simply\nforwards those events down to the DataMonitor to decide what to do with them. It does this simply to illustrate\nthe point that, by convention, the Executor or some Executor-like object \"owns\" the ZooKeeper connection, but it is\nfree to delegate the events to other events to other objects. It also uses this as the default channel on which\nto fire watch events. (More on this later.)"},"1134":{"id":"/docs/developer/java-example-23","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-executor-class","content":"The DataMonitorListener\ninterface, on the other hand, is not part of the ZooKeeper API. It is a completely custom interface,\ndesigned for this sample application. The DataMonitor object uses it to communicate back to its container, which\nis also the Executor object. The DataMonitorListener interface looks like this:"},"1135":{"id":"/docs/developer/java-example-24","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-executor-class","content":"This interface is defined in the DataMonitor class and implemented in the Executor class.\nWhen Executor.exists() is invoked, the Executor decides whether to start up or shut down per the requirements.\nRecall that the requires say to kill the executable when the znode ceases to exist."},"1136":{"id":"/docs/developer/java-example-25","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-executor-class","content":"When Executor.closing() is invoked, the Executor decides whether or not to shut itself down\nin response to the ZooKeeper connection permanently disappearing."},"1137":{"id":"/docs/developer/java-example-26","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-executor-class","content":"As you might have guessed, DataMonitor is the object that invokes\nthese methods, in response to changes in ZooKeeper's state."},"1138":{"id":"/docs/developer/java-example-27","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-executor-class","content":"Here are Executor's implementation of\nDataMonitorListener.exists() and DataMonitorListener.closing:"},"1139":{"id":"/docs/developer/java-example-28","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-datamonitor-class","content":"The DataMonitor class has the meat of the ZooKeeper logic. It is mostly\nasynchronous and event driven. DataMonitor kicks things off in the constructor with:"},"1140":{"id":"/docs/developer/java-example-29","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-datamonitor-class","content":"The call to ZooKeeper.exists() checks for the existence of the znode,\nsets a watch, and passes a reference to itself (this)\nas the completion callback object. In this sense, it kicks things off, since the\nreal processing happens when the watch is triggered."},"1141":{"id":"/docs/developer/java-example-30","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-datamonitor-class","content":"type: info"},"1142":{"id":"/docs/developer/java-example-31","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-datamonitor-class","content":"Don't confuse the completion callback with the watch callback. The ZooKeeper.exists()\ncompletion callback, which happens to be the method StatCallback.processResult() implemented\nin the DataMonitor object, is invoked when the asynchronous setting of the watch operation\n(by ZooKeeper.exists()) completes on the server."},"1143":{"id":"/docs/developer/java-example-32","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-datamonitor-class","content":"The triggering of the watch, on the other hand, sends an event to the Executor object, since\nthe Executor registered as the Watcher of the ZooKeeper object."},"1144":{"id":"/docs/developer/java-example-33","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-datamonitor-class","content":"As an aside, you might note that the DataMonitor could also register itself as the Watcher\nfor this particular watch event. This is new to ZooKeeper 3.0.0 (the support of multiple Watchers). In this\nexample, however, DataMonitor does not register as the Watcher."},"1145":{"id":"/docs/developer/java-example-34","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-datamonitor-class","content":"When the ZooKeeper.exists() operation completes on the server, the ZooKeeper API invokes this completion callback on\nthe client:"},"1146":{"id":"/docs/developer/java-example-35","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-datamonitor-class","content":"The code first checks the error codes for znode existence, fatal errors, and\nrecoverable errors. If the file (or znode) exists, it gets the data from the znode, and\nthen invoke the exists() callback of Executor if the state has changed. Note,\nit doesn't have to do any Exception processing for the getData call because it\nhas watches pending for anything that could cause an error: if the node is deleted\nbefore it calls ZooKeeper.getData(), the watch event set by\nthe ZooKeeper.exists() triggers a callback;\nif there is a communication error, a connection watch event fires when\nthe connection comes back up."},"1147":{"id":"/docs/developer/java-example-36","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-datamonitor-class","content":"Finally, notice how DataMonitor processes watch events:"},"1148":{"id":"/docs/developer/java-example-37","page_id":"/docs/developer/java-example","tags":[],"type":"text","url":"/docs/developer/java-example#the-datamonitor-class","content":"If the client-side ZooKeeper libraries can re-establish the\ncommunication channel (SyncConnected event) to ZooKeeper before\nsession expiration (Expired event) all of the session's watches will\nautomatically be re-established with the server (auto-reset of watches\nis new in ZooKeeper 3.0.0). See ZooKeeper Watches\nin the programmer guide for more on this. A bit lower down in this\nfunction, when DataMonitor gets an event for a znode, it callsZooKeeper.exists() to find out what has changed."},"1149":{"id":"/docs/developer/programmers-guide/access-control-using-acls","page_id":"/docs/developer/programmers-guide/access-control-using-acls","type":"page","content":"Access Control using ACLs","breadcrumbs":["Multi-Page Documentation","Developer","Programmer's Guide"],"tags":[],"url":"/docs/developer/programmers-guide/access-control-using-acls"},"1150":{"id":"/docs/developer/programmers-guide/access-control-using-acls-0","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls","content":"Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API."},"1151":{"id":"/docs/developer/programmers-guide/access-control-using-acls-1","page_id":"/docs/developer/programmers-guide/access-control-using-acls","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"ACL Permissions"},"1152":{"id":"/docs/developer/programmers-guide/access-control-using-acls-2","page_id":"/docs/developer/programmers-guide/access-control-using-acls","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes","content":"Builtin ACL Schemes"},"1153":{"id":"/docs/developer/programmers-guide/access-control-using-acls-3","page_id":"/docs/developer/programmers-guide/access-control-using-acls","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"ZooKeeper C client API"},"1154":{"id":"/docs/developer/programmers-guide/access-control-using-acls-4","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls","content":"ZooKeeper uses ACLs to control access to its znodes (the\ndata nodes of a ZooKeeper data tree). The ACL implementation is\nquite similar to UNIX file access permissions: it employs\npermission bits to allow/disallow various operations against a\nnode and the scope to which the bits apply. Unlike standard UNIX\npermissions, a ZooKeeper node is not limited by the three standard\nscopes for user (owner of the file), group, and world\n(other). ZooKeeper does not have a notion of an owner of a\nznode. Instead, an ACL specifies sets of ids and permissions that\nare associated with those ids."},"1155":{"id":"/docs/developer/programmers-guide/access-control-using-acls-5","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls","content":"Note also that an ACL pertains only to a specific znode. In\nparticular it does not apply to children. For example, if\n/app is only readable by ip:172.16.16.1 and\n/app/status is world readable, anyone will\nbe able to read /app/status; ACLs are not\nrecursive."},"1156":{"id":"/docs/developer/programmers-guide/access-control-using-acls-6","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls","content":"ZooKeeper supports pluggable authentication schemes. Ids are\nspecified using the form scheme:expression,\nwhere scheme is the authentication scheme\nthat the id corresponds to. The set of valid expressions are defined\nby the scheme. For example, ip:172.16.16.1 is\nan id for a host with the address 172.16.16.1\nusing the ip scheme, whereas digest:bob:password\nis an id for the user with the name of bob using\nthe digest scheme."},"1157":{"id":"/docs/developer/programmers-guide/access-control-using-acls-7","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls","content":"When a client connects to ZooKeeper and authenticates\nitself, ZooKeeper associates all the ids that correspond to a\nclient with the clients connection. These ids are checked against\nthe ACLs of znodes when a client tries to access a node. ACLs are\nmade up of pairs of (scheme:expression,\nperms). The format of\nthe expression is specific to the scheme. For\nexample, the pair (ip:19.22.0.0/16, READ)\ngives the READ permission to any clients with\nan IP address that starts with 19.22."},"1158":{"id":"/docs/developer/programmers-guide/access-control-using-acls-8","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"ZooKeeper supports the following permissions:"},"1159":{"id":"/docs/developer/programmers-guide/access-control-using-acls-9","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"CREATE: you can create a child node"},"1160":{"id":"/docs/developer/programmers-guide/access-control-using-acls-10","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"READ: you can get data from a node and list its children."},"1161":{"id":"/docs/developer/programmers-guide/access-control-using-acls-11","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"WRITE: you can set data for a node"},"1162":{"id":"/docs/developer/programmers-guide/access-control-using-acls-12","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"DELETE: you can delete a child node"},"1163":{"id":"/docs/developer/programmers-guide/access-control-using-acls-13","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"ADMIN: you can set permissions"},"1164":{"id":"/docs/developer/programmers-guide/access-control-using-acls-14","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"The CREATE\nand DELETE permissions have been broken out\nof the WRITE permission for finer grained\naccess controls. The cases for CREATE\nand DELETE are the following:"},"1165":{"id":"/docs/developer/programmers-guide/access-control-using-acls-15","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"You want A to be able to do a set on a ZooKeeper node, but\nnot be able to CREATE\nor DELETE children."},"1166":{"id":"/docs/developer/programmers-guide/access-control-using-acls-16","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"CREATE\nwithout DELETE: clients create requests by\ncreating ZooKeeper nodes in a parent directory. You want all\nclients to be able to add, but only request processor can\ndelete. (This is kind of like the APPEND permission for\nfiles.)"},"1167":{"id":"/docs/developer/programmers-guide/access-control-using-acls-17","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"Also, the ADMIN permission is there\nsince ZooKeeper doesn’t have a notion of file owner. In some\nsense the ADMIN permission designates the\nentity as the owner. ZooKeeper doesn’t support the LOOKUP\npermission (execute permission bit on directories to allow you\nto LOOKUP even though you can't list the directory). Everyone\nimplicitly has LOOKUP permission. This allows you to stat a\nnode, but nothing more. (The problem is, if you want to call\nzoo_exists() on a node that doesn't exist, there is no\npermission to check.)"},"1168":{"id":"/docs/developer/programmers-guide/access-control-using-acls-18","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"ADMIN permission also has a special role in terms of ACLs:\nin order to retrieve ACLs of a znode user has to have READ or ADMIN\npermission, but without ADMIN permission, digest hash values will be\nmasked out."},"1169":{"id":"/docs/developer/programmers-guide/access-control-using-acls-19","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","content":"As of versions 3.9.2 / 3.8.4 / 3.7.3 the exists() call will now verify ACLs\non nodes that exist and the client must have READ permission otherwise\n'Insufficient permission' error will be raised."},"1170":{"id":"/docs/developer/programmers-guide/access-control-using-acls-20","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes","content":"ZooKeeper has the following built in schemes:"},"1171":{"id":"/docs/developer/programmers-guide/access-control-using-acls-21","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes","content":"world has a\nsingle id, anyone, that represents\nanyone."},"1172":{"id":"/docs/developer/programmers-guide/access-control-using-acls-22","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes","content":"auth is a special\nscheme which ignores any provided expression and instead uses the current user,\ncredentials, and scheme. Any expression (whether user like with SASL\nauthentication or user:password like with DIGEST authentication) provided is ignored\nby the ZooKeeper server when persisting the ACL. However, the expression must still be\nprovided in the ACL because the ACL must match the form scheme:expression:perms.\nThis scheme is provided as a convenience as it is a common use-case for\na user to create a znode and then restrict access to that znode to only that user.\nIf there is no authenticated user, setting an ACL with the auth scheme will fail."},"1173":{"id":"/docs/developer/programmers-guide/access-control-using-acls-23","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes","content":"digest uses\na username:password string to generate\nMD5 hash which is then used as an ACL ID\nidentity. Authentication is done by sending\nthe username:password in clear text. When\nused in the ACL the expression will be\nthe username:base64\nencoded SHA1\npassword digest."},"1174":{"id":"/docs/developer/programmers-guide/access-control-using-acls-24","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes","content":"ip uses the\nclient host IP as an ACL ID identity. The ACL expression is of\nthe form addr/bits where the most\nsignificant bits\nof addr are matched against the most\nsignificant bits of the client host\nIP."},"1175":{"id":"/docs/developer/programmers-guide/access-control-using-acls-25","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes","content":"x509 uses the client\nX500 Principal as an ACL ID identity. The ACL expression is the exact\nX500 Principal name of a client. When using the secure port, clients\nare automatically authenticated and their auth info for the x509 scheme\nis set."},"1176":{"id":"/docs/developer/programmers-guide/access-control-using-acls-26","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"The following constants are provided by the ZooKeeper C\nlibrary:"},"1177":{"id":"/docs/developer/programmers-guide/access-control-using-acls-27","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"const int ZOO_PERM_READ; //can read node’s value and list its children"},"1178":{"id":"/docs/developer/programmers-guide/access-control-using-acls-28","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"const int ZOO_PERM_WRITE;// can set the node’s value"},"1179":{"id":"/docs/developer/programmers-guide/access-control-using-acls-29","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"const int ZOO_PERM_CREATE; //can create children"},"1180":{"id":"/docs/developer/programmers-guide/access-control-using-acls-30","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"const int ZOO_PERM_DELETE;// can delete children"},"1181":{"id":"/docs/developer/programmers-guide/access-control-using-acls-31","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"const int ZOO_PERM_ADMIN; //can execute set_acl()"},"1182":{"id":"/docs/developer/programmers-guide/access-control-using-acls-32","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"const int ZOO_PERM_ALL;// all of the above flags OR’d together"},"1183":{"id":"/docs/developer/programmers-guide/access-control-using-acls-33","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"The following are the standard ACL IDs:"},"1184":{"id":"/docs/developer/programmers-guide/access-control-using-acls-34","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"struct Id ZOO_ANYONE_ID_UNSAFE; //(‘world’,’anyone’)"},"1185":{"id":"/docs/developer/programmers-guide/access-control-using-acls-35","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"struct Id ZOO_AUTH_IDS;// (‘auth’,’’)"},"1186":{"id":"/docs/developer/programmers-guide/access-control-using-acls-36","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"ZOO_AUTH_IDS empty identity string should be interpreted as “the identity of the creator”."},"1187":{"id":"/docs/developer/programmers-guide/access-control-using-acls-37","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"ZooKeeper client comes with three standard ACLs:"},"1188":{"id":"/docs/developer/programmers-guide/access-control-using-acls-38","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"struct ACL_vector ZOO_OPEN_ACL_UNSAFE; //(ZOO_PERM_ALL,ZOO_ANYONE_ID_UNSAFE)"},"1189":{"id":"/docs/developer/programmers-guide/access-control-using-acls-39","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"struct ACL_vector ZOO_READ_ACL_UNSAFE;// (ZOO_PERM_READ, ZOO_ANYONE_ID_UNSAFE)"},"1190":{"id":"/docs/developer/programmers-guide/access-control-using-acls-40","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"struct ACL_vector ZOO_CREATOR_ALL_ACL; //(ZOO_PERM_ALL,ZOO_AUTH_IDS)"},"1191":{"id":"/docs/developer/programmers-guide/access-control-using-acls-41","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"The ZOOOPEN_ACL_UNSAFE is completely open free for all\nACL: any application can execute any operation on the node and\ncan create, list and delete its children. The\nZOO_READ_ACL_UNSAFE is read-only access for any\napplication. CREATE_ALL_ACL grants all permissions to the\ncreator of the node. The creator must have been authenticated by\nthe server (for example, using “_digest”\nscheme) before it can create nodes with this ACL."},"1192":{"id":"/docs/developer/programmers-guide/access-control-using-acls-42","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"The following ZooKeeper operations deal with ACLs:"},"1193":{"id":"/docs/developer/programmers-guide/access-control-using-acls-43","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"int zoo_add_auth\n(zhandlet *zh,_const char__\nscheme,const char\ncert, int certLen, voidcompletion_t\ncompletion, _const void\n*data);"},"1194":{"id":"/docs/developer/programmers-guide/access-control-using-acls-44","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"The application uses the zoo_add_auth function to\nauthenticate itself to the server. The function can be called\nmultiple times if the application wants to authenticate using\ndifferent schemes and/or identities."},"1195":{"id":"/docs/developer/programmers-guide/access-control-using-acls-45","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"int zoo_create\n(zhandlet *zh, _const char\n*path, const char\n*value,int\nvaluelen, const struct\nACLvector *acl, _int\nflags,char\n*realpath, int\nmax_realpath_len);"},"1196":{"id":"/docs/developer/programmers-guide/access-control-using-acls-46","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"zoo_create(...) operation creates a new node. The acl\nparameter is a list of ACLs associated with the node. The parent\nnode must have the CREATE permission bit set."},"1197":{"id":"/docs/developer/programmers-guide/access-control-using-acls-47","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"int zoo_get_acl\n(zhandlet *zh, _const char\n*path,struct ACLvector\n*acl, _struct Stat *stat);"},"1198":{"id":"/docs/developer/programmers-guide/access-control-using-acls-48","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"This operation returns a node’s ACL info. The node must have READ or ADMIN\npermission set. Without ADMIN permission, the digest hash values will be masked out."},"1199":{"id":"/docs/developer/programmers-guide/access-control-using-acls-49","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"int zoo_set_acl\n(zhandlet *zh, _const char\n*path, int\nversion,const struct\nACL_vector *acl);"},"1200":{"id":"/docs/developer/programmers-guide/access-control-using-acls-50","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"This function replaces node’s ACL list with a new one. The\nnode must have the ADMIN permission set."},"1201":{"id":"/docs/developer/programmers-guide/access-control-using-acls-51","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"Here is a sample code that makes use of the above APIs to\nauthenticate itself using the “foo” scheme\nand create an ephemeral node “/xyz” with create-only\npermissions."},"1202":{"id":"/docs/developer/programmers-guide/access-control-using-acls-52","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"type: info"},"1203":{"id":"/docs/developer/programmers-guide/access-control-using-acls-53","page_id":"/docs/developer/programmers-guide/access-control-using-acls","tags":[],"type":"text","url":"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","content":"This is a very simple example which is intended to show how to interact with\nZooKeeper ACLs specifically. See\n.../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example of a\nC client implementation"},"1204":{"id":"/docs/developer/programmers-guide/bindings","page_id":"/docs/developer/programmers-guide/bindings","type":"page","content":"Bindings","breadcrumbs":["Multi-Page Documentation","Developer","Programmer's Guide"],"tags":[],"url":"/docs/developer/programmers-guide/bindings"},"1205":{"id":"/docs/developer/programmers-guide/bindings-0","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings","content":"Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries."},"1206":{"id":"/docs/developer/programmers-guide/bindings-1","page_id":"/docs/developer/programmers-guide/bindings","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/bindings#java-binding","content":"Java Binding"},"1207":{"id":"/docs/developer/programmers-guide/bindings-2","page_id":"/docs/developer/programmers-guide/bindings","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"Client Configuration Parameters"},"1208":{"id":"/docs/developer/programmers-guide/bindings-3","page_id":"/docs/developer/programmers-guide/bindings","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/bindings#c-binding","content":"C Binding"},"1209":{"id":"/docs/developer/programmers-guide/bindings-4","page_id":"/docs/developer/programmers-guide/bindings","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/bindings#installation","content":"Installation"},"1210":{"id":"/docs/developer/programmers-guide/bindings-5","page_id":"/docs/developer/programmers-guide/bindings","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/bindings#building-your-own-c-client","content":"Building Your Own C Client"},"1211":{"id":"/docs/developer/programmers-guide/bindings-6","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings","content":"The ZooKeeper client libraries come in two languages: Java and C.\nThe following sections describe these."},"1212":{"id":"/docs/developer/programmers-guide/bindings-7","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#java-binding","content":"There are two packages that make up the ZooKeeper Java binding:\norg.apache.zookeeper and org.apache.zookeeper.data. The rest of the\npackages that make up ZooKeeper are used internally or are part of the\nserver implementation. The org.apache.zookeeper.data package is made up of\ngenerated classes that are used simply as containers."},"1213":{"id":"/docs/developer/programmers-guide/bindings-8","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#java-binding","content":"The main class used by a ZooKeeper Java client is the ZooKeeper class. Its two constructors differ only\nby an optional session id and password. ZooKeeper supports session\nrecovery across instances of a process. A Java program may save its\nsession id and password to stable storage, restart, and recover the\nsession that was used by the earlier instance of the program."},"1214":{"id":"/docs/developer/programmers-guide/bindings-9","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#java-binding","content":"When a ZooKeeper object is created, two threads are created as\nwell: an IO thread and an event thread. All IO happens on the IO thread\n(using Java NIO). All event callbacks happen on the event thread.\nSession maintenance such as reconnecting to ZooKeeper servers and\nmaintaining heartbeat is done on the IO thread. Responses for\nsynchronous methods are also processed in the IO thread. All responses\nto asynchronous methods and watch events are processed on the event\nthread. There are a few things to notice that result from this\ndesign:"},"1215":{"id":"/docs/developer/programmers-guide/bindings-10","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#java-binding","content":"All completions for asynchronous calls and watcher callbacks\nwill be made in order, one at a time. The caller can do any\nprocessing they wish, but no other callbacks will be processed\nduring that time."},"1216":{"id":"/docs/developer/programmers-guide/bindings-11","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#java-binding","content":"Callbacks do not block the processing of the IO thread or the\nprocessing of the synchronous calls."},"1217":{"id":"/docs/developer/programmers-guide/bindings-12","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#java-binding","content":"Synchronous calls may not return in the correct order. For\nexample, assume a client does the following processing: issues an\nasynchronous read of node /a with\nwatch set to true, and then in the completion\ncallback of the read it does a synchronous read of /a. (Maybe not good practice, but not illegal\neither, and it makes for a simple example.)\nNote that if there is a change to /a between the asynchronous read and the\nsynchronous read, the client library will receive the watch event\nsaying /a changed before the\nresponse for the synchronous read, but because of the completion\ncallback blocking the event queue, the synchronous read will\nreturn with the new value of /a\nbefore the watch event is processed."},"1218":{"id":"/docs/developer/programmers-guide/bindings-13","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#java-binding","content":"Finally, the rules associated with shutdown are straightforward:\nonce a ZooKeeper object is closed or receives a fatal event\n(SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid.\nOn a close, the two threads shut down and any further access on zookeeper\nhandle is undefined behavior and should be avoided."},"1219":{"id":"/docs/developer/programmers-guide/bindings-14","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"The following list contains configuration properties for the Java client. You can set any\nof these properties using Java system properties. For server properties, please check the\nServer configuration section of the Admin Guide.\nThe ZooKeeper Wiki also has useful pages about\nZooKeeper SSL support,\nand SASL authentication for ZooKeeper."},"1220":{"id":"/docs/developer/programmers-guide/bindings-15","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.sasl.client :\nSet the value to false to disable\nSASL authentication. Default is true."},"1221":{"id":"/docs/developer/programmers-guide/bindings-16","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.sasl.clientconfig :\nSpecifies the context key in the JAAS login file. Default is \"Client\"."},"1222":{"id":"/docs/developer/programmers-guide/bindings-17","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.server.principal :\nSpecifies the server principal to be used by the client for authentication, while connecting to the zookeeper\nserver, when Kerberos authentication is enabled. If this configuration is provided, then\nthe ZooKeeper client will NOT USE any of the following parameters to determine the server principal:"},"1223":{"id":"/docs/developer/programmers-guide/bindings-18","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.sasl.client.username :\nTraditionally, a principal is divided into three parts: the primary, the instance, and the realm.\nThe format of a typical Kerberos V5 principal is primary/instance@REALM.\nzookeeper.sasl.client.username specifies the primary part of the server principal. Default\nis \"zookeeper\". Instance part is derived from the server IP. Finally server's principal is\nusername/IP@realm, where username is the value of zookeeper.sasl.client.username, IP is\nthe server IP, and realm is the value of zookeeper.server.realm."},"1224":{"id":"/docs/developer/programmers-guide/bindings-19","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.sasl.client.canonicalize.hostname :\nExpecting the zookeeper.server.principal parameter is not provided, the ZooKeeper client will try to\ndetermine the 'instance' (host) part of the ZooKeeper server principal. First it takes the hostname provided\nas the ZooKeeper server connection string. Then it tries to 'canonicalize' the address by getting\nthe fully qualified domain name belonging to the address. You can disable this 'canonicalization'\nby setting: zookeeper.sasl.client.canonicalize.hostname=false"},"1225":{"id":"/docs/developer/programmers-guide/bindings-20","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.sasl.client.allowReverseDnsLookup :\nNew in 3.9.5:\nControls whether reverse DNS lookup is enabled when constructing the server principal for the SASL client.\nDefault: false"},"1226":{"id":"/docs/developer/programmers-guide/bindings-21","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.server.realm :\nRealm part of the server principal. By default it is the client principal realm."},"1227":{"id":"/docs/developer/programmers-guide/bindings-22","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.disableAutoWatchReset :\nThis switch controls whether automatic watch resetting is enabled. Clients automatically\nreset watches during session reconnect by default, this option allows the client to turn off\nthis behavior by setting zookeeper.disableAutoWatchReset to true."},"1228":{"id":"/docs/developer/programmers-guide/bindings-23","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.client.secure :\nNew in 3.5.5:\nIf you want to connect to the server secure client port, you need to set this property to\ntrue\non the client. This will connect to server using SSL with specified credentials. Note that\nit requires the Netty client."},"1229":{"id":"/docs/developer/programmers-guide/bindings-24","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.clientCnxnSocket :\nSpecifies which ClientCnxnSocket to be used. Possible values are\norg.apache.zookeeper.ClientCnxnSocketNIO\nand\norg.apache.zookeeper.ClientCnxnSocketNetty\n. Default is\norg.apache.zookeeper.ClientCnxnSocketNIO\n. If you want to connect to server's secure client port, you need to set this property to\norg.apache.zookeeper.ClientCnxnSocketNetty\non client."},"1230":{"id":"/docs/developer/programmers-guide/bindings-25","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password :\nNew in 3.5.5:\nSpecifies the file path to a JKS containing the local credentials to be used for SSL connections,\nand the password to unlock the file."},"1231":{"id":"/docs/developer/programmers-guide/bindings-26","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.ssl.keyStore.passwordPath :\nNew in 3.8.0:\nSpecifies the file path which contains the keystore password"},"1232":{"id":"/docs/developer/programmers-guide/bindings-27","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password :\nNew in 3.5.5:\nSpecifies the file path to a JKS containing the remote credentials to be used for SSL connections,\nand the password to unlock the file."},"1233":{"id":"/docs/developer/programmers-guide/bindings-28","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.ssl.trustStore.passwordPath :\nNew in 3.8.0:\nSpecifies the file path which contains the truststore password"},"1234":{"id":"/docs/developer/programmers-guide/bindings-29","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.ssl.keyStore.type and zookeeper.ssl.trustStore.type:\nNew in 3.5.5:\nSpecifies the file format of keys/trust store files used to establish TLS connection to the ZooKeeper server.\nValues: JKS, PEM, PKCS12 or null (detect by filename). Default: null.\nNew in 3.6.3, 3.7.0:\nThe format BCFKS was added."},"1235":{"id":"/docs/developer/programmers-guide/bindings-30","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"jute.maxbuffer :\nIn the client side, it specifies the maximum size of the incoming data from the server. The default is 0xfffff(1048575) bytes,\nor just under 1M. This is really a sanity check. The ZooKeeper server is designed to store and send\ndata on the order of kilobytes. If incoming data length is more than this value, an IOException\nis raised. This value of client side should keep same with the server side(Setting System.setProperty(\"jute.maxbuffer\", \"xxxx\") in the client side will work),\notherwise problems will arise."},"1236":{"id":"/docs/developer/programmers-guide/bindings-31","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.kinit :\nSpecifies path to kinit binary. Default is \"/usr/bin/kinit\"."},"1237":{"id":"/docs/developer/programmers-guide/bindings-32","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.shuffleDnsResponse :\nNew in 3.10.0:\nSpecifies whether ZooKeeper client should randomly pick an IP address from the DNS lookup query result when resolving\nserver addresses or not. This is a feature flag in order to keep the old behavior of the default DNS resolver in\nStaticHostProvider, because we disabled it by default. The reason behind that is shuffling the response of DNS queries\nshadows JVM network property java.net.preferIPv6Addresses (default: false). This property controls whether JVM's built-in\nresolver should prioritize v4 (false value) or v6 (true value) addresses when putting together the list of IP addresses\nin the result. In other words the above Java system property was completely ineffective in the case of ZooKeeper server host\nresolution protocol and this must have been fixed. In a dual stack environment one might want to prefer one stack over\nthe other which, in case of Java processes, should be controlled by JVM network properties and ZooKeeper must honor\nthese settings. Since the old behavior has been with us since day zero, we introduced this feature flag in case you\nneed it. Such case could be when you have a buggy DNS server which responds IP addresses always in the same order and\nyou want to randomize that.\nDefault: false"},"1238":{"id":"/docs/developer/programmers-guide/bindings-33","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#client-configuration-parameters","content":"zookeeper.hostProvider.dnsSrvRefreshIntervalSeconds :\nNew in 3.10.0:\nSpecifies the refresh interval in seconds for DNS SRV record lookups when using DnsSrvHostProvider.\nA value of 0 disables periodic refresh.\nDefault: 60 seconds"},"1239":{"id":"/docs/developer/programmers-guide/bindings-34","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#c-binding","content":"The C binding has a single-threaded and multi-threaded library.\nThe multi-threaded library is easiest to use and is most similar to the\nJava API. This library will create an IO thread and an event dispatch\nthread for handling connection maintenance and callbacks. The\nsingle-threaded library allows ZooKeeper to be used in event driven\napplications by exposing the event loop used in the multi-threaded\nlibrary."},"1240":{"id":"/docs/developer/programmers-guide/bindings-35","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#c-binding","content":"The package includes two shared libraries: zookeeperst and\nzookeeper_mt. The former only provides the asynchronous APIs and\ncallbacks for integrating into the application's event loop. The only\nreason this library exists is to support the platforms were a\n_pthread library is not available or is unstable\n(i.e. FreeBSD 4.x). In all other cases, application developers should\nlink with zookeeper_mt, as it includes support for both Sync and Async\nAPI."},"1241":{"id":"/docs/developer/programmers-guide/bindings-36","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#installation","content":"If you're building the client from a check-out from the Apache\nrepository, follow the steps outlined below. If you're building from a\nproject source package downloaded from apache, skip to step 3."},"1242":{"id":"/docs/developer/programmers-guide/bindings-37","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#installation","content":"Run mvn compile in zookeeper-jute directory (.../trunk/zookeeper-jute).\nThis will create a directory named \"generated\" under\n.../trunk/zookeeper-client/zookeeper-client-c."},"1243":{"id":"/docs/developer/programmers-guide/bindings-38","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#installation","content":"Change directory to the*.../trunk/zookeeper-client/zookeeper-client-c*\nand run autoreconf -if to bootstrap autoconf, automake and libtool. Make sure you have autoconf version 2.59 or greater installed.\nSkip to step4."},"1244":{"id":"/docs/developer/programmers-guide/bindings-39","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#installation","content":"If you are building from a project source package,\nunzip/untar the source tarball and cd to the*\nzookeeper-x.x.x/zookeeper-client/zookeeper-client-c* directory."},"1245":{"id":"/docs/developer/programmers-guide/bindings-40","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#installation","content":"Run ./configure to\ngenerate the makefile. Here are some of options the configure utility supports that can be\nuseful in this step:"},"1246":{"id":"/docs/developer/programmers-guide/bindings-41","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#installation","content":"--enable-debug\nEnables optimization and enables debug info compiler\noptions. (Disabled by default.)"},"1247":{"id":"/docs/developer/programmers-guide/bindings-42","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#installation","content":"--without-syncapi\nDisables Sync API support; zookeeper_mt library won't be\nbuilt. (Enabled by default.)"},"1248":{"id":"/docs/developer/programmers-guide/bindings-43","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#installation","content":"--disable-static\nDo not build static libraries. (Enabled by\ndefault.)"},"1249":{"id":"/docs/developer/programmers-guide/bindings-44","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#installation","content":"--disable-shared\nDo not build shared libraries. (Enabled by\ndefault.)"},"1250":{"id":"/docs/developer/programmers-guide/bindings-45","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#installation","content":"type: info"},"1251":{"id":"/docs/developer/programmers-guide/bindings-46","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#installation","content":"See INSTALL for general information about running configure. 1. Run\nmake or make install to build the libraries and install them. 1. To\ngenerate doxygen documentation for the ZooKeeper API, run make\n doxygen-doc. All documentation will be placed in a new subfolder named\ndocs. By default, this command only generates HTML. For information on other\ndocument formats, run ./configure --help"},"1252":{"id":"/docs/developer/programmers-guide/bindings-47","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#building-your-own-c-client","content":"In order to be able to use the ZooKeeper C API in your application\nyou have to remember to"},"1253":{"id":"/docs/developer/programmers-guide/bindings-48","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#building-your-own-c-client","content":"Include ZooKeeper header: #include "},"1254":{"id":"/docs/developer/programmers-guide/bindings-49","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#building-your-own-c-client","content":"If you are building a multithreaded client, compile with\n-DTHREADED compiler flag to enable the multi-threaded version of\nthe library, and then link against the\nzookeeper_mt library. If you are building a\nsingle-threaded client, do not compile with -DTHREADED, and be\nsure to link against the_zookeeper_st_library."},"1255":{"id":"/docs/developer/programmers-guide/bindings-50","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#building-your-own-c-client","content":"type: info"},"1256":{"id":"/docs/developer/programmers-guide/bindings-51","page_id":"/docs/developer/programmers-guide/bindings","tags":[],"type":"text","url":"/docs/developer/programmers-guide/bindings#building-your-own-c-client","content":"See .../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example\nof a C client implementation"},"1257":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","type":"page","content":"Building Blocks: A Guide to ZooKeeper Operations","breadcrumbs":["Multi-Page Documentation","Developer","Programmer's Guide"],"tags":[],"url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"},"1258":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-0","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","content":"A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API."},"1259":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-1","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#handling-errors","content":"Handling Errors"},"1260":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-2","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"Connecting to ZooKeeper"},"1261":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-3","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","content":"This section surveys all the operations a developer can perform\nagainst a ZooKeeper server. It is lower level information than the earlier\nconcepts chapters in this manual, but higher level than the ZooKeeper API\nReference."},"1262":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-4","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#handling-errors","content":"Both the Java and C client bindings may report errors. The Java client binding does so by throwing KeeperException, calling code() on the exception will return the specific error code. The C client binding returns an error code as defined in the enum ZOO_ERRORS. API callbacks indicate result code for both language bindings. See the API documentation (javadoc for Java, doxygen for C) for full details on the possible errors and their meaning."},"1263":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-5","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"Before we begin, you will have to set up a running Zookeeper server so that we can start developing the client. For C client bindings, we will be using the multithreaded library(zookeepermt) with a simple example written in C. To establish a connection with Zookeeper server, we make use of C API - _zookeeper_init with the following signature:"},"1264":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-6","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"int zookeeper_init(const char *host, watcher_fn fn, int recv_timeout, const clientid_t *clientid, void *context, int flags);"},"1265":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-7","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"*host :\nConnection string to zookeeper server in the format of host:port. If there are multiple servers, use comma as separator after specifying the host:port pairs. Eg: \"127.0.0.1:2181,127.0.0.1:3001,127.0.0.1:3002\""},"1266":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-8","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"fn :\nWatcher function to process events when a notification is triggered."},"1267":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-9","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"recv_timeout :\nSession expiration time in milliseconds."},"1268":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-10","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"*clientid :\nWe can specify 0 for a new session. If a session has already establish previously, we could provide that client ID and it would reconnect to that previous session."},"1269":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-11","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"*context :\nContext object that can be associated with the zkhandle_t handler. If it is not used, we can set it to 0."},"1270":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-12","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"flags :\nIn an initiation, we can leave it for 0."},"1271":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-13","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"We will demonstrate client that outputs \"Connected to Zookeeper\" after successful connection or an error message otherwise. Let's call the following code zkClient.cc:"},"1272":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-14","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"Compile the code with the multithreaded library mentioned before."},"1273":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-15","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"> g++ -Iinclude/ zkClient.cpp -lzookeeper_mt -o Client"},"1274":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-16","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"Run the client."},"1275":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-17","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"> ./Client"},"1276":{"id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-18","page_id":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tags":[],"type":"text","url":"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","content":"From the output, you should see \"Connected to Zookeeper\" along with Zookeeper's DEBUG messages if the connection is successful."},"1277":{"id":"/docs/developer/programmers-guide/consistency-guarantees","page_id":"/docs/developer/programmers-guide/consistency-guarantees","type":"page","content":"Consistency Guarantees","breadcrumbs":["Multi-Page Documentation","Developer","Programmer's Guide"],"tags":[],"url":"/docs/developer/programmers-guide/consistency-guarantees"},"1278":{"id":"/docs/developer/programmers-guide/consistency-guarantees-0","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems."},"1279":{"id":"/docs/developer/programmers-guide/consistency-guarantees-1","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"ZooKeeper is a high performance, scalable service. Both reads and\nwrite operations are designed to be fast, though reads are faster than\nwrites. The reason for this is that in the case of reads, ZooKeeper can\nserve older data, which in turn is due to ZooKeeper's consistency\nguarantees:"},"1280":{"id":"/docs/developer/programmers-guide/consistency-guarantees-2","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"Sequential Consistency :\nUpdates from a client will be applied in the order that they\nwere sent."},"1281":{"id":"/docs/developer/programmers-guide/consistency-guarantees-3","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"Atomicity :\nUpdates either succeed or fail — there are no partial\nresults."},"1282":{"id":"/docs/developer/programmers-guide/consistency-guarantees-4","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"Single System Image :\nA client will see the same view of the service regardless of\nthe server that it connects to. i.e., a client will never see an\nolder view of the system even if the client fails over to a\ndifferent server with the same session."},"1283":{"id":"/docs/developer/programmers-guide/consistency-guarantees-5","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"Reliability :\nOnce an update has been applied, it will persist from that\ntime forward until a client overwrites the update. This guarantee\nhas two corollaries:"},"1284":{"id":"/docs/developer/programmers-guide/consistency-guarantees-6","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"If a client gets a successful return code, the update will\nhave been applied. On some failures (communication errors,\ntimeouts, etc) the client will not know if the update has\napplied or not. We take steps to minimize the failures, but the\nguarantee is only present with successful return codes.\n(This is called the monotonicity condition in Paxos.)"},"1285":{"id":"/docs/developer/programmers-guide/consistency-guarantees-7","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"Any updates that are seen by the client, through a read\nrequest or successful update, will never be rolled back when\nrecovering from server failures."},"1286":{"id":"/docs/developer/programmers-guide/consistency-guarantees-8","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"Timeliness :\nThe clients view of the system is guaranteed to be up-to-date\nwithin a certain time bound (on the order of tens of seconds).\nEither system changes will be seen by a client within this bound, or\nthe client will detect a service outage."},"1287":{"id":"/docs/developer/programmers-guide/consistency-guarantees-9","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"Using these consistency guarantees it is easy to build higher level\nfunctions such as leader election, barriers, queues, and read/write\nrevocable locks solely at the ZooKeeper client (no additions needed to\nZooKeeper). See Recipes and Solutions\nfor more details."},"1288":{"id":"/docs/developer/programmers-guide/consistency-guarantees-10","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"type: info"},"1289":{"id":"/docs/developer/programmers-guide/consistency-guarantees-11","page_id":"/docs/developer/programmers-guide/consistency-guarantees","tags":[],"type":"text","url":"/docs/developer/programmers-guide/consistency-guarantees","content":"Sometimes developers mistakenly assume one other guarantee that ZooKeeper does\nnot in fact make. This is: Simultaneously Consistent Cross-Client Views:\nZooKeeper does not guarantee that at every instance in time, two different\nclients will have identical views of ZooKeeper data. Due to factors like\nnetwork delays, one client may perform an update before another client gets\nnotified of the change. Consider the scenario of two clients, A and B. If\nclient A sets the value of a znode /a from 0 to 1, then tells client B to read\n/a, client B may read the old value of 0, depending on which server it is\nconnected to. If it is important that Client A and Client B read the same\nvalue, Client B should call the sync() method from the ZooKeeper API\nmethod before it performs its read. So, ZooKeeper by itself doesn't guarantee\nthat changes occur synchronously across all servers, but ZooKeeper primitives\ncan be used to construct higher level functions that provide useful client\nsynchronization. (For more information, see the ZooKeeper\nRecipes)."},"1290":{"id":"/docs/developer/programmers-guide/data-model","page_id":"/docs/developer/programmers-guide/data-model","type":"page","content":"Data Model","breadcrumbs":["Multi-Page Documentation","Developer","Programmer's Guide"],"tags":[],"url":"/docs/developer/programmers-guide/data-model"},"1291":{"id":"/docs/developer/programmers-guide/data-model-0","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model","content":"Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure."},"1292":{"id":"/docs/developer/programmers-guide/data-model-1","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#znodes","content":"ZNodes"},"1293":{"id":"/docs/developer/programmers-guide/data-model-2","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#watches","content":"Watches"},"1294":{"id":"/docs/developer/programmers-guide/data-model-3","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#data-access","content":"Data Access"},"1295":{"id":"/docs/developer/programmers-guide/data-model-4","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#ephemeral-nodes","content":"Ephemeral Nodes"},"1296":{"id":"/docs/developer/programmers-guide/data-model-5","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#getephemerals","content":"getEphemerals()"},"1297":{"id":"/docs/developer/programmers-guide/data-model-6","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#sequence-nodes--unique-naming","content":"Sequence Nodes — Unique Naming"},"1298":{"id":"/docs/developer/programmers-guide/data-model-7","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#container-nodes","content":"Container Nodes"},"1299":{"id":"/docs/developer/programmers-guide/data-model-8","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#added-in-353","content":"Added in 3.5.3"},"1300":{"id":"/docs/developer/programmers-guide/data-model-9","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#ttl-nodes","content":"TTL Nodes"},"1301":{"id":"/docs/developer/programmers-guide/data-model-10","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#added-in-353-1","content":"Added in 3.5.3"},"1302":{"id":"/docs/developer/programmers-guide/data-model-11","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#time-in-zookeeper","content":"Time in ZooKeeper"},"1303":{"id":"/docs/developer/programmers-guide/data-model-12","page_id":"/docs/developer/programmers-guide/data-model","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"ZooKeeper Stat Structure"},"1304":{"id":"/docs/developer/programmers-guide/data-model-13","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model","content":"ZooKeeper has a hierarchal namespace, much like a distributed file\nsystem. The only difference is that each node in the namespace can have\ndata associated with it as well as children. It is like having a file\nsystem that allows a file to also be a directory. Paths to nodes are\nalways expressed as canonical, absolute, slash-separated paths; there are\nno relative reference. Any unicode character can be used in a path subject\nto the following constraints:"},"1305":{"id":"/docs/developer/programmers-guide/data-model-14","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model","content":"The null character (\\u0000) cannot be part of a path name. (This\ncauses problems with the C binding.)"},"1306":{"id":"/docs/developer/programmers-guide/data-model-15","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model","content":"The following characters can't be used because they don't\ndisplay well, or render in confusing ways: \\u0001 - \\u001F and \\u007F"},"1307":{"id":"/docs/developer/programmers-guide/data-model-16","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model","content":"\\u009F."},"1308":{"id":"/docs/developer/programmers-guide/data-model-17","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model","content":"The following characters are not allowed: \\ud800 - uF8FF,\n\\uFFF0 - uFFFF."},"1309":{"id":"/docs/developer/programmers-guide/data-model-18","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model","content":"The \".\" character can be used as part of another name, but \".\"\nand \"..\" cannot alone be used to indicate a node along a path,\nbecause ZooKeeper doesn't use relative paths. The following would be\ninvalid: \"/a/b/./c\" or \"/a/b/../c\"."},"1310":{"id":"/docs/developer/programmers-guide/data-model-19","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model","content":"The token \"zookeeper\" is reserved."},"1311":{"id":"/docs/developer/programmers-guide/data-model-20","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#znodes","content":"Every node in a ZooKeeper tree is referred to as a\nznode. Znodes maintain a stat structure that\nincludes version numbers for data changes, acl changes. The stat\nstructure also has timestamps. The version number, together with the\ntimestamp, allows ZooKeeper to validate the cache and to coordinate\nupdates. Each time a znode's data changes, the version number increases.\nFor instance, whenever a client retrieves data, it also receives the\nversion of the data. And when a client performs an update or a delete,\nit must supply the version of the data of the znode it is changing. If\nthe version it supplies doesn't match the actual version of the data,\nthe update will fail. (This behavior can be overridden.)"},"1312":{"id":"/docs/developer/programmers-guide/data-model-21","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#znodes","content":"type: info"},"1313":{"id":"/docs/developer/programmers-guide/data-model-22","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#znodes","content":"In distributed application engineering, the words node can refer to a\ngeneric host machine, a server, a member of an ensemble, a client process,\netc. In the ZooKeeper documentation, znodes refer to the data nodes.\nServers refers to machines that make up the ZooKeeper service; quorum\npeers refer to the servers that make up an ensemble; client refers to any\nhost or process which uses a ZooKeeper service."},"1314":{"id":"/docs/developer/programmers-guide/data-model-23","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#znodes","content":"Znodes are the main entity that a programmer access. They have\nseveral characteristics that are worth mentioning here."},"1315":{"id":"/docs/developer/programmers-guide/data-model-24","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#watches","content":"Clients can set watches on znodes. Changes to that znode trigger\nthe watch and then clear the watch. When a watch triggers, ZooKeeper\nsends the client a notification. More information about watches can be\nfound in the section\nZooKeeper Watches."},"1316":{"id":"/docs/developer/programmers-guide/data-model-25","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#data-access","content":"The data stored at each znode in a namespace is read and written\natomically. Reads get all the data bytes associated with a znode and a\nwrite replaces all the data. Each node has an Access Control List\n(ACL) that restricts who can do what."},"1317":{"id":"/docs/developer/programmers-guide/data-model-26","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#data-access","content":"ZooKeeper was not designed to be a general database or large\nobject store. Instead, it manages coordination data. This data can\ncome in the form of configuration, status information, rendezvous, etc.\nA common property of the various forms of coordination data is that\nthey are relatively small: measured in kilobytes.\nThe ZooKeeper client and the server implementations have sanity checks\nto ensure that znodes have less than 1M of data, but the data should\nbe much less than that on average. Operating on relatively large data\nsizes will cause some operations to take much more time than others and\nwill affect the latencies of some operations because of the extra time\nneeded to move more data over the network and onto storage media. If\nlarge data storage is needed, the usual pattern of dealing with such\ndata is to store it on a bulk storage system, such as NFS or HDFS, and\nstore pointers to the storage locations in ZooKeeper."},"1318":{"id":"/docs/developer/programmers-guide/data-model-27","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#ephemeral-nodes","content":"ZooKeeper also has the notion of ephemeral nodes. These znodes\nexists as long as the session that created the znode is active. When\nthe session ends the znode is deleted. Because of this behavior\nephemeral znodes are not allowed to have children. The list of ephemerals\nfor the session can be retrieved using getEphemerals() api."},"1319":{"id":"/docs/developer/programmers-guide/data-model-28","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#getephemerals","content":"Retrieves the list of ephemeral nodes created by the session for the\ngiven path. If the path is empty, it will list all the ephemeral nodes\nfor the session.\nUse Case - A sample use case might be, if the list of ephemeral\nnodes for the session needs to be collected for duplicate data entry check\nand the nodes are created in a sequential manner so you do not know the name\nfor duplicate check. In that case, getEphemerals() api could be used to\nget the list of nodes for the session. This might be a typical use case\nfor service discovery."},"1320":{"id":"/docs/developer/programmers-guide/data-model-29","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#sequence-nodes--unique-naming","content":"When creating a znode you can also request that\nZooKeeper append a monotonically increasing counter to the end\nof path. This counter is unique to the parent znode. The\ncounter has a format of %010d — that is 10 digits with 0\n(zero) padding (the counter is formatted in this way to\nsimplify sorting), i.e. \"0000000001\". See\nQueue\nRecipe for an example use of this feature. Note: the\ncounter used to store the next sequence number is a signed int\n(4bytes) maintained by the parent node, the counter will\noverflow when incremented beyond 2147483647 (resulting in a\nname \"-2147483648\")."},"1321":{"id":"/docs/developer/programmers-guide/data-model-30","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#added-in-353","content":"ZooKeeper has the notion of container znodes. Container znodes are\nspecial purpose znodes useful for recipes such as leader, lock, etc.\nWhen the last child of a container is deleted, the container becomes\na candidate to be deleted by the server at some point in the future."},"1322":{"id":"/docs/developer/programmers-guide/data-model-31","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#added-in-353","content":"Given this property, you should be prepared to get\nKeeperException.NoNodeException when creating children inside of\ncontainer znodes. i.e. when creating child znodes inside of container znodes\nalways check for KeeperException.NoNodeException and recreate the container\nznode when it occurs."},"1323":{"id":"/docs/developer/programmers-guide/data-model-32","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#added-in-353-1","content":"When creating PERSISTENT or PERSISTENT_SEQUENTIAL znodes,\nyou can optionally set a TTL in milliseconds for the znode. If the znode\nis not modified within the TTL and has no children it will become a candidate\nto be deleted by the server at some point in the future."},"1324":{"id":"/docs/developer/programmers-guide/data-model-33","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#added-in-353-1","content":"Note: TTL Nodes must be enabled via System property as they\nare disabled by default. See the Administrator's Guide for\ndetails. If you attempt to create TTL Nodes without the\nproper System property set the server will throw\nKeeperException.UnimplementedException."},"1325":{"id":"/docs/developer/programmers-guide/data-model-34","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#time-in-zookeeper","content":"ZooKeeper tracks time multiple ways:"},"1326":{"id":"/docs/developer/programmers-guide/data-model-35","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#time-in-zookeeper","content":"Zxid\nEvery change to the ZooKeeper state receives a stamp in the\nform of a zxid (ZooKeeper Transaction Id).\nThis exposes the total ordering of all changes to ZooKeeper. Each\nchange will have a unique zxid and if zxid1 is smaller than zxid2\nthen zxid1 happened before zxid2."},"1327":{"id":"/docs/developer/programmers-guide/data-model-36","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#time-in-zookeeper","content":"Version numbers\nEvery change to a node will cause an increase to one of the\nversion numbers of that node. The three version numbers are version\n(number of changes to the data of a znode), cversion (number of\nchanges to the children of a znode), and aversion (number of changes\nto the ACL of a znode)."},"1328":{"id":"/docs/developer/programmers-guide/data-model-37","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#time-in-zookeeper","content":"Ticks\nWhen using multi-server ZooKeeper, servers use ticks to define\ntiming of events such as status uploads, session timeouts,\nconnection timeouts between peers, etc. The tick time is only\nindirectly exposed through the minimum session timeout (2 times the\ntick time); if a client requests a session timeout less than the\nminimum session timeout, the server will tell the client that the\nsession timeout is actually the minimum session timeout."},"1329":{"id":"/docs/developer/programmers-guide/data-model-38","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#time-in-zookeeper","content":"Real time\nZooKeeper doesn't use real time, or clock time, at all except\nto put timestamps into the stat structure on znode creation and\nznode modification."},"1330":{"id":"/docs/developer/programmers-guide/data-model-39","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"The Stat structure for each znode in ZooKeeper is made up of the\nfollowing fields:"},"1331":{"id":"/docs/developer/programmers-guide/data-model-40","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"czxid\nThe zxid of the change that caused this znode to be\ncreated."},"1332":{"id":"/docs/developer/programmers-guide/data-model-41","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"mzxid\nThe zxid of the change that last modified this znode."},"1333":{"id":"/docs/developer/programmers-guide/data-model-42","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"pzxid\nThe zxid of the change that last modified children of this znode."},"1334":{"id":"/docs/developer/programmers-guide/data-model-43","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"ctime\nThe time in milliseconds from epoch when this znode was\ncreated."},"1335":{"id":"/docs/developer/programmers-guide/data-model-44","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"mtime\nThe time in milliseconds from epoch when this znode was last\nmodified."},"1336":{"id":"/docs/developer/programmers-guide/data-model-45","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"version\nThe number of changes to the data of this znode."},"1337":{"id":"/docs/developer/programmers-guide/data-model-46","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"cversion\nThe number of changes to the children of this znode."},"1338":{"id":"/docs/developer/programmers-guide/data-model-47","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"aversion\nThe number of changes to the ACL of this znode."},"1339":{"id":"/docs/developer/programmers-guide/data-model-48","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"ephemeralOwner\nThe session id of the owner of this znode if the znode is an\nephemeral node. If it is not an ephemeral node, it will be\nzero."},"1340":{"id":"/docs/developer/programmers-guide/data-model-49","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"dataLength\nThe length of the data field of this znode."},"1341":{"id":"/docs/developer/programmers-guide/data-model-50","page_id":"/docs/developer/programmers-guide/data-model","tags":[],"type":"text","url":"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","content":"numChildren\nThe number of children of this znode."},"1342":{"id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","page_id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","type":"page","content":"Gotchas: Common Problems and Troubleshooting","breadcrumbs":["Multi-Page Documentation","Developer","Programmer's Guide"],"tags":[],"url":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"},"1343":{"id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-0","page_id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","tags":[],"type":"text","url":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","content":"Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors."},"1344":{"id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-1","page_id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","tags":[],"type":"text","url":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","content":"So now you know ZooKeeper. It's fast, simple, your application\nworks, but wait ... something's wrong. Here are some pitfalls that\nZooKeeper users fall into:"},"1345":{"id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-2","page_id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","tags":[],"type":"text","url":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","content":"If you are using watches, you must look for the connected watch\nevent. When a ZooKeeper client disconnects from a server, you will\nnot receive notification of changes until reconnected. If you are\nwatching for a znode to come into existence, you will miss the event\nif the znode is created and deleted while you are disconnected."},"1346":{"id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-3","page_id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","tags":[],"type":"text","url":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","content":"You must test ZooKeeper server failures. The ZooKeeper service\ncan survive failures as long as a majority of servers are active. The\nquestion to ask is: can your application handle it? In the real world\na client's connection to ZooKeeper can break. (ZooKeeper server\nfailures and network partitions are common reasons for connection\nloss.) The ZooKeeper client library takes care of recovering your\nconnection and letting you know what happened, but you must make sure\nthat you recover your state and any outstanding requests that failed.\nFind out if you got it right in the test lab, not in production - test\nwith a ZooKeeper service made up of a several of servers and subject\nthem to reboots."},"1347":{"id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-4","page_id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","tags":[],"type":"text","url":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","content":"The list of ZooKeeper servers used by the client must match the\nlist of ZooKeeper servers that each ZooKeeper server has. Things can\nwork, although not optimally, if the client list is a subset of the\nreal list of ZooKeeper servers, but not if the client lists ZooKeeper\nservers not in the ZooKeeper cluster."},"1348":{"id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-5","page_id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","tags":[],"type":"text","url":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","content":"Be careful where you put that transaction log. The most\nperformance-critical part of ZooKeeper is the transaction log.\nZooKeeper must sync transactions to media before it returns a\nresponse. A dedicated transaction log device is key to consistent good\nperformance. Putting the log on a busy device will adversely effect\nperformance. If you only have one storage device, put trace files on\nNFS and increase the snapshotCount; it doesn't eliminate the problem,\nbut it can mitigate it."},"1349":{"id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-6","page_id":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","tags":[],"type":"text","url":"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","content":"Set your Java max heap size correctly. It is very important to\navoid swapping. Going to disk unnecessarily will\nalmost certainly degrade your performance unacceptably. Remember, in\nZooKeeper, everything is ordered, so if one request hits the disk, all\nother queued requests hit the disk.\nTo avoid swapping, try to set the heapsize to the amount of\nphysical memory you have, minus the amount needed by the OS and cache.\nThe best way to determine an optimal heap size for your configurations\nis to run load tests. If for some reason you\ncan't, be conservative in your estimates and choose a number well\nbelow the limit that would cause your machine to swap. For example, on\na 4G machine, a 3G heap is a conservative estimate to start\nwith."},"1350":{"id":"/docs/developer/programmers-guide","page_id":"/docs/developer/programmers-guide","type":"page","content":"Programmer's Guide","breadcrumbs":["Multi-Page Documentation","Developer","Programmer's Guide"],"tags":[],"url":"/docs/developer/programmers-guide"},"1351":{"id":"/docs/developer/programmers-guide-0","page_id":"/docs/developer/programmers-guide","tags":[],"type":"text","url":"/docs/developer/programmers-guide","content":"This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information."},"1352":{"id":"/docs/developer/programmers-guide-1","page_id":"/docs/developer/programmers-guide","type":"heading","tags":[],"url":"/docs/developer/programmers-guide#links-to-other-information","content":"Links to Other Information"},"1353":{"id":"/docs/developer/programmers-guide-2","page_id":"/docs/developer/programmers-guide","tags":[],"type":"text","url":"/docs/developer/programmers-guide","content":"The first four sections of this guide present a higher level\ndiscussions of various ZooKeeper concepts. These are necessary both for an\nunderstanding of how ZooKeeper works as well how to work with it. It does\nnot contain source code, but it does assume a familiarity with the\nproblems associated with distributed computing."},"1354":{"id":"/docs/developer/programmers-guide-3","page_id":"/docs/developer/programmers-guide","tags":[],"type":"text","url":"/docs/developer/programmers-guide","content":"The next four sections provide practical programming\ninformation."},"1355":{"id":"/docs/developer/programmers-guide-4","page_id":"/docs/developer/programmers-guide","tags":[],"type":"text","url":"/docs/developer/programmers-guide","content":"Most of the information in this document is written to be accessible as\nstand-alone reference material. However, before starting your first\nZooKeeper application, you should probably at least read the chapters on\nthe ZooKeeper Data Model and ZooKeeper Basic Operations."},"1356":{"id":"/docs/developer/programmers-guide-5","page_id":"/docs/developer/programmers-guide","tags":[],"type":"text","url":"/docs/developer/programmers-guide#links-to-other-information","content":"Outside the formal documentation, there're several other sources of\ninformation for ZooKeeper developers."},"1357":{"id":"/docs/developer/programmers-guide-6","page_id":"/docs/developer/programmers-guide","tags":[],"type":"text","url":"/docs/developer/programmers-guide#links-to-other-information","content":"API Reference :\nThe complete reference to the ZooKeeper API"},"1358":{"id":"/docs/developer/programmers-guide-7","page_id":"/docs/developer/programmers-guide","tags":[],"type":"text","url":"/docs/developer/programmers-guide#links-to-other-information","content":"ZooKeeper Talk at the Hadoop Summit 2008 :\nA video introduction to ZooKeeper, by Benjamin Reed of Yahoo!\nResearch"},"1359":{"id":"/docs/developer/programmers-guide-8","page_id":"/docs/developer/programmers-guide","tags":[],"type":"text","url":"/docs/developer/programmers-guide#links-to-other-information","content":"Barrier and Queue Tutorial :\nThe excellent Java tutorial by Flavio Junqueira, implementing\nsimple barriers and producer-consumer queues using ZooKeeper."},"1360":{"id":"/docs/developer/programmers-guide-9","page_id":"/docs/developer/programmers-guide","tags":[],"type":"text","url":"/docs/developer/programmers-guide#links-to-other-information","content":"ZooKeeper - A Reliable, Scalable Distributed Coordination System :\nAn article by Todd Hoff (07/15/2008)"},"1361":{"id":"/docs/developer/programmers-guide-10","page_id":"/docs/developer/programmers-guide","tags":[],"type":"text","url":"/docs/developer/programmers-guide#links-to-other-information","content":"ZooKeeper Recipes :\nPseudo-level discussion of the implementation of various\nsynchronization solutions with ZooKeeper: Event Handles, Queues,\nLocks, and Two-phase Commits."},"1362":{"id":"/docs/developer/programmers-guide/pluggable-authentication","page_id":"/docs/developer/programmers-guide/pluggable-authentication","type":"page","content":"Pluggable Authentication","breadcrumbs":["Multi-Page Documentation","Developer","Programmer's Guide"],"tags":[],"url":"/docs/developer/programmers-guide/pluggable-authentication"},"1363":{"id":"/docs/developer/programmers-guide/pluggable-authentication-0","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme."},"1364":{"id":"/docs/developer/programmers-guide/pluggable-authentication-1","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"ZooKeeper runs in a variety of different environments with\nvarious different authentication schemes, so it has a completely\npluggable authentication framework. Even the builtin authentication\nschemes use the pluggable authentication framework."},"1365":{"id":"/docs/developer/programmers-guide/pluggable-authentication-2","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"To understand how the authentication framework works, first you must\nunderstand the two main authentication operations. The framework\nfirst must authenticate the client. This is usually done as soon as\nthe client connects to a server and consists of validating information\nsent from or gathered about a client and associating it with the connection.\nThe second operation handled by the framework is finding the entries in an\nACL that correspond to client. ACL entries are pairs. The idspec may be\na simple string match against the authentication information associated\nwith the connection or it may be a expression that is evaluated against that\ninformation. It is up to the implementation of the authentication plugin\nto do the match. Here is the interface that an authentication plugin must\nimplement:"},"1366":{"id":"/docs/developer/programmers-guide/pluggable-authentication-3","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"The first method getScheme returns the string\nthat identifies the plugin. Because we support multiple methods of authentication,\nan authentication credential or an idspec will always be\nprefixed with scheme:. The ZooKeeper server uses the scheme\nreturned by the authentication plugin to determine which ids the scheme\napplies to."},"1367":{"id":"/docs/developer/programmers-guide/pluggable-authentication-4","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"handleAuthentication is called when a client\nsends authentication information to be associated with a connection. The\nclient specifies the scheme to which the information corresponds. The\nZooKeeper server passes the information to the authentication plugin whose\ngetScheme matches the scheme passed by the client. The\nimplementor of handleAuthentication will usually return\nan error if it determines that the information is bad, or it will associate information\nwith the connection using cnxn.getAuthInfo().add(new Id(getScheme(), data))."},"1368":{"id":"/docs/developer/programmers-guide/pluggable-authentication-5","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"The authentication plugin is involved in both setting and using ACLs. When an\nACL is set for a znode, the ZooKeeper server will pass the id part of the entry to\nthe isValid(String id) method. It is up to the plugin to verify\nthat the id has a correct form. For example, ip:172.16.0.0/16\nis a valid id, but ip:host.com is not. If the new ACL includes\nan \"auth\" entry, isAuthenticated is used to see if the\nauthentication information for this scheme that is associated with the connection\nshould be added to the ACL. Some schemes\nshould not be included in auth. For example, the IP address of the client is not\nconsidered as an id that should be added to the ACL if auth is specified."},"1369":{"id":"/docs/developer/programmers-guide/pluggable-authentication-6","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"ZooKeeper invokes matches(String id, String aclExpr) when checking an ACL. It\nneeds to match authentication information of the client against the relevant ACL\nentries. To find the entries which apply to the client, the ZooKeeper server will\nfind the scheme of each entry and if there is authentication information\nfrom that client for that scheme, matches(String id, String aclExpr)\nwill be called with id set to the authentication information\nthat was previously added to the connection by handleAuthentication and\naclExpr set to the id of the ACL entry. The authentication plugin\nuses its own logic and matching scheme to determine if id is included\nin aclExpr."},"1370":{"id":"/docs/developer/programmers-guide/pluggable-authentication-7","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"There are two built in authentication plugins: ip and\ndigest. Additional plugins can adding using system properties. At\nstartup the ZooKeeper server will look for system properties that start with\n\"zookeeper.authProvider.\" and interpret the value of those properties as the class name\nof an authentication plugin. These properties can be set using the\n-Dzookeeper.authProvider.X=com.f.MyAuth or adding entries such as\nthe following in the server configuration file:"},"1371":{"id":"/docs/developer/programmers-guide/pluggable-authentication-8","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"Care should be taking to ensure that the suffix on the property is unique. If there are\nduplicates such as -Dzookeeper.authProvider.X=com.f.MyAuth -Dzookeeper.authProvider.X=com.f.MyAuth2,\nonly one will be used. Also all servers must have the same plugins defined, otherwise clients using\nthe authentication schemes provided by the plugins will have problems connecting to some servers."},"1372":{"id":"/docs/developer/programmers-guide/pluggable-authentication-9","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"Added in 3.6.0: An alternate abstraction is available for pluggable\nauthentication. It provides additional arguments."},"1373":{"id":"/docs/developer/programmers-guide/pluggable-authentication-10","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"Instead of implementing AuthenticationProvider you extend ServerAuthenticationProvider. Your handleAuthentication()\nand matches() methods will then receive the additional parameters (via ServerObjs and MatchValues)."},"1374":{"id":"/docs/developer/programmers-guide/pluggable-authentication-11","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"ZooKeeperServer\nThe ZooKeeperServer instance"},"1375":{"id":"/docs/developer/programmers-guide/pluggable-authentication-12","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"ServerCnxn\nThe current connection"},"1376":{"id":"/docs/developer/programmers-guide/pluggable-authentication-13","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"path\nThe ZNode path being operated on (or null if not used)"},"1377":{"id":"/docs/developer/programmers-guide/pluggable-authentication-14","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"perm\nThe operation value or 0"},"1378":{"id":"/docs/developer/programmers-guide/pluggable-authentication-15","page_id":"/docs/developer/programmers-guide/pluggable-authentication","tags":[],"type":"text","url":"/docs/developer/programmers-guide/pluggable-authentication","content":"setAcls\nWhen the setAcl() method is being operated on, the list of ACLs that are being set"},"1379":{"id":"/docs/developer/programmers-guide/sessions","page_id":"/docs/developer/programmers-guide/sessions","type":"page","content":"Sessions","breadcrumbs":["Multi-Page Documentation","Developer","Programmer's Guide"],"tags":[],"url":"/docs/developer/programmers-guide/sessions"},"1380":{"id":"/docs/developer/programmers-guide/sessions-0","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble."},"1381":{"id":"/docs/developer/programmers-guide/sessions-1","page_id":"/docs/developer/programmers-guide/sessions","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/sessions#qa-toc","content":"Q&A [!toc]"},"1382":{"id":"/docs/developer/programmers-guide/sessions-2","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"A ZooKeeper client establishes a session with the ZooKeeper\nservice by creating a handle to the service using a language\nbinding. Once created, the handle starts off in the CONNECTING state\nand the client library tries to connect to one of the servers that\nmake up the ZooKeeper service at which point it switches to the\nCONNECTED state. During normal operation the client handle will be in one of these\ntwo states. If an unrecoverable error occurs, such as session\nexpiration or authentication failure, or if the application explicitly\ncloses the handle, the handle will move to the CLOSED state.\nThe following figure shows the possible state transitions of a\nZooKeeper client:"},"1383":{"id":"/docs/developer/programmers-guide/sessions-3","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"To create a client session the application code must provide\na connection string containing a comma separated list of host:port pairs,\neach corresponding to a ZooKeeper server (e.g. \"127.0.0.1:4545\" or\n\"127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002\"). The ZooKeeper\nclient library will pick an arbitrary server and try to connect to\nit. If this connection fails, or if the client becomes\ndisconnected from the server for any reason, the client will\nautomatically try the next server in the list, until a connection\nis (re-)established."},"1384":{"id":"/docs/developer/programmers-guide/sessions-4","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Added in 3.2.0: An\noptional \"chroot\" suffix may also be appended to the connection\nstring. This will run the client commands while interpreting all\npaths relative to this root (similar to the unix chroot\ncommand). If used the example would look like:\n\"127.0.0.1:4545/app/a\" or\n\"127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a\" where the\nclient would be rooted at \"/app/a\" and all paths would be relative\nto this root - ie getting/setting/etc... \"/foo/bar\" would result\nin operations being run on \"/app/a/foo/bar\" (from the server\nperspective). This feature is particularly useful in multi-tenant\nenvironments where each user of a particular ZooKeeper service\ncould be rooted differently. This makes re-use much simpler as\neach user can code his/her application as if it were rooted at\n\"/\", while actual location (say /app/a) could be determined at\ndeployment time."},"1385":{"id":"/docs/developer/programmers-guide/sessions-5","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"When a client gets a handle to the ZooKeeper service,\nZooKeeper creates a ZooKeeper session, represented as a 64-bit\nnumber, that it assigns to the client. If the client connects to a\ndifferent ZooKeeper server, it will send the session id as a part\nof the connection handshake. As a security measure, the server\ncreates a password for the session id that any ZooKeeper server\ncan validate.The password is sent to the client with the session\nid when the client establishes the session. The client sends this\npassword with the session id whenever it reestablishes the session\nwith a new server."},"1386":{"id":"/docs/developer/programmers-guide/sessions-6","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"One of the parameters to the ZooKeeper client library call\nto create a ZooKeeper session is the session timeout in\nmilliseconds. The client sends a requested timeout, the server\nresponds with the timeout that it can give the client. The current\nimplementation requires that the timeout be a minimum of 2 times\nthe tickTime (as set in the server configuration) and a maximum of\n20 times the tickTime. The ZooKeeper client API allows access to\nthe negotiated timeout."},"1387":{"id":"/docs/developer/programmers-guide/sessions-7","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"When a client (session) becomes partitioned from the ZK\nserving cluster it will begin searching the list of servers that\nwere specified during session creation. Eventually, when\nconnectivity between the client and at least one of the servers is\nre-established, the session will either again transition to the\n\"connected\" state (if reconnected within the session timeout\nvalue) or it will transition to the \"expired\" state (if\nreconnected after the session timeout). It is not advisable to\ncreate a new session object (a new ZooKeeper.class or zookeeper\nhandle in the c binding) for disconnection. The ZK client library\nwill handle reconnect for you. In particular we have heuristics\nbuilt into the client library to handle things like \"herd effect\",\netc... Only create a new session when you are notified of session\nexpiration (mandatory)."},"1388":{"id":"/docs/developer/programmers-guide/sessions-8","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Session expiration is managed by the ZooKeeper cluster\nitself, not by the client. When the ZK client establishes a\nsession with the cluster it provides a \"timeout\" value detailed\nabove. This value is used by the cluster to determine when the\nclient's session expires. Expirations happens when the cluster\ndoes not hear from the client within the specified session timeout\nperiod (i.e. no heartbeat). At session expiration the cluster will\ndelete any/all ephemeral nodes owned by that session and\nimmediately notify any/all connected clients of the change (anyone\nwatching those znodes). At this point the client of the expired\nsession is still disconnected from the cluster, it will not be\nnotified of the session expiration until/unless it is able to\nre-establish a connection to the cluster. The client will stay in\ndisconnected state until the TCP connection is re-established with\nthe cluster, at which point the watcher of the expired session\nwill receive the \"session expired\" notification."},"1389":{"id":"/docs/developer/programmers-guide/sessions-9","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Example state transitions for an expired session as seen by\nthe expired session's watcher:"},"1390":{"id":"/docs/developer/programmers-guide/sessions-10","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"'connected' : session is established and client\nis communicating with cluster (client/server communication is\noperating properly)"},"1391":{"id":"/docs/developer/programmers-guide/sessions-11","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":".... client is partitioned from the\ncluster"},"1392":{"id":"/docs/developer/programmers-guide/sessions-12","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"'disconnected' : client has lost connectivity\nwith the cluster"},"1393":{"id":"/docs/developer/programmers-guide/sessions-13","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":".... time elapses, after 'timeout' period the\ncluster expires the session, nothing is seen by client as it is\ndisconnected from cluster"},"1394":{"id":"/docs/developer/programmers-guide/sessions-14","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":".... time elapses, the client regains network\nlevel connectivity with the cluster"},"1395":{"id":"/docs/developer/programmers-guide/sessions-15","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"'expired' : eventually the client reconnects to\nthe cluster, it is then notified of the\nexpiration"},"1396":{"id":"/docs/developer/programmers-guide/sessions-16","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Another parameter to the ZooKeeper session establishment\ncall is the default watcher. Watchers are notified when any state\nchange occurs in the client. For example if the client loses\nconnectivity to the server the client will be notified, or if the\nclient's session expires, etc... This watcher should consider the\ninitial state to be disconnected (i.e. before any state changes\nevents are sent to the watcher by the client lib). In the case of\na new connection, the first event sent to the watcher is typically\nthe session connection event."},"1397":{"id":"/docs/developer/programmers-guide/sessions-17","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"The session is kept alive by requests sent by the client. If\nthe session is idle for a period of time that would timeout the\nsession, the client will send a PING request to keep the session\nalive. This PING request not only allows the ZooKeeper server to\nknow that the client is still active, but it also allows the\nclient to verify that its connection to the ZooKeeper server is\nstill active. The timing of the PING is conservative enough to\nensure reasonable time to detect a dead connection and reconnect\nto a new server."},"1398":{"id":"/docs/developer/programmers-guide/sessions-18","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Once a connection to the server is successfully established\n(connected) there are basically two cases where the client lib generates\nconnectionloss (the result code in c binding, exception in Java — see\nthe API documentation for binding specific details) when either a synchronous or\nasynchronous operation is performed and one of the following holds:"},"1399":{"id":"/docs/developer/programmers-guide/sessions-19","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"The application calls an operation on a session that is no\nlonger alive/valid"},"1400":{"id":"/docs/developer/programmers-guide/sessions-20","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"The ZooKeeper client disconnects from a server when there\nare pending operations to that server, i.e., there is a pending asynchronous call."},"1401":{"id":"/docs/developer/programmers-guide/sessions-21","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Added in 3.2.0 — SessionMovedException. There is an internal\nexception that is generally not seen by clients called the SessionMovedException.\nThis exception occurs because a request was received on a connection for a session\nwhich has been reestablished on a different server. The normal cause of this error is\na client that sends a request to a server, but the network packet gets delayed, so\nthe client times out and connects to a new server. When the delayed packet arrives at\nthe first server, the old server detects that the session has moved, and closes the\nclient connection. Clients normally do not see this error since they do not read\nfrom those old connections. (Old connections are usually closed.) One situation in which this\ncondition can be seen is when two clients try to reestablish the same connection using\na saved session id and password. One of the clients will reestablish the connection\nand the second client will be disconnected (causing the pair to attempt to re-establish\nits connection/session indefinitely)."},"1402":{"id":"/docs/developer/programmers-guide/sessions-22","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Updating the list of servers. We allow a client to\nupdate the connection string by providing a new comma separated list of host:port pairs,\neach corresponding to a ZooKeeper server. The function invokes a probabilistic load-balancing\nalgorithm which may cause the client to disconnect from its current host with the goal\nto achieve expected uniform number of connections per server in the new list.\nIn case the current host to which the client is connected is not in the new list\nthis call will always cause the connection to be dropped. Otherwise, the decision\nis based on whether the number of servers has increased or decreased and by how much."},"1403":{"id":"/docs/developer/programmers-guide/sessions-23","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"For example, if the previous connection string contained 3 hosts and now the list contains\nthese 3 hosts and 2 more hosts, 40% of clients connected to each of the 3 hosts will\nmove to one of the new hosts in order to balance the load. The algorithm will cause the client\nto drop its connection to the current host to which it is connected with probability 0.4 and in this\ncase cause the client to connect to one of the 2 new hosts, chosen at random."},"1404":{"id":"/docs/developer/programmers-guide/sessions-24","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Another example — suppose we have 5 hosts and now update the list to remove 2 of the hosts,\nthe clients connected to the 3 remaining hosts will stay connected, whereas all clients connected\nto the 2 removed hosts will need to move to one of the 3 hosts, chosen at random. If the connection\nis dropped, the client moves to a special mode where he chooses a new server to connect to using the\nprobabilistic algorithm, and not just round robin."},"1405":{"id":"/docs/developer/programmers-guide/sessions-25","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"In the first example, each client decides to disconnect with probability 0.4 but once the decision is\nmade, it will try to connect to a random new server and only if it cannot connect to any of the new\nservers will it try to connect to the old ones. After finding a server, or trying all servers in the\nnew list and failing to connect, the client moves back to the normal mode of operation where it picks\nan arbitrary server from the connectString and attempts to connect to it. If that fails, it will continue\ntrying different random servers in round robin. (see above the algorithm used to initially choose a server)"},"1406":{"id":"/docs/developer/programmers-guide/sessions-26","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Local session. Added in 3.5.0, mainly implemented by ZOOKEEPER-1147."},"1407":{"id":"/docs/developer/programmers-guide/sessions-27","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Background: The creation and closing of sessions are costly in ZooKeeper because they need quorum confirmations,\nthey become the bottleneck of a ZooKeeper ensemble when it needs to handle thousands of client connections.\nSo after 3.5.0, we introduce a new type of session: local session which doesn't have a full functionality of a normal(global) session, this feature\nwill be available by turning on localSessionsEnabled."},"1408":{"id":"/docs/developer/programmers-guide/sessions-28","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"when localSessionsUpgradingEnabled is disable:"},"1409":{"id":"/docs/developer/programmers-guide/sessions-29","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Local sessions cannot create ephemeral nodes"},"1410":{"id":"/docs/developer/programmers-guide/sessions-30","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Once a local session is lost, users cannot re-establish it using the session-id/password, the session and its watches are gone for good.\nNote: Losing the tcp connection does not necessarily imply that the session is lost. If the connection can be reestablished with the same zk server\nbefore the session timeout then the client can continue (it simply cannot move to another server)."},"1411":{"id":"/docs/developer/programmers-guide/sessions-31","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"When a local session connects, the session info is only maintained on the zookeeper server that it is connected to. The leader is not aware of the creation of such a session and\nthere is no state written to disk."},"1412":{"id":"/docs/developer/programmers-guide/sessions-32","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"The pings, expiration and other session state maintenance are handled by the server which current session is connected to."},"1413":{"id":"/docs/developer/programmers-guide/sessions-33","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"when localSessionsUpgradingEnabled is enable:"},"1414":{"id":"/docs/developer/programmers-guide/sessions-34","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"A local session can be upgraded to the global session automatically."},"1415":{"id":"/docs/developer/programmers-guide/sessions-35","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"When a new session is created it is saved locally in a wrapped LocalSessionTracker. It can subsequently be upgraded\nto a global session as required (e.g. create ephemeral nodes). If an upgrade is requested the session is removed from local\ncollections while keeping the same session ID."},"1416":{"id":"/docs/developer/programmers-guide/sessions-36","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"Currently, Only the operation: create ephemeral node needs a session upgrade from local to global.\nThe reason is that the creation of ephemeral node depends heavily on a global session. If local session can create ephemeral\nnode without upgrading to global session, it will cause the data inconsistency between different nodes.\nThe leader also needs to know about the lifespan of a session in order to clean up ephemeral nodes on close/expiry.\nThis requires a global session as the local session is tied to its particular server."},"1417":{"id":"/docs/developer/programmers-guide/sessions-37","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"A session can be both a local and global session during upgrade, but the operation of upgrade cannot be called concurrently by two thread."},"1418":{"id":"/docs/developer/programmers-guide/sessions-38","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions","content":"ZooKeeperServer(Standalone) uses SessionTrackerImpl; LeaderZookeeper uses LeaderSessionTracker which holds\nSessionTrackerImpl(global) and LocalSessionTracker(if enable); FollowerZooKeeperServer and ObserverZooKeeperServer\nuse LearnerSessionTracker which holds LocalSessionTracker.\nThe UML Graph of Classes about session:"},"1419":{"id":"/docs/developer/programmers-guide/sessions-39","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions#qa-toc","content":"What's the reason for having the config option to disable local session upgrade?"},"1420":{"id":"/docs/developer/programmers-guide/sessions-40","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions#qa-toc","content":"In a large deployment which wants to handle a very large number of clients, we know that clients connecting via the observers\nwhich is supposed to be local session only. So this is more like a safeguard against someone accidentally creates lots of ephemeral nodes and global sessions."},"1421":{"id":"/docs/developer/programmers-guide/sessions-41","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions#qa-toc","content":"When is the session created?"},"1422":{"id":"/docs/developer/programmers-guide/sessions-42","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions#qa-toc","content":"In the current implementation, it will try to create a local session when processing ConnectRequest and when\ncreateSession request reaches FinalRequestProcessor."},"1423":{"id":"/docs/developer/programmers-guide/sessions-43","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions#qa-toc","content":"What happens if the create for session is sent at server A and the client disconnects to some other server B\nwhich ends up sending it again and then disconnects and connects back to server A?"},"1424":{"id":"/docs/developer/programmers-guide/sessions-44","page_id":"/docs/developer/programmers-guide/sessions","tags":[],"type":"text","url":"/docs/developer/programmers-guide/sessions#qa-toc","content":"When a client reconnects to B, its sessionId won’t exist in B’s local session tracker. So B will send validation packet.\nIf CreateSession issued by A is committed before validation packet arrive the client will be able to connect.\nOtherwise, the client will get session expired because the quorum hasn’t know about this session yet.\nIf the client also tries to connect back to A again, the session is already removed from local session tracker.\nSo A will need to send a validation packet to the leader. The outcome should be the same as B depending on the timing of the request."},"1425":{"id":"/docs/developer/programmers-guide/watches","page_id":"/docs/developer/programmers-guide/watches","type":"page","content":"Watches","breadcrumbs":["Multi-Page Documentation","Developer","Programmer's Guide"],"tags":[],"url":"/docs/developer/programmers-guide/watches"},"1426":{"id":"/docs/developer/programmers-guide/watches-0","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches","content":"Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal."},"1427":{"id":"/docs/developer/programmers-guide/watches-1","page_id":"/docs/developer/programmers-guide/watches","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/watches#semantics-of-watches","content":"Semantics of Watches"},"1428":{"id":"/docs/developer/programmers-guide/watches-2","page_id":"/docs/developer/programmers-guide/watches","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/watches#persistent-recursive-watches","content":"Persistent, Recursive Watches"},"1429":{"id":"/docs/developer/programmers-guide/watches-3","page_id":"/docs/developer/programmers-guide/watches","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/watches#remove-watches","content":"Remove Watches"},"1430":{"id":"/docs/developer/programmers-guide/watches-4","page_id":"/docs/developer/programmers-guide/watches","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/watches#what-zookeeper-guarantees-about-watches","content":"What ZooKeeper Guarantees about Watches"},"1431":{"id":"/docs/developer/programmers-guide/watches-5","page_id":"/docs/developer/programmers-guide/watches","type":"heading","tags":[],"url":"/docs/developer/programmers-guide/watches#things-to-remember-about-watches","content":"Things to Remember about Watches"},"1432":{"id":"/docs/developer/programmers-guide/watches-6","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches","content":"All of the read operations in ZooKeeper - getData(), getChildren(), and exists() - have the option of setting a watch as a\nside effect. Here is ZooKeeper's definition of a watch: a watch event is\none-time trigger, sent to the client that set the watch, which occurs when\nthe data for which the watch was set changes. There are three key points\nto consider in this definition of a watch:"},"1433":{"id":"/docs/developer/programmers-guide/watches-7","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches","content":"One-time trigger\nOne watch event will be sent to the client when the data has changed.\nFor example, if a client does a getData(\"/znode1\", true) and later the\ndata for /znode1 is changed or deleted, the client will get a watch\nevent for /znode1. If /znode1 changes again, no watch event will be\nsent unless the client has done another read that sets a new\nwatch."},"1434":{"id":"/docs/developer/programmers-guide/watches-8","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches","content":"Sent to the client\nThis implies that an event is on the way to the client, but may\nnot reach the client before the successful return code to the change\noperation reaches the client that initiated the change. Watches are\nsent asynchronously to watchers. ZooKeeper provides an ordering\nguarantee: a client will never see a change for which it has set a\nwatch until it first sees the watch event. Network delays or other\nfactors may cause different clients to see watches and return codes\nfrom updates at different times. The key point is that everything seen\nby the different clients will have a consistent order."},"1435":{"id":"/docs/developer/programmers-guide/watches-9","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches","content":"The data for which the watch was\nset\nThis refers to the different ways a node can change. It\nhelps to think of ZooKeeper as maintaining two lists of\nwatches: data watches and child watches. getData() and\nexists() set data watches. getChildren() sets child\nwatches. Alternatively, it may help to think of watches being\nset according to the kind of data returned. getData() and\nexists() return information about the data of the node,\nwhereas getChildren() returns a list of children. Thus,\nsetData() will trigger data watches for the znode being set\n(assuming the set is successful). A successful create() will\ntrigger a data watch for the znode being created and a child\nwatch for the parent znode. A successful delete() will trigger\nboth a data watch and a child watch (since there can be no\nmore children) for a znode being deleted as well as a child\nwatch for the parent znode."},"1436":{"id":"/docs/developer/programmers-guide/watches-10","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches","content":"Watches are maintained locally at the ZooKeeper server to which the\nclient is connected. This allows watches to be lightweight to set,\nmaintain, and dispatch. When a client connects to a new server, the watch\nwill be triggered for any session events. Watches will not be received\nwhile disconnected from a server. When a client reconnects, any previously\nregistered watches will be reregistered and triggered if needed. In\ngeneral this all occurs transparently. There is one case where a watch\nmay be missed: a watch for the existence of a znode not yet created will\nbe missed if the znode is created and deleted while disconnected."},"1437":{"id":"/docs/developer/programmers-guide/watches-11","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches","content":"New in 3.6.0: Clients can also set\npermanent, recursive watches on a znode that are not removed when triggered\nand that trigger for changes on the registered znode as well as any children\nznodes recursively."},"1438":{"id":"/docs/developer/programmers-guide/watches-12","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#semantics-of-watches","content":"We can set watches with the three calls that read the state of\nZooKeeper: exists, getData, and getChildren. The following list details\nthe events that a watch can trigger and the calls that enable them:"},"1439":{"id":"/docs/developer/programmers-guide/watches-13","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#semantics-of-watches","content":"Created event:\nEnabled with a call to exists."},"1440":{"id":"/docs/developer/programmers-guide/watches-14","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#semantics-of-watches","content":"Deleted event:\nEnabled with a call to exists, getData, and getChildren."},"1441":{"id":"/docs/developer/programmers-guide/watches-15","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#semantics-of-watches","content":"Changed event:\nEnabled with a call to exists and getData."},"1442":{"id":"/docs/developer/programmers-guide/watches-16","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#semantics-of-watches","content":"Child event:\nEnabled with a call to getChildren."},"1443":{"id":"/docs/developer/programmers-guide/watches-17","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#persistent-recursive-watches","content":"New in 3.6.0: There is now a variation on the standard\nwatch described above whereby you can set a watch that does not get removed when triggered.\nAdditionally, these watches trigger the event types NodeCreated, NodeDeleted, and NodeDataChanged\nand, optionally, recursively for all znodes starting at the znode that the watch is registered for. Note\nthat NodeChildrenChanged events are not triggered for persistent recursive watches as it would be redundant."},"1444":{"id":"/docs/developer/programmers-guide/watches-18","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#persistent-recursive-watches","content":"Persistent watches are set using the method addWatch(). The triggering semantics and guarantees\n(other than one-time triggering) are the same as standard watches. The only exception regarding events is that\nrecursive persistent watchers never trigger child changed events as they are redundant.\nPersistent watches are removed using removeWatches() with watcher type WatcherType.Any."},"1445":{"id":"/docs/developer/programmers-guide/watches-19","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#remove-watches","content":"We can remove the watches registered on a znode with a call to\nremoveWatches. Also, a ZooKeeper client can remove watches locally even\nif there is no server connection by setting the local flag to true. The\nfollowing list details the events which will be triggered after the\nsuccessful watch removal."},"1446":{"id":"/docs/developer/programmers-guide/watches-20","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#remove-watches","content":"Child Remove event:\nWatcher which was added with a call to getChildren."},"1447":{"id":"/docs/developer/programmers-guide/watches-21","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#remove-watches","content":"Data Remove event:\nWatcher which was added with a call to exists or getData."},"1448":{"id":"/docs/developer/programmers-guide/watches-22","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#remove-watches","content":"Persistent Remove event:\nWatcher which was added with a call to add a persistent watch."},"1449":{"id":"/docs/developer/programmers-guide/watches-23","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#what-zookeeper-guarantees-about-watches","content":"With regard to watches, ZooKeeper maintains these\nguarantees:"},"1450":{"id":"/docs/developer/programmers-guide/watches-24","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#what-zookeeper-guarantees-about-watches","content":"Watches are ordered with respect to other events, other\nwatches, and asynchronous replies. The ZooKeeper client libraries\nensures that everything is dispatched in order."},"1451":{"id":"/docs/developer/programmers-guide/watches-25","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#what-zookeeper-guarantees-about-watches","content":"A client will see a watch event for a znode it is watching\nbefore seeing the new data that corresponds to that znode."},"1452":{"id":"/docs/developer/programmers-guide/watches-26","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#what-zookeeper-guarantees-about-watches","content":"The order of watch events from ZooKeeper corresponds to the\norder of the updates as seen by the ZooKeeper service."},"1453":{"id":"/docs/developer/programmers-guide/watches-27","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#things-to-remember-about-watches","content":"Standard watches are one time triggers; if you get a watch event and\nyou want to get notified of future changes, you must set another\nwatch."},"1454":{"id":"/docs/developer/programmers-guide/watches-28","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#things-to-remember-about-watches","content":"Because standard watches are one time triggers and there is latency\nbetween getting the event and sending a new request to get a watch\nyou cannot reliably see every change that happens to a node in\nZooKeeper. Be prepared to handle the case where the znode changes\nmultiple times between getting the event and setting the watch\nagain. (You may not care, but at least realize it may\nhappen.)"},"1455":{"id":"/docs/developer/programmers-guide/watches-29","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#things-to-remember-about-watches","content":"A watch object, or function/context pair, will only be\ntriggered once for a given notification. For example, if the same\nwatch object is registered for an exists and a getData call for the\nsame file and that file is then deleted, the watch object would\nonly be invoked once with the deletion notification for the file."},"1456":{"id":"/docs/developer/programmers-guide/watches-30","page_id":"/docs/developer/programmers-guide/watches","tags":[],"type":"text","url":"/docs/developer/programmers-guide/watches#things-to-remember-about-watches","content":"When you disconnect from a server (for example, when the\nserver fails), you will not get any watches until the connection\nis reestablished. For this reason session events are sent to all\noutstanding watch handlers. Use session events to go into a safe\nmode: you will not be receiving events while disconnected, so your\nprocess should act conservatively in that mode."},"1457":{"id":"/docs/developer/recipes","page_id":"/docs/developer/recipes","type":"page","content":"Recipes and Solutions","breadcrumbs":["Multi-Page Documentation","Developer"],"tags":[],"url":"/docs/developer/recipes"},"1458":{"id":"/docs/developer/recipes-0","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes","content":"Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election."},"1459":{"id":"/docs/developer/recipes-1","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#a-guide-to-creating-higher-level-constructs-with-zookeeper","content":"A Guide to Creating Higher-level Constructs with ZooKeeper"},"1460":{"id":"/docs/developer/recipes-2","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#important-note-about-error-handling","content":"Important Note About Error Handling"},"1461":{"id":"/docs/developer/recipes-3","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#out-of-the-box-applications-name-service-configuration-group-membership","content":"Out of the Box Applications: Name Service, Configuration, Group Membership"},"1462":{"id":"/docs/developer/recipes-4","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#barriers","content":"Barriers"},"1463":{"id":"/docs/developer/recipes-5","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#double-barriers","content":"Double Barriers"},"1464":{"id":"/docs/developer/recipes-6","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#queues","content":"Queues"},"1465":{"id":"/docs/developer/recipes-7","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#priority-queues","content":"Priority Queues"},"1466":{"id":"/docs/developer/recipes-8","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#locks","content":"Locks"},"1467":{"id":"/docs/developer/recipes-9","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#recoverable-errors-and-the-guid","content":"Recoverable Errors and the GUID"},"1468":{"id":"/docs/developer/recipes-10","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#shared-locks","content":"Shared Locks"},"1469":{"id":"/docs/developer/recipes-11","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#revocable-shared-locks","content":"Revocable Shared Locks"},"1470":{"id":"/docs/developer/recipes-12","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#two-phased-commit","content":"Two-phased Commit"},"1471":{"id":"/docs/developer/recipes-13","page_id":"/docs/developer/recipes","type":"heading","tags":[],"url":"/docs/developer/recipes#leader-election","content":"Leader Election"},"1472":{"id":"/docs/developer/recipes-14","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#a-guide-to-creating-higher-level-constructs-with-zookeeper","content":"In this article, you'll find guidelines for using\nZooKeeper to implement higher order functions. All of them are conventions\nimplemented at the client and do not require special support from\nZooKeeper. Hopefully the community will capture these conventions in client-side libraries\nto ease their use and to encourage standardization."},"1473":{"id":"/docs/developer/recipes-15","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#a-guide-to-creating-higher-level-constructs-with-zookeeper","content":"One of the most interesting things about ZooKeeper is that even\nthough ZooKeeper uses asynchronous notifications, you\ncan use it to build synchronous consistency\nprimitives, such as queues and locks. As you will see, this is possible\nbecause ZooKeeper imposes an overall order on updates, and has mechanisms\nto expose this ordering."},"1474":{"id":"/docs/developer/recipes-16","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#a-guide-to-creating-higher-level-constructs-with-zookeeper","content":"Note that the recipes below attempt to employ best practices. In\nparticular, they avoid polling, timers or anything else that would result\nin a \"herd effect\", causing bursts of traffic and limiting\nscalability."},"1475":{"id":"/docs/developer/recipes-17","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#a-guide-to-creating-higher-level-constructs-with-zookeeper","content":"There are many useful functions that can be imagined that aren't\nincluded here - revocable read-write priority locks, as just one example.\nAnd some of the constructs mentioned here - locks, in particular -\nillustrate certain points, even though you may find other constructs, such\nas event handles or queues, a more practical means of performing the same\nfunction. In general, the examples in this section are designed to\nstimulate thought."},"1476":{"id":"/docs/developer/recipes-18","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#important-note-about-error-handling","content":"When implementing the recipes you must handle recoverable exceptions\n(see the FAQ). In\nparticular, several of the recipes employ sequential ephemeral\nnodes. When creating a sequential ephemeral node there is an error case in\nwhich the create() succeeds on the server but the server crashes before\nreturning the name of the node to the client. When the client reconnects its\nsession is still valid and, thus, the node is not removed. The implication is\nthat it is difficult for the client to know if its node was created or not. The\nrecipes below include measures to handle this."},"1477":{"id":"/docs/developer/recipes-19","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#out-of-the-box-applications-name-service-configuration-group-membership","content":"Name service and configuration are two of the primary applications\nof ZooKeeper. These two functions are provided directly by the ZooKeeper\nAPI."},"1478":{"id":"/docs/developer/recipes-20","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#out-of-the-box-applications-name-service-configuration-group-membership","content":"Another function directly provided by ZooKeeper is group\nmembership. The group is represented by a node. Members of the\ngroup create ephemeral nodes under the group node. Nodes of the members\nthat fail abnormally will be removed automatically when ZooKeeper detects\nthe failure."},"1479":{"id":"/docs/developer/recipes-21","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#barriers","content":"Distributed systems use barriers\nto block processing of a set of nodes until a condition is met\nat which time all the nodes are allowed to proceed. Barriers are\nimplemented in ZooKeeper by designating a barrier node. The\nbarrier is in place if the barrier node exists. Here's the\npseudo code:"},"1480":{"id":"/docs/developer/recipes-22","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#barriers","content":"Client calls the ZooKeeper API's exists() function on the barrier node, with\nwatch set to true."},"1481":{"id":"/docs/developer/recipes-23","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#barriers","content":"If exists() returns false, the\nbarrier is gone and the client proceeds"},"1482":{"id":"/docs/developer/recipes-24","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#barriers","content":"Else, if exists() returns true,\nthe clients wait for a watch event from ZooKeeper for the barrier\nnode."},"1483":{"id":"/docs/developer/recipes-25","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#barriers","content":"When the watch event is triggered, the client reissues the\nexists( ) call, again waiting until\nthe barrier node is removed."},"1484":{"id":"/docs/developer/recipes-26","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"Double barriers enable clients to synchronize the beginning and\nthe end of a computation. When enough processes have joined the barrier,\nprocesses start their computation and leave the barrier once they have\nfinished. This recipe shows how to use a ZooKeeper node as a\nbarrier."},"1485":{"id":"/docs/developer/recipes-27","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"The pseudo code in this recipe represents the barrier node as\nb. Every client process p\nregisters with the barrier node on entry and unregisters when it is\nready to leave. A node registers with the barrier node via the Enter procedure below, it waits until\nx client process register before proceeding with\nthe computation. (The x here is up to you to\ndetermine for your system.)"},"1486":{"id":"/docs/developer/recipes-28","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"Enter"},"1487":{"id":"/docs/developer/recipes-29","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"Leave"},"1488":{"id":"/docs/developer/recipes-30","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"1. Create a name n = _b+“/”+_p**"},"1489":{"id":"/docs/developer/recipes-31","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"1. L = getChildren(b, false)"},"1490":{"id":"/docs/developer/recipes-32","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"2. Set watch: exists(b + ‘‘/ready’’, true)"},"1491":{"id":"/docs/developer/recipes-33","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"2. if no children, exit"},"1492":{"id":"/docs/developer/recipes-34","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"3. Create child: create(n, EPHEMERAL)"},"1493":{"id":"/docs/developer/recipes-35","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"3. if p is only process node in L, delete(n) and exit"},"1494":{"id":"/docs/developer/recipes-36","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"4. L = getChildren(b, false)"},"1495":{"id":"/docs/developer/recipes-37","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"4. if p is the lowest process node in L, wait on highest process node in L"},"1496":{"id":"/docs/developer/recipes-38","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"5. if fewer children in L thanx, wait for watch event"},"1497":{"id":"/docs/developer/recipes-39","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"5. else **delete(n)**if still exists and wait on lowest process node in L"},"1498":{"id":"/docs/developer/recipes-40","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"6. else create(b + ‘‘/ready’’, REGULAR)"},"1499":{"id":"/docs/developer/recipes-41","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"6. goto 1"},"1500":{"id":"/docs/developer/recipes-42","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"On entering, all processes watch on a ready node and\ncreate an ephemeral node as a child of the barrier node. Each process\nbut the last enters the barrier and waits for the ready node to appear\nat line 5. The process that creates the xth node, the last process, will\nsee x nodes in the list of children and create the ready node, waking up\nthe other processes. Note that waiting processes wake up only when it is\ntime to exit, so waiting is efficient."},"1501":{"id":"/docs/developer/recipes-43","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"On exit, you can't use a flag such as ready\nbecause you are watching for process nodes to go away. By using\nephemeral nodes, processes that fail after the barrier has been entered\ndo not prevent correct processes from finishing. When processes are\nready to leave, they need to delete their process nodes and wait for all\nother processes to do the same."},"1502":{"id":"/docs/developer/recipes-44","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#double-barriers","content":"Processes exit when there are no process nodes left as children of\nb. However, as an efficiency, you can use the\nlowest process node as the ready flag. All other processes that are\nready to exit watch for the lowest existing process node to go away, and\nthe owner of the lowest process watches for any other process node\n(picking the highest for simplicity) to go away. This means that only a\nsingle process wakes up on each node deletion except for the last node,\nwhich wakes up everyone when it is removed."},"1503":{"id":"/docs/developer/recipes-45","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#queues","content":"Distributed queues are a common data structure. To implement a\ndistributed queue in ZooKeeper, first designate a znode to hold the queue,\nthe queue node. The distributed clients put something into the queue by\ncalling create() with a pathname ending in \"queue-\", with the\nsequence and ephemeral flags in\nthe create() call set to true. Because the sequence\nflag is set, the new pathname will have the form\npath-to-queue-node/queue-X, where X is a monotonic increasing number. A\nclient that wants to be removed from the queue calls ZooKeeper's getChildren( ) function, with\nwatch set to true on the queue node, and begins\nprocessing nodes with the lowest number. The client does not need to issue\nanother getChildren( ) until it exhausts\nthe list obtained from the first getChildren(\n) call. If there are no children in the queue node, the\nreader waits for a watch notification to check the queue again."},"1504":{"id":"/docs/developer/recipes-46","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#queues","content":"type: info"},"1505":{"id":"/docs/developer/recipes-47","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#queues","content":"There now exists a Queue implementation in ZooKeeper recipes directory. This\nis distributed with the release -- zookeeper-recipes/zookeeper-recipes-queue\ndirectory of the release artifact."},"1506":{"id":"/docs/developer/recipes-48","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#priority-queues","content":"To implement a priority queue, you need only make two simple\nchanges to the generic queue\nrecipe . First, to add to a queue, the pathname ends with\n\"queue-YY\" where YY is the priority of the element with lower numbers\nrepresenting higher priority (just like UNIX). Second, when removing\nfrom the queue, a client uses an up-to-date children list meaning that\nthe client will invalidate previously obtained children lists if a watch\nnotification triggers for the queue node."},"1507":{"id":"/docs/developer/recipes-49","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"Fully distributed locks that are globally synchronous, meaning at\nany snapshot in time no two clients think they hold the same lock. These\ncan be implemented using ZooKeeper. As with priority queues, first define\na lock node."},"1508":{"id":"/docs/developer/recipes-50","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"type: info"},"1509":{"id":"/docs/developer/recipes-51","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"There now exists a Lock implementation in ZooKeeper recipes directory. This is\ndistributed with the release -- zookeeper-recipes/zookeeper-recipes-lock\ndirectory of the release artifact."},"1510":{"id":"/docs/developer/recipes-52","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"Clients wishing to obtain a lock do the following:"},"1511":{"id":"/docs/developer/recipes-53","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"Call create( ) with a pathname\nof \"locknode/guid-lock-\" and the sequence and\nephemeral flags set. The guid\nis needed in case the create() result is missed. See the note below."},"1512":{"id":"/docs/developer/recipes-54","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"Call getChildren( ) on the lock\nnode without setting the watch flag (this is\nimportant to avoid the herd effect)."},"1513":{"id":"/docs/developer/recipes-55","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"If the pathname created in step 1 has the lowest sequence number suffix, the\nclient has the lock and the client exits the protocol."},"1514":{"id":"/docs/developer/recipes-56","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"The client calls exists( ) with\nthe watch flag set on the path in the lock directory with the next\nlowest sequence number."},"1515":{"id":"/docs/developer/recipes-57","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"if exists( ) returns null, go\nto step 2. Otherwise, wait for a\nnotification for the pathname from the previous step before going to\nstep 2."},"1516":{"id":"/docs/developer/recipes-58","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"The unlock protocol is very simple: clients wishing to release a\nlock simply delete the node they created in step 1."},"1517":{"id":"/docs/developer/recipes-59","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"Here are a few things to notice:"},"1518":{"id":"/docs/developer/recipes-60","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"The removal of a node will only cause one client to wake up\nsince each node is watched by exactly one client. In this way, you\navoid the herd effect."},"1519":{"id":"/docs/developer/recipes-61","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"There is no polling or timeouts."},"1520":{"id":"/docs/developer/recipes-62","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#locks","content":"Because of the way you implement locking, it is easy to see the\namount of lock contention, break locks, debug locking problems,\netc."},"1521":{"id":"/docs/developer/recipes-63","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#recoverable-errors-and-the-guid","content":"If a recoverable error occurs calling create() the\nclient should call getChildren() and check for a node\ncontaining the guid used in the path name.\nThis handles the case (noted above) of\nthe create() succeeding on the server but the server crashing before returning the name\nof the new node."},"1522":{"id":"/docs/developer/recipes-64","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"You can implement shared locks by with a few changes to the lock\nprotocol:"},"1523":{"id":"/docs/developer/recipes-65","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"Obtaining a read lock:"},"1524":{"id":"/docs/developer/recipes-66","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"Obtaining a write lock:"},"1525":{"id":"/docs/developer/recipes-67","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"1. Call create( ) to create a node with pathname \"guid-/read-\". This is the lock node use later in the protocol. Make sure to set both the sequence and ephemeral flags."},"1526":{"id":"/docs/developer/recipes-68","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"1. Call create( ) to create a node with pathname \"guid-/write-\". This is the lock node spoken of later in the protocol. Make sure to set both sequence and ephemeral flags."},"1527":{"id":"/docs/developer/recipes-69","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"2. Call getChildren( ) on the lock node without setting the watch flag - this is important, as it avoids the herd effect."},"1528":{"id":"/docs/developer/recipes-70","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"2. Call getChildren( ) on the lock node without setting the watch flag - this is important, as it avoids the herd effect."},"1529":{"id":"/docs/developer/recipes-71","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"3. If there are no children with a pathname starting with \"write-\" and having a lower sequence number than the node created in step 1, the client has the lock and can exit the protocol."},"1530":{"id":"/docs/developer/recipes-72","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"3. If there are no children with a lower sequence number than the node created in step 1, the client has the lock and the client exits the protocol."},"1531":{"id":"/docs/developer/recipes-73","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"4. Otherwise, call exists( ), with watch flag, set on the node in lock directory with pathname starting with \"write-\" having the next lowest sequence number."},"1532":{"id":"/docs/developer/recipes-74","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"4. Call exists( ), with watch flag set, on the node with the pathname that has the next lowest sequence number."},"1533":{"id":"/docs/developer/recipes-75","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"5. If exists( ) returns false, goto step 2."},"1534":{"id":"/docs/developer/recipes-76","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"5. If exists( ) returns false, goto step 2. Otherwise, wait for a notification for the pathname from the previous step before going to step 2."},"1535":{"id":"/docs/developer/recipes-77","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"6. Otherwise, wait for a notification for the pathname from the previous step before going to step 2"},"1536":{"id":"/docs/developer/recipes-78","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"Notes:"},"1537":{"id":"/docs/developer/recipes-79","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"It might appear that this recipe creates a herd effect:\nwhen there is a large group of clients waiting for a read\nlock, and all getting notified more or less simultaneously\nwhen the \"write-\" node with the lowest\nsequence number is deleted. In fact. that's valid behavior:\nas all those waiting reader clients should be released since\nthey have the lock. The herd effect refers to releasing a\n\"herd\" when in fact only a single or a small number of\nmachines can proceed."},"1538":{"id":"/docs/developer/recipes-80","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#shared-locks","content":"See the note for Locks on how to use the guid in the node."},"1539":{"id":"/docs/developer/recipes-81","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#revocable-shared-locks","content":"With minor modifications to the Shared Lock protocol, you make\nshared locks revocable by modifying the shared lock protocol:"},"1540":{"id":"/docs/developer/recipes-82","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#revocable-shared-locks","content":"In step 1, of both obtain reader\nand writer lock protocols, call getData(\n) with watch set, immediately after the\ncall to create( ). If the client\nsubsequently receives notification for the node it created in step\n1, it does another getData( ) on that node, with\nwatch set and looks for the string \"unlock\", which\nsignals to the client that it must release the lock. This is because,\naccording to this shared lock protocol, you can request the client with\nthe lock give up the lock by calling setData() on the lock node, writing \"unlock\" to that node."},"1541":{"id":"/docs/developer/recipes-83","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#revocable-shared-locks","content":"Note that this protocol requires the lock holder to consent to\nreleasing the lock. Such consent is important, especially if the lock\nholder needs to do some processing before releasing the lock. Of course\nyou can always implement Revocable Shared Locks with Freaking\nLaser Beams by stipulating in your protocol that the revoker\nis allowed to delete the lock node if after some length of time the lock\nisn't deleted by the lock holder."},"1542":{"id":"/docs/developer/recipes-84","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#two-phased-commit","content":"A two-phase commit protocol is an algorithm that lets all clients in\na distributed system agree either to commit a transaction or abort."},"1543":{"id":"/docs/developer/recipes-85","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#two-phased-commit","content":"In ZooKeeper, you can implement a two-phased commit by having a\ncoordinator create a transaction node, say \"/app/Tx\", and one child node\nper participating site, say \"/app/Tx/s_i\". When coordinator creates the\nchild node, it leaves the content undefined. Once each site involved in\nthe transaction receives the transaction from the coordinator, the site\nreads each child node and sets a watch. Each site then processes the query\nand votes \"commit\" or \"abort\" by writing to its respective node. Once the\nwrite completes, the other sites are notified, and as soon as all sites\nhave all votes, they can decide either \"abort\" or \"commit\". Note that a\nnode can decide \"abort\" earlier if some site votes for \"abort\"."},"1544":{"id":"/docs/developer/recipes-86","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#two-phased-commit","content":"An interesting aspect of this implementation is that the only role\nof the coordinator is to decide upon the group of sites, to create the\nZooKeeper nodes, and to propagate the transaction to the corresponding\nsites. In fact, even propagating the transaction can be done through\nZooKeeper by writing it in the transaction node."},"1545":{"id":"/docs/developer/recipes-87","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#two-phased-commit","content":"There are two important drawbacks of the approach described above.\nOne is the message complexity, which is O(n²). The second is the\nimpossibility of detecting failures of sites through ephemeral nodes. To\ndetect the failure of a site using ephemeral nodes, it is necessary that\nthe site create the node."},"1546":{"id":"/docs/developer/recipes-88","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#two-phased-commit","content":"To solve the first problem, you can have only the coordinator\nnotified of changes to the transaction nodes, and then notify the sites\nonce coordinator reaches a decision. Note that this approach is scalable,\nbut it is slower too, as it requires all communication to go through the\ncoordinator."},"1547":{"id":"/docs/developer/recipes-89","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#two-phased-commit","content":"To address the second problem, you can have the coordinator\npropagate the transaction to the sites, and have each site creating its\nown ephemeral node."},"1548":{"id":"/docs/developer/recipes-90","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"A simple way of doing leader election with ZooKeeper is to use the\nSEQUENCE|EPHEMERAL flags when creating\nznodes that represent \"proposals\" of clients. The idea is to have a znode,\nsay \"/election\", such that each znode creates a child znode \"/election/guid-n_\"\nwith both flags SEQUENCE|EPHEMERAL. With the sequence flag, ZooKeeper\nautomatically appends a sequence number that is greater than anyone\npreviously appended to a child of \"/election\". The process that created\nthe znode with the smallest appended sequence number is the leader."},"1549":{"id":"/docs/developer/recipes-91","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"That's not all, though. It is important to watch for failures of the\nleader, so that a new client arises as the new leader in the case the\ncurrent leader fails. A trivial solution is to have all application\nprocesses watching upon the current smallest znode, and checking if they\nare the new leader when the smallest znode goes away (note that the\nsmallest znode will go away if the leader fails because the node is\nephemeral). But this causes a herd effect: upon a failure of the current\nleader, all other processes receive a notification, and execute\ngetChildren on \"/election\" to obtain the current list of children of\n\"/election\". If the number of clients is large, it causes a spike on the\nnumber of operations that ZooKeeper servers have to process. To avoid the\nherd effect, it is sufficient to watch for the next znode down on the\nsequence of znodes. If a client receives a notification that the znode it\nis watching is gone, then it becomes the new leader in the case that there\nis no smaller znode. Note that this avoids the herd effect by not having\nall clients watching the same znode."},"1550":{"id":"/docs/developer/recipes-92","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"Here's the pseudo code:"},"1551":{"id":"/docs/developer/recipes-93","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"Let ELECTION be a path of choice of the application. To volunteer to\nbe a leader:"},"1552":{"id":"/docs/developer/recipes-94","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"Create znode z with path \"ELECTION/guid-n_\" with both SEQUENCE and\nEPHEMERAL flags;"},"1553":{"id":"/docs/developer/recipes-95","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"Let C be the children of \"ELECTION\", and i is the sequence\nnumber of z;"},"1554":{"id":"/docs/developer/recipes-96","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"Watch for changes on \"ELECTION/guid-n_j\", where j is the largest\nsequence number such that j < i and n_j is a znode in C;"},"1555":{"id":"/docs/developer/recipes-97","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"Upon receiving a notification of znode deletion:"},"1556":{"id":"/docs/developer/recipes-98","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"Let C be the new set of children of ELECTION;"},"1557":{"id":"/docs/developer/recipes-99","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"If z is the smallest node in C, then execute leader\nprocedure;"},"1558":{"id":"/docs/developer/recipes-100","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"Otherwise, watch for changes on \"ELECTION/guid-n_j\", where j is the\nlargest sequence number such that j < i and n_j is a znode in C;"},"1559":{"id":"/docs/developer/recipes-101","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"Notes:"},"1560":{"id":"/docs/developer/recipes-102","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"Note that the znode having no preceding znode on the list of\nchildren do not imply that the creator of this znode is aware that it is\nthe current leader. Applications may consider creating a separate znode\nto acknowledge that the leader has executed the leader procedure."},"1561":{"id":"/docs/developer/recipes-103","page_id":"/docs/developer/recipes","tags":[],"type":"text","url":"/docs/developer/recipes#leader-election","content":"See the note for Locks on how to use the guid in the node."},"1562":{"id":"/docs/developer/use-cases","page_id":"/docs/developer/use-cases","type":"page","content":"Use Cases","breadcrumbs":["Multi-Page Documentation","Developer"],"tags":[],"url":"/docs/developer/use-cases"},"1563":{"id":"/docs/developer/use-cases-0","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases","content":"A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination."},"1564":{"id":"/docs/developer/use-cases-1","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#free-software-projects","content":"Free Software Projects"},"1565":{"id":"/docs/developer/use-cases-2","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#adroitlogic-ultraesb","content":"AdroitLogic UltraESB"},"1566":{"id":"/docs/developer/use-cases-3","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#akka","content":"Akka"},"1567":{"id":"/docs/developer/use-cases-4","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#eclipse-communication-framework","content":"Eclipse Communication Framework"},"1568":{"id":"/docs/developer/use-cases-5","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#eclipse-gyrex","content":"Eclipse Gyrex"},"1569":{"id":"/docs/developer/use-cases-6","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#goldenorb","content":"GoldenOrb"},"1570":{"id":"/docs/developer/use-cases-7","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#juju","content":"Juju"},"1571":{"id":"/docs/developer/use-cases-8","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#katta","content":"Katta"},"1572":{"id":"/docs/developer/use-cases-9","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#keptcollections","content":"KeptCollections"},"1573":{"id":"/docs/developer/use-cases-10","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#neo4j","content":"Neo4j"},"1574":{"id":"/docs/developer/use-cases-11","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#norbert","content":"Norbert"},"1575":{"id":"/docs/developer/use-cases-12","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#spring-cloud-zookeeper","content":"spring-cloud-zookeeper"},"1576":{"id":"/docs/developer/use-cases-13","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#spring-statemachine","content":"spring-statemachine"},"1577":{"id":"/docs/developer/use-cases-14","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#spring-xd","content":"spring-xd"},"1578":{"id":"/docs/developer/use-cases-15","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#talend-esb","content":"Talend ESB"},"1579":{"id":"/docs/developer/use-cases-16","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#redis_failover","content":"redis_failover"},"1580":{"id":"/docs/developer/use-cases-17","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-projects","content":"Apache Projects"},"1581":{"id":"/docs/developer/use-cases-18","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-accumulo","content":"Apache Accumulo"},"1582":{"id":"/docs/developer/use-cases-19","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-atlas","content":"Apache Atlas"},"1583":{"id":"/docs/developer/use-cases-20","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-bookkeeper","content":"Apache BookKeeper"},"1584":{"id":"/docs/developer/use-cases-21","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-cxf-dosgi","content":"Apache CXF DOSGi"},"1585":{"id":"/docs/developer/use-cases-22","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-drill","content":"Apache Drill"},"1586":{"id":"/docs/developer/use-cases-23","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-druid","content":"Apache Druid"},"1587":{"id":"/docs/developer/use-cases-24","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-dubbo","content":"Apache Dubbo"},"1588":{"id":"/docs/developer/use-cases-25","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-flink","content":"Apache Flink"},"1589":{"id":"/docs/developer/use-cases-26","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-flume","content":"Apache Flume"},"1590":{"id":"/docs/developer/use-cases-27","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-fluo","content":"Apache Fluo"},"1591":{"id":"/docs/developer/use-cases-28","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-griffin","content":"Apache Griffin"},"1592":{"id":"/docs/developer/use-cases-29","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-hadoop","content":"Apache Hadoop"},"1593":{"id":"/docs/developer/use-cases-30","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-hbase","content":"Apache HBase"},"1594":{"id":"/docs/developer/use-cases-31","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-helix","content":"Apache Helix"},"1595":{"id":"/docs/developer/use-cases-32","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-hive","content":"Apache Hive"},"1596":{"id":"/docs/developer/use-cases-33","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-ignite","content":"Apache Ignite"},"1597":{"id":"/docs/developer/use-cases-34","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-james-mailbox","content":"Apache James Mailbox"},"1598":{"id":"/docs/developer/use-cases-35","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-kafka","content":"Apache Kafka"},"1599":{"id":"/docs/developer/use-cases-36","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-kylin","content":"Apache Kylin"},"1600":{"id":"/docs/developer/use-cases-37","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-mesos","content":"Apache Mesos"},"1601":{"id":"/docs/developer/use-cases-38","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-oozie","content":"Apache Oozie"},"1602":{"id":"/docs/developer/use-cases-39","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-pulsar","content":"Apache Pulsar"},"1603":{"id":"/docs/developer/use-cases-40","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-solr","content":"Apache Solr"},"1604":{"id":"/docs/developer/use-cases-41","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-spark","content":"Apache Spark"},"1605":{"id":"/docs/developer/use-cases-42","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#apache-storm","content":"Apache Storm"},"1606":{"id":"/docs/developer/use-cases-43","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#companies","content":"Companies"},"1607":{"id":"/docs/developer/use-cases-44","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#ageto","content":"AGETO"},"1608":{"id":"/docs/developer/use-cases-45","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#benipal-technologies","content":"Benipal Technologies"},"1609":{"id":"/docs/developer/use-cases-46","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#box","content":"Box"},"1610":{"id":"/docs/developer/use-cases-47","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#deepdyve","content":"Deepdyve"},"1611":{"id":"/docs/developer/use-cases-48","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#facebook","content":"Facebook"},"1612":{"id":"/docs/developer/use-cases-49","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#idium-portal","content":"Idium Portal"},"1613":{"id":"/docs/developer/use-cases-50","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#makara","content":"Makara"},"1614":{"id":"/docs/developer/use-cases-51","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#midokura","content":"Midokura"},"1615":{"id":"/docs/developer/use-cases-52","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#pinterest","content":"Pinterest"},"1616":{"id":"/docs/developer/use-cases-53","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#rackspace","content":"Rackspace"},"1617":{"id":"/docs/developer/use-cases-54","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#sematext","content":"Sematext"},"1618":{"id":"/docs/developer/use-cases-55","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#tubemogul","content":"Tubemogul"},"1619":{"id":"/docs/developer/use-cases-56","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#twitter","content":"Twitter"},"1620":{"id":"/docs/developer/use-cases-57","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#vastcom","content":"Vast.com"},"1621":{"id":"/docs/developer/use-cases-58","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#wealthfront","content":"Wealthfront"},"1622":{"id":"/docs/developer/use-cases-59","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#yahoo","content":"Yahoo!"},"1623":{"id":"/docs/developer/use-cases-60","page_id":"/docs/developer/use-cases","type":"heading","tags":[],"url":"/docs/developer/use-cases#zynga","content":"Zynga"},"1624":{"id":"/docs/developer/use-cases-61","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases","content":"Applications and organizations using ZooKeeper include (alphabetically) ."},"1625":{"id":"/docs/developer/use-cases-62","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases","content":"If your use case wants to be listed here. Please do not hesitate, submit a pull request or write an email to dev@zookeeper.apache.org,\nand then, your use case will be included."},"1626":{"id":"/docs/developer/use-cases-63","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases","content":"If this documentation has violated your intellectual property rights or you and your company's privacy, write an email to dev@zookeeper.apache.org,\nwe will handle them in a timely manner."},"1627":{"id":"/docs/developer/use-cases-64","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#adroitlogic-ultraesb","content":"Uses ZooKeeper to implement node coordination, in clustering support. This allows the management of the complete cluster,\nor any specific node - from any other node connected via JMX. A Cluster wide command framework developed on top of the\nZooKeeper coordination allows commands that fail on some nodes to be retried etc. We also support the automated graceful\nround-robin-restart of a complete cluster of nodes using the same framework ."},"1628":{"id":"/docs/developer/use-cases-65","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#akka","content":"Akka is the platform for the next generation event-driven, scalable and fault-tolerant architectures on the JVM.\nOr: Akka is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on the JVM ."},"1629":{"id":"/docs/developer/use-cases-66","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#eclipse-communication-framework","content":"The Eclipse ECF project provides an implementation of its Abstract Discovery services using Zookeeper. ECF itself\nis used in many projects providing base functionality for communication, all based on OSGi ."},"1630":{"id":"/docs/developer/use-cases-67","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#eclipse-gyrex","content":"The Eclipse Gyrex project provides a platform for building your own Java OSGi based clouds."},"1631":{"id":"/docs/developer/use-cases-68","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#eclipse-gyrex","content":"ZooKeeper is used as the core cloud component for node membership and management, coordination of jobs executing among workers,\na lock service and a simple queue service and a lot more ."},"1632":{"id":"/docs/developer/use-cases-69","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#goldenorb","content":"massive-scale Graph analysis ."},"1633":{"id":"/docs/developer/use-cases-70","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#juju","content":"Service deployment and orchestration framework, formerly called Ensemble ."},"1634":{"id":"/docs/developer/use-cases-71","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#katta","content":"Katta serves distributed Lucene indexes in a grid environment."},"1635":{"id":"/docs/developer/use-cases-72","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#katta","content":"Zookeeper is used for node, master and index management in the grid ."},"1636":{"id":"/docs/developer/use-cases-73","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#keptcollections","content":"KeptCollections is a library of drop-in replacements for the data structures in the Java Collections framework."},"1637":{"id":"/docs/developer/use-cases-74","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#keptcollections","content":"KeptCollections uses Apache ZooKeeper as a backing store, thus making its data structures distributed and scalable ."},"1638":{"id":"/docs/developer/use-cases-75","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#neo4j","content":"Neo4j is a Graph Database. It's a disk based, ACID compliant transactional storage engine for big graphs and fast graph traversals,\nusing external indices like Lucene/Solr for global searches."},"1639":{"id":"/docs/developer/use-cases-76","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#neo4j","content":"We use ZooKeeper in the Neo4j High Availability components for write-master election,\nread slave coordination and other cool stuff. ZooKeeper is a great and focused project - we like! ."},"1640":{"id":"/docs/developer/use-cases-77","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#norbert","content":"Partitioned routing and cluster management ."},"1641":{"id":"/docs/developer/use-cases-78","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#spring-cloud-zookeeper","content":"Spring Cloud Zookeeper provides Apache Zookeeper integrations for Spring Boot apps through autoconfiguration\nand binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations\nyou can quickly enable and configure the common patterns inside your application and build large distributed systems with Zookeeper.\nThe patterns provided include Service Discovery and Distributed Configuration ."},"1642":{"id":"/docs/developer/use-cases-79","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#spring-statemachine","content":"Spring Statemachine is a framework for application developers to use state machine concepts with Spring applications."},"1643":{"id":"/docs/developer/use-cases-80","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#spring-statemachine","content":"Spring Statemachine can provide this feature:Distributed state machine based on a Zookeeper [31,32]."},"1644":{"id":"/docs/developer/use-cases-81","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#spring-xd","content":"Spring XD is a unified, distributed, and extensible system for data ingestion, real time analytics, batch processing, and data export.\nThe project’s goal is to simplify the development of big data applications."},"1645":{"id":"/docs/developer/use-cases-82","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#spring-xd","content":"ZooKeeper - Provides all runtime information for the XD cluster. Tracks running containers, in which containers modules\nand jobs are deployed, stream definitions, deployment manifests, and the like [30,31]."},"1646":{"id":"/docs/developer/use-cases-83","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#talend-esb","content":"Talend ESB is a versatile and flexible, enterprise service bus."},"1647":{"id":"/docs/developer/use-cases-84","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#talend-esb","content":"It uses ZooKeeper as endpoint repository of both REST and SOAP Web services.\nBy using ZooKeeper Talend ESB is able to provide failover and load balancing capabilities in a very light-weight manner ."},"1648":{"id":"/docs/developer/use-cases-85","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#redis_failover","content":"Redis Failover is a ZooKeeper-based automatic master/slave failover solution for Ruby ."},"1649":{"id":"/docs/developer/use-cases-86","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-accumulo","content":"Accumulo is a distributed key/value store that provides expressive, cell-level access labels."},"1650":{"id":"/docs/developer/use-cases-87","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-accumulo","content":"Apache ZooKeeper plays a central role within the Accumulo architecture. Its quorum consistency model supports an overall\nAccumulo architecture with no single points of failure. Beyond that, Accumulo leverages ZooKeeper to store and communication\nconfiguration information for users and tables, as well as operational states of processes and tablets ."},"1651":{"id":"/docs/developer/use-cases-88","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-atlas","content":"Atlas is a scalable and extensible set of core foundational governance services – enabling enterprises to effectively and efficiently meet\ntheir compliance requirements within Hadoop and allows integration with the whole enterprise data ecosystem."},"1652":{"id":"/docs/developer/use-cases-89","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-atlas","content":"Atlas uses Zookeeper for coordination to provide redundancy and high availability of HBase,Kafka [31,35]."},"1653":{"id":"/docs/developer/use-cases-90","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-bookkeeper","content":"A scalable, fault-tolerant, and low-latency storage service optimized for real-time workloads."},"1654":{"id":"/docs/developer/use-cases-91","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-bookkeeper","content":"BookKeeper requires a metadata storage service to store information related to ledgers and available bookies. BookKeeper currently uses\nZooKeeper for this and other tasks ."},"1655":{"id":"/docs/developer/use-cases-92","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-cxf-dosgi","content":"Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming\nAPIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP,\nor CORBA and work over a variety of transports such as HTTP, JMS or JBI."},"1656":{"id":"/docs/developer/use-cases-93","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-cxf-dosgi","content":"The Distributed OSGi implementation at Apache CXF uses ZooKeeper for its Discovery functionality ."},"1657":{"id":"/docs/developer/use-cases-94","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-drill","content":"Schema-free SQL Query Engine for Hadoop, NoSQL and Cloud Storage"},"1658":{"id":"/docs/developer/use-cases-95","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-drill","content":"ZooKeeper maintains ephemeral cluster membership information. The Drillbits use ZooKeeper to find other Drillbits in the cluster,\nand the client uses ZooKeeper to find Drillbits to submit a query ."},"1659":{"id":"/docs/developer/use-cases-96","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-druid","content":"Apache Druid is a high performance real-time analytics database."},"1660":{"id":"/docs/developer/use-cases-97","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-druid","content":"Apache Druid uses Apache ZooKeeper (ZK) for management of current cluster state. The operations that happen over ZK are :"},"1661":{"id":"/docs/developer/use-cases-98","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-druid","content":"Coordinator leader election"},"1662":{"id":"/docs/developer/use-cases-99","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-druid","content":"Segment \"publishing\" protocol from Historical and Realtime"},"1663":{"id":"/docs/developer/use-cases-100","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-druid","content":"Segment load/drop protocol between Coordinator and Historical"},"1664":{"id":"/docs/developer/use-cases-101","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-druid","content":"Overlord leader election"},"1665":{"id":"/docs/developer/use-cases-102","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-druid","content":"Overlord and MiddleManager task management"},"1666":{"id":"/docs/developer/use-cases-103","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-dubbo","content":"Apache Dubbo is a high-performance, java based open source RPC framework."},"1667":{"id":"/docs/developer/use-cases-104","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-dubbo","content":"Zookeeper is used for service registration discovery and configuration management in Dubbo ."},"1668":{"id":"/docs/developer/use-cases-105","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-flink","content":"Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams.\nFlink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale."},"1669":{"id":"/docs/developer/use-cases-106","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-flink","content":"To enable JobManager High Availability you have to set the high-availability mode to zookeeper, configure a ZooKeeper quorum and set up a masters file with all JobManagers hosts and their web UI ports.\nFlink leverages ZooKeeper for distributed coordination between all running JobManager instances. ZooKeeper is a separate service from Flink,\nwhich provides highly reliable distributed coordination via leader election and light-weight consistent state storage ."},"1670":{"id":"/docs/developer/use-cases-107","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-flume","content":"Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts\nof log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant\nwith tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model\nthat allows for online analytic application."},"1671":{"id":"/docs/developer/use-cases-108","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-flume","content":"Flume supports Agent configurations via Zookeeper. This is an experimental feature ."},"1672":{"id":"/docs/developer/use-cases-109","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-fluo","content":"Apache Fluo is a distributed processing system that lets users make incremental updates to large data sets."},"1673":{"id":"/docs/developer/use-cases-110","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-fluo","content":"Apache Fluo is built on Apache Accumulo which uses Apache Zookeeper for consensus [31,37]."},"1674":{"id":"/docs/developer/use-cases-111","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-griffin","content":"Big Data Quality Solution For Batch and Streaming."},"1675":{"id":"/docs/developer/use-cases-112","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-griffin","content":"Griffin uses Zookeeper for coordination to provide redundancy and high availability of Kafka [31,36]."},"1676":{"id":"/docs/developer/use-cases-113","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hadoop","content":"The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across\nclusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines,\neach offering local computation and storage. Rather than rely on hardware to deliver high-availability,\nthe library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures."},"1677":{"id":"/docs/developer/use-cases-114","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hadoop","content":"The implementation of automatic HDFS failover relies on ZooKeeper for the following things:"},"1678":{"id":"/docs/developer/use-cases-115","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hadoop","content":"Failure detection - each of the NameNode machines in the cluster maintains a persistent session in ZooKeeper.\nIf the machine crashes, the ZooKeeper session will expire, notifying the other NameNode that a failover should be triggered."},"1679":{"id":"/docs/developer/use-cases-116","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hadoop","content":"Active NameNode election - ZooKeeper provides a simple mechanism to exclusively elect a node as active. If the current active NameNode crashes,\nanother node may take a special exclusive lock in ZooKeeper indicating that it should become the next active."},"1680":{"id":"/docs/developer/use-cases-117","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hadoop","content":"The ZKFailoverController (ZKFC) is a new component which is a ZooKeeper client which also monitors and manages the state of the NameNode.\nEach of the machines which runs a NameNode also runs a ZKFC, and that ZKFC is responsible for:"},"1681":{"id":"/docs/developer/use-cases-118","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hadoop","content":"Health monitoring - the ZKFC pings its local NameNode on a periodic basis with a health-check command.\nSo long as the NameNode responds in a timely fashion with a healthy status, the ZKFC considers the node healthy.\nIf the node has crashed, frozen, or otherwise entered an unhealthy state, the health monitor will mark it as unhealthy."},"1682":{"id":"/docs/developer/use-cases-119","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hadoop","content":"ZooKeeper session management - when the local NameNode is healthy, the ZKFC holds a session open in ZooKeeper.\nIf the local NameNode is active, it also holds a special “lock” znode. This lock uses ZooKeeper’s support for “ephemeral” nodes;\nif the session expires, the lock node will be automatically deleted."},"1683":{"id":"/docs/developer/use-cases-120","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hadoop","content":"ZooKeeper-based election - if the local NameNode is healthy, and the ZKFC sees that no other node currently holds the lock znode,\nit will itself try to acquire the lock. If it succeeds, then it has “won the election”, and is responsible for running a failover to make its local NameNode active.\nThe failover process is similar to the manual failover described above: first, the previous active is fenced if necessary,\nand then the local NameNode transitions to active state ."},"1684":{"id":"/docs/developer/use-cases-121","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hbase","content":"HBase is the Hadoop database. It's an open-source, distributed, column-oriented store model."},"1685":{"id":"/docs/developer/use-cases-122","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hbase","content":"HBase uses ZooKeeper for master election, server lease management, bootstrapping, and coordination between servers.\nA distributed Apache HBase installation depends on a running ZooKeeper cluster. All participating nodes and clients\nneed to be able to access the running ZooKeeper ensemble ."},"1686":{"id":"/docs/developer/use-cases-123","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hbase","content":"As you can see, ZooKeeper is a fundamental part of HBase. All operations that require coordination, such as Regions\nassignment, Master-Failover, replication, and snapshots, are built on ZooKeeper ."},"1687":{"id":"/docs/developer/use-cases-124","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-helix","content":"A cluster management framework for partitioned and replicated distributed resources."},"1688":{"id":"/docs/developer/use-cases-125","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-helix","content":"We need a distributed store to maintain the state of the cluster and a notification system to notify if there is any change in the cluster state.\nHelix uses Apache ZooKeeper to achieve this functionality .\nZookeeper provides:"},"1689":{"id":"/docs/developer/use-cases-126","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-helix","content":"A way to represent PERSISTENT state which remains until its deleted"},"1690":{"id":"/docs/developer/use-cases-127","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-helix","content":"A way to represent TRANSIENT/EPHEMERAL state which vanishes when the process that created the state dies"},"1691":{"id":"/docs/developer/use-cases-128","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-helix","content":"A notification mechanism when there is a change in PERSISTENT and EPHEMERAL state"},"1692":{"id":"/docs/developer/use-cases-129","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hive","content":"The Apache Hive data warehouse software facilitates reading, writing, and managing large datasets residing in distributed\nstorage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive."},"1693":{"id":"/docs/developer/use-cases-130","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-hive","content":"Hive has been using ZooKeeper as distributed lock manager to support concurrency in HiveServer2 [25,26]."},"1694":{"id":"/docs/developer/use-cases-131","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-ignite","content":"Ignite is a memory-centric distributed database, caching, and processing platform for\ntransactional, analytical, and streaming workloads delivering in-memory speeds at petabyte scale"},"1695":{"id":"/docs/developer/use-cases-132","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-ignite","content":"Apache Ignite discovery mechanism goes with a ZooKeeper implementations which allows scaling Ignite clusters to 100s and 1000s of nodes\npreserving linear scalability and performance [31,34].​"},"1696":{"id":"/docs/developer/use-cases-133","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-james-mailbox","content":"The Apache James Mailbox is a library providing a flexible Mailbox storage accessible by mail protocols\n(IMAP4, POP3, SMTP,...) and other protocols."},"1697":{"id":"/docs/developer/use-cases-134","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-james-mailbox","content":"Uses Zookeeper and Curator Framework for generating distributed unique ID's ."},"1698":{"id":"/docs/developer/use-cases-135","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-kafka","content":"Kafka is a distributed publish/subscribe messaging system"},"1699":{"id":"/docs/developer/use-cases-136","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-kafka","content":"Apache Kafka relies on ZooKeeper for the following things:"},"1700":{"id":"/docs/developer/use-cases-137","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-kafka","content":"Controller election\nThe controller is one of the most important broking entity in a Kafka ecosystem, and it also has the responsibility\nto maintain the leader-follower relationship across all the partitions. If a node by some reason is shutting down,\nit’s the controller’s responsibility to tell all the replicas to act as partition leaders in order to fulfill the\nduties of the partition leaders on the node that is about to fail. So, whenever a node shuts down, a new controller\ncan be elected and it can also be made sure that at any given time, there is only one controller and all the follower nodes have agreed on that."},"1701":{"id":"/docs/developer/use-cases-138","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-kafka","content":"Configuration Of Topics\nThe configuration regarding all the topics including the list of existing topics, the number of partitions for each topic,\nthe location of all the replicas, list of configuration overrides for all topics and which node is the preferred leader, etc."},"1702":{"id":"/docs/developer/use-cases-139","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-kafka","content":"Access control lists\nAccess control lists or ACLs for all the topics are also maintained within Zookeeper."},"1703":{"id":"/docs/developer/use-cases-140","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-kafka","content":"Membership of the cluster\nZookeeper also maintains a list of all the brokers that are functioning at any given moment and are a part of the cluster ."},"1704":{"id":"/docs/developer/use-cases-141","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-kylin","content":"Apache Kylin is an open source Distributed Analytics Engine designed to provide SQL interface and multi-dimensional analysis (OLAP) on Hadoop/Spark supporting extremely large datasets,\noriginal contributed from eBay Inc."},"1705":{"id":"/docs/developer/use-cases-142","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-kylin","content":"Apache Kylin leverages Zookeeper for job coordination [31,33]."},"1706":{"id":"/docs/developer/use-cases-143","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-mesos","content":"Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual),\nenabling fault-tolerant and elastic distributed systems to easily be built and run effectively."},"1707":{"id":"/docs/developer/use-cases-144","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-mesos","content":"Mesos has a high-availability mode that uses multiple Mesos masters: one active master (called the leader or leading master)\nand several backups in case it fails. The masters elect the leader, with Apache ZooKeeper both coordinating the election\nand handling leader detection by masters, agents, and scheduler drivers ."},"1708":{"id":"/docs/developer/use-cases-145","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-oozie","content":"Oozie is a workflow scheduler system to manage Apache Hadoop jobs."},"1709":{"id":"/docs/developer/use-cases-146","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-oozie","content":"the Oozie servers use it for coordinating access to the database and communicating with each other. In order to have full HA,\nthere should be at least 3 ZooKeeper servers ."},"1710":{"id":"/docs/developer/use-cases-147","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-pulsar","content":"Apache Pulsar is an open-source distributed pub-sub messaging system originally created at Yahoo and now part of the Apache Software Foundation"},"1711":{"id":"/docs/developer/use-cases-148","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-pulsar","content":"Pulsar uses Apache Zookeeper for metadata storage, cluster configuration, and coordination. In a Pulsar instance:"},"1712":{"id":"/docs/developer/use-cases-149","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-pulsar","content":"A configuration store quorum stores configuration for tenants, namespaces, and other entities that need to be globally consistent."},"1713":{"id":"/docs/developer/use-cases-150","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-pulsar","content":"Each cluster has its own local ZooKeeper ensemble that stores cluster-specific configuration and coordination such as ownership metadata,\nbroker load reports, BookKeeper ledger metadata, and more ."},"1714":{"id":"/docs/developer/use-cases-151","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-solr","content":"Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene."},"1715":{"id":"/docs/developer/use-cases-152","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-solr","content":"In the \"Cloud\" edition (v4.x and up) of enterprise search engine Apache Solr, ZooKeeper is used for configuration,\nleader election and more [12,13]."},"1716":{"id":"/docs/developer/use-cases-153","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-spark","content":"Apache Spark is a unified analytics engine for large-scale data processing."},"1717":{"id":"/docs/developer/use-cases-154","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-spark","content":"Utilizing ZooKeeper to provide leader election and some state storage, you can launch multiple Masters in your cluster connected to the same ZooKeeper instance.\nOne will be elected “leader” and the others will remain in standby mode. If the current leader dies, another Master will be elected,\nrecover the old Master’s state, and then resume scheduling ."},"1718":{"id":"/docs/developer/use-cases-155","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-storm","content":"Apache Storm is a free and open source distributed realtime computation system. Apache Storm makes it easy to reliably\nprocess unbounded streams of data, doing for realtime processing what Hadoop did for batch processing.\nApache Storm is simple, can be used with any programming language, and is a lot of fun to use!"},"1719":{"id":"/docs/developer/use-cases-156","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#apache-storm","content":"Storm uses Zookeeper for coordinating the cluster ."},"1720":{"id":"/docs/developer/use-cases-157","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#ageto","content":"The AGETO RnD team uses ZooKeeper in a variety of internal as well as external consulting projects ."},"1721":{"id":"/docs/developer/use-cases-158","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#benipal-technologies","content":"ZooKeeper is used for internal application development with Solr and Hadoop with Hbase ."},"1722":{"id":"/docs/developer/use-cases-159","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#box","content":"Box uses ZooKeeper for service discovery, service coordination, Solr and Hadoop support, etc ."},"1723":{"id":"/docs/developer/use-cases-160","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#deepdyve","content":"We do search for research and provide access to high quality content using advanced search technologies Zookeeper is used to\nmanage server state, control index deployment and a myriad other tasks ."},"1724":{"id":"/docs/developer/use-cases-161","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#facebook","content":"Facebook uses the Zeus ([17,18]) for configuration management which is a forked version of ZooKeeper, with many scalability\nand performance en- hancements in order to work at the Facebook scale.\nIt runs a consensus protocol among servers distributed across mul- tiple regions for resilience. If the leader fails,\na follower is converted into a new leader."},"1725":{"id":"/docs/developer/use-cases-162","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#idium-portal","content":"Idium Portal is a hosted web-publishing system delivered by Norwegian company, Idium AS."},"1726":{"id":"/docs/developer/use-cases-163","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#idium-portal","content":"ZooKeeper is used for cluster messaging, service bootstrapping, and service coordination ."},"1727":{"id":"/docs/developer/use-cases-164","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#makara","content":"Using ZooKeeper on 2-node cluster on VMware workstation, Amazon EC2, Zen"},"1728":{"id":"/docs/developer/use-cases-165","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#makara","content":"Using zkpython"},"1729":{"id":"/docs/developer/use-cases-166","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#makara","content":"Looking into expanding into 100 node cluster ."},"1730":{"id":"/docs/developer/use-cases-167","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#midokura","content":"We do virtualized networking for the cloud computing era. We use ZooKeeper for various aspects of our distributed control plane ."},"1731":{"id":"/docs/developer/use-cases-168","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#pinterest","content":"Pinterest uses the ZooKeeper for Service discovery and dynamic configuration.Like many large scale web sites, Pinterest’s infrastructure consists of servers that communicate with\nbackend services composed of a number of individual servers for managing load and fault tolerance. Ideally, we’d like the configuration to reflect only the active hosts,\nso clients don’t need to deal with bad hosts as often. ZooKeeper provides a well known pattern to solve this problem ."},"1732":{"id":"/docs/developer/use-cases-169","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#rackspace","content":"The Email & Apps team uses ZooKeeper to coordinate sharding and responsibility changes in a distributed e-mail client\nthat pulls and indexes data for search. ZooKeeper also provides distributed locking for connections to prevent a cluster from overwhelming servers ."},"1733":{"id":"/docs/developer/use-cases-170","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#sematext","content":"Uses ZooKeeper in SPM (which includes ZooKeeper monitoring component, too!), Search Analytics, and Logsene ."},"1734":{"id":"/docs/developer/use-cases-171","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#tubemogul","content":"Uses ZooKeeper for leader election, configuration management, locking, group membership ."},"1735":{"id":"/docs/developer/use-cases-172","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#twitter","content":"ZooKeeper is used at Twitter as the source of truth for storing critical metadata. It serves as a coordination kernel to\nprovide distributed coordination services, such as leader election and distributed locking.\nSome concrete examples of ZooKeeper in action include [15,16]:"},"1736":{"id":"/docs/developer/use-cases-173","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#twitter","content":"ZooKeeper is used to store service registry, which is used by Twitter’s naming service for service discovery."},"1737":{"id":"/docs/developer/use-cases-174","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#twitter","content":"Manhattan (Twitter’s in-house key-value database), Nighthawk (sharded Redis), and Blobstore (in-house photo and video storage),\nstores its cluster topology information in ZooKeeper."},"1738":{"id":"/docs/developer/use-cases-175","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#twitter","content":"EventBus, Twitter’s pub-sub messaging system, stores critical metadata in ZooKeeper and uses ZooKeeper for leader election."},"1739":{"id":"/docs/developer/use-cases-176","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#twitter","content":"Mesos, Twitter’s compute platform, uses ZooKeeper for leader election."},"1740":{"id":"/docs/developer/use-cases-177","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#vastcom","content":"Used internally as a part of sharding services, distributed synchronization of data/index updates, configuration management and failover support ."},"1741":{"id":"/docs/developer/use-cases-178","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#wealthfront","content":"Wealthfront uses ZooKeeper for service discovery, leader election and distributed locking among its many backend services.\nZK is an essential part of Wealthfront's continuous deployment infrastructure ."},"1742":{"id":"/docs/developer/use-cases-179","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#yahoo","content":"ZooKeeper is used for a myriad of services inside Yahoo! for doing leader election, configuration management, sharding, locking, group membership etc ."},"1743":{"id":"/docs/developer/use-cases-180","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"ZooKeeper at Zynga is used for a variety of services including configuration management, leader election, sharding and more ."},"1744":{"id":"/docs/developer/use-cases-181","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy"},"1745":{"id":"/docs/developer/use-cases-182","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://www.youtube.com/watch?v=Ew53T6h9oRw"},"1746":{"id":"/docs/developer/use-cases-183","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://bookkeeper.apache.org/docs/4.7.3/getting-started/concepts/#ledgers"},"1747":{"id":"/docs/developer/use-cases-184","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"http://cxf.apache.org/dosgi-discovery-demo-page.html"},"1748":{"id":"/docs/developer/use-cases-185","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://flume.apache.org/FlumeUserGuide.html"},"1749":{"id":"/docs/developer/use-cases-186","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"http://dubbo.apache.org/en-us/blog/dubbo-zk.html"},"1750":{"id":"/docs/developer/use-cases-187","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html"},"1751":{"id":"/docs/developer/use-cases-188","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://hbase.apache.org/book.html#zookeeper"},"1752":{"id":"/docs/developer/use-cases-189","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://www.cloudkarafka.com/blog/2018-07-04-cloudkarafka_what_is_zookeeper.html"},"1753":{"id":"/docs/developer/use-cases-190","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"http://mesos.apache.org/documentation/latest/high-availability/"},"1754":{"id":"/docs/developer/use-cases-191","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"http://incubator.apache.org/projects/s4.html"},"1755":{"id":"/docs/developer/use-cases-192","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://lucene.apache.org/solr/guide/6_6/using-zookeeper-to-manage-configuration-files.html#UsingZooKeepertoManageConfigurationFiles-StartupBootstrap"},"1756":{"id":"/docs/developer/use-cases-193","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://lucene.apache.org/solr/guide/6_6/setting-up-an-external-zookeeper-ensemble.html"},"1757":{"id":"/docs/developer/use-cases-194","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://spark.apache.org/docs/latest/spark-standalone.html#standby-masters-with-zookeeper"},"1758":{"id":"/docs/developer/use-cases-195","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/zookeeper-at-twitter.html"},"1759":{"id":"/docs/developer/use-cases-196","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/dynamic-configuration-at-twitter.html"},"1760":{"id":"/docs/developer/use-cases-197","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"TANG, C., KOOBURAT, T., VENKATACHALAM, P.,CHANDER, A., WEN, Z., NARAYANAN, A., DOWELL,P., AND KARL, R. Holistic Configuration Management at Facebook. In Proceedings of the 25th Symposium on Operating System Principles (SOSP’15) (Monterey, CA,USA, Oct. 2015)."},"1761":{"id":"/docs/developer/use-cases-198","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://www.youtube.com/watch?v=SeZV373gUZc"},"1762":{"id":"/docs/developer/use-cases-199","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://medium.com/@Pinterest_Engineering/zookeeper-resilience-at-pinterest-adfd8acf2a6b"},"1763":{"id":"/docs/developer/use-cases-200","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://blog.cloudera.com/what-are-hbase-znodes/"},"1764":{"id":"/docs/developer/use-cases-201","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://helix.apache.org/Architecture.html"},"1765":{"id":"/docs/developer/use-cases-202","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"http://storm.apache.org/releases/current/Setting-up-a-Storm-cluster.html"},"1766":{"id":"/docs/developer/use-cases-203","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://ci.apache.org/projects/flink/flink-docs-release-1.9/ops/jobmanager_high_availability.html"},"1767":{"id":"/docs/developer/use-cases-204","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://pulsar.apache.org/docs/en/concepts-architecture-overview/#metadata-store"},"1768":{"id":"/docs/developer/use-cases-205","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://cwiki.apache.org/confluence/display/Hive/Locking"},"1769":{"id":"/docs/developer/use-cases-206","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"ZooKeeperHiveLockManager implementation in the hive code base"},"1770":{"id":"/docs/developer/use-cases-207","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://druid.apache.org/docs/latest/dependencies/zookeeper.html"},"1771":{"id":"/docs/developer/use-cases-208","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://mapr.com/blog/apache-drill-architecture-ultimate-guide/"},"1772":{"id":"/docs/developer/use-cases-209","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://oozie.apache.org/docs/4.1.0/AG_Install.html"},"1773":{"id":"/docs/developer/use-cases-210","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://docs.spring.io/spring-xd/docs/current/reference/html/"},"1774":{"id":"/docs/developer/use-cases-211","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://cwiki.apache.org/confluence/display/CURATOR/Powered+By"},"1775":{"id":"/docs/developer/use-cases-212","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://projects.spring.io/spring-statemachine/"},"1776":{"id":"/docs/developer/use-cases-213","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://www.tigeranalytics.com/blog/apache-kylin-architecture/"},"1777":{"id":"/docs/developer/use-cases-214","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://apacheignite.readme.io/docs/cluster-discovery"},"1778":{"id":"/docs/developer/use-cases-215","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"http://atlas.apache.org/HighAvailability.html"},"1779":{"id":"/docs/developer/use-cases-216","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"http://griffin.apache.org/docs/usecases.html"},"1780":{"id":"/docs/developer/use-cases-217","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://fluo.apache.org/"},"1781":{"id":"/docs/developer/use-cases-218","page_id":"/docs/developer/use-cases","tags":[],"type":"text","url":"/docs/developer/use-cases#zynga","content":"https://spring.io/projects/spring-cloud-zookeeper"},"1782":{"id":"/docs","page_id":"/docs","type":"page","content":"Overview","breadcrumbs":["Multi-Page Documentation","Getting Started"],"tags":[],"url":"/docs"},"1783":{"id":"/docs-0","page_id":"/docs","tags":[],"type":"text","url":"/docs","content":"Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations."},"1784":{"id":"/docs-1","page_id":"/docs","type":"heading","tags":[],"url":"/docs#zookeeper-a-distributed-coordination-service-for-distributed-applications","content":"ZooKeeper: A Distributed Coordination Service for Distributed Applications"},"1785":{"id":"/docs-2","page_id":"/docs","type":"heading","tags":[],"url":"/docs#design-goals","content":"Design Goals"},"1786":{"id":"/docs-3","page_id":"/docs","type":"heading","tags":[],"url":"/docs#data-model-and-the-hierarchical-namespace","content":"Data model and the hierarchical namespace"},"1787":{"id":"/docs-4","page_id":"/docs","type":"heading","tags":[],"url":"/docs#zookeepers-hierarchical-namespace","content":"ZooKeeper's Hierarchical Namespace"},"1788":{"id":"/docs-5","page_id":"/docs","type":"heading","tags":[],"url":"/docs#nodes-and-ephemeral-nodes","content":"Nodes and ephemeral nodes"},"1789":{"id":"/docs-6","page_id":"/docs","type":"heading","tags":[],"url":"/docs#conditional-updates-and-watches","content":"Conditional updates and watches"},"1790":{"id":"/docs-7","page_id":"/docs","type":"heading","tags":[],"url":"/docs#guarantees","content":"Guarantees"},"1791":{"id":"/docs-8","page_id":"/docs","type":"heading","tags":[],"url":"/docs#simple-api","content":"Simple API"},"1792":{"id":"/docs-9","page_id":"/docs","type":"heading","tags":[],"url":"/docs#implementation","content":"Implementation"},"1793":{"id":"/docs-10","page_id":"/docs","type":"heading","tags":[],"url":"/docs#uses","content":"Uses"},"1794":{"id":"/docs-11","page_id":"/docs","type":"heading","tags":[],"url":"/docs#performance","content":"Performance"},"1795":{"id":"/docs-12","page_id":"/docs","type":"heading","tags":[],"url":"/docs#reliability","content":"Reliability"},"1796":{"id":"/docs-13","page_id":"/docs","type":"heading","tags":[],"url":"/docs#the-zookeeper-project","content":"The ZooKeeper Project"},"1797":{"id":"/docs-14","page_id":"/docs","tags":[],"type":"text","url":"/docs#zookeeper-a-distributed-coordination-service-for-distributed-applications","content":"ZooKeeper is a distributed, open-source coordination service for\ndistributed applications. It exposes a simple set of primitives that\ndistributed applications can build upon to implement higher level services\nfor synchronization, configuration maintenance, and groups and naming. It\nis designed to be easy to program to, and uses a data model styled after\nthe familiar directory tree structure of file systems. It runs in Java and\nhas bindings for both Java and C."},"1798":{"id":"/docs-15","page_id":"/docs","tags":[],"type":"text","url":"/docs#zookeeper-a-distributed-coordination-service-for-distributed-applications","content":"Coordination services are notoriously hard to get right. They are\nespecially prone to errors such as race conditions and deadlock. The\nmotivation behind ZooKeeper is to relieve distributed applications the\nresponsibility of implementing coordination services from scratch."},"1799":{"id":"/docs-16","page_id":"/docs","tags":[],"type":"text","url":"/docs#design-goals","content":"ZooKeeper is simple. ZooKeeper\nallows distributed processes to coordinate with each other through a\nshared hierarchical namespace which is organized similarly to a standard\nfile system. The namespace consists of data registers - called znodes,\nin ZooKeeper parlance - and these are similar to files and directories.\nUnlike a typical file system, which is designed for storage, ZooKeeper\ndata is kept in-memory, which means ZooKeeper can achieve high\nthroughput and low latency numbers."},"1800":{"id":"/docs-17","page_id":"/docs","tags":[],"type":"text","url":"/docs#design-goals","content":"The ZooKeeper implementation puts a premium on high performance,\nhighly available, strictly ordered access. The performance aspects of\nZooKeeper means it can be used in large, distributed systems. The\nreliability aspects keep it from being a single point of failure. The\nstrict ordering means that sophisticated synchronization primitives can\nbe implemented at the client."},"1801":{"id":"/docs-18","page_id":"/docs","tags":[],"type":"text","url":"/docs#design-goals","content":"ZooKeeper is replicated. Like the\ndistributed processes it coordinates, ZooKeeper itself is intended to be\nreplicated over a set of hosts called an ensemble."},"1802":{"id":"/docs-19","page_id":"/docs","tags":[],"type":"text","url":"/docs#design-goals","content":"The servers that make up the ZooKeeper service must all know about\neach other. They maintain an in-memory image of state, along with a\ntransaction logs and snapshots in a persistent store. As long as a\nmajority of the servers are available, the ZooKeeper service will be\navailable."},"1803":{"id":"/docs-20","page_id":"/docs","tags":[],"type":"text","url":"/docs#design-goals","content":"Clients connect to a single ZooKeeper server. The client maintains\na TCP connection through which it sends requests, gets responses, gets\nwatch events, and sends heart beats. If the TCP connection to the server\nbreaks, the client will connect to a different server."},"1804":{"id":"/docs-21","page_id":"/docs","tags":[],"type":"text","url":"/docs#design-goals","content":"ZooKeeper is ordered. ZooKeeper\nstamps each update with a number that reflects the order of all\nZooKeeper transactions. Subsequent operations can use the order to\nimplement higher-level abstractions, such as synchronization\nprimitives."},"1805":{"id":"/docs-22","page_id":"/docs","tags":[],"type":"text","url":"/docs#design-goals","content":"ZooKeeper is fast. It is\nespecially fast in \"read-dominant\" workloads. ZooKeeper applications run\non thousands of machines, and it performs best where reads are more\ncommon than writes, at ratios of around 10:1."},"1806":{"id":"/docs-23","page_id":"/docs","tags":[],"type":"text","url":"/docs#data-model-and-the-hierarchical-namespace","content":"The namespace provided by ZooKeeper is much like that of a\nstandard file system. A name is a sequence of path elements separated by\na slash (/). Every node in ZooKeeper's namespace is identified by a\npath."},"1807":{"id":"/docs-24","page_id":"/docs","tags":[],"type":"text","url":"/docs#nodes-and-ephemeral-nodes","content":"Unlike standard file systems, each node in a ZooKeeper\nnamespace can have data associated with it as well as children. It is\nlike having a file-system that allows a file to also be a directory.\n(ZooKeeper was designed to store coordination data: status information,\nconfiguration, location information, etc., so the data stored at each\nnode is usually small, in the byte to kilobyte range.) We use the term\nznode to make it clear that we are talking about\nZooKeeper data nodes."},"1808":{"id":"/docs-25","page_id":"/docs","tags":[],"type":"text","url":"/docs#nodes-and-ephemeral-nodes","content":"Znodes maintain a stat structure that includes version numbers for\ndata changes, ACL changes, and timestamps, to allow cache validations\nand coordinated updates. Each time a znode's data changes, the version\nnumber increases. For instance, whenever a client retrieves data it also\nreceives the version of the data."},"1809":{"id":"/docs-26","page_id":"/docs","tags":[],"type":"text","url":"/docs#nodes-and-ephemeral-nodes","content":"The data stored at each znode in a namespace is read and written\natomically. Reads get all the data bytes associated with a znode and a\nwrite replaces all the data. Each node has an Access Control List (ACL)\nthat restricts who can do what."},"1810":{"id":"/docs-27","page_id":"/docs","tags":[],"type":"text","url":"/docs#nodes-and-ephemeral-nodes","content":"ZooKeeper also has the notion of ephemeral nodes. These znodes\nexists as long as the session that created the znode is active. When the\nsession ends the znode is deleted."},"1811":{"id":"/docs-28","page_id":"/docs","tags":[],"type":"text","url":"/docs#conditional-updates-and-watches","content":"ZooKeeper supports the concept of watches.\nClients can set a watch on a znode. A watch will be triggered and\nremoved when the znode changes. When a watch is triggered, the client\nreceives a packet saying that the znode has changed. If the\nconnection between the client and one of the ZooKeeper servers is\nbroken, the client will receive a local notification."},"1812":{"id":"/docs-29","page_id":"/docs","tags":[],"type":"text","url":"/docs#conditional-updates-and-watches","content":"New in 3.6.0: Clients can also set\npermanent, recursive watches on a znode that are not removed when triggered\nand that trigger for changes on the registered znode as well as any children\nznodes recursively."},"1813":{"id":"/docs-30","page_id":"/docs","tags":[],"type":"text","url":"/docs#guarantees","content":"ZooKeeper is very fast and very simple. Since its goal, though, is\nto be a basis for the construction of more complicated services, such as\nsynchronization, it provides a set of guarantees. These are:"},"1814":{"id":"/docs-31","page_id":"/docs","tags":[],"type":"text","url":"/docs#guarantees","content":"Sequential Consistency - Updates from a client will be applied\nin the order that they were sent."},"1815":{"id":"/docs-32","page_id":"/docs","tags":[],"type":"text","url":"/docs#guarantees","content":"Atomicity - Updates either succeed or fail. No partial\nresults."},"1816":{"id":"/docs-33","page_id":"/docs","tags":[],"type":"text","url":"/docs#guarantees","content":"Single System Image - A client will see the same view of the\nservice regardless of the server that it connects to. i.e., a\nclient will never see an older view of the system even if the\nclient fails over to a different server with the same session."},"1817":{"id":"/docs-34","page_id":"/docs","tags":[],"type":"text","url":"/docs#guarantees","content":"Reliability - Once an update has been applied, it will persist\nfrom that time forward until a client overwrites the update."},"1818":{"id":"/docs-35","page_id":"/docs","tags":[],"type":"text","url":"/docs#guarantees","content":"Timeliness - The clients view of the system is guaranteed to\nbe up-to-date within a certain time bound."},"1819":{"id":"/docs-36","page_id":"/docs","tags":[],"type":"text","url":"/docs#simple-api","content":"One of the design goals of ZooKeeper is providing a very simple\nprogramming interface. As a result, it supports only these\noperations:"},"1820":{"id":"/docs-37","page_id":"/docs","tags":[],"type":"text","url":"/docs#simple-api","content":"create : creates a node at a location in the tree"},"1821":{"id":"/docs-38","page_id":"/docs","tags":[],"type":"text","url":"/docs#simple-api","content":"delete : deletes a node"},"1822":{"id":"/docs-39","page_id":"/docs","tags":[],"type":"text","url":"/docs#simple-api","content":"exists : tests if a node exists at a location"},"1823":{"id":"/docs-40","page_id":"/docs","tags":[],"type":"text","url":"/docs#simple-api","content":"get data : reads the data from a node"},"1824":{"id":"/docs-41","page_id":"/docs","tags":[],"type":"text","url":"/docs#simple-api","content":"set data : writes data to a node"},"1825":{"id":"/docs-42","page_id":"/docs","tags":[],"type":"text","url":"/docs#simple-api","content":"get children : retrieves a list of children of a node"},"1826":{"id":"/docs-43","page_id":"/docs","tags":[],"type":"text","url":"/docs#simple-api","content":"sync : waits for data to be propagated"},"1827":{"id":"/docs-44","page_id":"/docs","tags":[],"type":"text","url":"/docs#implementation","content":"ZooKeeper Components shows the high-level components\nof the ZooKeeper service. With the exception of the request processor,\neach of\nthe servers that make up the ZooKeeper service replicates its own copy\nof each of the components."},"1828":{"id":"/docs-45","page_id":"/docs","tags":[],"type":"text","url":"/docs#implementation","content":"The replicated database is an in-memory database containing the\nentire data tree. Updates are logged to disk for recoverability, and\nwrites are serialized to disk before they are applied to the in-memory\ndatabase."},"1829":{"id":"/docs-46","page_id":"/docs","tags":[],"type":"text","url":"/docs#implementation","content":"Every ZooKeeper server services clients. Clients connect to\nexactly one server to submit requests. Read requests are serviced from\nthe local replica of each server database. Requests that change the\nstate of the service, write requests, are processed by an agreement\nprotocol."},"1830":{"id":"/docs-47","page_id":"/docs","tags":[],"type":"text","url":"/docs#implementation","content":"As part of the agreement protocol all write requests from clients\nare forwarded to a single server, called the\nleader. The rest of the ZooKeeper servers, called\nfollowers, receive message proposals from the\nleader and agree upon message delivery. The messaging layer takes care\nof replacing leaders on failures and syncing followers with\nleaders."},"1831":{"id":"/docs-48","page_id":"/docs","tags":[],"type":"text","url":"/docs#implementation","content":"ZooKeeper uses a custom atomic messaging protocol. Since the\nmessaging layer is atomic, ZooKeeper can guarantee that the local\nreplicas never diverge. When the leader receives a write request, it\ncalculates what the state of the system is when the write is to be\napplied and transforms this into a transaction that captures this new\nstate."},"1832":{"id":"/docs-49","page_id":"/docs","tags":[],"type":"text","url":"/docs#uses","content":"The programming interface to ZooKeeper is deliberately simple.\nWith it, however, you can implement higher order operations, such as\nsynchronizations primitives, group membership, ownership, etc."},"1833":{"id":"/docs-50","page_id":"/docs","tags":[],"type":"text","url":"/docs#performance","content":"ZooKeeper is designed to be highly performance. But is it? The\nresults of the ZooKeeper's development team at Yahoo! Research indicate\nthat it is. It is especially high\nperformance in applications where reads outnumber writes, since writes\ninvolve synchronizing the state of all servers. (Reads outnumbering\nwrites is typically the case for a coordination service.)"},"1834":{"id":"/docs-51","page_id":"/docs","tags":[],"type":"text","url":"/docs#performance","content":"The \"ZooKeeper Throughput as the Read-Write Ratio Varies\" is a throughput\ngraph of ZooKeeper release 3.2 running on servers with dual 2Ghz\nXeon and two SATA 15K RPM drives. One drive was used as a\ndedicated ZooKeeper log device. The snapshots were written to\nthe OS drive. Write requests were 1K writes and the reads were\n1K reads. \"Servers\" indicate the size of the ZooKeeper\nensemble, the number of servers that make up the\nservice. Approximately 30 other servers were used to simulate\nthe clients. The ZooKeeper ensemble was configured such that\nleaders do not allow connections from clients."},"1835":{"id":"/docs-52","page_id":"/docs","tags":[],"type":"text","url":"/docs#performance","content":"type: info"},"1836":{"id":"/docs-53","page_id":"/docs","tags":[],"type":"text","url":"/docs#performance","content":"In version 3.2 r/w performance improved by ~2x compared to"},"1837":{"id":"/docs-54","page_id":"/docs","tags":[],"type":"text","url":"/docs#performance","content":"the previous 3.1 release."},"1838":{"id":"/docs-55","page_id":"/docs","tags":[],"type":"text","url":"/docs#performance","content":"Benchmarks also indicate that it is reliable, too.\nReliability in the Presence of Errors shows how a deployment responds to\nvarious failures. The events marked in the figure are the following:"},"1839":{"id":"/docs-56","page_id":"/docs","tags":[],"type":"text","url":"/docs#performance","content":"Failure and recovery of a follower"},"1840":{"id":"/docs-57","page_id":"/docs","tags":[],"type":"text","url":"/docs#performance","content":"Failure and recovery of a different follower"},"1841":{"id":"/docs-58","page_id":"/docs","tags":[],"type":"text","url":"/docs#performance","content":"Failure of the leader"},"1842":{"id":"/docs-59","page_id":"/docs","tags":[],"type":"text","url":"/docs#performance","content":"Failure and recovery of two followers"},"1843":{"id":"/docs-60","page_id":"/docs","tags":[],"type":"text","url":"/docs#performance","content":"Failure of another leader"},"1844":{"id":"/docs-61","page_id":"/docs","tags":[],"type":"text","url":"/docs#reliability","content":"To show the behavior of the system over time as\nfailures are injected we ran a ZooKeeper service made up of\n7 machines. We ran the same saturation benchmark as before,\nbut this time we kept the write percentage at a constant\n30%, which is a conservative ratio of our expected\nworkloads."},"1845":{"id":"/docs-62","page_id":"/docs","tags":[],"type":"text","url":"/docs#reliability","content":"There are a few important observations from this graph. First, if\nfollowers fail and recover quickly, then ZooKeeper is able to sustain a\nhigh throughput despite the failure. But maybe more importantly, the\nleader election algorithm allows for the system to recover fast enough\nto prevent throughput from dropping substantially. In our observations,\nZooKeeper takes less than 200ms to elect a new leader. Third, as\nfollowers recover, ZooKeeper is able to raise throughput again once they\nstart processing requests."},"1846":{"id":"/docs-63","page_id":"/docs","tags":[],"type":"text","url":"/docs#the-zookeeper-project","content":"ZooKeeper has been\nsuccessfully used\nin many industrial applications. It is used at Yahoo! as the\ncoordination and failure recovery service for Yahoo! Message\nBroker, which is a highly scalable publish-subscribe system\nmanaging thousands of topics for replication and data\ndelivery. It is used by the Fetching Service for Yahoo!\ncrawler, where it also manages failure recovery. A number of\nYahoo! advertising systems also use ZooKeeper to implement\nreliable services."},"1847":{"id":"/docs-64","page_id":"/docs","tags":[],"type":"text","url":"/docs#the-zookeeper-project","content":"All users and developers are encouraged to join the\ncommunity and contribute their expertise. See the\nZookeeper Project on Apache\nfor more information."},"1848":{"id":"/docs/miscellaneous/internals","page_id":"/docs/miscellaneous/internals","type":"page","content":"Internals","breadcrumbs":["Multi-Page Documentation","Miscellaneous"],"tags":[],"url":"/docs/miscellaneous/internals"},"1849":{"id":"/docs/miscellaneous/internals-0","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals","content":"This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions."},"1850":{"id":"/docs/miscellaneous/internals-1","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#atomic-broadcast","content":"Atomic Broadcast"},"1851":{"id":"/docs/miscellaneous/internals-2","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"Guarantees, Properties, and Definitions"},"1852":{"id":"/docs/miscellaneous/internals-3","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#leader-activation","content":"Leader Activation"},"1853":{"id":"/docs/miscellaneous/internals-4","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#active-messaging","content":"Active Messaging"},"1854":{"id":"/docs/miscellaneous/internals-5","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#summary","content":"Summary"},"1855":{"id":"/docs/miscellaneous/internals-6","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#comparisons","content":"Comparisons"},"1856":{"id":"/docs/miscellaneous/internals-7","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#consistency-guarantees","content":"Consistency Guarantees"},"1857":{"id":"/docs/miscellaneous/internals-8","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#quorums","content":"Quorums"},"1858":{"id":"/docs/miscellaneous/internals-9","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#logging","content":"Logging"},"1859":{"id":"/docs/miscellaneous/internals-10","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#developer-guidelines","content":"Developer Guidelines"},"1860":{"id":"/docs/miscellaneous/internals-11","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#logging-at-the-right-level","content":"Logging at the Right Level"},"1861":{"id":"/docs/miscellaneous/internals-12","page_id":"/docs/miscellaneous/internals","type":"heading","tags":[],"url":"/docs/miscellaneous/internals#use-of-standard-slf4j-idioms","content":"Use of Standard slf4j Idioms"},"1862":{"id":"/docs/miscellaneous/internals-13","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#atomic-broadcast","content":"At the heart of ZooKeeper is an atomic messaging system that keeps all of the servers in sync."},"1863":{"id":"/docs/miscellaneous/internals-14","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"The specific guarantees provided by the ZooKeeper messaging system are:"},"1864":{"id":"/docs/miscellaneous/internals-15","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"Reliable delivery: If a message m is delivered by one server, message m will eventually be delivered by all servers."},"1865":{"id":"/docs/miscellaneous/internals-16","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"Total order: If a message a is delivered before message b by one server, message a will be delivered before b by all servers."},"1866":{"id":"/docs/miscellaneous/internals-17","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"Causal order: If a message b is sent after a message a has been delivered by the sender of b, message a must be ordered before b. If a sender sends c after sending b, c must be ordered after b."},"1867":{"id":"/docs/miscellaneous/internals-18","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"The ZooKeeper messaging system also needs to be efficient, reliable, and easy to\nimplement and maintain. We make heavy use of messaging, so we need the system to\nbe able to handle thousands of requests per second. Although we can require at\nleast k+1 correct servers to send new messages, we must be able to recover from\ncorrelated failures such as power outages. When we implemented the system we had\nlittle time and few engineering resources, so we needed a protocol that is\naccessible to engineers and is easy to implement. We found that our protocol\nsatisfied all of these goals."},"1868":{"id":"/docs/miscellaneous/internals-19","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"Our protocol assumes that we can construct point-to-point FIFO channels between\nthe servers. While similar services usually assume message delivery that can\nlose or reorder messages, our assumption of FIFO channels is very practical\ngiven that we use TCP for communication. Specifically we rely on the following property of TCP:"},"1869":{"id":"/docs/miscellaneous/internals-20","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"Ordered delivery: Data is delivered in the same order it is sent and a message m is delivered only after all messages sent before m have been delivered. (The corollary is that if message m is lost, all messages after m will also be lost.)"},"1870":{"id":"/docs/miscellaneous/internals-21","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"No message after close: Once a FIFO channel is closed, no messages will be received from it."},"1871":{"id":"/docs/miscellaneous/internals-22","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"FLP proved that consensus cannot be achieved in asynchronous distributed systems\nif failures are possible. To ensure that we achieve consensus in the presence of failures\nwe use timeouts. However, we rely on time for liveness, not for correctness. So,\nif timeouts stop working (e.g., skewed clocks) the messaging system may\nhang, but it will not violate its guarantees."},"1872":{"id":"/docs/miscellaneous/internals-23","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"When describing the ZooKeeper messaging protocol we will talk of packets,\nproposals, and messages:"},"1873":{"id":"/docs/miscellaneous/internals-24","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"Packet: A sequence of bytes sent through a FIFO channel."},"1874":{"id":"/docs/miscellaneous/internals-25","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"Proposal: A unit of agreement. Proposals are agreed upon by exchanging packets with a quorum of ZooKeeper servers. Most proposals contain messages; however, the NEW_LEADER proposal is an example of a proposal that does not contain a message."},"1875":{"id":"/docs/miscellaneous/internals-26","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"Message: A sequence of bytes to be atomically broadcast to all ZooKeeper servers. A message is put into a proposal and agreed upon before it is delivered."},"1876":{"id":"/docs/miscellaneous/internals-27","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"As stated above, ZooKeeper guarantees a total order of messages, and it also\nguarantees a total order of proposals. ZooKeeper exposes the total ordering using\na ZooKeeper transaction id (zxid). All proposals will be stamped with a zxid when\nproposed and exactly reflect the total ordering. Proposals are sent to all\nZooKeeper servers and committed when a quorum of them acknowledge the proposal.\nIf a proposal contains a message, the message will be delivered when the proposal\nis committed. Acknowledgement means the server has recorded the proposal to persistent storage.\nOur quorums have the requirement that any pair of quorums must have at least one server\nin common. We ensure this by requiring that all quorums have size (n/2+1) where\nn is the number of servers that make up a ZooKeeper service."},"1877":{"id":"/docs/miscellaneous/internals-28","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"The zxid has two parts: the epoch and a counter. In our implementation the zxid\nis a 64-bit number. We use the high order 32-bits for the epoch and the low order\n32-bits for the counter. Because a zxid consists of two parts, it can be represented both as a\nnumber and as a pair of integers, (epoch, count). The epoch number represents a\nchange in leadership. Each time a new leader comes into power it will have its\nown epoch number. We have a simple algorithm to assign a unique zxid to a proposal:\nthe leader simply increments the zxid to obtain a unique zxid for each proposal.\nLeadership activation will ensure that only one leader uses a given epoch, so our\nsimple algorithm guarantees that every proposal will have a unique id."},"1878":{"id":"/docs/miscellaneous/internals-29","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"ZooKeeper messaging consists of two phases:"},"1879":{"id":"/docs/miscellaneous/internals-30","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"Leader activation: In this phase a leader establishes the correct state of the system and gets ready to start making proposals."},"1880":{"id":"/docs/miscellaneous/internals-31","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"Active messaging: In this phase a leader accepts messages to propose and coordinates message delivery."},"1881":{"id":"/docs/miscellaneous/internals-32","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#guarantees-properties-and-definitions","content":"ZooKeeper is a holistic protocol. We do not focus on individual proposals, rather\nwe look at the stream of proposals as a whole. Our strict ordering allows us to do this\nefficiently and greatly simplifies our protocol. Leadership activation embodies\nthis holistic concept. A leader becomes active only when a quorum of followers\n(the leader counts as a follower as well — you can always vote for yourself) has synced\nup with the leader: they have the same state. This state consists of all of the\nproposals that the leader believes have been committed and the proposal to follow\nthe leader, the NEW_LEADER proposal. (Hopefully you are thinking:\nDoes the set of proposals that the leader believes has been committed\ninclude all the proposals that really have been committed? The answer is yes.\nBelow, we make clear why.)"},"1882":{"id":"/docs/miscellaneous/internals-33","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"Leader activation includes leader election (FastLeaderElection).\nZooKeeper messaging doesn't care about the exact method of electing a leader as long as the following holds:"},"1883":{"id":"/docs/miscellaneous/internals-34","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"The leader has seen the highest zxid of all the followers."},"1884":{"id":"/docs/miscellaneous/internals-35","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"A quorum of servers have committed to following the leader."},"1885":{"id":"/docs/miscellaneous/internals-36","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"Of these two requirements, only the first — the highest zxid among the followers —\nneeds to hold for correct operation. The second requirement, a quorum of followers,\njust needs to hold with high probability. We are going to recheck the second requirement,\nso if a failure happens during or after the leader election and quorum is lost,\nwe will recover by abandoning leader activation and running another election."},"1886":{"id":"/docs/miscellaneous/internals-37","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"After leader election a single server will be designated as a leader and start\nwaiting for followers to connect. The rest of the servers will try to connect to\nthe leader. The leader will sync up with the followers by sending any proposals they\nare missing, or if a follower is missing too many proposals, it will send a full\nsnapshot of the state to the follower."},"1887":{"id":"/docs/miscellaneous/internals-38","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"There is a corner case in which a follower that has proposals, U, not seen\nby a leader arrives. Proposals are seen in order, so the proposals of U will have zxids\nhigher than zxids seen by the leader. The follower must have arrived after the\nleader election, otherwise the follower would have been elected leader given that\nit has seen a higher zxid. Since committed proposals must be seen by a quorum of\nservers, and a quorum of servers that elected the leader did not see U, the proposals\nof U have not been committed, so they can be discarded. When the follower connects\nto the leader, the leader will tell the follower to discard U."},"1888":{"id":"/docs/miscellaneous/internals-39","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"A new leader establishes a zxid to start using for new proposals by getting the\nepoch, e, of the highest zxid it has seen and setting the next zxid to use to be\n(e+1, 0). After the leader syncs with a follower, it will propose a NEW_LEADER\nproposal. Once the NEW_LEADER proposal has been committed, the leader will activate\nand start receiving and issuing proposals."},"1889":{"id":"/docs/miscellaneous/internals-40","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"The basic rules of operation during leader activation are:"},"1890":{"id":"/docs/miscellaneous/internals-41","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"A follower will ACK the NEW_LEADER proposal after it has synced with the leader."},"1891":{"id":"/docs/miscellaneous/internals-42","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"A follower will only ACK a NEW_LEADER proposal with a given zxid from a single server."},"1892":{"id":"/docs/miscellaneous/internals-43","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"A new leader will COMMIT the NEW_LEADER proposal when a quorum of followers has ACKed it."},"1893":{"id":"/docs/miscellaneous/internals-44","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"A follower will commit any state it received from the leader when the NEW_LEADER proposal is COMMITted."},"1894":{"id":"/docs/miscellaneous/internals-45","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"A new leader will not accept new proposals until the NEW_LEADER proposal has been COMMITted."},"1895":{"id":"/docs/miscellaneous/internals-46","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#leader-activation","content":"If leader election terminates erroneously, we don't have a problem since the\nNEW_LEADER proposal will not be committed because the leader will not have quorum.\nWhen this happens, the leader and any remaining followers will timeout and go back\nto leader election."},"1896":{"id":"/docs/miscellaneous/internals-47","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#active-messaging","content":"Leader Activation does all the heavy lifting. Once the leader is coronated it can\nstart blasting out proposals. As long as it remains the leader no other leader can\nemerge since no other leader will be able to get a quorum of followers. If a new\nleader does emerge, it means that the current leader has lost quorum, and the new\nleader will clean up any mess left over during its activation."},"1897":{"id":"/docs/miscellaneous/internals-48","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#active-messaging","content":"ZooKeeper messaging operates similar to a classic two-phase commit."},"1898":{"id":"/docs/miscellaneous/internals-49","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#active-messaging","content":"All communication channels are FIFO, so everything is done in order. Specifically\nthe following operating constraints are observed:"},"1899":{"id":"/docs/miscellaneous/internals-50","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#active-messaging","content":"The leader sends proposals to all followers using the same order. Moreover, this order follows the order in which requests were received. Because we use FIFO channels this means that followers also receive proposals in order."},"1900":{"id":"/docs/miscellaneous/internals-51","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#active-messaging","content":"Followers process messages in the order they are received. This means that messages will be ACKed in order and the leader will receive ACKs from followers in order, due to the FIFO channels. It also means that if message m has been written to non-volatile storage, all messages that were proposed before m have been written to non-volatile storage."},"1901":{"id":"/docs/miscellaneous/internals-52","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#active-messaging","content":"The leader will issue a COMMIT to all followers as soon as a quorum of followers have ACKed a message. Since messages are ACKed in order, COMMITs will be sent by the leader and received by the followers in order."},"1902":{"id":"/docs/miscellaneous/internals-53","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#active-messaging","content":"COMMITs are processed in order. Followers deliver a proposal message when that proposal is committed."},"1903":{"id":"/docs/miscellaneous/internals-54","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#summary","content":"Why does it work? Specifically, why does a set of proposals believed by a new leader\nalways contain any proposal that has actually been committed? First, all proposals have\na unique zxid, so unlike other protocols, we never have to worry about two different\nvalues being proposed for the same zxid; followers (a leader is also a follower) see\nand record proposals in order; proposals are committed in order; there is only one active\nleader at a time since followers only follow a single leader at a time; a new leader has\nseen all committed proposals from the previous epoch since it has seen the highest zxid\nfrom a quorum of servers; any uncommitted proposals from a previous epoch seen by a new\nleader will be committed by that leader before it becomes active."},"1904":{"id":"/docs/miscellaneous/internals-55","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#comparisons","content":"Isn't this just Multi-Paxos? No. Multi-Paxos requires some way of assuring that\nthere is only a single coordinator. We do not count on such assurances. Instead\nwe use leader activation to recover from leadership changes or old leaders\nbelieving they are still active."},"1905":{"id":"/docs/miscellaneous/internals-56","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#comparisons","content":"Isn't this just Paxos? The active messaging phase looks just like phase 2 of Paxos.\nActually, to us active messaging looks just like 2-phase commit without the need to\nhandle aborts. Active messaging is different from both in the sense that it has\ncross-proposal ordering requirements. If we do not maintain strict FIFO ordering of\nall packets, it all falls apart. Also, our leader activation phase is different from\nboth of them. In particular, our use of epochs allows us to skip blocks of uncommitted\nproposals and to not worry about duplicate proposals for a given zxid."},"1906":{"id":"/docs/miscellaneous/internals-57","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#consistency-guarantees","content":"The consistency guarantees of ZooKeeper lie between\nsequential consistency and linearizability."},"1907":{"id":"/docs/miscellaneous/internals-58","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#consistency-guarantees","content":"Write operations in ZooKeeper are linearizable. Each write will appear to take effect\natomically at some point between when the client issues the request and receives the\ncorresponding response. This means that the writes performed by all clients can be totally\nordered in a way that respects their real-time ordering. However, merely stating that writes\nare linearizable is meaningless unless we also talk about reads."},"1908":{"id":"/docs/miscellaneous/internals-59","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#consistency-guarantees","content":"Read operations in ZooKeeper are not linearizable since they can return stale data. A read\nin ZooKeeper is not a quorum operation — a server will respond immediately to a client\nperforming a read. ZooKeeper prioritizes performance over consistency for reads. However,\nreads are sequentially consistent, because read operations appear to take effect in some\nsequential order that respects each client's operation order. A common workaround is to issue\na sync before a read. This too does not strictly guarantee up-to-date data because\nsync is not currently a quorum operation."},"1909":{"id":"/docs/miscellaneous/internals-60","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#consistency-guarantees","content":"To illustrate: consider a scenario where two servers simultaneously think they are the leader,\nwhich could occur if the TCP connection timeout is smaller than syncLimit * tickTime. Note\nthat this is unlikely\nto occur in practice, but is worth keeping in mind. Under this scenario, the sync may be\nserved by the \"leader\" with stale data, allowing the following read to be stale as well.\nThe stronger guarantee of linearizability is provided if an actual quorum operation (e.g., a\nwrite) is performed before a read."},"1910":{"id":"/docs/miscellaneous/internals-61","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#consistency-guarantees","content":"Overall, the consistency guarantees of ZooKeeper are formally captured by the notion of\nordered sequential consistency\n(OSC(U)), which lies between sequential consistency and linearizability."},"1911":{"id":"/docs/miscellaneous/internals-62","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#quorums","content":"Atomic broadcast and leader election use the notion of quorums to guarantee a consistent\nview of the system. By default, ZooKeeper uses majority quorums, which means that every\nvoting operation requires a majority to vote. One example is acknowledging a leader proposal:\nthe leader can only commit once it receives an acknowledgement from a quorum of servers."},"1912":{"id":"/docs/miscellaneous/internals-63","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#quorums","content":"If we extract the properties that we really need from our use of majorities, we have that we only\nneed to guarantee that groups of processes used to validate an operation by voting pairwise\nintersect in at least one server. Using majorities guarantees such a property.\nHowever, there are other ways of constructing quorums. For example, we can assign\nweights to the votes of servers, and say that the votes of some servers are more important.\nTo obtain a quorum, we get enough votes so that the sum of weights of all votes is larger\nthan half of the total sum of all weights."},"1913":{"id":"/docs/miscellaneous/internals-64","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#quorums","content":"A different construction that uses weights and is useful in wide-area deployments is a\nhierarchical one. With this construction, we split the servers into disjoint groups and\nassign weights to processes. To form a quorum, we have to get enough servers from a majority\nof groups G, such that for each group g in G, the sum of votes from g is larger than half of\nthe sum of weights in g. Interestingly, this construction enables smaller quorums. If we have\n9 servers split into 3 groups with a weight of 1 each, we are able to form quorums of size 4.\nNote that two subsets of processes each composed of a majority of servers from a majority of\ngroups necessarily have a non-empty intersection. It is reasonable to expect that a majority\nof co-locations will have a majority of servers available with high probability."},"1914":{"id":"/docs/miscellaneous/internals-65","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#quorums","content":"ZooKeeper provides users with the ability to configure servers to use majority quorums,\nweighted quorums, or a hierarchy of groups."},"1915":{"id":"/docs/miscellaneous/internals-66","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#logging","content":"ZooKeeper uses slf4j as an abstraction layer for logging.\nLogback has been chosen as the logging backend since ZooKeeper 3.8.0.\nFor better embedding support, it is planned in the future to leave the choice of logging\nimplementation to the end user. Therefore, always use the slf4j API for log statements in code,\nbut configure Logback for runtime logging behavior.\nNote that slf4j has no FATAL level; former FATAL-level messages have been moved to ERROR.\nFor information on configuring Logback for ZooKeeper, see the\nLogging section of the\nZooKeeper Administrator's Guide."},"1916":{"id":"/docs/miscellaneous/internals-67","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#developer-guidelines","content":"Follow the slf4j manual when creating log statements in\ncode. Also read the FAQ on logging performance.\nPatch reviewers will look for the following:"},"1917":{"id":"/docs/miscellaneous/internals-68","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#logging-at-the-right-level","content":"There are several log levels in slf4j, in order of decreasing severity:"},"1918":{"id":"/docs/miscellaneous/internals-69","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#logging-at-the-right-level","content":"ERROR — error events that might still allow the application to continue running."},"1919":{"id":"/docs/miscellaneous/internals-70","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#logging-at-the-right-level","content":"WARN — potentially harmful situations."},"1920":{"id":"/docs/miscellaneous/internals-71","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#logging-at-the-right-level","content":"INFO — informational messages that highlight the progress of the application at a coarse-grained level."},"1921":{"id":"/docs/miscellaneous/internals-72","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#logging-at-the-right-level","content":"DEBUG — fine-grained informational events most useful for debugging."},"1922":{"id":"/docs/miscellaneous/internals-73","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#logging-at-the-right-level","content":"TRACE — finer-grained informational events than DEBUG."},"1923":{"id":"/docs/miscellaneous/internals-74","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#logging-at-the-right-level","content":"ZooKeeper is typically run in production such that INFO and above are output to the log."},"1924":{"id":"/docs/miscellaneous/internals-75","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#use-of-standard-slf4j-idioms","content":"Static message logging:"},"1925":{"id":"/docs/miscellaneous/internals-76","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#use-of-standard-slf4j-idioms","content":"For parameterized messages, use formatting anchors:"},"1926":{"id":"/docs/miscellaneous/internals-77","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#use-of-standard-slf4j-idioms","content":"Naming: Loggers should be named after the class in which they are used."},"1927":{"id":"/docs/miscellaneous/internals-78","page_id":"/docs/miscellaneous/internals","tags":[],"type":"text","url":"/docs/miscellaneous/internals#use-of-standard-slf4j-idioms","content":"Exception handling:"},"1928":{"id":"/docs/overview/quick-start","page_id":"/docs/overview/quick-start","type":"page","content":"Quick Start","breadcrumbs":["Multi-Page Documentation","Getting Started"],"tags":[],"url":"/docs/overview/quick-start"},"1929":{"id":"/docs/overview/quick-start-0","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start","content":"This document contains information to get you started quickly with ZooKeeper."},"1930":{"id":"/docs/overview/quick-start-1","page_id":"/docs/overview/quick-start","type":"heading","tags":[],"url":"/docs/overview/quick-start#coordinating-distributed-applications-with-zookeeper","content":"Coordinating Distributed Applications with ZooKeeper"},"1931":{"id":"/docs/overview/quick-start-2","page_id":"/docs/overview/quick-start","type":"heading","tags":[],"url":"/docs/overview/quick-start#pre-requisites","content":"Pre-requisites"},"1932":{"id":"/docs/overview/quick-start-3","page_id":"/docs/overview/quick-start","type":"heading","tags":[],"url":"/docs/overview/quick-start#download","content":"Download"},"1933":{"id":"/docs/overview/quick-start-4","page_id":"/docs/overview/quick-start","type":"heading","tags":[],"url":"/docs/overview/quick-start#standalone-operation","content":"Standalone Operation"},"1934":{"id":"/docs/overview/quick-start-5","page_id":"/docs/overview/quick-start","type":"heading","tags":[],"url":"/docs/overview/quick-start#managing-zookeeper-storage","content":"Managing ZooKeeper Storage"},"1935":{"id":"/docs/overview/quick-start-6","page_id":"/docs/overview/quick-start","type":"heading","tags":[],"url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"Connecting to ZooKeeper"},"1936":{"id":"/docs/overview/quick-start-7","page_id":"/docs/overview/quick-start","type":"heading","tags":[],"url":"/docs/overview/quick-start#programming-to-zookeeper","content":"Programming to ZooKeeper"},"1937":{"id":"/docs/overview/quick-start-8","page_id":"/docs/overview/quick-start","type":"heading","tags":[],"url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"Running Replicated ZooKeeper"},"1938":{"id":"/docs/overview/quick-start-9","page_id":"/docs/overview/quick-start","type":"heading","tags":[],"url":"/docs/overview/quick-start#other-optimizations","content":"Other Optimizations"},"1939":{"id":"/docs/overview/quick-start-10","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#coordinating-distributed-applications-with-zookeeper","content":"The document is aimed primarily at developers hoping to try it out, and\ncontains simple installation instructions for a single ZooKeeper server, a\nfew commands to verify that it is running, and a simple programming\nexample. Finally, as a convenience, there are a few sections regarding\nmore complicated installations, for example running replicated\ndeployments, and optimizing the transaction log. However for the complete\ninstructions for commercial deployments, please refer to the ZooKeeper\nAdministrator's Guide."},"1940":{"id":"/docs/overview/quick-start-11","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#pre-requisites","content":"See System Requirements in the Admin guide."},"1941":{"id":"/docs/overview/quick-start-12","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#download","content":"To get a ZooKeeper distribution, download a recent\nstable release from one of the Apache Download\nMirrors."},"1942":{"id":"/docs/overview/quick-start-13","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#standalone-operation","content":"Setting up a ZooKeeper server in standalone mode is\nstraightforward. The server is contained in a single JAR file,\nso installation consists of creating a configuration."},"1943":{"id":"/docs/overview/quick-start-14","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#standalone-operation","content":"Once you've downloaded a stable ZooKeeper release unpack\nit and cd to the root"},"1944":{"id":"/docs/overview/quick-start-15","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#standalone-operation","content":"To start ZooKeeper you need a configuration file. Here is a sample,\ncreate it in conf/zoo.cfg:"},"1945":{"id":"/docs/overview/quick-start-16","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#standalone-operation","content":"This file can be called anything, but for the sake of this\ndiscussion call\nit conf/zoo.cfg. Change the\nvalue of dataDir to specify an\nexisting (empty to start with) directory. Here are the meanings\nfor each of the fields:"},"1946":{"id":"/docs/overview/quick-start-17","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#standalone-operation","content":"tickTime :\nthe basic time unit in milliseconds used by ZooKeeper. It is\nused to do heartbeats and the minimum session timeout will be\ntwice the tickTime."},"1947":{"id":"/docs/overview/quick-start-18","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#standalone-operation","content":"dataDir :\nthe location to store the in-memory database snapshots and,\nunless specified otherwise, the transaction log of updates to the\ndatabase."},"1948":{"id":"/docs/overview/quick-start-19","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#standalone-operation","content":"clientPort :\nthe port to listen for client connections"},"1949":{"id":"/docs/overview/quick-start-20","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#standalone-operation","content":"Now that you created the configuration file, you can start\nZooKeeper:"},"1950":{"id":"/docs/overview/quick-start-21","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#standalone-operation","content":"ZooKeeper logs messages using logback — more detail\navailable in the\nLogging\nsection of the Administrator's Guide. You will see log messages\ncoming to the console (default) and/or a log file depending on\nthe logback configuration."},"1951":{"id":"/docs/overview/quick-start-22","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#standalone-operation","content":"The steps outlined here run ZooKeeper in standalone mode. There is\nno replication, so if ZooKeeper process fails, the service will go down.\nThis is fine for most development situations, but to run ZooKeeper in\nreplicated mode, please see Running Replicated\nZooKeeper."},"1952":{"id":"/docs/overview/quick-start-23","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#managing-zookeeper-storage","content":"For long running production systems ZooKeeper storage must\nbe managed externally (dataDir and logs). See the section on\nmaintenance for\nmore details."},"1953":{"id":"/docs/overview/quick-start-24","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"Start zkCli.sh and connect to your ZooKeeper server. bin/zkCli.sh -server\n 127.0.0.1:2181"},"1954":{"id":"/docs/overview/quick-start-25","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"Create, inspect, update, and delete a test znode to validate end-to-end\noperation."},"1955":{"id":"/docs/overview/quick-start-26","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"This lets you perform simple, file-like operations."},"1956":{"id":"/docs/overview/quick-start-27","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"Once you have connected, you should see something like:"},"1957":{"id":"/docs/overview/quick-start-28","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"From the shell, type help to get a listing of commands that can be executed from the client, as in:"},"1958":{"id":"/docs/overview/quick-start-29","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"From here, you can try a few simple commands to get a feel for this simple command line interface. First, start by issuing the list command, as\nin ls, yielding:"},"1959":{"id":"/docs/overview/quick-start-30","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"Next, create a new znode by running create /zk_test my_data. This creates a new znode and associates the string \"my_data\" with the node.\nYou should see:"},"1960":{"id":"/docs/overview/quick-start-31","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"Issue another ls / command to see what the directory looks like:"},"1961":{"id":"/docs/overview/quick-start-32","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"Notice that the zk_test directory has now been created."},"1962":{"id":"/docs/overview/quick-start-33","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"Next, verify that the data was associated with the znode by running the get command, as in:"},"1963":{"id":"/docs/overview/quick-start-34","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"We can change the data associated with zk_test by issuing the set command, as in:"},"1964":{"id":"/docs/overview/quick-start-35","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"(Notice we did a get after setting the data and it did, indeed, change."},"1965":{"id":"/docs/overview/quick-start-36","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"Finally, let's delete the node by issuing:"},"1966":{"id":"/docs/overview/quick-start-37","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#connecting-to-zookeeper","content":"That's it for now. To explore more, see the Zookeeper CLI."},"1967":{"id":"/docs/overview/quick-start-38","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#programming-to-zookeeper","content":"ZooKeeper has a Java bindings and C bindings. They are\nfunctionally equivalent. The C bindings exist in two variants: single\nthreaded and multi-threaded. These differ only in how the messaging loop\nis done. For more information, see the Programming\nExamples in the ZooKeeper Programmer's Guide for\nsample code using the different APIs."},"1968":{"id":"/docs/overview/quick-start-39","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"Running ZooKeeper in standalone mode is convenient for evaluation,\nsome development, and testing. But in production, you should run\nZooKeeper in replicated mode. A replicated group of servers in the same\napplication is called a quorum, and in replicated\nmode, all servers in the quorum have copies of the same configuration\nfile."},"1969":{"id":"/docs/overview/quick-start-40","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"type: info"},"1970":{"id":"/docs/overview/quick-start-41","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"For replicated mode, a minimum of three servers are required,"},"1971":{"id":"/docs/overview/quick-start-42","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"and it is strongly recommended that you have an odd number of\nservers. If you only have two servers, then you are in a\nsituation where if one of them fails, there are not enough\nmachines to form a majority quorum. Two servers are inherently\nless stable than a single server, because there are two single\npoints of failure."},"1972":{"id":"/docs/overview/quick-start-43","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"The required\nconf/zoo.cfg\nfile for replicated mode is similar to the one used in standalone\nmode, but with a few differences. Here is an example:"},"1973":{"id":"/docs/overview/quick-start-44","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"The new entry, initLimit is\ntimeouts ZooKeeper uses to limit the length of time the ZooKeeper\nservers in quorum have to connect to a leader. The entry syncLimit limits how far out of date a server can\nbe from a leader."},"1974":{"id":"/docs/overview/quick-start-45","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"With both of these timeouts, you specify the unit of time using\ntickTime. In this example, the timeout\nfor initLimit is 5 ticks at 2000 milliseconds a tick, or 10\nseconds."},"1975":{"id":"/docs/overview/quick-start-46","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"The entries of the form server.X list the\nservers that make up the ZooKeeper service. When the server starts up,\nit knows which server it is by looking for the file\nmyid in the data directory. That file has the\ncontains the server number, in ASCII."},"1976":{"id":"/docs/overview/quick-start-47","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"Finally, note the two port numbers after each server\nname: \" 2888\" and \"3888\". Peers use the former port to connect\nto other peers. Such a connection is necessary so that peers\ncan communicate, for example, to agree upon the order of\nupdates. More specifically, a ZooKeeper server uses this port\nto connect followers to the leader. When a new leader arises, a\nfollower opens a TCP connection to the leader using this\nport. Because the default leader election also uses TCP, we\ncurrently require another port for leader election. This is the\nsecond port in the server entry."},"1977":{"id":"/docs/overview/quick-start-48","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"type: info"},"1978":{"id":"/docs/overview/quick-start-49","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"If you want to test multiple servers on a single machine, specify the\nservername as localhost with unique quorum & leader election ports (i.e.\n2888:3888, 2889:3889, 2890:3890 in the example above) for each server.X in\nthat server's config file. Of course separate _dataDir_s and distinct\n_clientPort_s are also necessary (in the above replicated example, running on\na single localhost, you would still have three config files)."},"1979":{"id":"/docs/overview/quick-start-50","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"Please be aware that setting up multiple servers on a single\nmachine will not create any redundancy. If something were to\nhappen which caused the machine to die, all of the zookeeper\nservers would be offline. Full redundancy requires that each\nserver have its own machine. It must be a completely separate\nphysical server. Multiple virtual machines on the same physical\nhost are still vulnerable to the complete failure of that host."},"1980":{"id":"/docs/overview/quick-start-51","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#running-replicated-zookeeper","content":"If you have multiple network interfaces in your ZooKeeper machines,\nyou can also instruct ZooKeeper to bind on all of your interfaces and\nautomatically switch to a healthy interface in case of a network failure.\nFor details, see the Configuration Parameters."},"1981":{"id":"/docs/overview/quick-start-52","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#other-optimizations","content":"There are a couple of other configuration parameters that can\ngreatly increase performance:"},"1982":{"id":"/docs/overview/quick-start-53","page_id":"/docs/overview/quick-start","tags":[],"type":"text","url":"/docs/overview/quick-start#other-optimizations","content":"To get low latencies on updates it is important to\nhave a dedicated transaction log directory. By default\ntransaction logs are put in the same directory as the data\nsnapshots and myid file. The dataLogDir\nparameters indicates a different directory to use for the\ntransaction logs."},"1983":{"id":"/docs/overview/release-notes","page_id":"/docs/overview/release-notes","type":"page","content":"Release Notes","breadcrumbs":["Multi-Page Documentation","Getting Started"],"tags":[],"url":"/docs/overview/release-notes"},"1984":{"id":"/docs/overview/release-notes-0","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes","content":"Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes."},"1985":{"id":"/docs/overview/release-notes-1","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#release-notes---zookeeper---version-395","content":"Release Notes - ZooKeeper - Version 3.9.5"},"1986":{"id":"/docs/overview/release-notes-2","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#sub-task","content":"Sub-task"},"1987":{"id":"/docs/overview/release-notes-3","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#bug","content":"Bug"},"1988":{"id":"/docs/overview/release-notes-4","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#improvement","content":"Improvement"},"1989":{"id":"/docs/overview/release-notes-5","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#test","content":"Test"},"1990":{"id":"/docs/overview/release-notes-6","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#task","content":"Task"},"1991":{"id":"/docs/overview/release-notes-7","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#release-notes---zookeeper---version-394","content":"Release Notes - ZooKeeper - Version 3.9.4"},"1992":{"id":"/docs/overview/release-notes-8","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#breaking-changes","content":"Breaking Changes"},"1993":{"id":"/docs/overview/release-notes-9","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#bug-1","content":"Bug"},"1994":{"id":"/docs/overview/release-notes-10","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#new-feature","content":"New Feature"},"1995":{"id":"/docs/overview/release-notes-11","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#improvement-1","content":"Improvement"},"1996":{"id":"/docs/overview/release-notes-12","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#task-1","content":"Task"},"1997":{"id":"/docs/overview/release-notes-13","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#release-notes---zookeeper---version-393","content":"Release Notes - ZooKeeper - Version 3.9.3"},"1998":{"id":"/docs/overview/release-notes-14","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#bug-2","content":"Bug"},"1999":{"id":"/docs/overview/release-notes-15","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#new-feature-1","content":"New Feature"},"2000":{"id":"/docs/overview/release-notes-16","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#improvement-2","content":"Improvement"},"2001":{"id":"/docs/overview/release-notes-17","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#test-1","content":"Test"},"2002":{"id":"/docs/overview/release-notes-18","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#task-2","content":"Task"},"2003":{"id":"/docs/overview/release-notes-19","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#release-notes---zookeeper---version-392","content":"Release Notes - ZooKeeper - Version 3.9.2"},"2004":{"id":"/docs/overview/release-notes-20","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#sub-task-1","content":"Sub-task"},"2005":{"id":"/docs/overview/release-notes-21","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#bug-3","content":"Bug"},"2006":{"id":"/docs/overview/release-notes-22","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#improvement-3","content":"Improvement"},"2007":{"id":"/docs/overview/release-notes-23","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#wish","content":"Wish"},"2008":{"id":"/docs/overview/release-notes-24","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#release-notes---zookeeper---version-391","content":"Release Notes - ZooKeeper - Version 3.9.1"},"2009":{"id":"/docs/overview/release-notes-25","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#improvement-4","content":"Improvement"},"2010":{"id":"/docs/overview/release-notes-26","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#task-3","content":"Task"},"2011":{"id":"/docs/overview/release-notes-27","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#release-notes---zookeeper---version-390","content":"Release Notes - ZooKeeper - Version 3.9.0"},"2012":{"id":"/docs/overview/release-notes-28","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#sub-task-2","content":"Sub-task"},"2013":{"id":"/docs/overview/release-notes-29","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#bug-4","content":"Bug"},"2014":{"id":"/docs/overview/release-notes-30","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#new-feature-2","content":"New Feature"},"2015":{"id":"/docs/overview/release-notes-31","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#improvement-5","content":"Improvement"},"2016":{"id":"/docs/overview/release-notes-32","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#test-2","content":"Test"},"2017":{"id":"/docs/overview/release-notes-33","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#wish-1","content":"Wish"},"2018":{"id":"/docs/overview/release-notes-34","page_id":"/docs/overview/release-notes","type":"heading","tags":[],"url":"/docs/overview/release-notes#task-4","content":"Task"},"2019":{"id":"/docs/overview/release-notes-35","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#sub-task","content":"ZOOKEEPER-842 - stat calls static method on org.apache.zookeeper.server.DataTree"},"2020":{"id":"/docs/overview/release-notes-36","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug","content":"ZOOKEEPER-4736 - socket fd leak"},"2021":{"id":"/docs/overview/release-notes-37","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug","content":"ZOOKEEPER-4871 - ZooKeeper python module (zkpython) is incompatible with Python 3.12"},"2022":{"id":"/docs/overview/release-notes-38","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug","content":"ZOOKEEPER-4958 - \"ssl.clientHostnameVerification\" is ignored if \"ssl.authProvider\" is configured to \"x509\""},"2023":{"id":"/docs/overview/release-notes-39","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug","content":"ZOOKEEPER-4974 - Remove enforced JDK 17 compilation warnings"},"2024":{"id":"/docs/overview/release-notes-40","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug","content":"ZOOKEEPER-4984 - Upgrade OWASP plugin to 12.1.6 due to breaking changes in the API"},"2025":{"id":"/docs/overview/release-notes-41","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug","content":"ZOOKEEPER-4986 - Disable reverse DNS lookup in TLS client and server"},"2026":{"id":"/docs/overview/release-notes-42","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug","content":"ZOOKEEPER-4989 - Compilation of client on Windows with MSVC is broken"},"2027":{"id":"/docs/overview/release-notes-43","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement","content":"ZOOKEEPER-3938 - Upgrade jline to version 3.x."},"2028":{"id":"/docs/overview/release-notes-44","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement","content":"ZOOKEEPER-4955 - Fix interference with jvm ssl properties for ssl.crl and ssl.ocsp"},"2029":{"id":"/docs/overview/release-notes-45","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement","content":"ZOOKEEPER-4962 - Add getPort and getSecurePort for ZooKeeperServerEmbedded"},"2030":{"id":"/docs/overview/release-notes-46","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement","content":"ZOOKEEPER-4965 - Drop unnecessary @SuppressWarnings(\"deprecation\")"},"2031":{"id":"/docs/overview/release-notes-47","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement","content":"ZOOKEEPER-4970 - Deprecate methods of ZKConfig which throw QuorumPeerConfig.ConfigException"},"2032":{"id":"/docs/overview/release-notes-48","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#test","content":"ZOOKEEPER-4780 - Avoid creating temporary files in source directory."},"2033":{"id":"/docs/overview/release-notes-49","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task","content":"ZOOKEEPER-4976 - Update Netty to fix CVE-2025-58057"},"2034":{"id":"/docs/overview/release-notes-50","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task","content":"ZOOKEEPER-5017 - Upgrade Netty to 4.1.130.Final to address CVE-2025-67735"},"2035":{"id":"/docs/overview/release-notes-51","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task","content":"ZOOKEEPER-5018 - Upgrade Jetty to 9.4.58.v20250814 in order to fix CVE-2025-5115"},"2036":{"id":"/docs/overview/release-notes-52","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#breaking-changes","content":"ZOOKEEPER-4891 updates logback-classic to 1.3.15 to solve CVE issues and slf4j-api to 2.0.13 to meet the compatibility requirement of logback."},"2037":{"id":"/docs/overview/release-notes-53","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#breaking-changes","content":"This could cause slf4j to complain \"No SLF4J providers were found\" and output no further logs in certain conditions:"},"2038":{"id":"/docs/overview/release-notes-54","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#breaking-changes","content":"For library or client usage, this could happen if you specify and inherit incompatible slf4j and logback versions, say, slf4j-api:2.0.13 from org.apache.zookeeper:zookeeper and logback-classic:1.2.13 from customized project dependencies."},"2039":{"id":"/docs/overview/release-notes-55","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#breaking-changes","content":"For application or deployment usage, this could happen if you custom and inherit incompatible slf4j and logback versions in classpath, say, slf4j-api:2.0.13 from zookeeper distribution and logback-classic:1.2.13 from customization."},"2040":{"id":"/docs/overview/release-notes-56","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#breaking-changes","content":"This can be resolved by specifying compatible slf4j and logback versions in classpath, say, slf4j-api:2.0.13 and logback-classic:1.3.15."},"2041":{"id":"/docs/overview/release-notes-57","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4020 - Memory leak in Zookeeper C Client"},"2042":{"id":"/docs/overview/release-notes-58","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4240 - IPV6 support in ZooKeeper ACL"},"2043":{"id":"/docs/overview/release-notes-59","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4604 - Creating a COMPLETION_STRING_STAT would set acl_result completion"},"2044":{"id":"/docs/overview/release-notes-60","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4699 - zh->hostname heap-use-after-free in zookeeper_interest"},"2045":{"id":"/docs/overview/release-notes-61","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4725 - TTL node creations do not appear in audit log"},"2046":{"id":"/docs/overview/release-notes-62","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4787 - Failed to establish connection between zookeeper"},"2047":{"id":"/docs/overview/release-notes-63","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4810 - Fix data race in format_endpoint_info()"},"2048":{"id":"/docs/overview/release-notes-64","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4819 - Can't seek for writable tls server if connected to readonly server"},"2049":{"id":"/docs/overview/release-notes-65","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4846 - Failure to reload database due to missing ACL"},"2050":{"id":"/docs/overview/release-notes-66","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4848 - Possible stack overflow in setup_random"},"2051":{"id":"/docs/overview/release-notes-67","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4858 - Remove the lock contention between snapshotting and the sync operation"},"2052":{"id":"/docs/overview/release-notes-68","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4872 - SnapshotCommand should not perform fastForwardFromEdits"},"2053":{"id":"/docs/overview/release-notes-69","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4886 - observer with small myid can't join SASL quorum"},"2054":{"id":"/docs/overview/release-notes-70","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4889 - Fallback to DIGEST-MD5 auth mech should be disabled in Fips mode"},"2055":{"id":"/docs/overview/release-notes-71","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4900 - Bump patch release of jetty to include CVE fix for CVE-2024-6763"},"2056":{"id":"/docs/overview/release-notes-72","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4907 - Shouldn't throw \"Len error\" when server closing cause confusion"},"2057":{"id":"/docs/overview/release-notes-73","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4909 - When a spurious wakeup occurs, the client's waiting time may exceed requestTimeout."},"2058":{"id":"/docs/overview/release-notes-74","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4919 - ResponseCache supposed to be a LRU cache"},"2059":{"id":"/docs/overview/release-notes-75","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4921 - Zookeeper Client 3.9.3 Fails to Reconnect After Network Failures"},"2060":{"id":"/docs/overview/release-notes-76","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4925 - Diff sync introduce hole in stale follower's committedLog which cause data loss in leading"},"2061":{"id":"/docs/overview/release-notes-77","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4928 - Version in zookeeper_version.h is not updated"},"2062":{"id":"/docs/overview/release-notes-78","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4933 - Connection throttle exception causing all connections to be rejected"},"2063":{"id":"/docs/overview/release-notes-79","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4940 - Enabling zookeeper.ssl.ocsp with JRE TLS provider errors out"},"2064":{"id":"/docs/overview/release-notes-80","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4953 - Fixing Typo In ZooKeeper Programmer's Guide"},"2065":{"id":"/docs/overview/release-notes-81","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-1","content":"ZOOKEEPER-4960 - Upgrade OWASP plugin to 12.1.3 due to recent parsing errors"},"2066":{"id":"/docs/overview/release-notes-82","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#new-feature","content":"ZOOKEEPER-4895 - Introduce a helper function for C client to generate password for SASL authentication"},"2067":{"id":"/docs/overview/release-notes-83","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-1","content":"ZOOKEEPER-4790 - TLS Quorum hostname verification breaks in some scenarios"},"2068":{"id":"/docs/overview/release-notes-84","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-1","content":"ZOOKEEPER-4852 - Fix the bad \"*uuuuu\" mark in the ASF license"},"2069":{"id":"/docs/overview/release-notes-85","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-1","content":"ZOOKEEPER-4891 - Update logback to 1.3.15 to fix CVE-2024-12798."},"2070":{"id":"/docs/overview/release-notes-86","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-1","content":"ZOOKEEPER-4902 - Document that read-only mode also enables isro 4lw"},"2071":{"id":"/docs/overview/release-notes-87","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-1","content":"ZOOKEEPER-4906 - Log full exception details for server JAAS config failure"},"2072":{"id":"/docs/overview/release-notes-88","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-1","content":"ZOOKEEPER-4944 - Cache zookeeper dists for end to end compatibility tests"},"2073":{"id":"/docs/overview/release-notes-89","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-1","content":"ZOOKEEPER-4954 - Use FIPS style hostname verification when no custom truststore is specified"},"2074":{"id":"/docs/overview/release-notes-90","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-1","content":"ZOOKEEPER-4964 - Check permissions individually during admin server auth"},"2075":{"id":"/docs/overview/release-notes-91","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-1","content":"ZOOKEEPER-4897 - Upgrade Netty to fix CVE-2025-24970 in ZooKeeper 3.9.3"},"2076":{"id":"/docs/overview/release-notes-92","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-1","content":"ZOOKEEPER-4959 - Fix license files after logback/slf4j upgrade"},"2077":{"id":"/docs/overview/release-notes-93","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-2332 - Zookeeper failed to start for empty txn log"},"2078":{"id":"/docs/overview/release-notes-94","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-2623 - CheckVersion outside of Multi causes NullPointerException"},"2079":{"id":"/docs/overview/release-notes-95","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4293 - Lock Contention in ClientCnxnSocketNetty (possible deadlock)"},"2080":{"id":"/docs/overview/release-notes-96","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4394 - Learner.syncWithLeader got NullPointerException"},"2081":{"id":"/docs/overview/release-notes-97","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4409 - NullPointerException in SendAckRequestProcessor"},"2082":{"id":"/docs/overview/release-notes-98","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4508 - ZooKeeper client run to endless loop in ClientCnxn.SendThread.run if all server down"},"2083":{"id":"/docs/overview/release-notes-99","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4712 - Follower.shutdown() and Observer.shutdown() do not correctly shutdown the syncProcessor, which may lead to data inconsistency"},"2084":{"id":"/docs/overview/release-notes-100","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4733 - non-return function error and asan error in CPPUNIT TESTs"},"2085":{"id":"/docs/overview/release-notes-101","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4752 - Remove version files in zookeeper-server/src/main from .gitignore"},"2086":{"id":"/docs/overview/release-notes-102","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4804 - Use daemon threads for Netty client"},"2087":{"id":"/docs/overview/release-notes-103","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4814 - Protocol desynchronization after Connect for (some) old clients"},"2088":{"id":"/docs/overview/release-notes-104","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4839 - When DigestMD5 is used to enable mandatory client authentication, users that do not exist can log in"},"2089":{"id":"/docs/overview/release-notes-105","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4843 - Encountering an 'Unreasonable Length' error when configuring jute.maxbuffer to 1GB or more"},"2090":{"id":"/docs/overview/release-notes-106","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-2","content":"ZOOKEEPER-4876 - jetty-http-9.4.53.v20231009.jar: CVE-2024-6763(3.7)"},"2091":{"id":"/docs/overview/release-notes-107","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#new-feature-1","content":"ZOOKEEPER-4747 - Java api lacks synchronous version of sync() call"},"2092":{"id":"/docs/overview/release-notes-108","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-2","content":"ZOOKEEPER-4850 - Enhance zkCli Tool to Support Reading and Writing Binary Data"},"2093":{"id":"/docs/overview/release-notes-109","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-2","content":"ZOOKEEPER-4851 - Honor X-Forwarded-For optionally in IPAuthenticationProvider"},"2094":{"id":"/docs/overview/release-notes-110","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-2","content":"ZOOKEEPER-4860 - Disable X-Forwarded-For in IPAuthenticationProvider by default"},"2095":{"id":"/docs/overview/release-notes-111","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#test-1","content":"ZOOKEEPER-4859 - C client tests hang to be cancelled quite often"},"2096":{"id":"/docs/overview/release-notes-112","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-2","content":"ZOOKEEPER-4820 - zookeeper pom leaks logback dependency"},"2097":{"id":"/docs/overview/release-notes-113","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-2","content":"ZOOKEEPER-4868 - Bump commons-io library to 2.14.0"},"2098":{"id":"/docs/overview/release-notes-114","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#sub-task-1","content":"ZOOKEEPER-910 - Use SelectionKey.isXYZ() methods instead of complicated binary logic"},"2099":{"id":"/docs/overview/release-notes-115","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#sub-task-1","content":"ZOOKEEPER-4728 - Zookeeper cannot bind to itself forever if DNS is not ready when startup"},"2100":{"id":"/docs/overview/release-notes-116","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-3","content":"ZOOKEEPER-2590 - exists() should check read ACL permission"},"2101":{"id":"/docs/overview/release-notes-117","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-3","content":"ZOOKEEPER-4236 - Java Client SendThread create many unnecessary Login objects"},"2102":{"id":"/docs/overview/release-notes-118","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-3","content":"ZOOKEEPER-4415 - Zookeeper 3.7.0 : The client supported protocol versions [TLSv1.3] are not accepted by server preferences"},"2103":{"id":"/docs/overview/release-notes-119","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-3","content":"ZOOKEEPER-4730 - Incorrect datadir and logdir size reported from admin and 4lw dirs command"},"2104":{"id":"/docs/overview/release-notes-120","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-3","content":"ZOOKEEPER-4785 - Txn loss due to race condition in Learner.syncWithLeader() during DIFF sync"},"2105":{"id":"/docs/overview/release-notes-121","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-3","content":"ZOOKEEPER-3486 - add the doc about how to configure SSL/TLS for the admin server"},"2106":{"id":"/docs/overview/release-notes-122","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-3","content":"ZOOKEEPER-4756 - Merge script should use GitHub api to merge pull requests"},"2107":{"id":"/docs/overview/release-notes-123","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-3","content":"ZOOKEEPER-4778 - Patch jetty, netty, and logback to remove high severity vulnerabilities"},"2108":{"id":"/docs/overview/release-notes-124","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-3","content":"ZOOKEEPER-4794 - Reduce the ZKDatabase#committedLog memory usage"},"2109":{"id":"/docs/overview/release-notes-125","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-3","content":"ZOOKEEPER-4799 - Refactor ACL check in addWatch command"},"2110":{"id":"/docs/overview/release-notes-126","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-3","content":"ZOOKEEPER-4801 - Add memory size limitation policy for ZkDataBase#committedLog"},"2111":{"id":"/docs/overview/release-notes-127","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#wish","content":"ZOOKEEPER-4807 - Add sid for the leader goodbye log"},"2112":{"id":"/docs/overview/release-notes-128","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-4","content":"ZOOKEEPER-4732 - improve Reproducible Builds"},"2113":{"id":"/docs/overview/release-notes-129","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-4","content":"ZOOKEEPER-4753 - Explicit handling of DIGEST-MD5 vs GSSAPI in quorum auth"},"2114":{"id":"/docs/overview/release-notes-130","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-3","content":"ZOOKEEPER-4751 - Update snappy-java to 1.1.10.5 to address CVE-2023-43642"},"2115":{"id":"/docs/overview/release-notes-131","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-3","content":"ZOOKEEPER-4754 - Update Jetty to avoid CVE-2023-36479, CVE-2023-40167, and CVE-2023-41900"},"2116":{"id":"/docs/overview/release-notes-132","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-3","content":"ZOOKEEPER-4755 - Handle Netty CVE-2023-4586"},"2117":{"id":"/docs/overview/release-notes-133","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#sub-task-2","content":"ZOOKEEPER-4327 - Flaky test: RequestThrottlerTest"},"2118":{"id":"/docs/overview/release-notes-134","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-2108 - Compilation error in ZkAdaptor.cc with GCC 4.7 or later"},"2119":{"id":"/docs/overview/release-notes-135","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-3652 - Improper synchronization in ClientCnxn"},"2120":{"id":"/docs/overview/release-notes-136","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-3908 - zktreeutil multiple issues"},"2121":{"id":"/docs/overview/release-notes-137","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-3996 - Flaky test: ReadOnlyModeTest.testConnectionEvents"},"2122":{"id":"/docs/overview/release-notes-138","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4026 - CREATE2 requests embedded in a MULTI request only get a regular CREATE response"},"2123":{"id":"/docs/overview/release-notes-139","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4296 - NullPointerException when ClientCnxnSocketNetty is closed without being opened"},"2124":{"id":"/docs/overview/release-notes-140","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4308 - Flaky test: EagerACLFilterTest.testSetDataFail"},"2125":{"id":"/docs/overview/release-notes-141","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4393 - Problem to connect to zookeeper in FIPS mode"},"2126":{"id":"/docs/overview/release-notes-142","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4466 - Support different watch modes on same path"},"2127":{"id":"/docs/overview/release-notes-143","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4471 - Remove WatcherType.Children break persistent watcher's child events"},"2128":{"id":"/docs/overview/release-notes-144","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4473 - zooInspector create root node fail with path validate"},"2129":{"id":"/docs/overview/release-notes-145","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4475 - Persistent recursive watcher got NodeChildrenChanged event"},"2130":{"id":"/docs/overview/release-notes-146","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4477 - Single Kerberos ticket renewal failure can prevent all future renewals since Java 9"},"2131":{"id":"/docs/overview/release-notes-147","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4504 - ZKUtil#deleteRecursive causing deadlock in HDFS HA functionality"},"2132":{"id":"/docs/overview/release-notes-148","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4505 - CVE-2020-36518 - Upgrade jackson databind to 2.13.2.1"},"2133":{"id":"/docs/overview/release-notes-149","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4511 - Flaky test: FileTxnSnapLogMetricsTest.testFileTxnSnapLogMetrics"},"2134":{"id":"/docs/overview/release-notes-150","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4514 - ClientCnxnSocketNetty throwing NPE"},"2135":{"id":"/docs/overview/release-notes-151","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4515 - ZK Cli quit command always logs error"},"2136":{"id":"/docs/overview/release-notes-152","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4537 - Race between SyncThread and CommitProcessor thread"},"2137":{"id":"/docs/overview/release-notes-153","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4549 - ProviderRegistry may be repeatedly initialized"},"2138":{"id":"/docs/overview/release-notes-154","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4565 - Config watch path get truncated abnormally and fail chroot zookeeper client"},"2139":{"id":"/docs/overview/release-notes-155","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4647 - Tests don't pass on JDK20 because we try to mock InetAddress"},"2140":{"id":"/docs/overview/release-notes-156","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4654 - Fix C client test compilation error in Util.cc."},"2141":{"id":"/docs/overview/release-notes-157","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4674 - C client tests don't pass on CI"},"2142":{"id":"/docs/overview/release-notes-158","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4719 - Use bouncycastle jdk18on instead of jdk15on"},"2143":{"id":"/docs/overview/release-notes-159","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#bug-4","content":"ZOOKEEPER-4721 - Upgrade OWASP Dependency Check to 8.3.1"},"2144":{"id":"/docs/overview/release-notes-160","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#new-feature-2","content":"ZOOKEEPER-4570 - Admin server API for taking snapshot and stream out the data"},"2145":{"id":"/docs/overview/release-notes-161","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#new-feature-2","content":"ZOOKEEPER-4655 - Communicate the Zxid that triggered a WatchEvent to fire"},"2146":{"id":"/docs/overview/release-notes-162","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-3731 - Disable HTTP TRACE Method"},"2147":{"id":"/docs/overview/release-notes-163","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-3806 - TLS - dynamic loading for client trust/key store"},"2148":{"id":"/docs/overview/release-notes-164","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-3860 - Avoid reverse DNS lookup for hostname verification when hostnames are provided in the connection url"},"2149":{"id":"/docs/overview/release-notes-165","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4289 - Reduce the performance impact of Prometheus metrics"},"2150":{"id":"/docs/overview/release-notes-166","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4303 - ZooKeeperServerEmbedded could auto-assign and expose ports"},"2151":{"id":"/docs/overview/release-notes-167","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4464 - zooinspector display \"Ephemeral Owner\" in hex for easy match to jmx session"},"2152":{"id":"/docs/overview/release-notes-168","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4467 - Missing op code (addWatch) in Request.op2String"},"2153":{"id":"/docs/overview/release-notes-169","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4472 - Support persistent watchers removing individually"},"2154":{"id":"/docs/overview/release-notes-170","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4474 - ZooDefs.opNames is unused"},"2155":{"id":"/docs/overview/release-notes-171","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4490 - Publish Clover results to SonarQube"},"2156":{"id":"/docs/overview/release-notes-172","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4491 - Adding SSL support to Zktreeutil"},"2157":{"id":"/docs/overview/release-notes-173","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4492 - Merge readOnly field into ConnectRequest and Response"},"2158":{"id":"/docs/overview/release-notes-174","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4494 - Fix error message format"},"2159":{"id":"/docs/overview/release-notes-175","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4518 - remove useless log in the PrepRequestProcessor#pRequest method"},"2160":{"id":"/docs/overview/release-notes-176","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4519 - Testable interface should have a testableCloseSocket() method"},"2161":{"id":"/docs/overview/release-notes-177","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4529 - Upgrade netty to 4.1.76.Final"},"2162":{"id":"/docs/overview/release-notes-178","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4531 - Revert Netty TCNative change"},"2163":{"id":"/docs/overview/release-notes-179","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4551 - Do not log spammy stacktrace when a client closes its connection"},"2164":{"id":"/docs/overview/release-notes-180","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4566 - Create tool for recursive snapshot analysis"},"2165":{"id":"/docs/overview/release-notes-181","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4573 - Encapsulate request bytebuffer in Request"},"2166":{"id":"/docs/overview/release-notes-182","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4575 - ZooKeeperServer#processPacket take record instead of bytes"},"2167":{"id":"/docs/overview/release-notes-183","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4616 - Upgrade docker image for the dev environment to resolve CVEs"},"2168":{"id":"/docs/overview/release-notes-184","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4622 - Add Netty-TcNative OpenSSL Support"},"2169":{"id":"/docs/overview/release-notes-185","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4636 - Fix zkServer.sh for AIX"},"2170":{"id":"/docs/overview/release-notes-186","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4657 - Publish SBOM artifacts"},"2171":{"id":"/docs/overview/release-notes-187","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4659 - Upgrade Commons CLI to 1.5.0 due to OWASP failing on 1.4 CVE-2021-37533"},"2172":{"id":"/docs/overview/release-notes-188","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4660 - Suppress false positive OWASP failure for CVE-2021-37533"},"2173":{"id":"/docs/overview/release-notes-189","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4661 - Upgrade Jackson Databind to 2.13.4.2 for CVE-2022-42003 CVE-2022-42004"},"2174":{"id":"/docs/overview/release-notes-190","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4705 - Restrict GitHub merge button to allow squash commit only"},"2175":{"id":"/docs/overview/release-notes-191","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4717 - Cache serialize data in the request to avoid repeat serialize."},"2176":{"id":"/docs/overview/release-notes-192","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#improvement-5","content":"ZOOKEEPER-4718 - Removing unnecessary heap memory allocation in serialization can help reduce GC pressure."},"2177":{"id":"/docs/overview/release-notes-193","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#test-2","content":"ZOOKEEPER-4630 - Fix the NPE from ConnectionMetricsTest.testRevalidateCount"},"2178":{"id":"/docs/overview/release-notes-194","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#test-2","content":"ZOOKEEPER-4676 - ReadOnlyModeTest doesn't compile on JDK20 (Thread.suspend has been removed)"},"2179":{"id":"/docs/overview/release-notes-195","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#wish-1","content":"ZOOKEEPER-3615 - write a TLA+ specification to verify Zab protocol"},"2180":{"id":"/docs/overview/release-notes-196","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#wish-1","content":"ZOOKEEPER-4710 - Fix ZkUtil deleteInBatch() by releasing semaphore after set flag"},"2181":{"id":"/docs/overview/release-notes-197","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#wish-1","content":"ZOOKEEPER-4714 - Improve syncRequestProcessor performance"},"2182":{"id":"/docs/overview/release-notes-198","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#wish-1","content":"ZOOKEEPER-4715 - Verify file size and position in testGetCurrentLogSize."},"2183":{"id":"/docs/overview/release-notes-199","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4479 - Tests: C client test TestOperations.cc testTimeoutCausedByWatches1 is very flaky on CI"},"2184":{"id":"/docs/overview/release-notes-200","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4482 - Fix LICENSE FILES for commons-io and commons-cli"},"2185":{"id":"/docs/overview/release-notes-201","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4599 - Upgrade Jetty to avoid CVE-2022-2048"},"2186":{"id":"/docs/overview/release-notes-202","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4641 - GH CI fails with error: implicit declaration of function FIPS_mode"},"2187":{"id":"/docs/overview/release-notes-203","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4642 - Remove Travis CI"},"2188":{"id":"/docs/overview/release-notes-204","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4649 - Upgrade netty to 4.1.86 because of CVE-2022-41915"},"2189":{"id":"/docs/overview/release-notes-205","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4669 - Upgrade snappy-java to 1.1.9.1 (in order to support M1 macs)"},"2190":{"id":"/docs/overview/release-notes-206","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4688 - Upgrade cyclonedx-maven-plugin to 2.7.6"},"2191":{"id":"/docs/overview/release-notes-207","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4700 - Update Jetty for fixing CVE-2023-26048 and CVE-2023-26049"},"2192":{"id":"/docs/overview/release-notes-208","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4707 - Update snappy-java to address multiple CVEs"},"2193":{"id":"/docs/overview/release-notes-209","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4709 - Upgrade Netty to 4.1.94.Final"},"2194":{"id":"/docs/overview/release-notes-210","page_id":"/docs/overview/release-notes","tags":[],"type":"text","url":"/docs/overview/release-notes#task-4","content":"ZOOKEEPER-4716 - Upgrade jackson to 2.15.2, suppress two false positive CVE errors"}},"count":2194},"sorting":{"language":"english","sortableProperties":["content","page_id","type","url"],"sortablePropertiesWithTypes":{"content":"string","page_id":"string","type":"string","url":"string"},"sorts":{"content":{"docs":{"1":139,"2":1074,"3":920,"4":1069,"5":439,"6":1413,"7":965,"8":907,"9":1698,"10":947,"11":892,"12":1601,"13":101,"14":1572,"15":779,"16":241,"17":1248,"18":1883,"19":661,"20":836,"21":1609,"22":1481,"23":1860,"24":1763,"25":1970,"26":1602,"27":608,"28":607,"29":1262,"30":1002,"31":287,"32":1305,"33":1306,"34":948,"35":950,"36":951,"37":949,"38":953,"39":952,"40":954,"41":264,"42":1158,"43":1632,"44":265,"45":668,"46":791,"47":793,"48":792,"49":1128,"50":598,"51":609,"52":335,"53":1172,"54":1524,"55":1463,"56":359,"57":1955,"58":1667,"59":994,"60":349,"61":377,"62":417,"63":502,"64":533,"65":1231,"66":1345,"67":1346,"68":1390,"69":1794,"70":1792,"71":489,"72":1793,"73":958,"74":1562,"75":832,"76":658,"77":651,"78":1400,"79":1697,"80":29,"81":1737,"82":30,"83":912,"84":31,"85":1738,"86":32,"87":911,"88":33,"89":914,"90":34,"91":910,"92":35,"93":913,"94":36,"95":915,"96":37,"97":1739,"98":38,"99":1740,"100":155,"101":673,"102":992,"103":1464,"104":1292,"105":1192,"106":1029,"107":628,"108":117,"109":1773,"110":244,"111":367,"112":354,"113":373,"114":659,"115":488,"116":501,"117":534,"118":637,"119":801,"120":829,"121":865,"122":876,"123":964,"124":1045,"125":1210,"126":1230,"127":1285,"128":1263,"129":1324,"130":1398,"131":1391,"132":1052,"133":1434,"134":1777,"135":1790,"136":1789,"137":1781,"138":1885,"139":339,"140":562,"141":1138,"142":1743,"143":982,"144":788,"145":995,"146":252,"147":1105,"148":409,"149":566,"150":410,"151":1750,"152":1772,"153":996,"154":670,"155":411,"156":116,"157":1194,"158":520,"159":1063,"160":353,"161":345,"162":956,"163":143,"164":329,"165":525,"166":1675,"167":561,"168":1736,"169":491,"170":523,"171":1097,"172":440,"173":141,"174":2185,"175":1710,"176":767,"177":669,"178":319,"179":1238,"180":1048,"181":432,"182":1711,"183":255,"184":1671,"185":1483,"186":434,"187":1712,"188":660,"189":643,"190":1108,"191":1316,"192":336,"193":1326,"194":1706,"195":928,"196":927,"197":320,"198":957,"199":934,"200":625,"201":933,"202":931,"203":243,"204":242,"205":1426,"206":565,"207":519,"208":1791,"209":1783,"210":1784,"211":1782,"212":932,"213":268,"214":576,"215":575,"216":372,"217":375,"218":374,"219":371,"220":370,"221":369,"222":368,"223":2157,"224":2154,"225":2155,"226":2156,"227":321,"228":1268,"229":590,"230":936,"231":926,"232":528,"233":1204,"234":1205,"235":1203,"236":1202,"237":1201,"238":2168,"239":144,"240":522,"241":930,"242":929,"243":483,"244":703,"245":1526,"246":419,"247":734,"248":1651,"249":1628,"250":613,"251":1646,"252":1830,"253":1831,"254":1835,"255":1832,"256":1580,"257":1036,"258":291,"259":1322,"260":13,"261":14,"262":17,"263":1323,"264":236,"265":237,"266":863,"267":864,"268":1086,"269":983,"270":1668,"271":881,"272":874,"273":880,"274":617,"275":1259,"276":1647,"277":1319,"278":1834,"279":1833,"280":1425,"281":1320,"282":1558,"283":516,"284":1713,"285":1529,"286":935,"287":804,"288":376,"289":879,"290":1714,"291":1702,"292":1264,"293":1309,"294":1715,"295":292,"296":1428,"297":650,"298":1809,"299":332,"300":1716,"301":1139,"302":1717,"303":442,"304":1370,"305":1160,"306":55,"307":750,"308":1449,"309":325,"310":517,"311":1047,"312":1046,"313":901,"314":1557,"315":263,"316":486,"317":487,"318":485,"319":1282,"320":682,"321":959,"322":602,"323":395,"324":603,"325":680,"326":1175,"327":1220,"328":828,"329":1870,"330":2183,"331":1348,"332":2160,"333":1272,"334":1635,"335":290,"336":1648,"337":526,"338":289,"339":1824,"340":2148,"341":527,"342":1366,"343":1357,"344":1358,"345":1359,"346":1363,"347":1364,"348":1365,"349":1361,"350":1354,"351":1349,"352":1352,"353":1356,"354":1351,"355":1347,"356":1353,"357":1360,"358":1350,"359":16,"360":18,"361":15,"362":444,"363":1355,"364":1362,"365":1367,"366":316,"367":317,"368":240,"369":857,"370":858,"371":856,"372":971,"373":973,"374":1658,"375":584,"376":422,"377":482,"378":445,"379":621,"380":1539,"381":1540,"382":1304,"383":989,"384":1149,"385":2161,"386":1520,"387":616,"388":847,"389":1657,"390":744,"391":1828,"392":1829,"393":1654,"394":861,"395":862,"396":849,"397":1315,"398":1140,"399":972,"400":443,"401":1659,"402":990,"403":1839,"404":1847,"405":85,"406":999,"407":802,"408":991,"409":1497,"410":2166,"411":2167,"412":2153,"413":2152,"414":2151,"415":1898,"416":1900,"417":1899,"418":1001,"419":2164,"420":2165,"421":1005,"422":134,"423":138,"424":135,"425":132,"426":1004,"427":130,"428":1000,"429":133,"430":993,"431":129,"432":136,"433":137,"434":131,"435":128,"436":426,"437":460,"438":1487,"439":1541,"440":578,"441":1164,"442":1960,"443":1637,"444":974,"445":803,"446":1321,"447":513,"448":1586,"449":1542,"450":1522,"451":1762,"452":1608,"453":1718,"454":1491,"455":966,"456":458,"457":397,"458":1431,"459":1415,"460":1414,"461":1206,"462":330,"463":1311,"464":466,"465":416,"466":1310,"467":1660,"468":1432,"469":331,"470":1312,"471":1509,"472":1919,"473":314,"474":1261,"475":979,"476":389,"477":1519,"478":1072,"479":310,"480":1260,"481":978,"482":388,"483":644,"484":469,"485":470,"486":471,"487":472,"488":1329,"489":473,"490":474,"491":1017,"492":1018,"493":620,"494":475,"495":476,"496":1019,"497":1020,"498":1855,"499":477,"500":478,"501":1021,"502":1022,"503":919,"504":479,"505":480,"506":1023,"507":1024,"508":596,"509":1957,"510":611,"511":1719,"512":219,"513":1767,"514":1884,"515":671,"516":810,"517":1281,"518":811,"519":401,"520":1875,"521":1545,"522":408,"523":754,"524":1143,"525":1454,"526":751,"527":1592,"528":604,"529":1576,"530":1070,"531":457,"532":1582,"533":615,"534":601,"535":1920,"536":1676,"537":757,"538":2187,"539":494,"540":140,"541":1643,"542":309,"543":1173,"544":364,"545":665,"546":118,"547":327,"548":350,"549":362,"550":398,"551":447,"552":453,"553":456,"554":629,"555":638,"556":639,"557":640,"558":676,"559":891,"560":918,"561":1112,"562":1135,"563":1159,"564":1169,"565":1191,"566":1274,"567":1286,"568":1288,"569":1389,"570":1422,"571":1774,"572":1853,"573":1297,"574":115,"575":328,"576":1298,"577":363,"578":406,"579":404,"580":402,"581":405,"582":450,"583":449,"584":451,"585":635,"586":634,"587":636,"588":630,"589":1300,"590":889,"591":888,"592":1693,"593":1136,"594":302,"595":1109,"596":1279,"597":114,"598":1148,"599":1190,"600":1278,"601":1276,"602":1746,"603":1747,"604":1275,"605":1299,"606":1424,"607":1301,"608":1296,"609":510,"610":685,"611":304,"612":1335,"613":1334,"614":1588,"615":1575,"616":508,"617":545,"618":547,"619":247,"620":1744,"621":511,"622":214,"623":1239,"624":1214,"625":962,"626":627,"627":794,"628":1014,"629":347,"630":539,"631":125,"632":1155,"633":1115,"634":1384,"635":985,"636":1644,"637":1302,"638":1732,"639":1387,"640":66,"641":1385,"642":1382,"643":815,"644":20,"645":1216,"646":556,"647":1308,"648":557,"649":1113,"650":1291,"651":1864,"652":1307,"653":1383,"654":1681,"655":1386,"656":509,"657":1907,"658":1910,"659":1842,"660":1755,"661":1908,"662":1482,"663":1555,"664":1909,"665":506,"666":1742,"667":505,"668":1604,"669":1621,"670":1161,"671":632,"672":1114,"673":1381,"674":159,"675":105,"676":239,"677":490,"678":1500,"679":1041,"680":507,"681":886,"682":1032,"683":218,"684":1033,"685":351,"686":74,"687":1193,"688":1027,"689":124,"690":1532,"691":1531,"692":1851,"693":1733,"694":984,"695":737,"696":580,"697":961,"698":835,"699":1096,"700":1544,"701":873,"702":875,"703":1567,"704":782,"705":1841,"706":1123,"707":1530,"708":272,"709":1523,"710":1965,"711":795,"712":1624,"713":1553,"714":1007,"715":1549,"716":285,"717":1623,"718":1331,"719":781,"720":769,"721":167,"722":1570,"723":1012,"724":6,"725":161,"726":1430,"727":727,"728":968,"729":895,"730":1859,"731":305,"732":1819,"733":614,"734":73,"735":544,"736":844,"737":679,"738":1388,"739":1223,"740":906,"741":904,"742":1949,"743":1196,"744":1369,"745":211,"746":1638,"747":1245,"748":1477,"749":1614,"750":1533,"751":1840,"752":286,"753":1881,"754":905,"755":1973,"756":1662,"757":937,"758":939,"759":463,"760":1137,"761":1197,"762":1200,"763":900,"764":1195,"765":1198,"766":877,"767":878,"768":1199,"769":866,"770":867,"771":797,"772":593,"773":594,"774":796,"775":436,"776":805,"777":1396,"778":1265,"779":25,"780":1393,"781":1663,"782":938,"783":940,"784":464,"785":2189,"786":1371,"787":1397,"788":437,"789":806,"790":1395,"791":1266,"792":26,"793":1394,"794":963,"795":681,"796":1006,"797":946,"798":360,"799":524,"800":1124,"801":149,"802":647,"803":798,"804":845,"805":618,"806":235,"807":233,"808":1852,"809":1551,"810":150,"811":521,"812":1525,"813":1962,"814":446,"815":356,"816":357,"817":1720,"818":689,"819":1125,"820":809,"821":355,"822":1376,"823":1126,"824":1151,"825":1517,"826":1769,"827":1217,"828":648,"829":500,"830":799,"831":1244,"832":1243,"833":213,"834":1471,"835":859,"836":1770,"837":1270,"838":315,"839":1753,"840":334,"841":825,"842":313,"843":1073,"844":1472,"845":1896,"846":1094,"847":1897,"848":1709,"849":108,"850":1402,"851":1212,"852":1084,"853":1233,"854":234,"855":960,"856":1615,"857":827,"858":1234,"859":1869,"860":484,"861":421,"862":1016,"863":742,"864":95,"865":1049,"866":687,"867":684,"868":683,"869":553,"870":158,"871":1802,"872":1051,"873":1293,"874":585,"875":1665,"876":1237,"877":1664,"878":1849,"879":1050,"880":288,"881":1645,"882":1850,"883":430,"884":944,"885":1144,"886":678,"887":675,"888":1076,"889":1528,"890":459,"891":361,"892":554,"893":259,"894":378,"895":893,"896":1232,"897":555,"898":657,"899":1328,"900":1761,"901":1170,"902":1641,"903":1515,"904":1838,"905":1077,"906":541,"907":1560,"908":1844,"909":1174,"910":1141,"911":1559,"912":168,"913":1142,"914":1798,"915":1843,"916":1403,"917":894,"918":1421,"919":1534,"920":75,"921":917,"922":1122,"923":1419,"924":1435,"925":1436,"926":1437,"927":1438,"928":1439,"929":784,"930":688,"931":1337,"932":1799,"933":107,"934":1495,"935":1420,"936":225,"937":537,"938":1336,"939":1433,"940":71,"941":72,"942":1417,"943":1418,"944":771,"945":1510,"946":807,"947":403,"948":1564,"949":407,"950":1035,"951":1377,"952":1450,"953":80,"954":1573,"955":1188,"956":1863,"957":1703,"958":1146,"959":1924,"960":1290,"961":890,"962":455,"963":1952,"964":1042,"965":1460,"966":1879,"967":1607,"968":739,"969":1581,"970":773,"971":333,"972":1754,"973":1574,"974":1878,"975":1877,"976":1318,"977":686,"978":1317,"979":1208,"980":1932,"981":1688,"982":860,"983":1630,"984":1629,"985":1631,"986":1163,"987":1211,"988":153,"989":1440,"990":599,"991":969,"992":1209,"993":1694,"994":1171,"995":1236,"996":1891,"997":1889,"998":1890,"999":1888,"1000":1895,"1001":1894,"1002":1893,"1003":1892,"1004":902,"1005":1416,"1006":1227,"1007":821,"1008":260,"1009":1872,"1010":1886,"1011":1455,"1012":577,"1013":293,"1014":843,"1015":922,"1016":1590,"1017":1250,"1018":1289,"1019":1906,"1020":308,"1021":504,"1022":1496,"1023":774,"1024":1874,"1025":1010,"1026":102,"1027":1748,"1028":503,"1029":1165,"1030":341,"1031":1701,"1032":4,"1033":0,"1034":1325,"1035":1734,"1036":1228,"1037":550,"1038":551,"1039":113,"1040":1666,"1041":1111,"1042":1708,"1043":531,"1044":1034,"1045":1110,"1046":1707,"1047":1083,"1048":532,"1049":824,"1050":1594,"1051":1873,"1052":1380,"1053":1378,"1054":808,"1055":529,"1056":1283,"1057":326,"1058":1249,"1059":358,"1060":1280,"1061":2158,"1062":2176,"1063":2184,"1064":1075,"1065":896,"1066":897,"1067":1222,"1068":1887,"1069":294,"1070":546,"1071":548,"1072":549,"1073":842,"1074":1225,"1075":813,"1076":1226,"1077":1152,"1078":253,"1079":1399,"1080":823,"1081":250,"1082":1118,"1083":344,"1084":1132,"1085":249,"1086":1333,"1087":1429,"1088":786,"1089":271,"1090":270,"1091":1804,"1092":63,"1093":785,"1094":1461,"1095":1565,"1096":1585,"1097":1485,"1098":1682,"1099":1026,"1100":1061,"1101":89,"1102":1516,"1103":88,"1104":1678,"1105":64,"1106":780,"1107":1375,"1108":1374,"1109":1373,"1110":841,"1111":1778,"1112":93,"1113":1207,"1114":1119,"1115":1505,"1116":1492,"1117":346,"1118":559,"1119":435,"1120":1687,"1121":1479,"1122":838,"1123":1462,"1124":1547,"1125":1546,"1126":160,"1127":834,"1128":740,"1129":741,"1130":391,"1131":1506,"1132":1156,"1133":1597,"1134":1494,"1135":1652,"1136":1825,"1137":224,"1138":667,"1139":1493,"1140":1476,"1141":1721,"1142":496,"1143":1595,"1144":217,"1145":1846,"1146":1480,"1147":582,"1148":736,"1149":104,"1150":563,"1151":109,"1152":284,"1153":1916,"1154":1969,"1155":1025,"1156":1961,"1157":1814,"1158":1964,"1159":414,"1160":1153,"1161":1867,"1162":452,"1163":127,"1164":1486,"1165":1882,"1166":399,"1167":157,"1168":126,"1169":220,"1170":1925,"1171":1865,"1172":238,"1173":481,"1174":826,"1175":1868,"1176":1514,"1177":385,"1178":386,"1179":383,"1180":384,"1181":381,"1182":382,"1183":1511,"1184":1407,"1185":1408,"1186":1904,"1187":1917,"1188":1405,"1189":1406,"1190":1404,"1191":1610,"1192":1521,"1193":816,"1194":1470,"1195":817,"1196":1905,"1197":818,"1198":1656,"1199":819,"1200":1650,"1201":672,"1202":1722,"1203":1653,"1204":267,"1205":495,"1206":840,"1207":312,"1208":295,"1209":812,"1210":283,"1211":1600,"1212":1620,"1213":1543,"1214":1820,"1215":152,"1216":298,"1217":1427,"1218":583,"1219":1518,"1220":2169,"1221":2173,"1222":2174,"1223":2172,"1224":2171,"1225":2170,"1226":2175,"1227":2159,"1228":2149,"1229":2150,"1230":2178,"1231":2179,"1232":2181,"1233":2182,"1234":2180,"1235":848,"1236":2163,"1237":2177,"1238":2162,"1239":1475,"1240":1563,"1241":753,"1242":1219,"1243":301,"1244":747,"1245":1218,"1246":3,"1247":5,"1248":2,"1249":1,"1250":1723,"1251":1241,"1252":772,"1253":790,"1254":746,"1255":1724,"1256":1240,"1257":282,"1258":87,"1259":656,"1260":365,"1261":1661,"1262":273,"1263":258,"1264":820,"1265":23,"1266":591,"1267":1166,"1268":21,"1269":22,"1270":586,"1271":1806,"1272":343,"1273":28,"1274":1221,"1275":27,"1276":623,"1277":379,"1278":467,"1279":1929,"1280":1258,"1281":232,"1282":1314,"1283":1186,"1284":730,"1285":169,"1286":1674,"1287":1764,"1288":1725,"1289":1332,"1290":427,"1291":564,"1292":1901,"1293":1785,"1294":425,"1295":535,"1296":641,"1297":1256,"1298":387,"1299":121,"1300":1699,"1301":122,"1302":1672,"1303":1959,"1304":1921,"1305":1554,"1306":1513,"1307":24,"1308":1512,"1309":1458,"1310":1593,"1311":542,"1312":1726,"1313":770,"1314":1902,"1315":322,"1316":1489,"1317":1972,"1318":1913,"1319":1213,"1320":1821,"1321":1926,"1322":642,"1323":1822,"1324":1037,"1325":1967,"1326":2192,"1327":1776,"1328":1669,"1329":1154,"1330":1589,"1331":424,"1332":975,"1333":1130,"1334":418,"1335":970,"1336":1775,"1337":423,"1338":245,"1339":536,"1340":433,"1341":1044,"1342":646,"1343":338,"1344":1327,"1345":748,"1346":1880,"1347":1538,"1348":254,"1349":1284,"1350":1120,"1351":1642,"1352":887,"1353":1507,"1354":1552,"1355":967,"1356":1085,"1357":215,"1358":1966,"1359":248,"1360":1911,"1361":1954,"1362":1106,"1363":462,"1364":1956,"1365":1692,"1366":1508,"1367":655,"1368":1473,"1369":1927,"1370":1618,"1371":299,"1372":123,"1373":814,"1374":2190,"1375":1267,"1376":1093,"1377":1098,"1378":1287,"1379":1273,"1380":396,"1381":1131,"1382":100,"1383":1679,"1384":120,"1385":1815,"1386":1067,"1387":1813,"1388":1271,"1389":552,"1390":10,"1391":7,"1392":11,"1393":8,"1394":9,"1395":12,"1396":166,"1397":1584,"1398":1059,"1399":1469,"1400":1599,"1401":119,"1402":1741,"1403":600,"1404":164,"1405":778,"1406":898,"1407":246,"1408":1836,"1409":899,"1410":1060,"1411":1817,"1412":1566,"1413":1837,"1414":81,"1415":1818,"1416":420,"1417":92,"1418":2191,"1419":1812,"1420":768,"1421":1827,"1422":777,"1423":1810,"1424":1816,"1425":1786,"1426":461,"1427":1253,"1428":1101,"1429":1189,"1430":1811,"1431":1633,"1432":154,"1433":1068,"1434":1255,"1435":1488,"1436":1787,"1437":997,"1438":1797,"1439":415,"1440":454,"1441":303,"1442":306,"1443":1003,"1444":1100,"1445":1796,"1446":307,"1447":429,"1448":1099,"1449":1862,"1450":1788,"1451":67,"1452":1561,"1453":1372,"1454":257,"1455":97,"1456":1848,"1457":1157,"1458":654,"1459":79,"1460":760,"1461":1082,"1462":251,"1463":497,"1464":1133,"1465":1116,"1466":903,"1467":1162,"1468":1295,"1469":1215,"1470":1705,"1471":872,"1472":783,"1473":1066,"1474":1028,"1475":1616,"1476":1826,"1477":976,"1478":165,"1479":493,"1480":311,"1481":733,"1482":518,"1483":1845,"1484":498,"1485":1571,"1486":530,"1487":882,"1488":41,"1489":42,"1490":46,"1491":45,"1492":47,"1493":48,"1494":53,"1495":52,"1496":59,"1497":56,"1498":60,"1499":61,"1500":1057,"1501":1058,"1502":1117,"1503":492,"1504":1727,"1505":1627,"1506":1686,"1507":626,"1508":1728,"1509":1626,"1510":324,"1511":296,"1512":297,"1513":738,"1514":1478,"1515":732,"1516":1596,"1517":666,"1518":1577,"1519":1625,"1520":256,"1521":731,"1522":1876,"1523":1053,"1524":1054,"1525":39,"1526":40,"1527":43,"1528":44,"1529":50,"1530":49,"1531":54,"1532":51,"1533":57,"1534":58,"1535":62,"1536":1038,"1537":837,"1538":1246,"1539":1861,"1540":775,"1541":1031,"1542":96,"1543":789,"1544":162,"1545":1619,"1546":1690,"1547":1677,"1548":94,"1549":1457,"1550":674,"1551":885,"1552":412,"1553":883,"1554":1780,"1555":1745,"1556":884,"1557":756,"1558":1080,"1559":1039,"1560":1030,"1561":1247,"1562":1749,"1563":65,"1564":619,"1565":142,"1566":147,"1567":514,"1568":515,"1569":645,"1570":846,"1571":851,"1572":853,"1573":980,"1574":1015,"1575":1342,"1576":1343,"1577":1344,"1578":1441,"1579":1168,"1580":203,"1581":170,"1582":171,"1583":172,"1584":173,"1585":175,"1586":176,"1587":179,"1588":181,"1589":183,"1590":184,"1591":187,"1592":188,"1593":189,"1594":190,"1595":191,"1596":192,"1597":194,"1598":195,"1599":197,"1600":200,"1601":202,"1602":204,"1603":206,"1604":207,"1605":209,"1606":340,"1607":146,"1608":262,"1609":274,"1610":441,"1611":567,"1612":728,"1613":921,"1614":955,"1615":1102,"1616":1147,"1617":1254,"1618":1700,"1619":1704,"1620":1771,"1621":1807,"1622":1871,"1623":2193,"1624":216,"1625":755,"1626":743,"1627":1760,"1628":148,"1629":1501,"1630":1502,"1631":1938,"1632":925,"1633":1269,"1634":852,"1635":1943,"1636":854,"1637":855,"1638":981,"1639":1805,"1640":1092,"1641":1338,"1642":1340,"1643":1339,"1644":1341,"1645":1912,"1646":1442,"1647":839,"1648":1167,"1649":106,"1650":212,"1651":227,"1652":228,"1653":91,"1654":269,"1655":174,"1656":1498,"1657":1235,"1658":1948,"1659":177,"1660":178,"1661":394,"1662":1251,"1663":1252,"1664":1089,"1665":1088,"1666":180,"1667":1944,"1668":182,"1669":1680,"1670":588,"1671":589,"1672":185,"1673":186,"1674":266,"1675":649,"1676":1466,"1677":1527,"1678":572,"1679":112,"1680":1598,"1681":664,"1682":1958,"1683":2146,"1684":662,"1685":663,"1686":223,"1687":68,"1688":1803,"1689":98,"1690":99,"1691":86,"1692":1467,"1693":677,"1694":758,"1695":193,"1696":1468,"1697":1757,"1698":850,"1699":196,"1700":390,"1701":352,"1702":103,"1703":941,"1704":198,"1705":199,"1706":201,"1707":942,"1708":1071,"1709":1556,"1710":205,"1711":1129,"1712":69,"1713":512,"1714":1330,"1715":776,"1716":208,"1717":1768,"1718":210,"1719":1401,"1720":1465,"1721":1942,"1722":275,"1723":1800,"1724":568,"1725":729,"1726":1941,"1727":1766,"1728":1765,"1729":916,"1730":1801,"1731":1103,"1732":1503,"1733":1759,"1734":1758,"1735":1939,"1736":1945,"1737":924,"1738":540,"1739":943,"1740":1752,"1741":1808,"1742":1940,"1743":1915,"1744":706,"1745":725,"1746":701,"1747":691,"1748":709,"1749":692,"1750":711,"1751":712,"1752":723,"1753":695,"1754":694,"1755":715,"1756":714,"1757":721,"1758":700,"1759":699,"1760":1443,"1761":726,"1762":717,"1763":698,"1764":713,"1765":696,"1766":702,"1767":720,"1768":705,"1769":2188,"1770":708,"1771":716,"1772":718,"1773":707,"1774":704,"1775":719,"1776":724,"1777":697,"1778":690,"1779":693,"1780":710,"1781":722,"1782":1090,"1783":1056,"1784":2147,"1785":465,"1786":428,"1787":2186,"1788":1013,"1789":348,"1790":652,"1791":1303,"1792":759,"1793":1756,"1794":1095,"1795":1184,"1796":1606,"1797":1928,"1798":393,"1799":1936,"1800":1603,"1801":1935,"1802":1583,"1803":323,"1804":1934,"1805":1933,"1806":1548,"1807":1735,"1808":1903,"1809":1490,"1810":1914,"1811":1963,"1812":998,"1813":1946,"1814":1257,"1815":231,"1816":1313,"1817":1185,"1818":1673,"1819":1065,"1820":400,"1821":448,"1822":560,"1823":633,"1824":1277,"1825":631,"1826":1423,"1827":1918,"1828":1578,"1829":543,"1830":221,"1831":1968,"1832":1569,"1833":1931,"1834":1459,"1835":1729,"1836":787,"1837":1568,"1838":261,"1839":570,"1840":569,"1841":574,"1842":571,"1843":573,"1844":1689,"1845":1613,"1846":1923,"1847":156,"1848":822,"1849":1640,"1850":229,"1851":653,"1852":868,"1853":110,"1854":1412,"1855":342,"1856":380,"1857":1145,"1858":908,"1859":468,"1860":909,"1861":1751,"1862":226,"1863":1587,"1864":1187,"1865":1695,"1866":300,"1867":1605,"1868":1081,"1869":1078,"1870":1011,"1871":587,"1872":1823,"1873":1091,"1874":1127,"1875":945,"1876":222,"1877":1611,"1878":1950,"1879":871,"1880":111,"1881":1930,"1882":870,"1883":1535,"1884":90,"1885":1055,"1886":145,"1887":1622,"1888":82,"1889":1474,"1890":76,"1891":78,"1892":83,"1893":77,"1894":84,"1895":735,"1896":869,"1897":1951,"1898":151,"1899":1536,"1900":595,"1901":1537,"1902":337,"1903":1854,"1904":830,"1905":831,"1906":1484,"1907":1866,"1908":1150,"1909":1685,"1910":1087,"1911":230,"1912":745,"1913":70,"1914":1953,"1915":1971,"1916":592,"1917":1617,"1918":538,"1919":1779,"1920":800,"1921":438,"1922":1696,"1923":1937,"1924":1392,"1925":610,"1926":977,"1927":558,"1928":1134,"1929":1639,"1930":392,"1931":1107,"1932":499,"1933":1368,"1934":923,"1935":366,"1936":1121,"1937":1224,"1938":1079,"1939":1499,"1940":1242,"1941":1683,"1942":1294,"1943":1064,"1944":1691,"1945":1649,"1946":1670,"1947":431,"1948":318,"1949":1043,"1950":1947,"1951":1591,"1952":606,"1953":1379,"1954":413,"1955":1655,"1956":1062,"1957":624,"1958":622,"1959":1008,"1960":833,"1961":1040,"1962":1009,"1963":1795,"1964":19,"1965":579,"1966":1456,"1967":1922,"1968":1229,"1969":1730,"1970":612,"1971":163,"1972":1579,"1973":1550,"1974":1858,"1975":1504,"1976":581,"1977":1731,"1978":752,"1979":1104,"1980":749,"1981":1612,"1982":1684,"1983":1176,"1984":1183,"1985":1182,"1986":1409,"1987":277,"1988":761,"1989":1451,"1990":1444,"1991":1181,"1992":276,"1993":278,"1994":986,"1995":762,"1996":1445,"1997":1180,"1998":279,"1999":987,"2000":763,"2001":1452,"2002":1446,"2003":1179,"2004":1410,"2005":280,"2006":764,"2007":1856,"2008":1178,"2009":765,"2010":1447,"2011":1177,"2012":1411,"2013":281,"2014":988,"2015":766,"2016":1453,"2017":1857,"2018":1448,"2019":2144,"2020":2073,"2021":2106,"2022":2130,"2023":2137,"2024":2139,"2025":2140,"2026":2141,"2027":1985,"2028":2129,"2029":2133,"2030":2135,"2031":2136,"2032":2082,"2033":2138,"2034":2142,"2035":2143,"2036":2112,"2037":1636,"2038":605,"2039":597,"2040":1634,"2041":1987,"2042":1990,"2043":2035,"2044":2054,"2045":2068,"2046":2084,"2047":2091,"2048":2093,"2049":2097,"2050":2098,"2051":2102,"2052":2107,"2053":2109,"2054":2110,"2055":2115,"2056":2118,"2057":2119,"2058":2120,"2059":2121,"2060":2122,"2061":2123,"2062":2124,"2063":2125,"2064":2127,"2065":2132,"2066":2113,"2067":2085,"2068":2101,"2069":2111,"2070":2116,"2071":2117,"2072":2126,"2073":2128,"2074":2134,"2075":2114,"2076":2131,"2077":1975,"2078":1977,"2079":1992,"2080":1998,"2081":1999,"2082":2018,"2083":2060,"2084":2072,"2085":2076,"2086":2089,"2087":2092,"2088":2095,"2089":2096,"2090":2108,"2091":2074,"2092":2099,"2093":2100,"2094":2104,"2095":2103,"2096":2094,"2097":2105,"2098":2145,"2099":2069,"2100":1976,"2101":1989,"2102":2000,"2103":2070,"2104":2083,"2105":1978,"2106":2080,"2107":2081,"2108":2086,"2109":2087,"2110":2088,"2111":2090,"2112":2071,"2113":2077,"2114":2075,"2115":2078,"2116":2079,"2117":1996,"2118":1974,"2119":1980,"2120":1984,"2121":1986,"2122":1988,"2123":1993,"2124":1995,"2125":1997,"2126":2002,"2127":2004,"2128":2006,"2129":2008,"2130":2009,"2131":2016,"2132":2017,"2133":2019,"2134":2020,"2135":2021,"2136":2026,"2137":2027,"2138":2029,"2139":2042,"2140":2044,"2141":2051,"2142":2066,"2143":2067,"2144":2031,"2145":2045,"2146":1981,"2147":1982,"2148":1983,"2149":1991,"2150":1994,"2151":2001,"2152":2003,"2153":2005,"2154":2007,"2155":2012,"2156":2013,"2157":2014,"2158":2015,"2159":2022,"2160":2023,"2161":2024,"2162":2025,"2163":2028,"2164":2030,"2165":2032,"2166":2033,"2167":2036,"2168":2037,"2169":2039,"2170":2046,"2171":2047,"2172":2048,"2173":2049,"2174":2056,"2175":2064,"2176":2065,"2177":2038,"2178":2052,"2179":1979,"2180":2059,"2181":2061,"2182":2062,"2183":2010,"2184":2011,"2185":2034,"2186":2040,"2187":2041,"2188":2043,"2189":2050,"2190":2053,"2191":2055,"2192":2057,"2193":2058,"2194":2063},"orderedDocs":[[1033,"--bytes — threshold for bytes added/removed."],[1249,"--disable-shared\nDo not build shared libraries. (Enabled by\ndefault.)"],[1248,"--disable-static\nDo not build static libraries. (Enabled by\ndefault.)"],[1246,"--enable-debug\nEnables optimization and enables debug info compiler\noptions. (Disabled by default.)"],[1032,"--nodes — threshold for number of descendant nodes added/removed."],[1247,"--without-syncapi\nDisables Sync API support; zookeeper_mt library won't be\nbuilt. (Enabled by default.)"],[724,"-v x was specified but the latest configuration version y is not x\n(BadVersionException)."],[1391,".... client is partitioned from the\ncluster"],[1393,".... time elapses, after 'timeout' period the\ncluster expires the session, nothing is seen by client as it is\ndisconnected from cluster"],[1394,".... time elapses, the client regains network\nlevel connectivity with the cluster"],[1390,"'connected' : session is established and client\nis communicating with cluster (client/server communication is\noperating properly)"],[1392,"'disconnected' : client has lost connectivity\nwith the cluster"],[1395,"'expired' : eventually the client reconnects to\nthe cluster, it is then notified of the\nexpiration"],[260,"\"\": Disabled (no snapshot compression). This is the default behavior."],[261,"\"gz\": See gzip compression."],[361,"\"need\": server will \"require\" client authentication"],[359,"\"none\": server will not request client authentication"],[262,"\"snappy\": See Snappy compression."],[360,"\"want\": server will \"request\" client authentication"],[1964,"(Notice we did a get after setting the data and it did, indeed, change."],[644,"[New in ZK 3.10.0] The client port specification is optional and is to the right of the\nfirst semicolon. The secure client port specification is also optional and is to the right\nof the second semicolon. However, both the client port and secure client port specification\ncannot be omitted — at least one of them must be present. If the user intends to omit the client\nport specification and provide only the secure client port (TLS-only server), a second\nsemicolon should still be specified to indicate an empty client port specification (see last\nexample below). In either spec, the port address is optional and defaults to 0.0.0.0."],[1268,"*clientid :\nWe can specify 0 for a new session. If a session has already establish previously, we could provide that client ID and it would reconnect to that previous session."],[1269,"*context :\nContext object that can be associated with the zkhandle_t handler. If it is not used, we can set it to 0."],[1265,"*host :\nConnection string to zookeeper server in the format of host:port. If there are multiple servers, use comma as separator after specifying the host:port pairs. Eg: \"127.0.0.1:2181,127.0.0.1:3001,127.0.0.1:3002\""],[1307,"\\u009F."],[779,""],[792,""],[1275,"> ./Client"],[1273,"> g++ -Iinclude/ zkClient.cpp -lzookeeper_mt -o Client"],[80,"0b0000000000"],[82,"0b0000000010"],[84,"0b0000000100"],[86,"0b0000001000"],[88,"0b0000010000"],[90,"0b0000100000"],[92,"0b0001000000"],[94,"0b0010000000"],[96,"0b0100000000"],[98,"0b1000000000"],[1525,"1. Call create( ) to create a node with pathname \"guid-/read-\". This is the lock node use later in the protocol. Make sure to set both the sequence and ephemeral flags."],[1526,"1. Call create( ) to create a node with pathname \"guid-/write-\". This is the lock node spoken of later in the protocol. Make sure to set both sequence and ephemeral flags."],[1488,"1. Create a name n = _b+“/”+_p**"],[1489,"1. L = getChildren(b, false)"],[1527,"2. Call getChildren( ) on the lock node without setting the watch flag - this is important, as it avoids the herd effect."],[1528,"2. Call getChildren( ) on the lock node without setting the watch flag - this is important, as it avoids the herd effect."],[1491,"2. if no children, exit"],[1490,"2. Set watch: exists(b + ‘‘/ready’’, true)"],[1492,"3. Create child: create(n, EPHEMERAL)"],[1493,"3. if p is only process node in L, delete(n) and exit"],[1530,"3. If there are no children with a lower sequence number than the node created in step 1, the client has the lock and the client exits the protocol."],[1529,"3. If there are no children with a pathname starting with \"write-\" and having a lower sequence number than the node created in step 1, the client has the lock and can exit the protocol."],[1532,"4. Call exists( ), with watch flag set, on the node with the pathname that has the next lowest sequence number."],[1495,"4. if p is the lowest process node in L, wait on highest process node in L"],[1494,"4. L = getChildren(b, false)"],[1531,"4. Otherwise, call exists( ), with watch flag, set on the node in lock directory with pathname starting with \"write-\" having the next lowest sequence number."],[306,"4lw.commands.whitelist :\n(Java system property: zookeeper.4lw.commands.whitelist)\nNew in 3.5.3:\nA list of comma separated Four Letter Words\ncommands that user wants to use. A valid Four Letter Words\ncommand must be put in this list else ZooKeeper server will\nnot enable the command.\nBy default the whitelist only contains \"srvr\" command\nwhich zkServer.sh uses. Additionally, if Read Only Mode is enabled by setting\nJava system property readonlymode.enabled, then the \"isro\" command is\nadded to the whitelist. The rest of four-letter word commands are disabled\nby default: attempting to use them will gain a response\n\".... is not executed because it is not in the whitelist.\"\nHere's an example of the configuration that enables stat, ruok, conf, and isro\ncommand while disabling the rest of Four Letter Words command:"],[1497,"5. else **delete(n)**if still exists and wait on lowest process node in L"],[1533,"5. If exists( ) returns false, goto step 2."],[1534,"5. If exists( ) returns false, goto step 2. Otherwise, wait for a notification for the pathname from the previous step before going to step 2."],[1496,"5. if fewer children in L thanx, wait for watch event"],[1498,"6. else create(b + ‘‘/ready’’, REGULAR)"],[1499,"6. goto 1"],[1535,"6. Otherwise, wait for a notification for the pathname from the previous step before going to step 2"],[1092,"A barrier is a primitive that enables a group of processes to synchronize the\nbeginning and the end of a computation. The general idea of this implementation\nis to have a barrier node that serves the purpose of being a parent for individual\nprocess nodes. Suppose that we call the barrier node \"/b1\". Each process \"p\" then\ncreates a node \"/b1/p\". Once enough processes have created their corresponding\nnodes, joined processes can start the computation."],[1105,"A call to getChildren() returns the list of children in lexicographic order.\nAs lexicographic order does not necessarily follow the numerical order of the counter\nvalues, we need to decide which element is the smallest. To decide which one has\nthe smallest counter value, we traverse the list, and remove the prefix \"element\"\nfrom each one."],[1563,"A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination."],[640,"A client port is the port on which the server accepts plaintext (non-TLS) client connection requests.\nA secure client port is the port on which the server accepts TLS client connection requests."],[1451,"A client will see a watch event for a znode it is watching\nbefore seeing the new data that corresponds to that znode."],[1687,"A cluster management framework for partitioned and replicated distributed resources."],[1712,"A configuration store quorum stores configuration for tenants, namespaces, and other entities that need to be globally consistent."],[1913,"A different construction that uses weights and is useful in wide-area deployments is a\nhierarchical one. With this construction, we split the servers into disjoint groups and\nassign weights to processes. To form a quorum, we have to get enough servers from a majority\nof groups G, such that for each group g in G, the sum of votes from g is larger than half of\nthe sum of weights in g. Interestingly, this construction enables smaller quorums. If we have\n9 servers split into 3 groups with a weight of 1 each, we are able to form quorums of size 4.\nNote that two subsets of processes each composed of a majority of servers from a majority of\ngroups necessarily have a non-empty intersection. It is reasonable to expect that a majority\nof co-locations will have a majority of servers available with high probability."],[940,"A failed instance recovering from failure."],[941,"A failure detector's role is to authorize the querying ZooKeeper instance whether it has the right to move the system forward without waiting for the faulty instance."],[734,"A few examples can be found in StaticHostProviderTest.java and TestReconfig.cc."],[686,"A few examples can be found in: ReconfigTest.java, ReconfigRecoveryTest.java,\nand TestReconfigServer.cc."],[920,"A Follower fails, but the Oracle does not detect the faulty Follower — the Oracle will authorize the Leader to move the system forward."],[1890,"A follower will ACK the NEW_LEADER proposal after it has synced with the leader."],[1893,"A follower will commit any state it received from the leader when the NEW_LEADER proposal is COMMITted."],[1891,"A follower will only ACK a NEW_LEADER proposal with a given zxid from a single server."],[1459,"A Guide to Creating Higher-level Constructs with ZooKeeper"],[953,"A leader failure occurs, and the remaining instance completes leader election on its own via the Oracle."],[1414,"A local session can be upgraded to the global session automatically."],[1888,"A new leader establishes a zxid to start using for new proposals by getting the\nepoch, e, of the highest zxid it has seen and setting the next zxid to use to be\n(e+1, 0). After the leader syncs with a follower, it will propose a NEW_LEADER\nproposal. Once the NEW_LEADER proposal has been committed, the leader will activate\nand start receiving and issuing proposals."],[1892,"A new leader will COMMIT the NEW_LEADER proposal when a quorum of followers has ACKed it."],[1894,"A new leader will not accept new proposals until the NEW_LEADER proposal has been COMMITted."],[405,"A new script zkServer-initialize.sh is provided to\nsupport this new feature. If autocreate is disabled it is\nnecessary for the user to first install ZooKeeper, then create\nthe data directory (and potentially txnlog directory), and\nthen start the server. Otherwise as mentioned in the previous\nparagraph the server will not start. Running zkServer-initialize.sh will create the\nrequired directories, and optionally set up the myid file\n(optional command line parameter). This script can be used\neven if the autocreate feature itself is not used, and will\nlikely be of use to users as this (setup, including creation\nof the myid file) has been an issue for users in the past.\nNote that this script ensures the data directories exist only,\nit does not create a config file, but rather requires a config\nfile to be available in order to execute."],[1691,"A notification mechanism when there is a change in PERSISTENT and EPHEMERAL state"],[1258,"A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API."],[1103,"A producer process calls \"produce()\" to add an element to the queue, and passes\nan integer as an argument. To add an element to the queue, the method creates a\nnew node using \"create()\", and uses the SEQUENCE flag to instruct ZooKeeper to\nappend the value of the sequencer counter associated to the root node. In this way,\nwe impose a total order on the elements of the queue, thus guaranteeing that the\noldest element of the queue is the next one consumed."],[1101,"A producer-consumer queue is a distributed data structure that groups of processes\nuse to generate and consume items. Producer processes create new elements and add\nthem to the queue. Consumer processes remove elements from the list, and process them.\nIn this implementation, the elements are simple integers. The queue is represented\nby a root node, and to add an element to the queue, a producer process creates a new node,\na child of the root node."],[1884,"A quorum of servers have committed to following the leader."],[1653,"A scalable, fault-tolerant, and low-latency storage service optimized for real-time workloads."],[1417,"A session can be both a local and global session during upgrade, but the operation of upgrade cannot be called concurrently by two thread."],[1112,"A Simple Watch Client"],[1548,"A simple way of doing leader election with ZooKeeper is to use the\nSEQUENCE|EPHEMERAL flags when creating\nznodes that represent \"proposals\" of clients. The idea is to have a znode,\nsay \"/election\", such that each znode creates a child znode \"/election/guid-n_\"\nwith both flags SEQUENCE|EPHEMERAL. With the sequence flag, ZooKeeper\nautomatically appends a sequence number that is greater than anyone\npreviously appended to a child of \"/election\". The process that created\nthe znode with the smallest appended sequence number is the leader."],[864,"A single client can attach multiple authentication schemes to a session. In that case all\nauthenticated identities are taken as the user and presented as a comma-separated list. For\nexample, if a client is authenticated with principal zkcli@HADOOP.COM and IP 127.0.0.1,\nthe create operation audit log will be:"],[1542,"A two-phase commit protocol is an algorithm that lets all clients in\na distributed system agree either to commit a transaction or abort."],[1455,"A watch object, or function/context pair, will only be\ntriggered once for a given notification. For example, if the same\nwatch object is registered for an exists and a getData call for the\nsame file and that file is then deleted, the watch object would\nonly be invoked once with the deletion notification for the file."],[1689,"A way to represent PERSISTENT state which remains until its deleted"],[1690,"A way to represent TRANSIENT/EPHEMERAL state which vanishes when the process that created the state dies"],[1382,"A ZooKeeper client establishes a session with the ZooKeeper\nservice by creating a handle to the service using a language\nbinding. Once created, the handle starts off in the CONNECTING state\nand the client library tries to connect to one of the servers that\nmake up the ZooKeeper service at which point it switches to the\nCONNECTED state. During normal operation the client handle will be in one of these\ntwo states. If an unrecoverable error occurs, such as session\nexpiration or authentication failure, or if the application explicitly\ncloses the handle, the handle will move to the CLOSED state.\nThe following figure shows the possible state transitions of a\nZooKeeper client:"],[13,"A ZooKeeper server will not remove\nold snapshots and log files when using the default\nconfiguration (see autopurge below), this is the\nresponsibility of the operator. Every serving environment is\ndifferent and therefore the requirements of managing these\nfiles may differ from install to install (backup for example)."],[1026,"Abort — abort the operation. The .fixed file will not be deleted and may be in a half-complete state."],[1702,"Access control lists\nAccess control lists or ACLs for all the topics are also maintained within Zookeeper."],[1149,"Access Control using ACLs"],[675,"Access Control: The dynamic configuration is stored in the special znode\nZooDefs.CONFIG_NODE = /zookeeper/config. This node is read-only for all users\nby default, except the super user and users explicitly configured for write access.\nClients that need to use reconfig commands or the reconfig API must be configured\nwith write access to CONFIG_NODE. Additional users can be granted write access\nthrough the superuser by setting an ACL with write permission. Examples of how to\nset up ACLs and use the reconfiguration API with authentication can be found in\nReconfigExceptionTest.java and TestReconfigServer.cc."],[1649,"Accumulo is a distributed key/value store that provides expressive, cell-level access labels."],[933,"Accuracy: There is a time after which some correct process is never suspected by any process."],[849,"acl"],[1151,"ACL Permissions"],[1853,"Active Messaging"],[1880,"Active messaging: In this phase a leader accepts messages to propose and coordinates message delivery."],[1679,"Active NameNode election - ZooKeeper provides a simple mechanism to exclusively elect a node as active. If the current active NameNode crashes,\nanother node may take a special exclusive lock in ZooKeeper indicating that it should become the next active."],[1039,"Add -i / --interactive to enter interactive mode:"],[597,"Add a super user or set skipACL; otherwise you will get Insufficient permission. For example: addauth digest zookeeper:admin."],[574,"Add an authorized user for ACL authentication."],[156,"Add the following config settings and restart the first node. Note that TLS is not yet\nenabled, but we turn on port unification."],[108,"Add the following configuration settings to the zoo.cfg config file:"],[546,"addauth"],[1401,"Added in 3.2.0 — SessionMovedException. There is an internal\nexception that is generally not seen by clients called the SessionMovedException.\nThis exception occurs because a request was received on a connection for a session\nwhich has been reestablished on a different server. The normal cause of this error is\na client that sends a request to a server, but the network packet gets delayed, so\nthe client times out and connects to a new server. When the delayed packet arrives at\nthe first server, the old server detects that the session has moved, and closes the\nclient connection. Clients normally do not see this error since they do not read\nfrom those old connections. (Old connections are usually closed.) One situation in which this\ncondition can be seen is when two clients try to reestablish the same connection using\na saved session id and password. One of the clients will reestablish the connection\nand the second client will be disconnected (causing the pair to attempt to re-establish\nits connection/session indefinitely)."],[1384,"Added in 3.2.0: An\noptional \"chroot\" suffix may also be appended to the connection\nstring. This will run the client commands while interpreting all\npaths relative to this root (similar to the unix chroot\ncommand). If used the example would look like:\n\"127.0.0.1:4545/app/a\" or\n\"127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a\" where the\nclient would be rooted at \"/app/a\" and all paths would be relative\nto this root - ie getting/setting/etc... \"/foo/bar\" would result\nin operations being run on \"/app/a/foo/bar\" (from the server\nperspective). This feature is particularly useful in multi-tenant\nenvironments where each user of a particular ZooKeeper service\ncould be rooted differently. This makes re-use much simpler as\neach user can code his/her application as if it were rooted at\n\"/\", while actual location (say /app/a) could be determined at\ndeployment time."],[1299,"Added in 3.5.3"],[1301,"Added in 3.5.3"],[1372,"Added in 3.6.0: An alternate abstraction is available for pluggable\nauthentication. It provides additional arguments."],[689,"Adding servers: Before invoking a reconfiguration, the administrator must\nensure that a quorum (majority) of participants from the new configuration are\nalready connected and synced with the current leader. To achieve this, a new\njoining server must be connected to the leader before it officially becomes part\nof the ensemble. This is done by starting the joining server with an initial\nserver list that is not a legal configuration but (a) contains the joiner, and\n(b) gives the joiner enough information to find and connect to the current leader.\nA few safe options for doing this:"],[631,"Additional Comments"],[1168,"ADMIN permission also has a special role in terms of ACLs:\nin order to retrieve ACLs of a znode user has to have READ or ADMIN\npermission, but without ADMIN permission, digest hash values will be\nmasked out."],[1163,"ADMIN: you can set permissions"],[435,"admin.commandURL :\n(Java system property: zookeeper.admin.commandURL)\nThe URL for listing and issuing commands relative to the\nroot URL. Defaults to \"/commands\"."],[431,"admin.enableServer :\n(Java system property: zookeeper.admin.enableServer)\nSet to \"false\" to disable the AdminServer. By default the\nAdminServer is enabled."],[427,"admin.forceHttps :\n(Java system property: zookeeper.admin.forceHttps)\nForce AdminServer to use SSL, thus allowing only HTTPS traffic.\nDefaults to disabled.\nOverwrites admin.portUnification settings."],[434,"admin.idleTimeout :\n(Java system property: zookeeper.admin.idleTimeout)\nSet the maximum idle time in milliseconds that a connection can wait\nbefore sending or receiving data. Defaults to 30000 ms."],[425,"admin.needClientAuth :\n(Java system property: zookeeper.admin.needClientAuth)\nThe flag to control whether client auth is needed. Using x509 auth requires true.\nDefaults to false."],[429,"admin.portUnification :\n(Java system property: zookeeper.admin.portUnification)\nEnable the admin port to accept both HTTP and HTTPS traffic.\nDefaults to disabled."],[422,"admin.rateLimiterIntervalInMS :\n(Java system property: zookeeper.admin.rateLimiterIntervalInMS)\nThe time interval for rate limiting admin command to protect the server.\nDefaults to 5 mins."],[424,"admin.restore.enabled :\n(Java system property: zookeeper.admin.restore.enabled)\nThe flag for enabling the restore command. Defaults to true."],[432,"admin.serverAddress :\n(Java system property: zookeeper.admin.serverAddress)\nThe address the embedded Jetty server listens on. Defaults to 0.0.0.0."],[433,"admin.serverPort :\n(Java system property: zookeeper.admin.serverPort)\nThe port the embedded Jetty server listens on. Defaults to 8080."],[423,"admin.snapshot.enabled :\n(Java system property: zookeeper.admin.snapshot.enabled)\nThe flag for enabling the snapshot command. Defaults to true."],[1,"Administration"],[540,"Administrator's Guide"],[173,"AdminServer configuration"],[1565,"AdroitLogic UltraESB"],[163,"Advanced Configuration"],[239,"advancedFlowControlEnabled :\n(Java system property: zookeeper.netty.advancedFlowControl.enabled)\nUsing accurate flow control in netty based on the status of ZooKeeper\npipeline to avoid direct buffer OOM. It will disable the AUTO_READ in\nNetty."],[1886,"After leader election a single server will be designated as a leader and start\nwaiting for followers to connect. The rest of the servers will try to connect to\nthe leader. The leader will sync up with the followers by sending any proposals they\nare missing, or if a follower is missing too many proposals, it will send a full\nsnapshot of the state to the follower."],[1607,"AGETO"],[1566,"Akka"],[1628,"Akka is the platform for the next generation event-driven, scalable and fault-tolerant architectures on the JVM.\nOr: Akka is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on the JVM ."],[801,"Alerting with Prometheus"],[810,"All available metrics are defined in ServerMetrics.java."],[1898,"All communication channels are FIFO, so everything is done in order. Specifically\nthe following operating constraints are observed:"],[1215,"All completions for asynchronous calls and watcher callbacks\nwill be made in order, one at a time. The caller can do any\nprocessing they wish, but no other callbacks will be processed\nduring that time."],[988,"All members should restore using the same snapshot. The recommended steps are:"],[1432,"All of the read operations in ZooKeeper - getData(), getChildren(), and exists() - have the option of setting a watch as a\nside effect. Here is ZooKeeper's definition of a watch: a watch event is\none-time trigger, sent to the client that set the watch, which occurs when\nthe data for which the watch was set changes. There are three key points\nto consider in this definition of a watch:"],[100,"All remaining bits in the 64-bit value are unused and reserved for future use.\nMultiple trace logging categories are specified by calculating the bitwise OR of the documented values.\nThe default trace mask is 0b0100110010. Thus, by default, trace logging includes client requests,\npackets received from the leader and sessions.\nTo set a different trace mask, send a request containing the stmk four-letter word followed\nby the trace mask represented as a 64-bit signed long value. This example uses\nthe Perl pack function to construct a trace mask that enables all trace logging categories\ndescribed above and convert it to a 64-bit signed long value with big-endian byte order.\nThe result is appended to stmk and sent to the server using netcat.\nThe server responds with the new trace mask in decimal format."],[1847,"All users and developers are encouraged to join the\ncommunity and contribute their expertise. See the\nZookeeper Project on Apache\nfor more information."],[1167,"Also, the ADMIN permission is there\nsince ZooKeeper doesn’t have a notion of file owner. In some\nsense the ADMIN permission designates the\nentity as the owner. ZooKeeper doesn’t support the LOOKUP\npermission (execute permission bit on directories to allow you\nto LOOKUP even though you can't list the directory). Everyone\nimplicitly has LOOKUP permission. This allows you to stat a\nnode, but nothing more. (The problem is, if you want to call\nzoo_exists() on a node that doesn't exist, there is no\npermission to check.)"],[870,"Although ZooKeeper performs very well by having clients connect directly\nto voting members of the ensemble, this architecture makes it hard to\nscale out to huge numbers of clients. The problem is that as we add more\nvoting members, write performance drops. This is because a write operation\nrequires the agreement of at least half the nodes in an ensemble, so the\ncost of a vote grows significantly as more voters are added."],[674,"An escape hatch is provided for users operating in a secured environment (e.g.\nbehind a company firewall) who want to use reconfiguration without the overhead\nof configuring an explicit authorized user list: setting\nskipACL to yes skips\nACL checks and allows any user to reconfigure the cluster."],[1126,"an executable with arguments."],[725,"An incremental reconfiguration was requested but the last configuration at the\nleader uses a Quorum System other than Majority (BadArgumentsException)."],[1544,"An interesting aspect of this implementation is that the only role\nof the coordinator is to decide upon the group of sites, to create the\nZooKeeper nodes, and to propagate the transaction to the corresponding\nsites. In fact, even propagating the transaction can be done through\nZooKeeper by writing it in the transaction node."],[1971,"and it is strongly recommended that you have an odd number of\nservers. If you only have two servers, then you are in a\nsituation where if one of them fails, there are not enough\nmachines to form a majority quorum. Two servers are inherently\nless stable than a single server, because there are two single\npoints of failure."],[1404,"Another example — suppose we have 5 hosts and now update the list to remove 2 of the hosts,\nthe clients connected to the 3 remaining hosts will stay connected, whereas all clients connected\nto the 2 removed hosts will need to move to one of the 3 hosts, chosen at random. If the connection\nis dropped, the client moves to a special mode where he chooses a new server to connect to using the\nprobabilistic algorithm, and not just round robin."],[1478,"Another function directly provided by ZooKeeper is group\nmembership. The group is represented by a node. Members of the\ngroup create ephemeral nodes under the group node. Nodes of the members\nthat fail abnormally will be removed automatically when ZooKeeper detects\nthe failure."],[1396,"Another parameter to the ZooKeeper session establishment\ncall is the default watcher. Watchers are notified when any state\nchange occurs in the client. For example if the client loses\nconnectivity to the server the client will be notified, or if the\nclient's session expires, etc... This watcher should consider the\ninitial state to be disconnected (i.e. before any state changes\nevents are sent to the watcher by the client lib). In the case of\na new connection, the first event sent to the watcher is typically\nthe session connection event."],[721,"Another reconfig is currently in progress (ReconfigInProgress)."],[912,"Any equivalent file is suitable for the current implementation of QuorumOracleMaj.\nThe number of oracle files should equal the number of ZooKeeper instances configured to enable the Oracle.\nEach ZooKeeper instance should have its own oracle file — files must not be shared, otherwise the issues described in the Safety section will arise."],[1285,"Any updates that are seen by the client, through a read\nrequest or successful update, will never be rolled back when\nrecovering from server failures."],[1581,"Apache Accumulo"],[1582,"Apache Atlas"],[1583,"Apache BookKeeper"],[1584,"Apache CXF DOSGi"],[1655,"Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming\nAPIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP,\nor CORBA and work over a variety of transports such as HTTP, JMS or JBI."],[1585,"Apache Drill"],[1586,"Apache Druid"],[1659,"Apache Druid is a high performance real-time analytics database."],[1660,"Apache Druid uses Apache ZooKeeper (ZK) for management of current cluster state. The operations that happen over ZK are :"],[1587,"Apache Dubbo"],[1666,"Apache Dubbo is a high-performance, java based open source RPC framework."],[1588,"Apache Flink"],[1668,"Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams.\nFlink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale."],[1589,"Apache Flume"],[1590,"Apache Fluo"],[1672,"Apache Fluo is a distributed processing system that lets users make incremental updates to large data sets."],[1673,"Apache Fluo is built on Apache Accumulo which uses Apache Zookeeper for consensus [31,37]."],[1591,"Apache Griffin"],[1592,"Apache Hadoop"],[1593,"Apache HBase"],[1594,"Apache Helix"],[1595,"Apache Hive"],[1596,"Apache Ignite"],[1695,"Apache Ignite discovery mechanism goes with a ZooKeeper implementations which allows scaling Ignite clusters to 100s and 1000s of nodes\npreserving linear scalability and performance [31,34].​"],[1597,"Apache James Mailbox"],[1598,"Apache Kafka"],[1699,"Apache Kafka relies on ZooKeeper for the following things:"],[1599,"Apache Kylin"],[1704,"Apache Kylin is an open source Distributed Analytics Engine designed to provide SQL interface and multi-dimensional analysis (OLAP) on Hadoop/Spark supporting extremely large datasets,\noriginal contributed from eBay Inc."],[1705,"Apache Kylin leverages Zookeeper for job coordination [31,33]."],[1600,"Apache Mesos"],[1706,"Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual),\nenabling fault-tolerant and elastic distributed systems to easily be built and run effectively."],[1601,"Apache Oozie"],[1580,"Apache Projects"],[1602,"Apache Pulsar"],[1710,"Apache Pulsar is an open-source distributed pub-sub messaging system originally created at Yahoo and now part of the Apache Software Foundation"],[1603,"Apache Solr"],[1604,"Apache Spark"],[1716,"Apache Spark is a unified analytics engine for large-scale data processing."],[1605,"Apache Storm"],[1718,"Apache Storm is a free and open source distributed realtime computation system. Apache Storm makes it easy to reliably\nprocess unbounded streams of data, doing for realtime processing what Hadoop did for batch processing.\nApache Storm is simple, can be used with any programming language, and is a lot of fun to use!"],[745,"Apache ZooKeeper has extensive support for JMX, allowing you\nto view and manage a ZooKeeper serving ensemble."],[1650,"Apache ZooKeeper plays a central role within the Accumulo architecture. Its quorum consistency model supports an overall\nAccumulo architecture with no single points of failure. Beyond that, Accumulo leverages ZooKeeper to store and communication\nconfiguration information for users and tables, as well as operational states of processes and tablets ."],[833,"Apache ZooKeeper supports audit logging from version 3.6.0. By default audit logs are disabled.\nTo enable them, set audit.enable=true in conf/zoo.cfg. Audit logs are not written on every\nZooKeeper server — they are written only on the servers to which a client is connected, as\nillustrated below."],[622,"API"],[1357,"API Reference :\nThe complete reference to the ZooKeeper API"],[1624,"Applications and organizations using ZooKeeper include (alphabetically) ."],[1144,"As an aside, you might note that the DataMonitor could also register itself as the Watcher\nfor this particular watch event. This is new to ZooKeeper 3.0.0 (the support of multiple Watchers). In this\nexample, however, DataMonitor does not register as the Watcher."],[683,"As any read command, it returns the configuration known to the follower your\nclient is connected to, which may be slightly out-of-date. Use the sync\ncommand for stronger guarantees. For example using the Java API:"],[512,"As mentioned in the ZooKeeper Getting Started\nGuide, a minimum of three servers are required\nfor a fault tolerant clustered setup, and it is strongly recommended that you\nhave an odd number of servers."],[1169,"As of versions 3.9.2 / 3.8.4 / 3.7.3 the exists() call will now verify ACLs\non nodes that exist and the client must have READ permission otherwise\n'Insufficient permission' error will be raised."],[1830,"As part of the agreement protocol all write requests from clients\nare forwarded to a single server, called the\nleader. The rest of the ZooKeeper servers, called\nfollowers, receive message proposals from the\nleader and agree upon message delivery. The messaging layer takes care\nof replacing leaders on failures and syncing followers with\nleaders."],[1876,"As stated above, ZooKeeper guarantees a total order of messages, and it also\nguarantees a total order of proposals. ZooKeeper exposes the total ordering using\na ZooKeeper transaction id (zxid). All proposals will be stamped with a zxid when\nproposed and exactly reflect the total ordering. Proposals are sent to all\nZooKeeper servers and committed when a quorum of them acknowledge the proposal.\nIf a proposal contains a message, the message will be delivered when the proposal\nis committed. Acknowledgement means the server has recorded the proposal to persistent storage.\nOur quorums have the requirement that any pair of quorums must have at least one server\nin common. We ensure this by requiring that all quorums have size (n/2+1) where\nn is the number of servers that make up a ZooKeeper service."],[1686,"As you can see, ZooKeeper is a fundamental part of HBase. All operations that require coordination, such as Regions\nassignment, Master-Failover, replication, and snapshots, are built on ZooKeeper ."],[1137,"As you might have guessed, DataMonitor is the object that invokes\nthese methods, in response to changes in ZooKeeper's state."],[936,"At any time, the Oracle will not authorize both Ben and John simultaneously, even if each failure detector suspects the other."],[1862,"At the heart of ZooKeeper is an atomic messaging system that keeps all of the servers in sync."],[1651,"Atlas is a scalable and extensible set of core foundational governance services – enabling enterprises to effectively and efficiently meet\ntheir compliance requirements within Hadoop and allows integration with the whole enterprise data ecosystem."],[1652,"Atlas uses Zookeeper for coordination to provide redundancy and high availability of HBase,Kafka [31,35]."],[1850,"Atomic Broadcast"],[1911,"Atomic broadcast and leader election use the notion of quorums to guarantee a consistent\nview of the system. By default, ZooKeeper uses majority quorums, which means that every\nvoting operation requires a majority to vote. One example is acknowledging a leader proposal:\nthe leader can only commit once it receives an acknowledgement from a quorum of servers."],[1815,"Atomicity - Updates either succeed or fail. No partial\nresults."],[1281,"Atomicity :\nUpdates either succeed or fail — there are no partial\nresults."],[807,"Audit Log Configuration"],[854,"Audit logging is performed using Logback. The following is the default logback configuration\nblock in conf/logback.xml (the entire block is commented out by default — uncomment it to\nactivate audit logging):"],[806,"Audit Logs"],[264,"audit.enable :\n(Java system property: zookeeper.audit.enable)\nNew in 3.6.0:\nBy default audit logs are disabled. Set to \"true\" to enable it. Default value is \"false\".\nSee the ZooKeeper audit logs for more information."],[265,"audit.impl.class :\n(Java system property: zookeeper.audit.impl.class)\nNew in 3.6.0:\nClass to implement the audit logger. By default logback based audit logger org.apache.zookeeper.audit\n.Slf4jAuditLogger is used.\nSee the ZooKeeper audit logs for more information."],[1172,"auth is a special\nscheme which ignores any provided expression and instead uses the current user,\ncredentials, and scheme. Any expression (whether user like with SASL\nauthentication or user:password like with DIGEST authentication) provided is ignored\nby the ZooKeeper server when persisting the ACL. However, the expression must still be\nprovided in the ACL because the ACL must match the form scheme:expression:perms.\nThis scheme is provided as a convenience as it is a common use-case for\na user to create a znode and then restrict access to that znode to only that user.\nIf there is no authenticated user, setting an ACL with the auth scheme will fail."],[676,"Authentication: Authentication is orthogonal to access control and is\ndelegated to ZooKeeper's pluggable authentication schemes. See\nZooKeeper and SASL\nfor more details."],[368,"authProvider:\n(Java system property: zookeeper.authProvider)\nYou can specify multiple authentication provider classes for ZooKeeper.\nUsually you use this parameter to specify the SASL authentication provider\nlike: authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider"],[16,"Automatic purging of the snapshots and corresponding\ntransaction logs was introduced in version 3.4.0 and can be\nenabled via the following configuration parameters autopurge.snapRetainCount and autopurge.purgeInterval. For more on\nthis, see Advanced Configuration."],[204,"autopurge.purgeInterval :\n(No Java system property)\nNew in 3.4.0: The\ntime interval in hours for which the purge task has to\nbe triggered. Set to a positive integer (1 and above)\nto enable the auto purging. Defaults to 0.\nSuffix support added in 3.10.0: The interval is specified as an integer with an optional suffix to indicate the time unit.\nSupported suffixes are: ms for milliseconds, s for seconds, m for minutes, h for hours, and d for days.\nFor example, \"10m\" represents 10 minutes, and \"5h\" represents 5 hours.\nIf no suffix is provided, the default unit is hours."],[203,"autopurge.snapRetainCount :\n(No Java system property)\nNew in 3.4.0:\nWhen enabled, ZooKeeper auto purge feature retains\nthe autopurge.snapRetainCount most\nrecent snapshots and the corresponding transaction logs in the\ndataDir and dataLogDir respectively and deletes the rest.\nDefaults to 3. Minimum value is 3."],[110,"Available commands include:"],[1338,"aversion\nThe number of changes to the ACL of this znode."],[1407,"Background: The creation and closing of sessions are costly in ZooKeeper because they need quorum confirmations,\nthey become the bottleneck of a ZooKeeper ensemble when it needs to handle thousands of client connections.\nSo after 3.5.0, we introduce a new type of session: local session which doesn't have a full functionality of a normal(global) session, this feature\nwill be available by turning on localSessionsEnabled."],[619,"Backward Compatibility"],[1359,"Barrier and Queue Tutorial :\nThe excellent Java tutorial by Flavio Junqueira, implementing\nsimple barriers and producer-consumer queues using ZooKeeper."],[1085,"Barrier test"],[1081,"Barriers"],[1462,"Barriers"],[146,"Based on the Netty Framework ZooKeeper ensembles can be set up\nto use TLS encryption in their communication channels. This section\ndescribes how to set up encryption on the quorum communication."],[1078,"Basic tutorial"],[1348,"Be careful where you put that transaction log. The most\nperformance-critical part of ZooKeeper is the transaction log.\nZooKeeper must sync transactions to media before it returns a\nresponse. A dedicated transaction log device is key to consistent good\nperformance. Putting the log on a busy device will adversely effect\nperformance. If you only have one storage device, put trace files on\nNFS and increase the snapshotCount; it doesn't eliminate the problem,\nbut it can mitigate it."],[183,"Be careful where you put the transaction log. A dedicated transaction log\ndevice is key to consistent good performance. Putting the log on a busy\ndevice will adversely affect performance."],[1520,"Because of the way you implement locking, it is easy to see the\namount of lock contention, break locks, debug locking problems,\netc."],[1454,"Because standard watches are one time triggers and there is latency\nbetween getting the event and sending a new request to get a watch\nyou cannot reliably see every change that happens to a node in\nZooKeeper. Be prepared to handle the case where the znode changes\nmultiple times between getting the event and setting the watch\nagain. (You may not care, but at least realize it may\nhappen.)"],[1263,"Before we begin, you will have to set up a running Zookeeper server so that we can start developing the client. For C client bindings, we will be using the multithreaded library(zookeepermt) with a simple example written in C. To establish a connection with Zookeeper server, we make use of C API - _zookeeper_init with the following signature:"],[893,"Behavior After Enabling the Oracle"],[1008,"Benchmark"],[1838,"Benchmarks also indicate that it is reliable, too.\nReliability in the Presence of Errors shows how a deployment responds to\nvarious failures. The events marked in the figure are the following:"],[1608,"Benipal Technologies"],[315,"Beside this page, you can also find useful information about client side configuration in the\nProgrammers Guide.\nThe ZooKeeper Wiki also has useful pages about ZooKeeper SSL support,\nand SASL authentication for ZooKeeper."],[41,"Best Practices"],[44,"Best Practices"],[1674,"Big Data Quality Solution For Batch and Streaming."],[1204,"Bindings"],[213,"bitHashCacheSize :\n(Java system property only: zookeeper.bitHashCacheSize)\nNew 3.6.0: Added in ZOOKEEPER-1179\nThis is the setting used to decide the HashSet cache size in the BitHashSet implementation. Without HashSet, we\nneed to use O(N) time to get the elements, N is the bit numbers in elementBits. But we need to\nkeep the size small to make sure it doesn't cost too much in memory, there is a trade off between memory\nand time complexity. The default value is 10, which seems a relatively reasonable cache size."],[1654,"BookKeeper requires a metadata storage service to store information related to ledgers and available bookies. BookKeeper currently uses\nZooKeeper for this and other tasks ."],[1090,"Both classes extend SyncPrimitive. In this way, we execute steps that are\ncommon to all primitives in the constructor of SyncPrimitive. To keep the examples\nsimple, we create a ZooKeeper object the first time we instantiate either a barrier\nobject or a queue object, and we declare a static variable that is a reference\nto this object. The subsequent instances of Barrier and Queue check whether a\nZooKeeper object exists. Alternatively, we could have the application creating a\nZooKeeper object and passing it to the constructor of Barrier and Queue."],[1089,"Both primitives use the following common excerpt of code:"],[708,"Both the add and remove options take comma-separated arguments (no spaces):"],[1262,"Both the Java and C client bindings may report errors. The Java client binding does so by throwing KeeperException, calling code() on the exception will return the specific error code. The C client binding returns an error code as defined in the enum ZOO_ERRORS. API callbacks indicate result code for both language bindings. See the API documentation (javadoc for Java, doxygen for C) for full details on the possible errors and their meaning."],[1609,"Box"],[1722,"Box uses ZooKeeper for service discovery, service coordination, Solr and Hadoop support, etc ."],[1992,"Breaking Changes"],[1987,"Bug"],[1993,"Bug"],[1998,"Bug"],[2005,"Bug"],[2013,"Bug"],[1257,"Building Blocks: A Guide to ZooKeeper Operations"],[1210,"Building Your Own C Client"],[1152,"Builtin ACL Schemes"],[716,"Bulk mode — example using the Java API:"],[752,"By default the \"overview\" tab for the VM is displayed. Select\nthe \"MBeans\" tab."],[31,"By default ZooKeeper server exposes useful metrics using the AdminServer\nand Four Letter Words interface."],[880,"By default, Observers connect to the Leader along its quorum port to learn of\nnew proposals. There are benefits to allowing Observers to connect to\nFollowers instead as a means of plugging into the commit stream. This shifts\nthe burden of supporting Observers off the Leader, allowing it to focus on\ncoordinating the commit of writes. The result is better performance when the\nLeader is under high load — particularly high network load such as after a\nleader election when many Learners need to sync. It also reduces the total\nnumber of network connections maintained on the Leader when there are many\nObservers. Activating this feature allows the overall number of Observers to\nscale into the hundreds, and improves Observer availability since a large\nnumber of Observers finish syncing and start serving client traffic faster."],[338,"By default, this feature is disabled. Users who would like to opt-in can enable the feature\nby setting enforce.auth.enabled to true."],[335,"By default, this feature is disabled. Users who would like to opt-in can enable the feature\nby setting sessionRequireClientSASLAuth to true."],[258,"By default, this feature is enabled, set \"false\" to disable it."],[295,"By enabling this feature, the Quorum protocol (ZooKeeper Server-Server\nprotocol) will change. The users will not notice this and when anyone starts\na ZooKeeper cluster with the new config, everything will work normally.\nHowever, it's not possible to enable this feature and specify multiple\naddresses during a rolling upgrade if the old ZooKeeper cluster didn't\nsupport the multiAddress feature (and the new Quorum protocol). In case if\nyou need this feature but you also need to perform a rolling upgrade from a\nZooKeeper cluster older than 3.6.0, then you first need to do the rolling\nupgrade without enabling the MultiAddress feature and later make a separate\nrolling restart with the new configuration where multiAddress.enabled is\nset to true and multiple addresses are provided."],[1013,"Byteman"],[1069,"Byteman is a tool for tracing, monitoring, and testing Java\napplication and JDK runtime code. It injects Java code into methods without requiring\nrecompilation, repackaging, or redeployment — and injection can be performed at JVM startup\nor while the application is running. See the Byteman tutorial\nfor a quick introduction."],[1208,"C Binding"],[1511,"Call create( ) with a pathname\nof \"locknode/guid-lock-\" and the sequence and\nephemeral flags set. The guid\nis needed in case the create() result is missed. See the note below."],[1512,"Call getChildren( ) on the lock\nnode without setting the watch flag (this is\nimportant to avoid the herd effect)."],[1216,"Callbacks do not block the processing of the IO thread or the\nprocessing of the synchronous calls."],[1371,"Care should be taking to ensure that the suffix on the property is unique. If there are\nduplicates such as -Dzookeeper.authProvider.X=com.f.MyAuth -Dzookeeper.authProvider.X=com.f.MyAuth2,\nonly one will be used. Also all servers must have the same plugins defined, otherwise clients using\nthe authentication schemes provided by the plugins will have problems connecting to some servers."],[1866,"Causal order: If a message b is sent after a message a has been delivered by the sender of b, message a must be ordered before b. If a sender sends c after sending b, c must be ordered after b."],[1243,"Change directory to the*.../trunk/zookeeper-client/zookeeper-client-c*\nand run autoreconf -if to bootstrap autoconf, automake and libtool. Make sure you have autoconf version 2.59 or greater installed.\nSkip to step4."],[594,"Change ensemble membership at runtime. Before using this command, read the details in Dynamic Reconfiguration, especially the Security section."],[1441,"Changed event:\nEnabled with a call to exists and getData."],[611,"Changes to Configuration Format"],[731,"Changing an observer into a follower: Changing a voting server into an observer\nmay fail if fewer than the minimal allowed number of participants would remain (error 2).\nConverting an observer into a participant may sometimes fail for a more subtle reason.\nSuppose the current configuration is (A, B, C, D), where A is the leader, B and C are\nfollowers, and D is an observer, and B has crashed. If a reconfiguration makes D a\nfollower, it will fail with error 3 since a majority of voters in the new configuration\n(any 3 voters) must be connected and up-to-date with the leader. An observer cannot\nacknowledge the history prefix sent during reconfiguration and therefore does not count\ntowards the 3 required servers. In this case, a client can achieve the task with two\nreconfig commands: first remove D from the configuration, then add it back as a\nparticipant. During the intermediate state D is a non-voting follower and can ACK the\nstate transfer performed during the second reconfig command."],[1442,"Child event:\nEnabled with a call to getChildren."],[1446,"Child Remove event:\nWatcher which was added with a call to getChildren."],[1020,"Clean up old snapshots and transaction logs."],[542,"CLI"],[479,"Client"],[1480,"Client calls the ZooKeeper API's exists() function on the barrier node, with\nwatch set to true."],[1207,"Client Configuration Parameters"],[842,"Client IP address."],[473,"Client is the Java client\nlibrary, used by applications to connect to a ZooKeeper ensemble."],[838,"Client session ID."],[366,"client.certReload :\n(Java system property: zookeeper.client.certReload)\nNew in 3.7.2, 3.8.1, 3.9.0:\nAllows client SSL keyStore and trustStore reloading when the certificates on the filesystem change without having to restart the ZK process. Default: false"],[367,"client.portUnification:\n(Java system property: zookeeper.client.portUnification)\nSpecifies that the client port should accept SSL connections\n(using the same configuration as the secure client port).\nDefault: false"],[1948,"clientPort :\nthe port to listen for client connections"],[178,"clientPort :\nthe port to listen for client connections; that is, the\nport that clients attempt to connect to."],[197,"clientPortAddress :\nNew in 3.3.0: the\naddress (ipv4, ipv6 or hostname) to listen for client\nconnections; that is, the address that clients attempt\nto connect to. This is optional, by default we bind in\nsuch a way that any connection to the clientPort for any\naddress/interface/nic on the server will be\naccepted."],[227,"clientPortListenBacklog :\n(No Java system property)\nNew in 3.4.14, 3.5.5, 3.6.0:\nThe socket backlog length for the ZooKeeper server socket. This controls\nthe number of requests that will be queued server-side to be processed\nby the ZooKeeper server. Connections that exceed this length will receive\na network timeout (30s) which may cause ZooKeeper session expiry issues.\nBy default, this value is unset (-1) which, on Linux, uses a backlog of\n50. This value must be a positive number."],[1315,"Clients can set watches on znodes. Changes to that znode trigger\nthe watch and then clear the watch. When a watch triggers, ZooKeeper\nsends the client a notification. More information about watches can be\nfound in the section\nZooKeeper Watches."],[1803,"Clients connect to a single ZooKeeper server. The client maintains\na TCP connection through which it sends requests, gets responses, gets\nwatch events, and sends heart beats. If the TCP connection to the server\nbreaks, the client will connect to a different server."],[1510,"Clients wishing to obtain a lock do the following:"],[309,"clientTcpKeepAlive :\n(Java system property: zookeeper.clientTcpKeepAlive)\nNew in 3.6.1:\nSetting this to true sets the TCP keepAlive flag on the\nclient sockets. Some broken network infrastructure may lose\nthe FIN packet that is sent from closing client. These never\nclosed client sockets cause OS resource leak. Enabling this\noption terminates these zombie sockets by idle check.\nEnabling this option relies on OS level settings to work\nproperly, check your operating system's options regarding TCP\nkeepalive for more information. Defaults to false. Please\nnote the distinction between it and tcpKeepAlive. It is\napplied for the client sockets while tcpKeepAlive is for\nthe sockets used by quorum members. Currently this option is\nonly available when default NIOServerCnxnFactory is used."],[1057,"Clone and build the ZooKeeper binding:"],[547,"close"],[575,"Close the current client session."],[164,"Cluster Options"],[462,"Clustered (Multi-Server) Setup"],[469,"Clustered (Multi-Server) Setup"],[299,"cnxTimeout :\n(Java system property: zookeeper.cnxTimeout)\nSets the timeout value for opening connections for leader election notifications.\nOnly applicable if you are using electionAlg 3."],[971,"Combined with the Chroot, the quota will have a better isolation effectiveness between different\napplications. For example:"],[840,"Comma-separated list of users associated with the client session. See Who is taken as user in audit logs?"],[52,"Commands"],[192,"commitLogCount * :\n(Java system property: zookeeper.commitLogCount)\nZookeeper maintains an in-memory list of last committed requests for fast synchronization with\nfollowers when the followers are not too behind. This improves sync performance in case when your\nsnapshots are large (>100,000). The default value is 500 which is the recommended minimum."],[1902,"COMMITs are processed in order. Followers deliver a proposal message when that proposal is committed."],[1343,"Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors."],[139,"Communication using the Netty framework"],[1606,"Companies"],[1030,"Compare two snapshots with configurable thresholds and filters, outputting the delta —\nwhich znodes were added, updated, or deleted. Useful for offline consistency checks and\ndata trend analysis. Only permanent nodes are reported; sessions and ephemeral nodes are ignored."],[1855,"Comparisons"],[1272,"Compile the code with the multithreaded library mentioned before."],[1083,"Complete example"],[161,"Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer."],[1117,"Complete Source Listings"],[629,"Conditional Reconfig"],[1789,"Conditional updates and watches"],[60,"conf :\nNew in 3.3.0: Print\ndetails about serving configuration."],[548,"config"],[685,"Configuration is modified through the reconfig command. There are two\nmodes: incremental and non-incremental (bulk). The non-incremental mode\nspecifies the complete new dynamic configuration. The incremental mode specifies\nchanges to the current configuration. The reconfig command returns the new\nconfiguration."],[1701,"Configuration Of Topics\nThe configuration regarding all the topics including the list of existing topics, the number of partitions for each topic,\nthe location of all the replicas, list of configuration overrides for all topics and which node is the preferred leader, etc."],[160,"Configuration Parameters"],[112,"configuration/conf/config :\nPrint basic details about serving configuration, e.g.\nclient port, absolute path to data directory."],[821,"Configure the scraper to target your ZooKeeper cluster endpoints:"],[815,"Configure the SSL key store (holds the server's private key and certificate):"],[816,"Configure the SSL trust store (used to verify client certificates):"],[1059,"Configure ZooKeeper Connection Parameters"],[56,"Configuring AdminServer for SSL/TLS"],[798,"Configuring the Metrics Provider"],[891,"Configuring the Oracle in zoo.cfg"],[549,"connect"],[577,"Connect to a ZooKeeper server."],[544,"Connecting"],[1260,"Connecting to ZooKeeper"],[1935,"Connecting to ZooKeeper"],[111,"connection_stat_reset/crst:\nReset all client connection statistics.\nNo new fields returned."],[222,"connectionDecreaseRatio :\n(Java system property: zookeeper.connection_throttle_decrease_ratio)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping. This parameter defines the threshold to decrease the dropping\nprobability. The default is 0."],[221,"connectionDropDecrease :\n(Java system property: zookeeper.connection_throttle_drop_decrease)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the dropping probability to decrease. The throttler\nchecks every connectionFreezeTime milliseconds and if the token bucket has\nmore tokens than a threshold, the dropping probability will be decreased by\nconnectionDropDecrease. The threshold is connectionMaxTokens *\nconnectionDecreaseRatio. The default is 0.002."],[220,"connectionDropIncrease :\n(Java system property: zookeeper.connection_throttle_drop_increase)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the dropping probability to increase. The throttler\nchecks every connectionFreezeTime milliseconds and if the token bucket is\nempty, the dropping probability will be increased by connectionDropIncrease.\nThe default is 0.02."],[219,"connectionFreezeTime :\n(Java system property: zookeeper.connection_throttle_freeze_time)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the interval in milliseconds when the dropping\nprobability is adjusted. When set to -1, probabilistic dropping is disabled.\nDefault is -1."],[216,"connectionMaxTokens :\n(Java system property: zookeeper.connection_throttle_tokens)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the maximum number of tokens in the token-bucket.\nWhen set to 0, throttling is disabled. Default is 0."],[113,"connections/cons :\nInformation on client connections to server.\nNote, depending on the number of client connections this operation may be expensive\n(i.e. impact server performance).\nReturns \"connections\", a list of connection info objects."],[218,"connectionTokenFillCount :\n(Java system property: zookeeper.connection_throttle_fill_count)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the number of tokens to add to the token bucket every\nconnectionTokenFillTime milliseconds. Default is 1."],[217,"connectionTokenFillTime :\n(Java system property: zookeeper.connection_throttle_fill_time)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the interval in milliseconds when the token bucket is re-filled with\nconnectionTokenFillCount tokens. Default is 1."],[288,"connectToLearnerMasterLimit :\n(Java system property: zookeeper.connectToLearnerMasterLimit)\nAmount of time, in ticks (see tickTime), to allow followers to\nconnect to the leader after leader election. Defaults to the value of initLimit.\nUse when initLimit is high so connecting to learner master doesn't result in higher timeout."],[61,"cons :\nNew in 3.3.0: List\nfull connection/session details for all clients connected\nto this server. Includes information on numbers of packets\nreceived/sent, session id, operation latencies, last\noperation performed, etc..."],[894,"Considerations When Using the Oracle"],[1277,"Consistency Guarantees"],[1856,"Consistency Guarantees"],[1181,"const int ZOO_PERM_ADMIN; //can execute set_acl()"],[1182,"const int ZOO_PERM_ALL;// all of the above flags OR’d together"],[1179,"const int ZOO_PERM_CREATE; //can create children"],[1180,"const int ZOO_PERM_DELETE;// can delete children"],[1177,"const int ZOO_PERM_READ; //can read node’s value and list its children"],[1178,"const int ZOO_PERM_WRITE;// can set the node’s value"],[1298,"Container Nodes"],[482,"Contrib"],[476,"Contrib refers to multiple\noptional add-on components."],[1700,"Controller election\nThe controller is one of the most important broking entity in a Kafka ecosystem, and it also has the responsibility\nto maintain the leader-follower relationship across all the partitions. If a node by some reason is shutting down,\nit’s the controller’s responsibility to tell all the replicas to act as partition leaders in order to fulfill the\nduties of the partition leaders on the node that is about to fail. So, whenever a node shuts down, a new controller\ncan be elected and it can also be made sure that at any given time, there is only one controller and all the follower nodes have agreed on that."],[1130,"Conventionally, ZooKeeper applications are broken into two units, one which maintains the connection,\nand the other which monitors data. In this application, the class called the Executor\nmaintains the ZooKeeper connection, and the class called the DataMonitor monitors the data\nin the ZooKeeper tree. Also, Executor contains the main thread and contains the execution logic.\nIt is responsible for what little user interaction there is, as well as interaction with the executable program you\npass in as an argument and which the sample (per the requirements) shuts down and restarts, according to the\nstate of the znode."],[1930,"Coordinating Distributed Applications with ZooKeeper"],[1798,"Coordination services are notoriously hard to get right. They are\nespecially prone to errors such as race conditions and deadlock. The\nmotivation behind ZooKeeper is to relieve distributed applications the\nresponsibility of implementing coordination services from scratch."],[1661,"Coordinator leader election"],[323,"Copy the jar file to $JAVA_HOME/jre/lib/ext/."],[1380,"Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble."],[457,"Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup."],[550,"create"],[1166,"CREATE\nwithout DELETE: clients create requests by\ncreating ZooKeeper nodes in a parent directory. You want all\nclients to be able to add, but only request processor can\ndelete. (This is kind of like the APPEND permission for\nfiles.)"],[1820,"create : creates a node at a location in the tree"],[519,"Create a configuration file. This file can be called anything. Use the following settings as a\nstarting point:"],[580,"Create a container node (automatically deleted when its last child is deleted):"],[947,"Create a file containing 1 under /Volumes/Oracle named mastership:"],[579,"Create a node with an ACL schema:"],[581,"Create a TTL node (requires zookeeper.extendedTypesEnabled=true; otherwise returns KeeperErrorCode = Unimplemented):"],[578,"Create a znode."],[949,"Create a zoo.cfg like the following:"],[522,"Create an initialization marker file initialize in the same directory as myid. This file\nindicates that an empty data directory is expected. When present, an empty database is created\nand the marker file deleted. When not present, an empty data directory will mean this peer will\nnot have voting rights and it will not populate the data directory until it communicates with\nan active leader. Intended use is to only create this file when bringing up a new ensemble."],[148,"Create SSL keystore JKS to store local credentials. One keystore should be created for each ZK\ninstance. In this example we generate a self-signed certificate and store it together with the\nprivate key in keystore.jks. This is suitable for testing purposes, but you probably need an\nofficial certificate to sign your keys in a production environment. Please note that the alias\n(-alias) and the distinguished name (-dname) must match the hostname of the machine that is\nassociated with, otherwise hostname verification won't work."],[150,"Create SSL truststore JKS containing certificates of all ZooKeeper instances. The same\ntruststore (storing all accepted certs) should be shared on participants of the ensemble. You\nneed to use different aliases to store multiple certificates in the same truststore. Name of\nthe aliases doesn't matter."],[155,"Create the necessary keystores and truststores for all ZK participants as described in the\nprevious section."],[1552,"Create znode z with path \"ELECTION/guid-n_\" with both SEQUENCE and\nEPHEMERAL flags;"],[1954,"Create, inspect, update, and delete a test znode to validate end-to-end\noperation."],[1159,"CREATE: you can create a child node"],[1439,"Created event:\nEnabled with a call to exists."],[465,"Cross Machine Requirements"],[62,"crst :\nNew in 3.3.0: Reset\nconnection/session statistics for all connections."],[1334,"ctime\nThe time in milliseconds from epoch when this znode was\ncreated."],[246,"current_hash = current_hash + hash(new node data) - hash(old node data)"],[1416,"Currently, Only the operation: create ephemeral node needs a session upgrade from local to global.\nThe reason is that the creation of ephemeral node depends heavily on a global session. If local session can create ephemeral\nnode without upgrading to global session, it will cause the data inconsistency between different nodes.\nThe leader also needs to know about the lifespan of a session in order to clean up ephemeral nodes on close/expiry.\nThis requires a global session as the local session is tied to its particular server."],[861,"Custom authentication providers can override org.apache.zookeeper.server.auth.AuthenticationProvider.getUserName(String id)\nto provide a user name. If a custom provider does not override this method, the value stored in\norg.apache.zookeeper.data.Id.id is used as the user. Generally only the user name is stored in\nthis field, but it is up to the custom provider what they store there."],[376,"Custom trust manager (ZKTrustManager) that is used for hostname verification will be disabled. As a consequence,\nhostname verification is not available in the Quorum protocol, but still can be set in client-server communication."],[1337,"cversion\nThe number of changes to the children of this znode."],[1331,"czxid\nThe zxid of the change that caused this znode to be\ncreated."],[1294,"Data Access"],[436,"Data File Management"],[1290,"Data Model"],[1786,"Data model and the hierarchical namespace"],[1447,"Data Remove event:\nWatcher which was added with a call to exists or getData."],[883,"Datacenter bridge: Forming a ZooKeeper ensemble between two datacenters is\nproblematic because high variance in latency between datacenters can lead to\nfalse-positive failure detection and partitioning. However, if the ensemble runs\nentirely in one datacenter and the second datacenter runs only Observers,\npartitions are not problematic — the ensemble remains connected. Clients of the\nObservers may still see and issue proposals."],[1947,"dataDir :\nthe location to store the in-memory database snapshots and,\nunless specified otherwise, the transaction log of updates to the\ndatabase."],[181,"dataDir :\nthe location where ZooKeeper will store the in-memory\ndatabase snapshots and, unless specified otherwise, the\ntransaction log of updates to the database."],[1340,"dataLength\nThe length of the data field of this znode."],[186,"dataLogDir :\n(No Java system property)\nThis option will direct the machine to write the\ntransaction log to the dataLogDir rather than the dataDir. This allows a dedicated log\ndevice to be used, and helps avoid competition between logging\nand snapshots."],[1119,"DataMonitor.java"],[775,"DataTree"],[788,"DataTree"],[1921,"DEBUG — fine-grained informational events most useful for debugging."],[5,"Debug Log Cleanup (logback)"],[172,"Debug Observability Configurations"],[1610,"Deepdyve"],[303,"Default value is -1, which will then use the syncLimit * tickTime as the\ntimeout."],[400,"Default value is true. By setting this parameter to 'false' you can disable the reachability checks.\nPlease note, disabling the reachability check will cause the cluster not to be able to reconfigure\nitself properly during network problems, so the disabling is advised only during testing."],[362,"Default: \"need\""],[378,"Default: true (3.9.0+), false (3.8.x)"],[814,"Define the HTTPS port:"],[551,"delete"],[1821,"delete : deletes a node"],[583,"Delete a node and all of its descendants."],[582,"Delete a node at the specified path."],[584,"Delete the quota on a path."],[1162,"DELETE: you can delete a child node"],[552,"deleteall"],[1440,"Deleted event:\nEnabled with a call to exists, getData, and getChildren."],[962,"Deleting Quotas"],[553,"delquota"],[531,"Deployed machines operate correctly. To\noperate correctly means to execute code correctly, to have\nclocks that work properly, and to have storage and network\ncomponents that perform consistently."],[456,"Deployment"],[890,"Deployment Contexts"],[437,"Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit."],[1426,"Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal."],[1363,"Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme."],[759,"Description"],[784,"Description"],[1785,"Design Goals"],[464,"Designing a ZooKeeper Deployment"],[1278,"Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems."],[1859,"Developer Guidelines"],[484,"Development and Production"],[485,"Development and Production"],[486,"Development and Production"],[487,"Development and Production"],[489,"Development and Production"],[490,"Development and Production"],[494,"Development and Production"],[495,"Development and Production"],[499,"Development and Production"],[500,"Development and Production"],[504,"Development Only"],[505,"Development Only"],[1173,"digest uses\na username:password string to generate\nMD5 hash which is then used as an ACL ID\nidentity. Authentication is done by sending\nthe username:password in clear text. When\nused in the ACL the expression will be\nthe username:base64\nencoded SHA1\npassword digest."],[377,"DIGEST-MD5 Sasl auth mechanism will be disabled in Quorum and ZooKeeper Sasl clients. Only GSSAPI (Kerberos)\ncan be used."],[243,"digest.enabled :\n(Java system property only: zookeeper.digest.enabled)\nNew in 3.6.0:\nThe digest feature is added to detect the data inconsistency inside\nZooKeeper when loading database from disk, catching up and following\nleader, its doing incrementally hash check for the DataTree based on\nthe adHash paper mentioned in"],[860,"DigestAuthenticationProvider — the authenticated username is used as the user."],[318,"DigestAuthenticationProvider.digestAlg :\n(Java system property: zookeeper.DigestAuthenticationProvider.digestAlg)\nNew in 3.7.0:\nSet ACL digest algorithm. The default value is: SHA1 which will be deprecated in the future for security issues."],[316,"DigestAuthenticationProvider.enabled :\n(Java system property: zookeeper.DigestAuthenticationProvider.enabled)\nNew in 3.7:\nDetermines whether the digest authentication provider is\nenabled. The default value is true for backwards\ncompatibility, but it may be a good idea to disable this provider\nif not used, as it can result in misleading entries appearing in\naudit logs\n(see ZOOKEEPER-3979)"],[317,"DigestAuthenticationProvider.superDigest :\n(Java system property: zookeeper.DigestAuthenticationProvider.superDigest)\nBy default this feature is disabled\nNew in 3.2:\nEnables a ZooKeeper ensemble administrator to access the\nznode hierarchy as a \"super\" user. In particular no ACL\nchecking occurs for a user authenticated as\nsuper.\norg.apache.zookeeper.server.auth.DigestAuthenticationProvider\ncan be used to generate the superDigest, call it with\none parameter of \"super:\". Provide the\ngenerated \"super:\" as the system property value\nwhen starting each server of the ensemble.\nWhen authenticating to a ZooKeeper server (from a\nZooKeeper client) pass a scheme of \"digest\" and authdata\nof \"super:\". Note that digest auth passes\nthe authdata in plaintext to the server, it would be\nprudent to use this authentication method only on\nlocalhost (not over the network) or over an encrypted\nconnection."],[115,"dirs :\nInformation on logfile directory and snapshot directory\nsize in bytes.\nReturns \"datadir_size\" and \"logdir_size\"."],[71,"dirs :\nNew in 3.5.1:\nShows the total size of snapshot and log files in bytes"],[677,"Disable ACL check: ZooKeeper supports the\nskipACL option such that\nACL checks are completely skipped when skipACL is set to yes. In such cases\nany unauthenticated user can use the reconfig API."],[169,"Disabling data directory autocreation"],[1503,"Distributed queues are a common data structure. To implement a\ndistributed queue in ZooKeeper, first designate a znode to hold the queue,\nthe queue node. The distributed clients put something into the queue by\ncalling create() with a pathname ending in \"queue-\", with the\nsequence and ephemeral flags in\nthe create() call set to true. Because the sequence\nflag is set, the new pathname will have the form\npath-to-queue-node/queue-X, where X is a monotonic increasing number. A\nclient that wants to be removed from the queue calls ZooKeeper's getChildren( ) function, with\nwatch set to true on the queue node, and begins\nprocessing nodes with the lowest number. The client does not need to issue\nanother getChildren( ) until it exhausts\nthe list obtained from the first getChildren(\n) call. If there are no children in the queue node, the\nreader waits for a watch notification to check the queue again."],[1479,"Distributed systems use barriers\nto block processing of a set of nodes until a condition is met\nat which time all the nodes are allowed to proceed. Barriers are\nimplemented in ZooKeeper by designating a barrier node. The\nbarrier is in place if the barrier node exists. Here's the\npseudo code:"],[539,"Do not put ZooKeeper in a situation that can cause a\nswap. In order for ZooKeeper to function with any sort of\ntimeliness, it simply cannot be allowed to swap.\nTherefore, make certain that the maximum heap size given\nto ZooKeeper is not bigger than the amount of real memory\navailable to ZooKeeper. For more on this, see\nThings to Avoid\nin the Best Practices guide."],[1205,"Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries."],[1142,"Don't confuse the completion callback with the watch callback. The ZooKeeper.exists()\ncompletion callback, which happens to be the method StatCallback.processResult() implemented\nin the DataMonitor object, is invoked when the asynchronous setting of the watch operation\n(by ZooKeeper.exists()) completes on the server."],[1463,"Double Barriers"],[1484,"Double barriers enable clients to synchronize the beginning and\nthe end of a computation. When enough processes have joined the barrier,\nprocesses start their computation and leave the barrier once they have\nfinished. This recipe shows how to use a ZooKeeper node as a\nbarrier."],[1932,"Download"],[829,"Download and import the default ZooKeeper dashboard template\nand customize it to your needs. If you have improvements to share, send them to dev@zookeeper.apache.org."],[116,"dump :\nInformation on session expirations and ephemerals.\nNote, depending on the number of global sessions and ephemerals\nthis operation may be expensive (i.e. impact server performance).\nReturns \"expiry_time_to_session_ids\" and \"session_id_to_ephemeral_paths\" as maps."],[63,"dump :\nLists the outstanding sessions and ephemeral nodes."],[1028,"Dump a snapshot file to stdout, showing detailed information for each znode."],[1021,"Dump and recover transaction log files with broken CRC entries."],[667,"During a rolling upgrade, each server is taken down in turn and rebooted\nwith the new 3.5.0 binaries. Before starting a server with 3.5.0 binaries,\nwe highly recommend updating the configuration file so that all server\nstatements server.x=... contain client ports (see\nSpecifying the Client Port). You may leave\nthe configuration in a single file and may also leave the\nclientPort/clientPortAddress statements (although if you specify client\nports in the new format, these statements become redundant)."],[665,"During boot, a dynamic configuration file is created containing the dynamic\npart of the configuration as explained earlier. In this case, however, the\nline clientPort=2791 will remain in the static configuration file of\nserver 1 since it is not redundant — it was not specified as part of\nserver.1=... using the format described in\nChanges to Configuration Format. If a\nreconfiguration is invoked that sets the client port of server 1, clientPort=2791\nis removed from the static configuration file (the dynamic file then contains\nthis information as part of the server 1 specification)."],[680,"During boot, the version (if it exists) is extracted from the filename. The\nversion should never be manually altered — it is used by the system to determine\nwhich configuration is most up-to-date, and manipulating it can result in data\nloss and inconsistency."],[616,"Dynamic Configuration File"],[656,"Dynamic configuration parameters are stored in a separate file on the server\n(the dynamic configuration file), linked from the static config file using the\ndynamicConfigFile keyword."],[609,"Dynamic Reconfiguration"],[621,"Dynamic Reconfiguration of the ZooKeeper Ensemble"],[1713,"Each cluster has its own local ZooKeeper ensemble that stores cluster-specific configuration and coordination such as ownership metadata,\nbroker load reports, BookKeeper ledger metadata, and more ."],[447,"Each ZooKeeper server has a unique id. This id is used in two\nplaces: the myid file and the configuration file.\nThe myid file identifies the server that\ncorresponds to the given data directory. The configuration file lists\nthe contact information for each server identified by its server id.\nWhen a ZooKeeper server instance starts, it reads its id from the\nmyid file and then, using that id, reads from the\nconfiguration file, looking up the port on which it should\nlisten."],[1567,"Eclipse Communication Framework"],[1568,"Eclipse Gyrex"],[283,"electionAlg :\n(No Java system property)\nElection implementation to use. A value of \"1\" corresponds to the\nnon-authenticated UDP-based version of fast leader election, \"2\"\ncorresponds to the authenticated UDP-based version of fast\nleader election, and \"3\" corresponds to TCP-based version of\nfast leader election. Algorithm 3 was made default in 3.2.0 and\nprior versions (3.0.0 and 3.1.0) were using algorithm 1 and 2 as well."],[310,"electionPortBindRetry :\n(Java system property only: zookeeper.electionPortBindRetry)\nProperty set max retry count when Zookeeper server fails to bind\nleader election port. Such errors can be temporary and recoverable,\nsuch as DNS issue described in ZOOKEEPER-3320,\nor non-retryable, such as port already in use.\nIn case of transient errors, this property can improve availability\nof Zookeeper server and help it to self recover.\nDefault value 3. In container environment, especially in Kubernetes,\nthis value should be increased or set to 0(infinite retry) to overcome issues\nrelated to DNS name resolving."],[1482,"Else, if exists() returns true,\nthe clients wait for a watch event from ZooKeeper for the barrier\nnode."],[207,"emulate353TTLNodes :\n(Java system property only:zookeeper.emulate353TTLNodes).\nNew in 3.5.4, 3.6.0: Due to [ZOOKEEPER-2901]\n(https://issues.apache.org/jira/browse/ZOOKEEPER-2901) TTL nodes\ncreated in version 3.5.3 are not supported in 3.5.4/3.6.0. However, a workaround is provided via the\nzookeeper.emulate353TTLNodes system property. If you used TTL nodes in ZooKeeper 3.5.3 and need to maintain\ncompatibility set zookeeper.emulate353TTLNodes to true in addition to\nzookeeper.extendedTypesEnabled. NOTE: due to the bug, server IDs\nmust be 127 or less. Additionally, the maximum support TTL value is 1099511627775 which is smaller\nthan what was allowed in 3.5.3 (1152921504606846975)"],[158,"Enable Quorum TLS on each node and do a rolling restart:"],[811,"Enable the Prometheus MetricsProvider by adding the following to zoo.cfg:"],[240,"enableEagerACLCheck :\n(Java system property only: zookeeper.enableEagerACLCheck)\nWhen set to \"true\", enables eager ACL check on write requests on each local\nserver before sending the requests to quorum. Default is \"false\"."],[170,"Enabling db existence validation"],[799,"Enabling HTTPS for Prometheus Metrics"],[165,"Encryption, Authentication, Authorization Options"],[337,"enforce.auth.enabled :\n(Java system property : zookeeper.enforce.auth.enabled)\nNew in 3.7.0:\nWhen set to true, ZooKeeper server will only accept connections and requests from clients\nthat have authenticated with server via configured auth scheme. Authentication schemes\ncan be configured using property enforce.auth.schemes. Clients that are not\nconfigured with the any of the auth scheme configured at server or configured but failed authentication (i.e. with invalid credential)\nwill not be able to establish a session with server. A typed error code (-124) will be delivered\nin such case, both Java and C client will close the session with server thereafter,\nwithout further attempts on retrying to reconnect."],[341,"enforce.auth.schemes :\n(Java system property : zookeeper.enforce.auth.schemes)\nNew in 3.7.0:\nComma separated list of authentication schemes. Clients must be authenticated with at least one\nauthentication scheme before doing any zookeeper operations.\nThis property is used only when enforce.auth.enabled is to true."],[232,"enforceQuota :\n(Java system property: zookeeper.enforceQuota)\nNew in 3.7.0:\nEnforce the quota check. When enabled and the client exceeds the total bytes or children count hard quota under a znode, the server will reject the request and reply the client a QuotaExceededException by force.\nThe default value is: false. Exploring quota feature for more details."],[1055,"Ensure a JDK and Maven are installed on the machine running the benchmark."],[1486,"Enter"],[1043,"Enter an absolute path (starting with /) to print the immediate subtree of that node."],[1048,"Enter an absolute path to print the immediate subtree of a node:"],[64,"envi :\nPrint details about serving environment"],[117,"environment/env/envi :\nAll defined environment variables.\nReturns each as its own field."],[1295,"Ephemeral Nodes"],[1339,"ephemeralOwner\nThe session id of the owner of this znode if the znode is an\nephemeral node. If it is not an ephemeral node, it will be\nzero."],[937,"Equivalently: for any two Oracle files, their values must not both be 1 at the same time."],[1918,"ERROR — error events that might still allow the application to continue running."],[630,"Error Conditions"],[1738,"EventBus, Twitter’s pub-sub messaging system, stores critical metadata in ZooKeeper and uses ZooKeeper for leader election."],[906,"Every instance accesses a file which contains either 0 or 1 to indicate whether that instance is authorized by the Oracle.\nThis design can be changed since failure detector algorithms vary. You can override the askOracle() method in QuorumOracleMaj to adapt a preferred way of reading the Oracle's decision."],[1311,"Every node in a ZooKeeper tree is referred to as a\nznode. Znodes maintain a stat structure that\nincludes version numbers for data changes, acl changes. The stat\nstructure also has timestamps. The version number, together with the\ntimestamp, allows ZooKeeper to validate the cache and to coordinate\nupdates. Each time a znode's data changes, the version number increases.\nFor instance, whenever a client retrieves data, it also receives the\nversion of the data. And when a client performs an update or a delete,\nit must supply the version of the data of the znode it is changing. If\nthe version it supplies doesn't match the actual version of the data,\nthe update will fail. (This behavior can be overridden.)"],[1829,"Every ZooKeeper server services clients. Clients connect to\nexactly one server to submit requests. Read requests are serviced from\nthe local replica of each server database. Requests that change the\nstate of the service, write requests, are processed by an agreement\nprotocol."],[735,"Example (simplified to illustrate the general idea, not a production recipe):"],[617,"Example 1"],[1070,"Example 1: Force a leader re-election by rolling over the leader's zxid."],[618,"Example 2"],[1071,"Example 2: Make the leader drop ping packets to a specific follower. The leader will close\nthe LearnerHandler for that follower, and the follower will re-enter the quorum."],[1072,"Example 3: Make a follower drop ACK packets. This has limited effect during broadcast since\nthe leader only needs a majority of ACKs to commit a proposal."],[1037,"Example command:"],[1038,"Example output:"],[1389,"Example state transitions for an expired session as seen by\nthe expired session's watcher:"],[869,"Example Use Cases"],[892,"Example zoo.cfg"],[897,"Examples of Failure Detector Implementations"],[646,"Examples of legal server statements:"],[648,"Examples of valid configurations using multiple addresses:"],[1927,"Exception handling:"],[1118,"Executor.java"],[1822,"exists : tests if a node exists at a location"],[167,"Experimental Options/Features"],[140,"Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters."],[1150,"Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API."],[1291,"Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure."],[206,"extendedTypesEnabled :\n(Java system property only: zookeeper.extendedTypesEnabled)\nNew in 3.5.4, 3.6.0: Define to true to enable\nextended features such as the creation of TTL Nodes.\nThey are disabled by default. IMPORTANT: when enabled server IDs must\nbe less than 255 due to internal limitations."],[149,"Extract the signed public key (certificate) from keystore. This step might only be necessary\nfor self-signed certificates."],[1611,"Facebook"],[1724,"Facebook uses the Zeus ([17,18]) for configuration management which is a forked version of ZooKeeper, with many scalability\nand performance en- hancements in order to work at the Facebook scale.\nIt runs a consensus protocol among servers distributed across mul- tiple regions for resilience. If the leader fails,\na follower is converted into a new leader."],[1840,"Failure and recovery of a different follower"],[1839,"Failure and recovery of a follower"],[1842,"Failure and recovery of two followers"],[1678,"Failure detection - each of the NameNode machines in the cluster maintains a persistent session in ZooKeeper.\nIf the machine crashes, the ZooKeeper session will expire, notifying the other NameNode that a failover should be triggered."],[1843,"Failure of another leader"],[1841,"Failure of the leader"],[215,"fastleader.maxNotificationInterval :\n(Java system property: zookeeper.fastleader.maxNotificationInterval)\nUpper bound for length of time between two consecutive notification\nchecks on the leader election. This interval determines how long a\npeer waits to check the set of election votes and effects how\nquickly an election can resolve. The interval follows a backoff\nstrategy from the configured minimum (fastleader.minNotificationInterval)\nand the configured maximum (this) for long elections."],[214,"fastleader.minNotificationInterval :\n(Java system property: zookeeper.fastleader.minNotificationInterval)\nLower bound for length of time between two consecutive notification\nchecks on the leader election. This interval determines how long a\npeer waits to check the set of election votes and effects how\nquickly an election can resolve. The interval follows a backoff\nstrategy from the configured minimum (this) and the configured maximum\n(fastleader.maxNotificationInterval) for long elections."],[1012,"Fault Injection Framework"],[440,"File Management"],[1965,"Finally, let's delete the node by issuing:"],[696,"Finally, note that once connected to the leader, a joiner adopts the last committed\nconfiguration (in which it is absent), and the initial config is backed up before\nbeing rewritten. If the joiner restarts in this state it will not be able to boot\nsince it is absent from its configuration file — you will need to specify an initial\nconfiguration again."],[1976,"Finally, note the two port numbers after each server\nname: \" 2888\" and \"3888\". Peers use the former port to connect\nto other peers. Such a connection is necessary so that peers\ncan communicate, for example, to agree upon the order of\nupdates. More specifically, a ZooKeeper server uses this port\nto connect followers to the leader. When a new leader arises, a\nfollower opens a TCP connection to the leader using this\nport. Because the default leader election also uses TCP, we\ncurrently require another port for leader election. This is the\nsecond port in the server entry."],[1147,"Finally, notice how DataMonitor processes watch events:"],[1218,"Finally, the rules associated with shutdown are straightforward:\nonce a ZooKeeper object is closed or receives a fatal event\n(SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid.\nOn a close, the two threads shut down and any further access on zookeeper\nhandle is undefined behavior and should be avoided."],[375,"fips-mode :\n(Java system property: zookeeper.fips-mode)\nNew in 3.8.2:\nEnable FIPS compatibility mode in ZooKeeper. If enabled, the following things will be changed in order to comply\nwith FIPS requirements:"],[874,"First, in the config file of every node that is to be an Observer, add:"],[1270,"flags :\nIn an initiation, we can leave it for 0."],[1871,"FLP proved that consensus cannot be achieved in asynchronous distributed systems\nif failures are possible. To ensure that we achieve consensus in the presence of failures\nwe use timeouts. However, we rely on time for liveness, not for correctness. So,\nif timeouts stop working (e.g., skewed clocks) the messaging system may\nhang, but it will not violate its guarantees."],[1670,"Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts\nof log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant\nwith tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model\nthat allows for online analytic application."],[1671,"Flume supports Agent configurations via Zookeeper. This is an experimental feature ."],[229,"flushDelay :\n(Java system property: zookeeper.flushDelay)\nTime in milliseconds to delay the flush of the commit log.\nDoes not affect the limit defined by maxBatchSize.\nDisabled by default (with value 0). Ensembles with high write rates\nmay see throughput improved with a value of 10-20 ms."],[1266,"fn :\nWatcher function to process events when a notification is triggered."],[1916,"Follow the slf4j manual when creating log statements in\ncode. Also read the FAQ on logging performance.\nPatch reviewers will look for the following:"],[772,"Follower"],[773,"Follower"],[1900,"Followers process messages in the order they are received. This means that messages will be ACKed in order and the leader will receive ACKs from followers in order, due to the FIFO channels. It also means that if message m has been written to non-volatile storage, all messages that were proposed before m have been written to non-volatile storage."],[508,"For any operating system not explicitly mentioned as supported in\nthe matrix, components may or may not work. The ZooKeeper community\nwill fix obvious bugs that are reported for other platforms, but there\nis no full support."],[2039,"For application or deployment usage, this could happen if you custom and inherit incompatible slf4j and logback versions in classpath, say, slf4j-api:2.0.13 from zookeeper distribution and logback-classic:1.2.13 from customization."],[50,"For best results, take note of the following list of good\nZookeeper practices:"],[990,"For each server:"],[1403,"For example, if the previous connection string contained 3 hosts and now the list contains\nthese 3 hosts and 2 more hosts, 40% of clients connected to each of the 3 hosts will\nmove to one of the new hosts in order to balance the load. The algorithm will cause the client\nto drop its connection to the current host to which it is connected with probability 0.4 and in this\ncase cause the client to connect to one of the 2 new hosts, chosen at random."],[534,"For example, if we have a ZooKeeper ensemble with 3 servers,\nthe ensemble is able to tolerate up to 1 (3/2) server failures.\nIf we have a ZooKeeper ensemble with 5 servers,\nthe ensemble is able to tolerate up to 2 (5/2) server failures.\nIf the ZooKeeper ensemble with 6 servers, the ensemble\nis also able to tolerate up to 2 (6/2-1) server failures\nwithout losing data and prevent the \"brain split\" issue."],[322,"For example:"],[324,"For example:"],[528,"For information on installing the client side libraries, refer to\nthe Bindings\nsection of the ZooKeeper\nProgrammer's Guide."],[2038,"For library or client usage, this could happen if you specify and inherit incompatible slf4j and logback versions, say, slf4j-api:2.0.13 from org.apache.zookeeper:zookeeper and logback-classic:1.2.13 from customized project dependencies."],[1952,"For long running production systems ZooKeeper storage must\nbe managed externally (dataDir and logs). See the section on\nmaintenance for\nmore details."],[28,"For more information about Logback, see\nLogback website."],[27,"For more information about SLF4J, see\nits manual."],[51,"For multi-tenant installations see the section\ndetailing ZooKeeper \"chroot\" support, this can be very useful\nwhen deploying many applications/services interfacing to a\nsingle ZooKeeper cluster."],[1925,"For parameterized messages, use formatting anchors:"],[510,"For reliable ZooKeeper service, you should deploy ZooKeeper in a\ncluster known as an ensemble. As long as a majority\nof the ensemble are up, the service will be available. Because Zookeeper\nrequires a majority, it is best to use an\nodd number of machines. For example, with four machines ZooKeeper can\nonly handle the failure of a single machine; if two machines fail, the\nremaining two machines do not constitute a majority. However, with five\nmachines ZooKeeper can handle the failure of two machines."],[1970,"For replicated mode, a minimum of three servers are required,"],[250,"For the actual hash function, we’re using CRC internally, it’s not a collisionless\nhash function, but it’s more efficient compared to collisionless hash, and the\ncollision possibility is really really rare and can already meet our needs here."],[733,"For the method to work, all clients must subscribe to configuration changes by setting\na watch on /zookeeper/config — either directly or through the getConfig API. When\nthe watch is triggered, the client should read the new configuration by invoking\nsync and getConfig, and if the configuration is indeed new, invoke updateServerList.\nTo avoid mass client migration at the same time, each client should sleep a random\nshort period before invoking updateServerList."],[533,"For the ZooKeeper service to be active, there must be a\nmajority of non-failing machines that can communicate with\neach other. For a ZooKeeper ensemble with N servers,\nif N is odd, the ensemble is able to tolerate up to N/2\nserver failures without losing any znode data;\nif N is even, the ensemble is able to tolerate up to N/2-1\nserver failures."],[387,"forceSync :\n(Java system property: zookeeper.forceSync)\nRequires updates to be synced to media of the transaction\nlog before finishing processing the update. If this option is\nset to no, ZooKeeper will not require updates to be synced to\nthe media."],[274,"forward_learner_requests_to_commit_processor_disabled\n(Java system property: zookeeper.forward_learner_requests_to_commit_processor_disabled)\nWhen this property is set, the requests from learners won't be enqueued to\nCommitProcessor queue, which will help save the resources and GC time on\nleader. The default value is false."],[805,"Four Letter Words"],[1564,"Free Software Projects"],[493,"FreeBSD"],[379,"From 3.5.5 to 3.9 a hard coded default cipher list was used, with the ordering\ndependent on whether it is run Java 8 or a later version."],[1958,"From here, you can try a few simple commands to get a feel for this simple command line interface. First, start by issuing the list command, as\nin ls, yielding:"],[1276,"From the output, you should see \"Connected to Zookeeper\" along with Zookeeper's DEBUG messages if the connection is successful."],[1957,"From the shell, type help to get a listing of commands that can be executed from the client, as in:"],[200,"fsync.warningthresholdms :\n(Java system property: zookeeper.fsync.warningthresholdms)\nNew in 3.3.4: A\nwarning message will be output to the log whenever an\nfsync in the Transactional Log (WAL) takes longer than\nthis value. The values is specified in milliseconds and\ndefaults to 1000. This value can only be set as a\nsystem property."],[1507,"Fully distributed locks that are globally synchronous, meaning at\nany snapshot in time no two clients think they hold the same lock. These\ncan be implemented using ZooKeeper. As with priority queues, first define\na lock node."],[626,"General"],[107,"Generating the keystore.jks and truststore.jks which can be found in the Quorum TLS."],[554,"get"],[588,"Get all ephemeral nodes created by the current session."],[1825,"get children : retrieves a list of children of a node"],[671,"Get Configuration API: Used to retrieve ZooKeeper cluster configuration\ninformation stored in the /zookeeper/config znode. Use of this API does not\nrequire specific setup or authentication, because /zookeeper/config is readable\nby any user."],[1823,"get data : reads the data from a node"],[586,"Get the ACL permissions for a path."],[585,"Get the data stored at a path."],[587,"Get the total number of descendant nodes under a path."],[118,"get_trace_mask/gtmk :\nThe current trace mask. Read-only version of set_trace_mask.\nSee the description of the four letter command stmk for\nmore details.\nReturns \"tracemask\"."],[555,"getAcl"],[556,"getAllChildrenNumber"],[557,"getEphemerals"],[1296,"getEphemerals()"],[1322,"Given this property, you should be prepared to get\nKeeperException.NoNodeException when creating children inside of\ncontainer znodes. i.e. when creating child znodes inside of container znodes\nalways check for KeeperException.NoNodeException and recreate the container\nznode when it occurs."],[189,"globalOutstandingLimit :\n(Java system property: zookeeper.globalOutstandingLimit.)\nClients can submit requests faster than ZooKeeper can\nprocess them, especially if there are a lot of clients. To\nprevent ZooKeeper from running out of memory due to queued\nrequests, ZooKeeper will throttle clients so that there are no\nmore than globalOutstandingLimit outstanding requests across\nentire ensemble, equally divided. The default limit is 1,000\nand, for example, with 3 members each of them will have\n1000 / 2 = 500 individual limit."],[483,"GNU/Linux"],[1569,"GoldenOrb"],[1342,"Gotchas: Common Problems and Troubleshooting"],[802,"Grafana"],[828,"Grafana has built-in Prometheus support. Add a Prometheus data source with the following settings:"],[1675,"Griffin uses Zookeeper for coordination to provide redundancy and high availability of Kafka [31,36]."],[297,"group.x=nnnnn[:nnnnn] :\n(No Java system property)\nEnables a hierarchical quorum construction.\"x\" is a group identifier\nand the numbers following the \"=\" sign correspond to server identifiers.\nThe left-hand side of the assignment is a colon-separated list of server\nidentifiers. Note that groups must be disjoint and the union of all groups\nmust be the ZooKeeper ensemble.\nYou will find an example here"],[77,"gtmk :\nGets the current trace mask as a 64-bit signed long value in\ndecimal format. See stmk for an explanation of\nthe possible values."],[1790,"Guarantees"],[1851,"Guarantees, Properties, and Definitions"],[1458,"Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election."],[1367,"handleAuthentication is called when a client\nsends authentication information to be associated with a connection. The\nclient specifies the scheme to which the information corresponds. The\nZooKeeper server passes the information to the authentication plugin whose\ngetScheme matches the scheme passed by the client. The\nimplementor of handleAuthentication will usually return\nan error if it determines that the information is bad, or it will associate information\nwith the connection using cnxn.getAuthInfo().add(new Id(getScheme(), data))."],[1259,"Handling Errors"],[898,"Hardware-based Implementation"],[76,"hash :\nNew in 3.6.0:\nReturn the latest history of the tree digest associated with zxid."],[114,"hash:\nTxn digests in the historical digest list.\nOne is recorded every 128 transactions.\nReturns \"digests\", a list to transaction digest objects."],[188,"Having a dedicated log device has a large impact on throughput and stable\nlatencies. It is highly recommended dedicating a log device and set\ndataLogDir to point to a directory on that device, and then make sure to\npoint dataDir to a directory not residing on that device."],[19,"Having a supervisory process such as daemontools or\nSMF\n(other options for supervisory process are also available, it's\nup to you which one you would like to use, these are just two\nexamples) managing your ZooKeeper server ensures that if the\nprocess does exit abnormally it will automatically be restarted\nand will quickly rejoin the cluster."],[1684,"HBase is the Hadoop database. It's an open-source, distributed, column-oriented store model."],[1685,"HBase uses ZooKeeper for master election, server lease management, bootstrapping, and coordination between servers.\nA distributed Apache HBase installation depends on a running ZooKeeper cluster. All participating nodes and clients\nneed to be able to access the running ZooKeeper ensemble ."],[1681,"Health monitoring - the ZKFC pings its local NameNode on a periodic basis with a health-check command.\nSo long as the NameNode responds in a timely fashion with a healthy status, the ZKFC considers the node healthy.\nIf the node has crashed, frozen, or otherwise entered an unhealthy state, the health monitor will mark it as unhealthy."],[545,"help"],[1517,"Here are a few things to notice:"],[1138,"Here are Executor's implementation of\nDataMonitorListener.exists() and DataMonitorListener.closing:"],[45,"Here are some common problems you can avoid by configuring\nZooKeeper correctly:"],[177,"Here are the minimum configuration keywords that must be defined\nin the configuration file:"],[154,"Here are the steps needed to upgrade an already running ZooKeeper ensemble\nto TLS without downtime by taking advantage of port unification functionality."],[515,"Here are the steps to set a server that will be part of an\nensemble. These steps should be performed on every host in the\nensemble:"],[1201,"Here is a sample code that makes use of the above APIs to\nauthenticate itself using the “foo” scheme\nand create an ephemeral node “/xyz” with create-only\npermissions."],[101,"Here's an example of the ruok\ncommand:"],[1550,"Here's the pseudo code:"],[887,"Hierarchical Quorums"],[558,"history"],[1693,"Hive has been using ZooKeeper as distributed lock manager to support concurrency in HiveServer2 [25,26]."],[886,"How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters."],[737,"How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers."],[325,"How to migrate from one digest algorithm to another?"],[795,"How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster."],[320,"How to support other more algorithms?"],[868,"How to Use Observer Masters"],[867,"How to Use Observers"],[610,"How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption."],[977,"How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure."],[866,"How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum."],[930,"However, loss of progress can be prevented by making the Oracle capable of referring to the latest zxid.\nWhen the Oracle can refer to the latest zxid, at T5 zxid(0x2_A), Ben will not complete leader election because the Oracle would not authorize him while John is still known to be ahead.\nThis trades liveness for safety."],[818,"HTTP and HTTPS can be enabled simultaneously by defining both ports:"],[1778,"http://atlas.apache.org/HighAvailability.html"],[1747,"http://cxf.apache.org/dosgi-discovery-demo-page.html"],[1749,"http://dubbo.apache.org/en-us/blog/dubbo-zk.html"],[1779,"http://griffin.apache.org/docs/usecases.html"],[1754,"http://incubator.apache.org/projects/s4.html"],[1753,"http://mesos.apache.org/documentation/latest/high-availability/"],[1765,"http://storm.apache.org/releases/current/Setting-up-a-Storm-cluster.html"],[1777,"https://apacheignite.readme.io/docs/cluster-discovery"],[1763,"https://blog.cloudera.com/what-are-hbase-znodes/"],[1759,"https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/dynamic-configuration-at-twitter.html"],[1758,"https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/zookeeper-at-twitter.html"],[1746,"https://bookkeeper.apache.org/docs/4.7.3/getting-started/concepts/#ledgers"],[1766,"https://ci.apache.org/projects/flink/flink-docs-release-1.9/ops/jobmanager_high_availability.html"],[244,"https://cseweb.ucsd.edu/~daniele/papers/IncHash.pdf"],[1774,"https://cwiki.apache.org/confluence/display/CURATOR/Powered+By"],[1768,"https://cwiki.apache.org/confluence/display/Hive/Locking"],[1744,"https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy"],[1773,"https://docs.spring.io/spring-xd/docs/current/reference/html/"],[1770,"https://druid.apache.org/docs/latest/dependencies/zookeeper.html"],[1748,"https://flume.apache.org/FlumeUserGuide.html"],[1780,"https://fluo.apache.org/"],[1750,"https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html"],[1751,"https://hbase.apache.org/book.html#zookeeper"],[1764,"https://helix.apache.org/Architecture.html"],[1756,"https://lucene.apache.org/solr/guide/6_6/setting-up-an-external-zookeeper-ensemble.html"],[1755,"https://lucene.apache.org/solr/guide/6_6/using-zookeeper-to-manage-configuration-files.html#UsingZooKeepertoManageConfigurationFiles-StartupBootstrap"],[1771,"https://mapr.com/blog/apache-drill-architecture-ultimate-guide/"],[1762,"https://medium.com/@Pinterest_Engineering/zookeeper-resilience-at-pinterest-adfd8acf2a6b"],[1772,"https://oozie.apache.org/docs/4.1.0/AG_Install.html"],[1775,"https://projects.spring.io/spring-statemachine/"],[1767,"https://pulsar.apache.org/docs/en/concepts-architecture-overview/#metadata-store"],[1757,"https://spark.apache.org/docs/latest/spark-standalone.html#standby-masters-with-zookeeper"],[1781,"https://spring.io/projects/spring-cloud-zookeeper"],[1752,"https://www.cloudkarafka.com/blog/2018-07-04-cloudkarafka_what_is_zookeeper.html"],[1776,"https://www.tigeranalytics.com/blog/apache-kylin-architecture/"],[1745,"https://www.youtube.com/watch?v=Ew53T6h9oRw"],[1761,"https://www.youtube.com/watch?v=SeZV373gUZc"],[727,"I/O exception when reading the configuration from a file (BadArgumentsException)."],[1612,"Idium Portal"],[1725,"Idium Portal is a hosted web-publishing system delivered by Norwegian company, Idium AS."],[1284,"If a client gets a successful return code, the update will\nhave been applied. On some failures (communication errors,\ntimeouts, etc) the client will not know if the update has\napplied or not. We take steps to minimize the failures, but the\nguarantee is only present with successful return codes.\n(This is called the monotonicity condition in Paxos.)"],[1521,"If a recoverable error occurs calling create() the\nclient should call getChildren() and check for a node\ncontaining the guid used in the path name.\nThis handles the case (noted above) of\nthe create() succeeding on the server but the server crashing before returning the name\nof the new node."],[1515,"if exists( ) returns null, go\nto step 2. Otherwise, wait for a\nnotification for the pathname from the previous step before going to\nstep 2."],[1481,"If exists() returns false, the\nbarrier is gone and the client proceeds"],[247,"If it’s creating a new node, the hash(old node data) will be 0, and if it’s a\ndelete node op, the hash(new node data) will be 0."],[1895,"If leader election terminates erroneously, we don't have a problem since the\nNEW_LEADER proposal will not be committed because the leader will not have quorum.\nWhen this happens, the leader and any remaining followers will timeout and go back\nto leader election."],[1148,"If the client-side ZooKeeper libraries can re-establish the\ncommunication channel (SyncConnected event) to ZooKeeper before\nsession expiration (Expired event) all of the session's watches will\nautomatically be re-established with the server (auto-reset of watches\nis new in ZooKeeper 3.0.0). See ZooKeeper Watches\nin the programmer guide for more on this. A bit lower down in this\nfunction, when DataMonitor gets an event for a znode, it callsZooKeeper.exists() to find out what has changed."],[695,"If the configuration of existing servers changes or they become unavailable before\nthe joiner succeeds in connecting and learning about configuration changes, the\njoiner may need to be restarted with an updated configuration file."],[1513,"If the pathname created in step 1 has the lowest sequence number suffix, the\nclient has the lock and the client exits the protocol."],[968,"If the quota doesn't exist in the specified path, create the quota, otherwise update the quota."],[1128,"If the znode changes, the client re-fetches the contents and restarts the executable."],[1129,"If the znode disappears, the client kills the executable."],[863,"If there is no user associated with the ZooKeeper server, the OS user who started the server\nprocess is used. For example, if the server was started by root:"],[1626,"If this documentation has violated your intellectual property rights or you and your company's privacy, write an email to dev@zookeeper.apache.org,\nwe will handle them in a timely manner."],[390,"If this option is changed, the system property must be set on all servers and clients otherwise\nproblems will arise."],[1912,"If we extract the properties that we really need from our use of majorities, we have that we only\nneed to guarantee that groups of processes used to validate an operation by voting pairwise\nintersect in at least one server. Using majorities guarantees such a property.\nHowever, there are other ways of constructing quorums. For example, we can assign\nweights to the votes of servers, and say that the votes of some servers are more important.\nTo obtain a quorum, we get enough votes so that the sum of weights of all votes is larger\nthan half of the total sum of all weights."],[1254,"If you are building a multithreaded client, compile with\n-DTHREADED compiler flag to enable the multi-threaded version of\nthe library, and then link against the\nzookeeper_mt library. If you are building a\nsingle-threaded client, do not compile with -DTHREADED, and be\nsure to link against the_zookeeper_st_library."],[1244,"If you are building from a project source package,\nunzip/untar the source tarball and cd to the*\nzookeeper-x.x.x/zookeeper-client/zookeeper-client-c* directory."],[1345,"If you are using watches, you must look for the connected watch\nevent. When a ZooKeeper client disconnects from a server, you will\nnot receive notification of changes until reconnected. If you are\nwatching for a znode to come into existence, you will miss the event\nif the znode is created and deleted while you are disconnected."],[1980,"If you have multiple network interfaces in your ZooKeeper machines,\nyou can also instruct ZooKeeper to bind on all of your interfaces and\nautomatically switch to a healthy interface in case of a network failure.\nFor details, see the Configuration Parameters."],[307,"If you really need enable all four-letter word commands by default, you can use\nthe asterisk option so you don't have to include every command one by one in the list.\nAs an example, this will enable all four-letter word commands:"],[526,"If you want to set up ZooKeeper for development purposes, you will\nprobably want to set up a single server instance of ZooKeeper, and then\ninstall either the Java or C client-side libraries and bindings on your\ndevelopment machine."],[1978,"If you want to test multiple servers on a single machine, specify the\nservername as localhost with unique quorum & leader election ports (i.e.\n2888:3888, 2889:3889, 2890:3890 in the example above) for each server.X in\nthat server's config file. Of course separate _dataDir_s and distinct\n_clientPort_s are also necessary (in the above replicated example, running on\na single localhost, you would still have three config files)."],[1241,"If you're building the client from a check-out from the Apache\nrepository, follow the steps outlined below. If you're building from a\nproject source package downloaded from apache, skip to step 3."],[523,"If your configuration file is set up, you can start a ZooKeeper server:"],[1625,"If your use case wants to be listed here. Please do not hesitate, submit a pull request or write an email to dev@zookeeper.apache.org,\nand then, your use case will be included."],[1557,"If z is the smallest node in C, then execute leader\nprocedure;"],[537,"If ZooKeeper has to contend with other applications for\naccess to resources like storage media, CPU, network, or\nmemory, its performance will suffer markedly. ZooKeeper has\nstrong durability guarantees, which means it uses storage\nmedia to log changes before the operation responsible for the\nchange is allowed to complete. You should be aware of this\ndependency then, and take great care if you want to ensure\nthat ZooKeeper operations aren’t held up by your media. Here\nare some things you can do to minimize that sort of\ndegradation:"],[1694,"Ignite is a memory-centric distributed database, caching, and processing platform for\ntransactional, analytical, and streaming workloads delivering in-memory speeds at petabyte scale"],[1792,"Implementation"],[1460,"Important Note About Error Handling"],[1988,"Improvement"],[1995,"Improvement"],[2000,"Improvement"],[2006,"Improvement"],[2009,"Improvement"],[2015,"Improvement"],[176,"In 3.5.0 and later, some of these parameters should be placed in a dynamic\nconfiguration file. If they are placed in the static configuration file,\nZooKeeper will automatically move them over to the dynamic configuration file.\nSee Dynamic Reconfiguration for\nmore information."],[1420,"In a large deployment which wants to handle a very large number of clients, we know that clients connecting via the observers\nwhich is supposed to be local session only. So this is more like a safeguard against someone accidentally creates lots of ephemeral nodes and global sessions."],[720,"In addition to normal ZooKeeper error conditions, a reconfiguration may fail for\nthe following reasons:"],[1313,"In distributed application engineering, the words node can refer to a\ngeneric host machine, a server, a member of an ensemble, a client process,\netc. In the ZooKeeper documentation, znodes refer to the data nodes.\nServers refers to machines that make up the ZooKeeper service; quorum\npeers refer to the servers that make up an ensemble; client refers to any\nhost or process which uses a ZooKeeper service."],[944,"In macOS 10.15.7 (19H2), external storage devices are mounted under /Volumes.\nA USB device containing the required oracle file can serve as the Oracle.\nWhen the device is connected, the oracle authorizes the leader to move the system forward."],[1252,"In order to be able to use the ZooKeeper C API in your application\nyou have to remember to"],[970,"In order to simplify the calculation of quota in the current directory/hierarchy structure, a complete\ntree path (from root to leaf node) can be set only one quota. In the situation when setting a quota in\na path which its parent or child node already has a quota, setquota will reject and tell the specified\nparent or child path. Users can adjust allocations of quotas (delete/move-up/move-down the quota)\naccording to specific circumstances."],[1023,"In recovery mode (-r,--recover), the original file is left untouched and all transactions\nare copied to a new file with a .fixed suffix. CRC values are recalculated; if the calculated\nvalue does not match the original, the new value is used. By default the tool is interactive,\nasking for confirmation on each CRC error:"],[1540,"In step 1, of both obtain reader\nand writer lock protocols, call getData(\n) with watch set, immediately after the\ncall to create( ). If the client\nsubsequently receives notification for the node it created in step\n1, it does another getData( ) on that node, with\nwatch set and looks for the string \"unlock\", which\nsignals to the client that it must release the lock. This is because,\naccording to this shared lock protocol, you can request the client with\nthe lock give up the lock by calling setData() on the lock node, writing \"unlock\" to that node."],[1715,"In the \"Cloud\" edition (v4.x and up) of enterprise search engine Apache Solr, ZooKeeper is used for configuration,\nleader election and more [12,13]."],[1422,"In the current implementation, it will try to create a local session when processing ConnectRequest and when\ncreateSession request reaches FinalRequestProcessor."],[1405,"In the first example, each client decides to disconnect with probability 0.4 but once the decision is\nmade, it will try to connect to a random new server and only if it cannot connect to any of the new\nservers will it try to connect to the old ones. After finding a server, or trying all servers in the\nnew list and failing to connect, the client moves back to the normal mode of operation where it picks\nan arbitrary server from the connectString and attempts to connect to it. If that fails, it will continue\ntrying different random servers in round robin. (see above the algorithm used to initially choose a server)"],[15,"In the following example the last count snapshots and\ntheir corresponding logs are retained and the others are\ndeleted. The value of should typically be\ngreater than 3 (although not required, this provides 3 backups\nin the unlikely event a recent log has become corrupted). This\ncan be run as a cron job on the ZooKeeper server machines to\nclean up the logs daily."],[1106,"In the following section you can find a complete command line application to demonstrate the above mentioned\nrecipes. Use the following command to run it."],[719,"In the Java examples above, instead of -1 you can specify a configuration\nversion to condition the reconfiguration."],[704,"In these cases a leader hand-off is performed where the old leader nominates a new\nleader. The resulting unavailability is usually shorter than when a leader crashes\nsince failure detection is unnecessary and electing a new leader can usually be\navoided during a hand-off (see Figures 6 and 8 in the paper)."],[1472,"In this article, you'll find guidelines for using\nZooKeeper to implement higher order functions. All of them are conventions\nimplemented at the client and do not require special support from\nZooKeeper. Hopefully the community will capture these conventions in client-side libraries\nto ease their use and to encourage standardization."],[929,"In this case, the system loses its progress after L-Ben initially failed."],[1093,"In this example, each process instantiates a Barrier object, and its constructor takes as parameters:"],[1088,"In this tutorial, we show simple implementations of barriers and\nproducer-consumer queues using ZooKeeper. We call the respective classes Barrier and Queue.\nThese examples assume that you have at least one ZooKeeper server running."],[1836,"In version 3.2 r/w performance improved by ~2x compared to"],[144,"In versions 3.5+, a ZooKeeper server can use Netty\ninstead of NIO (default option) by setting the environment\nvariable zookeeper.serverCnxnFactory\nto org.apache.zookeeper.server.NettyServerCnxnFactory;\nfor the client, set zookeeper.clientCnxnSocket\nto org.apache.zookeeper.ClientCnxnSocketNetty."],[1543,"In ZooKeeper, you can implement a two-phased commit by having a\ncoordinator create a transaction node, say \"/app/Tx\", and one child node\nper participating site, say \"/app/Tx/s_i\". When coordinator creates the\nchild node, it leaves the content undefined. Once each site involved in\nthe transaction receives the transaction from the coordinator, the site\nreads each child node and sets a watch. Each site then processes the query\nand votes \"commit\" or \"abort\" by writing to its respective node. Once the\nwrite completes, the other sites are notified, and as soon as all sites\nhave all votes, they can decide either \"abort\" or \"commit\". Note that a\nnode can decide \"abort\" earlier if some site votes for \"abort\"."],[1253,"Include ZooKeeper header: #include "],[46,"inconsistent lists of servers :\nThe list of ZooKeeper servers used by the clients must match\nthe list of ZooKeeper servers that each ZooKeeper server has.\nThings work okay if the client list is a subset of the real list,\nbut things will really act strange if clients have a list of\nZooKeeper servers that are in different ZooKeeper clusters. Also,\nthe server lists in each Zookeeper server configuration file\nshould be consistent with one another."],[48,"incorrect Java heap size :\nYou should take special care to set your Java max heap size\ncorrectly. In particular, you should not create a situation in\nwhich ZooKeeper swaps to disk. The disk is death to ZooKeeper.\nEverything is ordered, so if processing one request swaps the\ndisk, all other queued requests will probably do the same. DON'T SWAP.\nBe conservative in your estimates: if you have 4G of RAM, do\nnot set the Java max heap size to 6G or even 4G. For example, it\nis more likely you would use a 3G heap for a 4G machine, as the\noperating system and the cache also need memory. The best and only\nrecommend practice for estimating the heap size your system needs\nis to run load tests, and then make sure you are well below the\nusage limit that would cause the system to swap."],[47,"incorrect placement of transaction log :\nThe most performance critical part of ZooKeeper is the\ntransaction log. ZooKeeper syncs transactions to media before it\nreturns a response. A dedicated transaction log device is key to\nconsistent good performance. Putting the log on a busy device will\nadversely affect performance. If you only have one storage device,\nincrease the snapCount so that snapshot files are generated less often;\nit does not eliminate the problem, but it makes more resources available\nfor the transaction log."],[627,"Incremental Mode"],[711,"Incremental mode — examples using the Java API:"],[774,"Indicates that the parent replica is a follower and provides attributes/operations for that server. Note that Follower is a subclass of ZooKeeperServer, so it provides all of the information normally associated with a ZooKeeperServer node."],[771,"Indicates that the parent replica is the leader and provides attributes/operations for that server. Note that Leader is a subclass of ZooKeeperServer, so it provides all of the information normally associated with a ZooKeeperServer node."],[803,"InfluxDB"],[830,"InfluxDB is an open source time series database often used to store ZooKeeper metrics.\nYou can download the open source version or\ncreate a free cloud account. In either case,\nconfigure the Apache ZooKeeper Telegraf plugin\nto collect and store metrics from your ZooKeeper clusters. There is also an\nApache ZooKeeper InfluxDB template\nthat includes Telegraf configuration and a pre-built dashboard to get you started quickly."],[1920,"INFO — informational messages that highlight the progress of the application at a coarse-grained level."],[119,"initial_configuration/icfg :\nPrint the text of the configuration file used to start the peer.\nReturns \"initial_configuration\"."],[407,"Initialization validation can be enabled when running\nZooKeeper servers directly from class files by setting\nzookeeper.db.autocreate=false\non the java command line, i.e.\n-Dzookeeper.db.autocreate=false.\nRunning zkServer-initialize.sh\nwill create the required initialization file."],[445,"initialize - presence indicates lack of\ndata tree is expected. Cleaned up once data tree is created."],[287,"initLimit :\n(No Java system property)\nAmount of time, in ticks (see tickTime), to allow followers to\nconnect and sync to a leader. Increased this value as needed, if\nthe amount of data managed by ZooKeeper is large."],[776,"InMemoryDataTree"],[789,"InMemoryDataTree"],[946,"Insert a USB device named Oracle. The path /Volumes/Oracle will be accessible."],[1054,"Install Java and Maven"],[820,"Install Prometheus from the official download page."],[516,"Install the Java JDK. You can use the native packaging system for your system, or download\nthe JDK from: http://java.sun.com/javase/downloads/index.jsp"],[518,"Install the ZooKeeper Server Package. It can be downloaded\nfrom: /releases"],[1209,"Installation"],[1075,"Installation:"],[1373,"Instead of implementing AuthenticationProvider you extend ServerAuthenticationProvider. Your handleAuthentication()\nand matches() methods will then receive the additional parameters (via ServerObjs and MatchValues)."],[643,"Instead, this information is now part of the server keyword specification:"],[1193,"int zoo_add_auth\n(zhandlet *zh,_const char__\nscheme,const char\ncert, int certLen, voidcompletion_t\ncompletion, _const void\n*data);"],[1195,"int zoo_create\n(zhandlet *zh, _const char\n*path, const char\n*value,int\nvaluelen, const struct\nACLvector *acl, _int\nflags,char\n*realpath, int\nmax_realpath_len);"],[1197,"int zoo_get_acl\n(zhandlet *zh, _const char\n*path,struct ACLvector\n*acl, _struct Stat *stat);"],[1199,"int zoo_set_acl\n(zhandlet *zh, _const char\n*path, int\nversion,const struct\nACL_vector *acl);"],[1264,"int zookeeper_init(const char *host, watcher_fn fn, int recv_timeout, const clientid_t *clientid, void *context, int flags);"],[1007,"Interactive Mode"],[1848,"Internals"],[1080,"Introduction"],[1049,"Invalid path and invalid input are handled:"],[841,"ip"],[1174,"ip uses the\nclient host IP as an ACL ID identity. The ACL expression is of\nthe form addr/bits where the most\nsignificant bits\nof addr are matched against the most\nsignificant bits of the client host\nIP."],[857,"IPAuthenticationProvider — the authenticated IP address is used as the user."],[328,"IPAuthenticationProvider.usexforwardedfor :\n(Java system property: zookeeper.IPAuthenticationProvider.usexforwardedfor)\nNew in 3.9.3:\nIPAuthenticationProvider uses the client IP address to authenticate the user. By\ndefault it reads the Host HTTP header to detect client IP address. In some\nproxy configurations the proxy server adds the X-Forwarded-For header to\nthe request in order to provide the IP address of the original client request.\nBy enabling usexforwardedfor ZooKeeper setting, X-Forwarded-For will be preferred\nover the standard Host header.\nDefault value is false."],[120,"is_read_only/isro :\nA true/false if this server is in read-only mode.\nReturns \"read_only\"."],[1904,"Isn't this just Multi-Paxos? No. Multi-Paxos requires some way of assuring that\nthere is only a single coordinator. We do not count on such assurances. Instead\nwe use leader activation to recover from leadership changes or old leaders\nbelieving they are still active."],[1905,"Isn't this just Paxos? The active messaging phase looks just like phase 2 of Paxos.\nActually, to us active messaging looks just like 2-phase commit without the need to\nhandle aborts. Active messaging is different from both in the sense that it has\ncross-proposal ordering requirements. If we do not maintain strict FIFO ordering of\nall packets, it all falls apart. Also, our leader activation phase is different from\nboth of them. In particular, our use of epochs allows us to skip blocks of uncommitted\nproposals and to not worry about duplicate proposals for a given zxid."],[75,"isro :\nNew in 3.4.0: Tests if\nserver is running in read-only mode. The server will respond with\n\"ro\" if in read-only mode or \"rw\" if not in read-only mode."],[1960,"Issue another ls / command to see what the directory looks like:"],[1127,"It fetches the data associated with the znode and starts the executable."],[698,"It is also possible to change the Quorum System used by the ensemble (for example,\nchange from a Majority Quorum System to a Hierarchical Quorum System on the fly).\nThis is only allowed using the bulk (non-incremental) reconfiguration mode. Incremental\nreconfiguration only works with the Majority Quorum System. Bulk reconfiguration\nworks with both Hierarchical and Majority Quorum Systems."],[20,"It is also recommended to configure the ZooKeeper server process to\nterminate and dump its heap if an OutOfMemoryError** occurs. This is achieved\nby launching the JVM with the following arguments on Linux and Windows\nrespectively. The zkServer.sh and\n*zkServer.cmd* scripts that ship with ZooKeeper set\nthese options."],[1537,"It might appear that this recipe creates a herd effect:\nwhen there is a large group of clients waiting for a read\nlock, and all getting notified more or less simultaneously\nwhen the \"write-\" node with the lowest\nsequence number is deleted. In fact. that's valid behavior:\nas all those waiting reader clients should be released since\nthey have the lock. The herd effect refers to releasing a\n\"herd\" when in fact only a single or a small number of\nmachines can proceed."],[1122,"It takes as parameters:"],[1647,"It uses ZooKeeper as endpoint repository of both REST and SOAP Web services.\nBy using ZooKeeper Talend ESB is able to provide failover and load balancing capabilities in a very light-weight manner ."],[1206,"Java Binding"],[1110,"Java Example"],[1073,"Jepsen is a framework for distributed systems\nverification with fault injection. It has been used to verify eventually-consistent databases,\nlinearizable coordination systems, and distributed task schedulers."],[1014,"Jepsen Test"],[736,"JMX"],[804,"JMX"],[1570,"Juju"],[388,"jute.maxbuffer :\n(Java system property:jute.maxbuffer)."],[1235,"jute.maxbuffer :\nIn the client side, it specifies the maximum size of the incoming data from the server. The default is 0xfffff(1048575) bytes,\nor just under 1M. This is really a sanity check. The ZooKeeper server is designed to store and send\ndata on the order of kilobytes. If incoming data length is more than this value, an IOException\nis raised. This value of client side should keep same with the server side(Setting System.setProperty(\"jute.maxbuffer\", \"xxxx\") in the client side will work),\notherwise problems will arise."],[396,"jute.maxbuffer.extrasize:\n(Java system property: zookeeper.jute.maxbuffer.extrasize)\nNew in 3.5.7:\nWhile processing client requests ZooKeeper server adds some additional information into\nthe requests before persisting it as a transaction. Earlier this additional information size\nwas fixed to 1024 bytes. For many scenarios, specially scenarios where jute.maxbuffer value\nis more than 1 MB and request type is multi, this fixed size was insufficient.\nTo handle all the scenarios additional information size is increased from 1024 byte\nto same as jute.maxbuffer size and also it is made configurable through jute.maxbuffer.extrasize.\nGenerally this property is not required to be configured as default value is the most optimal value."],[1698,"Kafka is a distributed publish/subscribe messaging system"],[1571,"Katta"],[1634,"Katta serves distributed Lucene indexes in a grid environment."],[1572,"KeptCollections"],[1636,"KeptCollections is a library of drop-in replacements for the data structures in the Java Collections framework."],[1637,"KeptCollections uses Apache ZooKeeper as a backing store, thus making its data structures distributed and scalable ."],[371,"kerberos.canonicalizeHostNames\n(Java system property: zookeeper.kerberos.canonicalizeHostNames)\nNew in 3.7.0:\nInstructs ZooKeeper to canonicalize server host names extracted from server.x lines.\nThis allows using e.g. CNAME records to reference servers in configuration files, while still enabling SASL Kerberos authentication between quorum members.\nIt is essentially the quorum equivalent of the zookeeper.sasl.client.canonicalize.hostname property for clients.\nThe default value is false for backwards compatibility."],[369,"kerberos.removeHostFromPrincipal\n(Java system property: zookeeper.kerberos.removeHostFromPrincipal)\nYou can instruct ZooKeeper to remove the host from the client principal name during authentication.\n(e.g. the zk/myhost@EXAMPLE.COM client principal will be authenticated in ZooKeeper as zk@EXAMPLE.COM)\nDefault: false"],[370,"kerberos.removeRealmFromPrincipal\n(Java system property: zookeeper.kerberos.removeRealmFromPrincipal)\nYou can instruct ZooKeeper to remove the realm from the client principal name during authentication.\n(e.g. the zk/myhost@EXAMPLE.COM client principal will be authenticated in ZooKeeper as zk/myhost)\nDefault: false"],[835,"Key"],[982,"Key characteristics of snapshot and restore:"],[394,"Large size znodes cause unwarranted latency spikes, worsen the throughput"],[395,"Large size znodes make the synchronization time between leader and followers unpredictable and non-convergent(sometimes timeout), cause the quorum unstable"],[266,"largeRequestMaxBytes :\n(Java system property: zookeeper.largeRequestMaxBytes)\nNew in 3.6.0:\nThe maximum number of bytes of all inflight large request. The connection will be closed if a coming large request causes the limit exceeded. The default is 100 * 1024 * 1024."],[267,"largeRequestThreshold :\n(Java system property: zookeeper.largeRequestThreshold)\nNew in 3.6.0:\nThe size threshold after which a request is considered a large request. If it is -1, then all requests are considered small, effectively turning off large request throttling. The default is -1."],[121,"last_snapshot/lsnp :\nInformation of the last snapshot that zookeeper server has finished saving to disk.\nIf called during the initial time period between the server starting up\nand the server finishing saving its first snapshot, the command returns the\ninformation of the snapshot read when starting up the server.\nReturns \"zxid\" and \"timestamp\", the latter using a time unit of seconds."],[769,"Leader"],[770,"Leader"],[1852,"Leader Activation"],[1896,"Leader Activation does all the heavy lifting. Once the leader is coronated it can\nstart blasting out proposals. As long as it remains the leader no other leader can\nemerge since no other leader will be able to get a quorum of followers. If a new\nleader does emerge, it means that the current leader has lost quorum, and the new\nleader will clean up any mess left over during its activation."],[1882,"Leader activation includes leader election (FastLeaderElection).\nZooKeeper messaging doesn't care about the exact method of electing a leader as long as the following holds:"],[1879,"Leader activation: In this phase a leader establishes the correct state of the system and gets ready to start making proposals."],[1471,"Leader Election"],[701,"Leader is removed from the ensemble."],[272,"leader.closeSocketAsync\n(Java system property: zookeeper.leader.closeSocketAsync)\n(Java system property: leader.closeSocketAsync)(Added for backward compatibility)\nNew in 3.7.0:\nWhen enabled, the leader will close a quorum socket asynchronously. This is useful for TLS connections where closing a socket might take a long time. If disconnecting a follower is initiated in ping() because of a failed SyncLimitCheck then the long socket closing time will block the sending of pings to other followers. Without receiving pings, the other followers will not send session information to the leader, which causes sessions to expire. Setting this flag to true ensures that pings will be sent regularly.\nThe default is false."],[702,"Leader's role is changed from participant to observer."],[122,"leader/lead :\nIf the ensemble is configured in quorum mode then emits the current leader\nstatus of the peer and the current leader location.\nReturns \"is_leader\", \"leader_id\", and \"leader_ip\"."],[766,"LeaderElection"],[767,"LeaderElection"],[289,"leaderServes :\n(Java system property: zookeeper.leaderServes)\nLeader accepts client connections. Default value is \"yes\".\nThe leader machine coordinates updates. For higher update\nthroughput at the slight expense of read throughput the leader\ncan be configured to not accept clients and focus on\ncoordination. The default to this option is yes, which means\nthat a leader will accept client connections."],[273,"learner.asyncSending\n(Java system property: zookeeper.learner.asyncSending)\n(Java system property: learner.asyncSending)(Added for backward compatibility)\nNew in 3.7.0:\nThe sending and receiving packets in Learner were done synchronously in a critical section. An untimely network issue could cause the followers to hang (see ZOOKEEPER-3575 and ZOOKEEPER-4074). The new design moves sending packets in Learner to a separate thread and sends the packets asynchronously. The new design is enabled with this parameter (learner.asyncSending).\nThe default is false."],[271,"learner.closeSocketAsync\n(Java system property: zookeeper.learner.closeSocketAsync)\n(Java system property: learner.closeSocketAsync)(Added for backward compatibility)\nNew in 3.7.0:\nWhen enabled, a learner will close the quorum socket asynchronously. This is useful for TLS connections where closing a socket might take a long time, block the shutdown process, potentially delay a new leader election, and leave the quorum unavailable. Closing the socket asynchronously avoids blocking the shutdown process despite the long socket closing time and a new leader election can be started while the socket being closed.\nThe default is false."],[1487,"Leave"],[1553,"Let C be the children of \"ELECTION\", and i is the sequence\nnumber of z;"],[1556,"Let C be the new set of children of ELECTION;"],[1551,"Let ELECTION be a path of choice of the application. To volunteer to\nbe a leader:"],[681,"Like the get command, the config CLI command accepts the -w flag for\nsetting a watch on the znode and the -s flag for displaying its stats. It\nadditionally accepts a -c flag that outputs only the version and the client\nconnection string for the current configuration. For example:"],[1352,"Links to Other Information"],[591,"List the child nodes of a path."],[590,"List the quota configured for a path."],[961,"Listing Quotas"],[559,"listquota"],[11,"Little long term maintenance is required for a ZooKeeper\ncluster however you must be aware of the following:"],[895,"Liveness Issue"],[917,"Liveness of the system is ensured by the Oracle.\nHowever, when the Oracle fails to maintain this property, loss of liveness is expected. For example:"],[729,"Liveness: To understand the difference between incremental and non-incremental\nreconfiguration, suppose client C1 adds server D while a different client C2 adds\nserver E. With non-incremental mode, each client first invokes config to find out\nthe current configuration, then locally creates a new server list by adding its own\nsuggested server. After both reconfigurations complete, only one of D or E will be\nadded (not both), depending on which request arrives second at the leader. The other\nclient can repeat the process until its change takes effect. This guarantees\nsystem-wide progress (for one client) but not for every client. C2 may use\nConditional reconfig to avoid blindly overwriting C1's\nconfiguration if C1's request arrived first."],[1065,"Load Data and Run Tests"],[1066,"Load data:"],[1406,"Local session. Added in 3.5.0, mainly implemented by ZOOKEEPER-1147."],[1409,"Local sessions cannot create ephemeral nodes"],[763,"LocalPeer/RemotePeer"],[313,"localSessionsEnabled and localSessionsUpgradingEnabled :\nNew in 3.5:\nOptional value is true or false. Their default values are false.\nTurning on the local session feature by setting localSessionsEnabled=true. Turning on\nlocalSessionsUpgradingEnabled can upgrade a local session to a global session automatically as required (e.g. creating ephemeral nodes),\nwhich only matters when localSessionsEnabled is enabled."],[1004,"Locating Snapshots"],[1466,"Locks"],[741,"Log4j MBeans (deprecated)"],[754,"Logback is the default logging backend of ZooKeeper since version 3.8.0.\nIt can be configured to register JMX MBeans by adding to logback.xml. More\ninformation can be found on Logback's website."],[740,"Logback MBeans (new in 3.8.0)"],[8,"Logging"],[1858,"Logging"],[1860,"Logging at the Right Level"],[91,"Logs addition, removal and validation of client sessions."],[87,"Logs client ping requests."],[83,"Logs client requests, excluding ping requests."],[93,"Logs delivery of watch events to client sessions."],[89,"Logs packets received from the quorum peer that is the current leader, excluding ping requests."],[95,"Logs ping packets received from the quorum peer that is the current leader."],[1729,"Looking into expanding into 100 node cluster ."],[921,"Loss of Progress"],[560,"ls"],[503,"Mac OS X"],[3,"Maintenance"],[1613,"Makara"],[1015,"Manage the ZooKeeper server process."],[1934,"Managing ZooKeeper Storage"],[1737,"Manhattan (Twitter’s in-house key-value database), Nighthawk (sharded Redis), and Blobstore (in-house photo and video storage),\nstores its cluster topology information in ZooKeeper."],[1632,"massive-scale Graph analysis ."],[231,"maxBatchSize :\n(Java system property: zookeeper.maxBatchSize)\nThe number of transactions allowed in the server before a flush of the\ncommit log is triggered.\nDoes not affect the limit defined by flushDelay.\nDefault is 1000."],[196,"maxClientCnxns :\n(No Java system property)\nLimits the number of concurrent connections (at the socket\nlevel) that a single client, identified by IP address, may make\nto a single member of the ZooKeeper ensemble. This is used to\nprevent certain classes of DoS attacks, including file\ndescriptor exhaustion. The default is 60. Setting this to 0\nentirely removes the limit on concurrent connections."],[195,"maxCnxns :\n(Java system property: zookeeper.maxCnxns)\nLimits the total number of concurrent connections that can be made to a\nzookeeper server (per client Port of each server ). This is used to prevent certain\nclasses of DoS attacks. The default is 0 and setting it to 0 entirely removes\nthe limit on total number of concurrent connections. Accounting for the\nnumber of connections for serverCnxnFactory and a secureServerCnxnFactory is done\nseparately, so a peer is allowed to host up to 2*maxCnxns provided they are of appropriate types."],[242,"maxConcurrentDiffSyncs :\n(Java system property: zookeeper.leader.maxConcurrentDiffSyncs)\nThe maximum number of diff syncs a leader or a follower can serve at the same\ntime. The default is 100."],[241,"maxConcurrentSnapSyncs :\n(Java system property: zookeeper.leader.maxConcurrentSnapSyncs)\nThe maximum number of snap syncs a leader or a follower can serve at the same\ntime. The default is 10."],[202,"maxGetChildrenResponseCacheSize :\n(Java system property: zookeeper.maxGetChildrenResponseCacheSize)\nNew in 3.6.0:\nSimilar to maxResponseCacheSize, but applies to get children\nrequests. The metrics response_packet_get_children_cache_hits\nand response_packet_get_children_cache_misses can be used to tune\nthis value to a given workload. The feature is turned on\nby default with a value of 400, set to 0 or a negative\ninteger to turn the feature off."],[212,"maxInProcessingDeadWatchers :\n(Java system property only: zookeeper.maxInProcessingDeadWatchers)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThis is used to control how many backlog can we have in the WatcherCleaner, when it reaches this number, it will\nslow down adding the dead watcher to WatcherCleaner, which will in turn slow down adding and closing\nwatchers, so that we can avoid OOM issue. By default there is no limit, you can set it to values like\nwatcherCleanThreshold * 1000."],[201,"maxResponseCacheSize :\n(Java system property: zookeeper.maxResponseCacheSize)\nWhen set to a positive integer, it determines the size\nof the cache that stores the serialized form of recently\nread records. Helps save the serialization cost on\npopular znodes. The metrics response_packet_cache_hits\nand response_packet_cache_misses can be used to tune\nthis value to a given workload. The feature is turned on\nby default with a value of 400, set to 0 or a negative\ninteger to turn the feature off."],[199,"maxSessionTimeout :\n(No Java system property)\nNew in 3.3.0: the\nmaximum session timeout in milliseconds that the server\nwill allow the client to negotiate. Defaults to 20 times\nthe tickTime."],[286,"maxTimeToWaitForEpoch :\n(Java system property: zookeeper.leader.maxTimeToWaitForEpoch)\nNew in 3.6.0:\nThe maximum time to wait for epoch from voters when activating\nleader. If leader received a LOOKING notification from one of\nits voters, and it hasn't received epoch packets from majority\nwithin maxTimeToWaitForEpoch, then it will goto LOOKING and\nelect leader again.\nThis can be tuned to reduce the quorum or server unavailable\ntime, it can be set to be much smaller than initLimit * tickTime.\nIn cross datacenter environment, it can be set to something\nlike 2s."],[230,"maxWriteQueuePollTime :\n(Java system property: zookeeper.maxWriteQueuePollTime)\nIf flushDelay is enabled, this determines the amount of time in milliseconds\nto wait before flushing when no new requests are being queued.\nSet to flushDelay/3 by default (implicitly disabled by default)."],[757,"MBean"],[782,"MBean"],[758,"MBean Object Name"],[783,"MBean Object Name"],[1703,"Membership of the cluster\nZookeeper also maintains a list of all the brokers that are functioning at any given moment and are a part of the cluster ."],[1707,"Mesos has a high-availability mode that uses multiple Mesos masters: one active master (called the leader or leading master)\nand several backups in case it fails. The masters elect the leader, with Apache ZooKeeper both coordinating the election\nand handling leader detection by masters, agents, and scheduler drivers ."],[1739,"Mesos, Twitter’s compute platform, uses ZooKeeper for leader election."],[884,"Message bus integration: Some use cases call for ZooKeeper as a component of\na persistent reliable message bus. Observers provide a natural integration point:\na plug-in mechanism can attach the stream of proposals an Observer sees to a\npublish-subscribe system, without loading the core ensemble."],[1875,"Message: A sequence of bytes to be atomically broadcast to all ZooKeeper servers. A message is put into a proposal and agreed upon before it is delivered."],[797,"Metrics"],[10,"Metrics Providers"],[34,"metricsProvider.className :\nSet to \"org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider\" to\nenable Prometheus.io exporter."],[37,"metricsProvider.exportJvmInfo :\nIf this property is set to true Prometheus.io will export useful metrics about the JVM.\nThe default is true."],[35,"metricsProvider.httpHost :\nNew in 3.8.0: Prometheus.io exporter will start a Jetty server and listen this address, default is \"0.0.0.0\""],[36,"metricsProvider.httpPort :\nPrometheus.io exporter will start a Jetty server and bind to this port, it defaults to 7000.\nPrometheus end point will be http://hostname:httPort/metrics."],[39,"metricsProvider.maxQueueSize :\nNew in 3.7.1:\nThe max queue size for Prometheus summary metrics reporting task.\nDefault value is 10000."],[38,"metricsProvider.numWorkerThreads :\nNew in 3.7.1:\nNumber of worker threads for reporting Prometheus summary metrics.\nDefault value is 1.\nIf the number is less than 1, the main thread will be used."],[40,"metricsProvider.workerShutdownTimeoutMs :\nNew in 3.7.1:\nThe timeout in ms for Prometheus worker threads shutdown.\nDefault value is 1000ms."],[1614,"Midokura"],[162,"Minimum Configuration"],[198,"minSessionTimeout :\n(No Java system property)\nNew in 3.3.0: the\nminimum session timeout in milliseconds that the server\nwill allow the client to negotiate. Defaults to 2 times\nthe tickTime."],[73,"mntr :\nNew in 3.4.0: Outputs a list\nof variables that could be used for monitoring the health of the cluster."],[321,"Modify the java.security configuration file under $JAVA_HOME/jre/lib/security/java.security by specifying\nsecurity.provider.=."],[855,"Modify this configuration to customize the audit log filename, number of backup files,\nmaximum file size, or to use a custom audit logger."],[697,"Modifying server parameters: Any of the ports or the role (participant/observer)\nof a server can be modified by adding it to the ensemble with different parameters.\nThis works in both incremental and bulk reconfiguration modes — it is not necessary\nto remove the server and re-add it; just specify the new parameters as if the server\nis not yet in the system. The server will detect the configuration change and perform\nthe necessary adjustments. See an example in Incremental mode\nand an exception in Additional comments."],[625,"Modifying the Current Dynamic Configuration"],[794,"Monitor & Audit Logs"],[123,"monitor/mntr :\nEmits a wide variety of useful info for monitoring.\nIncludes performance stats, information about internal queues, and\nsummaries of the data tree (among other things).\nReturns each as its own field."],[7,"Monitoring"],[455,"More details can be found in this"],[1355,"Most of the information in this document is written to be accessible as\nstand-alone reference material. However, before starting your first\nZooKeeper application, you should probably at least read the chapters on\nthe ZooKeeper Data Model and ZooKeeper Basic Operations."],[728,"Most of these are illustrated by test cases in ReconfigFailureCases.java."],[991,"Move the files in dataDir and dataLogDir to a different location to prevent the restored\ndatabase from being overwritten when the server restarts after restore."],[1335,"mtime\nThe time in milliseconds from epoch when this znode was last\nmodified."],[372,"multiAddress.enabled :\n(Java system property: zookeeper.multiAddress.enabled)\nNew in 3.6.0:\nSince ZooKeeper 3.6.0 you can also specify multiple addresses\nfor each ZooKeeper server instance (this can increase availability when multiple physical\nnetwork interfaces can be used parallel in the cluster). Setting this parameter to\ntrue will enable this feature. Please note, that you can not enable this feature\nduring a rolling upgrade if the version of the old ZooKeeper cluster is prior to 3.6.0.\nThe default value is false."],[399,"multiAddress.reachabilityCheckEnabled :\n(Java system property: zookeeper.multiAddress.reachabilityCheckEnabled)\nNew in 3.6.0:\nSince ZooKeeper 3.6.0 you can also specify multiple addresses\nfor each ZooKeeper server instance (this can increase availability when multiple physical\nnetwork interfaces can be used parallel in the cluster). ZooKeeper will perform ICMP ECHO requests\nor try to establish a TCP connection on port 7 (Echo) of the destination host in order to find\nthe reachable addresses. This happens only if you provide multiple addresses in the configuration.\nThe reachable check can fail if you hit some ICMP rate-limitation, (e.g. on macOS) when you try to\nstart a large (e.g. 11+) ensemble members cluster on a single machine for testing."],[373,"multiAddress.reachabilityCheckTimeoutMs :\n(Java system property: zookeeper.multiAddress.reachabilityCheckTimeoutMs)\nNew in 3.6.0:\nSince ZooKeeper 3.6.0 you can also specify multiple addresses\nfor each ZooKeeper server instance (this can increase availability when multiple physical\nnetwork interfaces can be used parallel in the cluster). ZooKeeper will perform ICMP ECHO requests\nor try to establish a TCP connection on port 7 (Echo) of the destination host in order to find\nthe reachable addresses. This happens only if you provide multiple addresses in the configuration.\nIn this property you can set the timeout in milliseconds for the reachability check. The check happens\nin parallel for the different addresses, so the timeout you set here is the maximum time will be taken\nby checking the reachability of all addresses.\nThe default value is 1000."],[444,"myid - contains a single integer in\nhuman readable ASCII text that represents the server id."],[1332,"mzxid\nThe zxid of the change that last modified this znode."],[1477,"Name service and configuration are two of the primary applications\nof ZooKeeper. These two functions are provided directly by the ZooKeeper\nAPI."],[1926,"Naming: Loggers should be named after the class in which they are used."],[481,"Native Client"],[475,"Native Client is a client\nimplemented in C, similar to the Java client, used by applications\nto connect to a ZooKeeper ensemble."],[1573,"Neo4j"],[1638,"Neo4j is a Graph Database. It's a disk based, ACID compliant transactional storage engine for big graphs and fast graph traversals,\nusing external indices like Lucene/Solr for global searches."],[143,"Netty\nis an NIO based client/server communication framework, it\nsimplifies (over NIO being used directly) many of the\ncomplexities of network level communication for java\napplications. Additionally the Netty framework has built\nin support for encryption (SSL) and authentication\n(certificates). These are optional features and can be\nturned on or off individually."],[269,"netty.server.earlyDropSecureConnectionHandshakes\n(Java system property: zookeeper.netty.server.earlyDropSecureConnectionHandshakes)\nIf the ZooKeeper server is not fully started, drop TCP connections before performing the TLS handshake.\nThis is useful in order to prevent flooding the server with many concurrent TLS handshakes after a restart.\nPlease note that if you enable this flag the server won't answer to 'ruok' commands if it is not fully started.\nThe behaviour of dropping the connection has been introduced in ZooKeeper 3.7 and it was not possible to disable it.\nSince 3.7.1 and 3.8.0 this feature is disabled by default."],[694,"Never specify more than one joining server in the same initial configuration\nas participants. The joining servers do not know they are joining an existing\nensemble — if multiple joiners are listed as participants they may form an\nindependent quorum, creating a split-brain situation and processing operations\nindependently from the main ensemble. It is safe to list multiple joiners as\nobservers in an initial config."],[635,"New client-side features allow clients to find out about configuration\nchanges and to update the connection string (list of servers and their\nclient ports) stored in their ZooKeeper handle. A probabilistic algorithm\nis used to rebalance clients across the new configuration servers while\nkeeping the extent of client migrations proportional to the change in\nensemble membership."],[1994,"New Feature"],[1999,"New Feature"],[2014,"New Feature"],[383,"New features that are currently considered experimental."],[402,"New in 3.5: The default\nbehavior of a ZooKeeper server is to automatically create the\ndata directory (specified in the configuration file) when\nstarted if that directory does not already exist. This can be\ninconvenient and even dangerous in some cases. Take the case\nwhere a configuration change is made to a running server,\nwherein the dataDir parameter\nis accidentally changed. When the ZooKeeper server is\nrestarted it will create this non-existent directory and begin\nserving - with an empty znode namespace. This scenario can\nresult in an effective \"split brain\" situation (i.e. data in\nboth the new invalid directory and the original valid data\nstore). As such is would be good to have an option to turn off\nthis autocreate behavior. In general for production\nenvironments this should be done, unfortunately however the\ndefault legacy behavior cannot be changed at this point and\ntherefore this must be done on a case by case basis. This is\nleft to users and to packagers of ZooKeeper distributions."],[408,"New in 3.5.0: Several subsystems have been reworked\nto improve read throughput. This includes multi-threading of the NIO communication subsystem and\nrequest processing pipeline (Commit Processor). NIO is the default client/server communication\nsubsystem. Its threading model comprises 1 acceptor thread, 1-N selector threads and 0-M\nsocket I/O worker threads. In the request processing pipeline the system can be configured\nto process multiple read request at once while maintaining the same consistency guarantee\n(same-session read-after-write). The Commit Processor threading model comprises 1 main\nthread and 0-N worker threads."],[102,"New in 3.5.0: The AdminServer is\nan embedded Jetty server that provides an HTTP interface to the four-letter\nword commands. By default, the server is started on port 8080,\nand commands are issued by going to the URL \"/commands/[command name]\",\ne.g., http://localhost:8080/commands/stat. The command response is\nreturned as JSON. Unlike the original protocol, commands are not\nrestricted to four-letter names, and commands can have multiple names;\nfor instance, \"stmk\" can also be referred to as \"set_trace_mask\". To\nview a list of all available commands, point a browser to the URL\n/commands (e.g., http://localhost:8080/commands). See the AdminServer configuration options\nfor how to change the port and URLs."],[430,"New in 3.5.0: The following\noptions are used to configure the AdminServer."],[59,"New in 3.5.3:\nFour Letter Words need to be explicitly white listed before using.\nPlease refer to 4lw.commands.whitelist\ndescribed in cluster configuration section for details.\nMoving forward, Four Letter Words will be deprecated, please use\nAdminServer instead."],[145,"New in 3.5.5"],[153,"New in 3.5.5"],[1437,"New in 3.6.0: Clients can also set\npermanent, recursive watches on a znode that are not removed when triggered\nand that trigger for changes on the registered znode as well as any children\nznodes recursively."],[1812,"New in 3.6.0: Clients can also set\npermanent, recursive watches on a znode that are not removed when triggered\nand that trigger for changes on the registered znode as well as any children\nznodes recursively."],[406,"New in 3.6.0: The default\nbehavior of a ZooKeeper server on startup when no data tree\nis found is to set zxid to zero and join the quorum as a\nvoting member. This can be dangerous if some event (e.g. a\nrogue 'rm -rf') has removed the data directory while the\nserver was down since this server may help elect a leader\nthat is missing transactions. Enabling db existence validation\nwill change the behavior on startup when no data tree is\nfound: the server joins the ensemble as a non-voting participant\nuntil it is able to sync with the leader and acquire an up-to-date\nversion of the ensemble data. To indicate an empty data tree is\nexpected (ensemble creation), the user should place a file\n'initialize' in the same directory as 'myid'. This file will\nbe detected and deleted by the server on startup."],[428,"New in 3.6.0: The following\noptions are used to configure the AdminServer."],[418,"New in 3.6.0: The following options are introduced to make zookeeper easier to debug."],[30,"New in 3.6.0: The following options are used to configure metrics."],[1443,"New in 3.6.0: There is now a variation on the standard\nwatch described above whereby you can set a watch that does not get removed when triggered.\nAdditionally, these watches trigger the event types NodeCreated, NodeDeleted, and NodeDataChanged\nand, optionally, recursively for all znodes starting at the znode that the watch is registered for. Note\nthat NodeChildrenChanged events are not triggered for persistent recursive watches as it would be redundant."],[426,"New in 3.7.1: The following\noptions are used to configure the AdminServer."],[421,"New in 3.9.0: The following\noptions are used to configure the AdminServer."],[796,"New Metrics System"],[714,"newconfig.cfg is a dynamic config file — see Dynamic Configuration File."],[1959,"Next, create a new znode by running create /zk_test my_data. This creates a new znode and associates the string \"my_data\" with the node.\nYou should see:"],[1962,"Next, verify that the data was associated with the znode by running the get command, as in:"],[1025,"No — copy the original CRC value."],[1870,"No message after close: Once a FIFO channel is closed, no messages will be received from it."],[723,"No quorum of the new configuration was connected and up-to-date with the leader\nwhen reconfiguration processing began (NewConfigNoQuorum)."],[1788,"Nodes and ephemeral nodes"],[628,"Non-incremental Mode"],[1574,"Norbert"],[862,"Not all ZooKeeper operations are initiated by clients — some are performed by the server itself.\nFor example, when a client session closes, any ephemeral znodes it owned are deleted by the server\ndirectly. These are called system operations. For system operations, the user associated with the\nZooKeeper server principal is logged as the user. For example, if the server principal is\nzookeeper/hadoop.hadoop.com@HADOOP.COM, it becomes the system user:"],[491,"Not Supported"],[492,"Not Supported"],[496,"Not Supported"],[497,"Not Supported"],[501,"Not Supported"],[502,"Not Supported"],[506,"Not Supported"],[507,"Not Supported"],[1155,"Note also that an ACL pertains only to a specific znode. In\nparticular it does not apply to children. For example, if\n/app is only readable by ip:172.16.16.1 and\n/app/status is world readable, anyone will\nbe able to read /app/status; ACLs are not\nrecursive."],[1099,"Note that enter() throws both KeeperException and InterruptedException, so it is\nthe responsibility of the application to catch and handle such exceptions."],[688,"Note that the new configuration must have some minimum number of participants\nto be considered legal. If the proposed change would leave fewer than 2\nparticipants and standalone mode is enabled (standaloneEnabled=true, see\nThe standaloneEnabled Flag), the reconfig\nwill not be processed (BadArgumentsException). If standalone mode is disabled\n(standaloneEnabled=false) then 1 or more participants is legal."],[1474,"Note that the recipes below attempt to employ best practices. In\nparticular, they avoid polling, timers or anything else that would result\nin a \"herd effect\", causing bursts of traffic and limiting\nscalability."],[106,"Note that the TCP four-letter word interface is still available if\nthe AdminServer is disabled."],[1560,"Note that the znode having no preceding znode on the list of\nchildren do not imply that the creator of this znode is aware that it is\nthe current leader. Applications may consider creating a separate znode\nto acknowledge that the leader has executed the leader procedure."],[1541,"Note that this protocol requires the lock holder to consent to\nreleasing the lock. Such consent is important, especially if the lock\nholder needs to do some processing before releasing the lock. Of course\nyou can always implement Revocable Shared Locks with Freaking\nLaser Beams by stipulating in your protocol that the revoker\nis allowed to delete the lock node if after some length of time the lock\nisn't deleted by the lock holder."],[682,"Note that when using the API directly, this command is called getConfig."],[684,"Note: in 3.5.0 it doesn't matter which path is passed to sync() since all\nserver state is brought up to date with the leader (a different path could be\nused instead of ZooDefs.CONFIG_NODE). However, this may change in the future."],[1044,"Note: only nodes passing the bytes and nodes thresholds are shown."],[950,"Note: Split brain will not occur here because there is only a single USB device. mastership must not be shared by multiple instances — only one ZooKeeper instance should be configured with Oracle. See the Safety Issue section for details."],[257,"Note: the current digest calculation excluded nodes under /zookeeper\ndue to the potential inconsistency in the /zookeeper/quota stat node,\nwe can include that after that issue is fixed."],[1324,"Note: TTL Nodes must be enabled via System property as they\nare disabled by default. See the Administrator's Guide for\ndetails. If you attempt to create TTL Nodes without the\nproper System property set the server will throw\nKeeperException.UnimplementedException."],[1536,"Notes:"],[1559,"Notes:"],[1961,"Notice that the zk_test directory has now been created."],[679,"Notice the last line of the output — this is the configuration version. The\nversion equals the zxid of the reconfiguration command that created this\nconfiguration. The version of the first established configuration equals the\nzxid of the NEWLEADER message sent by the first successfully established leader.\nWhen a configuration is written to a dynamic configuration file, the version\nautomatically becomes part of the filename and the static configuration file is\nupdated with the path to the new dynamic configuration file. Configuration files\ncorresponding to earlier versions are retained for backup purposes."],[964,"Notice: What the namespace quota means is the count quota which limits the number of children\nunder the path (included itself)."],[1949,"Now that you created the configuration file, you can start\nZooKeeper:"],[1341,"numChildren\nThe number of children of this znode."],[124,"observer_connection_stat_reset/orst :\nReset all observer connection statistics. Companion command to observers.\nNo new fields returned."],[312,"observer.election.DelayMs :\n(Java system property: zookeeper.observer.election.DelayMs)\nDelay the observer's participation in a leader election upon disconnect\nso as to prevent unexpected additional load on the voting peers during\nthe process. Defaults to 200 ms."],[311,"observer.reconnectDelayMs :\n(Java system property: zookeeper.observer.reconnectDelayMs)\nWhen observer loses its connection with the leader, it waits for the\nspecified value before trying to reconnect with the leader so that\nthe entire observer fleet won't try to run leader election and reconnect\nto the leader at once.\nDefaults to 0 ms."],[180,"observerMasterPort :\nthe port to listen for observer connections; that is, the\nport that observers attempt to connect to.\nif the property is set then the server will host observer connections\nwhen in follower mode in addition to when in leader mode and correspondingly\nattempt to connect to any voting peer when in observer mode."],[865,"Observers"],[879,"Observers function simply as non-voting members of the ensemble, sharing\nthe Learner interface with Followers and holding only a slightly different\ninternal pipeline. Both maintain connections along the quorum port with the\nLeader by which they learn of all new proposals on the ensemble."],[872,"Observers have other advantages. Because they do not vote, they are not a\ncritical part of the ZooKeeper ensemble — they can fail or be\ndisconnected from the cluster without harming the availability of the\nZooKeeper service. The benefit to the user is that Observers may connect\nover less reliable network links than Followers. In fact, Observers may be\nused to talk to a ZooKeeper server from another data center. Clients of\nan Observer will see fast reads, as all reads are served locally, and\nwrites result in minimal network traffic since the number of messages\nrequired without the vote protocol is smaller."],[132,"observers/obsr :\nInformation on observer connections to server.\nAlways available on a Leader, available on a Follower if its\nacting as a learner master.\nReturns \"synced_observers\" (int) and \"observers\" (list of per-observer properties)."],[1523,"Obtaining a read lock:"],[1524,"Obtaining a write lock:"],[1885,"Of these two requirements, only the first — the highest zxid among the followers —\nneeds to hold for correct operation. The second requirement, a quorum of followers,\njust needs to hold with high probability. We are going to recheck the second requirement,\nso if a failure happens during or after the leader election and quorum is lost,\nwe will recover by abandoning leader activation and running another election."],[1783,"Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations."],[1500,"On entering, all processes watch on a ready node and\ncreate an ephemeral node as a child of the barrier node. Each process\nbut the last enters the barrier and waits for the ready node to appear\nat line 5. The process that creates the xth node, the last process, will\nsee x nodes in the list of children and create the ready node, waking up\nthe other processes. Note that waiting processes wake up only when it is\ntime to exit, so waiting is efficient."],[1501,"On exit, you can't use a flag such as ready\nbecause you are watching for process nodes to go away. By using\nephemeral nodes, processes that fail after the barrier has been entered\ndo not prevent correct processes from finishing. When processes are\nready to leave, they need to delete their process nodes and wait for all\nother processes to do the same."],[1398,"Once a connection to the server is successfully established\n(connected) there are basically two cases where the client lib generates\nconnectionloss (the result code in c binding, exception in Java — see\nthe API documentation for binding specific details) when either a synchronous or\nasynchronous operation is performed and one of the following holds:"],[1410,"Once a local session is lost, users cannot re-establish it using the session-id/password, the session and its watches are gone for good.\nNote: Losing the tcp connection does not necessarily imply that the session is lost. If the connection can be reestablished with the same zk server\nbefore the session timeout then the client can continue (it simply cannot move to another server)."],[1100,"Once the computation is finished, a process calls leave() to leave the barrier.\nFirst it deletes its corresponding node, and then it gets the children of the root\nnode. If there is at least one child, then it waits for a notification (obs: note\nthat the second parameter of the call to getChildren() is true, meaning that\nZooKeeper has to set a watch on the root node). Upon reception of a notification,\nit checks once more whether the root node has any children."],[1956,"Once you have connected, you should see something like:"],[159,"Once you verify that your entire ensemble is running on TLS, disable port unification and do\nanother rolling restart:"],[1943,"Once you've downloaded a stable ZooKeeper release unpack\nit and cd to the root"],[1819,"One of the design goals of ZooKeeper is providing a very simple\nprogramming interface. As a result, it supports only these\noperations:"],[1473,"One of the most interesting things about ZooKeeper is that even\nthough ZooKeeper uses asynchronous notifications, you\ncan use it to build synchronous consistency\nprimitives, such as queues and locks. As you will see, this is possible\nbecause ZooKeeper imposes an overall order on updates, and has mechanisms\nto expose this ordering."],[1386,"One of the parameters to the ZooKeeper client library call\nto create a ZooKeeper session is the session timeout in\nmilliseconds. The client sends a requested timeout, the server\nresponds with the timeout that it can give the client. The current\nimplementation requires that the timeout be a minimum of 2 times\nthe tickTime (as set in the server configuration) and a maximum of\n20 times the tickTime. The ZooKeeper client API allows access to\nthe negotiated timeout."],[1433,"One-time trigger\nOne watch event will be sent to the client when the data has changed.\nFor example, if a client does a getData(\"/znode1\", true) and later the\ndata for /znode1 is changed or deleted, the client will get a watch\nevent for /znode1. If /znode1 changes again, no watch event will be\nsent unless the client has done another read that sets a new\nwatch."],[4,"Ongoing Data Directory Cleanup"],[530,"Only a minority of servers in a deployment\nwill fail. Failure in this context\nmeans a machine crash, or some error in the network that\npartitions a server off from the majority."],[1708,"Oozie is a workflow scheduler system to manage Apache Hadoop jobs."],[478,"Operating System"],[843,"operation"],[2,"Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting."],[1064,"Or set properties directly on the command line (create the /benchmark namespace first using create /benchmark in the CLI):"],[888,"Oracle Quorum"],[905,"Oracle Quorum increases the availability of a cluster of 2 ZooKeeper instances with a failure detector known as the Oracle.\nThe Oracle is designed to grant permission to the instance which is the only remaining instance\nin a 2-instance configuration when the other instance is identified as faulty by the failure detector."],[1869,"Ordered delivery: Data is delivered in the same order it is sent and a message m is delivered only after all messages sent before m have been delivered. (The corollary is that if message m is lost, all messages after m will also be lost.)"],[1938,"Other Optimizations"],[1558,"Otherwise, watch for changes on \"ELECTION/guid-n_j\", where j is the\nlargest sequence number such that j < i and n_j is a znode in C;"],[1868,"Our protocol assumes that we can construct point-to-point FIFO channels between\nthe servers. While similar services usually assume message delivery that can\nlose or reorder messages, our assumption of FIFO channels is very practical\ngiven that we use TCP for communication. Specifically we rely on the following property of TCP:"],[1461,"Out of the Box Applications: Name Service, Configuration, Group Membership"],[1047,"Out-of-range depth is handled gracefully:"],[852,"Outcome of the operation: success, failure, or invoked. The invoked result is used for serverStop because the stop is logged before the server has confirmed it actually stopped."],[1356,"Outside the formal documentation, there're several other sources of\ninformation for ZooKeeper developers."],[268,"outstandingHandshake.limit\n(Java system property only: zookeeper.netty.server.outstandingHandshake.limit)\nThe maximum in-flight TLS handshake connections could have in ZooKeeper,\nthe connections exceed this limit will be rejected before starting handshake.\nThis setting doesn't limit the max TLS concurrency, but helps avoid herd\neffect due to TLS handshake timeout when there are too many in-flight TLS\nhandshakes. Set it to something like 250 is good enough to avoid herd effect."],[1910,"Overall, the consistency guarantees of ZooKeeper are formally captured by the notion of\nordered sequential consistency\n(OSC(U)), which lies between sequential consistency and linearizability."],[1665,"Overlord and MiddleManager task management"],[1664,"Overlord leader election"],[1782,"Overview"],[1873,"Packet: A sequence of bytes sent through a FIFO channel."],[1640,"Partitioned routing and cluster management ."],[1376,"path\nThe ZNode path being operated on (or null if not used)"],[846,"Path of the znode."],[1794,"Performance"],[699,"Performance impact: There is practically no performance impact when removing a\nfollower, since it is not automatically shut down (the effect of removal is that the\nserver's votes are no longer counted). When adding a server, there is no leader change\nand no noticeable performance disruption. For details and graphs see Figures 6, 7 and\n8 in the paper."],[171,"Performance Tuning Options"],[1377,"perm\nThe operation value or 0"],[1448,"Persistent Remove event:\nWatcher which was added with a call to add a persistent watch."],[1444,"Persistent watches are set using the method addWatch(). The triggering semantics and guarantees\n(other than one-time triggering) are the same as standard watches. The only exception regarding events is that\nrecursive persistent watchers never trigger child changed events as they are redundant.\nPersistent watches are removed using removeWatches() with watcher type WatcherType.Any."],[1428,"Persistent, Recursive Watches"],[1615,"Pinterest"],[1731,"Pinterest uses the ZooKeeper for Service discovery and dynamic configuration.Like many large scale web sites, Pinterest’s infrastructure consists of servers that communicate with\nbackend services composed of a number of individual servers for managing load and fault tolerance. Ideally, we’d like the configuration to reflect only the active hosts,\nso clients don’t need to deal with bad hosts as often. ZooKeeper provides a well known pattern to solve this problem ."],[1979,"Please be aware that setting up multiple servers on a single\nmachine will not create any redundancy. If something were to\nhappen which caused the machine to die, all of the zookeeper\nservers would be offline. Full redundancy requires that each\nserver have its own machine. It must be a completely separate\nphysical server. Multiple virtual machines on the same physical\nhost are still vulnerable to the complete failure of that host."],[147,"Please note that Quorum TLS encapsulates securing both leader election\nand quorum communication protocols."],[1362,"Pluggable Authentication"],[1931,"Pre-requisites"],[190,"preAllocSize :\n(Java system property: zookeeper.preAllocSize)\nTo avoid seeks ZooKeeper allocates space in the\ntransaction log file in blocks of preAllocSize kilobytes. The\ndefault block size is 64M. One reason for changing the size of\nthe blocks is to reduce the block size if snapshots are taken\nmore often. (Also, see snapCount and snapSizeLimitInKb)."],[595,"Prerequisites:"],[1045,"Press Enter to move to the next depth layer:"],[1041,"Press Enter to print the current depth layer."],[561,"printwatches"],[649,"Prior to 3.5.0, one could run ZooKeeper in Standalone mode or in\nDistributed mode. These are separate implementation stacks and switching\nbetween them at runtime is not possible. By default (for backward\ncompatibility) standaloneEnabled is set to true. The consequence is that\nif started with a single server the ensemble will not be allowed to grow,\nand if started with more than one server it will not be allowed to shrink\nbelow two participants."],[672,"Prior to 3.5.3, there is no enforced security mechanism over reconfig,\nso any ZooKeeper client that can connect to the ensemble has the ability to\nchange its state via reconfig. It is thus possible for a malicious client to\nadd a compromised server to an ensemble or remove legitimate servers, which\ncan be a security vulnerability."],[633,"Prior to the 3.5.0 release, the membership and all other configuration\nparameters of ZooKeeper were static — loaded during boot and immutable at\nruntime. Operators resorted to \"rolling restarts\" — a manually intensive\nand error-prone method of changing the configuration that has caused data\nloss and inconsistency in production."],[1465,"Priority Queues"],[1502,"Processes exit when there are no process nodes left as children of\nb. However, as an efficiency, you can use the\nlowest process node as the ready flag. All other processes that are\nready to exit watch for the lowest existing process node to go away, and\nthe owner of the lowest process watches for any other process node\n(picking the highest for simplicity) to go away. This means that only a\nsingle process wakes up on each node deletion except for the last node,\nwhich wakes up everyone when it is removed."],[1082,"Producer-Consumer Queues"],[1114,"Program Design"],[1350,"Programmer's Guide"],[1936,"Programming to ZooKeeper"],[922,"Progress can be lost when multiple failures occur in the system at different times. For example:"],[706,"Progress guarantees: Up to the invocation of the reconfig operation, a quorum of\nthe old configuration must be available and connected for ZooKeeper to make progress.\nOnce reconfig is invoked, a quorum of both the old and new configurations must be\navailable. The final transition happens once (a) the new configuration is activated and\n(b) all operations scheduled before the new configuration was activated by the leader\nare committed. Once both (a) and (b) have happened, only a quorum of the new\nconfiguration is required. Note that neither (a) nor (b) are visible to a client —\nwhen a reconfiguration operation commits it only means that an activation message was\nsent by the leader, not that a quorum of the new configuration has received it.\nTo ensure both (a) and (b) have occurred (for example, before safely shutting down\nremoved servers), invoke an update (set-data or another quorum operation, but not\nsync) and wait for it to commit."],[800,"Prometheus"],[819,"Prometheus is the easiest way to ingest and record ZooKeeper metrics."],[823,"Prometheus will now scrape ZooKeeper metrics every 10 seconds."],[1874,"Proposal: A unit of agreement. Proposals are agreed upon by exchanging packets with a quorum of ZooKeeper servers. Most proposals contain messages; however, the NEW_LEADER proposal is an example of a proposal that does not contain a message."],[49,"Publicly accessible deployment :\nA ZooKeeper ensemble is expected to operate in a trusted computing environment.\nIt is thus recommended deploying ZooKeeper behind a firewall."],[1711,"Pulsar uses Apache Zookeeper for metadata storage, cluster configuration, and coordination. In a Pulsar instance:"],[1333,"pzxid\nThe zxid of the change that last modified children of this znode."],[1381,"Q&A [!toc]"],[1084,"Queue test"],[1464,"Queues"],[1928,"Quick Start"],[562,"quit"],[593,"Quit the CLI."],[760,"Quorum"],[141,"Quorum TLS"],[301,"quorumCnxnTimeoutMs :\n(Java system property: zookeeper.quorumCnxnTimeoutMs)\nSets the read timeout value for the connections for leader election notifications.\nOnly applicable if you are using electionAlg 3."],[398,"quorumListenOnAllIPs :\nWhen set to true the ZooKeeper server will listen\nfor connections from its peers on all available IP addresses,\nand not only the address configured in the server list of the\nconfiguration file. It affects the connections handling the\nZAB protocol and the Fast Leader Election protocol. Default\nvalue is false."],[910,"QuorumOracleMaj reads the result of a failure detector written to a text file — the oracle file.\nSuppose you have the result of the failure detector written to /some/path/result.txt; the correct configuration is:"],[913,"QuorumPeerConfig will create an instance of QuorumOracleMaj instead of the default QuorumMaj when it reads an oraclePath in zoo.cfg.\nQuorumOracleMaj inherits from QuorumMaj and differs from its superclass by overriding containsQuorum().\nQuorumOracleMaj executes its version of containsQuorum when the Leader loses all of its followers and fails to maintain the quorum.\nIn all other cases, QuorumOracleMaj behaves identically to QuorumMaj."],[524,"QuorumPeerMain starts a ZooKeeper server; JMX\nmanagement beans are also registered which allows management through a JMX management console.\nThe ZooKeeper JMX document contains details on managing ZooKeeper with JMX.\nSee the script bin/zkServer.sh, which is included in the release, for an example of starting\nserver instances."],[885,"Quorums"],[1857,"Quorums"],[958,"Quota Guide"],[1616,"Rackspace"],[598,"Re-execute a command from history by its index."],[384,"Read Only Mode Server :\n(Java system property: readonlymode.enabled)\nNew in 3.4.0:\nSetting this value to true enables Read Only Mode server\nsupport (disabled by default).\nlocalSessionsEnabled has to be activated to serve clients.\nA downgrade of an existing connections is currently not supported.\nROM allows clients sessions which requested ROM support to connect to the\nserver even when the server might be partitioned from\nthe quorum. In this mode ROM clients can still read\nvalues from the ZK service, but will be unable to write\nvalues and see changes from other clients. See\nZOOKEEPER-784 for more details."],[1908,"Read operations in ZooKeeper are not linearizable since they can return stale data. A read\nin ZooKeeper is not a quorum operation — a server will respond immediately to a client\nperforming a read. ZooKeeper prioritizes performance over consistency for reads. However,\nreads are sequentially consistent, because read operations appear to take effect in some\nsequential order that respects each client's operation order. A common workaround is to issue\na sync before a read. This too does not strictly guarantee up-to-date data because\nsync is not currently a quorum operation."],[824,"Read the Prometheus alerting documentation\nfor alerting principles, and use Prometheus Alertmanager\nto receive alert notifications via email or webhook."],[1077,"Read this blog post to learn more\nabout the Jepsen analysis of ZooKeeper."],[1160,"READ: you can get data from a node and list its children."],[1329,"Real time\nZooKeeper doesn't use real time, or clock time, at all except\nto put timestamps into the stat structure on znode creation and\nznode modification."],[632,"Rebalancing Client Connections"],[1132,"Recall that the Executor's job is to start and stop the executable whose name you pass in on the command line.\nIt does this in response to events fired by the ZooKeeper object. As you can see in the code above, the Executor passes\na reference to itself as the Watcher argument in the ZooKeeper constructor. It also passes a reference to itself\nas DataMonitorListener argument to the DataMonitor constructor. Per the Executor's definition, it implements both these\ninterfaces:"],[1457,"Recipes and Solutions"],[42,"Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more."],[563,"reconfig"],[305,"reconfigEnabled :\n(No Java system property)\nNew in 3.5.3:\nThis controls the enabling or disabling of\nDynamic Reconfiguration feature. When the feature\nis enabled, users can perform reconfigure operations through\nthe ZooKeeper client API or through ZooKeeper command line tools\nassuming users are authorized to perform such operations.\nWhen the feature is disabled, no user, including the super user,\ncan perform a reconfiguration. Any attempt to reconfigure will return an error.\n\"reconfigEnabled\" option can be set as\n\"reconfigEnabled=false\" or\n\"reconfigEnabled=true\"\nto a server's config file, or using QuorumPeerConfig's\nsetReconfigEnabled method. The default value is false.\nIf present, the value should be consistent across every server in\nthe entire ensemble. Setting the value as true on some servers and false\non other servers will cause inconsistent behavior depending on which server\nis elected as leader. If the leader has a setting of\n\"reconfigEnabled=true\", then the ensemble\nwill have reconfig feature enabled. If the leader has a setting of\n\"reconfigEnabled=false\", then the ensemble\nwill have reconfig feature disabled. It is thus recommended having a consistent\nvalue for \"reconfigEnabled\" across servers\nin the ensemble."],[670,"Reconfiguration API: Used to reconfigure the ZooKeeper cluster.\nStarting with 3.5.3, reconfiguration Java APIs are moved into the ZooKeeperAdmin\nclass from the ZooKeeper class. Use of this API requires ACL setup and user\nauthentication (see Security for more information)."],[1467,"Recoverable Errors and the GUID"],[986,"Recovering a cluster needs a snapshot from a ZooKeeper cluster. Users can periodically take\nsnapshots from a live server which has the highest zxid and stream out data to local or external\nstorage/file system (e.g., S3)."],[441,"Recovery - TxnLogToolkit"],[1029,"Recursively collect and display child count and data size for a selected node."],[1267,"recv_timeout :\nSession expiration time in milliseconds."],[1648,"Redis Failover is a ZooKeeper-based automatic master/slave failover solution for Ruby ."],[1579,"redis_failover"],[564,"redo"],[901,"Reference"],[994,"Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks."],[53,"Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration."],[543,"Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output."],[909,"Regardless of the cluster size, oraclePath must be configured at initialization time, like other static parameters.\nThe following shows the correct way to specify and enable the Oracle:"],[326,"Regenerate superDigest when migrating to new algorithm."],[1983,"Release Notes"],[2011,"Release Notes - ZooKeeper - Version 3.9.0"],[2008,"Release Notes - ZooKeeper - Version 3.9.1"],[2003,"Release Notes - ZooKeeper - Version 3.9.2"],[1997,"Release Notes - ZooKeeper - Version 3.9.3"],[1991,"Release Notes - ZooKeeper - Version 3.9.4"],[1985,"Release Notes - ZooKeeper - Version 3.9.5"],[1984,"Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes."],[1795,"Reliability"],[1817,"Reliability - Once an update has been applied, it will persist\nfrom that time forward until a client overwrites the update."],[1283,"Reliability :\nOnce an update has been applied, it will persist from that\ntime forward until a client overwrites the update. This guarantee\nhas two corollaries:"],[1864,"Reliable delivery: If a message m is delivered by one server, message m will eventually be delivered by all servers."],[955,"Remove the USB device. /Volumes/Oracle/mastership becomes unavailable. According to the current implementation, whenever the Leader queries the oracle and the file is missing, the oracle throws an exception and returns false. Repeating step 5 will result in either the system being unable to recover from a leader failure, or the leader losing the quorum and service being interrupted."],[1429,"Remove Watches"],[599,"Remove watches from a node."],[565,"removewatches"],[105,"Removing Jetty from the classpath. (This option is\nuseful if you would like to override ZooKeeper's jetty\ndependency.)"],[687,"Removing servers: Any server can be removed, including the leader (although\nremoving the leader will result in a short unavailability, see Figures 6 and 8 in\nthe paper).\nThe server will not be shut down automatically. Instead, it becomes a\n\"non-voting follower\" — similar to an observer in that its votes don't count\ntowards the quorum, but unlike an observer, a non-voting follower still sees\noperation proposals and ACKs them. Thus a non-voting follower has a more\nsignificant negative effect on throughput compared to an observer.\nNon-voting follower mode should only be used temporarily before shutting the\nserver down or adding it back as a follower or observer. Servers are not\nshut down automatically for two main reasons: first, to avoid immediately\ndisconnecting all connected clients and causing a flood of reconnection requests\nto other servers; second, because removing a server may sometimes be necessary\nas a step to change it from observer to participant (see\nAdditional comments)."],[157,"Repeat step 2 on the remaining nodes. Verify that you see the following entries in the logs,\nand double-check after each node restart that the quorum becomes healthy again."],[764,"replica.<#>"],[743,"Replicated Ensemble MBeans"],[761,"ReplicatedServer_id<#>"],[765,"Represents a local or remote peer (i.e. server participating in the ensemble). Note that the object name includes the \"myid\" of the server (name suffix)."],[768,"Represents a ZooKeeper cluster leader election which is in progress. Provides information about the election, such as when it started."],[762,"Represents the Quorum, or Ensemble — parent of all cluster members. Note that the object name includes the \"myid\" of the server (name suffix) that your JMX agent has connected to."],[237,"requestStaleConnectionCheck :\n(Java system property: zookeeper.request_stale_connection_check)\nNew in 3.6.0:\nWhen enabled, a request is considered stale if the request's connection has closed. Enabled by default."],[236,"requestStaleLatencyCheck :\n(Java system property: zookeeper.request_stale_latency_check)\nNew in 3.6.0:\nWhen enabled, a request is considered stale if the request latency is higher than its associated session timeout. Disabled by default."],[235,"requestThrottleDropStale :\n(Java system property: request_throttle_drop_stale)\nNew in 3.6.0:\nWhen enabled, the throttler will drop stale requests rather than issue them to the request pipeline. A stale request is a request sent by a connection that is now closed, and/or a request that will have a request latency higher than the sessionTimeout. The default is true."],[233,"requestThrottleLimit :\n(Java system property: zookeeper.request_throttle_max_requests)\nNew in 3.6.0:\nThe total number of outstanding requests allowed before the RequestThrottler starts stalling. When set to 0, throttling is disabled. The default is 0."],[234,"requestThrottleStallTime :\n(Java system property: zookeeper.request_throttle_stall_time)\nNew in 3.6.0:\nThe maximum time (in milliseconds) for which a thread may wait to be notified that it may proceed processing a request. The default is 100."],[461,"Required Software"],[1113,"Requirements"],[979,"Restore"],[992,"Restore the server using the restore admin server command:"],[125,"restore/rest :\nRestore database from snapshot input stream on the current server.\nReturns the following data in response payload:\n\"last_zxid\": String\nNote: this API is rate-limited (once every 5 mins by default) to protect the server\nfrom being over-loaded."],[987,"Restoring a cluster needs a single snapshot as input stream. Restore can be used for recovering a\ncluster after quorum loss or for building a brand-new cluster with seed data."],[851,"result"],[1319,"Retrieves the list of ephemeral nodes created by the session for the\ngiven path. If the path is empty, it will list all the ephemeral nodes\nfor the session.\nUse Case - A sample use case might be, if the list of ephemeral\nnodes for the session needs to be collected for duplicate data entry check\nand the nodes are created in a sequential manner so you do not know the name\nfor duplicate check. In that case, getEphemerals() api could be used to\nget the list of nodes for the session. This might be a typical use case\nfor service discovery."],[624,"Retrieving the Current Dynamic Configuration"],[1469,"Revocable Shared Locks"],[645,"Role is also optional — it can be participant or observer (participant by default)."],[827,"rules/zk.yml:"],[1245,"Run ./configure to\ngenerate the makefile. Here are some of options the configure utility supports that can be\nuseful in this step:"],[1242,"Run mvn compile in zookeeper-jute directory (.../trunk/zookeeper-jute).\nThis will create a directory named \"generated\" under\n.../trunk/zookeeper-client/zookeeper-client-c."],[327,"Run SetAcl for a znode which already had a digest auth of old algorithm."],[1274,"Run the client."],[1067,"Run the workload (workloadb is recommended as the most representative read-heavy workload):"],[739,"Running a JMX Console"],[1937,"Running Replicated ZooKeeper"],[1074,"Running the Dockerized Jepsen\nis the simplest way to get started."],[1076,"Running the test:"],[1006,"Running the Tool"],[1036,"Running the tool with no arguments prints the help page:"],[1968,"Running ZooKeeper in standalone mode is convenient for evaluation,\nsome development, and testing. But in production, you should run\nZooKeeper in replicated mode. A replicated group of servers in the same\napplication is called a quorum, and in replicated\nmode, all servers in the quorum have copies of the same configuration\nfile."],[126,"ruok :\nNo-op command, check if the server is running.\nA response does not necessarily indicate that the\nserver has joined the quorum, just that the admin server\nis active and bound to the specified port.\nNo new fields returned."],[65,"ruok :\nTests if the server is running in a non-error state.\nWhen the whitelist enables ruok, the server will respond with imok\nif it is running, otherwise it will not respond at all.\nWhen ruok is disabled, the server responds with:\n\"ruok is not executed because it is not in the whitelist.\"\nA response of \"imok\" does not necessarily indicate that the\nserver has joined the quorum, just that the server process is active\nand bound to the specified client port. Use \"stat\" for details on\nstate wrt quorum and client connection information."],[896,"Safety Issue"],[853,"Sample audit logs for all operations, where the client connected from 192.168.1.2, client\nprincipal is zkcli@HADOOP.COM, and server principal is zookeeper/192.168.1.3@HADOOP.COM:"],[858,"SASLAuthenticationProvider — the client principal is used as the user."],[1657,"Schema-free SQL Query Engine for Hadoop, NoSQL and Cloud Storage"],[995,"Scripts"],[876,"Second, in every server config file, append :observer to the server\ndefinition line of each Observer. For example:"],[179,"secureClientPort :\nthe port to listen on for secure client connections using SSL.\nclientPort specifies\nthe port for plaintext connections while secureClientPort specifies the port for SSL\nconnections. Specifying both enables mixed-mode while omitting\neither will disable that mode.\nNote that SSL feature will be enabled when user plugs-in\nzookeeper.serverCnxnFactory, zookeeper.clientCnxnSocket as Netty."],[623,"Security"],[1256,"See .../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example\nof a C client implementation"],[1251,"See INSTALL for general information about running configure. 1. Run\nmake or make install to build the libraries and install them. 1. To\ngenerate doxygen documentation for the ZooKeeper API, run make\n doxygen-doc. All documentation will be placed in a new subfolder named\ndocs. By default, this command only generates HTML. For information on other\ndocument formats, run ./configure --help"],[1940,"See System Requirements in the Admin guide."],[832,"See the Four Letter Words section in the Administrator's Guide."],[831,"See the JMX guide for details."],[747,"See the JMX Management Guide for details on setting up local and\nremote management of VM instances. By default the included\nzkServer.sh supports only local management —\nreview the linked document to enable support for remote management\n(beyond the scope of this document)."],[1538,"See the note for Locks on how to use the guid in the node."],[1561,"See the note for Locks on how to use the guid in the node."],[17,"See the section on logging in this document. It is\nexpected that you will setup a rolling file appender using the\nin-built logback feature. The sample configuration file in the\nrelease tar's conf/logback.xml provides an example of\nthis."],[1058,"See the YCSB README for more details."],[1017,"See ZooKeeper CLI."],[1662,"Segment \"publishing\" protocol from Historical and Realtime"],[1663,"Segment load/drop protocol between Coordinator and Historical"],[1427,"Semantics of Watches"],[1617,"Sematext"],[1434,"Sent to the client\nThis implies that an event is on the way to the client, but may\nnot reach the client before the successful return code to the change\noperation reaches the client that initiated the change. Watches are\nsent asynchronously to watchers. ZooKeeper provides an ordering\nguarantee: a client will never see a change for which it has set a\nwatch until it first sees the watch event. Network delays or other\nfactors may cause different clients to see watches and return codes\nfrom updates at different times. The key point is that everything seen\nby the different clients will have a consistent order."],[1297,"Sequence Nodes — Unique Naming"],[1814,"Sequential Consistency - Updates from a client will be applied\nin the order that they were sent."],[1280,"Sequential Consistency :\nUpdates from a client will be applied in the order that they\nwere sent."],[275,"serializeLastProcessedZxid.enabled\n(Java system property: zookeeper.serializeLastProcessedZxid.enabled)\nNew in 3.9.0:\nIf enabled, ZooKeeper serializes the lastProcessedZxid when snapshot and deserializes it\nwhen restore. Defaults to true. Needs to be enabled for performing snapshot and restore\nvia admin server commands, as there is no snapshot file name to extract the lastProcessedZxid."],[480,"Server"],[474,"Server is the Java server\nthat runs on the ZooKeeper ensemble nodes."],[29,"Server not coming up because of file corruption :\nA server might not be able to read its database and fail to come up because of\nsome file corruption in the transaction logs of the ZooKeeper server. You will\nsee some IOException on loading ZooKeeper database. In such a case,\nmake sure all the other servers in your ensemble are up and working. Use \"stat\"\ncommand on the command port to see if they are in good health. After you have verified that\nall the other servers of the ensemble are up, you can go ahead and clean the database\nof the corrupt server. Delete all the files in datadir/version-2 and datalogdir/version-2/.\nRestart the server."],[128,"server_stats/srvr :\nServer information.\nReturns multiple fields giving a brief overview of server state."],[292,"server.x=[hostname]:nnnnn[:nnnnn] etc :\n(No Java system property)\nServers making up the ZooKeeper ensemble. When the server\nstarts up, it determines which server it is by looking for the\nfile myid in the data directory. That file contains the server number, in ASCII,\nand it should match x in server.x in the left hand side of this setting.\nThe list of servers that make up ZooKeeper servers that is\nused by the clients must match the list of ZooKeeper servers\nthat each ZooKeeper server has.\nThere are two port numbers nnnnn.\nThe first followers used to connect to the leader, and the second is for\nleader election. If you want to test multiple servers on a single machine, then\ndifferent ports can be used for each server."],[778,"ServerCnxn"],[791,"ServerCnxn"],[1375,"ServerCnxn\nThe current connection"],[228,"serverCnxnFactory :\n(Java system property: zookeeper.serverCnxnFactory)\nSpecifies ServerCnxnFactory implementation.\nThis should be set to NettyServerCnxnFactory in order to use TLS based server communication.\nDefault is NIOServerCnxnFactory."],[1633,"Service deployment and orchestration framework, formerly called Ensemble ."],[837,"session"],[1388,"Session expiration is managed by the ZooKeeper cluster\nitself, not by the client. When the ZK client establishes a\nsession with the cluster it provides a \"timeout\" value detailed\nabove. This value is used by the cluster to determine when the\nclient's session expires. Expirations happens when the cluster\ndoes not hear from the client within the specified session timeout\nperiod (i.e. no heartbeat). At session expiration the cluster will\ndelete any/all ephemeral nodes owned by that session and\nimmediately notify any/all connected clients of the change (anyone\nwatching those znodes). At this point the client of the expired\nsession is still disconnected from the cluster, it will not be\nnotified of the session expiration until/unless it is able to\nre-establish a connection to the cluster. The client will stay in\ndisconnected state until the TCP connection is re-established with\nthe cluster, at which point the watcher of the expired session\nwill receive the \"session expired\" notification."],[333,"sessionRequireClientSASLAuth :\n(Java system property: zookeeper.sessionRequireClientSASLAuth)\nNew in 3.6.0:\nWhen set to true, ZooKeeper server will only accept connections and requests from clients\nthat have authenticated with server via SASL. Clients that are not configured with SASL\nauthentication, or configured with SASL but failed authentication (i.e. with invalid credential)\nwill not be able to establish a session with server. A typed error code (-124) will be delivered\nin such case, both Java and C client will close the session with server thereafter,\nwithout further attempts on retrying to reconnect."],[1379,"Sessions"],[566,"set"],[604,"Set a quota on a path. Soft limits (-n, -b) log a warning but do not block operations. Hard limits (-N, -B) reject operations that exceed the quota."],[601,"Set ACL permissions on a node."],[1824,"set data : writes data to a node"],[600,"Set or update the data at a path."],[596,"Set reconfigEnabled=true in zoo.cfg."],[1060,"Set the following properties in your workload file or via the shell:"],[517,"Set the Java heap size. This is very important to avoid swapping, which will seriously degrade\nZooKeeper performance. To determine the correct value, use load tests, and make sure you are\nwell below the usage limit that would cause you to swap. Be conservative — use a maximum heap\nsize of 3GB for a 4GB machine."],[319,"Set this property the same value in all the servers."],[1056,"Set Up YCSB"],[1349,"Set your Java max heap size correctly. It is very important to\navoid swapping. Going to disk unnecessarily will\nalmost certainly degrade your performance unacceptably. Remember, in\nZooKeeper, everything is ordered, so if one request hits the disk, all\nother queued requests hit the disk.\nTo avoid swapping, try to set the heapsize to the amount of\nphysical memory you have, minus the amount needed by the OS and cache.\nThe best way to determine an optimal heap size for your configurations\nis to run load tests. If for some reason you\ncan't, be conservative in your estimates and choose a number well\nbelow the limit that would cause your machine to swap. For example, on\na 4G machine, a 3G heap is a conservative estimate to start\nwith."],[127,"set_trace_mask/stmk :\nSets the trace mask (as such, it requires a parameter).\nWrite version of get_trace_mask.\nSee the description of the four letter command stmk for\nmore details.\nReturns \"tracemask\"."],[567,"setAcl"],[1378,"setAcls\nWhen the setAcl() method is being operated on, the list of ACLs that are being set"],[568,"setquota"],[1018,"Sets environment variables for the ZooKeeper server. Key variables:"],[960,"Setting Quotas"],[650,"Setting the flag to false instructs the system to run the Distributed\nsoftware stack even if there is only a single participant in the ensemble.\nTo achieve this the static configuration file should contain:"],[104,"Setting the zookeeper.admin.enableServer system\nproperty to false."],[873,"Setting up a ZooKeeper ensemble that uses Observers requires just two\nchanges to your config files."],[1942,"Setting up a ZooKeeper server in standalone mode is\nstraightforward. The server is contained in a single JAR file,\nso installation consists of creating a configuration."],[1468,"Shared Locks"],[608,"Show all authentication information for the current session."],[573,"Show all available ZooKeeper commands."],[576,"Show the current quorum membership configuration."],[605,"Show the metadata (stat) of a node."],[589,"Show the most recent 11 commands executed in this session."],[607,"Show the ZooKeeper CLI version."],[637,"Shraer, A., Reed, B., Malkhi, D., Junqueira, F. Dynamic Reconfiguration of Primary/Backup Clusters. In USENIX Annual Technical Conference (ATC) (2012), 425–437.\nLinks: paper (pdf), slides (pdf), video, hadoop summit slides"],[1791,"Simple API"],[382,"Since 3.10 there is no hardcoded list, and the JDK defaults are used."],[32,"Since 3.6.0 you can configure a different Metrics Provider, that exports metrics\nto your favourite system."],[33,"Since 3.6.0 ZooKeeper binary package bundles an integration with Prometheus.io"],[652,"Since running the Distributed mode allows more flexibility, we recommend\nsetting the flag to false. The legacy Standalone mode is expected to be\ndeprecated in the future."],[647,"Since ZooKeeper 3.6.0 it is possible to specify multiple addresses for each\nZooKeeper server (see ZOOKEEPER-3188).\nThis helps to increase availability and adds network-level resiliency to ZooKeeper. When multiple\nphysical network interfaces are used for the servers, ZooKeeper is able to bind on all interfaces\nand switch to a working interface at runtime in case of a network error. Multiple addresses are\nseparated by a pipe (|) character."],[293,"Since ZooKeeper 3.6.0 it is possible to specify multiple addresses for each\nZooKeeper server (see ZOOKEEPER-3188).\nTo enable this feature, you must set the multiAddress.enabled configuration property\nto true. This helps to increase availability and adds network level\nresiliency to ZooKeeper. When multiple physical network interfaces are used\nfor the servers, ZooKeeper is able to bind on all interfaces and runtime switching\nto a working interface in case a network error. The different addresses can be specified\nin the config using a pipe ('|') character. A valid configuration using multiple addresses looks like:"],[466,"Single Machine Requirements"],[463,"Single Server and Developer Setup"],[470,"Single Server and Developer Setup"],[1816,"Single System Image - A client will see the same view of the\nservice regardless of the server that it connects to. i.e., a\nclient will never see an older view of the system even if the\nclient fails over to a different server with the same session."],[1282,"Single System Image :\nA client will see the same view of the service regardless of\nthe server that it connects to. i.e., a client will never see an\nolder view of the system even if the client fails over to a\ndifferent server with the same session."],[397,"skipACL :\n(Java system property: zookeeper.skipACL)\nSkips ACL checks. This results in a boost in throughput,\nbut opens up full access to the data tree to everyone."],[191,"snapCount :\n(Java system property: zookeeper.snapCount)\nZooKeeper records its transactions using snapshots and\na transaction log (think write-ahead log). The number of\ntransactions recorded in the transaction log before a snapshot\ncan be taken (and the transaction log rolled) is determined\nby snapCount. In order to prevent all of the machines in the quorum\nfrom taking a snapshot at the same time, each ZooKeeper server\nwill take a snapshot when the number of transactions in the transaction log\nreaches a runtime generated random value in the [snapCount/2+1, snapCount]\nrange. The default snapCount is 100,000."],[978,"Snapshot"],[976,"Snapshot and Restore Guide"],[277,"Snapshot triggered by server internally"],[281,"Snapshot triggered via admin server APIs: The feature flag need to be enabled for the\nsnapshot command to work."],[446,"snapshot. - holds the fuzzy\nsnapshot of a data tree."],[259,"snapshot.compression.method :\n(Java system property: zookeeper.snapshot.compression.method)\nNew in 3.6.0:\nThis property controls whether or not ZooKeeper should compress snapshots\nbefore storing them on disk (see ZOOKEEPER-3179).\nPossible values are:"],[263,"snapshot.trust.empty :\n(Java system property: zookeeper.snapshot.trust.empty)\nNew in 3.5.6:\nThis property controls whether or not ZooKeeper should treat missing\nsnapshot files as a fatal state that can't be recovered from.\nSet to true to allow ZooKeeper servers recover without snapshot\nfiles. This should only be set during upgrading from old versions of\nZooKeeper (3.4.x, pre 3.5.3) where ZooKeeper might only have transaction\nlog files but without presence of snapshot files. If the value is set\nduring upgrade, we recommend setting the value back to false after upgrading\nand restart ZooKeeper process so ZooKeeper can continue normal data\nconsistency check during recovery process.\nDefault value is false."],[129,"snapshot/snap :\nTakes a snapshot of the current server in the datadir and stream out data.\nOptional query parameter:\n\"streaming\": Boolean (defaults to true if the parameter is not present)\nReturns the following via Http headers:\n\"last_zxid\": String\n\"snapshot_size\": String\nNote: this API is rate-limited (once every 5 mins by default) to protect the server\nfrom being over-loaded."],[1034,"Snapshots are stored in the ZooKeeper data directory\nconfigured in conf/zoo.cfg."],[193,"snapSizeLimitInKb :\n(Java system property: zookeeper.snapSizeLimitInKb)\nZooKeeper records its transactions using snapshots and\na transaction log (think write-ahead log). The total size in bytes allowed\nin the set of transactions recorded in the transaction log before a snapshot\ncan be taken (and the transaction log rolled) is determined\nby snapSize. In order to prevent all of the machines in the quorum\nfrom taking a snapshot at the same time, each ZooKeeper server\nwill take a snapshot when the size in bytes of the set of transactions in the\ntransaction log reaches a runtime generated random value in the [snapSize/2+1, snapSize]\nrange. Each file system has a minimum standard file size and in order\nto for valid functioning of this feature, the number chosen must be larger\nthan that value. The default snapSizeLimitInKb is 4,194,304 (4GB).\nA non-positive value will disable the feature."],[1344,"So now you know ZooKeeper. It's fast, simple, your application\nworks, but wait ... something's wrong. Here are some pitfalls that\nZooKeeper users fall into:"],[899,"Software-based Implementation"],[488,"Solaris"],[1714,"Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene."],[718,"Sometimes (especially in non-incremental mode) a proposed configuration depends\non what the client believes to be the current configuration, and should only be\napplied to that configuration. The reconfig succeeds only if the last\nconfiguration at the leader has the specified version:"],[1289,"Sometimes developers mistakenly assume one other guarantee that ZooKeeper does\nnot in fact make. This is: Simultaneously Consistent Cross-Client Views:\nZooKeeper does not guarantee that at every instance in time, two different\nclients will have identical views of ZooKeeper data. Due to factors like\nnetwork delays, one client may perform an update before another client gets\nnotified of the change. Consider the scenario of two clients, A and B. If\nclient A sets the value of a znode /a from 0 to 1, then tells client B to read\n/a, client B may read the old value of 0, depending on which server it is\nconnected to. If it is important that Client A and Client B read the same\nvalue, Client B should call the sync() method from the ZooKeeper API\nmethod before it performs its read. So, ZooKeeper by itself doesn't guarantee\nthat changes occur synchronously across all servers, but ZooKeeper primitives\ncan be used to construct higher level functions that provide useful client\nsynchronization. (For more information, see the ZooKeeper\nRecipes)."],[1086,"Source Listing"],[613,"Specifying Multiple Server Addresses"],[612,"Specifying the Client Port"],[938,"Split brain is expected when the Oracle fails to maintain this property during leader election, which can happen at:"],[931,"Split Brain Issue"],[1641,"Spring Cloud Zookeeper provides Apache Zookeeper integrations for Spring Boot apps through autoconfiguration\nand binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations\nyou can quickly enable and configure the common patterns inside your application and build large distributed systems with Zookeeper.\nThe patterns provided include Service Discovery and Distributed Configuration ."],[1643,"Spring Statemachine can provide this feature:Distributed state machine based on a Zookeeper [31,32]."],[1642,"Spring Statemachine is a framework for application developers to use state machine concepts with Spring applications."],[1644,"Spring XD is a unified, distributed, and extensible system for data ingestion, real time analytics, batch processing, and data export.\nThe project’s goal is to simplify the development of big data applications."],[1575,"spring-cloud-zookeeper"],[1576,"spring-statemachine"],[1577,"spring-xd"],[66,"srst :\nReset server statistics."],[67,"srvr :\nNew in 3.3.0: Lists\nfull details for the server."],[355,"ssl.allowReverseDnsLookup and ssl.quorum.allowReverseDnsLookup :\n(Java system properties: zookeeper.ssl.allowReverseDnsLookup and zookeeper.ssl.quorum.allowReverseDnsLookup)\nNew in 3.9.5:\nAllow reverse DNS lookup in both server- and client hostname verifications if the hostname verification is enabled in\nZKTrustManager. Supported in both quorum and client TLS protocols. Not supported in FIPS mode. Reverse DNS lookups are\nexpensive and unnecessary in most cases. Make sure that certificates are created with all required Subject Alternative\nNames (SAN) for successful identity verification. It's recommended to add SAN:IP entries for identity verification\nof client certificates.\nDefault: false"],[331,"ssl.authProvider :\n(Java system property: zookeeper.ssl.authProvider)\nSpecifies a subclass of org.apache.zookeeper.auth.X509AuthenticationProvider\nto use for secure client authentication. This is useful in\ncertificate key infrastructures that do not use JKS. It may be\nnecessary to extend javax.net.ssl.X509KeyManager and javax.net.ssl.X509TrustManager\nto get the desired behavior from the SSL stack. To configure the\nZooKeeper server to use the custom provider for authentication,\nchoose a scheme name for the custom AuthenticationProvider and\nset the property zookeeper.authProvider.[scheme] to the fully-qualified class name of the custom\nimplementation. This will load the provider into the ProviderRegistry.\nThen set this property zookeeper.ssl.authProvider=[scheme] and that provider\nwill be used for secure authentication."],[351,"ssl.ciphersuites and ssl.quorum.ciphersuites :\n(Java system properties: zookeeper.ssl.ciphersuites and zookeeper.ssl.quorum.ciphersuites)\nNew in 3.5.5:\nSpecifies the enabled cipher suites to be used in client and quorum TLS negotiation.\nDefault: JDK defaults since 3.10.0, and hard coded cipher suites for 3.9 and earlier versions. See TLS Cipher Suites."],[358,"ssl.clientAuth and ssl.quorum.clientAuth :\n(Java system properties: zookeeper.ssl.clientAuth and zookeeper.ssl.quorum.clientAuth)\nAdded in 3.5.5, but broken until 3.5.7:\nSpecifies options to authenticate ssl connections from clients. Valid values are"],[354,"ssl.clientHostnameVerification and ssl.quorum.clientHostnameVerification :\n(Java system properties: zookeeper.ssl.clientHostnameVerification and zookeeper.ssl.quorum.clientHostnameVerification)\nNew in 3.9.4:\nSpecifies whether the client's hostname verification is enabled in client and quorum TLS negotiation process.\nThis option requires the corresponding hostnameVerification option to be true, or it will be ignored.\nDefault: true for quorum, false for clients"],[352,"ssl.context.supplier.class and ssl.quorum.context.supplier.class :\n(Java system properties: zookeeper.ssl.context.supplier.class and zookeeper.ssl.quorum.context.supplier.class)\nNew in 3.5.5:\nSpecifies the class to be used for creating SSL context in client and quorum SSL communication.\nThis allows you to use custom SSL context and implement the following scenarios: 1. Use hardware keystore, loaded in using PKCS11 or something similar. 2. You don't have access to the software keystore, but can retrieve an already-constructed SSLContext from their container.\nDefault: null"],[356,"ssl.crl and ssl.quorum.crl :\n(Java system properties: zookeeper.ssl.crl and zookeeper.ssl.quorum.crl)\nNew in 3.5.5:\nSpecifies whether Certificate Revocation List is enabled in client and quorum TLS protocols.\nDefault: jvm property \"com.sun.net.ssl.checkRevocation\" since 3.10.0, false otherwise"],[350,"ssl.enabledProtocols and ssl.quorum.enabledProtocols :\n(Java system properties: zookeeper.ssl.enabledProtocols and zookeeper.ssl.quorum.enabledProtocols)\nNew in 3.5.5:\nSpecifies the enabled protocols in client and quorum TLS negotiation.\nDefault: TLSv1.3, TLSv1.2 if value of protocol property is TLSv1.3. TLSv1.2 if protocol is TLSv1.2."],[363,"ssl.handshakeDetectionTimeoutMillis and ssl.quorum.handshakeDetectionTimeoutMillis :\n(Java system properties: zookeeper.ssl.handshakeDetectionTimeoutMillis and zookeeper.ssl.quorum.handshakeDetectionTimeoutMillis)\nNew in 3.5.5:\nTBD"],[353,"ssl.hostnameVerification and ssl.quorum.hostnameVerification :\n(Java system properties: zookeeper.ssl.hostnameVerification and zookeeper.ssl.quorum.hostnameVerification)\nNew in 3.5.5:\nSpecifies whether the hostname verification is enabled in client and quorum TLS negotiation process.\nDisabling it only recommended for testing purposes.\nDefault: true"],[343,"ssl.keyStore.location and ssl.keyStore.password and ssl.quorum.keyStore.location and ssl.quorum.keyStore.password :\n(Java system properties: zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password and zookeeper.ssl.quorum.keyStore.location and zookeeper.ssl.quorum.keyStore.password)\nNew in 3.5.5:\nSpecifies the file path to a Java keystore containing the local\ncredentials to be used for client and quorum TLS connections, and the\npassword to unlock the file."],[344,"ssl.keyStore.passwordPath and ssl.quorum.keyStore.passwordPath :\n(Java system properties: zookeeper.ssl.keyStore.passwordPath and zookeeper.ssl.quorum.keyStore.passwordPath)\nNew in 3.8.0:\nSpecifies the file path that contains the keystore password. Reading the password from a file takes precedence over\nthe explicit password property."],[345,"ssl.keyStore.type and ssl.quorum.keyStore.type :\n(Java system properties: zookeeper.ssl.keyStore.type and zookeeper.ssl.quorum.keyStore.type)\nNew in 3.5.5:\nSpecifies the file format of client and quorum keystores. Values: JKS, PEM, PKCS12 or null (detect by filename).\nDefault: null.\nNew in 3.5.10, 3.6.3, 3.7.0:\nThe format BCFKS was added."],[357,"ssl.ocsp and ssl.quorum.ocsp :\n(Java system properties: zookeeper.ssl.ocsp and zookeeper.ssl.quorum.ocsp)\nNew in 3.5.5:\nSpecifies whether Online Certificate Status Protocol is enabled in client and quorum TLS protocols.\nChanged in 3.10.0:\nBefore 3.10.0, ssl.ocsp and ssl.quorum.ocsp implies ssl.crl and ssl.quorum.crl correspondingly.\nAfter 3.10.0, one has to setup both ssl.crl and ssl.ocsp (or ssl.quorum.crl and ssl.quorum.ocsp)\nto enable OCSP. This is consistent with jdk's method of Setting up a Java Client to use Client-Driven OCSP.\nDefault: jvm security property \"ocsp.enable\" since 3.10.0, false otherwise"],[349,"ssl.protocol and ssl.quorum.protocol :\n(Java system properties: zookeeper.ssl.protocol and zookeeper.ssl.quorum.protocol)\nNew in 3.5.5:\nSpecifies to protocol to be used in client and quorum TLS negotiation.\nDefault: TLSv1.3 or TLSv1.2 depending on Java runtime version being used."],[364,"ssl.sslProvider :\n(Java system property: zookeeper.ssl.sslProvider)\nNew in 3.9.0:\nAllows to select SSL provider in the client-server communication when TLS is enabled. Netty-tcnative native library\nhas been added to ZooKeeper in version 3.9.0 which allows us to use native SSL libraries like OpenSSL on supported\nplatforms. See the available options in Netty-tcnative documentation. Default value is \"JDK\"."],[346,"ssl.trustStore.location and ssl.trustStore.password and ssl.quorum.trustStore.location and ssl.quorum.trustStore.password :\n(Java system properties: zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password and zookeeper.ssl.quorum.trustStore.location and zookeeper.ssl.quorum.trustStore.password)\nNew in 3.5.5:\nSpecifies the file path to a Java truststore containing the remote\ncredentials to be used for client and quorum TLS connections, and the\npassword to unlock the file."],[347,"ssl.trustStore.passwordPath and ssl.quorum.trustStore.passwordPath :\n(Java system properties: zookeeper.ssl.trustStore.passwordPath and zookeeper.ssl.quorum.trustStore.passwordPath)\nNew in 3.8.0:\nSpecifies the file path that contains the truststore password. Reading the password from a file takes precedence over\nthe explicit password property."],[348,"ssl.trustStore.type and ssl.quorum.trustStore.type :\n(Java system properties: zookeeper.ssl.trustStore.type and zookeeper.ssl.quorum.trustStore.type)\nNew in 3.5.5:\nSpecifies the file format of client and quorum trustStores. Values: JKS, PEM, PKCS12 or null (detect by filename).\nDefault: null.\nNew in 3.5.10, 3.6.3, 3.7.0:\nThe format BCFKS was added."],[342,"sslQuorum :\n(Java system property: zookeeper.sslQuorum)\nNew in 3.5.5:\nEnables encrypted quorum communication. Default is false. When enabling this feature, please also consider enabling leader.closeSocketAsync\nand learner.closeSocketAsync to avoid issues associated with the potentially long socket closing time when shutting down an SSL connection."],[365,"sslQuorumReloadCertFiles :\n(No Java system property)\nNew in 3.5.5, 3.6.0:\nAllows Quorum SSL keyStore and trustStore reloading when the certificates on the filesystem change without having to restart the ZK process. Default: false"],[1933,"Standalone Operation"],[744,"Standalone Server MBeans"],[304,"standaloneEnabled :\n(No Java system property)\nNew in 3.5.0:\nWhen set to false, a single server can be started in replicated\nmode, a lone participant can run with observers, and a cluster\ncan reconfigure down to one node, and up from one node. The\ndefault is true for backwards compatibility. It can be set\nusing QuorumPeerConfig's setStandaloneEnabled method or by\nadding \"standaloneEnabled=false\" or \"standaloneEnabled=true\"\nto a server's config file."],[786,"StandaloneServer_port<#>"],[1453,"Standard watches are one time triggers; if you get a watch event and\nyou want to get notified of future changes, you must set another\nwatch."],[1109,"Start a barrier with 2 participants (start as many times as many participants you'd like to enter)"],[1108,"Start a consumer to consume 100 elements"],[1107,"Start a producer to create 100 elements"],[822,"Start Prometheus:"],[951,"Start the cluster. It should form a quorum normally."],[1053,"Start your ZooKeeper ensemble before running any benchmark."],[1953,"Start zkCli.sh and connect to your ZooKeeper server. bin/zkCli.sh -server\n 127.0.0.1:2181"],[1052,"Start ZooKeeper Server(s)"],[673,"Starting from 3.5.3, access control over reconfig is enforced: only a\nspecific set of explicitly configured users can use reconfig commands or APIs,\nand the ZooKeeper cluster must have authentication enabled so that clients can\nbe authenticated."],[642,"Starting with 3.10.0, the secureClientPort and secureClientPortAddress configuration parameters should no longer be used in zoo.cfg."],[653,"Starting with 3.5.0 and prior to 3.5.3, there is no way to disable\ndynamic reconfiguration. To address the security concern that a malicious\nactor could make arbitrary changes to the ensemble configuration, the\nreconfigEnabled option was introduced in 3.5.3. Any attempt\nto reconfigure a cluster through the reconfig API — with or without authentication —\nwill fail by default unless reconfigEnabled is set to true."],[634,"Starting with 3.5.0, rolling restarts are no longer needed.\nZooKeeper comes with full support for automated configuration changes: the\nset of ZooKeeper servers, their roles (participant / observer), all ports,\nand even the quorum system can be changed dynamically, without service\ninterruption and while maintaining data consistency. Reconfigurations are\nperformed immediately, just like other operations in ZooKeeper. Multiple\nchanges can be done using a single reconfiguration command. The dynamic\nreconfiguration functionality does not limit operation concurrency, does\nnot require client operations to be stopped during reconfigurations, has a\nvery simple interface for administrators, and adds no complexity to other\nclient operations."],[641,"Starting with 3.5.0, the clientPort and clientPortAddress configuration parameters should no longer be used in zoo.cfg."],[655,"Starting with 3.5.0, ZooKeeper distinguishes between dynamic configuration\nparameters (which can be changed during runtime) and static configuration\nparameters (which are read from a configuration file at boot and do not change\nduring execution). The dynamic configuration keywords are: server, group,\nand weight."],[639,"Starting with 3.5.3, the dynamic reconfiguration feature is disabled by\ndefault and must be explicitly turned on via the reconfigEnabled\nconfiguration option."],[738,"Starting ZooKeeper with JMX Enabled"],[569,"stat"],[68,"stat :\nLists brief details for the server and connected\nclients."],[131,"stat_reset/srst :\nResets server statistics. This is a subset of the information returned\nby server_stats and stats.\nNo new fields returned."],[1924,"Static message logging:"],[780,"Statistics on each client connection, also operations on those connections (such as termination). Note the object name is the session id of the connection in hex form."],[793,"Statistics on each client connection, also operations on those connections (such as termination). Note the object name is the session id of the connection in hex form."],[790,"Statistics on the in-memory znode database, also operations to access finer (and more computationally intensive) statistics on the data (such as ephemeral count)."],[777,"Statistics on the in-memory znode database, also operations to access finer (and more computationally intensive) statistics on the data (such as ephemeral count). InMemoryDataTrees are children of ZooKeeperServer nodes."],[787,"Statistics on the running server, also operations to reset these attributes. Note that the object name includes the client port of the server (name suffix)."],[130,"stats/stat :\nSame as server_stats but also returns the \"connections\" field (see connections\nfor details).\nNote, depending on the number of client connections this operation may be expensive\n(i.e. impact server performance)."],[1079,"Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination."],[78,"stmk :\nSets the current trace mask. The trace mask is 64 bits,\nwhere each bit enables or disables a specific category of trace\nlogging on the server. Logback must be configured to enable\nTRACE level first in order to see trace logging\nmessages. The bits of the trace mask correspond to the following\ntrace logging categories."],[1719,"Storm uses Zookeeper for coordinating the cluster ."],[850,"String representation of the znode ACL, e.g. cdrwa (create, delete, read, write, admin). Only logged for setAcl."],[916,"Strong Completeness: There is a time after which every process that crashes is permanently suspected by every correct process."],[1190,"struct ACL_vector ZOO_CREATOR_ALL_ACL; //(ZOO_PERM_ALL,ZOO_AUTH_IDS)"],[1188,"struct ACL_vector ZOO_OPEN_ACL_UNSAFE; //(ZOO_PERM_ALL,ZOO_ANYONE_ID_UNSAFE)"],[1189,"struct ACL_vector ZOO_READ_ACL_UNSAFE;// (ZOO_PERM_READ, ZOO_ANYONE_ID_UNSAFE)"],[1184,"struct Id ZOO_ANYONE_ID_UNSAFE; //(‘world’,’anyone’)"],[1185,"struct Id ZOO_AUTH_IDS;// (‘auth’,’’)"],[1986,"Sub-task"],[2004,"Sub-task"],[2012,"Sub-task"],[1854,"Summary"],[6,"Supervision"],[460,"Support Matrix"],[459,"Supported Platforms"],[1005,"Supported Snapshot Formats"],[942,"Suppose two dedicated hardware nodes, hw1 and hw2, host ZooKeeper instances zk1 and zk2 respectively, forming a cluster.\nA hardware device attached to both nodes can determine whether each is powered on.\nWhen hw1 is not powered on, zk1 is undoubtedly faulty.\nThe hardware device then updates the oracle file on hw2 to 1, authorizing zk2 to move the system forward."],[943,"Suppose two dedicated hardware nodes, hw1 and hw2, host ZooKeeper instances zk1 and zk2 respectively.\nTwo services, o1 on hw1 and o2 on hw2, detect whether the other node is alive (for example, by pinging).\nWhen o1 cannot ping hw2, it identifies hw2 as faulty and updates the oracle file of zk1 to 1, authorizing zk1 to move forward."],[923,"Suppose we have a Leader (Ben) and a Follower (John) in the broadcasting state:"],[935,"Suppose we have a Leader (Ben) and a Follower (John) in the broadcasting state:"],[918,"Suppose we have a Leader and a Follower running in the broadcasting state. The system will lose its liveness when:"],[570,"sync"],[1826,"sync : waits for data to be propagated"],[606,"Sync the data of a node between the leader and followers (asynchronous)."],[280,"Sync up between leader and follower: The lastProcessedZxid will not be serialized by\nleader and deserialized by follower in both new and old code. It will be set to the\nlastProcessedZxid sent from leader via QuorumPacket."],[205,"syncEnabled :\n(Java system property: zookeeper.observer.syncEnabled)\nNew in 3.4.6, 3.5.0:\nThe observers now log transaction and write snapshot to disk\nby default like the participants. This reduces the recovery time\nof the observers on restart. Set to \"false\" to disable this\nfeature. Default is \"true\""],[1217,"Synchronous calls may not return in the correct order. For\nexample, assume a client does the following processing: issues an\nasynchronous read of node /a with\nwatch set to true, and then in the completion\ncallback of the read it does a synchronous read of /a. (Maybe not good practice, but not illegal\neither, and it makes for a simple example.)\nNote that if there is a change to /a between the asynchronous read and the\nsynchronous read, the client library will receive the watch event\nsaying /a changed before the\nresponse for the synchronous read, but because of the completion\ncallback blocking the event queue, the synchronous read will\nreturn with the new value of /a\nbefore the watch event is processed."],[296,"syncLimit :\n(No Java system property)\nAmount of time, in ticks (see tickTime), to allow followers to sync\nwith ZooKeeper. If followers fall too far behind a leader, they\nwill be dropped."],[1087,"SyncPrimitive.Java"],[726,"Syntax error (BadArgumentsException)."],[458,"System Requirements"],[468,"System Requirements"],[939,"System start."],[133,"system_properties/sysp :\nAll defined system properties.\nReturns each as its own field."],[924,"T1 zxid(0x1_1): L-Ben fails, and F-John takes over under authorization from the Oracle."],[925,"T2 zxid(0x2_1): F-John becomes a new Leader (L-John) and starts a new epoch."],[926,"T3 zxid(0x2_A): L-John fails."],[927,"T4 zxid(0x2_A): Ben recovers and starts leader election."],[928,"T5 zxid(0x3_1): Ben becomes the new Leader (L-Ben) under authorization from the Oracle."],[989,"Take a snapshot of the latest database state using the snapshot admin server command, if\napplicable."],[1578,"Talend ESB"],[1646,"Talend ESB is a versatile and flexible, enterprise service bus."],[1760,"TANG, C., KOOBURAT, T., VENKATACHALAM, P.,CHANDER, A., WEN, Z., NARAYANAN, A., DOWELL,P., AND KARL, R. Holistic Configuration Management at Facebook. In Proceedings of the 25th Symposium on Operating System Principles (SOSP’15) (Monterey, CA,USA, Oct. 2015)."],[1990,"Task"],[1996,"Task"],[2002,"Task"],[2010,"Task"],[2018,"Task"],[308,"tcpKeepAlive :\n(Java system property: zookeeper.tcpKeepAlive)\nNew in 3.5.4:\nSetting this to true sets the TCP keepAlive flag on the\nsockets used by quorum members to perform elections.\nThis will allow for connections between quorum members to\nremain up when there is network infrastructure that may\notherwise break them. Some NATs and firewalls may terminate\nor lose state for long-running or idle connections.\nEnabling this option relies on OS level settings to work\nproperly, check your operating system's options regarding TCP\nkeepalive for more information. Defaults to\nfalse."],[952,"Terminate the instance that is either not attached to a USB device or whose mastership file contains 0. Two scenarios are expected:"],[1989,"Test"],[2001,"Test"],[2016,"Test"],[525,"Test your deployment by connecting to the hosts. In Java, you can run the following command to\nexecute simple operations:"],[1011,"Testing"],[1966,"That's it for now. To explore more, see the Zookeeper CLI."],[1549,"That's not all, though. It is important to watch for failures of the\nleader, so that a new client arises as the new leader in the case the\ncurrent leader fails. A trivial solution is to have all application\nprocesses watching upon the current smallest znode, and checking if they\nare the new leader when the smallest znode goes away (note that the\nsmallest znode will go away if the leader fails because the node is\nephemeral). But this causes a herd effect: upon a failure of the current\nleader, all other processes receive a notification, and execute\ngetChildren on \"/election\" to obtain the current list of children of\n\"/election\". If the number of clients is large, it causes a spike on the\nnumber of operations that ZooKeeper servers have to process. To avoid the\nherd effect, it is sufficient to watch for the next znode down on the\nsequence of znodes. If a client receives a notification that the znode it\nis watching is gone, then it becomes the new leader in the case that there\nis no smaller znode. Note that this avoids the herd effect by not having\nall clients watching the same znode."],[1309,"The \".\" character can be used as part of another name, but \".\"\nand \"..\" cannot alone be used to indicate a node along a path,\nbecause ZooKeeper doesn't use relative paths. The following would be\ninvalid: \"/a/b/./c\" or \"/a/b/../c\"."],[1834,"The \"ZooKeeper Throughput as the Read-Write Ratio Varies\" is a throughput\ngraph of ZooKeeper release 3.2 running on servers with dual 2Ghz\nXeon and two SATA 15K RPM drives. One drive was used as a\ndedicated ZooKeeper log device. The snapshots were written to\nthe OS drive. Write requests were 1K writes and the reads were\n1K reads. \"Servers\" indicate the size of the ZooKeeper\nensemble, the number of servers that make up the\nservice. Approximately 30 other servers were used to simulate\nthe clients. The ZooKeeper ensemble was configured such that\nleaders do not allow connections from clients."],[965,"The above command gives you a command line option of using quotas."],[1094,"the address of a ZooKeeper server (e.g., \"zoo1.foo.com:2181\")"],[1123,"the address of the ZooKeeper service"],[55,"The AdminServer"],[103,"The AdminServer is enabled by default, but can be disabled by either:"],[1720,"The AGETO RnD team uses ZooKeeper in a variety of internal as well as external consulting projects ."],[1676,"The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across\nclusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines,\neach offering local computation and storage. Rather than rely on hardware to deliver high-availability,\nthe library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures."],[1692,"The Apache Hive data warehouse software facilitates reading, writing, and managing large datasets residing in distributed\nstorage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive."],[1696,"The Apache James Mailbox is a library providing a flexible Mailbox storage accessible by mail protocols\n(IMAP4, POP3, SMTP,...) and other protocols."],[1399,"The application calls an operation on a session that is no\nlonger alive/valid"],[1194,"The application uses the zoo_add_auth function to\nauthenticate itself to the server. The function can be called\nmultiple times if the application wants to authenticate using\ndifferent schemes and/or identities."],[834,"The audit log captures detailed information for audited operations, written as key=value pairs:"],[844,"The audited operation. Possible values: serverStart, serverStop, create, delete, setData, setAcl, multiOperation, reconfig, ephemeralZNodeDeleteOnSessionClose."],[1368,"The authentication plugin is involved in both setting and using ACLs. When an\nACL is set for a znode, the ZooKeeper server will pass the id part of the entry to\nthe isValid(String id) method. It is up to the plugin to verify\nthat the id has a correct form. For example, ip:172.16.0.0/16\nis a valid id, but ip:host.com is not. If the new ACL includes\nan \"auth\" entry, isAuthenticated is used to see if the\nauthentication information for this scheme that is associated with the connection\nshould be added to the ACL. Some schemes\nshould not be included in auth. For example, the IP address of the client is not\nconsidered as an id that should be added to the ACL if auth is specified."],[1889,"The basic rules of operation during leader activation are:"],[1239,"The C binding has a single-threaded and multi-threaded library.\nThe multi-threaded library is easiest to use and is most similar to the\nJava API. This library will create an IO thread and an event dispatch\nthread for handling connection maintenance and callbacks. The\nsingle-threaded library allows ZooKeeper to be used in event driven\napplications by exposing the event loop used in the multi-threaded\nlibrary."],[1140,"The call to ZooKeeper.exists() checks for the existence of the znode,\nsets a watch, and passes a reference to itself (this)\nas the completion callback object. In this sense, it kicks things off, since the\nreal processing happens when the watch is triggered."],[748,"The class org.apache.zookeeper.server.quorum.QuorumPeerMain\nwill start a JMX manageable ZooKeeper server. This class\nregisters the proper MBeans during initialization to support JMX\nmonitoring and management of the instance. See bin/zkServer.sh for one\nexample of starting ZooKeeper using QuorumPeerMain."],[1514,"The client calls exists( ) with\nthe watch flag set on the path in the lock directory with the next\nlowest sequence number."],[1121,"The client has four requirements:"],[1146,"The code first checks the error codes for znode existence, fatal errors, and\nrecoverable errors. If the file (or znode) exists, it gets the data from the znode, and\nthen invoke the exists() callback of Executor if the state has changed. Note,\nit doesn't have to do any Exception processing for the getData call because it\nhas watches pending for anything that could cause an error: if the node is deleted\nbefore it calls ZooKeeper.getData(), the watch event set by\nthe ZooKeeper.exists() triggers a callback;\nif there is a communication error, a connection watch event fires when\nthe connection comes back up."],[22,"the command port through the use of 4 letter words"],[662,"The configuration files on each server will be automatically split into\ndynamic and static files if they are not already in this format. The\nconfiguration above will be automatically transformed into the two files in\nExample 1. Note that the clientPort and clientPortAddress lines (if\nspecified) will be automatically removed during this process if they are\nredundant (as in the example above). The original static configuration file\nis backed up (as a .bak file)."],[185,"The configuration settings in the section are optional. You can\nuse them to further fine tune the behaviour of your ZooKeeper servers.\nSome can also be set using Java system properties, generally of the\nform zookeeper.keyword. The exact system\nproperty, when available, is noted below."],[1906,"The consistency guarantees of ZooKeeper lie between\nsequential consistency and linearizability."],[1097,"The constructor of Barrier passes the address of the Zookeeper server to the\nconstructor of the parent class. The parent class creates a ZooKeeper instance if\none does not exist. The constructor of Barrier then creates a\nbarrier node on ZooKeeper, which is the parent node of all process nodes, and\nwe call root (Note: This is not the ZooKeeper root \"/\")."],[1164,"The CREATE\nand DELETE permissions have been broken out\nof the WRITE permission for finer grained\naccess controls. The cases for CREATE\nand DELETE are the following:"],[438,"The Data Directory"],[1435,"The data for which the watch was\nset\nThis refers to the different ways a node can change. It\nhelps to think of ZooKeeper as maintaining two lists of\nwatches: data watches and child watches. getData() and\nexists() set data watches. getChildren() sets child\nwatches. Alternatively, it may help to think of watches being\nset according to the kind of data returned. getData() and\nexists() return information about the data of the node,\nwhereas getChildren() returns a list of children. Thus,\nsetData() will trigger data watches for the znode being set\n(assuming the set is successful). A successful create() will\ntrigger a data watch for the znode being created and a child\nwatch for the parent znode. A successful delete() will trigger\nboth a data watch and a child watch (since there can be no\nmore children) for a znode being deleted as well as a child\nwatch for the parent znode."],[1316,"The data stored at each znode in a namespace is read and written\natomically. Reads get all the data bytes associated with a znode and a\nwrite replaces all the data. Each node has an Access Control List\n(ACL) that restricts who can do what."],[1809,"The data stored at each znode in a namespace is read and written\natomically. Reads get all the data bytes associated with a znode and a\nwrite replaces all the data. Each node has an Access Control List (ACL)\nthat restricts who can do what."],[454,"The data stored in these files is not encrypted. In the case of storing\nsensitive data in ZooKeeper, necessary measures need to be taken to prevent\nunauthorized access. Such measures are external to ZooKeeper (e.g., control\naccess to the files) and depend on the individual settings in which it is\nbeing deployed."],[1116,"The DataMonitor Class"],[1139,"The DataMonitor class has the meat of the ZooKeeper logic. It is mostly\nasynchronous and event driven. DataMonitor kicks things off in the constructor with:"],[1134,"The DataMonitorListener\ninterface, on the other hand, is not part of the ZooKeeper API. It is a completely custom interface,\ndesigned for this sample application. The DataMonitor object uses it to communicate back to its container, which\nis also the Executor object. The DataMonitorListener interface looks like this:"],[934,"The decisions the Oracle gives out must be mutually exclusive."],[1022,"The default behavior is safe — it dumps the entries of the given transaction log file\nto the screen (same as -d,--dump):"],[409,"The default values are aimed at maximizing read throughput on a dedicated ZooKeeper machine.\nBoth subsystems need to have sufficient amount of threads to achieve peak read throughput."],[1656,"The Distributed OSGi implementation at Apache CXF uses ZooKeeper for its Discovery functionality ."],[1939,"The document is aimed primarily at developers hoping to try it out, and\ncontains simple installation instructions for a single ZooKeeper server, a\nfew commands to verify that it is running, and a simple programming\nexample. Finally, as a convenience, there are a few sections regarding\nmore complicated installations, for example running replicated\ndeployments, and optimizing the transaction log. However for the complete\ninstructions for commercial deployments, please refer to the ZooKeeper\nAdministrator's Guide."],[678,"The dynamic configuration is stored in a special znode\nZooDefs.CONFIG_NODE = /zookeeper/config. The config CLI command reads\nthis znode (it is essentially a wrapper around get /zookeeper/config). As\nwith normal reads, to retrieve the latest committed value you should do a\nsync first."],[1629,"The Eclipse ECF project provides an implementation of its Abstract Discovery services using Zookeeper. ECF itself\nis used in many projects providing base functionality for communication, all based on OSGi ."],[1630,"The Eclipse Gyrex project provides a platform for building your own Java OSGi based clouds."],[1732,"The Email & Apps team uses ZooKeeper to coordinate sharding and responsibility changes in a distributed e-mail client\nthat pulls and indexes data for search. ZooKeeper also provides distributed locking for connections to prevent a cluster from overwhelming servers ."],[1975,"The entries of the form server.X list the\nservers that make up the ZooKeeper service. When the server starts up,\nit knows which server it is by looking for the file\nmyid in the data directory. That file has the\ncontains the server number, in ASCII."],[1115,"The Executor Class"],[1131,"The Executor object is the primary container of the sample application. It contains\nboth the ZooKeeper object, DataMonitor, as described above in\nProgram Design."],[1353,"The first four sections of this guide present a higher level\ndiscussions of various ZooKeeper concepts. These are necessary both for an\nunderstanding of how ZooKeeper works as well how to work with it. It does\nnot contain source code, but it does assume a familiarity with the\nproblems associated with distributed computing."],[1366,"The first method getScheme returns the string\nthat identifies the plugin. Because we support multiple methods of authentication,\nan authentication credential or an idspec will always be\nprefixed with scheme:. The ZooKeeper server uses the scheme\nreturned by the authentication plugin to determine which ids the scheme\napplies to."],[471,"The first two sections assume you are interested in installing\nZooKeeper in a production environment such as a datacenter. The final\nsection covers situations in which you are setting up ZooKeeper on a\nlimited basis - for evaluation, testing, or development - but not in a\nproduction environment."],[945,"The following 6 steps demonstrate how this works:"],[1183,"The following are the standard ACL IDs:"],[1308,"The following characters are not allowed: \\ud800 - uF8FF,\n\\uFFF0 - uFFFF."],[1306,"The following characters can't be used because they don't\ndisplay well, or render in confusing ways: \\u0001 - \\u001F and \\u007F"],[1176,"The following constants are provided by the ZooKeeper C\nlibrary:"],[903,"The following example shows how to configure a system with three groups of three servers\neach, and we assign a weight of 1 to each server:"],[1102,"The following excerpt of code corresponds to the constructor of the object. As\nwith Barrier objects, it first calls the constructor of the parent class, SyncPrimitive,\nthat creates a ZooKeeper object if one doesn't exist. It then verifies if the root\nnode of the queue exists, and creates if it doesn't."],[825,"The following is a reference alerting rules file for common ZooKeeper metrics. Adjust\nthresholds to match your environment."],[1219,"The following list contains configuration properties for the Java client. You can set any\nof these properties using Java system properties. For server properties, please check the\nServer configuration section of the Admin Guide.\nThe ZooKeeper Wiki also has useful pages about\nZooKeeper SSL support,\nand SASL authentication for ZooKeeper."],[477,"The following matrix describes the level of support committed for\nrunning each component on different operating system platforms."],[386,"The following options can be useful, but be careful when you use\nthem. The risk of each is explained along with the explanation of what\nthe variable does."],[1192,"The following ZooKeeper operations deal with ACLs:"],[450,"The format of snapshot and log files does not change between\nstandalone ZooKeeper servers and different configurations of\nreplicated ZooKeeper servers. Therefore, you can pull these files from\na running replicated ZooKeeper server to a development machine with a\nstand-alone ZooKeeper server for troubleshooting."],[709,"The format of the server statement is exactly as described in\nSpecifying the Client Port and includes the client\nport. Note that 5= can be used as a shorthand for server.5=. In the example\nabove, if server 5 is already in the system with different ports or is not an\nobserver, it is updated — once the configuration commits it becomes an observer\nusing the new ports. This is an easy way to turn participants into observers and\nvice versa, or change any ports, without rebooting the server."],[54,"The Four Letter Words"],[812,"The HTTP port for Prometheus metrics scraping can be configured with (default is 7000):"],[245,"The idea is simple, the hash value of DataTree will be updated incrementally\nbased on the changes to the set of data. When the leader is preparing the txn,\nit will pre-calculate the hash of the tree based on the changes happened with\nformula:"],[1677,"The implementation of automatic HDFS failover relies on ZooKeeper for the following things:"],[889,"The Implementation of the Oracle"],[285,"The implementations of leader election 1, and 2 were deprecated in\n3.4.0. Since 3.6.0 only FastLeaderElection is available, in case of upgrade\nyou have to shut down all of your servers and restart them with\nelectionAlg=3 (or by removing the line from the configuration file)."],[707,"The incremental mode allows adding and removing servers from the current\nconfiguration. Multiple changes are allowed at once. For example:"],[691,"The initial configuration of each joiner consists of servers in the last committed\nconfiguration plus the joiner itself, listed as a participant. For example,\nto add a new server D to (A, B, C), start D with an initial config consisting of\n(A, B, C, D). If both D and E are added at the same time, D's initial config\ncould be (A, B, C, D) and E's could be (A, B, C, E). Never list more than one\njoiner as participant in the initial configuration (see warning below)."],[690,"The initial configuration of joiners consists of servers in the last committed\nconfiguration plus one or more joiners, where joiners are listed as observers.\nFor example, if servers D and E are added at the same time to (A, B, C) and C\nis being removed, D's initial config could be (A, B, C, D) or (A, B, C, D, E)\nwith D and E listed as observers. Note that listing joiners as observers does\nnot actually make them observers — it only prevents them from accidentally\nforming a quorum with other joiners. Instead, they contact the servers in the\ncurrent configuration and adopt the last committed configuration (A, B, C).\nConfiguration files of joiners are backed up and replaced automatically.\nAfter connecting to the current leader, joiners become non-voting followers until\nthe system is reconfigured and they are added to the ensemble."],[750,"The Java JDK ships with a simple JMX console\nnamed jconsole\nwhich can be used to connect to ZooKeeper and inspect a running\nserver. Once you've started ZooKeeper using QuorumPeerMain,\nstart jconsole, which typically resides in JDK_HOME/bin/jconsole."],[919,"The Leader fails, but the Oracle does not detect the faulty Leader — the Oracle will not authorize the Follower to become a new Leader."],[1883,"The leader has seen the highest zxid of all the followers."],[1899,"The leader sends proposals to all followers using the same order. Moreover, this order follows the order in which requests were received. Because we use FIFO channels this means that followers also receive proposals in order."],[1901,"The leader will issue a COMMIT to all followers as soon as a quorum of followers have ACKed a message. Since messages are ACKed in order, COMMITs will be sent by the leader and received by the followers in order."],[1347,"The list of ZooKeeper servers used by the client must match the\nlist of ZooKeeper servers that each ZooKeeper server has. Things can\nwork, although not optimally, if the client list is a subset of the\nreal list of ZooKeeper servers, but not if the client lists ZooKeeper\nservers not in the ZooKeeper cluster."],[380,"The list on Java 8 includes TLSv1.2 CBC, GCM and TLSv1.3 ciphers in ordering: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256"],[381,"The list on Java 9+ includes TLSv1.2 GCM, CBC and TLSv1.3 ciphers in ordering: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256"],[439,"The Log Directory"],[449,"The Log Directory contains the ZooKeeper transaction logs.\nBefore any update takes place, ZooKeeper ensures that the transaction\nthat represents the update is written to non-volatile storage. A new\nlog file is started when the number of transactions written to the\ncurrent log file reaches a (variable) threshold. The threshold is\ncomputed using the same parameter which influences the frequency of\nsnapshotting (see snapCount and snapSizeLimitInKb above). The log file's\nsuffix is the first zxid written to that log."],[1213,"The main class used by a ZooKeeper Java client is the ZooKeeper class. Its two constructors differ only\nby an optional session id and password. ZooKeeper supports session\nrecovery across instances of a process. A Java program may save its\nsession id and password to stable storage, restart, and recover the\nsession that was used by the earlier instance of the program."],[700,"The most significant disruption occurs when a leader change is triggered, in the\nfollowing cases:"],[521,"The myid file consists of a single line containing only the text of that machine's id. So\nmyid of server 1 would contain the text \"1\" and nothing else. The id must be unique within\nthe ensemble and should have a value between 1 and 255. IMPORTANT: if you enable extended\nfeatures such as TTL Nodes (see below) the id must be between 1 and 254 due to internal\nlimitations."],[1125,"the name of a file to write the output to"],[1124,"the name of a znode - the one to be watched"],[1806,"The namespace provided by ZooKeeper is much like that of a\nstandard file system. A name is a sequence of path elements separated by\na slash (/). Every node in ZooKeeper's namespace is identified by a\npath."],[715,"The new configuration may use a different Quorum System. For example, you may\nspecify a Hierarchical Quorum System even if the current ensemble uses a Majority\nQuorum System."],[1973,"The new entry, initLimit is\ntimeouts ZooKeeper uses to limit the length of time the ZooKeeper\nservers in quorum have to connect to a leader. The entry syncLimit limits how far out of date a server can\nbe from a leader."],[809,"The New Metrics System has been available since 3.6.0. It provides rich metrics covering\nznodes, network, disk, quorum, leader election, clients, security, failures, watches/sessions,\nrequest processors, and more."],[1354,"The next four sections provide practical programming\ninformation."],[713,"The non-incremental mode accepts a complete specification of the new dynamic\nconfiguration. The new configuration can be given inline or read from a file:"],[1305,"The null character (\\u0000) cannot be part of a path name. (This\ncauses problems with the C binding.)"],[663,"The old configuration format is still supported. For example, the\nfollowing configuration file is acceptable (but not recommended):"],[1709,"the Oozie servers use it for coordinating access to the database and communicating with each other. In order to have full HA,\nthere should be at least 3 ZooKeeper servers ."],[314,"The options in this section allow control over\nencryption/authentication/authorization performed by the service."],[282,"The options in this section are designed for use with an ensemble\nof servers — that is, when deploying clusters of servers."],[911,"The oracle file should contain 1 to authorize the instance, or 0 to deny it. An example file can be created with:"],[907,"The Oracle is designed to increase the availability of a cluster of 2 ZooKeeper instances; thus, the size of the voting member is 2.\nIn other words, the Oracle solves the consensus problem of a possible faulty instance in a two-instance ensemble."],[1452,"The order of watch events from ZooKeeper corresponds to the\norder of the updates as seen by the ZooKeeper service."],[74,"The output is compatible with java properties format and the content\nmay change over time (new keys added). Your scripts should expect changes.\nATTENTION: Some of the keys are platform specific and some of the keys are only exported by the Leader.\nThe output contains multiple lines with the following format:"],[1240,"The package includes two shared libraries: zookeeperst and\nzookeeper_mt. The former only provides the asynchronous APIs and\ncallbacks for integrating into the application's event loop. The only\nreason this library exists is to support the platforms were a\n_pthread library is not available or is unstable\n(i.e. FreeBSD 4.x). In all other cases, application developers should\nlink with zookeeper_mt, as it includes support for both Sync and Async\nAPI."],[948,"The path /Volumes/Oracle/mastership is now accessible to ZooKeeper instances."],[1095,"the path of the barrier node on ZooKeeper (e.g., \"/b1\")"],[1412,"The pings, expiration and other session state maintenance are handled by the server which current session is connected to."],[703,"The port used by the leader to send transactions to others (quorum port) is modified."],[1837,"the previous 3.1 release."],[1832,"The programming interface to ZooKeeper is deliberately simple.\nWith it, however, you can implement higher order operations, such as\nsynchronizations primitives, group membership, ownership, etc."],[722,"The proposed change would leave fewer than 2 participants and standalone mode\nis enabled, or, if standalone mode is disabled, fewer than 1 participant would\nremain (BadArgumentsException)."],[1485,"The pseudo code in this recipe represents the barrier node as\nb. Every client process p\nregisters with the barrier node on entry and unregisters when it is\nready to leave. A node registers with the barrier node via the Enter procedure below, it waits until\nx client process register before proceeding with\nthe computation. (The x here is up to you to\ndetermine for your system.)"],[14,"The PurgeTxnLog utility implements a simple retention\npolicy that administrators can use. The API docs contains details on\ncalling conventions (arguments, etc...)."],[954,"The quorum is maintained via the Oracle."],[973,"The quota supports soft and hard quotas. The soft quota just logs a warning when exceeding the quota,\nbut the hard quota also throws a QuotaExceededException. When setting soft and hard quota on the same\npath, the hard quota has priority."],[615,"The reconfigEnabled Flag"],[529,"The reliability of ZooKeeper rests on two basic assumptions."],[1518,"The removal of a node will only cause one client to wake up\nsince each node is watched by exactly one client. In this way, you\navoid the herd effect."],[1828,"The replicated database is an in-memory database containing the\nentire data tree. Updates are logged to disk for recoverability, and\nwrites are serialized to disk before they are applied to the in-memory\ndatabase."],[1972,"The required\nconf/zoo.cfg\nfile for replicated mode is similar to the one used in standalone\nmode, but with a few differences. Here is an example:"],[256,"The scenarios of rolling restart with flags change are similar to the 1st and 2nd\nscenarios discussed above, if the leader enabled but follower not, digest value will\nbe ignored, and follower won't compare the digest during runtime; if leader disabled\nbut follower enabled, follower will get EOF exception which is handled gracefully."],[969,"The scope of the quota users set is all the nodes under the path specified (included itself)."],[532,"The sections below contain considerations for ZooKeeper\nadministrators to maximize the probability for these assumptions\nto hold true. Some of these are cross-machines considerations,\nand others are things you should consider for each and every\nmachine in your deployment."],[1802,"The servers that make up the ZooKeeper service must all know about\neach other. They maintain an in-memory image of state, along with a\ntransaction logs and snapshots in a persistent store. As long as a\nmajority of the servers are available, the ZooKeeper service will be\navailable."],[1397,"The session is kept alive by requests sent by the client. If\nthe session is idle for a period of time that would timeout the\nsession, the client will send a PING request to keep the session\nalive. This PING request not only allows the ZooKeeper server to\nknow that the client is still active, but it also allows the\nclient to verify that its connection to the ZooKeeper server is\nstill active. The timing of the PING is conservative enough to\nensure reasonable time to detect a dead connection and reconnect\nto a new server."],[1096,"the size of the group of processes"],[448,"The snapshot files stored in the data\ndirectory are fuzzy snapshots in the sense that during the time the\nZooKeeper server is taking the snapshot, updates are occurring to the\ndata tree. The suffix of the snapshot file names\nis the zxid, the ZooKeeper transaction id, of the\nlast committed transaction at the start of the snapshot. Thus, the\nsnapshot includes a subset of the updates to the data tree that\noccurred while the snapshot was in process. The snapshot, then, may\nnot correspond to any data tree that actually existed, and for this\nreason we refer to it as a fuzzy snapshot. Still, ZooKeeper can\nrecover using this snapshot because it takes advantage of the\nidempotent nature of its updates. By replaying the transaction log\nagainst fuzzy snapshots ZooKeeper gets the state of the system at the\nend of the log."],[1863,"The specific guarantees provided by the ZooKeeper messaging system are:"],[614,"The standaloneEnabled Flag"],[1330,"The Stat structure for each znode in ZooKeeper is made up of the\nfollowing fields:"],[1016,"The status command establishes a client connection to execute diagnostic commands.\nWhen the ZooKeeper cluster is started in TLS-only mode (by omitting clientPort from\nzoo.cfg), additional SSL configuration must be provided:"],[1951,"The steps outlined here run ZooKeeper in standalone mode. There is\nno replication, so if ZooKeeper process fails, the service will go down.\nThis is fine for most development situations, but to run ZooKeeper in\nreplicated mode, please see Running Replicated\nZooKeeper."],[527,"The steps to setting up a single server instance are the similar\nto the above, except the configuration file is simpler. You can find the\ncomplete instructions in the Installing and\nRunning ZooKeeper in Single Server Mode section of the ZooKeeper Getting Started\nGuide."],[1310,"The token \"zookeeper\" is reserved."],[1050,"The tool exits interactive mode automatically when all layers are compared, or press ^C to exit at any time."],[1143,"The triggering of the watch, on the other hand, sends an event to the Executor object, since\nthe Executor registered as the Watcher of the ZooKeeper object."],[1516,"The unlock protocol is very simple: clients wishing to release a\nlock simply delete the node they created in step 1."],[1133,"The Watcher interface is defined by the ZooKeeper Java API.\nZooKeeper uses it to communicate back to its container. It supports only one method, process(),\nand ZooKeeper uses it to communicates generic events that the main thread would be interested in,\nsuch as the state of the ZooKeeper connection or the ZooKeeper session. The Executor in this example simply\nforwards those events down to the DataMonitor to decide what to do with them. It does this simply to illustrate\nthe point that, by convention, the Executor or some Executor-like object \"owns\" the ZooKeeper connection, but it is\nfree to delegate the events to other events to other objects. It also uses this as the default channel on which\nto fire watch events. (More on this later.)"],[1680,"The ZKFailoverController (ZKFC) is a new component which is a ZooKeeper client which also monitors and manages the state of the NameNode.\nEach of the machines which runs a NameNode also runs a ZKFC, and that ZKFC is responsible for:"],[1400,"The ZooKeeper client disconnects from a server when there\nare pending operations to that server, i.e., there is a pending asynchronous call."],[1211,"The ZooKeeper client libraries come in two languages: Java and C.\nThe following sections describe these."],[12,"The ZooKeeper Data\nDirectory contains files which are a persistent copy\nof the znodes stored by a particular serving ensemble. These\nare the snapshot and transactional log files. As changes are\nmade to the znodes these changes are appended to a\ntransaction log. Occasionally, when a log grows large, a\nsnapshot of the current state of all znodes will be written\nto the filesystem and a new transaction log file is created\nfor future transactions. During snapshotting, ZooKeeper may\ncontinue appending incoming transactions to the old log file.\nTherefore, some transactions which are newer than a snapshot\nmay be found in the last transaction log preceding the\nsnapshot."],[26,"The ZooKeeper default logback.xml\nfile resides in the conf directory. Logback requires that\nlogback.xml either be in the working directory\n(the directory from which ZooKeeper is run) or be accessible from the classpath."],[1800,"The ZooKeeper implementation puts a premium on high performance,\nhighly available, strictly ordered access. The performance aspects of\nZooKeeper means it can be used in large, distributed systems. The\nreliability aspects keep it from being a single point of failure. The\nstrict ordering means that sophisticated synchronization primitives can\nbe implemented at the client."],[668,"The ZooKeeper Java and C APIs were extended with getConfig and reconfig\ncommands that facilitate reconfiguration. Both commands have a synchronous\n(blocking) variant and an asynchronous one. The examples below use the Java\nCLI, but you can similarly use the C CLI or invoke the commands directly from\na program just like any other ZooKeeper command."],[1867,"The ZooKeeper messaging system also needs to be efficient, reliable, and easy to\nimplement and maintain. We make heavy use of messaging, so we need the system to\nbe able to handle thousands of requests per second. Although we can require at\nleast k+1 correct servers to send new messages, we must be able to recover from\ncorrelated failures such as power outages. When we implemented the system we had\nlittle time and few engineering resources, so we needed a protocol that is\naccessible to engineers and is easy to implement. We found that our protocol\nsatisfied all of these goals."],[1796,"The ZooKeeper Project"],[967,"The ZooKeeper quota is stored in ZooKeeper itself in /zookeeper/quota. To disable other people from\nchanging the quotas, users can set the ACL for /zookeeper/quota so that only admins are able to read and write to it."],[452,"The ZooKeeper server creates snapshot and log files, but\nnever deletes them. The retention policy of the data and log\nfiles is implemented outside of the ZooKeeper server. The\nserver itself only needs the latest complete fuzzy snapshot, all log\nfiles following it, and the last log file preceding it. The latter\nrequirement is necessary to include updates which happened after this\nsnapshot was started but went into the existing log file at that time.\nThis is possible because snapshotting and rolling over of logs\nproceed somewhat independently in ZooKeeper. See the\nmaintenance section\nfor more details on setting a retention policy\nand maintenance of ZooKeeper storage."],[21,"The ZooKeeper service can be monitored in one of three primary ways:"],[1191,"The ZOOOPEN_ACL_UNSAFE is completely open free for all\nACL: any application can execute any operation on the node and\ncan create, list and delete its children. The\nZOO_READ_ACL_UNSAFE is read-only access for any\napplication. CREATE_ALL_ACL grants all permissions to the\ncreator of the node. The creator must have been authenticated by\nthe server (for example, using “_digest”\nscheme) before it can create nodes with this ACL."],[1877,"The zxid has two parts: the epoch and a counter. In our implementation the zxid\nis a 64-bit number. We use the high order 32-bits for the epoch and the low order\n32-bits for the counter. Because a zxid consists of two parts, it can be represented both as a\nnumber and as a pair of integers, (epoch, count). The epoch number represents a\nchange in leadership. Each time a new leader comes into power it will have its\nown epoch number. We have a simple algorithm to assign a unique zxid to a proposal:\nthe leader simply increments the zxid to obtain a unique zxid for each proposal.\nLeadership activation will ensure that only one leader uses a given epoch, so our\nsimple algorithm guarantees that every proposal will have a unique id."],[1981,"There are a couple of other configuration parameters that can\ngreatly increase performance:"],[1845,"There are a few important observations from this graph. First, if\nfollowers fail and recover quickly, then ZooKeeper is able to sustain a\nhigh throughput despite the failure. But maybe more importantly, the\nleader election algorithm allows for the system to recover fast enough\nto prevent throughput from dropping substantially. In our observations,\nZooKeeper takes less than 200ms to elect a new leader. Third, as\nfollowers recover, ZooKeeper is able to raise throughput again once they\nstart processing requests."],[749,"There are a number of JMX consoles available which can connect\nto the running server. For this example we will use Sun's jconsole."],[856,"There are four built-in authentication providers:"],[1475,"There are many useful functions that can be imagined that aren't\nincluded here - revocable read-write priority locks, as just one example.\nAnd some of the constructs mentioned here - locks, in particular -\nillustrate certain points, even though you may find other constructs, such\nas event handles or queues, a more practical means of performing the same\nfunction. In general, the examples in this section are designed to\nstimulate thought."],[1917,"There are several log levels in slf4j, in order of decreasing severity:"],[1370,"There are two built in authentication plugins: ip and\ndigest. Additional plugins can adding using system properties. At\nstartup the ZooKeeper server will look for system properties that start with\n\"zookeeper.authProvider.\" and interpret the value of those properties as the class name\nof an authentication plugin. These properties can be set using the\n-Dzookeeper.authProvider.X=com.f.MyAuth or adding entries such as\nthe following in the server configuration file:"],[1545,"There are two important drawbacks of the approach described above.\nOne is the message complexity, which is O(n²). The second is the\nimpossibility of detecting failures of sites through ephemeral nodes. To\ndetect the failure of a site using ephemeral nodes, it is necessary that\nthe site create the node."],[1212,"There are two packages that make up the ZooKeeper Java binding:\norg.apache.zookeeper and org.apache.zookeeper.data. The rest of the\npackages that make up ZooKeeper are used internally or are part of the\nserver implementation. The org.apache.zookeeper.data package is made up of\ngenerated classes that are used simply as containers."],[669,"There are two sets of APIs for both Java and C clients."],[1887,"There is a corner case in which a follower that has proposals, U, not seen\nby a leader arrives. Proposals are seen in order, so the proposals of U will have zxids\nhigher than zxids seen by the leader. The follower must have arrived after the\nleader election, otherwise the follower would have been elected leader given that\nit has seen a higher zxid. Since committed proposals must be seen by a quorum of\nservers, and a quorum of servers that elected the leader did not see U, the proposals\nof U have not been committed, so they can be discarded. When the follower connects\nto the leader, the leader will tell the follower to discard U."],[717,"There is also an asynchronous API, and an API accepting a comma-separated String\ncontaining the new members instead of List. See\nsrc/java/main/org/apache/zookeeper/ZooKeeper.java."],[712,"There is also an asynchronous API, and an API accepting comma-separated Strings\ninstead of List. See\nsrc/java/main/org/apache/zookeeper/ZooKeeper.java."],[1519,"There is no polling or timeouts."],[1509,"There now exists a Lock implementation in ZooKeeper recipes directory. This is\ndistributed with the release -- zookeeper-recipes/zookeeper-recipes-lock\ndirectory of the release artifact."],[1505,"There now exists a Queue implementation in ZooKeeper recipes directory. This\nis distributed with the release -- zookeeper-recipes/zookeeper-recipes-queue\ndirectory of the release artifact."],[249,"These digest value will also be persisted with each txn and snapshot on the disk,\nso when servers restarted and load data from disk, it will compare and see if\nthere is hash mismatch, which will help detect data loss issue on disk."],[984,"They are rate-limited to protect the server from being overloaded."],[983,"They operate on the connected server via Admin Server APIs."],[985,"They require authentication and authorization on the root path with ALL permission. The supported\nauth schemes are digest, x509, and IP."],[43,"Things to Avoid"],[1431,"Things to Remember about Watches"],[2040,"This can be resolved by specifying compatible slf4j and logback versions in classpath, say, slf4j-api:2.0.13 and logback-classic:1.3.15."],[334,"This configuration is shorthand for enforce.auth.enabled=true and enforce.auth.scheme=sasl"],[2037,"This could cause slf4j to complain \"No SLF4J providers were found\" and output no further logs in certain conditions:"],[443,"This directory has two or three files in it:"],[746,"This document assumes that you have basic knowledge of\nJMX. See the Sun JMX Technology page to get started with JMX."],[1929,"This document contains information to get you started quickly with ZooKeeper."],[1849,"This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions."],[902,"This document gives an example of how to use hierarchical quorums. The basic idea is\nvery simple. First, we split servers into groups, and add a line for each group listing\nthe servers that form this group. Next we have to assign a weight to each server."],[1351,"This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information."],[541,"This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting."],[636,"This document provides the administrator manual for reconfiguration.\nFor a detailed description of the reconfiguration algorithms, performance\nmeasurements, and more, see:"],[881,"This feature is activated by adding the following entry to the server config\nfile. It instructs Observers to connect to peers (Leaders and Followers) on\nthe specified port, and instructs Followers to create an ObserverMaster thread\nto listen and serve on that port:"],[251,"This feature is backward and forward compatible, so it can safely roll upgrade,\ndowngrade, enabled and later disabled without any compatible issue. Here are the\nscenarios have been covered and tested:"],[276,"This feature is backward and forward compatible. Here are the different scenarios."],[336,"This feature overrules the zookeeper.allowSaslFailedClients option, so even if server is\nconfigured to allow clients that fail SASL authentication to login, client will not be able to\nestablish a session with server if this feature is enabled."],[1945,"This file can be called anything, but for the sake of this\ndiscussion call\nit conf/zoo.cfg. Change the\nvalue of dataDir to specify an\nexisting (empty to start with) directory. Here are the meanings\nfor each of the fields:"],[1200,"This function replaces node’s ACL list with a new one. The\nnode must have the ADMIN permission set."],[248,"This hash will be associated with each txn to represent the expected hash value\nafter applying the txn to the data tree, it will be sent to followers with\noriginal proposals. Learner will compare the actual hash value with the one in\nthe txn after applying the txn to the data tree, and report mismatch if it’s not\nthe same."],[1135,"This interface is defined in the DataMonitor class and implemented in the Executor class.\nWhen Executor.exists() is invoked, the Executor decides whether to start up or shut down per the requirements.\nRecall that the requires say to kill the executable when the znode ceases to exist."],[1203,"This is a very simple example which is intended to show how to interact with\nZooKeeper ACLs specifically. See\n.../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example of a\nC client implementation"],[393,"This is really a sanity check. ZooKeeper is designed to store data on the order of kilobytes in size.\nIn the production environment, increasing this property to exceed the default value is not recommended for the following reasons:"],[1955,"This lets you perform simple, file-like operations."],[1198,"This operation returns a node’s ACL info. The node must have READ or ADMIN\npermission set. Without ADMIN permission, the digest hash values will be masked out."],[389,"This option can only be set as a Java system property.\nThere is no zookeeper prefix on it. It specifies the maximum\nsize of the data that can be stored in a znode. The unit is: byte. The default is\n0xfffff(1048575) bytes, or just under 1M."],[374,"This parameter has no effect, unless you enable the MultiAddress feature by setting multiAddress.enabled=true."],[401,"This parameter has no effect, unless you enable the MultiAddress feature by setting multiAddress.enabled=true."],[467,"This section contains information about deploying Zookeeper and\ncovers these topics:"],[1261,"This section surveys all the operations a developer can perform\nagainst a ZooKeeper server. It is lower level information than the earlier\nconcepts chapters in this manual, but higher level than the ZooKeeper API\nReference."],[756,"This table details JMX for a server participating in a\nreplicated ZooKeeper ensemble (i.e. not standalone). This is the\ntypical case for a production environment."],[781,"This table details JMX for a standalone server. Standalone is typically\nonly used in development situations."],[877,"This tells every other server that server.1 is an Observer and that they\nshould not expect it to vote. This is all the configuration needed to add\nan Observer to your ZooKeeper cluster. You can then connect to it as you\nwould an ordinary Follower:"],[875,"This tells ZooKeeper that the server is to be an Observer."],[1040,"Three navigation options are available:"],[58,"Three of the more interesting commands: \"stat\" gives some\ngeneral information about the server and connected clients,\nwhile \"srvr\" and \"cons\" give extended details on server and\nconnections respectively."],[270,"throttledOpWaitTime\n(Java system property: zookeeper.throttled_op_wait_time)\nThe time in the RequestThrottler queue longer than which a request will be marked as throttled.\nA throttled requests will not be processed other than being fed down the pipeline of the server it belongs\nto preserve the order of all requests.\nThe FinalProcessor will issue an error response (new error code: ZTHROTTLEDOP) for these undigested requests.\nThe intent is for the clients not to retry them immediately.\nWhen set to 0, no requests will be throttled. The default is 0."],[1328,"Ticks\nWhen using multi-server ZooKeeper, servers use ticks to define\ntiming of events such as status uploads, session timeouts,\nconnection timeouts between peers, etc. The tick time is only\nindirectly exposed through the minimum session timeout (2 times the\ntick time); if a client requests a session timeout less than the\nminimum session timeout, the server will tell the client that the\nsession timeout is actually the minimum session timeout."],[1946,"tickTime :\nthe basic time unit in milliseconds used by ZooKeeper. It is\nused to do heartbeats and the minimum session timeout will be\ntwice the tickTime."],[184,"tickTime :\nthe length of a single tick, which is the basic time unit\nused by ZooKeeper, as measured in milliseconds. It is used to\nregulate heartbeats, and timeouts. For example, the minimum\nsession timeout will be two ticks."],[1302,"Time in ZooKeeper"],[1818,"Timeliness - The clients view of the system is guaranteed to\nbe up-to-date within a certain time bound."],[1286,"Timeliness :\nThe clients view of the system is guaranteed to be up-to-date\nwithin a certain time bound (on the order of tens of seconds).\nEither system changes will be seen by a client within this bound, or\nthe client will detect a service outage."],[166,"TLS Cipher Suites"],[536,"To achieve the highest probability of tolerating a failure\nyou should try to make machine failures independent. For\nexample, if most of the machines share the same switch,\nfailure of that switch could cause a correlated failure and\nbring down the service. The same holds true of shared power\ncircuits, cooling systems, etc."],[1547,"To address the second problem, you can have the coordinator\npropagate the transaction to the sites, and have each site creating its\nown ephemeral node."],[1104,"To consume an element, a consumer process obtains the children of the root node,\nreads the node with smallest counter value, and returns the element. Note that\nif there is a conflict, then one of the two contending processes won't be able to\ndelete the node and the delete operation will throw an exception."],[1383,"To create a client session the application code must provide\na connection string containing a comma separated list of host:port pairs,\neach corresponding to a ZooKeeper server (e.g. \"127.0.0.1:4545\" or\n\"127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002\"). The ZooKeeper\nclient library will pick an arbitrary server and try to connect to\nit. If this connection fails, or if the client becomes\ndisconnected from the server for any reason, the client will\nautomatically try the next server in the list, until a connection\nis (re-)established."],[1669,"To enable JobManager High Availability you have to set the high-availability mode to zookeeper, configure a ZooKeeper quorum and set up a masters file with all JobManagers hosts and their web UI ports.\nFlink leverages ZooKeeper for distributed coordination between all running JobManager instances. ZooKeeper is a separate service from Flink,\nwhich provides highly reliable distributed coordination via leader election and light-weight consistent state storage ."],[654,"To enable reconfiguration, add the following to zoo.cfg:"],[1098,"To enter the barrier, a process calls enter(). The process creates a node under\nthe root to represent it, using its host name to form the node name. It then wait\nuntil enough processes have entered the barrier. A process does it by checking\nthe number of children the root node has with \"getChildren()\", and waiting for\nnotifications in the case it does not have enough. To receive a notification when\nthere is a change to the root node, a process has to set a watch, and does it\nthrough the call to \"getChildren()\". In the code, we have that \"getChildren()\"\nhas two parameters. The first one states the node to read from, and the second is\na boolean flag that enables the process to set a watch. In the code the flag is true."],[1941,"To get a ZooKeeper distribution, download a recent\nstable release from one of the Apache Download\nMirrors."],[1982,"To get low latencies on updates it is important to\nhave a dedicated transaction log directory. By default\ntransaction logs are put in the same directory as the data\nsnapshots and myid file. The dataLogDir\nparameters indicates a different directory to use for the\ntransaction logs."],[1909,"To illustrate: consider a scenario where two servers simultaneously think they are the leader,\nwhich could occur if the TCP connection timeout is smaller than syncLimit * tickTime. Note\nthat this is unlikely\nto occur in practice, but is worth keeping in mind. Under this scenario, the sync may be\nserved by the \"leader\" with stale data, allowing the following read to be stale as well.\nThe stronger guarantee of linearizability is provided if an actual quorum operation (e.g., a\nwrite) is performed before a read."],[1506,"To implement a priority queue, you need only make two simple\nchanges to the generic queue\nrecipe . First, to add to a queue, the pathname ends with\n\"queue-YY\" where YY is the priority of the element with lower numbers\nrepresenting higher priority (just like UNIX). Second, when removing\nfrom the queue, a client uses an up-to-date children list meaning that\nthe client will invalidate previously obtained children lists if a watch\nnotification triggers for the queue node."],[1120,"To introduce you to the ZooKeeper Java API, we develop here a very simple\nwatch client. This ZooKeeper client watches a znode for changes\nand responds to by starting or stopping a program."],[981,"To recover from such disastrous failures, ZooKeeper provides snapshot and restore functionalities to\nrestore a cluster from a snapshot."],[1844,"To show the behavior of the system over time as\nfailures are injected we ran a ZooKeeper service made up of\n7 machines. We ran the same saturation benchmark as before,\nbut this time we kept the write percentage at a constant\n30%, which is a conservative ratio of our expected\nworkloads."],[1546,"To solve the first problem, you can have only the coordinator\nnotified of changes to the transaction nodes, and then notify the sites\nonce coordinator reaches a decision. Note that this approach is scalable,\nbut it is slower too, as it requires all communication to go through the\ncoordinator."],[1944,"To start ZooKeeper you need a configuration file. Here is a sample,\ncreate it in conf/zoo.cfg:"],[1365,"To understand how the authentication framework works, first you must\nunderstand the two main authentication operations. The framework\nfirst must authenticate the client. This is usually done as soon as\nthe client connects to a server and consists of validating information\nsent from or gathered about a client and associating it with the connection.\nThe second operation handled by the framework is finding the entries in an\nACL that correspond to client. ACL entries are pairs. The idspec may be\na simple string match against the authentication information associated\nwith the connection or it may be a expression that is evaluated against that\ninformation. It is up to the implementation of the authentication plugin\nto do the match. Here is the interface that an authentication plugin must\nimplement:"],[592,"Toggle whether watch events are printed to the console."],[993,"Tools"],[1865,"Total order: If a message a is delivered before message b by one server, message a will be delivered before b by all servers."],[1922,"TRACE — finer-grained informational events than DEBUG."],[79,"Trace Mask Bit Values"],[9,"Troubleshooting"],[1300,"TTL Nodes"],[1618,"Tubemogul"],[1031,"Tuning parameters:"],[291,"Turning on leader selection is highly recommended when you have more than\nthree ZooKeeper servers in an ensemble."],[957,"Tushar Deepak Chandra and Sam Toueg. 1991. Unreliable failure detectors for asynchronous systems (preliminary version). In Proceedings of the tenth annual ACM symposium on Principles of distributed computing (PODC '91). Association for Computing Machinery, New York, NY, USA, 325–340. DOI:10.1145/112600.112627"],[1619,"Twitter"],[1470,"Two-phased Commit"],[194,"txnLogSizeLimitInKb :\n(Java system property: zookeeper.txnLogSizeLimitInKb)\nZookeeper transaction log file can also be controlled more\ndirectly using txnLogSizeLimitInKb. Larger txn logs can lead to\nslower follower syncs when sync is done using transaction log.\nThis is because leader has to scan through the appropriate log\nfile on disk to find the transaction to start sync from.\nThis feature is turned off by default and snapCount and snapSizeLimitInKb are the\nonly values that limit transaction log size. When enabled\nZookeeper will roll the log when any of the limits is hit.\nPlease note that actual log size can exceed this value by the size\nof the serialized transaction. On the other hand, if this value is\nset too close to (or smaller than) preAllocSize,\nit can cause Zookeeper to roll the log for every transaction. While\nthis is not a correctness issue, this may cause severely degraded\nperformance. To avoid this and to get most out of this feature, it is\nrecommended to set the value to N * preAllocSize\nwhere N >= 2."],[1046,"Type a number to jump forward or backward to a specific depth:"],[1042,"Type a number to jump to and print all nodes at that depth."],[848,"Type of the znode (only for create operations)."],[175,"type: info"],[182,"type: info"],[187,"type: info"],[284,"type: info"],[290,"type: info"],[294,"type: info"],[300,"type: info"],[302,"type: info"],[453,"type: info"],[511,"type: info"],[817,"type: info"],[1141,"type: info"],[1202,"type: info"],[1250,"type: info"],[1255,"type: info"],[1288,"type: info"],[1312,"type: info"],[1504,"type: info"],[1508,"type: info"],[1835,"type: info"],[1969,"type: info"],[1977,"type: info"],[638,"type: warn"],[693,"type: warn"],[1035,"Uncompressed snapshots and compressed formats (snappy, gz) are all supported.\nSnapshots in different formats can be compared directly without manual decompression."],[1807,"Unlike standard file systems, each node in a ZooKeeper\nnamespace can have data associated with it as well as children. It is\nlike having a file-system that allows a file to also be a directory.\n(ZooKeeper was designed to store coordination data: status information,\nconfiguration, location information, etc., so the data stored at each\nnode is usually small, in the byte to kilobyte range.) We use the term\nznode to make it clear that we are talking about\nZooKeeper data nodes."],[168,"Unsafe Options"],[81,"Unused, reserved for future use."],[85,"Unused, reserved for future use."],[97,"Unused, reserved for future use."],[99,"Unused, reserved for future use."],[1402,"Updating the list of servers. We allow a client to\nupdate the connection string by providing a new comma separated list of host:port pairs,\neach corresponding to a ZooKeeper server. The function invokes a probabilistic load-balancing\nalgorithm which may cause the client to disconnect from its current host with the goal\nto achieve expected uniform number of connections per server in the new list.\nIn case the current host to which the client is connected is not in the new list\nthis call will always cause the connection to be dropped. Otherwise, the decision\nis based on whether the number of servers has increased or decreased and by how much."],[666,"Upgrading a running ZooKeeper ensemble to 3.5.0 should be done only\nafter upgrading to the 3.4.6 release. This is only necessary for rolling\nupgrades — if you are fine with shutting down the system completely, you\ndo not need to go through 3.4.6. If you attempt a rolling upgrade without\ngoing through 3.4.6 (for example from 3.4.5), you may get the following error:"],[142,"Upgrading existing non-TLS cluster with no downtime"],[620,"Upgrading to 3.5.0"],[1555,"Upon receiving a notification of znode deletion:"],[602,"Use -R to set ACL recursively on all child nodes:"],[603,"Use -v to set ACL with optimistic locking (version from aclVersion in stat):"],[1027,"Use -v,--verbose to print all records (not just broken ones). Use -y,--yes to fix all\nCRC errors automatically without prompting."],[1562,"Use Cases"],[151,"Use NettyServerCnxnFactory as serverCnxnFactory, because SSL is not supported by NIO. Add\nthe following configuration settings to your zoo.cfg config file:"],[1861,"Use of Standard slf4j Idioms"],[1740,"Used internally as a part of sharding services, distributed synchronization of data/index updates, configuration management and failover support ."],[839,"user"],[972,"Users cannot set the quota on the path under /zookeeper/quota."],[660,"Users may prefer to initially specify a single configuration file. The\nfollowing is also legal:"],[1793,"Uses"],[1697,"Uses Zookeeper and Curator Framework for generating distributed unique ID's ."],[1734,"Uses ZooKeeper for leader election, configuration management, locking, group membership ."],[1733,"Uses ZooKeeper in SPM (which includes ZooKeeper monitoring component, too!), Search Analytics, and Logsene ."],[1627,"Uses ZooKeeper to implement node coordination, in clustering support. This allows the management of the complete cluster,\nor any specific node - from any other node connected via JMX. A Cluster wide command framework developed on top of the\nZooKeeper coordination allows commands that fail on some nodes to be retried etc. We also support the automated graceful\nround-robin-restart of a complete cluster of nodes using the same framework ."],[900,"Using a USB Device as the Oracle"],[451,"Using older log and snapshot files, you can look at the previous\nstate of ZooKeeper servers and even restore that state."],[24,"using the zkServer.sh status command"],[1287,"Using these consistency guarantees it is easy to build higher level\nfunctions such as leader election, barriers, queues, and read/write\nrevocable locks solely at the ZooKeeper client (no additions needed to\nZooKeeper). See Recipes and Solutions\nfor more details."],[1728,"Using zkpython"],[1727,"Using ZooKeeper on 2-node cluster on VMware workstation, Amazon EC2, Zen"],[513,"Usually three servers is more than enough for a production\ninstall, but for maximum reliability during maintenance, you may\nwish to install five servers. With three servers, if you perform\nmaintenance on one of them, you are vulnerable to a failure on one\nof the other two servers during that maintenance. If you have five\nof them running, you can take one down for maintenance, and know\nthat you're still OK if one of the other four suddenly fails."],[1717,"Utilizing ZooKeeper to provide leader election and some state storage, you can launch multiple Masters in your cluster connected to the same ZooKeeper instance.\nOne will be elected “leader” and the others will remain in standby mode. If the current leader dies, another Master will be elected,\nrecover the old Master’s state, and then resume scheduling ."],[826,"Validate the rules file with:"],[836,"Value"],[1620,"Vast.com"],[152,"Verify in the logs that your ensemble is running on TLS:"],[109,"Verify that the following entries in the logs can be seen:"],[571,"version"],[1336,"version\nThe number of changes to the data of this znode."],[1327,"Version numbers\nEvery change to a node will cause an increase to one of the\nversion numbers of that node. The three version numbers are version\n(number of changes to the data of a znode), cversion (number of\nchanges to the children of a znode), and aversion (number of changes\nto the ACL of a znode)."],[134,"voting_view :\nProvides the current voting members in the ensemble.\nReturns \"current_config\" as a map."],[1111,"Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes."],[1919,"WARN — potentially harmful situations."],[1554,"Watch for changes on \"ELECTION/guid-n_j\", where j is the largest\nsequence number such that j < i and n_j is a znode in C;"],[137,"watch_summary/wchs :\nSummarized watch information.\nReturns \"num_total_watches\", \"num_paths\", and \"num_connections\"."],[211,"watcherCleanIntervalInSeconds :\n(Java system property only:zookeeper.watcherCleanIntervalInSeconds)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThe new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, the cleanup process is relatively\nheavy, batch processing will reduce the cost and improve the performance. Besides watcherCleanThreshold,\nthis setting is used to clean up the dead watchers after certain time even the dead watchers are not larger\nthan watcherCleanThreshold, so that we won't leave the dead watchers there for too long. The default setting\nis 10 minutes, which usually don't need to be changed."],[209,"watcherCleanThreadsNum :\n(Java system property only: zookeeper.watcherCleanThreadsNum)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThe new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, this config is used to decide how\nmany thread is used in the WatcherCleaner. More thread usually means larger clean up throughput. The\ndefault value is 2, which is good enough even for heavy and continuous session closing/recreating cases."],[210,"watcherCleanThreshold :\n(Java system property only: zookeeper.watcherCleanThreshold)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThe new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, the cleanup process is relatively\nheavy, batch processing will reduce the cost and improve the performance. This setting is used to decide\nthe batch size. The default one is 1000, we don't need to change it if there is no memory or clean up\nspeed issue."],[1293,"Watches"],[1425,"Watches"],[1436,"Watches are maintained locally at the ZooKeeper server to which the\nclient is connected. This allows watches to be lightweight to set,\nmaintain, and dispatch. When a client connects to a new server, the watch\nwill be triggered for any session events. Watches will not be received\nwhile disconnected from a server. When a client reconnects, any previously\nregistered watches will be reregistered and triggered if needed. In\ngeneral this all occurs transparently. There is one case where a watch\nmay be missed: a watch for the existence of a znode not yet created will\nbe missed if the znode is created and deleted while disconnected."],[1450,"Watches are ordered with respect to other events, other\nwatches, and asynchronous replies. The ZooKeeper client libraries\nensures that everything is dispatched in order."],[136,"watches_by_path/wchp :\nWatch information aggregated by path.\nNote, depending on the number of watches this operation may be expensive\n(i.e. impact server performance).\nReturns \"path_to_session_ids\" as a map."],[135,"watches/wchc :\nWatch information aggregated by session.\nNote, depending on the number of watches this operation may be expensive\n(i.e. impact server performance).\nReturns \"session_id_to_watched_paths\" as a map."],[208,"watchManagerName :\n(Java system property only: zookeeper.watchManagerName)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nNew watcher manager WatchManagerOptimized is added to optimize the memory overhead in heavy watch use cases. This\nconfig is used to define which watcher manager to be used. Currently, we only support WatchManager and\nWatchManagerOptimized."],[70,"wchc :\nNew in 3.3.0: Lists\ndetailed information on watches for the server, by\nsession. This outputs a list of sessions(connections)\nwith associated watches (paths). Note, depending on the\nnumber of watches this operation may be expensive (ie\nimpact server performance), use it carefully."],[72,"wchp :\nNew in 3.3.0: Lists\ndetailed information on watches for the server, by path.\nThis outputs a list of paths (znodes) with associated\nsessions. Note, depending on the number of watches this\noperation may be expensive (ie impact server performance),\nuse it carefully."],[69,"wchs :\nNew in 3.3.0: Lists\nbrief information on watches for the server."],[1963,"We can change the data associated with zk_test by issuing the set command, as in:"],[1445,"We can remove the watches registered on a znode with a call to\nremoveWatches. Also, a ZooKeeper client can remove watches locally even\nif there is no server connection by setting the local flag to true. The\nfollowing list details the events which will be triggered after the\nsuccessful watch removal."],[1438,"We can set watches with the three calls that read the state of\nZooKeeper: exists, getData, and getChildren. The following list details\nthe events that a watch can trigger and the calls that enable them:"],[914,"We consider an asynchronous distributed system which consists of 2 ZooKeeper instances and an Oracle."],[932,"We consider the Oracle satisfies the following property introduced by :"],[1723,"We do search for research and provide access to high quality content using advanced search technologies Zookeeper is used to\nmanage server state, control index deployment and a myriad other tasks ."],[1730,"We do virtualized networking for the cloud computing era. We use ZooKeeper for various aspects of our distributed control plane ."],[871,"We have introduced a new type of ZooKeeper node called an Observer which\nhelps address this problem and further improves ZooKeeper's scalability. Observers\nare non-voting members of an ensemble which only hear the results of votes, not the\nagreement protocol that leads up to them. Other than this simple distinction,\nObservers function exactly the same as Followers — clients may connect to\nthem and send read and write requests to them. Observers forward these\nrequests to the Leader like Followers do, but they then simply wait to\nhear the result of the vote. Because of this, we can increase the number\nof Observers as much as we like without harming vote performance."],[1688,"We need a distributed store to maintain the state of the cluster and a notification system to notify if there is any change in the cluster state.\nHelix uses Apache ZooKeeper to achieve this functionality .\nZookeeper provides:"],[1091,"We use the process() method to process notifications triggered due to watches.\nIn the following discussion, we present code that sets watches. A watch is internal\nstructure that enables ZooKeeper to notify a client of a change to a node. For example,\nif a client is waiting for other clients to leave a barrier, then it can set a watch and\nwait for modifications to a particular node, which can indicate that it is the end of the wait.\nThis point becomes clear once we go over the examples."],[1639,"We use ZooKeeper in the Neo4j High Availability components for write-master election,\nread slave coordination and other cool stuff. ZooKeeper is a great and focused project - we like! ."],[1271,"We will demonstrate client that outputs \"Connected to Zookeeper\" after successful connection or an error message otherwise. Let's call the following code zkClient.cc:"],[1621,"Wealthfront"],[1741,"Wealthfront uses ZooKeeper for service discovery, leader election and distributed locking among its many backend services.\nZK is an essential part of Wealthfront's continuous deployment infrastructure ."],[298,"weight.x=nnnnn :\n(No Java system property)\nUsed along with \"group\", it assigns a weight to a server when\nforming quorums. Such a value corresponds to the weight of a server\nwhen voting. There are a few parts of ZooKeeper that require voting\nsuch as leader election and the atomic broadcast protocol. By default\nthe weight of server is 1. If the configuration defines groups, but not\nweights, then a value of 1 will be assigned to all servers.\nYou will find an example here"],[1423,"What happens if the create for session is sent at server A and the client disconnects to some other server B\nwhich ends up sending it again and then disconnects and connects back to server A?"],[1430,"What ZooKeeper Guarantees about Watches"],[1419,"What's the reason for having the config option to disable local session upgrade?"],[1387,"When a client (session) becomes partitioned from the ZK\nserving cluster it will begin searching the list of servers that\nwere specified during session creation. Eventually, when\nconnectivity between the client and at least one of the servers is\nre-established, the session will either again transition to the\n\"connected\" state (if reconnected within the session timeout\nvalue) or it will transition to the \"expired\" state (if\nreconnected after the session timeout). It is not advisable to\ncreate a new session object (a new ZooKeeper.class or zookeeper\nhandle in the c binding) for disconnection. The ZK client library\nwill handle reconnect for you. In particular we have heuristics\nbuilt into the client library to handle things like \"herd effect\",\netc... Only create a new session when you are notified of session\nexpiration (mandatory)."],[1157,"When a client connects to ZooKeeper and authenticates\nitself, ZooKeeper associates all the ids that correspond to a\nclient with the clients connection. These ids are checked against\nthe ACLs of znodes when a client tries to access a node. ACLs are\nmade up of pairs of (scheme:expression,\nperms). The format of\nthe expression is specific to the scheme. For\nexample, the pair (ip:19.22.0.0/16, READ)\ngives the READ permission to any clients with\nan IP address that starts with 19.22."],[1385,"When a client gets a handle to the ZooKeeper service,\nZooKeeper creates a ZooKeeper session, represented as a 64-bit\nnumber, that it assigns to the client. If the client connects to a\ndifferent ZooKeeper server, it will send the session id as a part\nof the connection handshake. As a security measure, the server\ncreates a password for the session id that any ZooKeeper server\ncan validate.The password is sent to the client with the session\nid when the client establishes the session. The client sends this\npassword with the session id whenever it reestablishes the session\nwith a new server."],[1424,"When a client reconnects to B, its sessionId won’t exist in B’s local session tracker. So B will send validation packet.\nIf CreateSession issued by A is committed before validation packet arrive the client will be able to connect.\nOtherwise, the client will get session expired because the quorum hasn’t know about this session yet.\nIf the client also tries to connect back to A again, the session is already removed from local session tracker.\nSo A will need to send a validation packet to the leader. The outcome should be the same as B depending on the timing of the request."],[1411,"When a local session connects, the session info is only maintained on the zookeeper server that it is connected to. The leader is not aware of the creation of such a session and\nthere is no state written to disk."],[1415,"When a new session is created it is saved locally in a wrapped LocalSessionTracker. It can subsequently be upgraded\nto a global session as required (e.g. create ephemeral nodes). If an upgrade is requested the session is removed from local\ncollections while keeping the same session ID."],[732,"When a ZooKeeper cluster is started and each client is given the same connection\nstring, the client randomly chooses a server to connect to, making the expected\nnumber of client connections per server equal across all servers. ZooKeeper preserves\nthis property when the set of servers changes through reconfiguration (see Sections\n4 and 5.1 in the paper)."],[1214,"When a ZooKeeper object is created, two threads are created as\nwell: an IO thread and an event thread. All IO happens on the IO thread\n(using Java NIO). All event callbacks happen on the event thread.\nSession maintenance such as reconnecting to ZooKeeper servers and\nmaintaining heartbeat is done on the IO thread. Responses for\nsynchronous methods are also processed in the IO thread. All responses\nto asynchronous methods and watch events are processed on the event\nthread. There are a few things to notice that result from this\ndesign:"],[1320,"When creating a znode you can also request that\nZooKeeper append a monotonically increasing counter to the end\nof path. This counter is unique to the parent znode. The\ncounter has a format of %010d — that is 10 digits with 0\n(zero) padding (the counter is formatted in this way to\nsimplify sorting), i.e. \"0000000001\". See\nQueue\nRecipe for an example use of this feature. Note: the\ncounter used to store the next sequence number is a signed int\n(4bytes) maintained by the parent node, the counter will\noverflow when incremented beyond 2147483647 (resulting in a\nname \"-2147483648\")."],[1323,"When creating PERSISTENT or PERSISTENT_SEQUENTIAL znodes,\nyou can optionally set a TTL in milliseconds for the znode. If the znode\nis not modified within the TTL and has no children it will become a candidate\nto be deleted by the server at some point in the future."],[1872,"When describing the ZooKeeper messaging protocol we will talk of packets,\nproposals, and messages:"],[339,"When enforce.auth.enabled=true and enforce.auth.schemes=sasl then"],[1136,"When Executor.closing() is invoked, the Executor decides whether or not to shut itself down\nin response to the ZooKeeper connection permanently disappearing."],[1476,"When implementing the recipes you must handle recoverable exceptions\n(see the FAQ). In\nparticular, several of the recipes employ sequential ephemeral\nnodes. When creating a sequential ephemeral node there is an error case in\nwhich the create() succeeds on the server but the server crashes before\nreturning the name of the node to the client. When the client reconnects its\nsession is still valid and, thus, the node is not removed. The implication is\nthat it is difficult for the client to know if its node was created or not. The\nrecipes below include measures to handle this."],[1421,"When is the session created?"],[391,"When jute.maxbuffer in the client side is greater than the server side, the client wants to write the data\nexceeds jute.maxbuffer in the server side, the server side will get java.io.IOException: Len error"],[392,"When jute.maxbuffer in the client side is less than the server side, the client wants to read the data\nexceeds jute.maxbuffer in the client side, the client side will get java.io.IOException: Unreasonable length\nor Packet len is out of range!"],[252,"When leader runs with new code while follower runs with old one, the digest will\nbe appended to the end of each txn, follower will only read header and txn data,\ndigest value in the txn will be ignored. It won't affect the follower reads and\nprocesses the next txn."],[253,"When leader runs with old code while follower runs with new one, the digest won't\nbe sent with txn, when follower tries to read the digest, it will throw EOF which\nis caught and handled gracefully with digest value set to null."],[255,"When loading new snapshot with old code, it will finish successfully after deserializing\nthe data tree, the digest value at the end of snapshot file will be ignored"],[279,"When loading new snapshot with old code, it will finish successfully after deserializing\nthe digest value, the lastProcessedZxid at the end of snapshot file will be ignored.\nThe lastProcessedZxid will be set using the snapshot file name."],[278,"When loading old snapshot with new code, it will throw EOFException when trying to\nread the non-exist lastProcessedZxid value, and the exception will be caught.\nThe lastProcessedZxid will be set using the snapshot file name."],[254,"When loading old snapshot with new code, it will throw IOException when trying to\nread the non-exist digest value, and the exception will be caught and digest will\nbe set to null, which means we won't compare digest when loading this snapshot,\nwhich is expected to happen during rolling upgrade"],[1408,"when localSessionsUpgradingEnabled is disable:"],[1413,"when localSessionsUpgradingEnabled is enable:"],[904,"When running the system, we are able to form a quorum once we have a majority of votes from\na majority of non-zero-weight groups. Groups that have zero weight are discarded and not\nconsidered when forming quorums. Looking at the example, we are able to form a quorum once\nwe have votes from at least two servers from each of two different groups."],[403,"When running zkServer.sh autocreate can be disabled\nby setting the environment variable ZOO_DATADIR_AUTOCREATE_DISABLE to 1.\nWhen running ZooKeeper servers directly from class files this\ncan be accomplished by setting zookeeper.datadir.autocreate=false on\nthe java command line, i.e. -Dzookeeper.datadir.autocreate=false"],[751,"When the \"new connection\" window is displayed, either connect\nto the local process (if jconsole was started on the same host as the server) or\nuse the remote process connection."],[705,"When the client port of a server is modified, existing client connections are not\ndropped. New connections to the server will use the new client port."],[659,"When the ensemble configuration changes, the static configuration parameters\nremain the same. The dynamic parameters are pushed by ZooKeeper and overwrite\nthe dynamic configuration files on all servers. Thus the dynamic configuration\nfiles on different servers are usually identical (they can differ momentarily\nwhile a reconfiguration is in progress or before a new configuration has\npropagated to all servers). Once created, the dynamic configuration file should\nnot be manually altered — changes are made only through the reconfiguration\ncommands described below. Changing the config of an offline cluster could\nresult in an inconsistency with configuration information stored in the\nZooKeeper log and is therefore highly discouraged."],[915,"When the Oracle satisfies the following property introduced by :"],[908,"When the size of the voting members exceeds 2, the expected way to make the Oracle work correctly is to reconfigure the cluster size when a faulty machine is identified.\nFor example, with a configuration of 5 instances, when a faulty machine breaks the connection with the Leader, a reconfig client request is expected to re-form the cluster as 4 instances.\nOnce the size of the voting member equals 2, the configuration falls into the problem domain which the Oracle is designed to address."],[1483,"When the watch event is triggered, the client reissues the\nexists( ) call, again waiting until\nthe barrier node is removed."],[1145,"When the ZooKeeper.exists() operation completes on the server, the ZooKeeper API invokes this completion callback on\nthe client:"],[404,"When this feature is disabled, and the ZooKeeper server\ndetermines that the required directories do not exist it will\ngenerate an error and refuse to start."],[1456,"When you disconnect from a server (for example, when the\nserver fails), you will not get any watches until the connection\nis reestablished. For this reason session events are sent to all\noutstanding watch handlers. Use session events to go into a safe\nmode: you will not be receiving events while disconnected, so your\nprocess should act conservatively in that mode."],[878,"where localhost:2181 is the hostname and port of the Observer as\nspecified in every config file. You should see a command line prompt\nthrough which you can issue commands like ls to query the ZooKeeper service."],[882,"Wherever you wish to scale the number of clients of your ZooKeeper ensemble,\nor where you wish to insulate the critical part of an ensemble from the load\nof dealing with client requests, Observers are a good architectural choice.\nTwo example use cases are:"],[692,"Whether listing the joiner as an observer or participant, it is also fine not\nto list all current configuration servers, as long as the current leader is\nincluded. For example, when adding D, it could be started with just (A, D) if\nA is the current leader. However, this is more fragile since if A fails before\nD officially joins, D has no other servers to contact and the administrator\nmust restart D with another server list."],[808,"Who is Taken as User in Audit Logs?"],[572,"whoami"],[1903,"Why does it work? Specifically, why does a set of proposals believed by a new leader\nalways contain any proposal that has actually been committed? First, all proposals have\na unique zxid, so unlike other protocols, we never have to worry about two different\nvalues being proposed for the same zxid; followers (a leader is also a follower) see\nand record proposals in order; proposals are committed in order; there is only one active\nleader at a time since followers only follow a single leader at a time; a new leader has\nseen all committed proposals from the previous epoch since it has seen the highest zxid\nfrom a quorum of servers; any uncommitted proposals from a previous epoch seen by a new\nleader will be committed by that leader before it becomes active."],[498,"Windows"],[2007,"Wish"],[2017,"Wish"],[1974,"With both of these timeouts, you specify the unit of time using\ntickTime. In this example, the timeout\nfor initLimit is 5 ticks at 2000 milliseconds a tick, or 10\nseconds."],[730,"With incremental reconfiguration, both changes take effect as they are applied by\nthe leader one after the other to the current configuration. Since both clients are\nguaranteed to make progress, this method guarantees stronger liveness. In practice,\nmultiple concurrent reconfigurations are probably rare. Non-incremental reconfiguration\nis currently the only way to dynamically change the Quorum System. Incremental\nreconfiguration is currently only allowed with the Majority Quorum System."],[23,"with JMX"],[1539,"With minor modifications to the Shared Lock protocol, you make\nshared locks revocable by modifying the shared lock protocol:"],[1449,"With regard to watches, ZooKeeper maintains these\nguarantees:"],[956,"With these steps, you can observe and practice how the Oracle works with a two-instance system."],[651,"With this setting it is possible to start a ZooKeeper ensemble containing\na single participant and to dynamically grow it by adding more servers.\nSimilarly, it is possible to shrink an ensemble so that just a single\nparticipant remains by removing servers."],[1171,"world has a\nsingle id, anyone, that represents\nanyone."],[1907,"Write operations in ZooKeeper are linearizable. Each write will appear to take effect\natomically at some point between when the client issues the request and receives the\ncorresponding response. This means that the writes performed by all clients can be totally\nordered in a way that respects their real-time ordering. However, merely stating that writes\nare linearizable is meaningless unless we also talk about reads."],[1161,"WRITE: you can set data for a node"],[1175,"x509 uses the client\nX500 Principal as an ACL ID identity. The ACL expression is the exact\nX500 Principal name of a client. When using the secure port, clients\nare automatically authenticated and their auth info for the x509 scheme\nis set."],[859,"X509AuthenticationProvider — the client certificate is used as the user."],[329,"X509AuthenticationProvider.superUser :\n(Java system property: zookeeper.X509AuthenticationProvider.superUser)\nThe SSL-backed way to enable a ZooKeeper ensemble\nadministrator to access the znode hierarchy as a \"super\" user.\nWhen this parameter is set to an X500 principal name, only an\nauthenticated client with that principal will be able to bypass\nACL checking and have full privileges to all znodes."],[1622,"Yahoo!"],[1009,"YCSB"],[1051,"YCSB (Yahoo Cloud Serving Benchmark) can be used to benchmark ZooKeeper. Follow the steps below to get started."],[1024,"Yes — write the recalculated CRC to the new file."],[520,"You can find the meanings of these and other configuration settings in the section\nConfiguration Parameters. Every machine that is part of the ZooKeeper\nensemble should know about every other machine in the ensemble. You accomplish this with the\nseries of lines of the form server.id=host:port:port. (The parameters host and port\nare straightforward; for each server you need to specify first a Quorum port then a dedicated\nport for ZooKeeper leader election). Since ZooKeeper 3.6.0 you can also\nspecify multiple addresses for each ZooKeeper server instance (this can\nincrease availability when multiple physical network interfaces can be used parallel in the\ncluster). You attribute the server id to each machine by creating a file named myid, one for\neach server, which resides in that server's data directory, as specified by the configuration\nfile parameter dataDir."],[1522,"You can implement shared locks by with a few changes to the lock\nprotocol:"],[975,"You can use delquota to delete quota on a ZooKeeper node."],[974,"You can use listquota to list a quota on a ZooKeeper node."],[966,"You can use setquota to set a quota on a ZooKeeper node. It has an option of setting quota with\n-n (for namespace/count) and -b (for bytes/data length)."],[1346,"You must test ZooKeeper server failures. The ZooKeeper service\ncan survive failures as long as a majority of servers are active. The\nquestion to ask is: can your application handle it? In the real world\na client's connection to ZooKeeper can break. (ZooKeeper server\nfailures and network partitions are common reasons for connection\nloss.) The ZooKeeper client library takes care of recovering your\nconnection and letting you know what happened, but you must make sure\nthat you recover your state and any outstanding requests that failed.\nFind out if you got it right in the test lab, not in production - test\nwith a ZooKeeper service made up of a several of servers and subject\nthem to reboots."],[753,"You should now see org.apache.ZooKeeperService\non the left hand side. Expand this item and depending on how you've\nstarted the server you will be able to monitor and manage various\nservice related features."],[1165,"You want A to be able to do a set on a ZooKeeper node, but\nnot be able to CREATE\nor DELETE children."],[18,"You will want to have a supervisory process that manages\neach of your ZooKeeper server processes (JVM). The ZK server is\ndesigned to be \"fail fast\" meaning that it will shut down\n(process exit) if an error occurs that it cannot recover\nfrom. As a ZooKeeper serving cluster is highly reliable, this\nmeans that while the server may go down the cluster as a whole\nis still active and serving requests. Additionally, as the\ncluster is \"self healing\" the failed server once restarted will\nautomatically rejoin the ensemble w/o any manual\ninteraction."],[514,"Your redundancy considerations should include all aspects of\nyour environment. If you have three ZooKeeper servers, but their\nnetwork cables are all plugged into the same network switch, then\nthe failure of that switch will take down your entire ensemble."],[138,"zabstate :\nThe current phase of Zab protocol that peer is running and whether it is a\nvoting member.\nPeers can be in one of these phases: ELECTION, DISCOVERY, SYNCHRONIZATION, BROADCAST.\nReturns fields \"voting\" and \"zabstate\"."],[1010,"zk-smoketest"],[1068,"zk-smoketest provides a simple smoketest client\nfor a ZooKeeper ensemble. Useful for verifying new, updated, or existing installations."],[999,"zkCleanup.sh"],[997,"zkCli.sh"],[998,"zkEnv.sh"],[996,"zkServer.sh"],[1003,"zkSnapshotComparer.sh"],[1002,"zkSnapshotRecursiveSummaryToolkit.sh"],[1001,"zkSnapShotToolkit.sh"],[1000,"zkTxnLogToolkit.sh"],[845,"znode"],[847,"znode type"],[415,"znode.container.checkIntervalMs :\n(Java system property only)\nNew in 3.6.0: The\ntime interval in milliseconds for each check of candidate container\nand ttl nodes. Default is \"60000\"."],[417,"znode.container.maxNeverUsedIntervalMs :\n(Java system property only)\nNew in 3.6.0: The\nmaximum interval in milliseconds that a container that has never had\nany children is retained. Should be long enough for your client to\ncreate the container, do any needed work and then create children.\nDefault is \"300000\"(a.k.a. 5 minutes) since 3.10.0, for earlier versions,\nit is \"0\" which is used to indicate that containers that have never had\nany children are never deleted."],[416,"znode.container.maxPerMinute :\n(Java system property only)\nNew in 3.6.0: The\nmaximum number of container and ttl nodes that can be deleted per\nminute. This prevents herding during container deletion.\nDefault is \"10000\"."],[1292,"ZNodes"],[1314,"Znodes are the main entity that a programmer access. They have\nseveral characteristics that are worth mentioning here."],[1808,"Znodes maintain a stat structure that includes version numbers for\ndata changes, ACL changes, and timestamps, to allow cache validations\nand coordinated updates. Each time a znode's data changes, the version\nnumber increases. For instance, whenever a client retrieves data it also\nreceives the version of the data."],[1186,"ZOO_AUTH_IDS empty identity string should be interpreted as “the identity of the creator”."],[1196,"zoo_create(...) operation creates a new node. The acl\nparameter is a list of ACLs associated with the node. The parent\nnode must have the CREATE permission bit set."],[1019,"ZOO_LOG_DIR — the directory where logs are stored."],[657,"zoo_replicated1.cfg"],[661,"zoo_replicated1.cfg"],[664,"zoo_replicated1.cfg"],[658,"zoo_replicated1.cfg.dynamic"],[1360,"ZooKeeper - A Reliable, Scalable Distributed Coordination System :\nAn article by Todd Hoff (07/15/2008)"],[1645,"ZooKeeper - Provides all runtime information for the XD cluster. Tracks running containers, in which containers modules\nand jobs are deployed, stream definitions, deployment manifests, and the like [30,31]."],[1318,"ZooKeeper also has the notion of ephemeral nodes. These znodes\nexists as long as the session that created the znode is active. When\nthe session ends the znode is deleted. Because of this behavior\nephemeral znodes are not allowed to have children. The list of ephemerals\nfor the session can be retrieved using getEphemerals() api."],[1810,"ZooKeeper also has the notion of ephemeral nodes. These znodes\nexists as long as the session that created the znode is active. When the\nsession ends the znode is deleted."],[1743,"ZooKeeper at Zynga is used for a variety of services including configuration management, leader election, sharding and more ."],[1153,"ZooKeeper C client API"],[1187,"ZooKeeper client comes with three standard ACLs:"],[1827,"ZooKeeper Components shows the high-level components\nof the ZooKeeper service. With the exception of the request processor,\neach of\nthe servers that make up the ZooKeeper service replicates its own copy\nof each of the components."],[472,"ZooKeeper consists of multiple components. Some components are\nsupported broadly, and other components are supported only on a smaller\nset of platforms."],[535,"ZooKeeper ensemble is usually has odd number of servers.\nThis is because with the even number of servers,\nthe capacity of failure tolerance is the same as\nthe ensemble with one less server\n(2 failures for both 5-node ensemble and 6-node ensemble),\nbut the ensemble has to maintain extra connections and\ndata transfers for one more server."],[1304,"ZooKeeper has a hierarchal namespace, much like a distributed file\nsystem. The only difference is that each node in the namespace can have\ndata associated with it as well as children. It is like having a file\nsystem that allows a file to also be a directory. Paths to nodes are\nalways expressed as canonical, absolute, slash-separated paths; there are\nno relative reference. Any unicode character can be used in a path subject\nto the following constraints:"],[1967,"ZooKeeper has a Java bindings and C bindings. They are\nfunctionally equivalent. The C bindings exist in two variants: single\nthreaded and multi-threaded. These differ only in how the messaging loop\nis done. For more information, see the Programming\nExamples in the ZooKeeper Programmer's Guide for\nsample code using the different APIs."],[1846,"ZooKeeper has been\nsuccessfully used\nin many industrial applications. It is used at Yahoo! as the\ncoordination and failure recovery service for Yahoo! Message\nBroker, which is a highly scalable publish-subscribe system\nmanaging thousands of topics for replication and data\ndelivery. It is used by the Fetching Service for Yahoo!\ncrawler, where it also manages failure recovery. A number of\nYahoo! advertising systems also use ZooKeeper to implement\nreliable services."],[959,"ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas."],[1170,"ZooKeeper has the following built in schemes:"],[1321,"ZooKeeper has the notion of container znodes. Container znodes are\nspecial purpose znodes useful for recipes such as leader, lock, etc.\nWhen the last child of a container is deleted, the container becomes\na candidate to be deleted by the server at some point in the future."],[1369,"ZooKeeper invokes matches(String id, String aclExpr) when checking an ACL. It\nneeds to match authentication information of the client against the relevant ACL\nentries. To find the entries which apply to the client, the ZooKeeper server will\nfind the scheme of each entry and if there is authentication information\nfrom that client for that scheme, matches(String id, String aclExpr)\nwill be called with id set to the authentication information\nthat was previously added to the connection by handleAuthentication and\naclExpr set to the id of the ACL entry. The authentication plugin\nuses its own logic and matching scheme to determine if id is included\nin aclExpr."],[1797,"ZooKeeper is a distributed, open-source coordination service for\ndistributed applications. It exposes a simple set of primitives that\ndistributed applications can build upon to implement higher level services\nfor synchronization, configuration maintenance, and groups and naming. It\nis designed to be easy to program to, and uses a data model styled after\nthe familiar directory tree structure of file systems. It runs in Java and\nhas bindings for both Java and C."],[1279,"ZooKeeper is a high performance, scalable service. Both reads and\nwrite operations are designed to be fast, though reads are faster than\nwrites. The reason for this is that in the case of reads, ZooKeeper can\nserve older data, which in turn is due to ZooKeeper's consistency\nguarantees:"],[1881,"ZooKeeper is a holistic protocol. We do not focus on individual proposals, rather\nwe look at the stream of proposals as a whole. Our strict ordering allows us to do this\nefficiently and greatly simplifies our protocol. Leadership activation embodies\nthis holistic concept. A leader becomes active only when a quorum of followers\n(the leader counts as a follower as well — you can always vote for yourself) has synced\nup with the leader: they have the same state. This state consists of all of the\nproposals that the leader believes have been committed and the proposal to follow\nthe leader, the NEW_LEADER proposal. (Hopefully you are thinking:\nDoes the set of proposals that the leader believes has been committed\ninclude all the proposals that really have been committed? The answer is yes.\nBelow, we make clear why.)"],[1833,"ZooKeeper is designed to be highly performance. But is it? The\nresults of the ZooKeeper's development team at Yahoo! Research indicate\nthat it is. It is especially high\nperformance in applications where reads outnumber writes, since writes\ninvolve synchronizing the state of all servers. (Reads outnumbering\nwrites is typically the case for a coordination service.)"],[980,"ZooKeeper is designed to withstand machine failures. A ZooKeeper cluster can automatically recover\nfrom temporary failures such as machine reboots, and can tolerate up to (N-1)/2 permanent failures\nfor a cluster of N members due to hardware failures or disk corruption. When a member permanently\nfails, it loses access to the cluster. If the cluster permanently loses more than (N-1)/2 members,\nit disastrously fails and loses quorum. Once quorum is lost, the cluster cannot reach consensus and\ntherefore cannot continue to accept updates."],[1805,"ZooKeeper is fast. It is\nespecially fast in \"read-dominant\" workloads. ZooKeeper applications run\non thousands of machines, and it performs best where reads are more\ncommon than writes, at ratios of around 10:1."],[1804,"ZooKeeper is ordered. ZooKeeper\nstamps each update with a number that reflects the order of all\nZooKeeper transactions. Subsequent operations can use the order to\nimplement higher-level abstractions, such as synchronization\nprimitives."],[1801,"ZooKeeper is replicated. Like the\ndistributed processes it coordinates, ZooKeeper itself is intended to be\nreplicated over a set of hosts called an ensemble."],[1799,"ZooKeeper is simple. ZooKeeper\nallows distributed processes to coordinate with each other through a\nshared hierarchical namespace which is organized similarly to a standard\nfile system. The namespace consists of data registers - called znodes,\nin ZooKeeper parlance - and these are similar to files and directories.\nUnlike a typical file system, which is designed for storage, ZooKeeper\ndata is kept in-memory, which means ZooKeeper can achieve high\nthroughput and low latency numbers."],[1923,"ZooKeeper is typically run in production such that INFO and above are output to the log."],[1631,"ZooKeeper is used as the core cloud component for node membership and management, coordination of jobs executing among workers,\na lock service and a simple queue service and a lot more ."],[1735,"ZooKeeper is used at Twitter as the source of truth for storing critical metadata. It serves as a coordination kernel to\nprovide distributed coordination services, such as leader election and distributed locking.\nSome concrete examples of ZooKeeper in action include [15,16]:"],[1742,"ZooKeeper is used for a myriad of services inside Yahoo! for doing leader election, configuration management, sharding, locking, group membership etc ."],[1726,"ZooKeeper is used for cluster messaging, service bootstrapping, and service coordination ."],[1721,"ZooKeeper is used for internal application development with Solr and Hadoop with Hbase ."],[1635,"Zookeeper is used for node, master and index management in the grid ."],[1667,"Zookeeper is used for service registration discovery and configuration management in Dubbo ."],[1736,"ZooKeeper is used to store service registry, which is used by Twitter’s naming service for service discovery."],[1813,"ZooKeeper is very fast and very simple. Since its goal, though, is\nto be a basis for the construction of more complicated services, such as\nsynchronization, it provides a set of guarantees. These are:"],[1950,"ZooKeeper logs messages using logback — more detail\navailable in the\nLogging\nsection of the Administrator's Guide. You will see log messages\ncoming to the console (default) and/or a log file depending on\nthe logback configuration."],[1658,"ZooKeeper maintains ephemeral cluster membership information. The Drillbits use ZooKeeper to find other Drillbits in the cluster,\nand the client uses ZooKeeper to find Drillbits to submit a query ."],[742,"ZooKeeper MBean Reference"],[1878,"ZooKeeper messaging consists of two phases:"],[1897,"ZooKeeper messaging operates similar to a classic two-phase commit."],[963,"ZooKeeper prints WARN messages if users exceed the quota assigned to them. The messages\nare printed in the log of the ZooKeeper."],[1914,"ZooKeeper provides users with the ability to configure servers to use majority quorums,\nweighted quorums, or a hierarchy of groups."],[1361,"ZooKeeper Recipes :\nPseudo-level discussion of the implementation of various\nsynchronization solutions with ZooKeeper: Event Handles, Queues,\nLocks, and Two-phase Commits."],[57,"ZooKeeper responds to a small set of commands. Each command is\ncomposed of four letters. You issue the commands to ZooKeeper via telnet\nor nc, at the client port."],[1364,"ZooKeeper runs in a variety of different environments with\nvarious different authentication schemes, so it has a completely\npluggable authentication framework. Even the builtin authentication\nschemes use the pluggable authentication framework."],[509,"ZooKeeper runs in Java, release 1.8 or greater\n(JDK 8 LTS, JDK 11 LTS, JDK 12 - Java 9 and 10 are not supported).\nIt runs as an ensemble of ZooKeeper servers. Three\nZooKeeper servers is the minimum recommended size for an\nensemble, and we also recommend that they run on separate\nmachines. At Yahoo!, ZooKeeper is usually deployed on\ndedicated RHEL boxes, with dual-core processors, 2GB of RAM,\nand 80GB IDE hard drives."],[1682,"ZooKeeper session management - when the local NameNode is healthy, the ZKFC holds a session open in ZooKeeper.\nIf the local NameNode is active, it also holds a special “lock” znode. This lock uses ZooKeeper’s support for “ephemeral” nodes;\nif the session expires, the lock node will be automatically deleted."],[1303,"ZooKeeper Stat Structure"],[442,"ZooKeeper stores its data in a data directory and its transaction\nlog in a transaction log directory. By default these two directories are\nthe same. The server can (and should) be configured to store the\ntransaction log files in a separate directory than the data files.\nThroughput increases and latency decreases when transaction logs reside\non a dedicated log devices."],[1156,"ZooKeeper supports pluggable authentication schemes. Ids are\nspecified using the form scheme:expression,\nwhere scheme is the authentication scheme\nthat the id corresponds to. The set of valid expressions are defined\nby the scheme. For example, ip:172.16.16.1 is\nan id for a host with the address 172.16.16.1\nusing the ip scheme, whereas digest:bob:password\nis an id for the user with the name of bob using\nthe digest scheme."],[813,"ZooKeeper supports SSL for the Prometheus metrics endpoint to provide secure data transmission."],[1811,"ZooKeeper supports the concept of watches.\nClients can set a watch on a znode. A watch will be triggered and\nremoved when the znode changes. When a watch is triggered, the client\nreceives a packet saying that the znode has changed. If the\nconnection between the client and one of the ZooKeeper servers is\nbroken, the client will receive a local notification."],[1158,"ZooKeeper supports the following permissions:"],[710,"ZooKeeper supports two types of Quorum Systems: the simple Majority system (where\nthe leader commits operations after receiving ACKs from a majority of voters) and a\nmore complex Hierarchical system (where votes of different servers have different\nweights and servers are divided into voting groups). Incremental reconfiguration is\ncurrently allowed only if the last proposed configuration uses a Majority Quorum\nSystem (BadArgumentsException is thrown otherwise)."],[1358,"ZooKeeper Talk at the Hadoop Summit 2008 :\nA video introduction to ZooKeeper, by Benjamin Reed of Yahoo!\nResearch"],[1325,"ZooKeeper tracks time multiple ways:"],[1831,"ZooKeeper uses a custom atomic messaging protocol. Since the\nmessaging layer is atomic, ZooKeeper can guarantee that the local\nreplicas never diverge. When the leader receives a write request, it\ncalculates what the state of the system is when the write is to be\napplied and transforms this into a transaction that captures this new\nstate."],[1154,"ZooKeeper uses ACLs to control access to its znodes (the\ndata nodes of a ZooKeeper data tree). The ACL implementation is\nquite similar to UNIX file access permissions: it employs\npermission bits to allow/disallow various operations against a\nnode and the scope to which the bits apply. Unlike standard UNIX\npermissions, a ZooKeeper node is not limited by the three standard\nscopes for user (owner of the file), group, and world\n(other). ZooKeeper does not have a notion of an owner of a\nznode. Instead, an ACL specifies sets of ids and permissions that\nare associated with those ids."],[25,"ZooKeeper uses SLF4J\nversion 1.7 as its logging infrastructure. By default ZooKeeper is shipped with\nLOGBack as the logging backend, but you can use\nany other supported logging framework of your choice."],[1915,"ZooKeeper uses slf4j as an abstraction layer for logging.\nLogback has been chosen as the logging backend since ZooKeeper 3.8.0.\nFor better embedding support, it is planned in the future to leave the choice of logging\nimplementation to the end user. Therefore, always use the slf4j API for log statements in code,\nbut configure Logback for runtime logging behavior.\nNote that slf4j has no FATAL level; former FATAL-level messages have been moved to ERROR.\nFor information on configuring Logback for ZooKeeper, see the\nLogging section of the\nZooKeeper Administrator's Guide."],[1317,"ZooKeeper was not designed to be a general database or large\nobject store. Instead, it manages coordination data. This data can\ncome in the form of configuration, status information, rendezvous, etc.\nA common property of the various forms of coordination data is that\nthey are relatively small: measured in kilobytes.\nThe ZooKeeper client and the server implementations have sanity checks\nto ensure that znodes have less than 1M of data, but the data should\nbe much less than that on average. Operating on relatively large data\nsizes will cause some operations to take much more time than others and\nwill affect the latencies of some operations because of the extra time\nneeded to move more data over the network and onto storage media. If\nlarge data storage is needed, the usual pattern of dealing with such\ndata is to store it on a bulk storage system, such as NFS or HDFS, and\nstore pointers to the storage locations in ZooKeeper."],[755,"ZooKeeper will register log4j MBeans if log4j1 is configured as the logging backend of SLF4J.\nIn the same section along the left hand side you will see\n\"log4j\". Expand that to manage log4j through JMX. Of particular\ninterest is the ability to dynamically change the logging levels\nused by editing the appender and root thresholds. Log4j MBean\nregistration can be disabled by passing\n-Dzookeeper.jmx.log4j.disable=true to the JVM\nwhen starting ZooKeeper. In addition, we can specify the name of\nthe MBean with the -Dzookeeper.jmx.log4j.mbean=log4j:hierarchy=default\noption, in case we need to upgrade an integrated system\nusing the old MBean name (log4j:hierarchy = default)."],[2118,"ZOOKEEPER-2108 - Compilation error in ZkAdaptor.cc with GCC 4.7 or later"],[2077,"ZOOKEEPER-2332 - Zookeeper failed to start for empty txn log"],[2100,"ZOOKEEPER-2590 - exists() should check read ACL permission"],[2078,"ZOOKEEPER-2623 - CheckVersion outside of Multi causes NullPointerException"],[2105,"ZOOKEEPER-3486 - add the doc about how to configure SSL/TLS for the admin server"],[2179,"ZOOKEEPER-3615 - write a TLA+ specification to verify Zab protocol"],[2119,"ZOOKEEPER-3652 - Improper synchronization in ClientCnxn"],[2146,"ZOOKEEPER-3731 - Disable HTTP TRACE Method"],[2147,"ZOOKEEPER-3806 - TLS - dynamic loading for client trust/key store"],[2148,"ZOOKEEPER-3860 - Avoid reverse DNS lookup for hostname verification when hostnames are provided in the connection url"],[2120,"ZOOKEEPER-3908 - zktreeutil multiple issues"],[2027,"ZOOKEEPER-3938 - Upgrade jline to version 3.x."],[2121,"ZOOKEEPER-3996 - Flaky test: ReadOnlyModeTest.testConnectionEvents"],[2041,"ZOOKEEPER-4020 - Memory leak in Zookeeper C Client"],[2122,"ZOOKEEPER-4026 - CREATE2 requests embedded in a MULTI request only get a regular CREATE response"],[2101,"ZOOKEEPER-4236 - Java Client SendThread create many unnecessary Login objects"],[2042,"ZOOKEEPER-4240 - IPV6 support in ZooKeeper ACL"],[2149,"ZOOKEEPER-4289 - Reduce the performance impact of Prometheus metrics"],[2079,"ZOOKEEPER-4293 - Lock Contention in ClientCnxnSocketNetty (possible deadlock)"],[2123,"ZOOKEEPER-4296 - NullPointerException when ClientCnxnSocketNetty is closed without being opened"],[2150,"ZOOKEEPER-4303 - ZooKeeperServerEmbedded could auto-assign and expose ports"],[2124,"ZOOKEEPER-4308 - Flaky test: EagerACLFilterTest.testSetDataFail"],[2117,"ZOOKEEPER-4327 - Flaky test: RequestThrottlerTest"],[2125,"ZOOKEEPER-4393 - Problem to connect to zookeeper in FIPS mode"],[2080,"ZOOKEEPER-4394 - Learner.syncWithLeader got NullPointerException"],[2081,"ZOOKEEPER-4409 - NullPointerException in SendAckRequestProcessor"],[2102,"ZOOKEEPER-4415 - Zookeeper 3.7.0 : The client supported protocol versions [TLSv1.3] are not accepted by server preferences"],[2151,"ZOOKEEPER-4464 - zooinspector display \"Ephemeral Owner\" in hex for easy match to jmx session"],[2126,"ZOOKEEPER-4466 - Support different watch modes on same path"],[2152,"ZOOKEEPER-4467 - Missing op code (addWatch) in Request.op2String"],[2127,"ZOOKEEPER-4471 - Remove WatcherType.Children break persistent watcher's child events"],[2153,"ZOOKEEPER-4472 - Support persistent watchers removing individually"],[2128,"ZOOKEEPER-4473 - zooInspector create root node fail with path validate"],[2154,"ZOOKEEPER-4474 - ZooDefs.opNames is unused"],[2129,"ZOOKEEPER-4475 - Persistent recursive watcher got NodeChildrenChanged event"],[2130,"ZOOKEEPER-4477 - Single Kerberos ticket renewal failure can prevent all future renewals since Java 9"],[2183,"ZOOKEEPER-4479 - Tests: C client test TestOperations.cc testTimeoutCausedByWatches1 is very flaky on CI"],[2184,"ZOOKEEPER-4482 - Fix LICENSE FILES for commons-io and commons-cli"],[2155,"ZOOKEEPER-4490 - Publish Clover results to SonarQube"],[2156,"ZOOKEEPER-4491 - Adding SSL support to Zktreeutil"],[2157,"ZOOKEEPER-4492 - Merge readOnly field into ConnectRequest and Response"],[2158,"ZOOKEEPER-4494 - Fix error message format"],[2131,"ZOOKEEPER-4504 - ZKUtil#deleteRecursive causing deadlock in HDFS HA functionality"],[2132,"ZOOKEEPER-4505 - CVE-2020-36518 - Upgrade jackson databind to 2.13.2.1"],[2082,"ZOOKEEPER-4508 - ZooKeeper client run to endless loop in ClientCnxn.SendThread.run if all server down"],[2133,"ZOOKEEPER-4511 - Flaky test: FileTxnSnapLogMetricsTest.testFileTxnSnapLogMetrics"],[2134,"ZOOKEEPER-4514 - ClientCnxnSocketNetty throwing NPE"],[2135,"ZOOKEEPER-4515 - ZK Cli quit command always logs error"],[2159,"ZOOKEEPER-4518 - remove useless log in the PrepRequestProcessor#pRequest method"],[2160,"ZOOKEEPER-4519 - Testable interface should have a testableCloseSocket() method"],[2161,"ZOOKEEPER-4529 - Upgrade netty to 4.1.76.Final"],[2162,"ZOOKEEPER-4531 - Revert Netty TCNative change"],[2136,"ZOOKEEPER-4537 - Race between SyncThread and CommitProcessor thread"],[2137,"ZOOKEEPER-4549 - ProviderRegistry may be repeatedly initialized"],[2163,"ZOOKEEPER-4551 - Do not log spammy stacktrace when a client closes its connection"],[2138,"ZOOKEEPER-4565 - Config watch path get truncated abnormally and fail chroot zookeeper client"],[2164,"ZOOKEEPER-4566 - Create tool for recursive snapshot analysis"],[2144,"ZOOKEEPER-4570 - Admin server API for taking snapshot and stream out the data"],[2165,"ZOOKEEPER-4573 - Encapsulate request bytebuffer in Request"],[2166,"ZOOKEEPER-4575 - ZooKeeperServer#processPacket take record instead of bytes"],[2185,"ZOOKEEPER-4599 - Upgrade Jetty to avoid CVE-2022-2048"],[2043,"ZOOKEEPER-4604 - Creating a COMPLETION_STRING_STAT would set acl_result completion"],[2167,"ZOOKEEPER-4616 - Upgrade docker image for the dev environment to resolve CVEs"],[2168,"ZOOKEEPER-4622 - Add Netty-TcNative OpenSSL Support"],[2177,"ZOOKEEPER-4630 - Fix the NPE from ConnectionMetricsTest.testRevalidateCount"],[2169,"ZOOKEEPER-4636 - Fix zkServer.sh for AIX"],[2186,"ZOOKEEPER-4641 - GH CI fails with error: implicit declaration of function FIPS_mode"],[2187,"ZOOKEEPER-4642 - Remove Travis CI"],[2139,"ZOOKEEPER-4647 - Tests don't pass on JDK20 because we try to mock InetAddress"],[2188,"ZOOKEEPER-4649 - Upgrade netty to 4.1.86 because of CVE-2022-41915"],[2140,"ZOOKEEPER-4654 - Fix C client test compilation error in Util.cc."],[2145,"ZOOKEEPER-4655 - Communicate the Zxid that triggered a WatchEvent to fire"],[2170,"ZOOKEEPER-4657 - Publish SBOM artifacts"],[2171,"ZOOKEEPER-4659 - Upgrade Commons CLI to 1.5.0 due to OWASP failing on 1.4 CVE-2021-37533"],[2172,"ZOOKEEPER-4660 - Suppress false positive OWASP failure for CVE-2021-37533"],[2173,"ZOOKEEPER-4661 - Upgrade Jackson Databind to 2.13.4.2 for CVE-2022-42003 CVE-2022-42004"],[2189,"ZOOKEEPER-4669 - Upgrade snappy-java to 1.1.9.1 (in order to support M1 macs)"],[2141,"ZOOKEEPER-4674 - C client tests don't pass on CI"],[2178,"ZOOKEEPER-4676 - ReadOnlyModeTest doesn't compile on JDK20 (Thread.suspend has been removed)"],[2190,"ZOOKEEPER-4688 - Upgrade cyclonedx-maven-plugin to 2.7.6"],[2044,"ZOOKEEPER-4699 - zh->hostname heap-use-after-free in zookeeper_interest"],[2191,"ZOOKEEPER-4700 - Update Jetty for fixing CVE-2023-26048 and CVE-2023-26049"],[2174,"ZOOKEEPER-4705 - Restrict GitHub merge button to allow squash commit only"],[2192,"ZOOKEEPER-4707 - Update snappy-java to address multiple CVEs"],[2193,"ZOOKEEPER-4709 - Upgrade Netty to 4.1.94.Final"],[2180,"ZOOKEEPER-4710 - Fix ZkUtil deleteInBatch() by releasing semaphore after set flag"],[2083,"ZOOKEEPER-4712 - Follower.shutdown() and Observer.shutdown() do not correctly shutdown the syncProcessor, which may lead to data inconsistency"],[2181,"ZOOKEEPER-4714 - Improve syncRequestProcessor performance"],[2182,"ZOOKEEPER-4715 - Verify file size and position in testGetCurrentLogSize."],[2194,"ZOOKEEPER-4716 - Upgrade jackson to 2.15.2, suppress two false positive CVE errors"],[2175,"ZOOKEEPER-4717 - Cache serialize data in the request to avoid repeat serialize."],[2176,"ZOOKEEPER-4718 - Removing unnecessary heap memory allocation in serialization can help reduce GC pressure."],[2142,"ZOOKEEPER-4719 - Use bouncycastle jdk18on instead of jdk15on"],[2143,"ZOOKEEPER-4721 - Upgrade OWASP Dependency Check to 8.3.1"],[2045,"ZOOKEEPER-4725 - TTL node creations do not appear in audit log"],[2099,"ZOOKEEPER-4728 - Zookeeper cannot bind to itself forever if DNS is not ready when startup"],[2103,"ZOOKEEPER-4730 - Incorrect datadir and logdir size reported from admin and 4lw dirs command"],[2112,"ZOOKEEPER-4732 - improve Reproducible Builds"],[2084,"ZOOKEEPER-4733 - non-return function error and asan error in CPPUNIT TESTs"],[2020,"ZOOKEEPER-4736 - socket fd leak"],[2091,"ZOOKEEPER-4747 - Java api lacks synchronous version of sync() call"],[2114,"ZOOKEEPER-4751 - Update snappy-java to 1.1.10.5 to address CVE-2023-43642"],[2085,"ZOOKEEPER-4752 - Remove version files in zookeeper-server/src/main from .gitignore"],[2113,"ZOOKEEPER-4753 - Explicit handling of DIGEST-MD5 vs GSSAPI in quorum auth"],[2115,"ZOOKEEPER-4754 - Update Jetty to avoid CVE-2023-36479, CVE-2023-40167, and CVE-2023-41900"],[2116,"ZOOKEEPER-4755 - Handle Netty CVE-2023-4586"],[2106,"ZOOKEEPER-4756 - Merge script should use GitHub api to merge pull requests"],[2107,"ZOOKEEPER-4778 - Patch jetty, netty, and logback to remove high severity vulnerabilities"],[2032,"ZOOKEEPER-4780 - Avoid creating temporary files in source directory."],[2104,"ZOOKEEPER-4785 - Txn loss due to race condition in Learner.syncWithLeader() during DIFF sync"],[2046,"ZOOKEEPER-4787 - Failed to establish connection between zookeeper"],[2067,"ZOOKEEPER-4790 - TLS Quorum hostname verification breaks in some scenarios"],[2108,"ZOOKEEPER-4794 - Reduce the ZKDatabase#committedLog memory usage"],[2109,"ZOOKEEPER-4799 - Refactor ACL check in addWatch command"],[2110,"ZOOKEEPER-4801 - Add memory size limitation policy for ZkDataBase#committedLog"],[2086,"ZOOKEEPER-4804 - Use daemon threads for Netty client"],[2111,"ZOOKEEPER-4807 - Add sid for the leader goodbye log"],[2047,"ZOOKEEPER-4810 - Fix data race in format_endpoint_info()"],[2087,"ZOOKEEPER-4814 - Protocol desynchronization after Connect for (some) old clients"],[2048,"ZOOKEEPER-4819 - Can't seek for writable tls server if connected to readonly server"],[2096,"ZOOKEEPER-4820 - zookeeper pom leaks logback dependency"],[2088,"ZOOKEEPER-4839 - When DigestMD5 is used to enable mandatory client authentication, users that do not exist can log in"],[2089,"ZOOKEEPER-4843 - Encountering an 'Unreasonable Length' error when configuring jute.maxbuffer to 1GB or more"],[2049,"ZOOKEEPER-4846 - Failure to reload database due to missing ACL"],[2050,"ZOOKEEPER-4848 - Possible stack overflow in setup_random"],[2092,"ZOOKEEPER-4850 - Enhance zkCli Tool to Support Reading and Writing Binary Data"],[2093,"ZOOKEEPER-4851 - Honor X-Forwarded-For optionally in IPAuthenticationProvider"],[2068,"ZOOKEEPER-4852 - Fix the bad \"*uuuuu\" mark in the ASF license"],[2051,"ZOOKEEPER-4858 - Remove the lock contention between snapshotting and the sync operation"],[2095,"ZOOKEEPER-4859 - C client tests hang to be cancelled quite often"],[2094,"ZOOKEEPER-4860 - Disable X-Forwarded-For in IPAuthenticationProvider by default"],[2097,"ZOOKEEPER-4868 - Bump commons-io library to 2.14.0"],[2021,"ZOOKEEPER-4871 - ZooKeeper python module (zkpython) is incompatible with Python 3.12"],[2052,"ZOOKEEPER-4872 - SnapshotCommand should not perform fastForwardFromEdits"],[2090,"ZOOKEEPER-4876 - jetty-http-9.4.53.v20231009.jar: CVE-2024-6763(3.7)"],[2053,"ZOOKEEPER-4886 - observer with small myid can't join SASL quorum"],[2054,"ZOOKEEPER-4889 - Fallback to DIGEST-MD5 auth mech should be disabled in Fips mode"],[2069,"ZOOKEEPER-4891 - Update logback to 1.3.15 to fix CVE-2024-12798."],[2036,"ZOOKEEPER-4891 updates logback-classic to 1.3.15 to solve CVE issues and slf4j-api to 2.0.13 to meet the compatibility requirement of logback."],[2066,"ZOOKEEPER-4895 - Introduce a helper function for C client to generate password for SASL authentication"],[2075,"ZOOKEEPER-4897 - Upgrade Netty to fix CVE-2025-24970 in ZooKeeper 3.9.3"],[2055,"ZOOKEEPER-4900 - Bump patch release of jetty to include CVE fix for CVE-2024-6763"],[2070,"ZOOKEEPER-4902 - Document that read-only mode also enables isro 4lw"],[2071,"ZOOKEEPER-4906 - Log full exception details for server JAAS config failure"],[2056,"ZOOKEEPER-4907 - Shouldn't throw \"Len error\" when server closing cause confusion"],[2057,"ZOOKEEPER-4909 - When a spurious wakeup occurs, the client's waiting time may exceed requestTimeout."],[2058,"ZOOKEEPER-4919 - ResponseCache supposed to be a LRU cache"],[2059,"ZOOKEEPER-4921 - Zookeeper Client 3.9.3 Fails to Reconnect After Network Failures"],[2060,"ZOOKEEPER-4925 - Diff sync introduce hole in stale follower's committedLog which cause data loss in leading"],[2061,"ZOOKEEPER-4928 - Version in zookeeper_version.h is not updated"],[2062,"ZOOKEEPER-4933 - Connection throttle exception causing all connections to be rejected"],[2063,"ZOOKEEPER-4940 - Enabling zookeeper.ssl.ocsp with JRE TLS provider errors out"],[2072,"ZOOKEEPER-4944 - Cache zookeeper dists for end to end compatibility tests"],[2064,"ZOOKEEPER-4953 - Fixing Typo In ZooKeeper Programmer's Guide"],[2073,"ZOOKEEPER-4954 - Use FIPS style hostname verification when no custom truststore is specified"],[2028,"ZOOKEEPER-4955 - Fix interference with jvm ssl properties for ssl.crl and ssl.ocsp"],[2022,"ZOOKEEPER-4958 - \"ssl.clientHostnameVerification\" is ignored if \"ssl.authProvider\" is configured to \"x509\""],[2076,"ZOOKEEPER-4959 - Fix license files after logback/slf4j upgrade"],[2065,"ZOOKEEPER-4960 - Upgrade OWASP plugin to 12.1.3 due to recent parsing errors"],[2029,"ZOOKEEPER-4962 - Add getPort and getSecurePort for ZooKeeperServerEmbedded"],[2074,"ZOOKEEPER-4964 - Check permissions individually during admin server auth"],[2030,"ZOOKEEPER-4965 - Drop unnecessary @SuppressWarnings(\"deprecation\")"],[2031,"ZOOKEEPER-4970 - Deprecate methods of ZKConfig which throw QuorumPeerConfig.ConfigException"],[2023,"ZOOKEEPER-4974 - Remove enforced JDK 17 compilation warnings"],[2033,"ZOOKEEPER-4976 - Update Netty to fix CVE-2025-58057"],[2024,"ZOOKEEPER-4984 - Upgrade OWASP plugin to 12.1.6 due to breaking changes in the API"],[2025,"ZOOKEEPER-4986 - Disable reverse DNS lookup in TLS client and server"],[2026,"ZOOKEEPER-4989 - Compilation of client on Windows with MSVC is broken"],[2034,"ZOOKEEPER-5017 - Upgrade Netty to 4.1.130.Final to address CVE-2025-67735"],[2035,"ZOOKEEPER-5018 - Upgrade Jetty to 9.4.58.v20250814 in order to fix CVE-2025-5115"],[2019,"ZOOKEEPER-842 - stat calls static method on org.apache.zookeeper.server.DataTree"],[2098,"ZOOKEEPER-910 - Use SelectionKey.isXYZ() methods instead of complicated binary logic"],[1683,"ZooKeeper-based election - if the local NameNode is healthy, and the ZKFC sees that no other node currently holds the lock znode,\nit will itself try to acquire the lock. If it succeeds, then it has “won the election”, and is responsible for running a failover to make its local NameNode active.\nThe failover process is similar to the manual failover described above: first, the previous active is fenced if necessary,\nand then the local NameNode transitions to active state ."],[1784,"ZooKeeper: A Distributed Coordination Service for Distributed Applications"],[340,"zookeeper.allowSaslFailedClients configuration\nis overruled. So even if server is configured to allow clients that fail SASL\nauthentication to login, client will not be able to establish a session with\nserver if this feature is enabled with sasl as authentication scheme."],[1228,"zookeeper.client.secure :\nNew in 3.5.5:\nIf you want to connect to the server secure client port, you need to set this property to\ntrue\non the client. This will connect to server using SSL with specified credentials. Note that\nit requires the Netty client."],[1229,"zookeeper.clientCnxnSocket :\nSpecifies which ClientCnxnSocket to be used. Possible values are\norg.apache.zookeeper.ClientCnxnSocketNIO\nand\norg.apache.zookeeper.ClientCnxnSocketNetty\n. Default is\norg.apache.zookeeper.ClientCnxnSocketNIO\n. If you want to connect to server's secure client port, you need to set this property to\norg.apache.zookeeper.ClientCnxnSocketNetty\non client."],[414,"zookeeper.commitProcessor.maxCommitBatchSize :\n(Java system property only: zookeeper.commitProcessor.maxCommitBatchSize)\nMax number of commits to process before processing reads. We will try to process as many\nremote/local commits as we can till we reach this count. A high commit batch size will delay\nreads while processing more commits. A low commit batch size will favor reads.\nIt is recommended to only set this property when an ensemble is serving a workload with a high\ncommit rate. If writes are known to arrive in a set number of batches then matching that\nbatch size with the value of this property can smooth queue performance. A generic\napproach would be to set this value to equal the ensemble size so that with the processing\nof each batch the current server will probabilistically handle a write related to one of\nits direct clients.\nDefault is \"1\". Negative and zero values are not supported."],[413,"zookeeper.commitProcessor.maxReadBatchSize :\n(Java system property only: zookeeper.commitProcessor.maxReadBatchSize)\nMax number of reads to process from queuedRequests before switching to processing commits.\nIf the value < 0 (default), we switch whenever we have a local write, and pending commits.\nA high read batch size will delay commit processing, causing stale data to be served.\nIf reads are known to arrive in fixed size batches then matching that batch size with\nthe value of this property can smooth queue performance. Since reads are handled in parallel,\none recommendation is to set this property to match zookeeper.commitProcessor.numWorkerThread\n(default is the number of cpu cores) or lower."],[412,"zookeeper.commitProcessor.numWorkerThreads :\n(Java system property only: zookeeper.commitProcessor.numWorkerThreads)\nNew in 3.5.0:\nNumber of Commit Processor worker threads. If configured with 0 worker threads, the main thread\nwill process the request directly. The default value is the number of cpu cores."],[224,"zookeeper.connection_throttle_global_session_weight :\n(Java system property only)\nNew in 3.6.0:\nThe weight of a global session. It is the number of tokens required for a global session request to get through the connection throttler. It has to be a positive integer no smaller than the weight of a local session. The default is 3."],[225,"zookeeper.connection_throttle_local_session_weight :\n(Java system property only)\nNew in 3.6.0:\nThe weight of a local session. It is the number of tokens required for a local session request to get through the connection throttler. It has to be a positive integer no larger than the weight of a global session or a renew session. The default is 1."],[226,"zookeeper.connection_throttle_renew_session_weight :\n(Java system property only)\nNew in 3.6.0:\nThe weight of renewing a session. It is also the number of tokens required for a reconnect request to get through the throttler. It has to be a positive integer no smaller than the weight of a local session. The default is 2."],[223,"zookeeper.connection_throttle_weight_enabled :\n(Java system property only)\nNew in 3.6.0:\nWhether to consider connection weights when throttling. Only useful when connection throttle is enabled, that is, connectionMaxTokens is larger than 0. The default is false."],[1061,"zookeeper.connectString — connection string (e.g. 127.0.0.1:2181/benchmark)"],[1227,"zookeeper.disableAutoWatchReset :\nThis switch controls whether automatic watch resetting is enabled. Clients automatically\nreset watches during session reconnect by default, this option allows the client to turn off\nthis behavior by setting zookeeper.disableAutoWatchReset to true."],[332,"zookeeper.ensembleAuthName :\n(Java system property only: zookeeper.ensembleAuthName)\nNew in 3.6.0:\nSpecify a list of comma-separated valid names/aliases of an ensemble. A client\ncan provide the ensemble name it intends to connect as the credential for scheme \"ensemble\". The EnsembleAuthenticationProvider will check the credential against\nthe list of names/aliases of the ensemble that receives the connection request.\nIf the credential is not in the list, the connection request will be refused.\nThis prevents a client accidentally connecting to a wrong ensemble."],[385,"zookeeper.follower.skipLearnerRequestToNextProcessor :\n(Java system property: zookeeper.follower.skipLearnerRequestToNextProcessor)\nWhen our cluster has observers which are connected with ObserverMaster, then turning on this flag might help\nyou reduce some memory pressure on the Observer Master. If your cluster doesn't have any observers or\nthey are not connected with ObserverMaster or your Observer's don't make much writes, then using this flag\nwon't help you.\nCurrently the change here is guarded behind the flag to help us get more confidence around the memory gains.\nIn Long run, we might want to remove this flag and set its behavior as the default codepath."],[1238,"zookeeper.hostProvider.dnsSrvRefreshIntervalSeconds :\nNew in 3.10.0:\nSpecifies the refresh interval in seconds for DNS SRV record lookups when using DnsSrvHostProvider.\nA value of 0 disables periodic refresh.\nDefault: 60 seconds"],[1236,"zookeeper.kinit :\nSpecifies path to kinit binary. Default is \"/usr/bin/kinit\"."],[419,"zookeeper.messageTracker.BufferSize :\n(Java system property only)\nControls the maximum number of messages stored in MessageTracker. Value should be positive\nintegers. The default value is 10. MessageTracker is introduced in 3.6.0 to record the\nlast set of messages between a server (follower or observer) and a leader, when a server\ndisconnects with leader. These set of messages will then be dumped to zookeeper's log file,\nand will help reconstruct the state of the servers at the time of the disconnection and\nwill be useful for debugging purpose."],[420,"zookeeper.messageTracker.Enabled :\n(Java system property only)\nWhen set to \"true\", will enable MessageTracker to track and record messages. Default value\nis \"false\"."],[410,"zookeeper.nio.numSelectorThreads :\n(Java system property only: zookeeper.nio.numSelectorThreads)\nNew in 3.5.0:\nNumber of NIO selector threads. At least 1 selector thread required.\nIt is recommended to use more than one selector for large numbers\nof client connections. The default value is sqrt( number of cpu cores / 2 )."],[411,"zookeeper.nio.numWorkerThreads :\n(Java system property only: zookeeper.nio.numWorkerThreads)\nNew in 3.5.0:\nNumber of NIO worker threads. If configured with 0 worker threads, the selector threads\ndo the socket I/O directly. The default value is 2 times the number of cpu cores."],[238,"zookeeper.request_throttler.shutdownTimeout :\n(Java system property only)\nNew in 3.6.0:\nThe time (in milliseconds) the RequestThrottler waits for the request queue to drain during shutdown before it shuts down forcefully. The default is 10000."],[1220,"zookeeper.sasl.client :\nSet the value to false to disable\nSASL authentication. Default is true."],[1225,"zookeeper.sasl.client.allowReverseDnsLookup :\nNew in 3.9.5:\nControls whether reverse DNS lookup is enabled when constructing the server principal for the SASL client.\nDefault: false"],[1224,"zookeeper.sasl.client.canonicalize.hostname :\nExpecting the zookeeper.server.principal parameter is not provided, the ZooKeeper client will try to\ndetermine the 'instance' (host) part of the ZooKeeper server principal. First it takes the hostname provided\nas the ZooKeeper server connection string. Then it tries to 'canonicalize' the address by getting\nthe fully qualified domain name belonging to the address. You can disable this 'canonicalization'\nby setting: zookeeper.sasl.client.canonicalize.hostname=false"],[1223,"zookeeper.sasl.client.username :\nTraditionally, a principal is divided into three parts: the primary, the instance, and the realm.\nThe format of a typical Kerberos V5 principal is primary/instance@REALM.\nzookeeper.sasl.client.username specifies the primary part of the server principal. Default\nis \"zookeeper\". Instance part is derived from the server IP. Finally server's principal is\nusername/IP@realm, where username is the value of zookeeper.sasl.client.username, IP is\nthe server IP, and realm is the value of zookeeper.server.realm."],[1221,"zookeeper.sasl.clientconfig :\nSpecifies the context key in the JAAS login file. Default is \"Client\"."],[1222,"zookeeper.server.principal :\nSpecifies the server principal to be used by the client for authentication, while connecting to the zookeeper\nserver, when Kerberos authentication is enabled. If this configuration is provided, then\nthe ZooKeeper client will NOT USE any of the following parameters to determine the server principal:"],[1226,"zookeeper.server.realm :\nRealm part of the server principal. By default it is the client principal realm."],[1062,"zookeeper.sessionTimeout — session timeout in milliseconds"],[1237,"zookeeper.shuffleDnsResponse :\nNew in 3.10.0:\nSpecifies whether ZooKeeper client should randomly pick an IP address from the DNS lookup query result when resolving\nserver addresses or not. This is a feature flag in order to keep the old behavior of the default DNS resolver in\nStaticHostProvider, because we disabled it by default. The reason behind that is shuffling the response of DNS queries\nshadows JVM network property java.net.preferIPv6Addresses (default: false). This property controls whether JVM's built-in\nresolver should prioritize v4 (false value) or v6 (true value) addresses when putting together the list of IP addresses\nin the result. In other words the above Java system property was completely ineffective in the case of ZooKeeper server host\nresolution protocol and this must have been fixed. In a dual stack environment one might want to prefer one stack over\nthe other which, in case of Java processes, should be controlled by JVM network properties and ZooKeeper must honor\nthese settings. Since the old behavior has been with us since day zero, we introduced this feature flag in case you\nneed it. Such case could be when you have a buggy DNS server which responds IP addresses always in the same order and\nyou want to randomize that.\nDefault: false"],[1230,"zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password :\nNew in 3.5.5:\nSpecifies the file path to a JKS containing the local credentials to be used for SSL connections,\nand the password to unlock the file."],[1231,"zookeeper.ssl.keyStore.passwordPath :\nNew in 3.8.0:\nSpecifies the file path which contains the keystore password"],[1234,"zookeeper.ssl.keyStore.type and zookeeper.ssl.trustStore.type:\nNew in 3.5.5:\nSpecifies the file format of keys/trust store files used to establish TLS connection to the ZooKeeper server.\nValues: JKS, PEM, PKCS12 or null (detect by filename). Default: null.\nNew in 3.6.3, 3.7.0:\nThe format BCFKS was added."],[1232,"zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password :\nNew in 3.5.5:\nSpecifies the file path to a JKS containing the remote credentials to be used for SSL connections,\nand the password to unlock the file."],[1233,"zookeeper.ssl.trustStore.passwordPath :\nNew in 3.8.0:\nSpecifies the file path which contains the truststore password"],[330,"zookeeper.superUser :\n(Java system property: zookeeper.superUser)\nSimilar to zookeeper.X509AuthenticationProvider.superUser\nbut is generic for SASL based logins. It stores the name of\na user that can access the znode hierarchy as a \"super\" user.\nYou can specify multiple SASL super users using the\nzookeeper.superUser.[suffix] notation, e.g.:\nzookeeper.superUser.1=...."],[1063,"zookeeper.watchFlag — enable ZooKeeper watches (true or false, default false). This measures the effect of watch overhead on read/write performance, not watch notification latency."],[174,"ZooKeeper's behavior is governed by the ZooKeeper configuration\nfile. This file is designed so that the exact same file can be used by\nall the servers that make up a ZooKeeper server assuming the disk\nlayouts are the same. If servers use different configuration files, care\nmust be taken to ensure that the list of servers in all of the different\nconfiguration files match."],[1787,"ZooKeeper's Hierarchical Namespace"],[538,"ZooKeeper's transaction log must be on a dedicated\ndevice. (A dedicated partition is not enough.) ZooKeeper\nwrites the log sequentially, without seeking Sharing your\nlog device with other processes can cause seeks and\ncontention, which in turn can cause multi-second\ndelays."],[1769,"ZooKeeperHiveLockManager implementation in the hive code base"],[785,"ZooKeeperServer"],[1374,"ZooKeeperServer\nThe ZooKeeperServer instance"],[1418,"ZooKeeperServer(Standalone) uses SessionTrackerImpl; LeaderZookeeper uses LeaderSessionTracker which holds\nSessionTrackerImpl(global) and LocalSessionTracker(if enable); FollowerZooKeeperServer and ObserverZooKeeperServer\nuse LearnerSessionTracker which holds LocalSessionTracker.\nThe UML Graph of Classes about session:"],[1326,"Zxid\nEvery change to the ZooKeeper state receives a stamp in the\nform of a zxid (ZooKeeper Transaction Id).\nThis exposes the total ordering of all changes to ZooKeeper. Each\nchange will have a unique zxid and if zxid1 is smaller than zxid2\nthen zxid1 happened before zxid2."],[1623,"Zynga"]],"type":"string"},"page_id":{"docs":{"1":68,"2":69,"3":70,"4":71,"5":72,"6":73,"7":74,"8":75,"9":76,"10":77,"11":78,"12":79,"13":80,"14":81,"15":82,"16":83,"17":84,"18":85,"19":86,"20":87,"21":88,"22":89,"23":90,"24":91,"25":92,"26":93,"27":94,"28":95,"29":96,"30":97,"31":98,"32":99,"33":100,"34":101,"35":102,"36":103,"37":104,"38":105,"39":106,"40":107,"41":108,"42":109,"43":110,"44":111,"45":112,"46":113,"47":114,"48":115,"49":116,"50":117,"51":118,"52":119,"53":120,"54":121,"55":122,"56":123,"57":124,"58":125,"59":126,"60":127,"61":128,"62":129,"63":130,"64":131,"65":132,"66":133,"67":134,"68":135,"69":136,"70":137,"71":138,"72":139,"73":140,"74":141,"75":142,"76":143,"77":144,"78":145,"79":146,"80":147,"81":148,"82":149,"83":150,"84":151,"85":152,"86":153,"87":154,"88":155,"89":156,"90":157,"91":158,"92":159,"93":160,"94":161,"95":162,"96":163,"97":164,"98":165,"99":166,"100":167,"101":168,"102":169,"103":170,"104":171,"105":172,"106":173,"107":174,"108":175,"109":176,"110":177,"111":178,"112":179,"113":180,"114":181,"115":182,"116":183,"117":184,"118":185,"119":186,"120":187,"121":188,"122":189,"123":190,"124":191,"125":192,"126":193,"127":194,"128":195,"129":196,"130":197,"131":198,"132":199,"133":200,"134":201,"135":202,"136":203,"137":204,"138":205,"139":206,"140":207,"141":208,"142":209,"143":210,"144":211,"145":212,"146":213,"147":214,"148":215,"149":216,"150":217,"151":218,"152":219,"153":220,"154":221,"155":222,"156":223,"157":224,"158":225,"159":226,"160":227,"161":228,"162":229,"163":230,"164":231,"165":232,"166":233,"167":234,"168":235,"169":236,"170":237,"171":238,"172":239,"173":240,"174":241,"175":242,"176":243,"177":244,"178":245,"179":246,"180":247,"181":248,"182":249,"183":250,"184":251,"185":252,"186":253,"187":254,"188":255,"189":256,"190":257,"191":258,"192":259,"193":260,"194":261,"195":262,"196":263,"197":264,"198":265,"199":266,"200":267,"201":268,"202":269,"203":270,"204":271,"205":272,"206":273,"207":274,"208":275,"209":276,"210":277,"211":278,"212":279,"213":280,"214":281,"215":282,"216":283,"217":284,"218":285,"219":286,"220":287,"221":288,"222":289,"223":290,"224":291,"225":292,"226":293,"227":294,"228":295,"229":296,"230":297,"231":298,"232":299,"233":300,"234":301,"235":302,"236":303,"237":304,"238":305,"239":306,"240":307,"241":308,"242":309,"243":310,"244":311,"245":312,"246":313,"247":314,"248":315,"249":316,"250":317,"251":318,"252":319,"253":320,"254":321,"255":322,"256":323,"257":324,"258":325,"259":326,"260":327,"261":328,"262":329,"263":330,"264":331,"265":332,"266":333,"267":334,"268":335,"269":336,"270":337,"271":338,"272":339,"273":340,"274":341,"275":342,"276":343,"277":344,"278":345,"279":346,"280":347,"281":348,"282":349,"283":350,"284":351,"285":352,"286":353,"287":354,"288":355,"289":356,"290":357,"291":358,"292":359,"293":360,"294":361,"295":362,"296":363,"297":364,"298":365,"299":366,"300":367,"301":368,"302":369,"303":370,"304":371,"305":372,"306":373,"307":374,"308":375,"309":376,"310":377,"311":378,"312":379,"313":380,"314":381,"315":382,"316":383,"317":384,"318":385,"319":386,"320":387,"321":388,"322":389,"323":390,"324":391,"325":392,"326":393,"327":394,"328":395,"329":396,"330":397,"331":398,"332":399,"333":400,"334":401,"335":402,"336":403,"337":404,"338":405,"339":406,"340":407,"341":408,"342":409,"343":410,"344":411,"345":412,"346":413,"347":414,"348":415,"349":416,"350":417,"351":418,"352":419,"353":420,"354":421,"355":422,"356":423,"357":424,"358":425,"359":426,"360":427,"361":428,"362":429,"363":430,"364":431,"365":432,"366":433,"367":434,"368":435,"369":436,"370":437,"371":438,"372":439,"373":440,"374":441,"375":442,"376":443,"377":444,"378":445,"379":446,"380":447,"381":448,"382":449,"383":450,"384":451,"385":452,"386":453,"387":454,"388":455,"389":456,"390":457,"391":458,"392":459,"393":460,"394":461,"395":462,"396":463,"397":464,"398":465,"399":466,"400":467,"401":468,"402":469,"403":470,"404":471,"405":472,"406":473,"407":474,"408":475,"409":476,"410":477,"411":478,"412":479,"413":480,"414":481,"415":482,"416":483,"417":484,"418":485,"419":486,"420":487,"421":488,"422":489,"423":490,"424":491,"425":492,"426":493,"427":494,"428":495,"429":496,"430":497,"431":498,"432":499,"433":500,"434":501,"435":502,"436":503,"437":504,"438":505,"439":506,"440":507,"441":508,"442":509,"443":510,"444":511,"445":512,"446":513,"447":514,"448":515,"449":516,"450":517,"451":518,"452":519,"453":520,"454":521,"455":522,"456":523,"457":524,"458":525,"459":526,"460":527,"461":528,"462":529,"463":530,"464":531,"465":532,"466":533,"467":534,"468":535,"469":536,"470":537,"471":538,"472":539,"473":540,"474":541,"475":542,"476":543,"477":544,"478":545,"479":546,"480":547,"481":548,"482":549,"483":550,"484":551,"485":552,"486":553,"487":554,"488":555,"489":556,"490":557,"491":558,"492":559,"493":560,"494":561,"495":562,"496":563,"497":564,"498":565,"499":566,"500":567,"501":568,"502":569,"503":570,"504":571,"505":572,"506":573,"507":574,"508":575,"509":576,"510":577,"511":578,"512":579,"513":580,"514":581,"515":582,"516":583,"517":584,"518":585,"519":586,"520":587,"521":588,"522":589,"523":590,"524":591,"525":592,"526":593,"527":594,"528":595,"529":596,"530":597,"531":598,"532":599,"533":600,"534":601,"535":602,"536":603,"537":604,"538":605,"539":606,"540":66,"541":67,"542":607,"543":608,"544":609,"545":610,"546":611,"547":612,"548":613,"549":614,"550":615,"551":616,"552":617,"553":618,"554":619,"555":620,"556":621,"557":622,"558":623,"559":624,"560":625,"561":626,"562":627,"563":628,"564":629,"565":630,"566":631,"567":632,"568":633,"569":634,"570":635,"571":636,"572":637,"573":638,"574":639,"575":640,"576":641,"577":642,"578":643,"579":644,"580":645,"581":646,"582":647,"583":648,"584":649,"585":650,"586":651,"587":652,"588":653,"589":654,"590":655,"591":656,"592":657,"593":658,"594":659,"595":660,"596":661,"597":662,"598":663,"599":664,"600":665,"601":666,"602":667,"603":668,"604":669,"605":670,"606":671,"607":672,"608":673,"609":674,"610":675,"611":676,"612":677,"613":678,"614":679,"615":680,"616":681,"617":682,"618":683,"619":684,"620":685,"621":686,"622":687,"623":688,"624":689,"625":690,"626":691,"627":692,"628":693,"629":694,"630":695,"631":696,"632":697,"633":698,"634":699,"635":700,"636":701,"637":702,"638":703,"639":704,"640":705,"641":706,"642":707,"643":708,"644":709,"645":710,"646":711,"647":712,"648":713,"649":714,"650":715,"651":716,"652":717,"653":718,"654":719,"655":720,"656":721,"657":722,"658":723,"659":724,"660":725,"661":726,"662":727,"663":728,"664":729,"665":730,"666":731,"667":732,"668":733,"669":734,"670":735,"671":736,"672":737,"673":738,"674":739,"675":740,"676":741,"677":742,"678":743,"679":744,"680":745,"681":746,"682":747,"683":748,"684":749,"685":750,"686":751,"687":752,"688":753,"689":754,"690":755,"691":756,"692":757,"693":758,"694":759,"695":760,"696":761,"697":762,"698":763,"699":764,"700":765,"701":766,"702":767,"703":768,"704":769,"705":770,"706":771,"707":772,"708":773,"709":774,"710":775,"711":776,"712":777,"713":778,"714":779,"715":780,"716":781,"717":782,"718":783,"719":784,"720":785,"721":786,"722":787,"723":788,"724":789,"725":790,"726":791,"727":792,"728":793,"729":794,"730":795,"731":796,"732":797,"733":798,"734":799,"735":800,"736":801,"737":802,"738":803,"739":804,"740":805,"741":806,"742":807,"743":808,"744":809,"745":810,"746":811,"747":812,"748":813,"749":814,"750":815,"751":816,"752":817,"753":818,"754":819,"755":820,"756":821,"757":822,"758":823,"759":824,"760":825,"761":826,"762":827,"763":828,"764":829,"765":830,"766":831,"767":832,"768":833,"769":834,"770":835,"771":836,"772":837,"773":838,"774":839,"775":840,"776":841,"777":842,"778":843,"779":844,"780":845,"781":846,"782":847,"783":848,"784":849,"785":850,"786":851,"787":852,"788":853,"789":854,"790":855,"791":856,"792":857,"793":858,"794":859,"795":860,"796":861,"797":862,"798":863,"799":864,"800":865,"801":866,"802":867,"803":868,"804":869,"805":870,"806":871,"807":872,"808":873,"809":874,"810":875,"811":876,"812":877,"813":878,"814":879,"815":880,"816":881,"817":882,"818":883,"819":884,"820":885,"821":886,"822":887,"823":888,"824":889,"825":890,"826":891,"827":892,"828":893,"829":894,"830":895,"831":896,"832":897,"833":898,"834":899,"835":900,"836":901,"837":902,"838":903,"839":904,"840":905,"841":906,"842":907,"843":908,"844":909,"845":910,"846":911,"847":912,"848":913,"849":914,"850":915,"851":916,"852":917,"853":918,"854":919,"855":920,"856":921,"857":922,"858":923,"859":924,"860":925,"861":926,"862":927,"863":928,"864":929,"865":930,"866":931,"867":932,"868":933,"869":934,"870":935,"871":936,"872":937,"873":938,"874":939,"875":940,"876":941,"877":942,"878":943,"879":944,"880":945,"881":946,"882":947,"883":948,"884":949,"885":950,"886":951,"887":952,"888":953,"889":954,"890":955,"891":956,"892":957,"893":958,"894":959,"895":960,"896":961,"897":962,"898":963,"899":964,"900":965,"901":966,"902":967,"903":968,"904":969,"905":970,"906":971,"907":972,"908":973,"909":974,"910":975,"911":976,"912":977,"913":978,"914":979,"915":980,"916":981,"917":982,"918":983,"919":984,"920":985,"921":986,"922":987,"923":988,"924":989,"925":990,"926":991,"927":992,"928":993,"929":994,"930":995,"931":996,"932":997,"933":998,"934":999,"935":1000,"936":1001,"937":1002,"938":1003,"939":1004,"940":1005,"941":1006,"942":1007,"943":1008,"944":1009,"945":1010,"946":1011,"947":1012,"948":1013,"949":1014,"950":1015,"951":1016,"952":1017,"953":1018,"954":1019,"955":1020,"956":1021,"957":1022,"958":1023,"959":1024,"960":1025,"961":1026,"962":1027,"963":1028,"964":1029,"965":1030,"966":1031,"967":1032,"968":1033,"969":1034,"970":1035,"971":1036,"972":1037,"973":1038,"974":1039,"975":1040,"976":1041,"977":1042,"978":1043,"979":1044,"980":1045,"981":1046,"982":1047,"983":1048,"984":1049,"985":1050,"986":1051,"987":1052,"988":1053,"989":1054,"990":1055,"991":1056,"992":1057,"993":1058,"994":1059,"995":1060,"996":1061,"997":1062,"998":1063,"999":1064,"1000":1065,"1001":1066,"1002":1067,"1003":1068,"1004":1069,"1005":1070,"1006":1071,"1007":1072,"1008":1073,"1009":1074,"1010":1075,"1011":1076,"1012":1077,"1013":1078,"1014":1079,"1015":1080,"1016":1081,"1017":1082,"1018":1083,"1019":1084,"1020":1085,"1021":1086,"1022":1087,"1023":1088,"1024":1089,"1025":1090,"1026":1091,"1027":1092,"1028":1093,"1029":1094,"1030":1095,"1031":1096,"1032":1097,"1033":1098,"1034":1099,"1035":1100,"1036":1101,"1037":1102,"1038":1103,"1039":1104,"1040":1105,"1041":1106,"1042":1107,"1043":1108,"1044":1109,"1045":1110,"1046":1111,"1047":1112,"1048":1113,"1049":1114,"1050":1115,"1051":1116,"1052":1117,"1053":1118,"1054":1119,"1055":1120,"1056":1121,"1057":1122,"1058":1123,"1059":1124,"1060":1125,"1061":1126,"1062":1127,"1063":1128,"1064":1129,"1065":1130,"1066":1131,"1067":1132,"1068":1133,"1069":1134,"1070":1135,"1071":1136,"1072":1137,"1073":1138,"1074":1139,"1075":1140,"1076":1141,"1077":1142,"1078":1143,"1079":1144,"1080":1145,"1081":1146,"1082":1147,"1083":1148,"1084":1149,"1085":1150,"1086":1151,"1087":1152,"1088":1153,"1089":1154,"1090":1155,"1091":1156,"1092":1157,"1093":1158,"1094":1159,"1095":1160,"1096":1161,"1097":1162,"1098":1163,"1099":1164,"1100":1165,"1101":1166,"1102":1167,"1103":1168,"1104":1169,"1105":1170,"1106":1171,"1107":1172,"1108":1173,"1109":1174,"1110":1175,"1111":1176,"1112":1177,"1113":1178,"1114":1179,"1115":1180,"1116":1181,"1117":1182,"1118":1183,"1119":1184,"1120":1185,"1121":1186,"1122":1187,"1123":1188,"1124":1189,"1125":1190,"1126":1191,"1127":1192,"1128":1193,"1129":1194,"1130":1195,"1131":1196,"1132":1197,"1133":1198,"1134":1199,"1135":1200,"1136":1201,"1137":1202,"1138":1203,"1139":1204,"1140":1205,"1141":1206,"1142":1207,"1143":1208,"1144":1209,"1145":1210,"1146":1211,"1147":1212,"1148":1213,"1149":1226,"1150":1227,"1151":1228,"1152":1229,"1153":1230,"1154":1231,"1155":1232,"1156":1233,"1157":1234,"1158":1235,"1159":1236,"1160":1237,"1161":1238,"1162":1239,"1163":1240,"1164":1241,"1165":1242,"1166":1243,"1167":1244,"1168":1245,"1169":1246,"1170":1247,"1171":1248,"1172":1249,"1173":1250,"1174":1251,"1175":1252,"1176":1253,"1177":1254,"1178":1255,"1179":1256,"1180":1257,"1181":1258,"1182":1259,"1183":1260,"1184":1261,"1185":1262,"1186":1263,"1187":1264,"1188":1265,"1189":1266,"1190":1267,"1191":1268,"1192":1269,"1193":1270,"1194":1271,"1195":1272,"1196":1273,"1197":1274,"1198":1275,"1199":1276,"1200":1277,"1201":1278,"1202":1279,"1203":1280,"1204":1281,"1205":1282,"1206":1283,"1207":1284,"1208":1285,"1209":1286,"1210":1287,"1211":1288,"1212":1289,"1213":1290,"1214":1291,"1215":1292,"1216":1293,"1217":1294,"1218":1295,"1219":1296,"1220":1297,"1221":1298,"1222":1299,"1223":1300,"1224":1301,"1225":1302,"1226":1303,"1227":1304,"1228":1305,"1229":1306,"1230":1307,"1231":1308,"1232":1309,"1233":1310,"1234":1311,"1235":1312,"1236":1313,"1237":1314,"1238":1315,"1239":1316,"1240":1317,"1241":1318,"1242":1319,"1243":1320,"1244":1321,"1245":1322,"1246":1323,"1247":1324,"1248":1325,"1249":1326,"1250":1327,"1251":1328,"1252":1329,"1253":1330,"1254":1331,"1255":1332,"1256":1333,"1257":1334,"1258":1335,"1259":1336,"1260":1337,"1261":1338,"1262":1339,"1263":1340,"1264":1341,"1265":1342,"1266":1343,"1267":1344,"1268":1345,"1269":1346,"1270":1347,"1271":1348,"1272":1349,"1273":1350,"1274":1351,"1275":1352,"1276":1353,"1277":1354,"1278":1355,"1279":1356,"1280":1357,"1281":1358,"1282":1359,"1283":1360,"1284":1361,"1285":1362,"1286":1363,"1287":1364,"1288":1365,"1289":1366,"1290":1367,"1291":1368,"1292":1369,"1293":1370,"1294":1371,"1295":1372,"1296":1373,"1297":1374,"1298":1375,"1299":1376,"1300":1377,"1301":1378,"1302":1379,"1303":1380,"1304":1381,"1305":1382,"1306":1383,"1307":1384,"1308":1385,"1309":1386,"1310":1387,"1311":1388,"1312":1389,"1313":1390,"1314":1391,"1315":1392,"1316":1393,"1317":1394,"1318":1395,"1319":1396,"1320":1397,"1321":1398,"1322":1399,"1323":1400,"1324":1401,"1325":1402,"1326":1403,"1327":1404,"1328":1405,"1329":1406,"1330":1407,"1331":1408,"1332":1409,"1333":1410,"1334":1411,"1335":1412,"1336":1413,"1337":1414,"1338":1415,"1339":1416,"1340":1417,"1341":1418,"1342":1419,"1343":1420,"1344":1421,"1345":1422,"1346":1423,"1347":1424,"1348":1425,"1349":1426,"1350":1214,"1351":1215,"1352":1216,"1353":1217,"1354":1218,"1355":1219,"1356":1220,"1357":1221,"1358":1222,"1359":1223,"1360":1224,"1361":1225,"1362":1427,"1363":1428,"1364":1429,"1365":1430,"1366":1431,"1367":1432,"1368":1433,"1369":1434,"1370":1435,"1371":1436,"1372":1437,"1373":1438,"1374":1439,"1375":1440,"1376":1441,"1377":1442,"1378":1443,"1379":1444,"1380":1445,"1381":1446,"1382":1447,"1383":1448,"1384":1449,"1385":1450,"1386":1451,"1387":1452,"1388":1453,"1389":1454,"1390":1455,"1391":1456,"1392":1457,"1393":1458,"1394":1459,"1395":1460,"1396":1461,"1397":1462,"1398":1463,"1399":1464,"1400":1465,"1401":1466,"1402":1467,"1403":1468,"1404":1469,"1405":1470,"1406":1471,"1407":1472,"1408":1473,"1409":1474,"1410":1475,"1411":1476,"1412":1477,"1413":1478,"1414":1479,"1415":1480,"1416":1481,"1417":1482,"1418":1483,"1419":1484,"1420":1485,"1421":1486,"1422":1487,"1423":1488,"1424":1489,"1425":1490,"1426":1491,"1427":1492,"1428":1493,"1429":1494,"1430":1495,"1431":1496,"1432":1497,"1433":1498,"1434":1499,"1435":1500,"1436":1501,"1437":1502,"1438":1503,"1439":1504,"1440":1505,"1441":1506,"1442":1507,"1443":1508,"1444":1509,"1445":1510,"1446":1511,"1447":1512,"1448":1513,"1449":1514,"1450":1515,"1451":1516,"1452":1517,"1453":1518,"1454":1519,"1455":1520,"1456":1521,"1457":1522,"1458":1523,"1459":1524,"1460":1525,"1461":1526,"1462":1527,"1463":1528,"1464":1529,"1465":1530,"1466":1531,"1467":1532,"1468":1533,"1469":1534,"1470":1535,"1471":1536,"1472":1537,"1473":1538,"1474":1539,"1475":1540,"1476":1541,"1477":1542,"1478":1543,"1479":1544,"1480":1545,"1481":1546,"1482":1547,"1483":1548,"1484":1549,"1485":1550,"1486":1551,"1487":1552,"1488":1553,"1489":1554,"1490":1555,"1491":1556,"1492":1557,"1493":1558,"1494":1559,"1495":1560,"1496":1561,"1497":1562,"1498":1563,"1499":1564,"1500":1565,"1501":1566,"1502":1567,"1503":1568,"1504":1569,"1505":1570,"1506":1571,"1507":1572,"1508":1573,"1509":1574,"1510":1575,"1511":1576,"1512":1577,"1513":1578,"1514":1579,"1515":1580,"1516":1581,"1517":1582,"1518":1583,"1519":1584,"1520":1585,"1521":1586,"1522":1587,"1523":1588,"1524":1589,"1525":1590,"1526":1591,"1527":1592,"1528":1593,"1529":1594,"1530":1595,"1531":1596,"1532":1597,"1533":1598,"1534":1599,"1535":1600,"1536":1601,"1537":1602,"1538":1603,"1539":1604,"1540":1605,"1541":1606,"1542":1607,"1543":1608,"1544":1609,"1545":1610,"1546":1611,"1547":1612,"1548":1613,"1549":1614,"1550":1615,"1551":1616,"1552":1617,"1553":1618,"1554":1619,"1555":1620,"1556":1621,"1557":1622,"1558":1623,"1559":1624,"1560":1625,"1561":1626,"1562":1627,"1563":1628,"1564":1629,"1565":1630,"1566":1631,"1567":1632,"1568":1633,"1569":1634,"1570":1635,"1571":1636,"1572":1637,"1573":1638,"1574":1639,"1575":1640,"1576":1641,"1577":1642,"1578":1643,"1579":1644,"1580":1645,"1581":1646,"1582":1647,"1583":1648,"1584":1649,"1585":1650,"1586":1651,"1587":1652,"1588":1653,"1589":1654,"1590":1655,"1591":1656,"1592":1657,"1593":1658,"1594":1659,"1595":1660,"1596":1661,"1597":1662,"1598":1663,"1599":1664,"1600":1665,"1601":1666,"1602":1667,"1603":1668,"1604":1669,"1605":1670,"1606":1671,"1607":1672,"1608":1673,"1609":1674,"1610":1675,"1611":1676,"1612":1677,"1613":1678,"1614":1679,"1615":1680,"1616":1681,"1617":1682,"1618":1683,"1619":1684,"1620":1685,"1621":1686,"1622":1687,"1623":1688,"1624":1689,"1625":1690,"1626":1691,"1627":1692,"1628":1693,"1629":1694,"1630":1695,"1631":1696,"1632":1697,"1633":1698,"1634":1699,"1635":1700,"1636":1701,"1637":1702,"1638":1703,"1639":1704,"1640":1705,"1641":1706,"1642":1707,"1643":1708,"1644":1709,"1645":1710,"1646":1711,"1647":1712,"1648":1713,"1649":1714,"1650":1715,"1651":1716,"1652":1717,"1653":1718,"1654":1719,"1655":1720,"1656":1721,"1657":1722,"1658":1723,"1659":1724,"1660":1725,"1661":1726,"1662":1727,"1663":1728,"1664":1729,"1665":1730,"1666":1731,"1667":1732,"1668":1733,"1669":1734,"1670":1735,"1671":1736,"1672":1737,"1673":1738,"1674":1739,"1675":1740,"1676":1741,"1677":1742,"1678":1743,"1679":1744,"1680":1745,"1681":1746,"1682":1747,"1683":1748,"1684":1749,"1685":1750,"1686":1751,"1687":1752,"1688":1753,"1689":1754,"1690":1755,"1691":1756,"1692":1757,"1693":1758,"1694":1759,"1695":1760,"1696":1761,"1697":1762,"1698":1763,"1699":1764,"1700":1765,"1701":1766,"1702":1767,"1703":1768,"1704":1769,"1705":1770,"1706":1771,"1707":1772,"1708":1773,"1709":1774,"1710":1775,"1711":1776,"1712":1777,"1713":1778,"1714":1779,"1715":1780,"1716":1781,"1717":1782,"1718":1783,"1719":1784,"1720":1785,"1721":1786,"1722":1787,"1723":1788,"1724":1789,"1725":1790,"1726":1791,"1727":1792,"1728":1793,"1729":1794,"1730":1795,"1731":1796,"1732":1797,"1733":1798,"1734":1799,"1735":1800,"1736":1801,"1737":1802,"1738":1803,"1739":1804,"1740":1805,"1741":1806,"1742":1807,"1743":1808,"1744":1809,"1745":1810,"1746":1811,"1747":1812,"1748":1813,"1749":1814,"1750":1815,"1751":1816,"1752":1817,"1753":1818,"1754":1819,"1755":1820,"1756":1821,"1757":1822,"1758":1823,"1759":1824,"1760":1825,"1761":1826,"1762":1827,"1763":1828,"1764":1829,"1765":1830,"1766":1831,"1767":1832,"1768":1833,"1769":1834,"1770":1835,"1771":1836,"1772":1837,"1773":1838,"1774":1839,"1775":1840,"1776":1841,"1777":1842,"1778":1843,"1779":1844,"1780":1845,"1781":1846,"1782":0,"1783":1,"1784":2,"1785":3,"1786":4,"1787":5,"1788":6,"1789":7,"1790":8,"1791":9,"1792":10,"1793":11,"1794":12,"1795":13,"1796":14,"1797":15,"1798":16,"1799":17,"1800":18,"1801":19,"1802":20,"1803":21,"1804":22,"1805":23,"1806":24,"1807":25,"1808":26,"1809":27,"1810":28,"1811":29,"1812":30,"1813":31,"1814":32,"1815":33,"1816":34,"1817":35,"1818":36,"1819":37,"1820":38,"1821":39,"1822":40,"1823":41,"1824":42,"1825":43,"1826":44,"1827":45,"1828":46,"1829":47,"1830":48,"1831":49,"1832":50,"1833":51,"1834":52,"1835":53,"1836":54,"1837":55,"1838":56,"1839":57,"1840":58,"1841":59,"1842":60,"1843":61,"1844":62,"1845":63,"1846":64,"1847":65,"1848":1847,"1849":1848,"1850":1849,"1851":1850,"1852":1851,"1853":1852,"1854":1853,"1855":1854,"1856":1855,"1857":1856,"1858":1857,"1859":1858,"1860":1859,"1861":1860,"1862":1861,"1863":1862,"1864":1863,"1865":1864,"1866":1865,"1867":1866,"1868":1867,"1869":1868,"1870":1869,"1871":1870,"1872":1871,"1873":1872,"1874":1873,"1875":1874,"1876":1875,"1877":1876,"1878":1877,"1879":1878,"1880":1879,"1881":1880,"1882":1881,"1883":1882,"1884":1883,"1885":1884,"1886":1885,"1887":1886,"1888":1887,"1889":1888,"1890":1889,"1891":1890,"1892":1891,"1893":1892,"1894":1893,"1895":1894,"1896":1895,"1897":1896,"1898":1897,"1899":1898,"1900":1899,"1901":1900,"1902":1901,"1903":1902,"1904":1903,"1905":1904,"1906":1905,"1907":1906,"1908":1907,"1909":1908,"1910":1909,"1911":1910,"1912":1911,"1913":1912,"1914":1913,"1915":1914,"1916":1915,"1917":1916,"1918":1917,"1919":1918,"1920":1919,"1921":1920,"1922":1921,"1923":1922,"1924":1923,"1925":1924,"1926":1925,"1927":1926,"1928":1927,"1929":1928,"1930":1929,"1931":1930,"1932":1931,"1933":1932,"1934":1933,"1935":1934,"1936":1935,"1937":1936,"1938":1937,"1939":1938,"1940":1939,"1941":1940,"1942":1941,"1943":1942,"1944":1943,"1945":1944,"1946":1945,"1947":1946,"1948":1947,"1949":1948,"1950":1949,"1951":1950,"1952":1951,"1953":1952,"1954":1953,"1955":1954,"1956":1955,"1957":1956,"1958":1957,"1959":1958,"1960":1959,"1961":1960,"1962":1961,"1963":1962,"1964":1963,"1965":1964,"1966":1965,"1967":1966,"1968":1967,"1969":1968,"1970":1969,"1971":1970,"1972":1971,"1973":1972,"1974":1973,"1975":1974,"1976":1975,"1977":1976,"1978":1977,"1979":1978,"1980":1979,"1981":1980,"1982":1981,"1983":1982,"1984":1983,"1985":1984,"1986":1985,"1987":1986,"1988":1987,"1989":1988,"1990":1989,"1991":1990,"1992":1991,"1993":1992,"1994":1993,"1995":1994,"1996":1995,"1997":1996,"1998":1997,"1999":1998,"2000":1999,"2001":2000,"2002":2001,"2003":2002,"2004":2003,"2005":2004,"2006":2005,"2007":2006,"2008":2007,"2009":2008,"2010":2009,"2011":2010,"2012":2011,"2013":2012,"2014":2013,"2015":2014,"2016":2015,"2017":2016,"2018":2017,"2019":2018,"2020":2019,"2021":2020,"2022":2021,"2023":2022,"2024":2023,"2025":2024,"2026":2025,"2027":2026,"2028":2027,"2029":2028,"2030":2029,"2031":2030,"2032":2031,"2033":2032,"2034":2033,"2035":2034,"2036":2035,"2037":2036,"2038":2037,"2039":2038,"2040":2039,"2041":2040,"2042":2041,"2043":2042,"2044":2043,"2045":2044,"2046":2045,"2047":2046,"2048":2047,"2049":2048,"2050":2049,"2051":2050,"2052":2051,"2053":2052,"2054":2053,"2055":2054,"2056":2055,"2057":2056,"2058":2057,"2059":2058,"2060":2059,"2061":2060,"2062":2061,"2063":2062,"2064":2063,"2065":2064,"2066":2065,"2067":2066,"2068":2067,"2069":2068,"2070":2069,"2071":2070,"2072":2071,"2073":2072,"2074":2073,"2075":2074,"2076":2075,"2077":2076,"2078":2077,"2079":2078,"2080":2079,"2081":2080,"2082":2081,"2083":2082,"2084":2083,"2085":2084,"2086":2085,"2087":2086,"2088":2087,"2089":2088,"2090":2089,"2091":2090,"2092":2091,"2093":2092,"2094":2093,"2095":2094,"2096":2095,"2097":2096,"2098":2097,"2099":2098,"2100":2099,"2101":2100,"2102":2101,"2103":2102,"2104":2103,"2105":2104,"2106":2105,"2107":2106,"2108":2107,"2109":2108,"2110":2109,"2111":2110,"2112":2111,"2113":2112,"2114":2113,"2115":2114,"2116":2115,"2117":2116,"2118":2117,"2119":2118,"2120":2119,"2121":2120,"2122":2121,"2123":2122,"2124":2123,"2125":2124,"2126":2125,"2127":2126,"2128":2127,"2129":2128,"2130":2129,"2131":2130,"2132":2131,"2133":2132,"2134":2133,"2135":2134,"2136":2135,"2137":2136,"2138":2137,"2139":2138,"2140":2139,"2141":2140,"2142":2141,"2143":2142,"2144":2143,"2145":2144,"2146":2145,"2147":2146,"2148":2147,"2149":2148,"2150":2149,"2151":2150,"2152":2151,"2153":2152,"2154":2153,"2155":2154,"2156":2155,"2157":2156,"2158":2157,"2159":2158,"2160":2159,"2161":2160,"2162":2161,"2163":2162,"2164":2163,"2165":2164,"2166":2165,"2167":2166,"2168":2167,"2169":2168,"2170":2169,"2171":2170,"2172":2171,"2173":2172,"2174":2173,"2175":2174,"2176":2175,"2177":2176,"2178":2177,"2179":2178,"2180":2179,"2181":2180,"2182":2181,"2183":2182,"2184":2183,"2185":2184,"2186":2185,"2187":2186,"2188":2187,"2189":2188,"2190":2189,"2191":2190,"2192":2191,"2193":2192,"2194":2193},"orderedDocs":[[1782,"/docs"],[1783,"/docs"],[1784,"/docs"],[1785,"/docs"],[1786,"/docs"],[1787,"/docs"],[1788,"/docs"],[1789,"/docs"],[1790,"/docs"],[1791,"/docs"],[1792,"/docs"],[1793,"/docs"],[1794,"/docs"],[1795,"/docs"],[1796,"/docs"],[1797,"/docs"],[1798,"/docs"],[1799,"/docs"],[1800,"/docs"],[1801,"/docs"],[1802,"/docs"],[1803,"/docs"],[1804,"/docs"],[1805,"/docs"],[1806,"/docs"],[1807,"/docs"],[1808,"/docs"],[1809,"/docs"],[1810,"/docs"],[1811,"/docs"],[1812,"/docs"],[1813,"/docs"],[1814,"/docs"],[1815,"/docs"],[1816,"/docs"],[1817,"/docs"],[1818,"/docs"],[1819,"/docs"],[1820,"/docs"],[1821,"/docs"],[1822,"/docs"],[1823,"/docs"],[1824,"/docs"],[1825,"/docs"],[1826,"/docs"],[1827,"/docs"],[1828,"/docs"],[1829,"/docs"],[1830,"/docs"],[1831,"/docs"],[1832,"/docs"],[1833,"/docs"],[1834,"/docs"],[1835,"/docs"],[1836,"/docs"],[1837,"/docs"],[1838,"/docs"],[1839,"/docs"],[1840,"/docs"],[1841,"/docs"],[1842,"/docs"],[1843,"/docs"],[1844,"/docs"],[1845,"/docs"],[1846,"/docs"],[1847,"/docs"],[540,"/docs/admin-ops/administrators-guide"],[541,"/docs/admin-ops/administrators-guide"],[1,"/docs/admin-ops/administrators-guide/administration"],[2,"/docs/admin-ops/administrators-guide/administration"],[3,"/docs/admin-ops/administrators-guide/administration"],[4,"/docs/admin-ops/administrators-guide/administration"],[5,"/docs/admin-ops/administrators-guide/administration"],[6,"/docs/admin-ops/administrators-guide/administration"],[7,"/docs/admin-ops/administrators-guide/administration"],[8,"/docs/admin-ops/administrators-guide/administration"],[9,"/docs/admin-ops/administrators-guide/administration"],[10,"/docs/admin-ops/administrators-guide/administration"],[11,"/docs/admin-ops/administrators-guide/administration"],[12,"/docs/admin-ops/administrators-guide/administration"],[13,"/docs/admin-ops/administrators-guide/administration"],[14,"/docs/admin-ops/administrators-guide/administration"],[15,"/docs/admin-ops/administrators-guide/administration"],[16,"/docs/admin-ops/administrators-guide/administration"],[17,"/docs/admin-ops/administrators-guide/administration"],[18,"/docs/admin-ops/administrators-guide/administration"],[19,"/docs/admin-ops/administrators-guide/administration"],[20,"/docs/admin-ops/administrators-guide/administration"],[21,"/docs/admin-ops/administrators-guide/administration"],[22,"/docs/admin-ops/administrators-guide/administration"],[23,"/docs/admin-ops/administrators-guide/administration"],[24,"/docs/admin-ops/administrators-guide/administration"],[25,"/docs/admin-ops/administrators-guide/administration"],[26,"/docs/admin-ops/administrators-guide/administration"],[27,"/docs/admin-ops/administrators-guide/administration"],[28,"/docs/admin-ops/administrators-guide/administration"],[29,"/docs/admin-ops/administrators-guide/administration"],[30,"/docs/admin-ops/administrators-guide/administration"],[31,"/docs/admin-ops/administrators-guide/administration"],[32,"/docs/admin-ops/administrators-guide/administration"],[33,"/docs/admin-ops/administrators-guide/administration"],[34,"/docs/admin-ops/administrators-guide/administration"],[35,"/docs/admin-ops/administrators-guide/administration"],[36,"/docs/admin-ops/administrators-guide/administration"],[37,"/docs/admin-ops/administrators-guide/administration"],[38,"/docs/admin-ops/administrators-guide/administration"],[39,"/docs/admin-ops/administrators-guide/administration"],[40,"/docs/admin-ops/administrators-guide/administration"],[41,"/docs/admin-ops/administrators-guide/best-practices"],[42,"/docs/admin-ops/administrators-guide/best-practices"],[43,"/docs/admin-ops/administrators-guide/best-practices"],[44,"/docs/admin-ops/administrators-guide/best-practices"],[45,"/docs/admin-ops/administrators-guide/best-practices"],[46,"/docs/admin-ops/administrators-guide/best-practices"],[47,"/docs/admin-ops/administrators-guide/best-practices"],[48,"/docs/admin-ops/administrators-guide/best-practices"],[49,"/docs/admin-ops/administrators-guide/best-practices"],[50,"/docs/admin-ops/administrators-guide/best-practices"],[51,"/docs/admin-ops/administrators-guide/best-practices"],[52,"/docs/admin-ops/administrators-guide/commands"],[53,"/docs/admin-ops/administrators-guide/commands"],[54,"/docs/admin-ops/administrators-guide/commands"],[55,"/docs/admin-ops/administrators-guide/commands"],[56,"/docs/admin-ops/administrators-guide/commands"],[57,"/docs/admin-ops/administrators-guide/commands"],[58,"/docs/admin-ops/administrators-guide/commands"],[59,"/docs/admin-ops/administrators-guide/commands"],[60,"/docs/admin-ops/administrators-guide/commands"],[61,"/docs/admin-ops/administrators-guide/commands"],[62,"/docs/admin-ops/administrators-guide/commands"],[63,"/docs/admin-ops/administrators-guide/commands"],[64,"/docs/admin-ops/administrators-guide/commands"],[65,"/docs/admin-ops/administrators-guide/commands"],[66,"/docs/admin-ops/administrators-guide/commands"],[67,"/docs/admin-ops/administrators-guide/commands"],[68,"/docs/admin-ops/administrators-guide/commands"],[69,"/docs/admin-ops/administrators-guide/commands"],[70,"/docs/admin-ops/administrators-guide/commands"],[71,"/docs/admin-ops/administrators-guide/commands"],[72,"/docs/admin-ops/administrators-guide/commands"],[73,"/docs/admin-ops/administrators-guide/commands"],[74,"/docs/admin-ops/administrators-guide/commands"],[75,"/docs/admin-ops/administrators-guide/commands"],[76,"/docs/admin-ops/administrators-guide/commands"],[77,"/docs/admin-ops/administrators-guide/commands"],[78,"/docs/admin-ops/administrators-guide/commands"],[79,"/docs/admin-ops/administrators-guide/commands"],[80,"/docs/admin-ops/administrators-guide/commands"],[81,"/docs/admin-ops/administrators-guide/commands"],[82,"/docs/admin-ops/administrators-guide/commands"],[83,"/docs/admin-ops/administrators-guide/commands"],[84,"/docs/admin-ops/administrators-guide/commands"],[85,"/docs/admin-ops/administrators-guide/commands"],[86,"/docs/admin-ops/administrators-guide/commands"],[87,"/docs/admin-ops/administrators-guide/commands"],[88,"/docs/admin-ops/administrators-guide/commands"],[89,"/docs/admin-ops/administrators-guide/commands"],[90,"/docs/admin-ops/administrators-guide/commands"],[91,"/docs/admin-ops/administrators-guide/commands"],[92,"/docs/admin-ops/administrators-guide/commands"],[93,"/docs/admin-ops/administrators-guide/commands"],[94,"/docs/admin-ops/administrators-guide/commands"],[95,"/docs/admin-ops/administrators-guide/commands"],[96,"/docs/admin-ops/administrators-guide/commands"],[97,"/docs/admin-ops/administrators-guide/commands"],[98,"/docs/admin-ops/administrators-guide/commands"],[99,"/docs/admin-ops/administrators-guide/commands"],[100,"/docs/admin-ops/administrators-guide/commands"],[101,"/docs/admin-ops/administrators-guide/commands"],[102,"/docs/admin-ops/administrators-guide/commands"],[103,"/docs/admin-ops/administrators-guide/commands"],[104,"/docs/admin-ops/administrators-guide/commands"],[105,"/docs/admin-ops/administrators-guide/commands"],[106,"/docs/admin-ops/administrators-guide/commands"],[107,"/docs/admin-ops/administrators-guide/commands"],[108,"/docs/admin-ops/administrators-guide/commands"],[109,"/docs/admin-ops/administrators-guide/commands"],[110,"/docs/admin-ops/administrators-guide/commands"],[111,"/docs/admin-ops/administrators-guide/commands"],[112,"/docs/admin-ops/administrators-guide/commands"],[113,"/docs/admin-ops/administrators-guide/commands"],[114,"/docs/admin-ops/administrators-guide/commands"],[115,"/docs/admin-ops/administrators-guide/commands"],[116,"/docs/admin-ops/administrators-guide/commands"],[117,"/docs/admin-ops/administrators-guide/commands"],[118,"/docs/admin-ops/administrators-guide/commands"],[119,"/docs/admin-ops/administrators-guide/commands"],[120,"/docs/admin-ops/administrators-guide/commands"],[121,"/docs/admin-ops/administrators-guide/commands"],[122,"/docs/admin-ops/administrators-guide/commands"],[123,"/docs/admin-ops/administrators-guide/commands"],[124,"/docs/admin-ops/administrators-guide/commands"],[125,"/docs/admin-ops/administrators-guide/commands"],[126,"/docs/admin-ops/administrators-guide/commands"],[127,"/docs/admin-ops/administrators-guide/commands"],[128,"/docs/admin-ops/administrators-guide/commands"],[129,"/docs/admin-ops/administrators-guide/commands"],[130,"/docs/admin-ops/administrators-guide/commands"],[131,"/docs/admin-ops/administrators-guide/commands"],[132,"/docs/admin-ops/administrators-guide/commands"],[133,"/docs/admin-ops/administrators-guide/commands"],[134,"/docs/admin-ops/administrators-guide/commands"],[135,"/docs/admin-ops/administrators-guide/commands"],[136,"/docs/admin-ops/administrators-guide/commands"],[137,"/docs/admin-ops/administrators-guide/commands"],[138,"/docs/admin-ops/administrators-guide/commands"],[139,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[140,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[141,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[142,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[143,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[144,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[145,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[146,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[147,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[148,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[149,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[150,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[151,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[152,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[153,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[154,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[155,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[156,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[157,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[158,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[159,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[160,"/docs/admin-ops/administrators-guide/configuration-parameters"],[161,"/docs/admin-ops/administrators-guide/configuration-parameters"],[162,"/docs/admin-ops/administrators-guide/configuration-parameters"],[163,"/docs/admin-ops/administrators-guide/configuration-parameters"],[164,"/docs/admin-ops/administrators-guide/configuration-parameters"],[165,"/docs/admin-ops/administrators-guide/configuration-parameters"],[166,"/docs/admin-ops/administrators-guide/configuration-parameters"],[167,"/docs/admin-ops/administrators-guide/configuration-parameters"],[168,"/docs/admin-ops/administrators-guide/configuration-parameters"],[169,"/docs/admin-ops/administrators-guide/configuration-parameters"],[170,"/docs/admin-ops/administrators-guide/configuration-parameters"],[171,"/docs/admin-ops/administrators-guide/configuration-parameters"],[172,"/docs/admin-ops/administrators-guide/configuration-parameters"],[173,"/docs/admin-ops/administrators-guide/configuration-parameters"],[174,"/docs/admin-ops/administrators-guide/configuration-parameters"],[175,"/docs/admin-ops/administrators-guide/configuration-parameters"],[176,"/docs/admin-ops/administrators-guide/configuration-parameters"],[177,"/docs/admin-ops/administrators-guide/configuration-parameters"],[178,"/docs/admin-ops/administrators-guide/configuration-parameters"],[179,"/docs/admin-ops/administrators-guide/configuration-parameters"],[180,"/docs/admin-ops/administrators-guide/configuration-parameters"],[181,"/docs/admin-ops/administrators-guide/configuration-parameters"],[182,"/docs/admin-ops/administrators-guide/configuration-parameters"],[183,"/docs/admin-ops/administrators-guide/configuration-parameters"],[184,"/docs/admin-ops/administrators-guide/configuration-parameters"],[185,"/docs/admin-ops/administrators-guide/configuration-parameters"],[186,"/docs/admin-ops/administrators-guide/configuration-parameters"],[187,"/docs/admin-ops/administrators-guide/configuration-parameters"],[188,"/docs/admin-ops/administrators-guide/configuration-parameters"],[189,"/docs/admin-ops/administrators-guide/configuration-parameters"],[190,"/docs/admin-ops/administrators-guide/configuration-parameters"],[191,"/docs/admin-ops/administrators-guide/configuration-parameters"],[192,"/docs/admin-ops/administrators-guide/configuration-parameters"],[193,"/docs/admin-ops/administrators-guide/configuration-parameters"],[194,"/docs/admin-ops/administrators-guide/configuration-parameters"],[195,"/docs/admin-ops/administrators-guide/configuration-parameters"],[196,"/docs/admin-ops/administrators-guide/configuration-parameters"],[197,"/docs/admin-ops/administrators-guide/configuration-parameters"],[198,"/docs/admin-ops/administrators-guide/configuration-parameters"],[199,"/docs/admin-ops/administrators-guide/configuration-parameters"],[200,"/docs/admin-ops/administrators-guide/configuration-parameters"],[201,"/docs/admin-ops/administrators-guide/configuration-parameters"],[202,"/docs/admin-ops/administrators-guide/configuration-parameters"],[203,"/docs/admin-ops/administrators-guide/configuration-parameters"],[204,"/docs/admin-ops/administrators-guide/configuration-parameters"],[205,"/docs/admin-ops/administrators-guide/configuration-parameters"],[206,"/docs/admin-ops/administrators-guide/configuration-parameters"],[207,"/docs/admin-ops/administrators-guide/configuration-parameters"],[208,"/docs/admin-ops/administrators-guide/configuration-parameters"],[209,"/docs/admin-ops/administrators-guide/configuration-parameters"],[210,"/docs/admin-ops/administrators-guide/configuration-parameters"],[211,"/docs/admin-ops/administrators-guide/configuration-parameters"],[212,"/docs/admin-ops/administrators-guide/configuration-parameters"],[213,"/docs/admin-ops/administrators-guide/configuration-parameters"],[214,"/docs/admin-ops/administrators-guide/configuration-parameters"],[215,"/docs/admin-ops/administrators-guide/configuration-parameters"],[216,"/docs/admin-ops/administrators-guide/configuration-parameters"],[217,"/docs/admin-ops/administrators-guide/configuration-parameters"],[218,"/docs/admin-ops/administrators-guide/configuration-parameters"],[219,"/docs/admin-ops/administrators-guide/configuration-parameters"],[220,"/docs/admin-ops/administrators-guide/configuration-parameters"],[221,"/docs/admin-ops/administrators-guide/configuration-parameters"],[222,"/docs/admin-ops/administrators-guide/configuration-parameters"],[223,"/docs/admin-ops/administrators-guide/configuration-parameters"],[224,"/docs/admin-ops/administrators-guide/configuration-parameters"],[225,"/docs/admin-ops/administrators-guide/configuration-parameters"],[226,"/docs/admin-ops/administrators-guide/configuration-parameters"],[227,"/docs/admin-ops/administrators-guide/configuration-parameters"],[228,"/docs/admin-ops/administrators-guide/configuration-parameters"],[229,"/docs/admin-ops/administrators-guide/configuration-parameters"],[230,"/docs/admin-ops/administrators-guide/configuration-parameters"],[231,"/docs/admin-ops/administrators-guide/configuration-parameters"],[232,"/docs/admin-ops/administrators-guide/configuration-parameters"],[233,"/docs/admin-ops/administrators-guide/configuration-parameters"],[234,"/docs/admin-ops/administrators-guide/configuration-parameters"],[235,"/docs/admin-ops/administrators-guide/configuration-parameters"],[236,"/docs/admin-ops/administrators-guide/configuration-parameters"],[237,"/docs/admin-ops/administrators-guide/configuration-parameters"],[238,"/docs/admin-ops/administrators-guide/configuration-parameters"],[239,"/docs/admin-ops/administrators-guide/configuration-parameters"],[240,"/docs/admin-ops/administrators-guide/configuration-parameters"],[241,"/docs/admin-ops/administrators-guide/configuration-parameters"],[242,"/docs/admin-ops/administrators-guide/configuration-parameters"],[243,"/docs/admin-ops/administrators-guide/configuration-parameters"],[244,"/docs/admin-ops/administrators-guide/configuration-parameters"],[245,"/docs/admin-ops/administrators-guide/configuration-parameters"],[246,"/docs/admin-ops/administrators-guide/configuration-parameters"],[247,"/docs/admin-ops/administrators-guide/configuration-parameters"],[248,"/docs/admin-ops/administrators-guide/configuration-parameters"],[249,"/docs/admin-ops/administrators-guide/configuration-parameters"],[250,"/docs/admin-ops/administrators-guide/configuration-parameters"],[251,"/docs/admin-ops/administrators-guide/configuration-parameters"],[252,"/docs/admin-ops/administrators-guide/configuration-parameters"],[253,"/docs/admin-ops/administrators-guide/configuration-parameters"],[254,"/docs/admin-ops/administrators-guide/configuration-parameters"],[255,"/docs/admin-ops/administrators-guide/configuration-parameters"],[256,"/docs/admin-ops/administrators-guide/configuration-parameters"],[257,"/docs/admin-ops/administrators-guide/configuration-parameters"],[258,"/docs/admin-ops/administrators-guide/configuration-parameters"],[259,"/docs/admin-ops/administrators-guide/configuration-parameters"],[260,"/docs/admin-ops/administrators-guide/configuration-parameters"],[261,"/docs/admin-ops/administrators-guide/configuration-parameters"],[262,"/docs/admin-ops/administrators-guide/configuration-parameters"],[263,"/docs/admin-ops/administrators-guide/configuration-parameters"],[264,"/docs/admin-ops/administrators-guide/configuration-parameters"],[265,"/docs/admin-ops/administrators-guide/configuration-parameters"],[266,"/docs/admin-ops/administrators-guide/configuration-parameters"],[267,"/docs/admin-ops/administrators-guide/configuration-parameters"],[268,"/docs/admin-ops/administrators-guide/configuration-parameters"],[269,"/docs/admin-ops/administrators-guide/configuration-parameters"],[270,"/docs/admin-ops/administrators-guide/configuration-parameters"],[271,"/docs/admin-ops/administrators-guide/configuration-parameters"],[272,"/docs/admin-ops/administrators-guide/configuration-parameters"],[273,"/docs/admin-ops/administrators-guide/configuration-parameters"],[274,"/docs/admin-ops/administrators-guide/configuration-parameters"],[275,"/docs/admin-ops/administrators-guide/configuration-parameters"],[276,"/docs/admin-ops/administrators-guide/configuration-parameters"],[277,"/docs/admin-ops/administrators-guide/configuration-parameters"],[278,"/docs/admin-ops/administrators-guide/configuration-parameters"],[279,"/docs/admin-ops/administrators-guide/configuration-parameters"],[280,"/docs/admin-ops/administrators-guide/configuration-parameters"],[281,"/docs/admin-ops/administrators-guide/configuration-parameters"],[282,"/docs/admin-ops/administrators-guide/configuration-parameters"],[283,"/docs/admin-ops/administrators-guide/configuration-parameters"],[284,"/docs/admin-ops/administrators-guide/configuration-parameters"],[285,"/docs/admin-ops/administrators-guide/configuration-parameters"],[286,"/docs/admin-ops/administrators-guide/configuration-parameters"],[287,"/docs/admin-ops/administrators-guide/configuration-parameters"],[288,"/docs/admin-ops/administrators-guide/configuration-parameters"],[289,"/docs/admin-ops/administrators-guide/configuration-parameters"],[290,"/docs/admin-ops/administrators-guide/configuration-parameters"],[291,"/docs/admin-ops/administrators-guide/configuration-parameters"],[292,"/docs/admin-ops/administrators-guide/configuration-parameters"],[293,"/docs/admin-ops/administrators-guide/configuration-parameters"],[294,"/docs/admin-ops/administrators-guide/configuration-parameters"],[295,"/docs/admin-ops/administrators-guide/configuration-parameters"],[296,"/docs/admin-ops/administrators-guide/configuration-parameters"],[297,"/docs/admin-ops/administrators-guide/configuration-parameters"],[298,"/docs/admin-ops/administrators-guide/configuration-parameters"],[299,"/docs/admin-ops/administrators-guide/configuration-parameters"],[300,"/docs/admin-ops/administrators-guide/configuration-parameters"],[301,"/docs/admin-ops/administrators-guide/configuration-parameters"],[302,"/docs/admin-ops/administrators-guide/configuration-parameters"],[303,"/docs/admin-ops/administrators-guide/configuration-parameters"],[304,"/docs/admin-ops/administrators-guide/configuration-parameters"],[305,"/docs/admin-ops/administrators-guide/configuration-parameters"],[306,"/docs/admin-ops/administrators-guide/configuration-parameters"],[307,"/docs/admin-ops/administrators-guide/configuration-parameters"],[308,"/docs/admin-ops/administrators-guide/configuration-parameters"],[309,"/docs/admin-ops/administrators-guide/configuration-parameters"],[310,"/docs/admin-ops/administrators-guide/configuration-parameters"],[311,"/docs/admin-ops/administrators-guide/configuration-parameters"],[312,"/docs/admin-ops/administrators-guide/configuration-parameters"],[313,"/docs/admin-ops/administrators-guide/configuration-parameters"],[314,"/docs/admin-ops/administrators-guide/configuration-parameters"],[315,"/docs/admin-ops/administrators-guide/configuration-parameters"],[316,"/docs/admin-ops/administrators-guide/configuration-parameters"],[317,"/docs/admin-ops/administrators-guide/configuration-parameters"],[318,"/docs/admin-ops/administrators-guide/configuration-parameters"],[319,"/docs/admin-ops/administrators-guide/configuration-parameters"],[320,"/docs/admin-ops/administrators-guide/configuration-parameters"],[321,"/docs/admin-ops/administrators-guide/configuration-parameters"],[322,"/docs/admin-ops/administrators-guide/configuration-parameters"],[323,"/docs/admin-ops/administrators-guide/configuration-parameters"],[324,"/docs/admin-ops/administrators-guide/configuration-parameters"],[325,"/docs/admin-ops/administrators-guide/configuration-parameters"],[326,"/docs/admin-ops/administrators-guide/configuration-parameters"],[327,"/docs/admin-ops/administrators-guide/configuration-parameters"],[328,"/docs/admin-ops/administrators-guide/configuration-parameters"],[329,"/docs/admin-ops/administrators-guide/configuration-parameters"],[330,"/docs/admin-ops/administrators-guide/configuration-parameters"],[331,"/docs/admin-ops/administrators-guide/configuration-parameters"],[332,"/docs/admin-ops/administrators-guide/configuration-parameters"],[333,"/docs/admin-ops/administrators-guide/configuration-parameters"],[334,"/docs/admin-ops/administrators-guide/configuration-parameters"],[335,"/docs/admin-ops/administrators-guide/configuration-parameters"],[336,"/docs/admin-ops/administrators-guide/configuration-parameters"],[337,"/docs/admin-ops/administrators-guide/configuration-parameters"],[338,"/docs/admin-ops/administrators-guide/configuration-parameters"],[339,"/docs/admin-ops/administrators-guide/configuration-parameters"],[340,"/docs/admin-ops/administrators-guide/configuration-parameters"],[341,"/docs/admin-ops/administrators-guide/configuration-parameters"],[342,"/docs/admin-ops/administrators-guide/configuration-parameters"],[343,"/docs/admin-ops/administrators-guide/configuration-parameters"],[344,"/docs/admin-ops/administrators-guide/configuration-parameters"],[345,"/docs/admin-ops/administrators-guide/configuration-parameters"],[346,"/docs/admin-ops/administrators-guide/configuration-parameters"],[347,"/docs/admin-ops/administrators-guide/configuration-parameters"],[348,"/docs/admin-ops/administrators-guide/configuration-parameters"],[349,"/docs/admin-ops/administrators-guide/configuration-parameters"],[350,"/docs/admin-ops/administrators-guide/configuration-parameters"],[351,"/docs/admin-ops/administrators-guide/configuration-parameters"],[352,"/docs/admin-ops/administrators-guide/configuration-parameters"],[353,"/docs/admin-ops/administrators-guide/configuration-parameters"],[354,"/docs/admin-ops/administrators-guide/configuration-parameters"],[355,"/docs/admin-ops/administrators-guide/configuration-parameters"],[356,"/docs/admin-ops/administrators-guide/configuration-parameters"],[357,"/docs/admin-ops/administrators-guide/configuration-parameters"],[358,"/docs/admin-ops/administrators-guide/configuration-parameters"],[359,"/docs/admin-ops/administrators-guide/configuration-parameters"],[360,"/docs/admin-ops/administrators-guide/configuration-parameters"],[361,"/docs/admin-ops/administrators-guide/configuration-parameters"],[362,"/docs/admin-ops/administrators-guide/configuration-parameters"],[363,"/docs/admin-ops/administrators-guide/configuration-parameters"],[364,"/docs/admin-ops/administrators-guide/configuration-parameters"],[365,"/docs/admin-ops/administrators-guide/configuration-parameters"],[366,"/docs/admin-ops/administrators-guide/configuration-parameters"],[367,"/docs/admin-ops/administrators-guide/configuration-parameters"],[368,"/docs/admin-ops/administrators-guide/configuration-parameters"],[369,"/docs/admin-ops/administrators-guide/configuration-parameters"],[370,"/docs/admin-ops/administrators-guide/configuration-parameters"],[371,"/docs/admin-ops/administrators-guide/configuration-parameters"],[372,"/docs/admin-ops/administrators-guide/configuration-parameters"],[373,"/docs/admin-ops/administrators-guide/configuration-parameters"],[374,"/docs/admin-ops/administrators-guide/configuration-parameters"],[375,"/docs/admin-ops/administrators-guide/configuration-parameters"],[376,"/docs/admin-ops/administrators-guide/configuration-parameters"],[377,"/docs/admin-ops/administrators-guide/configuration-parameters"],[378,"/docs/admin-ops/administrators-guide/configuration-parameters"],[379,"/docs/admin-ops/administrators-guide/configuration-parameters"],[380,"/docs/admin-ops/administrators-guide/configuration-parameters"],[381,"/docs/admin-ops/administrators-guide/configuration-parameters"],[382,"/docs/admin-ops/administrators-guide/configuration-parameters"],[383,"/docs/admin-ops/administrators-guide/configuration-parameters"],[384,"/docs/admin-ops/administrators-guide/configuration-parameters"],[385,"/docs/admin-ops/administrators-guide/configuration-parameters"],[386,"/docs/admin-ops/administrators-guide/configuration-parameters"],[387,"/docs/admin-ops/administrators-guide/configuration-parameters"],[388,"/docs/admin-ops/administrators-guide/configuration-parameters"],[389,"/docs/admin-ops/administrators-guide/configuration-parameters"],[390,"/docs/admin-ops/administrators-guide/configuration-parameters"],[391,"/docs/admin-ops/administrators-guide/configuration-parameters"],[392,"/docs/admin-ops/administrators-guide/configuration-parameters"],[393,"/docs/admin-ops/administrators-guide/configuration-parameters"],[394,"/docs/admin-ops/administrators-guide/configuration-parameters"],[395,"/docs/admin-ops/administrators-guide/configuration-parameters"],[396,"/docs/admin-ops/administrators-guide/configuration-parameters"],[397,"/docs/admin-ops/administrators-guide/configuration-parameters"],[398,"/docs/admin-ops/administrators-guide/configuration-parameters"],[399,"/docs/admin-ops/administrators-guide/configuration-parameters"],[400,"/docs/admin-ops/administrators-guide/configuration-parameters"],[401,"/docs/admin-ops/administrators-guide/configuration-parameters"],[402,"/docs/admin-ops/administrators-guide/configuration-parameters"],[403,"/docs/admin-ops/administrators-guide/configuration-parameters"],[404,"/docs/admin-ops/administrators-guide/configuration-parameters"],[405,"/docs/admin-ops/administrators-guide/configuration-parameters"],[406,"/docs/admin-ops/administrators-guide/configuration-parameters"],[407,"/docs/admin-ops/administrators-guide/configuration-parameters"],[408,"/docs/admin-ops/administrators-guide/configuration-parameters"],[409,"/docs/admin-ops/administrators-guide/configuration-parameters"],[410,"/docs/admin-ops/administrators-guide/configuration-parameters"],[411,"/docs/admin-ops/administrators-guide/configuration-parameters"],[412,"/docs/admin-ops/administrators-guide/configuration-parameters"],[413,"/docs/admin-ops/administrators-guide/configuration-parameters"],[414,"/docs/admin-ops/administrators-guide/configuration-parameters"],[415,"/docs/admin-ops/administrators-guide/configuration-parameters"],[416,"/docs/admin-ops/administrators-guide/configuration-parameters"],[417,"/docs/admin-ops/administrators-guide/configuration-parameters"],[418,"/docs/admin-ops/administrators-guide/configuration-parameters"],[419,"/docs/admin-ops/administrators-guide/configuration-parameters"],[420,"/docs/admin-ops/administrators-guide/configuration-parameters"],[421,"/docs/admin-ops/administrators-guide/configuration-parameters"],[422,"/docs/admin-ops/administrators-guide/configuration-parameters"],[423,"/docs/admin-ops/administrators-guide/configuration-parameters"],[424,"/docs/admin-ops/administrators-guide/configuration-parameters"],[425,"/docs/admin-ops/administrators-guide/configuration-parameters"],[426,"/docs/admin-ops/administrators-guide/configuration-parameters"],[427,"/docs/admin-ops/administrators-guide/configuration-parameters"],[428,"/docs/admin-ops/administrators-guide/configuration-parameters"],[429,"/docs/admin-ops/administrators-guide/configuration-parameters"],[430,"/docs/admin-ops/administrators-guide/configuration-parameters"],[431,"/docs/admin-ops/administrators-guide/configuration-parameters"],[432,"/docs/admin-ops/administrators-guide/configuration-parameters"],[433,"/docs/admin-ops/administrators-guide/configuration-parameters"],[434,"/docs/admin-ops/administrators-guide/configuration-parameters"],[435,"/docs/admin-ops/administrators-guide/configuration-parameters"],[436,"/docs/admin-ops/administrators-guide/data-file-management"],[437,"/docs/admin-ops/administrators-guide/data-file-management"],[438,"/docs/admin-ops/administrators-guide/data-file-management"],[439,"/docs/admin-ops/administrators-guide/data-file-management"],[440,"/docs/admin-ops/administrators-guide/data-file-management"],[441,"/docs/admin-ops/administrators-guide/data-file-management"],[442,"/docs/admin-ops/administrators-guide/data-file-management"],[443,"/docs/admin-ops/administrators-guide/data-file-management"],[444,"/docs/admin-ops/administrators-guide/data-file-management"],[445,"/docs/admin-ops/administrators-guide/data-file-management"],[446,"/docs/admin-ops/administrators-guide/data-file-management"],[447,"/docs/admin-ops/administrators-guide/data-file-management"],[448,"/docs/admin-ops/administrators-guide/data-file-management"],[449,"/docs/admin-ops/administrators-guide/data-file-management"],[450,"/docs/admin-ops/administrators-guide/data-file-management"],[451,"/docs/admin-ops/administrators-guide/data-file-management"],[452,"/docs/admin-ops/administrators-guide/data-file-management"],[453,"/docs/admin-ops/administrators-guide/data-file-management"],[454,"/docs/admin-ops/administrators-guide/data-file-management"],[455,"/docs/admin-ops/administrators-guide/data-file-management"],[456,"/docs/admin-ops/administrators-guide/deployment"],[457,"/docs/admin-ops/administrators-guide/deployment"],[458,"/docs/admin-ops/administrators-guide/deployment"],[459,"/docs/admin-ops/administrators-guide/deployment"],[460,"/docs/admin-ops/administrators-guide/deployment"],[461,"/docs/admin-ops/administrators-guide/deployment"],[462,"/docs/admin-ops/administrators-guide/deployment"],[463,"/docs/admin-ops/administrators-guide/deployment"],[464,"/docs/admin-ops/administrators-guide/deployment"],[465,"/docs/admin-ops/administrators-guide/deployment"],[466,"/docs/admin-ops/administrators-guide/deployment"],[467,"/docs/admin-ops/administrators-guide/deployment"],[468,"/docs/admin-ops/administrators-guide/deployment"],[469,"/docs/admin-ops/administrators-guide/deployment"],[470,"/docs/admin-ops/administrators-guide/deployment"],[471,"/docs/admin-ops/administrators-guide/deployment"],[472,"/docs/admin-ops/administrators-guide/deployment"],[473,"/docs/admin-ops/administrators-guide/deployment"],[474,"/docs/admin-ops/administrators-guide/deployment"],[475,"/docs/admin-ops/administrators-guide/deployment"],[476,"/docs/admin-ops/administrators-guide/deployment"],[477,"/docs/admin-ops/administrators-guide/deployment"],[478,"/docs/admin-ops/administrators-guide/deployment"],[479,"/docs/admin-ops/administrators-guide/deployment"],[480,"/docs/admin-ops/administrators-guide/deployment"],[481,"/docs/admin-ops/administrators-guide/deployment"],[482,"/docs/admin-ops/administrators-guide/deployment"],[483,"/docs/admin-ops/administrators-guide/deployment"],[484,"/docs/admin-ops/administrators-guide/deployment"],[485,"/docs/admin-ops/administrators-guide/deployment"],[486,"/docs/admin-ops/administrators-guide/deployment"],[487,"/docs/admin-ops/administrators-guide/deployment"],[488,"/docs/admin-ops/administrators-guide/deployment"],[489,"/docs/admin-ops/administrators-guide/deployment"],[490,"/docs/admin-ops/administrators-guide/deployment"],[491,"/docs/admin-ops/administrators-guide/deployment"],[492,"/docs/admin-ops/administrators-guide/deployment"],[493,"/docs/admin-ops/administrators-guide/deployment"],[494,"/docs/admin-ops/administrators-guide/deployment"],[495,"/docs/admin-ops/administrators-guide/deployment"],[496,"/docs/admin-ops/administrators-guide/deployment"],[497,"/docs/admin-ops/administrators-guide/deployment"],[498,"/docs/admin-ops/administrators-guide/deployment"],[499,"/docs/admin-ops/administrators-guide/deployment"],[500,"/docs/admin-ops/administrators-guide/deployment"],[501,"/docs/admin-ops/administrators-guide/deployment"],[502,"/docs/admin-ops/administrators-guide/deployment"],[503,"/docs/admin-ops/administrators-guide/deployment"],[504,"/docs/admin-ops/administrators-guide/deployment"],[505,"/docs/admin-ops/administrators-guide/deployment"],[506,"/docs/admin-ops/administrators-guide/deployment"],[507,"/docs/admin-ops/administrators-guide/deployment"],[508,"/docs/admin-ops/administrators-guide/deployment"],[509,"/docs/admin-ops/administrators-guide/deployment"],[510,"/docs/admin-ops/administrators-guide/deployment"],[511,"/docs/admin-ops/administrators-guide/deployment"],[512,"/docs/admin-ops/administrators-guide/deployment"],[513,"/docs/admin-ops/administrators-guide/deployment"],[514,"/docs/admin-ops/administrators-guide/deployment"],[515,"/docs/admin-ops/administrators-guide/deployment"],[516,"/docs/admin-ops/administrators-guide/deployment"],[517,"/docs/admin-ops/administrators-guide/deployment"],[518,"/docs/admin-ops/administrators-guide/deployment"],[519,"/docs/admin-ops/administrators-guide/deployment"],[520,"/docs/admin-ops/administrators-guide/deployment"],[521,"/docs/admin-ops/administrators-guide/deployment"],[522,"/docs/admin-ops/administrators-guide/deployment"],[523,"/docs/admin-ops/administrators-guide/deployment"],[524,"/docs/admin-ops/administrators-guide/deployment"],[525,"/docs/admin-ops/administrators-guide/deployment"],[526,"/docs/admin-ops/administrators-guide/deployment"],[527,"/docs/admin-ops/administrators-guide/deployment"],[528,"/docs/admin-ops/administrators-guide/deployment"],[529,"/docs/admin-ops/administrators-guide/deployment"],[530,"/docs/admin-ops/administrators-guide/deployment"],[531,"/docs/admin-ops/administrators-guide/deployment"],[532,"/docs/admin-ops/administrators-guide/deployment"],[533,"/docs/admin-ops/administrators-guide/deployment"],[534,"/docs/admin-ops/administrators-guide/deployment"],[535,"/docs/admin-ops/administrators-guide/deployment"],[536,"/docs/admin-ops/administrators-guide/deployment"],[537,"/docs/admin-ops/administrators-guide/deployment"],[538,"/docs/admin-ops/administrators-guide/deployment"],[539,"/docs/admin-ops/administrators-guide/deployment"],[542,"/docs/admin-ops/cli"],[543,"/docs/admin-ops/cli"],[544,"/docs/admin-ops/cli"],[545,"/docs/admin-ops/cli"],[546,"/docs/admin-ops/cli"],[547,"/docs/admin-ops/cli"],[548,"/docs/admin-ops/cli"],[549,"/docs/admin-ops/cli"],[550,"/docs/admin-ops/cli"],[551,"/docs/admin-ops/cli"],[552,"/docs/admin-ops/cli"],[553,"/docs/admin-ops/cli"],[554,"/docs/admin-ops/cli"],[555,"/docs/admin-ops/cli"],[556,"/docs/admin-ops/cli"],[557,"/docs/admin-ops/cli"],[558,"/docs/admin-ops/cli"],[559,"/docs/admin-ops/cli"],[560,"/docs/admin-ops/cli"],[561,"/docs/admin-ops/cli"],[562,"/docs/admin-ops/cli"],[563,"/docs/admin-ops/cli"],[564,"/docs/admin-ops/cli"],[565,"/docs/admin-ops/cli"],[566,"/docs/admin-ops/cli"],[567,"/docs/admin-ops/cli"],[568,"/docs/admin-ops/cli"],[569,"/docs/admin-ops/cli"],[570,"/docs/admin-ops/cli"],[571,"/docs/admin-ops/cli"],[572,"/docs/admin-ops/cli"],[573,"/docs/admin-ops/cli"],[574,"/docs/admin-ops/cli"],[575,"/docs/admin-ops/cli"],[576,"/docs/admin-ops/cli"],[577,"/docs/admin-ops/cli"],[578,"/docs/admin-ops/cli"],[579,"/docs/admin-ops/cli"],[580,"/docs/admin-ops/cli"],[581,"/docs/admin-ops/cli"],[582,"/docs/admin-ops/cli"],[583,"/docs/admin-ops/cli"],[584,"/docs/admin-ops/cli"],[585,"/docs/admin-ops/cli"],[586,"/docs/admin-ops/cli"],[587,"/docs/admin-ops/cli"],[588,"/docs/admin-ops/cli"],[589,"/docs/admin-ops/cli"],[590,"/docs/admin-ops/cli"],[591,"/docs/admin-ops/cli"],[592,"/docs/admin-ops/cli"],[593,"/docs/admin-ops/cli"],[594,"/docs/admin-ops/cli"],[595,"/docs/admin-ops/cli"],[596,"/docs/admin-ops/cli"],[597,"/docs/admin-ops/cli"],[598,"/docs/admin-ops/cli"],[599,"/docs/admin-ops/cli"],[600,"/docs/admin-ops/cli"],[601,"/docs/admin-ops/cli"],[602,"/docs/admin-ops/cli"],[603,"/docs/admin-ops/cli"],[604,"/docs/admin-ops/cli"],[605,"/docs/admin-ops/cli"],[606,"/docs/admin-ops/cli"],[607,"/docs/admin-ops/cli"],[608,"/docs/admin-ops/cli"],[609,"/docs/admin-ops/dynamic-reconfiguration"],[610,"/docs/admin-ops/dynamic-reconfiguration"],[611,"/docs/admin-ops/dynamic-reconfiguration"],[612,"/docs/admin-ops/dynamic-reconfiguration"],[613,"/docs/admin-ops/dynamic-reconfiguration"],[614,"/docs/admin-ops/dynamic-reconfiguration"],[615,"/docs/admin-ops/dynamic-reconfiguration"],[616,"/docs/admin-ops/dynamic-reconfiguration"],[617,"/docs/admin-ops/dynamic-reconfiguration"],[618,"/docs/admin-ops/dynamic-reconfiguration"],[619,"/docs/admin-ops/dynamic-reconfiguration"],[620,"/docs/admin-ops/dynamic-reconfiguration"],[621,"/docs/admin-ops/dynamic-reconfiguration"],[622,"/docs/admin-ops/dynamic-reconfiguration"],[623,"/docs/admin-ops/dynamic-reconfiguration"],[624,"/docs/admin-ops/dynamic-reconfiguration"],[625,"/docs/admin-ops/dynamic-reconfiguration"],[626,"/docs/admin-ops/dynamic-reconfiguration"],[627,"/docs/admin-ops/dynamic-reconfiguration"],[628,"/docs/admin-ops/dynamic-reconfiguration"],[629,"/docs/admin-ops/dynamic-reconfiguration"],[630,"/docs/admin-ops/dynamic-reconfiguration"],[631,"/docs/admin-ops/dynamic-reconfiguration"],[632,"/docs/admin-ops/dynamic-reconfiguration"],[633,"/docs/admin-ops/dynamic-reconfiguration"],[634,"/docs/admin-ops/dynamic-reconfiguration"],[635,"/docs/admin-ops/dynamic-reconfiguration"],[636,"/docs/admin-ops/dynamic-reconfiguration"],[637,"/docs/admin-ops/dynamic-reconfiguration"],[638,"/docs/admin-ops/dynamic-reconfiguration"],[639,"/docs/admin-ops/dynamic-reconfiguration"],[640,"/docs/admin-ops/dynamic-reconfiguration"],[641,"/docs/admin-ops/dynamic-reconfiguration"],[642,"/docs/admin-ops/dynamic-reconfiguration"],[643,"/docs/admin-ops/dynamic-reconfiguration"],[644,"/docs/admin-ops/dynamic-reconfiguration"],[645,"/docs/admin-ops/dynamic-reconfiguration"],[646,"/docs/admin-ops/dynamic-reconfiguration"],[647,"/docs/admin-ops/dynamic-reconfiguration"],[648,"/docs/admin-ops/dynamic-reconfiguration"],[649,"/docs/admin-ops/dynamic-reconfiguration"],[650,"/docs/admin-ops/dynamic-reconfiguration"],[651,"/docs/admin-ops/dynamic-reconfiguration"],[652,"/docs/admin-ops/dynamic-reconfiguration"],[653,"/docs/admin-ops/dynamic-reconfiguration"],[654,"/docs/admin-ops/dynamic-reconfiguration"],[655,"/docs/admin-ops/dynamic-reconfiguration"],[656,"/docs/admin-ops/dynamic-reconfiguration"],[657,"/docs/admin-ops/dynamic-reconfiguration"],[658,"/docs/admin-ops/dynamic-reconfiguration"],[659,"/docs/admin-ops/dynamic-reconfiguration"],[660,"/docs/admin-ops/dynamic-reconfiguration"],[661,"/docs/admin-ops/dynamic-reconfiguration"],[662,"/docs/admin-ops/dynamic-reconfiguration"],[663,"/docs/admin-ops/dynamic-reconfiguration"],[664,"/docs/admin-ops/dynamic-reconfiguration"],[665,"/docs/admin-ops/dynamic-reconfiguration"],[666,"/docs/admin-ops/dynamic-reconfiguration"],[667,"/docs/admin-ops/dynamic-reconfiguration"],[668,"/docs/admin-ops/dynamic-reconfiguration"],[669,"/docs/admin-ops/dynamic-reconfiguration"],[670,"/docs/admin-ops/dynamic-reconfiguration"],[671,"/docs/admin-ops/dynamic-reconfiguration"],[672,"/docs/admin-ops/dynamic-reconfiguration"],[673,"/docs/admin-ops/dynamic-reconfiguration"],[674,"/docs/admin-ops/dynamic-reconfiguration"],[675,"/docs/admin-ops/dynamic-reconfiguration"],[676,"/docs/admin-ops/dynamic-reconfiguration"],[677,"/docs/admin-ops/dynamic-reconfiguration"],[678,"/docs/admin-ops/dynamic-reconfiguration"],[679,"/docs/admin-ops/dynamic-reconfiguration"],[680,"/docs/admin-ops/dynamic-reconfiguration"],[681,"/docs/admin-ops/dynamic-reconfiguration"],[682,"/docs/admin-ops/dynamic-reconfiguration"],[683,"/docs/admin-ops/dynamic-reconfiguration"],[684,"/docs/admin-ops/dynamic-reconfiguration"],[685,"/docs/admin-ops/dynamic-reconfiguration"],[686,"/docs/admin-ops/dynamic-reconfiguration"],[687,"/docs/admin-ops/dynamic-reconfiguration"],[688,"/docs/admin-ops/dynamic-reconfiguration"],[689,"/docs/admin-ops/dynamic-reconfiguration"],[690,"/docs/admin-ops/dynamic-reconfiguration"],[691,"/docs/admin-ops/dynamic-reconfiguration"],[692,"/docs/admin-ops/dynamic-reconfiguration"],[693,"/docs/admin-ops/dynamic-reconfiguration"],[694,"/docs/admin-ops/dynamic-reconfiguration"],[695,"/docs/admin-ops/dynamic-reconfiguration"],[696,"/docs/admin-ops/dynamic-reconfiguration"],[697,"/docs/admin-ops/dynamic-reconfiguration"],[698,"/docs/admin-ops/dynamic-reconfiguration"],[699,"/docs/admin-ops/dynamic-reconfiguration"],[700,"/docs/admin-ops/dynamic-reconfiguration"],[701,"/docs/admin-ops/dynamic-reconfiguration"],[702,"/docs/admin-ops/dynamic-reconfiguration"],[703,"/docs/admin-ops/dynamic-reconfiguration"],[704,"/docs/admin-ops/dynamic-reconfiguration"],[705,"/docs/admin-ops/dynamic-reconfiguration"],[706,"/docs/admin-ops/dynamic-reconfiguration"],[707,"/docs/admin-ops/dynamic-reconfiguration"],[708,"/docs/admin-ops/dynamic-reconfiguration"],[709,"/docs/admin-ops/dynamic-reconfiguration"],[710,"/docs/admin-ops/dynamic-reconfiguration"],[711,"/docs/admin-ops/dynamic-reconfiguration"],[712,"/docs/admin-ops/dynamic-reconfiguration"],[713,"/docs/admin-ops/dynamic-reconfiguration"],[714,"/docs/admin-ops/dynamic-reconfiguration"],[715,"/docs/admin-ops/dynamic-reconfiguration"],[716,"/docs/admin-ops/dynamic-reconfiguration"],[717,"/docs/admin-ops/dynamic-reconfiguration"],[718,"/docs/admin-ops/dynamic-reconfiguration"],[719,"/docs/admin-ops/dynamic-reconfiguration"],[720,"/docs/admin-ops/dynamic-reconfiguration"],[721,"/docs/admin-ops/dynamic-reconfiguration"],[722,"/docs/admin-ops/dynamic-reconfiguration"],[723,"/docs/admin-ops/dynamic-reconfiguration"],[724,"/docs/admin-ops/dynamic-reconfiguration"],[725,"/docs/admin-ops/dynamic-reconfiguration"],[726,"/docs/admin-ops/dynamic-reconfiguration"],[727,"/docs/admin-ops/dynamic-reconfiguration"],[728,"/docs/admin-ops/dynamic-reconfiguration"],[729,"/docs/admin-ops/dynamic-reconfiguration"],[730,"/docs/admin-ops/dynamic-reconfiguration"],[731,"/docs/admin-ops/dynamic-reconfiguration"],[732,"/docs/admin-ops/dynamic-reconfiguration"],[733,"/docs/admin-ops/dynamic-reconfiguration"],[734,"/docs/admin-ops/dynamic-reconfiguration"],[735,"/docs/admin-ops/dynamic-reconfiguration"],[736,"/docs/admin-ops/jmx"],[737,"/docs/admin-ops/jmx"],[738,"/docs/admin-ops/jmx"],[739,"/docs/admin-ops/jmx"],[740,"/docs/admin-ops/jmx"],[741,"/docs/admin-ops/jmx"],[742,"/docs/admin-ops/jmx"],[743,"/docs/admin-ops/jmx"],[744,"/docs/admin-ops/jmx"],[745,"/docs/admin-ops/jmx"],[746,"/docs/admin-ops/jmx"],[747,"/docs/admin-ops/jmx"],[748,"/docs/admin-ops/jmx"],[749,"/docs/admin-ops/jmx"],[750,"/docs/admin-ops/jmx"],[751,"/docs/admin-ops/jmx"],[752,"/docs/admin-ops/jmx"],[753,"/docs/admin-ops/jmx"],[754,"/docs/admin-ops/jmx"],[755,"/docs/admin-ops/jmx"],[756,"/docs/admin-ops/jmx"],[757,"/docs/admin-ops/jmx"],[758,"/docs/admin-ops/jmx"],[759,"/docs/admin-ops/jmx"],[760,"/docs/admin-ops/jmx"],[761,"/docs/admin-ops/jmx"],[762,"/docs/admin-ops/jmx"],[763,"/docs/admin-ops/jmx"],[764,"/docs/admin-ops/jmx"],[765,"/docs/admin-ops/jmx"],[766,"/docs/admin-ops/jmx"],[767,"/docs/admin-ops/jmx"],[768,"/docs/admin-ops/jmx"],[769,"/docs/admin-ops/jmx"],[770,"/docs/admin-ops/jmx"],[771,"/docs/admin-ops/jmx"],[772,"/docs/admin-ops/jmx"],[773,"/docs/admin-ops/jmx"],[774,"/docs/admin-ops/jmx"],[775,"/docs/admin-ops/jmx"],[776,"/docs/admin-ops/jmx"],[777,"/docs/admin-ops/jmx"],[778,"/docs/admin-ops/jmx"],[779,"/docs/admin-ops/jmx"],[780,"/docs/admin-ops/jmx"],[781,"/docs/admin-ops/jmx"],[782,"/docs/admin-ops/jmx"],[783,"/docs/admin-ops/jmx"],[784,"/docs/admin-ops/jmx"],[785,"/docs/admin-ops/jmx"],[786,"/docs/admin-ops/jmx"],[787,"/docs/admin-ops/jmx"],[788,"/docs/admin-ops/jmx"],[789,"/docs/admin-ops/jmx"],[790,"/docs/admin-ops/jmx"],[791,"/docs/admin-ops/jmx"],[792,"/docs/admin-ops/jmx"],[793,"/docs/admin-ops/jmx"],[794,"/docs/admin-ops/monitor-and-audit-logs"],[795,"/docs/admin-ops/monitor-and-audit-logs"],[796,"/docs/admin-ops/monitor-and-audit-logs"],[797,"/docs/admin-ops/monitor-and-audit-logs"],[798,"/docs/admin-ops/monitor-and-audit-logs"],[799,"/docs/admin-ops/monitor-and-audit-logs"],[800,"/docs/admin-ops/monitor-and-audit-logs"],[801,"/docs/admin-ops/monitor-and-audit-logs"],[802,"/docs/admin-ops/monitor-and-audit-logs"],[803,"/docs/admin-ops/monitor-and-audit-logs"],[804,"/docs/admin-ops/monitor-and-audit-logs"],[805,"/docs/admin-ops/monitor-and-audit-logs"],[806,"/docs/admin-ops/monitor-and-audit-logs"],[807,"/docs/admin-ops/monitor-and-audit-logs"],[808,"/docs/admin-ops/monitor-and-audit-logs"],[809,"/docs/admin-ops/monitor-and-audit-logs"],[810,"/docs/admin-ops/monitor-and-audit-logs"],[811,"/docs/admin-ops/monitor-and-audit-logs"],[812,"/docs/admin-ops/monitor-and-audit-logs"],[813,"/docs/admin-ops/monitor-and-audit-logs"],[814,"/docs/admin-ops/monitor-and-audit-logs"],[815,"/docs/admin-ops/monitor-and-audit-logs"],[816,"/docs/admin-ops/monitor-and-audit-logs"],[817,"/docs/admin-ops/monitor-and-audit-logs"],[818,"/docs/admin-ops/monitor-and-audit-logs"],[819,"/docs/admin-ops/monitor-and-audit-logs"],[820,"/docs/admin-ops/monitor-and-audit-logs"],[821,"/docs/admin-ops/monitor-and-audit-logs"],[822,"/docs/admin-ops/monitor-and-audit-logs"],[823,"/docs/admin-ops/monitor-and-audit-logs"],[824,"/docs/admin-ops/monitor-and-audit-logs"],[825,"/docs/admin-ops/monitor-and-audit-logs"],[826,"/docs/admin-ops/monitor-and-audit-logs"],[827,"/docs/admin-ops/monitor-and-audit-logs"],[828,"/docs/admin-ops/monitor-and-audit-logs"],[829,"/docs/admin-ops/monitor-and-audit-logs"],[830,"/docs/admin-ops/monitor-and-audit-logs"],[831,"/docs/admin-ops/monitor-and-audit-logs"],[832,"/docs/admin-ops/monitor-and-audit-logs"],[833,"/docs/admin-ops/monitor-and-audit-logs"],[834,"/docs/admin-ops/monitor-and-audit-logs"],[835,"/docs/admin-ops/monitor-and-audit-logs"],[836,"/docs/admin-ops/monitor-and-audit-logs"],[837,"/docs/admin-ops/monitor-and-audit-logs"],[838,"/docs/admin-ops/monitor-and-audit-logs"],[839,"/docs/admin-ops/monitor-and-audit-logs"],[840,"/docs/admin-ops/monitor-and-audit-logs"],[841,"/docs/admin-ops/monitor-and-audit-logs"],[842,"/docs/admin-ops/monitor-and-audit-logs"],[843,"/docs/admin-ops/monitor-and-audit-logs"],[844,"/docs/admin-ops/monitor-and-audit-logs"],[845,"/docs/admin-ops/monitor-and-audit-logs"],[846,"/docs/admin-ops/monitor-and-audit-logs"],[847,"/docs/admin-ops/monitor-and-audit-logs"],[848,"/docs/admin-ops/monitor-and-audit-logs"],[849,"/docs/admin-ops/monitor-and-audit-logs"],[850,"/docs/admin-ops/monitor-and-audit-logs"],[851,"/docs/admin-ops/monitor-and-audit-logs"],[852,"/docs/admin-ops/monitor-and-audit-logs"],[853,"/docs/admin-ops/monitor-and-audit-logs"],[854,"/docs/admin-ops/monitor-and-audit-logs"],[855,"/docs/admin-ops/monitor-and-audit-logs"],[856,"/docs/admin-ops/monitor-and-audit-logs"],[857,"/docs/admin-ops/monitor-and-audit-logs"],[858,"/docs/admin-ops/monitor-and-audit-logs"],[859,"/docs/admin-ops/monitor-and-audit-logs"],[860,"/docs/admin-ops/monitor-and-audit-logs"],[861,"/docs/admin-ops/monitor-and-audit-logs"],[862,"/docs/admin-ops/monitor-and-audit-logs"],[863,"/docs/admin-ops/monitor-and-audit-logs"],[864,"/docs/admin-ops/monitor-and-audit-logs"],[865,"/docs/admin-ops/observers-guide"],[866,"/docs/admin-ops/observers-guide"],[867,"/docs/admin-ops/observers-guide"],[868,"/docs/admin-ops/observers-guide"],[869,"/docs/admin-ops/observers-guide"],[870,"/docs/admin-ops/observers-guide"],[871,"/docs/admin-ops/observers-guide"],[872,"/docs/admin-ops/observers-guide"],[873,"/docs/admin-ops/observers-guide"],[874,"/docs/admin-ops/observers-guide"],[875,"/docs/admin-ops/observers-guide"],[876,"/docs/admin-ops/observers-guide"],[877,"/docs/admin-ops/observers-guide"],[878,"/docs/admin-ops/observers-guide"],[879,"/docs/admin-ops/observers-guide"],[880,"/docs/admin-ops/observers-guide"],[881,"/docs/admin-ops/observers-guide"],[882,"/docs/admin-ops/observers-guide"],[883,"/docs/admin-ops/observers-guide"],[884,"/docs/admin-ops/observers-guide"],[885,"/docs/admin-ops/quorums"],[886,"/docs/admin-ops/quorums"],[887,"/docs/admin-ops/quorums"],[888,"/docs/admin-ops/quorums"],[889,"/docs/admin-ops/quorums"],[890,"/docs/admin-ops/quorums"],[891,"/docs/admin-ops/quorums"],[892,"/docs/admin-ops/quorums"],[893,"/docs/admin-ops/quorums"],[894,"/docs/admin-ops/quorums"],[895,"/docs/admin-ops/quorums"],[896,"/docs/admin-ops/quorums"],[897,"/docs/admin-ops/quorums"],[898,"/docs/admin-ops/quorums"],[899,"/docs/admin-ops/quorums"],[900,"/docs/admin-ops/quorums"],[901,"/docs/admin-ops/quorums"],[902,"/docs/admin-ops/quorums"],[903,"/docs/admin-ops/quorums"],[904,"/docs/admin-ops/quorums"],[905,"/docs/admin-ops/quorums"],[906,"/docs/admin-ops/quorums"],[907,"/docs/admin-ops/quorums"],[908,"/docs/admin-ops/quorums"],[909,"/docs/admin-ops/quorums"],[910,"/docs/admin-ops/quorums"],[911,"/docs/admin-ops/quorums"],[912,"/docs/admin-ops/quorums"],[913,"/docs/admin-ops/quorums"],[914,"/docs/admin-ops/quorums"],[915,"/docs/admin-ops/quorums"],[916,"/docs/admin-ops/quorums"],[917,"/docs/admin-ops/quorums"],[918,"/docs/admin-ops/quorums"],[919,"/docs/admin-ops/quorums"],[920,"/docs/admin-ops/quorums"],[921,"/docs/admin-ops/quorums"],[922,"/docs/admin-ops/quorums"],[923,"/docs/admin-ops/quorums"],[924,"/docs/admin-ops/quorums"],[925,"/docs/admin-ops/quorums"],[926,"/docs/admin-ops/quorums"],[927,"/docs/admin-ops/quorums"],[928,"/docs/admin-ops/quorums"],[929,"/docs/admin-ops/quorums"],[930,"/docs/admin-ops/quorums"],[931,"/docs/admin-ops/quorums"],[932,"/docs/admin-ops/quorums"],[933,"/docs/admin-ops/quorums"],[934,"/docs/admin-ops/quorums"],[935,"/docs/admin-ops/quorums"],[936,"/docs/admin-ops/quorums"],[937,"/docs/admin-ops/quorums"],[938,"/docs/admin-ops/quorums"],[939,"/docs/admin-ops/quorums"],[940,"/docs/admin-ops/quorums"],[941,"/docs/admin-ops/quorums"],[942,"/docs/admin-ops/quorums"],[943,"/docs/admin-ops/quorums"],[944,"/docs/admin-ops/quorums"],[945,"/docs/admin-ops/quorums"],[946,"/docs/admin-ops/quorums"],[947,"/docs/admin-ops/quorums"],[948,"/docs/admin-ops/quorums"],[949,"/docs/admin-ops/quorums"],[950,"/docs/admin-ops/quorums"],[951,"/docs/admin-ops/quorums"],[952,"/docs/admin-ops/quorums"],[953,"/docs/admin-ops/quorums"],[954,"/docs/admin-ops/quorums"],[955,"/docs/admin-ops/quorums"],[956,"/docs/admin-ops/quorums"],[957,"/docs/admin-ops/quorums"],[958,"/docs/admin-ops/quota-guide"],[959,"/docs/admin-ops/quota-guide"],[960,"/docs/admin-ops/quota-guide"],[961,"/docs/admin-ops/quota-guide"],[962,"/docs/admin-ops/quota-guide"],[963,"/docs/admin-ops/quota-guide"],[964,"/docs/admin-ops/quota-guide"],[965,"/docs/admin-ops/quota-guide"],[966,"/docs/admin-ops/quota-guide"],[967,"/docs/admin-ops/quota-guide"],[968,"/docs/admin-ops/quota-guide"],[969,"/docs/admin-ops/quota-guide"],[970,"/docs/admin-ops/quota-guide"],[971,"/docs/admin-ops/quota-guide"],[972,"/docs/admin-ops/quota-guide"],[973,"/docs/admin-ops/quota-guide"],[974,"/docs/admin-ops/quota-guide"],[975,"/docs/admin-ops/quota-guide"],[976,"/docs/admin-ops/snapshot-and-restore-guide"],[977,"/docs/admin-ops/snapshot-and-restore-guide"],[978,"/docs/admin-ops/snapshot-and-restore-guide"],[979,"/docs/admin-ops/snapshot-and-restore-guide"],[980,"/docs/admin-ops/snapshot-and-restore-guide"],[981,"/docs/admin-ops/snapshot-and-restore-guide"],[982,"/docs/admin-ops/snapshot-and-restore-guide"],[983,"/docs/admin-ops/snapshot-and-restore-guide"],[984,"/docs/admin-ops/snapshot-and-restore-guide"],[985,"/docs/admin-ops/snapshot-and-restore-guide"],[986,"/docs/admin-ops/snapshot-and-restore-guide"],[987,"/docs/admin-ops/snapshot-and-restore-guide"],[988,"/docs/admin-ops/snapshot-and-restore-guide"],[989,"/docs/admin-ops/snapshot-and-restore-guide"],[990,"/docs/admin-ops/snapshot-and-restore-guide"],[991,"/docs/admin-ops/snapshot-and-restore-guide"],[992,"/docs/admin-ops/snapshot-and-restore-guide"],[993,"/docs/admin-ops/tools"],[994,"/docs/admin-ops/tools"],[995,"/docs/admin-ops/tools"],[996,"/docs/admin-ops/tools"],[997,"/docs/admin-ops/tools"],[998,"/docs/admin-ops/tools"],[999,"/docs/admin-ops/tools"],[1000,"/docs/admin-ops/tools"],[1001,"/docs/admin-ops/tools"],[1002,"/docs/admin-ops/tools"],[1003,"/docs/admin-ops/tools"],[1004,"/docs/admin-ops/tools"],[1005,"/docs/admin-ops/tools"],[1006,"/docs/admin-ops/tools"],[1007,"/docs/admin-ops/tools"],[1008,"/docs/admin-ops/tools"],[1009,"/docs/admin-ops/tools"],[1010,"/docs/admin-ops/tools"],[1011,"/docs/admin-ops/tools"],[1012,"/docs/admin-ops/tools"],[1013,"/docs/admin-ops/tools"],[1014,"/docs/admin-ops/tools"],[1015,"/docs/admin-ops/tools"],[1016,"/docs/admin-ops/tools"],[1017,"/docs/admin-ops/tools"],[1018,"/docs/admin-ops/tools"],[1019,"/docs/admin-ops/tools"],[1020,"/docs/admin-ops/tools"],[1021,"/docs/admin-ops/tools"],[1022,"/docs/admin-ops/tools"],[1023,"/docs/admin-ops/tools"],[1024,"/docs/admin-ops/tools"],[1025,"/docs/admin-ops/tools"],[1026,"/docs/admin-ops/tools"],[1027,"/docs/admin-ops/tools"],[1028,"/docs/admin-ops/tools"],[1029,"/docs/admin-ops/tools"],[1030,"/docs/admin-ops/tools"],[1031,"/docs/admin-ops/tools"],[1032,"/docs/admin-ops/tools"],[1033,"/docs/admin-ops/tools"],[1034,"/docs/admin-ops/tools"],[1035,"/docs/admin-ops/tools"],[1036,"/docs/admin-ops/tools"],[1037,"/docs/admin-ops/tools"],[1038,"/docs/admin-ops/tools"],[1039,"/docs/admin-ops/tools"],[1040,"/docs/admin-ops/tools"],[1041,"/docs/admin-ops/tools"],[1042,"/docs/admin-ops/tools"],[1043,"/docs/admin-ops/tools"],[1044,"/docs/admin-ops/tools"],[1045,"/docs/admin-ops/tools"],[1046,"/docs/admin-ops/tools"],[1047,"/docs/admin-ops/tools"],[1048,"/docs/admin-ops/tools"],[1049,"/docs/admin-ops/tools"],[1050,"/docs/admin-ops/tools"],[1051,"/docs/admin-ops/tools"],[1052,"/docs/admin-ops/tools"],[1053,"/docs/admin-ops/tools"],[1054,"/docs/admin-ops/tools"],[1055,"/docs/admin-ops/tools"],[1056,"/docs/admin-ops/tools"],[1057,"/docs/admin-ops/tools"],[1058,"/docs/admin-ops/tools"],[1059,"/docs/admin-ops/tools"],[1060,"/docs/admin-ops/tools"],[1061,"/docs/admin-ops/tools"],[1062,"/docs/admin-ops/tools"],[1063,"/docs/admin-ops/tools"],[1064,"/docs/admin-ops/tools"],[1065,"/docs/admin-ops/tools"],[1066,"/docs/admin-ops/tools"],[1067,"/docs/admin-ops/tools"],[1068,"/docs/admin-ops/tools"],[1069,"/docs/admin-ops/tools"],[1070,"/docs/admin-ops/tools"],[1071,"/docs/admin-ops/tools"],[1072,"/docs/admin-ops/tools"],[1073,"/docs/admin-ops/tools"],[1074,"/docs/admin-ops/tools"],[1075,"/docs/admin-ops/tools"],[1076,"/docs/admin-ops/tools"],[1077,"/docs/admin-ops/tools"],[1078,"/docs/developer/basic-tutorial"],[1079,"/docs/developer/basic-tutorial"],[1080,"/docs/developer/basic-tutorial"],[1081,"/docs/developer/basic-tutorial"],[1082,"/docs/developer/basic-tutorial"],[1083,"/docs/developer/basic-tutorial"],[1084,"/docs/developer/basic-tutorial"],[1085,"/docs/developer/basic-tutorial"],[1086,"/docs/developer/basic-tutorial"],[1087,"/docs/developer/basic-tutorial"],[1088,"/docs/developer/basic-tutorial"],[1089,"/docs/developer/basic-tutorial"],[1090,"/docs/developer/basic-tutorial"],[1091,"/docs/developer/basic-tutorial"],[1092,"/docs/developer/basic-tutorial"],[1093,"/docs/developer/basic-tutorial"],[1094,"/docs/developer/basic-tutorial"],[1095,"/docs/developer/basic-tutorial"],[1096,"/docs/developer/basic-tutorial"],[1097,"/docs/developer/basic-tutorial"],[1098,"/docs/developer/basic-tutorial"],[1099,"/docs/developer/basic-tutorial"],[1100,"/docs/developer/basic-tutorial"],[1101,"/docs/developer/basic-tutorial"],[1102,"/docs/developer/basic-tutorial"],[1103,"/docs/developer/basic-tutorial"],[1104,"/docs/developer/basic-tutorial"],[1105,"/docs/developer/basic-tutorial"],[1106,"/docs/developer/basic-tutorial"],[1107,"/docs/developer/basic-tutorial"],[1108,"/docs/developer/basic-tutorial"],[1109,"/docs/developer/basic-tutorial"],[1110,"/docs/developer/java-example"],[1111,"/docs/developer/java-example"],[1112,"/docs/developer/java-example"],[1113,"/docs/developer/java-example"],[1114,"/docs/developer/java-example"],[1115,"/docs/developer/java-example"],[1116,"/docs/developer/java-example"],[1117,"/docs/developer/java-example"],[1118,"/docs/developer/java-example"],[1119,"/docs/developer/java-example"],[1120,"/docs/developer/java-example"],[1121,"/docs/developer/java-example"],[1122,"/docs/developer/java-example"],[1123,"/docs/developer/java-example"],[1124,"/docs/developer/java-example"],[1125,"/docs/developer/java-example"],[1126,"/docs/developer/java-example"],[1127,"/docs/developer/java-example"],[1128,"/docs/developer/java-example"],[1129,"/docs/developer/java-example"],[1130,"/docs/developer/java-example"],[1131,"/docs/developer/java-example"],[1132,"/docs/developer/java-example"],[1133,"/docs/developer/java-example"],[1134,"/docs/developer/java-example"],[1135,"/docs/developer/java-example"],[1136,"/docs/developer/java-example"],[1137,"/docs/developer/java-example"],[1138,"/docs/developer/java-example"],[1139,"/docs/developer/java-example"],[1140,"/docs/developer/java-example"],[1141,"/docs/developer/java-example"],[1142,"/docs/developer/java-example"],[1143,"/docs/developer/java-example"],[1144,"/docs/developer/java-example"],[1145,"/docs/developer/java-example"],[1146,"/docs/developer/java-example"],[1147,"/docs/developer/java-example"],[1148,"/docs/developer/java-example"],[1350,"/docs/developer/programmers-guide"],[1351,"/docs/developer/programmers-guide"],[1352,"/docs/developer/programmers-guide"],[1353,"/docs/developer/programmers-guide"],[1354,"/docs/developer/programmers-guide"],[1355,"/docs/developer/programmers-guide"],[1356,"/docs/developer/programmers-guide"],[1357,"/docs/developer/programmers-guide"],[1358,"/docs/developer/programmers-guide"],[1359,"/docs/developer/programmers-guide"],[1360,"/docs/developer/programmers-guide"],[1361,"/docs/developer/programmers-guide"],[1149,"/docs/developer/programmers-guide/access-control-using-acls"],[1150,"/docs/developer/programmers-guide/access-control-using-acls"],[1151,"/docs/developer/programmers-guide/access-control-using-acls"],[1152,"/docs/developer/programmers-guide/access-control-using-acls"],[1153,"/docs/developer/programmers-guide/access-control-using-acls"],[1154,"/docs/developer/programmers-guide/access-control-using-acls"],[1155,"/docs/developer/programmers-guide/access-control-using-acls"],[1156,"/docs/developer/programmers-guide/access-control-using-acls"],[1157,"/docs/developer/programmers-guide/access-control-using-acls"],[1158,"/docs/developer/programmers-guide/access-control-using-acls"],[1159,"/docs/developer/programmers-guide/access-control-using-acls"],[1160,"/docs/developer/programmers-guide/access-control-using-acls"],[1161,"/docs/developer/programmers-guide/access-control-using-acls"],[1162,"/docs/developer/programmers-guide/access-control-using-acls"],[1163,"/docs/developer/programmers-guide/access-control-using-acls"],[1164,"/docs/developer/programmers-guide/access-control-using-acls"],[1165,"/docs/developer/programmers-guide/access-control-using-acls"],[1166,"/docs/developer/programmers-guide/access-control-using-acls"],[1167,"/docs/developer/programmers-guide/access-control-using-acls"],[1168,"/docs/developer/programmers-guide/access-control-using-acls"],[1169,"/docs/developer/programmers-guide/access-control-using-acls"],[1170,"/docs/developer/programmers-guide/access-control-using-acls"],[1171,"/docs/developer/programmers-guide/access-control-using-acls"],[1172,"/docs/developer/programmers-guide/access-control-using-acls"],[1173,"/docs/developer/programmers-guide/access-control-using-acls"],[1174,"/docs/developer/programmers-guide/access-control-using-acls"],[1175,"/docs/developer/programmers-guide/access-control-using-acls"],[1176,"/docs/developer/programmers-guide/access-control-using-acls"],[1177,"/docs/developer/programmers-guide/access-control-using-acls"],[1178,"/docs/developer/programmers-guide/access-control-using-acls"],[1179,"/docs/developer/programmers-guide/access-control-using-acls"],[1180,"/docs/developer/programmers-guide/access-control-using-acls"],[1181,"/docs/developer/programmers-guide/access-control-using-acls"],[1182,"/docs/developer/programmers-guide/access-control-using-acls"],[1183,"/docs/developer/programmers-guide/access-control-using-acls"],[1184,"/docs/developer/programmers-guide/access-control-using-acls"],[1185,"/docs/developer/programmers-guide/access-control-using-acls"],[1186,"/docs/developer/programmers-guide/access-control-using-acls"],[1187,"/docs/developer/programmers-guide/access-control-using-acls"],[1188,"/docs/developer/programmers-guide/access-control-using-acls"],[1189,"/docs/developer/programmers-guide/access-control-using-acls"],[1190,"/docs/developer/programmers-guide/access-control-using-acls"],[1191,"/docs/developer/programmers-guide/access-control-using-acls"],[1192,"/docs/developer/programmers-guide/access-control-using-acls"],[1193,"/docs/developer/programmers-guide/access-control-using-acls"],[1194,"/docs/developer/programmers-guide/access-control-using-acls"],[1195,"/docs/developer/programmers-guide/access-control-using-acls"],[1196,"/docs/developer/programmers-guide/access-control-using-acls"],[1197,"/docs/developer/programmers-guide/access-control-using-acls"],[1198,"/docs/developer/programmers-guide/access-control-using-acls"],[1199,"/docs/developer/programmers-guide/access-control-using-acls"],[1200,"/docs/developer/programmers-guide/access-control-using-acls"],[1201,"/docs/developer/programmers-guide/access-control-using-acls"],[1202,"/docs/developer/programmers-guide/access-control-using-acls"],[1203,"/docs/developer/programmers-guide/access-control-using-acls"],[1204,"/docs/developer/programmers-guide/bindings"],[1205,"/docs/developer/programmers-guide/bindings"],[1206,"/docs/developer/programmers-guide/bindings"],[1207,"/docs/developer/programmers-guide/bindings"],[1208,"/docs/developer/programmers-guide/bindings"],[1209,"/docs/developer/programmers-guide/bindings"],[1210,"/docs/developer/programmers-guide/bindings"],[1211,"/docs/developer/programmers-guide/bindings"],[1212,"/docs/developer/programmers-guide/bindings"],[1213,"/docs/developer/programmers-guide/bindings"],[1214,"/docs/developer/programmers-guide/bindings"],[1215,"/docs/developer/programmers-guide/bindings"],[1216,"/docs/developer/programmers-guide/bindings"],[1217,"/docs/developer/programmers-guide/bindings"],[1218,"/docs/developer/programmers-guide/bindings"],[1219,"/docs/developer/programmers-guide/bindings"],[1220,"/docs/developer/programmers-guide/bindings"],[1221,"/docs/developer/programmers-guide/bindings"],[1222,"/docs/developer/programmers-guide/bindings"],[1223,"/docs/developer/programmers-guide/bindings"],[1224,"/docs/developer/programmers-guide/bindings"],[1225,"/docs/developer/programmers-guide/bindings"],[1226,"/docs/developer/programmers-guide/bindings"],[1227,"/docs/developer/programmers-guide/bindings"],[1228,"/docs/developer/programmers-guide/bindings"],[1229,"/docs/developer/programmers-guide/bindings"],[1230,"/docs/developer/programmers-guide/bindings"],[1231,"/docs/developer/programmers-guide/bindings"],[1232,"/docs/developer/programmers-guide/bindings"],[1233,"/docs/developer/programmers-guide/bindings"],[1234,"/docs/developer/programmers-guide/bindings"],[1235,"/docs/developer/programmers-guide/bindings"],[1236,"/docs/developer/programmers-guide/bindings"],[1237,"/docs/developer/programmers-guide/bindings"],[1238,"/docs/developer/programmers-guide/bindings"],[1239,"/docs/developer/programmers-guide/bindings"],[1240,"/docs/developer/programmers-guide/bindings"],[1241,"/docs/developer/programmers-guide/bindings"],[1242,"/docs/developer/programmers-guide/bindings"],[1243,"/docs/developer/programmers-guide/bindings"],[1244,"/docs/developer/programmers-guide/bindings"],[1245,"/docs/developer/programmers-guide/bindings"],[1246,"/docs/developer/programmers-guide/bindings"],[1247,"/docs/developer/programmers-guide/bindings"],[1248,"/docs/developer/programmers-guide/bindings"],[1249,"/docs/developer/programmers-guide/bindings"],[1250,"/docs/developer/programmers-guide/bindings"],[1251,"/docs/developer/programmers-guide/bindings"],[1252,"/docs/developer/programmers-guide/bindings"],[1253,"/docs/developer/programmers-guide/bindings"],[1254,"/docs/developer/programmers-guide/bindings"],[1255,"/docs/developer/programmers-guide/bindings"],[1256,"/docs/developer/programmers-guide/bindings"],[1257,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1258,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1259,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1260,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1261,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1262,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1263,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1264,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1265,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1266,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1267,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1268,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1269,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1270,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1271,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1272,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1273,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1274,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1275,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1276,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1277,"/docs/developer/programmers-guide/consistency-guarantees"],[1278,"/docs/developer/programmers-guide/consistency-guarantees"],[1279,"/docs/developer/programmers-guide/consistency-guarantees"],[1280,"/docs/developer/programmers-guide/consistency-guarantees"],[1281,"/docs/developer/programmers-guide/consistency-guarantees"],[1282,"/docs/developer/programmers-guide/consistency-guarantees"],[1283,"/docs/developer/programmers-guide/consistency-guarantees"],[1284,"/docs/developer/programmers-guide/consistency-guarantees"],[1285,"/docs/developer/programmers-guide/consistency-guarantees"],[1286,"/docs/developer/programmers-guide/consistency-guarantees"],[1287,"/docs/developer/programmers-guide/consistency-guarantees"],[1288,"/docs/developer/programmers-guide/consistency-guarantees"],[1289,"/docs/developer/programmers-guide/consistency-guarantees"],[1290,"/docs/developer/programmers-guide/data-model"],[1291,"/docs/developer/programmers-guide/data-model"],[1292,"/docs/developer/programmers-guide/data-model"],[1293,"/docs/developer/programmers-guide/data-model"],[1294,"/docs/developer/programmers-guide/data-model"],[1295,"/docs/developer/programmers-guide/data-model"],[1296,"/docs/developer/programmers-guide/data-model"],[1297,"/docs/developer/programmers-guide/data-model"],[1298,"/docs/developer/programmers-guide/data-model"],[1299,"/docs/developer/programmers-guide/data-model"],[1300,"/docs/developer/programmers-guide/data-model"],[1301,"/docs/developer/programmers-guide/data-model"],[1302,"/docs/developer/programmers-guide/data-model"],[1303,"/docs/developer/programmers-guide/data-model"],[1304,"/docs/developer/programmers-guide/data-model"],[1305,"/docs/developer/programmers-guide/data-model"],[1306,"/docs/developer/programmers-guide/data-model"],[1307,"/docs/developer/programmers-guide/data-model"],[1308,"/docs/developer/programmers-guide/data-model"],[1309,"/docs/developer/programmers-guide/data-model"],[1310,"/docs/developer/programmers-guide/data-model"],[1311,"/docs/developer/programmers-guide/data-model"],[1312,"/docs/developer/programmers-guide/data-model"],[1313,"/docs/developer/programmers-guide/data-model"],[1314,"/docs/developer/programmers-guide/data-model"],[1315,"/docs/developer/programmers-guide/data-model"],[1316,"/docs/developer/programmers-guide/data-model"],[1317,"/docs/developer/programmers-guide/data-model"],[1318,"/docs/developer/programmers-guide/data-model"],[1319,"/docs/developer/programmers-guide/data-model"],[1320,"/docs/developer/programmers-guide/data-model"],[1321,"/docs/developer/programmers-guide/data-model"],[1322,"/docs/developer/programmers-guide/data-model"],[1323,"/docs/developer/programmers-guide/data-model"],[1324,"/docs/developer/programmers-guide/data-model"],[1325,"/docs/developer/programmers-guide/data-model"],[1326,"/docs/developer/programmers-guide/data-model"],[1327,"/docs/developer/programmers-guide/data-model"],[1328,"/docs/developer/programmers-guide/data-model"],[1329,"/docs/developer/programmers-guide/data-model"],[1330,"/docs/developer/programmers-guide/data-model"],[1331,"/docs/developer/programmers-guide/data-model"],[1332,"/docs/developer/programmers-guide/data-model"],[1333,"/docs/developer/programmers-guide/data-model"],[1334,"/docs/developer/programmers-guide/data-model"],[1335,"/docs/developer/programmers-guide/data-model"],[1336,"/docs/developer/programmers-guide/data-model"],[1337,"/docs/developer/programmers-guide/data-model"],[1338,"/docs/developer/programmers-guide/data-model"],[1339,"/docs/developer/programmers-guide/data-model"],[1340,"/docs/developer/programmers-guide/data-model"],[1341,"/docs/developer/programmers-guide/data-model"],[1342,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1343,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1344,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1345,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1346,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1347,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1348,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1349,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1362,"/docs/developer/programmers-guide/pluggable-authentication"],[1363,"/docs/developer/programmers-guide/pluggable-authentication"],[1364,"/docs/developer/programmers-guide/pluggable-authentication"],[1365,"/docs/developer/programmers-guide/pluggable-authentication"],[1366,"/docs/developer/programmers-guide/pluggable-authentication"],[1367,"/docs/developer/programmers-guide/pluggable-authentication"],[1368,"/docs/developer/programmers-guide/pluggable-authentication"],[1369,"/docs/developer/programmers-guide/pluggable-authentication"],[1370,"/docs/developer/programmers-guide/pluggable-authentication"],[1371,"/docs/developer/programmers-guide/pluggable-authentication"],[1372,"/docs/developer/programmers-guide/pluggable-authentication"],[1373,"/docs/developer/programmers-guide/pluggable-authentication"],[1374,"/docs/developer/programmers-guide/pluggable-authentication"],[1375,"/docs/developer/programmers-guide/pluggable-authentication"],[1376,"/docs/developer/programmers-guide/pluggable-authentication"],[1377,"/docs/developer/programmers-guide/pluggable-authentication"],[1378,"/docs/developer/programmers-guide/pluggable-authentication"],[1379,"/docs/developer/programmers-guide/sessions"],[1380,"/docs/developer/programmers-guide/sessions"],[1381,"/docs/developer/programmers-guide/sessions"],[1382,"/docs/developer/programmers-guide/sessions"],[1383,"/docs/developer/programmers-guide/sessions"],[1384,"/docs/developer/programmers-guide/sessions"],[1385,"/docs/developer/programmers-guide/sessions"],[1386,"/docs/developer/programmers-guide/sessions"],[1387,"/docs/developer/programmers-guide/sessions"],[1388,"/docs/developer/programmers-guide/sessions"],[1389,"/docs/developer/programmers-guide/sessions"],[1390,"/docs/developer/programmers-guide/sessions"],[1391,"/docs/developer/programmers-guide/sessions"],[1392,"/docs/developer/programmers-guide/sessions"],[1393,"/docs/developer/programmers-guide/sessions"],[1394,"/docs/developer/programmers-guide/sessions"],[1395,"/docs/developer/programmers-guide/sessions"],[1396,"/docs/developer/programmers-guide/sessions"],[1397,"/docs/developer/programmers-guide/sessions"],[1398,"/docs/developer/programmers-guide/sessions"],[1399,"/docs/developer/programmers-guide/sessions"],[1400,"/docs/developer/programmers-guide/sessions"],[1401,"/docs/developer/programmers-guide/sessions"],[1402,"/docs/developer/programmers-guide/sessions"],[1403,"/docs/developer/programmers-guide/sessions"],[1404,"/docs/developer/programmers-guide/sessions"],[1405,"/docs/developer/programmers-guide/sessions"],[1406,"/docs/developer/programmers-guide/sessions"],[1407,"/docs/developer/programmers-guide/sessions"],[1408,"/docs/developer/programmers-guide/sessions"],[1409,"/docs/developer/programmers-guide/sessions"],[1410,"/docs/developer/programmers-guide/sessions"],[1411,"/docs/developer/programmers-guide/sessions"],[1412,"/docs/developer/programmers-guide/sessions"],[1413,"/docs/developer/programmers-guide/sessions"],[1414,"/docs/developer/programmers-guide/sessions"],[1415,"/docs/developer/programmers-guide/sessions"],[1416,"/docs/developer/programmers-guide/sessions"],[1417,"/docs/developer/programmers-guide/sessions"],[1418,"/docs/developer/programmers-guide/sessions"],[1419,"/docs/developer/programmers-guide/sessions"],[1420,"/docs/developer/programmers-guide/sessions"],[1421,"/docs/developer/programmers-guide/sessions"],[1422,"/docs/developer/programmers-guide/sessions"],[1423,"/docs/developer/programmers-guide/sessions"],[1424,"/docs/developer/programmers-guide/sessions"],[1425,"/docs/developer/programmers-guide/watches"],[1426,"/docs/developer/programmers-guide/watches"],[1427,"/docs/developer/programmers-guide/watches"],[1428,"/docs/developer/programmers-guide/watches"],[1429,"/docs/developer/programmers-guide/watches"],[1430,"/docs/developer/programmers-guide/watches"],[1431,"/docs/developer/programmers-guide/watches"],[1432,"/docs/developer/programmers-guide/watches"],[1433,"/docs/developer/programmers-guide/watches"],[1434,"/docs/developer/programmers-guide/watches"],[1435,"/docs/developer/programmers-guide/watches"],[1436,"/docs/developer/programmers-guide/watches"],[1437,"/docs/developer/programmers-guide/watches"],[1438,"/docs/developer/programmers-guide/watches"],[1439,"/docs/developer/programmers-guide/watches"],[1440,"/docs/developer/programmers-guide/watches"],[1441,"/docs/developer/programmers-guide/watches"],[1442,"/docs/developer/programmers-guide/watches"],[1443,"/docs/developer/programmers-guide/watches"],[1444,"/docs/developer/programmers-guide/watches"],[1445,"/docs/developer/programmers-guide/watches"],[1446,"/docs/developer/programmers-guide/watches"],[1447,"/docs/developer/programmers-guide/watches"],[1448,"/docs/developer/programmers-guide/watches"],[1449,"/docs/developer/programmers-guide/watches"],[1450,"/docs/developer/programmers-guide/watches"],[1451,"/docs/developer/programmers-guide/watches"],[1452,"/docs/developer/programmers-guide/watches"],[1453,"/docs/developer/programmers-guide/watches"],[1454,"/docs/developer/programmers-guide/watches"],[1455,"/docs/developer/programmers-guide/watches"],[1456,"/docs/developer/programmers-guide/watches"],[1457,"/docs/developer/recipes"],[1458,"/docs/developer/recipes"],[1459,"/docs/developer/recipes"],[1460,"/docs/developer/recipes"],[1461,"/docs/developer/recipes"],[1462,"/docs/developer/recipes"],[1463,"/docs/developer/recipes"],[1464,"/docs/developer/recipes"],[1465,"/docs/developer/recipes"],[1466,"/docs/developer/recipes"],[1467,"/docs/developer/recipes"],[1468,"/docs/developer/recipes"],[1469,"/docs/developer/recipes"],[1470,"/docs/developer/recipes"],[1471,"/docs/developer/recipes"],[1472,"/docs/developer/recipes"],[1473,"/docs/developer/recipes"],[1474,"/docs/developer/recipes"],[1475,"/docs/developer/recipes"],[1476,"/docs/developer/recipes"],[1477,"/docs/developer/recipes"],[1478,"/docs/developer/recipes"],[1479,"/docs/developer/recipes"],[1480,"/docs/developer/recipes"],[1481,"/docs/developer/recipes"],[1482,"/docs/developer/recipes"],[1483,"/docs/developer/recipes"],[1484,"/docs/developer/recipes"],[1485,"/docs/developer/recipes"],[1486,"/docs/developer/recipes"],[1487,"/docs/developer/recipes"],[1488,"/docs/developer/recipes"],[1489,"/docs/developer/recipes"],[1490,"/docs/developer/recipes"],[1491,"/docs/developer/recipes"],[1492,"/docs/developer/recipes"],[1493,"/docs/developer/recipes"],[1494,"/docs/developer/recipes"],[1495,"/docs/developer/recipes"],[1496,"/docs/developer/recipes"],[1497,"/docs/developer/recipes"],[1498,"/docs/developer/recipes"],[1499,"/docs/developer/recipes"],[1500,"/docs/developer/recipes"],[1501,"/docs/developer/recipes"],[1502,"/docs/developer/recipes"],[1503,"/docs/developer/recipes"],[1504,"/docs/developer/recipes"],[1505,"/docs/developer/recipes"],[1506,"/docs/developer/recipes"],[1507,"/docs/developer/recipes"],[1508,"/docs/developer/recipes"],[1509,"/docs/developer/recipes"],[1510,"/docs/developer/recipes"],[1511,"/docs/developer/recipes"],[1512,"/docs/developer/recipes"],[1513,"/docs/developer/recipes"],[1514,"/docs/developer/recipes"],[1515,"/docs/developer/recipes"],[1516,"/docs/developer/recipes"],[1517,"/docs/developer/recipes"],[1518,"/docs/developer/recipes"],[1519,"/docs/developer/recipes"],[1520,"/docs/developer/recipes"],[1521,"/docs/developer/recipes"],[1522,"/docs/developer/recipes"],[1523,"/docs/developer/recipes"],[1524,"/docs/developer/recipes"],[1525,"/docs/developer/recipes"],[1526,"/docs/developer/recipes"],[1527,"/docs/developer/recipes"],[1528,"/docs/developer/recipes"],[1529,"/docs/developer/recipes"],[1530,"/docs/developer/recipes"],[1531,"/docs/developer/recipes"],[1532,"/docs/developer/recipes"],[1533,"/docs/developer/recipes"],[1534,"/docs/developer/recipes"],[1535,"/docs/developer/recipes"],[1536,"/docs/developer/recipes"],[1537,"/docs/developer/recipes"],[1538,"/docs/developer/recipes"],[1539,"/docs/developer/recipes"],[1540,"/docs/developer/recipes"],[1541,"/docs/developer/recipes"],[1542,"/docs/developer/recipes"],[1543,"/docs/developer/recipes"],[1544,"/docs/developer/recipes"],[1545,"/docs/developer/recipes"],[1546,"/docs/developer/recipes"],[1547,"/docs/developer/recipes"],[1548,"/docs/developer/recipes"],[1549,"/docs/developer/recipes"],[1550,"/docs/developer/recipes"],[1551,"/docs/developer/recipes"],[1552,"/docs/developer/recipes"],[1553,"/docs/developer/recipes"],[1554,"/docs/developer/recipes"],[1555,"/docs/developer/recipes"],[1556,"/docs/developer/recipes"],[1557,"/docs/developer/recipes"],[1558,"/docs/developer/recipes"],[1559,"/docs/developer/recipes"],[1560,"/docs/developer/recipes"],[1561,"/docs/developer/recipes"],[1562,"/docs/developer/use-cases"],[1563,"/docs/developer/use-cases"],[1564,"/docs/developer/use-cases"],[1565,"/docs/developer/use-cases"],[1566,"/docs/developer/use-cases"],[1567,"/docs/developer/use-cases"],[1568,"/docs/developer/use-cases"],[1569,"/docs/developer/use-cases"],[1570,"/docs/developer/use-cases"],[1571,"/docs/developer/use-cases"],[1572,"/docs/developer/use-cases"],[1573,"/docs/developer/use-cases"],[1574,"/docs/developer/use-cases"],[1575,"/docs/developer/use-cases"],[1576,"/docs/developer/use-cases"],[1577,"/docs/developer/use-cases"],[1578,"/docs/developer/use-cases"],[1579,"/docs/developer/use-cases"],[1580,"/docs/developer/use-cases"],[1581,"/docs/developer/use-cases"],[1582,"/docs/developer/use-cases"],[1583,"/docs/developer/use-cases"],[1584,"/docs/developer/use-cases"],[1585,"/docs/developer/use-cases"],[1586,"/docs/developer/use-cases"],[1587,"/docs/developer/use-cases"],[1588,"/docs/developer/use-cases"],[1589,"/docs/developer/use-cases"],[1590,"/docs/developer/use-cases"],[1591,"/docs/developer/use-cases"],[1592,"/docs/developer/use-cases"],[1593,"/docs/developer/use-cases"],[1594,"/docs/developer/use-cases"],[1595,"/docs/developer/use-cases"],[1596,"/docs/developer/use-cases"],[1597,"/docs/developer/use-cases"],[1598,"/docs/developer/use-cases"],[1599,"/docs/developer/use-cases"],[1600,"/docs/developer/use-cases"],[1601,"/docs/developer/use-cases"],[1602,"/docs/developer/use-cases"],[1603,"/docs/developer/use-cases"],[1604,"/docs/developer/use-cases"],[1605,"/docs/developer/use-cases"],[1606,"/docs/developer/use-cases"],[1607,"/docs/developer/use-cases"],[1608,"/docs/developer/use-cases"],[1609,"/docs/developer/use-cases"],[1610,"/docs/developer/use-cases"],[1611,"/docs/developer/use-cases"],[1612,"/docs/developer/use-cases"],[1613,"/docs/developer/use-cases"],[1614,"/docs/developer/use-cases"],[1615,"/docs/developer/use-cases"],[1616,"/docs/developer/use-cases"],[1617,"/docs/developer/use-cases"],[1618,"/docs/developer/use-cases"],[1619,"/docs/developer/use-cases"],[1620,"/docs/developer/use-cases"],[1621,"/docs/developer/use-cases"],[1622,"/docs/developer/use-cases"],[1623,"/docs/developer/use-cases"],[1624,"/docs/developer/use-cases"],[1625,"/docs/developer/use-cases"],[1626,"/docs/developer/use-cases"],[1627,"/docs/developer/use-cases"],[1628,"/docs/developer/use-cases"],[1629,"/docs/developer/use-cases"],[1630,"/docs/developer/use-cases"],[1631,"/docs/developer/use-cases"],[1632,"/docs/developer/use-cases"],[1633,"/docs/developer/use-cases"],[1634,"/docs/developer/use-cases"],[1635,"/docs/developer/use-cases"],[1636,"/docs/developer/use-cases"],[1637,"/docs/developer/use-cases"],[1638,"/docs/developer/use-cases"],[1639,"/docs/developer/use-cases"],[1640,"/docs/developer/use-cases"],[1641,"/docs/developer/use-cases"],[1642,"/docs/developer/use-cases"],[1643,"/docs/developer/use-cases"],[1644,"/docs/developer/use-cases"],[1645,"/docs/developer/use-cases"],[1646,"/docs/developer/use-cases"],[1647,"/docs/developer/use-cases"],[1648,"/docs/developer/use-cases"],[1649,"/docs/developer/use-cases"],[1650,"/docs/developer/use-cases"],[1651,"/docs/developer/use-cases"],[1652,"/docs/developer/use-cases"],[1653,"/docs/developer/use-cases"],[1654,"/docs/developer/use-cases"],[1655,"/docs/developer/use-cases"],[1656,"/docs/developer/use-cases"],[1657,"/docs/developer/use-cases"],[1658,"/docs/developer/use-cases"],[1659,"/docs/developer/use-cases"],[1660,"/docs/developer/use-cases"],[1661,"/docs/developer/use-cases"],[1662,"/docs/developer/use-cases"],[1663,"/docs/developer/use-cases"],[1664,"/docs/developer/use-cases"],[1665,"/docs/developer/use-cases"],[1666,"/docs/developer/use-cases"],[1667,"/docs/developer/use-cases"],[1668,"/docs/developer/use-cases"],[1669,"/docs/developer/use-cases"],[1670,"/docs/developer/use-cases"],[1671,"/docs/developer/use-cases"],[1672,"/docs/developer/use-cases"],[1673,"/docs/developer/use-cases"],[1674,"/docs/developer/use-cases"],[1675,"/docs/developer/use-cases"],[1676,"/docs/developer/use-cases"],[1677,"/docs/developer/use-cases"],[1678,"/docs/developer/use-cases"],[1679,"/docs/developer/use-cases"],[1680,"/docs/developer/use-cases"],[1681,"/docs/developer/use-cases"],[1682,"/docs/developer/use-cases"],[1683,"/docs/developer/use-cases"],[1684,"/docs/developer/use-cases"],[1685,"/docs/developer/use-cases"],[1686,"/docs/developer/use-cases"],[1687,"/docs/developer/use-cases"],[1688,"/docs/developer/use-cases"],[1689,"/docs/developer/use-cases"],[1690,"/docs/developer/use-cases"],[1691,"/docs/developer/use-cases"],[1692,"/docs/developer/use-cases"],[1693,"/docs/developer/use-cases"],[1694,"/docs/developer/use-cases"],[1695,"/docs/developer/use-cases"],[1696,"/docs/developer/use-cases"],[1697,"/docs/developer/use-cases"],[1698,"/docs/developer/use-cases"],[1699,"/docs/developer/use-cases"],[1700,"/docs/developer/use-cases"],[1701,"/docs/developer/use-cases"],[1702,"/docs/developer/use-cases"],[1703,"/docs/developer/use-cases"],[1704,"/docs/developer/use-cases"],[1705,"/docs/developer/use-cases"],[1706,"/docs/developer/use-cases"],[1707,"/docs/developer/use-cases"],[1708,"/docs/developer/use-cases"],[1709,"/docs/developer/use-cases"],[1710,"/docs/developer/use-cases"],[1711,"/docs/developer/use-cases"],[1712,"/docs/developer/use-cases"],[1713,"/docs/developer/use-cases"],[1714,"/docs/developer/use-cases"],[1715,"/docs/developer/use-cases"],[1716,"/docs/developer/use-cases"],[1717,"/docs/developer/use-cases"],[1718,"/docs/developer/use-cases"],[1719,"/docs/developer/use-cases"],[1720,"/docs/developer/use-cases"],[1721,"/docs/developer/use-cases"],[1722,"/docs/developer/use-cases"],[1723,"/docs/developer/use-cases"],[1724,"/docs/developer/use-cases"],[1725,"/docs/developer/use-cases"],[1726,"/docs/developer/use-cases"],[1727,"/docs/developer/use-cases"],[1728,"/docs/developer/use-cases"],[1729,"/docs/developer/use-cases"],[1730,"/docs/developer/use-cases"],[1731,"/docs/developer/use-cases"],[1732,"/docs/developer/use-cases"],[1733,"/docs/developer/use-cases"],[1734,"/docs/developer/use-cases"],[1735,"/docs/developer/use-cases"],[1736,"/docs/developer/use-cases"],[1737,"/docs/developer/use-cases"],[1738,"/docs/developer/use-cases"],[1739,"/docs/developer/use-cases"],[1740,"/docs/developer/use-cases"],[1741,"/docs/developer/use-cases"],[1742,"/docs/developer/use-cases"],[1743,"/docs/developer/use-cases"],[1744,"/docs/developer/use-cases"],[1745,"/docs/developer/use-cases"],[1746,"/docs/developer/use-cases"],[1747,"/docs/developer/use-cases"],[1748,"/docs/developer/use-cases"],[1749,"/docs/developer/use-cases"],[1750,"/docs/developer/use-cases"],[1751,"/docs/developer/use-cases"],[1752,"/docs/developer/use-cases"],[1753,"/docs/developer/use-cases"],[1754,"/docs/developer/use-cases"],[1755,"/docs/developer/use-cases"],[1756,"/docs/developer/use-cases"],[1757,"/docs/developer/use-cases"],[1758,"/docs/developer/use-cases"],[1759,"/docs/developer/use-cases"],[1760,"/docs/developer/use-cases"],[1761,"/docs/developer/use-cases"],[1762,"/docs/developer/use-cases"],[1763,"/docs/developer/use-cases"],[1764,"/docs/developer/use-cases"],[1765,"/docs/developer/use-cases"],[1766,"/docs/developer/use-cases"],[1767,"/docs/developer/use-cases"],[1768,"/docs/developer/use-cases"],[1769,"/docs/developer/use-cases"],[1770,"/docs/developer/use-cases"],[1771,"/docs/developer/use-cases"],[1772,"/docs/developer/use-cases"],[1773,"/docs/developer/use-cases"],[1774,"/docs/developer/use-cases"],[1775,"/docs/developer/use-cases"],[1776,"/docs/developer/use-cases"],[1777,"/docs/developer/use-cases"],[1778,"/docs/developer/use-cases"],[1779,"/docs/developer/use-cases"],[1780,"/docs/developer/use-cases"],[1781,"/docs/developer/use-cases"],[1848,"/docs/miscellaneous/internals"],[1849,"/docs/miscellaneous/internals"],[1850,"/docs/miscellaneous/internals"],[1851,"/docs/miscellaneous/internals"],[1852,"/docs/miscellaneous/internals"],[1853,"/docs/miscellaneous/internals"],[1854,"/docs/miscellaneous/internals"],[1855,"/docs/miscellaneous/internals"],[1856,"/docs/miscellaneous/internals"],[1857,"/docs/miscellaneous/internals"],[1858,"/docs/miscellaneous/internals"],[1859,"/docs/miscellaneous/internals"],[1860,"/docs/miscellaneous/internals"],[1861,"/docs/miscellaneous/internals"],[1862,"/docs/miscellaneous/internals"],[1863,"/docs/miscellaneous/internals"],[1864,"/docs/miscellaneous/internals"],[1865,"/docs/miscellaneous/internals"],[1866,"/docs/miscellaneous/internals"],[1867,"/docs/miscellaneous/internals"],[1868,"/docs/miscellaneous/internals"],[1869,"/docs/miscellaneous/internals"],[1870,"/docs/miscellaneous/internals"],[1871,"/docs/miscellaneous/internals"],[1872,"/docs/miscellaneous/internals"],[1873,"/docs/miscellaneous/internals"],[1874,"/docs/miscellaneous/internals"],[1875,"/docs/miscellaneous/internals"],[1876,"/docs/miscellaneous/internals"],[1877,"/docs/miscellaneous/internals"],[1878,"/docs/miscellaneous/internals"],[1879,"/docs/miscellaneous/internals"],[1880,"/docs/miscellaneous/internals"],[1881,"/docs/miscellaneous/internals"],[1882,"/docs/miscellaneous/internals"],[1883,"/docs/miscellaneous/internals"],[1884,"/docs/miscellaneous/internals"],[1885,"/docs/miscellaneous/internals"],[1886,"/docs/miscellaneous/internals"],[1887,"/docs/miscellaneous/internals"],[1888,"/docs/miscellaneous/internals"],[1889,"/docs/miscellaneous/internals"],[1890,"/docs/miscellaneous/internals"],[1891,"/docs/miscellaneous/internals"],[1892,"/docs/miscellaneous/internals"],[1893,"/docs/miscellaneous/internals"],[1894,"/docs/miscellaneous/internals"],[1895,"/docs/miscellaneous/internals"],[1896,"/docs/miscellaneous/internals"],[1897,"/docs/miscellaneous/internals"],[1898,"/docs/miscellaneous/internals"],[1899,"/docs/miscellaneous/internals"],[1900,"/docs/miscellaneous/internals"],[1901,"/docs/miscellaneous/internals"],[1902,"/docs/miscellaneous/internals"],[1903,"/docs/miscellaneous/internals"],[1904,"/docs/miscellaneous/internals"],[1905,"/docs/miscellaneous/internals"],[1906,"/docs/miscellaneous/internals"],[1907,"/docs/miscellaneous/internals"],[1908,"/docs/miscellaneous/internals"],[1909,"/docs/miscellaneous/internals"],[1910,"/docs/miscellaneous/internals"],[1911,"/docs/miscellaneous/internals"],[1912,"/docs/miscellaneous/internals"],[1913,"/docs/miscellaneous/internals"],[1914,"/docs/miscellaneous/internals"],[1915,"/docs/miscellaneous/internals"],[1916,"/docs/miscellaneous/internals"],[1917,"/docs/miscellaneous/internals"],[1918,"/docs/miscellaneous/internals"],[1919,"/docs/miscellaneous/internals"],[1920,"/docs/miscellaneous/internals"],[1921,"/docs/miscellaneous/internals"],[1922,"/docs/miscellaneous/internals"],[1923,"/docs/miscellaneous/internals"],[1924,"/docs/miscellaneous/internals"],[1925,"/docs/miscellaneous/internals"],[1926,"/docs/miscellaneous/internals"],[1927,"/docs/miscellaneous/internals"],[1928,"/docs/overview/quick-start"],[1929,"/docs/overview/quick-start"],[1930,"/docs/overview/quick-start"],[1931,"/docs/overview/quick-start"],[1932,"/docs/overview/quick-start"],[1933,"/docs/overview/quick-start"],[1934,"/docs/overview/quick-start"],[1935,"/docs/overview/quick-start"],[1936,"/docs/overview/quick-start"],[1937,"/docs/overview/quick-start"],[1938,"/docs/overview/quick-start"],[1939,"/docs/overview/quick-start"],[1940,"/docs/overview/quick-start"],[1941,"/docs/overview/quick-start"],[1942,"/docs/overview/quick-start"],[1943,"/docs/overview/quick-start"],[1944,"/docs/overview/quick-start"],[1945,"/docs/overview/quick-start"],[1946,"/docs/overview/quick-start"],[1947,"/docs/overview/quick-start"],[1948,"/docs/overview/quick-start"],[1949,"/docs/overview/quick-start"],[1950,"/docs/overview/quick-start"],[1951,"/docs/overview/quick-start"],[1952,"/docs/overview/quick-start"],[1953,"/docs/overview/quick-start"],[1954,"/docs/overview/quick-start"],[1955,"/docs/overview/quick-start"],[1956,"/docs/overview/quick-start"],[1957,"/docs/overview/quick-start"],[1958,"/docs/overview/quick-start"],[1959,"/docs/overview/quick-start"],[1960,"/docs/overview/quick-start"],[1961,"/docs/overview/quick-start"],[1962,"/docs/overview/quick-start"],[1963,"/docs/overview/quick-start"],[1964,"/docs/overview/quick-start"],[1965,"/docs/overview/quick-start"],[1966,"/docs/overview/quick-start"],[1967,"/docs/overview/quick-start"],[1968,"/docs/overview/quick-start"],[1969,"/docs/overview/quick-start"],[1970,"/docs/overview/quick-start"],[1971,"/docs/overview/quick-start"],[1972,"/docs/overview/quick-start"],[1973,"/docs/overview/quick-start"],[1974,"/docs/overview/quick-start"],[1975,"/docs/overview/quick-start"],[1976,"/docs/overview/quick-start"],[1977,"/docs/overview/quick-start"],[1978,"/docs/overview/quick-start"],[1979,"/docs/overview/quick-start"],[1980,"/docs/overview/quick-start"],[1981,"/docs/overview/quick-start"],[1982,"/docs/overview/quick-start"],[1983,"/docs/overview/release-notes"],[1984,"/docs/overview/release-notes"],[1985,"/docs/overview/release-notes"],[1986,"/docs/overview/release-notes"],[1987,"/docs/overview/release-notes"],[1988,"/docs/overview/release-notes"],[1989,"/docs/overview/release-notes"],[1990,"/docs/overview/release-notes"],[1991,"/docs/overview/release-notes"],[1992,"/docs/overview/release-notes"],[1993,"/docs/overview/release-notes"],[1994,"/docs/overview/release-notes"],[1995,"/docs/overview/release-notes"],[1996,"/docs/overview/release-notes"],[1997,"/docs/overview/release-notes"],[1998,"/docs/overview/release-notes"],[1999,"/docs/overview/release-notes"],[2000,"/docs/overview/release-notes"],[2001,"/docs/overview/release-notes"],[2002,"/docs/overview/release-notes"],[2003,"/docs/overview/release-notes"],[2004,"/docs/overview/release-notes"],[2005,"/docs/overview/release-notes"],[2006,"/docs/overview/release-notes"],[2007,"/docs/overview/release-notes"],[2008,"/docs/overview/release-notes"],[2009,"/docs/overview/release-notes"],[2010,"/docs/overview/release-notes"],[2011,"/docs/overview/release-notes"],[2012,"/docs/overview/release-notes"],[2013,"/docs/overview/release-notes"],[2014,"/docs/overview/release-notes"],[2015,"/docs/overview/release-notes"],[2016,"/docs/overview/release-notes"],[2017,"/docs/overview/release-notes"],[2018,"/docs/overview/release-notes"],[2019,"/docs/overview/release-notes"],[2020,"/docs/overview/release-notes"],[2021,"/docs/overview/release-notes"],[2022,"/docs/overview/release-notes"],[2023,"/docs/overview/release-notes"],[2024,"/docs/overview/release-notes"],[2025,"/docs/overview/release-notes"],[2026,"/docs/overview/release-notes"],[2027,"/docs/overview/release-notes"],[2028,"/docs/overview/release-notes"],[2029,"/docs/overview/release-notes"],[2030,"/docs/overview/release-notes"],[2031,"/docs/overview/release-notes"],[2032,"/docs/overview/release-notes"],[2033,"/docs/overview/release-notes"],[2034,"/docs/overview/release-notes"],[2035,"/docs/overview/release-notes"],[2036,"/docs/overview/release-notes"],[2037,"/docs/overview/release-notes"],[2038,"/docs/overview/release-notes"],[2039,"/docs/overview/release-notes"],[2040,"/docs/overview/release-notes"],[2041,"/docs/overview/release-notes"],[2042,"/docs/overview/release-notes"],[2043,"/docs/overview/release-notes"],[2044,"/docs/overview/release-notes"],[2045,"/docs/overview/release-notes"],[2046,"/docs/overview/release-notes"],[2047,"/docs/overview/release-notes"],[2048,"/docs/overview/release-notes"],[2049,"/docs/overview/release-notes"],[2050,"/docs/overview/release-notes"],[2051,"/docs/overview/release-notes"],[2052,"/docs/overview/release-notes"],[2053,"/docs/overview/release-notes"],[2054,"/docs/overview/release-notes"],[2055,"/docs/overview/release-notes"],[2056,"/docs/overview/release-notes"],[2057,"/docs/overview/release-notes"],[2058,"/docs/overview/release-notes"],[2059,"/docs/overview/release-notes"],[2060,"/docs/overview/release-notes"],[2061,"/docs/overview/release-notes"],[2062,"/docs/overview/release-notes"],[2063,"/docs/overview/release-notes"],[2064,"/docs/overview/release-notes"],[2065,"/docs/overview/release-notes"],[2066,"/docs/overview/release-notes"],[2067,"/docs/overview/release-notes"],[2068,"/docs/overview/release-notes"],[2069,"/docs/overview/release-notes"],[2070,"/docs/overview/release-notes"],[2071,"/docs/overview/release-notes"],[2072,"/docs/overview/release-notes"],[2073,"/docs/overview/release-notes"],[2074,"/docs/overview/release-notes"],[2075,"/docs/overview/release-notes"],[2076,"/docs/overview/release-notes"],[2077,"/docs/overview/release-notes"],[2078,"/docs/overview/release-notes"],[2079,"/docs/overview/release-notes"],[2080,"/docs/overview/release-notes"],[2081,"/docs/overview/release-notes"],[2082,"/docs/overview/release-notes"],[2083,"/docs/overview/release-notes"],[2084,"/docs/overview/release-notes"],[2085,"/docs/overview/release-notes"],[2086,"/docs/overview/release-notes"],[2087,"/docs/overview/release-notes"],[2088,"/docs/overview/release-notes"],[2089,"/docs/overview/release-notes"],[2090,"/docs/overview/release-notes"],[2091,"/docs/overview/release-notes"],[2092,"/docs/overview/release-notes"],[2093,"/docs/overview/release-notes"],[2094,"/docs/overview/release-notes"],[2095,"/docs/overview/release-notes"],[2096,"/docs/overview/release-notes"],[2097,"/docs/overview/release-notes"],[2098,"/docs/overview/release-notes"],[2099,"/docs/overview/release-notes"],[2100,"/docs/overview/release-notes"],[2101,"/docs/overview/release-notes"],[2102,"/docs/overview/release-notes"],[2103,"/docs/overview/release-notes"],[2104,"/docs/overview/release-notes"],[2105,"/docs/overview/release-notes"],[2106,"/docs/overview/release-notes"],[2107,"/docs/overview/release-notes"],[2108,"/docs/overview/release-notes"],[2109,"/docs/overview/release-notes"],[2110,"/docs/overview/release-notes"],[2111,"/docs/overview/release-notes"],[2112,"/docs/overview/release-notes"],[2113,"/docs/overview/release-notes"],[2114,"/docs/overview/release-notes"],[2115,"/docs/overview/release-notes"],[2116,"/docs/overview/release-notes"],[2117,"/docs/overview/release-notes"],[2118,"/docs/overview/release-notes"],[2119,"/docs/overview/release-notes"],[2120,"/docs/overview/release-notes"],[2121,"/docs/overview/release-notes"],[2122,"/docs/overview/release-notes"],[2123,"/docs/overview/release-notes"],[2124,"/docs/overview/release-notes"],[2125,"/docs/overview/release-notes"],[2126,"/docs/overview/release-notes"],[2127,"/docs/overview/release-notes"],[2128,"/docs/overview/release-notes"],[2129,"/docs/overview/release-notes"],[2130,"/docs/overview/release-notes"],[2131,"/docs/overview/release-notes"],[2132,"/docs/overview/release-notes"],[2133,"/docs/overview/release-notes"],[2134,"/docs/overview/release-notes"],[2135,"/docs/overview/release-notes"],[2136,"/docs/overview/release-notes"],[2137,"/docs/overview/release-notes"],[2138,"/docs/overview/release-notes"],[2139,"/docs/overview/release-notes"],[2140,"/docs/overview/release-notes"],[2141,"/docs/overview/release-notes"],[2142,"/docs/overview/release-notes"],[2143,"/docs/overview/release-notes"],[2144,"/docs/overview/release-notes"],[2145,"/docs/overview/release-notes"],[2146,"/docs/overview/release-notes"],[2147,"/docs/overview/release-notes"],[2148,"/docs/overview/release-notes"],[2149,"/docs/overview/release-notes"],[2150,"/docs/overview/release-notes"],[2151,"/docs/overview/release-notes"],[2152,"/docs/overview/release-notes"],[2153,"/docs/overview/release-notes"],[2154,"/docs/overview/release-notes"],[2155,"/docs/overview/release-notes"],[2156,"/docs/overview/release-notes"],[2157,"/docs/overview/release-notes"],[2158,"/docs/overview/release-notes"],[2159,"/docs/overview/release-notes"],[2160,"/docs/overview/release-notes"],[2161,"/docs/overview/release-notes"],[2162,"/docs/overview/release-notes"],[2163,"/docs/overview/release-notes"],[2164,"/docs/overview/release-notes"],[2165,"/docs/overview/release-notes"],[2166,"/docs/overview/release-notes"],[2167,"/docs/overview/release-notes"],[2168,"/docs/overview/release-notes"],[2169,"/docs/overview/release-notes"],[2170,"/docs/overview/release-notes"],[2171,"/docs/overview/release-notes"],[2172,"/docs/overview/release-notes"],[2173,"/docs/overview/release-notes"],[2174,"/docs/overview/release-notes"],[2175,"/docs/overview/release-notes"],[2176,"/docs/overview/release-notes"],[2177,"/docs/overview/release-notes"],[2178,"/docs/overview/release-notes"],[2179,"/docs/overview/release-notes"],[2180,"/docs/overview/release-notes"],[2181,"/docs/overview/release-notes"],[2182,"/docs/overview/release-notes"],[2183,"/docs/overview/release-notes"],[2184,"/docs/overview/release-notes"],[2185,"/docs/overview/release-notes"],[2186,"/docs/overview/release-notes"],[2187,"/docs/overview/release-notes"],[2188,"/docs/overview/release-notes"],[2189,"/docs/overview/release-notes"],[2190,"/docs/overview/release-notes"],[2191,"/docs/overview/release-notes"],[2192,"/docs/overview/release-notes"],[2193,"/docs/overview/release-notes"],[2194,"/docs/overview/release-notes"]],"type":"string"},"type":{"docs":{"1":340,"2":375,"3":0,"4":1,"5":2,"6":3,"7":4,"8":5,"9":6,"10":7,"11":376,"12":377,"13":378,"14":379,"15":380,"16":381,"17":382,"18":383,"19":384,"20":385,"21":386,"22":387,"23":388,"24":389,"25":390,"26":391,"27":392,"28":393,"29":394,"30":395,"31":396,"32":397,"33":398,"34":399,"35":400,"36":401,"37":402,"38":403,"39":404,"40":405,"41":341,"42":406,"43":8,"44":9,"45":407,"46":408,"47":409,"48":410,"49":411,"50":412,"51":413,"52":342,"53":414,"54":10,"55":11,"56":12,"57":415,"58":416,"59":417,"60":418,"61":419,"62":420,"63":421,"64":422,"65":423,"66":424,"67":425,"68":426,"69":427,"70":428,"71":429,"72":430,"73":431,"74":432,"75":433,"76":434,"77":435,"78":436,"79":437,"80":438,"81":439,"82":440,"83":441,"84":442,"85":443,"86":444,"87":445,"88":446,"89":447,"90":448,"91":449,"92":450,"93":451,"94":452,"95":453,"96":454,"97":455,"98":456,"99":457,"100":458,"101":459,"102":460,"103":461,"104":462,"105":463,"106":464,"107":465,"108":466,"109":467,"110":468,"111":469,"112":470,"113":471,"114":472,"115":473,"116":474,"117":475,"118":476,"119":477,"120":478,"121":479,"122":480,"123":481,"124":482,"125":483,"126":484,"127":485,"128":486,"129":487,"130":488,"131":489,"132":490,"133":491,"134":492,"135":493,"136":494,"137":495,"138":496,"139":343,"140":497,"141":13,"142":14,"143":498,"144":499,"145":500,"146":501,"147":502,"148":503,"149":504,"150":505,"151":506,"152":507,"153":508,"154":509,"155":510,"156":511,"157":512,"158":513,"159":514,"160":344,"161":515,"162":15,"163":16,"164":17,"165":18,"166":19,"167":20,"168":21,"169":22,"170":23,"171":24,"172":25,"173":26,"174":516,"175":517,"176":518,"177":519,"178":520,"179":521,"180":522,"181":523,"182":524,"183":525,"184":526,"185":527,"186":528,"187":529,"188":530,"189":531,"190":532,"191":533,"192":534,"193":535,"194":536,"195":537,"196":538,"197":539,"198":540,"199":541,"200":542,"201":543,"202":544,"203":545,"204":546,"205":547,"206":548,"207":549,"208":550,"209":551,"210":552,"211":553,"212":554,"213":555,"214":556,"215":557,"216":558,"217":559,"218":560,"219":561,"220":562,"221":563,"222":564,"223":565,"224":566,"225":567,"226":568,"227":569,"228":570,"229":571,"230":572,"231":573,"232":574,"233":575,"234":576,"235":577,"236":578,"237":579,"238":580,"239":581,"240":582,"241":583,"242":584,"243":585,"244":586,"245":587,"246":588,"247":589,"248":590,"249":591,"250":592,"251":593,"252":594,"253":595,"254":596,"255":597,"256":598,"257":599,"258":600,"259":601,"260":602,"261":603,"262":604,"263":605,"264":606,"265":607,"266":608,"267":609,"268":610,"269":611,"270":612,"271":613,"272":614,"273":615,"274":616,"275":617,"276":618,"277":619,"278":620,"279":621,"280":622,"281":623,"282":624,"283":625,"284":626,"285":627,"286":628,"287":629,"288":630,"289":631,"290":632,"291":633,"292":634,"293":635,"294":636,"295":637,"296":638,"297":639,"298":640,"299":641,"300":642,"301":643,"302":644,"303":645,"304":646,"305":647,"306":648,"307":649,"308":650,"309":651,"310":652,"311":653,"312":654,"313":655,"314":656,"315":657,"316":658,"317":659,"318":660,"319":661,"320":662,"321":663,"322":664,"323":665,"324":666,"325":667,"326":668,"327":669,"328":670,"329":671,"330":672,"331":673,"332":674,"333":675,"334":676,"335":677,"336":678,"337":679,"338":680,"339":681,"340":682,"341":683,"342":684,"343":685,"344":686,"345":687,"346":688,"347":689,"348":690,"349":691,"350":692,"351":693,"352":694,"353":695,"354":696,"355":697,"356":698,"357":699,"358":700,"359":701,"360":702,"361":703,"362":704,"363":705,"364":706,"365":707,"366":708,"367":709,"368":710,"369":711,"370":712,"371":713,"372":714,"373":715,"374":716,"375":717,"376":718,"377":719,"378":720,"379":721,"380":722,"381":723,"382":724,"383":725,"384":726,"385":727,"386":728,"387":729,"388":730,"389":731,"390":732,"391":733,"392":734,"393":735,"394":736,"395":737,"396":738,"397":739,"398":740,"399":741,"400":742,"401":743,"402":744,"403":745,"404":746,"405":747,"406":748,"407":749,"408":750,"409":751,"410":752,"411":753,"412":754,"413":755,"414":756,"415":757,"416":758,"417":759,"418":760,"419":761,"420":762,"421":763,"422":764,"423":765,"424":766,"425":767,"426":768,"427":769,"428":770,"429":771,"430":772,"431":773,"432":774,"433":775,"434":776,"435":777,"436":345,"437":778,"438":27,"439":28,"440":29,"441":30,"442":779,"443":780,"444":781,"445":782,"446":783,"447":784,"448":785,"449":786,"450":787,"451":788,"452":789,"453":790,"454":791,"455":792,"456":346,"457":793,"458":31,"459":32,"460":33,"461":34,"462":35,"463":36,"464":37,"465":38,"466":39,"467":794,"468":795,"469":796,"470":797,"471":798,"472":799,"473":800,"474":801,"475":802,"476":803,"477":804,"478":805,"479":806,"480":807,"481":808,"482":809,"483":810,"484":811,"485":812,"486":813,"487":814,"488":815,"489":816,"490":817,"491":818,"492":819,"493":820,"494":821,"495":822,"496":823,"497":824,"498":825,"499":826,"500":827,"501":828,"502":829,"503":830,"504":831,"505":832,"506":833,"507":834,"508":835,"509":836,"510":837,"511":838,"512":839,"513":840,"514":841,"515":842,"516":843,"517":844,"518":845,"519":846,"520":847,"521":848,"522":849,"523":850,"524":851,"525":852,"526":853,"527":854,"528":855,"529":856,"530":857,"531":858,"532":859,"533":860,"534":861,"535":862,"536":863,"537":864,"538":865,"539":866,"540":347,"541":867,"542":348,"543":868,"544":40,"545":41,"546":42,"547":43,"548":44,"549":45,"550":46,"551":47,"552":48,"553":49,"554":50,"555":51,"556":52,"557":53,"558":54,"559":55,"560":56,"561":57,"562":58,"563":59,"564":60,"565":61,"566":62,"567":63,"568":64,"569":65,"570":66,"571":67,"572":68,"573":869,"574":870,"575":871,"576":872,"577":873,"578":874,"579":875,"580":876,"581":877,"582":878,"583":879,"584":880,"585":881,"586":882,"587":883,"588":884,"589":885,"590":886,"591":887,"592":888,"593":889,"594":890,"595":891,"596":892,"597":893,"598":894,"599":895,"600":896,"601":897,"602":898,"603":899,"604":900,"605":901,"606":902,"607":903,"608":904,"609":349,"610":905,"611":69,"612":70,"613":71,"614":72,"615":73,"616":74,"617":75,"618":76,"619":77,"620":78,"621":79,"622":80,"623":81,"624":82,"625":83,"626":84,"627":85,"628":86,"629":87,"630":88,"631":89,"632":90,"633":906,"634":907,"635":908,"636":909,"637":910,"638":911,"639":912,"640":913,"641":914,"642":915,"643":916,"644":917,"645":918,"646":919,"647":920,"648":921,"649":922,"650":923,"651":924,"652":925,"653":926,"654":927,"655":928,"656":929,"657":930,"658":931,"659":932,"660":933,"661":934,"662":935,"663":936,"664":937,"665":938,"666":939,"667":940,"668":941,"669":942,"670":943,"671":944,"672":945,"673":946,"674":947,"675":948,"676":949,"677":950,"678":951,"679":952,"680":953,"681":954,"682":955,"683":956,"684":957,"685":958,"686":959,"687":960,"688":961,"689":962,"690":963,"691":964,"692":965,"693":966,"694":967,"695":968,"696":969,"697":970,"698":971,"699":972,"700":973,"701":974,"702":975,"703":976,"704":977,"705":978,"706":979,"707":980,"708":981,"709":982,"710":983,"711":984,"712":985,"713":986,"714":987,"715":988,"716":989,"717":990,"718":991,"719":992,"720":993,"721":994,"722":995,"723":996,"724":997,"725":998,"726":999,"727":1000,"728":1001,"729":1002,"730":1003,"731":1004,"732":1005,"733":1006,"734":1007,"735":1008,"736":350,"737":1009,"738":91,"739":92,"740":93,"741":94,"742":95,"743":96,"744":97,"745":1010,"746":1011,"747":1012,"748":1013,"749":1014,"750":1015,"751":1016,"752":1017,"753":1018,"754":1019,"755":1020,"756":1021,"757":1022,"758":1023,"759":1024,"760":1025,"761":1026,"762":1027,"763":1028,"764":1029,"765":1030,"766":1031,"767":1032,"768":1033,"769":1034,"770":1035,"771":1036,"772":1037,"773":1038,"774":1039,"775":1040,"776":1041,"777":1042,"778":1043,"779":1044,"780":1045,"781":1046,"782":1047,"783":1048,"784":1049,"785":1050,"786":1051,"787":1052,"788":1053,"789":1054,"790":1055,"791":1056,"792":1057,"793":1058,"794":351,"795":1059,"796":98,"797":99,"798":100,"799":101,"800":102,"801":103,"802":104,"803":105,"804":106,"805":107,"806":108,"807":109,"808":110,"809":1060,"810":1061,"811":1062,"812":1063,"813":1064,"814":1065,"815":1066,"816":1067,"817":1068,"818":1069,"819":1070,"820":1071,"821":1072,"822":1073,"823":1074,"824":1075,"825":1076,"826":1077,"827":1078,"828":1079,"829":1080,"830":1081,"831":1082,"832":1083,"833":1084,"834":1085,"835":1086,"836":1087,"837":1088,"838":1089,"839":1090,"840":1091,"841":1092,"842":1093,"843":1094,"844":1095,"845":1096,"846":1097,"847":1098,"848":1099,"849":1100,"850":1101,"851":1102,"852":1103,"853":1104,"854":1105,"855":1106,"856":1107,"857":1108,"858":1109,"859":1110,"860":1111,"861":1112,"862":1113,"863":1114,"864":1115,"865":352,"866":1116,"867":111,"868":112,"869":113,"870":1117,"871":1118,"872":1119,"873":1120,"874":1121,"875":1122,"876":1123,"877":1124,"878":1125,"879":1126,"880":1127,"881":1128,"882":1129,"883":1130,"884":1131,"885":353,"886":1132,"887":114,"888":115,"889":116,"890":117,"891":118,"892":119,"893":120,"894":121,"895":122,"896":123,"897":124,"898":125,"899":126,"900":127,"901":128,"902":1133,"903":1134,"904":1135,"905":1136,"906":1137,"907":1138,"908":1139,"909":1140,"910":1141,"911":1142,"912":1143,"913":1144,"914":1145,"915":1146,"916":1147,"917":1148,"918":1149,"919":1150,"920":1151,"921":1152,"922":1153,"923":1154,"924":1155,"925":1156,"926":1157,"927":1158,"928":1159,"929":1160,"930":1161,"931":1162,"932":1163,"933":1164,"934":1165,"935":1166,"936":1167,"937":1168,"938":1169,"939":1170,"940":1171,"941":1172,"942":1173,"943":1174,"944":1175,"945":1176,"946":1177,"947":1178,"948":1179,"949":1180,"950":1181,"951":1182,"952":1183,"953":1184,"954":1185,"955":1186,"956":1187,"957":1188,"958":354,"959":1189,"960":129,"961":130,"962":131,"963":1190,"964":1191,"965":1192,"966":1193,"967":1194,"968":1195,"969":1196,"970":1197,"971":1198,"972":1199,"973":1200,"974":1201,"975":1202,"976":355,"977":1203,"978":132,"979":133,"980":1204,"981":1205,"982":1206,"983":1207,"984":1208,"985":1209,"986":1210,"987":1211,"988":1212,"989":1213,"990":1214,"991":1215,"992":1216,"993":356,"994":1217,"995":134,"996":135,"997":136,"998":137,"999":138,"1000":139,"1001":140,"1002":141,"1003":142,"1004":143,"1005":144,"1006":145,"1007":146,"1008":147,"1009":148,"1010":149,"1011":150,"1012":151,"1013":152,"1014":153,"1015":1218,"1016":1219,"1017":1220,"1018":1221,"1019":1222,"1020":1223,"1021":1224,"1022":1225,"1023":1226,"1024":1227,"1025":1228,"1026":1229,"1027":1230,"1028":1231,"1029":1232,"1030":1233,"1031":1234,"1032":1235,"1033":1236,"1034":1237,"1035":1238,"1036":1239,"1037":1240,"1038":1241,"1039":1242,"1040":1243,"1041":1244,"1042":1245,"1043":1246,"1044":1247,"1045":1248,"1046":1249,"1047":1250,"1048":1251,"1049":1252,"1050":1253,"1051":1254,"1052":1255,"1053":1256,"1054":1257,"1055":1258,"1056":1259,"1057":1260,"1058":1261,"1059":1262,"1060":1263,"1061":1264,"1062":1265,"1063":1266,"1064":1267,"1065":1268,"1066":1269,"1067":1270,"1068":1271,"1069":1272,"1070":1273,"1071":1274,"1072":1275,"1073":1276,"1074":1277,"1075":1278,"1076":1279,"1077":1280,"1078":357,"1079":1281,"1080":154,"1081":155,"1082":156,"1083":157,"1084":158,"1085":159,"1086":160,"1087":161,"1088":1282,"1089":1283,"1090":1284,"1091":1285,"1092":1286,"1093":1287,"1094":1288,"1095":1289,"1096":1290,"1097":1291,"1098":1292,"1099":1293,"1100":1294,"1101":1295,"1102":1296,"1103":1297,"1104":1298,"1105":1299,"1106":1300,"1107":1301,"1108":1302,"1109":1303,"1110":358,"1111":1304,"1112":162,"1113":163,"1114":164,"1115":165,"1116":166,"1117":167,"1118":168,"1119":169,"1120":1305,"1121":1306,"1122":1307,"1123":1308,"1124":1309,"1125":1310,"1126":1311,"1127":1312,"1128":1313,"1129":1314,"1130":1315,"1131":1316,"1132":1317,"1133":1318,"1134":1319,"1135":1320,"1136":1321,"1137":1322,"1138":1323,"1139":1324,"1140":1325,"1141":1326,"1142":1327,"1143":1328,"1144":1329,"1145":1330,"1146":1331,"1147":1332,"1148":1333,"1149":359,"1150":1334,"1151":170,"1152":171,"1153":172,"1154":1335,"1155":1336,"1156":1337,"1157":1338,"1158":1339,"1159":1340,"1160":1341,"1161":1342,"1162":1343,"1163":1344,"1164":1345,"1165":1346,"1166":1347,"1167":1348,"1168":1349,"1169":1350,"1170":1351,"1171":1352,"1172":1353,"1173":1354,"1174":1355,"1175":1356,"1176":1357,"1177":1358,"1178":1359,"1179":1360,"1180":1361,"1181":1362,"1182":1363,"1183":1364,"1184":1365,"1185":1366,"1186":1367,"1187":1368,"1188":1369,"1189":1370,"1190":1371,"1191":1372,"1192":1373,"1193":1374,"1194":1375,"1195":1376,"1196":1377,"1197":1378,"1198":1379,"1199":1380,"1200":1381,"1201":1382,"1202":1383,"1203":1384,"1204":360,"1205":1385,"1206":173,"1207":174,"1208":175,"1209":176,"1210":177,"1211":1386,"1212":1387,"1213":1388,"1214":1389,"1215":1390,"1216":1391,"1217":1392,"1218":1393,"1219":1394,"1220":1395,"1221":1396,"1222":1397,"1223":1398,"1224":1399,"1225":1400,"1226":1401,"1227":1402,"1228":1403,"1229":1404,"1230":1405,"1231":1406,"1232":1407,"1233":1408,"1234":1409,"1235":1410,"1236":1411,"1237":1412,"1238":1413,"1239":1414,"1240":1415,"1241":1416,"1242":1417,"1243":1418,"1244":1419,"1245":1420,"1246":1421,"1247":1422,"1248":1423,"1249":1424,"1250":1425,"1251":1426,"1252":1427,"1253":1428,"1254":1429,"1255":1430,"1256":1431,"1257":361,"1258":1432,"1259":178,"1260":179,"1261":1433,"1262":1434,"1263":1435,"1264":1436,"1265":1437,"1266":1438,"1267":1439,"1268":1440,"1269":1441,"1270":1442,"1271":1443,"1272":1444,"1273":1445,"1274":1446,"1275":1447,"1276":1448,"1277":362,"1278":1449,"1279":1450,"1280":1451,"1281":1452,"1282":1453,"1283":1454,"1284":1455,"1285":1456,"1286":1457,"1287":1458,"1288":1459,"1289":1460,"1290":363,"1291":1461,"1292":180,"1293":181,"1294":182,"1295":183,"1296":184,"1297":185,"1298":186,"1299":187,"1300":188,"1301":189,"1302":190,"1303":191,"1304":1462,"1305":1463,"1306":1464,"1307":1465,"1308":1466,"1309":1467,"1310":1468,"1311":1469,"1312":1470,"1313":1471,"1314":1472,"1315":1473,"1316":1474,"1317":1475,"1318":1476,"1319":1477,"1320":1478,"1321":1479,"1322":1480,"1323":1481,"1324":1482,"1325":1483,"1326":1484,"1327":1485,"1328":1486,"1329":1487,"1330":1488,"1331":1489,"1332":1490,"1333":1491,"1334":1492,"1335":1493,"1336":1494,"1337":1495,"1338":1496,"1339":1497,"1340":1498,"1341":1499,"1342":364,"1343":1500,"1344":1501,"1345":1502,"1346":1503,"1347":1504,"1348":1505,"1349":1506,"1350":365,"1351":1507,"1352":192,"1353":1508,"1354":1509,"1355":1510,"1356":1511,"1357":1512,"1358":1513,"1359":1514,"1360":1515,"1361":1516,"1362":366,"1363":1517,"1364":1518,"1365":1519,"1366":1520,"1367":1521,"1368":1522,"1369":1523,"1370":1524,"1371":1525,"1372":1526,"1373":1527,"1374":1528,"1375":1529,"1376":1530,"1377":1531,"1378":1532,"1379":367,"1380":1533,"1381":193,"1382":1534,"1383":1535,"1384":1536,"1385":1537,"1386":1538,"1387":1539,"1388":1540,"1389":1541,"1390":1542,"1391":1543,"1392":1544,"1393":1545,"1394":1546,"1395":1547,"1396":1548,"1397":1549,"1398":1550,"1399":1551,"1400":1552,"1401":1553,"1402":1554,"1403":1555,"1404":1556,"1405":1557,"1406":1558,"1407":1559,"1408":1560,"1409":1561,"1410":1562,"1411":1563,"1412":1564,"1413":1565,"1414":1566,"1415":1567,"1416":1568,"1417":1569,"1418":1570,"1419":1571,"1420":1572,"1421":1573,"1422":1574,"1423":1575,"1424":1576,"1425":368,"1426":1577,"1427":194,"1428":195,"1429":196,"1430":197,"1431":198,"1432":1578,"1433":1579,"1434":1580,"1435":1581,"1436":1582,"1437":1583,"1438":1584,"1439":1585,"1440":1586,"1441":1587,"1442":1588,"1443":1589,"1444":1590,"1445":1591,"1446":1592,"1447":1593,"1448":1594,"1449":1595,"1450":1596,"1451":1597,"1452":1598,"1453":1599,"1454":1600,"1455":1601,"1456":1602,"1457":369,"1458":1603,"1459":199,"1460":200,"1461":201,"1462":202,"1463":203,"1464":204,"1465":205,"1466":206,"1467":207,"1468":208,"1469":209,"1470":210,"1471":211,"1472":1604,"1473":1605,"1474":1606,"1475":1607,"1476":1608,"1477":1609,"1478":1610,"1479":1611,"1480":1612,"1481":1613,"1482":1614,"1483":1615,"1484":1616,"1485":1617,"1486":1618,"1487":1619,"1488":1620,"1489":1621,"1490":1622,"1491":1623,"1492":1624,"1493":1625,"1494":1626,"1495":1627,"1496":1628,"1497":1629,"1498":1630,"1499":1631,"1500":1632,"1501":1633,"1502":1634,"1503":1635,"1504":1636,"1505":1637,"1506":1638,"1507":1639,"1508":1640,"1509":1641,"1510":1642,"1511":1643,"1512":1644,"1513":1645,"1514":1646,"1515":1647,"1516":1648,"1517":1649,"1518":1650,"1519":1651,"1520":1652,"1521":1653,"1522":1654,"1523":1655,"1524":1656,"1525":1657,"1526":1658,"1527":1659,"1528":1660,"1529":1661,"1530":1662,"1531":1663,"1532":1664,"1533":1665,"1534":1666,"1535":1667,"1536":1668,"1537":1669,"1538":1670,"1539":1671,"1540":1672,"1541":1673,"1542":1674,"1543":1675,"1544":1676,"1545":1677,"1546":1678,"1547":1679,"1548":1680,"1549":1681,"1550":1682,"1551":1683,"1552":1684,"1553":1685,"1554":1686,"1555":1687,"1556":1688,"1557":1689,"1558":1690,"1559":1691,"1560":1692,"1561":1693,"1562":370,"1563":1694,"1564":212,"1565":213,"1566":214,"1567":215,"1568":216,"1569":217,"1570":218,"1571":219,"1572":220,"1573":221,"1574":222,"1575":223,"1576":224,"1577":225,"1578":226,"1579":227,"1580":228,"1581":229,"1582":230,"1583":231,"1584":232,"1585":233,"1586":234,"1587":235,"1588":236,"1589":237,"1590":238,"1591":239,"1592":240,"1593":241,"1594":242,"1595":243,"1596":244,"1597":245,"1598":246,"1599":247,"1600":248,"1601":249,"1602":250,"1603":251,"1604":252,"1605":253,"1606":254,"1607":255,"1608":256,"1609":257,"1610":258,"1611":259,"1612":260,"1613":261,"1614":262,"1615":263,"1616":264,"1617":265,"1618":266,"1619":267,"1620":268,"1621":269,"1622":270,"1623":271,"1624":1695,"1625":1696,"1626":1697,"1627":1698,"1628":1699,"1629":1700,"1630":1701,"1631":1702,"1632":1703,"1633":1704,"1634":1705,"1635":1706,"1636":1707,"1637":1708,"1638":1709,"1639":1710,"1640":1711,"1641":1712,"1642":1713,"1643":1714,"1644":1715,"1645":1716,"1646":1717,"1647":1718,"1648":1719,"1649":1720,"1650":1721,"1651":1722,"1652":1723,"1653":1724,"1654":1725,"1655":1726,"1656":1727,"1657":1728,"1658":1729,"1659":1730,"1660":1731,"1661":1732,"1662":1733,"1663":1734,"1664":1735,"1665":1736,"1666":1737,"1667":1738,"1668":1739,"1669":1740,"1670":1741,"1671":1742,"1672":1743,"1673":1744,"1674":1745,"1675":1746,"1676":1747,"1677":1748,"1678":1749,"1679":1750,"1680":1751,"1681":1752,"1682":1753,"1683":1754,"1684":1755,"1685":1756,"1686":1757,"1687":1758,"1688":1759,"1689":1760,"1690":1761,"1691":1762,"1692":1763,"1693":1764,"1694":1765,"1695":1766,"1696":1767,"1697":1768,"1698":1769,"1699":1770,"1700":1771,"1701":1772,"1702":1773,"1703":1774,"1704":1775,"1705":1776,"1706":1777,"1707":1778,"1708":1779,"1709":1780,"1710":1781,"1711":1782,"1712":1783,"1713":1784,"1714":1785,"1715":1786,"1716":1787,"1717":1788,"1718":1789,"1719":1790,"1720":1791,"1721":1792,"1722":1793,"1723":1794,"1724":1795,"1725":1796,"1726":1797,"1727":1798,"1728":1799,"1729":1800,"1730":1801,"1731":1802,"1732":1803,"1733":1804,"1734":1805,"1735":1806,"1736":1807,"1737":1808,"1738":1809,"1739":1810,"1740":1811,"1741":1812,"1742":1813,"1743":1814,"1744":1815,"1745":1816,"1746":1817,"1747":1818,"1748":1819,"1749":1820,"1750":1821,"1751":1822,"1752":1823,"1753":1824,"1754":1825,"1755":1826,"1756":1827,"1757":1828,"1758":1829,"1759":1830,"1760":1831,"1761":1832,"1762":1833,"1763":1834,"1764":1835,"1765":1836,"1766":1837,"1767":1838,"1768":1839,"1769":1840,"1770":1841,"1771":1842,"1772":1843,"1773":1844,"1774":1845,"1775":1846,"1776":1847,"1777":1848,"1778":1849,"1779":1850,"1780":1851,"1781":1852,"1782":371,"1783":1853,"1784":272,"1785":273,"1786":274,"1787":275,"1788":276,"1789":277,"1790":278,"1791":279,"1792":280,"1793":281,"1794":282,"1795":283,"1796":284,"1797":1854,"1798":1855,"1799":1856,"1800":1857,"1801":1858,"1802":1859,"1803":1860,"1804":1861,"1805":1862,"1806":1863,"1807":1864,"1808":1865,"1809":1866,"1810":1867,"1811":1868,"1812":1869,"1813":1870,"1814":1871,"1815":1872,"1816":1873,"1817":1874,"1818":1875,"1819":1876,"1820":1877,"1821":1878,"1822":1879,"1823":1880,"1824":1881,"1825":1882,"1826":1883,"1827":1884,"1828":1885,"1829":1886,"1830":1887,"1831":1888,"1832":1889,"1833":1890,"1834":1891,"1835":1892,"1836":1893,"1837":1894,"1838":1895,"1839":1896,"1840":1897,"1841":1898,"1842":1899,"1843":1900,"1844":1901,"1845":1902,"1846":1903,"1847":1904,"1848":372,"1849":1905,"1850":285,"1851":286,"1852":287,"1853":288,"1854":289,"1855":290,"1856":291,"1857":292,"1858":293,"1859":294,"1860":295,"1861":296,"1862":1906,"1863":1907,"1864":1908,"1865":1909,"1866":1910,"1867":1911,"1868":1912,"1869":1913,"1870":1914,"1871":1915,"1872":1916,"1873":1917,"1874":1918,"1875":1919,"1876":1920,"1877":1921,"1878":1922,"1879":1923,"1880":1924,"1881":1925,"1882":1926,"1883":1927,"1884":1928,"1885":1929,"1886":1930,"1887":1931,"1888":1932,"1889":1933,"1890":1934,"1891":1935,"1892":1936,"1893":1937,"1894":1938,"1895":1939,"1896":1940,"1897":1941,"1898":1942,"1899":1943,"1900":1944,"1901":1945,"1902":1946,"1903":1947,"1904":1948,"1905":1949,"1906":1950,"1907":1951,"1908":1952,"1909":1953,"1910":1954,"1911":1955,"1912":1956,"1913":1957,"1914":1958,"1915":1959,"1916":1960,"1917":1961,"1918":1962,"1919":1963,"1920":1964,"1921":1965,"1922":1966,"1923":1967,"1924":1968,"1925":1969,"1926":1970,"1927":1971,"1928":373,"1929":1972,"1930":297,"1931":298,"1932":299,"1933":300,"1934":301,"1935":302,"1936":303,"1937":304,"1938":305,"1939":1973,"1940":1974,"1941":1975,"1942":1976,"1943":1977,"1944":1978,"1945":1979,"1946":1980,"1947":1981,"1948":1982,"1949":1983,"1950":1984,"1951":1985,"1952":1986,"1953":1987,"1954":1988,"1955":1989,"1956":1990,"1957":1991,"1958":1992,"1959":1993,"1960":1994,"1961":1995,"1962":1996,"1963":1997,"1964":1998,"1965":1999,"1966":2000,"1967":2001,"1968":2002,"1969":2003,"1970":2004,"1971":2005,"1972":2006,"1973":2007,"1974":2008,"1975":2009,"1976":2010,"1977":2011,"1978":2012,"1979":2013,"1980":2014,"1981":2015,"1982":2016,"1983":374,"1984":2017,"1985":306,"1986":307,"1987":308,"1988":309,"1989":310,"1990":311,"1991":312,"1992":313,"1993":314,"1994":315,"1995":316,"1996":317,"1997":318,"1998":319,"1999":320,"2000":321,"2001":322,"2002":323,"2003":324,"2004":325,"2005":326,"2006":327,"2007":328,"2008":329,"2009":330,"2010":331,"2011":332,"2012":333,"2013":334,"2014":335,"2015":336,"2016":337,"2017":338,"2018":339,"2019":2018,"2020":2019,"2021":2020,"2022":2021,"2023":2022,"2024":2023,"2025":2024,"2026":2025,"2027":2026,"2028":2027,"2029":2028,"2030":2029,"2031":2030,"2032":2031,"2033":2032,"2034":2033,"2035":2034,"2036":2035,"2037":2036,"2038":2037,"2039":2038,"2040":2039,"2041":2040,"2042":2041,"2043":2042,"2044":2043,"2045":2044,"2046":2045,"2047":2046,"2048":2047,"2049":2048,"2050":2049,"2051":2050,"2052":2051,"2053":2052,"2054":2053,"2055":2054,"2056":2055,"2057":2056,"2058":2057,"2059":2058,"2060":2059,"2061":2060,"2062":2061,"2063":2062,"2064":2063,"2065":2064,"2066":2065,"2067":2066,"2068":2067,"2069":2068,"2070":2069,"2071":2070,"2072":2071,"2073":2072,"2074":2073,"2075":2074,"2076":2075,"2077":2076,"2078":2077,"2079":2078,"2080":2079,"2081":2080,"2082":2081,"2083":2082,"2084":2083,"2085":2084,"2086":2085,"2087":2086,"2088":2087,"2089":2088,"2090":2089,"2091":2090,"2092":2091,"2093":2092,"2094":2093,"2095":2094,"2096":2095,"2097":2096,"2098":2097,"2099":2098,"2100":2099,"2101":2100,"2102":2101,"2103":2102,"2104":2103,"2105":2104,"2106":2105,"2107":2106,"2108":2107,"2109":2108,"2110":2109,"2111":2110,"2112":2111,"2113":2112,"2114":2113,"2115":2114,"2116":2115,"2117":2116,"2118":2117,"2119":2118,"2120":2119,"2121":2120,"2122":2121,"2123":2122,"2124":2123,"2125":2124,"2126":2125,"2127":2126,"2128":2127,"2129":2128,"2130":2129,"2131":2130,"2132":2131,"2133":2132,"2134":2133,"2135":2134,"2136":2135,"2137":2136,"2138":2137,"2139":2138,"2140":2139,"2141":2140,"2142":2141,"2143":2142,"2144":2143,"2145":2144,"2146":2145,"2147":2146,"2148":2147,"2149":2148,"2150":2149,"2151":2150,"2152":2151,"2153":2152,"2154":2153,"2155":2154,"2156":2155,"2157":2156,"2158":2157,"2159":2158,"2160":2159,"2161":2160,"2162":2161,"2163":2162,"2164":2163,"2165":2164,"2166":2165,"2167":2166,"2168":2167,"2169":2168,"2170":2169,"2171":2170,"2172":2171,"2173":2172,"2174":2173,"2175":2174,"2176":2175,"2177":2176,"2178":2177,"2179":2178,"2180":2179,"2181":2180,"2182":2181,"2183":2182,"2184":2183,"2185":2184,"2186":2185,"2187":2186,"2188":2187,"2189":2188,"2190":2189,"2191":2190,"2192":2191,"2193":2192,"2194":2193},"orderedDocs":[[3,"heading"],[4,"heading"],[5,"heading"],[6,"heading"],[7,"heading"],[8,"heading"],[9,"heading"],[10,"heading"],[43,"heading"],[44,"heading"],[54,"heading"],[55,"heading"],[56,"heading"],[141,"heading"],[142,"heading"],[162,"heading"],[163,"heading"],[164,"heading"],[165,"heading"],[166,"heading"],[167,"heading"],[168,"heading"],[169,"heading"],[170,"heading"],[171,"heading"],[172,"heading"],[173,"heading"],[438,"heading"],[439,"heading"],[440,"heading"],[441,"heading"],[458,"heading"],[459,"heading"],[460,"heading"],[461,"heading"],[462,"heading"],[463,"heading"],[464,"heading"],[465,"heading"],[466,"heading"],[544,"heading"],[545,"heading"],[546,"heading"],[547,"heading"],[548,"heading"],[549,"heading"],[550,"heading"],[551,"heading"],[552,"heading"],[553,"heading"],[554,"heading"],[555,"heading"],[556,"heading"],[557,"heading"],[558,"heading"],[559,"heading"],[560,"heading"],[561,"heading"],[562,"heading"],[563,"heading"],[564,"heading"],[565,"heading"],[566,"heading"],[567,"heading"],[568,"heading"],[569,"heading"],[570,"heading"],[571,"heading"],[572,"heading"],[611,"heading"],[612,"heading"],[613,"heading"],[614,"heading"],[615,"heading"],[616,"heading"],[617,"heading"],[618,"heading"],[619,"heading"],[620,"heading"],[621,"heading"],[622,"heading"],[623,"heading"],[624,"heading"],[625,"heading"],[626,"heading"],[627,"heading"],[628,"heading"],[629,"heading"],[630,"heading"],[631,"heading"],[632,"heading"],[738,"heading"],[739,"heading"],[740,"heading"],[741,"heading"],[742,"heading"],[743,"heading"],[744,"heading"],[796,"heading"],[797,"heading"],[798,"heading"],[799,"heading"],[800,"heading"],[801,"heading"],[802,"heading"],[803,"heading"],[804,"heading"],[805,"heading"],[806,"heading"],[807,"heading"],[808,"heading"],[867,"heading"],[868,"heading"],[869,"heading"],[887,"heading"],[888,"heading"],[889,"heading"],[890,"heading"],[891,"heading"],[892,"heading"],[893,"heading"],[894,"heading"],[895,"heading"],[896,"heading"],[897,"heading"],[898,"heading"],[899,"heading"],[900,"heading"],[901,"heading"],[960,"heading"],[961,"heading"],[962,"heading"],[978,"heading"],[979,"heading"],[995,"heading"],[996,"heading"],[997,"heading"],[998,"heading"],[999,"heading"],[1000,"heading"],[1001,"heading"],[1002,"heading"],[1003,"heading"],[1004,"heading"],[1005,"heading"],[1006,"heading"],[1007,"heading"],[1008,"heading"],[1009,"heading"],[1010,"heading"],[1011,"heading"],[1012,"heading"],[1013,"heading"],[1014,"heading"],[1080,"heading"],[1081,"heading"],[1082,"heading"],[1083,"heading"],[1084,"heading"],[1085,"heading"],[1086,"heading"],[1087,"heading"],[1112,"heading"],[1113,"heading"],[1114,"heading"],[1115,"heading"],[1116,"heading"],[1117,"heading"],[1118,"heading"],[1119,"heading"],[1151,"heading"],[1152,"heading"],[1153,"heading"],[1206,"heading"],[1207,"heading"],[1208,"heading"],[1209,"heading"],[1210,"heading"],[1259,"heading"],[1260,"heading"],[1292,"heading"],[1293,"heading"],[1294,"heading"],[1295,"heading"],[1296,"heading"],[1297,"heading"],[1298,"heading"],[1299,"heading"],[1300,"heading"],[1301,"heading"],[1302,"heading"],[1303,"heading"],[1352,"heading"],[1381,"heading"],[1427,"heading"],[1428,"heading"],[1429,"heading"],[1430,"heading"],[1431,"heading"],[1459,"heading"],[1460,"heading"],[1461,"heading"],[1462,"heading"],[1463,"heading"],[1464,"heading"],[1465,"heading"],[1466,"heading"],[1467,"heading"],[1468,"heading"],[1469,"heading"],[1470,"heading"],[1471,"heading"],[1564,"heading"],[1565,"heading"],[1566,"heading"],[1567,"heading"],[1568,"heading"],[1569,"heading"],[1570,"heading"],[1571,"heading"],[1572,"heading"],[1573,"heading"],[1574,"heading"],[1575,"heading"],[1576,"heading"],[1577,"heading"],[1578,"heading"],[1579,"heading"],[1580,"heading"],[1581,"heading"],[1582,"heading"],[1583,"heading"],[1584,"heading"],[1585,"heading"],[1586,"heading"],[1587,"heading"],[1588,"heading"],[1589,"heading"],[1590,"heading"],[1591,"heading"],[1592,"heading"],[1593,"heading"],[1594,"heading"],[1595,"heading"],[1596,"heading"],[1597,"heading"],[1598,"heading"],[1599,"heading"],[1600,"heading"],[1601,"heading"],[1602,"heading"],[1603,"heading"],[1604,"heading"],[1605,"heading"],[1606,"heading"],[1607,"heading"],[1608,"heading"],[1609,"heading"],[1610,"heading"],[1611,"heading"],[1612,"heading"],[1613,"heading"],[1614,"heading"],[1615,"heading"],[1616,"heading"],[1617,"heading"],[1618,"heading"],[1619,"heading"],[1620,"heading"],[1621,"heading"],[1622,"heading"],[1623,"heading"],[1784,"heading"],[1785,"heading"],[1786,"heading"],[1787,"heading"],[1788,"heading"],[1789,"heading"],[1790,"heading"],[1791,"heading"],[1792,"heading"],[1793,"heading"],[1794,"heading"],[1795,"heading"],[1796,"heading"],[1850,"heading"],[1851,"heading"],[1852,"heading"],[1853,"heading"],[1854,"heading"],[1855,"heading"],[1856,"heading"],[1857,"heading"],[1858,"heading"],[1859,"heading"],[1860,"heading"],[1861,"heading"],[1930,"heading"],[1931,"heading"],[1932,"heading"],[1933,"heading"],[1934,"heading"],[1935,"heading"],[1936,"heading"],[1937,"heading"],[1938,"heading"],[1985,"heading"],[1986,"heading"],[1987,"heading"],[1988,"heading"],[1989,"heading"],[1990,"heading"],[1991,"heading"],[1992,"heading"],[1993,"heading"],[1994,"heading"],[1995,"heading"],[1996,"heading"],[1997,"heading"],[1998,"heading"],[1999,"heading"],[2000,"heading"],[2001,"heading"],[2002,"heading"],[2003,"heading"],[2004,"heading"],[2005,"heading"],[2006,"heading"],[2007,"heading"],[2008,"heading"],[2009,"heading"],[2010,"heading"],[2011,"heading"],[2012,"heading"],[2013,"heading"],[2014,"heading"],[2015,"heading"],[2016,"heading"],[2017,"heading"],[2018,"heading"],[1,"page"],[41,"page"],[52,"page"],[139,"page"],[160,"page"],[436,"page"],[456,"page"],[540,"page"],[542,"page"],[609,"page"],[736,"page"],[794,"page"],[865,"page"],[885,"page"],[958,"page"],[976,"page"],[993,"page"],[1078,"page"],[1110,"page"],[1149,"page"],[1204,"page"],[1257,"page"],[1277,"page"],[1290,"page"],[1342,"page"],[1350,"page"],[1362,"page"],[1379,"page"],[1425,"page"],[1457,"page"],[1562,"page"],[1782,"page"],[1848,"page"],[1928,"page"],[1983,"page"],[2,"text"],[11,"text"],[12,"text"],[13,"text"],[14,"text"],[15,"text"],[16,"text"],[17,"text"],[18,"text"],[19,"text"],[20,"text"],[21,"text"],[22,"text"],[23,"text"],[24,"text"],[25,"text"],[26,"text"],[27,"text"],[28,"text"],[29,"text"],[30,"text"],[31,"text"],[32,"text"],[33,"text"],[34,"text"],[35,"text"],[36,"text"],[37,"text"],[38,"text"],[39,"text"],[40,"text"],[42,"text"],[45,"text"],[46,"text"],[47,"text"],[48,"text"],[49,"text"],[50,"text"],[51,"text"],[53,"text"],[57,"text"],[58,"text"],[59,"text"],[60,"text"],[61,"text"],[62,"text"],[63,"text"],[64,"text"],[65,"text"],[66,"text"],[67,"text"],[68,"text"],[69,"text"],[70,"text"],[71,"text"],[72,"text"],[73,"text"],[74,"text"],[75,"text"],[76,"text"],[77,"text"],[78,"text"],[79,"text"],[80,"text"],[81,"text"],[82,"text"],[83,"text"],[84,"text"],[85,"text"],[86,"text"],[87,"text"],[88,"text"],[89,"text"],[90,"text"],[91,"text"],[92,"text"],[93,"text"],[94,"text"],[95,"text"],[96,"text"],[97,"text"],[98,"text"],[99,"text"],[100,"text"],[101,"text"],[102,"text"],[103,"text"],[104,"text"],[105,"text"],[106,"text"],[107,"text"],[108,"text"],[109,"text"],[110,"text"],[111,"text"],[112,"text"],[113,"text"],[114,"text"],[115,"text"],[116,"text"],[117,"text"],[118,"text"],[119,"text"],[120,"text"],[121,"text"],[122,"text"],[123,"text"],[124,"text"],[125,"text"],[126,"text"],[127,"text"],[128,"text"],[129,"text"],[130,"text"],[131,"text"],[132,"text"],[133,"text"],[134,"text"],[135,"text"],[136,"text"],[137,"text"],[138,"text"],[140,"text"],[143,"text"],[144,"text"],[145,"text"],[146,"text"],[147,"text"],[148,"text"],[149,"text"],[150,"text"],[151,"text"],[152,"text"],[153,"text"],[154,"text"],[155,"text"],[156,"text"],[157,"text"],[158,"text"],[159,"text"],[161,"text"],[174,"text"],[175,"text"],[176,"text"],[177,"text"],[178,"text"],[179,"text"],[180,"text"],[181,"text"],[182,"text"],[183,"text"],[184,"text"],[185,"text"],[186,"text"],[187,"text"],[188,"text"],[189,"text"],[190,"text"],[191,"text"],[192,"text"],[193,"text"],[194,"text"],[195,"text"],[196,"text"],[197,"text"],[198,"text"],[199,"text"],[200,"text"],[201,"text"],[202,"text"],[203,"text"],[204,"text"],[205,"text"],[206,"text"],[207,"text"],[208,"text"],[209,"text"],[210,"text"],[211,"text"],[212,"text"],[213,"text"],[214,"text"],[215,"text"],[216,"text"],[217,"text"],[218,"text"],[219,"text"],[220,"text"],[221,"text"],[222,"text"],[223,"text"],[224,"text"],[225,"text"],[226,"text"],[227,"text"],[228,"text"],[229,"text"],[230,"text"],[231,"text"],[232,"text"],[233,"text"],[234,"text"],[235,"text"],[236,"text"],[237,"text"],[238,"text"],[239,"text"],[240,"text"],[241,"text"],[242,"text"],[243,"text"],[244,"text"],[245,"text"],[246,"text"],[247,"text"],[248,"text"],[249,"text"],[250,"text"],[251,"text"],[252,"text"],[253,"text"],[254,"text"],[255,"text"],[256,"text"],[257,"text"],[258,"text"],[259,"text"],[260,"text"],[261,"text"],[262,"text"],[263,"text"],[264,"text"],[265,"text"],[266,"text"],[267,"text"],[268,"text"],[269,"text"],[270,"text"],[271,"text"],[272,"text"],[273,"text"],[274,"text"],[275,"text"],[276,"text"],[277,"text"],[278,"text"],[279,"text"],[280,"text"],[281,"text"],[282,"text"],[283,"text"],[284,"text"],[285,"text"],[286,"text"],[287,"text"],[288,"text"],[289,"text"],[290,"text"],[291,"text"],[292,"text"],[293,"text"],[294,"text"],[295,"text"],[296,"text"],[297,"text"],[298,"text"],[299,"text"],[300,"text"],[301,"text"],[302,"text"],[303,"text"],[304,"text"],[305,"text"],[306,"text"],[307,"text"],[308,"text"],[309,"text"],[310,"text"],[311,"text"],[312,"text"],[313,"text"],[314,"text"],[315,"text"],[316,"text"],[317,"text"],[318,"text"],[319,"text"],[320,"text"],[321,"text"],[322,"text"],[323,"text"],[324,"text"],[325,"text"],[326,"text"],[327,"text"],[328,"text"],[329,"text"],[330,"text"],[331,"text"],[332,"text"],[333,"text"],[334,"text"],[335,"text"],[336,"text"],[337,"text"],[338,"text"],[339,"text"],[340,"text"],[341,"text"],[342,"text"],[343,"text"],[344,"text"],[345,"text"],[346,"text"],[347,"text"],[348,"text"],[349,"text"],[350,"text"],[351,"text"],[352,"text"],[353,"text"],[354,"text"],[355,"text"],[356,"text"],[357,"text"],[358,"text"],[359,"text"],[360,"text"],[361,"text"],[362,"text"],[363,"text"],[364,"text"],[365,"text"],[366,"text"],[367,"text"],[368,"text"],[369,"text"],[370,"text"],[371,"text"],[372,"text"],[373,"text"],[374,"text"],[375,"text"],[376,"text"],[377,"text"],[378,"text"],[379,"text"],[380,"text"],[381,"text"],[382,"text"],[383,"text"],[384,"text"],[385,"text"],[386,"text"],[387,"text"],[388,"text"],[389,"text"],[390,"text"],[391,"text"],[392,"text"],[393,"text"],[394,"text"],[395,"text"],[396,"text"],[397,"text"],[398,"text"],[399,"text"],[400,"text"],[401,"text"],[402,"text"],[403,"text"],[404,"text"],[405,"text"],[406,"text"],[407,"text"],[408,"text"],[409,"text"],[410,"text"],[411,"text"],[412,"text"],[413,"text"],[414,"text"],[415,"text"],[416,"text"],[417,"text"],[418,"text"],[419,"text"],[420,"text"],[421,"text"],[422,"text"],[423,"text"],[424,"text"],[425,"text"],[426,"text"],[427,"text"],[428,"text"],[429,"text"],[430,"text"],[431,"text"],[432,"text"],[433,"text"],[434,"text"],[435,"text"],[437,"text"],[442,"text"],[443,"text"],[444,"text"],[445,"text"],[446,"text"],[447,"text"],[448,"text"],[449,"text"],[450,"text"],[451,"text"],[452,"text"],[453,"text"],[454,"text"],[455,"text"],[457,"text"],[467,"text"],[468,"text"],[469,"text"],[470,"text"],[471,"text"],[472,"text"],[473,"text"],[474,"text"],[475,"text"],[476,"text"],[477,"text"],[478,"text"],[479,"text"],[480,"text"],[481,"text"],[482,"text"],[483,"text"],[484,"text"],[485,"text"],[486,"text"],[487,"text"],[488,"text"],[489,"text"],[490,"text"],[491,"text"],[492,"text"],[493,"text"],[494,"text"],[495,"text"],[496,"text"],[497,"text"],[498,"text"],[499,"text"],[500,"text"],[501,"text"],[502,"text"],[503,"text"],[504,"text"],[505,"text"],[506,"text"],[507,"text"],[508,"text"],[509,"text"],[510,"text"],[511,"text"],[512,"text"],[513,"text"],[514,"text"],[515,"text"],[516,"text"],[517,"text"],[518,"text"],[519,"text"],[520,"text"],[521,"text"],[522,"text"],[523,"text"],[524,"text"],[525,"text"],[526,"text"],[527,"text"],[528,"text"],[529,"text"],[530,"text"],[531,"text"],[532,"text"],[533,"text"],[534,"text"],[535,"text"],[536,"text"],[537,"text"],[538,"text"],[539,"text"],[541,"text"],[543,"text"],[573,"text"],[574,"text"],[575,"text"],[576,"text"],[577,"text"],[578,"text"],[579,"text"],[580,"text"],[581,"text"],[582,"text"],[583,"text"],[584,"text"],[585,"text"],[586,"text"],[587,"text"],[588,"text"],[589,"text"],[590,"text"],[591,"text"],[592,"text"],[593,"text"],[594,"text"],[595,"text"],[596,"text"],[597,"text"],[598,"text"],[599,"text"],[600,"text"],[601,"text"],[602,"text"],[603,"text"],[604,"text"],[605,"text"],[606,"text"],[607,"text"],[608,"text"],[610,"text"],[633,"text"],[634,"text"],[635,"text"],[636,"text"],[637,"text"],[638,"text"],[639,"text"],[640,"text"],[641,"text"],[642,"text"],[643,"text"],[644,"text"],[645,"text"],[646,"text"],[647,"text"],[648,"text"],[649,"text"],[650,"text"],[651,"text"],[652,"text"],[653,"text"],[654,"text"],[655,"text"],[656,"text"],[657,"text"],[658,"text"],[659,"text"],[660,"text"],[661,"text"],[662,"text"],[663,"text"],[664,"text"],[665,"text"],[666,"text"],[667,"text"],[668,"text"],[669,"text"],[670,"text"],[671,"text"],[672,"text"],[673,"text"],[674,"text"],[675,"text"],[676,"text"],[677,"text"],[678,"text"],[679,"text"],[680,"text"],[681,"text"],[682,"text"],[683,"text"],[684,"text"],[685,"text"],[686,"text"],[687,"text"],[688,"text"],[689,"text"],[690,"text"],[691,"text"],[692,"text"],[693,"text"],[694,"text"],[695,"text"],[696,"text"],[697,"text"],[698,"text"],[699,"text"],[700,"text"],[701,"text"],[702,"text"],[703,"text"],[704,"text"],[705,"text"],[706,"text"],[707,"text"],[708,"text"],[709,"text"],[710,"text"],[711,"text"],[712,"text"],[713,"text"],[714,"text"],[715,"text"],[716,"text"],[717,"text"],[718,"text"],[719,"text"],[720,"text"],[721,"text"],[722,"text"],[723,"text"],[724,"text"],[725,"text"],[726,"text"],[727,"text"],[728,"text"],[729,"text"],[730,"text"],[731,"text"],[732,"text"],[733,"text"],[734,"text"],[735,"text"],[737,"text"],[745,"text"],[746,"text"],[747,"text"],[748,"text"],[749,"text"],[750,"text"],[751,"text"],[752,"text"],[753,"text"],[754,"text"],[755,"text"],[756,"text"],[757,"text"],[758,"text"],[759,"text"],[760,"text"],[761,"text"],[762,"text"],[763,"text"],[764,"text"],[765,"text"],[766,"text"],[767,"text"],[768,"text"],[769,"text"],[770,"text"],[771,"text"],[772,"text"],[773,"text"],[774,"text"],[775,"text"],[776,"text"],[777,"text"],[778,"text"],[779,"text"],[780,"text"],[781,"text"],[782,"text"],[783,"text"],[784,"text"],[785,"text"],[786,"text"],[787,"text"],[788,"text"],[789,"text"],[790,"text"],[791,"text"],[792,"text"],[793,"text"],[795,"text"],[809,"text"],[810,"text"],[811,"text"],[812,"text"],[813,"text"],[814,"text"],[815,"text"],[816,"text"],[817,"text"],[818,"text"],[819,"text"],[820,"text"],[821,"text"],[822,"text"],[823,"text"],[824,"text"],[825,"text"],[826,"text"],[827,"text"],[828,"text"],[829,"text"],[830,"text"],[831,"text"],[832,"text"],[833,"text"],[834,"text"],[835,"text"],[836,"text"],[837,"text"],[838,"text"],[839,"text"],[840,"text"],[841,"text"],[842,"text"],[843,"text"],[844,"text"],[845,"text"],[846,"text"],[847,"text"],[848,"text"],[849,"text"],[850,"text"],[851,"text"],[852,"text"],[853,"text"],[854,"text"],[855,"text"],[856,"text"],[857,"text"],[858,"text"],[859,"text"],[860,"text"],[861,"text"],[862,"text"],[863,"text"],[864,"text"],[866,"text"],[870,"text"],[871,"text"],[872,"text"],[873,"text"],[874,"text"],[875,"text"],[876,"text"],[877,"text"],[878,"text"],[879,"text"],[880,"text"],[881,"text"],[882,"text"],[883,"text"],[884,"text"],[886,"text"],[902,"text"],[903,"text"],[904,"text"],[905,"text"],[906,"text"],[907,"text"],[908,"text"],[909,"text"],[910,"text"],[911,"text"],[912,"text"],[913,"text"],[914,"text"],[915,"text"],[916,"text"],[917,"text"],[918,"text"],[919,"text"],[920,"text"],[921,"text"],[922,"text"],[923,"text"],[924,"text"],[925,"text"],[926,"text"],[927,"text"],[928,"text"],[929,"text"],[930,"text"],[931,"text"],[932,"text"],[933,"text"],[934,"text"],[935,"text"],[936,"text"],[937,"text"],[938,"text"],[939,"text"],[940,"text"],[941,"text"],[942,"text"],[943,"text"],[944,"text"],[945,"text"],[946,"text"],[947,"text"],[948,"text"],[949,"text"],[950,"text"],[951,"text"],[952,"text"],[953,"text"],[954,"text"],[955,"text"],[956,"text"],[957,"text"],[959,"text"],[963,"text"],[964,"text"],[965,"text"],[966,"text"],[967,"text"],[968,"text"],[969,"text"],[970,"text"],[971,"text"],[972,"text"],[973,"text"],[974,"text"],[975,"text"],[977,"text"],[980,"text"],[981,"text"],[982,"text"],[983,"text"],[984,"text"],[985,"text"],[986,"text"],[987,"text"],[988,"text"],[989,"text"],[990,"text"],[991,"text"],[992,"text"],[994,"text"],[1015,"text"],[1016,"text"],[1017,"text"],[1018,"text"],[1019,"text"],[1020,"text"],[1021,"text"],[1022,"text"],[1023,"text"],[1024,"text"],[1025,"text"],[1026,"text"],[1027,"text"],[1028,"text"],[1029,"text"],[1030,"text"],[1031,"text"],[1032,"text"],[1033,"text"],[1034,"text"],[1035,"text"],[1036,"text"],[1037,"text"],[1038,"text"],[1039,"text"],[1040,"text"],[1041,"text"],[1042,"text"],[1043,"text"],[1044,"text"],[1045,"text"],[1046,"text"],[1047,"text"],[1048,"text"],[1049,"text"],[1050,"text"],[1051,"text"],[1052,"text"],[1053,"text"],[1054,"text"],[1055,"text"],[1056,"text"],[1057,"text"],[1058,"text"],[1059,"text"],[1060,"text"],[1061,"text"],[1062,"text"],[1063,"text"],[1064,"text"],[1065,"text"],[1066,"text"],[1067,"text"],[1068,"text"],[1069,"text"],[1070,"text"],[1071,"text"],[1072,"text"],[1073,"text"],[1074,"text"],[1075,"text"],[1076,"text"],[1077,"text"],[1079,"text"],[1088,"text"],[1089,"text"],[1090,"text"],[1091,"text"],[1092,"text"],[1093,"text"],[1094,"text"],[1095,"text"],[1096,"text"],[1097,"text"],[1098,"text"],[1099,"text"],[1100,"text"],[1101,"text"],[1102,"text"],[1103,"text"],[1104,"text"],[1105,"text"],[1106,"text"],[1107,"text"],[1108,"text"],[1109,"text"],[1111,"text"],[1120,"text"],[1121,"text"],[1122,"text"],[1123,"text"],[1124,"text"],[1125,"text"],[1126,"text"],[1127,"text"],[1128,"text"],[1129,"text"],[1130,"text"],[1131,"text"],[1132,"text"],[1133,"text"],[1134,"text"],[1135,"text"],[1136,"text"],[1137,"text"],[1138,"text"],[1139,"text"],[1140,"text"],[1141,"text"],[1142,"text"],[1143,"text"],[1144,"text"],[1145,"text"],[1146,"text"],[1147,"text"],[1148,"text"],[1150,"text"],[1154,"text"],[1155,"text"],[1156,"text"],[1157,"text"],[1158,"text"],[1159,"text"],[1160,"text"],[1161,"text"],[1162,"text"],[1163,"text"],[1164,"text"],[1165,"text"],[1166,"text"],[1167,"text"],[1168,"text"],[1169,"text"],[1170,"text"],[1171,"text"],[1172,"text"],[1173,"text"],[1174,"text"],[1175,"text"],[1176,"text"],[1177,"text"],[1178,"text"],[1179,"text"],[1180,"text"],[1181,"text"],[1182,"text"],[1183,"text"],[1184,"text"],[1185,"text"],[1186,"text"],[1187,"text"],[1188,"text"],[1189,"text"],[1190,"text"],[1191,"text"],[1192,"text"],[1193,"text"],[1194,"text"],[1195,"text"],[1196,"text"],[1197,"text"],[1198,"text"],[1199,"text"],[1200,"text"],[1201,"text"],[1202,"text"],[1203,"text"],[1205,"text"],[1211,"text"],[1212,"text"],[1213,"text"],[1214,"text"],[1215,"text"],[1216,"text"],[1217,"text"],[1218,"text"],[1219,"text"],[1220,"text"],[1221,"text"],[1222,"text"],[1223,"text"],[1224,"text"],[1225,"text"],[1226,"text"],[1227,"text"],[1228,"text"],[1229,"text"],[1230,"text"],[1231,"text"],[1232,"text"],[1233,"text"],[1234,"text"],[1235,"text"],[1236,"text"],[1237,"text"],[1238,"text"],[1239,"text"],[1240,"text"],[1241,"text"],[1242,"text"],[1243,"text"],[1244,"text"],[1245,"text"],[1246,"text"],[1247,"text"],[1248,"text"],[1249,"text"],[1250,"text"],[1251,"text"],[1252,"text"],[1253,"text"],[1254,"text"],[1255,"text"],[1256,"text"],[1258,"text"],[1261,"text"],[1262,"text"],[1263,"text"],[1264,"text"],[1265,"text"],[1266,"text"],[1267,"text"],[1268,"text"],[1269,"text"],[1270,"text"],[1271,"text"],[1272,"text"],[1273,"text"],[1274,"text"],[1275,"text"],[1276,"text"],[1278,"text"],[1279,"text"],[1280,"text"],[1281,"text"],[1282,"text"],[1283,"text"],[1284,"text"],[1285,"text"],[1286,"text"],[1287,"text"],[1288,"text"],[1289,"text"],[1291,"text"],[1304,"text"],[1305,"text"],[1306,"text"],[1307,"text"],[1308,"text"],[1309,"text"],[1310,"text"],[1311,"text"],[1312,"text"],[1313,"text"],[1314,"text"],[1315,"text"],[1316,"text"],[1317,"text"],[1318,"text"],[1319,"text"],[1320,"text"],[1321,"text"],[1322,"text"],[1323,"text"],[1324,"text"],[1325,"text"],[1326,"text"],[1327,"text"],[1328,"text"],[1329,"text"],[1330,"text"],[1331,"text"],[1332,"text"],[1333,"text"],[1334,"text"],[1335,"text"],[1336,"text"],[1337,"text"],[1338,"text"],[1339,"text"],[1340,"text"],[1341,"text"],[1343,"text"],[1344,"text"],[1345,"text"],[1346,"text"],[1347,"text"],[1348,"text"],[1349,"text"],[1351,"text"],[1353,"text"],[1354,"text"],[1355,"text"],[1356,"text"],[1357,"text"],[1358,"text"],[1359,"text"],[1360,"text"],[1361,"text"],[1363,"text"],[1364,"text"],[1365,"text"],[1366,"text"],[1367,"text"],[1368,"text"],[1369,"text"],[1370,"text"],[1371,"text"],[1372,"text"],[1373,"text"],[1374,"text"],[1375,"text"],[1376,"text"],[1377,"text"],[1378,"text"],[1380,"text"],[1382,"text"],[1383,"text"],[1384,"text"],[1385,"text"],[1386,"text"],[1387,"text"],[1388,"text"],[1389,"text"],[1390,"text"],[1391,"text"],[1392,"text"],[1393,"text"],[1394,"text"],[1395,"text"],[1396,"text"],[1397,"text"],[1398,"text"],[1399,"text"],[1400,"text"],[1401,"text"],[1402,"text"],[1403,"text"],[1404,"text"],[1405,"text"],[1406,"text"],[1407,"text"],[1408,"text"],[1409,"text"],[1410,"text"],[1411,"text"],[1412,"text"],[1413,"text"],[1414,"text"],[1415,"text"],[1416,"text"],[1417,"text"],[1418,"text"],[1419,"text"],[1420,"text"],[1421,"text"],[1422,"text"],[1423,"text"],[1424,"text"],[1426,"text"],[1432,"text"],[1433,"text"],[1434,"text"],[1435,"text"],[1436,"text"],[1437,"text"],[1438,"text"],[1439,"text"],[1440,"text"],[1441,"text"],[1442,"text"],[1443,"text"],[1444,"text"],[1445,"text"],[1446,"text"],[1447,"text"],[1448,"text"],[1449,"text"],[1450,"text"],[1451,"text"],[1452,"text"],[1453,"text"],[1454,"text"],[1455,"text"],[1456,"text"],[1458,"text"],[1472,"text"],[1473,"text"],[1474,"text"],[1475,"text"],[1476,"text"],[1477,"text"],[1478,"text"],[1479,"text"],[1480,"text"],[1481,"text"],[1482,"text"],[1483,"text"],[1484,"text"],[1485,"text"],[1486,"text"],[1487,"text"],[1488,"text"],[1489,"text"],[1490,"text"],[1491,"text"],[1492,"text"],[1493,"text"],[1494,"text"],[1495,"text"],[1496,"text"],[1497,"text"],[1498,"text"],[1499,"text"],[1500,"text"],[1501,"text"],[1502,"text"],[1503,"text"],[1504,"text"],[1505,"text"],[1506,"text"],[1507,"text"],[1508,"text"],[1509,"text"],[1510,"text"],[1511,"text"],[1512,"text"],[1513,"text"],[1514,"text"],[1515,"text"],[1516,"text"],[1517,"text"],[1518,"text"],[1519,"text"],[1520,"text"],[1521,"text"],[1522,"text"],[1523,"text"],[1524,"text"],[1525,"text"],[1526,"text"],[1527,"text"],[1528,"text"],[1529,"text"],[1530,"text"],[1531,"text"],[1532,"text"],[1533,"text"],[1534,"text"],[1535,"text"],[1536,"text"],[1537,"text"],[1538,"text"],[1539,"text"],[1540,"text"],[1541,"text"],[1542,"text"],[1543,"text"],[1544,"text"],[1545,"text"],[1546,"text"],[1547,"text"],[1548,"text"],[1549,"text"],[1550,"text"],[1551,"text"],[1552,"text"],[1553,"text"],[1554,"text"],[1555,"text"],[1556,"text"],[1557,"text"],[1558,"text"],[1559,"text"],[1560,"text"],[1561,"text"],[1563,"text"],[1624,"text"],[1625,"text"],[1626,"text"],[1627,"text"],[1628,"text"],[1629,"text"],[1630,"text"],[1631,"text"],[1632,"text"],[1633,"text"],[1634,"text"],[1635,"text"],[1636,"text"],[1637,"text"],[1638,"text"],[1639,"text"],[1640,"text"],[1641,"text"],[1642,"text"],[1643,"text"],[1644,"text"],[1645,"text"],[1646,"text"],[1647,"text"],[1648,"text"],[1649,"text"],[1650,"text"],[1651,"text"],[1652,"text"],[1653,"text"],[1654,"text"],[1655,"text"],[1656,"text"],[1657,"text"],[1658,"text"],[1659,"text"],[1660,"text"],[1661,"text"],[1662,"text"],[1663,"text"],[1664,"text"],[1665,"text"],[1666,"text"],[1667,"text"],[1668,"text"],[1669,"text"],[1670,"text"],[1671,"text"],[1672,"text"],[1673,"text"],[1674,"text"],[1675,"text"],[1676,"text"],[1677,"text"],[1678,"text"],[1679,"text"],[1680,"text"],[1681,"text"],[1682,"text"],[1683,"text"],[1684,"text"],[1685,"text"],[1686,"text"],[1687,"text"],[1688,"text"],[1689,"text"],[1690,"text"],[1691,"text"],[1692,"text"],[1693,"text"],[1694,"text"],[1695,"text"],[1696,"text"],[1697,"text"],[1698,"text"],[1699,"text"],[1700,"text"],[1701,"text"],[1702,"text"],[1703,"text"],[1704,"text"],[1705,"text"],[1706,"text"],[1707,"text"],[1708,"text"],[1709,"text"],[1710,"text"],[1711,"text"],[1712,"text"],[1713,"text"],[1714,"text"],[1715,"text"],[1716,"text"],[1717,"text"],[1718,"text"],[1719,"text"],[1720,"text"],[1721,"text"],[1722,"text"],[1723,"text"],[1724,"text"],[1725,"text"],[1726,"text"],[1727,"text"],[1728,"text"],[1729,"text"],[1730,"text"],[1731,"text"],[1732,"text"],[1733,"text"],[1734,"text"],[1735,"text"],[1736,"text"],[1737,"text"],[1738,"text"],[1739,"text"],[1740,"text"],[1741,"text"],[1742,"text"],[1743,"text"],[1744,"text"],[1745,"text"],[1746,"text"],[1747,"text"],[1748,"text"],[1749,"text"],[1750,"text"],[1751,"text"],[1752,"text"],[1753,"text"],[1754,"text"],[1755,"text"],[1756,"text"],[1757,"text"],[1758,"text"],[1759,"text"],[1760,"text"],[1761,"text"],[1762,"text"],[1763,"text"],[1764,"text"],[1765,"text"],[1766,"text"],[1767,"text"],[1768,"text"],[1769,"text"],[1770,"text"],[1771,"text"],[1772,"text"],[1773,"text"],[1774,"text"],[1775,"text"],[1776,"text"],[1777,"text"],[1778,"text"],[1779,"text"],[1780,"text"],[1781,"text"],[1783,"text"],[1797,"text"],[1798,"text"],[1799,"text"],[1800,"text"],[1801,"text"],[1802,"text"],[1803,"text"],[1804,"text"],[1805,"text"],[1806,"text"],[1807,"text"],[1808,"text"],[1809,"text"],[1810,"text"],[1811,"text"],[1812,"text"],[1813,"text"],[1814,"text"],[1815,"text"],[1816,"text"],[1817,"text"],[1818,"text"],[1819,"text"],[1820,"text"],[1821,"text"],[1822,"text"],[1823,"text"],[1824,"text"],[1825,"text"],[1826,"text"],[1827,"text"],[1828,"text"],[1829,"text"],[1830,"text"],[1831,"text"],[1832,"text"],[1833,"text"],[1834,"text"],[1835,"text"],[1836,"text"],[1837,"text"],[1838,"text"],[1839,"text"],[1840,"text"],[1841,"text"],[1842,"text"],[1843,"text"],[1844,"text"],[1845,"text"],[1846,"text"],[1847,"text"],[1849,"text"],[1862,"text"],[1863,"text"],[1864,"text"],[1865,"text"],[1866,"text"],[1867,"text"],[1868,"text"],[1869,"text"],[1870,"text"],[1871,"text"],[1872,"text"],[1873,"text"],[1874,"text"],[1875,"text"],[1876,"text"],[1877,"text"],[1878,"text"],[1879,"text"],[1880,"text"],[1881,"text"],[1882,"text"],[1883,"text"],[1884,"text"],[1885,"text"],[1886,"text"],[1887,"text"],[1888,"text"],[1889,"text"],[1890,"text"],[1891,"text"],[1892,"text"],[1893,"text"],[1894,"text"],[1895,"text"],[1896,"text"],[1897,"text"],[1898,"text"],[1899,"text"],[1900,"text"],[1901,"text"],[1902,"text"],[1903,"text"],[1904,"text"],[1905,"text"],[1906,"text"],[1907,"text"],[1908,"text"],[1909,"text"],[1910,"text"],[1911,"text"],[1912,"text"],[1913,"text"],[1914,"text"],[1915,"text"],[1916,"text"],[1917,"text"],[1918,"text"],[1919,"text"],[1920,"text"],[1921,"text"],[1922,"text"],[1923,"text"],[1924,"text"],[1925,"text"],[1926,"text"],[1927,"text"],[1929,"text"],[1939,"text"],[1940,"text"],[1941,"text"],[1942,"text"],[1943,"text"],[1944,"text"],[1945,"text"],[1946,"text"],[1947,"text"],[1948,"text"],[1949,"text"],[1950,"text"],[1951,"text"],[1952,"text"],[1953,"text"],[1954,"text"],[1955,"text"],[1956,"text"],[1957,"text"],[1958,"text"],[1959,"text"],[1960,"text"],[1961,"text"],[1962,"text"],[1963,"text"],[1964,"text"],[1965,"text"],[1966,"text"],[1967,"text"],[1968,"text"],[1969,"text"],[1970,"text"],[1971,"text"],[1972,"text"],[1973,"text"],[1974,"text"],[1975,"text"],[1976,"text"],[1977,"text"],[1978,"text"],[1979,"text"],[1980,"text"],[1981,"text"],[1982,"text"],[1984,"text"],[2019,"text"],[2020,"text"],[2021,"text"],[2022,"text"],[2023,"text"],[2024,"text"],[2025,"text"],[2026,"text"],[2027,"text"],[2028,"text"],[2029,"text"],[2030,"text"],[2031,"text"],[2032,"text"],[2033,"text"],[2034,"text"],[2035,"text"],[2036,"text"],[2037,"text"],[2038,"text"],[2039,"text"],[2040,"text"],[2041,"text"],[2042,"text"],[2043,"text"],[2044,"text"],[2045,"text"],[2046,"text"],[2047,"text"],[2048,"text"],[2049,"text"],[2050,"text"],[2051,"text"],[2052,"text"],[2053,"text"],[2054,"text"],[2055,"text"],[2056,"text"],[2057,"text"],[2058,"text"],[2059,"text"],[2060,"text"],[2061,"text"],[2062,"text"],[2063,"text"],[2064,"text"],[2065,"text"],[2066,"text"],[2067,"text"],[2068,"text"],[2069,"text"],[2070,"text"],[2071,"text"],[2072,"text"],[2073,"text"],[2074,"text"],[2075,"text"],[2076,"text"],[2077,"text"],[2078,"text"],[2079,"text"],[2080,"text"],[2081,"text"],[2082,"text"],[2083,"text"],[2084,"text"],[2085,"text"],[2086,"text"],[2087,"text"],[2088,"text"],[2089,"text"],[2090,"text"],[2091,"text"],[2092,"text"],[2093,"text"],[2094,"text"],[2095,"text"],[2096,"text"],[2097,"text"],[2098,"text"],[2099,"text"],[2100,"text"],[2101,"text"],[2102,"text"],[2103,"text"],[2104,"text"],[2105,"text"],[2106,"text"],[2107,"text"],[2108,"text"],[2109,"text"],[2110,"text"],[2111,"text"],[2112,"text"],[2113,"text"],[2114,"text"],[2115,"text"],[2116,"text"],[2117,"text"],[2118,"text"],[2119,"text"],[2120,"text"],[2121,"text"],[2122,"text"],[2123,"text"],[2124,"text"],[2125,"text"],[2126,"text"],[2127,"text"],[2128,"text"],[2129,"text"],[2130,"text"],[2131,"text"],[2132,"text"],[2133,"text"],[2134,"text"],[2135,"text"],[2136,"text"],[2137,"text"],[2138,"text"],[2139,"text"],[2140,"text"],[2141,"text"],[2142,"text"],[2143,"text"],[2144,"text"],[2145,"text"],[2146,"text"],[2147,"text"],[2148,"text"],[2149,"text"],[2150,"text"],[2151,"text"],[2152,"text"],[2153,"text"],[2154,"text"],[2155,"text"],[2156,"text"],[2157,"text"],[2158,"text"],[2159,"text"],[2160,"text"],[2161,"text"],[2162,"text"],[2163,"text"],[2164,"text"],[2165,"text"],[2166,"text"],[2167,"text"],[2168,"text"],[2169,"text"],[2170,"text"],[2171,"text"],[2172,"text"],[2173,"text"],[2174,"text"],[2175,"text"],[2176,"text"],[2177,"text"],[2178,"text"],[2179,"text"],[2180,"text"],[2181,"text"],[2182,"text"],[2183,"text"],[2184,"text"],[2185,"text"],[2186,"text"],[2187,"text"],[2188,"text"],[2189,"text"],[2190,"text"],[2191,"text"],[2192,"text"],[2193,"text"],[2194,"text"]],"type":"string"},"url":{"docs":{"1":4,"2":5,"3":13,"4":32,"5":6,"6":38,"7":27,"8":8,"9":42,"10":15,"11":14,"12":33,"13":34,"14":35,"15":36,"16":37,"17":7,"18":39,"19":40,"20":41,"21":28,"22":29,"23":30,"24":31,"25":9,"26":10,"27":11,"28":12,"29":43,"30":16,"31":17,"32":18,"33":19,"34":20,"35":21,"36":22,"37":23,"38":24,"39":25,"40":26,"41":44,"42":45,"43":49,"44":46,"45":50,"46":51,"47":52,"48":53,"49":54,"50":47,"51":48,"52":55,"53":56,"54":96,"55":90,"56":57,"57":97,"58":98,"59":99,"60":100,"61":101,"62":102,"63":103,"64":104,"65":105,"66":106,"67":107,"68":108,"69":109,"70":110,"71":111,"72":112,"73":113,"74":114,"75":115,"76":116,"77":117,"78":118,"79":119,"80":120,"81":121,"82":122,"83":123,"84":124,"85":125,"86":126,"87":127,"88":128,"89":129,"90":130,"91":131,"92":132,"93":133,"94":134,"95":135,"96":136,"97":137,"98":138,"99":139,"100":140,"101":141,"102":91,"103":92,"104":93,"105":94,"106":95,"107":58,"108":59,"109":60,"110":61,"111":62,"112":63,"113":64,"114":65,"115":66,"116":67,"117":68,"118":69,"119":70,"120":71,"121":72,"122":73,"123":74,"124":75,"125":76,"126":77,"127":78,"128":79,"129":80,"130":81,"131":82,"132":83,"133":84,"134":85,"135":86,"136":87,"137":88,"138":89,"139":142,"140":143,"141":146,"142":155,"143":144,"144":145,"145":147,"146":148,"147":149,"148":150,"149":151,"150":152,"151":153,"152":154,"153":156,"154":157,"155":158,"156":159,"157":160,"158":161,"159":162,"160":163,"161":164,"162":397,"163":184,"164":282,"165":327,"166":417,"167":393,"168":422,"169":319,"170":324,"171":406,"172":315,"173":168,"174":165,"175":166,"176":167,"177":398,"178":399,"179":400,"180":401,"181":402,"182":403,"183":404,"184":405,"185":185,"186":186,"187":187,"188":188,"189":189,"190":190,"191":191,"192":192,"193":193,"194":194,"195":195,"196":196,"197":197,"198":198,"199":199,"200":200,"201":201,"202":202,"203":203,"204":204,"205":205,"206":206,"207":207,"208":208,"209":209,"210":210,"211":211,"212":212,"213":213,"214":214,"215":215,"216":216,"217":217,"218":218,"219":219,"220":220,"221":221,"222":222,"223":223,"224":224,"225":225,"226":226,"227":227,"228":228,"229":229,"230":230,"231":231,"232":232,"233":233,"234":234,"235":235,"236":236,"237":237,"238":238,"239":239,"240":240,"241":241,"242":242,"243":243,"244":244,"245":245,"246":246,"247":247,"248":248,"249":249,"250":250,"251":251,"252":252,"253":253,"254":254,"255":255,"256":256,"257":257,"258":258,"259":259,"260":260,"261":261,"262":262,"263":263,"264":264,"265":265,"266":266,"267":267,"268":268,"269":269,"270":270,"271":271,"272":272,"273":273,"274":274,"275":275,"276":276,"277":277,"278":278,"279":279,"280":280,"281":281,"282":283,"283":284,"284":285,"285":286,"286":287,"287":288,"288":289,"289":290,"290":291,"291":292,"292":293,"293":294,"294":295,"295":296,"296":297,"297":298,"298":299,"299":300,"300":301,"301":302,"302":303,"303":304,"304":305,"305":306,"306":307,"307":308,"308":309,"309":310,"310":311,"311":312,"312":313,"313":314,"314":328,"315":329,"316":330,"317":331,"318":332,"319":333,"320":334,"321":335,"322":336,"323":337,"324":338,"325":339,"326":340,"327":341,"328":342,"329":343,"330":344,"331":345,"332":346,"333":347,"334":348,"335":349,"336":350,"337":351,"338":352,"339":353,"340":354,"341":355,"342":356,"343":357,"344":358,"345":359,"346":360,"347":361,"348":362,"349":363,"350":364,"351":365,"352":366,"353":367,"354":368,"355":369,"356":370,"357":371,"358":372,"359":373,"360":374,"361":375,"362":376,"363":377,"364":378,"365":379,"366":380,"367":381,"368":382,"369":383,"370":384,"371":385,"372":386,"373":387,"374":388,"375":389,"376":390,"377":391,"378":392,"379":418,"380":419,"381":420,"382":421,"383":394,"384":395,"385":396,"386":423,"387":424,"388":425,"389":426,"390":427,"391":428,"392":429,"393":430,"394":431,"395":432,"396":433,"397":434,"398":435,"399":436,"400":437,"401":438,"402":320,"403":321,"404":322,"405":323,"406":325,"407":326,"408":407,"409":408,"410":409,"411":410,"412":411,"413":412,"414":413,"415":414,"416":415,"417":416,"418":316,"419":317,"420":318,"421":169,"422":170,"423":171,"424":172,"425":173,"426":174,"427":175,"428":176,"429":177,"430":178,"431":179,"432":180,"433":181,"434":182,"435":183,"436":439,"437":440,"438":450,"439":457,"440":442,"441":448,"442":441,"443":451,"444":452,"445":453,"446":454,"447":455,"448":456,"449":458,"450":443,"451":444,"452":445,"453":446,"454":447,"455":449,"456":459,"457":460,"458":542,"459":535,"460":503,"461":493,"462":466,"463":499,"464":488,"465":483,"466":495,"467":461,"468":462,"469":463,"470":464,"471":465,"472":536,"473":537,"474":538,"475":539,"476":540,"477":541,"478":504,"479":505,"480":506,"481":507,"482":508,"483":509,"484":510,"485":511,"486":512,"487":513,"488":514,"489":515,"490":516,"491":517,"492":518,"493":519,"494":520,"495":521,"496":522,"497":523,"498":524,"499":525,"500":526,"501":527,"502":528,"503":529,"504":530,"505":531,"506":532,"507":533,"508":534,"509":494,"510":467,"511":468,"512":469,"513":470,"514":471,"515":472,"516":473,"517":474,"518":475,"519":476,"520":477,"521":478,"522":479,"523":480,"524":481,"525":482,"526":500,"527":501,"528":502,"529":489,"530":490,"531":491,"532":492,"533":484,"534":485,"535":486,"536":487,"537":496,"538":497,"539":498,"540":2,"541":3,"542":543,"543":544,"544":553,"545":573,"546":545,"547":547,"548":549,"549":551,"550":554,"551":559,"552":561,"553":563,"554":565,"555":567,"556":569,"557":571,"558":575,"559":577,"560":579,"561":581,"562":583,"563":585,"564":590,"565":592,"566":594,"567":596,"568":600,"569":602,"570":604,"571":606,"572":608,"573":574,"574":546,"575":548,"576":550,"577":552,"578":555,"579":556,"580":557,"581":558,"582":560,"583":562,"584":564,"585":566,"586":568,"587":570,"588":572,"589":576,"590":578,"591":580,"592":582,"593":584,"594":586,"595":587,"596":588,"597":589,"598":591,"599":593,"600":595,"601":597,"602":598,"603":599,"604":601,"605":603,"606":605,"607":607,"608":609,"609":610,"610":611,"611":631,"612":718,"613":715,"614":729,"615":726,"616":635,"617":650,"618":654,"619":627,"620":734,"621":638,"622":623,"623":708,"624":700,"625":686,"626":658,"627":679,"628":689,"629":632,"630":640,"631":619,"632":695,"633":612,"634":613,"635":614,"636":615,"637":616,"638":617,"639":618,"640":719,"641":720,"642":721,"643":722,"644":723,"645":724,"646":725,"647":716,"648":717,"649":730,"650":731,"651":732,"652":733,"653":727,"654":728,"655":636,"656":637,"657":651,"658":652,"659":653,"660":655,"661":656,"662":657,"663":628,"664":629,"665":630,"666":735,"667":736,"668":639,"669":624,"670":625,"671":626,"672":709,"673":710,"674":711,"675":712,"676":713,"677":714,"678":701,"679":702,"680":703,"681":704,"682":705,"683":706,"684":707,"685":687,"686":688,"687":659,"688":660,"689":661,"690":662,"691":663,"692":664,"693":665,"694":666,"695":667,"696":668,"697":669,"698":670,"699":671,"700":672,"701":673,"702":674,"703":675,"704":676,"705":677,"706":678,"707":680,"708":681,"709":682,"710":683,"711":684,"712":685,"713":690,"714":691,"715":692,"716":693,"717":694,"718":633,"719":634,"720":641,"721":642,"722":643,"723":644,"724":645,"725":646,"726":647,"727":648,"728":649,"729":620,"730":621,"731":622,"732":696,"733":697,"734":698,"735":699,"736":737,"737":738,"738":792,"739":772,"740":744,"741":742,"742":794,"743":746,"744":778,"745":739,"746":740,"747":741,"748":793,"749":773,"750":774,"751":775,"752":776,"753":777,"754":745,"755":743,"756":747,"757":748,"758":749,"759":750,"760":751,"761":752,"762":753,"763":754,"764":755,"765":756,"766":757,"767":758,"768":759,"769":760,"770":761,"771":762,"772":763,"773":764,"774":765,"775":766,"776":767,"777":768,"778":769,"779":770,"780":771,"781":779,"782":780,"783":781,"784":782,"785":783,"786":784,"787":785,"788":786,"789":787,"790":788,"791":789,"792":790,"793":791,"794":795,"795":796,"796":848,"797":846,"798":827,"799":830,"800":850,"801":797,"802":839,"803":842,"804":844,"805":837,"806":805,"807":802,"808":856,"809":849,"810":847,"811":828,"812":829,"813":831,"814":832,"815":833,"816":834,"817":835,"818":836,"819":851,"820":852,"821":853,"822":854,"823":855,"824":798,"825":799,"826":800,"827":801,"828":840,"829":841,"830":843,"831":845,"832":838,"833":806,"834":807,"835":808,"836":809,"837":810,"838":811,"839":812,"840":813,"841":814,"842":815,"843":816,"844":817,"845":818,"846":819,"847":820,"848":821,"849":822,"850":823,"851":824,"852":825,"853":826,"854":803,"855":804,"856":857,"857":858,"858":859,"859":860,"860":861,"861":862,"862":863,"863":864,"864":865,"865":866,"866":867,"867":879,"868":875,"869":871,"870":868,"871":869,"872":870,"873":880,"874":881,"875":882,"876":883,"877":884,"878":885,"879":876,"880":877,"881":878,"882":872,"883":873,"884":874,"885":886,"886":887,"887":905,"888":916,"889":943,"890":897,"891":890,"892":900,"893":888,"894":895,"895":909,"896":920,"897":901,"898":903,"899":941,"900":945,"901":918,"902":906,"903":907,"904":908,"905":917,"906":944,"907":898,"908":899,"909":891,"910":892,"911":893,"912":894,"913":889,"914":896,"915":910,"916":911,"917":912,"918":913,"919":914,"920":915,"921":921,"922":922,"923":923,"924":924,"925":925,"926":926,"927":927,"928":928,"929":929,"930":930,"931":931,"932":932,"933":933,"934":934,"935":935,"936":936,"937":937,"938":938,"939":939,"940":940,"941":902,"942":904,"943":942,"944":946,"945":947,"946":948,"947":949,"948":950,"949":951,"950":952,"951":953,"952":954,"953":955,"954":956,"955":957,"956":958,"957":919,"958":959,"959":960,"960":968,"961":966,"962":964,"963":961,"964":962,"965":963,"966":969,"967":970,"968":971,"969":972,"970":973,"971":974,"972":975,"973":976,"974":967,"975":965,"976":977,"977":978,"978":992,"979":985,"980":979,"981":980,"982":981,"983":982,"984":983,"985":984,"986":993,"987":986,"988":987,"989":988,"990":989,"991":990,"992":991,"993":994,"994":995,"995":1028,"996":1059,"997":1054,"998":1056,"999":1052,"1000":1071,"1001":1069,"1002":1067,"1003":1062,"1004":1022,"1005":1029,"1006":1024,"1007":1003,"1008":996,"1009":1032,"1010":1050,"1011":1031,"1012":1002,"1013":997,"1014":1016,"1015":1060,"1016":1061,"1017":1055,"1018":1057,"1019":1058,"1020":1053,"1021":1072,"1022":1073,"1023":1074,"1024":1075,"1025":1076,"1026":1077,"1027":1078,"1028":1070,"1029":1068,"1030":1063,"1031":1064,"1032":1065,"1033":1066,"1034":1023,"1035":1030,"1036":1025,"1037":1026,"1038":1027,"1039":1004,"1040":1005,"1041":1006,"1042":1007,"1043":1008,"1044":1009,"1045":1010,"1046":1011,"1047":1012,"1048":1013,"1049":1014,"1050":1015,"1051":1033,"1052":1034,"1053":1035,"1054":1036,"1055":1037,"1056":1038,"1057":1039,"1058":1040,"1059":1041,"1060":1042,"1061":1043,"1062":1044,"1063":1045,"1064":1046,"1065":1047,"1066":1048,"1067":1049,"1068":1051,"1069":998,"1070":999,"1071":1000,"1072":1001,"1073":1017,"1074":1018,"1075":1019,"1076":1020,"1077":1021,"1078":1079,"1079":1080,"1080":1095,"1081":1083,"1082":1100,"1083":1093,"1084":1106,"1085":1081,"1086":1109,"1087":1110,"1088":1096,"1089":1097,"1090":1098,"1091":1099,"1092":1084,"1093":1085,"1094":1086,"1095":1087,"1096":1088,"1097":1089,"1098":1090,"1099":1091,"1100":1092,"1101":1101,"1102":1102,"1103":1103,"1104":1104,"1105":1105,"1106":1094,"1107":1107,"1108":1108,"1109":1082,"1110":1111,"1111":1112,"1112":1113,"1113":1120,"1114":1118,"1115":1141,"1116":1130,"1117":1115,"1118":1117,"1119":1116,"1120":1114,"1121":1121,"1122":1122,"1123":1123,"1124":1124,"1125":1125,"1126":1126,"1127":1127,"1128":1128,"1129":1129,"1130":1119,"1131":1142,"1132":1143,"1133":1144,"1134":1145,"1135":1146,"1136":1147,"1137":1148,"1138":1149,"1139":1131,"1140":1132,"1141":1133,"1142":1134,"1143":1135,"1144":1136,"1145":1137,"1146":1138,"1147":1139,"1148":1140,"1149":1155,"1150":1156,"1151":1161,"1152":1174,"1153":1181,"1154":1157,"1155":1158,"1156":1159,"1157":1160,"1158":1162,"1159":1163,"1160":1164,"1161":1165,"1162":1166,"1163":1167,"1164":1168,"1165":1169,"1166":1170,"1167":1171,"1168":1172,"1169":1173,"1170":1175,"1171":1176,"1172":1177,"1173":1178,"1174":1179,"1175":1180,"1176":1182,"1177":1183,"1178":1184,"1179":1185,"1180":1186,"1181":1187,"1182":1188,"1183":1189,"1184":1190,"1185":1191,"1186":1192,"1187":1193,"1188":1194,"1189":1195,"1190":1196,"1191":1197,"1192":1198,"1193":1199,"1194":1200,"1195":1201,"1196":1202,"1197":1203,"1198":1204,"1199":1205,"1200":1206,"1201":1207,"1202":1208,"1203":1209,"1204":1210,"1205":1211,"1206":1255,"1207":1222,"1208":1219,"1209":1243,"1210":1213,"1211":1212,"1212":1256,"1213":1257,"1214":1258,"1215":1259,"1216":1260,"1217":1261,"1218":1262,"1219":1223,"1220":1224,"1221":1225,"1222":1226,"1223":1227,"1224":1228,"1225":1229,"1226":1230,"1227":1231,"1228":1232,"1229":1233,"1230":1234,"1231":1235,"1232":1236,"1233":1237,"1234":1238,"1235":1239,"1236":1240,"1237":1241,"1238":1242,"1239":1220,"1240":1221,"1241":1244,"1242":1245,"1243":1246,"1244":1247,"1245":1248,"1246":1249,"1247":1250,"1248":1251,"1249":1252,"1250":1253,"1251":1254,"1252":1214,"1253":1215,"1254":1216,"1255":1217,"1256":1218,"1257":1263,"1258":1264,"1259":1281,"1260":1266,"1261":1265,"1262":1282,"1263":1267,"1264":1268,"1265":1269,"1266":1270,"1267":1271,"1268":1272,"1269":1273,"1270":1274,"1271":1275,"1272":1276,"1273":1277,"1274":1278,"1275":1279,"1276":1280,"1277":1283,"1278":1284,"1279":1285,"1280":1286,"1281":1287,"1282":1288,"1283":1289,"1284":1290,"1285":1291,"1286":1292,"1287":1293,"1288":1294,"1289":1295,"1290":1296,"1291":1297,"1292":1330,"1293":1328,"1294":1312,"1295":1315,"1296":1317,"1297":1319,"1298":1311,"1299":1305,"1300":1327,"1301":1308,"1302":1321,"1303":1335,"1304":1298,"1305":1299,"1306":1300,"1307":1301,"1308":1302,"1309":1303,"1310":1304,"1311":1331,"1312":1332,"1313":1333,"1314":1334,"1315":1329,"1316":1313,"1317":1314,"1318":1316,"1319":1318,"1320":1320,"1321":1306,"1322":1307,"1323":1309,"1324":1310,"1325":1322,"1326":1323,"1327":1324,"1328":1325,"1329":1326,"1330":1336,"1331":1337,"1332":1338,"1333":1339,"1334":1340,"1335":1341,"1336":1342,"1337":1343,"1338":1344,"1339":1345,"1340":1346,"1341":1347,"1342":1348,"1343":1349,"1344":1350,"1345":1351,"1346":1352,"1347":1353,"1348":1354,"1349":1355,"1350":1150,"1351":1151,"1352":1451,"1353":1152,"1354":1153,"1355":1154,"1356":1452,"1357":1453,"1358":1454,"1359":1455,"1360":1456,"1361":1457,"1362":1356,"1363":1357,"1364":1358,"1365":1359,"1366":1360,"1367":1361,"1368":1362,"1369":1363,"1370":1364,"1371":1365,"1372":1366,"1373":1367,"1374":1368,"1375":1369,"1376":1370,"1377":1371,"1378":1372,"1379":1373,"1380":1374,"1381":1412,"1382":1375,"1383":1376,"1384":1377,"1385":1378,"1386":1379,"1387":1380,"1388":1381,"1389":1382,"1390":1383,"1391":1384,"1392":1385,"1393":1386,"1394":1387,"1395":1388,"1396":1389,"1397":1390,"1398":1391,"1399":1392,"1400":1393,"1401":1394,"1402":1395,"1403":1396,"1404":1397,"1405":1398,"1406":1399,"1407":1400,"1408":1401,"1409":1402,"1410":1403,"1411":1404,"1412":1405,"1413":1406,"1414":1407,"1415":1408,"1416":1409,"1417":1410,"1418":1411,"1419":1413,"1420":1414,"1421":1415,"1422":1416,"1423":1417,"1424":1418,"1425":1419,"1426":1420,"1427":1435,"1428":1427,"1429":1430,"1430":1446,"1431":1441,"1432":1421,"1433":1422,"1434":1423,"1435":1424,"1436":1425,"1437":1426,"1438":1436,"1439":1437,"1440":1438,"1441":1439,"1442":1440,"1443":1428,"1444":1429,"1445":1431,"1446":1432,"1447":1433,"1448":1434,"1449":1447,"1450":1448,"1451":1449,"1452":1450,"1453":1442,"1454":1443,"1455":1444,"1456":1445,"1457":1458,"1458":1459,"1459":1460,"1460":1491,"1461":1523,"1462":1465,"1463":1471,"1464":1528,"1465":1526,"1466":1508,"1467":1532,"1468":1538,"1469":1534,"1470":1556,"1471":1493,"1472":1461,"1473":1462,"1474":1463,"1475":1464,"1476":1492,"1477":1524,"1478":1525,"1479":1466,"1480":1467,"1481":1468,"1482":1469,"1483":1470,"1484":1472,"1485":1473,"1486":1474,"1487":1475,"1488":1476,"1489":1477,"1490":1478,"1491":1479,"1492":1480,"1493":1481,"1494":1482,"1495":1483,"1496":1484,"1497":1485,"1498":1486,"1499":1487,"1500":1488,"1501":1489,"1502":1490,"1503":1529,"1504":1530,"1505":1531,"1506":1527,"1507":1509,"1508":1510,"1509":1511,"1510":1512,"1511":1513,"1512":1514,"1513":1515,"1514":1516,"1515":1517,"1516":1518,"1517":1519,"1518":1520,"1519":1521,"1520":1522,"1521":1533,"1522":1539,"1523":1540,"1524":1541,"1525":1542,"1526":1543,"1527":1544,"1528":1545,"1529":1546,"1530":1547,"1531":1548,"1532":1549,"1533":1550,"1534":1551,"1535":1552,"1536":1553,"1537":1554,"1538":1555,"1539":1535,"1540":1536,"1541":1537,"1542":1557,"1543":1558,"1544":1559,"1545":1560,"1546":1561,"1547":1562,"1548":1494,"1549":1495,"1550":1496,"1551":1497,"1552":1498,"1553":1499,"1554":1500,"1555":1501,"1556":1502,"1557":1503,"1558":1504,"1559":1505,"1560":1506,"1561":1507,"1562":1563,"1563":1564,"1564":1685,"1565":1568,"1566":1572,"1567":1678,"1568":1680,"1569":1686,"1570":1691,"1571":1693,"1572":1696,"1573":1705,"1574":1708,"1575":1718,"1576":1720,"1577":1723,"1578":1726,"1579":1714,"1580":1656,"1581":1574,"1582":1577,"1583":1580,"1584":1583,"1585":1586,"1586":1589,"1587":1597,"1588":1600,"1589":1603,"1590":1606,"1591":1609,"1592":1612,"1593":1621,"1594":1625,"1595":1631,"1596":1634,"1597":1637,"1598":1640,"1599":1647,"1600":1650,"1601":1653,"1602":1657,"1603":1662,"1604":1665,"1605":1668,"1606":1675,"1607":1570,"1608":1671,"1609":1673,"1610":1676,"1611":1683,"1612":1688,"1613":1699,"1614":1703,"1615":1710,"1616":1712,"1617":1716,"1618":1729,"1619":1731,"1620":1737,"1621":1739,"1622":1741,"1623":1743,"1624":1565,"1625":1566,"1626":1567,"1627":1569,"1628":1573,"1629":1679,"1630":1681,"1631":1682,"1632":1687,"1633":1692,"1634":1694,"1635":1695,"1636":1697,"1637":1698,"1638":1706,"1639":1707,"1640":1709,"1641":1719,"1642":1721,"1643":1722,"1644":1724,"1645":1725,"1646":1727,"1647":1728,"1648":1715,"1649":1575,"1650":1576,"1651":1578,"1652":1579,"1653":1581,"1654":1582,"1655":1584,"1656":1585,"1657":1587,"1658":1588,"1659":1590,"1660":1591,"1661":1592,"1662":1593,"1663":1594,"1664":1595,"1665":1596,"1666":1598,"1667":1599,"1668":1601,"1669":1602,"1670":1604,"1671":1605,"1672":1607,"1673":1608,"1674":1610,"1675":1611,"1676":1613,"1677":1614,"1678":1615,"1679":1616,"1680":1617,"1681":1618,"1682":1619,"1683":1620,"1684":1622,"1685":1623,"1686":1624,"1687":1626,"1688":1627,"1689":1628,"1690":1629,"1691":1630,"1692":1632,"1693":1633,"1694":1635,"1695":1636,"1696":1638,"1697":1639,"1698":1641,"1699":1642,"1700":1643,"1701":1644,"1702":1645,"1703":1646,"1704":1648,"1705":1649,"1706":1651,"1707":1652,"1708":1654,"1709":1655,"1710":1658,"1711":1659,"1712":1660,"1713":1661,"1714":1663,"1715":1664,"1716":1666,"1717":1667,"1718":1669,"1719":1670,"1720":1571,"1721":1672,"1722":1674,"1723":1677,"1724":1684,"1725":1689,"1726":1690,"1727":1700,"1728":1701,"1729":1702,"1730":1704,"1731":1711,"1732":1713,"1733":1717,"1734":1730,"1735":1732,"1736":1733,"1737":1734,"1738":1735,"1739":1736,"1740":1738,"1741":1740,"1742":1742,"1743":1744,"1744":1745,"1745":1746,"1746":1747,"1747":1748,"1748":1749,"1749":1750,"1750":1751,"1751":1752,"1752":1753,"1753":1754,"1754":1755,"1755":1756,"1756":1757,"1757":1758,"1758":1759,"1759":1760,"1760":1761,"1761":1762,"1762":1763,"1763":1764,"1764":1765,"1765":1766,"1766":1767,"1767":1768,"1768":1769,"1769":1770,"1770":1771,"1771":1772,"1772":1773,"1773":1774,"1774":1775,"1775":1776,"1776":1777,"1777":1778,"1778":1779,"1779":1780,"1780":1781,"1781":1782,"1782":0,"1783":1,"1784":2190,"1785":2135,"1786":2133,"1787":2193,"1788":2156,"1789":2130,"1790":2143,"1791":2176,"1792":2150,"1793":2188,"1794":2161,"1795":2173,"1796":2185,"1797":2191,"1798":2192,"1799":2136,"1800":2137,"1801":2138,"1802":2139,"1803":2140,"1804":2141,"1805":2142,"1806":2134,"1807":2157,"1808":2158,"1809":2159,"1810":2160,"1811":2131,"1812":2132,"1813":2144,"1814":2145,"1815":2146,"1816":2147,"1817":2148,"1818":2149,"1819":2177,"1820":2178,"1821":2179,"1822":2180,"1823":2181,"1824":2182,"1825":2183,"1826":2184,"1827":2151,"1828":2152,"1829":2153,"1830":2154,"1831":2155,"1832":2189,"1833":2162,"1834":2163,"1835":2164,"1836":2165,"1837":2166,"1838":2167,"1839":2168,"1840":2169,"1841":2170,"1842":2171,"1843":2172,"1844":2174,"1845":2175,"1846":2186,"1847":2187,"1848":1783,"1849":1784,"1850":1793,"1851":1806,"1852":1826,"1853":1785,"1854":1856,"1855":1795,"1856":1798,"1857":1851,"1858":1841,"1859":1804,"1860":1843,"1861":1858,"1862":1794,"1863":1807,"1864":1808,"1865":1809,"1866":1810,"1867":1811,"1868":1812,"1869":1813,"1870":1814,"1871":1815,"1872":1816,"1873":1817,"1874":1818,"1875":1819,"1876":1820,"1877":1821,"1878":1822,"1879":1823,"1880":1824,"1881":1825,"1882":1827,"1883":1828,"1884":1829,"1885":1830,"1886":1831,"1887":1832,"1888":1833,"1889":1834,"1890":1835,"1891":1836,"1892":1837,"1893":1838,"1894":1839,"1895":1840,"1896":1786,"1897":1787,"1898":1788,"1899":1789,"1900":1790,"1901":1791,"1902":1792,"1903":1857,"1904":1796,"1905":1797,"1906":1799,"1907":1800,"1908":1801,"1909":1802,"1910":1803,"1911":1852,"1912":1853,"1913":1854,"1914":1855,"1915":1842,"1916":1805,"1917":1844,"1918":1845,"1919":1846,"1920":1847,"1921":1848,"1922":1849,"1923":1850,"1924":1859,"1925":1860,"1926":1861,"1927":1862,"1928":1863,"1929":1864,"1930":1880,"1931":1889,"1932":1882,"1933":1907,"1934":1884,"1935":1865,"1936":1891,"1937":1893,"1938":1886,"1939":1881,"1940":1890,"1941":1883,"1942":1908,"1943":1909,"1944":1910,"1945":1911,"1946":1912,"1947":1913,"1948":1914,"1949":1915,"1950":1916,"1951":1917,"1952":1885,"1953":1866,"1954":1867,"1955":1868,"1956":1869,"1957":1870,"1958":1871,"1959":1872,"1960":1873,"1961":1874,"1962":1875,"1963":1876,"1964":1877,"1965":1878,"1966":1879,"1967":1892,"1968":1894,"1969":1895,"1970":1896,"1971":1897,"1972":1898,"1973":1899,"1974":1900,"1975":1901,"1976":1902,"1977":1903,"1978":1904,"1979":1905,"1980":1906,"1981":1887,"1982":1888,"1983":1918,"1984":1919,"1985":2081,"1986":2082,"1987":1926,"1988":2008,"1989":2116,"1990":2089,"1991":2080,"1992":1920,"1993":1934,"1994":2069,"1995":2014,"1996":2093,"1997":2079,"1998":1960,"1999":2071,"2000":2023,"2001":2118,"2002":2096,"2003":2078,"2004":2084,"2005":1975,"2006":2027,"2007":2123,"2008":2077,"2009":2034,"2010":2099,"2011":2076,"2012":2087,"2013":1981,"2014":2073,"2015":2037,"2016":2120,"2017":2125,"2018":2103,"2019":2083,"2020":1927,"2021":1928,"2022":1929,"2023":1930,"2024":1931,"2025":1932,"2026":1933,"2027":2009,"2028":2010,"2029":2011,"2030":2012,"2031":2013,"2032":2117,"2033":2090,"2034":2091,"2035":2092,"2036":1921,"2037":1922,"2038":1923,"2039":1924,"2040":1925,"2041":1935,"2042":1936,"2043":1937,"2044":1938,"2045":1939,"2046":1940,"2047":1941,"2048":1942,"2049":1943,"2050":1944,"2051":1945,"2052":1946,"2053":1947,"2054":1948,"2055":1949,"2056":1950,"2057":1951,"2058":1952,"2059":1953,"2060":1954,"2061":1955,"2062":1956,"2063":1957,"2064":1958,"2065":1959,"2066":2070,"2067":2015,"2068":2016,"2069":2017,"2070":2018,"2071":2019,"2072":2020,"2073":2021,"2074":2022,"2075":2094,"2076":2095,"2077":1961,"2078":1962,"2079":1963,"2080":1964,"2081":1965,"2082":1966,"2083":1967,"2084":1968,"2085":1969,"2086":1970,"2087":1971,"2088":1972,"2089":1973,"2090":1974,"2091":2072,"2092":2024,"2093":2025,"2094":2026,"2095":2119,"2096":2097,"2097":2098,"2098":2085,"2099":2086,"2100":1976,"2101":1977,"2102":1978,"2103":1979,"2104":1980,"2105":2028,"2106":2029,"2107":2030,"2108":2031,"2109":2032,"2110":2033,"2111":2124,"2112":2035,"2113":2036,"2114":2100,"2115":2101,"2116":2102,"2117":2088,"2118":1982,"2119":1983,"2120":1984,"2121":1985,"2122":1986,"2123":1987,"2124":1988,"2125":1989,"2126":1990,"2127":1991,"2128":1992,"2129":1993,"2130":1994,"2131":1995,"2132":1996,"2133":1997,"2134":1998,"2135":1999,"2136":2000,"2137":2001,"2138":2002,"2139":2003,"2140":2004,"2141":2005,"2142":2006,"2143":2007,"2144":2074,"2145":2075,"2146":2038,"2147":2039,"2148":2040,"2149":2041,"2150":2042,"2151":2043,"2152":2044,"2153":2045,"2154":2046,"2155":2047,"2156":2048,"2157":2049,"2158":2050,"2159":2051,"2160":2052,"2161":2053,"2162":2054,"2163":2055,"2164":2056,"2165":2057,"2166":2058,"2167":2059,"2168":2060,"2169":2061,"2170":2062,"2171":2063,"2172":2064,"2173":2065,"2174":2066,"2175":2067,"2176":2068,"2177":2121,"2178":2122,"2179":2126,"2180":2127,"2181":2128,"2182":2129,"2183":2104,"2184":2105,"2185":2106,"2186":2107,"2187":2108,"2188":2109,"2189":2110,"2190":2111,"2191":2112,"2192":2113,"2193":2114,"2194":2115},"orderedDocs":[[1782,"/docs"],[1783,"/docs"],[540,"/docs/admin-ops/administrators-guide"],[541,"/docs/admin-ops/administrators-guide"],[1,"/docs/admin-ops/administrators-guide/administration"],[2,"/docs/admin-ops/administrators-guide/administration"],[5,"/docs/admin-ops/administrators-guide/administration#debug-log-cleanup-logback"],[17,"/docs/admin-ops/administrators-guide/administration#debug-log-cleanup-logback"],[8,"/docs/admin-ops/administrators-guide/administration#logging"],[25,"/docs/admin-ops/administrators-guide/administration#logging"],[26,"/docs/admin-ops/administrators-guide/administration#logging"],[27,"/docs/admin-ops/administrators-guide/administration#logging"],[28,"/docs/admin-ops/administrators-guide/administration#logging"],[3,"/docs/admin-ops/administrators-guide/administration#maintenance"],[11,"/docs/admin-ops/administrators-guide/administration#maintenance"],[10,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[30,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[31,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[32,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[33,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[34,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[35,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[36,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[37,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[38,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[39,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[40,"/docs/admin-ops/administrators-guide/administration#metrics-providers"],[7,"/docs/admin-ops/administrators-guide/administration#monitoring"],[21,"/docs/admin-ops/administrators-guide/administration#monitoring"],[22,"/docs/admin-ops/administrators-guide/administration#monitoring"],[23,"/docs/admin-ops/administrators-guide/administration#monitoring"],[24,"/docs/admin-ops/administrators-guide/administration#monitoring"],[4,"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup"],[12,"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup"],[13,"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup"],[14,"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup"],[15,"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup"],[16,"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup"],[6,"/docs/admin-ops/administrators-guide/administration#supervision"],[18,"/docs/admin-ops/administrators-guide/administration#supervision"],[19,"/docs/admin-ops/administrators-guide/administration#supervision"],[20,"/docs/admin-ops/administrators-guide/administration#supervision"],[9,"/docs/admin-ops/administrators-guide/administration#troubleshooting"],[29,"/docs/admin-ops/administrators-guide/administration#troubleshooting"],[41,"/docs/admin-ops/administrators-guide/best-practices"],[42,"/docs/admin-ops/administrators-guide/best-practices"],[44,"/docs/admin-ops/administrators-guide/best-practices#best-practices"],[50,"/docs/admin-ops/administrators-guide/best-practices#best-practices"],[51,"/docs/admin-ops/administrators-guide/best-practices#best-practices"],[43,"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid"],[45,"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid"],[46,"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid"],[47,"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid"],[48,"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid"],[49,"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid"],[52,"/docs/admin-ops/administrators-guide/commands"],[53,"/docs/admin-ops/administrators-guide/commands"],[56,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[107,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[108,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[109,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[110,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[111,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[112,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[113,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[114,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[115,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[116,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[117,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[118,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[119,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[120,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[121,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[122,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[123,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[124,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[125,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[126,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[127,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[128,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[129,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[130,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[131,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[132,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[133,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[134,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[135,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[136,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[137,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[138,"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls"],[55,"/docs/admin-ops/administrators-guide/commands#the-adminserver"],[102,"/docs/admin-ops/administrators-guide/commands#the-adminserver"],[103,"/docs/admin-ops/administrators-guide/commands#the-adminserver"],[104,"/docs/admin-ops/administrators-guide/commands#the-adminserver"],[105,"/docs/admin-ops/administrators-guide/commands#the-adminserver"],[106,"/docs/admin-ops/administrators-guide/commands#the-adminserver"],[54,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[57,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[58,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[59,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[60,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[61,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[62,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[63,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[64,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[65,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[66,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[67,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[68,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[69,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[70,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[71,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[72,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[73,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[74,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[75,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[76,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[77,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[78,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[79,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[80,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[81,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[82,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[83,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[84,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[85,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[86,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[87,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[88,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[89,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[90,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[91,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[92,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[93,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[94,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[95,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[96,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[97,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[98,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[99,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[100,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[101,"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"],[139,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[140,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[143,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[144,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework"],[141,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls"],[145,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls"],[146,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls"],[147,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls"],[148,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls"],[149,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls"],[150,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls"],[151,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls"],[152,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls"],[142,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime"],[153,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime"],[154,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime"],[155,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime"],[156,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime"],[157,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime"],[158,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime"],[159,"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime"],[160,"/docs/admin-ops/administrators-guide/configuration-parameters"],[161,"/docs/admin-ops/administrators-guide/configuration-parameters"],[174,"/docs/admin-ops/administrators-guide/configuration-parameters"],[175,"/docs/admin-ops/administrators-guide/configuration-parameters"],[176,"/docs/admin-ops/administrators-guide/configuration-parameters"],[173,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[421,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[422,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[423,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[424,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[425,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[426,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[427,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[428,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[429,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[430,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[431,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[432,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[433,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[434,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[435,"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration"],[163,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[185,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[186,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[187,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[188,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[189,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[190,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[191,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[192,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[193,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[194,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[195,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[196,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[197,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[198,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[199,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[200,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[201,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[202,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[203,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[204,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[205,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[206,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[207,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[208,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[209,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[210,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[211,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[212,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[213,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[214,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[215,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[216,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[217,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[218,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[219,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[220,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[221,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[222,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[223,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[224,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[225,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[226,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[227,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[228,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[229,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[230,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[231,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[232,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[233,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[234,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[235,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[236,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[237,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[238,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[239,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[240,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[241,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[242,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[243,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[244,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[245,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[246,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[247,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[248,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[249,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[250,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[251,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[252,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[253,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[254,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[255,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[256,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[257,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[258,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[259,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[260,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[261,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[262,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[263,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[264,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[265,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[266,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[267,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[268,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[269,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[270,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[271,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[272,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[273,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[274,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[275,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[276,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[277,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[278,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[279,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[280,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[281,"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"],[164,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[282,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[283,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[284,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[285,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[286,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[287,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[288,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[289,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[290,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[291,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[292,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[293,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[294,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[295,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[296,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[297,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[298,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[299,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[300,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[301,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[302,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[303,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[304,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[305,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[306,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[307,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[308,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[309,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[310,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[311,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[312,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[313,"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options"],[172,"/docs/admin-ops/administrators-guide/configuration-parameters#debug-observability-configurations"],[418,"/docs/admin-ops/administrators-guide/configuration-parameters#debug-observability-configurations"],[419,"/docs/admin-ops/administrators-guide/configuration-parameters#debug-observability-configurations"],[420,"/docs/admin-ops/administrators-guide/configuration-parameters#debug-observability-configurations"],[169,"/docs/admin-ops/administrators-guide/configuration-parameters#disabling-data-directory-autocreation"],[402,"/docs/admin-ops/administrators-guide/configuration-parameters#disabling-data-directory-autocreation"],[403,"/docs/admin-ops/administrators-guide/configuration-parameters#disabling-data-directory-autocreation"],[404,"/docs/admin-ops/administrators-guide/configuration-parameters#disabling-data-directory-autocreation"],[405,"/docs/admin-ops/administrators-guide/configuration-parameters#disabling-data-directory-autocreation"],[170,"/docs/admin-ops/administrators-guide/configuration-parameters#enabling-db-existence-validation"],[406,"/docs/admin-ops/administrators-guide/configuration-parameters#enabling-db-existence-validation"],[407,"/docs/admin-ops/administrators-guide/configuration-parameters#enabling-db-existence-validation"],[165,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[314,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[315,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[316,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[317,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[318,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[319,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[320,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[321,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[322,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[323,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[324,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[325,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[326,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[327,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[328,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[329,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[330,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[331,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[332,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[333,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[334,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[335,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[336,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[337,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[338,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[339,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[340,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[341,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[342,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[343,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[344,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[345,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[346,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[347,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[348,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[349,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[350,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[351,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[352,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[353,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[354,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[355,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[356,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[357,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[358,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[359,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[360,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[361,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[362,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[363,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[364,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[365,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[366,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[367,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[368,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[369,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[370,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[371,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[372,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[373,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[374,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[375,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[376,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[377,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[378,"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options"],[167,"/docs/admin-ops/administrators-guide/configuration-parameters#experimental-optionsfeatures"],[383,"/docs/admin-ops/administrators-guide/configuration-parameters#experimental-optionsfeatures"],[384,"/docs/admin-ops/administrators-guide/configuration-parameters#experimental-optionsfeatures"],[385,"/docs/admin-ops/administrators-guide/configuration-parameters#experimental-optionsfeatures"],[162,"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration"],[177,"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration"],[178,"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration"],[179,"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration"],[180,"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration"],[181,"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration"],[182,"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration"],[183,"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration"],[184,"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration"],[171,"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options"],[408,"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options"],[409,"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options"],[410,"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options"],[411,"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options"],[412,"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options"],[413,"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options"],[414,"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options"],[415,"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options"],[416,"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options"],[417,"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options"],[166,"/docs/admin-ops/administrators-guide/configuration-parameters#tls-cipher-suites"],[379,"/docs/admin-ops/administrators-guide/configuration-parameters#tls-cipher-suites"],[380,"/docs/admin-ops/administrators-guide/configuration-parameters#tls-cipher-suites"],[381,"/docs/admin-ops/administrators-guide/configuration-parameters#tls-cipher-suites"],[382,"/docs/admin-ops/administrators-guide/configuration-parameters#tls-cipher-suites"],[168,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[386,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[387,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[388,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[389,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[390,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[391,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[392,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[393,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[394,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[395,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[396,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[397,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[398,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[399,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[400,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[401,"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options"],[436,"/docs/admin-ops/administrators-guide/data-file-management"],[437,"/docs/admin-ops/administrators-guide/data-file-management"],[442,"/docs/admin-ops/administrators-guide/data-file-management"],[440,"/docs/admin-ops/administrators-guide/data-file-management#file-management"],[450,"/docs/admin-ops/administrators-guide/data-file-management#file-management"],[451,"/docs/admin-ops/administrators-guide/data-file-management#file-management"],[452,"/docs/admin-ops/administrators-guide/data-file-management#file-management"],[453,"/docs/admin-ops/administrators-guide/data-file-management#file-management"],[454,"/docs/admin-ops/administrators-guide/data-file-management#file-management"],[441,"/docs/admin-ops/administrators-guide/data-file-management#recovery---txnlogtoolkit"],[455,"/docs/admin-ops/administrators-guide/data-file-management#recovery---txnlogtoolkit"],[438,"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory"],[443,"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory"],[444,"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory"],[445,"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory"],[446,"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory"],[447,"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory"],[448,"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory"],[439,"/docs/admin-ops/administrators-guide/data-file-management#the-log-directory"],[449,"/docs/admin-ops/administrators-guide/data-file-management#the-log-directory"],[456,"/docs/admin-ops/administrators-guide/deployment"],[457,"/docs/admin-ops/administrators-guide/deployment"],[467,"/docs/admin-ops/administrators-guide/deployment"],[468,"/docs/admin-ops/administrators-guide/deployment"],[469,"/docs/admin-ops/administrators-guide/deployment"],[470,"/docs/admin-ops/administrators-guide/deployment"],[471,"/docs/admin-ops/administrators-guide/deployment"],[462,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[510,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[511,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[512,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[513,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[514,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[515,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[516,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[517,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[518,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[519,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[520,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[521,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[522,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[523,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[524,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[525,"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup"],[465,"/docs/admin-ops/administrators-guide/deployment#cross-machine-requirements"],[533,"/docs/admin-ops/administrators-guide/deployment#cross-machine-requirements"],[534,"/docs/admin-ops/administrators-guide/deployment#cross-machine-requirements"],[535,"/docs/admin-ops/administrators-guide/deployment#cross-machine-requirements"],[536,"/docs/admin-ops/administrators-guide/deployment#cross-machine-requirements"],[464,"/docs/admin-ops/administrators-guide/deployment#designing-a-zookeeper-deployment"],[529,"/docs/admin-ops/administrators-guide/deployment#designing-a-zookeeper-deployment"],[530,"/docs/admin-ops/administrators-guide/deployment#designing-a-zookeeper-deployment"],[531,"/docs/admin-ops/administrators-guide/deployment#designing-a-zookeeper-deployment"],[532,"/docs/admin-ops/administrators-guide/deployment#designing-a-zookeeper-deployment"],[461,"/docs/admin-ops/administrators-guide/deployment#required-software"],[509,"/docs/admin-ops/administrators-guide/deployment#required-software"],[466,"/docs/admin-ops/administrators-guide/deployment#single-machine-requirements"],[537,"/docs/admin-ops/administrators-guide/deployment#single-machine-requirements"],[538,"/docs/admin-ops/administrators-guide/deployment#single-machine-requirements"],[539,"/docs/admin-ops/administrators-guide/deployment#single-machine-requirements"],[463,"/docs/admin-ops/administrators-guide/deployment#single-server-and-developer-setup"],[526,"/docs/admin-ops/administrators-guide/deployment#single-server-and-developer-setup"],[527,"/docs/admin-ops/administrators-guide/deployment#single-server-and-developer-setup"],[528,"/docs/admin-ops/administrators-guide/deployment#single-server-and-developer-setup"],[460,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[478,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[479,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[480,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[481,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[482,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[483,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[484,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[485,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[486,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[487,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[488,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[489,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[490,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[491,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[492,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[493,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[494,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[495,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[496,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[497,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[498,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[499,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[500,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[501,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[502,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[503,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[504,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[505,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[506,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[507,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[508,"/docs/admin-ops/administrators-guide/deployment#support-matrix"],[459,"/docs/admin-ops/administrators-guide/deployment#supported-platforms"],[472,"/docs/admin-ops/administrators-guide/deployment#supported-platforms"],[473,"/docs/admin-ops/administrators-guide/deployment#supported-platforms"],[474,"/docs/admin-ops/administrators-guide/deployment#supported-platforms"],[475,"/docs/admin-ops/administrators-guide/deployment#supported-platforms"],[476,"/docs/admin-ops/administrators-guide/deployment#supported-platforms"],[477,"/docs/admin-ops/administrators-guide/deployment#supported-platforms"],[458,"/docs/admin-ops/administrators-guide/deployment#system-requirements"],[542,"/docs/admin-ops/cli"],[543,"/docs/admin-ops/cli"],[546,"/docs/admin-ops/cli#addauth"],[574,"/docs/admin-ops/cli#addauth"],[547,"/docs/admin-ops/cli#close"],[575,"/docs/admin-ops/cli#close"],[548,"/docs/admin-ops/cli#config"],[576,"/docs/admin-ops/cli#config"],[549,"/docs/admin-ops/cli#connect"],[577,"/docs/admin-ops/cli#connect"],[544,"/docs/admin-ops/cli#connecting"],[550,"/docs/admin-ops/cli#create"],[578,"/docs/admin-ops/cli#create"],[579,"/docs/admin-ops/cli#create"],[580,"/docs/admin-ops/cli#create"],[581,"/docs/admin-ops/cli#create"],[551,"/docs/admin-ops/cli#delete"],[582,"/docs/admin-ops/cli#delete"],[552,"/docs/admin-ops/cli#deleteall"],[583,"/docs/admin-ops/cli#deleteall"],[553,"/docs/admin-ops/cli#delquota"],[584,"/docs/admin-ops/cli#delquota"],[554,"/docs/admin-ops/cli#get"],[585,"/docs/admin-ops/cli#get"],[555,"/docs/admin-ops/cli#getacl"],[586,"/docs/admin-ops/cli#getacl"],[556,"/docs/admin-ops/cli#getallchildrennumber"],[587,"/docs/admin-ops/cli#getallchildrennumber"],[557,"/docs/admin-ops/cli#getephemerals"],[588,"/docs/admin-ops/cli#getephemerals"],[545,"/docs/admin-ops/cli#help"],[573,"/docs/admin-ops/cli#help"],[558,"/docs/admin-ops/cli#history"],[589,"/docs/admin-ops/cli#history"],[559,"/docs/admin-ops/cli#listquota"],[590,"/docs/admin-ops/cli#listquota"],[560,"/docs/admin-ops/cli#ls"],[591,"/docs/admin-ops/cli#ls"],[561,"/docs/admin-ops/cli#printwatches"],[592,"/docs/admin-ops/cli#printwatches"],[562,"/docs/admin-ops/cli#quit"],[593,"/docs/admin-ops/cli#quit"],[563,"/docs/admin-ops/cli#reconfig"],[594,"/docs/admin-ops/cli#reconfig"],[595,"/docs/admin-ops/cli#reconfig"],[596,"/docs/admin-ops/cli#reconfig"],[597,"/docs/admin-ops/cli#reconfig"],[564,"/docs/admin-ops/cli#redo"],[598,"/docs/admin-ops/cli#redo"],[565,"/docs/admin-ops/cli#removewatches"],[599,"/docs/admin-ops/cli#removewatches"],[566,"/docs/admin-ops/cli#set"],[600,"/docs/admin-ops/cli#set"],[567,"/docs/admin-ops/cli#setacl"],[601,"/docs/admin-ops/cli#setacl"],[602,"/docs/admin-ops/cli#setacl"],[603,"/docs/admin-ops/cli#setacl"],[568,"/docs/admin-ops/cli#setquota"],[604,"/docs/admin-ops/cli#setquota"],[569,"/docs/admin-ops/cli#stat"],[605,"/docs/admin-ops/cli#stat"],[570,"/docs/admin-ops/cli#sync"],[606,"/docs/admin-ops/cli#sync"],[571,"/docs/admin-ops/cli#version"],[607,"/docs/admin-ops/cli#version"],[572,"/docs/admin-ops/cli#whoami"],[608,"/docs/admin-ops/cli#whoami"],[609,"/docs/admin-ops/dynamic-reconfiguration"],[610,"/docs/admin-ops/dynamic-reconfiguration"],[633,"/docs/admin-ops/dynamic-reconfiguration"],[634,"/docs/admin-ops/dynamic-reconfiguration"],[635,"/docs/admin-ops/dynamic-reconfiguration"],[636,"/docs/admin-ops/dynamic-reconfiguration"],[637,"/docs/admin-ops/dynamic-reconfiguration"],[638,"/docs/admin-ops/dynamic-reconfiguration"],[639,"/docs/admin-ops/dynamic-reconfiguration"],[631,"/docs/admin-ops/dynamic-reconfiguration#additional-comments"],[729,"/docs/admin-ops/dynamic-reconfiguration#additional-comments"],[730,"/docs/admin-ops/dynamic-reconfiguration#additional-comments"],[731,"/docs/admin-ops/dynamic-reconfiguration#additional-comments"],[622,"/docs/admin-ops/dynamic-reconfiguration#api"],[669,"/docs/admin-ops/dynamic-reconfiguration#api"],[670,"/docs/admin-ops/dynamic-reconfiguration#api"],[671,"/docs/admin-ops/dynamic-reconfiguration#api"],[619,"/docs/admin-ops/dynamic-reconfiguration#backward-compatibility"],[663,"/docs/admin-ops/dynamic-reconfiguration#backward-compatibility"],[664,"/docs/admin-ops/dynamic-reconfiguration#backward-compatibility"],[665,"/docs/admin-ops/dynamic-reconfiguration#backward-compatibility"],[611,"/docs/admin-ops/dynamic-reconfiguration#changes-to-configuration-format"],[629,"/docs/admin-ops/dynamic-reconfiguration#conditional-reconfig"],[718,"/docs/admin-ops/dynamic-reconfiguration#conditional-reconfig"],[719,"/docs/admin-ops/dynamic-reconfiguration#conditional-reconfig"],[616,"/docs/admin-ops/dynamic-reconfiguration#dynamic-configuration-file"],[655,"/docs/admin-ops/dynamic-reconfiguration#dynamic-configuration-file"],[656,"/docs/admin-ops/dynamic-reconfiguration#dynamic-configuration-file"],[621,"/docs/admin-ops/dynamic-reconfiguration#dynamic-reconfiguration-of-the-zookeeper-ensemble"],[668,"/docs/admin-ops/dynamic-reconfiguration#dynamic-reconfiguration-of-the-zookeeper-ensemble"],[630,"/docs/admin-ops/dynamic-reconfiguration#error-conditions"],[720,"/docs/admin-ops/dynamic-reconfiguration#error-conditions"],[721,"/docs/admin-ops/dynamic-reconfiguration#error-conditions"],[722,"/docs/admin-ops/dynamic-reconfiguration#error-conditions"],[723,"/docs/admin-ops/dynamic-reconfiguration#error-conditions"],[724,"/docs/admin-ops/dynamic-reconfiguration#error-conditions"],[725,"/docs/admin-ops/dynamic-reconfiguration#error-conditions"],[726,"/docs/admin-ops/dynamic-reconfiguration#error-conditions"],[727,"/docs/admin-ops/dynamic-reconfiguration#error-conditions"],[728,"/docs/admin-ops/dynamic-reconfiguration#error-conditions"],[617,"/docs/admin-ops/dynamic-reconfiguration#example-1"],[657,"/docs/admin-ops/dynamic-reconfiguration#example-1"],[658,"/docs/admin-ops/dynamic-reconfiguration#example-1"],[659,"/docs/admin-ops/dynamic-reconfiguration#example-1"],[618,"/docs/admin-ops/dynamic-reconfiguration#example-2"],[660,"/docs/admin-ops/dynamic-reconfiguration#example-2"],[661,"/docs/admin-ops/dynamic-reconfiguration#example-2"],[662,"/docs/admin-ops/dynamic-reconfiguration#example-2"],[626,"/docs/admin-ops/dynamic-reconfiguration#general"],[687,"/docs/admin-ops/dynamic-reconfiguration#general"],[688,"/docs/admin-ops/dynamic-reconfiguration#general"],[689,"/docs/admin-ops/dynamic-reconfiguration#general"],[690,"/docs/admin-ops/dynamic-reconfiguration#general"],[691,"/docs/admin-ops/dynamic-reconfiguration#general"],[692,"/docs/admin-ops/dynamic-reconfiguration#general"],[693,"/docs/admin-ops/dynamic-reconfiguration#general"],[694,"/docs/admin-ops/dynamic-reconfiguration#general"],[695,"/docs/admin-ops/dynamic-reconfiguration#general"],[696,"/docs/admin-ops/dynamic-reconfiguration#general"],[697,"/docs/admin-ops/dynamic-reconfiguration#general"],[698,"/docs/admin-ops/dynamic-reconfiguration#general"],[699,"/docs/admin-ops/dynamic-reconfiguration#general"],[700,"/docs/admin-ops/dynamic-reconfiguration#general"],[701,"/docs/admin-ops/dynamic-reconfiguration#general"],[702,"/docs/admin-ops/dynamic-reconfiguration#general"],[703,"/docs/admin-ops/dynamic-reconfiguration#general"],[704,"/docs/admin-ops/dynamic-reconfiguration#general"],[705,"/docs/admin-ops/dynamic-reconfiguration#general"],[706,"/docs/admin-ops/dynamic-reconfiguration#general"],[627,"/docs/admin-ops/dynamic-reconfiguration#incremental-mode"],[707,"/docs/admin-ops/dynamic-reconfiguration#incremental-mode"],[708,"/docs/admin-ops/dynamic-reconfiguration#incremental-mode"],[709,"/docs/admin-ops/dynamic-reconfiguration#incremental-mode"],[710,"/docs/admin-ops/dynamic-reconfiguration#incremental-mode"],[711,"/docs/admin-ops/dynamic-reconfiguration#incremental-mode"],[712,"/docs/admin-ops/dynamic-reconfiguration#incremental-mode"],[625,"/docs/admin-ops/dynamic-reconfiguration#modifying-the-current-dynamic-configuration"],[685,"/docs/admin-ops/dynamic-reconfiguration#modifying-the-current-dynamic-configuration"],[686,"/docs/admin-ops/dynamic-reconfiguration#modifying-the-current-dynamic-configuration"],[628,"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode"],[713,"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode"],[714,"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode"],[715,"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode"],[716,"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode"],[717,"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode"],[632,"/docs/admin-ops/dynamic-reconfiguration#rebalancing-client-connections"],[732,"/docs/admin-ops/dynamic-reconfiguration#rebalancing-client-connections"],[733,"/docs/admin-ops/dynamic-reconfiguration#rebalancing-client-connections"],[734,"/docs/admin-ops/dynamic-reconfiguration#rebalancing-client-connections"],[735,"/docs/admin-ops/dynamic-reconfiguration#rebalancing-client-connections"],[624,"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration"],[678,"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration"],[679,"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration"],[680,"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration"],[681,"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration"],[682,"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration"],[683,"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration"],[684,"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration"],[623,"/docs/admin-ops/dynamic-reconfiguration#security"],[672,"/docs/admin-ops/dynamic-reconfiguration#security"],[673,"/docs/admin-ops/dynamic-reconfiguration#security"],[674,"/docs/admin-ops/dynamic-reconfiguration#security"],[675,"/docs/admin-ops/dynamic-reconfiguration#security"],[676,"/docs/admin-ops/dynamic-reconfiguration#security"],[677,"/docs/admin-ops/dynamic-reconfiguration#security"],[613,"/docs/admin-ops/dynamic-reconfiguration#specifying-multiple-server-addresses"],[647,"/docs/admin-ops/dynamic-reconfiguration#specifying-multiple-server-addresses"],[648,"/docs/admin-ops/dynamic-reconfiguration#specifying-multiple-server-addresses"],[612,"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port"],[640,"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port"],[641,"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port"],[642,"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port"],[643,"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port"],[644,"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port"],[645,"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port"],[646,"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port"],[615,"/docs/admin-ops/dynamic-reconfiguration#the-reconfigenabled-flag"],[653,"/docs/admin-ops/dynamic-reconfiguration#the-reconfigenabled-flag"],[654,"/docs/admin-ops/dynamic-reconfiguration#the-reconfigenabled-flag"],[614,"/docs/admin-ops/dynamic-reconfiguration#the-standaloneenabled-flag"],[649,"/docs/admin-ops/dynamic-reconfiguration#the-standaloneenabled-flag"],[650,"/docs/admin-ops/dynamic-reconfiguration#the-standaloneenabled-flag"],[651,"/docs/admin-ops/dynamic-reconfiguration#the-standaloneenabled-flag"],[652,"/docs/admin-ops/dynamic-reconfiguration#the-standaloneenabled-flag"],[620,"/docs/admin-ops/dynamic-reconfiguration#upgrading-to-350"],[666,"/docs/admin-ops/dynamic-reconfiguration#upgrading-to-350"],[667,"/docs/admin-ops/dynamic-reconfiguration#upgrading-to-350"],[736,"/docs/admin-ops/jmx"],[737,"/docs/admin-ops/jmx"],[745,"/docs/admin-ops/jmx"],[746,"/docs/admin-ops/jmx"],[747,"/docs/admin-ops/jmx"],[741,"/docs/admin-ops/jmx#log4j-mbeans-deprecated"],[755,"/docs/admin-ops/jmx#log4j-mbeans-deprecated"],[740,"/docs/admin-ops/jmx#logback-mbeans-new-in-380"],[754,"/docs/admin-ops/jmx#logback-mbeans-new-in-380"],[743,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[756,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[757,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[758,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[759,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[760,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[761,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[762,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[763,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[764,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[765,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[766,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[767,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[768,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[769,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[770,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[771,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[772,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[773,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[774,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[775,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[776,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[777,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[778,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[779,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[780,"/docs/admin-ops/jmx#replicated-ensemble-mbeans"],[739,"/docs/admin-ops/jmx#running-a-jmx-console"],[749,"/docs/admin-ops/jmx#running-a-jmx-console"],[750,"/docs/admin-ops/jmx#running-a-jmx-console"],[751,"/docs/admin-ops/jmx#running-a-jmx-console"],[752,"/docs/admin-ops/jmx#running-a-jmx-console"],[753,"/docs/admin-ops/jmx#running-a-jmx-console"],[744,"/docs/admin-ops/jmx#standalone-server-mbeans"],[781,"/docs/admin-ops/jmx#standalone-server-mbeans"],[782,"/docs/admin-ops/jmx#standalone-server-mbeans"],[783,"/docs/admin-ops/jmx#standalone-server-mbeans"],[784,"/docs/admin-ops/jmx#standalone-server-mbeans"],[785,"/docs/admin-ops/jmx#standalone-server-mbeans"],[786,"/docs/admin-ops/jmx#standalone-server-mbeans"],[787,"/docs/admin-ops/jmx#standalone-server-mbeans"],[788,"/docs/admin-ops/jmx#standalone-server-mbeans"],[789,"/docs/admin-ops/jmx#standalone-server-mbeans"],[790,"/docs/admin-ops/jmx#standalone-server-mbeans"],[791,"/docs/admin-ops/jmx#standalone-server-mbeans"],[792,"/docs/admin-ops/jmx#standalone-server-mbeans"],[793,"/docs/admin-ops/jmx#standalone-server-mbeans"],[738,"/docs/admin-ops/jmx#starting-zookeeper-with-jmx-enabled"],[748,"/docs/admin-ops/jmx#starting-zookeeper-with-jmx-enabled"],[742,"/docs/admin-ops/jmx#zookeeper-mbean-reference"],[794,"/docs/admin-ops/monitor-and-audit-logs"],[795,"/docs/admin-ops/monitor-and-audit-logs"],[801,"/docs/admin-ops/monitor-and-audit-logs#alerting-with-prometheus"],[824,"/docs/admin-ops/monitor-and-audit-logs#alerting-with-prometheus"],[825,"/docs/admin-ops/monitor-and-audit-logs#alerting-with-prometheus"],[826,"/docs/admin-ops/monitor-and-audit-logs#alerting-with-prometheus"],[827,"/docs/admin-ops/monitor-and-audit-logs#alerting-with-prometheus"],[807,"/docs/admin-ops/monitor-and-audit-logs#audit-log-configuration"],[854,"/docs/admin-ops/monitor-and-audit-logs#audit-log-configuration"],[855,"/docs/admin-ops/monitor-and-audit-logs#audit-log-configuration"],[806,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[833,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[834,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[835,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[836,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[837,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[838,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[839,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[840,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[841,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[842,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[843,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[844,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[845,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[846,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[847,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[848,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[849,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[850,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[851,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[852,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[853,"/docs/admin-ops/monitor-and-audit-logs#audit-logs"],[798,"/docs/admin-ops/monitor-and-audit-logs#configuring-the-metrics-provider"],[811,"/docs/admin-ops/monitor-and-audit-logs#configuring-the-metrics-provider"],[812,"/docs/admin-ops/monitor-and-audit-logs#configuring-the-metrics-provider"],[799,"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics"],[813,"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics"],[814,"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics"],[815,"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics"],[816,"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics"],[817,"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics"],[818,"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics"],[805,"/docs/admin-ops/monitor-and-audit-logs#four-letter-words"],[832,"/docs/admin-ops/monitor-and-audit-logs#four-letter-words"],[802,"/docs/admin-ops/monitor-and-audit-logs#grafana"],[828,"/docs/admin-ops/monitor-and-audit-logs#grafana"],[829,"/docs/admin-ops/monitor-and-audit-logs#grafana"],[803,"/docs/admin-ops/monitor-and-audit-logs#influxdb"],[830,"/docs/admin-ops/monitor-and-audit-logs#influxdb"],[804,"/docs/admin-ops/monitor-and-audit-logs#jmx"],[831,"/docs/admin-ops/monitor-and-audit-logs#jmx"],[797,"/docs/admin-ops/monitor-and-audit-logs#metrics"],[810,"/docs/admin-ops/monitor-and-audit-logs#metrics"],[796,"/docs/admin-ops/monitor-and-audit-logs#new-metrics-system"],[809,"/docs/admin-ops/monitor-and-audit-logs#new-metrics-system"],[800,"/docs/admin-ops/monitor-and-audit-logs#prometheus"],[819,"/docs/admin-ops/monitor-and-audit-logs#prometheus"],[820,"/docs/admin-ops/monitor-and-audit-logs#prometheus"],[821,"/docs/admin-ops/monitor-and-audit-logs#prometheus"],[822,"/docs/admin-ops/monitor-and-audit-logs#prometheus"],[823,"/docs/admin-ops/monitor-and-audit-logs#prometheus"],[808,"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs"],[856,"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs"],[857,"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs"],[858,"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs"],[859,"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs"],[860,"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs"],[861,"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs"],[862,"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs"],[863,"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs"],[864,"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs"],[865,"/docs/admin-ops/observers-guide"],[866,"/docs/admin-ops/observers-guide"],[870,"/docs/admin-ops/observers-guide"],[871,"/docs/admin-ops/observers-guide"],[872,"/docs/admin-ops/observers-guide"],[869,"/docs/admin-ops/observers-guide#example-use-cases"],[882,"/docs/admin-ops/observers-guide#example-use-cases"],[883,"/docs/admin-ops/observers-guide#example-use-cases"],[884,"/docs/admin-ops/observers-guide#example-use-cases"],[868,"/docs/admin-ops/observers-guide#how-to-use-observer-masters"],[879,"/docs/admin-ops/observers-guide#how-to-use-observer-masters"],[880,"/docs/admin-ops/observers-guide#how-to-use-observer-masters"],[881,"/docs/admin-ops/observers-guide#how-to-use-observer-masters"],[867,"/docs/admin-ops/observers-guide#how-to-use-observers"],[873,"/docs/admin-ops/observers-guide#how-to-use-observers"],[874,"/docs/admin-ops/observers-guide#how-to-use-observers"],[875,"/docs/admin-ops/observers-guide#how-to-use-observers"],[876,"/docs/admin-ops/observers-guide#how-to-use-observers"],[877,"/docs/admin-ops/observers-guide#how-to-use-observers"],[878,"/docs/admin-ops/observers-guide#how-to-use-observers"],[885,"/docs/admin-ops/quorums"],[886,"/docs/admin-ops/quorums"],[893,"/docs/admin-ops/quorums#behavior-after-enabling-the-oracle"],[913,"/docs/admin-ops/quorums#behavior-after-enabling-the-oracle"],[891,"/docs/admin-ops/quorums#configuring-the-oracle-in-zoocfg"],[909,"/docs/admin-ops/quorums#configuring-the-oracle-in-zoocfg"],[910,"/docs/admin-ops/quorums#configuring-the-oracle-in-zoocfg"],[911,"/docs/admin-ops/quorums#configuring-the-oracle-in-zoocfg"],[912,"/docs/admin-ops/quorums#configuring-the-oracle-in-zoocfg"],[894,"/docs/admin-ops/quorums#considerations-when-using-the-oracle"],[914,"/docs/admin-ops/quorums#considerations-when-using-the-oracle"],[890,"/docs/admin-ops/quorums#deployment-contexts"],[907,"/docs/admin-ops/quorums#deployment-contexts"],[908,"/docs/admin-ops/quorums#deployment-contexts"],[892,"/docs/admin-ops/quorums#example-zoocfg"],[897,"/docs/admin-ops/quorums#examples-of-failure-detector-implementations"],[941,"/docs/admin-ops/quorums#examples-of-failure-detector-implementations"],[898,"/docs/admin-ops/quorums#hardware-based-implementation"],[942,"/docs/admin-ops/quorums#hardware-based-implementation"],[887,"/docs/admin-ops/quorums#hierarchical-quorums"],[902,"/docs/admin-ops/quorums#hierarchical-quorums"],[903,"/docs/admin-ops/quorums#hierarchical-quorums"],[904,"/docs/admin-ops/quorums#hierarchical-quorums"],[895,"/docs/admin-ops/quorums#liveness-issue"],[915,"/docs/admin-ops/quorums#liveness-issue"],[916,"/docs/admin-ops/quorums#liveness-issue"],[917,"/docs/admin-ops/quorums#liveness-issue"],[918,"/docs/admin-ops/quorums#liveness-issue"],[919,"/docs/admin-ops/quorums#liveness-issue"],[920,"/docs/admin-ops/quorums#liveness-issue"],[888,"/docs/admin-ops/quorums#oracle-quorum"],[905,"/docs/admin-ops/quorums#oracle-quorum"],[901,"/docs/admin-ops/quorums#reference"],[957,"/docs/admin-ops/quorums#reference"],[896,"/docs/admin-ops/quorums#safety-issue"],[921,"/docs/admin-ops/quorums#safety-issue"],[922,"/docs/admin-ops/quorums#safety-issue"],[923,"/docs/admin-ops/quorums#safety-issue"],[924,"/docs/admin-ops/quorums#safety-issue"],[925,"/docs/admin-ops/quorums#safety-issue"],[926,"/docs/admin-ops/quorums#safety-issue"],[927,"/docs/admin-ops/quorums#safety-issue"],[928,"/docs/admin-ops/quorums#safety-issue"],[929,"/docs/admin-ops/quorums#safety-issue"],[930,"/docs/admin-ops/quorums#safety-issue"],[931,"/docs/admin-ops/quorums#safety-issue"],[932,"/docs/admin-ops/quorums#safety-issue"],[933,"/docs/admin-ops/quorums#safety-issue"],[934,"/docs/admin-ops/quorums#safety-issue"],[935,"/docs/admin-ops/quorums#safety-issue"],[936,"/docs/admin-ops/quorums#safety-issue"],[937,"/docs/admin-ops/quorums#safety-issue"],[938,"/docs/admin-ops/quorums#safety-issue"],[939,"/docs/admin-ops/quorums#safety-issue"],[940,"/docs/admin-ops/quorums#safety-issue"],[899,"/docs/admin-ops/quorums#software-based-implementation"],[943,"/docs/admin-ops/quorums#software-based-implementation"],[889,"/docs/admin-ops/quorums#the-implementation-of-the-oracle"],[906,"/docs/admin-ops/quorums#the-implementation-of-the-oracle"],[900,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[944,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[945,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[946,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[947,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[948,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[949,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[950,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[951,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[952,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[953,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[954,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[955,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[956,"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle"],[958,"/docs/admin-ops/quota-guide"],[959,"/docs/admin-ops/quota-guide"],[963,"/docs/admin-ops/quota-guide"],[964,"/docs/admin-ops/quota-guide"],[965,"/docs/admin-ops/quota-guide"],[962,"/docs/admin-ops/quota-guide#deleting-quotas"],[975,"/docs/admin-ops/quota-guide#deleting-quotas"],[961,"/docs/admin-ops/quota-guide#listing-quotas"],[974,"/docs/admin-ops/quota-guide#listing-quotas"],[960,"/docs/admin-ops/quota-guide#setting-quotas"],[966,"/docs/admin-ops/quota-guide#setting-quotas"],[967,"/docs/admin-ops/quota-guide#setting-quotas"],[968,"/docs/admin-ops/quota-guide#setting-quotas"],[969,"/docs/admin-ops/quota-guide#setting-quotas"],[970,"/docs/admin-ops/quota-guide#setting-quotas"],[971,"/docs/admin-ops/quota-guide#setting-quotas"],[972,"/docs/admin-ops/quota-guide#setting-quotas"],[973,"/docs/admin-ops/quota-guide#setting-quotas"],[976,"/docs/admin-ops/snapshot-and-restore-guide"],[977,"/docs/admin-ops/snapshot-and-restore-guide"],[980,"/docs/admin-ops/snapshot-and-restore-guide"],[981,"/docs/admin-ops/snapshot-and-restore-guide"],[982,"/docs/admin-ops/snapshot-and-restore-guide"],[983,"/docs/admin-ops/snapshot-and-restore-guide"],[984,"/docs/admin-ops/snapshot-and-restore-guide"],[985,"/docs/admin-ops/snapshot-and-restore-guide"],[979,"/docs/admin-ops/snapshot-and-restore-guide#restore"],[987,"/docs/admin-ops/snapshot-and-restore-guide#restore"],[988,"/docs/admin-ops/snapshot-and-restore-guide#restore"],[989,"/docs/admin-ops/snapshot-and-restore-guide#restore"],[990,"/docs/admin-ops/snapshot-and-restore-guide#restore"],[991,"/docs/admin-ops/snapshot-and-restore-guide#restore"],[992,"/docs/admin-ops/snapshot-and-restore-guide#restore"],[978,"/docs/admin-ops/snapshot-and-restore-guide#snapshot"],[986,"/docs/admin-ops/snapshot-and-restore-guide#snapshot"],[993,"/docs/admin-ops/tools"],[994,"/docs/admin-ops/tools"],[1008,"/docs/admin-ops/tools#benchmark"],[1013,"/docs/admin-ops/tools#byteman"],[1069,"/docs/admin-ops/tools#byteman"],[1070,"/docs/admin-ops/tools#byteman"],[1071,"/docs/admin-ops/tools#byteman"],[1072,"/docs/admin-ops/tools#byteman"],[1012,"/docs/admin-ops/tools#fault-injection-framework"],[1007,"/docs/admin-ops/tools#interactive-mode"],[1039,"/docs/admin-ops/tools#interactive-mode"],[1040,"/docs/admin-ops/tools#interactive-mode"],[1041,"/docs/admin-ops/tools#interactive-mode"],[1042,"/docs/admin-ops/tools#interactive-mode"],[1043,"/docs/admin-ops/tools#interactive-mode"],[1044,"/docs/admin-ops/tools#interactive-mode"],[1045,"/docs/admin-ops/tools#interactive-mode"],[1046,"/docs/admin-ops/tools#interactive-mode"],[1047,"/docs/admin-ops/tools#interactive-mode"],[1048,"/docs/admin-ops/tools#interactive-mode"],[1049,"/docs/admin-ops/tools#interactive-mode"],[1050,"/docs/admin-ops/tools#interactive-mode"],[1014,"/docs/admin-ops/tools#jepsen-test"],[1073,"/docs/admin-ops/tools#jepsen-test"],[1074,"/docs/admin-ops/tools#jepsen-test"],[1075,"/docs/admin-ops/tools#jepsen-test"],[1076,"/docs/admin-ops/tools#jepsen-test"],[1077,"/docs/admin-ops/tools#jepsen-test"],[1004,"/docs/admin-ops/tools#locating-snapshots"],[1034,"/docs/admin-ops/tools#locating-snapshots"],[1006,"/docs/admin-ops/tools#running-the-tool"],[1036,"/docs/admin-ops/tools#running-the-tool"],[1037,"/docs/admin-ops/tools#running-the-tool"],[1038,"/docs/admin-ops/tools#running-the-tool"],[995,"/docs/admin-ops/tools#scripts"],[1005,"/docs/admin-ops/tools#supported-snapshot-formats"],[1035,"/docs/admin-ops/tools#supported-snapshot-formats"],[1011,"/docs/admin-ops/tools#testing"],[1009,"/docs/admin-ops/tools#ycsb"],[1051,"/docs/admin-ops/tools#ycsb"],[1052,"/docs/admin-ops/tools#ycsb"],[1053,"/docs/admin-ops/tools#ycsb"],[1054,"/docs/admin-ops/tools#ycsb"],[1055,"/docs/admin-ops/tools#ycsb"],[1056,"/docs/admin-ops/tools#ycsb"],[1057,"/docs/admin-ops/tools#ycsb"],[1058,"/docs/admin-ops/tools#ycsb"],[1059,"/docs/admin-ops/tools#ycsb"],[1060,"/docs/admin-ops/tools#ycsb"],[1061,"/docs/admin-ops/tools#ycsb"],[1062,"/docs/admin-ops/tools#ycsb"],[1063,"/docs/admin-ops/tools#ycsb"],[1064,"/docs/admin-ops/tools#ycsb"],[1065,"/docs/admin-ops/tools#ycsb"],[1066,"/docs/admin-ops/tools#ycsb"],[1067,"/docs/admin-ops/tools#ycsb"],[1010,"/docs/admin-ops/tools#zk-smoketest"],[1068,"/docs/admin-ops/tools#zk-smoketest"],[999,"/docs/admin-ops/tools#zkcleanupsh"],[1020,"/docs/admin-ops/tools#zkcleanupsh"],[997,"/docs/admin-ops/tools#zkclish"],[1017,"/docs/admin-ops/tools#zkclish"],[998,"/docs/admin-ops/tools#zkenvsh"],[1018,"/docs/admin-ops/tools#zkenvsh"],[1019,"/docs/admin-ops/tools#zkenvsh"],[996,"/docs/admin-ops/tools#zkserversh"],[1015,"/docs/admin-ops/tools#zkserversh"],[1016,"/docs/admin-ops/tools#zkserversh"],[1003,"/docs/admin-ops/tools#zksnapshotcomparersh"],[1030,"/docs/admin-ops/tools#zksnapshotcomparersh"],[1031,"/docs/admin-ops/tools#zksnapshotcomparersh"],[1032,"/docs/admin-ops/tools#zksnapshotcomparersh"],[1033,"/docs/admin-ops/tools#zksnapshotcomparersh"],[1002,"/docs/admin-ops/tools#zksnapshotrecursivesummarytoolkitsh"],[1029,"/docs/admin-ops/tools#zksnapshotrecursivesummarytoolkitsh"],[1001,"/docs/admin-ops/tools#zksnapshottoolkitsh"],[1028,"/docs/admin-ops/tools#zksnapshottoolkitsh"],[1000,"/docs/admin-ops/tools#zktxnlogtoolkitsh"],[1021,"/docs/admin-ops/tools#zktxnlogtoolkitsh"],[1022,"/docs/admin-ops/tools#zktxnlogtoolkitsh"],[1023,"/docs/admin-ops/tools#zktxnlogtoolkitsh"],[1024,"/docs/admin-ops/tools#zktxnlogtoolkitsh"],[1025,"/docs/admin-ops/tools#zktxnlogtoolkitsh"],[1026,"/docs/admin-ops/tools#zktxnlogtoolkitsh"],[1027,"/docs/admin-ops/tools#zktxnlogtoolkitsh"],[1078,"/docs/developer/basic-tutorial"],[1079,"/docs/developer/basic-tutorial"],[1085,"/docs/developer/basic-tutorial#barrier-test"],[1109,"/docs/developer/basic-tutorial#barrier-test"],[1081,"/docs/developer/basic-tutorial#barriers"],[1092,"/docs/developer/basic-tutorial#barriers"],[1093,"/docs/developer/basic-tutorial#barriers"],[1094,"/docs/developer/basic-tutorial#barriers"],[1095,"/docs/developer/basic-tutorial#barriers"],[1096,"/docs/developer/basic-tutorial#barriers"],[1097,"/docs/developer/basic-tutorial#barriers"],[1098,"/docs/developer/basic-tutorial#barriers"],[1099,"/docs/developer/basic-tutorial#barriers"],[1100,"/docs/developer/basic-tutorial#barriers"],[1083,"/docs/developer/basic-tutorial#complete-example"],[1106,"/docs/developer/basic-tutorial#complete-example"],[1080,"/docs/developer/basic-tutorial#introduction"],[1088,"/docs/developer/basic-tutorial#introduction"],[1089,"/docs/developer/basic-tutorial#introduction"],[1090,"/docs/developer/basic-tutorial#introduction"],[1091,"/docs/developer/basic-tutorial#introduction"],[1082,"/docs/developer/basic-tutorial#producer-consumer-queues"],[1101,"/docs/developer/basic-tutorial#producer-consumer-queues"],[1102,"/docs/developer/basic-tutorial#producer-consumer-queues"],[1103,"/docs/developer/basic-tutorial#producer-consumer-queues"],[1104,"/docs/developer/basic-tutorial#producer-consumer-queues"],[1105,"/docs/developer/basic-tutorial#producer-consumer-queues"],[1084,"/docs/developer/basic-tutorial#queue-test"],[1107,"/docs/developer/basic-tutorial#queue-test"],[1108,"/docs/developer/basic-tutorial#queue-test"],[1086,"/docs/developer/basic-tutorial#source-listing"],[1087,"/docs/developer/basic-tutorial#syncprimitivejava"],[1110,"/docs/developer/java-example"],[1111,"/docs/developer/java-example"],[1112,"/docs/developer/java-example#a-simple-watch-client"],[1120,"/docs/developer/java-example#a-simple-watch-client"],[1117,"/docs/developer/java-example#complete-source-listings"],[1119,"/docs/developer/java-example#datamonitorjava"],[1118,"/docs/developer/java-example#executorjava"],[1114,"/docs/developer/java-example#program-design"],[1130,"/docs/developer/java-example#program-design"],[1113,"/docs/developer/java-example#requirements"],[1121,"/docs/developer/java-example#requirements"],[1122,"/docs/developer/java-example#requirements"],[1123,"/docs/developer/java-example#requirements"],[1124,"/docs/developer/java-example#requirements"],[1125,"/docs/developer/java-example#requirements"],[1126,"/docs/developer/java-example#requirements"],[1127,"/docs/developer/java-example#requirements"],[1128,"/docs/developer/java-example#requirements"],[1129,"/docs/developer/java-example#requirements"],[1116,"/docs/developer/java-example#the-datamonitor-class"],[1139,"/docs/developer/java-example#the-datamonitor-class"],[1140,"/docs/developer/java-example#the-datamonitor-class"],[1141,"/docs/developer/java-example#the-datamonitor-class"],[1142,"/docs/developer/java-example#the-datamonitor-class"],[1143,"/docs/developer/java-example#the-datamonitor-class"],[1144,"/docs/developer/java-example#the-datamonitor-class"],[1145,"/docs/developer/java-example#the-datamonitor-class"],[1146,"/docs/developer/java-example#the-datamonitor-class"],[1147,"/docs/developer/java-example#the-datamonitor-class"],[1148,"/docs/developer/java-example#the-datamonitor-class"],[1115,"/docs/developer/java-example#the-executor-class"],[1131,"/docs/developer/java-example#the-executor-class"],[1132,"/docs/developer/java-example#the-executor-class"],[1133,"/docs/developer/java-example#the-executor-class"],[1134,"/docs/developer/java-example#the-executor-class"],[1135,"/docs/developer/java-example#the-executor-class"],[1136,"/docs/developer/java-example#the-executor-class"],[1137,"/docs/developer/java-example#the-executor-class"],[1138,"/docs/developer/java-example#the-executor-class"],[1350,"/docs/developer/programmers-guide"],[1351,"/docs/developer/programmers-guide"],[1353,"/docs/developer/programmers-guide"],[1354,"/docs/developer/programmers-guide"],[1355,"/docs/developer/programmers-guide"],[1149,"/docs/developer/programmers-guide/access-control-using-acls"],[1150,"/docs/developer/programmers-guide/access-control-using-acls"],[1154,"/docs/developer/programmers-guide/access-control-using-acls"],[1155,"/docs/developer/programmers-guide/access-control-using-acls"],[1156,"/docs/developer/programmers-guide/access-control-using-acls"],[1157,"/docs/developer/programmers-guide/access-control-using-acls"],[1151,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1158,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1159,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1160,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1161,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1162,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1163,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1164,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1165,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1166,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1167,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1168,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1169,"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions"],[1152,"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes"],[1170,"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes"],[1171,"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes"],[1172,"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes"],[1173,"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes"],[1174,"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes"],[1175,"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes"],[1153,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1176,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1177,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1178,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1179,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1180,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1181,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1182,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1183,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1184,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1185,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1186,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1187,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1188,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1189,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1190,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1191,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1192,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1193,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1194,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1195,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1196,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1197,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1198,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1199,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1200,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1201,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1202,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1203,"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api"],[1204,"/docs/developer/programmers-guide/bindings"],[1205,"/docs/developer/programmers-guide/bindings"],[1211,"/docs/developer/programmers-guide/bindings"],[1210,"/docs/developer/programmers-guide/bindings#building-your-own-c-client"],[1252,"/docs/developer/programmers-guide/bindings#building-your-own-c-client"],[1253,"/docs/developer/programmers-guide/bindings#building-your-own-c-client"],[1254,"/docs/developer/programmers-guide/bindings#building-your-own-c-client"],[1255,"/docs/developer/programmers-guide/bindings#building-your-own-c-client"],[1256,"/docs/developer/programmers-guide/bindings#building-your-own-c-client"],[1208,"/docs/developer/programmers-guide/bindings#c-binding"],[1239,"/docs/developer/programmers-guide/bindings#c-binding"],[1240,"/docs/developer/programmers-guide/bindings#c-binding"],[1207,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1219,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1220,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1221,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1222,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1223,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1224,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1225,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1226,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1227,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1228,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1229,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1230,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1231,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1232,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1233,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1234,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1235,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1236,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1237,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1238,"/docs/developer/programmers-guide/bindings#client-configuration-parameters"],[1209,"/docs/developer/programmers-guide/bindings#installation"],[1241,"/docs/developer/programmers-guide/bindings#installation"],[1242,"/docs/developer/programmers-guide/bindings#installation"],[1243,"/docs/developer/programmers-guide/bindings#installation"],[1244,"/docs/developer/programmers-guide/bindings#installation"],[1245,"/docs/developer/programmers-guide/bindings#installation"],[1246,"/docs/developer/programmers-guide/bindings#installation"],[1247,"/docs/developer/programmers-guide/bindings#installation"],[1248,"/docs/developer/programmers-guide/bindings#installation"],[1249,"/docs/developer/programmers-guide/bindings#installation"],[1250,"/docs/developer/programmers-guide/bindings#installation"],[1251,"/docs/developer/programmers-guide/bindings#installation"],[1206,"/docs/developer/programmers-guide/bindings#java-binding"],[1212,"/docs/developer/programmers-guide/bindings#java-binding"],[1213,"/docs/developer/programmers-guide/bindings#java-binding"],[1214,"/docs/developer/programmers-guide/bindings#java-binding"],[1215,"/docs/developer/programmers-guide/bindings#java-binding"],[1216,"/docs/developer/programmers-guide/bindings#java-binding"],[1217,"/docs/developer/programmers-guide/bindings#java-binding"],[1218,"/docs/developer/programmers-guide/bindings#java-binding"],[1257,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1258,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1261,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations"],[1260,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1263,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1264,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1265,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1266,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1267,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1268,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1269,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1270,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1271,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1272,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1273,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1274,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1275,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1276,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper"],[1259,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#handling-errors"],[1262,"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#handling-errors"],[1277,"/docs/developer/programmers-guide/consistency-guarantees"],[1278,"/docs/developer/programmers-guide/consistency-guarantees"],[1279,"/docs/developer/programmers-guide/consistency-guarantees"],[1280,"/docs/developer/programmers-guide/consistency-guarantees"],[1281,"/docs/developer/programmers-guide/consistency-guarantees"],[1282,"/docs/developer/programmers-guide/consistency-guarantees"],[1283,"/docs/developer/programmers-guide/consistency-guarantees"],[1284,"/docs/developer/programmers-guide/consistency-guarantees"],[1285,"/docs/developer/programmers-guide/consistency-guarantees"],[1286,"/docs/developer/programmers-guide/consistency-guarantees"],[1287,"/docs/developer/programmers-guide/consistency-guarantees"],[1288,"/docs/developer/programmers-guide/consistency-guarantees"],[1289,"/docs/developer/programmers-guide/consistency-guarantees"],[1290,"/docs/developer/programmers-guide/data-model"],[1291,"/docs/developer/programmers-guide/data-model"],[1304,"/docs/developer/programmers-guide/data-model"],[1305,"/docs/developer/programmers-guide/data-model"],[1306,"/docs/developer/programmers-guide/data-model"],[1307,"/docs/developer/programmers-guide/data-model"],[1308,"/docs/developer/programmers-guide/data-model"],[1309,"/docs/developer/programmers-guide/data-model"],[1310,"/docs/developer/programmers-guide/data-model"],[1299,"/docs/developer/programmers-guide/data-model#added-in-353"],[1321,"/docs/developer/programmers-guide/data-model#added-in-353"],[1322,"/docs/developer/programmers-guide/data-model#added-in-353"],[1301,"/docs/developer/programmers-guide/data-model#added-in-353-1"],[1323,"/docs/developer/programmers-guide/data-model#added-in-353-1"],[1324,"/docs/developer/programmers-guide/data-model#added-in-353-1"],[1298,"/docs/developer/programmers-guide/data-model#container-nodes"],[1294,"/docs/developer/programmers-guide/data-model#data-access"],[1316,"/docs/developer/programmers-guide/data-model#data-access"],[1317,"/docs/developer/programmers-guide/data-model#data-access"],[1295,"/docs/developer/programmers-guide/data-model#ephemeral-nodes"],[1318,"/docs/developer/programmers-guide/data-model#ephemeral-nodes"],[1296,"/docs/developer/programmers-guide/data-model#getephemerals"],[1319,"/docs/developer/programmers-guide/data-model#getephemerals"],[1297,"/docs/developer/programmers-guide/data-model#sequence-nodes--unique-naming"],[1320,"/docs/developer/programmers-guide/data-model#sequence-nodes--unique-naming"],[1302,"/docs/developer/programmers-guide/data-model#time-in-zookeeper"],[1325,"/docs/developer/programmers-guide/data-model#time-in-zookeeper"],[1326,"/docs/developer/programmers-guide/data-model#time-in-zookeeper"],[1327,"/docs/developer/programmers-guide/data-model#time-in-zookeeper"],[1328,"/docs/developer/programmers-guide/data-model#time-in-zookeeper"],[1329,"/docs/developer/programmers-guide/data-model#time-in-zookeeper"],[1300,"/docs/developer/programmers-guide/data-model#ttl-nodes"],[1293,"/docs/developer/programmers-guide/data-model#watches"],[1315,"/docs/developer/programmers-guide/data-model#watches"],[1292,"/docs/developer/programmers-guide/data-model#znodes"],[1311,"/docs/developer/programmers-guide/data-model#znodes"],[1312,"/docs/developer/programmers-guide/data-model#znodes"],[1313,"/docs/developer/programmers-guide/data-model#znodes"],[1314,"/docs/developer/programmers-guide/data-model#znodes"],[1303,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1330,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1331,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1332,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1333,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1334,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1335,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1336,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1337,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1338,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1339,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1340,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1341,"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure"],[1342,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1343,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1344,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1345,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1346,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1347,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1348,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1349,"/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting"],[1362,"/docs/developer/programmers-guide/pluggable-authentication"],[1363,"/docs/developer/programmers-guide/pluggable-authentication"],[1364,"/docs/developer/programmers-guide/pluggable-authentication"],[1365,"/docs/developer/programmers-guide/pluggable-authentication"],[1366,"/docs/developer/programmers-guide/pluggable-authentication"],[1367,"/docs/developer/programmers-guide/pluggable-authentication"],[1368,"/docs/developer/programmers-guide/pluggable-authentication"],[1369,"/docs/developer/programmers-guide/pluggable-authentication"],[1370,"/docs/developer/programmers-guide/pluggable-authentication"],[1371,"/docs/developer/programmers-guide/pluggable-authentication"],[1372,"/docs/developer/programmers-guide/pluggable-authentication"],[1373,"/docs/developer/programmers-guide/pluggable-authentication"],[1374,"/docs/developer/programmers-guide/pluggable-authentication"],[1375,"/docs/developer/programmers-guide/pluggable-authentication"],[1376,"/docs/developer/programmers-guide/pluggable-authentication"],[1377,"/docs/developer/programmers-guide/pluggable-authentication"],[1378,"/docs/developer/programmers-guide/pluggable-authentication"],[1379,"/docs/developer/programmers-guide/sessions"],[1380,"/docs/developer/programmers-guide/sessions"],[1382,"/docs/developer/programmers-guide/sessions"],[1383,"/docs/developer/programmers-guide/sessions"],[1384,"/docs/developer/programmers-guide/sessions"],[1385,"/docs/developer/programmers-guide/sessions"],[1386,"/docs/developer/programmers-guide/sessions"],[1387,"/docs/developer/programmers-guide/sessions"],[1388,"/docs/developer/programmers-guide/sessions"],[1389,"/docs/developer/programmers-guide/sessions"],[1390,"/docs/developer/programmers-guide/sessions"],[1391,"/docs/developer/programmers-guide/sessions"],[1392,"/docs/developer/programmers-guide/sessions"],[1393,"/docs/developer/programmers-guide/sessions"],[1394,"/docs/developer/programmers-guide/sessions"],[1395,"/docs/developer/programmers-guide/sessions"],[1396,"/docs/developer/programmers-guide/sessions"],[1397,"/docs/developer/programmers-guide/sessions"],[1398,"/docs/developer/programmers-guide/sessions"],[1399,"/docs/developer/programmers-guide/sessions"],[1400,"/docs/developer/programmers-guide/sessions"],[1401,"/docs/developer/programmers-guide/sessions"],[1402,"/docs/developer/programmers-guide/sessions"],[1403,"/docs/developer/programmers-guide/sessions"],[1404,"/docs/developer/programmers-guide/sessions"],[1405,"/docs/developer/programmers-guide/sessions"],[1406,"/docs/developer/programmers-guide/sessions"],[1407,"/docs/developer/programmers-guide/sessions"],[1408,"/docs/developer/programmers-guide/sessions"],[1409,"/docs/developer/programmers-guide/sessions"],[1410,"/docs/developer/programmers-guide/sessions"],[1411,"/docs/developer/programmers-guide/sessions"],[1412,"/docs/developer/programmers-guide/sessions"],[1413,"/docs/developer/programmers-guide/sessions"],[1414,"/docs/developer/programmers-guide/sessions"],[1415,"/docs/developer/programmers-guide/sessions"],[1416,"/docs/developer/programmers-guide/sessions"],[1417,"/docs/developer/programmers-guide/sessions"],[1418,"/docs/developer/programmers-guide/sessions"],[1381,"/docs/developer/programmers-guide/sessions#qa-toc"],[1419,"/docs/developer/programmers-guide/sessions#qa-toc"],[1420,"/docs/developer/programmers-guide/sessions#qa-toc"],[1421,"/docs/developer/programmers-guide/sessions#qa-toc"],[1422,"/docs/developer/programmers-guide/sessions#qa-toc"],[1423,"/docs/developer/programmers-guide/sessions#qa-toc"],[1424,"/docs/developer/programmers-guide/sessions#qa-toc"],[1425,"/docs/developer/programmers-guide/watches"],[1426,"/docs/developer/programmers-guide/watches"],[1432,"/docs/developer/programmers-guide/watches"],[1433,"/docs/developer/programmers-guide/watches"],[1434,"/docs/developer/programmers-guide/watches"],[1435,"/docs/developer/programmers-guide/watches"],[1436,"/docs/developer/programmers-guide/watches"],[1437,"/docs/developer/programmers-guide/watches"],[1428,"/docs/developer/programmers-guide/watches#persistent-recursive-watches"],[1443,"/docs/developer/programmers-guide/watches#persistent-recursive-watches"],[1444,"/docs/developer/programmers-guide/watches#persistent-recursive-watches"],[1429,"/docs/developer/programmers-guide/watches#remove-watches"],[1445,"/docs/developer/programmers-guide/watches#remove-watches"],[1446,"/docs/developer/programmers-guide/watches#remove-watches"],[1447,"/docs/developer/programmers-guide/watches#remove-watches"],[1448,"/docs/developer/programmers-guide/watches#remove-watches"],[1427,"/docs/developer/programmers-guide/watches#semantics-of-watches"],[1438,"/docs/developer/programmers-guide/watches#semantics-of-watches"],[1439,"/docs/developer/programmers-guide/watches#semantics-of-watches"],[1440,"/docs/developer/programmers-guide/watches#semantics-of-watches"],[1441,"/docs/developer/programmers-guide/watches#semantics-of-watches"],[1442,"/docs/developer/programmers-guide/watches#semantics-of-watches"],[1431,"/docs/developer/programmers-guide/watches#things-to-remember-about-watches"],[1453,"/docs/developer/programmers-guide/watches#things-to-remember-about-watches"],[1454,"/docs/developer/programmers-guide/watches#things-to-remember-about-watches"],[1455,"/docs/developer/programmers-guide/watches#things-to-remember-about-watches"],[1456,"/docs/developer/programmers-guide/watches#things-to-remember-about-watches"],[1430,"/docs/developer/programmers-guide/watches#what-zookeeper-guarantees-about-watches"],[1449,"/docs/developer/programmers-guide/watches#what-zookeeper-guarantees-about-watches"],[1450,"/docs/developer/programmers-guide/watches#what-zookeeper-guarantees-about-watches"],[1451,"/docs/developer/programmers-guide/watches#what-zookeeper-guarantees-about-watches"],[1452,"/docs/developer/programmers-guide/watches#what-zookeeper-guarantees-about-watches"],[1352,"/docs/developer/programmers-guide#links-to-other-information"],[1356,"/docs/developer/programmers-guide#links-to-other-information"],[1357,"/docs/developer/programmers-guide#links-to-other-information"],[1358,"/docs/developer/programmers-guide#links-to-other-information"],[1359,"/docs/developer/programmers-guide#links-to-other-information"],[1360,"/docs/developer/programmers-guide#links-to-other-information"],[1361,"/docs/developer/programmers-guide#links-to-other-information"],[1457,"/docs/developer/recipes"],[1458,"/docs/developer/recipes"],[1459,"/docs/developer/recipes#a-guide-to-creating-higher-level-constructs-with-zookeeper"],[1472,"/docs/developer/recipes#a-guide-to-creating-higher-level-constructs-with-zookeeper"],[1473,"/docs/developer/recipes#a-guide-to-creating-higher-level-constructs-with-zookeeper"],[1474,"/docs/developer/recipes#a-guide-to-creating-higher-level-constructs-with-zookeeper"],[1475,"/docs/developer/recipes#a-guide-to-creating-higher-level-constructs-with-zookeeper"],[1462,"/docs/developer/recipes#barriers"],[1479,"/docs/developer/recipes#barriers"],[1480,"/docs/developer/recipes#barriers"],[1481,"/docs/developer/recipes#barriers"],[1482,"/docs/developer/recipes#barriers"],[1483,"/docs/developer/recipes#barriers"],[1463,"/docs/developer/recipes#double-barriers"],[1484,"/docs/developer/recipes#double-barriers"],[1485,"/docs/developer/recipes#double-barriers"],[1486,"/docs/developer/recipes#double-barriers"],[1487,"/docs/developer/recipes#double-barriers"],[1488,"/docs/developer/recipes#double-barriers"],[1489,"/docs/developer/recipes#double-barriers"],[1490,"/docs/developer/recipes#double-barriers"],[1491,"/docs/developer/recipes#double-barriers"],[1492,"/docs/developer/recipes#double-barriers"],[1493,"/docs/developer/recipes#double-barriers"],[1494,"/docs/developer/recipes#double-barriers"],[1495,"/docs/developer/recipes#double-barriers"],[1496,"/docs/developer/recipes#double-barriers"],[1497,"/docs/developer/recipes#double-barriers"],[1498,"/docs/developer/recipes#double-barriers"],[1499,"/docs/developer/recipes#double-barriers"],[1500,"/docs/developer/recipes#double-barriers"],[1501,"/docs/developer/recipes#double-barriers"],[1502,"/docs/developer/recipes#double-barriers"],[1460,"/docs/developer/recipes#important-note-about-error-handling"],[1476,"/docs/developer/recipes#important-note-about-error-handling"],[1471,"/docs/developer/recipes#leader-election"],[1548,"/docs/developer/recipes#leader-election"],[1549,"/docs/developer/recipes#leader-election"],[1550,"/docs/developer/recipes#leader-election"],[1551,"/docs/developer/recipes#leader-election"],[1552,"/docs/developer/recipes#leader-election"],[1553,"/docs/developer/recipes#leader-election"],[1554,"/docs/developer/recipes#leader-election"],[1555,"/docs/developer/recipes#leader-election"],[1556,"/docs/developer/recipes#leader-election"],[1557,"/docs/developer/recipes#leader-election"],[1558,"/docs/developer/recipes#leader-election"],[1559,"/docs/developer/recipes#leader-election"],[1560,"/docs/developer/recipes#leader-election"],[1561,"/docs/developer/recipes#leader-election"],[1466,"/docs/developer/recipes#locks"],[1507,"/docs/developer/recipes#locks"],[1508,"/docs/developer/recipes#locks"],[1509,"/docs/developer/recipes#locks"],[1510,"/docs/developer/recipes#locks"],[1511,"/docs/developer/recipes#locks"],[1512,"/docs/developer/recipes#locks"],[1513,"/docs/developer/recipes#locks"],[1514,"/docs/developer/recipes#locks"],[1515,"/docs/developer/recipes#locks"],[1516,"/docs/developer/recipes#locks"],[1517,"/docs/developer/recipes#locks"],[1518,"/docs/developer/recipes#locks"],[1519,"/docs/developer/recipes#locks"],[1520,"/docs/developer/recipes#locks"],[1461,"/docs/developer/recipes#out-of-the-box-applications-name-service-configuration-group-membership"],[1477,"/docs/developer/recipes#out-of-the-box-applications-name-service-configuration-group-membership"],[1478,"/docs/developer/recipes#out-of-the-box-applications-name-service-configuration-group-membership"],[1465,"/docs/developer/recipes#priority-queues"],[1506,"/docs/developer/recipes#priority-queues"],[1464,"/docs/developer/recipes#queues"],[1503,"/docs/developer/recipes#queues"],[1504,"/docs/developer/recipes#queues"],[1505,"/docs/developer/recipes#queues"],[1467,"/docs/developer/recipes#recoverable-errors-and-the-guid"],[1521,"/docs/developer/recipes#recoverable-errors-and-the-guid"],[1469,"/docs/developer/recipes#revocable-shared-locks"],[1539,"/docs/developer/recipes#revocable-shared-locks"],[1540,"/docs/developer/recipes#revocable-shared-locks"],[1541,"/docs/developer/recipes#revocable-shared-locks"],[1468,"/docs/developer/recipes#shared-locks"],[1522,"/docs/developer/recipes#shared-locks"],[1523,"/docs/developer/recipes#shared-locks"],[1524,"/docs/developer/recipes#shared-locks"],[1525,"/docs/developer/recipes#shared-locks"],[1526,"/docs/developer/recipes#shared-locks"],[1527,"/docs/developer/recipes#shared-locks"],[1528,"/docs/developer/recipes#shared-locks"],[1529,"/docs/developer/recipes#shared-locks"],[1530,"/docs/developer/recipes#shared-locks"],[1531,"/docs/developer/recipes#shared-locks"],[1532,"/docs/developer/recipes#shared-locks"],[1533,"/docs/developer/recipes#shared-locks"],[1534,"/docs/developer/recipes#shared-locks"],[1535,"/docs/developer/recipes#shared-locks"],[1536,"/docs/developer/recipes#shared-locks"],[1537,"/docs/developer/recipes#shared-locks"],[1538,"/docs/developer/recipes#shared-locks"],[1470,"/docs/developer/recipes#two-phased-commit"],[1542,"/docs/developer/recipes#two-phased-commit"],[1543,"/docs/developer/recipes#two-phased-commit"],[1544,"/docs/developer/recipes#two-phased-commit"],[1545,"/docs/developer/recipes#two-phased-commit"],[1546,"/docs/developer/recipes#two-phased-commit"],[1547,"/docs/developer/recipes#two-phased-commit"],[1562,"/docs/developer/use-cases"],[1563,"/docs/developer/use-cases"],[1624,"/docs/developer/use-cases"],[1625,"/docs/developer/use-cases"],[1626,"/docs/developer/use-cases"],[1565,"/docs/developer/use-cases#adroitlogic-ultraesb"],[1627,"/docs/developer/use-cases#adroitlogic-ultraesb"],[1607,"/docs/developer/use-cases#ageto"],[1720,"/docs/developer/use-cases#ageto"],[1566,"/docs/developer/use-cases#akka"],[1628,"/docs/developer/use-cases#akka"],[1581,"/docs/developer/use-cases#apache-accumulo"],[1649,"/docs/developer/use-cases#apache-accumulo"],[1650,"/docs/developer/use-cases#apache-accumulo"],[1582,"/docs/developer/use-cases#apache-atlas"],[1651,"/docs/developer/use-cases#apache-atlas"],[1652,"/docs/developer/use-cases#apache-atlas"],[1583,"/docs/developer/use-cases#apache-bookkeeper"],[1653,"/docs/developer/use-cases#apache-bookkeeper"],[1654,"/docs/developer/use-cases#apache-bookkeeper"],[1584,"/docs/developer/use-cases#apache-cxf-dosgi"],[1655,"/docs/developer/use-cases#apache-cxf-dosgi"],[1656,"/docs/developer/use-cases#apache-cxf-dosgi"],[1585,"/docs/developer/use-cases#apache-drill"],[1657,"/docs/developer/use-cases#apache-drill"],[1658,"/docs/developer/use-cases#apache-drill"],[1586,"/docs/developer/use-cases#apache-druid"],[1659,"/docs/developer/use-cases#apache-druid"],[1660,"/docs/developer/use-cases#apache-druid"],[1661,"/docs/developer/use-cases#apache-druid"],[1662,"/docs/developer/use-cases#apache-druid"],[1663,"/docs/developer/use-cases#apache-druid"],[1664,"/docs/developer/use-cases#apache-druid"],[1665,"/docs/developer/use-cases#apache-druid"],[1587,"/docs/developer/use-cases#apache-dubbo"],[1666,"/docs/developer/use-cases#apache-dubbo"],[1667,"/docs/developer/use-cases#apache-dubbo"],[1588,"/docs/developer/use-cases#apache-flink"],[1668,"/docs/developer/use-cases#apache-flink"],[1669,"/docs/developer/use-cases#apache-flink"],[1589,"/docs/developer/use-cases#apache-flume"],[1670,"/docs/developer/use-cases#apache-flume"],[1671,"/docs/developer/use-cases#apache-flume"],[1590,"/docs/developer/use-cases#apache-fluo"],[1672,"/docs/developer/use-cases#apache-fluo"],[1673,"/docs/developer/use-cases#apache-fluo"],[1591,"/docs/developer/use-cases#apache-griffin"],[1674,"/docs/developer/use-cases#apache-griffin"],[1675,"/docs/developer/use-cases#apache-griffin"],[1592,"/docs/developer/use-cases#apache-hadoop"],[1676,"/docs/developer/use-cases#apache-hadoop"],[1677,"/docs/developer/use-cases#apache-hadoop"],[1678,"/docs/developer/use-cases#apache-hadoop"],[1679,"/docs/developer/use-cases#apache-hadoop"],[1680,"/docs/developer/use-cases#apache-hadoop"],[1681,"/docs/developer/use-cases#apache-hadoop"],[1682,"/docs/developer/use-cases#apache-hadoop"],[1683,"/docs/developer/use-cases#apache-hadoop"],[1593,"/docs/developer/use-cases#apache-hbase"],[1684,"/docs/developer/use-cases#apache-hbase"],[1685,"/docs/developer/use-cases#apache-hbase"],[1686,"/docs/developer/use-cases#apache-hbase"],[1594,"/docs/developer/use-cases#apache-helix"],[1687,"/docs/developer/use-cases#apache-helix"],[1688,"/docs/developer/use-cases#apache-helix"],[1689,"/docs/developer/use-cases#apache-helix"],[1690,"/docs/developer/use-cases#apache-helix"],[1691,"/docs/developer/use-cases#apache-helix"],[1595,"/docs/developer/use-cases#apache-hive"],[1692,"/docs/developer/use-cases#apache-hive"],[1693,"/docs/developer/use-cases#apache-hive"],[1596,"/docs/developer/use-cases#apache-ignite"],[1694,"/docs/developer/use-cases#apache-ignite"],[1695,"/docs/developer/use-cases#apache-ignite"],[1597,"/docs/developer/use-cases#apache-james-mailbox"],[1696,"/docs/developer/use-cases#apache-james-mailbox"],[1697,"/docs/developer/use-cases#apache-james-mailbox"],[1598,"/docs/developer/use-cases#apache-kafka"],[1698,"/docs/developer/use-cases#apache-kafka"],[1699,"/docs/developer/use-cases#apache-kafka"],[1700,"/docs/developer/use-cases#apache-kafka"],[1701,"/docs/developer/use-cases#apache-kafka"],[1702,"/docs/developer/use-cases#apache-kafka"],[1703,"/docs/developer/use-cases#apache-kafka"],[1599,"/docs/developer/use-cases#apache-kylin"],[1704,"/docs/developer/use-cases#apache-kylin"],[1705,"/docs/developer/use-cases#apache-kylin"],[1600,"/docs/developer/use-cases#apache-mesos"],[1706,"/docs/developer/use-cases#apache-mesos"],[1707,"/docs/developer/use-cases#apache-mesos"],[1601,"/docs/developer/use-cases#apache-oozie"],[1708,"/docs/developer/use-cases#apache-oozie"],[1709,"/docs/developer/use-cases#apache-oozie"],[1580,"/docs/developer/use-cases#apache-projects"],[1602,"/docs/developer/use-cases#apache-pulsar"],[1710,"/docs/developer/use-cases#apache-pulsar"],[1711,"/docs/developer/use-cases#apache-pulsar"],[1712,"/docs/developer/use-cases#apache-pulsar"],[1713,"/docs/developer/use-cases#apache-pulsar"],[1603,"/docs/developer/use-cases#apache-solr"],[1714,"/docs/developer/use-cases#apache-solr"],[1715,"/docs/developer/use-cases#apache-solr"],[1604,"/docs/developer/use-cases#apache-spark"],[1716,"/docs/developer/use-cases#apache-spark"],[1717,"/docs/developer/use-cases#apache-spark"],[1605,"/docs/developer/use-cases#apache-storm"],[1718,"/docs/developer/use-cases#apache-storm"],[1719,"/docs/developer/use-cases#apache-storm"],[1608,"/docs/developer/use-cases#benipal-technologies"],[1721,"/docs/developer/use-cases#benipal-technologies"],[1609,"/docs/developer/use-cases#box"],[1722,"/docs/developer/use-cases#box"],[1606,"/docs/developer/use-cases#companies"],[1610,"/docs/developer/use-cases#deepdyve"],[1723,"/docs/developer/use-cases#deepdyve"],[1567,"/docs/developer/use-cases#eclipse-communication-framework"],[1629,"/docs/developer/use-cases#eclipse-communication-framework"],[1568,"/docs/developer/use-cases#eclipse-gyrex"],[1630,"/docs/developer/use-cases#eclipse-gyrex"],[1631,"/docs/developer/use-cases#eclipse-gyrex"],[1611,"/docs/developer/use-cases#facebook"],[1724,"/docs/developer/use-cases#facebook"],[1564,"/docs/developer/use-cases#free-software-projects"],[1569,"/docs/developer/use-cases#goldenorb"],[1632,"/docs/developer/use-cases#goldenorb"],[1612,"/docs/developer/use-cases#idium-portal"],[1725,"/docs/developer/use-cases#idium-portal"],[1726,"/docs/developer/use-cases#idium-portal"],[1570,"/docs/developer/use-cases#juju"],[1633,"/docs/developer/use-cases#juju"],[1571,"/docs/developer/use-cases#katta"],[1634,"/docs/developer/use-cases#katta"],[1635,"/docs/developer/use-cases#katta"],[1572,"/docs/developer/use-cases#keptcollections"],[1636,"/docs/developer/use-cases#keptcollections"],[1637,"/docs/developer/use-cases#keptcollections"],[1613,"/docs/developer/use-cases#makara"],[1727,"/docs/developer/use-cases#makara"],[1728,"/docs/developer/use-cases#makara"],[1729,"/docs/developer/use-cases#makara"],[1614,"/docs/developer/use-cases#midokura"],[1730,"/docs/developer/use-cases#midokura"],[1573,"/docs/developer/use-cases#neo4j"],[1638,"/docs/developer/use-cases#neo4j"],[1639,"/docs/developer/use-cases#neo4j"],[1574,"/docs/developer/use-cases#norbert"],[1640,"/docs/developer/use-cases#norbert"],[1615,"/docs/developer/use-cases#pinterest"],[1731,"/docs/developer/use-cases#pinterest"],[1616,"/docs/developer/use-cases#rackspace"],[1732,"/docs/developer/use-cases#rackspace"],[1579,"/docs/developer/use-cases#redis_failover"],[1648,"/docs/developer/use-cases#redis_failover"],[1617,"/docs/developer/use-cases#sematext"],[1733,"/docs/developer/use-cases#sematext"],[1575,"/docs/developer/use-cases#spring-cloud-zookeeper"],[1641,"/docs/developer/use-cases#spring-cloud-zookeeper"],[1576,"/docs/developer/use-cases#spring-statemachine"],[1642,"/docs/developer/use-cases#spring-statemachine"],[1643,"/docs/developer/use-cases#spring-statemachine"],[1577,"/docs/developer/use-cases#spring-xd"],[1644,"/docs/developer/use-cases#spring-xd"],[1645,"/docs/developer/use-cases#spring-xd"],[1578,"/docs/developer/use-cases#talend-esb"],[1646,"/docs/developer/use-cases#talend-esb"],[1647,"/docs/developer/use-cases#talend-esb"],[1618,"/docs/developer/use-cases#tubemogul"],[1734,"/docs/developer/use-cases#tubemogul"],[1619,"/docs/developer/use-cases#twitter"],[1735,"/docs/developer/use-cases#twitter"],[1736,"/docs/developer/use-cases#twitter"],[1737,"/docs/developer/use-cases#twitter"],[1738,"/docs/developer/use-cases#twitter"],[1739,"/docs/developer/use-cases#twitter"],[1620,"/docs/developer/use-cases#vastcom"],[1740,"/docs/developer/use-cases#vastcom"],[1621,"/docs/developer/use-cases#wealthfront"],[1741,"/docs/developer/use-cases#wealthfront"],[1622,"/docs/developer/use-cases#yahoo"],[1742,"/docs/developer/use-cases#yahoo"],[1623,"/docs/developer/use-cases#zynga"],[1743,"/docs/developer/use-cases#zynga"],[1744,"/docs/developer/use-cases#zynga"],[1745,"/docs/developer/use-cases#zynga"],[1746,"/docs/developer/use-cases#zynga"],[1747,"/docs/developer/use-cases#zynga"],[1748,"/docs/developer/use-cases#zynga"],[1749,"/docs/developer/use-cases#zynga"],[1750,"/docs/developer/use-cases#zynga"],[1751,"/docs/developer/use-cases#zynga"],[1752,"/docs/developer/use-cases#zynga"],[1753,"/docs/developer/use-cases#zynga"],[1754,"/docs/developer/use-cases#zynga"],[1755,"/docs/developer/use-cases#zynga"],[1756,"/docs/developer/use-cases#zynga"],[1757,"/docs/developer/use-cases#zynga"],[1758,"/docs/developer/use-cases#zynga"],[1759,"/docs/developer/use-cases#zynga"],[1760,"/docs/developer/use-cases#zynga"],[1761,"/docs/developer/use-cases#zynga"],[1762,"/docs/developer/use-cases#zynga"],[1763,"/docs/developer/use-cases#zynga"],[1764,"/docs/developer/use-cases#zynga"],[1765,"/docs/developer/use-cases#zynga"],[1766,"/docs/developer/use-cases#zynga"],[1767,"/docs/developer/use-cases#zynga"],[1768,"/docs/developer/use-cases#zynga"],[1769,"/docs/developer/use-cases#zynga"],[1770,"/docs/developer/use-cases#zynga"],[1771,"/docs/developer/use-cases#zynga"],[1772,"/docs/developer/use-cases#zynga"],[1773,"/docs/developer/use-cases#zynga"],[1774,"/docs/developer/use-cases#zynga"],[1775,"/docs/developer/use-cases#zynga"],[1776,"/docs/developer/use-cases#zynga"],[1777,"/docs/developer/use-cases#zynga"],[1778,"/docs/developer/use-cases#zynga"],[1779,"/docs/developer/use-cases#zynga"],[1780,"/docs/developer/use-cases#zynga"],[1781,"/docs/developer/use-cases#zynga"],[1848,"/docs/miscellaneous/internals"],[1849,"/docs/miscellaneous/internals"],[1853,"/docs/miscellaneous/internals#active-messaging"],[1896,"/docs/miscellaneous/internals#active-messaging"],[1897,"/docs/miscellaneous/internals#active-messaging"],[1898,"/docs/miscellaneous/internals#active-messaging"],[1899,"/docs/miscellaneous/internals#active-messaging"],[1900,"/docs/miscellaneous/internals#active-messaging"],[1901,"/docs/miscellaneous/internals#active-messaging"],[1902,"/docs/miscellaneous/internals#active-messaging"],[1850,"/docs/miscellaneous/internals#atomic-broadcast"],[1862,"/docs/miscellaneous/internals#atomic-broadcast"],[1855,"/docs/miscellaneous/internals#comparisons"],[1904,"/docs/miscellaneous/internals#comparisons"],[1905,"/docs/miscellaneous/internals#comparisons"],[1856,"/docs/miscellaneous/internals#consistency-guarantees"],[1906,"/docs/miscellaneous/internals#consistency-guarantees"],[1907,"/docs/miscellaneous/internals#consistency-guarantees"],[1908,"/docs/miscellaneous/internals#consistency-guarantees"],[1909,"/docs/miscellaneous/internals#consistency-guarantees"],[1910,"/docs/miscellaneous/internals#consistency-guarantees"],[1859,"/docs/miscellaneous/internals#developer-guidelines"],[1916,"/docs/miscellaneous/internals#developer-guidelines"],[1851,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1863,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1864,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1865,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1866,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1867,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1868,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1869,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1870,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1871,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1872,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1873,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1874,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1875,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1876,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1877,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1878,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1879,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1880,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1881,"/docs/miscellaneous/internals#guarantees-properties-and-definitions"],[1852,"/docs/miscellaneous/internals#leader-activation"],[1882,"/docs/miscellaneous/internals#leader-activation"],[1883,"/docs/miscellaneous/internals#leader-activation"],[1884,"/docs/miscellaneous/internals#leader-activation"],[1885,"/docs/miscellaneous/internals#leader-activation"],[1886,"/docs/miscellaneous/internals#leader-activation"],[1887,"/docs/miscellaneous/internals#leader-activation"],[1888,"/docs/miscellaneous/internals#leader-activation"],[1889,"/docs/miscellaneous/internals#leader-activation"],[1890,"/docs/miscellaneous/internals#leader-activation"],[1891,"/docs/miscellaneous/internals#leader-activation"],[1892,"/docs/miscellaneous/internals#leader-activation"],[1893,"/docs/miscellaneous/internals#leader-activation"],[1894,"/docs/miscellaneous/internals#leader-activation"],[1895,"/docs/miscellaneous/internals#leader-activation"],[1858,"/docs/miscellaneous/internals#logging"],[1915,"/docs/miscellaneous/internals#logging"],[1860,"/docs/miscellaneous/internals#logging-at-the-right-level"],[1917,"/docs/miscellaneous/internals#logging-at-the-right-level"],[1918,"/docs/miscellaneous/internals#logging-at-the-right-level"],[1919,"/docs/miscellaneous/internals#logging-at-the-right-level"],[1920,"/docs/miscellaneous/internals#logging-at-the-right-level"],[1921,"/docs/miscellaneous/internals#logging-at-the-right-level"],[1922,"/docs/miscellaneous/internals#logging-at-the-right-level"],[1923,"/docs/miscellaneous/internals#logging-at-the-right-level"],[1857,"/docs/miscellaneous/internals#quorums"],[1911,"/docs/miscellaneous/internals#quorums"],[1912,"/docs/miscellaneous/internals#quorums"],[1913,"/docs/miscellaneous/internals#quorums"],[1914,"/docs/miscellaneous/internals#quorums"],[1854,"/docs/miscellaneous/internals#summary"],[1903,"/docs/miscellaneous/internals#summary"],[1861,"/docs/miscellaneous/internals#use-of-standard-slf4j-idioms"],[1924,"/docs/miscellaneous/internals#use-of-standard-slf4j-idioms"],[1925,"/docs/miscellaneous/internals#use-of-standard-slf4j-idioms"],[1926,"/docs/miscellaneous/internals#use-of-standard-slf4j-idioms"],[1927,"/docs/miscellaneous/internals#use-of-standard-slf4j-idioms"],[1928,"/docs/overview/quick-start"],[1929,"/docs/overview/quick-start"],[1935,"/docs/overview/quick-start#connecting-to-zookeeper"],[1953,"/docs/overview/quick-start#connecting-to-zookeeper"],[1954,"/docs/overview/quick-start#connecting-to-zookeeper"],[1955,"/docs/overview/quick-start#connecting-to-zookeeper"],[1956,"/docs/overview/quick-start#connecting-to-zookeeper"],[1957,"/docs/overview/quick-start#connecting-to-zookeeper"],[1958,"/docs/overview/quick-start#connecting-to-zookeeper"],[1959,"/docs/overview/quick-start#connecting-to-zookeeper"],[1960,"/docs/overview/quick-start#connecting-to-zookeeper"],[1961,"/docs/overview/quick-start#connecting-to-zookeeper"],[1962,"/docs/overview/quick-start#connecting-to-zookeeper"],[1963,"/docs/overview/quick-start#connecting-to-zookeeper"],[1964,"/docs/overview/quick-start#connecting-to-zookeeper"],[1965,"/docs/overview/quick-start#connecting-to-zookeeper"],[1966,"/docs/overview/quick-start#connecting-to-zookeeper"],[1930,"/docs/overview/quick-start#coordinating-distributed-applications-with-zookeeper"],[1939,"/docs/overview/quick-start#coordinating-distributed-applications-with-zookeeper"],[1932,"/docs/overview/quick-start#download"],[1941,"/docs/overview/quick-start#download"],[1934,"/docs/overview/quick-start#managing-zookeeper-storage"],[1952,"/docs/overview/quick-start#managing-zookeeper-storage"],[1938,"/docs/overview/quick-start#other-optimizations"],[1981,"/docs/overview/quick-start#other-optimizations"],[1982,"/docs/overview/quick-start#other-optimizations"],[1931,"/docs/overview/quick-start#pre-requisites"],[1940,"/docs/overview/quick-start#pre-requisites"],[1936,"/docs/overview/quick-start#programming-to-zookeeper"],[1967,"/docs/overview/quick-start#programming-to-zookeeper"],[1937,"/docs/overview/quick-start#running-replicated-zookeeper"],[1968,"/docs/overview/quick-start#running-replicated-zookeeper"],[1969,"/docs/overview/quick-start#running-replicated-zookeeper"],[1970,"/docs/overview/quick-start#running-replicated-zookeeper"],[1971,"/docs/overview/quick-start#running-replicated-zookeeper"],[1972,"/docs/overview/quick-start#running-replicated-zookeeper"],[1973,"/docs/overview/quick-start#running-replicated-zookeeper"],[1974,"/docs/overview/quick-start#running-replicated-zookeeper"],[1975,"/docs/overview/quick-start#running-replicated-zookeeper"],[1976,"/docs/overview/quick-start#running-replicated-zookeeper"],[1977,"/docs/overview/quick-start#running-replicated-zookeeper"],[1978,"/docs/overview/quick-start#running-replicated-zookeeper"],[1979,"/docs/overview/quick-start#running-replicated-zookeeper"],[1980,"/docs/overview/quick-start#running-replicated-zookeeper"],[1933,"/docs/overview/quick-start#standalone-operation"],[1942,"/docs/overview/quick-start#standalone-operation"],[1943,"/docs/overview/quick-start#standalone-operation"],[1944,"/docs/overview/quick-start#standalone-operation"],[1945,"/docs/overview/quick-start#standalone-operation"],[1946,"/docs/overview/quick-start#standalone-operation"],[1947,"/docs/overview/quick-start#standalone-operation"],[1948,"/docs/overview/quick-start#standalone-operation"],[1949,"/docs/overview/quick-start#standalone-operation"],[1950,"/docs/overview/quick-start#standalone-operation"],[1951,"/docs/overview/quick-start#standalone-operation"],[1983,"/docs/overview/release-notes"],[1984,"/docs/overview/release-notes"],[1992,"/docs/overview/release-notes#breaking-changes"],[2036,"/docs/overview/release-notes#breaking-changes"],[2037,"/docs/overview/release-notes#breaking-changes"],[2038,"/docs/overview/release-notes#breaking-changes"],[2039,"/docs/overview/release-notes#breaking-changes"],[2040,"/docs/overview/release-notes#breaking-changes"],[1987,"/docs/overview/release-notes#bug"],[2020,"/docs/overview/release-notes#bug"],[2021,"/docs/overview/release-notes#bug"],[2022,"/docs/overview/release-notes#bug"],[2023,"/docs/overview/release-notes#bug"],[2024,"/docs/overview/release-notes#bug"],[2025,"/docs/overview/release-notes#bug"],[2026,"/docs/overview/release-notes#bug"],[1993,"/docs/overview/release-notes#bug-1"],[2041,"/docs/overview/release-notes#bug-1"],[2042,"/docs/overview/release-notes#bug-1"],[2043,"/docs/overview/release-notes#bug-1"],[2044,"/docs/overview/release-notes#bug-1"],[2045,"/docs/overview/release-notes#bug-1"],[2046,"/docs/overview/release-notes#bug-1"],[2047,"/docs/overview/release-notes#bug-1"],[2048,"/docs/overview/release-notes#bug-1"],[2049,"/docs/overview/release-notes#bug-1"],[2050,"/docs/overview/release-notes#bug-1"],[2051,"/docs/overview/release-notes#bug-1"],[2052,"/docs/overview/release-notes#bug-1"],[2053,"/docs/overview/release-notes#bug-1"],[2054,"/docs/overview/release-notes#bug-1"],[2055,"/docs/overview/release-notes#bug-1"],[2056,"/docs/overview/release-notes#bug-1"],[2057,"/docs/overview/release-notes#bug-1"],[2058,"/docs/overview/release-notes#bug-1"],[2059,"/docs/overview/release-notes#bug-1"],[2060,"/docs/overview/release-notes#bug-1"],[2061,"/docs/overview/release-notes#bug-1"],[2062,"/docs/overview/release-notes#bug-1"],[2063,"/docs/overview/release-notes#bug-1"],[2064,"/docs/overview/release-notes#bug-1"],[2065,"/docs/overview/release-notes#bug-1"],[1998,"/docs/overview/release-notes#bug-2"],[2077,"/docs/overview/release-notes#bug-2"],[2078,"/docs/overview/release-notes#bug-2"],[2079,"/docs/overview/release-notes#bug-2"],[2080,"/docs/overview/release-notes#bug-2"],[2081,"/docs/overview/release-notes#bug-2"],[2082,"/docs/overview/release-notes#bug-2"],[2083,"/docs/overview/release-notes#bug-2"],[2084,"/docs/overview/release-notes#bug-2"],[2085,"/docs/overview/release-notes#bug-2"],[2086,"/docs/overview/release-notes#bug-2"],[2087,"/docs/overview/release-notes#bug-2"],[2088,"/docs/overview/release-notes#bug-2"],[2089,"/docs/overview/release-notes#bug-2"],[2090,"/docs/overview/release-notes#bug-2"],[2005,"/docs/overview/release-notes#bug-3"],[2100,"/docs/overview/release-notes#bug-3"],[2101,"/docs/overview/release-notes#bug-3"],[2102,"/docs/overview/release-notes#bug-3"],[2103,"/docs/overview/release-notes#bug-3"],[2104,"/docs/overview/release-notes#bug-3"],[2013,"/docs/overview/release-notes#bug-4"],[2118,"/docs/overview/release-notes#bug-4"],[2119,"/docs/overview/release-notes#bug-4"],[2120,"/docs/overview/release-notes#bug-4"],[2121,"/docs/overview/release-notes#bug-4"],[2122,"/docs/overview/release-notes#bug-4"],[2123,"/docs/overview/release-notes#bug-4"],[2124,"/docs/overview/release-notes#bug-4"],[2125,"/docs/overview/release-notes#bug-4"],[2126,"/docs/overview/release-notes#bug-4"],[2127,"/docs/overview/release-notes#bug-4"],[2128,"/docs/overview/release-notes#bug-4"],[2129,"/docs/overview/release-notes#bug-4"],[2130,"/docs/overview/release-notes#bug-4"],[2131,"/docs/overview/release-notes#bug-4"],[2132,"/docs/overview/release-notes#bug-4"],[2133,"/docs/overview/release-notes#bug-4"],[2134,"/docs/overview/release-notes#bug-4"],[2135,"/docs/overview/release-notes#bug-4"],[2136,"/docs/overview/release-notes#bug-4"],[2137,"/docs/overview/release-notes#bug-4"],[2138,"/docs/overview/release-notes#bug-4"],[2139,"/docs/overview/release-notes#bug-4"],[2140,"/docs/overview/release-notes#bug-4"],[2141,"/docs/overview/release-notes#bug-4"],[2142,"/docs/overview/release-notes#bug-4"],[2143,"/docs/overview/release-notes#bug-4"],[1988,"/docs/overview/release-notes#improvement"],[2027,"/docs/overview/release-notes#improvement"],[2028,"/docs/overview/release-notes#improvement"],[2029,"/docs/overview/release-notes#improvement"],[2030,"/docs/overview/release-notes#improvement"],[2031,"/docs/overview/release-notes#improvement"],[1995,"/docs/overview/release-notes#improvement-1"],[2067,"/docs/overview/release-notes#improvement-1"],[2068,"/docs/overview/release-notes#improvement-1"],[2069,"/docs/overview/release-notes#improvement-1"],[2070,"/docs/overview/release-notes#improvement-1"],[2071,"/docs/overview/release-notes#improvement-1"],[2072,"/docs/overview/release-notes#improvement-1"],[2073,"/docs/overview/release-notes#improvement-1"],[2074,"/docs/overview/release-notes#improvement-1"],[2000,"/docs/overview/release-notes#improvement-2"],[2092,"/docs/overview/release-notes#improvement-2"],[2093,"/docs/overview/release-notes#improvement-2"],[2094,"/docs/overview/release-notes#improvement-2"],[2006,"/docs/overview/release-notes#improvement-3"],[2105,"/docs/overview/release-notes#improvement-3"],[2106,"/docs/overview/release-notes#improvement-3"],[2107,"/docs/overview/release-notes#improvement-3"],[2108,"/docs/overview/release-notes#improvement-3"],[2109,"/docs/overview/release-notes#improvement-3"],[2110,"/docs/overview/release-notes#improvement-3"],[2009,"/docs/overview/release-notes#improvement-4"],[2112,"/docs/overview/release-notes#improvement-4"],[2113,"/docs/overview/release-notes#improvement-4"],[2015,"/docs/overview/release-notes#improvement-5"],[2146,"/docs/overview/release-notes#improvement-5"],[2147,"/docs/overview/release-notes#improvement-5"],[2148,"/docs/overview/release-notes#improvement-5"],[2149,"/docs/overview/release-notes#improvement-5"],[2150,"/docs/overview/release-notes#improvement-5"],[2151,"/docs/overview/release-notes#improvement-5"],[2152,"/docs/overview/release-notes#improvement-5"],[2153,"/docs/overview/release-notes#improvement-5"],[2154,"/docs/overview/release-notes#improvement-5"],[2155,"/docs/overview/release-notes#improvement-5"],[2156,"/docs/overview/release-notes#improvement-5"],[2157,"/docs/overview/release-notes#improvement-5"],[2158,"/docs/overview/release-notes#improvement-5"],[2159,"/docs/overview/release-notes#improvement-5"],[2160,"/docs/overview/release-notes#improvement-5"],[2161,"/docs/overview/release-notes#improvement-5"],[2162,"/docs/overview/release-notes#improvement-5"],[2163,"/docs/overview/release-notes#improvement-5"],[2164,"/docs/overview/release-notes#improvement-5"],[2165,"/docs/overview/release-notes#improvement-5"],[2166,"/docs/overview/release-notes#improvement-5"],[2167,"/docs/overview/release-notes#improvement-5"],[2168,"/docs/overview/release-notes#improvement-5"],[2169,"/docs/overview/release-notes#improvement-5"],[2170,"/docs/overview/release-notes#improvement-5"],[2171,"/docs/overview/release-notes#improvement-5"],[2172,"/docs/overview/release-notes#improvement-5"],[2173,"/docs/overview/release-notes#improvement-5"],[2174,"/docs/overview/release-notes#improvement-5"],[2175,"/docs/overview/release-notes#improvement-5"],[2176,"/docs/overview/release-notes#improvement-5"],[1994,"/docs/overview/release-notes#new-feature"],[2066,"/docs/overview/release-notes#new-feature"],[1999,"/docs/overview/release-notes#new-feature-1"],[2091,"/docs/overview/release-notes#new-feature-1"],[2014,"/docs/overview/release-notes#new-feature-2"],[2144,"/docs/overview/release-notes#new-feature-2"],[2145,"/docs/overview/release-notes#new-feature-2"],[2011,"/docs/overview/release-notes#release-notes---zookeeper---version-390"],[2008,"/docs/overview/release-notes#release-notes---zookeeper---version-391"],[2003,"/docs/overview/release-notes#release-notes---zookeeper---version-392"],[1997,"/docs/overview/release-notes#release-notes---zookeeper---version-393"],[1991,"/docs/overview/release-notes#release-notes---zookeeper---version-394"],[1985,"/docs/overview/release-notes#release-notes---zookeeper---version-395"],[1986,"/docs/overview/release-notes#sub-task"],[2019,"/docs/overview/release-notes#sub-task"],[2004,"/docs/overview/release-notes#sub-task-1"],[2098,"/docs/overview/release-notes#sub-task-1"],[2099,"/docs/overview/release-notes#sub-task-1"],[2012,"/docs/overview/release-notes#sub-task-2"],[2117,"/docs/overview/release-notes#sub-task-2"],[1990,"/docs/overview/release-notes#task"],[2033,"/docs/overview/release-notes#task"],[2034,"/docs/overview/release-notes#task"],[2035,"/docs/overview/release-notes#task"],[1996,"/docs/overview/release-notes#task-1"],[2075,"/docs/overview/release-notes#task-1"],[2076,"/docs/overview/release-notes#task-1"],[2002,"/docs/overview/release-notes#task-2"],[2096,"/docs/overview/release-notes#task-2"],[2097,"/docs/overview/release-notes#task-2"],[2010,"/docs/overview/release-notes#task-3"],[2114,"/docs/overview/release-notes#task-3"],[2115,"/docs/overview/release-notes#task-3"],[2116,"/docs/overview/release-notes#task-3"],[2018,"/docs/overview/release-notes#task-4"],[2183,"/docs/overview/release-notes#task-4"],[2184,"/docs/overview/release-notes#task-4"],[2185,"/docs/overview/release-notes#task-4"],[2186,"/docs/overview/release-notes#task-4"],[2187,"/docs/overview/release-notes#task-4"],[2188,"/docs/overview/release-notes#task-4"],[2189,"/docs/overview/release-notes#task-4"],[2190,"/docs/overview/release-notes#task-4"],[2191,"/docs/overview/release-notes#task-4"],[2192,"/docs/overview/release-notes#task-4"],[2193,"/docs/overview/release-notes#task-4"],[2194,"/docs/overview/release-notes#task-4"],[1989,"/docs/overview/release-notes#test"],[2032,"/docs/overview/release-notes#test"],[2001,"/docs/overview/release-notes#test-1"],[2095,"/docs/overview/release-notes#test-1"],[2016,"/docs/overview/release-notes#test-2"],[2177,"/docs/overview/release-notes#test-2"],[2178,"/docs/overview/release-notes#test-2"],[2007,"/docs/overview/release-notes#wish"],[2111,"/docs/overview/release-notes#wish"],[2017,"/docs/overview/release-notes#wish-1"],[2179,"/docs/overview/release-notes#wish-1"],[2180,"/docs/overview/release-notes#wish-1"],[2181,"/docs/overview/release-notes#wish-1"],[2182,"/docs/overview/release-notes#wish-1"],[1789,"/docs#conditional-updates-and-watches"],[1811,"/docs#conditional-updates-and-watches"],[1812,"/docs#conditional-updates-and-watches"],[1786,"/docs#data-model-and-the-hierarchical-namespace"],[1806,"/docs#data-model-and-the-hierarchical-namespace"],[1785,"/docs#design-goals"],[1799,"/docs#design-goals"],[1800,"/docs#design-goals"],[1801,"/docs#design-goals"],[1802,"/docs#design-goals"],[1803,"/docs#design-goals"],[1804,"/docs#design-goals"],[1805,"/docs#design-goals"],[1790,"/docs#guarantees"],[1813,"/docs#guarantees"],[1814,"/docs#guarantees"],[1815,"/docs#guarantees"],[1816,"/docs#guarantees"],[1817,"/docs#guarantees"],[1818,"/docs#guarantees"],[1792,"/docs#implementation"],[1827,"/docs#implementation"],[1828,"/docs#implementation"],[1829,"/docs#implementation"],[1830,"/docs#implementation"],[1831,"/docs#implementation"],[1788,"/docs#nodes-and-ephemeral-nodes"],[1807,"/docs#nodes-and-ephemeral-nodes"],[1808,"/docs#nodes-and-ephemeral-nodes"],[1809,"/docs#nodes-and-ephemeral-nodes"],[1810,"/docs#nodes-and-ephemeral-nodes"],[1794,"/docs#performance"],[1833,"/docs#performance"],[1834,"/docs#performance"],[1835,"/docs#performance"],[1836,"/docs#performance"],[1837,"/docs#performance"],[1838,"/docs#performance"],[1839,"/docs#performance"],[1840,"/docs#performance"],[1841,"/docs#performance"],[1842,"/docs#performance"],[1843,"/docs#performance"],[1795,"/docs#reliability"],[1844,"/docs#reliability"],[1845,"/docs#reliability"],[1791,"/docs#simple-api"],[1819,"/docs#simple-api"],[1820,"/docs#simple-api"],[1821,"/docs#simple-api"],[1822,"/docs#simple-api"],[1823,"/docs#simple-api"],[1824,"/docs#simple-api"],[1825,"/docs#simple-api"],[1826,"/docs#simple-api"],[1796,"/docs#the-zookeeper-project"],[1846,"/docs#the-zookeeper-project"],[1847,"/docs#the-zookeeper-project"],[1793,"/docs#uses"],[1832,"/docs#uses"],[1784,"/docs#zookeeper-a-distributed-coordination-service-for-distributed-applications"],[1797,"/docs#zookeeper-a-distributed-coordination-service-for-distributed-applications"],[1798,"/docs#zookeeper-a-distributed-coordination-service-for-distributed-applications"],[1787,"/docs#zookeepers-hierarchical-namespace"]],"type":"string"}},"enabled":true,"isSorted":true},"pinning":{"rules":[]},"language":"english"} \ No newline at end of file diff --git a/content/api/search.data b/content/api/search.data new file mode 100644 index 00000000000..8bfd208fcbb --- /dev/null +++ b/content/api/search.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_api/search",{"_3":4},"data",{"_5":6,"_7":8,"_2205":2206,"_24672":51783,"_26875":58606,"_67405":67406,"_29113":58607},"type","advanced","internalDocumentIDStore",{"_9":10},"internalIdToId",[11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,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,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,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,224,225,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,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,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,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,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,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,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,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,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,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],"/docs/admin-ops/administrators-guide/administration","/docs/admin-ops/administrators-guide/administration-0","/docs/admin-ops/administrators-guide/administration-1","/docs/admin-ops/administrators-guide/administration-2","/docs/admin-ops/administrators-guide/administration-3","/docs/admin-ops/administrators-guide/administration-4","/docs/admin-ops/administrators-guide/administration-5","/docs/admin-ops/administrators-guide/administration-6","/docs/admin-ops/administrators-guide/administration-7","/docs/admin-ops/administrators-guide/administration-8","/docs/admin-ops/administrators-guide/administration-9","/docs/admin-ops/administrators-guide/administration-10","/docs/admin-ops/administrators-guide/administration-11","/docs/admin-ops/administrators-guide/administration-12","/docs/admin-ops/administrators-guide/administration-13","/docs/admin-ops/administrators-guide/administration-14","/docs/admin-ops/administrators-guide/administration-15","/docs/admin-ops/administrators-guide/administration-16","/docs/admin-ops/administrators-guide/administration-17","/docs/admin-ops/administrators-guide/administration-18","/docs/admin-ops/administrators-guide/administration-19","/docs/admin-ops/administrators-guide/administration-20","/docs/admin-ops/administrators-guide/administration-21","/docs/admin-ops/administrators-guide/administration-22","/docs/admin-ops/administrators-guide/administration-23","/docs/admin-ops/administrators-guide/administration-24","/docs/admin-ops/administrators-guide/administration-25","/docs/admin-ops/administrators-guide/administration-26","/docs/admin-ops/administrators-guide/administration-27","/docs/admin-ops/administrators-guide/administration-28","/docs/admin-ops/administrators-guide/administration-29","/docs/admin-ops/administrators-guide/administration-30","/docs/admin-ops/administrators-guide/administration-31","/docs/admin-ops/administrators-guide/administration-32","/docs/admin-ops/administrators-guide/administration-33","/docs/admin-ops/administrators-guide/administration-34","/docs/admin-ops/administrators-guide/administration-35","/docs/admin-ops/administrators-guide/administration-36","/docs/admin-ops/administrators-guide/administration-37","/docs/admin-ops/administrators-guide/administration-38","/docs/admin-ops/administrators-guide/best-practices","/docs/admin-ops/administrators-guide/best-practices-0","/docs/admin-ops/administrators-guide/best-practices-1","/docs/admin-ops/administrators-guide/best-practices-2","/docs/admin-ops/administrators-guide/best-practices-3","/docs/admin-ops/administrators-guide/best-practices-4","/docs/admin-ops/administrators-guide/best-practices-5","/docs/admin-ops/administrators-guide/best-practices-6","/docs/admin-ops/administrators-guide/best-practices-7","/docs/admin-ops/administrators-guide/best-practices-8","/docs/admin-ops/administrators-guide/best-practices-9","/docs/admin-ops/administrators-guide/commands","/docs/admin-ops/administrators-guide/commands-0","/docs/admin-ops/administrators-guide/commands-1","/docs/admin-ops/administrators-guide/commands-2","/docs/admin-ops/administrators-guide/commands-3","/docs/admin-ops/administrators-guide/commands-4","/docs/admin-ops/administrators-guide/commands-5","/docs/admin-ops/administrators-guide/commands-6","/docs/admin-ops/administrators-guide/commands-7","/docs/admin-ops/administrators-guide/commands-8","/docs/admin-ops/administrators-guide/commands-9","/docs/admin-ops/administrators-guide/commands-10","/docs/admin-ops/administrators-guide/commands-11","/docs/admin-ops/administrators-guide/commands-12","/docs/admin-ops/administrators-guide/commands-13","/docs/admin-ops/administrators-guide/commands-14","/docs/admin-ops/administrators-guide/commands-15","/docs/admin-ops/administrators-guide/commands-16","/docs/admin-ops/administrators-guide/commands-17","/docs/admin-ops/administrators-guide/commands-18","/docs/admin-ops/administrators-guide/commands-19","/docs/admin-ops/administrators-guide/commands-20","/docs/admin-ops/administrators-guide/commands-21","/docs/admin-ops/administrators-guide/commands-22","/docs/admin-ops/administrators-guide/commands-23","/docs/admin-ops/administrators-guide/commands-24","/docs/admin-ops/administrators-guide/commands-25","/docs/admin-ops/administrators-guide/commands-26","/docs/admin-ops/administrators-guide/commands-27","/docs/admin-ops/administrators-guide/commands-28","/docs/admin-ops/administrators-guide/commands-29","/docs/admin-ops/administrators-guide/commands-30","/docs/admin-ops/administrators-guide/commands-31","/docs/admin-ops/administrators-guide/commands-32","/docs/admin-ops/administrators-guide/commands-33","/docs/admin-ops/administrators-guide/commands-34","/docs/admin-ops/administrators-guide/commands-35","/docs/admin-ops/administrators-guide/commands-36","/docs/admin-ops/administrators-guide/commands-37","/docs/admin-ops/administrators-guide/commands-38","/docs/admin-ops/administrators-guide/commands-39","/docs/admin-ops/administrators-guide/commands-40","/docs/admin-ops/administrators-guide/commands-41","/docs/admin-ops/administrators-guide/commands-42","/docs/admin-ops/administrators-guide/commands-43","/docs/admin-ops/administrators-guide/commands-44","/docs/admin-ops/administrators-guide/commands-45","/docs/admin-ops/administrators-guide/commands-46","/docs/admin-ops/administrators-guide/commands-47","/docs/admin-ops/administrators-guide/commands-48","/docs/admin-ops/administrators-guide/commands-49","/docs/admin-ops/administrators-guide/commands-50","/docs/admin-ops/administrators-guide/commands-51","/docs/admin-ops/administrators-guide/commands-52","/docs/admin-ops/administrators-guide/commands-53","/docs/admin-ops/administrators-guide/commands-54","/docs/admin-ops/administrators-guide/commands-55","/docs/admin-ops/administrators-guide/commands-56","/docs/admin-ops/administrators-guide/commands-57","/docs/admin-ops/administrators-guide/commands-58","/docs/admin-ops/administrators-guide/commands-59","/docs/admin-ops/administrators-guide/commands-60","/docs/admin-ops/administrators-guide/commands-61","/docs/admin-ops/administrators-guide/commands-62","/docs/admin-ops/administrators-guide/commands-63","/docs/admin-ops/administrators-guide/commands-64","/docs/admin-ops/administrators-guide/commands-65","/docs/admin-ops/administrators-guide/commands-66","/docs/admin-ops/administrators-guide/commands-67","/docs/admin-ops/administrators-guide/commands-68","/docs/admin-ops/administrators-guide/commands-69","/docs/admin-ops/administrators-guide/commands-70","/docs/admin-ops/administrators-guide/commands-71","/docs/admin-ops/administrators-guide/commands-72","/docs/admin-ops/administrators-guide/commands-73","/docs/admin-ops/administrators-guide/commands-74","/docs/admin-ops/administrators-guide/commands-75","/docs/admin-ops/administrators-guide/commands-76","/docs/admin-ops/administrators-guide/commands-77","/docs/admin-ops/administrators-guide/commands-78","/docs/admin-ops/administrators-guide/commands-79","/docs/admin-ops/administrators-guide/commands-80","/docs/admin-ops/administrators-guide/commands-81","/docs/admin-ops/administrators-guide/commands-82","/docs/admin-ops/administrators-guide/commands-83","/docs/admin-ops/administrators-guide/commands-84","/docs/admin-ops/administrators-guide/commands-85","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-0","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-1","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-2","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-3","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-4","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-5","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-6","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-7","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-8","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-9","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-10","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-11","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-12","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-13","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-14","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-15","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-16","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-17","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-18","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework-19","/docs/admin-ops/administrators-guide/configuration-parameters","/docs/admin-ops/administrators-guide/configuration-parameters-0","/docs/admin-ops/administrators-guide/configuration-parameters-1","/docs/admin-ops/administrators-guide/configuration-parameters-2","/docs/admin-ops/administrators-guide/configuration-parameters-3","/docs/admin-ops/administrators-guide/configuration-parameters-4","/docs/admin-ops/administrators-guide/configuration-parameters-5","/docs/admin-ops/administrators-guide/configuration-parameters-6","/docs/admin-ops/administrators-guide/configuration-parameters-7","/docs/admin-ops/administrators-guide/configuration-parameters-8","/docs/admin-ops/administrators-guide/configuration-parameters-9","/docs/admin-ops/administrators-guide/configuration-parameters-10","/docs/admin-ops/administrators-guide/configuration-parameters-11","/docs/admin-ops/administrators-guide/configuration-parameters-12","/docs/admin-ops/administrators-guide/configuration-parameters-13","/docs/admin-ops/administrators-guide/configuration-parameters-14","/docs/admin-ops/administrators-guide/configuration-parameters-15","/docs/admin-ops/administrators-guide/configuration-parameters-16","/docs/admin-ops/administrators-guide/configuration-parameters-17","/docs/admin-ops/administrators-guide/configuration-parameters-18","/docs/admin-ops/administrators-guide/configuration-parameters-19","/docs/admin-ops/administrators-guide/configuration-parameters-20","/docs/admin-ops/administrators-guide/configuration-parameters-21","/docs/admin-ops/administrators-guide/configuration-parameters-22","/docs/admin-ops/administrators-guide/configuration-parameters-23","/docs/admin-ops/administrators-guide/configuration-parameters-24","/docs/admin-ops/administrators-guide/configuration-parameters-25","/docs/admin-ops/administrators-guide/configuration-parameters-26","/docs/admin-ops/administrators-guide/configuration-parameters-27","/docs/admin-ops/administrators-guide/configuration-parameters-28","/docs/admin-ops/administrators-guide/configuration-parameters-29","/docs/admin-ops/administrators-guide/configuration-parameters-30","/docs/admin-ops/administrators-guide/configuration-parameters-31","/docs/admin-ops/administrators-guide/configuration-parameters-32","/docs/admin-ops/administrators-guide/configuration-parameters-33","/docs/admin-ops/administrators-guide/configuration-parameters-34","/docs/admin-ops/administrators-guide/configuration-parameters-35","/docs/admin-ops/administrators-guide/configuration-parameters-36","/docs/admin-ops/administrators-guide/configuration-parameters-37","/docs/admin-ops/administrators-guide/configuration-parameters-38","/docs/admin-ops/administrators-guide/configuration-parameters-39","/docs/admin-ops/administrators-guide/configuration-parameters-40","/docs/admin-ops/administrators-guide/configuration-parameters-41","/docs/admin-ops/administrators-guide/configuration-parameters-42","/docs/admin-ops/administrators-guide/configuration-parameters-43","/docs/admin-ops/administrators-guide/configuration-parameters-44","/docs/admin-ops/administrators-guide/configuration-parameters-45","/docs/admin-ops/administrators-guide/configuration-parameters-46","/docs/admin-ops/administrators-guide/configuration-parameters-47","/docs/admin-ops/administrators-guide/configuration-parameters-48","/docs/admin-ops/administrators-guide/configuration-parameters-49","/docs/admin-ops/administrators-guide/configuration-parameters-50","/docs/admin-ops/administrators-guide/configuration-parameters-51","/docs/admin-ops/administrators-guide/configuration-parameters-52","/docs/admin-ops/administrators-guide/configuration-parameters-53","/docs/admin-ops/administrators-guide/configuration-parameters-54","/docs/admin-ops/administrators-guide/configuration-parameters-55","/docs/admin-ops/administrators-guide/configuration-parameters-56","/docs/admin-ops/administrators-guide/configuration-parameters-57","/docs/admin-ops/administrators-guide/configuration-parameters-58","/docs/admin-ops/administrators-guide/configuration-parameters-59","/docs/admin-ops/administrators-guide/configuration-parameters-60","/docs/admin-ops/administrators-guide/configuration-parameters-61","/docs/admin-ops/administrators-guide/configuration-parameters-62","/docs/admin-ops/administrators-guide/configuration-parameters-63","/docs/admin-ops/administrators-guide/configuration-parameters-64","/docs/admin-ops/administrators-guide/configuration-parameters-65","/docs/admin-ops/administrators-guide/configuration-parameters-66","/docs/admin-ops/administrators-guide/configuration-parameters-67","/docs/admin-ops/administrators-guide/configuration-parameters-68","/docs/admin-ops/administrators-guide/configuration-parameters-69","/docs/admin-ops/administrators-guide/configuration-parameters-70","/docs/admin-ops/administrators-guide/configuration-parameters-71","/docs/admin-ops/administrators-guide/configuration-parameters-72","/docs/admin-ops/administrators-guide/configuration-parameters-73","/docs/admin-ops/administrators-guide/configuration-parameters-74","/docs/admin-ops/administrators-guide/configuration-parameters-75","/docs/admin-ops/administrators-guide/configuration-parameters-76","/docs/admin-ops/administrators-guide/configuration-parameters-77","/docs/admin-ops/administrators-guide/configuration-parameters-78","/docs/admin-ops/administrators-guide/configuration-parameters-79","/docs/admin-ops/administrators-guide/configuration-parameters-80","/docs/admin-ops/administrators-guide/configuration-parameters-81","/docs/admin-ops/administrators-guide/configuration-parameters-82","/docs/admin-ops/administrators-guide/configuration-parameters-83","/docs/admin-ops/administrators-guide/configuration-parameters-84","/docs/admin-ops/administrators-guide/configuration-parameters-85","/docs/admin-ops/administrators-guide/configuration-parameters-86","/docs/admin-ops/administrators-guide/configuration-parameters-87","/docs/admin-ops/administrators-guide/configuration-parameters-88","/docs/admin-ops/administrators-guide/configuration-parameters-89","/docs/admin-ops/administrators-guide/configuration-parameters-90","/docs/admin-ops/administrators-guide/configuration-parameters-91","/docs/admin-ops/administrators-guide/configuration-parameters-92","/docs/admin-ops/administrators-guide/configuration-parameters-93","/docs/admin-ops/administrators-guide/configuration-parameters-94","/docs/admin-ops/administrators-guide/configuration-parameters-95","/docs/admin-ops/administrators-guide/configuration-parameters-96","/docs/admin-ops/administrators-guide/configuration-parameters-97","/docs/admin-ops/administrators-guide/configuration-parameters-98","/docs/admin-ops/administrators-guide/configuration-parameters-99","/docs/admin-ops/administrators-guide/configuration-parameters-100","/docs/admin-ops/administrators-guide/configuration-parameters-101","/docs/admin-ops/administrators-guide/configuration-parameters-102","/docs/admin-ops/administrators-guide/configuration-parameters-103","/docs/admin-ops/administrators-guide/configuration-parameters-104","/docs/admin-ops/administrators-guide/configuration-parameters-105","/docs/admin-ops/administrators-guide/configuration-parameters-106","/docs/admin-ops/administrators-guide/configuration-parameters-107","/docs/admin-ops/administrators-guide/configuration-parameters-108","/docs/admin-ops/administrators-guide/configuration-parameters-109","/docs/admin-ops/administrators-guide/configuration-parameters-110","/docs/admin-ops/administrators-guide/configuration-parameters-111","/docs/admin-ops/administrators-guide/configuration-parameters-112","/docs/admin-ops/administrators-guide/configuration-parameters-113","/docs/admin-ops/administrators-guide/configuration-parameters-114","/docs/admin-ops/administrators-guide/configuration-parameters-115","/docs/admin-ops/administrators-guide/configuration-parameters-116","/docs/admin-ops/administrators-guide/configuration-parameters-117","/docs/admin-ops/administrators-guide/configuration-parameters-118","/docs/admin-ops/administrators-guide/configuration-parameters-119","/docs/admin-ops/administrators-guide/configuration-parameters-120","/docs/admin-ops/administrators-guide/configuration-parameters-121","/docs/admin-ops/administrators-guide/configuration-parameters-122","/docs/admin-ops/administrators-guide/configuration-parameters-123","/docs/admin-ops/administrators-guide/configuration-parameters-124","/docs/admin-ops/administrators-guide/configuration-parameters-125","/docs/admin-ops/administrators-guide/configuration-parameters-126","/docs/admin-ops/administrators-guide/configuration-parameters-127","/docs/admin-ops/administrators-guide/configuration-parameters-128","/docs/admin-ops/administrators-guide/configuration-parameters-129","/docs/admin-ops/administrators-guide/configuration-parameters-130","/docs/admin-ops/administrators-guide/configuration-parameters-131","/docs/admin-ops/administrators-guide/configuration-parameters-132","/docs/admin-ops/administrators-guide/configuration-parameters-133","/docs/admin-ops/administrators-guide/configuration-parameters-134","/docs/admin-ops/administrators-guide/configuration-parameters-135","/docs/admin-ops/administrators-guide/configuration-parameters-136","/docs/admin-ops/administrators-guide/configuration-parameters-137","/docs/admin-ops/administrators-guide/configuration-parameters-138","/docs/admin-ops/administrators-guide/configuration-parameters-139","/docs/admin-ops/administrators-guide/configuration-parameters-140","/docs/admin-ops/administrators-guide/configuration-parameters-141","/docs/admin-ops/administrators-guide/configuration-parameters-142","/docs/admin-ops/administrators-guide/configuration-parameters-143","/docs/admin-ops/administrators-guide/configuration-parameters-144","/docs/admin-ops/administrators-guide/configuration-parameters-145","/docs/admin-ops/administrators-guide/configuration-parameters-146","/docs/admin-ops/administrators-guide/configuration-parameters-147","/docs/admin-ops/administrators-guide/configuration-parameters-148","/docs/admin-ops/administrators-guide/configuration-parameters-149","/docs/admin-ops/administrators-guide/configuration-parameters-150","/docs/admin-ops/administrators-guide/configuration-parameters-151","/docs/admin-ops/administrators-guide/configuration-parameters-152","/docs/admin-ops/administrators-guide/configuration-parameters-153","/docs/admin-ops/administrators-guide/configuration-parameters-154","/docs/admin-ops/administrators-guide/configuration-parameters-155","/docs/admin-ops/administrators-guide/configuration-parameters-156","/docs/admin-ops/administrators-guide/configuration-parameters-157","/docs/admin-ops/administrators-guide/configuration-parameters-158","/docs/admin-ops/administrators-guide/configuration-parameters-159","/docs/admin-ops/administrators-guide/configuration-parameters-160","/docs/admin-ops/administrators-guide/configuration-parameters-161","/docs/admin-ops/administrators-guide/configuration-parameters-162","/docs/admin-ops/administrators-guide/configuration-parameters-163","/docs/admin-ops/administrators-guide/configuration-parameters-164","/docs/admin-ops/administrators-guide/configuration-parameters-165","/docs/admin-ops/administrators-guide/configuration-parameters-166","/docs/admin-ops/administrators-guide/configuration-parameters-167","/docs/admin-ops/administrators-guide/configuration-parameters-168","/docs/admin-ops/administrators-guide/configuration-parameters-169","/docs/admin-ops/administrators-guide/configuration-parameters-170","/docs/admin-ops/administrators-guide/configuration-parameters-171","/docs/admin-ops/administrators-guide/configuration-parameters-172","/docs/admin-ops/administrators-guide/configuration-parameters-173","/docs/admin-ops/administrators-guide/configuration-parameters-174","/docs/admin-ops/administrators-guide/configuration-parameters-175","/docs/admin-ops/administrators-guide/configuration-parameters-176","/docs/admin-ops/administrators-guide/configuration-parameters-177","/docs/admin-ops/administrators-guide/configuration-parameters-178","/docs/admin-ops/administrators-guide/configuration-parameters-179","/docs/admin-ops/administrators-guide/configuration-parameters-180","/docs/admin-ops/administrators-guide/configuration-parameters-181","/docs/admin-ops/administrators-guide/configuration-parameters-182","/docs/admin-ops/administrators-guide/configuration-parameters-183","/docs/admin-ops/administrators-guide/configuration-parameters-184","/docs/admin-ops/administrators-guide/configuration-parameters-185","/docs/admin-ops/administrators-guide/configuration-parameters-186","/docs/admin-ops/administrators-guide/configuration-parameters-187","/docs/admin-ops/administrators-guide/configuration-parameters-188","/docs/admin-ops/administrators-guide/configuration-parameters-189","/docs/admin-ops/administrators-guide/configuration-parameters-190","/docs/admin-ops/administrators-guide/configuration-parameters-191","/docs/admin-ops/administrators-guide/configuration-parameters-192","/docs/admin-ops/administrators-guide/configuration-parameters-193","/docs/admin-ops/administrators-guide/configuration-parameters-194","/docs/admin-ops/administrators-guide/configuration-parameters-195","/docs/admin-ops/administrators-guide/configuration-parameters-196","/docs/admin-ops/administrators-guide/configuration-parameters-197","/docs/admin-ops/administrators-guide/configuration-parameters-198","/docs/admin-ops/administrators-guide/configuration-parameters-199","/docs/admin-ops/administrators-guide/configuration-parameters-200","/docs/admin-ops/administrators-guide/configuration-parameters-201","/docs/admin-ops/administrators-guide/configuration-parameters-202","/docs/admin-ops/administrators-guide/configuration-parameters-203","/docs/admin-ops/administrators-guide/configuration-parameters-204","/docs/admin-ops/administrators-guide/configuration-parameters-205","/docs/admin-ops/administrators-guide/configuration-parameters-206","/docs/admin-ops/administrators-guide/configuration-parameters-207","/docs/admin-ops/administrators-guide/configuration-parameters-208","/docs/admin-ops/administrators-guide/configuration-parameters-209","/docs/admin-ops/administrators-guide/configuration-parameters-210","/docs/admin-ops/administrators-guide/configuration-parameters-211","/docs/admin-ops/administrators-guide/configuration-parameters-212","/docs/admin-ops/administrators-guide/configuration-parameters-213","/docs/admin-ops/administrators-guide/configuration-parameters-214","/docs/admin-ops/administrators-guide/configuration-parameters-215","/docs/admin-ops/administrators-guide/configuration-parameters-216","/docs/admin-ops/administrators-guide/configuration-parameters-217","/docs/admin-ops/administrators-guide/configuration-parameters-218","/docs/admin-ops/administrators-guide/configuration-parameters-219","/docs/admin-ops/administrators-guide/configuration-parameters-220","/docs/admin-ops/administrators-guide/configuration-parameters-221","/docs/admin-ops/administrators-guide/configuration-parameters-222","/docs/admin-ops/administrators-guide/configuration-parameters-223","/docs/admin-ops/administrators-guide/configuration-parameters-224","/docs/admin-ops/administrators-guide/configuration-parameters-225","/docs/admin-ops/administrators-guide/configuration-parameters-226","/docs/admin-ops/administrators-guide/configuration-parameters-227","/docs/admin-ops/administrators-guide/configuration-parameters-228","/docs/admin-ops/administrators-guide/configuration-parameters-229","/docs/admin-ops/administrators-guide/configuration-parameters-230","/docs/admin-ops/administrators-guide/configuration-parameters-231","/docs/admin-ops/administrators-guide/configuration-parameters-232","/docs/admin-ops/administrators-guide/configuration-parameters-233","/docs/admin-ops/administrators-guide/configuration-parameters-234","/docs/admin-ops/administrators-guide/configuration-parameters-235","/docs/admin-ops/administrators-guide/configuration-parameters-236","/docs/admin-ops/administrators-guide/configuration-parameters-237","/docs/admin-ops/administrators-guide/configuration-parameters-238","/docs/admin-ops/administrators-guide/configuration-parameters-239","/docs/admin-ops/administrators-guide/configuration-parameters-240","/docs/admin-ops/administrators-guide/configuration-parameters-241","/docs/admin-ops/administrators-guide/configuration-parameters-242","/docs/admin-ops/administrators-guide/configuration-parameters-243","/docs/admin-ops/administrators-guide/configuration-parameters-244","/docs/admin-ops/administrators-guide/configuration-parameters-245","/docs/admin-ops/administrators-guide/configuration-parameters-246","/docs/admin-ops/administrators-guide/configuration-parameters-247","/docs/admin-ops/administrators-guide/configuration-parameters-248","/docs/admin-ops/administrators-guide/configuration-parameters-249","/docs/admin-ops/administrators-guide/configuration-parameters-250","/docs/admin-ops/administrators-guide/configuration-parameters-251","/docs/admin-ops/administrators-guide/configuration-parameters-252","/docs/admin-ops/administrators-guide/configuration-parameters-253","/docs/admin-ops/administrators-guide/configuration-parameters-254","/docs/admin-ops/administrators-guide/configuration-parameters-255","/docs/admin-ops/administrators-guide/configuration-parameters-256","/docs/admin-ops/administrators-guide/configuration-parameters-257","/docs/admin-ops/administrators-guide/configuration-parameters-258","/docs/admin-ops/administrators-guide/configuration-parameters-259","/docs/admin-ops/administrators-guide/configuration-parameters-260","/docs/admin-ops/administrators-guide/configuration-parameters-261","/docs/admin-ops/administrators-guide/configuration-parameters-262","/docs/admin-ops/administrators-guide/configuration-parameters-263","/docs/admin-ops/administrators-guide/configuration-parameters-264","/docs/admin-ops/administrators-guide/configuration-parameters-265","/docs/admin-ops/administrators-guide/configuration-parameters-266","/docs/admin-ops/administrators-guide/configuration-parameters-267","/docs/admin-ops/administrators-guide/configuration-parameters-268","/docs/admin-ops/administrators-guide/configuration-parameters-269","/docs/admin-ops/administrators-guide/configuration-parameters-270","/docs/admin-ops/administrators-guide/configuration-parameters-271","/docs/admin-ops/administrators-guide/configuration-parameters-272","/docs/admin-ops/administrators-guide/configuration-parameters-273","/docs/admin-ops/administrators-guide/configuration-parameters-274","/docs/admin-ops/administrators-guide/data-file-management","/docs/admin-ops/administrators-guide/data-file-management-0","/docs/admin-ops/administrators-guide/data-file-management-1","/docs/admin-ops/administrators-guide/data-file-management-2","/docs/admin-ops/administrators-guide/data-file-management-3","/docs/admin-ops/administrators-guide/data-file-management-4","/docs/admin-ops/administrators-guide/data-file-management-5","/docs/admin-ops/administrators-guide/data-file-management-6","/docs/admin-ops/administrators-guide/data-file-management-7","/docs/admin-ops/administrators-guide/data-file-management-8","/docs/admin-ops/administrators-guide/data-file-management-9","/docs/admin-ops/administrators-guide/data-file-management-10","/docs/admin-ops/administrators-guide/data-file-management-11","/docs/admin-ops/administrators-guide/data-file-management-12","/docs/admin-ops/administrators-guide/data-file-management-13","/docs/admin-ops/administrators-guide/data-file-management-14","/docs/admin-ops/administrators-guide/data-file-management-15","/docs/admin-ops/administrators-guide/data-file-management-16","/docs/admin-ops/administrators-guide/data-file-management-17","/docs/admin-ops/administrators-guide/data-file-management-18","/docs/admin-ops/administrators-guide/deployment","/docs/admin-ops/administrators-guide/deployment-0","/docs/admin-ops/administrators-guide/deployment-1","/docs/admin-ops/administrators-guide/deployment-2","/docs/admin-ops/administrators-guide/deployment-3","/docs/admin-ops/administrators-guide/deployment-4","/docs/admin-ops/administrators-guide/deployment-5","/docs/admin-ops/administrators-guide/deployment-6","/docs/admin-ops/administrators-guide/deployment-7","/docs/admin-ops/administrators-guide/deployment-8","/docs/admin-ops/administrators-guide/deployment-9","/docs/admin-ops/administrators-guide/deployment-10","/docs/admin-ops/administrators-guide/deployment-11","/docs/admin-ops/administrators-guide/deployment-12","/docs/admin-ops/administrators-guide/deployment-13","/docs/admin-ops/administrators-guide/deployment-14","/docs/admin-ops/administrators-guide/deployment-15","/docs/admin-ops/administrators-guide/deployment-16","/docs/admin-ops/administrators-guide/deployment-17","/docs/admin-ops/administrators-guide/deployment-18","/docs/admin-ops/administrators-guide/deployment-19","/docs/admin-ops/administrators-guide/deployment-20","/docs/admin-ops/administrators-guide/deployment-21","/docs/admin-ops/administrators-guide/deployment-22","/docs/admin-ops/administrators-guide/deployment-23","/docs/admin-ops/administrators-guide/deployment-24","/docs/admin-ops/administrators-guide/deployment-25","/docs/admin-ops/administrators-guide/deployment-26","/docs/admin-ops/administrators-guide/deployment-27","/docs/admin-ops/administrators-guide/deployment-28","/docs/admin-ops/administrators-guide/deployment-29","/docs/admin-ops/administrators-guide/deployment-30","/docs/admin-ops/administrators-guide/deployment-31","/docs/admin-ops/administrators-guide/deployment-32","/docs/admin-ops/administrators-guide/deployment-33","/docs/admin-ops/administrators-guide/deployment-34","/docs/admin-ops/administrators-guide/deployment-35","/docs/admin-ops/administrators-guide/deployment-36","/docs/admin-ops/administrators-guide/deployment-37","/docs/admin-ops/administrators-guide/deployment-38","/docs/admin-ops/administrators-guide/deployment-39","/docs/admin-ops/administrators-guide/deployment-40","/docs/admin-ops/administrators-guide/deployment-41","/docs/admin-ops/administrators-guide/deployment-42","/docs/admin-ops/administrators-guide/deployment-43","/docs/admin-ops/administrators-guide/deployment-44","/docs/admin-ops/administrators-guide/deployment-45","/docs/admin-ops/administrators-guide/deployment-46","/docs/admin-ops/administrators-guide/deployment-47","/docs/admin-ops/administrators-guide/deployment-48","/docs/admin-ops/administrators-guide/deployment-49","/docs/admin-ops/administrators-guide/deployment-50","/docs/admin-ops/administrators-guide/deployment-51","/docs/admin-ops/administrators-guide/deployment-52","/docs/admin-ops/administrators-guide/deployment-53","/docs/admin-ops/administrators-guide/deployment-54","/docs/admin-ops/administrators-guide/deployment-55","/docs/admin-ops/administrators-guide/deployment-56","/docs/admin-ops/administrators-guide/deployment-57","/docs/admin-ops/administrators-guide/deployment-58","/docs/admin-ops/administrators-guide/deployment-59","/docs/admin-ops/administrators-guide/deployment-60","/docs/admin-ops/administrators-guide/deployment-61","/docs/admin-ops/administrators-guide/deployment-62","/docs/admin-ops/administrators-guide/deployment-63","/docs/admin-ops/administrators-guide/deployment-64","/docs/admin-ops/administrators-guide/deployment-65","/docs/admin-ops/administrators-guide/deployment-66","/docs/admin-ops/administrators-guide/deployment-67","/docs/admin-ops/administrators-guide/deployment-68","/docs/admin-ops/administrators-guide/deployment-69","/docs/admin-ops/administrators-guide/deployment-70","/docs/admin-ops/administrators-guide/deployment-71","/docs/admin-ops/administrators-guide/deployment-72","/docs/admin-ops/administrators-guide/deployment-73","/docs/admin-ops/administrators-guide/deployment-74","/docs/admin-ops/administrators-guide/deployment-75","/docs/admin-ops/administrators-guide/deployment-76","/docs/admin-ops/administrators-guide/deployment-77","/docs/admin-ops/administrators-guide/deployment-78","/docs/admin-ops/administrators-guide/deployment-79","/docs/admin-ops/administrators-guide/deployment-80","/docs/admin-ops/administrators-guide/deployment-81","/docs/admin-ops/administrators-guide/deployment-82","/docs/admin-ops/administrators-guide","/docs/admin-ops/administrators-guide-0","/docs/admin-ops/cli","/docs/admin-ops/cli-0","/docs/admin-ops/cli-1","/docs/admin-ops/cli-2","/docs/admin-ops/cli-3","/docs/admin-ops/cli-4","/docs/admin-ops/cli-5","/docs/admin-ops/cli-6","/docs/admin-ops/cli-7","/docs/admin-ops/cli-8","/docs/admin-ops/cli-9","/docs/admin-ops/cli-10","/docs/admin-ops/cli-11","/docs/admin-ops/cli-12","/docs/admin-ops/cli-13","/docs/admin-ops/cli-14","/docs/admin-ops/cli-15","/docs/admin-ops/cli-16","/docs/admin-ops/cli-17","/docs/admin-ops/cli-18","/docs/admin-ops/cli-19","/docs/admin-ops/cli-20","/docs/admin-ops/cli-21","/docs/admin-ops/cli-22","/docs/admin-ops/cli-23","/docs/admin-ops/cli-24","/docs/admin-ops/cli-25","/docs/admin-ops/cli-26","/docs/admin-ops/cli-27","/docs/admin-ops/cli-28","/docs/admin-ops/cli-29","/docs/admin-ops/cli-30","/docs/admin-ops/cli-31","/docs/admin-ops/cli-32","/docs/admin-ops/cli-33","/docs/admin-ops/cli-34","/docs/admin-ops/cli-35","/docs/admin-ops/cli-36","/docs/admin-ops/cli-37","/docs/admin-ops/cli-38","/docs/admin-ops/cli-39","/docs/admin-ops/cli-40","/docs/admin-ops/cli-41","/docs/admin-ops/cli-42","/docs/admin-ops/cli-43","/docs/admin-ops/cli-44","/docs/admin-ops/cli-45","/docs/admin-ops/cli-46","/docs/admin-ops/cli-47","/docs/admin-ops/cli-48","/docs/admin-ops/cli-49","/docs/admin-ops/cli-50","/docs/admin-ops/cli-51","/docs/admin-ops/cli-52","/docs/admin-ops/cli-53","/docs/admin-ops/cli-54","/docs/admin-ops/cli-55","/docs/admin-ops/cli-56","/docs/admin-ops/cli-57","/docs/admin-ops/cli-58","/docs/admin-ops/cli-59","/docs/admin-ops/cli-60","/docs/admin-ops/cli-61","/docs/admin-ops/cli-62","/docs/admin-ops/cli-63","/docs/admin-ops/cli-64","/docs/admin-ops/cli-65","/docs/admin-ops/dynamic-reconfiguration","/docs/admin-ops/dynamic-reconfiguration-0","/docs/admin-ops/dynamic-reconfiguration-1","/docs/admin-ops/dynamic-reconfiguration-2","/docs/admin-ops/dynamic-reconfiguration-3","/docs/admin-ops/dynamic-reconfiguration-4","/docs/admin-ops/dynamic-reconfiguration-5","/docs/admin-ops/dynamic-reconfiguration-6","/docs/admin-ops/dynamic-reconfiguration-7","/docs/admin-ops/dynamic-reconfiguration-8","/docs/admin-ops/dynamic-reconfiguration-9","/docs/admin-ops/dynamic-reconfiguration-10","/docs/admin-ops/dynamic-reconfiguration-11","/docs/admin-ops/dynamic-reconfiguration-12","/docs/admin-ops/dynamic-reconfiguration-13","/docs/admin-ops/dynamic-reconfiguration-14","/docs/admin-ops/dynamic-reconfiguration-15","/docs/admin-ops/dynamic-reconfiguration-16","/docs/admin-ops/dynamic-reconfiguration-17","/docs/admin-ops/dynamic-reconfiguration-18","/docs/admin-ops/dynamic-reconfiguration-19","/docs/admin-ops/dynamic-reconfiguration-20","/docs/admin-ops/dynamic-reconfiguration-21","/docs/admin-ops/dynamic-reconfiguration-22","/docs/admin-ops/dynamic-reconfiguration-23","/docs/admin-ops/dynamic-reconfiguration-24","/docs/admin-ops/dynamic-reconfiguration-25","/docs/admin-ops/dynamic-reconfiguration-26","/docs/admin-ops/dynamic-reconfiguration-27","/docs/admin-ops/dynamic-reconfiguration-28","/docs/admin-ops/dynamic-reconfiguration-29","/docs/admin-ops/dynamic-reconfiguration-30","/docs/admin-ops/dynamic-reconfiguration-31","/docs/admin-ops/dynamic-reconfiguration-32","/docs/admin-ops/dynamic-reconfiguration-33","/docs/admin-ops/dynamic-reconfiguration-34","/docs/admin-ops/dynamic-reconfiguration-35","/docs/admin-ops/dynamic-reconfiguration-36","/docs/admin-ops/dynamic-reconfiguration-37","/docs/admin-ops/dynamic-reconfiguration-38","/docs/admin-ops/dynamic-reconfiguration-39","/docs/admin-ops/dynamic-reconfiguration-40","/docs/admin-ops/dynamic-reconfiguration-41","/docs/admin-ops/dynamic-reconfiguration-42","/docs/admin-ops/dynamic-reconfiguration-43","/docs/admin-ops/dynamic-reconfiguration-44","/docs/admin-ops/dynamic-reconfiguration-45","/docs/admin-ops/dynamic-reconfiguration-46","/docs/admin-ops/dynamic-reconfiguration-47","/docs/admin-ops/dynamic-reconfiguration-48","/docs/admin-ops/dynamic-reconfiguration-49","/docs/admin-ops/dynamic-reconfiguration-50","/docs/admin-ops/dynamic-reconfiguration-51","/docs/admin-ops/dynamic-reconfiguration-52","/docs/admin-ops/dynamic-reconfiguration-53","/docs/admin-ops/dynamic-reconfiguration-54","/docs/admin-ops/dynamic-reconfiguration-55","/docs/admin-ops/dynamic-reconfiguration-56","/docs/admin-ops/dynamic-reconfiguration-57","/docs/admin-ops/dynamic-reconfiguration-58","/docs/admin-ops/dynamic-reconfiguration-59","/docs/admin-ops/dynamic-reconfiguration-60","/docs/admin-ops/dynamic-reconfiguration-61","/docs/admin-ops/dynamic-reconfiguration-62","/docs/admin-ops/dynamic-reconfiguration-63","/docs/admin-ops/dynamic-reconfiguration-64","/docs/admin-ops/dynamic-reconfiguration-65","/docs/admin-ops/dynamic-reconfiguration-66","/docs/admin-ops/dynamic-reconfiguration-67","/docs/admin-ops/dynamic-reconfiguration-68","/docs/admin-ops/dynamic-reconfiguration-69","/docs/admin-ops/dynamic-reconfiguration-70","/docs/admin-ops/dynamic-reconfiguration-71","/docs/admin-ops/dynamic-reconfiguration-72","/docs/admin-ops/dynamic-reconfiguration-73","/docs/admin-ops/dynamic-reconfiguration-74","/docs/admin-ops/dynamic-reconfiguration-75","/docs/admin-ops/dynamic-reconfiguration-76","/docs/admin-ops/dynamic-reconfiguration-77","/docs/admin-ops/dynamic-reconfiguration-78","/docs/admin-ops/dynamic-reconfiguration-79","/docs/admin-ops/dynamic-reconfiguration-80","/docs/admin-ops/dynamic-reconfiguration-81","/docs/admin-ops/dynamic-reconfiguration-82","/docs/admin-ops/dynamic-reconfiguration-83","/docs/admin-ops/dynamic-reconfiguration-84","/docs/admin-ops/dynamic-reconfiguration-85","/docs/admin-ops/dynamic-reconfiguration-86","/docs/admin-ops/dynamic-reconfiguration-87","/docs/admin-ops/dynamic-reconfiguration-88","/docs/admin-ops/dynamic-reconfiguration-89","/docs/admin-ops/dynamic-reconfiguration-90","/docs/admin-ops/dynamic-reconfiguration-91","/docs/admin-ops/dynamic-reconfiguration-92","/docs/admin-ops/dynamic-reconfiguration-93","/docs/admin-ops/dynamic-reconfiguration-94","/docs/admin-ops/dynamic-reconfiguration-95","/docs/admin-ops/dynamic-reconfiguration-96","/docs/admin-ops/dynamic-reconfiguration-97","/docs/admin-ops/dynamic-reconfiguration-98","/docs/admin-ops/dynamic-reconfiguration-99","/docs/admin-ops/dynamic-reconfiguration-100","/docs/admin-ops/dynamic-reconfiguration-101","/docs/admin-ops/dynamic-reconfiguration-102","/docs/admin-ops/dynamic-reconfiguration-103","/docs/admin-ops/dynamic-reconfiguration-104","/docs/admin-ops/dynamic-reconfiguration-105","/docs/admin-ops/dynamic-reconfiguration-106","/docs/admin-ops/dynamic-reconfiguration-107","/docs/admin-ops/dynamic-reconfiguration-108","/docs/admin-ops/dynamic-reconfiguration-109","/docs/admin-ops/dynamic-reconfiguration-110","/docs/admin-ops/dynamic-reconfiguration-111","/docs/admin-ops/dynamic-reconfiguration-112","/docs/admin-ops/dynamic-reconfiguration-113","/docs/admin-ops/dynamic-reconfiguration-114","/docs/admin-ops/dynamic-reconfiguration-115","/docs/admin-ops/dynamic-reconfiguration-116","/docs/admin-ops/dynamic-reconfiguration-117","/docs/admin-ops/dynamic-reconfiguration-118","/docs/admin-ops/dynamic-reconfiguration-119","/docs/admin-ops/dynamic-reconfiguration-120","/docs/admin-ops/dynamic-reconfiguration-121","/docs/admin-ops/dynamic-reconfiguration-122","/docs/admin-ops/dynamic-reconfiguration-123","/docs/admin-ops/dynamic-reconfiguration-124","/docs/admin-ops/dynamic-reconfiguration-125","/docs/admin-ops/jmx","/docs/admin-ops/jmx-0","/docs/admin-ops/jmx-1","/docs/admin-ops/jmx-2","/docs/admin-ops/jmx-3","/docs/admin-ops/jmx-4","/docs/admin-ops/jmx-5","/docs/admin-ops/jmx-6","/docs/admin-ops/jmx-7","/docs/admin-ops/jmx-8","/docs/admin-ops/jmx-9","/docs/admin-ops/jmx-10","/docs/admin-ops/jmx-11","/docs/admin-ops/jmx-12","/docs/admin-ops/jmx-13","/docs/admin-ops/jmx-14","/docs/admin-ops/jmx-15","/docs/admin-ops/jmx-16","/docs/admin-ops/jmx-17","/docs/admin-ops/jmx-18","/docs/admin-ops/jmx-19","/docs/admin-ops/jmx-20","/docs/admin-ops/jmx-21","/docs/admin-ops/jmx-22","/docs/admin-ops/jmx-23","/docs/admin-ops/jmx-24","/docs/admin-ops/jmx-25","/docs/admin-ops/jmx-26","/docs/admin-ops/jmx-27","/docs/admin-ops/jmx-28","/docs/admin-ops/jmx-29","/docs/admin-ops/jmx-30","/docs/admin-ops/jmx-31","/docs/admin-ops/jmx-32","/docs/admin-ops/jmx-33","/docs/admin-ops/jmx-34","/docs/admin-ops/jmx-35","/docs/admin-ops/jmx-36","/docs/admin-ops/jmx-37","/docs/admin-ops/jmx-38","/docs/admin-ops/jmx-39","/docs/admin-ops/jmx-40","/docs/admin-ops/jmx-41","/docs/admin-ops/jmx-42","/docs/admin-ops/jmx-43","/docs/admin-ops/jmx-44","/docs/admin-ops/jmx-45","/docs/admin-ops/jmx-46","/docs/admin-ops/jmx-47","/docs/admin-ops/jmx-48","/docs/admin-ops/jmx-49","/docs/admin-ops/jmx-50","/docs/admin-ops/jmx-51","/docs/admin-ops/jmx-52","/docs/admin-ops/jmx-53","/docs/admin-ops/jmx-54","/docs/admin-ops/jmx-55","/docs/admin-ops/jmx-56","/docs/admin-ops/monitor-and-audit-logs","/docs/admin-ops/monitor-and-audit-logs-0","/docs/admin-ops/monitor-and-audit-logs-1","/docs/admin-ops/monitor-and-audit-logs-2","/docs/admin-ops/monitor-and-audit-logs-3","/docs/admin-ops/monitor-and-audit-logs-4","/docs/admin-ops/monitor-and-audit-logs-5","/docs/admin-ops/monitor-and-audit-logs-6","/docs/admin-ops/monitor-and-audit-logs-7","/docs/admin-ops/monitor-and-audit-logs-8","/docs/admin-ops/monitor-and-audit-logs-9","/docs/admin-ops/monitor-and-audit-logs-10","/docs/admin-ops/monitor-and-audit-logs-11","/docs/admin-ops/monitor-and-audit-logs-12","/docs/admin-ops/monitor-and-audit-logs-13","/docs/admin-ops/monitor-and-audit-logs-14","/docs/admin-ops/monitor-and-audit-logs-15","/docs/admin-ops/monitor-and-audit-logs-16","/docs/admin-ops/monitor-and-audit-logs-17","/docs/admin-ops/monitor-and-audit-logs-18","/docs/admin-ops/monitor-and-audit-logs-19","/docs/admin-ops/monitor-and-audit-logs-20","/docs/admin-ops/monitor-and-audit-logs-21","/docs/admin-ops/monitor-and-audit-logs-22","/docs/admin-ops/monitor-and-audit-logs-23","/docs/admin-ops/monitor-and-audit-logs-24","/docs/admin-ops/monitor-and-audit-logs-25","/docs/admin-ops/monitor-and-audit-logs-26","/docs/admin-ops/monitor-and-audit-logs-27","/docs/admin-ops/monitor-and-audit-logs-28","/docs/admin-ops/monitor-and-audit-logs-29","/docs/admin-ops/monitor-and-audit-logs-30","/docs/admin-ops/monitor-and-audit-logs-31","/docs/admin-ops/monitor-and-audit-logs-32","/docs/admin-ops/monitor-and-audit-logs-33","/docs/admin-ops/monitor-and-audit-logs-34","/docs/admin-ops/monitor-and-audit-logs-35","/docs/admin-ops/monitor-and-audit-logs-36","/docs/admin-ops/monitor-and-audit-logs-37","/docs/admin-ops/monitor-and-audit-logs-38","/docs/admin-ops/monitor-and-audit-logs-39","/docs/admin-ops/monitor-and-audit-logs-40","/docs/admin-ops/monitor-and-audit-logs-41","/docs/admin-ops/monitor-and-audit-logs-42","/docs/admin-ops/monitor-and-audit-logs-43","/docs/admin-ops/monitor-and-audit-logs-44","/docs/admin-ops/monitor-and-audit-logs-45","/docs/admin-ops/monitor-and-audit-logs-46","/docs/admin-ops/monitor-and-audit-logs-47","/docs/admin-ops/monitor-and-audit-logs-48","/docs/admin-ops/monitor-and-audit-logs-49","/docs/admin-ops/monitor-and-audit-logs-50","/docs/admin-ops/monitor-and-audit-logs-51","/docs/admin-ops/monitor-and-audit-logs-52","/docs/admin-ops/monitor-and-audit-logs-53","/docs/admin-ops/monitor-and-audit-logs-54","/docs/admin-ops/monitor-and-audit-logs-55","/docs/admin-ops/monitor-and-audit-logs-56","/docs/admin-ops/monitor-and-audit-logs-57","/docs/admin-ops/monitor-and-audit-logs-58","/docs/admin-ops/monitor-and-audit-logs-59","/docs/admin-ops/monitor-and-audit-logs-60","/docs/admin-ops/monitor-and-audit-logs-61","/docs/admin-ops/monitor-and-audit-logs-62","/docs/admin-ops/monitor-and-audit-logs-63","/docs/admin-ops/monitor-and-audit-logs-64","/docs/admin-ops/monitor-and-audit-logs-65","/docs/admin-ops/monitor-and-audit-logs-66","/docs/admin-ops/monitor-and-audit-logs-67","/docs/admin-ops/monitor-and-audit-logs-68","/docs/admin-ops/monitor-and-audit-logs-69","/docs/admin-ops/observers-guide","/docs/admin-ops/observers-guide-0","/docs/admin-ops/observers-guide-1","/docs/admin-ops/observers-guide-2","/docs/admin-ops/observers-guide-3","/docs/admin-ops/observers-guide-4","/docs/admin-ops/observers-guide-5","/docs/admin-ops/observers-guide-6","/docs/admin-ops/observers-guide-7","/docs/admin-ops/observers-guide-8","/docs/admin-ops/observers-guide-9","/docs/admin-ops/observers-guide-10","/docs/admin-ops/observers-guide-11","/docs/admin-ops/observers-guide-12","/docs/admin-ops/observers-guide-13","/docs/admin-ops/observers-guide-14","/docs/admin-ops/observers-guide-15","/docs/admin-ops/observers-guide-16","/docs/admin-ops/observers-guide-17","/docs/admin-ops/observers-guide-18","/docs/admin-ops/quorums","/docs/admin-ops/quorums-0","/docs/admin-ops/quorums-1","/docs/admin-ops/quorums-2","/docs/admin-ops/quorums-3","/docs/admin-ops/quorums-4","/docs/admin-ops/quorums-5","/docs/admin-ops/quorums-6","/docs/admin-ops/quorums-7","/docs/admin-ops/quorums-8","/docs/admin-ops/quorums-9","/docs/admin-ops/quorums-10","/docs/admin-ops/quorums-11","/docs/admin-ops/quorums-12","/docs/admin-ops/quorums-13","/docs/admin-ops/quorums-14","/docs/admin-ops/quorums-15","/docs/admin-ops/quorums-16","/docs/admin-ops/quorums-17","/docs/admin-ops/quorums-18","/docs/admin-ops/quorums-19","/docs/admin-ops/quorums-20","/docs/admin-ops/quorums-21","/docs/admin-ops/quorums-22","/docs/admin-ops/quorums-23","/docs/admin-ops/quorums-24","/docs/admin-ops/quorums-25","/docs/admin-ops/quorums-26","/docs/admin-ops/quorums-27","/docs/admin-ops/quorums-28","/docs/admin-ops/quorums-29","/docs/admin-ops/quorums-30","/docs/admin-ops/quorums-31","/docs/admin-ops/quorums-32","/docs/admin-ops/quorums-33","/docs/admin-ops/quorums-34","/docs/admin-ops/quorums-35","/docs/admin-ops/quorums-36","/docs/admin-ops/quorums-37","/docs/admin-ops/quorums-38","/docs/admin-ops/quorums-39","/docs/admin-ops/quorums-40","/docs/admin-ops/quorums-41","/docs/admin-ops/quorums-42","/docs/admin-ops/quorums-43","/docs/admin-ops/quorums-44","/docs/admin-ops/quorums-45","/docs/admin-ops/quorums-46","/docs/admin-ops/quorums-47","/docs/admin-ops/quorums-48","/docs/admin-ops/quorums-49","/docs/admin-ops/quorums-50","/docs/admin-ops/quorums-51","/docs/admin-ops/quorums-52","/docs/admin-ops/quorums-53","/docs/admin-ops/quorums-54","/docs/admin-ops/quorums-55","/docs/admin-ops/quorums-56","/docs/admin-ops/quorums-57","/docs/admin-ops/quorums-58","/docs/admin-ops/quorums-59","/docs/admin-ops/quorums-60","/docs/admin-ops/quorums-61","/docs/admin-ops/quorums-62","/docs/admin-ops/quorums-63","/docs/admin-ops/quorums-64","/docs/admin-ops/quorums-65","/docs/admin-ops/quorums-66","/docs/admin-ops/quorums-67","/docs/admin-ops/quorums-68","/docs/admin-ops/quorums-69","/docs/admin-ops/quorums-70","/docs/admin-ops/quorums-71","/docs/admin-ops/quota-guide","/docs/admin-ops/quota-guide-0","/docs/admin-ops/quota-guide-1","/docs/admin-ops/quota-guide-2","/docs/admin-ops/quota-guide-3","/docs/admin-ops/quota-guide-4","/docs/admin-ops/quota-guide-5","/docs/admin-ops/quota-guide-6","/docs/admin-ops/quota-guide-7","/docs/admin-ops/quota-guide-8","/docs/admin-ops/quota-guide-9","/docs/admin-ops/quota-guide-10","/docs/admin-ops/quota-guide-11","/docs/admin-ops/quota-guide-12","/docs/admin-ops/quota-guide-13","/docs/admin-ops/quota-guide-14","/docs/admin-ops/quota-guide-15","/docs/admin-ops/quota-guide-16","/docs/admin-ops/snapshot-and-restore-guide","/docs/admin-ops/snapshot-and-restore-guide-0","/docs/admin-ops/snapshot-and-restore-guide-1","/docs/admin-ops/snapshot-and-restore-guide-2","/docs/admin-ops/snapshot-and-restore-guide-3","/docs/admin-ops/snapshot-and-restore-guide-4","/docs/admin-ops/snapshot-and-restore-guide-5","/docs/admin-ops/snapshot-and-restore-guide-6","/docs/admin-ops/snapshot-and-restore-guide-7","/docs/admin-ops/snapshot-and-restore-guide-8","/docs/admin-ops/snapshot-and-restore-guide-9","/docs/admin-ops/snapshot-and-restore-guide-10","/docs/admin-ops/snapshot-and-restore-guide-11","/docs/admin-ops/snapshot-and-restore-guide-12","/docs/admin-ops/snapshot-and-restore-guide-13","/docs/admin-ops/snapshot-and-restore-guide-14","/docs/admin-ops/snapshot-and-restore-guide-15","/docs/admin-ops/tools","/docs/admin-ops/tools-0","/docs/admin-ops/tools-1","/docs/admin-ops/tools-2","/docs/admin-ops/tools-3","/docs/admin-ops/tools-4","/docs/admin-ops/tools-5","/docs/admin-ops/tools-6","/docs/admin-ops/tools-7","/docs/admin-ops/tools-8","/docs/admin-ops/tools-9","/docs/admin-ops/tools-10","/docs/admin-ops/tools-11","/docs/admin-ops/tools-12","/docs/admin-ops/tools-13","/docs/admin-ops/tools-14","/docs/admin-ops/tools-15","/docs/admin-ops/tools-16","/docs/admin-ops/tools-17","/docs/admin-ops/tools-18","/docs/admin-ops/tools-19","/docs/admin-ops/tools-20","/docs/admin-ops/tools-21","/docs/admin-ops/tools-22","/docs/admin-ops/tools-23","/docs/admin-ops/tools-24","/docs/admin-ops/tools-25","/docs/admin-ops/tools-26","/docs/admin-ops/tools-27","/docs/admin-ops/tools-28","/docs/admin-ops/tools-29","/docs/admin-ops/tools-30","/docs/admin-ops/tools-31","/docs/admin-ops/tools-32","/docs/admin-ops/tools-33","/docs/admin-ops/tools-34","/docs/admin-ops/tools-35","/docs/admin-ops/tools-36","/docs/admin-ops/tools-37","/docs/admin-ops/tools-38","/docs/admin-ops/tools-39","/docs/admin-ops/tools-40","/docs/admin-ops/tools-41","/docs/admin-ops/tools-42","/docs/admin-ops/tools-43","/docs/admin-ops/tools-44","/docs/admin-ops/tools-45","/docs/admin-ops/tools-46","/docs/admin-ops/tools-47","/docs/admin-ops/tools-48","/docs/admin-ops/tools-49","/docs/admin-ops/tools-50","/docs/admin-ops/tools-51","/docs/admin-ops/tools-52","/docs/admin-ops/tools-53","/docs/admin-ops/tools-54","/docs/admin-ops/tools-55","/docs/admin-ops/tools-56","/docs/admin-ops/tools-57","/docs/admin-ops/tools-58","/docs/admin-ops/tools-59","/docs/admin-ops/tools-60","/docs/admin-ops/tools-61","/docs/admin-ops/tools-62","/docs/admin-ops/tools-63","/docs/admin-ops/tools-64","/docs/admin-ops/tools-65","/docs/admin-ops/tools-66","/docs/admin-ops/tools-67","/docs/admin-ops/tools-68","/docs/admin-ops/tools-69","/docs/admin-ops/tools-70","/docs/admin-ops/tools-71","/docs/admin-ops/tools-72","/docs/admin-ops/tools-73","/docs/admin-ops/tools-74","/docs/admin-ops/tools-75","/docs/admin-ops/tools-76","/docs/admin-ops/tools-77","/docs/admin-ops/tools-78","/docs/admin-ops/tools-79","/docs/admin-ops/tools-80","/docs/admin-ops/tools-81","/docs/admin-ops/tools-82","/docs/admin-ops/tools-83","/docs/developer/basic-tutorial","/docs/developer/basic-tutorial-0","/docs/developer/basic-tutorial-1","/docs/developer/basic-tutorial-2","/docs/developer/basic-tutorial-3","/docs/developer/basic-tutorial-4","/docs/developer/basic-tutorial-5","/docs/developer/basic-tutorial-6","/docs/developer/basic-tutorial-7","/docs/developer/basic-tutorial-8","/docs/developer/basic-tutorial-9","/docs/developer/basic-tutorial-10","/docs/developer/basic-tutorial-11","/docs/developer/basic-tutorial-12","/docs/developer/basic-tutorial-13","/docs/developer/basic-tutorial-14","/docs/developer/basic-tutorial-15","/docs/developer/basic-tutorial-16","/docs/developer/basic-tutorial-17","/docs/developer/basic-tutorial-18","/docs/developer/basic-tutorial-19","/docs/developer/basic-tutorial-20","/docs/developer/basic-tutorial-21","/docs/developer/basic-tutorial-22","/docs/developer/basic-tutorial-23","/docs/developer/basic-tutorial-24","/docs/developer/basic-tutorial-25","/docs/developer/basic-tutorial-26","/docs/developer/basic-tutorial-27","/docs/developer/basic-tutorial-28","/docs/developer/basic-tutorial-29","/docs/developer/basic-tutorial-30","/docs/developer/java-example","/docs/developer/java-example-0","/docs/developer/java-example-1","/docs/developer/java-example-2","/docs/developer/java-example-3","/docs/developer/java-example-4","/docs/developer/java-example-5","/docs/developer/java-example-6","/docs/developer/java-example-7","/docs/developer/java-example-8","/docs/developer/java-example-9","/docs/developer/java-example-10","/docs/developer/java-example-11","/docs/developer/java-example-12","/docs/developer/java-example-13","/docs/developer/java-example-14","/docs/developer/java-example-15","/docs/developer/java-example-16","/docs/developer/java-example-17","/docs/developer/java-example-18","/docs/developer/java-example-19","/docs/developer/java-example-20","/docs/developer/java-example-21","/docs/developer/java-example-22","/docs/developer/java-example-23","/docs/developer/java-example-24","/docs/developer/java-example-25","/docs/developer/java-example-26","/docs/developer/java-example-27","/docs/developer/java-example-28","/docs/developer/java-example-29","/docs/developer/java-example-30","/docs/developer/java-example-31","/docs/developer/java-example-32","/docs/developer/java-example-33","/docs/developer/java-example-34","/docs/developer/java-example-35","/docs/developer/java-example-36","/docs/developer/java-example-37","/docs/developer/programmers-guide/access-control-using-acls","/docs/developer/programmers-guide/access-control-using-acls-0","/docs/developer/programmers-guide/access-control-using-acls-1","/docs/developer/programmers-guide/access-control-using-acls-2","/docs/developer/programmers-guide/access-control-using-acls-3","/docs/developer/programmers-guide/access-control-using-acls-4","/docs/developer/programmers-guide/access-control-using-acls-5","/docs/developer/programmers-guide/access-control-using-acls-6","/docs/developer/programmers-guide/access-control-using-acls-7","/docs/developer/programmers-guide/access-control-using-acls-8","/docs/developer/programmers-guide/access-control-using-acls-9","/docs/developer/programmers-guide/access-control-using-acls-10","/docs/developer/programmers-guide/access-control-using-acls-11","/docs/developer/programmers-guide/access-control-using-acls-12","/docs/developer/programmers-guide/access-control-using-acls-13","/docs/developer/programmers-guide/access-control-using-acls-14","/docs/developer/programmers-guide/access-control-using-acls-15","/docs/developer/programmers-guide/access-control-using-acls-16","/docs/developer/programmers-guide/access-control-using-acls-17","/docs/developer/programmers-guide/access-control-using-acls-18","/docs/developer/programmers-guide/access-control-using-acls-19","/docs/developer/programmers-guide/access-control-using-acls-20","/docs/developer/programmers-guide/access-control-using-acls-21","/docs/developer/programmers-guide/access-control-using-acls-22","/docs/developer/programmers-guide/access-control-using-acls-23","/docs/developer/programmers-guide/access-control-using-acls-24","/docs/developer/programmers-guide/access-control-using-acls-25","/docs/developer/programmers-guide/access-control-using-acls-26","/docs/developer/programmers-guide/access-control-using-acls-27","/docs/developer/programmers-guide/access-control-using-acls-28","/docs/developer/programmers-guide/access-control-using-acls-29","/docs/developer/programmers-guide/access-control-using-acls-30","/docs/developer/programmers-guide/access-control-using-acls-31","/docs/developer/programmers-guide/access-control-using-acls-32","/docs/developer/programmers-guide/access-control-using-acls-33","/docs/developer/programmers-guide/access-control-using-acls-34","/docs/developer/programmers-guide/access-control-using-acls-35","/docs/developer/programmers-guide/access-control-using-acls-36","/docs/developer/programmers-guide/access-control-using-acls-37","/docs/developer/programmers-guide/access-control-using-acls-38","/docs/developer/programmers-guide/access-control-using-acls-39","/docs/developer/programmers-guide/access-control-using-acls-40","/docs/developer/programmers-guide/access-control-using-acls-41","/docs/developer/programmers-guide/access-control-using-acls-42","/docs/developer/programmers-guide/access-control-using-acls-43","/docs/developer/programmers-guide/access-control-using-acls-44","/docs/developer/programmers-guide/access-control-using-acls-45","/docs/developer/programmers-guide/access-control-using-acls-46","/docs/developer/programmers-guide/access-control-using-acls-47","/docs/developer/programmers-guide/access-control-using-acls-48","/docs/developer/programmers-guide/access-control-using-acls-49","/docs/developer/programmers-guide/access-control-using-acls-50","/docs/developer/programmers-guide/access-control-using-acls-51","/docs/developer/programmers-guide/access-control-using-acls-52","/docs/developer/programmers-guide/access-control-using-acls-53","/docs/developer/programmers-guide/bindings","/docs/developer/programmers-guide/bindings-0","/docs/developer/programmers-guide/bindings-1","/docs/developer/programmers-guide/bindings-2","/docs/developer/programmers-guide/bindings-3","/docs/developer/programmers-guide/bindings-4","/docs/developer/programmers-guide/bindings-5","/docs/developer/programmers-guide/bindings-6","/docs/developer/programmers-guide/bindings-7","/docs/developer/programmers-guide/bindings-8","/docs/developer/programmers-guide/bindings-9","/docs/developer/programmers-guide/bindings-10","/docs/developer/programmers-guide/bindings-11","/docs/developer/programmers-guide/bindings-12","/docs/developer/programmers-guide/bindings-13","/docs/developer/programmers-guide/bindings-14","/docs/developer/programmers-guide/bindings-15","/docs/developer/programmers-guide/bindings-16","/docs/developer/programmers-guide/bindings-17","/docs/developer/programmers-guide/bindings-18","/docs/developer/programmers-guide/bindings-19","/docs/developer/programmers-guide/bindings-20","/docs/developer/programmers-guide/bindings-21","/docs/developer/programmers-guide/bindings-22","/docs/developer/programmers-guide/bindings-23","/docs/developer/programmers-guide/bindings-24","/docs/developer/programmers-guide/bindings-25","/docs/developer/programmers-guide/bindings-26","/docs/developer/programmers-guide/bindings-27","/docs/developer/programmers-guide/bindings-28","/docs/developer/programmers-guide/bindings-29","/docs/developer/programmers-guide/bindings-30","/docs/developer/programmers-guide/bindings-31","/docs/developer/programmers-guide/bindings-32","/docs/developer/programmers-guide/bindings-33","/docs/developer/programmers-guide/bindings-34","/docs/developer/programmers-guide/bindings-35","/docs/developer/programmers-guide/bindings-36","/docs/developer/programmers-guide/bindings-37","/docs/developer/programmers-guide/bindings-38","/docs/developer/programmers-guide/bindings-39","/docs/developer/programmers-guide/bindings-40","/docs/developer/programmers-guide/bindings-41","/docs/developer/programmers-guide/bindings-42","/docs/developer/programmers-guide/bindings-43","/docs/developer/programmers-guide/bindings-44","/docs/developer/programmers-guide/bindings-45","/docs/developer/programmers-guide/bindings-46","/docs/developer/programmers-guide/bindings-47","/docs/developer/programmers-guide/bindings-48","/docs/developer/programmers-guide/bindings-49","/docs/developer/programmers-guide/bindings-50","/docs/developer/programmers-guide/bindings-51","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-0","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-1","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-2","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-3","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-4","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-5","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-6","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-7","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-8","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-9","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-10","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-11","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-12","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-13","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-14","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-15","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-16","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-17","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations-18","/docs/developer/programmers-guide/consistency-guarantees","/docs/developer/programmers-guide/consistency-guarantees-0","/docs/developer/programmers-guide/consistency-guarantees-1","/docs/developer/programmers-guide/consistency-guarantees-2","/docs/developer/programmers-guide/consistency-guarantees-3","/docs/developer/programmers-guide/consistency-guarantees-4","/docs/developer/programmers-guide/consistency-guarantees-5","/docs/developer/programmers-guide/consistency-guarantees-6","/docs/developer/programmers-guide/consistency-guarantees-7","/docs/developer/programmers-guide/consistency-guarantees-8","/docs/developer/programmers-guide/consistency-guarantees-9","/docs/developer/programmers-guide/consistency-guarantees-10","/docs/developer/programmers-guide/consistency-guarantees-11","/docs/developer/programmers-guide/data-model","/docs/developer/programmers-guide/data-model-0","/docs/developer/programmers-guide/data-model-1","/docs/developer/programmers-guide/data-model-2","/docs/developer/programmers-guide/data-model-3","/docs/developer/programmers-guide/data-model-4","/docs/developer/programmers-guide/data-model-5","/docs/developer/programmers-guide/data-model-6","/docs/developer/programmers-guide/data-model-7","/docs/developer/programmers-guide/data-model-8","/docs/developer/programmers-guide/data-model-9","/docs/developer/programmers-guide/data-model-10","/docs/developer/programmers-guide/data-model-11","/docs/developer/programmers-guide/data-model-12","/docs/developer/programmers-guide/data-model-13","/docs/developer/programmers-guide/data-model-14","/docs/developer/programmers-guide/data-model-15","/docs/developer/programmers-guide/data-model-16","/docs/developer/programmers-guide/data-model-17","/docs/developer/programmers-guide/data-model-18","/docs/developer/programmers-guide/data-model-19","/docs/developer/programmers-guide/data-model-20","/docs/developer/programmers-guide/data-model-21","/docs/developer/programmers-guide/data-model-22","/docs/developer/programmers-guide/data-model-23","/docs/developer/programmers-guide/data-model-24","/docs/developer/programmers-guide/data-model-25","/docs/developer/programmers-guide/data-model-26","/docs/developer/programmers-guide/data-model-27","/docs/developer/programmers-guide/data-model-28","/docs/developer/programmers-guide/data-model-29","/docs/developer/programmers-guide/data-model-30","/docs/developer/programmers-guide/data-model-31","/docs/developer/programmers-guide/data-model-32","/docs/developer/programmers-guide/data-model-33","/docs/developer/programmers-guide/data-model-34","/docs/developer/programmers-guide/data-model-35","/docs/developer/programmers-guide/data-model-36","/docs/developer/programmers-guide/data-model-37","/docs/developer/programmers-guide/data-model-38","/docs/developer/programmers-guide/data-model-39","/docs/developer/programmers-guide/data-model-40","/docs/developer/programmers-guide/data-model-41","/docs/developer/programmers-guide/data-model-42","/docs/developer/programmers-guide/data-model-43","/docs/developer/programmers-guide/data-model-44","/docs/developer/programmers-guide/data-model-45","/docs/developer/programmers-guide/data-model-46","/docs/developer/programmers-guide/data-model-47","/docs/developer/programmers-guide/data-model-48","/docs/developer/programmers-guide/data-model-49","/docs/developer/programmers-guide/data-model-50","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-0","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-1","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-2","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-3","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-4","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-5","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting-6","/docs/developer/programmers-guide","/docs/developer/programmers-guide-0","/docs/developer/programmers-guide-1","/docs/developer/programmers-guide-2","/docs/developer/programmers-guide-3","/docs/developer/programmers-guide-4","/docs/developer/programmers-guide-5","/docs/developer/programmers-guide-6","/docs/developer/programmers-guide-7","/docs/developer/programmers-guide-8","/docs/developer/programmers-guide-9","/docs/developer/programmers-guide-10","/docs/developer/programmers-guide/pluggable-authentication","/docs/developer/programmers-guide/pluggable-authentication-0","/docs/developer/programmers-guide/pluggable-authentication-1","/docs/developer/programmers-guide/pluggable-authentication-2","/docs/developer/programmers-guide/pluggable-authentication-3","/docs/developer/programmers-guide/pluggable-authentication-4","/docs/developer/programmers-guide/pluggable-authentication-5","/docs/developer/programmers-guide/pluggable-authentication-6","/docs/developer/programmers-guide/pluggable-authentication-7","/docs/developer/programmers-guide/pluggable-authentication-8","/docs/developer/programmers-guide/pluggable-authentication-9","/docs/developer/programmers-guide/pluggable-authentication-10","/docs/developer/programmers-guide/pluggable-authentication-11","/docs/developer/programmers-guide/pluggable-authentication-12","/docs/developer/programmers-guide/pluggable-authentication-13","/docs/developer/programmers-guide/pluggable-authentication-14","/docs/developer/programmers-guide/pluggable-authentication-15","/docs/developer/programmers-guide/sessions","/docs/developer/programmers-guide/sessions-0","/docs/developer/programmers-guide/sessions-1","/docs/developer/programmers-guide/sessions-2","/docs/developer/programmers-guide/sessions-3","/docs/developer/programmers-guide/sessions-4","/docs/developer/programmers-guide/sessions-5","/docs/developer/programmers-guide/sessions-6","/docs/developer/programmers-guide/sessions-7","/docs/developer/programmers-guide/sessions-8","/docs/developer/programmers-guide/sessions-9","/docs/developer/programmers-guide/sessions-10","/docs/developer/programmers-guide/sessions-11","/docs/developer/programmers-guide/sessions-12","/docs/developer/programmers-guide/sessions-13","/docs/developer/programmers-guide/sessions-14","/docs/developer/programmers-guide/sessions-15","/docs/developer/programmers-guide/sessions-16","/docs/developer/programmers-guide/sessions-17","/docs/developer/programmers-guide/sessions-18","/docs/developer/programmers-guide/sessions-19","/docs/developer/programmers-guide/sessions-20","/docs/developer/programmers-guide/sessions-21","/docs/developer/programmers-guide/sessions-22","/docs/developer/programmers-guide/sessions-23","/docs/developer/programmers-guide/sessions-24","/docs/developer/programmers-guide/sessions-25","/docs/developer/programmers-guide/sessions-26","/docs/developer/programmers-guide/sessions-27","/docs/developer/programmers-guide/sessions-28","/docs/developer/programmers-guide/sessions-29","/docs/developer/programmers-guide/sessions-30","/docs/developer/programmers-guide/sessions-31","/docs/developer/programmers-guide/sessions-32","/docs/developer/programmers-guide/sessions-33","/docs/developer/programmers-guide/sessions-34","/docs/developer/programmers-guide/sessions-35","/docs/developer/programmers-guide/sessions-36","/docs/developer/programmers-guide/sessions-37","/docs/developer/programmers-guide/sessions-38","/docs/developer/programmers-guide/sessions-39","/docs/developer/programmers-guide/sessions-40","/docs/developer/programmers-guide/sessions-41","/docs/developer/programmers-guide/sessions-42","/docs/developer/programmers-guide/sessions-43","/docs/developer/programmers-guide/sessions-44","/docs/developer/programmers-guide/watches","/docs/developer/programmers-guide/watches-0","/docs/developer/programmers-guide/watches-1","/docs/developer/programmers-guide/watches-2","/docs/developer/programmers-guide/watches-3","/docs/developer/programmers-guide/watches-4","/docs/developer/programmers-guide/watches-5","/docs/developer/programmers-guide/watches-6","/docs/developer/programmers-guide/watches-7","/docs/developer/programmers-guide/watches-8","/docs/developer/programmers-guide/watches-9","/docs/developer/programmers-guide/watches-10","/docs/developer/programmers-guide/watches-11","/docs/developer/programmers-guide/watches-12","/docs/developer/programmers-guide/watches-13","/docs/developer/programmers-guide/watches-14","/docs/developer/programmers-guide/watches-15","/docs/developer/programmers-guide/watches-16","/docs/developer/programmers-guide/watches-17","/docs/developer/programmers-guide/watches-18","/docs/developer/programmers-guide/watches-19","/docs/developer/programmers-guide/watches-20","/docs/developer/programmers-guide/watches-21","/docs/developer/programmers-guide/watches-22","/docs/developer/programmers-guide/watches-23","/docs/developer/programmers-guide/watches-24","/docs/developer/programmers-guide/watches-25","/docs/developer/programmers-guide/watches-26","/docs/developer/programmers-guide/watches-27","/docs/developer/programmers-guide/watches-28","/docs/developer/programmers-guide/watches-29","/docs/developer/programmers-guide/watches-30","/docs/developer/recipes","/docs/developer/recipes-0","/docs/developer/recipes-1","/docs/developer/recipes-2","/docs/developer/recipes-3","/docs/developer/recipes-4","/docs/developer/recipes-5","/docs/developer/recipes-6","/docs/developer/recipes-7","/docs/developer/recipes-8","/docs/developer/recipes-9","/docs/developer/recipes-10","/docs/developer/recipes-11","/docs/developer/recipes-12","/docs/developer/recipes-13","/docs/developer/recipes-14","/docs/developer/recipes-15","/docs/developer/recipes-16","/docs/developer/recipes-17","/docs/developer/recipes-18","/docs/developer/recipes-19","/docs/developer/recipes-20","/docs/developer/recipes-21","/docs/developer/recipes-22","/docs/developer/recipes-23","/docs/developer/recipes-24","/docs/developer/recipes-25","/docs/developer/recipes-26","/docs/developer/recipes-27","/docs/developer/recipes-28","/docs/developer/recipes-29","/docs/developer/recipes-30","/docs/developer/recipes-31","/docs/developer/recipes-32","/docs/developer/recipes-33","/docs/developer/recipes-34","/docs/developer/recipes-35","/docs/developer/recipes-36","/docs/developer/recipes-37","/docs/developer/recipes-38","/docs/developer/recipes-39","/docs/developer/recipes-40","/docs/developer/recipes-41","/docs/developer/recipes-42","/docs/developer/recipes-43","/docs/developer/recipes-44","/docs/developer/recipes-45","/docs/developer/recipes-46","/docs/developer/recipes-47","/docs/developer/recipes-48","/docs/developer/recipes-49","/docs/developer/recipes-50","/docs/developer/recipes-51","/docs/developer/recipes-52","/docs/developer/recipes-53","/docs/developer/recipes-54","/docs/developer/recipes-55","/docs/developer/recipes-56","/docs/developer/recipes-57","/docs/developer/recipes-58","/docs/developer/recipes-59","/docs/developer/recipes-60","/docs/developer/recipes-61","/docs/developer/recipes-62","/docs/developer/recipes-63","/docs/developer/recipes-64","/docs/developer/recipes-65","/docs/developer/recipes-66","/docs/developer/recipes-67","/docs/developer/recipes-68","/docs/developer/recipes-69","/docs/developer/recipes-70","/docs/developer/recipes-71","/docs/developer/recipes-72","/docs/developer/recipes-73","/docs/developer/recipes-74","/docs/developer/recipes-75","/docs/developer/recipes-76","/docs/developer/recipes-77","/docs/developer/recipes-78","/docs/developer/recipes-79","/docs/developer/recipes-80","/docs/developer/recipes-81","/docs/developer/recipes-82","/docs/developer/recipes-83","/docs/developer/recipes-84","/docs/developer/recipes-85","/docs/developer/recipes-86","/docs/developer/recipes-87","/docs/developer/recipes-88","/docs/developer/recipes-89","/docs/developer/recipes-90","/docs/developer/recipes-91","/docs/developer/recipes-92","/docs/developer/recipes-93","/docs/developer/recipes-94","/docs/developer/recipes-95","/docs/developer/recipes-96","/docs/developer/recipes-97","/docs/developer/recipes-98","/docs/developer/recipes-99","/docs/developer/recipes-100","/docs/developer/recipes-101","/docs/developer/recipes-102","/docs/developer/recipes-103","/docs/developer/use-cases","/docs/developer/use-cases-0","/docs/developer/use-cases-1","/docs/developer/use-cases-2","/docs/developer/use-cases-3","/docs/developer/use-cases-4","/docs/developer/use-cases-5","/docs/developer/use-cases-6","/docs/developer/use-cases-7","/docs/developer/use-cases-8","/docs/developer/use-cases-9","/docs/developer/use-cases-10","/docs/developer/use-cases-11","/docs/developer/use-cases-12","/docs/developer/use-cases-13","/docs/developer/use-cases-14","/docs/developer/use-cases-15","/docs/developer/use-cases-16","/docs/developer/use-cases-17","/docs/developer/use-cases-18","/docs/developer/use-cases-19","/docs/developer/use-cases-20","/docs/developer/use-cases-21","/docs/developer/use-cases-22","/docs/developer/use-cases-23","/docs/developer/use-cases-24","/docs/developer/use-cases-25","/docs/developer/use-cases-26","/docs/developer/use-cases-27","/docs/developer/use-cases-28","/docs/developer/use-cases-29","/docs/developer/use-cases-30","/docs/developer/use-cases-31","/docs/developer/use-cases-32","/docs/developer/use-cases-33","/docs/developer/use-cases-34","/docs/developer/use-cases-35","/docs/developer/use-cases-36","/docs/developer/use-cases-37","/docs/developer/use-cases-38","/docs/developer/use-cases-39","/docs/developer/use-cases-40","/docs/developer/use-cases-41","/docs/developer/use-cases-42","/docs/developer/use-cases-43","/docs/developer/use-cases-44","/docs/developer/use-cases-45","/docs/developer/use-cases-46","/docs/developer/use-cases-47","/docs/developer/use-cases-48","/docs/developer/use-cases-49","/docs/developer/use-cases-50","/docs/developer/use-cases-51","/docs/developer/use-cases-52","/docs/developer/use-cases-53","/docs/developer/use-cases-54","/docs/developer/use-cases-55","/docs/developer/use-cases-56","/docs/developer/use-cases-57","/docs/developer/use-cases-58","/docs/developer/use-cases-59","/docs/developer/use-cases-60","/docs/developer/use-cases-61","/docs/developer/use-cases-62","/docs/developer/use-cases-63","/docs/developer/use-cases-64","/docs/developer/use-cases-65","/docs/developer/use-cases-66","/docs/developer/use-cases-67","/docs/developer/use-cases-68","/docs/developer/use-cases-69","/docs/developer/use-cases-70","/docs/developer/use-cases-71","/docs/developer/use-cases-72","/docs/developer/use-cases-73","/docs/developer/use-cases-74","/docs/developer/use-cases-75","/docs/developer/use-cases-76","/docs/developer/use-cases-77","/docs/developer/use-cases-78","/docs/developer/use-cases-79","/docs/developer/use-cases-80","/docs/developer/use-cases-81","/docs/developer/use-cases-82","/docs/developer/use-cases-83","/docs/developer/use-cases-84","/docs/developer/use-cases-85","/docs/developer/use-cases-86","/docs/developer/use-cases-87","/docs/developer/use-cases-88","/docs/developer/use-cases-89","/docs/developer/use-cases-90","/docs/developer/use-cases-91","/docs/developer/use-cases-92","/docs/developer/use-cases-93","/docs/developer/use-cases-94","/docs/developer/use-cases-95","/docs/developer/use-cases-96","/docs/developer/use-cases-97","/docs/developer/use-cases-98","/docs/developer/use-cases-99","/docs/developer/use-cases-100","/docs/developer/use-cases-101","/docs/developer/use-cases-102","/docs/developer/use-cases-103","/docs/developer/use-cases-104","/docs/developer/use-cases-105","/docs/developer/use-cases-106","/docs/developer/use-cases-107","/docs/developer/use-cases-108","/docs/developer/use-cases-109","/docs/developer/use-cases-110","/docs/developer/use-cases-111","/docs/developer/use-cases-112","/docs/developer/use-cases-113","/docs/developer/use-cases-114","/docs/developer/use-cases-115","/docs/developer/use-cases-116","/docs/developer/use-cases-117","/docs/developer/use-cases-118","/docs/developer/use-cases-119","/docs/developer/use-cases-120","/docs/developer/use-cases-121","/docs/developer/use-cases-122","/docs/developer/use-cases-123","/docs/developer/use-cases-124","/docs/developer/use-cases-125","/docs/developer/use-cases-126","/docs/developer/use-cases-127","/docs/developer/use-cases-128","/docs/developer/use-cases-129","/docs/developer/use-cases-130","/docs/developer/use-cases-131","/docs/developer/use-cases-132","/docs/developer/use-cases-133","/docs/developer/use-cases-134","/docs/developer/use-cases-135","/docs/developer/use-cases-136","/docs/developer/use-cases-137","/docs/developer/use-cases-138","/docs/developer/use-cases-139","/docs/developer/use-cases-140","/docs/developer/use-cases-141","/docs/developer/use-cases-142","/docs/developer/use-cases-143","/docs/developer/use-cases-144","/docs/developer/use-cases-145","/docs/developer/use-cases-146","/docs/developer/use-cases-147","/docs/developer/use-cases-148","/docs/developer/use-cases-149","/docs/developer/use-cases-150","/docs/developer/use-cases-151","/docs/developer/use-cases-152","/docs/developer/use-cases-153","/docs/developer/use-cases-154","/docs/developer/use-cases-155","/docs/developer/use-cases-156","/docs/developer/use-cases-157","/docs/developer/use-cases-158","/docs/developer/use-cases-159","/docs/developer/use-cases-160","/docs/developer/use-cases-161","/docs/developer/use-cases-162","/docs/developer/use-cases-163","/docs/developer/use-cases-164","/docs/developer/use-cases-165","/docs/developer/use-cases-166","/docs/developer/use-cases-167","/docs/developer/use-cases-168","/docs/developer/use-cases-169","/docs/developer/use-cases-170","/docs/developer/use-cases-171","/docs/developer/use-cases-172","/docs/developer/use-cases-173","/docs/developer/use-cases-174","/docs/developer/use-cases-175","/docs/developer/use-cases-176","/docs/developer/use-cases-177","/docs/developer/use-cases-178","/docs/developer/use-cases-179","/docs/developer/use-cases-180","/docs/developer/use-cases-181","/docs/developer/use-cases-182","/docs/developer/use-cases-183","/docs/developer/use-cases-184","/docs/developer/use-cases-185","/docs/developer/use-cases-186","/docs/developer/use-cases-187","/docs/developer/use-cases-188","/docs/developer/use-cases-189","/docs/developer/use-cases-190","/docs/developer/use-cases-191","/docs/developer/use-cases-192","/docs/developer/use-cases-193","/docs/developer/use-cases-194","/docs/developer/use-cases-195","/docs/developer/use-cases-196","/docs/developer/use-cases-197","/docs/developer/use-cases-198","/docs/developer/use-cases-199","/docs/developer/use-cases-200","/docs/developer/use-cases-201","/docs/developer/use-cases-202","/docs/developer/use-cases-203","/docs/developer/use-cases-204","/docs/developer/use-cases-205","/docs/developer/use-cases-206","/docs/developer/use-cases-207","/docs/developer/use-cases-208","/docs/developer/use-cases-209","/docs/developer/use-cases-210","/docs/developer/use-cases-211","/docs/developer/use-cases-212","/docs/developer/use-cases-213","/docs/developer/use-cases-214","/docs/developer/use-cases-215","/docs/developer/use-cases-216","/docs/developer/use-cases-217","/docs/developer/use-cases-218","/docs","/docs-0","/docs-1","/docs-2","/docs-3","/docs-4","/docs-5","/docs-6","/docs-7","/docs-8","/docs-9","/docs-10","/docs-11","/docs-12","/docs-13","/docs-14","/docs-15","/docs-16","/docs-17","/docs-18","/docs-19","/docs-20","/docs-21","/docs-22","/docs-23","/docs-24","/docs-25","/docs-26","/docs-27","/docs-28","/docs-29","/docs-30","/docs-31","/docs-32","/docs-33","/docs-34","/docs-35","/docs-36","/docs-37","/docs-38","/docs-39","/docs-40","/docs-41","/docs-42","/docs-43","/docs-44","/docs-45","/docs-46","/docs-47","/docs-48","/docs-49","/docs-50","/docs-51","/docs-52","/docs-53","/docs-54","/docs-55","/docs-56","/docs-57","/docs-58","/docs-59","/docs-60","/docs-61","/docs-62","/docs-63","/docs-64","/docs/miscellaneous/internals","/docs/miscellaneous/internals-0","/docs/miscellaneous/internals-1","/docs/miscellaneous/internals-2","/docs/miscellaneous/internals-3","/docs/miscellaneous/internals-4","/docs/miscellaneous/internals-5","/docs/miscellaneous/internals-6","/docs/miscellaneous/internals-7","/docs/miscellaneous/internals-8","/docs/miscellaneous/internals-9","/docs/miscellaneous/internals-10","/docs/miscellaneous/internals-11","/docs/miscellaneous/internals-12","/docs/miscellaneous/internals-13","/docs/miscellaneous/internals-14","/docs/miscellaneous/internals-15","/docs/miscellaneous/internals-16","/docs/miscellaneous/internals-17","/docs/miscellaneous/internals-18","/docs/miscellaneous/internals-19","/docs/miscellaneous/internals-20","/docs/miscellaneous/internals-21","/docs/miscellaneous/internals-22","/docs/miscellaneous/internals-23","/docs/miscellaneous/internals-24","/docs/miscellaneous/internals-25","/docs/miscellaneous/internals-26","/docs/miscellaneous/internals-27","/docs/miscellaneous/internals-28","/docs/miscellaneous/internals-29","/docs/miscellaneous/internals-30","/docs/miscellaneous/internals-31","/docs/miscellaneous/internals-32","/docs/miscellaneous/internals-33","/docs/miscellaneous/internals-34","/docs/miscellaneous/internals-35","/docs/miscellaneous/internals-36","/docs/miscellaneous/internals-37","/docs/miscellaneous/internals-38","/docs/miscellaneous/internals-39","/docs/miscellaneous/internals-40","/docs/miscellaneous/internals-41","/docs/miscellaneous/internals-42","/docs/miscellaneous/internals-43","/docs/miscellaneous/internals-44","/docs/miscellaneous/internals-45","/docs/miscellaneous/internals-46","/docs/miscellaneous/internals-47","/docs/miscellaneous/internals-48","/docs/miscellaneous/internals-49","/docs/miscellaneous/internals-50","/docs/miscellaneous/internals-51","/docs/miscellaneous/internals-52","/docs/miscellaneous/internals-53","/docs/miscellaneous/internals-54","/docs/miscellaneous/internals-55","/docs/miscellaneous/internals-56","/docs/miscellaneous/internals-57","/docs/miscellaneous/internals-58","/docs/miscellaneous/internals-59","/docs/miscellaneous/internals-60","/docs/miscellaneous/internals-61","/docs/miscellaneous/internals-62","/docs/miscellaneous/internals-63","/docs/miscellaneous/internals-64","/docs/miscellaneous/internals-65","/docs/miscellaneous/internals-66","/docs/miscellaneous/internals-67","/docs/miscellaneous/internals-68","/docs/miscellaneous/internals-69","/docs/miscellaneous/internals-70","/docs/miscellaneous/internals-71","/docs/miscellaneous/internals-72","/docs/miscellaneous/internals-73","/docs/miscellaneous/internals-74","/docs/miscellaneous/internals-75","/docs/miscellaneous/internals-76","/docs/miscellaneous/internals-77","/docs/miscellaneous/internals-78","/docs/overview/quick-start","/docs/overview/quick-start-0","/docs/overview/quick-start-1","/docs/overview/quick-start-2","/docs/overview/quick-start-3","/docs/overview/quick-start-4","/docs/overview/quick-start-5","/docs/overview/quick-start-6","/docs/overview/quick-start-7","/docs/overview/quick-start-8","/docs/overview/quick-start-9","/docs/overview/quick-start-10","/docs/overview/quick-start-11","/docs/overview/quick-start-12","/docs/overview/quick-start-13","/docs/overview/quick-start-14","/docs/overview/quick-start-15","/docs/overview/quick-start-16","/docs/overview/quick-start-17","/docs/overview/quick-start-18","/docs/overview/quick-start-19","/docs/overview/quick-start-20","/docs/overview/quick-start-21","/docs/overview/quick-start-22","/docs/overview/quick-start-23","/docs/overview/quick-start-24","/docs/overview/quick-start-25","/docs/overview/quick-start-26","/docs/overview/quick-start-27","/docs/overview/quick-start-28","/docs/overview/quick-start-29","/docs/overview/quick-start-30","/docs/overview/quick-start-31","/docs/overview/quick-start-32","/docs/overview/quick-start-33","/docs/overview/quick-start-34","/docs/overview/quick-start-35","/docs/overview/quick-start-36","/docs/overview/quick-start-37","/docs/overview/quick-start-38","/docs/overview/quick-start-39","/docs/overview/quick-start-40","/docs/overview/quick-start-41","/docs/overview/quick-start-42","/docs/overview/quick-start-43","/docs/overview/quick-start-44","/docs/overview/quick-start-45","/docs/overview/quick-start-46","/docs/overview/quick-start-47","/docs/overview/quick-start-48","/docs/overview/quick-start-49","/docs/overview/quick-start-50","/docs/overview/quick-start-51","/docs/overview/quick-start-52","/docs/overview/quick-start-53","/docs/overview/release-notes","/docs/overview/release-notes-0","/docs/overview/release-notes-1","/docs/overview/release-notes-2","/docs/overview/release-notes-3","/docs/overview/release-notes-4","/docs/overview/release-notes-5","/docs/overview/release-notes-6","/docs/overview/release-notes-7","/docs/overview/release-notes-8","/docs/overview/release-notes-9","/docs/overview/release-notes-10","/docs/overview/release-notes-11","/docs/overview/release-notes-12","/docs/overview/release-notes-13","/docs/overview/release-notes-14","/docs/overview/release-notes-15","/docs/overview/release-notes-16","/docs/overview/release-notes-17","/docs/overview/release-notes-18","/docs/overview/release-notes-19","/docs/overview/release-notes-20","/docs/overview/release-notes-21","/docs/overview/release-notes-22","/docs/overview/release-notes-23","/docs/overview/release-notes-24","/docs/overview/release-notes-25","/docs/overview/release-notes-26","/docs/overview/release-notes-27","/docs/overview/release-notes-28","/docs/overview/release-notes-29","/docs/overview/release-notes-30","/docs/overview/release-notes-31","/docs/overview/release-notes-32","/docs/overview/release-notes-33","/docs/overview/release-notes-34","/docs/overview/release-notes-35","/docs/overview/release-notes-36","/docs/overview/release-notes-37","/docs/overview/release-notes-38","/docs/overview/release-notes-39","/docs/overview/release-notes-40","/docs/overview/release-notes-41","/docs/overview/release-notes-42","/docs/overview/release-notes-43","/docs/overview/release-notes-44","/docs/overview/release-notes-45","/docs/overview/release-notes-46","/docs/overview/release-notes-47","/docs/overview/release-notes-48","/docs/overview/release-notes-49","/docs/overview/release-notes-50","/docs/overview/release-notes-51","/docs/overview/release-notes-52","/docs/overview/release-notes-53","/docs/overview/release-notes-54","/docs/overview/release-notes-55","/docs/overview/release-notes-56","/docs/overview/release-notes-57","/docs/overview/release-notes-58","/docs/overview/release-notes-59","/docs/overview/release-notes-60","/docs/overview/release-notes-61","/docs/overview/release-notes-62","/docs/overview/release-notes-63","/docs/overview/release-notes-64","/docs/overview/release-notes-65","/docs/overview/release-notes-66","/docs/overview/release-notes-67","/docs/overview/release-notes-68","/docs/overview/release-notes-69","/docs/overview/release-notes-70","/docs/overview/release-notes-71","/docs/overview/release-notes-72","/docs/overview/release-notes-73","/docs/overview/release-notes-74","/docs/overview/release-notes-75","/docs/overview/release-notes-76","/docs/overview/release-notes-77","/docs/overview/release-notes-78","/docs/overview/release-notes-79","/docs/overview/release-notes-80","/docs/overview/release-notes-81","/docs/overview/release-notes-82","/docs/overview/release-notes-83","/docs/overview/release-notes-84","/docs/overview/release-notes-85","/docs/overview/release-notes-86","/docs/overview/release-notes-87","/docs/overview/release-notes-88","/docs/overview/release-notes-89","/docs/overview/release-notes-90","/docs/overview/release-notes-91","/docs/overview/release-notes-92","/docs/overview/release-notes-93","/docs/overview/release-notes-94","/docs/overview/release-notes-95","/docs/overview/release-notes-96","/docs/overview/release-notes-97","/docs/overview/release-notes-98","/docs/overview/release-notes-99","/docs/overview/release-notes-100","/docs/overview/release-notes-101","/docs/overview/release-notes-102","/docs/overview/release-notes-103","/docs/overview/release-notes-104","/docs/overview/release-notes-105","/docs/overview/release-notes-106","/docs/overview/release-notes-107","/docs/overview/release-notes-108","/docs/overview/release-notes-109","/docs/overview/release-notes-110","/docs/overview/release-notes-111","/docs/overview/release-notes-112","/docs/overview/release-notes-113","/docs/overview/release-notes-114","/docs/overview/release-notes-115","/docs/overview/release-notes-116","/docs/overview/release-notes-117","/docs/overview/release-notes-118","/docs/overview/release-notes-119","/docs/overview/release-notes-120","/docs/overview/release-notes-121","/docs/overview/release-notes-122","/docs/overview/release-notes-123","/docs/overview/release-notes-124","/docs/overview/release-notes-125","/docs/overview/release-notes-126","/docs/overview/release-notes-127","/docs/overview/release-notes-128","/docs/overview/release-notes-129","/docs/overview/release-notes-130","/docs/overview/release-notes-131","/docs/overview/release-notes-132","/docs/overview/release-notes-133","/docs/overview/release-notes-134","/docs/overview/release-notes-135","/docs/overview/release-notes-136","/docs/overview/release-notes-137","/docs/overview/release-notes-138","/docs/overview/release-notes-139","/docs/overview/release-notes-140","/docs/overview/release-notes-141","/docs/overview/release-notes-142","/docs/overview/release-notes-143","/docs/overview/release-notes-144","/docs/overview/release-notes-145","/docs/overview/release-notes-146","/docs/overview/release-notes-147","/docs/overview/release-notes-148","/docs/overview/release-notes-149","/docs/overview/release-notes-150","/docs/overview/release-notes-151","/docs/overview/release-notes-152","/docs/overview/release-notes-153","/docs/overview/release-notes-154","/docs/overview/release-notes-155","/docs/overview/release-notes-156","/docs/overview/release-notes-157","/docs/overview/release-notes-158","/docs/overview/release-notes-159","/docs/overview/release-notes-160","/docs/overview/release-notes-161","/docs/overview/release-notes-162","/docs/overview/release-notes-163","/docs/overview/release-notes-164","/docs/overview/release-notes-165","/docs/overview/release-notes-166","/docs/overview/release-notes-167","/docs/overview/release-notes-168","/docs/overview/release-notes-169","/docs/overview/release-notes-170","/docs/overview/release-notes-171","/docs/overview/release-notes-172","/docs/overview/release-notes-173","/docs/overview/release-notes-174","/docs/overview/release-notes-175","/docs/overview/release-notes-176","/docs/overview/release-notes-177","/docs/overview/release-notes-178","/docs/overview/release-notes-179","/docs/overview/release-notes-180","/docs/overview/release-notes-181","/docs/overview/release-notes-182","/docs/overview/release-notes-183","/docs/overview/release-notes-184","/docs/overview/release-notes-185","/docs/overview/release-notes-186","/docs/overview/release-notes-187","/docs/overview/release-notes-188","/docs/overview/release-notes-189","/docs/overview/release-notes-190","/docs/overview/release-notes-191","/docs/overview/release-notes-192","/docs/overview/release-notes-193","/docs/overview/release-notes-194","/docs/overview/release-notes-195","/docs/overview/release-notes-196","/docs/overview/release-notes-197","/docs/overview/release-notes-198","/docs/overview/release-notes-199","/docs/overview/release-notes-200","/docs/overview/release-notes-201","/docs/overview/release-notes-202","/docs/overview/release-notes-203","/docs/overview/release-notes-204","/docs/overview/release-notes-205","/docs/overview/release-notes-206","/docs/overview/release-notes-207","/docs/overview/release-notes-208","/docs/overview/release-notes-209","/docs/overview/release-notes-210","index",{"_2207":2208,"_40766":40767,"_40772":40773,"_40774":40775,"_40779":40780,"_51762":51763,"_51770":51771,"_51776":51777},"indexes",{"_2209":2210,"_37698":37699,"_5":37992,"_38009":38010,"_38077":38078,"_14695":38083},"content",{"_5":2211,"_2212":2213,"_37697":2218},"Radix","node",{"_2214":2215,"_2216":2215,"_2217":2218,"_2219":2215,"_2220":2221,"_2222":2223},"w","","s","e",false,"k","d",[],"c",[2224,5747,6894,7524,8743,11245,13223,16532,18108,20052,21536,23166,24989,28343,29474,30242,30353,31353,32073,33701,34402,35120,35558,35691,36014,36065,36284,36358,36561,36773,36787,36832,36856,37077,37115,37315,37503,37620,37629],[2225,2226],"a",{"_2214":2225,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":2228,"_2222":2965},true,[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,2254,2255,2256,2257,2258,2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269,2270,2271,2272,2273,2274,2275,2276,2277,2278,2279,2280,2281,2282,2283,2284,2285,2286,2287,2288,2289,2290,2291,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,2302,2303,2304,2305,2306,2307,2308,2309,2310,2311,2312,2313,2314,2315,2316,2317,2318,2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2342,2343,2344,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2365,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,2388,2389,2390,2391,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,2403,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2437,2438,2439,2440,2441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2489,2490,2491,2492,2493,2494,2495,2496,2497,2498,2499,2500,2501,2502,2503,2504,2505,2506,2507,2508,2509,2510,2511,2512,2513,2514,2515,2516,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,2529,2530,2531,2532,2533,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2550,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572,2573,2574,2575,2576,2577,2578,2579,2580,2581,2582,2583,2584,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,2595,2596,2597,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2624,2625,2626,2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2637,2638,2639,2640,2641,2642,2643,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2664,2665,2666,2667,2668,2669,2670,2671,2672,2673,2674,2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690,2691,2692,2693,2694,2695,2696,2697,2698,2699,2700,2701,2702,2703,2704,2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,2730,2731,2732,2733,2734,2735,2736,2737,2738,2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750,2751,2752,2753,2754,2755,2756,2757,2758,2759,2760,2761,2762,2763,2764,2765,2766,2767,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777,2778,2779,2780,2781,2782,2783,2784,2785,2786,2787,2788,2789,2790,2791,2792,2793,2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806,2807,2808,2809,2810,2811,2812,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823,2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856,2857,2858,2859,2860,2861,2862,2863,2864,2865,2866,2867,2868,2869,2870,2871,2872,2873,2874,2875,2876,2877,2878,2879,2880,2881,2882,2883,2884,2885,2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896,2897,2898,2899,2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915,2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,2931,2932,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,2963,2964],2,11,12,13,14,15,17,18,19,29,32,35,36,46,47,48,49,51,57,65,70,72,73,77,78,100,102,113,114,120,121,123,126,127,128,129,131,132,134,135,136,138,144,148,158,174,176,183,184,186,188,189,191,193,194,195,196,197,200,201,202,204,207,213,214,215,216,217,218,219,220,221,222,224,225,226,227,229,231,232,234,235,236,237,241,242,247,250,263,266,267,269,270,271,272,273,283,286,287,289,292,293,295,296,297,298,304,305,306,312,313,316,317,327,329,330,331,332,333,336,337,340,343,344,346,347,357,372,373,376,379,384,389,393,396,397,399,402,405,406,409,413,414,417,419,434,442,444,446,447,448,449,450,452,464,471,472,473,475,510,512,513,515,517,519,520,521,522,523,524,526,527,530,533,534,536,538,539,541,577,578,579,580,581,582,583,584,585,586,587,590,591,597,598,599,600,601,604,605,606,633,634,635,636,637,640,644,647,649,650,651,653,655,656,659,660,662,665,666,667,668,672,673,674,678,679,681,684,686,687,689,690,691,692,694,696,697,698,699,700,704,705,706,709,710,713,714,715,717,718,719,720,725,727,729,731,732,733,734,735,737,739,745,748,749,750,756,765,768,771,774,781,825,828,830,833,855,861,862,864,870,871,872,873,878,879,880,882,883,884,900,902,903,904,905,906,907,908,910,916,918,919,920,923,925,933,935,940,941,942,944,946,947,949,950,951,952,953,955,956,965,966,970,971,973,974,975,977,980,981,986,987,989,991,1016,1023,1026,1028,1029,1042,1046,1048,1055,1068,1069,1070,1071,1072,1073,1090,1091,1092,1093,1094,1097,1098,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1111,1112,1120,1124,1125,1132,1134,1140,1146,1148,1154,1155,1156,1157,1159,1160,1161,1162,1165,1166,1167,1168,1171,1172,1173,1175,1196,1198,1200,1201,1203,1213,1214,1215,1217,1218,1223,1230,1232,1235,1237,1238,1239,1240,1241,1242,1244,1251,1254,1256,1257,1258,1261,1263,1266,1268,1279,1280,1282,1283,1284,1285,1286,1289,1304,1305,1309,1311,1313,1314,1315,1316,1317,1319,1320,1321,1323,1326,1327,1328,1345,1346,1347,1348,1349,1351,1353,1358,1360,1363,1364,1365,1367,1368,1380,1381,1382,1383,1384,1385,1386,1387,1388,1396,1397,1398,1399,1400,1401,1402,1404,1405,1407,1410,1411,1414,1415,1416,1417,1420,1422,1423,1424,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1445,1446,1447,1448,1451,1453,1454,1455,1456,1459,1474,1475,1476,1478,1479,1482,1484,1485,1488,1500,1501,1502,1503,1505,1506,1507,1509,1510,1511,1515,1516,1517,1518,1521,1522,1523,1524,1525,1526,1529,1530,1534,1535,1537,1542,1543,1545,1546,1548,1549,1551,1554,1555,1558,1560,1563,1625,1626,1627,1628,1630,1631,1634,1636,1637,1638,1639,1641,1642,1643,1644,1646,1647,1648,1649,1650,1651,1653,1654,1655,1658,1659,1666,1668,1669,1670,1672,1676,1678,1679,1680,1681,1682,1683,1685,1686,1687,1688,1689,1690,1691,1692,1694,1695,1696,1698,1700,1703,1707,1708,1711,1712,1716,1718,1720,1723,1724,1725,1731,1732,1735,1740,1742,1743,1760,1784,1797,1799,1800,1801,1802,1803,1804,1806,1807,1808,1809,1811,1812,1813,1814,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1830,1831,1833,1834,1838,1839,1840,1844,1845,1846,1864,1865,1866,1867,1869,1870,1873,1874,1875,1876,1877,1879,1880,1881,1882,1884,1885,1886,1887,1888,1890,1891,1892,1893,1894,1895,1896,1897,1901,1902,1903,1904,1905,1907,1908,1909,1911,1912,1913,1914,1920,1939,1941,1942,1943,1944,1950,1954,1957,1958,1959,1964,1967,1968,1970,1971,1972,1973,1974,1976,1978,1979,1980,1981,1982,2043,2057,2058,2066,2122,2145,2160,2163,2179,[2966,3352,3741,3758,3923,4166,4449,4701,4946,5305,5367,5466,5502,5508,5612,5645,5723,5740],[2220,2967],{"_2214":2968,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":2969,"_2222":2970},"ad",[],[2971,3065,3148,3303,3321,3328,3339,3345],[2972,2973],"m",{"_2214":2974,"_2216":2975,"_2217":2227,"_2219":2972,"_2220":2976,"_2222":3000},"admin","min",[2977,2261,2978,2979,2980,2981,2982,2983,2984,2985,2986,2987,2988,2374,2989,2421,2990,2991,2561,2992,2993,2615,2616,2622,2623,2994,2995,2996,2997,2998,2999],104,275,281,422,423,424,425,427,429,431,432,433,435,850,983,992,1163,1219,1940,2074,2103,2105,2144,[3001,3040],[3002,3003],"i",{"_2214":3004,"_2216":3005,"_2217":2218,"_2219":3002,"_2220":3006,"_2222":3007},"administrat","istrat",[],[3008,3016],[3002,3009],{"_2214":3010,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":3012,"_2222":3015},"administration","ion",[3013,2407,3014],1,1783,[],[3017,3018],"o",{"_2214":3019,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":3021,"_2222":3022},"administrator","or",[2341,2343,2432,2459,2462],[3023,3029],[2216,3024],{"_2214":3025,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3026,"_2222":3028},"administrators",[2233,3027,2430],532,[],[3030,3031],"'",{"_2214":3032,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":3034,"_2222":3039},"administrator's","'s",[3035,3036,3037,3038,2932,2937],540,832,1324,1915,[],[2216,3041],{"_2214":3042,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3043,"_2222":3045},"admins",[3044],967,[3046],[2217,3047],{"_2214":3048,"_2216":3049,"_2217":2227,"_2219":2217,"_2220":3050,"_2222":3064},"adminserver","erver",[3051,3052,3053,3054,3055,2255,3056,3057,3058,3059,3060,3061,2984,3062,3063,2986],31,53,55,56,59,103,106,161,173,421,426,428,430,[],[3066,3067],"v",{"_2214":3068,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":3069,"_2222":3070},"adv",[],[3071,3111,3129],[2225,3072],{"_2214":3073,"_2216":3074,"_2217":2218,"_2219":2225,"_2220":3075,"_2222":3076},"advan","an",[],[3077,3098],[2222,3078],{"_2214":6,"_2216":3079,"_2217":2227,"_2219":2222,"_2220":3080,"_2222":3083},"ced",[3081,3058,3082,2845],16,163,[3084],[3085,3086],"f",{"_2214":3087,"_2216":3088,"_2217":2227,"_2219":3085,"_2220":3089,"_2222":3091},"advancedflowcontrol","flowcontrol",[3090],239,[3092],[2217,3093],{"_2214":3094,"_2216":3095,"_2217":2227,"_2219":2217,"_2220":3096,"_2222":3097},"advancedflowcontrolenabled","enabled",[3090],[],[3099,3100],"t",{"_2214":3101,"_2216":3102,"_2217":2227,"_2219":3099,"_2220":3103,"_2222":3105},"advantage","tage",[3104,2379,2680],154,[3106],[2216,3107],{"_2214":3108,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3109,"_2222":3110},"advantages",[2511],[],[2217,3112],{"_2214":3113,"_2216":3114,"_2217":2218,"_2219":2217,"_2220":3115,"_2222":3116},"adver","er",[],[3117,3123],[2216,3118],{"_2214":3119,"_2216":3120,"_2217":2227,"_2219":2216,"_2220":3121,"_2222":3122},"adversely","sely",[2243,2276,2678],[],[3099,3124],{"_2214":3125,"_2216":3126,"_2217":2227,"_2219":3099,"_2220":3127,"_2222":3128},"advertising","tising",[2890],[],[3002,3130],{"_2214":3131,"_2216":3132,"_2217":2218,"_2219":3002,"_2220":3133,"_2222":3134},"advis","is",[],[3135,3142],[2217,3136],{"_2214":3137,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":3139,"_2222":3141},"advised","ed",[3140],400,[],[2225,3143],{"_2214":3144,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":3146,"_2222":3147},"advisable","able",[2696],[],[2220,3149],{"_2214":3150,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":3151,"_2222":3166},"add",[3152,3153,3154,2297,3155,3156,2421,3157,2450,2461,3158,2484,2502,2509,3159,3160,2520,3161,2586,2588,2614,2684,2687,2733,2754,3162,2998,3163,3164,3165],108,151,156,355,574,654,708,874,877,1039,2029,2110,2111,2168,[3167,3219,3250,3274,3279,3287,3294],[3002,3168],{"_2214":3169,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":3170,"_2222":3171},"addi",[],[3172,3206],[3099,3173],{"_2214":3174,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":3176,"_2222":3180},"addition","tion",[3177,3178,2291,2480,3179],91,180,755,[3181,3200],[2225,3182],{"_2214":3183,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":3185,"_2222":3191},"additional","al",[2338,2363,3186,3187,2458,2465,2563,3188,3189,3190],631,675,1370,1372,1373,[3192],[3193,3194],"l",{"_2214":3195,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":3197,"_2222":3199},"additionally","ly",[2236,3198,2291,2337,2455,2729],143,[],[2216,3201],{"_2214":3202,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3203,"_2222":3205},"additions",[3204],1287,[],[3207,3208],"n",{"_2214":3209,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":3211,"_2222":3218},"adding","ng",[3212,2335,2439,2458,2459,2462,2465,2467,3213,2483,3214,3215,3216,3188,3217],212,707,754,811,881,2156,[],[3220,3221],"r",{"_2214":3222,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":3223,"_2222":3225},"addr",[3224],1174,[3226],[2217,3227],{"_2214":3228,"_2216":3229,"_2217":2227,"_2219":2217,"_2220":3230,"_2222":3241},"address","ess",[2240,2285,2286,3231,3232,2987,2435,2440,3233,3234,2510,2526,2582,2583,3235,2607,2608,3236,2635,2688,3237,3238,3239,3240],328,398,842,857,1123,1224,1547,2034,2114,2192,[3242],[2217,3243],{"_2214":3244,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":3246,"_2222":3249},"addresses","es",[2330,2331,2356,2357,3232,2365,2394,3247,2436,3248,2635],613,648,[],[2217,3251],{"_2214":3252,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":3253,"_2222":3273},"added",[3254,2290,3255,3256,3257,3258,3212,2292,3259,2322,2323,2324,2337,3260,3261,3262,3263,2460,2461,2483,3264,2509,3265,3266,3267,3268,3269,3270,2688,3271,3189,2693,2703,3272,2731,2732,2733],74,208,209,210,211,243,345,348,358,364,866,1030,1032,1033,1234,1299,1301,1369,1406,[],[2216,3275],{"_2214":3276,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3277,"_2222":3278},"adds",[2330,3231,2363,2430,2436,2483],[],[3280,3281],"-",{"_2214":3282,"_2216":3283,"_2217":2227,"_2219":3280,"_2220":3284,"_2222":3286},"add-on","-on",[3285],476,[],[2225,3288],{"_2214":3289,"_2216":3290,"_2217":2227,"_2219":2225,"_2220":3291,"_2222":3293},"addauth","auth",[3292,2421],546,[],[2214,3295],{"_2214":3296,"_2216":3297,"_2217":2227,"_2219":2214,"_2220":3298,"_2222":3302},"addwatch","watch",[3299,3300,3301],1444,2109,2152,[],[3304,3305],"j",{"_2214":3306,"_2216":3307,"_2217":2227,"_2219":3304,"_2220":3308,"_2222":3309},"adjust","just",[2501,2551],[3310,3315],[2217,3311],{"_2214":3312,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":3313,"_2222":3314},"adjusted",[2298],[],[2972,3316],{"_2214":3317,"_2216":3318,"_2217":2227,"_2219":2972,"_2220":3319,"_2222":3320},"adjustments","ments",[2465],[],[3322,3323],"h",{"_2214":3324,"_2216":3325,"_2217":2227,"_2219":3322,"_2220":3326,"_2222":3327},"adhash","hash",[3259],[],[3017,3329],{"_2214":3330,"_2216":3331,"_2217":2227,"_2219":3017,"_2220":3332,"_2222":3333},"adopt","opt",[2460],[3334],[2216,3335],{"_2214":3336,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3337,"_2222":3338},"adopts",[2464],[],[2225,3340],{"_2214":3341,"_2216":3342,"_2217":2227,"_2219":2225,"_2220":3343,"_2222":3344},"adapt","apt",[2524],[],[3220,3346],{"_2214":3347,"_2216":3348,"_2217":2227,"_2219":3220,"_2220":3349,"_2222":3351},"adroitlogic","roitlogic",[3350],1565,[],[3207,3353],{"_2214":3074,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":3354,"_2222":3396},[2235,2236,3355,3356,2252,3357,2255,3198,2272,3104,3358,2287,2290,2293,2294,2321,2324,3359,3360,2333,2334,2336,2337,3361,2341,2343,2346,3362,3363,2360,2366,3364,2367,2368,2371,3365,2388,2389,2391,2396,2398,3156,2410,2435,2439,2443,2449,2450,2452,3187,2458,2459,2461,2462,2463,3366,2464,2465,2471,2472,3367,2477,2481,2484,3179,2503,2509,2510,2511,3159,3368,3160,3216,2516,2518,2520,3369,3370,3371,2547,2550,3372,2570,2586,2588,2589,3373,3374,3375,3376,2603,2604,2605,2606,2607,2608,2618,2619,3224,2620,2624,2625,2626,2627,2629,2634,2635,2637,2644,3377,3378,3379,2653,2654,2658,2662,2663,2666,2669,2673,3380,2679,2681,2683,2686,3381,2687,2688,3271,3188,3189,2691,2692,2693,3382,2701,2703,2706,2711,2720,2737,3383,2742,2749,2751,2754,2774,3384,2786,2787,3385,2805,2809,3386,2821,3387,3388,3389,3390,2859,2860,2866,2871,2872,3391,3392,3393,2898,2926,2927,2928,3038,3394,2946,2947,3395],20,33,101,192,282,291,307,342,352,404,509,695,712,875,911,913,914,1043,1126,1130,1143,1144,1262,1270,1271,1339,1366,1389,1473,1544,1629,1671,1684,1704,1710,1741,1828,1829,1862,1945,2089,[3397,3639,3669,3679,3685,3703,3734],[2220,3398],{"_2214":3399,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":3400,"_2222":3638},"and",[2229,2231,2232,2234,3081,2236,2237,3355,2238,3051,2240,2241,3401,2244,3052,3402,3403,2248,3404,3405,3254,3177,2254,2255,3406,3407,3408,2259,3409,2260,2261,2264,2265,2266,3410,2270,3411,3198,3412,2272,3413,3154,3414,2273,3415,3058,2275,3178,3416,2277,2278,2279,2280,3417,2281,2282,2283,2284,2287,2288,2289,3418,2290,3419,2291,3255,3256,3257,3258,3212,2292,2293,2294,2299,2300,2308,2310,3259,2315,3420,3421,2316,3422,3423,3424,3425,3426,2317,2320,2322,2324,3427,2978,3428,3429,3430,2325,3431,2326,2327,2328,2329,2330,2331,2333,2334,2335,2336,2337,3432,3433,3434,3435,2339,3436,2341,2343,2345,2347,3437,2349,3438,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,3445,3446,3447,3448,3449,3450,3451,2360,3452,3453,3454,2363,3232,2366,3364,2367,2368,3455,2370,2371,3456,3457,2372,2373,3458,2985,2989,3459,2375,2378,2379,2380,2381,3460,2382,3461,3462,3463,3464,3465,2385,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,3365,2389,2390,2392,2394,2395,2396,2399,2400,3476,3027,2403,3477,2404,3478,2405,2407,3479,2414,2428,3480,2429,2430,2431,2432,3481,3482,3483,2435,2436,2437,2439,2440,2441,2443,2445,2448,2449,3484,3485,2451,2452,3187,3486,2454,3487,2455,3488,2457,2458,3489,2459,2460,2461,2462,2463,3366,2464,2465,2466,2467,2469,2471,3213,3158,2472,2473,3367,2477,2478,3490,3491,2483,2484,2485,2486,2487,2489,2491,3492,2492,2494,3493,3179,2498,2499,3494,3495,3496,3497,3498,3499,3500,3501,3502,2503,3503,2508,2510,2511,3160,2513,2514,2515,3216,2517,3504,2520,2521,2522,3505,3370,3371,2529,2532,3506,2533,3507,2535,3508,2538,3509,2546,2547,2548,3510,3511,2550,3044,2551,2553,3512,2556,2557,2558,3513,3514,2559,2562,3515,3516,3517,2564,2565,2567,3265,3518,2568,3519,3520,3521,2571,3522,3523,2573,2575,2577,3524,3525,2578,2579,2580,2581,2583,2584,3526,2585,2586,2587,2588,2589,2590,2595,2597,3527,3528,3374,2600,3529,3530,3531,3532,2602,2603,3533,2605,2606,2608,2610,3534,3535,2618,2620,3536,3537,3538,2624,3539,3540,3541,2626,2627,2628,2629,2630,2994,2631,3542,2632,2633,3268,2634,2635,2637,2638,3543,2641,3544,2642,2643,2646,3377,2650,3545,2651,3204,2658,3546,3547,2661,2662,2665,2666,2667,2668,3548,2671,2672,2673,3549,3550,3551,2675,2676,2678,2679,2680,3552,3553,3554,2684,2686,2688,3271,3188,3190,2689,2691,2692,2693,2695,2696,2697,3555,2699,2700,2703,2704,3556,2705,2706,2707,2708,2709,3557,2713,3558,2714,2715,2716,3559,2718,2719,2720,2721,2722,2723,2724,2726,2727,2729,3299,3560,2735,2736,2737,3561,3562,3563,3564,3383,2740,2741,2742,3565,3566,2746,2747,3567,3568,2749,2750,2751,2752,2758,3569,2763,2767,2768,2769,2770,2773,3570,2775,3384,2777,3237,2779,3571,3572,2781,2783,2785,3573,2786,2787,2789,2791,3574,3575,2794,2795,2796,3576,2797,2800,3577,2801,2802,2805,2806,3578,2807,2808,2809,3579,2810,3580,3581,3582,3583,2813,2814,2815,3584,3585,2817,2820,2823,2824,2825,2826,2827,2830,2831,2832,2833,2834,3586,2836,3587,2837,3388,3588,2838,3589,3389,2840,2841,3590,3591,3592,2843,3593,3594,2845,2846,3595,2848,2849,3596,2850,3597,3598,2851,3390,2853,2854,3014,3599,3600,3601,2856,3602,2857,2860,2861,3603,2865,2866,2867,2868,2869,3391,2881,2882,2884,2886,2887,3604,2889,2890,3605,3606,3607,2894,2895,3608,2899,2900,2901,2902,2903,2904,2907,2908,2909,2910,2916,2917,3609,2919,2921,2923,3610,2924,3611,2927,2928,2929,3612,2932,2935,3613,3614,2937,3615,3616,2938,2941,2942,2943,2944,2946,2950,2951,2953,2955,3617,3618,3619,3162,3620,3621,3622,3623,3624,3625,3626,3627,3628,2997,3629,3630,3631,3632,2999,3633,3634,3635,3636,3637],42,58,63,68,71,107,115,116,122,137,140,147,155,157,159,181,190,203,205,248,249,251,252,253,254,256,274,276,278,280,285,308,309,310,311,315,334,339,349,350,351,353,354,356,363,365,366,377,380,381,382,385,390,395,408,415,416,420,437,451,454,457,463,467,470,484,485,486,487,489,490,494,495,499,500,531,535,537,543,610,639,641,642,669,670,676,680,685,688,722,723,747,753,777,790,795,809,815,818,819,824,829,853,886,909,924,927,936,943,957,959,976,982,985,994,1020,1021,1035,1044,1049,1054,1057,1065,1079,1088,1099,1127,1128,1133,1135,1138,1139,1150,1164,1169,1177,1191,1194,1205,1211,1212,1229,1243,1246,1278,1291,1306,1322,1329,1342,1343,1355,1359,1361,1390,1403,1412,1418,1426,1450,1457,1458,1467,1472,1477,1481,1493,1497,1513,1540,1552,1553,1624,1633,1635,1640,1645,1652,1657,1662,1663,1665,1667,1674,1675,1697,1701,1706,1709,1713,1715,1717,1721,1722,1726,1733,1737,1738,1786,1788,1789,1798,1805,1842,1847,1849,1851,1872,1900,1906,1910,1923,1946,1947,1952,1953,1984,2025,2028,2036,2037,2038,2039,2040,2051,2083,2084,2092,2107,2115,2136,2138,2150,2157,2182,2184,2191,[],[3640,3641],"y",{"_2214":3642,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":3643,"_2222":3655},"any",[2236,3644,3178,2283,2286,3422,2336,2349,3645,3452,2372,2379,2380,3646,2402,2406,2440,2449,3647,2450,2452,3648,3649,2458,2465,2472,2484,2507,3650,2534,3508,3651,3652,3653,2585,2603,2608,2618,3537,2628,2630,2994,3654,2656,2659,2663,2676,2692,2694,2697,2698,2706,2722,2723,3299,2738,2751,2755,2788,2813,2827,2836,2837,2843,2868,2900,2908,2914,2916,2917,2921,2952],25,341,508,671,677,683,912,937,1050,1053,1222,[3656,3663],[3017,3657],{"_2214":3658,"_2216":3659,"_2217":2227,"_2219":3017,"_2220":3660,"_2222":3662},"anyone","one",[2331,2606,2617,3661,2697,2778],1184,[],[3099,3664],{"_2214":3665,"_2216":3666,"_2217":2227,"_2219":3099,"_2220":3667,"_2222":3668},"anything","thing",[2393,2603,2740,3394],[],[3017,3670],{"_2214":3671,"_2216":3672,"_2217":2227,"_2219":3017,"_2220":3673,"_2222":3678},"another","other",[2242,3415,3674,2462,2471,3675,2511,2658,2661,2698,2705,2708,2719,2735,2743,2752,3570,2819,3592,3676,2907,3677,2950],325,721,1843,1960,[],[2216,3680],{"_2214":3681,"_2216":3682,"_2217":2227,"_2219":2216,"_2220":3683,"_2222":3684},"answer","swer",[2320,2904],[],[3207,3686],{"_2214":3687,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":3688,"_2222":3689},"ann",[],[3690,3697],[3691,3692],"u",{"_2214":3693,"_2216":3694,"_2217":2227,"_2219":3691,"_2220":3695,"_2222":3696},"annual","ual",[2433,3510],[],[3017,3698],{"_2214":3699,"_2216":3700,"_2217":2227,"_2219":3017,"_2220":3701,"_2222":3702},"annotations","otations",[2797],[],[2225,3704],{"_2214":3705,"_2216":3706,"_2217":2218,"_2219":2225,"_2220":3707,"_2222":3708},"analy","aly",[],[3709,3718],[2216,3710],{"_2214":3711,"_2216":3712,"_2217":2227,"_2219":2216,"_2220":3713,"_2222":3717},"analysis","sis",[3265,3714,3715,3388,3716],1077,1632,2164,[],[3099,3719],{"_2214":3720,"_2216":3721,"_2217":2227,"_2219":3099,"_2220":3722,"_2222":3723},"analytic","tic",[2815],[3724,3729],[2216,3725],{"_2214":3726,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3727,"_2222":3728},"analytics",[2800,2811,3388,2842,3596],[],[2225,3730],{"_2214":3731,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":3732,"_2222":3733},"analytical",[2832],[],[2222,3735],{"_2214":3736,"_2216":3737,"_2217":2227,"_2219":2222,"_2220":3738,"_2222":3740},"anchors","chors",[3739],1925,[],[2214,3742],{"_2214":3743,"_2216":3744,"_2217":2218,"_2219":2214,"_2220":3745,"_2222":3746},"awa","wa",[],[3747,3753],[3220,3748],{"_2214":3749,"_2216":3750,"_2217":2227,"_2219":3220,"_2220":3751,"_2222":3752},"aware","re",[2230,3478,2709,2784,2952],[],[3640,3754],{"_2214":3755,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":3756,"_2222":3757},"away",[2750,2751,2779,3588],[],[3220,3759],{"_2214":3760,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":3761,"_2222":3762},"ar",[],[3763,3824,3837,3843,3854,3870,3877,3899],[2217,3764],{"_2214":3765,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":3766,"_2222":3812},"are",[2231,2234,2237,2238,3767,3768,2242,2243,2244,3254,2254,2255,3198,3104,2274,2275,3769,3770,2280,3417,3358,2283,2284,2290,3771,2291,3258,3772,3422,3426,3773,3774,2319,3775,3428,3359,2329,2330,2331,2334,3776,3777,2336,2337,2339,2347,2349,3155,3262,3451,3778,3452,2369,2370,2371,2372,3779,3060,3061,3062,3063,2375,2379,3461,2384,2385,3646,3365,2388,2389,2390,3780,2391,2392,2394,2398,2400,3027,3478,3781,2430,2436,2437,2441,2442,2443,2445,2447,3484,3485,3648,2454,3488,2458,2459,2460,2461,2463,2467,2470,2471,3213,2473,3782,3783,2484,2493,3494,3784,2504,3785,2507,2508,2509,2510,2511,2515,2516,2517,2522,2539,2545,3786,3044,3787,3514,3788,3789,2564,3265,3790,3518,3791,3519,3520,3652,2571,2578,2586,3374,3531,2605,2606,2607,2608,3534,3224,2620,3792,3793,3541,2627,2630,3542,2641,3794,2643,3795,2651,3796,2656,2659,3797,2664,2667,3798,2668,2670,3037,2673,3799,2675,2676,2681,2686,3188,3800,3801,2696,2698,2700,2702,2703,2707,2708,3557,2718,2720,2722,2723,2729,3299,3560,2735,2736,2738,3564,2741,3565,2744,2750,2751,2752,2755,2761,2769,2770,2775,2776,2779,3577,3802,2825,2831,3803,2837,3602,2857,2860,3603,2864,2868,2869,3391,3392,2881,2885,2888,2889,3605,3804,3805,2898,2900,2904,2907,2908,2909,3806,3807,3609,2919,2920,2921,2922,2924,2925,2926,3611,2928,2929,3808,3612,3809,2932,3394,2943,2945,2946,2951,2952,2954,2955,3810,3811],30,45,177,185,206,230,259,264,268,299,301,383,418,514,592,728,730,810,856,963,984,988,1019,1034,1040,1176,1183,1245,1265,1281,1308,1318,1344,1371,1378,1660,1702,1863,1871,1889,1898,1917,1926,2102,2148,[3813],[3207,3814],{"_2214":3815,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":3816,"_2222":3817},"aren",[3478],[3818],[3030,3819],{"_2214":3820,"_2216":3821,"_2217":2227,"_2219":3030,"_2220":3822,"_2222":3823},"aren't","'t",[2741],[],[3825,3826],"g",{"_2214":3827,"_2216":3828,"_2217":2227,"_2219":3825,"_2220":3829,"_2222":3830},"argument","gument",[2588,3374,2600],[3831],[2216,3832],{"_2214":3833,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3834,"_2222":3836},"arguments",[2233,3355,3158,3835,3373,3189],1036,[],[3017,3838],{"_2214":3839,"_2216":3840,"_2217":2227,"_2219":3017,"_2220":3841,"_2222":3842},"around","ound",[3452,2453,3603],[],[3002,3844],{"_2214":3845,"_2216":3846,"_2217":2227,"_2219":3002,"_2220":3847,"_2222":3848},"arise","ise",[3453,3650,2634],[3849],[2216,3850],{"_2214":3851,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3852,"_2222":3853},"arises",[2779,2950],[],[3220,3855],{"_2214":3856,"_2216":3857,"_2217":2227,"_2219":3220,"_2220":3858,"_2222":3859},"arrive","rive",[2370,2371,2717],[3860,3865],[2216,3861],{"_2214":3862,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3863,"_2222":3864},"arrives",[2483,2703,2909],[],[2220,3866],{"_2214":3867,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":3868,"_2222":3869},"arrived",[2483,2909],[],[3871,3872],"b",{"_2214":3873,"_2216":3874,"_2217":2227,"_2219":3871,"_2220":3875,"_2222":3876},"arbitrary","bitrary",[2440,2692,2706],[],[2222,3878],{"_2214":3879,"_2216":3880,"_2217":2218,"_2219":2222,"_2220":3881,"_2222":3882},"architectur","chitectur",[],[3883,3894],[2217,3884],{"_2214":3885,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":3886,"_2222":3888},"architecture",[2509,2805,2815,3887],1764,[3889],[2216,3890],{"_2214":3891,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3892,"_2222":3893},"architectures",[2789],[],[2225,3895],{"_2214":3896,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":3897,"_2222":3898},"architectural",[2516],[],[3099,3900],{"_2214":3901,"_2216":3902,"_2217":2218,"_2219":3099,"_2220":3903,"_2222":3904},"arti","ti",[],[3905,3911],[2222,3906],{"_2214":3907,"_2216":3908,"_2217":2227,"_2219":2222,"_2220":3909,"_2222":3910},"article","cle",[2683,3564],[],[3085,3912],{"_2214":3913,"_2216":3914,"_2217":2227,"_2219":3085,"_2220":3915,"_2222":3916},"artifact","fact",[2753,2756],[3917],[2216,3918],{"_2214":3919,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3920,"_2222":3922},"artifacts",[3921],2170,[],[2216,3924],{"_2214":3925,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3926,"_2222":3959},"as",[2231,2234,2236,2237,3644,2244,2252,2254,2255,3408,3927,2260,2262,3928,2266,3929,2267,2268,2269,3153,3413,3930,2277,2287,2290,3771,2317,2321,2978,2325,2327,2334,3931,2336,3361,3434,2338,2339,2340,2341,2343,2344,2346,2350,3932,3933,3934,2358,3452,2361,2363,2366,2367,2368,2371,2379,2384,3646,3365,2388,2389,2393,2394,2395,2396,3477,2445,2446,2453,3649,2458,2460,2461,2462,2463,2465,2472,3783,2484,3935,3179,2497,3494,3936,3495,3937,3938,2504,3939,3940,3234,3941,3942,3943,2506,2507,2508,2509,2510,2511,3160,2513,2514,2515,2518,2519,2523,2526,3509,2539,2557,2560,3944,3945,2581,2587,2588,2590,2594,3946,3374,3947,2600,3529,3948,2602,3375,3376,2615,3535,2618,2619,3224,2620,3949,3541,2627,3236,2638,3377,3795,3204,2659,2661,2662,2667,3798,2670,3037,2674,2676,2681,3552,2686,2688,3188,3800,2691,2693,2694,2695,3382,3950,2711,2712,2717,2718,2721,2723,2729,3299,3951,3562,3383,2741,2746,2747,2749,2750,2751,2755,3952,3953,2773,2775,2777,2779,2791,2794,2802,2805,2809,2819,2821,2825,3954,2836,3590,2844,2847,2848,2850,2851,3602,2860,2862,2864,3955,2868,2869,2874,2881,3956,2884,2888,2889,2890,2894,2900,2901,2904,2905,2908,2917,2919,2926,3038,2932,2939,2940,3957,3958,2951,2955],117,130,133,179,303,367,369,370,751,780,793,808,834,840,858,859,860,1022,1067,1122,1131,1137,1186,1393,1452,1527,1528,1693,1810,1832,1962,1963,[3960,4084,4108,4115,4121,4133,4149,4155,4161],[2216,3961],{"_2214":3962,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":3963,"_2222":3964},"ass",[],[3965,4005,4062],[3017,3966],{"_2214":3967,"_2216":3968,"_2217":2218,"_2219":3017,"_2220":3969,"_2222":3970},"associat","ociat",[],[3971,3989],[2217,3972],{"_2214":3973,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":3974,"_2222":3975},"associate",[2687],[3976,3984],[2220,3977],{"_2214":3978,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":3979,"_2222":3983},"associated",[2249,2250,3980,2272,2311,3420,3362,2498,2499,3940,2507,3981,2588,3527,2605,2621,2630,3982,2659,2666,2681,2686,2687,2688,2864,2866,3957,3958],76,863,1269,[],[2216,3985],{"_2214":3986,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":3987,"_2222":3988},"associates",[2608,2941],[],[3002,3990],{"_2214":3991,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":3992,"_2222":3993},"associati",[],[3994,4000],[3017,3995],{"_2214":3996,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":3998,"_2222":3999},"association","on",[3510],[],[3207,4001],{"_2214":4002,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":4003,"_2222":4004},"associating",[2686],[],[3691,4006],{"_2214":4007,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":4008,"_2222":4009},"assu",[],[4010,4046],[2972,4011],{"_2214":4012,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":4013,"_2222":4014},"assum",[],[4015,4021,4033],[3002,4016],{"_2214":4017,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":4019,"_2222":4020},"assuming","ing",[2274,2336,2721],[],[2217,4022],{"_2214":4023,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":4024,"_2222":4026},"assume",[2384,3525,2629,2658,2681,4025],1868,[4027],[2216,4028],{"_2214":4029,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4030,"_2222":4032},"assumes",[4031,4025],746,[],[4034,4035],"p",{"_2214":4036,"_2216":4037,"_2217":2227,"_2219":4034,"_2220":4038,"_2222":4039},"assumption","ption",[4025],[4040],[2216,4041],{"_2214":4042,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4043,"_2222":4045},"assumptions",[4044,3027],529,[],[3220,4047],{"_2214":4048,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":4049,"_2222":4050},"assur",[],[4051,4056],[3002,4052],{"_2214":4053,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":4054,"_2222":4055},"assuring",[2922],[],[2225,4057],{"_2214":4058,"_2216":4059,"_2217":2227,"_2219":2225,"_2220":4060,"_2222":4061},"assurances","ances",[2922],[],[3002,4063],{"_2214":4064,"_2216":4065,"_2217":2227,"_2219":3002,"_2220":4066,"_2222":4067},"assign","ign",[2520,2521,2901,2928,2929],[4068,4074,4079],[2972,4069],{"_2214":4070,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":4072,"_2222":4073},"assignment","ment",[2333,2825],[],[2216,4075],{"_2214":4076,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4077,"_2222":4078},"assigns",[2334,2694],[],[2217,4080],{"_2214":4081,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":4082,"_2222":4083},"assigned",[2334,3786],[],[3640,4085],{"_2214":4086,"_2216":4087,"_2217":2227,"_2219":3640,"_2220":4088,"_2222":4089},"async","ync",[2638],[4090,4102],[3322,4091],{"_2214":4092,"_2216":4093,"_2217":2227,"_2219":3322,"_2220":4094,"_2222":4096},"asynchronous","hronous",[2428,2449,3367,2477,3371,3510,3532,4095,2627,2628,2629,2638,2646,2700,2702,3560,3383,3805],1142,[4097],[3193,4098],{"_2214":4099,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":4100,"_2222":4101},"asynchronously",[2322,2323,2324,2720],[],[2216,4103],{"_2214":4104,"_2216":4105,"_2217":2227,"_2219":2216,"_2220":4106,"_2222":4107},"asyncsending","sending",[2324],[],[2222,4109],{"_2214":4110,"_2216":4111,"_2217":2227,"_2219":2222,"_2220":4112,"_2222":4114},"ascii","cii",[2329,2376,4113],1975,[],[3099,4116],{"_2214":4117,"_2216":4118,"_2217":2227,"_2219":3099,"_2220":4119,"_2222":4120},"asterisk","terisk",[3361],[],[4034,4122],{"_2214":4123,"_2216":4124,"_2217":2227,"_2219":4034,"_2220":4125,"_2222":4126},"aspect","pect",[3384],[4127],[2216,4128],{"_2214":4129,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4130,"_2222":4132},"aspects",[3780,4131,2858],1730,[],[2219,4134],{"_2214":4135,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":4136,"_2222":4137},"ask",[2676],[4138,4144],[3017,4139],{"_2214":4140,"_2216":4141,"_2217":2227,"_2219":3017,"_2220":4142,"_2222":4143},"askoracle","oracle",[2524],[],[3002,4145],{"_2214":4146,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":4147,"_2222":4148},"asking",[2564],[],[3002,4150],{"_2214":4151,"_2216":4152,"_2217":2227,"_2219":3002,"_2220":4153,"_2222":4154},"aside","ide",[3376],[],[3085,4156],{"_2214":4157,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":4158,"_2222":4160},"asf",[4159],2068,[],[2225,4162],{"_2214":4163,"_2216":3074,"_2217":2227,"_2219":2225,"_2220":4164,"_2222":4165},"asan",[3627],[],[4034,4167],{"_2214":4168,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":4169,"_2222":4170},"ap",[],[4171,4320,4349],[4034,4172],{"_2214":4173,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":4174,"_2222":4175},"app",[2606,2693,2775],[4176,4224,4290,4315],[2217,4177],{"_2214":4178,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":4179,"_2222":4180},"appe",[],[4181,4213],[3207,4182],{"_2214":4183,"_2216":4184,"_2217":2227,"_2219":3207,"_2220":4185,"_2222":4187},"append","nd",[4186,2588,2614,2669],876,[4188,4203,4208],[2217,4189],{"_2214":4190,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":4191,"_2222":4192},"appende",[],[4193,4198],[2220,4194],{"_2214":4195,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":4196,"_2222":4197},"appended",[2231,2254,3423,2693,2778],[],[3220,4199],{"_2214":4200,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":4201,"_2222":4202},"appender",[2235,3179],[],[3002,4204],{"_2214":4205,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":4206,"_2222":4207},"appending",[2231],[],[2216,4209],{"_2214":4210,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4211,"_2222":4212},"appends",[2778],[],[2225,4214],{"_2214":4215,"_2216":3760,"_2217":2227,"_2219":2225,"_2220":4216,"_2222":4218},"appear",[2749,2773,2924,2925,4217],2045,[4219],[3002,4220],{"_2214":4221,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":4222,"_2222":4223},"appearing",[2340],[],[3193,4225],{"_2214":4226,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":4227,"_2222":4228},"appl",[],[4229,4280],[3002,4230],{"_2214":4231,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":4232,"_2222":4233},"appli",[],[4234,4265],[2222,4235],{"_2214":4236,"_2216":4237,"_2217":2218,"_2219":2222,"_2220":4238,"_2222":4239},"applica","ca",[],[4240,4259],[3099,4241],{"_2214":4242,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":4243,"_2222":4246},"application",[2573,2578,3526,2591,3374,3947,2601,3537,3538,2638,4244,2663,3551,3799,2676,3552,2691,2692,2693,2701,2779,2780,2797,2798,2815,2817,3593,4245,2931,2944,3623],1252,1918,[4247,4254],[2216,4248],{"_2214":4249,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4250,"_2222":4253},"applications",[2246,3198,2386,2387,3478,2552,3374,2637,2680,4251,3565,2784,3573,2789,2798,2800,2855,2856,3602,3603,2883,2890,4252],1461,1930,[],[3030,4255],{"_2214":4256,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":4257,"_2222":4258},"application's",[2638],[],[3871,4260],{"_2214":4261,"_2216":4262,"_2217":2227,"_2219":3871,"_2220":4263,"_2222":4264},"applicable","ble",[3776,3777,2561],[],[2217,4266],{"_2214":4267,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":4268,"_2222":4269},"applie",[],[4270,4275],[2216,4271],{"_2214":4272,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4273,"_2222":4274},"applies",[2289,3381],[],[2220,4276],{"_2214":4277,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":4278,"_2222":4279},"applied",[3433,2478,3783,2652,2654,2655,2870,2872,3391,2882],[],[3640,4281],{"_2214":4282,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":4283,"_2222":4284},"apply",[2605,2606,3271],[4285],[3002,4286],{"_2214":4287,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":4288,"_2222":4289},"applying",[3420],[],[3220,4291],{"_2214":4292,"_2216":4293,"_2217":2218,"_2219":3220,"_2220":4294,"_2222":4295},"appro","ro",[],[4296,4302,4308],[4034,4297],{"_2214":4298,"_2216":4299,"_2217":2227,"_2219":4034,"_2220":4300,"_2222":4301},"appropriate","priate",[2283,2284],[],[2225,4303],{"_2214":4304,"_2216":4305,"_2217":2227,"_2219":2225,"_2220":4306,"_2222":4307},"approach","ach",[2371,2776,2777],[],[4309,4310],"x",{"_2214":4311,"_2216":4312,"_2217":2227,"_2219":4309,"_2220":4313,"_2222":4314},"approximately","ximately",[2884],[],[2216,4316],{"_2214":4317,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4318,"_2222":4319},"apps",[2797,2849],[],[3002,4321],{"_2214":4322,"_2216":3002,"_2217":2227,"_2219":3002,"_2220":4323,"_2222":4337},"api",[2233,4324,2264,2336,4325,2440,3485,3647,3187,3648,4326,3649,4327,3367,4328,2477,2486,2597,3529,2601,4329,3533,4330,3539,2637,2638,4331,2642,4244,2646,2647,3377,2648,2658,3798,2668,4332,2695,2700,3565,4333,3038,4334,4335,4336,2999],125,622,682,711,716,1145,1153,1247,1357,1791,2024,2091,2106,[4338,4343],[2216,4339],{"_2214":4340,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4341,"_2222":4342},"apis",[2979,2449,3484,3485,2451,2556,2991,2624,2638,2809,3014,2943],[],[3030,4344],{"_2214":4345,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":4346,"_2222":4348},"api's",[4347],1480,[],[2225,4350],{"_2214":4351,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":4352,"_2222":4353},"apa",[],[4354,4443],[2222,4355],{"_2214":4356,"_2216":4357,"_2217":2227,"_2219":2222,"_2220":4358,"_2222":4416},"apache","che",[4359,2271,2291,4360,2341,2345,4361,3367,2477,2491,2492,3493,3502,2503,2504,2506,3541,3542,2639,2785,4362,4363,4364,4365,4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387,2786,2787,2794,2797,2805,2809,4388,2811,3802,2812,2813,2816,4389,2817,2824,2827,2831,2833,2834,4390,3388,4391,3588,2838,2839,3389,2840,4392,3591,2842,2843,4393,4394,4395,4396,4397,4398,4399,4400,4401,4402,4403,4404,3887,4405,4406,4407,4408,4409,4410,4411,4412,4413,4414,3014,3605,2933,4415,3622],34,265,368,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,1656,1673,1699,1705,1714,1744,1746,1747,1748,1749,1750,1751,1753,1754,1755,1756,1757,1765,1766,1767,1768,1770,1772,1774,1778,1779,1780,2019,[4417,4436],[3280,4418],{"_2214":4419,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":4420,"_2222":4421},"apache-",[],[4422,4429],[2220,4423],{"_2214":4424,"_2216":4425,"_2217":2227,"_2219":2220,"_2220":4426,"_2222":4428},"apache-drill-architecture-ultimate-guide","drill-architecture-ultimate-guide",[4427],1771,[],[2219,4430],{"_2214":4431,"_2216":4432,"_2217":2227,"_2219":2219,"_2220":4433,"_2222":4435},"apache-kylin-architecture","kylin-architecture",[4434],1776,[],[3002,4437],{"_2214":4438,"_2216":4439,"_2217":2227,"_2219":3002,"_2220":4440,"_2222":4442},"apacheignite","ignite",[4441],1777,[],[3220,4444],{"_2214":4445,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":4447,"_2222":4448},"apart","rt",[2923],[],[3193,4450],{"_2214":3184,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":4451,"_2222":4452},[],[4453,4547,4590,4600,4607,4628,4640,4654,4671,4689,4695],[3193,4454],{"_2214":4455,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":4456,"_2222":4476},"all",[2231,2238,2244,4457,4458,2248,2254,2255,4459,3927,4460,3929,4461,3413,3058,2274,2281,2282,2318,2319,2321,3431,2330,2333,2334,3361,4462,2343,3155,2357,3453,2363,3232,2382,3780,3479,4463,2414,4464,4465,4466,2429,2430,2436,2443,2448,3187,2456,2458,2462,2471,2485,2486,4467,2498,2499,3784,3503,2507,2508,2511,3160,2514,3370,4468,3514,3788,2564,4469,3518,2568,3652,2578,2583,2604,2608,2614,4470,3537,2627,2628,2638,2642,2646,2647,2658,2666,2668,2672,3549,2679,3800,2693,2697,2705,2706,2718,2722,2729,2738,3564,2744,2749,2750,2751,2773,2774,2775,2777,2779,3385,3577,2813,2814,2824,2825,2836,3587,3803,2837,2860,2862,2866,2881,2883,3605,3393,2891,2892,2894,2895,2899,2900,2904,4471,2917,3807,4472,3609,2919,2921,2923,2924,2928,2944,2952,2953,4473,4474,4475],61,62,111,124,150,319,573,588,602,608,762,969,1027,1182,1883,1899,2062,2082,2130,[4477],[3017,4478],{"_2214":4479,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":4480,"_2222":4481},"allo",[],[4482,4525],[2214,4483],{"_2214":4484,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":4485,"_2222":4491},"allow",[4486,4487,2317,2327,4488,2332,3432,4489,2348,2350,3155,2431,2605,2615,2704,2865,2884,4245,4490],198,199,288,314,2174,[4492,4506,4513,4520],[2216,4493],{"_2214":4494,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4495,"_2222":4499},"allows",[2278,3363,3263,3446,3447,4496,2360,2398,4497,2452,3213,2515,2615,4498,2637,2659,2662,2695,2699,2722,2788,2806,2815,2817,2833,2857,2864,2889,2904,2923],371,652,1227,[4500],[2225,4501],{"_2214":4502,"_2216":4503,"_2217":2227,"_2219":2225,"_2220":4504,"_2222":4505},"allowsaslfailedclients","aslfailedclients",[2348,2350],[],[2217,4507],{"_2214":4508,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":4509,"_2222":4512},"allowed",[2282,2284,2291,2307,4510,3478,2406,2437,2466,3213,2473,3783,2484,3797,3798,2744,4511],233,1541,[],[3220,4514],{"_2214":4515,"_2216":4516,"_2217":2227,"_2219":3220,"_2220":4517,"_2222":4519},"allowreversednslookup","reversednslookup",[3155,4518],1225,[],[3002,4521],{"_2214":4522,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":4523,"_2222":4524},"allowing",[2984,2491,2515,2926],[],[2222,4526],{"_2214":4527,"_2216":4528,"_2217":2218,"_2219":2222,"_2220":4529,"_2222":4530},"allocat","cat",[],[4531,4536],[2217,4532],{"_2214":4533,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":4534,"_2222":4535},"allocates",[3417],[],[3002,4537],{"_2214":4538,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":4539,"_2222":4541},"allocation",[4540],2176,[4542],[2216,4543],{"_2214":4544,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4545,"_2222":4546},"allocations",[2551],[],[3099,4548],{"_2214":4549,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":4550,"_2222":4551},"alt",[],[4552,4558],[3322,4553],{"_2214":4554,"_2216":4555,"_2217":2227,"_2219":3322,"_2220":4556,"_2222":4557},"although","hough",[2234,2448,2458,2509,2677,2894],[],[2217,4559],{"_2214":4560,"_2216":3114,"_2217":2218,"_2219":2217,"_2220":4561,"_2222":4562},"alter",[],[4563,4585],[3207,4564],{"_2214":4565,"_2216":4566,"_2217":2218,"_2219":3207,"_2220":4567,"_2222":4568},"alternat","nat",[],[4569,4580],[3002,4570],{"_2214":4571,"_2216":4572,"_2217":2227,"_2219":3002,"_2220":4573,"_2222":4574},"alternative","ive",[3155],[4575],[3193,4576],{"_2214":4577,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":4578,"_2222":4579},"alternatively",[2578,2721],[],[2217,4581],{"_2214":4582,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":4583,"_2222":4584},"alternate",[3189],[],[2217,4586],{"_2214":4587,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":4588,"_2222":4589},"altered",[2443,3487],[],[2216,4591],{"_2214":4592,"_2216":4593,"_2217":2227,"_2219":2216,"_2220":4594,"_2222":4599},"also","so",[2237,3355,2242,2244,2255,3928,3770,3417,2283,2304,3421,2331,3436,3362,2356,2357,2363,2365,3365,2394,2398,2403,2435,4595,2444,2448,2462,2466,3367,2477,3494,3936,4596,3495,3937,2503,2515,2553,3374,2600,3529,2601,3376,2606,2615,2616,2627,2994,2659,2662,3798,2669,3800,2693,2699,2712,2717,2723,2730,2788,2820,2822,2836,3803,2837,2849,2864,2865,3955,2868,2885,2890,2894,2895,2900,4472,3609,2921,2923,2924,4597,2950,2951,2953,4598],645,787,1916,2070,[],[2214,4601],{"_2214":4602,"_2216":4603,"_2217":2227,"_2219":2214,"_2220":4604,"_2222":4606},"always","ways",[2266,2635,2659,3548,3381,2704,4511,2904,2921,3038,4605],2135,[],[3002,4608],{"_2214":4609,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":4610,"_2222":4611},"ali",[],[4612,4622],[2225,4613],{"_2214":4614,"_2216":3925,"_2217":2227,"_2219":2225,"_2220":4615,"_2222":4616},"alias",[2272],[4617],[2217,4618],{"_2214":4619,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":4620,"_2222":4621},"aliases",[4461,2346],[],[3066,4623],{"_2214":4624,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":4626,"_2222":4627},"alive","ve",[3509,2699,2701],[],[3220,4629],{"_2214":4630,"_2216":4631,"_2217":2227,"_2219":3220,"_2220":4632,"_2222":4633},"already","ready",[3104,2316,3434,2342,2366,2445,2459,2472,2551,2650,2717,2831],[4634],[3280,4635],{"_2214":4636,"_2216":4637,"_2217":2227,"_2219":3280,"_2220":4638,"_2222":4639},"already-constructed","-constructed",[3363],[],[3825,4641],{"_2214":4642,"_2216":4643,"_2217":2227,"_2219":3825,"_2220":4644,"_2222":4647},"algorithm","gorithm",[2325,4645,3674,4646,2342,2431,2704,3556,2705,2706,2774,2889,2901],318,326,[4648],[2216,4649],{"_2214":4650,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4651,"_2222":4653},"algorithms",[4652,2432,2524],320,[],[3017,4655],{"_2214":4656,"_2216":3997,"_2217":2218,"_2219":3017,"_2220":4657,"_2222":4658},"alon",[],[4659,4666],[3825,4660],{"_2214":4661,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":4662,"_2222":4665},"along",[2334,4663,3179,2514,2515,4664,2661,2860],386,1276,[],[2217,4667],{"_2214":4668,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":4669,"_2222":4670},"alone",[2661],[],[2217,4672],{"_2214":4673,"_2216":4674,"_2217":2227,"_2219":2217,"_2220":4675,"_2222":4676},"alert","ert",[3501],[4677,4683],[3002,4678],{"_2214":4679,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":4680,"_2222":4682},"alerting",[4681,3501,2501],801,[],[2972,4684],{"_2214":4685,"_2216":4686,"_2217":2227,"_2219":2972,"_2220":4687,"_2222":4688},"alertmanager","manager",[3501],[],[2972,4690],{"_2214":4691,"_2216":4692,"_2217":2227,"_2219":2972,"_2220":4693,"_2222":4694},"almost","most",[2679],[],[4034,4696],{"_2214":4697,"_2216":4698,"_2217":2227,"_2219":4034,"_2220":4699,"_2222":4700},"alphabetically","phabetically",[3573],[],[3691,4702],{"_2214":4703,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":4704,"_2222":4705},"au",[],[4706,4930],[3099,4707],{"_2214":4708,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":4709,"_2222":4710},"aut",[],[4711,4822],[3017,4712],{"_2214":4713,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":4714,"_2222":4715},"auto",[3418,2290],[4716,4722,4757,4793,4800,4816],[4034,4717],{"_2214":4718,"_2216":4719,"_2217":2227,"_2219":4034,"_2220":4720,"_2222":4721},"autopurge","purge",[2232,3081,3418,2290],[],[2972,4723],{"_2214":4724,"_2216":4725,"_2217":2218,"_2219":2972,"_2220":4726,"_2222":4727},"automa","ma",[],[4728,4751],[3099,4729],{"_2214":4730,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":4731,"_2222":4732},"automat",[],[4733,4746],[3002,4734],{"_2214":4735,"_2216":4736,"_2217":2227,"_2219":3002,"_2220":4737,"_2222":4739},"automatic","ic",[3081,4498,2803,4738],1677,[4740],[2225,4741],{"_2214":4742,"_2216":4743,"_2217":2227,"_2219":2225,"_2220":4744,"_2222":4745},"automatically","ally",[2236,2237,2275,2339,2366,2411,2445,2454,2458,2460,2467,2557,4469,3652,2604,2620,4498,2692,2710,2743,2778,2822,2953],[],[2217,4747],{"_2214":4748,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":4749,"_2222":4750},"automated",[2430,2788],[],[2219,4752],{"_2214":4753,"_2216":4754,"_2217":2227,"_2219":2219,"_2220":4755,"_2222":4756},"automake","ke",[3543],[],[2222,4758],{"_2214":4759,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":4760,"_2222":4761},"autoc",[],[4762,4781],[3220,4763],{"_2214":4764,"_2216":4765,"_2217":2218,"_2219":3220,"_2220":4766,"_2222":4767},"autocreat","reat",[],[4768,4774],[3002,4769],{"_2214":4770,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":4771,"_2222":4773},"autocreation",[4772],169,[],[2217,4775],{"_2214":4776,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":4777,"_2222":4780},"autocreate",[2366,4778,2367,4779],403,407,[],[3017,4782],{"_2214":4783,"_2216":4784,"_2217":2227,"_2219":3017,"_2220":4785,"_2222":4786},"autoconf","onf",[3543],[4787],[3002,4788],{"_2214":4789,"_2216":4790,"_2217":2227,"_2219":3002,"_2220":4791,"_2222":4792},"autoconfiguration","iguration",[2797],[],[4794,4795],"_",{"_2214":4796,"_2216":4797,"_2217":2227,"_2219":4794,"_2220":4798,"_2222":4799},"auto_read","_read",[3090],[],[3280,4801],{"_2214":4802,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":4803,"_2222":4804},"auto-",[],[4805,4811],[3220,4806],{"_2214":4807,"_2216":4808,"_2217":2227,"_2219":3220,"_2220":4809,"_2222":4810},"auto-reset","reset",[2604],[],[2225,4812],{"_2214":4813,"_2216":4064,"_2217":2227,"_2219":2225,"_2220":4814,"_2222":4815},"auto-assign",[3633],[],[3220,4817],{"_2214":4818,"_2216":4819,"_2217":2227,"_2219":3220,"_2220":4820,"_2222":4821},"autoreconf","reconf",[3543],[],[3322,4823],{"_2214":3290,"_2216":3322,"_2217":2227,"_2219":3322,"_2220":4824,"_2222":4829},[2341,2342,2345,3437,2349,4825,3438,3645,4361,3448,2983,2506,3514,3533,2618,2620,4826,2688,4827,2996,4828],338,1185,2054,2113,[4830,4879,4913,4918,4924],[2217,4831],{"_2214":4832,"_2216":4833,"_2217":2218,"_2219":2217,"_2220":4834,"_2222":4835},"authenticat","enticat",[],[4836,4864],[3002,4837],{"_2214":4838,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":4839,"_2222":4840},"authenticati",[],[4841,4859],[3017,4842],{"_2214":4843,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":4844,"_2222":4852},"authentication",[3198,3058,4845,4489,3436,2340,2341,2345,2347,2348,2349,2350,3645,4846,4847,4848,4361,3933,3934,4496,3156,4466,2440,3485,3647,2451,3187,3486,3785,2506,2508,3514,2607,2618,2619,2994,4849,3654,4850,2684,2685,2686,3381,2687,2688,3271,3188,3800,3189,2691,2959,4851],165,359,360,361,1220,1362,2088,[4853],[4034,4854],{"_2214":4855,"_2216":4856,"_2217":2227,"_2219":4034,"_2220":4857,"_2222":4858},"authenticationprovider","provider",[2345,2506,3190],[],[3207,4860],{"_2214":4861,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":4862,"_2222":4863},"authenticating",[2341],[],[2217,4865],{"_2214":4866,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":4867,"_2222":4868},"authenticate",[3231,3262,3538,2624,2684,2686],[4869,4874],[2220,4870],{"_2214":4871,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":4872,"_2222":4873},"authenticated",[2325,2341,2343,2347,2349,3645,3933,3934,2451,3234,3943,2508,2618,2620,3537],[],[2216,4875],{"_2214":4876,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4877,"_2222":4878},"authenticates",[2608],[],[3017,4880],{"_2214":4881,"_2216":4882,"_2217":2218,"_2219":3017,"_2220":4883,"_2222":4884},"authoriz","oriz",[],[4885,4892,4908],[2225,4886],{"_2214":4887,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":4889,"_2222":4891},"authorization","ation",[4845,4489,3506,4890,3514],928,[],[2217,4893],{"_2214":4894,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":4895,"_2222":4897},"authorize",[3369,2530,2531,4896,3508,2537],930,[4898,4903],[2220,4899],{"_2214":4900,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":4901,"_2222":4902},"authorized",[2336,3156,2452,2524],[],[2216,4904],{"_2214":4905,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":4906,"_2222":4907},"authorizes",[2539],[],[3002,4909],{"_2214":4910,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":4911,"_2222":4912},"authorizing",[2538,3509],[],[2220,4914],{"_2214":4915,"_2216":3,"_2217":2227,"_2219":2220,"_2220":4916,"_2222":4917},"authdata",[2341],[],[4034,4919],{"_2214":4920,"_2216":4856,"_2217":2227,"_2219":4034,"_2220":4921,"_2222":4923},"authprovider",[2345,4361,3188,3800,4922],2022,[],[4794,4925],{"_2214":4926,"_2216":4927,"_2217":2227,"_2219":4794,"_2220":4928,"_2222":4929},"auth_failed","_failed",[2630],[],[2220,4931],{"_2214":4932,"_2216":4933,"_2217":2227,"_2219":2220,"_2220":4934,"_2222":4939},"audit","dit",[3774,4360,2340,4935,3496,4936,4937,3938,2504,3939,3940,3503,4938,2505,2508,4217],794,806,807,854,[4940],[2217,4941],{"_2214":4942,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":4943,"_2222":4945},"audited",[3939,4944],844,[],[2222,4947],{"_2214":4948,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":4949,"_2222":4950},"ac",[],[4951,5030,5041,5172,5178,5251,5258,5294,5299],[3099,4952],{"_2214":4953,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":4954,"_2222":4955},"act",[2242,2738,2836],[4956,5014,5025],[3002,4957],{"_2214":4958,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":4959,"_2222":4960},"acti",[],[4961,5004,5009],[3066,4962],{"_2214":4963,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":4964,"_2222":4965},"activ",[],[4966,4972],[2217,4967],{"_2214":4968,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":4969,"_2222":4971},"active",[2236,2248,2261,2396,2402,3798,2676,2699,2819,2822,2823,2838,2848,3955,4970,2903,2904,2921,2922,2923],1853,[],[2225,4973],{"_2214":4974,"_2216":4975,"_2217":2218,"_2219":2225,"_2220":4976,"_2222":4977},"activat","at",[],[4978,4994],[3002,4979],{"_2214":4980,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":4981,"_2222":4982},"activati",[],[4983,4988],[3207,4984],{"_2214":4985,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":4986,"_2222":4987},"activating",[2326,2515],[],[3017,4989],{"_2214":4990,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":4991,"_2222":4993},"activation",[2471,4992,2901,2902,2904,2905,2907,3806,2917,2922,2923],1852,[],[2217,4995],{"_2214":4996,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":4997,"_2222":4998},"activate",[4938,2910],[4999],[2220,5000],{"_2214":5001,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":5002,"_2222":5003},"activated",[2360,2471,3216],[],[3207,5005],{"_2214":5006,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":5007,"_2222":5008},"acting",[2266],[],[3017,5010],{"_2214":5011,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":5012,"_2222":5013},"action",[2850],[],[3691,5015],{"_2214":5016,"_2216":3694,"_2217":2227,"_2219":3691,"_2220":5017,"_2222":5018},"actual",[2283,3420,2316,2662,2693,2926],[5019],[3193,5020],{"_2214":5021,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":5022,"_2222":5024},"actually",[2379,2460,5023,2674,2921,2923],852,[],[3017,5026],{"_2214":5027,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":5028,"_2222":5029},"actor",[2440],[],[3322,5031],{"_2214":5032,"_2216":5033,"_2217":2227,"_2219":3322,"_2220":5034,"_2222":5035},"achieve","hieve",[2369,2404,2438,2459,2484,2704,2827,2857,3805],[5036],[2220,5037],{"_2214":5038,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":5039,"_2222":5040},"achieved",[3355,3805],[],[2222,5042],{"_2214":5043,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":5044,"_2222":5045},"acc",[],[5046,5104,5137,5166],[2217,5047],{"_2214":5048,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":5049,"_2222":5050},"acce",[],[5051,5072],[2216,5052],{"_2214":5053,"_2216":5054,"_2217":2227,"_2219":2216,"_2220":5055,"_2222":5058},"access","ss",[2341,2343,2344,3363,2364,3461,3478,2451,3187,3486,3494,3495,2557,5056,3533,2605,2608,3534,2618,3537,2630,3546,5057,2664,2666,2695,2804,2824,3803,3589,2845,2858,2866],1149,1294,[5059,5067],[3002,5060],{"_2214":5061,"_2216":5062,"_2217":2227,"_2219":3002,"_2220":5063,"_2222":5066},"accessible","ible",[5064,2245,2540,5065,3552,2834,2894],26,948,[],[2217,5068],{"_2214":5069,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":5070,"_2222":5071},"accesses",[2524],[],[4034,5073],{"_2214":5074,"_2216":5075,"_2217":2227,"_2219":4034,"_2220":5076,"_2222":5077},"accept","pt",[2328,2347,2349,3932,2985,2557,2915],[5078,5083,5088,5093,5099],[2217,5079],{"_2214":5080,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":5081,"_2222":5082},"accepted",[4461,2286,3810],[],[2216,5084],{"_2214":5085,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5086,"_2222":5087},"accepts",[2328,2434,2455,2474,2903],[],[3017,5089],{"_2214":5090,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":5091,"_2222":5092},"acceptor",[3455],[],[2225,5094],{"_2214":5095,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":5096,"_2222":5098},"acceptable",[5097],663,[],[3002,5100],{"_2214":5101,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":5102,"_2222":5103},"accepting",[3367,2477],[],[3017,5105],{"_2214":5106,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":5107,"_2222":5108},"acco",[],[5109,5120,5131],[3691,5110],{"_2214":5111,"_2216":5112,"_2217":2227,"_2219":3691,"_2220":5113,"_2222":5114},"account","unt",[2503],[5115],[3002,5116],{"_2214":5117,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":5118,"_2222":5119},"accounting",[2284],[],[2972,5121],{"_2214":5122,"_2216":5123,"_2217":2227,"_2219":2972,"_2220":5124,"_2222":5125},"accomplish","mplish",[2394],[5126],[2217,5127],{"_2214":5128,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":5129,"_2222":5130},"accomplished",[4778],[],[3220,5132],{"_2214":5133,"_2216":5134,"_2217":2227,"_2219":3220,"_2220":5135,"_2222":5136},"according","rding",[2547,2551,3374,2721,3570],[],[3691,5138],{"_2214":5139,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":5140,"_2222":5141},"accu",[],[5142,5160],[3220,5143],{"_2214":5144,"_2216":5145,"_2217":2218,"_2219":3220,"_2220":5146,"_2222":5147},"accura","ra",[],[5148,5154],[3099,5149],{"_2214":5150,"_2216":5151,"_2217":2227,"_2219":3099,"_2220":5152,"_2222":5153},"accurate","te",[3090],[],[2222,5155],{"_2214":5156,"_2216":5157,"_2217":2227,"_2219":2222,"_2220":5158,"_2222":5159},"accuracy","cy",[2534],[],[2972,5161],{"_2214":5162,"_2216":5163,"_2217":2227,"_2219":2972,"_2220":5164,"_2222":5165},"accumulo","mulo",[4363,2804,2805,4389],[],[3002,5167],{"_2214":5168,"_2216":5169,"_2217":2227,"_2219":3002,"_2220":5170,"_2222":5171},"accidentally","identally",[2346,2366,2460,2714],[],[3220,5173],{"_2214":5174,"_2216":5175,"_2217":2227,"_2219":3220,"_2220":5176,"_2222":5177},"across","ross",[2280,2336,2431,2485,2626,2658,2817,2836,2846],[],[3193,5179],{"_2214":5180,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":5181,"_2222":5194},"acl",[5182,2341,4645,2343,2364,3156,2410,2417,2425,4465,5183,3485,2452,3187,3648,5184,2990,3044,3533,5185,5186,2605,2606,2618,2619,3224,2620,3793,3537,5187,2621,5188,2622,5189,2623,2662,2666,2673,5190,2684,2686,2688,3271,2865,2866,5191,5192,5193,3300],240,603,849,1151,1152,1195,1197,1199,1338,2042,2049,2100,[5195,5212,5219,5225,5245],[3066,5196],{"_2214":5197,"_2216":4625,"_2217":2218,"_2219":3066,"_2220":5198,"_2222":5199},"aclve",[],[5200,5206],[3220,5201],{"_2214":5202,"_2216":5203,"_2217":2227,"_2219":3220,"_2220":5204,"_2222":5205},"aclversion","rsion",[5183],[],[2222,5207],{"_2214":5208,"_2216":5209,"_2217":2227,"_2219":2222,"_2220":5210,"_2222":5211},"aclvector","ctor",[5187,5188],[],[2216,5213],{"_2214":5214,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5215,"_2222":5218},"acls",[3187,5056,2605,2606,2608,2616,3535,5216,5217,2621,2625,2688,3801,3803],1187,1192,[],[3280,5220],{"_2214":5221,"_2216":5222,"_2217":2227,"_2219":3280,"_2220":5223,"_2222":5224},"acl-based","-based",[3533],[],[4794,5226],{"_2214":5227,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":5228,"_2222":5229},"acl_",[],[5230,5239],[3066,5231],{"_2214":5232,"_2216":5233,"_2217":2227,"_2219":3066,"_2220":5234,"_2222":5238},"acl_vector","vector",[5235,5236,5237,5189],1188,1189,1190,[],[3220,5240],{"_2214":5241,"_2216":5242,"_2217":2227,"_2219":3220,"_2220":5243,"_2222":5244},"acl_result","result",[2956],[],[2217,5246],{"_2214":5247,"_2216":5248,"_2217":2227,"_2219":2217,"_2220":5249,"_2222":5250},"aclexpr","expr",[3271],[],[5252,5253],"q",{"_2214":5254,"_2216":5255,"_2217":2227,"_2219":5252,"_2220":5256,"_2222":5257},"acquire","quire",[2368,2823],[],[2219,5259],{"_2214":5260,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":5261,"_2222":5262},"ack",[2484,2576,2911,2912],[5263,5268,5289],[2216,5264],{"_2214":5265,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5266,"_2222":5267},"acks",[2458,2473,2576,3609],[],[3207,5269],{"_2214":5270,"_2216":5271,"_2217":2218,"_2219":3207,"_2220":5272,"_2222":5273},"acknowledg","nowledg",[],[5274,5284],[2217,5275],{"_2214":5276,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":5277,"_2222":5278},"acknowledge",[2484,2784,2900],[5279],[2972,5280],{"_2214":5281,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":5282,"_2222":5283},"acknowledgement",[2900,2927],[],[3002,5285],{"_2214":5286,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":5287,"_2222":5288},"acknowledging",[2927],[],[2217,5290],{"_2214":5291,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":5292,"_2222":5293},"acked",[2913,3609,2919],[],[2972,5295],{"_2214":5296,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":5297,"_2222":5298},"acm",[3510],[],[3002,5300],{"_2214":5301,"_2216":5302,"_2217":2227,"_2219":3002,"_2220":5303,"_2222":5304},"acid","id",[2795],[],[3066,5306],{"_2214":5307,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":5308,"_2222":5309},"av",[],[5310,5329,5350],[2225,5311],{"_2214":5312,"_2216":5313,"_2217":2218,"_2219":2225,"_2220":5314,"_2222":5315},"availab","ailab",[],[5316,5323],[3193,5317],{"_2214":5318,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":5320,"_2222":5322},"available","le",[2237,2243,2255,3057,5321,2266,3770,3431,3433,3263,2358,3232,2367,2388,2406,4463,3480,2471,2493,3497,3784,3791,2638,3189,2707,2808,2815,2858,2860,2929,2937],110,[],[3002,5324],{"_2214":5325,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":5327,"_2222":5328},"availability","ility",[2330,3434,2356,2357,2365,2394,2436,2511,2515,3504,2523,2525,2796,3578,2814,3585],[],[3017,5330],{"_2214":5331,"_2216":5332,"_2217":2227,"_2219":3017,"_2220":5333,"_2222":5339},"avoid","oid",[3401,5334,3768,2278,3417,2283,3212,3090,3775,3362,2392,2406,2458,2483,2486,2679,2740,5335,2762,2779,5336,3630,3811,5337,5338],43,1512,2032,2175,2185,[5340,5345],[2216,5341],{"_2214":5342,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5343,"_2222":5344},"avoids",[2322,3952,3953,2779],[],[2217,5346],{"_2214":5347,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":5348,"_2222":5349},"avoided",[2469,2630],[],[2217,5351],{"_2214":5352,"_2216":3114,"_2217":2218,"_2219":2217,"_2220":5353,"_2222":5354},"aver",[],[5355,5361],[2225,5356],{"_2214":5357,"_2216":5358,"_2217":2227,"_2219":2225,"_2220":5359,"_2222":5360},"average","age",[2667],[],[2216,5362],{"_2214":5363,"_2216":5364,"_2217":2227,"_2219":2216,"_2220":5365,"_2222":5366},"aversion","sion",[2673,5190],[],[3871,5368],{"_2214":5369,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":5370,"_2222":5371},"ab",[],[5372,5378,5413,5417,5455,5460],[3207,5373],{"_2214":5374,"_2216":5375,"_2217":2227,"_2219":3207,"_2220":5376,"_2222":5377},"abnormally","normally",[2237,2743,3632],[],[3017,5379],{"_2214":5380,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":5381,"_2222":5382},"abo",[],[5383,5398,5403],[3691,5384],{"_2214":5385,"_2216":5386,"_2217":2227,"_2219":3691,"_2220":5387,"_2222":5397},"about","ut",[5388,5389,5390,3402,5391,5392,5393,2260,3436,3464,2394,2431,3366,2497,3714,2994,2642,2665,2686,2712,3558,2717,5394,5395,2721,5396,3383,2836,2860,2864,2905,2921,2923,2924,2998],27,28,37,60,64,112,1430,1431,1460,[],[3066,5399],{"_2214":5400,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":5401,"_2222":5402},"above",[2254,2290,3426,2380,2400,2445,2472,2479,2549,2591,3947,2600,4470,2624,2635,2697,2706,2729,2763,2776,2823,2900,3612,2951],[],[3220,5404],{"_2214":5405,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":5406,"_2222":5407},"abort",[2565,2774,2775],[5408],[2216,5409],{"_2214":5410,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5411,"_2222":5412},"aborts",[2923],[],[3193,5414],{"_2214":3145,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":5415,"_2222":5416},[2238,2330,2343,2347,2348,2349,2350,3140,2368,2402,2403,2436,2464,3493,2522,3044,2589,2606,2613,2614,4244,2697,2717,2802,2824,2889,2894,2917,2929],[],[2216,5418],{"_2214":5419,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":5420,"_2222":5421},"abs",[],[5422,5428,5434],[3017,5423],{"_2214":5424,"_2216":5425,"_2217":2227,"_2219":3017,"_2220":5426,"_2222":5427},"absolute","olute",[5393,3372,2570,2659],[],[2217,5429],{"_2214":5430,"_2216":5431,"_2217":2227,"_2219":2217,"_2220":5432,"_2222":5433},"absent","ent",[2464],[],[3099,5435],{"_2214":5436,"_2216":5437,"_2217":2227,"_2219":3099,"_2220":5438,"_2222":5439},"abstract","tract",[3385],[5440,5450],[3002,5441],{"_2214":5442,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":5443,"_2222":5444},"abstraction",[3189,3038],[5445],[2216,5446],{"_2214":5447,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5448,"_2222":5449},"abstractions",[2862],[],[2216,5451],{"_2214":5452,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5453,"_2222":5454},"abstracts",[3588],[],[3002,5456],{"_2214":5457,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":5458,"_2222":5459},"ability",[2450,3179,2930],[],[2225,5461],{"_2214":5462,"_2216":5463,"_2217":2227,"_2219":2225,"_2220":5464,"_2222":5465},"abandoning","andoning",[2907],[],[3085,5467],{"_2214":5468,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":5469,"_2222":5470},"af",[],[5471,5486],[3099,5472],{"_2214":5473,"_2216":5474,"_2217":2227,"_2219":3099,"_2220":5475,"_2222":5485},"after","ter",[2238,3414,3258,3420,5476,5477,2317,2319,2320,5478,4488,2355,2382,2447,2460,2473,2483,3783,2515,5479,2528,5480,2534,2560,2562,3795,3379,2696,3950,2706,2707,2730,2750,3570,4511,2856,2893,2895,2896,2907,2908,2909,2910,2911,3809,2942,2950,5481,5482,5483,5484],255,257,279,893,929,2059,2076,2087,2180,[],[3085,5487],{"_2214":5488,"_2216":5489,"_2217":2227,"_2219":3085,"_2220":5490,"_2222":5491},"affect","fect",[2243,2276,2306,2307,3423,2667],[5492,5497],[2216,5493],{"_2214":5494,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5495,"_2222":5496},"affects",[3232],[],[3002,5498],{"_2214":5499,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":5500,"_2222":5501},"affecting",[3264],[],[3322,5503],{"_2214":5504,"_2216":5505,"_2217":2227,"_2219":3322,"_2220":5506,"_2222":5507},"ahead","head",[2238,4896],[],[3099,5509],{"_2214":4975,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":5510,"_2222":5516},[2247,2248,2281,2282,2285,2313,2314,5476,5478,2328,3435,2349,3645,2366,3455,2369,5511,2373,2379,3460,2382,3365,2413,2416,5512,2424,3480,2429,2435,2436,2437,2441,2460,2461,3213,2478,2481,2483,2486,2509,2522,3505,5513,4896,3508,3651,5514,2568,3652,2573,3525,2585,2628,3204,2658,2666,2670,2671,3549,3552,2682,3188,2691,2693,2696,2697,2703,3556,2705,2716,2720,2722,2729,2736,3564,2744,2749,2755,4388,2813,2817,2832,2836,2837,3589,3389,2846,2850,2853,2854,2858,3603,2864,2866,2875,2877,2883,2888,2890,5515,3393,2894,2900,2904,2921,2924,2928,2931,2932,2949],410,594,922,938,1860,[5517,5582,5601,5606],[3099,5518],{"_2214":5519,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":5520,"_2222":5521},"att",[],[5522,5550,5571],[2217,5523],{"_2214":5524,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":5525,"_2222":5526},"atte",[],[5527,5533],[3207,5528],{"_2214":5529,"_2216":5530,"_2217":2227,"_2219":3207,"_2220":5531,"_2222":5532},"attention","ntion",[3254],[],[2972,5534],{"_2214":5535,"_2216":5536,"_2217":2227,"_2219":2972,"_2220":5537,"_2222":5539},"attempt","mpt",[5538,3178,2286,2336,2440,2447,3037,2703,2740],178,[5540,5545],[3002,5541],{"_2214":5542,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":5543,"_2222":5544},"attempting",[2337],[],[2216,5546],{"_2214":5547,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5548,"_2222":5549},"attempts",[2347,2349,2706],[],[2225,5551],{"_2214":5552,"_2216":4948,"_2217":2218,"_2219":2225,"_2220":5553,"_2222":5554},"attac",[],[5555,5561],[2219,5556],{"_2214":5557,"_2216":5558,"_2217":2227,"_2219":2219,"_2220":5559,"_2222":5560},"attacks","ks",[2284,2285],[],[3322,5562],{"_2214":5563,"_2216":3322,"_2217":2227,"_2219":3322,"_2220":5564,"_2222":5565},"attach",[2508,2518],[5566],[2217,5567],{"_2214":5568,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":5569,"_2222":5570},"attached",[2538,2545],[],[3220,5572],{"_2214":5573,"_2216":5574,"_2217":2227,"_2219":3220,"_2220":5575,"_2222":5576},"attribute","ribute",[2394],[5577],[2216,5578],{"_2214":5579,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5580,"_2222":5581},"attributes",[2498,2499,4596],[],[3017,5583],{"_2214":5584,"_2216":5585,"_2217":2227,"_2219":3017,"_2220":5586,"_2222":5588},"atomic","omic",[2334,2882,3606,5587,3393,2927],1850,[5589,5596],[3002,5590],{"_2214":5591,"_2216":5592,"_2217":2227,"_2219":3002,"_2220":5593,"_2222":5595},"atomicity","ity",[3545,3796,5594],1815,[],[2225,5597],{"_2214":5598,"_2216":4743,"_2217":2227,"_2219":2225,"_2220":5599,"_2222":5600},"atomically",[2666,2866,2899,2924],[],[2222,5602],{"_2214":5603,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":5604,"_2222":5605},"atc",[2433],[],[3193,5607],{"_2214":5608,"_2216":5609,"_2217":2227,"_2219":3193,"_2220":5610,"_2222":5611},"atlas","las",[4364,2806,3578,4412],[],[2972,5613],{"_2214":5614,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":5615,"_2222":5616},"am",[],[5617,5638],[3017,5618],{"_2214":5619,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":5620,"_2222":5621},"amo",[],[5622,5627],[3207,5623],{"_2214":5624,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":5625,"_2222":5626},"among",[2260,2791,2846,3390,2907],[],[3691,5628],{"_2214":5629,"_2216":5112,"_2217":2227,"_2219":3691,"_2220":5630,"_2222":5632},"amount",[3772,2327,4488,2332,2369,2406,2679,5631],1520,[5633],[2216,5634],{"_2214":5635,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5636,"_2222":5637},"amounts",[2815],[],[2225,5639],{"_2214":5640,"_2216":5641,"_2217":2227,"_2219":2225,"_2220":5642,"_2222":5644},"amazon","azon",[5643],1727,[],[3825,5646],{"_2214":5647,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":5648,"_2222":5649},"ag",[],[5650,5666,5679,5701,5717],[3825,5651],{"_2214":5652,"_2216":5653,"_2217":2218,"_2219":3825,"_2220":5654,"_2222":5655},"aggregat","gregat",[],[5656,5661],[2217,5657],{"_2214":5658,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":5659,"_2222":5660},"aggregated",[2268,2269],[],[3002,5662],{"_2214":5663,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":5664,"_2222":5665},"aggregating",[2815],[],[2225,5667],{"_2214":5668,"_2216":5669,"_2217":2227,"_2219":2225,"_2220":5670,"_2222":5672},"again","ain",[3414,2326,2464,2696,2716,2717,2719,2736,5671,2752,2889],1483,[5673],[2216,5674],{"_2214":5675,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":5677,"_2222":5678},"against","st",[2346,2379,2605,2608,3224,2643,2646,2647,2686,3271,2714],[],[2217,5680],{"_2214":5358,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":5681,"_2222":5682},[],[5683,5694],[3207,5684],{"_2214":5685,"_2216":5686,"_2217":2227,"_2219":3207,"_2220":5687,"_2222":5688},"agent","nt",[4467,3386],[5689],[2216,5690],{"_2214":5691,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5692,"_2222":5693},"agents",[2838],[],[3099,5695],{"_2214":5696,"_2216":5697,"_2217":2227,"_2219":3099,"_2220":5698,"_2222":5700},"ageto","to",[5699,2844],1607,[],[3220,5702],{"_2214":5703,"_2216":5704,"_2217":2227,"_2219":3220,"_2220":5705,"_2222":5706},"agree","ree",[2774,2881,2950],[5707,5712],[2972,5708],{"_2214":5709,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":5710,"_2222":5711},"agreement",[2509,2510,3392,2881,2898],[],[2220,5713],{"_2214":5714,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":5715,"_2222":5716},"agreed",[2836,2898,2899],[],[4794,5718],{"_2214":5719,"_2216":5720,"_2217":2227,"_2219":4794,"_2220":5721,"_2222":5722},"ag_install","_install",[4410],[],[3002,5724],{"_2214":5725,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":5726,"_2222":5727},"ai",[],[5728,5734],[2972,5729],{"_2214":5730,"_2216":5731,"_2217":2227,"_2219":2972,"_2220":5732,"_2222":5733},"aimed","med",[2369,2932],[],[4309,5735],{"_2214":5736,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":5737,"_2222":5739},"aix",[5738],2169,[],[2219,5741],{"_2214":5742,"_2216":5743,"_2217":2227,"_2219":2219,"_2220":5744,"_2222":5746},"akka","kka",[5745,2789],1566,[],[3017,5748],{"_2214":3017,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":5749,"_2222":5751},[2236,2292,3455,5750,2482,2776],411,[5752,5981,6067,6153,6207,6238,6257,6372,6486,6497,6642,6776,6823,6844,6860,6877,6883,6889],[4034,5753],{"_2214":5754,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":5755,"_2222":5756},"op",[2315,3301],[5757,5860,5962,5967,5974],[2217,5758],{"_2214":5759,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":5760,"_2222":5761},"ope",[],[5762,5827],[3220,5763],{"_2214":5764,"_2216":5765,"_2217":2218,"_2219":3220,"_2220":5766,"_2222":5767},"operat","rat",[],[5768,5801,5811],[3002,5769],{"_2214":5770,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":5771,"_2222":5772},"operati",[],[5773,5794],[3017,5774],{"_2214":5775,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":5776,"_2222":5780},"operation",[4457,2249,2250,2256,3408,3928,2268,2269,3478,2430,2458,2471,5777,4944,5023,2508,2509,2565,2589,4095,4329,3537,2621,2622,2686,5778,2691,2700,2701,2706,2712,2713,2720,2907,3806,2925,2926,2927,2928,5779,2938,3625],843,1377,1933,[5781,5786],[2225,5782],{"_2214":5783,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":5784,"_2222":5785},"operational",[2229,2805],[],[2216,5787],{"_2214":5788,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5789,"_2222":5793},"operations",[2336,3645,5790,3478,2426,2430,2463,2471,2473,2498,2499,3494,3936,4596,3495,3937,3496,3939,5791,3503,2507,2605,5217,2645,2646,2647,2651,2667,3552,2686,2693,2702,2718,2779,3802,2825,3014,2862,2874,3956,2924,2925,5792],525,848,1955,[],[3207,5795],{"_2214":5796,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":5797,"_2222":5800},"operating",[2244,3432,3433,5798,5799,3646,2452,2667,3555,2854,3807],477,478,[],[3017,5802],{"_2214":5803,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":5804,"_2222":5805},"operator",[2232],[5806],[2216,5807],{"_2214":5808,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5809,"_2222":5810},"operators",[2407,2429],[],[2217,5812],{"_2214":5813,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":5814,"_2222":5815},"operate",[2245,3476,2991],[5816,5822],[2220,5817],{"_2214":5818,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":5819,"_2222":5821},"operated",[5820,3801],1376,[],[2216,5823],{"_2214":5824,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5825,"_2222":5826},"operates",[2918],[],[3207,5828],{"_2214":5829,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":5830,"_2222":5831},"open",[2503,3537,2809,2812,2822,3388,4392,2843],[5832,5837,5848,5854],[3002,5833],{"_2214":5834,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":5835,"_2222":5836},"opening",[3776],[],[2216,5838],{"_2214":5839,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5840,"_2222":5841},"opens",[2364,2950],[5842],[2216,5843],{"_2214":5844,"_2216":5845,"_2217":2227,"_2219":2216,"_2220":5846,"_2222":5847},"openssl","sl",[3263,3165],[],[3280,5849],{"_2214":5850,"_2216":5851,"_2217":2227,"_2219":3280,"_2220":5852,"_2222":5853},"open-source","-source",[3387,3389,2856],[],[2217,5855],{"_2214":5856,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":5857,"_2222":5859},"opened",[5858],2123,[],[3099,5861],{"_2214":3331,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":5862,"_2222":5863},[],[5864,5955],[3002,5865],{"_2214":5866,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":5867,"_2222":5868},"opti",[],[5869,5897],[3017,5870],{"_2214":5871,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":5872,"_2222":5876},"option",[5873,2271,2278,2328,2336,3361,3432,3433,2348,3443,5874,2361,3453,2366,3481,2440,3648,3179,2549,2550,4498,5875,2718],105,387,1419,[5877,5886],[2216,5878],{"_2214":5879,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5880,"_2222":5885},"options",[2237,3355,3767,2255,3058,5881,4845,5882,5883,5884,3359,3432,3433,4489,3262,3263,4663,3779,3060,3061,3062,3063,3479,2459,3158,3791,3794,3544],164,167,168,171,[],[2225,5887],{"_2214":5888,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":5889,"_2222":5890},"optional",[2264,3198,3770,2286,2290,2295,2296,2297,2298,2299,2300,2301,2339,2367,3285,2435,4595,2626,2693],[5891],[3193,5892],{"_2214":5893,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":5894,"_2222":5896},"optionally",[2367,2671,2729,5895],2093,[],[2972,5898],{"_2214":5899,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":5900,"_2222":5901},"optim",[],[5902,5945],[3002,5903],{"_2214":5904,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":5905,"_2222":5906},"optimi",[],[5907,5939],[5908,5909],"z",{"_2214":5910,"_2216":5908,"_2217":2218,"_2219":5908,"_2220":5911,"_2222":5912},"optimiz",[],[5913,5923,5934],[2217,5914],{"_2214":5915,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":5916,"_2222":5917},"optimize",[3255],[5918],[2220,5919],{"_2214":5920,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":5921,"_2222":5922},"optimized",[2807],[],[2225,5924],{"_2214":5925,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":5926,"_2222":5927},"optimization",[3544],[5928],[2216,5929],{"_2214":5930,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5931,"_2222":5933},"optimizations",[5932],1938,[],[3002,5935],{"_2214":5936,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":5937,"_2222":5938},"optimizing",[2932],[],[2216,5940],{"_2214":5941,"_2216":5942,"_2217":2227,"_2219":2216,"_2220":5943,"_2222":5944},"optimistic","stic",[5183],[],[2225,5946],{"_2214":5947,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":5948,"_2222":5949},"optimal",[2363,2679],[5950],[3193,5951],{"_2214":5952,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":5953,"_2222":5954},"optimally",[2677],[],[3280,5956],{"_2214":5957,"_2216":5958,"_2217":2227,"_2219":3280,"_2220":5959,"_2222":5961},"opt-in","-in",[5960,4825],335,[],[2216,5963],{"_2214":5964,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":5965,"_2222":5966},"ops",[4406],[],[5968,5969],"2",{"_2214":5970,"_2216":5971,"_2217":2227,"_2219":5968,"_2220":5972,"_2222":5973},"op2string","2string",[3301],[],[3207,5975],{"_2214":5976,"_2216":5977,"_2217":2227,"_2219":3207,"_2220":5978,"_2222":5980},"opnames","names",[5979],2154,[],[3207,5982],{"_2214":3997,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":5983,"_2222":6008},[2233,2234,3081,2235,3355,2238,2243,3402,4457,2248,5984,2249,2250,2253,2255,2256,3407,3408,4324,3928,2266,2268,2269,3198,5985,4461,5986,3154,3414,2273,3415,3930,2276,2279,2283,2284,2285,2286,2288,2289,3419,2293,2294,2305,3090,5182,3259,5987,3421,3773,3427,2328,3360,2329,2330,2336,3432,3433,2338,2339,2341,2347,2349,3439,3263,3446,3447,2357,2359,3449,3450,3452,2361,3453,2362,3232,2365,2366,4778,2368,4779,2369,2987,2988,2375,2378,2382,3461,2384,2385,5988,5798,3365,2390,2391,2398,2399,5989,4044,2405,2406,2415,2425,4465,2426,3481,2434,2436,2442,2443,2445,2455,2458,2466,2478,2483,2486,3492,3935,3493,3214,3494,3936,4596,3495,3937,3496,2504,2514,2515,3216,2538,3509,2546,3510,2550,5990,2553,2554,2555,2991,3514,2564,2571,5991,5992,5993,2583,2585,2588,2600,3529,2601,4095,3375,4329,2604,2613,2615,3535,3537,2627,2630,5994,3542,2634,2642,3377,2655,2657,2658,2665,2667,3549,2678,2679,3552,3800,5820,3801,2693,2701,2703,2704,2707,2709,2712,2717,2720,2723,2729,2730,3383,2742,4347,2747,5995,3568,2749,2750,2751,2752,5335,5996,2763,3952,3953,5997,5998,5999,3570,2779,2781,2783,2784,6000,2788,2789,3385,2799,2815,4389,2817,4738,2821,2824,2825,4390,2836,3388,4392,5643,2854,2858,3603,2867,2868,2881,2884,3605,4025,3805,2904,2922,3038,4597,2937,3615,2951,2952,2953,2955,4415,6001,6002,6003,6004,6005,6006,6007],69,146,152,245,474,528,972,1063,1064,1095,1228,1495,1514,1531,1532,1538,1561,2026,2126,2139,2141,2171,2178,2183,[6009,6016,6024,6040,6062],[3825,6010],{"_2214":6011,"_2216":6012,"_2217":2227,"_2219":3825,"_2220":6013,"_2222":6015},"ongoing","going",[6014],4,[],[2222,6017],{"_2214":6018,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":6020,"_2222":6023},"once","ce",[2236,4324,2264,3415,3435,3455,6021,2443,2464,2471,3213,2472,2494,2522,2526,2557,2579,2580,2585,2630,2654,2691,2700,2706,2708,2737,2746,2775,2777,2872,2889,2896,2910,2917,2927,2935,6022],445,1956,[],[2217,6025],{"_2214":3659,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":6026,"_2222":6028},[2237,6027,2242,2243,2244,2257,2270,2272,3417,3257,2295,2296,2297,2298,2299,2300,2301,3420,3423,3424,2326,2335,3361,2341,3674,3645,2355,5511,2370,2371,2390,2394,3477,2435,2437,2449,2460,2461,2463,2483,3783,2492,2517,2543,2551,3525,2583,2584,2585,2587,2588,2589,2590,2598,3374,3529,2623,2628,2635,2658,2673,2678,2679,3800,2691,2695,2696,2700,2703,3556,2705,2719,2722,2735,2736,3383,2741,2762,2775,2776,2836,2838,3592,2867,2874,3392,2884,2891,2892,2900,2901,2921,2927,2928,2929,2933,2946,2947],21,[6029,6034],[2216,6030],{"_2214":6031,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6032,"_2222":6033},"ones",[4469,2706],[],[3280,6035],{"_2214":6036,"_2216":6037,"_2217":2227,"_2219":3280,"_2220":6038,"_2222":6039},"one-time","-time",[3559,2718,2719,3299],[],[3193,6041],{"_2214":6042,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":6043,"_2222":6044},"onl",[],[6045,6056],[3640,6046],{"_2214":6047,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":6048,"_2222":6055},"only",[2243,2244,3254,6049,2283,2287,3771,2291,3255,3256,3257,3258,3212,2292,6050,2302,2303,2304,6051,5182,3259,3423,2317,3775,3431,3776,3777,2337,3433,3434,2339,2341,2343,2346,2347,2349,3645,3442,2357,3448,2360,2361,3232,2365,3140,2367,5511,5750,6052,2370,2371,3456,3457,2372,2373,3458,2984,2382,2385,6053,6054,2388,2395,2396,2401,2435,2438,2443,2447,2451,2455,2458,2460,2466,2471,2473,2478,2483,3783,3492,2500,2504,5791,2990,2506,2510,2514,2517,2523,2543,3044,2551,3265,3519,2576,3529,2606,2614,2618,2626,2638,2642,2655,2659,2674,2678,3800,2696,2699,2706,2709,2712,2714,3299,2737,3567,2749,2751,2754,2762,2773,3384,2777,2836,2848,2874,2895,2901,2904,2907,2912,2921,2922,2927,2928,2943,2946,2960,4490],149,223,238,412,504,505,[],[3002,6057],{"_2214":6058,"_2216":6059,"_2217":2227,"_2219":3002,"_2220":6060,"_2222":6061},"online","ine",[2355,2815],[],[3099,6063],{"_2214":6064,"_2216":5697,"_2217":2227,"_2219":3099,"_2220":6065,"_2222":6066},"onto",[2667,2831],[],[3085,6068],{"_2214":6069,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":6070,"_2222":6116},"of",[2230,2231,2232,2234,3081,2235,2236,6027,6071,3644,2238,6072,2242,2243,2244,6073,2247,3402,4457,2248,2249,3405,2250,2251,3254,3980,2252,2253,3177,6074,2254,3357,2255,2256,3408,6075,6076,2259,3409,2260,2262,2263,2264,3928,2265,2266,2268,2269,2270,3411,3198,2271,2272,4461,3104,2274,2275,3416,2277,3770,2280,3417,2281,3358,2282,2283,2284,2285,2288,2289,3419,3771,2293,2294,2295,2296,2297,2298,2299,2300,2301,2302,2303,2304,2305,2306,3772,2307,4510,3090,2313,2314,5987,3423,5476,3426,2317,2318,2320,2321,2323,5478,3359,2325,3431,2326,2327,4488,2328,2329,2332,2333,2334,2336,2337,3434,2341,2342,3231,2344,2345,2346,2349,3645,3260,3261,3440,3155,2355,4496,2356,2357,2360,4663,5874,2361,6077,2362,3232,2365,2366,2367,2368,3455,2369,5511,5750,6052,2370,2371,3456,3457,2373,6021,2377,2379,2380,2381,3460,2382,3461,2385,5798,3365,2388,2389,2390,3780,2391,2392,2394,2395,2398,2399,2400,5989,4044,2401,3027,2402,3477,2404,3478,2406,2407,2414,2418,2420,2427,2428,6078,2429,2430,2431,2432,2433,6079,2435,6080,2436,3248,2443,2446,3484,3485,3647,2451,2452,3187,2454,2456,2458,3489,2459,2460,2461,3366,2465,2467,2470,2471,2472,2473,3367,2474,2477,2479,3491,3782,2483,2484,2485,4031,3492,2492,2493,3214,3179,4467,2496,2498,2499,3494,3936,4596,3937,3940,6081,5791,2990,5023,2505,3264,2509,2510,2511,3159,4186,2513,2514,2515,2516,2517,2518,6082,6083,2520,2521,2522,2523,2524,2525,2526,3505,2527,3650,3370,3371,6084,6085,4896,3509,3510,3786,6086,2549,2550,4468,2551,2557,3513,2561,3944,3266,3372,2570,5991,2576,3714,3525,6087,2578,2579,2580,2582,5993,6088,2583,2584,3526,2585,2586,2587,2588,2589,2590,3235,2598,2599,3374,3947,3529,2601,3531,3532,2602,4095,3375,3376,2603,2604,2605,2607,2608,3534,2614,2615,2616,3535,3224,2620,4470,3949,3537,2621,2624,2625,3541,2626,6089,2629,2994,3654,2631,3236,6090,3268,2634,2635,2636,3794,2643,2644,2648,3795,2651,2653,2657,2658,3546,2660,2661,2662,2663,2667,3798,2668,2669,2670,3548,2672,2673,2674,6091,6092,6093,6094,6095,6096,5190,3380,6097,6098,2675,2676,2677,2678,2679,2680,2681,3552,6099,2682,3554,2685,2686,3381,2687,2688,3271,3188,3190,3801,2691,2692,2693,2694,2695,2696,2697,6100,2698,2699,2700,2703,2704,3556,2705,2706,2707,2709,2712,2713,3558,2714,2717,6101,2718,2721,2722,2724,3951,2735,4251,3564,3383,2740,2741,2742,3565,2743,2744,2746,2749,2751,2753,2754,2756,2758,2762,5631,2763,2768,2773,3570,4511,3384,2776,2777,2778,2779,2780,3572,2782,6102,2784,2785,2788,3385,2791,2793,2800,2802,2805,2806,3578,2809,3802,2815,3585,2817,4738,2818,2820,2825,2827,2833,2836,3587,2837,3389,3591,2843,2844,2846,4131,2848,2850,2851,3390,2852,2853,2854,2856,3602,2857,2858,2859,2860,2862,3603,2863,2865,3955,2867,2869,2871,2873,2874,2880,6103,3392,2881,2882,2883,2884,2885,2886,2887,6104,3604,3676,2888,2890,3606,6105,3393,2893,2894,4025,3805,3608,2897,2898,2899,2900,2901,6106,2902,2904,2905,4471,2906,2907,2908,2909,2910,3806,2913,2917,2919,2921,2922,2923,3610,2926,3611,2927,2928,2929,2930,3038,3808,2931,2933,2934,3394,3614,2937,2939,2944,2945,2946,2948,2949,4113,2950,2951,2952,2953,2954,6001,6107,3620,6108,6109,4335,6110,4828,6111,6112,6113,6114,6115],22,38,50,93,118,119,392,621,643,646,846,889,897,917,921,964,1089,1096,1216,1226,1330,1331,1332,1333,1336,1337,1340,1341,1356,1395,1427,1556,1827,1841,1861,1878,2031,2055,2078,2098,2142,2149,2166,2186,2188,[6117,6124],[3099,6118],{"_2214":6119,"_2216":6120,"_2217":2227,"_2219":3099,"_2220":6121,"_2222":6123},"often","ten",[2243,3417,2503,2848,6122],2095,[],[3085,6125],{"_2214":6126,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":6127,"_2222":6128},"off",[3198,2283,2288,2289,2292,2319,2366,2401,2515,3532,2602,4498,2691],[6129,6141,6147],[3002,6130],{"_2214":6131,"_2216":6132,"_2217":2227,"_2219":3002,"_2220":6133,"_2222":6135},"official","icial",[2272,6134,3014],820,[6136],[3193,6137],{"_2214":6138,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":6139,"_2222":6140},"officially",[2459,2462],[],[3193,6142],{"_2214":6143,"_2216":6144,"_2217":2227,"_2219":3193,"_2220":6145,"_2222":6146},"offline","line",[2443,3265,2952],[],[2217,6148],{"_2214":6149,"_2216":6150,"_2217":2227,"_2219":2217,"_2220":6151,"_2222":6152},"offering","ering",[2817],[],[2222,6154],{"_2214":6155,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":6156,"_2222":6157},"oc",[],[6158,6195,6202],[2222,6159],{"_2214":6160,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":6161,"_2222":6162},"occ",[],[6163,6169],[2225,6164],{"_2214":6165,"_2216":6166,"_2217":2227,"_2219":2225,"_2220":6167,"_2222":6168},"occasionally","asionally",[2231],[],[3691,6170],{"_2214":6171,"_2216":6172,"_2217":2227,"_2219":3691,"_2220":6173,"_2222":6174},"occur","ur",[5513,2543,2658,2926],[6175,6180],[2216,6176],{"_2214":6177,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6178,"_2222":6179},"occurs",[2236,3355,2341,2468,2546,3548,2691,2698,2703,2718,2722,2763,2957],[],[3220,6181],{"_2214":6182,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":6183,"_2222":6184},"occurr",[],[6185,6190],[3002,6186],{"_2214":6187,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":6188,"_2222":6189},"occurring",[2379],[],[2217,6191],{"_2214":6192,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":6193,"_2222":6194},"occurred",[2379,2471],[],[2216,6196],{"_2214":6197,"_2216":6198,"_2217":2227,"_2219":2216,"_2220":6199,"_2222":6201},"ocsp","sp",[2355,3619,6200],2063,[],[3099,6203],{"_2214":6204,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":6205,"_2222":6206},"oct",[2854],[],[3193,6208],{"_2214":6209,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":6210,"_2222":6211},"ol",[],[6212,6233],[2220,6213],{"_2214":6214,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":6215,"_2222":6217},"old",[2231,2232,6216,2315,3423,3424,3425,5476,2317,3429,5478,3430,2331,2342,2356,5097,2469,2471,3179,3516,2635,2658,2703,2706,3592,2922,5483],246,[6218],[2217,6219],{"_2214":6220,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":6221,"_2222":6222},"olde",[],[6223,6228],[3220,6224],{"_2214":6225,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":6226,"_2222":6227},"older",[2331,3460,2651,2653,2871],[],[2216,6229],{"_2214":6230,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":6231,"_2222":6232},"oldest",[2588],[],[2225,6234],{"_2214":6235,"_2216":4168,"_2217":2227,"_2219":2225,"_2220":6236,"_2222":6237},"olap",[3388],[],[3099,6239],{"_2214":3672,"_2216":6240,"_2217":2227,"_2219":3099,"_2220":6241,"_2222":6243},"ther",[2237,3644,2238,2244,2260,2283,2321,2323,2336,4652,2360,2385,3646,2390,2394,2402,3478,2405,2429,2430,2449,2458,2460,2462,2481,2483,3783,2510,2511,3160,2523,2525,3505,3370,3508,3509,3044,2579,3374,3529,2601,3375,2605,2628,2635,2638,2642,3545,2658,2679,6242,6099,3557,2716,2720,3299,3560,2741,2749,2750,2751,2775,2779,2788,2796,2797,2808,2810,2818,2823,2834,3588,3589,2841,2845,2857,2860,2884,2917,2921,2928,5932,2950,2954],1352,[6244,6250],[2216,6245],{"_2214":6246,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6247,"_2222":6249},"others",[2234,3027,6248,2667,3592],703,[],[2214,6251],{"_2214":6252,"_2216":6253,"_2217":2227,"_2219":2214,"_2220":6254,"_2222":6256},"otherwise","wise",[2248,2272,3416,3432,3444,2355,3453,2367,2412,2421,2473,3650,6255,3535,2634,3379,3800,2704,2717,2759,5997,2771,2772,2783,2821,2909,3614],968,[],[3220,6258],{"_2214":3020,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":6259,"_2222":6267},[2237,5064,2244,3052,2247,6260,2253,2254,3198,2283,2286,2288,2289,2291,3257,2303,2308,2310,2313,2314,3773,2317,3431,2326,2335,2336,3432,3434,2339,2341,2347,2349,3260,3261,3439,3363,3443,2355,2357,2359,3452,2361,6077,2365,2370,2373,2374,6261,2384,3646,3365,6262,2399,2401,3478,2421,2424,4595,2437,2440,2443,2449,3647,2450,2451,3187,2458,3489,2460,2462,3366,2465,2471,2472,2474,3490,2483,2486,3935,4467,2496,3501,2503,5023,2505,2511,2516,2524,3369,2545,2547,2551,2556,2557,2559,2560,3265,2569,3652,6263,5991,5992,2572,2573,2578,2597,3529,3530,6264,2603,2613,2616,2618,4470,3538,2622,3541,6089,2630,3268,2634,2635,2638,3543,2642,3379,3796,2655,2656,2657,3547,2661,2662,2663,2667,2671,3549,2686,3381,2687,3188,5820,5778,2691,2692,2693,2696,2698,2700,2704,2706,3559,2719,2720,2732,2737,2740,2741,2742,6265,2773,2774,2775,2786,2787,2788,2789,2809,2821,3803,3588,2838,5594,4025,2907,2908,2922,2930,2937,2949,3622,3623,3395,6266],75,443,516,1060,1136,1519,2118,[6268,6290,6320,6332,6337,6343,6366],[3825,6269],{"_2214":6270,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":6271,"_2222":6272},"org",[4359,2271,2291,4360,2341,2345,4361,3367,2477,2492,3493,3502,2506,3541,3542,2786,2787,4393,4394,4395,4396,4397,4398,4399,4400,4401,4402,4403,4404,3887,4405,4406,4407,4408,4409,4410,4411,4412,4413,4414,4415,3622],[6273],[2225,6274],{"_2214":6275,"_2216":6276,"_2217":2218,"_2219":2225,"_2220":6277,"_2222":6278},"organiz","aniz",[],[6279,6285],[2225,6280],{"_2214":6281,"_2216":6282,"_2217":2227,"_2219":2225,"_2220":6283,"_2222":6284},"organizations","ations",[2785,3573],[],[2217,6286],{"_2214":6287,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":6288,"_2222":6289},"organized",[2857],[],[2220,6291],{"_2214":6292,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":6293,"_2222":6294},"ord",[],[6295,6314],[2217,6296],{"_2214":6297,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":6298,"_2222":6303},"order",[2253,2254,2281,2282,6299,2320,2321,3231,2357,6300,2362,2365,2367,2406,2551,2588,2590,2616,2628,2629,2634,2635,4244,2652,2657,3556,2712,2720,3560,3951,3564,3383,2836,3589,2846,2862,2870,3956,2892,2893,2895,2900,2901,2909,3807,4472,3609,2919,2920,2921,2925,3808,2950,6301,6302],228,375,2035,2189,[6304,6309],[2217,6305],{"_2214":6306,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":6307,"_2222":6308},"ordered",[2244,2679,3560,2858,2862,2893,2895,2924,3611],[],[3002,6310],{"_2214":6311,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":6312,"_2222":6313},"ordering",[2359,3449,3450,2672,2720,3383,2858,2900,2904,2923,2924],[],[3002,6315],{"_2214":6316,"_2216":6317,"_2217":2227,"_2219":3002,"_2220":6318,"_2222":6319},"ordinary","inary",[3160],[],[3002,6321],{"_2214":6322,"_2216":6323,"_2217":2227,"_2219":3002,"_2220":6324,"_2222":6326},"original","iginal",[2255,3420,3231,2366,2445,2564,6325,3388],1025,[6327],[3193,6328],{"_2214":6329,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":6330,"_2222":6331},"originally",[3389],[],[2216,6333],{"_2214":6334,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":6335,"_2222":6336},"orst",[4460],[],[3099,6338],{"_2214":6339,"_2216":6340,"_2217":2227,"_2219":3099,"_2220":6341,"_2222":6342},"orthogonal","thogonal",[3486],[],[2225,6344],{"_2214":4141,"_2216":6345,"_2217":2227,"_2219":2225,"_2220":6346,"_2222":6354},"acle",[3504,6347,6082,6348,5479,6349,2519,2523,2524,2525,2526,3505,2527,3369,3650,3371,6350,6084,2530,2531,3506,4890,4896,6351,6352,3508,3651,5514,2538,3509,2539,2540,2541,5065,2543,2546,6353,2547,2548],888,891,894,915,932,934,954,[6355,6360],[3030,6356],{"_2214":6357,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":6358,"_2222":6359},"oracle's",[2524],[],[4034,6361],{"_2214":6362,"_2216":6363,"_2217":2227,"_2219":4034,"_2220":6364,"_2222":6365},"oraclepath","path",[3505,3370],[],[2222,6367],{"_2214":6368,"_2216":6369,"_2217":2227,"_2219":2222,"_2220":6370,"_2222":6371},"orchestration","chestration",[3574],[],[3691,6373],{"_2214":6374,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":6375,"_2222":6376},"ou",[],[6377,6481],[3099,6378],{"_2214":6379,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":6380,"_2222":6381},"out",[2264,2280,2283,6077,2431,2483,4938,2509,6352,2559,2604,3534,2616,2622,2676,2703,4251,2917,2932,2948,6200,2999],[6382,6388,6410,6428,6447,6453,6460,6470],[3017,6383],{"_2214":6384,"_2216":6385,"_2217":2227,"_2219":3017,"_2220":6386,"_2222":6387},"outofmemoryerror","ofmemoryerror",[3355],[],[2216,6389],{"_2214":6390,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":6391,"_2222":6392},"outs",[],[6393,6405],[3099,6394],{"_2214":6395,"_2216":6396,"_2217":2227,"_2219":3099,"_2220":6397,"_2222":6398},"outstanding","tanding",[3403,2280,4510,2676,2738],[6399],[3322,6400],{"_2214":6401,"_2216":6402,"_2217":2227,"_2219":3322,"_2220":6403,"_2222":6404},"outstandinghandshake","handshake",[3775],[],[3002,6406],{"_2214":6407,"_2216":4152,"_2217":2227,"_2219":3002,"_2220":6408,"_2222":6409},"outside",[2382,6099,6109],[],[4034,6411],{"_2214":6412,"_2216":6413,"_2217":2227,"_2219":4034,"_2220":6414,"_2222":6416},"output","put",[3254,2287,3479,2454,6415,2599,4664,3612,3621],1038,[6417,6422],[2216,6418],{"_2214":6419,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6420,"_2222":6421},"outputs",[2249,2250,2251,2455,3379],[],[3099,6423],{"_2214":6424,"_2216":6425,"_2217":2227,"_2219":3099,"_2220":6426,"_2222":6427},"outputting","ting",[3265],[],[3280,6429],{"_2214":6430,"_2216":6431,"_2217":2218,"_2219":3280,"_2220":6432,"_2222":6433},"out-of-","-of-",[],[6434,6440],[2220,6435],{"_2214":6436,"_2216":6437,"_2217":2227,"_2219":2220,"_2220":6438,"_2222":6439},"out-of-date","date",[3649],[],[3220,6441],{"_2214":6442,"_2216":6443,"_2217":2227,"_2219":3220,"_2220":6444,"_2222":6446},"out-of-range","range",[6445],1047,[],[2222,6448],{"_2214":6449,"_2216":6450,"_2217":2227,"_2219":2222,"_2220":6451,"_2222":6452},"outcome","come",[5023,2717],[],[3193,6454],{"_2214":6455,"_2216":6456,"_2217":2227,"_2219":3193,"_2220":6457,"_2222":6459},"outlined","lined",[2639,6458],1951,[],[2225,6461],{"_2214":6462,"_2216":5358,"_2217":2227,"_2219":2225,"_2220":6463,"_2222":6464},"outage",[2657],[6465],[2216,6466],{"_2214":6467,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6468,"_2222":6469},"outages",[2894],[],[3207,6471],{"_2214":6472,"_2216":6473,"_2217":2227,"_2219":3207,"_2220":6474,"_2222":6475},"outnumber","number",[2883],[6476],[3002,6477],{"_2214":6478,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":6479,"_2222":6480},"outnumbering",[2883],[],[3220,6482],{"_2214":6483,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":6484,"_2222":6485},"our",[2316,3452,4131,2888,2889,2894,4025,2900,2901,2904,2923,2928],[],[2219,6487],{"_2214":6488,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":6489,"_2222":6490},"ok",[2390],[6491],[2225,6492],{"_2214":6493,"_2216":6494,"_2217":2227,"_2219":2225,"_2220":6495,"_2222":6496},"okay","ay",[2242],[],[3066,6498],{"_2214":6499,"_2216":6500,"_2217":2227,"_2219":3066,"_2220":6501,"_2222":6502},"over","ver",[3254,3198,2275,4489,2341,3231,2352,2354,2382,2450,2451,2511,3506,2574,2579,2635,2653,2667,2809,3802,2813,2859,2871,2888,2917,2925],[6503,6550,6556,6564,6569,6574,6611,6616,6635],[3220,6504],{"_2214":6505,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":6506,"_2222":6507},"overr",[],[6508,6534],[3002,6509],{"_2214":6510,"_2216":5302,"_2217":2218,"_2219":3002,"_2220":6511,"_2222":6512},"overrid",[],[6513,6523,6528],[2217,6514],{"_2214":6515,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":6516,"_2222":6517},"override",[5873,2506,2524],[6518],[2216,6519],{"_2214":6520,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6521,"_2222":6522},"overrides",[3587],[],[3002,6524],{"_2214":6525,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":6526,"_2222":6527},"overriding",[3370],[],[2220,6529],{"_2214":6530,"_2216":6531,"_2217":2227,"_2219":2220,"_2220":6532,"_2222":6533},"overridden","den",[2662],[],[3691,6535],{"_2214":6536,"_2216":6537,"_2217":2218,"_2219":3691,"_2220":6538,"_2222":6539},"overrule","ule",[],[6540,6545],[2216,6541],{"_2214":6542,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6543,"_2222":6544},"overrules",[2348],[],[2220,6546],{"_2214":6547,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":6548,"_2222":6549},"overruled",[2350],[],[3280,6551],{"_2214":6552,"_2216":6553,"_2217":2227,"_2219":3280,"_2220":6554,"_2222":6555},"over-loaded","-loaded",[4324,2264],[],[3066,6557],{"_2214":6558,"_2216":6559,"_2217":2227,"_2219":3066,"_2220":6560,"_2222":6563},"overview","view",[2263,6561,6562],752,1782,[],[3322,6565],{"_2214":6566,"_2216":5505,"_2217":2227,"_2219":3322,"_2220":6567,"_2222":6568},"overhead",[3255,2452,5991],[],[2222,6570],{"_2214":6571,"_2216":6450,"_2217":2227,"_2219":2222,"_2220":6572,"_2222":6573},"overcome",[3434],[],[2214,6575],{"_2214":6576,"_2216":2214,"_2217":2218,"_2219":2214,"_2220":6577,"_2222":6578},"overw",[],[6579,6605],[3220,6580],{"_2214":6581,"_2216":6582,"_2217":2218,"_2219":3220,"_2220":6583,"_2222":6584},"overwrit","rit",[],[6585,6595,6600],[2217,6586],{"_2214":6587,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":6588,"_2222":6589},"overwrite",[2443],[6590],[2216,6591],{"_2214":6592,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6593,"_2222":6594},"overwrites",[2984,2654,2872],[],[3002,6596],{"_2214":6597,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":6598,"_2222":6599},"overwriting",[2483],[],[3099,6601],{"_2214":6602,"_2216":6120,"_2217":2227,"_2219":3099,"_2220":6603,"_2222":6604},"overwritten",[2562],[],[3322,6606],{"_2214":6607,"_2216":6608,"_2217":2227,"_2219":3322,"_2220":6609,"_2222":6610},"overwhelming","helming",[2849],[],[2225,6612],{"_2214":6613,"_2216":4455,"_2217":2227,"_2219":2225,"_2220":6614,"_2222":6615},"overall",[2515,3383,2805,3611],[],[3193,6617],{"_2214":6618,"_2216":6619,"_2217":2218,"_2219":3193,"_2220":6620,"_2222":6621},"overlo","lo",[],[6622,6628],[2225,6623],{"_2214":6624,"_2216":6625,"_2217":2227,"_2219":2225,"_2220":6626,"_2222":6627},"overloaded","aded",[3787],[],[3220,6629],{"_2214":6630,"_2216":6631,"_2217":2227,"_2219":3220,"_2220":6632,"_2222":6634},"overlord","rd",[6633,3582],1664,[],[3085,6636],{"_2214":6637,"_2216":6638,"_2217":2227,"_2219":3085,"_2220":6639,"_2222":6641},"overflow","flow",[2669,6640],2050,[],[3871,6643],{"_2214":6644,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":6645,"_2222":6646},"ob",[],[6647,6661,6749,6755],[3304,6648],{"_2214":6649,"_2216":6650,"_2217":2227,"_2219":3304,"_2220":6651,"_2222":6654},"object","ject",[6652,4467,2496,3936,6653,4596,3937,2578,2581,2587,3947,2600,3529,2601,3948,2602,4095,3375,2627,2630,3982,2667,2696,2737],758,783,[6655],[2216,6656],{"_2214":6657,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6658,"_2222":6660},"objects",[2256,2257,2587,3529,6659],2101,[],[2216,6662],{"_2214":6663,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6664,"_2222":6665},"obs",[2585],[6666,6744],[2217,6667],{"_2214":6668,"_2216":6669,"_2217":2218,"_2219":2217,"_2220":6670,"_2222":6671},"observ","erv",[],[6672,6726],[2217,6673],{"_2214":6674,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":6675,"_2222":6676},"observe",[2548],[6677,6721],[3220,6678],{"_2214":6679,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":6680,"_2222":6684},"observer",[4460,2266,3178,3419,3435,2338,3452,2373,2430,4595,2458,2462,2465,6681,2472,2484,6682,2510,2511,3159,3368,4186,3160,2513,2515,2518,6683,3626],702,868,2053,[6685,6691,6698,6710,6715],[4794,6686],{"_2214":6687,"_2216":6688,"_2217":2227,"_2219":4794,"_2220":6689,"_2222":6690},"observer_connection_stat_reset","_connection_stat_reset",[4460],[],[2216,6692],{"_2214":6693,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6694,"_2222":6697},"observers",[4460,2266,3178,3419,2335,3452,2460,2463,2472,6695,3264,6696,2510,2511,2512,2514,2515,3216,2516,2517,2518,2714],865,867,[],[2972,6699],{"_2214":6700,"_2216":6701,"_2217":2227,"_2219":2972,"_2220":6702,"_2222":6703},"observermaster","master",[3452,3216],[6704],[4034,6705],{"_2214":6706,"_2216":6707,"_2217":2227,"_2219":4034,"_2220":6708,"_2222":6709},"observermasterport","port",[3178],[],[3030,6711],{"_2214":6712,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":6713,"_2222":6714},"observer's",[2338,3452],[],[5908,6716],{"_2214":6717,"_2216":6718,"_2217":2227,"_2219":5908,"_2220":6719,"_2222":6720},"observerzookeeperserver","zookeeperserver",[3558],[],[2220,6722],{"_2214":6723,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":6724,"_2222":6725},"observed",[3807],[],[2225,6727],{"_2214":6728,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":6729,"_2222":6730},"observa",[],[6731,6738],[3871,6732],{"_2214":6733,"_2216":6734,"_2217":2227,"_2219":3871,"_2220":6735,"_2222":6737},"observability","bility",[6736],172,[],[3099,6739],{"_2214":6740,"_2216":6741,"_2217":2227,"_2219":3099,"_2220":6742,"_2222":6743},"observations","tions",[2889],[],[3220,6745],{"_2214":6746,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":6747,"_2222":6748},"obsr",[2266],[],[3066,6750],{"_2214":6751,"_2216":6752,"_2217":2227,"_2219":3066,"_2220":6753,"_2222":6754},"obvious","vious",[3646],[],[3099,6756],{"_2214":6757,"_2216":6758,"_2217":2227,"_2219":3099,"_2220":6759,"_2222":6760},"obtain","tain",[2757,3570,2779,2901,2928],[6761,6766,6771],[2216,6762],{"_2214":6763,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6764,"_2222":6765},"obtains",[2589],[],[2217,6767],{"_2214":6768,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":6769,"_2222":6770},"obtained",[2752,2754],[],[3002,6772],{"_2214":6773,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":6774,"_2222":6775},"obtaining",[2765,2766],[],[2214,6777],{"_2214":6778,"_2216":2214,"_2217":2218,"_2219":2214,"_2220":6779,"_2222":6780},"ow",[],[6781,6814],[3207,6782],{"_2214":6783,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":6784,"_2222":6786},"own",[3927,2260,3929,2483,3650,2546,6785,3271,3237,2790,3590,6103,2901,2952],1210,[6787,6809],[2217,6788],{"_2214":6789,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":6790,"_2222":6791},"owne",[],[6792,6797],[2220,6793],{"_2214":6794,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":6795,"_2222":6796},"owned",[2507,2697],[],[3220,6798],{"_2214":6799,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":6800,"_2222":6802},"owner",[2605,2615,3380,2751,6801],2151,[6803],[2216,6804],{"_2214":6805,"_2216":6806,"_2217":2227,"_2219":2216,"_2220":6807,"_2222":6808},"ownership","ship",[3590,3956],[],[2216,6810],{"_2214":6811,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6812,"_2222":6813},"owns",[3529],[],[2225,6815],{"_2214":6816,"_2216":6817,"_2217":2227,"_2219":2225,"_2220":6818,"_2222":6822},"owasp","asp",[4334,6819,6820,6005,6821],2065,2143,2172,[],[2972,6824],{"_2214":6825,"_2216":6826,"_2217":2227,"_2219":2972,"_2220":6827,"_2222":6828},"omit","mit",[2435],[6829],[3099,6830],{"_2214":6831,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":6832,"_2222":6833},"omitt",[],[6834,6839],[3002,6835],{"_2214":6836,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":6837,"_2222":6838},"omitting",[3930,2563],[],[2217,6840],{"_2214":6841,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":6842,"_2222":6843},"omitted",[2435],[],[3017,6845],{"_2214":6846,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":6847,"_2222":6848},"oo",[],[6849,6854],[2972,6850],{"_2214":6851,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":6852,"_2222":6853},"oom",[3212,3090],[],[5908,6855],{"_2214":6856,"_2216":6857,"_2217":2227,"_2219":5908,"_2220":6858,"_2222":6859},"oozie","zie",[4383,2839,3589,4410],[],[2216,6861],{"_2214":6862,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6863,"_2222":6865},"os",[3432,3433,6864,3981,2679,2884],503,[6866,6872],[3825,6867],{"_2214":6868,"_2216":6869,"_2217":2227,"_2219":3825,"_2220":6870,"_2222":6871},"osgi","gi",[3385,2790,4388],[],[2222,6873],{"_2214":6874,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":6875,"_2222":6876},"osc",[3611],[],[2220,6878],{"_2214":6879,"_2216":6880,"_2217":2227,"_2219":2220,"_2220":6881,"_2222":6882},"odd","dd",[2388,2389,2402,3477,2946],[],[6884,6885],"1",{"_2214":6886,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":6887,"_2222":6888},"o1",[3509],[],[5968,6890],{"_2214":6891,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":6892,"_2222":6893},"o2",[3509],[],[3825,6895],{"_2214":3825,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":6896,"_2222":6899},[2255,5393,2339,2344,3933,3934,4496,2365,2368,3461,2452,2990,2559,6897,2582,5993,6898,2692,2711,3805,2926,2929],1061,1273,[6900,6996,7116,7202,7380,7427,7433,7450,7462,7477,7499,7505,7512,7519],[3691,6901],{"_2214":6902,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":6903,"_2222":6904},"gu",[],[6905,6954,6990],[3002,6906],{"_2214":6907,"_2216":5302,"_2217":2227,"_2219":3002,"_2220":6908,"_2222":6909},"guid",[3563,2758,2763,5999,6000],[6910,6916,6932],[2225,6911],{"_2214":6912,"_2216":6913,"_2217":2227,"_2219":2225,"_2220":6914,"_2222":6915},"guidance","ance",[2229],[],[2217,6917],{"_2214":6918,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":6919,"_2222":6924},"guide",[3436,2389,2400,5989,2406,3035,2407,3479,3492,6920,3036,6921,3512,2604,2994,2645,3037,6922,2680,2681,2739,4402,4403,3038,2932,2995,2937,2943,6923],831,958,1350,2064,[6925],[3193,6926],{"_2214":6927,"_2216":6928,"_2217":2227,"_2219":3193,"_2220":6929,"_2222":6931},"guidelines","lines",[3562,3564,6930],1859,[],[3280,6933],{"_2214":6934,"_2216":3280,"_2217":2227,"_2219":3280,"_2220":6935,"_2222":6936},"guid-",[2767,2768],[6937,6943],[3193,6938],{"_2214":6939,"_2216":6940,"_2217":2227,"_2219":3193,"_2220":6941,"_2222":6942},"guid-lock-","lock-",[2758],[],[3207,6944],{"_2214":6945,"_2216":6946,"_2217":2227,"_2219":3207,"_2220":6947,"_2222":6948},"guid-n_","n_",[2778,3571],[6949],[3304,6950],{"_2214":6951,"_2216":3304,"_2217":2227,"_2219":3304,"_2220":6952,"_2222":6953},"guid-n_j",[2781,2783],[],[2225,6955],{"_2214":6956,"_2216":3760,"_2217":2218,"_2219":2225,"_2220":6957,"_2222":6958},"guar",[],[6959,6965],[2220,6960],{"_2214":6961,"_2216":6962,"_2217":2227,"_2219":2220,"_2220":6963,"_2222":6964},"guarded","ded",[3452],[],[2225,6966],{"_2214":6967,"_2216":6968,"_2217":2227,"_2219":2225,"_2220":6969,"_2222":6970},"guarantee","antee",[3455,2654,2655,2658,2720,2882,2925,2926,2927,2928],[6971,6980,6985],[2216,6972],{"_2214":6973,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":6974,"_2222":6979},"guarantees",[3478,3649,2471,2483,3783,6975,3545,2651,3204,3559,5394,3299,6976,6977,2869,3606,3607,6978,3804,3805,2900,2901,3610,3611,2928],1277,1449,1790,1856,[],[2220,6981],{"_2214":6982,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":6983,"_2222":6984},"guaranteed",[3783,2657,2873],[],[3002,6986],{"_2214":6987,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":6988,"_2222":6989},"guaranteeing",[2588],[],[2217,6991],{"_2214":6992,"_2216":6993,"_2217":2227,"_2219":2217,"_2220":6994,"_2222":6995},"guessed","essed",[3948],[],[3220,6997],{"_2214":6998,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":6999,"_2222":7000},"gr",[],[7001,7028,7045,7100],[3017,7002],{"_2214":7003,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":7004,"_2222":7005},"gro",[],[7006,7016],[2214,7007],{"_2214":7008,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":7009,"_2222":7010},"grow",[2437,2439],[7011],[2216,7012],{"_2214":7013,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7014,"_2222":7015},"grows",[2231,2509],[],[3691,7017],{"_2214":7018,"_2216":7019,"_2217":2227,"_2219":3691,"_2220":7020,"_2222":7022},"group","up",[2333,2334,2441,2520,2580,6088,2605,4251,2743,2773,3384,7021,2852,3956,2929,2944],1734,[7023],[2216,7024],{"_2214":7025,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7026,"_2222":7027},"groups",[2333,2334,2473,3504,2520,2521,2522,2586,2856,2928,2929,2930],[],[2217,7029],{"_2214":7030,"_2216":7031,"_2217":2227,"_2219":2217,"_2220":7032,"_2222":7033},"great","eat",[3478,2796],[7034,7040],[2217,7035],{"_2214":7036,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":7037,"_2222":7039},"greater",[2234,7038,3365,3543,2778],391,[],[3193,7041],{"_2214":7042,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":7043,"_2222":7044},"greatly",[2904,2954],[],[2225,7046],{"_2214":7047,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":7048,"_2222":7049},"gra",[],[7050,7061,7076,7087,7094],[2222,7051],{"_2214":7052,"_2216":7053,"_2217":2227,"_2219":2222,"_2220":7054,"_2222":7055},"graceful","ceful",[2788],[7056],[3193,7057],{"_2214":7058,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":7059,"_2222":7060},"gracefully",[3424,3426,6445],[],[3207,7062],{"_2214":7063,"_2216":5686,"_2217":2227,"_2219":3207,"_2220":7064,"_2222":7065},"grant",[2523],[7066,7071],[2217,7067],{"_2214":7068,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":7069,"_2222":7070},"granted",[3187],[],[2216,7072],{"_2214":7073,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7074,"_2222":7075},"grants",[3537],[],[4034,7077],{"_2214":7078,"_2216":7079,"_2217":2227,"_2219":4034,"_2220":7080,"_2222":7081},"graph","ph",[3558,3715,2795,2884,2889],[7082],[2216,7083],{"_2214":7084,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7085,"_2222":7086},"graphs",[2467,2795],[],[3085,7088],{"_2214":7089,"_2216":7090,"_2217":2227,"_2219":3085,"_2220":7091,"_2222":7093},"grafana","fana",[3496,7092,2502],802,[],[3002,7095],{"_2214":7096,"_2216":7097,"_2217":2227,"_2219":3002,"_2220":7098,"_2222":7099},"grained","ined",[3534],[],[3002,7101],{"_2214":7102,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":7103,"_2222":7104},"gri",[],[7105,7111],[3085,7106],{"_2214":7107,"_2216":7108,"_2217":2227,"_2219":3085,"_2220":7109,"_2222":7110},"griffin","ffin",[4373,3585,4413],[],[2220,7112],{"_2214":7113,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":7114,"_2222":7115},"grid",[2792,3575],[],[3017,7117],{"_2214":7118,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":7119,"_2222":7120},"go",[2236,2238,2447,2579,2738,2750,2751,2759,2777,2779,2916,6458],[7121,7133,7137,7153,7173,7184,7190,7195],[3017,7122],{"_2214":7123,"_2216":7124,"_2217":2227,"_2219":3017,"_2220":7125,"_2222":7126},"good","od",[2238,2243,6073,2276,3256,3775,2340,2366,2516,2629,2678,2708],[7127],[3871,7128],{"_2214":7129,"_2216":7130,"_2217":2227,"_2219":3871,"_2220":7131,"_2222":7132},"goodbye","bye",[3164],[],[3002,7134],{"_2214":6012,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":7135,"_2222":7136},[2255,2447,2679,2759,2771,2772,2907],[],[3066,7138],{"_2214":7139,"_2216":7140,"_2217":2218,"_2219":3066,"_2220":7141,"_2222":7142},"govern","vern",[],[7143,7148],[2217,7144],{"_2214":7145,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":7146,"_2222":7147},"governed",[2274],[],[2225,7149],{"_2214":7150,"_2216":6913,"_2217":2227,"_2219":2225,"_2220":7151,"_2222":7152},"governance",[2806],[],[3099,7154],{"_2214":7155,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":7156,"_2222":7159},"got",[2676,7157,7158],2080,2129,[7160,7167],[3017,7161],{"_2214":7162,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":7163,"_2222":7166},"goto",[2326,7164,7165,2771],1499,1533,[],[2222,7168],{"_2214":7169,"_2216":7170,"_2217":2227,"_2219":2222,"_2220":7171,"_2222":7172},"gotchas","chas",[3550],[],[2225,7174],{"_2214":7175,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":7176,"_2222":7177},"goal",[2704,2800,2869],[7178],[2216,7179],{"_2214":7180,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7181,"_2222":7183},"goals",[7182,2874,2894],1785,[],[3207,7185],{"_2214":7186,"_2216":7187,"_2217":2227,"_2219":3207,"_2220":7188,"_2222":7189},"gone","ne",[2708,3566,2779],[],[2217,7191],{"_2214":7192,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":7193,"_2222":7194},"goes",[2779,2833],[],[3193,7196],{"_2214":7197,"_2216":7198,"_2217":2227,"_2219":3193,"_2220":7199,"_2222":7201},"goldenorb","ldenorb",[7200],1569,[],[2217,7203],{"_2214":7204,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":7205,"_2222":7206},"ge",[],[7207,7269],[3207,7208],{"_2214":7209,"_2216":7210,"_2217":2218,"_2219":3207,"_2220":7211,"_2222":7212},"gener","ner",[],[7213,7264],[2225,7214],{"_2214":7215,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":7216,"_2222":7217},"genera",[],[7218,7253],[3099,7219],{"_2214":7220,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":7221,"_2222":7222},"generat",[],[7223,7238],[2217,7224],{"_2214":7225,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":7226,"_2222":7227},"generate",[2272,2341,3364,2586,2619,3794,2642,2959],[7228,7233],[2220,7229],{"_2214":7230,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":7231,"_2222":7232},"generated",[2243,2281,2282,2341,3541,2640],[],[2216,7234],{"_2214":7235,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7236,"_2222":7237},"generates",[2642,2700],[],[3002,7239],{"_2214":7240,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":7241,"_2222":7242},"generati",[],[7243,7248],[3207,7244],{"_2214":7245,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":7246,"_2222":7247},"generating",[3406,3586],[],[3017,7249],{"_2214":7250,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":7251,"_2222":7252},"generation",[2789],[],[3193,7254],{"_2214":7255,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":7256,"_2222":7258},"general",[3402,2366,7257,2488,2580,2642,2667,2722,2741],626,[7259],[3193,7260],{"_2214":7261,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":7262,"_2222":7263},"generally",[3770,2363,2506,2703],[],[3002,7265],{"_2214":7266,"_2216":4736,"_2217":2227,"_2219":3002,"_2220":7267,"_2222":7268},"generic",[2344,2371,3529,2663,2754],[],[3099,7270],{"_2214":7271,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":7272,"_2222":7277},"get",[2283,2289,2292,2302,2303,2304,3426,2345,3452,7038,6077,7273,2416,2417,2418,4464,2421,2447,3647,2453,2455,4031,2503,7274,7275,2610,2666,2668,3548,2717,2719,2729,2735,2736,2738,3602,2866,2878,2880,2917,2928,2929,7276,2933,2939,2940,3957,2942,2955,2960,3632],554,1051,1074,1929,[7278,7295,7301,7312,7337,7345,7364,7370,7375],[2216,7279],{"_2214":7280,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7281,"_2222":7282},"gets",[2252,2379,2585,2603,2604,2655,2658,2694,2703,2861,2902],[7283,7289],[2222,7284],{"_2214":7285,"_2216":7286,"_2217":2227,"_2219":2222,"_2220":7287,"_2222":7288},"getscheme","cheme",[3381,2687],[],[2217,7290],{"_2214":7291,"_2216":7292,"_2217":2227,"_2219":2217,"_2220":7293,"_2222":7294},"getsecureport","ecureport",[3162],[],[4794,7296],{"_2214":7297,"_2216":7298,"_2217":2227,"_2219":4794,"_2220":7299,"_2222":7300},"get_trace_mask","_trace_mask",[6075,2262],[],[3099,7302],{"_2214":7303,"_2216":6425,"_2217":2227,"_2219":3099,"_2220":7304,"_2222":7305},"getting",[2389,2400,3236,2693,2736,2773,2910],[7306],[3280,7307],{"_2214":7308,"_2216":7309,"_2217":2227,"_2219":3280,"_2220":7310,"_2222":7311},"getting-started","-started",[4394],[],[2225,7313],{"_2214":7314,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":7315,"_2222":7316},"geta",[],[7317,7324,7331],[2222,7318],{"_2214":7319,"_2216":7320,"_2217":2227,"_2219":2222,"_2220":7321,"_2222":7323},"getacl","cl",[7322],555,[],[3193,7325],{"_2214":7326,"_2216":7327,"_2217":2227,"_2219":3193,"_2220":7328,"_2222":7330},"getallchildrennumber","llchildrennumber",[7329],556,[],[3691,7332],{"_2214":7333,"_2216":7334,"_2217":2227,"_2219":3691,"_2220":7335,"_2222":7336},"getauthinfo","uthinfo",[2687],[],[2217,7338],{"_2214":7339,"_2216":7340,"_2217":2227,"_2219":2217,"_2220":7341,"_2222":7344},"getephemerals","ephemerals",[7342,7343,3798,2668],557,1296,[],[2222,7346],{"_2214":7347,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":7348,"_2222":7349},"getc",[],[7350,7356],[3017,7351],{"_2214":7352,"_2216":7353,"_2217":2227,"_2219":3017,"_2220":7354,"_2222":7355},"getconfig","onfig",[2449,4326,2486],[],[3322,7357],{"_2214":7358,"_2216":7359,"_2217":2227,"_2219":3322,"_2220":7360,"_2222":7363},"getchildren","hildren",[2584,2585,2590,2718,2721,2724,2726,2728,2731,7361,7362,2752,5335,2763,3952,3953,2779],1489,1494,[],[3691,7365],{"_2214":7366,"_2216":7367,"_2217":2227,"_2219":3691,"_2220":7368,"_2222":7369},"getusername","username",[2506],[],[2220,7371],{"_2214":7372,"_2216":3,"_2217":2227,"_2219":2220,"_2220":7373,"_2222":7374},"getdata",[2603,2718,2719,2721,2724,2726,2727,2732,2737,3570],[],[4034,7376],{"_2214":7377,"_2216":6707,"_2217":2227,"_2219":4034,"_2220":7378,"_2222":7379},"getport",[3162],[],[3002,7381],{"_2214":6869,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":7382,"_2222":7383},[],[7384,7409],[3066,7385],{"_2214":7386,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":7387,"_2222":7388},"giv",[],[7389,7404],[2217,7390],{"_2214":7391,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":7392,"_2222":7393},"give",[3402,2695,3570],[7394,7399],[2216,7395],{"_2214":7396,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7397,"_2222":7398},"gives",[3402,2459,2520,6352,2549,2608],[],[3207,7400],{"_2214":7401,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":7402,"_2222":7403},"given",[2288,2289,2378,2406,2474,2485,3944,2668,3548,2737,2836,2837,4025,2901,2909,2912,2923],[],[3002,7405],{"_2214":7406,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":7407,"_2222":7408},"giving",[2263],[],[3099,7410],{"_2214":7411,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":7412,"_2222":7413},"git",[],[7414,7421],[3002,7415],{"_2214":7416,"_2216":7417,"_2217":2227,"_2219":3002,"_2220":7418,"_2222":7420},"gitignore","ignore",[7419],2085,[],[3322,7422],{"_2214":7423,"_2216":7424,"_2217":2227,"_2219":3322,"_2220":7425,"_2222":7426},"github","hub",[4336,4490],[],[3099,7428],{"_2214":7429,"_2216":7430,"_2217":2227,"_2219":3099,"_2220":7431,"_2222":7432},"gtmk","tmk",[2252,6075],[],[3193,7434],{"_2214":7435,"_2216":7436,"_2217":2227,"_2219":3193,"_2220":7437,"_2222":7438},"global","lobal",[3408,2302,2303,2339,2707,2710,2711,2712,2713,3558,2714,2795],[7439,7445],[3017,7440],{"_2214":7441,"_2216":7442,"_2217":2227,"_2219":3017,"_2220":7443,"_2222":7444},"globaloutstandinglimit","outstandinglimit",[2280],[],[3193,7446],{"_2214":7447,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":7448,"_2222":7449},"globally",[2755,2841],[],[5908,7451],{"_2214":7452,"_2216":5908,"_2217":2227,"_2219":5908,"_2220":7453,"_2222":7455},"gz",[7454,3518],261,[7456],[3002,7457],{"_2214":7458,"_2216":7459,"_2217":2227,"_2219":3002,"_2220":7460,"_2222":7461},"gzip","ip",[7454],[],[2222,7463],{"_2214":7464,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":7465,"_2222":7466},"gc",[3427,4540],[7467,7472],[2972,7468],{"_2214":7469,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":7470,"_2222":7471},"gcm",[3449,3450],[],[2222,7473],{"_2214":7474,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":7475,"_2222":7476},"gcc",[6266],[],[2225,7478],{"_2214":7479,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":7480,"_2222":7481},"ga",[],[7482,7493],[3002,7483],{"_2214":7484,"_2216":7485,"_2217":2227,"_2219":3002,"_2220":7486,"_2222":7487},"gain","in",[2337],[7488],[2216,7489],{"_2214":7490,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7491,"_2222":7492},"gains",[3452],[],[3099,7494],{"_2214":7495,"_2216":7496,"_2217":2227,"_2219":3099,"_2220":7497,"_2222":7498},"gathered","thered",[2686],[],[2216,7500],{"_2214":7501,"_2216":7502,"_2217":2227,"_2219":2216,"_2220":7503,"_2222":7504},"gssapi","ssapi",[3448,4828],[],[3207,7506],{"_2214":7507,"_2216":7508,"_2217":2227,"_2219":3207,"_2220":7509,"_2222":7511},"gnu","nu",[7510],483,[],[3640,7513],{"_2214":7514,"_2216":7515,"_2217":2227,"_2219":3640,"_2220":7516,"_2222":7518},"gyrex","yrex",[7517,2790],1568,[],[3322,7520],{"_2214":7521,"_2216":3322,"_2217":2227,"_2219":3322,"_2220":7522,"_2222":7523},"gh",[6114],[],[3085,7525],{"_2214":3085,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":7526,"_2222":7527},[2433,3188,3800],[7528,7813,8088,8192,8286,8351,8571,8576,8726,8732,8737],[3017,7529],{"_2214":7530,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":7531,"_2222":7532},"fo",[],[7533,7708,7761,7797,7808],[3220,7534],{"_2214":7535,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":7536,"_2222":7568},"for",[2229,2230,2231,2232,3081,2237,5388,5389,6072,7537,7538,2243,2244,6073,2246,3052,3054,3055,4457,4458,2248,7539,3404,5984,2249,2250,2251,2252,7540,7541,7542,7543,2254,2255,6075,2260,2262,3928,3411,3198,2271,2272,6049,3413,3058,2275,5538,3930,3178,2277,2280,3417,3358,2282,2283,2284,2286,2290,3256,3258,2293,2294,2302,2303,2304,2305,2308,2309,6051,3259,2316,3774,4360,2321,2322,2323,2324,2978,2979,3359,2326,2328,2329,2330,3776,3777,2335,2336,3432,3433,3435,3436,2340,2341,4645,7544,7545,2342,2344,2345,2346,3437,2351,2353,3441,3363,3442,3443,3155,4361,4496,2356,2357,2358,2360,2362,2363,3232,2365,2366,2367,5511,3456,2372,2373,2980,2981,2982,2989,2378,2379,2381,2382,2384,5798,3646,3365,2388,2389,2390,6262,2392,2394,2398,2399,5989,3027,2402,2403,3477,2404,3478,2406,2407,3479,3156,2417,2419,2421,4466,2430,2432,2436,2437,5097,2447,3484,3485,2450,2452,3187,3486,2454,2455,3649,2458,2459,2460,2461,2462,2466,2467,2471,3213,2472,2476,2480,2483,2484,2486,2489,2491,3492,2492,2493,6561,2495,2498,2499,2500,7546,7547,7548,3501,2501,6920,3939,5791,2990,5023,3503,2507,3981,2508,4186,2518,3504,2520,2526,3650,6084,5513,4896,3651,2537,3509,2543,3510,2550,3044,2552,2557,2560,7549,3515,7550,2564,2566,2567,3265,3266,3267,7551,2572,2573,2575,2577,3524,2579,2580,2584,2585,2597,3374,2601,2602,3376,2603,2604,3533,2605,2606,2607,2608,2611,3534,2614,2618,2620,3537,2625,3539,2627,2628,2629,2994,3654,4518,2632,2633,2636,2637,2638,2642,2644,2646,3377,2648,2650,3378,2651,3204,2658,2662,3798,2668,2669,2670,3548,2671,3037,6091,3551,2675,2676,2679,2680,2681,6099,2688,3271,3188,3189,2692,2694,2696,3382,2698,2699,2700,2703,3556,2708,5875,2716,2718,2719,2720,2721,2722,2723,2729,2734,2737,2738,3562,3564,2742,2745,2747,7552,2749,2750,2751,2752,2754,2759,2763,2771,2772,2773,5999,3570,2775,2779,2781,2783,6000,2785,2789,3385,2790,2791,3575,2793,2795,2796,2797,2798,2800,3577,2803,2805,3578,2807,2808,4388,3579,3802,3583,2813,2814,2815,4389,3584,3585,2817,4738,2820,2822,2823,2824,2826,2832,3586,4390,3587,3803,4391,3589,2840,2841,3591,2842,2843,7553,3593,3594,2845,2846,3595,4131,2848,2849,7021,2850,7554,3598,7555,3390,2852,2853,2855,2856,2857,2865,2868,2869,7556,3391,2883,2889,2890,3605,4025,3805,2901,2904,2907,2908,2910,2921,2923,2925,2928,2929,3038,4597,7557,3739,2932,3394,7558,6458,3615,2940,7559,2943,2944,2945,2947,2949,4113,2950,2951,2953,2955,3617,3619,3162,3622,3623,7560,6108,2959,7561,7562,7563,7564,5483,2998,3163,3164,2999,7565,3811,6801,3716,7566,5738,6821,7567,3636,3637],39,40,67,81,85,97,99,322,324,799,812,813,990,1018,1058,1496,1719,1736,1739,1826,1921,1948,1966,2048,2071,2072,2077,2086,2147,2167,2173,[7569,7591,7672,7695,7701],[2214,7570],{"_2214":7571,"_2216":7572,"_2217":2227,"_2219":2214,"_2220":7573,"_2222":7574},"forward","ward",[3055,3422,3428,2510,2531,2537,2538,3509,2539,2569,2654,2872],[7575,7581,7586],[4794,7576],{"_2214":7577,"_2216":7578,"_2217":2227,"_2219":4794,"_2220":7579,"_2222":7580},"forward_learner_requests_to_commit_processor_disabled","_learner_requests_to_commit_processor_disabled",[3427],[],[2216,7582],{"_2214":7583,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7584,"_2222":7585},"forwards",[3529],[],[2217,7587],{"_2214":7588,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":7589,"_2222":7590},"forwarded",[2881],[],[2972,7592],{"_2214":7593,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":7594,"_2222":7595},"form",[3770,2288,2394,2463,3936,3937,2520,2522,2544,2584,2607,2618,3224,2667,2672,2688,2752,2929,2946,4113],[7596,7646,7652,7657,7667],[2225,7597],{"_2214":7598,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":7599,"_2222":7600},"forma",[],[7601,7636],[3099,7602],{"_2214":7603,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":7604,"_2222":7607},"format",[3254,2252,2254,3260,3261,2381,7605,2445,5097,2446,2448,2472,2608,2631,3268,3795,2669,7606],611,2158,[7608,7614,7629],[2216,7609],{"_2214":7610,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7611,"_2222":7613},"formats",[7612,3518,2642],1005,[],[3099,7615],{"_2214":7616,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":7617,"_2222":7618},"formatt",[],[7619,7624],[2217,7620],{"_2214":7621,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":7622,"_2222":7623},"formatted",[2669],[],[3002,7625],{"_2214":7626,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":7627,"_2222":7628},"formatting",[3739],[],[4794,7630],{"_2214":7631,"_2216":7632,"_2217":2227,"_2219":4794,"_2220":7633,"_2222":7635},"format_endpoint_info","_endpoint_info",[7634],2047,[],[3193,7637],{"_2214":7638,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":7639,"_2222":7640},"formal",[6099],[7641],[3193,7642],{"_2214":7643,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":7644,"_2222":7645},"formally",[3611],[],[3691,7647],{"_2214":7648,"_2216":7649,"_2217":2227,"_2219":3691,"_2220":7650,"_2222":7651},"formula","ula",[5987],[],[3002,7653],{"_2214":7654,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":7655,"_2222":7656},"forming",[2334,2460,2517,2522,2538],[],[2217,7658],{"_2214":7659,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":7660,"_2222":7661},"former",[2638,3038,2950],[7662],[3193,7663],{"_2214":7664,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":7665,"_2222":7666},"formerly",[3574],[],[2216,7668],{"_2214":7669,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7670,"_2222":7671},"forms",[2667],[],[2222,7673],{"_2214":7674,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":7675,"_2222":7676},"force",[2308,2984,2574],[7677,7683,7689],[3085,7678],{"_2214":7679,"_2216":7680,"_2217":2227,"_2219":3085,"_2220":7681,"_2222":7682},"forcefully","fully",[6051],[],[2216,7684],{"_2214":7685,"_2216":7686,"_2217":2227,"_2219":2216,"_2220":7687,"_2222":7688},"forcesync","sync",[5874],[],[3322,7690],{"_2214":7691,"_2216":7692,"_2217":2227,"_2219":3322,"_2220":7693,"_2222":7694},"forcehttps","https",[2984],[],[2219,7696],{"_2214":7697,"_2216":7698,"_2217":2227,"_2219":2219,"_2220":7699,"_2222":7700},"forked","ked",[2846],[],[2217,7702],{"_2214":7703,"_2216":7704,"_2217":2227,"_2219":2217,"_2220":7705,"_2222":7707},"forever","ever",[7706],2099,[],[3193,7709],{"_2214":7710,"_2216":7711,"_2217":2227,"_2219":3193,"_2220":7712,"_2222":7713},"follow","llow",[7274,2590,2639,2904,2921,4597],[7714,7723,7756],[3002,7715],{"_2214":7716,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":7717,"_2222":7722},"following",[2230,2234,3081,3355,3767,6073,3254,2253,3152,7718,4324,2264,3153,3154,3414,3259,2333,3363,6300,4663,2362,3779,3060,3061,3062,3063,2382,5798,2393,5790,3157,2444,5097,2447,2468,2480,3215,2501,2502,4938,3216,2521,3505,6350,6351,7719,2542,6263,6087,2579,2587,2591,7720,3534,7721,3792,3793,5217,3540,2629,2994,3654,2648,3379,2659,3547,3797,2661,6091,3188,2691,2700,2724,2730,2757,4738,4390,2885,4025,2905,2906,3807,2926,4597],109,945,1158,1170,[],[2217,7724],{"_2214":7725,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":7726,"_2222":7727},"followe",[],[7728,7733],[2220,7729],{"_2214":7730,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":7731,"_2222":7732},"followed",[2254],[],[3220,7734],{"_2214":7735,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":7736,"_2222":7739},"follower",[2266,3178,2283,2313,2314,3423,3424,3426,2323,3430,3452,2373,3649,2458,2467,2484,7737,7738,2499,3160,2529,2530,2531,2532,2535,2575,2576,2836,2846,2886,2887,2904,2908,2909,2910,2911,2912,2914,2921,2950,3626],772,773,[7740,7745,7750],[2216,7741],{"_2214":7742,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7743,"_2222":7744},"followers",[3358,3420,2323,2324,2327,4488,2329,2332,3454,2428,2460,2484,2510,2511,2514,2515,3216,3370,2881,3604,2889,2904,4471,2907,2908,2913,2916,2917,4472,3609,2919,2920,2921,2950],[],[5908,7746],{"_2214":7747,"_2216":6718,"_2217":2227,"_2219":5908,"_2220":7748,"_2222":7749},"followerzookeeperserver",[3558],[],[3030,7751],{"_2214":7752,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":7753,"_2222":7755},"follower's",[7754],2060,[],[2216,7757],{"_2214":7758,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7759,"_2222":7760},"follows",[2293,2294,4472],[],[3691,7762],{"_2214":7763,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":7764,"_2222":7765},"fou",[],[7766,7782],[3207,7767],{"_2214":7768,"_2216":4184,"_2217":2227,"_2219":3207,"_2220":7769,"_2222":7771},"found",[2231,3406,2368,7770,3187,2457,2487,3214,2665,2894,3621],455,[7772],[2225,7773],{"_2214":7774,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":7775,"_2222":7776},"foundation",[3389],[7777],[2225,7778],{"_2214":7779,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":7780,"_2222":7781},"foundational",[2806],[],[3220,7783],{"_2214":7784,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":7785,"_2222":7790},"four",[3051,7786,2247,3055,6075,2262,2337,2388,2390,7787,3036,3785,7788,2681,7789],54,805,1121,1354,[7791],[3280,7792],{"_2214":7793,"_2216":7794,"_2217":2227,"_2219":3280,"_2220":7795,"_2222":7796},"four-letter","-letter",[3052,2254,2255,3057,2337,3361],[],[2222,7798],{"_2214":7799,"_2216":7800,"_2217":2227,"_2219":2222,"_2220":7801,"_2222":7802},"focus","cus",[2328,2515,2904],[7803],[2217,7804],{"_2214":7805,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":7806,"_2222":7807},"focused",[2796],[],[3017,7809],{"_2214":7810,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":7811,"_2222":7812},"foo",[2582,2624,2693],[],[3002,7814],{"_2214":7815,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":7816,"_2222":7817},"fi",[],[7818,7891,7927,7938,8017,8047,8067,8072,8083],[3193,7819],{"_2214":7820,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":7821,"_2222":7822},"fil",[],[7823,7885],[2217,7824],{"_2214":7825,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":7826,"_2222":7838},"file",[2231,2235,5064,2238,2242,3152,6076,3153,2274,2275,3769,3417,2282,2283,2285,5476,2978,3429,5478,3431,2329,2335,2336,7827,7828,2351,2352,3260,2353,2354,3261,3232,2366,2367,2368,4779,2373,7829,3459,7830,2378,2379,2380,2382,2393,2394,2395,2396,2397,2400,7831,2438,2441,2442,2443,2444,2445,5097,2446,2448,2454,3366,2464,2474,2475,2482,2501,7832,2505,3159,4186,2513,3216,2524,2527,3369,3650,2538,3509,2539,2541,2545,2547,2559,3944,2564,7833,2565,2566,6263,2599,2603,2605,2615,7834,2632,7835,2633,7836,3268,2659,3188,2737,2814,2856,2857,2863,2864,2934,2936,3394,7837,2937,2944,2947,4113,2951,2955,3635],321,323,436,440,616,826,1024,1221,1231,1233,1949,[7839,7850,7856,7861,7878],[2216,7840],{"_2214":7841,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7842,"_2222":7843},"files",[2231,2232,2238,2243,3405,2274,2317,4496,4778,4779,2375,6261,2379,2381,3460,2382,3461,2443,2445,2454,2460,2505,2512,3650,3651,2562,3517,2614,3268,2678,2857,2951,5336,5482,7419,3636],[7844],[3640,7845],{"_2214":7846,"_2216":7847,"_2217":2227,"_2219":3640,"_2220":7848,"_2222":7849},"filesystem","ystem",[2231,3446,3447],[],[3207,7851],{"_2214":7852,"_2216":7853,"_2217":2227,"_2219":3207,"_2220":7854,"_2222":7855},"filename","name",[3260,3261,2454,3487,2505,3268],[],[3030,7857],{"_2214":7858,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":7859,"_2222":7860},"file's",[2380],[],[3280,7862],{"_2214":7863,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":7864,"_2222":7865},"file-",[],[7866,7872],[2216,7867],{"_2214":7868,"_2216":7869,"_2217":2227,"_2219":2216,"_2220":7870,"_2222":7871},"file-system","system",[2864],[],[3193,7873],{"_2214":7874,"_2216":7875,"_2217":2227,"_2219":3193,"_2220":7876,"_2222":7877},"file-like","like",[5792],[],[3099,7879],{"_2214":7880,"_2216":7881,"_2217":2227,"_2219":3099,"_2220":7882,"_2222":7884},"filetxnsnaplogmetricstest","txnsnaplogmetricstest",[7883],2133,[],[3099,7886],{"_2214":7887,"_2216":7888,"_2217":2227,"_2219":3099,"_2220":7889,"_2222":7890},"filters","ters",[3265],[],[3220,7892],{"_2214":7893,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":7894,"_2222":7895},"fir",[],[7896,7922],[2217,7897],{"_2214":7898,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":7899,"_2222":7900},"fire",[3529,2961],[7901,7912,7917],[2214,7902],{"_2214":7903,"_2216":7904,"_2217":2227,"_2219":2214,"_2220":7905,"_2222":7906},"firewall","wall",[2245,2452],[7907],[2216,7908],{"_2214":7909,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7910,"_2222":7911},"firewalls",[3432],[],[2220,7913],{"_2214":7914,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":7915,"_2222":7916},"fired",[2600],[],[2216,7918],{"_2214":7919,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7920,"_2222":7921},"fires",[2603],[],[2216,7923],{"_2214":7924,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":7925,"_2222":7926},"first",[2253,2259,3154,2329,2331,2367,2380,2384,2394,2435,2453,2454,2458,2483,2484,3159,2520,5992,2578,2584,2585,2587,2603,3236,2681,3552,2686,3381,2698,2703,2706,2720,2752,2754,2755,2777,2823,2889,2907,2921,2940],[],[2217,7928],{"_2214":7929,"_2216":7930,"_2217":2227,"_2219":2217,"_2220":7931,"_2222":7932},"field","eld",[3927,2260,3928,3929,2506,6097,3634],[7933],[2216,7934],{"_2214":7935,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":7936,"_2222":7937},"fields",[4459,4460,2261,2263,2265,2270,6091,3394],[],[3207,7939],{"_2214":7940,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":7941,"_2222":7942},"fin",[3433],[7943,7959,7981,7991],[3002,7944],{"_2214":7945,"_2216":7946,"_2217":2227,"_2219":3002,"_2220":7947,"_2222":7948},"finish","ish",[5476,5478,2515],[7949,7954],[2217,7950],{"_2214":7951,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":7952,"_2222":7953},"finished",[2259,2585,2746],[],[3002,7955],{"_2214":7956,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":7957,"_2222":7958},"finishing",[2259,5874,2750],[],[2217,7960],{"_2214":7961,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":7962,"_2222":7963},"fine",[3770,2447,2462,6458],[7964,7976],[3220,7965],{"_2214":7966,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":7967,"_2222":7968},"finer",[3494,3495,3534],[7969],[3280,7970],{"_2214":7971,"_2216":7972,"_2217":2227,"_2219":3280,"_2220":7973,"_2222":7975},"finer-grained","-grained",[7974],1922,[],[3280,7977],{"_2214":7978,"_2216":7972,"_2217":2227,"_2219":3280,"_2220":7979,"_2222":7980},"fine-grained",[7557],[],[2220,7982],{"_2214":7983,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":7984,"_2222":7985},"find",[2283,2333,2334,3436,2357,2365,2394,2400,2431,2459,2483,2591,2604,2676,3271,3564,2741,2810],[7986],[3002,7987],{"_2214":7988,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":7989,"_2222":7990},"finding",[2686,2706],[],[2225,7992],{"_2214":7993,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":7994,"_2222":7997},"final",[2384,2471,3238,7995,7996],2161,2193,[7998,8004,8011],[4034,7999],{"_2214":8000,"_2216":8001,"_2217":2227,"_2219":4034,"_2220":8002,"_2222":8003},"finalprocessor","processor",[2321],[],[3193,8005],{"_2214":8006,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":8007,"_2222":8010},"finally",[2464,8008,2630,2631,2932,8009,2950],1147,1965,[],[3220,8012],{"_2214":8013,"_2216":8014,"_2217":2227,"_2219":3220,"_2220":8015,"_2222":8016},"finalrequestprocessor","requestprocessor",[2715],[],[4309,8018],{"_2214":8019,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":8020,"_2222":8026},"fix",[3646,4469,3619,8021,6301,7634,6108,4159,8022,8023,5482,8024,7606,5738,8025,5484,3636],2033,2069,2075,2140,2177,[8027,8042],[2217,8028],{"_2214":8029,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":8030,"_2222":8031},"fixe",[],[8032,8037],[2220,8033],{"_2214":8034,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":8035,"_2222":8036},"fixed",[5477,2363,2370,2564,2565,2635],[],[2216,8038],{"_2214":8039,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8040,"_2222":8041},"fixes",[3617],[],[3002,8043],{"_2214":8044,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":8045,"_2222":8046},"fixing",[6923,3637],[],[4034,8048],{"_2214":8049,"_2216":8050,"_2217":2227,"_2219":4034,"_2220":8051,"_2222":8054},"fips","ps",[3155,6300,4827,8052,8053],2073,2125,[8055,8061],[3280,8056],{"_2214":8057,"_2216":8058,"_2217":2227,"_2219":3280,"_2220":8059,"_2222":8060},"fips-mode","-mode",[6300],[],[4794,8062],{"_2214":8063,"_2216":8064,"_2217":2227,"_2219":4794,"_2220":8065,"_2222":8066},"fips_mode","_mode",[6114],[],[3066,8068],{"_2214":8069,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":8070,"_2222":8071},"five",[2388,2390],[],[3825,8073],{"_2214":8074,"_2216":8075,"_2217":2227,"_2219":3825,"_2220":8076,"_2222":8077},"figure","gure",[2691,2885],[8078],[2216,8079],{"_2214":8080,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8081,"_2222":8082},"figures",[2458,2467,2469],[],[3085,8084],{"_2214":8085,"_2216":7530,"_2217":2227,"_2219":3085,"_2220":8086,"_2222":8087},"fifo",[4025,2896,2897,3807,4472,3609,2923],[],[3691,8089],{"_2214":8090,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":8091,"_2222":8092},"fu",[],[8093,8099,8125,8180,8186],[3099,8094],{"_2214":8095,"_2216":8096,"_2217":2227,"_2219":3099,"_2220":8097,"_2222":8098},"future","ture",[2231,7540,7541,7542,7543,2254,4645,4497,2456,2670,2671,2735,3038,4475],[],[3193,8100],{"_2214":8101,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":8102,"_2222":8103},"ful",[],[8104,8119],[3193,8105],{"_2214":8106,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":8107,"_2222":8108},"full",[4457,7539,2343,2364,3646,2407,2430,2489,2646,3377,2707,3589,2908,2952,7561],[8109],[3640,8110],{"_2214":7680,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":8111,"_2222":8112},[2320,3236,2755],[8113],[3280,8114],{"_2214":8115,"_2216":8116,"_2217":2227,"_2219":3280,"_2220":8117,"_2222":8118},"fully-qualified","-qualified",[2345],[],[3085,8120],{"_2214":8121,"_2216":8122,"_2217":2227,"_2219":3085,"_2220":8123,"_2222":8124},"fulfill","fill",[2836],[],[3207,8126],{"_2214":8127,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":8128,"_2222":8129},"fun",[2843],[8130,8174],[2222,8131],{"_2214":8132,"_2216":8133,"_2217":2227,"_2219":2222,"_2220":8134,"_2222":8135},"function","ction",[2254,2316,2406,2510,2514,2604,3538,2623,2649,2704,2737,2741,2743,4347,2752,2959,3627,6114],[8136,8164,8169],[2225,8137],{"_2214":8138,"_2216":3184,"_2217":2218,"_2219":2225,"_2220":8139,"_2222":8140},"functional",[],[8141,8159],[3002,8142],{"_2214":8143,"_2216":8144,"_2217":2218,"_2219":3002,"_2220":8145,"_2222":8146},"functionalit","it",[],[8147,8153],[3640,8148],{"_2214":8149,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":8150,"_2222":8152},"functionality",[3104,2430,2707,3385,4388,2827,8151],2131,[],[3002,8154],{"_2214":8155,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":8157,"_2222":8158},"functionalities","ies",[2558],[],[3193,8160],{"_2214":8161,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":8162,"_2222":8163},"functionally",[2943],[],[3002,8165],{"_2214":8166,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":8167,"_2222":8168},"functioning",[2282,2837],[],[2216,8170],{"_2214":8171,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8172,"_2222":8173},"functions",[3204,2658,3564,2741,3565],[],[2220,8175],{"_2214":8176,"_2216":8177,"_2217":2227,"_2219":2220,"_2220":8178,"_2222":8179},"fundamental","damental",[2825],[],[3220,8181],{"_2214":8182,"_2216":8183,"_2217":2227,"_2219":3220,"_2220":8184,"_2222":8185},"further","rther",[3770,2347,2349,2510,2630,3621],[],[5908,8187],{"_2214":8188,"_2216":8189,"_2217":2227,"_2219":5908,"_2220":8190,"_2222":8191},"fuzzy","zzy",[2377,2379,2382],[],[3220,8193],{"_2214":8194,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":8195,"_2222":8196},"fr",[],[8197,8226,8251],[3017,8198],{"_2214":8199,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":8200,"_2222":8201},"fro",[],[8202,8214,8220],[2972,8203],{"_2214":8204,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":8205,"_2222":8213},"from",[2232,2236,5064,8206,8207,2254,5873,4324,2264,3411,6049,2280,2281,2282,2283,2293,2294,3259,3421,2317,3427,3430,3431,2326,2331,2335,3433,2341,3674,2345,2347,2349,2352,2354,3363,3262,3933,3934,4496,2359,2360,2363,3232,4778,4779,2370,2378,2381,6262,8208,2401,2422,2423,5183,2441,2442,2446,2447,2449,3485,2451,3487,2458,2459,2460,2463,2464,2466,8209,6681,3213,2473,2474,2482,2484,6134,2503,2504,3503,2511,2516,2522,3370,3506,4890,2536,2547,3044,2551,2556,2557,2558,3787,2559,2562,2563,2584,2586,2590,2603,2610,2627,2631,2634,2635,2639,2641,4664,2652,2654,2656,2658,8210,8211,2675,2686,3271,2692,2693,2696,2697,8212,3950,2702,2703,2704,2706,2711,2712,2717,2720,2722,3951,2738,3564,2745,2750,2752,2754,2759,2771,2772,2775,2788,3580,2814,2817,3388,3588,2849,3602,2858,2870,2872,2878,3392,2881,2884,2889,2894,2896,2912,2914,3609,2921,2922,2923,2927,2928,2929,2933,2939,2940,2948,3622,3623,7419,2997,8025],89,95,518,701,1334,1335,1391,[],[3207,8215],{"_2214":8216,"_2216":8217,"_2217":2227,"_2219":3207,"_2220":8218,"_2222":8219},"frontend","ntend",[2809],[],[5908,8221],{"_2214":8222,"_2216":8223,"_2217":2227,"_2219":5908,"_2220":8224,"_2222":8225},"frozen","zen",[2821],[],[2225,8227],{"_2214":8228,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":8229,"_2222":8230},"fra",[],[8231,8245],[2972,8232],{"_2214":8233,"_2216":8234,"_2217":2227,"_2219":2972,"_2220":8235,"_2222":8239},"framework","mework",[3644,8236,3198,5985,8237,2577,2684,2685,2686,8238,2788,3574,2793,2798,2809,2812,2813,2817,2826,3586],139,1012,1567,[8240],[2216,8241],{"_2214":8242,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8243,"_2222":8244},"frameworks",[3515],[],[3825,8246],{"_2214":8247,"_2216":8248,"_2217":2227,"_2219":3825,"_2220":8249,"_2222":8250},"fragile","gile",[2462],[],[2217,8252],{"_2214":8253,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":8254,"_2222":8255},"fre",[],[8256,8262,8280],[5252,8257],{"_2214":8258,"_2216":8259,"_2217":2227,"_2219":5252,"_2220":8260,"_2222":8261},"frequency","quency",[2380],[],[2217,8263],{"_2214":8264,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":8265,"_2222":8267},"free",[2503,3529,3537,8266,2843],1564,[8268,8275],[3871,8269],{"_2214":8270,"_2216":8271,"_2217":2227,"_2219":3871,"_2220":8272,"_2222":8274},"freebsd","bsd",[8273,2638],493,[],[3193,8276],{"_2214":8277,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":8278,"_2222":8279},"freely",[3264],[],[2225,8281],{"_2214":8282,"_2216":8283,"_2217":2227,"_2219":2225,"_2220":8284,"_2222":8285},"freaking","aking",[4511],[],[2217,8287],{"_2214":8288,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":8289,"_2222":8290},"fe",[],[8291,8308,8313,8323,8339,8345],[2225,8292],{"_2214":8293,"_2216":8294,"_2217":2227,"_2219":2225,"_2220":8295,"_2222":8302},"feature","ature",[2235,3930,2282,2283,2288,2289,3418,3419,2308,3259,3422,8296,2320,3428,2979,2330,2331,2336,2339,2341,5960,2348,4825,2350,3362,2356,8297,8298,3364,2367,3481,2515,3216,2635,2669,2693,2707,2799,3386,8299,8300,8301],258,374,401,1994,1999,2014,[8303],[2216,8304],{"_2214":8305,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8306,"_2222":8307},"features",[3198,5882,3771,3778,2395,2431,3493,3617],[],[2220,8309],{"_2214":8310,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":8311,"_2222":8312},"fed",[2321],[],[2214,8314],{"_2214":8315,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":8316,"_2222":8317},"few",[2334,2457,2459,2487,2627,2761,2764,2797,2889,2894,2932,2940,2947],[8318],[2217,8319],{"_2214":8320,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":8321,"_2222":8322},"fewer",[3489,3490,2484,7552],[],[3099,8324],{"_2214":8325,"_2216":8326,"_2217":2218,"_2219":3099,"_2220":8327,"_2222":8328},"fetch","tch",[],[8329,8334],[2217,8330],{"_2214":8331,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":8332,"_2222":8333},"fetches",[3527],[],[3002,8335],{"_2214":8336,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":8337,"_2222":8338},"fetching",[2890],[],[3207,8340],{"_2214":8341,"_2216":8342,"_2217":2227,"_2219":3207,"_2220":8343,"_2222":8344},"fenced","nced",[2823],[],[2217,8346],{"_2214":8347,"_2216":8348,"_2217":2227,"_2219":2217,"_2220":8349,"_2222":8350},"feel","el",[2940],[],[2225,8352],{"_2214":8353,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":8354,"_2222":8355},"fa",[],[8356,8396,8436,8453,8488,8500,8505,8522,8555,8566],[3002,8357],{"_2214":8358,"_2216":8359,"_2217":2227,"_2219":3002,"_2220":8360,"_2222":8362},"fail","il",[2236,2238,2348,2350,2365,2388,2401,2440,2480,2484,2511,2618,3796,2662,2743,2750,2788,2836,5594,2889,8361,3632],2128,[8363,8369,8375,8386,8391],[2217,8364],{"_2214":8365,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":8366,"_2222":8368},"failed",[2236,2323,2347,2349,5480,2536,2676,8367,7563],2046,[],[2216,8370],{"_2214":8371,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8372,"_2222":8374},"fails",[3434,2390,2462,3370,6084,2530,2531,3506,8373,5514,2557,2653,2692,2706,2738,2779,2838,2846,2871,6458,2946,5481,6114],926,[],[3691,8376],{"_2214":8377,"_2216":8378,"_2217":2227,"_2219":3691,"_2220":8379,"_2222":8380},"failure","ure",[2388,2390,3780,2401,3477,2404,2469,5023,2517,6083,2523,2524,2527,3508,2536,2537,2546,2547,3510,2556,2691,2743,2776,2779,2805,2818,2858,2886,2887,6104,3604,3676,2889,2890,2907,2946,2952,2953,5192,7561,4475,6821],[8381],[2216,8382],{"_2214":8383,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8384,"_2222":8385},"failures",[2402,2403,3477,2404,3497,5513,2557,2558,2655,2656,3551,2676,2776,2779,2817,2881,2885,2888,2894,3805,5481],[],[3002,8387],{"_2214":8388,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":8389,"_2222":8390},"failing",[2706,6005],[],[3017,8392],{"_2214":8393,"_2216":6499,"_2217":2227,"_2219":3017,"_2220":8394,"_2222":8395},"failover",[2802,2803,2815,4738,2818,2823,2851],[],[2216,8397],{"_2214":8398,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":8399,"_2222":8400},"fas",[],[8401,8430],[3099,8402],{"_2214":8403,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":8404,"_2222":8405},"fast",[2236,3358,2325,3232,2511,2651,3799,2795,3603,2869,2889],[8406,8411,8423],[2217,8407],{"_2214":8408,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":8409,"_2222":8410},"faster",[2280,2515,2651],[],[3193,8412],{"_2214":8413,"_2216":8414,"_2217":2227,"_2219":3193,"_2220":8415,"_2222":8416},"fastleader","leader",[2293,2294],[8417],[2217,8418],{"_2214":8419,"_2216":8420,"_2217":2227,"_2219":2217,"_2220":8421,"_2222":8422},"fastleaderelection","election",[3431,2905],[],[3085,8424],{"_2214":8425,"_2216":8426,"_2217":2227,"_2219":3085,"_2220":8427,"_2222":8429},"fastforwardfromedits","forwardfromedits",[8428],2052,[],[3322,8431],{"_2214":8432,"_2216":8433,"_2217":2227,"_2219":3322,"_2220":8434,"_2222":8435},"fashion","hion",[2821],[],[3066,8437],{"_2214":8438,"_2216":8439,"_2217":2218,"_2219":3066,"_2220":8440,"_2222":8441},"favo","vo",[],[8442,8448],[3691,8443],{"_2214":8444,"_2216":8445,"_2217":2227,"_2219":3691,"_2220":8446,"_2222":8447},"favourite","urite",[2239],[],[3220,8449],{"_2214":8450,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":8451,"_2222":8452},"favor",[2371],[],[3193,8454],{"_2214":8455,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":8456,"_2222":8457},"fal",[],[8458,8472],[2216,8459],{"_2214":8460,"_2216":8461,"_2217":2227,"_2219":2216,"_2220":8462,"_2222":8465},"false","se",[2977,2258,3419,6050,2308,5182,8296,2317,3774,2322,2323,2324,3427,2335,2336,3432,3433,2339,3231,3362,3443,3155,3444,2355,3446,3447,3932,3933,3934,4496,2356,8463,3232,4778,4779,3458,2983,2986,2438,4497,3489,2547,5991,4849,3236,4518,2635,3566,7361,7362,7165,2771,6821,8464],378,2194,[8466],[3280,8467],{"_2214":8468,"_2216":8469,"_2217":2227,"_2219":3280,"_2220":8470,"_2222":8471},"false-positive","-positive",[2517],[],[3193,8473],{"_2214":8474,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":8475,"_2222":8476},"fall",[2332,3799],[8477,8482],[2216,8478],{"_2214":8479,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8480,"_2222":8481},"falls",[2526,2923],[],[3871,8483],{"_2214":8484,"_2216":8485,"_2217":2227,"_2219":3871,"_2220":8486,"_2222":8487},"fallback","back",[4827],[],[3099,8489],{"_2214":8490,"_2216":8491,"_2217":2227,"_2219":3099,"_2220":8492,"_2222":8493},"fatal","tal",[2317,2603,2630,3038],[8494],[3280,8495],{"_2214":8496,"_2216":8497,"_2217":2227,"_2219":3280,"_2220":8498,"_2222":8499},"fatal-level","-level",[3038],[],[3220,8501],{"_2214":8502,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":8503,"_2222":8504},"far",[2332,2948],[],[3691,8506],{"_2214":8507,"_2216":8508,"_2217":2227,"_2219":3691,"_2220":8509,"_2222":8510},"fault","ult",[2389,8237,2577,2789,2815,2848],[8511,8516],[3640,8512],{"_2214":8513,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":8514,"_2222":8515},"faulty",[2523,2525,2526,2530,2531,2537,2538,3509],[],[3280,8517],{"_2214":8518,"_2216":8519,"_2217":2227,"_2219":3280,"_2220":8520,"_2222":8521},"fault-tolerant","-tolerant",[2789,2807,3588],[],[2222,8523],{"_2214":8524,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":8525,"_2222":8526},"fac",[],[8527,8538,8548],[3002,8528],{"_2214":8529,"_2216":8530,"_2217":2227,"_2219":3002,"_2220":8531,"_2222":8532},"facilitate","ilitate",[2449],[8533],[2216,8534],{"_2214":8535,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8536,"_2222":8537},"facilitates",[2831],[],[3099,8539],{"_2214":3914,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":8540,"_2222":8541},[2511,2658,2773,3384],[8542],[3017,8543],{"_2214":8544,"_2216":8545,"_2217":2227,"_2219":3017,"_2220":8546,"_2222":8547},"factors","ors",[2658,2720],[],[2217,8549],{"_2214":8550,"_2216":8551,"_2217":2227,"_2219":2217,"_2220":8552,"_2222":8554},"facebook","ebook",[8553,2846,2854],1611,[],[2972,8556],{"_2214":8557,"_2216":8558,"_2217":2227,"_2219":2972,"_2220":8559,"_2222":8560},"familiar","miliar",[2856],[8561],[3002,8562],{"_2214":8563,"_2216":5592,"_2217":2227,"_2219":3002,"_2220":8564,"_2222":8565},"familiarity",[2681],[],[5252,8567],{"_2214":8568,"_2216":5252,"_2217":2227,"_2219":5252,"_2220":8569,"_2222":8570},"faq",[2742,4597],[],[2216,8572],{"_2214":8573,"_2216":7686,"_2217":2227,"_2219":2216,"_2220":8574,"_2222":8575},"fsync",[2287],[],[3193,8577],{"_2214":8578,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":8579,"_2222":8580},"fl",[],[8581,8620,8644,8677,8704,8709,8721],[3691,8582],{"_2214":8583,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":8584,"_2222":8585},"flu",[],[8586,8603,8615],[2216,8587],{"_2214":8588,"_2216":8589,"_2217":2227,"_2219":2216,"_2220":8590,"_2222":8591},"flush","sh",[2306,2307],[8592,8598],[2220,8593],{"_2214":8594,"_2216":8595,"_2217":2227,"_2219":2220,"_2220":8596,"_2222":8597},"flushdelay","delay",[2306,3772,2307],[],[3002,8599],{"_2214":8600,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":8601,"_2222":8602},"flushing",[3772],[],[2972,8604],{"_2214":8605,"_2216":8606,"_2217":2227,"_2219":2972,"_2220":8607,"_2222":8608},"flume","me",[4371,2815,3386,4396],[8609],[3691,8610],{"_2214":8611,"_2216":8612,"_2217":2227,"_2219":3691,"_2220":8613,"_2222":8614},"flumeuserguide","userguide",[4396],[],[3017,8616],{"_2214":8617,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":8618,"_2222":8619},"fluo",[4372,2816,4389,4414],[],[3017,8621],{"_2214":8622,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":8623,"_2222":8624},"flo",[],[8625,8634],[2214,8626],{"_2214":6638,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":8627,"_2222":8628},[3090],[8629],[2216,8630],{"_2214":8631,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8632,"_2222":8633},"flows",[2815],[],[3017,8635],{"_2214":8636,"_2216":7124,"_2217":2227,"_2219":3017,"_2220":8637,"_2222":8638},"flood",[2458],[8639],[3002,8640],{"_2214":8641,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":8642,"_2222":8643},"flooding",[2320],[],[2225,8645],{"_2214":8646,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":8647,"_2222":8648},"fla",[],[8649,8662,8668],[3825,8650],{"_2214":8651,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":8652,"_2222":8655},"flag",[2320,2323,2979,3432,3433,3452,2981,2982,2983,8653,8654,2438,4497,2455,3489,2584,2588,2635,2643,2730,2750,2751,2752,5335,5996,3952,3953,5997,5998,2778,5484],614,615,[8656],[2216,8657],{"_2214":8658,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8659,"_2222":8661},"flags",[3426,4470,5187,8660,3378,2752,2758,2767,2768,2778,3571],1264,[],[3066,8663],{"_2214":8664,"_2216":8665,"_2217":2227,"_2219":3066,"_2220":8666,"_2222":8667},"flavio","vio",[3553],[],[2219,8669],{"_2214":8670,"_2216":8671,"_2217":2227,"_2219":2219,"_2220":8672,"_2222":8676},"flaky","ky",[8673,8674,8675,7883,6007],2117,2121,2124,[],[2217,8678],{"_2214":8679,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":8680,"_2222":8681},"fle",[],[8682,8688],[2217,8683],{"_2214":8684,"_2216":8685,"_2217":2227,"_2219":2217,"_2220":8686,"_2222":8687},"fleet","et",[3435],[],[4309,8689],{"_2214":8690,"_2216":8691,"_2217":2218,"_2219":4309,"_2220":8692,"_2222":8693},"flexib","xib",[],[8694,8699],[3002,8695],{"_2214":8696,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":8697,"_2222":8698},"flexibility",[4497],[],[3193,8700],{"_2214":8701,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":8702,"_2222":8703},"flexible",[2801,2815,2834],[],[3640,8705],{"_2214":8706,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":8707,"_2222":8708},"fly",[2466],[],[3002,8710],{"_2214":8711,"_2216":8712,"_2217":2227,"_2219":3002,"_2220":8713,"_2222":8714},"flink","ink",[4370,2813,2814,4406],[8715],[3280,8716],{"_2214":8717,"_2216":8718,"_2217":2227,"_2219":3280,"_2220":8719,"_2222":8720},"flink-docs-release-1","-docs-release-1",[4406],[],[4034,8722],{"_2214":8723,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":8724,"_2222":8725},"flp",[3805],[],[3280,8727],{"_2214":8728,"_2216":8729,"_2217":2227,"_2219":3280,"_2220":8730,"_2222":8731},"f-john","-john",[3506,2533],[],[3207,8733],{"_2214":8734,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":8735,"_2222":8736},"fn",[8660,2649],[],[2220,8738],{"_2214":8739,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":8740,"_2222":8742},"fd",[8741],2020,[],[3220,8744],{"_2214":3220,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":8745,"_2222":8747},[2854,8746],1836,[8748,8797,10969,11062,11182,11187,11214,11220,11235,11240],[3691,8749],{"_2214":8750,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":8751,"_2222":8752},"ru",[],[8753,8779,8784,8791],[3207,8754],{"_2214":8755,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":8756,"_2222":8758},"run",[2234,5064,2244,2335,3435,2342,2359,3452,3365,5790,2437,2438,3523,3945,2591,2640,3543,3794,2642,8757,2679,2693,2813,3588,3603,3612,6458,2944,4474],1274,[8759,8768,8774],[3207,8760],{"_2214":8761,"_2216":8762,"_2217":2227,"_2219":3207,"_2220":8763,"_2222":8767},"running","ning",[2229,2248,6260,2261,2270,5986,3104,3415,2280,2366,4778,2367,4779,2381,5798,2390,2400,2407,4497,2447,2490,2493,2494,4596,2522,2529,8764,3835,3653,2571,2573,7275,8765,3525,2642,2648,3577,2814,2823,2824,2884,2907,4245,8766,2932,6458,3615,2941,3957,2944,2951],1006,1076,1937,[],[3099,8769],{"_2214":8770,"_2216":8771,"_2217":2227,"_2219":3099,"_2220":8772,"_2222":8773},"runtime","time",[2281,2282,3426,2330,3439,5512,3480,2429,2436,2437,2441,2573,2789,3577,3038],[],[2216,8775],{"_2214":8776,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8777,"_2222":8778},"runs",[3423,3424,5988,3365,2517,2685,2820,2846,2856],[],[3017,8780],{"_2214":8781,"_2216":6488,"_2217":2227,"_2219":3017,"_2220":8782,"_2222":8783},"ruok",[2248,3357,2261,2337],[],[3193,8785],{"_2214":8786,"_2216":8787,"_2217":2227,"_2219":3193,"_2220":8788,"_2222":8790},"rules","les",[2501,7832,8789,2630,3546,3806],827,[],[3871,8792],{"_2214":8793,"_2216":8794,"_2217":2227,"_2219":3871,"_2220":8795,"_2222":8796},"ruby","by",[2803],[],[2217,8798],{"_2214":3750,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":8799,"_2222":8800},[2316],[8801,8994,9092,9442,9541,9871,10013,10034,10237,10450,10522,10627,10688,10760,10803,10864,10881,10924,10953,10958,10964],[5252,8802],{"_2214":8803,"_2216":8804,"_2217":2218,"_2219":5252,"_2220":8805,"_2222":8806},"requ","qu",[],[8807,8849],[3002,8808],{"_2214":8809,"_2216":8810,"_2217":2218,"_2219":3002,"_2220":8811,"_2222":8812},"requir","ir",[],[8813,8844],[2217,8814],{"_2214":8815,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":8816,"_2222":8817},"require",[2334,4848,5874,2430,3647,3514,3564,2825,2894,2950],[8818,8824,8839],[2220,8819],{"_2214":8820,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":8821,"_2222":8823},"required",[2230,2234,2302,2303,2304,2339,3155,2363,3364,2367,4779,5511,8822,2389,2471,2484,2511,2539,2711,2945,2947],461,[],[2972,8825],{"_2214":8826,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":8827,"_2222":8828},"requirement",[2382,2900,2907,3620],[8829],[2216,8830],{"_2214":8831,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8832,"_2222":8838},"requirements",[2232,6300,3462,8833,8834,8835,8836,2407,8837,7788,3374,3530,2806,2907,2923,2995],458,465,466,468,1113,[],[2216,8840],{"_2214":8841,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8842,"_2222":8843},"requires",[5064,2262,3443,5874,2367,2983,2388,2412,3485,2509,2512,3530,5994,2695,2712,4511,2777,2808,2922,2927,2952],[],[3002,8845],{"_2214":8846,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":8847,"_2222":8848},"requiring",[2573,2900],[],[2217,8850],{"_2214":8851,"_2216":8852,"_2217":2227,"_2219":2217,"_2220":8853,"_2222":8855},"request","est",[2244,2254,2302,2303,2304,2308,2309,2310,2311,2312,6051,2318,2319,2321,3231,2346,4846,4847,2363,3455,6052,2483,3497,2526,2614,2656,2669,2679,2699,2703,2715,2717,2736,3570,2786,6103,2882,2924,2960,3301,8854,5337],2165,[8856,8881,8927,8984,8989],[2216,8857],{"_2214":8858,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":8859,"_2222":8862},"requests",[2236,2244,8860,8861,8206,2254,2280,3358,2289,2305,3772,4510,2310,5182,2319,2321,3427,2347,2349,2357,2363,2365,2434,2458,2510,2516,2614,2674,2676,2679,2699,2861,3392,2881,2884,2889,2894,4472,4336,2960],83,87,[8863],[3099,8864],{"_2214":8865,"_2216":8866,"_2217":2218,"_2219":3099,"_2220":8867,"_2222":8868},"requeststale","tale",[],[8869,8875],[3193,8870],{"_2214":8871,"_2216":8872,"_2217":2227,"_2219":3193,"_2220":8873,"_2222":8874},"requeststalelatencycheck","latencycheck",[2311],[],[2222,8876],{"_2214":8877,"_2216":8878,"_2217":2227,"_2219":2222,"_2220":8879,"_2222":8880},"requeststaleconnectioncheck","connectioncheck",[2312],[],[3099,8882],{"_2214":8883,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":8884,"_2222":8885},"requestt",[],[8886,8921],[3322,8887],{"_2214":8888,"_2216":8889,"_2217":2218,"_2219":3322,"_2220":8890,"_2222":8891},"requestthrottle","hrottle",[],[8892,8898,8909,8915],[3193,8893],{"_2214":8894,"_2216":8895,"_2217":2227,"_2219":3193,"_2220":8896,"_2222":8897},"requestthrottlelimit","limit",[4510],[],[3220,8899],{"_2214":8900,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":8901,"_2222":8902},"requestthrottler",[4510,6051,2321],[8903],[3099,8904],{"_2214":8905,"_2216":8906,"_2217":2227,"_2219":3099,"_2220":8907,"_2222":8908},"requestthrottlertest","test",[8673],[],[2216,8910],{"_2214":8911,"_2216":8912,"_2217":2227,"_2219":2216,"_2220":8913,"_2222":8914},"requestthrottlestalltime","stalltime",[2309],[],[2220,8916],{"_2214":8917,"_2216":8918,"_2217":2227,"_2219":2220,"_2220":8919,"_2222":8920},"requestthrottledropstale","dropstale",[2310],[],[3002,8922],{"_2214":8923,"_2216":8924,"_2217":2227,"_2219":3002,"_2220":8925,"_2222":8926},"requesttimeout","imeout",[2957],[],[4794,8928],{"_2214":8929,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":8930,"_2222":8931},"request_",[],[8932,8966],[3099,8933],{"_2214":8934,"_2216":8935,"_2217":2218,"_2219":3099,"_2220":8936,"_2222":8937},"request_throttle","throttle",[],[8938,8961],[4794,8939],{"_2214":8940,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":8941,"_2222":8942},"request_throttle_",[],[8943,8949,8955],[2972,8944],{"_2214":8945,"_2216":8946,"_2217":2227,"_2219":2972,"_2220":8947,"_2222":8948},"request_throttle_max_requests","max_requests",[4510],[],[2216,8950],{"_2214":8951,"_2216":8952,"_2217":2227,"_2219":2216,"_2220":8953,"_2222":8954},"request_throttle_stall_time","stall_time",[2309],[],[2220,8956],{"_2214":8957,"_2216":8958,"_2217":2227,"_2219":2220,"_2220":8959,"_2222":8960},"request_throttle_drop_stale","drop_stale",[2310],[],[3220,8962],{"_2214":8963,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":8964,"_2222":8965},"request_throttler",[6051],[],[2216,8967],{"_2214":8968,"_2216":8969,"_2217":2218,"_2219":2216,"_2220":8970,"_2222":8971},"request_stale_","stale_",[],[8972,8978],[3193,8973],{"_2214":8974,"_2216":8975,"_2217":2227,"_2219":3193,"_2220":8976,"_2222":8977},"request_stale_latency_check","latency_check",[2311],[],[2222,8979],{"_2214":8980,"_2216":8981,"_2217":2227,"_2219":2222,"_2220":8982,"_2222":8983},"request_stale_connection_check","connection_check",[2312],[],[3030,8985],{"_2214":8986,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":8987,"_2222":8988},"request's",[2312],[],[2217,8990],{"_2214":8991,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":8992,"_2222":8993},"requested",[2360,2481,2695,2711],[],[2972,8995],{"_2214":8996,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":8997,"_2222":8998},"rem",[],[8999,9071,9086],[3017,9000],{"_2214":9001,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":9002,"_2222":9003},"remo",[],[9004,9059],[3066,9005],{"_2214":9006,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":9007,"_2222":9008},"remov",[],[9009,9048,9053],[2217,9010],{"_2214":9011,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9012,"_2222":9018},"remove",[2232,3933,3934,3452,2423,2450,2465,3158,2484,2547,2586,2590,2705,9013,2730,2731,2732,2733,9014,3625,7419,3629,9015,9016,9017],1429,2023,2127,2159,2187,[9019,9024,9030,9036,9041],[2216,9020],{"_2214":9021,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9022,"_2222":9023},"removes",[2284,2285],[],[3322,9025],{"_2214":9026,"_2216":9027,"_2217":2227,"_2219":3322,"_2220":9028,"_2222":9029},"removehostfromprincipal","hostfromprincipal",[3933],[],[3220,9031],{"_2214":9032,"_2216":9033,"_2217":2227,"_2219":3220,"_2220":9034,"_2222":9035},"removerealmfromprincipal","realmfromprincipal",[3934],[],[2220,9037],{"_2214":9038,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":9039,"_2222":9040},"removed",[2368,2445,2446,2458,2460,8209,2471,3266,3267,2705,2711,2717,2723,2729,3299,2742,2743,5671,2751,2752,2867,2868,6006],[],[2214,9042],{"_2214":9043,"_2216":9044,"_2217":2227,"_2219":2214,"_2220":9045,"_2222":9047},"removewatches","watches",[9046,3299,2730],565,[],[2225,9049],{"_2214":9050,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":9051,"_2222":9052},"removal",[3177,2467,3559,2730,2762],[],[3002,9054],{"_2214":9055,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9056,"_2222":9058},"removing",[5873,3431,2439,2458,2467,3213,2754,9057,4540],2153,[],[3099,9060],{"_2214":9061,"_2216":5151,"_2217":2227,"_2219":3099,"_2220":9062,"_2222":9063},"remote",[2353,2371,3492,3935,2496,2633],[9064],[4034,9065],{"_2214":9066,"_2216":9067,"_2217":2227,"_2219":4034,"_2220":9068,"_2222":9070},"remotepeer","peer",[9069],763,[],[2225,9072],{"_2214":9073,"_2216":5669,"_2217":2227,"_2219":2225,"_2220":9074,"_2222":9075},"remain",[3432,2443,2446,3490,2484,3592],[9076,9081],[3002,9077],{"_2214":9078,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9079,"_2222":9080},"remaining",[2254,3414,2388,2523,2546,2705,2916],[],[2216,9082],{"_2214":9083,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9084,"_2222":9085},"remains",[2439,2517,2828,2917],[],[2217,9087],{"_2214":9088,"_2216":9089,"_2217":2227,"_2219":2217,"_2220":9090,"_2222":9091},"remember","ember",[4244,2679,5395],[],[2216,9093],{"_2214":9094,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":9095,"_2222":9096},"res",[],[9097,9215,9283,9324,9382,9409],[4034,9098],{"_2214":9099,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":9100,"_2222":9101},"resp",[],[9102,9194],[3017,9103],{"_2214":9104,"_2216":3997,"_2217":2218,"_2219":3017,"_2220":9105,"_2222":9106},"respon",[],[9107,9184],[2216,9108],{"_2214":9109,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":9110,"_2222":9111},"respons",[],[9112,9128],[3002,9113],{"_2214":9114,"_2216":9115,"_2217":2218,"_2219":3002,"_2220":9116,"_2222":9117},"responsib","ib",[],[9118,9123],[3002,9119],{"_2214":9120,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":9121,"_2222":9122},"responsibility",[2232,3526,2836,2849,3602],[],[3193,9124],{"_2214":9125,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":9126,"_2222":9127},"responsible",[3478,3374,2820,2823],[],[2217,9129],{"_2214":9130,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9131,"_2222":9132},"response",[2243,2248,2255,4324,2261,2321,2337,2600,6264,3948,2629,2635,2678,2924,2960,3634],[9133,9173,9178],[4794,9134],{"_2214":9135,"_2216":9136,"_2217":2218,"_2219":4794,"_2220":9137,"_2222":9138},"response_packet_","_packet_",[],[9139,9157],[2222,9140],{"_2214":9141,"_2216":9142,"_2217":2218,"_2219":2222,"_2220":9143,"_2222":9144},"response_packet_cache_","cache_",[],[9145,9151],[3322,9146],{"_2214":9147,"_2216":9148,"_2217":2227,"_2219":3322,"_2220":9149,"_2222":9150},"response_packet_cache_hits","hits",[2288],[],[2972,9152],{"_2214":9153,"_2216":9154,"_2217":2227,"_2219":2972,"_2220":9155,"_2222":9156},"response_packet_cache_misses","misses",[2288],[],[3825,9158],{"_2214":9159,"_2216":9160,"_2217":2218,"_2219":3825,"_2220":9161,"_2222":9162},"response_packet_get_children_cache_","get_children_cache_",[],[9163,9168],[3322,9164],{"_2214":9165,"_2216":9148,"_2217":2227,"_2219":3322,"_2220":9166,"_2222":9167},"response_packet_get_children_cache_hits",[2289],[],[2972,9169],{"_2214":9170,"_2216":9154,"_2217":2227,"_2219":2972,"_2220":9171,"_2222":9172},"response_packet_get_children_cache_misses",[2289],[],[2216,9174],{"_2214":9175,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9176,"_2222":9177},"responses",[2627,2861],[],[2222,9179],{"_2214":9180,"_2216":9181,"_2217":2227,"_2219":2222,"_2220":9182,"_2222":9183},"responsecache","cache",[2958],[],[2220,9185],{"_2214":9186,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":9187,"_2222":9188},"respond",[2248,6260,2925],[9189],[2216,9190],{"_2214":9191,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9192,"_2222":9193},"responds",[2247,2248,2254,2597,2635,2695,2821,2885],[],[2217,9195],{"_2214":9196,"_2216":9197,"_2217":2227,"_2219":2217,"_2220":9198,"_2222":9199},"respect","ect",[3560],[9200,9210],[3002,9201],{"_2214":9202,"_2216":4572,"_2217":2227,"_2219":3002,"_2220":9203,"_2222":9204},"respective",[3525,2775],[9205],[3193,9206],{"_2214":9207,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":9208,"_2222":9209},"respectively",[3355,3402,3418,2538,3509],[],[2216,9211],{"_2214":9212,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9213,"_2222":9214},"respects",[2924,2925],[],[3099,9216],{"_2214":9217,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":9218,"_2222":9219},"rest",[4324,3418,2337,3541,2802,2881,2908],[9220,9236,9252,9273,9278],[2225,9221],{"_2214":9222,"_2216":9223,"_2217":2227,"_2219":2225,"_2220":9224,"_2222":9225},"restart","art",[2238,3154,3414,2273,3415,3419,3426,2317,2320,3431,2331,3446,3447,2462,2626],[9226,9231],[2217,9227],{"_2214":9228,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":9229,"_2222":9230},"restarted",[2236,2237,3421,2366,3366],[],[2216,9232],{"_2214":9233,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9234,"_2222":9235},"restarts",[2429,2430,2464,2562,3528,3374],[],[3220,9237],{"_2214":9238,"_2216":9239,"_2217":2227,"_2219":3220,"_2220":9240,"_2222":9241},"restrict","rict",[2618,4490],[9242,9247],[2217,9243],{"_2214":9244,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":9245,"_2222":9246},"restricted",[2255],[],[2216,9248],{"_2214":9249,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9250,"_2222":9251},"restricts",[2666,2866],[],[3017,9253],{"_2214":9254,"_2216":3020,"_2217":2218,"_2219":3017,"_2220":9255,"_2222":9256},"restor",[],[9257,9268],[2217,9258],{"_2214":9259,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9260,"_2222":9262},"restore",[4324,2978,2982,3460,3512,2556,9261,2558,3513,2560,3788,2562,2992],979,[9263],[2220,9264],{"_2214":9265,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":9266,"_2222":9267},"restored",[2562],[],[3002,9269],{"_2214":9270,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9271,"_2222":9272},"restoring",[2560],[],[2216,9274],{"_2214":9275,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9276,"_2222":9277},"rests",[4044],[],[3085,9279],{"_2214":9280,"_2216":8101,"_2217":2227,"_2219":3085,"_2220":9281,"_2222":9282},"restful",[2809],[],[3002,9284],{"_2214":9285,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":9286,"_2222":9287},"resi",[],[9288,9308],[2220,9289],{"_2214":9290,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":9291,"_2222":9292},"resid",[],[9293,9303],[2217,9294],{"_2214":9295,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9296,"_2222":9297},"reside",[2375],[9298],[2216,9299],{"_2214":9300,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9301,"_2222":9302},"resides",[5064,2394,2494],[],[3002,9304],{"_2214":9305,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9306,"_2222":9307},"residing",[2279,2831],[],[3193,9309],{"_2214":9310,"_2216":9311,"_2217":2218,"_2219":3193,"_2220":9312,"_2222":9313},"resilienc","lienc",[],[9314,9319],[3640,9315],{"_2214":9316,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":9317,"_2222":9318},"resiliency",[2330,2436],[],[2217,9320],{"_2214":9321,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9322,"_2222":9323},"resilience",[2846],[],[3017,9325],{"_2214":9326,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":9327,"_2222":9328},"reso",[],[9329,9340,9376],[3691,9330],{"_2214":9331,"_2216":9332,"_2217":2227,"_2219":3691,"_2220":9333,"_2222":9334},"resource","urce",[3433],[9335],[2216,9336],{"_2214":9337,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9338,"_2222":9339},"resources",[2243,3427,3478,2826,3588,2894],[],[3193,9341],{"_2214":9342,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":9343,"_2222":9344},"resol",[],[9345,9370],[3066,9346],{"_2214":9347,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":9348,"_2222":9349},"resolv",[],[9350,9365],[2217,9351],{"_2214":9352,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9353,"_2222":9354},"resolve",[2293,2294,7566],[9355,9360],[3220,9356],{"_2214":9357,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":9358,"_2222":9359},"resolver",[2635],[],[2220,9361],{"_2214":9362,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":9363,"_2222":9364},"resolved",[3624],[],[3002,9366],{"_2214":9367,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9368,"_2222":9369},"resolving",[3434,2635],[],[3691,9371],{"_2214":9372,"_2216":9373,"_2217":2227,"_2219":3691,"_2220":9374,"_2222":9375},"resolution","ution",[2635],[],[3220,9377],{"_2214":9378,"_2216":9379,"_2217":2227,"_2219":3220,"_2220":9380,"_2222":9381},"resorted","rted",[2429],[],[3691,9383],{"_2214":9384,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":9385,"_2222":9386},"resu",[],[9387,9404],[3193,9388],{"_2214":5242,"_2216":9389,"_2217":2227,"_2219":3193,"_2220":9390,"_2222":9392},"lt",[2254,4488,2340,2366,2443,3487,2458,9391,5023,2510,2511,2515,2527,2547,2627,2635,3377,2693,2700,2740,2758,2874],851,[9393,9399],[2216,9394],{"_2214":9395,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9396,"_2222":9398},"results",[6073,2364,2510,3796,5594,2883,9397],2155,[],[3002,9400],{"_2214":9401,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9402,"_2222":9403},"resulting",[2469,2669],[],[2972,9405],{"_2214":9406,"_2216":8606,"_2217":2227,"_2219":2972,"_2220":9407,"_2222":9408},"resume",[3592],[],[2217,9410],{"_2214":9411,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":9412,"_2222":9413},"rese",[],[9414,9429,9436],[3099,9415],{"_2214":4808,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":9416,"_2222":9418},[4458,9417,4459,4460,4596,4498],66,[9419,9424],[2216,9420],{"_2214":9421,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9422,"_2222":9423},"resets",[2265],[],[3099,9425],{"_2214":9426,"_2216":6425,"_2217":2227,"_2219":3099,"_2220":9427,"_2222":9428},"resetting",[4498],[],[3220,9430],{"_2214":9431,"_2216":9432,"_2217":2227,"_2219":3220,"_2220":9433,"_2222":9435},"reserved","rved",[7540,7541,7542,7543,2254,9434],1310,[],[2225,9437],{"_2214":9438,"_2216":9439,"_2217":2227,"_2219":2225,"_2220":9440,"_2222":9441},"research","arch",[2682,2845,2883],[],[3099,9443],{"_2214":9444,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":9445,"_2222":9446},"ret",[],[9447,9453,9468,9489],[2217,9448],{"_2214":9449,"_2216":9450,"_2217":2227,"_2219":2217,"_2220":9451,"_2222":9452},"retention","ention",[2233,2382],[],[2225,9454],{"_2214":9455,"_2216":5669,"_2217":2218,"_2219":2225,"_2220":9456,"_2222":9457},"retain",[],[9458,9463],[2217,9459],{"_2214":9460,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":9461,"_2222":9462},"retained",[2234,2372,2454],[],[2216,9464],{"_2214":9465,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9466,"_2222":9467},"retains",[3418],[],[3691,9469],{"_2214":9470,"_2216":9471,"_2217":2227,"_2219":3691,"_2220":9472,"_2222":9473},"return","urn",[3980,2336,2629,3377,2655,2687,2720,2721,2925],[9474,9479,9484],[2216,9475],{"_2214":9476,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9477,"_2222":9478},"returns",[2243,2256,2257,3407,3408,3927,6075,6076,2258,2259,3409,2260,4324,2262,2263,2264,3928,2266,3929,2267,2268,2269,3410,2270,2412,3649,3488,2547,2589,2590,2622,3377,2678,3381,2721,3566,2745,2759,7165,2771],[],[2217,9480],{"_2214":9481,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":9482,"_2222":9483},"returned",[2255,4459,4460,2261,2265,3381,2721],[],[3002,9485],{"_2214":9486,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9487,"_2222":9488},"returning",[2742,2763],[],[3220,9490],{"_2214":9491,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":9492,"_2222":9493},"retr",[],[9494,9504],[3640,9495],{"_2214":9496,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":9497,"_2222":9498},"retry",[2321,3434],[9499],[3002,9500],{"_2214":9501,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9502,"_2222":9503},"retrying",[2347,2349],[],[3002,9505],{"_2214":9506,"_2216":9507,"_2217":2218,"_2219":3002,"_2220":9508,"_2222":9509},"retrie","ie",[],[9510,9536],[3066,9511],{"_2214":9512,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":9513,"_2222":9514},"retriev",[],[9515,9530],[2217,9516],{"_2214":9517,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9518,"_2222":9519},"retrieve",[3363,3647,2453,2616],[9520,9525],[2216,9521],{"_2214":9522,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9523,"_2222":9524},"retrieves",[2662,2668,2865,2880],[],[2220,9526],{"_2214":9527,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":9528,"_2222":9529},"retrieved",[3798],[],[3002,9531],{"_2214":9532,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9533,"_2222":9535},"retrieving",[9534],624,[],[2220,9537],{"_2214":9538,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":9539,"_2222":9540},"retried",[2788],[],[2222,9542],{"_2214":9543,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":9544,"_2222":9545},"rec",[],[9546,9593,9804,9819,9831,9842,9858,9865],[2217,9547],{"_2214":9548,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":9549,"_2222":9550},"rece",[],[9551,9562,9588],[3207,9552],{"_2214":9553,"_2216":5686,"_2217":2227,"_2219":3207,"_2220":9554,"_2222":9556},"recent",[2234,3418,9555,2933,6819],589,[9557],[3193,9558],{"_2214":9559,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":9560,"_2222":9561},"recently",[2288],[],[3002,9563],{"_2214":9564,"_2216":9565,"_2217":2218,"_2219":3002,"_2220":9566,"_2222":9567},"receiv","iv",[],[9568,9583],[2217,9569],{"_2214":9570,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9571,"_2222":9572},"receive",[2305,3501,2584,2629,2675,3190,2697,2779,2867,2881,4472,3609],[9573,9578],[2220,9574],{"_2214":9575,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":9576,"_2222":9577},"received",[4457,8206,8207,2254,2326,2471,2703,2722,2896,2914,4472,3609,2919],[],[2216,9579],{"_2214":9580,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9581,"_2222":9582},"receives",[2346,2630,2662,2672,3570,2775,2779,2865,2867,2882,2924,2927],[],[3002,9584],{"_2214":9585,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9586,"_2222":9587},"receiving",[2323,2324,2374,2473,2738,2782,2910],[],[4034,9589],{"_2214":9590,"_2216":4037,"_2217":2227,"_2219":4034,"_2220":9591,"_2222":9592},"reception",[2585],[],[3017,9594],{"_2214":9595,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":9596,"_2222":9597},"reco",[],[9598,9639,9666,9681],[3066,9599],{"_2214":9600,"_2216":6500,"_2217":2227,"_2219":3066,"_2220":9601,"_2222":9602},"recover",[2236,2317,3434,2379,2547,2556,2557,2558,3517,2626,2676,3592,2889,2894,2907,2922],[9603,9609,9614,9629,9634],[3640,9604],{"_2214":9605,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":9606,"_2222":9608},"recovery",[3419,2317,3459,9607,2564,2626,2689,2815,2886,2887,3604,2890],441,[],[2217,9610],{"_2214":9611,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":9612,"_2222":9613},"recovered",[2317],[],[2225,9615],{"_2214":9616,"_2216":5369,"_2217":2218,"_2219":2225,"_2220":9617,"_2222":9618},"recoverab",[],[9619,9624],[3193,9620],{"_2214":9621,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":9622,"_2222":9623},"recoverable",[3434,2603,3551,3563,2742,2763],[],[3002,9625],{"_2214":9626,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":9627,"_2222":9628},"recoverability",[3391],[],[2216,9630],{"_2214":9631,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9632,"_2222":9633},"recovers",[3507],[],[3002,9635],{"_2214":9636,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9637,"_2222":9638},"recovering",[2536,2559,2560,2656,2676],[],[2972,9640],{"_2214":9641,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":9642,"_2222":9643},"recom",[],[9644,9660],[2972,9645],{"_2214":9646,"_2216":9647,"_2217":2227,"_2219":2972,"_2220":9648,"_2222":9649},"recommend","mend",[2244,2317,3365,4497,2448],[9650,9655],[2217,9651],{"_2214":9652,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":9653,"_2222":9654},"recommended",[3355,3401,2245,2279,3358,2283,3360,2336,3442,3155,2362,5511,2371,3365,2389,5097,3788,3945,2946],[],[2225,9656],{"_2214":9657,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":9658,"_2222":9659},"recommendation",[2370],[],[4034,9661],{"_2214":9662,"_2216":9663,"_2217":2227,"_2219":4034,"_2220":9664,"_2222":9665},"recompilation","pilation",[2573],[],[3220,9667],{"_2214":9668,"_2216":6631,"_2217":2227,"_2219":3220,"_2220":9669,"_2222":9670},"record",[2373,3458,3500,2636,2921,6113],[9671,9676],[2217,9672],{"_2214":9673,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":9674,"_2222":9675},"recorded",[2257,2281,2282,2900],[],[2216,9677],{"_2214":9678,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9679,"_2222":9680},"records",[2281,2282,2288,4496,4469],[],[3207,9682],{"_2214":9683,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":9684,"_2222":9685},"recon",[],[9686,9761,9798],[3085,9687],{"_2214":9688,"_2216":9689,"_2217":2227,"_2219":3085,"_2220":9690,"_2222":9693},"reconfig","fig",[2336,9691,9692,2440,2449,2450,2451,3187,3648,3488,3489,2471,2478,3675,2483,2484,4944,2526],563,629,[9694,9720,9738,9743,9749,9755],[3691,9695],{"_2214":9696,"_2216":6172,"_2217":2218,"_2219":3691,"_2220":9697,"_2222":9698},"reconfigur",[],[9699,9710],[2225,9700],{"_2214":9701,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":9702,"_2222":9704},"reconfiguration",[2275,2336,5512,9703,3480,6078,2430,2432,2433,3481,2440,3157,2443,2446,2449,3485,2452,3187,2454,2459,2465,2466,2471,2473,2479,2480,3491,2481,2483,3783,2484,2485],609,[9705],[2216,9706],{"_2214":9707,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9708,"_2222":9709},"reconfigurations",[2430,2483,3783],[],[2217,9711],{"_2214":9712,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9713,"_2222":9714},"reconfigure",[2335,2336,3140,2440,3485,2452,2526],[9715],[2220,9716],{"_2214":9717,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":9718,"_2222":9719},"reconfigured",[2460],[],[2217,9721],{"_2214":9722,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":9723,"_2222":9724},"reconfige",[],[9725,9732],[3207,9726],{"_2214":9727,"_2216":9728,"_2217":2227,"_2219":3207,"_2220":9729,"_2222":9731},"reconfigenabled","nabled",[2336,9730,8654,3481,2440],596,[],[4309,9733],{"_2214":9734,"_2216":9735,"_2217":2227,"_2219":4309,"_2220":9736,"_2222":9737},"reconfigexceptiontest","xceptiontest",[3187],[],[3099,9739],{"_2214":9740,"_2216":8906,"_2217":2227,"_2219":3099,"_2220":9741,"_2222":9742},"reconfigtest",[2457],[],[3220,9744],{"_2214":9745,"_2216":9746,"_2217":2227,"_2219":3220,"_2220":9747,"_2222":9748},"reconfigrecoverytest","recoverytest",[2457],[],[3002,9750],{"_2214":9751,"_2216":9752,"_2217":2227,"_2219":3002,"_2220":9753,"_2222":9754},"reconfiginprogress","inprogress",[3675],[],[3085,9756],{"_2214":9757,"_2216":9758,"_2217":2227,"_2219":3085,"_2220":9759,"_2222":9760},"reconfigfailurecases","failurecases",[3782],[],[3207,9762],{"_2214":9763,"_2216":9764,"_2217":2227,"_2219":3207,"_2220":9765,"_2222":9766},"reconnect","nect",[2304,3435,2347,2349,4498,2650,2696,2699,5481],[9767,9773,9788,9793],[2220,9768],{"_2214":9769,"_2216":9770,"_2217":2227,"_2219":2220,"_2220":9771,"_2222":9772},"reconnectdelayms","delayms",[3435],[],[3002,9774],{"_2214":9775,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":9776,"_2222":9777},"reconnecti",[],[9778,9783],[3017,9779],{"_2214":9780,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":9781,"_2222":9782},"reconnection",[2458],[],[3207,9784],{"_2214":9785,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":9786,"_2222":9787},"reconnecting",[2627],[],[2217,9789],{"_2214":9790,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":9791,"_2222":9792},"reconnected",[2675,2696],[],[2216,9794],{"_2214":9795,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9796,"_2222":9797},"reconnects",[6100,2717,2722,2742],[],[2216,9799],{"_2214":9800,"_2216":9801,"_2217":2227,"_2219":2216,"_2220":9802,"_2222":9803},"reconstruct","struct",[2373],[],[3220,9805],{"_2214":9806,"_2216":4765,"_2217":2218,"_2219":3220,"_2220":9807,"_2222":9808},"recreat",[],[9809,9814],[3002,9810],{"_2214":9811,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9812,"_2222":9813},"recreating",[3256],[],[2217,9815],{"_2214":9816,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9817,"_2222":9818},"recreate",[3548],[],[3691,9820],{"_2214":9821,"_2216":9822,"_2217":2227,"_2219":3691,"_2220":9823,"_2222":9825},"recursive","ursive",[2606,9824,2723,2729,3299,2868,7158,3716],1428,[9826],[3193,9827],{"_2214":9828,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":9829,"_2222":9830},"recursively",[4465,2567,2723,2729,2868],[],[3002,9832],{"_2214":9833,"_2216":9834,"_2217":2227,"_2219":3002,"_2220":9835,"_2222":9836},"recipe","ipe",[2488,2669,2746,2747,2754,2773],[9837],[2216,9838],{"_2214":9839,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9840,"_2222":9841},"recipes",[2591,3204,2658,2670,3554,3561,2740,2742,2753,2756],[],[2225,9843],{"_2214":9844,"_2216":3184,"_2217":2218,"_2219":2225,"_2220":9845,"_2222":9846},"recal",[],[9847,9853],[2222,9848],{"_2214":9849,"_2216":9850,"_2217":2227,"_2219":2222,"_2220":9851,"_2222":9852},"recalculated","culated",[2564,7833],[],[3193,9854],{"_2214":9855,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":9856,"_2222":9857},"recall",[2600,3530],[],[3066,9859],{"_2214":9860,"_2216":9861,"_2217":2227,"_2219":3066,"_2220":9862,"_2222":9864},"recv_timeout","v_timeout",[8660,9863],1267,[],[3322,9866],{"_2214":9867,"_2216":9868,"_2217":2227,"_2219":3322,"_2220":9869,"_2222":9870},"recheck","heck",[2907],[],[3193,9872],{"_2214":9873,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":9874,"_2222":9875},"rel",[],[9876,9920,9966,9997,10008],[2217,9877],{"_2214":9878,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":9879,"_2222":9880},"rele",[],[9881,9914],[2225,9882],{"_2214":9883,"_2216":3925,"_2217":2218,"_2219":2225,"_2220":9884,"_2222":9885},"releas",[],[9886,9909],[2217,9887],{"_2214":9888,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9889,"_2222":9898},"release",[2235,3365,2398,2429,2447,2753,2756,2760,3570,2884,9890,2933,2935,9891,3617,9892,9893,9894,9895,9896,9897,6108],1837,1983,1985,1991,1997,2003,2008,2011,[9899,9904],[2216,9900],{"_2214":9901,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9902,"_2222":9903},"releases",[8208,4405],[],[2220,9905],{"_2214":9906,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":9907,"_2222":9908},"released",[2773],[],[3002,9910],{"_2214":9911,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":9912,"_2222":9913},"releasing",[2773,4511,5484],[],[3066,9915],{"_2214":9916,"_2216":9917,"_2217":2227,"_2219":3066,"_2220":9918,"_2222":9919},"relevant","vant",[3271],[],[3002,9921],{"_2214":9922,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":9923,"_2222":9924},"reli",[],[9925,9951],[2225,9926],{"_2214":9927,"_2216":5369,"_2217":2218,"_2219":2225,"_2220":9928,"_2222":9929},"reliab",[],[9930,9945],[3193,9931],{"_2214":9932,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":9933,"_2222":9934},"reliabl",[],[9935,9940],[2217,9936],{"_2214":9937,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":9938,"_2222":9939},"reliable",[2236,2388,2511,2518,2683,2814,2815,2885,2890,2891,2894],[],[3640,9941],{"_2214":9942,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":9943,"_2222":9944},"reliably",[2736,2843],[],[3002,9946],{"_2214":9947,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":9948,"_2222":9950},"reliability",[2390,4044,3545,2654,2815,9949,2858,2872,2885],1795,[],[2217,9952],{"_2214":9953,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":9954,"_2222":9955},"relie",[],[9956,9961],[2216,9957],{"_2214":9958,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":9959,"_2222":9960},"relies",[3432,3433,4738,4390],[],[3066,9962],{"_2214":9963,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":9964,"_2222":9965},"relieve",[3602],[],[2225,9967],{"_2214":9968,"_2216":4975,"_2217":2218,"_2219":2225,"_2220":9969,"_2222":9970},"relat",[],[9971,9992],[3002,9972],{"_2214":9973,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":9974,"_2222":9975},"relati",[],[9976,9986],[3066,9977],{"_2214":9978,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":9979,"_2222":9980},"relative",[2989,2659,2661,2693],[9981],[3193,9982],{"_2214":9983,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":9984,"_2222":9985},"relatively",[3257,3258,2292,2667],[],[3017,9987],{"_2214":9988,"_2216":9989,"_2217":2227,"_2219":3017,"_2220":9990,"_2222":9991},"relationship","onship",[2836],[],[2217,9993],{"_2214":9994,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":9995,"_2222":9996},"related",[3434,2371,3493,2808],[],[3017,9998],{"_2214":9999,"_2216":10000,"_2217":2227,"_2219":3017,"_2220":10001,"_2222":10002},"reload","oad",[5192],[10003],[3002,10004],{"_2214":10005,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10006,"_2222":10007},"reloading",[3446,3447],[],[3640,10009],{"_2214":10010,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":10011,"_2222":10012},"rely",[2817,4025,3805],[],[3304,10014],{"_2214":10015,"_2216":3304,"_2217":2218,"_2219":3304,"_2220":10016,"_2222":10017},"rej",[],[10018,10024],[3017,10019],{"_2214":10020,"_2216":10021,"_2217":2227,"_2219":3017,"_2220":10022,"_2222":10023},"rejoin","oin",[2236,2237],[],[2217,10025],{"_2214":10026,"_2216":9197,"_2217":2227,"_2219":2217,"_2220":10027,"_2222":10028},"reject",[2308,2426,2551],[10029],[2217,10030],{"_2214":10031,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":10032,"_2222":10033},"rejected",[3775,4473],[],[2225,10035],{"_2214":10036,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":10037,"_2222":10038},"rea",[],[10039,10131,10178,10194],[2220,10040],{"_2214":10041,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":10042,"_2222":10043},"read",[2238,2259,2288,3423,3424,3425,3429,2328,3777,2337,2360,6077,3455,2369,2370,5512,2441,3649,2474,2486,3501,2990,2510,3044,5991,3714,2584,2606,2608,2610,2616,3535,3536,2622,2629,2656,3204,2658,2666,3552,2703,2718,2719,2724,2765,2773,2796,2866,3392,2925,2926,4597,5193],[10044,10078,10084,10089,10105,10110,10115,10120,10126],[3280,10045],{"_2214":10046,"_2216":3280,"_2217":2227,"_2219":3280,"_2220":10047,"_2222":10048},"read-",[2767],[10049,10054,10060,10066,10072],[3017,10050],{"_2214":10051,"_2216":6047,"_2217":2227,"_2219":3017,"_2220":10052,"_2222":10053},"read-only",[6260,6075,2258,3187,3537,4598],[],[2225,10055],{"_2214":10056,"_2216":10057,"_2217":2227,"_2219":2225,"_2220":10058,"_2222":10059},"read-after-write","after-write",[3455],[],[3322,10061],{"_2214":10062,"_2216":10063,"_2217":2227,"_2219":3322,"_2220":10064,"_2222":10065},"read-heavy","heavy",[3945],[],[2214,10067],{"_2214":10068,"_2216":10069,"_2217":2227,"_2219":2214,"_2220":10070,"_2222":10071},"read-write","write",[2741,2884],[],[2220,10073],{"_2214":10074,"_2216":10075,"_2217":2227,"_2219":2220,"_2220":10076,"_2222":10077},"read-dominant","dominant",[3603],[],[4794,10079],{"_2214":10080,"_2216":10081,"_2217":2227,"_2219":4794,"_2220":10082,"_2222":10083},"read_only","_only",[2258],[],[2216,10085],{"_2214":10086,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10087,"_2222":10088},"reads",[3423,3231,2370,2371,2378,2453,2511,2527,3370,2589,2651,2666,2775,3603,2866,2878,2883,2884,2924,2925],[],[3017,10090],{"_2214":10091,"_2216":6047,"_2217":2227,"_2219":3017,"_2220":10092,"_2222":10093},"readonly",[7560,3634],[10094],[2972,10095],{"_2214":10096,"_2216":10097,"_2217":2227,"_2219":2972,"_2220":10098,"_2222":10099},"readonlymode","mode",[2337,2360],[10100],[3099,10101],{"_2214":10102,"_2216":8906,"_2217":2227,"_2219":3099,"_2220":10103,"_2222":10104},"readonlymodetest",[8674,6006],[],[3002,10106],{"_2214":10107,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10108,"_2222":10109},"reading",[2352,2354,2482,2524,2831,3628],[],[2225,10111],{"_2214":10112,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":10113,"_2222":10114},"readable",[2376,3647,2606],[],[2972,10116],{"_2214":10117,"_2216":8606,"_2217":2227,"_2219":2972,"_2220":10118,"_2222":10119},"readme",[7551,4441],[],[3640,10121],{"_2214":4631,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":10122,"_2222":10125},[2747,10123,10124,2749,2750,2751,2902,7706],1490,1498,[],[2217,10127],{"_2214":10128,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":10129,"_2222":10130},"reader",[2752,2773,3570],[],[3193,10132],{"_2214":10133,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":10134,"_2222":10135},"real",[2242,2406,2602,3549,2676,2677,2800],[10136,10141,10146,10151,10157,10173],[3193,10137],{"_2214":10138,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":10139,"_2222":10140},"really",[2242,2316,3361,2362,2634,2904,2928],[],[2972,10142],{"_2214":10143,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":10144,"_2222":10145},"realm",[3934,2631,6090],[],[4034,10147],{"_2214":10148,"_2216":6363,"_2217":2227,"_2219":4034,"_2220":10149,"_2222":10150},"realpath",[5187],[],[3002,10152],{"_2214":10153,"_2216":10154,"_2217":2227,"_2219":3002,"_2220":10155,"_2222":10156},"realize","ize",[2736],[],[3280,10158],{"_2214":10159,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":10160,"_2222":10161},"real-",[],[10162,10168],[2214,10163],{"_2214":10164,"_2216":10165,"_2217":2227,"_2219":2214,"_2220":10166,"_2222":10167},"real-world","world",[2785],[],[3099,10169],{"_2214":10170,"_2216":8771,"_2217":2227,"_2219":3099,"_2220":10171,"_2222":10172},"real-time",[2807,2811,2924],[],[3099,10174],{"_2214":10175,"_2216":8771,"_2217":2227,"_2219":3099,"_2220":10176,"_2222":10177},"realtime",[3580,2843],[],[2216,10179],{"_2214":10180,"_2216":10181,"_2217":2227,"_2219":2216,"_2220":10182,"_2222":10183},"reason","son",[3417,2379,2484,2635,2638,2651,2679,2692,2712,5875,2738,2836],[10184,10189],[2225,10185],{"_2214":10186,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":10187,"_2222":10188},"reasonable",[2292,2699,2929],[],[2216,10190],{"_2214":10191,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10192,"_2222":10193},"reasons",[2362,2458,2480,2676],[],[2222,10195],{"_2214":10196,"_2216":10197,"_2217":2227,"_2219":2222,"_2220":10198,"_2222":10199},"reach","ch",[2371,2557,2720],[10200,10205],[2217,10201],{"_2214":10202,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":10203,"_2222":10204},"reaches",[2281,2282,3212,2380,2715,2720,2777],[],[2225,10206],{"_2214":10207,"_2216":5369,"_2217":2218,"_2219":2225,"_2220":10208,"_2222":10209},"reachab",[],[10210,10232],[3002,10211],{"_2214":10212,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":10213,"_2222":10214},"reachability",[2357,3140],[10215],[2222,10216],{"_2214":10217,"_2216":10218,"_2217":2218,"_2219":2222,"_2220":10219,"_2222":10220},"reachabilitycheck","check",[],[10221,10227],[3099,10222],{"_2214":10223,"_2216":10224,"_2217":2227,"_2219":3099,"_2220":10225,"_2222":10226},"reachabilitychecktimeoutms","timeoutms",[2357],[],[2217,10228],{"_2214":10229,"_2216":3095,"_2217":2227,"_2219":2217,"_2220":10230,"_2222":10231},"reachabilitycheckenabled",[2365],[],[3193,10233],{"_2214":10234,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":10235,"_2222":10236},"reachable",[2357,2365],[],[4034,10238],{"_2214":10239,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":10240,"_2222":10241},"rep",[],[10242,10273,10322,10339,10444],[3017,10243],{"_2214":10244,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":10245,"_2222":10246},"repo",[],[10247,10267],[3220,10248],{"_2214":10249,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":10250,"_2222":10251},"report",[3420,3377],[10252,10257,10262],[3002,10253],{"_2214":10254,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10255,"_2222":10256},"reporting",[6072,7537],[],[2217,10258],{"_2214":10259,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":10260,"_2222":10261},"reported",[3646,3265,2997],[],[2216,10263],{"_2214":10264,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10265,"_2222":10266},"reports",[3590],[],[2216,10268],{"_2214":10269,"_2216":10270,"_2217":2227,"_2219":2216,"_2220":10271,"_2222":10272},"repository","sitory",[2639,2802],[],[3220,10274],{"_2214":10275,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":10276,"_2222":10277},"repr",[],[10278,10315],[2217,10279],{"_2214":10280,"_2216":10281,"_2217":2227,"_2219":2217,"_2220":10282,"_2222":10283},"represent","esent",[3420,2584,2778,2828,2829],[10284,10289,10294,10310],[2217,10285],{"_2214":10286,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":10287,"_2222":10288},"represented",[2254,2586,2694,2743,2901],[],[2216,10290],{"_2214":10291,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10292,"_2222":10293},"represents",[2290,2376,2380,4467,2496,2497,2617,2747,2901],[],[2225,10295],{"_2214":10296,"_2216":10297,"_2217":2218,"_2219":2225,"_2220":10298,"_2222":10299},"representati","ati",[],[10300,10305],[3017,10301],{"_2214":10302,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":10303,"_2222":10304},"representation",[2990],[],[3066,10306],{"_2214":10307,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":10308,"_2222":10309},"representative",[3945],[],[3002,10311],{"_2214":10312,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10313,"_2222":10314},"representing",[2754],[],[3017,10316],{"_2214":10317,"_2216":10318,"_2217":2227,"_2219":3017,"_2220":10319,"_2222":10321},"reproducible","oducible",[10320],2112,[],[2217,10323],{"_2214":10324,"_2216":7031,"_2217":2227,"_2219":2217,"_2220":10325,"_2222":10326},"repeat",[3414,2483,5337],[10327,10332],[3002,10328],{"_2214":10329,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10330,"_2222":10331},"repeating",[2547],[],[2217,10333],{"_2214":10334,"_2216":10335,"_2217":2227,"_2219":2217,"_2220":10336,"_2222":10338},"repeatedly","edly",[10337],2137,[],[3193,10340],{"_2214":10341,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":10342,"_2222":10343},"repl",[],[10344,10349,10403],[3640,10345],{"_2214":10346,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":10347,"_2222":10348},"reply",[2308],[],[3002,10350],{"_2214":10351,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":10352,"_2222":10353},"repli",[],[10354,10398],[2222,10355],{"_2214":10356,"_2216":4237,"_2217":2227,"_2219":2222,"_2220":10357,"_2222":10359},"replica",[10358,2498,2499,3392],764,[10360,10393],[3099,10361],{"_2214":10362,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":10363,"_2222":10364},"replicat",[],[10365,10388],[2217,10366],{"_2214":10367,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":10368,"_2222":10369},"replicate",[],[10370,10383],[2220,10371],{"_2214":10372,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":10373,"_2222":10375},"replicated",[2335,2381,2489,10374,2495,2826,2859,3391,8766,2932,6458,2944,2945,2947,2951],743,[10376],[2216,10377],{"_2214":10378,"_2216":10379,"_2217":2227,"_2219":2216,"_2220":10380,"_2222":10382},"replicatedserver_id","server_id",[10381],761,[],[2216,10384],{"_2214":10385,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10386,"_2222":10387},"replicates",[6103],[],[3002,10389],{"_2214":10390,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":10391,"_2222":10392},"replication",[2825,2890,6458],[],[2216,10394],{"_2214":10395,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10396,"_2222":10397},"replicas",[2836,3587,2882],[],[2217,10399],{"_2214":10400,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":10401,"_2222":10402},"replies",[3560],[],[2225,10404],{"_2214":10405,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":10406,"_2222":10407},"repla",[],[10408,10414],[3640,10409],{"_2214":10410,"_2216":10411,"_2217":2227,"_2219":3640,"_2220":10412,"_2222":10413},"replaying","ying",[2379],[],[2222,10415],{"_2214":10416,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":10417,"_2222":10418},"replac",[],[10419,10439],[2217,10420],{"_2214":10421,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":10422,"_2222":10423},"replace",[],[10424,10429,10434],[2220,10425],{"_2214":10426,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":10427,"_2222":10428},"replaced",[2460],[],[2216,10430],{"_2214":10431,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10432,"_2222":10433},"replaces",[2623,2666,2866],[],[2972,10435],{"_2214":10436,"_2216":3318,"_2217":2227,"_2219":2972,"_2220":10437,"_2222":10438},"replacements",[2793],[],[3002,10440],{"_2214":10441,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10442,"_2222":10443},"replacing",[2881],[],[2225,10445],{"_2214":10446,"_2216":10447,"_2217":2227,"_2219":2225,"_2220":10448,"_2222":10449},"repackaging","ackaging",[2573],[],[3085,10451],{"_2214":10452,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":10453,"_2222":10454},"ref",[],[10455,10489,10500,10506,10517],[2217,10456],{"_2214":10457,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":10458,"_2222":10459},"refer",[3055,2379,5989,4896,2663,2932],[10460,10469,10484],[2217,10461],{"_2214":10462,"_2216":10463,"_2217":2227,"_2219":2217,"_2220":10464,"_2222":10468},"reference","ence",[3052,3058,4496,3479,2489,10465,2501,10466,3515,2578,2600,2602,2646,2647,2659,3552,4332,10467],742,901,1773,[],[3220,10470],{"_2214":10471,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":10472,"_2222":10473},"referr",[],[10474,10479],[2217,10475],{"_2214":10476,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":10477,"_2222":10478},"referred",[2255,2662],[],[3002,10480],{"_2214":10481,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10482,"_2222":10483},"referring",[4896],[],[2216,10485],{"_2214":10486,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10487,"_2222":10488},"refers",[3285,2663,2721,2773],[],[3691,10490],{"_2214":10491,"_2216":10492,"_2217":2227,"_2219":3691,"_2220":10493,"_2222":10494},"refuse","use",[3364],[10495],[2220,10496],{"_2214":10497,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":10498,"_2222":10499},"refused",[2346],[],[3220,10501],{"_2214":10502,"_2216":10503,"_2217":2227,"_2219":3220,"_2220":10504,"_2222":10505},"refresh","resh",[2636],[],[3193,10507],{"_2214":10508,"_2216":10509,"_2217":2227,"_2219":3193,"_2220":10510,"_2222":10511},"reflect","lect",[2848,2900],[10512],[2216,10513],{"_2214":10514,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10515,"_2222":10516},"reflects",[2862],[],[2225,10518],{"_2214":10519,"_2216":5027,"_2217":2227,"_2219":2225,"_2220":10520,"_2222":10521},"refactor",[3300],[],[3825,10523],{"_2214":10524,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":10525,"_2222":10526},"reg",[],[10527,10547,10575,10581],[3691,10528],{"_2214":10529,"_2216":7649,"_2217":2218,"_2219":3691,"_2220":10530,"_2222":10531},"regula",[],[10532,10537],[3099,10533],{"_2214":10534,"_2216":5151,"_2217":2227,"_2219":3099,"_2220":10535,"_2222":10536},"regulate",[2277],[],[3220,10538],{"_2214":10539,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":10540,"_2222":10541},"regular",[10124,2960],[10542],[3193,10543],{"_2214":10544,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":10545,"_2222":10546},"regularly",[2323],[],[2225,10548],{"_2214":10549,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":10550,"_2222":10551},"rega",[],[10552,10568],[3220,10553],{"_2214":10554,"_2216":6631,"_2217":2227,"_2219":3220,"_2220":10555,"_2222":10556},"regard",[6976],[10557,10562],[3002,10558],{"_2214":10559,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10560,"_2222":10561},"regarding",[3432,3433,3299,3587,2932],[],[3193,10563],{"_2214":10564,"_2216":10565,"_2217":2227,"_2219":3193,"_2220":10566,"_2222":10567},"regardless","less",[3505,2653,2871],[],[3002,10569],{"_2214":10570,"_2216":10571,"_2217":2227,"_2219":3002,"_2220":10572,"_2222":10574},"regains","ins",[10573],1394,[],[2217,10576],{"_2214":10577,"_2216":10578,"_2217":2227,"_2219":2217,"_2220":10579,"_2222":10580},"regenerate","enerate",[4646],[],[3002,10582],{"_2214":10583,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":10584,"_2222":10585},"regi",[],[10586,10621],[2216,10587],{"_2214":10588,"_2216":5676,"_2217":2218,"_2219":2216,"_2220":10589,"_2222":10590},"regist",[],[10591,10606],[2217,10592],{"_2214":10593,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":10594,"_2222":10595},"register",[3214,3179,3376,2747],[10596,10601],[2217,10597],{"_2214":10598,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":10599,"_2222":10600},"registered",[2398,3375,2722,2723,2729,2730,2737,2868],[],[2216,10602],{"_2214":10603,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10604,"_2222":10605},"registers",[2492,2747,2857],[],[3220,10607],{"_2214":10608,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":10609,"_2222":10610},"registr",[],[10611,10616],[2225,10612],{"_2214":10613,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":10614,"_2222":10615},"registration",[3179,3583],[],[3640,10617],{"_2214":10618,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":10619,"_2222":10620},"registry",[7554],[],[3017,10622],{"_2214":10623,"_2216":10624,"_2217":2227,"_2219":3017,"_2220":10625,"_2222":10626},"regions","ons",[2825,2846],[],[2220,10628],{"_2214":10629,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":10630,"_2222":10631},"red",[],[10632,10664,10670,10676],[3691,10633],{"_2214":10634,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":10635,"_2222":10636},"redu",[],[10637,10648],[2222,10638],{"_2214":10639,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":10640,"_2222":10642},"reduce",[3417,3257,3258,2326,3452,10641,6112,4540],2108,[10643],[2216,10644],{"_2214":10645,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10646,"_2222":10647},"reduces",[3419,2515],[],[3207,10649],{"_2214":10650,"_2216":10651,"_2217":2218,"_2219":3207,"_2220":10652,"_2222":10653},"redundan","ndan",[],[10654,10659],[2222,10655],{"_2214":10656,"_2216":5157,"_2217":2227,"_2219":2222,"_2220":10657,"_2222":10658},"redundancy",[3780,3578,3585,2952],[],[3099,10660],{"_2214":10661,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":10662,"_2222":10663},"redundant",[2445,2446,2448,2729,3299],[],[3017,10665],{"_2214":10666,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":10667,"_2222":10669},"redo",[10668],564,[],[2217,10671],{"_2214":10672,"_2216":10673,"_2217":2227,"_2219":2217,"_2220":10674,"_2222":10675},"redeployment","eployment",[2573],[],[3002,10677],{"_2214":10678,"_2216":3132,"_2217":2227,"_2219":3002,"_2220":10679,"_2222":10680},"redis",[2803,3597],[10681],[4794,10682],{"_2214":10683,"_2216":10684,"_2217":2227,"_2219":4794,"_2220":10685,"_2222":10687},"redis_failover","_failover",[10686],1579,[],[3280,10689],{"_2214":10690,"_2216":3280,"_2217":2227,"_2219":3280,"_2220":10691,"_2222":10692},"re-",[2692],[10693,10716,10750,10755],[3085,10694],{"_2214":10695,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":10696,"_2222":10697},"re-f",[],[10698,10704,10710],[3002,10699],{"_2214":10700,"_2216":10701,"_2217":2227,"_2219":3002,"_2220":10702,"_2222":10703},"re-filled","illed",[2296],[],[3017,10705],{"_2214":10706,"_2216":10707,"_2217":2227,"_2219":3017,"_2220":10708,"_2222":10709},"re-form","orm",[2526],[],[2217,10711],{"_2214":10712,"_2216":10713,"_2217":2227,"_2219":2217,"_2220":10714,"_2222":10715},"re-fetches","etches",[3528],[],[2217,10717],{"_2214":10718,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":10719,"_2222":10720},"re-e",[],[10721,10727,10733,10739],[4309,10722],{"_2214":10723,"_2216":10724,"_2217":2227,"_2219":4309,"_2220":10725,"_2222":10726},"re-execute","xecute",[2422],[],[3193,10728],{"_2214":10729,"_2216":10730,"_2217":2227,"_2219":3193,"_2220":10731,"_2222":10732},"re-election","lection",[2574],[],[3207,10734],{"_2214":10735,"_2216":10736,"_2217":2227,"_2219":3207,"_2220":10737,"_2222":10738},"re-enter","nter",[2575],[],[2216,10740],{"_2214":10741,"_2216":10742,"_2217":2227,"_2219":2216,"_2220":10743,"_2222":10744},"re-establish","stablish",[2604,2697,2703,2708],[10745],[2217,10746],{"_2214":10747,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":10748,"_2222":10749},"re-established",[2604,2696,2697],[],[2225,10751],{"_2214":10752,"_2216":3150,"_2217":2227,"_2219":2225,"_2220":10753,"_2222":10754},"re-add",[2465],[],[3691,10756],{"_2214":10757,"_2216":10492,"_2217":2227,"_2219":3691,"_2220":10758,"_2222":10759},"re-use",[2693],[],[3207,10761],{"_2214":10762,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":10763,"_2222":10764},"ren",[],[10765,10786],[2217,10766],{"_2214":10767,"_2216":10768,"_2217":2227,"_2219":2217,"_2220":10769,"_2222":10770},"renew","ew",[2303],[10771,10776],[3002,10772],{"_2214":10773,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10774,"_2222":10775},"renewing",[2304],[],[2225,10777],{"_2214":10778,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":10779,"_2222":10780},"renewal",[4475],[10781],[2216,10782],{"_2214":10783,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10784,"_2222":10785},"renewals",[4475],[],[2220,10787],{"_2214":10788,"_2216":10789,"_2217":2218,"_2219":2220,"_2220":10790,"_2222":10791},"rende","de",[],[10792,10797],[3220,10793],{"_2214":10794,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":10795,"_2222":10796},"render",[3547],[],[5908,10798],{"_2214":10799,"_2216":10800,"_2217":2227,"_2219":5908,"_2220":10801,"_2222":10802},"rendezvous","zvous",[2667],[],[3066,10804],{"_2214":10805,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":10806,"_2222":10807},"rev",[],[10808,10824,10852],[2217,10809],{"_2214":10810,"_2216":3114,"_2217":2218,"_2219":2217,"_2220":10811,"_2222":10812},"rever",[],[10813,10818],[2216,10814],{"_2214":10815,"_2216":8461,"_2217":2227,"_2219":2216,"_2220":10816,"_2222":10817},"reverse",[3155,4518,3618,3811],[],[3099,10819],{"_2214":10820,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":10821,"_2222":10823},"revert",[10822],2162,[],[3017,10825],{"_2214":10826,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":10827,"_2222":10828},"revo",[],[10829,10846],[2222,10830],{"_2214":10831,"_2216":4237,"_2217":2218,"_2219":2222,"_2220":10832,"_2222":10833},"revoca",[],[10834,10839],[3099,10835],{"_2214":10836,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":10837,"_2222":10838},"revocation",[3444],[],[3871,10840],{"_2214":10841,"_2216":4262,"_2217":2227,"_2219":3871,"_2220":10842,"_2222":10845},"revocable",[3204,10843,2741,10844,4511],1469,1539,[],[2219,10847],{"_2214":10848,"_2216":10849,"_2217":2227,"_2219":2219,"_2220":10850,"_2222":10851},"revoker","ker",[4511],[],[3002,10853],{"_2214":10854,"_2216":10855,"_2217":2227,"_2219":3002,"_2220":10856,"_2222":10857},"review","iew",[3492],[10858],[2217,10859],{"_2214":10860,"_2216":10861,"_2217":2227,"_2219":2217,"_2220":10862,"_2222":10863},"reviewers","ers",[4597],[],[2214,10865],{"_2214":10866,"_2216":2214,"_2217":2218,"_2219":2214,"_2220":10867,"_2222":10868},"rew",[],[10869,10875],[3017,10870],{"_2214":10871,"_2216":10872,"_2217":2227,"_2219":3017,"_2220":10873,"_2222":10874},"reworked","orked",[3455],[],[3220,10876],{"_2214":10877,"_2216":10878,"_2217":2227,"_2219":3220,"_2220":10879,"_2222":10880},"rewritten","ritten",[2464],[],[3871,10882],{"_2214":10883,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":10884,"_2222":10885},"reb",[],[10886,10903],[2225,10887],{"_2214":10888,"_2216":10889,"_2217":2218,"_2219":2225,"_2220":10890,"_2222":10891},"rebalanc","alanc",[],[10892,10898],[3002,10893],{"_2214":10894,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10895,"_2222":10897},"rebalancing",[10896],632,[],[2217,10899],{"_2214":10900,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":10901,"_2222":10902},"rebalance",[2431],[],[3017,10904],{"_2214":10905,"_2216":10906,"_2217":2218,"_2219":3017,"_2220":10907,"_2222":10908},"reboot","oot",[],[10909,10914,10919],[2217,10910],{"_2214":10911,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":10912,"_2222":10913},"rebooted",[2448],[],[3002,10915],{"_2214":10916,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10917,"_2222":10918},"rebooting",[2472],[],[2216,10920],{"_2214":10921,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10922,"_2222":10923},"reboots",[2557,2676],[],[2217,10925],{"_2214":5704,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":10926,"_2222":10927},[],[10928,10933],[2220,10929],{"_2214":10930,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":10931,"_2222":10932},"reed",[2433,2682],[],[2216,10934],{"_2214":10935,"_2216":10742,"_2217":2227,"_2219":2216,"_2220":10936,"_2222":10937},"reestablish",[2703],[10938],[2217,10939],{"_2214":10940,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":10941,"_2222":10942},"reestablishe",[],[10943,10948],[2216,10944],{"_2214":10945,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":10946,"_2222":10947},"reestablishes",[2694],[],[2220,10949],{"_2214":10950,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":10951,"_2222":10952},"reestablished",[2703,2708,2738],[],[3220,10954],{"_2214":10955,"_2216":10598,"_2217":2227,"_2219":3220,"_2220":10956,"_2222":10957},"reregistered",[2722],[],[3002,10959],{"_2214":10960,"_2216":10961,"_2217":2227,"_2219":3002,"_2220":10962,"_2222":10963},"reissues","issues",[5671],[],[3017,10965],{"_2214":10966,"_2216":6297,"_2217":2227,"_2219":3017,"_2220":10967,"_2222":10968},"reorder",[4025],[],[3017,10970],{"_2214":4293,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":10971,"_2222":10972},[6260],[10973,11003,11008,11014,11025,11046],[3193,10974],{"_2214":10975,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":10976,"_2222":10977},"rol",[],[10978,10993],[3193,10979],{"_2214":10980,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":10981,"_2222":10982},"roll",[2283,3422],[10983,10988],[3002,10984],{"_2214":10985,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":10986,"_2222":10987},"rolling",[2235,2273,3415,3425,3426,2331,2356,2382,2429,2430,2447,2448,2574],[],[2217,10989],{"_2214":10990,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":10991,"_2222":10992},"rolled",[2281,2282,2656],[],[2217,10994],{"_2214":10995,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":10996,"_2222":10997},"role",[4595,2465,6681,2537,2616,3384,2805],[10998],[2216,10999],{"_2214":11000,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":11001,"_2222":11002},"roles",[3480,2430],[],[2972,11004],{"_2214":11005,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":11006,"_2222":11007},"rom",[2360],[],[3825,11009],{"_2214":11010,"_2216":11011,"_2217":2227,"_2219":3825,"_2220":11012,"_2222":11013},"rogue","gue",[2368],[],[3017,11015],{"_2214":11016,"_2216":11017,"_2217":2227,"_2219":3017,"_2220":11018,"_2222":11019},"root","ot",[2989,3179,3981,2551,3514,2583,2584,2585,2586,2587,2588,2589,2693,2935,8361],[11020],[2217,11021],{"_2214":11022,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":11023,"_2222":11024},"rooted",[2693],[],[3691,11026],{"_2214":11027,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":11028,"_2222":11029},"rou",[],[11030,11041],[3207,11031],{"_2214":11032,"_2216":4184,"_2217":2227,"_2219":3207,"_2220":11033,"_2222":11034},"round",[2705,2706],[11035],[3280,11036],{"_2214":11037,"_2216":11038,"_2217":2227,"_2219":3280,"_2220":11039,"_2222":11040},"round-robin-restart","-robin-restart",[2788],[],[3099,11042],{"_2214":11043,"_2216":6425,"_2217":2227,"_2219":3099,"_2220":11044,"_2222":11045},"routing",[3576],[],[3871,11047],{"_2214":11048,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":11049,"_2222":11050},"rob",[],[11051,11056],[3002,11052],{"_2214":11053,"_2216":7485,"_2217":2227,"_2219":3002,"_2220":11054,"_2222":11055},"robin",[2705,2706],[],[3691,11057],{"_2214":11058,"_2216":11059,"_2217":2227,"_2219":3691,"_2220":11060,"_2222":11061},"robust","ust",[2815],[],[2225,11063],{"_2214":5145,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":11064,"_2222":11065},[],[11066,11071,11124,11149,11154,11164],[2972,11067],{"_2214":11068,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":11069,"_2222":11070},"ram",[2244,3365],[],[3099,11072],{"_2214":5765,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":11073,"_2222":11074},[],[11075,11107,11113],[2217,11076],{"_2214":11077,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":11078,"_2222":11079},"rate",[2295,2296,2297,2298,2299,2300,2301,2371,2980],[11080,11096,11101],[3280,11081],{"_2214":11082,"_2216":11083,"_2217":2218,"_2219":3280,"_2220":11084,"_2222":11085},"rate-limit","-limit",[],[11086,11091],[2217,11087],{"_2214":11088,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":11089,"_2222":11090},"rate-limited",[4324,2264,3787],[],[2225,11092],{"_2214":11093,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":11094,"_2222":11095},"rate-limitation",[2365],[],[2216,11097],{"_2214":11098,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":11099,"_2222":11100},"rates",[2306],[],[3193,11102],{"_2214":11103,"_2216":11104,"_2217":2227,"_2219":3193,"_2220":11105,"_2222":11106},"ratelimiterintervalinms","limiterintervalinms",[2980],[],[3322,11108],{"_2214":11109,"_2216":11110,"_2217":2227,"_2219":3322,"_2220":11111,"_2222":11112},"rather","her",[2278,2310,2367,2817,2904],[],[3002,11114],{"_2214":11115,"_2216":11116,"_2217":2227,"_2219":3002,"_2220":11117,"_2222":11118},"ratio","io",[2884,2888],[11119],[2216,11120],{"_2214":11121,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":11122,"_2222":11123},"ratios",[3603],[],[3207,11125],{"_2214":11126,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":11127,"_2222":11128},"ran",[2888],[11129,11145],[2220,11130],{"_2214":11131,"_2216":11132,"_2217":2227,"_2219":2220,"_2220":11133,"_2222":11134},"random","dom",[2281,2282,2486,3556,2705,2706],[11135,11140],[3193,11136],{"_2214":11137,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":11138,"_2222":11139},"randomly",[2485,2635],[],[3002,11141],{"_2214":11142,"_2216":10154,"_2217":2227,"_2219":3002,"_2220":11143,"_2222":11144},"randomize",[2635],[],[3825,11146],{"_2214":6443,"_2216":7204,"_2217":2227,"_2219":3825,"_2220":11147,"_2222":11148},[2281,2282,6077,2864],[],[3220,11150],{"_2214":11151,"_2216":3750,"_2217":2227,"_2219":3220,"_2220":11152,"_2222":11153},"rare",[2316,3783],[],[3002,11155],{"_2214":11156,"_2216":3846,"_2217":2227,"_2219":3002,"_2220":11157,"_2222":11158},"raise",[2889],[11159],[2220,11160],{"_2214":11161,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":11162,"_2222":11163},"raised",[3535,2634],[],[2222,11165],{"_2214":11166,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":11167,"_2222":11168},"rac",[],[11169,11176],[2219,11170],{"_2214":11171,"_2216":11172,"_2217":2227,"_2219":2219,"_2220":11173,"_2222":11175},"rackspace","kspace",[11174],1616,[],[2217,11177],{"_2214":11178,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":11179,"_2222":11181},"race",[3602,7634,11180,3631],2104,[],[2214,11183],{"_2214":11184,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":11185,"_2222":11186},"rw",[6260],[],[3002,11188],{"_2214":11189,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":11190,"_2222":11191},"ri",[],[11192,11198,11209],[2216,11193],{"_2214":11194,"_2216":11195,"_2217":2227,"_2219":2216,"_2220":11196,"_2222":11197},"risk","sk",[4663],[],[3825,11199],{"_2214":11200,"_2216":11201,"_2217":2227,"_2219":3825,"_2220":11202,"_2222":11203},"right","ght",[2435,2537,2676,3602,5515],[11204],[2216,11205],{"_2214":11206,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":11207,"_2222":11208},"rights",[2396,2787],[],[2222,11210],{"_2214":11211,"_2216":10197,"_2217":2227,"_2219":2222,"_2220":11212,"_2222":11213},"rich",[3497],[],[3322,11215],{"_2214":11216,"_2216":11217,"_2217":2227,"_2219":3322,"_2220":11218,"_2222":11219},"rhel","hel",[3365],[],[4034,11221],{"_2214":11222,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":11223,"_2222":11224},"rp",[],[11225,11230],[2222,11226],{"_2214":11227,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":11228,"_2222":11229},"rpc",[2812],[],[2972,11231],{"_2214":11232,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":11233,"_2222":11234},"rpm",[2884],[],[3207,11236],{"_2214":11237,"_2216":4184,"_2217":2227,"_2219":3207,"_2220":11238,"_2222":11239},"rnd",[2844],[],[5968,11241],{"_2214":11242,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":11243,"_2222":11244},"r2",[4398],[],[5908,11246],{"_2214":5908,"_2216":5908,"_2217":2227,"_2219":5908,"_2220":11247,"_2222":11249},[3571,3572,11248,2854],1557,[11250,12921,12946,13136,13157,13168,13194,13200,13216],[3017,11251],{"_2214":11252,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":11253,"_2222":11254},"zo",[],[11255,12915],[3017,11256],{"_2214":11257,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":11258,"_2222":11260},"zoo",[3152,3153,9730,3482,3483,3157,3215,2504,6348,11259,3370,2542,2563,3790,2936,3394,2947],892,[11261,12730,12893,12899,12904,12909],[2219,11262],{"_2214":11263,"_2216":11264,"_2217":2227,"_2219":2219,"_2220":11265,"_2222":11288},"zookeeper","keeper",[2229,2230,2231,2232,2234,2236,2237,3355,6027,3644,5064,2238,3051,3356,4359,3401,3768,2242,2243,2244,2245,6073,2246,2247,2977,2259,3411,2271,5985,4461,3104,3058,2274,2275,3930,3416,2277,3770,2280,3417,2281,3358,2282,2283,2284,2285,2287,2288,2289,3418,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2311,2312,6051,3090,5182,2313,2314,3259,5477,3773,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,2326,2327,4488,2328,3360,2329,2330,2331,2332,2333,2334,3776,3777,2336,2337,3432,3433,3434,3435,2338,3436,2340,2341,4645,3231,2343,2344,2345,2346,2347,2348,2349,2350,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,3445,3263,3447,3932,4361,3933,3934,4496,2356,2357,6300,3448,3452,5874,2361,2362,2363,2364,3232,2365,2366,4778,3364,2367,2368,4779,2369,5511,5750,6052,2370,2371,3779,2373,3458,2980,2981,2982,2983,2984,2985,2986,2987,2988,2374,2989,3459,2375,2378,2379,2380,2381,3460,2382,3461,3462,2383,3464,2384,2385,2386,5988,2387,3646,3365,2388,2389,3780,2392,8208,2394,2397,2398,2399,2400,5989,4044,3027,2402,2403,3477,3478,2405,2406,2407,4463,2408,2412,2421,11266,6078,2429,2430,2431,2436,2437,2439,2441,2443,2447,2449,3485,3647,2450,2451,3187,3486,3648,2453,2471,2473,3367,2477,2480,2485,2486,2489,11267,10465,2491,2492,2494,3214,3179,2495,2497,3496,7548,3500,11268,11269,2501,3502,2503,2504,3503,2506,2507,3981,3264,2509,2510,2511,2512,3368,3160,2513,2516,2517,2518,3504,2523,2525,3650,3371,2537,2538,3509,5065,2543,3511,3786,2550,3044,5990,2554,2555,2557,2558,2559,3515,11270,2563,11271,7550,3790,7274,11272,3653,3522,11273,6897,11274,5991,2572,3714,3525,2578,2579,2582,5993,2583,2585,2587,2588,2595,2597,3235,3374,3947,2600,3529,2601,6264,3532,2602,4095,3375,3376,4329,2603,2604,4330,2605,2607,2608,7720,2613,2614,2615,7721,2618,3792,5216,5217,2625,3539,3540,3541,2626,2627,2630,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636,2637,2642,4244,11276,2645,2646,11277,2647,2648,3795,3379,4664,2651,3204,2658,11278,11279,2659,2661,9434,2662,2663,2665,2667,3798,2669,2670,11280,2672,2674,3549,6091,3551,3799,2675,2676,2677,2678,2679,2681,3552,6099,4332,2682,3553,2683,3554,2685,3381,2687,2688,3271,3188,2689,2691,2692,2693,2694,2695,2696,2697,2698,2699,2702,2704,2707,2709,3559,5394,2718,2720,2721,2722,2724,2730,6976,3560,3951,2736,3562,2739,3564,3383,3565,2743,2744,4347,2745,2746,2752,2753,2755,2756,2775,3384,2778,2779,2785,3573,2786,2787,2788,3385,2791,3575,2794,2796,2797,2799,3577,2802,2805,3578,2808,4388,2810,3802,3583,2814,3386,4389,3585,4738,2818,2819,2820,2822,2824,2825,2827,3954,2833,3586,4390,3803,2837,4391,2838,3589,2840,3590,3591,3592,7553,2844,3593,3594,2845,2846,3595,5643,4131,2848,2849,3596,7021,2850,7554,3597,3598,7555,3390,2852,2853,4393,4399,4409,3014,2855,11281,2856,3602,2857,2858,2859,2860,2861,2862,3603,2863,2864,3955,2867,2869,2874,6103,3392,2881,2882,3956,2883,2884,2888,2889,2890,3605,3606,3393,3804,2894,3608,2898,2899,2900,6106,2904,2905,2918,3610,2924,2925,3611,2927,2930,3038,3612,7276,4252,11282,11283,11284,8766,2932,2933,2934,2935,2936,3613,7837,2937,6458,3615,3616,7559,2943,2944,2948,4113,2950,2952,2953,3617,9892,9893,9894,9895,9896,9897,4415,11285,3622,3623,11286,5191,8367,5481,6200,6923,7562,8023,7563,4474,11287,7706,3810,8053,3632],607,738,821,823,1015,1017,1052,1059,1062,1236,1253,1260,1302,1303,1325,1796,1934,1935,1936,2021,2041,2096,[11289,11295,12637,12642,12675,12690,12723],[3030,11290],{"_2214":11291,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":11292,"_2222":11294},"zookeeper's",[3052,5873,2274,2373,2405,3480,3486,2510,2556,3948,3533,4664,3545,2651,3546,2680,2684,2718,2752,11293,2863,2883],1787,[],[3280,11296],{"_2214":11297,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":11298,"_2222":11299},"zookeeper-",[],[11300,11339,11359,11472,12526,12532,12538,12550,12556,12561,12596,12603,12609,12625,12631],[5968,11301],{"_2214":11302,"_2216":5968,"_2217":2218,"_2219":5968,"_2220":11303,"_2222":11304},"zookeeper-2",[],[11305,11312,11319,11326,11333],[11306,11307],"9",{"_2214":11308,"_2216":11309,"_2217":2227,"_2219":11306,"_2220":11310,"_2222":11311},"zookeeper-2901","901",[2291],[],[11313,11314],"3",{"_2214":11315,"_2216":11316,"_2217":2227,"_2219":11313,"_2220":11317,"_2222":11318},"zookeeper-2332","332",[7563],[],[11320,11321],"6",{"_2214":11322,"_2216":11323,"_2217":2227,"_2219":11320,"_2220":11324,"_2222":11325},"zookeeper-2623","623",[6109],[],[11327,11328],"5",{"_2214":11329,"_2216":11330,"_2217":2227,"_2219":11327,"_2220":11331,"_2222":11332},"zookeeper-2590","590",[5193],[],[6884,11334],{"_2214":11335,"_2216":11336,"_2217":2227,"_2219":6884,"_2220":11337,"_2222":11338},"zookeeper-2108","108",[6266],[],[6884,11340],{"_2214":11341,"_2216":11342,"_2217":2218,"_2219":6884,"_2220":11343,"_2222":11344},"zookeeper-11","11",[],[11345,11352],[11346,11347],"7",{"_2214":11348,"_2216":11349,"_2217":2227,"_2219":11346,"_2220":11350,"_2222":11351},"zookeeper-1179","79",[3255,3256,3257,3258,3212,2292],[],[11353,11354],"4",{"_2214":11355,"_2216":11356,"_2217":2227,"_2219":11353,"_2220":11357,"_2222":11358},"zookeeper-1147","47",[3272],[],[11313,11360],{"_2214":11361,"_2216":11313,"_2217":2218,"_2219":11313,"_2220":11362,"_2222":11363},"zookeeper-3",[],[11364,11381,11387,11393,11424,11430,11448,11455],[6884,11365],{"_2214":11366,"_2216":6884,"_2217":2218,"_2219":6884,"_2220":11367,"_2222":11368},"zookeeper-31",[],[11369,11374],[11346,11370],{"_2214":11371,"_2216":11349,"_2217":2227,"_2219":11346,"_2220":11372,"_2222":11373},"zookeeper-3179",[3773],[],[11375,11376],"8",{"_2214":11377,"_2216":11378,"_2217":2227,"_2219":11375,"_2220":11379,"_2222":11380},"zookeeper-3188","88",[2330,2436],[],[11327,11382],{"_2214":11383,"_2216":11384,"_2217":2227,"_2219":11327,"_2220":11385,"_2222":11386},"zookeeper-3575","575",[2324],[],[11313,11388],{"_2214":11389,"_2216":11390,"_2217":2227,"_2219":11313,"_2220":11391,"_2222":11392},"zookeeper-3320","320",[3434],[],[11306,11394],{"_2214":11395,"_2216":11306,"_2217":2218,"_2219":11306,"_2220":11396,"_2222":11397},"zookeeper-39",[],[11398,11403,11410,11418],[11346,11399],{"_2214":11400,"_2216":11349,"_2217":2227,"_2219":11346,"_2220":11401,"_2222":11402},"zookeeper-3979",[2340],[],[11313,11404],{"_2214":11405,"_2216":11406,"_2217":2227,"_2219":11313,"_2220":11407,"_2222":11409},"zookeeper-3938","38",[11408],2027,[],[11411,11412],"0",{"_2214":11413,"_2216":11414,"_2217":2227,"_2219":11411,"_2220":11415,"_2222":11417},"zookeeper-3908","08",[11416],2120,[],[11306,11419],{"_2214":11420,"_2216":11421,"_2217":2227,"_2219":11306,"_2220":11422,"_2222":11423},"zookeeper-3996","96",[8674],[],[11353,11425],{"_2214":11426,"_2216":11427,"_2217":2227,"_2219":11353,"_2220":11428,"_2222":11429},"zookeeper-3486","486",[2998],[],[11320,11431],{"_2214":11432,"_2216":11320,"_2217":2218,"_2219":11320,"_2220":11433,"_2222":11434},"zookeeper-36",[],[11435,11442],[11327,11436],{"_2214":11437,"_2216":11438,"_2217":2227,"_2219":11327,"_2220":11439,"_2222":11441},"zookeeper-3652","52",[11440],2119,[],[6884,11443],{"_2214":11444,"_2216":11445,"_2217":2227,"_2219":6884,"_2220":11446,"_2222":11447},"zookeeper-3615","15",[2964],[],[11346,11449],{"_2214":11450,"_2216":11451,"_2217":2227,"_2219":11346,"_2220":11452,"_2222":11454},"zookeeper-3731","731",[11453],2146,[],[11375,11456],{"_2214":11457,"_2216":11375,"_2217":2218,"_2219":11375,"_2220":11458,"_2222":11459},"zookeeper-38",[],[11460,11466],[11411,11461],{"_2214":11462,"_2216":11463,"_2217":2227,"_2219":11411,"_2220":11464,"_2222":11465},"zookeeper-3806","06",[7565],[],[11320,11467],{"_2214":11468,"_2216":11469,"_2217":2227,"_2219":11320,"_2220":11470,"_2222":11471},"zookeeper-3860","60",[3811],[],[11353,11473],{"_2214":11474,"_2216":11353,"_2217":2218,"_2219":11353,"_2220":11475,"_2222":11476},"zookeeper-4",[],[11477,11503,11712,11892,12072,12111,12247,12288,12396],[11411,11478],{"_2214":11479,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":11480,"_2222":11481},"zookeeper-40",[],[11482,11488],[11346,11483],{"_2214":11484,"_2216":11485,"_2217":2227,"_2219":11346,"_2220":11486,"_2222":11487},"zookeeper-4074","74",[2324],[],[5968,11489],{"_2214":11490,"_2216":5968,"_2217":2218,"_2219":5968,"_2220":11491,"_2222":11492},"zookeeper-402",[],[11493,11498],[11411,11494],{"_2214":11495,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":11496,"_2222":11497},"zookeeper-4020",[11286],[],[11320,11499],{"_2214":11500,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":11501,"_2222":11502},"zookeeper-4026",[2960],[],[11346,11504],{"_2214":11505,"_2216":11346,"_2217":2218,"_2219":11346,"_2220":11506,"_2222":11507},"zookeeper-47",[],[11508,11533,11553,11573,11594,11640,11676,11681,11687],[11313,11509],{"_2214":11510,"_2216":11313,"_2217":2218,"_2219":11313,"_2220":11511,"_2222":11512},"zookeeper-473",[],[11513,11518,11523,11528],[11320,11514],{"_2214":11515,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":11516,"_2222":11517},"zookeeper-4736",[8741],[],[11313,11519],{"_2214":11520,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":11521,"_2222":11522},"zookeeper-4733",[3627],[],[11411,11524],{"_2214":11525,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":11526,"_2222":11527},"zookeeper-4730",[2997],[],[5968,11529],{"_2214":11530,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":11531,"_2222":11532},"zookeeper-4732",[10320],[],[11375,11534],{"_2214":11535,"_2216":11375,"_2217":2218,"_2219":11375,"_2220":11536,"_2222":11537},"zookeeper-478",[],[11538,11543,11548],[11411,11539],{"_2214":11540,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":11541,"_2222":11542},"zookeeper-4780",[5336],[],[11346,11544],{"_2214":11545,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":11546,"_2222":11547},"zookeeper-4787",[8367],[],[11327,11549],{"_2214":11550,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":11551,"_2222":11552},"zookeeper-4785",[11180],[],[5968,11554],{"_2214":11555,"_2216":5968,"_2217":2218,"_2219":5968,"_2220":11556,"_2222":11557},"zookeeper-472",[],[11558,11563,11568],[11327,11559],{"_2214":11560,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":11561,"_2222":11562},"zookeeper-4725",[4217],[],[11375,11564],{"_2214":11565,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":11566,"_2222":11567},"zookeeper-4728",[7706],[],[6884,11569],{"_2214":11570,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":11571,"_2222":11572},"zookeeper-4721",[6820],[],[11306,11574],{"_2214":11575,"_2216":11306,"_2217":2218,"_2219":11306,"_2220":11576,"_2222":11577},"zookeeper-479",[],[11578,11584,11589],[11411,11579],{"_2214":11580,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":11581,"_2222":11583},"zookeeper-4790",[11582],2067,[],[11353,11585],{"_2214":11586,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":11587,"_2222":11588},"zookeeper-4794",[10641],[],[11306,11590],{"_2214":11591,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":11592,"_2222":11593},"zookeeper-4799",[3300],[],[6884,11595],{"_2214":11596,"_2216":6884,"_2217":2218,"_2219":6884,"_2220":11597,"_2222":11598},"zookeeper-471",[],[11599,11604,11609,11614,11619,11624,11630,11635],[5968,11600],{"_2214":11601,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":11602,"_2222":11603},"zookeeper-4712",[3626],[],[11306,11605],{"_2214":11606,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":11607,"_2222":11608},"zookeeper-4719",[6111],[],[11346,11610],{"_2214":11611,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":11612,"_2222":11613},"zookeeper-4717",[5337],[],[11375,11615],{"_2214":11616,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":11617,"_2222":11618},"zookeeper-4718",[4540],[],[11411,11620],{"_2214":11621,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":11622,"_2222":11623},"zookeeper-4710",[5484],[],[11353,11625],{"_2214":11626,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":11627,"_2222":11629},"zookeeper-4714",[11628],2181,[],[11327,11631],{"_2214":11632,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":11633,"_2222":11634},"zookeeper-4715",[3635],[],[11320,11636],{"_2214":11637,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":11638,"_2222":11639},"zookeeper-4716",[8464],[],[11327,11641],{"_2214":11642,"_2216":11327,"_2217":2218,"_2219":11327,"_2220":11643,"_2222":11644},"zookeeper-475",[],[11645,11650,11655,11660,11665,11670],[5968,11646],{"_2214":11647,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":11648,"_2222":11649},"zookeeper-4752",[7419],[],[11320,11651],{"_2214":11652,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":11653,"_2222":11654},"zookeeper-4756",[4336],[],[11313,11656],{"_2214":11657,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":11658,"_2222":11659},"zookeeper-4753",[4828],[],[6884,11661],{"_2214":11662,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":11663,"_2222":11664},"zookeeper-4751",[3239],[],[11353,11666],{"_2214":11667,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":11668,"_2222":11669},"zookeeper-4754",[3630],[],[11327,11671],{"_2214":11672,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":11673,"_2222":11675},"zookeeper-4755",[11674],2116,[],[11353,11677],{"_2214":11678,"_2216":11356,"_2217":2227,"_2219":11353,"_2220":11679,"_2222":11680},"zookeeper-4747",[4335],[],[11346,11682],{"_2214":11683,"_2216":11684,"_2217":2227,"_2219":11346,"_2220":11685,"_2222":11686},"zookeeper-4778","78",[3629],[],[11411,11688],{"_2214":11689,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":11690,"_2222":11691},"zookeeper-470",[],[11692,11697,11702,11707],[11327,11693],{"_2214":11694,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":11695,"_2222":11696},"zookeeper-4705",[4490],[],[11411,11698],{"_2214":11699,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":11700,"_2222":11701},"zookeeper-4700",[3637],[],[11346,11703],{"_2214":11704,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":11705,"_2222":11706},"zookeeper-4707",[3240],[],[11306,11708],{"_2214":11709,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":11710,"_2222":11711},"zookeeper-4709",[7996],[],[11375,11713],{"_2214":11714,"_2216":11375,"_2217":2218,"_2219":11375,"_2220":11715,"_2222":11716},"zookeeper-48",[],[11717,11738,11758,11778,11798,11828,11843,11863,11869,11886],[11346,11718],{"_2214":11719,"_2216":11346,"_2217":2218,"_2219":11346,"_2220":11720,"_2222":11721},"zookeeper-487",[],[11722,11727,11732],[6884,11723],{"_2214":11724,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":11725,"_2222":11726},"zookeeper-4871",[11285],[],[5968,11728],{"_2214":11729,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":11730,"_2222":11731},"zookeeper-4872",[8428],[],[11320,11733],{"_2214":11734,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":11735,"_2222":11737},"zookeeper-4876",[11736],2090,[],[11306,11739],{"_2214":11740,"_2216":11306,"_2217":2218,"_2219":11306,"_2220":11741,"_2222":11742},"zookeeper-489",[],[11743,11748,11753],[6884,11744],{"_2214":11745,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":11746,"_2222":11747},"zookeeper-4891",[3620,8022],[],[11327,11749],{"_2214":11750,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":11751,"_2222":11752},"zookeeper-4895",[2959],[],[11346,11754],{"_2214":11755,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":11756,"_2222":11757},"zookeeper-4897",[8023],[],[6884,11759],{"_2214":11760,"_2216":6884,"_2217":2218,"_2219":6884,"_2220":11761,"_2222":11762},"zookeeper-481",[],[11763,11768,11773],[11411,11764],{"_2214":11765,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":11766,"_2222":11767},"zookeeper-4810",[7634],[],[11306,11769],{"_2214":11770,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":11771,"_2222":11772},"zookeeper-4819",[7560],[],[11353,11774],{"_2214":11775,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":11776,"_2222":11777},"zookeeper-4814",[5483],[],[11353,11779],{"_2214":11780,"_2216":11353,"_2217":2218,"_2219":11353,"_2220":11781,"_2222":11782},"zookeeper-484",[],[11783,11788,11793],[11320,11784],{"_2214":11785,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":11786,"_2222":11787},"zookeeper-4846",[5192],[],[11375,11789],{"_2214":11790,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":11791,"_2222":11792},"zookeeper-4848",[6640],[],[11313,11794],{"_2214":11795,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":11796,"_2222":11797},"zookeeper-4843",[3395],[],[11327,11799],{"_2214":11800,"_2216":11327,"_2217":2218,"_2219":11327,"_2220":11801,"_2222":11802},"zookeeper-485",[],[11803,11808,11813,11818,11823],[11375,11804],{"_2214":11805,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":11806,"_2222":11807},"zookeeper-4858",[3625],[],[5968,11809],{"_2214":11810,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":11811,"_2222":11812},"zookeeper-4852",[4159],[],[11411,11814],{"_2214":11815,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":11816,"_2222":11817},"zookeeper-4850",[3628],[],[6884,11819],{"_2214":11820,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":11821,"_2222":11822},"zookeeper-4851",[5895],[],[11306,11824],{"_2214":11825,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":11826,"_2222":11827},"zookeeper-4859",[6122],[],[11375,11829],{"_2214":11830,"_2216":11375,"_2217":2218,"_2219":11375,"_2220":11831,"_2222":11832},"zookeeper-488",[],[11833,11838],[11320,11834],{"_2214":11835,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":11836,"_2222":11837},"zookeeper-4886",[6683],[],[11306,11839],{"_2214":11840,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":11841,"_2222":11842},"zookeeper-4889",[4827],[],[11411,11844],{"_2214":11845,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":11846,"_2222":11847},"zookeeper-480",[],[11848,11853,11858],[11353,11849],{"_2214":11850,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":11851,"_2222":11852},"zookeeper-4804",[7564],[],[6884,11854],{"_2214":11855,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":11856,"_2222":11857},"zookeeper-4801",[3163],[],[11346,11859],{"_2214":11860,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":11861,"_2222":11862},"zookeeper-4807",[3164],[],[11313,11864],{"_2214":11865,"_2216":11866,"_2217":2227,"_2219":11313,"_2220":11867,"_2222":11868},"zookeeper-4839","39",[4851],[],[11320,11870],{"_2214":11871,"_2216":11320,"_2217":2218,"_2219":11320,"_2220":11872,"_2222":11873},"zookeeper-486",[],[11874,11880],[11411,11875],{"_2214":11876,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":11877,"_2222":11879},"zookeeper-4860",[11878],2094,[],[11375,11881],{"_2214":11882,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":11883,"_2222":11885},"zookeeper-4868",[11884],2097,[],[5968,11887],{"_2214":11888,"_2216":11889,"_2217":2227,"_2219":5968,"_2220":11890,"_2222":11891},"zookeeper-4820","20",[11287],[],[11306,11893],{"_2214":11894,"_2216":11306,"_2217":2218,"_2219":11306,"_2220":11895,"_2222":11896},"zookeeper-49",[],[11897,11927,11947,11967,11993,12024,12030,12051,12057],[11327,11898],{"_2214":11899,"_2216":11327,"_2217":2218,"_2219":11327,"_2220":11900,"_2222":11901},"zookeeper-495",[],[11902,11907,11912,11917,11922],[11375,11903],{"_2214":11904,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":11905,"_2222":11906},"zookeeper-4958",[4922],[],[11327,11908],{"_2214":11909,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":11910,"_2222":11911},"zookeeper-4955",[3619],[],[11313,11913],{"_2214":11914,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":11915,"_2222":11916},"zookeeper-4953",[6923],[],[11353,11918],{"_2214":11919,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":11920,"_2222":11921},"zookeeper-4954",[8052],[],[11306,11923],{"_2214":11924,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":11925,"_2222":11926},"zookeeper-4959",[5482],[],[11346,11928],{"_2214":11929,"_2216":11346,"_2217":2218,"_2219":11346,"_2220":11930,"_2222":11931},"zookeeper-497",[],[11932,11937,11942],[11353,11933],{"_2214":11934,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":11935,"_2222":11936},"zookeeper-4974",[9014],[],[11411,11938],{"_2214":11939,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":11940,"_2222":11941},"zookeeper-4970",[6107],[],[11320,11943],{"_2214":11944,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":11945,"_2222":11946},"zookeeper-4976",[8021],[],[11375,11948],{"_2214":11949,"_2216":11375,"_2217":2218,"_2219":11375,"_2220":11950,"_2222":11951},"zookeeper-498",[],[11952,11957,11962],[11353,11953],{"_2214":11954,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":11955,"_2222":11956},"zookeeper-4984",[4334],[],[11320,11958],{"_2214":11959,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":11960,"_2222":11961},"zookeeper-4986",[3618],[],[11306,11963],{"_2214":11964,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":11965,"_2222":11966},"zookeeper-4989",[6001],[],[11320,11968],{"_2214":11969,"_2216":11320,"_2217":2218,"_2219":11320,"_2220":11970,"_2222":11971},"zookeeper-496",[],[11972,11977,11983,11988],[5968,11973],{"_2214":11974,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":11975,"_2222":11976},"zookeeper-4962",[3162],[],[11327,11978],{"_2214":11979,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":11980,"_2222":11982},"zookeeper-4965",[11981],2030,[],[11411,11984],{"_2214":11985,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":11986,"_2222":11987},"zookeeper-4960",[6819],[],[11353,11989],{"_2214":11990,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":11991,"_2222":11992},"zookeeper-4964",[2996],[],[11411,11994],{"_2214":11995,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":11996,"_2222":11997},"zookeeper-490",[],[11998,12003,12009,12014,12019],[11411,11999],{"_2214":12000,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":12001,"_2222":12002},"zookeeper-4900",[6108],[],[11346,12004],{"_2214":12005,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":12006,"_2222":12008},"zookeeper-4907",[12007],2056,[],[11306,12010],{"_2214":12011,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":12012,"_2222":12013},"zookeeper-4909",[2957],[],[5968,12015],{"_2214":12016,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":12017,"_2222":12018},"zookeeper-4902",[4598],[],[11320,12020],{"_2214":12021,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":12022,"_2222":12023},"zookeeper-4906",[7561],[],[6884,12025],{"_2214":12026,"_2216":12027,"_2217":2227,"_2219":6884,"_2220":12028,"_2222":12029},"zookeeper-4919","19",[2958],[],[5968,12031],{"_2214":12032,"_2216":5968,"_2217":2218,"_2219":5968,"_2220":12033,"_2222":12034},"zookeeper-492",[],[12035,12040,12045],[6884,12036],{"_2214":12037,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":12038,"_2222":12039},"zookeeper-4921",[5481],[],[11327,12041],{"_2214":12042,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":12043,"_2222":12044},"zookeeper-4925",[7754],[],[11375,12046],{"_2214":12047,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":12048,"_2222":12050},"zookeeper-4928",[12049],2061,[],[11313,12052],{"_2214":12053,"_2216":12054,"_2217":2227,"_2219":11313,"_2220":12055,"_2222":12056},"zookeeper-4933","33",[4473],[],[11353,12058],{"_2214":12059,"_2216":11353,"_2217":2218,"_2219":11353,"_2220":12060,"_2222":12061},"zookeeper-494",[],[12062,12067],[11411,12063],{"_2214":12064,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":12065,"_2222":12066},"zookeeper-4940",[6200],[],[11353,12068],{"_2214":12069,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":12070,"_2222":12071},"zookeeper-4944",[7562],[],[5968,12073],{"_2214":12074,"_2216":5968,"_2217":2218,"_2219":5968,"_2220":12075,"_2222":12076},"zookeeper-42",[],[12077,12083,12099,12105],[11353,12078],{"_2214":12079,"_2216":12080,"_2217":2227,"_2219":11353,"_2220":12081,"_2222":12082},"zookeeper-4240","40",[5191],[],[11306,12084],{"_2214":12085,"_2216":11306,"_2217":2218,"_2219":11306,"_2220":12086,"_2222":12087},"zookeeper-429",[],[12088,12094],[11313,12089],{"_2214":12090,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":12091,"_2222":12093},"zookeeper-4293",[12092],2079,[],[11320,12095],{"_2214":12096,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":12097,"_2222":12098},"zookeeper-4296",[5858],[],[11313,12100],{"_2214":12101,"_2216":12102,"_2217":2227,"_2219":11313,"_2220":12103,"_2222":12104},"zookeeper-4236","36",[6659],[],[11375,12106],{"_2214":12107,"_2216":12108,"_2217":2227,"_2219":11375,"_2220":12109,"_2222":12110},"zookeeper-4289","89",[6112],[],[11320,12112],{"_2214":12113,"_2216":11320,"_2217":2218,"_2219":11320,"_2220":12114,"_2222":12115},"zookeeper-46",[],[12116,12122,12129,12154,12179,12194,12200,12206,12221,12241],[11411,12117],{"_2214":12118,"_2216":12119,"_2217":2227,"_2219":11411,"_2220":12120,"_2222":12121},"zookeeper-4604","04",[2956],[],[11306,12123],{"_2214":12124,"_2216":12125,"_2217":2227,"_2219":11306,"_2220":12126,"_2222":12128},"zookeeper-4699","99",[12127],2044,[],[11353,12130],{"_2214":12131,"_2216":11353,"_2217":2218,"_2219":11353,"_2220":12132,"_2222":12133},"zookeeper-464",[],[12134,12139,12144,12149],[11346,12135],{"_2214":12136,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":12137,"_2222":12138},"zookeeper-4647",[6003],[],[6884,12140],{"_2214":12141,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":12142,"_2222":12143},"zookeeper-4641",[6114],[],[5968,12145],{"_2214":12146,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":12147,"_2222":12148},"zookeeper-4642",[9017],[],[11306,12150],{"_2214":12151,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":12152,"_2222":12153},"zookeeper-4649",[6115],[],[11327,12155],{"_2214":12156,"_2216":11327,"_2217":2218,"_2219":11327,"_2220":12157,"_2222":12158},"zookeeper-465",[],[12159,12164,12169,12174],[11353,12160],{"_2214":12161,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":12162,"_2222":12163},"zookeeper-4654",[8024],[],[11327,12165],{"_2214":12166,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":12167,"_2222":12168},"zookeeper-4655",[2961],[],[11346,12170],{"_2214":12171,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":12172,"_2222":12173},"zookeeper-4657",[3921],[],[11306,12175],{"_2214":12176,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":12177,"_2222":12178},"zookeeper-4659",[6005],[],[11346,12180],{"_2214":12181,"_2216":11346,"_2217":2218,"_2219":11346,"_2220":12182,"_2222":12183},"zookeeper-467",[],[12184,12189],[11353,12185],{"_2214":12186,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":12187,"_2222":12188},"zookeeper-4674",[6004],[],[11320,12190],{"_2214":12191,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":12192,"_2222":12193},"zookeeper-4676",[6006],[],[6884,12195],{"_2214":12196,"_2216":12197,"_2217":2227,"_2219":6884,"_2220":12198,"_2222":12199},"zookeeper-4616","16",[7566],[],[5968,12201],{"_2214":12202,"_2216":12203,"_2217":2227,"_2219":5968,"_2220":12204,"_2222":12205},"zookeeper-4622","22",[3165],[],[11313,12207],{"_2214":12208,"_2216":11313,"_2217":2218,"_2219":11313,"_2220":12209,"_2222":12210},"zookeeper-463",[],[12211,12216],[11320,12212],{"_2214":12213,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":12214,"_2222":12215},"zookeeper-4636",[5738],[],[11411,12217],{"_2214":12218,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":12219,"_2222":12220},"zookeeper-4630",[8025],[],[11320,12222],{"_2214":12223,"_2216":11320,"_2217":2218,"_2219":11320,"_2220":12224,"_2222":12225},"zookeeper-466",[],[12226,12231,12236],[11411,12227],{"_2214":12228,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":12229,"_2222":12230},"zookeeper-4660",[6821],[],[6884,12232],{"_2214":12233,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":12234,"_2222":12235},"zookeeper-4661",[7567],[],[11306,12237],{"_2214":12238,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":12239,"_2222":12240},"zookeeper-4669",[6302],[],[11375,12242],{"_2214":12243,"_2216":11378,"_2217":2227,"_2219":11375,"_2220":12244,"_2222":12246},"zookeeper-4688",[12245],2190,[],[11313,12248],{"_2214":12249,"_2216":11313,"_2217":2218,"_2219":11313,"_2220":12250,"_2222":12251},"zookeeper-43",[],[12252,12267,12273],[11306,12253],{"_2214":12254,"_2216":11306,"_2217":2218,"_2219":11306,"_2220":12255,"_2222":12256},"zookeeper-439",[],[12257,12262],[11353,12258],{"_2214":12259,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":12260,"_2222":12261},"zookeeper-4394",[7157],[],[11313,12263],{"_2214":12264,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":12265,"_2222":12266},"zookeeper-4393",[8053],[],[5968,12268],{"_2214":12269,"_2216":12270,"_2217":2227,"_2219":5968,"_2220":12271,"_2222":12272},"zookeeper-4327","27",[8673],[],[11411,12274],{"_2214":12275,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":12276,"_2222":12277},"zookeeper-430",[],[12278,12283],[11375,12279],{"_2214":12280,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":12281,"_2222":12282},"zookeeper-4308",[8675],[],[11313,12284],{"_2214":12285,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":12286,"_2222":12287},"zookeeper-4303",[3633],[],[11353,12289],{"_2214":12290,"_2216":11353,"_2217":2218,"_2219":11353,"_2220":12291,"_2222":12292},"zookeeper-44",[],[12293,12300,12305,12325,12365,12390],[11411,12294],{"_2214":12295,"_2216":12296,"_2217":2227,"_2219":11411,"_2220":12297,"_2222":12299},"zookeeper-4409","09",[12298],2081,[],[6884,12301],{"_2214":12302,"_2216":11445,"_2217":2227,"_2219":6884,"_2220":12303,"_2222":12304},"zookeeper-4415",[3810],[],[11320,12306],{"_2214":12307,"_2216":11320,"_2217":2218,"_2219":11320,"_2220":12308,"_2222":12309},"zookeeper-446",[],[12310,12315,12320],[11320,12311],{"_2214":12312,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":12313,"_2222":12314},"zookeeper-4466",[6002],[],[11353,12316],{"_2214":12317,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":12318,"_2222":12319},"zookeeper-4464",[6801],[],[11346,12321],{"_2214":12322,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":12323,"_2222":12324},"zookeeper-4467",[3301],[],[11346,12326],{"_2214":12327,"_2216":11346,"_2217":2218,"_2219":11346,"_2220":12328,"_2222":12329},"zookeeper-447",[],[12330,12335,12340,12345,12350,12355,12360],[6884,12331],{"_2214":12332,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":12333,"_2222":12334},"zookeeper-4471",[9015],[],[11313,12336],{"_2214":12337,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":12338,"_2222":12339},"zookeeper-4473",[8361],[],[11327,12341],{"_2214":12342,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":12343,"_2222":12344},"zookeeper-4475",[7158],[],[11346,12346],{"_2214":12347,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":12348,"_2222":12349},"zookeeper-4477",[4475],[],[5968,12351],{"_2214":12352,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":12353,"_2222":12354},"zookeeper-4472",[9057],[],[11353,12356],{"_2214":12357,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":12358,"_2222":12359},"zookeeper-4474",[5979],[],[11306,12361],{"_2214":12362,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":12363,"_2222":12364},"zookeeper-4479",[6007],[],[11306,12366],{"_2214":12367,"_2216":11306,"_2217":2218,"_2219":11306,"_2220":12368,"_2222":12369},"zookeeper-449",[],[12370,12375,12380,12385],[11411,12371],{"_2214":12372,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":12373,"_2222":12374},"zookeeper-4490",[9397],[],[6884,12376],{"_2214":12377,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":12378,"_2222":12379},"zookeeper-4491",[3217],[],[5968,12381],{"_2214":12382,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":12383,"_2222":12384},"zookeeper-4492",[3634],[],[11353,12386],{"_2214":12387,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":12388,"_2222":12389},"zookeeper-4494",[7606],[],[11375,12391],{"_2214":12392,"_2216":12393,"_2217":2227,"_2219":11375,"_2220":12394,"_2222":12395},"zookeeper-4482","82",[3636],[],[11327,12397],{"_2214":12398,"_2216":11327,"_2217":2218,"_2219":11327,"_2220":12399,"_2222":12400},"zookeeper-45",[],[12401,12422,12453,12468,12474,12489,12509,12515,12521],[11411,12402],{"_2214":12403,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":12404,"_2222":12405},"zookeeper-450",[],[12406,12411,12416],[11375,12407],{"_2214":12408,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":12409,"_2222":12410},"zookeeper-4508",[4474],[],[11353,12412],{"_2214":12413,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":12414,"_2222":12415},"zookeeper-4504",[8151],[],[11327,12417],{"_2214":12418,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":12419,"_2222":12421},"zookeeper-4505",[12420],2132,[],[6884,12423],{"_2214":12424,"_2216":6884,"_2217":2218,"_2219":6884,"_2220":12425,"_2222":12426},"zookeeper-451",[],[12427,12432,12438,12443,12448],[6884,12428],{"_2214":12429,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":12430,"_2222":12431},"zookeeper-4511",[7883],[],[11353,12433],{"_2214":12434,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":12435,"_2222":12437},"zookeeper-4514",[12436],2134,[],[11327,12439],{"_2214":12440,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":12441,"_2222":12442},"zookeeper-4515",[4605],[],[11375,12444],{"_2214":12445,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":12446,"_2222":12447},"zookeeper-4518",[9016],[],[11306,12449],{"_2214":12450,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":12451,"_2222":12452},"zookeeper-4519",[2962],[],[11313,12454],{"_2214":12455,"_2216":11313,"_2217":2218,"_2219":11313,"_2220":12456,"_2222":12457},"zookeeper-453",[],[12458,12463],[11346,12459],{"_2214":12460,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":12461,"_2222":12462},"zookeeper-4537",[3631],[],[6884,12464],{"_2214":12465,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":12466,"_2222":12467},"zookeeper-4531",[10822],[],[11353,12469],{"_2214":12470,"_2216":12471,"_2217":2227,"_2219":11353,"_2220":12472,"_2222":12473},"zookeeper-4549","49",[10337],[],[11320,12475],{"_2214":12476,"_2216":11320,"_2217":2218,"_2219":11320,"_2220":12477,"_2222":12478},"zookeeper-456",[],[12479,12484],[11327,12480],{"_2214":12481,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":12482,"_2222":12483},"zookeeper-4565",[3632],[],[11320,12485],{"_2214":12486,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":12487,"_2222":12488},"zookeeper-4566",[3716],[],[11346,12490],{"_2214":12491,"_2216":11346,"_2217":2218,"_2219":11346,"_2220":12492,"_2222":12493},"zookeeper-457",[],[12494,12499,12504],[11411,12495],{"_2214":12496,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":12497,"_2222":12498},"zookeeper-4570",[2999],[],[11313,12500],{"_2214":12501,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":12502,"_2222":12503},"zookeeper-4573",[8854],[],[11327,12505],{"_2214":12506,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":12507,"_2222":12508},"zookeeper-4575",[6113],[],[5968,12510],{"_2214":12511,"_2216":12512,"_2217":2227,"_2219":5968,"_2220":12513,"_2222":12514},"zookeeper-4529","29",[7995],[],[11327,12516],{"_2214":12517,"_2216":12518,"_2217":2227,"_2219":11327,"_2220":12519,"_2222":12520},"zookeeper-4551","51",[2963],[],[11306,12522],{"_2214":12523,"_2216":12125,"_2217":2227,"_2219":11306,"_2220":12524,"_2222":12525},"zookeeper-4599",[5338],[],[11346,12527],{"_2214":12528,"_2216":12529,"_2217":2227,"_2219":11346,"_2220":12530,"_2222":12531},"zookeeper-784","784",[2360],[],[3871,12533],{"_2214":12534,"_2216":12535,"_2217":2227,"_2219":3871,"_2220":12536,"_2222":12537},"zookeeper-based","based",[3524,2803,2823],[],[2222,12539],{"_2214":12540,"_2216":12541,"_2217":2227,"_2219":2222,"_2220":12542,"_2222":12543},"zookeeper-client","client",[2625,2640,3543,2641,2644],[12544],[3280,12545],{"_2214":12546,"_2216":12547,"_2217":2227,"_2219":3280,"_2220":12548,"_2222":12549},"zookeeper-client-c","-c",[2625,2640,3543,2641,2644],[],[3304,12551],{"_2214":12552,"_2216":12553,"_2217":2227,"_2219":3304,"_2220":12554,"_2222":12555},"zookeeper-jute","jute",[2640],[],[4309,12557],{"_2214":12558,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":12559,"_2222":12560},"zookeeper-x",[2641],[],[3220,12562],{"_2214":12563,"_2216":3750,"_2217":2218,"_2219":3220,"_2220":12564,"_2222":12565},"zookeeper-re",[],[12566,12589],[2222,12567],{"_2214":12568,"_2216":12569,"_2217":2227,"_2219":2222,"_2220":12570,"_2222":12571},"zookeeper-recipes","cipes",[2753,2756],[12572],[3280,12573],{"_2214":12574,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":12575,"_2222":12576},"zookeeper-recipes-",[],[12577,12583],[5252,12578],{"_2214":12579,"_2216":12580,"_2217":2227,"_2219":5252,"_2220":12581,"_2222":12582},"zookeeper-recipes-queue","queue",[2753],[],[3193,12584],{"_2214":12585,"_2216":12586,"_2217":2227,"_2219":3193,"_2220":12587,"_2222":12588},"zookeeper-recipes-lock","lock",[2756],[],[2216,12590],{"_2214":12591,"_2216":12592,"_2217":2227,"_2219":2216,"_2220":12593,"_2222":12595},"zookeeper-resilience-at-pinterest-adfd8acf2a6b","silience-at-pinterest-adfd8acf2a6b",[12594],1762,[],[2225,12597],{"_2214":12598,"_2216":12599,"_2217":2227,"_2219":2225,"_2220":12600,"_2222":12602},"zookeeper-at-twitter","at-twitter",[12601],1758,[],[11375,12604],{"_2214":12605,"_2216":12606,"_2217":2227,"_2219":11375,"_2220":12607,"_2222":12608},"zookeeper-842","842",[4415],[],[11327,12610],{"_2214":12611,"_2216":12612,"_2217":2218,"_2219":11327,"_2220":12613,"_2222":12614},"zookeeper-501","501",[],[12615,12620],[11346,12616],{"_2214":12617,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":12618,"_2222":12619},"zookeeper-5017",[3238],[],[11375,12621],{"_2214":12622,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":12623,"_2222":12624},"zookeeper-5018",[6301],[],[2216,12626],{"_2214":12627,"_2216":12628,"_2217":2227,"_2219":2216,"_2220":12629,"_2222":12630},"zookeeper-server","server",[7419],[],[11306,12632],{"_2214":12633,"_2216":12634,"_2217":2227,"_2219":11306,"_2220":12635,"_2222":12636},"zookeeper-910","910",[6110],[],[2225,12638],{"_2214":12639,"_2216":2974,"_2217":2227,"_2219":2225,"_2220":12640,"_2222":12641},"zookeeperadmin",[3485],[],[2216,12643],{"_2214":12644,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":12645,"_2222":12646},"zookeepers",[],[12647,12670],[2217,12648],{"_2214":12649,"_2216":6669,"_2217":2218,"_2219":2217,"_2220":12650,"_2222":12651},"zookeeperserv",[],[12652,12658],[3002,12653],{"_2214":12654,"_2216":12655,"_2217":2227,"_2219":3002,"_2220":12656,"_2222":12657},"zookeeperservice","ice",[3493],[],[2217,12659],{"_2214":6718,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":12660,"_2222":12663},[2498,2499,3494,12661,12662,3558,6113],785,1374,[12664],[2217,12665],{"_2214":12666,"_2216":12667,"_2217":2227,"_2219":2217,"_2220":12668,"_2222":12669},"zookeeperserverembedded","embedded",[3162,3633],[],[3099,12671],{"_2214":12672,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":12673,"_2222":12674},"zookeeperst",[2638],[],[2972,12676],{"_2214":12677,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":12678,"_2222":12679},"zookeeperm",[],[12680,12685],[2225,12681],{"_2214":12682,"_2216":5669,"_2217":2227,"_2219":2225,"_2220":12683,"_2222":12684},"zookeepermain",[3511],[],[3099,12686],{"_2214":12687,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":12688,"_2222":12689},"zookeepermt",[2648],[],[4794,12691],{"_2214":12692,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":12693,"_2222":12694},"zookeeper_",[],[12695,12701,12717],[2972,12696],{"_2214":12697,"_2216":12698,"_2217":2227,"_2219":2972,"_2220":12699,"_2222":12700},"zookeeper_mt","mt",[2638,4331,2643],[],[3002,12702],{"_2214":12703,"_2216":7485,"_2217":2218,"_2219":3002,"_2220":12704,"_2222":12705},"zookeeper_in",[],[12706,12711],[3002,12707],{"_2214":12708,"_2216":8144,"_2217":2227,"_2219":3002,"_2220":12709,"_2222":12710},"zookeeper_init",[8660],[],[3099,12712],{"_2214":12713,"_2216":12714,"_2217":2227,"_2219":3099,"_2220":12715,"_2222":12716},"zookeeper_interest","terest",[12127],[],[3066,12718],{"_2214":12719,"_2216":12720,"_2217":2227,"_2219":3066,"_2220":12721,"_2222":12722},"zookeeper_version","version",[12049],[],[3322,12724],{"_2214":12725,"_2216":12726,"_2217":2227,"_2219":3322,"_2220":12727,"_2222":12729},"zookeeperhivelockmanager","hivelockmanager",[12728],1769,[],[4794,12731],{"_2214":12732,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":12733,"_2222":12734},"zoo_",[],[12735,12741,12762,12768,12785,12834,12858,12864,12881,12887],[2220,12736],{"_2214":12737,"_2216":12738,"_2217":2227,"_2219":2220,"_2220":12739,"_2222":12740},"zoo_datadir_autocreate_disable","datadir_autocreate_disable",[4778],[],[3220,12742],{"_2214":12743,"_2216":3750,"_2217":2218,"_2219":3220,"_2220":12744,"_2222":12745},"zoo_re",[],[12746,12756],[4034,12747],{"_2214":12748,"_2216":12749,"_2217":2227,"_2219":4034,"_2220":12750,"_2222":12755},"zoo_replicated1","plicated1",[12751,12752,12753,12754],657,658,661,664,[],[2225,12757],{"_2214":12758,"_2216":12759,"_2217":2227,"_2219":2225,"_2220":12760,"_2222":12761},"zoo_read_acl_unsafe","ad_acl_unsafe",[5236,3537],[],[3193,12763],{"_2214":12764,"_2216":12765,"_2217":2227,"_2219":3193,"_2220":12766,"_2222":12767},"zoo_log_dir","log_dir",[3789],[],[2217,12769],{"_2214":12770,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":12771,"_2222":12772},"zoo_e",[],[12773,12779],[4309,12774],{"_2214":12775,"_2216":12776,"_2217":2227,"_2219":4309,"_2220":12777,"_2222":12778},"zoo_exists","xists",[2615],[],[3220,12780],{"_2214":12781,"_2216":12782,"_2217":2227,"_2219":3220,"_2220":12783,"_2222":12784},"zoo_errors","rrors",[3377],[],[4034,12786],{"_2214":12787,"_2216":12788,"_2217":2218,"_2219":4034,"_2220":12789,"_2222":12790},"zoo_perm_","perm_",[],[12791,12796,12802,12809,12816],[3220,12792],{"_2214":12793,"_2216":10041,"_2217":2227,"_2219":3220,"_2220":12794,"_2222":12795},"zoo_perm_read",[3536,5236],[],[2214,12797],{"_2214":12798,"_2216":10069,"_2217":2227,"_2219":2214,"_2220":12799,"_2222":12801},"zoo_perm_write",[12800],1178,[],[2222,12803],{"_2214":12804,"_2216":12805,"_2217":2227,"_2219":2222,"_2220":12806,"_2222":12808},"zoo_perm_create","create",[12807],1179,[],[2220,12810],{"_2214":12811,"_2216":12812,"_2217":2227,"_2219":2220,"_2220":12813,"_2222":12815},"zoo_perm_delete","delete",[12814],1180,[],[2225,12817],{"_2214":12818,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":12819,"_2222":12820},"zoo_perm_a",[],[12821,12828],[2220,12822],{"_2214":12823,"_2216":12824,"_2217":2227,"_2219":2220,"_2220":12825,"_2222":12827},"zoo_perm_admin","dmin",[12826],1181,[],[3193,12829],{"_2214":12830,"_2216":12831,"_2217":2227,"_2219":3193,"_2220":12832,"_2222":12833},"zoo_perm_all","ll",[4470,5235,5237],[],[2225,12835],{"_2214":12836,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":12837,"_2222":12838},"zoo_a",[],[12839,12845,12851],[3207,12840],{"_2214":12841,"_2216":12842,"_2217":2227,"_2219":3207,"_2220":12843,"_2222":12844},"zoo_anyone_id_unsafe","nyone_id_unsafe",[3661,5235,5236],[],[3691,12846],{"_2214":12847,"_2216":12848,"_2217":2227,"_2219":3691,"_2220":12849,"_2222":12850},"zoo_auth_ids","uth_ids",[4826,3949,5237],[],[2220,12852],{"_2214":12853,"_2216":12854,"_2217":2227,"_2219":2220,"_2220":12855,"_2222":12857},"zoo_add_auth","dd_auth",[12856,3538],1193,[],[3017,12859],{"_2214":12860,"_2216":12861,"_2217":2227,"_2219":3017,"_2220":12862,"_2222":12863},"zoo_open_acl_unsafe","open_acl_unsafe",[5235],[],[2222,12865],{"_2214":12866,"_2216":12867,"_2217":2218,"_2219":2222,"_2220":12868,"_2222":12869},"zoo_creat","creat",[],[12870,12876],[3017,12871],{"_2214":12872,"_2216":12873,"_2217":2227,"_2219":3017,"_2220":12874,"_2222":12875},"zoo_creator_all_acl","or_all_acl",[5237],[],[2217,12877],{"_2214":12878,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":12879,"_2222":12880},"zoo_create",[5187,2621],[],[3825,12882],{"_2214":12883,"_2216":12884,"_2217":2227,"_2219":3825,"_2220":12885,"_2222":12886},"zoo_get_acl","get_acl",[5188],[],[2216,12888],{"_2214":12889,"_2216":12890,"_2217":2227,"_2219":2216,"_2220":12891,"_2222":12892},"zoo_set_acl","set_acl",[5189],[],[2220,12894],{"_2214":12895,"_2216":12896,"_2217":2227,"_2219":2220,"_2220":12897,"_2222":12898},"zoodefs","defs",[3187,2453,2456,5979],[],[6884,12900],{"_2214":12901,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":12902,"_2222":12903},"zoo1",[2582],[],[3017,12905],{"_2214":12906,"_2216":12861,"_2217":2227,"_2219":3017,"_2220":12907,"_2222":12908},"zooopen_acl_unsafe",[3537],[],[3002,12910],{"_2214":12911,"_2216":12912,"_2217":2227,"_2219":3002,"_2220":12913,"_2222":12914},"zooinspector","inspector",[8361,6801],[],[2972,12916],{"_2214":12917,"_2216":12918,"_2217":2227,"_2219":2972,"_2220":12919,"_2222":12920},"zombie","mbie",[3433],[],[3207,12922],{"_2214":12923,"_2216":2212,"_2217":2227,"_2219":3207,"_2220":12924,"_2222":12928},"znode",[2308,2341,2342,2343,2344,2361,2366,3456,3457,2372,2402,2409,3647,3187,2453,2455,3494,3495,12925,6081,12926,5791,2990,2566,2597,2598,3527,3528,12927,3374,3530,2602,2603,2604,2605,2606,2616,2618,2658,2662,2665,2666,3798,2669,3548,2671,2673,3549,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098,2675,2688,5820,3559,2721,2722,2723,2729,2730,2734,2736,2752,2778,2779,3571,2781,2782,2783,2784,2822,2823,2864,2866,3955,2867,2868,2938,2941,3957],845,847,1129,[12929,12936,12941],[2216,12930],{"_2214":12931,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":12932,"_2222":12935},"znodes",[2231,2250,2288,2343,12933,3454,3497,2507,3265,3524,3533,2605,2608,3546,12934,2662,2663,2664,2665,2667,3798,2670,3548,2671,2697,2723,2729,2778,2779,2857,2865,3955,2868],394,1292,[],[3030,12937],{"_2214":12938,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":12939,"_2222":12940},"znode's",[2662,2865],[],[6884,12942],{"_2214":12943,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":12944,"_2222":12945},"znode1",[2719],[],[2219,12947],{"_2214":12948,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":12949,"_2222":12950},"zk",[2236,2272,3413,3446,3447,3933,3934,2360,2435,8789,2696,2697,2708,3802,3390,4605],[12951,12996,13025,13058,13063,13068,13075,13082,13088,13104,13111,13118,13124,13130],[2216,12952],{"_2214":12953,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":12954,"_2222":12955},"zks",[],[12956,12969],[2217,12957],{"_2214":12958,"_2216":3049,"_2217":2227,"_2219":2217,"_2220":12959,"_2222":12962},"zkserver",[3355,12960,2337,4778,2398,3492,2492,12961,5738],24,996,[12963],[3280,12964],{"_2214":12965,"_2216":12966,"_2217":2227,"_2219":3280,"_2220":12967,"_2222":12968},"zkserver-initialize","-initialize",[2367,4779],[],[3207,12970],{"_2214":12971,"_2216":12972,"_2217":2218,"_2219":3207,"_2220":12973,"_2222":12974},"zksnapshot","napshot",[],[12975,12982,12989],[3099,12976],{"_2214":12977,"_2216":12978,"_2217":2227,"_2219":3099,"_2220":12979,"_2222":12981},"zksnapshottoolkit","toolkit",[12980],1001,[],[3220,12983],{"_2214":12984,"_2216":12985,"_2217":2227,"_2219":3220,"_2220":12986,"_2222":12988},"zksnapshotrecursivesummarytoolkit","recursivesummarytoolkit",[12987],1002,[],[2222,12990],{"_2214":12991,"_2216":12992,"_2217":2227,"_2219":2222,"_2220":12993,"_2222":12995},"zksnapshotcomparer","comparer",[12994],1003,[],[3099,12997],{"_2214":12998,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":12999,"_2222":13000},"zkt",[],[13001,13018],[3220,13002],{"_2214":13003,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":13004,"_2222":13005},"zktr",[],[13006,13012],[3691,13007],{"_2214":13008,"_2216":13009,"_2217":2227,"_2219":3691,"_2220":13010,"_2222":13011},"zktrustmanager","ustmanager",[3155,2358],[],[2217,13013],{"_2214":13014,"_2216":13015,"_2217":2227,"_2219":2217,"_2220":13016,"_2222":13017},"zktreeutil","eeutil",[11416,3217],[],[4309,13019],{"_2214":13020,"_2216":13021,"_2217":2227,"_2219":4309,"_2220":13022,"_2222":13024},"zktxnlogtoolkit","xnlogtoolkit",[13023],1000,[],[2222,13026],{"_2214":13027,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":13028,"_2222":13029},"zkc",[],[13030,13053],[3193,13031],{"_2214":13032,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":13033,"_2222":13034},"zkcl",[],[13035,13046],[3002,13036],{"_2214":13037,"_2216":3002,"_2217":2227,"_2219":3002,"_2220":13038,"_2222":13040},"zkcli",[3479,3503,2508,13039,3616,3628],997,[13041],[2217,13042],{"_2214":13043,"_2216":5431,"_2217":2227,"_2219":2217,"_2220":13044,"_2222":13045},"zkclient",[3379,6898],[],[2217,13047],{"_2214":13048,"_2216":13049,"_2217":2227,"_2219":2217,"_2220":13050,"_2222":13052},"zkcleanup","eanup",[13051],999,[],[3017,13054],{"_2214":13055,"_2216":7353,"_2217":2227,"_2219":3017,"_2220":13056,"_2222":13057},"zkconfig",[6107],[],[6884,13059],{"_2214":13060,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":13061,"_2222":13062},"zk1",[2538,3509],[],[5968,13064],{"_2214":13065,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":13066,"_2222":13067},"zk2",[2538,3509],[],[2217,13069],{"_2214":13070,"_2216":13071,"_2217":2227,"_2219":2217,"_2220":13072,"_2222":13074},"zkenv","env",[13073],998,[],[3280,13076],{"_2214":13077,"_2216":13078,"_2217":2227,"_2219":3280,"_2220":13079,"_2222":13081},"zk-smoketest","-smoketest",[13080,2572],1010,[],[3322,13083],{"_2214":13084,"_2216":13085,"_2217":2227,"_2219":3322,"_2220":13086,"_2222":13087},"zkhandle_t","handle_t",[3982],[],[3085,13089],{"_2214":13090,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":13091,"_2222":13092},"zkf",[],[13093,13099],[2225,13094],{"_2214":13095,"_2216":13096,"_2217":2227,"_2219":2225,"_2220":13097,"_2222":13098},"zkfailovercontroller","ailovercontroller",[2820],[],[2222,13100],{"_2214":13101,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":13102,"_2222":13103},"zkfc",[2820,2821,2822,2823],[],[4034,13105],{"_2214":13106,"_2216":13107,"_2217":2227,"_2219":4034,"_2220":13108,"_2222":13110},"zkpython","python",[13109,11285],1728,[],[4794,13112],{"_2214":13113,"_2216":13114,"_2217":2227,"_2219":4794,"_2220":13115,"_2222":13117},"zk_test","_test",[2941,13116,3958],1961,[],[2220,13119],{"_2214":13120,"_2216":13121,"_2217":2227,"_2219":2220,"_2220":13122,"_2222":13123},"zkdatabase","database",[10641,3163],[],[2225,13125],{"_2214":13126,"_2216":13127,"_2217":2227,"_2219":2225,"_2220":13128,"_2222":13129},"zkadaptor","adaptor",[6266],[],[3691,13131],{"_2214":13132,"_2216":13133,"_2217":2227,"_2219":3691,"_2220":13134,"_2222":13135},"zkutil","util",[8151,5484],[],[4309,13137],{"_2214":13138,"_2216":13139,"_2217":2227,"_2219":4309,"_2220":13140,"_2222":13141},"zxid","xid",[3980,2259,2368,2377,2379,2380,2454,3506,2533,8373,3507,4890,4896,2559,2574,2672,6092,6093,6094,2900,2901,4471,2907,2909,2910,2912,2921,2923,2961],[13142,13147,13152],[6884,13143],{"_2214":13144,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":13145,"_2222":13146},"zxid1",[2672],[],[5968,13148],{"_2214":13149,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":13150,"_2222":13151},"zxid2",[2672],[],[2216,13153],{"_2214":13154,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13155,"_2222":13156},"zxids",[2909],[],[2225,13158],{"_2214":13159,"_2216":5369,"_2217":2227,"_2219":2225,"_2220":13160,"_2222":13161},"zab",[2270,3232,2964],[13162],[2216,13163],{"_2214":13164,"_2216":13165,"_2217":2227,"_2219":2216,"_2220":13166,"_2222":13167},"zabstate","state",[2270],[],[2217,13169],{"_2214":13170,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":13171,"_2222":13172},"ze",[],[13173,13184,13190],[3220,13174],{"_2214":13175,"_2216":4293,"_2217":2227,"_2219":3220,"_2220":13176,"_2222":13177},"zero",[2368,2371,2522,2635,2669,3380],[13178],[3280,13179],{"_2214":13180,"_2216":13181,"_2217":2227,"_2219":3280,"_2220":13182,"_2222":13183},"zero-downtime","-downtime",[3411],[],[3691,13185],{"_2214":13186,"_2216":13187,"_2217":2227,"_2219":3691,"_2220":13188,"_2222":13189},"zeus","us",[2846],[],[3207,13191],{"_2214":8223,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":13192,"_2222":13193},[5643],[],[3099,13195],{"_2214":13196,"_2216":13197,"_2217":2227,"_2219":3099,"_2220":13198,"_2222":13199},"zthrottledop","throttledop",[2321],[],[3322,13201],{"_2214":13202,"_2216":3322,"_2217":2227,"_2219":3322,"_2220":13203,"_2222":13204},"zh",[12856,5187,5188,5189],[13205,13211],[2225,13206],{"_2214":13207,"_2216":13208,"_2217":2227,"_2219":2225,"_2220":13209,"_2222":13210},"zhandlet","andlet",[12856,5187,5188,5189],[],[3280,13212],{"_2214":13213,"_2216":3280,"_2217":2227,"_2219":3280,"_2220":13214,"_2222":13215},"zh-",[12127],[],[3640,13217],{"_2214":13218,"_2216":13219,"_2217":2227,"_2219":3640,"_2220":13220,"_2222":13222},"zynga","ynga",[13221,2853],1623,[],[2222,13224],{"_2214":2222,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":13225,"_2222":13227},[2347,2349,2387,2399,2449,3484,2460,2461,2484,3652,3533,4330,3792,2625,3539,13226,6785,3540,2637,4244,2644,3377,2648,2660,2661,2696,2700,3572,2781,6102,11248,2783,2854,2856,2893,2943,11286,2959,6122,8024,6004,6007],1208,[13228,13549,15342,15534,15604,15788,16103,16109,16115,16189,16230,16237,16264,16270,16291,16296,16306,16311,16322,16504,16509,16514,16520,16526],[3193,13229],{"_2214":7320,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":13230,"_2222":13231},[],[13232,13275,13302,13329,13466],[3691,13233],{"_2214":13234,"_2216":13235,"_2217":2227,"_2219":3691,"_2220":13236,"_2222":13240},"cluster","uster",[2229,2230,2236,2237,2246,3055,2251,13237,3058,5881,2331,2335,2356,2357,3452,2365,3140,2388,2394,2440,2443,3485,3647,2451,2452,2485,4467,2497,3496,11268,2511,3160,2523,2525,2526,3505,2538,2544,2556,2557,2558,2559,2560,2563,2677,2696,2697,3555,8212,13238,3950,10573,6100,2788,3576,3577,2810,3802,2813,2817,2818,2824,2826,2827,2837,2840,3590,3592,7553,3595,5643,13239,2849,3597],142,1392,1729,[13241,13246,13253,13258],[2216,13242],{"_2214":13243,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13244,"_2222":13245},"clusters",[2242,3411,3359,2433,2503,3504,2817,2833],[],[2217,13247],{"_2214":13248,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":13249,"_2222":13252},"clustered",[3462,13250,13251,2389],462,469,[],[3002,13254],{"_2214":13255,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":13256,"_2222":13257},"clustering",[2788],[],[3280,13259],{"_2214":13260,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":13261,"_2222":13262},"cluster-",[],[13263,13269],[2216,13264],{"_2214":13265,"_2216":13266,"_2217":2227,"_2219":2216,"_2220":13267,"_2222":13268},"cluster-specific","specific",[3590],[],[2220,13270],{"_2214":13271,"_2216":13272,"_2217":2227,"_2219":2220,"_2220":13273,"_2222":13274},"cluster-discovery","discovery",[4441],[],[2217,13276],{"_2214":13277,"_2216":13278,"_2217":2218,"_2219":2217,"_2220":13279,"_2222":13280},"clea","ea",[],[13281,13297],[3207,13282],{"_2214":13283,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":13284,"_2222":13285},"clean",[2234,2238,3256,3257,3258,3516,2712,2917],[13286,13292],[3691,13287],{"_2214":13288,"_2216":7019,"_2217":2227,"_2219":3691,"_2220":13289,"_2222":13291},"cleanup",[2229,6014,13290,3257,3258,3459],5,[],[2217,13293],{"_2214":13294,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":13295,"_2222":13296},"cleaned",[6021],[],[3220,13298],{"_2214":13299,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":13300,"_2222":13301},"clear",[2579,2619,2665,2864,2904],[],[2225,13303],{"_2214":13304,"_2216":3962,"_2217":2227,"_2219":2225,"_2220":13305,"_2222":13308},"class",[4360,7827,2345,3363,4778,4779,3485,2492,3511,2583,2587,13306,13307,3374,3530,3532,3539,2626,3188,2696,3809],1115,1116,[13309,13314,13319,13324],[4034,13310],{"_2214":13311,"_2216":6363,"_2217":2227,"_2219":4034,"_2220":13312,"_2222":13313},"classpath",[5064,5873,3623,3624],[],[3207,13315],{"_2214":13316,"_2216":7853,"_2217":2227,"_2219":3207,"_2220":13317,"_2222":13318},"classname",[4359],[],[2217,13320],{"_2214":13321,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":13322,"_2222":13323},"classes",[2284,2285,4361,3525,2578,3541,3558],[],[3002,13325],{"_2214":13326,"_2216":4736,"_2217":2227,"_2219":3002,"_2220":13327,"_2222":13328},"classic",[2918],[],[3002,13330],{"_2214":13331,"_2216":3002,"_2217":2227,"_2219":3002,"_2220":13332,"_2222":13335},"cli",[13333,13334,11266,2449,2453,2455,11271,5992,2625,2644,7559,4605,6005],542,593,[13336],[2217,13337],{"_2214":12541,"_2216":5431,"_2217":2227,"_2219":2217,"_2220":13338,"_2222":13347},[2242,2247,2248,8860,8861,3177,6074,2254,4459,5393,2256,3928,3411,3198,2271,5538,3930,2284,2285,2286,4486,4487,2308,2328,2336,3433,3436,2341,3231,2343,2345,2346,2347,2348,2349,2350,2351,3260,2353,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,4846,4847,4848,3447,3932,3933,3934,4496,7038,6077,2363,3455,5511,2372,2983,2386,2387,13339,13340,5989,13341,13342,10896,2430,2431,2434,2435,2446,2448,2450,2455,3649,2470,2471,2472,2478,2483,2484,2485,2486,3936,4596,3937,13343,2504,13344,3940,3233,3503,3941,3942,2507,2508,2515,2516,2526,2563,2572,2579,2595,2596,2597,7788,3528,12927,4329,3533,4330,2608,3535,3224,2620,5216,2625,3539,13345,6785,3540,2626,2629,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2634,2635,2639,2643,2644,3377,2648,2650,3379,6898,8757,13346,2652,2653,2654,2655,2656,2657,3204,2658,2662,2663,2665,2667,2674,2675,2676,2677,2686,2687,2688,3271,2689,2691,2692,2693,2694,2695,2696,2697,3555,8212,13238,3950,10573,6100,2698,2699,2700,2702,2703,2704,3556,2705,2706,2707,2708,2716,2717,2718,2719,2720,2722,2730,3560,2734,3564,2742,4347,3566,5671,2747,2752,2754,3569,5996,2762,2763,2769,2770,3570,2779,2810,2820,2849,3014,2858,2861,2865,2867,2870,2871,2872,2924,2925,7558,2939,3618,6001,3622,11286,5481,2959,4474,7564,4851,6122,6659,3810,3632,8024,6004,7565,2963,6007],479,481,575,612,816,838,1207,1275,[13348,13353,13391,13407,13413,13419,13424,13450,13455],[2216,13349],{"_2214":13350,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13351,"_2222":13352},"clients",[2242,3402,4457,3404,5538,2280,2286,2321,2328,2329,2347,2348,2349,2350,3645,3443,3262,4496,3448,2360,3453,2371,2431,3484,2451,3187,2458,3783,2486,3497,2507,3264,2509,2510,2511,2516,2517,2579,2608,2614,2620,4498,2657,2658,2665,2684,3800,2689,2697,2703,3556,2705,2714,3559,2720,2723,2745,2746,2752,2755,2757,2760,2773,2774,2778,2779,2824,2848,2861,2867,2868,2873,3392,2881,2884,2924,5483],[],[2222,13354],{"_2214":13355,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":13356,"_2222":13357},"clientc",[],[13358,13386],[3207,13359],{"_2214":13360,"_2216":13361,"_2217":2227,"_2219":3207,"_2220":13362,"_2222":13363},"clientcnxn","nxn",[4474,11440],[13364],[2216,13365],{"_2214":13366,"_2216":13367,"_2217":2227,"_2219":2216,"_2220":13368,"_2222":13369},"clientcnxnsocket","socket",[2271,3930,3542],[13370],[3207,13371],{"_2214":13372,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":13373,"_2222":13374},"clientcnxnsocketn",[],[13375,13381],[2217,13376],{"_2214":13377,"_2216":13378,"_2217":2227,"_2219":2217,"_2220":13379,"_2222":13380},"clientcnxnsocketnetty","etty",[2271,3542,12092,5858,12436],[],[3002,13382],{"_2214":13383,"_2216":11116,"_2217":2227,"_2219":3002,"_2220":13384,"_2222":13385},"clientcnxnsocketnio",[3542],[],[3017,13387],{"_2214":13388,"_2216":7353,"_2217":2227,"_2219":3017,"_2220":13389,"_2222":13390},"clientconfig",[7834],[],[4034,13392],{"_2214":13393,"_2216":6707,"_2217":2227,"_2219":4034,"_2220":13394,"_2222":13395},"clientport",[5538,3930,2286,3482,2445,2446,2448,2563,7558],[13396,13401],[2225,13397],{"_2214":13398,"_2216":3228,"_2217":2227,"_2219":2225,"_2220":13399,"_2222":13400},"clientportaddress",[2286,3482,2445,2448],[],[3193,13402],{"_2214":13403,"_2216":13404,"_2217":2227,"_2219":3193,"_2220":13405,"_2222":13406},"clientportlistenbacklog","listenbacklog",[2305],[],[3099,13408],{"_2214":13409,"_2216":13410,"_2217":2227,"_2219":3099,"_2220":13411,"_2222":13412},"clienttcpkeepalive","tcpkeepalive",[3433],[],[3322,13414],{"_2214":13415,"_2216":13416,"_2217":2227,"_2219":3322,"_2220":13417,"_2222":13418},"clienthostnameverification","hostnameverification",[3443,4922],[],[3030,13420],{"_2214":13421,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":13422,"_2222":13423},"client's",[3443,2676,2697,2698,2925,2957],[],[3280,13425],{"_2214":13426,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":13427,"_2222":13428},"client-",[],[13429,13435],[2220,13430],{"_2214":13431,"_2216":13432,"_2217":2227,"_2219":2220,"_2220":13433,"_2222":13434},"client-driven","driven",[2355],[],[2216,13436],{"_2214":13437,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":13438,"_2222":13439},"client-s",[],[13440,13445],[2217,13441],{"_2214":13442,"_2216":3049,"_2217":2227,"_2219":2217,"_2220":13443,"_2222":13444},"client-server",[3263,2358],[],[3002,13446],{"_2214":13447,"_2216":4152,"_2217":2227,"_2219":3002,"_2220":13448,"_2222":13449},"client-side",[2399,2431,2604,3564],[],[2225,13451],{"_2214":13452,"_2216":3290,"_2217":2227,"_2219":2225,"_2220":13453,"_2222":13454},"clientauth",[3262],[],[3002,13456],{"_2214":13457,"_2216":5302,"_2217":2227,"_2219":3002,"_2220":13458,"_2222":13459},"clientid",[8660,2650],[13460],[4794,13461],{"_2214":13462,"_2216":13463,"_2217":2227,"_2219":4794,"_2220":13464,"_2222":13465},"clientid_t","_t",[8660],[],[3017,13467],{"_2214":13468,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":13469,"_2222":13470},"clo",[],[13471,13503,13514,13539,13544],[2216,13472],{"_2214":13473,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":13474,"_2222":13475},"clos",[],[13476,13498],[2217,13477],{"_2214":13478,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":13479,"_2222":13481},"close",[2283,2322,2323,2347,2349,13480,13341,2575,2630,2712,2896],547,[13482,13487],[2220,13483],{"_2214":13484,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":13485,"_2222":13486},"closed",[2310,2312,2318,2322,3433,2630,2691,2703,2896,5858],[],[2216,13488],{"_2214":13489,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13490,"_2222":13491},"closes",[2507,2691,2703,2963],[13492],[3017,13493],{"_2214":13494,"_2216":13495,"_2217":2227,"_2219":3017,"_2220":13496,"_2222":13497},"closesocketasync","ocketasync",[2322,2323,3362],[],[3002,13499],{"_2214":13500,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":13501,"_2222":13502},"closing",[3256,3212,2322,2323,3433,3362,6264,3531,2707,12007],[],[2222,13504],{"_2214":13505,"_2216":13506,"_2217":2227,"_2219":2222,"_2220":13507,"_2222":13508},"clock","ck",[3549],[13509],[2216,13510],{"_2214":13511,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13512,"_2222":13513},"clocks",[3476,3805],[],[3691,13515],{"_2214":13516,"_2216":13517,"_2217":2227,"_2219":3691,"_2220":13518,"_2222":13519},"cloud","ud",[2503,7274,2791,2797,3579,3591,4131],[13520,13525,13532],[2216,13521],{"_2214":13522,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13523,"_2222":13524},"clouds",[2790],[],[2219,13526],{"_2214":13527,"_2216":13528,"_2217":2227,"_2219":2219,"_2220":13529,"_2222":13531},"cloudkarafka","karafka",[13530],1752,[],[2217,13533],{"_2214":13534,"_2216":13535,"_2217":2227,"_2219":2217,"_2220":13536,"_2222":13538},"cloudera","era",[13537],1763,[],[3207,13540],{"_2214":13541,"_2216":7187,"_2217":2227,"_2219":3207,"_2220":13542,"_2222":13543},"clone",[3522],[],[3066,13545],{"_2214":13546,"_2216":6500,"_2217":2227,"_2219":3066,"_2220":13547,"_2222":13548},"clover",[9397],[],[3017,13550],{"_2214":13551,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":13552,"_2222":13553},"co",[],[13554,14467,14492,14539,14661,15164,15184,15194,15252,15273,15330,15336],[3207,13555],{"_2214":13556,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":13557,"_2222":13558},"con",[],[13559,13727,13876,13932,14149,14386,14450],[3099,13560],{"_2214":13561,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":13562,"_2222":13563},"cont",[],[13564,13617,13634,13680],[2225,13565],{"_2214":13566,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":13567,"_2222":13568},"conta",[],[13569,13611],[3002,13570],{"_2214":13571,"_2216":7485,"_2217":2227,"_2219":3002,"_2220":13572,"_2222":13573},"contain",[2395,3027,2438,2448,3369,2681,2898,2921],[13574,13585,13590],[2216,13575],{"_2214":13576,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13577,"_2222":13578},"contains",[2231,2233,3254,2329,2337,2352,2354,2376,2380,3464,2398,2446,2459,2524,2545,3374,3947,2994,7835,7836,2680,3556,2900,7276,2932,4113],[13579],[5252,13580],{"_2214":13581,"_2216":13582,"_2217":2227,"_2219":5252,"_2220":13583,"_2222":13584},"containsquorum","quorum",[3370],[],[3002,13586],{"_2214":13587,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":13588,"_2222":13589},"containing",[2254,4461,2351,2353,2395,2439,2446,2477,2539,2541,2632,2633,2692,2763,3391],[],[2217,13591],{"_2214":13592,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":13593,"_2222":13594},"containe",[],[13595,13606],[3220,13596],{"_2214":13597,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":13598,"_2222":13600},"container",[3434,3363,3456,3457,2372,2411,3947,3529,2601,3546,13599,2670,3548],1298,[13601],[2216,13602],{"_2214":13603,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13604,"_2222":13605},"containers",[2372,3541,3577],[],[2220,13607],{"_2214":13608,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":13609,"_2222":13610},"contained",[3556,2934],[],[2222,13612],{"_2214":13613,"_2216":13614,"_2217":2227,"_2219":2222,"_2220":13615,"_2222":13616},"contact","ct",[2378,2460,2462],[],[3002,13618],{"_2214":13619,"_2216":13620,"_2217":2218,"_2219":3002,"_2220":13621,"_2222":13622},"continu","inu",[],[13623,13628],[2217,13624],{"_2214":13625,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":13626,"_2222":13627},"continue",[2231,2317,2557,2706,2708,4245],[],[3017,13629],{"_2214":13630,"_2216":13631,"_2217":2227,"_2219":3017,"_2220":13632,"_2222":13633},"continuous","ous",[3256,3390],[],[2217,13635],{"_2214":13636,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":13637,"_2222":13638},"conte",[],[13639,13668],[3207,13640],{"_2214":13641,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":13642,"_2222":13643},"conten",[],[13644,13658],[3099,13645],{"_2214":2209,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":13646,"_2222":13647},[3254,2775,2845],[13648,13653],[3002,13649],{"_2214":13650,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":13651,"_2222":13652},"contention",[2405,5631,3625,12092],[],[2216,13654],{"_2214":13655,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13656,"_2222":13657},"contents",[3528],[],[2220,13659],{"_2214":13660,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":13661,"_2222":13662},"contend",[3478],[13663],[3002,13664],{"_2214":13665,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":13666,"_2222":13667},"contending",[2589],[],[4309,13669],{"_2214":13670,"_2216":13671,"_2217":2227,"_2219":4309,"_2220":13672,"_2222":13673},"context","xt",[3363,2401,7834,8660,3982,2737],[13674],[2216,13675],{"_2214":13676,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13677,"_2222":13679},"contexts",[13678],890,[],[3220,13681],{"_2214":13682,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":13683,"_2222":13684},"contr",[],[13685,13710],[3017,13686],{"_2214":13687,"_2216":6209,"_2217":2227,"_2219":3017,"_2220":13688,"_2222":13689},"control",[3212,3090,4489,2983,3461,2451,3187,3486,5056,3533,2605,2666,3803,2845,4131,2866],[13690,13705],[3193,13691],{"_2214":13692,"_2216":5319,"_2217":2218,"_2219":3193,"_2220":13693,"_2222":13694},"controlle",[],[13695,13700],[2220,13696],{"_2214":13697,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":13698,"_2222":13699},"controlled",[2283,2635],[],[3220,13701],{"_2214":13702,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":13703,"_2222":13704},"controller",[2836],[],[2216,13706],{"_2214":13707,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13708,"_2222":13709},"controls",[2305,3773,2317,2336,2373,3534,4518,4498,2635],[],[3002,13711],{"_2214":13712,"_2216":9115,"_2217":2227,"_2219":3002,"_2220":13713,"_2222":13715},"contrib",[3285,13714],482,[13716],[3691,13717],{"_2214":13718,"_2216":13719,"_2217":2227,"_2219":3691,"_2220":13720,"_2222":13721},"contribute","ute",[3605],[13722],[2220,13723],{"_2214":13724,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":13725,"_2222":13726},"contributed",[3388],[],[3085,13728],{"_2214":13729,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":13730,"_2222":13731},"conf",[2235,5064,5391,5393,2337,2504,4938,3790,2936,3394,2947],[13732,13828,13834,13851],[3002,13733],{"_2214":13734,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":13735,"_2222":13736},"confi",[],[13737,13801,13807],[3825,13738],{"_2214":13739,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":13740,"_2222":13742},"config",[3152,5393,3153,3154,3255,3256,2330,2331,2335,2336,2367,13741,2442,2443,3647,3187,2453,2455,2460,2461,2463,2464,2475,2483,2486,2512,3159,4186,2513,3216,5875,2951,7561,3632],548,[13743,13789,13795],[3691,13744],{"_2214":13745,"_2216":6172,"_2217":2218,"_2219":3691,"_2220":13746,"_2222":13747},"configur",[],[13748,13773,13783],[2225,13749],{"_2214":13750,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":13751,"_2222":13752},"configura",[],[13753,13768],[3099,13754],{"_2214":13755,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":13756,"_2222":13762},"configuration",[2232,3081,2235,2242,3052,3055,5391,2255,3152,5393,6076,3153,13757,3058,13758,3082,3059,2274,2275,3769,3770,3431,2330,2331,2334,2337,3436,7827,3437,2350,3932,4496,2357,3232,2365,2366,2378,3462,2393,2394,2397,2400,2407,13759,7605,7831,9534,13760,2429,2430,2431,3481,3482,3483,2438,2440,2441,2442,2443,2444,2445,5097,2446,2448,3647,3187,2453,2454,3487,2455,3649,3488,3489,2459,2460,2461,2462,2463,3366,2464,2465,2471,3213,2472,2473,2474,2475,2476,2478,2479,3491,13761,2481,2482,2483,3783,2484,2486,4937,2503,4938,2505,3160,2523,2526,2527,2563,13345,2994,3654,2667,3188,2695,4251,3565,2797,2805,3583,3587,2840,2841,3590,3591,2846,2848,7021,2851,2852,2853,2854,3014,2856,2864,2934,2936,7837,2937,2944,2953,2954],160,162,576,625,724,[13763],[2216,13764],{"_2214":13765,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13766,"_2222":13767},"configurations",[6736,3231,2381,3248,2471,2679,3386],[],[3871,13769],{"_2214":13770,"_2216":4262,"_2217":2227,"_2219":3871,"_2220":13771,"_2222":13772},"configurable",[2363,3265],[],[2217,13774],{"_2214":13775,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":13776,"_2222":13777},"configure",[3355,3767,2239,3411,2345,3060,3061,3062,3063,3496,3498,13343,11268,2503,3504,2521,11273,3794,2642,2797,2814,2930,3038,2998],[13778],[2220,13779],{"_2214":13780,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":13781,"_2222":13782},"configured",[2253,3409,2293,2294,2328,2347,2348,2349,2350,2363,3232,3455,5750,6052,2375,2419,2451,3187,3214,3179,7547,3505,3650,2543,3790,2884,4922],[],[3002,13784],{"_2214":13785,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":13786,"_2222":13788},"configuring",[3401,3768,3054,2452,13787,6348,3038,3395],798,[],[4794,13790],{"_2214":13791,"_2216":13792,"_2217":2227,"_2219":4794,"_2220":13793,"_2222":13794},"config_node","_node",[3187,2453,2456],[],[2217,13796],{"_2214":13797,"_2216":13798,"_2217":2227,"_2219":2217,"_2220":13799,"_2222":13800},"configexception","exception",[6107],[],[2220,13802],{"_2214":13803,"_2216":13804,"_2217":2227,"_2219":2220,"_2220":13805,"_2222":13806},"confidence","dence",[3452],[],[3220,13808],{"_2214":13809,"_2216":13810,"_2217":2218,"_2219":3220,"_2220":13811,"_2222":13812},"confirm","rm",[],[13813,13818],[2217,13814],{"_2214":13815,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":13816,"_2222":13817},"confirmed",[5023],[],[2225,13819],{"_2214":13820,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":13821,"_2222":13822},"confirmation",[2564],[13823],[2216,13824],{"_2214":13825,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13826,"_2222":13827},"confirmations",[2707],[],[2217,13829],{"_2214":13830,"_2216":13831,"_2217":2227,"_2219":2217,"_2220":13832,"_2222":13833},"conference","erence",[2433],[],[3193,13835],{"_2214":13836,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":13837,"_2222":13838},"confl",[],[13839,13845],[3002,13840],{"_2214":13841,"_2216":13842,"_2217":2227,"_2219":3002,"_2220":13843,"_2222":13844},"conflict","ict",[2589],[],[3691,13846],{"_2214":13847,"_2216":13848,"_2217":2227,"_2219":3691,"_2220":13849,"_2222":13850},"confluence","uence",[4393,4408,4411],[],[3691,13852],{"_2214":13853,"_2216":13187,"_2217":2218,"_2219":3691,"_2220":13854,"_2222":13855},"confus",[],[13856,13861],[2217,13857],{"_2214":13858,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":13859,"_2222":13860},"confuse",[4095],[],[3002,13862],{"_2214":13863,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":13864,"_2222":13865},"confusi",[],[13866,13871],[3207,13867],{"_2214":13868,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":13869,"_2222":13870},"confusing",[3547],[],[3017,13872],{"_2214":13873,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":13874,"_2222":13875},"confusion",[12007],[],[3066,13877],{"_2214":13878,"_2216":4625,"_2217":2218,"_2219":3066,"_2220":13879,"_2222":13880},"conve",[],[13881,13917],[3207,13882],{"_2214":13883,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":13884,"_2222":13885},"conven",[],[13886,13901],[3099,13887],{"_2214":13888,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":13889,"_2222":13890},"convention",[3529],[13891,13896],[2216,13892],{"_2214":13893,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13894,"_2222":13895},"conventions",[2233,3564,3606],[],[2225,13897],{"_2214":13898,"_2216":4743,"_2217":2227,"_2219":2225,"_2220":13899,"_2222":13900},"conventionally",[3374],[],[3002,13902],{"_2214":13903,"_2216":13904,"_2217":2218,"_2219":3002,"_2220":13905,"_2222":13906},"convenien","ien",[],[13907,13912],[2222,13908],{"_2214":13909,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":13910,"_2222":13911},"convenience",[2618,2932],[],[3099,13913],{"_2214":13914,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":13915,"_2222":13916},"convenient",[2944],[],[3220,13918],{"_2214":13919,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":13920,"_2222":13921},"convert",[2254],[13922,13927],[3002,13923],{"_2214":13924,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":13925,"_2222":13926},"converting",[2484],[],[2217,13928],{"_2214":13929,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":13930,"_2222":13931},"converted",[2846],[],[2216,13933],{"_2214":13934,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13935,"_2222":13936},"cons",[3402,4457,2256],[13937,13999,14043,14112,14123],[3002,13938],{"_2214":13939,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":13940,"_2222":13941},"consi",[],[13942,13978],[2216,13943],{"_2214":13944,"_2216":5676,"_2217":2218,"_2219":2216,"_2220":13945,"_2222":13946},"consist",[],[13947,13968,13973],[2217,13948],{"_2214":13949,"_2216":13950,"_2217":2218,"_2219":2217,"_2220":13951,"_2222":13952},"consisten","en",[],[13953,13963],[3099,13954],{"_2214":13955,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":13956,"_2222":13957},"consistent",[2242,2243,2276,2336,2355,2658,2678,2720,2814,2841,2925,2927],[13958],[3193,13959],{"_2214":13960,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":13961,"_2222":13962},"consistently",[3476],[],[2222,13964],{"_2214":13965,"_2216":5157,"_2217":2227,"_2219":2222,"_2220":13966,"_2222":13967},"consistency",[2317,3455,2430,3265,6975,3545,2651,2652,3204,3383,2805,2870,3606,6978,3610,2925,3611],[],[2216,13969],{"_2214":13970,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13971,"_2222":13972},"consists",[2385,2395,2460,2461,3371,2686,2848,2857,2901,6106,2904,2934],[],[3002,13974],{"_2214":13975,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":13976,"_2222":13977},"consisting",[2461],[],[2220,13979],{"_2214":13980,"_2216":13981,"_2217":2227,"_2219":2220,"_2220":13982,"_2222":13983},"consider","der",[6050,3362,3027,3371,6351,2658,2698,2718,2784,2926],[13984,13989,13994],[2217,13985],{"_2214":13986,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":13987,"_2222":13988},"considered",[2311,2312,2319,3778,3489,2522,2688],[],[2225,13990],{"_2214":13991,"_2216":6282,"_2217":2227,"_2219":2225,"_2220":13992,"_2222":13993},"considerations",[3780,3027,6349],[],[2216,13995],{"_2214":13996,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":13997,"_2222":13998},"considers",[2821],[],[2217,14000],{"_2214":14001,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":14002,"_2222":14003},"conse",[],[14004,14015,14021,14027],[3220,14005],{"_2214":14006,"_2216":14007,"_2217":2227,"_2219":3220,"_2220":14008,"_2222":14009},"conservative","rvative",[2244,2392,2679,2699,2888],[14010],[3193,14011],{"_2214":14012,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":14013,"_2222":14014},"conservatively",[2738],[],[2222,14016],{"_2214":14017,"_2216":14018,"_2217":2227,"_2219":2222,"_2220":14019,"_2222":14020},"consecutive","cutive",[2293,2294],[],[5252,14022],{"_2214":14023,"_2216":14024,"_2217":2227,"_2219":5252,"_2220":14025,"_2222":14026},"consequence","quence",[2358,2437],[],[3207,14028],{"_2214":14029,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":14030,"_2222":14031},"consen",[],[14032,14038],[2216,14033],{"_2214":14034,"_2216":14035,"_2217":2227,"_2219":2216,"_2220":14036,"_2222":14037},"consensus","sus",[2525,2557,4389,2846,3805],[],[3099,14039],{"_2214":14040,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":14041,"_2222":14042},"consent",[4511],[],[3099,14044],{"_2214":14045,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":14046,"_2222":14047},"const",[3536,12800,12807,12814,12826,4470,12856,5187,5189,8660],[14048,14095,14101],[3220,14049],{"_2214":14050,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":14051,"_2222":14052},"constr",[],[14053,14089],[3691,14054],{"_2214":14055,"_2216":14056,"_2217":2227,"_2219":3691,"_2220":14057,"_2222":14058},"construct","uct",[2254,2658,4025],[14059,14074,14084],[3002,14060],{"_2214":14061,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":14062,"_2222":14063},"constructi",[],[14064,14069],[3017,14065],{"_2214":14066,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":14067,"_2222":14068},"construction",[2333,2869,2929],[],[3207,14070],{"_2214":14071,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":14072,"_2222":14073},"constructing",[4518,2928],[],[3017,14075],{"_2214":14076,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":14077,"_2222":14078},"constructor",[2578,2581,2583,2587,2600,3532],[14079],[2216,14080],{"_2214":14081,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14082,"_2222":14083},"constructors",[2626],[],[2216,14085],{"_2214":14086,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14087,"_2222":14088},"constructs",[3562,2739,2741],[],[2225,14090],{"_2214":14091,"_2216":14092,"_2217":2227,"_2219":2225,"_2220":14093,"_2222":14094},"constraints","aints",[2659,3807],[],[3002,14096],{"_2214":14097,"_2216":14098,"_2217":2227,"_2219":3002,"_2220":14099,"_2222":14100},"constitute","itute",[2388],[],[2225,14102],{"_2214":14103,"_2216":14104,"_2217":2227,"_2219":2225,"_2220":14105,"_2222":14106},"constant","ant",[2888],[14107],[2216,14108],{"_2214":14109,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14110,"_2222":14111},"constants",[3792],[],[3017,14113],{"_2214":14114,"_2216":14115,"_2217":2227,"_2219":3017,"_2220":14116,"_2222":14117},"console","ole",[2398,3781,2490,2494,2937],[14118],[2216,14119],{"_2214":14120,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14121,"_2222":14122},"consoles",[2493],[],[3691,14124],{"_2214":14125,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":14126,"_2222":14127},"consu",[],[14128,14143],[2972,14129],{"_2214":14130,"_2216":8606,"_2217":2227,"_2219":2972,"_2220":14131,"_2222":14132},"consume",[2586,2589,2593],[14133,14138],[3220,14134],{"_2214":14135,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":14136,"_2222":14137},"consumer",[2586,2589,2593],[],[2220,14139],{"_2214":14140,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":14141,"_2222":14142},"consumed",[2588],[],[3193,14144],{"_2214":14145,"_2216":14146,"_2217":2227,"_2219":3193,"_2220":14147,"_2222":14148},"consulting","lting",[2844],[],[3207,14150],{"_2214":14151,"_2216":9764,"_2217":2227,"_2219":3207,"_2220":14152,"_2222":14154},"connect",[5538,3178,2286,2327,4488,2329,2346,2360,2386,2387,14153,2408,2450,2459,2485,2493,2494,3935,2509,2510,2511,3160,2515,3216,5994,3542,2689,2691,2692,3556,2705,2706,2717,2831,2861,3392,2908,3616,2948,2950,5483,8053],549,[14155,14160,14364,14370,14381],[2217,14156],{"_2214":14157,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":14158,"_2222":14159},"connected",[3402,4457,3404,3452,3649,2458,2459,2464,2471,3491,2484,4467,2504,3503,2517,2539,2991,3379,4664,2658,2675,2691,2696,2697,2700,2704,3556,2705,2709,3557,2722,2788,3592,6022,7560],[],[3002,14161],{"_2214":14162,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":14163,"_2222":14164},"connecti",[],[14165,14352,14358],[3017,14166],{"_2214":14167,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":14168,"_2222":14170},"connection",[4457,4458,2248,4459,2256,4460,2286,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2310,2312,2318,2320,3435,2341,2346,3362,2357,2365,2374,2431,2434,2455,2485,3935,3936,3937,2526,2563,11273,6897,2595,3374,3529,6264,2603,2608,3236,3268,2637,2648,3795,3379,4664,2674,3551,2676,2686,2687,2688,3271,14169,2689,2692,2693,2694,2697,2698,2699,2700,2703,2704,3556,2705,2708,2730,2738,2861,2867,2926,2950,8367,4473,3811,2963],1375,[14171,14176,14280,14297,14313,14319,14346],[2216,14172],{"_2214":14173,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14174,"_2222":14175},"connections",[3402,4458,2249,2256,3928,2266,5538,3930,3178,2284,2285,2286,2305,3775,2320,2322,2323,2328,3776,3777,3432,2347,2349,2351,2353,3262,3932,2360,3232,5511,3477,10896,2470,2485,3936,3937,2514,2515,2632,2633,2703,2704,2707,2849,2884,7558,4473],[],[4794,14177],{"_2214":14178,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":14179,"_2222":14180},"connection_",[],[14181,14187],[2216,14182],{"_2214":14183,"_2216":14184,"_2217":2227,"_2219":2216,"_2220":14185,"_2222":14186},"connection_stat_reset","stat_reset",[4459],[],[3099,14188],{"_2214":14189,"_2216":14190,"_2217":2218,"_2219":3099,"_2220":14191,"_2222":14192},"connection_throttle_","throttle_",[],[14193,14199,14227,14256,14262,14268,14274],[3099,14194],{"_2214":14195,"_2216":14196,"_2217":2227,"_2219":3099,"_2220":14197,"_2222":14198},"connection_throttle_tokens","tokens",[2295],[],[3085,14200],{"_2214":14201,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":14202,"_2222":14203},"connection_throttle_f",[],[14204,14221],[3002,14205],{"_2214":14206,"_2216":14207,"_2217":2218,"_2219":3002,"_2220":14208,"_2222":14209},"connection_throttle_fill_","ill_",[],[14210,14215],[3099,14211],{"_2214":14212,"_2216":8771,"_2217":2227,"_2219":3099,"_2220":14213,"_2222":14214},"connection_throttle_fill_time",[2296],[],[2222,14216],{"_2214":14217,"_2216":14218,"_2217":2227,"_2219":2222,"_2220":14219,"_2222":14220},"connection_throttle_fill_count","count",[2297],[],[3220,14222],{"_2214":14223,"_2216":14224,"_2217":2227,"_2219":3220,"_2220":14225,"_2222":14226},"connection_throttle_freeze_time","reeze_time",[2298],[],[2220,14228],{"_2214":14229,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":14230,"_2222":14231},"connection_throttle_d",[],[14232,14250],[3220,14233],{"_2214":14234,"_2216":14235,"_2217":2218,"_2219":3220,"_2220":14236,"_2222":14237},"connection_throttle_drop_","rop_",[],[14238,14244],[3002,14239],{"_2214":14240,"_2216":14241,"_2217":2227,"_2219":3002,"_2220":14242,"_2222":14243},"connection_throttle_drop_increase","increase",[2299],[],[2220,14245],{"_2214":14246,"_2216":14247,"_2217":2227,"_2219":2220,"_2220":14248,"_2222":14249},"connection_throttle_drop_decrease","decrease",[2300],[],[2217,14251],{"_2214":14252,"_2216":14253,"_2217":2227,"_2219":2217,"_2220":14254,"_2222":14255},"connection_throttle_decrease_ratio","ecrease_ratio",[2301],[],[2214,14257],{"_2214":14258,"_2216":14259,"_2217":2227,"_2219":2214,"_2220":14260,"_2222":14261},"connection_throttle_weight_enabled","weight_enabled",[6050],[],[3825,14263],{"_2214":14264,"_2216":14265,"_2217":2227,"_2219":3825,"_2220":14266,"_2222":14267},"connection_throttle_global_session_weight","global_session_weight",[2302],[],[3193,14269],{"_2214":14270,"_2216":14271,"_2217":2227,"_2219":3193,"_2220":14272,"_2222":14273},"connection_throttle_local_session_weight","local_session_weight",[2303],[],[3220,14275],{"_2214":14276,"_2216":14277,"_2217":2227,"_2219":3220,"_2220":14278,"_2222":14279},"connection_throttle_renew_session_weight","renew_session_weight",[2304],[],[2972,14281],{"_2214":14282,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":14283,"_2222":14284},"connectionm",[],[14285,14291],[2225,14286],{"_2214":14287,"_2216":14288,"_2217":2227,"_2219":2225,"_2220":14289,"_2222":14290},"connectionmaxtokens","axtokens",[2295,2300,6050],[],[2217,14292],{"_2214":14293,"_2216":14294,"_2217":2227,"_2219":2217,"_2220":14295,"_2222":14296},"connectionmetricstest","etricstest",[8025],[],[3099,14298],{"_2214":14299,"_2216":14300,"_2217":2218,"_2219":3099,"_2220":14301,"_2222":14302},"connectiontokenfill","tokenfill",[],[14303,14308],[3099,14304],{"_2214":14305,"_2216":8771,"_2217":2227,"_2219":3099,"_2220":14306,"_2222":14307},"connectiontokenfilltime",[2296,2297],[],[2222,14309],{"_2214":14310,"_2216":14218,"_2217":2227,"_2219":2222,"_2220":14311,"_2222":14312},"connectiontokenfillcount",[2296,2297],[],[3085,14314],{"_2214":14315,"_2216":14316,"_2217":2227,"_2219":3085,"_2220":14317,"_2222":14318},"connectionfreezetime","freezetime",[2298,2299,2300],[],[2220,14320],{"_2214":14321,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":14322,"_2222":14323},"connectiond",[],[14324,14340],[3220,14325],{"_2214":14326,"_2216":14327,"_2217":2218,"_2219":3220,"_2220":14328,"_2222":14329},"connectiondrop","rop",[],[14330,14335],[3002,14331],{"_2214":14332,"_2216":14241,"_2217":2227,"_2219":3002,"_2220":14333,"_2222":14334},"connectiondropincrease",[2299],[],[2220,14336],{"_2214":14337,"_2216":14247,"_2217":2227,"_2219":2220,"_2220":14338,"_2222":14339},"connectiondropdecrease",[2300],[],[2217,14341],{"_2214":14342,"_2216":14343,"_2217":2227,"_2219":2217,"_2220":14344,"_2222":14345},"connectiondecreaseratio","ecreaseratio",[2300,2301],[],[3193,14347],{"_2214":14348,"_2216":14349,"_2217":2227,"_2219":3193,"_2220":14350,"_2222":14351},"connectionloss","loss",[2700],[],[3207,14353],{"_2214":14354,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":14355,"_2222":14357},"connecting",[4488,2346,5790,14356,2460,3366,2489,3654,2646,11277,3800,2691,2714,11283],544,[],[3066,14359],{"_2214":14360,"_2216":14361,"_2217":2227,"_2219":3066,"_2220":14362,"_2222":14363},"connectivity","vity",[2696,13238,10573,2698],[],[3099,14365],{"_2214":14366,"_2216":14367,"_2217":2227,"_2219":3099,"_2220":14368,"_2222":14369},"connecttolearnermasterlimit","tolearnermasterlimit",[4488],[],[2216,14371],{"_2214":14372,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14373,"_2222":14374},"connects",[2608,2653,2686,2694,2703,2709,2716,2722,2871,2909],[14375],[3099,14376],{"_2214":14377,"_2216":14378,"_2217":2227,"_2219":3099,"_2220":14379,"_2222":14380},"connectstring","tring",[6897,2706],[],[3220,14382],{"_2214":14383,"_2216":8851,"_2217":2227,"_2219":3220,"_2220":14384,"_2222":14385},"connectrequest",[2715,3634],[],[2222,14387],{"_2214":14388,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":14389,"_2222":14390},"conc",[],[14391,14412,14444],[3691,14392],{"_2214":14393,"_2216":14394,"_2217":2218,"_2219":3691,"_2220":14395,"_2222":14396},"concurren","urren",[],[14397,14407],[3099,14398],{"_2214":14399,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":14400,"_2222":14401},"concurrent",[2284,2285,2320,3783,2789],[14402],[3193,14403],{"_2214":14404,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":14405,"_2222":14406},"concurrently",[2713],[],[2222,14408],{"_2214":14409,"_2216":5157,"_2217":2227,"_2219":2222,"_2220":14410,"_2222":14411},"concurrency",[3775,2430,3954],[],[2217,14413],{"_2214":14414,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":14415,"_2222":14416},"conce",[],[14417,14423],[3220,14418],{"_2214":14419,"_2216":14420,"_2217":2227,"_2219":3220,"_2220":14421,"_2222":14422},"concern","rn",[2440],[],[4034,14424],{"_2214":14425,"_2216":5075,"_2217":2227,"_2219":4034,"_2220":14426,"_2222":14427},"concept",[2867,2904],[14428,14439],[2216,14429],{"_2214":14430,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14431,"_2222":14432},"concepts",[2647,2681,2798,4394],[14433],[3280,14434],{"_2214":14435,"_2216":14436,"_2217":2227,"_2219":3280,"_2220":14437,"_2222":14438},"concepts-architecture-overview","-architecture-overview",[4407],[],[3691,14440],{"_2214":14441,"_2216":3694,"_2217":2227,"_2219":3691,"_2220":14442,"_2222":14443},"conceptual",[2680],[],[3220,14445],{"_2214":14446,"_2216":14447,"_2217":2227,"_2219":3220,"_2220":14448,"_2222":14449},"concrete","rete",[2850],[],[2220,14451],{"_2214":14452,"_2216":14453,"_2217":2227,"_2219":2220,"_2220":14454,"_2222":14455},"condition","dition",[2479,2655,2703,2744,11180],[14456,14461],[2225,14457],{"_2214":14458,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":14459,"_2222":14460},"conditional",[9692,2483,3601],[],[2216,14462],{"_2214":14463,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14464,"_2222":14466},"conditions",[14465,2480,3602,3621],630,[],[4034,14468],{"_2214":14469,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":14470,"_2222":14471},"cop",[],[14472,14477],[3640,14473],{"_2214":14474,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":14475,"_2222":14476},"copy",[2231,7828,6325,6103],[],[3002,14478],{"_2214":14479,"_2216":9507,"_2217":2218,"_2219":3002,"_2220":14480,"_2222":14481},"copie",[],[14482,14487],[2220,14483],{"_2214":14484,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":14485,"_2222":14486},"copied",[2564],[],[2216,14488],{"_2214":14489,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14490,"_2222":14491},"copies",[2944],[],[3691,14493],{"_2214":14494,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":14495,"_2222":14496},"cou",[],[14497,14521,14527,14533],[3207,14498],{"_2214":14218,"_2216":5686,"_2217":2227,"_2219":3207,"_2220":14499,"_2222":14500},[2234,2308,3434,2371,2458,2484,3494,3495,6086,2550,2567,2901,2922],[14501,14516],[2217,14502],{"_2214":14503,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":14504,"_2222":14505},"counte",[],[14506,14511],[2220,14507],{"_2214":14508,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":14509,"_2222":14510},"counted",[2467],[],[3220,14512],{"_2214":14513,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":14514,"_2222":14515},"counter",[2588,2589,2590,2669,2901],[],[2216,14517],{"_2214":14518,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14519,"_2222":14520},"counts",[2904],[],[3193,14522],{"_2214":14523,"_2216":14524,"_2217":2227,"_2219":3193,"_2220":14525,"_2222":14526},"could","ld",[2251,3775,2324,2404,2437,2440,2443,2456,2460,2461,2462,2578,3376,2603,2635,2650,2668,2693,2926,3621,3622,3623,3633],[],[3220,14528],{"_2214":14529,"_2216":14530,"_2217":2227,"_2219":3220,"_2220":14531,"_2222":14532},"course","rse",[4511,2951],[],[4034,14534],{"_2214":14535,"_2216":14536,"_2217":2227,"_2219":4034,"_2220":14537,"_2222":14538},"couple","ple",[2954],[],[3220,14540],{"_2214":14541,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":14542,"_2222":14543},"cor",[],[14544,14613,14623,14650,14656],[3220,14545],{"_2214":14546,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":14547,"_2222":14548},"corr",[],[14549,14597],[2217,14550],{"_2214":14551,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":14552,"_2222":14553},"corre",[],[14554,14575,14591],[2216,14555],{"_2214":14556,"_2216":14557,"_2217":2227,"_2219":2216,"_2220":14558,"_2222":14559},"correspond","spond",[2253,2333,2379,2608,2686],[14560,14570],[3002,14561],{"_2214":14562,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":14563,"_2222":14564},"corresponding",[2234,3081,3418,3443,2454,2580,2585,2692,2704,3384,2924],[14565],[3193,14566],{"_2214":14567,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":14568,"_2222":14569},"correspondingly",[3178,2355],[],[2216,14571],{"_2214":14572,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14573,"_2222":14574},"corresponds",[2325,2334,2378,2587,2607,2687,2734,3951],[],[2222,14576],{"_2214":14577,"_2216":13614,"_2217":2227,"_2219":2222,"_2220":14578,"_2222":14579},"correct",[2392,3505,2527,2528,2534,2629,2688,2750,2894,2902,2907],[14580,14585],[3193,14581],{"_2214":14582,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":14583,"_2222":14584},"correctly",[3768,2244,3476,2526,2679,3626],[],[3207,14586],{"_2214":14587,"_2216":14588,"_2217":2227,"_2219":3207,"_2220":14589,"_2222":14590},"correctness","ness",[2283,3805],[],[3193,14592],{"_2214":14593,"_2216":14594,"_2217":2227,"_2219":3193,"_2220":14595,"_2222":14596},"correlated","lated",[2404,2894],[],[3691,14598],{"_2214":14599,"_2216":14600,"_2217":2227,"_2219":3691,"_2220":14601,"_2222":14602},"corrupt","upt",[2238],[14603,14608],[2217,14604],{"_2214":14605,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":14606,"_2222":14607},"corrupted",[2234],[],[3002,14609],{"_2214":14610,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":14611,"_2222":14612},"corruption",[2238,2557],[],[2217,14614],{"_2214":14615,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":14616,"_2222":14617},"core",[2518,2791,2806],[14618],[2216,14619],{"_2214":14620,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14621,"_2222":14622},"cores",[5511,5750,6052,2370],[],[3017,14624],{"_2214":14625,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":14626,"_2222":14627},"coro",[],[14628,14644],[3193,14629],{"_2214":14630,"_2216":14631,"_2217":2218,"_2219":3193,"_2220":14632,"_2222":14633},"corollar","llar",[],[14634,14639],[3002,14635],{"_2214":14636,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":14637,"_2222":14638},"corollaries",[2654],[],[3640,14640],{"_2214":14641,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":14642,"_2222":14643},"corollary",[2895],[],[3207,14645],{"_2214":14646,"_2216":14647,"_2217":2227,"_2219":3207,"_2220":14648,"_2222":14649},"coronated","nated",[2917],[],[3871,14651],{"_2214":14652,"_2216":14653,"_2217":2227,"_2219":3871,"_2220":14654,"_2222":14655},"corba","ba",[2809],[],[3207,14657],{"_2214":14658,"_2216":7210,"_2217":2227,"_2219":3207,"_2220":14659,"_2222":14660},"corner",[2909],[],[2972,14662],{"_2214":14663,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":14664,"_2222":14669},"com",[3444,3933,3934,6262,3503,2507,2508,2582,2688,3188,3800,14665,14666,13530,12601,14667,14668,12594,13537,4427,4434],1620,1745,1759,1761,[14670,14831,14836,14845,15158],[2972,14671],{"_2214":14672,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":14673,"_2222":14674},"comm",[],[14675,14704,14729,14771,14805],[2225,14676],{"_2214":14677,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":14678,"_2222":14679},"comma",[2337,3645,3795,2692,2704],[14680,14698],[3207,14681],{"_2214":14682,"_2216":4184,"_2217":2227,"_2219":3207,"_2220":14683,"_2222":14685},"command",[6071,12960,2238,2247,3357,2255,6075,2259,4460,2261,2262,2979,2336,2337,3361,4778,2367,4779,2980,2981,2982,5790,3479,5512,2422,2430,2449,2453,2454,2455,4326,3649,3488,2484,2513,2549,2561,2992,2563,14684,5992,2591,2600,2642,2693,2788,2821,2831,2940,3677,3957,3958,2997,3300,4605],1037,[14686,14692],[2216,14687],{"_2214":14688,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14689,"_2222":14691},"commands",[14690,3052,2247,3402,3055,2255,5321,2320,2978,2337,3361,2989,3479,4463,9555,2443,2449,2451,3187,2484,2513,2563,2693,2788,2932,2939,2940],52,[],[3691,14693],{"_2214":14694,"_2216":14695,"_2217":2227,"_2219":3691,"_2220":14696,"_2222":14697},"commandurl","url",[2989],[],[3280,14699],{"_2214":14700,"_2216":14701,"_2217":2227,"_2219":3280,"_2220":14702,"_2222":14703},"comma-separated","-separated",[2346,3158,3367,2477,3940,2508],[],[3017,14705],{"_2214":14706,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":14707,"_2222":14708},"common",[3401,3768,2501,6087,2578,2618,2667,3550,3551,2676,2752,2797,2813,3603,2900,2925],[14709],[2216,14710],{"_2214":14711,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14712,"_2222":14713},"commons",[6005],[14714],[3280,14715],{"_2214":14716,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":14717,"_2222":14718},"commons-",[],[14719,14724],[3002,14720],{"_2214":14721,"_2216":11116,"_2217":2227,"_2219":3002,"_2220":14722,"_2222":14723},"commons-io",[11884,3636],[],[2222,14725],{"_2214":14726,"_2216":13331,"_2217":2227,"_2219":2222,"_2220":14727,"_2222":14728},"commons-cli",[3636],[],[3691,14730],{"_2214":14731,"_2216":14732,"_2217":2218,"_2219":3691,"_2220":14733,"_2222":14734},"communi","uni",[],[14735,14765],[2222,14736],{"_2214":14737,"_2216":4528,"_2217":2218,"_2219":2222,"_2220":14738,"_2222":14739},"communicat",[],[14740,14755],[3002,14741],{"_2214":14742,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":14743,"_2222":14744},"communicati",[],[14745,14750],[3017,14746],{"_2214":14747,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":14748,"_2222":14749},"communication",[8236,3411,3198,5985,3412,6299,3362,3363,3263,2358,3455,2603,2604,2655,3555,2777,8238,3385,2805,4025,3807],[],[3207,14751],{"_2214":14752,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":14753,"_2222":14754},"communicating",[3555,3589],[],[2217,14756],{"_2214":14757,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":14758,"_2222":14759},"communicate",[2402,3529,2601,2848,2950,2961],[14760],[2216,14761],{"_2214":14762,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14763,"_2222":14764},"communicates",[2396,3529],[],[3099,14766],{"_2214":14767,"_2216":14768,"_2217":2227,"_2219":3099,"_2220":14769,"_2222":14770},"community","ty",[3646,3564,3605],[],[3002,14772],{"_2214":14773,"_2216":8144,"_2217":2227,"_2219":3002,"_2220":14774,"_2222":14776},"commit",[2306,2307,3455,6052,2370,2371,2471,2515,2576,14775,2774,2775,2913,2914,2918,2919,2923,2927,4490],1470,[14777,14783,14795,14800],[3193,14778],{"_2214":14779,"_2216":14780,"_2217":2227,"_2219":3193,"_2220":14781,"_2222":14782},"commitlogcount","logcount",[3358],[],[3099,14784],{"_2214":14785,"_2216":14786,"_2217":2227,"_2219":3099,"_2220":14787,"_2222":14788},"committed","ted",[3358,2379,5798,2453,2460,2461,2464,2471,2717,2900,2904,2906,2909,2910,2914,2915,2916,2920,2921],[14789],[3193,14790],{"_2214":14791,"_2216":14792,"_2217":2227,"_2219":3193,"_2220":14793,"_2222":14794},"committedlog","log",[7754,10641,3163],[],[4034,14796],{"_2214":14797,"_2216":8001,"_2217":2227,"_2219":4034,"_2220":14798,"_2222":14799},"commitprocessor",[3427,6052,2370,2371,3631],[],[2216,14801],{"_2214":14802,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14803,"_2222":14804},"commits",[2370,2371,2471,2472,2473,3554,2919,2920],[],[2217,14806],{"_2214":14807,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":14808,"_2222":14809},"comme",[],[14810,14825],[3207,14811],{"_2214":14812,"_2216":5686,"_2217":2218,"_2219":3207,"_2220":14813,"_2222":14814},"comment",[],[14815,14820],[2216,14816],{"_2214":14817,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14818,"_2222":14819},"comments",[3186,2458,2465],[],[2217,14821],{"_2214":14822,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":14823,"_2222":14824},"commented",[4938],[],[3220,14826],{"_2214":14827,"_2216":14828,"_2217":2227,"_2219":3220,"_2220":14829,"_2222":14830},"commercial","rcial",[2932],[],[3002,14832],{"_2214":14833,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":14834,"_2222":14835},"coming",[2238,2318,2937],[],[2217,14837],{"_2214":6450,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":14838,"_2222":14839},[2238,3540,2667,2675],[14840],[2216,14841],{"_2214":14842,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14843,"_2222":14844},"comes",[2430,2603,5216,2901],[],[4034,14846],{"_2214":14847,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":14848,"_2222":14849},"comp",[],[14850,14891,14913,14988,15097,15103,15137],[3691,14851],{"_2214":14852,"_2216":5386,"_2217":2218,"_2219":3691,"_2220":14853,"_2222":14854},"comput",[],[14855,14860,14876],[3002,14856],{"_2214":14857,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":14858,"_2222":14859},"computing",[2245,3510,2681,4131],[],[2217,14861],{"_2214":14862,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":14863,"_2222":14864},"compute",[3588,7555],[14865,14870],[2220,14866],{"_2214":14867,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":14868,"_2222":14869},"computed",[2380],[],[3220,14871],{"_2214":14872,"_2216":14873,"_2217":2227,"_2219":3220,"_2220":14874,"_2222":14875},"computers","rs",[2817],[],[2225,14877],{"_2214":14878,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":14879,"_2222":14880},"computation",[2580,2585,2746,2747,2817,2843],[14881,14886],[2225,14882],{"_2214":14883,"_2216":4743,"_2217":2227,"_2219":2225,"_2220":14884,"_2222":14885},"computationally",[3494,3495],[],[2216,14887],{"_2214":14888,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14889,"_2222":14890},"computations",[2813],[],[3017,14892],{"_2214":14893,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":14894,"_2222":14895},"compo",[],[14896,14902],[2216,14897],{"_2214":14898,"_2216":14899,"_2217":2227,"_2219":2216,"_2220":14900,"_2222":14901},"composed","sed",[2247,2848,2929],[],[3207,14903],{"_2214":14904,"_2216":14905,"_2217":2227,"_2219":3207,"_2220":14906,"_2222":14907},"component","nent",[5798,2518,2791,2820,3596],[14908],[2216,14909],{"_2214":14910,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":14911,"_2222":14912},"components",[2385,3285,3646,3476,2796,6103],[],[2225,14914],{"_2214":14915,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":14916,"_2222":14917},"compa",[],[14918,14935,14966],[3099,14919],{"_2214":14920,"_2216":14921,"_2217":2218,"_2219":3099,"_2220":14922,"_2222":14923},"compatib","tib",[],[14924,14929],[3193,14925],{"_2214":14926,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":14927,"_2222":14928},"compatible",[3254,3422,3428,3624],[],[3002,14930],{"_2214":14931,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":14932,"_2222":14934},"compatibility",[2291,2322,2323,2324,2335,2340,4496,6300,14933,2437,3620,7562],619,[],[3207,14936],{"_2214":14937,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":14938,"_2222":14939},"compan",[],[14940,14956],[3002,14941],{"_2214":14942,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":14943,"_2222":14944},"compani",[],[14945,14950],[3017,14946],{"_2214":14947,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":14948,"_2222":14949},"companion",[4460],[],[2217,14951],{"_2214":14952,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":14953,"_2222":14955},"companies",[14954],1606,[],[3640,14957],{"_2214":14958,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":14959,"_2222":14960},"company",[2452,2847],[14961],[3030,14962],{"_2214":14963,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":14964,"_2222":14965},"company's",[2787],[],[3220,14967],{"_2214":14968,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":14969,"_2222":14970},"compar",[],[14971,14981],[2217,14972],{"_2214":14973,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":14974,"_2222":14975},"compare",[3420,3421,3425,3426,3265,3545],[14976],[2220,14977],{"_2214":14978,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":14979,"_2222":14980},"compared",[2316,2458,3518,3652,8746],[],[3002,14982],{"_2214":14983,"_2216":14984,"_2217":2227,"_2219":3002,"_2220":14985,"_2222":14987},"comparisons","isons",[14986],1855,[],[3193,14989],{"_2214":14990,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":14991,"_2222":14992},"compl",[],[14993,15061,15066,15092],[2217,14994],{"_2214":14995,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":14996,"_2222":14997},"comple",[],[14998,15018],[4309,14999],{"_2214":15000,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":15001,"_2222":15002},"complex",[2473],[15003],[3002,15004],{"_2214":15005,"_2216":8144,"_2217":2218,"_2219":3002,"_2220":15006,"_2222":15007},"complexit",[],[15008,15013],[3002,15009],{"_2214":15010,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":15011,"_2222":15012},"complexities",[3198],[],[3640,15014],{"_2214":15015,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":15016,"_2222":15017},"complexity",[2292,2430,2776],[],[3099,15019],{"_2214":15020,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":15021,"_2222":15022},"complet",[],[15023,15045],[2217,15024],{"_2214":15025,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":15026,"_2222":15029},"complete",[3058,2382,2400,3478,3488,2474,2483,4896,2551,15027,2591,2595,15028,4332,2788,2932,2952],1083,1117,[15030,15035,15040],[3193,15031],{"_2214":15032,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":15033,"_2222":15034},"completely",[2447,3648,2601,3537,2635,2685,2952],[],[3207,15036],{"_2214":15037,"_2216":14588,"_2217":2227,"_2219":3207,"_2220":15038,"_2222":15039},"completeness",[2528],[],[2216,15041],{"_2214":15042,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15043,"_2222":15044},"completes",[2546,4095,4329,2775],[],[3002,15046],{"_2214":15047,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":15048,"_2222":15049},"completion",[2602,4095,4329,12856,2629,2956],[15050,15055],[2216,15051],{"_2214":15052,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15053,"_2222":15054},"completions",[2628],[],[4794,15056],{"_2214":15057,"_2216":15058,"_2217":2227,"_2219":4794,"_2220":15059,"_2222":15060},"completion_string_stat","_string_stat",[2956],[],[3640,15062],{"_2214":15063,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":15064,"_2222":15065},"comply",[6300],[],[3002,15067],{"_2214":15068,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":15069,"_2222":15070},"compli",[],[15071,15086],[2225,15072],{"_2214":15073,"_2216":3074,"_2217":2218,"_2219":2225,"_2220":15074,"_2222":15075},"complian",[],[15076,15081],[3099,15077],{"_2214":15078,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":15079,"_2222":15080},"compliant",[2795],[],[2222,15082],{"_2214":15083,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":15084,"_2222":15085},"compliance",[2806],[],[2222,15087],{"_2214":15088,"_2216":15089,"_2217":2227,"_2219":2222,"_2220":15090,"_2222":15091},"complicated","cated",[2869,2932,6110],[],[2225,15093],{"_2214":15094,"_2216":5669,"_2217":2227,"_2219":2225,"_2220":15095,"_2222":15096},"complain",[3621],[],[2217,15098],{"_2214":15099,"_2216":15100,"_2217":2227,"_2219":2217,"_2220":15101,"_2222":15102},"competition","etition",[2278],[],[3220,15104],{"_2214":15105,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":15106,"_2222":15107},"compr",[],[15108,15125,15131],[2217,15109],{"_2214":15110,"_2216":3229,"_2217":2227,"_2219":2217,"_2220":15111,"_2222":15112},"compress",[3773],[15113,15120],[3002,15114],{"_2214":15115,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":15116,"_2222":15119},"compression",[3773,15117,7454,15118],260,262,[],[2217,15121],{"_2214":15122,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":15123,"_2222":15124},"compressed",[3518],[],[3002,15126],{"_2214":15127,"_2216":15128,"_2217":2227,"_2219":3002,"_2220":15129,"_2222":15130},"comprises","ises",[3455],[],[3017,15132],{"_2214":15133,"_2216":15134,"_2217":2227,"_2219":3017,"_2220":15135,"_2222":15136},"compromised","omised",[2450],[],[3002,15138],{"_2214":15139,"_2216":8359,"_2217":2218,"_2219":3002,"_2220":15140,"_2222":15141},"compil",[],[15142,15153],[2217,15143],{"_2214":15144,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":15145,"_2222":15147},"compile",[2640,2643,15146,6006],1272,[15148],[3220,15149],{"_2214":15150,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":15151,"_2222":15152},"compiler",[3544,2643],[],[2225,15154],{"_2214":15155,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":15156,"_2222":15157},"compilation",[9014,6001,6266,8024],[],[3871,15159],{"_2214":15160,"_2216":15161,"_2217":2227,"_2219":3871,"_2220":15162,"_2222":15163},"combined","bined",[2552],[],[3066,15165],{"_2214":15166,"_2216":6500,"_2217":2218,"_2219":3066,"_2220":15167,"_2222":15168},"cover",[],[15169,15174,15179],[3002,15170],{"_2214":15171,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":15172,"_2222":15173},"covering",[3401,3497,2595,2646,3551,3014],[],[2217,15175],{"_2214":15176,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":15177,"_2222":15178},"covered",[3422],[],[2216,15180],{"_2214":15181,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15182,"_2222":15183},"covers",[3462,3464,2384,2407,2689,3606],[],[2216,15185],{"_2214":15186,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":15187,"_2222":15188},"cost",[2288,3257,3258,2292,2509],[15189],[3193,15190],{"_2214":15191,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":15192,"_2222":15193},"costly",[2707],[],[3193,15195],{"_2214":15196,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":15197,"_2222":15198},"col",[],[15199,15240,15246],[3193,15200],{"_2214":15201,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":15202,"_2222":15203},"coll",[],[15204,15215],[3002,15205],{"_2214":15206,"_2216":15207,"_2217":2227,"_2219":3002,"_2220":15208,"_2222":15209},"collision","ision",[2316],[15210],[3193,15211],{"_2214":15212,"_2216":10565,"_2217":2227,"_2219":3193,"_2220":15213,"_2222":15214},"collisionless",[2316],[],[2217,15216],{"_2214":15217,"_2216":9197,"_2217":2227,"_2219":2217,"_2220":15218,"_2222":15219},"collect",[2503,2567],[15220,15225],[2217,15221],{"_2214":15222,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":15223,"_2222":15224},"collected",[2668],[],[3002,15226],{"_2214":15227,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":15228,"_2222":15229},"collecti",[],[15230,15235],[3017,15231],{"_2214":15232,"_2216":10624,"_2217":2227,"_2219":3017,"_2220":15233,"_2222":15234},"collections",[2711,2793],[],[3207,15236],{"_2214":15237,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":15238,"_2222":15239},"collecting",[2815],[],[3017,15241],{"_2214":15242,"_2216":15243,"_2217":2227,"_2219":3017,"_2220":15244,"_2222":15245},"colon-separated","on-separated",[2333],[],[3691,15247],{"_2214":15248,"_2216":15249,"_2217":2227,"_2219":3691,"_2220":15250,"_2222":15251},"column-oriented","umn-oriented",[3387],[],[2220,15253],{"_2214":15254,"_2216":10789,"_2217":2227,"_2219":2220,"_2220":15255,"_2222":15257},"code",[3423,3424,3425,5476,2321,3429,5478,3430,2347,2349,3476,2573,6087,2579,2584,2587,2600,2603,2624,3377,3379,15146,2655,2681,2692,2693,2700,2720,2744,2747,15256,12728,3038,4597,2943,3301],1550,[15258,15263,15268],[2220,15259],{"_2214":15260,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":15261,"_2222":15262},"coded",[3441,2359],[],[4034,15264],{"_2214":15265,"_2216":6363,"_2217":2227,"_2219":4034,"_2220":15266,"_2222":15267},"codepath",[3452],[],[2216,15269],{"_2214":15270,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15271,"_2222":15272},"codes",[2603,2655,2720],[],[3017,15274],{"_2214":15275,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":15276,"_2222":15277},"coo",[],[15278,15320],[3220,15279],{"_2214":15280,"_2216":15281,"_2217":2218,"_2219":3220,"_2220":15282,"_2222":15283},"coordinat","rdinat",[],[15284,15299,15314],[2217,15285],{"_2214":15286,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":15287,"_2222":15288},"coordinate",[2662,2849,2857],[15289,15294],[2216,15290],{"_2214":15291,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15292,"_2222":15293},"coordinates",[2328,2859,2903],[],[2220,15295],{"_2214":15296,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":15297,"_2222":15298},"coordinated",[2865],[],[3002,15300],{"_2214":15301,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":15302,"_2222":15303},"coordinati",[],[15304,15309],[3017,15305],{"_2214":15306,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":15307,"_2222":15308},"coordination",[2328,2577,3524,2667,2680,2683,2785,2788,2791,2796,3578,2814,3585,2824,2825,4391,2840,3590,3594,3595,2850,2855,2856,3602,2864,2883,2890],[],[3207,15310],{"_2214":15311,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":15312,"_2222":15313},"coordinating",[2515,2838,3589,7553,4252],[],[3017,15315],{"_2214":15316,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":15317,"_2222":15319},"coordinator",[2775,3384,2777,3237,15318,3581,2922],1661,[],[3193,15321],{"_2214":15322,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":15323,"_2222":15324},"cool",[2796],[15325],[3002,15326],{"_2214":15327,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":15328,"_2222":15329},"cooling",[2404],[],[3280,15331],{"_2214":15332,"_2216":15333,"_2217":2227,"_2219":3280,"_2220":15334,"_2222":15335},"co-locations","-locations",[2929],[],[2225,15337],{"_2214":15338,"_2216":15339,"_2217":2227,"_2219":2225,"_2220":15340,"_2222":15341},"coarse-grained","arse-grained",[2931],[],[3322,15343],{"_2214":10197,"_2216":3322,"_2217":2218,"_2219":3322,"_2220":15344,"_2222":15345},[],[15346,15442,15469,15474,15521],[2225,15347],{"_2214":15348,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":15349,"_2222":15350},"cha",[],[15351,15408,15436],[3207,15352],{"_2214":15353,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":15354,"_2222":15355},"chan",[],[15356,15382,15393],[3825,15357],{"_2214":15358,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":15359,"_2222":15360},"chang",[],[15361,15377],[2217,15362],{"_2214":15363,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":15364,"_2222":15365},"change",[3254,2255,3257,3426,2331,3446,3447,3452,2366,2368,2381,3478,5512,3480,2431,2441,2450,2456,2458,3489,2465,2466,2467,2468,2472,3490,2483,3783,3179,2579,2584,2629,3543,2658,2672,2673,6092,6093,6094,2697,2698,3559,2720,2721,2736,2827,2830,3392,2901,3394,3958,2942,10822],[15366,15372],[2216,15367],{"_2214":15368,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15369,"_2222":15371},"changes",[2231,3254,5987,2360,3478,7605,2430,2431,2440,2443,2446,3488,3366,3213,3783,2485,2486,2512,2595,2597,3528,3948,2657,2658,2662,2665,2672,2673,6095,6096,5190,2675,2698,2718,2719,2723,2735,2736,2754,2764,2777,2781,2783,2849,2865,2867,2868,2922,3617,15370,4334],1992,[],[2220,15373],{"_2214":15374,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":15375,"_2222":15376},"changed",[3258,2355,6300,3453,2366,2430,2441,6681,2524,2603,2604,2629,2719,2727,3299,2867],[],[3002,15378],{"_2214":15379,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":15380,"_2222":15381},"changing",[3417,2429,2443,2484,3044,2662],[],[3207,15383],{"_2214":15384,"_2216":15385,"_2217":2227,"_2219":3207,"_2220":15386,"_2222":15387},"channel","nel",[3529,2604,2896,2897],[15388],[2216,15389],{"_2214":15390,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15391,"_2222":15392},"channels",[5985,4025,3807,4472,3609],[],[2220,15394],{"_2214":15395,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":15396,"_2222":15397},"chand",[],[15398,15403],[3220,15399],{"_2214":15400,"_2216":5145,"_2217":2227,"_2219":3220,"_2220":15401,"_2222":15402},"chandra",[3510],[],[2217,15404],{"_2214":15405,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":15406,"_2222":15407},"chander",[2854],[],[3220,15409],{"_2214":15410,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":15411,"_2222":15412},"char",[12856,5187,5188,5189,8660],[15413,15430],[2225,15414],{"_2214":15415,"_2216":15416,"_2217":2227,"_2219":2225,"_2220":15417,"_2222":15418},"character","acter",[2330,2436,2659,2660,2661],[15419,15425],[3002,15420],{"_2214":15421,"_2216":15422,"_2217":2227,"_2219":3002,"_2220":15423,"_2222":15424},"characteristics","istics",[3513,2664],[],[2216,15426],{"_2214":15427,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15428,"_2222":15429},"characters",[3547,3797],[],[4794,15431],{"_2214":15432,"_2216":15433,"_2217":2227,"_2219":4794,"_2220":15434,"_2222":15435},"char__","__",[12856],[],[4034,15437],{"_2214":15438,"_2216":15439,"_2217":2227,"_2219":4034,"_2220":15440,"_2222":15441},"chapters","pters",[2647,3552],[],[3017,15443],{"_2214":15444,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":15445,"_2222":15446},"cho",[],[15447,15452,15458],[3002,15448],{"_2214":15449,"_2216":12655,"_2217":2227,"_2219":3002,"_2220":15450,"_2222":15451},"choice",[3644,2516,2780,3038],[],[2216,15453],{"_2214":15454,"_2216":15455,"_2217":2227,"_2219":2216,"_2220":15456,"_2222":15457},"chosen","sen",[2282,3556,2705,3038],[],[3017,15459],{"_2214":15460,"_2216":15461,"_2217":2227,"_2219":3017,"_2220":15462,"_2222":15463},"choose","ose",[2345,2679,2706],[15464],[2216,15465],{"_2214":15466,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15467,"_2222":15468},"chooses",[2485,2705],[],[3220,15470],{"_2214":15471,"_2216":11016,"_2217":2227,"_2219":3220,"_2220":15472,"_2222":15473},"chroot",[2246,2552,2693,3632],[],[2217,15475],{"_2214":10218,"_2216":15476,"_2217":2227,"_2219":2217,"_2220":15477,"_2222":15478},"eck",[2261,2293,2294,2308,5182,3259,2317,3432,3433,2346,2357,2362,2365,3140,3456,3648,2578,2615,2994,2634,2668,3548,2752,2763,2996,5193,3300,6820],[15479,15484,15500,15505,15510,15516],[2216,15480],{"_2214":15481,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15482,"_2222":15483},"checks",[2293,2294,2299,2300,2364,3140,2452,3648,3265,2585,2602,2603,2667],[],[3002,15485],{"_2214":15486,"_2216":7485,"_2217":2218,"_2219":3002,"_2220":15487,"_2222":15488},"checkin",[],[15489,15494],[3825,15490],{"_2214":15491,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":15492,"_2222":15493},"checking",[2341,2343,2357,2584,3271,2779],[],[3099,15495],{"_2214":15496,"_2216":15497,"_2217":2227,"_2219":3099,"_2220":15498,"_2222":15499},"checkintervalms","tervalms",[3456],[],[3220,15501],{"_2214":15502,"_2216":10836,"_2217":2227,"_2219":3220,"_2220":15503,"_2222":15504},"checkrevocation",[3444],[],[2217,15506],{"_2214":15507,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":15508,"_2222":15509},"checked",[2608],[],[3280,15511],{"_2214":15512,"_2216":15513,"_2217":2227,"_2219":3280,"_2220":15514,"_2222":15515},"check-out","-out",[2639],[],[3066,15517],{"_2214":15518,"_2216":12720,"_2217":2227,"_2219":3066,"_2220":15519,"_2222":15520},"checkversion",[6109],[],[3002,15522],{"_2214":15523,"_2216":15524,"_2217":2227,"_2219":3002,"_2220":15525,"_2222":15527},"child","ild",[2411,2420,4465,2551,2567,2585,2586,2609,2612,2670,3548,2721,2728,3299,2731,15526,2749,2775,2778,9015],1492,[15528],[3220,15529],{"_2214":15530,"_2216":10762,"_2217":2227,"_2219":3220,"_2220":15531,"_2222":15533},"children",[2289,2308,2372,3494,6086,2584,2585,2589,2590,2606,2610,2613,3536,12807,12814,3537,2659,3798,3548,2671,2673,6094,6096,6098,3559,2721,2723,15532,7552,2749,2751,2752,2754,2769,2770,2779,3572,6102,2784,2864,2868,2880,9015],1491,[],[3691,15535],{"_2214":15536,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":15537,"_2222":15538},"cu",[],[15539,15577],[3220,15540],{"_2214":15541,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":15542,"_2222":15543},"cur",[],[15544,15571],[3220,15545],{"_2214":15546,"_2216":15547,"_2217":2227,"_2219":3220,"_2220":15548,"_2222":15550},"current","rent",[2231,2252,2253,8206,8207,6075,3409,4324,2264,2267,2270,5477,2371,2380,13341,13759,4464,4466,9534,13760,2455,3488,2459,2460,2462,3213,2476,2478,2483,3783,2484,3650,2547,2551,15549,2618,14169,2695,2704,3556,3557,2715,2779,2784,3802,2819,3592,4405,10467,2917],1041,[15551,15566],[4794,15552],{"_2214":15553,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":15554,"_2222":15555},"current_",[],[15556,15561],[2222,15557],{"_2214":15558,"_2216":13739,"_2217":2227,"_2219":2222,"_2220":15559,"_2222":15560},"current_config",[2267],[],[3322,15562],{"_2214":15563,"_2216":3325,"_2217":2227,"_2219":3322,"_2220":15564,"_2222":15565},"current_hash",[6216],[],[3193,15567],{"_2214":15568,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":15569,"_2222":15570},"currently",[3255,3433,3778,2360,3452,2473,3675,3783,2712,2808,2823,2925,2950],[],[2225,15572],{"_2214":15573,"_2216":15574,"_2217":2227,"_2219":2225,"_2220":15575,"_2222":15576},"curator","ator",[3586,4411],[],[2216,15578],{"_2214":15579,"_2216":15580,"_2217":2227,"_2219":2216,"_2220":15581,"_2222":15582},"custom","stom",[2345,3363,2358,2505,2506,2601,2684,2882,3623,8052],[15583],[3002,15584],{"_2214":15585,"_2216":15586,"_2217":2218,"_2219":3002,"_2220":15587,"_2222":15588},"customiz","iz",[],[15589,15599],[2217,15590],{"_2214":15591,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":15592,"_2222":15593},"customize",[3502,2505],[15594],[2220,15595],{"_2214":15596,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":15597,"_2222":15598},"customized",[3622],[],[2225,15600],{"_2214":15601,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":15602,"_2222":15603},"customization",[3623],[],[3220,15605],{"_2214":15606,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":15607,"_2222":15608},"cr",[],[15609,15694,15731,15737,15742,15747,15752],[2217,15610],{"_2214":15611,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":15612,"_2222":15613},"cre",[],[15614,15683],[2225,15615],{"_2214":12867,"_2216":4975,"_2217":2218,"_2219":2225,"_2220":15616,"_2222":15617},[],[15618,15658,15678],[2217,15619],{"_2214":12805,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":15620,"_2222":15623},[2244,2272,4461,3413,2366,2367,4779,2372,2393,2396,15621,2409,2410,2411,2412,2503,4944,5791,2990,2508,3216,3370,2541,2542,6255,5992,2578,2586,2588,2592,2609,3534,2613,2614,2618,12807,3537,2621,2624,2637,2640,3037,2680,2692,2695,2696,15622,2711,2712,2715,2716,2721,2742,2743,2748,15526,10124,2749,2752,2758,2763,2767,2768,3570,2775,3384,2776,3571,2875,2936,2938,2941,2952,6659,2960,8361,3716],550,1409,[15624,15630,15641,15647,15653],[2220,15625],{"_2214":15626,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":15627,"_2222":15629},"created",[2231,2272,2291,3155,6021,2396,4464,2443,2446,2454,3369,2580,2627,3798,2668,6092,8210,2675,2691,2711,15628,2721,2722,2725,2742,3569,2760,2769,2770,3570,2778,2829,3389,3955,7837,13116],1421,[],[2216,15631],{"_2214":15632,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15633,"_2222":15634},"creates",[2382,2483,2580,2583,2584,2586,2587,2588,2621,2694,2714,2749,2773,2775,2778,2875,2941],[15635],[2217,15636],{"_2214":15637,"_2216":15638,"_2217":2227,"_2219":2217,"_2220":15639,"_2222":15640},"createsession","ession",[2715,2717],[],[4794,15642],{"_2214":15643,"_2216":15644,"_2217":2227,"_2219":4794,"_2220":15645,"_2222":15646},"create_all_acl","_all_acl",[3537],[],[3280,15648],{"_2214":15649,"_2216":15650,"_2217":2227,"_2219":3280,"_2220":15651,"_2222":15652},"create-only","-only",[2624],[],[5968,15654],{"_2214":15655,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":15656,"_2222":15657},"create2",[2960],[],[3002,15659],{"_2214":15660,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":15661,"_2222":15662},"creati",[],[15663,15673],[3017,15664],{"_2214":15665,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":15666,"_2222":15667},"creation",[3771,2367,2368,3549,2696,2707,2709,2712],[15668],[2216,15669],{"_2214":15670,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15671,"_2222":15672},"creations",[4217],[],[3207,15674],{"_2214":15675,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":15676,"_2222":15677},"creating",[2315,2339,3363,2394,2463,2578,2614,2669,3548,2671,2691,2739,2742,3237,2778,2784,4597,2934,5336,2956],[],[3017,15679],{"_2214":15680,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":15681,"_2222":15682},"creator",[3949,3537,2784],[],[2220,15684],{"_2214":15685,"_2216":15686,"_2217":2227,"_2219":2220,"_2220":15687,"_2222":15688},"credential","dential",[2346,2347,2349,3381],[15689],[2216,15690],{"_2214":15691,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15692,"_2222":15693},"credentials",[2272,2351,2353,2618,5994,2632,2633],[],[3017,15695],{"_2214":15696,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":15697,"_2222":15698},"cro",[],[15699,15704],[3207,15700],{"_2214":15701,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":15702,"_2222":15703},"cron",[2234],[],[2216,15705],{"_2214":15706,"_2216":5054,"_2217":2227,"_2219":2216,"_2220":15707,"_2222":15708},"cross",[2326,8834],[15709],[3280,15710],{"_2214":15711,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":15712,"_2222":15713},"cross-",[],[15714,15720,15725],[2972,15715],{"_2214":15716,"_2216":15717,"_2217":2227,"_2219":2972,"_2220":15718,"_2222":15719},"cross-machines","machines",[3027],[],[2222,15721],{"_2214":15722,"_2216":12541,"_2217":2227,"_2219":2222,"_2220":15723,"_2222":15724},"cross-client",[2658],[],[4034,15726],{"_2214":15727,"_2216":15728,"_2217":2227,"_2219":4034,"_2220":15729,"_2222":15730},"cross-proposal","proposal",[2923],[],[3002,15732],{"_2214":15733,"_2216":15734,"_2217":2227,"_2219":3002,"_2220":15735,"_2222":15736},"critical","itical",[2243,2324,2511,2516,2850,3598],[],[2216,15738],{"_2214":15739,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":15740,"_2222":15741},"crst",[4458,4459],[],[2222,15743],{"_2214":15744,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":15745,"_2222":15746},"crc",[2316,3517,2564,7833,6325,4469],[],[3193,15748],{"_2214":15749,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":15750,"_2222":15751},"crl",[3444,2355,3619],[],[2225,15753],{"_2214":15754,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":15755,"_2222":15756},"cra",[],[15757,15782],[2216,15758],{"_2214":15759,"_2216":8589,"_2217":2227,"_2219":2216,"_2220":15760,"_2222":15761},"crash",[2401],[15762,15777],[2217,15763],{"_2214":15764,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":15765,"_2222":15766},"crashe",[],[15767,15772],[2216,15768],{"_2214":15769,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15770,"_2222":15771},"crashes",[2469,2528,2742,2818,2819],[],[2220,15773],{"_2214":15774,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":15775,"_2222":15776},"crashed",[2484,2821],[],[3002,15778],{"_2214":15779,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":15780,"_2222":15781},"crashing",[2763],[],[2214,15783],{"_2214":15784,"_2216":15785,"_2217":2227,"_2219":2214,"_2220":15786,"_2222":15787},"crawler","wler",[2890],[],[2225,15789],{"_2214":4237,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":15790,"_2222":15791},[2854],[15792,15837,15923,15935,15950,15964,16004,16050,16056],[3207,15793],{"_2214":15794,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":15795,"_2222":15796},"can",[2233,2234,3081,6027,3644,2238,2239,3768,2246,2255,3056,3406,7718,2270,3198,2271,5985,2274,3770,2280,2281,2282,2283,2284,2287,2288,2289,3212,2293,2294,2313,2314,2316,3422,5477,2317,2322,2326,2328,2329,2330,2335,2336,3361,3434,2339,3436,2340,2341,2344,2346,5960,2349,4825,3363,4361,3933,3934,2356,2357,2358,3448,2360,4663,2361,2365,3140,2366,4778,2367,2368,4779,3455,2370,2371,3457,2374,2375,2379,2381,3460,7770,2388,2390,6262,8208,2393,2394,2397,5790,2400,2402,3478,2405,2406,2430,4595,2441,2443,2449,2450,2451,3187,3648,3487,2457,2458,2465,2469,2472,2474,2479,2483,2484,2487,2493,2494,3214,3179,7547,3499,2503,2506,2508,3264,2510,2511,3160,2513,2517,2518,2524,3369,5513,4896,5514,2538,2539,2548,3511,2550,3044,2551,2554,2555,2557,2559,2560,3518,7274,2573,2579,2580,2591,2600,2604,2609,2610,2611,2612,2993,2614,3536,12800,12807,12814,12826,3537,3538,2628,2994,3236,3794,2646,2647,2648,2650,3982,3378,2651,2658,2659,2661,2662,2663,2665,2666,2667,3798,2669,2671,2676,2677,2678,3188,2693,2694,2695,2703,2708,2710,2711,2712,2713,2721,2723,2724,2729,2730,3383,2741,2751,2755,2764,2769,2773,3570,4511,2775,3384,2777,3237,2797,2799,2809,2825,2831,2836,3592,2843,2856,2857,2858,2862,2864,2866,2867,2868,2882,3956,2894,4025,2901,2904,2909,2917,2924,2925,2927,2928,3394,7837,2939,2940,3958,2948,2950,2953,2954,3624,4851,4475,4540],[15797,15803,15808,15825,15831],[3207,15798],{"_2214":15799,"_2216":15800,"_2217":2227,"_2219":3207,"_2220":15801,"_2222":15802},"cannot","not",[2236,2366,2406,2435,2484,3509,5990,2557,2660,2661,2706,15622,2708,2713,2736,3805,7706],[],[3030,15804],{"_2214":15805,"_2216":3821,"_2217":2227,"_2219":3030,"_2220":15806,"_2222":15807},"can't",[2317,2615,3547,2679,2750,7560,6683],[],[3017,15809],{"_2214":15810,"_2216":15811,"_2217":2227,"_2219":3017,"_2220":15812,"_2222":15813},"canonical","onical",[2659],[15814],[3002,15815],{"_2214":15816,"_2216":10154,"_2217":2227,"_2219":3002,"_2220":15817,"_2222":15818},"canonicalize",[4496,3236],[15819],[3322,15820],{"_2214":15821,"_2216":15822,"_2217":2227,"_2219":3322,"_2220":15823,"_2222":15824},"canonicalizehostnames","hostnames",[4496],[],[2220,15826],{"_2214":15827,"_2216":15828,"_2217":2227,"_2219":2220,"_2220":15829,"_2222":15830},"candidate","didate",[3456,2670,2671],[],[2222,15832],{"_2214":15833,"_2216":15834,"_2217":2227,"_2219":2222,"_2220":15835,"_2222":15836},"cancelled","celled",[6122],[],[3193,15838],{"_2214":15839,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":15840,"_2222":15841},"cal",[],[15842,15887],[3193,15843],{"_2214":15844,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":15845,"_2222":15846},"call",[2341,2518,3525,2580,2583,2584,2585,2590,2602,2603,2615,3535,3379,2658,2695,2698,2702,2704,2725,2726,2727,2728,2730,2731,2732,2733,2737,5671,2752,2758,5335,2763,2767,2768,3952,3953,5997,5998,3570,3394,4335],[15847,15852,15867,15877],[3002,15848],{"_2214":15849,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":15850,"_2222":15851},"calling",[2233,3377,2752,2763,3570],[],[2217,15853],{"_2214":15854,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":15855,"_2222":15856},"calle",[],[15857,15862],[2220,15858],{"_2214":15859,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":15860,"_2222":15861},"called",[2259,2393,4326,2507,2510,3374,3538,2655,2687,3271,2703,2713,3574,2838,2857,2859,2881,3394,2944],[],[3220,15863],{"_2214":15864,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":15865,"_2222":15866},"caller",[2628],[],[2216,15868],{"_2214":15869,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15870,"_2222":15871},"calls",[2584,2585,2587,2588,2603,2628,6089,2629,2701,2724,4347,2752,5996,4415],[15872],[5908,15873],{"_2214":15874,"_2216":11263,"_2217":2227,"_2219":5908,"_2220":15875,"_2222":15876},"callszookeeper",[2604],[],[3871,15878],{"_2214":15879,"_2216":8485,"_2217":2227,"_2219":3871,"_2220":15880,"_2222":15881},"callback",[2602,4095,4329,2603,2629],[15882],[2216,15883],{"_2214":15884,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15885,"_2222":15886},"callbacks",[2595,3539,2627,2628,6089,2637,2638,3377],[],[2222,15888],{"_2214":15889,"_2216":15890,"_2217":2218,"_2219":2222,"_2220":15891,"_2222":15892},"calculat","culat",[],[15893,15908],[3002,15894],{"_2214":15895,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":15896,"_2222":15897},"calculati",[],[15898,15903],[3207,15899],{"_2214":15900,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":15901,"_2222":15902},"calculating",[2254],[],[3017,15904],{"_2214":15905,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":15906,"_2222":15907},"calculation",[5477,2551],[],[2217,15909],{"_2214":15910,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":15911,"_2222":15912},"calculate",[],[15913,15918],[2220,15914],{"_2214":15915,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":15916,"_2222":15917},"calculated",[2564],[],[2216,15919],{"_2214":15920,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15921,"_2222":15922},"calculates",[2882],[],[2216,15924],{"_2214":15925,"_2216":8461,"_2217":2227,"_2219":2216,"_2220":15926,"_2222":15927},"case",[2238,3358,3431,2330,2331,3434,2347,2349,2366,3461,2436,2446,2484,3179,2495,2503,2508,5480,2584,2635,2651,2668,2698,2704,3556,2722,2736,2742,2758,2763,2779,2786,2838,2883,2909,2953],[15928],[2216,15929],{"_2214":15930,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15931,"_2222":15934},"cases",[3255,3256,3155,2366,3648,2468,2469,3782,15932,2516,2518,3370,3534,2638,2700,15933],869,1562,[],[3220,15936],{"_2214":15937,"_2216":3750,"_2217":2227,"_2219":3220,"_2220":15938,"_2222":15939},"care",[2244,2274,3478,2676,3800,2736,2881,2905],[15940],[3085,15941],{"_2214":15942,"_2216":8101,"_2217":2227,"_2219":3085,"_2220":15943,"_2222":15944},"careful",[2276,4663,2678],[15945],[3193,15946],{"_2214":15947,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":15948,"_2222":15949},"carefully",[2249,2250],[],[2222,15951],{"_2214":15952,"_2216":10197,"_2217":2218,"_2219":2222,"_2220":15953,"_2222":15954},"cach",[],[15955,15959],[2217,15956],{"_2214":9181,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":15957,"_2222":15958},[2244,2288,2292,2662,2679,2865,2958,7562,5337],[],[3002,15960],{"_2214":15961,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":15962,"_2222":15963},"caching",[2832],[],[3691,15965],{"_2214":15966,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":15967,"_2222":15968},"cau",[],[15969,15999],[2216,15970],{"_2214":15971,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":15972,"_2222":15973},"caus",[],[15974,15989,15994],[2217,15975],{"_2214":15976,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":15977,"_2222":15978},"cause",[2244,2283,2305,2324,2336,3433,12933,3454,3140,2392,2404,2405,2406,2603,2667,2673,2679,2703,2704,3556,2712,2720,2762,3621,12007,7754],[15979,15984],[2216,15980],{"_2214":15981,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":15982,"_2222":15983},"causes",[2318,2323,2660,2779,6109],[],[2220,15985],{"_2214":15986,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":15987,"_2222":15988},"caused",[2429,6092,2952],[],[3002,15990],{"_2214":15991,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":15992,"_2222":15993},"causing",[2370,2458,2703,2740,4473,8151],[],[2225,15995],{"_2214":15996,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":15997,"_2222":15998},"causal",[2893],[],[3825,16000],{"_2214":16001,"_2216":11201,"_2217":2227,"_2219":3825,"_2220":16002,"_2222":16003},"caught",[3424,3425,3429],[],[3099,16005],{"_2214":4528,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":16006,"_2222":16007},[],[16008,16024,16034],[2217,16009],{"_2214":16010,"_2216":16011,"_2217":2218,"_2219":2217,"_2220":16012,"_2222":16013},"categor","egor",[],[16014,16019],[3640,16015],{"_2214":16016,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":16017,"_2222":16018},"category",[2253],[],[3002,16020],{"_2214":16021,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":16022,"_2222":16023},"categories",[2253,2254],[],[2222,16025],{"_2214":16026,"_2216":10197,"_2217":2227,"_2219":2222,"_2220":16027,"_2222":16028},"catch",[3526],[16029],[3002,16030],{"_2214":16031,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":16032,"_2222":16033},"catching",[3259],[],[2225,16035],{"_2214":16036,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":16037,"_2222":16038},"cata",[],[16039,16045],[2216,16040],{"_2214":16041,"_2216":16042,"_2217":2227,"_2219":2216,"_2220":16043,"_2222":16044},"catastrophic","strophic",[2556],[],[3193,16046],{"_2214":16047,"_2216":14792,"_2217":2227,"_2219":3193,"_2220":16048,"_2222":16049},"catalog",[2785],[],[3871,16051],{"_2214":16052,"_2216":16053,"_2217":2227,"_2219":3871,"_2220":16054,"_2222":16055},"cables","bles",[3780],[],[4034,16057],{"_2214":16058,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":16059,"_2222":16060},"cap",[],[16061,16088],[2225,16062],{"_2214":16063,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":16064,"_2222":16065},"capa",[],[16066,16072],[2222,16067],{"_2214":16068,"_2216":16069,"_2217":2227,"_2219":2222,"_2220":16070,"_2222":16071},"capacity","city",[3477],[],[3871,16073],{"_2214":16074,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":16075,"_2222":16076},"capab",[],[16077,16082],[3193,16078],{"_2214":16079,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":16080,"_2222":16081},"capable",[4896],[],[3002,16083],{"_2214":16084,"_2216":16085,"_2217":2227,"_2219":3002,"_2220":16086,"_2222":16087},"capabilities","ilities",[2802],[],[3099,16089],{"_2214":16090,"_2216":8096,"_2217":2227,"_2219":3099,"_2220":16091,"_2222":16092},"capture",[3564],[16093,16098],[2216,16094],{"_2214":16095,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16096,"_2222":16097},"captures",[3939,2882],[],[2220,16099],{"_2214":16100,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":16101,"_2222":16102},"captured",[3611],[],[2972,16104],{"_2214":16105,"_2216":16106,"_2217":2227,"_2219":2972,"_2220":16107,"_2222":16108},"cmd","md",[3355],[],[3085,16110],{"_2214":16111,"_2216":16112,"_2217":2227,"_2219":3085,"_2220":16113,"_2222":16114},"cfg","fg",[3152,3153,9730,3482,3483,3157,12751,12752,12753,12754,2475,3215,2504,6348,11259,3370,2542,2563,3790,2936,3394,2947],[],[2217,16116],{"_2214":6019,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":16117,"_2222":16118},[],[16119,16161,16177,16183],[3220,16120],{"_2214":16121,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":16122,"_2222":16123},"cert",[12856],[16124,16135,16140,16150,16155],[3002,16125],{"_2214":16126,"_2216":16127,"_2217":2227,"_2219":3002,"_2220":16128,"_2222":16129},"certificate","ificate",[2272,6049,2345,3444,2355,3498,3942],[16130],[2216,16131],{"_2214":16132,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16133,"_2222":16134},"certificates",[3198,6049,4461,3155,3446,3447,13343],[],[2216,16136],{"_2214":16137,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16138,"_2222":16139},"certs",[4461],[],[2225,16141],{"_2214":16142,"_2216":5669,"_2217":2227,"_2219":2225,"_2220":16143,"_2222":16144},"certain",[2284,2285,3258,2406,2657,2741,2873,3621],[16145],[3193,16146],{"_2214":16147,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":16148,"_2222":16149},"certainly",[2679],[],[3220,16151],{"_2214":16152,"_2216":9999,"_2217":2227,"_2219":3220,"_2220":16153,"_2222":16154},"certreload",[3447],[],[3193,16156],{"_2214":16157,"_2216":16158,"_2217":2227,"_2219":3193,"_2220":16159,"_2222":16160},"certlen","len",[12856],[],[3207,16162],{"_2214":16163,"_2216":5686,"_2217":2218,"_2219":3207,"_2220":16164,"_2222":16165},"cent",[],[16166,16171],[2217,16167],{"_2214":16168,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":16169,"_2222":16170},"center",[2511],[],[3220,16172],{"_2214":16173,"_2216":16174,"_2217":2227,"_2219":3220,"_2220":16175,"_2222":16176},"central","ral",[2805],[],[2225,16178],{"_2214":16179,"_2216":16180,"_2217":2227,"_2219":2225,"_2220":16181,"_2222":16182},"ceases","ases",[3530],[],[3193,16184],{"_2214":16185,"_2216":16186,"_2217":2227,"_2219":3193,"_2220":16187,"_2222":16188},"cell-level","ll-level",[2804],[],[3002,16190],{"_2214":16191,"_2216":3002,"_2217":2227,"_2219":3002,"_2220":16192,"_2222":16193},"ci",[4406,6004,6007,6114,9017],[16194,16212],[4034,16195],{"_2214":16196,"_2216":16197,"_2217":2227,"_2219":4034,"_2220":16198,"_2222":16200},"cipher","pher",[16199,3441,2359],166,[16201],[2216,16202],{"_2214":16203,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16204,"_2222":16205},"ciphers",[3449,3450],[16206],[3691,16207],{"_2214":16208,"_2216":16209,"_2217":2227,"_2219":3691,"_2220":16210,"_2222":16211},"ciphersuites","uites",[3441],[],[3220,16213],{"_2214":16214,"_2216":16215,"_2217":2218,"_2219":3220,"_2220":16216,"_2222":16217},"circu","rcu",[],[16218,16224],[3002,16219],{"_2214":16220,"_2216":16221,"_2217":2227,"_2219":3002,"_2220":16222,"_2222":16223},"circuits","its",[2404],[],[2972,16225],{"_2214":16226,"_2216":16227,"_2217":2227,"_2219":2972,"_2220":16228,"_2222":16229},"circumstances","mstances",[2551],[],[2216,16231],{"_2214":16232,"_2216":16233,"_2217":2227,"_2219":2216,"_2220":16234,"_2222":16236},"cseweb","seweb",[16235],244,[],[3207,16238],{"_2214":16239,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":16240,"_2222":16241},"cn",[],[16242,16258],[4309,16243],{"_2214":16244,"_2216":4309,"_2217":2218,"_2219":4309,"_2220":16245,"_2222":16246},"cnx",[],[16247,16253],[3099,16248],{"_2214":16249,"_2216":16250,"_2217":2227,"_2219":3099,"_2220":16251,"_2222":16252},"cnxtimeout","timeout",[3776],[],[3207,16254],{"_2214":16255,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":16256,"_2222":16257},"cnxn",[2687],[],[2225,16259],{"_2214":16260,"_2216":16261,"_2217":2227,"_2219":2225,"_2220":16262,"_2222":16263},"cname","ame",[4496],[],[3871,16265],{"_2214":16266,"_2216":16267,"_2217":2227,"_2219":3871,"_2220":16268,"_2222":16269},"cbc","bc",[3449,3450],[],[4034,16271],{"_2214":16272,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":16273,"_2222":16274},"cp",[],[16275,16280],[3691,16276],{"_2214":16277,"_2216":3691,"_2217":2227,"_2219":3691,"_2220":16278,"_2222":16279},"cpu",[5511,5750,6052,2370,3478,3588],[],[4034,16281],{"_2214":16282,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":16283,"_2222":16284},"cpp",[6898],[16285],[3691,16286],{"_2214":16287,"_2216":16288,"_2217":2227,"_2219":3691,"_2220":16289,"_2222":16290},"cppunit","unit",[3627],[],[2222,16292],{"_2214":16293,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":16294,"_2222":16295},"cc",[3187,2457,2487,3379,6266,8024,6007],[],[6884,16297],{"_2214":16298,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":16299,"_2222":16300},"c1",[2483],[16301],[3030,16302],{"_2214":16303,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":16304,"_2222":16305},"c1's",[2483],[],[5968,16307],{"_2214":16308,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":16309,"_2222":16310},"c2",[2483],[],[2220,16312],{"_2214":16313,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":16314,"_2222":16315},"cd",[2641,2935],[16316],[3220,16317],{"_2214":16318,"_2216":16319,"_2217":2227,"_2219":3220,"_2220":16320,"_2222":16321},"cdrwa","rwa",[2990],[],[3066,16323],{"_2214":16324,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":16325,"_2222":16326},"cve",[3620,6108,8464],[16327,16332,16499],[3220,16328],{"_2214":16329,"_2216":5203,"_2217":2227,"_2219":3220,"_2220":16330,"_2222":16331},"cversion",[2673,6096],[],[3280,16333],{"_2214":16334,"_2216":16335,"_2217":2218,"_2219":3280,"_2220":16336,"_2222":16337},"cve-202","-202",[],[16338,16373,16391,16448,16454,16460],[11327,16339],{"_2214":16340,"_2216":16341,"_2217":2218,"_2219":11327,"_2220":16342,"_2222":16343},"cve-2025-","5-",[],[16344,16361,16367],[11327,16345],{"_2214":16346,"_2216":11327,"_2217":2218,"_2219":11327,"_2220":16347,"_2222":16348},"cve-2025-5",[],[16349,16355],[11375,16350],{"_2214":16351,"_2216":16352,"_2217":2227,"_2219":11375,"_2220":16353,"_2222":16354},"cve-2025-58057","8057",[8021],[],[6884,16356],{"_2214":16357,"_2216":16358,"_2217":2227,"_2219":6884,"_2220":16359,"_2222":16360},"cve-2025-5115","115",[6301],[],[11320,16362],{"_2214":16363,"_2216":16364,"_2217":2227,"_2219":11320,"_2220":16365,"_2222":16366},"cve-2025-67735","67735",[3238],[],[5968,16368],{"_2214":16369,"_2216":16370,"_2217":2227,"_2219":5968,"_2220":16371,"_2222":16372},"cve-2025-24970","24970",[8023],[],[11353,16374],{"_2214":16375,"_2216":16376,"_2217":2218,"_2219":11353,"_2220":16377,"_2222":16378},"cve-2024-","4-",[],[16379,16385],[11320,16380],{"_2214":16381,"_2216":16382,"_2217":2227,"_2219":11320,"_2220":16383,"_2222":16384},"cve-2024-6763","6763",[6108,11736],[],[6884,16386],{"_2214":16387,"_2216":16388,"_2217":2227,"_2219":6884,"_2220":16389,"_2222":16390},"cve-2024-12798","12798",[8022],[],[11313,16392],{"_2214":16393,"_2216":16394,"_2217":2218,"_2219":11313,"_2220":16395,"_2222":16396},"cve-2023-","3-",[],[16397,16426,16432],[11353,16398],{"_2214":16399,"_2216":11353,"_2217":2218,"_2219":11353,"_2220":16400,"_2222":16401},"cve-2023-4",[],[16402,16408,16414,16420],[11313,16403],{"_2214":16404,"_2216":16405,"_2217":2227,"_2219":11313,"_2220":16406,"_2222":16407},"cve-2023-43642","3642",[3239],[],[11411,16409],{"_2214":16410,"_2216":16411,"_2217":2227,"_2219":11411,"_2220":16412,"_2222":16413},"cve-2023-40167","0167",[3630],[],[6884,16415],{"_2214":16416,"_2216":16417,"_2217":2227,"_2219":6884,"_2220":16418,"_2222":16419},"cve-2023-41900","1900",[3630],[],[11327,16421],{"_2214":16422,"_2216":16423,"_2217":2227,"_2219":11327,"_2220":16424,"_2222":16425},"cve-2023-4586","586",[11674],[],[11313,16427],{"_2214":16428,"_2216":16429,"_2217":2227,"_2219":11313,"_2220":16430,"_2222":16431},"cve-2023-36479","36479",[3630],[],[5968,16433],{"_2214":16434,"_2216":16435,"_2217":2218,"_2219":5968,"_2220":16436,"_2222":16437},"cve-2023-2604","2604",[],[16438,16443],[11375,16439],{"_2214":16440,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":16441,"_2222":16442},"cve-2023-26048",[3637],[],[11306,16444],{"_2214":16445,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":16446,"_2222":16447},"cve-2023-26049",[3637],[],[11411,16449],{"_2214":16450,"_2216":16451,"_2217":2227,"_2219":11411,"_2220":16452,"_2222":16453},"cve-2020-36518","0-36518",[12420],[],[6884,16455],{"_2214":16456,"_2216":16457,"_2217":2227,"_2219":6884,"_2220":16458,"_2222":16459},"cve-2021-37533","1-37533",[6005,6821],[],[5968,16461],{"_2214":16462,"_2216":16463,"_2217":2218,"_2219":5968,"_2220":16464,"_2222":16465},"cve-2022-","2-",[],[16466,16493],[11353,16467],{"_2214":16468,"_2216":11353,"_2217":2218,"_2219":11353,"_2220":16469,"_2222":16470},"cve-2022-4",[],[16471,16487],[5968,16472],{"_2214":16473,"_2216":16474,"_2217":2218,"_2219":5968,"_2220":16475,"_2222":16476},"cve-2022-4200","200",[],[16477,16482],[11313,16478],{"_2214":16479,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":16480,"_2222":16481},"cve-2022-42003",[7567],[],[11353,16483],{"_2214":16484,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":16485,"_2222":16486},"cve-2022-42004",[7567],[],[6884,16488],{"_2214":16489,"_2216":16490,"_2217":2227,"_2219":6884,"_2220":16491,"_2222":16492},"cve-2022-41915","1915",[6115],[],[5968,16494],{"_2214":16495,"_2216":16496,"_2217":2227,"_2219":5968,"_2220":16497,"_2222":16498},"cve-2022-2048","2048",[5338],[],[2216,16500],{"_2214":16501,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16502,"_2222":16503},"cves",[7566,3240],[],[5908,16505],{"_2214":16506,"_2216":13138,"_2217":2227,"_2219":5908,"_2220":16507,"_2222":16508},"czxid",[6092],[],[3099,16510],{"_2214":16511,"_2216":8771,"_2217":2227,"_2219":3099,"_2220":16512,"_2222":16513},"ctime",[8210],[],[4309,16515],{"_2214":16516,"_2216":16517,"_2217":2227,"_2219":4309,"_2220":16518,"_2222":16519},"cxf","xf",[4366,2809,4388,4395],[],[2214,16521],{"_2214":16522,"_2216":16523,"_2217":2227,"_2219":2214,"_2220":16524,"_2222":16525},"cwiki","wiki",[4393,4408,4411],[],[3640,16527],{"_2214":16528,"_2216":16529,"_2217":2227,"_2219":3640,"_2220":16530,"_2222":16531},"cyclonedx-maven-plugin","yclonedx-maven-plugin",[12245],[],[3002,16533],{"_2214":3002,"_2216":3002,"_2217":2227,"_2219":3002,"_2220":16534,"_2222":16535},[2256,3408,3928,2268,2269,2347,2349,2366,4778,4779,3455,5750,2482,2495,2496,2638,2653,2669,3548,2697,2698,2702,3572,2781,2783,2871,2951],[16536,17532,17615,17845,17875,17880,17891,18017,18021,18036,18061,18086],[3207,16537],{"_2214":7485,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":16538,"_2222":16542},[2231,2234,3081,2235,6027,5064,2238,3767,2240,6072,7537,7538,2242,2244,2245,3055,5391,4457,4458,2248,7539,5984,2249,3405,2250,2251,6260,3980,2252,2253,2254,2255,3406,7718,2257,3407,2258,3409,4324,2264,2267,2270,3198,2271,16539,5985,2272,4461,5986,16540,3413,3414,2274,2275,3769,3178,2277,3770,3417,2281,3358,2282,2286,4486,4487,2287,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,3259,3420,3423,5477,3773,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,2978,3430,3359,2325,3431,2326,2327,4488,3360,2329,2330,2331,2332,2335,2336,2337,3361,3432,3433,3434,2338,2339,4489,3436,2340,2341,4645,4462,3231,2345,2346,2347,2349,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,3445,3263,3446,3447,3933,3934,4496,2356,2357,6300,2358,3448,3449,3450,2360,3452,2361,7038,6077,2362,2363,2364,3232,2365,2366,2367,2368,3455,5511,5750,6052,2370,2371,3456,3457,2372,3779,2373,3060,3061,3062,3063,2374,2375,6261,2376,2378,2379,2382,3461,7770,2384,2387,3646,3365,2388,2389,2391,2394,2396,2398,5790,2400,2401,3027,2405,2406,2407,9555,5512,9730,5183,2429,2430,2431,2433,3482,3483,2435,2436,2437,2438,4497,2440,2442,2443,2445,2446,2448,3647,2452,3187,3648,2453,3487,2456,2457,2458,2460,2461,2463,3366,2464,2465,2467,2468,2469,2472,2478,2479,2480,3675,3782,3783,2484,2485,2487,16541,2494,3179,2495,2496,2497,3936,2500,3937,3938,3784,2503,3036,2504,3940,4938,2506,2508,2509,2511,3159,4186,2513,2517,3504,6348,2523,2524,2525,3650,3370,2529,5513,2532,5480,2535,2539,2547,3510,3786,3044,6255,2551,2562,2563,2564,2565,3790,3518,6263,11274,5992,3524,3525,2578,2579,2581,2584,2586,2588,2590,2591,2595,3374,3947,2600,3529,3530,6264,3948,3532,2602,4095,3376,2604,2606,2614,2615,2616,7721,2618,2619,3540,2627,2628,2629,7834,4518,5994,2632,7835,2633,7836,3268,2634,2635,2636,2637,2638,2640,3794,2642,4244,2647,3377,2648,3795,9863,3378,2651,2652,2655,2658,3269,3270,11278,2659,3547,2662,2663,2665,2666,2667,2668,2669,2670,2671,2672,6091,8210,8211,2676,2677,2679,3552,2685,2686,2688,3271,3188,3189,2691,2692,2693,2695,2696,2697,2698,2700,2703,2704,3556,2706,3272,2707,2711,2712,2714,2715,2717,2718,2722,2723,2729,3560,2736,2738,3564,2740,2741,2742,2744,2747,3567,5995,7552,3568,2749,2752,2753,2755,2756,2758,3569,5996,2760,2762,2763,2767,2768,2769,2770,5997,2773,5999,3570,4511,2774,2775,3384,2779,2781,11248,2783,6000,2787,2788,3385,2792,3575,2793,2796,3577,2802,2810,3583,2813,2818,2819,2821,2822,2827,2830,2831,3954,2836,2838,3589,2840,3591,3592,2844,2846,2849,3596,2850,3597,3598,2854,12728,2856,2857,2858,2860,3603,2863,2864,2866,2868,2870,2875,2883,8746,2885,2889,2890,3393,2895,3805,2900,2901,2902,2903,2909,3807,4472,3609,2919,2920,2921,2923,2924,2925,2926,2928,2929,3038,4597,3808,3612,3809,2995,2934,2936,3613,2937,6458,2939,2940,3957,3958,2943,2944,2946,2947,2948,2949,4113,2950,2951,2953,2955,4334,3618,5336,6301,3621,3623,3624,11286,5191,12127,4217,7634,6640,4827,7754,12049,6923,11582,4159,8023,12092,12298,4474,3627,7419,4851,5895,11878,11180,3300,4828,6266,11440,2960,8053,8151,8024,3811,6801,3301,9016,8854,5337,4540,3635,6302],145,153,740,[16543,16694,16816,17089,17118,17207,17305,17372,17377,17441,17446,17459,17470,17491,17511,17527],[2222,16544],{"_2214":16545,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":16546,"_2222":16547},"inc",[3388],[16548,16574,16628,16683,16688],[3193,16549],{"_2214":16550,"_2216":16551,"_2217":2218,"_2219":3193,"_2220":16552,"_2222":16553},"includ","lud",[],[16554,16559],[3002,16555],{"_2214":16556,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":16557,"_2222":16558},"including",[2229,3411,3058,2285,2336,2367,2458,2489,3515,3533,3539,3546,3559,3587,2853,3606,3617],[],[2217,16560],{"_2214":16561,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":16562,"_2222":16563},"include",[5321,5477,3361,2382,3780,11276,2742,3573,2797,2850,2904,6108],[16564,16569],[2216,16565],{"_2214":16566,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16567,"_2222":16568},"includes",[4457,2254,2260,3449,3450,3455,2379,2472,4467,2496,4596,2503,2638,2662,2688,3596,2865,2905],[],[2220,16570],{"_2214":16571,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":16572,"_2222":16573},"included",[2398,2462,3492,6086,4468,2688,3271,2741,2786],[],[3017,16575],{"_2214":16576,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":16577,"_2222":16578},"inco",[],[16579,16595,16622],[2972,16580],{"_2214":16581,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":16582,"_2222":16583},"incom",[],[16584,16589],[3002,16585],{"_2214":16586,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":16587,"_2222":16588},"incoming",[2231,2634],[],[4034,16590],{"_2214":16591,"_2216":16592,"_2217":2227,"_2219":4034,"_2220":16593,"_2222":16594},"incompatible","patible",[11285,3622,3623],[],[3207,16596],{"_2214":16597,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":16598,"_2222":16599},"incon",[],[16600,16616],[2216,16601],{"_2214":16602,"_2216":16603,"_2217":2218,"_2219":2216,"_2220":16604,"_2222":16605},"inconsisten","sisten",[],[16606,16611],[3099,16607],{"_2214":16608,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":16609,"_2222":16610},"inconsistent",[2242,2336],[],[2222,16612],{"_2214":16613,"_2216":5157,"_2217":2227,"_2219":2222,"_2220":16614,"_2222":16615},"inconsistency",[3259,5477,2429,2443,3487,2712,3626],[],[3066,16617],{"_2214":16618,"_2216":16619,"_2217":2227,"_2219":3066,"_2220":16620,"_2222":16621},"inconvenient","venient",[2366],[],[3220,16623],{"_2214":16624,"_2216":16625,"_2217":2227,"_2219":3220,"_2220":16626,"_2222":16627},"incorrect","rrect",[2243,2244,2997],[],[3220,16629],{"_2214":16630,"_2216":3750,"_2217":2218,"_2219":3220,"_2220":16631,"_2222":16632},"incre",[],[16633,16657],[2225,16634],{"_2214":16635,"_2216":3925,"_2217":2218,"_2219":2225,"_2220":16636,"_2222":16637},"increas",[],[16638,16652],[2217,16639],{"_2214":14241,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":16640,"_2222":16641},[2243,2299,2330,2356,2357,2365,2394,2436,2510,2525,2673,2678,2954],[16642,16647],[2220,16643],{"_2214":16644,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":16645,"_2222":16646},"increased",[2299,2327,3434,2363,2704],[],[2216,16648],{"_2214":16649,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16650,"_2222":16651},"increases",[2375,2523,2662,2865],[],[3002,16653],{"_2214":16654,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":16655,"_2222":16656},"increasing",[2362,3504,2669,2752],[],[2972,16658],{"_2214":16659,"_2216":4071,"_2217":2218,"_2219":2972,"_2220":16660,"_2222":16661},"increment",[],[16662,16673,16678],[2225,16663],{"_2214":16664,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":16665,"_2222":16667},"incremental",[16666,3488,2465,2466,3213,2473,4327,2481,2483,3783,2816],627,[16668],[3193,16669],{"_2214":16670,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":16671,"_2222":16672},"incrementally",[3259,5987],[],[2217,16674],{"_2214":16675,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":16676,"_2222":16677},"incremented",[2669],[],[2216,16679],{"_2214":16680,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16681,"_2222":16682},"increments",[2901],[],[3322,16684],{"_2214":16685,"_2216":3325,"_2217":2227,"_2219":3322,"_2220":16686,"_2222":16687},"inchash",[16235],[],[3691,16689],{"_2214":16690,"_2216":16691,"_2217":2227,"_2219":3691,"_2220":16692,"_2222":16693},"incubator","ubator",[4401],[],[2216,16695],{"_2214":10571,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":16696,"_2222":16697},[],[16698,16784,16789,16806,16811],[3099,16699],{"_2214":16700,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":16701,"_2222":16702},"inst",[],[16703,16761,16767],[2225,16704],{"_2214":16705,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":16706,"_2222":16707},"insta",[],[16708,16735],[3193,16709],{"_2214":16710,"_2216":12831,"_2217":2227,"_2219":3193,"_2220":16711,"_2222":16712},"install",[2232,2367,2390,6262,8208,2399,6134,3521,2642],[16713,16725,16730],[2225,16714],{"_2214":16715,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":16716,"_2222":16719},"installation",[16717,16718,2824,3014,2932,2934],1075,1209,[16720],[2216,16721],{"_2214":16722,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16723,"_2222":16724},"installations",[2246,2572,2932],[],[3002,16726],{"_2214":16727,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":16728,"_2222":16729},"installing",[2384,2400,5989],[],[2217,16731],{"_2214":16732,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":16733,"_2222":16734},"installed",[2571,3543],[],[3207,16736],{"_2214":16737,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":16738,"_2222":16739},"instan",[],[16740,16750],[2222,16741],{"_2214":16742,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":16743,"_2222":16744},"instance",[2255,2272,2356,2357,2365,2378,2394,2399,2400,2492,2523,2524,2525,3369,3650,3370,2536,2537,2543,2545,2546,2583,2626,2631,2658,2662,12662,2840,3592,2865],[16745],[2216,16746],{"_2214":16747,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16748,"_2222":16749},"instances",[4461,2398,3492,2523,2525,2526,3650,3371,2538,3509,5065,2543,2578,2626,2814],[],[3099,16751],{"_2214":16752,"_2216":16753,"_2217":2227,"_2219":3099,"_2220":16754,"_2222":16755},"instantiate","tiate",[2578],[16756],[2216,16757],{"_2214":16758,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16759,"_2222":16760},"instantiates",[2581],[],[2217,16762],{"_2214":16763,"_2216":16764,"_2217":2227,"_2219":2217,"_2220":16765,"_2222":16766},"instead","ead",[3055,3411,2271,6079,2456,2458,2460,3367,2477,2479,2515,3370,2605,2618,2667,3190,2922,6110,6111,6113],[],[3220,16768],{"_2214":16769,"_2216":16770,"_2217":2227,"_2219":3220,"_2220":16771,"_2222":16772},"instruct","ruct",[3933,3934,2588,2953],[16773,16778],[2216,16774],{"_2214":16775,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16776,"_2222":16777},"instructs",[4496,2438,3216],[],[3002,16779],{"_2214":16780,"_2216":16781,"_2217":2227,"_2219":3002,"_2220":16782,"_2222":16783},"instructions","ions",[2400,2932],[],[3002,16785],{"_2214":16786,"_2216":4152,"_2217":2227,"_2219":3002,"_2220":16787,"_2222":16788},"inside",[3259,3548,2797,2852],[],[3691,16790],{"_2214":16791,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":16792,"_2222":16793},"insu",[],[16794,16800],[3085,16795],{"_2214":16796,"_2216":16797,"_2217":2227,"_2219":3085,"_2220":16798,"_2222":16799},"insufficient","fficient",[2363,2421],[],[3193,16801],{"_2214":16802,"_2216":16803,"_2217":2227,"_2219":3193,"_2220":16804,"_2222":16805},"insulate","late",[2516],[],[4034,16807],{"_2214":16808,"_2216":4124,"_2217":2227,"_2219":4034,"_2220":16809,"_2222":16810},"inspect",[2494,2938],[],[2217,16812],{"_2214":16813,"_2216":4674,"_2217":2227,"_2219":2217,"_2220":16814,"_2222":16815},"insert",[2540],[],[3099,16817],{"_2214":16818,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":16819,"_2222":16820},"int",[2266,3536,12800,12807,12814,12826,4470,12856,5187,5188,5189,8660,2669],[16821,16843,17084],[3220,16822],{"_2214":16823,"_2216":16824,"_2217":2218,"_2219":3220,"_2220":16825,"_2222":16826},"introduc","roduc",[],[16827,16837],[2217,16828],{"_2214":16829,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":16830,"_2222":16831},"introduce",[2597,2707,7754,2959],[16832],[2220,16833],{"_2214":16834,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":16835,"_2222":16836},"introduced",[3081,2320,3779,2373,2440,2510,6350,6351,2635],[],[3099,16838],{"_2214":16839,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":16840,"_2222":16842},"introduction",[2573,16841,2682],1080,[],[2217,16844],{"_2214":16845,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":16846,"_2222":16847},"inte",[],[16848,17002,17047,17078],[3220,16849],{"_2214":16850,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":16851,"_2222":16852},"inter",[],[16853,16874,16904,16924,16942,16948,16969,16975,16991],[2225,16854],{"_2214":16855,"_2216":4953,"_2217":2227,"_2219":2225,"_2220":16856,"_2222":16857},"interact",[2625],[16858],[3002,16859],{"_2214":16860,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":16861,"_2222":16862},"interacti",[],[16863,16868],[3017,16864],{"_2214":16865,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":16866,"_2222":16867},"interaction",[2236,3374],[],[3066,16869],{"_2214":16870,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":16871,"_2222":16873},"interactive",[16872,2564,3161,3652],1007,[],[3085,16875],{"_2214":16876,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":16877,"_2222":16878},"interf",[],[16879,16899],[2225,16880],{"_2214":16881,"_2216":4948,"_2217":2218,"_2219":2225,"_2220":16882,"_2222":16883},"interfac",[],[16884,16894],[2217,16885],{"_2214":16886,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":16887,"_2222":16888},"interface",[3051,3052,2255,3057,2286,2330,2430,2436,2514,3529,2601,3530,2686,3388,2874,3956,2940,2953,2962],[16889],[2216,16890],{"_2214":16891,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16892,"_2222":16893},"interfaces",[2330,2356,2357,2365,2394,2436,2600,2953],[],[3002,16895],{"_2214":16896,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":16897,"_2222":16898},"interfacing",[2246],[],[2217,16900],{"_2214":16901,"_2216":13831,"_2217":2227,"_2219":2217,"_2220":16902,"_2222":16903},"interference",[3619],[],[2217,16905],{"_2214":16906,"_2216":8852,"_2217":2227,"_2219":2217,"_2220":16907,"_2222":16908},"interest",[3179],[16909,16919],[3002,16910],{"_2214":16911,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":16912,"_2222":16913},"interesting",[3402,3383,3384],[16914],[3193,16915],{"_2214":16916,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":16917,"_2222":16918},"interestingly",[2929],[],[2217,16920],{"_2214":16921,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":16922,"_2222":16923},"interested",[2384,3529],[],[3207,16925],{"_2214":16926,"_2216":16927,"_2217":2227,"_2219":3207,"_2220":16928,"_2222":16929},"internal","nal",[2260,3771,2395,2514,2579,2703,2844,3593],[16930,16936],[3193,16931],{"_2214":16932,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":16933,"_2222":16935},"internally",[2316,16934,3541,2851],277,[],[2216,16937],{"_2214":16938,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":16939,"_2222":16941},"internals",[16940],1848,[],[3066,16943],{"_2214":16944,"_2216":16945,"_2217":2227,"_2219":3066,"_2220":16946,"_2222":16947},"interval","val",[2290,2293,2294,2296,2298,3456,2372,2980,2636],[],[3220,16949],{"_2214":16950,"_2216":16951,"_2217":2218,"_2219":3220,"_2220":16952,"_2222":16953},"interrupt","rupt",[],[16954,16959],[3002,16955],{"_2214":16956,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":16957,"_2222":16958},"interruption",[3480,2430],[],[2217,16960],{"_2214":16961,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":16962,"_2222":16963},"interrupted",[2547],[16964],[2217,16965],{"_2214":16966,"_2216":13798,"_2217":2227,"_2219":2217,"_2220":16967,"_2222":16968},"interruptedexception",[3526],[],[2972,16970],{"_2214":16971,"_2216":16972,"_2217":2227,"_2219":2972,"_2220":16973,"_2222":16974},"intermediate","mediate",[2484],[],[4034,16976],{"_2214":16977,"_2216":16978,"_2217":2227,"_2219":4034,"_2220":16979,"_2222":16980},"interpret","pret",[3188],[16981,16986],[2217,16982],{"_2214":16983,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":16984,"_2222":16985},"interpreted",[3949],[],[3002,16987],{"_2214":16988,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":16989,"_2222":16990},"interpreting",[2693],[],[2216,16992],{"_2214":16993,"_2216":16994,"_2217":2227,"_2219":2216,"_2220":16995,"_2222":16996},"intersect","sect",[2928],[16997],[3002,16998],{"_2214":16999,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":17000,"_2222":17001},"intersection",[2929],[],[3825,17003],{"_2214":17004,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":17005,"_2222":17006},"integ",[],[17007,17037],[3220,17008],{"_2214":17009,"_2216":5765,"_2217":2218,"_2219":3220,"_2220":17010,"_2222":17011},"integrat",[],[17012,17032],[3002,17013],{"_2214":17014,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":17015,"_2222":17016},"integrati",[],[17017,17027],[3017,17018],{"_2214":17019,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":17020,"_2222":17021},"integration",[3356,2518,2806],[17022],[2216,17023],{"_2214":17024,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17025,"_2222":17026},"integrations",[2797],[],[3207,17028],{"_2214":17029,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":17030,"_2222":17031},"integrating",[2638],[],[2217,17033],{"_2214":17034,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":17035,"_2222":17036},"integrated",[3179],[],[2217,17038],{"_2214":17039,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":17040,"_2222":17041},"integer",[2288,2289,2290,2302,2303,2304,2376,2588],[17042],[2216,17043],{"_2214":17044,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17045,"_2222":17046},"integers",[2373,2586,2901],[],[3207,17048],{"_2214":17049,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":17050,"_2222":17051},"inten",[],[17052,17057,17072],[3099,17053],{"_2214":17054,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":17055,"_2222":17056},"intent",[2321],[],[2220,17058],{"_2214":17059,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":17060,"_2222":17061},"intend",[],[17062,17067],[2216,17063],{"_2214":17064,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17065,"_2222":17066},"intends",[2346,2435],[],[2217,17068],{"_2214":17069,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":17070,"_2222":17071},"intended",[2396,2625,2859],[],[2216,17073],{"_2214":17074,"_2216":17075,"_2217":2227,"_2219":2216,"_2220":17076,"_2222":17077},"intensive","sive",[2429,3494,3495],[],[3193,17079],{"_2214":17080,"_2216":17081,"_2217":2227,"_2219":3193,"_2220":17082,"_2222":17083},"intellectual","llectual",[2787],[],[3017,17085],{"_2214":17086,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":17087,"_2222":17088},"into",[2345,2363,2382,3780,2445,3485,2472,2473,2484,2515,2520,2526,2573,3374,2631,2638,3549,3799,2675,2696,2738,2752,2846,13239,2882,2899,2901,2929,3634],[],[3280,17090],{"_2214":17091,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":17092,"_2222":17093},"in-",[],[17094,17100,17106,17112],[3871,17095],{"_2214":17096,"_2216":17097,"_2217":2227,"_2219":3871,"_2220":17098,"_2222":17099},"in-built","built",[2235],[],[2972,17101],{"_2214":17102,"_2216":17103,"_2217":2227,"_2219":2972,"_2220":17104,"_2222":17105},"in-memory","memory",[3416,3358,3494,3495,2813,2832,2857,2860,3391,3614],[],[3085,17107],{"_2214":17108,"_2216":17109,"_2217":2227,"_2219":3085,"_2220":17110,"_2222":17111},"in-flight","flight",[3775],[],[3322,17113],{"_2214":17114,"_2216":17115,"_2217":2227,"_2219":3322,"_2220":17116,"_2222":17117},"in-house","house",[3597],[],[3085,17119],{"_2214":17120,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":17121,"_2222":17122},"inf",[],[17123,17134,17172,17201],[3220,17124],{"_2214":17125,"_2216":17126,"_2217":2227,"_2219":3220,"_2220":17127,"_2222":17128},"infrastructure","rastructure",[3644,3432,3433,2848,3390,12601,14667],[17129],[2216,17130],{"_2214":17131,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17132,"_2222":17133},"infrastructures",[2345],[],[3017,17135],{"_2214":17136,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":17137,"_2222":17160},"info",[2256,2260,17138,17139,17140,17141,17142,17143,17144,17145,17146,17147,17148,17149,2620,2622,17150,3544,17151,17152,17153,17154,2709,17155,17156,17157,2931,3612,17158,17159],175,182,187,284,290,294,300,302,453,511,817,1141,1202,1250,1255,1288,1312,1504,1508,1835,1969,1977,[17161],[3220,17162],{"_2214":17163,"_2216":17164,"_2217":2227,"_2219":3220,"_2220":17165,"_2222":17166},"information","rmation",[5388,5389,3402,4457,2248,5984,2249,2250,2256,3407,3408,2259,2260,2263,2265,2266,2268,2269,3410,2275,3774,4360,2323,3432,3433,3436,2363,2378,3464,5989,4466,6079,2443,2446,3485,3647,2459,3214,2497,2498,2499,3939,2566,2642,2647,2658,2665,2667,2680,6242,7789,3552,6099,2686,2687,2688,3271,2721,3577,2805,2808,2810,3597,2864,3605,3038,7276,2943],[17167],[2225,17168],{"_2214":17169,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":17170,"_2222":17171},"informational",[2931,7557,7974],[],[3193,17173],{"_2214":17174,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":17175,"_2222":17176},"infl",[],[17177,17183],[3002,17178],{"_2214":17179,"_2216":17180,"_2217":2227,"_2219":3002,"_2220":17181,"_2222":17182},"inflight","ight",[2318],[],[3691,17184],{"_2214":17185,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":17186,"_2222":17187},"influ",[],[17188,17194],[2217,17189],{"_2214":17190,"_2216":17191,"_2217":2227,"_2219":2217,"_2220":17192,"_2222":17193},"influences","ences",[2380],[],[4309,17195],{"_2214":17196,"_2216":17197,"_2217":2227,"_2219":4309,"_2220":17198,"_2222":17200},"influxdb","xdb",[3496,17199,2503],803,[],[3002,17202],{"_2214":17203,"_2216":17204,"_2217":2227,"_2219":3002,"_2220":17205,"_2222":17206},"infinite","inite",[3434],[],[2220,17208],{"_2214":17209,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":17210,"_2222":17211},"ind",[],[17212,17264,17299],[3002,17213],{"_2214":17214,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":17215,"_2222":17216},"indi",[],[17217,17247,17258],[2222,17218],{"_2214":17219,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":17220,"_2222":17221},"indic",[],[17222,17242],[2225,17223],{"_2214":17224,"_2216":4975,"_2217":2218,"_2219":2225,"_2220":17225,"_2222":17226},"indicat",[],[17227,17237],[2217,17228],{"_2214":17229,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":17230,"_2222":17231},"indicate",[2248,2261,2290,2368,2372,2435,2524,2579,3377,2661,2883,2884,2885],[17232],[2216,17233],{"_2214":17234,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17235,"_2222":17236},"indicates",[6021,2396,2498,2499,2955],[],[3002,17238],{"_2214":17239,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":17240,"_2222":17241},"indicating",[2819],[],[2217,17243],{"_2214":17244,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":17245,"_2222":17246},"indices",[2795],[],[3066,17248],{"_2214":17249,"_2216":17250,"_2217":2227,"_2219":3066,"_2220":17251,"_2222":17252},"individual","vidual",[2280,3461,2580,2848,2904],[17253],[3193,17254],{"_2214":17255,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":17256,"_2222":17257},"individually",[3198,2996,9057],[],[3220,17259],{"_2214":17260,"_2216":17261,"_2217":2227,"_2219":3220,"_2220":17262,"_2222":17263},"indirectly","rectly",[2674],[],[2217,17265],{"_2214":17266,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":17267,"_2222":17268},"inde",[],[17269,17280,17288,17293],[4034,17270],{"_2214":17271,"_2216":17272,"_2217":2227,"_2219":4034,"_2220":17273,"_2222":17274},"independent","pendent",[2404,2463],[17275],[3193,17276],{"_2214":17277,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":17278,"_2222":17279},"independently",[2382,2463],[],[4309,17281],{"_2214":2205,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":17282,"_2222":17283},[6262,2422,3575,2845,2851],[17284],[2217,17285],{"_2214":2207,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":17286,"_2222":17287},[2792,2849],[],[2217,17289],{"_2214":17290,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":17291,"_2222":17292},"indeed",[2486,2942],[],[3085,17294],{"_2214":17295,"_2216":17296,"_2217":2227,"_2219":3085,"_2220":17297,"_2222":17298},"indefinitely","finitely",[2703],[],[3691,17300],{"_2214":17301,"_2216":17302,"_2217":2227,"_2219":3691,"_2220":17303,"_2222":17304},"industrial","ustrial",[2890],[],[3002,17306],{"_2214":17307,"_2216":8144,"_2217":2218,"_2219":3002,"_2220":17308,"_2222":17309},"init",[],[17310,17367],[3002,17311],{"_2214":17312,"_2216":17313,"_2217":2218,"_2219":3002,"_2220":17314,"_2222":17315},"initia","ia",[],[17316,17352],[3193,17317],{"_2214":17318,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":17319,"_2222":17320},"initial",[2259,2459,2460,2461,2463,2464,2698],[17321,17327,17347],[4794,17322],{"_2214":17323,"_2216":17324,"_2217":2227,"_2219":4794,"_2220":17325,"_2222":17326},"initial_configuration","_configuration",[6076],[],[3002,17328],{"_2214":17329,"_2216":15586,"_2217":2218,"_2219":3002,"_2220":17330,"_2222":17331},"initializ",[],[17332,17337],[2225,17333],{"_2214":17334,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":17335,"_2222":17336},"initialization",[4779,2396,2492,3505],[],[2217,17338],{"_2214":17339,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":17340,"_2222":17341},"initialize",[6021,2396],[17342],[2220,17343],{"_2214":17344,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":17345,"_2222":17346},"initialized",[10337],[],[3193,17348],{"_2214":17349,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":17350,"_2222":17351},"initially",[2444,5480,2706],[],[3099,17353],{"_2214":17354,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":17355,"_2222":17356},"initiat",[],[17357,17362],[2217,17358],{"_2214":17359,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":17360,"_2222":17361},"initiated",[2323,2507,2720],[],[3002,17363],{"_2214":17364,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":17365,"_2222":17366},"initiation",[3378],[],[3193,17368],{"_2214":17369,"_2216":8895,"_2217":2227,"_2219":3193,"_2220":17370,"_2222":17371},"initlimit",[2326,2327,4488,2948,2949],[],[4034,17373],{"_2214":17374,"_2216":6413,"_2217":2227,"_2219":4034,"_2220":17375,"_2222":17376},"input",[4324,2560,3520],[],[3066,17378],{"_2214":17379,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":17380,"_2222":17381},"inv",[],[17382,17394],[2225,17383],{"_2214":17384,"_2216":17385,"_2217":2227,"_2219":2225,"_2220":17386,"_2222":17387},"invalid","alid",[2347,2349,2366,3520,2630,2661],[17388],[2225,17389],{"_2214":17390,"_2216":17391,"_2217":2227,"_2219":2225,"_2220":17392,"_2222":17393},"invalidate","ate",[2754],[],[3017,17395],{"_2214":17396,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":17397,"_2222":17398},"invo",[],[17399,17424,17430],[2219,17400],{"_2214":17401,"_2216":2219,"_2217":2218,"_2219":2219,"_2220":17402,"_2222":17403},"invok",[],[17404,17419],[2217,17405],{"_2214":17406,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":17407,"_2222":17408},"invoke",[2449,2471,2486,2603],[17409,17414],[2220,17410],{"_2214":17411,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":17412,"_2222":17413},"invoked",[2446,2471,5023,3530,6264,4095,2737],[],[2216,17415],{"_2214":17416,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17417,"_2222":17418},"invokes",[2483,3948,4329,3271,2704],[],[3002,17420],{"_2214":17421,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":17422,"_2222":17423},"invoking",[2459,2486],[],[2222,17425],{"_2214":17426,"_2216":17427,"_2217":2227,"_2219":2222,"_2220":17428,"_2222":17429},"invocation","cation",[2471],[],[3193,17431],{"_2214":17432,"_2216":17433,"_2217":2227,"_2219":3193,"_2220":17434,"_2222":17435},"involve","lve",[2883],[17436],[2220,17437],{"_2214":17438,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":17439,"_2222":17440},"involved",[2688,2775],[],[3193,17442],{"_2214":17443,"_2216":6144,"_2217":2227,"_2219":3193,"_2220":17444,"_2222":17445},"inline",[2474],[],[2972,17447],{"_2214":17448,"_2216":17449,"_2217":2227,"_2219":2972,"_2220":17450,"_2222":17453},"inmemorydatatree","memorydatatree",[17451,17452],776,789,[17454],[2216,17455],{"_2214":17456,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17457,"_2222":17458},"inmemorydatatrees",[3494],[],[3825,17460],{"_2214":17461,"_2216":17462,"_2217":2227,"_2219":3825,"_2220":17463,"_2222":17464},"ingest","gest",[3500],[17465],[3002,17466],{"_2214":17467,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":17468,"_2222":17469},"ingestion",[2800],[],[3322,17471],{"_2214":17472,"_2216":11110,"_2217":2218,"_2219":3322,"_2220":17473,"_2222":17474},"inher",[],[17475,17485],[3002,17476],{"_2214":17477,"_2216":8144,"_2217":2227,"_2219":3002,"_2220":17478,"_2222":17479},"inherit",[3622,3623],[17480],[2216,17481],{"_2214":17482,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17483,"_2222":17484},"inherits",[3370],[],[2217,17486],{"_2214":17487,"_2216":17488,"_2217":2227,"_2219":2217,"_2220":17489,"_2222":17490},"inherently","ently",[2946],[],[3304,17492],{"_2214":17493,"_2216":6650,"_2217":2218,"_2219":3304,"_2220":17494,"_2222":17495},"inject",[],[17496,17501,17506],[3002,17497],{"_2214":17498,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":17499,"_2222":17500},"injection",[8237,2573,2577],[],[2216,17502],{"_2214":17503,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17504,"_2222":17505},"injects",[2573],[],[2217,17507],{"_2214":17508,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":17509,"_2222":17510},"injected",[2888],[],[2217,17512],{"_2214":6059,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":17513,"_2222":17514},[],[17515,17521],[3085,17516],{"_2214":17517,"_2216":17518,"_2217":2227,"_2219":3085,"_2220":17519,"_2222":17520},"ineffective","ffective",[2635],[],[3099,17522],{"_2214":17523,"_2216":17524,"_2217":2227,"_2219":3099,"_2220":17525,"_2222":17526},"inetaddress","taddress",[6003],[],[3207,17528],{"_2214":17529,"_2216":7210,"_2217":2227,"_2219":3207,"_2220":17530,"_2222":17531},"inner",[3606],[],[2216,17533],{"_2214":3132,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17534,"_2222":17537},[2230,2231,2232,2235,2236,3355,3644,5064,2240,5390,6072,7537,7538,2242,2243,2244,2245,2247,2248,3254,6260,2253,8206,8207,2254,2255,3056,5873,3057,2257,2258,3409,4324,2261,2264,2265,2270,3198,2272,3153,5986,3154,3415,2274,5538,3178,2276,2277,3770,2279,2280,3417,2281,3358,2282,2283,2284,2285,2286,2287,2288,2289,3418,2290,3419,2291,3255,3256,3257,3258,3212,2292,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,3772,2307,2308,4510,2309,2310,2311,2312,6051,5182,2313,2314,3259,5987,3421,2316,3422,3424,3425,3426,5477,8296,15117,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,3359,3431,2327,4488,2328,3360,2329,2330,2331,2333,2334,3931,2335,2336,2337,3432,3433,2339,2340,2341,4645,3231,2343,2344,2345,2346,3437,5960,2348,4825,2350,3645,3362,3440,3442,3443,3155,3444,2355,3263,4496,2356,2357,2358,2359,3451,2360,3452,4663,5874,2361,3453,7038,6077,2362,2363,3232,3140,2366,3364,2367,2368,3455,5511,5750,6052,2370,2371,3456,3457,2372,2373,3458,2983,2986,6021,2378,2379,2380,2382,3461,2386,5988,2387,3646,3365,2388,2389,2390,2392,2394,2396,2397,2398,2400,2402,2403,3477,3478,2405,2406,2407,2411,2431,3481,2434,6079,2435,4595,2436,2437,2438,2439,4497,2440,2443,2444,2445,5097,2446,2447,2448,3647,2450,2451,2452,3187,3486,3648,2453,2454,3487,4326,3649,2456,3488,3489,2459,2460,2462,2463,2464,2465,2466,2467,2468,8209,6681,6248,2469,2470,2471,2472,2473,3367,2475,2477,3675,3490,13761,3783,2484,2485,2486,3935,6561,3214,3179,2495,2497,2498,2499,3936,2500,3937,3938,7547,3500,2501,2503,2504,3940,5023,3503,4938,3234,3941,3942,3943,2506,2507,3981,2508,2509,2511,3159,3368,3160,2513,2515,3216,2517,2520,2523,2524,2525,2526,2527,3650,2528,6084,4896,2534,5514,2537,2538,3509,2539,5065,2543,2545,6353,2547,6086,3044,4468,2557,2563,3944,2564,6445,3945,2573,2577,7275,2578,2579,2580,2583,2584,3526,2585,2586,2588,2589,2590,3374,3947,2600,3529,2601,3530,6264,3948,3532,2602,4095,3376,2603,2604,2605,2606,2607,2608,2614,2615,2618,2619,3224,2620,3537,2621,2624,2625,3541,2626,2627,2629,2630,4849,7834,3654,2631,3236,4518,6090,4498,3542,2634,11275,2635,2637,2638,2647,2649,3982,4664,2651,2655,2657,3204,2658,2659,9434,2662,2666,2667,3798,2668,2669,2670,2671,2672,2674,6091,3380,2675,2676,2677,2678,2679,2680,3552,2686,2687,2688,3271,3800,3189,3801,2692,2693,2694,2695,2696,2697,3555,8212,3950,6100,2698,2699,2700,2701,2702,2703,2704,3556,2705,2706,17535,2708,2709,3557,17536,2711,2712,2714,15628,2716,2717,2718,2719,2720,2721,2722,2729,3299,2730,3560,2734,2736,2737,2738,3383,2742,2743,2744,3566,5671,2747,3567,5995,2749,2751,2752,2753,2754,2756,2758,5335,2760,2762,6265,5631,2767,2768,3952,3953,2773,3570,4511,2774,3384,2776,2777,2778,2779,3572,2781,11248,2783,2784,2789,3385,2791,3575,2793,2795,2796,2798,2800,2801,2802,2803,2804,2806,2809,2811,2812,3583,2813,2814,2815,3386,2816,4389,2817,2820,2822,2823,3387,2825,2827,2830,2832,2834,2835,2836,3587,3388,2839,3389,4392,3591,2842,2843,3593,2845,2846,2847,3595,2850,7554,3390,2852,2853,2856,3602,2857,2859,2862,3603,2863,2864,2866,3955,2867,2869,2873,2874,3391,2882,3956,2883,2884,2885,2888,2889,2890,3393,2891,2892,2893,2894,4025,2895,2896,2898,2899,2900,2901,2904,2907,2908,2909,2914,2917,3807,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,3038,3612,2932,2934,2936,3613,6458,2943,2944,2946,2947,2948,2949,4113,2950,2955,11285,4922,6001,12049,8052,4851,7706,5858,5979,6007],1408,1413,[17538,17566,17571,17586,17592,17598,17603,17609],[2216,17539],{"_2214":17540,"_2216":17541,"_2217":2218,"_2219":2216,"_2220":17542,"_2222":17543},"issu","su",[],[17544,17561],[2217,17545],{"_2214":17546,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":17547,"_2222":17551},"issue",[2247,2283,3257,3212,2310,3421,3422,5477,2321,2324,3434,2367,2403,2513,2517,17548,17549,17550,2543,2752,2919,2925,3677],895,896,931,[17552,17557],[2220,17553],{"_2214":17554,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":17555,"_2222":17556},"issued",[3052,2255,2717],[],[2216,17558],{"_2214":10961,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17559,"_2222":17560},[2291,2305,3434,4645,3362,3650,2629,2924,3620,11416],[],[3002,17562],{"_2214":17563,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":17564,"_2222":17565},"issuing",[2989,2910,2940,3958,8009],[],[3220,17567],{"_2214":17568,"_2216":4293,"_2217":2227,"_2219":3220,"_2220":17569,"_2222":17570},"isro",[6260,2258,2337,4598],[],[4794,17572],{"_2214":17573,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":17574,"_2222":17575},"is_",[],[17576,17581],[3220,17577],{"_2214":17578,"_2216":10080,"_2217":2227,"_2219":3220,"_2220":17579,"_2222":17580},"is_read_only",[2258],[],[3193,17582],{"_2214":17583,"_2216":8414,"_2217":2227,"_2219":3193,"_2220":17584,"_2222":17585},"is_leader",[3409],[],[3017,17587],{"_2214":17588,"_2216":17589,"_2217":2227,"_2219":3017,"_2220":17590,"_2222":17591},"isolation","olation",[2552],[],[3066,17593],{"_2214":17594,"_2216":17595,"_2217":2227,"_2219":3066,"_2220":17596,"_2222":17597},"isvalid","valid",[2688],[],[2225,17599],{"_2214":17600,"_2216":4871,"_2217":2227,"_2219":2225,"_2220":17601,"_2222":17602},"isauthenticated",[2688],[],[3207,17604],{"_2214":17605,"_2216":17606,"_2217":2227,"_2219":3207,"_2220":17607,"_2222":17608},"isn't","n't",[4511,2922,2923],[],[4309,17610],{"_2214":17611,"_2216":17612,"_2217":2227,"_2219":4309,"_2220":17613,"_2222":17614},"isxyz","xyz",[6110],[],[2972,17616],{"_2214":17617,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":17618,"_2222":17619},"im",[],[17620,17792,17797,17819],[4034,17621],{"_2214":17622,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":17623,"_2222":17624},"imp",[],[17625,17704,17709,17751],[3193,17626],{"_2214":17627,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":17628,"_2222":17629},"impl",[4360],[17630,17669,17699],[2217,17631],{"_2214":17632,"_2216":17633,"_2217":2227,"_2219":2217,"_2220":17634,"_2222":17635},"implement","ement",[4360,3363,2686,3562,3564,2752,2754,5631,2764,4511,2775,2788,2856,2862,3956,2890,2894],[17636,17641,17654,17659,17664],[2216,17637],{"_2214":17638,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17639,"_2222":17640},"implements",[2233,2600],[],[2225,17642],{"_2214":17643,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":17644,"_2222":17648},"implementation",[2292,6299,2325,2345,2437,6082,17645,17646,3650,2547,2580,2586,3531,2605,2625,3541,2644,3554,2686,2695,2715,2753,2756,3384,3385,4388,4738,12728,17647,2858,2901,3038],898,899,1792,[17649],[2216,17650],{"_2214":17651,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17652,"_2222":17653},"implementations",[3431,6083,3525,2667,2833],[],[2217,17655],{"_2214":17656,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":17657,"_2222":17658},"implemented",[2382,2387,3530,4095,3272,3564,2744,2755,2858,2894],[],[3002,17660],{"_2214":17661,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":17662,"_2222":17663},"implementing",[3524,3553,3190,2742,3602],[],[3017,17665],{"_2214":17666,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":17667,"_2222":17668},"implementor",[2687],[],[3002,17670],{"_2214":17671,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":17672,"_2222":17673},"impli",[],[17674,17694],[2222,17675],{"_2214":17676,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":17677,"_2222":17678},"implic",[],[17679,17689],[3002,17680],{"_2214":17681,"_2216":8144,"_2217":2227,"_2219":3002,"_2220":17682,"_2222":17683},"implicit",[6114],[17684],[3193,17685],{"_2214":17686,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":17687,"_2222":17688},"implicitly",[3772,2615],[],[2225,17690],{"_2214":17691,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":17692,"_2222":17693},"implication",[2742],[],[2217,17695],{"_2214":17696,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":17697,"_2222":17698},"implies",[2355,2720],[],[3640,17700],{"_2214":17701,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":17702,"_2222":17703},"imply",[2708,2784],[],[2225,17705],{"_2214":17706,"_2216":4953,"_2217":2227,"_2219":2225,"_2220":17707,"_2222":17708},"impact",[2249,2250,2256,3408,3928,2268,2269,2279,2467,6112],[],[3220,17710],{"_2214":17711,"_2216":4293,"_2217":2218,"_2219":3220,"_2220":17712,"_2222":17713},"impro",[],[17714,17745],[3066,17715],{"_2214":17716,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":17717,"_2222":17718},"improve",[3257,3258,3434,3455,10320,11628],[17719,17724,17729],[2216,17720],{"_2214":17721,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17722,"_2222":17723},"improves",[3358,2510,2515],[],[2220,17725],{"_2214":17726,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":17727,"_2222":17728},"improved",[2306,8746],[],[2972,17730],{"_2214":17731,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":17732,"_2222":17739},"improvement",[17733,17734,17735,17736,17737,17738],1988,1995,2000,2006,2009,2015,[17740],[2216,17741],{"_2214":17742,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17743,"_2222":17744},"improvements",[3502,3617],[],[4034,17746],{"_2214":17747,"_2216":17748,"_2217":2227,"_2219":4034,"_2220":17749,"_2222":17750},"improper","per",[11440],[],[3017,17752],{"_2214":17753,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":17754,"_2222":17755},"impo",[],[17756,17771],[3220,17757],{"_2214":17758,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":17759,"_2222":17760},"import",[3502],[17761],[2225,17762],{"_2214":17763,"_2216":14104,"_2217":2227,"_2219":2225,"_2220":17764,"_2222":17765},"important",[3771,2392,2395,2658,2679,5396,5335,3952,3953,4511,2776,2779,2836,2889,2928,2955],[17766],[3193,17767],{"_2214":17768,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":17769,"_2222":17770},"importantly",[2889],[],[2216,17772],{"_2214":17773,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":17774,"_2222":17775},"impos",[],[17776,17786],[2217,17777],{"_2214":17778,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":17779,"_2222":17780},"impose",[2588],[17781],[2216,17782],{"_2214":17783,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17784,"_2222":17785},"imposes",[3383],[],[2216,17787],{"_2214":17788,"_2216":17789,"_2217":2227,"_2219":2216,"_2220":17790,"_2222":17791},"impossibility","sibility",[2776],[],[3017,17793],{"_2214":17794,"_2216":6488,"_2217":2227,"_2219":3017,"_2220":17795,"_2222":17796},"imok",[2248],[],[2972,17798],{"_2214":17799,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":17800,"_2222":17801},"imm",[],[17802,17813],[2217,17803],{"_2214":17804,"_2216":17805,"_2217":2227,"_2219":2217,"_2220":17806,"_2222":17807},"immediate","ediate",[3372,2570],[17808],[3193,17809],{"_2214":17810,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":17811,"_2222":17812},"immediately",[2321,2430,2458,2697,3570,2925],[],[3691,17814],{"_2214":17815,"_2216":17816,"_2217":2227,"_2219":3691,"_2220":17817,"_2222":17818},"immutable","utable",[2429],[],[2225,17820],{"_2214":17821,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":17822,"_2222":17823},"ima",[],[17824,17839],[3825,17825],{"_2214":17826,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":17827,"_2222":17828},"imag",[],[17829,17834],[2217,17830],{"_2214":17831,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":17832,"_2222":17833},"image",[3545,2653,2860,2871,7566],[],[3002,17835],{"_2214":17836,"_2216":7097,"_2217":2227,"_2219":3002,"_2220":17837,"_2222":17838},"imagined",[2741],[],[4034,17840],{"_2214":17841,"_2216":17842,"_2217":2227,"_2219":4034,"_2220":17843,"_2222":17844},"imap4","p4",[2834],[],[3099,17846],{"_2214":8144,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":17847,"_2222":17848},[2235,2236,2237,3355,2241,2243,2244,2245,2248,2249,2250,2254,2262,2270,3198,2272,2277,2279,2283,2284,2288,3257,3212,2292,2302,2303,2304,2309,6051,3090,5987,2315,3420,3421,2316,3422,3423,3424,3425,5476,8296,3774,2319,3775,2320,2321,2978,3429,5478,3430,2326,2329,2330,2334,2335,2336,2337,3433,3434,3435,2340,2341,3231,2344,2345,2346,3442,3443,4496,2359,2361,2363,3232,2366,3364,2367,2368,5511,2371,2372,6261,2378,2379,2382,3461,3365,2388,2389,8208,2396,3478,2406,2407,4595,2436,2437,2439,2446,2450,2453,3487,2455,3649,2456,2458,2459,2460,2462,2463,2464,2465,2466,2467,2471,2472,2484,3214,2497,2498,2499,3497,3502,5023,4938,2506,2507,2509,3160,2515,3216,3369,3370,2537,3509,2544,2550,3044,2557,3944,2573,2577,2578,2579,2584,3526,2585,2587,2591,3946,3527,3374,3947,2600,3529,2601,3532,2602,2603,2604,2605,2606,2618,3537,2629,3236,6090,5994,2634,2635,2638,2647,2650,3982,3378,2653,2654,3204,2658,2659,2662,2667,2668,3548,2671,3380,2676,2678,2679,2680,2681,2685,2686,2687,2688,3271,3189,2691,2692,2693,2694,2695,2696,2697,3950,6100,2699,3556,2706,2707,2708,2709,2711,2712,2715,2716,2720,2721,2729,2734,2736,3383,2742,2747,2749,2751,2752,5631,3952,3953,2773,3570,2775,3384,2776,2777,2779,2784,2802,2815,2817,2819,2821,2822,2823,2836,2838,3589,2843,2846,2850,2856,2858,2859,2861,3603,2864,2865,2869,2871,2872,2874,2882,3956,2883,2885,2890,2895,2896,3805,2899,2900,2901,2908,2909,2910,2911,2913,2914,2917,3609,2921,2923,2927,2929,3038,2932,2935,2936,3394,3613,2942,7559,2946,4113,2952,2955],[17849,17854,17864],[3030,17850],{"_2214":17851,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":17852,"_2222":17853},"it's",[2237,2331,3155,3799,2795,3387],[],[2216,17855],{"_2214":16221,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17856,"_2222":17857},[3355,3644,5388,2238,3052,3927,2259,2260,2266,3929,2281,2282,2311,3259,2326,3435,3452,3232,3455,2371,3459,2375,2378,2379,3478,2411,2414,2422,2450,2455,2458,2464,2483,2515,3650,3370,2529,5480,2546,2551,2581,2584,2585,3529,2601,2605,2610,3536,3537,2626,2658,3271,2699,2703,2704,3556,2708,2712,2717,2742,2775,3237,3385,2794,2805,4388,2821,2823,2828,3590,3597,3390,2869,6103,3805,2901,2917,2952,2963],[17858],[2217,17859],{"_2214":17860,"_2216":17861,"_2217":2227,"_2219":2217,"_2220":17862,"_2222":17863},"itself","elf",[3140,2367,2382,2461,2507,6086,3044,4468,2600,6264,2602,3376,2608,3538,2624,2658,2697,3385,2817,2823,2859,7706],[],[2217,17865],{"_2214":17866,"_2216":17867,"_2217":2227,"_2219":2217,"_2220":17868,"_2222":17869},"item","em",[3493],[17870],[2216,17871],{"_2214":17872,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17873,"_2222":17874},"items",[2586],[],[3085,17876],{"_2214":17877,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":17878,"_2222":17879},"if",[2236,2237,3355,2238,5390,6072,2242,2243,2244,2248,6260,5873,3057,2258,2259,3409,2261,2264,2266,2274,2275,3178,2280,3417,2283,2290,2291,3257,2299,2300,3772,2311,2312,2315,3420,3421,3426,2317,2318,2319,2320,2323,2978,2326,2327,2329,2331,2332,2334,3776,3777,2336,2337,3361,2340,2346,2348,2350,3440,3155,2356,2357,6300,3452,5874,3453,2365,2366,2367,2368,5750,6052,2370,2371,2388,2390,3780,2395,2397,2399,2402,2403,2404,3478,2435,2437,2438,2445,2446,2447,2448,3487,3489,2460,2461,2462,2463,3366,2464,2465,2472,2473,2476,2478,3490,2483,2484,2486,3935,3179,3502,2506,2507,3981,2508,2517,3508,3786,6255,2557,2561,2564,2579,2583,2585,2587,2589,3528,12927,2603,2604,2606,2615,2618,3538,2629,3654,5994,3542,2634,2639,2641,2643,3795,2650,3982,4664,2653,2655,2658,2662,2667,2668,2671,3037,2672,2674,3380,2675,2676,2677,2678,2679,2687,2688,3271,3800,5820,2691,2692,2693,2694,2696,2698,2699,3556,2705,2706,2708,2711,2712,3558,2716,2717,2719,2722,2730,2735,2737,2742,2744,3566,2745,15532,3567,5995,7552,3568,2752,2754,3569,2759,2763,2769,2770,7165,2771,3570,4511,2775,2779,11248,2786,2787,2818,2819,2821,2822,2823,2827,2836,3592,2846,2861,2867,2871,2877,2889,2891,2892,2893,2895,3805,2900,2907,2908,2916,2917,3609,2923,2926,2928,2929,6458,2946,2951,2952,2953,4922,3622,3623,7560,4474,7706],[],[3017,17881],{"_2214":11116,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":17882,"_2222":17885},[3356,4359,2240,2241,5390,7038,6077,2627,6089,2637,10467,17883,4441,17884],1775,1781,[17886],[2217,17887],{"_2214":17888,"_2216":13798,"_2217":2227,"_2219":2217,"_2220":17889,"_2222":17890},"ioexception",[2238,3425,7038,6077,2634],[],[2220,17892],{"_2214":5302,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":17893,"_2222":17894},[4457,2376,2378,2379,2394,2395,3936,3937,13344,2506,2607,2617,2619,3224,2620,3661,4826,2626,2650,2672,3380,2687,2688,3271,2694,2703,2711,2900,2901],[17895,17973,17984,17994,18012],[2217,17896],{"_2214":4152,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":17897,"_2222":17898},[3365],[17899,17956,17967],[3207,17900],{"_2214":17901,"_2216":17902,"_2217":2218,"_2219":3207,"_2220":17903,"_2222":17904},"identi","nti",[],[17905,17931,17946],[3085,17906],{"_2214":17907,"_2216":17908,"_2217":2218,"_2219":3085,"_2220":17909,"_2222":17910},"identifie","fie",[],[17911,17916,17926],[2220,17912],{"_2214":17913,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":17914,"_2222":17915},"identified",[2285,2378,2523,2526,2863],[],[3220,17917],{"_2214":17918,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":17919,"_2222":17920},"identifier",[2333],[17921],[2216,17922],{"_2214":17923,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17924,"_2222":17925},"identifiers",[2333],[],[2216,17927],{"_2214":17928,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17929,"_2222":17930},"identifies",[2378,3509,3381],[],[3099,17932],{"_2214":17933,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":17934,"_2222":17935},"identit",[],[17936,17941],[3640,17937],{"_2214":17938,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":17939,"_2222":17940},"identity",[3155,2619,3224,2620,3949],[],[3002,17942],{"_2214":17943,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":17944,"_2222":17945},"identities",[2508,3538],[],[2222,17947],{"_2214":17948,"_2216":15839,"_2217":2227,"_2219":2222,"_2220":17949,"_2222":17950},"identical",[2443,2658],[17951],[3193,17952],{"_2214":17953,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":17954,"_2222":17955},"identically",[3370],[],[2225,17957],{"_2214":17958,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":17959,"_2222":17960},"idea",[5987,2340,2488,2520,2580,2778],[17961],[3193,17962],{"_2214":17963,"_2216":17964,"_2217":2227,"_2219":3193,"_2220":17965,"_2222":17966},"ideally","lly",[2848],[],[2972,17968],{"_2214":17969,"_2216":17970,"_2217":2227,"_2219":2972,"_2220":17971,"_2222":17972},"idempotent","mpotent",[2379],[],[2216,17974],{"_2214":17975,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":17976,"_2222":17977},"ids",[3771,2291,2605,2607,2608,3793,3381],[17978],[4034,17979],{"_2214":17980,"_2216":17981,"_2217":2227,"_2219":4034,"_2220":17982,"_2222":17983},"idspec","pec",[2686,3381],[],[3193,17985],{"_2214":17986,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":17987,"_2222":17988},"idle",[3432,3433,2374,2699],[17989],[3099,17990],{"_2214":17991,"_2216":16250,"_2217":2227,"_2219":3099,"_2220":17992,"_2222":17993},"idletimeout",[2374],[],[3002,17995],{"_2214":17996,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":17997,"_2222":17998},"idi",[],[17999,18006],[3691,18000],{"_2214":18001,"_2216":18002,"_2217":2227,"_2219":3691,"_2220":18003,"_2222":18005},"idium","um",[18004,2847],1612,[],[3017,18007],{"_2214":18008,"_2216":18009,"_2217":2227,"_2219":3017,"_2220":18010,"_2222":18011},"idioms","oms",[2797,6105],[],[3030,18013],{"_2214":18014,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":18015,"_2222":18016},"id's",[3586],[],[2217,18018],{"_2214":9507,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":18019,"_2222":18020},[2249,2250,2693],[],[2222,18022],{"_2214":4736,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":18023,"_2222":18024},[],[18025,18030],[3085,18026],{"_2214":18027,"_2216":16112,"_2217":2227,"_2219":3085,"_2220":18028,"_2222":18029},"icfg",[6076],[],[2972,18031],{"_2214":18032,"_2216":18033,"_2217":2227,"_2219":2972,"_2220":18034,"_2222":18035},"icmp","mp",[2357,2365],[],[4034,18037],{"_2214":7459,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":18038,"_2222":18040},[2285,3231,3155,3232,18039,3233,3234,2508,3514,3533,2606,2607,2608,3224,2631,2635,2688,3188],841,[18041,18056],[3066,18042],{"_2214":18043,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":18044,"_2222":18045},"ipv",[],[18046,18051],[11353,18047],{"_2214":18048,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":18049,"_2222":18050},"ipv4",[2286],[],[11320,18052],{"_2214":18053,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":18054,"_2222":18055},"ipv6",[2286,5191],[],[2225,18057],{"_2214":18058,"_2216":4855,"_2217":2227,"_2219":2225,"_2220":18059,"_2222":18060},"ipauthenticationprovider",[3231,3234,5895,11878],[],[3825,18062],{"_2214":4065,"_2216":18063,"_2217":2218,"_2219":3825,"_2220":18064,"_2222":18065},"gn",[],[18066,18081],[3017,18067],{"_2214":7417,"_2216":18068,"_2217":2218,"_2219":3017,"_2220":18069,"_2222":18070},"ore",[],[18071,18076],[2220,18072],{"_2214":18073,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":18074,"_2222":18075},"ignored",[3423,5476,3426,5478,3443,3265,2618,4922],[],[2216,18077],{"_2214":18078,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18079,"_2222":18080},"ignores",[2618],[],[3002,18082],{"_2214":4439,"_2216":18083,"_2217":2227,"_2219":3002,"_2220":18084,"_2222":18085},"ite",[4378,2832,2833],[],[3193,18087],{"_2214":18088,"_2216":12831,"_2217":2218,"_2219":3193,"_2220":18089,"_2222":18090},"ill",[],[18091,18102],[3691,18092],{"_2214":18093,"_2216":18094,"_2217":2227,"_2219":3691,"_2220":18095,"_2222":18096},"illustrate","ustrate",[2488,3529,2741,2926],[18097],[2220,18098],{"_2214":18099,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":18100,"_2222":18101},"illustrated",[3782,2504],[],[2217,18103],{"_2214":18104,"_2216":18105,"_2217":2227,"_2219":2217,"_2220":18106,"_2222":18107},"illegal","egal",[2629],[],[4034,18109],{"_2214":4034,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":18110,"_2222":18111},[2580,2747,3567,5995,2854],[18112,18936,19134,19472,19602,19782,19850,19982,20009,20015,20031,20036,20047],[3220,18113],{"_2214":18114,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":18115,"_2222":18116},"pr",[],[18117,18544,18771,18902,18930],[3017,18118],{"_2214":18119,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":18120,"_2222":18121},"pro",[],[18122,18183,18259,18288,18375,18428,18449,18477,18518,18524,18539],[3066,18123],{"_2214":18124,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":18125,"_2222":18126},"prov",[],[18127,18178],[3002,18128],{"_2214":18129,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":18130,"_2222":18131},"provi",[],[18132,18138],[2216,18133],{"_2214":18134,"_2216":18135,"_2217":2227,"_2219":2216,"_2220":18136,"_2222":18137},"provisioning","sioning",[2229],[],[2220,18139],{"_2214":18140,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":18141,"_2222":18142},"provid",[],[18143,18173],[2217,18144],{"_2214":18145,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":18146,"_2222":18147},"provide",[2341,3231,2346,2357,2365,2435,7548,2506,2518,2650,2658,7789,2692,2799,2802,3578,3585,3388,3592,2845,2850],[18148,18163,18168],[3220,18149],{"_2214":4856,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":18150,"_2222":18151},[2239,2340,7827,2345,3263,4361,13787,2506,6200],[18152,18158],[2216,18153],{"_2214":18154,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18155,"_2222":18157},"providers",[18156,3785,2506,3621],10,[],[3220,18159],{"_2214":18160,"_2216":10618,"_2217":2227,"_2219":3220,"_2220":18161,"_2222":18162},"providerregistry",[2345,10337],[],[2216,18164],{"_2214":18165,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18166,"_2222":18167},"provides",[2234,2235,2255,2267,2432,2497,2498,2499,3497,2558,2572,2638,3189,2697,2720,3385,2790,2797,3577,2804,2814,2819,2827,2848,2849,2869,2930],[],[2220,18169],{"_2214":18170,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":18171,"_2222":18172},"provided",[2284,2290,2291,2331,2367,2452,2563,2618,3792,3654,3236,3800,3565,2743,2797,2831,2863,3804,2926,3811],[],[3002,18174],{"_2214":18175,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":18176,"_2222":18177},"providing",[2704,3385,2834,2874],[],[2217,18179],{"_2214":18180,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":18181,"_2222":18182},"proved",[3805],[],[2222,18184],{"_2214":18185,"_2216":6019,"_2217":2218,"_2219":2222,"_2220":18186,"_2222":18187},"proce",[],[18188,18233,18253],[2216,18189],{"_2214":18190,"_2216":5054,"_2217":2227,"_2219":2216,"_2220":18191,"_2222":18192},"process",[2236,2237,3355,2248,2280,3257,3258,2317,2322,2338,3442,3443,3446,3447,3455,6052,2370,2371,2379,2445,2483,3935,3981,2528,2534,11270,2579,2580,2581,2583,2584,2585,2586,2588,2589,3529,2626,2649,2663,2738,2747,3567,5995,3568,2749,2750,2751,2778,2779,2823,2829,2843,3609,6458],[18193,18208,18213,18222,18227],[2217,18194],{"_2214":18195,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":18196,"_2222":18197},"processe",[],[18198,18203],[2216,18199],{"_2214":18200,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18201,"_2222":18202},"processes",[2236,3423,2405,2580,6088,2584,2586,2589,8008,2635,2746,2749,2750,2751,2775,2779,2805,2857,2859,2928,2929],[],[2220,18204],{"_2214":18205,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":18206,"_2222":18207},"processed",[2305,2321,3489,2627,2628,2629,3392,2920],[],[3002,18209],{"_2214":18210,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":18211,"_2222":18212},"processing",[2244,3257,3258,2309,5874,2363,3455,2370,2371,2463,3491,2602,2603,2628,6089,2629,2715,2744,2752,4511,2800,2813,2816,2817,2832,2842,2843,2889],[],[3017,18214],{"_2214":8001,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":18215,"_2222":18216},[3455,6052,2614,6103],[18217],[2216,18218],{"_2214":18219,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18220,"_2222":18221},"processors",[3365,3497],[],[3220,18223],{"_2214":18224,"_2216":5242,"_2217":2227,"_2219":3220,"_2220":18225,"_2222":18226},"processresult",[4095],[],[4034,18228],{"_2214":18229,"_2216":18230,"_2217":2227,"_2219":4034,"_2220":18231,"_2222":18232},"processpacket","packet",[6113],[],[2217,18234],{"_2214":18235,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":18236,"_2222":18237},"proceed",[2309,2382,2744,2773],[18238,18248],[3002,18239],{"_2214":18240,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":18241,"_2222":18242},"proceeding",[2747],[18243],[2216,18244],{"_2214":18245,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18246,"_2222":18247},"proceedings",[3510,2854],[],[2216,18249],{"_2214":18250,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18251,"_2222":18252},"proceeds",[3566],[],[2220,18254],{"_2214":18255,"_2216":18256,"_2217":2227,"_2219":2220,"_2220":18257,"_2222":18258},"procedure","dure",[2747,11248,2784],[],[2972,18260],{"_2214":18261,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":18262,"_2222":18263},"prom",[],[18264,18278],[2217,18265],{"_2214":18266,"_2216":18267,"_2217":2227,"_2219":2217,"_2220":18268,"_2222":18271},"prometheus","etheus",[3356,4359,2240,2241,5390,6072,7537,7538,3496,7546,18269,4681,3215,7547,7548,3500,6134,18270,11269,3501,2502,6112],800,822,[18272],[2972,18273],{"_2214":18274,"_2216":18275,"_2217":2227,"_2219":2972,"_2220":18276,"_2222":18277},"prometheusmetricsprovider","metricsprovider",[4359],[],[4034,18279],{"_2214":18280,"_2216":5075,"_2217":2227,"_2219":4034,"_2220":18281,"_2222":18282},"prompt",[2513],[18283],[3002,18284],{"_2214":18285,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":18286,"_2222":18287},"prompting",[4469],[],[4034,18289],{"_2214":18290,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":18291,"_2222":18292},"prop",[],[18293,18319,18354],[2217,18294],{"_2214":18295,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":18296,"_2222":18297},"proper",[2492,3037],[18298,18314],[3099,18299],{"_2214":18300,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":18301,"_2222":18302},"propert",[],[18303,18309],[3640,18304],{"_2214":18305,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":18306,"_2222":18308},"property",[5390,2977,3178,3770,2278,2280,3417,2281,3358,2282,2283,2284,2285,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,3773,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,2325,2326,2327,4488,2328,2329,2330,2332,2333,2334,3776,3777,2335,2336,2337,3432,3433,3434,3435,2338,2340,2341,4645,4462,3231,2343,2344,2345,2346,2347,2349,3645,3362,2352,2354,3440,3444,2355,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,6300,2360,3452,5874,18307,2361,3453,2362,2363,2364,2365,5511,5750,6052,2370,2371,3456,3457,2372,2373,3458,2980,2981,2982,2983,2984,2985,2986,2987,2988,2374,2989,2485,6350,6084,6351,5514,5994,3542,2635,2667,3548,3037,3800,2787,4025,2928],388,[],[3002,18310],{"_2214":18311,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":18312,"_2222":18313},"properties",[3254,2266,3929,3770,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,3445,6263,5992,2994,2635,3188,3607,2928,3619],[],[3193,18315],{"_2214":18316,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":18317,"_2222":18318},"properly",[3432,3433,3140,3476,3555],[],[3017,18320],{"_2214":18321,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":18322,"_2222":18323},"propo",[],[18324,18348],[2216,18325],{"_2214":18326,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":18327,"_2222":18328},"propos",[],[18329,18338],[2225,18330],{"_2214":15728,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":18331,"_2222":18332},[2576,2898,2899,2900,2901,2904,2910,2911,2912,2913,2914,2915,2916,2920,2921,2927],[18333],[2216,18334],{"_2214":18335,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18336,"_2222":18337},"proposals",[3420,2458,2514,2515,2517,2518,2778,2881,3608,2898,2900,2902,2904,2908,2909,2910,2915,2917,4472,2921,2923],[],[2217,18339],{"_2214":18340,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":18341,"_2222":18342},"propose",[2903,2910],[18343],[2220,18344],{"_2214":18345,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":18346,"_2222":18347},"proposed",[3489,2473,2478,3490,2900,3609,2921],[],[3220,18349],{"_2214":18350,"_2216":18351,"_2217":2227,"_2219":3220,"_2220":18352,"_2222":18353},"proportional","rtional",[2431],[],[2225,18355],{"_2214":18356,"_2216":18357,"_2217":2218,"_2219":2225,"_2220":18358,"_2222":18359},"propagat","agat",[],[18360,18370],[2217,18361],{"_2214":18362,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":18363,"_2222":18364},"propagate",[3384,3237],[18365],[2220,18366],{"_2214":18367,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":18368,"_2222":18369},"propagated",[2443,7556],[],[3002,18371],{"_2214":18372,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":18373,"_2222":18374},"propagating",[3384],[],[3871,18376],{"_2214":18377,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":18378,"_2222":18379},"prob",[],[18380,18397],[3193,18381],{"_2214":18382,"_2216":18383,"_2217":2227,"_2219":3193,"_2220":18384,"_2222":18385},"problem","lem",[2243,2509,2510,2525,2526,2615,2678,2777,3237,2848,2916,8053],[18386,18391],[2216,18387],{"_2214":18388,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18389,"_2222":18390},"problems",[3768,3453,3140,2634,2660,3550,2681,3800,5631],[],[2225,18392],{"_2214":18393,"_2216":18394,"_2217":2227,"_2219":2225,"_2220":18395,"_2222":18396},"problematic","atic",[2517],[],[2225,18398],{"_2214":18399,"_2216":5369,"_2217":2218,"_2219":2225,"_2220":18400,"_2222":18401},"probab",[],[18402,18407],[3193,18403],{"_2214":18404,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":18405,"_2222":18406},"probably",[2244,2272,2399,3783,3552],[],[3002,18408],{"_2214":18409,"_2216":18410,"_2217":2218,"_2219":3002,"_2220":18411,"_2222":18412},"probabili","ili",[],[18413,18423],[2216,18414],{"_2214":18415,"_2216":5942,"_2217":2227,"_2219":2216,"_2220":18416,"_2222":18417},"probabilistic",[2295,2296,2297,2298,2299,2300,2301,2431,2704,2705],[18418],[2225,18419],{"_2214":18420,"_2216":4743,"_2217":2227,"_2219":2225,"_2220":18421,"_2222":18422},"probabilistically",[2371],[],[3099,18424],{"_2214":18425,"_2216":14768,"_2217":2227,"_2219":3099,"_2220":18426,"_2222":18427},"probability",[2298,2299,2300,2301,3027,2404,3556,2706,2907,2929],[],[3099,18429],{"_2214":18430,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":18431,"_2222":18432},"prot",[],[18433,18444],[3017,18434],{"_2214":18435,"_2216":18436,"_2217":2227,"_2219":3017,"_2220":18437,"_2222":18438},"protocol","ocol",[2255,2270,2331,2334,3439,3440,2355,2358,3232,2510,2511,2635,3569,2760,2764,2767,2768,2769,2770,10844,3570,4511,2774,3580,3581,2846,3392,2881,2882,3606,2894,4025,3608,2904,5483,3810,2964],[18439],[2216,18440],{"_2214":18441,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18442,"_2222":18443},"protocols",[3412,3440,3155,3444,2355,3570,2809,2834,2921],[],[2217,18445],{"_2214":18446,"_2216":9197,"_2217":2227,"_2219":2217,"_2220":18447,"_2222":18448},"protect",[4324,2264,2980,3787],[],[2220,18450],{"_2214":18451,"_2216":18452,"_2217":2218,"_2219":2220,"_2220":18453,"_2222":18454},"produc","duc",[],[18455,18460],[3099,18456],{"_2214":18457,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":18458,"_2222":18459},"production",[2272,2362,2366,2384,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,2390,2407,2429,2488,2495,2676,3612,3615,2944],[],[2217,18461],{"_2214":18462,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":18463,"_2222":18464},"produce",[2588],[18465],[3220,18466],{"_2214":18467,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":18468,"_2222":18469},"producer",[2586,2588,2592],[18470],[3280,18471],{"_2214":18472,"_2216":18473,"_2217":2227,"_2219":3280,"_2220":18474,"_2222":18476},"producer-consumer","-consumer",[18475,3525,2586,3553],1082,[],[3825,18478],{"_2214":18479,"_2216":6998,"_2217":2218,"_2219":3825,"_2220":18480,"_2222":18481},"progr",[],[18482,18513],[2225,18483],{"_2214":18484,"_2216":5614,"_2217":2227,"_2219":2225,"_2220":18485,"_2222":18487},"program",[2449,18486,2597,3374,3947,2626,2856],1114,[18488],[2972,18489],{"_2214":18490,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":18491,"_2222":18492},"programm",[],[18493,18508],[2217,18494],{"_2214":18495,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":18496,"_2222":18497},"programmer",[2604,2664],[18498,18503],[2216,18499],{"_2214":18500,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18501,"_2222":18502},"programmers",[3436],[],[3030,18504],{"_2214":18505,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":18506,"_2222":18507},"programmer's",[5989,6922,2943,6923],[],[3002,18509],{"_2214":18510,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":18511,"_2222":18512},"programming",[7789,2797,2809,2817,2843,2874,3956,11284,2932,2943],[],[2217,18514],{"_2214":18515,"_2216":3229,"_2217":2227,"_2219":2217,"_2220":18516,"_2222":18517},"progress",[2443,2471,3675,2483,3783,2497,6085,5513,5480,4896,2931],[],[4309,18519],{"_2214":18520,"_2216":18521,"_2217":2227,"_2219":4309,"_2220":18522,"_2222":18523},"proxy","xy",[3231],[],[3304,18525],{"_2214":18526,"_2216":6650,"_2217":2227,"_2219":3304,"_2220":18527,"_2222":18528},"project",[2639,2641,3385,2790,2796,2800,11281,3605,3622],[18529,18534],[2216,18530],{"_2214":18531,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18532,"_2222":18533},"projects",[2785,8266,4362,3385,2844,4401,4406,17883,17884],[],[2217,18535],{"_2214":18536,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":18537,"_2222":18538},"projected",[2831],[],[3207,18540],{"_2214":18541,"_2216":7187,"_2217":2227,"_2219":3207,"_2220":18542,"_2222":18543},"prone",[2817,3602],[],[2217,18545],{"_2214":18546,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":18547,"_2222":18548},"pre",[2317],[18549,18564,18626,18657,18663,18688,18710,18747,18753,18759,18765],[2222,18550],{"_2214":18551,"_2216":3079,"_2217":2218,"_2219":2222,"_2220":18552,"_2222":18553},"preced",[],[18554,18559],[3002,18555],{"_2214":18556,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":18557,"_2222":18558},"preceding",[2231,2382,2784],[],[2217,18560],{"_2214":18561,"_2216":10463,"_2217":2227,"_2219":2217,"_2220":18562,"_2222":18563},"precedence",[2352,2354],[],[2216,18565],{"_2214":18566,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":18567,"_2222":18568},"pres",[],[18569,18615],[2217,18570],{"_2214":18571,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":18572,"_2222":18573},"prese",[],[18574,18594],[3207,18575],{"_2214":18576,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":18577,"_2222":18578},"presen",[],[18579,18589],[3099,18580],{"_2214":18581,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":18582,"_2222":18583},"present",[2264,2336,2396,2435,2579,2655,2681],[18584],[2217,18585],{"_2214":18586,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":18587,"_2222":18588},"presented",[2508],[],[2222,18590],{"_2214":18591,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":18592,"_2222":18593},"presence",[2317,6021,2885,3805],[],[3220,18595],{"_2214":18596,"_2216":18597,"_2217":2218,"_2219":3220,"_2220":18598,"_2222":18599},"preserv","rv",[],[18600,18610],[2217,18601],{"_2214":18602,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":18603,"_2222":18604},"preserve",[2321],[18605],[2216,18606],{"_2214":18607,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18608,"_2222":18609},"preserves",[2485],[],[3002,18611],{"_2214":18612,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":18613,"_2222":18614},"preserving",[2833],[],[2216,18616],{"_2214":18617,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18618,"_2222":18620},"press",[15549,18619,3652],1045,[18621],[3691,18622],{"_2214":18623,"_2216":8378,"_2217":2227,"_2219":3691,"_2220":18624,"_2222":18625},"pressure",[3452,4540],[],[3066,18627],{"_2214":18628,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":18629,"_2222":18630},"prev",[],[18631,18642],[3002,18632],{"_2214":18633,"_2216":18634,"_2217":2227,"_2219":3002,"_2220":18635,"_2222":18636},"previous","ious",[3413,2367,3460,2650,3556,2759,2771,2772,2823,9890,2921],[18637],[3193,18638],{"_2214":18639,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":18640,"_2222":18641},"previously",[2650,3271,2722,2754,2778],[],[2217,18643],{"_2214":18644,"_2216":5431,"_2217":2227,"_2219":2217,"_2220":18645,"_2222":18646},"prevent",[2280,2281,2282,2284,2285,2320,2338,3461,2403,2562,2750,2849,2889,4475],[18647,18652],[2216,18648],{"_2214":18649,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18650,"_2222":18651},"prevents",[2346,3457,2460],[],[2217,18653],{"_2214":18654,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":18655,"_2222":18656},"prevented",[4896],[],[2225,18658],{"_2214":18659,"_2216":18660,"_2217":2227,"_2219":2225,"_2220":18661,"_2222":18662},"preallocsize","allocsize",[3417,2283],[],[4034,18664],{"_2214":18665,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":18666,"_2222":18667},"prep",[],[18668,18683],[2225,18669],{"_2214":18670,"_2216":3760,"_2217":2218,"_2219":2225,"_2220":18671,"_2222":18672},"prepar",[],[18673,18678],[3002,18674],{"_2214":18675,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":18676,"_2222":18677},"preparing",[5987],[],[2217,18679],{"_2214":18680,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":18681,"_2222":18682},"prepared",[3548,2736],[],[3220,18684],{"_2214":18685,"_2216":8014,"_2217":2227,"_2219":3220,"_2220":18686,"_2222":18687},"preprequestprocessor",[9016],[],[3280,18689],{"_2214":18690,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":18691,"_2222":18692},"pre-",[],[18693,18698,18703],[2222,18694],{"_2214":18695,"_2216":15910,"_2217":2227,"_2219":2222,"_2220":18696,"_2222":18697},"pre-calculate",[5987],[],[3871,18699],{"_2214":18700,"_2216":17097,"_2217":2227,"_2219":3871,"_2220":18701,"_2222":18702},"pre-built",[2503],[],[3220,18704],{"_2214":18705,"_2216":18706,"_2217":2227,"_2219":3220,"_2220":18707,"_2222":18709},"pre-requisites","requisites",[18708],1931,[],[3085,18711],{"_2214":18712,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":18713,"_2222":18714},"pref",[],[18715,18736],[2217,18716],{"_2214":18717,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":18718,"_2222":18719},"prefer",[2444,2635],[18720,18725,18731],[3220,18721],{"_2214":18722,"_2216":10629,"_2217":2227,"_2219":3220,"_2220":18723,"_2222":18724},"preferred",[3231,2524,3587],[],[3002,18726],{"_2214":18727,"_2216":18728,"_2217":2227,"_2219":3002,"_2220":18729,"_2222":18730},"preferipv6addresses","ipv6addresses",[2635],[],[2217,18732],{"_2214":18733,"_2216":17191,"_2217":2227,"_2219":2217,"_2220":18734,"_2222":18735},"preferences",[3810],[],[3002,18737],{"_2214":18738,"_2216":18739,"_2217":2227,"_2219":3002,"_2220":18740,"_2222":18741},"prefix","ix",[2361,2484,2590],[18742],[2217,18743],{"_2214":18744,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":18745,"_2222":18746},"prefixed",[3381],[],[3220,18748],{"_2214":18749,"_2216":18706,"_2217":2227,"_2219":3220,"_2220":18750,"_2222":18752},"prerequisites",[18751],595,[],[3193,18754],{"_2214":18755,"_2216":18756,"_2217":2227,"_2219":3193,"_2220":18757,"_2222":18758},"preliminary","liminary",[3510],[],[2972,18760],{"_2214":18761,"_2216":18762,"_2217":2227,"_2219":2972,"_2220":18763,"_2222":18764},"premium","mium",[2858],[],[5252,18766],{"_2214":18767,"_2216":18768,"_2217":2227,"_2219":5252,"_2220":18769,"_2222":18770},"prequest","quest",[9016],[],[3002,18772],{"_2214":18773,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":18774,"_2222":18775},"pri",[],[18776,18808,18850,18876],[2972,18777],{"_2214":18778,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":18779,"_2222":18780},"prim",[],[18781,18797],[2225,18782],{"_2214":18783,"_2216":3760,"_2217":2218,"_2219":2225,"_2220":18784,"_2222":18785},"primar",[],[18786,18791],[3640,18787],{"_2214":18788,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":18789,"_2222":18790},"primary",[6027,2433,3947,2631,3565],[],[3002,18792],{"_2214":18793,"_2216":18794,"_2217":2227,"_2219":3002,"_2220":18795,"_2222":18796},"primarily","ily",[2932],[],[3002,18798],{"_2214":18799,"_2216":18800,"_2217":2227,"_2219":3002,"_2220":18801,"_2222":18802},"primitive","itive",[2580],[18803],[2216,18804],{"_2214":18805,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18806,"_2222":18807},"primitives",[3524,6087,2578,2658,3383,2856,2858,2862,3956],[],[3207,18809],{"_2214":18810,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":18811,"_2222":18812},"prin",[],[18813,18834],[3099,18814],{"_2214":18815,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":18816,"_2222":18817},"print",[5391,5392,5393,6076,4469,15549,2568,3372,2570],[18818,18824,18829],[2214,18819],{"_2214":18820,"_2216":9044,"_2217":2227,"_2219":2214,"_2220":18821,"_2222":18823},"printwatches",[18822],561,[],[2217,18825],{"_2214":18826,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":18827,"_2222":18828},"printed",[3781,3786],[],[2216,18830],{"_2214":18831,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18832,"_2222":18833},"prints",[3786,3835],[],[2222,18835],{"_2214":18836,"_2216":18837,"_2217":2218,"_2219":2222,"_2220":18838,"_2222":18839},"princip","cip",[],[18840,18845],[2225,18841],{"_2214":18842,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":18843,"_2222":18844},"principal",[2343,3933,3934,3503,3941,2507,2508,2620,3654,2631,3236,4518,6090],[],[3193,18846],{"_2214":18847,"_2216":8787,"_2217":2227,"_2219":3193,"_2220":18848,"_2222":18849},"principles",[3501,3510,2854],[],[3066,18851],{"_2214":18852,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":18853,"_2222":18854},"priv",[],[18855,18870],[2225,18856],{"_2214":18857,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":18858,"_2222":18859},"priva",[],[18860,18865],[3099,18861],{"_2214":18862,"_2216":5151,"_2217":2227,"_2219":3099,"_2220":18863,"_2222":18864},"private",[2272,3498],[],[2222,18866],{"_2214":18867,"_2216":5157,"_2217":2227,"_2219":2222,"_2220":18868,"_2222":18869},"privacy",[2787],[],[3002,18871],{"_2214":18872,"_2216":18873,"_2217":2227,"_2219":3002,"_2220":18874,"_2222":18875},"privileges","ileges",[2343],[],[3017,18877],{"_2214":18878,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":18879,"_2222":18880},"prior",[2325,2356,2429,2437,2440,2450],[18881],[3002,18882],{"_2214":18883,"_2216":8144,"_2217":2218,"_2219":3002,"_2220":18884,"_2222":18885},"priorit",[],[18886,18892],[3640,18887],{"_2214":18888,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":18889,"_2222":18891},"priority",[2553,18890,2741,2754,2755],1465,[],[3002,18893],{"_2214":18894,"_2216":10154,"_2217":2227,"_2219":3002,"_2220":18895,"_2222":18896},"prioritize",[2635],[18897],[2216,18898],{"_2214":18899,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18900,"_2222":18901},"prioritizes",[2925],[],[2225,18903],{"_2214":18904,"_2216":18905,"_2217":2218,"_2219":2225,"_2220":18906,"_2222":18907},"practic","actic",[],[18908,18920],[2217,18909],{"_2214":18910,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":18911,"_2222":18912},"practice",[2244,3783,2548,2629,2926],[18913],[2216,18914],{"_2214":18915,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":18916,"_2222":18919},"practices",[18917,3401,18918,6073,2406,2740],41,44,[],[2225,18921],{"_2214":18922,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":18923,"_2222":18924},"practical",[2646,2680,7789,2741,4025],[18925],[3193,18926],{"_2214":18927,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":18928,"_2222":18929},"practically",[2467],[],[3691,18931],{"_2214":18932,"_2216":18933,"_2217":2227,"_2219":3691,"_2220":18934,"_2222":18935},"prudent","udent",[2341],[],[2217,18937],{"_2214":18938,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":18939,"_2222":18940},"pe",[],[18941,19096,19105,19110,19116,19122,19128],[3220,18942],{"_2214":17748,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":18943,"_2222":18944},[2284,3457,2485,3374,2600,3530,2704,2775,2894],[18945,18988,19020,19025,19041,19047,19084,19090],[2216,18946],{"_2214":18947,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":18948,"_2222":18949},"pers",[],[18950,18982],[3002,18951],{"_2214":18952,"_2216":18953,"_2217":2227,"_2219":3002,"_2220":18954,"_2222":18955},"persist","ist",[2654,2872],[18956,18977],[2217,18957],{"_2214":18958,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":18959,"_2222":18960},"persiste",[],[18961,18972],[3207,18962],{"_2214":18963,"_2216":5686,"_2217":2227,"_2219":3207,"_2220":18964,"_2222":18965},"persistent",[2231,2518,2671,9824,2729,3299,2733,2818,2828,2830,2860,2900,9015,7158,9057],[18966],[4794,18967],{"_2214":18968,"_2216":18969,"_2217":2227,"_2219":4794,"_2220":18970,"_2222":18971},"persistent_sequential","_sequential",[2671],[],[2220,18973],{"_2214":18974,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":18975,"_2222":18976},"persisted",[3421],[],[3002,18978],{"_2214":18979,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":18980,"_2222":18981},"persisting",[2363,2618],[],[4034,18983],{"_2214":18984,"_2216":18985,"_2217":2227,"_2219":4034,"_2220":18986,"_2222":18987},"perspective","pective",[2693],[],[3085,18989],{"_2214":18990,"_2216":7593,"_2217":2227,"_2219":3085,"_2220":18991,"_2222":18992},"perform",[2331,2336,3432,2357,2365,2390,3476,2465,2646,2647,2658,2813,5792,8428],[18993,19005,19010,19015],[2225,18994],{"_2214":18995,"_2216":6913,"_2217":2227,"_2219":2225,"_2220":18996,"_2222":18998},"performance",[2243,2249,2250,2256,3408,2260,3928,2268,2269,3058,5884,2276,3358,2283,3257,3258,2370,2371,2392,3478,2432,2467,3264,2509,2510,2515,5991,2651,3551,2678,2679,2811,2833,2846,18997,2858,2883,8746,2925,4597,2954,6112,11628],1794,[18999],[3280,19000],{"_2214":19001,"_2216":19002,"_2217":2227,"_2219":3280,"_2220":19003,"_2222":19004},"performance-critical","-critical",[2678],[],[2217,19006],{"_2214":19007,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":19008,"_2222":19009},"performed",[4457,4489,2391,2430,2469,2484,3496,4938,2507,2573,2700,2924,2926],[],[3002,19011],{"_2214":19012,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":19013,"_2222":19014},"performing",[2320,2978,2741,2925],[],[2216,19016],{"_2214":19017,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19018,"_2222":19019},"performs",[2509,2658,2662,3603],[],[3193,19021],{"_2214":19022,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":19023,"_2222":19024},"perl",[2254],[],[3002,19026],{"_2214":19027,"_2216":19028,"_2217":2227,"_2219":3002,"_2220":19029,"_2222":19030},"period","iod",[2259,2486,2697,3950,2699],[19031],[3002,19032],{"_2214":19033,"_2216":4736,"_2217":2227,"_2219":3002,"_2220":19034,"_2222":19035},"periodic",[2636,2821],[19036],[2225,19037],{"_2214":19038,"_2216":4743,"_2217":2227,"_2219":2225,"_2220":19039,"_2222":19040},"periodically",[2559],[],[3280,19042],{"_2214":19043,"_2216":19044,"_2217":2227,"_2219":3280,"_2220":19045,"_2222":19046},"per-observer","-observer",[2266],[],[2972,19048],{"_2214":19049,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":19050,"_2222":19051},"perm",[5778],[19052,19068,19079],[3002,19053],{"_2214":19054,"_2216":19055,"_2217":2227,"_2219":3002,"_2220":19056,"_2222":19057},"permission","ission",[2421,3187,2523,3514,3533,2605,2608,3534,2614,2615,2616,3535,2621,2622,2623,5193],[19058,19063],[2216,19059],{"_2214":19060,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19061,"_2222":19062},"permissions",[2417,2425,5185,2605,7720,2993,3534,3537,2624,2686,2996],[],[3030,19064],{"_2214":19065,"_2216":3030,"_2217":2227,"_2219":3030,"_2220":19066,"_2222":19067},"permission'",[3535],[],[2225,19069],{"_2214":19070,"_2216":19071,"_2217":2227,"_2219":2225,"_2220":19072,"_2222":19073},"permanent","anent",[2557,3265,2723,2868],[19074],[3193,19075],{"_2214":19076,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":19077,"_2222":19078},"permanently",[2528,2557,6264],[],[2216,19080],{"_2214":19081,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19082,"_2222":19083},"perms",[2608,2618],[],[3099,19085],{"_2214":19086,"_2216":19087,"_2217":2227,"_2219":3099,"_2220":19088,"_2222":19089},"pertains","tains",[2606],[],[2222,19091],{"_2214":19092,"_2216":19093,"_2217":2227,"_2219":2222,"_2220":19094,"_2222":19095},"percentage","centage",[2888],[],[2217,19097],{"_2214":9067,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":19098,"_2222":19099},[8206,8207,6076,3409,2270,3178,2284,2293,2294,2396,2496],[19100],[2216,19101],{"_2214":19102,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19103,"_2222":19104},"peers",[2270,2338,3232,3216,2663,2674,2950],[],[2972,19106],{"_2214":19107,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":19108,"_2222":19109},"pem",[3260,3261,3268],[],[2225,19111],{"_2214":19112,"_2216":19113,"_2217":2227,"_2219":2225,"_2220":19114,"_2222":19115},"peak","ak",[2369],[],[3207,19117],{"_2214":19118,"_2216":19119,"_2217":2227,"_2219":3207,"_2220":19120,"_2222":19121},"pending","nding",[2370,2603,2702],[],[3017,19123],{"_2214":19124,"_2216":19125,"_2217":2227,"_2219":3017,"_2220":19126,"_2222":19127},"people","ople",[3044],[],[3099,19129],{"_2214":19130,"_2216":19131,"_2217":2227,"_2219":3099,"_2220":19132,"_2222":19133},"petabyte","tabyte",[2832],[],[2225,19135],{"_2214":19136,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":19137,"_2222":19138},"pa",[],[19139,19282,19321,19368,19374,19384,19394,19445,19460,19466],[3220,19140],{"_2214":19141,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":19142,"_2222":19143},"par",[],[19144,19231,19265,19270,19276],[3099,19145],{"_2214":19146,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":19147,"_2222":19148},"part",[2243,2391,2394,6079,2446,2454,2459,2511,2516,2601,3541,2631,3236,6090,2660,2661,2678,2688,2694,2825,2837,3389,2851,3390,2881],[19149,19226],[3002,19150],{"_2214":19151,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":19152,"_2222":19153},"parti",[],[19154,19201,19221],[2222,19155],{"_2214":19156,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":19157,"_2222":19158},"partic",[],[19159,19170],[3691,19160],{"_2214":19161,"_2216":19162,"_2217":2227,"_2219":3691,"_2220":19163,"_2222":19164},"particular","ular",[2231,2244,2341,3179,2579,3376,2606,2693,2696,2712,2740,2741,2742,2923],[19165],[3193,19166],{"_2214":19167,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":19168,"_2222":19169},"particularly",[2515,2693],[],[3002,19171],{"_2214":19172,"_2216":19173,"_2217":2218,"_2219":3002,"_2220":19174,"_2222":19175},"participa","ipa",[],[19176,19186],[3207,19177],{"_2214":19178,"_2216":5686,"_2217":2227,"_2219":3207,"_2220":19179,"_2222":19180},"participant",[2335,2368,2430,4595,2438,2439,2458,2461,2462,2465,6681,3490,2484],[19181],[2216,19182],{"_2214":19183,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19184,"_2222":19185},"participants",[4461,3413,3419,2437,3489,2459,2463,2472,3490,2484,2594],[],[3099,19187],{"_2214":19188,"_2216":3902,"_2217":2218,"_2219":3099,"_2220":19189,"_2222":19190},"participati",[],[19191,19196],[3017,19192],{"_2214":19193,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":19194,"_2222":19195},"participation",[2338],[],[3207,19197],{"_2214":19198,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":19199,"_2222":19200},"participating",[2495,2496,2775,2824],[],[3099,19202],{"_2214":19203,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":19204,"_2222":19205},"partition",[2405,2836],[19206,19211,19216],[2217,19207],{"_2214":19208,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":19209,"_2222":19210},"partitioned",[2360,2696,8212,3576,2826],[],[2216,19212],{"_2214":19213,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19214,"_2222":19215},"partitions",[2401,2517,2676,2836,3587],[],[3002,19217],{"_2214":19218,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":19219,"_2222":19220},"partitioning",[2517],[],[2225,19222],{"_2214":19223,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":19224,"_2222":19225},"partial",[3796,5594],[],[2216,19227],{"_2214":19228,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19229,"_2222":19230},"parts",[2334,2631,2901],[],[2225,19232],{"_2214":19233,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":19234,"_2222":19235},"para",[],[19236,19254,19260],[2972,19237],{"_2214":19238,"_2216":19239,"_2217":2227,"_2219":2972,"_2220":19240,"_2222":19241},"parameter","meter",[2262,2264,2295,2296,2297,2298,2299,2300,2301,2324,2341,2343,4361,2356,8297,3140,8298,2366,2367,2380,2394,2585,2621,3236,2698],[19242,19248],[2216,19243],{"_2214":19244,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19245,"_2222":19247},"parameters",[3081,13757,3058,2275,2295,2296,2297,2298,2299,2300,2301,2394,2429,3482,3483,2441,2442,2443,2465,3505,19246,11273,2581,2584,3946,13345,3654,3190,2695,2953,2954,2955],1031,[],[3002,19249],{"_2214":19250,"_2216":19251,"_2217":2227,"_2219":3002,"_2220":19252,"_2222":19253},"parameterized","ized",[3739],[],[3193,19255],{"_2214":19256,"_2216":19257,"_2217":2227,"_2219":3193,"_2220":19258,"_2222":19259},"parallel","llel",[2356,2357,2365,2370,2394],[],[3825,19261],{"_2214":19262,"_2216":7078,"_2217":2227,"_2219":3825,"_2220":19263,"_2222":19264},"paragraph",[2367],[],[2217,19266],{"_2214":19267,"_2216":5431,"_2217":2227,"_2219":2217,"_2220":19268,"_2222":19269},"parent",[4467,2498,2499,2551,2580,2583,2587,2614,2621,2669,2721],[],[3193,19271],{"_2214":19272,"_2216":19273,"_2217":2227,"_2219":3193,"_2220":19274,"_2222":19275},"parlance","lance",[2857],[],[2216,19277],{"_2214":19278,"_2216":19279,"_2217":2227,"_2219":2216,"_2220":19280,"_2222":19281},"parsing","sing",[6819],[],[2222,19283],{"_2214":19284,"_2216":13506,"_2217":2227,"_2219":2222,"_2220":19285,"_2222":19286},"pack",[2254],[19287,19312],[2225,19288],{"_2214":19289,"_2216":5647,"_2217":2218,"_2219":2225,"_2220":19290,"_2222":19291},"packag",[],[19292,19307],[2217,19293],{"_2214":19294,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":19295,"_2222":19296},"package",[3356,8208,3541,2638,2639,2641],[19297,19302],[3220,19298],{"_2214":19299,"_2216":14873,"_2217":2227,"_2219":3220,"_2220":19300,"_2222":19301},"packagers",[2366],[],[2216,19303],{"_2214":19304,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19305,"_2222":19306},"packages",[3541],[],[3002,19308],{"_2214":19309,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":19310,"_2222":19311},"packaging",[6262],[],[2217,19313],{"_2214":18230,"_2216":8685,"_2217":2227,"_2219":2217,"_2220":19314,"_2222":19315},[3433,6077,2703,2717,2867,2897],[19316],[2216,19317],{"_2214":19318,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19319,"_2222":19320},"packets",[4457,8206,8207,2254,2324,2326,2575,2576,3608,2898,2923],[],[3099,19322],{"_2214":19323,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":19324,"_2222":19325},"pat",[],[19326,19352,19363],[3322,19327],{"_2214":6363,"_2216":3322,"_2217":2227,"_2219":3322,"_2220":19328,"_2222":19329},[2250,5393,2269,2351,2352,2353,2354,2413,2415,2416,2417,2418,2419,2420,2424,2426,2454,2456,6081,2527,2540,5065,6086,6255,4468,2551,5990,2553,3514,3372,2570,3520,5993,5187,5188,5189,2632,7835,2633,7836,11275,2659,2660,2661,2668,2669,5820,5996,2763,2780,3571,2863,6002,8361,3632],[19330,19335,19341,19346],[2216,19331],{"_2214":19332,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19333,"_2222":19334},"paths",[2249,2250,2659,2661,2693],[],[4794,19336],{"_2214":19337,"_2216":19338,"_2217":2227,"_2219":4794,"_2220":19339,"_2222":19340},"path_to_session_ids","_to_session_ids",[2269],[],[3207,19342],{"_2214":19343,"_2216":7853,"_2217":2227,"_2219":3207,"_2220":19344,"_2222":19345},"pathname",[2752,2754,2758,3569,2759,2767,2768,2769,5997,5998,2771,2772],[],[3280,19347],{"_2214":19348,"_2216":19349,"_2217":2227,"_2219":3280,"_2220":19350,"_2222":19351},"path-to-queue-node","-to-queue-node",[2752],[],[3099,19353],{"_2214":19354,"_2216":19355,"_2217":2227,"_2219":3099,"_2220":19356,"_2222":19357},"pattern","tern",[2667,2848],[19358],[2216,19359],{"_2214":19360,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19361,"_2222":19362},"patterns",[2797],[],[2222,19364],{"_2214":19365,"_2216":10197,"_2217":2227,"_2219":2222,"_2220":19366,"_2222":19367},"patch",[4597,6108,3629],[],[3640,19369],{"_2214":19370,"_2216":19371,"_2217":2227,"_2219":3640,"_2220":19372,"_2222":19373},"payload","yload",[4324],[],[4034,19375],{"_2214":19376,"_2216":17748,"_2217":2227,"_2219":4034,"_2220":19377,"_2222":19378},"paper",[3259,2433,2458,2467,2469,2485],[19379],[2216,19380],{"_2214":19381,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19382,"_2222":19383},"papers",[16235],[],[3825,19385],{"_2214":19386,"_2216":7204,"_2217":2227,"_2219":3825,"_2220":19387,"_2222":19388},"page",[3436,4031,6134,3835],[19389],[2216,19390],{"_2214":19391,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19392,"_2222":19393},"pages",[3436,2994],[],[2216,19395],{"_2214":19396,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":19397,"_2222":19398},"pas",[],[19399,19440],[2216,19400],{"_2214":19401,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19402,"_2222":19403},"pass",[2341,3374,2600,2688,6003,6004],[19404,19420,19435],[2214,19405],{"_2214":19406,"_2216":19407,"_2217":2227,"_2219":2214,"_2220":19408,"_2222":19409},"password","word",[2341,2351,2352,2353,2354,2607,2618,2619,2626,2632,7835,2633,7836,2694,2703,2708,2959],[19410,19415],[4034,19411],{"_2214":19412,"_2216":6363,"_2217":2227,"_2219":4034,"_2220":19413,"_2222":19414},"passwordpath",[2352,2354,7835,7836],[],[3280,19416],{"_2214":19417,"_2216":5222,"_2217":2227,"_2219":3280,"_2220":19418,"_2222":19419},"password-based",[2689],[],[2217,19421],{"_2214":19422,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":19423,"_2222":19424},"passe",[],[19425,19430],[2216,19426],{"_2214":19427,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19428,"_2222":19429},"passes",[2341,2583,2588,2600,2602,2687],[],[2220,19431],{"_2214":19432,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":19433,"_2222":19434},"passed",[2456,2687],[],[3002,19436],{"_2214":19437,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":19438,"_2222":19439},"passing",[3179,3519,2578],[],[3099,19441],{"_2214":19442,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":19443,"_2222":19444},"past",[2367],[],[3002,19446],{"_2214":19447,"_2216":8810,"_2217":2227,"_2219":3002,"_2220":19448,"_2222":19449},"pair",[2608,2703,2737,2900,2901],[19450,19455],[2216,19451],{"_2214":19452,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19453,"_2222":19454},"pairs",[3939,2608,3795,2686,2692,2704],[],[2214,19456],{"_2214":19457,"_2216":6253,"_2217":2227,"_2219":2214,"_2220":19458,"_2222":19459},"pairwise",[2928],[],[4309,19461],{"_2214":19462,"_2216":19463,"_2217":2227,"_2219":4309,"_2220":19464,"_2222":19465},"paxos","xos",[2655,2923],[],[2220,19467],{"_2214":19468,"_2216":19469,"_2217":2227,"_2219":2220,"_2220":19470,"_2222":19471},"padding","dding",[2669],[],[3691,19473],{"_2214":19474,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":19475,"_2222":19476},"pu",[],[19477,19518,19532,19575,19596],[3220,19478],{"_2214":19479,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":19480,"_2222":19481},"pur",[],[19482,19507],[3825,19483],{"_2214":19484,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":19485,"_2222":19486},"purg",[],[19487,19502],[2217,19488],{"_2214":4719,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":19489,"_2222":19490},[3418,2290],[19491,19497],[3099,19492],{"_2214":19493,"_2216":19494,"_2217":2227,"_2219":3099,"_2220":19495,"_2222":19496},"purgetxnlog","txnlog",[2233],[],[3002,19498],{"_2214":19499,"_2216":16944,"_2217":2227,"_2219":3002,"_2220":19500,"_2222":19501},"purgeinterval",[3081,2290],[],[3002,19503],{"_2214":19504,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":19505,"_2222":19506},"purging",[3081,2290],[],[4034,19508],{"_2214":19509,"_2216":19510,"_2217":2227,"_2219":4034,"_2220":19511,"_2222":19512},"purpose","pose",[2373,2580,2670],[19513],[2216,19514],{"_2214":19515,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19516,"_2222":19517},"purposes",[2272,3442,2399,2454],[],[3099,19519],{"_2214":6413,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":19520,"_2222":19521},[2276,2337,2406,3549,2678,2752,2899,2955],[19522,19527],[3099,19523],{"_2214":19524,"_2216":6425,"_2217":2227,"_2219":3099,"_2220":19525,"_2222":19526},"putting",[2243,2276,2635,2678],[],[2216,19528],{"_2214":19529,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19530,"_2222":19531},"puts",[2858],[],[3871,19533],{"_2214":19534,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":19535,"_2222":19536},"pub",[],[19537,19569],[3193,19538],{"_2214":19539,"_2216":19540,"_2217":2218,"_2219":3193,"_2220":19541,"_2222":19542},"publi","li",[],[19543,19553],[2222,19544],{"_2214":19545,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":19546,"_2222":19547},"public",[6049],[19548],[3193,19549],{"_2214":19550,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":19551,"_2222":19552},"publicly",[2245],[],[2216,19554],{"_2214":19555,"_2216":8589,"_2217":2227,"_2219":2216,"_2220":19556,"_2222":19557},"publish",[2835,9397,3921],[19558,19564],[3280,19559],{"_2214":19560,"_2216":19561,"_2217":2227,"_2219":3280,"_2220":19562,"_2222":19563},"publish-subscribe","-subscribe",[2518,2890],[],[3002,19565],{"_2214":19566,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":19567,"_2222":19568},"publishing",[3580],[],[3280,19570],{"_2214":19571,"_2216":19572,"_2217":2227,"_2219":3280,"_2220":19573,"_2222":19574},"pub-sub","-sub",[3389,3598],[],[3193,19576],{"_2214":19577,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":19578,"_2222":19579},"pul",[],[19580,19590],[3193,19581],{"_2214":19582,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":19583,"_2222":19584},"pull",[2381,2786,4336],[19585],[2216,19586],{"_2214":19587,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19588,"_2222":19589},"pulls",[2849],[],[2216,19591],{"_2214":19592,"_2216":19593,"_2217":2227,"_2219":2216,"_2220":19594,"_2222":19595},"pulsar","sar",[4384,3389,2840,4407],[],[2216,19597],{"_2214":19598,"_2216":19599,"_2217":2227,"_2219":2216,"_2220":19600,"_2222":19601},"pushed","shed",[2443],[],[3017,19603],{"_2214":19604,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":19605,"_2222":19606},"po",[],[19607,19624,19645,19666,19718,19743,19755,19771,19777],[3193,19608],{"_2214":19609,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":19610,"_2222":19611},"pol",[],[19612,19618],[3002,19613],{"_2214":19614,"_2216":19615,"_2217":2227,"_2219":3002,"_2220":19616,"_2222":19617},"policy","icy",[2233,2382,3163],[],[3193,19619],{"_2214":19620,"_2216":19621,"_2217":2227,"_2219":3193,"_2220":19622,"_2222":19623},"polling","ling",[2740,6265],[],[3220,19625],{"_2214":6707,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":19626,"_2222":19628},[6071,2238,2241,2247,2248,2255,5393,2261,3104,3154,3415,5538,3930,3178,2284,2329,3434,3932,2357,2365,2985,2988,2378,2394,13342,2434,2435,2446,2448,6248,2470,2472,4596,7547,19627,2513,2514,2515,3216,2620,5994,3542,3795,2692,2704,7558,2950],814,[19629,19634,19640],[2216,19630],{"_2214":19631,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19632,"_2222":19633},"ports",[2329,3480,2430,2431,2448,2465,2472,3499,2814,2951,3633],[],[3691,19635],{"_2214":19636,"_2216":19637,"_2217":2227,"_2219":3691,"_2220":19638,"_2222":19639},"portunification","unification",[3932,2984,2985],[],[2225,19641],{"_2214":19642,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":19643,"_2222":19644},"portal",[18004,2847],[],[3002,19646],{"_2214":19647,"_2216":16818,"_2217":2227,"_2219":3002,"_2220":19648,"_2222":19649},"point",[2241,2255,2279,2366,2393,2518,2579,3529,2670,2671,2691,2697,2720,2858,2924],[19650,19655,19660],[2217,19651],{"_2214":19652,"_2216":10861,"_2217":2227,"_2219":2217,"_2220":19653,"_2222":19654},"pointers",[2667],[],[2216,19656],{"_2214":19657,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19658,"_2222":19659},"points",[2718,2741,2805,2946],[],[3280,19661],{"_2214":19662,"_2216":19663,"_2217":2227,"_2219":3280,"_2220":19664,"_2222":19665},"point-to-point","-to-point",[4025],[],[2216,19667],{"_2214":19668,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":19669,"_2222":19670},"pos",[],[19671,19687,19713],[2216,19672],{"_2214":19673,"_2216":19674,"_2217":2218,"_2219":2216,"_2220":19675,"_2222":19676},"possib","sib",[],[19677,19682],[3193,19678],{"_2214":19679,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":19680,"_2222":19681},"possible",[2252,3773,2320,2330,2331,2382,2436,2437,2439,2450,2466,4944,2525,3542,3377,2691,3383,3805,6640,12092],[],[3002,19683],{"_2214":19684,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":19685,"_2222":19686},"possibility",[2316],[],[3002,19688],{"_2214":19689,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":19690,"_2222":19691},"posi",[],[19692,19707],[3099,19693],{"_2214":19694,"_2216":3902,"_2217":2218,"_2219":3099,"_2220":19695,"_2222":19696},"positi",[],[19697,19702],[3066,19698],{"_2214":19699,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":19700,"_2222":19701},"positive",[2288,2290,2302,2303,2304,2305,2373,6821,8464],[],[3017,19703],{"_2214":19704,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":19705,"_2222":19706},"position",[3635],[],[4309,19708],{"_2214":19709,"_2216":19710,"_2217":2227,"_2219":4309,"_2220":19711,"_2222":19712},"posix-style","x-style",[3539],[],[3099,19714],{"_2214":19715,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":19716,"_2222":19717},"post",[3714],[],[4034,19719],{"_2214":19720,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":19721,"_2222":19722},"pop",[],[19723,19738],[3691,19724],{"_2214":19725,"_2216":7649,"_2217":2218,"_2219":3691,"_2220":19726,"_2222":19727},"popula",[],[19728,19733],[3220,19729],{"_2214":19730,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":19731,"_2222":19732},"popular",[2288,4392],[],[3099,19734],{"_2214":19735,"_2216":5151,"_2217":2227,"_2219":3099,"_2220":19736,"_2222":19737},"populate",[2396],[],[11313,19739],{"_2214":19740,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":19741,"_2222":19742},"pop3",[2834],[],[3099,19744],{"_2214":19745,"_2216":19746,"_2217":2227,"_2219":3099,"_2220":19747,"_2222":19748},"potential","tential",[5477],[19749],[3193,19750],{"_2214":19751,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":19752,"_2222":19754},"potentially",[2322,3362,2367,19753],1919,[],[2214,19756],{"_2214":19757,"_2216":19758,"_2217":2227,"_2219":2214,"_2220":19759,"_2222":19760},"power","wer",[2404,2894,2901],[19761],[2217,19762],{"_2214":19763,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":19764,"_2222":19765},"powered",[2538,4411],[19766],[3871,19767],{"_2214":19768,"_2216":8794,"_2217":2227,"_2219":3871,"_2220":19769,"_2222":19770},"poweredby",[4393],[],[2220,19772],{"_2214":19773,"_2216":19774,"_2217":2227,"_2219":2220,"_2220":19775,"_2222":19776},"podc","dc",[3510],[],[2972,19778],{"_2214":19779,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":19780,"_2222":19781},"pom",[11287],[],[3002,19783],{"_2214":19784,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":19785,"_2222":19786},"pi",[],[19787,19793,19825,19835],[3099,19788],{"_2214":19789,"_2216":19790,"_2217":2227,"_2219":3099,"_2220":19791,"_2222":19792},"pitfalls","tfalls",[3401,3551,3799],[],[3207,19794],{"_2214":19795,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":19796,"_2222":19797},"pin",[],[19798,19813],[3825,19799],{"_2214":19800,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":19801,"_2222":19802},"ping",[8860,8861,8206,8207,2323,3509,2575,2699],[19803,19808],[2216,19804],{"_2214":19805,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19806,"_2222":19807},"pings",[2323,3557,2821],[],[3002,19809],{"_2214":19810,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":19811,"_2222":19812},"pinging",[3509],[],[3099,19814],{"_2214":19815,"_2216":12714,"_2217":2227,"_2219":3099,"_2220":19816,"_2222":19818},"pinterest",[19817,2848],1615,[19819],[4794,19820],{"_2214":19821,"_2216":19822,"_2217":2227,"_2219":4794,"_2220":19823,"_2222":19824},"pinterest_engineering","_engineering",[12594],[],[4034,19826],{"_2214":19827,"_2216":18938,"_2217":2227,"_2219":4034,"_2220":19828,"_2222":19829},"pipe",[2330,2436],[19830],[3193,19831],{"_2214":19832,"_2216":6144,"_2217":2227,"_2219":3193,"_2220":19833,"_2222":19834},"pipeline",[2310,3090,2321,3455,2514],[],[2222,19836],{"_2214":19837,"_2216":13506,"_2217":2227,"_2219":2222,"_2220":19838,"_2222":19839},"pick",[2635,2692],[19840,19845],[2216,19841],{"_2214":19842,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19843,"_2222":19844},"picks",[2706],[],[3002,19846],{"_2214":19847,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":19848,"_2222":19849},"picking",[2751],[],[3193,19851],{"_2214":19852,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":19853,"_2222":19854},"pl",[],[19855,19920,19926],[2225,19856],{"_2214":19857,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":19858,"_2222":19859},"pla",[],[19860,19880,19892,19898,19904],[2222,19861],{"_2214":19862,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":19863,"_2222":19864},"place",[2368,2380,2744],[19865,19870,19875],[2972,19866],{"_2214":19867,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":19868,"_2222":19869},"placement",[3401,2243],[],[2220,19871],{"_2214":19872,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":19873,"_2222":19874},"placed",[2275,2642],[],[2216,19876],{"_2214":19877,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19878,"_2222":19879},"places",[2378],[],[3099,19881],{"_2214":19882,"_2216":19883,"_2217":2227,"_2219":3099,"_2220":19884,"_2222":19885},"platform","tform",[3254,2789,2790,2832,4392,7555],[19886],[2216,19887],{"_2214":19888,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19889,"_2222":19891},"platforms",[3263,3462,19890,2385,5798,3646,2638],459,[],[3002,19893],{"_2214":19894,"_2216":19895,"_2217":2227,"_2219":3002,"_2220":19896,"_2222":19897},"plaintext","intext",[3930,2341,2434],[],[3640,19899],{"_2214":19900,"_2216":19901,"_2217":2227,"_2219":3640,"_2220":19902,"_2222":19903},"plays","ys",[2805],[],[3207,19905],{"_2214":19906,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":19907,"_2222":19908},"plan",[],[19909,19914],[2217,19910],{"_2214":19911,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":19912,"_2222":19913},"plane",[4131],[],[3207,19915],{"_2214":19916,"_2216":19917,"_2217":2227,"_2219":3207,"_2220":19918,"_2222":19919},"planned","ned",[3038],[],[2217,19921],{"_2214":19922,"_2216":19923,"_2217":2227,"_2219":2217,"_2220":19924,"_2222":19925},"please","ease",[3055,3412,2272,2283,2320,3433,3362,2356,3140,2994,2786,2932,6458,2952],[],[3691,19927],{"_2214":19928,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":19929,"_2222":19930},"plu",[],[19931,19977],[3825,19932],{"_2214":19933,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":19934,"_2222":19935},"plug",[],[19936,19942,19962,19972],[2216,19937],{"_2214":19938,"_2216":19939,"_2217":2227,"_2219":2216,"_2220":19940,"_2222":19941},"plugs-in","s-in",[3930],[],[3825,19943],{"_2214":19944,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":19945,"_2222":19946},"plugg",[],[19947,19952,19957],[2217,19948],{"_2214":19949,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":19950,"_2222":19951},"plugged",[3780],[],[2225,19953],{"_2214":19954,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":19955,"_2222":19956},"pluggable",[3486,2607,4850,2684,2685,3189],[],[3002,19958],{"_2214":19959,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":19960,"_2222":19961},"plugging",[2515],[],[3002,19963],{"_2214":19964,"_2216":7485,"_2217":2227,"_2219":3002,"_2220":19965,"_2222":19966},"plugin",[2503,2686,3381,2687,2688,3271,3188,4334,6819],[19967],[2216,19968],{"_2214":19969,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19970,"_2222":19971},"plugins",[2684,3188,3800],[],[3280,19973],{"_2214":19974,"_2216":5958,"_2217":2227,"_2219":3280,"_2220":19975,"_2222":19976},"plug-in",[2518],[],[2216,19978],{"_2214":19979,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19980,"_2222":19981},"plus",[2460,2461],[],[3322,19983],{"_2214":7079,"_2216":3322,"_2217":2218,"_2219":3322,"_2220":19984,"_2222":19985},[],[19986,19997,20003],[2225,19987],{"_2214":19988,"_2216":19989,"_2217":2227,"_2219":2225,"_2220":19990,"_2222":19991},"phase","ase",[2270,2902,2903,2923],[19992],[2216,19993],{"_2214":19994,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":19995,"_2222":19996},"phases",[2270,6106],[],[3640,19998],{"_2214":19999,"_2216":20000,"_2217":2227,"_2219":3640,"_2220":20001,"_2222":20002},"physical","ysical",[2330,2356,2357,2365,2394,2436,2679,3588,2952],[],[3017,20004],{"_2214":20005,"_2216":20006,"_2217":2227,"_2219":3017,"_2220":20007,"_2222":20008},"photo","oto",[3597],[],[2220,20010],{"_2214":20011,"_2216":20012,"_2217":2227,"_2219":2220,"_2220":20013,"_2222":20014},"pdf","df",[16235,2433],[],[2219,20016],{"_2214":20017,"_2216":20018,"_2217":2218,"_2219":2219,"_2220":20019,"_2222":20020},"pkcs1","kcs1",[],[20021,20026],[5968,20022],{"_2214":20023,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":20024,"_2222":20025},"pkcs12",[3260,3261,3268],[],[6884,20027],{"_2214":20028,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":20029,"_2222":20030},"pkcs11",[3363],[],[5908,20032],{"_2214":20033,"_2216":13138,"_2217":2227,"_2219":5908,"_2220":20034,"_2222":20035},"pzxid",[6094],[],[2216,20037],{"_2214":20038,"_2216":20039,"_2217":2227,"_2219":2216,"_2220":20040,"_2222":20041},"pseudo","seudo",[2744,2747,15256],[20042],[3280,20043],{"_2214":20044,"_2216":8497,"_2217":2227,"_2219":3280,"_2220":20045,"_2222":20046},"pseudo-level",[3554],[],[3640,20048],{"_2214":13107,"_2216":20049,"_2217":2227,"_2219":3640,"_2220":20050,"_2222":20051},"ython",[11285],[],[2972,20053],{"_2214":2972,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":20054,"_2222":20055},[2290,2891,2895,3609],[20056,20662,20875,21117,21234,21434,21445,21451,21489,21509,21515,21521,21526,21531],[2225,20057],{"_2214":4725,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":20058,"_2222":20059},[],[20060,20118,20123,20134,20227,20263,20295,20475,20534,20582,20597,20623,20639,20656],[3002,20061],{"_2214":20062,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":20063,"_2222":20064},"mai",[],[20065,20107],[3207,20066],{"_2214":20067,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":20068,"_2222":20069},"main",[6072,3455,6052,2458,2463,3367,2477,3374,3529,2626,2664,2686,7419],[20070,20102],[3099,20071],{"_2214":20072,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":20073,"_2222":20074},"maint",[],[20075,20082],[2217,20076],{"_2214":20077,"_2216":20078,"_2217":2227,"_2219":2217,"_2220":20079,"_2222":20081},"maintenance","enance",[2229,20080,2230,2382,2390,2627,2637,3557,2856,3615],3,[],[2225,20083],{"_2214":20084,"_2216":5669,"_2217":2227,"_2219":2225,"_2220":20085,"_2222":20086},"maintain",[2291,3477,2514,3370,6084,5514,2662,2722,2827,2836,2860,2865,2894,2923],[20087,20092,20097],[2216,20088],{"_2214":20089,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20090,"_2222":20091},"maintains",[3358,3374,6976,2810,2818,2837,2861],[],[3002,20093],{"_2214":20094,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":20095,"_2222":20096},"maintaining",[3455,2430,2627,2721],[],[2217,20098],{"_2214":20099,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":20100,"_2222":20101},"maintained",[2515,6353,2669,2709,2722,3803],[],[3193,20103],{"_2214":20104,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":20105,"_2222":20106},"mainly",[3272],[],[3193,20108],{"_2214":20109,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":20110,"_2222":20111},"mail",[2834],[20112],[3871,20113],{"_2214":20114,"_2216":20115,"_2217":2227,"_2219":3871,"_2220":20116,"_2222":20117},"mailbox","box",[4379,2834],[],[2220,20119],{"_2214":20120,"_2216":10789,"_2217":2227,"_2219":2220,"_2220":20121,"_2222":20122},"made",[2231,2284,2325,2363,2366,2443,2608,3541,2628,6091,2676,2706,2836,2888],[],[3640,20124],{"_2214":20125,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":20126,"_2222":20127},"may",[2231,2232,2236,2249,2250,3254,2256,3408,3928,2268,2269,2283,2285,2305,2306,2309,3432,3433,2340,2345,2368,2379,3646,2390,2444,2447,2448,3649,2456,2458,2463,3366,2476,2480,2483,2484,2510,2511,2517,2565,2626,2629,3377,2658,2686,2693,2704,2720,2721,2722,2736,2741,2784,2817,2819,3805,2926,2957,3626,10337],[20128],[3871,20129],{"_2214":20130,"_2216":20131,"_2217":2227,"_2219":3871,"_2220":20132,"_2222":20133},"maybe","be",[2629,2889],[],[3207,20135],{"_2214":20136,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":20137,"_2222":20138},"man",[],[20139,20178,20188,20193,20210,20215,20221],[2225,20140],{"_2214":20141,"_2216":5647,"_2217":2218,"_2219":2225,"_2220":20142,"_2222":20143},"manag",[],[20144,20149],[3002,20145],{"_2214":20146,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":20147,"_2222":20148},"managing",[2232,2237,2398,2407,2831,2848,2890,11282],[],[2217,20150],{"_2214":20151,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":20152,"_2222":20153},"manage",[2491,3493,3179,11270,2839,2845],[20154,20159,20163,20168,20173],[2216,20155],{"_2214":20156,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20157,"_2222":20158},"manages",[2236,3459,2667,2820,2890],[],[3220,20160],{"_2214":4686,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":20161,"_2222":20162},[3255,3256,3257,3258,2358,3954],[],[2220,20164],{"_2214":20165,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":20166,"_2222":20167},"managed",[2327,2697,3615],[],[2972,20169],{"_2214":20170,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":20171,"_2222":20172},"management",[7829,7830,2398,2489,3492,2492,3515,2788,2791,3575,3576,3802,3582,3583,2822,2824,2826,2846,7021,2851,2852,2853,2854],[],[2225,20174],{"_2214":20175,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":20176,"_2222":20177},"manageable",[2492],[],[3691,20179],{"_2214":20180,"_2216":3694,"_2217":2227,"_2219":3691,"_2220":20181,"_2222":20182},"manual",[2236,5388,2432,3518,2647,2823,4597],[20183],[3193,20184],{"_2214":20185,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":20186,"_2222":20187},"manually",[2429,2443,3487],[],[3640,20189],{"_2214":20190,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":20191,"_2222":20192},"many",[2246,3198,3256,3212,3775,2320,2363,2371,2515,2594,2741,3385,2815,2846,2848,3390,2890,2908,6659],[],[3002,20194],{"_2214":20195,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":20196,"_2222":20197},"mani",[],[20198,20204],[4034,20199],{"_2214":20200,"_2216":20201,"_2217":2227,"_2219":4034,"_2220":20202,"_2222":20203},"manipulating","pulating",[3487],[],[3085,20205],{"_2214":20206,"_2216":20207,"_2217":2227,"_2219":3085,"_2220":20208,"_2222":20209},"manifests","fests",[3577],[],[3207,20211],{"_2214":20212,"_2216":7210,"_2217":2227,"_2219":3207,"_2220":20213,"_2222":20214},"manner",[2668,2787,2802],[],[2220,20216],{"_2214":20217,"_2216":20218,"_2217":2227,"_2219":2220,"_2220":20219,"_2222":20220},"mandatory","datory",[2696,4851],[],[3322,20222],{"_2214":20223,"_2216":20224,"_2217":2227,"_2219":3322,"_2220":20225,"_2222":20226},"manhattan","hattan",[3597],[],[2222,20228],{"_2214":20229,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":20230,"_2222":20231},"mac",[6864],[20232,20253,20258],[3322,20233],{"_2214":20234,"_2216":20235,"_2217":2227,"_2219":3322,"_2220":20236,"_2222":20237},"machine","hine",[2244,2272,2278,2328,2329,2365,2369,2381,8834,8835,2388,2392,2394,2399,2401,3027,2404,2526,2557,2571,2663,2679,2798,2799,2818,2951,2952],[20238,20242,20247],[2216,20239],{"_2214":15717,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20240,"_2222":20241},[2234,2281,2282,3365,2388,3476,2402,2404,2663,2773,2817,2818,2820,3588,3603,2888,2946,2952,2953],[],[3030,20243],{"_2214":20244,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":20245,"_2222":20246},"machine's",[2395],[],[3220,20248],{"_2214":20249,"_2216":20250,"_2217":2227,"_2219":3220,"_2220":20251,"_2222":20252},"machinery","ry",[3510],[],[3017,20254],{"_2214":20255,"_2216":6862,"_2217":2227,"_2219":3017,"_2220":20256,"_2222":20257},"macos",[2365,2539],[],[2216,20259],{"_2214":20260,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20261,"_2222":20262},"macs",[6302],[],[2219,20264],{"_2214":20265,"_2216":2219,"_2217":2218,"_2219":2219,"_2220":20266,"_2222":20267},"mak",[],[20268,20283,20288],[2217,20269],{"_2214":20270,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":20271,"_2222":20272},"make",[2238,2244,2274,2279,2285,2292,2329,2331,3155,3452,3454,3779,2392,2404,2406,2440,2460,2471,3783,2526,2575,2576,3541,3543,2642,2648,2658,2663,2676,2691,2754,2767,2768,10844,2816,2823,2860,2864,6103,2884,2894,2900,2904,4113],[20273,20278],[2216,20274],{"_2214":20275,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20276,"_2222":20277},"makes",[2243,2484,2509,2624,2629,2693,2843],[],[3085,20279],{"_2214":20280,"_2216":7825,"_2217":2227,"_2219":3085,"_2220":20281,"_2222":20282},"makefile",[3794],[],[3002,20284],{"_2214":20285,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":20286,"_2222":20287},"making",[2329,2485,4896,2794,2902],[],[2225,20289],{"_2214":20290,"_2216":20291,"_2217":2227,"_2219":2225,"_2220":20292,"_2222":20294},"makara","ara",[20293],1613,[],[4309,20296],{"_2214":20297,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":20298,"_2222":20299},"max",[7537,2244,3775,3434,2370,2371,2679],[20300,20306,20352,20358,20394,20411,20417,20434,20451,20457,20463,20469],[5252,20301],{"_2214":20302,"_2216":20303,"_2217":2227,"_2219":5252,"_2220":20304,"_2222":20305},"maxqueuesize","queuesize",[7537],[],[2222,20307],{"_2214":20308,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":20309,"_2222":20310},"maxc",[],[20311,20317,20323],[3207,20312],{"_2214":20313,"_2216":20314,"_2217":2227,"_2219":3207,"_2220":20315,"_2222":20316},"maxcnxns","nxns",[2284],[],[3193,20318],{"_2214":20319,"_2216":20320,"_2217":2227,"_2219":3193,"_2220":20321,"_2222":20322},"maxclientcnxns","lientcnxns",[2285],[],[3017,20324],{"_2214":20325,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":20326,"_2222":20327},"maxco",[],[20328,20346],[3207,20329],{"_2214":20330,"_2216":20331,"_2217":2218,"_2219":3207,"_2220":20332,"_2222":20333},"maxconcurrent","ncurrent",[],[20334,20340],[2216,20335],{"_2214":20336,"_2216":20337,"_2217":2227,"_2219":2216,"_2220":20338,"_2222":20339},"maxconcurrentsnapsyncs","snapsyncs",[2313],[],[2220,20341],{"_2214":20342,"_2216":20343,"_2217":2227,"_2219":2220,"_2220":20344,"_2222":20345},"maxconcurrentdiffsyncs","diffsyncs",[2314],[],[2972,20347],{"_2214":20348,"_2216":20349,"_2217":2227,"_2219":2972,"_2220":20350,"_2222":20351},"maxcommitbatchsize","mmitbatchsize",[2371],[],[2216,20353],{"_2214":20354,"_2216":20355,"_2217":2227,"_2219":2216,"_2220":20356,"_2222":20357},"maxsessiontimeout","sessiontimeout",[4487],[],[3002,20359],{"_2214":20360,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":20361,"_2222":20362},"maxi",[],[20363,20388],[2972,20364],{"_2214":20365,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":20366,"_2222":20367},"maxim",[],[20368,20373],[3691,20369],{"_2214":20370,"_2216":18002,"_2217":2227,"_2219":3691,"_2220":20371,"_2222":20372},"maximum",[4487,2291,2293,2294,2295,2309,2313,2314,2318,3775,2326,2357,2361,3457,2372,2373,2374,2390,2392,2406,2505,2634,2695],[],[3002,20374],{"_2214":20375,"_2216":15586,"_2217":2218,"_2219":3002,"_2220":20376,"_2222":20377},"maximiz",[],[20378,20383],[3002,20379],{"_2214":20380,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":20381,"_2222":20382},"maximizing",[2369],[],[2217,20384],{"_2214":20385,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":20386,"_2222":20387},"maximize",[3027],[],[3207,20389],{"_2214":20390,"_2216":20391,"_2217":2227,"_2219":3207,"_2220":20392,"_2222":20393},"maxinprocessingdeadwatchers","nprocessingdeadwatchers",[3212],[],[3220,20395],{"_2214":20396,"_2216":3750,"_2217":2218,"_2219":3220,"_2220":20397,"_2222":20398},"maxre",[],[20399,20405],[2216,20400],{"_2214":20401,"_2216":20402,"_2217":2227,"_2219":2216,"_2220":20403,"_2222":20404},"maxresponsecachesize","sponsecachesize",[2288,2289],[],[2225,20406],{"_2214":20407,"_2216":20408,"_2217":2227,"_2219":2225,"_2220":20409,"_2222":20410},"maxreadbatchsize","adbatchsize",[2370],[],[3825,20412],{"_2214":20413,"_2216":20414,"_2217":2227,"_2219":3825,"_2220":20415,"_2222":20416},"maxgetchildrenresponsecachesize","getchildrenresponsecachesize",[2289],[],[3207,20418],{"_2214":20419,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":20420,"_2222":20421},"maxn",[],[20422,20428],[3017,20423],{"_2214":20424,"_2216":20425,"_2217":2227,"_2219":3017,"_2220":20426,"_2222":20427},"maxnotificationinterval","otificationinterval",[2293,2294],[],[2217,20429],{"_2214":20430,"_2216":20431,"_2217":2227,"_2219":2217,"_2220":20432,"_2222":20433},"maxneverusedintervalms","everusedintervalms",[2372],[],[3871,20435],{"_2214":20436,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":20437,"_2222":20438},"maxb",[],[20439,20445],[2225,20440],{"_2214":20441,"_2216":20442,"_2217":2227,"_2219":2225,"_2220":20443,"_2222":20444},"maxbatchsize","atchsize",[2306,2307],[],[3691,20446],{"_2214":20447,"_2216":20448,"_2217":2227,"_2219":3691,"_2220":20449,"_2222":20450},"maxbuffer","uffer",[18307,7038,6077,2363,2634,3395],[],[2214,20452],{"_2214":20453,"_2216":20454,"_2217":2227,"_2219":2214,"_2220":20455,"_2222":20456},"maxwritequeuepolltime","writequeuepolltime",[3772],[],[3099,20458],{"_2214":20459,"_2216":20460,"_2217":2227,"_2219":3099,"_2220":20461,"_2222":20462},"maxtimetowaitforepoch","timetowaitforepoch",[2326],[],[4034,20464],{"_2214":20465,"_2216":20466,"_2217":2227,"_2219":4034,"_2220":20467,"_2222":20468},"maxperminute","perminute",[3457],[],[4794,20470],{"_2214":20471,"_2216":20472,"_2217":2227,"_2219":4794,"_2220":20473,"_2222":20474},"max_realpath_len","_realpath_len",[5187],[],[3099,20476],{"_2214":20477,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":20478,"_2222":20479},"mat",[],[20480,20511,20521,20528],[2222,20481],{"_2214":20482,"_2216":10197,"_2217":2227,"_2219":2222,"_2220":20483,"_2222":20484},"match",[2242,2272,2274,2329,2370,2501,2564,2618,2662,2677,2684,2686,3271,6801],[20485,20490,20505],[3002,20486],{"_2214":20487,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":20488,"_2222":20489},"matching",[2370,2371,3271],[],[2217,20491],{"_2214":20492,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":20493,"_2222":20494},"matche",[],[20495,20500],[2220,20496],{"_2214":20497,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":20498,"_2222":20499},"matched",[3224],[],[2216,20501],{"_2214":20502,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20503,"_2222":20504},"matches",[2687,3271,3190],[],[3066,20506],{"_2214":20507,"_2216":20508,"_2217":2227,"_2219":3066,"_2220":20509,"_2222":20510},"matchvalues","values",[3190],[],[3099,20512],{"_2214":20513,"_2216":5474,"_2217":2227,"_2219":3099,"_2220":20514,"_2222":20515},"matter",[4461,2456],[20516],[2216,20517],{"_2214":20518,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20519,"_2222":20520},"matters",[2339],[],[3220,20522],{"_2214":20523,"_2216":20524,"_2217":2227,"_2219":3220,"_2220":20525,"_2222":20527},"matrix","rix",[20526,5798,3646],460,[],[2217,20529],{"_2214":20530,"_2216":20531,"_2217":2227,"_2219":2217,"_2220":20532,"_2222":20533},"material","erial",[3552],[],[2216,20535],{"_2214":20536,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":20537,"_2222":20538},"mas",[],[20539,20550,20571],[2219,20540],{"_2214":20541,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":20542,"_2222":20544},"mask",[2252,2253,20543,2254,6075,2262],79,[20545],[2217,20546],{"_2214":20547,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":20548,"_2222":20549},"masked",[2616,2622],[],[3099,20551],{"_2214":6701,"_2216":5474,"_2217":2227,"_2219":3099,"_2220":20552,"_2222":20553},[2266,4488,3452,3575,2803,2824,2838,3592],[20554,20565],[2216,20555],{"_2214":20556,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20557,"_2222":20558},"masters",[6682,2814,2838,3592],[20559],[3322,20560],{"_2214":20561,"_2216":20562,"_2217":2227,"_2219":3322,"_2220":20563,"_2222":20564},"mastership","hip",[2541,5065,2543,2545,2547],[],[3280,20566],{"_2214":20567,"_2216":20568,"_2217":2227,"_2219":3280,"_2220":20569,"_2222":20570},"master-failover","-failover",[2825],[],[2216,20572],{"_2214":20573,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20574,"_2222":20575},"mass",[2486],[20576],[3002,20577],{"_2214":20578,"_2216":20579,"_2217":2227,"_2219":3002,"_2220":20580,"_2222":20581},"massive-scale","ive-scale",[3715],[],[4034,20583],{"_2214":20584,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":20585,"_2222":20586},"map",[2267,2268,2269],[20587,20592],[2216,20588],{"_2214":20589,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20590,"_2222":20591},"maps",[3408],[],[3220,20593],{"_2214":20594,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":20595,"_2222":20596},"mapr",[4427],[],[3220,20598],{"_2214":20599,"_2216":20600,"_2217":2227,"_2219":3220,"_2220":20601,"_2222":20602},"mark","rk",[2821,4159],[20603],[2217,20604],{"_2214":20605,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":20606,"_2222":20607},"marke",[],[20608,20618],[2220,20609],{"_2214":20610,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":20611,"_2222":20612},"marked",[2321,2885],[20613],[3193,20614],{"_2214":20615,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":20616,"_2222":20617},"markedly",[3478],[],[3220,20619],{"_2214":20620,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":20621,"_2222":20622},"marker",[2396],[],[3304,20624],{"_2214":20625,"_2216":20626,"_2217":2218,"_2219":3304,"_2220":20627,"_2222":20628},"majorit","jorit",[],[20629,20634],[3640,20630],{"_2214":20631,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":20632,"_2222":20633},"majority",[2326,2388,2401,2402,2459,2466,2473,2476,2481,3783,2484,2522,2576,2676,2860,2927,2929,2930,2946],[],[3002,20635],{"_2214":20636,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":20637,"_2222":20638},"majorities",[2928],[],[3193,20640],{"_2214":20641,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":20642,"_2222":20643},"mal",[],[20644,20650],[2219,20645],{"_2214":20646,"_2216":20647,"_2217":2227,"_2219":2219,"_2220":20648,"_2222":20649},"malkhi","khi",[2433],[],[3002,20651],{"_2214":20652,"_2216":20653,"_2217":2227,"_2219":3002,"_2220":20654,"_2222":20655},"malicious","icious",[2440,2450],[],[3066,20657],{"_2214":20658,"_2216":20659,"_2217":2227,"_2219":3066,"_2220":20660,"_2222":20661},"maven","ven",[3521,2571],[],[3017,20663],{"_2214":20664,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":20665,"_2222":20666},"mo",[],[20667,20716,20726,20735,20776,20847,20858,20864,20870],[3207,20668],{"_2214":20669,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":20670,"_2222":20671},"mon",[],[20672,20694,20710],[3002,20673],{"_2214":20674,"_2216":20675,"_2217":2227,"_2219":3002,"_2220":20676,"_2222":20677},"monitor","itor",[2260,3493,4935,3496,2821],[20678,20684,20689],[3002,20679],{"_2214":20680,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":20681,"_2222":20683},"monitoring",[2229,20682,2251,2260,2407,2489,2492,2573,2821,3596],7,[],[2217,20685],{"_2214":20686,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":20687,"_2222":20688},"monitored",[6027],[],[2216,20690],{"_2214":20691,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20692,"_2222":20693},"monitors",[3374,2820],[],[3017,20695],{"_2214":20696,"_2216":20697,"_2217":2227,"_2219":3017,"_2220":20698,"_2222":20699},"monotonic","otonic",[2752],[20700,20705],[3002,20701],{"_2214":20702,"_2216":5592,"_2217":2227,"_2219":3002,"_2220":20703,"_2222":20704},"monotonicity",[2655],[],[2225,20706],{"_2214":20707,"_2216":4743,"_2217":2227,"_2219":2225,"_2220":20708,"_2222":20709},"monotonically",[2669],[],[3099,20711],{"_2214":20712,"_2216":20713,"_2217":2227,"_2219":3099,"_2220":20714,"_2222":20715},"monterey","terey",[2854],[],[3220,20717],{"_2214":20718,"_2216":3750,"_2217":2227,"_2219":3220,"_2220":20719,"_2222":20720},"more",[3081,5388,5389,3401,2243,2244,3402,6075,2262,2275,2280,3417,2283,3256,2300,2308,2316,3774,4360,3360,3432,3433,4652,2360,3452,2363,5511,2371,2382,7770,2390,3477,2406,2432,2437,2439,4497,3485,3486,2458,3489,2460,2461,2462,2463,2473,2484,3214,3494,3495,3497,2509,2557,7551,3714,2585,3529,2604,2615,2634,3204,2658,2665,2667,3556,2714,2721,2741,2773,2791,3590,3591,2853,3603,2869,2889,3605,2928,2932,2937,3615,7559,2943,2950,3395],[20721],[3017,20722],{"_2214":20723,"_2216":6499,"_2217":2227,"_2219":3017,"_2220":20724,"_2222":20725},"moreover",[4472],[],[2216,20727],{"_2214":4692,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":20728,"_2222":20729},[2243,2283,3418,3155,2363,2404,9555,3487,2468,3782,3945,3224,2637,2678,3552,3383,2836,2898,7557,6458],[20730],[3193,20731],{"_2214":20732,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":20733,"_2222":20734},"mostly",[3532],[],[3066,20736],{"_2214":20737,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":20738,"_2222":20739},"mov",[],[20740,20745],[3002,20741],{"_2214":20742,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":20743,"_2222":20744},"moving",[3055,2815],[],[2217,20746],{"_2214":20747,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":20748,"_2222":20749},"move",[2275,2531,2537,2538,3509,2539,2562,18619,2667,2691,3556,2705,2708],[20750,20755,20760],[2216,20751],{"_2214":20752,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20753,"_2222":20754},"moves",[2324,2705,2706],[],[2220,20756],{"_2214":20757,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":20758,"_2222":20759},"moved",[3485,2703,3038],[],[3280,20761],{"_2214":20762,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":20763,"_2222":20764},"move-",[],[20765,20770],[3691,20766],{"_2214":20767,"_2216":7019,"_2217":2227,"_2219":3691,"_2220":20768,"_2222":20769},"move-up",[2551],[],[2220,20771],{"_2214":20772,"_2216":20773,"_2217":2227,"_2219":2220,"_2220":20774,"_2222":20775},"move-down","down",[2551],[],[2220,20777],{"_2214":20778,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":20779,"_2222":20780},"mod",[],[20781,20802,20837],[2217,20782],{"_2214":10097,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":20783,"_2222":20785},[6260,2258,3409,3930,3178,2335,2337,3155,6300,2360,2400,16666,20784,2437,4497,3488,2458,3489,2465,2466,3213,4327,2474,4328,2478,3490,2483,16872,2563,2564,3161,3652,2705,2706,2738,2814,2838,3592,2934,6458,2944,2945,2947,4827,4598,8053],628,[20786,20797],[3193,20787],{"_2214":20788,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":20789,"_2222":20791},"model",[3455,20790,3552,2797,2805,2815,3387,3014,3599,2856],1290,[20792],[2216,20793],{"_2214":20794,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20795,"_2222":20796},"models",[2817],[],[2216,20798],{"_2214":20799,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20800,"_2222":20801},"modes",[3488,2465,6002],[],[3002,20803],{"_2214":20804,"_2216":17877,"_2217":2218,"_2219":3002,"_2220":20805,"_2222":20806},"modif",[],[20807,20817],[3640,20808],{"_2214":20809,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":20810,"_2222":20811},"modify",[7827,2505],[20812],[3002,20813],{"_2214":20814,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":20815,"_2222":20816},"modifying",[13760,2465,10844],[],[3002,20818],{"_2214":20819,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":20820,"_2222":20821},"modifi",[],[20822,20827],[2217,20823],{"_2214":20824,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":20825,"_2222":20826},"modified",[3488,2465,6248,2470,2671,6093,6094,8211],[],[2222,20828],{"_2214":20829,"_2216":17427,"_2217":2227,"_2219":2222,"_2220":20830,"_2222":20831},"modification",[3549],[20832],[2216,20833],{"_2214":20834,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20835,"_2222":20836},"modifications",[2579,10844],[],[3691,20838],{"_2214":20839,"_2216":6537,"_2217":2227,"_2219":3691,"_2220":20840,"_2222":20841},"module",[11285],[20842],[2216,20843],{"_2214":20844,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20845,"_2222":20846},"modules",[3577],[],[2972,20848],{"_2214":20849,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":20850,"_2222":20851},"moment",[2837],[20852],[2225,20853],{"_2214":20854,"_2216":20855,"_2217":2227,"_2219":2225,"_2220":20856,"_2222":20857},"momentarily","arily",[2443],[],[3691,20859],{"_2214":20860,"_2216":20861,"_2217":2227,"_2219":3691,"_2220":20862,"_2222":20863},"mounted","unted",[2539],[],[3099,20865],{"_2214":20866,"_2216":20867,"_2217":2227,"_2219":3099,"_2220":20868,"_2222":20869},"motivation","tivation",[3602],[],[2222,20871],{"_2214":20872,"_2216":13506,"_2217":2227,"_2219":2222,"_2220":20873,"_2222":20874},"mock",[6003],[],[2217,20876],{"_2214":8606,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":20877,"_2222":20878},[],[20879,20919,20975,20991,21023,21065,21081,21096,21101],[3099,20880],{"_2214":20881,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":20882,"_2222":20883},"met",[2744],[20884,20896,20907],[3220,20885],{"_2214":20886,"_2216":20887,"_2217":2227,"_2219":3220,"_2220":20888,"_2222":20891},"metrics","rics",[18156,3767,3051,2239,4359,2241,5390,6072,7537,2288,2289,3496,20889,20890,13787,7546,3497,3784,7547,7548,3500,11269,2501,2503,6112],796,797,[20892],[4034,20893],{"_2214":18275,"_2216":4856,"_2217":2227,"_2219":4034,"_2220":20894,"_2222":20895},[4359,2240,2241,5390,6072,7537,7538,3215],[],[3322,20897],{"_2214":20898,"_2216":20899,"_2217":2227,"_2219":3322,"_2220":20900,"_2222":20901},"method","hod",[3773,2335,2336,2341,2355,2429,3783,2486,2506,2524,2579,2588,3529,4095,2658,3381,2688,3801,3299,2905,4415,11453,9016,2962],[20902],[2216,20903],{"_2214":20904,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20905,"_2222":20906},"methods",[2573,3948,2627,3381,3190,6107,6110],[],[2225,20908],{"_2214":20909,"_2216":20910,"_2217":2227,"_2219":2225,"_2220":20911,"_2222":20912},"metadata","adata",[2427,2808,2840,3590,2850,3598],[20913],[3280,20914],{"_2214":20915,"_2216":20916,"_2217":2227,"_2219":3280,"_2220":20917,"_2222":20918},"metadata-store","-store",[4407],[],[2225,20920],{"_2214":20921,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":20922,"_2222":20923},"mea",[],[20924,20949,20970],[3207,20925],{"_2214":20926,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":20927,"_2222":20928},"mean",[2396],[20929,20944],[3002,20930],{"_2214":20931,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":20932,"_2222":20933},"meaning",[2236,2585,3377,2754,2755],[20934,20939],[2216,20935],{"_2214":20936,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20937,"_2222":20938},"meanings",[2394,3394],[],[3193,20940],{"_2214":20941,"_2216":10565,"_2217":2227,"_2219":3193,"_2220":20942,"_2222":20943},"meaningless",[2924],[],[2216,20945],{"_2214":20946,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20947,"_2222":20948},"means",[2236,3256,3425,2328,2401,3476,3478,2471,2515,6086,2741,2751,2857,2858,2900,2917,4472,3609,2924,2927],[],[2216,20950],{"_2214":20951,"_2216":20952,"_2217":2227,"_2219":2216,"_2220":20953,"_2222":20954},"measure","sure",[2694],[20955,20960,20965],[2220,20956],{"_2214":20957,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":20958,"_2222":20959},"measured",[2277,2667],[],[2216,20961],{"_2214":20962,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":20963,"_2222":20964},"measures",[3461,5991,2742],[],[2972,20966],{"_2214":20967,"_2216":3318,"_2217":2227,"_2219":2972,"_2220":20968,"_2222":20969},"measurements",[2432],[],[3099,20971],{"_2214":20972,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":20973,"_2222":20974},"meat",[3532],[],[2220,20976],{"_2214":20977,"_2216":20978,"_2217":2218,"_2219":2220,"_2220":20979,"_2222":20980},"medi","di",[],[20981,20986],[2225,20982],{"_2214":20983,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":20984,"_2222":20985},"media",[2243,5874,3478,2667,2678],[],[3691,20987],{"_2214":20988,"_2216":18002,"_2217":2227,"_2219":3691,"_2220":20989,"_2222":20990},"medium",[12594],[],[2972,20992],{"_2214":20993,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":20994,"_2222":20995},"mem",[],[20996,21007],[3017,20997],{"_2214":17103,"_2216":20998,"_2217":2227,"_2219":3017,"_2220":20999,"_2222":21000},"ory",[2244,2280,3255,3257,2292,3452,3478,2406,2679,3588,11286,10641,3163,4540],[21001],[3280,21002],{"_2214":21003,"_2216":21004,"_2217":2227,"_2219":3280,"_2220":21005,"_2222":21006},"memory-centric","-centric",[2832],[],[3871,21008],{"_2214":21009,"_2216":21010,"_2217":2227,"_2219":3871,"_2220":21011,"_2222":21012},"member","ber",[2270,2285,2368,2525,2526,2557,2663],[21013],[2216,21014],{"_2214":21015,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21016,"_2222":21017},"members",[2267,2280,3432,3433,4496,2365,2477,4467,3264,2509,2510,2514,2526,2557,3788,2743],[21018],[3322,21019],{"_2214":21020,"_2216":20562,"_2217":2227,"_2219":3322,"_2220":21021,"_2222":21022},"membership",[13759,5512,3480,2429,2431,4251,2743,2791,2810,2837,7021,2852,3956],[],[2216,21024],{"_2214":21025,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":21026,"_2222":21027},"mes",[],[21028,21060],[2216,21029],{"_2214":21030,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21031,"_2222":21032},"mess",[2917],[21033],[2225,21034],{"_2214":21035,"_2216":5647,"_2217":2218,"_2219":2225,"_2220":21036,"_2222":21037},"messag",[],[21038,21055],[2217,21039],{"_2214":21040,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":21041,"_2222":21043},"message",[2287,2454,2471,2518,3379,2776,2881,2890,2891,2892,2893,4025,2895,2896,2898,2899,2900,2903,3609,2919,2920,21042,7606],1924,[21044,21049],[2216,21045],{"_2214":21046,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21047,"_2222":21048},"messages",[2253,2373,3458,2511,3786,4664,2894,4025,2895,2896,3608,2898,2900,2903,3609,2919,3038,2931,3739,2937],[],[3099,21050],{"_2214":21051,"_2216":21052,"_2217":2227,"_2219":3099,"_2220":21053,"_2222":21054},"messagetracker","tracker",[2373,3458],[],[3002,21056],{"_2214":21057,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":21058,"_2222":21059},"messaging",[2835,3389,3595,3598,2881,2882,4970,3393,3804,2894,3805,3608,6106,2903,2905,2918,2923,2943],[],[3017,21061],{"_2214":21062,"_2216":6862,"_2217":2227,"_2219":3017,"_2220":21063,"_2222":21064},"mesos",[4382,3588,2838,7555,4400],[],[2222,21066],{"_2214":21067,"_2216":10197,"_2217":2227,"_2219":2222,"_2220":21068,"_2222":21069},"mech",[4827],[21070],[2225,21071],{"_2214":21072,"_2216":21073,"_2217":2227,"_2219":2225,"_2220":21074,"_2222":21075},"mechanism","anism",[2295,2296,2297,2298,2299,2300,2301,3448,2450,2518,2819,2830,2833],[21076],[2216,21077],{"_2214":21078,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21079,"_2222":21080},"mechanisms",[3383,2815],[],[3207,21082],{"_2214":21083,"_2216":5530,"_2217":2218,"_2219":3207,"_2220":21084,"_2222":21085},"mention",[],[21086,21091],[2217,21087],{"_2214":21088,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":21089,"_2222":21090},"mentioned",[3259,2367,3646,2389,2591,15146,2741],[],[3002,21092],{"_2214":21093,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":21094,"_2222":21095},"mentioning",[2664],[],[2217,21097],{"_2214":21098,"_2216":8685,"_2217":2227,"_2219":2217,"_2220":21099,"_2222":21100},"meet",[2316,2806,3620],[],[3220,21102],{"_2214":21103,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":21104,"_2222":21105},"mer",[],[21106,21112],[2217,21107],{"_2214":21108,"_2216":21109,"_2217":2227,"_2219":2217,"_2220":21110,"_2222":21111},"merely","ely",[2924],[],[3825,21113],{"_2214":21114,"_2216":7204,"_2217":2227,"_2219":3825,"_2220":21115,"_2222":21116},"merge",[4336,3634,4490],[],[3691,21118],{"_2214":21119,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":21120,"_2222":21121},"mu",[],[21122,21127,21223,21228],[2216,21123],{"_2214":21124,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":21125,"_2222":21126},"must",[2230,2242,2253,2272,2274,3769,2282,3771,2291,2305,2329,2330,2333,2337,3645,3453,2366,2395,2402,2405,3481,2435,2451,3187,3489,2459,2462,2471,2484,2486,3505,3650,6352,3651,2543,2563,3535,2618,3537,2621,2622,2623,2635,2662,3037,2675,2676,2677,2678,2686,3800,2692,2735,2742,3570,2860,2893,2894,2900,2909,3615,2952],[],[3193,21128],{"_2214":21129,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":21130,"_2222":21131},"mul",[],[21132,21218],[3099,21133],{"_2214":21134,"_2216":3902,"_2217":2227,"_2219":3099,"_2220":21135,"_2222":21136},"multi",[2363,6109,2960],[21137,21197,21202,21207,21212],[3280,21138],{"_2214":21139,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":21140,"_2222":21141},"multi-",[],[21142,21169,21186,21192],[3099,21143],{"_2214":21144,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":21145,"_2222":21146},"multi-t",[],[21147,21153],[2217,21148],{"_2214":21149,"_2216":21150,"_2217":2227,"_2219":2217,"_2220":21151,"_2222":21152},"multi-tenant","enant",[2246,2693],[],[3322,21154],{"_2214":21155,"_2216":21156,"_2217":2218,"_2219":3322,"_2220":21157,"_2222":21158},"multi-thread","hread",[],[21159,21164],[3002,21160],{"_2214":21161,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":21162,"_2222":21163},"multi-threading",[3455],[],[2217,21165],{"_2214":21166,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":21167,"_2222":21168},"multi-threaded",[2637,2643,2943],[],[2216,21170],{"_2214":21171,"_2216":8461,"_2217":2218,"_2219":2216,"_2220":21172,"_2222":21173},"multi-se",[],[21174,21180],[3220,21175],{"_2214":21176,"_2216":21177,"_2217":2227,"_2219":3220,"_2220":21178,"_2222":21179},"multi-server","rver",[3462,13250,13251,2674],[],[2222,21181],{"_2214":21182,"_2216":21183,"_2217":2227,"_2219":2222,"_2220":21184,"_2222":21185},"multi-second","cond",[2405],[],[2220,21187],{"_2214":21188,"_2216":21189,"_2217":2227,"_2219":2220,"_2220":21190,"_2222":21191},"multi-dimensional","dimensional",[3388],[],[4034,21193],{"_2214":21194,"_2216":19462,"_2217":2227,"_2219":4034,"_2220":21195,"_2222":21196},"multi-paxos",[2922],[],[4034,21198],{"_2214":21199,"_2216":14536,"_2217":2227,"_2219":4034,"_2220":21200,"_2222":21201},"multiple",[3254,2254,2255,2263,4461,2329,2330,2331,2344,4361,2356,2357,2365,3455,2385,3285,2394,3247,2430,2436,3248,2463,3213,3783,2508,5513,2543,3376,3538,3795,11280,3381,2736,2838,3592,2951,2952,2953,11416,3240],[],[2225,21203],{"_2214":21204,"_2216":3228,"_2217":2227,"_2219":2225,"_2220":21205,"_2222":21206},"multiaddress",[2330,2331,2356,2357,8297,2365,8298],[],[3017,21208],{"_2214":21209,"_2216":5775,"_2217":2227,"_2219":3017,"_2220":21210,"_2222":21211},"multioperation",[4944],[],[3099,21213],{"_2214":21214,"_2216":21215,"_2217":2227,"_2219":3099,"_2220":21216,"_2222":21217},"multithreaded","threaded",[3539,2643,2648,15146],[],[3280,21219],{"_2214":21220,"_2216":3280,"_2217":2227,"_2219":3280,"_2220":21221,"_2222":21222},"mul-",[2846],[],[2222,21224],{"_2214":21225,"_2216":10197,"_2217":2227,"_2219":2222,"_2220":21226,"_2222":21227},"much",[2292,2326,3452,2510,2659,2667,2693,2704,2863],[],[3099,21229],{"_2214":21230,"_2216":21231,"_2217":2227,"_2219":3099,"_2220":21232,"_2222":21233},"mutually","tually",[6352],[],[3002,21235],{"_2214":21236,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":21237,"_2222":21238},"mi",[],[21239,21280,21356,21362,21368,21405,21411,21429],[3825,21240],{"_2214":21241,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":21242,"_2222":21243},"mig",[],[21244,21250],[3322,21245],{"_2214":21246,"_2216":21247,"_2217":2227,"_2219":3322,"_2220":21248,"_2222":21249},"might","ht",[2238,6049,2317,2322,2323,2360,3452,3948,3376,2635,2668,2773,4245],[],[3220,21251],{"_2214":21252,"_2216":5765,"_2217":2218,"_2219":3220,"_2220":21253,"_2222":21254},"migrat",[],[21255,21275],[3002,21256],{"_2214":21257,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":21258,"_2222":21259},"migrati",[],[21260,21270],[3017,21261],{"_2214":21262,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":21263,"_2222":21264},"migration",[3411,2486],[21265],[2216,21266],{"_2214":21267,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21268,"_2222":21269},"migrations",[2431],[],[3207,21271],{"_2214":21272,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":21273,"_2222":21274},"migrating",[4646],[],[2217,21276],{"_2214":21277,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":21278,"_2222":21279},"migrate",[3674],[],[3207,21281],{"_2214":2975,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":21282,"_2222":21283},[],[21284,21295,21315,21335,21341,21351],[2216,21285],{"_2214":21286,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21287,"_2222":21288},"mins",[4324,2264,2980],[21289],[2217,21290],{"_2214":21291,"_2216":21292,"_2217":2227,"_2219":2217,"_2220":21293,"_2222":21294},"minsessiontimeout","essiontimeout",[4486],[],[3002,21296],{"_2214":21297,"_2216":17617,"_2217":2218,"_2219":3002,"_2220":21298,"_2222":21299},"minim",[],[21300,21305,21310],[3691,21301],{"_2214":21302,"_2216":18002,"_2217":2227,"_2219":3691,"_2220":21303,"_2222":21304},"minimum",[3058,13758,3769,2277,3358,2282,4486,3418,2293,2294,3365,2389,3489,2674,2695,3613,2945],[],[3002,21306],{"_2214":21307,"_2216":10154,"_2217":2227,"_2219":3002,"_2220":21308,"_2222":21309},"minimize",[3478,2655],[],[2225,21311],{"_2214":21312,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":21313,"_2222":21314},"minimal",[2484,2511],[],[3691,21316],{"_2214":21317,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":21318,"_2222":21319},"minu",[],[21320,21330],[3099,21321],{"_2214":21322,"_2216":5151,"_2217":2227,"_2219":3099,"_2220":21323,"_2222":21324},"minute",[3457],[21325],[2216,21326],{"_2214":21327,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21328,"_2222":21329},"minutes",[2290,3258,2372],[],[2216,21331],{"_2214":21332,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21333,"_2222":21334},"minus",[2679],[],[3207,21336],{"_2214":21337,"_2216":21338,"_2217":2227,"_2219":3207,"_2220":21339,"_2222":21340},"minnotificationinterval","notificationinterval",[2293,2294],[],[3017,21342],{"_2214":21343,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":21344,"_2222":21345},"minor",[10844],[21346],[3002,21347],{"_2214":21348,"_2216":5592,"_2217":2227,"_2219":3002,"_2220":21349,"_2222":21350},"minority",[2401],[],[2220,21352],{"_2214":21353,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":21354,"_2222":21355},"mind",[2926],[],[4309,21357],{"_2214":21358,"_2216":21359,"_2217":2227,"_2219":4309,"_2220":21360,"_2222":21361},"mixed-mode","xed-mode",[3930],[],[3193,21363],{"_2214":21364,"_2216":21365,"_2217":2227,"_2219":3193,"_2220":21366,"_2222":21367},"milliseconds","lliseconds",[2277,4486,4487,2287,2290,2296,2297,2298,2299,2300,2306,3772,2309,6051,2357,3456,2372,2374,11274,9863,2671,8210,8211,2695,3613,2949],[],[2216,21369],{"_2214":21370,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":21371,"_2222":21372},"mis",[],[21373,21378,21393,21399],[2972,21374],{"_2214":21375,"_2216":20482,"_2217":2227,"_2219":2972,"_2220":21376,"_2222":21377},"mismatch",[3420,3421],[],[2216,21379],{"_2214":21380,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21381,"_2222":21382},"miss",[2675],[21383,21388],[3002,21384],{"_2214":21385,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":21386,"_2222":21387},"missing",[2317,2368,2547,2908,5192,3301],[],[2217,21389],{"_2214":21390,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":21391,"_2222":21392},"missed",[2722,2758],[],[3193,21394],{"_2214":21395,"_2216":21396,"_2217":2227,"_2219":3193,"_2220":21397,"_2222":21398},"misleading","leading",[2340],[],[3099,21400],{"_2214":21401,"_2216":21402,"_2217":2227,"_2219":3099,"_2220":21403,"_2222":21404},"mistakenly","takenly",[2658],[],[3099,21406],{"_2214":21407,"_2216":21408,"_2217":2227,"_2219":3099,"_2220":21409,"_2222":21410},"mitigate","tigate",[2678],[],[2220,21412],{"_2214":21413,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":21414,"_2222":21415},"mid",[],[21416,21423],[3017,21417],{"_2214":21418,"_2216":21419,"_2217":2227,"_2219":3017,"_2220":21420,"_2222":21422},"midokura","okura",[21421],1614,[],[2220,21424],{"_2214":21425,"_2216":21426,"_2217":2227,"_2219":2220,"_2220":21427,"_2222":21428},"middlemanager","dlemanager",[3582],[],[3220,21430],{"_2214":21431,"_2216":12782,"_2217":2227,"_2219":3220,"_2220":21432,"_2222":21433},"mirrors",[2933],[],[2216,21435],{"_2214":21436,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21437,"_2222":21438},"ms",[7538,2290,2306,3435,2338,2374],[21439],[3066,21440],{"_2214":21441,"_2216":21442,"_2217":2227,"_2219":3066,"_2220":21443,"_2222":21444},"msvc","vc",[6001],[],[3207,21446],{"_2214":21447,"_2216":21448,"_2217":2227,"_2219":3207,"_2220":21449,"_2222":21450},"mntr","ntr",[2251,2260],[],[3640,21452],{"_2214":21453,"_2216":3640,"_2217":2218,"_2219":3640,"_2220":21454,"_2222":21455},"my",[],[21456,21461,21467,21477,21483],[3002,21457],{"_2214":21458,"_2216":5302,"_2217":2227,"_2219":3002,"_2220":21459,"_2222":21460},"myid",[2329,2367,2376,2378,2394,2395,2396,4467,2496,4113,2955,6683],[],[3322,21462],{"_2214":21463,"_2216":21464,"_2217":2227,"_2219":3322,"_2220":21465,"_2222":21466},"myhost","host",[3933,3934],[],[2225,21468],{"_2214":21469,"_2216":3290,"_2217":2227,"_2219":2225,"_2220":21470,"_2222":21471},"myauth",[3188,3800],[21472],[5968,21473],{"_2214":21474,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":21475,"_2222":21476},"myauth2",[3800],[],[3220,21478],{"_2214":21479,"_2216":21480,"_2217":2227,"_2219":3220,"_2220":21481,"_2222":21482},"myriad","riad",[2845,2852],[],[4794,21484],{"_2214":21485,"_2216":21486,"_2217":2227,"_2219":4794,"_2220":21487,"_2222":21488},"my_data","_data",[2941],[],[3871,21490],{"_2214":21491,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":21492,"_2222":21493},"mb",[2363],[21494],[2217,21495],{"_2214":21496,"_2216":21497,"_2217":2227,"_2219":2217,"_2220":21498,"_2222":21501},"mbean","ean",[2489,10465,3179,21499,6652,21500,6653],757,782,[21502],[2216,21503],{"_2214":21504,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21505,"_2222":21508},"mbeans",[16541,21506,10374,21507,2492,6561,3214,3179],741,744,[],[2220,21510],{"_2214":21511,"_2216":21512,"_2217":2227,"_2219":2220,"_2220":21513,"_2222":21514},"md5","d5",[2619],[],[3066,21516],{"_2214":21517,"_2216":21518,"_2217":2227,"_2219":3066,"_2220":21519,"_2222":21520},"mvn","vn",[2640],[],[5908,21522],{"_2214":21523,"_2216":13138,"_2217":2227,"_2219":5908,"_2220":21524,"_2222":21525},"mzxid",[6093],[],[3099,21527],{"_2214":21528,"_2216":8771,"_2217":2227,"_2219":3099,"_2220":21529,"_2222":21530},"mtime",[8211],[],[6884,21532],{"_2214":21533,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":21534,"_2222":21535},"m1",[6302],[],[3099,21537],{"_2214":3099,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":21538,"_2222":21539},[3478,2615,2717,2848,2854],[21540,21653,21970,22210,22489,22649,22686,22733,22848,23009,23035,23065,23130,23135,23141,23146,23151,23156,23161],[2225,21541],{"_2214":21542,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":21543,"_2222":21544},"ta",[],[21545,21560,21581,21606,21627,21648],[2216,21546],{"_2214":21547,"_2216":11195,"_2217":2227,"_2219":2216,"_2220":21548,"_2222":21554},"task",[7537,2290,2484,2577,3582,21549,21550,21551,21552,21553],1990,1996,2002,2010,2018,[21555],[2216,21556],{"_2214":21557,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21558,"_2222":21559},"tasks",[2229,2808,2845],[],[3220,21561],{"_2214":21562,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":21563,"_2222":21564},"tar",[],[21565,21570,21575],[3030,21566],{"_2214":21567,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":21568,"_2222":21569},"tar's",[2235],[],[3825,21571],{"_2214":21572,"_2216":7271,"_2217":2227,"_2219":3825,"_2220":21573,"_2222":21574},"target",[11268],[],[3871,21576],{"_2214":21577,"_2216":21578,"_2217":2227,"_2219":3871,"_2220":21579,"_2222":21580},"tarball","ball",[2641],[],[2219,21582],{"_2214":21583,"_2216":2219,"_2217":2218,"_2219":2219,"_2220":21584,"_2222":21585},"tak",[],[21586,21601],[2217,21587],{"_2214":21588,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":21589,"_2222":21590},"take",[2244,6073,2281,2282,2322,2323,2366,2390,3780,3478,3158,3783,2559,2561,2655,2667,2680,2819,2924,2925,6113],[21591,21596],[2216,21592],{"_2214":21593,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21594,"_2222":21595},"takes",[2264,2287,2352,2354,2379,2380,2483,3506,2581,3946,3236,2676,2881,2889],[],[3207,21597],{"_2214":21598,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":21599,"_2222":21600},"taken",[2274,3417,2281,2282,2357,3461,2448,3938,3940,2508],[],[3002,21602],{"_2214":21603,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":21604,"_2222":21605},"taking",[3104,2281,2282,2379,3800,2999],[],[3871,21607],{"_2214":21608,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":21609,"_2222":21610},"tab",[6561],[21611],[3193,21612],{"_2214":21613,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":21614,"_2222":21615},"table",[2495,2500],[21616,21621],[2216,21617],{"_2214":21618,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21619,"_2222":21620},"tables",[2805],[],[3099,21622],{"_2214":21623,"_2216":21624,"_2217":2227,"_2219":3099,"_2220":21625,"_2222":21626},"tablets","ts",[2805],[],[3193,21628],{"_2214":8491,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":21629,"_2222":21630},[],[21631,21641],[2219,21632],{"_2214":21633,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":21634,"_2222":21635},"talk",[2511,2682,3608,2924],[21636],[3002,21637],{"_2214":21638,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":21639,"_2222":21640},"talking",[2864],[],[2217,21642],{"_2214":21643,"_2216":21644,"_2217":2227,"_2219":2217,"_2220":21645,"_2222":21647},"talend","end",[21646,2801,2802],1578,[],[3207,21649],{"_2214":21650,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":21651,"_2222":21652},"tang",[2854],[],[3220,21654],{"_2214":21655,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":21656,"_2222":21657},"tr",[],[21658,21665,21851,21903,21923,21960],[3017,21659],{"_2214":21660,"_2216":21661,"_2217":2227,"_2219":3017,"_2220":21662,"_2222":21664},"troubleshooting","oubleshooting",[2229,21663,2381,2407,3550,3551],9,[],[2225,21666],{"_2214":21667,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":21668,"_2222":21669},"tra",[],[21670,21764,21798,21819,21825],[3207,21671],{"_2214":21672,"_2216":21673,"_2217":2218,"_2219":3207,"_2220":21674,"_2222":21675},"trans","ns",[],[21676,21691,21711,21741,21747],[2225,21677],{"_2214":21678,"_2216":5011,"_2217":2227,"_2219":2225,"_2220":21679,"_2222":21680},"transaction",[2231,3081,2238,3401,2243,2257,3416,2276,2278,3417,2281,2282,2283,3418,3419,2317,5874,2363,3459,2375,2379,2380,2405,3515,3516,3517,3944,2672,2678,2774,2775,3384,2777,3237,2860,2882,2900,2932,3614,2955],[21681,21686],[2225,21682],{"_2214":21683,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":21684,"_2222":21685},"transactional",[2231,2287,2795,2832],[],[2216,21687],{"_2214":21688,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21689,"_2222":21690},"transactions",[2231,2243,2257,2281,2282,2307,2368,2380,6248,2564,2678,2862],[],[3002,21692],{"_2214":21693,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":21694,"_2222":21695},"transi",[],[21696,21701],[2217,21697],{"_2214":21698,"_2216":5431,"_2217":2227,"_2219":2217,"_2220":21699,"_2222":21700},"transient",[3434,2829],[],[3099,21702],{"_2214":21703,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":21704,"_2222":21705},"transition",[2471,2696],[21706],[2216,21707],{"_2214":21708,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21709,"_2222":21710},"transitions",[2691,3382,2823],[],[3085,21712],{"_2214":21713,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":21714,"_2222":21715},"transf",[],[21716,21726],[2217,21717],{"_2214":21718,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":21719,"_2222":21720},"transfer",[2484],[21721],[2216,21722],{"_2214":21723,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21724,"_2222":21725},"transfers",[3477],[],[3017,21727],{"_2214":21728,"_2216":10707,"_2217":2218,"_2219":3017,"_2220":21729,"_2222":21730},"transform",[],[21731,21736],[2217,21732],{"_2214":21733,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":21734,"_2222":21735},"transformed",[2445],[],[2216,21737],{"_2214":21738,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21739,"_2222":21740},"transforms",[2882],[],[2972,21742],{"_2214":21743,"_2216":21744,"_2217":2227,"_2219":2972,"_2220":21745,"_2222":21746},"transmission","mission",[7548],[],[4034,21748],{"_2214":21749,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":21750,"_2222":21751},"transp",[],[21752,21758],[2225,21753],{"_2214":21754,"_2216":21755,"_2217":2227,"_2219":2225,"_2220":21756,"_2222":21757},"transparently","arently",[2722],[],[3017,21759],{"_2214":21760,"_2216":21761,"_2217":2227,"_2219":3017,"_2220":21762,"_2222":21763},"transports","orts",[2809],[],[2222,21765],{"_2214":21766,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":21767,"_2222":21768},"trac",[],[21769,21779,21793],[2217,21770],{"_2214":21771,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":21772,"_2222":21773},"trace",[2252,2253,20543,2254,6075,2262,2678,7974,11453],[21774],[2972,21775],{"_2214":21776,"_2216":20541,"_2217":2227,"_2219":2972,"_2220":21777,"_2222":21778},"tracemask",[6075,2262],[],[2219,21780],{"_2214":21781,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":21782,"_2222":21783},"track",[3458,3496],[21784,21789],[2216,21785],{"_2214":21786,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21787,"_2222":21788},"tracks",[11280,3577],[],[2217,21790],{"_2214":21052,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":21791,"_2222":21792},[2717],[],[3002,21794],{"_2214":21795,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":21796,"_2222":21797},"tracing",[2573],[],[2220,21799],{"_2214":21800,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":21801,"_2222":21802},"trad",[],[21803,21813],[2217,21804],{"_2214":21805,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":21806,"_2222":21807},"trade",[2292],[21808],[2216,21809],{"_2214":21810,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21811,"_2222":21812},"trades",[4896],[],[3002,21814],{"_2214":21815,"_2216":21816,"_2217":2227,"_2219":3002,"_2220":21817,"_2222":21818},"traditionally","itionally",[2631],[],[3085,21820],{"_2214":21821,"_2216":21822,"_2217":2227,"_2219":3085,"_2220":21823,"_2222":21824},"traffic","ffic",[2984,2985,2511,2515,2740],[],[3066,21826],{"_2214":21827,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":21828,"_2222":21829},"trav",[],[21830,21846],[2217,21831],{"_2214":21832,"_2216":10861,"_2217":2218,"_2219":2217,"_2220":21833,"_2222":21834},"travers",[],[21835,21840],[2217,21836],{"_2214":21837,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":21838,"_2222":21839},"traverse",[2590],[],[2225,21841],{"_2214":21842,"_2216":21843,"_2217":2227,"_2219":2225,"_2220":21844,"_2222":21845},"traversals","als",[2795],[],[3002,21847],{"_2214":21848,"_2216":3132,"_2217":2227,"_2219":3002,"_2220":21849,"_2222":21850},"travis",[9017],[],[3691,21852],{"_2214":21853,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":21854,"_2222":21855},"tru",[],[21856,21861,21882,21897],[2217,21857],{"_2214":21858,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":21859,"_2222":21860},"true",[5390,2258,2264,3419,3771,2291,2310,5182,2317,3774,2323,2978,2330,2331,2335,2336,3432,3433,2339,2340,2347,3437,5960,2349,4825,3438,3645,3442,3443,2356,8297,8463,2360,3232,3140,8298,3458,2981,2982,2983,3027,2404,2412,9730,2437,2440,3489,3179,2504,5991,2584,2585,2629,4849,4498,5994,2635,2719,2730,4347,2745,10123,2752],[],[2216,21862],{"_2214":21863,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":21864,"_2222":21865},"trust",[2317,2358,13343,3268,7565],[21866,21871],[2217,21867],{"_2214":21868,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":21869,"_2222":21870},"trusted",[2245],[],[2216,21872],{"_2214":21873,"_2216":21874,"_2217":2227,"_2219":2216,"_2220":21875,"_2222":21876},"truststore","store",[3406,4461,2353,2354,3261,3446,3447,2633,7836,3268,8052],[21877],[2216,21878],{"_2214":21879,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21880,"_2222":21881},"truststores",[3413,3261],[],[3207,21883],{"_2214":21884,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":21885,"_2222":21886},"trun",[],[21887,21892],[2219,21888],{"_2214":21889,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":21890,"_2222":21891},"trunk",[2625,2640,3543,2644],[],[2222,21893],{"_2214":21894,"_2216":15089,"_2217":2227,"_2219":2222,"_2220":21895,"_2222":21896},"truncated",[3632],[],[3099,21898],{"_2214":21899,"_2216":21900,"_2217":2227,"_2219":3099,"_2220":21901,"_2222":21902},"truth","th",[2850],[],[2217,21904],{"_2214":21905,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":21906,"_2222":21907},"tre",[],[21908,21913,21918],[2217,21909],{"_2214":21910,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":21911,"_2222":21912},"tree",[3980,2260,5987,3420,5476,2364,2368,6021,2377,2379,2551,3374,2605,2662,2856,2875,3391],[],[2225,21914],{"_2214":21915,"_2216":4975,"_2217":2227,"_2219":2225,"_2220":21916,"_2222":21917},"treat",[2317],[],[3207,21919],{"_2214":21920,"_2216":4184,"_2217":2227,"_2219":3207,"_2220":21921,"_2222":21922},"trend",[3265],[],[3002,21924],{"_2214":21925,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":21926,"_2222":21927},"tri",[],[21928,21949,21954],[3825,21929],{"_2214":21930,"_2216":21931,"_2217":2227,"_2219":3825,"_2220":21932,"_2222":21933},"trigger","gger",[2665,2718,2719,2721,2723,2724,2729,3299,2868],[21934,21939,21944],[2217,21935],{"_2214":21936,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":21937,"_2222":21938},"triggered",[2290,2307,16934,2979,2468,2486,2579,2602,2649,2722,2723,2729,2730,2737,5671,2818,2867,2868,2961],[],[3002,21940],{"_2214":21941,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":21942,"_2222":21943},"triggering",[3375,3299],[],[2216,21945],{"_2214":21946,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21947,"_2222":21948},"triggers",[2603,2665,3559,2735,2736,2754],[],[2217,21950],{"_2214":21951,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":21952,"_2222":21953},"tries",[3424,2608,3236,2691,2717],[],[3066,21955],{"_2214":21956,"_2216":21957,"_2217":2227,"_2219":3066,"_2220":21958,"_2222":21959},"trivial","vial",[2779],[],[3640,21961],{"_2214":21962,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":21963,"_2222":21964},"try",[3435,2357,2365,2371,2404,3236,2679,2692,2703,2706,2715,2823,2908,2932,2940,6003],[21965],[3002,21966],{"_2214":21967,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":21968,"_2222":21969},"trying",[3425,3429,3435,2706],[],[2217,21971],{"_2214":5151,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":21972,"_2222":21973},[],[21974,22005,22098,22125,22130,22156,22185,22205],[3220,21975],{"_2214":21976,"_2216":13810,"_2217":2227,"_2219":3220,"_2220":21977,"_2222":21978},"term",[2230,2864],[21979,22000],[3002,21980],{"_2214":21981,"_2216":21982,"_2217":2218,"_2219":3002,"_2220":21983,"_2222":21984},"terminat","inat",[],[21985,21995],[2217,21986],{"_2214":21987,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":21988,"_2222":21989},"terminate",[3355,3432,2545],[21990],[2216,21991],{"_2214":21992,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":21993,"_2222":21994},"terminates",[3433,2916],[],[3002,21996],{"_2214":21997,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":21998,"_2222":21999},"termination",[3936,3937],[],[2216,22001],{"_2214":22002,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22003,"_2222":22004},"terms",[2616],[],[2216,22006],{"_2214":8906,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":22007,"_2222":22014},[2329,5790,3782,22008,8765,22009,22010,2676,2938,2951,22011,22012,22013,8673,8674,8675,7883,8024,6007],1014,1084,1085,1989,2001,2016,[22015,22026,22032,22037,22058,22064,22070,22081,22087,22092],[2216,22016],{"_2214":22017,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22018,"_2222":22019},"tests",[2244,2248,6260,2392,3523,2679,2877,7562,3627,6122,6003,6004,6007],[22020],[2217,22021],{"_2214":22022,"_2216":22023,"_2217":2227,"_2219":2217,"_2220":22024,"_2222":22025},"testsetdatafail","etdatafail",[8675],[],[3002,22027],{"_2214":22028,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":22029,"_2222":22031},"testing",[2272,3442,2365,3140,2384,3515,22030,2573,2944],1011,[],[2217,22033],{"_2214":22034,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":22035,"_2222":22036},"tested",[3422],[],[3220,22038],{"_2214":22039,"_2216":3750,"_2217":2218,"_2219":3220,"_2220":22040,"_2222":22041},"testre",[],[22042,22052],[2222,22043],{"_2214":22044,"_2216":13739,"_2217":2227,"_2219":2222,"_2220":22045,"_2222":22046},"testreconfig",[2487],[22047],[2216,22048],{"_2214":22049,"_2216":12628,"_2217":2227,"_2219":2216,"_2220":22050,"_2222":22051},"testreconfigserver",[3187,2457],[],[3066,22053],{"_2214":22054,"_2216":22055,"_2217":2227,"_2219":3066,"_2220":22056,"_2222":22057},"testrevalidatecount","validatecount",[8025],[],[2222,22059],{"_2214":22060,"_2216":22061,"_2217":2227,"_2219":2222,"_2220":22062,"_2222":22063},"testconnectionevents","connectionevents",[8674],[],[3085,22065],{"_2214":22066,"_2216":22067,"_2217":2227,"_2219":3085,"_2220":22068,"_2222":22069},"testfiletxnsnaplogmetrics","filetxnsnaplogmetrics",[7883],[],[2225,22071],{"_2214":22072,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":22073,"_2222":22074},"testable",[2962],[22075],[2222,22076],{"_2214":22077,"_2216":22078,"_2217":2227,"_2219":2222,"_2220":22079,"_2222":22080},"testableclosesocket","closesocket",[2962],[],[3825,22082],{"_2214":22083,"_2216":22084,"_2217":2227,"_2219":3825,"_2220":22085,"_2222":22086},"testgetcurrentlogsize","getcurrentlogsize",[3635],[],[3017,22088],{"_2214":22089,"_2216":5788,"_2217":2227,"_2219":3017,"_2220":22090,"_2222":22091},"testoperations",[6007],[],[3099,22093],{"_2214":22094,"_2216":22095,"_2217":2227,"_2219":3099,"_2220":22096,"_2222":22097},"testtimeoutcausedbywatches1","timeoutcausedbywatches1",[6007],[],[3193,22099],{"_2214":22100,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":22101,"_2222":22102},"tel",[],[22103,22109,22115],[3207,22104],{"_2214":22105,"_2216":22106,"_2217":2227,"_2219":3207,"_2220":22107,"_2222":22108},"telnet","net",[3052,2247],[],[2217,22110],{"_2214":22111,"_2216":22112,"_2217":2227,"_2219":2217,"_2220":22113,"_2222":22114},"telegraf","egraf",[2503],[],[3193,22116],{"_2214":22117,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":22118,"_2222":22119},"tell",[2551,2674,2836,2909],[22120],[2216,22121],{"_2214":22122,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22123,"_2222":22124},"tells",[3368,3160,2658],[],[4309,22126],{"_2214":22127,"_2216":13671,"_2217":2227,"_2219":4309,"_2220":22128,"_2222":22129},"text",[6076,2376,2395,2527,2619],[],[2972,22131],{"_2214":22132,"_2216":18033,"_2217":2218,"_2219":2972,"_2220":22133,"_2222":22134},"temp",[],[22135,22151],[3017,22136],{"_2214":22137,"_2216":22138,"_2217":2218,"_2219":3017,"_2220":22139,"_2222":22140},"temporar","orar",[],[22141,22146],[3640,22142],{"_2214":22143,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":22144,"_2222":22145},"temporary",[3434,2557,5336],[],[3002,22147],{"_2214":22148,"_2216":18794,"_2217":2227,"_2219":3002,"_2220":22149,"_2222":22150},"temporarily",[2458],[],[3193,22152],{"_2214":22153,"_2216":16803,"_2217":2227,"_2219":3193,"_2220":22154,"_2222":22155},"template",[3502,2503],[],[2222,22157],{"_2214":22158,"_2216":22159,"_2217":2218,"_2219":2222,"_2220":22160,"_2222":22161},"techn","chn",[],[22162,22168],[3002,22163],{"_2214":22164,"_2216":22165,"_2217":2227,"_2219":3002,"_2220":22166,"_2222":22167},"technical","ical",[2433],[],[3017,22169],{"_2214":22170,"_2216":22171,"_2217":2218,"_2219":3017,"_2220":22172,"_2222":22173},"technolog","olog",[],[22174,22179],[3640,22175],{"_2214":22176,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":22177,"_2222":22178},"technology",[4031],[],[3002,22180],{"_2214":22181,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":22182,"_2222":22184},"technologies",[22183,2845],1608,[],[3207,22186],{"_2214":6120,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":22187,"_2222":22188},[],[22189,22194,22199],[3099,22190],{"_2214":22191,"_2216":21900,"_2217":2227,"_2219":3099,"_2220":22192,"_2222":22193},"tenth",[3510],[],[2216,22195],{"_2214":22196,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22197,"_2222":22198},"tens",[2657],[],[2225,22200],{"_2214":22201,"_2216":22202,"_2217":2227,"_2219":2225,"_2220":22203,"_2222":22204},"tenants","ants",[2841],[],[2225,22206],{"_2214":22207,"_2216":5614,"_2217":2227,"_2219":2225,"_2220":22208,"_2222":22209},"team",[2844,2849,2883],[],[3322,22211],{"_2214":21900,"_2216":3322,"_2217":2218,"_2219":3322,"_2220":22212,"_2222":22213},[],[22214,22274,22299,22335,22453,22458],[2217,22215],{"_2214":22216,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":22217,"_2222":22220},"the",[2230,2231,2232,2233,2234,3081,2235,2236,2237,3355,6027,6071,12960,3644,5064,2238,3767,3051,5390,6072,7537,7538,2242,2243,2244,6073,2246,3052,7786,3053,2247,3402,3403,2248,7539,3404,5984,2249,3405,2250,2251,3254,6260,3980,2252,2253,8206,8207,2254,3357,2255,3056,2977,5873,3057,3406,3152,7718,2256,2257,3408,6075,6076,2259,3409,2260,4324,2261,2262,2264,3928,2265,2267,2268,2269,2270,8236,3198,2271,5985,2272,6049,4461,3153,5986,3104,3413,3154,3414,3058,2274,2275,3769,5538,3930,3178,3416,2276,2277,3770,2278,2280,3417,2281,3358,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,5987,2315,3420,3421,2316,3422,3423,3424,3425,5476,3426,5477,15117,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,3429,5478,3430,2979,3359,2325,3431,2326,2327,4488,2328,2329,2330,2331,2333,2334,3776,3777,3931,2335,2336,2337,3361,3432,3433,3435,2338,2339,4489,3436,2340,2341,4645,4462,7827,7828,3231,2343,2344,2345,2346,2347,5960,2348,2349,4825,3362,2351,2352,3260,2353,2354,3261,3440,3441,3363,3442,3443,3155,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,8297,6300,2358,2359,3449,3450,3451,2360,3452,4663,5874,2361,3453,7038,6077,2362,12933,3454,2363,2364,3232,2365,3140,8298,2366,4778,3364,2367,2368,4779,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372,3779,2373,3060,2980,2981,2982,2983,3061,3062,2985,3063,2986,2987,2988,2374,2989,3459,22218,22219,2375,2376,2377,2378,2379,2380,2381,3460,2382,3461,2384,2386,5988,2387,5798,3646,3365,2388,2389,2390,3780,2391,6262,2392,8208,2393,2394,2395,2396,2398,5790,2399,2400,5989,4044,2401,3027,2402,2403,3477,2404,3478,2405,2406,2407,13341,13759,2413,2415,2416,2417,2418,4464,9555,2419,2420,3781,13334,5512,2424,2426,2427,2428,11266,4466,3480,13342,8653,8654,6078,9534,13760,2429,2430,2431,2432,3481,2434,3482,3483,6079,2435,2436,2437,2438,4497,2440,3157,2441,2442,2443,2444,2445,5097,2446,2447,2448,2449,3485,3647,2450,2451,2452,3187,3648,2453,2454,3487,2455,4326,3649,2456,3488,2458,3489,2459,2460,2461,2462,2463,3366,2464,2465,2466,2467,2468,8209,6248,2469,2470,2471,3213,3158,2472,2473,4327,2474,2476,4328,2477,2478,2479,2480,3490,3491,13761,2481,2482,2483,3783,2484,2485,2486,2488,4031,3492,2492,2493,2494,3935,6561,3493,3214,3179,2495,4467,2496,2497,2498,2499,3494,3936,4596,3495,3937,3496,13787,3497,3215,7547,7548,19627,3498,13343,3500,6134,11268,3501,2501,7832,2502,3502,2503,6920,3036,2504,3939,3940,4944,6081,5791,2990,5023,3503,4938,2505,3234,3941,3942,3943,2506,2507,3981,2508,2509,2510,2511,3159,3368,4186,3160,2513,2514,2515,3216,2516,2517,2518,6082,6348,5479,6349,2519,2520,2521,2522,2523,2524,2525,2526,3505,2527,3369,3650,3370,6350,6084,2529,2530,2531,5513,2532,3506,4890,5480,4896,6351,6352,2535,3508,3651,5514,2537,2538,3509,2539,7719,2540,5065,2542,2543,2544,2545,2546,6353,2547,2548,3510,3511,3786,6086,2549,3044,6255,4468,2551,2552,5990,2553,2557,2991,3787,3514,2559,3788,2561,2562,2992,3515,8764,11270,2563,7550,3789,3944,2564,7833,6325,2565,3265,3790,3835,15549,3372,3519,18619,2570,3652,7274,2571,3522,7551,6263,5991,5992,3945,2573,2574,2575,2576,7275,8765,3714,3525,6087,2578,2579,2580,2582,5993,6088,2583,2584,3526,2585,2586,2587,2588,2589,2590,2591,2595,13306,13307,2597,7788,3235,2598,2599,3527,3528,12927,3374,3947,2600,3529,2601,3530,6264,3948,3532,2602,4095,3375,3376,4329,2603,2604,3533,2605,2607,2608,7720,3534,2614,2615,3535,7721,2618,2619,3224,2620,3792,12800,4470,3793,3949,3537,5217,3538,2621,2622,2623,2624,3539,3540,3541,2626,2627,2628,6089,2629,2630,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,2632,7835,2633,7836,3268,2634,2635,2636,2637,2638,2639,3543,2641,3794,2642,4244,2643,2646,2647,3377,2648,3795,3982,3379,15146,8757,4664,2651,2652,2653,2654,2655,2656,2657,3204,2658,3546,2659,2660,3547,3797,2661,9434,2662,2663,2664,2665,2666,2667,3798,2668,2669,2670,3548,2671,3037,2672,2673,2674,3549,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098,2675,2676,2677,2678,2679,2681,7789,3552,6099,4332,2682,3553,3554,2685,2686,3381,2687,2688,3271,3188,3800,3190,12662,14169,5820,5778,3801,2691,2692,2693,2694,2695,2696,2697,3382,8212,13238,3950,10573,6100,2698,2699,2700,2701,2702,2703,2704,3556,2705,2706,2707,2708,2709,3557,2710,2711,2712,2713,3558,5875,2714,15628,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2729,3299,2730,3560,2734,3951,2736,2737,2738,4251,3563,3564,3383,2740,2741,2742,3565,2743,2744,4347,3566,2745,5671,2746,2747,5995,2749,2750,2751,2752,2753,2754,2755,2756,2757,2758,5335,3569,5996,2759,2760,2762,5631,2763,2764,2767,2768,3952,3953,2769,2770,5997,5998,2771,2772,2773,5999,10844,3570,4511,2775,3384,2776,2777,3237,2778,2779,15256,2780,3572,2781,6102,11248,2783,2784,6000,2788,2789,3385,2790,2791,3575,2793,2796,2797,2800,3577,2805,2806,4388,2810,3802,2814,2817,4738,2818,2819,2820,2821,2822,2823,3387,2824,2827,2829,2831,2834,4390,2836,3587,3803,2837,2838,3589,3389,4392,3591,3592,7553,2844,2846,4131,2848,2849,2850,2854,12728,3014,3599,11281,2856,3602,2857,2858,2859,2860,2861,2862,2863,2864,2865,2866,3955,2867,2868,2869,2870,2871,2872,2873,2874,2875,2878,6103,3391,3392,2881,2882,3956,2883,2884,9890,2885,6104,2888,2889,2890,3605,3606,5515,3393,3804,2893,2894,4025,2895,3805,3608,2898,2900,2901,2902,2904,2905,4471,2906,2907,2908,2909,2910,3806,2911,2913,2914,2915,2916,2917,3807,4472,3609,2919,2921,2923,3610,2924,2926,3611,2927,2928,2929,2930,3038,4597,4245,2931,3612,3809,2932,2995,2933,2934,2935,3394,3613,3614,7558,7837,2937,6458,3615,2939,2940,2941,3677,13116,3957,3958,2942,8009,7559,2943,2944,2947,2948,2949,4113,2950,2951,2952,2953,2955,4334,3620,3625,2957,4159,3626,3810,2998,10641,3164,2999,2961,3811,6112,9016,7566,5337,8025],438,439,[22221,22226,22248,22253,22258,22263,22268],[2216,22222],{"_2214":22223,"_2216":8461,"_2217":2227,"_2219":2216,"_2220":22224,"_2222":22225},"these",[2231,2232,2237,3355,2270,3198,2275,3421,2321,3433,2373,2375,2381,3461,3464,2391,2394,3027,2437,2448,2469,3782,4596,2507,2510,2548,3525,2600,3948,2608,3540,2994,2635,3204,3798,2681,3188,2691,3556,2729,6976,3564,3565,2755,2809,2857,3955,2869,2874,2894,2907,2943,2949],[],[3220,22227],{"_2214":22228,"_2216":3750,"_2217":2227,"_2219":3220,"_2220":22229,"_2222":22230},"there",[2280,3257,3258,3212,2292,3421,3775,2978,2329,2334,3432,3451,2361,3646,2402,2438,2440,3484,2450,3488,2467,3367,2477,2493,2503,3785,2506,3981,2515,2528,2534,2543,2584,2585,2589,3374,2603,2615,2618,3541,2627,2629,3795,3796,2659,3271,3188,3800,2700,2702,2703,2709,2718,2721,2722,2729,2730,2736,2741,2742,2751,2752,2753,2756,6265,2769,2770,2773,2776,2779,2827,2830,2836,3589,2889,2909,2921,2922,2928,3808,2932,6458,2946,2954],[22231,22237,22242],[3085,22232],{"_2214":22233,"_2216":22234,"_2217":2227,"_2219":3085,"_2220":22235,"_2222":22236},"therefore","fore",[2231,2232,2366,2381,2406,2443,2484,2557,3038],[],[2225,22238],{"_2214":22239,"_2216":5473,"_2217":2227,"_2219":2225,"_2220":22240,"_2222":22241},"thereafter",[2347,2349],[],[3030,22243],{"_2214":22244,"_2216":22245,"_2217":2227,"_2219":3030,"_2220":22246,"_2222":22247},"there're","'re",[6099],[],[3002,22249],{"_2214":22250,"_2216":8810,"_2217":2227,"_2219":3002,"_2220":22251,"_2222":22252},"their",[2234,5985,2339,3363,3780,2430,2431,3651,2580,2620,3377,3564,2746,2750,2806,2814,3605,2924],[],[3640,22254],{"_2214":22255,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":22256,"_2222":22257},"they",[2238,2275,2284,3771,2332,3452,3365,2443,2445,2460,2463,3366,3783,2504,2506,2510,2511,3160,2514,2991,3787,3514,2628,3545,2652,3547,2664,2667,3037,2703,2707,3299,2740,2746,2750,2755,2760,2773,2775,2779,3602,2860,2870,3391,2889,2904,2908,2909,3609,2922,2925,2926,3809,2943],[],[3207,22259],{"_2214":22260,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":22261,"_2222":22262},"then",[2244,3409,3178,2279,2319,2323,2326,2329,2331,2334,3931,2336,2337,2345,3438,3452,2367,2370,2371,2372,2373,2378,2379,3780,2394,2399,3478,2446,3489,2483,2484,2510,3160,2538,2579,2580,2583,2584,2585,2587,2589,2603,2618,2619,2629,3654,3236,2643,2658,2665,2672,3190,6100,2708,2716,2737,2775,2777,2779,11248,2786,2823,3592,2889,2946],[],[2972,22264],{"_2214":22265,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":22266,"_2222":22267},"them",[2275,3770,2280,2310,3773,2321,3431,2337,3432,4663,2382,2390,2435,2437,2458,2460,3502,2504,2510,3786,2586,3529,2642,2676,2724,3564,2787,2900,2923,2946],[],[4794,22269],{"_2214":22270,"_2216":22271,"_2217":2227,"_2219":4794,"_2220":22272,"_2222":22273},"the_zookeeper_st_library","_zookeeper_st_library",[2643],[],[2225,22275],{"_2214":22276,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":22277,"_2222":22278},"tha",[],[22279,22289],[3207,22280],{"_2214":22281,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":22282,"_2222":22283},"than",[2231,2234,6072,2278,2280,2282,2283,2287,3771,2291,3258,2300,6050,2302,2303,2304,2310,2311,2321,2326,3360,2331,7038,6077,2363,5511,2375,2390,2406,2437,3489,2461,2463,2469,3490,2481,2484,2510,2511,2557,2634,2647,2651,2667,2672,2674,3299,2769,2770,2778,2817,3603,2889,2909,2926,2928,2929,7974,2946],[22284],[4309,22285],{"_2214":22286,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":22287,"_2222":22288},"thanx",[7552],[],[3099,22290],{"_2214":22291,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":22292,"_2222":22293},"that",[2233,2235,2236,2237,3355,5064,2238,2239,2242,2243,2244,2248,2251,8206,8207,2254,2255,3057,7718,2259,2261,2270,3412,2272,5986,3154,3414,3415,2274,3769,5538,3930,3178,2279,2280,2282,2283,2284,2285,2286,4486,4487,2288,3258,3212,6050,2305,2309,2310,5477,2317,2320,2323,3359,2328,2329,2333,2334,2337,3432,3433,3435,2341,2343,2344,2345,2346,2347,2348,2349,2350,2352,2354,3155,3932,2356,2358,3778,2361,2366,3364,2367,2368,2370,2371,3457,2372,2374,2376,2378,2379,2380,3460,2382,5988,3646,3365,2389,2390,3780,2391,2392,2394,2395,2396,2401,3476,2402,2404,3478,2406,2426,2429,2437,2439,2440,2445,2446,2448,2449,2450,2451,3187,3648,2454,2455,4326,2458,3489,2459,2460,2464,2467,2471,2472,2478,4031,3179,4467,2496,2498,2499,4596,2503,2508,3264,2509,2510,2511,2512,3159,3368,3160,3216,2520,2522,2524,2528,2545,3044,2568,3372,2575,3525,2578,2579,2580,2584,3526,2585,2586,2587,2588,2589,2600,3529,3530,3948,3376,2603,2605,2606,2607,2608,2615,3535,2617,2618,2624,3541,2626,2627,2628,2629,5994,2635,3794,2648,2650,3982,3379,2651,2652,2653,2654,2656,2658,2659,2662,2663,2664,2665,2666,2667,3798,2668,2669,2673,2674,6092,6093,6094,3799,2676,2677,2678,2679,2680,2686,3381,2687,2688,3271,3188,3800,3801,2691,2694,2695,2696,2697,2699,2701,2702,2703,2706,2708,2709,2712,2714,2718,2719,2720,2723,2724,2729,3299,3560,2734,2736,2737,2738,3383,2740,2741,2742,2743,2749,2750,2751,2752,2754,2755,5998,2773,3570,4511,2774,2775,3384,2776,2777,2778,2779,2781,2783,2784,2785,2788,2804,2805,3802,2815,2816,2817,2818,2819,2820,2823,2825,2829,2836,2837,2838,2841,3590,2848,2849,2856,2858,2860,2862,2863,2864,2865,2866,3955,2867,2868,2870,2871,2872,6103,3392,2882,2883,2884,2885,3393,2894,4025,2895,3805,2898,2900,2901,2904,2909,2917,4472,3609,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,3038,4245,2931,3612,2932,7837,2939,13116,3957,2946,4113,2950,2951,2952,2954,4598,4851,2961],[22294],[3030,22295],{"_2214":22296,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":22297,"_2222":22298},"that's",[2773,2779,7559],[],[3002,22300],{"_2214":22301,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":22302,"_2222":22303},"thi",[],[22304,22309,22330],[2216,22305],{"_2214":22306,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22307,"_2222":22308},"this",[2232,2234,3081,2235,2236,3355,2240,2241,5390,2246,4457,2249,2250,2254,5873,2256,3408,2258,4324,2264,3928,2265,2268,2269,5985,2272,6049,2274,2278,3358,2282,2283,2284,2285,2286,2287,2288,2289,3419,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,2305,6299,3772,3420,3422,3425,8296,3773,15117,2317,3775,2320,2322,2323,2324,3427,3428,3359,2326,2327,2328,2329,2330,2331,2336,2337,3361,3432,3433,3434,4489,3436,2340,2341,4462,2343,2345,2346,3437,5960,2348,4825,2350,3645,3362,3363,3443,2355,4361,4496,2356,2357,8297,2360,3452,5874,2361,3453,2362,2363,2364,2365,3140,8298,2366,4778,3364,2367,2368,3455,2370,2371,3457,6261,2378,2379,2382,7770,3464,2392,2393,2394,2396,2401,3477,3478,2406,2407,9555,5512,2432,6079,2436,2438,2439,2445,2446,2447,3485,3647,3187,2453,2454,4326,2456,2459,2462,2464,2465,2466,2472,2483,3783,2484,2485,4031,3492,2492,2493,3493,2495,2500,2505,2506,2509,2510,3368,3160,2515,3216,2520,2524,6084,5480,4896,5514,7719,5991,2576,3714,3525,2578,2579,2580,2581,2583,2586,2588,2597,3374,2600,3529,2601,3530,2602,3376,4329,2604,2614,2615,2618,3537,2622,2623,2625,2627,3654,3236,4498,5994,3542,2634,2635,2637,2638,2640,3794,2642,2647,2651,2654,2655,2657,2658,2660,2662,2667,3798,2668,2669,3548,2672,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098,2680,2681,3552,2686,2688,2692,2693,2694,2697,2698,2699,2703,2704,3556,2707,2712,2714,2717,2718,2720,2721,2722,2738,3564,3383,2741,2742,2746,2747,2751,2753,2756,5335,2762,2763,2767,2768,3952,3953,2773,3570,4511,3384,2777,2779,2784,2787,2788,2799,2808,3386,2822,2827,2848,2882,2888,2889,3606,2900,2902,2903,2904,2916,4472,3609,2922,2923,2924,2925,2926,2929,7276,3394,6458,5792,2940,2941,2949,2950,3621,3622,3623,3624],[],[3207,22310],{"_2214":22311,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":22312,"_2222":22313},"thin",[],[22314,22320],[3825,22315],{"_2214":22316,"_2216":22317,"_2217":2227,"_2219":3825,"_2220":22318,"_2222":22319},"things","gs",[5334,2242,2260,6300,3027,3478,2406,3532,2602,2627,2677,2696,5395,3383,2761,4738,4390],[],[2219,22321],{"_2214":22322,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":22323,"_2222":22324},"think",[2281,2282,2721,2755,2926],[22325],[3002,22326],{"_2214":22327,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":22328,"_2222":22329},"thinking",[2904],[],[3220,22331],{"_2214":22332,"_2216":6631,"_2217":2227,"_2219":3220,"_2220":22333,"_2222":22334},"third",[2889],[],[3220,22336],{"_2214":22337,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":22338,"_2222":22339},"thr",[],[22340,22380],[2217,22341],{"_2214":22342,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":22343,"_2222":22344},"thre",[],[22345,22350,22369],[2217,22346],{"_2214":22347,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":22348,"_2222":22349},"three",[6027,3402,3360,6261,3365,2389,2390,3780,2521,3791,2605,5216,2631,2673,2718,2724,2945,2951],[],[2225,22351],{"_2214":22352,"_2216":2968,"_2217":2227,"_2219":2225,"_2220":22353,"_2222":22354},"thread",[6072,3256,2309,2324,3455,5511,6052,3216,3374,3529,2627,6089,2637,2713,3631,6006],[22355,22360,22365],[2216,22356],{"_2214":22357,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22358,"_2222":22359},"threads",[6072,7538,3455,2369,5511,5750,6052,2627,2630,7564],[],[3002,22361],{"_2214":22362,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":22363,"_2222":22364},"threading",[3455],[],[2217,22366],{"_2214":21215,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":22367,"_2222":22368},[2943],[],[2216,22370],{"_2214":22371,"_2216":22372,"_2217":2227,"_2219":2216,"_2220":22373,"_2222":22374},"threshold","shold",[2300,2301,2319,2380,3266,3267],[22375],[2216,22376],{"_2214":22377,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22378,"_2222":22379},"thresholds",[3179,2501,3265,3519],[],[3017,22381],{"_2214":22382,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":22383,"_2222":22384},"thro",[],[22385,22396,22433],[3691,22386],{"_2214":22387,"_2216":22388,"_2217":2227,"_2219":3691,"_2220":22389,"_2222":22390},"through","ugh",[6071,2283,2302,2303,2304,2336,2363,2398,2440,2443,2447,3187,3488,2485,2486,3179,2513,2584,2595,2656,2674,3384,2776,2777,2797,2857,2861,2897],[22391],[4034,22392],{"_2214":22393,"_2216":6413,"_2217":2227,"_2219":4034,"_2220":22394,"_2222":22395},"throughput",[2279,3256,2306,2328,12933,2364,3455,2369,2375,2458,2857,2884,2889],[],[3099,22397],{"_2214":22398,"_2216":22399,"_2217":2218,"_2219":3099,"_2220":22400,"_2222":22401},"throttl","ttl",[],[22402,22428],[2217,22403],{"_2214":8935,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":22404,"_2222":22405},[2280,6050,4473],[22406,22411],[3220,22407],{"_2214":22408,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":22409,"_2222":22410},"throttler",[2295,2296,2297,2298,2299,2300,2301,2302,2303,2304,2310],[],[2220,22412],{"_2214":22413,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":22414,"_2222":22415},"throttled",[2321],[22416,22422],[3017,22417],{"_2214":22418,"_2216":22419,"_2217":2227,"_2219":3017,"_2220":22420,"_2222":22421},"throttledopwaittime","opwaittime",[2321],[],[4794,22423],{"_2214":22424,"_2216":22425,"_2217":2227,"_2219":4794,"_2220":22426,"_2222":22427},"throttled_op_wait_time","_op_wait_time",[2321],[],[3002,22429],{"_2214":22430,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":22431,"_2222":22432},"throttling",[2295,6050,4510,2319],[],[2214,22434],{"_2214":22435,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":22436,"_2222":22437},"throw",[3424,3425,3429,2589,3037,6107,12007],[22438,22443,22448],[3207,22439],{"_2214":22440,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":22441,"_2222":22442},"thrown",[2473],[],[2216,22444],{"_2214":22445,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22446,"_2222":22447},"throws",[2547,2553,3526],[],[3002,22449],{"_2214":22450,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":22451,"_2222":22452},"throwing",[3377,12436],[],[3691,22454],{"_2214":22455,"_2216":13187,"_2217":2227,"_2219":3691,"_2220":22456,"_2222":22457},"thus",[2245,2254,2336,2984,2379,2443,2450,2458,2525,2588,2721,2742,2794],[],[3017,22459],{"_2214":22460,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":22461,"_2222":22462},"tho",[],[22463,22468],[2216,22464],{"_2214":22465,"_2216":8461,"_2217":2227,"_2219":2216,"_2220":22466,"_2222":22467},"those",[3936,3937,3529,2605,3188,2697,2703,2773],[],[3691,22469],{"_2214":22470,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":22471,"_2222":22472},"thou",[],[22473,22483],[3825,22474],{"_2214":22475,"_2216":7521,"_2217":2227,"_2219":3825,"_2220":22476,"_2222":22477},"though",[2615,2651,3383,2741,2779,2869],[22478],[3099,22479],{"_2214":22480,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":22481,"_2222":22482},"thought",[2741],[],[2216,22484],{"_2214":22485,"_2216":22486,"_2217":2227,"_2219":2216,"_2220":22487,"_2222":22488},"thousands","sands",[2707,2817,3603,2890,2894],[],[3017,22490],{"_2214":5697,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":22491,"_2222":22493},[2231,2232,2234,2236,2237,3355,2238,3767,2239,4359,2241,5390,3401,5334,2243,2244,2245,2246,2247,3055,4457,2248,2253,6074,2254,2255,2977,5873,3152,5393,2256,2257,6076,2259,4460,4324,2261,2264,2266,3411,2271,5985,2272,4461,3153,3104,2274,2275,5538,3930,3178,3416,2276,2277,3770,2278,2279,2280,3417,2281,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,4510,2309,2310,6051,3090,5182,3259,5987,3420,2316,3423,3424,3425,3426,5477,8296,2317,3774,4360,3775,2320,2321,2323,2324,3427,2978,3429,3430,2979,2325,3431,2326,2327,4488,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,3361,3432,3433,3434,3435,2338,2339,2340,2341,4652,7828,3674,4646,3231,2343,2344,2345,2346,2347,5960,2348,2349,4825,2350,3645,3362,2351,2353,3439,3441,3363,3443,3155,2355,3262,3263,3446,3447,4361,3933,3934,4496,2356,2357,6300,2359,2360,3452,5874,7038,6077,2362,2363,2364,3232,2365,3140,2366,4778,3364,2367,2368,3455,2369,5511,2370,2371,2372,3779,2373,3458,3060,2980,2981,2982,2983,3061,2984,3062,2985,3063,2986,2987,2988,2374,2989,2375,2378,2379,2380,2381,2382,3461,2386,2387,3285,2388,2390,2391,2392,2394,2395,2396,5790,2399,2400,5989,3476,3027,2402,2403,3477,2404,3478,2406,2408,3781,4465,5183,3480,7605,22492,2429,2430,2431,2435,2436,2437,2438,2439,4497,2440,3157,2443,2444,2446,2447,3485,3647,2450,2452,3187,3486,3648,2453,2454,3487,3649,2456,3488,2458,3489,2459,2460,2461,2462,2463,3366,2464,2465,2466,6681,6248,2470,2471,2472,2478,2479,2480,2483,3783,2485,2486,2488,2489,2491,4031,3492,2492,2493,2494,3935,3493,3214,3179,4467,3494,4596,3495,3496,3215,7548,13343,3500,11268,3501,2501,3502,2503,2504,4938,2505,2506,2508,3264,6696,6682,2509,2510,2511,2512,3159,3368,4186,3160,2513,2515,3216,2516,2517,2518,3504,2520,2521,2522,2523,2524,2525,2526,3505,2527,3369,3650,3370,6084,2530,2531,4896,5514,2537,2538,3509,2539,5065,2545,2547,3511,3786,2550,3044,2551,2554,2555,2556,2557,2558,3787,2559,2562,2563,3944,2564,7833,4469,2566,3161,15549,2568,3372,18619,2569,2570,3652,7274,2575,2576,2577,7275,3714,2578,2579,2580,2583,2584,3526,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,2597,2598,2599,3374,2600,3529,2601,3530,6264,3948,2602,4095,3375,3376,2603,2604,2605,2606,2607,2608,2613,2614,2615,2616,2618,2619,3537,3538,2624,2625,2626,2627,2629,4849,3654,3236,4498,5994,3542,2632,2633,3268,2634,11275,2635,2637,2638,2639,3543,2641,3794,2642,4244,2643,2645,11277,2648,3795,2649,2650,3982,3379,4664,3545,2651,2653,2655,2657,3204,2658,2659,2661,2662,2663,2665,2667,3798,2668,2669,2670,3548,2671,3037,2672,2673,2674,3549,6092,6095,6096,5190,2675,2676,2678,2679,2680,6242,2681,3552,4332,2682,2684,2686,3381,2687,2688,3271,3800,2689,2691,2692,2693,2694,2695,2696,2697,6100,2698,2699,2700,2702,2703,2704,3556,2705,2706,2707,2708,2709,3557,2710,2711,2712,5875,2714,2715,2716,2717,3559,5395,2718,2719,2720,2721,2722,2725,2726,2727,2728,2730,2731,2732,2733,6976,3560,2734,3951,2735,2736,2738,3562,2739,3564,3383,2740,2741,2742,2744,4347,2746,2747,2749,2750,2751,2752,2754,2757,5335,2759,2760,2761,2762,5631,2764,2767,2768,2771,2772,2773,5999,10844,3570,4511,2774,2775,3384,2776,2777,3237,2778,2779,2780,2784,6000,2786,2787,2788,2797,2798,2800,2802,2805,2806,3578,2808,2810,2813,2814,2816,3585,2817,2819,2823,2824,2827,2828,2829,2831,3954,2833,2836,3388,3588,2839,3589,2841,3592,2843,2845,2846,2848,2849,2850,7554,2856,3602,2857,2859,2861,2862,2864,2865,2869,2871,2873,2879,7556,3391,3392,2881,2882,3956,2883,2884,8746,2885,2888,2889,2890,3605,2894,3805,2899,2900,2901,2902,2903,2904,2906,2907,2908,2909,2910,2916,2917,2918,4472,3609,2919,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,3038,4245,3612,7276,11283,11284,2932,2933,2935,2936,3394,3613,3614,7558,2937,6458,3616,2938,2939,2940,3677,7559,2946,2947,2948,2950,2951,2952,2953,2955,4922,4334,11408,8021,3238,6301,3620,3621,8367,7560,5192,4827,6108,2958,5481,4473,6819,2959,8022,7562,8023,7563,4474,3626,4851,3395,3628,6122,11884,7706,11180,2998,4336,3629,3239,3630,8053,12420,6003,6820,2961,6801,9397,3217,7995,7566,6005,7567,4490,5337,2964,5338,6115,6302,12245,3240,7996,8464],620,[22494,22504,22521,22542,22570,22591,22627,22633,22639,22644],[3099,22495],{"_2214":22496,"_2216":8491,"_2217":2227,"_2219":3099,"_2220":22497,"_2222":22498},"total",[3405,2282,2284,2308,4510,2418,2515,2588,2672,2892,2900,2928],[22499],[3193,22500],{"_2214":22501,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":22502,"_2222":22503},"totally",[2924],[],[3825,22505],{"_2214":22506,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":22507,"_2222":22508},"tog",[],[22509,22515],[2217,22510],{"_2214":22511,"_2216":22512,"_2217":2227,"_2219":2217,"_2220":22513,"_2222":22514},"together","ether",[2272,4470,2635,2662],[],[3825,22516],{"_2214":22517,"_2216":22518,"_2217":2227,"_2219":3825,"_2220":22519,"_2222":22520},"toggle","gle",[3781],[],[3017,22522],{"_2214":22523,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":22524,"_2222":22525},"too",[3358,2283,3258,2292,3775,2332,2777,3596,2885,2908,2925],[22526],[3193,22527],{"_2214":22528,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":22529,"_2222":22530},"tool",[8764,2564,3835,3652,2573,2831,3628,3716],[22531,22537],[2216,22532],{"_2214":22533,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22534,"_2222":22536},"tools",[2336,22535,3515],993,[],[2219,22538],{"_2214":12978,"_2216":22539,"_2217":2227,"_2219":2219,"_2220":22540,"_2222":22541},"kit",[2789],[],[2219,22543],{"_2214":22544,"_2216":22545,"_2217":2227,"_2219":2219,"_2220":22546,"_2222":22547},"token","ken",[2296,2297,2299,2300,9434],[22548,22566],[3280,22549],{"_2214":22550,"_2216":22551,"_2217":2218,"_2219":3280,"_2220":22552,"_2222":22553},"token-b","-b",[],[22554,22560],[2225,22555],{"_2214":22556,"_2216":22557,"_2217":2227,"_2219":2225,"_2220":22558,"_2222":22559},"token-based","ased",[2295,2296,2297,2298,2299,2300,2301],[],[3691,22561],{"_2214":22562,"_2216":22563,"_2217":2227,"_2219":3691,"_2220":22564,"_2222":22565},"token-bucket","ucket",[2295],[],[2216,22567],{"_2214":14196,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22568,"_2222":22569},[2295,2296,2297,2300,2302,2303,2304],[],[4034,22571],{"_2214":22572,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":22573,"_2222":22574},"top",[2788,2817],[22575,22585],[3002,22576],{"_2214":22577,"_2216":4736,"_2217":2227,"_2219":3002,"_2220":22578,"_2222":22579},"topic",[3587],[22580],[2216,22581],{"_2214":22582,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22583,"_2222":22584},"topics",[3464,3587,3803,12601,14667,2890],[],[3017,22586],{"_2214":22587,"_2216":22588,"_2217":2227,"_2219":3017,"_2220":22589,"_2222":22590},"topology","ology",[3597],[],[3193,22592],{"_2214":22593,"_2216":22594,"_2217":2218,"_2219":3193,"_2220":22595,"_2222":22596},"tolera","lera",[],[22597,22612],[3207,22598],{"_2214":22599,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":22600,"_2222":22601},"toleran",[],[22602,22607],[3099,22603],{"_2214":22604,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":22605,"_2222":22606},"tolerant",[2389,2789,2815],[],[2222,22608],{"_2214":22609,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":22610,"_2222":22611},"tolerance",[3477,2848],[],[3099,22613],{"_2214":22614,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":22615,"_2222":22616},"tolerat",[],[22617,22622],[2217,22618],{"_2214":22619,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":22620,"_2222":22621},"tolerate",[2402,2403,2557],[],[3002,22623],{"_2214":22624,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":22625,"_2222":22626},"tolerating",[2404],[],[2214,22628],{"_2214":22629,"_2216":22630,"_2217":2227,"_2219":2214,"_2220":22631,"_2222":22632},"towards","wards",[2458,2484],[],[3691,22634],{"_2214":22635,"_2216":22636,"_2217":2227,"_2219":3691,"_2220":22637,"_2222":22638},"toueg","ueg",[3510],[],[2220,22640],{"_2214":22641,"_2216":6880,"_2217":2227,"_2219":2220,"_2220":22642,"_2222":22643},"todd",[2683],[],[2222,22645],{"_2214":22646,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":22647,"_2222":22648},"toc",[2690],[],[3640,22650],{"_2214":22651,"_2216":22652,"_2217":2218,"_2219":3640,"_2220":22653,"_2222":22654},"typ","yp",[],[22655,22665,22681],[3002,22656],{"_2214":22657,"_2216":22165,"_2217":2227,"_2219":3002,"_2220":22658,"_2222":22659},"typical",[2495,2631,2668,2857],[22660],[3193,22661],{"_2214":22662,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":22663,"_2222":22664},"typically",[2234,2494,2500,2698,2883,3612],[],[2217,22666],{"_2214":5,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":22667,"_2222":22670},[17138,17139,17140,17141,17142,17143,17144,17145,3260,3261,2363,17146,17147,22668,22669,17148,12926,5791,2510,2568,2569,17149,17150,3268,17151,17152,17153,17154,2707,3299,17155,17156,17157,2939,17158,17159],638,693,[22671,22676],[2216,22672],{"_2214":22673,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22674,"_2222":22675},"types",[2284,2473,3533,2729],[],[2220,22677],{"_2214":22678,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":22679,"_2222":22680},"typed",[2347,2349],[],[3017,22682],{"_2214":22683,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":22684,"_2222":22685},"typo",[6923],[],[2214,22687],{"_2214":22688,"_2216":2214,"_2217":2218,"_2219":2214,"_2220":22689,"_2222":22690},"tw",[],[22691,22716],[3017,22692],{"_2214":22693,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":22694,"_2222":22695},"two",[2237,2277,2293,2294,2329,2375,6261,2378,2384,2388,2390,4044,2437,2445,3484,3488,2458,2473,2484,2512,2516,2517,2522,3651,2538,3509,2545,3265,2584,2589,3374,3540,3541,2626,2627,2630,2638,2654,2658,2686,3188,2691,2700,2703,2713,2721,3565,2754,2755,2776,2884,3604,2901,6106,2907,2921,2926,2929,2943,2946,2950,8464],[22696],[3280,22697],{"_2214":22698,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":22699,"_2222":22700},"two-",[],[22701,22706],[3002,22702],{"_2214":22703,"_2216":16742,"_2217":2227,"_2219":3002,"_2220":22704,"_2222":22705},"two-instance",[3504,2525,2548],[],[4034,22707],{"_2214":22708,"_2216":19988,"_2217":2227,"_2219":4034,"_2220":22709,"_2222":22710},"two-phase",[3554,2774,2918],[22711],[2220,22712],{"_2214":22713,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":22714,"_2222":22715},"two-phased",[14775,2775],[],[3002,22717],{"_2214":22718,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":22719,"_2222":22720},"twi",[],[22721,22728],[3099,22722],{"_2214":22723,"_2216":22724,"_2217":2227,"_2219":3099,"_2220":22725,"_2222":22727},"twitter","tter",[22726,2850,7554,3597,3598,7555,12601,14667],1619,[],[2222,22729],{"_2214":22730,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":22731,"_2222":22732},"twice",[3613],[],[3002,22734],{"_2214":3902,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":22735,"_2222":22736},[],[22737,22797,22817,22822,22837,22842],[2972,22738],{"_2214":22739,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":22740,"_2222":22741},"tim",[],[22742,22792],[2217,22743],{"_2214":8771,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":22744,"_2222":22745},[3254,2259,2277,2281,2282,2290,3419,3258,2292,2293,2294,2306,3772,2309,6051,2313,2314,2321,2322,2323,3427,2326,2327,4488,2332,3362,2357,3454,3456,2373,2980,2374,2379,2382,2460,2461,2486,2503,3505,2528,2534,3508,3651,3652,2578,2628,9863,2654,2657,2658,11278,2662,2667,11280,2674,3549,8210,8211,2693,3950,10573,2699,2735,2736,2744,2749,2755,4511,2800,2836,2865,2872,2873,2888,2894,3805,2901,2921,3613,2948,2949,2957],[22746,22755,22771,22787],[3017,22747],{"_2214":16250,"_2216":6379,"_2217":2227,"_2219":3017,"_2220":22748,"_2222":22749},[7538,2277,4486,4487,2305,2311,3775,4488,3776,3777,3931,2357,3454,11274,2674,2695,2696,2697,2699,2708,2916,2926,3613,2949],[22750],[2216,22751],{"_2214":22752,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22753,"_2222":22754},"timeouts",[2277,2655,2674,2689,6265,3805,2948,2949],[],[2216,22756],{"_2214":22757,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22758,"_2222":22759},"times",[4486,4487,5750,5513,2594,3538,2674,2695,2703,2720,2736],[22760],[3099,22761],{"_2214":22762,"_2216":22763,"_2217":2227,"_2219":3099,"_2220":22764,"_2222":22765},"timestamp","tamp",[2259,2662],[22766],[2216,22767],{"_2214":22768,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22769,"_2222":22770},"timestamps",[2662,3549,2865],[],[3193,22772],{"_2214":22773,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":22774,"_2222":22775},"timel",[],[22776,22782],[3002,22777],{"_2214":22778,"_2216":22779,"_2217":2227,"_2219":3002,"_2220":22780,"_2222":22781},"timeliness","iness",[2406,3545,2657,2873],[],[3640,22783],{"_2214":22784,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":22785,"_2222":22786},"timely",[2787,2821],[],[3220,22788],{"_2214":22789,"_2216":14873,"_2217":2227,"_2219":3220,"_2220":22790,"_2222":22791},"timers",[2740],[],[3002,22793],{"_2214":22794,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":22795,"_2222":22796},"timing",[2674,2699,2717],[],[2222,22798],{"_2214":22799,"_2216":13506,"_2217":2227,"_2219":2222,"_2220":22800,"_2222":22801},"tick",[2277,2674,2949],[22802,22807,22812],[3099,22803],{"_2214":22804,"_2216":8771,"_2217":2227,"_2219":3099,"_2220":22805,"_2222":22806},"ticktime",[2277,4486,4487,2326,2327,4488,2332,3931,2695,2926,3613,2949],[],[2216,22808],{"_2214":22809,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22810,"_2222":22811},"ticks",[2277,2327,4488,2332,2674,2949],[],[2217,22813],{"_2214":22814,"_2216":8685,"_2217":2227,"_2219":2217,"_2220":22815,"_2222":22816},"ticket",[4475],[],[3193,22818],{"_2214":22819,"_2216":12831,"_2217":2227,"_2219":3193,"_2220":22820,"_2222":22821},"till",[2371],[],[4034,22823],{"_2214":22824,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":22825,"_2222":22826},"tip",[],[22827,22832],[2216,22828],{"_2214":22829,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22830,"_2222":22831},"tips",[3551],[],[3193,22833],{"_2214":22834,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":22835,"_2222":22836},"tiple",[2846],[],[2217,22838],{"_2214":22839,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":22840,"_2222":22841},"tied",[2712],[],[3825,22843],{"_2214":22844,"_2216":22845,"_2217":2227,"_2219":3825,"_2220":22846,"_2222":22847},"tigeranalytics","geranalytics",[4434],[],[3193,22849],{"_2214":22850,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":22851,"_2222":22852},"tl",[],[22853,23004],[2216,22854],{"_2214":22855,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":22856,"_2222":22858},"tls",[3052,3054,3406,3411,22857,5985,3412,5986,3104,3154,2273,3415,16199,6299,3775,2320,2322,2323,2351,2353,3439,3440,3441,3442,3443,3155,3444,2355,3263,2434,3268,3618,7560,6200,11582,2998,7565],141,[22859,22865,22999],[3066,22860],{"_2214":22861,"_2216":22862,"_2217":2227,"_2219":3066,"_2220":22863,"_2222":22864},"tlsv1","v1",[3439,3440,3449,3450,3810],[],[4794,22866],{"_2214":22867,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":22868,"_2222":22869},"tls_",[],[22870,22975,22993],[2217,22871],{"_2214":22872,"_2216":22873,"_2217":2218,"_2219":2217,"_2220":22874,"_2222":22875},"tls_ecdhe_","ecdhe_",[],[22876,22929],[2217,22877],{"_2214":22878,"_2216":22879,"_2217":2218,"_2219":2217,"_2220":22880,"_2222":22881},"tls_ecdhe_ecdsa_with_aes_","ecdsa_with_aes_",[],[22882,22906],[6884,22883],{"_2214":22884,"_2216":22885,"_2217":2218,"_2219":6884,"_2220":22886,"_2222":22887},"tls_ecdhe_ecdsa_with_aes_128_","128_",[],[22888,22900],[2222,22889],{"_2214":22890,"_2216":22891,"_2217":2227,"_2219":2222,"_2220":22892,"_2222":22893},"tls_ecdhe_ecdsa_with_aes_128_cbc_sha","cbc_sha",[3449,3450],[22894],[5968,22895],{"_2214":22896,"_2216":22897,"_2217":2227,"_2219":5968,"_2220":22898,"_2222":22899},"tls_ecdhe_ecdsa_with_aes_128_cbc_sha256","256",[3449,3450],[],[3825,22901],{"_2214":22902,"_2216":22903,"_2217":2227,"_2219":3825,"_2220":22904,"_2222":22905},"tls_ecdhe_ecdsa_with_aes_128_gcm_sha256","gcm_sha256",[3449,3450],[],[5968,22907],{"_2214":22908,"_2216":22909,"_2217":2218,"_2219":5968,"_2220":22910,"_2222":22911},"tls_ecdhe_ecdsa_with_aes_256_","256_",[],[22912,22923],[2222,22913],{"_2214":22914,"_2216":22891,"_2217":2227,"_2219":2222,"_2220":22915,"_2222":22916},"tls_ecdhe_ecdsa_with_aes_256_cbc_sha",[3449,3450],[22917],[11313,22918],{"_2214":22919,"_2216":22920,"_2217":2227,"_2219":11313,"_2220":22921,"_2222":22922},"tls_ecdhe_ecdsa_with_aes_256_cbc_sha384","384",[3449,3450],[],[3825,22924],{"_2214":22925,"_2216":22926,"_2217":2227,"_2219":3825,"_2220":22927,"_2222":22928},"tls_ecdhe_ecdsa_with_aes_256_gcm_sha384","gcm_sha384",[3449,3450],[],[3220,22930],{"_2214":22931,"_2216":22932,"_2217":2218,"_2219":3220,"_2220":22933,"_2222":22934},"tls_ecdhe_rsa_with_aes_","rsa_with_aes_",[],[22935,22955],[6884,22936],{"_2214":22937,"_2216":22885,"_2217":2218,"_2219":6884,"_2220":22938,"_2222":22939},"tls_ecdhe_rsa_with_aes_128_",[],[22940,22950],[2222,22941],{"_2214":22942,"_2216":22891,"_2217":2227,"_2219":2222,"_2220":22943,"_2222":22944},"tls_ecdhe_rsa_with_aes_128_cbc_sha",[3449,3450],[22945],[5968,22946],{"_2214":22947,"_2216":22897,"_2217":2227,"_2219":5968,"_2220":22948,"_2222":22949},"tls_ecdhe_rsa_with_aes_128_cbc_sha256",[3449,3450],[],[3825,22951],{"_2214":22952,"_2216":22903,"_2217":2227,"_2219":3825,"_2220":22953,"_2222":22954},"tls_ecdhe_rsa_with_aes_128_gcm_sha256",[3449,3450],[],[5968,22956],{"_2214":22957,"_2216":22909,"_2217":2218,"_2219":5968,"_2220":22958,"_2222":22959},"tls_ecdhe_rsa_with_aes_256_",[],[22960,22970],[2222,22961],{"_2214":22962,"_2216":22891,"_2217":2227,"_2219":2222,"_2220":22963,"_2222":22964},"tls_ecdhe_rsa_with_aes_256_cbc_sha",[3449,3450],[22965],[11313,22966],{"_2214":22967,"_2216":22920,"_2217":2227,"_2219":11313,"_2220":22968,"_2222":22969},"tls_ecdhe_rsa_with_aes_256_cbc_sha384",[3449,3450],[],[3825,22971],{"_2214":22972,"_2216":22926,"_2217":2227,"_2219":3825,"_2220":22973,"_2222":22974},"tls_ecdhe_rsa_with_aes_256_gcm_sha384",[3449,3450],[],[2225,22976],{"_2214":22977,"_2216":22978,"_2217":2218,"_2219":2225,"_2220":22979,"_2222":22980},"tls_aes_","aes_",[],[22981,22987],[5968,22982],{"_2214":22983,"_2216":22984,"_2217":2227,"_2219":5968,"_2220":22985,"_2222":22986},"tls_aes_256_gcm_sha384","256_gcm_sha384",[3449,3450],[],[6884,22988],{"_2214":22989,"_2216":22990,"_2217":2227,"_2219":6884,"_2220":22991,"_2222":22992},"tls_aes_128_gcm_sha256","128_gcm_sha256",[3449,3450],[],[2222,22994],{"_2214":22995,"_2216":22996,"_2217":2227,"_2219":2222,"_2220":22997,"_2222":22998},"tls_chacha20_poly1305_sha256","chacha20_poly1305_sha256",[3449,3450],[],[3280,23000],{"_2214":23001,"_2216":15650,"_2217":2227,"_2219":3280,"_2220":23002,"_2222":23003},"tls-only",[2435,2563],[],[2225,23005],{"_2214":23006,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":23007,"_2222":23008},"tla",[2964],[],[2222,23010],{"_2214":23011,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":23012,"_2222":23013},"tc",[],[23014,23029],[4034,23015],{"_2214":23016,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":23017,"_2222":23018},"tcp",[3057,2320,3432,3433,2357,2365,2697,2708,2861,4025,2926,2950],[23019,23024],[3280,23020],{"_2214":23021,"_2216":5222,"_2217":2227,"_2219":3280,"_2220":23022,"_2222":23023},"tcp-based",[2325],[],[2219,23025],{"_2214":13410,"_2216":23026,"_2217":2227,"_2219":2219,"_2220":23027,"_2222":23028},"keepalive",[3432,3433],[],[3207,23030],{"_2214":23031,"_2216":23032,"_2217":2227,"_2219":3207,"_2220":23033,"_2222":23034},"tcnative","native",[10822],[],[4309,23036],{"_2214":23037,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":23038,"_2222":23039},"tx",[2775],[23040,23060],[3207,23041],{"_2214":23042,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":23043,"_2222":23044},"txn",[2257,2283,5987,3420,3421,3423,3424,7563,11180],[23045],[3193,23046],{"_2214":19494,"_2216":14792,"_2217":2227,"_2219":3193,"_2220":23047,"_2222":23048},[2367],[23049,23055],[2216,23050],{"_2214":23051,"_2216":23052,"_2217":2227,"_2219":2216,"_2220":23053,"_2222":23054},"txnlogsizelimitinkb","sizelimitinkb",[2283],[],[3099,23056],{"_2214":23057,"_2216":12978,"_2217":2227,"_2219":3099,"_2220":23058,"_2222":23059},"txnlogtoolkit",[3459,9607],[],[3099,23061],{"_2214":23062,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":23063,"_2222":23064},"txt",[2527],[],[3691,23066],{"_2214":23067,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":23068,"_2222":23069},"tu",[],[23070,23085,23110,23116,23123],[3220,23071],{"_2214":23072,"_2216":14420,"_2217":2227,"_2219":3220,"_2220":23073,"_2222":23074},"turn",[3154,2288,2289,3212,2366,2405,2448,2472,4498,2651],[23075,23080],[2217,23076],{"_2214":23077,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":23078,"_2222":23079},"turned",[3198,2283,2288,2289,3481],[],[3002,23081],{"_2214":23082,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":23083,"_2222":23084},"turning",[2319,3360,2339,3452,2707],[],[3207,23086],{"_2214":23087,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":23088,"_2222":23089},"tun",[],[23090,23095,23105],[3002,23091],{"_2214":23092,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":23093,"_2222":23094},"tuning",[3058,5884,19246],[],[2217,23096],{"_2214":23097,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":23098,"_2222":23099},"tune",[3770,2288,2289,2295,2296,2297,2298,2299,2300,2301],[23100],[2220,23101],{"_2214":23102,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":23103,"_2222":23104},"tuned",[2326],[],[2225,23106],{"_2214":23107,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":23108,"_2222":23109},"tunable",[2815],[],[2216,23111],{"_2214":23112,"_2216":23113,"_2217":2227,"_2219":2216,"_2220":23114,"_2222":23115},"tushar","shar",[3510],[],[3099,23117],{"_2214":23118,"_2216":23119,"_2217":2227,"_2219":3099,"_2220":23120,"_2222":23122},"tutorial","torial",[2573,23121,3524,3525,3553],1078,[],[3871,23124],{"_2214":23125,"_2216":23126,"_2217":2227,"_2219":3871,"_2220":23127,"_2222":23129},"tubemogul","bemogul",[23128],1618,[],[3099,23131],{"_2214":22399,"_2216":22850,"_2217":2227,"_2219":3099,"_2220":23132,"_2222":23134},[3771,2291,3456,3457,2395,2412,3546,23133,2671,3037,4217],1300,[],[3871,23136],{"_2214":23137,"_2216":23138,"_2217":2227,"_2219":3871,"_2220":23139,"_2222":23140},"tbd","bd",[3445],[],[6884,23142],{"_2214":23143,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":23144,"_2222":23145},"t1",[3506],[],[5968,23147],{"_2214":23148,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":23149,"_2222":23150},"t2",[2533],[],[11313,23152],{"_2214":23153,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":23154,"_2222":23155},"t3",[8373],[],[11353,23157],{"_2214":23158,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":23159,"_2222":23160},"t4",[3507],[],[11327,23162],{"_2214":23163,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":23164,"_2222":23165},"t5",[4890,4896],[],[2220,23167],{"_2214":2220,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":23168,"_2222":23169},[2290,2433,2460,2461,2462,2483,2484,4470,2848],[23170,23327,23772,24580,24660,24835,24841,24864,24961,24984],[2225,23171],{"_2214":23172,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":23173,"_2222":23174},"da",[],[23175,23272,23277,23288,23304,23321],[3099,23176],{"_2214":23177,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":23178,"_2222":23179},"dat",[],[23180,23268],[2225,23181],{"_2214":3,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":23182,"_2222":23184},[2229,6014,2231,5393,2260,4324,2264,4772,3259,5987,6216,2315,3420,3421,3423,5476,2317,2327,2329,2341,2361,7038,6077,2362,2364,2366,2367,2368,2370,2374,7829,3459,22218,2375,6021,2377,2378,2379,2382,3461,2394,2396,2402,2403,3477,2416,2424,2428,2429,2430,3487,3494,3495,7548,2502,2506,2511,2550,2559,2560,2567,3265,3790,3523,23183,2586,3527,3374,2603,2605,2610,2611,12856,3541,2634,2651,2658,20790,3546,5057,2659,2662,2663,2666,2667,2668,2673,6095,6097,3552,2687,2712,3559,2718,2719,2721,2732,2734,2752,2793,2794,2800,2806,2813,2815,2816,3584,2817,2831,2842,2843,2849,2851,3014,3599,2856,2857,2864,2865,2866,2878,2879,7556,3391,2890,2895,2925,2926,3957,3958,2942,4113,2955,7634,7754,3626,3628,2999,5337],1066,[23185,23204,23216,23233,23240,23250,23262],[3871,23186],{"_2214":23187,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":23188,"_2222":23189},"datab",[],[23190,23199],[2225,23191],{"_2214":13121,"_2216":19989,"_2217":2227,"_2219":2225,"_2220":23192,"_2222":23193},[2238,4324,3416,3259,2396,3494,3495,2503,2561,2562,2667,2795,2811,3387,2832,3589,3597,3391,3392,3614,5192],[23194],[2216,23195],{"_2214":23196,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23197,"_2222":23198},"databases",[2577],[],[3002,23200],{"_2214":23201,"_2216":17209,"_2217":2227,"_2219":3002,"_2220":23202,"_2222":23203},"databind",[12420,7567],[],[2220,23205],{"_2214":23206,"_2216":23207,"_2217":2227,"_2219":2220,"_2220":23208,"_2222":23209},"datadir","dir",[2238,2264,3416,2278,2279,3418,2366,4778,2394,2562,3394,3614,3615,2997],[23210],[4794,23211],{"_2214":23212,"_2216":23213,"_2217":2227,"_2219":4794,"_2220":23214,"_2222":23215},"datadir_size","_size",[3407],[],[3193,23217],{"_2214":23218,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":23219,"_2222":23220},"datal",[],[23221,23227],[3017,23222],{"_2214":23223,"_2216":23224,"_2217":2227,"_2219":3017,"_2220":23225,"_2222":23226},"datalogdir","ogdir",[2238,2278,2279,3418,2562,2955],[],[2217,23228],{"_2214":23229,"_2216":23230,"_2217":2227,"_2219":2217,"_2220":23231,"_2222":23232},"datalength","ength",[6097],[],[3099,23234],{"_2214":23235,"_2216":21910,"_2217":2227,"_2219":3099,"_2220":23236,"_2222":23239},"datatree",[3259,5987,23237,23238,4415],775,788,[],[2222,23241],{"_2214":23242,"_2216":16168,"_2217":2227,"_2219":2222,"_2220":23243,"_2222":23244},"datacenter",[2326,2384,2517],[23245],[2216,23246],{"_2214":23247,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23248,"_2222":23249},"datacenters",[2517],[],[2972,23251],{"_2214":23252,"_2216":20674,"_2217":2227,"_2219":2972,"_2220":23253,"_2222":23255},"datamonitor",[2595,13307,23254,3374,3947,2600,3529,2601,3530,3948,3532,4095,3376,8008,2604],1119,[23256],[3193,23257],{"_2214":23258,"_2216":23259,"_2217":2227,"_2219":3193,"_2220":23260,"_2222":23261},"datamonitorlistener","listener",[2600,2601,3531],[],[2216,23263],{"_2214":23264,"_2216":23265,"_2217":2227,"_2219":2216,"_2220":23266,"_2222":23267},"datasets","sets",[2831,3388],[],[2217,23269],{"_2214":6437,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":23270,"_2222":23271},[2456,2948],[],[3002,23273],{"_2214":23274,"_2216":18794,"_2217":2227,"_2219":3002,"_2220":23275,"_2222":23276},"daily",[2234],[],[2217,23278],{"_2214":23279,"_2216":23280,"_2217":2227,"_2219":2217,"_2220":23281,"_2222":23282},"daemon","emon",[7564],[23283],[3099,23284],{"_2214":23285,"_2216":22533,"_2217":2227,"_2219":3099,"_2220":23286,"_2222":23287},"daemontools",[2237],[],[3640,23289],{"_2214":23290,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":23291,"_2222":23292},"day",[2635],[23293,23298],[2216,23294],{"_2214":23295,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23296,"_2222":23297},"days",[2290],[],[3280,23299],{"_2214":23300,"_2216":23301,"_2217":2227,"_2219":3280,"_2220":23302,"_2222":23303},"day-to-day","-to-day",[2407],[],[3207,23305],{"_2214":23306,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":23307,"_2222":23308},"dan",[],[23309,23315],[3002,23310],{"_2214":23311,"_2216":23312,"_2217":2227,"_2219":3002,"_2220":23313,"_2222":23314},"daniele","iele",[16235],[],[3825,23316],{"_2214":23317,"_2216":23318,"_2217":2227,"_2219":3825,"_2220":23319,"_2222":23320},"dangerous","gerous",[2366,2368],[],[2216,23322],{"_2214":23323,"_2216":23324,"_2217":2227,"_2219":2216,"_2220":23325,"_2222":23326},"dashboard","shboard",[3502,2503],[],[3002,23328],{"_2214":20978,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":23329,"_2222":23330},[],[23331,23365,23412,23681,23729,23746,23756,23762],[3220,23332],{"_2214":23207,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":23333,"_2222":23334},[],[23335,23360],[2217,23336],{"_2214":23337,"_2216":9197,"_2217":2227,"_2219":2217,"_2220":23338,"_2222":23339},"direct",[2278,3090,2371],[23340,23355],[3017,23341],{"_2214":23342,"_2216":3020,"_2217":2218,"_2219":3017,"_2220":23343,"_2222":23344},"director",[],[23345,23350],[3640,23346],{"_2214":23347,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":23348,"_2222":23349},"directory",[2229,6014,2231,5064,5393,3407,4772,2279,2329,2366,2367,2368,22218,22219,2375,6261,2378,2379,2380,2394,2396,2551,3789,3790,2614,2615,2640,3543,2641,2659,2753,2756,5996,5997,2856,2864,3394,3677,13116,4113,2955,5336],[],[3002,23351],{"_2214":23352,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":23353,"_2222":23354},"directories",[3364,2367,3459,2375,2615,2857],[],[3193,23356],{"_2214":23357,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":23358,"_2222":23359},"directly",[3198,2283,4778,4779,5750,6052,2449,4326,2486,2507,2509,3518,5992,3565,2743],[],[2216,23361],{"_2214":23362,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23363,"_2222":23364},"dirs",[3405,3407,2997],[],[3085,23366],{"_2214":23367,"_2216":23368,"_2217":2227,"_2219":3085,"_2220":23369,"_2222":23370},"diff","ff",[2314,7754,11180],[23371,23406],[2217,23372],{"_2214":23373,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":23374,"_2222":23375},"differ",[2232,2443,2626,2943],[23376,23401],[2217,23377],{"_2214":23378,"_2216":13950,"_2217":2218,"_2219":2217,"_2220":23379,"_2222":23380},"differen",[],[23381,23391],[3099,23382],{"_2214":23383,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":23384,"_2222":23385},"different",[2232,2239,2242,2254,4461,2274,3428,2329,2330,2357,2381,5798,2443,2456,2465,2472,2473,2476,2483,2514,2522,5513,2552,2562,3518,3538,2653,2658,2685,2694,2703,2706,2712,2720,2721,2861,2871,2887,2921,2923,2929,2943,2955,6002],[23386],[3193,23387],{"_2214":23388,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":23389,"_2222":23390},"differently",[2693],[],[2222,23392],{"_2214":23393,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":23394,"_2222":23395},"difference",[2483,2659],[23396],[2216,23397],{"_2214":23398,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23399,"_2222":23400},"differences",[2947],[],[2216,23402],{"_2214":23403,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23404,"_2222":23405},"differs",[3370],[],[3002,23407],{"_2214":23408,"_2216":23409,"_2217":2227,"_2219":3002,"_2220":23410,"_2222":23411},"difficult","icult",[2742],[],[2216,23413],{"_2214":23414,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":23415,"_2222":23416},"dis",[],[23417,23422,23491,23575,23637,23643,23675],[2219,23418],{"_2214":23419,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":23420,"_2222":23421},"disk",[2244,2259,2274,2283,3419,3259,3421,3773,3497,2557,2679,2709,2795,3391],[],[2225,23423],{"_2214":23424,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":23425,"_2222":23426},"disa",[],[23427,23459,23470,23486],[3871,23428],{"_2214":23429,"_2216":23430,"_2217":2218,"_2219":3871,"_2220":23431,"_2222":23432},"disabl","bl",[],[23433,23454],[2217,23434],{"_2214":23435,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":23436,"_2222":23437},"disable",[3415,3930,2282,3419,3090,8296,2320,2340,3140,2986,2440,3648,3179,3044,4849,3236,17535,5875,3618,11878,11453],[23438,23443,23448],[2220,23439],{"_2214":23440,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":23441,"_2222":23442},"disabled",[2248,3056,3057,3771,2295,2298,2306,3772,4510,2311,3422,3426,15117,3774,2320,2336,2337,2341,5960,4825,2358,3448,2360,4778,3364,2367,2984,2985,3481,3489,3490,3179,2504,2635,3544,3037,4827],[],[2216,23444],{"_2214":23445,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23446,"_2222":23447},"disables",[2253,2636,4331],[],[2225,23449],{"_2214":23450,"_2216":23451,"_2217":2227,"_2219":2225,"_2220":23452,"_2222":23453},"disableautowatchreset","autowatchreset",[4498],[],[3002,23455],{"_2214":23456,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":23457,"_2222":23458},"disabling",[4772,2336,2337,3442,3140],[],[2216,23460],{"_2214":23461,"_2216":23462,"_2217":2227,"_2219":2216,"_2220":23463,"_2222":23464},"disastrous","strous",[2558],[23465],[3193,23466],{"_2214":23467,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":23468,"_2222":23469},"disastrously",[2557],[],[4034,23471],{"_2214":23472,"_2216":23473,"_2217":2218,"_2219":4034,"_2220":23474,"_2222":23475},"disappear","ppear",[],[23476,23481],[2216,23477],{"_2214":23478,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23479,"_2222":23480},"disappears",[12927],[],[3002,23482],{"_2214":23483,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":23484,"_2222":23485},"disappearing",[6264],[],[3193,23487],{"_2214":23488,"_2216":7711,"_2217":2227,"_2219":3193,"_2220":23489,"_2222":23490},"disallow",[2605],[],[2222,23492],{"_2214":23493,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":23494,"_2222":23495},"disc",[],[23496,23543,23564],[3017,23497],{"_2214":23498,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":23499,"_2222":23500},"disco",[],[23501,23506,23537],[3066,23502],{"_2214":13272,"_2216":23503,"_2217":2227,"_2219":3066,"_2220":23504,"_2222":23505},"very",[2270,2668,3385,2797,4388,3583,2833,3594,2848,7554,3390],[],[3207,23507],{"_2214":23508,"_2216":23509,"_2217":2227,"_2219":3207,"_2220":23510,"_2222":23511},"disconnect","nnect",[2338,2704,2706,2738],[23512,23527,23532],[3002,23513],{"_2214":23514,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":23515,"_2222":23516},"disconnecti",[],[23517,23522],[3207,23518],{"_2214":23519,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":23520,"_2222":23521},"disconnecting",[2323,2458],[],[3017,23523],{"_2214":23524,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":23525,"_2222":23526},"disconnection",[2373,2696],[],[2216,23528],{"_2214":23529,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23530,"_2222":23531},"disconnects",[2373,2675,2702,2716],[],[2217,23533],{"_2214":23534,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":23535,"_2222":23536},"disconnected",[2511,2675,2692,2697,3950,2698,2703,2722,2738],[],[3691,23538],{"_2214":23539,"_2216":23540,"_2217":2227,"_2219":3691,"_2220":23541,"_2222":23542},"discouraged","uraged",[2443],[],[3691,23544],{"_2214":23545,"_2216":23546,"_2217":2218,"_2219":3691,"_2220":23547,"_2222":23548},"discuss","uss",[],[23549,23554],[2217,23550],{"_2214":23551,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":23552,"_2222":23553},"discussed",[3426],[],[3002,23555],{"_2214":23556,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":23557,"_2222":23558},"discussion",[2579,3554,3394],[23559],[2216,23560],{"_2214":23561,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23562,"_2222":23563},"discussions",[2681],[],[2225,23565],{"_2214":23566,"_2216":23567,"_2217":2227,"_2219":2225,"_2220":23568,"_2222":23569},"discard","ard",[2909],[23570],[2217,23571],{"_2214":23572,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":23573,"_2222":23574},"discarded",[2522,2909],[],[3099,23576],{"_2214":23577,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":23578,"_2222":23579},"dist",[],[23580,23611,23632],[3002,23581],{"_2214":23582,"_2216":7485,"_2217":2218,"_2219":3002,"_2220":23583,"_2222":23584},"distin",[],[23585,23601],[3825,23586],{"_2214":23587,"_2216":23588,"_2217":2218,"_2219":3825,"_2220":23589,"_2222":23590},"distinguishe","guishe",[],[23591,23596],[2220,23592],{"_2214":23593,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":23594,"_2222":23595},"distinguished",[2272],[],[2216,23597],{"_2214":23598,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23599,"_2222":23600},"distinguishes",[2441],[],[2222,23602],{"_2214":23603,"_2216":13614,"_2217":2227,"_2219":2222,"_2220":23604,"_2222":23605},"distinct",[2951],[23606],[3002,23607],{"_2214":23608,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":23609,"_2222":23610},"distinction",[3433,2510],[],[3220,23612],{"_2214":23613,"_2216":23614,"_2217":2218,"_2219":3220,"_2220":23615,"_2222":23616},"distribut","ribut",[],[23617,23627],[3002,23618],{"_2214":23619,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":23620,"_2222":23621},"distribution",[2933,3623],[23622],[2216,23623],{"_2214":23624,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23625,"_2222":23626},"distributions",[2366],[],[2217,23628],{"_2214":23629,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":23630,"_2222":23631},"distributed",[2437,2438,4497,3371,3510,2577,3524,2586,3545,2659,2663,2680,2681,2683,2744,2752,2753,2755,2756,2774,2785,2789,2792,2794,2797,2799,2800,2804,4388,2813,2814,2815,2816,2817,3387,2824,2826,2827,2831,3954,2832,3586,2835,3388,3588,3389,2843,2846,4131,2849,2850,2851,3390,2855,2856,3602,2857,2858,2859,3805,4252],[],[2216,23633],{"_2214":23634,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23635,"_2222":23636},"dists",[7562],[],[3304,23638],{"_2214":23639,"_2216":23640,"_2217":2227,"_2219":3304,"_2220":23641,"_2222":23642},"disjoint","joint",[2333,2929],[],[4034,23644],{"_2214":23645,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":23646,"_2222":23647},"disp",[],[23648,23664],[3193,23649],{"_2214":23650,"_2216":23651,"_2217":2227,"_2219":3193,"_2220":23652,"_2222":23653},"display","lay",[2567,3547,4393,4408,4411,6801],[23654,23659],[3002,23655],{"_2214":23656,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":23657,"_2222":23658},"displaying",[2455],[],[2217,23660],{"_2214":23661,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":23662,"_2222":23663},"displayed",[3935,6561],[],[2225,23665],{"_2214":23666,"_2216":23667,"_2217":2227,"_2219":2225,"_2220":23668,"_2222":23669},"dispatch","atch",[2637,2722],[23670],[2217,23671],{"_2214":23672,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":23673,"_2222":23674},"dispatched",[3560],[],[3220,23676],{"_2214":23677,"_2216":23678,"_2217":2227,"_2219":3220,"_2220":23679,"_2222":23680},"disruption","ruption",[2467,2468],[],[3825,23682],{"_2214":23683,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":23684,"_2222":23685},"dig",[],[23686,23724],[2217,23687],{"_2214":23688,"_2216":8852,"_2217":2227,"_2219":2217,"_2220":23689,"_2222":23690},"digest",[3980,2257,3259,3421,3423,3424,3425,5476,3426,5477,5478,2340,2341,4645,3674,2342,2421,3514,3533,2607,2616,2618,2619,2622,3188],[23691,23696,23713,23719],[2216,23692],{"_2214":23693,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23694,"_2222":23695},"digests",[2257],[],[2225,23697],{"_2214":23698,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":23699,"_2222":23700},"digesta",[],[23701,23707],[3691,23702],{"_2214":23703,"_2216":23704,"_2217":2227,"_2219":3691,"_2220":23705,"_2222":23706},"digestauthenticationprovider","uthenticationprovider",[2340,2341,4645,3943],[],[3193,23708],{"_2214":23709,"_2216":23710,"_2217":2227,"_2219":3193,"_2220":23711,"_2222":23712},"digestalg","lg",[4645],[],[3280,23714],{"_2214":23715,"_2216":23716,"_2217":2227,"_2219":3280,"_2220":23717,"_2222":23718},"digest-md5","-md5",[3448,4827,4828],[],[2972,23720],{"_2214":23721,"_2216":21511,"_2217":2227,"_2219":2972,"_2220":23722,"_2222":23723},"digestmd5",[4851],[],[3002,23725],{"_2214":23726,"_2216":16221,"_2217":2227,"_2219":3002,"_2220":23727,"_2222":23728},"digits",[2669],[],[3066,23730],{"_2214":23731,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":23732,"_2222":23733},"div",[],[23734,23740],[3002,23735],{"_2214":23736,"_2216":23737,"_2217":2227,"_2219":3002,"_2220":23738,"_2222":23739},"divided","ided",[2280,2473,2631],[],[2217,23741],{"_2214":23742,"_2216":23743,"_2217":2227,"_2219":2217,"_2220":23744,"_2222":23745},"diverge","erge",[2882],[],[2220,23747],{"_2214":23748,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":23749,"_2222":23750},"did",[2843,2909,2942],[23751],[3207,23752],{"_2214":23753,"_2216":17606,"_2217":2227,"_2219":3207,"_2220":23754,"_2222":23755},"didn't",[2331],[],[2225,23757],{"_2214":23758,"_2216":23759,"_2217":2227,"_2219":2225,"_2220":23760,"_2222":23761},"diagnostic","agnostic",[2563],[],[2217,23763],{"_2214":23764,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":23765,"_2222":23766},"die",[2952],[23767],[2216,23768],{"_2214":23769,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23770,"_2222":23771},"dies",[2829,3592],[],[2217,23773],{"_2214":10789,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":23774,"_2222":23775},[],[23776,23788,23847,23939,24074,24236,24334,24350,24401,24431,24513,24534,24540,24556,24574],[3871,23777],{"_2214":23778,"_2216":23779,"_2217":2227,"_2219":3871,"_2220":23780,"_2222":23781},"debug","bug",[13290,6736,3779,3544,4664,5631,7557,7974],[23782],[3825,23783],{"_2214":23784,"_2216":23785,"_2217":2227,"_2219":3825,"_2220":23786,"_2222":23787},"debugging","ging",[2373,7557],[],[3085,23789],{"_2214":23790,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":23791,"_2222":23792},"def",[],[23793,23807],[2225,23794],{"_2214":23795,"_2216":23796,"_2217":2227,"_2219":2225,"_2220":23797,"_2222":23801},"default","ault",[2232,3644,5064,3051,2240,5390,6072,7537,7538,2254,2255,3056,4324,2264,2271,2280,3417,2281,3358,2282,2283,2284,2285,2286,2288,2289,2290,3419,3771,3256,3257,3258,3212,2292,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,5182,2313,2314,8296,15117,2317,3774,4360,2318,2319,2320,2321,2322,2323,2324,3427,2325,2328,2334,3931,2335,2336,2337,3361,3433,3434,2339,2340,2341,4645,3231,5960,4825,3362,3260,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,23798,3263,3446,3447,3932,3933,3934,4496,2356,2357,8463,2359,2360,3452,2361,2362,2363,3232,3140,2366,2368,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372,2373,3458,2986,2375,3481,4595,2437,2440,3187,3492,6561,3214,3179,7547,3502,2504,4938,2515,3370,3944,2564,5991,3529,4849,7834,2631,4518,6090,4498,3542,3268,2634,11275,2635,2636,3544,4331,23799,23800,2642,3037,2698,2927,2937,2950,2955,11878],362,1248,1249,[23802],[2216,23803],{"_2214":23804,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23805,"_2222":23806},"defaults",[2241,2264,4486,4487,2287,3418,2290,2978,4488,3432,3433,3435,2338,3441,3451,2980,2981,2982,2983,2984,2985,2987,2988,2374,2989,2435],[],[3002,23808],{"_2214":23809,"_2216":7485,"_2217":2218,"_2219":3002,"_2220":23810,"_2222":23811},"defin",[],[23812,23827],[2217,23813],{"_2214":23814,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":23815,"_2222":23816},"define",[3771,3255,19627,2674,2755],[23817,23822],[2220,23818],{"_2214":23819,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":23820,"_2222":23821},"defined",[3927,3929,3769,2306,2307,3784,3529,3530,2607,3377,3800],[],[2216,23823],{"_2214":23824,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23825,"_2222":23826},"defines",[2295,2296,2297,2298,2299,2300,2301,2334],[],[3002,23828],{"_2214":23829,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":23830,"_2222":23831},"defini",[],[23832,23837],[3207,23833],{"_2214":23834,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":23835,"_2222":23836},"defining",[3499],[],[3099,23838],{"_2214":23839,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":23840,"_2222":23841},"definition",[4186,2600,2718],[23842],[2216,23843],{"_2214":23844,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23845,"_2222":23846},"definitions",[3577,3607],[],[3099,23848],{"_2214":23849,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":23850,"_2222":23851},"det",[],[23852,23873],[2225,23853],{"_2214":23854,"_2216":23855,"_2217":2227,"_2219":2225,"_2220":23856,"_2222":23857},"detail","ail",[2937],[23858,23863,23868],[2216,23859],{"_2214":23860,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23861,"_2222":23862},"details",[2233,3402,3055,5391,4457,5392,2248,7539,3404,5393,6075,2262,3928,2308,2360,2382,7770,2398,5512,3486,2467,3492,2495,2500,6920,2543,7551,3377,3545,3204,3037,2700,2724,2730,3615,2953,7561],[],[3002,23864],{"_2214":23865,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":23866,"_2222":23867},"detailing",[2246],[],[2217,23869],{"_2214":23870,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":23871,"_2222":23872},"detailed",[2249,2250,2432,3939,2566,2697],[],[2217,23874],{"_2214":23875,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":23876,"_2222":23877},"dete",[],[23878,23894],[3220,23879],{"_2214":23880,"_2216":23881,"_2217":2227,"_2219":3220,"_2220":23882,"_2222":23883},"determine","rmine",[2392,3487,2538,3654,3236,2679,3381,3271,2697,2747],[23884,23889],[2220,23885],{"_2214":23886,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":23887,"_2222":23888},"determined",[2281,2282,2693],[],[2216,23890],{"_2214":23891,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23892,"_2222":23893},"determines",[2288,2293,2294,3772,2329,2340,3364,2687],[],[2222,23895],{"_2214":23896,"_2216":13614,"_2217":2227,"_2219":2222,"_2220":23897,"_2222":23898},"detect",[3259,3421,3231,3260,3261,2465,2530,2531,3509,3268,2657,2699,2776,2817],[23899,23904,23919,23934],[2217,23900],{"_2214":23901,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":23902,"_2222":23903},"detected",[2368],[],[3002,23905],{"_2214":23906,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":23907,"_2222":23908},"detecti",[],[23909,23914],[3017,23910],{"_2214":23911,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":23912,"_2222":23913},"detection",[2469,2517,2818,2838],[],[3207,23915],{"_2214":23916,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":23917,"_2222":23918},"detecting",[2776],[],[3017,23920],{"_2214":23921,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":23922,"_2222":23923},"detector",[6083,2523,2524,2527,3508],[23924,23929],[3030,23925],{"_2214":23926,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":23927,"_2222":23928},"detector's",[2537],[],[2216,23930],{"_2214":23931,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23932,"_2222":23933},"detectors",[3510],[],[2216,23935],{"_2214":23936,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23937,"_2222":23938},"detects",[2703,2743],[],[3193,23940],{"_2214":23941,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":23942,"_2222":23943},"del",[],[23944,24013,24044,24062,24069],[2217,23945],{"_2214":23946,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":23947,"_2222":23948},"dele",[],[23949,24002],[3099,23950],{"_2214":23951,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":23952,"_2222":23953},"delet",[],[23954,23986],[2217,23955],{"_2214":12812,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":23956,"_2222":23958},[2238,2315,23957,2413,2414,2415,4944,2990,2551,2555,2589,2612,3534,2613,2614,12814,3537,2662,2697,2721,3567,3568,2750,2760,4511,2876,2938,8009],551,[23959,23964,23969,23975,23980],[2220,23960],{"_2214":23961,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":23962,"_2222":23963},"deleted",[2234,2368,3457,2372,2396,2411,2507,2565,3265,2603,3798,2670,2671,2675,2719,2721,2722,2726,2737,2773,4511,2822,2828,3955],[],[2216,23965],{"_2214":23966,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":23967,"_2222":23968},"deletes",[3418,2382,2585,2876],[],[2225,23970],{"_2214":23971,"_2216":4455,"_2217":2227,"_2219":2225,"_2220":23972,"_2222":23974},"deleteall",[23973],552,[],[3220,23976],{"_2214":23977,"_2216":9821,"_2217":2227,"_2219":3220,"_2220":23978,"_2222":23979},"deleterecursive",[8151],[],[3002,23981],{"_2214":23982,"_2216":23983,"_2217":2227,"_2219":3002,"_2220":23984,"_2222":23985},"deleteinbatch","inbatch",[5484],[],[3002,23987],{"_2214":23988,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":23989,"_2222":23990},"deleti",[],[23991,23996],[3017,23992],{"_2214":23993,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":23994,"_2222":23995},"deletion",[3457,2737,2751,2782],[],[3207,23997],{"_2214":23998,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":23999,"_2222":24001},"deleting",[24000],962,[],[3825,24003],{"_2214":24004,"_2216":24005,"_2217":2227,"_2219":3825,"_2220":24006,"_2222":24007},"delegate","gate",[3529],[24008],[2220,24009],{"_2214":24010,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":24011,"_2222":24012},"delegated",[3486],[],[3002,24014],{"_2214":24015,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":24016,"_2222":24017},"deli",[],[24018,24038],[3066,24019],{"_2214":24020,"_2216":6500,"_2217":2227,"_2219":3066,"_2220":24021,"_2222":24022},"deliver",[2817,2920],[24023,24028,24033],[3640,24024],{"_2214":24025,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":24026,"_2222":24027},"delivery",[6074,2881,2890,2891,4025,2895,2903],[],[2217,24029],{"_2214":24030,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":24031,"_2222":24032},"delivered",[2347,2349,2847,2891,2892,2893,2895,2899,2900],[],[3002,24034],{"_2214":24035,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24036,"_2222":24037},"delivering",[2817,2832],[],[3871,24039],{"_2214":24040,"_2216":24041,"_2217":2227,"_2219":3871,"_2220":24042,"_2222":24043},"deliberately","berately",[3956],[],[2225,24045],{"_2214":8595,"_2216":6494,"_2217":2227,"_2219":2225,"_2220":24046,"_2222":24047},[2306,2322,2338,2370,2371],[24048,24052,24057],[2972,24049],{"_2214":9770,"_2216":21436,"_2217":2227,"_2219":2972,"_2220":24050,"_2222":24051},[2338],[],[2216,24053],{"_2214":24054,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24055,"_2222":24056},"delays",[2405,2658,2720],[],[2217,24058],{"_2214":24059,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":24060,"_2222":24061},"delayed",[2703],[],[5252,24063],{"_2214":24064,"_2216":24065,"_2217":2227,"_2219":5252,"_2220":24066,"_2222":24068},"delquota","quota",[24067,2555],553,[],[3099,24070],{"_2214":24071,"_2216":21542,"_2217":2227,"_2219":3099,"_2220":24072,"_2222":24073},"delta",[3265],[],[2216,24075],{"_2214":24076,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":24077,"_2222":24078},"des",[],[24079,24129,24192,24218,24224,24230],[3002,24080],{"_2214":24081,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":24082,"_2222":24083},"desi",[],[24084,24124],[3825,24085],{"_2214":24086,"_2216":18063,"_2217":2227,"_2219":3825,"_2220":24087,"_2222":24088},"design",[2324,2524,2595,18486,3947,2627,7182,2874,3606],[24089,24094,24099],[2217,24090],{"_2214":24091,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":24092,"_2222":24093},"designed",[2236,2274,3359,2362,2523,2525,2526,2557,2601,2634,2651,2667,2741,2813,2817,3388,2856,2857,2864,2883],[],[3002,24095],{"_2214":24096,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24097,"_2222":24098},"designing",[2383],[],[2225,24100],{"_2214":24101,"_2216":4975,"_2217":2218,"_2219":2225,"_2220":24102,"_2222":24103},"designat",[],[24104,24119],[2217,24105],{"_2214":24106,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":24107,"_2222":24108},"designate",[2752],[24109,24114],[2216,24110],{"_2214":24111,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24112,"_2222":24113},"designates",[2615],[],[2220,24115],{"_2214":24116,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":24117,"_2222":24118},"designated",[2908],[],[3002,24120],{"_2214":24121,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24122,"_2222":24123},"designating",[2744],[],[3220,24125],{"_2214":24126,"_2216":10629,"_2217":2227,"_2219":3220,"_2220":24127,"_2222":24128},"desired",[2345],[],[2222,24130],{"_2214":24131,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":24132,"_2222":24133},"desc",[],[24134,24181],[3220,24135],{"_2214":24136,"_2216":11189,"_2217":2218,"_2219":3220,"_2220":24137,"_2222":24138},"descri",[],[24139,24164],[3871,24140],{"_2214":24141,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":24142,"_2222":24143},"describ",[],[24144,24159],[2217,24145],{"_2214":24146,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":24147,"_2222":24148},"describe",[3540],[24149,24154],[2220,24150],{"_2214":24151,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":24152,"_2222":24153},"described",[3055,2254,3413,3434,2443,2446,2472,3650,3947,2729,2776,2823],[],[2216,24155],{"_2214":24156,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24157,"_2222":24158},"describes",[5985,3459,5798,2684,3559],[],[3002,24160],{"_2214":24161,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24162,"_2222":24163},"describing",[3608],[],[4034,24165],{"_2214":24166,"_2216":5075,"_2217":2218,"_2219":4034,"_2220":24167,"_2222":24168},"descript",[],[24169,24176],[3002,24170],{"_2214":24171,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":24172,"_2222":24175},"description",[6075,2262,2432,24173,24174],759,784,[],[3017,24177],{"_2214":24178,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":24179,"_2222":24180},"descriptor",[2285],[],[2217,24182],{"_2214":24183,"_2216":24184,"_2217":2227,"_2219":2217,"_2220":24185,"_2222":24186},"descendant","endant",[2418,3266],[24187],[2216,24188],{"_2214":24189,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24190,"_2222":24191},"descendants",[2414],[],[2217,24193],{"_2214":24194,"_2216":24195,"_2217":2218,"_2219":2217,"_2220":24196,"_2222":24197},"deserializ","erializ",[],[24198,24203],[3002,24199],{"_2214":24200,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24201,"_2222":24202},"deserializing",[5476,5478],[],[2217,24204],{"_2214":24205,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":24206,"_2222":24207},"deserialize",[],[24208,24213],[2216,24209],{"_2214":24210,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24211,"_2222":24212},"deserializes",[2978],[],[2220,24214],{"_2214":24215,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":24216,"_2222":24217},"deserialized",[3430],[],[4034,24219],{"_2214":24220,"_2216":24221,"_2217":2227,"_2219":4034,"_2220":24222,"_2222":24223},"despite","pite",[2322,2889],[],[3099,24225],{"_2214":24226,"_2216":24227,"_2217":2227,"_2219":3099,"_2220":24228,"_2222":24229},"destination","tination",[2357,2365],[],[3640,24231],{"_2214":24232,"_2216":24233,"_2217":2227,"_2219":3640,"_2220":24234,"_2222":24235},"desynchronization","ynchronization",[5483],[],[4034,24237],{"_2214":24238,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":24239,"_2222":24240},"dep",[],[24241,24268,24289,24329],[3193,24242],{"_2214":24243,"_2216":24244,"_2217":2227,"_2219":3193,"_2220":24245,"_2222":24246},"deploy","loy",[2388],[24247,24252,24263],[3002,24248],{"_2214":24249,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24250,"_2222":24251},"deploying",[3401,2245,2246,3359,3464,2407],[],[2972,24253],{"_2214":24254,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":24255,"_2222":24257},"deployment",[2245,24256,3462,2383,5790,2401,3027,13678,2693,2714,3574,3577,2845,3390,2885,3623],456,[24258],[2216,24259],{"_2214":24260,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24261,"_2222":24262},"deployments",[2929,2932],[],[2217,24264],{"_2214":24265,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":24266,"_2222":24267},"deployed",[3461,3365,3476,3577],[],[3220,24269],{"_2214":24270,"_2216":24271,"_2217":2218,"_2219":3220,"_2220":24272,"_2222":24273},"deprecat","recat",[],[24274,24284],[2217,24275],{"_2214":24276,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":24277,"_2222":24278},"deprecate",[6107],[24279],[2220,24280],{"_2214":24281,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":24282,"_2222":24283},"deprecated",[3055,3431,4645,4497,21506],[],[3002,24285],{"_2214":24286,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":24287,"_2222":24288},"deprecation",[11981],[],[2217,24290],{"_2214":24291,"_2216":21644,"_2217":2227,"_2219":2217,"_2220":24292,"_2222":24293},"depend",[3461],[24294,24299,24324],[3002,24295],{"_2214":24296,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24297,"_2222":24298},"depending",[2249,2250,2256,3408,3928,2268,2269,2336,3439,2483,3493,2658,2717,2937],[],[2217,24300],{"_2214":24301,"_2216":13950,"_2217":2218,"_2219":2217,"_2220":24302,"_2222":24303},"dependen",[],[24304,24319],[2222,24305],{"_2214":24306,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":24307,"_2222":24308},"dependenc",[],[24309,24314],[3640,24310],{"_2214":24311,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":24312,"_2222":24313},"dependency",[5873,3478,11287,6820],[],[3002,24315],{"_2214":24316,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":24317,"_2222":24318},"dependencies",[4409,3622],[],[3099,24320],{"_2214":24321,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":24322,"_2222":24323},"dependent",[2359],[],[2216,24325],{"_2214":24326,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24327,"_2222":24328},"depends",[2478,2712,2824],[],[3099,24330],{"_2214":24331,"_2216":21900,"_2217":2227,"_2219":3099,"_2220":24332,"_2222":24333},"depth",[15549,2568,18619,2569,6445],[],[2220,24335],{"_2214":24336,"_2216":24337,"_2217":2218,"_2219":2220,"_2220":24338,"_2222":24339},"dedicat","dicat",[],[24340,24345],[2217,24341],{"_2214":24342,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":24343,"_2222":24344},"dedicated",[2243,2276,2278,2279,2369,2375,3365,2394,2405,2538,3509,2678,2884,2955],[],[3002,24346],{"_2214":24347,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24348,"_2222":24349},"dedicating",[2279],[],[3066,24351],{"_2214":24352,"_2216":3066,"_2217":2227,"_2219":3066,"_2220":24353,"_2222":24354},"dev",[3502,2786,2787,7566],[24355,24365],[3002,24356],{"_2214":24357,"_2216":12655,"_2217":2227,"_2219":3002,"_2220":24358,"_2222":24359},"device",[2243,2276,2278,2279,2405,2519,2538,2539,2540,2543,2545,2547,2678,2884],[24360],[2216,24361],{"_2214":24362,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24363,"_2222":24364},"devices",[2375,2539],[],[2217,24366],{"_2214":24367,"_2216":24368,"_2217":2227,"_2219":2217,"_2220":24369,"_2222":24370},"develop","elop",[2597,2809],[24371,24376,24396],[2972,24372],{"_2214":24373,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":24374,"_2222":24375},"development",[2381,2384,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,6053,6054,2399,2500,2800,3593,2883,6458,2944],[],[2217,24377],{"_2214":24378,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":24379,"_2222":24380},"develope",[],[24381,24391],[3220,24382],{"_2214":24383,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":24384,"_2222":24385},"developer",[3462,3463,3465,2646,2647,6930],[24386],[2216,24387],{"_2214":24388,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24389,"_2222":24390},"developers",[2638,2658,3551,2680,6099,2798,3605,2932],[],[2220,24392],{"_2214":24393,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":24394,"_2222":24395},"developed",[2788],[],[3002,24397],{"_2214":24398,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24399,"_2222":24400},"developing",[2648],[],[2225,24402],{"_2214":24403,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":24404,"_2222":24405},"dea",[],[24406,24411,24421],[3099,24407],{"_2214":24408,"_2216":21900,"_2217":2227,"_2219":3099,"_2220":24409,"_2222":24410},"death",[2244],[],[2220,24412],{"_2214":24413,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":24414,"_2222":24415},"dead",[3256,3257,3258,3212,2699],[24416],[3193,24417],{"_2214":24418,"_2216":12586,"_2217":2227,"_2219":3193,"_2220":24419,"_2222":24420},"deadlock",[3602,12092,8151],[],[3193,24422],{"_2214":24423,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":24424,"_2222":24425},"deal",[5217,2848],[24426],[3002,24427],{"_2214":24428,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24429,"_2222":24430},"dealing",[2516,2667],[],[2222,24432],{"_2214":24433,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":24434,"_2222":24435},"dec",[],[24436,24466,24491,24497],[3002,24437],{"_2214":24438,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":24439,"_2222":24440},"deci",[],[24441,24446,24456],[2972,24442],{"_2214":24443,"_2216":20641,"_2217":2227,"_2219":2972,"_2220":24444,"_2222":24445},"decimal",[2252,2254],[],[2220,24447],{"_2214":24448,"_2216":10789,"_2217":2227,"_2219":2220,"_2220":24449,"_2222":24450},"decide",[3256,3257,2292,2590,3529,2775,3384],[24451],[2216,24452],{"_2214":24453,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24454,"_2222":24455},"decides",[3530,6264,2706],[],[2216,24457],{"_2214":24458,"_2216":5364,"_2217":2227,"_2219":2216,"_2220":24459,"_2222":24460},"decision",[2524,2704,2706,2777],[24461],[2216,24462],{"_2214":24463,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24464,"_2222":24465},"decisions",[6352],[],[3220,24467],{"_2214":24468,"_2216":24469,"_2217":2218,"_2219":3220,"_2220":24470,"_2222":24471},"decreas","reas",[],[24472,24486],[2217,24473],{"_2214":14247,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":24474,"_2222":24475},[2300,2301],[24476,24481],[2220,24477],{"_2214":24478,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":24479,"_2222":24480},"decreased",[2300,2704],[],[2216,24482],{"_2214":24483,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24484,"_2222":24485},"decreases",[2375],[],[3002,24487],{"_2214":24488,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24489,"_2222":24490},"decreasing",[3808],[],[3017,24492],{"_2214":24493,"_2216":24494,"_2217":2227,"_2219":3017,"_2220":24495,"_2222":24496},"decompression","ompression",[3518],[],[3193,24498],{"_2214":24499,"_2216":24500,"_2217":2218,"_2219":3193,"_2220":24501,"_2222":24502},"declar","lar",[],[24503,24508],[2217,24504],{"_2214":24505,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":24506,"_2222":24507},"declare",[2578],[],[2225,24509],{"_2214":24510,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":24511,"_2222":24512},"declaration",[6114],[],[3825,24514],{"_2214":24515,"_2216":24516,"_2217":2218,"_2219":3825,"_2220":24517,"_2222":24518},"degrad","grad",[],[24519,24529],[2217,24520],{"_2214":24521,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":24522,"_2222":24523},"degrade",[2392,2679],[24524],[2220,24525],{"_2214":24526,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":24527,"_2222":24528},"degraded",[2283],[],[2225,24530],{"_2214":24531,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":24532,"_2222":24533},"degradation",[3478],[],[3207,24535],{"_2214":24536,"_2216":24537,"_2217":2227,"_2219":3207,"_2220":24538,"_2222":24539},"deny","ny",[3369],[],[2972,24541],{"_2214":24542,"_2216":24543,"_2217":2218,"_2219":2972,"_2220":24544,"_2222":24545},"demonstrat","monstrat",[],[24546,24551],[2217,24547],{"_2214":24548,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":24549,"_2222":24550},"demonstrate",[7719,2591,3379],[],[3002,24552],{"_2214":24553,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24554,"_2222":24555},"demonstrating",[3524],[],[2217,24557],{"_2214":24558,"_2216":24559,"_2217":2218,"_2219":2217,"_2220":24560,"_2222":24561},"deep","ep",[],[24562,24567],[2225,24563],{"_2214":24564,"_2216":19113,"_2217":2227,"_2219":2225,"_2220":24565,"_2222":24566},"deepak",[3510],[],[2220,24568],{"_2214":24569,"_2216":24570,"_2217":2227,"_2219":2220,"_2220":24571,"_2222":24573},"deepdyve","dyve",[24572],1610,[],[3220,24575],{"_2214":24576,"_2216":24577,"_2217":2227,"_2219":3220,"_2220":24578,"_2222":24579},"derived","rived",[2631],[],[3691,24581],{"_2214":24582,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":24583,"_2222":24584},"du",[],[24585,24600,24615,24620,24631,24642,24654],[3220,24586],{"_2214":24587,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":24588,"_2222":24589},"dur",[],[24590,24595],[3002,24591],{"_2214":24592,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24593,"_2222":24594},"during",[2231,2259,6051,3425,3426,2317,2331,2338,3933,3934,2356,3140,3457,2379,2390,2429,2430,2441,2445,2446,2448,3487,2469,2484,2492,5514,2576,2628,4498,2691,2696,2713,2907,3806,2917,2996,11180],[],[2225,24596],{"_2214":24597,"_2216":5457,"_2217":2227,"_2219":2225,"_2220":24598,"_2222":24599},"durability",[3478],[],[2972,24601],{"_2214":24602,"_2216":18033,"_2217":2227,"_2219":2972,"_2220":24603,"_2222":24604},"dump",[3355,3403,3408,3517,2566],[24605,24610],[2217,24606],{"_2214":24607,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":24608,"_2222":24609},"dumped",[2373],[],[2216,24611],{"_2214":24612,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24613,"_2222":24614},"dumps",[3944],[],[2217,24616],{"_2214":24617,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":24618,"_2222":24619},"due",[2280,3771,2291,5477,3775,2395,2557,2579,2651,2658,3609,4334,5192,6819,11180,6005],[],[2225,24621],{"_2214":24622,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":24623,"_2222":24624},"dual",[2635,2884],[24625],[3280,24626],{"_2214":24627,"_2216":24628,"_2217":2227,"_2219":3280,"_2220":24629,"_2222":24630},"dual-core","-core",[3365],[],[4034,24632],{"_2214":24633,"_2216":24634,"_2217":2227,"_2219":4034,"_2220":24635,"_2222":24636},"duplicate","plicate",[2668,2923],[24637],[2216,24638],{"_2214":24639,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24640,"_2222":24641},"duplicates",[3800],[],[3871,24643],{"_2214":24644,"_2216":24645,"_2217":2227,"_2219":3871,"_2220":24646,"_2222":24647},"dubbo","bbo",[4369,2812,3583,4397],[24648],[3280,24649],{"_2214":24650,"_2216":24651,"_2217":2227,"_2219":3280,"_2220":24652,"_2222":24653},"dubbo-zk","-zk",[4397],[],[3099,24655],{"_2214":24656,"_2216":24657,"_2217":2227,"_2219":3099,"_2220":24658,"_2222":24659},"duties","ties",[2836],[],[3017,24661],{"_2214":24662,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":24663,"_2222":24664},"do",[2244,2273,3415,2331,2345,3364,5750,2372,2388,3478,2406,2426,2441,2447,2453,2463,2510,2511,3529,2603,2613,2628,6089,23799,23800,2643,2666,2668,2686,2703,3564,2750,2757,4511,2784,2786,2845,4131,2866,2884,2904,2922,2923,3613,4217,3626,4851,2963],[24665,24706,24749,24764,24779,24792,24808,24818,24823],[2222,24666],{"_2214":24667,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":24668,"_2222":24669},"doc",[2998],[24670,24675,24696],[2216,24671],{"_2214":24672,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24673,"_2222":24674},"docs",[2233,2642,4394,4398,4404,4407,4409,4410,10467,4441,4413],[],[3691,24676],{"_2214":24677,"_2216":24678,"_2217":2227,"_2219":3691,"_2220":24679,"_2222":24680},"document","ument",[2235,2398,2407,2432,4031,3492,2520,2642,2680,3552,3606,7276,2932,4598],[24681,24686,24691],[2217,24682],{"_2214":24683,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":24684,"_2222":24685},"documented",[2254],[],[2225,24687],{"_2214":24688,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":24689,"_2222":24690},"documentation",[3263,3501,2642,3377,2663,6099,2700,2787,4400,3014],[],[2216,24692],{"_2214":24693,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24694,"_2222":24695},"documents",[3539],[],[2219,24697],{"_2214":24698,"_2216":10849,"_2217":2227,"_2219":2219,"_2220":24699,"_2222":24700},"docker",[7566],[24701],[3002,24702],{"_2214":24703,"_2216":19251,"_2217":2227,"_2219":3002,"_2220":24704,"_2222":24705},"dockerized",[7275],[],[2214,24707],{"_2214":24708,"_2216":2214,"_2217":2218,"_2219":2214,"_2220":24709,"_2222":24710},"dow",[],[24711,24743],[3207,24712],{"_2214":20773,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":24713,"_2222":24714},[2236,3212,6051,2321,3431,2335,3362,2368,2390,3780,2404,2447,2448,2458,2467,2471,3374,3529,3530,6264,2604,2630,2779,2836,6458,4474],[24715,24720,24726],[3099,24716],{"_2214":24717,"_2216":8771,"_2217":2227,"_2219":3099,"_2220":24718,"_2222":24719},"downtime",[13237,3104],[],[3825,24721],{"_2214":24722,"_2216":24723,"_2217":2227,"_2219":3825,"_2220":24724,"_2222":24725},"downgrade","grade",[3422,2360],[],[3193,24727],{"_2214":24728,"_2216":24729,"_2217":2227,"_2219":3193,"_2220":24730,"_2222":24732},"download","load",[6262,6134,3502,2503,24731,2933],1932,[24733,24738],[2216,24734],{"_2214":24735,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24736,"_2222":24737},"downloads",[6262],[],[2217,24739],{"_2214":24740,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":24741,"_2222":24742},"downloaded",[8208,2639,2935],[],[2217,24744],{"_2214":24745,"_2216":24746,"_2217":2227,"_2219":2217,"_2220":24747,"_2222":24748},"dowell","ell",[2854],[],[2217,24750],{"_2214":24751,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":24752,"_2222":24753},"does",[2237,2243,2248,2261,2306,2307,4663,2366,2367,2381,2430,3647,2460,2484,2506,2530,2531,2564,2583,2584,2590,2600,3529,3376,2605,2606,2629,3377,2658,2681,2697,2708,2719,2729,2752,3570,2898,2904,2917,2921,2925],[24754],[3207,24755],{"_2214":24756,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":24757,"_2222":24758},"doesn",[2615],[24759],[3030,24760],{"_2214":24761,"_2216":3821,"_2217":2227,"_2219":3030,"_2220":24762,"_2222":24763},"doesn't",[4461,2292,3775,4488,3452,2456,6255,2587,2603,2615,2658,2661,2662,3549,2678,2707,2905,6006],[],[3207,24765],{"_2214":24766,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":24767,"_2222":24768},"don",[2848],[24769,24774],[3030,24770],{"_2214":24771,"_2216":3821,"_2217":2227,"_2219":3030,"_2220":24772,"_2222":24773},"don't",[2244,3257,3258,3361,3363,3452,2458,4095,3547,2916,6003,6004],[],[2217,24775],{"_2214":24776,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":24777,"_2222":24778},"done",[2283,2284,2324,2366,2430,2447,2459,2619,2627,2686,2719,3384,3807,2943],[],[3691,24780],{"_2214":24781,"_2216":24782,"_2217":2227,"_2219":3691,"_2220":24783,"_2222":24785},"double","uble",[24784,2746],1463,[24786],[3280,24787],{"_2214":24788,"_2216":24789,"_2217":2227,"_2219":3280,"_2220":24790,"_2222":24791},"double-check","-check",[3414],[],[2216,24793],{"_2214":24794,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24795,"_2222":24796},"dos",[2284,2285],[24797],[3825,24798],{"_2214":24799,"_2216":6869,"_2217":2227,"_2219":3825,"_2220":24800,"_2222":24801},"dosgi",[4366],[24802],[3280,24803],{"_2214":24804,"_2216":24805,"_2217":2227,"_2219":3280,"_2220":24806,"_2222":24807},"dosgi-discovery-demo-page","-discovery-demo-page",[4395],[],[3002,24809],{"_2214":24810,"_2216":3002,"_2217":2227,"_2219":3002,"_2220":24811,"_2222":24812},"doi",[3510],[24813],[3207,24814],{"_2214":24815,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":24816,"_2222":24817},"doing",[3259,3645,2459,2778,2843,2852],[],[2972,24819],{"_2214":24820,"_2216":20067,"_2217":2227,"_2219":2972,"_2220":24821,"_2222":24822},"domain",[2526,3236],[],[4309,24824],{"_2214":24825,"_2216":24826,"_2217":2227,"_2219":4309,"_2220":24827,"_2222":24828},"doxygen","xygen",[2642,3377],[24829],[3280,24830],{"_2214":24831,"_2216":24832,"_2217":2227,"_2219":3280,"_2220":24833,"_2222":24834},"doxygen-doc","-doc",[2642],[],[3871,24836],{"_2214":24837,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":24838,"_2222":24840},"db",[24839,2368,4779],170,[],[3640,24842],{"_2214":24843,"_2216":24844,"_2217":2227,"_2219":3640,"_2220":24845,"_2222":24846},"dynamic","ynamic",[2275,2336,5512,9703,3480,7831,6078,9534,13760,2430,2433,3481,2440,2441,2442,12752,2443,2445,2446,3187,2453,2454,3488,2474,2475,2848,7565],[24847,24852,24858],[2225,24848],{"_2214":24849,"_2216":4743,"_2217":2227,"_2219":2225,"_2220":24850,"_2222":24851},"dynamically",[2430,2439,3783,3179],[],[2222,24853],{"_2214":24854,"_2216":24855,"_2217":2227,"_2219":2222,"_2220":24856,"_2222":24857},"dynamicconfigfile","configfile",[2442],[],[3280,24859],{"_2214":24860,"_2216":24861,"_2217":2227,"_2219":3280,"_2220":24862,"_2222":24863},"dynamic-configuration-at-twitter","-configuration-at-twitter",[14667],[],[3220,24865],{"_2214":24866,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":24867,"_2222":24868},"dr",[],[24869,24899,24915,24955],[3017,24870],{"_2214":24871,"_2216":5754,"_2217":2227,"_2219":3017,"_2220":24872,"_2222":24873},"drop",[2310,2320,2575,2576,3556,3581,11981],[24874,24889,24894],[4034,24875],{"_2214":24876,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":24877,"_2222":24878},"dropp",[],[24879,24884],[3002,24880],{"_2214":24881,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":24882,"_2222":24883},"dropping",[2295,2296,2297,2298,2299,2300,2301,2320,2889],[],[2217,24885],{"_2214":24886,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":24887,"_2222":24888},"dropped",[2332,2470,2704,2705],[],[2216,24890],{"_2214":24891,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24892,"_2222":24893},"drops",[2509],[],[3280,24895],{"_2214":24896,"_2216":5958,"_2217":2227,"_2219":3280,"_2220":24897,"_2222":24898},"drop-in",[2793],[],[2225,24900],{"_2214":24901,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":24902,"_2222":24903},"dra",[],[24904,24909],[3002,24905],{"_2214":24906,"_2216":7485,"_2217":2227,"_2219":3002,"_2220":24907,"_2222":24908},"drain",[6051],[],[2214,24910],{"_2214":24911,"_2216":24912,"_2217":2227,"_2219":2214,"_2220":24913,"_2222":24914},"drawbacks","wbacks",[2776],[],[3002,24916],{"_2214":24917,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":24918,"_2222":24919},"dri",[],[24920,24944],[3066,24921],{"_2214":24922,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":24923,"_2222":24924},"drive",[2884],[24925,24930,24934],[2216,24926],{"_2214":24927,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24928,"_2222":24929},"drives",[3365,2884],[],[3207,24931],{"_2214":13432,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":24932,"_2222":24933},[3532,2637],[],[3220,24935],{"_2214":24936,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":24937,"_2222":24938},"driver",[2831],[24939],[2216,24940],{"_2214":24941,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24942,"_2222":24943},"drivers",[2838],[],[3193,24945],{"_2214":24946,"_2216":12831,"_2217":2227,"_2219":3193,"_2220":24947,"_2222":24948},"drill",[4367],[24949],[3871,24950],{"_2214":24951,"_2216":24952,"_2217":2227,"_2219":3871,"_2220":24953,"_2222":24954},"drillbits","bits",[2810],[],[3691,24956],{"_2214":24957,"_2216":24958,"_2217":2227,"_2219":3691,"_2220":24959,"_2222":24960},"druid","uid",[4368,2811,3802,4409],[],[3207,24962],{"_2214":24963,"_2216":21673,"_2217":2227,"_2219":3207,"_2220":24964,"_2222":24965},"dns",[3434,3155,4518,2635,2636,3618,7706,3811],[24966],[2216,24967],{"_2214":24968,"_2216":24969,"_2217":2218,"_2219":2216,"_2220":24970,"_2222":24971},"dnssrv","srv",[],[24972,24978],[3220,24973],{"_2214":24974,"_2216":24975,"_2217":2227,"_2219":3220,"_2220":24976,"_2222":24977},"dnssrvrefreshintervalseconds","refreshintervalseconds",[2636],[],[3322,24979],{"_2214":24980,"_2216":24981,"_2217":2227,"_2219":3322,"_2220":24982,"_2222":24983},"dnssrvhostprovider","hostprovider",[2636],[],[3030,24985],{"_2214":24986,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":24987,"_2222":24988},"d's",[2460,2461],[],[2216,24990],{"_2214":2216,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":24991,"_2222":24992},[2290,2315,3420,2316,11272,3536,12800,2622,2623,2717,2800,2822,2836,3592,2848,7554,3597,3598,7555],[24993,25442,25915,26673,26757,26916,27137,27338,27472,27525,27707,27785,27971,28172,28208,28240,28264,28300,28321,28326,28332,28337],[3691,24994],{"_2214":17541,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":24995,"_2222":24996},[],[24997,25125,25170,25195,25237,25340,25355,25386,25396,25402,25408],[4034,24998],{"_2214":24999,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":25000,"_2222":25001},"sup",[],[25002,25040],[2217,25003],{"_2214":25004,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":25005,"_2222":25006},"super",[2336,2341,2343,2344,2421,3187],[25007,25024,25029,25035],[3066,25008],{"_2214":25009,"_2216":25010,"_2217":2218,"_2219":3066,"_2220":25011,"_2222":25012},"supervis","vis",[],[25013,25019],[3002,25014],{"_2214":25015,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":25016,"_2222":25018},"supervision",[2229,25017],6,[],[3017,25020],{"_2214":25021,"_2216":20998,"_2217":2227,"_2219":3017,"_2220":25022,"_2222":25023},"supervisory",[2236,2237],[],[2220,25025],{"_2214":25026,"_2216":23688,"_2217":2227,"_2219":2220,"_2220":25027,"_2222":25028},"superdigest",[2341,4646],[],[3691,25030],{"_2214":25031,"_2216":25032,"_2217":2227,"_2219":3691,"_2220":25033,"_2222":25034},"superuser","user",[2343,2344,3187],[],[2222,25036],{"_2214":25037,"_2216":13304,"_2217":2227,"_2219":2222,"_2220":25038,"_2222":25039},"superclass",[3370],[],[4034,25041],{"_2214":25042,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":25043,"_2222":25044},"supp",[],[25045,25088,25113],[3017,25046],{"_2214":25047,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":25048,"_2222":25049},"suppo",[],[25050,25078],[3220,25051],{"_2214":25052,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":25053,"_2222":25054},"support",[2246,3198,2290,2291,3255,2331,3436,4652,2360,2367,20526,5798,3646,3480,2430,2491,3492,2492,2502,3376,2615,2994,2638,4331,3381,3564,2788,2822,3954,3594,2851,3038,5191,3628,6002,9057,3217,3165,6302],[25055,25068,25073],[2217,25056],{"_2214":25057,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":25058,"_2222":25067},"supported",[3644,3153,2290,2291,3155,3263,2360,2371,3462,19890,2385,25059,25060,25061,25062,25063,25064,25065,25066,3646,3365,5097,3514,7612,3518,3810],491,492,496,497,501,502,506,507,[],[2216,25069],{"_2214":25070,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25071,"_2222":25072},"supports",[3648,2473,3492,7548,2504,2553,3529,2607,7720,2626,3794,2805,3386,2867,2874],[],[3002,25074],{"_2214":25075,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":25076,"_2222":25077},"supporting",[2515,3388],[],[2216,25079],{"_2214":25080,"_2216":8461,"_2217":2227,"_2219":2216,"_2220":25081,"_2222":25082},"suppose",[2483,2484,2527,2529,2532,2535,2538,3509,2580,2705],[25083],[2220,25084],{"_2214":25085,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":25086,"_2222":25087},"supposed",[2714,2958],[],[3193,25089],{"_2214":25090,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":25091,"_2222":25092},"suppl",[],[25093,25108],[3002,25094],{"_2214":25095,"_2216":9507,"_2217":2218,"_2219":3002,"_2220":25096,"_2222":25097},"supplie",[],[25098,25103],[3220,25099],{"_2214":25100,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":25101,"_2222":25102},"supplier",[3363],[],[2216,25104],{"_2214":25105,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25106,"_2222":25107},"supplies",[2662],[],[3640,25109],{"_2214":25110,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":25111,"_2222":25112},"supply",[2662],[],[3220,25114],{"_2214":25115,"_2216":25116,"_2217":2227,"_2219":3220,"_2220":25117,"_2222":25118},"suppress","ress",[6821,8464],[25119],[2214,25120],{"_2214":25121,"_2216":25122,"_2217":2227,"_2219":2214,"_2220":25123,"_2222":25124},"suppresswarnings","warnings",[11981],[],[2222,25126],{"_2214":25127,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":25128,"_2222":25129},"suc",[],[25130,25135],[3322,25131],{"_2214":25132,"_2216":3322,"_2217":2227,"_2219":3322,"_2220":25133,"_2222":25134},"such",[2237,2238,2262,2286,3771,2334,2336,3434,2347,2349,2366,3461,2384,2395,3648,2497,3494,3936,3495,3937,2515,2557,2558,3526,3529,2627,2635,3204,2667,2670,2674,3188,3800,2691,2709,3562,3383,2741,2750,4511,2778,2781,2783,2809,2825,3590,2850,3602,2862,2869,3956,2884,2894,2922,2928,2929,3612,2950],[],[2222,25136],{"_2214":25137,"_2216":6019,"_2217":2218,"_2219":2222,"_2220":25138,"_2222":25139},"succe",[],[25140,25155],[2216,25141],{"_2214":25142,"_2216":5054,"_2217":2227,"_2219":2216,"_2220":25143,"_2222":25144},"success",[5023],[25145],[3085,25146],{"_2214":25147,"_2216":8101,"_2217":2227,"_2219":3085,"_2220":25148,"_2222":25149},"successful",[3155,3379,4664,2655,2656,2720,2721,2730],[25150],[3193,25151],{"_2214":25152,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":25153,"_2222":25154},"successfully",[5476,5478,2454,2700,2890],[],[2217,25156],{"_2214":25157,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":25158,"_2222":25159},"succeed",[3796,5594],[25160,25165],[2216,25161],{"_2214":25162,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25163,"_2222":25164},"succeeds",[3366,2478,2742,2823],[],[3002,25166],{"_2214":25167,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":25168,"_2222":25169},"succeeding",[2763],[],[3220,25171],{"_2214":25172,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":25173,"_2222":25174},"sur",[],[25175,25179],[2217,25176],{"_2214":20952,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":25177,"_2222":25178},[2238,2244,2279,2292,3155,2392,3543,2643,2676,2767,2768,2836],[],[3066,25180],{"_2214":25181,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":25182,"_2222":25183},"surv",[],[25184,25190],[2217,25185],{"_2214":25186,"_2216":25187,"_2217":2227,"_2219":2217,"_2220":25188,"_2222":25189},"surveys","eys",[2647],[],[3002,25191],{"_2214":25192,"_2216":4572,"_2217":2227,"_2219":3002,"_2220":25193,"_2222":25194},"survive",[2676],[],[2972,25196],{"_2214":25197,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":25198,"_2222":25199},"sum",[2928,2929],[25200],[2972,25201],{"_2214":25202,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":25203,"_2222":25204},"summ",[],[25205,25232],[2225,25206],{"_2214":25207,"_2216":3760,"_2217":2218,"_2219":2225,"_2220":25208,"_2222":25209},"summar",[],[25210,25216],[3640,25211],{"_2214":25212,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":25213,"_2222":25215},"summary",[6072,7537,25214],1854,[],[3002,25217],{"_2214":25218,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":25219,"_2222":25220},"summari",[],[25221,25226],[2217,25222],{"_2214":25223,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":25224,"_2222":25225},"summaries",[2260],[],[5908,25227],{"_2214":25228,"_2216":25229,"_2217":2227,"_2219":5908,"_2220":25230,"_2222":25231},"summarized","zed",[3410],[],[3002,25233],{"_2214":25234,"_2216":8144,"_2217":2227,"_2219":3002,"_2220":25235,"_2222":25236},"summit",[2433,2682],[],[3871,25238],{"_2214":25239,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":25240,"_2222":25241},"sub",[],[25242,25295,25300,25305,25310,25325,25331],[2216,25243],{"_2214":25244,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":25245,"_2222":25246},"subs",[],[25247,25273,25283,25289],[2217,25248],{"_2214":25249,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":25250,"_2222":25251},"subse",[],[25252,25262],[3099,25253],{"_2214":25254,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":25255,"_2222":25256},"subset",[2242,2265,2379,2677],[25257],[2216,25258],{"_2214":25259,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25260,"_2222":25261},"subsets",[2929],[],[5252,25263],{"_2214":25264,"_2216":25265,"_2217":2227,"_2219":5252,"_2220":25266,"_2222":25267},"subsequent","quent",[2578,2862],[25268],[3193,25269],{"_2214":25270,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":25271,"_2222":25272},"subsequently",[2711,3570],[],[3640,25274],{"_2214":25275,"_2216":7847,"_2217":2227,"_2219":3640,"_2220":25276,"_2222":25277},"subsystem",[3455],[25278],[2216,25279],{"_2214":25280,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25281,"_2222":25282},"subsystems",[3455,2369],[],[2222,25284],{"_2214":25285,"_2216":25286,"_2217":2227,"_2219":2222,"_2220":25287,"_2222":25288},"subscribe","cribe",[2486,2835],[],[3099,25290],{"_2214":25291,"_2216":25292,"_2217":2227,"_2219":3099,"_2220":25293,"_2222":25294},"substantially","tantially",[2889],[],[2972,25296],{"_2214":25297,"_2216":6826,"_2217":2227,"_2219":2972,"_2220":25298,"_2222":25299},"submit",[2280,2786,2810,3392],[],[2222,25301],{"_2214":25302,"_2216":13304,"_2217":2227,"_2219":2222,"_2220":25303,"_2222":25304},"subclass",[2345,2498,2499],[],[3304,25306],{"_2214":25307,"_2216":6650,"_2217":2227,"_2219":3304,"_2220":25308,"_2222":25309},"subject",[3155,2659,2676],[],[3099,25311],{"_2214":25312,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":25313,"_2222":25314},"subt",[],[25315,25320],[3193,25316],{"_2214":25317,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":25318,"_2222":25319},"subtle",[2484],[],[3220,25321],{"_2214":25322,"_2216":5704,"_2217":2227,"_2219":3220,"_2220":25323,"_2222":25324},"subtree",[3372,2570],[],[3085,25326],{"_2214":25327,"_2216":25328,"_2217":2227,"_2219":3085,"_2220":25329,"_2222":25330},"subfolder","folder",[2642],[],[3280,25332],{"_2214":25333,"_2216":25334,"_2217":2227,"_2219":3280,"_2220":25335,"_2222":25339},"sub-task","-task",[25336,25337,25338],1986,2004,2012,[],[3002,25341],{"_2214":25342,"_2216":8144,"_2217":2218,"_2219":3002,"_2220":25343,"_2222":25344},"suit",[],[25345,25350],[2225,25346],{"_2214":25347,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":25348,"_2222":25349},"suitable",[2272,3650],[],[2217,25351],{"_2214":25352,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":25353,"_2222":25354},"suites",[16199,3441],[],[3085,25356],{"_2214":25357,"_2216":23368,"_2217":2218,"_2219":3085,"_2220":25358,"_2222":25359},"suff",[],[25360,25381],[3002,25361],{"_2214":25362,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":25363,"_2222":25364},"suffi",[],[25365,25375],[4309,25366],{"_2214":25367,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":25368,"_2222":25369},"suffix",[2290,2344,2379,2380,4467,2496,4596,2564,3800,2693,3569],[25370],[2217,25371],{"_2214":25372,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":25373,"_2222":25374},"suffixes",[2290],[],[2222,25376],{"_2214":25377,"_2216":25378,"_2217":2227,"_2219":2222,"_2220":25379,"_2222":25380},"sufficient","cient",[2369,2779],[],[2217,25382],{"_2214":25383,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":25384,"_2222":25385},"suffer",[3478],[],[3207,25387],{"_2214":25388,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":25389,"_2222":25390},"sun",[3444,6262,4031],[25391],[3030,25392],{"_2214":25393,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":25394,"_2222":25395},"sun's",[2493],[],[2220,25397],{"_2214":25398,"_2216":25399,"_2217":2227,"_2219":2220,"_2220":25400,"_2222":25401},"suddenly","ddenly",[2390],[],[3825,25403],{"_2214":25404,"_2216":25405,"_2217":2227,"_2219":3825,"_2220":25406,"_2222":25407},"suggested","ggested",[2483],[],[2216,25409],{"_2214":14035,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":25410,"_2222":25411},[],[25412,25437],[4034,25413],{"_2214":25414,"_2216":18938,"_2217":2218,"_2219":4034,"_2220":25415,"_2222":25416},"suspe",[],[25417,25432],[2222,25418],{"_2214":25419,"_2216":13614,"_2217":2218,"_2219":2222,"_2220":25420,"_2222":25421},"suspect",[],[25422,25427],[2217,25423],{"_2214":25424,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":25425,"_2222":25426},"suspected",[2528,2534],[],[2216,25428],{"_2214":25429,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25430,"_2222":25431},"suspects",[3508],[],[3207,25433],{"_2214":25434,"_2216":4184,"_2217":2227,"_2219":3207,"_2220":25435,"_2222":25436},"suspend",[6006],[],[3099,25438],{"_2214":25439,"_2216":6758,"_2217":2227,"_2219":3099,"_2220":25440,"_2222":25441},"sustain",[2889],[],[3099,25443],{"_2214":5676,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":25444,"_2222":25445},[],[25446,25505,25745,25766,25865,25871,25892,25898,25904],[3017,25447],{"_2214":25448,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":25449,"_2222":25450},"sto",[],[25451,25485],[3220,25452],{"_2214":25453,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":25454,"_2222":25455},"stor",[],[25456,25470,25475,25480],[2217,25457],{"_2214":21874,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":25458,"_2222":25459},[2272,4461,3416,2362,2366,2375,3498,13343,2503,2506,3268,2634,2667,2669,2794,2804,2805,2808,3387,2827,2841,7554,2860,2864,3614,7565],[25460,25465],[2220,25461],{"_2214":25462,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":25463,"_2222":25464},"stored",[2231,2361,2373,2379,3461,2416,2431,2442,2443,3647,3187,2453,2506,3044,3789,3790,2666,2864,2866],[],[2216,25466],{"_2214":25467,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25468,"_2222":25469},"stores",[2288,2344,2375,2841,3590,3597,3598],[],[2225,25471],{"_2214":25472,"_2216":5358,"_2217":2227,"_2219":2225,"_2220":25473,"_2222":25474},"storage",[2243,2380,2382,3476,3478,2539,2559,2626,2667,2678,2795,2807,2808,3579,2814,2817,2831,2834,3588,2840,3592,3597,2857,2900,3609,11282,3615],[],[3002,25476],{"_2214":25477,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":25478,"_2222":25479},"storing",[4461,3773,3461,2850],[],[2972,25481],{"_2214":25482,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":25483,"_2222":25484},"storm",[4387,2843,7553,4405],[],[4034,25486],{"_2214":25487,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":25488,"_2222":25489},"stop",[5023,2600,3805],[25490],[4034,25491],{"_2214":25492,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":25493,"_2222":25494},"stopp",[],[25495,25500],[2217,25496],{"_2214":25497,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":25498,"_2222":25499},"stopped",[2430,5023],[],[3002,25501],{"_2214":25502,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":25503,"_2222":25504},"stopping",[2597],[],[2225,25506],{"_2214":25507,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":25508,"_2222":25509},"sta",[],[25510,25607,25634,25639,25695,25710,25725,25740],[3099,25511],{"_2214":25512,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":25513,"_2222":25515},"stat",[2238,3402,2248,3404,2255,3928,5477,2337,25514,5183,2427,2615,5188,3546,11279,2662,3549,6091,2865,4415],569,[25516,25556,25561,25592,25597,25602],[2217,25517],{"_2214":13165,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":25518,"_2222":25519},[2231,2248,2263,2317,3432,2373,2379,3460,2450,2456,2464,2484,2529,2532,2535,2561,2565,2595,3374,3529,3948,2603,2672,2676,2691,2696,2697,3382,2698,2709,3557,2724,2798,2799,3802,2814,2820,2821,2823,2827,2828,2829,2830,3592,2845,2860,3392,2882,2883,2902,2904,2908,2914],[25520,25541,25546,25551],[2972,25521],{"_2214":25522,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":25523,"_2222":25524},"statem",[],[25525,25535],[2217,25526],{"_2214":25527,"_2216":5431,"_2217":2227,"_2219":2217,"_2220":25528,"_2222":25529},"statement",[2472],[25530],[2216,25531],{"_2214":25532,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25533,"_2222":25534},"statements",[6080,2448,3038,4597],[],[2225,25536],{"_2214":25537,"_2216":25538,"_2217":2227,"_2219":2225,"_2220":25539,"_2222":25540},"statemachine","achine",[2798,2799],[],[2216,25542],{"_2214":25543,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25544,"_2222":25545},"states",[2584,2689,2691,2805],[],[3085,25547],{"_2214":25548,"_2216":8101,"_2217":2227,"_2219":3085,"_2220":25549,"_2222":25550},"stateful",[2813],[],[2220,25552],{"_2214":25553,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":25554,"_2222":25555},"stated",[2900],[],[3691,25557],{"_2214":25558,"_2216":13187,"_2217":2227,"_2219":3691,"_2220":25559,"_2222":25560},"status",[12960,3409,3090,2355,2563,2606,2667,2674,2821,2864],[],[3002,25562],{"_2214":25563,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":25564,"_2222":25565},"stati",[],[25566,25572,25587],[2216,25567],{"_2214":25568,"_2216":25569,"_2217":2227,"_2219":2216,"_2220":25570,"_2222":25571},"statistics","stics",[4458,9417,4459,4460,2265,3494,3936,4596,3495,3937],[],[2222,25573],{"_2214":25574,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":25575,"_2222":25576},"static",[2275,2429,2438,2441,2442,2443,2445,2446,2454,3505,2578,23799,21042,4415],[25577],[3322,25578],{"_2214":25579,"_2216":24981,"_2217":2227,"_2219":3322,"_2220":25580,"_2222":25581},"statichostprovider",[2635],[25582],[3099,25583],{"_2214":25584,"_2216":8906,"_2217":2227,"_2219":3099,"_2220":25585,"_2222":25586},"statichostprovidertest",[2487],[],[3207,25588],{"_2214":25589,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":25590,"_2222":25591},"stating",[2924],[],[2216,25593],{"_2214":25594,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25595,"_2222":25596},"stats",[2260,3928,2265,2455],[],[4794,25598],{"_2214":14184,"_2216":25599,"_2217":2227,"_2219":4794,"_2220":25600,"_2222":25601},"_reset",[2265],[],[2222,25603],{"_2214":25604,"_2216":15879,"_2217":2227,"_2219":2222,"_2220":25605,"_2222":25606},"statcallback",[4095],[],[3220,25608],{"_2214":25609,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":25610,"_2222":25613},"start",[2240,2241,6076,2283,2365,3364,2367,2379,2397,2439,2461,2492,2494,18270,2515,25611,2544,11272,3653,2580,2592,2593,2594,2600,3530,2648,2679,3188,2746,2889,2902,2908,2910,2917,25612,2936,3394,7837,3616,2940,7563],939,1928,[25614,25619,25624,25629],[2217,25615],{"_2214":25616,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":25617,"_2222":25618},"started",[2255,2320,2322,2335,2366,2380,2382,2389,2400,2437,2462,2485,4031,2494,3935,3493,2497,2503,3981,2563,7274,7275,7276],[],[3002,25620],{"_2214":25621,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":25622,"_2222":25623},"starting",[2259,3775,2341,2393,2398,2430,3481,3482,3483,2440,2441,2448,3485,2451,2459,2489,11267,2492,3179,3372,2597,3552,2729,2769,5997],[],[2216,25625],{"_2214":25626,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25627,"_2222":25628},"starts",[4510,2329,2331,2378,2398,2533,3507,3527,2608,2691,4113],[],[3691,25630],{"_2214":25631,"_2216":7019,"_2217":2227,"_2219":3691,"_2220":25632,"_2222":25633},"startup",[2368,2573,3188,7706],[],[3871,25635],{"_2214":25636,"_2216":4262,"_2217":2227,"_2219":3871,"_2220":25637,"_2222":25638},"stable",[2279,2626,2933,2935,2946],[],[3207,25640],{"_2214":25641,"_2216":4184,"_2217":2218,"_2219":3207,"_2220":25642,"_2222":25643},"stand",[],[25644,25678,25684],[2225,25645],{"_2214":25646,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":25647,"_2222":25648},"standa",[],[25649,25660],[3220,25650],{"_2214":25651,"_2216":6631,"_2217":2227,"_2219":3220,"_2220":25652,"_2222":25653},"standard",[2282,3231,2605,3793,5216,2729,3299,2735,2736,2857,2863,2864,6105],[25654],[3002,25655],{"_2214":25656,"_2216":25657,"_2217":2227,"_2219":3002,"_2220":25658,"_2222":25659},"standardization","ization",[3564],[],[3193,25661],{"_2214":25662,"_2216":25663,"_2217":2227,"_2219":3193,"_2220":25664,"_2222":25665},"standalone","lone",[2381,2437,4497,3489,3490,2489,21507,2495,2500,3558,5779,2934,6458,2944,2947],[25666,25671],[2217,25667],{"_2214":25668,"_2216":3095,"_2217":2227,"_2219":2217,"_2220":25669,"_2222":25670},"standaloneenabled",[2335,8653,2437,3489],[],[2216,25672],{"_2214":25673,"_2216":25674,"_2217":2227,"_2219":2216,"_2220":25675,"_2222":25677},"standaloneserver_port","server_port",[25676],786,[],[3280,25679],{"_2214":25680,"_2216":25681,"_2217":2227,"_2219":3280,"_2220":25682,"_2222":25683},"stand-alone","-alone",[2381,3552],[],[3871,25685],{"_2214":25686,"_2216":8794,"_2217":2227,"_2219":3871,"_2220":25687,"_2222":25688},"standby",[3592],[25689],[3280,25690],{"_2214":25691,"_2216":25692,"_2217":2227,"_2219":3280,"_2220":25693,"_2222":25694},"standby-masters-with-zookeeper","-masters-with-zookeeper",[4404],[],[3193,25696],{"_2214":25697,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":25698,"_2222":25699},"stal",[],[25700,25705],[3193,25701],{"_2214":25702,"_2216":19621,"_2217":2227,"_2219":3193,"_2220":25703,"_2222":25704},"stalling",[4510],[],[2217,25706],{"_2214":25707,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":25708,"_2222":25709},"stale",[2310,2311,2312,2370,2925,2926,7754],[],[2222,25711],{"_2214":25712,"_2216":13506,"_2217":2227,"_2219":2222,"_2220":25713,"_2222":25714},"stack",[2345,2438,2635,6640],[25715,25720],[2216,25716],{"_2214":25717,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25718,"_2222":25719},"stacks",[2437],[],[3099,25721],{"_2214":25722,"_2216":21771,"_2217":2227,"_2219":3099,"_2220":25723,"_2222":25724},"stacktrace",[2963],[],[2972,25726],{"_2214":25727,"_2216":18033,"_2217":2227,"_2219":2972,"_2220":25728,"_2222":25729},"stamp",[2672],[25730,25735],[2216,25731],{"_2214":25732,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25733,"_2222":25734},"stamps",[2862],[],[2217,25736],{"_2214":25737,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":25738,"_2222":25739},"stamped",[2900],[],[3640,25741],{"_2214":25742,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":25743,"_2222":25744},"stay",[2697,2705],[],[3002,25746],{"_2214":25747,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":25748,"_2222":25749},"sti",[],[25750,25755,25761],[3193,25751],{"_2214":25752,"_2216":12831,"_2217":2227,"_2219":3193,"_2220":25753,"_2222":25754},"still",[2236,3057,4496,2358,2360,2379,2390,2435,5097,2458,2517,4896,2618,2697,2699,2742,3568,2922,4245,2951,2952],[],[2972,25756],{"_2214":25757,"_2216":25758,"_2217":2227,"_2219":2972,"_2220":25759,"_2222":25760},"stimulate","mulate",[2741],[],[4034,25762],{"_2214":25763,"_2216":20201,"_2217":2227,"_2219":4034,"_2220":25764,"_2222":25765},"stipulating",[4511],[],[3220,25767],{"_2214":25768,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":25769,"_2222":25770},"str",[],[25771,25794,25810,25835,25851],[2225,25772],{"_2214":25773,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":25774,"_2222":25775},"stra",[],[25776,25782,25788],[3207,25777],{"_2214":25778,"_2216":25779,"_2217":2227,"_2219":3207,"_2220":25780,"_2222":25781},"strange","nge",[2242],[],[3099,25783],{"_2214":25784,"_2216":25785,"_2217":2227,"_2219":3099,"_2220":25786,"_2222":25787},"strategy","tegy",[2293,2294],[],[3002,25789],{"_2214":25790,"_2216":25791,"_2217":2227,"_2219":3002,"_2220":25792,"_2222":25793},"straightforward","ightforward",[2394,2630,2934],[],[2217,25795],{"_2214":25796,"_2216":25797,"_2217":2227,"_2219":2217,"_2220":25798,"_2222":25799},"stream","eam",[4324,2264,2515,2518,2559,2560,3577,2904,2999],[25800,25805],[3002,25801],{"_2214":25802,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":25803,"_2222":25804},"streaming",[2264,2815,3584,2832],[],[2216,25806],{"_2214":25807,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25808,"_2222":25809},"streams",[2813,2843],[],[3002,25811],{"_2214":25812,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":25813,"_2222":25814},"stri",[],[25815,25825],[3207,25816],{"_2214":25817,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":25818,"_2222":25819},"string",[4324,2264,2431,2455,3367,2477,2485,2990,2506,6897,2619,3949,3236,3795,2686,3381,2688,3271,2692,2693,2704,3556,3570,2941],[25820],[2216,25821],{"_2214":25822,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25823,"_2222":25824},"strings",[3367],[],[2222,25826],{"_2214":25827,"_2216":13614,"_2217":2227,"_2219":2222,"_2220":25828,"_2222":25829},"strict",[2858,2904,2923],[25830],[3193,25831],{"_2214":25832,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":25833,"_2222":25834},"strictly",[2858,2925],[],[3017,25836],{"_2214":25837,"_2216":25838,"_2217":2227,"_2219":3017,"_2220":25839,"_2222":25840},"strong","ong",[3478,2528],[25841,25846],[3193,25842],{"_2214":25843,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":25844,"_2222":25845},"strongly",[2389,2946],[],[2217,25847],{"_2214":25848,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":25849,"_2222":25850},"stronger",[3649,3783,2926],[],[3691,25852],{"_2214":9801,"_2216":14056,"_2217":2227,"_2219":3691,"_2220":25853,"_2222":25854},[3661,4826,5235,5236,5237,5187,5188,5189],[25855],[3691,25856],{"_2214":25857,"_2216":8378,"_2217":2227,"_2219":3691,"_2220":25858,"_2222":25859},"structure",[2551,2579,2586,3546,11279,2662,3549,6091,2752,2831,2856,2865],[25860],[2216,25861],{"_2214":25862,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25863,"_2222":25864},"structures",[2793,2794],[],[2972,25866],{"_2214":25867,"_2216":25868,"_2217":2227,"_2219":2972,"_2220":25869,"_2222":25870},"stmk","mk",[2252,2253,2254,2255,6075,2262],[],[2217,25872],{"_2214":25873,"_2216":24559,"_2217":2227,"_2219":2217,"_2220":25874,"_2222":25875},"step",[6049,3414,2458,2547,2639,3794,3569,2759,2760,2769,2770,7165,2771,2772,3570],[25876,25881,25887],[2216,25877],{"_2214":25878,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25879,"_2222":25880},"steps",[3104,2391,2400,7719,2548,3788,7274,2578,2639,2655,6458],[],[3280,25882],{"_2214":25883,"_2216":25884,"_2217":2227,"_2219":3280,"_2220":25885,"_2222":25886},"step-by-step","-by-step",[3524],[],[11353,25888],{"_2214":25889,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":25890,"_2222":25891},"step4",[3543],[],[2220,25893],{"_2214":25894,"_2216":25895,"_2217":2227,"_2219":2220,"_2220":25896,"_2222":25897},"stdout","dout",[2566],[],[3691,25899],{"_2214":25900,"_2216":25901,"_2217":2227,"_2219":3691,"_2220":25902,"_2222":25903},"stuff","uff",[2796],[],[3640,25905],{"_2214":25906,"_2216":25907,"_2217":2227,"_2219":3640,"_2220":25908,"_2222":25909},"style","yle",[8052],[25910],[2220,25911],{"_2214":25912,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":25913,"_2222":25914},"styled",[2856],[],[2217,25916],{"_2214":8461,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":25917,"_2222":25918},[],[25919,26123,26168,26240,26350,26392,26484,26538,26558,26584,26612,26646,26661,26667],[3220,25920],{"_2214":25921,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":25922,"_2222":25923},"ser",[],[25924,26075],[3066,25925],{"_2214":25926,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":25927,"_2222":25928},"serv",[],[25929,25954],[3002,25930],{"_2214":25931,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":25932,"_2222":25933},"servi",[],[25934,25939],[3207,25935],{"_2214":25936,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":25937,"_2222":25938},"serving",[2231,2232,2236,5391,5392,5393,2366,2371,2491,2515,7274,2696],[],[2222,25940],{"_2214":25941,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":25942,"_2222":25943},"service",[6027,4489,2360,2388,2402,2404,3480,2430,3493,2511,2513,2547,3235,2651,2653,2657,2663,2668,2676,2691,2693,2694,3951,4251,3565,2791,3574,2797,2801,2807,2808,3583,2814,2815,2817,3594,3595,2848,7554,3390,2855,2856,2860,2871,6103,3392,2883,2884,2888,2890,2900,6458,4113],[25944,25949],[2216,25945],{"_2214":25946,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25947,"_2222":25948},"services",[2246,3509,2680,3385,2802,2806,2809,2848,2850,2851,3390,2852,2853,2856,3602,2869,3392,2890,4025],[],[2220,25950],{"_2214":25951,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":25952,"_2222":25953},"serviced",[3392],[],[2217,25955],{"_2214":25956,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":25957,"_2222":25958},"serve",[2313,2314,2360,3216,2539,2651],[25959,26065,26070],[3220,25960],{"_2214":12628,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":25961,"_2222":25963},[2232,2234,2236,2237,3355,2238,3051,2240,2241,3401,2242,3402,4457,2248,9417,7539,3404,5984,2249,2250,6260,2253,2254,2255,2256,3408,2258,2259,4324,2261,2263,2264,3928,2265,2266,2268,2269,3411,3198,2271,2274,3178,2281,2282,2284,2286,4486,4487,3771,2291,2305,6299,2307,2308,5182,3775,2320,2321,2978,16934,2979,2326,2329,2330,2333,2334,2335,2336,2337,3434,2341,3231,2345,2347,2348,2349,2350,4846,4847,4848,4361,4496,2356,2357,2360,7038,6077,2363,3232,2365,2366,3364,2367,2368,3455,2371,2373,2980,2987,2988,2375,2376,2378,2379,2381,2382,3463,3465,5988,25962,2391,8208,2394,2395,2397,2398,2399,2400,2401,2402,2403,3477,2408,3480,3247,2434,6079,2435,6080,2436,2437,2441,2442,2445,2446,2448,2450,2456,2458,2459,2461,2462,2463,2465,2467,2470,2472,2483,2484,2485,21507,2492,2493,2494,3935,3493,2495,4467,2496,2498,2499,2500,4596,2504,5023,3503,2506,2507,3981,2511,3368,4186,3160,3216,3504,2520,2521,2991,3787,2559,2561,7549,2562,2992,3515,11270,7550,11272,3525,2582,2583,4095,4329,2604,2618,3537,3538,3541,2994,3654,2631,3236,4518,6090,5994,3268,2634,2635,2646,2647,2648,3795,2653,2656,2658,2663,2667,2670,2671,3037,2674,3551,2675,2676,2677,2686,3381,2687,2688,3271,3188,2692,2693,2694,2695,3555,2698,2699,2700,2702,2703,2704,2705,2706,2708,2709,3557,2712,2716,2722,2730,2738,2742,2763,2824,2845,2861,2871,3392,2881,2891,2892,2900,2908,2912,2925,2928,2932,2934,3616,2946,2948,4113,2950,2951,2952,4415,3618,7560,12007,7561,2996,4474,3810,2998,2999],480,[25964,25984,25990,26003,26023,26028,26044,26049,26054,26060],[2216,25965],{"_2214":25966,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":25967,"_2222":25968},"servers",[2238,2242,2274,3770,3421,2317,3359,3431,3360,2329,2330,2334,2336,4462,4496,3453,4778,4779,2373,2381,3460,3365,2389,2390,3780,2401,2402,2403,3477,2430,2431,2436,2439,2443,2450,2458,2459,2460,2461,2462,2463,3366,2471,3213,2473,2484,2485,2489,2504,2520,2521,2522,2627,3795,2658,2663,2674,2676,2677,3800,2691,2696,2704,2706,2779,2817,2824,3589,2846,2848,2849,2860,2867,6103,2881,2883,2884,3393,2891,2892,2894,4025,2898,2899,2900,2906,2908,2909,2921,2926,2927,2928,2929,2930,2944,2945,2946,2948,4113,2951,2952],[25969],[3099,25970],{"_2214":25971,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":25972,"_2222":25973},"serverst",[],[25974,25979],[2225,25975],{"_2214":25976,"_2216":9223,"_2217":2227,"_2219":2225,"_2220":25977,"_2222":25978},"serverstart",[4944],[],[3017,25980],{"_2214":25981,"_2216":5754,"_2217":2227,"_2219":3017,"_2220":25982,"_2222":25983},"serverstop",[4944,5023],[],[4794,25985],{"_2214":25986,"_2216":25987,"_2217":2227,"_2219":4794,"_2220":25988,"_2222":25989},"server_stats","_stats",[2263,3928,2265],[],[2222,25991],{"_2214":25992,"_2216":16255,"_2217":2227,"_2219":2222,"_2220":25993,"_2222":25996},"servercnxn",[25994,25995,14169],778,791,[25997],[3085,25998],{"_2214":25999,"_2216":26000,"_2217":2227,"_2219":3085,"_2220":26001,"_2222":26002},"servercnxnfactory","factory",[2271,3153,3930,2284,6299],[],[3280,26004],{"_2214":26005,"_2216":3280,"_2217":2227,"_2219":3280,"_2220":26006,"_2222":26007},"server-",[3155],[26008],[2216,26009],{"_2214":26010,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":26011,"_2222":26012},"server-s",[],[26013,26018],[3002,26014],{"_2214":26015,"_2216":4152,"_2217":2227,"_2219":3002,"_2220":26016,"_2222":26017},"server-side",[2295,2296,2297,2298,2299,2300,2301,2305],[],[2217,26019],{"_2214":26020,"_2216":3049,"_2217":2227,"_2219":2217,"_2220":26021,"_2222":26022},"server-server",[2331],[],[3030,26024],{"_2214":26025,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":26026,"_2222":26027},"server's",[2335,2336,2394,2467,3498,2631,3542,2951],[],[2225,26029],{"_2214":26030,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":26031,"_2222":26032},"servera",[],[26033,26039],[2220,26034],{"_2214":26035,"_2216":26036,"_2217":2227,"_2219":2220,"_2220":26037,"_2222":26038},"serveraddress","ddress",[2987],[],[3691,26040],{"_2214":26041,"_2216":23704,"_2217":2227,"_2219":3691,"_2220":26042,"_2222":26043},"serverauthenticationprovider",[3190],[],[4034,26045],{"_2214":26046,"_2216":6707,"_2217":2227,"_2219":4034,"_2220":26047,"_2222":26048},"serverport",[2988],[],[2972,26050],{"_2214":26051,"_2216":20886,"_2217":2227,"_2219":2972,"_2220":26052,"_2222":26053},"servermetrics",[3784],[],[3017,26055],{"_2214":26056,"_2216":26057,"_2217":2227,"_2219":3017,"_2220":26058,"_2222":26059},"serverobjs","objs",[3190],[],[3207,26061],{"_2214":26062,"_2216":7853,"_2217":2227,"_2219":3207,"_2220":26063,"_2222":26064},"servername",[2951],[],[2220,26066],{"_2214":26067,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":26068,"_2222":26069},"served",[2370,2511,2926],[],[2216,26071],{"_2214":26072,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26073,"_2222":26074},"serves",[2580,2792,2850],[],[3002,26076],{"_2214":26077,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":26078,"_2222":26079},"seri",[],[26080,26112,26118],[2225,26081],{"_2214":26082,"_2216":26083,"_2217":2218,"_2219":2225,"_2220":26084,"_2222":26085},"serializ","aliz",[],[26086,26107],[2217,26087],{"_2214":26088,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":26089,"_2222":26090},"serialize",[5337],[26091,26096,26102],[2220,26092],{"_2214":26093,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":26094,"_2222":26095},"serialized",[2283,2288,3430,3391],[],[3193,26097],{"_2214":26098,"_2216":26099,"_2217":2227,"_2219":3193,"_2220":26100,"_2222":26101},"serializelastprocessedzxid","lastprocessedzxid",[2978],[],[2216,26103],{"_2214":26104,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26105,"_2222":26106},"serializes",[2978],[],[2225,26108],{"_2214":26109,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":26110,"_2222":26111},"serialization",[2288,4540],[],[3017,26113],{"_2214":26114,"_2216":26115,"_2217":2227,"_2219":3017,"_2220":26116,"_2222":26117},"seriously","ously",[2392],[],[2217,26119],{"_2214":26120,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":26121,"_2222":26122},"series",[2394,2503],[],[2217,26124],{"_2214":26125,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":26126,"_2222":26127},"see",[2232,3081,2235,5388,5389,2238,2246,2252,2253,2255,6075,2262,3928,3414,2275,3417,2306,3421,3773,7454,15118,3774,4360,2324,2327,4488,2330,2332,2340,3441,3263,2360,2380,2382,2395,2398,2406,2432,2435,2436,2448,3485,3486,2458,3489,2461,2465,2467,2469,3367,2475,2477,2485,4031,3492,2492,3493,3179,6920,3036,3940,2511,2513,2517,2543,11271,7551,2573,2600,2604,2625,2642,2644,3377,4664,2653,3204,2658,2669,3037,2688,2700,2703,2706,2720,2734,2736,3383,2742,2749,2758,5631,5999,6000,2825,2871,3605,2909,2921,3038,2995,2937,6458,3615,6022,2941,3677,7559,2943,2953],[26128,26133,26148,26153,26158,26163],[3207,26129],{"_2214":26130,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":26131,"_2222":26132},"seen",[7718,2656,2657,3382,3950,2703,2720,3951,4471,2909,2910,2921],[],[2219,26134],{"_2214":26135,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":26136,"_2222":26137},"seek",[7560],[26138,26143],[2216,26139],{"_2214":26140,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26141,"_2222":26142},"seeks",[3417,2405],[],[3002,26144],{"_2214":26145,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":26146,"_2222":26147},"seeking",[2405],[],[2972,26149],{"_2214":26150,"_2216":21436,"_2217":2227,"_2219":2972,"_2220":26151,"_2222":26152},"seems",[2292],[],[2216,26154],{"_2214":26155,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26156,"_2222":26157},"sees",[2458,2518,2720,2823],[],[2220,26159],{"_2214":26160,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":26161,"_2222":26162},"seed",[2560],[],[3002,26164],{"_2214":26165,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":26166,"_2222":26167},"seeing",[2734],[],[2222,26169],{"_2214":26170,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":26171,"_2222":26172},"sec",[],[26173,26183,26194],[3099,26174],{"_2214":26175,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":26176,"_2222":26177},"section",[2235,2246,3055,5985,3413,3770,2324,3359,4489,2382,3464,2384,2394,2400,5989,5512,3179,3036,3650,2543,2591,2994,2647,2665,2741,3038,2937,3615],[26178],[2216,26179],{"_2214":26180,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26181,"_2222":26182},"sections",[2384,3027,2485,3540,2681,7789,2932],[],[3017,26184],{"_2214":26185,"_2216":26186,"_2217":2227,"_2219":3017,"_2220":26187,"_2222":26188},"second","ond",[2329,2435,2458,2483,2484,4186,2517,2584,2585,2686,2703,2754,2776,3237,2894,2907,2950],[26189],[2216,26190],{"_2214":26191,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26192,"_2222":26193},"seconds",[2259,2290,11269,2636,2657,2949],[],[3691,26195],{"_2214":26196,"_2216":6172,"_2217":2218,"_2219":3691,"_2220":26197,"_2222":26198},"secur",[],[26199,26215],[3002,26200],{"_2214":26201,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":26202,"_2222":26203},"securi",[],[26204,26209],[3207,26205],{"_2214":26206,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":26207,"_2222":26208},"securing",[3412],[],[3099,26210],{"_2214":26211,"_2216":14768,"_2217":2227,"_2219":3099,"_2220":26212,"_2222":26214},"security",[4645,7827,2355,5512,26213,2440,3485,2450,3497,2694],623,[],[2217,26216],{"_2214":26217,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":26218,"_2222":26219},"secure",[3930,2345,3932,2434,2435,7548,2620,5994,3542],[26220,26230,26235],[2222,26221],{"_2214":26222,"_2216":13393,"_2217":2227,"_2219":2222,"_2220":26223,"_2222":26224},"secureclientport",[3930,3483],[26225],[2225,26226],{"_2214":26227,"_2216":3228,"_2217":2227,"_2219":2225,"_2220":26228,"_2222":26229},"secureclientportaddress",[3483],[],[2216,26231],{"_2214":26232,"_2216":25999,"_2217":2227,"_2219":2216,"_2220":26233,"_2222":26234},"secureservercnxnfactory",[2284],[],[2220,26236],{"_2214":26237,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":26238,"_2222":26239},"secured",[2452],[],[3099,26241],{"_2214":26242,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":26243,"_2222":26246},"set",[3355,4359,5390,2244,2247,2254,2271,5985,3178,3770,2279,2282,2283,2287,2288,2289,2290,3419,2291,3212,2293,2294,2295,2298,6299,3772,4510,5182,5987,3424,3425,8296,2317,3774,3775,2321,3427,3429,5478,3430,2326,2330,2331,2335,2336,3434,4645,4462,2343,2345,2347,2349,2357,2358,3452,5874,2361,3453,3232,2367,2368,2370,2371,2373,3458,2986,2374,2385,2391,2392,2397,2399,26244,9730,2421,2424,2425,4465,5183,2426,2430,2437,2440,2451,3187,3648,2485,2504,2550,3044,4468,2551,5990,26245,6263,5992,2579,2584,2585,2603,2607,2611,2993,2613,2620,12800,2621,2622,2623,2629,2994,4849,5994,3542,2648,3982,2665,2671,3037,2679,2688,3271,3188,3801,2695,2718,2720,2721,2722,2723,2724,2729,3299,2735,2744,4347,10123,2752,2758,5996,2767,2768,5997,5998,3570,6102,2806,2814,2856,2859,2867,2868,2869,2879,2904,2921,3958,2956,5484],566,1056,[26247,26258,26268,26283,26312,26317,26328,26334,26340,26345],[3691,26248],{"_2214":26249,"_2216":7019,"_2217":2227,"_2219":3691,"_2220":26250,"_2222":26251},"setup",[2235,3411,2355,2367,3462,13250,3463,13251,3465,2389,3485,3647,3511],[26252],[4794,26253],{"_2214":26254,"_2216":26255,"_2217":2227,"_2219":4794,"_2220":26256,"_2222":26257},"setup_random","_random",[6640],[],[2216,26259],{"_2214":23265,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26260,"_2222":26261},[2253,2262,3776,3777,3432,3433,2446,3484,7550,2579,2602,2605,2658,2719,2721,2775,2816,2817],[26262],[3099,26263],{"_2214":26264,"_2216":26265,"_2217":2227,"_2219":3099,"_2220":26266,"_2222":26267},"setstandaloneenabled","tandaloneenabled",[2335],[],[4794,26269],{"_2214":26270,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":26271,"_2222":26272},"set_",[],[26273,26279],[3099,26274],{"_2214":26275,"_2216":26276,"_2217":2227,"_2219":3099,"_2220":26277,"_2222":26278},"set_trace_mask","trace_mask",[2255,6075,2262],[],[2225,26280],{"_2214":12890,"_2216":5180,"_2217":2227,"_2219":2225,"_2220":26281,"_2222":26282},[12826],[],[3099,26284],{"_2214":26285,"_2216":6425,"_2217":2227,"_2219":3099,"_2220":26286,"_2222":26288},"setting",[2977,2271,2284,2285,3257,3258,2292,2317,3775,2323,2329,2336,2337,3432,3433,2339,3231,5960,4825,2355,2356,8297,2360,3140,8298,4778,4779,2382,2384,2400,2438,2439,4497,2452,3187,2455,2486,3492,2512,26287,2550,2551,2553,4095,2618,3236,4498,2634,2688,2693,2718,2730,2736,5335,3952,3953,2910,2934,2942,2952],960,[26289,26294],[2216,26290],{"_2214":26291,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26292,"_2222":26293},"settings",[3152,3153,3154,3058,3770,3432,3433,2984,3461,2393,2394,2502,2635],[],[3280,26295],{"_2214":26296,"_2216":26297,"_2217":2218,"_2219":3280,"_2220":26298,"_2222":26299},"setting-up-a","-up-a",[],[26300,26306],[3207,26301],{"_2214":26302,"_2216":26303,"_2217":2227,"_2219":3207,"_2220":26304,"_2222":26305},"setting-up-an-external-zookeeper-ensemble","n-external-zookeeper-ensemble",[4403],[],[3280,26307],{"_2214":26308,"_2216":26309,"_2217":2227,"_2219":3280,"_2220":26310,"_2222":26311},"setting-up-a-storm-cluster","-storm-cluster",[4405],[],[3220,26313],{"_2214":26314,"_2216":9727,"_2217":2227,"_2219":3220,"_2220":26315,"_2222":26316},"setreconfigenabled",[2336],[],[2225,26318],{"_2214":26319,"_2216":5180,"_2217":2227,"_2219":2225,"_2220":26320,"_2222":26322},"setacl",[2342,26321,4944,2990,3801],567,[26323],[2216,26324],{"_2214":26325,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26326,"_2222":26327},"setacls",[3801],[],[5252,26329],{"_2214":26330,"_2216":24065,"_2217":2227,"_2219":5252,"_2220":26331,"_2222":26333},"setquota",[26332,2550,2551],568,[],[3280,26335],{"_2214":26336,"_2216":26337,"_2217":2227,"_2219":3280,"_2220":26338,"_2222":26339},"set-data","-data",[2471],[],[2220,26341],{"_2214":26342,"_2216":3,"_2217":2227,"_2219":2220,"_2220":26343,"_2222":26344},"setdata",[4944,2721,3570],[],[4034,26346],{"_2214":26347,"_2216":18305,"_2217":2227,"_2219":4034,"_2220":26348,"_2222":26349},"setproperty",[2634],[],[3193,26351],{"_2214":26352,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":26353,"_2222":26354},"sel",[],[26355,26366],[3085,26356],{"_2214":26357,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":26358,"_2222":26359},"self",[2236,3434],[26360],[3280,26361],{"_2214":26362,"_2216":26363,"_2217":2227,"_2219":3280,"_2220":26364,"_2222":26365},"self-signed","-signed",[2272,6049],[],[2217,26367],{"_2214":26368,"_2216":9197,"_2217":2227,"_2219":2217,"_2220":26369,"_2222":26370},"select",[3263,6561],[26371,26382,26387],[3002,26372],{"_2214":26373,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":26374,"_2222":26375},"selection",[3360],[26376],[2219,26377],{"_2214":26378,"_2216":26379,"_2217":2227,"_2219":2219,"_2220":26380,"_2222":26381},"selectionkey","key",[6110],[],[3017,26383],{"_2214":26384,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":26385,"_2222":26386},"selector",[3455,5511,5750],[],[2217,26388],{"_2214":26389,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":26390,"_2222":26391},"selected",[2567],[],[2216,26393],{"_2214":26394,"_2216":26395,"_2217":2227,"_2219":2216,"_2220":26396,"_2222":26398},"session","ssion",[4457,4458,2249,3408,2268,2277,4486,4487,3256,2302,2303,2304,2305,2311,2323,2339,2347,2348,2349,2350,13341,4464,9555,4466,3936,3937,26397,13344,3940,2507,2508,11274,3529,2604,2626,2627,4498,9863,2650,2653,3798,2668,2674,3380,2689,2691,2692,2694,2695,2696,2697,3382,3555,3950,2698,2699,2701,2703,3272,2707,2708,2709,3557,2710,2711,2712,2713,3558,5875,2714,15628,2715,2716,2717,2722,2738,2742,2818,2822,3955,2871,3613,6801],837,[26399,26405,26441,26456,26462,26467,26473,26479],[2216,26400],{"_2214":26401,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26402,"_2222":26404},"sessions",[3403,2249,2250,3177,6074,2254,3408,2323,2360,3497,3265,26403,2689,2707,15622,2714],1379,[],[4794,26406],{"_2214":26407,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":26408,"_2222":26409},"session_",[],[26410,26435],[3002,26411],{"_2214":26412,"_2216":5302,"_2217":2227,"_2219":3002,"_2220":26413,"_2222":26416},"session_id",[26414,26415],779,792,[26417],[4794,26418],{"_2214":26419,"_2216":26420,"_2217":2218,"_2219":4794,"_2220":26421,"_2222":26422},"session_id_to_","_to_",[],[26423,26429],[2217,26424],{"_2214":26425,"_2216":26426,"_2217":2227,"_2219":2217,"_2220":26427,"_2222":26428},"session_id_to_ephemeral_paths","ephemeral_paths",[3408],[],[2214,26430],{"_2214":26431,"_2216":26432,"_2217":2227,"_2219":2214,"_2220":26433,"_2222":26434},"session_id_to_watched_paths","watched_paths",[2268],[],[2217,26436],{"_2214":26437,"_2216":26438,"_2217":2227,"_2219":2217,"_2220":26439,"_2222":26440},"session_expired","expired",[2630],[],[3099,26442],{"_2214":26443,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":26444,"_2222":26445},"sessiont",[],[26446,26450],[3002,26447],{"_2214":20355,"_2216":8924,"_2217":2227,"_2219":3002,"_2220":26448,"_2222":26449},[2310,11274],[],[3220,26451],{"_2214":26452,"_2216":26453,"_2217":2227,"_2219":3220,"_2220":26454,"_2222":26455},"sessiontrackerimpl","rackerimpl",[3558],[],[3220,26457],{"_2214":26458,"_2216":26459,"_2217":2227,"_2219":3220,"_2220":26460,"_2222":26461},"sessionrequireclientsaslauth","requireclientsaslauth",[2347,5960],[],[3030,26463],{"_2214":26464,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":26465,"_2222":26466},"session's",[2604,3382],[],[2972,26468],{"_2214":26469,"_2216":26470,"_2217":2227,"_2219":2972,"_2220":26471,"_2222":26472},"sessionmovedexception","movedexception",[2703],[],[3280,26474],{"_2214":26475,"_2216":26476,"_2217":2227,"_2219":3280,"_2220":26477,"_2222":26478},"session-id","-id",[2708],[],[3002,26480],{"_2214":26481,"_2216":5302,"_2217":2227,"_2219":3002,"_2220":26482,"_2222":26483},"sessionid",[2717],[],[3207,26485],{"_2214":15455,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":26486,"_2222":26487},[],[26488,26493,26523],[3099,26489],{"_2214":26490,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":26491,"_2222":26492},"sent",[4457,2254,2310,3420,3424,2323,3430,3433,2454,2471,2484,2652,2686,2694,2698,2699,2716,3559,2718,2719,2720,2738,2870,2893,2895,2897,2900,2919],[],[2220,26494],{"_2214":26495,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":26496,"_2222":26497},"send",[2254,2323,6248,3502,2510,2634,2694,2699,2717,2894,2908],[26498,26502,26507,26512,26518],[3002,26499],{"_2214":4105,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":26500,"_2222":26501},[5182,2323,2324,2374,2619,2716,2736,2893,2908],[],[2216,26503],{"_2214":26504,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26505,"_2222":26506},"sends",[2324,3375,2665,2687,2694,2695,2703,2861,2893,4472],[],[2217,26508],{"_2214":26509,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":26510,"_2222":26511},"sender",[2893],[],[2225,26513],{"_2214":26514,"_2216":26515,"_2217":2227,"_2219":2225,"_2220":26516,"_2222":26517},"sendackrequestprocessor","ackrequestprocessor",[12298],[],[3099,26519],{"_2214":26520,"_2216":22352,"_2217":2227,"_2219":3099,"_2220":26521,"_2222":26522},"sendthread",[4474,6659],[],[2216,26524],{"_2214":26525,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":26526,"_2222":26527},"sens",[],[26528,26533],[2217,26529],{"_2214":26530,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":26531,"_2222":26532},"sense",[2379,2602,2615,2923],[],[3002,26534],{"_2214":26535,"_2216":18800,"_2217":2227,"_2219":3002,"_2220":26536,"_2222":26537},"sensitive",[3461],[],[3066,26539],{"_2214":26540,"_2216":6500,"_2217":2218,"_2219":3066,"_2220":26541,"_2222":26542},"sever",[],[26543,26548,26553],[2217,26544],{"_2214":26545,"_2216":21109,"_2217":2227,"_2219":2217,"_2220":26546,"_2222":26547},"severely",[2283],[],[2225,26549],{"_2214":26550,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":26551,"_2222":26552},"several",[3455,2664,2676,6099,2742,2838,3808],[],[3002,26554],{"_2214":26555,"_2216":5592,"_2217":2227,"_2219":3002,"_2220":26556,"_2222":26557},"severity",[3808,3629],[],[4034,26559],{"_2214":26560,"_2216":26561,"_2217":2218,"_2219":4034,"_2220":26562,"_2222":26563},"separat","parat",[],[26564,26579],[2217,26565],{"_2214":26566,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":26567,"_2222":26568},"separate",[2324,2331,2375,3365,2437,2442,2784,2814,2951,2952],[26569,26574],[3193,26570],{"_2214":26571,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":26572,"_2222":26573},"separately",[2284],[],[2220,26575],{"_2214":26576,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":26577,"_2222":26578},"separated",[2337,3645,2436,2692,2704,2863],[],[3017,26580],{"_2214":26581,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":26582,"_2222":26583},"separator",[3795],[],[5252,26585],{"_2214":26586,"_2216":26587,"_2217":2218,"_2219":5252,"_2220":26588,"_2222":26589},"sequen","quen",[],[26590,26601],[3099,26591],{"_2214":26592,"_2216":26593,"_2217":2227,"_2219":3099,"_2220":26594,"_2222":26595},"sequential","tial",[3524,3545,2652,2668,2742,2870,3610,2925,3611],[26596],[3193,26597],{"_2214":26598,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":26599,"_2222":26600},"sequentially",[2405,2925],[],[2222,26602],{"_2214":26603,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":26604,"_2222":26606},"sequence",[2588,3546,26605,2669,2752,2758,3569,5996,2767,2768,2769,2770,5997,5998,2773,2778,2779,3571,3572,2781,2783,2863,2897,2899],1297,[26607],[3220,26608],{"_2214":26609,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":26610,"_2222":26611},"sequencer",[2588],[],[2972,26613],{"_2214":26614,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":26615,"_2222":26616},"sem",[],[26617,26623],[3002,26618],{"_2214":26619,"_2216":26620,"_2217":2227,"_2219":3002,"_2220":26621,"_2222":26622},"semicolon","icolon",[2435],[],[2225,26624],{"_2214":26625,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":26626,"_2222":26627},"sema",[],[26628,26634,26640],[3207,26629],{"_2214":26630,"_2216":26631,"_2217":2227,"_2219":3207,"_2220":26632,"_2222":26633},"semantics","ntics",[3559,6101,3299],[],[3099,26635],{"_2214":26636,"_2216":22127,"_2217":2227,"_2219":3099,"_2220":26637,"_2222":26639},"sematext",[26638],1617,[],[4034,26641],{"_2214":26642,"_2216":26643,"_2217":2227,"_2219":4034,"_2220":26644,"_2222":26645},"semaphore","phore",[5484],[],[2225,26647],{"_2214":26648,"_2216":9439,"_2217":2227,"_2219":2225,"_2220":26649,"_2222":26650},"search",[4392,3591,2845,2849,3596],[26651,26656],[3002,26652],{"_2214":26653,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":26654,"_2222":26655},"searching",[2696],[],[2217,26657],{"_2214":26658,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":26659,"_2222":26660},"searches",[2795],[],[3825,26662],{"_2214":26663,"_2216":26664,"_2217":2227,"_2219":3825,"_2220":26665,"_2222":26666},"segment","gment",[3580,3581],[],[5908,26668],{"_2214":26669,"_2216":26670,"_2217":2227,"_2219":5908,"_2220":26671,"_2222":26672},"sezv373guzc","zv373guzc",[14668],[],[3207,26674],{"_2214":26675,"_2216":26676,"_2217":2227,"_2219":3207,"_2220":26677,"_2222":26678},"snap","nap",[2264,2313],[26679,26734,26740,26745],[2216,26680],{"_2214":26681,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":26682,"_2222":26683},"snaps",[],[26684,26723],[3322,26685],{"_2214":26686,"_2216":26687,"_2217":2227,"_2219":3322,"_2220":26688,"_2222":26690},"snapshot","hot",[2231,2243,3405,3407,2259,4324,2264,2281,2282,3419,3421,3425,5476,3773,15117,2317,2978,16934,3429,5478,2979,2981,3459,2377,2379,2381,3460,2382,3512,2556,26689,2558,3513,2559,2560,3788,2561,3515,7612,2566,2755,2908,2999,3716],978,[26691,26696,26702,26707],[3099,26692],{"_2214":26693,"_2216":6425,"_2217":2227,"_2219":3099,"_2220":26694,"_2222":26695},"snapshotting",[2231,2380,2382,3625],[],[2216,26697],{"_2214":26698,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26699,"_2222":26701},"snapshots",[2232,2234,3081,3416,2278,3417,2281,3358,2282,3418,3773,2379,2559,26700,3516,3265,3790,3518,2825,2860,2884,3614,2955],1004,[],[4794,26703],{"_2214":26704,"_2216":23213,"_2217":2227,"_2219":4794,"_2220":26705,"_2222":26706},"snapshot_size",[2264],[],[2222,26708],{"_2214":26709,"_2216":13551,"_2217":2218,"_2219":2222,"_2220":26710,"_2222":26711},"snapshotco",[],[26712,26717],[3691,26713],{"_2214":26714,"_2216":5112,"_2217":2227,"_2219":3691,"_2220":26715,"_2222":26716},"snapshotcount",[2678],[],[2972,26718],{"_2214":26719,"_2216":26720,"_2217":2227,"_2219":2972,"_2220":26721,"_2222":26722},"snapshotcommand","mmand",[8428],[],[3002,26724],{"_2214":26725,"_2216":10154,"_2217":2227,"_2219":3002,"_2220":26726,"_2222":26727},"snapsize",[2282],[26728],[3193,26729],{"_2214":26730,"_2216":26731,"_2217":2227,"_2219":3193,"_2220":26732,"_2222":26733},"snapsizelimitinkb","limitinkb",[3417,2282,2283,2380],[],[3220,26735],{"_2214":26736,"_2216":26737,"_2217":2227,"_2219":3220,"_2220":26738,"_2222":26739},"snapretaincount","retaincount",[3081,3418],[],[2222,26741],{"_2214":26742,"_2216":14218,"_2217":2227,"_2219":2222,"_2220":26743,"_2222":26744},"snapcount",[2243,3417,2281,2283,2380],[],[4034,26746],{"_2214":26747,"_2216":26748,"_2217":2227,"_2219":4034,"_2220":26749,"_2222":26750},"snappy","py",[15118,3518],[26751],[3280,26752],{"_2214":26753,"_2216":26754,"_2217":2227,"_2219":3280,"_2220":26755,"_2222":26756},"snappy-java","-java",[3239,6302,3240],[],[3017,26758],{"_2214":4593,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":26759,"_2222":26760},[2243,2244,2274,2280,2284,3258,3212,3421,3422,2317,4488,3361,3435,2338,2348,2350,2357,3140,2371,2395,2439,2448,2450,2451,2498,2499,2509,3044,3526,3377,2648,2658,2668,3799,2679,2685,2703,2707,2714,2717,2738,2749,2779,2817,2821,2836,2848,2864,2894,3805,2901,2907,2909,3807,2921,2928,2934,6458,2950],[26761,26799,26809,26826,26868,26878,26889,26894,26899,26904,26910],[2972,26762],{"_2214":26763,"_2216":8606,"_2217":2227,"_2219":2972,"_2220":26764,"_2222":26765},"some",[2231,2238,3768,3402,3254,2275,3770,2336,3432,3433,3231,3452,2363,2365,2366,2368,2385,2401,3027,3478,3489,2507,2518,2527,2534,3529,2615,3794,2655,2667,2670,2671,3799,2679,2688,3800,2716,2741,4511,2775,2788,2836,3592,2850,2922,2924,2925,2928,2944,11582,5483],[26766,26788,26794],[3099,26767],{"_2214":26768,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":26769,"_2222":26770},"somet",[],[26771,26782],[3322,26772],{"_2214":26773,"_2216":26774,"_2217":2227,"_2219":3322,"_2220":26775,"_2222":26776},"something","hing",[3775,2326,3363,2752,6022,2952],[26777],[3030,26778],{"_2214":26779,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":26780,"_2222":26781},"something's",[3799],[],[3002,26783],{"_2214":26784,"_2216":26785,"_2217":2227,"_2219":3002,"_2220":26786,"_2222":26787},"sometimes","imes",[3454,2458,2478,2484,2658],[],[2214,26789],{"_2214":26790,"_2216":26791,"_2217":2227,"_2219":2214,"_2220":26792,"_2222":26793},"somewhat","what",[2382],[],[3017,26795],{"_2214":26796,"_2216":3659,"_2217":2227,"_2219":3017,"_2220":26797,"_2222":26798},"someone",[2714],[],[2222,26800],{"_2214":13367,"_2216":26801,"_2217":2227,"_2219":2222,"_2220":26802,"_2222":26803},"cket",[2285,2305,2322,2323,3362,3455,5750,8741],[26804],[2216,26805],{"_2214":26806,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26807,"_2222":26808},"sockets",[3432,3433],[],[3085,26810],{"_2214":26811,"_2216":26812,"_2217":2227,"_2219":3085,"_2220":26813,"_2222":26814},"soft","ft",[2426,2553],[26815],[2214,26816],{"_2214":26817,"_2216":26818,"_2217":2227,"_2219":2214,"_2220":26819,"_2222":26820},"software","ware",[3363,8822,2407,2438,8266,2817,2831,3389],[26821],[3280,26822],{"_2214":26823,"_2216":5222,"_2217":2227,"_2219":3280,"_2220":26824,"_2222":26825},"software-based",[17646],[],[3193,26827],{"_2214":26828,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":26829,"_2222":26830},"sol",[],[26831,26838,26848,26853,26863],[2225,26832],{"_2214":26833,"_2216":26834,"_2217":2227,"_2219":2225,"_2220":26835,"_2222":26837},"solaris","aris",[26836],488,[],[3066,26839],{"_2214":26840,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":26841,"_2222":26842},"solve",[2777,2848,3620],[26843],[2216,26844],{"_2214":26845,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26846,"_2222":26847},"solves",[2525],[],[2217,26849],{"_2214":26850,"_2216":21109,"_2217":2227,"_2219":2217,"_2220":26851,"_2222":26852},"solely",[3204],[],[3691,26854],{"_2214":26855,"_2216":9373,"_2217":2227,"_2219":3691,"_2220":26856,"_2222":26857},"solution",[2779,2803,3584],[26858],[2216,26859],{"_2214":26860,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26861,"_2222":26862},"solutions",[3204,3554,3561],[],[3220,26864],{"_2214":26865,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":26866,"_2222":26867},"solr",[4385,2795,4392,3591,3593,3594,4402,4403],[],[3220,26869],{"_2214":26870,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":26871,"_2222":26872},"sort",[3478,2406],[26873],[3002,26874],{"_2214":26875,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":26876,"_2222":26877},"sorting",[2669],[],[3691,26879],{"_2214":26880,"_2216":9332,"_2217":2227,"_2219":3691,"_2220":26881,"_2222":26883},"source",[2502,2503,26882,15028,2639,2641,2681,2809,2812,3388,4392,2843,2850,5336],1086,[26884],[2216,26885],{"_2214":26886,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26887,"_2222":26888},"sources",[6099],[],[3017,26890],{"_2214":26891,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":26892,"_2222":26893},"soon",[2686,2775,2919],[],[2225,26895],{"_2214":26896,"_2216":4168,"_2217":2227,"_2219":2225,"_2220":26897,"_2222":26898},"soap",[2802,2809],[],[2216,26900],{"_2214":26901,"_2216":6198,"_2217":2227,"_2219":2216,"_2220":26902,"_2222":26903},"sosp",[2854],[],[4034,26905],{"_2214":26906,"_2216":26907,"_2217":2227,"_2219":4034,"_2220":26908,"_2222":26909},"sophisticated","phisticated",[2858],[],[3207,26911],{"_2214":26912,"_2216":26913,"_2217":2227,"_2219":3207,"_2220":26914,"_2222":26915},"sonarqube","narqube",[9397],[],[3002,26917],{"_2214":26918,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":26919,"_2222":26920},"si",[],[26921,27014,27044,27064,27090,27127],[2972,26922],{"_2214":26923,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":26924,"_2222":26925},"sim",[],[26926,26986,26997],[4034,26927],{"_2214":26928,"_2216":19852,"_2217":2218,"_2219":4034,"_2220":26929,"_2222":26930},"simpl",[],[26931,26946,26981],[2217,26932],{"_2214":26933,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":26934,"_2222":26935},"simple",[2233,5987,5790,2430,2473,2494,2510,2520,2572,3525,2578,2586,2596,2597,2625,2629,2648,3799,3553,2686,2754,2760,2778,2791,2797,2815,2817,2819,2843,4333,2856,2857,2869,2874,3956,2901,2932,5792,2940],[26936,26941],[3220,26937],{"_2214":26938,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":26939,"_2222":26940},"simpler",[2400,2693],[],[2216,26942],{"_2214":26943,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":26944,"_2222":26945},"simplest",[7275],[],[3002,26947],{"_2214":26948,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":26949,"_2222":26950},"simpli",[],[26951,26976],[3085,26952],{"_2214":26953,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":26954,"_2222":26955},"simplif",[],[26956,26971],[3002,26957],{"_2214":26958,"_2216":9507,"_2217":2218,"_2219":3002,"_2220":26959,"_2222":26960},"simplifie",[],[26961,26966],[2216,26962],{"_2214":26963,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":26964,"_2222":26965},"simplifies",[3198,2904],[],[2220,26967],{"_2214":26968,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":26969,"_2222":26970},"simplified",[2488],[],[3640,26972],{"_2214":26973,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":26974,"_2222":26975},"simplify",[2551,2669,2800],[],[2222,26977],{"_2214":26978,"_2216":16069,"_2217":2227,"_2219":2222,"_2220":26979,"_2222":26980},"simplicity",[2751],[],[3640,26982],{"_2214":26983,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":26984,"_2222":26985},"simply",[2406,2510,2514,3529,3541,2708,2760,2901],[],[3002,26987],{"_2214":26988,"_2216":26989,"_2217":2227,"_2219":3002,"_2220":26990,"_2222":26991},"similar","ilar",[2289,3426,2344,3363,2387,2400,2458,2605,2637,2693,2823,2857,4025,2918,2947],[26992],[3193,26993],{"_2214":26994,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":26995,"_2222":26996},"similarly",[2439,2449,2857],[],[3691,26998],{"_2214":26999,"_2216":27000,"_2217":2218,"_2219":3691,"_2220":27001,"_2222":27002},"simul","ul",[],[27003,27009],[3099,27004],{"_2214":27005,"_2216":27006,"_2217":2227,"_2219":3099,"_2220":27007,"_2222":27008},"simultaneously","taneously",[3499,3508,2658,2773,2926],[],[2225,27010],{"_2214":27011,"_2216":17391,"_2217":2227,"_2219":2225,"_2220":27012,"_2222":27013},"simulate",[2884],[],[3207,27015],{"_2214":27016,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":27017,"_2222":27018},"sin",[],[27019,27024],[2222,27020],{"_2214":27021,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":27022,"_2222":27023},"since",[2239,3356,2320,3431,2330,3441,3444,2355,2356,2357,3451,2365,2368,2370,2372,2394,3480,2436,4497,2446,2456,2462,2464,2467,2469,3783,2484,3214,3497,2511,2515,2524,2576,2602,3375,2615,2635,2703,2721,2762,2773,2869,2882,2883,2909,2916,2917,2919,2921,2925,3038,4475],[],[3825,27025],{"_2214":27026,"_2216":22518,"_2217":2227,"_2219":3825,"_2220":27027,"_2222":27028},"single",[2246,2277,2285,2329,2335,2365,2376,3463,8835,3465,2388,2395,2399,2400,2430,2437,2438,2439,2444,2448,2508,2543,2560,2617,3545,2653,2751,2773,2805,2817,2858,2861,2871,2881,2908,2912,2921,2922,2932,2934,2943,2946,2951,2952,4475],[27029],[3280,27030],{"_2214":27031,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":27032,"_2222":27033},"single-",[],[27034,27039],[2216,27035],{"_2214":27036,"_2216":12628,"_2217":2227,"_2219":2216,"_2220":27037,"_2222":27038},"single-server",[3462],[],[3099,27040],{"_2214":27041,"_2216":21215,"_2217":2227,"_2219":3099,"_2220":27042,"_2222":27043},"single-threaded",[3539,2637,2643],[],[5908,27045],{"_2214":27046,"_2216":5908,"_2217":2218,"_2219":5908,"_2220":27047,"_2222":27048},"siz",[],[27049,27059],[2217,27050],{"_2214":27051,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":27052,"_2222":27053},"size",[7537,2244,3405,3407,3417,2282,2283,2288,3257,2292,2319,2361,2362,12933,3454,2363,2370,2371,3365,2392,2406,2505,2525,2526,3505,2567,6088,2634,2679,2884,2900,2929,2997,3163,3635],[27054],[2216,27055],{"_2214":27056,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27057,"_2222":27058},"sizes",[2667],[],[3002,27060],{"_2214":27061,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27062,"_2222":27063},"sizing",[3401],[],[3099,27065],{"_2214":27066,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":27067,"_2222":27068},"sit",[],[27069,27080],[3691,27070],{"_2214":27071,"_2216":27072,"_2217":2227,"_2219":3691,"_2220":27073,"_2222":27074},"situation","uation",[2244,2366,2406,2463,2551,2703,2946],[27075],[2216,27076],{"_2214":27077,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27078,"_2222":27079},"situations",[2384,2500,19753,6458],[],[2217,27081],{"_2214":27082,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":27083,"_2222":27084},"site",[2775,2776,3237],[27085],[2216,27086],{"_2214":27087,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27088,"_2222":27089},"sites",[2775,3384,2776,2777,3237,2848],[],[3825,27091],{"_2214":27092,"_2216":18063,"_2217":2227,"_2219":3825,"_2220":27093,"_2222":27094},"sign",[2272,2333],[27095,27100,27111],[2217,27096],{"_2214":27097,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":27098,"_2222":27099},"signed",[2252,2254,6049,2669],[],[3002,27101],{"_2214":27102,"_2216":27103,"_2217":2227,"_2219":3002,"_2220":27104,"_2222":27105},"significant","ificant",[2458,2468,3224],[27106],[3193,27107],{"_2214":27108,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":27109,"_2222":27110},"significantly",[2509],[],[2225,27112],{"_2214":27113,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":27114,"_2222":27115},"signa",[],[27116,27121],[3099,27117],{"_2214":27118,"_2216":8096,"_2217":2227,"_2219":3099,"_2220":27119,"_2222":27120},"signature",[2648],[],[3193,27122],{"_2214":27123,"_2216":27124,"_2217":2227,"_2219":3193,"_2220":27125,"_2222":27126},"signals","ls",[3570],[],[2220,27128],{"_2214":27129,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":27130,"_2222":27131},"sid",[3164],[27132],[2217,27133],{"_2214":27134,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":27135,"_2222":27136},"side",[2329,2333,3436,7038,6077,5989,3493,3179,2634,2718],[],[3322,27138],{"_2214":8589,"_2216":3322,"_2217":2227,"_2219":3322,"_2220":27139,"_2222":27140},[3355,12960,2337,4778,2367,4779,2398,3479,3492,2492,12961,13039,13073,13051,13023,12980,12987,12994,3616,5738],[27141,27193,27240,27266,27317,27333],[3017,27142],{"_2214":27143,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":27144,"_2222":27145},"sho",[],[27146,27157,27177],[3691,27147],{"_2214":27148,"_2216":27149,"_2217":2227,"_2219":3691,"_2220":27150,"_2222":27151},"should","uld",[2234,2242,2244,3254,2272,4461,2275,6299,3773,2317,2329,2336,3434,3932,2366,2368,2372,2373,2375,2378,2388,3780,2391,2394,2395,3027,2404,3478,3482,3483,2435,2438,2443,2447,2453,3487,2458,2478,2486,3493,3160,2513,3369,3650,2543,2544,3788,3949,2630,2634,2635,2638,4664,2658,2667,3548,3552,2688,3800,2698,2717,2738,2763,2773,2818,2819,3589,3809,6022,2941,2944,8428,4827,5193,4336,2962],[27152],[3207,27153],{"_2214":27154,"_2216":17606,"_2217":2227,"_2219":3207,"_2220":27155,"_2222":27156},"shouldn't",[12007],[],[2214,27158],{"_2214":27159,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":27160,"_2222":27161},"show",[4463,13759,9555,2427,11266,4466,3525,2625,2888],[27162,27167,27172],[2216,27163],{"_2214":27164,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27165,"_2222":27166},"shows",[3405,2521,3505,2691,2746,6103,2885],[],[3002,27168],{"_2214":27169,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27170,"_2222":27171},"showing",[3479,2566],[],[3207,27173],{"_2214":27174,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":27175,"_2222":27176},"shown",[3519],[],[3220,27178],{"_2214":27179,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":27180,"_2222":27181},"short",[2458,2486],[27182,27188],[3322,27183],{"_2214":27184,"_2216":27185,"_2217":2227,"_2219":3322,"_2220":27186,"_2222":27187},"shorthand","hand",[3437,2472],[],[2217,27189],{"_2214":27190,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":27191,"_2222":27192},"shorter",[2469],[],[3691,27194],{"_2214":27195,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":27196,"_2222":27197},"shu",[],[27198,27223],[3099,27199],{"_2214":27200,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":27201,"_2222":27202},"shut",[2236,3431,2458,2467,3530,6264,2630],[27203,27213,27218],[2220,27204],{"_2214":27205,"_2216":20773,"_2217":2227,"_2219":2220,"_2220":27206,"_2222":27207},"shutdown",[7538,6051,2322,2630,3626],[27208],[3099,27209],{"_2214":27210,"_2216":16250,"_2217":2227,"_2219":3099,"_2220":27211,"_2222":27212},"shutdowntimeout",[6051],[],[2216,27214],{"_2214":27215,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27216,"_2222":27217},"shuts",[6051,3374,2836],[],[3099,27219],{"_2214":27220,"_2216":6425,"_2217":2227,"_2219":3099,"_2220":27221,"_2222":27222},"shutting",[3362,2447,2458,2471,2836],[],[3085,27224],{"_2214":27225,"_2216":27226,"_2217":2218,"_2219":3085,"_2220":27227,"_2222":27228},"shuffl","ffl",[],[27229,27235],[2217,27230],{"_2214":27231,"_2216":27232,"_2217":2227,"_2219":2217,"_2220":27233,"_2222":27234},"shufflednsresponse","ednsresponse",[2635],[],[3002,27236],{"_2214":27237,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27238,"_2222":27239},"shuffling",[2635],[],[3002,27241],{"_2214":27242,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":27243,"_2222":27244},"shi",[],[27245,27260],[4034,27246],{"_2214":6806,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":27247,"_2222":27248},[3355],[27249,27255],[4034,27250],{"_2214":27251,"_2216":27252,"_2217":2227,"_2219":4034,"_2220":27253,"_2222":27254},"shipped","ped",[3644],[],[2216,27256],{"_2214":27257,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27258,"_2222":27259},"ships",[2494],[],[3085,27261],{"_2214":27262,"_2216":27263,"_2217":2227,"_2219":3085,"_2220":27264,"_2222":27265},"shifts","fts",[2515],[],[2225,27267],{"_2214":27268,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":27269,"_2222":27270},"sha",[],[27271,27306,27311],[3220,27272],{"_2214":23113,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":27273,"_2222":27274},[],[27275,27286,27291],[2217,27276],{"_2214":27277,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":27278,"_2222":27279},"share",[2404,3502],[27280],[2220,27281],{"_2214":27282,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":27283,"_2222":27285},"shared",[4461,2404,3650,2543,2638,23800,27284,10843,2764,10844,3570,4511,2857],1468,[],[3002,27287],{"_2214":27288,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27289,"_2222":27290},"sharing",[2405,2514],[],[2220,27292],{"_2214":27293,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":27294,"_2222":27295},"shard",[],[27296,27301],[3002,27297],{"_2214":27298,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27299,"_2222":27300},"sharding",[2849,2851,2852,2853],[],[2217,27302],{"_2214":27303,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":27304,"_2222":27305},"sharded",[3597],[],[6884,27307],{"_2214":27308,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":27309,"_2222":27310},"sha1",[4645,2619],[],[2220,27312],{"_2214":27313,"_2216":27314,"_2217":2227,"_2219":2220,"_2220":27315,"_2222":27316},"shadows","dows",[2635],[],[3220,27318],{"_2214":27319,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":27320,"_2222":27321},"shr",[],[27322,27328],[2225,27323],{"_2214":27324,"_2216":27325,"_2217":2227,"_2219":2225,"_2220":27326,"_2222":27327},"shraer","aer",[2433],[],[3002,27329],{"_2214":27330,"_2216":8712,"_2217":2227,"_2219":3002,"_2220":27331,"_2222":27332},"shrink",[2437,2439],[],[2217,27334],{"_2214":27335,"_2216":24746,"_2217":2227,"_2219":2217,"_2220":27336,"_2222":27337},"shell",[6263,2939],[],[2225,27339],{"_2214":27340,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":27341,"_2222":27342},"sa",[],[27343,27364,27384,27405,27415,27425,27457,27467],[2972,27344],{"_2214":27345,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":27346,"_2222":27347},"sam",[3510],[27348,27353],[4034,27349],{"_2214":27350,"_2216":14536,"_2217":2227,"_2219":4034,"_2220":27351,"_2222":27352},"sample",[2235,3503,3374,3947,2601,2624,2668,2936,2943],[],[2217,27354],{"_2214":27355,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":27356,"_2222":27357},"same",[2244,3928,4461,2274,2281,2282,2313,2314,3420,4462,3932,2363,2368,3455,2375,2380,3780,2396,3477,2404,2443,2460,2461,2463,2485,2486,3935,3179,2510,3651,2553,3788,3944,2634,2635,2653,2658,3800,2703,2708,2711,2717,3299,2737,2741,2750,2755,2779,2788,3592,2871,2888,2895,2904,4472,2921,2944,2952,2955,6002],[27358],[3280,27359],{"_2214":27360,"_2216":27361,"_2217":2227,"_2219":3280,"_2220":27362,"_2222":27363},"same-session","-session",[3455],[],[3066,27365],{"_2214":27366,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":27367,"_2222":27368},"sav",[],[27369,27374],[3002,27370],{"_2214":27371,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27372,"_2222":27373},"saving",[2259],[],[2217,27375],{"_2214":27376,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":27377,"_2222":27378},"save",[2288,3427,2626],[27379],[2220,27380],{"_2214":27381,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":27382,"_2222":27383},"saved",[2703,2711],[],[3085,27385],{"_2214":27386,"_2216":8288,"_2217":2227,"_2219":3085,"_2220":27387,"_2222":27388},"safe",[2459,2463,3944,2738],[27389,27394,27399],[3193,27390],{"_2214":27391,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":27392,"_2222":27393},"safely",[3422,2471],[],[3099,27395],{"_2214":27396,"_2216":14768,"_2217":2227,"_2219":3099,"_2220":27397,"_2222":27398},"safety",[17549,3650,4896,2543],[],[3825,27400],{"_2214":27401,"_2216":27402,"_2217":2227,"_2219":3825,"_2220":27403,"_2222":27404},"safeguard","guard",[2714],[],[2216,27406],{"_2214":27407,"_2216":5845,"_2217":2227,"_2219":2216,"_2220":27408,"_2222":27409},"sasl",[3436,2344,2347,3437,2348,3438,2350,4361,4496,3448,3486,2618,2994,4849,7834,2631,3236,4518,6683,2959],[27410],[2225,27411],{"_2214":27412,"_2216":4855,"_2217":2227,"_2219":2225,"_2220":27413,"_2222":27414},"saslauthenticationprovider",[4361,3941],[],[3207,27416],{"_2214":27417,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":27418,"_2222":27419},"san",[3155],[27420],[3002,27421],{"_2214":27422,"_2216":5592,"_2217":2227,"_2219":3002,"_2220":27423,"_2222":27424},"sanity",[2362,2634,2667],[],[3099,27426],{"_2214":27427,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":27428,"_2222":27429},"sat",[],[27430,27446,27451],[3002,27431],{"_2214":27432,"_2216":27433,"_2217":2218,"_2219":3002,"_2220":27434,"_2222":27435},"satisfie","isfie",[],[27436,27441],[2216,27437],{"_2214":27438,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27439,"_2222":27440},"satisfies",[6350,6351],[],[2220,27442],{"_2214":27443,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":27444,"_2222":27445},"satisfied",[2894],[],[2225,27447],{"_2214":27448,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":27449,"_2222":27450},"sata",[2884],[],[3691,27452],{"_2214":27453,"_2216":27454,"_2217":2227,"_2219":3691,"_2220":27455,"_2222":27456},"saturation","uration",[2888],[],[3640,27458],{"_2214":27459,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":27460,"_2222":27461},"say",[3530,2693,2775,2778,2928,3622,3623,3624],[27462],[3002,27463],{"_2214":27464,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27465,"_2222":27466},"saying",[2629,2867],[],[2219,27468],{"_2214":27469,"_2216":4754,"_2217":2227,"_2219":2219,"_2220":27470,"_2222":27471},"sake",[3394],[],[2972,27473],{"_2214":27474,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":27475,"_2222":27476},"sm",[],[27477,27482,27502,27519],[3085,27478],{"_2214":27479,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":27480,"_2222":27481},"smf",[2237],[],[2225,27483],{"_2214":27484,"_2216":4455,"_2217":2227,"_2219":2225,"_2220":27485,"_2222":27486},"small",[2247,2292,2319,2667,2773,2864,6683],[27487],[2217,27488],{"_2214":27489,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":27490,"_2222":27491},"smalle",[],[27492,27497],[3220,27493],{"_2214":27494,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":27495,"_2222":27496},"smaller",[2283,2291,2302,2304,2326,2385,2511,2672,2779,2926,2929],[],[2216,27498],{"_2214":27499,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":27500,"_2222":27501},"smallest",[2589,2590,2778,2779,11248],[],[3017,27503],{"_2214":27504,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":27505,"_2222":27506},"smo",[],[27507,27513],[3017,27508],{"_2214":27509,"_2216":27510,"_2217":2227,"_2219":3017,"_2220":27511,"_2222":27512},"smooth","oth",[2370,2371],[],[2219,27514],{"_2214":27515,"_2216":27516,"_2217":2227,"_2219":2219,"_2220":27517,"_2222":27518},"smoketest","ketest",[2572],[],[3099,27520],{"_2214":27521,"_2216":27522,"_2217":2227,"_2219":3099,"_2220":27523,"_2222":27524},"smtp","tp",[2834],[],[2222,27526],{"_2214":27527,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":27528,"_2222":27529},"sc",[],[27530,27583,27623,27634,27697],[3220,27531],{"_2214":27532,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":27533,"_2222":27534},"scr",[],[27535,27547,27577],[3002,27536],{"_2214":27537,"_2216":27538,"_2217":2227,"_2219":3002,"_2220":27539,"_2222":27540},"script","ipt",[2367,2398,4336],[27541],[2216,27542],{"_2214":27543,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27544,"_2222":27546},"scripts",[3355,3254,3515,27545],995,[],[2225,27548],{"_2214":27549,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":27550,"_2222":27551},"scra",[],[27552,27572],[4034,27553],{"_2214":27554,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":27555,"_2222":27556},"scrap",[],[27557,27562],[3002,27558],{"_2214":27559,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27560,"_2222":27561},"scraping",[7547],[],[2217,27563],{"_2214":27564,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":27565,"_2222":27566},"scrape",[11269],[27567],[3220,27568],{"_2214":27569,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":27570,"_2222":27571},"scraper",[11268],[],[3099,27573],{"_2214":27574,"_2216":8326,"_2217":2227,"_2219":3099,"_2220":27575,"_2222":27576},"scratch",[3602],[],[2217,27578],{"_2214":27579,"_2216":27580,"_2217":2227,"_2219":2217,"_2220":27581,"_2222":27582},"screen","een",[3944],[],[2225,27584],{"_2214":27585,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":27586,"_2222":27587},"sca",[],[27588,27593],[3207,27589],{"_2214":27590,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":27591,"_2222":27592},"scan",[2283],[],[3193,27594],{"_2214":27595,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":27596,"_2222":27597},"scal",[],[27598,27603,27608],[3002,27599],{"_2214":27600,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27601,"_2222":27602},"scaling",[3264,2833],[],[2217,27604],{"_2214":27605,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":27606,"_2222":27607},"scale",[2509,2515,2516,2813,2817,2832,2846,2848],[],[2225,27609],{"_2214":27610,"_2216":5369,"_2217":2218,"_2219":2225,"_2220":27611,"_2222":27612},"scalab",[],[27613,27618],[3002,27614],{"_2214":27615,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":27616,"_2222":27617},"scalability",[2510,2740,2833,2846],[],[3193,27619],{"_2214":27620,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":27621,"_2222":27622},"scalable",[2651,2683,2777,2789,2794,2806,2807,2890],[],[2217,27624],{"_2214":27625,"_2216":27626,"_2217":2227,"_2219":2217,"_2220":27627,"_2222":27628},"scenario","enario",[2366,2658,2926],[27629],[2216,27630],{"_2214":27631,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27632,"_2222":27633},"scenarios",[3422,3426,3428,3363,2363,2545,11582],[],[3322,27635],{"_2214":27636,"_2216":27637,"_2217":2218,"_2219":3322,"_2220":27638,"_2222":27639},"sche","he",[],[27640,27666],[2972,27641],{"_2214":27642,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":27643,"_2222":27644},"schem",[],[27645,27655],[2217,27646],{"_2214":27647,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":27648,"_2222":27649},"scheme",[2341,2345,2346,3437,2349,2350,3645,2607,2608,2618,2620,3537,12856,2624,2684,3381,2687,2688,3271],[27650],[2216,27651],{"_2214":27652,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27653,"_2222":27654},"schemes",[2349,3438,3645,3486,2508,3514,3533,5186,2607,7721,3538,2685,2688,3800],[],[2225,27656],{"_2214":27657,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":27658,"_2222":27659},"schema",[2410],[27660],[3280,27661],{"_2214":27662,"_2216":27663,"_2217":2227,"_2219":3280,"_2220":27664,"_2222":27665},"schema-free","-free",[3579],[],[2220,27667],{"_2214":27668,"_2216":27669,"_2217":2218,"_2219":2220,"_2220":27670,"_2222":27671},"schedul","dul",[],[27672,27692],[2217,27673],{"_2214":27674,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":27675,"_2222":27676},"schedule",[],[27677,27682],[2220,27678],{"_2214":27679,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":27680,"_2222":27681},"scheduled",[2471],[],[3220,27683],{"_2214":27684,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":27685,"_2222":27686},"scheduler",[2838,2839],[27687],[2216,27688],{"_2214":27689,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27690,"_2222":27691},"schedulers",[2577],[],[3002,27693],{"_2214":27694,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27695,"_2222":27696},"scheduling",[3592],[],[3017,27698],{"_2214":27699,"_2216":5759,"_2217":2227,"_2219":3017,"_2220":27700,"_2222":27701},"scope",[3492,4468,2605],[27702],[2216,27703],{"_2214":27704,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27705,"_2222":27706},"scopes",[2605],[],[3193,27708],{"_2214":5845,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":27709,"_2222":27710},[],[27711,27729,27739,27759,27765],[3085,27712],{"_2214":27713,"_2216":27714,"_2217":2227,"_2219":3085,"_2220":27715,"_2222":27716},"slf4j","f4j",[3644,5388,3179,6105,3038,4597,3808,3621,3622,3623,3624,5482],[27717,27723],[2225,27718],{"_2214":27719,"_2216":27720,"_2217":2227,"_2219":2225,"_2220":27721,"_2222":27722},"slf4jauditlogger","auditlogger",[4360],[],[3280,27724],{"_2214":27725,"_2216":27726,"_2217":2227,"_2219":3280,"_2220":27727,"_2222":27728},"slf4j-api","-api",[3620,3622,3623,3624],[],[3017,27730],{"_2214":27731,"_2216":6778,"_2217":2227,"_2219":3017,"_2220":27732,"_2222":27733},"slow",[3212],[27734],[2217,27735],{"_2214":27736,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":27737,"_2222":27738},"slower",[2283,2777],[],[3002,27740],{"_2214":27741,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":27742,"_2222":27743},"sli",[],[27744,27754],[3825,27745],{"_2214":27746,"_2216":11201,"_2217":2227,"_2219":3825,"_2220":27747,"_2222":27748},"slight",[2328],[27749],[3193,27750],{"_2214":27751,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":27752,"_2222":27753},"slightly",[3649,2514],[],[2220,27755],{"_2214":27756,"_2216":24076,"_2217":2227,"_2219":2220,"_2220":27757,"_2222":27758},"slides",[2433],[],[2217,27760],{"_2214":27761,"_2216":27762,"_2217":2227,"_2219":2217,"_2220":27763,"_2222":27764},"sleep","eep",[2486],[],[2225,27766],{"_2214":27767,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":27768,"_2222":27769},"sla",[],[27770,27780],[2216,27771],{"_2214":27772,"_2216":8589,"_2217":2227,"_2219":2216,"_2220":27773,"_2222":27774},"slash",[2863],[27775],[3280,27776],{"_2214":27777,"_2216":14701,"_2217":2227,"_2219":3280,"_2220":27778,"_2222":27779},"slash-separated",[2659],[],[3066,27781],{"_2214":27782,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":27783,"_2222":27784},"slave",[2796,2803],[],[3640,27786],{"_2214":27787,"_2216":3640,"_2217":2218,"_2219":3640,"_2220":27788,"_2222":27789},"sy",[],[27790,27827,27965],[2216,27791],{"_2214":27792,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":27793,"_2222":27794},"sys",[],[27795,27822],[3099,27796],{"_2214":7869,"_2216":27797,"_2217":2227,"_2219":3099,"_2220":27798,"_2222":27799},"tem",[2239,2244,2977,3929,3770,2278,2280,3417,2281,3358,2282,2283,2284,2285,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,3773,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,2325,2326,2327,4488,2328,2329,2332,2333,2334,3776,3777,2335,2336,2337,3432,3433,3434,3435,2338,2340,2341,4645,3231,2343,2344,2345,2346,2347,2349,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,6300,2360,3452,5874,18307,2361,3453,2363,2364,2365,3455,5511,5750,6052,2370,2371,3456,3457,2372,2373,3458,2980,2981,2982,2983,2984,2985,2986,2987,2988,2374,2989,2379,3462,8833,8836,5798,5799,3646,6262,3480,2430,2438,2447,3487,2460,2465,2466,2472,2473,2476,2481,3783,3179,20889,3497,2507,2518,2521,2522,3371,6084,2529,2531,5513,5480,25611,2537,2538,2539,2547,2548,2559,2994,2634,2635,3545,2653,2657,2659,2667,3037,2683,3188,2747,2774,2800,2816,2827,2835,2839,3389,2843,2847,3598,2854,2857,2863,2871,2873,2882,2888,2889,2890,3393,3804,2894,3805,2902,2927,2995],[27800,27806,27811,27816],[4794,27801],{"_2214":27802,"_2216":27803,"_2217":2227,"_2219":4794,"_2220":27804,"_2222":27805},"system_properties","_properties",[3929],[],[3030,27807],{"_2214":27808,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":27809,"_2222":27810},"system's",[3432,3433],[],[2216,27812],{"_2214":27813,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27814,"_2222":27815},"systems",[2404,2466,2473,3510,2577,3545,2744,2797,3588,2856,2858,2864,2890,3805,3615],[],[3280,27817],{"_2214":27818,"_2216":27819,"_2217":2227,"_2219":3280,"_2220":27820,"_2222":27821},"system-wide","-wide",[2483],[],[4034,27823],{"_2214":27824,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":27825,"_2222":27826},"sysp",[3929],[],[3207,27828],{"_2214":27829,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":27830,"_2222":27831},"syn",[],[27832,27958],[2222,27833],{"_2214":7686,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":27834,"_2222":27836},[3358,2283,3430,2327,2332,2368,27835,2428,2453,3649,2456,2471,2486,2515,2638,4331,2658,2678,7556,3393,2908,2925,2926,3625,7754,4335,11180],570,[27837,27842,27863,27904,27914,27919,27937,27942,27948,27953],[2216,27838],{"_2214":27839,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27840,"_2222":27841},"syncs",[2243,2283,2313,2314,2910],[],[2217,27843],{"_2214":27844,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":27845,"_2222":27846},"synce",[],[27847,27858],[2220,27848],{"_2214":27849,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":27850,"_2222":27851},"synced",[5874,2459,2904,2911],[27852],[4794,27853],{"_2214":27854,"_2216":27855,"_2217":2227,"_2219":4794,"_2220":27856,"_2222":27857},"synced_observers","_observers",[2266],[],[3207,27859],{"_2214":27860,"_2216":9728,"_2217":2227,"_2219":3207,"_2220":27861,"_2222":27862},"syncenabled",[3419],[],[3322,27864],{"_2214":27865,"_2216":27866,"_2217":2218,"_2219":3322,"_2220":27867,"_2222":27868},"synchron","hron",[],[27869,27894],[3002,27870],{"_2214":27871,"_2216":15586,"_2217":2218,"_2219":3002,"_2220":27872,"_2222":27873},"synchroniz",[],[27874,27884,27889],[2225,27875],{"_2214":27876,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":27877,"_2222":27878},"synchronization",[2270,3358,3454,2658,3554,2851,2856,2858,2862,2869,11440],[27879],[2216,27880],{"_2214":27881,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":27882,"_2222":27883},"synchronizations",[3956],[],[2217,27885],{"_2214":27886,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":27887,"_2222":27888},"synchronize",[2580,2746],[],[3002,27890],{"_2214":27891,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27892,"_2222":27893},"synchronizing",[2883],[],[3017,27895],{"_2214":27896,"_2216":13631,"_2217":2227,"_2219":3017,"_2220":27897,"_2222":27898},"synchronous",[2449,2627,6089,2629,2646,2700,3383,2755,4335],[27899],[3193,27900],{"_2214":27901,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":27902,"_2222":27903},"synchronously",[2324,2658],[],[3193,27905],{"_2214":27906,"_2216":8895,"_2217":2227,"_2219":3193,"_2220":27907,"_2222":27908},"synclimit",[2332,3931,2926,2948],[27909],[2222,27910],{"_2214":27911,"_2216":10218,"_2217":2227,"_2219":2222,"_2220":27912,"_2222":27913},"synclimitcheck",[2323],[],[3002,27915],{"_2214":27916,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":27917,"_2222":27918},"syncing",[2515,2881],[],[4034,27920],{"_2214":27921,"_2216":18114,"_2217":2218,"_2219":4034,"_2220":27922,"_2222":27923},"syncpr",[],[27924,27931],[3002,27925],{"_2214":27926,"_2216":27927,"_2217":2227,"_2219":3002,"_2220":27928,"_2222":27930},"syncprimitive","imitive",[27929,2578,2587],1087,[],[3017,27932],{"_2214":27933,"_2216":27934,"_2217":2227,"_2219":3017,"_2220":27935,"_2222":27936},"syncprocessor","ocessor",[3626],[],[2222,27938],{"_2214":27939,"_2216":14157,"_2217":2227,"_2219":2222,"_2220":27940,"_2222":27941},"syncconnected",[2604],[],[2214,27943],{"_2214":27944,"_2216":27945,"_2217":2227,"_2219":2214,"_2220":27946,"_2222":27947},"syncwithleader","withleader",[7157,11180],[],[3099,27949],{"_2214":27950,"_2216":22352,"_2217":2227,"_2219":3099,"_2220":27951,"_2222":27952},"syncthread",[3631],[],[3220,27954],{"_2214":27955,"_2216":8014,"_2217":2227,"_2219":3220,"_2220":27956,"_2222":27957},"syncrequestprocessor",[11628],[],[3099,27959],{"_2214":27960,"_2216":27961,"_2217":2227,"_2219":3099,"_2220":27962,"_2222":27964},"syntax","tax",[3479,27963],726,[],[2972,27966],{"_2214":27967,"_2216":27968,"_2217":2227,"_2219":2972,"_2220":27969,"_2222":27970},"symposium","mposium",[3510,2854],[],[4034,27972],{"_2214":6198,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":27973,"_2222":27974},[],[27975,28069,28101,28112,28124,28130,28161,28166],[2217,27976],{"_2214":27977,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":27978,"_2222":27979},"spe",[],[27980,28054,28064],[2222,27981],{"_2214":27982,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":27983,"_2222":27984},"spec",[2435],[27985],[3002,27986],{"_2214":27987,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":27988,"_2222":27989},"speci",[],[27990,28000],[2225,27991],{"_2214":27992,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":27993,"_2222":27994},"special",[2244,3187,2453,2616,2618,2670,2705,3564,2819,2822],[27995],[3193,27996],{"_2214":27997,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":27998,"_2222":27999},"specially",[2363],[],[3085,28001],{"_2214":28002,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":28003,"_2222":28004},"specif",[],[28005,28044],[3002,28006],{"_2214":28007,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":28008,"_2222":28009},"specifi",[],[28010,28025],[2217,28011],{"_2214":28012,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":28013,"_2222":28014},"specifie",[],[28015,28020],[2220,28016],{"_2214":28017,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":28018,"_2222":28019},"specified",[2248,2254,2261,3416,2287,2290,2330,3435,2366,2394,2413,2435,2445,2446,2478,13761,2513,3216,6255,4468,2551,2607,5994,2688,2696,2697,3614,8052],[],[2216,28021],{"_2214":28022,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28023,"_2222":28024},"specifies",[3930,6299,2345,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3444,2355,3262,3932,2361,3488,2605,7834,3654,2631,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636,2687],[],[2222,28026],{"_2214":13266,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":28027,"_2222":28028},[3254,2253,3647,2451,2551,2569,2575,2606,2608,3377,2700,2788,3804],[28029],[2225,28030],{"_2214":28031,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":28032,"_2222":28033},"specifica",[],[28034,28039],[3099,28035],{"_2214":28036,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":28037,"_2222":28038},"specification",[6079,2435,2446,2474,2964],[],[3193,28040],{"_2214":28041,"_2216":17964,"_2217":2227,"_2219":3193,"_2220":28042,"_2222":28043},"specifically",[2625,4025,3807,2921,2950],[],[3640,28045],{"_2214":28046,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":28047,"_2222":28048},"specify",[2330,2331,2344,2346,4361,2356,2357,2365,2394,2436,2444,2448,2463,2464,2465,2476,2479,3179,3505,2650,3394,2949,2951,3622],[28049],[3002,28050],{"_2214":28051,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":28052,"_2222":28053},"specifying",[3930,7827,13342,3247,2448,2472,3795,3624],[],[2217,28055],{"_2214":28056,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":28057,"_2222":28058},"speed",[3257,2813],[28059],[2216,28060],{"_2214":28061,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28062,"_2222":28063},"speeds",[2832],[],[2225,28065],{"_2214":28066,"_2216":19113,"_2217":2227,"_2219":2225,"_2220":28067,"_2222":28068},"speak",[2809],[],[2225,28070],{"_2214":28071,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":28072,"_2222":28073},"spa",[],[28074,28084,28095],[2222,28075],{"_2214":28076,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":28077,"_2222":28078},"space",[3417],[28079],[2216,28080],{"_2214":28081,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28082,"_2222":28083},"spaces",[3158],[],[3220,28085],{"_2214":28086,"_2216":20600,"_2217":2227,"_2219":3220,"_2220":28087,"_2222":28088},"spark",[4386,3388,2842,4404],[28089],[3280,28090],{"_2214":28091,"_2216":28092,"_2217":2227,"_2219":3280,"_2220":28093,"_2222":28094},"spark-standalone","-standalone",[4404],[],[2972,28096],{"_2214":28097,"_2216":28098,"_2217":2227,"_2219":2972,"_2220":28099,"_2222":28100},"spammy","mmy",[2963],[],[3002,28102],{"_2214":28103,"_2216":28104,"_2217":2227,"_2219":3002,"_2220":28105,"_2222":28106},"spike","ike",[2779],[28107],[2216,28108],{"_2214":28109,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28110,"_2222":28111},"spikes",[12933],[],[3193,28113],{"_2214":28114,"_2216":28115,"_2217":2227,"_2219":3193,"_2220":28116,"_2222":28117},"split","lit",[2366,2403,2445,2520,17550,5514,2543,2929],[28118],[3280,28119],{"_2214":28120,"_2216":28121,"_2217":2227,"_2219":3280,"_2220":28122,"_2222":28123},"split-brain","-brain",[2463],[],[3017,28125],{"_2214":28126,"_2216":28127,"_2217":2227,"_2219":3017,"_2220":28128,"_2222":28129},"spoken","oken",[2768],[],[3220,28131],{"_2214":28132,"_2216":28133,"_2217":2227,"_2219":3220,"_2220":28134,"_2222":28135},"spring","ring",[2797,2798,2799,2800,10467,17883,17884],[28136],[3280,28137],{"_2214":28138,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":28139,"_2222":28140},"spring-",[],[28141,28148,28154],[2222,28142],{"_2214":28143,"_2216":28144,"_2217":2227,"_2219":2222,"_2220":28145,"_2222":28147},"spring-cloud-zookeeper","cloud-zookeeper",[28146,17884],1575,[],[2216,28149],{"_2214":28150,"_2216":25537,"_2217":2227,"_2219":2216,"_2220":28151,"_2222":28153},"spring-statemachine",[28152,17883],1576,[],[4309,28155],{"_2214":28156,"_2216":28157,"_2217":2227,"_2219":4309,"_2220":28158,"_2222":28160},"spring-xd","xd",[28159,10467],1577,[],[2972,28162],{"_2214":28163,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":28164,"_2222":28165},"spm",[3596],[],[3691,28167],{"_2214":28168,"_2216":28169,"_2217":2227,"_2219":3691,"_2220":28170,"_2222":28171},"spurious","urious",[2957],[],[2214,28173],{"_2214":28174,"_2216":2214,"_2217":2218,"_2219":2214,"_2220":28175,"_2222":28176},"sw",[],[28177,28192],[2225,28178],{"_2214":28179,"_2216":4168,"_2217":2227,"_2219":2225,"_2220":28180,"_2222":28181},"swap",[2244,2392,2406,2679],[28182,28187],[2216,28183],{"_2214":28184,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28185,"_2222":28186},"swaps",[2244],[],[4034,28188],{"_2214":28189,"_2216":19800,"_2217":2227,"_2219":4034,"_2220":28190,"_2222":28191},"swapping",[2392,2679],[],[3002,28193],{"_2214":28194,"_2216":28195,"_2217":2227,"_2219":3002,"_2220":28196,"_2222":28197},"switch","itch",[2370,3780,2404,2436,4498,2953],[28198,28203],[3002,28199],{"_2214":28200,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":28201,"_2222":28202},"switching",[2330,2370,2437],[],[2217,28204],{"_2214":28205,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":28206,"_2222":28207},"switches",[2691],[],[2216,28209],{"_2214":28210,"_2216":5845,"_2217":2227,"_2219":2216,"_2220":28211,"_2222":28212},"ssl",[3052,3054,3198,2272,4461,3153,3930,3436,2345,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,3445,3263,3446,3447,3932,2984,7548,3498,13343,2563,2994,5994,2632,7835,2633,7836,3268,4922,3619,6200,2998,3217],[28213,28219,28230,28235],[3280,28214],{"_2214":28215,"_2216":28216,"_2217":2227,"_2219":3280,"_2220":28217,"_2222":28218},"ssl-backed","-backed",[2343],[],[5252,28220],{"_2214":28221,"_2216":13582,"_2217":2227,"_2219":5252,"_2220":28222,"_2222":28223},"sslquorum",[3362],[28224],[3220,28225],{"_2214":28226,"_2216":28227,"_2217":2227,"_2219":3220,"_2220":28228,"_2222":28229},"sslquorumreloadcertfiles","reloadcertfiles",[3446],[],[2222,28231],{"_2214":28232,"_2216":13670,"_2217":2227,"_2219":2222,"_2220":28233,"_2222":28234},"sslcontext",[3363],[],[4034,28236],{"_2214":28237,"_2216":4856,"_2217":2227,"_2219":4034,"_2220":28238,"_2222":28239},"sslprovider",[3263],[],[3220,28241],{"_2214":28242,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":28243,"_2222":28244},"sr",[],[28245,28254,28259],[3066,28246],{"_2214":24969,"_2216":3066,"_2217":2227,"_2219":3066,"_2220":28247,"_2222":28248},[2636],[28249],[3220,28250],{"_2214":28251,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":28252,"_2222":28253},"srvr",[3402,7539,2263,2337],[],[2216,28255],{"_2214":28256,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":28257,"_2222":28258},"srst",[9417,2265],[],[2222,28260],{"_2214":28261,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":28262,"_2222":28263},"src",[3367,2477,2625,2644,7419],[],[2219,28265],{"_2214":11195,"_2216":2219,"_2217":2218,"_2219":2219,"_2220":28266,"_2222":28267},[],[28268,28294],[3002,28269],{"_2214":28270,"_2216":7459,"_2217":2227,"_2219":3002,"_2220":28271,"_2222":28272},"skip",[2639,3543,2923],[28273,28279,28284,28289],[3193,28274],{"_2214":28275,"_2216":28276,"_2217":2227,"_2219":3193,"_2220":28277,"_2222":28278},"skiplearnerrequesttonextprocessor","learnerrequesttonextprocessor",[3452],[],[2225,28280],{"_2214":28281,"_2216":5180,"_2217":2227,"_2219":2225,"_2220":28282,"_2222":28283},"skipacl",[2364,2421,2452,3648],[],[2216,28285],{"_2214":28286,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28287,"_2222":28288},"skips",[2364,2452],[],[4034,28290],{"_2214":28291,"_2216":27252,"_2217":2227,"_2219":4034,"_2220":28292,"_2222":28293},"skipped",[3648],[],[2217,28295],{"_2214":28296,"_2216":28297,"_2217":2227,"_2219":2217,"_2220":28298,"_2222":28299},"skewed","ewed",[3805],[],[5252,28301],{"_2214":28302,"_2216":5252,"_2217":2218,"_2219":5252,"_2220":28303,"_2222":28304},"sq",[],[28305,28310,28315],[3220,28306],{"_2214":28307,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":28308,"_2222":28309},"sqrt",[5511],[],[3193,28311],{"_2214":28312,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":28313,"_2222":28314},"sql",[3579,2831,3388],[],[3691,28316],{"_2214":28317,"_2216":28318,"_2217":2227,"_2219":3691,"_2220":28319,"_2222":28320},"squash","uash",[4490],[],[11313,28322],{"_2214":28323,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":28324,"_2222":28325},"s3",[2559],[],[4794,28327],{"_2214":28328,"_2216":28329,"_2217":2227,"_2219":4794,"_2220":28330,"_2222":28331},"s_i","_i",[2775],[],[11353,28333],{"_2214":28334,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":28335,"_2222":28336},"s4",[4401],[],[3871,28338],{"_2214":28339,"_2216":28340,"_2217":2227,"_2219":3871,"_2220":28341,"_2222":28342},"sbom","bom",[3921],[],[3193,28344],{"_2214":3193,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":28345,"_2222":28346},[7361,3567,7362,5995,7552,3568],[28347,28701,28947,29133,29430,29441,29446,29463,29469],[3017,28348],{"_2214":6619,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":28349,"_2222":28350},[],[28351,28460,28485,28505,28601,28611,28637,28666],[3825,28352],{"_2214":14792,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":28353,"_2222":28354},[13290,2231,2232,2234,3401,2243,3405,3416,2276,2278,2279,3417,2281,2282,2283,2287,3419,2306,2307,2317,5874,2373,3459,22219,2375,2379,2380,2381,3460,2382,3478,2405,2426,2443,4937,3939,2505,2508,3786,3515,3517,3944,2678,2815,2884,3038,4597,3808,3612,2932,3614,2937,2955,4217,7561,7563,4851,3164,9016,2963],[28355,28387,28403,28414,28419,28429,28449],[3825,28356],{"_2214":28357,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":28358,"_2222":28359},"logg",[],[28360,28367],[3002,28361],{"_2214":28362,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":28363,"_2222":28366},"logging",[2229,28364,2235,3644,2253,2254,2278,3214,3179,3496,2504,4938,3606,28365,5515,3038,4597,21042,2937],8,1858,[],[2217,28368],{"_2214":28369,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":28370,"_2222":28371},"logge",[],[28372,28382],[3220,28373],{"_2214":28374,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":28375,"_2222":28376},"logger",[4360,2505],[28377],[2216,28378],{"_2214":28379,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28380,"_2222":28381},"loggers",[3809],[],[2220,28383],{"_2214":28384,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":28385,"_2222":28386},"logged",[2990,5023,2507,3391],[],[3871,28388],{"_2214":28389,"_2216":8485,"_2217":2227,"_2219":3871,"_2220":28390,"_2222":28391},"logback",[13290,2235,3644,5064,5389,2253,4360,16541,3214,4938,3038,2937,3620,3622,3623,3624,8022,5482,11287,3629],[28392,28397],[3030,28393],{"_2214":28394,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":28395,"_2222":28396},"logback's",[3214],[],[3280,28398],{"_2214":28399,"_2216":28400,"_2217":2227,"_2219":3280,"_2220":28401,"_2222":28402},"logback-classic","-classic",[3620,3622,3623,3624],[],[2216,28404],{"_2214":28405,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28406,"_2222":28407},"logs",[2234,3081,2238,8860,8861,8206,3177,6074,8207,7718,5986,3414,2283,3418,3774,4360,2340,2375,2380,2382,4935,4936,3938,2504,3940,3503,2553,3789,3516,2860,2937,3615,2955,3621,4605],[28408],[2217,28409],{"_2214":28410,"_2216":28411,"_2217":2227,"_2219":2217,"_2220":28412,"_2222":28413},"logsene","ene",[3596],[],[3085,28415],{"_2214":28416,"_2216":7825,"_2217":2227,"_2219":3085,"_2220":28417,"_2222":28418},"logfile",[3407],[],[2220,28420],{"_2214":28421,"_2216":23207,"_2217":2227,"_2219":2220,"_2220":28422,"_2222":28423},"logdir",[2997],[28424],[4794,28425],{"_2214":28426,"_2216":23213,"_2217":2227,"_2219":4794,"_2220":28427,"_2222":28428},"logdir_size",[3407],[],[3002,28430],{"_2214":28431,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":28432,"_2222":28433},"logi",[],[28434,28444],[3207,28435],{"_2214":28436,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":28437,"_2222":28438},"login",[2348,2350,7834,6659],[28439],[2216,28440],{"_2214":28441,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28442,"_2222":28443},"logins",[2344],[],[2222,28445],{"_2214":28446,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":28447,"_2222":28448},"logic",[3374,3532,3271,6110],[],[11353,28450],{"_2214":28451,"_2216":28452,"_2217":2227,"_2219":11353,"_2220":28453,"_2222":28454},"log4j","4j",[21506,3179],[28455],[6884,28456],{"_2214":28457,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":28458,"_2222":28459},"log4j1",[3179],[],[3207,28461],{"_2214":28462,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":28463,"_2222":28464},"lon",[],[28465,28481],[3825,28466],{"_2214":28467,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":28468,"_2222":28469},"long",[2230,2252,2254,3258,2293,2294,2322,2323,3362,3452,2372,2388,2462,3798,2676,2821,2860,3955,2905,2917,3615],[28470,28475],[2217,28471],{"_2214":28472,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":28473,"_2222":28474},"longer",[2287,2321,2430,3482,3483,2467,2701],[],[3280,28476],{"_2214":28477,"_2216":28478,"_2217":2227,"_2219":3280,"_2220":28479,"_2222":28480},"long-running","-running",[3432],[],[2217,28482],{"_2214":25663,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":28483,"_2222":28484},[2335],[],[2225,28486],{"_2214":24729,"_2216":2968,"_2217":2227,"_2219":2225,"_2220":28487,"_2222":28488},[2244,3421,2338,2345,2392,2515,2516,3523,23183,2679,3556,2802,3581,3590,2848],[28489,28494,28499],[3002,28490],{"_2214":28491,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":28492,"_2222":28493},"loading",[2238,3259,3425,5476,3429,5478,2518,7565],[],[2217,28495],{"_2214":28496,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":28497,"_2222":28498},"loaded",[3363,2429],[],[3280,28500],{"_2214":28501,"_2216":28502,"_2217":2227,"_2219":3280,"_2220":28503,"_2222":28504},"load-balancing","-balancing",[2704],[],[2222,28506],{"_2214":28507,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":28508,"_2222":28509},"loc",[],[28510,28581],[2225,28511],{"_2214":28512,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":28513,"_2222":28514},"loca",[],[28515,28561],[3193,28516],{"_2214":28517,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":28518,"_2222":28519},"local",[2272,2302,2303,2304,5182,2339,2351,2370,2371,3492,3935,2496,2559,2632,3272,2707,15622,2708,2709,2710,2711,2712,2713,5875,2714,2715,2717,2730,2817,2821,2822,2823,3590,2867,3392,2882],[28520,28525,28551,28556],[3322,28521],{"_2214":28522,"_2216":21464,"_2217":2227,"_2219":3322,"_2220":28523,"_2222":28524},"localhost",[2255,2341,2513,2951],[],[2216,28526],{"_2214":28527,"_2216":26394,"_2217":2218,"_2219":2216,"_2220":28528,"_2222":28529},"localsession",[],[28530,28546],[2216,28531],{"_2214":28532,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":28533,"_2222":28534},"localsessions",[],[28535,28540],[2217,28536],{"_2214":28537,"_2216":3095,"_2217":2227,"_2219":2217,"_2220":28538,"_2222":28539},"localsessionsenabled",[2339,2360,2707],[],[3691,28541],{"_2214":28542,"_2216":28543,"_2217":2227,"_2219":3691,"_2220":28544,"_2222":28545},"localsessionsupgradingenabled","upgradingenabled",[2339,17535,17536],[],[3099,28547],{"_2214":28548,"_2216":21052,"_2217":2227,"_2219":3099,"_2220":28549,"_2222":28550},"localsessiontracker",[2711,3558],[],[3193,28552],{"_2214":28553,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":28554,"_2222":28555},"locally",[2483,2511,2711,2722,2730],[],[4034,28557],{"_2214":28558,"_2216":9067,"_2217":2227,"_2219":4034,"_2220":28559,"_2222":28560},"localpeer",[9069],[],[3099,28562],{"_2214":28563,"_2216":3902,"_2217":2218,"_2219":3099,"_2220":28564,"_2222":28565},"locati",[],[28566,28576],[3017,28567],{"_2214":28568,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":28569,"_2222":28570},"location",[3409,3416,2351,2353,2562,2632,2633,2693,3587,2864,2875,2877,3614],[28571],[2216,28572],{"_2214":28573,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28574,"_2222":28575},"locations",[2667],[],[3207,28577],{"_2214":28578,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":28579,"_2222":28580},"locating",[26700],[],[2219,28582],{"_2214":12586,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":28583,"_2222":28584},[2670,2755,2756,2757,5335,3569,5996,2760,5631,2764,2765,2766,2767,2768,3952,3953,2769,2770,5997,2773,10844,3570,4511,2791,2819,2822,2823,3954,3625,12092],[28585,28590,28596],[3002,28586],{"_2214":28587,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":28588,"_2222":28589},"locking",[5183,5631,2849,7021,2850,3390,2852,4408],[],[2216,28591],{"_2214":28592,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28593,"_2222":28595},"locks",[3204,3554,3562,28594,27284,10843,3383,2741,2755,5631,2764,5999,10844,4511,6000],1466,[],[3207,28597],{"_2214":28598,"_2216":2212,"_2217":2227,"_2219":3207,"_2220":28599,"_2222":28600},"locknode",[2758],[],[3099,28602],{"_2214":28603,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":28604,"_2222":28605},"lot",[2280,2791,2843],[28606],[2216,28607],{"_2214":28608,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28609,"_2222":28610},"lots",[2714],[],[2214,28612],{"_2214":28613,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":28614,"_2222":28615},"low",[2371,2857,2901,2955],[28616,28631],[2217,28617],{"_2214":28618,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":28619,"_2222":28620},"lowe",[],[28621,28626],[3220,28622],{"_2214":28623,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":28624,"_2222":28625},"lower",[2293,2370,2604,2647,2754,2769,2770],[],[2216,28627],{"_2214":28628,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":28629,"_2222":28630},"lowest",[5995,3568,2751,2752,3569,5996,5997,5998,2773],[],[3280,28632],{"_2214":28633,"_2216":28634,"_2217":2227,"_2219":3280,"_2220":28635,"_2222":28636},"low-latency","-latency",[2807],[],[2216,28638],{"_2214":28639,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":28640,"_2222":28641},"los",[],[28642,28646,28656,28661],[2216,28643],{"_2214":14349,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28644,"_2222":28645},[3421,2429,3487,6084,6085,4896,2556,2560,3551,2676,7754,11180],[],[2217,28647],{"_2214":28648,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":28649,"_2222":28650},"lose",[3432,3433,2529,4025],[28651],[2216,28652],{"_2214":28653,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28654,"_2222":28655},"loses",[3435,3370,5480,2557,2698],[],[3002,28657],{"_2214":28658,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":28659,"_2222":28660},"losing",[2402,2403,2547,2708],[],[3099,28662],{"_2214":28663,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":28664,"_2222":28665},"lost",[5513,2557,13238,2708,2895,2907,2917],[],[3017,28667],{"_2214":28668,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":28669,"_2222":28670},"loo",[],[28671,28696],[2219,28672],{"_2214":28673,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":28674,"_2222":28675},"look",[3460,2675,3188,2693,2904,4597],[28676,28681,28686],[3002,28677],{"_2214":28678,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":28679,"_2222":28680},"looking",[2326,2329,2378,2522,13239,4113],[],[2216,28682],{"_2214":28683,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28684,"_2222":28685},"looks",[2330,2601,3570,2923,3677],[],[3691,28687],{"_2214":28688,"_2216":7019,"_2217":2227,"_2219":3691,"_2220":28689,"_2222":28690},"lookup",[3155,2615,4518,2635,3618,3811],[28691],[2216,28692],{"_2214":28693,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28694,"_2222":28695},"lookups",[3155,2636],[],[4034,28697],{"_2214":28698,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":28699,"_2222":28700},"loop",[2637,2638,2943,4474],[],[3002,28702],{"_2214":19540,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":28703,"_2222":28704},[],[28705,28711,28720,28775,28822,28851,28877,28904,28914,28931,28941],[3099,28706],{"_2214":28707,"_2216":28708,"_2217":2227,"_2219":3099,"_2220":28709,"_2222":28710},"little","ttle",[2230,3374,2894],[],[2219,28712],{"_2214":7875,"_2216":4754,"_2217":2227,"_2219":2219,"_2220":28713,"_2222":28714},[2237,5873,3419,3212,3775,2326,2330,5960,4825,3263,4361,3478,2430,2449,2455,2510,2513,3505,2542,2594,2601,2614,2618,2658,2659,2693,2696,2714,2754,2795,2796,3577,2809,2848,2859,2863,2864,2923,6022,3677],[28715],[3193,28716],{"_2214":28717,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":28718,"_2222":28719},"likely",[2244,2367],[],[3207,28721],{"_2214":28722,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":28723,"_2222":28724},"lin",[],[28725,28731,28760],[3691,28726],{"_2214":28727,"_2216":28728,"_2217":2227,"_2219":3691,"_2220":28729,"_2222":28730},"linux","ux",[3355,2305,7510],[],[2217,28732],{"_2214":6144,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":28733,"_2222":28734},[3431,2336,4778,2367,4779,2395,2446,2454,4186,2513,2520,2549,5992,2591,2600,2749,2831,2940],[28735,28739],[2216,28736],{"_2214":6928,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28737,"_2222":28738},[3254,4496,2394,2445],[],[2225,28740],{"_2214":28741,"_2216":3760,"_2217":2227,"_2219":2225,"_2220":28742,"_2222":28743},"linear",[2833],[28744],[3002,28745],{"_2214":28746,"_2216":28747,"_2217":2218,"_2219":3002,"_2220":28748,"_2222":28749},"linearizab","izab",[],[28750,28755],[3193,28751],{"_2214":28752,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":28753,"_2222":28754},"linearizable",[2577,2924,2925],[],[3002,28756],{"_2214":28757,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":28758,"_2222":28759},"linearizability",[3610,2926,3611],[],[2219,28761],{"_2214":28762,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":28763,"_2222":28764},"link",[2638,2643],[28765,28770],[2216,28766],{"_2214":28767,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28768,"_2222":28769},"links",[2433,2511,6242],[],[2217,28771],{"_2214":28772,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":28773,"_2222":28774},"linked",[2442,3492],[],[2216,28776],{"_2214":28777,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":28778,"_2222":28779},"list",[2242,6073,4457,2249,2250,2251,2255,2256,2257,2266,2274,3358,2329,2333,2337,3361,2346,3645,3444,2359,3449,3450,3451,3232,2419,2420,2431,2452,2459,2461,2462,2463,3367,2477,2483,3940,2508,2554,2586,2590,2610,2615,3536,3537,2621,2623,2994,2635,2666,3798,2668,2677,3801,2692,2696,2704,3556,2705,2706,2721,2724,2730,2749,2752,2754,2779,2784,3587,2837,2866,2880,2940,4113],[28780,28800,28805,28816],[2217,28781],{"_2214":28782,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":28783,"_2222":28784},"liste",[],[28785,28795],[3207,28786],{"_2214":28787,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":28788,"_2222":28789},"listen",[2240,5538,3930,3178,2286,3232,2378,3216,7558],[28790],[2216,28791],{"_2214":28792,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28793,"_2222":28794},"listens",[2987,2988],[],[2220,28796],{"_2214":28797,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":28798,"_2222":28799},"listed",[3055,2460,2461,2463,2786],[],[2216,28801],{"_2214":28802,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28803,"_2222":28804},"lists",[3401,2242,3403,7539,3404,5984,2249,2250,2378,2677,2721,2754,3803],[],[3002,28806],{"_2214":28807,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":28808,"_2222":28810},"listing",[2989,2460,2462,2520,28809,26882,2939],961,[28811],[2216,28812],{"_2214":28813,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28814,"_2222":28815},"listings",[15028],[],[5252,28817],{"_2214":28818,"_2216":24065,"_2217":2227,"_2219":5252,"_2220":28819,"_2222":28821},"listquota",[28820,2554],559,[],[2972,28823],{"_2214":8895,"_2216":6826,"_2217":2227,"_2219":2972,"_2220":28824,"_2222":28825},[2244,2280,2283,2284,2285,3212,2306,2307,2318,3775,2392,2430,2679,2948],[28826,28831,28841,28846],[2216,28827],{"_2214":28828,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28829,"_2222":28830},"limits",[2283,2284,2285,2426,6086,2948],[],[2225,28832],{"_2214":28833,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":28834,"_2222":28835},"limitation",[3163],[28836],[2216,28837],{"_2214":28838,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28839,"_2222":28840},"limitations",[3771,2395],[],[3002,28842],{"_2214":28843,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":28844,"_2222":28845},"limiting",[2295,2296,2297,2298,2299,2300,2301,2980,2740],[],[2217,28847],{"_2214":28848,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":28849,"_2222":28850},"limited",[2384,2576,2605],[],[3871,28852],{"_2214":28853,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":28854,"_2222":28855},"lib",[7827,7828,2698,2700],[28856,28872],[3220,28857],{"_2214":28858,"_2216":28859,"_2217":2218,"_2219":3220,"_2220":28860,"_2222":28861},"librar","rar",[],[28862,28867],[3640,28863],{"_2214":28864,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":28865,"_2222":28866},"library",[3263,2386,3792,3539,2629,2637,2638,4331,2643,2648,15146,2676,2691,2692,2695,2696,2793,2817,2834,3622,11884],[],[3002,28868],{"_2214":28869,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":28870,"_2222":28871},"libraries",[3263,2399,5989,2604,3539,3540,2638,23799,23800,2642,3560,3564],[],[3099,28873],{"_2214":28874,"_2216":22528,"_2217":2227,"_2219":3099,"_2220":28875,"_2222":28876},"libtool",[3543],[],[3085,28878],{"_2214":28879,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":28880,"_2222":28881},"lif",[],[28882,28899],[2217,28883],{"_2214":28884,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":28885,"_2222":28886},"life",[],[28887,28893],[2222,28888],{"_2214":28889,"_2216":28890,"_2217":2227,"_2219":2222,"_2220":28891,"_2222":28892},"lifecycle","cycle",[3459,2407],[],[2216,28894],{"_2214":28895,"_2216":28896,"_2217":2227,"_2219":2216,"_2220":28897,"_2222":28898},"lifespan","span",[2712],[],[3099,28900],{"_2214":28901,"_2216":6425,"_2217":2227,"_2219":3099,"_2220":28902,"_2222":28903},"lifting",[2917],[],[3066,28905],{"_2214":28906,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":28907,"_2222":28908},"live",[2559],[28909],[3207,28910],{"_2214":28911,"_2216":14588,"_2217":2227,"_2219":3207,"_2220":28912,"_2222":28913},"liveness",[2483,3783,17548,6084,2529,4896,3805],[],[3825,28915],{"_2214":28916,"_2216":11201,"_2217":2218,"_2219":3825,"_2220":28917,"_2222":28918},"light",[],[28919,28925],[2214,28920],{"_2214":28921,"_2216":28922,"_2217":2227,"_2219":2214,"_2220":28923,"_2222":28924},"lightweight","weight",[2722],[],[3280,28926],{"_2214":28927,"_2216":28928,"_2217":2227,"_2219":3280,"_2220":28929,"_2222":28930},"light-weight","-weight",[2802,2814],[],[2217,28932],{"_2214":28933,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":28934,"_2222":28935},"lie",[3610],[28936],[2216,28937],{"_2214":28938,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":28939,"_2222":28940},"lies",[3611],[],[2222,28942],{"_2214":28943,"_2216":28944,"_2217":2227,"_2219":2222,"_2220":28945,"_2222":28946},"license","cense",[4159,5482,3636],[],[2225,28948],{"_2214":28949,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":28950,"_2222":28951},"la",[],[28952,28991,29025,29036,29076,29095,29101,29111,29122],[3220,28953],{"_2214":28954,"_2216":28955,"_2217":2227,"_2219":3220,"_2220":28956,"_2222":28957},"large","rge",[2231,2279,3358,2318,2319,2327,12933,3454,2365,5511,3264,2515,2667,2714,2773,2779,2797,2815,2816,2817,2831,3388,2848,2858],[28958,28980,28985],[3220,28959],{"_2214":28960,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":28961,"_2222":28962},"larger",[2282,2283,3256,3258,6050,2303,2928,2929],[28963],[2217,28964],{"_2214":28965,"_2216":28966,"_2217":2218,"_2219":2217,"_2220":28967,"_2222":28968},"largerequest","equest",[],[28969,28975],[2972,28970],{"_2214":28971,"_2216":28972,"_2217":2227,"_2219":2972,"_2220":28973,"_2222":28974},"largerequestmaxbytes","maxbytes",[2318],[],[3099,28976],{"_2214":28977,"_2216":22371,"_2217":2227,"_2219":3099,"_2220":28978,"_2222":28979},"largerequestthreshold",[2319],[],[2216,28981],{"_2214":28982,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":28983,"_2222":28984},"largest",[2781,2783],[],[3280,28986],{"_2214":28987,"_2216":28988,"_2217":2227,"_2219":3280,"_2220":28989,"_2222":28990},"large-scale","-scale",[2842],[],[2216,28992],{"_2214":5609,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":28993,"_2222":28994},[],[28995,29020],[3099,28996],{"_2214":28997,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":28998,"_2222":28999},"last",[2231,2234,4457,2259,3358,2373,2379,2382,2411,2435,2454,2460,2461,2464,2473,2478,2481,2670,6093,6094,8211,2749,2751],[29000,29015],[4794,29001],{"_2214":29002,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":29003,"_2222":29004},"last_",[],[29005,29010],[2216,29006],{"_2214":29007,"_2216":26686,"_2217":2227,"_2219":2216,"_2220":29008,"_2222":29009},"last_snapshot",[2259],[],[5908,29011],{"_2214":29012,"_2216":13138,"_2217":2227,"_2219":5908,"_2220":29013,"_2222":29014},"last_zxid",[4324,2264],[],[4034,29016],{"_2214":26099,"_2216":29017,"_2217":2227,"_2219":4034,"_2220":29018,"_2222":29019},"processedzxid",[2978,3429,5478,3430],[],[2217,29021],{"_2214":29022,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":29023,"_2222":29024},"laser",[4511],[],[3691,29026],{"_2214":29027,"_2216":29028,"_2217":2227,"_2219":3691,"_2220":29029,"_2222":29030},"launch","unch",[3592],[29031],[3002,29032],{"_2214":29033,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":29034,"_2222":29035},"launching",[3355],[],[3099,29037],{"_2214":29038,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":29039,"_2222":29040},"lat",[],[29041,29071],[2217,29042],{"_2214":16803,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":29043,"_2222":29044},[],[29045,29061,29066],[3207,29046],{"_2214":29047,"_2216":29048,"_2217":2218,"_2219":3207,"_2220":29049,"_2222":29050},"latenc","nc",[],[29051,29056],[3002,29052],{"_2214":29053,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":29054,"_2222":29055},"latencies",[4457,2279,2667,2955],[],[3640,29057],{"_2214":29058,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":29059,"_2222":29060},"latency",[2310,2311,12933,2375,2517,5991,2736,2857],[],[2216,29062],{"_2214":29063,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":29064,"_2222":29065},"latest",[3980,2382,2453,13761,4896,2561,4400,4404,4409],[],[3220,29067],{"_2214":29068,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":29069,"_2222":29070},"later",[2275,3422,2331,2359,3529,2719,2767,2768,6266],[],[3099,29072],{"_2214":29073,"_2216":5474,"_2217":2227,"_2219":3099,"_2220":29074,"_2222":29075},"latter",[2259,2382],[],[3640,29077],{"_2214":23651,"_2216":3640,"_2217":2218,"_2219":3640,"_2220":29078,"_2222":29079},[],[29080,29085],[3017,29081],{"_2214":29082,"_2216":6390,"_2217":2227,"_2219":3017,"_2220":29083,"_2222":29084},"layouts",[2274],[],[2217,29086],{"_2214":29087,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":29088,"_2222":29089},"layer",[15549,18619,2817,2881,2882,3038],[29090],[2216,29091],{"_2214":29092,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29093,"_2222":29094},"layers",[3652],[],[5908,29096],{"_2214":29097,"_2216":29098,"_2217":2227,"_2219":5908,"_2220":29099,"_2222":29100},"lazily","zily",[3256,3257,3258],[],[2222,29102],{"_2214":29103,"_2216":13506,"_2217":2227,"_2219":2222,"_2220":29104,"_2222":29105},"lack",[6021],[29106],[2216,29107],{"_2214":29108,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29109,"_2222":29110},"lacks",[4335],[],[3207,29112],{"_2214":29113,"_2216":29114,"_2217":2227,"_2219":3207,"_2220":29115,"_2222":29116},"language","nguage",[3377,2691,2843],[29117],[2216,29118],{"_2214":29119,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29120,"_2222":29121},"languages",[3540],[],[3871,29123],{"_2214":29124,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":29125,"_2222":29126},"lab",[2676],[29127],[2217,29128],{"_2214":29129,"_2216":29130,"_2217":2227,"_2219":2217,"_2220":29131,"_2222":29132},"labels","els",[2804],[],[2217,29134],{"_2214":5319,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":29135,"_2222":29136},[],[29137,29172,29176,29340,29361,29376,29387,29413,29419],[3099,29138],{"_2214":29139,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":29140,"_2222":29141},"let",[2780,3572,6102],[29142,29162,29167],[3099,29143],{"_2214":29144,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":29145,"_2222":29146},"lett",[],[29147,29157],[2217,29148],{"_2214":29149,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":29150,"_2222":29151},"letter",[6071,3051,7786,3055,6075,2262,2337,7787,3036],[29152],[2216,29153],{"_2214":29154,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29155,"_2222":29156},"letters",[2247],[],[3002,29158],{"_2214":29159,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":29160,"_2222":29161},"letting",[2676],[],[3030,29163],{"_2214":29164,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":29165,"_2222":29166},"let's",[3379,8009],[],[2216,29168],{"_2214":29169,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29170,"_2222":29171},"lets",[2774,2816,5792],[],[2216,29173],{"_2214":10565,"_2216":5054,"_2217":2227,"_2219":2216,"_2220":29174,"_2222":29175},[6072,2243,3771,2291,6077,3477,2511,2667,2674,2773,2889,2946],[],[2225,29177],{"_2214":29178,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":29179,"_2222":29180},"lea",[],[29181,29267,29299,29310,29320,29335],[2220,29182],{"_2214":29183,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":29184,"_2222":29185},"lead",[3409,2283,2517,3626],[29186,29258,29263],[2217,29187],{"_2214":8414,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":29188,"_2222":29192},[3254,8206,8207,2254,3409,2266,3412,3178,2283,2293,2294,2313,2314,3259,5987,3423,3424,3426,2322,2323,3427,3430,2325,3431,2326,2327,4488,2328,3360,2329,2332,2334,3776,3777,2336,3434,3435,2338,3362,3454,3232,2368,2373,2394,2396,2428,2454,2456,2458,2459,2460,2462,2464,2467,2468,8209,6248,2469,2471,2473,2478,3491,2481,2483,3783,2484,2497,29189,29190,2498,3497,2510,2514,2515,2526,3370,2529,2530,2531,2532,2533,3507,4890,4896,2535,5514,2539,2546,2547,2574,2575,2576,3204,2670,2709,2712,2717,3562,29191,2778,2779,2780,11248,2784,15318,6633,2814,3587,2838,3591,3592,2846,7021,2850,3598,7555,3390,2852,2853,2881,2882,6104,3676,2889,4992,2901,2902,2903,2904,2905,4471,2906,2907,2908,2909,2910,3806,2911,2913,2914,2915,2916,2917,4472,3609,2919,2921,2922,2923,2926,2927,2948,2950,2951,3164],769,770,1471,[29193,29208,29235,29240,29247,29252],[4794,29194],{"_2214":29195,"_2216":28329,"_2217":2218,"_2219":4794,"_2220":29196,"_2222":29197},"leader_i",[],[29198,29203],[2220,29199],{"_2214":29200,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":29201,"_2222":29202},"leader_id",[3409],[],[4034,29204],{"_2214":29205,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":29206,"_2222":29207},"leader_ip",[3409],[],[2216,29209],{"_2214":29210,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29211,"_2222":29212},"leaders",[3216,2836,2881,2884,2922],[29213,29230],[2217,29214],{"_2214":29215,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":29216,"_2222":29217},"leaderse",[],[29218,29224],[3220,29219],{"_2214":29220,"_2216":29221,"_2217":2227,"_2219":3220,"_2220":29222,"_2222":29223},"leaderserves","rves",[2328],[],[2216,29225],{"_2214":29226,"_2216":29227,"_2217":2227,"_2219":2216,"_2220":29228,"_2222":29229},"leadersessiontracker","ssiontracker",[3558],[],[3322,29231],{"_2214":29232,"_2216":20562,"_2217":2227,"_2219":3322,"_2220":29233,"_2222":29234},"leadership",[2901,2904,2922],[],[3030,29236],{"_2214":29237,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":29238,"_2222":29239},"leader's",[6681,2574],[],[2217,29241],{"_2214":29242,"_2216":8420,"_2217":2227,"_2219":2217,"_2220":29243,"_2222":29246},"leaderelection",[29244,29245],766,767,[],[5908,29248],{"_2214":29249,"_2216":11263,"_2217":2227,"_2219":5908,"_2220":29250,"_2222":29251},"leaderzookeeper",[3558],[],[3280,29253],{"_2214":29254,"_2216":29255,"_2217":2227,"_2219":3280,"_2220":29256,"_2222":29257},"leader-follower","-follower",[2836],[],[2216,29259],{"_2214":29260,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29261,"_2222":29262},"leads",[2510],[],[3002,29264],{"_2214":21396,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":29265,"_2222":29266},[2838,7754],[],[3220,29268],{"_2214":29269,"_2216":14420,"_2217":2227,"_2219":3220,"_2220":29270,"_2222":29271},"learn",[2514,2515,3714],[29272,29294],[2217,29273],{"_2214":29274,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":29275,"_2222":29276},"learner",[2266,3420,2322,2324,4488,3362,2514,7157,11180],[29277,29288],[2216,29278],{"_2214":29279,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29280,"_2222":29281},"learners",[3427,2515],[29282],[2217,29283],{"_2214":29284,"_2216":29285,"_2217":2227,"_2219":2217,"_2220":29286,"_2222":29287},"learnersessiontracker","essiontracker",[3558],[],[3322,29289],{"_2214":29290,"_2216":29291,"_2217":2227,"_2219":3322,"_2220":29292,"_2222":29293},"learnerhandler","handler",[2575],[],[3002,29295],{"_2214":29296,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":29297,"_2222":29298},"learning",[3366],[],[3066,29300],{"_2214":29301,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":29302,"_2222":29304},"leave",[3258,2322,2448,3489,3490,2579,2585,3378,2746,2747,29303,2750,3038],1487,[29305],[2216,29306],{"_2214":29307,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29308,"_2222":29309},"leaves",[2775],[],[2219,29311],{"_2214":29312,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":29313,"_2222":29314},"leak",[3433,8741,11286],[29315],[2216,29316],{"_2214":29317,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29318,"_2222":29319},"leaks",[11287],[],[2216,29321],{"_2214":29322,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":29323,"_2222":29324},"leas",[],[29325,29330],[3099,29326],{"_2214":29327,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":29328,"_2222":29329},"least",[3645,5511,2435,2509,2522,3525,2585,3552,2696,2736,3589,2894,2900,2928],[],[2217,29331],{"_2214":29332,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":29333,"_2222":29334},"lease",[2824],[],[3085,29336],{"_2214":29337,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":29338,"_2222":29339},"leaf",[2551],[],[3066,29341],{"_2214":29342,"_2216":4625,"_2217":2218,"_2219":3066,"_2220":29343,"_2222":29344},"leve",[],[29345,29355],[3193,29346],{"_2214":29347,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":29348,"_2222":29349},"level",[2253,3198,2285,2330,3432,3433,5798,2647,3204,2658,2681,10573,2856,5515,3038,2931],[29350],[2216,29351],{"_2214":29352,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29353,"_2222":29354},"levels",[3179,3808],[],[3220,29356],{"_2214":29357,"_2216":29358,"_2217":2227,"_2219":3220,"_2220":29359,"_2222":29360},"leverages","rages",[2805,2814,4391],[],[3207,29362],{"_2214":16158,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":29363,"_2222":29364},[7038,6077,12007],[29365],[3825,29366],{"_2214":29367,"_2216":29368,"_2217":2227,"_2219":3825,"_2220":29369,"_2222":29370},"length","gth",[2277,2293,2294,2305,6077,2550,2634,6097,4511,2948],[29371],[3030,29372],{"_2214":29373,"_2216":3030,"_2217":2227,"_2219":3030,"_2220":29374,"_2222":29375},"length'",[3395],[],[3085,29377],{"_2214":29378,"_2216":26812,"_2217":2227,"_2219":3085,"_2220":29379,"_2222":29380},"left",[2329,2366,3493,3179,2564,2751,2917],[29381],[3280,29382],{"_2214":29383,"_2216":29384,"_2217":2227,"_2219":3280,"_2220":29385,"_2222":29386},"left-hand","-hand",[2333],[],[3825,29388],{"_2214":29389,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":29390,"_2222":29391},"leg",[],[29392,29407],[2225,29393],{"_2214":29394,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":29395,"_2222":29396},"lega",[],[29397,29402],[2222,29398],{"_2214":29399,"_2216":5157,"_2217":2227,"_2219":2222,"_2220":29400,"_2222":29401},"legacy",[2366,4497],[],[3193,29403],{"_2214":29404,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":29405,"_2222":29406},"legal",[6080,2444,3489,2459],[],[3002,29408],{"_2214":29409,"_2216":29410,"_2217":2227,"_2219":3002,"_2220":29411,"_2222":29412},"legitimate","itimate",[2450],[],[4309,29414],{"_2214":29415,"_2216":29416,"_2217":2227,"_2219":4309,"_2220":29417,"_2222":29418},"lexicographic","xicographic",[2590],[],[2220,29420],{"_2214":29421,"_2216":29422,"_2217":2227,"_2219":2220,"_2220":29423,"_2222":29424},"ledger","dger",[3590],[29425],[2216,29426],{"_2214":29427,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29428,"_2222":29429},"ledgers",[2808,4394],[],[2216,29431],{"_2214":27124,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29432,"_2222":29434},[29433,2513,2940,3677],560,[29435],[3207,29436],{"_2214":29437,"_2216":29438,"_2217":2227,"_2219":3207,"_2220":29439,"_2222":29440},"lsnp","np",[2259],[],[3099,29442],{"_2214":29443,"_2216":21624,"_2217":2227,"_2219":3099,"_2220":29444,"_2222":29445},"lts",[3365],[],[3280,29447],{"_2214":29448,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":29449,"_2222":29450},"l-",[],[29451,29457],[3871,29452],{"_2214":29453,"_2216":29454,"_2217":2227,"_2219":3871,"_2220":29455,"_2222":29456},"l-ben","ben",[3506,4890,5480],[],[3304,29458],{"_2214":29459,"_2216":29460,"_2217":2227,"_2219":3304,"_2220":29461,"_2222":29462},"l-john","john",[2533,8373],[],[3691,29464],{"_2214":29465,"_2216":29466,"_2217":2227,"_2219":3691,"_2220":29467,"_2222":29468},"lucene","ucene",[2792,2795,4392,4402,4403],[],[3220,29470],{"_2214":29471,"_2216":8750,"_2217":2227,"_2219":3220,"_2220":29472,"_2222":29473},"lru",[2958],[],[3322,29475],{"_2214":3322,"_2216":3322,"_2217":2227,"_2219":3322,"_2220":29476,"_2222":29477},[2290,11276,12049],[29478,29594,29822,29977,30143,30183,30210,30225,30236],[3017,29479],{"_2214":29480,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":29481,"_2222":29482},"ho",[],[29483,29493,29525,29531,29567,29573,29578],[2214,29484],{"_2214":29485,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":29486,"_2222":29487},"how",[2255,3411,5985,3256,3212,2293,2294,4652,3674,3459,3480,3187,2489,3493,3496,3264,6696,6682,3504,2520,2521,7719,2548,2556,8008,2625,3545,2681,2684,2686,2689,2704,2746,5999,6000,2885,2943,2948,2998],[29488],[2217,29489],{"_2214":29490,"_2216":7704,"_2217":2227,"_2219":2217,"_2220":29491,"_2222":29492},"however",[2230,2291,2331,2366,2388,2435,2446,2456,2462,2517,6084,4896,3376,2618,3552,2751,3956,3805,2898,2924,2925,2928,2932],[],[2216,29494],{"_2214":21464,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":29495,"_2222":29496},[3178,2284,3231,3933,4496,2357,2365,2391,2394,3935,2538,3509,2584,3533,2607,3224,3236,2635,8660,3795,2663,2688,2692,2704,3556,2952],[29497,29511,29516,29520],[3207,29498],{"_2214":29499,"_2216":7853,"_2217":2227,"_2219":3207,"_2220":29500,"_2222":29501},"hostname",[2241,2272,2286,2329,3442,3443,3155,4496,2358,2513,3236,12127,11582,8052,3811],[29502,29507],[3066,29503],{"_2214":13416,"_2216":29504,"_2217":2227,"_2219":3066,"_2220":29505,"_2222":29506},"verification",[3442,3443],[],[2216,29508],{"_2214":15822,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29509,"_2222":29510},[3811],[],[2216,29512],{"_2214":29513,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29514,"_2222":29515},"hosts",[5790,3556,2705,2814,2848,2859],[],[4034,29517],{"_2214":24981,"_2216":4856,"_2217":2227,"_2219":4034,"_2220":29518,"_2222":29519},[2636],[],[2217,29521],{"_2214":29522,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":29523,"_2222":29524},"hosted",[2847],[],[3691,29526],{"_2214":29527,"_2216":29528,"_2217":2227,"_2219":3691,"_2220":29529,"_2222":29530},"hours","urs",[2290],[],[3193,29532],{"_2214":29533,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":29534,"_2222":29535},"hol",[],[29536,29556,29562],[2220,29537],{"_2214":29538,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":29539,"_2222":29540},"hold",[3027,2752,2755,2907],[29541,29546,29551],[2216,29542],{"_2214":29543,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29544,"_2222":29545},"holds",[2377,2404,3498,2700,3558,2822,2823,2905],[],[3002,29547],{"_2214":29548,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":29549,"_2222":29550},"holding",[2514],[],[2217,29552],{"_2214":29553,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":29554,"_2222":29555},"holder",[4511],[],[3002,29557],{"_2214":29558,"_2216":29559,"_2217":2227,"_2219":3002,"_2220":29560,"_2222":29561},"holistic","istic",[2854,2904],[],[2217,29563],{"_2214":29564,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":29565,"_2222":29566},"hole",[7754],[],[3207,29568],{"_2214":29569,"_2216":29570,"_2217":2227,"_2219":3207,"_2220":29571,"_2222":29572},"honor","nor",[2635,5895],[],[3085,29574],{"_2214":29575,"_2216":23368,"_2217":2227,"_2219":3085,"_2220":29576,"_2222":29577},"hoff",[2683],[],[4034,29579],{"_2214":29580,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":29581,"_2222":29582},"hop",[],[29583,29589],[2217,29584],{"_2214":29585,"_2216":29586,"_2217":2227,"_2219":2217,"_2220":29587,"_2222":29588},"hopefully","efully",[3564,2904],[],[3002,29590],{"_2214":29591,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":29592,"_2222":29593},"hoping",[2932],[],[2225,29595],{"_2214":29596,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":29597,"_2222":29598},"ha",[3589,8151],[29599,29623,29638,29721,29761,29777,29805,29810],[2216,29600],{"_2214":29601,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29602,"_2222":29603},"has",[2234,2242,2248,2259,2261,3198,2279,2282,2283,2290,2300,2302,2303,2304,2312,2320,2329,2336,3436,2355,3263,8297,2360,3452,8298,2367,2368,2372,6261,2378,3477,3478,2429,2430,2443,2450,2458,2462,2471,2478,2484,2491,4467,3497,2502,5023,2537,3511,2550,2551,2553,2559,2576,2577,2584,2585,2590,7788,3532,2603,2604,2615,2616,7721,2617,2994,2635,2637,2650,2654,2655,2659,2662,2666,3798,2669,2670,2671,2677,2685,2688,13238,2703,2704,2719,2720,3383,2750,3569,2769,2770,5998,2784,2787,2813,2815,2821,2823,3954,2836,2838,3590,2856,2866,3955,2867,2872,2890,2893,2900,2901,2904,4471,2909,2910,2911,2913,2915,2917,3609,2921,2923,3038,13116,2943,4113,6006],[29604,29613],[3322,29605],{"_2214":3325,"_2216":3322,"_2217":2227,"_2219":3322,"_2220":29606,"_2222":29607},[3980,2257,3259,5987,6216,2315,3420,3421,2316,2616,2619,2622],[29608],[2216,29609],{"_2214":29610,"_2216":26242,"_2217":2227,"_2219":2216,"_2220":29611,"_2222":29612},"hashset",[2292],[],[3207,29614],{"_2214":29615,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":29616,"_2222":29617},"hasn",[2717],[29618],[3030,29619],{"_2214":29620,"_2216":3821,"_2217":2227,"_2219":3030,"_2220":29621,"_2222":29622},"hasn't",[2326],[],[3066,29624],{"_2214":29625,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":29626,"_2222":29627},"hav",[],[29628,29633],[2217,29629],{"_2214":29630,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":29631,"_2222":29632},"have",[2236,2238,2242,2243,2244,2255,2280,3212,2310,3422,2317,3775,3431,3360,2336,3361,2343,2347,2349,3363,3452,2366,3455,2369,2370,2372,2389,2390,3780,2395,2396,3476,2403,2449,2451,3489,2471,2473,4031,3502,2510,2511,2520,2522,2527,3650,2529,2532,2535,2552,3525,2578,2580,2584,3948,2603,2605,3534,2615,2616,3535,3537,2621,2622,2623,2635,3543,4244,2648,2655,2658,2659,2664,2667,3798,2672,2678,2679,3800,2696,2705,2707,2718,2720,2746,2752,2773,2775,2777,3237,2778,2779,2814,2836,3589,2864,2895,2900,2901,2904,2906,2909,2916,3609,2919,2921,2928,2929,3038,6022,2944,2946,2948,2951,2952,2953,2955,2962],[],[3002,29634],{"_2214":29635,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":29636,"_2222":29637},"having",[2237,2279,2336,3446,3447,2509,2659,5875,2769,5997,2775,2779,2784,2864],[],[3207,29639],{"_2214":29640,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":29641,"_2222":29642},"han",[],[29643,29710,29715],[2220,29644],{"_2214":27185,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":29645,"_2222":29646},[2283,2329,3493,3179,2601,3375],[29647,29688,29704],[3193,29648],{"_2214":29649,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":29650,"_2222":29651},"handl",[],[29652,29681],[2217,29653],{"_2214":29654,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":29655,"_2222":29656},"handle",[2363,2371,2388,2431,3526,2630,2676,2691,2694,2696,2707,2714,2736,2742,2787,2817,2894,2923,11674],[29657,29662,29671,29676],[2220,29658],{"_2214":29659,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":29660,"_2222":29661},"handled",[3424,3426,2370,6445,3520,2686,3557],[],[3220,29663],{"_2214":29291,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":29664,"_2222":29665},[3982],[29666],[2216,29667],{"_2214":29668,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29669,"_2222":29670},"handlers",[2738],[],[2216,29672],{"_2214":29673,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29674,"_2222":29675},"handles",[3554,2741,2763],[],[2225,29677],{"_2214":29678,"_2216":4843,"_2217":2227,"_2219":2225,"_2220":29679,"_2222":29680},"handleauthentication",[2687,3271,3190],[],[3002,29682],{"_2214":29683,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":29684,"_2222":29687},"handling",[3232,2595,2637,2646,29685,5396,2838,29686,4828],1259,1927,[],[2216,29689],{"_2214":6402,"_2216":29690,"_2217":2227,"_2219":2216,"_2220":29691,"_2222":29692},"shake",[3775,2320,2694],[29693,29698],[2216,29694],{"_2214":29695,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29696,"_2222":29697},"handshakes",[3775,2320],[],[2220,29699],{"_2214":29700,"_2216":29701,"_2217":2227,"_2219":2220,"_2220":29702,"_2222":29703},"handshakedetectiontimeoutmillis","detectiontimeoutmillis",[3445],[],[3280,29705],{"_2214":29706,"_2216":29707,"_2217":2227,"_2219":3280,"_2220":29708,"_2222":29709},"hand-off","-off",[2469],[],[3825,29711],{"_2214":29712,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":29713,"_2222":29714},"hang",[2324,3805,6122],[],[2222,29716],{"_2214":29717,"_2216":29718,"_2217":2227,"_2219":2222,"_2220":29719,"_2222":29720},"hancements","cements",[2846],[],[3220,29722],{"_2214":29723,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":29724,"_2222":29725},"har",[],[29726,29746],[2220,29727],{"_2214":29728,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":29729,"_2222":29730},"hard",[2308,3441,2359,3365,2426,2509,2553,3602],[29731,29741],[2214,29732],{"_2214":29733,"_2216":26818,"_2217":2227,"_2219":2214,"_2220":29734,"_2222":29735},"hardware",[3363,2407,2538,3509,2557,2817],[29736],[3280,29737],{"_2214":29738,"_2216":5222,"_2217":2227,"_2219":3280,"_2220":29739,"_2222":29740},"hardware-based",[17645],[],[2222,29742],{"_2214":29743,"_2216":15260,"_2217":2227,"_2219":2222,"_2220":29744,"_2222":29745},"hardcoded",[3451],[],[2972,29747],{"_2214":29748,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":29749,"_2222":29750},"harm",[],[29751,29756],[3002,29752],{"_2214":29753,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":29754,"_2222":29755},"harming",[2510,2511],[],[3085,29757],{"_2214":29758,"_2216":8101,"_2217":2227,"_2219":3085,"_2220":29759,"_2222":29760},"harmful",[19753],[],[4034,29762],{"_2214":29763,"_2216":29764,"_2217":2227,"_2219":4034,"_2220":29765,"_2222":29766},"happen","ppen",[3425,5514,2627,2736,3802,2952,3622,3623],[29767,29772],[2217,29768],{"_2214":29769,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":29770,"_2222":29771},"happened",[5987,2382,2471,2672,2676],[],[2216,29773],{"_2214":29774,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29775,"_2222":29776},"happens",[2357,2365,2471,2602,4095,2627,2697,2716,2736,2907,2916],[],[2220,29778],{"_2214":29779,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":29780,"_2222":29781},"had",[2342,2372,2894],[29782],[3017,29783],{"_2214":29784,"_2216":29785,"_2217":2227,"_2219":3017,"_2220":29786,"_2222":29787},"hadoop","oop",[2433,3503,2507,2508,2682,4374,2806,3579,2817,3387,3388,2839,2843,3593,3594,4398],[29788],[3280,29789],{"_2214":29790,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":29791,"_2222":29792},"hadoop-",[],[29793,29799],[4034,29794],{"_2214":29795,"_2216":29796,"_2217":2227,"_2219":4034,"_2220":29797,"_2222":29798},"hadoop-project-dist","project-dist",[4398],[],[3322,29800],{"_2214":29801,"_2216":29802,"_2217":2227,"_2219":3322,"_2220":29803,"_2222":29804},"hadoop-hdfs","hdfs",[4398],[],[3099,29806],{"_2214":29807,"_2216":8326,"_2217":2227,"_2219":3099,"_2220":29808,"_2222":29809},"hatch",[2452],[],[3193,29811],{"_2214":29812,"_2216":29813,"_2217":2227,"_2219":3193,"_2220":29814,"_2222":29815},"half","lf",[2509,2928,2929],[29816],[3280,29817],{"_2214":29818,"_2216":29819,"_2217":2227,"_2219":3280,"_2220":29820,"_2222":29821},"half-complete","-complete",[2565],[],[3002,29823],{"_2214":29824,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":29825,"_2222":29826},"hi",[],[29827,29908,29930,29939,29961,29966],[3825,29828],{"_2214":29829,"_2216":7521,"_2217":2227,"_2219":3825,"_2220":29830,"_2222":29831},"high",[2306,4488,2370,2371,2515,2517,2651,2796,3578,2811,2814,3585,2845,2857,2858,2883,2889,2901,2907,2929,3629],[29832,29853,29883,29903],[3193,29833],{"_2214":29834,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":29835,"_2222":29836},"highl",[],[29837,29848],[3640,29838],{"_2214":29839,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":29840,"_2222":29841},"highly",[2236,2279,3360,2443,2448,2789,2814,2858,2883,2890],[29842],[3280,29843],{"_2214":29844,"_2216":29845,"_2217":2227,"_2219":3280,"_2220":29846,"_2222":29847},"highly-available","-available",[2817],[],[3002,29849],{"_2214":29850,"_2216":17180,"_2217":2227,"_2219":3002,"_2220":29851,"_2222":29852},"highlight",[2931],[],[2217,29854],{"_2214":29855,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":29856,"_2222":29857},"highe",[],[29858,29878],[3220,29859],{"_2214":29860,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":29861,"_2222":29862},"higher",[2310,2311,4488,2328,2647,3204,2658,2681,3564,2754,2856,3956,2909],[29863],[3280,29864],{"_2214":29865,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":29866,"_2222":29867},"higher-",[],[29868,29873],[3017,29869],{"_2214":29870,"_2216":6297,"_2217":2227,"_2219":3017,"_2220":29871,"_2222":29872},"higher-order",[3562],[],[3193,29874],{"_2214":29875,"_2216":29347,"_2217":2227,"_2219":3193,"_2220":29876,"_2222":29877},"higher-level",[2739,2862],[],[2216,29879],{"_2214":29880,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":29881,"_2222":29882},"highest",[2404,2559,5995,2751,4471,2907,2910,2921],[],[3280,29884],{"_2214":29885,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":29886,"_2222":29887},"high-",[],[29888,29893,29898],[4034,29889],{"_2214":29890,"_2216":18995,"_2217":2227,"_2219":4034,"_2220":29891,"_2222":29892},"high-performance",[2812],[],[2225,29894],{"_2214":29895,"_2216":5325,"_2217":2227,"_2219":2225,"_2220":29896,"_2222":29897},"high-availability",[2814,2817,2838,4400],[],[3193,29899],{"_2214":29900,"_2216":29347,"_2217":2227,"_2219":3193,"_2220":29901,"_2222":29902},"high-level",[6103],[],[2225,29904],{"_2214":29905,"_2216":5325,"_2217":2227,"_2219":2225,"_2220":29906,"_2222":29907},"highavailability",[4412],[],[2216,29909],{"_2214":29910,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29911,"_2222":29912},"his",[2693],[29913],[3099,29914],{"_2214":29915,"_2216":29916,"_2217":2218,"_2219":3099,"_2220":29917,"_2222":29918},"histor","tor",[],[29919,29925],[3640,29920],{"_2214":29921,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":29922,"_2222":29924},"history",[3980,29923,2422,2484],558,[],[3002,29926],{"_2214":29927,"_2216":22165,"_2217":2227,"_2219":3002,"_2220":29928,"_2222":29929},"historical",[2257,3580,3581],[],[3099,29931],{"_2214":29932,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":29933,"_2222":29934},"hit",[2283,2365,2679],[29935],[2216,29936],{"_2214":9148,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":29937,"_2222":29938},[2679],[],[2217,29940],{"_2214":29941,"_2216":29942,"_2217":2218,"_2219":2217,"_2220":29943,"_2222":29944},"hierarch","erarch",[],[29945,29951,29956],[3002,29946],{"_2214":29947,"_2216":22165,"_2217":2227,"_2219":3002,"_2220":29948,"_2222":29950},"hierarchical",[2333,2466,2473,2476,3504,29949,2520,3546,3599,11293,2857,2929],887,[],[3640,29952],{"_2214":29953,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":29954,"_2222":29955},"hierarchy",[2341,2343,2344,3179,2551,2930],[],[2225,29957],{"_2214":29958,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":29959,"_2222":29960},"hierarchal",[2659],[],[2972,29962],{"_2214":29963,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":29964,"_2222":29965},"him",[4896],[],[3066,29967],{"_2214":29968,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":29969,"_2222":29970},"hive",[4377,2831,3954,4408,12728],[29971],[2216,29972],{"_2214":29973,"_2216":29974,"_2217":2227,"_2219":2216,"_2220":29975,"_2222":29976},"hiveserver2","server2",[3954],[],[2217,29978],{"_2214":27637,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":29979,"_2222":29980},[2705],[29981,30072,30096,30126,30131,30137],[2225,29982],{"_2214":29983,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":29984,"_2222":29985},"hea",[],[29986,30011,30027,30037,30058],[3193,29987],{"_2214":29988,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":29989,"_2222":29990},"heal",[],[29991,29996],[3002,29992],{"_2214":29993,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":29994,"_2222":29995},"healing",[2236],[],[3099,29997],{"_2214":29998,"_2216":21900,"_2217":2227,"_2219":3099,"_2220":29999,"_2222":30000},"health",[2238,2251,2821],[30001,30006],[3640,30002],{"_2214":30003,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":30004,"_2222":30005},"healthy",[3414,2821,2822,2823,2953],[],[3280,30007],{"_2214":30008,"_2216":24789,"_2217":2227,"_2219":3280,"_2220":30009,"_2222":30010},"health-check",[2821],[],[4034,30012],{"_2214":30013,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":30014,"_2222":30015},"heap",[3355,3401,2244,2392,2406,2679,4540],[30016,30021],[2216,30017],{"_2214":30018,"_2216":27051,"_2217":2227,"_2219":2216,"_2220":30019,"_2222":30020},"heapsize",[2679],[],[3280,30022],{"_2214":30023,"_2216":30024,"_2217":2227,"_2219":3280,"_2220":30025,"_2222":30026},"heap-use-after-free","-use-after-free",[12127],[],[2220,30028],{"_2214":30029,"_2216":13981,"_2217":2227,"_2219":2220,"_2220":30030,"_2222":30031},"header",[3423,3231,11276],[30032],[2216,30033],{"_2214":30034,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30035,"_2222":30036},"headers",[2264],[],[3220,30038],{"_2214":30039,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":30040,"_2222":30041},"hear",[2510,2697],[30042],[3099,30043],{"_2214":30044,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":30045,"_2222":30046},"heart",[2861,3393],[30047],[3871,30048],{"_2214":30049,"_2216":30050,"_2217":2227,"_2219":3871,"_2220":30051,"_2222":30052},"heartbeat","beat",[2627,2697],[30053],[2216,30054],{"_2214":30055,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30056,"_2222":30057},"heartbeats",[2277,3613],[],[3066,30059],{"_2214":30060,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":30061,"_2222":30062},"heav",[],[30063,30067],[3640,30064],{"_2214":10063,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":30065,"_2222":30066},[3255,3256,3257,3258,2894,2917],[],[3002,30068],{"_2214":30069,"_2216":18794,"_2217":2227,"_2219":3002,"_2220":30070,"_2222":30071},"heavily",[2712],[],[3220,30073],{"_2214":11110,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":30074,"_2222":30075},[2693],[30076,30086],[2217,30077],{"_2214":30078,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":30079,"_2222":30080},"here",[3768,3104,3769,2316,3422,3428,2333,2334,2357,3452,2391,3478,2543,2597,3531,2624,3794,2664,3799,2686,2718,2741,2747,2761,2786,2936,3394,6458,2940,2947],[30081],[3030,30082],{"_2214":30083,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":30084,"_2222":30085},"here's",[3357,2337,2744,15256],[],[2220,30087],{"_2214":30088,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":30089,"_2222":30090},"herd",[3775,2696,2740,5335,2762,3952,3953,2773,2779],[30091],[3002,30092],{"_2214":30093,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":30094,"_2222":30095},"herding",[3457],[],[3193,30097],{"_2214":11217,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":30098,"_2222":30099},[],[30100,30116,30121],[4034,30101],{"_2214":30102,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":30103,"_2222":30105},"help",[3421,3427,3434,3452,2368,2373,30104,3835,2721,2939,4540],545,[30106,30111],[2216,30107],{"_2214":30108,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30109,"_2222":30110},"helps",[2278,2288,3775,2330,2436,2510,2721,2809],[],[2217,30112],{"_2214":30113,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":30114,"_2222":30115},"helper",[2959],[],[2220,30117],{"_2214":30118,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":30119,"_2222":30120},"held",[3478],[],[3002,30122],{"_2214":30123,"_2216":18739,"_2217":2227,"_2219":3002,"_2220":30124,"_2222":30125},"helix",[4376,2827,3887],[],[4309,30127],{"_2214":30128,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":30129,"_2222":30130},"hex",[3936,3937,6801],[],[3691,30132],{"_2214":30133,"_2216":30134,"_2217":2227,"_2219":3691,"_2220":30135,"_2222":30136},"heuristics","uristics",[2696],[],[2216,30138],{"_2214":30139,"_2216":30140,"_2217":2227,"_2219":2216,"_2220":30141,"_2222":30142},"hesitate","sitate",[2786],[],[3099,30144],{"_2214":21247,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":30145,"_2222":30146},[],[30147,30177],[3099,30148],{"_2214":30149,"_2216":27522,"_2217":2227,"_2219":3099,"_2220":30150,"_2222":30151},"http",[2241,2255,2264,3231,2985,6262,7547,3499,2809,4395,4397,4400,4401,4405,4412,4413,11453],[30152,30157,30162,30168,30173],[3322,30153],{"_2214":30154,"_2216":21464,"_2217":2227,"_2219":3322,"_2220":30155,"_2222":30156},"httphost",[2240],[],[4034,30158],{"_2214":30159,"_2216":6707,"_2217":2227,"_2219":4034,"_2220":30160,"_2222":30161},"httpport",[2241],[],[3017,30163],{"_2214":30164,"_2216":30165,"_2217":2227,"_2219":3017,"_2220":30166,"_2222":30167},"httport","ort",[2241],[],[3280,30169],{"_2214":30170,"_2216":5222,"_2217":2227,"_2219":3280,"_2220":30171,"_2222":30172},"http-based",[3052],[],[2216,30174],{"_2214":7692,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30175,"_2222":30176},[2291,16235,2984,2985,7546,19627,3499,4393,14666,4394,4396,4398,4399,13530,4402,4403,4404,12601,14667,14668,12594,13537,3887,4406,4407,4408,4409,4427,4410,10467,4411,17883,4434,4441,4414,17884],[],[2972,30178],{"_2214":30179,"_2216":30180,"_2217":2227,"_2219":2972,"_2220":30181,"_2222":30182},"html","ml",[2642,4395,4396,4397,4398,4399,13530,4401,4402,4403,4404,12601,14667,3887,4405,4406,4409,4410,10467,4412,4413],[],[3691,30184],{"_2214":30185,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":30186,"_2222":30187},"hu",[],[30188,30193,30199,30204],[2972,30189],{"_2214":30190,"_2216":20136,"_2217":2227,"_2219":2972,"_2220":30191,"_2222":30192},"human",[2376],[],[3220,30194],{"_2214":30195,"_2216":30196,"_2217":2227,"_2219":3220,"_2220":30197,"_2222":30198},"hurting","rting",[3264],[],[3825,30200],{"_2214":30201,"_2216":7204,"_2217":2227,"_2219":3825,"_2220":30202,"_2222":30203},"huge",[2509],[],[3207,30205],{"_2214":30206,"_2216":30207,"_2217":2227,"_2219":3207,"_2220":30208,"_2222":30209},"hundreds","ndreds",[2515],[],[2214,30211],{"_2214":30212,"_2216":2214,"_2217":2218,"_2219":2214,"_2220":30213,"_2222":30214},"hw",[],[30215,30220],[6884,30216],{"_2214":30217,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":30218,"_2222":30219},"hw1",[2538,3509],[],[5968,30221],{"_2214":30222,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":30223,"_2222":30224},"hw2",[2538,3509],[],[2220,30226],{"_2214":29802,"_2216":30227,"_2217":2227,"_2219":2220,"_2220":30228,"_2222":30229},"dfs",[2667,4738,8151],[30230],[3322,30231],{"_2214":30232,"_2216":30233,"_2217":2227,"_2219":3322,"_2220":30234,"_2222":30235},"hdfshighavailabilitywithqjm","highavailabilitywithqjm",[4398],[],[3871,30237],{"_2214":30238,"_2216":30239,"_2217":2227,"_2219":3871,"_2220":30240,"_2222":30241},"hbase","base",[4375,3578,3387,2824,2825,3593,4399],[],[3640,30243],{"_2214":3640,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":30244,"_2222":30245},[13761],[30246,30308,30323,30330,30335,30342,30347],[3017,30247],{"_2214":30248,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":30249,"_2222":30250},"yo",[],[30251,30303],[3691,30252],{"_2214":30253,"_2216":3691,"_2217":2227,"_2219":3691,"_2220":30254,"_2222":30255},"you",[2230,2235,2236,2237,3644,2238,2239,3768,2243,2244,2247,5873,2272,4461,3414,3415,2276,3770,2291,3212,2320,3431,3360,2329,2330,2331,2333,2334,3776,3777,3361,3436,2344,3363,4361,3933,3934,2356,2357,8297,3452,4663,2365,3140,8298,2381,3460,2384,2388,2389,2390,3780,6262,2392,2394,2395,2397,5790,2399,2400,3027,2404,3478,2421,2447,2448,2449,2453,2464,2476,2479,2491,4031,3493,3179,3502,2503,3160,2513,2516,2524,2527,2548,3511,2549,2550,2554,2555,3525,2591,2597,3374,2600,3948,3376,2609,2610,2611,2612,2993,2613,2614,2615,2994,3236,5994,3542,2635,3543,2641,4244,2643,2648,4664,2668,2669,3548,2671,3037,3799,2675,2676,2678,2679,3552,2686,3190,2696,2729,2735,2736,2738,3383,2741,2742,2747,2750,2751,2754,2762,5631,2764,10844,3570,4511,2775,2777,3237,2787,2797,2809,2814,2825,3592,3956,2904,7276,2936,7837,2937,5792,6022,2940,2941,2944,2946,2949,2951,2953,3622,3623],[30256,30272,30297],[3220,30257],{"_2214":30258,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":30259,"_2222":30260},"your",[2236,2237,3644,2238,2239,2244,3254,2272,3153,5986,3415,3770,3358,3431,3432,3433,3452,2372,3780,6262,2397,5790,2399,3027,3478,2405,3649,4467,11268,2501,3502,2503,2512,3160,2516,3653,6263,6785,4244,3799,2676,2679,3552,3190,2738,2747,4511,2786,2787,2790,2797,3592,3616,2953],[30261,30267],[3280,30262],{"_2214":30263,"_2216":30264,"_2217":2227,"_2219":3280,"_2220":30265,"_2222":30266},"your-options","-options",[3794],[],[2216,30268],{"_2214":30269,"_2216":26357,"_2217":2227,"_2219":2216,"_2220":30270,"_2222":30271},"yourself",[2904],[],[3030,30273],{"_2214":30274,"_2216":3030,"_2217":2218,"_2219":3030,"_2220":30275,"_2222":30276},"you'",[],[30277,30282,30287,30292],[3220,30278],{"_2214":30279,"_2216":3750,"_2217":2227,"_2219":3220,"_2220":30280,"_2222":30281},"you're",[2390,2639],[],[3066,30283],{"_2214":30284,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":30285,"_2222":30286},"you've",[2494,3493,2935],[],[2220,30288],{"_2214":30289,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":30290,"_2222":30291},"you'd",[2594],[],[3193,30293],{"_2214":30294,"_2216":12831,"_2217":2227,"_2219":3193,"_2220":30295,"_2222":30296},"you'll",[3564],[],[3099,30298],{"_2214":30299,"_2216":30300,"_2217":2227,"_2219":3099,"_2220":30301,"_2222":30302},"youtube","tube",[14666,14668],[],[3220,30304],{"_2214":30305,"_2216":20600,"_2217":2227,"_2219":3220,"_2220":30306,"_2222":30307},"york",[3510],[],[2217,30309],{"_2214":30310,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":30311,"_2222":30312},"ye",[],[30313,30318],[3099,30314],{"_2214":30315,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":30316,"_2222":30317},"yet",[3154,2465,2717,2722],[],[2216,30319],{"_2214":30320,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30321,"_2222":30322},"yes",[2328,2452,3648,7833,2904],[],[2225,30324],{"_2214":30325,"_2216":30326,"_2217":2227,"_2219":2225,"_2220":30327,"_2222":30329},"yahoo","ahoo",[3365,7274,2682,30328,3389,2852,2883,2890],1622,[],[2972,30331],{"_2214":30332,"_2216":30180,"_2217":2227,"_2219":2972,"_2220":30333,"_2222":30334},"yml",[8789],[],[2222,30336],{"_2214":30337,"_2216":30338,"_2217":2227,"_2219":2222,"_2220":30339,"_2222":30341},"ycsb","csb",[30340,7274,26245,7551],1009,[],[3640,30343],{"_2214":30344,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":30345,"_2222":30346},"yy",[2754],[],[3002,30348],{"_2214":30349,"_2216":30350,"_2217":2227,"_2219":3002,"_2220":30351,"_2222":30352},"yielding","ielding",[2940],[],[3871,30354],{"_2214":3871,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":30355,"_2222":30356},[2433,2459,2460,2461,2471,2484,2658,2661,2716,2717,2747,7361,10123,7362,10124,2751,2892,2893],[30357,30615,30646,30815,30953,31042,31147,31284,31342,31348],[2217,30358],{"_2214":20131,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":30359,"_2222":30360},[2230,2231,2234,3081,2236,2237,6027,5064,2238,2241,6072,2242,2244,2246,3055,2249,2250,2251,2253,2255,3056,3406,7718,2256,3408,3928,2268,2269,2270,3198,5985,2272,6049,4461,2274,2275,3769,3930,2276,2277,3770,2278,2281,2282,2283,2284,2286,2287,2288,2289,2290,3771,2291,3255,3258,2299,2300,2302,2303,2304,2305,6299,2309,5987,2315,3420,3421,3423,3424,3425,5476,3426,2317,2318,3775,2321,2322,2323,3427,2978,3429,5478,3430,2979,2326,2328,2329,2330,2332,2333,2334,2335,2336,2337,3434,2340,2341,4645,3231,2343,2345,2346,2347,2348,2349,2350,3645,2351,2353,3439,3441,3363,3443,3933,3934,2356,2357,6300,2358,3448,2360,4663,5874,2361,3453,2363,2365,3140,2366,4778,2367,2368,4779,3455,2370,2371,3457,2372,2373,2375,3461,7770,2388,2391,2392,8208,2393,2394,2395,2402,3478,2405,2406,2430,3481,3482,3483,2435,4595,2437,4497,2441,2443,2445,2447,2450,2451,3187,3487,3649,2456,2457,2458,3489,2459,2460,2461,2462,3366,2464,2465,2469,2471,2472,2474,2478,2483,2484,2487,2494,3493,3214,3179,7547,3499,2508,3264,2511,3159,3368,2524,3505,3369,3650,5513,4896,6352,3651,2540,2543,2551,2560,2563,2565,3518,7274,2573,2589,2598,3529,4095,2604,2606,2613,2614,2616,3535,2618,2619,3949,3538,2622,2628,2630,3654,3542,2632,2633,2635,2637,3794,4331,2642,4244,2643,2648,3982,2651,2652,2656,2657,2658,2659,2660,3547,2661,2662,2665,2667,3798,2668,2670,3548,2671,3037,6092,3380,2678,2679,3552,2686,3381,2687,2688,3271,3188,3800,2691,2693,2695,2697,2698,2703,2704,2707,2708,2710,2711,2713,2714,2717,2719,2721,2722,2729,2730,2736,2737,2738,2741,2743,2752,2755,2773,3384,2780,3572,6102,2786,2788,2817,2818,2822,2824,2831,2836,3588,3589,2841,3592,2843,2856,2858,2859,2860,2864,2867,2869,2870,2873,7556,2882,2883,2891,2892,2893,2894,2895,2896,3805,2899,2900,2901,2908,2909,2910,2916,2917,3609,2919,2921,2924,2926,3809,3394,3613,3615,2939,2948,2952,3624,4827,2958,4473,6122,10337],[30361,30417,30439,30459,30464,30499,30515,30520,30525,30550,30570,30576],[3193,30362],{"_2214":30363,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":30364,"_2222":30365},"bel",[],[30366,30391],[3017,30367],{"_2214":30368,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":30369,"_2222":30370},"belo",[],[30371,30376],[2214,30372],{"_2214":30373,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":30374,"_2222":30375},"below",[2232,2244,3770,2392,2395,3027,2435,2437,2443,2449,2461,2504,7274,2639,2679,2740,2742,2747,2758,2904],[],[3207,30377],{"_2214":30378,"_2216":3210,"_2217":2218,"_2219":3207,"_2220":30379,"_2222":30380},"belong",[],[30381,30386],[2216,30382],{"_2214":30383,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30384,"_2222":30385},"belongs",[2321],[],[3002,30387],{"_2214":30388,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":30389,"_2222":30390},"belonging",[3236],[],[3002,30392],{"_2214":30393,"_2216":30394,"_2217":2218,"_2219":3002,"_2220":30395,"_2222":30396},"believ","iev",[],[30397,30412],[2217,30398],{"_2214":30399,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":30400,"_2222":30401},"believe",[],[30402,30407],[2216,30403],{"_2214":30404,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30405,"_2222":30406},"believes",[2478,2904],[],[2220,30408],{"_2214":30409,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":30410,"_2222":30411},"believed",[2921],[],[3002,30413],{"_2214":30414,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":30415,"_2222":30416},"believing",[2922],[],[2222,30418],{"_2214":30419,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":30420,"_2222":30421},"bec",[],[30422,30433],[3017,30423],{"_2214":30424,"_2216":30425,"_2217":2227,"_2219":3017,"_2220":30426,"_2222":30427},"become","ome",[2234,2448,2460,3366,2530,2671,2707,2819],[30428],[2216,30429],{"_2214":30430,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30431,"_2222":30432},"becomes",[3414,2454,2458,2459,2472,2507,2533,4890,2547,2579,2630,2670,2692,2696,2779,2904,2921],[],[2225,30434],{"_2214":30435,"_2216":30436,"_2217":2227,"_2219":2225,"_2220":30437,"_2222":30438},"because","ause",[2238,2248,3153,2283,2323,2337,2379,2382,2388,3477,3647,2458,5023,2509,2510,2511,2517,4896,2543,2603,2618,2629,2635,3547,2661,2667,3798,3381,2703,2707,2717,2736,3383,2750,2752,5631,3570,2779,2901,2916,4472,2925,2946,2950,6003,6115],[],[2216,30440],{"_2214":30441,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":30442,"_2222":30443},"bes",[],[30444,30449],[3099,30445],{"_2214":30446,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":30447,"_2222":30448},"best",[18917,3401,18918,2244,6073,2388,2406,2679,2740,3603],[],[3002,30450],{"_2214":30451,"_2216":4152,"_2217":2227,"_2219":3002,"_2220":30452,"_2222":30453},"beside",[3436],[30454],[2216,30455],{"_2214":30456,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30457,"_2222":30458},"besides",[3258],[],[3085,30460],{"_2214":30461,"_2216":22234,"_2217":2227,"_2219":3085,"_2220":30462,"_2222":30463},"before",[2243,3055,2281,2282,3772,2307,4510,6051,5182,3773,3775,2320,3435,3645,2355,5874,2363,2370,2371,2374,2380,3478,5512,2443,2448,2458,2459,2462,3366,2464,2471,2486,5023,3653,2603,2604,3537,2629,2648,15146,2658,2672,2678,3552,2698,2708,2717,2720,2734,2742,2747,2759,2763,2771,2772,4511,3391,2888,2892,2893,2895,2899,3609,2921,2925,2926],[],[3322,30465],{"_2214":30466,"_2216":3322,"_2217":2218,"_2219":3322,"_2220":30467,"_2222":30468},"beh",[],[30469,30474],[3002,30470],{"_2214":30471,"_2216":17209,"_2217":2227,"_2219":3002,"_2220":30472,"_2222":30473},"behind",[2245,3358,2332,3452,2452,2635,3602],[],[2225,30475],{"_2214":30476,"_2216":5307,"_2217":2218,"_2219":2225,"_2220":30477,"_2222":30478},"behav",[],[30479,30494],[3002,30480],{"_2214":30481,"_2216":11116,"_2217":2218,"_2219":3002,"_2220":30482,"_2222":30483},"behavio",[],[30484,30489],[3220,30485],{"_2214":30486,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":30487,"_2222":30488},"behavior",[2274,15117,2336,2345,3452,2366,2368,5479,3944,2630,4498,2635,2662,3798,2773,2888,3038],[],[3691,30490],{"_2214":30491,"_2216":6172,"_2217":2227,"_2219":3691,"_2220":30492,"_2222":30493},"behaviour",[3770,2320],[],[2217,30495],{"_2214":30496,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":30497,"_2222":30498},"behaves",[3370],[],[3099,30500],{"_2214":30501,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":30502,"_2222":30503},"bet",[],[30504,30510],[2214,30505],{"_2214":30506,"_2216":30507,"_2217":2227,"_2219":2214,"_2220":30508,"_2222":30509},"between","ween",[2259,2278,2292,2293,2294,3430,3432,3433,4496,3454,2373,2381,2395,2428,2437,2441,2483,2517,2552,2629,2674,2696,2712,2736,3581,2814,2824,2867,4025,3610,2924,3611,8367,3625,3631],[],[3099,30511],{"_2214":30512,"_2216":5474,"_2217":2227,"_2219":3099,"_2220":30513,"_2222":30514},"better",[2515,2552,3038],[],[3002,30516],{"_2214":30517,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":30518,"_2222":30519},"being",[4324,2264,3198,3772,2321,2322,3439,3461,2460,2464,2547,3787,2562,2580,5820,3801,2693,2721,2858,2921,5858],[],[2217,30521],{"_2214":30522,"_2216":13950,"_2217":2227,"_2219":2217,"_2220":30523,"_2222":30524},"been",[3422,2320,3263,2367,3455,3497,2577,3534,3537,2635,2654,2655,2703,2750,2813,3954,2872,2890,2893,2895,2904,2909,2910,2915,3609,2921,3038,13116,6006],[],[3825,30526],{"_2214":30527,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":30528,"_2222":30529},"beg",[],[30530,30545],[3002,30531],{"_2214":30532,"_2216":7485,"_2217":2227,"_2219":3002,"_2220":30533,"_2222":30534},"begin",[2366,2648,2696],[30535,30540],[3207,30536],{"_2214":30537,"_2216":8762,"_2217":2227,"_2219":3207,"_2220":30538,"_2222":30539},"beginning",[2580,2746],[],[2216,30541],{"_2214":30542,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30543,"_2222":30544},"begins",[2752],[],[2225,30546],{"_2214":30547,"_2216":3074,"_2217":2227,"_2219":2225,"_2220":30548,"_2222":30549},"began",[3491],[],[2225,30551],{"_2214":30552,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":30553,"_2222":30554},"bea",[],[30555,30560,30565],[3207,30556],{"_2214":30557,"_2216":21673,"_2217":2227,"_2219":3207,"_2220":30558,"_2222":30559},"beans",[2398],[],[2972,30561],{"_2214":30562,"_2216":21436,"_2217":2227,"_2219":2972,"_2220":30563,"_2222":30564},"beams",[4511],[],[3099,30566],{"_2214":30567,"_2216":21624,"_2217":2227,"_2219":3099,"_2220":30568,"_2222":30569},"beats",[2861],[],[3640,30571],{"_2214":30572,"_2216":30573,"_2217":2227,"_2219":3640,"_2220":30574,"_2222":30575},"beyond","yond",[3492,2669,2805],[],[3207,30577],{"_2214":29454,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":30578,"_2222":30579},[2532,3507,4890,4896,2535,3508],[30580,30591,30603,30609],[2217,30581],{"_2214":30582,"_2216":30583,"_2217":2227,"_2219":2217,"_2220":30584,"_2222":30585},"benefit","efit",[2511],[30586],[2216,30587],{"_2214":30588,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30589,"_2222":30590},"benefits",[2515],[],[2222,30592],{"_2214":30593,"_2216":30594,"_2217":2227,"_2219":2222,"_2220":30595,"_2222":30597},"benchmark","chmark",[3515,30596,7274,3653,2571,6897,5992,2888],1008,[30598],[2216,30599],{"_2214":30600,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30601,"_2222":30602},"benchmarks",[2885],[],[3304,30604],{"_2214":30605,"_2216":30606,"_2217":2227,"_2219":3304,"_2220":30607,"_2222":30608},"benjamin","jamin",[2682],[],[3002,30610],{"_2214":30611,"_2216":30612,"_2217":2227,"_2219":3002,"_2220":30613,"_2222":30614},"benipal","ipal",[22183],[],[3640,30616],{"_2214":8794,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":30617,"_2222":30618},[2231,3355,3644,3051,3768,2242,2249,2250,3254,2254,2255,3056,4324,2264,2265,2268,2269,2271,3153,3104,2274,2277,2281,2282,2283,2285,2286,2288,2289,3419,3771,3212,2299,2300,2305,2306,3772,2307,2308,2310,2311,2312,8296,3774,4360,2320,16934,3430,3431,2327,2329,2331,2334,2335,2337,3361,3432,3433,2339,4489,2341,7827,3231,5960,4825,3260,3261,2357,8297,2360,3140,8298,2366,4778,2368,4779,2986,2375,2378,2379,2386,2387,2394,5790,3478,4464,2422,3481,4595,2436,2437,2439,2440,2443,3647,3187,2454,3487,2459,2465,2466,6248,2471,3782,2483,3783,2486,3492,6561,3214,3179,3215,3499,2504,4938,2507,3981,3264,2509,2514,2515,3216,2523,2524,3370,6350,2528,6084,4896,6351,2534,3509,2543,2563,2564,2574,2584,2586,2597,2600,3529,4095,2603,2605,2606,2607,2614,2618,2619,3792,3537,2626,3654,3236,6090,4498,3268,2635,2637,3544,4331,23799,23800,2642,3377,2656,2657,2658,2668,2669,2670,2671,3037,2677,2679,2682,3553,2683,2686,3381,2687,3271,3800,2691,2697,3382,3950,2698,2699,2703,2704,3272,2707,3557,2713,2717,2720,2730,3951,3565,2743,2744,2750,2752,2762,2764,10844,3570,4511,2775,3384,2779,2802,2834,2836,2838,2847,7554,4411,2863,3392,8746,2890,3804,2891,2892,2893,2898,2900,2907,2908,2909,2910,2919,2921,2924,2926,3611,2927,2928,3613,2940,2941,3957,3958,8009,4113,2955,3624,11878,3810,5484],[30619,30641],[3099,30620],{"_2214":30621,"_2216":5151,"_2217":2227,"_2219":3099,"_2220":30622,"_2222":30623},"byte",[2254,2361,2363,2864],[30624,30629,30635],[2216,30625],{"_2214":30626,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30627,"_2222":30628},"bytes",[3405,3407,2282,2308,2318,2361,2363,3511,2550,3267,3519,2634,2666,2866,2897,2899,6113],[],[2972,30630],{"_2214":30631,"_2216":20136,"_2217":2227,"_2219":2972,"_2220":30632,"_2222":30634},"byteman",[30633,2573],1013,[],[3871,30636],{"_2214":30637,"_2216":30638,"_2217":2227,"_2219":3871,"_2220":30639,"_2222":30640},"bytebuffer","buffer",[8854],[],[4034,30642],{"_2214":30643,"_2216":19401,"_2217":2227,"_2219":4034,"_2220":30644,"_2222":30645},"bypass",[2343],[],[2225,30647],{"_2214":14653,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":30648,"_2222":30649},[],[30650,30710,30749,30759,30764,30781,30799],[2222,30651],{"_2214":8485,"_2216":13506,"_2217":2227,"_2219":2222,"_2220":30652,"_2222":30653},[2317,2458,2484,3529,2601,2603,2656,2706,2716,2717,2916],[30654,30664,30679,30684,30689,30699,30705],[3691,30655],{"_2214":30656,"_2216":7019,"_2217":2227,"_2219":3691,"_2220":30657,"_2222":30658},"backup",[2232,2433,2454,2505],[30659],[2216,30660],{"_2214":30661,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30662,"_2222":30663},"backups",[2234,2838],[],[2217,30665],{"_2214":30666,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":30667,"_2222":30668},"backe",[],[30669,30674],[3207,30670],{"_2214":30671,"_2216":4184,"_2217":2227,"_2219":3207,"_2220":30672,"_2222":30673},"backend",[3644,3214,3179,2848,3390,3038],[],[2220,30675],{"_2214":30676,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":30677,"_2222":30678},"backed",[2445,2460,2464],[],[3193,30680],{"_2214":30681,"_2216":14792,"_2217":2227,"_2219":3193,"_2220":30682,"_2222":30683},"backlog",[3212,2305],[],[3017,30685],{"_2214":30686,"_2216":6126,"_2217":2227,"_2219":3017,"_2220":30687,"_2222":30688},"backoff",[2293,2294],[],[2214,30690],{"_2214":30691,"_2216":7572,"_2217":2227,"_2219":2214,"_2220":30692,"_2222":30693},"backward",[3422,2322,2323,2324,3428,14933,2437,2569],[30694],[2216,30695],{"_2214":30696,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30697,"_2222":30698},"backwards",[2335,2340,4496],[],[3825,30700],{"_2214":30701,"_2216":30702,"_2217":2227,"_2219":3825,"_2220":30703,"_2222":30704},"background","ground",[2707],[],[3002,30706],{"_2214":30707,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":30708,"_2222":30709},"backing",[2794],[],[2216,30711],{"_2214":30712,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":30713,"_2222":30714},"bas",[],[30715,30735],[3002,30716],{"_2214":30717,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":30718,"_2222":30719},"basi",[],[30720,30730],[2222,30721],{"_2214":30722,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":30723,"_2222":30724},"basic",[5393,2277,4044,4031,2520,23121,3552,3806,3613],[30725],[2225,30726],{"_2214":30727,"_2216":4743,"_2217":2227,"_2219":2225,"_2220":30728,"_2222":30729},"basically",[2700],[],[2216,30731],{"_2214":30732,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30733,"_2222":30734},"basis",[2366,2384,2821,2869],[],[2217,30736],{"_2214":30239,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":30737,"_2222":30738},[3385,12728],[30739,30743],[2220,30740],{"_2214":12535,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":30741,"_2222":30742},[3198,5985,6299,3090,3259,5987,4360,2344,2704,3385,2790,2795,2799,2812,2815],[],[11320,30744],{"_2214":30745,"_2216":30746,"_2217":2227,"_2219":11320,"_2220":30747,"_2222":30748},"base64","64",[2619],[],[3099,30750],{"_2214":30751,"_2216":8326,"_2217":2227,"_2219":3099,"_2220":30752,"_2222":30753},"batch",[3257,3258,2370,2371,2800,3584,2843],[30754],[2217,30755],{"_2214":30756,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":30757,"_2222":30758},"batches",[2370,2371],[],[2219,30760],{"_2214":30761,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":30762,"_2222":30763},"bak",[2445],[],[2220,30765],{"_2214":30766,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":30767,"_2222":30768},"bad",[2687,2848,4159],[30769,30775],[2225,30770],{"_2214":30771,"_2216":30772,"_2217":2227,"_2219":2225,"_2220":30773,"_2222":30774},"badargumentsexception","argumentsexception",[3489,2473,3490,2481,27963,2482],[],[3066,30776],{"_2214":30777,"_2216":30778,"_2217":2227,"_2219":3066,"_2220":30779,"_2222":30780},"badversionexception","versionexception",[13761],[],[3220,30782],{"_2214":30783,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":30784,"_2222":30785},"bar",[2693],[30786],[3220,30787],{"_2214":30788,"_2216":30789,"_2217":2227,"_2219":3220,"_2220":30790,"_2222":30791},"barrier","rier",[3524,22010,3525,2578,2579,2580,2581,5993,2583,2584,2585,2587,2594,3553,2744,4347,3566,2745,5671,2746,2747,2749,2750],[30792],[2216,30793],{"_2214":30794,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30795,"_2222":30798},"barriers",[30796,3525,3204,3553,3562,30797,24784,2744,2746],1081,1462,[],[3193,30800],{"_2214":30801,"_2216":30802,"_2217":2218,"_2219":3193,"_2220":30803,"_2222":30804},"balanc","lanc",[],[30805,30810],[2217,30806],{"_2214":30807,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":30808,"_2222":30809},"balance",[3556],[],[3002,30811],{"_2214":30812,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":30813,"_2222":30814},"balancing",[2802],[],[3691,30816],{"_2214":30817,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":30818,"_2222":30819},"bu",[],[30820,30831,30847,30857,30891,30911,30916,30926,30932,30948],[3099,30821],{"_2214":30822,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":30823,"_2222":30824},"but",[3644,2242,2243,3056,3928,2272,3154,2289,2292,2316,3426,2317,3775,2331,2334,2340,2344,2347,2349,3363,3262,2358,2360,4663,2364,2367,2382,2384,3646,2390,3780,3477,2426,5097,2449,2458,2459,2471,13761,2481,2483,2506,2510,2530,2531,2553,3529,2613,2614,2615,2616,2628,2629,2647,2655,2658,2661,2667,3799,2676,2677,2678,2681,2688,2699,2703,2706,2713,2720,2736,2742,2749,2763,2777,2779,2883,2888,2889,3805,2926,3038,3394,6458,2944,2947],[30825],[3099,30826],{"_2214":30827,"_2216":30828,"_2217":2227,"_2219":3099,"_2220":30829,"_2222":30830},"button","ton",[4490],[],[3207,30832],{"_2214":30833,"_2216":30834,"_2217":2218,"_2219":3207,"_2220":30835,"_2222":30836},"bundle","ndle",[],[30837,30842],[2216,30838],{"_2214":30839,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30840,"_2222":30841},"bundles",[3356],[],[2220,30843],{"_2214":30844,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":30845,"_2222":30846},"bundled",[3515],[],[2216,30848],{"_2214":30849,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30850,"_2222":30851},"bus",[2518,2801],[30852],[3640,30853],{"_2214":30854,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":30855,"_2222":30856},"busy",[2243,2276,2678],[],[3002,30858],{"_2214":30859,"_2216":8359,"_2217":2218,"_2219":3002,"_2220":30860,"_2222":30861},"buil",[],[30862,30876],[3099,30863],{"_2214":17097,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":30864,"_2222":30865},[3198,7721,4331,3188,2696,4389,2825,3588,4392],[30866,30871],[3280,30867],{"_2214":30868,"_2216":5958,"_2217":2227,"_2219":3280,"_2220":30869,"_2222":30870},"built-in",[3052,2502,3785,3533,2635],[],[3002,30872],{"_2214":30873,"_2216":7485,"_2217":2227,"_2219":3002,"_2220":30874,"_2222":30875},"builtin",[5186,2685],[],[2220,30877],{"_2214":30878,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":30879,"_2222":30880},"build",[3522,23799,23800,2642,3204,3383,2797,2809,2856],[30881,30886],[3002,30882],{"_2214":30883,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":30884,"_2222":30885},"building",[2560,2595,6785,2639,2641,2643,2645,2789,2790],[],[2216,30887],{"_2214":30888,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30889,"_2222":30890},"builds",[10320],[],[3825,30892],{"_2214":23779,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":30893,"_2222":30899},[2291,3617,30894,30895,30896,30897,30898],1987,1993,1998,2005,2013,[30900,30905],[2216,30901],{"_2214":30902,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30903,"_2222":30904},"bugs",[3646],[],[3825,30906],{"_2214":30907,"_2216":30908,"_2217":2227,"_2219":3825,"_2220":30909,"_2222":30910},"buggy","gy",[2635],[],[2222,30912],{"_2214":30913,"_2216":26801,"_2217":2227,"_2219":2222,"_2220":30914,"_2222":30915},"bucket",[2296,2297,2299,2300],[],[3085,30917],{"_2214":30638,"_2216":30918,"_2217":2227,"_2219":3085,"_2220":30919,"_2222":30920},"ffer",[3090],[30921],[2216,30922],{"_2214":30923,"_2216":27051,"_2217":2227,"_2219":2216,"_2220":30924,"_2222":30925},"buffersize",[2373],[],[3193,30927],{"_2214":30928,"_2216":30929,"_2217":2227,"_2219":3193,"_2220":30930,"_2222":30931},"bulk","lk",[3488,2465,2466,4328,2667],[],[3220,30933],{"_2214":30934,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":30935,"_2222":30936},"bur",[],[30937,30942],[2220,30938],{"_2214":30939,"_2216":6531,"_2217":2227,"_2219":2220,"_2220":30940,"_2222":30941},"burden",[2515],[],[2216,30943],{"_2214":30944,"_2216":30945,"_2217":2227,"_2219":2216,"_2220":30946,"_2222":30947},"bursts","sts",[2740],[],[2972,30949],{"_2214":30950,"_2216":18033,"_2217":2227,"_2219":2972,"_2220":30951,"_2222":30952},"bump",[6108,11884],[],[3002,30954],{"_2214":30955,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":30956,"_2222":30957},"bi",[],[30958,30995,31025],[3207,30959],{"_2214":30960,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":30961,"_2222":30962},"bin",[2398,2492,2494,11275,3616],[30963,30978],[2225,30964],{"_2214":30965,"_2216":3760,"_2217":2218,"_2219":2225,"_2220":30966,"_2222":30967},"binar",[],[30968,30973],[3640,30969],{"_2214":30970,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":30971,"_2222":30972},"binary",[3356,11275,3628,6110],[],[3002,30974],{"_2214":30975,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":30976,"_2222":30977},"binaries",[2448],[],[2220,30979],{"_2214":30980,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":30981,"_2222":30982},"bind",[2241,2286,2330,3434,2436,2953,7706],[30983],[3002,30984],{"_2214":30985,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":30986,"_2222":30988},"binding",[3522,30987,13226,3541,2637,3377,2660,2691,2696,2700,2797],1206,[30989],[2216,30990],{"_2214":30991,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":30992,"_2222":30994},"bindings",[2399,5989,30993,3539,3377,2648,2856,2943],1204,[],[3099,30996],{"_2214":30997,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":30998,"_2222":30999},"bit",[2253,20543,2292,2604,2615,2621],[31000,31004,31009],[2216,31001],{"_2214":24952,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31002,"_2222":31003},[2253,2254,2605,3224],[],[2214,31005],{"_2214":31006,"_2216":6253,"_2217":2227,"_2219":2214,"_2220":31007,"_2222":31008},"bitwise",[2254],[],[3322,31010],{"_2214":31011,"_2216":3325,"_2217":2218,"_2219":3322,"_2220":31012,"_2222":31013},"bithash",[],[31014,31020],[2222,31015],{"_2214":31016,"_2216":31017,"_2217":2227,"_2219":2222,"_2220":31018,"_2222":31019},"bithashcachesize","cachesize",[2292],[],[2216,31021],{"_2214":31022,"_2216":26242,"_2217":2227,"_2219":2216,"_2220":31023,"_2222":31024},"bithashset",[2292],[],[3825,31026],{"_2214":31027,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":31028,"_2222":31029},"big",[2795,2800,3584],[31030,31036],[3280,31031],{"_2214":31032,"_2216":31033,"_2217":2227,"_2219":3280,"_2220":31034,"_2222":31035},"big-endian","-endian",[2254],[],[3825,31037],{"_2214":31038,"_2216":31039,"_2217":2227,"_2219":3825,"_2220":31040,"_2222":31041},"bigger","ger",[2406],[],[3017,31043],{"_2214":31044,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":31045,"_2222":31046},"bo",[],[31047,31069,31116,31132,31142],[3691,31048],{"_2214":31049,"_2216":31050,"_2217":2218,"_2219":3691,"_2220":31051,"_2222":31052},"boun","un",[],[31053,31063],[2220,31054],{"_2214":31055,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":31056,"_2222":31057},"bound",[2248,2261,2293,2294,2657,2873],[31058],[2217,31059],{"_2214":31060,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":31061,"_2222":31062},"bounded",[2813],[],[2222,31064],{"_2214":31065,"_2216":31066,"_2217":2227,"_2219":2222,"_2220":31067,"_2222":31068},"bouncycastle","cycastle",[6111],[],[3017,31070],{"_2214":31071,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":31072,"_2222":31073},"boo",[],[31074,31080,31085,31101],[3193,31075],{"_2214":31076,"_2216":31077,"_2217":2227,"_2219":3193,"_2220":31078,"_2222":31079},"boolean","lean",[2264,2584],[],[2216,31081],{"_2214":31082,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":31083,"_2222":31084},"boost",[2364],[],[3099,31086],{"_2214":31087,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":31088,"_2222":31089},"boot",[2429,2441,2446,3487,2464,2797],[31090],[2216,31091],{"_2214":31092,"_2216":31093,"_2217":2227,"_2219":2216,"_2220":31094,"_2222":31095},"bootstrap","strap",[3543],[31096],[4034,31097],{"_2214":31098,"_2216":19800,"_2217":2227,"_2219":4034,"_2220":31099,"_2222":31100},"bootstrapping",[2824,3595],[],[2219,31102],{"_2214":31103,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":31104,"_2222":31105},"book",[4399],[31106,31111],[2219,31107],{"_2214":31108,"_2216":11264,"_2217":2227,"_2219":2219,"_2220":31109,"_2222":31110},"bookkeeper",[4365,2808,3590,4394],[],[3002,31112],{"_2214":31113,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":31114,"_2222":31115},"bookies",[2808],[],[3099,31117],{"_2214":31118,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":31119,"_2222":31120},"bot",[],[31121,31126],[3322,31122],{"_2214":31123,"_2216":3322,"_2217":2227,"_2219":3322,"_2220":31124,"_2222":31125},"both",[3412,3930,3430,2347,2349,3155,2355,2366,2369,2985,3477,2435,2449,3484,2461,2465,2466,2471,3158,2483,3783,3499,2514,3508,3651,2538,3511,6087,2578,3526,3947,2600,2638,3377,2651,2681,2688,2713,2721,2767,2768,3570,2778,3571,2802,2838,2856,2901,2923,2949],[],[3099,31127],{"_2214":31128,"_2216":31129,"_2217":2227,"_2219":3099,"_2220":31130,"_2222":31131},"bottleneck","tleneck",[2707],[],[4309,31133],{"_2214":20115,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":31134,"_2222":31136},[4251,31135,3594],1609,[31137],[2217,31138],{"_2214":31139,"_2216":3245,"_2217":2227,"_2219":2217,"_2220":31140,"_2222":31141},"boxes",[3365],[],[3871,31143],{"_2214":31144,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":31145,"_2222":31146},"bob",[2607],[],[3220,31148],{"_2214":31149,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":31150,"_2222":31151},"br",[],[31152,31179,31252,31268],[3002,31153],{"_2214":31154,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":31155,"_2222":31156},"bri",[],[31157,31163,31173],[2217,31158],{"_2214":31159,"_2216":31160,"_2217":2227,"_2219":2217,"_2220":31161,"_2222":31162},"brief","ef",[3404,5984,2263],[],[3207,31164],{"_2214":31165,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":31166,"_2222":31167},"bring",[2404],[31168],[3002,31169],{"_2214":31170,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31171,"_2222":31172},"bringing",[2396],[],[2220,31174],{"_2214":31175,"_2216":31176,"_2217":2227,"_2219":2220,"_2220":31177,"_2222":31178},"bridge","dge",[2517],[],[3017,31180],{"_2214":31181,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":31182,"_2222":31183},"bro",[],[31184,31195,31216,31246],[2214,31185],{"_2214":31186,"_2216":31187,"_2217":2227,"_2219":2214,"_2220":31188,"_2222":31189},"browse","wse",[2291],[31190],[3220,31191],{"_2214":31192,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":31193,"_2222":31194},"browser",[2255],[],[2225,31196],{"_2214":31197,"_2216":2968,"_2217":2218,"_2219":2225,"_2220":31198,"_2222":31199},"broad",[],[31200,31211],[2222,31201],{"_2214":31202,"_2216":31203,"_2217":2227,"_2219":2222,"_2220":31204,"_2222":31205},"broadcast","cast",[2270,2334,2576,3606,5587,2899,2927],[31206],[3002,31207],{"_2214":31208,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31209,"_2222":31210},"broadcasting",[2529,2532,2535],[],[3193,31212],{"_2214":31213,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":31214,"_2222":31215},"broadly",[2385],[],[2219,31217],{"_2214":31218,"_2216":2219,"_2217":2218,"_2219":2219,"_2220":31219,"_2222":31220},"brok",[],[31221,31241],[2217,31222],{"_2214":31223,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":31224,"_2222":31225},"broke",[],[31226,31231],[3207,31227],{"_2214":31228,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":31229,"_2222":31230},"broken",[3433,3262,3517,4469,3374,3534,2867,6001],[],[3220,31232],{"_2214":31233,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":31234,"_2222":31235},"broker",[3590,2890],[31236],[2216,31237],{"_2214":31238,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31239,"_2222":31240},"brokers",[2837],[],[3002,31242],{"_2214":31243,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31244,"_2222":31245},"broking",[2836],[],[3691,31247],{"_2214":31248,"_2216":31249,"_2217":2227,"_2219":3691,"_2220":31250,"_2222":31251},"brought","ught",[2456],[],[2217,31253],{"_2214":31254,"_2216":31255,"_2217":2227,"_2219":2217,"_2220":31256,"_2222":31257},"break","eak",[3432,2676,5631,9015],[31258,31263],[2216,31259],{"_2214":31260,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31261,"_2222":31262},"breaks",[2526,2861,11582],[],[3002,31264],{"_2214":31265,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31266,"_2222":31267},"breaking",[3617,15370,4334],[],[2225,31269],{"_2214":31270,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":31271,"_2222":31272},"bra",[],[31273,31278],[3002,31274],{"_2214":31275,"_2216":7485,"_2217":2227,"_2219":3002,"_2220":31276,"_2222":31277},"brain",[2366,2403,17550,5514,2543],[],[3207,31279],{"_2214":31280,"_2216":31281,"_2217":2227,"_2219":3207,"_2220":31282,"_2222":31283},"brand-new","nd-new",[2560],[],[3193,31285],{"_2214":23430,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":31286,"_2222":31287},[],[31288,31319,31325],[3017,31289],{"_2214":31290,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":31291,"_2222":31292},"blo",[],[31293,31308,31313],[2222,31294],{"_2214":31295,"_2216":13506,"_2217":2227,"_2219":2222,"_2220":31296,"_2222":31297},"block",[3417,2322,2323,2426,4938,6089,2744],[31298,31303],[2216,31299],{"_2214":31300,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31301,"_2222":31302},"blocks",[3417,2645,2923],[],[3002,31304],{"_2214":31305,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31306,"_2222":31307},"blocking",[2322,2449,2629],[],[3825,31309],{"_2214":31310,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":31311,"_2222":31312},"blog",[3714,4397,13530,12601,14667,13537,4427,4434],[],[3871,31314],{"_2214":31315,"_2216":31316,"_2217":2227,"_2219":3871,"_2220":31317,"_2222":31318},"blobstore","bstore",[3597],[],[3002,31320],{"_2214":31321,"_2216":31322,"_2217":2227,"_2219":3002,"_2220":31323,"_2222":31324},"blindly","indly",[2483],[],[2225,31326],{"_2214":31327,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":31328,"_2222":31329},"bla",[],[31330,31336],[5908,31331],{"_2214":31332,"_2216":31333,"_2217":2227,"_2219":5908,"_2220":31334,"_2222":31335},"blazing-fast","zing-fast",[4392],[],[2216,31337],{"_2214":31338,"_2216":31339,"_2217":2227,"_2219":2216,"_2220":31340,"_2222":31341},"blasting","sting",[2917],[],[2222,31343],{"_2214":31344,"_2216":31345,"_2217":2227,"_2219":2222,"_2220":31346,"_2222":31347},"bcfks","cfks",[3260,3261,3268],[],[6884,31349],{"_2214":31350,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":31351,"_2222":31352},"b1",[2580,5993],[],[2214,31354],{"_2214":2214,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":31355,"_2222":31356},[2236,8746],[31357,31474,31545,31624,31854,31974,32047,32067],[3322,31358],{"_2214":31359,"_2216":3322,"_2217":2218,"_2219":3322,"_2220":31360,"_2222":31361},"wh",[],[31362,31387,31432,31454,31469],[3002,31363],{"_2214":31364,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":31365,"_2222":31366},"whi",[],[31367,31372,31377],[2222,31368],{"_2214":31369,"_2216":10197,"_2217":2227,"_2219":2222,"_2220":31370,"_2222":31371},"which",[2231,2237,5064,2244,3406,2277,3358,2290,2291,3255,3256,3258,3212,2292,2295,2296,2297,2298,2299,2300,2301,2305,2309,3421,3424,3425,3426,2319,2321,2323,3427,2328,2329,3931,2336,2337,2339,4645,2342,3263,2360,3452,2372,2378,2380,2382,3461,2384,2392,2394,2398,3478,2405,2434,2441,2450,3487,3649,2456,2464,2483,2493,2494,2497,2504,2510,2513,2514,2523,2524,2526,3371,2528,2534,5514,6086,2551,2559,3265,2579,2583,2590,3374,3529,2601,4095,2605,2618,2619,2625,3542,7835,7836,2635,2651,2658,2663,3381,2687,3271,2691,2697,2703,2704,3556,2707,3557,3558,2714,2716,2718,2720,2721,2722,2730,2731,2732,2733,2742,2744,2751,3570,2776,3577,2814,4389,2817,2820,2828,2829,2833,3587,2846,3596,7554,2857,2861,2888,2890,2909,4472,2926,3611,2927,3809,4113,2952,6107,7754,3626],[],[3193,31373],{"_2214":31374,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":31375,"_2222":31376},"while",[2236,3402,3930,2283,3423,3424,2322,2337,3433,4496,2363,2368,3455,2371,2379,2430,2431,2443,2483,4896,2573,3654,2675,2693,2711,2722,2738,4025],[],[3099,31378],{"_2214":31379,"_2216":5151,"_2217":2227,"_2219":3099,"_2220":31380,"_2222":31381},"white",[3055],[31382],[3193,31383],{"_2214":31384,"_2216":28777,"_2217":2227,"_2219":3193,"_2220":31385,"_2222":31386},"whitelist",[3055,2248,2337],[],[2217,31388],{"_2214":31389,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":31390,"_2222":31391},"whe",[],[31392,31402,31427],[3207,31393],{"_2214":31394,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":31395,"_2222":31396},"when",[2231,2232,3401,2246,2248,2259,3930,3178,3770,2281,3358,2282,2283,2288,3418,3771,3212,2295,2296,2298,6050,3772,2308,4510,2310,2311,2312,5182,3259,5987,3421,3423,3424,3425,5476,3775,2321,2322,2323,3427,2978,3429,5478,3359,2326,4488,3360,2329,2330,2331,2334,2335,2336,3432,3433,3434,3435,2339,2341,4646,2343,2347,2349,3438,3645,3362,3263,3446,3447,2356,2357,2360,3452,4663,7038,6077,3232,2365,2366,4778,3364,2368,4779,2371,2373,3458,2375,2378,2380,2394,2396,2411,2436,2443,3648,2454,4326,2462,2467,2468,2469,2470,2471,3491,2482,2485,2486,3935,3179,2497,2507,2515,6349,2522,2523,2526,3370,6350,6084,2529,5513,4896,5514,2538,3509,2539,2551,2553,2557,2562,2563,3652,2584,3530,6264,2602,4095,4329,2603,2604,2608,2618,2619,2620,2627,3654,4518,2635,2636,2649,2656,2662,2665,3798,2669,2670,3548,2671,2674,8210,8211,2675,2687,2688,3271,3801,2694,2696,2697,2698,2700,2702,2703,2707,17535,2709,17536,2711,15628,2715,2717,3559,2718,2719,2722,2723,2729,2738,2742,2743,5671,2746,2747,2749,2750,2751,2754,2773,2775,2778,2779,2822,2829,2830,3955,2867,2868,2882,2894,3608,2900,2904,2909,2913,2914,2916,2920,2924,4597,4113,2950,12007,2957,8052,4851,3395,7706,5858,3811,2963],[31397],[2217,31398],{"_2214":31399,"_2216":7704,"_2217":2227,"_2219":2217,"_2220":31400,"_2222":31401},"whenever",[2287,2370,2547,2662,2694,2836,2865],[],[3220,31403],{"_2214":31404,"_2216":3750,"_2217":2227,"_2219":3220,"_2220":31405,"_2222":31406},"where",[2253,3416,2276,2283,2317,2322,2323,2331,2363,2366,2460,2469,2473,2484,3503,2513,2516,3789,2607,3224,2631,2678,2693,2700,2705,2706,2722,2736,2752,2754,2781,2783,3603,2883,2890,2900,2926,2946],[31407,31412,31417,31422],[3002,31408],{"_2214":31409,"_2216":7485,"_2217":2227,"_2219":3002,"_2220":31410,"_2222":31411},"wherein",[2366],[],[3066,31413],{"_2214":31414,"_2216":6500,"_2217":2227,"_2219":3066,"_2220":31415,"_2222":31416},"wherever",[2516],[],[2225,31418],{"_2214":31419,"_2216":3925,"_2217":2227,"_2219":2225,"_2220":31420,"_2222":31421},"whereas",[2607,2705,2721],[],[3871,31423],{"_2214":31424,"_2216":8794,"_2217":2227,"_2219":3871,"_2220":31425,"_2222":31426},"whereby",[2729],[],[3099,31428],{"_2214":31429,"_2216":6240,"_2217":2227,"_2219":3099,"_2220":31430,"_2222":31431},"whether",[2270,6050,3773,2317,2340,3442,3443,3444,2355,2359,2983,3781,2462,2524,2537,2538,3509,2578,2585,3530,6264,2618,4518,4498,2635,2704],[],[3017,31433],{"_2214":31434,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":31435,"_2222":31436},"who",[5960,4825,2452,3938,3940,3981,2666,2866],[31437,31442,31449],[3193,31438],{"_2214":31439,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":31440,"_2222":31441},"whole",[2236,2806,2904],[],[2225,31443],{"_2214":31444,"_2216":31445,"_2217":2227,"_2219":2225,"_2220":31446,"_2222":31448},"whoami","ami",[31447],572,[],[2216,31450],{"_2214":31451,"_2216":8461,"_2217":2227,"_2219":2216,"_2220":31452,"_2222":31453},"whose",[2545,2600,2687],[],[2225,31455],{"_2214":26791,"_2216":4975,"_2217":2227,"_2219":2225,"_2220":31456,"_2222":31457},[2291,4663,2478,2506,6086,3374,3529,2604,2666,2676,2716,5394,2843,2866,2882,3677],[31458,31463],[3030,31459],{"_2214":31460,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":31461,"_2222":31462},"what's",[5875],[],[3280,31464],{"_2214":31465,"_2216":31466,"_2217":2227,"_2219":3280,"_2220":31467,"_2222":31468},"what-are-hbase-znodes","-are-hbase-znodes",[13537],[],[3640,31470],{"_2214":31471,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":31472,"_2222":31473},"why",[2904,2921],[],[3002,31475],{"_2214":31476,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":31477,"_2222":31478},"wi",[],[31479,31484,31505,31517,31528,31533],[3193,31480],{"_2214":31481,"_2216":12831,"_2217":2227,"_2219":3193,"_2220":31482,"_2222":31483},"will",[2231,2232,2235,2236,2237,2238,2240,2241,5390,6072,2242,2243,2244,3055,2248,6260,2275,3930,3178,3416,2276,2277,2278,2280,2281,2282,2283,2286,4486,4487,2287,3256,3257,3258,3212,2299,2300,2305,2308,2310,3090,5987,2315,3420,3421,3423,3424,3425,5476,3426,2318,3775,2321,2322,2323,3427,3429,5478,3430,2326,2328,2331,2332,2333,2334,3931,2336,2337,3361,3432,4645,3231,2343,2345,2346,2347,2348,2349,2350,3443,4846,4847,4848,3933,3934,2356,2357,6300,2358,3448,2360,5874,3453,7038,6077,3232,2365,3140,2366,3364,2367,2368,4779,6052,2370,2371,2373,3458,3646,2388,3780,2391,2392,2396,2399,2401,3478,2421,2437,2440,2445,2446,2458,3489,2464,2465,2470,2483,2484,2492,2493,3493,3179,11269,2508,2511,3650,3370,2529,2530,2531,4896,3508,2540,2543,2547,2551,2552,2565,2575,2589,2604,2606,2616,3535,2618,2619,2622,2628,2629,3654,3236,5994,2634,2637,2640,2642,3377,2648,3379,2652,2653,2654,2655,2656,2657,2658,2662,2667,2668,2669,2671,3037,2672,2673,2674,3380,2675,2678,2679,3381,2687,2688,3271,3188,3800,3190,2691,2692,2693,2694,2696,2697,2698,2699,2703,2704,3556,2705,2706,2707,2712,2715,2717,2719,2720,2721,2722,2730,2734,2737,2738,3564,3383,2743,2749,2752,2754,2762,2779,2786,2787,2818,2821,2822,2823,3592,2860,2861,2867,2870,2871,2872,2891,2892,2895,2896,3805,3608,2900,2901,2907,2908,2909,2910,2911,2912,2913,2914,2915,2916,2917,3609,2919,2921,2924,2925,2929,4597,3613,2937,6458,2952],[],[3099,31485],{"_2214":31486,"_2216":21900,"_2217":2227,"_2219":3099,"_2220":31487,"_2222":31489},"with",[3355,31488,3644,3356,2242,3052,2248,2249,2250,3254,6260,3980,2254,13237,2272,2280,3358,2288,2289,2290,2295,2296,2297,2298,2299,2300,2301,2306,5987,3420,3421,3423,3424,3425,5476,3426,2320,2324,3429,5478,3359,3431,2331,2332,2334,2335,3435,2341,2343,2347,2348,2349,2350,3645,3362,3155,2355,6300,2359,3452,4663,2366,2368,5750,6052,2370,2371,2373,2381,3365,2388,2390,2394,2396,2398,2402,2403,3477,3478,2405,2406,3479,2410,5183,2430,3481,3482,3483,2437,2439,2440,2441,2443,2447,2448,2449,3485,3187,2453,2454,2456,2459,2460,2461,2462,3366,2465,2466,2472,3491,2483,3783,2484,2489,11267,4031,2494,3179,2498,2499,3496,4681,7547,7832,2502,3940,2507,3981,2508,2514,2516,2521,2523,2526,3369,2543,2548,2550,2552,3514,2560,3515,3517,2564,3265,3835,3372,2577,2584,2587,2589,2594,3373,3527,3374,3529,3532,4095,2604,2605,2607,2608,2618,5216,3537,5217,2621,2623,2624,2625,2629,2630,5994,2634,2635,2638,2643,2648,3982,15146,4664,2653,2655,2659,2660,2662,2666,2667,2669,2676,2679,2681,3554,2685,2686,3381,2687,2688,3271,3188,2691,2694,2695,2697,3555,13238,10573,2704,3556,2706,2708,2724,2725,2726,2727,2728,3299,2730,2731,2732,2733,6976,3560,2737,2739,4347,2747,2752,2753,2754,2755,2756,2758,5996,2764,2767,2768,2769,2770,5997,5998,2773,10844,3570,4511,2778,3571,2797,2798,2805,2806,2814,2815,2821,2833,2838,3589,2843,3593,2846,2848,2857,2860,2862,2864,2866,2871,6103,2881,3956,2884,2898,2900,2904,2907,2908,2910,2911,2912,2926,2929,2930,7276,4252,3394,2941,3957,3958,2947,2949,2951,11285,6001,3619,6683,6200,6266,8361,6114],23,[31490,31495,31500],[3017,31491],{"_2214":31492,"_2216":6379,"_2217":2227,"_2219":3017,"_2220":31493,"_2222":31494},"without",[3104,2292,3422,2317,2323,2331,2347,2349,3446,3447,2402,2403,2405,3480,2430,2440,2447,2452,2472,3264,2510,2511,2518,2537,4469,3518,2573,2614,2616,2622,3037,2712,5335,3952,3953,2923,5858],[],[3002,31496],{"_2214":31497,"_2216":7485,"_2217":2227,"_2219":3002,"_2220":31498,"_2222":31499},"within",[2326,2395,2657,2671,2696,2697,2805,2806,3803,2873],[],[2216,31501],{"_2214":31502,"_2216":25641,"_2217":2227,"_2219":2216,"_2220":31503,"_2222":31504},"withstand",[2557],[],[3207,31506],{"_2214":31507,"_2216":31508,"_2217":2227,"_2219":3207,"_2220":31509,"_2222":31510},"window","ndow",[3935],[31511],[2216,31512],{"_2214":31513,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31514,"_2222":31516},"windows",[3355,31515,6001],498,[],[2220,31518],{"_2214":31519,"_2216":10789,"_2217":2227,"_2219":2220,"_2220":31520,"_2222":31521},"wide",[2260,2788],[31522],[3280,31523],{"_2214":31524,"_2216":31525,"_2217":2227,"_2219":3280,"_2220":31526,"_2222":31527},"wide-area","-area",[2929],[],[2219,31529],{"_2214":16523,"_2216":31530,"_2217":2227,"_2219":2219,"_2220":31531,"_2222":31532},"ki",[3436,2994],[],[2216,31534],{"_2214":31535,"_2216":8589,"_2217":2227,"_2219":2216,"_2220":31536,"_2222":31539},"wish",[2390,2516,2628,31537,31538],2007,2017,[31540],[3002,31541],{"_2214":31542,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31543,"_2222":31544},"wishing",[2680,2757,2760],[],[3220,31546],{"_2214":31547,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":31548,"_2222":31549},"wr",[],[31550,31599,31604,31609],[3002,31551],{"_2214":31552,"_2216":8144,"_2217":2218,"_2219":3002,"_2220":31553,"_2222":31554},"writ",[],[31555,31560,31589,31594],[3099,31556],{"_2214":31557,"_2216":6120,"_2217":2227,"_2219":3099,"_2220":31558,"_2222":31559},"written",[2231,2380,2454,2504,3939,2527,2648,2666,3552,2709,2866,2884,3609],[],[2217,31561],{"_2214":10069,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":31562,"_2222":31563},[2262,2278,3419,2306,5182,2360,7038,2370,2371,3187,2990,3264,2509,2510,3044,7833,5991,2599,2611,3534,2651,3204,2666,2766,2775,2786,2787,2866,3392,2881,2882,2884,2888,2924,2926,2964],[31564,31579,31584],[3280,31565],{"_2214":31566,"_2216":3280,"_2217":2227,"_2219":3280,"_2220":31567,"_2222":31568},"write-",[2768,2769,5997,2773],[31569,31574],[2225,31570],{"_2214":31571,"_2216":5504,"_2217":2227,"_2219":2225,"_2220":31572,"_2222":31573},"write-ahead",[2281,2282],[],[2972,31575],{"_2214":31576,"_2216":6701,"_2217":2227,"_2219":2972,"_2220":31577,"_2222":31578},"write-master",[2796],[],[2216,31580],{"_2214":31581,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31582,"_2222":31583},"writes",[3452,2371,2405,2511,2515,2651,3603,2879,3391,2883,2884,2924],[],[3220,31585],{"_2214":31586,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":31587,"_2222":31588},"writer",[3570],[],[3002,31590],{"_2214":31591,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31592,"_2222":31593},"writing",[3570,2775,3384,2831,3628],[],[2225,31595],{"_2214":31596,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":31597,"_2222":31598},"writable",[7560],[],[3099,31600],{"_2214":31601,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":31602,"_2222":31603},"wrt",[2248],[],[3017,31605],{"_2214":31606,"_2216":25838,"_2217":2227,"_2219":3017,"_2220":31607,"_2222":31608},"wrong",[2346,3799],[],[2225,31610],{"_2214":31611,"_2216":4178,"_2217":2218,"_2219":2225,"_2220":31612,"_2222":31613},"wrappe",[],[31614,31619],[3220,31615],{"_2214":31616,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":31617,"_2222":31618},"wrapper",[2453],[],[2220,31620],{"_2214":31621,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":31622,"_2222":31623},"wrapped",[2711],[],[2225,31625],{"_2214":3744,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":31626,"_2222":31627},[],[31628,31633,31643,31652,31773,31804,31814,31829],[2216,31629],{"_2214":31630,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31631,"_2222":31632},"was",[3081,2291,2320,2325,3260,3261,2359,2363,2368,2379,2382,2440,2446,2471,3491,13761,2481,3935,3981,2626,3268,2635,2667,8210,8211,3271,2703,2718,2721,2731,2732,2733,2742,2864,2884,3957],[],[3207,31634],{"_2214":31635,"_2216":5686,"_2217":2227,"_2219":3207,"_2220":31636,"_2222":31637},"want",[2236,2329,4847,3452,2399,3478,2452,2613,2614,2615,5994,3542,2635,2735,2951],[31638],[2216,31639],{"_2214":31640,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31641,"_2222":31642},"wants",[2337,7038,6077,3538,2714,2752,2786],[],[3640,31644],{"_2214":31645,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":31646,"_2222":31647},"way",[2286,2343,2440,2472,3783,3500,2524,2526,3505,7275,2578,2588,2669,2679,2720,2762,5631,2778,2828,2829,2922,2924],[31648],[2216,31649],{"_2214":4603,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31650,"_2222":31651},[6027,3547,11280,2721,2928],[],[3099,31653],{"_2214":3297,"_2216":8326,"_2217":2227,"_2219":3099,"_2220":31654,"_2222":31655},[6074,2268,2269,3410,3255,3781,2455,2486,5991,2579,2584,2585,2595,2596,2597,3529,2602,4095,3375,3376,2603,8008,2627,2629,4498,2665,2675,3559,2718,2719,2720,2721,2722,2724,2729,2730,2733,2734,3951,2735,2736,2737,2738,4347,2745,5671,10123,7552,2749,2751,2752,2754,5335,5996,3952,3953,5997,5998,3570,2775,2779,2781,2783,14666,14668,2861,2867,6002,3632],[31656,31742,31748,31763,31768],[2217,31657],{"_2214":31658,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":31659,"_2222":31660},"watche",[],[31661,31673,31731,31736],[2216,31662],{"_2214":9044,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31663,"_2222":31666},[5984,2249,2250,2268,2269,2423,3497,5991,3524,2579,2597,2603,2604,4498,31664,2665,3551,2675,2708,31665,3559,6101,9824,9013,5394,5395,2720,2721,2722,2723,2724,2729,3299,2730,6976,3560,2735,2736,2738,2751,3601,2867,2868],1293,1425,[31667],[4794,31668],{"_2214":31669,"_2216":31670,"_2217":2227,"_2219":4794,"_2220":31671,"_2222":31672},"watches_by_path","_by_path",[2269],[],[3220,31674],{"_2214":31675,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":31676,"_2222":31677},"watcher",[3255,3256,3257,3258,3212,2595,2600,3529,3375,3376,2628,2649,2697,3382,2698,3299,2731,2732,2733,7158],[31678,31710,31715,31721,31726],[2222,31679],{"_2214":31680,"_2216":13283,"_2217":2218,"_2219":2222,"_2220":31681,"_2222":31682},"watcherclean",[],[31683,31699,31704],[3099,31684],{"_2214":31685,"_2216":22342,"_2217":2218,"_2219":3099,"_2220":31686,"_2222":31687},"watchercleanthre",[],[31688,31694],[2225,31689],{"_2214":31690,"_2216":31691,"_2217":2227,"_2219":2225,"_2220":31692,"_2222":31693},"watchercleanthreadsnum","adsnum",[3256],[],[2216,31695],{"_2214":31696,"_2216":22372,"_2217":2227,"_2219":2216,"_2220":31697,"_2222":31698},"watchercleanthreshold",[3257,3258,3212],[],[2217,31700],{"_2214":31701,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":31702,"_2222":31703},"watchercleaner",[3256,3212],[],[3002,31705],{"_2214":31706,"_2216":31707,"_2217":2227,"_2219":3002,"_2220":31708,"_2222":31709},"watchercleanintervalinseconds","intervalinseconds",[3258],[],[2216,31711],{"_2214":31712,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31713,"_2222":31714},"watchers",[3256,3257,3258,3212,3376,2698,2720,3299,9057],[],[4794,31716],{"_2214":31717,"_2216":31718,"_2217":2227,"_2219":4794,"_2220":31719,"_2222":31720},"watcher_fn","_fn",[8660],[],[3099,31722],{"_2214":31723,"_2216":5,"_2217":2227,"_2219":3099,"_2220":31724,"_2222":31725},"watchertype",[3299,9015],[],[3030,31727],{"_2214":31728,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":31729,"_2222":31730},"watcher's",[9015],[],[2220,31732],{"_2214":31733,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":31734,"_2222":31735},"watched",[2598,2762],[],[3066,31737],{"_2214":31738,"_2216":31739,"_2217":2227,"_2219":3066,"_2220":31740,"_2222":31741},"watchevent","vent",[2961],[],[4794,31743],{"_2214":31744,"_2216":31745,"_2217":2227,"_2219":4794,"_2220":31746,"_2222":31747},"watch_summary","_summary",[3410],[],[2972,31749],{"_2214":31750,"_2216":4686,"_2217":2227,"_2219":2972,"_2220":31751,"_2222":31752},"watchmanager",[3255],[31753,31758],[3207,31754],{"_2214":31755,"_2216":7853,"_2217":2227,"_2219":3207,"_2220":31756,"_2222":31757},"watchmanagername",[3255],[],[3017,31759],{"_2214":31760,"_2216":5920,"_2217":2227,"_2219":3017,"_2220":31761,"_2222":31762},"watchmanageroptimized",[3255,3256,3257,3258],[],[3085,31764],{"_2214":31765,"_2216":8651,"_2217":2227,"_2219":3085,"_2220":31766,"_2222":31767},"watchflag",[5991],[],[3002,31769],{"_2214":31770,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31771,"_2222":31772},"watching",[2675,2697,2734,2750,2779],[],[3220,31774],{"_2214":31775,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":31776,"_2222":31777},"war",[],[31778,31798],[3207,31779],{"_2214":31780,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":31781,"_2222":31782},"warn",[22668,22669,3786,19753],[31783],[3002,31784],{"_2214":31785,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31786,"_2222":31787},"warning",[2287,2426,2461,2553],[31788,31794],[3099,31789],{"_2214":31790,"_2216":31791,"_2217":2227,"_2219":3099,"_2220":31792,"_2222":31793},"warningthresholdms","thresholdms",[2287],[],[2216,31795],{"_2214":25122,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31796,"_2222":31797},[9014],[],[2217,31799],{"_2214":31800,"_2216":31801,"_2217":2227,"_2219":2217,"_2220":31802,"_2222":31803},"warehouse","ehouse",[2831],[],[3193,31805],{"_2214":31806,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":31807,"_2222":31808},"wal",[2287],[31809],[2219,31810],{"_2214":31811,"_2216":5558,"_2217":2227,"_2219":2219,"_2220":31812,"_2222":31813},"walks",[2595],[],[3002,31815],{"_2214":31816,"_2216":8144,"_2217":2227,"_2219":3002,"_2220":31817,"_2222":31818},"wait",[3772,2309,2326,2374,2471,2510,2579,2584,3799,2745,5995,7552,3568,2750,2759,2771,2772],[31819,31824],[2216,31820],{"_2214":31821,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31822,"_2222":31823},"waits",[2293,2294,6051,3435,2585,2747,2749,2752,7556],[],[3002,31825],{"_2214":31826,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31827,"_2222":31828},"waiting",[2537,2579,2584,5671,2749,2773,2908,2957],[],[2219,31830],{"_2214":31831,"_2216":2219,"_2217":2218,"_2219":2219,"_2220":31832,"_2222":31833},"wak",[],[31834,31839],[3002,31835],{"_2214":31836,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31837,"_2222":31838},"waking",[2749],[],[2217,31840],{"_2214":31841,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":31842,"_2222":31843},"wake",[2749,2762],[31844,31849],[2216,31845],{"_2214":31846,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31847,"_2222":31848},"wakes",[2751],[],[3691,31850],{"_2214":31851,"_2216":7019,"_2217":2227,"_2219":3691,"_2220":31852,"_2222":31853},"wakeup",[2957],[],[3017,31855],{"_2214":31856,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":31857,"_2222":31858},"wo",[],[31859,31864,31964],[3691,31860],{"_2214":31861,"_2216":27149,"_2217":2227,"_2219":3691,"_2220":31862,"_2222":31863},"would",[2237,2244,5873,2341,5960,4825,2366,2371,2392,2395,3489,3490,2484,3160,4896,3529,2650,2661,2679,2693,2699,2729,2737,2740,2909,2951,2952,2956],[],[3220,31865],{"_2214":31866,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":31867,"_2222":31868},"wor",[],[31869,31878,31945,31950,31954,31959],[2220,31870],{"_2214":19407,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":31871,"_2222":31872},[2254,2255,3057,2337,3361],[31873],[2216,31874],{"_2214":31875,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31876,"_2222":31877},"words",[6071,3051,3052,7786,3055,2337,7787,3036,2525,2635,2663],[],[2219,31879],{"_2214":31880,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":31881,"_2222":31882},"work",[2242,2272,2979,2331,3432,3433,2372,3646,3476,2486,2526,2634,2677,2681,2809,2846,2921],[31883,31893,31909,31924,31929,31940],[3002,31884],{"_2214":31885,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":31886,"_2222":31887},"working",[5064,2238,2330,2436,3805],[31888],[2216,31889],{"_2214":31890,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31891,"_2222":31892},"workings",[3606],[],[2217,31894],{"_2214":31895,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":31896,"_2222":31897},"worker",[6072,7538,3455,5750,6052],[31898],[2216,31899],{"_2214":31900,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31901,"_2222":31902},"workers",[2791],[31903],[3322,31904],{"_2214":31905,"_2216":31906,"_2217":2227,"_2219":3322,"_2220":31907,"_2222":31908},"workershutdowntimeoutms","hutdowntimeoutms",[7538],[],[3193,31910],{"_2214":31911,"_2216":24729,"_2217":2227,"_2219":3193,"_2220":31912,"_2222":31913},"workload",[2288,2289,2371,6263,3945],[31914,31919],[3871,31915],{"_2214":31916,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":31917,"_2222":31918},"workloadb",[3945],[],[2216,31920],{"_2214":31921,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31922,"_2222":31923},"workloads",[2807,2832,3603,2888],[],[2225,31925],{"_2214":31926,"_2216":3839,"_2217":2227,"_2219":2225,"_2220":31927,"_2222":31928},"workaround",[2291,2925],[],[2216,31930],{"_2214":31931,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":31932,"_2222":31933},"works",[2465,2466,7719,2548,3799,2681,2686],[31934],[3099,31935],{"_2214":31936,"_2216":31937,"_2217":2227,"_2219":3099,"_2220":31938,"_2222":31939},"workstation","tation",[5643],[],[3085,31941],{"_2214":31942,"_2216":6638,"_2217":2227,"_2219":3085,"_2220":31943,"_2222":31944},"workflow",[2839],[],[2216,31946],{"_2214":31947,"_2216":15455,"_2217":2227,"_2219":2216,"_2220":31948,"_2222":31949},"worsen",[12933],[],[3193,31951],{"_2214":10165,"_2216":14524,"_2217":2227,"_2219":3193,"_2220":31952,"_2222":31953},[3533,2605,2606,2617,3661,2676],[],[3099,31955],{"_2214":31956,"_2216":21900,"_2217":2227,"_2219":3099,"_2220":31957,"_2222":31958},"worth",[2664,2926],[],[3220,31960],{"_2214":31961,"_2216":20250,"_2217":2227,"_2219":3220,"_2220":31962,"_2222":31963},"worry",[2921,2923],[],[3207,31965],{"_2214":31966,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":31967,"_2222":31968},"won",[2717,2823],[31969],[3030,31970],{"_2214":31971,"_2216":3821,"_2217":2227,"_2219":3030,"_2220":31972,"_2222":31973},"won't",[2272,3258,3423,3424,3425,3426,2320,3427,3435,3452,2589,4331],[],[2217,31975],{"_2214":31976,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":31977,"_2222":31978},"we",[2272,3154,2286,3255,3257,3258,3212,2292,2316,3425,5477,2317,3452,2370,2371,2379,3365,2403,4497,2448,2493,3179,2509,2510,2520,2521,2522,3371,2529,2532,6351,2535,3525,2578,2579,2580,2583,2584,2588,2590,2597,2635,2648,2650,3982,3378,3379,2655,3381,2696,2704,2705,2707,2714,2724,2730,2787,2788,2796,2827,2845,4131,2848,2864,2888,2894,4025,3805,3608,2900,2901,2904,2907,2916,4472,2921,2922,2923,2924,2928,2929,3958,2942,2950,6003],[31979,32001,32006,32020,32025,32035],[3871,31980],{"_2214":31981,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":31982,"_2222":31983},"web",[2802,2814,2848],[31984,31989,31995],[2216,31985],{"_2214":31986,"_2216":27082,"_2217":2227,"_2219":2216,"_2220":31987,"_2222":31988},"website",[5389,3214],[],[3322,31990],{"_2214":31991,"_2216":31992,"_2217":2227,"_2219":3322,"_2220":31993,"_2222":31994},"webhook","hook",[3501],[],[3280,31996],{"_2214":31997,"_2216":31998,"_2217":2227,"_2219":3280,"_2220":31999,"_2222":32000},"web-publishing","-publishing",[2847],[],[3193,32002],{"_2214":32003,"_2216":12831,"_2217":2227,"_2219":3193,"_2220":32004,"_2222":32005},"well",[2244,2325,2392,2509,3374,2627,2659,3547,2679,2681,2721,2723,2805,2844,2848,2864,2868,2904,2926],[],[3002,32007],{"_2214":28922,"_2216":17180,"_2217":2227,"_2219":3002,"_2220":32008,"_2222":32009},[2302,2303,2304,2334,2441,2520,2521,2522,2929],[32010,32015],[2216,32011],{"_2214":32012,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32013,"_2222":32014},"weights",[6050,2334,2473,3504,2928,2929],[],[2217,32016],{"_2214":32017,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":32018,"_2222":32019},"weighted",[2930],[],[3220,32021],{"_2214":32022,"_2216":3750,"_2217":2227,"_2219":3220,"_2220":32023,"_2222":32024},"were",[2324,2325,3431,2429,2449,3265,2638,2652,2693,2696,2870,2884,4472,3609,2952,3621],[],[3207,32026],{"_2214":32027,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":32028,"_2222":32029},"wen",[2854],[32030],[3099,32031],{"_2214":32032,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":32033,"_2222":32034},"went",[2382],[],[2225,32036],{"_2214":32037,"_2216":32038,"_2217":2227,"_2219":2225,"_2220":32039,"_2222":32041},"wealthfront","althfront",[32040,3390],1621,[32042],[3030,32043],{"_2214":32044,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":32045,"_2222":32046},"wealthfront's",[3390],[],[2222,32048],{"_2214":32049,"_2216":10197,"_2217":2218,"_2219":2222,"_2220":32050,"_2222":32051},"wch",[],[32052,32057,32062],[2216,32053],{"_2214":32054,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32055,"_2222":32056},"wchs",[5984,3410],[],[2222,32058],{"_2214":32059,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":32060,"_2222":32061},"wchc",[2249,2268],[],[4034,32063],{"_2214":32064,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":32065,"_2222":32066},"wchp",[2250,2269],[],[2214,32068],{"_2214":32069,"_2216":32070,"_2217":2227,"_2219":2214,"_2220":32071,"_2222":32072},"www","ww",[14666,13530,14668,4434],[],[2217,32074],{"_2214":2217,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":32075,"_2222":32076},[2255,5393,2256,3408,3928,2268,2269,2339,2344,2347,2349,3933,3934,4496,2365,2366,4778,2368,4779,3461,2452,2460,2461,2483,2495,2496,2990,2559,6897,2582,5993,2638,2653,2669,3548,2692,2697,2698,2702,2711,2871,3805,2910,2926,2951],[32077,32444,32523,33118,33123,33200,33235,33241,33333,33416,33453,33524,33555,33606,33631,33641,33673,33678,33683,33689,33695],[3207,32078],{"_2214":13950,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":32079,"_2222":32080},[4407],[32081,32128,32148,32189,32224,32305,32369,32375,32390,32396,32401,32422,32432,32438],[2216,32082],{"_2214":32083,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":32084,"_2222":32085},"ens",[],[32086,32113],[2217,32087],{"_2214":32088,"_2216":32089,"_2217":2227,"_2219":2217,"_2220":32090,"_2222":32091},"ensemble","emble",[2231,2236,2238,2245,3409,2267,4461,5986,3104,3415,2280,2285,3359,3360,2329,2333,2336,2341,2343,2346,2365,2368,2371,3462,2386,5988,2387,3365,2388,3780,2391,2394,2395,2396,2402,2403,3477,2407,5512,3480,6078,2431,2437,2438,2439,2440,2443,2447,2450,2459,2460,2463,2465,2466,8209,2476,10374,2491,2495,4467,2496,3264,2509,2510,2511,2512,2514,2516,2517,2518,2525,3653,2572,2663,2689,2707,3574,2824,3590,2859,2884],[32092,32097],[2216,32093],{"_2214":32094,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32095,"_2222":32096},"ensembles",[5985,2306,2489],[],[2225,32098],{"_2214":32099,"_2216":3290,"_2217":2218,"_2219":2225,"_2220":32100,"_2222":32101},"ensembleauth",[],[32102,32107],[3207,32103],{"_2214":32104,"_2216":7853,"_2217":2227,"_2219":3207,"_2220":32105,"_2222":32106},"ensembleauthname",[2346],[],[2217,32108],{"_2214":32109,"_2216":32110,"_2217":2227,"_2219":2217,"_2220":32111,"_2222":32112},"ensembleauthenticationprovider","enticationprovider",[2346],[],[3691,32114],{"_2214":32115,"_2216":8378,"_2217":2227,"_2219":3691,"_2220":32116,"_2222":32117},"ensure",[2274,3478,2459,2471,2571,2667,3800,2699,3805,2900,2901],[32118,32123],[2216,32119],{"_2214":32120,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32121,"_2222":32122},"ensures",[2237,2323,2367,2380,3560],[],[2220,32124],{"_2214":32125,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":32126,"_2222":32127},"ensured",[6084],[],[3066,32129],{"_2214":13071,"_2216":3066,"_2217":2227,"_2219":3066,"_2220":32130,"_2222":32131},[3927],[32132],[3002,32133],{"_2214":32134,"_2216":3002,"_2217":2227,"_2219":3002,"_2220":32135,"_2222":32136},"envi",[5392,3927],[32137],[3220,32138],{"_2214":32139,"_2216":32140,"_2217":2227,"_2219":3220,"_2220":32141,"_2222":32142},"environment","ronment",[2232,2245,5392,3927,2271,2272,2326,3434,2362,4778,2384,3780,2452,2495,2501,7550,2635,2792,2797,7566],[32143],[2216,32144],{"_2214":32145,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32146,"_2222":32147},"environments",[2366,2407,2685,2693,2813],[],[2225,32149],{"_2214":32150,"_2216":32151,"_2217":2218,"_2219":2225,"_2220":32152,"_2222":32153},"enabl","abl",[],[32154,32184],[2217,32155],{"_2214":32156,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":32157,"_2222":32158},"enable",[4359,2253,2273,2290,3771,3774,2320,2330,2331,2337,3361,2343,5960,4825,2355,2356,8297,6300,8298,3458,2985,2395,3157,2489,3492,3496,3215,2504,3264,3505,3650,5991,2643,17536,3558,2724,2746,2797,2814,4851],[32159,32168,32178],[2220,32160],{"_2214":3095,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":32161,"_2222":32162},[3081,3056,3154,3930,2283,3418,3771,6050,3772,2308,2310,2311,2312,3090,3259,3422,3426,8296,2322,2323,2324,2978,2979,2330,2331,2336,2337,2339,2340,3437,2348,2349,4825,3438,2350,3645,3440,3441,3442,3443,3155,3444,2355,3263,2356,8297,6300,2360,8298,4779,3458,2981,2982,2986,2451,3489,3490,11267,3499,3654,4518,4498,4331,23799,23800,3037,2725,2726,2727,2728],[32163],[4034,32164],{"_2214":32165,"_2216":18441,"_2217":2227,"_2219":4034,"_2220":32166,"_2222":32167},"enabledprotocols",[3440],[],[2216,32169],{"_2214":32170,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32171,"_2222":32172},"enables",[2248,2253,2254,3930,5182,2333,2337,2341,3362,2360,2579,2580,2584,3544,2929,4598],[32173],[2217,32174],{"_2214":32175,"_2216":3049,"_2217":2227,"_2219":2217,"_2220":32176,"_2222":32177},"enableserver",[2977,2986],[],[2217,32179],{"_2214":32180,"_2216":32181,"_2217":2227,"_2219":2217,"_2220":32182,"_2222":32183},"enableeageraclcheck","eageraclcheck",[5182],[],[3002,32185],{"_2214":32186,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":32187,"_2222":32188},"enabling",[24839,2331,2336,3432,3433,3231,3362,4496,2368,2981,2982,7546,5479,2806,3588,6200],[],[2220,32190],{"_2214":21644,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":32191,"_2222":32192},[2241,3423,5476,5478,2379,2579,2580,2669,2746,3038,7562],[32193,32203,32208,32213,32219],[4034,32194],{"_2214":32195,"_2216":19647,"_2217":2227,"_2219":4034,"_2220":32196,"_2222":32197},"endpoint",[7548,2802],[32198],[2216,32199],{"_2214":32200,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32201,"_2222":32202},"endpoints",[3052,11268],[],[2216,32204],{"_2214":32205,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32206,"_2222":32207},"ends",[3798,2716,2754,3955],[],[3002,32209],{"_2214":32210,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":32211,"_2222":32212},"ending",[2752],[],[3280,32214],{"_2214":32215,"_2216":32216,"_2217":2227,"_2219":3280,"_2220":32217,"_2222":32218},"end-to-end","-to-end",[2938],[],[3193,32220],{"_2214":32221,"_2216":10565,"_2217":2227,"_2219":3193,"_2220":32222,"_2222":32223},"endless",[4474],[],[3099,32225],{"_2214":5431,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":32226,"_2222":32227},[],[32228,32243,32273],[3220,32229],{"_2214":32230,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":32231,"_2222":32232},"entr",[],[32233,32238],[3002,32234],{"_2214":32235,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":32236,"_2222":32237},"entries",[7718,3414,2340,3155,3517,3944,2684,2686,3271,3188,4113],[],[3640,32239],{"_2214":32240,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":32241,"_2222":32242},"entry",[3216,2668,2688,3271,2747,2948,2950],[],[3002,32244],{"_2214":32245,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":32246,"_2222":32247},"enti",[],[32248,32258],[3220,32249],{"_2214":32250,"_2216":3750,"_2217":2227,"_2219":3220,"_2220":32251,"_2222":32252},"entire",[3415,2280,2336,3435,3780,4938,3391],[32253],[3193,32254],{"_2214":32255,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":32256,"_2222":32257},"entirely",[2284,2285,2517],[],[3099,32259],{"_2214":32260,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":32261,"_2222":32262},"entit",[],[32263,32268],[3640,32264],{"_2214":32265,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":32266,"_2222":32267},"entity",[2615,2664,2836],[],[3002,32269],{"_2214":32270,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":32271,"_2222":32272},"entities",[2841],[],[2217,32274],{"_2214":32275,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":32276,"_2222":32278},"enter",[3161,15549,3372,18619,2570,2584,3526,2594,2747,32277],1486,[32279,32284,32289,32294],[2217,32280],{"_2214":32281,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":32282,"_2222":32283},"entered",[2584,2750,2821],[],[3002,32285],{"_2214":32286,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":32287,"_2222":32288},"entering",[2749],[],[2216,32290],{"_2214":32291,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32292,"_2222":32293},"enters",[2749],[],[4034,32295],{"_2214":32296,"_2216":32297,"_2217":2227,"_2219":4034,"_2220":32298,"_2222":32299},"enterprise","prise",[2801,2806,4392,3591],[32300],[2216,32301],{"_2214":32302,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32303,"_2222":32304},"enterprises",[2806],[],[2222,32306],{"_2214":32307,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":32308,"_2222":32309},"enc",[],[32310,32326,32337],[3220,32311],{"_2214":32312,"_2216":32313,"_2217":2218,"_2219":3220,"_2220":32314,"_2222":32315},"encrypt","rypt",[],[32316,32321],[3002,32317],{"_2214":32318,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":32319,"_2222":32320},"encryption",[3198,5985,3058,4845,4489],[],[2217,32322],{"_2214":32323,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":32324,"_2222":32325},"encrypted",[2341,3362,3461],[],[2225,32327],{"_2214":32328,"_2216":32329,"_2217":2227,"_2219":2225,"_2220":32330,"_2222":32331},"encapsulate","apsulate",[8854],[32332],[2216,32333],{"_2214":32334,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32335,"_2222":32336},"encapsulates",[3412],[],[3017,32338],{"_2214":32339,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":32340,"_2222":32341},"enco",[],[32342,32347],[2220,32343],{"_2214":32344,"_2216":6962,"_2217":2227,"_2219":2220,"_2220":32345,"_2222":32346},"encoded",[2619],[],[3691,32348],{"_2214":32349,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":32350,"_2222":32351},"encou",[],[32352,32363],[3220,32353],{"_2214":32354,"_2216":32355,"_2217":2227,"_2219":3220,"_2220":32356,"_2222":32357},"encourage","rage",[3564],[32358],[2220,32359],{"_2214":32360,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":32361,"_2222":32362},"encouraged",[3605],[],[3207,32364],{"_2214":32365,"_2216":32366,"_2217":2227,"_2219":3207,"_2220":32367,"_2222":32368},"encountering","ntering",[3395],[],[3017,32370],{"_2214":32371,"_2216":32372,"_2217":2227,"_2219":3017,"_2220":32373,"_2222":32374},"enough","ough",[3256,3775,2372,2390,2405,2459,2580,2584,2699,2746,2889,2928,2929,2946],[],[3085,32376],{"_2214":32377,"_2216":7674,"_2217":2227,"_2219":3085,"_2220":32378,"_2222":32379},"enforce",[2308,3437,2349,4825,3438,3645],[32380,32385],[5252,32381],{"_2214":32382,"_2216":24065,"_2217":2227,"_2219":5252,"_2220":32383,"_2222":32384},"enforcequota",[2308],[],[2220,32386],{"_2214":32387,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":32388,"_2222":32389},"enforced",[2450,2451,9014],[],[5252,32391],{"_2214":32392,"_2216":32393,"_2217":2227,"_2219":5252,"_2220":32394,"_2222":32395},"enqueued","queued",[3427],[],[3691,32397],{"_2214":32398,"_2216":18002,"_2217":2227,"_2219":3691,"_2220":32399,"_2222":32400},"enum",[3377],[],[3825,32402],{"_2214":32403,"_2216":32404,"_2217":2227,"_2219":3825,"_2220":32405,"_2222":32406},"engine","gine",[2795,3579,2813,3388,3591,2842],[32407],[2217,32408],{"_2214":32409,"_2216":3114,"_2217":2218,"_2219":2217,"_2220":32410,"_2222":32411},"engineer",[],[32412,32417],[3002,32413],{"_2214":32414,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":32415,"_2222":32416},"engineering",[2663,12601,14667,2894],[],[2216,32418],{"_2214":32419,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32420,"_2222":32421},"engineers",[2894],[],[3280,32423],{"_2214":32424,"_2216":3280,"_2217":2227,"_2219":3280,"_2220":32425,"_2222":32426},"en-",[2846],[32427],[3691,32428],{"_2214":32429,"_2216":13187,"_2217":2227,"_2219":3691,"_2220":32430,"_2222":32431},"en-us",[4397],[],[4794,32433],{"_2214":32434,"_2216":32435,"_2217":2227,"_2219":4794,"_2220":32436,"_2222":32437},"en_us","_us",[12601,14667],[],[3322,32439],{"_2214":32440,"_2216":32441,"_2217":2227,"_2219":3322,"_2220":32442,"_2222":32443},"enhance","hance",[3628],[],[3066,32445],{"_2214":32446,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":32447,"_2222":32448},"ev",[],[32449,32507],[2217,32450],{"_2214":32451,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":32452,"_2222":32453},"eve",[],[32454,32469],[3220,32455],{"_2214":32456,"_2216":20250,"_2217":2227,"_2219":3220,"_2220":32457,"_2222":32458},"every",[2232,2257,4324,2264,2283,2297,2299,2300,2336,3361,2391,2394,3027,2483,11269,2504,3159,4186,3160,2513,2524,2528,2658,2662,2672,2673,2736,2747,2863,3392,2901,2927],[32459,32464],[3099,32460],{"_2214":32461,"_2216":3666,"_2217":2227,"_2219":3099,"_2220":32462,"_2222":32463},"everything",[2244,2331,2679,2720,3560,3807],[],[3017,32465],{"_2214":32466,"_2216":3659,"_2217":2227,"_2219":3017,"_2220":32467,"_2222":32468},"everyone",[2364,2615,2751],[],[3207,32470],{"_2214":32471,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":32472,"_2222":32473},"even",[2244,3256,3258,2348,2350,2360,2366,2367,3460,2402,3477,2430,2438,2476,3508,2615,2653,2685,2730,3383,2741,3384,2871],[32474],[3099,32475],{"_2214":32476,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":32477,"_2222":32478},"event",[2234,2368,3532,3375,3376,2603,2604,2627,2629,2630,2637,2638,2675,3554,2698,3559,2718,2719,2720,2725,2726,2727,2728,2729,2731,2732,2733,2734,2735,2736,2741,2745,5671,7552,7158],[32479,32484,32496,32502],[2216,32480],{"_2214":32481,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32482,"_2222":32483},"events",[6074,3781,2600,3529,8008,2627,2649,2674,2698,2722,2724,2729,3299,2730,3560,3951,2738,2861,2885,4245,7557,7974,9015],[],[3691,32485],{"_2214":32486,"_2216":32487,"_2217":2227,"_2219":3691,"_2220":32488,"_2222":32489},"eventually","ually",[2696,6100,2891],[32490],[3280,32491],{"_2214":32492,"_2216":32493,"_2217":2227,"_2219":3280,"_2220":32494,"_2222":32495},"eventually-consistent","-consistent",[2577],[],[3280,32497],{"_2214":32498,"_2216":32499,"_2217":2227,"_2219":3280,"_2220":32500,"_2222":32501},"event-driven","-driven",[2789],[],[3871,32503],{"_2214":32504,"_2216":30849,"_2217":2227,"_2219":3871,"_2220":32505,"_2222":32506},"eventbus",[3598],[],[2225,32508],{"_2214":32509,"_2216":32510,"_2217":2218,"_2219":2225,"_2220":32511,"_2222":32512},"evaluat","aluat",[],[32513,32518],[3002,32514],{"_2214":32515,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":32516,"_2222":32517},"evaluation",[2384,2944],[],[2217,32519],{"_2214":32520,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":32521,"_2222":32522},"evaluated",[2686],[],[4309,32524],{"_2214":32525,"_2216":4309,"_2217":2218,"_2219":4309,"_2220":32526,"_2222":32527},"ex",[],[32528,32557,32812,32858,32951,33009,33102],[2225,32529],{"_2214":32530,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":32531,"_2222":32532},"exa",[],[32533,32547],[2972,32534],{"_2214":32535,"_2216":32536,"_2217":2227,"_2219":2972,"_2220":32537,"_2222":32541},"example","mple",[2232,2234,2235,2244,2254,3357,2272,2277,2280,2290,2333,2334,2337,3361,7544,7545,3933,3934,2388,2398,2403,2404,2421,32538,32539,2435,2445,5097,2447,2455,3649,2460,2461,2462,2465,2466,2471,3213,2472,2476,4328,2488,2492,2493,2507,3981,2508,15932,4186,2516,11259,2520,2521,2522,2526,3369,6084,5513,3509,2552,14684,6415,2574,2575,2576,15027,2579,2581,32540,3529,3376,2606,2607,2608,3537,2625,2629,2644,2648,2669,2679,2688,2693,3382,2698,3556,2705,2706,2719,2737,2738,2741,2898,2927,2928,2932,2947,2949,2950,2951],617,618,1110,[32542],[2216,32543],{"_2214":32544,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32545,"_2222":32546},"examples",[2237,3479,6080,3248,2449,3187,2457,4327,2479,2487,6083,3525,2578,2579,2741,2850,2943],[],[2222,32548],{"_2214":32549,"_2216":13614,"_2217":2227,"_2219":2222,"_2220":32550,"_2222":32551},"exact",[2274,3770,2620,2905],[32552],[3193,32553],{"_2214":32554,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":32555,"_2222":32556},"exactly",[2472,2510,2762,3392,2900],[],[4034,32558],{"_2214":32559,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":32560,"_2222":32561},"exp",[],[32562,32614,32675,32732,32772,32782],[2217,32563],{"_2214":32564,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":32565,"_2222":32566},"expe",[],[32567,32582,32597],[2222,32568],{"_2214":32569,"_2216":13614,"_2217":2227,"_2219":2222,"_2220":32570,"_2222":32571},"expect",[3254,3160,2929],[32572,32577],[2217,32573],{"_2214":32574,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":32575,"_2222":32576},"expected",[2235,2245,3420,3425,2368,6021,2396,3479,4497,2485,2526,6084,5514,2545,2704,2888],[],[3002,32578],{"_2214":32579,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":32580,"_2222":32581},"expecting",[3236],[],[3207,32583],{"_2214":32584,"_2216":21673,"_2217":2218,"_2219":3207,"_2220":32585,"_2222":32586},"expens",[],[32587,32592],[3002,32588],{"_2214":32589,"_2216":4572,"_2217":2227,"_2219":3002,"_2220":32590,"_2222":32591},"expensive",[2249,2250,2256,3408,3928,2268,2269,3155],[],[2217,32593],{"_2214":32594,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":32595,"_2222":32596},"expense",[2328],[],[3220,32598],{"_2214":32599,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":32600,"_2222":32601},"exper",[],[32602,32608],[3002,32603],{"_2214":32604,"_2216":32605,"_2217":2227,"_2219":3002,"_2220":32606,"_2222":32607},"experimental","imental",[5882,3778,3386],[],[3099,32609],{"_2214":32610,"_2216":32611,"_2217":2227,"_2219":3099,"_2220":32612,"_2222":32613},"expertise","tise",[3605],[],[3017,32615],{"_2214":32616,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":32617,"_2222":32618},"expo",[],[32619,32644],[2216,32620],{"_2214":32621,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":32622,"_2222":32623},"expos",[],[32624,32639],[2217,32625],{"_2214":32626,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":32627,"_2222":32628},"expose",[3383,3633],[32629,32634],[2216,32630],{"_2214":32631,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32632,"_2222":32633},"exposes",[3051,2672,2856,2900],[],[2220,32635],{"_2214":32636,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":32637,"_2222":32638},"exposed",[2674],[],[3002,32640],{"_2214":32641,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":32642,"_2222":32643},"exposing",[2637],[],[3220,32645],{"_2214":32646,"_2216":4446,"_2217":2227,"_2219":3220,"_2220":32647,"_2222":32648},"export",[5390,2800],[32649,32654,32669],[2216,32650],{"_2214":32651,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32652,"_2222":32653},"exports",[2239],[],[2217,32655],{"_2214":32656,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":32657,"_2222":32658},"exporte",[],[32659,32664],[3220,32660],{"_2214":32661,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":32662,"_2222":32663},"exporter",[4359,2240,2241],[],[2220,32665],{"_2214":32666,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":32667,"_2222":32668},"exported",[3254],[],[3304,32670],{"_2214":32671,"_2216":32672,"_2217":2227,"_2219":3304,"_2220":32673,"_2222":32674},"exportjvminfo","jvminfo",[5390],[],[3193,32676],{"_2214":32677,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":32678,"_2222":32679},"expl",[],[32680,32691,32717],[3002,32681],{"_2214":32682,"_2216":32683,"_2217":2227,"_2219":3002,"_2220":32684,"_2222":32685},"explicit","icit",[2352,2354,2452,4828],[32686],[3193,32687],{"_2214":32688,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":32689,"_2222":32690},"explicitly",[3055,3646,3481,2451,3187,2691],[],[2225,32692],{"_2214":32693,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":32694,"_2222":32695},"expla",[],[32696,32702],[3207,32697],{"_2214":32698,"_2216":32699,"_2217":2227,"_2219":3207,"_2220":32700,"_2222":32701},"explanation","nation",[2252,4663],[],[3002,32703],{"_2214":32704,"_2216":7485,"_2217":2218,"_2219":3002,"_2220":32705,"_2222":32706},"explain",[],[32707,32712],[2216,32708],{"_2214":32709,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32710,"_2222":32711},"explains",[3411,3533,3546],[],[2217,32713],{"_2214":32714,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":32715,"_2222":32716},"explained",[4663,2446],[],[3017,32718],{"_2214":32719,"_2216":3020,"_2217":2218,"_2219":3017,"_2220":32720,"_2222":32721},"explor",[],[32722,32727],[3002,32723],{"_2214":32724,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":32725,"_2222":32726},"exploring",[2308],[],[2217,32728],{"_2214":32729,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":32730,"_2222":32731},"explore",[7559],[],[3002,32733],{"_2214":32734,"_2216":8810,"_2217":2218,"_2219":3002,"_2220":32735,"_2222":32736},"expir",[],[32737,32747,32758],[2225,32738],{"_2214":32739,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":32740,"_2222":32741},"expiration",[2604,9863,2689,2691,2696,2697,6100,3557],[32742],[2216,32743],{"_2214":32744,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32745,"_2222":32746},"expirations",[3408,2697],[],[3640,32748],{"_2214":32749,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":32750,"_2222":32751},"expiry",[2305,2712],[32752],[4794,32753],{"_2214":32754,"_2216":32755,"_2217":2227,"_2219":4794,"_2220":32756,"_2222":32757},"expiry_time_to_session_ids","_time_to_session_ids",[3408],[],[2217,32759],{"_2214":32760,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":32761,"_2222":32762},"expire",[2323,2818],[32763,32767],[2220,32764],{"_2214":26438,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":32765,"_2222":32766},[2604,2696,2697,3382,2717],[],[2216,32768],{"_2214":32769,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32770,"_2222":32771},"expires",[2697,3950,2698,2822],[],[2225,32773],{"_2214":32774,"_2216":3399,"_2217":2227,"_2219":2225,"_2220":32775,"_2222":32776},"expand",[3493,3179],[32777],[3002,32778],{"_2214":32779,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":32780,"_2222":32781},"expanding",[13239],[],[3220,32783],{"_2214":32784,"_2216":25116,"_2217":2218,"_2219":3220,"_2220":32785,"_2222":32786},"express",[],[32787,32807],[3002,32788],{"_2214":32789,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":32790,"_2222":32791},"expressi",[],[32792,32802],[3017,32793],{"_2214":32794,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":32795,"_2222":32796},"expression",[2607,2608,2618,2619,3224,2620,2686],[32797],[2216,32798],{"_2214":32799,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32800,"_2222":32801},"expressions",[2607],[],[3066,32803],{"_2214":32804,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":32805,"_2222":32806},"expressive",[2804],[],[2217,32808],{"_2214":32809,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":32810,"_2222":32811},"expressed",[2659],[],[3002,32813],{"_2214":32814,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":32815,"_2222":32816},"exi",[],[32817,32827],[3099,32818],{"_2214":32819,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":32820,"_2222":32821},"exit",[2236,2237,3652,15532,3567,2749,2750,2751,2769],[32822],[2216,32823],{"_2214":32824,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32825,"_2222":32826},"exits",[3652,3569,2770],[],[2216,32828],{"_2214":32829,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":32830,"_2222":32831},"exist",[2366,3364,2367,6255,2583,2587,3530,2615,3535,2717,2943,4851],[32832,32837,32853],[3002,32833],{"_2214":32834,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":32835,"_2222":32836},"existing",[13237,2360,2382,2463,3366,2470,2572,2751,3587,3394],[],[2217,32838],{"_2214":32839,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":32840,"_2222":32841},"existe",[],[32842,32848],[3207,32843],{"_2214":32844,"_2216":32845,"_2217":2227,"_2219":3207,"_2220":32846,"_2222":32847},"existence","nce",[24839,2368,2602,2603,2675,2722],[],[2220,32849],{"_2214":32850,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":32851,"_2222":32852},"existed",[2379],[],[2216,32854],{"_2214":32855,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32856,"_2222":32857},"exists",[3487,2578,2587,3530,3531,2602,4095,4329,2603,2604,3535,2638,3798,2718,2721,2724,2725,2726,2727,2732,2737,2744,4347,3566,2745,5671,10123,3568,2753,2756,5996,2759,5997,5998,7165,2771,3955,2877,5193],[],[3099,32859],{"_2214":32860,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":32861,"_2222":32862},"ext",[7828],[32863,32920],[2217,32864],{"_2214":32865,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":32866,"_2222":32867},"exte",[],[32868,32909],[3207,32869],{"_2214":32870,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":32871,"_2222":32872},"exten",[],[32873,32889,32894],[2220,32874],{"_2214":32875,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":32876,"_2222":32877},"extend",[2345,2578,3190],[32878],[2217,32879],{"_2214":32880,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":32881,"_2222":32882},"extended",[3402,3771,2395,2449],[32883],[3099,32884],{"_2214":32885,"_2216":32886,"_2217":2227,"_2219":3099,"_2220":32887,"_2222":32888},"extendedtypesenabled","typesenabled",[3771,2291,2412],[],[3099,32890],{"_2214":32891,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":32892,"_2222":32893},"extent",[2431],[],[2216,32895],{"_2214":32896,"_2216":26918,"_2217":2218,"_2219":2216,"_2220":32897,"_2222":32898},"extensi",[],[32899,32904],[3066,32900],{"_2214":32901,"_2216":4625,"_2217":2227,"_2219":3066,"_2220":32902,"_2222":32903},"extensive",[2491],[],[3871,32905],{"_2214":32906,"_2216":4262,"_2217":2227,"_2219":3871,"_2220":32907,"_2222":32908},"extensible",[2800,2806,2815],[],[3220,32910],{"_2214":32911,"_2216":32912,"_2217":2227,"_2219":3220,"_2220":32913,"_2222":32914},"external","rnal",[3461,2539,2559,2795,2844],[32915],[3193,32916],{"_2214":32917,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":32918,"_2222":32919},"externally",[3615],[],[3220,32921],{"_2214":32922,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":32923,"_2222":32924},"extr",[],[32925,32945],[2225,32926],{"_2214":32927,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":32928,"_2222":32929},"extra",[3477,2667],[32930,32940],[2222,32931],{"_2214":32932,"_2216":13614,"_2217":2227,"_2219":2222,"_2220":32933,"_2222":32934},"extract",[6049,2978,2928],[32935],[2217,32936],{"_2214":32937,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":32938,"_2222":32939},"extracted",[4496,3487],[],[2216,32941],{"_2214":32942,"_2216":27051,"_2217":2227,"_2219":2216,"_2220":32943,"_2222":32944},"extrasize",[2363],[],[2217,32946],{"_2214":32947,"_2216":32948,"_2217":2227,"_2219":2217,"_2220":32949,"_2222":32950},"extremely","emely",[3388],[],[2217,32952],{"_2214":32953,"_2216":32954,"_2217":2218,"_2219":2217,"_2220":32955,"_2222":32956},"execut","ecut",[],[32957,32972,32987,33004],[2217,32958],{"_2214":32959,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":32960,"_2222":32961},"execute",[2367,5790,3476,2563,2578,2615,12826,3537,2779,11248],[32962,32967],[2220,32963],{"_2214":32964,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":32965,"_2222":32966},"executed",[2248,2337,9555,2784,2939],[],[2216,32968],{"_2214":32969,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":32970,"_2222":32971},"executes",[3370],[],[3002,32973],{"_2214":32974,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":32975,"_2222":32976},"executi",[],[32977,32982],[3017,32978],{"_2214":32979,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":32980,"_2222":32981},"execution",[2441,3374],[],[3207,32983],{"_2214":32984,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":32985,"_2222":32986},"executing",[2791],[],[3017,32988],{"_2214":32989,"_2216":3020,"_2217":2227,"_2219":3017,"_2220":32990,"_2222":32992},"executor",[2595,13306,32991,3374,3947,2600,3529,2601,3530,6264,3375,2603],1118,[32993,32998],[3030,32994],{"_2214":32995,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":32996,"_2222":32997},"executor's",[2600,3531],[],[3280,32999],{"_2214":33000,"_2216":33001,"_2217":2227,"_2219":3280,"_2220":33002,"_2222":33003},"executor-like","-like",[3529],[],[2225,33005],{"_2214":33006,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":33007,"_2222":33008},"executable",[3373,3527,3528,12927,3374,2600,3530],[],[2222,33010],{"_2214":33011,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":33012,"_2222":33013},"exc",[],[33014,33045,33096],[3193,33015],{"_2214":33016,"_2216":33017,"_2217":2218,"_2219":3193,"_2220":33018,"_2222":33019},"exclu","lu",[],[33020,33035],[2220,33021],{"_2214":33022,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":33023,"_2222":33024},"exclud",[],[33025,33030],[3002,33026],{"_2214":33027,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":33028,"_2222":33029},"excluding",[8860,8206],[],[2217,33031],{"_2214":33032,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":33033,"_2222":33034},"excluded",[5477],[],[2216,33036],{"_2214":33037,"_2216":17075,"_2217":2227,"_2219":2216,"_2220":33038,"_2222":33039},"exclusive",[6352,2819],[33040],[3193,33041],{"_2214":33042,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":33043,"_2222":33044},"exclusively",[2819],[],[2217,33046],{"_2214":33047,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":33048,"_2222":33049},"exce",[],[33050,33070,33084,33090],[2217,33051],{"_2214":33052,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":33053,"_2222":33054},"exceed",[2283,2305,3775,2362,2426,3786,2957],[33055,33060,33065],[2216,33056],{"_2214":33057,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33058,"_2222":33059},"exceeds",[2308,7038,6077,2526],[],[2217,33061],{"_2214":33062,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":33063,"_2222":33064},"exceeded",[2318],[],[3002,33066],{"_2214":33067,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":33068,"_2222":33069},"exceeding",[2553],[],[4034,33071],{"_2214":33072,"_2216":5075,"_2217":2227,"_2219":4034,"_2220":33073,"_2222":33074},"except",[2400,3187,3549,2751],[33075],[3002,33076],{"_2214":13798,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":33077,"_2222":33078},[3425,3426,3429,2465,2482,2547,2589,2603,3377,2700,2703,3299,6103,29686,4473,7561],[33079],[2216,33080],{"_2214":33081,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33082,"_2222":33083},"exceptions",[3526,2742],[],[3220,33085],{"_2214":33086,"_2216":33087,"_2217":2227,"_2219":3220,"_2220":33088,"_2222":33089},"excerpt","rpt",[6087,2587],[],[3193,33091],{"_2214":33092,"_2216":33093,"_2217":2227,"_2219":3193,"_2220":33094,"_2222":33095},"excellent","llent",[3553],[],[3322,33097],{"_2214":33098,"_2216":33099,"_2217":2227,"_2219":3322,"_2220":33100,"_2222":33101},"exchanging","hanging",[2898],[],[3322,33103],{"_2214":33104,"_2216":33105,"_2217":2218,"_2219":3322,"_2220":33106,"_2222":33107},"exhaust","haust",[],[33108,33113],[3002,33109],{"_2214":33110,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":33111,"_2222":33112},"exhaustion",[2285],[],[2216,33114],{"_2214":33115,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33116,"_2222":33117},"exhausts",[2752],[],[3099,33119],{"_2214":33120,"_2216":23011,"_2217":2227,"_2219":3099,"_2220":33121,"_2222":33122},"etc",[2233,4457,2329,2404,2655,2663,2667,2670,2674,2693,2696,2698,5631,2788,3587,3594,2852,2864,3956],[],[2225,33124],{"_2214":13278,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":33125,"_2222":33126},[],[33127,33132,33143,33161],[2222,33128],{"_2214":33129,"_2216":10197,"_2217":2227,"_2219":2222,"_2220":33130,"_2222":33131},"each",[2236,2242,2247,2253,3927,2260,3929,2272,3414,2273,2280,2281,2282,2284,5182,3420,3421,3423,2329,2330,2341,2356,2357,4663,2365,2371,3456,2378,5798,2394,3027,2402,2436,2445,2448,2461,2483,2485,2486,3936,3937,4186,2520,2521,2522,3650,3508,2538,7549,2564,2566,2580,2581,2590,2659,2662,2666,2672,6091,2677,3271,2692,2693,2704,3556,2706,2749,2751,2762,2775,3237,2778,2817,2818,2820,3587,3589,3590,2857,2860,2862,2864,2865,2866,6103,3392,2901,2924,2925,2929,3394,2950,2951,2952],[],[3825,33133],{"_2214":33134,"_2216":31039,"_2217":2227,"_2219":3825,"_2220":33135,"_2222":33136},"eager",[5182],[33137],[2225,33138],{"_2214":33139,"_2216":33140,"_2217":2227,"_2219":2225,"_2220":33141,"_2222":33142},"eageraclfiltertest","aclfiltertest",[8675],[],[3220,33144],{"_2214":33145,"_2216":33146,"_2217":2218,"_2219":3220,"_2220":33147,"_2222":33148},"earl","rl",[],[33149,33155],[3640,33150],{"_2214":33151,"_2216":33152,"_2217":2227,"_2219":3640,"_2220":33153,"_2222":33154},"earlydropsecureconnectionhandshakes","ydropsecureconnectionhandshakes",[2320],[],[3002,33156],{"_2214":33157,"_2216":33158,"_2217":2227,"_2219":3002,"_2220":33159,"_2222":33160},"earlier","ier",[3441,2363,2372,2446,2454,2626,2647,2775],[],[2216,33162],{"_2214":33163,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":33164,"_2222":33165},"eas",[],[33166,33191,33196],[3002,33167],{"_2214":33168,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":33169,"_2222":33170},"easi",[],[33171,33186],[2217,33172],{"_2214":33173,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":33174,"_2222":33175},"easie",[],[33176,33181],[3220,33177],{"_2214":33178,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":33179,"_2222":33180},"easier",[3779],[],[2216,33182],{"_2214":33183,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":33184,"_2222":33185},"easiest",[3500,2637],[],[3193,33187],{"_2214":33188,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":33189,"_2222":33190},"easily",[3588],[],[3640,33192],{"_2214":33193,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":33194,"_2222":33195},"easy",[2472,3204,5631,2843,2856,2894,6801],[],[2217,33197],{"_2214":19923,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":33198,"_2222":33199},[3564],[],[3220,33201],{"_2214":3114,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":33202,"_2222":33203},[],[33204,33231],[3220,33205],{"_2214":33206,"_2216":4293,"_2217":2218,"_2219":3220,"_2220":33207,"_2222":33208},"erro",[],[33209,33225],[3220,33210],{"_2214":33211,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":33212,"_2222":33213},"error",[2236,2321,2330,2336,2347,2349,7038,3364,2401,14465,2436,2447,2480,27963,2484,2564,2603,3535,2646,3377,3379,2687,2691,2703,5396,2742,2763,3038,4245,12007,3627,3395,6266,4605,8024,7606,6114],[33214,33219],[2216,33215],{"_2214":33216,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33217,"_2222":33218},"errors",[3434,4469,2603,29685,3377,2655,3551,3563,3602,2885,6200,6819,8464],[],[3280,33220],{"_2214":33221,"_2216":33222,"_2217":2227,"_2219":3280,"_2220":33223,"_2222":33224},"error-prone","-prone",[2429],[],[3207,33226],{"_2214":33227,"_2216":33228,"_2217":2227,"_2219":3207,"_2220":33229,"_2222":33230},"erroneously","neously",[2916],[],[2225,33232],{"_2214":13535,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":33233,"_2222":33234},[4131],[],[3002,33236],{"_2214":33237,"_2216":33238,"_2217":2227,"_2219":3002,"_2220":33239,"_2222":33240},"either","ither",[5064,3056,3930,2399,2435,2486,3935,2503,2524,2545,2547,2578,2629,3796,2657,2696,2700,2774,2775,5594],[],[3193,33242],{"_2214":8348,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":33243,"_2222":33244},[],[33245,33251,33312,33317],[3002,33246],{"_2214":33247,"_2216":33248,"_2217":2227,"_2219":3002,"_2220":33249,"_2222":33250},"eliminate","iminate",[2243,2678],[],[2217,33252],{"_2214":33253,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":33254,"_2222":33255},"ele",[],[33256,33297],[2222,33257],{"_2214":33258,"_2216":13614,"_2217":2227,"_2219":2222,"_2220":33259,"_2222":33260},"elect",[2326,2368,2819,2838,2889],[33261,33292],[3002,33262],{"_2214":33263,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":33264,"_2222":33265},"electi",[],[33266,33287],[3017,33267],{"_2214":8420,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":33268,"_2222":33269},[2270,3412,2293,2294,2322,2325,3431,4488,2329,2334,3776,3777,3434,3435,2338,3232,2394,2497,3497,2515,3507,4896,5514,2546,3204,3562,29191,2778,2779,2780,3571,3572,2781,6102,2783,2796,15318,6633,2814,2819,2823,2824,2836,2838,3591,3592,7021,2850,3598,7555,3390,2852,2853,2889,2905,2907,2908,2909,2916,2927,2950,2951],[33270,33275,33281],[2216,33271],{"_2214":33272,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33273,"_2222":33274},"elections",[2293,2294,3432],[],[2225,33276],{"_2214":33277,"_2216":33278,"_2217":2227,"_2219":2225,"_2220":33279,"_2222":33280},"electionalg","alg",[2325,3431,3776,3777],[],[4034,33282],{"_2214":33283,"_2216":33284,"_2217":2227,"_2219":4034,"_2220":33285,"_2222":33286},"electionportbindretry","portbindretry",[3434],[],[3207,33288],{"_2214":33289,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":33290,"_2222":33291},"electing",[2469,2905],[],[2217,33293],{"_2214":33294,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":33295,"_2222":33296},"elected",[2336,2836,3592,2909],[],[2972,33298],{"_2214":33299,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":33300,"_2222":33301},"element",[2586,2588,2589,2590,2754],[33302,33307],[2216,33303],{"_2214":33304,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33305,"_2222":33306},"elements",[2292,2586,2588,2592,2593,2863],[],[3871,33308],{"_2214":33309,"_2216":24952,"_2217":2227,"_2219":3871,"_2220":33310,"_2222":33311},"elementbits",[2292],[],[2216,33313],{"_2214":33314,"_2216":8461,"_2217":2227,"_2219":2216,"_2220":33315,"_2222":33316},"else",[2337,2395,2740,2745,3568,10124],[],[2225,33318],{"_2214":33319,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":33320,"_2222":33321},"ela",[],[33322,33328],[4034,33323],{"_2214":33324,"_2216":33325,"_2217":2227,"_2219":4034,"_2220":33326,"_2222":33327},"elapses","pses",[3950,10573],[],[2216,33329],{"_2214":33330,"_2216":5942,"_2217":2227,"_2219":2216,"_2220":33331,"_2222":33332},"elastic",[3588],[],[2216,33334],{"_2214":3245,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":33335,"_2222":33336},[],[33337,33388,33394,33405,33411],[3099,33338],{"_2214":8852,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":33339,"_2222":33340},[],[33341,33362],[3002,33342],{"_2214":33343,"_2216":33344,"_2217":2218,"_2219":3002,"_2220":33345,"_2222":33346},"estimat","imat",[],[33347,33357],[2217,33348],{"_2214":33349,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":33350,"_2222":33351},"estimate",[2679],[33352],[2216,33353],{"_2214":33354,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33355,"_2222":33356},"estimates",[2244,2679],[],[3002,33358],{"_2214":33359,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":33360,"_2222":33361},"estimating",[2244],[],[2225,33363],{"_2214":33364,"_2216":33365,"_2217":2227,"_2219":2225,"_2220":33366,"_2222":33367},"establish","ablish",[2347,2348,2349,2350,2357,2365,3268,2648,2650,8367],[33368,33383],[2217,33369],{"_2214":33370,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":33371,"_2222":33372},"establishe",[],[33373,33378],[2220,33374],{"_2214":33375,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":33376,"_2222":33377},"established",[2454,2692,3555,2700],[],[2216,33379],{"_2214":33380,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33381,"_2222":33382},"establishes",[2563,2691,2694,2697,2902,2910],[],[2972,33384],{"_2214":33385,"_2216":4071,"_2217":2227,"_2219":2972,"_2220":33386,"_2222":33387},"establishment",[2698],[],[4034,33389],{"_2214":33390,"_2216":33391,"_2217":2227,"_2219":4034,"_2220":33392,"_2222":33393},"especially","pecially",[2280,3434,5512,2478,4511,3602,3603,2883],[],[2216,33395],{"_2214":33396,"_2216":33397,"_2217":2227,"_2219":2216,"_2220":33398,"_2222":33399},"essential","sential",[3390],[33400],[3193,33401],{"_2214":33402,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":33403,"_2222":33404},"essentially",[4496,2453],[],[2222,33406],{"_2214":33407,"_2216":33408,"_2217":2227,"_2219":2222,"_2220":33409,"_2222":33410},"escape","cape",[2452],[],[3871,33412],{"_2214":33413,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":33414,"_2222":33415},"esb",[21646,2801,2802],[],[4034,33417],{"_2214":24559,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":33418,"_2222":33419},[],[33420,33442],[3322,33421],{"_2214":33422,"_2216":33423,"_2217":2227,"_2219":3322,"_2220":33424,"_2222":33426},"ephemeral","hemeral",[3403,2339,4464,3494,3495,2507,3265,3524,2624,3546,33425,3798,2668,3380,2697,15622,2711,2712,2714,2742,2743,15526,2749,2750,2752,2758,2767,2768,2776,3237,2778,2779,3571,2810,2822,2829,2830,3600,3955,6801],1295,[33427,33431,33437],[2216,33428],{"_2214":7340,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33429,"_2222":33430},[3408,3798],[],[5908,33432],{"_2214":33433,"_2216":33434,"_2217":2227,"_2219":5908,"_2220":33435,"_2222":33436},"ephemeralznodedeleteonsessionclose","znodedeleteonsessionclose",[4944],[],[3017,33438],{"_2214":33439,"_2216":6799,"_2217":2227,"_2219":3017,"_2220":33440,"_2222":33441},"ephemeralowner",[3380],[],[3017,33443],{"_2214":33444,"_2216":33445,"_2217":2227,"_2219":3017,"_2220":33446,"_2222":33447},"epoch","och",[2326,2533,8210,8211,2901,2910,2921],[33448],[2216,33449],{"_2214":33450,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33451,"_2222":33452},"epochs",[2923],[],[2972,33454],{"_2214":17867,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":33455,"_2222":33456},[],[33457,33483,33488,33494,33514,33519],[3871,33458],{"_2214":33459,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":33460,"_2222":33461},"emb",[],[33462,33477],[2217,33463],{"_2214":33464,"_2216":33465,"_2217":2218,"_2219":2217,"_2220":33466,"_2222":33467},"embedd","edd",[],[33468,33472],[2217,33469],{"_2214":12667,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":33470,"_2222":33471},[2255,2987,2988,2960],[],[3002,33473],{"_2214":33474,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":33475,"_2222":33476},"embedding",[3038],[],[3017,33478],{"_2214":33479,"_2216":33480,"_2217":2227,"_2219":3017,"_2220":33481,"_2222":33482},"embodies","odies",[2904],[],[3002,33484],{"_2214":33485,"_2216":16221,"_2217":2227,"_2219":3002,"_2220":33486,"_2222":33487},"emits",[3409,2260],[],[3691,33489],{"_2214":33490,"_2216":33491,"_2217":2227,"_2219":3691,"_2220":33492,"_2222":33493},"emulate353ttlnodes","ulate353ttlnodes",[2291],[],[4034,33495],{"_2214":33496,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":33497,"_2222":33498},"emp",[],[33499,33504],[3099,33500],{"_2214":33501,"_2216":14768,"_2217":2227,"_2219":3099,"_2220":33502,"_2222":33503},"empty",[2299,2317,2366,2368,2396,2435,3949,2668,3394,7563],[],[3193,33505],{"_2214":33506,"_2216":24244,"_2217":2227,"_2219":3193,"_2220":33507,"_2222":33508},"employ",[2740,2742],[33509],[2216,33510],{"_2214":33511,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33512,"_2222":33513},"employs",[2605],[],[2225,33515],{"_2214":33516,"_2216":23855,"_2217":2227,"_2219":2225,"_2220":33517,"_2222":33518},"email",[3501,2786,2787,2849],[],[2217,33520],{"_2214":33521,"_2216":23743,"_2217":2227,"_2219":2217,"_2220":33522,"_2222":33523},"emerge",[2917],[],[5252,33525],{"_2214":33526,"_2216":8804,"_2217":2218,"_2219":5252,"_2220":33527,"_2222":33528},"equ",[],[33529,33544],[2225,33530],{"_2214":33531,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":33532,"_2222":33533},"equal",[2371,2485,3650],[33534,33539],[3193,33535],{"_2214":33536,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":33537,"_2222":33538},"equally",[2280],[],[2216,33540],{"_2214":33541,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33542,"_2222":33543},"equals",[2454,2526],[],[3002,33545],{"_2214":33546,"_2216":33547,"_2217":2227,"_2219":3002,"_2220":33548,"_2222":33549},"equivalent","ivalent",[4496,3650,2943],[33550],[3193,33551],{"_2214":33552,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":33553,"_2222":33554},"equivalently",[3651],[],[3085,33556],{"_2214":33557,"_2216":23368,"_2217":2218,"_2219":3085,"_2220":33558,"_2222":33559},"eff",[],[33560,33585],[2217,33561],{"_2214":33562,"_2216":9197,"_2217":2227,"_2219":2217,"_2220":33563,"_2222":33564},"effect",[3775,8297,8298,2458,2467,2483,3783,5991,2576,2678,2696,2718,2740,5335,2762,3952,3953,2773,2779,2924,2925],[33565,33570],[2216,33566],{"_2214":33567,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33568,"_2222":33569},"effects",[2293,2294],[],[3002,33571],{"_2214":33572,"_2216":4572,"_2217":2227,"_2219":3002,"_2220":33573,"_2222":33574},"effective",[2366],[33575,33580],[3193,33576],{"_2214":33577,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":33578,"_2222":33579},"effectively",[2319,2806,3588],[],[3207,33581],{"_2214":33582,"_2216":14588,"_2217":2227,"_2219":3207,"_2220":33583,"_2222":33584},"effectiveness",[2552],[],[3002,33586],{"_2214":33587,"_2216":33588,"_2217":2218,"_2219":3002,"_2220":33589,"_2222":33590},"efficien","icien",[],[33591,33601],[3099,33592],{"_2214":33593,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":33594,"_2222":33595},"efficient",[2316,2749,2894],[33596],[3193,33597],{"_2214":33598,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":33599,"_2222":33600},"efficiently",[2806,2815,2904],[],[2222,33602],{"_2214":33603,"_2216":5157,"_2217":2227,"_2219":2222,"_2220":33604,"_2222":33605},"efficiency",[2751],[],[2220,33607],{"_2214":3138,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":33608,"_2222":33609},[],[33610,33615],[3691,33611],{"_2214":33612,"_2216":3691,"_2217":2227,"_2219":3691,"_2220":33613,"_2222":33614},"edu",[16235],[],[3002,33616],{"_2214":33617,"_2216":33618,"_2217":2218,"_2219":3002,"_2220":33619,"_2222":33620},"editi","iti",[],[33621,33626],[3207,33622],{"_2214":33623,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":33624,"_2222":33625},"editing",[3179],[],[3017,33627],{"_2214":33628,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":33629,"_2222":33630},"edition",[3591],[],[3017,33632],{"_2214":33633,"_2216":6069,"_2217":2227,"_2219":3017,"_2220":33634,"_2222":33635},"eof",[3424,3426],[33636],[2217,33637],{"_2214":33638,"_2216":13798,"_2217":2227,"_2219":2217,"_2220":33639,"_2222":33640},"eofexception",[3429],[],[2222,33642],{"_2214":33643,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":33644,"_2222":33645},"ec",[],[33646,33651,33657,33662,33668],[3322,33647],{"_2214":33648,"_2216":29480,"_2217":2227,"_2219":3322,"_2220":33649,"_2222":33650},"echo",[2357,2365],[],[3193,33652],{"_2214":33653,"_2216":33654,"_2217":2227,"_2219":3193,"_2220":33655,"_2222":33656},"eclipse","lipse",[8238,7517,3385,2790],[],[3085,33658],{"_2214":33659,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":33660,"_2222":33661},"ecf",[3385],[],[3017,33663],{"_2214":33664,"_2216":33665,"_2217":2227,"_2219":3017,"_2220":33666,"_2222":33667},"ecosystem","osystem",[2806,2836],[],[5968,33669],{"_2214":33670,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":33671,"_2222":33672},"ec2",[5643],[],[3030,33674],{"_2214":33675,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":33676,"_2222":33677},"e's",[2461],[],[3825,33679],{"_2214":33680,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":33681,"_2222":33682},"eg",[3795],[],[3871,33684],{"_2214":33685,"_2216":33686,"_2217":2227,"_2219":3871,"_2220":33687,"_2222":33688},"ebay","bay",[3388],[],[3280,33690],{"_2214":33691,"_2216":33692,"_2217":2227,"_2219":3280,"_2220":33693,"_2222":33694},"e-mail","-mail",[2849],[],[2214,33696],{"_2214":33697,"_2216":33698,"_2217":2227,"_2219":2214,"_2220":33699,"_2222":33700},"ew53t6h9orw","w53t6h9orw",[14666],[],[3207,33702],{"_2214":3207,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":33703,"_2222":33704},[2283,2292,7827,2402,2557,2748,15526,3567,3568,2776,2900],[33705,33871,34177,34255,34259,34343,34369,34375,34379,34385,34391,34397],[2217,33706],{"_2214":7187,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":33707,"_2222":33708},[],[33709,33741,33761,33777,33817,33849,33854,33859,33864],[2214,33710],{"_2214":33711,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":33712,"_2222":33713},"new",[2231,3767,2240,6072,7537,7538,3055,5391,4457,4458,7539,5984,2249,3405,2250,2251,3254,6260,3980,2254,2255,4459,4460,2261,2265,16539,16540,2286,4486,4487,2287,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,3772,2308,4510,2309,2310,2311,2312,6051,3259,6216,2315,3423,3424,3425,5476,3773,2317,3774,4360,2318,2319,2321,2322,2323,2324,2978,3429,5478,3430,2326,2331,2335,2336,2337,3432,3433,2339,2340,2341,4645,4646,3231,2346,2347,2349,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3445,3263,3446,3447,4496,2356,2357,6300,3778,2360,2363,2365,2366,2367,2368,3455,5511,5750,6052,3456,3457,2372,3779,3060,3061,3062,3063,2380,2396,2431,2435,2443,2448,2454,3488,3489,2459,2461,2465,2469,2470,2471,2472,2474,2476,2477,3491,2483,2484,2486,16541,3935,20889,3497,2510,2514,2515,2530,2533,4890,3510,2564,7833,2572,2586,2588,3376,2604,2621,2623,2629,4518,5994,2632,7835,2633,7836,3268,2635,2636,2642,2650,2687,2688,2694,2696,2698,2699,2703,2704,3556,2705,2706,2707,2711,2719,2722,2723,2729,2734,2736,2752,2763,2779,6102,2820,2836,2846,2868,2882,2889,2894,2901,2910,2913,2915,2917,2921,2941,2948,2950,3617,8299,8300,8301],[33714,33719,33724,33735],[2217,33715],{"_2214":33716,"_2216":3114,"_2217":2227,"_2219":2217,"_2220":33717,"_2222":33718},"newer",[2231],[],[3193,33720],{"_2214":33721,"_2216":8414,"_2217":2227,"_2219":3193,"_2220":33722,"_2222":33723},"newleader",[2454],[],[2222,33725],{"_2214":33726,"_2216":13739,"_2217":2227,"_2219":2222,"_2220":33727,"_2222":33728},"newconfig",[2475],[33729],[3207,33730],{"_2214":33731,"_2216":33732,"_2217":2227,"_2219":3207,"_2220":33733,"_2222":33734},"newconfignoquorum","noquorum",[3491],[],[4794,33736],{"_2214":33737,"_2216":33738,"_2217":2227,"_2219":4794,"_2220":33739,"_2222":33740},"new_leader","_leader",[2898,2904,2910,2911,2912,2913,2914,2915,2916],[],[2217,33742],{"_2214":33743,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":33744,"_2222":33745},"need",[2244,3055,2272,4461,2291,3257,3258,2292,2979,2331,3361,4848,23798,2369,3461,2394,2447,3187,3366,2464,3179,2515,2590,5994,3542,2635,2705,2707,2717,2750,2752,2754,2824,2827,2841,2848,2894,2923,2928,2936],[33746,33751,33756],[2216,33747],{"_2214":33748,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33749,"_2222":33750},"needs",[2244,2316,2978,2382,3502,2559,2560,2576,2668,3271,2707,2712,4511,2894,2907],[],[2217,33752],{"_2214":33753,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":33754,"_2222":33755},"needed",[3104,2327,2372,2983,2430,3160,3204,2667,2679,2722,2758,2894],[],[2222,33757],{"_2214":33758,"_2216":13452,"_2217":2227,"_2219":2222,"_2220":33759,"_2222":33760},"needclientauth",[2983],[],[2222,33762],{"_2214":33763,"_2216":33764,"_2217":2218,"_2219":2222,"_2220":33765,"_2222":33766},"necessar","cessar",[],[33767,33772],[3002,33768],{"_2214":33769,"_2216":18794,"_2217":2227,"_2219":3002,"_2220":33770,"_2222":33771},"necessarily",[2248,2261,2590,2708,2929],[],[3640,33773],{"_2214":33774,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":33775,"_2222":33776},"necessary",[6049,3413,2345,2367,2382,3461,2447,2458,2465,2681,2776,2823,2950,2951],[],[3099,33778],{"_2214":22106,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":33779,"_2222":33780},[2345,3444,2635],[33781,33786,33802],[2222,33782],{"_2214":33783,"_2216":4528,"_2217":2227,"_2219":2222,"_2220":33784,"_2222":33785},"netcat",[2254],[],[3099,33787],{"_2214":33788,"_2216":14768,"_2217":2227,"_2219":3099,"_2220":33789,"_2222":33790},"netty",[8236,3411,3198,2271,5985,3930,3090,3775,2320,5994,8021,3238,8023,7564,3629,11674,7995,10822,6115,7996],[33791,33796],[2216,33792],{"_2214":33793,"_2216":25999,"_2217":2227,"_2219":2216,"_2220":33794,"_2222":33795},"nettyservercnxnfactory",[2271,3153,6299],[],[3280,33797],{"_2214":33798,"_2216":33799,"_2217":2227,"_2219":3280,"_2220":33800,"_2222":33801},"netty-tcnative","-tcnative",[3263,3165],[],[2214,33803],{"_2214":33804,"_2216":31880,"_2217":2227,"_2219":2214,"_2220":33805,"_2222":33806},"network",[3198,2305,2324,2330,3432,3433,2341,2356,2357,2365,3140,3780,2394,2401,3476,3478,2436,3497,2511,2515,2635,2658,2667,2676,10573,2703,2720,2953,5481],[33807,33812],[3280,33808],{"_2214":33809,"_2216":8497,"_2217":2227,"_2219":3280,"_2220":33810,"_2222":33811},"network-level",[2436],[],[3002,33813],{"_2214":33814,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":33815,"_2222":33816},"networking",[4131],[],[3825,33818],{"_2214":33819,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":33820,"_2222":33821},"neg",[],[33822,33843],[3017,33823],{"_2214":33824,"_2216":33825,"_2217":2218,"_2219":3017,"_2220":33826,"_2222":33827},"negotiat","otiat",[],[33828,33838],[2217,33829],{"_2214":33830,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":33831,"_2222":33832},"negotiate",[4486,4487],[33833],[2220,33834],{"_2214":33835,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":33836,"_2222":33837},"negotiated",[2695],[],[3002,33839],{"_2214":33840,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":33841,"_2222":33842},"negotiation",[3439,3440,3441,3442,3443],[],[2225,33844],{"_2214":33845,"_2216":33846,"_2217":2227,"_2219":2225,"_2220":33847,"_2222":33848},"negative","ative",[2288,2289,2371,2458],[],[4309,33850],{"_2214":33851,"_2216":13671,"_2217":2227,"_2219":4309,"_2220":33852,"_2222":33853},"next",[3423,2520,18619,2588,2669,7789,2692,5996,5997,5998,2779,2789,2819,2910,2941,3957],[],[3066,33855],{"_2214":33856,"_2216":6500,"_2217":2227,"_2219":3066,"_2220":33857,"_2222":33858},"never",[3433,2372,2382,3487,2461,2463,2534,2653,2656,2720,3299,2871,2882,2921],[],[3002,33860],{"_2214":33861,"_2216":33238,"_2217":2227,"_2219":3002,"_2220":33862,"_2222":33863},"neither",[2471],[],[3017,33865],{"_2214":33866,"_2216":33867,"_2217":2227,"_2219":3017,"_2220":33868,"_2222":33870},"neo4j","o4j",[33869,2795,2796],1573,[],[3017,33872],{"_2214":33873,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":33874,"_2222":33875},"no",[4459,4460,2261,2265,13237,2278,2280,2285,4486,4487,3418,2290,3257,3212,2302,2303,2304,2305,3772,15117,2321,2978,2325,2327,2329,2332,2333,2334,2335,2336,2341,3446,8297,3451,5874,2361,8298,2368,3646,2430,3482,3483,2440,2450,2462,2467,3158,3491,3981,6325,3835,2615,2618,2628,3796,3204,2659,2671,2697,2701,2709,2719,2721,2730,15532,2751,2752,2755,6265,2769,2770,2779,2784,2805,2823,5594,2896,2917,2922,3038,6458,3621,8052],[33876,33968,34011,34129,34135,34140,34166,34172],[3099,33877],{"_2214":15800,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":33878,"_2222":33879},[2232,2234,2238,2243,2244,2248,6260,2255,2261,2264,3153,3154,2279,3358,2283,2291,3258,2306,2307,3420,2316,3426,3773,2317,2320,2321,2323,3430,2328,2331,2334,2337,2340,2341,2345,2346,2347,2348,2349,2350,3155,4846,2356,2358,2360,3452,5874,2362,2363,3232,3140,2366,3364,2367,2371,2379,2381,3461,2384,25059,25060,25061,25062,25063,25064,25065,25066,3646,3365,2388,2396,2405,2406,2426,2430,2437,2441,2443,2445,5097,2446,2447,3647,2458,3489,2459,2460,2462,2463,2464,2465,2467,2470,2471,2472,13761,2483,2484,2488,2495,2504,2506,2507,2510,2511,3160,2517,2522,3650,2530,2531,4896,3508,3651,2538,2543,2545,2564,2565,4469,5991,2583,2584,2590,2601,6264,3376,2605,2606,2613,6089,2629,3654,3236,2635,2638,23799,23800,2643,3982,2655,2658,3797,2667,3798,2668,2671,3380,2675,2676,2677,2681,2688,5820,2696,2697,2699,2703,2704,2705,2708,2709,2720,2722,2723,2729,2736,2738,3564,2742,2750,2752,2779,2784,2786,2868,2884,3805,2898,2904,2909,2915,2916,2922,2923,2925,2946,2952,4217,8428,12049,3626,4851,7706,3810,2963],[33880,33897,33952,33957,33962],[2217,33881],{"_2214":33882,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":33883,"_2222":33884},"note",[6073,2249,2250,3057,2256,3408,4324,2264,3928,2268,2269,3412,2272,3154,3930,2283,2291,5477,2320,2333,3433,2341,2356,3140,2367,2445,4326,2456,3489,2460,2464,2471,2472,4467,2496,2498,2499,3936,4596,3937,2543,3519,2583,3526,2585,2589,3376,2603,2606,2629,5994,2669,3037,2708,2729,5396,2740,2749,2758,5999,4511,2775,2777,2779,2784,6000,2926,2929,3038,2950],[33885,33890],[2220,33886],{"_2214":33887,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":33888,"_2222":33889},"noted",[3770,2763],[],[2216,33891],{"_2214":33892,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33893,"_2222":33896},"notes",[33894,33895,9891,3617,9892,9893,9894,9895,9896,9897],1536,1559,[],[3002,33898],{"_2214":33899,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":33900,"_2222":33901},"noti",[],[33902,33937,33947],[3085,33903],{"_2214":33904,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":33905,"_2222":33906},"notif",[],[33907,33927],[3002,33908],{"_2214":33909,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":33910,"_2222":33911},"notifi",[],[33912,33922],[2222,33913],{"_2214":33914,"_2216":17427,"_2217":2227,"_2219":2222,"_2220":33915,"_2222":33916},"notification",[2293,2294,2326,5991,2584,2585,2649,2665,2675,2697,2737,2752,2754,2759,2771,2772,3570,2779,2782,2827,2830,2867],[33917],[2216,33918],{"_2214":33919,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33920,"_2222":33921},"notifications",[3776,3777,3501,2579,2584,3383],[],[2217,33923],{"_2214":33924,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":33925,"_2222":33926},"notified",[2309,2658,2696,2697,6100,2698,2735,2773,2775,2777],[],[3640,33928],{"_2214":33929,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":33930,"_2222":33931},"notify",[2579,2697,2777,2827],[33932],[3002,33933],{"_2214":33934,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":33935,"_2222":33936},"notifying",[2818],[],[2222,33938],{"_2214":33939,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":33940,"_2222":33941},"notice",[2331,2454,6086,8008,2627,2761,13116,2942],[33942],[2225,33943],{"_2214":33944,"_2216":3145,"_2217":2227,"_2219":2225,"_2220":33945,"_2222":33946},"noticeable",[2467],[],[3017,33948],{"_2214":33949,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":33950,"_2222":33951},"notion",[2605,2615,3798,2670,3955,3611,2927],[],[2225,33953],{"_2214":33954,"_2216":4888,"_2217":2227,"_2219":2225,"_2220":33955,"_2222":33956},"notation",[2344],[],[3322,33958],{"_2214":33959,"_2216":26774,"_2217":2227,"_2219":3322,"_2220":33960,"_2222":33961},"nothing",[2395,2615,3950],[],[3017,33963],{"_2214":33964,"_2216":33965,"_2217":2227,"_2219":3017,"_2220":33966,"_2222":33967},"notoriously","oriously",[3602],[],[2220,33969],{"_2214":2212,"_2216":10789,"_2217":2227,"_2219":2220,"_2220":33970,"_2222":33971},[3154,3414,2273,6216,2315,5477,2335,2410,2411,2412,2413,2414,2423,2425,2427,2428,3187,2498,2499,2510,3159,3509,2550,2551,2554,2555,2567,3372,2570,2579,2580,5993,2583,2584,2585,2586,2587,2588,2589,2603,2605,2608,2609,2610,2611,2612,2613,2615,3536,12800,3537,2621,2622,2623,2624,2629,2659,2661,2662,2663,2666,2669,2673,3380,2712,2721,2736,2742,2743,2744,4347,2745,5671,2746,2747,3567,5995,3568,2749,2751,2752,2754,2755,5335,2760,2762,2763,2767,2768,3952,3953,2769,2770,5997,5998,2773,5999,3570,4511,2775,3384,2776,3237,2779,11248,6000,2788,2791,3575,2819,2821,2822,2823,2836,3587,13239,2863,2864,2866,2875,2876,2877,2878,2879,2880,2941,8009,4217,8361],[33972,33977,33994],[2216,33973],{"_2214":33974,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":33975,"_2222":33976},"nodes",[3403,3414,3771,2291,5477,2339,3456,3457,5988,2395,2418,4464,2420,4465,3494,2509,2538,3509,4468,3265,3266,2568,3519,3524,2580,2583,2605,2614,3535,3537,3546,33425,26605,13599,23133,2659,2663,3798,2668,3037,2697,15622,2711,2712,2714,2742,2743,2744,2749,2750,2751,2752,3384,2776,2777,2788,2822,2824,2833,2836,3600,2864,3955],[],[2222,33978],{"_2214":33979,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":33980,"_2222":33981},"nodec",[],[33982,33988],[3220,33983],{"_2214":33984,"_2216":33985,"_2217":2227,"_2219":3220,"_2220":33986,"_2222":33987},"nodecreated","reated",[2729],[],[3322,33989],{"_2214":33990,"_2216":33991,"_2217":2227,"_2219":3322,"_2220":33992,"_2222":33993},"nodechildrenchanged","hildrenchanged",[2729,7158],[],[2220,33995],{"_2214":33996,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":33997,"_2222":33998},"noded",[],[33999,34005],[2217,34000],{"_2214":34001,"_2216":34002,"_2217":2227,"_2219":2217,"_2220":34003,"_2222":34004},"nodedeleted","eleted",[2729],[],[2225,34006],{"_2214":34007,"_2216":34008,"_2217":2227,"_2219":2225,"_2220":34009,"_2222":34010},"nodedatachanged","atachanged",[2729],[],[3207,34012],{"_2214":34013,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":34014,"_2222":34015},"non",[],[34016,34118,34123],[3280,34017],{"_2214":34018,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":34019,"_2222":34020},"non-",[],[34021,34049,34054,34059,34064,34080,34086,34102,34107,34112],[2217,34022],{"_2214":34023,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":34024,"_2222":34025},"non-e",[],[34026,34032,34043],[3220,34027],{"_2214":34028,"_2216":34029,"_2217":2227,"_2219":3220,"_2220":34030,"_2222":34031},"non-error","rror",[2248],[],[4309,34033],{"_2214":34034,"_2216":34035,"_2217":2227,"_2219":4309,"_2220":34036,"_2222":34037},"non-exist","xist",[3425,3429],[34038],[2217,34039],{"_2214":34040,"_2216":5431,"_2217":2227,"_2219":2217,"_2220":34041,"_2222":34042},"non-existent",[2366],[],[2972,34044],{"_2214":34045,"_2216":34046,"_2217":2227,"_2219":2972,"_2220":34047,"_2222":34048},"non-empty","mpty",[2929],[],[3099,34050],{"_2214":34051,"_2216":22855,"_2217":2227,"_2219":3099,"_2220":34052,"_2222":34053},"non-tls",[3411,13237,2434],[],[4034,34055],{"_2214":34056,"_2216":19699,"_2217":2227,"_2219":4034,"_2220":34057,"_2222":34058},"non-positive",[2282],[],[2225,34060],{"_2214":34061,"_2216":4871,"_2217":2227,"_2219":2225,"_2220":34062,"_2222":34063},"non-authenticated",[2325],[],[3220,34065],{"_2214":34066,"_2216":9444,"_2217":2218,"_2219":3220,"_2220":34067,"_2222":34068},"non-ret",[],[34069,34075],[3220,34070],{"_2214":34071,"_2216":34072,"_2217":2227,"_2219":3220,"_2220":34073,"_2222":34074},"non-retryable","ryable",[3434],[],[3691,34076],{"_2214":34077,"_2216":9471,"_2217":2227,"_2219":3691,"_2220":34078,"_2222":34079},"non-return",[3627],[],[2222,34081],{"_2214":34082,"_2216":34083,"_2217":2227,"_2219":2222,"_2220":34084,"_2222":34085},"non-convergent","convergent",[3454],[],[3066,34087],{"_2214":34088,"_2216":8439,"_2217":2218,"_2219":3066,"_2220":34089,"_2222":34090},"non-vo",[],[34091,34096],[3099,34092],{"_2214":34093,"_2216":6425,"_2217":2227,"_2219":3099,"_2220":34094,"_2222":34095},"non-voting",[2368,2458,2460,2484,3264,2510,2514],[],[3193,34097],{"_2214":34098,"_2216":34099,"_2217":2227,"_2219":3193,"_2220":34100,"_2222":34101},"non-volatile","latile",[2380,3609],[],[3085,34103],{"_2214":34104,"_2216":8388,"_2217":2227,"_2219":3085,"_2220":34105,"_2222":34106},"non-failing",[2402],[],[3002,34108],{"_2214":34109,"_2216":16664,"_2217":2227,"_2219":3002,"_2220":34110,"_2222":34111},"non-incremental",[20784,3488,2466,2474,2478,2483,3783],[],[5908,34113],{"_2214":34114,"_2216":34115,"_2217":2227,"_2219":5908,"_2220":34116,"_2222":34117},"non-zero-weight","zero-weight",[2522],[],[2217,34119],{"_2214":34120,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":34121,"_2222":34122},"none",[4846],[],[3017,34124],{"_2214":34125,"_2216":34126,"_2217":2227,"_2219":3017,"_2220":34127,"_2222":34128},"nonodeexception","odeexception",[3548],[],[3280,34130],{"_2214":34131,"_2216":34132,"_2217":2227,"_2219":3280,"_2220":34133,"_2222":34134},"no-op","-op",[2261],[],[2214,34136],{"_2214":34137,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":34138,"_2222":34139},"now",[3419,2310,6079,3493,11269,5065,3535,3799,3556,2705,2729,2753,2756,3389,7837,13116,7559],[],[3220,34141],{"_2214":29570,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":34142,"_2222":34143},[2471],[34144,34153,34160],[2972,34145],{"_2214":34146,"_2216":20641,"_2217":2227,"_2219":2972,"_2220":34147,"_2222":34148},"normal",[2317,2453,2480,2691,2703,2706,2707],[34149],[3193,34150],{"_2214":5375,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":34151,"_2222":34152},[2331,2498,2499,2544,2703],[],[3871,34154],{"_2214":34155,"_2216":34156,"_2217":2227,"_2219":3871,"_2220":34157,"_2222":34159},"norbert","bert",[34158],1574,[],[2214,34161],{"_2214":34162,"_2216":34163,"_2217":2227,"_2219":2214,"_2220":34164,"_2222":34165},"norwegian","wegian",[2847],[],[2972,34167],{"_2214":34168,"_2216":34169,"_2217":2227,"_2219":2972,"_2220":34170,"_2222":34171},"nominates","minates",[2469],[],[2216,34173],{"_2214":34174,"_2216":28312,"_2217":2227,"_2219":2216,"_2220":34175,"_2222":34176},"nosql",[3579],[],[3691,34178],{"_2214":7508,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":34179,"_2222":34180},[],[34181,34244],[2972,34182],{"_2214":34183,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":34184,"_2222":34185},"num",[],[34186,34197,34206,34227,34233,34239],[2214,34187],{"_2214":34188,"_2216":34189,"_2217":2227,"_2219":2214,"_2220":34190,"_2222":34191},"numworkerthread","workerthread",[2370],[34192],[2216,34193],{"_2214":34194,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":34195,"_2222":34196},"numworkerthreads",[6072,5750,6052],[],[3871,34198],{"_2214":6473,"_2216":21010,"_2217":2227,"_2219":3871,"_2220":34199,"_2222":34200},[6072,2249,2250,2256,3408,3928,2268,2269,2281,2282,2284,2285,3212,2295,2297,2302,2303,2304,2305,2307,4510,2313,2314,2318,2329,5511,5750,6052,2370,2371,3457,2373,2380,2388,2389,3477,2418,3489,2484,2485,2493,2505,2510,2511,2515,2516,3650,6086,3266,2568,2569,2584,2662,2669,2673,6095,6096,5190,6098,2679,2694,2704,2714,2752,3569,5996,2769,2770,5997,5998,2773,2778,2779,3572,2781,2783,3587,2848,2862,2865,2884,2890,2900,2901,2946,4113],[34201],[2216,34202],{"_2214":34203,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":34204,"_2222":34205},"numbers",[4457,2292,2329,2333,5511,3264,2509,2662,2673,2754,2857,2865,2950],[],[4794,34207],{"_2214":34208,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":34209,"_2222":34210},"num_",[],[34211,34217,34222],[3099,34212],{"_2214":34213,"_2216":34214,"_2217":2227,"_2219":3099,"_2220":34215,"_2222":34216},"num_total_watches","total_watches",[3410],[],[4034,34218],{"_2214":34219,"_2216":19332,"_2217":2227,"_2219":4034,"_2220":34220,"_2222":34221},"num_paths",[3410],[],[2222,34223],{"_2214":34224,"_2216":14173,"_2217":2227,"_2219":2222,"_2220":34225,"_2222":34226},"num_connections",[3410],[],[2216,34228],{"_2214":34229,"_2216":34230,"_2217":2227,"_2219":2216,"_2220":34231,"_2222":34232},"numselectorthreads","selectorthreads",[5511],[],[2217,34234],{"_2214":34235,"_2216":34236,"_2217":2227,"_2219":2217,"_2220":34237,"_2222":34238},"numerical","erical",[2590],[],[2222,34240],{"_2214":34241,"_2216":15530,"_2217":2227,"_2219":2222,"_2220":34242,"_2222":34243},"numchildren",[6098],[],[3193,34245],{"_2214":34246,"_2216":12831,"_2217":2227,"_2219":3193,"_2220":34247,"_2222":34248},"null",[3424,3425,3260,3261,3363,3268,2660,5820,2759],[34249],[4034,34250],{"_2214":34251,"_2216":34252,"_2217":2227,"_2219":4034,"_2220":34253,"_2222":34254},"nullpointerexception","pointerexception",[6109,7157,12298,5858],[],[2222,34256],{"_2214":29048,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":34257,"_2222":34258},[3052,2247],[],[2225,34260],{"_2214":34261,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":34262,"_2222":34263},"na",[],[34264,34303,34331,34337],[2972,34265],{"_2214":34266,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":34267,"_2222":34268},"nam",[],[34269,34298],[2217,34270],{"_2214":7853,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":34271,"_2222":34272},[2255,2272,4461,2978,3429,5478,3434,7827,2343,2344,2345,2346,3933,3934,3179,6652,4467,2496,3936,6653,4596,3937,2506,2584,2598,2599,2600,2607,2620,3236,2660,2661,2668,2669,3188,4251,2742,3565,2748,2763,2863,2950],[34273,34288,34293],[2216,34274],{"_2214":5977,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":34275,"_2222":34276},[2255,2346,3155,4496,2379],[34277],[4034,34278],{"_2214":34279,"_2216":34280,"_2217":2227,"_2219":4034,"_2220":34281,"_2222":34282},"namespace","pace",[2366,3511,6086,2550,5992,3546,2659,2666,3599,11293,2857,2863,2864,2866],[34283],[2216,34284],{"_2214":34285,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":34286,"_2222":34287},"namespaces",[2841],[],[2220,34289],{"_2214":34290,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":34291,"_2222":34292},"named",[2394,2494,2540,2541,2640,2642,3809],[],[3207,34294],{"_2214":34295,"_2216":2212,"_2217":2227,"_2219":3207,"_2220":34296,"_2222":34297},"namenode",[2818,2819,2820,2821,2822,2823],[],[3002,34299],{"_2214":34300,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":34301,"_2222":34302},"naming",[26605,7554,2856,3809],[],[3099,34304],{"_2214":4566,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":34305,"_2222":34306},[],[34307,34312,34316],[2216,34308],{"_2214":34309,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":34310,"_2222":34311},"nats",[3432],[],[3002,34313],{"_2214":23032,"_2216":4572,"_2217":2227,"_2219":3002,"_2220":34314,"_2222":34315},[3263,2387,13340,6262],[],[3691,34317],{"_2214":34318,"_2216":6172,"_2217":2218,"_2219":3691,"_2220":34319,"_2222":34320},"natur",[],[34321,34326],[2217,34322],{"_2214":34323,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":34324,"_2222":34325},"nature",[2379],[],[2225,34327],{"_2214":34328,"_2216":3184,"_2217":2227,"_2219":2225,"_2220":34329,"_2222":34330},"natural",[2518],[],[3066,34332],{"_2214":34333,"_2216":34334,"_2217":2227,"_2219":3066,"_2220":34335,"_2222":34336},"navigation","vigation",[3791],[],[3220,34338],{"_2214":34339,"_2216":34340,"_2217":2227,"_2219":3220,"_2220":34341,"_2222":34342},"narayanan","rayanan",[2854],[],[3002,34344],{"_2214":34345,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":34346,"_2222":34347},"ni",[],[34348,34358,34363],[3017,34349],{"_2214":34350,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":34351,"_2222":34352},"nio",[3411,3198,2271,3153,3455,5511,5750,2627],[34353],[2216,34354],{"_2214":34355,"_2216":25999,"_2217":2227,"_2219":2216,"_2220":34356,"_2222":34357},"nioservercnxnfactory",[6299,3433],[],[2222,34359],{"_2214":34360,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":34361,"_2222":34362},"nic",[2286],[],[3825,34364],{"_2214":34365,"_2216":34366,"_2217":2227,"_2219":3825,"_2220":34367,"_2222":34368},"nighthawk","ghthawk",[3597],[],[3207,34370],{"_2214":34371,"_2216":34372,"_2217":2227,"_2219":3207,"_2220":34373,"_2222":34374},"nnnnn","nnnn",[2329,2333,2334],[],[3640,34376],{"_2214":24537,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":34377,"_2222":34378},[3510],[],[3280,34380],{"_2214":34381,"_2216":34382,"_2217":2227,"_2219":3280,"_2220":34383,"_2222":34384},"n-1","-1",[2557],[],[3085,34386],{"_2214":34387,"_2216":34388,"_2217":2227,"_2219":3085,"_2220":34389,"_2222":34390},"nfs","fs",[2667,2678],[],[4794,34392],{"_2214":34393,"_2216":34394,"_2217":2227,"_2219":4794,"_2220":34395,"_2222":34396},"n_j","_j",[2781,2783],[],[4034,34398],{"_2214":34399,"_2216":18938,"_2217":2227,"_2219":4034,"_2220":34400,"_2222":34401},"npe",[12436,8025],[],[3691,34403],{"_2214":3691,"_2216":3691,"_2217":2227,"_2219":3691,"_2220":34404,"_2222":34405},[2909,3611],[34406,34519,34550,34919,35001,35010,35016,35032,35072,35098,35103,35109,35114],[2216,34407],{"_2214":13187,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":34408,"_2222":34409},[3263,3452,2635,2904,2923],[34410,34427,34489,34499,34509,34514],[3002,34411],{"_2214":34412,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":34413,"_2222":34414},"using",[2232,2235,12960,3051,3055,2254,2259,8236,3930,3770,2281,2282,2283,3090,2316,3429,5478,2325,2330,3776,3777,2335,2336,2344,2349,3363,3932,4496,3452,2983,3459,2378,2379,2380,3460,5512,2430,3248,2442,2446,4326,3649,2466,2472,4327,4328,2492,2494,3179,4938,3264,3504,6349,2519,2549,3788,2561,2992,5992,3525,2584,2588,5056,2607,2620,3537,3538,2624,2627,2994,5994,2636,2648,3204,3798,2674,2675,3553,2687,2688,3188,3800,2691,2703,2705,2708,3299,3562,3564,2750,2755,2776,3573,2788,3385,2795,2802,2809,2817,2831,3954,2845,5643,13109,2900,2910,4472,2928,2937,2943,2949,2950],[34415,34421],[3280,34416],{"_2214":34417,"_2216":34418,"_2217":2227,"_2219":3280,"_2220":34419,"_2222":34420},"using-zookeeper-to-manage-configuration-files","-zookeeper-to-manage-configuration-files",[4402],[],[5908,34422],{"_2214":34423,"_2216":34424,"_2217":2227,"_2219":5908,"_2220":34425,"_2222":34426},"usingzookeepertomanageconfigurationfiles-startupbootstrap","zookeepertomanageconfigurationfiles-startupbootstrap",[4402],[],[2217,34428],{"_2214":10492,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":34429,"_2222":34430},[2233,2237,6071,3644,2238,2244,3055,2248,2249,2250,7540,7541,7542,7543,2254,3411,2271,5985,4461,3153,2274,3770,3255,2292,6299,3359,2325,4488,3931,2337,3361,3434,2341,2345,3363,2355,3263,4361,4663,2367,5511,2984,2388,6262,2392,2393,2396,4465,5183,3480,2449,3485,3647,2451,2452,3187,3648,3649,2470,2476,2483,2489,2493,3935,3501,2505,6696,6682,15932,2516,2518,2520,3511,2550,2554,2555,2556,4469,6087,2579,2586,2591,2624,3654,2637,4244,2648,3795,2661,2668,2669,2674,3549,2685,3558,2738,3564,3383,2744,2746,2750,2751,2767,5999,2778,6000,15933,2785,2786,2796,2798,2810,3589,2843,4131,2862,2864,2890,6105,2894,4025,3805,2901,2910,4472,2922,2923,2927,2928,2930,3038,3739,2950,2955,8052,7564,6110,4336,6111],[34431,34437,34442,34447,34461,34467,34473,34479,34484],[2216,34432],{"_2214":34433,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":34434,"_2222":34436},"uses",[3644,2254,2305,2337,3231,3478,2473,2476,2481,2512,2588,3529,2601,2605,2618,2619,3224,2620,3538,2663,3381,3271,3558,3383,2754,2788,2794,2802,3578,2808,4388,2810,3802,2815,4389,3585,2822,2824,2827,3586,2838,2840,7553,2844,3594,2846,2848,2849,3596,7021,3598,7555,3390,34435,2856,2882,2901,2927,2929,3038,2948,2950],1793,[],[2220,34438],{"_2214":34439,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":34440,"_2222":34441},"used",[3767,6072,2242,2251,6076,3198,2274,2277,2278,2284,2285,2288,2289,2291,3255,3256,3257,3258,3212,2292,4360,2329,2330,2334,3432,3433,2340,2341,2345,3645,2351,2353,3439,3441,3363,2356,2357,2358,3448,2359,3451,2365,2367,2372,3060,3061,3062,3063,2378,2386,2387,2394,2431,3482,3483,2436,3485,3647,3487,2456,2458,2466,6248,2472,2494,3179,2500,13343,2503,5023,3234,3941,3942,3943,2506,3981,2511,2560,2564,7274,2577,2619,3541,2626,3654,3542,2632,2633,3268,2637,3982,2658,2659,3547,2661,2668,2669,2677,2688,3800,5820,2693,2697,2706,2763,3385,2791,3575,3583,3591,2843,3593,2845,3595,2850,7554,2851,2852,2853,2858,2884,2890,2928,3809,3613,2947,4851],[],[3085,34443],{"_2214":34444,"_2216":8101,"_2217":2227,"_2219":3085,"_2220":34445,"_2222":34446},"useful",[3051,5390,2246,5873,2260,6050,2320,2322,2323,3436,2345,4663,2373,3265,2572,2994,3794,2658,2670,2693,2741,2929,7557],[],[3220,34448],{"_2214":25032,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":34449,"_2222":34451},[3930,2336,2337,2341,3231,2343,2344,2367,2368,3156,2421,2435,3485,3647,2452,3187,3648,3938,34450,3940,3234,3941,3942,3943,2506,2507,3981,2508,2511,3374,2605,2607,2616,2618,2693,3038],839,[34452,34457],[2216,34453],{"_2214":34454,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":34455,"_2222":34456},"users",[2331,2336,2344,5960,4825,2366,2367,2444,2451,2452,3187,3940,3786,3044,4468,2551,5990,2559,3799,2708,2805,2816,2831,3605,2930,4851],[],[3207,34458],{"_2214":7367,"_2216":7853,"_2217":2227,"_2219":3207,"_2220":34459,"_2222":34460},[3943,2619,2631],[],[4309,34462],{"_2214":34463,"_2216":34464,"_2217":2227,"_2219":4309,"_2220":34465,"_2222":34466},"usexforwardedfor","xforwardedfor",[3231],[],[3207,34468],{"_2214":34469,"_2216":34470,"_2217":2227,"_2219":3207,"_2220":34471,"_2222":34472},"usenix","nix",[2433],[],[3280,34474],{"_2214":34475,"_2216":34476,"_2217":2227,"_2219":3280,"_2220":34477,"_2222":34478},"use-case","-case",[2618],[],[2222,34480],{"_2214":34481,"_2216":15930,"_2217":2227,"_2219":2222,"_2220":34482,"_2222":34483},"usecases",[4413],[],[3193,34485],{"_2214":34486,"_2216":10565,"_2217":2227,"_2219":3193,"_2220":34487,"_2222":34488},"useless",[9016],[],[2225,34490],{"_2214":34491,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":34492,"_2222":34493},"usa",[3510,2854],[34494],[3825,34495],{"_2214":34496,"_2216":7204,"_2217":2227,"_2219":3825,"_2220":34497,"_2222":34498},"usage",[2244,2392,3622,3623,10641],[],[3691,34500],{"_2214":34501,"_2216":3694,"_2217":2227,"_2219":3691,"_2220":34502,"_2222":34503},"usual",[2667],[34504],[3193,34505],{"_2214":34506,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":34507,"_2222":34508},"usually",[3256,3258,4361,3365,2390,3477,2443,2469,2686,2687,2703,2864,4025],[],[3871,34510],{"_2214":34511,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":34512,"_2222":34513},"usb",[2519,2539,2540,2543,2545,2547],[],[3220,34515],{"_2214":34516,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":34517,"_2222":34518},"usr",[11275],[],[3099,34520],{"_2214":13133,"_2216":34521,"_2217":2227,"_2219":3099,"_2220":34522,"_2222":34523},"til",[8024],[34524],[3002,34525],{"_2214":34526,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":34527,"_2222":34528},"utili",[],[34529,34544],[3099,34530],{"_2214":34531,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":34532,"_2222":34533},"utilit",[],[34534,34539],[3640,34535],{"_2214":34536,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":34537,"_2222":34538},"utility",[2233,3794],[],[3002,34540],{"_2214":34541,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":34542,"_2222":34543},"utilities",[3515],[],[5908,34545],{"_2214":34546,"_2216":34547,"_2217":2227,"_2219":5908,"_2220":34548,"_2222":34549},"utilizing","zing",[3592],[],[3207,34551],{"_2214":31050,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":34552,"_2222":34553},[],[34554,34580,34585,34654,34675,34718,34768,34799,34804,34819,34848,34854,34870,34876,34903,34909,34914],[3193,34555],{"_2214":34556,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":34557,"_2222":34558},"unl",[],[34559,34569,34574],[3002,34560],{"_2214":34561,"_2216":28104,"_2217":2227,"_2219":3002,"_2220":34562,"_2222":34563},"unlike",[2255,2458,2605,2857,2864,2921],[34564],[3193,34565],{"_2214":34566,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":34567,"_2222":34568},"unlikely",[2234,2926],[],[2217,34570],{"_2214":34571,"_2216":3229,"_2217":2227,"_2219":2217,"_2220":34572,"_2222":34573},"unless",[3416,8297,8298,2440,2697,2719,2924,3614],[],[3017,34575],{"_2214":34576,"_2216":34577,"_2217":2227,"_2219":3017,"_2220":34578,"_2222":34579},"unlock","ock",[2351,2353,2632,2633,2760,3570],[],[3691,34581],{"_2214":34582,"_2216":34439,"_2217":2227,"_2219":3691,"_2220":34583,"_2222":34584},"unused",[7540,7541,7542,7543,2254,5979],[],[3002,34586],{"_2214":14732,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":34587,"_2222":34588},[],[34589,34598,34622,34627,34633,34644,34649],[3099,34590],{"_2214":16288,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":34591,"_2222":34592},[2259,2277,2290,2361,2898,3613,2949],[34593],[2216,34594],{"_2214":34595,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":34596,"_2222":34597},"units",[3374],[],[3085,34599],{"_2214":34600,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":34601,"_2222":34602},"unif",[],[34603,34617],[3002,34604],{"_2214":34605,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":34606,"_2222":34607},"unifi",[],[34608,34612],[2222,34609],{"_2214":19637,"_2216":17427,"_2217":2227,"_2219":2222,"_2220":34610,"_2222":34611},[3104,3154,3415],[],[2217,34613],{"_2214":34614,"_2216":3138,"_2217":2227,"_2219":2217,"_2220":34615,"_2222":34616},"unified",[2800,2842],[],[3017,34618],{"_2214":34619,"_2216":10707,"_2217":2227,"_2219":3017,"_2220":34620,"_2222":34621},"uniform",[2704],[],[3017,34623],{"_2214":34624,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":34625,"_2222":34626},"union",[2333],[],[5252,34628],{"_2214":34629,"_2216":34630,"_2217":2227,"_2219":5252,"_2220":34631,"_2222":34632},"unique","que",[2378,2395,26605,2669,2672,3800,3586,2901,2921,2951],[],[2972,34634],{"_2214":34635,"_2216":34636,"_2217":2227,"_2219":2972,"_2220":34637,"_2222":34638},"unimplemented","mplemented",[2412],[34639],[2217,34640],{"_2214":34641,"_2216":13798,"_2217":2227,"_2219":2217,"_2220":34642,"_2222":34643},"unimplementedexception",[3037],[],[4309,34645],{"_2214":34646,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":34647,"_2222":34648},"unix",[2605,2693,2754],[],[2222,34650],{"_2214":34651,"_2216":15254,"_2217":2227,"_2219":2222,"_2220":34652,"_2222":34653},"unicode",[2659],[],[2216,34655],{"_2214":34656,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":34657,"_2222":34658},"uns",[],[34659,34665,34670],[2225,34660],{"_2214":34661,"_2216":34662,"_2217":2227,"_2219":2225,"_2220":34663,"_2222":34664},"unsafe","afe",[5883],[],[2217,34666],{"_2214":34667,"_2216":8685,"_2217":2227,"_2219":2217,"_2220":34668,"_2222":34669},"unset",[2305],[],[3099,34671],{"_2214":34672,"_2216":21613,"_2217":2227,"_2219":3099,"_2220":34673,"_2222":34674},"unstable",[3454,2638],[],[2220,34676],{"_2214":34677,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":34678,"_2222":34679},"und",[],[34680,34706,34712],[2217,34681],{"_2214":34682,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":34683,"_2222":34684},"unde",[],[34685,34700],[3220,34686],{"_2214":34687,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":34688,"_2222":34689},"under",[2308,5477,7827,2361,2418,2515,3506,4890,2539,2541,6086,4468,5990,2584,2634,2640,2743,2926],[34690],[2216,34691],{"_2214":34692,"_2216":25641,"_2217":2227,"_2219":2216,"_2220":34693,"_2222":34694},"understand",[2483,2686],[34695],[3002,34696],{"_2214":34697,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":34698,"_2222":34699},"understanding",[2681],[],[3085,34701],{"_2214":34702,"_2216":34703,"_2217":2227,"_2219":3085,"_2220":34704,"_2222":34705},"undefined","fined",[2630,2775],[],[3002,34707],{"_2214":34708,"_2216":34709,"_2217":2227,"_2219":3002,"_2220":34710,"_2222":34711},"undigested","igested",[2321],[],[3017,34713],{"_2214":34714,"_2216":34715,"_2217":2227,"_2219":3017,"_2220":34716,"_2222":34717},"undoubtedly","oubtedly",[2538],[],[2225,34719],{"_2214":34720,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":34721,"_2222":34722},"una",[],[34723,34739,34744,34762],[3066,34724],{"_2214":34725,"_2216":34726,"_2217":2218,"_2219":3066,"_2220":34727,"_2222":34728},"unavailab","vailab",[],[34729,34734],[3193,34730],{"_2214":34731,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":34732,"_2222":34733},"unavailable",[2322,2326,3366,2547],[],[3002,34735],{"_2214":34736,"_2216":5326,"_2217":2227,"_2219":3002,"_2220":34737,"_2222":34738},"unavailability",[2458,2469],[],[3871,34740],{"_2214":34741,"_2216":4262,"_2217":2227,"_2219":3871,"_2220":34742,"_2222":34743},"unable",[2360,2547],[],[3691,34745],{"_2214":34746,"_2216":34747,"_2217":2218,"_2219":3691,"_2220":34748,"_2222":34749},"unauth","uth",[],[34750,34756],[3017,34751],{"_2214":34752,"_2216":34753,"_2217":2227,"_2219":3017,"_2220":34754,"_2222":34755},"unauthorized","orized",[3461],[],[2217,34757],{"_2214":34758,"_2216":34759,"_2217":2227,"_2219":2217,"_2220":34760,"_2222":34761},"unauthenticated","enticated",[3648],[],[2222,34763],{"_2214":34764,"_2216":34765,"_2217":2227,"_2219":2222,"_2220":34766,"_2222":34767},"unacceptably","cceptably",[2679],[],[3099,34769],{"_2214":5112,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":34770,"_2222":34771},[],[34772,34788,34794],[3002,34773],{"_2214":34774,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":34775,"_2222":34776},"unti",[],[34777,34783],[2972,34778],{"_2214":34779,"_2216":34780,"_2217":2227,"_2219":2972,"_2220":34781,"_2222":34782},"untimely","mely",[2324],[],[3193,34784],{"_2214":34785,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":34786,"_2222":34787},"until",[3262,2368,2396,2460,2483,2584,2654,2675,2692,2697,2720,2738,2744,5671,2747,2752,2828,2872,2915],[],[3017,34789],{"_2214":34790,"_2216":34791,"_2217":2227,"_2219":3017,"_2220":34792,"_2222":34793},"untouched","ouched",[2564],[],[2225,34795],{"_2214":34796,"_2216":3760,"_2217":2227,"_2219":2225,"_2220":34797,"_2222":34798},"untar",[2641],[],[2217,34800],{"_2214":34801,"_2216":32574,"_2217":2227,"_2219":2217,"_2220":34802,"_2222":34803},"unexpected",[2338],[],[3207,34805],{"_2214":34806,"_2216":33763,"_2217":2218,"_2219":3207,"_2220":34807,"_2222":34808},"unnecessar",[],[34809,34814],[3640,34810],{"_2214":34811,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":34812,"_2222":34813},"unnecessary",[3155,2469,11981,6659,4540],[],[3002,34815],{"_2214":34816,"_2216":18794,"_2217":2227,"_2219":3002,"_2220":34817,"_2222":34818},"unnecessarily",[2679],[],[3220,34820],{"_2214":34821,"_2216":3750,"_2217":2218,"_2219":3220,"_2220":34822,"_2222":34823},"unre",[],[34824,34830,34836,34842],[2225,34825],{"_2214":34826,"_2216":34827,"_2217":2227,"_2219":2225,"_2220":34828,"_2222":34829},"unreasonable","asonable",[6077],[],[3193,34831],{"_2214":34832,"_2216":34833,"_2217":2227,"_2219":3193,"_2220":34834,"_2222":34835},"unreliable","liable",[3510],[],[2222,34837],{"_2214":34838,"_2216":34839,"_2217":2227,"_2219":2222,"_2220":34840,"_2222":34841},"unrecoverable","coverable",[2691],[],[3825,34843],{"_2214":34844,"_2216":34845,"_2217":2227,"_2219":3825,"_2220":34846,"_2222":34847},"unregisters","gisters",[2747],[],[2214,34849],{"_2214":34850,"_2216":34851,"_2217":2227,"_2219":2214,"_2220":34852,"_2222":34853},"unwarranted","warranted",[12933],[],[4034,34855],{"_2214":34856,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":34857,"_2222":34858},"unp",[],[34859,34865],[3220,34860],{"_2214":34861,"_2216":34862,"_2217":2227,"_2219":3220,"_2220":34863,"_2222":34864},"unpredictable","redictable",[3454],[],[2225,34866],{"_2214":34867,"_2216":5260,"_2217":2227,"_2219":2225,"_2220":34868,"_2222":34869},"unpack",[2935],[],[3085,34871],{"_2214":34872,"_2216":34873,"_2217":2227,"_2219":3085,"_2220":34874,"_2222":34875},"unfortunately","fortunately",[2366],[],[2222,34877],{"_2214":34878,"_2216":14663,"_2217":2218,"_2219":2222,"_2220":34879,"_2222":34880},"uncom",[],[34881,34897],[2972,34882],{"_2214":34883,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":34884,"_2222":34885},"uncomm",[],[34886,34891],[2217,34887],{"_2214":34888,"_2216":5431,"_2217":2227,"_2219":2217,"_2220":34889,"_2222":34890},"uncomment",[4938],[],[3002,34892],{"_2214":34893,"_2216":34894,"_2217":2227,"_2219":3002,"_2220":34895,"_2222":34896},"uncommitted","itted",[2921,2923],[],[4034,34898],{"_2214":34899,"_2216":34900,"_2217":2227,"_2219":4034,"_2220":34901,"_2222":34902},"uncompressed","pressed",[3518],[],[5908,34904],{"_2214":34905,"_2216":34906,"_2217":2227,"_2219":5908,"_2220":34907,"_2222":34908},"unzip","zip",[2641],[],[3871,34910],{"_2214":34911,"_2216":31060,"_2217":2227,"_2219":3871,"_2220":34912,"_2222":34913},"unbounded",[2813,2843],[],[3322,34915],{"_2214":34916,"_2216":30003,"_2217":2227,"_2219":3322,"_2220":34917,"_2222":34918},"unhealthy",[2821],[],[4034,34920],{"_2214":7019,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":34921,"_2222":34922},[2234,2237,2238,2259,5985,2274,2284,3256,3257,3258,3259,3430,2329,2335,3432,2355,2364,2367,6021,2378,2384,2388,2396,2397,2399,2400,2402,2403,3478,2445,3187,2456,2460,2464,2471,3492,2506,2510,2512,2557,3516,26245,3530,2603,2608,3541,2648,2663,6091,2676,2686,2688,2691,2712,2716,2747,2749,2751,2762,3570,2814,2817,3591,2860,6103,2884,2888,2900,2904,2908,2917,2934,4113,2952],[34923,34948,34979,34984,34989,34995],[3825,34924],{"_2214":34925,"_2216":24516,"_2217":2218,"_2219":3825,"_2220":34926,"_2222":34927},"upgrad",[],[34928,34933],[3002,34929],{"_2214":34930,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":34931,"_2222":34932},"upgrading",[13237,2317,22492,2447,2712],[],[2217,34934],{"_2214":34935,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":34936,"_2222":34937},"upgrade",[3104,3422,3425,2317,3431,2331,2339,2356,2447,2448,3179,2711,2712,2713,5875,4334,11408,3238,6301,6819,8023,5482,12420,6820,7995,7566,6005,7567,5338,6115,6302,12245,7996,8464],[34938,34943],[2216,34939],{"_2214":34940,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":34941,"_2222":34942},"upgrades",[2447],[],[2220,34944],{"_2214":34945,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":34946,"_2222":34947},"upgraded",[2710,2711],[],[2220,34949],{"_2214":34950,"_2216":23177,"_2217":2218,"_2219":2220,"_2220":34951,"_2222":34952},"updat",[],[34953,34974],[2217,34954],{"_2214":34955,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":34956,"_2222":34957},"update",[2328,5874,2380,2424,2431,2471,6255,2654,2655,2656,2658,2662,2704,2705,2862,2872,2938,8021,8022,3239,3630,3637,3240],[34958,34969],[2216,34959],{"_2214":34960,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":34961,"_2222":34962},"updates",[3416,2328,5874,2379,2382,2538,3509,2557,2652,3796,2656,2662,2720,3951,3383,2816,2851,3601,2865,2870,5594,3391,3614,2950,2955,3620],[34963],[2217,34964],{"_2214":34965,"_2216":34966,"_2217":2227,"_2219":2217,"_2220":34967,"_2222":34968},"updateserverlist","erverlist",[2486],[],[2220,34970],{"_2214":34971,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":34972,"_2222":34973},"updated",[5987,2454,3366,2472,3265,2572,12049],[],[3002,34975],{"_2214":34976,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":34977,"_2222":34978},"updating",[2448,2704],[],[4034,34980],{"_2214":34981,"_2216":17748,"_2217":2227,"_2219":4034,"_2220":34982,"_2222":34983},"upper",[2294],[],[3017,34985],{"_2214":34986,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":34987,"_2222":34988},"upon",[2338,2585,3384,2779,2782,2856,2881,2898,2899,2950],[],[3280,34990],{"_2214":34991,"_2216":34992,"_2217":2227,"_2219":3280,"_2220":34993,"_2222":34994},"up-to-date","-to-date",[2368,3487,3491,2484,2657,2754,2873,2925],[],[3193,34996],{"_2214":34997,"_2216":34998,"_2217":2227,"_2219":3193,"_2220":34999,"_2222":35000},"uploads","loads",[2674],[],[3220,35002],{"_2214":14695,"_2216":33146,"_2217":2227,"_2219":3220,"_2220":35003,"_2222":35004},[2255,2989,3811],[35005],[2216,35006],{"_2214":35007,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35008,"_2222":35009},"urls",[2255],[],[2222,35011],{"_2214":35012,"_2216":35013,"_2217":2227,"_2219":2222,"_2220":35014,"_2222":35015},"ucsd","csd",[16235],[],[2220,35017],{"_2214":13517,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":35018,"_2222":35019},[],[35020,35026],[4034,35021],{"_2214":35022,"_2216":35023,"_2217":2227,"_2219":4034,"_2220":35024,"_2222":35025},"udp-based","p-based",[2325],[],[11375,35027],{"_2214":35028,"_2216":35029,"_2217":2227,"_2219":11375,"_2220":35030,"_2222":35031},"ud800","800",[3797],[],[11411,35033],{"_2214":35034,"_2216":35035,"_2217":2218,"_2219":11411,"_2220":35036,"_2222":35037},"u00","00",[],[35038,35053,35059,35065],[11411,35039],{"_2214":35040,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":35041,"_2222":35042},"u000",[],[35043,35048],[11411,35044],{"_2214":35045,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":35046,"_2222":35047},"u0000",[2660],[],[6884,35049],{"_2214":35050,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":35051,"_2222":35052},"u0001",[3547],[],[6884,35054],{"_2214":35055,"_2216":35056,"_2217":2227,"_2219":6884,"_2220":35057,"_2222":35058},"u001f","1f",[3547],[],[11346,35060],{"_2214":35061,"_2216":35062,"_2217":2227,"_2219":11346,"_2220":35063,"_2222":35064},"u007f","7f",[3547],[],[11306,35066],{"_2214":35067,"_2216":35068,"_2217":2227,"_2219":11306,"_2220":35069,"_2222":35071},"u009f","9f",[35070],1307,[],[3085,35073],{"_2214":35074,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":35075,"_2222":35076},"uf",[],[35077,35083],[11375,35078],{"_2214":35079,"_2216":35080,"_2217":2227,"_2219":11375,"_2220":35081,"_2222":35082},"uf8ff","8ff",[3797],[],[3085,35084],{"_2214":35085,"_2216":23368,"_2217":2218,"_2219":3085,"_2220":35086,"_2222":35087},"ufff",[],[35088,35093],[11411,35089],{"_2214":35090,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":35091,"_2222":35092},"ufff0",[3797],[],[3085,35094],{"_2214":35095,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":35096,"_2222":35097},"uffff",[3797],[],[2972,35099],{"_2214":35100,"_2216":30180,"_2217":2227,"_2219":2972,"_2220":35101,"_2222":35102},"uml",[3558],[],[3193,35104],{"_2214":35105,"_2216":35106,"_2217":2227,"_2219":3193,"_2220":35107,"_2222":35108},"ultraesb","ltraesb",[3350],[],[3002,35110],{"_2214":35111,"_2216":3002,"_2217":2227,"_2219":3002,"_2220":35112,"_2222":35113},"ui",[2814],[],[3691,35115],{"_2214":35116,"_2216":35117,"_2217":2227,"_2219":3691,"_2220":35118,"_2222":35119},"uuuuu","uuuu",[4159],[],[3066,35121],{"_2214":3066,"_2216":3066,"_2217":2227,"_2219":3066,"_2220":35122,"_2222":35123},[14666,14668],[35124,35269,35363,35421,35483,35510,35520,35525,35530,35535,35553],[2225,35125],{"_2214":35126,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":35127,"_2222":35128},"va",[],[35129,35183,35258,35263],[3193,35130],{"_2214":16945,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":35131,"_2222":35132},[],[35133,35149],[3691,35134],{"_2214":35135,"_2216":35136,"_2217":2227,"_2219":3691,"_2220":35137,"_2222":35139},"value","ue",[2234,6072,7537,7538,2252,2254,2281,3358,2282,2283,2287,2288,2289,3418,2291,3256,2292,2305,2306,2308,5987,3420,3421,3423,3424,3425,5476,3426,2317,3774,3427,3429,5478,2325,2327,4488,2328,2334,3776,3777,3931,2336,3434,3435,2339,2340,2341,4645,4462,3231,3440,3263,4496,2356,2357,2360,2362,2363,3232,3140,5511,5750,6052,2370,2371,2373,3458,2392,2395,2453,3939,35138,2506,2564,6325,2588,2589,2590,3536,12800,5187,2629,4849,2631,2634,2635,2636,2658,3188,5778,2696,2697,2804,3394],836,[35140,35144],[2216,35141],{"_2214":20508,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35142,"_2222":35143},[2252,20543,2254,2283,2287,3212,3773,2339,3260,3261,3262,2360,2369,2371,4944,3651,2564,2590,2616,2622,3542,3268,2921],[],[3193,35145],{"_2214":35146,"_2216":16158,"_2217":2227,"_2219":3193,"_2220":35147,"_2222":35148},"valuelen",[5187],[],[3002,35150],{"_2214":17595,"_2216":5302,"_2217":2227,"_2219":3002,"_2220":35151,"_2222":35152},[2282,2330,2337,2346,3262,2366,3248,2607,2688,2701,2742,2773],[35153],[2225,35154],{"_2214":35155,"_2216":4975,"_2217":2218,"_2219":2225,"_2220":35156,"_2222":35157},"validat",[],[35158,35178],[3002,35159],{"_2214":35160,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":35161,"_2222":35162},"validati",[],[35163,35173],[3017,35164],{"_2214":35165,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":35166,"_2222":35167},"validation",[3177,24839,2368,4779,2717],[35168],[2216,35169],{"_2214":35170,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35171,"_2222":35172},"validations",[2865],[],[3207,35174],{"_2214":35175,"_2216":3210,"_2217":2227,"_2219":3207,"_2220":35176,"_2222":35177},"validating",[2686],[],[2217,35179],{"_2214":35180,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":35181,"_2222":35182},"validate",[7832,2662,2694,2928,2938,8361],[],[3220,35184],{"_2214":35185,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":35186,"_2222":35187},"var",[],[35188,35253],[3002,35189],{"_2214":35190,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":35191,"_2222":35192},"vari",[],[35193,35233,35248],[2225,35194],{"_2214":35195,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":35196,"_2222":35197},"varia",[],[35198,35208,35228],[3871,35199],{"_2214":35200,"_2216":4262,"_2217":2227,"_2219":3871,"_2220":35201,"_2222":35202},"variable",[2271,4663,4778,2380,2578],[35203],[2216,35204],{"_2214":35205,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35206,"_2222":35207},"variables",[2251,3927,7550],[],[3207,35209],{"_2214":35210,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":35211,"_2222":35212},"varian",[],[35213,35223],[3099,35214],{"_2214":35215,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":35216,"_2222":35217},"variant",[2449],[35218],[2216,35219],{"_2214":35220,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35221,"_2222":35222},"variants",[2943],[],[2222,35224],{"_2214":35225,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":35226,"_2222":35227},"variance",[2517],[],[3099,35229],{"_2214":35230,"_2216":3175,"_2217":2227,"_2219":3099,"_2220":35231,"_2222":35232},"variation",[2729],[],[2217,35234],{"_2214":35235,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":35236,"_2222":35237},"varie",[],[35238,35243],[3099,35239],{"_2214":35240,"_2216":14768,"_2217":2227,"_2219":3099,"_2220":35241,"_2222":35242},"variety",[2260,2685,2809,2844,2853],[],[2216,35244],{"_2214":35245,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35246,"_2222":35247},"varies",[2884],[],[3017,35249],{"_2214":35250,"_2216":13631,"_2217":2227,"_2219":3017,"_2220":35251,"_2222":35252},"various",[3493,2605,2667,2681,3554,2685,4131,2885],[],[3640,35254],{"_2214":35255,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":35256,"_2222":35257},"vary",[2524],[],[2216,35259],{"_2214":35260,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":35261,"_2222":35262},"vast",[14665],[],[3207,35264],{"_2214":35265,"_2216":35266,"_2217":2227,"_2219":3207,"_2220":35267,"_2222":35268},"vanishes","nishes",[2829],[],[2217,35270],{"_2214":4625,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":35271,"_2222":35272},[],[35273,35357],[3220,35274],{"_2214":6500,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":35275,"_2222":35276},[],[35277,35309,35353],[2216,35278],{"_2214":35279,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":35280,"_2222":35281},"vers",[],[35282,35298],[3002,35283],{"_2214":12720,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":35284,"_2222":35286},[3081,3644,6075,2262,2291,2325,3439,3263,2356,2359,2368,35285,5183,11266,2454,3487,2455,2478,2479,13761,3214,2503,2504,3370,3510,5189,3543,2643,2662,2673,6095,2846,2865,8746,9892,9893,9894,9895,9896,9897,11408,12049,7419,4335],571,[35287,35293],[3280,35288],{"_2214":35289,"_2216":35290,"_2217":2227,"_2219":3280,"_2220":35291,"_2222":35292},"version-2","-2",[2238],[],[2216,35294],{"_2214":35295,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35296,"_2222":35297},"versions",[2271,2317,2325,3441,2372,2454,3535,3622,3623,3624,3810],[],[2225,35299],{"_2214":35300,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":35301,"_2222":35302},"versa",[2472],[35303],[3099,35304],{"_2214":35305,"_2216":35306,"_2217":2227,"_2219":3099,"_2220":35307,"_2222":35308},"versatile","tile",[2801],[],[3002,35310],{"_2214":35311,"_2216":17877,"_2217":2218,"_2219":3002,"_2220":35312,"_2222":35313},"verif",[],[35314,35343],[3002,35315],{"_2214":35316,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":35317,"_2222":35318},"verifi",[],[35319,35334],[2217,35320],{"_2214":35321,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":35322,"_2222":35323},"verifie",[],[35324,35329],[2220,35325],{"_2214":35326,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":35327,"_2222":35328},"verified",[2238],[],[2216,35330],{"_2214":35331,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35332,"_2222":35333},"verifies",[2587],[],[2222,35335],{"_2214":29504,"_2216":17427,"_2217":2227,"_2219":2222,"_2220":35336,"_2222":35337},[2272,3442,3443,3155,2358,2577,11582,8052,3811],[35338],[2216,35339],{"_2214":35340,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35341,"_2222":35342},"verifications",[3155],[],[3640,35344],{"_2214":35345,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":35346,"_2222":35347},"verify",[7718,5986,3414,3415,13343,2577,3535,2688,2699,2932,3957,2964,3635],[35348],[3002,35349],{"_2214":35350,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":35351,"_2222":35352},"verifying",[2572],[],[3640,35354],{"_2214":23503,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":35355,"_2222":35356},[2246,2392,2430,2509,2520,2597,2625,2679,2714,2760,2802,2869,2874,4025,6007],[],[3207,35358],{"_2214":35359,"_2216":35360,"_2217":2227,"_2219":3207,"_2220":35361,"_2222":35362},"venkatachalam","nkatachalam",[2854],[],[3002,35364],{"_2214":35365,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":35366,"_2222":35367},"vi",[],[35368,35373,35382,35388,35394,35399,35410],[2225,35369],{"_2214":35370,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":35371,"_2222":35372},"via",[3081,3052,2247,2264,2291,2978,3430,2979,2347,2349,3481,2450,2489,3501,2546,6353,2991,6263,3037,3190,2714,2747,2788,2814,3386],[],[2217,35374],{"_2214":6559,"_2216":10768,"_2217":2227,"_2219":2217,"_2220":35375,"_2222":35376},[2255,2491,2653,2657,2871,2873,2927],[35377],[2216,35378],{"_2214":35379,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35380,"_2222":35381},"views",[2658],[],[2220,35383],{"_2214":35384,"_2216":35385,"_2217":2227,"_2219":2220,"_2220":35386,"_2222":35387},"video","deo",[2433,2682,3597],[],[2216,35389],{"_2214":35390,"_2216":35391,"_2217":2227,"_2219":2216,"_2220":35392,"_2222":35393},"visible","sible",[2471],[],[2222,35395],{"_2214":35396,"_2216":6019,"_2217":2227,"_2219":2222,"_2220":35397,"_2222":35398},"vice",[2472],[],[3017,35400],{"_2214":35401,"_2216":35402,"_2217":2227,"_2219":3017,"_2220":35403,"_2222":35404},"violate","olate",[3805],[35405],[2220,35406],{"_2214":35407,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":35408,"_2222":35409},"violated",[2787],[],[3220,35411],{"_2214":35412,"_2216":35413,"_2217":2227,"_2219":3220,"_2220":35414,"_2222":35415},"virtual","rtual",[3588,2952],[35416],[3002,35417],{"_2214":35418,"_2216":19251,"_2217":2227,"_2219":3002,"_2220":35419,"_2222":35420},"virtualized",[4131],[],[3017,35422],{"_2214":8439,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":35423,"_2222":35424},[],[35425,35456,35472],[3099,35426],{"_2214":35427,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":35428,"_2222":35429},"vot",[],[35430,35441],[3002,35431],{"_2214":35432,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":35433,"_2222":35434},"voting",[2267,2270,3178,2334,2338,2368,2396,2473,2484,2509,2525,2526,2927,2928],[35435],[4794,35436],{"_2214":35437,"_2216":35438,"_2217":2227,"_2219":4794,"_2220":35439,"_2222":35440},"voting_view","_view",[2267],[],[2217,35442],{"_2214":35443,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":35444,"_2222":35445},"vote",[2509,2510,2511,3160,2904,2927],[35446,35451],[2216,35447],{"_2214":35448,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35449,"_2222":35450},"votes",[2293,2294,2458,2467,2473,2510,2522,2775,2928,2929],[],[3220,35452],{"_2214":35453,"_2216":14873,"_2217":2227,"_2219":3220,"_2220":35454,"_2222":35455},"voters",[2326,2473,2484,2509],[],[3193,35457],{"_2214":35458,"_2216":33017,"_2217":2218,"_2219":3193,"_2220":35459,"_2222":35460},"volu",[],[35461,35466],[2972,35462],{"_2214":35463,"_2216":21025,"_2217":2227,"_2219":2972,"_2220":35464,"_2222":35465},"volumes",[2539,2540,2541,5065,2547],[],[3207,35467],{"_2214":35468,"_2216":35469,"_2217":2227,"_2219":3207,"_2220":35470,"_2222":35471},"volunteer","nteer",[2780],[],[3002,35473],{"_2214":35474,"_2216":5302,"_2217":2227,"_2219":3002,"_2220":35475,"_2222":35476},"void",[12856,8660],[35477],[2222,35478],{"_2214":35479,"_2216":35480,"_2217":2227,"_2219":2222,"_2220":35481,"_2222":35482},"voidcompletion_t","completion_t",[12856],[],[3691,35484],{"_2214":35485,"_2216":35486,"_2217":2218,"_2219":3691,"_2220":35487,"_2222":35488},"vulnerab","ulnerab",[],[35489,35494],[3193,35490],{"_2214":35491,"_2216":5319,"_2217":2227,"_2219":3193,"_2220":35492,"_2222":35493},"vulnerable",[2390,2952],[],[3002,35495],{"_2214":35496,"_2216":35497,"_2217":2218,"_2219":3002,"_2220":35498,"_2222":35499},"vulnerabilit","ilit",[],[35500,35505],[3640,35501],{"_2214":35502,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":35503,"_2222":35504},"vulnerability",[2450],[],[3002,35506],{"_2214":35507,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":35508,"_2222":35509},"vulnerabilities",[3629],[],[2972,35511],{"_2214":35512,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":35513,"_2222":35514},"vm",[3492,6561],[35515],[2214,35516],{"_2214":35517,"_2216":26818,"_2217":2227,"_2219":2214,"_2220":35518,"_2222":35519},"vmware",[5643],[],[11327,35521],{"_2214":35522,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":35523,"_2222":35524},"v5",[2631],[],[11353,35526],{"_2214":35527,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":35528,"_2222":35529},"v4",[2635,3591],[],[11320,35531],{"_2214":35532,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":35533,"_2222":35534},"v6",[2635],[],[5968,35536],{"_2214":35537,"_2216":35538,"_2217":2218,"_2219":5968,"_2220":35539,"_2222":35540},"v202","202",[],[35541,35547],[11327,35542],{"_2214":35543,"_2216":35544,"_2217":2227,"_2219":11327,"_2220":35545,"_2222":35546},"v20250814","50814",[6301],[],[11313,35548],{"_2214":35549,"_2216":35550,"_2217":2227,"_2219":11313,"_2220":35551,"_2222":35552},"v20231009","31009",[11736],[],[2216,35554],{"_2214":35555,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35556,"_2222":35557},"vs",[4828],[],[11313,35559],{"_2214":11313,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":35560,"_2222":35561},[2234,3081,3767,2239,3356,2240,6072,7537,7538,3055,5391,4457,4458,7539,5984,2249,3405,2250,2251,6260,3980,2255,2271,16539,16540,2275,2280,2286,4486,4487,2287,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,3772,2308,4510,2309,2310,2311,2312,6051,3259,3773,2317,3774,4360,2318,2319,2320,2322,2323,2324,2978,2325,3431,2326,2330,2331,3776,3777,2335,2336,2337,3432,3433,3434,2339,2340,2341,4645,3231,2346,2347,2349,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,3445,3263,3446,3447,4496,2356,2357,6300,8463,2359,3449,3450,3451,2360,2363,2365,2366,2368,3455,5511,5750,6052,3456,3457,2372,3779,2373,3060,3061,3062,3063,2394,2403,3480,22492,2429,2430,3481,3482,3483,2435,2436,2437,2440,2441,2447,2448,3485,2450,2451,2456,2484,16541,3214,3497,2504,3503,2576,3376,2604,3535,4518,5994,2632,7835,2633,7836,3268,2635,2636,2639,3269,3270,3189,2693,2703,3556,2705,3272,2707,2723,2729,15526,3567,2769,2770,3589,4394,2868,2884,8746,9890,2929,3038,3617,9892,9893,9894,9895,9896,9897,11285,11408,3620,3624,5481,6819,8022,8023,11736,3810,6820],[35562,35572,35617,35633,35643,35648,35653,35658,35662,35666],[3825,35563],{"_2214":35564,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":35565,"_2222":35566},"3g",[2244,2679],[35567],[3871,35568],{"_2214":35569,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":35570,"_2222":35571},"3gb",[2392],[],[11411,35573],{"_2214":35574,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":35575,"_2222":35576},"30",[3577,2884,2888],[35577,35582,35587],[11353,35578],{"_2214":35579,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":35580,"_2222":35581},"304",[2282],[],[2216,35583],{"_2214":35584,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35585,"_2222":35586},"30s",[2305],[],[11411,35588],{"_2214":35589,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":35590,"_2222":35591},"300",[],[35592,35607,35612],[11411,35593],{"_2214":35594,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":35595,"_2222":35596},"3000",[2692,2693],[35597],[11411,35598],{"_2214":35599,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":35600,"_2222":35601},"30000",[2374],[35602],[11411,35603],{"_2214":35604,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":35605,"_2222":35606},"300000",[2372],[],[6884,35608],{"_2214":35609,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":35610,"_2222":35611},"3001",[3795,2692,2693],[],[5968,35613],{"_2214":35614,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":35615,"_2222":35616},"3002",[3795,2692,2693],[],[5968,35618],{"_2214":35619,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":35620,"_2222":35621},"32",[2799],[35622,35627],[11327,35623],{"_2214":35624,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":35625,"_2222":35626},"325",[3510],[],[3280,35628],{"_2214":35629,"_2216":35630,"_2217":2227,"_2219":3280,"_2220":35631,"_2222":35632},"32-bits","-bits",[2901],[],[11353,35634],{"_2214":35635,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":35636,"_2222":35637},"34",[2833],[35638],[11411,35639],{"_2214":35640,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":35641,"_2222":35642},"340",[3510],[],[6884,35644],{"_2214":35645,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":35646,"_2222":35647},"31",[2799,3577,3578,4389,3585,2833,4391],[],[11327,35649],{"_2214":35650,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":35651,"_2222":35652},"35",[3578],[],[11346,35654],{"_2214":35655,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":35656,"_2222":35657},"37",[4389],[],[11320,35659],{"_2214":12102,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":35660,"_2222":35661},[3585],[],[11313,35663],{"_2214":12054,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":35664,"_2222":35665},[4391],[],[11375,35667],{"_2214":11406,"_2216":11375,"_2217":2218,"_2219":11375,"_2220":35668,"_2222":35669},[],[35670,35685],[11375,35671],{"_2214":35672,"_2216":11375,"_2217":2218,"_2219":11375,"_2220":35673,"_2222":35674},"388",[],[35675,35680],[11375,35676],{"_2214":35677,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":35678,"_2222":35679},"3888",[2950,2951],[],[11306,35681],{"_2214":35682,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":35683,"_2222":35684},"3889",[2951],[],[11306,35686],{"_2214":35687,"_2216":35688,"_2217":2227,"_2219":11306,"_2220":35689,"_2222":35690},"3890","90",[2951],[],[3304,35692],{"_2214":3304,"_2216":3304,"_2217":2227,"_2219":3304,"_2220":35693,"_2222":35694},[2781,2783],[35695,35766,35776,35806,35829,35852,35921,35936,35941,35947,35952,35999,36004,36009],[3017,35696],{"_2214":35697,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":35698,"_2222":35699},"jo",[],[35700,35726,35761],[3871,35701],{"_2214":35702,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":35703,"_2222":35704},"job",[2234,2600,4391],[35705,35710],[2216,35706],{"_2214":35707,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35708,"_2222":35709},"jobs",[2791,3577,2839],[],[2972,35711],{"_2214":35712,"_2216":4686,"_2217":2227,"_2219":2972,"_2220":35713,"_2222":35714},"jobmanager",[2814],[35715,35720],[2216,35716],{"_2214":35717,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35718,"_2222":35719},"jobmanagers",[2814],[],[4794,35721],{"_2214":35722,"_2216":35723,"_2217":2227,"_2219":4794,"_2220":35724,"_2222":35725},"jobmanager_high_availability","_high_availability",[4406],[],[3002,35727],{"_2214":35728,"_2216":7485,"_2217":2227,"_2219":3002,"_2220":35729,"_2222":35730},"join",[2368,3605,6683],[35731,35751,35756],[2217,35732],{"_2214":35733,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":35734,"_2222":35735},"joine",[],[35736,35741],[2220,35737],{"_2214":35738,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":35739,"_2222":35740},"joined",[2248,2261,2580,2746],[],[3220,35742],{"_2214":35743,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":35744,"_2222":35745},"joiner",[2459,2461,2462,3366,2464],[35746],[2216,35747],{"_2214":35748,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35749,"_2222":35750},"joiners",[2460,2463],[],[2216,35752],{"_2214":35753,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35754,"_2222":35755},"joins",[2368,2462],[],[3002,35757],{"_2214":35758,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":35759,"_2222":35760},"joining",[2459,2463],[],[3322,35762],{"_2214":29460,"_2216":35763,"_2217":2227,"_2219":3322,"_2220":35764,"_2222":35765},"hn",[2532,4896,2535,3508],[],[3066,35767],{"_2214":35768,"_2216":35512,"_2217":2227,"_2219":3066,"_2220":35769,"_2222":35770},"jvm",[2236,3355,5390,3444,2355,3179,2573,2635,2789,3619],[35771],[3030,35772],{"_2214":35773,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":35774,"_2222":35775},"jvm's",[2635],[],[3691,35777],{"_2214":35778,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":35779,"_2222":35780},"ju",[],[35781,35785,35789,35795,35800],[2216,35782],{"_2214":3307,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":35783,"_2222":35784},[2237,2248,2261,2361,2430,2439,2449,2462,2465,2512,2553,4469,2634,2705,2741,2754,2907,2922,2923],[],[3099,35786],{"_2214":12553,"_2216":5151,"_2217":2227,"_2219":3099,"_2220":35787,"_2222":35788},[18307,7038,6077,2363,2634,3395],[],[3207,35790],{"_2214":35791,"_2216":35792,"_2217":2227,"_2219":3207,"_2220":35793,"_2222":35794},"junqueira","nqueira",[2433,3553],[],[2972,35796],{"_2214":35797,"_2216":18033,"_2217":2227,"_2219":2972,"_2220":35798,"_2222":35799},"jump",[2568,2569],[],[3304,35801],{"_2214":35802,"_2216":35778,"_2217":2227,"_2219":3304,"_2220":35803,"_2222":35805},"juju",[35804],1570,[],[2972,35807],{"_2214":35808,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":35809,"_2222":35810},"jm",[],[35811,35824],[4309,35812],{"_2214":35813,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":35814,"_2222":35817},"jmx",[31488,2398,35815,2489,11267,2490,2491,4031,3492,2492,2493,2494,3214,3179,2495,4467,2500,35816,6920,2788,6801],736,804,[35818],[2222,35819],{"_2214":35820,"_2216":35821,"_2217":2227,"_2219":2222,"_2220":35822,"_2222":35823},"jmxconfigurator","configurator",[3214],[],[2216,35825],{"_2214":35826,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":35827,"_2222":35828},"jms",[2809],[],[2217,35830],{"_2214":35831,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":35832,"_2222":35833},"je",[],[35834,35846],[3099,35835],{"_2214":35836,"_2216":35837,"_2217":2227,"_2219":3099,"_2220":35838,"_2222":35839},"jetty","tty",[2240,2241,2255,5873,2987,2988,6301,6108,3629,3630,5338,3637],[35840],[3280,35841],{"_2214":35842,"_2216":35843,"_2217":2227,"_2219":3280,"_2220":35844,"_2222":35845},"jetty-http-9","-http-9",[11736],[],[4034,35847],{"_2214":35848,"_2216":35849,"_2217":2227,"_2219":4034,"_2220":35850,"_2222":35851},"jepsen","psen",[22008,2577,7275,3714],[],[2225,35853],{"_2214":35854,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":35855,"_2222":35856},"ja",[],[35857,35883,35888,35893,35898,35915],[3066,35858],{"_2214":35859,"_2216":35126,"_2217":2227,"_2219":3066,"_2220":35860,"_2222":35861},"java",[3401,2244,3254,3198,3770,2278,2280,3417,2281,3358,2282,2283,2284,2285,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,3773,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,2325,2326,2327,4488,2328,2329,2332,2333,2334,3776,3777,2335,2336,2337,3432,3433,3434,3435,2338,2340,2341,4645,7827,3231,2343,2344,2345,2346,2347,2349,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,6300,2359,3449,3450,2360,3452,5874,18307,2361,7038,6077,2363,2364,2365,4778,4779,5511,5750,6052,2370,2371,3456,3457,2372,2373,3458,2980,2981,2982,2983,2984,2985,2986,2987,2988,2374,2989,2386,5988,2387,3365,6262,2392,5790,2399,2449,3484,3485,3187,3649,2457,4327,3367,4328,2477,2479,3782,2487,2494,3784,3521,2573,3524,27929,32540,2595,32991,23254,2597,3529,3539,30987,3540,3541,2626,2627,2994,2635,2637,3377,2679,3553,2700,2790,2793,2812,2856,2943,4335,6659,4475],[35862,35868,35873,35878],[4794,35863],{"_2214":35864,"_2216":35865,"_2217":2227,"_2219":4794,"_2220":35866,"_2222":35867},"java_home","_home",[7827,7828],[],[4309,35869],{"_2214":35870,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":35871,"_2222":35872},"javax",[2345],[],[2216,35874],{"_2214":35875,"_2216":8461,"_2217":2227,"_2219":2216,"_2220":35876,"_2222":35877},"javase",[6262],[],[2220,35879],{"_2214":35880,"_2216":24667,"_2217":2227,"_2219":2220,"_2220":35881,"_2222":35882},"javadoc",[3377],[],[3220,35884],{"_2214":35885,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":35886,"_2222":35887},"jar",[7828,2934,11736],[],[2225,35889],{"_2214":35890,"_2216":3925,"_2217":2227,"_2219":2225,"_2220":35891,"_2222":35892},"jaas",[7834,7561],[],[2972,35894],{"_2214":35895,"_2216":21025,"_2217":2227,"_2219":2972,"_2220":35896,"_2222":35897},"james",[4379,2834],[],[4309,35899],{"_2214":35900,"_2216":35901,"_2217":2218,"_2219":4309,"_2220":35902,"_2222":35903},"jax-","x-",[],[35904,35910],[2214,35905],{"_2214":35906,"_2216":35907,"_2217":2227,"_2219":2214,"_2220":35908,"_2222":35909},"jax-ws","ws",[2809],[],[3220,35911],{"_2214":35912,"_2216":14873,"_2217":2227,"_2219":3220,"_2220":35913,"_2222":35914},"jax-rs",[2809],[],[2222,35916],{"_2214":35917,"_2216":35918,"_2217":2227,"_2219":2222,"_2220":35919,"_2222":35920},"jackson","ckson",[12420,7567,8464],[],[2216,35922],{"_2214":35923,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":35924,"_2222":35925},"js",[],[35926,35931],[3017,35927],{"_2214":35928,"_2216":3997,"_2217":2227,"_2219":3017,"_2220":35929,"_2222":35930},"json",[2255],[],[4034,35932],{"_2214":35933,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":35934,"_2222":35935},"jsp",[6262],[],[2219,35937],{"_2214":35938,"_2216":5558,"_2217":2227,"_2219":2219,"_2220":35939,"_2222":35940},"jks",[3406,2272,4461,2345,3260,3261,2632,2633,3268],[],[3002,35942],{"_2214":35943,"_2216":35944,"_2217":2227,"_2219":3002,"_2220":35945,"_2222":35946},"jira","ira",[2291],[],[3220,35948],{"_2214":35949,"_2216":3750,"_2217":2227,"_2219":3220,"_2220":35950,"_2222":35951},"jre",[7827,7828,6200],[],[2220,35953],{"_2214":35954,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":35955,"_2222":35956},"jd",[],[35957,35994],[2219,35958],{"_2214":35959,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":35960,"_2222":35961},"jdk",[3441,3263,3451,3365,6262,2494,2571,2573,9014],[35962,35967,35972,35977],[3030,35963],{"_2214":35964,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":35965,"_2222":35966},"jdk's",[2355],[],[4794,35968],{"_2214":35969,"_2216":35865,"_2217":2227,"_2219":4794,"_2220":35970,"_2222":35971},"jdk_home",[2494],[],[5968,35973],{"_2214":35974,"_2216":11889,"_2217":2227,"_2219":5968,"_2220":35975,"_2222":35976},"jdk20",[6003,6006],[],[6884,35978],{"_2214":35979,"_2216":6884,"_2217":2218,"_2219":6884,"_2220":35980,"_2222":35981},"jdk1",[],[35982,35988],[11375,35983],{"_2214":35984,"_2216":35985,"_2217":2227,"_2219":11375,"_2220":35986,"_2222":35987},"jdk18on","8on",[6111],[],[11327,35989],{"_2214":35990,"_2216":35991,"_2217":2227,"_2219":11327,"_2220":35992,"_2222":35993},"jdk15on","5on",[6111],[],[3871,35995],{"_2214":35996,"_2216":16267,"_2217":2227,"_2219":3871,"_2220":35997,"_2222":35998},"jdbc",[2831],[],[2222,36000],{"_2214":36001,"_2216":14114,"_2217":2227,"_2219":2222,"_2220":36002,"_2222":36003},"jconsole",[2489,2493,2494,3935],[],[3871,36005],{"_2214":36006,"_2216":30955,"_2217":2227,"_2219":3871,"_2220":36007,"_2222":36008},"jbi",[2809],[],[3193,36010],{"_2214":36011,"_2216":6144,"_2217":2227,"_2219":3193,"_2220":36012,"_2222":36013},"jline",[11408],[],[11353,36015],{"_2214":11353,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":36016,"_2222":36017},[3081,6071,2251,6260,2282,2287,3418,2290,3419,3771,2291,2305,2317,3431,3432,3443,2360,2447,2485,2526,3535,2638,3556,2706,7362,5995,5997,5998,4394,4410,2929,9893,3238,6301,11736,6266,7995,6005,7567,6115,7996],[36018,36028,36034,36043,36049,36054,36059],[3825,36019],{"_2214":36020,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":36021,"_2222":36022},"4g",[2244,2679],[36023],[3871,36024],{"_2214":36025,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":36026,"_2222":36027},"4gb",[2282,2392],[],[3193,36029],{"_2214":36030,"_2216":36031,"_2217":2227,"_2219":3193,"_2220":36032,"_2222":36033},"4lw","lw",[3055,2337,4598,2997],[],[11411,36035],{"_2214":12080,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":36036,"_2222":36037},[3556],[36038],[11411,36039],{"_2214":36040,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":36041,"_2222":36042},"400",[2288,2289],[],[5968,36044],{"_2214":36045,"_2216":36046,"_2217":2227,"_2219":5968,"_2220":36047,"_2222":36048},"425","25",[2433],[],[11313,36050],{"_2214":36051,"_2216":35655,"_2217":2227,"_2219":11313,"_2220":36052,"_2222":36053},"437",[2433],[],[3871,36055],{"_2214":36056,"_2216":30626,"_2217":2227,"_2219":3871,"_2220":36057,"_2222":36058},"4bytes",[2669],[],[11327,36060],{"_2214":36061,"_2216":36062,"_2217":2227,"_2219":11327,"_2220":36063,"_2222":36064},"4545","545",[2692,2693],[],[11411,36066],{"_2214":11411,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":36067,"_2222":36068},[3081,3767,2239,3356,2240,5391,4457,4458,7539,5984,2249,2250,2251,6260,3980,2255,2275,2284,2285,2286,4486,4487,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,2306,2308,4510,2309,2310,2311,2312,6051,3259,2315,3773,3774,4360,2318,2319,2320,2321,2322,2323,2324,2978,2325,3431,2326,2330,2331,2335,3434,3435,4645,2346,2347,2349,3645,2352,3260,2354,3261,3441,3444,2355,3263,3446,3447,4496,2356,2357,8463,2360,2365,2368,3455,5511,5750,6052,2370,3456,3457,2372,3779,2373,3060,3062,3063,2987,2394,3480,22492,2429,2430,3482,3483,2435,2436,2437,2440,2441,2447,2448,2456,16541,3214,3497,2504,2508,2524,3369,2545,6897,3376,2604,2608,7835,7836,3268,2635,2636,3795,2650,3982,3378,2658,2669,2688,3189,5778,2692,2693,2703,3556,2706,3272,2707,2723,2729,4410,2868,2910,3038,3616,9897,3620,3622,3623,3624,11884,3810,6005],[36069,36194,36214,36219,36258,36273,36279],[3871,36070],{"_2214":36071,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":36072,"_2222":36073},"0b",[],[36074,36187],[11411,36075],{"_2214":36076,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":36077,"_2222":36078},"0b0",[],[36079,36169],[11411,36080],{"_2214":36081,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":36082,"_2222":36083},"0b00",[],[36084,36162],[11411,36085],{"_2214":36086,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":36087,"_2222":36088},"0b000",[],[36089,36155],[11411,36090],{"_2214":36091,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":36092,"_2222":36093},"0b0000",[],[36094,36148],[11411,36095],{"_2214":36096,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":36097,"_2222":36098},"0b00000",[],[36099,36141],[11411,36100],{"_2214":36101,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":36102,"_2222":36103},"0b000000",[],[36104,36134],[11411,36105],{"_2214":36106,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":36107,"_2222":36108},"0b0000000",[],[36109,36127],[11411,36110],{"_2214":36111,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":36112,"_2222":36113},"0b00000000",[],[36114,36120],[11411,36115],{"_2214":36116,"_2216":35035,"_2217":2227,"_2219":11411,"_2220":36117,"_2222":36119},"0b0000000000",[36118],80,[],[6884,36121],{"_2214":36122,"_2216":36123,"_2217":2227,"_2219":6884,"_2220":36124,"_2222":36126},"0b0000000010","10",[36125],82,[],[6884,36128],{"_2214":36129,"_2216":36130,"_2217":2227,"_2219":6884,"_2220":36131,"_2222":36133},"0b0000000100","100",[36132],84,[],[6884,36135],{"_2214":36136,"_2216":36137,"_2217":2227,"_2219":6884,"_2220":36138,"_2222":36140},"0b0000001000","1000",[36139],86,[],[6884,36142],{"_2214":36143,"_2216":36144,"_2217":2227,"_2219":6884,"_2220":36145,"_2222":36147},"0b0000010000","10000",[36146],88,[],[6884,36149],{"_2214":36150,"_2216":36151,"_2217":2227,"_2219":6884,"_2220":36152,"_2222":36154},"0b0000100000","100000",[36153],90,[],[6884,36156],{"_2214":36157,"_2216":36158,"_2217":2227,"_2219":6884,"_2220":36159,"_2222":36161},"0b0001000000","1000000",[36160],92,[],[6884,36163],{"_2214":36164,"_2216":36165,"_2217":2227,"_2219":6884,"_2220":36166,"_2222":36168},"0b0010000000","10000000",[36167],94,[],[6884,36170],{"_2214":36171,"_2216":36130,"_2217":2218,"_2219":6884,"_2220":36172,"_2222":36173},"0b0100",[],[36174,36181],[11411,36175],{"_2214":36176,"_2216":36177,"_2217":2227,"_2219":11411,"_2220":36178,"_2222":36180},"0b0100000000","000000",[36179],96,[],[6884,36182],{"_2214":36183,"_2216":36184,"_2217":2227,"_2219":6884,"_2220":36185,"_2222":36186},"0b0100110010","110010",[2254],[],[6884,36188],{"_2214":36189,"_2216":36190,"_2217":2227,"_2219":6884,"_2220":36191,"_2222":36193},"0b1000000000","1000000000",[36192],98,[],[11411,36195],{"_2214":35035,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":36196,"_2222":36197},[],[36198,36209],[11411,36199],{"_2214":36200,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":36201,"_2222":36202},"000",[2280,2281,3358],[36203],[11411,36204],{"_2214":36205,"_2216":36206,"_2217":2227,"_2219":11411,"_2220":36207,"_2222":36208},"0000000001","0000001",[2669],[],[5968,36210],{"_2214":36211,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":36212,"_2222":36213},"002",[2300],[],[5968,36215],{"_2214":36216,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":36217,"_2222":36218},"02",[2299],[],[4309,36220],{"_2214":36221,"_2216":4309,"_2217":2218,"_2219":4309,"_2220":36222,"_2222":36223},"0x",[],[36224,36230,36236,36252],[3085,36225],{"_2214":36226,"_2216":36227,"_2217":2227,"_2219":3085,"_2220":36228,"_2222":36229},"0xfffff","fffff",[2361,2634],[],[6884,36231],{"_2214":36232,"_2216":36233,"_2217":2227,"_2219":6884,"_2220":36234,"_2222":36235},"0x1_1","1_1",[3506],[],[5968,36237],{"_2214":36238,"_2216":36239,"_2217":2218,"_2219":5968,"_2220":36240,"_2222":36241},"0x2_","2_",[],[36242,36247],[6884,36243],{"_2214":36244,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":36245,"_2222":36246},"0x2_1",[2533],[],[2225,36248],{"_2214":36249,"_2216":2225,"_2217":2227,"_2219":2225,"_2220":36250,"_2222":36251},"0x2_a",[8373,3507,4896],[],[11313,36253],{"_2214":36254,"_2216":36255,"_2217":2227,"_2219":11313,"_2220":36256,"_2222":36257},"0x3_1","3_1",[4890],[],[3280,36259],{"_2214":36260,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":36261,"_2222":36262},"0-",[],[36263,36268],[2972,36264],{"_2214":36265,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":36266,"_2222":36267},"0-m",[3455],[],[3207,36269],{"_2214":36270,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":36271,"_2222":36272},"0-n",[3455],[],[6884,36274],{"_2214":36275,"_2216":36276,"_2217":2227,"_2219":6884,"_2220":36277,"_2222":36278},"010d","10d",[2669],[],[11346,36280],{"_2214":36281,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":36282,"_2222":36283},"07",[2683],[],[4309,36285],{"_2214":4309,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":36286,"_2222":36287},[2317,2329,2333,2334,4496,8463,6864,2448,13761,2638,2641,3188,3800,2747,2749,2752,3591,4113,2951,3617,11408],[36288,36293,36299,36332,36337,36343,36348,36352],[2972,36289],{"_2214":36290,"_2216":30180,"_2217":2227,"_2219":2972,"_2220":36291,"_2222":36292},"xml",[2235,5064,3214,4938,2809],[],[3280,36294],{"_2214":36295,"_2216":36296,"_2217":2227,"_2219":3280,"_2220":36297,"_2222":36298},"x-forwarded-for","-forwarded-for",[3231,5895,11878],[],[11327,36300],{"_2214":36301,"_2216":36302,"_2217":2218,"_2219":11327,"_2220":36303,"_2222":36304},"x50","50",[],[36305,36327],[11306,36306],{"_2214":36307,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":36308,"_2222":36309},"x509",[2983,3514,2620,4922],[36310,36315,36321],[2225,36311],{"_2214":36312,"_2216":4855,"_2217":2227,"_2219":2225,"_2220":36313,"_2222":36314},"x509authenticationprovider",[2343,2344,2345,3942],[],[2219,36316],{"_2214":36317,"_2216":36318,"_2217":2227,"_2219":2219,"_2220":36319,"_2222":36320},"x509keymanager","keymanager",[2345],[],[3099,36322],{"_2214":36323,"_2216":36324,"_2217":2227,"_2219":3099,"_2220":36325,"_2222":36326},"x509trustmanager","trustmanager",[2345],[],[11411,36328],{"_2214":36329,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":36330,"_2222":36331},"x500",[2343,2620],[],[3640,36333],{"_2214":17612,"_2216":36334,"_2217":2227,"_2219":3640,"_2220":36335,"_2222":36336},"yz",[2624],[],[4309,36338],{"_2214":36339,"_2216":36340,"_2217":2227,"_2219":4309,"_2220":36341,"_2222":36342},"xxxx","xxx",[2634],[],[3099,36344],{"_2214":36345,"_2216":21900,"_2217":2227,"_2219":3099,"_2220":36346,"_2222":36347},"xth",[2749],[],[2220,36349],{"_2214":28157,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":36350,"_2222":36351},[2800,3577],[],[2217,36353],{"_2214":36354,"_2216":36355,"_2217":2227,"_2219":2217,"_2220":36356,"_2222":36357},"xeon","eon",[2884],[],[5252,36359],{"_2214":5252,"_2216":5252,"_2217":2227,"_2219":5252,"_2220":36360,"_2222":36361},[2690],[36362],[3691,36363],{"_2214":8804,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":36364,"_2222":36365},[],[36366,36392,36456,36545],[3002,36367],{"_2214":36368,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":36369,"_2222":36370},"qui",[],[36371,36381],[2222,36372],{"_2214":36373,"_2216":13506,"_2217":2227,"_2219":2222,"_2220":36374,"_2222":36375},"quick",[2573,25612],[36376],[3193,36377],{"_2214":36378,"_2216":3196,"_2217":2227,"_2219":3193,"_2220":36379,"_2222":36380},"quickly",[2237,2293,2294,2503,2797,2889,7276],[],[3099,36382],{"_2214":36383,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":36384,"_2222":36386},"quit",[36385,13334,4605],562,[36387],[2217,36388],{"_2214":36389,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":36390,"_2222":36391},"quite",[2605,6122],[],[2217,36393],{"_2214":34630,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":36394,"_2222":36395},[],[36396,36430,36450],[3691,36397],{"_2214":12580,"_2216":35136,"_2217":2227,"_2219":3691,"_2220":36398,"_2222":36399},[7537,6051,2321,3427,2370,2371,3524,22009,3525,2578,2586,2587,2588,2629,2669,3553,2752,2753,2754,2791],[36400,36409,36415],[2220,36401],{"_2214":32393,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":36402,"_2222":36403},[2244,2280,2305,3772,2679],[36404],[3220,36405],{"_2214":36406,"_2216":8858,"_2217":2227,"_2219":3220,"_2220":36407,"_2222":36408},"queuedrequests",[2370],[],[2216,36410],{"_2214":36411,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":36412,"_2222":36414},"queues",[2260,18475,3525,3204,3553,3554,3562,36413,18890,3383,2741,2752,2755],1464,[],[3280,36416],{"_2214":36417,"_2216":3280,"_2217":2227,"_2219":3280,"_2220":36418,"_2222":36419},"queue-",[2752],[36420,36425],[4309,36421],{"_2214":36422,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":36423,"_2222":36424},"queue-x",[2752],[],[3640,36426],{"_2214":36427,"_2216":30344,"_2217":2227,"_2219":3640,"_2220":36428,"_2222":36429},"queue-yy",[2754],[],[3220,36431],{"_2214":36432,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":36433,"_2222":36434},"quer",[],[36435,36445],[3640,36436],{"_2214":36437,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":36438,"_2222":36439},"query",[2264,2513,2635,2775,3579,2810],[36440],[3002,36441],{"_2214":36442,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":36443,"_2222":36444},"querying",[2537],[],[3002,36446],{"_2214":36447,"_2216":8156,"_2217":2227,"_2219":3002,"_2220":36448,"_2222":36449},"queries",[2547,2635],[],[2216,36451],{"_2214":36452,"_2216":36453,"_2217":2227,"_2219":2216,"_2220":36454,"_2222":36455},"question","stion",[2676],[],[3017,36457],{"_2214":36458,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":36459,"_2222":36460},"quo",[],[36461,36530],[3220,36462],{"_2214":13582,"_2216":36463,"_2217":2227,"_2219":3220,"_2220":36464,"_2222":36466},"rum",[2248,8206,8207,3406,3409,2261,3411,22857,5985,3412,3414,2273,2281,2282,5182,2322,2323,2326,2331,2333,3432,3433,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,3445,3446,4496,2358,3448,2360,3454,2368,2394,13759,3480,2430,2458,2459,2460,2463,2466,6248,2471,2473,2476,3491,2481,3783,2492,36465,4467,3497,3264,2514,2515,3504,6347,2522,2523,3370,2544,6353,2547,2556,2557,2560,2575,2663,2707,2717,2805,2814,2841,3606,2898,2900,2904,2906,2907,2909,2913,2916,2917,2919,2921,2925,2926,2927,2928,2929,2944,2946,2948,2951,6683,11582,4828],760,[36467,36499,36506,36512,36518,36524],[4034,36468],{"_2214":36469,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":36470,"_2222":36471},"quorump",[],[36472,36478],[2225,36473],{"_2214":36474,"_2216":36475,"_2217":2227,"_2219":2225,"_2220":36476,"_2222":36477},"quorumpacket","acket",[3430],[],[2217,36479],{"_2214":36480,"_2216":36481,"_2217":2218,"_2219":2217,"_2220":36482,"_2222":36483},"quorumpeer","eer",[],[36484,36494],[2222,36485],{"_2214":36486,"_2216":13739,"_2217":2227,"_2219":2222,"_2220":36487,"_2222":36488},"quorumpeerconfig",[3370,6107],[36489],[3030,36490],{"_2214":36491,"_2216":3033,"_2217":2227,"_2219":3030,"_2220":36492,"_2222":36493},"quorumpeerconfig's",[2335,2336],[],[2972,36495],{"_2214":36496,"_2216":20067,"_2217":2227,"_2219":2972,"_2220":36497,"_2222":36498},"quorumpeermain",[2398,2492,2494],[],[2216,36500],{"_2214":36501,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":36502,"_2222":36505},"quorums",[2334,36503,3504,29949,2520,2522,36504,2900,2927,2928,2929,2930],885,1857,[],[2222,36507],{"_2214":36508,"_2216":36509,"_2217":2227,"_2219":2222,"_2220":36510,"_2222":36511},"quorumcnxntimeoutms","cnxntimeoutms",[3777],[],[3193,36513],{"_2214":36514,"_2216":36515,"_2217":2227,"_2219":3193,"_2220":36516,"_2222":36517},"quorumlistenonallips","listenonallips",[3232],[],[3017,36519],{"_2214":36520,"_2216":36521,"_2217":2227,"_2219":3017,"_2220":36522,"_2222":36523},"quorumoraclemaj","oraclemaj",[2524,2527,3650,3370],[],[2972,36525],{"_2214":36526,"_2216":36527,"_2217":2227,"_2219":2972,"_2220":36528,"_2222":36529},"quorummaj","maj",[3370],[],[3099,36531],{"_2214":24065,"_2216":21542,"_2217":2227,"_2219":3099,"_2220":36532,"_2222":36533},[2308,5477,2415,2419,2426,6921,3786,6086,2550,3044,6255,4468,2551,2552,5990,2553,2554,2555],[36534,36540],[2217,36535],{"_2214":36536,"_2216":36537,"_2217":2227,"_2219":2217,"_2220":36538,"_2222":36539},"quotaexceededexception","exceededexception",[2308,2553],[],[2216,36541],{"_2214":36542,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":36543,"_2222":36544},"quotas",[3511,26287,28809,24000,2549,3044,2551,2553],[],[2225,36546],{"_2214":36547,"_2216":4609,"_2217":2218,"_2219":2225,"_2220":36548,"_2222":36549},"quali",[],[36550,36556],[3085,36551],{"_2214":36552,"_2216":36553,"_2217":2227,"_2219":3085,"_2220":36554,"_2222":36555},"qualified","fied",[3236],[],[3099,36557],{"_2214":36558,"_2216":14768,"_2217":2227,"_2219":3099,"_2220":36559,"_2222":36560},"quality",[3584,2845],[],[6884,36562],{"_2214":6884,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":36563,"_2222":36564},[3644,6072,7537,7538,3405,2280,2281,2282,2290,2296,2297,2303,2320,2325,3431,2334,3433,2344,3363,3447,4361,2363,4778,3455,5511,2371,3061,3365,2395,2403,32538,2445,2446,3489,3490,2485,3503,2508,3160,2521,2524,3369,3651,2538,3509,2541,6897,2574,2606,2607,2642,3795,2658,2692,2693,2748,7361,7164,3569,2760,2767,2768,2769,2770,3570,4398,4410,3603,9890,2894,2900,2910,2929,3616,9896,4334,3238,3620,3622,3623,3624,6819,8022,3239,12420,6820,7995,6005,6115,6302,7996],[36565,36625,36640,36666,36698,36703,36708,36713,36719,36728,36737,36747,36757,36762,36767],[11411,36566],{"_2214":36123,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":36567,"_2222":36568},[2290,3258,2292,2313,3260,3261,3441,3444,2355,3451,2372,2373,3365,3483,2435,11269,2539,3510,2635,2636,2669,3603,2949,3239],[36569,36596,36601,36607,36613,36619],[11411,36570],{"_2214":36130,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":36571,"_2222":36572},[2281,3358,2309,2314,2318,2592,2593,13239],[36573,36591],[11411,36574],{"_2214":36137,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":36575,"_2222":36576},[2280,2287,3257,3212,2307,2357],[36577,36581,36586],[11411,36578],{"_2214":36144,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":36579,"_2222":36580},[7537,6051,3457],[],[2972,36582],{"_2214":36583,"_2216":21436,"_2217":2227,"_2219":2972,"_2220":36584,"_2222":36585},"1000ms",[7538],[],[2216,36587],{"_2214":36588,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":36589,"_2222":36590},"1000s",[2833],[],[2216,36592],{"_2214":36593,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":36594,"_2222":36595},"100s",[2833],[],[2972,36597],{"_2214":36598,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":36599,"_2222":36600},"10m",[2290],[],[11306,36602],{"_2214":36603,"_2216":36604,"_2217":2227,"_2219":11306,"_2220":36605,"_2222":36606},"1099511627775","99511627775",[2291],[],[3280,36608],{"_2214":36609,"_2216":36610,"_2217":2227,"_2219":3280,"_2220":36611,"_2222":36612},"10-20","-20",[2306],[],[5968,36614],{"_2214":36615,"_2216":36616,"_2217":2227,"_2219":5968,"_2220":36617,"_2222":36618},"1024","24",[2318,2363],[],[11353,36620],{"_2214":36621,"_2216":36622,"_2217":2227,"_2219":11353,"_2220":36623,"_2222":36624},"1048575","48575",[2361,2634],[],[5968,36626],{"_2214":36627,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":36628,"_2222":36629},"12",[3365,3591,11285,4334,6819],[36630,36635],[11375,36631],{"_2214":36632,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":36633,"_2222":36634},"128",[2257],[],[11346,36636],{"_2214":36637,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":36638,"_2222":36639},"127",[2291,2508,6897,3795,2692,2693,3616],[],[11306,36641],{"_2214":12027,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":36642,"_2222":36643},[2608],[36644,36649,36654,36660],[11353,36645],{"_2214":36646,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":36647,"_2222":36648},"194",[2282],[],[5968,36650],{"_2214":36651,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":36652,"_2222":36653},"192",[3503],[],[3322,36655],{"_2214":36656,"_2216":36657,"_2217":2227,"_2219":3322,"_2220":36658,"_2222":36659},"19h2","h2",[2539],[],[11306,36661],{"_2214":36662,"_2216":36663,"_2217":2227,"_2219":11306,"_2220":36664,"_2222":36665},"1991","91",[3510],[],[6884,36667],{"_2214":11342,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":36668,"_2222":36669},[2365,3365,9555],[36670,36676,36682],[11327,36671],{"_2214":36672,"_2216":36673,"_2217":2227,"_2219":11327,"_2220":36674,"_2222":36675},"1152921504606846975","52921504606846975",[2291],[],[11353,36677],{"_2214":36678,"_2216":36679,"_2217":2227,"_2219":11353,"_2220":36680,"_2222":36681},"1145","45",[3510],[],[5968,36683],{"_2214":36684,"_2216":36685,"_2217":2218,"_2219":5968,"_2220":36686,"_2222":36687},"1126","26",[],[36688,36693],[11411,36689],{"_2214":36690,"_2216":35035,"_2217":2227,"_2219":11411,"_2220":36691,"_2222":36692},"112600",[3510],[],[5968,36694],{"_2214":36695,"_2216":12270,"_2217":2227,"_2219":5968,"_2220":36696,"_2222":36697},"112627",[3510],[],[11353,36699],{"_2214":36700,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":36701,"_2222":36702},"14",[2305,11884],[],[2216,36704],{"_2214":36705,"_2216":5676,"_2217":2227,"_2219":2216,"_2220":36706,"_2222":36707},"1st",[3426],[],[2972,36709],{"_2214":36710,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":36711,"_2222":36712},"1m",[2361,2634,2667],[],[3280,36714],{"_2214":36715,"_2216":36716,"_2217":2227,"_2219":3280,"_2220":36717,"_2222":36718},"1-n","-n",[3455],[],[11320,36720],{"_2214":12197,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":36721,"_2222":36722},[2606,2607,2608,2688,2850],[36723],[11375,36724],{"_2214":36725,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":36726,"_2222":36727},"168",[3503],[],[11327,36729],{"_2214":11445,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":36730,"_2222":36731},[2539,2683,2850,2854,3620,3624,8022,8464],[36732],[2219,36733],{"_2214":36734,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":36735,"_2222":36736},"15k",[2884],[],[11346,36738],{"_2214":36739,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":36740,"_2222":36741},"17",[2846,9014],[36742],[5968,36743],{"_2214":36744,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":36745,"_2222":36746},"172",[2606,2607,2688],[],[11313,36748],{"_2214":36749,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":36750,"_2222":36751},"13",[3591,3620,3622,3623,3624,12420,7567],[36752],[11411,36753],{"_2214":36754,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":36755,"_2222":36756},"130",[3238],[],[11375,36758],{"_2214":36759,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":36760,"_2222":36761},"18",[2846],[],[2219,36763],{"_2214":36764,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":36765,"_2222":36766},"1k",[2884],[],[3825,36768],{"_2214":36769,"_2216":36770,"_2217":2227,"_2219":3825,"_2220":36771,"_2222":36772},"1gb","gb",[3395],[],[11346,36774],{"_2214":11346,"_2216":11346,"_2217":2227,"_2219":11346,"_2220":36775,"_2222":36776},[3644,6072,7537,7538,2308,2320,2322,2323,2324,2340,4645,2349,3645,3260,3261,3262,3447,4496,2357,2363,2365,3061,2467,2539,3535,3268,4394,4398,2888,11736,3810,6266,12245],[36777,36782],[11411,36778],{"_2214":36779,"_2216":36200,"_2217":2227,"_2219":11411,"_2220":36780,"_2222":36781},"7000",[2241,7547],[],[11320,36783],{"_2214":36784,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":36785,"_2222":36786},"76",[7995],[],[11320,36788],{"_2214":11320,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":36789,"_2222":36790},[3767,2239,3356,3980,2289,3419,3771,2291,3255,3256,3257,3258,3212,2292,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,4510,2309,2310,2311,2312,6051,3259,3773,2317,3774,4360,2318,2319,3431,2326,2330,2331,3433,2346,2347,3260,3261,3446,2356,2357,2365,2368,3456,3457,2372,3779,2373,3062,2394,2403,2436,2447,2458,2467,2469,3497,2504,7719,3268,3189,2723,2729,10124,7164,2772,2868,4334,12245],[36791,36796,36811,36820,36826],[3825,36792],{"_2214":36793,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":36794,"_2222":36795},"6g",[2244],[],[11353,36797],{"_2214":30746,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":36798,"_2222":36799},[2253],[36800,36806],[3280,36801],{"_2214":36802,"_2216":36803,"_2217":2227,"_2219":3280,"_2220":36804,"_2222":36805},"64-bit","-bit",[2252,2254,2694,2901],[],[2972,36807],{"_2214":36808,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":36809,"_2222":36810},"64m",[3417],[],[11411,36812],{"_2214":11469,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":36813,"_2222":36814},[2285,2636],[36815],[11411,36816],{"_2214":36817,"_2216":36200,"_2217":2227,"_2219":11411,"_2220":36818,"_2222":36819},"60000",[3456],[],[3280,36821],{"_2214":36822,"_2216":36823,"_2217":2227,"_2219":3280,"_2220":36824,"_2222":36825},"6-node","-node",[3477],[],[4794,36827],{"_2214":36828,"_2216":36829,"_2217":2227,"_2219":4794,"_2220":36830,"_2222":36831},"6_6","_6",[4402,4403],[],[11375,36833],{"_2214":11375,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":36834,"_2222":36835},[2240,2320,2352,2354,3447,6300,8463,2359,3449,3365,2458,2467,2469,16541,3214,3535,7835,7836,3038,6820],[36836,36851],[11411,36837],{"_2214":36838,"_2216":11411,"_2217":2218,"_2219":11411,"_2220":36839,"_2222":36840},"80",[],[36841,36846],[11375,36842],{"_2214":36843,"_2216":36838,"_2217":2227,"_2219":11375,"_2220":36844,"_2222":36845},"8080",[2255,2988],[],[3825,36847],{"_2214":36848,"_2216":36770,"_2217":2227,"_2219":3825,"_2220":36849,"_2222":36850},"80gb",[3365],[],[11320,36852],{"_2214":36853,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":36854,"_2222":36855},"86",[6115],[],[2219,36857],{"_2214":2219,"_2216":2219,"_2217":2227,"_2219":2219,"_2220":36858,"_2222":36859},[2372,2894],[36860,36964,37015,37021,37042,37065,37071],[2217,36861],{"_2214":4754,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":36862,"_2222":36863},[],[36864,36901,36938,36953],[3640,36865],{"_2214":26379,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":36866,"_2222":36868},[2243,2272,6049,2276,2345,3498,3939,36867,3513,7550,7834,2678,2718,2720,2804,7565],835,[36869,36885,36895],[2216,36870],{"_2214":36871,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":36872,"_2222":36873},"keys",[3254,2272,3268],[36874],[3099,36875],{"_2214":36876,"_2216":36877,"_2217":2227,"_2219":3099,"_2220":36878,"_2222":36879},"keystore","tore",[3406,2272,6049,2351,2352,3260,3363,3446,3447,2632,7835,3268],[36880],[2216,36881],{"_2214":36882,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":36883,"_2222":36884},"keystores",[3413,3260],[],[2214,36886],{"_2214":36887,"_2216":19407,"_2217":2227,"_2219":2214,"_2220":36888,"_2222":36889},"keyword",[3770,6079,2442],[36890],[2216,36891],{"_2214":36892,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":36893,"_2222":36894},"keywords",[3769,2441],[],[3280,36896],{"_2214":36897,"_2216":36898,"_2217":2227,"_2219":3280,"_2220":36899,"_2222":36900},"key-value","-value",[3597],[],[2217,36902],{"_2214":36903,"_2216":24559,"_2217":2227,"_2219":2217,"_2220":36904,"_2222":36905},"keep",[2292,2578,2634,2635,2699,2858],[36906,36910,36928,36933],[2225,36907],{"_2214":23026,"_2216":4624,"_2217":2227,"_2219":2225,"_2220":36908,"_2222":36909},[3432,3433],[],[2217,36911],{"_2214":36912,"_2216":36913,"_2217":2218,"_2219":2217,"_2220":36914,"_2222":36915},"keepere","ere",[],[36916,36922],[3220,36917],{"_2214":36918,"_2216":36919,"_2217":2227,"_2219":3220,"_2220":36920,"_2222":36921},"keepererrorcode","rrorcode",[2412],[],[4309,36923],{"_2214":36924,"_2216":36925,"_2217":2227,"_2219":4309,"_2220":36926,"_2222":36927},"keeperexception","xception",[3526,3377,3548,3037],[],[3002,36929],{"_2214":36930,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":36931,"_2222":36932},"keeping",[2431,2711,2926],[],[2216,36934],{"_2214":36935,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":36936,"_2222":36937},"keeps",[3393],[],[3220,36939],{"_2214":10849,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":36940,"_2222":36941},[],[36942,36948],[3871,36943],{"_2214":36944,"_2216":36945,"_2217":2227,"_2219":3871,"_2220":36946,"_2222":36947},"kerberos","beros",[3933,3934,4496,3448,3654,2631,4475],[],[3207,36949],{"_2214":36950,"_2216":15385,"_2217":2227,"_2219":3207,"_2220":36951,"_2222":36952},"kernel",[2850],[],[4034,36954],{"_2214":36955,"_2216":5075,"_2217":2227,"_2219":4034,"_2220":36956,"_2222":36957},"kept",[2699,2857,2888],[36958],[2222,36959],{"_2214":36960,"_2216":15232,"_2217":2227,"_2219":2222,"_2220":36961,"_2222":36963},"keptcollections",[36962,2793,2794],1572,[],[3002,36965],{"_2214":31530,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":36966,"_2222":36967},[],[36968,36994,37000],[3193,36969],{"_2214":36970,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":36971,"_2222":36972},"kil",[],[36973,36984],[3017,36974],{"_2214":36975,"_2216":36976,"_2217":2227,"_2219":3017,"_2220":36977,"_2222":36978},"kilobyte","obyte",[2864],[36979],[2216,36980],{"_2214":36981,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":36982,"_2222":36983},"kilobytes",[3417,2362,2634,2667],[],[3193,36985],{"_2214":36986,"_2216":3193,"_2217":2227,"_2219":3193,"_2220":36987,"_2222":36988},"kill",[3530],[36989],[2216,36990],{"_2214":36991,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":36992,"_2222":36993},"kills",[12927],[],[2222,36995],{"_2214":36996,"_2216":36997,"_2217":2227,"_2219":2222,"_2220":36998,"_2222":36999},"kicks","cks",[3532,2602],[],[3207,37001],{"_2214":37002,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":37003,"_2222":37004},"kin",[],[37005,37010],[2220,37006],{"_2214":37007,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":37008,"_2222":37009},"kind",[2614,2721],[],[3002,37011],{"_2214":37012,"_2216":8144,"_2217":2227,"_2219":3002,"_2220":37013,"_2222":37014},"kinit",[11275],[],[3691,37016],{"_2214":37017,"_2216":37018,"_2217":2227,"_2219":3691,"_2220":37019,"_2222":37020},"kubernetes","ubernetes",[3434],[],[3207,37022],{"_2214":37023,"_2216":34137,"_2217":2227,"_2219":3207,"_2220":37024,"_2222":37025},"know",[2390,2394,2463,2655,2668,3799,2676,2699,2712,2714,2717,2742,2860],[37026,37031,37037],[3207,37027],{"_2214":37028,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":37029,"_2222":37030},"known",[2370,2371,2388,3649,2523,4896,2848],[],[3193,37032],{"_2214":37033,"_2216":37034,"_2217":2227,"_2219":3193,"_2220":37035,"_2222":37036},"knowledge","ledge",[4031],[],[2216,37038],{"_2214":37039,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":37040,"_2222":37041},"knows",[4113],[],[2225,37043],{"_2214":37044,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":37045,"_2222":37046},"ka",[],[37047,37054,37060],[3099,37048],{"_2214":37049,"_2216":37050,"_2217":2227,"_2219":3099,"_2220":37051,"_2222":37053},"katta","tta",[37052,2792],1571,[],[3085,37055],{"_2214":37056,"_2216":37057,"_2217":2227,"_2219":3085,"_2220":37058,"_2222":37059},"kafka","fka",[4380,3578,3585,2835,4390,2836],[],[3220,37061],{"_2214":37062,"_2216":33146,"_2217":2227,"_2219":3220,"_2220":37063,"_2222":37064},"karl",[2854],[],[3640,37066],{"_2214":37067,"_2216":37068,"_2217":2227,"_2219":3640,"_2220":37069,"_2222":37070},"kylin","ylin",[4381,3388,4391],[],[3017,37072],{"_2214":37073,"_2216":37074,"_2217":2227,"_2219":3017,"_2220":37075,"_2222":37076},"kooburat","ooburat",[2854],[],[11327,37078],{"_2214":11327,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":37079,"_2222":37080},[3055,3405,2255,4324,2264,2271,16539,16540,2275,2290,3419,3771,2291,2305,2317,2335,2336,2337,3432,2339,3362,2351,3260,2353,3261,3439,3440,3441,3363,3442,3155,3444,2355,3262,3445,3446,2359,2363,2366,3455,5511,5750,6052,2372,2980,3063,2403,3480,22492,2429,2430,3481,3482,2437,2440,2441,2447,2448,3485,2450,2451,2456,2472,2485,2526,2547,4518,5994,2632,2633,3268,3269,3270,2705,3272,2707,7552,3568,2749,7165,2771,2949,9892,3239,6005],[37081,37090,37095,37100,37105,37110],[11411,37082],{"_2214":36302,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":37083,"_2222":37084},[2305],[37085],[11411,37086],{"_2214":37087,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":37088,"_2222":37089},"500",[2280,3358],[],[3322,37091],{"_2214":37092,"_2216":3322,"_2217":2227,"_2219":3322,"_2220":37093,"_2222":37094},"5h",[2290],[],[3280,37096],{"_2214":37097,"_2216":36823,"_2217":2227,"_2219":3280,"_2220":37098,"_2222":37099},"5-node",[3477],[],[11306,37101],{"_2214":37102,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":37103,"_2222":37104},"59",[3543],[],[11375,37106],{"_2214":37107,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":37108,"_2222":37109},"58",[6301],[],[11313,37111],{"_2214":37112,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":37113,"_2222":37114},"53",[11736],[],[3280,37116],{"_2214":3280,"_2216":3280,"_2217":2227,"_2219":3280,"_2220":37117,"_2222":37118},[6216,2366,9607,2376,6021,2377,2384,3365,2598,2648,3547,3797,2668,2676,2683,2693,2718,2741,3952,3953,2788,2796,3577,2818,2819,2821,2822,2823,2857,2870,5594,2871,2872,2873,9892,9893,9894,9895,9896,9897,4415,8741,11285,4922,9014,4334,3618,6001,11408,3619,3162,11981,6107,5336,8021,3238,6301,11286,5191,2956,12127,4217,8367,7634,7560,5192,6640,3625,8428,6683,4827,6108,12007,2957,2958,5481,7754,12049,4473,6200,6923,6819,2959,11582,4159,8022,4598,7561,7562,8052,2996,8023,5482,7563,6109,12092,7157,12298,4474,3626,3627,7419,7564,5483,4851,3395,11736,4335,3628,5895,11878,6122,11287,11884,6110,7706,5193,6659,3810,2997,11180,2998,4336,3629,10641,3300,3163,3164,10320,4828,3239,3630,11674,8673,6266,11440,11416,8674,2960,5858,8675,8053,6002,9015,8361,7158,4475,8151,12420,7883,12436,4605,3631,10337,3632,6003,8024,6004,6111,6820,2999,2961,11453,7565,3811,6112,3633,6801,3301,9057,5979,9397,3217,3634,7606,9016,2962,7995,10822,2963,3716,8854,6113,7566,3165,5738,3921,6005,6821,7567,4490,5337,4540,8025,6006,2964,5484,11628,3635,6007,3636,5338,6114,9017,6115,6302,12245,3637,3240,7996,8464],[37119,37124,37144,37153,37164,37169,37173,37177,37182,37192,37196,37278,37283,37298,37304,37309],[2225,37120],{"_2214":37121,"_2216":4614,"_2217":2227,"_2219":2225,"_2220":37122,"_2222":37123},"-alias",[2272],[],[2220,37125],{"_2214":37126,"_2216":2220,"_2217":2227,"_2219":2220,"_2220":37127,"_2222":37128},"-d",[3944],[37129,37134,37139],[3207,37130],{"_2214":37131,"_2216":7853,"_2217":2227,"_2219":3207,"_2220":37132,"_2222":37133},"-dname",[2272],[],[5908,37135],{"_2214":37136,"_2216":11263,"_2217":2227,"_2219":5908,"_2220":37137,"_2222":37138},"-dzookeeper",[4778,4779,3179,3188,3800],[],[3099,37140],{"_2214":37141,"_2216":21215,"_2217":2227,"_2219":3099,"_2220":37142,"_2222":37143},"-dthreaded",[2643],[],[6884,37145],{"_2214":34382,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":37146,"_2222":37147},[2298,2305,2319,3931,2479],[37148],[5968,37149],{"_2214":37150,"_2216":36616,"_2217":2227,"_2219":5968,"_2220":37151,"_2222":37152},"-124",[2347,2349],[],[3220,37154],{"_2214":37155,"_2216":3220,"_2217":2227,"_2219":3220,"_2220":37156,"_2222":37157},"-r",[4465,2564],[37158],[3085,37159],{"_2214":37160,"_2216":37161,"_2217":2227,"_2219":3085,"_2220":37162,"_2222":37163},"-rf'","f'",[2368],[],[3066,37165],{"_2214":37166,"_2216":3066,"_2217":2227,"_2219":3066,"_2220":37167,"_2222":37168},"-v",[5183,13761,4469],[],[3207,37170],{"_2214":36716,"_2216":3207,"_2217":2227,"_2219":3207,"_2220":37171,"_2222":37172},[2426,2550],[],[3871,37174],{"_2214":22551,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":37175,"_2222":37176},[2426,2550],[],[2214,37178],{"_2214":37179,"_2216":2214,"_2217":2227,"_2219":2214,"_2220":37180,"_2222":37181},"-w",[2455],[],[2216,37183],{"_2214":37184,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":37185,"_2222":37186},"-s",[2455],[37187],[2217,37188],{"_2214":37189,"_2216":3049,"_2217":2227,"_2219":2217,"_2220":37190,"_2222":37191},"-server",[3616],[],[2222,37193],{"_2214":12547,"_2216":2222,"_2217":2227,"_2219":2222,"_2220":37194,"_2222":37195},[2455],[],[3280,37197],{"_2214":37198,"_2216":3280,"_2217":2227,"_2219":3280,"_2220":37199,"_2222":37200},"--",[2753,2756],[37201,37230,37235,37241,37246,37251,37256,37261,37267,37273],[2220,37202],{"_2214":37203,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":37204,"_2222":37205},"--d",[],[37206,37212],[3691,37207],{"_2214":37208,"_2216":37209,"_2217":2227,"_2219":3691,"_2220":37210,"_2222":37211},"--dump","ump",[3944],[],[3002,37213],{"_2214":37214,"_2216":37215,"_2217":2218,"_2219":3002,"_2220":37216,"_2222":37217},"--disable-s","isable-s",[],[37218,37224],[3099,37219],{"_2214":37220,"_2216":37221,"_2217":2227,"_2219":3099,"_2220":37222,"_2222":37223},"--disable-static","tatic",[23799],[],[3322,37225],{"_2214":37226,"_2216":37227,"_2217":2227,"_2219":3322,"_2220":37228,"_2222":37229},"--disable-shared","hared",[23800],[],[3220,37231],{"_2214":37232,"_2216":9600,"_2217":2227,"_2219":3220,"_2220":37233,"_2222":37234},"--recover",[2564],[],[3066,37236],{"_2214":37237,"_2216":37238,"_2217":2227,"_2219":3066,"_2220":37239,"_2222":37240},"--verbose","verbose",[4469],[],[3640,37242],{"_2214":37243,"_2216":30320,"_2217":2227,"_2219":3640,"_2220":37244,"_2222":37245},"--yes",[4469],[],[3207,37247],{"_2214":37248,"_2216":33974,"_2217":2227,"_2219":3207,"_2220":37249,"_2222":37250},"--nodes",[3266],[],[3871,37252],{"_2214":37253,"_2216":30626,"_2217":2227,"_2219":3871,"_2220":37254,"_2222":37255},"--bytes",[3267],[],[3002,37257],{"_2214":37258,"_2216":16870,"_2217":2227,"_2219":3002,"_2220":37259,"_2222":37260},"--interactive",[3161],[],[2217,37262],{"_2214":37263,"_2216":37264,"_2217":2227,"_2219":2217,"_2220":37265,"_2222":37266},"--enable-debug","enable-debug",[3544],[],[2214,37268],{"_2214":37269,"_2216":37270,"_2217":2227,"_2219":2214,"_2220":37271,"_2222":37272},"--without-syncapi","without-syncapi",[4331],[],[3322,37274],{"_2214":37275,"_2216":30102,"_2217":2227,"_2219":3322,"_2220":37276,"_2222":37277},"--help",[2642],[],[3640,37279],{"_2214":37280,"_2216":3640,"_2217":2227,"_2219":3640,"_2220":37281,"_2222":37282},"-y",[4469],[],[3002,37284],{"_2214":37285,"_2216":3002,"_2217":2227,"_2219":3002,"_2220":37286,"_2222":37287},"-i",[3161],[37288,37293],[3085,37289],{"_2214":37290,"_2216":3085,"_2217":2227,"_2219":3085,"_2220":37291,"_2222":37292},"-if",[3543],[],[3002,37294],{"_2214":37295,"_2216":16561,"_2217":2227,"_2219":3002,"_2220":37296,"_2222":37297},"-iinclude",[6898],[],[3193,37299],{"_2214":37300,"_2216":37301,"_2217":2227,"_2219":3193,"_2220":37302,"_2222":37303},"-lzookeeper_mt","lzookeeper_mt",[6898],[],[3017,37305],{"_2214":37306,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":37307,"_2222":37308},"-o",[6898],[],[5968,37310],{"_2214":37311,"_2216":37312,"_2217":2227,"_2219":5968,"_2220":37313,"_2222":37314},"-2147483648","2147483648",[2669],[],[5968,37316],{"_2214":5968,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":37317,"_2222":37318},[3414,2280,2281,2282,2283,2284,4486,3256,2304,2325,3431,2341,3439,3440,3363,3447,6300,3449,3450,5511,5750,2402,2403,3477,32539,3489,3490,2484,3503,2523,2525,2526,3371,2557,2575,2594,3535,3543,2674,2693,2695,2703,3556,2705,10123,15532,2759,3952,3953,7165,2771,2772,2884,8746,2900,2923,9895,3620,3622,3623,3624,11884,12420,7567,12245,8464],[37319,37368,37392,37397,37402,37418,37442,37448,37465,37469,37473,37478],[11411,37320],{"_2214":11889,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":37321,"_2222":37322},[4487,2695],[37323,37342],[11411,37324],{"_2214":16474,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":37325,"_2222":37326},[2338],[37327,37332,37337],[11375,37328],{"_2214":37329,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":37330,"_2222":37331},"2008",[2682,2683],[],[2972,37333],{"_2214":37334,"_2216":21436,"_2217":2227,"_2219":2972,"_2220":37335,"_2222":37336},"200ms",[2889],[],[11411,37338],{"_2214":37339,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":37340,"_2222":37341},"2000",[2949],[],[6884,37343],{"_2214":37344,"_2216":6884,"_2217":2218,"_2219":6884,"_2220":37345,"_2222":37346},"201",[],[37347,37352,37363],[5968,37348],{"_2214":37349,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":37350,"_2222":37351},"2012",[2433],[],[11375,37353],{"_2214":37354,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":37355,"_2222":37356},"2018",[12601,14667],[37357],[3280,37358],{"_2214":37359,"_2216":37360,"_2217":2227,"_2219":3280,"_2220":37361,"_2222":37362},"2018-07-04-cloudkarafka_what_is_zookeeper","-07-04-cloudkarafka_what_is_zookeeper",[13530],[],[11327,37364],{"_2214":37365,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":37366,"_2222":37367},"2015",[2854],[],[11327,37369],{"_2214":36046,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":37370,"_2222":37371},[3954],[37372,37377,37382,37387],[11327,37373],{"_2214":37374,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":37375,"_2222":37376},"255",[3771,2395],[],[11411,37378],{"_2214":37379,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":37380,"_2222":37381},"250",[3775],[],[11353,37383],{"_2214":37384,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":37385,"_2222":37386},"254",[2395],[],[3099,37388],{"_2214":37389,"_2216":21900,"_2217":2227,"_2219":3099,"_2220":37390,"_2222":37391},"25th",[2854],[],[3207,37393],{"_2214":37394,"_2216":4184,"_2217":2227,"_2219":3207,"_2220":37395,"_2222":37396},"2nd",[3426],[],[2216,37398],{"_2214":37399,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":37400,"_2222":37401},"2s",[2326],[],[3825,37403],{"_2214":37404,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":37405,"_2222":37406},"2g",[],[37407,37412],[3871,37408],{"_2214":37409,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":37410,"_2222":37411},"2gb",[3365],[],[3322,37413],{"_2214":37414,"_2216":37415,"_2217":2227,"_2219":3322,"_2220":37416,"_2222":37417},"2ghz","hz",[2884],[],[3280,37419],{"_2214":16463,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":37420,"_2222":37421},[],[37422,37427,37432,37437],[6884,37423],{"_2214":37424,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":37425,"_2222":37426},"2-1",[2402,2403],[],[3002,37428],{"_2214":37429,"_2216":16742,"_2217":2227,"_2219":3002,"_2220":37430,"_2222":37431},"2-instance",[2523],[],[3207,37433],{"_2214":37434,"_2216":2212,"_2217":2227,"_2219":3207,"_2220":37435,"_2222":37436},"2-node",[5643],[],[4034,37438],{"_2214":37439,"_2216":19988,"_2217":2227,"_2219":4034,"_2220":37440,"_2222":37441},"2-phase",[2923],[],[11346,37443],{"_2214":37444,"_2216":37445,"_2217":2227,"_2219":11346,"_2220":37446,"_2222":37447},"2791","791",[2446],[],[6884,37449],{"_2214":37450,"_2216":6884,"_2217":2218,"_2219":6884,"_2220":37451,"_2222":37452},"21",[],[37453,37459],[11375,37454],{"_2214":37455,"_2216":37456,"_2217":2227,"_2219":11375,"_2220":37457,"_2222":37458},"2181","81",[2513,6897,2582,3795,3616],[],[11353,37460],{"_2214":37461,"_2216":37462,"_2217":2227,"_2219":11353,"_2220":37463,"_2222":37464},"2147483647","47483647",[2669],[],[5968,37466],{"_2214":12203,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":37467,"_2222":37468},[2608],[],[11320,37470],{"_2214":36685,"_2216":11320,"_2217":2227,"_2219":11320,"_2220":37471,"_2222":37472},[3954],[],[4309,37474],{"_2214":37475,"_2216":4309,"_2217":2227,"_2219":4309,"_2220":37476,"_2222":37477},"2x",[8746],[],[11375,37479],{"_2214":37480,"_2216":11375,"_2217":2218,"_2219":11375,"_2220":37481,"_2222":37482},"28",[],[37483,37498],[11375,37484],{"_2214":37485,"_2216":11375,"_2217":2218,"_2219":11375,"_2220":37486,"_2222":37487},"288",[],[37488,37493],[11375,37489],{"_2214":37490,"_2216":11375,"_2217":2227,"_2219":11375,"_2220":37491,"_2222":37492},"2888",[2950,2951],[],[11306,37494],{"_2214":37495,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":37496,"_2222":37497},"2889",[2951],[],[11306,37499],{"_2214":37500,"_2216":35688,"_2217":2227,"_2219":11306,"_2220":37501,"_2222":37502},"2890",[2951],[],[3030,37504],{"_2214":3030,"_2216":3030,"_2217":2227,"_2219":3030,"_2220":37505,"_2222":37506},[2330],[37507,37523,37529,37557,37563,37568,37597,37603,37609,37615],[3220,37508],{"_2214":37509,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":37510,"_2222":37511},"'r",[],[37512,37518],[3691,37513],{"_2214":37514,"_2216":37515,"_2217":2227,"_2219":3691,"_2220":37516,"_2222":37517},"'ruok'","uok'",[2320],[],[2972,37519],{"_2214":37520,"_2216":2972,"_2217":2227,"_2219":2972,"_2220":37521,"_2222":37522},"'rm",[2368],[],[3085,37524],{"_2214":37525,"_2216":37526,"_2217":2227,"_2219":3085,"_2220":37527,"_2222":37528},"'false'","false'",[3140],[],[3002,37530],{"_2214":37531,"_2216":7485,"_2217":2218,"_2219":3002,"_2220":37532,"_2222":37533},"'in",[],[37534,37540],[3002,37535],{"_2214":37536,"_2216":37537,"_2217":2227,"_2219":3002,"_2220":37538,"_2222":37539},"'initialize'","itialize'",[2368],[],[2216,37541],{"_2214":37542,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":37543,"_2222":37544},"'ins",[],[37545,37551],[3691,37546],{"_2214":37547,"_2216":37548,"_2217":2227,"_2219":3691,"_2220":37549,"_2222":37550},"'insufficient","ufficient",[3535],[],[3099,37552],{"_2214":37553,"_2216":37554,"_2217":2227,"_2219":3099,"_2220":37555,"_2222":37556},"'instance'","tance'",[3236],[],[2972,37558],{"_2214":37559,"_2216":37560,"_2217":2227,"_2219":2972,"_2220":37561,"_2222":37562},"'myid'","myid'",[2368],[],[11306,37564],{"_2214":37565,"_2216":36663,"_2217":2227,"_2219":11306,"_2220":37566,"_2222":37567},"'91",[3510],[],[2222,37569],{"_2214":37570,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":37571,"_2222":37572},"'c",[],[37573,37591],[2225,37574],{"_2214":37575,"_2216":37576,"_2217":2218,"_2219":2225,"_2220":37577,"_2222":37578},"'canonicaliz","anonicaliz",[],[37579,37585],[2217,37580],{"_2214":37581,"_2216":37582,"_2217":2227,"_2219":2217,"_2220":37583,"_2222":37584},"'canonicalize'","e'",[3236],[],[2225,37586],{"_2214":37587,"_2216":37588,"_2217":2227,"_2219":2225,"_2220":37589,"_2222":37590},"'canonicalization'","ation'",[3236],[],[3017,37592],{"_2214":37593,"_2216":37594,"_2217":2227,"_2219":3017,"_2220":37595,"_2222":37596},"'connected'","onnected'",[3555],[],[2220,37598],{"_2214":37599,"_2216":37600,"_2217":2227,"_2219":2220,"_2220":37601,"_2222":37602},"'disconnected'","disconnected'",[13238],[],[3099,37604],{"_2214":37605,"_2216":37606,"_2217":2227,"_2219":3099,"_2220":37607,"_2222":37608},"'timeout'","timeout'",[3950],[],[2217,37610],{"_2214":37611,"_2216":37612,"_2217":2227,"_2219":2217,"_2220":37613,"_2222":37614},"'expired'","expired'",[6100],[],[3691,37616],{"_2214":37617,"_2216":34826,"_2217":2227,"_2219":3691,"_2220":37618,"_2222":37619},"'unreasonable",[3395],[],[11306,37621],{"_2214":11306,"_2216":11306,"_2217":2227,"_2219":11306,"_2220":37622,"_2222":37623},[2978,3231,3441,3443,3155,3263,3447,8463,2359,3450,3060,3365,3535,4518,4406,2929,3617,9892,9893,9894,9895,9896,9897,6301,5481,8023,4475,6302],[37624],[11353,37625],{"_2214":37626,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":37627,"_2222":37628},"94",[7996],[],[4794,37630],{"_2214":4794,"_2216":4794,"_2217":2218,"_2219":4794,"_2220":37631,"_2222":37632},[],[37633,37650,37667,37672,37677,37687,37692],[2220,37634],{"_2214":37635,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":37636,"_2222":37637},"_d",[],[37638,37644],[3002,37639],{"_2214":37640,"_2216":37641,"_2217":2227,"_2219":3002,"_2220":37642,"_2222":37643},"_digest","igest",[3537],[],[2225,37645],{"_2214":37646,"_2216":37647,"_2217":2227,"_2219":2225,"_2220":37648,"_2222":37649},"_datadir_s","atadir_s",[2951],[],[2222,37651],{"_2214":37652,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":37653,"_2222":37654},"_c",[],[37655,37661],[3017,37656],{"_2214":37657,"_2216":37658,"_2217":2227,"_2219":3017,"_2220":37659,"_2222":37660},"_const","onst",[12856,5187,5188,5189],[],[3193,37662],{"_2214":37663,"_2216":37664,"_2217":2227,"_2219":3193,"_2220":37665,"_2222":37666},"_clientport_s","lientport_s",[2951],[],[3002,37668],{"_2214":37669,"_2216":16818,"_2217":2227,"_2219":3002,"_2220":37670,"_2222":37671},"_int",[5187],[],[2216,37673],{"_2214":37674,"_2216":9801,"_2217":2227,"_2219":2216,"_2220":37675,"_2222":37676},"_struct",[5188],[],[4034,37678],{"_2214":37679,"_2216":4034,"_2217":2227,"_2219":4034,"_2220":37680,"_2222":37681},"_p",[2748],[37682],[3099,37683],{"_2214":37684,"_2216":22352,"_2217":2227,"_2219":3099,"_2220":37685,"_2222":37686},"_pthread",[2638],[],[5908,37688],{"_2214":37689,"_2216":12708,"_2217":2227,"_2219":5908,"_2220":37690,"_2222":37691},"_zookeeper_init",[2648],[],[3871,37693],{"_2214":37694,"_2216":3871,"_2217":2227,"_2219":3871,"_2220":37695,"_2222":37696},"_b",[2748],[],"isArray","page_id",{"_5":2211,"_2212":37700,"_37697":2218},{"_2214":2215,"_2216":2215,"_2217":2218,"_2219":2215,"_2220":37701,"_2222":37702},[],[37703,37749,37783,37810,37854,37869,37885,37900,37925,37940,37944,37960,37965,37969,37983,37988],[2220,37704],{"_2214":2220,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":37705,"_2222":37706},[],[37707,37712,37729,37743],[3017,37708],{"_2214":24672,"_2216":37709,"_2217":2227,"_2219":3017,"_2220":37710,"_2222":37711},"ocs",[3013,2229,20080,6014,13290,25017,20682,28364,21663,18156,2230,2231,2232,2233,2234,3081,2235,2236,2237,3355,6027,6071,31488,12960,3644,5064,5388,5389,2238,3767,3051,2239,3356,4359,2240,2241,5390,6072,7537,7538,18917,3401,5334,18918,3768,2242,2243,2244,2245,6073,2246,14690,3052,7786,3053,3054,2247,3402,3055,5391,4457,4458,3403,5392,2248,9417,7539,3404,5984,2249,3405,2250,2251,3254,6260,3980,2252,2253,20543,36118,7540,36125,8860,36132,7541,36139,8861,36146,8206,36153,3177,36160,6074,36167,8207,36179,7542,36192,7543,2254,3357,2255,3056,2977,5873,3057,3406,3152,7718,5321,4459,5393,2256,2257,3407,3408,3927,6075,6076,2258,2259,3409,2260,4460,4324,2261,2262,2263,2264,3928,2265,2266,3929,2267,2268,2269,3410,2270,8236,3411,22857,13237,3198,2271,16539,5985,3412,2272,6049,4461,3153,5986,16540,3104,3413,3154,3414,2273,3415,13757,3058,13758,3082,5881,4845,16199,5882,5883,4772,24839,5884,6736,3059,2274,17138,2275,3769,5538,3930,3178,3416,17139,2276,2277,3770,2278,17140,2279,2280,3417,2281,3358,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,16235,5987,6216,2315,3420,3421,2316,3422,3423,3424,3425,5476,3426,5477,8296,3773,15117,7454,15118,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,16934,3429,5478,3430,2979,3359,2325,17141,3431,2326,2327,4488,2328,17142,3360,2329,2330,17143,2331,2332,2333,2334,3776,17144,3777,17145,3931,2335,2336,2337,3361,3432,3433,3434,3435,2338,2339,4489,3436,2340,2341,4645,4462,4652,7827,7544,7828,7545,3674,4646,2342,3231,2343,2344,2345,2346,2347,3437,5960,2348,2349,4825,3438,2350,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,4846,4847,4848,23798,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,8297,6300,2358,3448,8463,2359,3449,3450,3451,3778,2360,3452,4663,5874,18307,2361,3453,7038,6077,2362,12933,3454,2363,2364,3232,2365,3140,8298,2366,4778,3364,2367,2368,4779,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372,3779,2373,3458,3060,2980,2981,2982,2983,3061,2984,3062,2985,3063,2986,2987,2988,2374,2989,7829,3459,22218,22219,7830,9607,2375,6261,2376,6021,2377,2378,2379,2380,2381,3460,2382,17146,3461,7770,24256,3462,8833,19890,20526,8822,13250,3463,2383,8834,8835,3464,8836,13251,3465,2384,2385,2386,5988,2387,3285,5798,5799,13339,25962,13340,13714,7510,3466,3467,3468,3469,26836,3470,3471,25059,25060,8273,3472,3473,25061,25062,31515,3474,3475,25063,25064,6864,6053,6054,25065,25066,3646,3365,2388,17147,2389,2390,3780,2391,6262,2392,8208,2393,2394,2395,2396,2397,2398,5790,2399,2400,5989,4044,2401,3476,3027,2402,2403,3477,2404,3478,2405,2406,3035,2407,13333,3479,14356,30104,3292,13480,13741,14153,15621,23957,23973,24067,7273,7322,7329,7342,29923,28820,29433,18822,36385,9691,10668,9046,26244,26321,26332,25514,27835,35285,31447,4463,3156,13341,13759,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,4464,9555,2419,2420,3781,13334,5512,18751,9730,2421,2422,2423,2424,2425,4465,5183,2426,2427,2428,11266,4466,9703,3480,7605,13342,3247,8653,8654,7831,32538,32539,14933,22492,6078,4325,26213,9534,13760,7257,16666,20784,9692,14465,3186,10896,2429,2430,2431,2432,2433,22668,3481,2434,3482,3483,6079,2435,4595,6080,2436,3248,2437,2438,2439,4497,2440,3157,2441,2442,12751,12752,2443,2444,12753,2445,5097,12754,2446,2447,2448,2449,3484,3485,3647,2450,2451,2452,3187,3486,3648,2453,2454,3487,2455,4326,3649,2456,3488,2457,2458,3489,2459,2460,2461,2462,22669,2463,3366,2464,2465,2466,2467,2468,8209,6681,6248,2469,2470,2471,3213,3158,2472,2473,4327,3367,2474,2475,2476,4328,2477,2478,2479,2480,3675,3490,3491,13761,2481,27963,2482,3782,2483,3783,2484,2485,2486,2487,2488,35815,2489,11267,2490,16541,21506,10465,10374,21507,2491,4031,3492,2492,2493,2494,3935,6561,3493,3214,3179,2495,21499,6652,24173,36465,10381,4467,9069,10358,2496,29244,29245,2497,29189,29190,2498,7737,7738,2499,23237,17451,3494,25994,26414,3936,2500,21500,6653,24174,12661,25676,4596,23238,17452,3495,25995,26415,3937,4935,3496,20889,20890,13787,7546,18269,4681,7092,17199,35816,7787,4936,4937,3938,3497,3784,3215,7547,7548,19627,3498,13343,17148,3499,3500,6134,11268,18270,11269,3501,2501,7832,8789,2502,3502,2503,6920,3036,2504,3939,36867,35138,26397,13344,34450,3940,18039,3233,5777,4944,12925,6081,12926,5791,5184,2990,9391,5023,3503,4938,2505,3785,3234,3941,3942,3943,2506,2507,3981,2508,6695,3264,6696,6682,15932,2509,2510,2511,2512,3159,3368,4186,3160,2513,2514,2515,3216,2516,2517,2518,36503,3504,29949,6347,6082,13678,6348,11259,5479,6349,17548,17549,6083,17645,17646,2519,10466,2520,2521,2522,2523,2524,2525,2526,3505,2527,3369,3650,3370,3371,6350,2528,6084,2529,2530,2531,6085,5513,2532,3506,2533,8373,3507,4890,5480,4896,17550,6351,2534,6352,2535,3508,3651,5514,25611,2536,2537,2538,3509,2539,7719,2540,2541,5065,2542,2543,2544,2545,2546,6353,2547,2548,3510,6921,3511,26287,28809,24000,3786,6086,2549,2550,3044,6255,4468,2551,2552,5990,2553,2554,2555,3512,2556,26689,9261,2557,2558,3513,2991,3787,3514,2559,2560,3788,2561,7549,2562,2992,22535,3515,27545,12961,13039,13073,13051,13023,12980,12987,12994,26700,7612,8764,16872,30596,30340,13080,22030,8237,30633,22008,11270,2563,11271,7550,3789,3516,3517,3944,2564,7833,6325,2565,4469,2566,2567,3265,19246,3266,3267,3790,3518,3835,14684,6415,3161,3791,15549,2568,3372,3519,18619,2569,6445,2570,3520,3652,7274,11272,3653,3521,2571,26245,3522,7551,11273,6263,6897,11274,5991,5992,3523,23183,3945,2572,2573,2574,2575,2576,2577,7275,16717,8765,3714,23121,3524,16841,30796,18475,15027,22009,22010,26882,27929,3525,6087,2578,2579,2580,2581,2582,5993,6088,2583,2584,3526,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,32540,2595,2596,8837,18486,13306,13307,15028,32991,23254,2597,7788,3946,3235,2598,2599,3373,3527,3528,12927,3374,3947,2600,3529,2601,3530,6264,3948,3531,3532,2602,17149,4095,3375,3376,4329,2603,8008,2604,5056,3533,5185,5186,4330,2605,2606,2607,2608,7720,2609,2610,2611,2612,2993,3534,2613,2614,2615,2616,3535,7721,2617,2618,2619,3224,2620,3792,3536,12800,12807,12814,12826,4470,3793,3661,4826,3949,5216,5235,5236,5237,3537,5217,12856,3538,5187,2621,5188,2622,5189,2623,2624,17150,2625,30993,3539,30987,13345,13226,16718,6785,3540,3541,2626,2627,2628,6089,2629,2630,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636,2637,2638,2639,2640,3543,2641,3794,3544,4331,23799,23800,17151,2642,4244,11276,2643,17152,2644,2645,2646,29685,11277,2647,3377,2648,8660,3795,2649,9863,2650,3982,3378,3379,15146,6898,8757,13346,4664,6975,3545,2651,2652,3796,2653,2654,2655,2656,2657,3204,17153,2658,20790,3546,12934,31664,5057,33425,7343,26605,13599,3269,23133,3270,11278,11279,2659,2660,3547,35070,3797,2661,9434,2662,17154,2663,2664,2665,2666,2667,3798,2668,2669,2670,3548,2671,3037,11280,2672,2673,2674,3549,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098,3550,3551,3799,2675,2676,2677,2678,2679,6922,2680,6242,2681,7789,3552,6099,4332,2682,3553,2683,3554,4850,2684,2685,2686,3381,2687,2688,3271,3188,3800,3189,3190,12662,14169,5820,5778,3801,26403,2689,2690,2691,2692,2693,2694,2695,2696,2697,3382,3555,8212,13238,3950,10573,6100,2698,2699,2700,2701,2702,2703,2704,3556,2705,2706,3272,2707,17535,15622,2708,2709,3557,17536,2710,2711,2712,2713,3558,5875,2714,15628,2715,2716,2717,31665,3559,6101,9824,9013,5394,5395,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,3299,2730,2731,2732,2733,6976,3560,2734,3951,2735,2736,2737,2738,3561,3562,2739,5396,4251,30797,24784,36413,18890,28594,3563,27284,10843,14775,29191,3564,3383,2740,2741,2742,3565,2743,2744,4347,3566,2745,5671,2746,2747,32277,29303,2748,7361,10123,15532,15526,3567,7362,5995,7552,3568,10124,7164,2749,2750,2751,2752,17155,2753,2754,2755,17156,2756,2757,2758,5335,3569,5996,2759,2760,2761,2762,6265,5631,2763,2764,2765,2766,2767,2768,3952,3953,2769,2770,5997,5998,7165,2771,2772,33894,2773,5999,10844,3570,4511,2774,2775,3384,2776,2777,3237,2778,2779,15256,2780,3571,3572,2781,2782,6102,11248,2783,33895,2784,6000,15933,2785,8266,3350,5745,8238,7517,7200,35804,37052,36962,33869,34158,28146,28152,28159,21646,10686,4362,4363,4364,4365,4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387,14954,5699,22183,31135,24572,8553,18004,20293,21421,19817,11174,26638,23128,22726,14665,32040,30328,13221,3573,2786,2787,2788,2789,3385,2790,2791,3715,3574,2792,3575,2793,2794,2795,2796,3576,2797,2798,2799,2800,3577,2801,2802,2803,2804,2805,2806,3578,2807,2808,2809,4388,3579,2810,2811,3802,15318,3580,3581,6633,3582,2812,3583,2813,2814,2815,3386,2816,4389,3584,3585,2817,4738,2818,2819,2820,2821,2822,2823,3387,2824,2825,2826,2827,2828,2829,2830,2831,3954,2832,2833,2834,3586,2835,4390,2836,3587,3803,2837,3388,4391,3588,2838,2839,3589,3389,2840,2841,3590,4392,3591,2842,3592,2843,7553,2844,3593,3594,2845,2846,2847,3595,5643,13109,13239,4131,2848,2849,3596,7021,2850,7554,3597,3598,7555,2851,3390,2852,2853,4393,14666,4394,4395,4396,4397,4398,4399,13530,4400,4401,4402,4403,4404,12601,14667,2854,14668,12594,13537,3887,4405,4406,4407,4408,12728,4409,4427,4410,10467,4411,17883,4434,4441,4412,4413,4414,17884,6562,3014,2855,7182,3599,11293,3600,3601,6977,4333,17647,34435,18997,9949,11281,2856,3602,2857,2858,2859,2860,2861,2862,3603,2863,2864,2865,2866,3955,2867,2868,2869,2870,5594,2871,2872,2873,2874,2875,2876,2877,2878,2879,2880,7556,6103,3391,3392,2881,2882,3956,2883,2884,17157,8746,9890,2885,2886,2887,6104,3604,3676,2888,2889,2890,3605,16940,3606,5587,3607,4992,4970,25214,14986,6978,36504,28365,6930,5515,6105,3393,3804,2891,2892,2893,2894,4025,2895,2896,3805,3608,2897,2898,2899,2900,2901,6106,2902,2903,2904,2905,4471,2906,2907,2908,2909,2910,3806,2911,2912,2913,2914,2915,2916,2917,2918,3807,4472,3609,2919,2920,2921,2922,2923,3610,2924,2925,2926,3611,2927,2928,2929,2930,3038,4597,3808,4245,19753,2931,7557,7974,3612,21042,3739,3809,29686,25612,7276,4252,18708,24731,5779,11282,11283,11284,8766,5932,2932,2995,2933,2934,2935,2936,3394,3613,3614,7558,7837,2937,6458,3615,3616,2938,5792,6022,2939,2940,2941,3677,13116,3957,3958,2942,8009,7559,2943,2944,17158,2945,2946,2947,2948,2949,4113,2950,17159,2951,2952,2953,2954,2955,9891,3617,9892,25336,30894,17733,22011,21549,9893,15370,30895,8299,17734,21550,9894,30896,8300,17735,22012,21551,9895,25337,30897,17736,31537,9896,17737,21552,9897,25338,30898,8301,17738,22013,31538,21553,4415,8741,11285,4922,9014,4334,3618,6001,11408,3619,3162,11981,6107,5336,8021,3238,6301,3620,3621,3622,3623,3624,11286,5191,2956,12127,4217,8367,7634,7560,5192,6640,3625,8428,6683,4827,6108,12007,2957,2958,5481,7754,12049,4473,6200,6923,6819,2959,11582,4159,8022,4598,7561,7562,8052,2996,8023,5482,7563,6109,12092,7157,12298,4474,3626,3627,7419,7564,5483,4851,3395,11736,4335,3628,5895,11878,6122,11287,11884,6110,7706,5193,6659,3810,2997,11180,2998,4336,3629,10641,3300,3163,3164,10320,4828,3239,3630,11674,8673,6266,11440,11416,8674,2960,5858,8675,8053,6002,9015,8361,7158,4475,8151,12420,7883,12436,4605,3631,10337,3632,6003,8024,6004,6111,6820,2999,2961,11453,7565,3811,6112,3633,6801,3301,9057,5979,9397,3217,3634,7606,9016,2962,7995,10822,2963,3716,8854,6113,7566,3165,5738,3921,6005,6821,7567,4490,5337,4540,8025,6006,2964,5484,11628,3635,6007,3636,5338,6114,9017,6115,6302,12245,3637,3240,7996,8464],[],[2225,37713],{"_2214":37714,"_2216":37715,"_2217":2218,"_2219":2225,"_2220":37716,"_2222":37717},"data-","ata-",[],[37718,37724],[3085,37719],{"_2214":37720,"_2216":37721,"_2217":2227,"_2219":3085,"_2220":37722,"_2222":37723},"data-file-management","file-management",[7829,3459,22218,22219,7830,9607,2375,6261,2376,6021,2377,2378,2379,2380,2381,3460,2382,17146,3461,7770],[],[2972,37725],{"_2214":37726,"_2216":20788,"_2217":2227,"_2219":2972,"_2220":37727,"_2222":37728},"data-model",[20790,3546,12934,31664,5057,33425,7343,26605,13599,3269,23133,3270,11278,11279,2659,2660,3547,35070,3797,2661,9434,2662,17154,2663,2664,2665,2666,2667,3798,2668,2669,2670,3548,2671,3037,11280,2672,2673,2674,3549,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098],[],[2217,37730],{"_2214":10789,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":37731,"_2222":37732},[],[37733,37738],[4034,37734],{"_2214":24254,"_2216":37735,"_2217":2227,"_2219":4034,"_2220":37736,"_2222":37737},"ployment",[24256,3462,8833,19890,20526,8822,13250,3463,2383,8834,8835,3464,8836,13251,3465,2384,2385,2386,5988,2387,3285,5798,5799,13339,25962,13340,13714,7510,3466,3467,3468,3469,26836,3470,3471,25059,25060,8273,3472,3473,25061,25062,31515,3474,3475,25063,25064,6864,6053,6054,25065,25066,3646,3365,2388,17147,2389,2390,3780,2391,6262,2392,8208,2393,2394,2395,2396,2397,2398,5790,2399,2400,5989,4044,2401,3476,3027,2402,2403,3477,2404,3478,2405,2406],[],[3066,37739],{"_2214":24383,"_2216":37740,"_2217":2227,"_2219":3066,"_2220":37741,"_2222":37742},"veloper",[23121,3524,16841,30796,18475,15027,22009,22010,26882,27929,3525,6087,2578,2579,2580,2581,2582,5993,6088,2583,2584,3526,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,32540,2595,2596,8837,18486,13306,13307,15028,32991,23254,2597,7788,3946,3235,2598,2599,3373,3527,3528,12927,3374,3947,2600,3529,2601,3530,6264,3948,3531,3532,2602,17149,4095,3375,3376,4329,2603,8008,2604,5056,3533,5185,5186,4330,2605,2606,2607,2608,7720,2609,2610,2611,2612,2993,3534,2613,2614,2615,2616,3535,7721,2617,2618,2619,3224,2620,3792,3536,12800,12807,12814,12826,4470,3793,3661,4826,3949,5216,5235,5236,5237,3537,5217,12856,3538,5187,2621,5188,2622,5189,2623,2624,17150,2625,30993,3539,30987,13345,13226,16718,6785,3540,3541,2626,2627,2628,6089,2629,2630,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636,2637,2638,2639,2640,3543,2641,3794,3544,4331,23799,23800,17151,2642,4244,11276,2643,17152,2644,2645,2646,29685,11277,2647,3377,2648,8660,3795,2649,9863,2650,3982,3378,3379,15146,6898,8757,13346,4664,6975,3545,2651,2652,3796,2653,2654,2655,2656,2657,3204,17153,2658,20790,3546,12934,31664,5057,33425,7343,26605,13599,3269,23133,3270,11278,11279,2659,2660,3547,35070,3797,2661,9434,2662,17154,2663,2664,2665,2666,2667,3798,2668,2669,2670,3548,2671,3037,11280,2672,2673,2674,3549,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098,3550,3551,3799,2675,2676,2677,2678,2679,6922,2680,6242,2681,7789,3552,6099,4332,2682,3553,2683,3554,4850,2684,2685,2686,3381,2687,2688,3271,3188,3800,3189,3190,12662,14169,5820,5778,3801,26403,2689,2690,2691,2692,2693,2694,2695,2696,2697,3382,3555,8212,13238,3950,10573,6100,2698,2699,2700,2701,2702,2703,2704,3556,2705,2706,3272,2707,17535,15622,2708,2709,3557,17536,2710,2711,2712,2713,3558,5875,2714,15628,2715,2716,2717,31665,3559,6101,9824,9013,5394,5395,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,3299,2730,2731,2732,2733,6976,3560,2734,3951,2735,2736,2737,2738,3561,3562,2739,5396,4251,30797,24784,36413,18890,28594,3563,27284,10843,14775,29191,3564,3383,2740,2741,2742,3565,2743,2744,4347,3566,2745,5671,2746,2747,32277,29303,2748,7361,10123,15532,15526,3567,7362,5995,7552,3568,10124,7164,2749,2750,2751,2752,17155,2753,2754,2755,17156,2756,2757,2758,5335,3569,5996,2759,2760,2761,2762,6265,5631,2763,2764,2765,2766,2767,2768,3952,3953,2769,2770,5997,5998,7165,2771,2772,33894,2773,5999,10844,3570,4511,2774,2775,3384,2776,2777,3237,2778,2779,15256,2780,3571,3572,2781,2782,6102,11248,2783,33895,2784,6000,15933,2785,8266,3350,5745,8238,7517,7200,35804,37052,36962,33869,34158,28146,28152,28159,21646,10686,4362,4363,4364,4365,4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387,14954,5699,22183,31135,24572,8553,18004,20293,21421,19817,11174,26638,23128,22726,14665,32040,30328,13221,3573,2786,2787,2788,2789,3385,2790,2791,3715,3574,2792,3575,2793,2794,2795,2796,3576,2797,2798,2799,2800,3577,2801,2802,2803,2804,2805,2806,3578,2807,2808,2809,4388,3579,2810,2811,3802,15318,3580,3581,6633,3582,2812,3583,2813,2814,2815,3386,2816,4389,3584,3585,2817,4738,2818,2819,2820,2821,2822,2823,3387,2824,2825,2826,2827,2828,2829,2830,2831,3954,2832,2833,2834,3586,2835,4390,2836,3587,3803,2837,3388,4391,3588,2838,2839,3589,3389,2840,2841,3590,4392,3591,2842,3592,2843,7553,2844,3593,3594,2845,2846,2847,3595,5643,13109,13239,4131,2848,2849,3596,7021,2850,7554,3597,3598,7555,2851,3390,2852,2853,4393,14666,4394,4395,4396,4397,4398,4399,13530,4400,4401,4402,4403,4404,12601,14667,2854,14668,12594,13537,3887,4405,4406,4407,4408,12728,4409,4427,4410,10467,4411,17883,4434,4441,4412,4413,4414,17884],[],[3640,37744],{"_2214":37745,"_2216":37746,"_2217":2227,"_2219":3640,"_2220":37747,"_2222":37748},"dynamic-reconfiguration","ynamic-reconfiguration",[9703,3480,7605,13342,3247,8653,8654,7831,32538,32539,14933,22492,6078,4325,26213,9534,13760,7257,16666,20784,9692,14465,3186,10896,2429,2430,2431,2432,2433,22668,3481,2434,3482,3483,6079,2435,4595,6080,2436,3248,2437,2438,2439,4497,2440,3157,2441,2442,12751,12752,2443,2444,12753,2445,5097,12754,2446,2447,2448,2449,3484,3485,3647,2450,2451,2452,3187,3486,3648,2453,2454,3487,2455,4326,3649,2456,3488,2457,2458,3489,2459,2460,2461,2462,22669,2463,3366,2464,2465,2466,2467,2468,8209,6681,6248,2469,2470,2471,3213,3158,2472,2473,4327,3367,2474,2475,2476,4328,2477,2478,2479,2480,3675,3490,3491,13761,2481,27963,2482,3782,2483,3783,2484,2485,2486,2487,2488],[],[2225,37750],{"_2214":2225,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":37751,"_2222":37752},[],[37753,37777],[2220,37754],{"_2214":2974,"_2216":12824,"_2217":2218,"_2219":2220,"_2220":37755,"_2222":37756},[],[37757,37763],[3280,37758],{"_2214":37759,"_2216":37760,"_2217":2227,"_2219":3280,"_2220":37761,"_2222":37762},"admin-ops","-ops",[3013,2229,20080,6014,13290,25017,20682,28364,21663,18156,2230,2231,2232,2233,2234,3081,2235,2236,2237,3355,6027,6071,31488,12960,3644,5064,5388,5389,2238,3767,3051,2239,3356,4359,2240,2241,5390,6072,7537,7538,18917,3401,5334,18918,3768,2242,2243,2244,2245,6073,2246,14690,3052,7786,3053,3054,2247,3402,3055,5391,4457,4458,3403,5392,2248,9417,7539,3404,5984,2249,3405,2250,2251,3254,6260,3980,2252,2253,20543,36118,7540,36125,8860,36132,7541,36139,8861,36146,8206,36153,3177,36160,6074,36167,8207,36179,7542,36192,7543,2254,3357,2255,3056,2977,5873,3057,3406,3152,7718,5321,4459,5393,2256,2257,3407,3408,3927,6075,6076,2258,2259,3409,2260,4460,4324,2261,2262,2263,2264,3928,2265,2266,3929,2267,2268,2269,3410,2270,8236,3411,22857,13237,3198,2271,16539,5985,3412,2272,6049,4461,3153,5986,16540,3104,3413,3154,3414,2273,3415,13757,3058,13758,3082,5881,4845,16199,5882,5883,4772,24839,5884,6736,3059,2274,17138,2275,3769,5538,3930,3178,3416,17139,2276,2277,3770,2278,17140,2279,2280,3417,2281,3358,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,16235,5987,6216,2315,3420,3421,2316,3422,3423,3424,3425,5476,3426,5477,8296,3773,15117,7454,15118,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,16934,3429,5478,3430,2979,3359,2325,17141,3431,2326,2327,4488,2328,17142,3360,2329,2330,17143,2331,2332,2333,2334,3776,17144,3777,17145,3931,2335,2336,2337,3361,3432,3433,3434,3435,2338,2339,4489,3436,2340,2341,4645,4462,4652,7827,7544,7828,7545,3674,4646,2342,3231,2343,2344,2345,2346,2347,3437,5960,2348,2349,4825,3438,2350,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,4846,4847,4848,23798,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,8297,6300,2358,3448,8463,2359,3449,3450,3451,3778,2360,3452,4663,5874,18307,2361,3453,7038,6077,2362,12933,3454,2363,2364,3232,2365,3140,8298,2366,4778,3364,2367,2368,4779,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372,3779,2373,3458,3060,2980,2981,2982,2983,3061,2984,3062,2985,3063,2986,2987,2988,2374,2989,7829,3459,22218,22219,7830,9607,2375,6261,2376,6021,2377,2378,2379,2380,2381,3460,2382,17146,3461,7770,24256,3462,8833,19890,20526,8822,13250,3463,2383,8834,8835,3464,8836,13251,3465,2384,2385,2386,5988,2387,3285,5798,5799,13339,25962,13340,13714,7510,3466,3467,3468,3469,26836,3470,3471,25059,25060,8273,3472,3473,25061,25062,31515,3474,3475,25063,25064,6864,6053,6054,25065,25066,3646,3365,2388,17147,2389,2390,3780,2391,6262,2392,8208,2393,2394,2395,2396,2397,2398,5790,2399,2400,5989,4044,2401,3476,3027,2402,2403,3477,2404,3478,2405,2406,3035,2407,13333,3479,14356,30104,3292,13480,13741,14153,15621,23957,23973,24067,7273,7322,7329,7342,29923,28820,29433,18822,36385,9691,10668,9046,26244,26321,26332,25514,27835,35285,31447,4463,3156,13341,13759,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,4464,9555,2419,2420,3781,13334,5512,18751,9730,2421,2422,2423,2424,2425,4465,5183,2426,2427,2428,11266,4466,9703,3480,7605,13342,3247,8653,8654,7831,32538,32539,14933,22492,6078,4325,26213,9534,13760,7257,16666,20784,9692,14465,3186,10896,2429,2430,2431,2432,2433,22668,3481,2434,3482,3483,6079,2435,4595,6080,2436,3248,2437,2438,2439,4497,2440,3157,2441,2442,12751,12752,2443,2444,12753,2445,5097,12754,2446,2447,2448,2449,3484,3485,3647,2450,2451,2452,3187,3486,3648,2453,2454,3487,2455,4326,3649,2456,3488,2457,2458,3489,2459,2460,2461,2462,22669,2463,3366,2464,2465,2466,2467,2468,8209,6681,6248,2469,2470,2471,3213,3158,2472,2473,4327,3367,2474,2475,2476,4328,2477,2478,2479,2480,3675,3490,3491,13761,2481,27963,2482,3782,2483,3783,2484,2485,2486,2487,2488,35815,2489,11267,2490,16541,21506,10465,10374,21507,2491,4031,3492,2492,2493,2494,3935,6561,3493,3214,3179,2495,21499,6652,24173,36465,10381,4467,9069,10358,2496,29244,29245,2497,29189,29190,2498,7737,7738,2499,23237,17451,3494,25994,26414,3936,2500,21500,6653,24174,12661,25676,4596,23238,17452,3495,25995,26415,3937,4935,3496,20889,20890,13787,7546,18269,4681,7092,17199,35816,7787,4936,4937,3938,3497,3784,3215,7547,7548,19627,3498,13343,17148,3499,3500,6134,11268,18270,11269,3501,2501,7832,8789,2502,3502,2503,6920,3036,2504,3939,36867,35138,26397,13344,34450,3940,18039,3233,5777,4944,12925,6081,12926,5791,5184,2990,9391,5023,3503,4938,2505,3785,3234,3941,3942,3943,2506,2507,3981,2508,6695,3264,6696,6682,15932,2509,2510,2511,2512,3159,3368,4186,3160,2513,2514,2515,3216,2516,2517,2518,36503,3504,29949,6347,6082,13678,6348,11259,5479,6349,17548,17549,6083,17645,17646,2519,10466,2520,2521,2522,2523,2524,2525,2526,3505,2527,3369,3650,3370,3371,6350,2528,6084,2529,2530,2531,6085,5513,2532,3506,2533,8373,3507,4890,5480,4896,17550,6351,2534,6352,2535,3508,3651,5514,25611,2536,2537,2538,3509,2539,7719,2540,2541,5065,2542,2543,2544,2545,2546,6353,2547,2548,3510,6921,3511,26287,28809,24000,3786,6086,2549,2550,3044,6255,4468,2551,2552,5990,2553,2554,2555,3512,2556,26689,9261,2557,2558,3513,2991,3787,3514,2559,2560,3788,2561,7549,2562,2992,22535,3515,27545,12961,13039,13073,13051,13023,12980,12987,12994,26700,7612,8764,16872,30596,30340,13080,22030,8237,30633,22008,11270,2563,11271,7550,3789,3516,3517,3944,2564,7833,6325,2565,4469,2566,2567,3265,19246,3266,3267,3790,3518,3835,14684,6415,3161,3791,15549,2568,3372,3519,18619,2569,6445,2570,3520,3652,7274,11272,3653,3521,2571,26245,3522,7551,11273,6263,6897,11274,5991,5992,3523,23183,3945,2572,2573,2574,2575,2576,2577,7275,16717,8765,3714],[],[3002,37764],{"_2214":3004,"_2216":3005,"_2217":2218,"_2219":3002,"_2220":37765,"_2222":37766},[],[37767,37773],[3017,37768],{"_2214":37769,"_2216":37770,"_2217":2227,"_2219":3017,"_2220":37771,"_2222":37772},"administrators-guide","ors-guide",[3013,2229,20080,6014,13290,25017,20682,28364,21663,18156,2230,2231,2232,2233,2234,3081,2235,2236,2237,3355,6027,6071,31488,12960,3644,5064,5388,5389,2238,3767,3051,2239,3356,4359,2240,2241,5390,6072,7537,7538,18917,3401,5334,18918,3768,2242,2243,2244,2245,6073,2246,14690,3052,7786,3053,3054,2247,3402,3055,5391,4457,4458,3403,5392,2248,9417,7539,3404,5984,2249,3405,2250,2251,3254,6260,3980,2252,2253,20543,36118,7540,36125,8860,36132,7541,36139,8861,36146,8206,36153,3177,36160,6074,36167,8207,36179,7542,36192,7543,2254,3357,2255,3056,2977,5873,3057,3406,3152,7718,5321,4459,5393,2256,2257,3407,3408,3927,6075,6076,2258,2259,3409,2260,4460,4324,2261,2262,2263,2264,3928,2265,2266,3929,2267,2268,2269,3410,2270,8236,3411,22857,13237,3198,2271,16539,5985,3412,2272,6049,4461,3153,5986,16540,3104,3413,3154,3414,2273,3415,13757,3058,13758,3082,5881,4845,16199,5882,5883,4772,24839,5884,6736,3059,2274,17138,2275,3769,5538,3930,3178,3416,17139,2276,2277,3770,2278,17140,2279,2280,3417,2281,3358,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,16235,5987,6216,2315,3420,3421,2316,3422,3423,3424,3425,5476,3426,5477,8296,3773,15117,7454,15118,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,16934,3429,5478,3430,2979,3359,2325,17141,3431,2326,2327,4488,2328,17142,3360,2329,2330,17143,2331,2332,2333,2334,3776,17144,3777,17145,3931,2335,2336,2337,3361,3432,3433,3434,3435,2338,2339,4489,3436,2340,2341,4645,4462,4652,7827,7544,7828,7545,3674,4646,2342,3231,2343,2344,2345,2346,2347,3437,5960,2348,2349,4825,3438,2350,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,4846,4847,4848,23798,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,8297,6300,2358,3448,8463,2359,3449,3450,3451,3778,2360,3452,4663,5874,18307,2361,3453,7038,6077,2362,12933,3454,2363,2364,3232,2365,3140,8298,2366,4778,3364,2367,2368,4779,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372,3779,2373,3458,3060,2980,2981,2982,2983,3061,2984,3062,2985,3063,2986,2987,2988,2374,2989,7829,3459,22218,22219,7830,9607,2375,6261,2376,6021,2377,2378,2379,2380,2381,3460,2382,17146,3461,7770,24256,3462,8833,19890,20526,8822,13250,3463,2383,8834,8835,3464,8836,13251,3465,2384,2385,2386,5988,2387,3285,5798,5799,13339,25962,13340,13714,7510,3466,3467,3468,3469,26836,3470,3471,25059,25060,8273,3472,3473,25061,25062,31515,3474,3475,25063,25064,6864,6053,6054,25065,25066,3646,3365,2388,17147,2389,2390,3780,2391,6262,2392,8208,2393,2394,2395,2396,2397,2398,5790,2399,2400,5989,4044,2401,3476,3027,2402,2403,3477,2404,3478,2405,2406,3035,2407],[],[3002,37774],{"_2214":3010,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":37775,"_2222":37776},[3013,2229,20080,6014,13290,25017,20682,28364,21663,18156,2230,2231,2232,2233,2234,3081,2235,2236,2237,3355,6027,6071,31488,12960,3644,5064,5388,5389,2238,3767,3051,2239,3356,4359,2240,2241,5390,6072,7537,7538],[],[2222,37778],{"_2214":37779,"_2216":37780,"_2217":2227,"_2219":2222,"_2220":37781,"_2222":37782},"access-control-using-acls","ccess-control-using-acls",[5056,3533,5185,5186,4330,2605,2606,2607,2608,7720,2609,2610,2611,2612,2993,3534,2613,2614,2615,2616,3535,7721,2617,2618,2619,3224,2620,3792,3536,12800,12807,12814,12826,4470,3793,3661,4826,3949,5216,5235,5236,5237,3537,5217,12856,3538,5187,2621,5188,2622,5189,2623,2624,17150,2625],[],[3871,37784],{"_2214":3871,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":37785,"_2222":37786},[],[37787,37793,37799,37804],[2217,37788],{"_2214":37789,"_2216":37790,"_2217":2227,"_2219":2217,"_2220":37791,"_2222":37792},"best-practices","est-practices",[18917,3401,5334,18918,3768,2242,2243,2244,2245,6073,2246],[],[2225,37794],{"_2214":37795,"_2216":37796,"_2217":2227,"_2219":2225,"_2220":37797,"_2222":37798},"basic-tutorial","asic-tutorial",[23121,3524,16841,30796,18475,15027,22009,22010,26882,27929,3525,6087,2578,2579,2580,2581,2582,5993,6088,2583,2584,3526,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594],[],[3002,37800],{"_2214":30991,"_2216":37801,"_2217":2227,"_2219":3002,"_2220":37802,"_2222":37803},"indings",[30993,3539,30987,13345,13226,16718,6785,3540,3541,2626,2627,2628,6089,2629,2630,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636,2637,2638,2639,2640,3543,2641,3794,3544,4331,23799,23800,17151,2642,4244,11276,2643,17152,2644],[],[3691,37805],{"_2214":37806,"_2216":37807,"_2217":2227,"_2219":3691,"_2220":37808,"_2222":37809},"building-blocks-a-guide-to-zookeeper-operations","uilding-blocks-a-guide-to-zookeeper-operations",[2645,2646,29685,11277,2647,3377,2648,8660,3795,2649,9863,2650,3982,3378,3379,15146,6898,8757,13346,4664],[],[2222,37811],{"_2214":2222,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":37812,"_2222":37813},[],[37814,37850],[3017,37815],{"_2214":13551,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":37816,"_2222":37817},[],[37818,37834],[2972,37819],{"_2214":14672,"_2216":37820,"_2217":2218,"_2219":2972,"_2220":37821,"_2222":37822},"mm",[],[37823,37828],[2225,37824],{"_2214":14688,"_2216":37825,"_2217":2227,"_2219":2225,"_2220":37826,"_2222":37827},"ands",[14690,3052,7786,3053,3054,2247,3402,3055,5391,4457,4458,3403,5392,2248,9417,7539,3404,5984,2249,3405,2250,2251,3254,6260,3980,2252,2253,20543,36118,7540,36125,8860,36132,7541,36139,8861,36146,8206,36153,3177,36160,6074,36167,8207,36179,7542,36192,7543,2254,3357,2255,3056,2977,5873,3057,3406,3152,7718,5321,4459,5393,2256,2257,3407,3408,3927,6075,6076,2258,2259,3409,2260,4460,4324,2261,2262,2263,2264,3928,2265,2266,3929,2267,2268,2269,3410,2270],[],[3691,37829],{"_2214":37830,"_2216":37831,"_2217":2227,"_2219":3691,"_2220":37832,"_2222":37833},"communication-using-the-netty-framework","unication-using-the-netty-framework",[8236,3411,22857,13237,3198,2271,16539,5985,3412,2272,6049,4461,3153,5986,16540,3104,3413,3154,3414,2273,3415],[],[3207,37835],{"_2214":13556,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":37836,"_2222":37837},[],[37838,37844],[3085,37839],{"_2214":37840,"_2216":37841,"_2217":2227,"_2219":3085,"_2220":37842,"_2222":37843},"configuration-parameters","figuration-parameters",[13757,3058,13758,3082,5881,4845,16199,5882,5883,4772,24839,5884,6736,3059,2274,17138,2275,3769,5538,3930,3178,3416,17139,2276,2277,3770,2278,17140,2279,2280,3417,2281,3358,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,16235,5987,6216,2315,3420,3421,2316,3422,3423,3424,3425,5476,3426,5477,8296,3773,15117,7454,15118,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,16934,3429,5478,3430,2979,3359,2325,17141,3431,2326,2327,4488,2328,17142,3360,2329,2330,17143,2331,2332,2333,2334,3776,17144,3777,17145,3931,2335,2336,2337,3361,3432,3433,3434,3435,2338,2339,4489,3436,2340,2341,4645,4462,4652,7827,7544,7828,7545,3674,4646,2342,3231,2343,2344,2345,2346,2347,3437,5960,2348,2349,4825,3438,2350,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,4846,4847,4848,23798,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,8297,6300,2358,3448,8463,2359,3449,3450,3451,3778,2360,3452,4663,5874,18307,2361,3453,7038,6077,2362,12933,3454,2363,2364,3232,2365,3140,8298,2366,4778,3364,2367,2368,4779,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372,3779,2373,3458,3060,2980,2981,2982,2983,3061,2984,3062,2985,3063,2986,2987,2988,2374,2989],[],[2216,37845],{"_2214":37846,"_2216":37847,"_2217":2227,"_2219":2216,"_2220":37848,"_2222":37849},"consistency-guarantees","sistency-guarantees",[6975,3545,2651,2652,3796,2653,2654,2655,2656,2657,3204,17153,2658],[],[3193,37851],{"_2214":13331,"_2216":19540,"_2217":2227,"_2219":3193,"_2220":37852,"_2222":37853},[13333,3479,14356,30104,3292,13480,13741,14153,15621,23957,23973,24067,7273,7322,7329,7342,29923,28820,29433,18822,36385,9691,10668,9046,26244,26321,26332,25514,27835,35285,31447,4463,3156,13341,13759,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,4464,9555,2419,2420,3781,13334,5512,18751,9730,2421,2422,2423,2424,2425,4465,5183,2426,2427,2428,11266,4466],[],[3304,37855],{"_2214":3304,"_2216":3304,"_2217":2218,"_2219":3304,"_2220":37856,"_2222":37857},[],[37858,37863],[2972,37859],{"_2214":35813,"_2216":37860,"_2217":2227,"_2219":2972,"_2220":37861,"_2222":37862},"mx",[35815,2489,11267,2490,16541,21506,10465,10374,21507,2491,4031,3492,2492,2493,2494,3935,6561,3493,3214,3179,2495,21499,6652,24173,36465,10381,4467,9069,10358,2496,29244,29245,2497,29189,29190,2498,7737,7738,2499,23237,17451,3494,25994,26414,3936,2500,21500,6653,24174,12661,25676,4596,23238,17452,3495,25995,26415,3937],[],[2225,37864],{"_2214":37865,"_2216":37866,"_2217":2227,"_2219":2225,"_2220":37867,"_2222":37868},"java-example","ava-example",[32540,2595,2596,8837,18486,13306,13307,15028,32991,23254,2597,7788,3946,3235,2598,2599,3373,3527,3528,12927,3374,3947,2600,3529,2601,3530,6264,3948,3531,3532,2602,17149,4095,3375,3376,4329,2603,8008,2604],[],[2972,37870],{"_2214":2972,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":37871,"_2222":37872},[],[37873,37879],[3017,37874],{"_2214":37875,"_2216":37876,"_2217":2227,"_2219":3017,"_2220":37877,"_2222":37878},"monitor-and-audit-logs","onitor-and-audit-logs",[4935,3496,20889,20890,13787,7546,18269,4681,7092,17199,35816,7787,4936,4937,3938,3497,3784,3215,7547,7548,19627,3498,13343,17148,3499,3500,6134,11268,18270,11269,3501,2501,7832,8789,2502,3502,2503,6920,3036,2504,3939,36867,35138,26397,13344,34450,3940,18039,3233,5777,4944,12925,6081,12926,5791,5184,2990,9391,5023,3503,4938,2505,3785,3234,3941,3942,3943,2506,2507,3981,2508],[],[3002,37880],{"_2214":37881,"_2216":37882,"_2217":2227,"_2219":3002,"_2220":37883,"_2222":37884},"miscellaneous","iscellaneous",[16940,3606,5587,3607,4992,4970,25214,14986,6978,36504,28365,6930,5515,6105,3393,3804,2891,2892,2893,2894,4025,2895,2896,3805,3608,2897,2898,2899,2900,2901,6106,2902,2903,2904,2905,4471,2906,2907,2908,2909,2910,3806,2911,2912,2913,2914,2915,2916,2917,2918,3807,4472,3609,2919,2920,2921,2922,2923,3610,2924,2925,2926,3611,2927,2928,2929,2930,3038,4597,3808,4245,19753,2931,7557,7974,3612,21042,3739,3809,29686],[],[3017,37886],{"_2214":3017,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":37887,"_2222":37888},[],[37889,37895],[3871,37890],{"_2214":37891,"_2216":37892,"_2217":2227,"_2219":3871,"_2220":37893,"_2222":37894},"observers-guide","bservers-guide",[6695,3264,6696,6682,15932,2509,2510,2511,2512,3159,3368,4186,3160,2513,2514,2515,3216,2516,2517,2518],[],[3066,37896],{"_2214":6558,"_2216":37897,"_2217":2227,"_2219":3066,"_2220":37898,"_2222":37899},"verview",[25612,7276,4252,18708,24731,5779,11282,11283,11284,8766,5932,2932,2995,2933,2934,2935,2936,3394,3613,3614,7558,7837,2937,6458,3615,3616,2938,5792,6022,2939,2940,2941,3677,13116,3957,3958,2942,8009,7559,2943,2944,17158,2945,2946,2947,2948,2949,4113,2950,17159,2951,2952,2953,2954,2955,9891,3617,9892,25336,30894,17733,22011,21549,9893,15370,30895,8299,17734,21550,9894,30896,8300,17735,22012,21551,9895,25337,30897,17736,31537,9896,17737,21552,9897,25338,30898,8301,17738,22013,31538,21553,4415,8741,11285,4922,9014,4334,3618,6001,11408,3619,3162,11981,6107,5336,8021,3238,6301,3620,3621,3622,3623,3624,11286,5191,2956,12127,4217,8367,7634,7560,5192,6640,3625,8428,6683,4827,6108,12007,2957,2958,5481,7754,12049,4473,6200,6923,6819,2959,11582,4159,8022,4598,7561,7562,8052,2996,8023,5482,7563,6109,12092,7157,12298,4474,3626,3627,7419,7564,5483,4851,3395,11736,4335,3628,5895,11878,6122,11287,11884,6110,7706,5193,6659,3810,2997,11180,2998,4336,3629,10641,3300,3163,3164,10320,4828,3239,3630,11674,8673,6266,11440,11416,8674,2960,5858,8675,8053,6002,9015,8361,7158,4475,8151,12420,7883,12436,4605,3631,10337,3632,6003,8024,6004,6111,6820,2999,2961,11453,7565,3811,6112,3633,6801,3301,9057,5979,9397,3217,3634,7606,9016,2962,7995,10822,2963,3716,8854,6113,7566,3165,5738,3921,6005,6821,7567,4490,5337,4540,8025,6006,2964,5484,11628,3635,6007,3636,5338,6114,9017,6115,6302,12245,3637,3240,7996,8464],[],[5252,37901],{"_2214":8804,"_2216":8804,"_2217":2218,"_2219":5252,"_2220":37902,"_2222":37903},[],[37904,37919],[3017,37905],{"_2214":36458,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":37906,"_2222":37907},[],[37908,37913],[3220,37909],{"_2214":36501,"_2216":37910,"_2217":2227,"_2219":3220,"_2220":37911,"_2222":37912},"rums",[36503,3504,29949,6347,6082,13678,6348,11259,5479,6349,17548,17549,6083,17645,17646,2519,10466,2520,2521,2522,2523,2524,2525,2526,3505,2527,3369,3650,3370,3371,6350,2528,6084,2529,2530,2531,6085,5513,2532,3506,2533,8373,3507,4890,5480,4896,17550,6351,2534,6352,2535,3508,3651,5514,25611,2536,2537,2538,3509,2539,7719,2540,2541,5065,2542,2543,2544,2545,2546,6353,2547,2548,3510],[],[3099,37914],{"_2214":37915,"_2216":37916,"_2217":2227,"_2219":3099,"_2220":37917,"_2222":37918},"quota-guide","ta-guide",[6921,3511,26287,28809,24000,3786,6086,2549,2550,3044,6255,4468,2551,2552,5990,2553,2554,2555],[],[3002,37920],{"_2214":37921,"_2216":37922,"_2217":2227,"_2219":3002,"_2220":37923,"_2222":37924},"quick-start","ick-start",[25612,7276,4252,18708,24731,5779,11282,11283,11284,8766,5932,2932,2995,2933,2934,2935,2936,3394,3613,3614,7558,7837,2937,6458,3615,3616,2938,5792,6022,2939,2940,2941,3677,13116,3957,3958,2942,8009,7559,2943,2944,17158,2945,2946,2947,2948,2949,4113,2950,17159,2951,2952,2953,2954,2955],[],[2216,37926],{"_2214":2216,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":37927,"_2222":37928},[],[37929,37935],[3207,37930],{"_2214":37931,"_2216":37932,"_2217":2227,"_2219":3207,"_2220":37933,"_2222":37934},"snapshot-and-restore-guide","napshot-and-restore-guide",[3512,2556,26689,9261,2557,2558,3513,2991,3787,3514,2559,2560,3788,2561,7549,2562,2992],[],[2217,37936],{"_2214":26401,"_2216":37937,"_2217":2227,"_2219":2217,"_2220":37938,"_2222":37939},"essions",[26403,2689,2690,2691,2692,2693,2694,2695,2696,2697,3382,3555,8212,13238,3950,10573,6100,2698,2699,2700,2701,2702,2703,2704,3556,2705,2706,3272,2707,17535,15622,2708,2709,3557,17536,2710,2711,2712,2713,3558,5875,2714,15628,2715,2716,2717],[],[3099,37941],{"_2214":22533,"_2216":22533,"_2217":2227,"_2219":3099,"_2220":37942,"_2222":37943},[22535,3515,27545,12961,13039,13073,13051,13023,12980,12987,12994,26700,7612,8764,16872,30596,30340,13080,22030,8237,30633,22008,11270,2563,11271,7550,3789,3516,3517,3944,2564,7833,6325,2565,4469,2566,2567,3265,19246,3266,3267,3790,3518,3835,14684,6415,3161,3791,15549,2568,3372,3519,18619,2569,6445,2570,3520,3652,7274,11272,3653,3521,2571,26245,3522,7551,11273,6263,6897,11274,5991,5992,3523,23183,3945,2572,2573,2574,2575,2576,2577,7275,16717,8765,3714],[],[4034,37945],{"_2214":4034,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":37946,"_2222":37947},[],[37948,37954],[3220,37949],{"_2214":37950,"_2216":37951,"_2217":2227,"_2219":3220,"_2220":37952,"_2222":37953},"programmers-guide","rogrammers-guide",[5056,3533,5185,5186,4330,2605,2606,2607,2608,7720,2609,2610,2611,2612,2993,3534,2613,2614,2615,2616,3535,7721,2617,2618,2619,3224,2620,3792,3536,12800,12807,12814,12826,4470,3793,3661,4826,3949,5216,5235,5236,5237,3537,5217,12856,3538,5187,2621,5188,2622,5189,2623,2624,17150,2625,30993,3539,30987,13345,13226,16718,6785,3540,3541,2626,2627,2628,6089,2629,2630,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636,2637,2638,2639,2640,3543,2641,3794,3544,4331,23799,23800,17151,2642,4244,11276,2643,17152,2644,2645,2646,29685,11277,2647,3377,2648,8660,3795,2649,9863,2650,3982,3378,3379,15146,6898,8757,13346,4664,6975,3545,2651,2652,3796,2653,2654,2655,2656,2657,3204,17153,2658,20790,3546,12934,31664,5057,33425,7343,26605,13599,3269,23133,3270,11278,11279,2659,2660,3547,35070,3797,2661,9434,2662,17154,2663,2664,2665,2666,2667,3798,2668,2669,2670,3548,2671,3037,11280,2672,2673,2674,3549,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098,3550,3551,3799,2675,2676,2677,2678,2679,6922,2680,6242,2681,7789,3552,6099,4332,2682,3553,2683,3554,4850,2684,2685,2686,3381,2687,2688,3271,3188,3800,3189,3190,12662,14169,5820,5778,3801,26403,2689,2690,2691,2692,2693,2694,2695,2696,2697,3382,3555,8212,13238,3950,10573,6100,2698,2699,2700,2701,2702,2703,2704,3556,2705,2706,3272,2707,17535,15622,2708,2709,3557,17536,2710,2711,2712,2713,3558,5875,2714,15628,2715,2716,2717,31665,3559,6101,9824,9013,5394,5395,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,3299,2730,2731,2732,2733,6976,3560,2734,3951,2735,2736,2737,2738],[],[3193,37955],{"_2214":37956,"_2216":37957,"_2217":2227,"_2219":3193,"_2220":37958,"_2222":37959},"pluggable-authentication","luggable-authentication",[4850,2684,2685,2686,3381,2687,2688,3271,3188,3800,3189,3190,12662,14169,5820,5778,3801],[],[3825,37961],{"_2214":37962,"_2216":37962,"_2217":2227,"_2219":3825,"_2220":37963,"_2222":37964},"gotchas-common-problems-and-troubleshooting",[3550,3551,3799,2675,2676,2677,2678,2679],[],[2214,37966],{"_2214":9044,"_2216":9044,"_2217":2227,"_2219":2214,"_2220":37967,"_2222":37968},[31665,3559,6101,9824,9013,5394,5395,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,3299,2730,2731,2732,2733,6976,3560,2734,3951,2735,2736,2737,2738],[],[3220,37970],{"_2214":3750,"_2216":3750,"_2217":2218,"_2219":3220,"_2220":37971,"_2222":37972},[],[37973,37977],[2222,37974],{"_2214":9839,"_2216":12569,"_2217":2227,"_2219":2222,"_2220":37975,"_2222":37976},[3561,3562,2739,5396,4251,30797,24784,36413,18890,28594,3563,27284,10843,14775,29191,3564,3383,2740,2741,2742,3565,2743,2744,4347,3566,2745,5671,2746,2747,32277,29303,2748,7361,10123,15532,15526,3567,7362,5995,7552,3568,10124,7164,2749,2750,2751,2752,17155,2753,2754,2755,17156,2756,2757,2758,5335,3569,5996,2759,2760,2761,2762,6265,5631,2763,2764,2765,2766,2767,2768,3952,3953,2769,2770,5997,5998,7165,2771,2772,33894,2773,5999,10844,3570,4511,2774,2775,3384,2776,2777,3237,2778,2779,15256,2780,3571,3572,2781,2782,6102,11248,2783,33895,2784,6000],[],[3193,37978],{"_2214":37979,"_2216":37980,"_2217":2227,"_2219":3193,"_2220":37981,"_2222":37982},"release-notes","lease-notes",[9891,3617,9892,25336,30894,17733,22011,21549,9893,15370,30895,8299,17734,21550,9894,30896,8300,17735,22012,21551,9895,25337,30897,17736,31537,9896,17737,21552,9897,25338,30898,8301,17738,22013,31538,21553,4415,8741,11285,4922,9014,4334,3618,6001,11408,3619,3162,11981,6107,5336,8021,3238,6301,3620,3621,3622,3623,3624,11286,5191,2956,12127,4217,8367,7634,7560,5192,6640,3625,8428,6683,4827,6108,12007,2957,2958,5481,7754,12049,4473,6200,6923,6819,2959,11582,4159,8022,4598,7561,7562,8052,2996,8023,5482,7563,6109,12092,7157,12298,4474,3626,3627,7419,7564,5483,4851,3395,11736,4335,3628,5895,11878,6122,11287,11884,6110,7706,5193,6659,3810,2997,11180,2998,4336,3629,10641,3300,3163,3164,10320,4828,3239,3630,11674,8673,6266,11440,11416,8674,2960,5858,8675,8053,6002,9015,8361,7158,4475,8151,12420,7883,12436,4605,3631,10337,3632,6003,8024,6004,6111,6820,2999,2961,11453,7565,3811,6112,3633,6801,3301,9057,5979,9397,3217,3634,7606,9016,2962,7995,10822,2963,3716,8854,6113,7566,3165,5738,3921,6005,6821,7567,4490,5337,4540,8025,6006,2964,5484,11628,3635,6007,3636,5338,6114,9017,6115,6302,12245,3637,3240,7996,8464],[],[3691,37984],{"_2214":37985,"_2216":37985,"_2217":2227,"_2219":3691,"_2220":37986,"_2222":37987},"use-cases",[15933,2785,8266,3350,5745,8238,7517,7200,35804,37052,36962,33869,34158,28146,28152,28159,21646,10686,4362,4363,4364,4365,4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387,14954,5699,22183,31135,24572,8553,18004,20293,21421,19817,11174,26638,23128,22726,14665,32040,30328,13221,3573,2786,2787,2788,2789,3385,2790,2791,3715,3574,2792,3575,2793,2794,2795,2796,3576,2797,2798,2799,2800,3577,2801,2802,2803,2804,2805,2806,3578,2807,2808,2809,4388,3579,2810,2811,3802,15318,3580,3581,6633,3582,2812,3583,2813,2814,2815,3386,2816,4389,3584,3585,2817,4738,2818,2819,2820,2821,2822,2823,3387,2824,2825,2826,2827,2828,2829,2830,2831,3954,2832,2833,2834,3586,2835,4390,2836,3587,3803,2837,3388,4391,3588,2838,2839,3589,3389,2840,2841,3590,4392,3591,2842,3592,2843,7553,2844,3593,3594,2845,2846,2847,3595,5643,13109,13239,4131,2848,2849,3596,7021,2850,7554,3597,3598,7555,2851,3390,2852,2853,4393,14666,4394,4395,4396,4397,4398,4399,13530,4400,4401,4402,4403,4404,12601,14667,2854,14668,12594,13537,3887,4405,4406,4407,4408,12728,4409,4427,4410,10467,4411,17883,4434,4441,4412,4413,4414,17884],[],[3002,37989],{"_2214":16938,"_2216":16938,"_2217":2227,"_2219":3002,"_2220":37990,"_2222":37991},[16940,3606,5587,3607,4992,4970,25214,14986,6978,36504,28365,6930,5515,6105,3393,3804,2891,2892,2893,2894,4025,2895,2896,3805,3608,2897,2898,2899,2900,2901,6106,2902,2903,2904,2905,4471,2906,2907,2908,2909,2910,3806,2911,2912,2913,2914,2915,2916,2917,2918,3807,4472,3609,2919,2920,2921,2922,2923,3610,2924,2925,2926,3611,2927,2928,2929,2930,3038,4597,3808,4245,19753,2931,7557,7974,3612,21042,3739,3809,29686],[],{"_5":2211,"_2212":37993,"_37697":2218},{"_2214":2215,"_2216":2215,"_2217":2218,"_2219":2215,"_2220":37994,"_2222":37995},[],[37996,38000,38004],[4034,37997],{"_2214":19386,"_2216":19386,"_2217":2227,"_2219":4034,"_2220":37998,"_2222":37999},[3013,18917,14690,8236,13757,7829,24256,3035,13333,9703,35815,4935,6695,36503,6921,3512,22535,23121,32540,5056,30993,2645,6975,20790,3550,6922,4850,26403,31665,3561,15933,6562,16940,25612,9891],[],[3099,38001],{"_2214":22127,"_2216":22127,"_2217":2227,"_2219":3099,"_2220":38002,"_2222":38003},[2229,2230,2231,2232,2233,2234,3081,2235,2236,2237,3355,6027,6071,31488,12960,3644,5064,5388,5389,2238,3767,3051,2239,3356,4359,2240,2241,5390,6072,7537,7538,3401,3768,2242,2243,2244,2245,6073,2246,3052,2247,3402,3055,5391,4457,4458,3403,5392,2248,9417,7539,3404,5984,2249,3405,2250,2251,3254,6260,3980,2252,2253,20543,36118,7540,36125,8860,36132,7541,36139,8861,36146,8206,36153,3177,36160,6074,36167,8207,36179,7542,36192,7543,2254,3357,2255,3056,2977,5873,3057,3406,3152,7718,5321,4459,5393,2256,2257,3407,3408,3927,6075,6076,2258,2259,3409,2260,4460,4324,2261,2262,2263,2264,3928,2265,2266,3929,2267,2268,2269,3410,2270,3411,3198,2271,16539,5985,3412,2272,6049,4461,3153,5986,16540,3104,3413,3154,3414,2273,3415,3058,2274,17138,2275,3769,5538,3930,3178,3416,17139,2276,2277,3770,2278,17140,2279,2280,3417,2281,3358,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,16235,5987,6216,2315,3420,3421,2316,3422,3423,3424,3425,5476,3426,5477,8296,3773,15117,7454,15118,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,16934,3429,5478,3430,2979,3359,2325,17141,3431,2326,2327,4488,2328,17142,3360,2329,2330,17143,2331,2332,2333,2334,3776,17144,3777,17145,3931,2335,2336,2337,3361,3432,3433,3434,3435,2338,2339,4489,3436,2340,2341,4645,4462,4652,7827,7544,7828,7545,3674,4646,2342,3231,2343,2344,2345,2346,2347,3437,5960,2348,2349,4825,3438,2350,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,4846,4847,4848,23798,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,8297,6300,2358,3448,8463,2359,3449,3450,3451,3778,2360,3452,4663,5874,18307,2361,3453,7038,6077,2362,12933,3454,2363,2364,3232,2365,3140,8298,2366,4778,3364,2367,2368,4779,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372,3779,2373,3458,3060,2980,2981,2982,2983,3061,2984,3062,2985,3063,2986,2987,2988,2374,2989,3459,2375,6261,2376,6021,2377,2378,2379,2380,2381,3460,2382,17146,3461,7770,3462,3464,8836,13251,3465,2384,2385,2386,5988,2387,3285,5798,5799,13339,25962,13340,13714,7510,3466,3467,3468,3469,26836,3470,3471,25059,25060,8273,3472,3473,25061,25062,31515,3474,3475,25063,25064,6864,6053,6054,25065,25066,3646,3365,2388,17147,2389,2390,3780,2391,6262,2392,8208,2393,2394,2395,2396,2397,2398,5790,2399,2400,5989,4044,2401,3476,3027,2402,2403,3477,2404,3478,2405,2406,2407,3479,4463,3156,13341,13759,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,4464,9555,2419,2420,3781,13334,5512,18751,9730,2421,2422,2423,2424,2425,4465,5183,2426,2427,2428,11266,4466,3480,2429,2430,2431,2432,2433,22668,3481,2434,3482,3483,6079,2435,4595,6080,2436,3248,2437,2438,2439,4497,2440,3157,2441,2442,12751,12752,2443,2444,12753,2445,5097,12754,2446,2447,2448,2449,3484,3485,3647,2450,2451,2452,3187,3486,3648,2453,2454,3487,2455,4326,3649,2456,3488,2457,2458,3489,2459,2460,2461,2462,22669,2463,3366,2464,2465,2466,2467,2468,8209,6681,6248,2469,2470,2471,3213,3158,2472,2473,4327,3367,2474,2475,2476,4328,2477,2478,2479,2480,3675,3490,3491,13761,2481,27963,2482,3782,2483,3783,2484,2485,2486,2487,2488,2489,2491,4031,3492,2492,2493,2494,3935,6561,3493,3214,3179,2495,21499,6652,24173,36465,10381,4467,9069,10358,2496,29244,29245,2497,29189,29190,2498,7737,7738,2499,23237,17451,3494,25994,26414,3936,2500,21500,6653,24174,12661,25676,4596,23238,17452,3495,25995,26415,3937,3496,3497,3784,3215,7547,7548,19627,3498,13343,17148,3499,3500,6134,11268,18270,11269,3501,2501,7832,8789,2502,3502,2503,6920,3036,2504,3939,36867,35138,26397,13344,34450,3940,18039,3233,5777,4944,12925,6081,12926,5791,5184,2990,9391,5023,3503,4938,2505,3785,3234,3941,3942,3943,2506,2507,3981,2508,3264,2509,2510,2511,2512,3159,3368,4186,3160,2513,2514,2515,3216,2516,2517,2518,3504,2520,2521,2522,2523,2524,2525,2526,3505,2527,3369,3650,3370,3371,6350,2528,6084,2529,2530,2531,6085,5513,2532,3506,2533,8373,3507,4890,5480,4896,17550,6351,2534,6352,2535,3508,3651,5514,25611,2536,2537,2538,3509,2539,7719,2540,2541,5065,2542,2543,2544,2545,2546,6353,2547,2548,3510,3511,3786,6086,2549,2550,3044,6255,4468,2551,2552,5990,2553,2554,2555,2556,2557,2558,3513,2991,3787,3514,2559,2560,3788,2561,7549,2562,2992,3515,11270,2563,11271,7550,3789,3516,3517,3944,2564,7833,6325,2565,4469,2566,2567,3265,19246,3266,3267,3790,3518,3835,14684,6415,3161,3791,15549,2568,3372,3519,18619,2569,6445,2570,3520,3652,7274,11272,3653,3521,2571,26245,3522,7551,11273,6263,6897,11274,5991,5992,3523,23183,3945,2572,2573,2574,2575,2576,2577,7275,16717,8765,3714,3524,3525,6087,2578,2579,2580,2581,2582,5993,6088,2583,2584,3526,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,2595,2597,7788,3946,3235,2598,2599,3373,3527,3528,12927,3374,3947,2600,3529,2601,3530,6264,3948,3531,3532,2602,17149,4095,3375,3376,4329,2603,8008,2604,3533,2605,2606,2607,2608,7720,2609,2610,2611,2612,2993,3534,2613,2614,2615,2616,3535,7721,2617,2618,2619,3224,2620,3792,3536,12800,12807,12814,12826,4470,3793,3661,4826,3949,5216,5235,5236,5237,3537,5217,12856,3538,5187,2621,5188,2622,5189,2623,2624,17150,2625,3539,3540,3541,2626,2627,2628,6089,2629,2630,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636,2637,2638,2639,2640,3543,2641,3794,3544,4331,23799,23800,17151,2642,4244,11276,2643,17152,2644,2646,2647,3377,2648,8660,3795,2649,9863,2650,3982,3378,3379,15146,6898,8757,13346,4664,3545,2651,2652,3796,2653,2654,2655,2656,2657,3204,17153,2658,3546,2659,2660,3547,35070,3797,2661,9434,2662,17154,2663,2664,2665,2666,2667,3798,2668,2669,2670,3548,2671,3037,11280,2672,2673,2674,3549,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098,3551,3799,2675,2676,2677,2678,2679,2680,2681,7789,3552,6099,4332,2682,3553,2683,3554,2684,2685,2686,3381,2687,2688,3271,3188,3800,3189,3190,12662,14169,5820,5778,3801,2689,2691,2692,2693,2694,2695,2696,2697,3382,3555,8212,13238,3950,10573,6100,2698,2699,2700,2701,2702,2703,2704,3556,2705,2706,3272,2707,17535,15622,2708,2709,3557,17536,2710,2711,2712,2713,3558,5875,2714,15628,2715,2716,2717,3559,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,3299,2730,2731,2732,2733,6976,3560,2734,3951,2735,2736,2737,2738,3562,3564,3383,2740,2741,2742,3565,2743,2744,4347,3566,2745,5671,2746,2747,32277,29303,2748,7361,10123,15532,15526,3567,7362,5995,7552,3568,10124,7164,2749,2750,2751,2752,17155,2753,2754,2755,17156,2756,2757,2758,5335,3569,5996,2759,2760,2761,2762,6265,5631,2763,2764,2765,2766,2767,2768,3952,3953,2769,2770,5997,5998,7165,2771,2772,33894,2773,5999,10844,3570,4511,2774,2775,3384,2776,2777,3237,2778,2779,15256,2780,3571,3572,2781,2782,6102,11248,2783,33895,2784,6000,2785,3573,2786,2787,2788,2789,3385,2790,2791,3715,3574,2792,3575,2793,2794,2795,2796,3576,2797,2798,2799,2800,3577,2801,2802,2803,2804,2805,2806,3578,2807,2808,2809,4388,3579,2810,2811,3802,15318,3580,3581,6633,3582,2812,3583,2813,2814,2815,3386,2816,4389,3584,3585,2817,4738,2818,2819,2820,2821,2822,2823,3387,2824,2825,2826,2827,2828,2829,2830,2831,3954,2832,2833,2834,3586,2835,4390,2836,3587,3803,2837,3388,4391,3588,2838,2839,3589,3389,2840,2841,3590,4392,3591,2842,3592,2843,7553,2844,3593,3594,2845,2846,2847,3595,5643,13109,13239,4131,2848,2849,3596,7021,2850,7554,3597,3598,7555,2851,3390,2852,2853,4393,14666,4394,4395,4396,4397,4398,4399,13530,4400,4401,4402,4403,4404,12601,14667,2854,14668,12594,13537,3887,4405,4406,4407,4408,12728,4409,4427,4410,10467,4411,17883,4434,4441,4412,4413,4414,17884,3014,2856,3602,2857,2858,2859,2860,2861,2862,3603,2863,2864,2865,2866,3955,2867,2868,2869,2870,5594,2871,2872,2873,2874,2875,2876,2877,2878,2879,2880,7556,6103,3391,3392,2881,2882,3956,2883,2884,17157,8746,9890,2885,2886,2887,6104,3604,3676,2888,2889,2890,3605,3606,3393,3804,2891,2892,2893,2894,4025,2895,2896,3805,3608,2897,2898,2899,2900,2901,6106,2902,2903,2904,2905,4471,2906,2907,2908,2909,2910,3806,2911,2912,2913,2914,2915,2916,2917,2918,3807,4472,3609,2919,2920,2921,2922,2923,3610,2924,2925,2926,3611,2927,2928,2929,2930,3038,4597,3808,4245,19753,2931,7557,7974,3612,21042,3739,3809,29686,7276,2932,2995,2933,2934,2935,2936,3394,3613,3614,7558,7837,2937,6458,3615,3616,2938,5792,6022,2939,2940,2941,3677,13116,3957,3958,2942,8009,7559,2943,2944,17158,2945,2946,2947,2948,2949,4113,2950,17159,2951,2952,2953,2954,2955,3617,4415,8741,11285,4922,9014,4334,3618,6001,11408,3619,3162,11981,6107,5336,8021,3238,6301,3620,3621,3622,3623,3624,11286,5191,2956,12127,4217,8367,7634,7560,5192,6640,3625,8428,6683,4827,6108,12007,2957,2958,5481,7754,12049,4473,6200,6923,6819,2959,11582,4159,8022,4598,7561,7562,8052,2996,8023,5482,7563,6109,12092,7157,12298,4474,3626,3627,7419,7564,5483,4851,3395,11736,4335,3628,5895,11878,6122,11287,11884,6110,7706,5193,6659,3810,2997,11180,2998,4336,3629,10641,3300,3163,3164,10320,4828,3239,3630,11674,8673,6266,11440,11416,8674,2960,5858,8675,8053,6002,9015,8361,7158,4475,8151,12420,7883,12436,4605,3631,10337,3632,6003,8024,6004,6111,6820,2999,2961,11453,7565,3811,6112,3633,6801,3301,9057,5979,9397,3217,3634,7606,9016,2962,7995,10822,2963,3716,8854,6113,7566,3165,5738,3921,6005,6821,7567,4490,5337,4540,8025,6006,2964,5484,11628,3635,6007,3636,5338,6114,9017,6115,6302,12245,3637,3240,7996,8464],[],[3322,38005],{"_2214":38006,"_2216":38006,"_2217":2227,"_2219":3322,"_2220":38007,"_2222":38008},"heading",[20080,6014,13290,25017,20682,28364,21663,18156,5334,18918,7786,3053,3054,22857,13237,13758,3082,5881,4845,16199,5882,5883,4772,24839,5884,6736,3059,22218,22219,7830,9607,8833,19890,20526,8822,13250,3463,2383,8834,8835,14356,30104,3292,13480,13741,14153,15621,23957,23973,24067,7273,7322,7329,7342,29923,28820,29433,18822,36385,9691,10668,9046,26244,26321,26332,25514,27835,35285,31447,7605,13342,3247,8653,8654,7831,32538,32539,14933,22492,6078,4325,26213,9534,13760,7257,16666,20784,9692,14465,3186,10896,11267,2490,16541,21506,10465,10374,21507,20889,20890,13787,7546,18269,4681,7092,17199,35816,7787,4936,4937,3938,6696,6682,15932,29949,6347,6082,13678,6348,11259,5479,6349,17548,17549,6083,17645,17646,2519,10466,26287,28809,24000,26689,9261,27545,12961,13039,13073,13051,13023,12980,12987,12994,26700,7612,8764,16872,30596,30340,13080,22030,8237,30633,22008,16841,30796,18475,15027,22009,22010,26882,27929,2596,8837,18486,13306,13307,15028,32991,23254,5185,5186,4330,30987,13345,13226,16718,6785,29685,11277,12934,31664,5057,33425,7343,26605,13599,3269,23133,3270,11278,11279,6242,2690,6101,9824,9013,5394,5395,2739,5396,4251,30797,24784,36413,18890,28594,3563,27284,10843,14775,29191,8266,3350,5745,8238,7517,7200,35804,37052,36962,33869,34158,28146,28152,28159,21646,10686,4362,4363,4364,4365,4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387,14954,5699,22183,31135,24572,8553,18004,20293,21421,19817,11174,26638,23128,22726,14665,32040,30328,13221,2855,7182,3599,11293,3600,3601,6977,4333,17647,34435,18997,9949,11281,5587,3607,4992,4970,25214,14986,6978,36504,28365,6930,5515,6105,4252,18708,24731,5779,11282,11283,11284,8766,5932,9892,25336,30894,17733,22011,21549,9893,15370,30895,8299,17734,21550,9894,30896,8300,17735,22012,21551,9895,25337,30897,17736,31537,9896,17737,21552,9897,25338,30898,8301,17738,22013,31538,21553],[],"breadcrumbs",{"_5":2211,"_2212":38011,"_37697":2227},{"_2214":2215,"_2216":2215,"_2217":2218,"_2219":2215,"_2220":38012,"_2222":38013},[],[38014,38028,38042,38051,38055,38069,38073],[2972,38015],{"_2214":2972,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":38016,"_2222":38017},[],[38018,38024],[3691,38019],{"_2214":38020,"_2216":38021,"_2217":2227,"_2219":3691,"_2220":38022,"_2222":38023},"multi-page","ulti-page",[3013,18917,14690,8236,13757,7829,24256,3035,13333,9703,35815,4935,6695,36503,6921,3512,22535,23121,32540,5056,30993,2645,6975,20790,3550,6922,4850,26403,31665,3561,15933,6562,16940,25612,9891],[],[3002,38025],{"_2214":37881,"_2216":37882,"_2217":2227,"_2219":3002,"_2220":38026,"_2222":38027},[16940],[],[2220,38029],{"_2214":2220,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":38030,"_2222":38031},[],[38032,38037],[3017,38033],{"_2214":24688,"_2216":38034,"_2217":2227,"_2219":3017,"_2220":38035,"_2222":38036},"ocumentation",[3013,18917,14690,8236,13757,7829,24256,3035,13333,9703,35815,4935,6695,36503,6921,3512,22535,23121,32540,5056,30993,2645,6975,20790,3550,6922,4850,26403,31665,3561,15933,6562,16940,25612,9891],[],[2217,38038],{"_2214":24383,"_2216":38039,"_2217":2227,"_2219":2217,"_2220":38040,"_2222":38041},"eveloper",[23121,32540,5056,30993,2645,6975,20790,3550,6922,4850,26403,31665,3561,15933],[],[2225,38043],{"_2214":2974,"_2216":2974,"_2217":2227,"_2219":2225,"_2220":38044,"_2222":38045},[3013,18917,14690,8236,13757,7829,24256,3035,13333,9703,35815,4935,6695,36503,6921,3512,22535],[38046],[3002,38047],{"_2214":3032,"_2216":38048,"_2217":2227,"_2219":3002,"_2220":38049,"_2222":38050},"istrator's",[3013,18917,14690,8236,13757,7829,24256,3035],[],[3017,38052],{"_2214":5964,"_2216":5964,"_2217":2227,"_2219":3017,"_2220":38053,"_2222":38054},[3013,18917,14690,8236,13757,7829,24256,3035,13333,9703,35815,4935,6695,36503,6921,3512,22535],[],[3825,38056],{"_2214":3825,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":38057,"_2222":38058},[],[38059,38064],[3691,38060],{"_2214":6918,"_2216":38061,"_2217":2227,"_2219":3691,"_2220":38062,"_2222":38063},"uide",[3013,18917,14690,8236,13757,7829,24256,3035,5056,30993,2645,6975,20790,3550,6922,4850,26403,31665],[],[2217,38065],{"_2214":7303,"_2216":38066,"_2217":2227,"_2219":2217,"_2220":38067,"_2222":38068},"etting",[6562,25612,9891],[],[4034,38070],{"_2214":18505,"_2216":18505,"_2217":2227,"_2219":4034,"_2220":38071,"_2222":38072},[5056,30993,2645,6975,20790,3550,6922,4850,26403,31665],[],[2216,38074],{"_2214":25616,"_2216":25616,"_2217":2227,"_2219":2216,"_2220":38075,"_2222":38076},[6562,25612,9891],[],"tags",{"_5":38079,"_2212":38080,"_37697":2227},"Flat",{"_38081":38082},"numberToDocumentId",[],{"_5":2211,"_2212":38084,"_37697":2218},{"_2214":2215,"_2216":2215,"_2217":2218,"_2219":2215,"_2220":38085,"_2222":38086},[],[38087,38262,38610,38689,38725,39005,39102,39307,39449,39672,39735,39796,39910,40008,40043,40238,40295,40357,40372,40419,40523,40588,40622,40740,40752],[2220,38088],{"_2214":2220,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":38089,"_2222":38090},[],[38091,38111,38200,38206,38240],[3017,38092],{"_2214":24662,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":38093,"_2222":38094},[],[38095,38100,38106],[2222,38096],{"_2214":24672,"_2216":38097,"_2217":2227,"_2219":2222,"_2220":38098,"_2222":38099},"cs",[3013,2229,20080,6014,13290,25017,20682,28364,21663,18156,2230,2231,2232,2233,2234,3081,2235,2236,2237,3355,6027,6071,31488,12960,3644,5064,5388,5389,2238,3767,3051,2239,3356,4359,2240,2241,5390,6072,7537,7538,18917,3401,5334,18918,3768,2242,2243,2244,2245,6073,2246,14690,3052,7786,3053,3054,2247,3402,3055,5391,4457,4458,3403,5392,2248,9417,7539,3404,5984,2249,3405,2250,2251,3254,6260,3980,2252,2253,20543,36118,7540,36125,8860,36132,7541,36139,8861,36146,8206,36153,3177,36160,6074,36167,8207,36179,7542,36192,7543,2254,3357,2255,3056,2977,5873,3057,3406,3152,7718,5321,4459,5393,2256,2257,3407,3408,3927,6075,6076,2258,2259,3409,2260,4460,4324,2261,2262,2263,2264,3928,2265,2266,3929,2267,2268,2269,3410,2270,8236,3411,22857,13237,3198,2271,16539,5985,3412,2272,6049,4461,3153,5986,16540,3104,3413,3154,3414,2273,3415,13757,3058,13758,3082,5881,4845,16199,5882,5883,4772,24839,5884,6736,3059,2274,17138,2275,3769,5538,3930,3178,3416,17139,2276,2277,3770,2278,17140,2279,2280,3417,2281,3358,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,16235,5987,6216,2315,3420,3421,2316,3422,3423,3424,3425,5476,3426,5477,8296,3773,15117,7454,15118,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,16934,3429,5478,3430,2979,3359,2325,17141,3431,2326,2327,4488,2328,17142,3360,2329,2330,17143,2331,2332,2333,2334,3776,17144,3777,17145,3931,2335,2336,2337,3361,3432,3433,3434,3435,2338,2339,4489,3436,2340,2341,4645,4462,4652,7827,7544,7828,7545,3674,4646,2342,3231,2343,2344,2345,2346,2347,3437,5960,2348,2349,4825,3438,2350,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,4846,4847,4848,23798,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,8297,6300,2358,3448,8463,2359,3449,3450,3451,3778,2360,3452,4663,5874,18307,2361,3453,7038,6077,2362,12933,3454,2363,2364,3232,2365,3140,8298,2366,4778,3364,2367,2368,4779,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372,3779,2373,3458,3060,2980,2981,2982,2983,3061,2984,3062,2985,3063,2986,2987,2988,2374,2989,7829,3459,22218,22219,7830,9607,2375,6261,2376,6021,2377,2378,2379,2380,2381,3460,2382,17146,3461,7770,24256,3462,8833,19890,20526,8822,13250,3463,2383,8834,8835,3464,8836,13251,3465,2384,2385,2386,5988,2387,3285,5798,5799,13339,25962,13340,13714,7510,3466,3467,3468,3469,26836,3470,3471,25059,25060,8273,3472,3473,25061,25062,31515,3474,3475,25063,25064,6864,6053,6054,25065,25066,3646,3365,2388,17147,2389,2390,3780,2391,6262,2392,8208,2393,2394,2395,2396,2397,2398,5790,2399,2400,5989,4044,2401,3476,3027,2402,2403,3477,2404,3478,2405,2406,3035,2407,13333,3479,14356,30104,3292,13480,13741,14153,15621,23957,23973,24067,7273,7322,7329,7342,29923,28820,29433,18822,36385,9691,10668,9046,26244,26321,26332,25514,27835,35285,31447,4463,3156,13341,13759,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,4464,9555,2419,2420,3781,13334,5512,18751,9730,2421,2422,2423,2424,2425,4465,5183,2426,2427,2428,11266,4466,9703,3480,7605,13342,3247,8653,8654,7831,32538,32539,14933,22492,6078,4325,26213,9534,13760,7257,16666,20784,9692,14465,3186,10896,2429,2430,2431,2432,2433,22668,3481,2434,3482,3483,6079,2435,4595,6080,2436,3248,2437,2438,2439,4497,2440,3157,2441,2442,12751,12752,2443,2444,12753,2445,5097,12754,2446,2447,2448,2449,3484,3485,3647,2450,2451,2452,3187,3486,3648,2453,2454,3487,2455,4326,3649,2456,3488,2457,2458,3489,2459,2460,2461,2462,22669,2463,3366,2464,2465,2466,2467,2468,8209,6681,6248,2469,2470,2471,3213,3158,2472,2473,4327,3367,2474,2475,2476,4328,2477,2478,2479,2480,3675,3490,3491,13761,2481,27963,2482,3782,2483,3783,2484,2485,2486,2487,2488,35815,2489,11267,2490,16541,21506,10465,10374,21507,2491,4031,3492,2492,2493,2494,3935,6561,3493,3214,3179,2495,21499,6652,24173,36465,10381,4467,9069,10358,2496,29244,29245,2497,29189,29190,2498,7737,7738,2499,23237,17451,3494,25994,26414,3936,2500,21500,6653,24174,12661,25676,4596,23238,17452,3495,25995,26415,3937,4935,3496,20889,20890,13787,7546,18269,4681,7092,17199,35816,7787,4936,4937,3938,3497,3784,3215,7547,7548,19627,3498,13343,17148,3499,3500,6134,11268,18270,11269,3501,2501,7832,8789,2502,3502,2503,6920,3036,2504,3939,36867,35138,26397,13344,34450,3940,18039,3233,5777,4944,12925,6081,12926,5791,5184,2990,9391,5023,3503,4938,2505,3785,3234,3941,3942,3943,2506,2507,3981,2508,6695,3264,6696,6682,15932,2509,2510,2511,2512,3159,3368,4186,3160,2513,2514,2515,3216,2516,2517,2518,36503,3504,29949,6347,6082,13678,6348,11259,5479,6349,17548,17549,6083,17645,17646,2519,10466,2520,2521,2522,2523,2524,2525,2526,3505,2527,3369,3650,3370,3371,6350,2528,6084,2529,2530,2531,6085,5513,2532,3506,2533,8373,3507,4890,5480,4896,17550,6351,2534,6352,2535,3508,3651,5514,25611,2536,2537,2538,3509,2539,7719,2540,2541,5065,2542,2543,2544,2545,2546,6353,2547,2548,3510,6921,3511,26287,28809,24000,3786,6086,2549,2550,3044,6255,4468,2551,2552,5990,2553,2554,2555,3512,2556,26689,9261,2557,2558,3513,2991,3787,3514,2559,2560,3788,2561,7549,2562,2992,22535,3515,27545,12961,13039,13073,13051,13023,12980,12987,12994,26700,7612,8764,16872,30596,30340,13080,22030,8237,30633,22008,11270,2563,11271,7550,3789,3516,3517,3944,2564,7833,6325,2565,4469,2566,2567,3265,19246,3266,3267,3790,3518,3835,14684,6415,3161,3791,15549,2568,3372,3519,18619,2569,6445,2570,3520,3652,7274,11272,3653,3521,2571,26245,3522,7551,11273,6263,6897,11274,5991,5992,3523,23183,3945,2572,2573,2574,2575,2576,2577,7275,16717,8765,3714,23121,3524,16841,30796,18475,15027,22009,22010,26882,27929,3525,6087,2578,2579,2580,2581,2582,5993,6088,2583,2584,3526,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,32540,2595,2596,8837,18486,13306,13307,15028,32991,23254,2597,7788,3946,3235,2598,2599,3373,3527,3528,12927,3374,3947,2600,3529,2601,3530,6264,3948,3531,3532,2602,17149,4095,3375,3376,4329,2603,8008,2604,5056,3533,5185,5186,4330,2605,2606,2607,2608,7720,2609,2610,2611,2612,2993,3534,2613,2614,2615,2616,3535,7721,2617,2618,2619,3224,2620,3792,3536,12800,12807,12814,12826,4470,3793,3661,4826,3949,5216,5235,5236,5237,3537,5217,12856,3538,5187,2621,5188,2622,5189,2623,2624,17150,2625,30993,3539,30987,13345,13226,16718,6785,3540,3541,2626,2627,2628,6089,2629,2630,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636,2637,2638,2639,2640,3543,2641,3794,3544,4331,23799,23800,17151,2642,4244,11276,2643,17152,2644,2645,2646,29685,11277,2647,3377,2648,8660,3795,2649,9863,2650,3982,3378,3379,15146,6898,8757,13346,4664,6975,3545,2651,2652,3796,2653,2654,2655,2656,2657,3204,17153,2658,20790,3546,12934,31664,5057,33425,7343,26605,13599,3269,23133,3270,11278,11279,2659,2660,3547,35070,3797,2661,9434,2662,17154,2663,2664,2665,2666,2667,3798,2668,2669,2670,3548,2671,3037,11280,2672,2673,2674,3549,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098,3550,3551,3799,2675,2676,2677,2678,2679,6922,2680,6242,2681,7789,3552,6099,4332,2682,3553,2683,3554,4850,2684,2685,2686,3381,2687,2688,3271,3188,3800,3189,3190,12662,14169,5820,5778,3801,26403,2689,2690,2691,2692,2693,2694,2695,2696,2697,3382,3555,8212,13238,3950,10573,6100,2698,2699,2700,2701,2702,2703,2704,3556,2705,2706,3272,2707,17535,15622,2708,2709,3557,17536,2710,2711,2712,2713,3558,5875,2714,15628,2715,2716,2717,31665,3559,6101,9824,9013,5394,5395,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,3299,2730,2731,2732,2733,6976,3560,2734,3951,2735,2736,2737,2738,3561,3562,2739,5396,4251,30797,24784,36413,18890,28594,3563,27284,10843,14775,29191,3564,3383,2740,2741,2742,3565,2743,2744,4347,3566,2745,5671,2746,2747,32277,29303,2748,7361,10123,15532,15526,3567,7362,5995,7552,3568,10124,7164,2749,2750,2751,2752,17155,2753,2754,2755,17156,2756,2757,2758,5335,3569,5996,2759,2760,2761,2762,6265,5631,2763,2764,2765,2766,2767,2768,3952,3953,2769,2770,5997,5998,7165,2771,2772,33894,2773,5999,10844,3570,4511,2774,2775,3384,2776,2777,3237,2778,2779,15256,2780,3571,3572,2781,2782,6102,11248,2783,33895,2784,6000,15933,2785,8266,3350,5745,8238,7517,7200,35804,37052,36962,33869,34158,28146,28152,28159,21646,10686,4362,4363,4364,4365,4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387,14954,5699,22183,31135,24572,8553,18004,20293,21421,19817,11174,26638,23128,22726,14665,32040,30328,13221,3573,2786,2787,2788,2789,3385,2790,2791,3715,3574,2792,3575,2793,2794,2795,2796,3576,2797,2798,2799,2800,3577,2801,2802,2803,2804,2805,2806,3578,2807,2808,2809,4388,3579,2810,2811,3802,15318,3580,3581,6633,3582,2812,3583,2813,2814,2815,3386,2816,4389,3584,3585,2817,4738,2818,2819,2820,2821,2822,2823,3387,2824,2825,2826,2827,2828,2829,2830,2831,3954,2832,2833,2834,3586,2835,4390,2836,3587,3803,2837,3388,4391,3588,2838,2839,3589,3389,2840,2841,3590,4392,3591,2842,3592,2843,7553,2844,3593,3594,2845,2846,2847,3595,5643,13109,13239,4131,2848,2849,3596,7021,2850,7554,3597,3598,7555,2851,3390,2852,2853,4393,14666,4394,4395,4396,4397,4398,4399,13530,4400,4401,4402,4403,4404,12601,14667,2854,14668,12594,13537,3887,4405,4406,4407,4408,12728,4409,4427,4410,10467,4411,17883,4434,4441,4412,4413,4414,17884,6562,3014,2855,7182,3599,11293,3600,3601,6977,4333,17647,34435,18997,9949,11281,2856,3602,2857,2858,2859,2860,2861,2862,3603,2863,2864,2865,2866,3955,2867,2868,2869,2870,5594,2871,2872,2873,2874,2875,2876,2877,2878,2879,2880,7556,6103,3391,3392,2881,2882,3956,2883,2884,17157,8746,9890,2885,2886,2887,6104,3604,3676,2888,2889,2890,3605,16940,3606,5587,3607,4992,4970,25214,14986,6978,36504,28365,6930,5515,6105,3393,3804,2891,2892,2893,2894,4025,2895,2896,3805,3608,2897,2898,2899,2900,2901,6106,2902,2903,2904,2905,4471,2906,2907,2908,2909,2910,3806,2911,2912,2913,2914,2915,2916,2917,2918,3807,4472,3609,2919,2920,2921,2922,2923,3610,2924,2925,2926,3611,2927,2928,2929,2930,3038,4597,3808,4245,19753,2931,7557,7974,3612,21042,3739,3809,29686,25612,7276,4252,18708,24731,5779,11282,11283,11284,8766,5932,2932,2995,2933,2934,2935,2936,3394,3613,3614,7558,7837,2937,6458,3615,3616,2938,5792,6022,2939,2940,2941,3677,13116,3957,3958,2942,8009,7559,2943,2944,17158,2945,2946,2947,2948,2949,4113,2950,17159,2951,2952,2953,2954,2955,9891,3617,9892,25336,30894,17733,22011,21549,9893,15370,30895,8299,17734,21550,9894,30896,8300,17735,22012,21551,9895,25337,30897,17736,31537,9896,17737,21552,9897,25338,30898,8301,17738,22013,31538,21553,4415,8741,11285,4922,9014,4334,3618,6001,11408,3619,3162,11981,6107,5336,8021,3238,6301,3620,3621,3622,3623,3624,11286,5191,2956,12127,4217,8367,7634,7560,5192,6640,3625,8428,6683,4827,6108,12007,2957,2958,5481,7754,12049,4473,6200,6923,6819,2959,11582,4159,8022,4598,7561,7562,8052,2996,8023,5482,7563,6109,12092,7157,12298,4474,3626,3627,7419,7564,5483,4851,3395,11736,4335,3628,5895,11878,6122,11287,11884,6110,7706,5193,6659,3810,2997,11180,2998,4336,3629,10641,3300,3163,3164,10320,4828,3239,3630,11674,8673,6266,11440,11416,8674,2960,5858,8675,8053,6002,9015,8361,7158,4475,8151,12420,7883,12436,4605,3631,10337,3632,6003,8024,6004,6111,6820,2999,2961,11453,7565,3811,6112,3633,6801,3301,9057,5979,9397,3217,3634,7606,9016,2962,7995,10822,2963,3716,8854,6113,7566,3165,5738,3921,6005,6821,7567,4490,5337,4540,8025,6006,2964,5484,11628,3635,6007,3636,5338,6114,9017,6115,6302,12245,3637,3240,7996,8464],[],[3691,38101],{"_2214":38102,"_2216":38103,"_2217":2227,"_2219":3691,"_2220":38104,"_2222":38105},"double-barriers","uble-barriers",[24784,2746,2747,32277,29303,2748,7361,10123,15532,15526,3567,7362,5995,7552,3568,10124,7164,2749,2750,2751],[],[2214,38107],{"_2214":24728,"_2216":38108,"_2217":2227,"_2219":2214,"_2220":38109,"_2222":38110},"wnload",[24731,2933],[],[2217,38112],{"_2214":10789,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":38113,"_2222":38114},[],[38115,38133,38143,38159,38185,38195],[3871,38116],{"_2214":38117,"_2216":38118,"_2217":2218,"_2219":3871,"_2220":38119,"_2222":38120},"debug-","bug-",[],[38121,38127],[3193,38122],{"_2214":38123,"_2216":38124,"_2217":2227,"_2219":3193,"_2220":38125,"_2222":38126},"debug-log-cleanup-logback","log-cleanup-logback",[13290,2235],[],[3017,38128],{"_2214":38129,"_2216":38130,"_2217":2227,"_2219":3017,"_2220":38131,"_2222":38132},"debug-observability-configurations","observability-configurations",[6736,3779,2373,3458],[],[4034,38134],{"_2214":24254,"_2216":37735,"_2217":2227,"_2219":4034,"_2220":38135,"_2222":38136},[24256,3462,8833,19890,20526,8822,13250,3463,2383,8834,8835,3464,8836,13251,3465,2384,2385,2386,5988,2387,3285,5798,5799,13339,25962,13340,13714,7510,3466,3467,3468,3469,26836,3470,3471,25059,25060,8273,3472,3473,25061,25062,31515,3474,3475,25063,25064,6864,6053,6054,25065,25066,3646,3365,2388,17147,2389,2390,3780,2391,6262,2392,8208,2393,2394,2395,2396,2397,2398,5790,2399,2400,5989,4044,2401,3476,3027,2402,2403,3477,2404,3478,2405,2406],[38137],[3280,38138],{"_2214":38139,"_2216":38140,"_2217":2227,"_2219":3280,"_2220":38141,"_2222":38142},"deployment-contexts","-contexts",[13678,2525,2526],[],[2216,38144],{"_2214":24086,"_2216":27092,"_2217":2218,"_2219":2216,"_2220":38145,"_2222":38146},[],[38147,38153],[3002,38148],{"_2214":38149,"_2216":38150,"_2217":2227,"_2219":3002,"_2220":38151,"_2222":38152},"designing-a-zookeeper-deployment","ing-a-zookeeper-deployment",[2383,4044,2401,3476,3027],[],[3280,38154],{"_2214":38155,"_2216":38156,"_2217":2227,"_2219":3280,"_2220":38157,"_2222":38158},"design-goals","-goals",[7182,2857,2858,2859,2860,2861,2862,3603],[],[3193,38160],{"_2214":23941,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":38161,"_2222":38162},[],[38163,38181],[2217,38164],{"_2214":23951,"_2216":8685,"_2217":2218,"_2219":2217,"_2220":38165,"_2222":38166},[],[38167,38175],[2217,38168],{"_2214":12812,"_2216":2217,"_2217":2227,"_2219":2217,"_2220":38169,"_2222":38170},[23957,2413],[38171],[2225,38172],{"_2214":23971,"_2216":4455,"_2217":2227,"_2219":2225,"_2220":38173,"_2222":38174},[23973,2414],[],[3002,38176],{"_2214":38177,"_2216":38178,"_2217":2227,"_2219":3002,"_2220":38179,"_2222":38180},"deleting-quotas","ing-quotas",[24000,2555],[],[5252,38182],{"_2214":24064,"_2216":24065,"_2217":2227,"_2219":5252,"_2220":38183,"_2222":38184},[24067,2415],[],[3066,38186],{"_2214":24383,"_2216":37740,"_2217":2227,"_2219":3066,"_2220":38187,"_2222":38188},[23121,3524,16841,30796,18475,15027,22009,22010,26882,27929,3525,6087,2578,2579,2580,2581,2582,5993,6088,2583,2584,3526,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,32540,2595,2596,8837,18486,13306,13307,15028,32991,23254,2597,7788,3946,3235,2598,2599,3373,3527,3528,12927,3374,3947,2600,3529,2601,3530,6264,3948,3531,3532,2602,17149,4095,3375,3376,4329,2603,8008,2604,5056,3533,5185,5186,4330,2605,2606,2607,2608,7720,2609,2610,2611,2612,2993,3534,2613,2614,2615,2616,3535,7721,2617,2618,2619,3224,2620,3792,3536,12800,12807,12814,12826,4470,3793,3661,4826,3949,5216,5235,5236,5237,3537,5217,12856,3538,5187,2621,5188,2622,5189,2623,2624,17150,2625,30993,3539,30987,13345,13226,16718,6785,3540,3541,2626,2627,2628,6089,2629,2630,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636,2637,2638,2639,2640,3543,2641,3794,3544,4331,23799,23800,17151,2642,4244,11276,2643,17152,2644,2645,2646,29685,11277,2647,3377,2648,8660,3795,2649,9863,2650,3982,3378,3379,15146,6898,8757,13346,4664,6975,3545,2651,2652,3796,2653,2654,2655,2656,2657,3204,17153,2658,20790,3546,12934,31664,5057,33425,7343,26605,13599,3269,23133,3270,11278,11279,2659,2660,3547,35070,3797,2661,9434,2662,17154,2663,2664,2665,2666,2667,3798,2668,2669,2670,3548,2671,3037,11280,2672,2673,2674,3549,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098,3550,3551,3799,2675,2676,2677,2678,2679,6922,2680,6242,2681,7789,3552,6099,4332,2682,3553,2683,3554,4850,2684,2685,2686,3381,2687,2688,3271,3188,3800,3189,3190,12662,14169,5820,5778,3801,26403,2689,2690,2691,2692,2693,2694,2695,2696,2697,3382,3555,8212,13238,3950,10573,6100,2698,2699,2700,2701,2702,2703,2704,3556,2705,2706,3272,2707,17535,15622,2708,2709,3557,17536,2710,2711,2712,2713,3558,5875,2714,15628,2715,2716,2717,31665,3559,6101,9824,9013,5394,5395,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,3299,2730,2731,2732,2733,6976,3560,2734,3951,2735,2736,2737,2738,3561,3562,2739,5396,4251,30797,24784,36413,18890,28594,3563,27284,10843,14775,29191,3564,3383,2740,2741,2742,3565,2743,2744,4347,3566,2745,5671,2746,2747,32277,29303,2748,7361,10123,15532,15526,3567,7362,5995,7552,3568,10124,7164,2749,2750,2751,2752,17155,2753,2754,2755,17156,2756,2757,2758,5335,3569,5996,2759,2760,2761,2762,6265,5631,2763,2764,2765,2766,2767,2768,3952,3953,2769,2770,5997,5998,7165,2771,2772,33894,2773,5999,10844,3570,4511,2774,2775,3384,2776,2777,3237,2778,2779,15256,2780,3571,3572,2781,2782,6102,11248,2783,33895,2784,6000,15933,2785,8266,3350,5745,8238,7517,7200,35804,37052,36962,33869,34158,28146,28152,28159,21646,10686,4362,4363,4364,4365,4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387,14954,5699,22183,31135,24572,8553,18004,20293,21421,19817,11174,26638,23128,22726,14665,32040,30328,13221,3573,2786,2787,2788,2789,3385,2790,2791,3715,3574,2792,3575,2793,2794,2795,2796,3576,2797,2798,2799,2800,3577,2801,2802,2803,2804,2805,2806,3578,2807,2808,2809,4388,3579,2810,2811,3802,15318,3580,3581,6633,3582,2812,3583,2813,2814,2815,3386,2816,4389,3584,3585,2817,4738,2818,2819,2820,2821,2822,2823,3387,2824,2825,2826,2827,2828,2829,2830,2831,3954,2832,2833,2834,3586,2835,4390,2836,3587,3803,2837,3388,4391,3588,2838,2839,3589,3389,2840,2841,3590,4392,3591,2842,3592,2843,7553,2844,3593,3594,2845,2846,2847,3595,5643,13109,13239,4131,2848,2849,3596,7021,2850,7554,3597,3598,7555,2851,3390,2852,2853,4393,14666,4394,4395,4396,4397,4398,4399,13530,4400,4401,4402,4403,4404,12601,14667,2854,14668,12594,13537,3887,4405,4406,4407,4408,12728,4409,4427,4410,10467,4411,17883,4434,4441,4412,4413,4414,17884],[38189],[3280,38190],{"_2214":38191,"_2216":38192,"_2217":2227,"_2219":3280,"_2220":38193,"_2222":38194},"developer-guidelines","-guidelines",[6930,4597],[],[2217,38196],{"_2214":24569,"_2216":38197,"_2217":2227,"_2219":2217,"_2220":38198,"_2222":38199},"epdyve",[24572,2845],[],[3002,38201],{"_2214":38202,"_2216":38203,"_2217":2227,"_2219":3002,"_2220":38204,"_2222":38205},"disabling-data-directory-autocreation","isabling-data-directory-autocreation",[4772,2366,4778,3364,2367],[],[2225,38207],{"_2214":3,"_2216":38208,"_2217":2218,"_2219":2225,"_2220":38209,"_2222":38210},"ata",[],[38211,38234],[3280,38212],{"_2214":37714,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":38213,"_2222":38214},[],[38215,38219,38229],[3085,38216],{"_2214":37720,"_2216":37721,"_2217":2227,"_2219":3085,"_2220":38217,"_2222":38218},[7829,3459,22218,22219,7830,9607,2375,6261,2376,6021,2377,2378,2379,2380,2381,3460,2382,17146,3461,7770],[],[2972,38220],{"_2214":37726,"_2216":20788,"_2217":2227,"_2219":2972,"_2220":38221,"_2222":38222},[20790,3546,12934,31664,5057,33425,7343,26605,13599,3269,23133,3270,11278,11279,2659,2660,3547,35070,3797,2661,9434,2662,17154,2663,2664,2665,2666,2667,3798,2668,2669,2670,3548,2671,3037,11280,2672,2673,2674,3549,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098],[38223],[3280,38224],{"_2214":38225,"_2216":38226,"_2217":2227,"_2219":3280,"_2220":38227,"_2222":38228},"data-model-and-the-hierarchical-namespace","-and-the-hierarchical-namespace",[3599,2863],[],[2225,38230],{"_2214":38231,"_2216":5053,"_2217":2227,"_2219":2225,"_2220":38232,"_2222":38233},"data-access",[5057,2666,2667],[],[2972,38235],{"_2214":38236,"_2216":38237,"_2217":2227,"_2219":2972,"_2220":38238,"_2222":38239},"datamonitorjava","monitorjava",[23254],[],[3640,38241],{"_2214":38242,"_2216":38243,"_2217":2218,"_2219":3640,"_2220":38244,"_2222":38245},"dynamic-","ynamic-",[],[38246,38256],[3220,38247],{"_2214":37745,"_2216":9701,"_2217":2227,"_2219":3220,"_2220":38248,"_2222":38249},[9703,3480,7605,13342,3247,8653,8654,7831,32538,32539,14933,22492,6078,4325,26213,9534,13760,7257,16666,20784,9692,14465,3186,10896,2429,2430,2431,2432,2433,22668,3481,2434,3482,3483,6079,2435,4595,6080,2436,3248,2437,2438,2439,4497,2440,3157,2441,2442,12751,12752,2443,2444,12753,2445,5097,12754,2446,2447,2448,2449,3484,3485,3647,2450,2451,2452,3187,3486,3648,2453,2454,3487,2455,4326,3649,2456,3488,2457,2458,3489,2459,2460,2461,2462,22669,2463,3366,2464,2465,2466,2467,2468,8209,6681,6248,2469,2470,2471,3213,3158,2472,2473,4327,3367,2474,2475,2476,4328,2477,2478,2479,2480,3675,3490,3491,13761,2481,27963,2482,3782,2483,3783,2484,2485,2486,2487,2488],[38250],[3280,38251],{"_2214":38252,"_2216":38253,"_2217":2227,"_2219":3280,"_2220":38254,"_2222":38255},"dynamic-reconfiguration-of-the-zookeeper-ensemble","-of-the-zookeeper-ensemble",[6078,2449],[],[2222,38257],{"_2214":38258,"_2216":38259,"_2217":2227,"_2219":2222,"_2220":38260,"_2222":38261},"dynamic-configuration-file","configuration-file",[7831,2441,2442],[],[2225,38263],{"_2214":2225,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":38264,"_2222":38265},[],[38266,38333,38534,38540,38557,38574,38595,38599,38604],[2220,38267],{"_2214":2968,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":38268,"_2222":38269},[],[38270,38296,38302,38327],[2972,38271],{"_2214":2974,"_2216":2975,"_2217":2218,"_2219":2972,"_2220":38272,"_2222":38273},[],[38274,38278,38290],[3280,38275],{"_2214":37759,"_2216":37760,"_2217":2227,"_2219":3280,"_2220":38276,"_2222":38277},[3013,2229,20080,6014,13290,25017,20682,28364,21663,18156,2230,2231,2232,2233,2234,3081,2235,2236,2237,3355,6027,6071,31488,12960,3644,5064,5388,5389,2238,3767,3051,2239,3356,4359,2240,2241,5390,6072,7537,7538,18917,3401,5334,18918,3768,2242,2243,2244,2245,6073,2246,14690,3052,7786,3053,3054,2247,3402,3055,5391,4457,4458,3403,5392,2248,9417,7539,3404,5984,2249,3405,2250,2251,3254,6260,3980,2252,2253,20543,36118,7540,36125,8860,36132,7541,36139,8861,36146,8206,36153,3177,36160,6074,36167,8207,36179,7542,36192,7543,2254,3357,2255,3056,2977,5873,3057,3406,3152,7718,5321,4459,5393,2256,2257,3407,3408,3927,6075,6076,2258,2259,3409,2260,4460,4324,2261,2262,2263,2264,3928,2265,2266,3929,2267,2268,2269,3410,2270,8236,3411,22857,13237,3198,2271,16539,5985,3412,2272,6049,4461,3153,5986,16540,3104,3413,3154,3414,2273,3415,13757,3058,13758,3082,5881,4845,16199,5882,5883,4772,24839,5884,6736,3059,2274,17138,2275,3769,5538,3930,3178,3416,17139,2276,2277,3770,2278,17140,2279,2280,3417,2281,3358,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,16235,5987,6216,2315,3420,3421,2316,3422,3423,3424,3425,5476,3426,5477,8296,3773,15117,7454,15118,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,16934,3429,5478,3430,2979,3359,2325,17141,3431,2326,2327,4488,2328,17142,3360,2329,2330,17143,2331,2332,2333,2334,3776,17144,3777,17145,3931,2335,2336,2337,3361,3432,3433,3434,3435,2338,2339,4489,3436,2340,2341,4645,4462,4652,7827,7544,7828,7545,3674,4646,2342,3231,2343,2344,2345,2346,2347,3437,5960,2348,2349,4825,3438,2350,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,4846,4847,4848,23798,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,8297,6300,2358,3448,8463,2359,3449,3450,3451,3778,2360,3452,4663,5874,18307,2361,3453,7038,6077,2362,12933,3454,2363,2364,3232,2365,3140,8298,2366,4778,3364,2367,2368,4779,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372,3779,2373,3458,3060,2980,2981,2982,2983,3061,2984,3062,2985,3063,2986,2987,2988,2374,2989,7829,3459,22218,22219,7830,9607,2375,6261,2376,6021,2377,2378,2379,2380,2381,3460,2382,17146,3461,7770,24256,3462,8833,19890,20526,8822,13250,3463,2383,8834,8835,3464,8836,13251,3465,2384,2385,2386,5988,2387,3285,5798,5799,13339,25962,13340,13714,7510,3466,3467,3468,3469,26836,3470,3471,25059,25060,8273,3472,3473,25061,25062,31515,3474,3475,25063,25064,6864,6053,6054,25065,25066,3646,3365,2388,17147,2389,2390,3780,2391,6262,2392,8208,2393,2394,2395,2396,2397,2398,5790,2399,2400,5989,4044,2401,3476,3027,2402,2403,3477,2404,3478,2405,2406,3035,2407,13333,3479,14356,30104,3292,13480,13741,14153,15621,23957,23973,24067,7273,7322,7329,7342,29923,28820,29433,18822,36385,9691,10668,9046,26244,26321,26332,25514,27835,35285,31447,4463,3156,13341,13759,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,4464,9555,2419,2420,3781,13334,5512,18751,9730,2421,2422,2423,2424,2425,4465,5183,2426,2427,2428,11266,4466,9703,3480,7605,13342,3247,8653,8654,7831,32538,32539,14933,22492,6078,4325,26213,9534,13760,7257,16666,20784,9692,14465,3186,10896,2429,2430,2431,2432,2433,22668,3481,2434,3482,3483,6079,2435,4595,6080,2436,3248,2437,2438,2439,4497,2440,3157,2441,2442,12751,12752,2443,2444,12753,2445,5097,12754,2446,2447,2448,2449,3484,3485,3647,2450,2451,2452,3187,3486,3648,2453,2454,3487,2455,4326,3649,2456,3488,2457,2458,3489,2459,2460,2461,2462,22669,2463,3366,2464,2465,2466,2467,2468,8209,6681,6248,2469,2470,2471,3213,3158,2472,2473,4327,3367,2474,2475,2476,4328,2477,2478,2479,2480,3675,3490,3491,13761,2481,27963,2482,3782,2483,3783,2484,2485,2486,2487,2488,35815,2489,11267,2490,16541,21506,10465,10374,21507,2491,4031,3492,2492,2493,2494,3935,6561,3493,3214,3179,2495,21499,6652,24173,36465,10381,4467,9069,10358,2496,29244,29245,2497,29189,29190,2498,7737,7738,2499,23237,17451,3494,25994,26414,3936,2500,21500,6653,24174,12661,25676,4596,23238,17452,3495,25995,26415,3937,4935,3496,20889,20890,13787,7546,18269,4681,7092,17199,35816,7787,4936,4937,3938,3497,3784,3215,7547,7548,19627,3498,13343,17148,3499,3500,6134,11268,18270,11269,3501,2501,7832,8789,2502,3502,2503,6920,3036,2504,3939,36867,35138,26397,13344,34450,3940,18039,3233,5777,4944,12925,6081,12926,5791,5184,2990,9391,5023,3503,4938,2505,3785,3234,3941,3942,3943,2506,2507,3981,2508,6695,3264,6696,6682,15932,2509,2510,2511,2512,3159,3368,4186,3160,2513,2514,2515,3216,2516,2517,2518,36503,3504,29949,6347,6082,13678,6348,11259,5479,6349,17548,17549,6083,17645,17646,2519,10466,2520,2521,2522,2523,2524,2525,2526,3505,2527,3369,3650,3370,3371,6350,2528,6084,2529,2530,2531,6085,5513,2532,3506,2533,8373,3507,4890,5480,4896,17550,6351,2534,6352,2535,3508,3651,5514,25611,2536,2537,2538,3509,2539,7719,2540,2541,5065,2542,2543,2544,2545,2546,6353,2547,2548,3510,6921,3511,26287,28809,24000,3786,6086,2549,2550,3044,6255,4468,2551,2552,5990,2553,2554,2555,3512,2556,26689,9261,2557,2558,3513,2991,3787,3514,2559,2560,3788,2561,7549,2562,2992,22535,3515,27545,12961,13039,13073,13051,13023,12980,12987,12994,26700,7612,8764,16872,30596,30340,13080,22030,8237,30633,22008,11270,2563,11271,7550,3789,3516,3517,3944,2564,7833,6325,2565,4469,2566,2567,3265,19246,3266,3267,3790,3518,3835,14684,6415,3161,3791,15549,2568,3372,3519,18619,2569,6445,2570,3520,3652,7274,11272,3653,3521,2571,26245,3522,7551,11273,6263,6897,11274,5991,5992,3523,23183,3945,2572,2573,2574,2575,2576,2577,7275,16717,8765,3714],[],[3002,38279],{"_2214":3004,"_2216":3005,"_2217":2218,"_2219":3002,"_2220":38280,"_2222":38281},[],[38282,38286],[3017,38283],{"_2214":37769,"_2216":37770,"_2217":2227,"_2219":3017,"_2220":38284,"_2222":38285},[3013,2229,20080,6014,13290,25017,20682,28364,21663,18156,2230,2231,2232,2233,2234,3081,2235,2236,2237,3355,6027,6071,31488,12960,3644,5064,5388,5389,2238,3767,3051,2239,3356,4359,2240,2241,5390,6072,7537,7538,18917,3401,5334,18918,3768,2242,2243,2244,2245,6073,2246,14690,3052,7786,3053,3054,2247,3402,3055,5391,4457,4458,3403,5392,2248,9417,7539,3404,5984,2249,3405,2250,2251,3254,6260,3980,2252,2253,20543,36118,7540,36125,8860,36132,7541,36139,8861,36146,8206,36153,3177,36160,6074,36167,8207,36179,7542,36192,7543,2254,3357,2255,3056,2977,5873,3057,3406,3152,7718,5321,4459,5393,2256,2257,3407,3408,3927,6075,6076,2258,2259,3409,2260,4460,4324,2261,2262,2263,2264,3928,2265,2266,3929,2267,2268,2269,3410,2270,8236,3411,22857,13237,3198,2271,16539,5985,3412,2272,6049,4461,3153,5986,16540,3104,3413,3154,3414,2273,3415,13757,3058,13758,3082,5881,4845,16199,5882,5883,4772,24839,5884,6736,3059,2274,17138,2275,3769,5538,3930,3178,3416,17139,2276,2277,3770,2278,17140,2279,2280,3417,2281,3358,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,16235,5987,6216,2315,3420,3421,2316,3422,3423,3424,3425,5476,3426,5477,8296,3773,15117,7454,15118,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,16934,3429,5478,3430,2979,3359,2325,17141,3431,2326,2327,4488,2328,17142,3360,2329,2330,17143,2331,2332,2333,2334,3776,17144,3777,17145,3931,2335,2336,2337,3361,3432,3433,3434,3435,2338,2339,4489,3436,2340,2341,4645,4462,4652,7827,7544,7828,7545,3674,4646,2342,3231,2343,2344,2345,2346,2347,3437,5960,2348,2349,4825,3438,2350,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,4846,4847,4848,23798,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,8297,6300,2358,3448,8463,2359,3449,3450,3451,3778,2360,3452,4663,5874,18307,2361,3453,7038,6077,2362,12933,3454,2363,2364,3232,2365,3140,8298,2366,4778,3364,2367,2368,4779,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372,3779,2373,3458,3060,2980,2981,2982,2983,3061,2984,3062,2985,3063,2986,2987,2988,2374,2989,7829,3459,22218,22219,7830,9607,2375,6261,2376,6021,2377,2378,2379,2380,2381,3460,2382,17146,3461,7770,24256,3462,8833,19890,20526,8822,13250,3463,2383,8834,8835,3464,8836,13251,3465,2384,2385,2386,5988,2387,3285,5798,5799,13339,25962,13340,13714,7510,3466,3467,3468,3469,26836,3470,3471,25059,25060,8273,3472,3473,25061,25062,31515,3474,3475,25063,25064,6864,6053,6054,25065,25066,3646,3365,2388,17147,2389,2390,3780,2391,6262,2392,8208,2393,2394,2395,2396,2397,2398,5790,2399,2400,5989,4044,2401,3476,3027,2402,2403,3477,2404,3478,2405,2406,3035,2407],[],[3002,38287],{"_2214":3010,"_2216":3011,"_2217":2227,"_2219":3002,"_2220":38288,"_2222":38289},[3013,2229,20080,6014,13290,25017,20682,28364,21663,18156,2230,2231,2232,2233,2234,3081,2235,2236,2237,3355,6027,6071,31488,12960,3644,5064,5388,5389,2238,3767,3051,2239,3356,4359,2240,2241,5390,6072,7537,7538],[],[2216,38291],{"_2214":38292,"_2216":38293,"_2217":2227,"_2219":2216,"_2220":38294,"_2222":38295},"adminserver-configuration","server-configuration",[3059,3060,2980,2981,2982,2983,3061,2984,3062,2985,3063,2986,2987,2988,2374,2989],[],[3066,38297],{"_2214":38298,"_2216":38299,"_2217":2227,"_2219":3066,"_2220":38300,"_2222":38301},"advanced-configuration","vanced-configuration",[3082,3770,2278,17140,2279,2280,3417,2281,3358,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,16235,5987,6216,2315,3420,3421,2316,3422,3423,3424,3425,5476,3426,5477,8296,3773,15117,7454,15118,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,16934,3429,5478,3430,2979],[],[2220,38303],{"_2214":3150,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":38304,"_2222":38305},[],[38306,38310,38316],[2225,38307],{"_2214":3289,"_2216":3290,"_2217":2227,"_2219":2225,"_2220":38308,"_2222":38309},[3292,3156],[],[3002,38311],{"_2214":38312,"_2216":38313,"_2217":2227,"_2219":3002,"_2220":38314,"_2222":38315},"additional-comments","itional-comments",[3186,2483,3783,2484],[],[2217,38317],{"_2214":38318,"_2216":38319,"_2217":2227,"_2219":2217,"_2220":38320,"_2222":38321},"added-in-353","ed-in-353",[3269,2670,3548],[38322],[3280,38323],{"_2214":38324,"_2216":34382,"_2217":2227,"_2219":3280,"_2220":38325,"_2222":38326},"added-in-353-1",[3270,2671,3037],[],[3220,38328],{"_2214":38329,"_2216":38330,"_2217":2227,"_2219":3220,"_2220":38331,"_2222":38332},"adroitlogic-ultraesb","roitlogic-ultraesb",[3350,2788],[],[4034,38334],{"_2214":4168,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":38335,"_2222":38336},[],[38337,38341],[3002,38338],{"_2214":4322,"_2216":3002,"_2217":2227,"_2219":3002,"_2220":38339,"_2222":38340},[4325,3484,3485,3647],[],[2225,38342],{"_2214":4419,"_2216":38343,"_2217":2218,"_2219":2225,"_2220":38344,"_2222":38345},"ache-",[],[38346,38363,38380,38385,38391,38417,38442,38447,38474,38479,38485,38501,38506,38511],[4034,38347],{"_2214":38348,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":38349,"_2222":38350},"apache-p",[],[38351,38357],[3220,38352],{"_2214":38353,"_2216":38354,"_2217":2227,"_2219":3220,"_2220":38355,"_2222":38356},"apache-projects","rojects",[4362],[],[3691,38358],{"_2214":38359,"_2216":38360,"_2217":2227,"_2219":3691,"_2220":38361,"_2222":38362},"apache-pulsar","ulsar",[4384,3389,2840,2841,3590],[],[2225,38364],{"_2214":38365,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":38366,"_2222":38367},"apache-a",[],[38368,38374],[2222,38369],{"_2214":38370,"_2216":38371,"_2217":2227,"_2219":2222,"_2220":38372,"_2222":38373},"apache-accumulo","ccumulo",[4363,2804,2805],[],[3099,38375],{"_2214":38376,"_2216":38377,"_2217":2227,"_2219":3099,"_2220":38378,"_2222":38379},"apache-atlas","tlas",[4364,2806,3578],[],[3871,38381],{"_2214":38382,"_2216":31108,"_2217":2227,"_2219":3871,"_2220":38383,"_2222":38384},"apache-bookkeeper",[4365,2807,2808],[],[2222,38386],{"_2214":38387,"_2216":38388,"_2217":2227,"_2219":2222,"_2220":38389,"_2222":38390},"apache-cxf-dosgi","cxf-dosgi",[4366,2809,4388],[],[2220,38392],{"_2214":38393,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":38394,"_2222":38395},"apache-d",[],[38396,38411],[3220,38397],{"_2214":38398,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":38399,"_2222":38400},"apache-dr",[],[38401,38406],[3002,38402],{"_2214":38403,"_2216":18088,"_2217":2227,"_2219":3002,"_2220":38404,"_2222":38405},"apache-drill",[4367,3579,2810],[],[3691,38407],{"_2214":38408,"_2216":24958,"_2217":2227,"_2219":3691,"_2220":38409,"_2222":38410},"apache-druid",[4368,2811,3802,15318,3580,3581,6633,3582],[],[3691,38412],{"_2214":38413,"_2216":38414,"_2217":2227,"_2219":3691,"_2220":38415,"_2222":38416},"apache-dubbo","ubbo",[4369,2812,3583],[],[3085,38418],{"_2214":38419,"_2216":8578,"_2217":2218,"_2219":3085,"_2220":38420,"_2222":38421},"apache-fl",[],[38422,38427],[3002,38423],{"_2214":38424,"_2216":8712,"_2217":2227,"_2219":3002,"_2220":38425,"_2222":38426},"apache-flink",[4370,2813,2814],[],[3691,38428],{"_2214":38429,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":38430,"_2222":38431},"apache-flu",[],[38432,38437],[2972,38433],{"_2214":38434,"_2216":8606,"_2217":2227,"_2219":2972,"_2220":38435,"_2222":38436},"apache-flume",[4371,2815,3386],[],[3017,38438],{"_2214":38439,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":38440,"_2222":38441},"apache-fluo",[4372,2816,4389],[],[3825,38443],{"_2214":38444,"_2216":7107,"_2217":2227,"_2219":3825,"_2220":38445,"_2222":38446},"apache-griffin",[4373,3584,3585],[],[3322,38448],{"_2214":38449,"_2216":3322,"_2217":2218,"_2219":3322,"_2220":38450,"_2222":38451},"apache-h",[],[38452,38458,38463,38469],[2225,38453],{"_2214":38454,"_2216":38455,"_2217":2227,"_2219":2225,"_2220":38456,"_2222":38457},"apache-hadoop","adoop",[4374,2817,4738,2818,2819,2820,2821,2822,2823],[],[3871,38459],{"_2214":38460,"_2216":30239,"_2217":2227,"_2219":3871,"_2220":38461,"_2222":38462},"apache-hbase",[4375,3387,2824,2825],[],[2217,38464],{"_2214":38465,"_2216":38466,"_2217":2227,"_2219":2217,"_2220":38467,"_2222":38468},"apache-helix","elix",[4376,2826,2827,2828,2829,2830],[],[3002,38470],{"_2214":38471,"_2216":4572,"_2217":2227,"_2219":3002,"_2220":38472,"_2222":38473},"apache-hive",[4377,2831,3954],[],[3002,38475],{"_2214":38476,"_2216":4439,"_2217":2227,"_2219":3002,"_2220":38477,"_2222":38478},"apache-ignite",[4378,2832,2833],[],[3304,38480],{"_2214":38481,"_2216":38482,"_2217":2227,"_2219":3304,"_2220":38483,"_2222":38484},"apache-james-mailbox","james-mailbox",[4379,2834,3586],[],[2219,38486],{"_2214":38487,"_2216":2219,"_2217":2218,"_2219":2219,"_2220":38488,"_2222":38489},"apache-k",[],[38490,38496],[2225,38491],{"_2214":38492,"_2216":38493,"_2217":2227,"_2219":2225,"_2220":38494,"_2222":38495},"apache-kafka","afka",[4380,2835,4390,2836,3587,3803,2837],[],[3640,38497],{"_2214":38498,"_2216":37068,"_2217":2227,"_2219":3640,"_2220":38499,"_2222":38500},"apache-kylin",[4381,3388,4391],[],[2972,38502],{"_2214":38503,"_2216":21062,"_2217":2227,"_2219":2972,"_2220":38504,"_2222":38505},"apache-mesos",[4382,3588,2838],[],[3017,38507],{"_2214":38508,"_2216":6856,"_2217":2227,"_2219":3017,"_2220":38509,"_2222":38510},"apache-oozie",[4383,2839,3589],[],[2216,38512],{"_2214":38513,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":38514,"_2222":38515},"apache-s",[],[38516,38522,38528],[3017,38517],{"_2214":38518,"_2216":38519,"_2217":2227,"_2219":3017,"_2220":38520,"_2222":38521},"apache-solr","olr",[4385,4392,3591],[],[4034,38523],{"_2214":38524,"_2216":38525,"_2217":2227,"_2219":4034,"_2220":38526,"_2222":38527},"apache-spark","park",[4386,2842,3592],[],[3099,38529],{"_2214":38530,"_2216":38531,"_2217":2227,"_2219":3099,"_2220":38532,"_2222":38533},"apache-storm","torm",[4387,2843,7553],[],[3193,38535],{"_2214":38536,"_2216":38537,"_2217":2227,"_2219":3193,"_2220":38538,"_2222":38539},"alerting-with-prometheus","lerting-with-prometheus",[4681,3501,2501,7832,8789],[],[3691,38541],{"_2214":38542,"_2216":38543,"_2217":2218,"_2219":3691,"_2220":38544,"_2222":38545},"audit-log","udit-log",[],[38546,38551],[2216,38547],{"_2214":38548,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":38549,"_2222":38550},"audit-logs",[4936,2504,3939,36867,35138,26397,13344,34450,3940,18039,3233,5777,4944,12925,6081,12926,5791,5184,2990,9391,5023,3503],[],[3280,38552],{"_2214":38553,"_2216":38554,"_2217":2227,"_2219":3280,"_2220":38555,"_2222":38556},"audit-log-configuration","-configuration",[4937,4938,2505],[],[3280,38558],{"_2214":38559,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":38560,"_2222":38561},"a-",[],[38562,38568],[2216,38563],{"_2214":38564,"_2216":38565,"_2217":2227,"_2219":2216,"_2220":38566,"_2222":38567},"a-simple-watch-client","simple-watch-client",[2596,2597],[],[3825,38569],{"_2214":38570,"_2216":38571,"_2217":2227,"_2219":3825,"_2220":38572,"_2222":38573},"a-guide-to-creating-higher-level-constructs-with-zookeeper","guide-to-creating-higher-level-constructs-with-zookeeper",[2739,3564,3383,2740,2741],[],[2222,38575],{"_2214":4948,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":38576,"_2222":38577},[],[38578,38583,38589],[2222,38579],{"_2214":37779,"_2216":38580,"_2217":2227,"_2219":2222,"_2220":38581,"_2222":38582},"cess-control-using-acls",[5056,3533,5185,5186,4330,2605,2606,2607,2608,7720,2609,2610,2611,2612,2993,3534,2613,2614,2615,2616,3535,7721,2617,2618,2619,3224,2620,3792,3536,12800,12807,12814,12826,4470,3793,3661,4826,3949,5216,5235,5236,5237,3537,5217,12856,3538,5187,2621,5188,2622,5189,2623,2624,17150,2625],[],[3193,38584],{"_2214":38585,"_2216":38586,"_2217":2227,"_2219":3193,"_2220":38587,"_2222":38588},"acl-permissions","l-permissions",[5185,7720,2609,2610,2611,2612,2993,3534,2613,2614,2615,2616,3535],[],[3099,38590],{"_2214":38591,"_2216":38592,"_2217":2227,"_2219":3099,"_2220":38593,"_2222":38594},"active-messaging","tive-messaging",[4970,2917,2918,3807,4472,3609,2919,2920],[],[2219,38596],{"_2214":5742,"_2216":5743,"_2217":2227,"_2219":2219,"_2220":38597,"_2222":38598},[5745,2789],[],[3825,38600],{"_2214":5696,"_2216":38601,"_2217":2227,"_2219":3825,"_2220":38602,"_2222":38603},"geto",[5699,2844],[],[3099,38605],{"_2214":38606,"_2216":38607,"_2217":2227,"_2219":3099,"_2220":38608,"_2222":38609},"atomic-broadcast","tomic-broadcast",[5587,3393],[],[2972,38611],{"_2214":2972,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":38612,"_2222":38613},[],[38614,38634,38658,38669],[2225,38615],{"_2214":4725,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":38616,"_2222":38617},[],[38618,38623,38628],[3002,38619],{"_2214":20077,"_2216":38620,"_2217":2227,"_2219":3002,"_2220":38621,"_2222":38622},"intenance",[20080,2230],[],[2219,38624],{"_2214":20290,"_2216":38625,"_2217":2227,"_2219":2219,"_2220":38626,"_2222":38627},"kara",[20293,5643,13109,13239],[],[3207,38629],{"_2214":38630,"_2216":38631,"_2217":2227,"_2219":3207,"_2220":38632,"_2222":38633},"managing-zookeeper-storage","naging-zookeeper-storage",[11282,3615],[],[3017,38635],{"_2214":20664,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":38636,"_2222":38637},[],[38638,38652],[3207,38639],{"_2214":20674,"_2216":38640,"_2217":2218,"_2219":3207,"_2220":38641,"_2222":38642},"nitor",[],[38643,38647],[3002,38644],{"_2214":20680,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":38645,"_2222":38646},[20682,6027,6071,31488,12960],[],[3280,38648],{"_2214":37875,"_2216":38649,"_2217":2227,"_2219":3280,"_2220":38650,"_2222":38651},"-and-audit-logs",[4935,3496,20889,20890,13787,7546,18269,4681,7092,17199,35816,7787,4936,4937,3938,3497,3784,3215,7547,7548,19627,3498,13343,17148,3499,3500,6134,11268,18270,11269,3501,2501,7832,8789,2502,3502,2503,6920,3036,2504,3939,36867,35138,26397,13344,34450,3940,18039,3233,5777,4944,12925,6081,12926,5791,5184,2990,9391,5023,3503,4938,2505,3785,3234,3941,3942,3943,2506,2507,3981,2508],[],[2220,38653],{"_2214":38654,"_2216":38655,"_2217":2227,"_2219":2220,"_2220":38656,"_2222":38657},"modifying-the-current-dynamic-configuration","difying-the-current-dynamic-configuration",[13760,3488,2457],[],[2217,38659],{"_2214":20886,"_2216":38660,"_2217":2227,"_2219":2217,"_2220":38661,"_2222":38662},"etrics",[20890,3784],[38663],[3280,38664],{"_2214":38665,"_2216":38666,"_2217":2227,"_2219":3280,"_2220":38667,"_2222":38668},"metrics-providers","-providers",[18156,3767,3051,2239,3356,4359,2240,2241,5390,6072,7537,7538],[],[3002,38670],{"_2214":21236,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":38671,"_2222":38672},[],[38673,38679,38684],[3207,38674],{"_2214":38675,"_2216":38676,"_2217":2227,"_2219":3207,"_2220":38677,"_2222":38678},"minimum-configuration","nimum-configuration",[13758,3769,5538,3930,3178,3416,17139,2276,2277],[],[2220,38680],{"_2214":21418,"_2216":38681,"_2217":2227,"_2219":2220,"_2220":38682,"_2222":38683},"dokura",[21421,4131],[],[2216,38685],{"_2214":37881,"_2216":38686,"_2217":2227,"_2219":2216,"_2220":38687,"_2222":38688},"scellaneous",[16940,3606,5587,3607,4992,4970,25214,14986,6978,36504,28365,6930,5515,6105,3393,3804,2891,2892,2893,2894,4025,2895,2896,3805,3608,2897,2898,2899,2900,2901,6106,2902,2903,2904,2905,4471,2906,2907,2908,2909,2910,3806,2911,2912,2913,2914,2915,2916,2917,2918,3807,4472,3609,2919,2920,2921,2922,2923,3610,2924,2925,2926,3611,2927,2928,2929,2930,3038,4597,3808,4245,19753,2931,7557,7974,3612,21042,3739,3809,29686],[],[3017,38690],{"_2214":3017,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":38691,"_2222":38692},[],[38693,38699,38703,38709,38715,38719],[3207,38694],{"_2214":38695,"_2216":38696,"_2217":2227,"_2219":3207,"_2220":38697,"_2222":38698},"ongoing-data-directory-cleanup","ngoing-data-directory-cleanup",[6014,2231,2232,2233,2234,3081],[],[3871,38700],{"_2214":37891,"_2216":37892,"_2217":2227,"_2219":3871,"_2220":38701,"_2222":38702},[6695,3264,6696,6682,15932,2509,2510,2511,2512,3159,3368,4186,3160,2513,2514,2515,3216,2516,2517,2518],[],[3220,38704],{"_2214":38705,"_2216":38706,"_2217":2227,"_2219":3220,"_2220":38707,"_2222":38708},"oracle-quorum","racle-quorum",[6347,2523],[],[3691,38710],{"_2214":38711,"_2216":38712,"_2217":2227,"_2219":3691,"_2220":38713,"_2222":38714},"out-of-the-box-applications-name-service-configuration-group-membership","ut-of-the-box-applications-name-service-configuration-group-membership",[4251,3565,2743],[],[3066,38716],{"_2214":6558,"_2216":37897,"_2217":2227,"_2219":3066,"_2220":38717,"_2222":38718},[25612,7276,4252,18708,24731,5779,11282,11283,11284,8766,5932,2932,2995,2933,2934,2935,2936,3394,3613,3614,7558,7837,2937,6458,3615,3616,2938,5792,6022,2939,2940,2941,3677,13116,3957,3958,2942,8009,7559,2943,2944,17158,2945,2946,2947,2948,2949,4113,2950,17159,2951,2952,2953,2954,2955,9891,3617,9892,25336,30894,17733,22011,21549,9893,15370,30895,8299,17734,21550,9894,30896,8300,17735,22012,21551,9895,25337,30897,17736,31537,9896,17737,21552,9897,25338,30898,8301,17738,22013,31538,21553,4415,8741,11285,4922,9014,4334,3618,6001,11408,3619,3162,11981,6107,5336,8021,3238,6301,3620,3621,3622,3623,3624,11286,5191,2956,12127,4217,8367,7634,7560,5192,6640,3625,8428,6683,4827,6108,12007,2957,2958,5481,7754,12049,4473,6200,6923,6819,2959,11582,4159,8022,4598,7561,7562,8052,2996,8023,5482,7563,6109,12092,7157,12298,4474,3626,3627,7419,7564,5483,4851,3395,11736,4335,3628,5895,11878,6122,11287,11884,6110,7706,5193,6659,3810,2997,11180,2998,4336,3629,10641,3300,3163,3164,10320,4828,3239,3630,11674,8673,6266,11440,11416,8674,2960,5858,8675,8053,6002,9015,8361,7158,4475,8151,12420,7883,12436,4605,3631,10337,3632,6003,8024,6004,6111,6820,2999,2961,11453,7565,3811,6112,3633,6801,3301,9057,5979,9397,3217,3634,7606,9016,2962,7995,10822,2963,3716,8854,6113,7566,3165,5738,3921,6005,6821,7567,4490,5337,4540,8025,6006,2964,5484,11628,3635,6007,3636,5338,6114,9017,6115,6302,12245,3637,3240,7996,8464],[],[3099,38720],{"_2214":38721,"_2216":38722,"_2217":2227,"_2219":3099,"_2220":38723,"_2222":38724},"other-optimizations","ther-optimizations",[5932,2954,2955],[],[2216,38726],{"_2214":2216,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":38727,"_2222":38728},[],[38729,38794,38814,38841,38893,38924,38963,38969,38985,38994,38999],[3691,38730],{"_2214":17541,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":38731,"_2222":38732},[],[38733,38769,38774],[4034,38734],{"_2214":24999,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":38735,"_2222":38736},[],[38737,38742],[2217,38738],{"_2214":25015,"_2216":38739,"_2217":2227,"_2219":2217,"_2220":38740,"_2222":38741},"ervision",[25017,2236,2237,3355],[],[4034,38743],{"_2214":25052,"_2216":6707,"_2217":2218,"_2219":4034,"_2220":38744,"_2222":38745},[],[38746,38763],[2217,38747],{"_2214":38748,"_2216":38749,"_2217":2218,"_2219":2217,"_2220":38750,"_2222":38751},"supported-","ed-",[],[38752,38757],[4034,38753],{"_2214":38754,"_2216":19888,"_2217":2227,"_2219":4034,"_2220":38755,"_2222":38756},"supported-platforms",[19890,2385,2386,5988,2387,3285,5798],[],[2216,38758],{"_2214":38759,"_2216":38760,"_2217":2227,"_2219":2216,"_2220":38761,"_2222":38762},"supported-snapshot-formats","snapshot-formats",[7612,3518],[],[3280,38764],{"_2214":38765,"_2216":38766,"_2217":2227,"_2219":3280,"_2220":38767,"_2222":38768},"support-matrix","-matrix",[20526,5799,13339,25962,13340,13714,7510,3466,3467,3468,3469,26836,3470,3471,25059,25060,8273,3472,3473,25061,25062,31515,3474,3475,25063,25064,6864,6053,6054,25065,25066,3646],[],[2972,38770],{"_2214":25212,"_2216":38771,"_2217":2227,"_2219":2972,"_2220":38772,"_2222":38773},"mmary",[25214,2921],[],[3871,38775],{"_2214":25333,"_2216":38776,"_2217":2227,"_2219":3871,"_2220":38777,"_2222":38778},"b-task",[25336,4415],[38779],[3280,38780],{"_2214":38781,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":38782,"_2222":38783},"sub-task-",[],[38784,38789],[6884,38785],{"_2214":38786,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":38787,"_2222":38788},"sub-task-1",[25337,6110,7706],[],[5968,38790],{"_2214":38791,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":38792,"_2222":38793},"sub-task-2",[25338,8673],[],[3640,38795],{"_2214":27787,"_2216":3640,"_2217":2218,"_2219":3640,"_2220":38796,"_2222":38797},[],[38798,38804],[2216,38799],{"_2214":38800,"_2216":38801,"_2217":2227,"_2219":2216,"_2220":38802,"_2222":38803},"system-requirements","stem-requirements",[8833],[],[3207,38805],{"_2214":7686,"_2216":29048,"_2217":2227,"_2219":3207,"_2220":38806,"_2222":38807},[27835,2428],[38808],[4034,38809],{"_2214":38810,"_2216":38811,"_2217":2227,"_2219":4034,"_2220":38812,"_2222":38813},"syncprimitivejava","primitivejava",[27929],[],[3002,38815],{"_2214":26918,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":38816,"_2222":38817},[],[38818,38835],[3207,38819],{"_2214":27031,"_2216":38820,"_2217":2218,"_2219":3207,"_2220":38821,"_2222":38822},"ngle-",[],[38823,38829],[2216,38824],{"_2214":38825,"_2216":38826,"_2217":2227,"_2219":2216,"_2220":38827,"_2222":38828},"single-server-and-developer-setup","server-and-developer-setup",[3463,2399,2400,5989],[],[2972,38830],{"_2214":38831,"_2216":38832,"_2217":2227,"_2219":2972,"_2220":38833,"_2222":38834},"single-machine-requirements","machine-requirements",[8835,3478,2405,2406],[],[2972,38836],{"_2214":38837,"_2216":38838,"_2217":2227,"_2219":2972,"_2220":38839,"_2222":38840},"simple-api","mple-api",[4333,2874,2875,2876,2877,2878,2879,2880,7556],[],[2217,38842],{"_2214":8461,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":38843,"_2222":38844},[],[38845,38863,38868,38874,38879],[3099,38846],{"_2214":26242,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":38847,"_2222":38848},[26244,2424],[38849,38853,38857],[2225,38850],{"_2214":26319,"_2216":5180,"_2217":2227,"_2219":2225,"_2220":38851,"_2222":38852},[26321,2425,4465,5183],[],[5252,38854],{"_2214":26330,"_2216":24065,"_2217":2227,"_2219":5252,"_2220":38855,"_2222":38856},[26332,2426],[],[3099,38858],{"_2214":38859,"_2216":38860,"_2217":2227,"_2219":3099,"_2220":38861,"_2222":38862},"setting-quotas","ting-quotas",[26287,2550,3044,6255,4468,2551,2552,5990,2553],[],[2222,38864],{"_2214":26211,"_2216":38865,"_2217":2227,"_2219":2222,"_2220":38866,"_2222":38867},"curity",[26213,2450,2451,2452,3187,3486,3648],[],[5252,38869],{"_2214":38870,"_2216":38871,"_2217":2227,"_2219":5252,"_2220":38872,"_2222":38873},"sequence-nodes--unique-naming","quence-nodes--unique-naming",[26605,2669],[],[2216,38875],{"_2214":26401,"_2216":38876,"_2217":2227,"_2219":2216,"_2220":38877,"_2222":38878},"ssions",[26403,2689,2690,2691,2692,2693,2694,2695,2696,2697,3382,3555,8212,13238,3950,10573,6100,2698,2699,2700,2701,2702,2703,2704,3556,2705,2706,3272,2707,17535,15622,2708,2709,3557,17536,2710,2711,2712,2713,3558,5875,2714,15628,2715,2716,2717],[],[2972,38880],{"_2214":26625,"_2216":4725,"_2217":2218,"_2219":2972,"_2220":38881,"_2222":38882},[],[38883,38889],[3207,38884],{"_2214":38885,"_2216":38886,"_2217":2227,"_2219":3207,"_2220":38887,"_2222":38888},"semantics-of-watches","ntics-of-watches",[6101,2724,2725,2726,2727,2728],[],[3099,38890],{"_2214":26636,"_2216":22127,"_2217":2227,"_2219":3099,"_2220":38891,"_2222":38892},[26638,3596],[],[3099,38894],{"_2214":25507,"_2216":21542,"_2217":2218,"_2219":3099,"_2220":38895,"_2222":38896},[],[38897,38901,38907],[3099,38898],{"_2214":25512,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":38899,"_2222":38900},[25514,2427],[],[3220,38902],{"_2214":38903,"_2216":38904,"_2217":2227,"_2219":3220,"_2220":38905,"_2222":38906},"starting-zookeeper-with-jmx-enabled","rting-zookeeper-with-jmx-enabled",[11267,2492],[],[3207,38908],{"_2214":38909,"_2216":38910,"_2217":2218,"_2219":3207,"_2220":38911,"_2222":38912},"standalone-","ndalone-",[],[38913,38919],[2216,38914],{"_2214":38915,"_2216":38916,"_2217":2227,"_2219":2216,"_2220":38917,"_2222":38918},"standalone-server-mbeans","server-mbeans",[21507,2500,21500,6653,24174,12661,25676,4596,23238,17452,3495,25995,26415,3937],[],[3017,38920],{"_2214":38921,"_2216":5775,"_2217":2227,"_2219":3017,"_2220":38922,"_2222":38923},"standalone-operation",[5779,2934,2935,2936,3394,3613,3614,7558,7837,2937,6458],[],[4034,38925],{"_2214":6198,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":38926,"_2222":38927},[],[38928,38946],[2217,38929],{"_2214":38930,"_2216":38931,"_2217":2218,"_2219":2217,"_2220":38932,"_2222":38933},"specifying-","ecifying-",[],[38934,38940],[3099,38935],{"_2214":38936,"_2216":38937,"_2217":2227,"_2219":3099,"_2220":38938,"_2222":38939},"specifying-the-client-port","the-client-port",[13342,2434,3482,3483,6079,2435,4595,6080],[],[2972,38941],{"_2214":38942,"_2216":38943,"_2217":2227,"_2219":2972,"_2220":38944,"_2222":38945},"specifying-multiple-server-addresses","multiple-server-addresses",[3247,2436,3248],[],[3220,38947],{"_2214":28138,"_2216":38948,"_2217":2218,"_2219":3220,"_2220":38949,"_2222":38950},"ring-",[],[38951,38955,38959],[2222,38952],{"_2214":28143,"_2216":28144,"_2217":2227,"_2219":2222,"_2220":38953,"_2222":38954},[28146,2797],[],[2216,38956],{"_2214":28150,"_2216":25537,"_2217":2227,"_2219":2216,"_2220":38957,"_2222":38958},[28152,2798,2799],[],[4309,38960],{"_2214":28156,"_2216":28157,"_2217":2227,"_2219":4309,"_2220":38961,"_2222":38962},[28159,2800,3577],[],[2225,38964],{"_2214":38965,"_2216":38966,"_2217":2227,"_2219":2225,"_2220":38967,"_2222":38968},"safety-issue","afety-issue",[17549,6085,5513,2532,3506,2533,8373,3507,4890,5480,4896,17550,6351,2534,6352,2535,3508,3651,5514,25611,2536],[],[3017,38970],{"_2214":4593,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":38971,"_2222":38972},[],[38973,38979],[3085,38974],{"_2214":38975,"_2216":38976,"_2217":2227,"_2219":3085,"_2220":38977,"_2222":38978},"software-based-implementation","ftware-based-implementation",[17646,3509],[],[3691,38980],{"_2214":38981,"_2216":38982,"_2217":2227,"_2219":3691,"_2220":38983,"_2222":38984},"source-listing","urce-listing",[26882],[],[3207,38986],{"_2214":26686,"_2216":12972,"_2217":2227,"_2219":3207,"_2220":38987,"_2222":38988},[26689,2559],[38989],[3280,38990],{"_2214":37931,"_2216":38991,"_2217":2227,"_2219":3280,"_2220":38992,"_2222":38993},"-and-restore-guide",[3512,2556,26689,9261,2557,2558,3513,2991,3787,3514,2559,2560,3788,2561,7549,2562,2992],[],[2222,38995],{"_2214":27543,"_2216":38996,"_2217":2227,"_2219":2222,"_2220":38997,"_2222":38998},"cripts",[27545],[],[3322,39000],{"_2214":39001,"_2216":39002,"_2217":2227,"_2219":3322,"_2220":39003,"_2222":39004},"shared-locks","hared-locks",[27284,2764,2765,2766,2767,2768,3952,3953,2769,2770,5997,5998,7165,2771,2772,33894,2773,5999],[],[3193,39006],{"_2214":3193,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":39007,"_2222":39008},[],[39009,39053,39082,39086],[3017,39010],{"_2214":6619,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":39011,"_2222":39012},[],[39013,39039],[3825,39014],{"_2214":14792,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":39015,"_2222":39016},[],[39017,39027,39033],[3825,39018],{"_2214":28362,"_2216":23785,"_2217":2227,"_2219":3825,"_2220":39019,"_2222":39020},[28364,3644,5064,5388,5389,28365,3038],[39021],[3280,39022],{"_2214":39023,"_2216":39024,"_2217":2227,"_2219":3280,"_2220":39025,"_2222":39026},"logging-at-the-right-level","-at-the-right-level",[5515,3808,4245,19753,2931,7557,7974,3612],[],[3871,39028],{"_2214":39029,"_2216":39030,"_2217":2227,"_2219":3871,"_2220":39031,"_2222":39032},"logback-mbeans-new-in-380","back-mbeans-new-in-380",[16541,3214],[],[11353,39034],{"_2214":39035,"_2216":39036,"_2217":2227,"_2219":11353,"_2220":39037,"_2222":39038},"log4j-mbeans-deprecated","4j-mbeans-deprecated",[21506,3179],[],[2222,39040],{"_2214":28507,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":39041,"_2222":39042},[],[39043,39049],[2225,39044],{"_2214":39045,"_2216":39046,"_2217":2227,"_2219":2225,"_2220":39047,"_2222":39048},"locating-snapshots","ating-snapshots",[26700,3790],[],[2219,39050],{"_2214":28592,"_2216":5558,"_2217":2227,"_2219":2219,"_2220":39051,"_2222":39052},[28594,2755,17156,2756,2757,2758,5335,3569,5996,2759,2760,2761,2762,6265,5631],[],[3002,39054],{"_2214":19540,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":39055,"_2222":39056},[],[39057,39070,39076],[2216,39058],{"_2214":28777,"_2216":5676,"_2217":2218,"_2219":2216,"_2220":39059,"_2222":39060},[],[39061,39065],[5252,39062],{"_2214":28818,"_2216":24065,"_2217":2227,"_2219":5252,"_2220":39063,"_2222":39064},[28820,2419],[],[3002,39066],{"_2214":39067,"_2216":38178,"_2217":2227,"_2219":3002,"_2220":39068,"_2222":39069},"listing-quotas",[28809,2554],[],[3066,39071],{"_2214":39072,"_2216":39073,"_2217":2227,"_2219":3066,"_2220":39074,"_2222":39075},"liveness-issue","veness-issue",[17548,6350,2528,6084,2529,2530,2531],[],[3207,39077],{"_2214":39078,"_2216":39079,"_2217":2227,"_2219":3207,"_2220":39080,"_2222":39081},"links-to-other-information","nks-to-other-information",[6242,6099,4332,2682,3553,2683,3554],[],[2216,39083],{"_2214":27124,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":39084,"_2222":39085},[29433,2420],[],[2217,39087],{"_2214":39088,"_2216":39089,"_2217":2218,"_2219":2217,"_2220":39090,"_2222":39091},"leader-","eader-",[],[39092,39097],[2217,39093],{"_2214":39094,"_2216":8420,"_2217":2227,"_2219":2217,"_2220":39095,"_2222":39096},"leader-election",[29191,2778,2779,15256,2780,3571,3572,2781,2782,6102,11248,2783,33895,2784,6000],[],[2225,39098],{"_2214":39099,"_2216":4990,"_2217":2227,"_2219":2225,"_2220":39100,"_2222":39101},"leader-activation",[4992,2905,4471,2906,2907,2908,2909,2910,3806,2911,2912,2913,2914,2915,2916],[],[3099,39103],{"_2214":3099,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":39104,"_2222":39105},[],[39106,39111,39202,39208,39213,39236,39242,39248,39263,39302],[3220,39107],{"_2214":21660,"_2216":39108,"_2217":2227,"_2219":3220,"_2220":39109,"_2222":39110},"roubleshooting",[21663,2238],[],[3322,39112],{"_2214":21900,"_2216":3322,"_2217":2218,"_2219":3322,"_2220":39113,"_2222":39114},[],[39115,39132],[3002,39116],{"_2214":39117,"_2216":39118,"_2217":2218,"_2219":3002,"_2220":39119,"_2222":39120},"things-to-","ings-to-",[],[39121,39126],[2225,39122],{"_2214":39123,"_2216":5331,"_2217":2227,"_2219":2225,"_2220":39124,"_2222":39125},"things-to-avoid",[5334,3768,2242,2243,2244,2245],[],[3220,39127],{"_2214":39128,"_2216":39129,"_2217":2227,"_2219":3220,"_2220":39130,"_2222":39131},"things-to-remember-about-watches","remember-about-watches",[5395,2735,2736,2737,2738],[],[2217,39133],{"_2214":39134,"_2216":39135,"_2217":2218,"_2219":2217,"_2220":39136,"_2222":39137},"the-","e-",[],[39138,39144,39149,39166,39172,39178,39184,39190,39196],[3085,39139],{"_2214":39140,"_2216":39141,"_2217":2227,"_2219":3085,"_2220":39142,"_2222":39143},"the-four-letter-words","four-letter-words",[7786,2247,3402,3055,5391,4457,4458,3403,5392,2248,9417,7539,3404,5984,2249,3405,2250,2251,3254,6260,3980,2252,2253,20543,36118,7540,36125,8860,36132,7541,36139,8861,36146,8206,36153,3177,36160,6074,36167,8207,36179,7542,36192,7543,2254,3357],[],[2225,39145],{"_2214":39146,"_2216":3048,"_2217":2227,"_2219":2225,"_2220":39147,"_2222":39148},"the-adminserver",[3053,2255,3056,2977,5873,3057],[],[2220,39150],{"_2214":39151,"_2216":3,"_2217":2218,"_2219":2220,"_2220":39152,"_2222":39153},"the-data",[],[39154,39160],[3280,39155],{"_2214":39156,"_2216":39157,"_2217":2227,"_2219":3280,"_2220":39158,"_2222":39159},"the-data-directory","-directory",[22218,6261,2376,6021,2377,2378,2379],[],[2972,39161],{"_2214":39162,"_2216":39163,"_2217":2227,"_2219":2972,"_2220":39164,"_2222":39165},"the-datamonitor-class","monitor-class",[13307,3532,2602,17149,4095,3375,3376,4329,2603,8008,2604],[],[3193,39167],{"_2214":39168,"_2216":39169,"_2217":2227,"_2219":3193,"_2220":39170,"_2222":39171},"the-log-directory","log-directory",[22219,2380],[],[2216,39173],{"_2214":39174,"_2216":39175,"_2217":2227,"_2219":2216,"_2220":39176,"_2222":39177},"the-standaloneenabled-flag","standaloneenabled-flag",[8653,2437,2438,2439,4497],[],[3220,39179],{"_2214":39180,"_2216":39181,"_2217":2227,"_2219":3220,"_2220":39182,"_2222":39183},"the-reconfigenabled-flag","reconfigenabled-flag",[8654,2440,3157],[],[3002,39185],{"_2214":39186,"_2216":39187,"_2217":2227,"_2219":3002,"_2220":39188,"_2222":39189},"the-implementation-of-the-oracle","implementation-of-the-oracle",[6082,2524],[],[2217,39191],{"_2214":39192,"_2216":39193,"_2217":2227,"_2219":2217,"_2220":39194,"_2222":39195},"the-executor-class","executor-class",[13306,3947,2600,3529,2601,3530,6264,3948,3531],[],[5908,39197],{"_2214":39198,"_2216":39199,"_2217":2227,"_2219":5908,"_2220":39200,"_2222":39201},"the-zookeeper-project","zookeeper-project",[11281,2890,3605],[],[3193,39203],{"_2214":39204,"_2216":39205,"_2217":2227,"_2219":3193,"_2220":39206,"_2222":39207},"tls-cipher-suites","ls-cipher-suites",[16199,2359,3449,3450,3451],[],[3017,39209],{"_2214":22533,"_2216":39210,"_2217":2227,"_2219":3017,"_2220":39211,"_2222":39212},"ools",[22535,3515,27545,12961,13039,13073,13051,13023,12980,12987,12994,26700,7612,8764,16872,30596,30340,13080,22030,8237,30633,22008,11270,2563,11271,7550,3789,3516,3517,3944,2564,7833,6325,2565,4469,2566,2567,3265,19246,3266,3267,3790,3518,3835,14684,6415,3161,3791,15549,2568,3372,3519,18619,2569,6445,2570,3520,3652,7274,11272,3653,3521,2571,26245,3522,7551,11273,6263,6897,11274,5991,5992,3523,23183,3945,2572,2573,2574,2575,2576,2577,7275,16717,8765,3714],[],[2217,39214],{"_2214":8906,"_2216":8852,"_2217":2227,"_2219":2217,"_2220":39215,"_2222":39216},[22011,5336],[39217,39221],[3002,39218],{"_2214":22028,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":39219,"_2222":39220},[22030],[],[3280,39222],{"_2214":39223,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":39224,"_2222":39225},"test-",[],[39226,39231],[6884,39227],{"_2214":39228,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":39229,"_2222":39230},"test-1",[22012,6122],[],[5968,39232],{"_2214":39233,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":39234,"_2222":39235},"test-2",[22013,8025,6006],[],[3099,39237],{"_2214":39238,"_2216":39239,"_2217":2227,"_2219":3099,"_2220":39240,"_2222":39241},"ttl-nodes","tl-nodes",[23133],[],[3002,39243],{"_2214":39244,"_2216":39245,"_2217":2227,"_2219":3002,"_2220":39246,"_2222":39247},"time-in-zookeeper","ime-in-zookeeper",[11278,11280,2672,2673,2674,3549],[],[2214,39249],{"_2214":22688,"_2216":2214,"_2217":2218,"_2219":2214,"_2220":39250,"_2222":39251},[],[39252,39258],[3017,39253],{"_2214":39254,"_2216":39255,"_2217":2227,"_2219":3017,"_2220":39256,"_2222":39257},"two-phased-commit","o-phased-commit",[14775,2774,2775,3384,2776,2777,3237],[],[3002,39259],{"_2214":22723,"_2216":39260,"_2217":2227,"_2219":3002,"_2220":39261,"_2222":39262},"itter",[22726,2850,7554,3597,3598,7555],[],[2225,39264],{"_2214":21542,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":39265,"_2222":39266},[],[39267,39273],[3193,39268],{"_2214":39269,"_2216":39270,"_2217":2227,"_2219":3193,"_2220":39271,"_2222":39272},"talend-esb","lend-esb",[21646,2801,2802],[],[2216,39274],{"_2214":21547,"_2216":11195,"_2217":2227,"_2219":2216,"_2220":39275,"_2222":39276},[21549,8021,3238,6301],[39277],[3280,39278],{"_2214":39279,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":39280,"_2222":39281},"task-",[],[39282,39287,39292,39297],[6884,39283],{"_2214":39284,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":39285,"_2222":39286},"task-1",[21550,8023,5482],[],[5968,39288],{"_2214":39289,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":39290,"_2222":39291},"task-2",[21551,11287,11884],[],[11313,39293],{"_2214":39294,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":39295,"_2222":39296},"task-3",[21552,3239,3630,11674],[],[11353,39298],{"_2214":39299,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":39300,"_2222":39301},"task-4",[21553,6007,3636,5338,6114,9017,6115,6302,12245,3637,3240,7996,8464],[],[3691,39303],{"_2214":23125,"_2216":39304,"_2217":2227,"_2219":3691,"_2220":39305,"_2222":39306},"ubemogul",[23128,7021],[],[3871,39308],{"_2214":3871,"_2216":3871,"_2217":2218,"_2219":3871,"_2220":39309,"_2222":39310},[],[39311,39340,39370,39375,39434,39438,39443],[2217,39312],{"_2214":20131,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":39313,"_2222":39314},[],[39315,39320,39326],[2216,39316],{"_2214":37789,"_2216":39317,"_2217":2227,"_2219":2216,"_2220":39318,"_2222":39319},"st-practices",[18917,3401,5334,18918,3768,2242,2243,2244,2245,6073,2246],[],[3322,39321],{"_2214":39322,"_2216":39323,"_2217":2227,"_2219":3322,"_2220":39324,"_2222":39325},"behavior-after-enabling-the-oracle","havior-after-enabling-the-oracle",[5479,3370],[],[3207,39327],{"_2214":29454,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":39328,"_2222":39329},[],[39330,39334],[2222,39331],{"_2214":30593,"_2216":30594,"_2217":2227,"_2219":2222,"_2220":39332,"_2222":39333},[30596],[],[3002,39335],{"_2214":39336,"_2216":39337,"_2217":2227,"_2219":3002,"_2220":39338,"_2222":39339},"benipal-technologies","ipal-technologies",[22183,3593],[],[2225,39341],{"_2214":14653,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":39342,"_2222":39343},[],[39344,39350,39355],[2222,39345],{"_2214":39346,"_2216":39347,"_2217":2227,"_2219":2222,"_2220":39348,"_2222":39349},"backward-compatibility","ckward-compatibility",[14933,5097,12754,2446],[],[2216,39351],{"_2214":37795,"_2216":39352,"_2217":2227,"_2219":2216,"_2220":39353,"_2222":39354},"sic-tutorial",[23121,3524,16841,30796,18475,15027,22009,22010,26882,27929,3525,6087,2578,2579,2580,2581,2582,5993,6088,2583,2584,3526,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594],[],[3220,39356],{"_2214":30788,"_2216":39357,"_2217":2218,"_2219":3220,"_2220":39358,"_2222":39359},"rrier",[],[39360,39364],[2216,39361],{"_2214":30794,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":39362,"_2222":39363},[30796,2580,2581,2582,5993,6088,2583,2584,3526,2585,30797,2744,4347,3566,2745,5671],[],[3280,39365],{"_2214":39366,"_2216":39367,"_2217":2227,"_2219":3280,"_2220":39368,"_2222":39369},"barrier-test","-test",[22010,2594],[],[3640,39371],{"_2214":30631,"_2216":39372,"_2217":2227,"_2219":3640,"_2220":39373,"_2222":39374},"yteman",[30633,2573,2574,2575,2576],[],[3691,39376],{"_2214":30817,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":39377,"_2222":39378},[],[39379,39406],[3002,39380],{"_2214":30859,"_2216":8359,"_2217":2218,"_2219":3002,"_2220":39381,"_2222":39382},[],[39383,39389],[3099,39384],{"_2214":39385,"_2216":39386,"_2217":2227,"_2219":3099,"_2220":39387,"_2222":39388},"builtin-acl-schemes","tin-acl-schemes",[5186,7721,2617,2618,2619,3224,2620],[],[2220,39390],{"_2214":39391,"_2216":39392,"_2217":2218,"_2219":2220,"_2220":39393,"_2222":39394},"building-","ding-",[],[39395,39401],[3640,39396],{"_2214":39397,"_2216":39398,"_2217":2227,"_2219":3640,"_2220":39399,"_2222":39400},"building-your-own-c-client","your-own-c-client",[6785,4244,11276,2643,17152,2644],[],[3871,39402],{"_2214":37806,"_2216":39403,"_2217":2227,"_2219":3871,"_2220":39404,"_2222":39405},"blocks-a-guide-to-zookeeper-operations",[2645,2646,29685,11277,2647,3377,2648,8660,3795,2649,9863,2650,3982,3378,3379,15146,6898,8757,13346,4664],[],[3825,39407],{"_2214":23779,"_2216":3825,"_2217":2227,"_2219":3825,"_2220":39408,"_2222":39409},[30894,8741,11285,4922,9014,4334,3618,6001],[39410],[3280,39411],{"_2214":38118,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":39412,"_2222":39413},[],[39414,39419,39424,39429],[6884,39415],{"_2214":39416,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":39417,"_2222":39418},"bug-1",[30895,11286,5191,2956,12127,4217,8367,7634,7560,5192,6640,3625,8428,6683,4827,6108,12007,2957,2958,5481,7754,12049,4473,6200,6923,6819],[],[5968,39420],{"_2214":39421,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":39422,"_2222":39423},"bug-2",[30896,7563,6109,12092,7157,12298,4474,3626,3627,7419,7564,5483,4851,3395,11736],[],[11313,39425],{"_2214":39426,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":39427,"_2222":39428},"bug-3",[30897,5193,6659,3810,2997,11180],[],[11353,39430],{"_2214":39431,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":39432,"_2222":39433},"bug-4",[30898,6266,11440,11416,8674,2960,5858,8675,8053,6002,9015,8361,7158,4475,8151,12420,7883,12436,4605,3631,10337,3632,6003,8024,6004,6111,6820],[],[3002,39435],{"_2214":30991,"_2216":37801,"_2217":2227,"_2219":3002,"_2220":39436,"_2222":39437},[30993,3539,30987,13345,13226,16718,6785,3540,3541,2626,2627,2628,6089,2629,2630,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636,2637,2638,2639,2640,3543,2641,3794,3544,4331,23799,23800,17151,2642,4244,11276,2643,17152,2644],[],[3017,39439],{"_2214":20115,"_2216":39440,"_2217":2227,"_2219":3017,"_2220":39441,"_2222":39442},"ox",[31135,3594],[],[3220,39444],{"_2214":39445,"_2216":39446,"_2217":2227,"_2219":3220,"_2220":39447,"_2222":39448},"breaking-changes","reaking-changes",[15370,3620,3621,3622,3623,3624],[],[2222,39450],{"_2214":2222,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":39451,"_2222":39452},[],[39453,39612,39645,39660,39666],[3017,39454],{"_2214":13551,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":39455,"_2222":39456},[],[39457,39508,39606],[2972,39458],{"_2214":14663,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":39459,"_2222":39460},[],[39461,39473],[2972,39462],{"_2214":14672,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":39463,"_2222":39464},[],[39465,39469],[2225,39466],{"_2214":14688,"_2216":37825,"_2217":2227,"_2219":2225,"_2220":39467,"_2222":39468},[14690,3052,7786,3053,3054,2247,3402,3055,5391,4457,4458,3403,5392,2248,9417,7539,3404,5984,2249,3405,2250,2251,3254,6260,3980,2252,2253,20543,36118,7540,36125,8860,36132,7541,36139,8861,36146,8206,36153,3177,36160,6074,36167,8207,36179,7542,36192,7543,2254,3357,2255,3056,2977,5873,3057,3406,3152,7718,5321,4459,5393,2256,2257,3407,3408,3927,6075,6076,2258,2259,3409,2260,4460,4324,2261,2262,2263,2264,3928,2265,2266,3929,2267,2268,2269,3410,2270],[],[3691,39470],{"_2214":37830,"_2216":37831,"_2217":2227,"_2219":3691,"_2220":39471,"_2222":39472},[8236,3411,22857,13237,3198,2271,16539,5985,3412,2272,6049,4461,3153,5986,16540,3104,3413,3154,3414,2273,3415],[],[4034,39474],{"_2214":14847,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":39475,"_2222":39476},[],[39477,39494],[3193,39478],{"_2214":39479,"_2216":39480,"_2217":2218,"_2219":3193,"_2220":39481,"_2222":39482},"complete-","lete-",[],[39483,39488],[2217,39484],{"_2214":39485,"_2216":32535,"_2217":2227,"_2219":2217,"_2220":39486,"_2222":39487},"complete-example",[15027,2591],[],[2216,39489],{"_2214":39490,"_2216":39491,"_2217":2227,"_2219":2216,"_2220":39492,"_2222":39493},"complete-source-listings","source-listings",[15028],[],[2225,39495],{"_2214":14915,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":39496,"_2222":39497},[],[39498,39503],[3207,39499],{"_2214":14952,"_2216":39500,"_2217":2227,"_2219":3207,"_2220":39501,"_2222":39502},"nies",[14954],[],[3220,39504],{"_2214":14983,"_2216":39505,"_2217":2227,"_2219":3220,"_2220":39506,"_2222":39507},"risons",[14986,2922,2923],[],[3207,39509],{"_2214":13556,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":39510,"_2222":39511},[],[39512,39554,39568,39585,39600],[3085,39513],{"_2214":13739,"_2216":9689,"_2217":2227,"_2219":3085,"_2220":39514,"_2222":39515},[13741,13759],[39516],[3691,39517],{"_2214":13745,"_2216":6172,"_2217":2218,"_2219":3691,"_2220":39518,"_2222":39519},[],[39520,39549],[3002,39521],{"_2214":39522,"_2216":39523,"_2217":2218,"_2219":3002,"_2220":39524,"_2222":39525},"configuring-","ing-",[],[39526,39532],[2225,39527],{"_2214":39528,"_2216":39529,"_2217":2227,"_2219":2225,"_2220":39530,"_2222":39531},"configuring-adminserver-for-ssltls","adminserver-for-ssltls",[3054,3406,3152,7718,5321,4459,5393,2256,2257,3407,3408,3927,6075,6076,2258,2259,3409,2260,4460,4324,2261,2262,2263,2264,3928,2265,2266,3929,2267,2268,2269,3410,2270],[],[3099,39533],{"_2214":39534,"_2216":39134,"_2217":2218,"_2219":3099,"_2220":39535,"_2222":39536},"configuring-the-",[],[39537,39543],[2972,39538],{"_2214":39539,"_2216":39540,"_2217":2227,"_2219":2972,"_2220":39541,"_2222":39542},"configuring-the-metrics-provider","metrics-provider",[13787,3215,7547],[],[3017,39544],{"_2214":39545,"_2216":39546,"_2217":2227,"_2219":3017,"_2220":39547,"_2222":39548},"configuring-the-oracle-in-zoocfg","oracle-in-zoocfg",[6348,3505,2527,3369,3650],[],[2225,39550],{"_2214":37840,"_2216":39551,"_2217":2227,"_2219":2225,"_2220":39552,"_2222":39553},"ation-parameters",[13757,3058,13758,3082,5881,4845,16199,5882,5883,4772,24839,5884,6736,3059,2274,17138,2275,3769,5538,3930,3178,3416,17139,2276,2277,3770,2278,17140,2279,2280,3417,2281,3358,2282,2283,2284,2285,2286,4486,4487,2287,2288,2289,3418,2290,3419,3771,2291,3255,3256,3257,3258,3212,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,6050,2302,2303,2304,2305,6299,2306,3772,2307,2308,4510,2309,2310,2311,2312,6051,3090,5182,2313,2314,3259,16235,5987,6216,2315,3420,3421,2316,3422,3423,3424,3425,5476,3426,5477,8296,3773,15117,7454,15118,2317,3774,4360,2318,2319,3775,2320,2321,2322,2323,2324,3427,2978,3428,16934,3429,5478,3430,2979,3359,2325,17141,3431,2326,2327,4488,2328,17142,3360,2329,2330,17143,2331,2332,2333,2334,3776,17144,3777,17145,3931,2335,2336,2337,3361,3432,3433,3434,3435,2338,2339,4489,3436,2340,2341,4645,4462,4652,7827,7544,7828,7545,3674,4646,2342,3231,2343,2344,2345,2346,2347,3437,5960,2348,2349,4825,3438,2350,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,4846,4847,4848,23798,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,8297,6300,2358,3448,8463,2359,3449,3450,3451,3778,2360,3452,4663,5874,18307,2361,3453,7038,6077,2362,12933,3454,2363,2364,3232,2365,3140,8298,2366,4778,3364,2367,2368,4779,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372,3779,2373,3458,3060,2980,2981,2982,2983,3061,2984,3062,2985,3063,2986,2987,2988,2374,2989],[],[3207,39555],{"_2214":14151,"_2216":9764,"_2217":2227,"_2219":3207,"_2220":39556,"_2222":39557},[14153,2408],[39558],[3002,39559],{"_2214":14354,"_2216":4018,"_2217":2227,"_2219":3002,"_2220":39560,"_2222":39561},[14356],[39562],[3280,39563],{"_2214":39564,"_2216":39565,"_2217":2227,"_2219":3280,"_2220":39566,"_2222":39567},"connecting-to-zookeeper","-to-zookeeper",[11277,2648,8660,3795,2649,9863,2650,3982,3378,3379,15146,6898,8757,13346,4664,11283,3616,2938,5792,6022,2939,2940,2941,3677,13116,3957,3958,2942,8009,7559],[],[2220,39569],{"_2214":39570,"_2216":39571,"_2217":2218,"_2219":2220,"_2220":39572,"_2222":39573},"conditional-","ditional-",[],[39574,39579],[3220,39575],{"_2214":39576,"_2216":9688,"_2217":2227,"_2219":3220,"_2220":39577,"_2222":39578},"conditional-reconfig",[9692,2478,2479],[],[3691,39580],{"_2214":39581,"_2216":39582,"_2217":2227,"_2219":3691,"_2220":39583,"_2222":39584},"conditional-updates-and-watches","updates-and-watches",[3601,2867,2868],[],[2216,39586],{"_2214":13939,"_2216":26918,"_2217":2218,"_2219":2216,"_2220":39587,"_2222":39588},[],[39589,39595],[2220,39590],{"_2214":39591,"_2216":39592,"_2217":2227,"_2219":2220,"_2220":39593,"_2222":39594},"considerations-when-using-the-oracle","derations-when-using-the-oracle",[6349,3371],[],[2216,39596],{"_2214":37846,"_2216":39597,"_2217":2227,"_2219":2216,"_2220":39598,"_2222":39599},"stency-guarantees",[6975,3545,2651,2652,3796,2653,2654,2655,2656,2657,3204,17153,2658,6978,3610,2924,2925,2926,3611],[],[3099,39601],{"_2214":39602,"_2216":39603,"_2217":2227,"_2219":3099,"_2220":39604,"_2222":39605},"container-nodes","tainer-nodes",[13599],[],[3017,39607],{"_2214":39608,"_2216":39609,"_2217":2227,"_2219":3017,"_2220":39610,"_2222":39611},"coordinating-distributed-applications-with-zookeeper","ordinating-distributed-applications-with-zookeeper",[4252,2932],[],[3193,39613],{"_2214":7320,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":39614,"_2222":39615},[],[39616,39631,39641],[3691,39617],{"_2214":13234,"_2216":13235,"_2217":2218,"_2219":3691,"_2220":39618,"_2222":39619},[],[39620,39625],[3280,39621],{"_2214":39622,"_2216":30264,"_2217":2227,"_2219":3280,"_2220":39623,"_2222":39624},"cluster-options",[5881,3359,2325,17141,3431,2326,2327,4488,2328,17142,3360,2329,2330,17143,2331,2332,2333,2334,3776,17144,3777,17145,3931,2335,2336,2337,3361,3432,3433,3434,3435,2338,2339],[],[2217,39626],{"_2214":39627,"_2216":39628,"_2217":2227,"_2219":2217,"_2220":39629,"_2222":39630},"clustered-multi-server-setup","ed-multi-server-setup",[13250,2388,17147,2389,2390,3780,2391,6262,2392,8208,2393,2394,2395,2396,2397,2398,5790],[],[3002,39632],{"_2214":13331,"_2216":3002,"_2217":2227,"_2219":3002,"_2220":39633,"_2222":39634},[13333,3479,14356,30104,3292,13480,13741,14153,15621,23957,23973,24067,7273,7322,7329,7342,29923,28820,29433,18822,36385,9691,10668,9046,26244,26321,26332,25514,27835,35285,31447,4463,3156,13341,13759,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,4464,9555,2419,2420,3781,13334,5512,18751,9730,2421,2422,2423,2424,2425,4465,5183,2426,2427,2428,11266,4466],[39635],[2217,39636],{"_2214":39637,"_2216":39638,"_2217":2227,"_2219":2217,"_2220":39639,"_2222":39640},"client-configuration-parameters","ent-configuration-parameters",[13345,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636],[],[3017,39642],{"_2214":13478,"_2216":15461,"_2217":2227,"_2219":3017,"_2220":39643,"_2222":39644},[13480,13341],[],[3220,39646],{"_2214":15606,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":39647,"_2222":39648},[],[39649,39655],[3017,39650],{"_2214":39651,"_2216":39652,"_2217":2227,"_2219":3017,"_2220":39653,"_2222":39654},"cross-machine-requirements","oss-machine-requirements",[8834,2402,2403,3477,2404],[],[2217,39656],{"_2214":12805,"_2216":39657,"_2217":2227,"_2219":2217,"_2220":39658,"_2222":39659},"eate",[15621,2409,2410,2411,2412],[],[3322,39661],{"_2214":39662,"_2216":39663,"_2217":2227,"_2219":3322,"_2220":39664,"_2222":39665},"changes-to-configuration-format","hanges-to-configuration-format",[7605],[],[3280,39667],{"_2214":39668,"_2216":39669,"_2217":2227,"_2219":3280,"_2220":39670,"_2222":39671},"c-binding","-binding",[13226,2637,2638],[],[5252,39673],{"_2214":5252,"_2216":5252,"_2217":2218,"_2219":5252,"_2220":39674,"_2222":39675},[],[39676,39729],[3691,39677],{"_2214":8804,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":39678,"_2222":39679},[],[39680,39702,39715],[3017,39681],{"_2214":36458,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":39682,"_2222":39683},[],[39684,39698],[3220,39685],{"_2214":13582,"_2216":36463,"_2217":2218,"_2219":3220,"_2220":39686,"_2222":39687},[],[39688,39694],[3280,39689],{"_2214":39690,"_2216":39691,"_2217":2227,"_2219":3280,"_2220":39692,"_2222":39693},"quorum-tls","-tls",[22857,16539,5985,3412,2272,6049,4461,3153,5986],[],[2216,39695],{"_2214":36501,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":39696,"_2222":39697},[36503,3504,29949,6347,6082,13678,6348,11259,5479,6349,17548,17549,6083,17645,17646,2519,10466,2520,2521,2522,2523,2524,2525,2526,3505,2527,3369,3650,3370,3371,6350,2528,6084,2529,2530,2531,6085,5513,2532,3506,2533,8373,3507,4890,5480,4896,17550,6351,2534,6352,2535,3508,3651,5514,25611,2536,2537,2538,3509,2539,7719,2540,2541,5065,2542,2543,2544,2545,2546,6353,2547,2548,3510,36504,2927,2928,2929,2930],[],[3099,39699],{"_2214":37915,"_2216":37916,"_2217":2227,"_2219":3099,"_2220":39700,"_2222":39701},[6921,3511,26287,28809,24000,3786,6086,2549,2550,3044,6255,4468,2551,2552,5990,2553,2554,2555],[],[3002,39703],{"_2214":36368,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":39704,"_2222":39705},[],[39706,39710],[3099,39707],{"_2214":36383,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":39708,"_2222":39709},[36385,13334],[],[2222,39711],{"_2214":37921,"_2216":39712,"_2217":2227,"_2219":2222,"_2220":39713,"_2222":39714},"ck-start",[25612,7276,4252,18708,24731,5779,11282,11283,11284,8766,5932,2932,2995,2933,2934,2935,2936,3394,3613,3614,7558,7837,2937,6458,3615,3616,2938,5792,6022,2939,2940,2941,3677,13116,3957,3958,2942,8009,7559,2943,2944,17158,2945,2946,2947,2948,2949,4113,2950,17159,2951,2952,2953,2954,2955],[],[2217,39716],{"_2214":12580,"_2216":39717,"_2217":2218,"_2219":2217,"_2220":39718,"_2222":39719},"eue",[],[39720,39725],[3280,39721],{"_2214":39722,"_2216":39367,"_2217":2227,"_2219":3280,"_2220":39723,"_2222":39724},"queue-test",[22009,2592,2593],[],[2216,39726],{"_2214":36411,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":39727,"_2222":39728},[36413,2752,17155,2753],[],[2225,39730],{"_2214":39731,"_2216":39732,"_2217":2227,"_2219":2225,"_2220":39733,"_2222":39734},"qa-toc","a-toc",[2690,5875,2714,15628,2715,2716,2717],[],[3691,39736],{"_2214":3691,"_2216":3691,"_2217":2218,"_2219":3691,"_2220":39737,"_2222":39738},[],[39739,39757,39763],[4034,39740],{"_2214":39741,"_2216":39742,"_2217":2218,"_2219":4034,"_2220":39743,"_2222":39744},"upgrading-","pgrading-",[],[39745,39751],[2217,39746],{"_2214":39747,"_2216":39748,"_2217":2227,"_2219":2217,"_2220":39749,"_2222":39750},"upgrading-existing-non-tls-cluster-with-no-downtime","existing-non-tls-cluster-with-no-downtime",[13237,16540,3104,3413,3154,3414,2273,3415],[],[3099,39752],{"_2214":39753,"_2216":39754,"_2217":2227,"_2219":3099,"_2220":39755,"_2222":39756},"upgrading-to-350","to-350",[22492,2447,2448],[],[3207,39758],{"_2214":39759,"_2216":39760,"_2217":2227,"_2219":3207,"_2220":39761,"_2222":39762},"unsafe-options","nsafe-options",[5883,4663,5874,18307,2361,3453,7038,6077,2362,12933,3454,2363,2364,3232,2365,3140,8298],[],[2216,39764],{"_2214":13187,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":39765,"_2222":39766},[],[39767,39773],[3002,39768],{"_2214":39769,"_2216":39770,"_2217":2227,"_2219":3002,"_2220":39771,"_2222":39772},"using-a-usb-device-as-the-oracle","ing-a-usb-device-as-the-oracle",[2519,2539,7719,2540,2541,5065,2542,2543,2544,2545,2546,6353,2547,2548],[],[2217,39774],{"_2214":10492,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":39775,"_2222":39776},[],[39777,39792],[3280,39778],{"_2214":39779,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":39780,"_2222":39781},"use-",[],[39782,39786],[2222,39783],{"_2214":37985,"_2216":15930,"_2217":2227,"_2219":2222,"_2220":39784,"_2222":39785},[15933,2785,8266,3350,5745,8238,7517,7200,35804,37052,36962,33869,34158,28146,28152,28159,21646,10686,4362,4363,4364,4365,4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387,14954,5699,22183,31135,24572,8553,18004,20293,21421,19817,11174,26638,23128,22726,14665,32040,30328,13221,3573,2786,2787,2788,2789,3385,2790,2791,3715,3574,2792,3575,2793,2794,2795,2796,3576,2797,2798,2799,2800,3577,2801,2802,2803,2804,2805,2806,3578,2807,2808,2809,4388,3579,2810,2811,3802,15318,3580,3581,6633,3582,2812,3583,2813,2814,2815,3386,2816,4389,3584,3585,2817,4738,2818,2819,2820,2821,2822,2823,3387,2824,2825,2826,2827,2828,2829,2830,2831,3954,2832,2833,2834,3586,2835,4390,2836,3587,3803,2837,3388,4391,3588,2838,2839,3589,3389,2840,2841,3590,4392,3591,2842,3592,2843,7553,2844,3593,3594,2845,2846,2847,3595,5643,13109,13239,4131,2848,2849,3596,7021,2850,7554,3597,3598,7555,2851,3390,2852,2853,4393,14666,4394,4395,4396,4397,4398,4399,13530,4400,4401,4402,4403,4404,12601,14667,2854,14668,12594,13537,3887,4405,4406,4407,4408,12728,4409,4427,4410,10467,4411,17883,4434,4441,4412,4413,4414,17884],[],[3017,39787],{"_2214":39788,"_2216":39789,"_2217":2227,"_2219":3017,"_2220":39790,"_2222":39791},"use-of-standard-slf4j-idioms","of-standard-slf4j-idioms",[6105,21042,3739,3809,29686],[],[2216,39793],{"_2214":34433,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":39794,"_2222":39795},[34435,3956],[],[2217,39797],{"_2214":2217,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":39798,"_2222":39799},[],[39800,39828,39881,39887,39893],[3207,39801],{"_2214":13950,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":39802,"_2222":39803},[],[39804,39810],[2222,39805],{"_2214":39806,"_2216":39807,"_2217":2227,"_2219":2222,"_2220":39808,"_2222":39809},"encryption-authentication-authorization-options","cryption-authentication-authorization-options",[4845,4489,3436,2340,2341,4645,4462,4652,7827,7544,7828,7545,3674,4646,2342,3231,2343,2344,2345,2346,2347,3437,5960,2348,2349,4825,3438,2350,3645,3362,2351,2352,3260,2353,2354,3261,3439,3440,3441,3363,3442,3443,3155,3444,2355,3262,4846,4847,4848,23798,3445,3263,3446,3447,3932,4361,3933,3934,4496,2356,2357,8297,6300,2358,3448,8463],[],[2225,39811],{"_2214":39812,"_2216":39813,"_2217":2218,"_2219":2225,"_2220":39814,"_2222":39815},"enabling-","abling-",[],[39816,39822],[2220,39817],{"_2214":39818,"_2216":39819,"_2217":2227,"_2219":2220,"_2220":39820,"_2222":39821},"enabling-db-existence-validation","db-existence-validation",[24839,2368,4779],[],[3322,39823],{"_2214":39824,"_2216":39825,"_2217":2227,"_2219":3322,"_2220":39826,"_2222":39827},"enabling-https-for-prometheus-metrics","https-for-prometheus-metrics",[7546,7548,19627,3498,13343,17148,3499],[],[4309,39829],{"_2214":32525,"_2216":4309,"_2217":2218,"_2219":4309,"_2220":39830,"_2222":39831},[],[39832,39838,39875],[4034,39833],{"_2214":39834,"_2216":39835,"_2217":2227,"_2219":4034,"_2220":39836,"_2222":39837},"experimental-optionsfeatures","perimental-optionsfeatures",[5882,3778,2360,3452],[],[2225,39839],{"_2214":32535,"_2216":39840,"_2217":2218,"_2219":2225,"_2220":39841,"_2222":39842},"ample",[],[39843,39869],[3280,39844],{"_2214":39845,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":39846,"_2222":39847},"example-",[],[39848,39853,39858,39863],[6884,39849],{"_2214":39850,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":39851,"_2222":39852},"example-1",[32538,12751,12752,2443],[],[5968,39854],{"_2214":39855,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":39856,"_2222":39857},"example-2",[32539,2444,12753,2445],[],[3691,39859],{"_2214":39860,"_2216":37985,"_2217":2227,"_2219":3691,"_2220":39861,"_2222":39862},"example-use-cases",[15932,2516,2517,2518],[],[5908,39864],{"_2214":39865,"_2216":39866,"_2217":2227,"_2219":5908,"_2220":39867,"_2222":39868},"example-zoocfg","zoocfg",[11259],[],[2216,39870],{"_2214":39871,"_2216":39872,"_2217":2227,"_2219":2216,"_2220":39873,"_2222":39874},"examples-of-failure-detector-implementations","s-of-failure-detector-implementations",[6083,2537],[],[2217,39876],{"_2214":39877,"_2216":39878,"_2217":2227,"_2219":2217,"_2220":39879,"_2222":39880},"executorjava","ecutorjava",[32991],[],[3220,39882],{"_2214":39883,"_2216":39884,"_2217":2227,"_2219":3220,"_2220":39885,"_2222":39886},"error-conditions","rror-conditions",[14465,2480,3675,3490,3491,13761,2481,27963,2482,3782],[],[4034,39888],{"_2214":39889,"_2216":39890,"_2217":2227,"_2219":4034,"_2220":39891,"_2222":39892},"ephemeral-nodes","phemeral-nodes",[33425,3798],[],[2222,39894],{"_2214":39895,"_2216":39896,"_2217":2218,"_2219":2222,"_2220":39897,"_2222":39898},"eclipse-","clipse-",[],[39899,39905],[2222,39900],{"_2214":39901,"_2216":39902,"_2217":2227,"_2219":2222,"_2220":39903,"_2222":39904},"eclipse-communication-framework","communication-framework",[8238,3385],[],[3825,39906],{"_2214":39907,"_2216":7514,"_2217":2227,"_2219":3825,"_2220":39908,"_2222":39909},"eclipse-gyrex",[7517,2790,2791],[],[4034,39911],{"_2214":4034,"_2216":4034,"_2217":2218,"_2219":4034,"_2220":39912,"_2222":39913},[],[39914,39935,40000,40004],[2217,39915],{"_2214":17748,"_2216":3114,"_2217":2218,"_2219":2217,"_2220":39916,"_2222":39917},[],[39918,39929],[3085,39919],{"_2214":18995,"_2216":39920,"_2217":2227,"_2219":3085,"_2220":39921,"_2222":39922},"formance",[18997,2883,2884,17157,8746,9890,2885,2886,2887,6104,3604,3676],[39923],[3280,39924],{"_2214":39925,"_2216":39926,"_2217":2227,"_2219":3280,"_2220":39927,"_2222":39928},"performance-tuning-options","-tuning-options",[5884,3455,2369,5511,5750,6052,2370,2371,3456,3457,2372],[],[2216,39930],{"_2214":39931,"_2216":39932,"_2217":2227,"_2219":2216,"_2220":39933,"_2222":39934},"persistent-recursive-watches","sistent-recursive-watches",[9824,2729,3299],[],[3220,39936],{"_2214":18114,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":39937,"_2222":39938},[],[39939,39954,39995],[3002,39940],{"_2214":18773,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":39941,"_2222":39942},[],[39943,39948],[3207,39944],{"_2214":18820,"_2216":39945,"_2217":2227,"_2219":3207,"_2220":39946,"_2222":39947},"ntwatches",[18822,3781],[],[3017,39949],{"_2214":39950,"_2216":39951,"_2217":2227,"_2219":3017,"_2220":39952,"_2222":39953},"priority-queues","ority-queues",[18890,2754],[],[3017,39955],{"_2214":18119,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":39956,"_2222":39957},[],[39958,39963,39969],[2972,39959],{"_2214":18266,"_2216":39960,"_2217":2227,"_2219":2972,"_2220":39961,"_2222":39962},"metheus",[18269,3500,6134,11268,18270,11269],[],[2220,39964],{"_2214":39965,"_2216":39966,"_2217":2227,"_2219":2220,"_2220":39967,"_2222":39968},"producer-consumer-queues","ducer-consumer-queues",[18475,2586,2587,2588,2589,2590],[],[3825,39970],{"_2214":18484,"_2216":39971,"_2217":2218,"_2219":3825,"_2220":39972,"_2222":39973},"gram",[],[39974,39980],[3280,39975],{"_2214":39976,"_2216":39977,"_2217":2227,"_2219":3280,"_2220":39978,"_2222":39979},"program-design","-design",[18486,3374],[],[2972,39981],{"_2214":18490,"_2216":2972,"_2217":2218,"_2219":2972,"_2220":39982,"_2222":39983},[],[39984,39989],[2217,39985],{"_2214":37950,"_2216":39986,"_2217":2227,"_2219":2217,"_2220":39987,"_2222":39988},"ers-guide",[5056,3533,5185,5186,4330,2605,2606,2607,2608,7720,2609,2610,2611,2612,2993,3534,2613,2614,2615,2616,3535,7721,2617,2618,2619,3224,2620,3792,3536,12800,12807,12814,12826,4470,3793,3661,4826,3949,5216,5235,5236,5237,3537,5217,12856,3538,5187,2621,5188,2622,5189,2623,2624,17150,2625,30993,3539,30987,13345,13226,16718,6785,3540,3541,2626,2627,2628,6089,2629,2630,2994,4849,7834,3654,2631,3236,4518,6090,4498,5994,3542,2632,7835,2633,7836,3268,2634,11275,2635,2636,2637,2638,2639,2640,3543,2641,3794,3544,4331,23799,23800,17151,2642,4244,11276,2643,17152,2644,2645,2646,29685,11277,2647,3377,2648,8660,3795,2649,9863,2650,3982,3378,3379,15146,6898,8757,13346,4664,6975,3545,2651,2652,3796,2653,2654,2655,2656,2657,3204,17153,2658,20790,3546,12934,31664,5057,33425,7343,26605,13599,3269,23133,3270,11278,11279,2659,2660,3547,35070,3797,2661,9434,2662,17154,2663,2664,2665,2666,2667,3798,2668,2669,2670,3548,2671,3037,11280,2672,2673,2674,3549,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098,3550,3551,3799,2675,2676,2677,2678,2679,6922,2680,6242,2681,7789,3552,6099,4332,2682,3553,2683,3554,4850,2684,2685,2686,3381,2687,2688,3271,3188,3800,3189,3190,12662,14169,5820,5778,3801,26403,2689,2690,2691,2692,2693,2694,2695,2696,2697,3382,3555,8212,13238,3950,10573,6100,2698,2699,2700,2701,2702,2703,2704,3556,2705,2706,3272,2707,17535,15622,2708,2709,3557,17536,2710,2711,2712,2713,3558,5875,2714,15628,2715,2716,2717,31665,3559,6101,9824,9013,5394,5395,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,3299,2730,2731,2732,2733,6976,3560,2734,3951,2735,2736,2737,2738],[],[3002,39990],{"_2214":39991,"_2216":39992,"_2217":2227,"_2219":3002,"_2220":39993,"_2222":39994},"programming-to-zookeeper","ing-to-zookeeper",[11284,2943],[],[2217,39996],{"_2214":18705,"_2216":39997,"_2217":2227,"_2219":2217,"_2220":39998,"_2222":39999},"e-requisites",[18708,2995],[],[3193,40001],{"_2214":37956,"_2216":37957,"_2217":2227,"_2219":3193,"_2220":40002,"_2222":40003},[4850,2684,2685,2686,3381,2687,2688,3271,3188,3800,3189,3190,12662,14169,5820,5778,3801],[],[3002,40005],{"_2214":19815,"_2216":16906,"_2217":2227,"_2219":3002,"_2220":40006,"_2222":40007},[19817,2848],[],[3085,40009],{"_2214":3085,"_2216":3085,"_2217":2218,"_2219":3085,"_2220":40010,"_2222":40011},[],[40012,40017,40022,40037],[3002,40013],{"_2214":37721,"_2216":40014,"_2217":2227,"_2219":3002,"_2220":40015,"_2222":40016},"ile-management",[7830,2381,3460,2382,17146,3461],[],[3017,40018],{"_2214":39141,"_2216":40019,"_2217":2227,"_2219":3017,"_2220":40020,"_2222":40021},"our-letter-words",[7787,3036],[],[2225,40023],{"_2214":8353,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":40024,"_2222":40025},[],[40026,40032],[3691,40027],{"_2214":40028,"_2216":40029,"_2217":2227,"_2219":3691,"_2220":40030,"_2222":40031},"fault-injection-framework","ult-injection-framework",[8237],[],[2222,40033],{"_2214":8550,"_2216":40034,"_2217":2227,"_2219":2222,"_2220":40035,"_2222":40036},"cebook",[8553,2846],[],[3220,40038],{"_2214":40039,"_2216":40040,"_2217":2227,"_2219":3220,"_2220":40041,"_2222":40042},"free-software-projects","ree-software-projects",[8266],[],[3220,40044],{"_2214":3220,"_2216":3220,"_2217":2218,"_2219":3220,"_2220":40045,"_2222":40046},[],[40047,40209,40233],[2217,40048],{"_2214":3750,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":40049,"_2222":40050},[],[40051,40085,40099,40112,40126,40132,40138,40144,40149,40153,40159],[2222,40052],{"_2214":9543,"_2216":2222,"_2217":2218,"_2219":2222,"_2220":40053,"_2222":40054},[],[40055,40080],[3017,40056],{"_2214":9595,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":40057,"_2222":40058},[],[40059,40075],[3066,40060],{"_2214":9600,"_2216":6500,"_2217":2218,"_2219":3066,"_2220":40061,"_2222":40062},[],[40063,40069],[3640,40064],{"_2214":40065,"_2216":40066,"_2217":2227,"_2219":3640,"_2220":40067,"_2222":40068},"recovery---txnlogtoolkit","y---txnlogtoolkit",[9607,7770],[],[2225,40070],{"_2214":40071,"_2216":40072,"_2217":2227,"_2219":2225,"_2220":40073,"_2222":40074},"recoverable-errors-and-the-guid","able-errors-and-the-guid",[3563,2763],[],[3207,40076],{"_2214":9688,"_2216":40077,"_2217":2227,"_2219":3207,"_2220":40078,"_2222":40079},"nfig",[9691,5512,18751,9730,2421],[],[3002,40081],{"_2214":9839,"_2216":40082,"_2217":2227,"_2219":3002,"_2220":40083,"_2222":40084},"ipes",[3561,3562,2739,5396,4251,30797,24784,36413,18890,28594,3563,27284,10843,14775,29191,3564,3383,2740,2741,2742,3565,2743,2744,4347,3566,2745,5671,2746,2747,32277,29303,2748,7361,10123,15532,15526,3567,7362,5995,7552,3568,10124,7164,2749,2750,2751,2752,17155,2753,2754,2755,17156,2756,2757,2758,5335,3569,5996,2759,2760,2761,2762,6265,5631,2763,2764,2765,2766,2767,2768,3952,3953,2769,2770,5997,5998,7165,2771,2772,33894,2773,5999,10844,3570,4511,2774,2775,3384,2776,2777,3237,2778,2779,15256,2780,3571,3572,2781,2782,6102,11248,2783,33895,2784,6000],[],[5252,40086],{"_2214":8815,"_2216":5255,"_2217":2218,"_2219":5252,"_2220":40087,"_2222":40088},[],[40089,40095],[2220,40090],{"_2214":40091,"_2216":40092,"_2217":2227,"_2219":2220,"_2220":40093,"_2222":40094},"required-software","d-software",[8822,3365],[],[2972,40096],{"_2214":8831,"_2216":3318,"_2217":2227,"_2219":2972,"_2220":40097,"_2222":40098},[8837,7788,3946,3235,2598,2599,3373,3527,3528,12927],[],[2220,40100],{"_2214":10629,"_2216":2220,"_2217":2218,"_2219":2220,"_2220":40101,"_2222":40102},[],[40103,40107],[3017,40104],{"_2214":10666,"_2216":3017,"_2217":2227,"_2219":3017,"_2220":40105,"_2222":40106},[10668,2422],[],[3002,40108],{"_2214":10683,"_2216":40109,"_2217":2227,"_2219":3002,"_2220":40110,"_2222":40111},"is_failover",[10686,2803],[],[2972,40113],{"_2214":9011,"_2216":20747,"_2217":2218,"_2219":2972,"_2220":40114,"_2222":40115},[],[40116,40120],[2214,40117],{"_2214":9043,"_2216":9044,"_2217":2227,"_2219":2214,"_2220":40118,"_2222":40119},[9046,2423],[],[3280,40121],{"_2214":40122,"_2216":40123,"_2217":2227,"_2219":3280,"_2220":40124,"_2222":40125},"remove-watches","-watches",[9013,2730,2731,2732,2733],[],[3099,40127],{"_2214":40128,"_2216":40129,"_2217":2227,"_2219":3099,"_2220":40130,"_2222":40131},"retrieving-the-current-dynamic-configuration","trieving-the-current-dynamic-configuration",[9534,2453,2454,3487,2455,4326,3649,2456],[],[3871,40133],{"_2214":40134,"_2216":40135,"_2217":2227,"_2219":3871,"_2220":40136,"_2222":40137},"rebalancing-client-connections","balancing-client-connections",[10896,2485,2486,2487,2488],[],[4034,40139],{"_2214":40140,"_2216":40141,"_2217":2227,"_2219":4034,"_2220":40142,"_2222":40143},"replicated-ensemble-mbeans","plicated-ensemble-mbeans",[10374,2495,21499,6652,24173,36465,10381,4467,9069,10358,2496,29244,29245,2497,29189,29190,2498,7737,7738,2499,23237,17451,3494,25994,26414,3936],[],[3085,40145],{"_2214":10462,"_2216":40146,"_2217":2227,"_2219":3085,"_2220":40147,"_2222":40148},"ference",[10466,3510],[],[2216,40150],{"_2214":9259,"_2216":21874,"_2217":2227,"_2219":2216,"_2220":40151,"_2222":40152},[9261,2560,3788,2561,7549,2562,2992],[],[3066,40154],{"_2214":40155,"_2216":40156,"_2217":2227,"_2219":3066,"_2220":40157,"_2222":40158},"revocable-shared-locks","vocable-shared-locks",[10843,10844,3570,4511],[],[3193,40160],{"_2214":9873,"_2216":3193,"_2217":2218,"_2219":3193,"_2220":40161,"_2222":40162},[],[40163,40168],[3002,40164],{"_2214":9947,"_2216":40165,"_2217":2227,"_2219":3002,"_2220":40166,"_2222":40167},"iability",[9949,2888,2889],[],[2217,40169],{"_2214":37979,"_2216":40170,"_2217":2227,"_2219":2217,"_2220":40171,"_2222":40172},"ease-notes",[9891,3617,9892,25336,30894,17733,22011,21549,9893,15370,30895,8299,17734,21550,9894,30896,8300,17735,22012,21551,9895,25337,30897,17736,31537,9896,17737,21552,9897,25338,30898,8301,17738,22013,31538,21553,4415,8741,11285,4922,9014,4334,3618,6001,11408,3619,3162,11981,6107,5336,8021,3238,6301,3620,3621,3622,3623,3624,11286,5191,2956,12127,4217,8367,7634,7560,5192,6640,3625,8428,6683,4827,6108,12007,2957,2958,5481,7754,12049,4473,6200,6923,6819,2959,11582,4159,8022,4598,7561,7562,8052,2996,8023,5482,7563,6109,12092,7157,12298,4474,3626,3627,7419,7564,5483,4851,3395,11736,4335,3628,5895,11878,6122,11287,11884,6110,7706,5193,6659,3810,2997,11180,2998,4336,3629,10641,3300,3163,3164,10320,4828,3239,3630,11674,8673,6266,11440,11416,8674,2960,5858,8675,8053,6002,9015,8361,7158,4475,8151,12420,7883,12436,4605,3631,10337,3632,6003,8024,6004,6111,6820,2999,2961,11453,7565,3811,6112,3633,6801,3301,9057,5979,9397,3217,3634,7606,9016,2962,7995,10822,2963,3716,8854,6113,7566,3165,5738,3921,6005,6821,7567,4490,5337,4540,8025,6006,2964,5484,11628,3635,6007,3636,5338,6114,9017,6115,6302,12245,3637,3240,7996,8464],[40173],[3280,40174],{"_2214":40175,"_2216":40176,"_2217":2218,"_2219":3280,"_2220":40177,"_2222":40178},"release-notes---zookeeper---version-39","---zookeeper---version-39",[],[40179,40184,40189,40194,40199,40204],[11327,40180],{"_2214":40181,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":40182,"_2222":40183},"release-notes---zookeeper---version-395",[9892],[],[11353,40185],{"_2214":40186,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":40187,"_2222":40188},"release-notes---zookeeper---version-394",[9893],[],[11313,40190],{"_2214":40191,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":40192,"_2222":40193},"release-notes---zookeeper---version-393",[9894],[],[5968,40195],{"_2214":40196,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":40197,"_2222":40198},"release-notes---zookeeper---version-392",[9895],[],[6884,40200],{"_2214":40201,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":40202,"_2222":40203},"release-notes---zookeeper---version-391",[9896],[],[11411,40205],{"_2214":40206,"_2216":11411,"_2217":2227,"_2219":11411,"_2220":40207,"_2222":40208},"release-notes---zookeeper---version-390",[9897],[],[3691,40210],{"_2214":40211,"_2216":40212,"_2217":2218,"_2219":3691,"_2220":40213,"_2222":40214},"running-","unning-",[],[40215,40221,40227],[2225,40216],{"_2214":40217,"_2216":40218,"_2217":2227,"_2219":2225,"_2220":40219,"_2222":40220},"running-a-jmx-console","a-jmx-console",[2490,2493,2494,3935,6561,3493],[],[3099,40222],{"_2214":40223,"_2216":40224,"_2217":2227,"_2219":3099,"_2220":40225,"_2222":40226},"running-the-tool","the-tool",[8764,3835,14684,6415],[],[3220,40228],{"_2214":40229,"_2216":40230,"_2217":2227,"_2219":3220,"_2220":40231,"_2222":40232},"running-replicated-zookeeper","replicated-zookeeper",[8766,2944,17158,2945,2946,2947,2948,2949,4113,2950,17159,2951,2952,2953],[],[2225,40234],{"_2214":11171,"_2216":40235,"_2217":2227,"_2219":2225,"_2220":40236,"_2222":40237},"ackspace",[11174,2849],[],[3322,40239],{"_2214":3322,"_2216":3322,"_2217":2218,"_2219":3322,"_2220":40240,"_2222":40241},[],[40242,40247,40262,40279],[2217,40243],{"_2214":30102,"_2216":40244,"_2217":2227,"_2219":2217,"_2220":40245,"_2222":40246},"elp",[30104,4463],[],[3002,40248],{"_2214":29824,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":40249,"_2222":40250},[],[40251,40256],[2216,40252],{"_2214":29921,"_2216":40253,"_2217":2227,"_2219":2216,"_2220":40254,"_2222":40255},"story",[29923,9555],[],[2217,40257],{"_2214":40258,"_2216":40259,"_2217":2227,"_2219":2217,"_2220":40260,"_2222":40261},"hierarchical-quorums","erarchical-quorums",[29949,2520,2521,2522],[],[3017,40263],{"_2214":40264,"_2216":40265,"_2217":2218,"_2219":3017,"_2220":40266,"_2222":40267},"how-to-use-observer","ow-to-use-observer",[],[40268,40273],[2216,40269],{"_2214":40270,"_2216":2216,"_2217":2227,"_2219":2216,"_2220":40271,"_2222":40272},"how-to-use-observers",[6696,2512,3159,3368,4186,3160,2513],[],[3280,40274],{"_2214":40275,"_2216":40276,"_2217":2227,"_2219":3280,"_2220":40277,"_2222":40278},"how-to-use-observer-masters","-masters",[6682,2514,2515,3216],[],[2225,40280],{"_2214":29596,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":40281,"_2222":40282},[],[40283,40289],[3220,40284],{"_2214":40285,"_2216":40286,"_2217":2227,"_2219":3220,"_2220":40287,"_2222":40288},"hardware-based-implementation","rdware-based-implementation",[17645,2538],[],[3207,40290],{"_2214":40291,"_2216":40292,"_2217":2227,"_2219":3207,"_2220":40293,"_2222":40294},"handling-errors","ndling-errors",[29685,3377],[],[3825,40296],{"_2214":3825,"_2216":3825,"_2217":2218,"_2219":3825,"_2220":40297,"_2222":40298},[],[40299,40328,40333,40346],[2217,40300],{"_2214":7204,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":40301,"_2222":40302},[],[40303,40323],[3099,40304],{"_2214":7271,"_2216":3099,"_2217":2227,"_2219":3099,"_2220":40305,"_2222":40306},[7273,2416],[40307,40319],[2225,40308],{"_2214":7314,"_2216":2225,"_2217":2218,"_2219":2225,"_2220":40309,"_2222":40310},[],[40311,40315],[2222,40312],{"_2214":7319,"_2216":7320,"_2217":2227,"_2219":2222,"_2220":40313,"_2222":40314},[7322,2417],[],[3193,40316],{"_2214":7326,"_2216":7327,"_2217":2227,"_2219":3193,"_2220":40317,"_2222":40318},[7329,2418],[],[2217,40320],{"_2214":7339,"_2216":7340,"_2217":2227,"_2219":2217,"_2220":40321,"_2222":40322},[7342,4464,7343,2668],[],[3207,40324],{"_2214":7255,"_2216":40325,"_2217":2227,"_2219":3207,"_2220":40326,"_2222":40327},"neral",[7257,2458,3489,2459,2460,2461,2462,22669,2463,3366,2464,2465,2466,2467,2468,8209,6681,6248,2469,2470,2471],[],[3220,40329],{"_2214":7089,"_2216":40330,"_2217":2227,"_2219":3220,"_2220":40331,"_2222":40332},"rafana",[7092,2502,3502],[],[3017,40334],{"_2214":7118,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":40335,"_2222":40336},[],[40337,40342],[3099,40338],{"_2214":37962,"_2216":40339,"_2217":2227,"_2219":3099,"_2220":40340,"_2222":40341},"tchas-common-problems-and-troubleshooting",[3550,3551,3799,2675,2676,2677,2678,2679],[],[3193,40343],{"_2214":7197,"_2216":7198,"_2217":2227,"_2219":3193,"_2220":40344,"_2222":40345},[7200,3715],[],[3691,40347],{"_2214":6973,"_2216":40348,"_2217":2227,"_2219":3691,"_2220":40349,"_2222":40350},"uarantees",[6977,2869,2870,5594,2871,2872,2873],[40351],[3280,40352],{"_2214":40353,"_2216":40354,"_2217":2227,"_2219":3280,"_2220":40355,"_2222":40356},"guarantees-properties-and-definitions","-properties-and-definitions",[3607,3804,2891,2892,2893,2894,4025,2895,2896,3805,3608,2897,2898,2899,2900,2901,6106,2902,2903,2904],[],[3066,40358],{"_2214":3066,"_2216":3066,"_2217":2218,"_2219":3066,"_2220":40359,"_2222":40360},[],[40361,40366],[2217,40362],{"_2214":12720,"_2216":40363,"_2217":2227,"_2219":2217,"_2220":40364,"_2222":40365},"ersion",[35285,11266],[],[2225,40367],{"_2214":40368,"_2216":40369,"_2217":2227,"_2219":2225,"_2220":40370,"_2222":40371},"vastcom","astcom",[14665,2851],[],[2214,40373],{"_2214":2214,"_2216":2214,"_2217":2218,"_2219":2214,"_2220":40374,"_2222":40375},[],[40376,40400,40405,40410],[3322,40377],{"_2214":31359,"_2216":3322,"_2217":2218,"_2219":3322,"_2220":40378,"_2222":40379},[],[40380,40394],[3017,40381],{"_2214":31434,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":40382,"_2222":40383},[],[40384,40388],[2225,40385],{"_2214":31444,"_2216":31445,"_2217":2227,"_2219":2225,"_2220":40386,"_2222":40387},[31447,4466],[],[3280,40389],{"_2214":40390,"_2216":40391,"_2217":2227,"_2219":3280,"_2220":40392,"_2222":40393},"who-is-taken-as-user-in-audit-logs","-is-taken-as-user-in-audit-logs",[3938,3785,3234,3941,3942,3943,2506,2507,3981,2508],[],[2225,40395],{"_2214":40396,"_2216":40397,"_2217":2227,"_2219":2225,"_2220":40398,"_2222":40399},"what-zookeeper-guarantees-about-watches","at-zookeeper-guarantees-about-watches",[5394,6976,3560,2734,3951],[],[2225,40401],{"_2214":9044,"_2216":40402,"_2217":2227,"_2219":2225,"_2220":40403,"_2222":40404},"atches",[31664,2665,31665,3559,6101,9824,9013,5394,5395,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,3299,2730,2731,2732,2733,6976,3560,2734,3951,2735,2736,2737,2738],[],[2217,40406],{"_2214":32037,"_2216":40407,"_2217":2227,"_2219":2217,"_2220":40408,"_2222":40409},"ealthfront",[32040,3390],[],[3002,40411],{"_2214":31535,"_2216":7946,"_2217":2227,"_2219":3002,"_2220":40412,"_2222":40413},[31537,3164],[40414],[3280,40415],{"_2214":40416,"_2216":34382,"_2217":2227,"_2219":3280,"_2220":40417,"_2222":40418},"wish-1",[31538,2964,5484,11628,3635],[],[3002,40420],{"_2214":3002,"_2216":3002,"_2217":2218,"_2219":3002,"_2220":40421,"_2222":40422},[],[40423,40467,40517],[3207,40424],{"_2214":7485,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":40425,"_2222":40426},[],[40427,40433,40438,40462],[2222,40428],{"_2214":40429,"_2216":40430,"_2217":2227,"_2219":2222,"_2220":40431,"_2222":40432},"incremental-mode","cremental-mode",[16666,3213,3158,2472,2473,4327,3367],[],[3085,40434],{"_2214":17196,"_2216":40435,"_2217":2227,"_2219":3085,"_2220":40436,"_2222":40437},"fluxdb",[17199,2503],[],[3099,40439],{"_2214":16818,"_2216":3099,"_2217":2218,"_2219":3099,"_2220":40440,"_2222":40441},[],[40442,40457],[2217,40443],{"_2214":16850,"_2216":3114,"_2217":2218,"_2219":2217,"_2220":40444,"_2222":40445},[],[40446,40452],[2225,40447],{"_2214":40448,"_2216":40449,"_2217":2227,"_2219":2225,"_2220":40450,"_2222":40451},"interactive-mode","active-mode",[16872,3161,3791,15549,2568,3372,3519,18619,2569,6445,2570,3520,3652],[],[3207,40453],{"_2214":16938,"_2216":40454,"_2217":2227,"_2219":3207,"_2220":40455,"_2222":40456},"nals",[16940,3606,5587,3607,4992,4970,25214,14986,6978,36504,28365,6930,5515,6105,3393,3804,2891,2892,2893,2894,4025,2895,2896,3805,3608,2897,2898,2899,2900,2901,6106,2902,2903,2904,2905,4471,2906,2907,2908,2909,2910,3806,2911,2912,2913,2914,2915,2916,2917,2918,3807,4472,3609,2919,2920,2921,2922,2923,3610,2924,2925,2926,3611,2927,2928,2929,2930,3038,4597,3808,4245,19753,2931,7557,7974,3612,21042,3739,3809,29686],[],[3220,40458],{"_2214":16839,"_2216":40459,"_2217":2227,"_2219":3220,"_2220":40460,"_2222":40461},"roduction",[16841,3525,6087,2578,2579],[],[2216,40463],{"_2214":16715,"_2216":40464,"_2217":2227,"_2219":2216,"_2220":40465,"_2222":40466},"stallation",[16718,2639,2640,3543,2641,3794,3544,4331,23799,23800,17151,2642],[],[2972,40468],{"_2214":17622,"_2216":18033,"_2217":2218,"_2219":2972,"_2220":40469,"_2222":40470},[],[40471,40477,40482],[3017,40472],{"_2214":40473,"_2216":40474,"_2217":2227,"_2219":3017,"_2220":40475,"_2222":40476},"important-note-about-error-handling","ortant-note-about-error-handling",[5396,2742],[],[3193,40478],{"_2214":17643,"_2216":40479,"_2217":2227,"_2219":3193,"_2220":40480,"_2222":40481},"lementation",[17647,6103,3391,3392,2881,2882],[],[3220,40483],{"_2214":17731,"_2216":40484,"_2217":2227,"_2219":3220,"_2220":40485,"_2222":40486},"rovement",[17733,11408,3619,3162,11981,6107],[40487],[3280,40488],{"_2214":40489,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":40490,"_2222":40491},"improvement-",[],[40492,40497,40502,40507,40512],[6884,40493],{"_2214":40494,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":40495,"_2222":40496},"improvement-1",[17734,11582,4159,8022,4598,7561,7562,8052,2996],[],[5968,40498],{"_2214":40499,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":40500,"_2222":40501},"improvement-2",[17735,3628,5895,11878],[],[11313,40503],{"_2214":40504,"_2216":11313,"_2217":2227,"_2219":11313,"_2220":40505,"_2222":40506},"improvement-3",[17736,2998,4336,3629,10641,3300,3163],[],[11353,40508],{"_2214":40509,"_2216":11353,"_2217":2227,"_2219":11353,"_2220":40510,"_2222":40511},"improvement-4",[17737,10320,4828],[],[11327,40513],{"_2214":40514,"_2216":11327,"_2217":2227,"_2219":11327,"_2220":40515,"_2222":40516},"improvement-5",[17738,11453,7565,3811,6112,3633,6801,3301,9057,5979,9397,3217,3634,7606,9016,2962,7995,10822,2963,3716,8854,6113,7566,3165,5738,3921,6005,6821,7567,4490,5337,4540],[],[2220,40518],{"_2214":40519,"_2216":40520,"_2217":2227,"_2219":2220,"_2220":40521,"_2222":40522},"idium-portal","dium-portal",[18004,2847,3595],[],[3207,40524],{"_2214":3207,"_2216":3207,"_2217":2218,"_2219":3207,"_2220":40525,"_2222":40526},[],[40527,40548],[3017,40528],{"_2214":33873,"_2216":3017,"_2217":2218,"_2219":3017,"_2220":40529,"_2222":40530},[],[40531,40537,40542],[3207,40532],{"_2214":40533,"_2216":40534,"_2217":2227,"_2219":3207,"_2220":40535,"_2222":40536},"non-incremental-mode","n-incremental-mode",[20784,2474,2475,2476,4328,2477],[],[3220,40538],{"_2214":34155,"_2216":40539,"_2217":2227,"_2219":3220,"_2220":40540,"_2222":40541},"rbert",[34158,3576],[],[2220,40543],{"_2214":40544,"_2216":40545,"_2217":2227,"_2219":2220,"_2220":40546,"_2222":40547},"nodes-and-ephemeral-nodes","des-and-ephemeral-nodes",[3600,2864,2865,2866,3955],[],[2217,40549],{"_2214":7187,"_2216":2217,"_2217":2218,"_2219":2217,"_2220":40550,"_2222":40551},[],[40552,40584],[2214,40553],{"_2214":40554,"_2216":40555,"_2217":2218,"_2219":2214,"_2220":40556,"_2222":40557},"new-","w-",[],[40558,40564],[2972,40559],{"_2214":40560,"_2216":40561,"_2217":2227,"_2219":2972,"_2220":40562,"_2222":40563},"new-metrics-system","metrics-system",[20889,3497],[],[3085,40565],{"_2214":40566,"_2216":8293,"_2217":2227,"_2219":3085,"_2220":40567,"_2222":40568},"new-feature",[8299,2959],[40569],[3280,40570],{"_2214":40571,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":40572,"_2222":40573},"new-feature-",[],[40574,40579],[6884,40575],{"_2214":40576,"_2216":6884,"_2217":2227,"_2219":6884,"_2220":40577,"_2222":40578},"new-feature-1",[8300,4335],[],[5968,40580],{"_2214":40581,"_2216":5968,"_2217":2227,"_2219":5968,"_2220":40582,"_2222":40583},"new-feature-2",[8301,2999,2961],[],[3017,40585],{"_2214":33866,"_2216":33867,"_2217":2227,"_2219":3017,"_2220":40586,"_2222":40587},[33869,2795,2796],[],[3304,40589],{"_2214":3304,"_2216":3304,"_2217":2218,"_2219":3304,"_2220":40590,"_2222":40591},[],[40592,40596,40602,40617],[2972,40593],{"_2214":35813,"_2216":37860,"_2217":2227,"_2219":2972,"_2220":40594,"_2222":40595},[35815,2489,11267,2490,16541,21506,10465,10374,21507,2491,4031,3492,2492,2493,2494,3935,6561,3493,3214,3179,2495,21499,6652,24173,36465,10381,4467,9069,10358,2496,29244,29245,2497,29189,29190,2498,7737,7738,2499,23237,17451,3494,25994,26414,3936,2500,21500,6653,24174,12661,25676,4596,23238,17452,3495,25995,26415,3937,35816,6920],[],[2217,40597],{"_2214":40598,"_2216":40599,"_2217":2227,"_2219":2217,"_2220":40600,"_2222":40601},"jepsen-test","epsen-test",[22008,2577,7275,16717,8765,3714],[],[2225,40603],{"_2214":40604,"_2216":40605,"_2217":2218,"_2219":2225,"_2220":40606,"_2222":40607},"java-","ava-",[],[40608,40612],[2217,40609],{"_2214":37865,"_2216":32535,"_2217":2227,"_2219":2217,"_2220":40610,"_2222":40611},[32540,2595,2596,8837,18486,13306,13307,15028,32991,23254,2597,7788,3946,3235,2598,2599,3373,3527,3528,12927,3374,3947,2600,3529,2601,3530,6264,3948,3531,3532,2602,17149,4095,3375,3376,4329,2603,8008,2604],[],[3871,40613],{"_2214":40614,"_2216":30985,"_2217":2227,"_2219":3871,"_2220":40615,"_2222":40616},"java-binding",[30987,3541,2626,2627,2628,6089,2629,2630],[],[3691,40618],{"_2214":35802,"_2216":40619,"_2217":2227,"_2219":3691,"_2220":40620,"_2222":40621},"uju",[35804,3574],[],[5908,40623],{"_2214":5908,"_2216":5908,"_2217":2218,"_2219":5908,"_2220":40624,"_2222":40625},[],[40626,40665,40732,40736],[3017,40627],{"_2214":11263,"_2216":40628,"_2217":2218,"_2219":3017,"_2220":40629,"_2222":40630},"ookeeper",[],[40631,40659],[3280,40632],{"_2214":11297,"_2216":3280,"_2217":2218,"_2219":3280,"_2220":40633,"_2222":40634},[],[40635,40641,40647,40653],[2972,40636],{"_2214":40637,"_2216":40638,"_2217":2227,"_2219":2972,"_2220":40639,"_2222":40640},"zookeeper-mbean-reference","mbean-reference",[10465],[],[2222,40642],{"_2214":40643,"_2216":40644,"_2217":2227,"_2219":2222,"_2220":40645,"_2222":40646},"zookeeper-c-client-api","c-client-api",[4330,3792,3536,12800,12807,12814,12826,4470,3793,3661,4826,3949,5216,5235,5236,5237,3537,5217,12856,3538,5187,2621,5188,2622,5189,2623,2624,17150,2625],[],[2216,40648],{"_2214":40649,"_2216":40650,"_2217":2227,"_2219":2216,"_2220":40651,"_2222":40652},"zookeeper-stat-structure","stat-structure",[11279,6091,6092,6093,6094,8210,8211,6095,6096,5190,3380,6097,6098],[],[2225,40654],{"_2214":40655,"_2216":40656,"_2217":2227,"_2219":2225,"_2220":40657,"_2222":40658},"zookeeper-a-distributed-coordination-service-for-distributed-applications","a-distributed-coordination-service-for-distributed-applications",[2855,2856,3602],[],[2216,40660],{"_2214":40661,"_2216":40662,"_2217":2227,"_2219":2216,"_2220":40663,"_2222":40664},"zookeepers-hierarchical-namespace","s-hierarchical-namespace",[11293],[],[2219,40666],{"_2214":12948,"_2216":2219,"_2217":2218,"_2219":2219,"_2220":40667,"_2222":40668},[],[40669,40701,40716,40722,40728],[2216,40670],{"_2214":12953,"_2216":2216,"_2217":2218,"_2219":2216,"_2220":40671,"_2222":40672},[],[40673,40679],[2217,40674],{"_2214":40675,"_2216":40676,"_2217":2227,"_2219":2217,"_2220":40677,"_2222":40678},"zkserversh","erversh",[12961,11270,2563],[],[3207,40680],{"_2214":12971,"_2216":12972,"_2217":2218,"_2219":3207,"_2220":40681,"_2222":40682},[],[40683,40689,40695],[3099,40684],{"_2214":40685,"_2216":40686,"_2217":2227,"_2219":3099,"_2220":40687,"_2222":40688},"zksnapshottoolkitsh","toolkitsh",[12980,2566],[],[3220,40690],{"_2214":40691,"_2216":40692,"_2217":2227,"_2219":3220,"_2220":40693,"_2222":40694},"zksnapshotrecursivesummarytoolkitsh","recursivesummarytoolkitsh",[12987,2567],[],[2222,40696],{"_2214":40697,"_2216":40698,"_2217":2227,"_2219":2222,"_2220":40699,"_2222":40700},"zksnapshotcomparersh","comparersh",[12994,3265,19246,3266,3267],[],[2222,40702],{"_2214":13032,"_2216":7320,"_2217":2218,"_2219":2222,"_2220":40703,"_2222":40704},[],[40705,40710],[3002,40706],{"_2214":40707,"_2216":7946,"_2217":2227,"_2219":3002,"_2220":40708,"_2222":40709},"zkclish",[13039,11271],[],[2217,40711],{"_2214":40712,"_2216":40713,"_2217":2227,"_2219":2217,"_2220":40714,"_2222":40715},"zkcleanupsh","eanupsh",[13051,3516],[],[2217,40717],{"_2214":40718,"_2216":40719,"_2217":2227,"_2219":2217,"_2220":40720,"_2222":40721},"zkenvsh","envsh",[13073,7550,3789],[],[3099,40723],{"_2214":40724,"_2216":40725,"_2217":2227,"_2219":3099,"_2220":40726,"_2222":40727},"zktxnlogtoolkitsh","txnlogtoolkitsh",[13023,3517,3944,2564,7833,6325,2565,4469],[],[3280,40729],{"_2214":13077,"_2216":13078,"_2217":2227,"_2219":3280,"_2220":40730,"_2222":40731},[13080,2572],[],[3207,40733],{"_2214":12931,"_2216":33974,"_2217":2227,"_2219":3207,"_2220":40734,"_2222":40735},[12934,2662,17154,2663,2664],[],[3640,40737],{"_2214":13218,"_2216":13219,"_2217":2227,"_2219":3640,"_2220":40738,"_2222":40739},[13221,2853,4393,14666,4394,4395,4396,4397,4398,4399,13530,4400,4401,4402,4403,4404,12601,14667,2854,14668,12594,13537,3887,4405,4406,4407,4408,12728,4409,4427,4410,10467,4411,17883,4434,4441,4412,4413,4414,17884],[],[3640,40741],{"_2214":3640,"_2216":3640,"_2217":2218,"_2219":3640,"_2220":40742,"_2222":40743},[],[40744,40748],[2222,40745],{"_2214":30337,"_2216":30338,"_2217":2227,"_2219":2222,"_2220":40746,"_2222":40747},[30340,7274,11272,3653,3521,2571,26245,3522,7551,11273,6263,6897,11274,5991,5992,3523,23183,3945],[],[2225,40749],{"_2214":30325,"_2216":30326,"_2217":2227,"_2219":2225,"_2220":40750,"_2222":40751},[30328,2852],[],[2219,40753],{"_2214":2219,"_2216":2219,"_2217":2218,"_2219":2219,"_2220":40754,"_2222":40755},[],[40756,40761],[2225,40757],{"_2214":37049,"_2216":40758,"_2217":2227,"_2219":2225,"_2220":40759,"_2222":40760},"atta",[37052,2792,3575],[],[2217,40762],{"_2214":36960,"_2216":40763,"_2217":2227,"_2219":2217,"_2220":40764,"_2222":40765},"eptcollections",[36962,2793,2794],[],"vectorIndexes",{"_40768":40769},"embeddings",{"_27051":2389,"_40770":40771},"vectors",[],"searchableProperties",[2209,37698,5,38009,38077,14695,40768],"searchablePropertiesWithTypes",{"_2209":25817,"_37698":25817,"_5":25817,"_38009":40776,"_38077":40777,"_14695":25817,"_40768":40778},"string[]","enum[]","vector[512]","frequencies",{"_2209":40781,"_37698":45141,"_5":47336,"_38009":49531,"_14695":49567},{"_6884":40782,"_5968":40783,"_11313":40785,"_11353":40786,"_11327":40788,"_11320":40789,"_11346":40790,"_11375":40791,"_11306":40792,"_36123":40793,"_11342":40795,"_36627":40797,"_36749":40799,"_36700":40801,"_11445":40803,"_12197":40805,"_36739":40807,"_36759":40809,"_12027":40811,"_11889":40813,"_37450":40814,"_12203":40816,"_40818":40819,"_36616":40820,"_36046":40822,"_36685":40824,"_12270":40826,"_37480":40828,"_12512":40830,"_35574":40831,"_35645":40833,"_35619":40835,"_12054":40837,"_35635":40838,"_35650":40839,"_12102":40840,"_35655":40842,"_11406":40843,"_11866":40845,"_12080":40846,"_40847":40848,"_40849":40850,"_40851":40852,"_40854":40855,"_36679":40856,"_40857":40858,"_11356":40860,"_40862":40863,"_12471":40865,"_36302":40867,"_12518":40868,"_11438":40869,"_37112":40870,"_40872":40873,"_40874":40875,"_40876":40877,"_40879":40880,"_37107":40882,"_37102":40883,"_11469":40884,"_40886":40887,"_40889":40890,"_40891":40892,"_30746":40893,"_40894":40895,"_40897":40898,"_40899":40900,"_40902":40903,"_40904":40905,"_40906":40907,"_40909":40910,"_40912":40913,"_40914":40915,"_11485":40916,"_40918":40919,"_36784":40920,"_40921":40922,"_11684":40923,"_11349":40925,"_36838":40926,"_37456":40927,"_12393":40928,"_40929":40930,"_40931":40932,"_40933":40934,"_36853":40935,"_40936":40937,"_11378":40938,"_12108":40939,"_35688":40941,"_36663":40942,"_40943":40944,"_40945":40946,"_37626":40947,"_40948":40949,"_11421":40950,"_40951":40952,"_40953":40954,"_12125":40955,"_36130":40956,"_40958":40959,"_40960":40961,"_40963":40964,"_40965":40966,"_40967":40968,"_40969":40970,"_40971":40972,"_11336":40973,"_40974":40975,"_40976":40977,"_40978":40979,"_40980":40981,"_40982":40983,"_40985":40986,"_16358":40987,"_40988":40989,"_40990":40991,"_40992":40993,"_40994":40995,"_40996":40997,"_40998":40999,"_41001":41002,"_41003":41004,"_41005":41006,"_41007":41008,"_41010":41011,"_36637":41012,"_36632":41014,"_41015":41016,"_36754":41017,"_41019":41020,"_41021":41022,"_41023":41024,"_41025":41026,"_41027":41028,"_41029":41030,"_41031":41032,"_41033":41034,"_41035":41036,"_41037":41038,"_41039":41040,"_41041":41042,"_41043":41044,"_41046":41047,"_41048":41049,"_41050":41051,"_41052":41053,"_41054":41055,"_41057":41058,"_41059":41060,"_41061":41062,"_41063":41064,"_41065":41066,"_41067":41068,"_41069":41070,"_41071":41072,"_41073":41074,"_41075":41076,"_41077":41078,"_41079":41080,"_41081":41082,"_41083":41084,"_41085":41086,"_41087":41088,"_41089":41090,"_41091":41092,"_41093":41094,"_36725":41095,"_41096":41097,"_41098":41099,"_41100":41101,"_36744":41102,"_41103":41104,"_41105":41106,"_41108":41109,"_41110":41111,"_41112":41113,"_41114":41115,"_41116":41117,"_41118":41119,"_41120":41121,"_41122":41123,"_41124":41125,"_41126":41127,"_41128":41129,"_41130":41131,"_41132":41133,"_41134":41135,"_41136":41137,"_41138":41139,"_41140":41141,"_36651":41143,"_41145":41146,"_36646":41147,"_41149":41150,"_41151":41152,"_41153":41154,"_41155":41156,"_41157":41158,"_16474":41159,"_37344":41160,"_35538":41162,"_41164":41165,"_41166":41167,"_41169":41170,"_41171":41172,"_41173":41174,"_41176":41177,"_41178":41179,"_41180":41181,"_41183":41184,"_41186":41187,"_41188":41189,"_41190":41191,"_41192":41193,"_41194":41195,"_41197":41198,"_41199":41200,"_41201":41202,"_41203":41204,"_41206":41207,"_41208":41209,"_41210":41211,"_41212":41213,"_41214":41215,"_41216":41217,"_41218":41219,"_41220":41221,"_41222":41223,"_41224":41225,"_41226":41227,"_41228":41229,"_41230":41231,"_41232":41233,"_41234":41235,"_41236":41237,"_41238":41239,"_41240":41241,"_41242":41243,"_41244":41245,"_41246":41247,"_41248":41249,"_41250":41251,"_41252":41253,"_41254":41255,"_41256":41257,"_41258":41259,"_41260":41261,"_41262":41263,"_37379":41265,"_41266":41267,"_41268":41269,"_41270":41271,"_37384":41272,"_37374":41273,"_22897":41274,"_41275":41276,"_41277":41278,"_41279":41280,"_41281":41282,"_41283":41284,"_41285":41286,"_41287":41288,"_41290":41291,"_41292":41293,"_41294":41295,"_41296":41297,"_41298":41299,"_41300":41301,"_41302":41303,"_41305":41306,"_41307":41308,"_41309":41310,"_41311":41312,"_41313":41314,"_41315":41316,"_41317":41318,"_41319":41320,"_41321":41322,"_41323":41324,"_41325":41326,"_41327":41328,"_41329":41330,"_41331":41332,"_41333":41334,"_41335":41336,"_41337":41338,"_37485":41339,"_41340":41341,"_41342":41343,"_41344":41345,"_41346":41347,"_41349":41350,"_41351":41352,"_41353":41354,"_41355":41356,"_41357":41358,"_41359":41360,"_41362":41363,"_35589":41364,"_41365":41366,"_41367":41368,"_41369":41370,"_35579":41371,"_41372":41373,"_41375":41376,"_41378":41379,"_41380":41381,"_41383":41384,"_41386":41387,"_41388":41389,"_41390":41391,"_41392":41393,"_41394":41395,"_41396":41397,"_41398":41399,"_41401":41402,"_41404":41405,"_41406":41407,"_11390":41408,"_41409":41410,"_41411":41412,"_41413":41414,"_41415":41416,"_35624":41417,"_41418":41419,"_41420":41421,"_41422":41423,"_41424":41425,"_41426":41427,"_41428":41429,"_11316":41430,"_41432":41433,"_41434":41435,"_41436":41437,"_41438":41439,"_41440":41441,"_41442":41443,"_41444":41445,"_35640":41446,"_41447":41448,"_41449":41450,"_41451":41452,"_41453":41454,"_41455":41456,"_41457":41458,"_41459":41460,"_41461":41462,"_41463":41464,"_41465":41466,"_41467":41468,"_41469":41470,"_41471":41472,"_41473":41474,"_41475":41476,"_41477":41478,"_41479":41480,"_41481":41482,"_41483":41484,"_41485":41486,"_41487":41488,"_41489":41490,"_41491":41492,"_41493":41494,"_41495":41496,"_41497":41498,"_41499":41500,"_41501":41502,"_41503":41504,"_41505":41506,"_41507":41508,"_41509":41510,"_41511":41512,"_41514":41515,"_41516":41517,"_41518":41519,"_41520":41521,"_41522":41523,"_41524":41525,"_41526":41527,"_41528":41529,"_41530":41531,"_41532":41533,"_22920":41534,"_41536":41537,"_41538":41539,"_41540":41541,"_35672":41542,"_41543":41544,"_41545":41546,"_41547":41548,"_41549":41550,"_41551":41552,"_41553":41554,"_41555":41556,"_41557":41558,"_41559":41560,"_41561":41562,"_41563":41564,"_36040":41565,"_41566":41567,"_41568":41569,"_41571":41572,"_41573":41574,"_41575":41576,"_41577":41578,"_41580":41581,"_41582":41583,"_41584":41585,"_41586":41587,"_41588":41589,"_41590":41591,"_41592":41593,"_41595":41596,"_41597":41598,"_41599":41600,"_41601":41602,"_41603":41604,"_41605":41606,"_41608":41609,"_41610":41611,"_41612":41613,"_41614":41615,"_41616":41617,"_36045":41618,"_41619":41620,"_41621":41622,"_41623":41624,"_41625":41626,"_41627":41628,"_41629":41630,"_41631":41632,"_41633":41634,"_41635":41636,"_41637":41638,"_41639":41640,"_36051":41641,"_41642":41643,"_41644":41645,"_41646":41647,"_41648":41649,"_41650":41651,"_41652":41653,"_41654":41655,"_41656":41657,"_41658":41659,"_41660":41661,"_41662":41663,"_41665":41666,"_41668":41669,"_41670":41671,"_41672":41673,"_41675":41676,"_41677":41678,"_41679":41680,"_41681":41682,"_41683":41684,"_41685":41686,"_41687":41688,"_41689":41690,"_41691":41692,"_41693":41694,"_41695":41696,"_41697":41698,"_41699":41700,"_41701":41702,"_41703":41704,"_41705":41706,"_41707":41708,"_41709":41710,"_41711":41712,"_41713":41714,"_41715":41716,"_41717":41718,"_41719":41720,"_41721":41722,"_41723":41724,"_41725":41726,"_41727":41728,"_41729":41730,"_41731":41732,"_41733":41734,"_41735":41736,"_41737":41738,"_41739":41740,"_11427":41741,"_41742":41743,"_41744":41745,"_41746":41747,"_41748":41749,"_41750":41751,"_41752":41753,"_41754":41755,"_41756":41757,"_41758":41759,"_41760":41761,"_41762":41763,"_41764":41765,"_41766":41767,"_37087":41768,"_12612":41769,"_41770":41771,"_41772":41773,"_41774":41775,"_41776":41777,"_41778":41779,"_41780":41781,"_41782":41783,"_41784":41785,"_41786":41787,"_41788":41789,"_41790":41791,"_41792":41793,"_41794":41795,"_41796":41797,"_41798":41799,"_41800":41801,"_41802":41803,"_41804":41805,"_41806":41807,"_41808":41809,"_41810":41811,"_41812":41813,"_41814":41815,"_41816":41817,"_41818":41819,"_41820":41821,"_41822":41823,"_41824":41825,"_41826":41827,"_41828":41829,"_41830":41831,"_41832":41833,"_41834":41835,"_41836":41837,"_41838":41839,"_41840":41841,"_41842":41843,"_41844":41845,"_41846":41847,"_41848":41849,"_41850":41851,"_41852":41853,"_41854":41855,"_36062":41856,"_41857":41858,"_41859":41860,"_41861":41862,"_41863":41864,"_41865":41866,"_41867":41868,"_41869":41870,"_41871":41872,"_41873":41874,"_41875":41876,"_41877":41878,"_41879":41880,"_41881":41882,"_41883":41884,"_41885":41886,"_41887":41888,"_41889":41890,"_41891":41892,"_41893":41894,"_41895":41896,"_41897":41898,"_41899":41900,"_41901":41902,"_41903":41904,"_41905":41906,"_41907":41908,"_41909":41910,"_41911":41912,"_41913":41914,"_11384":41915,"_41916":41917,"_41918":41919,"_41920":41921,"_41922":41923,"_41924":41925,"_41926":41927,"_41928":41929,"_41930":41931,"_41932":41933,"_41934":41935,"_16423":41936,"_41937":41938,"_41939":41940,"_41941":41942,"_11330":41943,"_41944":41945,"_41946":41947,"_41948":41949,"_41950":41951,"_41952":41953,"_41954":41955,"_41956":41957,"_41958":41959,"_41960":41961,"_41962":41963,"_41964":41965,"_41966":41967,"_41968":41969,"_41970":41971,"_41972":41973,"_41974":41975,"_41976":41977,"_41978":41979,"_41980":41981,"_41982":41983,"_41984":41985,"_41986":41987,"_41988":41989,"_41990":41991,"_41992":41993,"_41994":41995,"_41996":41997,"_41998":41999,"_42000":42001,"_42002":42003,"_42004":42005,"_42006":42007,"_11323":42008,"_42009":42010,"_42011":42012,"_42013":42014,"_42015":42016,"_42017":42018,"_42019":42020,"_42021":42022,"_42023":42024,"_42025":42026,"_42027":42028,"_42029":42030,"_42031":42032,"_42033":42034,"_42035":42036,"_42037":42038,"_42039":42040,"_42041":42042,"_42043":42044,"_42045":42046,"_42047":42048,"_42049":42050,"_42051":42052,"_42053":42054,"_42055":42056,"_42057":42058,"_42059":42060,"_42061":42062,"_42063":42064,"_42065":42066,"_42067":42068,"_42069":42070,"_42071":42072,"_42073":42074,"_42075":42076,"_42077":42078,"_42079":42080,"_42081":42082,"_42083":42084,"_42085":42086,"_42087":42088,"_42089":42090,"_42091":42092,"_42093":42094,"_42095":42096,"_42097":42098,"_42099":42100,"_42101":42102,"_42103":42104,"_42105":42106,"_42107":42108,"_42109":42110,"_42111":42112,"_42114":42115,"_42116":42117,"_42118":42119,"_42120":42121,"_42122":42123,"_42124":42125,"_42126":42127,"_42128":42129,"_42130":42131,"_42132":42133,"_42134":42135,"_42136":42137,"_42139":42140,"_42141":42142,"_42143":42144,"_42146":42147,"_42148":42149,"_42151":42152,"_42153":42154,"_42155":42156,"_42157":42158,"_42159":42160,"_42161":42162,"_42163":42164,"_42165":42166,"_42167":42168,"_42169":42170,"_42171":42172,"_42173":42174,"_42175":42176,"_42177":42178,"_42180":42181,"_42182":42183,"_42184":42185,"_42186":42187,"_42188":42189,"_42190":42191,"_42192":42193,"_42194":42195,"_42196":42197,"_42198":42199,"_42200":42201,"_42202":42203,"_42204":42205,"_42206":42207,"_42208":42209,"_42210":42211,"_42212":42213,"_42214":42215,"_42216":42217,"_42218":42219,"_42220":42221,"_42222":42223,"_42224":42225,"_42227":42228,"_11451":42229,"_42231":42232,"_42233":42234,"_42235":42236,"_42237":42238,"_42239":42240,"_42241":42242,"_42243":42244,"_42245":42246,"_42247":42248,"_42249":42250,"_42251":42252,"_42253":42254,"_42255":42256,"_42257":42258,"_42259":42260,"_42261":42262,"_42263":42264,"_42265":42266,"_42267":42268,"_42269":42270,"_42271":42272,"_42273":42274,"_42275":42276,"_42277":42278,"_42279":42280,"_42281":42282,"_42283":42284,"_42285":42286,"_42287":42288,"_42289":42290,"_42291":42292,"_42293":42294,"_42295":42296,"_42297":42298,"_42299":42300,"_42301":42302,"_42303":42304,"_42305":42306,"_42307":42308,"_42309":42310,"_42311":42312,"_42313":42314,"_42315":42316,"_42317":42318,"_42319":42320,"_42321":42322,"_42323":42324,"_42325":42326,"_42327":42328,"_42329":42330,"_42331":42332,"_42333":42334,"_12529":42335,"_42336":42337,"_42338":42339,"_42340":42341,"_42342":42343,"_42344":42345,"_42346":42347,"_37445":42348,"_42349":42350,"_42351":42352,"_42353":42354,"_42355":42356,"_42357":42358,"_42359":42360,"_42361":42362,"_42363":42364,"_35029":42365,"_42366":42367,"_42368":42369,"_42370":42371,"_42372":42373,"_42374":42375,"_42376":42377,"_42378":42379,"_42380":42381,"_42382":42383,"_42384":42385,"_42386":42387,"_42388":42389,"_42390":42391,"_42392":42393,"_42394":42395,"_42396":42397,"_42398":42399,"_42400":42401,"_42402":42403,"_42404":42405,"_42406":42407,"_42408":42409,"_42410":42411,"_42412":42413,"_42414":42415,"_42416":42417,"_42418":42419,"_42420":42421,"_42422":42423,"_42424":42425,"_42426":42427,"_42428":42429,"_42430":42431,"_42432":42433,"_42434":42435,"_42436":42437,"_42438":42439,"_42440":42441,"_42442":42443,"_42444":42445,"_42446":42447,"_12606":42448,"_42449":42450,"_42451":42452,"_42453":42454,"_42455":42456,"_42457":42458,"_42459":42460,"_42461":42462,"_42463":42464,"_42465":42466,"_42467":42468,"_42469":42470,"_42471":42472,"_42473":42474,"_42475":42476,"_42477":42478,"_42479":42480,"_42481":42482,"_42483":42484,"_42485":42486,"_42487":42488,"_42489":42490,"_42491":42492,"_42493":42494,"_42495":42496,"_42497":42498,"_42499":42500,"_42501":42502,"_42503":42504,"_42505":42506,"_42507":42508,"_42509":42510,"_42511":42512,"_42513":42514,"_42515":42516,"_42517":42518,"_42519":42520,"_42521":42522,"_42523":42524,"_42525":42526,"_42527":42528,"_42529":42530,"_42531":42532,"_42533":42534,"_42535":42536,"_42537":42538,"_42539":42540,"_42541":42542,"_42543":42544,"_42545":42546,"_42547":42548,"_42549":42550,"_42551":42552,"_42553":42554,"_42555":42556,"_42557":42558,"_42559":42560,"_42561":42562,"_42563":42564,"_11309":42565,"_42566":42567,"_42568":42569,"_42570":42571,"_42572":42573,"_42574":42575,"_42576":42577,"_42578":42579,"_42580":42581,"_12634":42582,"_42583":42584,"_42585":42586,"_42587":42588,"_42589":42590,"_42591":42592,"_42593":42594,"_42595":42596,"_42597":42598,"_42599":42600,"_42601":42602,"_42603":42604,"_42605":42606,"_42607":42608,"_42609":42610,"_42611":42612,"_42613":42614,"_42615":42616,"_42617":42618,"_42619":42620,"_42621":42622,"_42623":42624,"_42625":42626,"_42627":42628,"_42629":42630,"_42631":42632,"_42633":42634,"_42635":42636,"_42637":42638,"_42639":42640,"_42641":42642,"_42643":42644,"_42645":42646,"_42647":42648,"_42649":42650,"_42651":42652,"_42653":42654,"_42655":42656,"_42657":42658,"_42659":42660,"_42661":42662,"_42663":42664,"_42665":42666,"_42667":42668,"_42669":42670,"_42671":42672,"_42673":42674,"_42675":42676,"_42677":42678,"_42679":42680,"_42681":42682,"_42683":42684,"_42685":42686,"_42687":42688,"_42689":42690,"_42691":42692,"_42693":42694,"_42695":42696,"_42697":42698,"_42699":42700,"_42701":42702,"_42703":42704,"_42705":42706,"_42707":42708,"_42709":42710,"_42711":42712,"_42713":42714,"_42715":42716,"_42717":42718,"_42719":42720,"_42721":42722,"_42723":42724,"_42725":42726,"_42727":42728,"_42729":42730,"_42731":42732,"_42733":42734,"_42735":42736,"_42737":42738,"_42739":42740,"_42741":42742,"_42743":42744,"_42745":42746,"_42747":42748,"_42749":42750,"_42751":42752,"_42753":42754,"_42755":42756,"_42757":42758,"_42759":42760,"_36137":42761,"_42762":42763,"_42764":42765,"_42766":42767,"_42768":42769,"_42770":42771,"_42772":42773,"_42774":42775,"_42776":42777,"_42778":42779,"_42780":42781,"_42782":42783,"_42784":42785,"_42786":42787,"_42788":42789,"_42790":42791,"_42792":42793,"_42794":42795,"_42796":42797,"_42798":42799,"_42800":42801,"_42802":42803,"_42804":42805,"_42806":42807,"_36615":42808,"_42809":42810,"_42811":42812,"_42813":42814,"_42815":42816,"_42817":42818,"_42819":42820,"_42821":42822,"_42823":42824,"_42825":42826,"_42827":42828,"_42829":42830,"_42831":42832,"_42833":42834,"_42835":42836,"_42837":42838,"_42839":42840,"_42841":42842,"_42843":42844,"_42845":42846,"_42847":42848,"_42849":42850,"_42851":42852,"_42853":42854,"_42855":42856,"_42857":42858,"_42859":42860,"_42861":42862,"_42863":42864,"_42865":42866,"_42867":42868,"_42869":42870,"_42871":42872,"_42873":42874,"_42875":42876,"_42877":42878,"_42879":42880,"_42881":42882,"_42883":42884,"_42885":42886,"_42887":42888,"_42889":42890,"_42891":42892,"_42893":42894,"_42895":42896,"_42897":42898,"_42899":42900,"_42901":42902,"_42903":42904,"_42905":42906,"_42907":42908,"_42909":42910,"_42911":42912,"_42913":42914,"_42915":42916,"_42917":42918,"_42919":42920,"_42921":42922,"_42923":42924,"_42925":42926,"_42927":42928,"_42929":42930,"_42931":42932,"_42933":42934,"_42935":42936,"_42937":42938,"_42939":42940,"_42941":42942,"_42943":42944,"_42945":42946,"_42947":42948,"_42949":42950,"_42951":42952,"_42953":42954,"_42955":42956,"_42957":42958,"_42959":42960,"_42961":42962,"_42963":42964,"_42965":42966,"_42967":42968,"_42969":42970,"_42971":42972,"_42973":42974,"_42975":42976,"_42977":42978,"_42979":42980,"_42981":42982,"_42983":42984,"_42985":42986,"_42987":42988,"_42989":42990,"_42991":42992,"_42993":42994,"_42995":42996,"_42997":42998,"_42999":43000,"_43001":43002,"_43003":43004,"_43005":43006,"_43007":43008,"_43009":43010,"_36684":43011,"_43012":43013,"_43014":43015,"_43016":43017,"_43018":43019,"_43020":43021,"_43022":43023,"_43024":43025,"_43026":43027,"_43028":43029,"_43030":43031,"_43032":43033,"_43034":43035,"_43036":43037,"_43038":43039,"_43040":43041,"_43042":43043,"_43044":43045,"_43046":43047,"_36678":43048,"_43049":43050,"_43051":43052,"_43053":43054,"_43055":43056,"_43057":43058,"_43059":43060,"_43061":43062,"_43063":43064,"_43065":43066,"_43067":43068,"_43069":43070,"_43071":43072,"_43073":43074,"_43075":43076,"_43077":43078,"_43079":43080,"_43081":43082,"_43083":43084,"_43085":43086,"_43087":43088,"_43089":43090,"_43091":43092,"_43093":43094,"_43095":43096,"_43097":43098,"_43099":43100,"_43101":43102,"_43103":43104,"_43105":43106,"_43107":43108,"_43109":43110,"_43111":43112,"_43113":43114,"_43115":43116,"_43117":43118,"_43119":43120,"_43121":43122,"_43123":43124,"_43125":43126,"_43127":43128,"_43129":43130,"_43131":43132,"_43133":43134,"_43135":43136,"_43137":43138,"_43139":43140,"_43141":43142,"_43143":43144,"_43145":43146,"_43147":43148,"_43149":43150,"_43151":43152,"_43153":43154,"_43155":43156,"_43157":43158,"_43159":43160,"_43161":43162,"_43163":43164,"_43165":43166,"_43167":43168,"_43169":43170,"_43171":43172,"_43173":43174,"_43175":43176,"_43177":43178,"_43179":43180,"_43181":43182,"_43183":43184,"_43185":43186,"_43187":43188,"_43189":43190,"_43191":43192,"_43193":43194,"_43195":43196,"_43197":43198,"_43199":43200,"_43201":43202,"_43203":43204,"_43205":43206,"_43207":43208,"_43209":43210,"_43211":43212,"_43213":43214,"_43215":43216,"_43217":43218,"_43219":43220,"_43221":43222,"_43223":43224,"_43225":43226,"_43227":43228,"_43229":43230,"_43231":43232,"_43234":43235,"_43236":43237,"_43238":43239,"_43240":43241,"_43242":43243,"_43244":43245,"_43246":43247,"_43248":43249,"_43250":43251,"_43252":43253,"_43254":43255,"_43256":43257,"_43258":43259,"_43260":43261,"_43262":43263,"_43264":43265,"_43266":43267,"_43268":43269,"_43270":43271,"_43272":43273,"_43274":43275,"_43276":43277,"_43278":43279,"_43280":43281,"_43282":43283,"_43284":43285,"_43286":43287,"_43288":43289,"_43290":43291,"_43292":43293,"_43294":43295,"_43296":43297,"_43298":43299,"_43300":43301,"_43302":43303,"_43304":43305,"_43306":43307,"_43308":43309,"_43310":43311,"_43312":43313,"_43314":43315,"_43316":43317,"_43318":43319,"_43320":43321,"_43322":43323,"_43324":43325,"_43326":43327,"_43328":43329,"_43330":43331,"_43332":43333,"_43334":43335,"_43336":43337,"_43339":43340,"_43341":43342,"_43343":43344,"_43345":43346,"_43347":43348,"_43349":43350,"_43351":43352,"_43353":43354,"_43355":43356,"_43357":43358,"_43359":43360,"_43361":43362,"_43363":43364,"_43365":43366,"_43367":43368,"_43369":43370,"_43371":43372,"_43373":43374,"_43375":43376,"_43377":43378,"_43379":43380,"_43381":43382,"_43383":43384,"_43385":43386,"_43387":43388,"_43389":43390,"_43391":43392,"_43393":43394,"_43396":43397,"_43398":43399,"_43400":43401,"_43402":43403,"_43404":43405,"_43406":43407,"_43408":43409,"_43410":43411,"_43412":43413,"_43414":43415,"_43416":43417,"_43418":43419,"_43420":43421,"_43422":43423,"_43424":43425,"_43426":43427,"_43428":43429,"_43430":43431,"_43432":43433,"_43434":43435,"_43436":43437,"_43438":43439,"_43440":43441,"_43442":43443,"_43444":43445,"_43446":43447,"_43448":43449,"_43450":43451,"_43452":43453,"_43454":43455,"_43456":43457,"_43458":43459,"_43461":43462,"_43463":43464,"_43465":43466,"_43467":43468,"_43469":43470,"_43471":43472,"_43473":43474,"_43475":43476,"_43477":43478,"_43479":43480,"_43481":43482,"_43483":43484,"_43485":43486,"_43487":43488,"_43489":43490,"_43491":43492,"_43493":43494,"_43495":43496,"_43497":43498,"_43499":43500,"_43501":43502,"_43503":43504,"_43505":43506,"_43507":43508,"_43509":43510,"_43511":43512,"_43513":43514,"_43515":43516,"_43517":43518,"_43519":43520,"_43521":43522,"_43523":43524,"_43525":43526,"_43527":43528,"_43529":43530,"_43531":43532,"_43533":43534,"_43535":43536,"_43537":43538,"_43539":43540,"_43541":43542,"_43543":43544,"_43545":43546,"_43547":43548,"_43549":43550,"_43551":43552,"_43553":43554,"_43555":43556,"_43557":43558,"_43559":43560,"_43561":43562,"_43563":43564,"_43565":43566,"_43567":43568,"_43569":43570,"_43571":43572,"_43573":43574,"_43575":43576,"_43577":43578,"_43579":43580,"_43581":43582,"_43583":43584,"_43585":43586,"_43587":43588,"_43589":43590,"_43591":43592,"_43593":43594,"_43595":43596,"_43597":43598,"_43599":43600,"_43601":43602,"_43603":43604,"_43605":43606,"_43607":43608,"_43609":43610,"_43611":43612,"_43613":43614,"_43615":43616,"_43617":43618,"_43619":43620,"_43621":43622,"_43623":43624,"_43625":43626,"_43627":43628,"_43629":43630,"_43631":43632,"_43633":43634,"_43635":43636,"_43637":43638,"_43639":43640,"_43641":43642,"_43643":43644,"_43645":43646,"_43647":43648,"_43649":43650,"_43651":43652,"_43653":43654,"_43655":43656,"_43657":43658,"_43659":43660,"_43661":43662,"_43663":43664,"_43665":43666,"_43667":43668,"_43669":43670,"_43671":43672,"_43673":43674,"_43675":43676,"_43677":43678,"_43679":43680,"_43681":43682,"_43683":43684,"_43685":43686,"_43687":43688,"_43689":43690,"_43691":43692,"_43693":43694,"_43695":43696,"_43697":43698,"_43699":43700,"_43701":43702,"_43703":43704,"_43705":43706,"_43707":43708,"_43709":43710,"_43711":43712,"_43713":43714,"_43715":43716,"_43717":43718,"_43719":43720,"_43721":43722,"_43723":43724,"_43725":43726,"_43727":43728,"_43729":43730,"_43731":43732,"_43733":43734,"_43735":43736,"_43737":43738,"_43739":43740,"_43741":43742,"_43743":43744,"_43745":43746,"_43747":43748,"_43749":43750,"_43751":43752,"_43753":43754,"_43755":43756,"_43757":43758,"_43759":43760,"_43761":43762,"_43763":43764,"_43765":43766,"_43767":43768,"_43769":43770,"_43771":43772,"_43773":43774,"_43775":43776,"_43777":43778,"_43779":43780,"_43781":43782,"_43783":43784,"_43785":43786,"_43787":43788,"_43789":43790,"_43791":43792,"_43793":43794,"_43795":43796,"_43797":43798,"_43799":43800,"_43801":43802,"_43803":43804,"_43805":43806,"_43807":43808,"_43809":43810,"_43811":43812,"_43813":43814,"_43815":43816,"_43817":43818,"_43819":43820,"_43821":43822,"_43823":43824,"_43825":43826,"_43827":43828,"_43829":43830,"_43831":43832,"_43833":43834,"_43835":43836,"_43837":43838,"_43839":43840,"_43841":43842,"_43843":43844,"_43845":43846,"_43847":43848,"_43849":43850,"_43851":43852,"_43853":43854,"_43855":43856,"_43857":43858,"_43859":43860,"_43861":43862,"_43863":43864,"_43865":43866,"_43867":43868,"_43869":43870,"_43871":43872,"_43873":43874,"_43875":43876,"_43877":43878,"_43879":43880,"_43881":43882,"_43883":43884,"_43885":43886,"_43887":43888,"_43889":43890,"_43891":43892,"_43893":43894,"_43895":43896,"_43897":43898,"_43899":43900,"_43901":43902,"_43903":43904,"_43905":43906,"_43907":43908,"_43909":43910,"_43911":43912,"_43913":43914,"_43915":43916,"_43917":43918,"_43919":43920,"_43921":43922,"_43923":43924,"_43925":43926,"_43927":43928,"_43929":43930,"_43931":43932,"_43933":43934,"_43935":43936,"_43937":43938,"_43939":43940,"_43941":43942,"_43943":43944,"_43945":43946,"_43947":43948,"_43949":43950,"_43951":43952,"_43953":43954,"_43955":43956,"_43957":43958,"_43959":43960,"_43961":43962,"_43963":43964,"_43965":43966,"_43967":43968,"_43969":43970,"_43971":43972,"_43973":43974,"_43975":43976,"_43977":43978,"_43979":43980,"_43981":43982,"_43983":43984,"_43985":43986,"_43987":43988,"_43989":43990,"_43991":43992,"_43993":43994,"_43995":43996,"_43997":43998,"_43999":44000,"_44001":44002,"_44003":44004,"_44005":44006,"_44007":44008,"_44009":44010,"_44011":44012,"_44013":44014,"_44015":44016,"_44017":44018,"_44019":44020,"_44021":44022,"_44023":44024,"_44025":44026,"_44027":44028,"_44029":44030,"_44031":44032,"_44033":44034,"_44035":44036,"_44037":44038,"_44039":44040,"_44041":44042,"_44043":44044,"_44045":44046,"_44047":44048,"_44049":44050,"_44051":44052,"_44053":44054,"_44055":44056,"_44057":44058,"_44059":44060,"_44061":44062,"_44063":44064,"_44065":44066,"_44067":44068,"_44069":44070,"_44071":44072,"_44073":44074,"_44075":44076,"_44077":44078,"_44079":44080,"_44081":44082,"_44083":44084,"_44085":44086,"_44087":44088,"_44089":44090,"_44091":44092,"_44093":44094,"_44095":44096,"_44097":44098,"_44099":44100,"_44101":44102,"_44103":44104,"_44105":44106,"_44107":44108,"_44109":44110,"_44111":44112,"_44113":44114,"_44115":44116,"_44117":44118,"_44119":44120,"_44121":44122,"_44123":44124,"_44125":44126,"_44127":44128,"_44129":44130,"_44131":44132,"_44133":44134,"_44135":44136,"_44137":44138,"_44139":44140,"_44141":44142,"_44143":44144,"_44145":44146,"_44147":44148,"_44149":44150,"_44151":44152,"_44153":44154,"_44155":44156,"_44157":44158,"_44159":44160,"_44161":44162,"_44163":44164,"_44165":44166,"_44167":44168,"_44169":44170,"_44171":44172,"_44173":44174,"_44175":44176,"_44177":44178,"_44179":44180,"_44181":44182,"_44183":44184,"_44185":44186,"_44187":44188,"_44189":44190,"_44191":44192,"_44193":44194,"_44195":44196,"_44197":44198,"_44199":44200,"_44201":44202,"_44203":44204,"_44205":44206,"_44207":44208,"_44209":44210,"_44211":44212,"_44213":44214,"_44215":44216,"_44217":44218,"_44219":44220,"_44221":44222,"_44223":44224,"_44225":44226,"_44227":44228,"_44229":44230,"_44231":44232,"_44233":44234,"_44235":44236,"_44237":44238,"_44239":44240,"_44241":44242,"_44243":44244,"_44245":44246,"_44247":44248,"_44249":44250,"_44251":44252,"_44253":44254,"_44255":44256,"_44257":44258,"_44259":44260,"_44261":44262,"_44263":44264,"_44265":44266,"_44267":44268,"_44269":44270,"_44271":44272,"_44273":44274,"_44275":44276,"_44277":44278,"_44279":44280,"_44281":44282,"_44283":44284,"_44285":44286,"_44287":44288,"_44289":44290,"_44291":44292,"_44293":44294,"_44295":44296,"_44297":44298,"_44299":44300,"_44301":44302,"_44303":44304,"_44305":44306,"_44307":44308,"_44309":44310,"_44311":44312,"_44313":44314,"_44315":44316,"_44317":44318,"_44319":44320,"_44321":44322,"_44323":44324,"_44325":44326,"_44327":44328,"_44329":44330,"_44331":44332,"_44333":44334,"_44335":44336,"_44337":44338,"_44339":44340,"_44341":44342,"_44343":44344,"_44345":44346,"_44347":44348,"_44349":44350,"_44351":44352,"_44353":44354,"_44355":44356,"_44357":44358,"_44359":44360,"_44361":44362,"_44363":44364,"_44365":44366,"_44367":44368,"_44369":44370,"_44371":44372,"_44373":44374,"_44375":44376,"_44377":44378,"_44379":44380,"_44381":44382,"_44383":44384,"_44385":44386,"_44387":44388,"_44389":44390,"_44391":44392,"_44393":44394,"_44395":44396,"_44397":44398,"_44399":44400,"_44401":44402,"_44403":44404,"_44405":44406,"_44407":44408,"_44409":44410,"_44411":44412,"_44413":44414,"_44415":44416,"_44417":44418,"_44419":44420,"_44421":44422,"_44423":44424,"_44425":44426,"_44427":44428,"_44429":44430,"_44431":44432,"_44433":44434,"_44435":44436,"_44437":44438,"_44439":44440,"_44441":44442,"_44443":44444,"_44445":44446,"_44447":44448,"_44449":44450,"_44451":44452,"_44453":44454,"_44455":44456,"_44457":44458,"_44459":44460,"_44461":44462,"_44463":44464,"_44465":44466,"_44467":44468,"_44469":44470,"_44471":44472,"_44473":44474,"_44475":44476,"_44477":44478,"_44479":44480,"_44481":44482,"_44483":44484,"_44485":44486,"_44487":44488,"_44489":44490,"_44491":44492,"_44493":44494,"_44495":44496,"_44497":44498,"_44499":44500,"_44501":44502,"_44503":44504,"_44505":44506,"_44507":44508,"_44509":44510,"_44511":44512,"_44513":44514,"_44515":44516,"_44517":44518,"_44519":44520,"_44521":44522,"_44523":44524,"_44525":44526,"_44527":44528,"_44529":44530,"_44531":44532,"_44533":44534,"_44535":44536,"_44537":44538,"_44539":44540,"_44541":44542,"_44543":44544,"_44545":44546,"_44547":44548,"_44549":44550,"_44551":44552,"_44553":44554,"_44555":44556,"_44557":44558,"_44559":44560,"_16417":44561,"_44562":44563,"_44564":44565,"_44566":44567,"_44568":44569,"_44570":44571,"_44572":44573,"_44574":44575,"_44576":44577,"_44578":44579,"_44580":44581,"_44582":44583,"_44584":44585,"_44586":44587,"_44588":44589,"_16490":44590,"_44591":44592,"_44593":44594,"_44595":44596,"_44597":44598,"_44599":44600,"_44601":44602,"_44603":44604,"_44605":44606,"_44607":44608,"_44609":44610,"_44611":44612,"_44613":44614,"_44615":44616,"_44617":44618,"_44619":44620,"_44621":44622,"_44623":44624,"_44625":44626,"_44627":44628,"_44629":44630,"_44631":44632,"_44633":44634,"_44635":44636,"_44637":44638,"_44639":44640,"_44641":44642,"_44643":44644,"_44645":44646,"_44647":44648,"_44649":44650,"_44651":44652,"_44653":44654,"_44655":44656,"_44657":44658,"_44659":44660,"_44661":44662,"_44663":44664,"_44665":44666,"_44667":44668,"_44669":44670,"_44671":44672,"_44673":44674,"_44675":44676,"_44677":44678,"_44679":44680,"_44681":44682,"_44683":44684,"_44685":44686,"_44687":44688,"_44689":44690,"_44691":44692,"_44693":44694,"_44695":44696,"_44697":44698,"_44699":44700,"_44701":44702,"_44703":44704,"_44705":44706,"_44707":44708,"_44709":44710,"_44711":44712,"_44713":44714,"_44715":44716,"_44717":44718,"_44719":44720,"_44721":44722,"_44723":44724,"_44725":44726,"_44727":44728,"_44729":44730,"_44731":44732,"_44733":44734,"_44735":44736,"_44737":44738,"_44739":44740,"_36662":44741,"_44742":44743,"_44744":44745,"_44746":44747,"_44748":44749,"_44750":44751,"_44752":44753,"_44754":44755,"_44756":44757,"_37339":44758,"_44759":44760,"_44761":44762,"_44763":44764,"_44765":44766,"_44767":44768,"_44769":44770,"_44771":44772,"_37329":44773,"_44774":44775,"_44776":44777,"_44778":44779,"_37349":44780,"_44781":44782,"_44783":44784,"_37365":44785,"_44786":44787,"_44788":44789,"_37354":44790,"_44791":44792,"_44793":44794,"_44795":44796,"_44797":44798,"_44799":44800,"_44801":44802,"_44803":44804,"_44805":44806,"_44807":44808,"_44809":44810,"_44811":44812,"_44813":44814,"_44815":44816,"_44817":44818,"_44819":44820,"_44821":44822,"_44823":44824,"_44825":44826,"_44827":44828,"_44829":44830,"_44831":44832,"_44833":44834,"_44835":44836,"_44837":44838,"_44839":44840,"_44841":44842,"_44843":44844,"_44845":44846,"_44847":44848,"_16496":44849,"_44850":44851,"_44852":44853,"_44854":44855,"_44856":44857,"_44858":44859,"_44860":44861,"_44862":44863,"_44864":44865,"_44866":44867,"_44868":44869,"_44870":44871,"_44872":44873,"_44874":44875,"_44876":44877,"_44878":44879,"_44880":44881,"_44882":44883,"_44884":44885,"_44886":44887,"_44888":44889,"_44890":44891,"_44892":44893,"_44894":44895,"_44896":44897,"_44898":44899,"_44900":44901,"_44902":44903,"_44904":44905,"_44906":44907,"_44908":44909,"_44910":44911,"_44912":44913,"_44914":44915,"_44916":44917,"_44918":44919,"_44920":44921,"_44922":44923,"_44924":44925,"_44926":44927,"_44928":44929,"_44930":44931,"_44932":44933,"_44934":44935,"_44936":44937,"_44938":44939,"_44940":44941,"_44942":44943,"_44944":44945,"_44946":44947,"_44948":44949,"_44950":44951,"_44952":44953,"_44954":44955,"_44956":44957,"_44958":44959,"_44960":44961,"_44962":44963,"_44964":44965,"_44966":44967,"_44968":44969,"_44970":44971,"_44972":44973,"_44974":44975,"_44976":44977,"_44978":44979,"_44980":44981,"_44982":44983,"_44984":44985,"_44986":44987,"_44988":44989,"_44990":44991,"_44992":44993,"_44994":44995,"_44996":44997,"_44998":44999,"_45000":45001,"_45002":45003,"_45004":45005,"_45006":45007,"_45008":45009,"_45010":45011,"_45012":45013,"_45014":45015,"_45016":45017,"_45018":45019,"_45020":45021,"_45022":45023,"_45024":45025,"_45026":45027,"_45028":45029,"_45030":45031,"_45032":45033,"_45034":45035,"_45036":45037,"_45038":45039,"_45040":45041,"_45042":45043,"_45044":45045,"_45046":45047,"_45048":45049,"_45050":45051,"_45052":45053,"_45054":45055,"_45056":45057,"_45058":45059,"_45060":45061,"_45062":45063,"_45064":45065,"_45066":45067,"_45068":45069,"_45070":45071,"_45072":45073,"_45074":45075,"_45076":45077,"_45078":45079,"_45080":45081,"_45082":45083,"_45084":45085,"_45086":45087,"_45088":45089,"_45090":45091,"_45092":45093,"_45094":45095,"_45096":45097,"_45098":45099,"_45100":45101,"_45102":45103,"_45104":45105,"_45106":45107,"_45108":45109,"_45110":45111,"_45112":45113,"_37455":45114,"_45115":45116,"_45117":45118,"_45119":45120,"_45121":45122,"_45123":45124,"_45125":45126,"_45127":45128,"_45129":45130,"_45131":45132,"_45133":45134,"_45135":45136,"_45137":45138,"_45139":45140},{"_3010":3013},{"_5783":40784,"_6912":40784,"_7535":40784,"_8761":40784,"_2225":40784,"_11263":40784,"_13234":40784,"_16556":40784,"_18134":40784,"_20077":40784,"_21557":40784,"_3":40784,"_23347":40784,"_13288":40784,"_25015":40784,"_20680":40784,"_28362":40784,"_3399":40784,"_21660":40784},0.05263157894736842,{"_20077":3013},{"_6011":40787,"_3":40787,"_23347":40787,"_13288":40787},0.25,{"_23778":40787,"_14792":40787,"_13288":40787,"_28389":40787},{"_25015":3013},{"_20680":3013},{"_28362":3013},{"_21660":3013},{"_20886":40794,"_18154":40794},0.5,{"_28707":40796,"_28467":40796,"_21976":40796,"_20077":40796,"_3132":40796,"_8820":40796,"_7535":40796,"_2225":40796,"_11263":40796,"_13234":40796,"_29490":40796,"_30253":40796,"_21124":40796,"_20131":40796,"_3749":40796,"_6069":40796,"_22216":40796,"_7716":40796},0.05555555555555555,{"_22216":40798,"_11263":40798,"_3":40798,"_23347":40798,"_13576":40798,"_7841":40798,"_31369":40798,"_3765":40798,"_2225":40798,"_18963":40798,"_14474":40798,"_6069":40798,"_12931":40798,"_25462":40798,"_8794":40798,"_19161":40798,"_25936":40798,"_32088":40798,"_22223":40798,"_26686":40798,"_3399":40798,"_21683":40798,"_14792":40798,"_3925":40798,"_15368":40798,"_20120":40798,"_5697":40798,"_4195":40798,"_21678":40798,"_6165":40798,"_31394":40798,"_7013":40798,"_28954":40798,"_15546":40798,"_13165":40798,"_4455":40798,"_31481":40798,"_20131":40798,"_31557":40798,"_7846":40798,"_33711":40798,"_7825":40798,"_3132":40798,"_15626":40798,"_7535":40798,"_8095":40798,"_21688":40798,"_24592":40798,"_26693":40798,"_20125":40798,"_13625":40798,"_4205":40798,"_16586":40798,"_6214":40798,"_22233":40798,"_26763":40798,"_33716":40798,"_22281":40798,"_7768":40798,"_7485":40798,"_28997":40798,"_18556":40798},0.016129032258064516,{"_2225":40800,"_11263":40800,"_12628":40800,"_31481":40800,"_15800":40800,"_9011":40800,"_6214":40800,"_26698":40800,"_3399":40800,"_14792":40800,"_7841":40800,"_31394":40800,"_34412":40800,"_22216":40800,"_23795":40800,"_13755":40800,"_26125":40800,"_4718":40800,"_30373":40800,"_22306":40800,"_3132":40800,"_9120":40800,"_6069":40800,"_5803":40800,"_32456":40800,"_25936":40800,"_32139":40800,"_23383":40800,"_22233":40800,"_8831":40800,"_20146":40800,"_22223":40800,"_20125":40800,"_23373":40800,"_8204":40800,"_16710":40800,"_5697":40800,"_30656":40800,"_7535":40800,"_32535":40800},0.025,{"_22216":40802,"_19493":40802,"_34536":40802,"_17638":40802,"_2225":40802,"_26933":40802,"_9449":40802,"_19614":40802,"_22291":40802,"_3025":40802,"_15794":40802,"_10492":40802,"_4322":40802,"_24672":40802,"_13576":40802,"_23860":40802,"_3997":40802,"_15849":40802,"_13893":40802,"_3833":40802,"_33120":40802},0.047619047619047616,{"_11313":40804,"_7485":40804,"_22216":40804,"_7716":40804,"_32535":40804,"_28997":40804,"_14218":40804,"_26698":40804,"_3399":40804,"_22250":40804,"_14562":40804,"_28405":40804,"_3765":40804,"_9460":40804,"_6246":40804,"_23961":40804,"_35135":40804,"_6069":40804,"_27148":40804,"_22662":40804,"_20131":40804,"_7036":40804,"_22281":40804,"_4554":40804,"_15800":40804,"_8820":40804,"_22306":40804,"_18165":40804,"_30661":40804,"_34566":40804,"_32476":40804,"_2225":40804,"_9553":40804,"_14792":40804,"_29601":40804,"_30424":40804,"_14605":40804,"_15794":40804,"_8755":40804,"_3925":40804,"_15701":40804,"_35702":40804,"_3997":40804,"_11263":40804,"_12628":40804,"_15717":40804,"_5697":40804,"_13283":40804,"_7019":40804,"_23274":40804},0.02,{"_11411":40806,"_11313":40806,"_11353":40806,"_4735":40806,"_19504":40806,"_6069":40806,"_22216":40806,"_26698":40806,"_3399":40806,"_14562":40806,"_21678":40806,"_28405":40806,"_31630":40806,"_16834":40806,"_7485":40806,"_12720":40806,"_15794":40806,"_20131":40806,"_3095":40806,"_35370":40806,"_7716":40806,"_13755":40806,"_19244":40806,"_4718":40806,"_26736":40806,"_19499":40806,"_7535":40806,"_20718":40806,"_3997":40806,"_22306":40806,"_26125":40806,"_6":40806},0.03125,{"_26125":40808,"_22216":40808,"_26175":40808,"_3997":40808,"_28362":40808,"_7485":40808,"_22306":40808,"_24677":40808,"_8144":40808,"_3132":40808,"_32574":40808,"_22291":40808,"_30253":40808,"_31481":40808,"_26249":40808,"_2225":40808,"_10985":40808,"_7825":40808,"_4200":40808,"_34412":40808,"_17096":40808,"_28389":40808,"_8293":40808,"_27350":40808,"_13755":40808,"_9888":40808,"_21567":40808,"_13729":40808,"_36290":40808,"_18165":40808,"_3074":40808,"_32535":40808,"_6069":40808},0.030303030303030304,{"_30253":40810,"_31481":40810,"_31635":40810,"_5697":40810,"_29630":40810,"_2225":40810,"_25021":40810,"_18190":40810,"_22291":40810,"_20156":40810,"_33129":40810,"_6069":40810,"_30258":40810,"_11263":40810,"_12628":40810,"_18200":40810,"_35768":40810,"_22216":40810,"_12948":40810,"_3132":40810,"_24091":40810,"_20131":40810,"_8358":40810,"_8403":40810,"_20931":40810,"_8144":40810,"_27200":40810,"_20773":40810,"_32819":40810,"_17877":40810,"_3074":40810,"_33211":40810,"_6177":40810,"_15799":40810,"_9600":40810,"_8204":40810,"_3925":40810,"_25936":40810,"_13234":40810,"_29839":40810,"_9937":40810,"_22306":40810,"_20946":40810,"_31374":40810,"_20125":40810,"_7118":40810,"_31439":40810,"_25752":40810,"_4968":40810,"_3399":40810,"_8858":40810,"_3195":40810,"_26357":40810,"_29993":40810,"_8365":40810,"_6018":40810,"_9228":40810,"_4742":40810,"_10020":40810,"_32088":40810,"_2214":40810,"_3017":40810,"_3642":40810,"_20180":40810,"_16865":40810},0.015384615384615385,{"_29635":40812,"_2225":40812,"_25021":40812,"_18190":40812,"_25132":40812,"_3925":40812,"_23285":40812,"_3020":40812,"_27479":40812,"_3672":40812,"_5879":40812,"_7535":40812,"_3765":40812,"_4592":40812,"_5318":40812,"_17851":40812,"_7019":40812,"_5697":40812,"_30253":40812,"_31369":40812,"_3659":40812,"_31861":40812,"_7875":40812,"_10492":40812,"_22223":40812,"_3307":40812,"_22693":40812,"_32544":40812,"_20146":40812,"_30258":40812,"_11263":40812,"_12628":40812,"_32120":40812,"_22291":40812,"_17877":40812,"_22216":40812,"_24751":40812,"_32819":40812,"_5374":40812,"_8144":40812,"_31481":40812,"_4742":40812,"_20131":40812,"_9228":40812,"_3399":40812,"_36378":40812,"_10020":40812,"_13234":40812},0.020833333333333332,{"_8144":40800,"_3132":40800,"_4592":40800,"_9652":40800,"_5697":40800,"_13775":40800,"_22216":40800,"_11263":40800,"_12628":40800,"_18190":40800,"_21987":40800,"_3399":40800,"_24602":40800,"_16221":40800,"_30013":40800,"_17877":40800,"_3074":40800,"_6384":40800,"_6177":40800,"_22306":40800,"_5038":40800,"_8794":40800,"_29033":40800,"_35768":40800,"_31486":40800,"_7716":40800,"_3833":40800,"_3997":40800,"_28727":40800,"_31513":40800,"_9207":40800,"_12958":40800,"_8589":40800,"_16105":40800,"_27543":40800,"_22291":40800,"_6806":40800,"_26242":40800,"_22223":40800,"_5879":40800},{"_22216":40815,"_11263":40815,"_25941":40815,"_15794":40815,"_20131":40815,"_20686":40815,"_7485":40815,"_3659":40815,"_6069":40815,"_22347":40815,"_18788":40815,"_4603":40815},0.08333333333333333,{"_11353":40817,"_22216":40817,"_14682":40817,"_6707":40817,"_22387":40817,"_10492":40817,"_6069":40817,"_29149":40817,"_31875":40817},0.1111111111111111,"23",{"_31486":40794,"_35813":40794},{"_34412":40821,"_22216":40821,"_12958":40821,"_8589":40821,"_25558":40821,"_14682":40821},0.16666666666666666,{"_6884":40823,"_11346":40823,"_11263":40823,"_34433":40823,"_27713":40823,"_12720":40823,"_3925":40823,"_16221":40823,"_28362":40823,"_17125":40823,"_8794":40823,"_23795":40823,"_3132":40823,"_27251":40823,"_31486":40823,"_28389":40823,"_22216":40823,"_30671":40823,"_30822":40823,"_30253":40823,"_15794":40823,"_10492":40823,"_3642":40823,"_3672":40823,"_25057":40823,"_8233":40823,"_6069":40823,"_30258":40823,"_15449":40823},0.034482758620689655,{"_22216":40825,"_11263":40825,"_23795":40825,"_28389":40825,"_36290":40825,"_7825":40825,"_9300":40825,"_7485":40825,"_13729":40825,"_23347":40825,"_8841":40825,"_22291":40825,"_33237":40825,"_20131":40825,"_31885":40825,"_8204":40825,"_31369":40825,"_3132":40825,"_8755":40825,"_3020":40825,"_5061":40825,"_13311":40825},0.045454545454545456,{"_7535":40827,"_20718":40827,"_17163":40827,"_5385":40827,"_27713":40827,"_26125":40827,"_16221":40827,"_20180":40827},0.125,{"_7535":40829,"_20718":40829,"_17163":40829,"_5385":40829,"_28389":40829,"_26125":40829,"_31986":40829},0.14285714285714285,{"_12628":40810,"_15800":40810,"_14833":40810,"_7019":40810,"_30435":40810,"_6069":40810,"_7825":40810,"_14610":40810,"_2225":40810,"_21246":40810,"_20131":40810,"_3145":40810,"_5697":40810,"_10041":40810,"_16221":40810,"_13121":40810,"_3399":40810,"_8358":40810,"_6450":40810,"_26763":40810,"_7485":40810,"_22216":40810,"_21678":40810,"_28405":40810,"_11263":40810,"_30253":40810,"_31481":40810,"_26125":40810,"_17888":40810,"_3997":40810,"_28491":40810,"_25132":40810,"_15925":40810,"_20270":40810,"_20952":40810,"_4455":40810,"_3672":40810,"_25966":40810,"_30258":40810,"_32088":40810,"_3765":40810,"_31885":40810,"_10492":40810,"_25512":40810,"_14682":40810,"_6707":40810,"_17877":40810,"_22255":40810,"_7123":40810,"_29998":40810,"_5473":40810,"_29630":40810,"_35326":40810,"_22291":40810,"_15794":40810,"_7118":40810,"_5504":40810,"_13283":40810,"_14599":40810,"_12812":40810,"_7841":40810,"_23206":40810,"_35289":40810,"_23223":40810,"_9222":40810},{"_11411":40832,"_11313":40832,"_11320":40832,"_33711":40832,"_7485":40832,"_22216":40832,"_7716":40832,"_5879":40832,"_3765":40832,"_34439":40832,"_5697":40832,"_13775":40832,"_20886":40832},0.07692307692307693,{"_8794":40834,"_23795":40834,"_11263":40834,"_12628":40834,"_32631":40834,"_34444":40834,"_20886":40834,"_34412":40834,"_22216":40834,"_3048":40834,"_3399":40834,"_7784":40834,"_29149":40834,"_31875":40834,"_16886":40834},0.06666666666666667,{"_11411":40836,"_11313":40836,"_11320":40836,"_27021":40836,"_30253":40836,"_15794":40836,"_13775":40836,"_2225":40836,"_23383":40836,"_20886":40836,"_4856":40836,"_22291":40836,"_32651":40836,"_5697":40836,"_30258":40836,"_8444":40836,"_7869":40836},0.058823529411764705,{"_11411":40832,"_11313":40832,"_11320":40832,"_27021":40832,"_11263":40832,"_30970":40832,"_19294":40832,"_30839":40832,"_3074":40832,"_17019":40832,"_31486":40832,"_18266":40832,"_11116":40832},{"_18275":40832,"_13316":40832,"_26242":40832,"_5697":40832,"_6270":40832,"_4356":40832,"_11263":40832,"_20886":40832,"_18266":40832,"_18274":40832,"_32156":40832,"_11116":40832,"_32661":40832},{"_11411":40802,"_11313":40802,"_11375":40802,"_18275":40802,"_30154":40802,"_33711":40802,"_7485":40802,"_18266":40802,"_11116":40802,"_32661":40802,"_31481":40802,"_25609":40802,"_2225":40802,"_35836":40802,"_12628":40802,"_3399":40802,"_28787":40802,"_22306":40802,"_3228":40802,"_23795":40802,"_3132":40802},{"_36779":40841,"_18275":40841,"_30159":40841,"_18266":40841,"_11116":40841,"_32661":40841,"_31481":40841,"_25609":40841,"_2225":40841,"_35836":40841,"_12628":40841,"_3399":40841,"_30980":40841,"_5697":40841,"_22306":40841,"_6707":40841,"_8144":40841,"_23804":40841,"_21644":40841,"_19647":40841,"_20131":40841,"_30149":40841,"_29499":40841,"_30164":40841,"_20886":40841},0.04,{"_18275":40784,"_32671":40784,"_17877":40784,"_22306":40784,"_18305":40784,"_3132":40784,"_26242":40784,"_5697":40784,"_21858":40784,"_18266":40784,"_11116":40784,"_31481":40784,"_32646":40784,"_34444":40784,"_20886":40784,"_5385":40784,"_22216":40784,"_35768":40784,"_23795":40784},{"_6884":40844,"_11313":40844,"_11346":40844,"_18275":40844,"_34194":40844,"_33711":40844,"_7485":40844,"_6473":40844,"_6069":40844,"_31895":40844,"_22357":40844,"_7535":40844,"_10254":40844,"_18266":40844,"_25212":40844,"_20886":40844,"_23795":40844,"_35135":40844,"_3132":40844,"_17877":40844,"_22216":40844,"_10565":40844,"_22281":40844,"_20067":40844,"_22352":40844,"_31481":40844,"_20131":40844,"_34439":40844},0.03571428571428571,{"_6884":40802,"_11313":40802,"_11346":40802,"_36144":40802,"_18275":40802,"_20302":40802,"_33711":40802,"_7485":40802,"_22216":40802,"_20297":40802,"_12580":40802,"_27051":40802,"_7535":40802,"_18266":40802,"_25212":40802,"_20886":40802,"_10254":40802,"_21547":40802,"_23795":40802,"_35135":40802,"_3132":40802},{"_6884":40784,"_11313":40784,"_11346":40784,"_18275":40784,"_31905":40784,"_33711":40784,"_7485":40784,"_22216":40784,"_16250":40784,"_21436":40784,"_7535":40784,"_18266":40784,"_31895":40784,"_22357":40784,"_27205":40784,"_23795":40784,"_35135":40784,"_3132":40784,"_36583":40784},"41",{"_30446":40794,"_18915":40794},"42",{"_9652":40825,"_30446":40825,"_18915":40825,"_3399":40825,"_14706":40825,"_19789":40825,"_5697":40825,"_5331":40825,"_31394":40825,"_24249":40825,"_13785":40825,"_11263":40825,"_15171":40825,"_12628":40825,"_28802":40825,"_21678":40825,"_14792":40825,"_19867":40825,"_35859":40825,"_30013":40825,"_27061":40825,"_20718":40825},"43",{"_22316":40853,"_5697":40853,"_5331":40853},0.3333333333333333,"44",{"_30446":40794,"_18915":40794},{"_30078":40815,"_3765":40815,"_26763":40815,"_14706":40815,"_18388":40815,"_30253":40815,"_15794":40815,"_5331":40815,"_8794":40815,"_13785":40815,"_11263":40815,"_14582":40815},"46",{"_16608":40859,"_28802":40859,"_6069":40859,"_25966":40859,"_22216":40859,"_28777":40859,"_11263":40859,"_34439":40859,"_8794":40859,"_13350":40859,"_21124":40859,"_20482":40859,"_22291":40859,"_33129":40859,"_12628":40859,"_29601":40859,"_22316":40859,"_31880":40859,"_6493":40859,"_17877":40859,"_12541":40859,"_3132":40859,"_2225":40859,"_25254":40859,"_10133":40859,"_30822":40859,"_31481":40859,"_10138":40859,"_4953":40859,"_25778":40859,"_29630":40859,"_3765":40859,"_7485":40859,"_23383":40859,"_13243":40859,"_4592":40859,"_13755":40859,"_7825":40859,"_27148":40859,"_20131":40859,"_13955":40859,"_31486":40859,"_3659":40859,"_3671":40859},0.022727272727272728,{"_16624":40861,"_19867":40861,"_6069":40861,"_21678":40861,"_14792":40861,"_22216":40861,"_4692":40861,"_18995":40861,"_15733":40861,"_19146":40861,"_11263":40861,"_3132":40861,"_27839":40861,"_21688":40861,"_5697":40861,"_20983":40861,"_30461":40861,"_8144":40861,"_9476":40861,"_2225":40861,"_9130":40861,"_24342":40861,"_24357":40861,"_26379":40861,"_13955":40861,"_7123":40861,"_19524":40861,"_3997":40861,"_30854":40861,"_31481":40861,"_3119":40861,"_5488":40861,"_17877":40861,"_30253":40861,"_6047":40861,"_29630":40861,"_3659":40861,"_25472":40861,"_14241":40861,"_26742":40861,"_4593":40861,"_22291":40861,"_26686":40861,"_7841":40861,"_3765":40861,"_7230":40861,"_10565":40861,"_6119":40861,"_24751":40861,"_15800":40861,"_33247":40861,"_18382":40861,"_30822":40861,"_20275":40861,"_20718":40861,"_9337":40861,"_5318":40861,"_7535":40861},0.017241379310344827,"48",{"_16624":40864,"_35859":40864,"_30013":40864,"_27051":40864,"_30253":40864,"_27148":40864,"_21588":40864,"_27992":40864,"_15937":40864,"_5697":40864,"_26242":40864,"_30258":40864,"_20297":40864,"_14582":40864,"_7485":40864,"_19161":40864,"_15800":40864,"_12805":40864,"_2225":40864,"_27071":40864,"_31369":40864,"_11263":40864,"_28184":40864,"_23419":40864,"_22216":40864,"_3132":40864,"_24408":40864,"_32461":40864,"_6306":40864,"_4593":40864,"_17877":40864,"_18210":40864,"_3659":40864,"_8851":40864,"_4455":40864,"_3672":40864,"_32393":40864,"_8858":40864,"_31481":40864,"_18404":40864,"_24662":40864,"_27355":40864,"_24771":40864,"_28179":40864,"_20131":40864,"_14006":40864,"_33354":40864,"_29630":40864,"_36020":40864,"_6069":40864,"_11068":40864,"_36793":40864,"_3020":40864,"_32471":40864,"_7535":40864,"_32535":40864,"_8144":40864,"_20718":40864,"_28717":40864,"_31861":40864,"_10492":40864,"_35564":40864,"_20234":40864,"_3925":40864,"_5796":40864,"_7869":40864,"_3399":40864,"_9181":40864,"_4592":40864,"_33743":40864,"_17103":40864,"_30446":40864,"_6047":40864,"_9646":40864,"_18910":40864,"_33359":40864,"_33748":40864,"_8755":40864,"_24729":40864,"_22017":40864,"_22260":40864,"_20270":40864,"_20952":40864,"_3765":40864,"_32003":40864,"_30373":40864,"_34496":40864,"_8895":40864,"_22291":40864,"_15976":40864},0.011111111111111112,{"_19550":40866,"_5061":40866,"_24254":40866,"_2225":40866,"_11263":40866,"_32088":40866,"_3132":40866,"_32574":40866,"_5697":40866,"_5813":40866,"_7485":40866,"_21868":40866,"_14857":40866,"_32139":40866,"_8144":40866,"_22455":40866,"_9652":40866,"_24249":40866,"_30471":40866,"_7903":40866},0.05,{"_7535":40815,"_30446":40815,"_9395":40815,"_21588":40815,"_33882":40815,"_6069":40815,"_22216":40815,"_7716":40815,"_28777":40815,"_7123":40815,"_11263":40815,"_18915":40815},{"_7535":40841,"_21149":40841,"_16722":40841,"_26125":40841,"_22216":40841,"_26175":40841,"_23865":40841,"_11263":40841,"_15471":40841,"_25052":40841,"_22306":40841,"_15794":40841,"_20131":40841,"_23503":40841,"_34444":40841,"_31394":40841,"_24249":40841,"_20190":40841,"_4249":40841,"_25946":40841,"_16896":40841,"_5697":40841,"_2225":40841,"_27026":40841,"_13234":40841},{"_14688":3013},{"_10462":40871,"_7535":40871,"_11291":40871,"_30868":40871,"_14688":40871,"_22216":40871,"_7793":40871,"_31875":40871,"_17554":40871,"_35370":40871,"_22105":40871,"_3020":40871,"_29048":40871,"_3399":40871,"_30170":40871,"_3048":40871,"_16886":40871,"_31486":40871,"_16221":40871,"_32200":40871,"_28210":40871,"_22855":40871,"_13755":40871},0.043478260869565216,"54",{"_22216":40787,"_7784":40787,"_29149":40787,"_31875":40787},"55",{"_22216":40794,"_3048":40794},"56",{"_13785":40878,"_3048":40878,"_7535":40878,"_28210":40878,"_22855":40878},0.2,"57",{"_11263":40881,"_9191":40881,"_5697":40881,"_2225":40881,"_27484":40881,"_26242":40881,"_6069":40881,"_14688":40881,"_33129":40881,"_14682":40881,"_3132":40881,"_14898":40881,"_7784":40881,"_29154":40881,"_30253":40881,"_17546":40881,"_22216":40881,"_35370":40881,"_22105":40881,"_3020":40881,"_29048":40881,"_4975":40881,"_12541":40881,"_6707":40881},0.041666666666666664,{"_22347":40841,"_6069":40841,"_22216":40841,"_20718":40841,"_16911":40841,"_14688":40841,"_25512":40841,"_7396":40841,"_26763":40841,"_7255":40841,"_17163":40841,"_5385":40841,"_12628":40841,"_3399":40841,"_14157":40841,"_13350":40841,"_31374":40841,"_28251":40841,"_13934":40841,"_7391":40841,"_32880":40841,"_23860":40841,"_3997":40841,"_14173":40841,"_9207":40841},{"_11313":40808,"_11327":40808,"_33711":40808,"_7485":40808,"_7784":40808,"_29149":40808,"_31875":40808,"_33743":40808,"_5697":40808,"_20131":40808,"_32688":40808,"_31379":40808,"_28797":40808,"_30461":40808,"_34412":40808,"_19922":40808,"_10457":40808,"_36030":40808,"_14688":40808,"_31384":40808,"_24151":40808,"_13234":40808,"_13755":40808,"_26175":40808,"_7535":40808,"_23860":40808,"_20742":40808,"_7571":40808,"_31481":40808,"_24281":40808,"_10492":40808,"_3048":40808,"_16763":40808},{"_11411":40885,"_11313":40885,"_13729":40885,"_33711":40885,"_7485":40885,"_18815":40885,"_23860":40885,"_5385":40885,"_25936":40885,"_13755":40885},0.1,"61",{"_11411":40888,"_11313":40888,"_13934":40888,"_33711":40888,"_7485":40888,"_28777":40888,"_8106":40888,"_14167":40888,"_26394":40888,"_23860":40888,"_7535":40888,"_4455":40888,"_13350":40888,"_14157":40888,"_5697":40888,"_22306":40888,"_12628":40888,"_16566":40888,"_17163":40888,"_3997":40888,"_34203":40888,"_6069":40888,"_19318":40888,"_9575":40888,"_26490":40888,"_5302":40888,"_5775":40888,"_29053":40888,"_28997":40888,"_19007":40888,"_33120":40888},0.03225806451612903,"62",{"_11411":40815,"_11313":40815,"_15739":40815,"_33711":40815,"_7485":40815,"_4808":40815,"_14167":40815,"_26394":40815,"_25568":40815,"_7535":40815,"_4455":40815,"_14173":40815},"63",{"_24602":40827,"_28802":40827,"_22216":40827,"_6395":40827,"_26401":40827,"_3399":40827,"_33422":40827,"_33974":40827},{"_32134":40821,"_18815":40821,"_23860":40821,"_5385":40821,"_25936":40821,"_32139":40821},"65",{"_8781":40896,"_22017":40896,"_17877":40896,"_22216":40896,"_12628":40896,"_3132":40896,"_8761":40896,"_7485":40896,"_2225":40896,"_34028":40896,"_13165":40896,"_31394":40896,"_31384":40896,"_32170":40896,"_31481":40896,"_9186":40896,"_31486":40896,"_17794":40896,"_8144":40896,"_6252":40896,"_15800":40896,"_4975":40896,"_4455":40896,"_23440":40896,"_9191":40896,"_32964":40896,"_30435":40896,"_9130":40896,"_6069":40896,"_24751":40896,"_33769":40896,"_17229":40896,"_22291":40896,"_29601":40896,"_35738":40896,"_13582":40896,"_3307":40896,"_18190":40896,"_4968":40896,"_3399":40896,"_31055":40896,"_5697":40896,"_28017":40896,"_12541":40896,"_6707":40896,"_10492":40896,"_25512":40896,"_7535":40896,"_23860":40896,"_3997":40896,"_31601":40896,"_14167":40896,"_17163":40896},0.018867924528301886,"66",{"_28256":40787,"_4808":40787,"_12628":40787,"_25568":40787},"67",{"_11411":40901,"_11313":40901,"_28251":40901,"_33711":40901,"_7485":40901,"_28802":40901,"_8106":40901,"_23860":40901,"_7535":40901,"_22216":40901,"_12628":40901},0.09090909090909091,"68",{"_25512":40885,"_28802":40885,"_31159":40885,"_23860":40885,"_7535":40885,"_22216":40885,"_12628":40885,"_3399":40885,"_14157":40885,"_13350":40885},"69",{"_11411":40832,"_11313":40832,"_32054":40832,"_33711":40832,"_7485":40832,"_28802":40832,"_31159":40832,"_17163":40832,"_3997":40832,"_9044":40832,"_7535":40832,"_22216":40832,"_12628":40832},"70",{"_11411":40908,"_11313":40908,"_32059":40908,"_33711":40908,"_7485":40908,"_28802":40908,"_23870":40908,"_17163":40908,"_3997":40908,"_9044":40908,"_7535":40908,"_22216":40908,"_12628":40908,"_8794":40908,"_26394":40908,"_22306":40908,"_6419":40908,"_2225":40908,"_28777":40908,"_6069":40908,"_26401":40908,"_14173":40908,"_31486":40908,"_3978":40908,"_19332":40908,"_33882":40908,"_24296":40908,"_6473":40908,"_5775":40908,"_20125":40908,"_20131":40908,"_32589":40908,"_9507":40908,"_17706":40908,"_18995":40908,"_10492":40908,"_8144":40908,"_15947":40908},0.02631578947368421,"71",{"_6884":40911,"_11313":40911,"_11327":40911,"_23362":40911,"_33711":40911,"_7485":40911,"_27164":40911,"_22216":40911,"_22496":40911,"_27051":40911,"_6069":40911,"_26686":40911,"_3399":40911,"_14792":40911,"_7841":40911,"_30626":40911},0.0625,"72",{"_11411":40908,"_11313":40908,"_32064":40908,"_33711":40908,"_7485":40908,"_28802":40908,"_23870":40908,"_17163":40908,"_3997":40908,"_9044":40908,"_7535":40908,"_22216":40908,"_12628":40908,"_8794":40908,"_6363":40908,"_22306":40908,"_6419":40908,"_2225":40908,"_28777":40908,"_6069":40908,"_19332":40908,"_12931":40908,"_31486":40908,"_3978":40908,"_26401":40908,"_33882":40908,"_24296":40908,"_6473":40908,"_5775":40908,"_20125":40908,"_20131":40908,"_32589":40908,"_9507":40908,"_17706":40908,"_18995":40908,"_10492":40908,"_8144":40908,"_15947":40908},"73",{"_11411":40866,"_11313":40866,"_11353":40866,"_21447":40866,"_33711":40866,"_7485":40866,"_6419":40866,"_2225":40866,"_28777":40866,"_6069":40866,"_35205":40866,"_22291":40866,"_14523":40866,"_20131":40866,"_34439":40866,"_7535":40866,"_20680":40866,"_22216":40866,"_29998":40866,"_13234":40866},{"_22216":40917,"_6412":40917,"_3132":40917,"_14926":40917,"_31486":40917,"_35859":40917,"_18311":40917,"_7603":40917,"_3399":40917,"_2209":40917,"_20125":40917,"_15363":40917,"_6499":40917,"_8771":40917,"_33711":40917,"_36871":40917,"_3252":40917,"_30258":40917,"_27543":40917,"_27148":40917,"_32569":40917,"_15368":40917,"_5529":40917,"_26763":40917,"_6069":40917,"_3765":40917,"_19882":40917,"_13266":40917,"_6047":40917,"_32666":40917,"_8794":40917,"_8414":40917,"_13576":40917,"_21199":40917,"_6928":40917,"_7716":40917},0.027777777777777776,"75",{"_11411":40802,"_11313":40802,"_11353":40802,"_17568":40802,"_33711":40802,"_7485":40802,"_22017":40802,"_17877":40802,"_12628":40802,"_3132":40802,"_8761":40802,"_10051":40802,"_10097":40802,"_22216":40802,"_31481":40802,"_9186":40802,"_31486":40802,"_4293":40802,"_3020":40802,"_11184":40802,"_15800":40802},{"_11411":40911,"_11313":40911,"_11320":40911,"_3325":40911,"_33711":40911,"_7485":40911,"_9470":40911,"_22216":40911,"_29063":40911,"_29921":40911,"_6069":40911,"_21910":40911,"_23688":40911,"_3978":40911,"_31486":40911,"_13138":40911},"77",{"_7429":40871,"_7280":40871,"_22216":40871,"_15546":40871,"_21771":40871,"_20541":40871,"_3925":40871,"_2225":40871,"_36802":40871,"_27097":40871,"_28467":40871,"_35135":40871,"_7485":40871,"_24443":40871,"_7603":40871,"_26125":40871,"_25867":40871,"_7535":40871,"_3074":40871,"_32698":40871,"_6069":40871,"_19679":40871,"_20508":40871},{"_30746":40924,"_25867":40924,"_23265":40924,"_22216":40924,"_15546":40924,"_21771":40924,"_20541":40924,"_3132":40924,"_24952":40924,"_31404":40924,"_33129":40924,"_30997":40924,"_32170":40924,"_3020":40924,"_23445":40924,"_2225":40924,"_13266":40924,"_16016":40924,"_6069":40924,"_28362":40924,"_3997":40924,"_12628":40924,"_28389":40924,"_21124":40924,"_20131":40924,"_13780":40924,"_5697":40924,"_32156":40924,"_29347":40924,"_7924":40924,"_7485":40924,"_6297":40924,"_26125":40924,"_21046":40924,"_14556":40924,"_7716":40924,"_16021":40924},0.02702702702702703,{"_21771":40787,"_20541":40787,"_30997":40787,"_20508":40787},{"_36116":3013},{"_34582":40878,"_9431":40878,"_7535":40878,"_8095":40878,"_10492":40878},{"_36122":3013},"83",{"_28405":40878,"_12541":40878,"_8858":40878,"_33027":40878,"_19800":40878},"84",{"_36129":3013},"85",{"_34582":40878,"_9431":40878,"_7535":40878,"_8095":40878,"_10492":40878},{"_36136":3013},"87",{"_28405":40787,"_12541":40787,"_19800":40787,"_8858":40787},{"_36143":3013},{"_28405":40940,"_19318":40940,"_9575":40940,"_8204":40940,"_22216":40940,"_13582":40940,"_9067":40940,"_22291":40940,"_3132":40940,"_15546":40940,"_8414":40940,"_33027":40940,"_19800":40940,"_8858":40940},0.07142857142857142,{"_36150":3013},{"_28405":40827,"_3174":40827,"_9050":40827,"_3399":40827,"_35165":40827,"_6069":40827,"_12541":40827,"_26401":40827},"92",{"_36157":3013},"93",{"_28405":40827,"_24025":40827,"_6069":40827,"_3297":40827,"_32481":40827,"_5697":40827,"_12541":40827,"_26401":40827},{"_36164":3013},"95",{"_28405":40815,"_19800":40815,"_19318":40815,"_9575":40815,"_8204":40815,"_22216":40815,"_13582":40815,"_9067":40815,"_22291":40815,"_3132":40815,"_15546":40815,"_8414":40815},{"_36176":3013},"97",{"_34582":40878,"_9431":40878,"_7535":40878,"_8095":40878,"_10492":40878},"98",{"_36189":3013},{"_34582":40878,"_9431":40878,"_7535":40878,"_8095":40878,"_10492":40878},{"_4455":40957,"_9078":40957,"_24952":40957,"_7485":40957,"_22216":40957,"_36802":40957,"_35135":40957,"_3765":40957,"_34582":40957,"_3399":40957,"_9431":40957,"_7535":40957,"_8095":40957,"_10492":40957,"_21199":40957,"_21771":40957,"_28362":40957,"_16021":40957,"_28017":40957,"_8794":40957,"_15900":40957,"_31006":40957,"_3020":40957,"_6069":40957,"_24683":40957,"_20508":40957,"_23795":40957,"_20541":40957,"_3132":40957,"_36183":40957,"_22455":40957,"_16566":40957,"_12541":40957,"_8858":40957,"_19318":40957,"_9575":40957,"_8204":40957,"_8414":40957,"_26401":40957,"_5697":40957,"_26242":40957,"_2225":40957,"_23383":40957,"_26495":40957,"_8851":40957,"_13587":40957,"_25867":40957,"_7793":40957,"_19407":40957,"_7730":40957,"_10286":40957,"_3925":40957,"_27097":40957,"_28467":40957,"_22306":40957,"_32535":40957,"_34433":40957,"_19022":40957,"_19284":40957,"_8132":40957,"_14055":40957,"_22291":40957,"_32170":40957,"_24151":40957,"_5400":40957,"_13919":40957,"_8144":40957,"_31486":40957,"_31032":40957,"_30621":40957,"_6297":40957,"_5242":40957,"_4195":40957,"_26490":40957,"_12628":40957,"_34412":40957,"_33783":40957,"_9191":40957,"_33711":40957,"_24443":40957,"_7603":40957},0.012345679012345678,"101",{"_30083":40829,"_3074":40829,"_32535":40829,"_6069":40829,"_22216":40829,"_8781":40829,"_14682":40829},"102",{"_11411":40962,"_11313":40962,"_11327":40962,"_36843":40962,"_33711":40962,"_7485":40962,"_22216":40962,"_3048":40962,"_3132":40962,"_3074":40962,"_12667":40962,"_35836":40962,"_12628":40962,"_22291":40962,"_18165":40962,"_30149":40962,"_16886":40962,"_5697":40962,"_7793":40962,"_19407":40962,"_14688":40962,"_8794":40962,"_23795":40962,"_25616":40962,"_3997":40962,"_6707":40962,"_3399":40962,"_3765":40962,"_17554":40962,"_6012":40962,"_14695":40962,"_14682":40962,"_7853":40962,"_2217":40962,"_3825":40962,"_28522":40962,"_25512":40962,"_9130":40962,"_9481":40962,"_3925":40962,"_35928":40962,"_34561":40962,"_6322":40962,"_18435":40962,"_15800":40962,"_9244":40962,"_5977":40962,"_15794":40962,"_29630":40962,"_21199":40962,"_7535":40962,"_16742":40962,"_25867":40962,"_4592":40962,"_20131":40962,"_10476":40962,"_26275":40962,"_6559":40962,"_2225":40962,"_28777":40962,"_6069":40962,"_4455":40962,"_5318":40962,"_19647":40962,"_31192":40962,"_26125":40962,"_13755":40962,"_5879":40962,"_29485":40962,"_15363":40962,"_35007":40962},0.014084507042253521,"103",{"_22216":40901,"_3048":40901,"_3132":40901,"_3095":40901,"_8794":40901,"_23795":40901,"_30822":40901,"_15794":40901,"_20131":40901,"_23440":40901,"_33237":40901},"104",{"_26285":40817,"_22216":40817,"_11263":40817,"_2974":40817,"_32175":40817,"_7869":40817,"_18305":40817,"_5697":40817,"_8460":40817},"105",{"_9055":40836,"_35836":40836,"_8204":40836,"_22216":40836,"_13311":40836,"_22306":40836,"_5871":40836,"_3132":40836,"_34444":40836,"_17877":40836,"_30253":40836,"_31861":40836,"_7875":40836,"_5697":40836,"_6515":40836,"_11291":40836,"_24311":40836},"106",{"_33882":40832,"_22291":40832,"_22216":40832,"_23016":40832,"_7793":40832,"_19407":40832,"_16886":40832,"_3132":40832,"_25752":40832,"_5318":40832,"_17877":40832,"_3048":40832,"_23440":40832},"107",{"_7245":40832,"_22216":40832,"_36876":40832,"_35938":40832,"_3399":40832,"_21873":40832,"_31369":40832,"_15794":40832,"_20131":40832,"_7768":40832,"_7485":40832,"_13582":40832,"_22855":40832},{"_3150":40885,"_22216":40885,"_7716":40885,"_13755":40885,"_26291":40885,"_5697":40885,"_11257":40885,"_16111":40885,"_13739":40885,"_7825":40885},"109",{"_35345":40885,"_22291":40885,"_22216":40885,"_7716":40885,"_32235":40885,"_7485":40885,"_28405":40885,"_15794":40885,"_20131":40885,"_26130":40885},"110",{"_5318":40853,"_14688":40853,"_16561":40853},"111",{"_14183":40901,"_15739":40901,"_4808":40901,"_4455":40901,"_12541":40901,"_14167":40901,"_25568":40901,"_33873":40901,"_33711":40901,"_7935":40901,"_9481":40901},"112",{"_13755":40836,"_13729":40836,"_13739":40836,"_18815":40836,"_30722":40836,"_23860":40836,"_5385":40836,"_25936":40836,"_2217":40836,"_3825":40836,"_12541":40836,"_6707":40836,"_5424":40836,"_6363":40836,"_5697":40836,"_3":40836,"_23347":40836},"113",{"_14173":40984,"_13934":40984,"_17163":40984,"_3997":40984,"_12541":40984,"_5697":40984,"_12628":40984,"_33882":40984,"_24296":40984,"_22216":40984,"_6473":40984,"_6069":40984,"_22306":40984,"_5775":40984,"_20125":40984,"_20131":40984,"_32589":40984,"_3002":40984,"_2217":40984,"_17706":40984,"_18995":40984,"_9476":40984,"_2225":40984,"_28777":40984,"_14167":40984,"_17136":40984,"_6657":40984},0.037037037037037035,"114",{"_36632":40784,"_3325":40784,"_23042":40784,"_23693":40784,"_7485":40784,"_22216":40784,"_29927":40784,"_23688":40784,"_28777":40784,"_3659":40784,"_3132":40784,"_9673":40784,"_32456":40784,"_21688":40784,"_9476":40784,"_2225":40784,"_5697":40784,"_21678":40784,"_6657":40784},{"_23362":40832,"_17163":40832,"_3997":40832,"_28416":40832,"_23347":40832,"_3399":40832,"_26686":40832,"_27051":40832,"_7485":40832,"_30626":40832,"_9476":40832,"_23212":40832,"_28426":40832},"116",{"_24602":40823,"_17163":40823,"_3997":40823,"_26394":40823,"_32744":40823,"_3399":40823,"_7340":40823,"_33882":40823,"_24296":40823,"_22216":40823,"_6473":40823,"_6069":40823,"_7435":40823,"_26401":40823,"_22306":40823,"_5775":40823,"_20125":40823,"_20131":40823,"_32589":40823,"_3002":40823,"_2217":40823,"_17706":40823,"_12628":40823,"_18995":40823,"_9476":40823,"_32754":40823,"_26425":40823,"_3925":40823,"_20589":40823},"117",{"_32139":40815,"_13071":40815,"_32134":40815,"_4455":40815,"_23819":40815,"_35205":40815,"_9476":40815,"_33129":40815,"_3925":40815,"_16221":40815,"_6783":40815,"_7929":40815},"118",{"_7297":40802,"_7429":40802,"_22216":40802,"_15546":40802,"_21771":40802,"_20541":40802,"_10051":40802,"_12720":40802,"_6069":40802,"_26275":40802,"_26125":40802,"_24171":40802,"_7784":40802,"_29149":40802,"_14682":40802,"_25867":40802,"_7535":40802,"_20718":40802,"_23860":40802,"_9476":40802,"_21776":40802},"119",{"_17323":40832,"_18027":40832,"_18815":40832,"_22216":40832,"_22127":40832,"_6069":40832,"_13755":40832,"_7825":40832,"_34439":40832,"_5697":40832,"_25609":40832,"_9067":40832,"_9476":40832},"120",{"_17578":40940,"_17568":40940,"_2225":40940,"_21858":40940,"_8460":40940,"_17877":40940,"_22306":40940,"_12628":40940,"_3132":40940,"_7485":40940,"_10051":40940,"_10097":40940,"_9476":40940,"_10080":40940},"121",{"_29007":41000,"_29437":41000,"_17163":41000,"_6069":41000,"_22216":41000,"_28997":41000,"_26686":41000,"_22291":41000,"_11263":41000,"_12628":41000,"_29601":41000,"_7951":41000,"_27371":41000,"_5697":41000,"_23419":41000,"_17877":41000,"_15859":41000,"_24592":41000,"_17318":41000,"_8771":41000,"_19027":41000,"_30506":41000,"_25621":41000,"_7019":41000,"_3399":41000,"_7956":41000,"_16221":41000,"_7924":41000,"_14682":41000,"_9476":41000,"_10041":41000,"_31394":41000,"_13138":41000,"_22762":41000,"_29073":41000,"_34412":41000,"_2225":41000,"_16288":41000,"_26191":41000},0.02564102564102564,"122",{"_8414":40825,"_29183":40825,"_17877":40825,"_22216":40825,"_32088":40825,"_3132":40825,"_13780":40825,"_7485":40825,"_13582":40825,"_10097":40825,"_22260":40825,"_33485":40825,"_15546":40825,"_25558":40825,"_6069":40825,"_9067":40825,"_3399":40825,"_28568":40825,"_9476":40825,"_17583":40825,"_29200":40825,"_29205":40825},"123",{"_20674":40806,"_21447":40806,"_33485":40806,"_2225":40806,"_31519":40806,"_35240":40806,"_6069":40806,"_34444":40806,"_17136":40806,"_7535":40806,"_20680":40806,"_16566":40806,"_18995":40806,"_25594":40806,"_17163":40806,"_5385":40806,"_16926":40806,"_36411":40806,"_3399":40806,"_25223":40806,"_22216":40806,"_3":40806,"_21910":40806,"_5624":40806,"_3672":40806,"_22316":40806,"_9476":40806,"_33129":40806,"_3925":40806,"_16221":40806,"_6783":40806,"_7929":40806},"124",{"_6687":40834,"_6334":40834,"_4808":40834,"_4455":40834,"_6679":40834,"_14167":40834,"_25568":40834,"_14947":40834,"_14682":40834,"_5697":40834,"_6693":40834,"_33873":40834,"_33711":40834,"_7935":40834,"_9481":40834},"125",{"_11327":41009,"_9259":41009,"_9217":41009,"_13121":41009,"_8204":41009,"_26686":41009,"_17374":41009,"_25796":41009,"_3997":41009,"_22216":41009,"_15546":41009,"_12628":41009,"_9476":41009,"_7716":41009,"_3":41009,"_7485":41009,"_9130":41009,"_19370":41009,"_29012":41009,"_25817":41009,"_33882":41009,"_22306":41009,"_4322":41009,"_3132":41009,"_11088":41009,"_6018":41009,"_32456":41009,"_21286":41009,"_8794":41009,"_23795":41009,"_5697":41009,"_18446":41009,"_30517":41009,"_6552":41009},0.029411764705882353,"126",{"_8781":40888,"_34131":40888,"_14682":40888,"_10218":40888,"_17877":40888,"_22216":40888,"_12628":40888,"_3132":40888,"_8761":40888,"_2225":40888,"_9130":40888,"_24751":40888,"_15800":40888,"_33769":40888,"_17229":40888,"_22291":40888,"_29601":40888,"_35738":40888,"_13582":40888,"_3307":40888,"_2974":40888,"_4968":40888,"_3399":40888,"_31055":40888,"_5697":40888,"_28017":40888,"_6707":40888,"_33873":40888,"_33711":40888,"_7935":40888,"_9481":40888},{"_26275":41013,"_25867":41013,"_23265":41013,"_22216":41013,"_21771":41013,"_20541":41013,"_3925":41013,"_25132":41013,"_8144":41013,"_8841":41013,"_2225":41013,"_19238":41013,"_10069":41013,"_12720":41013,"_6069":41013,"_7297":41013,"_26125":41013,"_24171":41013,"_7784":41013,"_29149":41013,"_14682":41013,"_7535":41013,"_20718":41013,"_23860":41013,"_9476":41013,"_21776":41013},0.038461538461538464,{"_25986":40832,"_28251":40832,"_12628":40832,"_17163":40832,"_9476":40832,"_21199":40832,"_7935":40832,"_7406":40832,"_2225":40832,"_31159":40832,"_6558":40832,"_6069":40832,"_13165":40832},"129",{"_11327":40812,"_26686":40812,"_26675":40812,"_21593":40812,"_2225":40812,"_6069":40812,"_22216":40812,"_15546":40812,"_12628":40812,"_7485":40812,"_23206":40812,"_3399":40812,"_25796":40812,"_6379":40812,"_3":40812,"_5888":40812,"_36437":40812,"_19238":40812,"_25802":40812,"_31076":40812,"_23804":40812,"_5697":40812,"_21858":40812,"_17877":40812,"_3132":40812,"_15800":40812,"_18581":40812,"_9476":40812,"_7716":40812,"_35370":40812,"_30149":40812,"_30034":40812,"_29012":40812,"_25817":40812,"_26704":40812,"_33882":40812,"_22306":40812,"_4322":40812,"_11088":40812,"_6018":40812,"_32456":40812,"_21286":40812,"_8794":40812,"_23795":40812,"_18446":40812,"_8204":40812,"_30517":40812,"_6552":40812},{"_25594":41018,"_25512":41018,"_27355":41018,"_3925":41018,"_25986":41018,"_30822":41018,"_4592":41018,"_9476":41018,"_22216":41018,"_14173":41018,"_7929":41018,"_26125":41018,"_7535":41018,"_23860":41018,"_33882":41018,"_24296":41018,"_3997":41018,"_6473":41018,"_6069":41018,"_12541":41018,"_22306":41018,"_5775":41018,"_20125":41018,"_20131":41018,"_32589":41018,"_3002":41018,"_2217":41018,"_17706":41018,"_12628":41018,"_18995":41018},0.03333333333333333,"131",{"_14184":40866,"_28256":40866,"_9421":40866,"_12628":40866,"_25568":40866,"_22306":40866,"_3132":40866,"_2225":40866,"_25254":40866,"_6069":40866,"_22216":40866,"_17163":40866,"_9481":40866,"_8794":40866,"_25986":40866,"_3399":40866,"_25594":40866,"_33873":40866,"_33711":40866,"_7935":40866},"132",{"_6693":40984,"_6746":40984,"_17163":40984,"_3997":40984,"_6679":40984,"_14173":40984,"_5697":40984,"_12628":40984,"_4602":40984,"_5318":40984,"_2225":40984,"_8414":40984,"_7735":40984,"_17877":40984,"_16221":40984,"_5006":40984,"_3925":40984,"_29274":40984,"_6701":40984,"_9476":40984,"_27854":40984,"_16818":40984,"_3399":40984,"_28777":40984,"_6069":40984,"_19043":40984,"_18311":40984},"133",{"_27802":40815,"_27824":40815,"_4455":40815,"_23819":40815,"_7869":40815,"_18311":40815,"_9476":40815,"_33129":40815,"_3925":40815,"_16221":40815,"_6783":40815,"_7929":40815},"134",{"_35437":40832,"_18165":40832,"_22216":40832,"_15546":40832,"_35432":40832,"_21015":40832,"_7485":40832,"_32088":40832,"_9476":40832,"_15558":40832,"_3925":40832,"_2225":40832,"_20584":40832},"135",{"_9044":40844,"_32059":40844,"_3297":40844,"_17163":40844,"_5658":40844,"_8794":40844,"_26394":40844,"_33882":40844,"_24296":40844,"_3997":40844,"_22216":40844,"_6473":40844,"_6069":40844,"_22306":40844,"_5775":40844,"_20125":40844,"_20131":40844,"_32589":40844,"_3002":40844,"_2217":40844,"_17706":40844,"_12628":40844,"_18995":40844,"_9476":40844,"_26431":40844,"_3925":40844,"_2225":40844,"_20584":40844},"136",{"_31669":40823,"_32064":40823,"_3297":40823,"_17163":40823,"_5658":40823,"_8794":40823,"_6363":40823,"_33882":40823,"_24296":40823,"_3997":40823,"_22216":40823,"_6473":40823,"_6069":40823,"_9044":40823,"_22306":40823,"_5775":40823,"_20125":40823,"_20131":40823,"_32589":40823,"_3002":40823,"_2217":40823,"_17706":40823,"_12628":40823,"_18995":40823,"_9476":40823,"_19337":40823,"_3925":40823,"_2225":40823,"_20584":40823},"137",{"_31744":40885,"_32054":40885,"_25228":40885,"_3297":40885,"_17163":40885,"_9476":40885,"_34213":40885,"_34219":40885,"_3399":40885,"_34224":40885},"138",{"_13164":41018,"_22216":41018,"_15546":41018,"_19988":41018,"_6069":41018,"_13159":41018,"_18435":41018,"_22291":41018,"_9067":41018,"_3132":41018,"_8761":41018,"_3399":41018,"_31429":41018,"_8144":41018,"_2225":41018,"_35432":41018,"_21009":41018,"_19102":41018,"_15794":41018,"_20131":41018,"_7485":41018,"_3659":41018,"_22223":41018,"_19994":41018,"_8420":41018,"_13272":41018,"_27876":41018,"_31202":41018,"_9476":41018,"_7935":41018},"139",{"_14747":40878,"_34412":40878,"_22216":40878,"_33788":40878,"_8233":40878},"140",{"_32709":40881,"_29485":40881,"_5697":40881,"_13775":40881,"_11263":40881,"_10492":40881,"_33788":40881,"_16763":40881,"_6069":40881,"_34350":40881,"_7535":40881,"_12541":40881,"_12628":40881,"_14747":40881,"_16556":40881,"_13582":40881,"_22855":40881,"_26249":40881,"_3399":40881,"_13180":40881,"_21262":40881,"_8204":40881,"_34051":40881,"_13243":40881},"141",{"_13582":40794,"_22855":40794},"142",{"_34930":40829,"_32834":40829,"_34051":40829,"_13234":40829,"_31486":40829,"_33873":40829,"_24717":40829},"143",{"_33788":41045,"_3132":41045,"_3074":41045,"_34350":41045,"_12535":41045,"_12541":41045,"_12628":41045,"_14747":41045,"_8233":41045,"_8144":41045,"_26963":41045,"_6499":41045,"_30517":41045,"_34439":41045,"_23357":41045,"_20190":41045,"_6069":41045,"_22216":41045,"_15010":41045,"_33804":41045,"_29347":41045,"_7535":41045,"_35859":41045,"_4249":41045,"_3195":41045,"_29601":41045,"_17097":41045,"_7485":41045,"_25052":41045,"_32318":41045,"_28210":41045,"_3399":41045,"_4843":41045,"_16132":41045,"_22223":41045,"_3765":41045,"_5888":41045,"_8305":41045,"_15794":41045,"_20131":41045,"_23077":41045,"_3997":41045,"_3020":41045,"_6126":41045,"_17255":41045},0.022222222222222223,"144",{"_11313":41018,"_11327":41018,"_7485":41018,"_35295":41018,"_2225":41018,"_11263":41018,"_12628":41018,"_15794":41018,"_10492":41018,"_33788":41018,"_16763":41018,"_6069":41018,"_34350":41018,"_23795":41018,"_5871":41018,"_8794":41018,"_26285":41018,"_22216":41018,"_32139":41018,"_35200":41018,"_25999":41018,"_5697":41018,"_6270":41018,"_4356":41018,"_33793":41018,"_7535":41018,"_12541":41018,"_26242":41018,"_13366":41018,"_13377":41018},"145",{"_11313":40787,"_11327":40787,"_33711":40787,"_7485":40787},"146",{"_12535":40881,"_3997":40881,"_22216":40881,"_33788":40881,"_8233":40881,"_11263":40881,"_32094":40881,"_15794":40881,"_20131":40881,"_26242":40881,"_7019":40881,"_5697":40881,"_10492":40881,"_22855":40881,"_32318":40881,"_7485":40881,"_22250":40881,"_14747":40881,"_15390":40881,"_22306":40881,"_26175":40881,"_24156":40881,"_29485":40881,"_13582":40881},"147",{"_19922":40832,"_33882":40832,"_22291":40832,"_13582":40832,"_22855":40832,"_32334":40832,"_26206":40832,"_31123":40832,"_8414":40832,"_8420":40832,"_3399":40832,"_14747":40832,"_18441":40832},"148",{"_12805":41056,"_28210":41056,"_36876":41056,"_35938":41056,"_5697":41056,"_21874":41056,"_28517":41056,"_15691":41056,"_3659":41056,"_27148":41056,"_20131":41056,"_15626":41056,"_7535":41056,"_33129":41056,"_12948":41056,"_16742":41056,"_7485":41056,"_22306":41056,"_32535":41056,"_31976":41056,"_7225":41056,"_2225":41056,"_26362":41056,"_16126":41056,"_3399":41056,"_8144":41056,"_22511":41056,"_31486":41056,"_22216":41056,"_18862":41056,"_26379":41056,"_3132":41056,"_25347":41056,"_22028":41056,"_19515":41056,"_30822":41056,"_30253":41056,"_18404":41056,"_33743":41056,"_3074":41056,"_6131":41056,"_27092":41056,"_30258":41056,"_36871":41056,"_18457":41056,"_32139":41056,"_19922":41056,"_33882":41056,"_22291":41056,"_4614":41056,"_37121":41056,"_23593":41056,"_7853":41056,"_37131":41056,"_21124":41056,"_20482":41056,"_29499":41056,"_6069":41056,"_20234":41056,"_3978":41056,"_6252":41056,"_29504":41056,"_31971":41056,"_31880":41056},0.015625,"149",{"_32932":40836,"_22216":40836,"_27097":40836,"_19545":40836,"_26379":40836,"_16126":40836,"_8204":40836,"_36876":40836,"_22306":40836,"_25873":40836,"_21246":40836,"_6047":40836,"_20131":40836,"_33774":40836,"_7535":40836,"_26362":40836,"_16132":40836},"150",{"_12805":40808,"_28210":40808,"_21873":40808,"_35938":40808,"_13587":40808,"_16132":40808,"_6069":40808,"_4455":40808,"_11263":40808,"_16747":40808,"_22216":40808,"_27355":40808,"_25477":40808,"_5080":40808,"_16137":40808,"_27148":40808,"_20131":40808,"_27282":40808,"_3997":40808,"_19183":40808,"_32088":40808,"_30253":40808,"_33743":40808,"_5697":40808,"_10492":40808,"_23383":40808,"_4619":40808,"_21874":40808,"_21199":40808,"_7485":40808,"_7853":40808,"_24761":40808,"_20513":40808},"151",{"_10492":40825,"_33793":40825,"_3925":40825,"_25999":40825,"_30435":40825,"_28210":40825,"_3132":40825,"_15800":40825,"_25057":40825,"_8794":40825,"_34350":40825,"_3150":40825,"_22216":40825,"_7716":40825,"_13755":40825,"_26291":40825,"_5697":40825,"_30258":40825,"_11257":40825,"_16111":40825,"_13739":40825,"_7825":40825},"152",{"_35345":40901,"_7485":40901,"_22216":40901,"_28405":40901,"_22291":40901,"_30258":40901,"_32088":40901,"_3132":40901,"_8761":40901,"_3997":40901,"_22855":40901},"153",{"_11313":40787,"_11327":40787,"_33711":40787,"_7485":40787},"154",{"_30078":40825,"_3765":40825,"_22216":40825,"_25878":40825,"_33753":40825,"_5697":40825,"_34935":40825,"_3074":40825,"_4630":40825,"_8761":40825,"_11263":40825,"_32088":40825,"_22855":40825,"_31492":40825,"_24717":40825,"_8794":40825,"_21603":40825,"_3101":40825,"_6069":40825,"_6707":40825,"_19637":40825,"_8149":40825},"155",{"_12805":40834,"_22216":40834,"_33774":40834,"_36882":40834,"_3399":40834,"_21879":40834,"_7535":40834,"_4455":40834,"_12948":40834,"_19183":40834,"_3925":40834,"_24151":40834,"_7485":40834,"_18633":40834,"_26175":40834},"156",{"_3150":40825,"_22216":40825,"_7716":40825,"_13739":40825,"_26291":40825,"_3399":40825,"_9222":40825,"_7924":40825,"_2212":40825,"_33882":40825,"_22291":40825,"_22855":40825,"_3132":40825,"_15800":40825,"_30315":40825,"_3095":40825,"_30822":40825,"_31976":40825,"_23072":40825,"_3997":40825,"_6707":40825,"_19637":40825},"157",{"_5968":40841,"_10324":40841,"_25873":40841,"_3997":40841,"_22216":40841,"_9078":40841,"_33974":40841,"_35345":40841,"_22291":40841,"_30253":40841,"_26125":40841,"_7716":40841,"_32235":40841,"_7485":40841,"_28405":40841,"_3399":40841,"_24788":40841,"_5473":40841,"_33129":40841,"_2212":40841,"_9222":40841,"_13582":40841,"_30430":40841,"_30003":40841,"_5668":40841},"158",{"_32156":40901,"_13582":40901,"_22855":40901,"_3997":40901,"_33129":40901,"_2212":40901,"_3399":40901,"_24662":40901,"_2225":40901,"_10985":40901,"_9222":40901},"159",{"_6018":40784,"_30253":40784,"_35345":40784,"_22291":40784,"_30258":40784,"_32250":40784,"_32088":40784,"_3132":40784,"_8761":40784,"_3997":40784,"_22855":40784,"_23435":40784,"_6707":40784,"_19637":40784,"_3399":40784,"_24662":40784,"_3671":40784,"_10985":40784,"_9222":40784},"160",{"_13755":40794,"_19244":40794},"161",{"_15025":40866,"_10462":40866,"_7535":40866,"_4455":40866,"_11263":40866,"_13755":40866,"_19244":40866,"_16556":40866,"_21302":40866,"_3399":40866,"_6":40866,"_26291":40866,"_13234":40866,"_5879":40866,"_32318":40866,"_4843":40866,"_18995":40866,"_23092":40866,"_22216":40866,"_3048":40866},"162",{"_21302":40794,"_13755":40794},"163",{"_6":40794,"_13755":40794},"164",{"_13234":40794,"_5879":40794},"165",{"_32318":40787,"_4843":40787,"_4887":40787,"_5879":40787},"166",{"_22855":40853,"_16196":40853,"_25352":40853},"167",{"_32604":40853,"_5879":40853,"_8305":40853},{"_34661":40794,"_5879":40794},"169",{"_23456":40787,"_3":40787,"_23347":40787,"_4770":40787},"170",{"_32186":40787,"_24837":40787,"_32844":40787,"_35165":40787},"171",{"_18995":40853,"_23092":40853,"_5879":40853},{"_23778":40853,"_6733":40853,"_13765":40853},"173",{"_3048":40794,"_13755":40794},"174",{"_11291":41107,"_30486":41107,"_3132":41107,"_7145":41107,"_8794":41107,"_22216":41107,"_11263":41107,"_13755":41107,"_7825":41107,"_22306":41107,"_24091":41107,"_4593":41107,"_22291":41107,"_32549":41107,"_27355":41107,"_15794":41107,"_20131":41107,"_34439":41107,"_4455":41107,"_25966":41107,"_20270":41107,"_7019":41107,"_2225":41107,"_12628":41107,"_4017":41107,"_23419":41107,"_29082":41107,"_3765":41107,"_17877":41107,"_10492":41107,"_23383":41107,"_7841":41107,"_15937":41107,"_21124":41107,"_21598":41107,"_5697":41107,"_32115":41107,"_28777":41107,"_6069":41107,"_7485":41107,"_20482":41107},0.024390243902439025,"175",{"_5":40794,"_17136":40794},"176",{"_11411":41009,"_11313":41009,"_11327":41009,"_7485":41009,"_3399":41009,"_29068":41009,"_26763":41009,"_6069":41009,"_22223":41009,"_19244":41009,"_27148":41009,"_20131":41009,"_19872":41009,"_2225":41009,"_24843":41009,"_13755":41009,"_7825":41009,"_17877":41009,"_22255":41009,"_3765":41009,"_22216":41009,"_25574":41009,"_11263":41009,"_31481":41009,"_4742":41009,"_20747":41009,"_22265":41009,"_6499":41009,"_5697":41009,"_26125":41009,"_9701":41009,"_7535":41009,"_20718":41009,"_17163":41009},"177",{"_30078":40815,"_3765":40815,"_22216":40815,"_21302":40815,"_13755":40815,"_36892":40815,"_22291":40815,"_21124":40815,"_20131":40815,"_23819":40815,"_7485":40815,"_7825":40815},"178",{"_13393":40832,"_22216":40832,"_6707":40832,"_5697":40832,"_28787":40832,"_7535":40832,"_12541":40832,"_14173":40832,"_22291":40832,"_3132":40832,"_13350":40832,"_5535":40832,"_14151":40832},"179",{"_26222":40908,"_22216":40908,"_6707":40908,"_5697":40908,"_28787":40908,"_3997":40908,"_7535":40908,"_26217":40908,"_12541":40908,"_14173":40908,"_34412":40908,"_28210":40908,"_13393":40908,"_28022":40908,"_19894":40908,"_31374":40908,"_28051":40908,"_31123":40908,"_32170":40908,"_21358":40908,"_6836":40908,"_33237":40908,"_31481":40908,"_23435":40908,"_22291":40908,"_10097":40908,"_33882":40908,"_8293":40908,"_20131":40908,"_3095":40908,"_31394":40908,"_25032":40908,"_19938":40908,"_11263":40908,"_25999":40908,"_13366":40908,"_3925":40908,"_33788":40908},"180",{"_6706":40888,"_22216":40888,"_6707":40888,"_5697":40888,"_28787":40888,"_7535":40888,"_6679":40888,"_14173":40888,"_22291":40888,"_3132":40888,"_6693":40888,"_5535":40888,"_14151":40888,"_17877":40888,"_18305":40888,"_26242":40888,"_22260":40888,"_12628":40888,"_31481":40888,"_21464":40888,"_31394":40888,"_7485":40888,"_7735":40888,"_10097":40888,"_3174":40888,"_8414":40888,"_3399":40888,"_14567":40888,"_3642":40888,"_35432":40888,"_9067":40888},"181",{"_23206":40784,"_22216":40784,"_28568":40784,"_31404":40784,"_11263":40784,"_31481":40784,"_21874":40784,"_17102":40784,"_13121":40784,"_26698":40784,"_3399":40784,"_34571":40784,"_28017":40784,"_6252":40784,"_21678":40784,"_14792":40784,"_6069":40784,"_34960":40784,"_5697":40784},"182",{"_5":40794,"_17136":40794},"183",{"_20131":40871,"_15942":40871,"_31404":40871,"_30253":40871,"_6413":40871,"_22216":40871,"_21678":40871,"_14792":40871,"_2225":40871,"_24342":40871,"_24357":40871,"_3132":40871,"_26379":40871,"_5697":40871,"_13955":40871,"_7123":40871,"_18995":40871,"_19524":40871,"_3997":40871,"_30854":40871,"_31481":40871,"_3119":40871,"_5488":40871},"184",{"_22804":41009,"_22216":41009,"_29367":41009,"_6069":41009,"_2225":41009,"_27026":41009,"_22799":41009,"_31369":41009,"_3132":41009,"_30722":41009,"_8771":41009,"_16288":41009,"_34439":41009,"_8794":41009,"_11263":41009,"_3925":41009,"_20957":41009,"_7485":41009,"_21364":41009,"_8144":41009,"_5697":41009,"_10534":41009,"_30055":41009,"_3399":41009,"_22752":41009,"_7535":41009,"_32535":41009,"_21302":41009,"_26394":41009,"_16250":41009,"_31481":41009,"_20131":41009,"_22693":41009,"_22809":41009},"185",{"_22216":40908,"_13755":40908,"_26291":40908,"_7485":40908,"_26175":40908,"_3765":40908,"_5888":40908,"_30253":40908,"_15794":40908,"_10492":40908,"_22265":40908,"_5697":40908,"_8182":40908,"_7961":40908,"_23097":40908,"_30491":40908,"_6069":40908,"_30258":40908,"_11263":40908,"_25966":40908,"_26763":40908,"_4592":40908,"_20131":40908,"_26242":40908,"_34412":40908,"_35859":40908,"_7869":40908,"_18311":40908,"_7261":40908,"_7593":40908,"_36887":40908,"_32549":40908,"_18305":40908,"_31394":40908,"_5318":40908,"_3132":40908,"_33887":40908,"_30373":40908},"186",{"_23223":40888,"_33873":40888,"_35859":40888,"_7869":40888,"_18305":40888,"_22306":40888,"_5871":40888,"_31481":40888,"_23337":40888,"_22216":40888,"_20234":40888,"_5697":40888,"_10069":40888,"_21678":40888,"_14792":40888,"_11109":40888,"_22281":40888,"_23206":40888,"_4494":40888,"_2225":40888,"_24342":40888,"_24357":40888,"_20131":40888,"_34439":40888,"_3399":40888,"_30108":40888,"_5331":40888,"_15099":40888,"_30506":40888,"_28362":40888,"_26698":40888},"187",{"_5":40794,"_17136":40794},"188",{"_29635":41018,"_2225":41018,"_24342":41018,"_14792":41018,"_24357":41018,"_29601":41018,"_28954":41018,"_17706":41018,"_3997":41018,"_22393":41018,"_3399":41018,"_25636":41018,"_29053":41018,"_8144":41018,"_3132":41018,"_29839":41018,"_9652":41018,"_24347":41018,"_26242":41018,"_23223":41018,"_5697":41018,"_19647":41018,"_23347":41018,"_22291":41018,"_22260":41018,"_20270":41018,"_20952":41018,"_23206":41018,"_15800":41018,"_9305":41018},"189",{"_6884":40861,"_5968":40861,"_11313":40861,"_37087":40861,"_36137":40861,"_7441":40861,"_35859":40861,"_7869":40861,"_18305":40861,"_11263":40861,"_13350":40861,"_15794":40861,"_25297":40861,"_8858":40861,"_8408":40861,"_22281":40861,"_18190":40861,"_22265":40861,"_33390":40861,"_17877":40861,"_22228":40861,"_3765":40861,"_2225":40861,"_28603":40861,"_6069":40861,"_5697":40861,"_18644":40861,"_8204":40861,"_8761":40861,"_6379":40861,"_17103":40861,"_24617":40861,"_32393":40861,"_31481":40861,"_8935":40861,"_4593":40861,"_22291":40861,"_33873":40861,"_20718":40861,"_6395":40861,"_5174":40861,"_32250":40861,"_32088":40861,"_33536":40861,"_23736":40861,"_22216":40861,"_23795":40861,"_8895":40861,"_3132":40861,"_36200":40861,"_3399":40861,"_7535":40861,"_32535":40861,"_31486":40861,"_21015":40861,"_33129":40861,"_29630":40861,"_17249":40861},"190",{"_18659":41000,"_35859":41000,"_7869":41000,"_18305":41000,"_11263":41000,"_5697":41000,"_5331":41000,"_26140":41000,"_4533":41000,"_28076":41000,"_7485":41000,"_22216":41000,"_21678":41000,"_14792":41000,"_7825":41000,"_31300":41000,"_6069":41000,"_36981":41000,"_23795":41000,"_31295":41000,"_27051":41000,"_3132":41000,"_36808":41000,"_3659":41000,"_10180":41000,"_7535":41000,"_15379":41000,"_10639":41000,"_17877":41000,"_26698":41000,"_3765":41000,"_21598":41000,"_20718":41000,"_6119":41000,"_4592":41000,"_26125":41000,"_26742":41000,"_3399":41000,"_26730":41000},"191",{"_6884":41142,"_5968":41142,"_36130":41142,"_26742":41142,"_35859":41142,"_7869":41142,"_18305":41142,"_11263":41142,"_9678":41142,"_16221":41142,"_21688":41142,"_34412":41142,"_26698":41142,"_3399":41142,"_2225":41142,"_21678":41142,"_14792":41142,"_22322":41142,"_31571":41142,"_22216":41142,"_6473":41142,"_6069":41142,"_9673":41142,"_7485":41142,"_30461":41142,"_26686":41142,"_15794":41142,"_20131":41142,"_21598":41142,"_10990":41142,"_3132":41142,"_23886":41142,"_8794":41142,"_6297":41142,"_5697":41142,"_18644":41142,"_4455":41142,"_15717":41142,"_13582":41142,"_8204":41142,"_21603":41142,"_4975":41142,"_27355":41142,"_8771":41142,"_33129":41142,"_12628":41142,"_31481":41142,"_21588":41142,"_31394":41142,"_10202":41142,"_8770":41142,"_7230":41142,"_11131":41142,"_35135":41142,"_6443":41142,"_23795":41142,"_36200":41142},0.017543859649122806,{"_36130":41144,"_37087":41144,"_14779":41144,"_35859":41144,"_7869":41144,"_18305":41144,"_11263":41144,"_20089":41144,"_3074":41144,"_17102":41144,"_28777":41144,"_6069":41144,"_28997":41144,"_14785":41144,"_8858":41144,"_7535":41144,"_8403":41144,"_27876":41144,"_31486":41144,"_7742":41144,"_31394":41144,"_22216":41144,"_3765":41144,"_15800":41144,"_22523":41144,"_30471":41144,"_22306":41144,"_17721":41144,"_7686":41144,"_18995":41144,"_7485":41144,"_15925":41144,"_30258":41144,"_26698":41144,"_28954":41144,"_36200":41144,"_23795":41144,"_35135":41144,"_3132":41144,"_31369":41144,"_9652":41144,"_21302":41144},0.023809523809523808,"193",{"_6884":40957,"_5968":40957,"_11353":40957,"_36646":40957,"_35579":40957,"_26730":40957,"_35859":40957,"_7869":40957,"_18305":40957,"_11263":40957,"_9678":40957,"_16221":40957,"_21688":40957,"_34412":40957,"_26698":40957,"_3399":40957,"_2225":40957,"_21678":40957,"_14792":40957,"_22322":40957,"_31571":40957,"_22216":40957,"_22496":40957,"_27051":40957,"_7485":40957,"_30626":40957,"_4508":40957,"_26242":40957,"_6069":40957,"_9673":40957,"_30461":40957,"_26686":40957,"_15794":40957,"_20131":40957,"_21598":40957,"_10990":40957,"_3132":40957,"_23886":40957,"_8794":40957,"_26725":40957,"_6297":40957,"_5697":40957,"_18644":40957,"_4455":40957,"_15717":40957,"_13582":40957,"_8204":40957,"_21603":40957,"_4975":40957,"_27355":40957,"_8771":40957,"_33129":40957,"_12628":40957,"_31481":40957,"_21588":40957,"_31394":40957,"_10202":40957,"_8770":40957,"_7230":40957,"_11131":40957,"_35135":40957,"_6443":40957,"_7825":40957,"_29601":40957,"_21302":40957,"_25651":40957,"_7535":40957,"_17595":40957,"_8166":40957,"_22306":40957,"_8293":40957,"_6473":40957,"_15454":40957,"_21124":40957,"_28960":40957,"_22281":40957,"_22291":40957,"_23795":40957,"_36025":40957,"_34056":40957,"_23435":40957},{"_5968":41148,"_23051":41148,"_35859":41148,"_7869":41148,"_18305":41148,"_11263":41148,"_21678":41148,"_14792":41148,"_7825":41148,"_15794":41148,"_4592":41148,"_20131":41148,"_13697":41148,"_20718":41148,"_23357":41148,"_34412":41148,"_28960":41148,"_23042":41148,"_28405":41148,"_29183":41148,"_5697":41148,"_27736":41148,"_7735":41148,"_27839":41148,"_31394":41148,"_7686":41148,"_3132":41148,"_24776":41148,"_22306":41148,"_30435":41148,"_8414":41148,"_29601":41148,"_27590":41148,"_22387":41148,"_22216":41148,"_4298":41148,"_3997":41148,"_23419":41148,"_7983":41148,"_25609":41148,"_8204":41148,"_8293":41148,"_23077":41148,"_6126":41148,"_8794":41148,"_23795":41148,"_3399":41148,"_26742":41148,"_26730":41148,"_3765":41148,"_6047":41148,"_20508":41148,"_22291":41148,"_8895":41148,"_27051":41148,"_3095":41148,"_31481":41148,"_10980":41148,"_3642":41148,"_6069":41148,"_28828":41148,"_29932":41148,"_19922":41148,"_33882":41148,"_5016":41148,"_33052":41148,"_35135":41148,"_26093":41148,"_3672":41148,"_27185":41148,"_17877":41148,"_26242":41148,"_22523":41148,"_13478":41148,"_3020":41148,"_27494":41148,"_22281":41148,"_18659":41148,"_8144":41148,"_15976":41148,"_7535":41148,"_32456":41148,"_31374":41148,"_15800":41148,"_2225":41148,"_14587":41148,"_17546":41148,"_20125":41148,"_26545":41148,"_24526":41148,"_18995":41148,"_5331":41148,"_7271":41148,"_4692":41148,"_6379":41148,"_9652":41148,"_3207":41148,"_31404":41148},0.01020408163265306,"195",{"_11411":41142,"_5968":41142,"_20313":41142,"_35859":41142,"_7869":41142,"_18305":41142,"_11263":41142,"_28828":41142,"_22216":41142,"_22496":41142,"_6473":41142,"_6069":41142,"_14399":41142,"_14173":41142,"_22291":41142,"_15794":41142,"_20131":41142,"_20120":41142,"_5697":41142,"_2225":41142,"_12628":41142,"_17748":41142,"_12541":41142,"_6707":41142,"_33129":41142,"_22306":41142,"_3132":41142,"_34439":41142,"_18644":41142,"_16142":41142,"_13321":41142,"_24794":41142,"_5557":41142,"_23795":41142,"_3399":41142,"_26285":41142,"_8144":41142,"_32255":41142,"_9021":41142,"_8895":41142,"_3997":41142,"_5117":41142,"_7535":41142,"_25999":41142,"_26232":41142,"_24776":41142,"_26571":41142,"_4593":41142,"_9067":41142,"_4508":41142,"_21464":41142,"_7019":41142,"_18170":41142,"_22255":41142,"_3765":41142,"_4298":41142,"_22673":41142},"196",{"_11411":40812,"_11469":40812,"_20319":40812,"_33873":40812,"_35859":40812,"_7869":40812,"_18305":40812,"_28828":40812,"_22216":40812,"_6473":40812,"_6069":40812,"_14399":40812,"_14173":40812,"_4975":40812,"_13367":40812,"_29347":40812,"_22291":40812,"_2225":40812,"_27026":40812,"_12541":40812,"_17913":40812,"_8794":40812,"_7459":40812,"_3228":40812,"_20125":40812,"_20270":40812,"_5697":40812,"_21009":40812,"_11263":40812,"_32088":40812,"_22306":40812,"_3132":40812,"_34439":40812,"_18644":40812,"_16142":40812,"_13321":40812,"_24794":40812,"_5557":40812,"_16556":40812,"_7825":40812,"_24178":40812,"_33110":40812,"_23795":40812,"_26285":40812,"_32255":40812,"_9021":40812,"_8895":40812,"_3997":40812},"197",{"_11411":40800,"_11313":40800,"_13398":40800,"_33711":40800,"_7485":40800,"_22216":40800,"_3228":40800,"_18048":40800,"_18053":40800,"_3020":40800,"_29499":40800,"_5697":40800,"_28787":40800,"_7535":40800,"_12541":40800,"_14173":40800,"_22291":40800,"_3132":40800,"_13350":40800,"_5535":40800,"_14151":40800,"_22306":40800,"_5888":40800,"_8794":40800,"_23795":40800,"_31976":40800,"_30980":40800,"_25132":40800,"_2225":40800,"_31645":40800,"_3642":40800,"_14167":40800,"_13393":40800,"_16886":40800,"_34360":40800,"_3997":40800,"_12628":40800,"_31481":40800,"_20131":40800,"_5080":40800},"198",{"_11411":40841,"_5968":40841,"_11313":40841,"_21291":40841,"_33873":40841,"_35859":40841,"_7869":40841,"_18305":40841,"_33711":40841,"_7485":40841,"_22216":40841,"_21302":40841,"_26394":40841,"_16250":40841,"_21364":40841,"_22291":40841,"_12628":40841,"_31481":40841,"_4484":40841,"_12541":40841,"_5697":40841,"_33830":40841,"_23804":40841,"_22757":40841,"_22804":40841},"199",{"_11411":40841,"_11313":40841,"_11889":40841,"_20354":40841,"_33873":40841,"_35859":40841,"_7869":40841,"_18305":40841,"_33711":40841,"_7485":40841,"_22216":40841,"_20370":40841,"_26394":40841,"_16250":40841,"_21364":40841,"_22291":40841,"_12628":40841,"_31481":40841,"_4484":40841,"_12541":40841,"_5697":40841,"_33830":40841,"_23804":40841,"_22757":40841,"_22804":40841},{"_11313":41000,"_11353":41000,"_36137":41000,"_8573":41000,"_31790":41000,"_35859":41000,"_7869":41000,"_18305":41000,"_11263":41000,"_33711":41000,"_7485":41000,"_2225":41000,"_31785":41000,"_21040":41000,"_31481":41000,"_20131":41000,"_6412":41000,"_5697":41000,"_22216":41000,"_14792":41000,"_31399":41000,"_3074":41000,"_21683":41000,"_31806":41000,"_21593":41000,"_28472":41000,"_22281":41000,"_22306":41000,"_35135":41000,"_20508":41000,"_3132":41000,"_28017":41000,"_21364":41000,"_3399":41000,"_23804":41000,"_15794":41000,"_6047":41000,"_26242":41000,"_3925":41000},{"_11411":41161,"_36040":41161,"_20401":41161,"_35859":41161,"_7869":41161,"_18305":41161,"_11263":41161,"_31394":41161,"_26242":41161,"_5697":41161,"_2225":41161,"_19699":41161,"_17039":41161,"_8144":41161,"_23891":41161,"_22216":41161,"_27051":41161,"_6069":41161,"_9181":41161,"_22291":41161,"_25467":41161,"_26093":41161,"_7593":41161,"_9559":41161,"_10041":41161,"_9678":41161,"_30108":41161,"_27376":41161,"_26109":41161,"_15186":41161,"_3997":41161,"_19730":41161,"_12931":41161,"_20886":41161,"_9147":41161,"_3399":41161,"_9153":41161,"_15794":41161,"_20131":41161,"_34439":41161,"_23097":41161,"_22306":41161,"_35135":41161,"_7401":41161,"_31911":41161,"_8293":41161,"_3132":41161,"_23077":41161,"_8794":41161,"_23795":41161,"_31486":41161,"_3020":41161,"_33845":41161,"_23072":41161,"_6126":41161},0.01818181818181818,{"_11411":41163,"_11313":41163,"_11320":41163,"_36040":41163,"_20413":41163,"_35859":41163,"_7869":41163,"_18305":41163,"_11263":41163,"_33711":41163,"_7485":41163,"_26988":41163,"_5697":41163,"_20401":41163,"_30822":41163,"_4272":41163,"_7271":41163,"_15530":41163,"_8858":41163,"_22216":41163,"_20886":41163,"_9165":41163,"_3399":41163,"_9170":41163,"_15794":41163,"_20131":41163,"_34439":41163,"_23097":41163,"_22306":41163,"_35135":41163,"_2225":41163,"_7401":41163,"_31911":41163,"_8293":41163,"_3132":41163,"_23077":41163,"_3997":41163,"_8794":41163,"_23795":41163,"_31486":41163,"_6069":41163,"_26242":41163,"_3020":41163,"_33845":41163,"_17039":41163,"_23072":41163,"_6126":41163},0.02127659574468085,"203",{"_11411":40917,"_11313":40917,"_11353":40917,"_4718":40917,"_26736":40917,"_33873":40917,"_35859":40917,"_7869":40917,"_18305":40917,"_33711":40917,"_7485":40917,"_31394":40917,"_3095":40917,"_11263":40917,"_4713":40917,"_4719":40917,"_8293":40917,"_9465":40917,"_22216":40917,"_4692":40917,"_9553":40917,"_26698":40917,"_3399":40917,"_14562":40917,"_21678":40917,"_28405":40917,"_23206":40917,"_23223":40917,"_9207":40917,"_23966":40917,"_9217":40917,"_23804":40917,"_5697":40917,"_21302":40917,"_35135":40917,"_3132":40917},"204",{"_11411":41168,"_6884":41168,"_11313":41168,"_11353":41168,"_11327":41168,"_36123":41168,"_4718":41168,"_19499":41168,"_33873":41168,"_35859":41168,"_7869":41168,"_18305":41168,"_33711":41168,"_7485":41168,"_22216":41168,"_8771":41168,"_16944":41168,"_29527":41168,"_7535":41168,"_31369":41168,"_4719":41168,"_21547":41168,"_29601":41168,"_5697":41168,"_20131":41168,"_21936":41168,"_26242":41168,"_2225":41168,"_19699":41168,"_17039":41168,"_3399":41168,"_5400":41168,"_32156":41168,"_4713":41168,"_19504":41168,"_23804":41168,"_25367":41168,"_25052":41168,"_3252":41168,"_3132":41168,"_28017":41168,"_3925":41168,"_3074":41168,"_31486":41168,"_5888":41168,"_17229":41168,"_16288":41168,"_25057":41168,"_25372":41168,"_3765":41168,"_21436":41168,"_21364":41168,"_2216":41168,"_26191":41168,"_2972":41168,"_21327":41168,"_3322":41168,"_2220":41168,"_23295":41168,"_32535":41168,"_36598":41168,"_10291":41168,"_37092":41168,"_17877":41168,"_18170":41168,"_23795":41168},0.015151515151515152,"205",{"_11411":40800,"_11313":40800,"_11353":40800,"_11327":40800,"_11320":40800,"_27860":40800,"_35859":40800,"_7869":40800,"_18305":40800,"_11263":40800,"_6679":40800,"_33711":40800,"_7485":40800,"_22216":40800,"_6693":40800,"_34137":40800,"_14792":40800,"_21678":40800,"_3399":40800,"_10069":40800,"_26686":40800,"_5697":40800,"_23419":40800,"_8794":40800,"_23795":40800,"_7875":40800,"_19183":40800,"_22306":40800,"_10645":40800,"_9605":40800,"_8771":40800,"_6069":40800,"_3997":40800,"_9222":40800,"_26242":40800,"_8460":40800,"_23435":40800,"_8293":40800,"_3132":40800,"_21858":40800},"206",{"_11411":40859,"_11313":40859,"_11353":40859,"_11327":40859,"_11320":40859,"_37374":40859,"_32885":40859,"_35859":40859,"_7869":40859,"_18305":40859,"_6047":40859,"_11263":40859,"_33711":40859,"_7485":40859,"_23814":40859,"_5697":40859,"_21858":40859,"_32156":40859,"_32880":40859,"_8305":40859,"_25132":40859,"_3925":40859,"_22216":40859,"_15665":40859,"_6069":40859,"_22399":40859,"_33974":40859,"_22255":40859,"_3765":40859,"_23440":40859,"_8794":40859,"_23795":40859,"_17763":40859,"_31394":40859,"_3095":40859,"_12628":40859,"_17975":40859,"_21124":40859,"_20131":40859,"_10565":40859,"_22281":40859,"_24617":40859,"_16926":40859,"_28838":40859},"207",{"_11411":41175,"_11313":41175,"_11353":41175,"_11327":41175,"_11320":41175,"_36637":41175,"_33490":41175,"_35859":41175,"_7869":41175,"_18305":41175,"_6047":41175,"_11263":41175,"_33711":41175,"_7485":41175,"_24617":41175,"_5697":41175,"_11308":41175,"_7692":41175,"_10961":41175,"_4356":41175,"_6270":41175,"_35943":41175,"_31186":41175,"_22399":41175,"_33974":41175,"_15626":41175,"_12720":41175,"_3765":41175,"_15800":41175,"_25057":41175,"_29490":41175,"_2225":41175,"_31926":41175,"_3132":41175,"_18170":41175,"_35370":41175,"_22216":41175,"_17877":41175,"_30253":41175,"_34439":41175,"_3399":41175,"_33743":41175,"_20084":41175,"_14931":41175,"_26242":41175,"_21858":41175,"_3174":41175,"_32885":41175,"_33882":41175,"_23779":41175,"_12628":41175,"_17975":41175,"_21124":41175,"_20131":41175,"_3020":41175,"_10565":41175,"_3195":41175,"_20370":41175,"_25052":41175,"_35135":41175,"_36603":41175,"_31369":41175,"_27494":41175,"_22281":41175,"_26791":41175,"_31630":41175,"_4508":41175,"_36672":41175},0.014705882352941176,"208",{"_11411":40924,"_11313":40924,"_11320":40924,"_31755":40924,"_35859":40924,"_7869":40924,"_18305":40924,"_6047":40924,"_11263":40924,"_33711":40924,"_7485":40924,"_3252":40924,"_11348":40924,"_31675":40924,"_4686":40924,"_31760":40924,"_3132":40924,"_5697":40924,"_5915":40924,"_22216":40924,"_17103":40924,"_6566":40924,"_10063":40924,"_3297":40924,"_10492":40924,"_15930":40924,"_22306":40924,"_13739":40924,"_34439":40924,"_23814":40924,"_31369":40924,"_20131":40924,"_15568":40924,"_31976":40924,"_25052":40924,"_31750":40924,"_3399":40924},"209",{"_11411":40896,"_5968":40896,"_11313":40896,"_11320":40896,"_31690":40896,"_35859":40896,"_7869":40896,"_18305":40896,"_6047":40896,"_11263":40896,"_33711":40896,"_7485":40896,"_3252":40896,"_11348":40896,"_22216":40896,"_31675":40896,"_4686":40896,"_31760":40896,"_31481":40896,"_13283":40896,"_7019":40896,"_24413":40896,"_31712":40896,"_29097":40896,"_22306":40896,"_13739":40896,"_3132":40896,"_34439":40896,"_5697":40896,"_24448":40896,"_29485":40896,"_20190":40896,"_22352":40896,"_31701":40896,"_20718":40896,"_34506":40896,"_20946":40896,"_28960":40896,"_22393":40896,"_23795":40896,"_35135":40896,"_31369":40896,"_7123":40896,"_32371":40896,"_32471":40896,"_7535":40896,"_10063":40896,"_3399":40896,"_13630":40896,"_26394":40896,"_13500":40896,"_9811":40896,"_15930":40896},"210",{"_11411":41182,"_11313":41182,"_11320":41182,"_36137":41182,"_31696":41182,"_35859":41182,"_7869":41182,"_18305":41182,"_6047":41182,"_11263":41182,"_33711":41182,"_7485":41182,"_3252":41182,"_11348":41182,"_22216":41182,"_31675":41182,"_4686":41182,"_31760":41182,"_31481":41182,"_13283":41182,"_7019":41182,"_24413":41182,"_31712":41182,"_29097":41182,"_13288":41182,"_18190":41182,"_3132":41182,"_9983":41182,"_10063":41182,"_30751":41182,"_18210":41182,"_10639":41182,"_15186":41182,"_3399":41182,"_17716":41182,"_18995":41182,"_22306":41182,"_26285":41182,"_34439":41182,"_5697":41182,"_24448":41182,"_27051":41182,"_23795":41182,"_3659":41182,"_31976":41182,"_24771":41182,"_33743":41182,"_15363":41182,"_8144":41182,"_17877":41182,"_22228":41182,"_33873":41182,"_17103":41182,"_3020":41182,"_28056":41182,"_17546":41182},0.017857142857142856,"211",{"_11411":41185,"_11313":41185,"_11320":41185,"_36123":41185,"_31706":41185,"_35859":41185,"_7869":41185,"_18305":41185,"_6047":41185,"_11263":41185,"_33711":41185,"_7485":41185,"_3252":41185,"_11348":41185,"_22216":41185,"_31675":41185,"_4686":41185,"_31760":41185,"_31481":41185,"_13283":41185,"_7019":41185,"_24413":41185,"_31712":41185,"_29097":41185,"_13288":41185,"_18190":41185,"_3132":41185,"_9983":41185,"_10063":41185,"_30751":41185,"_18210":41185,"_10639":41185,"_15186":41185,"_3399":41185,"_17716":41185,"_18995":41185,"_30456":41185,"_31696":41185,"_22306":41185,"_26285":41185,"_34439":41185,"_5697":41185,"_5473":41185,"_16142":41185,"_8771":41185,"_32471":41185,"_3765":41185,"_15800":41185,"_28960":41185,"_22281":41185,"_4593":41185,"_22291":41185,"_31976":41185,"_31971":41185,"_29301":41185,"_22228":41185,"_7535":41185,"_22523":41185,"_28467":41185,"_23795":41185,"_21327":41185,"_31369":41185,"_34506":41185,"_24771":41185,"_33743":41185,"_20131":41185,"_15374":41185},0.014925373134328358,"212",{"_11411":41142,"_11313":41142,"_11320":41142,"_36137":41142,"_20390":41142,"_35859":41142,"_7869":41142,"_18305":41142,"_6047":41142,"_11263":41142,"_33711":41142,"_7485":41142,"_3252":41142,"_11348":41142,"_22306":41142,"_3132":41142,"_34439":41142,"_5697":41142,"_13687":41142,"_29485":41142,"_20190":41142,"_30681":41142,"_15794":41142,"_31976":41142,"_29630":41142,"_22216":41142,"_31701":41142,"_31394":41142,"_8144":41142,"_10202":41142,"_6473":41142,"_31481":41142,"_27731":41142,"_20773":41142,"_3209":41142,"_24413":41142,"_31675":41142,"_31369":41142,"_23072":41142,"_3399":41142,"_13500":41142,"_31712":41142,"_4593":41142,"_22291":41142,"_5331":41142,"_6851":41142,"_17546":41142,"_8794":41142,"_23795":41142,"_22228":41142,"_33873":41142,"_8895":41142,"_30253":41142,"_26242":41142,"_20508":41142,"_7875":41142,"_31696":41142},"213",{"_11411":40798,"_11313":40798,"_11320":40798,"_36123":40798,"_31016":40798,"_35859":40798,"_7869":40798,"_18305":40798,"_6047":40798,"_11263":40798,"_33711":40798,"_3252":40798,"_7485":40798,"_11348":40798,"_22306":40798,"_3132":40798,"_22216":40798,"_26285":40798,"_34439":40798,"_5697":40798,"_24448":40798,"_29610":40798,"_9181":40798,"_27051":40798,"_31022":40798,"_17643":40798,"_31492":40798,"_31976":40798,"_33743":40798,"_10492":40798,"_3017":40798,"_3207":40798,"_8771":40798,"_7271":40798,"_33304":40798,"_30997":40798,"_34203":40798,"_33309":40798,"_30822":40798,"_36903":40798,"_27484":40798,"_20270":40798,"_20952":40798,"_8144":40798,"_24761":40798,"_15186":40798,"_22523":40798,"_21225":40798,"_17103":40798,"_22228":40798,"_2225":40798,"_21805":40798,"_6126":40798,"_30506":40798,"_3399":40798,"_15015":40798,"_23795":40798,"_35135":40798,"_31369":40798,"_26150":40798,"_9983":40798,"_10186":40798},"214",{"_8413":40812,"_21337":40812,"_35859":40812,"_7869":40812,"_18305":40812,"_11263":40812,"_28623":40812,"_31055":40812,"_7535":40812,"_29367":40812,"_6069":40812,"_8771":40812,"_30506":40812,"_22693":40812,"_14017":40812,"_33914":40812,"_15481":40812,"_3997":40812,"_22216":40812,"_8414":40812,"_8420":40812,"_22306":40812,"_16944":40812,"_23891":40812,"_29485":40812,"_28467":40812,"_2225":40812,"_9067":40812,"_31821":40812,"_5697":40812,"_10218":40812,"_26242":40812,"_35448":40812,"_3399":40812,"_33567":40812,"_36378":40812,"_3074":40812,"_15794":40812,"_9352":40812,"_7758":40812,"_30686":40812,"_25784":40812,"_8204":40812,"_13780":40812,"_21302":40812,"_20370":40812,"_20424":40812,"_33272":40812},"215",{"_8413":40812,"_20424":40812,"_35859":40812,"_7869":40812,"_18305":40812,"_11263":40812,"_34981":40812,"_31055":40812,"_7535":40812,"_29367":40812,"_6069":40812,"_8771":40812,"_30506":40812,"_22693":40812,"_14017":40812,"_33914":40812,"_15481":40812,"_3997":40812,"_22216":40812,"_8414":40812,"_8420":40812,"_22306":40812,"_16944":40812,"_23891":40812,"_29485":40812,"_28467":40812,"_2225":40812,"_9067":40812,"_31821":40812,"_5697":40812,"_10218":40812,"_26242":40812,"_35448":40812,"_3399":40812,"_33567":40812,"_36378":40812,"_3074":40812,"_15794":40812,"_9352":40812,"_7758":40812,"_30686":40812,"_25784":40812,"_8204":40812,"_13780":40812,"_21302":40812,"_21337":40812,"_20370":40812,"_33272":40812},"216",{"_11411":41196,"_11313":41196,"_11320":41196,"_14287":41196,"_35859":41196,"_7869":41196,"_18305":41196,"_11263":41196,"_14195":41196,"_33711":41196,"_7485":41196,"_22306":41196,"_3132":41196,"_3659":41196,"_6069":41196,"_22216":41196,"_19244":41196,"_5697":41196,"_23097":41196,"_26015":41196,"_14167":41196,"_22408":41196,"_31369":41196,"_2225":41196,"_22556":41196,"_11077":41196,"_28843":41196,"_21072":41196,"_31486":41196,"_5888":41196,"_18415":41196,"_24881":41196,"_19238":41196,"_23824":41196,"_20370":41196,"_6473":41196,"_14196":41196,"_22562":41196,"_31394":41196,"_26242":41196,"_22430":41196,"_23440":41196,"_23795":41196},0.023255813953488372,"217",{"_11411":40859,"_6884":40859,"_11313":40859,"_11320":40859,"_14305":40859,"_35859":40859,"_7869":40859,"_18305":40859,"_11263":40859,"_14212":40859,"_33711":40859,"_7485":40859,"_22306":40859,"_3132":40859,"_3659":40859,"_6069":40859,"_22216":40859,"_19244":40859,"_5697":40859,"_23097":40859,"_26015":40859,"_14167":40859,"_22408":40859,"_31369":40859,"_2225":40859,"_22556":40859,"_11077":40859,"_28843":40859,"_21072":40859,"_31486":40859,"_5888":40859,"_18415":40859,"_24881":40859,"_19238":40859,"_23824":40859,"_16944":40859,"_21364":40859,"_31394":40859,"_22544":40859,"_30913":40859,"_10700":40859,"_14310":40859,"_14196":40859,"_23795":40859},"218",{"_11411":40859,"_6884":40859,"_11313":40859,"_11320":40859,"_14310":40859,"_35859":40859,"_7869":40859,"_18305":40859,"_11263":40859,"_14217":40859,"_33711":40859,"_7485":40859,"_22306":40859,"_3132":40859,"_3659":40859,"_6069":40859,"_22216":40859,"_19244":40859,"_5697":40859,"_23097":40859,"_26015":40859,"_14167":40859,"_22408":40859,"_31369":40859,"_2225":40859,"_22556":40859,"_11077":40859,"_28843":40859,"_21072":40859,"_31486":40859,"_5888":40859,"_18415":40859,"_24881":40859,"_19238":40859,"_23824":40859,"_6473":40859,"_14196":40859,"_3150":40859,"_22544":40859,"_30913":40859,"_32456":40859,"_14305":40859,"_21364":40859,"_23795":40859},"219",{"_11411":41196,"_11313":41196,"_11320":41196,"_14315":41196,"_35859":41196,"_7869":41196,"_18305":41196,"_11263":41196,"_14223":41196,"_33711":41196,"_7485":41196,"_22306":41196,"_3132":41196,"_3659":41196,"_6069":41196,"_22216":41196,"_19244":41196,"_5697":41196,"_23097":41196,"_26015":41196,"_14167":41196,"_22408":41196,"_31369":41196,"_2225":41196,"_22556":41196,"_11077":41196,"_28843":41196,"_21072":41196,"_31486":41196,"_5888":41196,"_18415":41196,"_24881":41196,"_19238":41196,"_23824":41196,"_16944":41196,"_21364":41196,"_31394":41196,"_18425":41196,"_3312":41196,"_26242":41196,"_34382":41196,"_23440":41196,"_23795":41196},"220",{"_11411":41205,"_11313":41205,"_11320":41205,"_14332":41205,"_35859":41205,"_7869":41205,"_18305":41205,"_11263":41205,"_14240":41205,"_33711":41205,"_7485":41205,"_22306":41205,"_3132":41205,"_3659":41205,"_6069":41205,"_22216":41205,"_19244":41205,"_5697":41205,"_23097":41205,"_26015":41205,"_14167":41205,"_22408":41205,"_31369":41205,"_2225":41205,"_22556":41205,"_11077":41205,"_28843":41205,"_21072":41205,"_31486":41205,"_5888":41205,"_18415":41205,"_24881":41205,"_19238":41205,"_23824":41205,"_18425":41205,"_14241":41205,"_15481":41205,"_32456":41205,"_14315":41205,"_21364":41205,"_3399":41205,"_17877":41205,"_22544":41205,"_30913":41205,"_33501":41205,"_31481":41205,"_20131":41205,"_16644":41205,"_8794":41205,"_23795":41205,"_36216":41205},0.0196078431372549,"221",{"_11411":41142,"_11313":41142,"_11320":41142,"_14337":41142,"_35859":41142,"_7869":41142,"_18305":41142,"_11263":41142,"_14246":41142,"_33711":41142,"_7485":41142,"_22306":41142,"_3132":41142,"_3659":41142,"_6069":41142,"_22216":41142,"_19244":41142,"_5697":41142,"_23097":41142,"_26015":41142,"_14167":41142,"_22408":41142,"_31369":41142,"_2225":41142,"_22556":41142,"_11077":41142,"_28843":41142,"_21072":41142,"_31486":41142,"_5888":41142,"_18415":41142,"_24881":41142,"_19238":41142,"_23824":41142,"_18425":41142,"_14247":41142,"_15481":41142,"_32456":41142,"_14315":41142,"_21364":41142,"_3399":41142,"_17877":41142,"_22544":41142,"_30913":41142,"_29601":41142,"_20718":41142,"_14196":41142,"_22281":41142,"_22371":41142,"_31481":41142,"_20131":41142,"_24478":41142,"_8794":41142,"_14287":41142,"_14342":41142,"_23795":41142,"_36211":41142},"222",{"_11411":40908,"_11313":40908,"_11320":40908,"_14342":40908,"_35859":40908,"_7869":40908,"_18305":40908,"_11263":40908,"_14252":40908,"_33711":40908,"_7485":40908,"_22306":40908,"_3132":40908,"_3659":40908,"_6069":40908,"_22216":40908,"_19244":40908,"_5697":40908,"_23097":40908,"_26015":40908,"_14167":40908,"_22408":40908,"_31369":40908,"_2225":40908,"_22556":40908,"_11077":40908,"_28843":40908,"_21072":40908,"_31486":40908,"_5888":40908,"_18415":40908,"_24881":40908,"_19238":40908,"_23824":40908,"_22371":40908,"_14247":40908,"_18425":40908,"_23795":40908},"223",{"_11411":40823,"_11313":40823,"_11320":40823,"_11263":40823,"_14258":40823,"_35859":40823,"_7869":40823,"_18305":40823,"_6047":40823,"_33711":40823,"_7485":40823,"_31429":40823,"_5697":40823,"_13980":40823,"_14167":40823,"_32012":40823,"_31394":40823,"_22430":40823,"_34444":40823,"_8935":40823,"_3132":40823,"_3095":40823,"_22291":40823,"_14287":40823,"_28960":40823,"_22281":40823,"_22216":40823,"_23795":40823,"_8460":40823},"224",{"_11411":40908,"_11313":40908,"_11320":40908,"_11263":40908,"_14264":40908,"_35859":40908,"_7869":40908,"_18305":40908,"_6047":40908,"_33711":40908,"_7485":40908,"_22216":40908,"_28922":40908,"_6069":40908,"_2225":40908,"_7435":40908,"_26394":40908,"_8144":40908,"_3132":40908,"_6473":40908,"_14196":40908,"_8820":40908,"_7535":40908,"_8851":40908,"_5697":40908,"_7271":40908,"_22387":40908,"_14167":40908,"_22408":40908,"_29601":40908,"_20131":40908,"_19699":40908,"_17039":40908,"_33873":40908,"_27494":40908,"_22281":40908,"_28517":40908,"_23795":40908},"225",{"_11411":41107,"_6884":41107,"_11313":41107,"_11320":41107,"_11263":41107,"_14270":41107,"_35859":41107,"_7869":41107,"_18305":41107,"_6047":41107,"_33711":41107,"_7485":41107,"_22216":41107,"_28922":41107,"_6069":41107,"_2225":41107,"_28517":41107,"_26394":41107,"_8144":41107,"_3132":41107,"_6473":41107,"_14196":41107,"_8820":41107,"_7535":41107,"_8851":41107,"_5697":41107,"_7271":41107,"_22387":41107,"_14167":41107,"_22408":41107,"_29601":41107,"_20131":41107,"_19699":41107,"_17039":41107,"_33873":41107,"_28960":41107,"_22281":41107,"_7435":41107,"_3020":41107,"_10767":41107,"_23795":41107},"226",{"_11411":40800,"_5968":40800,"_11313":40800,"_11320":40800,"_11263":40800,"_14276":40800,"_35859":40800,"_7869":40800,"_18305":40800,"_6047":40800,"_33711":40800,"_7485":40800,"_22216":40800,"_28922":40800,"_6069":40800,"_10773":40800,"_2225":40800,"_26394":40800,"_8144":40800,"_3132":40800,"_4592":40800,"_6473":40800,"_14196":40800,"_8820":40800,"_7535":40800,"_9763":40800,"_8851":40800,"_5697":40800,"_7271":40800,"_22387":40800,"_22408":40800,"_29601":40800,"_20131":40800,"_19699":40800,"_17039":40800,"_33873":40800,"_27494":40800,"_22281":40800,"_28517":40800,"_23795":40800},"227",{"_11411":41142,"_11313":41142,"_11353":41142,"_11327":41142,"_11320":41142,"_36700":41142,"_36302":41142,"_13403":41142,"_33873":41142,"_35859":41142,"_7869":41142,"_18305":41142,"_33711":41142,"_7485":41142,"_22216":41142,"_13367":41142,"_30681":41142,"_29367":41142,"_7535":41142,"_11263":41142,"_12628":41142,"_22306":41142,"_13707":41142,"_6473":41142,"_6069":41142,"_8858":41142,"_22291":41142,"_31481":41142,"_20131":41142,"_32393":41142,"_26015":41142,"_5697":41142,"_18205":41142,"_8794":41142,"_14173":41142,"_33052":41142,"_9570":41142,"_2225":41142,"_33804":41142,"_16250":41142,"_35584":41142,"_31369":41142,"_20125":41142,"_15976":41142,"_26394":41142,"_32749":41142,"_10961":41142,"_23795":41142,"_35135":41142,"_3132":41142,"_34667":41142,"_34382":41142,"_3997":41142,"_28727":41142,"_34433":41142,"_21124":41142,"_19699":41142},"228",{"_25999":40871,"_35859":40871,"_7869":40871,"_18305":40871,"_11263":40871,"_28022":40871,"_17643":40871,"_22306":40871,"_27148":40871,"_20131":40871,"_26242":40871,"_5697":40871,"_33793":40871,"_7485":40871,"_6297":40871,"_10492":40871,"_22855":40871,"_12535":40871,"_12628":40871,"_14747":40871,"_23795":40871,"_3132":40871,"_34355":40871},"229",{"_11411":40908,"_8594":40908,"_35859":40908,"_7869":40908,"_18305":40908,"_11263":40908,"_8771":40908,"_7485":40908,"_21364":40908,"_5697":40908,"_8595":40908,"_22216":40908,"_8588":40908,"_6069":40908,"_14773":40908,"_14792":40908,"_24751":40908,"_15800":40908,"_5488":40908,"_8895":40908,"_23819":40908,"_8794":40908,"_20441":40908,"_23440":40908,"_23795":40908,"_31486":40908,"_35135":40908,"_32094":40908,"_29829":40908,"_10069":40908,"_11098":40908,"_20125":40908,"_26125":40908,"_22393":40908,"_17726":40908,"_2225":40908,"_36609":40908,"_21436":40908},"230",{"_11313":41009,"_20453":41009,"_35859":41009,"_7869":41009,"_18305":41009,"_11263":41009,"_17877":41009,"_8594":41009,"_3132":41009,"_3095":41009,"_22306":41009,"_23891":41009,"_22216":41009,"_5629":41009,"_6069":41009,"_8771":41009,"_7485":41009,"_21364":41009,"_5697":41009,"_31816":41009,"_30461":41009,"_8600":41009,"_31394":41009,"_33873":41009,"_33711":41009,"_8858":41009,"_3765":41009,"_30517":41009,"_32393":41009,"_26242":41009,"_8794":41009,"_23795":41009,"_17686":41009,"_23440":41009},"231",{"_36137":40844,"_20441":40844,"_35859":40844,"_7869":40844,"_18305":40844,"_11263":40844,"_22216":40844,"_6473":40844,"_6069":40844,"_21688":40844,"_4508":40844,"_7485":40844,"_12628":40844,"_30461":40844,"_2225":40844,"_8588":40844,"_14773":40844,"_14792":40844,"_3132":40844,"_21936":40844,"_24751":40844,"_15800":40844,"_5488":40844,"_8895":40844,"_23819":40844,"_8794":40844,"_8594":40844,"_23795":40844},"232",{"_11411":41045,"_11313":41045,"_11346":41045,"_32382":41045,"_35859":41045,"_7869":41045,"_18305":41045,"_11263":41045,"_33711":41045,"_7485":41045,"_32377":41045,"_22216":41045,"_24065":41045,"_10218":41045,"_31394":41045,"_3095":41045,"_3399":41045,"_12541":41045,"_33057":41045,"_22496":41045,"_30626":41045,"_3020":41045,"_15530":41045,"_14218":41045,"_29728":41045,"_34687":41045,"_2225":41045,"_12923":41045,"_12628":41045,"_31481":41045,"_10026":41045,"_8851":41045,"_10346":41045,"_36536":41045,"_8794":41045,"_7674":41045,"_23795":41045,"_35135":41045,"_3132":41045,"_8460":41045,"_32724":41045,"_8293":41045,"_7535":41045,"_20718":41045,"_23860":41045},"233",{"_11411":40823,"_11313":40823,"_11320":40823,"_8894":40823,"_35859":40823,"_7869":40823,"_18305":40823,"_11263":40823,"_8945":40823,"_33711":40823,"_7485":40823,"_22216":40823,"_22496":40823,"_6473":40823,"_6069":40823,"_6395":40823,"_8858":40823,"_4508":40823,"_30461":40823,"_8900":40823,"_25626":40823,"_25702":40823,"_31394":40823,"_26242":40823,"_5697":40823,"_22430":40823,"_3132":40823,"_23440":40823,"_23795":40823},"234",{"_11411":40806,"_11313":40806,"_11320":40806,"_36130":40806,"_8911":40806,"_35859":40806,"_7869":40806,"_18305":40806,"_11263":40806,"_8951":40806,"_33711":40806,"_7485":40806,"_22216":40806,"_20370":40806,"_8771":40806,"_21364":40806,"_7535":40806,"_31369":40806,"_2225":40806,"_22352":40806,"_20125":40806,"_31816":40806,"_5697":40806,"_20131":40806,"_33924":40806,"_22291":40806,"_8144":40806,"_18235":40806,"_18210":40806,"_8851":40806,"_23795":40806,"_3132":40806},"235",{"_11411":41107,"_11313":41107,"_11320":41107,"_8917":41107,"_35859":41107,"_7869":41107,"_18305":41107,"_8957":41107,"_33711":41107,"_7485":41107,"_31394":41107,"_3095":41107,"_22216":41107,"_22408":41107,"_31481":41107,"_24871":41107,"_25707":41107,"_8858":41107,"_11109":41107,"_22281":41107,"_17546":41107,"_22265":41107,"_5697":41107,"_8851":41107,"_19832":41107,"_2225":41107,"_3132":41107,"_26490":41107,"_8794":41107,"_14167":41107,"_22291":41107,"_34137":41107,"_13484":41107,"_3399":41107,"_3020":41107,"_29630":41107,"_29058":41107,"_29860":41107,"_20355":41107,"_23795":41107,"_21858":41107},"236",{"_11411":41018,"_11313":41018,"_11320":41018,"_8871":41018,"_35859":41018,"_7869":41018,"_18305":41018,"_11263":41018,"_8974":41018,"_33711":41018,"_7485":41018,"_31394":41018,"_3095":41018,"_2225":41018,"_8851":41018,"_3132":41018,"_13986":41018,"_25707":41018,"_17877":41018,"_22216":41018,"_29058":41018,"_29860":41018,"_22281":41018,"_16221":41018,"_3978":41018,"_26394":41018,"_16250":41018,"_23440":41018,"_8794":41018,"_23795":41018},"237",{"_11411":41013,"_11313":41013,"_11320":41013,"_8877":41013,"_35859":41013,"_7869":41013,"_18305":41013,"_11263":41013,"_8980":41013,"_33711":41013,"_7485":41013,"_31394":41013,"_3095":41013,"_2225":41013,"_8851":41013,"_3132":41013,"_13986":41013,"_25707":41013,"_17877":41013,"_22216":41013,"_8986":41013,"_14167":41013,"_29601":41013,"_13484":41013,"_8794":41013,"_23795":41013},"238",{"_11411":40806,"_11313":40806,"_11320":40806,"_36144":40806,"_11263":40806,"_8963":40806,"_27210":40806,"_35859":40806,"_7869":40806,"_18305":40806,"_6047":40806,"_33711":40806,"_7485":40806,"_22216":40806,"_8771":40806,"_21364":40806,"_8900":40806,"_31821":40806,"_7535":40806,"_8851":40806,"_12580":40806,"_5697":40806,"_24906":40806,"_24592":40806,"_27205":40806,"_30461":40806,"_8144":40806,"_27215":40806,"_20773":40806,"_7679":40806,"_23795":40806,"_3132":40806},"239",{"_3094":40844,"_35859":40844,"_7869":40844,"_18305":40844,"_11263":40844,"_33788":40844,"_3087":40844,"_3095":40844,"_34412":40844,"_5150":40844,"_6638":40844,"_13687":40844,"_7485":40844,"_12535":40844,"_3997":40844,"_22216":40844,"_25558":40844,"_6069":40844,"_19832":40844,"_5697":40844,"_5331":40844,"_23337":40844,"_30638":40844,"_6851":40844,"_8144":40844,"_31481":40844,"_23435":40844,"_4796":40844},"240",{"_32180":40984,"_35859":40984,"_7869":40984,"_18305":40984,"_6047":40984,"_11263":40984,"_31394":40984,"_26242":40984,"_5697":40984,"_21858":40984,"_32170":40984,"_33134":40984,"_5180":40984,"_10218":40984,"_3997":40984,"_10069":40984,"_8858":40984,"_33129":40984,"_28517":40984,"_12628":40984,"_30461":40984,"_4105":40984,"_22216":40984,"_13582":40984,"_23795":40984,"_3132":40984,"_8460":40984},"241",{"_36123":40871,"_20336":40871,"_35859":40871,"_7869":40871,"_18305":40871,"_11263":40871,"_8414":40871,"_22216":40871,"_20370":40871,"_6473":40871,"_6069":40871,"_26675":40871,"_27839":40871,"_2225":40871,"_3020":40871,"_7735":40871,"_15794":40871,"_25956":40871,"_4975":40871,"_27355":40871,"_8771":40871,"_23795":40871,"_3132":40871},"242",{"_36130":40871,"_20342":40871,"_35859":40871,"_7869":40871,"_18305":40871,"_11263":40871,"_8414":40871,"_22216":40871,"_20370":40871,"_6473":40871,"_6069":40871,"_23367":40871,"_27839":40871,"_2225":40871,"_3020":40871,"_7735":40871,"_15794":40871,"_25956":40871,"_4975":40871,"_27355":40871,"_8771":40871,"_23795":40871,"_3132":40871},"243",{"_11411":41196,"_11313":41196,"_11320":41196,"_23688":41196,"_3095":41196,"_35859":41196,"_7869":41196,"_18305":41196,"_6047":41196,"_11263":41196,"_33711":41196,"_7485":41196,"_22216":41196,"_8293":41196,"_3132":41196,"_3252":41196,"_5697":41196,"_23896":41196,"_3":41196,"_16613":41196,"_16786":41196,"_31394":41196,"_28491":41196,"_13121":41196,"_8204":41196,"_23419":41196,"_16031":41196,"_7019":41196,"_3399":41196,"_7716":41196,"_8414":41196,"_16221":41196,"_24815":41196,"_16670":41196,"_3325":41196,"_10218":41196,"_7535":41196,"_23235":41196,"_12535":41196,"_3997":41196,"_3324":41196,"_19376":41196,"_21088":41196},"244",{"_7692":40827,"_16232":40827,"_35012":40827,"_33612":40827,"_23311":40827,"_19381":40827,"_16685":40827,"_20011":40827},"245",{"_22216":40844,"_17958":40844,"_3132":40844,"_26933":40844,"_3325":40844,"_35135":40844,"_6069":40844,"_23235":40844,"_31481":40844,"_20131":40844,"_34971":40844,"_16670":40844,"_12535":40844,"_3997":40844,"_15368":40844,"_5697":40844,"_26242":40844,"_3":40844,"_31394":40844,"_8414":40844,"_18675":40844,"_23042":40844,"_8144":40844,"_18695":40844,"_21910":40844,"_29769":40844,"_31486":40844,"_7648":40844},"246",{"_15563":40829,"_3325":40829,"_33711":40829,"_2212":40829,"_3":40829,"_3280":40829,"_6214":40829},"247",{"_11411":40836,"_17877":40836,"_8144":40836,"_2216":40836,"_15675":40836,"_2225":40836,"_33711":40836,"_2212":40836,"_22216":40836,"_3325":40836,"_6214":40836,"_3":40836,"_31481":40836,"_20131":40836,"_3399":40836,"_12812":40836,"_5754":40836},"248",{"_22306":41009,"_3325":41009,"_31481":41009,"_20131":41009,"_3978":41009,"_31486":41009,"_33129":41009,"_23042":41009,"_5697":41009,"_10280":41009,"_22216":41009,"_32574":41009,"_35135":41009,"_5473":41009,"_4287":41009,"_3":41009,"_21910":41009,"_8144":41009,"_26490":41009,"_7742":41009,"_6322":41009,"_18335":41009,"_29274":41009,"_14973":41009,"_5016":41009,"_3659":41009,"_7485":41009,"_3399":41009,"_10249":41009,"_21375":41009,"_17877":41009,"_2216":41009,"_15800":41009,"_27355":41009},"249",{"_22223":41264,"_23688":41264,"_35135":41264,"_31481":41264,"_4592":41264,"_20131":41264,"_18974":41264,"_31486":41264,"_33129":41264,"_23042":41264,"_3399":41264,"_26686":41264,"_3997":41264,"_22216":41264,"_23419":41264,"_4593":41264,"_31394":41264,"_25966":41264,"_9228":41264,"_24729":41264,"_3":41264,"_8204":41264,"_8144":41264,"_14973":41264,"_26125":41264,"_17877":41264,"_22228":41264,"_3132":41264,"_3325":41264,"_21375":41264,"_31369":41264,"_30102":41264,"_23896":41264,"_14349":41264,"_17546":41264},0.02857142857142857,{"_7535":40806,"_22216":40806,"_5016":40806,"_3325":40806,"_8132":40806,"_31976":40806,"_3750":40806,"_34412":40806,"_15744":40806,"_16932":40806,"_8144":40806,"_2216":40806,"_15800":40806,"_2225":40806,"_15212":40806,"_30822":40806,"_20718":40806,"_33593":40806,"_14978":40806,"_5697":40806,"_3399":40806,"_15206":40806,"_19684":40806,"_3132":40806,"_10138":40806,"_11151":40806,"_15794":40806,"_4630":40806,"_21098":40806,"_6483":40806,"_33748":40806,"_30078":40806},"251",{"_22306":40844,"_8293":40844,"_3132":40844,"_30691":40844,"_3399":40844,"_7571":40844,"_14926":40844,"_4593":40844,"_8144":40844,"_15794":40844,"_27391":40844,"_10980":40844,"_34935":40844,"_24722":40844,"_3095":40844,"_29068":40844,"_23440":40844,"_31492":40844,"_3642":40844,"_17546":40844,"_30078":40844,"_3765":40844,"_22216":40844,"_27631":40844,"_29630":40844,"_30522":40844,"_15176":40844,"_22034":40844},"252",{"_31394":41009,"_8414":41009,"_8776":41009,"_31486":41009,"_33711":41009,"_15254":41009,"_31374":41009,"_7735":41009,"_6214":41009,"_3659":41009,"_22216":41009,"_23688":41009,"_31481":41009,"_20131":41009,"_4195":41009,"_5697":41009,"_21644":41009,"_6069":41009,"_33129":41009,"_23042":41009,"_6047":41009,"_10041":41009,"_30029":41009,"_3399":41009,"_3":41009,"_35135":41009,"_7485":41009,"_18073":41009,"_8144":41009,"_31971":41009,"_5488":41009,"_10086":41009,"_18200":41009,"_33851":41009},"253",{"_31394":40806,"_8414":40806,"_8776":40806,"_31486":40806,"_6214":40806,"_15254":40806,"_31374":40806,"_7735":40806,"_33711":40806,"_3659":40806,"_22216":40806,"_23688":40806,"_31971":40806,"_20131":40806,"_26490":40806,"_23042":40806,"_21951":40806,"_5697":40806,"_10041":40806,"_8144":40806,"_31481":40806,"_22435":40806,"_33633":40806,"_31369":40806,"_3132":40806,"_16001":40806,"_3399":40806,"_29659":40806,"_7058":40806,"_35135":40806,"_26242":40806,"_34246":40806},{"_31394":40917,"_28491":40917,"_6214":40917,"_26686":40917,"_31486":40917,"_33711":40917,"_15254":40917,"_8144":40917,"_31481":40917,"_22435":40917,"_17888":40917,"_21967":40917,"_5697":40917,"_10041":40917,"_22216":40917,"_34034":40917,"_23688":40917,"_35135":40917,"_3399":40917,"_13798":40917,"_20131":40917,"_16001":40917,"_26242":40917,"_34246":40917,"_31369":40917,"_20946":40917,"_31976":40917,"_31971":40917,"_14973":40917,"_22306":40917,"_3132":40917,"_32574":40917,"_29763":40917,"_24592":40917,"_10985":40917,"_34935":40917},{"_31394":40881,"_28491":40881,"_33711":40881,"_26686":40881,"_31486":40881,"_6214":40881,"_15254":40881,"_8144":40881,"_31481":40881,"_7945":40881,"_25152":40881,"_5473":40881,"_24200":40881,"_22216":40881,"_3":40881,"_21910":40881,"_23688":40881,"_35135":40881,"_4975":40881,"_21644":40881,"_6069":40881,"_7825":40881,"_20131":40881,"_18073":40881},{"_22216":41000,"_27631":41000,"_6069":41000,"_10985":41000,"_9222":41000,"_31486":41000,"_8658":41000,"_15363":41000,"_3765":41000,"_26988":41000,"_5697":41000,"_36705":41000,"_3399":41000,"_37394":41000,"_23551":41000,"_5400":41000,"_17877":41000,"_8414":41000,"_3095":41000,"_30822":41000,"_7735":41000,"_15800":41000,"_23688":41000,"_35135":41000,"_31481":41000,"_20131":41000,"_18073":41000,"_31971":41000,"_14973":41000,"_24592":41000,"_8770":41000,"_23440":41000,"_7271":41000,"_33633":41000,"_13798":41000,"_31369":41000,"_3132":41000,"_29659":41000,"_7058":41000},"257",{"_33882":40841,"_22216":40841,"_15546":40841,"_23688":40841,"_15905":40841,"_33032":40841,"_33974":40841,"_34687":40841,"_11263":40841,"_24617":40841,"_5697":40841,"_19745":40841,"_16613":40841,"_7485":40841,"_24065":40841,"_25512":40841,"_2212":40841,"_31976":40841,"_15794":40841,"_16561":40841,"_22291":40841,"_5473":40841,"_17546":40841,"_3132":40841,"_8034":40841},"258",{"_8794":40901,"_23795":40901,"_22306":40901,"_8293":40901,"_3132":40901,"_3095":40901,"_26242":40901,"_8460":40901,"_5697":40901,"_23435":40901,"_8144":40901},"259",{"_11411":41018,"_11313":41018,"_11320":41018,"_26686":41018,"_15115":41018,"_20898":41018,"_35859":41018,"_7869":41018,"_18305":41018,"_11263":41018,"_33711":41018,"_7485":41018,"_22306":41018,"_13707":41018,"_31429":41018,"_3020":41018,"_15800":41018,"_27148":41018,"_15110":41018,"_26698":41018,"_30461":41018,"_25477":41018,"_22265":41018,"_3997":41018,"_23419":41018,"_26125":41018,"_11371":41018,"_19679":41018,"_20508":41018,"_3765":41018},"260",{"_23440":40817,"_33873":40817,"_26686":40817,"_15115":40817,"_22306":40817,"_3132":40817,"_22216":40817,"_23795":40817,"_30486":40817},"261",{"_7452":40787,"_26125":40787,"_7458":40787,"_15115":40787},"262",{"_26747":40853,"_26125":40853,"_15115":40853},"263",{"_11313":41289,"_11353":41289,"_11327":41289,"_11320":41289,"_26686":41289,"_21863":41289,"_33501":41289,"_35859":41289,"_7869":41289,"_18305":41289,"_11263":41289,"_33711":41289,"_7485":41289,"_22306":41289,"_13707":41289,"_31429":41289,"_3020":41289,"_15800":41289,"_27148":41289,"_21915":41289,"_21385":41289,"_7841":41289,"_3925":41289,"_2225":41289,"_8490":41289,"_13165":41289,"_22291":41289,"_15805":41289,"_20131":41289,"_9611":41289,"_8204":41289,"_26242":41289,"_5697":41289,"_21858":41289,"_4484":41289,"_25966":41289,"_9600":41289,"_31492":41289,"_6047":41289,"_24592":41289,"_34930":41289,"_6214":41289,"_35295":41289,"_6069":41289,"_4309":41289,"_18546":41289,"_31404":41289,"_21246":41289,"_29630":41289,"_21678":41289,"_14792":41289,"_30822":41289,"_18591":41289,"_17877":41289,"_22216":41289,"_35135":41289,"_3132":41289,"_34935":41289,"_31976":41289,"_9646":41289,"_26285":41289,"_8485":41289,"_8460":41289,"_5473":41289,"_3399":41289,"_9222":41289,"_18190":41289,"_4593":41289,"_15794":41289,"_13625":41289,"_34146":41289,"_3":41289,"_13965":41289,"_10218":41289,"_9605":41289,"_23795":41289},0.013157894736842105,"264",{"_11411":40844,"_11313":40844,"_11320":40844,"_4932":40844,"_32156":40844,"_35859":40844,"_7869":40844,"_18305":40844,"_11263":40844,"_33711":40844,"_7485":40844,"_8794":40844,"_23795":40844,"_28405":40844,"_3765":40844,"_23440":40844,"_26242":40844,"_5697":40844,"_21858":40844,"_8144":40844,"_35135":40844,"_3132":40844,"_8460":40844,"_26125":40844,"_22216":40844,"_7535":40844,"_20718":40844,"_17163":40844},"265",{"_11411":41018,"_11313":41018,"_11320":41018,"_4932":41018,"_17627":41018,"_13304":41018,"_35859":41018,"_7869":41018,"_18305":41018,"_11263":41018,"_33711":41018,"_7485":41018,"_5697":41018,"_17632":41018,"_22216":41018,"_28374":41018,"_8794":41018,"_23795":41018,"_28389":41018,"_12535":41018,"_6270":41018,"_4356":41018,"_27719":41018,"_3132":41018,"_34439":41018,"_26125":41018,"_28405":41018,"_7535":41018,"_20718":41018,"_17163":41018},"266",{"_11411":40808,"_11313":40808,"_11320":40808,"_36130":40808,"_36615":40808,"_28971":40808,"_35859":40808,"_7869":40808,"_18305":40808,"_11263":40808,"_33711":40808,"_7485":40808,"_22216":40808,"_20370":40808,"_6473":40808,"_6069":40808,"_30626":40808,"_4455":40808,"_17179":40808,"_28954":40808,"_8851":40808,"_14167":40808,"_31481":40808,"_20131":40808,"_13484":40808,"_17877":40808,"_2225":40808,"_14833":40808,"_15981":40808,"_8895":40808,"_33062":40808,"_23795":40808,"_3132":40808},"267",{"_11411":40808,"_11313":40808,"_11320":40808,"_28977":40808,"_35859":40808,"_7869":40808,"_18305":40808,"_11263":40808,"_33711":40808,"_7485":40808,"_22216":40808,"_27051":40808,"_22371":40808,"_5473":40808,"_31369":40808,"_2225":40808,"_8851":40808,"_3132":40808,"_13986":40808,"_28954":40808,"_17877":40808,"_8144":40808,"_34382":40808,"_22260":40808,"_4455":40808,"_8858":40808,"_3765":40808,"_27484":40808,"_33577":40808,"_23082":40808,"_6126":40808,"_22430":40808,"_23795":40808},"268",{"_37379":41205,"_6401":41205,"_8895":41205,"_35859":41205,"_7869":41205,"_18305":41205,"_6047":41205,"_11263":41205,"_33788":41205,"_12628":41205,"_22216":41205,"_20370":41205,"_17108":41205,"_22855":41205,"_6402":41205,"_14173":41205,"_14523":41205,"_29630":41205,"_7485":41205,"_33052":41205,"_22306":41205,"_31481":41205,"_20131":41205,"_10031":41205,"_30461":41205,"_25621":41205,"_26285":41205,"_24761":41205,"_20297":41205,"_14409":41205,"_30822":41205,"_30108":41205,"_5331":41205,"_30088":41205,"_33562":41205,"_24617":41205,"_5697":41205,"_16250":41205,"_31394":41205,"_22228":41205,"_3765":41205,"_22523":41205,"_20190":41205,"_29695":41205,"_26242":41205,"_8144":41205,"_26773":41205,"_7875":41205,"_3132":41205,"_7123":41205,"_32371":41205},"269",{"_11411":41168,"_6884":41168,"_11313":41168,"_11346":41168,"_11375":41168,"_33788":41168,"_12628":41168,"_33151":41168,"_35859":41168,"_7869":41168,"_18305":41168,"_11263":41168,"_17877":41168,"_22216":41168,"_3132":41168,"_15800":41168,"_7680":41168,"_25616":41168,"_24871":41168,"_23016":41168,"_14173":41168,"_30461":41168,"_19012":41168,"_22855":41168,"_6402":41168,"_22306":41168,"_34444":41168,"_7485":41168,"_6297":41168,"_5697":41168,"_18644":41168,"_8641":41168,"_31486":41168,"_20190":41168,"_14399":41168,"_29695":41168,"_5473":41168,"_2225":41168,"_9222":41168,"_19922":41168,"_33882":41168,"_22291":41168,"_30253":41168,"_32156":41168,"_8651":41168,"_31971":41168,"_3681":41168,"_37514":41168,"_14688":41168,"_8144":41168,"_30491":41168,"_6069":41168,"_24881":41168,"_14167":41168,"_29601":41168,"_30522":41168,"_16834":41168,"_3399":41168,"_31630":41168,"_19679":41168,"_23435":41168,"_27021":41168,"_8293":41168,"_23440":41168,"_8794":41168,"_23795":41168},"270",{"_11411":41304,"_22418":41304,"_35859":41304,"_7869":41304,"_18305":41304,"_11263":41304,"_22424":41304,"_22216":41304,"_8771":41304,"_7485":41304,"_8900":41304,"_12580":41304,"_28472":41304,"_22281":41304,"_31369":41304,"_2225":41304,"_8851":41304,"_31481":41304,"_20131":41304,"_20610":41304,"_3925":41304,"_22413":41304,"_8858":41304,"_15800":41304,"_18205":41304,"_3672":41304,"_30517":41304,"_8310":41304,"_20773":41304,"_19832":41304,"_6069":41304,"_12628":41304,"_8144":41304,"_30383":41304,"_5697":41304,"_18602":41304,"_6297":41304,"_4455":41304,"_8000":41304,"_17546":41304,"_3074":41304,"_33211":41304,"_9130":41304,"_33711":41304,"_15254":41304,"_13196":41304,"_7535":41304,"_22223":41304,"_34708":41304,"_17054":41304,"_3132":41304,"_13350":41304,"_9496":41304,"_22265":41304,"_17810":41304,"_31394":41304,"_26242":41304,"_33873":41304,"_23795":41304},0.01694915254237288,"271",{"_11411":41182,"_11313":41182,"_11346":41182,"_29274":41182,"_13494":41182,"_35859":41182,"_7869":41182,"_18305":41182,"_11263":41182,"_3252":41182,"_7535":41182,"_30691":41182,"_14931":41182,"_33711":41182,"_7485":41182,"_31394":41182,"_3095":41182,"_2225":41182,"_31481":41182,"_13478":41182,"_22216":41182,"_13582":41182,"_13367":41182,"_4099":41182,"_22306":41182,"_3132":41182,"_34444":41182,"_22855":41182,"_14173":41182,"_31404":41182,"_13500":41182,"_21246":41182,"_21588":41182,"_28467":41182,"_8771":41182,"_31295":41182,"_27205":41182,"_18190":41182,"_19751":41182,"_8595":41182,"_8414":41182,"_8420":41182,"_3399":41182,"_29301":41182,"_34731":41182,"_5342":41182,"_31305":41182,"_24220":41182,"_15794":41182,"_20131":41182,"_25616":41182,"_31374":41182,"_30517":41182,"_13484":41182,"_23795":41182,"_8460":41182},"272",{"_11411":40962,"_11313":40962,"_11346":40962,"_8414":40962,"_13494":40962,"_35859":40962,"_7869":40962,"_18305":40962,"_11263":40962,"_3252":40962,"_7535":40962,"_30691":40962,"_14931":40962,"_33711":40962,"_7485":40962,"_31394":40962,"_3095":40962,"_22216":40962,"_31481":40962,"_13478":40962,"_2225":40962,"_13582":40962,"_13367":40962,"_4099":40962,"_22306":40962,"_3132":40962,"_34444":40962,"_22855":40962,"_14173":40962,"_31404":40962,"_13500":40962,"_21246":40962,"_21588":40962,"_28467":40962,"_8771":40962,"_17877":40962,"_23519":40962,"_7735":40962,"_17359":40962,"_19800":40962,"_30435":40962,"_6069":40962,"_8365":40962,"_27911":40962,"_22260":40962,"_31295":40962,"_4105":40962,"_19805":40962,"_5697":40962,"_3672":40962,"_7742":40962,"_31492":40962,"_9585":40962,"_15800":40962,"_26495":40962,"_26394":40962,"_17163":40962,"_31369":40962,"_15981":40962,"_26401":40962,"_32760":40962,"_26285":40962,"_8651":40962,"_21858":40962,"_32120":40962,"_22291":40962,"_20131":40962,"_26490":40962,"_10544":40962,"_23795":40962,"_8460":40962},"273",{"_11411":41205,"_11313":41205,"_11346":41205,"_29274":41205,"_4104":41205,"_35859":41205,"_7869":41205,"_18305":41205,"_11263":41205,"_3252":41205,"_7535":41205,"_30691":41205,"_14931":41205,"_33711":41205,"_7485":41205,"_22216":41205,"_4105":41205,"_3399":41205,"_9585":41205,"_19318":41205,"_32022":41205,"_24776":41205,"_27901":41205,"_2225":41205,"_15733":41205,"_26175":41205,"_3074":41205,"_34779":41205,"_33804":41205,"_17546":41205,"_14523":41205,"_15976":41205,"_7742":41205,"_5697":41205,"_29712":41205,"_26125":41205,"_11383":41205,"_11484":41205,"_24086":41205,"_20752":41205,"_26566":41205,"_22352":41205,"_26504":41205,"_4099":41205,"_3132":41205,"_3095":41205,"_31486":41205,"_22306":41205,"_19238":41205,"_23795":41205,"_8460":41205},"274",{"_7577":40806,"_35859":40806,"_7869":40806,"_18305":40806,"_11263":40806,"_31394":40806,"_22306":40806,"_3132":40806,"_26242":40806,"_22216":40806,"_8858":40806,"_8204":40806,"_29279":40806,"_31971":40806,"_20131":40806,"_32392":40806,"_5697":40806,"_14797":40806,"_12580":40806,"_31369":40806,"_31481":40806,"_30102":40806,"_27376":40806,"_9337":40806,"_3399":40806,"_7464":40806,"_8771":40806,"_3997":40806,"_8414":40806,"_23795":40806,"_35135":40806,"_8460":40806},"275",{"_11411":41000,"_11313":41000,"_11306":41000,"_26098":41000,"_3095":41000,"_35859":41000,"_7869":41000,"_18305":41000,"_11263":41000,"_33711":41000,"_7485":41000,"_17877":41000,"_26104":41000,"_22216":41000,"_26099":41000,"_31394":41000,"_26686":41000,"_3399":41000,"_24210":41000,"_8144":41000,"_9259":41000,"_23804":41000,"_5697":41000,"_21858":41000,"_33748":41000,"_20131":41000,"_7535":41000,"_19012":41000,"_35370":41000,"_2974":41000,"_12628":41000,"_14688":41000,"_3925":41000,"_22228":41000,"_3132":41000,"_33873":41000,"_7825":41000,"_7853":41000,"_32932":41000},"276",{"_22306":40815,"_8293":40815,"_3132":40815,"_30691":40815,"_3399":40815,"_7571":40815,"_14926":40815,"_30078":40815,"_3765":40815,"_22216":40815,"_23383":40815,"_27631":40815},"277",{"_26686":40878,"_21936":40878,"_8794":40878,"_12628":40878,"_16932":40878},"278",{"_31394":41013,"_28491":41013,"_6214":41013,"_26686":41013,"_31486":41013,"_33711":41013,"_15254":41013,"_8144":41013,"_31481":41013,"_22435":41013,"_33638":41013,"_21967":41013,"_5697":41013,"_10041":41013,"_22216":41013,"_34034":41013,"_26099":41013,"_35135":41013,"_3399":41013,"_13798":41013,"_20131":41013,"_16001":41013,"_26242":41013,"_34412":41013,"_7825":41013,"_7853":41013},"279",{"_31394":41013,"_28491":41013,"_33711":41013,"_26686":41013,"_31486":41013,"_6214":41013,"_15254":41013,"_8144":41013,"_31481":41013,"_7945":41013,"_25152":41013,"_5473":41013,"_24200":41013,"_22216":41013,"_23688":41013,"_35135":41013,"_26099":41013,"_4975":41013,"_21644":41013,"_6069":41013,"_7825":41013,"_20131":41013,"_18073":41013,"_26242":41013,"_34412":41013,"_7853":41013},"280",{"_7686":41013,"_7019":41013,"_30506":41013,"_8414":41013,"_3399":41013,"_7735":41013,"_22216":41013,"_26099":41013,"_31481":41013,"_15800":41013,"_20131":41013,"_26093":41013,"_8794":41013,"_24215":41013,"_7485":41013,"_31123":41013,"_33711":41013,"_6214":41013,"_15254":41013,"_8144":41013,"_26242":41013,"_5697":41013,"_26490":41013,"_8204":41013,"_35370":41013,"_36474":41013},"281",{"_26686":40911,"_21936":40911,"_35370":40911,"_2974":40911,"_12628":40911,"_4340":40911,"_22216":40911,"_8293":40911,"_8651":40911,"_33743":40911,"_5697":40911,"_20131":40911,"_3095":40911,"_7535":40911,"_14682":40911,"_31880":40911},"282",{"_22216":40784,"_5879":40784,"_7485":40784,"_22306":40784,"_26175":40784,"_3765":40784,"_24091":40784,"_7535":40784,"_10492":40784,"_31486":40784,"_3074":40784,"_32088":40784,"_6069":40784,"_25966":40784,"_22291":40784,"_3132":40784,"_31394":40784,"_24249":40784,"_13243":40784},"283",{"_11411":40924,"_6884":40924,"_5968":40924,"_11313":40924,"_33277":40924,"_33873":40924,"_35859":40924,"_7869":40924,"_18305":40924,"_8420":40924,"_17643":40924,"_5697":40924,"_10492":40924,"_2225":40924,"_35135":40924,"_6069":40924,"_14572":40924,"_22216":40924,"_34061":40924,"_35022":40924,"_12720":40924,"_8403":40924,"_8414":40924,"_4871":40924,"_3399":40924,"_23021":40924,"_4642":40924,"_31630":40924,"_20120":40924,"_23795":40924,"_7485":40924,"_18878":40924,"_35295":40924,"_32022":40924,"_34412":40924,"_3925":40924,"_32003":40924},"284",{"_5":40794,"_17136":40794},"285",{"_11411":41107,"_6884":41107,"_5968":41107,"_11313":41107,"_11353":41107,"_11320":41107,"_22216":41107,"_17651":41107,"_6069":41107,"_8414":41107,"_8420":41107,"_3399":41107,"_32022":41107,"_24281":41107,"_7485":41107,"_27021":41107,"_6047":41107,"_8419":41107,"_3132":41107,"_5318":41107,"_15925":41107,"_34935":41107,"_30253":41107,"_29630":41107,"_5697":41107,"_27200":41107,"_20773":41107,"_4455":41107,"_30258":41107,"_25966":41107,"_9222":41107,"_22265":41107,"_31486":41107,"_33277":41107,"_3020":41107,"_8794":41107,"_9055":41107,"_6144":41107,"_8204":41107,"_13755":41107,"_7825":41107},"286",{"_11411":40798,"_11313":40798,"_11320":40798,"_20459":40798,"_35859":40798,"_7869":40798,"_18305":40798,"_11263":40798,"_8414":40798,"_33711":40798,"_7485":40798,"_22216":40798,"_20370":40798,"_8771":40798,"_5697":40798,"_31816":40798,"_7535":40798,"_33444":40798,"_8204":40798,"_35453":40798,"_31394":40798,"_4985":40798,"_17877":40798,"_9575":40798,"_2225":40798,"_28678":40798,"_33914":40798,"_3659":40798,"_6069":40798,"_16221":40798,"_3399":40798,"_8144":40798,"_29620":40798,"_19318":40798,"_20631":40798,"_31497":40798,"_22260":40798,"_31481":40798,"_7162":40798,"_33258":40798,"_5668":40798,"_22306":40798,"_15794":40798,"_20131":40798,"_23102":40798,"_10639":40798,"_13582":40798,"_3020":40798,"_12628":40798,"_34731":40798,"_26242":40798,"_21225":40798,"_27494":40798,"_22281":40798,"_17369":40798,"_22804":40798,"_15706":40798,"_23242":40798,"_32139":40798,"_26773":40798,"_7875":40798,"_37399":40798},"287",{"_17369":40808,"_33873":40808,"_35859":40808,"_7869":40808,"_18305":40808,"_5629":40808,"_6069":40808,"_8771":40808,"_7485":40808,"_22809":40808,"_26125":40808,"_22804":40808,"_5697":40808,"_4484":40808,"_7742":40808,"_14151":40808,"_3399":40808,"_7686":40808,"_2225":40808,"_8414":40808,"_16644":40808,"_22306":40808,"_35135":40808,"_3925":40808,"_33753":40808,"_17877":40808,"_22216":40808,"_3":40808,"_20165":40808,"_8794":40808,"_11263":40808,"_3132":40808,"_28954":40808},{"_14366":41264,"_35859":41264,"_7869":41264,"_18305":41264,"_11263":41264,"_5629":41264,"_6069":41264,"_8771":41264,"_7485":41264,"_22809":41264,"_26125":41264,"_22804":41264,"_5697":41264,"_4484":41264,"_7742":41264,"_14151":41264,"_22216":41264,"_8414":41264,"_5473":41264,"_8420":41264,"_23804":41264,"_35135":41264,"_17369":41264,"_10492":41264,"_31394":41264,"_3132":41264,"_29829":41264,"_4593":41264,"_14354":41264,"_29274":41264,"_6701":41264,"_24761":41264,"_5242":41264,"_29860":41264,"_16250":41264},"289",{"_29220":40859,"_35859":40859,"_7869":40859,"_18305":40859,"_11263":40859,"_8414":40859,"_5085":40859,"_12541":40859,"_14173":40859,"_23795":40859,"_35135":40859,"_3132":40859,"_30320":40859,"_22216":40859,"_20234":40859,"_15291":40859,"_34960":40859,"_7535":40859,"_29860":40859,"_34955":40859,"_22393":40859,"_4975":40859,"_27746":40859,"_32594":40859,"_6069":40859,"_10041":40859,"_15794":40859,"_20131":40859,"_13780":40859,"_5697":40859,"_15800":40859,"_5074":40859,"_13350":40859,"_3399":40859,"_7799":40859,"_3997":40859,"_15306":40859,"_22306":40859,"_5871":40859,"_31369":40859,"_20946":40859,"_22291":40859,"_2225":40859,"_31481":40859},"290",{"_5":40794,"_17136":40794},"291",{"_23082":40796,"_3997":40796,"_8414":40796,"_26373":40796,"_3132":40796,"_29839":40796,"_9652":40796,"_31394":40796,"_30253":40796,"_29630":40796,"_20718":40796,"_22281":40796,"_22347":40796,"_11263":40796,"_25966":40796,"_7485":40796,"_3074":40796,"_32088":40796},"292",{"_12628":41348,"_4309":41348,"_29499":41348,"_34371":41348,"_33120":41348,"_33873":41348,"_35859":41348,"_7869":41348,"_18305":41348,"_25966":41348,"_20285":41348,"_7019":41348,"_22216":41348,"_11263":41348,"_32088":41348,"_31394":41348,"_25626":41348,"_8144":41348,"_23891":41348,"_31369":41348,"_3132":41348,"_8794":41348,"_28678":41348,"_7535":41348,"_7825":41348,"_21458":41348,"_7485":41348,"_3":41348,"_23347":41348,"_22291":41348,"_13576":41348,"_6473":41348,"_4110":41348,"_3399":41348,"_27148":41348,"_20482":41348,"_29378":41348,"_27185":41348,"_27134":41348,"_6069":41348,"_22306":41348,"_26285":41348,"_28777":41348,"_20270":41348,"_34439":41348,"_13350":41348,"_21124":41348,"_33129":41348,"_29601":41348,"_22228":41348,"_3765":41348,"_22693":41348,"_6707":41348,"_34203":41348,"_7924":41348,"_7742":41348,"_5697":41348,"_14151":41348,"_8414":41348,"_26185":41348,"_8420":41348,"_17877":41348,"_30253":41348,"_31635":41348,"_8906":41348,"_21199":41348,"_3997":41348,"_2225":41348,"_27026":41348,"_20234":41348,"_22260":41348,"_23383":41348,"_19631":41348,"_15794":41348,"_20131":41348},0.013333333333333334,"293",{"_11411":41185,"_11313":41185,"_11320":41185,"_27021":41185,"_11263":41185,"_8144":41185,"_3132":41185,"_19679":41185,"_5697":41185,"_28046":41185,"_21199":41185,"_3244":41185,"_7535":41185,"_33129":41185,"_12628":41185,"_26125":41185,"_11377":41185,"_32156":41185,"_22306":41185,"_8293":41185,"_30253":41185,"_21124":41185,"_26242":41185,"_22216":41185,"_21204":41185,"_3095":41185,"_13755":41185,"_18305":41185,"_21858":41185,"_30108":41185,"_14241":41185,"_5325":41185,"_3399":41185,"_3276":41185,"_33804":41185,"_29347":41185,"_9316":41185,"_31394":41185,"_19999":41185,"_16891":41185,"_3765":41185,"_34439":41185,"_25966":41185,"_3145":41185,"_30980":41185,"_3997":41185,"_4455":41185,"_8770":41185,"_28200":41185,"_2225":41185,"_31885":41185,"_16886":41185,"_7485":41185,"_15925":41185,"_33211":41185,"_23383":41185,"_15794":41185,"_20131":41185,"_28017":41185,"_13739":41185,"_34412":41185,"_19827":41185,"_3030":41185,"_15415":41185,"_17595":41185,"_28683":41185,"_7875":41185},"294",{"_5":40794,"_17136":40794},"295",{"_11411":40962,"_11313":40962,"_11320":40962,"_8794":40962,"_32186":40962,"_22306":40962,"_8293":40962,"_22216":40962,"_13582":40962,"_18435":40962,"_11263":40962,"_26020":40962,"_31481":40962,"_15363":40962,"_34454":40962,"_15800":40962,"_33939":40962,"_3399":40962,"_31394":40962,"_3658":40962,"_25626":40962,"_2225":40962,"_13234":40962,"_31486":40962,"_33711":40962,"_13739":40962,"_32461":40962,"_31880":40962,"_5375":40962,"_29490":40962,"_17851":40962,"_19679":40962,"_5697":40962,"_32156":40962,"_28046":40962,"_21199":40962,"_3244":40962,"_24592":40962,"_10985":40962,"_34935":40962,"_17877":40962,"_6214":40962,"_23753":40962,"_25052":40962,"_21204":40962,"_7485":40962,"_15925":40962,"_30253":40962,"_33743":40962,"_30822":40962,"_4592":40962,"_18990":40962,"_8204":40962,"_6225":40962,"_22281":40962,"_22260":40962,"_7924":40962,"_24662":40962,"_31492":40962,"_29068":40962,"_20270":40962,"_26566":40962,"_9222":40962,"_13755":40962,"_31404":40962,"_3095":40962,"_3132":40962,"_26242":40962,"_21858":40962,"_3765":40962,"_18170":40962},"296",{"_27906":40823,"_33873":40823,"_35859":40823,"_7869":40823,"_18305":40823,"_5629":40823,"_6069":40823,"_8771":40823,"_7485":40823,"_22809":40823,"_26125":40823,"_22804":40823,"_5697":40823,"_4484":40823,"_7742":40823,"_7686":40823,"_31486":40823,"_11263":40823,"_17877":40823,"_8474":40823,"_22523":40823,"_8502":40823,"_30471":40823,"_2225":40823,"_8414":40823,"_22255":40823,"_31481":40823,"_20131":40823,"_24886":40823},"297",{"_7018":41045,"_4309":41045,"_34371":41045,"_33873":41045,"_35859":41045,"_7869":41045,"_18305":41045,"_32170":41045,"_2225":41045,"_29947":41045,"_13582":41045,"_14066":41045,"_3132":41045,"_17918":41045,"_3399":41045,"_22216":41045,"_34203":41045,"_7716":41045,"_27092":41045,"_14556":41045,"_5697":41045,"_12628":41045,"_17923":41045,"_29383":41045,"_27134":41045,"_6069":41045,"_4070":41045,"_15242":41045,"_28777":41045,"_33882":41045,"_22291":41045,"_7025":41045,"_21124":41045,"_20131":41045,"_23639":41045,"_34624":41045,"_4455":41045,"_11263":41045,"_32088":41045,"_30253":41045,"_31481":41045,"_7983":41045,"_3074":41045,"_32535":41045,"_30078":41045},"298",{"_6884":41361,"_28922":41361,"_4309":41361,"_34371":41361,"_33873":41361,"_35859":41361,"_7869":41361,"_18305":41361,"_34439":41361,"_4661":41361,"_31486":41361,"_7018":41361,"_8144":41361,"_4076":41361,"_2225":41361,"_5697":41361,"_12628":41361,"_31394":41361,"_7654":41361,"_36501":41361,"_25132":41361,"_35135":41361,"_14572":41361,"_22216":41361,"_6069":41361,"_35432":41361,"_22228":41361,"_3765":41361,"_8315":41361,"_19228":41361,"_11263":41361,"_22291":41361,"_8815":41361,"_3925":41361,"_8414":41361,"_8420":41361,"_3399":41361,"_5584":41361,"_31202":41361,"_18435":41361,"_8794":41361,"_23795":41361,"_3132":41361,"_17877":41361,"_13755":41361,"_23824":41361,"_7025":41361,"_30822":41361,"_15800":41361,"_32012":41361,"_22260":41361,"_31481":41361,"_20131":41361,"_4081":41361,"_4455":41361,"_25966":41361,"_30253":41361,"_7983":41361,"_3074":41361,"_32535":41361,"_30078":41361},0.01639344262295082,"299",{"_11313":40871,"_16249":40871,"_35859":40871,"_7869":40871,"_18305":40871,"_11263":40871,"_23265":40871,"_22216":40871,"_16250":40871,"_35135":40871,"_7535":40871,"_5834":40871,"_14173":40871,"_8414":40871,"_8420":40871,"_33919":40871,"_6047":40871,"_4261":40871,"_17877":40871,"_30253":40871,"_3765":40871,"_34412":40871,"_33277":40871},{"_5":40794,"_17136":40794},"301",{"_11313":40871,"_36508":40871,"_35859":40871,"_7869":40871,"_18305":40871,"_11263":40871,"_23265":40871,"_22216":40871,"_10041":40871,"_16250":40871,"_35135":40871,"_7535":40871,"_14173":40871,"_8414":40871,"_8420":40871,"_33919":40871,"_6047":40871,"_4261":40871,"_17877":40871,"_30253":40871,"_3765":40871,"_34412":40871,"_33277":40871},"302",{"_5":40794,"_17136":40794},"303",{"_23795":40832,"_35135":40832,"_3132":40832,"_34382":40832,"_31369":40832,"_31481":40832,"_22260":40832,"_10492":40832,"_22216":40832,"_27906":40832,"_22804":40832,"_3925":40832,"_16250":40832},{"_11411":40896,"_11313":40896,"_11327":40896,"_25668":40896,"_33873":40896,"_35859":40896,"_7869":40896,"_18305":40896,"_33711":40896,"_7485":40896,"_31394":40896,"_26242":40896,"_5697":40896,"_8460":40896,"_2225":40896,"_27026":40896,"_12628":40896,"_15794":40896,"_20131":40896,"_25616":40896,"_10372":40896,"_10097":40896,"_25663":40896,"_19178":40896,"_8755":40896,"_31486":40896,"_6693":40896,"_3399":40896,"_13234":40896,"_9712":40896,"_20773":40896,"_3659":40896,"_2212":40896,"_7019":40896,"_8204":40896,"_22216":40896,"_23795":40896,"_3132":40896,"_21858":40896,"_7535":40896,"_30696":40896,"_14931":40896,"_8144":40896,"_34412":40896,"_36491":40896,"_26264":40896,"_20898":40896,"_3020":40896,"_8794":40896,"_3209":40896,"_26025":40896,"_13739":40896,"_7825":40896},"305",{"_11313":41374,"_11327":41374,"_9727":41374,"_33873":41374,"_35859":41374,"_7869":41374,"_18305":41374,"_33711":41374,"_7485":41374,"_22306":41374,"_13707":41374,"_22216":41374,"_32186":41374,"_3020":41374,"_23456":41374,"_6069":41374,"_24843":41374,"_9701":41374,"_8293":41374,"_31394":41374,"_3132":41374,"_3095":41374,"_34454":41374,"_15794":41374,"_18990":41374,"_9712":41374,"_5788":41374,"_22387":41374,"_11263":41374,"_12541":41374,"_4322":41374,"_14682":41374,"_6144":41374,"_22533":41374,"_4017":41374,"_3765":41374,"_4900":41374,"_5697":41374,"_25132":41374,"_23440":41374,"_25032":41374,"_16556":41374,"_25004":41374,"_2225":41374,"_3642":41374,"_5535":41374,"_31481":41374,"_9470":41374,"_3074":41374,"_33211":41374,"_5871":41374,"_20131":41374,"_26242":41374,"_3925":41374,"_8460":41374,"_21858":41374,"_26025":41374,"_13739":41374,"_7825":41374,"_34412":41374,"_36491":41374,"_26314":41374,"_20898":41374,"_23795":41374,"_35135":41374,"_17877":41374,"_18581":41374,"_27148":41374,"_13955":41374,"_5174":41374,"_32456":41374,"_12628":41374,"_32250":41374,"_32088":41374,"_26285":41374,"_3997":41374,"_26763":41374,"_25966":41374,"_3399":41374,"_3672":41374,"_15976":41374,"_16608":41374,"_30486":41374,"_24296":41374,"_31369":41374,"_33294":41374,"_8414":41374,"_29601":41374,"_22260":41374,"_29630":41374,"_9688":41374,"_8144":41374,"_22455":41374,"_9652":41374,"_29635":41374,"_7535":41374},0.010416666666666666,"306",{"_11313":41377,"_11327":41377,"_36030":41377,"_14688":41377,"_31384":41377,"_35859":41377,"_7869":41377,"_18305":41377,"_11263":41377,"_33711":41377,"_7485":41377,"_2225":41377,"_28777":41377,"_6069":41377,"_14677":41377,"_26576":41377,"_7784":41377,"_29149":41377,"_31875":41377,"_22291":41377,"_25032":41377,"_31640":41377,"_5697":41377,"_10492":41377,"_17595":41377,"_14682":41377,"_21124":41377,"_20131":41377,"_6413":41377,"_22306":41377,"_33314":41377,"_12628":41377,"_31481":41377,"_15800":41377,"_32156":41377,"_22216":41377,"_8794":41377,"_23795":41377,"_6047":41377,"_13576":41377,"_28251":41377,"_31369":41377,"_12958":41377,"_8589":41377,"_34433":41377,"_3195":41377,"_17877":41377,"_10041":41377,"_10097":41377,"_3132":41377,"_3095":41377,"_26285":41377,"_10096":41377,"_22260":41377,"_17568":41377,"_3252":41377,"_9217":41377,"_7793":41377,"_19407":41377,"_3765":41377,"_23440":41377,"_5542":41377,"_22265":41377,"_7484":41377,"_9130":41377,"_32964":41377,"_30435":41377,"_8144":41377,"_30083":41377,"_3074":41377,"_32535":41377,"_13755":41377,"_32170":41377,"_25512":41377,"_8781":41377,"_13729":41377,"_3399":41377,"_31374":41377,"_23456":41377},0.012658227848101266,"307",{"_17877":40888,"_30253":40888,"_10138":40888,"_33743":40888,"_32156":40888,"_4455":40888,"_7793":40888,"_19407":40888,"_14688":40888,"_8794":40888,"_23795":40888,"_15794":40888,"_10492":40888,"_22216":40888,"_4117":40888,"_5871":40888,"_4593":40888,"_24771":40888,"_29630":40888,"_5697":40888,"_16561":40888,"_32456":40888,"_14682":40888,"_3659":40888,"_7485":40888,"_28777":40888,"_3925":40888,"_3074":40888,"_32535":40888,"_22306":40888,"_31481":40888},"308",{"_11313":41382,"_11353":41382,"_11327":41382,"_13410":41382,"_35859":41382,"_7869":41382,"_18305":41382,"_11263":41382,"_33711":41382,"_7485":41382,"_26285":41382,"_22306":41382,"_5697":41382,"_21858":41382,"_23265":41382,"_22216":41382,"_23016":41382,"_23026":41382,"_8651":41382,"_3997":41382,"_26806":41382,"_34439":41382,"_8794":41382,"_13582":41382,"_21015":41382,"_18990":41382,"_33272":41382,"_31481":41382,"_4484":41382,"_7535":41382,"_14173":41382,"_30506":41382,"_9073":41382,"_7019":41382,"_31394":41382,"_22228":41382,"_3132":41382,"_33804":41382,"_17125":41382,"_22291":41382,"_20125":41382,"_6252":41382,"_31254":41382,"_22265":41382,"_26763":41382,"_34309":41382,"_3399":41382,"_7909":41382,"_21987":41382,"_3020":41382,"_28648":41382,"_13165":41382,"_28477":41382,"_17986":41382,"_32186":41382,"_5871":41382,"_9958":41382,"_6862":41382,"_29347":41382,"_26291":41382,"_31880":41382,"_18316":41382,"_10218":41382,"_30258":41382,"_5796":41382,"_27808":41382,"_5879":41382,"_10559":41382,"_20718":41382,"_17163":41382,"_23804":41382,"_8460":41382},0.013888888888888888,"309",{"_6884":41385,"_11313":41385,"_11320":41385,"_13409":41385,"_35859":41385,"_7869":41385,"_18305":41385,"_11263":41385,"_33711":41385,"_7485":41385,"_26285":41385,"_22306":41385,"_5697":41385,"_21858":41385,"_23265":41385,"_22216":41385,"_23016":41385,"_23026":41385,"_8651":41385,"_3997":41385,"_12541":41385,"_26806":41385,"_26763":41385,"_31228":41385,"_33804":41385,"_17125":41385,"_20125":41385,"_28648":41385,"_7940":41385,"_18230":41385,"_22291":41385,"_3132":41385,"_26490":41385,"_8204":41385,"_13500":41385,"_22223":41385,"_33856":41385,"_13484":41385,"_15976":41385,"_6862":41385,"_9331":41385,"_29312":41385,"_32186":41385,"_5871":41385,"_21992":41385,"_12917":41385,"_8794":41385,"_17986":41385,"_10218":41385,"_9958":41385,"_29347":41385,"_26291":41385,"_31880":41385,"_18316":41385,"_30258":41385,"_5796":41385,"_27808":41385,"_5879":41385,"_10559":41385,"_7535":41385,"_20718":41385,"_17163":41385,"_23804":41385,"_8460":41385,"_19922":41385,"_33882":41385,"_23608":41385,"_30506":41385,"_8144":41385,"_3399":41385,"_13410":41385,"_4277":41385,"_31374":41385,"_34439":41385,"_13582":41385,"_21015":41385,"_15568":41385,"_6047":41385,"_5318":41385,"_31394":41385,"_23795":41385,"_34355":41385},0.012195121951219513,"310",{"_11411":41361,"_11313":41361,"_33283":41361,"_35859":41361,"_7869":41361,"_18305":41361,"_6047":41361,"_11263":41361,"_26242":41361,"_20297":41361,"_9496":41361,"_14218":41361,"_31394":41361,"_12628":41361,"_8371":41361,"_5697":41361,"_30980":41361,"_8414":41361,"_8420":41361,"_6707":41361,"_25132":41361,"_33216":41361,"_15794":41361,"_20131":41361,"_22143":41361,"_3399":41361,"_9621":41361,"_3925":41361,"_24963":41361,"_17546":41361,"_24151":41361,"_7485":41361,"_11389":41361,"_3020":41361,"_34071":41361,"_4630":41361,"_10492":41361,"_15925":41361,"_6069":41361,"_21698":41361,"_22306":41361,"_17716":41361,"_5325":41361,"_30102":41361,"_8144":41361,"_26357":41361,"_9600":41361,"_23795":41361,"_35135":41361,"_13597":41361,"_32139":41361,"_33390":41361,"_37017":41361,"_27148":41361,"_16644":41361,"_17203":41361,"_6571":41361,"_10961":41361,"_9994":41361,"_7853":41361,"_9367":41361},"311",{"_11411":40917,"_6679":40917,"_9769":40917,"_35859":40917,"_7869":40917,"_18305":40917,"_11263":40917,"_31394":40917,"_28653":40917,"_16221":40917,"_14167":40917,"_31486":40917,"_22216":40917,"_8414":40917,"_8144":40917,"_31821":40917,"_7535":40917,"_28017":40917,"_35135":40917,"_30461":40917,"_21967":40917,"_5697":40917,"_9763":40917,"_4593":40917,"_22291":40917,"_32250":40917,"_8684":40917,"_31971":40917,"_21962":40917,"_8755":40917,"_8420":40917,"_3399":40917,"_4975":40917,"_6018":40917,"_23804":40917,"_21436":40917},"312",{"_16474":40888,"_6679":40888,"_8420":40888,"_9770":40888,"_35859":40888,"_7869":40888,"_18305":40888,"_11263":40888,"_8595":40888,"_22216":40888,"_6712":40888,"_19193":40888,"_7485":40888,"_2225":40888,"_8414":40888,"_34986":40888,"_23508":40888,"_4593":40888,"_3925":40888,"_5697":40888,"_18644":40888,"_34801":40888,"_3183":40888,"_24729":40888,"_3997":40888,"_35432":40888,"_19102":40888,"_24592":40888,"_18190":40888,"_23804":40888,"_21436":40888},"313",{"_11313":41196,"_11327":41196,"_28537":41196,"_3399":41196,"_28542":41196,"_33711":41196,"_7485":41196,"_5888":41196,"_35135":41196,"_3132":41196,"_21858":41196,"_3020":41196,"_8460":41196,"_22250":41196,"_23795":41196,"_20508":41196,"_3765":41196,"_23082":41196,"_3997":41196,"_22216":41196,"_28517":41196,"_26394":41196,"_8293":41196,"_8794":41196,"_26285":41196,"_15794":41196,"_34935":41196,"_2225":41196,"_5697":41196,"_7435":41196,"_4742":41196,"_3925":41196,"_8820":41196,"_2217":41196,"_3825":41196,"_15675":41196,"_33422":41196,"_33974":41196,"_31369":41196,"_6047":41196,"_20518":41196,"_31394":41196,"_3095":41196},"314",{"_22216":40940,"_5879":40940,"_7485":40940,"_22306":40940,"_26175":40940,"_4484":40940,"_13687":40940,"_6499":40940,"_32318":40940,"_4843":40940,"_4887":40940,"_19007":40940,"_8794":40940,"_25941":40940},"315",{"_30451":40984,"_22306":40984,"_19386":40984,"_30253":40984,"_15794":40984,"_4592":40984,"_7983":40984,"_34444":40984,"_17163":40984,"_5385":40984,"_12541":40984,"_27134":40984,"_13755":40984,"_7485":40984,"_22216":40984,"_18500":40984,"_6918":40984,"_11263":40984,"_16523":40984,"_29601":40984,"_19391":40984,"_28210":40984,"_25052":40984,"_3399":40984,"_27407":40984,"_4843":40984,"_7535":40984},"316",{"_11313":41400,"_11346":41400,"_23703":41400,"_3095":41400,"_35859":41400,"_7869":41400,"_18305":41400,"_11263":41400,"_33711":41400,"_7485":41400,"_23891":41400,"_31429":41400,"_22216":41400,"_23688":41400,"_4843":41400,"_4856":41400,"_3132":41400,"_23795":41400,"_35135":41400,"_21858":41400,"_7535":41400,"_30696":41400,"_14931":41400,"_30822":41400,"_8144":41400,"_20125":41400,"_20131":41400,"_2225":41400,"_7123":41400,"_17958":41400,"_5697":41400,"_23435":41400,"_22306":41400,"_17877":41400,"_15800":41400,"_34439":41400,"_3925":41400,"_15794":41400,"_5242":41400,"_21395":41400,"_32235":41400,"_4221":41400,"_4932":41400,"_28405":41400,"_26125":41400,"_11400":41400},0.021739130434782608,"317",{"_5968":41403,"_11313":41403,"_23703":41403,"_25026":41403,"_35859":41403,"_7869":41403,"_18305":41403,"_11263":41403,"_8794":41403,"_23795":41403,"_22306":41403,"_8293":41403,"_3132":41403,"_23440":41403,"_33711":41403,"_7485":41403,"_32170":41403,"_2225":41403,"_32088":41403,"_3019":41403,"_5697":41403,"_5053":41403,"_22216":41403,"_12923":41403,"_29953":41403,"_3925":41403,"_25004":41403,"_25032":41403,"_19161":41403,"_33873":41403,"_5180":41403,"_15491":41403,"_6177":41403,"_7535":41403,"_4871":41403,"_6270":41403,"_4356":41403,"_12628":41403,"_3290":41403,"_15794":41403,"_20131":41403,"_34439":41403,"_7225":41403,"_15844":41403,"_8144":41403,"_31486":41403,"_3659":41403,"_19238":41403,"_6069":41403,"_19406":41403,"_18145":41403,"_7230":41403,"_3":41403,"_35135":41403,"_31394":41403,"_25621":41403,"_33129":41403,"_4861":41403,"_8204":41403,"_12541":41403,"_19401":41403,"_27647":41403,"_23688":41403,"_3399":41403,"_4915":41403,"_33882":41403,"_22291":41403,"_19427":41403,"_19894":41403,"_31861":41403,"_18932":41403,"_10492":41403,"_4843":41403,"_20898":41403,"_6047":41403,"_3997":41403,"_28522":41403,"_15800":41403,"_6499":41403,"_33804":41403,"_3020":41403,"_3074":41403,"_32323":41403,"_14167":41403},0.011904761904761904,"318",{"_11411":40844,"_11313":40844,"_11346":40844,"_23703":40844,"_23709":40844,"_35859":40844,"_7869":40844,"_18305":40844,"_11263":40844,"_33711":40844,"_7485":40844,"_26242":40844,"_5180":40844,"_23688":40844,"_4642":40844,"_22216":40844,"_23795":40844,"_35135":40844,"_3132":40844,"_27308":40844,"_31369":40844,"_31481":40844,"_20131":40844,"_24281":40844,"_8095":40844,"_7535":40844,"_26211":40844,"_10961":40844},"319",{"_26242":40817,"_22306":40817,"_18305":40817,"_22216":40817,"_27355":40817,"_35135":40817,"_7485":40817,"_4455":40817,"_25966":40817},{"_29485":40821,"_5697":40821,"_25052":40821,"_3672":40821,"_20718":40821,"_4650":40821},"321",{"_20809":40911,"_22216":40911,"_35859":40911,"_26211":40911,"_13755":40911,"_7825":40911,"_34687":40911,"_35864":40911,"_35949":40911,"_28853":40911,"_8794":40911,"_28051":40911,"_4856":40911,"_3207":40911,"_13304":40911,"_7853":40911},"322",{"_7535":40794,"_32535":40794},"323",{"_14474":40817,"_22216":40817,"_35885":40817,"_7825":40817,"_5697":40817,"_35864":40817,"_35949":40817,"_28853":40817,"_32860":40817},"324",{"_7535":40794,"_32535":40794},{"_29485":40827,"_5697":40827,"_21277":40827,"_8204":40827,"_3659":40827,"_23688":40827,"_4642":40827,"_3671":40827},"326",{"_10577":40829,"_25026":40829,"_31394":40829,"_21272":40829,"_5697":40829,"_33711":40829,"_4642":40829},"327",{"_8755":40832,"_26319":40832,"_7535":40832,"_2225":40832,"_12923":40832,"_31369":40832,"_4630":40832,"_29779":40832,"_23688":40832,"_3290":40832,"_6069":40832,"_6214":40832,"_4642":40832},"328",{"_11313":41163,"_11306":41163,"_18058":41163,"_34463":41163,"_35859":41163,"_7869":41163,"_18305":41163,"_11263":41163,"_33711":41163,"_7485":41163,"_34433":41163,"_22216":41163,"_12541":41163,"_7459":41163,"_3228":41163,"_5697":41163,"_4866":41163,"_25032":41163,"_8794":41163,"_23795":41163,"_8144":41163,"_10086":41163,"_21464":41163,"_30149":41163,"_30029":41163,"_23896":41163,"_26763":41163,"_18520":41163,"_13765":41163,"_12628":41163,"_3276":41163,"_36295":41163,"_8851":41163,"_6297":41163,"_18145":41163,"_6069":41163,"_6322":41163,"_32186":41163,"_26285":41163,"_31481":41163,"_20131":41163,"_18722":41163,"_6499":41163,"_25651":41163,"_35135":41163,"_3132":41163,"_8460":41163},"329",{"_36312":41400,"_25031":41400,"_35859":41400,"_7869":41400,"_18305":41400,"_11263":41400,"_22216":41400,"_28215":41400,"_31645":41400,"_5697":41400,"_32156":41400,"_2225":41400,"_32088":41400,"_3019":41400,"_5053":41400,"_12923":41400,"_29953":41400,"_3925":41400,"_25004":41400,"_25032":41400,"_31394":41400,"_22306":41400,"_19238":41400,"_3132":41400,"_26242":41400,"_3074":41400,"_36329":41400,"_18842":41400,"_7853":41400,"_6047":41400,"_4871":41400,"_12541":41400,"_31486":41400,"_22291":41400,"_31481":41400,"_20131":41400,"_3145":41400,"_30643":41400,"_5180":41400,"_15491":41400,"_3399":41400,"_29630":41400,"_8106":41400,"_18872":41400,"_4455":41400,"_12931":41400},"330",{"_6884":41000,"_11263":41000,"_25031":41000,"_35859":41000,"_7869":41000,"_18305":41000,"_26988":41000,"_5697":41000,"_36312":41000,"_30822":41000,"_3132":41000,"_7266":41000,"_7535":41000,"_27407":41000,"_12535":41000,"_28441":41000,"_8144":41000,"_25467":41000,"_22216":41000,"_7853":41000,"_6069":41000,"_2225":41000,"_25032":41000,"_22291":41000,"_15794":41000,"_5053":41000,"_12923":41000,"_29953":41000,"_3925":41000,"_25004":41000,"_30253":41000,"_28046":41000,"_21199":41000,"_34454":41000,"_34412":41000,"_25367":41000,"_33954":41000,"_2217":41000,"_3825":41000},"331",{"_28210":40810,"_4920":40810,"_35859":40810,"_7869":40810,"_18305":40810,"_11263":40810,"_28022":40810,"_2225":40810,"_25302":40810,"_6069":40810,"_6270":40810,"_4356":40810,"_3290":40810,"_36312":40810,"_5697":40810,"_10492":40810,"_7535":40810,"_26217":40810,"_12541":40810,"_4843":40810,"_22306":40810,"_3132":40810,"_34444":40810,"_7485":40810,"_16126":40810,"_26379":40810,"_17131":40810,"_22291":40810,"_24662":40810,"_15800":40810,"_35938":40810,"_8144":40810,"_20125":40810,"_20131":40810,"_33774":40810,"_32875":40810,"_35870":40810,"_22106":40810,"_36317":40810,"_3399":40810,"_36323":40810,"_7271":40810,"_22216":40810,"_24126":40810,"_30486":40810,"_8204":40810,"_25712":40810,"_13775":40810,"_12628":40810,"_15579":40810,"_4856":40810,"_15460":40810,"_27647":40810,"_7853":40810,"_4855":40810,"_26242":40810,"_8115":40810,"_13304":40810,"_17643":40810,"_31481":40810,"_24729":40810,"_17086":40810,"_18160":40810,"_22260":40810,"_34439":40810},{"_11411":41431,"_11313":41431,"_11320":41431,"_11263":41431,"_32104":41431,"_35859":41431,"_7869":41431,"_18305":41431,"_6047":41431,"_33711":41431,"_7485":41431,"_28046":41431,"_2225":41431,"_28777":41431,"_6069":41431,"_14700":41431,"_17595":41431,"_5977":41431,"_4619":41431,"_3074":41431,"_32088":41431,"_12541":41431,"_15794":41431,"_18145":41431,"_22216":41431,"_7853":41431,"_8144":41431,"_17064":41431,"_5697":41431,"_14151":41431,"_3925":41431,"_15685":41431,"_7535":41431,"_27647":41431,"_32109":41431,"_31481":41431,"_10218":41431,"_5675":41431,"_22291":41431,"_9580":41431,"_14167":41431,"_8851":41431,"_17877":41431,"_3132":41431,"_15800":41431,"_20131":41431,"_10497":41431,"_22306":41431,"_18649":41431,"_5168":41431,"_14354":41431,"_31606":41431},0.019230769230769232,"333",{"_11411":41056,"_11313":41056,"_11320":41056,"_26458":41056,"_35859":41056,"_7869":41056,"_18305":41056,"_11263":41056,"_33711":41056,"_7485":41056,"_31394":41056,"_26242":41056,"_5697":41056,"_21858":41056,"_12628":41056,"_31481":41056,"_6047":41056,"_5074":41056,"_14173":41056,"_3399":41056,"_8858":41056,"_8204":41056,"_13350":41056,"_22291":41056,"_29630":41056,"_4871":41056,"_31486":41056,"_35370":41056,"_27407":41056,"_3765":41056,"_15800":41056,"_13780":41056,"_4843":41056,"_3020":41056,"_30822":41056,"_8365":41056,"_3002":41056,"_2217":41056,"_17384":41056,"_15685":41056,"_20131":41056,"_3145":41056,"_33364":41056,"_2225":41056,"_26394":41056,"_22678":41056,"_33211":41056,"_15254":41056,"_37150":41056,"_24030":41056,"_25132":41056,"_15925":41056,"_31123":41056,"_2222":41056,"_12541":41056,"_13478":41056,"_22216":41056,"_22239":41056,"_31492":41056,"_8182":41056,"_5547":41056,"_3997":41056,"_9501":41056,"_9763":41056},"334",{"_22306":40815,"_13755":40815,"_3132":40815,"_27184":40815,"_7535":40815,"_32377":40815,"_3290":40815,"_3095":40815,"_21858":40815,"_3399":40815,"_27647":40815,"_27407":40815},"335",{"_8794":40796,"_23795":40796,"_22306":40796,"_8293":40796,"_3132":40796,"_23440":40796,"_34454":40796,"_31434":40796,"_31861":40796,"_7875":40796,"_5697":40796,"_5957":40796,"_15794":40796,"_32156":40796,"_22216":40796,"_26285":40796,"_26458":40796,"_21858":40796},"336",{"_22306":40888,"_8293":40888,"_6542":40888,"_22216":40888,"_11263":40888,"_4502":40888,"_5871":40888,"_4593":40888,"_32471":40888,"_17877":40888,"_12628":40888,"_3132":40888,"_13780":40888,"_5697":40888,"_4484":40888,"_13350":40888,"_22291":40888,"_8358":40888,"_27407":40888,"_4843":40888,"_28436":40888,"_12541":40888,"_31481":40888,"_15800":40888,"_20131":40888,"_3145":40888,"_33364":40888,"_2225":40888,"_26394":40888,"_31486":40888,"_3095":40888},"337",{"_11411":41382,"_11313":41382,"_11346":41382,"_32377":41382,"_3290":41382,"_3095":41382,"_35859":41382,"_7869":41382,"_18305":41382,"_11263":41382,"_33711":41382,"_7485":41382,"_31394":41382,"_26242":41382,"_5697":41382,"_21858":41382,"_12628":41382,"_31481":41382,"_6047":41382,"_5074":41382,"_14173":41382,"_3399":41382,"_8858":41382,"_8204":41382,"_13350":41382,"_22291":41382,"_29630":41382,"_4871":41382,"_31486":41382,"_35370":41382,"_13780":41382,"_27647":41382,"_4843":41382,"_27652":41382,"_15794":41382,"_20131":41382,"_34412":41382,"_3765":41382,"_15800":41382,"_22216":41382,"_3642":41382,"_6069":41382,"_4975":41382,"_3020":41382,"_30822":41382,"_8365":41382,"_3002":41382,"_2217":41382,"_17384":41382,"_15685":41382,"_3145":41382,"_33364":41382,"_2225":41382,"_26394":41382,"_22678":41382,"_33211":41382,"_15254":41382,"_37150":41382,"_24030":41382,"_25132":41382,"_15925":41382,"_31123":41382,"_2222":41382,"_12541":41382,"_13478":41382,"_22239":41382,"_31492":41382,"_8182":41382,"_5547":41382,"_3997":41382,"_9501":41382,"_9763":41382},"338",{"_8794":40866,"_23795":40866,"_22306":40866,"_8293":40866,"_3132":40866,"_23440":40866,"_34454":40866,"_31434":40866,"_31861":40866,"_7875":40866,"_5697":40866,"_5957":40866,"_15794":40866,"_32156":40866,"_22216":40866,"_26285":40866,"_32377":40866,"_3290":40866,"_3095":40866,"_21858":40866},"339",{"_31394":40817,"_32377":40817,"_3290":40817,"_3095":40817,"_21858":40817,"_3399":40817,"_27652":40817,"_27407":40817,"_22260":40817},{"_11263":40806,"_4502":40806,"_13755":40806,"_3132":40806,"_6547":40806,"_4593":40806,"_32471":40806,"_17877":40806,"_12628":40806,"_13780":40806,"_5697":40806,"_4484":40806,"_13350":40806,"_22291":40806,"_8358":40806,"_27407":40806,"_4843":40806,"_28436":40806,"_12541":40806,"_31481":40806,"_15800":40806,"_20131":40806,"_3145":40806,"_33364":40806,"_2225":40806,"_26394":40806,"_31486":40806,"_22306":40806,"_8293":40806,"_3095":40806,"_3925":40806,"_27647":40806},"341",{"_11411":40908,"_11313":40908,"_11346":40908,"_32377":40908,"_3290":40908,"_27652":40908,"_35859":40908,"_7869":40908,"_18305":40908,"_11263":40908,"_33711":40908,"_7485":40908,"_14677":40908,"_26576":40908,"_28777":40908,"_6069":40908,"_4843":40908,"_13350":40908,"_21124":40908,"_20131":40908,"_4871":40908,"_31486":40908,"_4975":40908,"_29327":40908,"_3659":40908,"_27647":40908,"_30461":40908,"_24815":40908,"_3642":40908,"_5788":40908,"_22306":40908,"_3132":40908,"_34439":40908,"_6047":40908,"_31394":40908,"_3095":40908,"_5697":40908,"_21858":40908},"342",{"_11313":41196,"_11327":41196,"_28221":41196,"_35859":41196,"_7869":41196,"_18305":41196,"_11263":41196,"_33711":41196,"_7485":41196,"_32170":41196,"_32323":41196,"_13582":41196,"_14747":41196,"_23795":41196,"_3132":41196,"_8460":41196,"_31394":41196,"_32186":41196,"_22306":41196,"_8293":41196,"_19922":41196,"_4592":41196,"_13980":41196,"_8414":41196,"_13494":41196,"_3399":41196,"_29274":41196,"_5697":41196,"_5331":41196,"_10961":41196,"_3978":41196,"_31486":41196,"_22216":41196,"_19751":41196,"_28467":41196,"_13367":41196,"_13500":41196,"_8771":41196,"_27220":41196,"_20773":41196,"_3074":41196,"_28210":41196,"_14167":41196},"343",{"_11313":41018,"_11327":41018,"_28210":41018,"_36876":41018,"_28568":41018,"_3399":41018,"_19406":41018,"_13582":41018,"_35859":41018,"_7869":41018,"_18311":41018,"_11263":41018,"_33711":41018,"_7485":41018,"_28022":41018,"_22216":41018,"_7825":41018,"_6363":41018,"_5697":41018,"_2225":41018,"_13587":41018,"_28517":41018,"_15691":41018,"_20131":41018,"_34439":41018,"_7535":41018,"_12541":41018,"_22855":41018,"_14173":41018,"_34576":41018},"344",{"_11411":40823,"_11313":40823,"_11375":40823,"_28210":40823,"_36876":40823,"_19412":40823,"_3399":40823,"_13582":40823,"_35859":40823,"_7869":40823,"_18311":40823,"_11263":40823,"_33711":40823,"_7485":40823,"_28022":40823,"_22216":40823,"_7825":40823,"_6363":40823,"_22291":40823,"_13576":40823,"_19406":40823,"_10107":40823,"_8204":40823,"_2225":40823,"_21593":40823,"_18561":40823,"_6499":40823,"_32682":40823,"_18305":40823},"345",{"_11411":40924,"_11313":40924,"_11327":40924,"_11320":40924,"_11346":40924,"_36123":40924,"_28210":40924,"_36876":40924,"_5":40924,"_3399":40924,"_13582":40924,"_35859":40924,"_7869":40924,"_18311":40924,"_11263":40924,"_33711":40924,"_7485":40924,"_28022":40924,"_22216":40924,"_7825":40924,"_7603":40924,"_6069":40924,"_12541":40924,"_36882":40924,"_20508":40924,"_35938":40924,"_19107":40924,"_20023":40924,"_3020":40924,"_34246":40924,"_23896":40924,"_8794":40924,"_7852":40924,"_23795":40924,"_31344":40924,"_31630":40924,"_3252":40924},"346",{"_11313":41018,"_11327":41018,"_28210":41018,"_21873":41018,"_28568":41018,"_3399":41018,"_19406":41018,"_13582":41018,"_35859":41018,"_7869":41018,"_18311":41018,"_11263":41018,"_33711":41018,"_7485":41018,"_28022":41018,"_22216":41018,"_7825":41018,"_6363":41018,"_5697":41018,"_2225":41018,"_13587":41018,"_9061":41018,"_15691":41018,"_20131":41018,"_34439":41018,"_7535":41018,"_12541":41018,"_22855":41018,"_14173":41018,"_34576":41018},"347",{"_11411":40823,"_11313":40823,"_11375":40823,"_28210":40823,"_21873":40823,"_19412":40823,"_3399":40823,"_13582":40823,"_35859":40823,"_7869":40823,"_18311":40823,"_11263":40823,"_33711":40823,"_7485":40823,"_28022":40823,"_22216":40823,"_7825":40823,"_6363":40823,"_22291":40823,"_13576":40823,"_19406":40823,"_10107":40823,"_8204":40823,"_2225":40823,"_21593":40823,"_18561":40823,"_6499":40823,"_32682":40823,"_18305":40823},"348",{"_11411":40924,"_11313":40924,"_11327":40924,"_11320":40924,"_11346":40924,"_36123":40924,"_28210":40924,"_21873":40924,"_5":40924,"_3399":40924,"_13582":40924,"_35859":40924,"_7869":40924,"_18311":40924,"_11263":40924,"_33711":40924,"_7485":40924,"_28022":40924,"_22216":40924,"_7825":40924,"_7603":40924,"_6069":40924,"_12541":40924,"_21879":40924,"_20508":40924,"_35938":40924,"_19107":40924,"_20023":40924,"_3020":40924,"_34246":40924,"_23896":40924,"_8794":40924,"_7852":40924,"_23795":40924,"_31344":40924,"_31630":40924,"_3252":40924},"349",{"_5968":40844,"_11313":40844,"_11327":40844,"_28210":40844,"_18435":40844,"_3399":40844,"_13582":40844,"_35859":40844,"_7869":40844,"_18311":40844,"_11263":40844,"_33711":40844,"_7485":40844,"_28022":40844,"_5697":40844,"_20131":40844,"_34439":40844,"_12541":40844,"_22855":40844,"_33840":40844,"_23795":40844,"_22861":40844,"_3020":40844,"_24296":40844,"_3997":40844,"_8770":40844,"_12720":40844,"_30517":40844},"350",{"_5968":40844,"_11313":40844,"_11327":40844,"_28210":40844,"_32165":40844,"_3399":40844,"_13582":40844,"_35859":40844,"_7869":40844,"_18311":40844,"_11263":40844,"_33711":40844,"_7485":40844,"_28022":40844,"_22216":40844,"_3095":40844,"_18441":40844,"_12541":40844,"_22855":40844,"_33840":40844,"_23795":40844,"_22861":40844,"_17877":40844,"_35135":40844,"_6069":40844,"_18435":40844,"_18305":40844,"_3132":40844},"351",{"_11411":40917,"_11313":40917,"_11327":40917,"_11306":40917,"_36123":40917,"_28210":40917,"_16208":40917,"_3399":40917,"_13582":40917,"_35859":40917,"_7869":40917,"_18311":40917,"_11263":40917,"_33711":40917,"_7485":40917,"_28022":40917,"_22216":40917,"_3095":40917,"_16196":40917,"_25352":40917,"_5697":40917,"_20131":40917,"_34439":40917,"_12541":40917,"_22855":40917,"_33840":40917,"_23795":40917,"_35959":40917,"_23804":40917,"_27021":40917,"_29728":40917,"_15260":40917,"_7535":40917,"_33157":40917,"_35295":40917,"_26125":40917},"352",{"_6884":41182,"_5968":41182,"_11313":41182,"_11327":41182,"_28210":41182,"_13670":41182,"_25100":41182,"_13304":41182,"_3399":41182,"_13582":41182,"_35859":41182,"_7869":41182,"_18311":41182,"_11263":41182,"_33711":41182,"_7485":41182,"_28022":41182,"_22216":41182,"_5697":41182,"_20131":41182,"_34439":41182,"_7535":41182,"_15675":41182,"_12541":41182,"_14747":41182,"_22306":41182,"_4494":41182,"_30253":41182,"_10492":41182,"_15579":41182,"_17632":41182,"_7716":41182,"_27631":41182,"_29733":41182,"_36876":41182,"_28496":41182,"_34412":41182,"_20028":41182,"_3020":41182,"_26773":41182,"_26988":41182,"_24771":41182,"_29630":41182,"_5053":41182,"_26817":41182,"_30822":41182,"_15794":41182,"_9517":41182,"_3074":41182,"_4636":41182,"_28232":41182,"_8204":41182,"_22250":41182,"_13597":41182,"_23795":41182,"_34246":41182},"353",{"_11313":40806,"_11327":40806,"_28210":40806,"_13416":40806,"_3399":40806,"_13582":40806,"_35859":40806,"_7869":40806,"_18311":40806,"_11263":40806,"_33711":40806,"_7485":40806,"_28022":40806,"_31429":40806,"_22216":40806,"_29499":40806,"_29504":40806,"_3132":40806,"_3095":40806,"_12541":40806,"_22855":40806,"_33840":40806,"_18190":40806,"_23456":40806,"_8144":40806,"_6047":40806,"_9652":40806,"_7535":40806,"_22028":40806,"_19515":40806,"_23795":40806,"_21858":40806},"354",{"_11313":41107,"_11353":41107,"_11306":41107,"_28210":41107,"_13415":41107,"_3399":41107,"_13582":41107,"_35859":41107,"_7869":41107,"_18311":41107,"_11263":41107,"_33711":41107,"_7485":41107,"_28022":41107,"_31429":41107,"_22216":41107,"_13421":41107,"_29499":41107,"_29504":41107,"_3132":41107,"_3095":41107,"_12541":41107,"_22855":41107,"_33840":41107,"_18190":41107,"_22306":41107,"_5871":41107,"_8841":41107,"_14562":41107,"_13416":41107,"_5697":41107,"_20131":41107,"_21858":41107,"_3020":41107,"_8144":41107,"_31481":41107,"_18073":41107,"_23795":41107,"_7535":41107,"_8460":41107,"_13350":41107},"355",{"_11313":41056,"_11327":41056,"_11306":41056,"_28210":41056,"_4515":41056,"_3399":41056,"_13582":41056,"_35859":41056,"_7869":41056,"_18311":41056,"_11263":41056,"_33711":41056,"_7485":41056,"_4484":41056,"_10815":41056,"_24963":41056,"_28688":41056,"_31123":41056,"_26005":41056,"_12541":41056,"_29499":41056,"_35340":41056,"_17877":41056,"_22216":41056,"_29504":41056,"_3132":41056,"_3095":41056,"_13008":41056,"_25057":41056,"_22855":41056,"_18441":41056,"_15800":41056,"_8049":41056,"_10097":41056,"_28693":41056,"_3765":41056,"_32589":41056,"_34811":41056,"_4692":41056,"_15930":41056,"_20270":41056,"_20952":41056,"_22291":41056,"_16132":41056,"_15626":41056,"_31486":41056,"_4455":41056,"_8820":41056,"_25307":41056,"_4571":41056,"_5977":41056,"_27417":41056,"_7535":41056,"_25147":41056,"_17938":41056,"_17851":41056,"_9652":41056,"_5697":41056,"_3150":41056,"_7459":41056,"_32235":41056,"_6069":41056,"_23795":41056,"_8460":41056},"356",{"_11411":41009,"_11313":41009,"_11327":41009,"_36123":41009,"_28210":41009,"_15749":41009,"_3399":41009,"_13582":41009,"_35859":41009,"_7869":41009,"_18311":41009,"_11263":41009,"_33711":41009,"_7485":41009,"_28022":41009,"_31429":41009,"_16126":41009,"_10836":41009,"_28777":41009,"_3132":41009,"_3095":41009,"_12541":41009,"_22855":41009,"_18441":41009,"_23795":41009,"_35768":41009,"_18305":41009,"_14663":41009,"_25388":41009,"_22106":41009,"_15502":41009,"_27021":41009,"_8460":41009,"_6252":41009},"357",{"_11411":41182,"_11313":41182,"_11327":41182,"_36123":41182,"_28210":41182,"_6197":41182,"_3399":41182,"_13582":41182,"_35859":41182,"_7869":41182,"_18311":41182,"_11263":41182,"_33711":41182,"_7485":41182,"_28022":41182,"_31429":41182,"_6058":41182,"_16126":41182,"_25558":41182,"_18435":41182,"_3132":41182,"_3095":41182,"_12541":41182,"_22855":41182,"_18441":41182,"_15374":41182,"_30461":41182,"_17696":41182,"_15749":41182,"_14567":41182,"_5473":41182,"_3659":41182,"_29601":41182,"_5697":41182,"_26249":41182,"_31123":41182,"_3020":41182,"_32156":41182,"_22306":41182,"_13955":41182,"_31486":41182,"_35964":41182,"_20898":41182,"_6069":41182,"_26285":41182,"_7019":41182,"_2225":41182,"_10492":41182,"_13431":41182,"_23795":41182,"_35768":41182,"_26211":41182,"_18305":41182,"_27021":41182,"_8460":41182,"_6252":41182},"358",{"_11313":41013,"_11327":41013,"_11346":41013,"_28210":41013,"_13452":41013,"_3399":41013,"_13582":41013,"_35859":41013,"_7869":41013,"_18311":41013,"_11263":41013,"_3252":41013,"_7485":41013,"_30822":41013,"_31228":41013,"_34785":41013,"_28022":41013,"_5879":41013,"_5697":41013,"_4866":41013,"_14173":41013,"_8204":41013,"_13350":41013,"_17595":41013,"_20508":41013,"_3765":41013},"359",{"_34120":40829,"_12628":40829,"_31481":40829,"_15800":40829,"_8851":40829,"_12541":40829,"_4843":40829},"360",{"_31635":40821,"_12628":40821,"_31481":40821,"_8851":40821,"_12541":40821,"_4843":40821},"361",{"_33743":40821,"_12628":40821,"_31481":40821,"_8815":40821,"_12541":40821,"_4843":40821},"362",{"_23795":40794,"_33743":40794},"363",{"_11313":40832,"_11327":40832,"_28210":40832,"_29700":40832,"_3399":40832,"_13582":40832,"_35859":40832,"_7869":40832,"_18311":40832,"_11263":40832,"_33711":40832,"_7485":40832,"_23137":40832},"364",{"_11411":41045,"_11313":41045,"_11306":41045,"_28210":41045,"_28237":41045,"_35859":41045,"_7869":41045,"_18305":41045,"_11263":41045,"_33711":41045,"_7485":41045,"_4494":41045,"_5697":41045,"_26368":41045,"_4856":41045,"_22216":41045,"_13442":41045,"_14747":41045,"_31394":41045,"_22855":41045,"_3132":41045,"_3095":41045,"_33798":41045,"_23032":41045,"_28864":41045,"_29601":41045,"_30522":41045,"_3252":41045,"_12720":41045,"_31369":41045,"_13187":41045,"_10492":41045,"_28869":41045,"_7875":41045,"_5844":41045,"_3997":41045,"_25057":41045,"_19888":41045,"_26125":41045,"_5318":41045,"_5879":41045,"_24688":41045,"_23795":41045,"_35135":41045,"_35959":41045},"365",{"_11411":40806,"_11313":40806,"_11327":40806,"_11320":40806,"_28226":40806,"_33873":40806,"_35859":40806,"_7869":40806,"_18305":40806,"_33711":40806,"_7485":40806,"_4494":40806,"_13582":40806,"_28210":40806,"_36876":40806,"_3399":40806,"_21873":40806,"_10005":40806,"_31394":40806,"_22216":40806,"_16132":40806,"_3997":40806,"_7846":40806,"_15363":40806,"_31492":40806,"_29635":40806,"_5697":40806,"_9222":40806,"_12948":40806,"_18190":40806,"_23795":40806,"_8460":40806},"366",{"_11411":41264,"_6884":41264,"_5968":41264,"_11313":41264,"_11346":41264,"_11375":41264,"_11306":41264,"_12541":41264,"_16152":41264,"_35859":41264,"_7869":41264,"_18305":41264,"_11263":41264,"_33711":41264,"_7485":41264,"_4494":41264,"_28210":41264,"_36876":41264,"_3399":41264,"_21873":41264,"_10005":41264,"_31394":41264,"_22216":41264,"_16132":41264,"_3997":41264,"_7846":41264,"_15363":41264,"_31492":41264,"_29635":41264,"_5697":41264,"_9222":41264,"_12948":41264,"_18190":41264,"_23795":41264,"_8460":41264},"367",{"_12541":40802,"_19636":40802,"_35859":40802,"_7869":40802,"_18305":40802,"_11263":40802,"_28022":40802,"_22291":40802,"_22216":40802,"_6707":40802,"_27148":40802,"_5074":40802,"_28210":40802,"_14173":40802,"_34412":40802,"_27355":40802,"_13755":40802,"_3925":40802,"_26217":40802,"_23795":40802,"_8460":40802},"368",{"_6884":40984,"_4920":40984,"_35859":40984,"_7869":40984,"_18305":40984,"_11263":40984,"_30253":40984,"_15794":40984,"_28046":40984,"_21199":40984,"_4843":40984,"_4856":40984,"_13321":40984,"_7535":40984,"_34506":40984,"_10492":40984,"_22306":40984,"_19238":40984,"_5697":40984,"_22216":40984,"_27407":40984,"_7875":40984,"_6270":40984,"_4356":40984,"_12628":40984,"_3290":40984,"_27412":40984},"369",{"_36944":40806,"_9026":40806,"_35859":40806,"_7869":40806,"_18305":40806,"_11263":40806,"_30253":40806,"_15794":40806,"_16769":40806,"_5697":40806,"_9011":40806,"_22216":40806,"_21464":40806,"_8204":40806,"_12541":40806,"_18842":40806,"_7853":40806,"_24592":40806,"_4843":40806,"_2217":40806,"_3825":40806,"_12948":40806,"_21463":40806,"_32535":40806,"_14663":40806,"_31481":40806,"_20131":40806,"_4871":40806,"_7485":40806,"_3925":40806,"_23795":40806,"_8460":40806},"370",{"_36944":40806,"_9032":40806,"_35859":40806,"_7869":40806,"_18305":40806,"_11263":40806,"_30253":40806,"_15794":40806,"_16769":40806,"_5697":40806,"_9011":40806,"_22216":40806,"_10143":40806,"_8204":40806,"_12541":40806,"_18842":40806,"_7853":40806,"_24592":40806,"_4843":40806,"_2217":40806,"_3825":40806,"_12948":40806,"_21463":40806,"_32535":40806,"_14663":40806,"_31481":40806,"_20131":40806,"_4871":40806,"_7485":40806,"_3925":40806,"_23795":40806,"_8460":40806},"371",{"_11411":41161,"_11313":41161,"_11346":41161,"_36944":41161,"_15821":41161,"_35859":41161,"_7869":41161,"_18305":41161,"_11263":41161,"_33711":41161,"_7485":41161,"_16775":41161,"_5697":41161,"_15816":41161,"_12628":41161,"_21464":41161,"_5977":41161,"_32937":41161,"_8204":41161,"_4309":41161,"_6928":41161,"_22306":41161,"_4494":41161,"_34412":41161,"_2217":41161,"_3825":41161,"_16260":41161,"_9678":41161,"_10462":41161,"_25966":41161,"_13755":41161,"_7841":41161,"_31374":41161,"_25752":41161,"_32186":41161,"_27407":41161,"_4843":41161,"_30506":41161,"_13582":41161,"_21015":41161,"_8144":41161,"_3132":41161,"_33402":41161,"_22216":41161,"_33546":41161,"_6069":41161,"_12541":41161,"_29499":41161,"_7535":41161,"_13350":41161,"_23795":41161,"_35135":41161,"_8460":41161,"_30696":41161,"_14931":41161},"372",{"_11411":40861,"_11313":40861,"_11320":40861,"_21204":40861,"_3095":40861,"_35859":40861,"_7869":40861,"_18305":40861,"_11263":40861,"_33711":40861,"_7485":40861,"_27021":40861,"_30253":40861,"_15794":40861,"_4592":40861,"_28046":40861,"_21199":40861,"_3244":40861,"_7535":40861,"_33129":40861,"_12628":40861,"_16742":40861,"_22306":40861,"_14241":40861,"_5325":40861,"_31394":40861,"_19999":40861,"_33804":40861,"_16891":40861,"_20131":40861,"_34439":40861,"_19256":40861,"_22216":40861,"_13234":40861,"_26285":40861,"_19238":40861,"_5697":40861,"_21858":40861,"_31481":40861,"_32156":40861,"_8293":40861,"_19922":40861,"_33882":40861,"_22291":40861,"_15800":40861,"_24592":40861,"_2225":40861,"_10985":40861,"_34935":40861,"_17877":40861,"_12720":40861,"_6069":40861,"_6214":40861,"_3132":40861,"_18878":40861,"_23795":40861,"_35135":40861,"_8460":40861},"373",{"_11411":41513,"_11313":41513,"_11320":41513,"_11346":41513,"_36137":41513,"_21204":41513,"_10223":41513,"_35859":41513,"_7869":41513,"_18305":41513,"_11263":41513,"_33711":41513,"_7485":41513,"_27021":41513,"_30253":41513,"_15794":41513,"_4592":41513,"_28046":41513,"_21199":41513,"_3244":41513,"_7535":41513,"_33129":41513,"_12628":41513,"_16742":41513,"_22306":41513,"_14241":41513,"_5325":41513,"_31394":41513,"_19999":41513,"_33804":41513,"_16891":41513,"_20131":41513,"_34439":41513,"_19256":41513,"_22216":41513,"_13234":41513,"_31481":41513,"_18990":41513,"_18032":41513,"_33648":41513,"_8858":41513,"_3020":41513,"_21962":41513,"_5697":41513,"_33364":41513,"_2225":41513,"_23016":41513,"_14167":41513,"_3997":41513,"_6707":41513,"_6069":41513,"_24226":41513,"_21464":41513,"_6297":41513,"_7983":41513,"_10234":41513,"_29774":41513,"_6047":41513,"_17877":41513,"_18145":41513,"_13755":41513,"_26242":41513,"_16250":41513,"_21364":41513,"_10212":41513,"_10218":41513,"_23383":41513,"_4593":41513,"_30078":41513,"_3132":41513,"_20370":41513,"_8771":41513,"_21598":41513,"_8794":41513,"_15491":41513,"_4455":41513,"_23795":41513,"_35135":41513},0.01282051282051282,"374",{"_22306":40834,"_19238":40834,"_29601":40834,"_33873":40834,"_33562":40834,"_34571":40834,"_30253":40834,"_32156":40834,"_22216":40834,"_21204":40834,"_8293":40834,"_8794":40834,"_26285":40834,"_3095":40834,"_21858":40834},"375",{"_5968":40984,"_11313":40984,"_11375":40984,"_8057":40984,"_35859":40984,"_7869":40984,"_18305":40984,"_11263":40984,"_33711":40984,"_7485":40984,"_32156":40984,"_8049":40984,"_14931":40984,"_10097":40984,"_17877":40984,"_3095":40984,"_22216":40984,"_7716":40984,"_22316":40984,"_31481":40984,"_20131":40984,"_15374":40984,"_6297":40984,"_5697":40984,"_15063":40984,"_31486":40984,"_8831":40984},"376",{"_15579":40844,"_21863":40844,"_4686":40844,"_13008":40844,"_22291":40844,"_3132":40844,"_34439":40844,"_7535":40844,"_29499":40844,"_29504":40844,"_31481":40844,"_20131":40844,"_23440":40844,"_3925":40844,"_2225":40844,"_14023":40844,"_15800":40844,"_5318":40844,"_7485":40844,"_22216":40844,"_13582":40844,"_18435":40844,"_30822":40844,"_25752":40844,"_15794":40844,"_26242":40844,"_13442":40844,"_14747":40844},"377",{"_23715":40836,"_27407":40836,"_3290":40836,"_21072":40836,"_31481":40836,"_20131":40836,"_23440":40836,"_7485":40836,"_13582":40836,"_3399":40836,"_11263":40836,"_13350":40836,"_6047":40836,"_7501":40836,"_36944":40836,"_15794":40836,"_34439":40836},"378",{"_11411":40827,"_11313":40827,"_11375":40827,"_11306":40827,"_23795":40827,"_21858":40827,"_8460":40827,"_4309":40827},"379",{"_11313":40984,"_11327":40984,"_11375":40984,"_11306":40984,"_8204":40984,"_5697":40984,"_2225":40984,"_29728":40984,"_15260":40984,"_23795":40984,"_16196":40984,"_28777":40984,"_31630":40984,"_34439":40984,"_31486":40984,"_22216":40984,"_6311":40984,"_24321":40984,"_3997":40984,"_31429":40984,"_8144":40984,"_3132":40984,"_8755":40984,"_35859":40984,"_3020":40984,"_29068":40984,"_12720":40984},"380",{"_5968":41018,"_11313":41018,"_11375":41018,"_22216":41018,"_28777":41018,"_3997":41018,"_35859":41018,"_16566":41018,"_22861":41018,"_16266":41018,"_7469":41018,"_3399":41018,"_16203":41018,"_7485":41018,"_6311":41018,"_22896":41018,"_22947":41018,"_22890":41018,"_22942":41018,"_22919":41018,"_22967":41018,"_22914":41018,"_22962":41018,"_22902":41018,"_22952":41018,"_22925":41018,"_22972":41018,"_22983":41018,"_22989":41018,"_22995":41018},"381",{"_5968":41018,"_11313":41018,"_11306":41018,"_22216":41018,"_28777":41018,"_3997":41018,"_35859":41018,"_16566":41018,"_22861":41018,"_7469":41018,"_16266":41018,"_3399":41018,"_16203":41018,"_7485":41018,"_6311":41018,"_22902":41018,"_22952":41018,"_22925":41018,"_22972":41018,"_22896":41018,"_22947":41018,"_22890":41018,"_22942":41018,"_22919":41018,"_22967":41018,"_22914":41018,"_22962":41018,"_22983":41018,"_22989":41018,"_22995":41018},"382",{"_11313":40940,"_36123":40940,"_27021":40940,"_22228":40940,"_3132":40940,"_33873":40940,"_29743":40940,"_28777":40940,"_3399":40940,"_22216":40940,"_35959":40940,"_23804":40940,"_3765":40940,"_34439":40940},"383",{"_33711":40829,"_8305":40829,"_22291":40829,"_3765":40829,"_15568":40829,"_13986":40829,"_32604":40829},{"_11411":41535,"_11313":41535,"_11353":41535,"_10041":41535,"_6047":41535,"_10097":41535,"_12628":41535,"_35859":41535,"_7869":41535,"_18305":41535,"_10096":41535,"_3095":41535,"_33711":41535,"_7485":41535,"_26285":41535,"_22306":41535,"_35135":41535,"_5697":41535,"_21858":41535,"_32170":41535,"_25052":41535,"_23440":41535,"_8794":41535,"_23795":41535,"_28537":41535,"_29601":41535,"_20131":41535,"_5001":41535,"_25956":41535,"_13350":41535,"_2225":41535,"_24722":41535,"_6069":41535,"_3074":41535,"_32834":41535,"_14173":41535,"_3132":41535,"_15568":41535,"_15800":41535,"_25057":41535,"_11005":41535,"_4494":41535,"_26401":41535,"_31369":41535,"_8991":41535,"_14151":41535,"_22216":41535,"_32471":41535,"_31394":41535,"_21246":41535,"_19208":41535,"_8204":41535,"_13582":41535,"_15794":41535,"_25752":41535,"_20508":41535,"_12948":41535,"_25941":41535,"_30822":41535,"_31481":41535,"_34741":41535,"_10069":41535,"_3399":41535,"_26125":41535,"_15368":41535,"_3672":41535,"_12528":41535,"_7535":41535,"_20718":41535,"_23860":41535},0.014285714285714285,"385",{"_11263":41382,"_7735":41382,"_28275":41382,"_35859":41382,"_7869":41382,"_18305":41382,"_31394":41382,"_6483":41382,"_13234":41382,"_29601":41382,"_6693":41382,"_31369":41382,"_3765":41382,"_14157":41382,"_31486":41382,"_6700":41382,"_22260":41382,"_23082":41382,"_3997":41382,"_22306":41382,"_8651":41382,"_21246":41382,"_30102":41382,"_30253":41382,"_10639":41382,"_26763":41382,"_17103":41382,"_18623":41382,"_22216":41382,"_6679":41382,"_6701":41382,"_17877":41382,"_30258":41382,"_24761":41382,"_29630":41382,"_3642":41382,"_3020":41382,"_22255":41382,"_15800":41382,"_6712":41382,"_24771":41382,"_20270":41382,"_21225":41382,"_31581":41382,"_34412":41382,"_31971":41382,"_15568":41382,"_15363":41382,"_30078":41382,"_3132":41382,"_6961":41382,"_30471":41382,"_5697":41382,"_13187":41382,"_7271":41382,"_20718":41382,"_13803":41382,"_3839":41382,"_7490":41382,"_7485":41382,"_28467":41382,"_8755":41382,"_31976":41382,"_31635":41382,"_9011":41382,"_3399":41382,"_26242":41382,"_16221":41382,"_30486":41382,"_3925":41382,"_23795":41382,"_15265":41382},"386",{"_22216":40871,"_7716":40871,"_5879":40871,"_15794":40871,"_20131":40871,"_34444":40871,"_30822":40871,"_15942":40871,"_31394":40871,"_30253":40871,"_10492":40871,"_22265":40871,"_11194":40871,"_6069":40871,"_33129":40871,"_3132":40871,"_32714":40871,"_4661":40871,"_31486":40871,"_32698":40871,"_26791":40871,"_35200":40871,"_24751":40871},"387",{"_7685":40844,"_35859":40844,"_7869":40844,"_18305":40844,"_11263":40844,"_8841":40844,"_34960":40844,"_5697":40844,"_20131":40844,"_27849":40844,"_20983":40844,"_6069":40844,"_22216":40844,"_21678":40844,"_14792":40844,"_30461":40844,"_7956":40844,"_18210":40844,"_34955":40844,"_17877":40844,"_22306":40844,"_5871":40844,"_3132":40844,"_26242":40844,"_33873":40844,"_31481":40844,"_15800":40844,"_8815":40844},{"_12553":40878,"_20447":40878,"_35859":40878,"_7869":40878,"_18305":40878},"389",{"_36621":40908,"_22306":40908,"_5871":40908,"_15794":40908,"_6047":40908,"_20131":40908,"_26242":40908,"_3925":40908,"_2225":40908,"_35859":40908,"_7869":40908,"_18305":40908,"_22228":40908,"_3132":40908,"_33873":40908,"_11263":40908,"_18738":40908,"_3997":40908,"_8144":40908,"_28022":40908,"_22216":40908,"_20370":40908,"_27051":40908,"_6069":40908,"_3":40908,"_22291":40908,"_25462":40908,"_7485":40908,"_12923":40908,"_16288":40908,"_30621":40908,"_23795":40908,"_36226":40908,"_30626":40908,"_3020":40908,"_3307":40908,"_34687":40908,"_36710":40908},"390",{"_17877":40866,"_22306":40866,"_5871":40866,"_3132":40866,"_15374":40866,"_22216":40866,"_7869":40866,"_18305":40866,"_21124":40866,"_20131":40866,"_26242":40866,"_3997":40866,"_4455":40866,"_25966":40866,"_3399":40866,"_13350":40866,"_6252":40866,"_18388":40866,"_31481":40866,"_3845":40866},"391",{"_31394":40871,"_12553":40871,"_20447":40871,"_7485":40871,"_22216":40871,"_12541":40871,"_27134":40871,"_3132":40871,"_7036":40871,"_22281":40871,"_12628":40871,"_31640":40871,"_5697":40871,"_10069":40871,"_3":40871,"_33057":40871,"_31481":40871,"_7271":40871,"_35859":40871,"_11116":40871,"_17888":40871,"_16158":40871,"_33211":40871},"392",{"_31394":40823,"_12553":40823,"_20447":40823,"_7485":40823,"_22216":40823,"_12541":40823,"_27134":40823,"_3132":40823,"_10565":40823,"_22281":40823,"_12628":40823,"_31640":40823,"_5697":40823,"_10041":40823,"_3":40823,"_33057":40823,"_31481":40823,"_7271":40823,"_35859":40823,"_11116":40823,"_17888":40823,"_34826":40823,"_29367":40823,"_3020":40823,"_18230":40823,"_16158":40823,"_6379":40823,"_6069":40823,"_6443":40823},"393",{"_22306":41018,"_3132":41018,"_10138":41018,"_2225":41018,"_27422":41018,"_10218":41018,"_11263":41018,"_24091":41018,"_5697":41018,"_21874":41018,"_3":41018,"_3997":41018,"_22216":41018,"_6297":41018,"_6069":41018,"_36981":41018,"_7485":41018,"_27051":41018,"_18457":41018,"_32139":41018,"_16654":41018,"_18305":41018,"_33052":41018,"_23795":41018,"_35135":41018,"_15800":41018,"_9652":41018,"_7535":41018,"_7716":41018,"_10191":41018},"394",{"_28954":40885,"_27051":40885,"_12931":40885,"_15976":40885,"_34850":40885,"_29058":40885,"_28109":40885,"_31947":40885,"_22216":40885,"_22393":40885},"395",{"_28954":40796,"_27051":40796,"_12931":40796,"_20270":40796,"_22216":40796,"_27876":40796,"_8771":40796,"_30506":40796,"_8414":40796,"_3399":40796,"_7742":40796,"_34861":40796,"_34082":40796,"_26784":40796,"_16250":40796,"_15976":40796,"_13582":40796,"_34672":40796},"396",{"_6884":40962,"_11313":40962,"_11327":40962,"_11346":40962,"_36615":40962,"_12553":40962,"_20447":40962,"_32942":40962,"_35859":40962,"_7869":40962,"_18305":40962,"_11263":40962,"_33711":40962,"_7485":40962,"_31374":40962,"_18210":40962,"_12541":40962,"_8858":40962,"_12628":40962,"_3276":40962,"_26763":40962,"_3183":40962,"_17163":40962,"_17086":40962,"_22216":40962,"_30461":40962,"_18979":40962,"_8144":40962,"_3925":40962,"_2225":40962,"_21678":40962,"_33157":40962,"_22306":40962,"_27051":40962,"_31630":40962,"_8034":40962,"_5697":40962,"_30626":40962,"_7535":40962,"_20190":40962,"_27631":40962,"_27997":40962,"_31404":40962,"_35135":40962,"_3132":40962,"_20718":40962,"_22281":40962,"_21491":40962,"_3399":40962,"_8851":40962,"_5":40962,"_21134":40962,"_16796":40962,"_29654":40962,"_4455":40962,"_16644":40962,"_8204":40962,"_30621":40962,"_27355":40962,"_4592":40962,"_20120":40962,"_13770":40962,"_22387":40962,"_7261":40962,"_15800":40962,"_8820":40962,"_20131":40962,"_13780":40962,"_23795":40962,"_4692":40962,"_5947":40962},"397",{"_28281":40881,"_35859":40881,"_7869":40881,"_18305":40881,"_11263":40881,"_28286":40881,"_5180":40881,"_15481":40881,"_22306":40881,"_9395":40881,"_7485":40881,"_2225":40881,"_31082":40881,"_22393":40881,"_30822":40881,"_5839":40881,"_7019":40881,"_8106":40881,"_5053":40881,"_5697":40881,"_22216":40881,"_3":40881,"_21910":40881,"_32466":40881},"398",{"_36514":41144,"_31394":41144,"_26242":41144,"_5697":41144,"_21858":41144,"_22216":41144,"_11263":41144,"_12628":41144,"_31481":41144,"_28787":41144,"_7535":41144,"_14173":41144,"_8204":41144,"_16221":41144,"_19102":41144,"_3997":41144,"_4455":41144,"_5318":41144,"_7459":41144,"_3244":41144,"_3399":41144,"_15800":41144,"_6047":41144,"_3228":41144,"_13780":41144,"_7485":41144,"_28777":41144,"_6069":41144,"_13755":41144,"_7825":41144,"_8144":41144,"_5494":41144,"_29683":41144,"_13159":41144,"_18435":41144,"_8403":41144,"_8414":41144,"_8420":41144,"_23795":41144,"_35135":41144,"_3132":41144,"_8460":41144},"399",{"_11411":41289,"_11313":41289,"_11320":41289,"_11346":41289,"_11342":41289,"_21204":41289,"_10229":41289,"_35859":41289,"_7869":41289,"_18305":41289,"_11263":41289,"_33711":41289,"_7485":41289,"_27021":41289,"_30253":41289,"_15794":41289,"_4592":41289,"_28046":41289,"_21199":41289,"_3244":41289,"_7535":41289,"_33129":41289,"_12628":41289,"_16742":41289,"_22306":41289,"_14241":41289,"_5325":41289,"_31394":41289,"_19999":41289,"_33804":41289,"_16891":41289,"_20131":41289,"_34439":41289,"_19256":41289,"_22216":41289,"_13234":41289,"_31481":41289,"_18990":41289,"_18032":41289,"_33648":41289,"_8858":41289,"_3020":41289,"_21962":41289,"_5697":41289,"_33364":41289,"_2225":41289,"_23016":41289,"_14167":41289,"_3997":41289,"_6707":41289,"_6069":41289,"_24226":41289,"_21464":41289,"_6297":41289,"_7983":41289,"_10234":41289,"_29774":41289,"_6047":41289,"_17877":41289,"_18145":41289,"_13755":41289,"_10218":41289,"_8358":41289,"_29932":41289,"_26763":41289,"_11093":41289,"_2217":41289,"_3825":41289,"_20255":41289,"_25609":41289,"_28954":41289,"_32088":41289,"_21015":41289,"_27026":41289,"_20234":41289,"_22028":41289},{"_23795":40917,"_35135":40917,"_3132":40917,"_21858":40917,"_8794":40917,"_26285":40917,"_22306":40917,"_19238":40917,"_5697":40917,"_37525":40917,"_30253":40917,"_15794":40917,"_23435":40917,"_22216":40917,"_10212":40917,"_15481":40917,"_19922":40917,"_33882":40917,"_23456":40917,"_10218":40917,"_31481":40917,"_15976":40917,"_13234":40917,"_15800":40917,"_20131":40917,"_3145":40917,"_9712":40917,"_17860":40917,"_18316":40917,"_24592":40917,"_33804":40917,"_18388":40917,"_4593":40917,"_3137":40917,"_6047":40917,"_22028":40917},"401",{"_22306":40834,"_19238":40834,"_29601":40834,"_33873":40834,"_33562":40834,"_34571":40834,"_30253":40834,"_32156":40834,"_22216":40834,"_21204":40834,"_8293":40834,"_8794":40834,"_26285":40834,"_3095":40834,"_21858":40834},"402",{"_11313":41570,"_11327":41570,"_33711":41570,"_7485":41570,"_22216":41570,"_23795":41570,"_30486":41570,"_6069":41570,"_2225":41570,"_11263":41570,"_12628":41570,"_3132":41570,"_5697":41570,"_4742":41570,"_12805":41570,"_3":41570,"_23347":41570,"_28017":41570,"_13755":41570,"_7825":41570,"_31394":41570,"_25616":41570,"_17877":41570,"_22291":41570,"_24751":41570,"_15800":41570,"_4630":41570,"_32829":41570,"_22306":41570,"_15794":41570,"_20131":41570,"_16618":41570,"_3399":41570,"_32471":41570,"_23317":41570,"_26763":41570,"_15930":41570,"_21588":41570,"_15925":41570,"_31404":41570,"_15363":41570,"_20120":41570,"_8761":41570,"_31409":41570,"_23206":41570,"_19238":41570,"_5168":41570,"_15374":41570,"_9228":41570,"_8144":41570,"_31481":41570,"_34040":41570,"_30532":41570,"_25936":41570,"_3280":41570,"_31486":41570,"_3074":41570,"_33501":41570,"_12923":41570,"_34279":41570,"_27625":41570,"_5242":41570,"_33572":41570,"_28114":41570,"_31275":41570,"_27071":41570,"_3002":41570,"_2217":41570,"_31123":41570,"_17384":41570,"_6322":41570,"_17595":41570,"_21874":41570,"_3925":41570,"_25132":41570,"_31861":41570,"_7123":41570,"_29630":41570,"_5871":41570,"_23072":41570,"_6126":41570,"_4776":41570,"_7255":41570,"_7535":41570,"_18457":41570,"_32145":41570,"_27148":41570,"_24776":41570,"_34872":41570,"_29490":41570,"_29399":41570,"_15799":41570,"_4975":41570,"_19647":41570,"_22233":41570,"_21124":41570,"_3997":41570,"_8794":41570,"_30732":41570,"_29378":41570,"_34454":41570,"_19299":41570,"_23624":41570},0.009708737864077669,"403",{"_6884":40808,"_31394":40808,"_8761":40808,"_12958":40808,"_8589":40808,"_4776":40808,"_15794":40808,"_20131":40808,"_23440":40808,"_8794":40808,"_26285":40808,"_22216":40808,"_32139":40808,"_35200":40808,"_12737":40808,"_5697":40808,"_11263":40808,"_25966":40808,"_23357":40808,"_8204":40808,"_13304":40808,"_7841":40808,"_22306":40808,"_5128":40808,"_23206":40808,"_8460":40808,"_3997":40808,"_35859":40808,"_14682":40808,"_6144":40808,"_3002":40808,"_2217":40808,"_37136":40808},"404",{"_31394":40881,"_22306":40881,"_8293":40881,"_3132":40881,"_23440":40881,"_3399":40881,"_22216":40881,"_11263":40881,"_12628":40881,"_23891":40881,"_22291":40881,"_8820":40881,"_23352":40881,"_24662":40881,"_15800":40881,"_32829":40881,"_8144":40881,"_31481":40881,"_7225":40881,"_3074":40881,"_33211":40881,"_10491":40881,"_5697":40881,"_25609":40881},"405",{"_2225":40957,"_33711":40957,"_27537":40957,"_12965":40957,"_8589":40957,"_3132":40957,"_18170":40957,"_5697":40957,"_25052":40957,"_22306":40957,"_8293":40957,"_17877":40957,"_4776":40957,"_23440":40957,"_8144":40957,"_33774":40957,"_7535":40957,"_22216":40957,"_25032":40957,"_7924":40957,"_16710":40957,"_11263":40957,"_22260":40957,"_12805":40957,"_3":40957,"_23347":40957,"_3399":40957,"_19751":40957,"_19494":40957,"_25609":40957,"_12628":40957,"_6252":40957,"_3925":40957,"_21088":40957,"_7485":40957,"_18633":40957,"_19262":40957,"_31481":40957,"_15800":40957,"_8761":40957,"_8820":40957,"_23352":40957,"_5893":40957,"_26242":40957,"_7019":40957,"_21458":40957,"_7825":40957,"_5888":40957,"_14682":40957,"_6144":40957,"_19238":40957,"_15794":40957,"_20131":40957,"_34439":40957,"_32471":40957,"_17860":40957,"_28717":40957,"_6069":40957,"_10492":40957,"_34454":40957,"_26249":40957,"_16556":40957,"_15665":40957,"_29601":40957,"_30522":40957,"_3074":40957,"_17546":40957,"_19442":40957,"_33882":40957,"_22291":40957,"_32120":40957,"_32829":40957,"_6047":40957,"_24751":40957,"_13739":40957,"_30822":40957,"_11109":40957,"_8841":40957,"_5318":40957,"_6297":40957,"_32959":40957},"406",{"_11411":41579,"_11313":41579,"_11320":41579,"_33711":41579,"_7485":41579,"_22216":41579,"_23795":41579,"_30486":41579,"_6069":41579,"_2225":41579,"_11263":41579,"_12628":41579,"_3997":41579,"_25631":41579,"_31394":41579,"_33873":41579,"_3":41579,"_21910":41579,"_3132":41579,"_7768":41579,"_5697":41579,"_26242":41579,"_13138":41579,"_13175":41579,"_3399":41579,"_35728":41579,"_13582":41579,"_3925":41579,"_35432":41579,"_21009":41579,"_22306":41579,"_15794":41579,"_20131":41579,"_23317":41579,"_17877":41579,"_26763":41579,"_32476":41579,"_2217":41579,"_3825":41579,"_11010":41579,"_37520":41579,"_37160":41579,"_29601":41579,"_9038":41579,"_23347":41579,"_31374":41579,"_31630":41579,"_20773":41579,"_27021":41579,"_20125":41579,"_30102":41579,"_33258":41579,"_8414":41579,"_22291":41579,"_21385":41579,"_21688":41579,"_32186":41579,"_24837":41579,"_32844":41579,"_35165":41579,"_31481":41579,"_15363":41579,"_35753":41579,"_32088":41579,"_34093":41579,"_19178":41579,"_34785":41579,"_8144":41579,"_3145":41579,"_7686":41579,"_31486":41579,"_5254":41579,"_3074":41579,"_34991":41579,"_12720":41579,"_17229":41579,"_33501":41579,"_32574":41579,"_15665":41579,"_25032":41579,"_27148":41579,"_19862":41579,"_7825":41579,"_37536":41579,"_27355":41579,"_37559":41579,"_23901":41579,"_23961":41579,"_8794":41579},0.011235955056179775,"407",{"_17334":40806,"_35165":40806,"_15794":40806,"_20131":40806,"_3095":40806,"_31394":40806,"_8761":40806,"_11263":40806,"_25966":40806,"_23357":40806,"_8204":40806,"_13304":40806,"_7841":40806,"_8794":40806,"_26285":40806,"_24837":40806,"_4776":40806,"_8460":40806,"_3997":40806,"_22216":40806,"_35859":40806,"_14682":40806,"_6144":40806,"_3002":40806,"_2217":40806,"_37136":40806,"_12965":40806,"_8589":40806,"_31481":40806,"_12805":40806,"_8820":40806,"_7825":40806},"408",{"_11411":41056,"_6884":41056,"_11313":41056,"_11327":41056,"_33711":41056,"_7485":41056,"_26550":41056,"_25280":41056,"_29630":41056,"_30522":41056,"_10871":41056,"_5697":41056,"_17716":41056,"_10041":41056,"_22393":41056,"_22306":41056,"_16566":41056,"_21161":41056,"_6069":41056,"_22216":41056,"_34350":41056,"_14747":41056,"_25275":41056,"_3399":41056,"_8851":41056,"_18210":41056,"_19832":41056,"_14773":41056,"_8001":41056,"_3132":41056,"_23795":41056,"_12541":41056,"_12628":41056,"_16221":41056,"_22362":41056,"_20788":41056,"_15127":41056,"_5090":41056,"_22352":41056,"_36715":41056,"_26384":41056,"_22357":41056,"_36265":41056,"_13367":41056,"_3002":41056,"_3017":41056,"_31895":41056,"_7869":41056,"_15794":41056,"_20131":41056,"_13780":41056,"_18190":41056,"_21199":41056,"_4975":41056,"_6018":41056,"_31374":41056,"_20094":41056,"_27355":41056,"_13965":41056,"_6967":41056,"_27360":41056,"_10056":41056,"_20067":41056,"_36270":41056},"409",{"_22216":40841,"_23795":40841,"_20508":40841,"_3765":40841,"_5730":40841,"_4975":40841,"_20380":40841,"_10041":40841,"_22393":40841,"_3997":40841,"_2225":40841,"_24342":40841,"_11263":40841,"_20234":40841,"_31123":40841,"_25280":40841,"_33743":40841,"_5697":40841,"_29630":40841,"_25377":40841,"_5629":40841,"_6069":40841,"_22357":40841,"_5032":40841,"_19112":40841},"410",{"_11411":41107,"_6884":41107,"_5968":41107,"_11313":41107,"_11327":41107,"_11263":41107,"_34350":41107,"_34229":41107,"_35859":41107,"_7869":41107,"_18305":41107,"_6047":41107,"_33711":41107,"_7485":41107,"_6473":41107,"_6069":41107,"_26384":41107,"_22357":41107,"_4975":41107,"_29327":41107,"_22352":41107,"_8820":41107,"_8144":41107,"_3132":41107,"_9652":41107,"_5697":41107,"_10492":41107,"_20718":41107,"_22281":41107,"_3659":41107,"_7535":41107,"_28954":41107,"_34203":41107,"_12541":41107,"_14173":41107,"_22216":41107,"_23795":41107,"_35135":41107,"_28307":41107,"_16277":41107,"_14620":41107},"411",{"_11411":40808,"_5968":40808,"_11313":40808,"_11327":40808,"_11263":40808,"_34350":40808,"_34194":40808,"_35859":40808,"_7869":40808,"_18305":40808,"_6047":40808,"_33711":40808,"_7485":40808,"_6473":40808,"_6069":40808,"_31895":40808,"_22357":40808,"_17877":40808,"_13780":40808,"_31486":40808,"_22216":40808,"_26384":40808,"_24662":40808,"_13367":40808,"_3002":40808,"_3017":40808,"_23357":40808,"_23795":40808,"_35135":40808,"_3132":40808,"_22757":40808,"_16277":40808,"_14620":40808},"412",{"_11411":40808,"_11313":40808,"_11327":40808,"_11263":40808,"_14797":40808,"_34194":40808,"_35859":40808,"_7869":40808,"_18305":40808,"_6047":40808,"_33711":40808,"_7485":40808,"_6473":40808,"_6069":40808,"_14773":40808,"_8001":40808,"_31895":40808,"_22357":40808,"_17877":40808,"_13780":40808,"_31486":40808,"_22216":40808,"_20067":40808,"_22352":40808,"_31481":40808,"_18190":40808,"_8851":40808,"_23357":40808,"_23795":40808,"_35135":40808,"_3132":40808,"_16277":40808,"_14620":40808},"413",{"_11411":41594,"_11263":41594,"_14797":41594,"_20407":41594,"_35859":41594,"_7869":41594,"_18305":41594,"_6047":41594,"_20297":41594,"_6473":41594,"_6069":41594,"_10086":41594,"_5697":41594,"_18190":41594,"_8204":41594,"_36406":41594,"_30461":41594,"_28200":41594,"_18210":41594,"_14802":41594,"_17877":41594,"_22216":41594,"_35135":41594,"_23795":41594,"_31976":41594,"_28194":41594,"_31399":41594,"_29630":41594,"_2225":41594,"_28517":41594,"_10069":41594,"_3399":41594,"_19118":41594,"_29829":41594,"_10041":41594,"_30751":41594,"_27051":41594,"_31481":41594,"_8595":41594,"_14773":41594,"_15991":41594,"_25707":41594,"_3":41594,"_20131":41594,"_26067":41594,"_3765":41594,"_37028":41594,"_3856":41594,"_7485":41594,"_8034":41594,"_30756":41594,"_22260":41594,"_20487":41594,"_22291":41594,"_31486":41594,"_22306":41594,"_15794":41594,"_27509":41594,"_12580":41594,"_18995":41594,"_27021":41594,"_29659":41594,"_19256":41594,"_3659":41594,"_9657":41594,"_3132":41594,"_26242":41594,"_20482":41594,"_34188":41594,"_16277":41594,"_14620":41594,"_3020":41594,"_28623":41594},0.0136986301369863,"414",{"_6884":41579,"_11263":41579,"_14797":41579,"_20348":41579,"_35859":41579,"_7869":41579,"_18305":41579,"_6047":41579,"_20297":41579,"_6473":41579,"_6069":41579,"_14802":41579,"_5697":41579,"_18190":41579,"_30461":41579,"_18210":41579,"_10086":41579,"_31976":41579,"_31481":41579,"_21962":41579,"_3925":41579,"_20190":41579,"_9061":41579,"_28517":41579,"_15794":41579,"_22819":41579,"_10196":41579,"_22306":41579,"_14218":41579,"_2225":41579,"_29829":41579,"_14773":41579,"_30751":41579,"_27051":41579,"_8595":41579,"_31374":41579,"_20718":41579,"_28613":41579,"_8450":41579,"_8144":41579,"_3132":41579,"_9652":41579,"_26242":41579,"_31394":41579,"_3074":41579,"_32088":41579,"_25936":41579,"_31911":41579,"_31486":41579,"_11077":41579,"_17877":41579,"_31581":41579,"_3765":41579,"_37028":41579,"_3856":41579,"_7485":41579,"_30756":41579,"_22260":41579,"_20487":41579,"_22291":41579,"_22216":41579,"_35135":41579,"_27509":41579,"_12580":41579,"_18995":41579,"_7266":41579,"_4304":41579,"_31861":41579,"_20131":41579,"_33531":41579,"_4593":41579,"_33129":41579,"_15546":41579,"_12628":41579,"_18420":41579,"_29654":41579,"_10069":41579,"_9994":41579,"_3659":41579,"_16221":41579,"_23337":41579,"_13350":41579,"_23795":41579,"_33845":41579,"_3399":41579,"_13175":41579,"_20508":41579,"_15800":41579,"_25057":41579},"415",{"_11411":40984,"_11313":40984,"_11320":40984,"_36817":40984,"_12923":40984,"_13597":40984,"_15496":40984,"_35859":40984,"_7869":40984,"_18305":40984,"_6047":40984,"_33711":40984,"_7485":40984,"_22216":40984,"_8771":40984,"_16944":40984,"_21364":40984,"_7535":40984,"_33129":40984,"_10218":40984,"_6069":40984,"_15827":40984,"_3399":40984,"_22399":40984,"_33974":40984,"_23795":40984,"_3132":40984},"416",{"_11411":40808,"_11313":40808,"_11320":40808,"_36144":40808,"_12923":40808,"_13597":40808,"_20465":40808,"_35859":40808,"_7869":40808,"_18305":40808,"_6047":40808,"_33711":40808,"_7485":40808,"_22216":40808,"_20370":40808,"_6473":40808,"_6069":40808,"_3399":40808,"_22399":40808,"_33974":40808,"_22291":40808,"_15794":40808,"_20131":40808,"_23961":40808,"_17748":40808,"_21322":40808,"_22306":40808,"_18649":40808,"_30093":40808,"_24592":40808,"_23993":40808,"_23795":40808,"_3132":40808},"417",{"_11411":41182,"_11313":41182,"_11327":41182,"_11320":41182,"_36123":41182,"_35604":41182,"_12923":41182,"_13597":41182,"_20430":41182,"_35859":41182,"_7869":41182,"_18305":41182,"_6047":41182,"_33711":41182,"_7485":41182,"_22216":41182,"_20370":41182,"_16944":41182,"_21364":41182,"_22291":41182,"_2225":41182,"_29601":41182,"_33856":41182,"_29779":41182,"_3642":41182,"_15530":41182,"_3132":41182,"_9460":41182,"_27148":41182,"_20131":41182,"_28467":41182,"_32371":41182,"_7535":41182,"_30258":41182,"_12541":41182,"_5697":41182,"_12805":41182,"_24662":41182,"_33753":41182,"_31880":41182,"_3399":41182,"_22260":41182,"_23795":41182,"_2219":41182,"_21327":41182,"_27021":41182,"_33157":41182,"_35295":41182,"_8144":41182,"_31369":41182,"_34439":41182,"_17229":41182,"_13603":41182,"_29630":41182,"_3765":41182,"_23961":41182},"418",{"_11411":40834,"_11313":40834,"_11320":40834,"_33711":40834,"_7485":40834,"_22216":40834,"_7716":40834,"_5879":40834,"_3765":40834,"_16834":40834,"_5697":40834,"_20270":40834,"_11263":40834,"_33178":40834,"_23778":40834},"419",{"_11411":41607,"_11313":41607,"_11320":41607,"_36123":41607,"_11263":41607,"_21051":41607,"_30923":41607,"_35859":41607,"_7869":41607,"_18305":41607,"_6047":41607,"_13707":41607,"_22216":41607,"_20370":41607,"_6473":41607,"_6069":41607,"_21046":41607,"_25462":41607,"_7485":41607,"_35135":41607,"_27148":41607,"_20131":41607,"_19699":41607,"_17044":41607,"_23795":41607,"_3132":41607,"_16834":41607,"_5697":41607,"_9668":41607,"_28997":41607,"_26242":41607,"_30506":41607,"_2225":41607,"_12628":41607,"_7735":41607,"_3020":41607,"_6679":41607,"_3399":41607,"_8414":41607,"_31394":41607,"_23529":41607,"_31486":41607,"_22223":41607,"_31481":41607,"_22260":41607,"_24607":41607,"_11291":41607,"_14792":41607,"_7825":41607,"_30102":41607,"_9800":41607,"_13165":41607,"_25966":41607,"_4975":41607,"_8771":41607,"_23524":41607,"_34444":41607,"_7535":41607,"_23784":41607,"_19509":41607},0.016666666666666666,"420",{"_11263":40802,"_21051":40802,"_3095":40802,"_35859":40802,"_7869":40802,"_18305":40802,"_6047":40802,"_31394":40802,"_26242":40802,"_5697":40802,"_21858":40802,"_31481":40802,"_32156":40802,"_21781":40802,"_3399":40802,"_9668":40802,"_21046":40802,"_23795":40802,"_35135":40802,"_3132":40802,"_8460":40802},"421",{"_11411":40832,"_11313":40832,"_11306":40832,"_33711":40832,"_7485":40832,"_22216":40832,"_7716":40832,"_5879":40832,"_3765":40832,"_34439":40832,"_5697":40832,"_13775":40832,"_3048":40832},"422",{"_11327":40784,"_2974":40784,"_11103":40784,"_35859":40784,"_7869":40784,"_18305":40784,"_11263":40784,"_22216":40784,"_8771":40784,"_16944":40784,"_7535":40784,"_11077":40784,"_28843":40784,"_14682":40784,"_5697":40784,"_18446":40784,"_12628":40784,"_23804":40784,"_21286":40784},"423",{"_2974":40834,"_26686":40834,"_3095":40834,"_35859":40834,"_7869":40834,"_18305":40834,"_11263":40834,"_22216":40834,"_8651":40834,"_7535":40834,"_32186":40834,"_14682":40834,"_23804":40834,"_5697":40834,"_21858":40834},"424",{"_2974":40834,"_9259":40834,"_3095":40834,"_35859":40834,"_7869":40834,"_18305":40834,"_11263":40834,"_22216":40834,"_8651":40834,"_7535":40834,"_32186":40834,"_14682":40834,"_23804":40834,"_5697":40834,"_21858":40834},{"_2974":40802,"_33758":40802,"_35859":40802,"_7869":40802,"_18305":40802,"_11263":40802,"_22216":40802,"_8651":40802,"_5697":40802,"_13687":40802,"_31429":40802,"_12541":40802,"_3290":40802,"_3132":40802,"_33753":40802,"_34412":40802,"_36307":40802,"_8841":40802,"_21858":40802,"_23804":40802,"_8460":40802},"426",{"_6884":40832,"_11313":40832,"_11346":40832,"_33711":40832,"_7485":40832,"_22216":40832,"_7716":40832,"_5879":40832,"_3765":40832,"_34439":40832,"_5697":40832,"_13775":40832,"_3048":40832},"427",{"_2974":40802,"_7691":40802,"_35859":40802,"_7869":40802,"_18305":40802,"_11263":40802,"_7674":40802,"_3048":40802,"_5697":40802,"_10492":40802,"_28210":40802,"_22455":40802,"_4522":40802,"_6047":40802,"_7692":40802,"_21821":40802,"_23804":40802,"_23440":40802,"_6592":40802,"_19636":40802,"_26291":40802},"428",{"_11411":40832,"_11313":40832,"_11320":40832,"_33711":40832,"_7485":40832,"_22216":40832,"_7716":40832,"_5879":40832,"_3765":40832,"_34439":40832,"_5697":40832,"_13775":40832,"_3048":40832},"429",{"_2974":40796,"_19636":40796,"_35859":40796,"_7869":40796,"_18305":40796,"_11263":40796,"_32156":40796,"_22216":40796,"_6707":40796,"_5697":40796,"_5074":40796,"_31123":40796,"_30149":40796,"_3399":40796,"_7692":40796,"_21821":40796,"_23804":40796,"_23440":40796},"430",{"_11411":40832,"_11313":40832,"_11327":40832,"_33711":40832,"_7485":40832,"_22216":40832,"_7716":40832,"_5879":40832,"_3765":40832,"_34439":40832,"_5697":40832,"_13775":40832,"_3048":40832},"431",{"_2974":40911,"_32175":40911,"_35859":40911,"_7869":40911,"_18305":40911,"_11263":40911,"_26242":40911,"_5697":40911,"_8460":40911,"_23435":40911,"_22216":40911,"_3048":40911,"_8794":40911,"_23795":40911,"_3132":40911,"_3095":40911},"432",{"_11411":40911,"_2974":40911,"_26035":40911,"_35859":40911,"_7869":40911,"_18305":40911,"_11263":40911,"_22216":40911,"_3228":40911,"_12667":40911,"_35836":40911,"_12628":40911,"_28792":40911,"_3997":40911,"_23804":40911,"_5697":40911},"433",{"_36843":40911,"_2974":40911,"_26046":40911,"_35859":40911,"_7869":40911,"_18305":40911,"_11263":40911,"_22216":40911,"_6707":40911,"_12667":40911,"_35836":40911,"_12628":40911,"_28792":40911,"_3997":40911,"_23804":40911,"_5697":40911},"434",{"_35599":40984,"_2974":40984,"_17991":40984,"_35859":40984,"_7869":40984,"_18305":40984,"_11263":40984,"_26242":40984,"_22216":40984,"_20370":40984,"_17986":40984,"_8771":40984,"_7485":40984,"_21364":40984,"_22291":40984,"_2225":40984,"_14167":40984,"_15794":40984,"_31816":40984,"_30461":40984,"_4105":40984,"_3020":40984,"_9585":40984,"_3":40984,"_23804":40984,"_5697":40984,"_21436":40984},"435",{"_2974":40836,"_14694":40836,"_35859":40836,"_7869":40836,"_18305":40836,"_11263":40836,"_22216":40836,"_14695":40836,"_7535":40836,"_28807":40836,"_3399":40836,"_17563":40836,"_14688":40836,"_9978":40836,"_5697":40836,"_11016":40836,"_23804":40836},"436",{"_3":40853,"_7825":40853,"_20170":40853},{"_24156":40796,"_29485":40796,"_11263":40796,"_20156":40796,"_16221":40796,"_3":40796,"_3399":40796,"_21678":40796,"_14792":40796,"_23352":40796,"_26686":40796,"_7825":40796,"_28889":40796,"_13288":40796,"_9605":40796,"_34412":40796,"_22216":40796,"_23057":40796},"438",{"_22216":40853,"_3":40853,"_23347":40853},"439",{"_22216":40853,"_14792":40853,"_23347":40853},"440",{"_7825":40794,"_20170":40794},"441",{"_9605":40853,"_3280":40853,"_23057":40853},"442",{"_11263":40908,"_25467":40908,"_16221":40908,"_3":40908,"_7485":40908,"_2225":40908,"_23347":40908,"_3399":40908,"_21678":40908,"_14792":40908,"_8794":40908,"_23795":40908,"_22223":40908,"_22693":40908,"_23352":40908,"_3765":40908,"_22216":40908,"_27355":40908,"_12628":40908,"_15794":40908,"_27148":40908,"_20131":40908,"_13780":40908,"_5697":40908,"_21874":40908,"_7841":40908,"_26566":40908,"_22281":40908,"_22393":40908,"_16649":40908,"_29058":40908,"_24483":40908,"_31394":40908,"_28405":40908,"_9295":40908,"_3997":40908,"_24342":40908,"_24362":40908},"443",{"_22306":40817,"_23347":40817,"_29601":40817,"_22693":40817,"_3020":40817,"_22347":40817,"_7841":40817,"_7485":40817,"_8144":40817},"444",{"_21458":40911,"_3280":40911,"_13576":40911,"_2225":40911,"_27026":40911,"_17039":40911,"_7485":40911,"_30190":40911,"_10112":40911,"_4110":40911,"_22127":40911,"_22291":40911,"_10291":40911,"_22216":40911,"_12628":40911,"_5302":40911},"445",{"_17339":40940,"_3280":40940,"_18591":40940,"_17234":40940,"_29103":40940,"_6069":40940,"_3":40940,"_21910":40940,"_3132":40940,"_32574":40940,"_13294":40940,"_7019":40940,"_6018":40940,"_15626":40940},"446",{"_26686":40885,"_13138":40885,"_3280":40885,"_29543":40885,"_22216":40885,"_8188":40885,"_6069":40885,"_2225":40885,"_3":40885,"_21910":40885},"447",{"_33129":41163,"_11263":41163,"_12628":41163,"_29601":41163,"_2225":41163,"_34629":41163,"_5302":41163,"_22306":41163,"_3132":41163,"_34439":41163,"_7485":41163,"_22693":41163,"_19877":41163,"_22216":41163,"_21458":41163,"_7825":41163,"_3399":41163,"_13755":41163,"_17928":41163,"_22291":41163,"_14572":41163,"_5697":41163,"_7401":41163,"_3":41163,"_23347":41163,"_28802":41163,"_13613":41163,"_17163":41163,"_7535":41163,"_17913":41163,"_8794":41163,"_16221":41163,"_31394":41163,"_16742":41163,"_25626":41163,"_8144":41163,"_10086":41163,"_8204":41163,"_22260":41163,"_34412":41163,"_28678":41163,"_7019":41163,"_6707":41163,"_3997":41163,"_31369":41163,"_27148":41163,"_28787":41163},"448",{"_22216":41664,"_26686":41664,"_7841":41664,"_25462":41664,"_7485":41664,"_3":41664,"_23347":41664,"_3765":41664,"_8188":41664,"_26698":41664,"_26530":41664,"_22291":41664,"_24592":41664,"_8771":41664,"_11263":41664,"_12628":41664,"_3132":41664,"_21603":41664,"_34960":41664,"_6187":41664,"_5697":41664,"_21910":41664,"_25367":41664,"_6069":41664,"_7825":41664,"_5977":41664,"_13138":41664,"_21678":41664,"_5302":41664,"_28997":41664,"_14785":41664,"_4975":41664,"_25609":41664,"_22455":41664,"_16566":41664,"_2225":41664,"_25254":41664,"_6192":41664,"_31374":41664,"_31630":41664,"_18190":41664,"_22260":41664,"_20125":41664,"_15800":41664,"_14556":41664,"_3642":41664,"_5021":41664,"_32850":41664,"_3399":41664,"_7535":41664,"_22306":41664,"_10180":41664,"_31976":41664,"_10457":41664,"_8144":41664,"_3925":41664,"_25752":41664,"_15794":41664,"_9600":41664,"_34412":41664,"_30435":41664,"_21593":41664,"_3101":41664,"_17969":41664,"_34323":41664,"_16221":41664,"_8794":41664,"_10410":41664,"_14792":41664,"_5675":41664,"_7280":41664,"_13165":41664,"_7869":41664,"_21644":41664},0.013513513513513514,"449",{"_22216":41667,"_14792":41667,"_23347":41667,"_13576":41667,"_11263":41667,"_21678":41667,"_28405":41667,"_30461":41667,"_3642":41667,"_34955":41667,"_21593":41667,"_19862":41667,"_32120":41667,"_22291":41667,"_10291":41667,"_3132":41667,"_31557":41667,"_5697":41667,"_34098":41667,"_25472":41667,"_2225":41667,"_33711":41667,"_7825":41667,"_25616":41667,"_31394":41667,"_6473":41667,"_6069":41667,"_21688":41667,"_15546":41667,"_10202":41667,"_35200":41667,"_22371":41667,"_14867":41667,"_34412":41667,"_27355":41667,"_19238":41667,"_31369":41667,"_17190":41667,"_8258":41667,"_26693":41667,"_26125":41667,"_26742":41667,"_3399":41667,"_26730":41667,"_5400":41667,"_7858":41667,"_25367":41667,"_7924":41667,"_13138":41667},0.02040816326530612,"450",{"_22216":40808,"_7603":40808,"_6069":40808,"_26686":40808,"_3399":40808,"_14792":40808,"_7841":40808,"_24751":40808,"_15800":40808,"_15363":40808,"_30506":40808,"_25662":40808,"_11263":40808,"_25966":40808,"_23383":40808,"_13765":40808,"_10372":40808,"_22233":40808,"_30253":40808,"_15794":40808,"_19582":40808,"_22223":40808,"_8204":40808,"_2225":40808,"_8761":40808,"_12628":40808,"_5697":40808,"_24373":40808,"_20234":40808,"_31486":40808,"_25680":40808,"_7535":40808,"_21660":40808},"451",{"_34412":40784,"_6225":40784,"_14792":40784,"_3399":40784,"_26686":40784,"_7841":40784,"_30253":40784,"_15794":40784,"_28673":40784,"_4975":40784,"_22216":40784,"_18633":40784,"_13165":40784,"_6069":40784,"_11263":40784,"_25966":40784,"_32471":40784,"_9259":40784,"_22291":40784},"452",{"_22216":41674,"_11263":41674,"_12628":41674,"_15632":41674,"_26686":41674,"_3399":41674,"_14792":41674,"_7841":41674,"_30822":41674,"_33856":41674,"_23966":41674,"_22265":41674,"_9449":41674,"_19614":41674,"_6069":41674,"_3":41674,"_3132":41674,"_17656":41674,"_6407":41674,"_17860":41674,"_6047":41674,"_33748":41674,"_29063":41674,"_15025":41674,"_8188":41674,"_4455":41674,"_7716":41674,"_8144":41674,"_28997":41674,"_7825":41674,"_18556":41674,"_29073":41674,"_8826":41674,"_33774":41674,"_5697":41674,"_16561":41674,"_34960":41674,"_31369":41674,"_29769":41674,"_5473":41674,"_22306":41674,"_31630":41674,"_25616":41674,"_32032":41674,"_17086":41674,"_32834":41674,"_4975":41674,"_22291":41674,"_8771":41674,"_19679":41674,"_30435":41674,"_26693":41674,"_10985":41674,"_6499":41674,"_28405":41674,"_18235":41674,"_26790":41674,"_17277":41674,"_7485":41674,"_26125":41674,"_20077":41674,"_26175":41674,"_7535":41674,"_20718":41674,"_23860":41674,"_3997":41674,"_26285":41674,"_2225":41674,"_25472":41674},0.014492753623188406,"453",{"_5":40794,"_17136":40794},"454",{"_22216":40908,"_3":40908,"_25462":40908,"_7485":40908,"_22223":40908,"_7841":40908,"_3132":40908,"_15800":40908,"_32323":40908,"_15925":40908,"_6069":40908,"_25477":40908,"_26535":40908,"_11263":40908,"_33774":40908,"_20962":40908,"_33743":40908,"_5697":40908,"_20131":40908,"_21598":40908,"_18644":40908,"_34752":40908,"_5053":40908,"_25132":40908,"_3765":40908,"_32911":40908,"_2217":40908,"_3825":40908,"_13687":40908,"_3399":40908,"_24291":40908,"_3997":40908,"_17249":40908,"_26291":40908,"_31369":40908,"_8144":40908,"_30517":40908,"_24265":40908},"455",{"_20718":40829,"_23860":40829,"_15794":40829,"_20131":40829,"_7768":40829,"_7485":40829,"_22306":40829},"456",{"_24254":3013},"457",{"_15181":40834,"_11263":40834,"_24254":40834,"_8831":40834,"_3399":40834,"_26249":40834,"_25057":40834,"_19888":40834,"_7869":40834,"_13248":40834,"_21176":40834,"_32088":40834,"_13755":40834,"_27036":40834,"_24383":40834},"458",{"_7869":40794,"_8831":40794},"459",{"_25057":40794,"_19888":40794},"460",{"_25052":40794,"_20523":40794},"461",{"_8820":40794,"_26817":40794},"462",{"_13248":40853,"_21176":40853,"_26249":40853},"463",{"_27026":40878,"_12628":40878,"_3399":40878,"_24383":40878,"_26249":40878},"464",{"_24096":40787,"_2225":40787,"_11263":40787,"_24254":40787},"465",{"_15706":40853,"_20234":40853,"_8831":40853},"466",{"_27026":40853,"_20234":40853,"_8831":40853},"467",{"_22306":40901,"_26175":40901,"_13576":40901,"_17163":40901,"_5385":40901,"_24249":40901,"_11263":40901,"_3399":40901,"_15181":40901,"_22223":40901,"_22582":40901},"468",{"_7869":40794,"_8831":40794},"469",{"_13248":40853,"_21176":40853,"_26249":40853},"470",{"_27026":40878,"_12628":40878,"_3399":40878,"_24383":40878,"_26249":40878},"471",{"_22216":41264,"_7924":41264,"_22693":41264,"_26180":41264,"_4023":41264,"_30253":41264,"_3765":41264,"_16921":41264,"_7485":41264,"_16727":41264,"_11263":41264,"_2225":41264,"_18457":41264,"_32139":41264,"_25132":41264,"_3925":41264,"_23242":41264,"_7993":41264,"_26175":41264,"_15181":41264,"_27077":41264,"_31369":41264,"_26285":41264,"_7019":41264,"_3997":41264,"_28848":41264,"_30732":41264,"_3280":41264,"_7535":41264,"_32515":41264,"_22028":41264,"_3020":41264,"_24373":41264,"_30822":41264,"_15800":41264},"472",{"_11263":40836,"_13970":40836,"_6069":40836,"_21199":40836,"_14910":40836,"_26763":40836,"_3765":40836,"_25057":40836,"_31213":40836,"_3399":40836,"_3672":40836,"_6047":40836,"_3997":40836,"_2225":40836,"_27494":40836,"_26242":40836,"_19888":40836},"473",{"_12541":40832,"_3132":40832,"_22216":40832,"_35859":40832,"_28864":40832,"_34439":40832,"_8794":40832,"_4249":40832,"_5697":40832,"_14151":40832,"_2225":40832,"_11263":40832,"_32088":40832},"474",{"_12628":40885,"_3132":40885,"_22216":40885,"_35859":40885,"_22291":40885,"_8776":40885,"_3997":40885,"_11263":40885,"_32088":40885,"_33974":40885},"475",{"_23032":40836,"_12541":40836,"_3132":40836,"_2225":40836,"_17656":40836,"_7485":40836,"_2222":40836,"_26988":40836,"_5697":40836,"_22216":40836,"_35859":40836,"_34439":40836,"_8794":40836,"_4249":40836,"_14151":40836,"_11263":40836,"_32088":40836},"476",{"_13712":40829,"_10486":40829,"_5697":40829,"_21199":40829,"_5888":40829,"_3282":40829,"_14910":40829},"477",{"_22216":40836,"_7716":40836,"_20523":40836,"_24156":40836,"_29347":40836,"_6069":40836,"_25052":40836,"_14785":40836,"_7535":40836,"_8761":40836,"_33129":40836,"_14904":40836,"_3997":40836,"_23383":40836,"_5796":40836,"_7869":40836,"_19888":40836},"478",{"_5796":40794,"_7869":40794},"479",{"_12541":3013},"480",{"_12628":3013},"481",{"_23032":40794,"_12541":40794},"482",{"_13712":3013},"483",{"_7507":40794,"_28727":40794},"484",{"_24373":40853,"_3399":40853,"_18457":40853},"485",{"_24373":40853,"_3399":40853,"_18457":40853},{"_24373":40853,"_3399":40853,"_18457":40853},"487",{"_24373":40853,"_3399":40853,"_18457":40853},"488",{"_26833":3013},"489",{"_24373":40853,"_3399":40853,"_18457":40853},"490",{"_24373":40853,"_3399":40853,"_18457":40853},"491",{"_15800":40794,"_25057":40794},"492",{"_15800":40794,"_25057":40794},"493",{"_8270":3013},"494",{"_24373":40853,"_3399":40853,"_18457":40853},"495",{"_24373":40853,"_3399":40853,"_18457":40853},"496",{"_15800":40794,"_25057":40794},"497",{"_15800":40794,"_25057":40794},"498",{"_31513":3013},"499",{"_24373":40853,"_3399":40853,"_18457":40853},{"_24373":40853,"_3399":40853,"_18457":40853},{"_15800":40794,"_25057":40794},"502",{"_15800":40794,"_25057":40794},"503",{"_20229":40853,"_6862":40853,"_4309":40853},"504",{"_24373":40794,"_6047":40794},"505",{"_24373":40794,"_6047":40794},"506",{"_15800":40794,"_25057":40794},"507",{"_15800":40794,"_25057":40794},"508",{"_7535":40808,"_3642":40808,"_5796":40808,"_7869":40808,"_15800":40808,"_32688":40808,"_21088":40808,"_3925":40808,"_25057":40808,"_7485":40808,"_22216":40808,"_20523":40808,"_14910":40808,"_20125":40808,"_3020":40808,"_31880":40808,"_11263":40808,"_14767":40808,"_31481":40808,"_8019":40808,"_6751":40808,"_30902":40808,"_22291":40808,"_3765":40808,"_10259":40808,"_3672":40808,"_19888":40808,"_30822":40808,"_22228":40808,"_3132":40808,"_33873":40808,"_8106":40808,"_25052":40808},"509",{"_6884":40861,"_11375":40861,"_11306":40861,"_36123":40861,"_11342":40861,"_36627":40861,"_11263":40861,"_8776":40861,"_7485":40861,"_35859":40861,"_9888":40861,"_3020":40861,"_7036":40861,"_35959":40861,"_29443":40861,"_3280":40861,"_3399":40861,"_3765":40861,"_15800":40861,"_25057":40861,"_8144":40861,"_3925":40861,"_3074":40861,"_32088":40861,"_6069":40861,"_25966":40861,"_22347":40861,"_3132":40861,"_22216":40861,"_21302":40861,"_9652":40861,"_27051":40861,"_7535":40861,"_31976":40861,"_4592":40861,"_9646":40861,"_22291":40861,"_22255":40861,"_8755":40861,"_3997":40861,"_26566":40861,"_15717":40861,"_4975":40861,"_30325":40861,"_34506":40861,"_24265":40861,"_24342":40861,"_11216":40861,"_31139":40861,"_31486":40861,"_24627":40861,"_18219":40861,"_37409":40861,"_11068":40861,"_36848":40861,"_4152":40861,"_29728":40861,"_24927":40861},"510",{"_7535":41205,"_9937":41205,"_11263":41205,"_25941":41205,"_30253":41205,"_27148":41205,"_24243":41205,"_7485":41205,"_2225":41205,"_13234":41205,"_37028":41205,"_3925":41205,"_3074":41205,"_32088":41205,"_28467":41205,"_20631":41205,"_6069":41205,"_22216":41205,"_3765":41205,"_7019":41205,"_31481":41205,"_20131":41205,"_5318":41205,"_30435":41205,"_8841":41205,"_8144":41205,"_3132":41205,"_30446":41205,"_5697":41205,"_10492":41205,"_6879":41205,"_6473":41205,"_15717":41205,"_32535":41205,"_31486":41205,"_7784":41205,"_15794":41205,"_6047":41205,"_29654":41205,"_8377":41205,"_27026":41205,"_20234":41205,"_17877":41205,"_22693":41205,"_8358":41205,"_9078":41205,"_24662":41205,"_15800":41205,"_14097":41205,"_29490":41205,"_8069":41205},"511",{"_5":40794,"_17136":40794},"512",{"_3925":40888,"_21088":40888,"_7485":40888,"_22216":40888,"_11263":40888,"_7303":40888,"_25616":40888,"_6918":40888,"_2225":40888,"_21302":40888,"_6069":40888,"_22347":40888,"_25966":40888,"_3765":40888,"_8820":40888,"_7535":40888,"_8507":40888,"_22604":40888,"_13248":40888,"_26249":40888,"_3399":40888,"_8144":40888,"_3132":40888,"_25843":40888,"_9652":40888,"_22291":40888,"_30253":40888,"_29630":40888,"_3074":40888,"_6879":40888,"_6473":40888},"513",{"_34506":40812,"_22347":40812,"_25966":40812,"_3132":40812,"_20718":40812,"_22281":40812,"_32371":40812,"_7535":40812,"_2225":40812,"_18457":40812,"_16710":40812,"_30822":40812,"_20370":40812,"_9947":40812,"_24592":40812,"_20077":40812,"_30253":40812,"_20125":40812,"_31535":40812,"_5697":40812,"_8069":40812,"_31486":40812,"_17877":40812,"_18990":40812,"_3997":40812,"_3659":40812,"_6069":40812,"_22265":40812,"_3765":40812,"_35491":40812,"_8377":40812,"_22216":40812,"_3672":40812,"_22693":40812,"_22291":40812,"_29630":40812,"_8761":40812,"_15794":40812,"_21588":40812,"_20773":40812,"_3399":40812,"_37023":40812,"_30279":40812,"_25752":40812,"_6488":40812,"_7784":40812,"_25398":40812,"_8371":40812},"514",{"_30258":40808,"_10656":40808,"_13991":40808,"_27148":40808,"_16561":40808,"_4455":40808,"_4129":40808,"_6069":40808,"_32139":40808,"_17877":40808,"_30253":40808,"_29630":40808,"_22347":40808,"_11263":40808,"_25966":40808,"_30822":40808,"_22250":40808,"_33804":40808,"_16052":40808,"_3765":40808,"_19949":40808,"_17086":40808,"_22216":40808,"_27355":40808,"_28194":40808,"_22260":40808,"_8377":40808,"_22291":40808,"_31481":40808,"_21588":40808,"_20773":40808,"_32250":40808,"_32088":40808},"515",{"_30078":40825,"_3765":40825,"_22216":40825,"_25878":40825,"_5697":40825,"_26242":40825,"_2225":40825,"_12628":40825,"_22291":40825,"_31481":40825,"_20131":40825,"_19146":40825,"_6069":40825,"_3074":40825,"_32088":40825,"_22223":40825,"_27148":40825,"_19007":40825,"_3997":40825,"_32456":40825,"_21464":40825,"_7485":40825},"516",{"_16710":40825,"_22216":40825,"_35859":40825,"_35959":40825,"_30253":40825,"_15794":40825,"_10492":40825,"_23032":40825,"_19309":40825,"_7869":40825,"_7535":40825,"_30258":40825,"_3020":40825,"_24728":40825,"_8204":40825,"_30149":40825,"_25388":40825,"_14663":40825,"_35875":40825,"_24735":40825,"_2205":40825,"_35933":40825},"517",{"_26242":41400,"_22216":41400,"_35859":41400,"_30013":41400,"_27051":41400,"_22306":41400,"_3132":41400,"_23503":41400,"_17763":41400,"_5697":41400,"_5331":41400,"_28189":41400,"_31369":41400,"_31481":41400,"_26114":41400,"_24521":41400,"_11263":41400,"_18995":41400,"_23880":41400,"_14577":41400,"_35135":41400,"_10492":41400,"_24729":41400,"_22017":41400,"_3399":41400,"_20270":41400,"_20952":41400,"_30253":41400,"_3765":41400,"_32003":41400,"_30373":41400,"_34496":41400,"_8895":41400,"_22291":41400,"_31861":41400,"_15976":41400,"_28179":41400,"_20131":41400,"_14006":41400,"_2225":41400,"_20370":41400,"_6069":41400,"_35569":41400,"_7535":41400,"_36025":41400,"_20234":41400},"518",{"_16710":40901,"_22216":40901,"_11263":40901,"_12628":40901,"_19294":40901,"_8144":40901,"_15794":40901,"_20131":40901,"_24740":40901,"_8204":40901,"_9901":40901},"519",{"_12805":40911,"_2225":40911,"_13755":40911,"_7825":40911,"_22306":40911,"_15794":40911,"_20131":40911,"_15859":40911,"_3665":40911,"_10492":40911,"_22216":40911,"_7716":40911,"_26291":40911,"_3925":40911,"_25621":40911,"_19647":40911},"520",{"_11411":41385,"_11313":41385,"_11320":41385,"_30253":41385,"_15794":41385,"_7983":41385,"_22216":41385,"_20936":41385,"_6069":41385,"_22223":41385,"_3399":41385,"_3672":41385,"_13755":41385,"_26291":41385,"_7485":41385,"_26175":41385,"_19244":41385,"_32456":41385,"_20234":41385,"_22291":41385,"_3132":41385,"_19146":41385,"_11263":41385,"_32088":41385,"_27148":41385,"_37023":41385,"_5385":41385,"_5122":41385,"_22306":41385,"_31486":41385,"_26120":41385,"_6928":41385,"_7593":41385,"_12628":41385,"_5302":41385,"_21464":41385,"_6707":41385,"_3765":41385,"_25790":41385,"_7535":41385,"_33129":41385,"_33743":41385,"_5697":41385,"_28046":41385,"_7924":41385,"_2225":41385,"_13582":41385,"_22260":41385,"_24342":41385,"_8414":41385,"_8420":41385,"_27021":41385,"_4592":41385,"_21199":41385,"_3244":41385,"_16742":41385,"_14241":41385,"_5325":41385,"_31394":41385,"_19999":41385,"_33804":41385,"_16891":41385,"_20131":41385,"_34439":41385,"_19256":41385,"_13234":41385,"_5573":41385,"_8794":41385,"_15675":41385,"_7825":41385,"_34290":41385,"_21458":41385,"_3659":41385,"_31369":41385,"_9300":41385,"_26025":41385,"_3":41385,"_23347":41385,"_3925":41385,"_28017":41385,"_19238":41385,"_23206":41385},"521",{"_6884":41667,"_37384":41667,"_37374":41667,"_22216":41667,"_21458":41667,"_7825":41667,"_13970":41667,"_6069":41667,"_2225":41667,"_27026":41667,"_6144":41667,"_13587":41667,"_6047":41667,"_22127":41667,"_22291":41667,"_20244":41667,"_5302":41667,"_4593":41667,"_12628":41667,"_31861":41667,"_13571":41667,"_3399":41667,"_33959":41667,"_33314":41667,"_21124":41667,"_20131":41667,"_34629":41667,"_31497":41667,"_32088":41667,"_27148":41667,"_29630":41667,"_35135":41667,"_30506":41667,"_17763":41667,"_17877":41667,"_30253":41667,"_32156":41667,"_32880":41667,"_8305":41667,"_25132":41667,"_3925":41667,"_22399":41667,"_33974":41667,"_26125":41667,"_30373":41667,"_24617":41667,"_5697":41667,"_16926":41667,"_28838":41667},"522",{"_12805":40812,"_3074":40812,"_17334":40812,"_20620":40812,"_7825":40812,"_17339":40812,"_7485":40812,"_22216":40812,"_27355":40812,"_23347":40812,"_3925":40812,"_21458":40812,"_22306":40812,"_17234":40812,"_22291":40812,"_33501":40812,"_3":40812,"_3132":40812,"_32574":40812,"_31394":40812,"_18581":40812,"_13121":40812,"_15626":40812,"_3399":40812,"_23961":40812,"_15800":40812,"_31481":40812,"_20926":40812,"_9067":40812,"_29630":40812,"_35432":40812,"_11206":40812,"_8144":40812,"_19735":40812,"_34785":40812,"_14762":40812,"_31486":40812,"_4968":40812,"_8414":40812,"_17069":40812,"_10492":40812,"_5697":40812,"_6047":40812,"_31170":40812,"_7019":40812,"_2225":40812,"_33711":40812,"_32088":40812},"523",{"_17877":40832,"_30258":40832,"_13755":40832,"_7825":40832,"_3132":40832,"_26242":40832,"_7019":40832,"_30253":40832,"_15794":40832,"_25609":40832,"_2225":40832,"_11263":40832,"_12628":40832},"524",{"_36496":40924,"_25626":40924,"_2225":40924,"_11263":40924,"_12628":40924,"_35813":40924,"_20170":40924,"_30557":40924,"_3765":40924,"_4592":40924,"_10598":40924,"_31369":40924,"_4494":40924,"_22387":40924,"_14114":40924,"_22216":40924,"_24677":40924,"_13576":40924,"_23860":40924,"_3997":40924,"_20146":40924,"_31486":40924,"_26125":40924,"_27537":40924,"_30960":40924,"_12958":40924,"_8589":40924,"_3132":40924,"_16571":40924,"_7485":40924,"_9888":40924,"_7535":40924,"_3074":40924,"_32535":40924,"_6069":40924,"_25621":40924,"_16747":40924},"525",{"_8906":40796,"_30258":40796,"_24254":40796,"_8794":40796,"_14354":40796,"_5697":40796,"_22216":40796,"_29513":40796,"_7485":40796,"_35859":40796,"_30253":40796,"_15794":40796,"_8755":40796,"_7716":40796,"_14682":40796,"_32959":40796,"_26933":40796,"_5788":40796},"526",{"_17877":40888,"_30253":40888,"_31635":40888,"_5697":40888,"_26242":40888,"_7019":40888,"_11263":40888,"_7535":40888,"_24373":40888,"_19515":40888,"_31481":40888,"_18404":40888,"_2225":40888,"_27026":40888,"_12628":40888,"_16742":40888,"_6069":40888,"_3399":40888,"_22260":40888,"_16710":40888,"_33237":40888,"_22216":40888,"_35859":40888,"_3020":40888,"_2222":40888,"_13447":40888,"_28869":40888,"_30991":40888,"_3997":40888,"_30258":40888,"_20234":40888},"527",{"_22216":40808,"_25878":40808,"_5697":40808,"_26285":40808,"_7019":40808,"_2225":40808,"_27026":40808,"_12628":40808,"_16742":40808,"_3765":40808,"_26988":40808,"_5400":40808,"_33072":40808,"_13755":40808,"_7825":40808,"_3132":40808,"_26938":40808,"_30253":40808,"_15794":40808,"_7983":40808,"_15025":40808,"_16780":40808,"_7485":40808,"_16727":40808,"_3399":40808,"_8761":40808,"_11263":40808,"_10097":40808,"_26175":40808,"_6069":40808,"_7303":40808,"_25616":40808,"_6918":40808},"528",{"_7535":40911,"_17163":40911,"_3997":40911,"_16727":40911,"_22216":40911,"_12541":40911,"_27134":40911,"_28869":40911,"_10457":40911,"_5697":40911,"_30991":40911,"_26175":40911,"_6069":40911,"_11263":40911,"_18505":40911,"_6918":40911},"529",{"_22216":40817,"_9947":40817,"_6069":40817,"_11263":40817,"_9275":40817,"_3997":40817,"_22693":40817,"_30722":40817,"_4042":40817},"530",{"_6047":41013,"_2225":41013,"_21348":41013,"_6069":41013,"_25966":41013,"_7485":41013,"_24254":41013,"_31481":41013,"_8358":41013,"_8377":41013,"_22306":41013,"_13670":41013,"_20946":41013,"_20234":41013,"_15759":41013,"_3020":41013,"_26763":41013,"_33211":41013,"_22216":41013,"_33804":41013,"_22291":41013,"_19213":41013,"_12628":41013,"_6126":41013,"_8204":41013,"_20631":41013},"531",{"_24265":40784,"_15717":40784,"_5813":40784,"_14582":40784,"_5697":40784,"_20946":40784,"_32959":40784,"_15254":40784,"_29630":40784,"_13511":40784,"_22291":40784,"_31880":40784,"_18316":40784,"_3399":40784,"_25472":40784,"_33804":40784,"_14910":40784,"_18990":40784,"_13960":40784},"532",{"_22216":40888,"_26180":40888,"_30373":40888,"_13571":40888,"_13991":40888,"_7535":40888,"_11263":40888,"_3025":40888,"_5697":40888,"_20385":40888,"_18425":40888,"_22223":40888,"_4042":40888,"_29538":40888,"_21858":40888,"_26763":40888,"_6069":40888,"_3765":40888,"_15716":40888,"_3399":40888,"_6246":40888,"_22316":40888,"_30253":40888,"_27148":40888,"_13980":40888,"_33129":40888,"_32456":40888,"_20234":40888,"_7485":40888,"_30258":40888,"_24254":40888},"533",{"_5968":41000,"_7535":41000,"_22216":41000,"_11263":41000,"_25941":41000,"_5697":41000,"_20131":41000,"_4968":41000,"_22228":41000,"_21124":41000,"_2225":41000,"_20631":41000,"_6069":41000,"_34104":41000,"_15717":41000,"_22291":41000,"_15794":41000,"_14757":41000,"_31486":41000,"_33129":41000,"_3672":41000,"_32088":41000,"_3207":41000,"_25966":41000,"_17877":41000,"_3132":41000,"_6879":41000,"_3145":41000,"_22619":41000,"_7019":41000,"_12628":41000,"_8383":41000,"_31492":41000,"_28658":41000,"_3642":41000,"_12923":41000,"_3":41000,"_32471":41000,"_37424":41000},"534",{"_6884":40808,"_5968":40808,"_11313":40808,"_11327":40808,"_11320":40808,"_7535":40808,"_32535":40808,"_17877":40808,"_31976":40808,"_29630":40808,"_2225":40808,"_11263":40808,"_32088":40808,"_31486":40808,"_25966":40808,"_22216":40808,"_3132":40808,"_3145":40808,"_5697":40808,"_22619":40808,"_7019":40808,"_12628":40808,"_8383":40808,"_4592":40808,"_37424":40808,"_31492":40808,"_28658":40808,"_3":40808,"_3399":40808,"_18644":40808,"_31275":40808,"_28114":40808,"_17546":40808},"535",{"_5968":40924,"_11263":40924,"_32088":40924,"_3132":40924,"_34506":40924,"_29601":40924,"_6879":40924,"_6473":40924,"_6069":40924,"_25966":40924,"_22306":40924,"_30435":40924,"_31486":40924,"_22216":40924,"_32471":40924,"_16068":40924,"_8377":40924,"_22609":40924,"_27355":40924,"_3925":40924,"_3659":40924,"_10565":40924,"_12628":40924,"_8383":40924,"_7535":40924,"_31123":40924,"_37097":40924,"_3399":40924,"_36822":40924,"_30822":40924,"_5697":40924,"_20084":40924,"_32927":40924,"_14173":40924,"_3":40924,"_21723":40924,"_20718":40924},"536",{"_5697":40800,"_5032":40800,"_22216":40800,"_29880":40800,"_18425":40800,"_6069":40800,"_22624":40800,"_2225":40800,"_8377":40800,"_30253":40800,"_27148":40800,"_21962":40800,"_20270":40800,"_20234":40800,"_8383":40800,"_17271":40800,"_7535":40800,"_32535":40800,"_17877":40800,"_4692":40800,"_15717":40800,"_27277":40800,"_27355":40800,"_28194":40800,"_22291":40800,"_14523":40800,"_15976":40800,"_14593":40800,"_3399":40800,"_31165":40800,"_20773":40800,"_25941":40800,"_29543":40800,"_21858":40800,"_27282":40800,"_19757":40800,"_16220":40800,"_15327":40800,"_27813":40800,"_33120":40800},"537",{"_17877":40962,"_11263":40962,"_29601":40962,"_5697":40962,"_13660":40962,"_31486":40962,"_3672":40962,"_4249":40962,"_7535":40962,"_5053":40962,"_9337":40962,"_7875":40962,"_25472":40962,"_20983":40962,"_16277":40962,"_33804":40962,"_3020":40962,"_17103":40962,"_16221":40962,"_18995":40962,"_31481":40962,"_25383":40962,"_20615":40962,"_25837":40962,"_24597":40962,"_6973":40962,"_31369":40962,"_20946":40962,"_8144":40962,"_34433":40962,"_14792":40962,"_15368":40962,"_30461":40962,"_22216":40962,"_5775":40962,"_9125":40962,"_15363":40962,"_3132":40962,"_4508":40962,"_15025":40962,"_30253":40962,"_27148":40962,"_20131":40962,"_3749":40962,"_6069":40962,"_22306":40962,"_24311":40962,"_22260":40962,"_3399":40962,"_21588":40962,"_7030":40962,"_15937":40962,"_31635":40962,"_32115":40962,"_22291":40962,"_5788":40962,"_3815":40962,"_3099":40962,"_30118":40962,"_7019":40962,"_8794":40962,"_30258":40962,"_30078":40962,"_3765":40962,"_26763":40962,"_22316":40962,"_15794":40962,"_24662":40962,"_21307":40962,"_26870":40962,"_24531":40962},"538",{"_11291":41009,"_21678":41009,"_14792":41009,"_21124":41009,"_20131":41009,"_3997":41009,"_2225":41009,"_24342":41009,"_24357":41009,"_19203":41009,"_3132":41009,"_15800":41009,"_32371":41009,"_11263":41009,"_31581":41009,"_22216":41009,"_26598":41009,"_31492":41009,"_26145":41009,"_27288":41009,"_30258":41009,"_31486":41009,"_3672":41009,"_18200":41009,"_15794":41009,"_15976":41009,"_26140":41009,"_3399":41009,"_13650":41009,"_31369":41009,"_7485":41009,"_23072":41009,"_21182":41009,"_24054":41009},"539",{"_24662":41667,"_15800":41667,"_6413":41667,"_11263":41667,"_7485":41667,"_2225":41667,"_27071":41667,"_22291":41667,"_15794":41667,"_15976":41667,"_28179":41667,"_6297":41667,"_7535":41667,"_5697":41667,"_8132":41667,"_31486":41667,"_3642":41667,"_26870":41667,"_6069":41667,"_22778":41667,"_8144":41667,"_26983":41667,"_15799":41667,"_20131":41667,"_4508":41667,"_22233":41667,"_20270":41667,"_16142":41667,"_22216":41667,"_20370":41667,"_30013":41667,"_27051":41667,"_7401":41667,"_3132":41667,"_31038":41667,"_22281":41667,"_5629":41667,"_10133":41667,"_17103":41667,"_5318":41667,"_20718":41667,"_3997":41667,"_22306":41667,"_26125":41667,"_22316":41667,"_5331":41667,"_30446":41667,"_18915":41667,"_6918":41667},"540",{"_3032":40794,"_6918":40794},"541",{"_22306":41018,"_24677":41018,"_3132":41018,"_2225":41018,"_6918":41018,"_7535":41018,"_5808":41018,"_24249":41018,"_3399":41018,"_20146":41018,"_11263":41018,"_7485":41018,"_18457":41018,"_32145":41018,"_8144":41018,"_15181":41018,"_22216":41018,"_8106":41018,"_28889":41018,"_6069":41018,"_8761":41018,"_32088":41018,"_29733":41018,"_26817":41018,"_8831":41018,"_13755":41018,"_23300":41018,"_3010":41018,"_20680":41018,"_21660":41018},"542",{"_13331":3013},"543",{"_10462":40911,"_6918":40911,"_7535":40911,"_4455":40911,"_13037":40911,"_8589":40911,"_14688":40911,"_31486":40911,"_32544":40911,"_27169":40911,"_14682":40911,"_27960":40911,"_5879":40911,"_3399":40911,"_32574":40911,"_6412":40911},"544",{"_14354":3013},{"_30102":3013},"546",{"_3289":3013},"547",{"_13478":3013},"548",{"_13739":3013},"549",{"_14151":3013},"550",{"_12805":3013},"551",{"_12812":3013},"552",{"_23971":3013},"553",{"_24064":3013},"554",{"_7271":3013},"555",{"_7319":3013},"556",{"_7326":3013},"557",{"_7339":3013},"558",{"_29921":3013},"559",{"_28818":3013},"560",{"_27124":3013},"561",{"_18820":3013},"562",{"_36383":3013},"563",{"_9688":3013},"564",{"_10666":3013},"565",{"_9043":3013},"566",{"_26242":3013},"567",{"_26319":3013},"568",{"_26330":3013},"569",{"_25512":3013},"570",{"_7686":3013},"571",{"_12720":3013},"572",{"_31444":3013},"573",{"_27159":40878,"_4455":40878,"_5318":40878,"_11263":40878,"_14688":40878},"574",{"_3150":40829,"_3074":40829,"_4900":40829,"_25032":40829,"_7535":40829,"_5180":40829,"_4843":40829},{"_13478":40878,"_22216":40878,"_15546":40878,"_12541":40878,"_26394":40878},"576",{"_27159":40821,"_22216":40821,"_15546":40821,"_13582":40821,"_21020":40821,"_13755":40821},"577",{"_14151":40878,"_5697":40878,"_2225":40878,"_11263":40878,"_12628":40878},"578",{"_12805":40853,"_2225":40853,"_12923":40853},"579",{"_12805":40829,"_2225":40829,"_2212":40829,"_31486":40829,"_3074":40829,"_5180":40829,"_27657":40829},"580",{"_12805":40901,"_2225":40901,"_13597":40901,"_2212":40901,"_4742":40901,"_23961":40901,"_31394":40901,"_16221":40901,"_28997":40901,"_15523":40901,"_3132":40901},"581",{"_12805":40815,"_2225":40815,"_22399":40815,"_2212":40815,"_8841":40815,"_11263":40815,"_32885":40815,"_21858":40815,"_6252":40815,"_9476":40815,"_36918":40815,"_34635":40815},"582",{"_12812":40829,"_2225":40829,"_2212":40829,"_4975":40829,"_22216":40829,"_28017":40829,"_6363":40829},"583",{"_12812":40827,"_2225":40827,"_2212":40827,"_3399":40827,"_4455":40827,"_6069":40827,"_16221":40827,"_24189":40827},"584",{"_12812":40821,"_22216":40821,"_24065":40821,"_3997":40821,"_2225":40821,"_6363":40821},"585",{"_7271":40829,"_22216":40829,"_3":40829,"_25462":40829,"_4975":40829,"_2225":40829,"_6363":40829},{"_7271":40829,"_22216":40829,"_5180":40829,"_19060":40829,"_7535":40829,"_2225":40829,"_6363":40829},"587",{"_7271":40885,"_22216":40885,"_22496":40885,"_6473":40885,"_6069":40885,"_24183":40885,"_33974":40885,"_34687":40885,"_2225":40885,"_6363":40885},"588",{"_7271":40817,"_4455":40817,"_33422":40817,"_33974":40817,"_15626":40817,"_8794":40817,"_22216":40817,"_15546":40817,"_26394":40817},"589",{"_11342":40885,"_27159":40885,"_22216":40885,"_4692":40885,"_9553":40885,"_14688":40885,"_32964":40885,"_7485":40885,"_22306":40885,"_26394":40885},{"_28777":40829,"_22216":40829,"_24065":40829,"_13780":40829,"_7535":40829,"_2225":40829,"_6363":40829},"591",{"_28777":40829,"_22216":40829,"_15523":40829,"_33974":40829,"_6069":40829,"_2225":40829,"_6363":40829},"592",{"_22517":40817,"_31429":40817,"_3297":40817,"_32481":40817,"_3765":40817,"_18826":40817,"_5697":40817,"_22216":40817,"_14114":40817},"593",{"_36383":40853,"_22216":40853,"_13331":40853},"594",{"_15363":40796,"_32088":40796,"_21020":40796,"_4975":40796,"_8770":40796,"_30461":40796,"_34412":40796,"_22306":40796,"_14682":40796,"_10041":40796,"_22216":40796,"_23860":40796,"_7485":40796,"_24843":40796,"_9701":40796,"_33390":40796,"_26211":40796,"_26175":40796},"595",{"_18749":3013},"596",{"_26242":40821,"_9727":40821,"_21858":40821,"_7485":40821,"_11257":40821,"_16111":40821},"597",{"_3150":40784,"_2225":40784,"_25004":40784,"_25032":40784,"_3020":40784,"_26242":40784,"_28281":40784,"_6252":40784,"_30253":40784,"_31481":40784,"_7271":40784,"_16796":40784,"_19054":40784,"_7535":40784,"_32535":40784,"_3289":40784,"_23688":40784,"_11263":40784,"_2974":40784},"598",{"_10723":40827,"_2225":40827,"_14682":40827,"_8204":40827,"_29921":40827,"_8794":40827,"_16221":40827,"_2205":40827},"599",{"_9011":40878,"_9044":40878,"_8204":40878,"_2225":40878,"_2212":40878},"600",{"_26242":40827,"_3020":40827,"_34955":40827,"_22216":40827,"_3":40827,"_4975":40827,"_2225":40827,"_6363":40827},"601",{"_26242":40821,"_5180":40821,"_19060":40821,"_3997":40821,"_2225":40821,"_2212":40821},"602",{"_10492":40885,"_37155":40885,"_5697":40885,"_26242":40885,"_5180":40885,"_9828":40885,"_3997":40885,"_4455":40885,"_15523":40885,"_33974":40885},"603",{"_10492":40832,"_37166":40832,"_5697":40832,"_26242":40832,"_5180":40832,"_31486":40832,"_5941":40832,"_28587":40832,"_12720":40832,"_8204":40832,"_5202":40832,"_7485":40832,"_25512":40832},"604",{"_26242":40802,"_2225":40802,"_24065":40802,"_3997":40802,"_6363":40802,"_26811":40802,"_28828":40802,"_36716":40802,"_22551":40802,"_14792":40802,"_31785":40802,"_30822":40802,"_24662":40802,"_15800":40802,"_31295":40802,"_5788":40802,"_29728":40802,"_10026":40802,"_22291":40802,"_33052":40802,"_22216":40802},"605",{"_27159":40829,"_22216":40829,"_20909":40829,"_25512":40829,"_6069":40829,"_2225":40829,"_2212":40829},"606",{"_7686":40901,"_22216":40901,"_3":40901,"_6069":40901,"_2225":40901,"_2212":40901,"_30506":40901,"_8414":40901,"_3399":40901,"_7742":40901,"_4092":40901},"607",{"_27159":40878,"_22216":40878,"_11263":40878,"_13331":40878,"_12720":40878},"608",{"_27159":40827,"_4455":40827,"_4843":40827,"_17163":40827,"_7535":40827,"_22216":40827,"_15546":40827,"_26394":40827},"609",{"_24843":40794,"_9701":40794},"610",{"_11411":40984,"_11313":40984,"_11327":40984,"_29485":40984,"_5697":40984,"_10492":40984,"_11291":40984,"_24843":40984,"_9701":40984,"_25052":40984,"_5318":40984,"_27021":40984,"_15363":40984,"_32088":40984,"_21020":40984,"_12628":40984,"_11000":40984,"_19631":40984,"_3399":40984,"_22216":40984,"_13582":40984,"_7869":40984,"_4975":40984,"_8770":40984,"_31492":40984,"_25941":40984,"_16956":40984},"611",{"_15368":40787,"_5697":40787,"_13755":40787,"_7603":40787},"612",{"_28051":40787,"_22216":40787,"_12541":40787,"_6707":40787},"613",{"_28051":40787,"_21199":40787,"_12628":40787,"_3244":40787},"614",{"_22216":40853,"_25668":40853,"_8651":40853},"615",{"_22216":40853,"_9727":40853,"_8651":40853},"616",{"_24843":40853,"_13755":40853,"_7825":40853},"617",{"_6884":40794,"_32535":40794},"618",{"_5968":40794,"_32535":40794},"619",{"_30691":40794,"_14931":40794},"620",{"_11411":40878,"_11313":40878,"_11327":40878,"_34930":40878,"_5697":40878},"621",{"_24843":40821,"_9701":40821,"_6069":40821,"_22216":40821,"_11263":40821,"_32088":40821},"622",{"_4322":3013},{"_26211":3013},"624",{"_9532":40878,"_22216":40878,"_15546":40878,"_24843":40878,"_13755":40878},"625",{"_20814":40878,"_22216":40878,"_15546":40878,"_24843":40878,"_13755":40878},"626",{"_7255":3013},"627",{"_16664":40794,"_10097":40794},"628",{"_34109":40794,"_10097":40794},"629",{"_14458":40794,"_9688":40794},"630",{"_33211":40794,"_14463":40794},"631",{"_3183":40794,"_14817":40794},"632",{"_10894":40853,"_12541":40853,"_14173":40853},"633",{"_11411":41107,"_11313":41107,"_11327":41107,"_18878":41107,"_5697":41107,"_22216":41107,"_9888":41107,"_21020":41107,"_3399":41107,"_4455":41107,"_3672":41107,"_13755":41107,"_19244":41107,"_6069":41107,"_11263":41107,"_32022":41107,"_25574":41107,"_28496":41107,"_24592":41107,"_31087":41107,"_17815":41107,"_4975":41107,"_8770":41107,"_5808":41107,"_9378":41107,"_10985":41107,"_9233":41107,"_2225":41107,"_20185":41107,"_17074":41107,"_33221":41107,"_20898":41107,"_15379":41107,"_22291":41107,"_29601":41107,"_15986":41107,"_3":41107,"_14349":41107,"_16613":41107,"_7485":41107,"_18457":41107},"634",{"_11411":41513,"_11313":41513,"_11327":41513,"_25621":41513,"_31486":41513,"_10985":41513,"_9233":41513,"_3765":41513,"_33873":41513,"_28472":41513,"_33753":41513,"_11263":41513,"_14842":41513,"_8106":41513,"_25052":41513,"_7535":41513,"_4748":41513,"_13755":41513,"_15368":41513,"_22216":41513,"_26242":41513,"_6069":41513,"_25966":41513,"_22250":41513,"_11000":41513,"_19178":41513,"_6679":41513,"_4455":41513,"_19631":41513,"_3399":41513,"_32471":41513,"_13582":41513,"_7869":41513,"_15794":41513,"_20131":41513,"_15374":41513,"_24849":41513,"_31492":41513,"_25941":41513,"_16956":41513,"_31374":41513,"_20094":41513,"_3":41513,"_13965":41513,"_9707":41513,"_19007":41513,"_17810":41513,"_3307":41513,"_7875":41513,"_3672":41513,"_5788":41513,"_7485":41513,"_21199":41513,"_24776":41513,"_34412":41513,"_2225":41513,"_27026":41513,"_9701":41513,"_14682":41513,"_24843":41513,"_8149":41513,"_24751":41513,"_15800":41513,"_8895":41513,"_5775":41513,"_14409":41513,"_8815":41513,"_12541":41513,"_5697":41513,"_25497":41513,"_24592":41513,"_29601":41513,"_23503":41513,"_26933":41513,"_16886":41513,"_3025":41513,"_3276":41513,"_15015":41513},"635",{"_33711":41107,"_13447":41107,"_8305":41107,"_4484":41107,"_13350":41107,"_5697":41107,"_7983":41107,"_6379":41107,"_5385":41107,"_13755":41107,"_15368":41107,"_3399":41107,"_34955":41107,"_22216":41107,"_14167":41107,"_25817":41107,"_28777":41107,"_6069":41107,"_25966":41107,"_22250":41107,"_12541":41107,"_19631":41107,"_25462":41107,"_7485":41107,"_11263":41107,"_29654":41107,"_2225":41107,"_18415":41107,"_4642":41107,"_3132":41107,"_34439":41107,"_10900":41107,"_5174":41107,"_31374":41107,"_36930":41107,"_32891":41107,"_21267":41107,"_18350":41107,"_15363":41107,"_32088":41107,"_21020":41107},"636",{"_22306":40796,"_24677":40796,"_18165":40796,"_22216":40796,"_3019":40796,"_20180":40796,"_7535":40796,"_9701":40796,"_2225":40796,"_23870":40796,"_24171":40796,"_6069":40796,"_4650":40796,"_18995":40796,"_20967":40796,"_3399":40796,"_20718":40796,"_26125":40796},"637",{"_36045":41018,"_36051":41018,"_37349":41018,"_27324":41018,"_2225":41018,"_10930":41018,"_3871":41018,"_20646":41018,"_2220":41018,"_35791":41018,"_3085":41018,"_24843":41018,"_9701":41018,"_6069":41018,"_18788":41018,"_30656":41018,"_13243":41018,"_7485":41018,"_34469":41018,"_3693":41018,"_22164":41018,"_13830":41018,"_5603":41018,"_28767":41018,"_19376":41018,"_20011":41018,"_27756":41018,"_35384":41018,"_29784":41018,"_25234":41018},"638",{"_5":40794,"_31780":40794},"639",{"_11313":40825,"_11327":40825,"_25621":40825,"_31486":40825,"_22216":40825,"_24843":40825,"_9701":40825,"_8293":40825,"_3132":40825,"_23440":40825,"_8794":40825,"_23795":40825,"_3399":40825,"_21124":40825,"_20131":40825,"_32688":40825,"_23077":40825,"_3997":40825,"_35370":40825,"_9727":40825,"_13755":40825,"_5871":40825},"640",{"_2225":40834,"_12541":40834,"_6707":40834,"_3132":40834,"_22216":40834,"_3997":40834,"_31369":40834,"_12628":40834,"_5085":40834,"_19894":40834,"_34051":40834,"_14167":40834,"_8858":40834,"_26217":40834,"_22855":40834},"641",{"_11411":40784,"_11313":40784,"_11327":40784,"_25621":40784,"_31486":40784,"_22216":40784,"_13393":40784,"_3399":40784,"_13398":40784,"_13755":40784,"_19244":40784,"_27148":40784,"_33873":40784,"_28472":40784,"_20131":40784,"_34439":40784,"_7485":40784,"_11257":40784,"_16111":40784},"642",{"_11411":40784,"_11313":40784,"_36123":40784,"_25621":40784,"_31486":40784,"_22216":40784,"_26222":40784,"_3399":40784,"_26227":40784,"_13755":40784,"_19244":40784,"_27148":40784,"_33873":40784,"_28472":40784,"_20131":40784,"_34439":40784,"_7485":40784,"_11257":40784,"_16111":40784},"643",{"_16763":40901,"_22306":40901,"_17163":40901,"_3132":40901,"_34137":40901,"_19146":40901,"_6069":40901,"_22216":40901,"_12628":40901,"_36887":40901,"_28036":40901},"644",{"_11411":41161,"_11313":41161,"_36123":41161,"_33711":41161,"_7485":41161,"_12948":41161,"_22216":41161,"_12541":41161,"_6707":41161,"_28036":41161,"_3132":41161,"_5888":41161,"_3399":41161,"_5697":41161,"_11200":41161,"_6069":41161,"_7924":41161,"_26619":41161,"_26217":41161,"_4592":41161,"_26185":41161,"_29490":41161,"_31123":41161,"_15799":41161,"_20131":41161,"_6841":41161,"_4975":41161,"_29327":41161,"_3659":41161,"_22265":41161,"_21124":41161,"_18581":41161,"_17877":41161,"_25032":41161,"_17064":41161,"_6825":41161,"_18145":41161,"_6047":41161,"_23001":41161,"_12628":41161,"_2225":41161,"_27148":41161,"_25752":41161,"_28017":41161,"_17229":41161,"_3074":41161,"_33501":41161,"_26125":41161,"_28997":41161,"_32535":41161,"_30373":41161,"_33237":41161,"_27982":41161,"_3228":41161,"_23804":41161},"645",{"_10995":40815,"_3132":40815,"_4592":40815,"_5888":40815,"_8144":40815,"_15794":40815,"_20131":40815,"_19178":40815,"_3020":40815,"_6679":40815,"_8794":40815,"_23795":40815},"646",{"_32544":40878,"_6069":40878,"_29404":40878,"_12628":40878,"_25532":40878},"647",{"_11411":41205,"_11313":41205,"_11320":41205,"_27021":41205,"_11263":41205,"_8144":41205,"_3132":41205,"_19679":41205,"_5697":41205,"_28046":41205,"_21199":41205,"_3244":41205,"_7535":41205,"_33129":41205,"_12628":41205,"_26125":41205,"_11377":41205,"_22306":41205,"_30108":41205,"_14241":41205,"_5325":41205,"_3399":41205,"_3276":41205,"_33809":41205,"_9316":41205,"_31394":41205,"_19999":41205,"_33804":41205,"_16891":41205,"_3765":41205,"_34439":41205,"_22216":41205,"_25966":41205,"_3145":41205,"_30980":41205,"_3997":41205,"_4455":41205,"_28194":41205,"_2225":41205,"_31885":41205,"_16886":41205,"_4975":41205,"_8770":41205,"_7485":41205,"_15925":41205,"_6069":41205,"_33211":41205,"_26576":41205,"_8794":41205,"_19827":41205,"_15415":41205},"648",{"_32544":40829,"_6069":40829,"_17595":40829,"_13765":40829,"_34412":40829,"_21199":40829,"_3244":40829},"649",{"_11411":41142,"_11313":41142,"_11327":41142,"_18878":41142,"_5697":41142,"_3659":41142,"_14523":41142,"_8755":41142,"_11263":41142,"_7485":41142,"_25662":41142,"_10097":41142,"_3020":41142,"_23629":41142,"_22223":41142,"_3765":41142,"_26566":41142,"_17643":41142,"_25717":41142,"_3399":41142,"_28200":41142,"_30506":41142,"_22265":41142,"_4975":41142,"_8770":41142,"_3132":41142,"_15800":41142,"_19679":41142,"_8794":41142,"_23795":41142,"_7535":41142,"_30691":41142,"_14931":41142,"_25668":41142,"_26242":41142,"_21858":41142,"_22216":41142,"_14023":41142,"_22291":41142,"_17877":41142,"_25616":41142,"_31486":41142,"_2225":41142,"_27026":41142,"_12628":41142,"_32088":41142,"_31481":41142,"_20131":41142,"_4508":41142,"_7008":41142,"_20718":41142,"_22281":41142,"_8144":41142,"_27330":41142,"_30373":41142,"_22693":41142,"_19183":41142},"650",{"_26285":40844,"_22216":40844,"_8651":40844,"_5697":40844,"_8460":40844,"_16775":40844,"_7869":40844,"_8755":40844,"_23629":40844,"_26817":40844,"_25712":40844,"_32471":40844,"_17877":40844,"_22228":40844,"_3132":40844,"_6047":40844,"_2225":40844,"_27026":40844,"_19178":40844,"_7485":40844,"_32088":40844,"_5032":40844,"_22306":40844,"_25574":40844,"_13755":40844,"_7825":40844,"_27148":40844,"_13571":40844},"651",{"_31486":40823,"_22306":40823,"_26285":40823,"_8144":40823,"_3132":40823,"_19679":40823,"_5697":40823,"_25609":40823,"_2225":40823,"_11263":40823,"_32088":40823,"_13587":40823,"_27026":40823,"_19178":40823,"_3399":40823,"_24849":40823,"_7008":40823,"_8794":40823,"_3209":40823,"_20718":40823,"_25966":40823,"_26994":40823,"_27330":40823,"_3074":40823,"_4593":40823,"_22291":40823,"_3307":40823,"_9083":40823,"_9055":40823},"652",{"_27021":40825,"_8761":40825,"_22216":40825,"_23629":40825,"_10097":40825,"_4494":40825,"_20718":40825,"_8696":40825,"_31976":40825,"_9646":40825,"_26285":40825,"_8651":40825,"_5697":40825,"_8460":40825,"_29399":40825,"_25662":40825,"_3132":40825,"_32574":40825,"_20131":40825,"_24281":40825,"_7485":40825,"_8095":40825},"653",{"_11411":41205,"_11313":41205,"_11327":41205,"_25621":41205,"_31486":41205,"_3399":41205,"_18878":41205,"_5697":41205,"_22228":41205,"_3132":41205,"_33873":41205,"_31645":41205,"_23435":41205,"_24843":41205,"_9701":41205,"_3228":41205,"_22216":41205,"_26211":41205,"_14419":41205,"_22291":41205,"_2225":41205,"_20652":41205,"_5027":41205,"_14523":41205,"_20270":41205,"_3873":41205,"_15368":41205,"_32088":41205,"_13755":41205,"_9727":41205,"_5871":41205,"_31630":41205,"_16834":41205,"_7485":41205,"_3642":41205,"_5535":41205,"_9712":41205,"_13234":41205,"_22387":41205,"_9688":41205,"_4322":41205,"_3020":41205,"_31492":41205,"_4843":41205,"_31481":41205,"_8358":41205,"_8794":41205,"_23795":41205,"_34571":41205,"_26242":41205,"_21858":41205},"654",{"_5697":40827,"_32156":40827,"_9701":40827,"_3150":40827,"_22216":40827,"_7716":40827,"_11257":40827,"_16111":40827},"655",{"_11411":41264,"_11313":41264,"_11327":41264,"_25621":41264,"_31486":41264,"_11263":41264,"_23598":41264,"_30506":41264,"_24843":41264,"_13755":41264,"_19244":41264,"_31369":41264,"_15794":41264,"_20131":41264,"_15374":41264,"_24592":41264,"_8770":41264,"_3399":41264,"_25574":41264,"_3765":41264,"_10041":41264,"_8204":41264,"_2225":41264,"_7825":41264,"_4975":41264,"_31087":41264,"_24662":41264,"_15800":41264,"_15363":41264,"_32979":41264,"_22216":41264,"_36892":41264,"_12628":41264,"_7018":41264,"_28922":41264},"656",{"_24843":40784,"_13755":40784,"_19244":40784,"_3765":40784,"_25462":40784,"_7485":40784,"_2225":40784,"_26566":40784,"_7825":40784,"_3997":40784,"_22216":40784,"_12628":40784,"_28772":40784,"_8204":40784,"_25574":40784,"_13739":40784,"_34412":40784,"_24854":40784,"_36887":40784},"657",{"_12748":40794,"_16111":40794},"658",{"_12748":40853,"_16111":40853,"_24843":40853},"659",{"_31394":41535,"_22216":41535,"_32088":41535,"_13755":41535,"_15368":41535,"_25574":41535,"_19244":41535,"_9073":41535,"_27355":41535,"_24843":41535,"_3765":41535,"_19598":41535,"_8794":41535,"_11263":41535,"_3399":41535,"_6587":41535,"_7841":41535,"_3997":41535,"_4455":41535,"_25966":41535,"_22455":41535,"_23383":41535,"_34506":41535,"_17948":41535,"_22255":41535,"_15794":41535,"_23373":41535,"_20854":41535,"_31374":41535,"_2225":41535,"_9701":41535,"_3132":41535,"_7485":41535,"_18515":41535,"_3020":41535,"_30461":41535,"_33711":41535,"_29601":41535,"_18367":41535,"_5697":41535,"_6018":41535,"_15626":41535,"_7825":41535,"_27148":41535,"_15800":41535,"_20131":41535,"_20185":41535,"_4587":41535,"_20120":41535,"_6047":41535,"_22387":41535,"_14688":41535,"_24151":41535,"_30373":41535,"_15379":41535,"_13739":41535,"_6069":41535,"_3074":41535,"_6143":41535,"_13234":41535,"_14523":41535,"_5242":41535,"_16613":41535,"_31486":41535,"_17163":41535,"_25462":41535,"_14792":41535,"_22233":41535,"_29839":41535,"_23539":41535},"660",{"_34454":40834,"_20125":40834,"_18717":40834,"_5697":40834,"_17349":40834,"_28046":40834,"_2225":40834,"_27026":40834,"_13755":40834,"_7825":40834,"_22216":40834,"_7716":40834,"_3132":40834,"_4592":40834,"_29404":40834},"661",{"_12748":40794,"_16111":40794},"662",{"_6884":41045,"_22216":41045,"_13755":41045,"_7841":41045,"_3997":41045,"_33129":41045,"_12628":41045,"_31481":41045,"_20131":41045,"_4742":41045,"_28114":41045,"_17086":41045,"_24843":41045,"_3399":41045,"_25574":41045,"_17877":41045,"_22255":41045,"_3765":41045,"_15800":41045,"_4630":41045,"_7485":41045,"_22306":41045,"_7603":41045,"_5400":41045,"_21733":41045,"_22693":41045,"_32535":41045,"_33882":41045,"_22291":41045,"_13393":41045,"_13398":41045,"_6928":41045,"_28017":41045,"_9038":41045,"_24592":41045,"_18190":41045,"_10661":41045,"_3925":41045,"_6322":41045,"_7825":41045,"_3132":41045,"_30676":41045,"_7019":41045,"_2225":41045,"_30761":41045},"663",{"_22216":40834,"_6214":40834,"_13755":40834,"_7603":40834,"_3132":40834,"_25752":40834,"_25057":40834,"_7535":40834,"_32535":40834,"_7716":40834,"_7825":40834,"_5095":40834,"_30822":40834,"_15800":40834,"_9652":40834},"664",{"_12748":40794,"_16111":40794},"665",{"_6884":41205,"_37444":41205,"_24592":41205,"_31087":41205,"_2225":41205,"_24843":41205,"_13755":41205,"_7825":41205,"_3132":41205,"_15626":41205,"_13587":41205,"_22216":41205,"_19146":41205,"_6069":41205,"_3925":41205,"_32714":41205,"_33157":41205,"_7485":41205,"_22306":41205,"_15925":41205,"_29490":41205,"_6144":41205,"_13393":41205,"_31481":41205,"_9073":41205,"_25574":41205,"_12628":41205,"_27021":41205,"_8144":41205,"_15800":41205,"_10661":41205,"_31630":41205,"_28017":41205,"_34412":41205,"_7603":41205,"_24151":41205,"_15368":41205,"_5697":41205,"_17877":41205,"_9701":41205,"_17411":41205,"_22291":41205,"_23265":41205,"_12541":41205,"_6707":41205,"_9038":41205,"_8204":41205,"_22260":41205,"_13576":41205,"_17163":41205,"_28036":41205},"666",{"_11411":40812,"_11313":40812,"_11353":40812,"_11327":40812,"_11320":40812,"_34930":40812,"_2225":40812,"_8761":40812,"_11263":40812,"_32088":40812,"_5697":40812,"_27148":40812,"_20131":40812,"_24776":40812,"_6047":40812,"_5473":40812,"_22216":40812,"_9888":40812,"_22306":40812,"_3132":40812,"_33774":40812,"_7535":40812,"_10985":40812,"_34940":40812,"_17877":40812,"_30253":40812,"_3765":40812,"_7961":40812,"_31486":40812,"_27220":40812,"_20773":40812,"_7869":40812,"_15032":40812,"_24662":40812,"_15800":40812,"_33743":40812,"_7118":40812,"_22387":40812,"_5535":40812,"_34935":40812,"_31492":40812,"_6012":40812,"_32535":40812,"_8204":40812,"_20125":40812,"_7271":40812,"_7716":40812,"_33211":40812},"667",{"_11411":40896,"_11313":40896,"_11327":40896,"_24592":40896,"_2225":40896,"_10985":40896,"_34935":40896,"_33129":40896,"_12628":40896,"_3132":40896,"_21598":40896,"_20773":40896,"_7485":40896,"_23072":40896,"_3399":40896,"_10911":40896,"_31486":40896,"_22216":40896,"_33711":40896,"_30975":40896,"_30461":40896,"_25621":40896,"_31976":40896,"_29839":40896,"_9646":40896,"_34976":40896,"_13755":40896,"_7825":40896,"_4593":40896,"_22291":40896,"_4455":40896,"_25532":40896,"_4309":40896,"_13571":40896,"_12541":40896,"_19631":40896,"_26125":40896,"_28051":40896,"_6707":40896,"_30253":40896,"_20125":40896,"_29301":40896,"_27026":40896,"_4592":40896,"_13393":40896,"_13398":40896,"_4554":40896,"_17877":40896,"_28046":40896,"_7603":40896,"_22223":40896,"_30424":40896,"_10661":40896},"668",{"_22216":41144,"_11263":41144,"_35859":41144,"_3399":41144,"_2222":41144,"_4340":41144,"_32022":41144,"_32880":41144,"_31486":41144,"_7352":41144,"_9688":41144,"_14688":41144,"_22291":41144,"_8529":41144,"_9701":41144,"_31123":41144,"_29630":41144,"_2225":41144,"_27896":41144,"_31305":41144,"_35215":41144,"_3074":41144,"_4092":41144,"_3659":41144,"_32544":41144,"_30373":41144,"_10492":41144,"_13331":41144,"_30822":41144,"_30253":41144,"_15794":41144,"_26994":41144,"_3020":41144,"_17406":41144,"_23357":41144,"_8204":41144,"_18484":41144,"_3307":41144,"_7875":41144,"_3642":41144,"_3672":41144,"_14682":41144},"669",{"_22228":40815,"_3765":40815,"_22693":40815,"_23265":40815,"_6069":40815,"_4340":40815,"_7535":40815,"_31123":40815,"_35859":40815,"_3399":40815,"_2222":40815,"_13350":40815},"670",{"_11313":41009,"_11327":41009,"_9701":41009,"_4322":41009,"_34439":41009,"_5697":41009,"_9712":41009,"_22216":41009,"_11263":41009,"_13234":41009,"_25621":41009,"_31486":41009,"_35859":41009,"_4340":41009,"_3765":41009,"_20757":41009,"_17086":41009,"_12639":41009,"_13304":41009,"_8204":41009,"_10492":41009,"_6069":41009,"_22306":41009,"_8841":41009,"_5180":41009,"_26249":41009,"_3399":41009,"_25032":41009,"_4843":41009,"_26125":41009,"_26211":41009,"_7535":41009,"_20718":41009,"_17163":41009},"671",{"_7271":41018,"_13755":41018,"_4322":41018,"_34439":41018,"_5697":41018,"_9517":41018,"_11263":41018,"_13234":41018,"_17163":41018,"_25462":41018,"_7485":41018,"_22216":41018,"_13739":41018,"_12923":41018,"_10492":41018,"_6069":41018,"_22306":41018,"_24751":41018,"_15800":41018,"_8815":41018,"_13266":41018,"_26249":41018,"_3020":41018,"_4843":41018,"_30435":41018,"_3132":41018,"_10112":41018,"_8794":41018,"_3642":41018,"_25032":41018},"672",{"_11313":40859,"_11327":40859,"_18878":40859,"_5697":40859,"_22228":40859,"_3132":40859,"_33873":40859,"_32387":40859,"_26211":40859,"_21072":40859,"_6499":40859,"_9688":40859,"_4593":40859,"_3642":40859,"_11263":40859,"_12541":40859,"_22291":40859,"_15794":40859,"_14151":40859,"_22216":40859,"_32088":40859,"_29601":40859,"_5457":40859,"_15363":40859,"_16221":40859,"_13165":40859,"_35370":40859,"_8144":40859,"_22455":40859,"_19679":40859,"_7535":40859,"_2225":40859,"_20652":40859,"_3150":40859,"_15133":40859,"_12628":40859,"_3074":40859,"_3020":40859,"_9011":40859,"_29409":40859,"_25966":40859,"_31369":40859,"_20131":40859,"_35502":40859},"673",{"_11313":40917,"_11327":40917,"_25621":40917,"_8204":40917,"_5053":40917,"_13687":40917,"_6499":40917,"_9688":40917,"_3132":40917,"_32387":40917,"_6047":40917,"_2225":40917,"_13266":40917,"_26242":40917,"_6069":40917,"_32688":40917,"_13780":40917,"_34454":40917,"_15794":40917,"_10492":40917,"_14688":40917,"_3020":40917,"_4340":40917,"_3399":40917,"_22216":40917,"_11263":40917,"_13234":40917,"_21124":40917,"_29630":40917,"_4843":40917,"_3095":40917,"_4593":40917,"_22291":40917,"_13350":40917,"_20131":40917,"_4871":40917},"674",{"_3074":41144,"_33407":41144,"_29807":41144,"_3132":41144,"_18170":41144,"_7535":41144,"_34454":41144,"_5796":41144,"_7485":41144,"_2225":41144,"_26237":41144,"_32139":41144,"_2217":41144,"_3825":41144,"_30471":41144,"_14958":41144,"_7903":41144,"_31434":41144,"_31635":41144,"_5697":41144,"_10492":41144,"_9701":41144,"_31492":41144,"_22216":41144,"_6566":41144,"_6069":41144,"_13785":41144,"_32682":41144,"_4900":41144,"_25032":41144,"_28777":41144,"_26285":41144,"_28281":41144,"_30320":41144,"_28286":41144,"_5180":41144,"_15481":41144,"_3399":41144,"_4494":41144,"_3642":41144,"_9712":41144,"_13234":41144},"675",{"_5053":42113,"_13687":42113,"_22216":42113,"_24843":42113,"_13755":42113,"_3132":42113,"_25462":42113,"_7485":42113,"_27992":42113,"_12923":42113,"_12895":42113,"_13791":42113,"_11263":42113,"_13739":42113,"_22306":42113,"_2212":42113,"_10051":42113,"_7535":42113,"_4455":42113,"_34454":42113,"_8794":42113,"_23795":42113,"_33072":42113,"_25004":42113,"_25032":42113,"_3399":42113,"_32688":42113,"_13780":42113,"_10069":42113,"_13350":42113,"_22291":42113,"_33743":42113,"_5697":42113,"_10492":42113,"_9688":42113,"_14688":42113,"_3020":42113,"_4322":42113,"_21124":42113,"_20131":42113,"_31486":42113,"_3183":42113,"_15794":42113,"_7068":42113,"_22387":42113,"_25031":42113,"_26285":42113,"_3074":42113,"_5180":42113,"_19054":42113,"_32544":42113,"_6069":42113,"_29485":42113,"_26242":42113,"_7019":42113,"_5214":42113,"_9701":42113,"_4843":42113,"_7768":42113,"_9734":42113,"_35859":42113,"_22049":42113,"_16293":42113},0.015873015873015872,"676",{"_4843":40836,"_3132":40836,"_6339":40836,"_5697":40836,"_5053":40836,"_13687":40836,"_3399":40836,"_24010":40836,"_11291":40836,"_19954":40836,"_27652":40836,"_26125":40836,"_11263":40836,"_27407":40836,"_7535":40836,"_20718":40836,"_23860":40836},"677",{"_23435":40844,"_5180":40844,"_10218":40844,"_11263":40844,"_25070":40844,"_22216":40844,"_28281":40844,"_5871":40844,"_25132":40844,"_22291":40844,"_15481":40844,"_3765":40844,"_15032":40844,"_28291":40844,"_31394":40844,"_3132":40844,"_26242":40844,"_5697":40844,"_30320":40844,"_7485":40844,"_15930":40844,"_3642":40844,"_34758":40844,"_25032":40844,"_15794":40844,"_10492":40844,"_9688":40844,"_4322":40844},"678",{"_22216":41264,"_24843":41264,"_13755":41264,"_3132":41264,"_25462":41264,"_7485":41264,"_2225":41264,"_27992":41264,"_12923":41264,"_12895":41264,"_13791":41264,"_11263":41264,"_13739":41264,"_13331":41264,"_14682":41264,"_10086":41264,"_22306":41264,"_8144":41264,"_33402":41264,"_31616":41264,"_3839":41264,"_7271":41264,"_3925":41264,"_31486":41264,"_34146":41264,"_5697":41264,"_9517":41264,"_29063":41264,"_14785":41264,"_35135":41264,"_30253":41264,"_27148":41264,"_24662":41264,"_7686":41264,"_7924":41264},"679",{"_33939":41667,"_22216":41667,"_28997":41667,"_6144":41667,"_6069":41667,"_6412":41667,"_22306":41667,"_3132":41667,"_13755":41667,"_12720":41667,"_33541":41667,"_13138":41667,"_9701":41667,"_14682":41667,"_22291":41667,"_15626":41667,"_7924":41667,"_33375":41667,"_33721":41667,"_21040":41667,"_26490":41667,"_8794":41667,"_25152":41667,"_8414":41667,"_31394":41667,"_2225":41667,"_31557":41667,"_5697":41667,"_24843":41667,"_7825":41667,"_4742":41667,"_30430":41667,"_19146":41667,"_7852":41667,"_3399":41667,"_25574":41667,"_34971":41667,"_31486":41667,"_6363":41667,"_33711":41667,"_7841":41667,"_14562":41667,"_33157":41667,"_35295":41667,"_3765":41667,"_9460":41667,"_7535":41667,"_30656":41667,"_19515":41667},"680",{"_24592":40808,"_31087":40808,"_22216":40808,"_12720":40808,"_17877":40808,"_8144":40808,"_32855":40808,"_3132":40808,"_32937":40808,"_8204":40808,"_7852":40808,"_27148":40808,"_33856":40808,"_20131":40808,"_20185":40808,"_4587":40808,"_34439":40808,"_8794":40808,"_7869":40808,"_5697":40808,"_23880":40808,"_31369":40808,"_13755":40808,"_4692":40808,"_34991":40808,"_3399":40808,"_20200":40808,"_15794":40808,"_5242":40808,"_7485":40808,"_3":40808,"_14349":40808,"_16613":40808},"681",{"_7875":40808,"_22216":40808,"_7271":40808,"_14682":40808,"_13739":40808,"_13331":40808,"_5085":40808,"_37179":40808,"_8651":40808,"_7535":40808,"_26285":40808,"_2225":40808,"_3297":40808,"_3997":40808,"_12923":40808,"_3399":40808,"_37184":40808,"_23656":40808,"_16221":40808,"_25594":40808,"_8144":40808,"_3195":40808,"_12547":40808,"_22291":40808,"_6419":40808,"_6047":40808,"_12720":40808,"_12541":40808,"_14167":40808,"_25817":40808,"_15546":40808,"_13755":40808,"_32535":40808},"682",{"_33882":40815,"_22291":40815,"_31394":40815,"_34412":40815,"_22216":40815,"_4322":40815,"_23357":40815,"_22306":40815,"_14682":40815,"_3132":40815,"_15859":40815,"_7352":40815},"683",{"_3925":40823,"_3642":40823,"_10041":40823,"_14682":40823,"_8144":40823,"_9476":40823,"_22216":40823,"_13755":40823,"_37028":40823,"_5697":40823,"_7735":40823,"_30258":40823,"_12541":40823,"_3132":40823,"_14157":40823,"_31369":40823,"_20125":40823,"_20131":40823,"_27751":40823,"_6436":40823,"_10492":40823,"_7686":40823,"_7535":40823,"_25848":40823,"_6973":40823,"_32535":40823,"_34412":40823,"_35859":40823,"_4322":40823},"684",{"_11411":40908,"_11313":40908,"_11327":40908,"_33882":40908,"_7485":40908,"_8144":40908,"_24761":40908,"_20513":40908,"_31369":40908,"_6363":40908,"_3132":40908,"_19432":40908,"_5697":40908,"_7686":40908,"_27021":40908,"_4455":40908,"_12628":40908,"_13165":40908,"_31248":40908,"_7019":40908,"_6437":40908,"_31486":40908,"_22216":40908,"_8414":40908,"_2225":40908,"_23383":40908,"_14523":40908,"_20131":40908,"_34439":40908,"_16763":40908,"_6069":40908,"_12895":40908,"_13791":40908,"_29490":40908,"_22306":40908,"_20125":40908,"_15363":40908,"_8095":40908},"685",{"_13755":40881,"_3132":40881,"_20824":40881,"_22387":40881,"_22216":40881,"_9688":40881,"_14682":40881,"_22228":40881,"_3765":40881,"_22693":40881,"_20799":40881,"_16664":40881,"_3399":40881,"_34109":40881,"_30928":40881,"_10097":40881,"_28022":40881,"_15025":40881,"_33711":40881,"_24843":40881,"_15368":40881,"_5697":40881,"_15546":40881,"_9476":40881},"686",{"_2225":40832,"_8315":40832,"_32544":40832,"_15794":40832,"_20131":40832,"_7768":40832,"_7485":40832,"_9740":40832,"_35859":40832,"_9745":40832,"_3399":40832,"_22049":40832,"_16293":40832},"687",{"_11320":42138,"_11375":42138,"_9055":42138,"_25966":42138,"_3642":42138,"_12628":42138,"_15794":42138,"_20131":42138,"_9038":42138,"_16556":42138,"_22216":42138,"_8414":42138,"_4554":42138,"_31481":42138,"_5242":42138,"_7485":42138,"_2225":42138,"_27179":42138,"_34736":42138,"_26125":42138,"_8080":42138,"_3399":42138,"_19376":42138,"_15800":42138,"_27200":42138,"_20773":42138,"_4742":42138,"_16763":42138,"_8144":42138,"_30430":42138,"_34093":42138,"_7735":42138,"_26988":42138,"_5697":42138,"_3074":42138,"_6679":42138,"_22291":42138,"_16221":42138,"_35448":42138,"_24771":42138,"_14218":42138,"_22629":42138,"_13582":42138,"_30822":42138,"_34561":42138,"_25752":42138,"_26155":42138,"_5775":42138,"_18335":42138,"_5265":42138,"_22265":42138,"_22455":42138,"_29601":42138,"_20718":42138,"_27102":42138,"_33845":42138,"_33562":42138,"_3997":42138,"_22393":42138,"_14978":42138,"_10097":42138,"_27148":42138,"_6047":42138,"_34439":42138,"_22148":42138,"_30461":42138,"_27220":42138,"_3020":42138,"_3209":42138,"_8485":42138,"_3925":42138,"_3765":42138,"_7535":42138,"_22693":42138,"_20067":42138,"_10191":42138,"_7924":42138,"_5331":42138,"_17810":42138,"_23519":42138,"_4455":42138,"_14157":42138,"_13350":42138,"_15991":42138,"_8636":42138,"_6069":42138,"_9780":42138,"_8858":42138,"_3672":42138,"_26185":42138,"_30435":42138,"_20125":42138,"_26784":42138,"_33774":42138,"_25873":42138,"_15363":42138,"_8204":42138,"_19178":42138,"_3183":42138,"_14817":42138},0.01,"688",{"_6884":40859,"_5968":40859,"_33882":40859,"_22291":40859,"_22216":40859,"_33711":40859,"_13755":40859,"_21124":40859,"_29630":40859,"_26763":40859,"_21302":40859,"_6473":40859,"_6069":40859,"_19183":40859,"_5697":40859,"_20131":40859,"_13986":40859,"_29404":40859,"_17877":40859,"_18345":40859,"_15363":40859,"_31861":40859,"_29301":40859,"_8320":40859,"_22281":40859,"_3399":40859,"_25662":40859,"_10097":40859,"_3132":40859,"_3095":40859,"_25668":40859,"_21858":40859,"_26125":40859,"_8651":40859,"_9688":40859,"_31481":40859,"_15800":40859,"_18205":40859,"_30771":40859,"_23440":40859,"_8460":40859,"_22260":40859,"_3020":40859,"_20718":40859},"689",{"_3209":41607,"_25966":41607,"_30461":41607,"_17421":41607,"_2225":41607,"_9701":41607,"_22216":41607,"_3019":41607,"_21124":41607,"_32115":41607,"_22291":41607,"_13582":41607,"_20631":41607,"_6069":41607,"_19183":41607,"_8204":41607,"_33711":41607,"_13755":41607,"_3765":41607,"_4630":41607,"_14157":41607,"_3399":41607,"_27849":41607,"_31486":41607,"_15546":41607,"_8414":41607,"_5697":41607,"_5032":41607,"_22306":41607,"_35758":41607,"_12628":41607,"_20131":41607,"_8144":41607,"_6138":41607,"_30430":41607,"_19146":41607,"_32088":41607,"_3132":41607,"_24776":41607,"_8794":41607,"_25621":41607,"_3074":41607,"_17318":41607,"_28777":41607,"_15800":41607,"_29404":41607,"_30822":41607,"_13576":41607,"_35743":41607,"_3871":41607,"_7396":41607,"_32371":41607,"_17163":41607,"_7983":41607,"_14151":41607,"_8315":41607,"_27386":41607,"_5879":41607,"_7535":41607,"_24815":41607},"690",{"_22216":42145,"_17318":42145,"_13755":42145,"_6069":42145,"_35748":42145,"_13970":42145,"_25966":42145,"_7485":42145,"_28997":42145,"_14785":42145,"_19979":42145,"_3659":42145,"_3020":42145,"_20718":42145,"_31404":42145,"_3765":42145,"_28797":42145,"_3925":42145,"_6693":42145,"_7535":42145,"_32535":42145,"_17877":42145,"_2220":42145,"_3399":42145,"_2217":42145,"_3252":42145,"_4975":42145,"_27355":42145,"_8771":42145,"_5697":42145,"_2225":42145,"_3871":42145,"_2222":42145,"_3132":42145,"_30517":42145,"_9038":42145,"_24986":42145,"_13739":42145,"_14523":42145,"_20131":42145,"_31486":42145,"_33882":42145,"_22291":42145,"_28807":42145,"_24751":42145,"_15800":42145,"_5021":42145,"_20270":42145,"_22265":42145,"_8144":42145,"_6047":42145,"_18649":42145,"_8204":42145,"_5168":42145,"_7654":42145,"_13582":42145,"_3672":42145,"_16763":42145,"_22255":42145,"_13613":42145,"_15546":42145,"_3330":42145,"_7841":42145,"_30676":42145,"_7019":42145,"_10426":42145,"_4742":42145,"_5473":42145,"_14354":42145,"_8414":42145,"_30424":42145,"_34093":42145,"_7742":42145,"_34785":42145,"_7869":42145,"_9717":42145,"_32088":42145},0.012987012987012988,"691",{"_22216":41431,"_17318":41431,"_13755":41431,"_6069":41431,"_33129":41431,"_35743":41431,"_13970":41431,"_25966":41431,"_7485":41431,"_28997":41431,"_14785":41431,"_19979":41431,"_17860":41431,"_28797":41431,"_3925":41431,"_2225":41431,"_19178":41431,"_7535":41431,"_32535":41431,"_5697":41431,"_3150":41431,"_33711":41431,"_12628":41431,"_2220":41431,"_3871":41431,"_2222":41431,"_25609":41431,"_31486":41431,"_3074":41431,"_13739":41431,"_13975":41431,"_17877":41431,"_31123":41431,"_3399":41431,"_2217":41431,"_3765":41431,"_3252":41431,"_4975":41431,"_27355":41431,"_8771":41431,"_24986":41431,"_14523":41431,"_20131":41431,"_33675":41431,"_33856":41431,"_28777":41431,"_20718":41431,"_22281":41431,"_3659":41431,"_26125":41431,"_31785":41431,"_30373":41431},"692",{"_31429":42150,"_28807":42150,"_22216":42150,"_35743":42150,"_3925":42150,"_3074":42150,"_6679":42150,"_3020":42150,"_19178":42150,"_8144":42150,"_3132":42150,"_4592":42150,"_7961":42150,"_15800":42150,"_5697":42150,"_28777":42150,"_4455":42150,"_15546":42150,"_13755":42150,"_25966":42150,"_28467":42150,"_8414":42150,"_16571":42150,"_7535":42150,"_32535":42150,"_31394":42150,"_3209":42150,"_2220":42150,"_14523":42150,"_20131":42150,"_25616":42150,"_31486":42150,"_3307":42150,"_2225":42150,"_17877":42150,"_29490":42150,"_22306":42150,"_20718":42150,"_8247":42150,"_27021":42150,"_8371":42150,"_30461":42150,"_6138":42150,"_35753":42150,"_29601":42150,"_33873":42150,"_3672":42150,"_13613":42150,"_3399":42150,"_3019":42150,"_21124":42150,"_9222":42150,"_3671":42150,"_12628":42150},0.018518518518518517,"693",{"_5":40794,"_31780":40794},"694",{"_33856":40812,"_28046":40812,"_20718":40812,"_22281":40812,"_3659":40812,"_35758":40812,"_12628":40812,"_7485":40812,"_22216":40812,"_27355":40812,"_17318":40812,"_13755":40812,"_3925":40812,"_19183":40812,"_25966":40812,"_24662":40812,"_15800":40812,"_37023":40812,"_22255":40812,"_3765":40812,"_3074":40812,"_32834":40812,"_32088":40812,"_17877":40812,"_21199":40812,"_35748":40812,"_28797":40812,"_20125":40812,"_7593":40812,"_17271":40812,"_13582":40812,"_15675":40812,"_2225":40812,"_28120":40812,"_27071":40812,"_3399":40812,"_18210":40812,"_5788":40812,"_17277":40812,"_8204":40812,"_20067":40812,"_8144":40812,"_3132":40812,"_27386":40812,"_5697":40812,"_28777":40812,"_6693":40812,"_13739":40812},"695",{"_17877":40844,"_22216":40844,"_13755":40844,"_6069":40844,"_32834":40844,"_25966":40844,"_15368":40844,"_3020":40844,"_22255":40844,"_30424":40844,"_34731":40844,"_30461":40844,"_35743":40844,"_25162":40844,"_7485":40844,"_14354":40844,"_3399":40844,"_29296":40844,"_5385":40844,"_20125":40844,"_33743":40844,"_5697":40844,"_20131":40844,"_9228":40844,"_31486":40844,"_3074":40844,"_34971":40844,"_7825":40844},"696",{"_8006":41045,"_33882":41045,"_22291":41045,"_6018":41045,"_14157":41045,"_5697":41045,"_22216":41045,"_8414":41045,"_2225":41045,"_35743":41045,"_3336":41045,"_28997":41045,"_14785":41045,"_13755":41045,"_7485":41045,"_31369":41045,"_8144":41045,"_3132":41045,"_5430":41045,"_3399":41045,"_17318":41045,"_13739":41045,"_30676":41045,"_7019":41045,"_30461":41045,"_30517":41045,"_10877":41045,"_17877":41045,"_9233":41045,"_22306":41045,"_13165":41045,"_31481":41045,"_15800":41045,"_20131":41045,"_3145":41045,"_31087":41045,"_27021":41045,"_8204":41045,"_16221":41045,"_7825":41045,"_30253":41045,"_33743":41045,"_28046":41045,"_3074":41045,"_5668":41045},"697",{"_20814":41182,"_12628":41182,"_19244":41182,"_3642":41182,"_6069":41182,"_22216":41182,"_19631":41182,"_3020":41182,"_10995":41182,"_19178":41182,"_6679":41182,"_2225":41182,"_15794":41182,"_20131":41182,"_20824":41182,"_8794":41182,"_3209":41182,"_8144":41182,"_5697":41182,"_32088":41182,"_31486":41182,"_23383":41182,"_22306":41182,"_31931":41182,"_7485":41182,"_31123":41182,"_16664":41182,"_3399":41182,"_30928":41182,"_9701":41182,"_20799":41182,"_3132":41182,"_15800":41182,"_33774":41182,"_9011":41182,"_10752":41182,"_3307":41182,"_28046":41182,"_33711":41182,"_3925":41182,"_17877":41182,"_30315":41182,"_7869":41182,"_31481":41182,"_23896":41182,"_13755":41182,"_15363":41182,"_18990":41182,"_3317":41182,"_26125":41182,"_3074":41182,"_32535":41182,"_10097":41182,"_13798":41182,"_3183":41182,"_14817":41182},"698",{"_8144":41009,"_3132":41009,"_4592":41009,"_19679":41009,"_5697":41009,"_15363":41009,"_22216":41009,"_13582":41009,"_7869":41009,"_34439":41009,"_8794":41009,"_32088":41009,"_7535":41009,"_32535":41009,"_8204":41009,"_2225":41009,"_20631":41009,"_29947":41009,"_3997":41009,"_8706":41009,"_22306":41009,"_6047":41009,"_4508":41009,"_34412":41009,"_30928":41009,"_34109":41009,"_9701":41009,"_10097":41009,"_16664":41009,"_31931":41009,"_31486":41009,"_31123":41009,"_3399":41009,"_27813":41009},"699",{"_11320":41196,"_11346":41196,"_11375":41196,"_18995":41196,"_17706":41196,"_22228":41196,"_3132":41196,"_18927":41196,"_33873":41196,"_31394":41196,"_9055":41196,"_2225":41196,"_7735":41196,"_27021":41196,"_8144":41196,"_15800":41196,"_4742":41196,"_27200":41196,"_20773":41196,"_22216":41196,"_33562":41196,"_6069":41196,"_9050":41196,"_22291":41196,"_26025":41196,"_35448":41196,"_3765":41196,"_28472":41196,"_14508":41196,"_3209":41196,"_12628":41196,"_8414":41196,"_15363":41196,"_3399":41196,"_33944":41196,"_23677":41196,"_7535":41196,"_23860":41196,"_7084":41196,"_26125":41196,"_8080":41196,"_7485":41196,"_19376":41196},"700",{"_22216":40940,"_4692":40940,"_27102":40940,"_23677":40940,"_6177":40940,"_31394":40940,"_2225":40940,"_8414":40940,"_15363":40940,"_3132":40940,"_21936":40940,"_7485":40940,"_7716":40940,"_15930":40940},"701",{"_8414":40821,"_3132":40821,"_9038":40821,"_8204":40821,"_22216":40821,"_32088":40821},"702",{"_29237":40827,"_10995":40827,"_3132":40827,"_15374":40827,"_8204":40827,"_19178":40827,"_5697":40827,"_6679":40827},"703",{"_22216":40815,"_6707":40815,"_34439":40815,"_8794":40815,"_8414":40815,"_5697":40815,"_26495":40815,"_21688":40815,"_6246":40815,"_13582":40815,"_3132":40815,"_20824":40815},"704",{"_11320":41264,"_11375":41264,"_7485":41264,"_22223":41264,"_15930":41264,"_2225":41264,"_8414":41264,"_29706":41264,"_3132":41264,"_19007":41264,"_31404":41264,"_22216":41264,"_6214":41264,"_34168":41264,"_33711":41264,"_9401":41264,"_34736":41264,"_34506":41264,"_27190":41264,"_22281":41264,"_31394":41264,"_15769":41264,"_27021":41264,"_8377":41264,"_23911":41264,"_34811":41264,"_3399":41264,"_33289":41264,"_15794":41264,"_20131":41264,"_5347":41264,"_24592":41264,"_26125":41264,"_8080":41264,"_19376":41264},"705",{"_31394":40796,"_22216":40796,"_12541":40796,"_6707":40796,"_6069":40796,"_2225":40796,"_12628":40796,"_3132":40796,"_20824":40796,"_32834":40796,"_14173":40796,"_3765":40796,"_15800":40796,"_24886":40796,"_33711":40796,"_5697":40796,"_31481":40796,"_10492":40796},"706",{"_18515":42179,"_6973":42179,"_7019":42179,"_5697":42179,"_22216":42179,"_17426":42179,"_6069":42179,"_9688":42179,"_5775":42179,"_2225":42179,"_13582":42179,"_6214":42179,"_13755":42179,"_21124":42179,"_20131":42179,"_5318":42179,"_3399":42179,"_14157":42179,"_7535":42179,"_11263":42179,"_20270":42179,"_6018":42179,"_3132":42179,"_17411":42179,"_31123":42179,"_33711":42179,"_13765":42179,"_7993":42179,"_21703":42179,"_29774":42179,"_5001":42179,"_3871":42179,"_4455":42179,"_5788":42179,"_27679":42179,"_30461":42179,"_31630":42179,"_8794":42179,"_8414":42179,"_3765":42179,"_14785":42179,"_29630":42179,"_29769":42179,"_6047":42179,"_8820":42179,"_33882":42179,"_22291":42179,"_33861":42179,"_29570":42179,"_35390":42179,"_12541":42179,"_31394":42179,"_9701":42179,"_14802":42179,"_8144":42179,"_20946":42179,"_3074":42179,"_4990":42179,"_21040":42179,"_26490":42179,"_15800":42179,"_29601":42179,"_9575":42179,"_32115":42179,"_6192":42179,"_32535":42179,"_27391":42179,"_27220":42179,"_20773":42179,"_9038":42179,"_25966":42179,"_17406":42179,"_34955":42179,"_26336":42179,"_3020":42179,"_3671":42179,"_30822":42179,"_7686":42179,"_31816":42179,"_14773":42179},0.0125,"707",{"_22216":40784,"_16664":40784,"_10097":40784,"_4494":40784,"_3209":40784,"_3399":40784,"_9055":40784,"_25966":40784,"_8204":40784,"_15546":40784,"_13755":40784,"_21199":40784,"_15368":40784,"_3765":40784,"_4508":40784,"_4975":40784,"_6018":40784,"_7535":40784,"_32535":40784},"708",{"_31123":40901,"_22216":40901,"_3150":40901,"_3399":40901,"_9011":40901,"_5879":40901,"_21588":40901,"_14700":40901,"_3833":40901,"_33873":40901,"_28081":40901},"709",{"_11327":40861,"_22216":40861,"_7603":40861,"_6069":40861,"_12628":40861,"_25527":40861,"_3132":40861,"_32554":40861,"_3925":40861,"_24151":40861,"_7485":40861,"_28051":40861,"_12541":40861,"_6707":40861,"_3399":40861,"_16566":40861,"_33882":40861,"_22291":40861,"_15794":40861,"_20131":40861,"_34439":40861,"_2225":40861,"_27184":40861,"_7535":40861,"_32535":40861,"_5400":40861,"_17877":40861,"_4630":40861,"_7869":40861,"_31486":40861,"_23383":40861,"_19631":40861,"_3020":40861,"_15800":40861,"_3074":40861,"_6679":40861,"_8144":40861,"_34971":40861,"_6018":40861,"_13755":40861,"_14802":40861,"_30430":40861,"_34412":40861,"_33711":40861,"_22306":40861,"_33193":40861,"_31645":40861,"_5697":40861,"_23072":40861,"_19183":40861,"_17086":40861,"_6693":40861,"_35396":40861,"_35300":40861,"_15363":40861,"_3642":40861,"_31492":40861,"_10916":40861},"710",{"_11263":41667,"_25070":41667,"_22693":41667,"_22673":41667,"_6069":41667,"_13582":41667,"_27813":41667,"_22216":41667,"_26933":41667,"_20631":41667,"_7869":41667,"_31404":41667,"_8414":41667,"_14802":41667,"_5788":41667,"_5473":41667,"_9585":41667,"_5265":41667,"_8204":41667,"_2225":41667,"_35453":41667,"_3399":41667,"_20718":41667,"_15000":41667,"_29947":41667,"_35448":41667,"_23383":41667,"_25966":41667,"_29630":41667,"_32012":41667,"_3765":41667,"_23736":41667,"_17086":41667,"_35432":41667,"_7025":41667,"_16664":41667,"_9701":41667,"_3132":41667,"_15568":41667,"_4508":41667,"_6047":41667,"_17877":41667,"_28997":41667,"_18345":41667,"_13755":41667,"_34433":41667,"_30771":41667,"_22440":41667,"_6252":41667},"711",{"_16664":40829,"_10097":40829,"_32544":40829,"_34412":40829,"_22216":40829,"_35859":40829,"_4322":40829},"712",{"_22228":40802,"_3132":40802,"_4592":40802,"_3074":40802,"_4092":40802,"_4322":40802,"_3399":40802,"_5101":40802,"_14700":40802,"_25822":40802,"_16763":40802,"_6069":40802,"_28777":40802,"_25817":40802,"_26125":40802,"_28261":40802,"_35859":40802,"_20067":40802,"_6270":40802,"_4356":40802,"_11263":40802},"713",{"_22216":40784,"_34109":40784,"_10097":40784,"_5085":40784,"_2225":40784,"_15025":40784,"_28036":40784,"_6069":40784,"_33711":40784,"_24843":40784,"_13755":40784,"_15794":40784,"_20131":40784,"_7401":40784,"_17443":40784,"_3020":40784,"_10041":40784,"_8204":40784,"_7825":40784},"714",{"_33726":40817,"_16111":40817,"_3132":40817,"_2225":40817,"_24843":40817,"_13739":40817,"_7825":40817,"_26125":40817,"_13755":40817},"715",{"_22216":40866,"_33711":40866,"_13755":40866,"_20125":40866,"_10492":40866,"_2225":40866,"_23383":40866,"_13582":40866,"_7869":40866,"_7535":40866,"_32535":40866,"_30253":40866,"_28046":40866,"_29947":40866,"_32471":40866,"_17877":40866,"_15546":40866,"_32088":40866,"_34433":40866,"_20631":40866},"716",{"_30928":40829,"_10097":40829,"_32535":40829,"_34412":40829,"_22216":40829,"_35859":40829,"_4322":40829},"717",{"_22228":40841,"_3132":40841,"_4592":40841,"_3074":40841,"_4092":40841,"_4322":40841,"_3399":40841,"_5101":40841,"_2225":40841,"_14700":40841,"_25817":40841,"_13587":40841,"_22216":40841,"_33711":40841,"_21015":40841,"_16763":40841,"_6069":40841,"_28777":40841,"_26125":40841,"_28261":40841,"_35859":40841,"_20067":40841,"_6270":40841,"_4356":40841,"_11263":40841},"718",{"_26784":40888,"_33390":40888,"_7485":40888,"_34109":40888,"_10097":40888,"_2225":40888,"_18345":40888,"_13755":40888,"_24326":40888,"_3997":40888,"_26791":40888,"_22216":40888,"_12541":40888,"_30404":40888,"_5697":40888,"_20131":40888,"_15546":40888,"_3399":40888,"_27148":40888,"_6047":40888,"_4277":40888,"_22291":40888,"_9688":40888,"_25162":40888,"_17877":40888,"_28997":40888,"_4975":40888,"_8414":40888,"_29601":40888,"_28017":40888,"_12720":40888},"719",{"_7485":40836,"_22216":40836,"_35859":40836,"_32544":40836,"_5400":40836,"_16763":40836,"_6069":40836,"_34382":40836,"_30253":40836,"_15794":40836,"_28046":40836,"_2225":40836,"_13755":40836,"_12720":40836,"_5697":40836,"_14452":40836,"_9701":40836},"720",{"_7485":40834,"_3174":40834,"_5697":40834,"_34146":40834,"_11263":40834,"_33211":40834,"_14463":40834,"_2225":40834,"_9701":40834,"_20125":40834,"_8358":40834,"_7535":40834,"_22216":40834,"_7716":40834,"_10191":40834},"721",{"_3671":40829,"_9688":40829,"_3132":40829,"_15568":40829,"_7485":40829,"_18515":40829,"_9751":40829},"722",{"_6884":40802,"_5968":40802,"_22216":40802,"_18345":40802,"_15363":40802,"_31861":40802,"_29301":40802,"_8320":40802,"_22281":40802,"_19183":40802,"_3399":40802,"_25662":40802,"_10097":40802,"_3132":40802,"_3095":40802,"_3020":40802,"_17877":40802,"_23440":40802,"_19178":40802,"_9073":40802,"_30771":40802},"723",{"_33873":40836,"_13582":40836,"_6069":40836,"_22216":40836,"_33711":40836,"_13755":40836,"_31630":40836,"_14157":40836,"_3399":40836,"_34991":40836,"_31486":40836,"_8414":40836,"_31394":40836,"_9701":40836,"_18210":40836,"_30547":40836,"_33731":40836},"724",{"_37166":40832,"_4309":40832,"_31630":40832,"_28017":40832,"_30822":40832,"_22216":40832,"_29063":40832,"_13755":40832,"_12720":40832,"_3640":40832,"_3132":40832,"_15800":40832,"_30777":40832},"725",{"_3074":40784,"_16664":40784,"_9701":40784,"_31630":40784,"_8991":40784,"_30822":40784,"_22216":40784,"_28997":40784,"_13755":40784,"_4975":40784,"_8414":40784,"_34433":40784,"_2225":40784,"_13582":40784,"_7869":40784,"_3672":40784,"_22281":40784,"_20631":40784,"_30771":40784},"726",{"_27960":40853,"_33211":40853,"_30771":40853},"727",{"_3002":40901,"_3017":40901,"_13798":40901,"_31394":40901,"_10107":40901,"_22216":40901,"_13755":40901,"_8204":40901,"_2225":40901,"_7825":40901,"_30771":40901},"728",{"_4692":40901,"_6069":40901,"_22223":40901,"_3765":40901,"_18099":40901,"_8794":40901,"_8906":40901,"_15930":40901,"_7485":40901,"_9757":40901,"_35859":40901},"729",{"_28911":42226,"_5697":42226,"_34692":42226,"_22216":42226,"_23393":42226,"_30506":42226,"_16664":42226,"_3399":42226,"_34109":42226,"_9701":42226,"_25080":42226,"_12541":42226,"_16298":42226,"_3276":42226,"_12628":42226,"_2220":42226,"_31374":42226,"_2225":42226,"_23383":42226,"_16308":42226,"_2217":42226,"_31486":42226,"_10097":42226,"_33129":42226,"_7924":42226,"_17416":42226,"_13739":42226,"_7983":42226,"_6379":42226,"_15546":42226,"_13755":42226,"_22260":42226,"_28553":42226,"_15632":42226,"_33711":42226,"_28777":42226,"_8794":42226,"_3209":42226,"_16221":42226,"_6783":42226,"_25404":42226,"_5473":42226,"_31123":42226,"_9707":42226,"_15025":42226,"_6047":42226,"_3659":42226,"_6069":42226,"_3020":42226,"_31481":42226,"_20131":42226,"_3252":42226,"_15800":42226,"_24296":42226,"_3997":42226,"_31369":42226,"_8851":42226,"_3862":42226,"_26185":42226,"_4975":42226,"_8414":42226,"_3672":42226,"_15794":42226,"_10324":42226,"_18190":42226,"_34785":42226,"_15363":42226,"_21593":42226,"_33562":42226,"_22306":42226,"_6973":42226,"_27818":42226,"_18515":42226,"_7535":42226,"_30822":42226,"_32456":42226,"_20125":42226,"_10492":42226,"_14458":42226,"_9688":42226,"_5331":42226,"_31321":42226,"_6597":42226,"_16303":42226,"_17877":42226,"_3867":42226},0.011627906976744186,"730",{"_31486":40812,"_16664":40812,"_9701":40812,"_31123":40812,"_15368":40812,"_21588":40812,"_33562":40812,"_3925":40812,"_22255":40812,"_3765":40812,"_4277":40812,"_8794":40812,"_22216":40812,"_8414":40812,"_3659":40812,"_5473":40812,"_3672":40812,"_5697":40812,"_15546":40812,"_13755":40812,"_27021":40812,"_13350":40812,"_6982":40812,"_20270":40812,"_18515":40812,"_22306":40812,"_20898":40812,"_6973":40812,"_25848":40812,"_28911":40812,"_7485":40812,"_18910":40812,"_21199":40812,"_14399":40812,"_9707":40812,"_18404":40812,"_11151":40812,"_34109":40812,"_3132":40812,"_15568":40812,"_6047":40812,"_31645":40812,"_24849":40812,"_15363":40812,"_13582":40812,"_7869":40812,"_4508":40812,"_20631":40812},{"_5968":42230,"_11313":42230,"_15379":42230,"_3074":42230,"_6679":42230,"_17086":42230,"_2225":42230,"_7735":42230,"_35432":42230,"_12628":42230,"_20125":42230,"_8358":42230,"_17877":42230,"_8320":42230,"_22281":42230,"_22216":42230,"_21312":42230,"_4508":42230,"_6473":42230,"_6069":42230,"_19183":42230,"_31861":42230,"_9073":42230,"_33211":42230,"_13924":42230,"_19178":42230,"_26784":42230,"_7535":42230,"_20718":42230,"_25317":42230,"_10180":42230,"_25080":42230,"_15546":42230,"_13755":42230,"_3132":42230,"_3871":42230,"_2222":42230,"_2220":42230,"_31404":42230,"_8414":42230,"_3399":42230,"_3765":42230,"_7742":42230,"_29601":42230,"_15774":42230,"_9701":42230,"_20275":42230,"_8144":42230,"_31481":42230,"_31486":42230,"_27021":42230,"_20631":42230,"_35453":42230,"_7485":42230,"_33711":42230,"_3642":42230,"_21124":42230,"_20131":42230,"_14157":42230,"_34991":42230,"_15799":42230,"_5276":42230,"_29921":42230,"_18738":42230,"_26490":42230,"_24592":42230,"_22233":42230,"_24751":42230,"_15800":42230,"_14218":42230,"_22629":42230,"_8820":42230,"_25966":42230,"_22306":42230,"_15925":42230,"_12541":42230,"_15794":42230,"_5032":42230,"_21547":42230,"_22693":42230,"_9688":42230,"_14688":42230,"_7924":42230,"_9011":42230,"_8204":42230,"_22260":42230,"_3150":42230,"_8485":42230,"_3925":42230,"_16971":42230,"_13165":42230,"_34093":42230,"_5260":42230,"_21718":42230,"_19007":42230,"_26185":42230,"_14682":42230},0.010309278350515464,"732",{"_6884":41196,"_11353":41196,"_11327":41196,"_31394":41196,"_2225":41196,"_11263":41196,"_13234":41196,"_3132":41196,"_25616":41196,"_3399":41196,"_33129":41196,"_12541":41196,"_7401":41196,"_22216":41196,"_27355":41196,"_14167":41196,"_25817":41196,"_11137":41196,"_15466":41196,"_12628":41196,"_5697":41196,"_14151":41196,"_20285":41196,"_32574":41196,"_6473":41196,"_6069":41196,"_14173":41196,"_17748":41196,"_33531":41196,"_5174":41196,"_4455":41196,"_25966":41196,"_18607":41196,"_22306":41196,"_18305":41196,"_26242":41196,"_15368":41196,"_22387":41196,"_9701":41196,"_26125":41196,"_26180":41196,"_7485":41196,"_19376":41196},"733",{"_7535":40804,"_22216":40804,"_20898":40804,"_5697":40804,"_31880":40804,"_4455":40804,"_13350":40804,"_21124":40804,"_25285":40804,"_13755":40804,"_15368":40804,"_8794":40804,"_26285":40804,"_2225":40804,"_3297":40804,"_3997":40804,"_11263":40804,"_13739":40804,"_33237":40804,"_23357":40804,"_3020":40804,"_22387":40804,"_7352":40804,"_4322":40804,"_31394":40804,"_3132":40804,"_21936":40804,"_12541":40804,"_27148":40804,"_10041":40804,"_33711":40804,"_17421":40804,"_7686":40804,"_3399":40804,"_17877":40804,"_17290":40804,"_17406":40804,"_34965":40804,"_5331":40804,"_20573":40804,"_21262":40804,"_4975":40804,"_27355":40804,"_8771":40804,"_33129":40804,"_27761":40804,"_11131":40804,"_27179":40804,"_19027":40804,"_30461":40804},"734",{"_2225":40815,"_8315":40815,"_32544":40815,"_15794":40815,"_20131":40815,"_7768":40815,"_7485":40815,"_25584":40815,"_35859":40815,"_3399":40815,"_22044":40815,"_16293":40815},"735",{"_32535":40901,"_26968":40901,"_5697":40901,"_18093":40901,"_22216":40901,"_7255":40901,"_17958":40901,"_15800":40901,"_2225":40901,"_18457":40901,"_9833":40901},"736",{"_35813":3013},"737",{"_29485":40881,"_5697":40881,"_32156":40881,"_3399":40881,"_10492":40881,"_35813":40881,"_20680":40881,"_20170":40881,"_7535":40881,"_11263":40881,"_32094":40881,"_16556":40881,"_25621":40881,"_31486":40881,"_14354":40881,"_35370":40881,"_36001":40881,"_2225":40881,"_8106":40881,"_21496":40881,"_10462":40881,"_10372":40881,"_25662":40881,"_25966":40881},"738",{"_25621":40878,"_11263":40878,"_31486":40878,"_35813":40878,"_3095":40878},"739",{"_8761":40787,"_2225":40787,"_35813":40787,"_14114":40787},"740",{"_11411":40829,"_11313":40829,"_11375":40829,"_28389":40829,"_21504":40829,"_33711":40829,"_7485":40829},"741",{"_28451":40853,"_21504":40853,"_24281":40853},"742",{"_11263":40853,"_21496":40853,"_10462":40853},"743",{"_10372":40853,"_32088":40853,"_21504":40853},"744",{"_25662":40853,"_12628":40853,"_21504":40853},"745",{"_4356":40911,"_11263":40911,"_29601":40911,"_32901":40911,"_25052":40911,"_7535":40911,"_35813":40911,"_4522":40911,"_30253":40911,"_5697":40911,"_6559":40911,"_3399":40911,"_20151":40911,"_2225":40911,"_25936":40911,"_32088":40911},"746",{"_22306":40784,"_24677":40784,"_4029":40784,"_22291":40784,"_30253":40784,"_29630":40784,"_30722":40784,"_37033":40784,"_6069":40784,"_35813":40784,"_26125":40784,"_22216":40784,"_25388":40784,"_22176":40784,"_19386":40784,"_5697":40784,"_7271":40784,"_25616":40784,"_31486":40784},"747",{"_26125":40806,"_22216":40806,"_35813":40806,"_20170":40806,"_6918":40806,"_7535":40806,"_23860":40806,"_3997":40806,"_26285":40806,"_7019":40806,"_28517":40806,"_3399":40806,"_9061":40806,"_6069":40806,"_35512":40806,"_16747":40806,"_8794":40806,"_23795":40806,"_16571":40806,"_12958":40806,"_8589":40806,"_25070":40806,"_6047":40806,"_10854":40806,"_28772":40806,"_24677":40806,"_5697":40806,"_32156":40806,"_25052":40806,"_30572":40806,"_27699":40806,"_22306":40806},"748",{"_22216":41264,"_13304":41264,"_6270":41264,"_4356":41264,"_11263":41264,"_12628":41264,"_13582":41264,"_36496":41264,"_31481":41264,"_25609":41264,"_2225":41264,"_35813":41264,"_20175":41264,"_22306":41264,"_10603":41264,"_18295":41264,"_21504":41264,"_24592":41264,"_17334":41264,"_5697":41264,"_25052":41264,"_20680":41264,"_3399":41264,"_20170":41264,"_6069":41264,"_16742":41264,"_26125":41264,"_30960":41264,"_12958":41264,"_8589":41264,"_7535":41264,"_3659":41264,"_32535":41264,"_25621":41264,"_34412":41264},"749",{"_22228":40871,"_3765":40871,"_2225":40871,"_6473":40871,"_6069":40871,"_35813":40871,"_14120":40871,"_5318":40871,"_31369":40871,"_15794":40871,"_14151":40871,"_5697":40871,"_22216":40871,"_8761":40871,"_12628":40871,"_7535":40871,"_22306":40871,"_32535":40871,"_31976":40871,"_31481":40871,"_10492":40871,"_25393":40871,"_36001":40871},"750",{"_22216":40808,"_35859":40808,"_35959":40808,"_27257":40808,"_31486":40808,"_2225":40808,"_26933":40808,"_35813":40808,"_14114":40808,"_34290":40808,"_36001":40808,"_31369":40808,"_15794":40808,"_20131":40808,"_34439":40808,"_5697":40808,"_14151":40808,"_11263":40808,"_3399":40808,"_16808":40808,"_8761":40808,"_12628":40808,"_6018":40808,"_30284":40808,"_25616":40808,"_34412":40808,"_36496":40808,"_25609":40808,"_22662":40808,"_9300":40808,"_7485":40808,"_35969":40808,"_30960":40808},"751",{"_31394":40881,"_22216":40881,"_33711":40881,"_14167":40881,"_31507":40881,"_3132":40881,"_23661":40881,"_33237":40881,"_14151":40881,"_5697":40881,"_28517":40881,"_18190":40881,"_17877":40881,"_36001":40881,"_31630":40881,"_25616":40881,"_3997":40881,"_27355":40881,"_21464":40881,"_3925":40881,"_12628":40881,"_3020":40881,"_10492":40881,"_9061":40881},"752",{"_8794":40901,"_23795":40901,"_22216":40901,"_6558":40901,"_21608":40901,"_7535":40901,"_35512":40901,"_3132":40901,"_23661":40901,"_26368":40901,"_21504":40901},"753",{"_30253":40888,"_27148":40888,"_34137":40888,"_26125":40888,"_6270":40888,"_4356":40888,"_12654":40888,"_3997":40888,"_22216":40888,"_29378":40888,"_27185":40888,"_27134":40888,"_32774":40888,"_22306":40888,"_17866":40888,"_3399":40888,"_24296":40888,"_29485":40888,"_30284":40888,"_25616":40888,"_12628":40888,"_31481":40888,"_20131":40888,"_3145":40888,"_5697":40888,"_20674":40888,"_20151":40888,"_35250":40888,"_25941":40888,"_9994":40888,"_8305":40888},"754",{"_11411":40888,"_11313":40888,"_11375":40888,"_28389":40888,"_3132":40888,"_22216":40888,"_23795":40888,"_28362":40888,"_30671":40888,"_6069":40888,"_11263":40888,"_27021":40888,"_12720":40888,"_8144":40888,"_15794":40888,"_20131":40888,"_13780":40888,"_5697":40888,"_10593":40888,"_35813":40888,"_21504":40888,"_8794":40888,"_3209":40888,"_35820":40888,"_36290":40888,"_20718":40888,"_17163":40888,"_7768":40888,"_3997":40888,"_28394":40888,"_31986":40888},"755",{"_11263":40962,"_31481":40962,"_10593":40962,"_28451":40962,"_21504":40962,"_17877":40962,"_28457":40962,"_3132":40962,"_13780":40962,"_3925":40962,"_22216":40962,"_28362":40962,"_30671":40962,"_6069":40962,"_27713":40962,"_7485":40962,"_27355":40962,"_26175":40962,"_4661":40962,"_29378":40962,"_27185":40962,"_27134":40962,"_30253":40962,"_26125":40962,"_32774":40962,"_22291":40962,"_5697":40962,"_20151":40962,"_22387":40962,"_35813":40962,"_19161":40962,"_16906":40962,"_5457":40962,"_24849":40962,"_15363":40962,"_29352":40962,"_34439":40962,"_8794":40962,"_33623":40962,"_4200":40962,"_3399":40962,"_11016":40962,"_22377":40962,"_21496":40962,"_10613":40962,"_15794":40962,"_20131":40962,"_23440":40962,"_19437":40962,"_37136":40962,"_23435":40962,"_21858":40962,"_35768":40962,"_31394":40962,"_25621":40962,"_3174":40962,"_31976":40962,"_28046":40962,"_7853":40962,"_31486":40962,"_29953":40962,"_23795":40962,"_5871":40962,"_15925":40962,"_33743":40962,"_34935":40962,"_3074":40962,"_17034":40962,"_7869":40962,"_34412":40962,"_6214":40962},"756",{"_22306":40825,"_21613":40825,"_23860":40825,"_35813":40825,"_7535":40825,"_2225":40825,"_12628":40825,"_19198":40825,"_7485":40825,"_10372":40825,"_11263":40825,"_32088":40825,"_3002":40825,"_2217":40825,"_15800":40825,"_25662":40825,"_3132":40825,"_22216":40825,"_22657":40825,"_15925":40825,"_18457":40825,"_32139":40825},"757",{"_21496":3013},"758",{"_21496":40853,"_6649":40853,"_7853":40853},"759",{"_24171":3013},"760",{"_13582":3013},"761",{"_10378":3013},"762",{"_10291":40881,"_22216":40881,"_13582":40881,"_3020":40881,"_32088":40881,"_19267":40881,"_6069":40881,"_4455":40881,"_13234":40881,"_21015":40881,"_33882":40881,"_22291":40881,"_6649":40881,"_7853":40881,"_16566":40881,"_21458":40881,"_12628":40881,"_25367":40881,"_30258":40881,"_35813":40881,"_5685":40881,"_29601":40881,"_14157":40881,"_5697":40881},"763",{"_28558":40794,"_9066":40794},"764",{"_10356":3013},"765",{"_10291":40802,"_2225":40802,"_28517":40802,"_3020":40802,"_9061":40802,"_9067":40802,"_3002":40802,"_2217":40802,"_12628":40802,"_19198":40802,"_7485":40802,"_22216":40802,"_32088":40802,"_33882":40802,"_22291":40802,"_6649":40802,"_7853":40802,"_16566":40802,"_21458":40802,"_6069":40802,"_25367":40802},"766",{"_29242":3013},"767",{"_29242":3013},"768",{"_10291":40784,"_2225":40784,"_11263":40784,"_13234":40784,"_8414":40784,"_8420":40784,"_31369":40784,"_3132":40784,"_7485":40784,"_18515":40784,"_18165":40784,"_17163":40784,"_5385":40784,"_22216":40784,"_25132":40784,"_3925":40784,"_31394":40784,"_8144":40784,"_25616":40784},"769",{"_8414":3013},"770",{"_8414":3013},"771",{"_17234":41013,"_22291":41013,"_22216":41013,"_19267":41013,"_10356":41013,"_3132":41013,"_8414":41013,"_3399":41013,"_18165":41013,"_5579":41013,"_5788":41013,"_7535":41013,"_12628":41013,"_33882":41013,"_2225":41013,"_25302":41013,"_6069":41013,"_6718":41013,"_4593":41013,"_8144":41013,"_4455":41013,"_17163":41013,"_5375":41013,"_3978":41013,"_31486":41013,"_2212":41013},"772",{"_7735":3013},"773",{"_7735":3013},"774",{"_17234":41013,"_22291":41013,"_22216":41013,"_19267":41013,"_10356":41013,"_3132":41013,"_2225":41013,"_7735":41013,"_3399":41013,"_18165":41013,"_5579":41013,"_5788":41013,"_7535":41013,"_12628":41013,"_33882":41013,"_25302":41013,"_6069":41013,"_6718":41013,"_4593":41013,"_8144":41013,"_4455":41013,"_17163":41013,"_5375":41013,"_3978":41013,"_31486":41013,"_2212":41013},"775",{"_23235":3013},"776",{"_17448":3013},"777",{"_25568":41013,"_3997":41013,"_22216":41013,"_17102":41013,"_12923":41013,"_13121":41013,"_4592":41013,"_5788":41013,"_5697":41013,"_5053":41013,"_7966":41013,"_3399":41013,"_20718":41013,"_14883":41013,"_17074":41013,"_3":41013,"_25132":41013,"_3925":41013,"_33422":41013,"_14218":41013,"_17456":41013,"_3765":41013,"_15530":41013,"_6069":41013,"_6718":41013,"_33974":41013},"778",{"_25992":3013},"779",{"_26412":3013},"780",{"_25568":40871,"_3997":40871,"_33129":40871,"_12541":40871,"_14167":40871,"_4592":40871,"_5788":40871,"_22465":40871,"_14173":40871,"_25132":40871,"_3925":40871,"_21997":40871,"_33882":40871,"_22216":40871,"_6649":40871,"_7853":40871,"_3132":40871,"_26394":40871,"_5302":40871,"_6069":40871,"_7485":40871,"_30128":40871,"_7593":40871},"781",{"_22306":40834,"_21613":40834,"_23860":40834,"_35813":40834,"_7535":40834,"_2225":40834,"_25662":40834,"_12628":40834,"_3132":40834,"_22662":40834,"_6047":40834,"_34439":40834,"_7485":40834,"_24373":40834,"_27077":40834},"782",{"_21496":3013},"783",{"_21496":40853,"_6649":40853,"_7853":40853},{"_24171":3013},"785",{"_6718":3013},"786",{"_25673":3013},"787",{"_25568":40866,"_3997":40866,"_22216":40866,"_8761":40866,"_12628":40866,"_4592":40866,"_5788":40866,"_5697":40866,"_4808":40866,"_22223":40866,"_5579":40866,"_33882":40866,"_22291":40866,"_6649":40866,"_7853":40866,"_16566":40866,"_12541":40866,"_6707":40866,"_6069":40866,"_25367":40866},"788",{"_23235":3013},"789",{"_17448":3013},"790",{"_25568":40866,"_3997":40866,"_22216":40866,"_17102":40866,"_12923":40866,"_13121":40866,"_4592":40866,"_5788":40866,"_5697":40866,"_5053":40866,"_7966":40866,"_3399":40866,"_20718":40866,"_14883":40866,"_17074":40866,"_3":40866,"_25132":40866,"_3925":40866,"_33422":40866,"_14218":40866},{"_25992":3013},"792",{"_26412":3013},"793",{"_25568":40871,"_3997":40871,"_33129":40871,"_12541":40871,"_14167":40871,"_4592":40871,"_5788":40871,"_22465":40871,"_14173":40871,"_25132":40871,"_3925":40871,"_21997":40871,"_33882":40871,"_22216":40871,"_6649":40871,"_7853":40871,"_3132":40871,"_26394":40871,"_5302":40871,"_6069":40871,"_7485":40871,"_30128":40871,"_7593":40871},"794",{"_20674":40853,"_4932":40853,"_28405":40853},"795",{"_29485":40866,"_5697":40866,"_20674":40866,"_11263":40866,"_31486":40866,"_18266":40866,"_7089":40866,"_3399":40866,"_17196":40866,"_20886":40866,"_32156":40866,"_13775":40866,"_4932":40866,"_28362":40866,"_21781":40866,"_5788":40866,"_19007":40866,"_3997":40866,"_22216":40866,"_13234":40866},"796",{"_33711":40853,"_20886":40853,"_7869":40853},"797",{"_20886":3013},"798",{"_13785":40787,"_22216":40787,"_20886":40787,"_4856":40787},"799",{"_32186":40878,"_7692":40878,"_7535":40878,"_18266":40878,"_20886":40878},{"_18266":3013},"801",{"_4679":40853,"_31486":40853,"_18266":40853},"802",{"_7089":3013},"803",{"_17196":3013},"804",{"_35813":3013},"805",{"_7784":40853,"_29149":40853,"_31875":40853},"806",{"_4932":40794,"_28405":40794},"807",{"_4932":40853,"_14792":40853,"_13755":40853},"808",{"_31434":40827,"_3132":40827,"_21598":40827,"_3925":40827,"_25032":40827,"_7485":40827,"_4932":40827,"_28405":40827},"809",{"_11411":41018,"_11313":41018,"_11320":41018,"_22216":41018,"_33711":41018,"_20886":41018,"_7869":41018,"_29601":41018,"_30522":41018,"_5318":41018,"_27021":41018,"_8144":41018,"_18165":41018,"_11211":41018,"_15171":41018,"_12931":41018,"_33804":41018,"_23419":41018,"_13582":41018,"_8414":41018,"_8420":41018,"_13350":41018,"_26211":41018,"_8383":41018,"_9044":41018,"_26401":41018,"_8851":41018,"_18219":41018,"_3399":41018,"_20718":41018},"810",{"_4455":40827,"_5318":40827,"_20886":40827,"_3765":40827,"_23819":40827,"_7485":40827,"_26051":40827,"_35859":40827},"811",{"_32156":40885,"_22216":40885,"_18266":40885,"_18275":40885,"_8794":40885,"_3209":40885,"_7716":40885,"_5697":40885,"_11257":40885,"_16111":40885},"812",{"_36779":40940,"_22216":40940,"_30149":40940,"_6707":40940,"_7535":40940,"_18266":40940,"_20886":40940,"_27559":40940,"_15794":40940,"_20131":40940,"_13780":40940,"_31486":40940,"_23795":40940,"_3132":40940},"813",{"_11263":40832,"_25070":40832,"_28210":40832,"_7535":40832,"_22216":40832,"_18266":40832,"_20886":40832,"_32195":40832,"_5697":40832,"_18145":40832,"_26217":40832,"_3":40832,"_21743":40832},"814",{"_23814":40787,"_22216":40787,"_7692":40787,"_6707":40787},"815",{"_13775":40885,"_22216":40885,"_28210":40885,"_26379":40885,"_21874":40885,"_29543":40885,"_26025":40885,"_18862":40885,"_3399":40885,"_16126":40885},"816",{"_13775":40885,"_22216":40885,"_28210":40885,"_21863":40885,"_21874":40885,"_34439":40885,"_5697":40885,"_35345":40885,"_12541":40885,"_16132":40885},"817",{"_5":40794,"_17136":40794},"818",{"_30149":40901,"_3399":40901,"_7692":40901,"_15794":40901,"_20131":40901,"_3095":40901,"_27005":40901,"_8794":40901,"_23834":40901,"_31123":40901,"_19631":40901},"819",{"_18266":40901,"_3132":40901,"_22216":40901,"_33183":40901,"_31645":40901,"_5697":40901,"_17461":40901,"_3399":40901,"_9668":40901,"_11263":40901,"_20886":40901},"820",{"_16710":40829,"_18266":40829,"_8204":40829,"_22216":40829,"_6131":40829,"_24728":40829,"_19386":40829},"821",{"_13775":40817,"_22216":40817,"_27569":40817,"_5697":40817,"_21572":40817,"_30258":40817,"_11263":40817,"_13234":40817,"_32200":40817},"822",{"_25609":40794,"_18266":40794},"823",{"_36123":40817,"_18266":40817,"_31481":40817,"_34137":40817,"_27564":40817,"_11263":40817,"_20886":40817,"_32456":40817,"_26191":40817},"824",{"_10041":40796,"_22216":40796,"_18266":40796,"_4679":40796,"_24688":40796,"_7535":40796,"_18847":40796,"_3399":40796,"_10492":40796,"_4685":40796,"_5697":40796,"_9570":40796,"_4673":40796,"_33919":40796,"_35370":40796,"_33516":40796,"_3020":40796,"_31991":40796},"825",{"_22216":40796,"_7716":40796,"_3132":40796,"_2225":40796,"_10462":40796,"_4679":40796,"_8786":40796,"_7825":40796,"_7535":40796,"_14706":40796,"_11263":40796,"_20886":40796,"_3306":40796,"_22377":40796,"_5697":40796,"_20482":40796,"_30258":40796,"_32139":40796},"826",{"_35180":40878,"_22216":40878,"_8786":40878,"_7825":40878,"_31486":40878},"827",{"_8786":40853,"_12948":40853,"_30332":40853},"828",{"_7089":40832,"_29601":40832,"_30868":40832,"_18266":40832,"_25052":40832,"_3150":40832,"_2225":40832,"_3":40832,"_26880":40832,"_31486":40832,"_22216":40832,"_7716":40832,"_26291":40832},"829",{"_24728":40871,"_3399":40871,"_17758":40871,"_22216":40871,"_23795":40871,"_11263":40871,"_23323":40871,"_22153":40871,"_15591":40871,"_8144":40871,"_5697":40871,"_30258":40871,"_33748":40871,"_17877":40871,"_30253":40871,"_29630":40871,"_17742":40871,"_27277":40871,"_26495":40871,"_22265":40871,"_24352":40871,"_4356":40871,"_6270":40871},"830",{"_17196":40812,"_3132":40812,"_3074":40812,"_5829":40812,"_26880":40812,"_8771":40812,"_26120":40812,"_13121":40812,"_6119":40812,"_34439":40812,"_5697":40812,"_21874":40812,"_11263":40812,"_20886":40812,"_30253":40812,"_15794":40812,"_24728":40812,"_22216":40812,"_12720":40812,"_3020":40812,"_12805":40812,"_2225":40812,"_8264":40812,"_13516":40812,"_5111":40812,"_7485":40812,"_33237":40812,"_15925":40812,"_13775":40812,"_4356":40812,"_22111":40812,"_19964":40812,"_15217":40812,"_3399":40812,"_8204":40812,"_30258":40812,"_13243":40812,"_22228":40812,"_4592":40812,"_22153":40812,"_22291":40812,"_16566":40812,"_13755":40812,"_18700":40812,"_23323":40812,"_7271":40812,"_25616":40812,"_36378":40812},"831",{"_26125":40821,"_22216":40821,"_35813":40821,"_6918":40821,"_7535":40821,"_23860":40821},"832",{"_26125":40817,"_22216":40817,"_7784":40817,"_29149":40817,"_31875":40817,"_26175":40817,"_7485":40817,"_3032":40817,"_6918":40817},"833",{"_11411":41107,"_11313":41107,"_11320":41107,"_4356":41107,"_11263":41107,"_25070":41107,"_4932":41107,"_28362":41107,"_8204":41107,"_12720":41107,"_8794":41107,"_23795":41107,"_28405":41107,"_3765":41107,"_23440":41107,"_5697":41107,"_32156":41107,"_22265":41107,"_26242":41107,"_21858":41107,"_7485":41107,"_13729":41107,"_11257":41107,"_16111":41107,"_15800":41107,"_31557":41107,"_3997":41107,"_32456":41107,"_12628":41107,"_22255":41107,"_6047":41107,"_22216":41107,"_25966":41107,"_31369":41107,"_2225":41107,"_12541":41107,"_3132":41107,"_14157":41107,"_3925":41107,"_18099":41107,"_30373":41107},"834",{"_22216":40940,"_4932":40940,"_14792":40940,"_16095":40940,"_23870":40940,"_17163":40940,"_7535":40940,"_4942":40940,"_5788":40940,"_31557":40940,"_3925":40940,"_26379":40940,"_35135":40940,"_19452":40940},"835",{"_26379":3013},"836",{"_35135":3013},"837",{"_26394":3013},"838",{"_12541":40853,"_26394":40853,"_5302":40853},"839",{"_25032":3013},"840",{"_14700":40796,"_28777":40796,"_6069":40796,"_34454":40796,"_3978":40796,"_31486":40796,"_22216":40796,"_12541":40796,"_26394":40796,"_26125":40796,"_31434":40796,"_3132":40796,"_21598":40796,"_3925":40796,"_25032":40796,"_7485":40796,"_4932":40796,"_28405":40796},"841",{"_7459":3013},{"_12541":40853,"_7459":40853,"_3228":40853},"843",{"_5775":3013},"844",{"_22216":40940,"_4942":40940,"_5775":40940,"_19679":40940,"_20508":40940,"_25976":40940,"_25981":40940,"_12805":40940,"_12812":40940,"_26342":40940,"_26319":40940,"_21209":40940,"_9688":40940,"_33433":40940},"845",{"_12923":3013},"846",{"_6363":40787,"_6069":40787,"_22216":40787,"_12923":40787},"847",{"_12923":40794,"_5":40794},"848",{"_5":40827,"_6069":40827,"_22216":40827,"_12923":40827,"_6047":40827,"_7535":40827,"_12805":40827,"_5788":40827},"849",{"_5180":3013},"850",{"_25817":40796,"_10302":40796,"_6069":40796,"_22216":40796,"_12923":40796,"_5180":40796,"_2217":40796,"_3825":40796,"_16318":40796,"_12805":40796,"_12812":40796,"_10041":40796,"_10069":40796,"_2974":40796,"_6047":40796,"_28384":40796,"_7535":40796,"_26319":40796},"851",{"_5242":3013},"852",{"_6449":40871,"_6069":40871,"_22216":40871,"_5775":40871,"_25142":40871,"_8377":40871,"_3020":40871,"_17411":40871,"_5242":40871,"_3132":40871,"_34439":40871,"_7535":40871,"_25981":40871,"_30435":40871,"_25487":40871,"_28384":40871,"_30461":40871,"_12628":40871,"_29601":40871,"_13815":40871,"_8144":40871,"_5021":40871,"_25497":40871},"853",{"_6884":40881,"_5968":40881,"_11313":40881,"_36725":40881,"_36651":40881,"_27350":40881,"_4932":40881,"_28405":40881,"_7535":40881,"_4455":40881,"_5788":40881,"_31404":40881,"_22216":40881,"_12541":40881,"_14157":40881,"_8204":40881,"_18842":40881,"_3132":40881,"_13037":40881,"_29784":40881,"_14663":40881,"_3399":40881,"_12628":40881,"_11263":40881},"854",{"_4932":40825,"_28362":40825,"_3132":40825,"_19007":40825,"_34412":40825,"_28389":40825,"_22216":40825,"_7716":40825,"_23795":40825,"_13755":40825,"_31295":40825,"_7485":40825,"_13729":40825,"_36290":40825,"_32250":40825,"_14822":40825,"_6379":40825,"_8794":40825,"_34888":40825,"_8144":40825,"_5697":40825,"_4996":40825},"855",{"_20809":40802,"_22306":40802,"_13755":40802,"_5697":40802,"_15591":40802,"_22216":40802,"_4932":40802,"_14792":40802,"_7852":40802,"_6473":40802,"_6069":40802,"_30656":40802,"_7841":40802,"_20370":40802,"_7825":40802,"_27051":40802,"_3020":40802,"_10492":40802,"_2225":40802,"_15579":40802,"_28374":40802},"856",{"_22228":40821,"_3765":40821,"_7784":40821,"_30868":40821,"_4843":40821,"_18154":40821},"857",{"_18058":40817,"_22216":40817,"_4871":40817,"_7459":40817,"_3228":40817,"_3132":40817,"_34439":40817,"_3925":40817,"_25032":40817},"858",{"_27412":40827,"_22216":40827,"_12541":40827,"_18842":40827,"_3132":40827,"_34439":40827,"_3925":40827,"_25032":40827},"859",{"_36312":40827,"_22216":40827,"_12541":40827,"_16126":40827,"_3132":40827,"_34439":40827,"_3925":40827,"_25032":40827},"860",{"_23703":40827,"_22216":40827,"_4871":40827,"_7367":40827,"_3132":40827,"_34439":40827,"_3925":40827,"_25032":40827},"861",{"_15579":41196,"_4843":41196,"_18154":41196,"_15794":41196,"_6515":41196,"_6270":41196,"_4356":41196,"_11263":41196,"_12628":41196,"_3290":41196,"_4855":41196,"_7366":41196,"_25817":41196,"_5302":41196,"_5697":41196,"_18145":41196,"_2225":41196,"_25032":41196,"_7853":41196,"_17877":41196,"_4856":41196,"_24751":41196,"_15800":41196,"_22306":41196,"_20898":41196,"_22216":41196,"_35135":41196,"_25462":41196,"_7485":41196,"_3":41196,"_3132":41196,"_34439":41196,"_3925":41196,"_7261":41196,"_6047":41196,"_7929":41196,"_30822":41196,"_8144":41196,"_7019":41196,"_26791":41196,"_22255":41196,"_21874":41196,"_22228":41196},"862",{"_15800":41107,"_4455":41107,"_11263":41107,"_5788":41107,"_3765":41107,"_17359":41107,"_8794":41107,"_13350":41107,"_26763":41107,"_19007":41107,"_22216":41107,"_12628":41107,"_17860":41107,"_7535":41107,"_32535":41107,"_31394":41107,"_2225":41107,"_12541":41107,"_26394":41107,"_13489":41107,"_3642":41107,"_33422":41107,"_12931":41107,"_8144":41107,"_6794":41107,"_23961":41107,"_23357":41107,"_22223":41107,"_15859":41107,"_7869":41107,"_25032":41107,"_3978":41107,"_31486":41107,"_18842":41107,"_3132":41107,"_28384":41107,"_3925":41107,"_17877":41107,"_29784":41107,"_14663":41107,"_30430":41107},"863",{"_17877":40866,"_22228":40866,"_3132":40866,"_33873":40866,"_25032":40866,"_3978":40866,"_31486":40866,"_22216":40866,"_11263":40866,"_12628":40866,"_6862":40866,"_31434":40866,"_25616":40866,"_18190":40866,"_34439":40866,"_7535":40866,"_32535":40866,"_31630":40866,"_8794":40866,"_11016":40866},"864",{"_11411":40859,"_6884":40859,"_36637":40859,"_2225":40859,"_27026":40859,"_12541":40859,"_15794":40859,"_5563":40859,"_21199":40859,"_4843":40859,"_27652":40859,"_5697":40859,"_26394":40859,"_7485":40859,"_22291":40859,"_15925":40859,"_4455":40859,"_4871":40859,"_17943":40859,"_3765":40859,"_21598":40859,"_3925":40859,"_22216":40859,"_25032":40859,"_3399":40859,"_18586":40859,"_14700":40859,"_28777":40859,"_7535":40859,"_32535":40859,"_17877":40859,"_3132":40859,"_31486":40859,"_18842":40859,"_13037":40859,"_29784":40859,"_14663":40859,"_7459":40859,"_12805":40859,"_5775":40859,"_4932":40859,"_14792":40859,"_31481":40859,"_20131":40859},"865",{"_6693":3013},"866",{"_29485":41013,"_11263":41013,"_6693":41013,"_32156":41013,"_27600":41013,"_5697":41013,"_28954":41013,"_34203":41013,"_6069":41013,"_13350":41013,"_31492":41013,"_30195":41013,"_10069":41013,"_18995":41013,"_8794":41013,"_34412":41013,"_34093":41013,"_32088":41013,"_21015":41013,"_22291":41013,"_15794":41013,"_20131":41013,"_3252":41013,"_8277":41013,"_5499":41013,"_13582":41013},"867",{"_29485":40787,"_5697":40787,"_10492":40787,"_6693":40787},"868",{"_29485":40878,"_5697":40878,"_10492":40878,"_6679":40878,"_20556":40878},"869",{"_32535":40853,"_10492":40853,"_15930":40853},"870",{"_4554":42150,"_11263":42150,"_19017":42150,"_23503":42150,"_32003":42150,"_8794":42150,"_29635":42150,"_13350":42150,"_14151":42150,"_23357":42150,"_5697":42150,"_35432":42150,"_21015":42150,"_6069":42150,"_22216":42150,"_32088":42150,"_22306":42150,"_3885":42150,"_20275":42150,"_8144":42150,"_29728":42150,"_27605":42150,"_6379":42150,"_30201":42150,"_34203":42150,"_18382":42150,"_3132":42150,"_22291":42150,"_3925":42150,"_31976":42150,"_3150":42150,"_20718":42150,"_10069":42150,"_18995":42150,"_24891":42150,"_30435":42150,"_2225":42150,"_5775":42150,"_8841":42150,"_5709":42150,"_4975":42150,"_29327":42150,"_29812":42150,"_33974":42150,"_7485":42150,"_3074":42150,"_4593":42150,"_15186":42150,"_35443":42150,"_7013":42150,"_27108":42150,"_35453":42150,"_3765":42150,"_3252":42150},"871",{"_31976":41289,"_29630":41289,"_16834":41289,"_2225":41289,"_33711":41289,"_5":41289,"_6069":41289,"_11263":41289,"_2212":41289,"_15859":41289,"_3074":41289,"_6679":41289,"_31369":41289,"_30108":41289,"_3228":41289,"_22306":41289,"_18382":41289,"_3399":41289,"_8182":41289,"_17721":41289,"_11291":41289,"_27615":41289,"_6693":41289,"_3765":41289,"_34093":41289,"_21015":41289,"_32088":41289,"_6047":41289,"_30039":41289,"_22216":41289,"_9395":41289,"_35448":41289,"_15800":41289,"_5709":41289,"_18435":41289,"_22291":41289,"_29260":41289,"_7019":41289,"_5697":41289,"_22265":41289,"_3672":41289,"_22281":41289,"_26933":41289,"_23608":41289,"_8132":41289,"_32554":41289,"_27355":41289,"_3925":41289,"_7742":41289,"_13350":41289,"_20125":41289,"_14151":41289,"_26495":41289,"_10041":41289,"_10069":41289,"_8858":41289,"_7571":41289,"_22223":41289,"_8414":41289,"_7875":41289,"_24662":41289,"_30822":41289,"_22255":41289,"_22260":41289,"_26983":41289,"_31816":41289,"_5242":41289,"_35443":41289,"_30435":41289,"_15794":41289,"_14241":41289,"_6473":41289,"_21225":41289,"_31492":41289,"_29753":41289,"_18995":41289},"872",{"_6693":41382,"_29630":41382,"_3672":41382,"_3108":41382,"_30435":41382,"_22255":41382,"_24662":41382,"_15800":41382,"_35443":41382,"_3765":41382,"_2225":41382,"_15733":41382,"_19146":41382,"_6069":41382,"_22216":41382,"_11263":41382,"_32088":41382,"_15794":41382,"_8358":41382,"_3020":41382,"_20131":41382,"_23534":41382,"_8204":41382,"_13234":41382,"_31492":41382,"_29753":41382,"_5325":41382,"_25941":41382,"_30582":41382,"_5697":41382,"_25032":41382,"_3132":41382,"_22291":41382,"_20125":41382,"_14151":41382,"_6499":41382,"_10565":41382,"_9937":41382,"_33804":41382,"_28767":41382,"_22281":41382,"_7742":41382,"_7485":41382,"_3914":41382,"_34439":41382,"_21633":41382,"_12628":41382,"_3671":41382,"_3":41382,"_16168":41382,"_13350":41382,"_3074":41382,"_6679":41382,"_31481":41382,"_26125":41382,"_8403":41382,"_10086":41382,"_3925":41382,"_4455":41382,"_26067":41382,"_28553":41382,"_3399":41382,"_31581":41382,"_5242":41382,"_21312":41382,"_21821":41382,"_27021":41382,"_6473":41382,"_21046":41382,"_8820":41382,"_18435":41382,"_27494":41382},"873",{"_26285":40911,"_7019":40911,"_2225":40911,"_11263":40911,"_32088":40911,"_22291":40911,"_34433":40911,"_6693":40911,"_8841":40911,"_3307":40911,"_22693":40911,"_15368":40911,"_5697":40911,"_30258":40911,"_13739":40911,"_7841":40911},"874",{"_7924":40834,"_7485":40834,"_22216":40834,"_13739":40834,"_7825":40834,"_6069":40834,"_32456":40834,"_2212":40834,"_22291":40834,"_3132":40834,"_5697":40834,"_20131":40834,"_3074":40834,"_6679":40834,"_3150":40834},"875",{"_22306":40901,"_22122":40901,"_11263":40901,"_22291":40901,"_22216":40901,"_12628":40901,"_3132":40901,"_5697":40901,"_20131":40901,"_3074":40901,"_6679":40901},"876",{"_26185":40911,"_7485":40911,"_32456":40911,"_12628":40911,"_13739":40911,"_7825":40911,"_4183":40911,"_6679":40911,"_5697":40911,"_22216":40911,"_23839":40911,"_6144":40911,"_6069":40911,"_33129":40911,"_7535":40911,"_32535":40911},"877",{"_6884":41009,"_22306":41009,"_22122":41009,"_32456":41009,"_3672":41009,"_12628":41009,"_22291":41009,"_3132":41009,"_3074":41009,"_6679":41009,"_3399":41009,"_22255":41009,"_27148":41009,"_15800":41009,"_32569":41009,"_8144":41009,"_5697":41009,"_35443":41009,"_4455":41009,"_22216":41009,"_13755":41009,"_33753":41009,"_3150":41009,"_30258":41009,"_11263":41009,"_13234":41009,"_30253":41009,"_15794":41009,"_22260":41009,"_14151":41009,"_3925":41009,"_31861":41009,"_6316":41009,"_7735":41009},"878",{"_37455":41009,"_31404":41009,"_28522":41009,"_3132":41009,"_22216":41009,"_29499":41009,"_3399":41009,"_6707":41009,"_6069":41009,"_6679":41009,"_3925":41009,"_28017":41009,"_7485":41009,"_32456":41009,"_13739":41009,"_7825":41009,"_30253":41009,"_27148":41009,"_26125":41009,"_2225":41009,"_14682":41009,"_6144":41009,"_18280":41009,"_22387":41009,"_31369":41009,"_15794":41009,"_17546":41009,"_14688":41009,"_7875":41009,"_27124":41009,"_5697":41009,"_36437":41009,"_11263":41009,"_25941":41009},"879",{"_6693":40924,"_8132":40924,"_26983":40924,"_3925":40924,"_34093":40924,"_21015":40924,"_6069":40924,"_22216":40924,"_32088":40924,"_27288":40924,"_29274":40924,"_16886":40924,"_31486":40924,"_7742":40924,"_3399":40924,"_29548":40924,"_6047":40924,"_2225":40924,"_27751":40924,"_23383":40924,"_16926":40924,"_19832":40924,"_31123":40924,"_20084":40924,"_14173":40924,"_4661":40924,"_13582":40924,"_6707":40924,"_8414":40924,"_8794":40924,"_31369":40924,"_22255":40924,"_29269":40924,"_4455":40924,"_33711":40924,"_18335":40924,"_3997":40924},"880",{"_8794":42179,"_23795":42179,"_6693":42179,"_14151":42179,"_5697":42179,"_22216":42179,"_8414":42179,"_4661":42179,"_16221":42179,"_13582":42179,"_6707":42179,"_29269":42179,"_6069":42179,"_33711":42179,"_18335":42179,"_22228":42179,"_3765":42179,"_30588":42179,"_4522":42179,"_7742":42179,"_16763":42179,"_3925":42179,"_2225":42179,"_20946":42179,"_19959":42179,"_17086":42179,"_14773":42179,"_25796":42179,"_22306":42179,"_27262":42179,"_30939":42179,"_25075":42179,"_6126":42179,"_8144":42179,"_7799":42179,"_3997":42179,"_15311":42179,"_31581":42179,"_5242":42179,"_3132":42179,"_30512":42179,"_18995":42179,"_31394":42179,"_34687":42179,"_29829":42179,"_24729":42179,"_19167":42179,"_33804":42179,"_25132":42179,"_5473":42179,"_8420":42179,"_20190":42179,"_29279":42179,"_33743":42179,"_7686":42179,"_4592":42179,"_10645":42179,"_22496":42179,"_6473":42179,"_14173":42179,"_20099":42179,"_4985":42179,"_8293":42179,"_4494":42179,"_6613":42179,"_27605":42179,"_30206":42179,"_3399":42179,"_17721":42179,"_6679":42179,"_5325":42179,"_27021":42179,"_28954":42179,"_7945":42179,"_27916":42179,"_25609":42179,"_25936":42179,"_12541":42179,"_21821":42179,"_8408":42179},"881",{"_22306":40888,"_8293":40888,"_3132":40888,"_5001":40888,"_8794":40888,"_3209":40888,"_22216":40888,"_7716":40888,"_32240":40888,"_5697":40888,"_12628":40888,"_13739":40888,"_7825":40888,"_8144":40888,"_16775":40888,"_6693":40888,"_14151":40888,"_19102":40888,"_29210":40888,"_3399":40888,"_7742":40888,"_3997":40888,"_28017":40888,"_6707":40888,"_12805":40888,"_3074":40888,"_6700":40888,"_22352":40888,"_28787":40888,"_25956":40888,"_22291":40888},"882",{"_31414":41009,"_30253":41009,"_31535":41009,"_5697":41009,"_27605":41009,"_22216":41009,"_6473":41009,"_6069":41009,"_13350":41009,"_30258":41009,"_11263":41009,"_32088":41009,"_3020":41009,"_31404":41009,"_16802":41009,"_15733":41009,"_19146":41009,"_3074":41009,"_8204":41009,"_24729":41009,"_24428":41009,"_31486":41009,"_12541":41009,"_8858":41009,"_6693":41009,"_3765":41009,"_2225":41009,"_7123":41009,"_3896":41009,"_15449":41009,"_22693":41009,"_32535":41009,"_10492":41009,"_15930":41009},"883",{"_23242":41045,"_31175":41045,"_7654":41045,"_2225":41045,"_11263":41045,"_32088":41045,"_30506":41045,"_22693":41045,"_23247":41045,"_3132":41045,"_18393":41045,"_30435":41045,"_29829":41045,"_35225":41045,"_7485":41045,"_29058":41045,"_15794":41045,"_29183":41045,"_5697":41045,"_8468":41045,"_8377":41045,"_23911":41045,"_3399":41045,"_19218":41045,"_29490":41045,"_17877":41045,"_22216":41045,"_8776":41045,"_32255":41045,"_3659":41045,"_26185":41045,"_6047":41045,"_6693":41045,"_19213":41045,"_3765":41045,"_15800":41045,"_9083":41045,"_14157":41045,"_13350":41045,"_6069":41045,"_20125":41045,"_25752":41045,"_26125":41045,"_17546":41045,"_18335":41045},"884",{"_21040":40917,"_30849":40917,"_17019":40917,"_26763":40917,"_10492":40917,"_15930":40917,"_15844":40917,"_7535":40917,"_11263":40917,"_3925":40917,"_2225":40917,"_14904":40917,"_6069":40917,"_18963":40917,"_9937":40917,"_6693":40917,"_18145":40917,"_34328":40917,"_19647":40917,"_19974":40917,"_21072":40917,"_15794":40917,"_5563":40917,"_22216":40917,"_25796":40917,"_18335":40917,"_3074":40917,"_6679":40917,"_26155":40917,"_5697":40917,"_19560":40917,"_7869":40917,"_31492":40917,"_28491":40917,"_14615":40917,"_32088":40917},"885",{"_36501":3013},"886",{"_29485":40784,"_5697":40784,"_13775":40784,"_11263":40784,"_36501":40784,"_29947":40784,"_34412":40784,"_12628":40784,"_7025":40784,"_3399":40784,"_32012":40784,"_4141":40784,"_13582":40784,"_7535":40784,"_16654":40784,"_5325":40784,"_7485":40784,"_22703":40784,"_13243":40784},"887",{"_29947":40794,"_36501":40794},"888",{"_4141":40794,"_13582":40794},"889",{"_22216":40787,"_17643":40787,"_6069":40787,"_4141":40787},"890",{"_24254":40794,"_13676":40794},"891",{"_13785":40821,"_22216":40821,"_4141":40821,"_7485":40821,"_11257":40821,"_16111":40821},"892",{"_32535":40853,"_11257":40853,"_16111":40853},"893",{"_30486":40878,"_5473":40878,"_32186":40878,"_22216":40878,"_4141":40878},"894",{"_13991":40878,"_31394":40878,"_34412":40878,"_22216":40878,"_4141":40878},"895",{"_28911":40794,"_17546":40794},"896",{"_27396":40794,"_17546":40794},"897",{"_32544":40878,"_6069":40878,"_8377":40878,"_23921":40878,"_17651":40878},"898",{"_29738":40794,"_17643":40794},"899",{"_26823":40794,"_17643":40794},"900",{"_34412":40829,"_2225":40829,"_34511":40829,"_24357":40829,"_3925":40829,"_22216":40829,"_4141":40829},{"_10462":3013},"902",{"_22306":40908,"_24677":40908,"_7396":40908,"_3074":40908,"_32535":40908,"_6069":40908,"_29485":40908,"_5697":40908,"_10492":40908,"_29947":40908,"_36501":40908,"_22216":40908,"_30722":40908,"_17958":40908,"_3132":40908,"_23503":40908,"_26933":40908,"_7924":40908,"_31976":40908,"_28114":40908,"_25966":40908,"_17086":40908,"_7025":40908,"_3399":40908,"_3150":40908,"_2225":40908,"_6144":40908,"_7535":40908,"_33129":40908,"_7018":40908,"_28807":40908,"_22291":40908,"_7593":40908,"_33851":40908,"_29630":40908,"_4064":40908,"_28922":40908,"_12628":40908},"903",{"_6884":40802,"_22216":40802,"_7716":40802,"_32535":40802,"_27164":40802,"_29485":40802,"_5697":40802,"_13775":40802,"_2225":40802,"_7869":40802,"_31486":40802,"_22347":40802,"_7025":40802,"_6069":40802,"_25966":40802,"_33129":40802,"_3399":40802,"_31976":40802,"_4064":40802,"_28922":40802,"_12628":40802},"904",{"_31394":40917,"_8761":40917,"_22216":40917,"_7869":40917,"_31976":40917,"_3765":40917,"_3145":40917,"_5697":40917,"_7593":40917,"_2225":40917,"_13582":40917,"_6018":40917,"_29630":40917,"_20631":40917,"_6069":40917,"_35448":40917,"_8204":40917,"_34114":40917,"_7025":40917,"_22291":40917,"_13175":40917,"_28922":40917,"_23572":40917,"_3399":40917,"_15800":40917,"_13986":40917,"_7654":40917,"_36501":40917,"_28678":40917,"_4975":40917,"_32535":40917,"_29327":40917,"_22693":40917,"_25966":40917,"_33129":40917,"_23383":40917},"905",{"_5968":40808,"_4141":40808,"_13582":40808,"_16649":40808,"_22216":40808,"_5325":40808,"_6069":40808,"_2225":40808,"_13234":40808,"_11263":40808,"_16747":40808,"_31486":40808,"_8377":40808,"_23921":40808,"_37028":40808,"_3925":40808,"_3132":40808,"_24091":40808,"_5697":40808,"_7063":40808,"_19054":40808,"_16742":40808,"_31369":40808,"_6047":40808,"_9078":40808,"_7485":40808,"_37429":40808,"_13755":40808,"_31394":40808,"_3672":40808,"_17913":40808,"_8513":40808,"_8794":40808},"906",{"_11411":41196,"_6884":41196,"_32456":41196,"_16742":41196,"_5069":41196,"_2225":41196,"_7825":41196,"_31369":41196,"_13576":41196,"_33237":41196,"_3020":41196,"_5697":41196,"_17229":41196,"_31429":41196,"_22291":41196,"_3132":41196,"_4900":41196,"_8794":41196,"_22216":41196,"_4141":41196,"_22306":41196,"_24086":41196,"_15794":41196,"_20131":41196,"_15374":41196,"_27021":41196,"_8377":41196,"_23921":41196,"_4650":41196,"_35255":41196,"_30253":41196,"_6515":41196,"_4140":41196,"_20898":41196,"_7485":41196,"_36520":41196,"_3341":41196,"_18722":41196,"_31645":41196,"_6069":41196,"_10107":41196,"_6357":41196,"_24458":41196},"907",{"_5968":40844,"_22216":40844,"_4141":40844,"_3132":40844,"_24091":40844,"_5697":40844,"_14241":40844,"_5325":40844,"_6069":40844,"_2225":40844,"_13234":40844,"_11263":40844,"_16747":40844,"_22455":40844,"_27051":40844,"_35432":40844,"_21009":40844,"_7485":40844,"_3672":40844,"_31875":40844,"_26845":40844,"_14034":40844,"_18382":40844,"_19679":40844,"_8513":40844,"_16742":40844,"_22703":40844,"_32088":40844},"908",{"_5968":41163,"_11353":41163,"_11327":41163,"_31394":41163,"_22216":41163,"_27051":41163,"_6069":41163,"_35432":41163,"_21015":41163,"_33057":41163,"_32574":41163,"_31645":41163,"_5697":41163,"_20270":41163,"_4141":41163,"_31880":41163,"_14582":41163,"_3132":41163,"_9712":41163,"_13234":41163,"_2225":41163,"_8513":41163,"_20234":41163,"_17913":41163,"_7535":41163,"_32535":41163,"_31486":41163,"_13755":41163,"_16747":41163,"_31260":41163,"_14167":41163,"_8414":41163,"_9688":41163,"_12541":41163,"_8851":41163,"_10706":41163,"_3925":41163,"_6018":41163,"_21009":41163,"_33541":41163,"_8479":41163,"_17086":41163,"_18382":41163,"_24820":41163,"_31369":41163,"_24091":41163,"_3228":41163},"909",{"_10564":40841,"_6069":40841,"_22216":40841,"_13234":40841,"_27051":40841,"_6362":40841,"_21124":40841,"_20131":40841,"_13780":40841,"_4975":40841,"_17334":40841,"_8771":40841,"_7875":40841,"_3672":40841,"_25574":40841,"_19244":40841,"_7716":40841,"_27164":40841,"_14577":40841,"_31645":40841,"_5697":40841,"_28046":40841,"_3399":40841,"_32156":40841,"_4141":40841},{"_36520":40825,"_10086":40825,"_22216":40825,"_5242":40825,"_6069":40825,"_2225":40825,"_8377":40825,"_23921":40825,"_31557":40825,"_5697":40825,"_22127":40825,"_7825":40825,"_4141":40825,"_25080":40825,"_30253":40825,"_29630":40825,"_26763":40825,"_6363":40825,"_23062":40825,"_14577":40825,"_13755":40825,"_3132":40825},"911",{"_11411":40784,"_6884":40784,"_22216":40784,"_4141":40784,"_7825":40784,"_27148":40784,"_13571":40784,"_5697":40784,"_4894":40784,"_16742":40784,"_3020":40784,"_24536":40784,"_8144":40784,"_3074":40784,"_32535":40784,"_15794":40784,"_20131":40784,"_15626":40784,"_31486":40784},"912",{"_3642":40908,"_33546":40908,"_7825":40908,"_3132":40908,"_25347":40908,"_7535":40908,"_22216":40908,"_15546":40908,"_17643":40908,"_6069":40908,"_36520":40908,"_6473":40908,"_4141":40908,"_7841":40908,"_27148":40908,"_33531":40908,"_11263":40908,"_16747":40908,"_13780":40908,"_5697":40908,"_32156":40908,"_33129":40908,"_16742":40908,"_29630":40908,"_16221":40908,"_6783":40908,"_21124":40908,"_15800":40908,"_20131":40908,"_27282":40908,"_6252":40908,"_10961":40908,"_24151":40908,"_7485":40908,"_27396":40908,"_26175":40908,"_31481":40908,"_3845":40908},"913",{"_36486":41107,"_31481":41107,"_12805":41107,"_3074":41107,"_16742":41107,"_6069":41107,"_36520":41107,"_16763":41107,"_22216":41107,"_23795":41107,"_36526":41107,"_31394":41107,"_8144":41107,"_10086":41107,"_6362":41107,"_7485":41107,"_11257":41107,"_16111":41107,"_17482":41107,"_8204":41107,"_3399":41107,"_23403":41107,"_16221":41107,"_25037":41107,"_8794":41107,"_6525":41107,"_13581":41107,"_32969":41107,"_12720":41107,"_8414":41107,"_28653":41107,"_4455":41107,"_7742":41107,"_8371":41107,"_5697":41107,"_20084":41107,"_13582":41107,"_3672":41107,"_15930":41107,"_30496":41107,"_17953":41107},"914",{"_5968":40940,"_31976":40940,"_13980":40940,"_3074":40940,"_4092":40940,"_23629":40940,"_7869":40940,"_31369":40940,"_13970":40940,"_6069":40940,"_11263":40940,"_16747":40940,"_3399":40940,"_4141":40940},"915",{"_31394":40827,"_22216":40827,"_4141":40827,"_27438":40827,"_7716":40827,"_18305":40827,"_16834":40827,"_8794":40827},"916",{"_25837":40911,"_15037":40911,"_22228":40911,"_3132":40911,"_2225":40911,"_8771":40911,"_5473":40911,"_31369":40911,"_32456":40911,"_18190":40911,"_22291":40911,"_15769":40911,"_19076":40911,"_25424":40911,"_8794":40911,"_14577":40911},"917",{"_28911":40784,"_6069":40784,"_22216":40784,"_7869":40784,"_3132":40784,"_32125":40784,"_8794":40784,"_4141":40784,"_29490":40784,"_31394":40784,"_8371":40784,"_5697":40784,"_20084":40784,"_22306":40784,"_18305":40784,"_14349":40784,"_32574":40784,"_7535":40784,"_32535":40784},"918",{"_25080":40796,"_31976":40796,"_29630":40796,"_2225":40796,"_8414":40796,"_3399":40796,"_7735":40796,"_8761":40796,"_7485":40796,"_22216":40796,"_31208":40796,"_13165":40796,"_7869":40796,"_31481":40796,"_28648":40796,"_16221":40796,"_28911":40796,"_31394":40796},"919",{"_22216":40911,"_8414":40911,"_8371":40911,"_30822":40911,"_4141":40911,"_24751":40911,"_15800":40911,"_23896":40911,"_8513":40911,"_31481":40911,"_4894":40911,"_7735":40911,"_5697":40911,"_30424":40911,"_2225":40911,"_33711":40911},"920",{"_2225":40836,"_7735":40836,"_8371":40836,"_30822":40836,"_22216":40836,"_4141":40836,"_24751":40836,"_15800":40836,"_23896":40836,"_8513":40836,"_31481":40836,"_4894":40836,"_8414":40836,"_5697":40836,"_20747":40836,"_7869":40836,"_7571":40836},"921",{"_14349":40853,"_6069":40853,"_18515":40853},"922",{"_18515":40911,"_15794":40911,"_20131":40911,"_28663":40911,"_31394":40911,"_21199":40911,"_8383":40911,"_6171":40911,"_7485":40911,"_22216":40911,"_7869":40911,"_4975":40911,"_23383":40911,"_22757":40911,"_7535":40911,"_32535":40911},"923",{"_25080":40832,"_31976":40832,"_29630":40832,"_2225":40832,"_8414":40832,"_29454":40832,"_3399":40832,"_7735":40832,"_29460":40832,"_7485":40832,"_22216":40832,"_31208":40832,"_13165":40832},"924",{"_23143":40940,"_13138":40940,"_36232":40940,"_29453":40940,"_8371":40940,"_3399":40940,"_8728":40940,"_21593":40940,"_6499":40940,"_34687":40940,"_4887":40940,"_8204":40940,"_22216":40940,"_4141":40940},"925",{"_23148":40815,"_13138":40815,"_36244":40815,"_8728":40815,"_30430":40815,"_2225":40815,"_33711":40815,"_8414":40815,"_29459":40815,"_3399":40815,"_25626":40815,"_33444":40815},"926",{"_23153":40878,"_13138":40878,"_36249":40878,"_29459":40878,"_8371":40878},"927",{"_23158":40817,"_13138":40817,"_36249":40817,"_29454":40817,"_9631":40817,"_3399":40817,"_25626":40817,"_8414":40817,"_8420":40817},"928",{"_23163":40832,"_13138":40832,"_36254":40832,"_29454":40832,"_30430":40832,"_22216":40832,"_33711":40832,"_8414":40832,"_29453":40832,"_34687":40832,"_4887":40832,"_8204":40832,"_4141":40832},"929",{"_7485":40815,"_22306":40815,"_15925":40815,"_22216":40815,"_7869":40815,"_28653":40815,"_16221":40815,"_18515":40815,"_5473":40815,"_29453":40815,"_17349":40815,"_8365":40815},"930",{"_29490":41144,"_14349":41144,"_6069":41144,"_18515":41144,"_15794":41144,"_20131":41144,"_18654":41144,"_8794":41144,"_20285":41144,"_22216":41144,"_4141":41144,"_16079":41144,"_10481":41144,"_5697":41144,"_29063":41144,"_13138":41144,"_31394":41144,"_10457":41144,"_4975":41144,"_23163":41144,"_36249":41144,"_29454":41144,"_31481":41144,"_15800":41144,"_15025":41144,"_8414":41144,"_8420":41144,"_30435":41144,"_31861":41144,"_4894":41144,"_29963":41144,"_31374":41144,"_29460":41144,"_3132":41144,"_25752":41144,"_37028":41144,"_5504":41144,"_22306":41144,"_21810":41144,"_28911":41144,"_7535":41144,"_27396":41144},"931",{"_28114":40853,"_31275":40853,"_17546":40853},"932",{"_31976":40817,"_13980":40817,"_22216":40817,"_4141":40817,"_27438":40817,"_7716":40817,"_18305":40817,"_16834":40817,"_8794":40817},"933",{"_5156":40940,"_22228":40940,"_3132":40940,"_2225":40940,"_8771":40940,"_5473":40940,"_31369":40940,"_26763":40940,"_14577":40940,"_18190":40940,"_33856":40940,"_25424":40940,"_8794":40940,"_3642":40940},"934",{"_22216":40817,"_24463":40817,"_4141":40817,"_7396":40817,"_6379":40817,"_21124":40817,"_20131":40817,"_21230":40817,"_33037":40817},"935",{"_25080":40832,"_31976":40832,"_29630":40832,"_2225":40832,"_8414":40832,"_29454":40832,"_3399":40832,"_7735":40832,"_29460":40832,"_7485":40832,"_22216":40832,"_31208":40832,"_13165":40832},"936",{"_4975":40866,"_3642":40866,"_8771":40866,"_22216":40866,"_4141":40866,"_31481":40866,"_15800":40866,"_4894":40866,"_31123":40866,"_29454":40866,"_3399":40866,"_29460":40866,"_27005":40866,"_32471":40866,"_17877":40866,"_33129":40866,"_8377":40866,"_23921":40866,"_25429":40866,"_3672":40866},"937",{"_6884":40836,"_33552":40836,"_7535":40836,"_3642":40836,"_22693":40836,"_4141":40836,"_7841":40836,"_22250":40836,"_20508":40836,"_21124":40836,"_15800":40836,"_31123":40836,"_20131":40836,"_4975":40836,"_22216":40836,"_27355":40836,"_8771":40836},"938",{"_28114":40784,"_31275":40784,"_3132":40784,"_32574":40784,"_31394":40784,"_22216":40784,"_4141":40784,"_8371":40784,"_5697":40784,"_20084":40784,"_22306":40784,"_18305":40784,"_24592":40784,"_8414":40784,"_8420":40784,"_31369":40784,"_15794":40784,"_29763":40784,"_4975":40784},"939",{"_7869":40794,"_25609":40794},"940",{"_2225":40821,"_8365":40821,"_16742":40821,"_9636":40821,"_8204":40821,"_8377":40821},"941",{"_2225":40825,"_8377":40825,"_23926":40825,"_10995":40825,"_3132":40825,"_5697":40825,"_4894":40825,"_22216":40825,"_36442":40825,"_11263":40825,"_16742":40825,"_31429":40825,"_8144":40825,"_29601":40825,"_11200":40825,"_20747":40825,"_7869":40825,"_7571":40825,"_31492":40825,"_31826":40825,"_7535":40825,"_8513":40825},"942",{"_6884":41144,"_25080":41144,"_22693":41144,"_24342":41144,"_29733":41144,"_33974":41144,"_30217":41144,"_3399":41144,"_30222":41144,"_21464":41144,"_11263":41144,"_16747":41144,"_13060":41144,"_13065":41144,"_9207":41144,"_7654":41144,"_2225":41144,"_13234":41144,"_24357":41144,"_5568":41144,"_5697":41144,"_31123":41144,"_15794":41144,"_23880":41144,"_31429":41144,"_33129":41144,"_3132":41144,"_19763":41144,"_3997":41144,"_31394":41144,"_15800":41144,"_34714":41144,"_8513":41144,"_22216":41144,"_22260":41144,"_34960":41144,"_4141":41144,"_7825":41144,"_4910":41144,"_20747":41144,"_7869":41144,"_7571":41144},"943",{"_6884":41045,"_25080":41045,"_22693":41045,"_24342":41045,"_29733":41045,"_33974":41045,"_30217":41045,"_3399":41045,"_30222":41045,"_21464":41045,"_11263":41045,"_16747":41045,"_13060":41045,"_13065":41045,"_9207":41045,"_25946":41045,"_6886":41045,"_3997":41045,"_6891":41045,"_23896":41045,"_31429":41045,"_22216":41045,"_3672":41045,"_2212":41045,"_3132":41045,"_4624":41045,"_7535":41045,"_32535":41045,"_8794":41045,"_19810":41045,"_31394":41045,"_15799":41045,"_19800":41045,"_8144":41045,"_17928":41045,"_3925":41045,"_8513":41045,"_34960":41045,"_4141":41045,"_7825":41045,"_6069":41045,"_5697":41045,"_4910":41045,"_20747":41045,"_7571":41045},"944",{"_11346":40808,"_36123":40808,"_11445":40808,"_7485":40808,"_20255":40808,"_36656":40808,"_32911":40808,"_25472":40808,"_24362":40808,"_3765":40808,"_20860":40808,"_34687":40808,"_35463":40808,"_2225":40808,"_34511":40808,"_24357":40808,"_13587":40808,"_22216":40808,"_8820":40808,"_4141":40808,"_7825":40808,"_15794":40808,"_25956":40808,"_3925":40808,"_31394":40808,"_3132":40808,"_14157":40808,"_4905":40808,"_8414":40808,"_5697":40808,"_20747":40808,"_7869":40808,"_7571":40808},"945",{"_11320":40827,"_22216":40827,"_7716":40827,"_25878":40827,"_24548":40827,"_29485":40827,"_22306":40827,"_31931":40827},"946",{"_16813":40815,"_2225":40815,"_34511":40815,"_24357":40815,"_34290":40815,"_4141":40815,"_22216":40815,"_6363":40815,"_35463":40815,"_31481":40815,"_20131":40815,"_5061":40815},"947",{"_6884":40885,"_12805":40885,"_2225":40885,"_7825":40885,"_13587":40885,"_34687":40885,"_35463":40885,"_4141":40885,"_34290":40885,"_20561":40885},"948",{"_22216":40901,"_6363":40901,"_35463":40901,"_4141":40901,"_20561":40901,"_3132":40901,"_34137":40901,"_5061":40901,"_5697":40901,"_11263":40901,"_16747":40901},"949",{"_12805":40829,"_2225":40829,"_11257":40829,"_16111":40829,"_7875":40829,"_22216":40829,"_7716":40829},"950",{"_33882":40917,"_28114":40917,"_31275":40917,"_31481":40917,"_15800":40917,"_6171":40917,"_30078":40917,"_30435":40917,"_22228":40917,"_3132":40917,"_6047":40917,"_2225":40917,"_27026":40917,"_34511":40917,"_24357":40917,"_20561":40917,"_21124":40917,"_20131":40917,"_27282":40917,"_8794":40917,"_21199":40917,"_16747":40917,"_3659":40917,"_11263":40917,"_16742":40917,"_27148":40917,"_13780":40917,"_31486":40917,"_4141":40917,"_26125":40917,"_22216":40917,"_27396":40917,"_17546":40917,"_26175":40917,"_7535":40917,"_23860":40917},"951",{"_25609":40817,"_22216":40817,"_13234":40817,"_8144":40817,"_27148":40817,"_7593":40817,"_2225":40817,"_13582":40817,"_5375":40817},"952",{"_11411":40825,"_21987":40825,"_22216":40825,"_16742":40825,"_22291":40825,"_3132":40825,"_33237":40825,"_15800":40825,"_5568":40825,"_5697":40825,"_2225":40825,"_34511":40825,"_24357":40825,"_3020":40825,"_31451":40825,"_20561":40825,"_7825":40825,"_13576":40825,"_22693":40825,"_27631":40825,"_3765":40825,"_32574":40825},"953",{"_2225":40834,"_8414":40834,"_8377":40834,"_6177":40834,"_3399":40834,"_22216":40834,"_9078":40834,"_16742":40834,"_15042":40834,"_8420":40834,"_3997":40834,"_16221":40834,"_6783":40834,"_35370":40834,"_4141":40834},"954",{"_22216":40821,"_13582":40821,"_3132":40821,"_20099":40821,"_35370":40821,"_4141":40821},"955",{"_11327":40859,"_9011":40859,"_22216":40859,"_34511":40859,"_24357":40859,"_35463":40859,"_4141":40859,"_20561":40859,"_30430":40859,"_34731":40859,"_5133":40859,"_5697":40859,"_15546":40859,"_17643":40859,"_31399":40859,"_8414":40859,"_36447":40859,"_3399":40859,"_7825":40859,"_3132":40859,"_21385":40859,"_22445":40859,"_3074":40859,"_13798":40859,"_9476":40859,"_8460":40859,"_10329":40859,"_25873":40859,"_31481":40859,"_5242":40859,"_7485":40859,"_33237":40859,"_7869":40859,"_30517":40859,"_34741":40859,"_9600":40859,"_8204":40859,"_2225":40859,"_8377":40859,"_3020":40859,"_28658":40859,"_13582":40859,"_25941":40859,"_16961":40859},"956",{"_31486":40834,"_22223":40834,"_25878":40834,"_30253":40834,"_15794":40834,"_6674":40834,"_3399":40834,"_18910":40834,"_29485":40834,"_22216":40834,"_4141":40834,"_31931":40834,"_2225":40834,"_22703":40834,"_7869":40834},"957",{"_36123":41144,"_35624":41144,"_35640":41144,"_36678":41144,"_36662":41144,"_36690":41144,"_36695":41144,"_23112":41144,"_24564":41144,"_15400":41144,"_3399":41144,"_27345":41144,"_22635":41144,"_34832":41144,"_8377":41144,"_23931":41144,"_7535":41144,"_4092":41144,"_27813":41144,"_18755":41144,"_12720":41144,"_7485":41144,"_18245":41144,"_6069":41144,"_22216":41144,"_22191":41144,"_3693":41144,"_5296":41144,"_27967":41144,"_3997":41144,"_18847":41144,"_23629":41144,"_14857":41144,"_19773":41144,"_37565":41144,"_3996":41144,"_20249":41144,"_33711":41144,"_30305":41144,"_24537":41144,"_34491":41144,"_24810":41144},"958",{"_24065":40794,"_6918":40794},"959",{"_11263":40834,"_29601":40834,"_31123":40834,"_34279":40834,"_3399":40834,"_30626":40834,"_36542":40834,"_30253":40834,"_15794":40834,"_10492":40834,"_22216":40834,"_12682":40834,"_13304":40834,"_5697":40834,"_26249":40834},"960",{"_26285":40794,"_36542":40794},"961",{"_28807":40794,"_36542":40794},"962",{"_23998":40794,"_36542":40794},"963",{"_11263":40836,"_18831":40836,"_31780":40836,"_21046":40836,"_17877":40836,"_34454":40836,"_33052":40836,"_22216":40836,"_24065":40836,"_4081":40836,"_5697":40836,"_22265":40836,"_3765":40836,"_18826":40836,"_7485":40836,"_14792":40836,"_6069":40836},"964",{"_33939":40836,"_26791":40836,"_22216":40836,"_34279":40836,"_24065":40836,"_20946":40836,"_3132":40836,"_14218":40836,"_31369":40836,"_28828":40836,"_6473":40836,"_6069":40836,"_15530":40836,"_34687":40836,"_6363":40836,"_16571":40836,"_17860":40836},"965",{"_22216":40901,"_5400":40901,"_14682":40901,"_7396":40901,"_30253":40901,"_2225":40901,"_6144":40901,"_5871":40901,"_6069":40901,"_34412":40901,"_36542":40901},"966",{"_30253":40984,"_15794":40984,"_10492":40984,"_26330":40984,"_5697":40984,"_26242":40984,"_2225":40984,"_24065":40984,"_3997":40984,"_11263":40984,"_2212":40984,"_8144":40984,"_29601":40984,"_3074":40984,"_5871":40984,"_6069":40984,"_26285":40984,"_31486":40984,"_36716":40984,"_7535":40984,"_34279":40984,"_14218":40984,"_3399":40984,"_22551":40984,"_30626":40984,"_3":40984,"_29367":40984},"967",{"_22216":40823,"_11263":40823,"_24065":40823,"_3132":40823,"_25462":40823,"_7485":40823,"_17860":40823,"_5697":40823,"_23435":40823,"_3672":40823,"_19124":40823,"_8204":40823,"_15379":40823,"_36542":40823,"_34454":40823,"_15794":40823,"_26242":40823,"_5180":40823,"_7535":40823,"_4593":40823,"_22291":40823,"_6047":40823,"_3042":40823,"_3765":40823,"_3145":40823,"_10041":40823,"_3399":40823,"_10069":40823,"_8144":40823},"968",{"_17877":40901,"_22216":40901,"_24065":40901,"_24761":40901,"_32829":40901,"_7485":40901,"_28017":40901,"_6363":40901,"_12805":40901,"_6252":40901,"_34955":40901},"969",{"_22216":40940,"_27699":40940,"_6069":40940,"_24065":40940,"_34454":40940,"_26242":40940,"_3132":40940,"_4455":40940,"_33974":40940,"_34687":40940,"_6363":40940,"_28017":40940,"_16571":40940,"_17860":40940},"970",{"_7485":41205,"_6297":41205,"_5697":41205,"_26973":41205,"_22216":41205,"_15905":41205,"_6069":41205,"_24065":41205,"_15546":41205,"_23347":41205,"_29953":41205,"_25857":41205,"_2225":41205,"_15025":41205,"_21910":41205,"_6363":41205,"_8204":41205,"_11016":41205,"_29337":41205,"_2212":41205,"_15794":41205,"_20131":41205,"_26242":41205,"_6047":41205,"_3659":41205,"_27071":41205,"_31394":41205,"_26285":41205,"_31369":41205,"_16221":41205,"_19267":41205,"_3020":41205,"_15523":41205,"_4630":41205,"_29601":41205,"_26330":41205,"_31481":41205,"_10026":41205,"_3399":41205,"_22117":41205,"_28017":41205,"_34454":41205,"_3306":41205,"_4544":41205,"_36542":41205,"_12812":41205,"_20767":41205,"_20772":41205,"_5133":41205,"_13266":41205,"_16226":41205},"971",{"_15160":40911,"_31486":40911,"_22216":40911,"_15471":40911,"_24065":40911,"_31481":40911,"_29630":40911,"_2225":40911,"_30512":40911,"_17588":40911,"_33582":40911,"_30506":40911,"_23383":40911,"_4249":40911,"_7535":40911,"_32535":40911},"972",{"_34454":40817,"_15799":40817,"_26242":40817,"_22216":40817,"_24065":40817,"_3997":40817,"_6363":40817,"_34687":40817,"_11263":40817},"973",{"_22216":40871,"_24065":40871,"_25070":40871,"_26811":40871,"_3399":40871,"_29728":40871,"_36542":40871,"_3307":40871,"_28405":40871,"_2225":40871,"_31785":40871,"_31394":40871,"_33067":40871,"_30822":40871,"_4592":40871,"_22445":40871,"_36536":40871,"_26285":40871,"_3997":40871,"_27355":40871,"_6363":40871,"_29601":40871,"_18888":40871},"974",{"_30253":40901,"_15794":40901,"_10492":40901,"_28818":40901,"_5697":40901,"_28777":40901,"_2225":40901,"_24065":40901,"_3997":40901,"_11263":40901,"_2212":40901},"975",{"_30253":40901,"_15794":40901,"_10492":40901,"_24064":40901,"_5697":40901,"_12812":40901,"_24065":40901,"_3997":40901,"_2225":40901,"_11263":40901,"_2212":40901},"976",{"_26686":40787,"_3399":40787,"_9259":40787,"_6918":40787},"977",{"_29485":40836,"_5697":40836,"_10492":40836,"_11291":40836,"_26686":40836,"_3399":40836,"_9259":40836,"_4340":40836,"_9600":40836,"_2225":40836,"_13234":40836,"_8204":40836,"_13582":40836,"_14349":40836,"_3020":40836,"_16041":40836,"_8377":40836},"978",{"_26686":3013},"979",{"_9259":3013},"980",{"_5968":42150,"_11263":42150,"_3132":42150,"_24091":42150,"_5697":42150,"_31502":42150,"_20234":42150,"_8383":42150,"_2225":42150,"_13234":42150,"_15794":42150,"_4742":42150,"_9600":42150,"_8204":42150,"_22143":42150,"_25132":42150,"_3925":42150,"_10921":42150,"_3399":42150,"_22619":42150,"_7019":42150,"_34381":42150,"_19070":42150,"_7535":42150,"_6069":42150,"_3207":42150,"_21015":42150,"_24617":42150,"_29733":42150,"_3020":42150,"_23419":42150,"_14610":42150,"_31394":42150,"_21009":42150,"_19076":42150,"_8371":42150,"_8144":42150,"_28653":42150,"_5053":42150,"_22216":42150,"_17877":42150,"_20718":42150,"_22281":42150,"_23467":42150,"_13582":42150,"_6018":42150,"_28663":42150,"_15799":42150,"_10196":42150,"_14034":42150,"_22233":42150,"_13625":42150,"_5074":42150,"_34960":42150},"981",{"_5697":40940,"_9600":40940,"_8204":40940,"_25132":40940,"_23461":40940,"_8383":40940,"_11263":40940,"_18165":40940,"_26686":40940,"_3399":40940,"_9259":40940,"_8155":40940,"_2225":40940,"_13234":40940},"982",{"_26379":40821,"_15421":40821,"_6069":40821,"_26686":40821,"_3399":40821,"_9259":40821},"983",{"_22255":40817,"_5813":40817,"_3997":40817,"_22216":40817,"_14157":40817,"_12628":40817,"_35370":40817,"_2974":40817,"_4340":40817},"984",{"_22255":40885,"_3765":40885,"_11088":40885,"_5697":40885,"_18446":40885,"_22216":40885,"_12628":40885,"_8204":40885,"_30517":40885,"_6624":40885},"985",{"_22255":40784,"_8815":40784,"_4843":40784,"_3399":40784,"_4887":40784,"_3997":40784,"_22216":40784,"_11016":40784,"_6363":40784,"_31486":40784,"_4455":40784,"_19054":40784,"_25057":40784,"_3290":40784,"_27652":40784,"_3765":40784,"_23688":40784,"_36307":40784,"_7459":40784},"986",{"_9636":40808,"_2225":40808,"_13234":40808,"_33748":40808,"_26686":40808,"_8204":40808,"_11263":40808,"_34454":40808,"_15794":40808,"_19038":40808,"_21588":40808,"_26698":40808,"_28906":40808,"_12628":40808,"_31369":40808,"_29601":40808,"_22216":40808,"_29880":40808,"_13138":40808,"_3399":40808,"_25796":40808,"_6379":40808,"_3":40808,"_5697":40808,"_28517":40808,"_3020":40808,"_32911":40808,"_25472":40808,"_7825":40808,"_7869":40808,"_2217":40808,"_3825":40808,"_28323":40808},"987",{"_9270":40881,"_2225":40881,"_13234":40881,"_33748":40881,"_27026":40881,"_26686":40881,"_3925":40881,"_17374":40881,"_25796":40881,"_9259":40881,"_15794":40881,"_20131":40881,"_34439":40881,"_7535":40881,"_9636":40881,"_5473":40881,"_13582":40881,"_14349":40881,"_3020":40881,"_30883":40881,"_31280":40881,"_31486":40881,"_26160":40881,"_3":40881},"988",{"_4455":40901,"_21015":40901,"_27148":40901,"_9259":40901,"_34412":40901,"_22216":40901,"_27355":40901,"_26686":40901,"_9652":40901,"_25878":40901,"_3765":40901},"989",{"_21588":40940,"_2225":40940,"_26686":40940,"_6069":40940,"_22216":40940,"_29063":40940,"_13121":40940,"_13165":40940,"_34412":40940,"_2974":40940,"_12628":40940,"_14682":40940,"_17877":40940,"_4261":40940},"990",{"_7535":40853,"_33129":40853,"_12628":40853},"991",{"_20747":40825,"_22216":40825,"_7841":40825,"_7485":40825,"_23206":40825,"_3399":40825,"_23223":40825,"_5697":40825,"_2225":40825,"_23383":40825,"_28568":40825,"_18644":40825,"_9265":40825,"_13121":40825,"_8204":40825,"_30517":40825,"_6602":40825,"_31394":40825,"_12628":40825,"_9233":40825,"_5473":40825,"_9259":40825},"992",{"_9259":40821,"_22216":40821,"_12628":40821,"_34412":40821,"_2974":40821,"_14682":40821},"993",{"_22533":3013},"994",{"_10462":40784,"_7535":40784,"_22216":40784,"_27543":40784,"_3399":40784,"_22533":40784,"_30844":40784,"_31486":40784,"_11263":40784,"_16556":40784,"_12628":40784,"_20170":40784,"_26686":40784,"_21678":40784,"_14792":40784,"_34541":40784,"_30593":40784,"_22028":40784,"_8242":40784},"995",{"_27543":3013},"996",{"_12958":40794,"_8589":40794},"997",{"_13037":40794,"_8589":40794},"998",{"_13070":40794,"_8589":40794},"999",{"_13048":40794,"_8589":40794},{"_13020":40794,"_8589":40794},"1001",{"_12977":40794,"_8589":40794},"1002",{"_12984":40794,"_8589":40794},"1003",{"_12991":40794,"_8589":40794},"1004",{"_28578":40794,"_26698":40794},"1005",{"_25057":40853,"_26686":40853,"_7610":40853},"1006",{"_8761":40853,"_22216":40853,"_22528":40853},"1007",{"_16870":40794,"_10097":40794},"1008",{"_30593":3013},"1009",{"_30337":3013},"1010",{"_13077":3013},"1011",{"_22028":3013},"1012",{"_8507":40853,"_17498":40853,"_8233":40853},"1013",{"_30631":3013},"1014",{"_35848":40794,"_8906":40794},"1015",{"_20151":40878,"_22216":40878,"_11263":40878,"_12628":40878,"_18190":40878},"1016",{"_22216":40888,"_25558":40888,"_14682":40888,"_33380":40888,"_2225":40888,"_12541":40888,"_14167":40888,"_5697":40888,"_32959":40888,"_23758":40888,"_14688":40888,"_31394":40888,"_11263":40888,"_13234":40888,"_3132":40888,"_25616":40888,"_7485":40888,"_23001":40888,"_10097":40888,"_8794":40888,"_6836":40888,"_13393":40888,"_8204":40888,"_11257":40888,"_16111":40888,"_3183":40888,"_28210":40888,"_13755":40888,"_21124":40888,"_20131":40888,"_18170":40888},"1017",{"_26125":40853,"_11263":40853,"_13331":40853},"1018",{"_23265":40827,"_32139":40827,"_35205":40827,"_7535":40827,"_22216":40827,"_11263":40827,"_12628":40827,"_26379":40827},"1019",{"_12764":40829,"_22216":40829,"_23347":40829,"_31404":40829,"_28405":40829,"_3765":40829,"_25462":40829},"1020",{"_13283":40829,"_7019":40829,"_6214":40829,"_26698":40829,"_3399":40829,"_21678":40829,"_28405":40829},"1021",{"_24602":40885,"_3399":40885,"_9600":40885,"_21678":40885,"_14792":40885,"_7841":40885,"_31486":40885,"_31228":40885,"_15744":40885,"_32235":40885},"1022",{"_22216":40784,"_23795":40784,"_30486":40784,"_3132":40784,"_27386":40784,"_8144":40784,"_24612":40784,"_32235":40784,"_6069":40784,"_7401":40784,"_21678":40784,"_14792":40784,"_7825":40784,"_5697":40784,"_27579":40784,"_27355":40784,"_3925":40784,"_37126":40784,"_37208":40784},"1023",{"_7485":41144,"_9605":41144,"_10097":41144,"_37155":41144,"_37232":41144,"_22216":41144,"_6322":41144,"_7825":41144,"_3132":41144,"_29378":41144,"_34790":41144,"_3399":41144,"_4455":41144,"_21688":41144,"_3765":41144,"_14484":41144,"_5697":41144,"_2225":41144,"_33711":41144,"_31486":41144,"_8034":41144,"_25367":41144,"_15744":41144,"_20508":41144,"_9849":41144,"_17877":41144,"_15915":41144,"_35135":41144,"_24751":41144,"_15800":41144,"_20482":41144,"_34439":41144,"_8794":41144,"_23795":41144,"_22528":41144,"_16870":41144,"_4146":41144,"_7535":41144,"_13820":41144,"_3997":41144,"_33129":41144,"_33211":41144},{"_30320":40827,"_10069":40827,"_22216":40827,"_9849":40827,"_15744":40827,"_5697":40827,"_33711":40827,"_7825":40827},"1025",{"_33873":40821,"_14474":40821,"_22216":40821,"_6322":40821,"_15744":40821,"_35135":40821},"1026",{"_5405":40834,"_22216":40834,"_5775":40834,"_8034":40834,"_7825":40834,"_31481":40834,"_15800":40834,"_20131":40834,"_23961":40834,"_3399":40834,"_20125":40834,"_7485":40834,"_2225":40834,"_29818":40834,"_13165":40834},"1027",{"_10492":40784,"_37166":40784,"_37237":40784,"_5697":40784,"_18815":40784,"_4455":40784,"_9678":40784,"_15800":40784,"_3307":40784,"_31228":40784,"_6031":40784,"_37280":40784,"_37243":40784,"_8019":40784,"_15744":40784,"_33216":40784,"_4742":40784,"_31492":40784,"_18285":40784},"1028",{"_24602":40815,"_2225":40815,"_26686":40815,"_7825":40815,"_5697":40815,"_25894":40815,"_27169":40815,"_23870":40815,"_17163":40815,"_7535":40815,"_33129":40815,"_12923":40815},"1029",{"_9828":40815,"_15217":40815,"_3399":40815,"_23650":40815,"_15523":40815,"_14218":40815,"_3":40815,"_27051":40815,"_7535":40815,"_2225":40815,"_26389":40815,"_2212":40815},"1030",{"_14973":41009,"_22693":41009,"_26698":41009,"_31486":41009,"_13770":41009,"_22377":41009,"_3399":41009,"_7887":41009,"_6424":41009,"_22216":41009,"_24071":41009,"_31369":41009,"_12931":41009,"_32022":41009,"_3252":41009,"_34971":41009,"_3020":41009,"_23961":41009,"_34444":41009,"_7535":41009,"_6143":41009,"_13965":41009,"_15481":41009,"_3":41009,"_21920":41009,"_3711":41009,"_6047":41009,"_19070":41009,"_33974":41009,"_3765":41009,"_10259":41009,"_26401":41009,"_33422":41009,"_18073":41009},"1031",{"_23092":40794,"_19244":40794},"1032",{"_37248":40817,"_22371":40817,"_7535":40817,"_6473":40817,"_6069":40817,"_24183":40817,"_33974":40817,"_3252":40817,"_9038":40817},"1033",{"_37253":40821,"_22371":40821,"_7535":40821,"_30626":40821,"_3252":40821,"_9038":40821},"1034",{"_26698":40815,"_3765":40815,"_25462":40815,"_7485":40815,"_22216":40815,"_11263":40815,"_3":40815,"_23347":40815,"_13780":40815,"_13729":40815,"_11257":40815,"_16111":40815},"1035",{"_34899":40784,"_26698":40784,"_3399":40784,"_15122":40784,"_7610":40784,"_26747":40784,"_7452":40784,"_3765":40784,"_4455":40784,"_25057":40784,"_7485":40784,"_23383":40784,"_15794":40784,"_20131":40784,"_14978":40784,"_23357":40784,"_31492":40784,"_20180":40784,"_24493":40784},"1036",{"_8761":40817,"_22216":40817,"_22528":40817,"_31486":40817,"_33873":40817,"_3833":40817,"_18831":40817,"_30102":40817,"_19386":40817},"1037",{"_32535":40794,"_14682":40794},"1038",{"_32535":40794,"_6412":40794},"1039",{"_3150":40829,"_37285":40829,"_37258":40829,"_5697":40829,"_32275":40829,"_16870":40829,"_10097":40829},"1040",{"_22347":40878,"_34333":40878,"_5879":40878,"_3765":40878,"_5318":40878},"1041",{"_18617":40827,"_32275":40827,"_5697":40827,"_18815":40827,"_22216":40827,"_15546":40827,"_24331":40827,"_29087":40827},"1042",{"_5":40815,"_2225":40815,"_6473":40815,"_5697":40815,"_35797":40815,"_3399":40815,"_18815":40815,"_4455":40815,"_33974":40815,"_4975":40815,"_22291":40815,"_24331":40815},"1043",{"_32275":40940,"_3074":40940,"_5424":40940,"_6363":40940,"_25621":40940,"_31486":40940,"_5697":40940,"_18815":40940,"_22216":40940,"_17804":40940,"_25322":40940,"_6069":40940,"_22291":40940,"_2212":40940},"1044",{"_33882":40885,"_6047":40885,"_33974":40885,"_19437":40885,"_22216":40885,"_30626":40885,"_3399":40885,"_22377":40885,"_3765":40885,"_27174":40885},"1045",{"_18617":40827,"_32275":40827,"_5697":40827,"_20747":40827,"_22216":40827,"_33851":40827,"_24331":40827,"_29087":40827},"1046",{"_5":40885,"_2225":40885,"_6473":40885,"_5697":40885,"_35797":40885,"_7571":40885,"_3020":40885,"_30691":40885,"_13266":40885,"_24331":40885},"1047",{"_6442":40878,"_24331":40878,"_3132":40878,"_29659":40878,"_7058":40878},"1048",{"_32275":40815,"_3074":40815,"_5424":40815,"_6363":40815,"_5697":40815,"_18815":40815,"_22216":40815,"_17804":40815,"_25322":40815,"_6069":40815,"_2225":40815,"_2212":40815},"1049",{"_17384":40821,"_6363":40821,"_3399":40821,"_17374":40821,"_3765":40821,"_29659":40821},"1050",{"_22216":40784,"_22528":40784,"_32824":40784,"_16870":40784,"_10097":40784,"_4742":40784,"_31394":40784,"_4455":40784,"_29092":40784,"_3765":40784,"_14978":40784,"_3020":40784,"_18617":40784,"_2222":40784,"_5697":40784,"_32819":40784,"_4975":40784,"_3642":40784,"_8771":40784},"1051",{"_30337":40911,"_30325":40911,"_13516":40911,"_25936":40911,"_30593":40911,"_15794":40911,"_20131":40911,"_34439":40911,"_5697":40911,"_11263":40911,"_7710":40911,"_22216":40911,"_25878":40911,"_30373":40911,"_7271":40911,"_25616":40911},"1052",{"_25609":40787,"_11263":40787,"_12628":40787,"_2216":40787},"1053",{"_25609":40827,"_30258":40827,"_11263":40827,"_32088":40827,"_30461":40827,"_8761":40827,"_3642":40827,"_30593":40827},"1054",{"_16710":40787,"_35859":40787,"_3399":40787,"_20658":40787},"1055",{"_32115":40815,"_2225":40815,"_35959":40815,"_3399":40815,"_20658":40815,"_3765":40815,"_16732":40815,"_3997":40815,"_22216":40815,"_20234":40815,"_8761":40815,"_30593":40815},"1056",{"_26242":40853,"_7019":40853,"_30337":40853},"1057",{"_13541":40821,"_3399":40821,"_30878":40821,"_22216":40821,"_11263":40821,"_30985":40821},"1058",{"_26125":40829,"_22216":40829,"_30337":40829,"_10117":40829,"_7535":40829,"_20718":40829,"_23860":40829},"1059",{"_13775":40787,"_11263":40787,"_14167":40787,"_19244":40787},"1060",{"_26242":40901,"_22216":40901,"_7716":40901,"_18311":40901,"_7485":40901,"_30258":40901,"_31911":40901,"_7825":40901,"_3020":40901,"_35370":40901,"_27335":40901},"1061",{"_11411":40901,"_6884":40901,"_36637":40901,"_37455":40901,"_11263":40901,"_14377":40901,"_14167":40901,"_25817":40901,"_2217":40901,"_3825":40901,"_30593":40901},"1062",{"_11263":40821,"_20355":40821,"_26394":40821,"_16250":40821,"_7485":40821,"_21364":40821},"1063",{"_11263":40825,"_31765":40825,"_32156":40825,"_9044":40825,"_21858":40825,"_3020":40825,"_8460":40825,"_23795":40825,"_22306":40825,"_20962":40825,"_22216":40825,"_33562":40825,"_6069":40825,"_3297":40825,"_6566":40825,"_3997":40825,"_10041":40825,"_10069":40825,"_18995":40825,"_15800":40825,"_33914":40825,"_29058":40825},"1064",{"_3020":40834,"_26242":40834,"_18311":40834,"_23357":40834,"_3997":40834,"_22216":40834,"_14682":40834,"_6144":40834,"_12805":40834,"_30593":40834,"_34279":40834,"_7924":40834,"_34412":40834,"_7485":40834,"_13331":40834},"1065",{"_24729":40878,"_3":40878,"_3399":40878,"_8755":40878,"_22017":40878},"1066",{"_24729":40794,"_3":40794},"1067",{"_8755":40885,"_22216":40885,"_31911":40885,"_31916":40885,"_3132":40885,"_9652":40885,"_3925":40885,"_4692":40885,"_10307":40885,"_10062":40885},"1068",{"_13077":40911,"_18165":40911,"_2225":40911,"_26933":40911,"_27515":40911,"_12541":40911,"_7535":40911,"_11263":40911,"_32088":40911,"_34444":40911,"_35350":40911,"_33711":40911,"_34971":40911,"_3020":40911,"_32834":40911,"_16722":40911},"1069",{"_30631":40908,"_3132":40908,"_2225":40908,"_22528":40908,"_7535":40908,"_21795":40908,"_20680":40908,"_3399":40908,"_22028":40908,"_35859":40908,"_4242":40908,"_35959":40908,"_8770":40908,"_15254":40908,"_8144":40908,"_17503":40908,"_17086":40908,"_20904":40908,"_31492":40908,"_8846":40908,"_9662":40908,"_10446":40908,"_3020":40908,"_10672":40908,"_17498":40908,"_15794":40908,"_20131":40908,"_19007":40908,"_4975":40908,"_35768":40908,"_25631":40908,"_31374":40908,"_22216":40908,"_8761":40908,"_26125":40908,"_23118":40908,"_36373":40908,"_16839":40908},"1070",{"_6884":40815,"_32535":40815,"_7674":40815,"_2225":40815,"_8414":40815,"_10729":40815,"_8794":40815,"_10985":40815,"_6499":40815,"_22216":40815,"_29237":40815,"_13138":40815},"1071",{"_5968":40866,"_32535":40866,"_20270":40866,"_22216":40866,"_8414":40866,"_24871":40866,"_19800":40866,"_19318":40866,"_5697":40866,"_2225":40866,"_13266":40866,"_7735":40866,"_31481":40866,"_13478":40866,"_29290":40866,"_7535":40866,"_22291":40866,"_3399":40866,"_10735":40866,"_13582":40866},"1072",{"_11313":40841,"_32535":40841,"_20270":40841,"_2225":40841,"_7735":40841,"_24871":40841,"_5260":40841,"_19318":40841,"_22306":40841,"_29601":40841,"_28848":40841,"_33562":40841,"_24592":40841,"_31202":40841,"_27021":40841,"_22216":40841,"_8414":40841,"_6047":40841,"_33748":40841,"_20631":40841,"_6069":40841,"_5265":40841,"_5697":40841,"_14773":40841,"_15728":40841},"1073",{"_35848":40881,"_3132":40881,"_2225":40881,"_8233":40881,"_7535":40881,"_23629":40881,"_27813":40881,"_29504":40881,"_31486":40881,"_8507":40881,"_17498":40881,"_8144":40881,"_29601":40881,"_30522":40881,"_34439":40881,"_5697":40881,"_35345":40881,"_32492":40881,"_23196":40881,"_28752":40881,"_15306":40881,"_3399":40881,"_21547":40881,"_27689":40881},"1074",{"_8761":40885,"_22216":40885,"_24703":40885,"_35848":40885,"_3132":40885,"_26943":40885,"_31645":40885,"_5697":40885,"_7271":40885,"_25616":40885},"1075",{"_16715":3013},"1076",{"_8761":40853,"_22216":40853,"_8906":40853},"1077",{"_10041":40832,"_22306":40832,"_31310":40832,"_19715":40832,"_5697":40832,"_29269":40832,"_20718":40832,"_5385":40832,"_22216":40832,"_35848":40832,"_3711":40832,"_6069":40832,"_11263":40832},"1078",{"_30722":40794,"_23118":40794},"1079",{"_25883":40784,"_23118":40784,"_17661":40784,"_12534":40784,"_30788":40784,"_3399":40784,"_12580":40784,"_18805":40784,"_7485":40784,"_35859":40784,"_24553":40784,"_9044":40784,"_33422":40784,"_33974":40784,"_26592":40784,"_12931":40784,"_7535":40784,"_23629":40784,"_15306":40784},"1080",{"_16839":3013},"1081",{"_30794":3013},"1082",{"_18472":40794,"_36411":40794},"1083",{"_15025":40794,"_32535":40794},"1084",{"_12580":40794,"_8906":40794},"1085",{"_30788":40794,"_8906":40794},"1086",{"_26880":40794,"_28807":40794},"1087",{"_27926":40794,"_35859":40794},"1088",{"_7485":40888,"_22306":40888,"_23118":40888,"_31976":40888,"_27159":40888,"_26933":40888,"_17651":40888,"_6069":40888,"_30794":40888,"_3399":40888,"_18472":40888,"_36411":40888,"_34412":40888,"_11263":40888,"_15844":40888,"_22216":40888,"_9202":40888,"_13321":40888,"_30788":40888,"_12580":40888,"_22223":40888,"_32544":40888,"_4023":40888,"_22291":40888,"_30253":40888,"_29630":40888,"_4975":40888,"_29327":40888,"_3659":40888,"_12628":40888,"_8761":40888},"1089",{"_31123":40817,"_18805":40817,"_10492":40817,"_22216":40817,"_7716":40817,"_14706":40817,"_33086":40817,"_6069":40817,"_15254":40817},"1090",{"_31123":41205,"_13321":41205,"_32875":41205,"_27926":41205,"_7485":41205,"_22306":41205,"_31645":41205,"_31976":41205,"_32959":41205,"_25878":41205,"_22291":41205,"_3765":41205,"_14706":41205,"_5697":41205,"_4455":41205,"_18805":41205,"_22216":41205,"_14076":41205,"_6069":41205,"_36903":41205,"_32544":41205,"_26933":41205,"_12805":41205,"_2225":41205,"_11263":41205,"_6649":41205,"_7924":41205,"_8771":41205,"_16752":41205,"_33237":41205,"_30788":41205,"_3020":41205,"_12580":41205,"_3399":41205,"_24505":41205,"_25574":41205,"_35200":41205,"_3132":41205,"_10462":41205,"_25264":41205,"_16747":41205,"_10218":41205,"_31429":41205,"_32855":41205,"_4577":41205,"_14523":41205,"_29630":41205,"_4242":41205,"_15675":41205,"_19437":41205,"_8144":41205},"1091",{"_31976":41182,"_10492":41182,"_22216":41182,"_18190":41182,"_20898":41182,"_5697":41182,"_33919":41182,"_21936":41182,"_24617":41182,"_9044":41182,"_7485":41182,"_7716":41182,"_23556":41182,"_18581":41182,"_15254":41182,"_22291":41182,"_23265":41182,"_2225":41182,"_3297":41182,"_3132":41182,"_16926":41182,"_25857":41182,"_32170":41182,"_11263":41182,"_33929":41182,"_12541":41182,"_6069":41182,"_15363":41182,"_2212":41182,"_7535":41182,"_32535":41182,"_17877":41182,"_31826":41182,"_3672":41182,"_13350":41182,"_29301":41182,"_30788":41182,"_22260":41182,"_8144":41182,"_15794":41182,"_26242":41182,"_3399":41182,"_31816":41182,"_20834":41182,"_19161":41182,"_31369":41182,"_17229":41182,"_21644":41182,"_22306":41182,"_19647":41182,"_30430":41182,"_13299":41182,"_6018":41182,"_7118":41182,"_6499":41182,"_32544":41182},"1092",{"_2225":41400,"_30788":41400,"_3132":41400,"_18799":41400,"_22291":41400,"_32170":41400,"_7018":41400,"_6069":41400,"_18200":41400,"_5697":41400,"_27886":41400,"_22216":41400,"_30537":41400,"_3399":41400,"_21644":41400,"_14878":41400,"_7255":41400,"_17958":41400,"_22306":41400,"_17643":41400,"_29630":41400,"_2212":41400,"_26072":41400,"_19509":41400,"_30517":41400,"_19267":41400,"_7535":41400,"_17249":41400,"_18190":41400,"_33974":41400,"_25080":41400,"_31976":41400,"_15844":41400,"_31350":41400,"_33129":41400,"_4034":41400,"_22260":41400,"_15632":41400,"_6018":41400,"_32371":41400,"_15626":41400,"_22250":41400,"_14562":41400,"_35738":41400,"_15794":41400,"_25609":41400},"1093",{"_7485":40834,"_22306":40834,"_32535":40834,"_33129":40834,"_18190":40834,"_16758":40834,"_2225":40834,"_30788":40834,"_6649":40834,"_3399":40834,"_16221":40834,"_14076":40834,"_21593":40834,"_3925":40834,"_19244":40834},"1094",{"_37455":40815,"_22216":40815,"_3228":40815,"_6069":40815,"_2225":40815,"_11263":40815,"_12628":40815,"_2217":40815,"_3825":40815,"_12901":40815,"_7810":40815,"_14663":40815},"1095",{"_22216":40885,"_6363":40885,"_6069":40885,"_30788":40885,"_2212":40885,"_3997":40885,"_11263":40885,"_2217":40885,"_3825":40885,"_31350":40885},"1096",{"_22216":40878,"_27051":40878,"_6069":40878,"_7018":40878,"_18200":40878},"1097",{"_22216":40808,"_14076":40808,"_6069":40808,"_30788":40808,"_19427":40808,"_3228":40808,"_11263":40808,"_12628":40808,"_5697":40808,"_19267":40808,"_13304":40808,"_15632":40808,"_2225":40808,"_16742":40808,"_17877":40808,"_3659":40808,"_24751":40808,"_15800":40808,"_32829":40808,"_22260":40808,"_2212":40808,"_3997":40808,"_31369":40808,"_3132":40808,"_4455":40808,"_18190":40808,"_33974":40808,"_3399":40808,"_31976":40808,"_15844":40808,"_11016":40808,"_33882":40808,"_22306":40808},"1098",{"_5697":41168,"_32275":41168,"_22216":41168,"_30788":41168,"_2225":41168,"_18190":41168,"_15869":41168,"_15632":41168,"_2212":41168,"_34687":41168,"_11016":41168,"_10280":41168,"_8144":41168,"_34412":41168,"_16221":41168,"_21464":41168,"_7853":41168,"_7593":41168,"_22260":41168,"_31816":41168,"_34785":41168,"_32371":41168,"_18200":41168,"_29630":41168,"_32281":41168,"_24751":41168,"_8794":41168,"_15491":41168,"_6473":41168,"_6069":41168,"_15530":41168,"_29601":41168,"_31486":41168,"_7358":41168,"_3399":41168,"_31826":41168,"_7535":41168,"_33919":41168,"_7485":41168,"_15925":41168,"_15800":41168,"_9570":41168,"_33914":41168,"_31394":41168,"_22228":41168,"_3132":41168,"_15363":41168,"_26242":41168,"_3297":41168,"_22387":41168,"_15844":41168,"_15254":41168,"_31976":41168,"_22291":41168,"_22693":41168,"_19244":41168,"_7924":41168,"_3659":41168,"_25543":41168,"_10041":41168,"_8204":41168,"_26185":41168,"_31076":41168,"_8651":41168,"_32170":41168,"_21858":41168},"1099",{"_33882":40866,"_22291":40866,"_32275":40866,"_22445":40866,"_31123":40866,"_36924":40866,"_3399":40866,"_16966":40866,"_4593":40866,"_8144":40866,"_3132":40866,"_22216":40866,"_9120":40866,"_6069":40866,"_4242":40866,"_5697":40866,"_16026":40866,"_29654":40866,"_25132":40866,"_33081":40866},"1100",{"_6018":41431,"_22216":41431,"_14878":41431,"_3132":41431,"_7951":41431,"_2225":41431,"_18190":41431,"_15869":41431,"_29301":41431,"_5697":41431,"_30788":41431,"_7924":41431,"_8144":41431,"_23966":41431,"_16221":41431,"_14562":41431,"_2212":41431,"_3399":41431,"_22260":41431,"_7280":41431,"_15530":41431,"_6069":41431,"_11016":41431,"_17877":41431,"_22228":41431,"_4975":41431,"_29327":41431,"_3659":41431,"_15523":41431,"_31821":41431,"_7535":41431,"_33914":41431,"_6663":41431,"_33882":41431,"_22291":41431,"_26185":41431,"_19238":41431,"_15844":41431,"_7358":41431,"_21858":41431,"_20931":41431,"_11263":41431,"_29601":41431,"_26242":41431,"_3297":41431,"_3997":41431,"_34986":41431,"_9590":41431,"_15481":41431,"_20718":41431,"_31429":41431,"_3642":41431},"1101",{"_2225":41196,"_18472":41196,"_12580":41196,"_3132":41196,"_23629":41196,"_3":41196,"_25857":41196,"_22291":41196,"_7025":41196,"_6069":41196,"_18200":41196,"_10492":41196,"_5697":41196,"_7225":41196,"_3399":41196,"_14130":41196,"_17872":41196,"_18467":41196,"_12805":41196,"_33711":41196,"_33304":41196,"_3150":41196,"_22265":41196,"_22216":41196,"_14135":41196,"_9011":41196,"_8204":41196,"_28777":41196,"_18190":41196,"_7485":41196,"_22306":41196,"_17643":41196,"_3765":41196,"_26933":41196,"_17044":41196,"_10286":41196,"_8794":41196,"_11016":41196,"_2212":41196,"_3074":41196,"_33299":41196,"_15632":41196,"_15523":41196},"1102",{"_22216":41009,"_7716":41009,"_33086":41009,"_6069":41009,"_15254":41009,"_14572":41009,"_5697":41009,"_14076":41009,"_6649":41009,"_3925":41009,"_31486":41009,"_30788":41009,"_6657":41009,"_8144":41009,"_7924":41009,"_15869":41009,"_19267":41009,"_13304":41009,"_27926":41009,"_22291":41009,"_15632":41009,"_2225":41009,"_11263":41009,"_17877":41009,"_3659":41009,"_24761":41009,"_32829":41009,"_22260":41009,"_35331":41009,"_11016":41009,"_2212":41009,"_12580":41009,"_32855":41009,"_3399":41009},"1103",{"_2225":41205,"_18467":41205,"_18190":41205,"_15869":41205,"_18462":41205,"_5697":41205,"_3150":41205,"_3074":41205,"_33299":41205,"_22216":41205,"_12580":41205,"_3399":41205,"_19427":41205,"_17039":41205,"_3925":41205,"_3827":41205,"_20898":41205,"_15632":41205,"_33711":41205,"_2212":41205,"_34412":41205,"_12805":41205,"_34433":41205,"_26603":41205,"_8651":41205,"_16769":41205,"_11263":41205,"_4183":41205,"_35135":41205,"_6069":41205,"_26609":41205,"_14513":41205,"_3978":41205,"_11016":41205,"_7485":41205,"_22306":41205,"_31645":41205,"_31976":41205,"_17778":41205,"_22496":41205,"_6297":41205,"_3997":41205,"_33304":41205,"_22455":41205,"_6987":41205,"_22291":41205,"_6230":41205,"_3132":41205,"_33851":41205,"_3659":41205,"_14140":41205},"1104",{"_5697":41000,"_14130":41000,"_3074":41000,"_33299":41000,"_2225":41000,"_14135":41000,"_18190":41000,"_6763":41000,"_22216":41000,"_15530":41000,"_6069":41000,"_11016":41000,"_2212":41000,"_10086":41000,"_31486":41000,"_27499":41000,"_14513":41000,"_35135":41000,"_3399":41000,"_9476":41000,"_33882":41000,"_22291":41000,"_17877":41000,"_22228":41000,"_3132":41000,"_13841":41000,"_22260":41000,"_3659":41000,"_22693":41000,"_13665":41000,"_18200":41000,"_31971":41000,"_20131":41000,"_3145":41000,"_12812":41000,"_5775":41000,"_31481":41000,"_22435":41000,"_13798":41000},"1105",{"_2225":40917,"_15844":40917,"_5697":40917,"_7358":40917,"_9476":40917,"_22216":40917,"_28777":40917,"_6069":40917,"_15530":40917,"_7485":40917,"_29415":40917,"_6297":40917,"_3925":40917,"_24751":40917,"_15800":40917,"_33769":40917,"_7710":40917,"_34235":40917,"_14513":40917,"_20508":40917,"_31976":40917,"_33743":40917,"_24448":40917,"_31369":40917,"_33299":40917,"_3132":40917,"_27499":40917,"_3659":40917,"_29601":40917,"_35135":40917,"_21837":40917,"_3399":40917,"_9011":40917,"_18738":40917,"_8204":40917,"_33129":40917},"1106",{"_7485":40866,"_22216":40866,"_7716":40866,"_26175":40866,"_30253":40866,"_15794":40866,"_7983":40866,"_2225":40866,"_15025":40866,"_14682":40866,"_6144":40866,"_4242":40866,"_5697":40866,"_24548":40866,"_5400":40866,"_21088":40866,"_9839":40866,"_10492":40866,"_8755":40866,"_8144":40866},"1107",{"_36130":40829,"_25609":40829,"_2225":40829,"_18467":40829,"_5697":40829,"_12805":40829,"_33304":40829},"1108",{"_36130":40829,"_25609":40829,"_2225":40829,"_14135":40829,"_5697":40829,"_14130":40829,"_33304":40829},"1109",{"_5968":40832,"_25609":40832,"_2225":40832,"_30788":40832,"_31486":40832,"_19183":40832,"_3925":40832,"_20190":40832,"_22757":40832,"_30289":40832,"_7875":40832,"_5697":40832,"_32275":40832},"1110",{"_35859":40794,"_32535":40794},"1111",{"_31811":40825,"_22387":40825,"_30883":40825,"_2225":40825,"_15025":40825,"_11263":40825,"_3297":40825,"_12541":40825,"_7485":40825,"_35859":40825,"_15171":40825,"_22216":40825,"_32989":40825,"_3399":40825,"_23252":40825,"_24086":40825,"_31675":40825,"_15884":40825,"_29683":40825,"_14167":40825,"_13165":40825,"_15368":40825},"1112",{"_2225":40787,"_26933":40787,"_3297":40787,"_12541":40787},"1113",{"_8831":3013},"1114",{"_18484":40794,"_24086":40794},"1115",{"_22216":40853,"_32989":40853,"_13304":40853},"1116",{"_22216":40853,"_23252":40853,"_13304":40853},"1117",{"_15025":40853,"_26880":40853,"_28813":40853},"1118",{"_32989":40794,"_35859":40794},"1119",{"_23252":40794,"_35859":40794},"1120",{"_5697":40984,"_16829":40984,"_30253":40984,"_22216":40984,"_11263":40984,"_35859":40984,"_4322":40984,"_31976":40984,"_24367":40984,"_30078":40984,"_2225":40984,"_23503":40984,"_26933":40984,"_3297":40984,"_12541":40984,"_22306":40984,"_9044":40984,"_12923":40984,"_7535":40984,"_15368":40984,"_3399":40984,"_9191":40984,"_8794":40984,"_25621":40984,"_3020":40984,"_25502":40984,"_18484":40984},"1121",{"_22216":40878,"_12541":40878,"_29601":40878,"_7784":40878,"_8831":40878},"1122",{"_8144":40787,"_21593":40787,"_3925":40787,"_19244":40787},"1123",{"_22216":40878,"_3228":40878,"_6069":40878,"_11263":40878,"_25941":40878},"1124",{"_22216":40885,"_7853":40885,"_6069":40885,"_2225":40885,"_12923":40885,"_3280":40885,"_3659":40885,"_5697":40885,"_20131":40885,"_31733":40885},"1125",{"_22216":40827,"_7853":40827,"_6069":40827,"_2225":40827,"_7825":40827,"_5697":40827,"_10069":40827,"_6412":40827},{"_3074":40787,"_33006":40787,"_31486":40787,"_3833":40787},"1127",{"_8144":40885,"_8331":40885,"_22216":40885,"_3":40885,"_3978":40885,"_31486":40885,"_12923":40885,"_3399":40885,"_25626":40885,"_33006":40885},"1128",{"_17877":40885,"_22216":40885,"_12923":40885,"_15368":40885,"_12541":40885,"_10712":40885,"_13655":40885,"_3399":40885,"_9233":40885,"_33006":40885},"1129",{"_17877":40829,"_22216":40829,"_12923":40829,"_23478":40829,"_12541":40829,"_36991":40829,"_33006":40829},"1130",{"_13898":41607,"_11263":41607,"_4249":41607,"_3765":41607,"_31228":41607,"_17086":41607,"_22693":41607,"_34595":41607,"_3659":41607,"_31369":41607,"_20089":41607,"_22216":41607,"_14167":41607,"_3399":41607,"_3672":41607,"_20691":41607,"_3":41607,"_7485":41607,"_22306":41607,"_4242":41607,"_13304":41607,"_15859":41607,"_32989":41607,"_23252":41607,"_21910":41607,"_4592":41607,"_13576":41607,"_20067":41607,"_22352":41607,"_32979":41607,"_28446":41607,"_8144":41607,"_3132":41607,"_9125":41607,"_7535":41607,"_26791":41607,"_28707":41607,"_25032":41607,"_16865":41607,"_22228":41607,"_3925":41607,"_32003":41607,"_31486":41607,"_33006":41607,"_18484":41607,"_30253":41607,"_19401":41607,"_3074":41607,"_3827":41607,"_27350":41607,"_17748":41607,"_8831":41607,"_27215":41607,"_20773":41607,"_9233":41607,"_5133":41607,"_5697":41607,"_13165":41607,"_6069":41607,"_12923":41607},"1131",{"_22216":40866,"_32989":40866,"_6649":40866,"_3132":40866,"_18788":40866,"_13597":40866,"_6069":40866,"_27350":40866,"_4242":40866,"_8144":40866,"_13576":40866,"_31123":40866,"_11263":40866,"_23252":40866,"_3925":40866,"_24151":40866,"_5400":40866,"_7485":40866,"_18484":40866,"_24086":40866},"1132",{"_9855":40804,"_22291":40804,"_22216":40804,"_32995":40804,"_35702":40804,"_3132":40804,"_5697":40804,"_25609":40804,"_3399":40804,"_25487":40804,"_33006":40804,"_31451":40804,"_7853":40804,"_30253":40804,"_19401":40804,"_7485":40804,"_3997":40804,"_14682":40804,"_6144":40804,"_8144":40804,"_24751":40804,"_22306":40804,"_9130":40804,"_32481":40804,"_7914":40804,"_8794":40804,"_11263":40804,"_6649":40804,"_3925":40804,"_15794":40804,"_26125":40804,"_15254":40804,"_5400":40804,"_32989":40804,"_19427":40804,"_2225":40804,"_10462":40804,"_17860":40804,"_31675":40804,"_3827":40804,"_14076":40804,"_4592":40804,"_23258":40804,"_23252":40804,"_17748":40804,"_23839":40804,"_17638":40804,"_31123":40804,"_22223":40804,"_16891":40804},"1133",{"_22216":41664,"_31675":41664,"_16886":41664,"_3132":41664,"_23819":41664,"_8794":41664,"_11263":41664,"_35859":41664,"_4322":41664,"_34433":41664,"_8144":41664,"_5697":41664,"_14757":41664,"_8485":41664,"_16221":41664,"_13597":41664,"_25070":41664,"_6047":41664,"_3659":41664,"_20898":41664,"_18190":41664,"_3399":41664,"_14762":41664,"_7266":41664,"_32481":41664,"_22291":41664,"_20067":41664,"_22352":41664,"_31861":41664,"_20131":41664,"_16921":41664,"_7485":41664,"_25132":41664,"_3925":41664,"_13165":41664,"_6069":41664,"_14167":41664,"_3020":41664,"_26394":41664,"_32989":41664,"_22306":41664,"_32535":41664,"_26983":41664,"_7583":41664,"_22465":41664,"_20773":41664,"_23252":41664,"_24448":41664,"_26791":41664,"_24662":41664,"_31486":41664,"_22265":41664,"_24751":41664,"_18093":41664,"_19647":41664,"_13888":41664,"_26763":41664,"_33000":41664,"_6649":41664,"_6811":41664,"_30822":41664,"_8264":41664,"_24004":41664,"_3672":41664,"_6657":41664,"_4592":41664,"_23795":41664,"_15384":41664,"_3997":41664,"_31369":41664,"_7898":41664,"_3297":41664,"_20718":41664,"_29068":41664},"1134",{"_22216":41009,"_23258":41009,"_16886":41009,"_3997":41009,"_3672":41009,"_27185":41009,"_3132":41009,"_15800":41009,"_19146":41009,"_6069":41009,"_11263":41009,"_4322":41009,"_8144":41009,"_2225":41009,"_15032":41009,"_15579":41009,"_24091":41009,"_7535":41009,"_22306":41009,"_27350":41009,"_4242":41009,"_23252":41009,"_6649":41009,"_34433":41009,"_5697":41009,"_14757":41009,"_8485":41009,"_16221":41009,"_13597":41009,"_31369":41009,"_4592":41009,"_32989":41009,"_28683":41009,"_7875":41009},"1135",{"_22306":40808,"_16886":40808,"_3132":40808,"_23819":40808,"_7485":40808,"_22216":40808,"_23252":40808,"_13304":40808,"_3399":40808,"_17656":40808,"_32989":40808,"_31394":40808,"_32855":40808,"_17411":40808,"_24453":40808,"_31429":40808,"_5697":40808,"_25609":40808,"_7019":40808,"_3020":40808,"_27200":40808,"_20773":40808,"_17748":40808,"_8831":40808,"_9855":40808,"_22291":40808,"_8841":40808,"_27459":40808,"_36986":40808,"_33006":40808,"_12923":40808,"_16179":40808,"_32829":40808},"1136",{"_31394":40866,"_32989":40866,"_13500":40866,"_3132":40866,"_17411":40866,"_22216":40866,"_24453":40866,"_31429":40866,"_3020":40866,"_15800":40866,"_5697":40866,"_27200":40866,"_17860":40866,"_20773":40866,"_7485":40866,"_9130":40866,"_11263":40866,"_14167":40866,"_19076":40866,"_23483":40866},"1137",{"_3925":40784,"_30253":40784,"_21246":40784,"_29630":40784,"_6992":40784,"_23252":40784,"_3132":40784,"_22216":40784,"_6649":40784,"_22291":40784,"_17416":40784,"_22223":40784,"_20904":40784,"_7485":40784,"_9130":40784,"_5697":40784,"_15368":40784,"_11291":40784,"_13165":40784},"1138",{"_30078":40817,"_3765":40817,"_32995":40817,"_17643":40817,"_6069":40817,"_23258":40817,"_32855":40817,"_3399":40817,"_13500":40817},"1139",{"_22216":40802,"_23252":40802,"_13304":40802,"_29601":40802,"_20972":40802,"_6069":40802,"_11263":40802,"_28446":40802,"_8144":40802,"_3132":40802,"_20732":40802,"_4092":40802,"_3399":40802,"_32476":40802,"_13432":40802,"_36996":40802,"_22316":40802,"_6126":40802,"_7485":40802,"_14076":40802,"_31486":40802},"1140",{"_22216":41264,"_15844":41264,"_5697":41264,"_11263":41264,"_32855":41264,"_15481":41264,"_7535":41264,"_32844":41264,"_6069":41264,"_12923":41264,"_23265":41264,"_2225":41264,"_3297":41264,"_3399":41264,"_19427":41264,"_10462":41264,"_17860":41264,"_22306":41264,"_3925":41264,"_15047":41264,"_15879":41264,"_6649":41264,"_7485":41264,"_26530":41264,"_8144":41264,"_36996":41264,"_22316":41264,"_6126":41264,"_27021":41264,"_10133":41264,"_18210":41264,"_29774":41264,"_31394":41264,"_3132":41264,"_21936":41264},"1141",{"_5":40794,"_17136":40794},"1142",{"_24771":40888,"_13858":40888,"_22216":40888,"_15047":40888,"_15879":40888,"_31486":40888,"_3297":40888,"_11263":40888,"_32855":40888,"_31369":40888,"_29774":40888,"_5697":40888,"_20131":40888,"_20898":40888,"_25604":40888,"_18224":40888,"_17656":40888,"_7485":40888,"_23252":40888,"_6649":40888,"_3132":40888,"_17411":40888,"_31394":40888,"_4092":40888,"_26285":40888,"_6069":40888,"_5775":40888,"_8794":40888,"_15042":40888,"_3997":40888,"_12628":40888},"1143",{"_22216":40796,"_21941":40796,"_6069":40796,"_3297":40796,"_3997":40796,"_3672":40796,"_27185":40796,"_26504":40796,"_3074":40796,"_32476":40796,"_5697":40796,"_32989":40796,"_6649":40796,"_27021":40796,"_10598":40796,"_3925":40796,"_31675":40796,"_11263":40796},"1144",{"_11411":41009,"_11313":41009,"_3925":41009,"_3074":41009,"_4151":41009,"_30253":41009,"_21246":41009,"_33882":41009,"_22291":41009,"_22216":41009,"_23252":41009,"_14523":41009,"_4592":41009,"_10593":41009,"_17860":41009,"_31675":41009,"_7535":41009,"_22306":41009,"_19161":41009,"_3297":41009,"_32476":41009,"_3132":41009,"_33711":41009,"_5697":41009,"_11263":41009,"_25052":41009,"_6069":41009,"_21199":41009,"_31712":41009,"_7485":41009,"_32535":41009,"_29490":41009,"_24751":41009,"_15800":41009},{"_31394":40940,"_22216":40940,"_11263":40940,"_32855":40940,"_5775":40940,"_15042":40940,"_3997":40940,"_12628":40940,"_4322":40940,"_17416":40940,"_22306":40940,"_15047":40940,"_15879":40940,"_12541":40940},"1146",{"_22216":41185,"_15254":41185,"_7924":41185,"_15481":41185,"_33211":41185,"_15270":41185,"_7535":41185,"_12923":41185,"_32844":41185,"_8490":41185,"_33216":41185,"_3399":41185,"_9621":41185,"_17877":41185,"_7825":41185,"_3020":41185,"_32855":41185,"_8144":41185,"_7280":41185,"_3":41185,"_8204":41185,"_22260":41185,"_17406":41185,"_15879":41185,"_6069":41185,"_32989":41185,"_13165":41185,"_29601":41185,"_15374":41185,"_33882":41185,"_24761":41185,"_29630":41185,"_5697":41185,"_24662":41185,"_3642":41185,"_13798":41185,"_18210":41185,"_7372":41185,"_15844":41185,"_30435":41185,"_9044":41185,"_19118":41185,"_3665":41185,"_22291":41185,"_14523":41185,"_15976":41185,"_3074":41185,"_2212":41185,"_3132":41185,"_23961":41185,"_30461":41185,"_15869":41185,"_11263":41185,"_3297":41185,"_32476":41185,"_26242":41185,"_8794":41185,"_21946":41185,"_2225":41185,"_22228":41185,"_14747":41185,"_14167":41185,"_7919":41185,"_31394":41185,"_14842":41185,"_8485":41185,"_7019":41185},"1147",{"_8006":40829,"_33939":40829,"_29485":40829,"_23252":40829,"_18200":40829,"_3297":40829,"_32481":40829},"1148",{"_11411":41142,"_11313":41142,"_17877":41142,"_22216":41142,"_13447":41142,"_11263":41142,"_28869":41142,"_15794":41142,"_10741":41142,"_14747":41142,"_15384":41142,"_27939":41142,"_32476":41142,"_5697":41142,"_30461":41142,"_26394":41142,"_32739":41142,"_26438":41142,"_4455":41142,"_6069":41142,"_26464":41142,"_9044":41142,"_31481":41142,"_4742":41142,"_20131":41142,"_10747":41142,"_31486":41142,"_12628":41142,"_4807":41142,"_3132":41142,"_33711":41142,"_7485":41142,"_26125":41142,"_18495":41142,"_6918":41142,"_7535":41142,"_20718":41142,"_3997":41142,"_22306":41142,"_2225":41142,"_30997":41142,"_28623":41142,"_20773":41142,"_8132":41142,"_31394":41142,"_23252":41142,"_7280":41142,"_3074":41142,"_12923":41142,"_8144":41142,"_15874":41142,"_32855":41142,"_7983":41142,"_6379":41142,"_26791":41142,"_29601":41142,"_15374":41142},"1149",{"_5053":40787,"_13687":40787,"_34412":40787,"_5214":40787},"1150",{"_32709":40871,"_11291":40871,"_5221":40871,"_5053":40871,"_13687":40871,"_7535":40871,"_12931":40871,"_16556":40871,"_19054":40871,"_22673":40871,"_30868":40871,"_5180":40871,"_27652":40871,"_10165":40871,"_3290":40871,"_23688":40871,"_21464":40871,"_7459":40871,"_3399":40871,"_22216":40871,"_2222":40871,"_12541":40871,"_4322":40871},"1151",{"_5180":40794,"_19060":40794},"1152",{"_30873":40853,"_5180":40853,"_27652":40853},"1153",{"_11263":40787,"_2222":40787,"_12541":40787,"_4322":40787},"1154",{"_11263":42113,"_34433":42113,"_5214":42113,"_5697":42113,"_13687":42113,"_5053":42113,"_16221":42113,"_12931":42113,"_22216":42113,"_3":42113,"_33974":42113,"_6069":42113,"_2225":42113,"_21910":42113,"_5180":42113,"_17643":42113,"_3132":42113,"_36389":42113,"_26988":42113,"_34646":42113,"_7825":42113,"_19060":42113,"_8144":42113,"_33511":42113,"_19054":42113,"_24952":42113,"_4484":42113,"_23488":42113,"_35250":42113,"_5788":42113,"_5675":42113,"_2212":42113,"_3399":42113,"_27699":42113,"_31369":42113,"_4282":42113,"_34561":42113,"_25651":42113,"_15800":42113,"_28848":42113,"_8794":42113,"_22347":42113,"_27704":42113,"_7535":42113,"_25032":42113,"_6799":42113,"_7018":42113,"_10165":42113,"_3672":42113,"_24751":42113,"_29630":42113,"_33949":42113,"_3074":42113,"_12923":42113,"_16763":42113,"_28022":42113,"_23265":42113,"_17975":42113,"_22291":42113,"_3765":42113,"_3978":42113,"_31486":42113,"_22465":42113},"1155",{"_6884":40800,"_12197":40800,"_36744":40800,"_33882":40800,"_4592":40800,"_22291":40800,"_3074":40800,"_5180":40800,"_19086":40800,"_6047":40800,"_5697":40800,"_2225":40800,"_13266":40800,"_12923":40800,"_7485":40800,"_19161":40800,"_8144":40800,"_24751":40800,"_15800":40800,"_4282":40800,"_15530":40800,"_7535":40800,"_32535":40800,"_17877":40800,"_4173":40800,"_3132":40800,"_10112":40800,"_8794":40800,"_7459":40800,"_3399":40800,"_25558":40800,"_10165":40800,"_3658":40800,"_31481":40800,"_20131":40800,"_3145":40800,"_10041":40800,"_5214":40800,"_3765":40800,"_9821":40800},"1156",{"_6884":41144,"_12197":41144,"_36744":41144,"_11263":41144,"_25070":41144,"_19954":41144,"_4843":41144,"_27652":41144,"_17975":41144,"_3765":41144,"_28017":41144,"_34412":41144,"_22216":41144,"_7593":41144,"_27647":41144,"_32794":41144,"_31404":41144,"_3132":41144,"_22291":41144,"_5302":41144,"_14572":41144,"_5697":41144,"_26242":41144,"_6069":41144,"_17595":41144,"_32799":41144,"_23819":41144,"_8794":41144,"_7535":41144,"_32535":41144,"_7459":41144,"_3074":41144,"_2225":41144,"_21464":41144,"_31486":41144,"_3228":41144,"_31419":41144,"_23688":41144,"_31144":41144,"_19406":41144,"_25032":41144,"_7853":41144},"1157",{"_11411":41431,"_12197":41431,"_12027":41431,"_12203":41431,"_31394":41431,"_2225":41431,"_12541":41431,"_14372":41431,"_5697":41431,"_11263":41431,"_3399":41431,"_4876":41431,"_17860":41431,"_3986":41431,"_4455":41431,"_22216":41431,"_17975":41431,"_22291":41431,"_14556":41431,"_31486":41431,"_13350":41431,"_14167":41431,"_22223":41431,"_3765":41431,"_15507":41431,"_5675":41431,"_5214":41431,"_6069":41431,"_12931":41431,"_21951":41431,"_5053":41431,"_2212":41431,"_20120":41431,"_7019":41431,"_19452":41431,"_27647":41431,"_32794":41431,"_19081":41431,"_7603":41431,"_3132":41431,"_13266":41431,"_7535":41431,"_32535":41431,"_19447":41431,"_7459":41431,"_10041":41431,"_7396":41431,"_19054":41431,"_3642":41431,"_3074":41431,"_3228":41431,"_25626":41431},"1158",{"_11263":40878,"_25070":40878,"_22216":40878,"_7716":40878,"_19060":40878},"1159",{"_12805":40821,"_30253":40821,"_15794":40821,"_2225":40821,"_15523":40821,"_2212":40821},"1160",{"_10041":40815,"_30253":40815,"_15794":40815,"_7271":40815,"_3":40815,"_8204":40815,"_2225":40815,"_2212":40815,"_3399":40815,"_28777":40815,"_16221":40815,"_15530":40815},"1161",{"_10069":40827,"_30253":40827,"_15794":40827,"_26242":40827,"_3":40827,"_7535":40827,"_2225":40827,"_2212":40827},"1162",{"_12812":40821,"_30253":40821,"_15794":40821,"_2225":40821,"_15523":40821,"_2212":40821},"1163",{"_2974":40878,"_30253":40878,"_15794":40878,"_26242":40878,"_19060":40878},"1164",{"_22216":40866,"_12805":40866,"_3399":40866,"_12812":40866,"_19060":40866,"_29630":40866,"_30522":40866,"_31228":40866,"_6379":40866,"_6069":40866,"_10069":40866,"_19054":40866,"_7535":40866,"_7966":40866,"_7096":40866,"_5053":40866,"_13707":40866,"_15930":40866,"_3765":40866,"_7716":40866},"1165",{"_30253":40836,"_31635":40836,"_2225":40836,"_5697":40836,"_20131":40836,"_3145":40836,"_24662":40836,"_26242":40836,"_3997":40836,"_11263":40836,"_2212":40836,"_30822":40836,"_15800":40836,"_12805":40836,"_3020":40836,"_12812":40836,"_15530":40836},"1166",{"_12805":41264,"_31492":41264,"_12812":41264,"_13350":41264,"_8858":41264,"_8794":41264,"_15675":41264,"_11263":41264,"_33974":41264,"_7485":41264,"_2225":41264,"_19267":41264,"_23347":41264,"_30253":41264,"_31635":41264,"_4455":41264,"_5697":41264,"_20131":41264,"_3145":41264,"_3150":41264,"_30822":41264,"_6047":41264,"_8851":41264,"_8001":41264,"_15794":41264,"_22306":41264,"_3132":41264,"_37007":41264,"_6069":41264,"_7875":41264,"_22216":41264,"_4183":41264,"_19054":41264,"_7535":41264,"_7841":41264},"1167",{"_4592":41182,"_22216":41182,"_2974":41182,"_19054":41182,"_3132":41182,"_22228":41182,"_27021":41182,"_11263":41182,"_24756":41182,"_3099":41182,"_29630":41182,"_2225":41182,"_33949":41182,"_6069":41182,"_7825":41182,"_6799":41182,"_7485":41182,"_26763":41182,"_26530":41182,"_24111":41182,"_32265":41182,"_3925":41182,"_25052":41182,"_28688":41182,"_32959":41182,"_30997":41182,"_3997":41182,"_23352":41182,"_5697":41182,"_4484":41182,"_30253":41182,"_32471":41182,"_22475":41182,"_15805":41182,"_28777":41182,"_23347":41182,"_32466":41182,"_17686":41182,"_29601":41182,"_22306":41182,"_4494":41182,"_25512":41182,"_2212":41182,"_30822":41182,"_33959":41182,"_20718":41182,"_18382":41182,"_17877":41182,"_31635":41182,"_15844":41182,"_12775":41182,"_22291":41182,"_24761":41182,"_32829":41182,"_33873":41182,"_10218":41182},"1168",{"_2974":40844,"_19054":40844,"_4592":40844,"_29601":40844,"_2225":40844,"_27992":40844,"_10995":40844,"_7485":40844,"_22002":40844,"_6069":40844,"_5214":40844,"_6297":40844,"_5697":40844,"_9517":40844,"_12923":40844,"_25032":40844,"_29630":40844,"_10041":40844,"_3020":40844,"_30822":40844,"_31492":40844,"_23688":40844,"_3325":40844,"_20508":40844,"_31481":40844,"_20131":40844,"_20547":40844,"_6379":40844},"1169",{"_5968":40806,"_11313":40806,"_11353":40806,"_11346":40806,"_11375":40806,"_11306":40806,"_3925":40806,"_6069":40806,"_35295":40806,"_22216":40806,"_32855":40806,"_15844":40806,"_31481":40806,"_34137":40806,"_35345":40806,"_5214":40806,"_3997":40806,"_33974":40806,"_22291":40806,"_32829":40806,"_3399":40806,"_12541":40806,"_21124":40806,"_29630":40806,"_10041":40806,"_19054":40806,"_6252":40806,"_37547":40806,"_19065":40806,"_33211":40806,"_20131":40806,"_11161":40806},"1170",{"_11263":40829,"_29601":40829,"_22216":40829,"_7716":40829,"_17097":40829,"_7485":40829,"_27652":40829},"1171",{"_10165":40827,"_29601":40827,"_2225":40827,"_27026":40827,"_5302":40827,"_3658":40827,"_22291":40827,"_10291":40827},"1172",{"_3290":41056,"_3132":41056,"_2225":41056,"_27992":41056,"_27647":41056,"_31369":41056,"_18078":41056,"_3642":41056,"_18170":41056,"_32794":41056,"_3399":41056,"_16763":41056,"_34433":41056,"_22216":41056,"_15546":41056,"_25032":41056,"_15691":41056,"_31429":41056,"_7875":41056,"_31486":41056,"_27407":41056,"_4843":41056,"_3020":41056,"_19406":41056,"_23688":41056,"_18073":41056,"_8794":41056,"_11263":41056,"_12628":41056,"_31394":41056,"_18979":41056,"_5180":41056,"_29490":41056,"_21124":41056,"_25752":41056,"_20131":41056,"_7485":41056,"_30435":41056,"_20482":41056,"_7593":41056,"_19081":41056,"_22306":41056,"_3925":41056,"_13909":41056,"_8144":41056,"_14706":41056,"_34475":41056,"_7535":41056,"_5697":41056,"_12805":41056,"_12923":41056,"_22260":41056,"_9238":41056,"_5053":41056,"_22291":41056,"_6047":41056,"_17877":41056,"_22228":41056,"_33873":41056,"_4871":41056,"_26285":41056,"_3074":41056,"_31481":41056,"_8358":41056},"1173",{"_23688":41009,"_34433":41009,"_2225":41009,"_7367":41009,"_19406":41009,"_25817":41009,"_5697":41009,"_7225":41009,"_21511":41009,"_3325":41009,"_31369":41009,"_3132":41009,"_22260":41009,"_34439":41009,"_3925":41009,"_3074":41009,"_5180":41009,"_5302":41009,"_17938":41009,"_4843":41009,"_24776":41009,"_8794":41009,"_4105":41009,"_22216":41009,"_7485":41009,"_13299":41009,"_22127":41009,"_31394":41009,"_32794":41009,"_31481":41009,"_20131":41009,"_30745":41009,"_32344":41009,"_27308":41009},"1174",{"_7459":40825,"_34433":40825,"_22216":40825,"_12541":40825,"_21464":40825,"_3925":40825,"_3074":40825,"_5180":40825,"_5302":40825,"_17938":40825,"_32794":40825,"_3132":40825,"_6069":40825,"_7593":40825,"_3222":40825,"_24952":40825,"_31404":40825,"_4692":40825,"_27102":40825,"_3765":40825,"_20497":40825,"_5675":40825},"1175",{"_36307":40806,"_34433":40806,"_22216":40806,"_12541":40806,"_36329":40806,"_18842":40806,"_3925":40806,"_3074":40806,"_5180":40806,"_5302":40806,"_17938":40806,"_32794":40806,"_3132":40806,"_32549":40806,"_7853":40806,"_6069":40806,"_2225":40806,"_31394":40806,"_34412":40806,"_26217":40806,"_6707":40806,"_13350":40806,"_3765":40806,"_4742":40806,"_4871":40806,"_3399":40806,"_22250":40806,"_3290":40806,"_17136":40806,"_7535":40806,"_27647":40806,"_26242":40806},"1176",{"_22216":40817,"_7716":40817,"_14109":40817,"_3765":40817,"_18170":40817,"_8794":40817,"_11263":40817,"_2222":40817,"_28864":40817},"1177",{"_14045":40815,"_16818":40815,"_12793":40815,"_15794":40815,"_10041":40815,"_2212":40815,"_2216":40815,"_35135":40815,"_3399":40815,"_28777":40815,"_16221":40815,"_15530":40815},"1178",{"_14045":40817,"_16818":40817,"_12798":40817,"_15794":40817,"_26242":40817,"_22216":40817,"_2212":40817,"_2216":40817,"_35135":40817},"1179",{"_14045":40821,"_16818":40821,"_12804":40821,"_15794":40821,"_12805":40821,"_15530":40821},"1180",{"_14045":40821,"_16818":40821,"_12811":40821,"_15794":40821,"_12812":40821,"_15530":40821},"1181",{"_14045":40821,"_16818":40821,"_12823":40821,"_15794":40821,"_32959":40821,"_12890":40821},"1182",{"_14045":40901,"_16818":40901,"_12830":40901,"_4455":40901,"_6069":40901,"_22216":40901,"_5400":40901,"_8658":40901,"_3020":40901,"_2220":40901,"_22511":40901},"1183",{"_22216":40821,"_7716":40821,"_3765":40821,"_25651":40821,"_5180":40821,"_17975":40821},"1184",{"_9801":40878,"_5302":40878,"_12841":40878,"_10165":40878,"_3658":40878},"1185",{"_9801":40787,"_5302":40787,"_12847":40787,"_3290":40787},"1186",{"_12847":40901,"_33501":40901,"_17938":40901,"_25817":40901,"_27148":40901,"_20131":40901,"_16983":40901,"_3925":40901,"_22216":40901,"_6069":40901,"_15680":40901},"1187",{"_11263":40829,"_12541":40829,"_14842":40829,"_31486":40829,"_22347":40829,"_25651":40829,"_5214":40829},"1188",{"_9801":40878,"_5232":40878,"_12860":40878,"_12830":40878,"_12841":40878},"1189",{"_9801":40878,"_5232":40878,"_12758":40878,"_12793":40878,"_12841":40878},"1190",{"_9801":40878,"_5232":40878,"_12872":40878,"_12830":40878,"_12847":40878},"1191",{"_22216":41400,"_12906":41400,"_3132":41400,"_15032":41400,"_5829":41400,"_8264":41400,"_7535":41400,"_4455":41400,"_5180":41400,"_3642":41400,"_4242":41400,"_15794":41400,"_32959":41400,"_5775":41400,"_3997":41400,"_2212":41400,"_3399":41400,"_12805":41400,"_28777":41400,"_12812":41400,"_16221":41400,"_15530":41400,"_12758":41400,"_10051":41400,"_5053":41400,"_15643":41400,"_7073":41400,"_19060":41400,"_5697":41400,"_15680":41400,"_6069":41400,"_21124":41400,"_29630":41400,"_30522":41400,"_4871":41400,"_8794":41400,"_12628":41400,"_32535":41400,"_34412":41400,"_37640":41400,"_27647":41400,"_30461":41400,"_8144":41400,"_33974":41400,"_31486":41400,"_22306":41400},"1192",{"_22216":40829,"_7716":40829,"_11263":40829,"_5788":40829,"_24423":40829,"_31486":40829,"_5214":40829},"1193",{"_16818":40834,"_12853":40834,"_13207":40834,"_13202":40834,"_37657":40834,"_15432":40834,"_27647":40834,"_14045":40834,"_15410":40834,"_16121":40834,"_16157":40834,"_35479":40834,"_15047":40834,"_35474":40834,"_3":40834},"1194",{"_22216":40825,"_4242":40825,"_34433":40825,"_12853":40825,"_8132":40825,"_5697":40825,"_4866":40825,"_17860":40825,"_12628":40825,"_15794":40825,"_20131":40825,"_15859":40825,"_21199":40825,"_22757":40825,"_17877":40825,"_31640":40825,"_34412":40825,"_23383":40825,"_27652":40825,"_3399":40825,"_3020":40825,"_17943":40825},"1195",{"_16818":40836,"_12878":40836,"_13207":40836,"_13202":40836,"_37657":40836,"_15410":40836,"_6363":40836,"_14045":40836,"_35135":40836,"_35146":40836,"_9801":40836,"_5208":40836,"_5180":40836,"_37669":40836,"_8658":40836,"_10148":40836,"_20471":40836},"1196",{"_12878":40825,"_5775":40825,"_15632":40825,"_2225":40825,"_33711":40825,"_2212":40825,"_22216":40825,"_5180":40825,"_19238":40825,"_3132":40825,"_28777":40825,"_6069":40825,"_5214":40825,"_3978":40825,"_31486":40825,"_19267":40825,"_21124":40825,"_29630":40825,"_12805":40825,"_19054":40825,"_30997":40825,"_26242":40825},"1197",{"_16818":40815,"_12883":40815,"_13207":40815,"_13202":40815,"_37657":40815,"_15410":40815,"_6363":40815,"_9801":40815,"_5208":40815,"_5180":40815,"_37674":40815,"_25512":40815},"1198",{"_22306":40881,"_5775":40881,"_9476":40881,"_2225":40881,"_2212":40881,"_2216":40881,"_5180":40881,"_17136":40881,"_22216":40881,"_21124":40881,"_29630":40881,"_10041":40881,"_3020":40881,"_2974":40881,"_19054":40881,"_26242":40881,"_31492":40881,"_23688":40881,"_3325":40881,"_20508":40881,"_31481":40881,"_20131":40881,"_20547":40881,"_6379":40881},"1199",{"_16818":40815,"_12889":40815,"_13207":40815,"_13202":40815,"_37657":40815,"_15410":40815,"_6363":40815,"_12720":40815,"_14045":40815,"_9801":40815,"_5232":40815,"_5180":40815},"1200",{"_22306":40836,"_8132":40836,"_10431":40836,"_2212":40836,"_2216":40836,"_5180":40836,"_28777":40836,"_31486":40836,"_2225":40836,"_33711":40836,"_3659":40836,"_22216":40836,"_21124":40836,"_29630":40836,"_2974":40836,"_19054":40836,"_26242":40836},"1201",{"_30078":40984,"_3132":40984,"_2225":40984,"_27350":40984,"_15254":40984,"_22291":40984,"_20275":40984,"_10492":40984,"_6069":40984,"_22216":40984,"_5400":40984,"_4340":40984,"_5697":40984,"_4866":40984,"_17860":40984,"_34412":40984,"_7810":40984,"_27647":40984,"_3399":40984,"_12805":40984,"_3074":40984,"_33422":40984,"_2212":40984,"_17612":40984,"_31486":40984,"_15649":40984,"_19060":40984},"1202",{"_5":40794,"_17136":40794},"1203",{"_22306":40844,"_3132":40844,"_2225":40844,"_23503":40844,"_26933":40844,"_32535":40844,"_31369":40844,"_17069":40844,"_5697":40844,"_27159":40844,"_29485":40844,"_16855":40844,"_31486":40844,"_11263":40844,"_5214":40844,"_28041":40844,"_26125":40844,"_21889":40844,"_12540":40844,"_12546":40844,"_28261":40844,"_13331":40844,"_2222":40844,"_7535":40844,"_3074":40844,"_6069":40844,"_12541":40844,"_17643":40844},"1204",{"_30991":3013},"1205",{"_24693":40796,"_22216":40796,"_35859":40796,"_3399":40796,"_2222":40796,"_12541":40796,"_28864":40796,"_30991":40796,"_7535":40796,"_11263":40796,"_16556":40796,"_13304":40796,"_15884":40796,"_19709":40796,"_4322":40796,"_21214":40796,"_27041":40796,"_28869":40796},"1206",{"_35859":40794,"_30985":40794},"1207",{"_12541":40853,"_13755":40853,"_19244":40853},"1208",{"_2222":40794,"_30985":40794},"1209",{"_16715":3013},"1210",{"_30883":40878,"_30258":40878,"_6783":40878,"_2222":40878,"_12541":40878},"1211",{"_22216":40834,"_11263":40834,"_12541":40834,"_28869":40834,"_6450":40834,"_7485":40834,"_22693":40834,"_29119":40834,"_35859":40834,"_3399":40834,"_2222":40834,"_7716":40834,"_26180":40834,"_24146":40834,"_22223":40834},"1212",{"_22228":40888,"_3765":40888,"_22693":40888,"_19304":40888,"_22291":40888,"_20270":40888,"_7019":40888,"_22216":40888,"_11263":40888,"_35859":40888,"_30985":40888,"_6270":40888,"_4356":40888,"_3399":40888,"_3":40888,"_9217":40888,"_6069":40888,"_34439":40888,"_16932":40888,"_3020":40888,"_19146":40888,"_12628":40888,"_17643":40888,"_19294":40888,"_3132":40888,"_20120":40888,"_7230":40888,"_13321":40888,"_26983":40888,"_3925":40888,"_13603":40888},"1213",{"_22216":41000,"_20067":41000,"_13304":41000,"_34439":41000,"_8794":41000,"_2225":41000,"_11263":41000,"_35859":41000,"_12541":41000,"_3132":41000,"_16221":41000,"_22693":41000,"_14081":41000,"_23373":41000,"_6047":41000,"_3074":41000,"_5888":41000,"_26394":41000,"_5302":41000,"_3399":41000,"_19406":41000,"_25070":41000,"_9605":41000,"_5174":41000,"_16747":41000,"_6069":41000,"_18190":41000,"_18484":41000,"_20125":41000,"_27376":41000,"_5697":41000,"_25636":41000,"_25472":41000,"_9222":41000,"_9600":41000,"_22291":41000,"_31630":41000,"_33157":41000,"_16742":41000},"1214",{"_31394":40896,"_2225":40896,"_11263":40896,"_6649":40896,"_3132":40896,"_15626":40896,"_22693":40896,"_22357":40896,"_3765":40896,"_3925":40896,"_32003":40896,"_3074":40896,"_11116":40896,"_22352":40896,"_3399":40896,"_32476":40896,"_4455":40896,"_29774":40896,"_3997":40896,"_22216":40896,"_34412":40896,"_35859":40896,"_34350":40896,"_15884":40896,"_29763":40896,"_26394":40896,"_20077":40896,"_25132":40896,"_9785":40896,"_5697":40896,"_25966":40896,"_20094":40896,"_30049":40896,"_24776":40896,"_9175":40896,"_7535":40896,"_27896":40896,"_20904":40896,"_4592":40896,"_18205":40896,"_7485":40896,"_4092":40896,"_3297":40896,"_32481":40896,"_22228":40896,"_8315":40896,"_22316":40896,"_33939":40896,"_22291":40896,"_5242":40896,"_8204":40896,"_22306":40896,"_24086":40896},"1215",{"_4455":40888,"_15052":40888,"_7535":40888,"_4092":40888,"_15869":40888,"_3399":40888,"_31675":40888,"_15884":40888,"_31481":40888,"_20131":40888,"_20120":40888,"_7485":40888,"_6297":40888,"_3659":40888,"_4975":40888,"_2225":40888,"_8771":40888,"_22216":40888,"_15864":40888,"_15794":40888,"_24662":40888,"_3642":40888,"_18210":40888,"_22255":40888,"_31535":40888,"_30822":40888,"_33873":40888,"_3672":40888,"_18205":40888,"_24592":40888,"_22291":40888},"1216",{"_15884":40815,"_24662":40815,"_15800":40815,"_31295":40815,"_22216":40815,"_18210":40815,"_6069":40815,"_11116":40815,"_22352":40815,"_3020":40815,"_27896":40815,"_15869":40815},"1217",{"_27896":40798,"_15869":40798,"_20125":40798,"_15800":40798,"_9470":40798,"_7485":40798,"_22216":40798,"_14577":40798,"_6297":40798,"_7535":40798,"_32535":40798,"_4023":40798,"_2225":40798,"_12541":40798,"_24751":40798,"_7716":40798,"_18210":40798,"_10961":40798,"_3074":40798,"_4092":40798,"_10041":40798,"_6069":40798,"_2212":40798,"_31486":40798,"_3297":40798,"_26242":40798,"_5697":40798,"_21858":40798,"_3399":40798,"_22260":40798,"_15047":40798,"_15879":40798,"_8144":40798,"_20130":40798,"_7123":40798,"_18910":40798,"_30822":40798,"_18104":40798,"_33237":40798,"_20275":40798,"_26933":40798,"_33882":40798,"_22291":40798,"_17877":40798,"_22228":40798,"_3132":40798,"_15363":40798,"_30506":40798,"_28864":40798,"_31481":40798,"_9570":40798,"_32476":40798,"_27464":40798,"_15374":40798,"_30461":40798,"_9130":40798,"_30435":40798,"_31305":40798,"_12580":40798,"_33711":40798,"_35135":40798,"_18205":40798},"1218",{"_8006":40908,"_22216":40908,"_8786":40908,"_3978":40908,"_31486":40908,"_27205":40908,"_3765":40908,"_25790":40908,"_6018":40908,"_2225":40908,"_11263":40908,"_6649":40908,"_3132":40908,"_13484":40908,"_3020":40908,"_9580":40908,"_8490":40908,"_32476":40908,"_26437":40908,"_3399":40908,"_4926":40908,"_30430":40908,"_17384":40908,"_3997":40908,"_13478":40908,"_22693":40908,"_22357":40908,"_27200":40908,"_20773":40908,"_3642":40908,"_8182":40908,"_5053":40908,"_29654":40908,"_34702":40908,"_30486":40908,"_27148":40908,"_20131":40908,"_5347":40908},"1219",{"_22216":41264,"_7716":41264,"_28777":41264,"_13576":41264,"_13755":41264,"_18311":41264,"_7535":41264,"_35859":41264,"_12541":41264,"_30253":41264,"_15794":41264,"_26242":41264,"_3642":41264,"_6069":41264,"_22223":41264,"_34412":41264,"_7869":41264,"_12628":41264,"_19922":41264,"_10218":41264,"_26175":41264,"_2974":41264,"_6918":41264,"_11263":41264,"_16523":41264,"_4592":41264,"_29601":41264,"_34444":41264,"_19391":41264,"_5385":41264,"_28210":41264,"_25052":41264,"_3399":41264,"_27407":41264,"_4843":41264},"1220",{"_11263":40832,"_27407":40832,"_12541":40832,"_26242":40832,"_22216":40832,"_35135":40832,"_5697":40832,"_8460":40832,"_23435":40832,"_4843":40832,"_23795":40832,"_3132":40832,"_21858":40832},"1221",{"_11263":40940,"_27407":40940,"_13388":40940,"_28022":40940,"_22216":40940,"_13670":40940,"_26379":40940,"_7485":40940,"_35890":40940,"_28436":40940,"_7825":40940,"_23795":40940,"_3132":40940,"_12541":40940},"1222",{"_11263":40888,"_12628":40888,"_18842":40888,"_28022":40888,"_22216":40888,"_5697":40888,"_20131":40888,"_34439":40888,"_8794":40888,"_12541":40888,"_7535":40888,"_4843":40888,"_31374":40888,"_14354":40888,"_31394":40888,"_36944":40888,"_3132":40888,"_3095":40888,"_17877":40888,"_22306":40888,"_13755":40888,"_18170":40888,"_22260":40888,"_31481":40888,"_15800":40888,"_10492":40888,"_3642":40888,"_6069":40888,"_7716":40888,"_19244":40888,"_23880":40888},"1223",{"_11263":40808,"_27407":40808,"_12541":40808,"_7367":40808,"_21815":40808,"_2225":40808,"_18842":40808,"_3132":40808,"_23736":40808,"_17086":40808,"_22347":40808,"_19228":40808,"_22216":40808,"_18788":40808,"_16742":40808,"_3399":40808,"_10143":40808,"_7603":40808,"_6069":40808,"_22657":40808,"_36944":40808,"_35522":40808,"_28022":40808,"_19146":40808,"_12628":40808,"_23795":40808,"_24576":40808,"_8204":40808,"_7459":40808,"_8006":40808,"_26025":40808,"_31404":40808,"_35135":40808},"1224",{"_11263":41045,"_27407":41045,"_12541":41045,"_15816":41045,"_29499":41045,"_32579":41045,"_22216":41045,"_12628":41045,"_18842":41045,"_19238":41045,"_3132":41045,"_15800":41045,"_18170":41045,"_31481":41045,"_21962":41045,"_5697":41045,"_23880":41045,"_37553":41045,"_21464":41045,"_19146":41045,"_6069":41045,"_7924":41045,"_8144":41045,"_21593":41045,"_3925":41045,"_14167":41045,"_25817":41045,"_22260":41045,"_21951":41045,"_37581":41045,"_3228":41045,"_8794":41045,"_7303":41045,"_7680":41045,"_36552":41045,"_24820":41045,"_7853":41045,"_30388":41045,"_30253":41045,"_15794":41045,"_23435":41045,"_22306":41045,"_37587":41045,"_26285":41045,"_8460":41045},"1225",{"_11313":40881,"_11327":40881,"_11306":40881,"_11263":40881,"_27407":40881,"_12541":40881,"_4515":40881,"_33711":40881,"_7485":40881,"_13707":40881,"_31429":40881,"_10815":40881,"_24963":40881,"_28688":40881,"_3132":40881,"_3095":40881,"_31394":40881,"_14071":40881,"_22216":40881,"_12628":40881,"_18842":40881,"_7535":40881,"_23795":40881,"_8460":40881},"1226",{"_11263":40815,"_12628":40815,"_10143":40815,"_19146":40815,"_6069":40815,"_22216":40815,"_18842":40815,"_8794":40815,"_23795":40815,"_8144":40815,"_3132":40815,"_12541":40815},"1227",{"_11263":41018,"_23450":41018,"_22306":41018,"_28194":41018,"_13707":41018,"_31429":41018,"_4735":41018,"_3297":41018,"_9426":41018,"_3132":41018,"_3095":41018,"_13350":41018,"_4742":41018,"_4808":41018,"_9044":41018,"_24592":41018,"_26394":41018,"_9763":41018,"_8794":41018,"_23795":41018,"_5871":41018,"_4494":41018,"_22216":41018,"_12541":41018,"_5697":41018,"_23072":41018,"_6126":41018,"_30486":41018,"_26285":41018,"_21858":41018},"1228",{"_11313":40806,"_11327":40806,"_11263":40806,"_12541":40806,"_26217":40806,"_33711":40806,"_7485":40806,"_17877":40806,"_30253":40806,"_31635":40806,"_5697":40806,"_14151":40806,"_22216":40806,"_12628":40806,"_6707":40806,"_33743":40806,"_26242":40806,"_22306":40806,"_18305":40806,"_21858":40806,"_3997":40806,"_31481":40806,"_34412":40806,"_28210":40806,"_31486":40806,"_28017":40806,"_15691":40806,"_33882":40806,"_22291":40806,"_8144":40806,"_8841":40806,"_33788":40806},"1229",{"_11263":41018,"_13366":41018,"_28022":41018,"_31369":41018,"_5697":41018,"_20131":41018,"_34439":41018,"_19679":41018,"_20508":41018,"_3765":41018,"_6270":41018,"_4356":41018,"_13383":41018,"_3399":41018,"_13377":41018,"_23795":41018,"_3132":41018,"_17877":41018,"_30253":41018,"_31635":41018,"_14151":41018,"_26025":41018,"_26217":41018,"_12541":41018,"_6707":41018,"_33743":41018,"_26242":41018,"_22306":41018,"_18305":41018,"_3997":41018},"1230",{"_11313":40841,"_11327":40841,"_11263":40841,"_28210":40841,"_36876":40841,"_28568":40841,"_3399":40841,"_19406":40841,"_33711":40841,"_7485":40841,"_28022":40841,"_22216":40841,"_7825":40841,"_6363":40841,"_5697":40841,"_2225":40841,"_35938":40841,"_13587":40841,"_28517":40841,"_15691":40841,"_20131":40841,"_34439":40841,"_7535":40841,"_14173":40841,"_34576":40841},"1231",{"_11411":40911,"_11313":40911,"_11375":40911,"_11263":40911,"_28210":40911,"_36876":40911,"_19412":40911,"_33711":40911,"_7485":40911,"_28022":40911,"_22216":40911,"_7825":40911,"_6363":40911,"_31369":40911,"_13576":40911,"_19406":40911},"1232",{"_11313":40841,"_11327":40841,"_11263":40841,"_28210":40841,"_21873":40841,"_28568":40841,"_3399":40841,"_19406":40841,"_33711":40841,"_7485":40841,"_28022":40841,"_22216":40841,"_7825":40841,"_6363":40841,"_5697":40841,"_2225":40841,"_35938":40841,"_13587":40841,"_9061":40841,"_15691":40841,"_20131":40841,"_34439":40841,"_7535":40841,"_14173":40841,"_34576":40841},"1233",{"_11411":40911,"_11313":40911,"_11375":40911,"_11263":40911,"_28210":40911,"_21873":40911,"_19412":40911,"_33711":40911,"_7485":40911,"_28022":40911,"_22216":40911,"_7825":40911,"_6363":40911,"_31369":40911,"_13576":40911,"_19406":40911},"1234",{"_11411":41107,"_11313":41107,"_11327":41107,"_11320":41107,"_11346":41107,"_11263":41107,"_28210":41107,"_36876":41107,"_5":41107,"_3399":41107,"_21873":41107,"_33711":41107,"_7485":41107,"_28022":41107,"_22216":41107,"_7825":41107,"_7603":41107,"_6069":41107,"_36871":41107,"_21863":41107,"_21874":41107,"_7841":41107,"_34439":41107,"_5697":41107,"_33364":41107,"_22855":41107,"_14167":41107,"_12628":41107,"_20508":41107,"_35938":41107,"_19107":41107,"_20023":41107,"_3020":41107,"_34246":41107,"_23896":41107,"_8794":41107,"_7852":41107,"_23795":41107,"_31344":41107,"_31630":41107,"_3252":41107},"1235",{"_36621":41304,"_12553":41304,"_20447":41304,"_7485":41304,"_22216":41304,"_12541":41304,"_27134":41304,"_8144":41304,"_28022":41304,"_20370":41304,"_27051":41304,"_6069":41304,"_16586":41304,"_3":41304,"_8204":41304,"_12628":41304,"_23795":41304,"_3132":41304,"_36226":41304,"_30626":41304,"_3020":41304,"_3307":41304,"_34687":41304,"_36710":41304,"_22306":41304,"_10138":41304,"_2225":41304,"_27422":41304,"_10218":41304,"_11263":41304,"_24091":41304,"_5697":41304,"_21874":41304,"_3399":41304,"_26495":41304,"_3997":41304,"_6297":41304,"_36981":41304,"_17877":41304,"_29367":41304,"_20718":41304,"_22281":41304,"_35135":41304,"_3074":41304,"_17888":41304,"_11161":41304,"_27148":41304,"_36903":41304,"_27355":41304,"_31486":41304,"_26285":41304,"_7869":41304,"_26347":41304,"_36339":41304,"_31481":41304,"_31880":41304,"_6252":41304,"_18388":41304,"_3845":41304},"1236",{"_11263":40885,"_37012":40885,"_28022":40885,"_6363":40885,"_5697":40885,"_30970":40885,"_23795":40885,"_3132":40885,"_34516":40885,"_30960":40885},"1237",{"_11411":43233,"_11313":43233,"_36123":43233,"_11263":43233,"_27231":43233,"_33711":43233,"_7485":43233,"_28022":43233,"_31429":43233,"_12541":43233,"_27148":43233,"_11137":43233,"_19837":43233,"_3074":43233,"_7459":43233,"_3228":43233,"_8204":43233,"_22216":43233,"_24963":43233,"_28688":43233,"_36437":43233,"_5242":43233,"_31394":43233,"_9367":43233,"_12628":43233,"_3244":43233,"_3020":43233,"_15800":43233,"_22306":43233,"_3132":43233,"_2225":43233,"_8293":43233,"_8651":43233,"_6297":43233,"_5697":43233,"_36903":43233,"_6214":43233,"_30486":43233,"_6069":43233,"_23795":43233,"_9357":43233,"_25579":43233,"_30435":43233,"_31976":43233,"_23440":43233,"_8144":43233,"_8794":43233,"_10180":43233,"_30471":43233,"_22291":43233,"_27237":43233,"_9130":43233,"_36447":43233,"_27313":43233,"_35768":43233,"_33804":43233,"_18305":43233,"_35859":43233,"_22106":43233,"_18727":43233,"_8460":43233,"_13707":43233,"_35773":43233,"_30868":43233,"_18894":43233,"_35527":43233,"_35135":43233,"_35532":43233,"_21858":43233,"_19524":43233,"_22511":43233,"_28777":43233,"_3672":43233,"_31875":43233,"_5400":43233,"_7869":43233,"_31630":43233,"_15032":43233,"_17517":43233,"_15925":43233,"_21464":43233,"_9372":43233,"_18435":43233,"_3399":43233,"_21124":43233,"_29630":43233,"_30522":43233,"_8034":43233,"_24622":43233,"_25712":43233,"_32139":43233,"_3659":43233,"_21246":43233,"_31635":43233,"_18717":43233,"_6499":43233,"_31369":43233,"_18200":43233,"_20131":43233,"_13697":43233,"_18311":43233,"_29569":43233,"_22223":43233,"_26291":43233,"_27021":43233,"_29601":43233,"_31486":43233,"_13187":43233,"_23290":43233,"_13175":43233,"_16834":43233,"_30253":43233,"_33743":43233,"_25132":43233,"_14523":43233,"_30907":43233,"_9191":43233,"_4602":43233,"_27355":43233,"_11142":43233},0.008333333333333333,"1238",{"_11411":40844,"_11313":40844,"_36123":40844,"_11469":40844,"_11263":40844,"_24981":40844,"_24974":40844,"_33711":40844,"_7485":40844,"_28022":40844,"_22216":40844,"_10502":40844,"_16944":40844,"_26191":40844,"_7535":40844,"_24963":40844,"_24969":40844,"_9668":40844,"_28693":40844,"_31394":40844,"_34412":40844,"_24980":40844,"_2225":40844,"_35135":40844,"_6069":40844,"_23445":40844,"_19033":40844,"_23795":40844},"1239",{"_22216":40800,"_2222":40800,"_30985":40800,"_29601":40800,"_2225":40800,"_27041":40800,"_3399":40800,"_21166":40800,"_28864":40800,"_3132":40800,"_33183":40800,"_5697":40800,"_10492":40800,"_4692":40800,"_26988":40800,"_35859":40800,"_4322":40800,"_22306":40800,"_31481":40800,"_12805":40800,"_3074":40800,"_11116":40800,"_22352":40800,"_32476":40800,"_23666":40800,"_7535":40800,"_29683":40800,"_14167":40800,"_20077":40800,"_15884":40800,"_4494":40800,"_11263":40800,"_20131":40800,"_34439":40800,"_7485":40800,"_13432":40800,"_4249":40800,"_8794":40800,"_32641":40800,"_28698":40800},"1240",{"_11353":41182,"_22216":41182,"_19294":41182,"_16566":41182,"_22693":41182,"_27282":41182,"_28869":41182,"_12672":41182,"_3399":41182,"_12697":41182,"_7659":41182,"_6047":41182,"_18165":41182,"_4092":41182,"_4340":41182,"_15884":41182,"_7535":41182,"_17029":41182,"_17086":41182,"_4256":41182,"_32476":41182,"_28698":41182,"_10180":41182,"_22306":41182,"_28864":41182,"_32855":41182,"_3132":41182,"_5697":41182,"_25052":41182,"_19888":41182,"_32022":41182,"_2225":41182,"_37684":41182,"_15800":41182,"_5318":41182,"_3020":41182,"_34672":41182,"_3002":41182,"_2217":41182,"_8270":41182,"_4309":41182,"_7485":41182,"_4455":41182,"_3672":41182,"_15930":41182,"_4242":41182,"_24388":41182,"_27148":41182,"_28762":41182,"_31486":41182,"_3925":41182,"_8144":41182,"_31123":41182,"_7686":41182,"_4086":41182,"_4322":41182},"1241",{"_11313":40825,"_17877":40825,"_30279":40825,"_30883":40825,"_22216":40825,"_12541":40825,"_8204":40825,"_2225":40825,"_15512":40825,"_4356":40825,"_10269":40825,"_7710":40825,"_25878":40825,"_6455":40825,"_30373":40825,"_18526":40825,"_26880":40825,"_19294":40825,"_24740":40825,"_28270":40825,"_5697":40825,"_25873":40825},"1242",{"_8755":40911,"_21517":40911,"_15144":40911,"_7485":40911,"_12552":40911,"_23347":40911,"_21889":40911,"_22306":40911,"_31481":40911,"_12805":40911,"_2225":40911,"_34290":40911,"_7230":40911,"_34687":40911,"_12540":40911,"_12546":40911},"1243",{"_5968":40984,"_37102":40984,"_15363":40984,"_23347":40984,"_5697":40984,"_22216":40984,"_21889":40984,"_12540":40984,"_12546":40984,"_3399":40984,"_8755":40984,"_4818":40984,"_37290":40984,"_31092":40984,"_4783":40984,"_4753":40984,"_28874":40984,"_20270":40984,"_20952":40984,"_30253":40984,"_29630":40984,"_12720":40984,"_3020":40984,"_7036":40984,"_16732":40984,"_28270":40984,"_25889":40984},"1244",{"_17877":40802,"_30253":40802,"_3765":40802,"_30883":40802,"_8204":40802,"_2225":40802,"_18526":40802,"_26880":40802,"_19294":40802,"_34905":40802,"_34796":40802,"_22216":40802,"_21577":40802,"_3399":40802,"_16313":40802,"_5697":40802,"_12558":40802,"_4309":40802,"_12540":40802,"_12546":40802,"_23347":40802},"1245",{"_8755":40802,"_13775":40802,"_30263":40802,"_5697":40802,"_7225":40802,"_22216":40802,"_20280":40802,"_30078":40802,"_3765":40802,"_26763":40802,"_6069":40802,"_5879":40802,"_34536":40802,"_25070":40802,"_22291":40802,"_15794":40802,"_20131":40802,"_34444":40802,"_7485":40802,"_22306":40802,"_25873":40802},"1246",{"_37263":40901,"_32170":40901,"_5925":40901,"_3399":40901,"_23778":40901,"_17136":40901,"_15150":40901,"_5879":40901,"_23440":40901,"_8794":40901,"_23795":40901},"1247",{"_37269":40832,"_23445":40832,"_7686":40832,"_4322":40832,"_25052":40832,"_12697":40832,"_28864":40832,"_31971":40832,"_20131":40832,"_17097":40832,"_3095":40832,"_8794":40832,"_23795":40832},"1248",{"_37220":40817,"_24662":40817,"_15800":40817,"_30878":40817,"_25574":40817,"_28869":40817,"_3095":40817,"_8794":40817,"_23795":40817},"1249",{"_37226":40817,"_24662":40817,"_15800":40817,"_30878":40817,"_27282":40817,"_28869":40817,"_3095":40817,"_8794":40817,"_23795":40817},"1250",{"_5":40794,"_17136":40794},"1251",{"_6884":41400,"_26125":41400,"_16710":41400,"_7535":41400,"_7255":41400,"_17163":41400,"_5385":41400,"_8761":41400,"_13775":41400,"_8755":41400,"_20270":41400,"_3020":41400,"_5697":41400,"_30878":41400,"_22216":41400,"_28869":41400,"_3399":41400,"_22265":41400,"_7225":41400,"_24825":41400,"_24688":41400,"_11263":41400,"_4322":41400,"_24831":41400,"_4455":41400,"_31481":41400,"_20131":41400,"_19872":41400,"_7485":41400,"_2225":41400,"_33711":41400,"_25327":41400,"_34290":41400,"_24672":41400,"_8794":41400,"_23795":41400,"_22306":41400,"_14682":41400,"_6047":41400,"_7235":41400,"_30179":41400,"_3997":41400,"_3672":41400,"_24677":41400,"_7610":41400,"_37275":41400},"1252",{"_7485":40834,"_6297":40834,"_5697":40834,"_20131":40834,"_3145":40834,"_10492":40834,"_22216":40834,"_11263":40834,"_2222":40834,"_4322":40834,"_30258":40834,"_4242":40834,"_30253":40834,"_29630":40834,"_9088":40834},"1253",{"_16561":40787,"_11263":40787,"_30029":40787,"_3322":40787},"1254",{"_17877":41018,"_30253":41018,"_3765":41018,"_30883":41018,"_2225":41018,"_21214":41018,"_12541":41018,"_15144":41018,"_31486":41018,"_37141":41018,"_15150":41018,"_8651":41018,"_5697":41018,"_32156":41018,"_22216":41018,"_21166":41018,"_12720":41018,"_6069":41018,"_28864":41018,"_3399":41018,"_22260":41018,"_28762":41018,"_5675":41018,"_12697":41018,"_27041":41018,"_24662":41018,"_15800":41018,"_20131":41018,"_20952":41018,"_22270":41018},"1255",{"_5":40794,"_17136":40794},"1256",{"_26125":40940,"_21889":40940,"_12540":40940,"_12546":40940,"_28261":40940,"_13331":40940,"_2222":40940,"_7535":40940,"_3074":40940,"_32535":40940,"_6069":40940,"_2225":40940,"_12541":40940,"_17643":40940},"1257",{"_30883":40829,"_31300":40829,"_2225":40829,"_6918":40829,"_5697":40829,"_11263":40829,"_5788":40829},"1258",{"_2225":40825,"_18922":40825,"_10462":40825,"_7535":40825,"_4455":40825,"_5788":40825,"_24383":40825,"_15794":40825,"_18990":40825,"_5675":40825,"_11263":40825,"_12628":40825,"_15171":40825,"_33211":40825,"_29683":40825,"_14354":40825,"_3399":40825,"_22216":40825,"_8106":40825,"_27896":40825,"_4092":40825,"_4322":40825},"1259",{"_29683":40794,"_33216":40794},"1260",{"_14354":40853,"_5697":40853,"_11263":40853},"1261",{"_22306":40844,"_26175":40844,"_25186":40844,"_4455":40844,"_22216":40844,"_5788":40844,"_2225":40844,"_24383":40844,"_15794":40844,"_18990":40844,"_5675":40844,"_11263":40844,"_12628":40844,"_8144":40844,"_3132":40844,"_28623":40844,"_29347":40844,"_17163":40844,"_22281":40844,"_33157":40844,"_14430":40844,"_15438":40844,"_7485":40844,"_20180":40844,"_30822":40844,"_29860":40844,"_4322":40844,"_10462":40844},"1262",{"_31123":41400,"_22216":41400,"_35859":41400,"_3399":41400,"_2222":41400,"_12541":41400,"_30991":41400,"_20125":41400,"_10249":41400,"_33216":41400,"_30985":41400,"_24751":41400,"_4593":41400,"_8794":41400,"_22450":41400,"_36924":41400,"_15849":41400,"_15254":41400,"_3997":41400,"_13798":41400,"_31481":41400,"_9470":41400,"_13266":41400,"_33211":41400,"_9476":41400,"_3074":41400,"_3925":41400,"_23819":41400,"_7485":41400,"_32398":41400,"_12781":41400,"_4322":41400,"_15884":41400,"_17229":41400,"_5242":41400,"_7535":41400,"_29113":41400,"_26125":41400,"_24688":41400,"_35880":41400,"_24825":41400,"_8106":41400,"_23860":41400,"_19679":41400,"_22250":41400,"_20931":41400},"1263",{"_30461":41196,"_31976":41196,"_30532":41196,"_30253":41196,"_31481":41196,"_29630":41196,"_5697":41196,"_26242":41196,"_7019":41196,"_2225":41196,"_8761":41196,"_11263":41196,"_12628":41196,"_4593":41196,"_22291":41196,"_15794":41196,"_25609":41196,"_24398":41196,"_22216":41196,"_12541":41196,"_7535":41196,"_2222":41196,"_30991":41196,"_20131":41196,"_34412":41196,"_21214":41196,"_28864":41196,"_12687":41196,"_31486":41196,"_26933":41196,"_32535":41196,"_31557":41196,"_7485":41196,"_33364":41196,"_14167":41196,"_20270":41196,"_10492":41196,"_6069":41196,"_4322":41196,"_3280":41196,"_37689":41196,"_7716":41196,"_27118":41196},"1264",{"_16818":40832,"_12708":40832,"_14045":40832,"_15410":40832,"_21464":40832,"_31717":40832,"_8734":40832,"_9860":40832,"_13462":40832,"_13457":40832,"_35474":40832,"_13670":40832,"_8658":40832},"1265",{"_11411":41018,"_6884":41018,"_36637":41018,"_37455":41018,"_35609":41018,"_35614":41018,"_21464":41018,"_14167":41018,"_25817":41018,"_5697":41018,"_11263":41018,"_12628":41018,"_7485":41018,"_22216":41018,"_7603":41018,"_6069":41018,"_6707":41018,"_17877":41018,"_22228":41018,"_3765":41018,"_21199":41018,"_25966":41018,"_10492":41018,"_14677":41018,"_3925":41018,"_26581":41018,"_5473":41018,"_28051":41018,"_19452":41018,"_33680":41018},"1266",{"_8734":40901,"_31675":40901,"_8132":40901,"_5697":40901,"_18190":40901,"_32481":40901,"_31394":40901,"_2225":40901,"_33914":40901,"_3132":40901,"_21936":40901},"1267",{"_9860":40821,"_26394":40821,"_32739":40821,"_8771":40821,"_7485":40821,"_21364":40821},"1268",{"_11411":40841,"_13457":40841,"_31976":40841,"_15794":40841,"_28046":40841,"_7535":40841,"_2225":40841,"_33711":40841,"_26394":40841,"_17877":40841,"_29601":40841,"_4630":40841,"_33364":40841,"_18639":40841,"_14523":40841,"_18145":40841,"_22291":40841,"_12541":40841,"_5302":40841,"_3399":40841,"_8144":40841,"_31861":40841,"_9763":40841,"_5697":40841,"_18633":40841},"1269",{"_11411":40784,"_13670":40784,"_6649":40784,"_22291":40784,"_15794":40784,"_20131":40784,"_3978":40784,"_31486":40784,"_22216":40784,"_13084":40784,"_29291":40784,"_17877":40784,"_8144":40784,"_3132":40784,"_15800":40784,"_34439":40784,"_31976":40784,"_26242":40784,"_5697":40784},"1270",{"_11411":40885,"_8658":40885,"_7485":40885,"_3074":40885,"_17364":40885,"_31976":40885,"_15794":40885,"_29301":40885,"_8144":40885,"_7535":40885},"1271",{"_31976":40881,"_31481":40881,"_24548":40881,"_12541":40881,"_22291":40881,"_6419":40881,"_14157":40881,"_5697":40881,"_11263":40881,"_5473":40881,"_25147":40881,"_14167":40881,"_3020":40881,"_3074":40881,"_33211":40881,"_21040":40881,"_6252":40881,"_29164":40881,"_15844":40881,"_22216":40881,"_7716":40881,"_15254":40881,"_13043":40881,"_16293":40881},"1272",{"_15144":40827,"_22216":40827,"_15254":40827,"_31486":40827,"_21214":40827,"_28864":40827,"_21088":40827,"_30461":40827},"1273",{"_3825":40829,"_37295":40829,"_13043":40829,"_16282":40829,"_37300":40829,"_37306":40829,"_12541":40829},"1274",{"_8755":40853,"_22216":40853,"_12541":40853},"1275",{"_12541":3013},"1276",{"_8204":40796,"_22216":40796,"_6412":40796,"_30253":40796,"_27148":40796,"_26125":40796,"_14157":40796,"_5697":40796,"_11263":40796,"_4661":40796,"_31486":40796,"_11291":40796,"_23778":40796,"_21046":40796,"_17877":40796,"_14167":40796,"_3132":40796,"_25147":40796},"1277",{"_13965":40794,"_6973":40794},"1278",{"_23860":40784,"_11291":40784,"_13965":40784,"_6973":40784,"_26592":40784,"_5591":40784,"_27026":40784,"_7869":40784,"_17831":40784,"_9947":40784,"_3399":40784,"_22778":40784,"_29485":40784,"_22255":40784,"_14973":40784,"_5697":40784,"_3672":40784,"_23629":40784,"_27813":40784},"1279",{"_11263":41000,"_3132":41000,"_2225":41000,"_29829":41000,"_18995":41000,"_27620":41000,"_25941":41000,"_31123":41000,"_10086":41000,"_3399":41000,"_10069":41000,"_5788":41000,"_3765":41000,"_24091":41000,"_5697":41000,"_20131":41000,"_8403":41000,"_22475":41000,"_8408":41000,"_22281":41000,"_31581":41000,"_22216":41000,"_10180":41000,"_7535":41000,"_22306":41000,"_22291":41000,"_7485":41000,"_15925":41000,"_6069":41000,"_15794":41000,"_25956":41000,"_6225":41000,"_3":41000,"_31369":41000,"_23072":41000,"_24617":41000,"_11291":41000,"_13965":41000,"_6973":41000},"1280",{"_26592":40911,"_13965":40911,"_34960":40911,"_8204":40911,"_2225":40911,"_12541":40911,"_31481":40911,"_20131":40911,"_4277":40911,"_7485":40911,"_22216":40911,"_6297":40911,"_22291":40911,"_22255":40911,"_32022":40911,"_26490":40911},"1281",{"_5591":40901,"_34960":40901,"_33237":40901,"_25157":40901,"_3020":40901,"_8358":40901,"_22228":40901,"_3765":40901,"_33873":40901,"_19223":40901,"_9395":40901},"1282",{"_27026":41018,"_7869":41018,"_17831":41018,"_2225":41018,"_12541":41018,"_31481":41018,"_26125":41018,"_22216":41018,"_27355":41018,"_6559":41018,"_6069":41018,"_25941":41018,"_10564":41018,"_12628":41018,"_22291":41018,"_8144":41018,"_14372":41018,"_5697":41018,"_3002":41018,"_2217":41018,"_33856":41018,"_3074":41018,"_6225":41018,"_32471":41018,"_17877":41018,"_8371":41018,"_6499":41018,"_23383":41018,"_31486":41018,"_26394":41018},"1283",{"_9947":40871,"_6018":40871,"_3074":40871,"_34955":40871,"_29601":40871,"_30522":40871,"_4277":40871,"_8144":40871,"_31481":40871,"_18952":40871,"_8204":40871,"_22291":40871,"_8771":40871,"_7571":40871,"_34785":40871,"_2225":40871,"_12541":40871,"_6592":40871,"_22216":40871,"_22306":40871,"_6967":40871,"_22693":40871,"_14636":40871},"1284",{"_17877":41144,"_2225":41144,"_12541":41144,"_7280":41144,"_25147":41144,"_9470":41144,"_15254":41144,"_22216":41144,"_34955":41144,"_31481":41144,"_29630":41144,"_30522":41144,"_4277":41144,"_3997":41144,"_26763":41144,"_8383":41144,"_14747":41144,"_33216":41144,"_22752":41144,"_33120":41144,"_15800":41144,"_37023":41144,"_29601":41144,"_3020":41144,"_31976":41144,"_21588":41144,"_25878":41144,"_5697":41144,"_21307":41144,"_30822":41144,"_6967":41144,"_3132":41144,"_6047":41144,"_18581":41144,"_31486":41144,"_15270":41144,"_22306":41144,"_15859":41144,"_20702":41144,"_14452":41144,"_7485":41144,"_19462":41144},"1285",{"_3642":40841,"_34960":40841,"_22291":40841,"_3765":40841,"_26130":40841,"_8794":40841,"_22216":40841,"_12541":40841,"_22387":40841,"_2225":40841,"_10041":40841,"_8851":40841,"_3020":40841,"_25147":40841,"_34955":40841,"_31481":40841,"_33856":40841,"_20131":40841,"_10990":40841,"_8485":40841,"_31394":40841,"_9636":40841,"_8204":40841,"_12628":40841,"_8383":40841},"1286",{"_22778":40888,"_22216":40888,"_13350":40888,"_6559":40888,"_6069":40888,"_7869":40888,"_3132":40888,"_6982":40888,"_5697":40888,"_20131":40888,"_34991":40888,"_31497":40888,"_2225":40888,"_16142":40888,"_8771":40888,"_31055":40888,"_3997":40888,"_6297":40888,"_22196":40888,"_26191":40888,"_33237":40888,"_15368":40888,"_31481":40888,"_26130":40888,"_8794":40888,"_12541":40888,"_22306":40888,"_3020":40888,"_23896":40888,"_25941":40888,"_6462":40888},"1287",{"_34412":40924,"_22223":40924,"_13965":40924,"_6973":40924,"_8144":40924,"_3132":40924,"_33193":40924,"_5697":40924,"_30878":40924,"_29860":40924,"_29347":40924,"_8171":40924,"_25132":40924,"_3925":40924,"_8414":40924,"_8420":40924,"_30794":40924,"_36411":40924,"_3399":40924,"_10041":40924,"_10069":40924,"_10841":40924,"_28592":40924,"_26850":40924,"_4975":40924,"_22216":40924,"_11263":40924,"_12541":40924,"_33873":40924,"_3202":40924,"_33753":40924,"_26125":40924,"_9839":40924,"_26860":40924,"_7535":40924,"_20718":40924,"_23860":40924},"1288",{"_5":40794,"_17136":40794},"1289",{"_11411":43338,"_6884":43338,"_26784":43338,"_24388":43338,"_21401":43338,"_4023":43338,"_3659":43338,"_3672":43338,"_6967":43338,"_22291":43338,"_11263":43338,"_24751":43338,"_15800":43338,"_7485":43338,"_3914":43338,"_20270":43338,"_22306":43338,"_3132":43338,"_27005":43338,"_13955":43338,"_15722":43338,"_35379":43338,"_4975":43338,"_32456":43338,"_16742":43338,"_8771":43338,"_22693":43338,"_23383":43338,"_13350":43338,"_31481":43338,"_29630":43338,"_17948":43338,"_6069":43338,"_3":43338,"_24617":43338,"_5697":43338,"_8544":43338,"_7875":43338,"_33804":43338,"_24054":43338,"_12541":43338,"_20125":43338,"_18990":43338,"_3074":43338,"_34955":43338,"_30461":43338,"_3671":43338,"_7280":43338,"_33924":43338,"_22216":43338,"_15363":43338,"_13980":43338,"_27625":43338,"_2225":43338,"_3399":43338,"_3871":43338,"_17877":43338,"_23265":43338,"_35135":43338,"_12923":43338,"_8204":43338,"_22260":43338,"_22122":43338,"_10041":43338,"_6214":43338,"_24296":43338,"_3997":43338,"_31369":43338,"_12628":43338,"_8144":43338,"_14157":43338,"_17763":43338,"_27355":43338,"_27148":43338,"_15844":43338,"_7686":43338,"_20898":43338,"_4322":43338,"_19017":43338,"_16221":43338,"_4593":43338,"_8794":43338,"_17860":43338,"_24761":43338,"_15368":43338,"_6171":43338,"_27901":43338,"_5174":43338,"_4455":43338,"_25966":43338,"_30822":43338,"_18805":43338,"_15794":43338,"_20131":43338,"_34439":43338,"_14055":43338,"_29860":43338,"_29347":43338,"_8171":43338,"_18145":43338,"_34444":43338,"_27876":43338,"_7535":43338,"_20718":43338,"_17163":43338,"_26125":43338,"_9839":43338},0.009345794392523364,"1290",{"_3":40794,"_20788":40794},"1291",{"_32709":40784,"_11291":40784,"_29947":40784,"_34279":40784,"_6069":40784,"_12931":40784,"_16556":40784,"_3":40784,"_5053":40784,"_8786":40784,"_33422":40784,"_3399":40784,"_26603":40784,"_33974":40784,"_13597":40784,"_22399":40784,"_22216":40784,"_25512":40784,"_25857":40784},"1292",{"_12931":3013},"1293",{"_9044":3013},"1294",{"_3":40794,"_5053":40794},"1295",{"_33422":40794,"_33974":40794},"1296",{"_7339":3013},"1297",{"_26603":40787,"_33974":40787,"_34629":40787,"_34300":40787},"1298",{"_13597":40794,"_33974":40794},"1299",{"_11313":40787,"_11327":40787,"_3252":40787,"_7485":40787},"1300",{"_22399":40794,"_33974":40794},"1301",{"_11313":40787,"_11327":40787,"_3252":40787,"_7485":40787},"1302",{"_8771":40853,"_7485":40853,"_11263":40853},"1303",{"_11263":40853,"_25512":40853,"_25857":40853},"1304",{"_11263":40896,"_29601":40896,"_2225":40896,"_29958":40896,"_34279":40896,"_21225":40896,"_7875":40896,"_23629":40896,"_7825":40896,"_7869":40896,"_22216":40896,"_6047":40896,"_23393":40896,"_3132":40896,"_22291":40896,"_33129":40896,"_2212":40896,"_7485":40896,"_15794":40896,"_29630":40896,"_3":40896,"_3978":40896,"_31486":40896,"_8144":40896,"_3925":40896,"_32003":40896,"_15530":40896,"_29635":40896,"_4494":40896,"_5697":40896,"_4592":40896,"_20131":40896,"_23347":40896,"_19332":40896,"_33974":40896,"_3765":40896,"_4602":40896,"_32809":40896,"_15810":40896,"_5424":40896,"_27777":40896,"_22228":40896,"_33873":40896,"_9978":40896,"_10462":40896,"_3642":40896,"_34651":40896,"_15415":40896,"_34439":40896,"_6363":40896,"_25307":40896,"_7716":40896,"_14091":40896},"1305",{"_22216":40836,"_34246":40836,"_15415":40836,"_35045":40836,"_15799":40836,"_20131":40836,"_19146":40836,"_6069":40836,"_2225":40836,"_6363":40836,"_7853":40836,"_22306":40836,"_15981":40836,"_18388":40836,"_31486":40836,"_2222":40836,"_30985":40836},"1306",{"_22216":40802,"_7716":40802,"_15427":40802,"_15805":40802,"_20131":40802,"_34439":40802,"_30435":40802,"_22255":40802,"_24771":40802,"_23650":40802,"_32003":40802,"_3020":40802,"_10794":40802,"_7485":40802,"_13868":40802,"_4603":40802,"_35050":40802,"_3280":40802,"_35055":40802,"_3399":40802,"_35061":40802},"1307",{"_35067":3013},"1308",{"_22216":40901,"_7716":40901,"_15427":40901,"_3765":40901,"_15800":40901,"_4508":40901,"_35028":40901,"_3280":40901,"_35079":40901,"_35090":40901,"_35095":40901},"1309",{"_22216":40806,"_15415":40806,"_15794":40806,"_20131":40806,"_34439":40806,"_3925":40806,"_19146":40806,"_6069":40806,"_3671":40806,"_7853":40806,"_30822":40806,"_3399":40806,"_15799":40806,"_4668":40806,"_5697":40806,"_17229":40806,"_2225":40806,"_2212":40806,"_4661":40806,"_6363":40806,"_30435":40806,"_11263":40806,"_24761":40806,"_10492":40806,"_9978":40806,"_19332":40806,"_7716":40806,"_31861":40806,"_17384":40806,"_3871":40806,"_2222":40806,"_3020":40806},"1310",{"_22216":40878,"_22544":40878,"_11263":40878,"_3132":40878,"_9431":40878},"1311",{"_32456":41674,"_2212":41674,"_7485":41674,"_2225":41674,"_11263":41674,"_21910":41674,"_3132":41674,"_10476":41674,"_5697":41674,"_3925":41674,"_12923":41674,"_12931":41674,"_20084":41674,"_25512":41674,"_25857":41674,"_22291":41674,"_16566":41674,"_12720":41674,"_34203":41674,"_7535":41674,"_3":41674,"_15368":41674,"_5180":41674,"_22216":41674,"_4592":41674,"_29601":41674,"_22768":41674,"_6473":41674,"_22511":41674,"_31486":41674,"_22762":41674,"_4494":41674,"_35180":41674,"_9181":41674,"_3399":41674,"_15286":41674,"_34960":41674,"_33129":41674,"_8771":41674,"_12938":41674,"_16649":41674,"_16742":41674,"_31399":41674,"_12541":41674,"_9522":41674,"_8144":41674,"_9580":41674,"_6069":41674,"_31394":41674,"_19017":41674,"_3074":41674,"_34955":41674,"_3020":41674,"_12812":41674,"_21124":41674,"_25110":41674,"_15379":41674,"_17877":41674,"_25105":41674,"_24761":41674,"_20482":41674,"_5016":41674,"_31481":41674,"_8358":41674,"_22306":41674,"_30486":41674,"_15794":41674,"_20131":41674,"_6530":41674},"1312",{"_5":40794,"_17136":40794},"1313",{"_7485":40800,"_23629":40800,"_4242":40800,"_32414":40800,"_22216":40800,"_31875":40800,"_2212":40800,"_15794":40800,"_10457":40800,"_5697":40800,"_2225":40800,"_7266":40800,"_21464":40800,"_20234":40800,"_12628":40800,"_21009":40800,"_6069":40800,"_3074":40800,"_32088":40800,"_12541":40800,"_18190":40800,"_33120":40800,"_11263":40800,"_24688":40800,"_12931":40800,"_3":40800,"_33974":40800,"_25966":40800,"_10486":40800,"_15717":40800,"_22291":40800,"_20270":40800,"_7019":40800,"_25941":40800,"_13582":40800,"_19102":40800,"_3642":40800,"_3020":40800,"_31369":40800,"_34433":40800},"1314",{"_12931":40911,"_3765":40911,"_22216":40911,"_20067":40911,"_32265":40911,"_22291":40911,"_2225":40911,"_18495":40911,"_5053":40911,"_22255":40911,"_29630":40911,"_26550":40911,"_15421":40911,"_31956":40911,"_21093":40911,"_30078":40911},"1315",{"_13350":41018,"_15794":41018,"_26242":41018,"_9044":41018,"_3997":41018,"_12931":41018,"_15368":41018,"_5697":41018,"_22291":41018,"_12923":41018,"_21930":41018,"_22216":41018,"_3297":41018,"_3399":41018,"_22260":41018,"_13299":41018,"_31394":41018,"_2225":41018,"_21946":41018,"_11263":41018,"_26504":41018,"_12541":41018,"_33914":41018,"_20718":41018,"_17163":41018,"_5385":41018,"_20131":41018,"_7768":41018,"_7485":41018,"_26175":41018},"1316",{"_22216":41264,"_3":41264,"_25462":41264,"_4975":41264,"_33129":41264,"_12923":41264,"_7485":41264,"_2225":41264,"_34279":41264,"_3132":41264,"_10041":41264,"_3399":41264,"_31557":41264,"_5598":41264,"_10086":41264,"_7271":41264,"_4455":41264,"_30626":41264,"_3978":41264,"_31486":41264,"_10069":41264,"_10431":41264,"_2212":41264,"_29601":41264,"_3074":41264,"_5053":41264,"_13687":41264,"_28777":41264,"_5180":41264,"_22291":41264,"_9249":41264,"_31434":41264,"_15794":41264,"_24662":41264,"_26791":41264},"1317",{"_11263":43395,"_31630":43395,"_15800":43395,"_24091":43395,"_5697":43395,"_20131":43395,"_2225":43395,"_7255":43395,"_13121":43395,"_3020":43395,"_28954":43395,"_6649":43395,"_21874":43395,"_16763":43395,"_8144":43395,"_20156":43395,"_15306":43395,"_3":43395,"_22306":43395,"_15794":43395,"_6450":43395,"_7485":43395,"_22216":43395,"_7593":43395,"_6069":43395,"_13755":43395,"_25558":43395,"_17163":43395,"_10799":43395,"_33120":43395,"_14706":43395,"_18305":43395,"_35250":43395,"_7669":43395,"_3132":43395,"_22291":43395,"_22255":43395,"_3765":43395,"_9983":43395,"_27484":43395,"_20957":43395,"_36981":43395,"_12541":43395,"_3399":43395,"_12628":43395,"_17651":43395,"_29630":43395,"_27422":43395,"_15481":43395,"_32115":43395,"_12931":43395,"_10565":43395,"_22281":43395,"_36710":43395,"_30822":43395,"_27148":43395,"_21225":43395,"_3997":43395,"_5357":43395,"_5796":43395,"_27056":43395,"_31481":43395,"_15976":43395,"_26763":43395,"_5788":43395,"_21588":43395,"_20718":43395,"_8771":43395,"_6246":43395,"_5488":43395,"_29053":43395,"_30435":43395,"_32927":43395,"_33753":43395,"_20747":43395,"_6499":43395,"_33804":43395,"_6064":43395,"_25472":43395,"_20983":43395,"_17877":43395,"_34501":43395,"_19354":43395,"_24428":43395,"_31486":43395,"_25132":43395,"_30928":43395,"_7869":43395,"_3925":43395,"_34387":43395,"_29802":43395,"_19652":43395,"_28573":43395},0.010752688172043012,"1318",{"_11263":40800,"_4592":40800,"_29601":40800,"_22216":40800,"_33949":40800,"_6069":40800,"_33422":40800,"_33974":40800,"_22223":40800,"_12931":40800,"_32855":40800,"_3925":40800,"_28467":40800,"_26394":40800,"_22291":40800,"_15626":40800,"_12923":40800,"_3132":40800,"_4968":40800,"_31394":40800,"_32205":40800,"_23961":40800,"_30435":40800,"_22306":40800,"_30486":40800,"_3765":40800,"_15800":40800,"_4508":40800,"_5697":40800,"_29630":40800,"_15530":40800,"_28777":40800,"_7340":40800,"_7535":40800,"_15794":40800,"_20131":40800,"_9527":40800,"_34412":40800,"_7339":40800,"_4322":40800},"1319",{"_9522":40896,"_22216":40896,"_28777":40896,"_6069":40896,"_33422":40896,"_33974":40896,"_15626":40896,"_8794":40896,"_26394":40896,"_7535":40896,"_7401":40896,"_6363":40896,"_17877":40896,"_3132":40896,"_33501":40896,"_8144":40896,"_31481":40896,"_4455":40896,"_10492":40896,"_15925":40896,"_3280":40896,"_2225":40896,"_27350":40896,"_21246":40896,"_20131":40896,"_33748":40896,"_5697":40896,"_15222":40896,"_24633":40896,"_3":40896,"_32240":40896,"_10218":40896,"_3399":40896,"_3765":40896,"_7485":40896,"_26592":40896,"_20212":40896,"_4593":40896,"_30253":40896,"_24662":40896,"_15800":40896,"_37023":40896,"_7853":40896,"_22291":40896,"_7339":40896,"_4322":40896,"_14523":40896,"_34439":40896,"_7271":40896,"_22306":40896,"_22657":40896,"_25941":40896,"_13272":40896},"1320",{"_11411":41175,"_36123":41175,"_37461":41175,"_31394":41175,"_15675":41175,"_2225":41175,"_12923":41175,"_30253":41175,"_15794":41175,"_4592":41175,"_8851":41175,"_22291":41175,"_11263":41175,"_4183":41175,"_20707":41175,"_16654":41175,"_14513":41175,"_5697":41175,"_22216":41175,"_21644":41175,"_6069":41175,"_6363":41175,"_22306":41175,"_3132":41175,"_34629":41175,"_19267":41175,"_29601":41175,"_7603":41175,"_36275":41175,"_23726":41175,"_31486":41175,"_13175":41175,"_19468":41175,"_7621":41175,"_7485":41175,"_31645":41175,"_26973":41175,"_26875":41175,"_3002":41175,"_2217":41175,"_36205":41175,"_26125":41175,"_12580":41175,"_9833":41175,"_7535":41175,"_3074":41175,"_32535":41175,"_10492":41175,"_8293":41175,"_33882":41175,"_34439":41175,"_21874":41175,"_33851":41175,"_26603":41175,"_6473":41175,"_27097":41175,"_16818":41175,"_36056":41175,"_20099":41175,"_8794":41175,"_2212":41175,"_31481":41175,"_6637":41175,"_16675":41175,"_30572":41175,"_9401":41175,"_7853":41175,"_37311":41175},"1321",{"_11263":41264,"_29601":41264,"_22216":41264,"_33949":41264,"_6069":41264,"_13597":41264,"_12931":41264,"_3765":41264,"_27992":41264,"_19509":41264,"_34444":41264,"_7535":41264,"_9839":41264,"_25132":41264,"_3925":41264,"_8414":41264,"_12586":41264,"_33120":41264,"_31394":41264,"_28997":41264,"_15523":41264,"_2225":41264,"_3132":41264,"_23961":41264,"_30430":41264,"_15827":41264,"_5697":41264,"_20131":41264,"_8794":41264,"_12628":41264,"_4975":41264,"_26763":41264,"_19647":41264,"_7485":41264,"_8095":41264},"1322",{"_7401":41018,"_22306":41018,"_18305":41018,"_30253":41018,"_27148":41018,"_20131":41018,"_18680":41018,"_5697":41018,"_7271":41018,"_36924":41018,"_34125":41018,"_31394":41018,"_15675":41018,"_15530":41018,"_16786":41018,"_6069":41018,"_13597":41018,"_12931":41018,"_3002":41018,"_2217":41018,"_15523":41018,"_4602":41018,"_10218":41018,"_7535":41018,"_3399":41018,"_9816":41018,"_22216":41018,"_12923":41018,"_8144":41018,"_6177":41018},"1323",{"_31394":41000,"_15675":41000,"_18963":41000,"_3020":41000,"_18968":41000,"_12931":41000,"_30253":41000,"_15794":41000,"_5893":41000,"_26242":41000,"_2225":41000,"_22399":41000,"_7485":41000,"_21364":41000,"_7535":41000,"_22216":41000,"_12923":41000,"_17877":41000,"_3132":41000,"_15800":41000,"_20824":41000,"_31497":41000,"_3399":41000,"_29601":41000,"_33873":41000,"_15530":41000,"_8144":41000,"_31481":41000,"_30424":41000,"_15827":41000,"_5697":41000,"_20131":41000,"_23961":41000,"_8794":41000,"_12628":41000,"_4975":41000,"_26763":41000,"_19647":41000,"_8095":41000},"1324",{"_33882":41009,"_22399":41009,"_33974":41009,"_21124":41009,"_20131":41009,"_3095":41009,"_35370":41009,"_7869":41009,"_18305":41009,"_3925":41009,"_22255":41009,"_3765":41009,"_23440":41009,"_8794":41009,"_23795":41009,"_26125":41009,"_22216":41009,"_3032":41009,"_6918":41009,"_7535":41009,"_23860":41009,"_17877":41009,"_30253":41009,"_5535":41009,"_5697":41009,"_12805":41009,"_31492":41009,"_18295":41009,"_26242":41009,"_12628":41009,"_31481":41009,"_22435":41009,"_36924":41009,"_34641":41009},"1325",{"_11263":40878,"_21786":40878,"_8771":40878,"_21199":40878,"_4603":40878},"1326",{"_13138":41264,"_32456":41264,"_15363":41264,"_5697":41264,"_22216":41264,"_11263":41264,"_13165":41264,"_9580":41264,"_2225":41264,"_25727":41264,"_7485":41264,"_7593":41264,"_6069":41264,"_21678":41264,"_5302":41264,"_22306":41264,"_32631":41264,"_22496":41264,"_6311":41264,"_4455":41264,"_15368":41264,"_33129":41264,"_31481":41264,"_29630":41264,"_34629":41264,"_3399":41264,"_17877":41264,"_13144":41264,"_3132":41264,"_27494":41264,"_22281":41264,"_13149":41264,"_22260":41264,"_29769":41264,"_30461":41264},"1327",{"_12720":41013,"_34203":41013,"_32456":41013,"_15363":41013,"_5697":41013,"_2225":41013,"_2212":41013,"_31481":41013,"_15976":41013,"_3074":41013,"_14241":41013,"_3659":41013,"_6069":41013,"_22216":41013,"_22291":41013,"_22347":41013,"_3765":41013,"_6473":41013,"_15368":41013,"_3":41013,"_12923":41013,"_16329":41013,"_15530":41013,"_3399":41013,"_5363":41013,"_5180":41013},"1328",{"_5968":41045,"_22809":41045,"_31394":41045,"_34412":41045,"_21176":41045,"_11263":41045,"_25966":41045,"_10492":41045,"_5697":41045,"_23814":41045,"_22794":41045,"_6069":41045,"_32481":41045,"_25132":41045,"_3925":41045,"_25558":41045,"_34997":41045,"_26394":41045,"_22752":41045,"_14167":41045,"_30506":41045,"_19102":41045,"_33120":41045,"_22216":41045,"_22799":41045,"_8771":41045,"_3132":41045,"_6047":41045,"_17260":41045,"_32636":41045,"_22387":41045,"_21302":41045,"_16250":41045,"_22757":41045,"_17877":41045,"_2225":41045,"_12541":41045,"_8858":41045,"_10565":41045,"_22281":41045,"_12628":41045,"_31481":41045,"_22117":41045,"_22291":41045,"_5021":41045},"1329",{"_10133":40825,"_8771":40825,"_11263":40825,"_24761":40825,"_10492":40825,"_3020":40825,"_13505":40825,"_4975":40825,"_4455":40825,"_33072":40825,"_5697":40825,"_6413":40825,"_22768":40825,"_17086":40825,"_22216":40825,"_25512":40825,"_25857":40825,"_3997":40825,"_12923":40825,"_15665":40825,"_3399":40825,"_20829":40825},"1330",{"_22216":40940,"_25512":40940,"_25857":40940,"_7535":40940,"_33129":40940,"_12923":40940,"_7485":40940,"_11263":40940,"_3132":40940,"_20120":40940,"_7019":40940,"_6069":40940,"_7716":40940,"_7935":40940},"1331",{"_16506":40815,"_22216":40815,"_13138":40815,"_6069":40815,"_15363":40815,"_22291":40815,"_15986":40815,"_22306":40815,"_12923":40815,"_5697":40815,"_20131":40815,"_15626":40815},"1332",{"_21523":40885,"_22216":40885,"_13138":40885,"_6069":40885,"_15363":40885,"_22291":40885,"_28997":40885,"_20824":40885,"_22306":40885,"_12923":40885},"1333",{"_20033":40901,"_22216":40901,"_13138":40901,"_6069":40901,"_15363":40901,"_22291":40901,"_28997":40901,"_20824":40901,"_15530":40901,"_22306":40901,"_12923":40901},"1334",{"_16511":40815,"_22216":40815,"_8771":40815,"_7485":40815,"_21364":40815,"_8204":40815,"_33444":40815,"_31394":40815,"_22306":40815,"_12923":40815,"_31630":40815,"_15626":40815},"1335",{"_21528":40832,"_22216":40832,"_8771":40832,"_7485":40832,"_21364":40832,"_8204":40832,"_33444":40832,"_31394":40832,"_22306":40832,"_12923":40832,"_31630":40832,"_28997":40832,"_20824":40832},"1336",{"_12720":40817,"_22216":40817,"_6473":40817,"_6069":40817,"_15368":40817,"_5697":40817,"_3":40817,"_22306":40817,"_12923":40817},"1337",{"_16329":40817,"_22216":40817,"_6473":40817,"_6069":40817,"_15368":40817,"_5697":40817,"_15530":40817,"_22306":40817,"_12923":40817},"1338",{"_5363":40817,"_22216":40817,"_6473":40817,"_6069":40817,"_15368":40817,"_5697":40817,"_5180":40817,"_22306":40817,"_12923":40817},"1339",{"_33439":40796,"_22216":40796,"_26394":40796,"_5302":40796,"_6069":40796,"_6799":40796,"_22306":40796,"_12923":40796,"_17877":40796,"_3132":40796,"_3074":40796,"_33422":40796,"_2212":40796,"_8144":40796,"_15800":40796,"_31481":40796,"_20131":40796,"_13175":40796},"1340",{"_23229":40827,"_22216":40827,"_29367":40827,"_6069":40827,"_3":40827,"_7929":40827,"_22306":40827,"_12923":40827},"1341",{"_34241":40829,"_22216":40829,"_6473":40829,"_6069":40829,"_15530":40829,"_22306":40829,"_12923":40829},"1342",{"_7169":40878,"_14706":40878,"_18388":40878,"_3399":40878,"_21660":40878},"1343",{"_14706":40796,"_19789":40796,"_3399":40796,"_21660":40796,"_22829":40796,"_7535":40796,"_11263":40796,"_4242":40796,"_24388":40796,"_15171":40796,"_9044":40796,"_12628":40796,"_8383":40796,"_14167":40796,"_14349":40796,"_18995":40796,"_9621":40796,"_33216":40796},"1344",{"_4593":40871,"_34137":40871,"_30253":40871,"_37023":40871,"_11263":40871,"_17851":40871,"_8403":40871,"_26933":40871,"_30258":40871,"_4242":40871,"_31931":40871,"_30822":40871,"_31816":40871,"_26779":40871,"_31606":40871,"_30078":40871,"_3765":40871,"_26763":40871,"_19789":40871,"_22291":40871,"_34454":40871,"_8474":40871,"_17086":40871},"1345",{"_17877":40800,"_30253":40800,"_3765":40800,"_34412":40800,"_9044":40800,"_21124":40800,"_28673":40800,"_7535":40800,"_22216":40800,"_14157":40800,"_3297":40800,"_32476":40800,"_31394":40800,"_2225":40800,"_11263":40800,"_12541":40800,"_23529":40800,"_8204":40800,"_12628":40800,"_31481":40800,"_15800":40800,"_9570":40800,"_33914":40800,"_6069":40800,"_15368":40800,"_34785":40800,"_9790":40800,"_31770":40800,"_12923":40800,"_5697":40800,"_6450":40800,"_17086":40800,"_32844":40800,"_21380":40800,"_3132":40800,"_15626":40800,"_3399":40800,"_23961":40800,"_31374":40800,"_23534":40800},"1346",{"_30253":41664,"_21124":41664,"_8906":41664,"_11263":41664,"_12628":41664,"_8383":41664,"_22216":41664,"_25941":41664,"_15794":41664,"_25192":41664,"_3925":41664,"_28467":41664,"_2225":41664,"_20631":41664,"_6069":41664,"_25966":41664,"_3765":41664,"_4968":41664,"_36452":41664,"_5697":41664,"_4135":41664,"_3132":41664,"_30258":41664,"_4242":41664,"_29654":41664,"_8144":41664,"_7485":41664,"_10133":41664,"_10165":41664,"_13421":41664,"_14167":41664,"_31254":41664,"_3399":41664,"_33804":41664,"_19213":41664,"_14706":41664,"_10191":41664,"_7535":41664,"_14349":41664,"_12541":41664,"_28864":41664,"_21593":41664,"_15937":41664,"_9636":41664,"_29159":41664,"_37023":41664,"_26791":41664,"_29769":41664,"_30822":41664,"_20270":41664,"_20952":41664,"_22291":41664,"_9600":41664,"_13165":41664,"_3642":41664,"_6395":41664,"_8858":41664,"_8365":41664,"_7983":41664,"_6379":41664,"_17877":41664,"_7155":41664,"_11200":41664,"_29124":41664,"_15800":41664,"_18457":41664,"_3280":41664,"_31486":41664,"_20120":41664,"_7019":41664,"_26550":41664,"_25307":41664,"_22265":41664,"_10921":41664},"1347",{"_22216":40823,"_28777":40823,"_6069":40823,"_11263":40823,"_25966":40823,"_34439":40823,"_8794":40823,"_12541":40823,"_21124":40823,"_20482":40823,"_22291":40823,"_33129":40823,"_12628":40823,"_29601":40823,"_22316":40823,"_15794":40823,"_31880":40823,"_4554":40823,"_15800":40823,"_5952":40823,"_17877":40823,"_3132":40823,"_2225":40823,"_25254":40823,"_10133":40823,"_30822":40823,"_28802":40823,"_7485":40823,"_13234":40823},"1348",{"_20131":42150,"_15942":42150,"_31404":42150,"_30253":42150,"_6413":42150,"_22291":42150,"_21678":42150,"_14792":42150,"_22216":42150,"_4692":42150,"_19001":42150,"_19146":42150,"_6069":42150,"_11263":42150,"_3132":42150,"_21124":42150,"_7686":42150,"_21688":42150,"_5697":42150,"_20983":42150,"_30461":42150,"_8144":42150,"_9476":42150,"_2225":42150,"_9130":42150,"_24342":42150,"_24357":42150,"_26379":42150,"_13955":42150,"_7123":42150,"_18995":42150,"_19524":42150,"_3997":42150,"_30854":42150,"_31481":42150,"_3119":42150,"_33562":42150,"_17877":42150,"_6047":42150,"_29630":42150,"_3659":42150,"_25472":42150,"_21771":42150,"_7841":42150,"_34387":42150,"_3399":42150,"_14241":42150,"_26714":42150,"_24761":42150,"_33247":42150,"_18382":42150,"_30822":42150,"_15794":42150,"_21407":42150},"1349",{"_26242":43460,"_30258":43460,"_35859":43460,"_20297":43460,"_30013":43460,"_27051":43460,"_14582":43460,"_8144":43460,"_3132":43460,"_23503":43460,"_17763":43460,"_5697":43460,"_5331":43460,"_28189":43460,"_6012":43460,"_23419":43460,"_34816":43460,"_31481":43460,"_4691":43460,"_16147":43460,"_24521":43460,"_18995":43460,"_34764":43460,"_9088":43460,"_7485":43460,"_11263":43460,"_32461":43460,"_6306":43460,"_4593":43460,"_17877":43460,"_3659":43460,"_8851":43460,"_9148":43460,"_22216":43460,"_4455":43460,"_3672":43460,"_32393":43460,"_8858":43460,"_29932":43460,"_21962":43460,"_30018":43460,"_5629":43460,"_6069":43460,"_19999":43460,"_17103":43460,"_30253":43460,"_29630":43460,"_21332":43460,"_33753":43460,"_8794":43460,"_6862":43460,"_3399":43460,"_9181":43460,"_30446":43460,"_31645":43460,"_23880":43460,"_3074":43460,"_5947":43460,"_7535":43460,"_13765":43460,"_8755":43460,"_24729":43460,"_22017":43460,"_26763":43460,"_10180":43460,"_15805":43460,"_20131":43460,"_14006":43460,"_33354":43460,"_15460":43460,"_2225":43460,"_6473":43460,"_32003":43460,"_30373":43460,"_8895":43460,"_22291":43460,"_31861":43460,"_15976":43460,"_20234":43460,"_28179":43460,"_32535":43460,"_3997":43460,"_36020":43460,"_35564":43460,"_33349":43460,"_25609":43460,"_31486":43460},0.011494252873563218,"1350",{"_18505":40794,"_6918":40794},"1351",{"_22306":40841,"_24677":40841,"_3132":40841,"_2225":40841,"_6918":40841,"_7535":40841,"_24388":40841,"_31542":40841,"_5697":40841,"_12805":40841,"_23629":40841,"_4249":40841,"_22291":40841,"_21588":40841,"_3101":40841,"_6069":40841,"_11291":40841,"_15306":40841,"_25946":40841,"_8144":40841,"_13576":40841,"_14441":40841,"_3399":40841,"_18922":40841,"_17163":40841},"1352",{"_28767":40787,"_5697":40787,"_3672":40787,"_17163":40787},"1353",{"_22216":41144,"_7924":41144,"_7784":41144,"_26180":41144,"_6069":41144,"_22306":41144,"_6918":41144,"_18581":41144,"_2225":41144,"_29860":41144,"_29347":41144,"_23561":41144,"_35250":41144,"_11263":41144,"_14430":41144,"_22223":41144,"_3765":41144,"_33774":41144,"_31123":41144,"_7535":41144,"_3074":41144,"_34697":41144,"_29485":41144,"_31931":41144,"_3925":41144,"_32003":41144,"_5697":41144,"_31880":41144,"_31486":41144,"_8144":41144,"_24751":41144,"_15800":41144,"_13571":41144,"_26880":41144,"_15254":41144,"_30822":41144,"_4023":41144,"_8563":41144,"_18388":41144,"_3978":41144,"_23629":41144,"_14857":41144},"1354",{"_22216":40827,"_33851":40827,"_7784":40827,"_26180":40827,"_18145":40827,"_18922":40827,"_18510":40827,"_17163":40827},"1355",{"_4692":40917,"_6069":40917,"_22216":40917,"_17163":40917,"_7485":40917,"_22306":40917,"_24677":40917,"_3132":40917,"_31557":40917,"_5697":40917,"_20131":40917,"_5061":40917,"_3925":40917,"_25680":40917,"_10462":40917,"_20530":40917,"_29490":40917,"_30461":40917,"_25621":40917,"_30258":40917,"_7924":40917,"_11263":40917,"_4242":40917,"_30253":40917,"_27148":40917,"_18404":40917,"_4975":40917,"_29327":40917,"_10041":40917,"_15438":40917,"_3997":40917,"_3":40917,"_20788":40917,"_3399":40917,"_30722":40917,"_5788":40917},"1356",{"_6407":40832,"_22216":40832,"_7638":40832,"_24688":40832,"_22244":40832,"_26550":40832,"_3672":40832,"_26886":40832,"_6069":40832,"_17163":40832,"_7535":40832,"_11263":40832,"_24388":40832},"1357",{"_4322":40821,"_10462":40821,"_22216":40821,"_15025":40821,"_5697":40821,"_11263":40821},"1358",{"_37329":40836,"_11263":40836,"_21633":40836,"_4975":40836,"_22216":40836,"_29784":40836,"_25234":40836,"_2225":40836,"_35384":40836,"_16839":40836,"_5697":40836,"_8794":40836,"_30605":40836,"_10930":40836,"_6069":40836,"_30325":40836,"_9438":40836},"1359",{"_30788":40836,"_3399":40836,"_12580":40836,"_23118":40836,"_22216":40836,"_33092":40836,"_35859":40836,"_8794":40836,"_8664":40836,"_35791":40836,"_17661":40836,"_26933":40836,"_30794":40836,"_18472":40836,"_36411":40836,"_34412":40836,"_11263":40836},"1360",{"_11445":40911,"_37329":40911,"_11263":40911,"_3280":40911,"_2225":40911,"_9937":40911,"_27620":40911,"_23629":40911,"_15306":40911,"_7869":40911,"_3074":40911,"_3907":40911,"_8794":40911,"_22641":40911,"_29575":40911,"_36281":40911},"1361",{"_11263":40796,"_9839":40796,"_20044":40796,"_23556":40796,"_6069":40796,"_22216":40796,"_17643":40796,"_35250":40796,"_27876":40796,"_26860":40796,"_31486":40796,"_32476":40796,"_29673":40796,"_36411":40796,"_28592":40796,"_3399":40796,"_22708":40796,"_14802":40796},"1362",{"_19954":40794,"_4843":40794},"1363",{"_24156":40796,"_11291":40796,"_19954":40796,"_4843":40796,"_8233":40796,"_29485":40796,"_19969":40796,"_4866":40796,"_13350":40796,"_3399":40796,"_20482":40796,"_5180":40796,"_32235":40796,"_5697":40796,"_3150":40796,"_2225":40796,"_15579":40796,"_27647":40796},"1364",{"_11263":40825,"_8776":40825,"_7485":40825,"_2225":40825,"_35240":40825,"_6069":40825,"_23383":40825,"_32145":40825,"_31486":40825,"_35250":40825,"_4843":40825,"_27652":40825,"_4593":40825,"_8144":40825,"_29601":40825,"_15032":40825,"_19954":40825,"_8233":40825,"_32471":40825,"_22216":40825,"_30873":40825,"_10492":40825},"1365",{"_5697":41674,"_34692":41674,"_29485":41674,"_22216":41674,"_4843":41674,"_8233":41674,"_31931":41674,"_7924":41674,"_30253":41674,"_21124":41674,"_22693":41674,"_20067":41674,"_5788":41674,"_4866":41674,"_12541":41674,"_22306":41674,"_3132":41674,"_34506":41674,"_24776":41674,"_3925":41674,"_26891":41674,"_14372":41674,"_2225":41674,"_12628":41674,"_3399":41674,"_13970":41674,"_6069":41674,"_35175":41674,"_17163":41674,"_26490":41674,"_8204":41674,"_3020":41674,"_7495":41674,"_5385":41674,"_4002":41674,"_8144":41674,"_31486":41674,"_14167":41674,"_26185":41674,"_5775":41674,"_29659":41674,"_8794":41674,"_7988":41674,"_32235":41674,"_7485":41674,"_3074":41674,"_5180":41674,"_22291":41674,"_14556":41674,"_3765":41674,"_17980":41674,"_19060":41674,"_19452":41674,"_20125":41674,"_20131":41674,"_26933":41674,"_25817":41674,"_20482":41674,"_5675":41674,"_3978":41674,"_32794":41674,"_32520":41674,"_7019":41674,"_17643":41674,"_19964":41674,"_24662":41674,"_30078":41674,"_16886":41674,"_17632":41674},"1366",{"_22216":40917,"_7924":40917,"_20898":40917,"_7285":40917,"_9476":40917,"_25817":40917,"_22291":40917,"_17928":40917,"_19964":40917,"_30435":40917,"_31976":40917,"_25052":40917,"_21199":40917,"_20904":40917,"_6069":40917,"_4843":40917,"_3074":40917,"_15685":40917,"_3020":40917,"_17980":40917,"_31481":40917,"_4602":40917,"_20131":40917,"_18744":40917,"_31486":40917,"_27647":40917,"_11263":40917,"_12628":40917,"_34433":40917,"_9481":40917,"_8794":40917,"_5697":40917,"_23880":40917,"_31369":40917,"_17975":40917,"_4272":40917},"1367",{"_29678":41667,"_3132":41667,"_15859":41667,"_31394":41667,"_2225":41667,"_12541":41667,"_26504":41667,"_4843":41667,"_17163":41667,"_5697":41667,"_20131":41667,"_3978":41667,"_31486":41667,"_14167":41667,"_22216":41667,"_28022":41667,"_27647":41667,"_31369":41667,"_14572":41667,"_11263":41667,"_12628":41667,"_19427":41667,"_19964":41667,"_31451":41667,"_7285":41667,"_20502":41667,"_19432":41667,"_8794":41667,"_17666":41667,"_6069":41667,"_31481":41667,"_34506":41667,"_9470":41667,"_3074":41667,"_33211":41667,"_17877":41667,"_8144":41667,"_23891":41667,"_22291":41667,"_30766":41667,"_3020":41667,"_3973":41667,"_34412":41667,"_16255":41667,"_7333":41667,"_3150":41667,"_33711":41667,"_5302":41667,"_3":41667},"1368",{"_11411":40962,"_12197":40962,"_36744":40962,"_22216":40962,"_4843":40962,"_19964":40962,"_3132":40962,"_17438":40962,"_7485":40962,"_31123":40962,"_26285":40962,"_3399":40962,"_34412":40962,"_5214":40962,"_31394":40962,"_3074":40962,"_5180":40962,"_26242":40962,"_7535":40962,"_2225":40962,"_12923":40962,"_11263":40962,"_12628":40962,"_31481":40962,"_19401":40962,"_5302":40962,"_19146":40962,"_6069":40962,"_32240":40962,"_5697":40962,"_17594":40962,"_25817":40962,"_20898":40962,"_8144":40962,"_7019":40962,"_35345":40962,"_22291":40962,"_29601":40962,"_14577":40962,"_7593":40962,"_32535":40962,"_7459":40962,"_17595":40962,"_30822":40962,"_21464":40962,"_14663":40962,"_15800":40962,"_17877":40962,"_33711":40962,"_16566":40962,"_3290":40962,"_17600":40962,"_34439":40962,"_26125":40962,"_17163":40962,"_22306":40962,"_27647":40962,"_3978":40962,"_31486":40962,"_14167":40962,"_27148":40962,"_20131":40962,"_3252":40962,"_26763":40962,"_27652":40962,"_16571":40962,"_3228":40962,"_12541":40962,"_13986":40962,"_3925":40962,"_28017":40962},"1369",{"_11263":41182,"_17416":41182,"_20502":41182,"_25817":41182,"_5302":41182,"_5247":41182,"_31394":41182,"_15491":41182,"_3074":41182,"_5180":41182,"_8144":41182,"_33748":41182,"_5697":41182,"_20482":41182,"_4843":41182,"_17163":41182,"_6069":41182,"_22216":41182,"_12541":41182,"_5675":41182,"_9916":41182,"_32235":41182,"_7983":41182,"_31369":41182,"_4282":41182,"_12628":41182,"_31481":41182,"_27647":41182,"_33129":41182,"_32240":41182,"_3399":41182,"_17877":41182,"_22228":41182,"_3132":41182,"_8204":41182,"_22291":41182,"_7535":41182,"_20131":41182,"_15859":41182,"_31486":41182,"_26242":41182,"_31630":41182,"_18639":41182,"_3252":41182,"_14167":41182,"_8794":41182,"_29678":41182,"_19964":41182,"_34433":41182,"_16221":41182,"_6783":41182,"_28446":41182,"_20487":41182,"_23880":41182,"_16571":41182,"_7485":41182},"1370",{"_22228":41205,"_3765":41205,"_22693":41205,"_17097":41205,"_7485":41205,"_4843":41205,"_19969":41205,"_7459":41205,"_3399":41205,"_23688":41205,"_3183":41205,"_15794":41205,"_3209":41205,"_34412":41205,"_7869":41205,"_18311":41205,"_4975":41205,"_25631":41205,"_22216":41205,"_11263":41205,"_12628":41205,"_31481":41205,"_28673":41205,"_7535":41205,"_22291":41205,"_25609":41205,"_31486":41205,"_4920":41205,"_16977":41205,"_35135":41205,"_6069":41205,"_22465":41205,"_3925":41205,"_13304":41205,"_7853":41205,"_3074":41205,"_19964":41205,"_22223":41205,"_20131":41205,"_26242":41205,"_37136":41205,"_4309":41205,"_14663":41205,"_3085":41205,"_21469":41205,"_3020":41205,"_32235":41205,"_25132":41205,"_7716":41205,"_13755":41205,"_7825":41205},"1371",{"_15937":40812,"_27148":40812,"_20131":40812,"_21603":40812,"_5697":40812,"_32115":40812,"_22291":40812,"_22216":40812,"_25367":40812,"_3997":40812,"_18305":40812,"_3132":40812,"_34629":40812,"_17877":40812,"_22228":40812,"_3765":40812,"_24639":40812,"_25132":40812,"_3925":40812,"_37136":40812,"_4920":40812,"_4309":40812,"_14663":40812,"_3085":40812,"_21469":40812,"_21474":40812,"_6047":40812,"_3659":40812,"_31481":40812,"_34439":40812,"_4592":40812,"_4455":40812,"_25966":40812,"_21124":40812,"_29630":40812,"_27355":40812,"_19969":40812,"_23819":40812,"_6252":40812,"_13350":40812,"_34412":40812,"_4843":40812,"_27652":40812,"_18170":40812,"_8794":40812,"_18388":40812,"_14354":40812,"_26763":40812},"1372",{"_11411":40836,"_11313":40836,"_11320":40836,"_3252":40836,"_7485":40836,"_3074":40836,"_4582":40836,"_5442":40836,"_3132":40836,"_5318":40836,"_7535":40836,"_19954":40836,"_4843":40836,"_8144":40836,"_18165":40836,"_3183":40836,"_3833":40836},"1373",{"_16763":40802,"_6069":40802,"_17661":40802,"_4855":40802,"_30253":40802,"_32875":40802,"_26041":40802,"_30258":40802,"_29678":40802,"_3399":40802,"_20502":40802,"_20904":40802,"_31481":40802,"_22260":40802,"_9570":40802,"_22216":40802,"_3183":40802,"_19244":40802,"_35370":40802,"_26056":40802,"_20507":40802},"1374",{"_6718":40853,"_22216":40853,"_16742":40853},"1375",{"_25992":40787,"_22216":40787,"_15546":40787,"_14167":40787},"1376",{"_6363":40901,"_22216":40901,"_12923":40901,"_30517":40901,"_5818":40901,"_3997":40901,"_3020":40901,"_34246":40901,"_17877":40901,"_15800":40901,"_34439":40901},"1377",{"_11411":40821,"_19049":40821,"_22216":40821,"_5775":40821,"_35135":40821,"_3020":40821},"1378",{"_26325":40834,"_31394":40834,"_22216":40834,"_26319":40834,"_20898":40834,"_3132":40834,"_30517":40834,"_5818":40834,"_3997":40834,"_28777":40834,"_6069":40834,"_5214":40834,"_22291":40834,"_3765":40834,"_26242":40834},"1379",{"_26401":3013},"1380",{"_15181":40796,"_11263":40796,"_12541":40796,"_26401":40796,"_14167":40796,"_25543":40796,"_26394":40796,"_22752":40796,"_32739":40796,"_19417":40796,"_9605":40796,"_3399":40796,"_29485":40796,"_13350":40796,"_14151":40796,"_5697":40796,"_2225":40796,"_32088":40796},"1381",{"_5252":40853,"_2225":40853,"_22646":40853},"1382",{"_2225":41185,"_11263":41185,"_12541":41185,"_33380":41185,"_26394":41185,"_31486":41185,"_22216":41185,"_25941":41185,"_8794":41185,"_15675":41185,"_29654":41185,"_5697":41185,"_34412":41185,"_29113":41185,"_30985":41185,"_6018":41185,"_15626":41185,"_25626":41185,"_6126":41185,"_7485":41185,"_14354":41185,"_13165":41185,"_3399":41185,"_28864":41185,"_21951":41185,"_14151":41185,"_3659":41185,"_6069":41185,"_25966":41185,"_22291":41185,"_20270":41185,"_7019":41185,"_4975":41185,"_31369":41185,"_19647":41185,"_8144":41185,"_28205":41185,"_14157":41185,"_24592":41185,"_34146":41185,"_5775":41185,"_31481":41185,"_20131":41185,"_22223":41185,"_22693":41185,"_25543":41185,"_17877":41185,"_3074":41185,"_34838":41185,"_33211":41185,"_6177":41185,"_25132":41185,"_3925":41185,"_32739":41185,"_3020":41185,"_4843":41185,"_8377":41185,"_4242":41185,"_32688":41185,"_13489":41185,"_20747":41185,"_13484":41185,"_7716":41185,"_8074":41185,"_27164":41185,"_19679":41185,"_21708":41185},"1383",{"_11411":41304,"_6884":41304,"_36637":41304,"_35594":41304,"_35609":41304,"_35614":41304,"_36061":41304,"_5697":41304,"_12805":41304,"_2225":41304,"_12541":41304,"_26394":41304,"_22216":41304,"_4242":41304,"_15254":41304,"_21124":41304,"_18145":41304,"_14167":41304,"_25817":41304,"_13587":41304,"_14677":41304,"_26576":41304,"_28777":41304,"_6069":41304,"_21464":41304,"_6707":41304,"_19452":41304,"_33129":41304,"_14562":41304,"_11263":41304,"_12628":41304,"_2217":41304,"_3825":41304,"_3020":41304,"_28864":41304,"_31481":41304,"_19837":41304,"_3074":41304,"_3873":41304,"_3399":41304,"_21962":41304,"_14151":41304,"_8144":41304,"_17877":41304,"_22306":41304,"_8371":41304,"_30430":41304,"_23534":41304,"_8204":41304,"_7535":41304,"_3642":41304,"_10180":41304,"_4742":41304,"_33851":41304,"_7485":41304,"_34785":41304,"_3132":41304,"_10690":41304,"_33375":41304},"1384",{"_11411":41374,"_6884":41374,"_5968":41374,"_11313":41374,"_36637":41374,"_35594":41374,"_35609":41374,"_35614":41374,"_36061":41374,"_3252":41374,"_7485":41374,"_3074":41374,"_5888":41374,"_15471":41374,"_25367":41374,"_20125":41374,"_4592":41374,"_20131":41374,"_4195":41374,"_5697":41374,"_22216":41374,"_14167":41374,"_25817":41374,"_22306":41374,"_31481":41374,"_8755":41374,"_12541":41374,"_14688":41374,"_31374":41374,"_16988":41374,"_4455":41374,"_19332":41374,"_9978":41374,"_11016":41374,"_26988":41374,"_34646":41374,"_14682":41374,"_17877":41374,"_34439":41374,"_32535":41374,"_31861":41374,"_28673":41374,"_7875":41374,"_4173":41374,"_2225":41374,"_3020":41374,"_31404":41374,"_11022":41374,"_4975":41374,"_3399":41374,"_3280":41374,"_9507":41374,"_7303":41374,"_26285":41374,"_33120":41374,"_7810":41374,"_30783":41374,"_5242":41374,"_5788":41374,"_30517":41374,"_3997":41374,"_8204":41374,"_12628":41374,"_18984":41374,"_8293":41374,"_3132":41374,"_19167":41374,"_34444":41374,"_21149":41374,"_32145":41374,"_33129":41374,"_25032":41374,"_6069":41374,"_19161":41374,"_11263":41374,"_25941":41374,"_14523":41374,"_23388":41374,"_20275":41374,"_10757":41374,"_21225":41374,"_26938":41374,"_3925":41374,"_15794":41374,"_15254":41374,"_29910":41374,"_11110":41374,"_4242":41374,"_8144":41374,"_32022":41374,"_5016":41374,"_28568":41374,"_27459":41374,"_23886":41374,"_24254":41374,"_8771":41374},"1385",{"_31394":41045,"_2225":41045,"_12541":41045,"_7280":41045,"_29654":41045,"_5697":41045,"_22216":41045,"_11263":41045,"_25941":41045,"_15632":41045,"_26394":41045,"_10286":41045,"_3925":41045,"_36802":41045,"_6473":41045,"_22291":41045,"_8144":41045,"_4076":41045,"_17877":41045,"_14372":41045,"_23383":41045,"_12628":41045,"_31481":41045,"_26495":41045,"_5302":41045,"_19146":41045,"_6069":41045,"_14167":41045,"_6402":41045,"_26211":41045,"_20951":41045,"_19406":41045,"_7535":41045,"_3642":41045,"_15794":41045,"_35180":41045,"_3132":41045,"_26490":41045,"_31486":41045,"_33380":41045,"_26504":41045,"_22306":41045,"_31399":41045,"_10945":41045,"_33711":41045},"1386",{"_5968":41196,"_11889":41196,"_3659":41196,"_6069":41196,"_22216":41196,"_19244":41196,"_5697":41196,"_11263":41196,"_12541":41196,"_28864":41196,"_15844":41196,"_12805":41196,"_2225":41196,"_26394":41196,"_3132":41196,"_16250":41196,"_7485":41196,"_21364":41196,"_26504":41196,"_8991":41196,"_12628":41196,"_9191":41196,"_31486":41196,"_22291":41196,"_8144":41196,"_15794":41196,"_7391":41196,"_15546":41196,"_17643":41196,"_8841":41196,"_20131":41196,"_21302":41196,"_22757":41196,"_22804":41196,"_3925":41196,"_26242":41196,"_13755":41196,"_3399":41196,"_20370":41196,"_4322":41196,"_4494":41196,"_5053":41196,"_33835":41196},"1387",{"_31394":41513,"_2225":41513,"_12541":41513,"_26394":41513,"_30430":41513,"_19208":41513,"_8204":41513,"_22216":41513,"_12948":41513,"_25936":41513,"_13234":41513,"_8144":41513,"_31481":41513,"_30532":41513,"_26653":41513,"_28777":41513,"_6069":41513,"_25966":41513,"_22291":41513,"_32022":41513,"_28017":41513,"_24592":41513,"_15665":41513,"_32486":41513,"_14360":41513,"_30506":41513,"_3399":41513,"_4975":41513,"_29327":41513,"_3659":41513,"_3132":41513,"_10747":41513,"_33237":41513,"_5668":41513,"_21703":41513,"_5697":41513,"_14157":41513,"_13165":41513,"_17877":41513,"_9790":41513,"_31497":41513,"_16250":41513,"_35135":41513,"_3020":41513,"_26438":41513,"_5473":41513,"_15800":41513,"_3144":41513,"_12805":41513,"_33711":41513,"_6649":41513,"_11263":41513,"_13304":41513,"_29654":41513,"_7485":41513,"_2222":41513,"_30985":41513,"_7535":41513,"_23524":41513,"_28864":41513,"_9763":41513,"_30253":41513,"_19161":41513,"_31976":41513,"_29630":41513,"_30133":41513,"_17097":41513,"_17086":41513,"_22316":41513,"_7875":41513,"_30088":41513,"_33562":41513,"_33120":41513,"_6047":41513,"_3765":41513,"_33924":41513,"_32739":41513,"_20217":41513},"1388",{"_26394":42179,"_32739":42179,"_3132":42179,"_20165":42179,"_8794":42179,"_22216":42179,"_11263":42179,"_13234":42179,"_17860":42179,"_15800":42179,"_12541":42179,"_31394":42179,"_12948":42179,"_33380":42179,"_2225":42179,"_31486":42179,"_8144":42179,"_18165":42179,"_16250":42179,"_35135":42179,"_23870":42179,"_5400":42179,"_22306":42179,"_34439":42179,"_5697":42179,"_23880":42179,"_13421":42179,"_32769":42179,"_32744":42179,"_29774":42179,"_24751":42179,"_30039":42179,"_8204":42179,"_31497":42179,"_28017":42179,"_19027":42179,"_3002":42179,"_2217":42179,"_33873":42179,"_30049":42179,"_4975":42179,"_31481":42179,"_12812":42179,"_3642":42179,"_4455":42179,"_33422":42179,"_33974":42179,"_6794":42179,"_22291":42179,"_3399":42179,"_17810":42179,"_33929":42179,"_14157":42179,"_13350":42179,"_6069":42179,"_15363":42179,"_3658":42179,"_31770":42179,"_22465":42179,"_12931":42179,"_19647":42179,"_26438":42179,"_25752":42179,"_23534":42179,"_20131":42179,"_33924":42179,"_34785":42179,"_34571":42179,"_3145":42179,"_10741":42179,"_14167":42179,"_25742":42179,"_7485":42179,"_13165":42179,"_23016":42179,"_10747":42179,"_31369":42179,"_31675":42179,"_9570":42179,"_33914":42179},"1389",{"_32535":40832,"_13165":40832,"_21708":40832,"_7535":40832,"_3074":40832,"_26438":40832,"_26394":40832,"_3925":40832,"_26130":40832,"_8794":40832,"_22216":40832,"_26464":40832,"_31675":40832},"1390",{"_37593":40832,"_26394":40832,"_3132":40832,"_33375":40832,"_3399":40832,"_12541":40832,"_14752":40832,"_31486":40832,"_13234":40832,"_12628":40832,"_14747":40832,"_5796":40832,"_18316":40832},"1391",{"_12541":40821,"_3132":40821,"_19208":40821,"_8204":40821,"_22216":40821,"_13234":40821},"1392",{"_37599":40827,"_12541":40827,"_29601":40827,"_28663":40827,"_14360":40827,"_31486":40827,"_22216":40827,"_13234":40827},"1393",{"_8771":40796,"_33324":40796,"_5473":40796,"_37605":40796,"_19027":40796,"_22216":40796,"_13234":40796,"_32769":40796,"_26394":40796,"_33959":40796,"_3132":40796,"_26130":40796,"_8794":40796,"_12541":40796,"_3925":40796,"_8144":40796,"_23534":40796,"_8204":40796},"1394",{"_8771":40885,"_33324":40885,"_22216":40885,"_12541":40885,"_10570":40885,"_33804":40885,"_29347":40885,"_14360":40885,"_31486":40885,"_13234":40885},"1395",{"_37611":40832,"_32486":40832,"_22216":40832,"_12541":40832,"_9795":40832,"_5697":40832,"_13234":40832,"_8144":40832,"_3132":40832,"_22260":40832,"_33924":40832,"_6069":40832,"_32739":40832},"1396",{"_3671":42150,"_19238":42150,"_5697":42150,"_22216":42150,"_11263":42150,"_26394":42150,"_33385":42150,"_15844":42150,"_3132":42150,"_23795":42150,"_31675":42150,"_31712":42150,"_3765":42150,"_33924":42150,"_31394":42150,"_3642":42150,"_13165":42150,"_15363":42150,"_6177":42150,"_7485":42150,"_12541":42150,"_7535":42150,"_32535":42150,"_17877":42150,"_28653":42150,"_14360":42150,"_12628":42150,"_31481":42150,"_20131":42150,"_3020":42150,"_13421":42150,"_32769":42150,"_33120":42150,"_22306":42150,"_27148":42150,"_13980":42150,"_17318":42150,"_23534":42150,"_3002":42150,"_2217":42150,"_30461":42150,"_15368":42150,"_32481":42150,"_26490":42150,"_8794":42150,"_28853":42150,"_15925":42150,"_6069":42150,"_2225":42150,"_33711":42150,"_14167":42150,"_7924":42150,"_32476":42150,"_22662":42150},"1397",{"_22216":40804,"_26394":40804,"_3132":40804,"_36955":40804,"_4624":40804,"_8794":40804,"_8858":40804,"_26490":40804,"_12541":40804,"_17877":40804,"_17986":40804,"_7535":40804,"_2225":40804,"_19027":40804,"_6069":40804,"_8771":40804,"_22291":40804,"_31861":40804,"_16250":40804,"_31481":40804,"_26495":40804,"_19800":40804,"_8851":40804,"_5697":40804,"_36903":40804,"_22306":40804,"_15800":40804,"_6047":40804,"_4494":40804,"_11263":40804,"_12628":40804,"_37023":40804,"_25752":40804,"_4968":40804,"_30822":40804,"_8144":40804,"_4592":40804,"_35345":40804,"_16221":40804,"_14167":40804,"_22794":40804,"_14006":40804,"_32371":40804,"_32115":40804,"_10186":40804,"_23896":40804,"_24413":40804,"_3399":40804,"_9763":40804,"_33711":40804},"1398",{"_6018":41045,"_2225":41045,"_14167":41045,"_5697":41045,"_22216":41045,"_12628":41045,"_3132":41045,"_25152":41045,"_33375":41045,"_14157":41045,"_22228":41045,"_3765":41045,"_30727":41045,"_22693":41045,"_15930":41045,"_31404":41045,"_12541":41045,"_28853":41045,"_7235":41045,"_14348":41045,"_5242":41045,"_15254":41045,"_7485":41045,"_2222":41045,"_30985":41045,"_13798":41045,"_35859":41045,"_26125":41045,"_4322":41045,"_24688":41045,"_7535":41045,"_13266":41045,"_23860":41045,"_31394":41045,"_33237":41045,"_27896":41045,"_3020":41045,"_4092":41045,"_5775":41045,"_19007":41045,"_3399":41045,"_3659":41045,"_6069":41045,"_7716":41045,"_29543":41045},"1399",{"_22216":40940,"_4242":40940,"_15869":40940,"_3074":40940,"_5775":40940,"_3997":40940,"_2225":40940,"_26394":40940,"_22291":40940,"_3132":40940,"_33873":40940,"_28472":40940,"_4624":40940,"_17595":40940},"1400",{"_22216":40784,"_11263":40784,"_12541":40784,"_23529":40784,"_8204":40784,"_2225":40784,"_12628":40784,"_31394":40784,"_22228":40784,"_3765":40784,"_19118":40784,"_5788":40784,"_5697":40784,"_22291":40784,"_3002":40784,"_2217":40784,"_3132":40784,"_4092":40784,"_15844":40784},"1401",{"_11411":41374,"_5968":41374,"_11313":41374,"_3252":41374,"_7485":41374,"_26469":41374,"_22228":41374,"_3132":41374,"_3074":41374,"_16926":41374,"_13798":41374,"_22291":41374,"_7261":41374,"_15800":41374,"_26130":41374,"_8794":41374,"_13350":41374,"_15859":41374,"_22216":41374,"_22306":41374,"_6177":41374,"_30435":41374,"_2225":41374,"_8851":41374,"_31630":41374,"_9575":41374,"_3997":41374,"_14167":41374,"_7535":41374,"_26394":41374,"_31369":41374,"_29601":41374,"_30522":41374,"_10950":41374,"_23383":41374,"_12628":41374,"_34146":41374,"_15976":41374,"_6069":41374,"_33211":41374,"_12541":41374,"_26504":41374,"_5697":41374,"_30822":41374,"_33804":41374,"_18230":41374,"_7280":41374,"_24059":41374,"_4593":41374,"_22757":41374,"_6379":41374,"_3399":41374,"_14372":41374,"_33711":41374,"_31394":41374,"_3862":41374,"_4975":41374,"_7924":41374,"_6214":41374,"_23936":41374,"_20757":41374,"_13489":41374,"_5375":41374,"_24662":41374,"_26125":41374,"_27021":41374,"_22255":41374,"_10041":41374,"_8204":41374,"_22465":41374,"_14173":41374,"_3765":41374,"_34506":41374,"_13484":41374,"_3659":41374,"_27071":41374,"_14452":41374,"_15794":41374,"_20131":41374,"_22693":41374,"_21962":41374,"_10935":41374,"_27355":41374,"_34412":41374,"_27381":41374,"_5302":41374,"_19406":41374,"_31481":41374,"_26185":41374,"_23534":41374,"_15991":41374,"_19447":41374,"_5535":41374,"_10741":41374,"_16221":41374,"_17295":41374},"1402",{"_34976":41175,"_22216":41175,"_28777":41175,"_6069":41175,"_25966":41175,"_31976":41175,"_4484":41175,"_2225":41175,"_12541":41175,"_5697":41175,"_34955":41175,"_14167":41175,"_25817":41175,"_8794":41175,"_18175":41175,"_33711":41175,"_14677":41175,"_26576":41175,"_21464":41175,"_6707":41175,"_19452":41175,"_33129":41175,"_14562":41175,"_11263":41175,"_12628":41175,"_8132":41175,"_17416":41175,"_18415":41175,"_28501":41175,"_4642":41175,"_31369":41175,"_20125":41175,"_15976":41175,"_23508":41175,"_8204":41175,"_16221":41175,"_15546":41175,"_31486":41175,"_7175":41175,"_5032":41175,"_32574":41175,"_34619":41175,"_6473":41175,"_14173":41175,"_17748":41175,"_7485":41175,"_15925":41175,"_3132":41175,"_14157":41175,"_15800":41175,"_22306":41175,"_15844":41175,"_31481":41175,"_4602":41175,"_20131":41175,"_24886":41175,"_6252":41175,"_24458":41175,"_12535":41175,"_3997":41175,"_31429":41175,"_29601":41175,"_16644":41175,"_3020":41175,"_24478":41175,"_3399":41175,"_29485":41175,"_21225":41175},"1403",{"_11411":41205,"_5968":41205,"_11313":41205,"_11353":41205,"_12080":41205,"_7535":41205,"_32535":41205,"_17877":41205,"_22216":41205,"_18633":41205,"_14167":41205,"_25817":41205,"_13608":41205,"_29513":41205,"_3399":41205,"_34137":41205,"_28777":41205,"_13576":41205,"_22223":41205,"_20718":41205,"_6069":41205,"_13350":41205,"_14157":41205,"_5697":41205,"_33129":41205,"_31481":41205,"_20747":41205,"_3659":41205,"_33711":41205,"_7485":41205,"_6297":41205,"_30807":41205,"_24729":41205,"_4642":41205,"_15976":41205,"_12541":41205,"_24871":41205,"_16221":41205,"_15546":41205,"_21464":41205,"_31369":41205,"_8144":41205,"_3132":41205,"_31486":41205,"_18425":41205,"_22306":41205,"_15925":41205,"_14151":41205,"_15454":41205,"_4975":41205,"_11131":41205},"1404",{"_5968":40896,"_11313":40896,"_11327":40896,"_3671":40896,"_32535":40896,"_25080":40896,"_31976":40896,"_29630":40896,"_29513":40896,"_3399":40896,"_34137":40896,"_34955":40896,"_22216":40896,"_28777":40896,"_5697":40896,"_9011":40896,"_6069":40896,"_13350":40896,"_14157":40896,"_9078":40896,"_31481":40896,"_25742":40896,"_31419":40896,"_4455":40896,"_9038":40896,"_33743":40896,"_20747":40896,"_3659":40896,"_15454":40896,"_4975":40896,"_11131":40896,"_17877":40896,"_14167":40896,"_3132":40896,"_24886":40896,"_12541":40896,"_20752":40896,"_2225":40896,"_27992":40896,"_10097":40896,"_31404":40896,"_27637":40896,"_15466":40896,"_33711":40896,"_12628":40896,"_14151":40896,"_34412":40896,"_18415":40896,"_4642":40896,"_15800":40896,"_3307":40896,"_11032":40896,"_11053":40896},"1405",{"_11411":41168,"_11353":41168,"_7485":41168,"_22216":41168,"_7924":41168,"_32535":41168,"_33129":41168,"_12541":41168,"_24453":41168,"_5697":41168,"_23508":41168,"_31486":41168,"_18425":41168,"_30822":41168,"_6018":41168,"_24458":41168,"_3132":41168,"_20120":41168,"_8144":41168,"_31481":41168,"_21962":41168,"_14151":41168,"_2225":41168,"_11131":41168,"_33711":41168,"_12628":41168,"_3399":41168,"_6047":41168,"_17877":41168,"_15799":41168,"_3642":41168,"_6069":41168,"_25966":41168,"_6214":41168,"_6031":41168,"_5473":41168,"_7988":41168,"_3020":41168,"_21967":41168,"_4455":41168,"_28777":41168,"_8388":41168,"_20752":41168,"_8485":41168,"_34146":41168,"_10097":41168,"_5775":41168,"_31404":41168,"_19842":41168,"_3074":41168,"_3873":41168,"_8204":41168,"_14377":41168,"_5547":41168,"_22291":41168,"_8371":41168,"_13625":41168,"_23383":41168,"_11032":41168,"_11053":41168,"_26125":41168,"_5400":41168,"_4642":41168,"_34439":41168,"_17349":41168,"_15460":41168},"1406",{"_11411":40901,"_11313":40901,"_11327":40901,"_28517":40901,"_26394":40901,"_3252":40901,"_7485":40901,"_20104":40901,"_17656":40901,"_8794":40901,"_11355":40901},"1407",{"_11411":41161,"_11313":41161,"_11327":41161,"_30701":41161,"_22216":41161,"_15665":41161,"_3399":41161,"_13500":41161,"_6069":41161,"_26401":41161,"_3765":41161,"_15191":41161,"_7485":41161,"_11263":41161,"_30435":41161,"_22255":41161,"_33743":41161,"_13582":41161,"_13825":41161,"_30424":41161,"_31128":41161,"_2225":41161,"_32088":41161,"_31394":41161,"_8144":41161,"_33748":41161,"_5697":41161,"_29654":41161,"_22485":41161,"_12541":41161,"_14173":41161,"_4593":41161,"_5473":41161,"_31976":41161,"_16829":41161,"_33711":41161,"_5":41161,"_26394":41161,"_28517":41161,"_31369":41161,"_24761":41161,"_29630":41161,"_8106":41161,"_8149":41161,"_34146":41161,"_7435":41161,"_22306":41161,"_8293":41161,"_31481":41161,"_20131":41161,"_5318":41161,"_8794":41161,"_23082":41161,"_3997":41161,"_28537":41161},"1408",{"_31394":40787,"_28542":40787,"_3132":40787,"_23435":40787},"1409",{"_28517":40821,"_26401":40821,"_15799":40821,"_12805":40821,"_33422":40821,"_33974":40821},"1410",{"_6018":41163,"_2225":41163,"_28517":41163,"_26394":41163,"_3132":41163,"_28663":41163,"_34454":41163,"_15799":41163,"_10741":41163,"_8144":41163,"_34412":41163,"_22216":41163,"_26475":41163,"_19406":41163,"_3399":41163,"_16221":41163,"_9044":41163,"_3765":41163,"_7186":41163,"_7535":41163,"_7123":41163,"_33882":41163,"_28658":41163,"_23016":41163,"_14167":41163,"_24751":41163,"_15800":41163,"_33769":41163,"_17701":41163,"_22291":41163,"_17877":41163,"_15794":41163,"_20131":41163,"_10950":41163,"_31486":41163,"_27355":41163,"_12948":41163,"_12628":41163,"_30461":41163,"_16250":41163,"_22260":41163,"_12541":41163,"_13625":41163,"_26983":41163,"_20747":41163,"_5697":41163,"_3671":41163},"1411",{"_31394":40823,"_2225":40823,"_28517":40823,"_26394":40823,"_14372":40823,"_22216":40823,"_17136":40823,"_3132":40823,"_6047":40823,"_20099":40823,"_3997":40823,"_11263":40823,"_12628":40823,"_22291":40823,"_8144":40823,"_14157":40823,"_5697":40823,"_8414":40823,"_15800":40823,"_3749":40823,"_6069":40823,"_15665":40823,"_25132":40823,"_3399":40823,"_22228":40823,"_33873":40823,"_13165":40823,"_31557":40823,"_23419":40823},"1412",{"_22216":40836,"_19805":40836,"_32739":40836,"_3399":40836,"_3672":40836,"_26394":40836,"_13165":40836,"_20077":40836,"_3765":40836,"_29659":40836,"_8794":40836,"_12628":40836,"_31369":40836,"_15546":40836,"_3132":40836,"_14157":40836,"_5697":40836},"1413",{"_31394":40787,"_28542":40787,"_3132":40787,"_32156":40787},"1414",{"_2225":40885,"_28517":40885,"_26394":40885,"_15794":40885,"_20131":40885,"_34945":40885,"_5697":40885,"_22216":40885,"_7435":40885,"_4742":40885},"1415",{"_31394":40908,"_2225":40908,"_33711":40908,"_26394":40908,"_3132":40908,"_15626":40908,"_8144":40908,"_27381":40908,"_28553":40908,"_7485":40908,"_31621":40908,"_28548":40908,"_15794":40908,"_25270":40908,"_20131":40908,"_34945":40908,"_5697":40908,"_7435":40908,"_3925":40908,"_8820":40908,"_2217":40908,"_3825":40908,"_12805":40908,"_33422":40908,"_33974":40908,"_17877":40908,"_3074":40908,"_34935":40908,"_8991":40908,"_22216":40908,"_9038":40908,"_8204":40908,"_28517":40908,"_15232":40908,"_31374":40908,"_36930":40908,"_27355":40908,"_5302":40908},"1416",{"_15568":40896,"_6047":40896,"_22216":40896,"_5775":40896,"_12805":40896,"_33422":40896,"_2212":40896,"_33748":40896,"_2225":40896,"_26394":40896,"_34935":40896,"_8204":40896,"_28517":40896,"_5697":40896,"_7435":40896,"_10180":40896,"_3132":40896,"_22291":40896,"_15665":40896,"_6069":40896,"_24326":40896,"_30069":40896,"_3997":40896,"_17877":40896,"_15794":40896,"_31492":40896,"_34930":40896,"_8144":40896,"_31481":40896,"_15976":40896,"_3":40896,"_16613":40896,"_30506":40896,"_23383":40896,"_33974":40896,"_8414":40896,"_4592":40896,"_37023":40896,"_5385":40896,"_28895":40896,"_7485":40896,"_6297":40896,"_13283":40896,"_7019":40896,"_13478":40896,"_32749":40896,"_22306":40896,"_8841":40896,"_3925":40896,"_22839":40896,"_16221":40896,"_19161":40896,"_12628":40896},"1417",{"_2225":40866,"_26394":40866,"_15794":40866,"_20131":40866,"_31123":40866,"_28517":40866,"_3399":40866,"_7435":40866,"_24592":40866,"_34935":40866,"_30822":40866,"_22216":40866,"_5775":40866,"_6069":40866,"_15799":40866,"_15859":40866,"_14404":40866,"_8794":40866,"_22693":40866,"_22352":40866},"1418",{"_6718":40881,"_25662":40881,"_34433":40881,"_26452":40881,"_29249":40881,"_29226":40881,"_31369":40881,"_29543":40881,"_7435":40881,"_3399":40881,"_28548":40881,"_17877":40881,"_32156":40881,"_7747":40881,"_6717":40881,"_10492":40881,"_29284":40881,"_22216":40881,"_35100":40881,"_7078":40881,"_6069":40881,"_13321":40881,"_5385":40881,"_26394":40881},"1419",{"_31460":40815,"_22216":40815,"_10180":40815,"_7535":40815,"_29635":40815,"_13739":40815,"_5871":40815,"_5697":40815,"_23435":40815,"_28517":40815,"_26394":40815,"_34935":40815},"1420",{"_7485":40800,"_2225":40800,"_28954":40800,"_24254":40800,"_31369":40800,"_31640":40800,"_5697":40800,"_29654":40800,"_23503":40800,"_6473":40800,"_6069":40800,"_13350":40800,"_31976":40800,"_37023":40800,"_22291":40800,"_14354":40800,"_35370":40800,"_22216":40800,"_6693":40800,"_3132":40800,"_25085":40800,"_20131":40800,"_28517":40800,"_26394":40800,"_6047":40800,"_4593":40800,"_22306":40800,"_20718":40800,"_7875":40800,"_27401":40800,"_5675":40800,"_26796":40800,"_5168":40800,"_15632":40800,"_28608":40800,"_33422":40800,"_33974":40800,"_3399":40800,"_7435":40800,"_26401":40800},"1421",{"_31394":40878,"_3132":40878,"_22216":40878,"_26394":40878,"_15626":40878},"1422",{"_7485":40866,"_22216":40866,"_15546":40866,"_17643":40866,"_8144":40866,"_31481":40866,"_21962":40866,"_5697":40866,"_12805":40866,"_2225":40866,"_28517":40866,"_26394":40866,"_31394":40866,"_18210":40866,"_14383":40866,"_3399":40866,"_15637":40866,"_8851":40866,"_10202":40866,"_8013":40866},"1423",{"_26791":40844,"_29774":40844,"_17877":40844,"_22216":40844,"_12805":40844,"_7535":40844,"_26394":40844,"_3132":40844,"_26490":40844,"_4975":40844,"_12628":40844,"_2225":40844,"_3399":40844,"_12541":40844,"_23529":40844,"_5697":40844,"_26763":40844,"_3672":40844,"_3871":40844,"_31369":40844,"_32205":40844,"_7019":40844,"_4105":40844,"_8144":40844,"_5668":40844,"_22260":40844,"_14372":40844,"_8485":40844},"1424",{"_31394":41361,"_2225":41361,"_12541":41361,"_9795":41361,"_5697":41361,"_3871":41361,"_16221":41361,"_26481":41361,"_31966":41361,"_3099":41361,"_32829":41361,"_7485":41361,"_2216":41361,"_28517":41361,"_26394":41361,"_21052":41361,"_4593":41361,"_31481":41361,"_26495":41361,"_35165":41361,"_18230":41361,"_17877":41361,"_15637":41361,"_17554":41361,"_8794":41361,"_3132":41361,"_14785":41361,"_30461":41361,"_3856":41361,"_22216":41361,"_20131":41361,"_3145":41361,"_14151":41361,"_6252":41361,"_7271":41361,"_26438":41361,"_30435":41361,"_13582":41361,"_29615":41361,"_37023":41361,"_5385":41361,"_22306":41361,"_30315":41361,"_4592":41361,"_21951":41361,"_8485":41361,"_5668":41361,"_4630":41361,"_9038":41361,"_8204":41361,"_33743":41361,"_8414":41361,"_6449":41361,"_27148":41361,"_27355":41361,"_3925":41361,"_24296":41361,"_3997":41361,"_22794":41361,"_6069":41361,"_8851":41361},"1425",{"_9044":3013},"1426",{"_24156":40802,"_11263":40802,"_9044":40802,"_6036":40802,"_32476":40802,"_21946":40802,"_26490":40802,"_5697":40802,"_13350":40802,"_31394":40802,"_12923":40802,"_3":40802,"_3020":40802,"_15530":40802,"_15363":40802,"_16556":40802,"_3297":40802,"_26630":40802,"_6973":40802,"_3399":40802,"_9050":40802},"1427",{"_26630":40853,"_6069":40853,"_9044":40853},"1428",{"_18963":40853,"_9821":40853,"_9044":40853},"1429",{"_9011":40794,"_9044":40794},"1430",{"_26791":40878,"_11263":40878,"_6973":40878,"_5385":40878,"_9044":40878},"1431",{"_22316":40878,"_5697":40878,"_9088":40878,"_5385":40878,"_9044":40878},"1432",{"_4455":41400,"_6069":41400,"_22216":41400,"_10041":41400,"_5788":41400,"_7485":41400,"_11263":41400,"_3280":41400,"_7372":41400,"_7358":41400,"_3399":41400,"_32855":41400,"_29630":41400,"_5871":41400,"_26285":41400,"_2225":41400,"_3297":41400,"_3925":41400,"_27134":41400,"_33562":41400,"_30078":41400,"_3132":41400,"_11291":41400,"_23839":41400,"_32476":41400,"_6036":41400,"_21930":41400,"_26490":41400,"_5697":41400,"_12541":41400,"_22291":41400,"_26242":41400,"_31369":41400,"_6177":41400,"_31394":41400,"_3":41400,"_7535":41400,"_31630":41400,"_15368":41400,"_22228":41400,"_3765":41400,"_22347":41400,"_26379":41400,"_19657":41400,"_13980":41400,"_22306":41400},"1433",{"_6036":41000,"_21930":41000,"_3659":41000,"_3297":41000,"_32476":41000,"_31481":41000,"_20131":41000,"_26490":41000,"_5697":41000,"_22216":41000,"_12541":41000,"_31394":41000,"_3":41000,"_29601":41000,"_15374":41000,"_7535":41000,"_32535":41000,"_17877":41000,"_2225":41000,"_24751":41000,"_7372":41000,"_12943":41000,"_21858":41000,"_3399":41000,"_29068":41000,"_3132":41000,"_3020":41000,"_23961":41000,"_7271":41000,"_15368":41000,"_5668":41000,"_33873":41000,"_34571":41000,"_24776":41000,"_3671":41000,"_10041":41000,"_22291":41000,"_23265":41000,"_33711":41000},"1434",{"_26490":41185,"_5697":41185,"_22216":41185,"_12541":41185,"_22306":41185,"_17696":41185,"_22291":41185,"_3074":41185,"_32476":41185,"_3132":41185,"_3997":41185,"_31645":41185,"_30822":41185,"_20125":41185,"_15800":41185,"_10196":41185,"_30461":41185,"_25147":41185,"_9470":41185,"_15254":41185,"_15363":41185,"_5775":41185,"_10202":41185,"_17359":41185,"_9044":41185,"_3765":41185,"_4099":41185,"_31712":41185,"_11263":41185,"_18165":41185,"_6311":41185,"_6967":41185,"_2225":41185,"_31481":41185,"_33856":41185,"_26125":41185,"_7535":41185,"_31369":41185,"_8144":41185,"_29601":41185,"_26242":41185,"_3297":41185,"_34785":41185,"_7924":41185,"_26155":41185,"_33804":41185,"_24054":41185,"_3020":41185,"_3672":41185,"_8544":41185,"_15976":41185,"_23383":41185,"_13350":41185,"_3399":41185,"_15270":41185,"_8204":41185,"_34960":41185,"_4975":41185,"_22757":41185,"_26379":41185,"_19647":41185,"_32461":41185,"_26130":41185,"_8794":41185,"_29630":41185,"_13955":41185,"_6297":41185},"1435",{"_22216":41168,"_3":41168,"_7535":41168,"_31369":41168,"_3297":41168,"_31630":41168,"_26242":41168,"_22306":41168,"_10486":41168,"_5697":41168,"_23383":41168,"_4603":41168,"_2225":41168,"_2212":41168,"_15794":41168,"_15363":41168,"_8144":41168,"_30108":41168,"_22322":41168,"_6069":41168,"_11263":41168,"_3925":41168,"_20094":41168,"_22693":41168,"_28802":41168,"_9044":41168,"_3399":41168,"_15523":41168,"_7372":41168,"_32855":41168,"_7358":41168,"_23265":41168,"_4577":41168,"_20125":41168,"_30102":41168,"_30517":41168,"_5133":41168,"_37007":41168,"_9481":41168,"_9470":41168,"_17163":41168,"_5385":41168,"_31419":41168,"_9476":41168,"_28777":41168,"_15530":41168,"_22455":41168,"_26342":41168,"_31481":41168,"_21930":41168,"_12923":41168,"_4017":41168,"_3132":41168,"_25147":41168,"_12805":41168,"_15626":41168,"_19267":41168,"_12812":41168,"_31123":41168,"_27021":41168,"_22228":41168,"_20131":41168,"_33873":41168,"_20718":41168,"_23961":41168,"_32003":41168},"1436",{"_9044":41607,"_3765":41607,"_20099":41607,"_28553":41607,"_4975":41607,"_22216":41607,"_11263":41607,"_12628":41607,"_5697":41607,"_31369":41607,"_12541":41607,"_3132":41607,"_14157":41607,"_22306":41607,"_4494":41607,"_20131":41607,"_28921":41607,"_26242":41607,"_20084":41607,"_3399":41607,"_23666":41607,"_31394":41607,"_2225":41607,"_14372":41607,"_33711":41607,"_3297":41607,"_31481":41607,"_21936":41607,"_7535":41607,"_3642":41607,"_26394":41607,"_32481":41607,"_15800":41607,"_9575":41607,"_31374":41607,"_23534":41607,"_8204":41607,"_9795":41607,"_18639":41607,"_10598":41607,"_10955":41607,"_17877":41607,"_33753":41607,"_7485":41607,"_7255":41607,"_4455":41607,"_6177":41607,"_21754":41607,"_22228":41607,"_3659":41607,"_15925":41607,"_31404":41607,"_20125":41607,"_21390":41607,"_32844":41607,"_6069":41607,"_12923":41607,"_30315":41607,"_15626":41607,"_23961":41607},"1437",{"_11411":40808,"_11313":40808,"_11320":40808,"_33711":40808,"_7485":40808,"_13350":40808,"_15794":40808,"_4592":40808,"_26242":40808,"_19070":40808,"_9821":40808,"_9044":40808,"_3997":40808,"_2225":40808,"_12923":40808,"_22291":40808,"_3765":40808,"_15800":40808,"_9038":40808,"_31394":40808,"_21936":40808,"_3399":40808,"_21930":40808,"_7535":40808,"_15368":40808,"_22216":40808,"_10598":40808,"_3925":40808,"_32003":40808,"_3642":40808,"_15530":40808,"_12931":40808,"_9828":40808},"1438",{"_31976":41013,"_15794":41013,"_26242":41013,"_9044":41013,"_31486":41013,"_22216":41013,"_22347":41013,"_15869":41013,"_22291":41013,"_10041":41013,"_13165":41013,"_6069":41013,"_11263":41013,"_32855":41013,"_7372":41013,"_3399":41013,"_7358":41013,"_7716":41013,"_28777":41013,"_23860":41013,"_32481":41013,"_2225":41013,"_3297":41013,"_21930":41013,"_32156":41013,"_22265":41013},"1439",{"_15626":40827,"_32476":40827,"_3095":40827,"_31486":40827,"_2225":40827,"_15844":40827,"_5697":40827,"_32855":40827},"1440",{"_23961":40901,"_32476":40901,"_3095":40901,"_31486":40901,"_2225":40901,"_15844":40901,"_5697":40901,"_32855":40901,"_7372":40901,"_3399":40901,"_7358":40901},"1441",{"_15374":40885,"_32476":40885,"_3095":40885,"_31486":40885,"_2225":40885,"_15844":40885,"_5697":40885,"_32855":40885,"_3399":40885,"_7372":40885},"1442",{"_15523":40827,"_32476":40827,"_3095":40827,"_31486":40827,"_2225":40827,"_15844":40827,"_5697":40827,"_7358":40827},"1443",{"_11411":41142,"_11313":41142,"_11320":41142,"_33711":41142,"_7485":41142,"_22228":41142,"_3132":41142,"_34137":41142,"_2225":41142,"_35230":41142,"_3997":41142,"_22216":41142,"_25651":41142,"_3297":41142,"_24151":41142,"_5400":41142,"_31424":41142,"_30253":41142,"_15794":41142,"_26242":41142,"_22291":41142,"_24751":41142,"_15800":41142,"_7271":41142,"_9038":41142,"_31394":41142,"_21936":41142,"_3195":41142,"_22223":41142,"_9044":41142,"_21930":41142,"_32476":41142,"_22673":41142,"_33984":41142,"_34001":41142,"_3399":41142,"_34007":41142,"_5893":41142,"_9828":41142,"_7535":41142,"_4455":41142,"_12931":41142,"_25621":41142,"_4975":41142,"_12923":41142,"_10598":41142,"_33882":41142,"_33990":41142,"_32481":41142,"_3765":41142,"_18963":41142,"_9821":41142,"_3925":41142,"_8144":41142,"_31861":41142,"_20131":41142,"_10661":41142},"1444",{"_18963":41000,"_9044":41000,"_3765":41000,"_26242":41000,"_34412":41000,"_22216":41000,"_20898":41000,"_3296":41000,"_21941":41000,"_26630":41000,"_3399":41000,"_6973":41000,"_3672":41000,"_22281":41000,"_6036":41000,"_27355":41000,"_3925":41000,"_25651":41000,"_6047":41000,"_13798":41000,"_10559":41000,"_32481":41000,"_3132":41000,"_22291":41000,"_9821":41000,"_31712":41000,"_33856":41000,"_21930":41000,"_15523":41000,"_15374":41000,"_22255":41000,"_10661":41000,"_9038":41000,"_9043":41000,"_31486":41000,"_31675":41000,"_5":41000,"_31723":41000,"_3642":41000},"1445",{"_31976":41107,"_15794":41107,"_9011":41107,"_22216":41107,"_9044":41107,"_10598":41107,"_3997":41107,"_2225":41107,"_12923":41107,"_31486":41107,"_15844":41107,"_5697":41107,"_9043":41107,"_4592":41107,"_11263":41107,"_12541":41107,"_28553":41107,"_32471":41107,"_17877":41107,"_22228":41107,"_3132":41107,"_33873":41107,"_12628":41107,"_14167":41107,"_8794":41107,"_26285":41107,"_28517":41107,"_8651":41107,"_21858":41107,"_7716":41107,"_28777":41107,"_23860":41107,"_32481":41107,"_31369":41107,"_31481":41107,"_20131":41107,"_21936":41107,"_5473":41107,"_25147":41107,"_3297":41107,"_9050":41107},"1446",{"_15523":40815,"_9011":40815,"_32476":40815,"_31675":40815,"_31369":40815,"_31630":40815,"_3252":40815,"_31486":40815,"_2225":40815,"_15844":40815,"_5697":40815,"_7358":40815},"1447",{"_3":40940,"_9011":40940,"_32476":40940,"_31675":40940,"_31369":40940,"_31630":40940,"_3252":40940,"_31486":40940,"_2225":40940,"_15844":40940,"_5697":40940,"_32855":40940,"_3020":40940,"_7372":40940},"1448",{"_18963":40832,"_9011":40832,"_32476":40832,"_31675":40832,"_31369":40832,"_31630":40832,"_3252":40832,"_31486":40832,"_2225":40832,"_15844":40832,"_5697":40832,"_3150":40832,"_3297":40832},"1449",{"_31486":40827,"_10554":40827,"_5697":40827,"_9044":40827,"_11263":40827,"_20089":40827,"_22223":40827,"_6973":40827},"1450",{"_9044":40825,"_3765":40825,"_6306":40825,"_31486":40825,"_9196":40825,"_5697":40825,"_3672":40825,"_32481":40825,"_3399":40825,"_4092":40825,"_10400":40825,"_22216":40825,"_11263":40825,"_12541":40825,"_28869":40825,"_32120":40825,"_22291":40825,"_32461":40825,"_3132":40825,"_23672":40825,"_7485":40825,"_6297":40825},"1451",{"_2225":40784,"_12541":40784,"_31481":40784,"_26125":40784,"_3297":40784,"_32476":40784,"_7535":40784,"_12923":40784,"_8144":40784,"_3132":40784,"_31770":40784,"_30461":40784,"_26165":40784,"_22216":40784,"_33711":40784,"_3":40784,"_22291":40784,"_14572":40784,"_5697":40784},"1452",{"_22216":40940,"_6297":40940,"_6069":40940,"_3297":40940,"_32481":40940,"_8204":40940,"_11263":40940,"_14572":40940,"_5697":40940,"_34960":40940,"_3925":40940,"_26130":40940,"_8794":40940,"_25941":40940},"1453",{"_25651":40825,"_9044":40825,"_3765":40825,"_3659":40825,"_8771":40825,"_21946":40825,"_17877":40825,"_30253":40825,"_7271":40825,"_2225":40825,"_3297":40825,"_32476":40825,"_3399":40825,"_31635":40825,"_5697":40825,"_33924":40825,"_6069":40825,"_8095":40825,"_15368":40825,"_21124":40825,"_26242":40825,"_3671":40825},"1454",{"_30435":40896,"_25651":40896,"_9044":40896,"_3765":40896,"_3659":40896,"_8771":40896,"_21946":40896,"_3399":40896,"_22228":40896,"_3132":40896,"_29058":40896,"_30506":40896,"_7303":40896,"_22216":40896,"_32476":40896,"_4105":40896,"_2225":40896,"_33711":40896,"_8851":40896,"_5697":40896,"_7271":40896,"_3297":40896,"_30253":40896,"_15799":40896,"_9942":40896,"_26125":40896,"_32456":40896,"_15363":40896,"_22291":40896,"_29774":40896,"_2212":40896,"_7485":40896,"_11263":40896,"_20131":40896,"_18680":40896,"_29654":40896,"_15925":40896,"_31404":40896,"_12923":40896,"_15368":40896,"_21199":40896,"_22757":40896,"_26285":40896,"_5668":40896,"_20125":40896,"_15800":40896,"_15937":40896,"_30822":40896,"_4975":40896,"_29327":40896,"_10153":40896,"_8144":40896,"_29763":40896},"1455",{"_2225":41009,"_3297":41009,"_6649":41009,"_3020":41009,"_8132":41009,"_13670":41009,"_19447":41009,"_31481":41009,"_6047":41009,"_20131":41009,"_21936":41009,"_6018":41009,"_7535":41009,"_7401":41009,"_33914":41009,"_32535":41009,"_17877":41009,"_22216":41009,"_27355":41009,"_3132":41009,"_10598":41009,"_3074":41009,"_32855":41009,"_3399":41009,"_7372":41009,"_15844":41009,"_7825":41009,"_22291":41009,"_22260":41009,"_23961":41009,"_31861":41009,"_17411":41009,"_31486":41009,"_23993":41009},"1456",{"_31394":41163,"_30253":41163,"_23508":41163,"_8204":41163,"_2225":41163,"_12628":41163,"_7535":41163,"_32535":41163,"_22216":41163,"_8371":41163,"_31481":41163,"_15800":41163,"_7271":41163,"_3642":41163,"_9044":41163,"_34785":41163,"_14167":41163,"_3132":41163,"_10950":41163,"_22306":41163,"_10180":41163,"_26394":41163,"_32481":41163,"_3765":41163,"_26490":41163,"_5697":41163,"_4455":41163,"_6395":41163,"_3297":41163,"_29668":41163,"_10492":41163,"_7118":41163,"_17086":41163,"_27386":41163,"_10097":41163,"_20131":41163,"_9585":41163,"_31374":41163,"_23534":41163,"_4593":41163,"_30258":41163,"_18190":41163,"_27148":41163,"_4953":41163,"_14012":41163,"_7485":41163,"_22291":41163},"1457",{"_9839":40853,"_3399":40853,"_26860":40853},"1458",{"_6927":40911,"_7535":40911,"_34412":40911,"_11263":40911,"_5697":40911,"_17632":40911,"_29870":40911,"_14086":40911,"_25132":40911,"_3925":40911,"_30794":40911,"_36411":40911,"_28592":40911,"_3399":40911,"_8414":40911,"_8420":40911},"1459",{"_2225":40827,"_6918":40827,"_5697":40827,"_15675":40827,"_29875":40827,"_14086":40827,"_31486":40827,"_11263":40827},"1460",{"_17763":40878,"_33882":40878,"_5385":40878,"_33211":40878,"_29683":40878},"1461",{"_6379":40885,"_6069":40885,"_22216":40885,"_20115":40885,"_4249":40885,"_7853":40885,"_25941":40885,"_13755":40885,"_7018":40885,"_21020":40885},"1462",{"_30794":3013},"1463",{"_24781":40794,"_30794":40794},"1464",{"_36411":3013},"1465",{"_18888":40794,"_36411":40794},"1466",{"_28592":3013},"1467",{"_9621":40878,"_33216":40878,"_3399":40878,"_22216":40878,"_6907":40878},"1468",{"_27282":40794,"_28592":40794},"1469",{"_10841":40853,"_27282":40853,"_28592":40853},"1470",{"_22713":40794,"_14773":40794},"1471",{"_8414":40794,"_8420":40794},"1472",{"_7485":41144,"_22306":41144,"_3907":41144,"_30294":41144,"_7983":41144,"_6927":41144,"_7535":41144,"_34412":41144,"_11263":41144,"_5697":41144,"_17632":41144,"_29860":41144,"_6297":41144,"_8171":41144,"_4455":41144,"_6069":41144,"_22265":41144,"_3765":41144,"_13893":41144,"_17656":41144,"_4975":41144,"_22216":41144,"_12541":41144,"_3399":41144,"_24662":41144,"_15800":41144,"_8815":41144,"_27992":41144,"_25052":41144,"_8204":41144,"_29585":41144,"_14767":41144,"_31481":41144,"_16090":41144,"_22223":41144,"_13447":41144,"_28869":41144,"_19923":41144,"_22250":41144,"_10492":41144,"_32354":41144,"_25656":41144},"1473",{"_3659":40859,"_6069":40859,"_22216":40859,"_4692":40859,"_16911":40859,"_22316":40859,"_5385":40859,"_11263":40859,"_3132":40859,"_22291":40859,"_32471":40859,"_22475":40859,"_34433":40859,"_4092":40859,"_33919":40859,"_30253":40859,"_15794":40859,"_10492":40859,"_8144":40859,"_5697":40859,"_30878":40859,"_27896":40859,"_13965":40859,"_18805":40859,"_25132":40859,"_3925":40859,"_36411":40859,"_3399":40859,"_28592":40859,"_31481":40859,"_26125":40859,"_22306":40859,"_19679":40859,"_30435":40859,"_17783":40859,"_3074":40859,"_6613":40859,"_6297":40859,"_3997":40859,"_34960":40859,"_29601":40859,"_21078":40859,"_32626":40859,"_6311":40859},"1474",{"_33882":40888,"_22291":40888,"_22216":40888,"_9839":40888,"_30373":40888,"_5535":40888,"_5697":40888,"_33506":40888,"_30446":40888,"_18915":40888,"_7485":40888,"_19161":40888,"_22255":40888,"_5331":40888,"_19620":40888,"_22789":40888,"_3020":40888,"_3665":40888,"_33314":40888,"_31861":40888,"_5242":40888,"_2225":40888,"_30088":40888,"_33562":40888,"_15991":40888,"_30944":40888,"_6069":40888,"_21821":40888,"_3399":40888,"_28843":40888,"_27615":40888},"1475",{"_22228":40861,"_3765":40861,"_20190":40861,"_34444":40861,"_8171":40861,"_22291":40861,"_15794":40861,"_20131":40861,"_17836":40861,"_3820":40861,"_16571":40861,"_30078":40861,"_3280":40861,"_10841":40861,"_10068":40861,"_18888":40861,"_28592":40861,"_3925":40861,"_3307":40861,"_3659":40861,"_32535":40861,"_3399":40861,"_26763":40861,"_6069":40861,"_22216":40861,"_14086":40861,"_21088":40861,"_7485":40861,"_19161":40861,"_18093":40861,"_16142":40861,"_19657":40861,"_32471":40861,"_22475":40861,"_30253":40861,"_20125":40861,"_7983":40861,"_3672":40861,"_25132":40861,"_32476":40861,"_29673":40861,"_3020":40861,"_36411":40861,"_2225":40861,"_20718":40861,"_18922":40861,"_20946":40861,"_19012":40861,"_27355":40861,"_8132":40861,"_7255":40861,"_32544":40861,"_22306":40861,"_26175":40861,"_24091":40861,"_5697":40861,"_25757":40861,"_22480":40861},"1476",{"_31394":40798,"_17661":40798,"_22216":40798,"_9839":40798,"_30253":40798,"_21124":40798,"_29654":40798,"_9621":40798,"_33081":40798,"_26125":40798,"_8568":40798,"_7485":40798,"_19161":40798,"_26550":40798,"_6069":40798,"_33506":40798,"_26592":40798,"_33422":40798,"_33974":40798,"_15675":40798,"_2225":40798,"_2212":40798,"_22228":40798,"_3132":40798,"_3074":40798,"_33211":40798,"_15925":40798,"_31369":40798,"_12805":40798,"_25162":40798,"_3997":40798,"_12628":40798,"_30822":40798,"_15769":40798,"_30461":40798,"_9486":40798,"_7853":40798,"_5697":40798,"_12541":40798,"_9795":40798,"_16221":40798,"_26394":40798,"_25752":40798,"_17595":40798,"_3399":40798,"_22455":40798,"_15800":40798,"_9038":40798,"_17691":40798,"_22291":40798,"_8144":40798,"_23408":40798,"_7535":40798,"_37023":40798,"_17877":40798,"_31630":40798,"_15626":40798,"_3020":40798,"_30373":40798,"_16561":40798,"_20962":40798,"_22306":40798},"1477",{"_7853":40836,"_25941":40836,"_3399":40836,"_13755":40836,"_3765":40836,"_22693":40836,"_6069":40836,"_22216":40836,"_18788":40836,"_4249":40836,"_11263":40836,"_22223":40836,"_8171":40836,"_18170":40836,"_23357":40836,"_8794":40836,"_4322":40836},"1478",{"_3671":40823,"_8132":40823,"_23357":40823,"_18170":40823,"_8794":40823,"_11263":40823,"_3132":40823,"_7018":40823,"_21020":40823,"_22216":40823,"_10286":40823,"_2225":40823,"_2212":40823,"_21015":40823,"_6069":40823,"_12805":40823,"_33422":40823,"_33974":40823,"_34687":40823,"_22291":40823,"_8358":40823,"_5374":40823,"_31481":40823,"_20131":40823,"_9038":40823,"_4742":40823,"_31394":40823,"_23936":40823,"_8377":40823},"1479",{"_23629":40917,"_27813":40917,"_10492":40917,"_30794":40917,"_5697":40917,"_31295":40917,"_18210":40917,"_6069":40917,"_2225":40917,"_26242":40917,"_33974":40917,"_34785":40917,"_14452":40917,"_3132":40917,"_20881":40917,"_4975":40917,"_31369":40917,"_8771":40917,"_4455":40917,"_22216":40917,"_3765":40917,"_4508":40917,"_18235":40917,"_17656":40917,"_7485":40917,"_11263":40917,"_8794":40917,"_24121":40917,"_30788":40917,"_2212":40917,"_19862":40917,"_17877":40917,"_32855":40917,"_30083":40917,"_20038":40917,"_15254":40917},"1480",{"_12541":40834,"_15869":40834,"_22216":40834,"_11263":40834,"_4345":40834,"_32855":40834,"_8132":40834,"_3997":40834,"_30788":40834,"_2212":40834,"_31486":40834,"_3297":40834,"_26242":40834,"_5697":40834,"_21858":40834},"1481",{"_17877":40901,"_32855":40901,"_9476":40901,"_8460":40901,"_22216":40901,"_30788":40901,"_3132":40901,"_7186":40901,"_3399":40901,"_12541":40901,"_18250":40901},"1482",{"_33314":40911,"_17877":40911,"_32855":40911,"_9476":40911,"_21858":40911,"_22216":40911,"_13350":40911,"_31816":40911,"_7535":40911,"_2225":40911,"_3297":40911,"_32476":40911,"_8204":40911,"_11263":40911,"_30788":40911,"_2212":40911},"1483",{"_31394":40911,"_22216":40911,"_3297":40911,"_32476":40911,"_3132":40911,"_21936":40911,"_12541":40911,"_10960":40911,"_32855":40911,"_15844":40911,"_5668":40911,"_31826":40911,"_34785":40911,"_30788":40911,"_2212":40911,"_9038":40911},"1484",{"_24781":40808,"_30794":40808,"_32156":40808,"_13350":40808,"_5697":40808,"_27886":40808,"_22216":40808,"_30537":40808,"_3399":40808,"_21644":40808,"_6069":40808,"_2225":40808,"_14878":40808,"_31394":40808,"_32371":40808,"_18200":40808,"_29630":40808,"_35738":40808,"_30788":40808,"_25609":40808,"_22250":40808,"_29301":40808,"_6018":40808,"_22255":40808,"_7951":40808,"_22306":40808,"_9833":40808,"_27164":40808,"_29485":40808,"_10492":40808,"_11263":40808,"_2212":40808,"_3925":40808},"1485",{"_22216":41400,"_20038":41400,"_15254":41400,"_7485":41400,"_22306":41400,"_9833":41400,"_10291":41400,"_30788":41400,"_2212":41400,"_3925":41400,"_3871":41400,"_32456":41400,"_12541":41400,"_18190":41400,"_4034":41400,"_10603":41400,"_31486":41400,"_3997":41400,"_32240":41400,"_3399":41400,"_34844":41400,"_31394":41400,"_8144":41400,"_3132":41400,"_4631":41400,"_5697":41400,"_29301":41400,"_2225":41400,"_35370":41400,"_32275":41400,"_18255":41400,"_30373":41400,"_31821":41400,"_34785":41400,"_4309":41400,"_10593":41400,"_30461":41400,"_18240":41400,"_14878":41400,"_30078":41400,"_7019":41400,"_30253":41400,"_23880":41400,"_7535":41400,"_30258":41400,"_7869":41400},"1486",{"_32275":3013},"1487",{"_29301":3013},"1488",{"_6884":40829,"_12805":40829,"_2225":40829,"_7853":40829,"_3207":40829,"_37694":40829,"_37679":40829},"1489",{"_6884":40878,"_3193":40878,"_7358":40878,"_3871":40878,"_8460":40878},"1490",{"_5968":40829,"_26242":40829,"_3297":40829,"_32855":40829,"_3871":40829,"_4631":40829,"_21858":40829},"1491",{"_5968":40878,"_17877":40878,"_33873":40878,"_15530":40878,"_32819":40878},"1492",{"_11313":40878,"_12805":40878,"_15523":40878,"_3207":40878,"_33422":40878},"1493",{"_11313":40832,"_17877":40832,"_4034":40832,"_3132":40832,"_6047":40832,"_18190":40832,"_2212":40832,"_7485":40832,"_3193":40832,"_12812":40832,"_3207":40832,"_3399":40832,"_32819":40832},"1494",{"_11353":40878,"_3193":40878,"_7358":40878,"_3871":40878,"_8460":40878},"1495",{"_11353":40832,"_17877":40832,"_4034":40832,"_3132":40832,"_22216":40832,"_28628":40832,"_18190":40832,"_2212":40832,"_7485":40832,"_3193":40832,"_31816":40832,"_3997":40832,"_29880":40832},"1496",{"_11327":40901,"_17877":40901,"_8320":40901,"_15530":40901,"_7485":40901,"_3193":40901,"_22286":40901,"_31816":40901,"_7535":40901,"_3297":40901,"_32476":40901},"1497",{"_11327":40834,"_33314":40834,"_12812":40834,"_3207":40834,"_17877":40834,"_25752":40834,"_32855":40834,"_3399":40834,"_31816":40834,"_3997":40834,"_28628":40834,"_18190":40834,"_2212":40834,"_7485":40834,"_3193":40834},"1498",{"_11320":40821,"_33314":40821,"_12805":40821,"_3871":40821,"_4631":40821,"_10539":40821},"1499",{"_6884":40853,"_11320":40853,"_7162":40853},"1500",{"_11327":40896,"_3997":40896,"_32286":40896,"_4455":40896,"_18200":40896,"_3297":40896,"_2225":40896,"_4631":40896,"_2212":40896,"_3399":40896,"_12805":40896,"_3074":40896,"_33422":40896,"_3925":40896,"_15523":40896,"_6069":40896,"_22216":40896,"_30788":40896,"_33129":40896,"_18190":40896,"_30822":40896,"_28997":40896,"_32291":40896,"_31821":40896,"_7535":40896,"_5697":40896,"_4215":40896,"_4975":40896,"_6144":40896,"_22291":40896,"_15632":40896,"_36345":40896,"_31481":40896,"_26125":40896,"_4309":40896,"_33974":40896,"_7485":40896,"_28777":40896,"_15530":40896,"_31836":40896,"_7019":40896,"_3672":40896,"_33882":40896,"_31826":40896,"_31841":40896,"_6047":40896,"_31394":40896,"_8144":40896,"_3132":40896,"_8771":40896,"_32819":40896,"_4593":40896,"_33593":40896},"1501",{"_3997":40812,"_32819":40812,"_30253":40812,"_15805":40812,"_10492":40812,"_2225":40812,"_8651":40812,"_25132":40812,"_3925":40812,"_4631":40812,"_30435":40812,"_3765":40812,"_31770":40812,"_7535":40812,"_18190":40812,"_33974":40812,"_5697":40812,"_7118":40812,"_3755":40812,"_8794":40812,"_34412":40812,"_33422":40812,"_18200":40812,"_22291":40812,"_8358":40812,"_5473":40812,"_22216":40812,"_30788":40812,"_29601":40812,"_30522":40812,"_32281":40812,"_24662":40812,"_15800":40812,"_18644":40812,"_14577":40812,"_8204":40812,"_7956":40812,"_31394":40812,"_29301":40812,"_22255":40812,"_33743":40812,"_12812":40812,"_22250":40812,"_3399":40812,"_31816":40812,"_4455":40812,"_3672":40812,"_27355":40812},"1502",{"_18200":41142,"_32819":41142,"_31394":41142,"_22228":41142,"_3765":41142,"_33873":41142,"_18190":41142,"_33974":41142,"_29378":41142,"_3925":41142,"_15530":41142,"_6069":41142,"_3871":41142,"_29490":41142,"_3074":41142,"_33603":41142,"_30253":41142,"_15794":41142,"_10492":41142,"_22216":41142,"_28628":41142,"_2212":41142,"_4631":41142,"_8651":41142,"_4455":41142,"_3672":41142,"_22291":41142,"_5697":41142,"_3297":41142,"_7535":41142,"_32834":41142,"_7118":41142,"_3755":41142,"_3399":41142,"_6799":41142,"_9044":41142,"_3642":41142,"_19847":41142,"_29880":41142,"_26978":41142,"_22306":41142,"_20946":41142,"_6047":41142,"_2225":41142,"_27026":41142,"_31846":41142,"_7019":41142,"_3997":41142,"_33129":41142,"_23993":41142,"_33072":41142,"_28997":41142,"_31369":41142,"_32466":41142,"_8144":41142,"_3132":41142,"_9038":41142},"1503",{"_23629":42226,"_36411":42226,"_3765":42226,"_2225":42226,"_14706":42226,"_3":42226,"_25857":42226,"_5697":42226,"_17632":42226,"_12580":42226,"_7485":42226,"_11263":42226,"_7924":42226,"_24106":42226,"_12923":42226,"_29538":42226,"_22216":42226,"_2212":42226,"_13350":42226,"_6413":42226,"_26773":42226,"_17086":42226,"_8794":42226,"_15849":42226,"_12805":42226,"_31486":42226,"_19343":42226,"_32210":42226,"_36417":42226,"_26603":42226,"_3399":42226,"_33422":42226,"_8658":42226,"_15844":42226,"_26242":42226,"_21858":42226,"_30435":42226,"_8651":42226,"_3132":42226,"_33711":42226,"_31481":42226,"_29630":42226,"_7593":42226,"_19348":42226,"_36422":42226,"_31404":42226,"_4309":42226,"_20696":42226,"_16654":42226,"_6473":42226,"_12541":42226,"_22291":42226,"_31640":42226,"_20131":42226,"_9038":42226,"_8204":42226,"_15869":42226,"_11291":42226,"_7358":42226,"_8132":42226,"_3297":42226,"_3997":42226,"_30542":42226,"_18210":42226,"_33974":42226,"_28628":42226,"_24751":42226,"_15800":42226,"_33743":42226,"_17546":42226,"_3671":42226,"_34785":42226,"_8144":42226,"_33115":42226,"_28777":42226,"_6768":42226,"_17877":42226,"_22228":42226,"_33873":42226,"_15530":42226,"_10128":42226,"_31821":42226,"_7535":42226,"_33914":42226,"_10218":42226,"_5668":42226},"1504",{"_5":40794,"_17136":40794},"1505",{"_22228":40802,"_34137":40802,"_32855":40802,"_2225":40802,"_12580":40802,"_17643":40802,"_7485":40802,"_11263":40802,"_9839":40802,"_23347":40802,"_22306":40802,"_3132":40802,"_23629":40802,"_31486":40802,"_22216":40802,"_9888":40802,"_37198":40802,"_12568":40802,"_12579":40802,"_6069":40802,"_3913":40802},"1506",{"_5697":41182,"_17632":41182,"_2225":41182,"_18888":41182,"_12580":41182,"_30253":41182,"_33743":41182,"_6047":41182,"_20270":41182,"_22693":41182,"_26933":41182,"_15368":41182,"_22216":41182,"_7266":41182,"_9833":41182,"_7924":41182,"_3150":41182,"_19343":41182,"_32205":41182,"_31486":41182,"_36427":41182,"_31404":41182,"_30344":41182,"_3132":41182,"_6069":41182,"_33299":41182,"_28623":41182,"_34203":41182,"_10312":41182,"_29860":41182,"_3307":41182,"_7875":41182,"_34646":41182,"_26185":41182,"_31394":41182,"_9055":41182,"_8204":41182,"_12541":41182,"_34433":41182,"_3074":41182,"_34991":41182,"_15530":41182,"_28777":41182,"_20931":41182,"_22291":41182,"_31481":41182,"_17390":41182,"_18639":41182,"_6768":41182,"_28802":41182,"_17877":41182,"_3297":41182,"_33914":41182,"_21946":41182,"_7535":41182,"_2212":41182},"1507",{"_7680":40917,"_23629":40917,"_28592":40917,"_22291":40917,"_3765":40917,"_7447":40917,"_27896":40917,"_20931":40917,"_4975":40917,"_3642":40917,"_26686":40917,"_7485":40917,"_8771":40917,"_33873":40917,"_22693":40917,"_13350":40917,"_22322":40917,"_22255":40917,"_29538":40917,"_22216":40917,"_27355":40917,"_12586":40917,"_22223":40917,"_15794":40917,"_20131":40917,"_17656":40917,"_34412":40917,"_11263":40917,"_3925":40917,"_31486":40917,"_18888":40917,"_36411":40917,"_7924":40917,"_23814":40917,"_2225":40917,"_2212":40917},"1508",{"_5":40794,"_17136":40794},"1509",{"_22228":40802,"_34137":40802,"_32855":40802,"_2225":40802,"_12586":40802,"_17643":40802,"_7485":40802,"_11263":40802,"_9839":40802,"_23347":40802,"_22306":40802,"_3132":40802,"_23629":40802,"_31486":40802,"_22216":40802,"_9888":40802,"_37198":40802,"_12568":40802,"_12585":40802,"_6069":40802,"_3913":40802},"1510",{"_13350":40817,"_31542":40817,"_5697":40817,"_6757":40817,"_2225":40817,"_12586":40817,"_24662":40817,"_22216":40817,"_7716":40817},"1511",{"_15844":40881,"_12805":40881,"_31486":40881,"_2225":40881,"_19343":40881,"_6069":40881,"_28598":40881,"_6939":40881,"_3399":40881,"_22216":40881,"_26603":40881,"_33422":40881,"_8658":40881,"_26242":40881,"_6907":40881,"_3132":40881,"_33753":40881,"_7485":40881,"_15925":40881,"_5242":40881,"_21390":40881,"_26125":40881,"_33882":40881,"_30373":40881},"1512",{"_15844":40836,"_7358":40836,"_3997":40836,"_22216":40836,"_12586":40836,"_2212":40836,"_31492":40836,"_26285":40836,"_3297":40836,"_8651":40836,"_22306":40836,"_3132":40836,"_17763":40836,"_5697":40836,"_5331":40836,"_30088":40836,"_33562":40836},"1513",{"_6884":40836,"_17877":40836,"_22216":40836,"_19343":40836,"_15626":40836,"_7485":40836,"_25873":40836,"_29601":40836,"_28628":40836,"_26603":40836,"_6473":40836,"_25367":40836,"_12541":40836,"_12586":40836,"_3399":40836,"_32824":40836,"_18435":40836},"1514",{"_22216":40836,"_12541":40836,"_15869":40836,"_32855":40836,"_31486":40836,"_3297":40836,"_8651":40836,"_26242":40836,"_3997":40836,"_6363":40836,"_7485":40836,"_12586":40836,"_23347":40836,"_33851":40836,"_28628":40836,"_26603":40836,"_6473":40836},"1515",{"_5968":40784,"_17877":40784,"_32855":40784,"_9476":40784,"_34246":40784,"_7118":40784,"_5697":40784,"_25873":40784,"_6252":40784,"_31816":40784,"_7535":40784,"_2225":40784,"_33914":40784,"_22216":40784,"_19343":40784,"_8204":40784,"_18633":40784,"_30461":40784,"_6012":40784},"1516",{"_6884":40866,"_22216":40866,"_34576":40866,"_18435":40866,"_3132":40866,"_23503":40866,"_26933":40866,"_13350":40866,"_31542":40866,"_5697":40866,"_9888":40866,"_2225":40866,"_12586":40866,"_26983":40866,"_12812":40866,"_2212":40866,"_22255":40866,"_15626":40866,"_7485":40866,"_25873":40866},"1517",{"_30078":40829,"_3765":40829,"_2225":40829,"_8315":40829,"_22316":40829,"_5697":40829,"_33939":40829},"1518",{"_22216":41013,"_9050":41013,"_6069":41013,"_2225":41013,"_2212":41013,"_31481":41013,"_6047":41013,"_15976":41013,"_3659":41013,"_12541":41013,"_5697":41013,"_31841":41013,"_7019":41013,"_27021":41013,"_33129":41013,"_3132":41013,"_31733":41013,"_8794":41013,"_32554":41013,"_7485":41013,"_22306":41013,"_31645":41013,"_30253":41013,"_5331":41013,"_30088":41013,"_33562":41013},"1519",{"_22228":40821,"_3132":40821,"_33873":40821,"_19620":40821,"_3020":40821,"_22752":40821},"1520",{"_30435":40866,"_6069":40866,"_22216":40866,"_31645":40866,"_30253":40866,"_17632":40866,"_28587":40866,"_8144":40866,"_3132":40866,"_33193":40866,"_5697":40866,"_26125":40866,"_5629":40866,"_12586":40866,"_13650":40866,"_31254":40866,"_28592":40866,"_23778":40866,"_18388":40866,"_33120":40866},"1521",{"_17877":40917,"_2225":40917,"_9621":40917,"_33211":40917,"_6177":40917,"_15849":40917,"_12805":40917,"_22216":40917,"_12541":40917,"_27148":40917,"_15844":40917,"_7358":40917,"_3399":40917,"_10218":40917,"_7535":40917,"_2212":40917,"_13587":40917,"_6907":40917,"_34439":40917,"_7485":40917,"_6363":40917,"_7853":40917,"_22306":40917,"_29673":40917,"_15925":40917,"_33887":40917,"_5400":40917,"_6069":40917,"_25167":40917,"_3997":40917,"_12628":40917,"_30822":40917,"_15779":40917,"_30461":40917,"_9486":40917,"_33711":40917},"1522",{"_30253":40940,"_15794":40940,"_17632":40940,"_27282":40940,"_28592":40940,"_8794":40940,"_31486":40940,"_2225":40940,"_8315":40940,"_15368":40940,"_5697":40940,"_22216":40940,"_12586":40940,"_18435":40940},"1523",{"_6773":40787,"_2225":40787,"_10041":40787,"_12586":40787},"1524",{"_6773":40787,"_2225":40787,"_10069":40787,"_12586":40787},"1525",{"_6884":41013,"_15844":41013,"_12805":41013,"_5697":41013,"_2225":41013,"_2212":41013,"_31486":41013,"_19343":41013,"_6934":41013,"_10046":41013,"_22306":41013,"_3132":41013,"_22216":41013,"_12586":41013,"_10492":41013,"_29068":41013,"_7485":41013,"_18435":41013,"_20270":41013,"_20952":41013,"_26242":41013,"_31123":41013,"_26603":41013,"_3399":41013,"_33422":41013,"_8658":41013},"1526",{"_6884":40984,"_15844":40984,"_12805":40984,"_5697":40984,"_2225":40984,"_2212":40984,"_31486":40984,"_19343":40984,"_6934":40984,"_31566":40984,"_22306":40984,"_3132":40984,"_22216":40984,"_12586":40984,"_28126":40984,"_6069":40984,"_29068":40984,"_7485":40984,"_18435":40984,"_20270":40984,"_20952":40984,"_26242":40984,"_31123":40984,"_26603":40984,"_3399":40984,"_33422":40984,"_8658":40984},"1527",{"_5968":40866,"_15844":40866,"_7358":40866,"_3997":40866,"_22216":40866,"_12586":40866,"_2212":40866,"_31492":40866,"_26285":40866,"_3297":40866,"_8651":40866,"_3280":40866,"_22306":40866,"_3132":40866,"_17763":40866,"_3925":40866,"_8144":40866,"_5342":40866,"_30088":40866,"_33562":40866},"1528",{"_5968":40866,"_15844":40866,"_7358":40866,"_3997":40866,"_22216":40866,"_12586":40866,"_2212":40866,"_31492":40866,"_26285":40866,"_3297":40866,"_8651":40866,"_3280":40866,"_22306":40866,"_3132":40866,"_17763":40866,"_3925":40866,"_8144":40866,"_5342":40866,"_30088":40866,"_33562":40866},"1529",{"_6884":40823,"_11313":40823,"_17877":40823,"_22228":40823,"_3765":40823,"_33873":40823,"_15530":40823,"_31486":40823,"_2225":40823,"_19343":40823,"_25621":40823,"_31566":40823,"_3399":40823,"_29635":40823,"_28623":40823,"_26603":40823,"_6473":40823,"_22281":40823,"_22216":40823,"_2212":40823,"_15626":40823,"_7485":40823,"_25873":40823,"_12541":40823,"_29601":40823,"_12586":40823,"_15794":40823,"_32819":40823,"_18435":40823},"1530",{"_6884":40881,"_11313":40881,"_17877":40881,"_22228":40881,"_3765":40881,"_33873":40881,"_15530":40881,"_31486":40881,"_2225":40881,"_28623":40881,"_26603":40881,"_6473":40881,"_22281":40881,"_22216":40881,"_2212":40881,"_15626":40881,"_7485":40881,"_25873":40881,"_12541":40881,"_29601":40881,"_12586":40881,"_3399":40881,"_32824":40881,"_18435":40881},"1531",{"_11353":40825,"_6252":40825,"_15844":40825,"_32855":40825,"_31486":40825,"_3297":40825,"_8651":40825,"_26242":40825,"_3997":40825,"_22216":40825,"_2212":40825,"_7485":40825,"_12586":40825,"_23347":40825,"_19343":40825,"_25621":40825,"_31566":40825,"_29635":40825,"_33851":40825,"_28628":40825,"_26603":40825,"_6473":40825},"1532",{"_11353":40836,"_15844":40836,"_32855":40836,"_31486":40836,"_3297":40836,"_8651":40836,"_26242":40836,"_3997":40836,"_22216":40836,"_2212":40836,"_19343":40836,"_22291":40836,"_29601":40836,"_33851":40836,"_28628":40836,"_26603":40836,"_6473":40836},"1533",{"_5968":40827,"_11327":40827,"_17877":40827,"_32855":40827,"_9476":40827,"_8460":40827,"_7162":40827,"_25873":40827},"1534",{"_5968":40866,"_11327":40866,"_17877":40866,"_32855":40866,"_9476":40866,"_8460":40866,"_7162":40866,"_25873":40866,"_6252":40866,"_31816":40866,"_7535":40866,"_2225":40866,"_33914":40866,"_22216":40866,"_19343":40866,"_8204":40866,"_18633":40866,"_30461":40866,"_6012":40866,"_5697":40866},"1535",{"_5968":40834,"_11320":40834,"_6252":40834,"_31816":40834,"_7535":40834,"_2225":40834,"_33914":40834,"_22216":40834,"_19343":40834,"_8204":40834,"_18633":40834,"_25873":40834,"_30461":40834,"_6012":40834,"_5697":40834},"1536",{"_33892":3013},"1537",{"_8144":41607,"_21246":41607,"_4215":41607,"_22291":41607,"_22306":41607,"_9833":41607,"_15632":41607,"_2225":41607,"_30088":41607,"_33562":41607,"_31394":41607,"_22228":41607,"_3132":41607,"_28954":41607,"_7018":41607,"_6069":41607,"_13350":41607,"_31826":41607,"_7535":41607,"_10041":41607,"_12586":41607,"_3399":41607,"_4455":41607,"_7303":41607,"_33924":41607,"_20718":41607,"_3020":41607,"_10565":41607,"_27005":41607,"_22216":41607,"_31566":41607,"_2212":41607,"_31486":41607,"_28628":41607,"_26603":41607,"_6473":41607,"_23961":41607,"_7485":41607,"_3914":41607,"_22296":41607,"_17595":41607,"_30486":41607,"_3925":41607,"_22465":41607,"_10128":41607,"_27148":41607,"_20131":41607,"_9906":41607,"_27021":41607,"_22255":41607,"_29630":41607,"_10486":41607,"_5697":41607,"_9911":41607,"_6047":41607,"_27026":41607,"_27484":41607,"_15717":41607,"_15794":41607,"_18235":41607},"1538",{"_26125":40815,"_22216":40815,"_33882":40815,"_7535":40815,"_28592":40815,"_3997":40815,"_29485":40815,"_5697":40815,"_10492":40815,"_6907":40815,"_7485":40815,"_2212":40815},"1539",{"_31486":40940,"_21343":40940,"_20834":40940,"_5697":40940,"_22216":40940,"_27282":40940,"_12586":40940,"_18435":40940,"_30253":40940,"_20270":40940,"_28592":40940,"_10841":40940,"_8794":40940,"_20814":40940},"1540",{"_6884":41182,"_7485":41182,"_25873":41182,"_6069":41182,"_31123":41182,"_6757":41182,"_10128":41182,"_3399":41182,"_31586":41182,"_12586":41182,"_18441":41182,"_15844":41182,"_7372":41182,"_31486":41182,"_3297":41182,"_26242":41182,"_17810":41182,"_5473":41182,"_22216":41182,"_5697":41182,"_12805":41182,"_17877":41182,"_12541":41182,"_25270":41182,"_9580":41182,"_33914":41182,"_7535":41182,"_2212":41182,"_8144":41182,"_15626":41182,"_24751":41182,"_3671":41182,"_3997":41182,"_22291":41182,"_28683":41182,"_25817":41182,"_34576":41182,"_31369":41182,"_27123":41182,"_21124":41182,"_9888":41182,"_22306":41182,"_3132":41182,"_30435":41182,"_5133":41182,"_27282":41182,"_18435":41182,"_30253":41182,"_15794":41182,"_8851":41182,"_7391":41182,"_7019":41182,"_8794":41182,"_15849":41182,"_26342":41182,"_31591":41182},"1541",{"_33882":41163,"_22291":41163,"_22306":41163,"_18435":41163,"_8841":41163,"_22216":41163,"_12586":41163,"_29553":41163,"_5697":41163,"_14040":41163,"_9911":41163,"_25132":41163,"_3132":41163,"_17763":41163,"_33390":41163,"_17877":41163,"_33748":41163,"_24662":41163,"_26763":41163,"_18210":41163,"_30461":41163,"_6069":41163,"_14529":41163,"_30253":41163,"_15794":41163,"_4602":41163,"_17632":41163,"_10841":41163,"_27282":41163,"_28592":41163,"_31486":41163,"_8282":41163,"_29022":41163,"_30562":41163,"_8794":41163,"_25763":41163,"_7485":41163,"_30258":41163,"_10848":41163,"_4508":41163,"_12812":41163,"_2212":41163,"_5473":41163,"_29367":41163,"_8771":41163,"_17605":41163,"_23961":41163},"1542",{"_2225":40866,"_22708":40866,"_14773":40866,"_18435":40866,"_3132":40866,"_3074":40866,"_4642":40866,"_22291":40866,"_29169":40866,"_4455":40866,"_13350":40866,"_7485":40866,"_23629":40866,"_7869":40866,"_5703":40866,"_33237":40866,"_5697":40866,"_21678":40866,"_3020":40866,"_5405":40866},"1543",{"_7485":41175,"_11263":41175,"_30253":41175,"_15794":41175,"_17632":41175,"_2225":41175,"_22713":41175,"_14773":41175,"_8794":41175,"_29635":41175,"_15316":41175,"_12805":41175,"_21678":41175,"_2212":41175,"_27459":41175,"_4173":41175,"_23037":41175,"_3399":41175,"_3659":41175,"_15523":41175,"_17748":41175,"_19198":41175,"_27082":41175,"_28328":41175,"_31394":41175,"_15632":41175,"_22216":41175,"_8144":41175,"_29307":41175,"_2209":41175,"_34702":41175,"_6018":41175,"_33129":41175,"_17438":41175,"_9580":41175,"_8204":41175,"_10086":41175,"_23265":41175,"_3297":41175,"_22260":41175,"_18200":41175,"_36437":41175,"_35448":41175,"_3020":41175,"_5405":41175,"_31591":41175,"_5697":41175,"_16221":41175,"_9202":41175,"_10069":41175,"_15042":41175,"_3672":41175,"_27087":41175,"_3765":41175,"_33924":41175,"_3925":41175,"_26891":41175,"_4455":41175,"_29630":41175,"_22255":41175,"_24448":41175,"_33237":41175,"_33882":41175,"_22291":41175,"_33157":41175,"_17877":41175,"_26763":41175,"_7535":41175},"1544",{"_3074":40917,"_16911":40917,"_4123":40917,"_6069":40917,"_22306":40917,"_17643":40917,"_3132":40917,"_22291":40917,"_22216":40917,"_6047":40917,"_10995":40917,"_15316":40917,"_5697":40917,"_24448":40917,"_34986":40917,"_7018":40917,"_27087":40917,"_12805":40917,"_11263":40917,"_33974":40917,"_3399":40917,"_18362":40917,"_21678":40917,"_14562":40917,"_7485":40917,"_3914":40917,"_32471":40917,"_18372":40917,"_15794":40917,"_20131":40917,"_24776":40917,"_22387":40917,"_8794":40917,"_31591":40917,"_8144":40917,"_2212":40917},"1545",{"_22228":40917,"_3765":40917,"_22693":40917,"_17763":40917,"_24911":40917,"_6069":40917,"_22216":40917,"_4304":40917,"_24151":40917,"_5400":40917,"_3659":40917,"_3132":40917,"_21040":40917,"_15015":40917,"_31369":40917,"_3017":40917,"_3207":40917,"_26185":40917,"_17788":40917,"_23916":40917,"_8383":40917,"_27087":40917,"_22387":40917,"_33422":40917,"_33974":40917,"_5697":40917,"_23896":40917,"_8377":40917,"_2225":40917,"_27082":40917,"_34412":40917,"_8144":40917,"_33774":40917,"_22291":40917,"_12805":40917,"_2212":40917},"1546",{"_5697":41000,"_26840":41000,"_22216":41000,"_7924":41000,"_18382":41000,"_30253":41000,"_15794":41000,"_29630":41000,"_6047":41000,"_15316":41000,"_33924":41000,"_6069":41000,"_15368":41000,"_21678":41000,"_33974":41000,"_3399":41000,"_22260":41000,"_33929":41000,"_27087":41000,"_6018":41000,"_10202":41000,"_2225":41000,"_24458":41000,"_33882":41000,"_22291":41000,"_22306":41000,"_4304":41000,"_3132":41000,"_27620":41000,"_30822":41000,"_8144":41000,"_27736":41000,"_22523":41000,"_3925":41000,"_8841":41000,"_4455":41000,"_14747":41000,"_7118":41000,"_22387":41000},"1547",{"_5697":40866,"_3228":40866,"_22216":40866,"_26185":40866,"_18382":40866,"_30253":40866,"_15794":40866,"_29630":40866,"_15316":40866,"_18362":40866,"_21678":40866,"_27087":40866,"_3399":40866,"_33129":40866,"_27082":40866,"_15675":40866,"_16221":40866,"_6783":40866,"_33422":40866,"_2212":40866},"1548",{"_2225":41045,"_26933":41045,"_31645":41045,"_6069":41045,"_24815":41045,"_8414":41045,"_8420":41045,"_31486":41045,"_11263":41045,"_3132":41045,"_5697":41045,"_10492":41045,"_22216":41045,"_26603":41045,"_33422":41045,"_8658":41045,"_31394":41045,"_15675":41045,"_12931":41045,"_22291":41045,"_10280":41045,"_18335":41045,"_13350":41045,"_17958":41045,"_29630":41045,"_12923":41045,"_27459":41045,"_25132":41045,"_33129":41045,"_15632":41045,"_15523":41045,"_6945":41045,"_31123":41045,"_8651":41045,"_4742":41045,"_4210":41045,"_6473":41045,"_7036":41045,"_22281":41045,"_3658":41045,"_18639":41045,"_4195":41045,"_18190":41045,"_15626":41045,"_27499":41045},"1549",{"_22296":41579,"_15800":41579,"_4455":41579,"_22475":41579,"_8144":41579,"_3132":41579,"_17763":41579,"_5697":41579,"_3297":41579,"_7535":41579,"_8383":41579,"_6069":41579,"_22216":41579,"_8414":41579,"_4593":41579,"_22291":41579,"_2225":41579,"_33711":41579,"_12541":41579,"_3851":41579,"_3925":41579,"_7485":41579,"_15925":41579,"_15546":41579,"_8371":41579,"_21956":41579,"_26855":41579,"_29630":41579,"_4242":41579,"_18200":41579,"_31770":41579,"_34986":41579,"_27499":41579,"_12923":41579,"_3399":41579,"_15491":41579,"_17877":41579,"_22255":41579,"_3765":41579,"_31394":41579,"_7192":41579,"_3755":41579,"_33882":41579,"_31481":41579,"_7118":41579,"_30435":41579,"_2212":41579,"_33422":41579,"_30822":41579,"_22306":41579,"_15981":41579,"_30088":41579,"_33562":41579,"_8377":41579,"_3672":41579,"_9570":41579,"_33914":41579,"_32959":41579,"_7358":41579,"_3997":41579,"_8420":41579,"_6757":41579,"_28777":41579,"_15530":41579,"_6473":41579,"_13350":41579,"_28954":41579,"_28103":41579,"_5788":41579,"_11263":41579,"_25966":41579,"_18190":41579,"_5331":41579,"_25377":41579,"_33851":41579,"_20773":41579,"_26603":41579,"_12931":41579,"_9580":41579,"_7186":41579,"_22260":41579,"_30430":41579,"_22228":41579,"_33873":41579,"_27494":41579,"_5342":41579,"_8794":41579,"_29635":41579,"_27355":41579},"1550",{"_30083":40787,"_22216":40787,"_20038":40787,"_15254":40787},"1551",{"_29139":40815,"_8420":40815,"_20131":40815,"_2225":40815,"_6363":40815,"_6069":40815,"_15449":40815,"_22216":40815,"_4242":40815,"_5697":40815,"_35468":40815,"_8414":40815},"1552",{"_12805":40815,"_12923":40815,"_5908":40815,"_31486":40815,"_6363":40815,"_8420":40815,"_6945":40815,"_31123":40815,"_26603":40815,"_3399":40815,"_33422":40815,"_8658":40815},"1553",{"_29139":40832,"_2222":40832,"_20131":40832,"_22216":40832,"_15530":40832,"_6069":40832,"_8420":40832,"_3399":40832,"_3002":40832,"_3132":40832,"_26603":40832,"_6473":40832,"_5908":40832},"1554",{"_3297":40825,"_7535":40825,"_15368":40825,"_3997":40825,"_8420":40825,"_6951":40825,"_31404":40825,"_3304":40825,"_3132":40825,"_22216":40825,"_28982":40825,"_26603":40825,"_6473":40825,"_25132":40825,"_22291":40825,"_3002":40825,"_3399":40825,"_34393":40825,"_2225":40825,"_12923":40825,"_7485":40825,"_2222":40825},"1555",{"_34986":40829,"_9585":40829,"_2225":40829,"_33914":40829,"_6069":40829,"_12923":40829,"_23993":40829},"1556",{"_29139":40817,"_2222":40817,"_20131":40817,"_22216":40817,"_33711":40817,"_26242":40817,"_6069":40817,"_15530":40817,"_8420":40817},"1557",{"_17877":40815,"_5908":40815,"_3132":40815,"_22216":40815,"_27499":40815,"_2212":40815,"_7485":40815,"_2222":40815,"_22260":40815,"_32959":40815,"_8414":40815,"_18255":40815},"1558",{"_6252":40871,"_3297":40871,"_7535":40871,"_15368":40871,"_3997":40871,"_8420":40871,"_6951":40871,"_31404":40871,"_3304":40871,"_3132":40871,"_22216":40871,"_28982":40871,"_26603":40871,"_6473":40871,"_25132":40871,"_22291":40871,"_3002":40871,"_3399":40871,"_34393":40871,"_2225":40871,"_12923":40871,"_7485":40871,"_2222":40871},"1559",{"_33892":3013},"1560",{"_33882":40806,"_22291":40806,"_22216":40806,"_12923":40806,"_29635":40806,"_33873":40806,"_18556":40806,"_3997":40806,"_28777":40806,"_6069":40806,"_15530":40806,"_24662":40806,"_15800":40806,"_17701":40806,"_15680":40806,"_22306":40806,"_3132":40806,"_3749":40806,"_8144":40806,"_15546":40806,"_8414":40806,"_4249":40806,"_20125":40806,"_13980":40806,"_15675":40806,"_2225":40806,"_26566":40806,"_5697":40806,"_5276":40806,"_29601":40806,"_32964":40806,"_18255":40806},"1561",{"_26125":40815,"_22216":40815,"_33882":40815,"_7535":40815,"_28592":40815,"_3997":40815,"_29485":40815,"_5697":40815,"_10492":40815,"_6907":40815,"_7485":40815,"_2212":40815},"1562",{"_10492":40794,"_15930":40794},"1563",{"_2225":40940,"_16047":40940,"_6069":40940,"_10164":40940,"_18531":40940,"_3399":40940,"_6281":40940,"_22291":40940,"_10492":40940,"_4356":40940,"_11263":40940,"_7535":40940,"_23629":40940,"_15306":40940},"1564",{"_8264":40853,"_26817":40853,"_18531":40853},"1565",{"_3347":40794,"_35105":40794},"1566",{"_5742":3013},"1567",{"_33653":40853,"_14747":40853,"_8233":40853},"1568",{"_33653":40794,"_7514":40794},"1569",{"_7197":3013},"1570",{"_35802":3013},"1571",{"_37049":3013},"1572",{"_36960":3013},"1573",{"_33866":3013},"1574",{"_34155":3013},"1575",{"_28143":3013},"1576",{"_28150":3013},"1577",{"_28156":3013},"1578",{"_21643":40794,"_33413":40794},"1579",{"_10683":3013},"1580",{"_4356":40794,"_18531":40794},"1581",{"_4356":40794,"_5162":40794},"1582",{"_4356":40794,"_5608":40794},"1583",{"_4356":40794,"_31108":40794},"1584",{"_4356":40853,"_16516":40853,"_24799":40853},"1585",{"_4356":40794,"_24946":40794},"1586",{"_4356":40794,"_24957":40794},"1587",{"_4356":40794,"_24644":40794},"1588",{"_4356":40794,"_8711":40794},"1589",{"_4356":40794,"_8605":40794},"1590",{"_4356":40794,"_8617":40794},"1591",{"_4356":40794,"_7107":40794},"1592",{"_4356":40794,"_29784":40794},"1593",{"_4356":40794,"_30238":40794},"1594",{"_4356":40794,"_30123":40794},"1595",{"_4356":40794,"_29968":40794},"1596",{"_4356":40794,"_4439":40794},"1597",{"_4356":40853,"_35895":40853,"_20114":40853},"1598",{"_4356":40794,"_37056":40794},"1599",{"_4356":40794,"_37067":40794},"1600",{"_4356":40794,"_21062":40794},"1601",{"_4356":40794,"_6856":40794},"1602",{"_4356":40794,"_19592":40794},"1603",{"_4356":40794,"_26865":40794},"1604",{"_4356":40794,"_28086":40794},"1605",{"_4356":40794,"_25482":40794},"1606",{"_14952":3013},"1607",{"_5696":3013},"1608",{"_30611":40794,"_22181":40794},"1609",{"_20115":3013},"1610",{"_24569":3013},"1611",{"_8550":3013},"1612",{"_18001":40794,"_19642":40794},"1613",{"_20290":3013},"1614",{"_21418":3013},"1615",{"_19815":3013},"1616",{"_11171":3013},"1617",{"_26636":3013},"1618",{"_23125":3013},"1619",{"_22723":3013},"1620",{"_35260":40794,"_14663":40794},"1621",{"_32037":3013},"1622",{"_30325":3013},"1623",{"_13218":3013},"1624",{"_4249":40829,"_3399":40829,"_6281":40829,"_34412":40829,"_11263":40829,"_16561":40829,"_4697":40829},"1625",{"_17877":40823,"_30258":40823,"_10492":40823,"_15925":40823,"_31640":40823,"_5697":40823,"_20131":40823,"_28797":40823,"_30078":40823,"_19922":40823,"_24662":40823,"_15800":40823,"_30139":40823,"_25297":40823,"_2225":40823,"_19582":40823,"_8851":40823,"_3020":40823,"_10069":40823,"_3074":40823,"_33516":40823,"_24352":40823,"_11263":40823,"_4356":40823,"_6270":40823,"_3399":40823,"_22260":40823,"_31481":40823,"_16571":40823},"1626",{"_17877":41018,"_22306":41018,"_24688":41018,"_29601":41018,"_35407":41018,"_30258":41018,"_17080":41018,"_18305":41018,"_11206":41018,"_3020":41018,"_30253":41018,"_3399":41018,"_14963":41018,"_18867":41018,"_10069":41018,"_3074":41018,"_33516":41018,"_5697":41018,"_24352":41018,"_11263":41018,"_4356":41018,"_6270":41018,"_31976":41018,"_31481":41018,"_29654":41018,"_22265":41018,"_7485":41018,"_2225":41018,"_22784":41018,"_20212":41018},"1627",{"_34433":41163,"_11263":41163,"_5697":41163,"_17632":41163,"_2212":41163,"_15306":41163,"_7485":41163,"_13255":41163,"_25052":41163,"_22306":41163,"_4494":41163,"_22216":41163,"_20170":41163,"_6069":41163,"_15025":41163,"_13234":41163,"_3020":41163,"_3642":41163,"_13266":41163,"_3280":41163,"_8204":41163,"_3672":41163,"_14157":41163,"_35370":41163,"_35813":41163,"_2225":41163,"_31519":41163,"_14682":41163,"_8233":41163,"_24393":41163,"_3997":41163,"_22572":41163,"_14688":41163,"_22291":41163,"_8358":41163,"_26763":41163,"_33974":41163,"_20131":41163,"_9538":41163,"_33120":41163,"_31976":41163,"_4592":41163,"_4748":41163,"_7052":41163,"_11037":41163,"_34412":41163,"_27355":41163},"1628",{"_5742":40841,"_3132":40841,"_22216":40841,"_19882":40841,"_7535":40841,"_33851":40841,"_7250":40841,"_32498":40841,"_27620":40841,"_3399":40841,"_8518":40841,"_3891":40841,"_3997":40841,"_35768":40841,"_3020":40841,"_2225":40841,"_12978":40841,"_8770":40841,"_30883":40841,"_29839":40841,"_14399":40841,"_23629":40841,"_8507":40841,"_22604":40841,"_4249":40841},"1629",{"_22216":40823,"_33653":40823,"_33659":40823,"_18526":40823,"_18165":40823,"_3074":40823,"_17643":40823,"_6069":40823,"_16221":40823,"_5436":40823,"_13272":40823,"_25946":40823,"_34412":40823,"_11263":40823,"_17860":40823,"_3132":40823,"_34439":40823,"_7485":40823,"_20190":40823,"_18531":40823,"_18175":40823,"_30239":40823,"_8149":40823,"_7535":40823,"_14747":40823,"_4455":40823,"_12535":40823,"_3997":40823,"_6868":40823},"1630",{"_22216":40834,"_33653":40834,"_7514":40834,"_18526":40834,"_18165":40834,"_2225":40834,"_19882":40834,"_7535":40834,"_30883":40834,"_30258":40834,"_6783":40834,"_35859":40834,"_6868":40834,"_12535":40834,"_13522":40834},"1631",{"_11263":41013,"_3132":41013,"_34439":41013,"_3925":41013,"_22216":41013,"_14615":41013,"_13516":41013,"_14904":41013,"_7535":41013,"_2212":41013,"_21020":41013,"_3399":41013,"_20170":41013,"_15306":41013,"_6069":41013,"_35707":41013,"_32984":41013,"_5624":41013,"_31900":41013,"_2225":41013,"_12586":41013,"_25941":41013,"_26933":41013,"_12580":41013,"_28603":41013,"_20718":41013},"1632",{"_20578":40853,"_7078":40853,"_3711":40853},"1633",{"_25941":40827,"_24254":40827,"_3399":40827,"_6368":40827,"_8233":40827,"_7664":40827,"_15859":40827,"_32088":40827},"1634",{"_37049":40817,"_26072":40817,"_23629":40817,"_29465":40817,"_2207":40817,"_7485":40817,"_2225":40817,"_7113":40817,"_32139":40817},"1635",{"_11263":40815,"_3132":40815,"_34439":40815,"_7535":40815,"_2212":40815,"_6701":40815,"_3399":40815,"_2205":40815,"_20170":40815,"_7485":40815,"_22216":40815,"_7113":40815},"1636",{"_36960":40834,"_3132":40834,"_2225":40834,"_28864":40834,"_6069":40834,"_24896":40834,"_10436":40834,"_7535":40834,"_22216":40834,"_3":40834,"_25862":40834,"_7485":40834,"_35859":40834,"_15232":40834,"_8233":40834},"1637",{"_36960":40911,"_34433":40911,"_4356":40911,"_11263":40911,"_3925":40911,"_2225":40911,"_30707":40911,"_21874":40911,"_22455":40911,"_20285":40911,"_16221":40911,"_3":40911,"_25862":40911,"_23629":40911,"_3399":40911,"_27620":40911},"1638",{"_33866":40984,"_3132":40984,"_2225":40984,"_7078":40984,"_13121":40984,"_17851":40984,"_23419":40984,"_12535":40984,"_5301":40984,"_15078":40984,"_21683":40984,"_25472":40984,"_32403":40984,"_7535":40984,"_31027":40984,"_7084":40984,"_3399":40984,"_8403":40984,"_21842":40984,"_34412":40984,"_32911":40984,"_17244":40984,"_7875":40984,"_29465":40984,"_26865":40984,"_7435":40984,"_26658":40984},"1639",{"_31976":41013,"_10492":41013,"_11263":41013,"_7485":41013,"_22216":41013,"_33866":41013,"_29829":41013,"_5325":41013,"_14910":41013,"_7535":41013,"_31576":41013,"_8420":41013,"_10041":41013,"_27782":41013,"_15306":41013,"_3399":41013,"_3672":41013,"_15322":41013,"_25900":41013,"_3132":41013,"_2225":41013,"_7030":41013,"_7805":41013,"_18526":41013,"_3280":41013,"_7875":41013},"1640",{"_19208":40878,"_11043":40878,"_3399":40878,"_13234":40878,"_20170":40878},"1641",{"_28132":40859,"_13516":40859,"_11263":40859,"_18165":40859,"_4356":40859,"_17024":40859,"_7535":40859,"_31087":40859,"_4317":40859,"_22387":40859,"_4789":40859,"_3399":40859,"_30985":40859,"_5697":40859,"_22216":40859,"_32139":40859,"_3672":40859,"_18510":40859,"_20788":40859,"_18008":40859,"_31486":40859,"_2225":40859,"_8315":40859,"_26933":40859,"_3699":40859,"_30253":40859,"_15794":40859,"_36378":40859,"_32156":40859,"_13775":40859,"_14706":40859,"_19360":40859,"_16786":40859,"_30258":40859,"_4242":40859,"_30878":40859,"_28954":40859,"_23629":40859,"_27813":40859,"_18170":40859,"_16561":40859,"_25941":40859,"_13272":40859,"_13755":40859},"1642",{"_28132":40834,"_25537":40834,"_3132":40834,"_2225":40834,"_8233":40834,"_7535":40834,"_4242":40834,"_24388":40834,"_5697":40834,"_10492":40834,"_13165":40834,"_20234":40834,"_14430":40834,"_31486":40834,"_4249":40834},"1643",{"_35645":40834,"_35619":40834,"_28132":40834,"_25537":40834,"_15794":40834,"_18145":40834,"_22306":40834,"_8293":40834,"_23629":40834,"_13165":40834,"_20234":40834,"_12535":40834,"_3997":40834,"_2225":40834,"_11263":40834},"1644",{"_28132":40844,"_28157":40844,"_3132":40844,"_2225":40844,"_34614":40844,"_23629":40844,"_3399":40844,"_32906":40844,"_7869":40844,"_7535":40844,"_3":40844,"_17467":40844,"_10133":40844,"_8771":40844,"_3726":40844,"_30751":40844,"_18210":40844,"_32646":40844,"_22216":40844,"_18526":40844,"_2216":40844,"_7175":40844,"_5697":40844,"_26973":40844,"_24373":40844,"_6069":40844,"_31027":40844,"_4249":40844},"1645",{"_35574":40984,"_35645":40984,"_11263":40984,"_3280":40984,"_18165":40984,"_4455":40984,"_8770":40984,"_17163":40984,"_7535":40984,"_22216":40984,"_28157":40984,"_13234":40984,"_21786":40984,"_8761":40984,"_13603":40984,"_7485":40984,"_31369":40984,"_20844":40984,"_3399":40984,"_35707":40984,"_3765":40984,"_24265":40984,"_25796":40984,"_23844":40984,"_24254":40984,"_20206":40984,"_7875":40984},"1646",{"_21643":40885,"_33413":40885,"_3132":40885,"_2225":40885,"_35305":40885,"_3399":40885,"_8701":40885,"_32296":40885,"_25941":40885,"_30849":40885},"1647",{"_8144":41018,"_34433":41018,"_11263":41018,"_3925":41018,"_32195":41018,"_10269":41018,"_6069":41018,"_31123":41018,"_9217":41018,"_3399":41018,"_26896":41018,"_31981":41018,"_25946":41018,"_8794":41018,"_34412":41018,"_21643":41018,"_33413":41018,"_3132":41018,"_3145":41018,"_5697":41018,"_18145":41018,"_8393":41018,"_24729":41018,"_30812":41018,"_16084":41018,"_7485":41018,"_2225":41018,"_23503":41018,"_28927":41018,"_20212":41018},"1648",{"_10678":40901,"_8393":40901,"_3132":40901,"_2225":40901,"_12534":40901,"_4735":40901,"_6701":40901,"_27782":40901,"_26855":40901,"_7535":40901,"_8793":40901},"1649",{"_5162":40832,"_3132":40832,"_2225":40832,"_23629":40832,"_26379":40832,"_35135":40832,"_21874":40832,"_22291":40832,"_18165":40832,"_32804":40832,"_16185":40832,"_5053":40832,"_29129":40832},"1650",{"_4356":41107,"_11263":41107,"_19900":41107,"_2225":41107,"_16173":41107,"_10995":41107,"_31497":41107,"_22216":41107,"_5162":41107,"_3885":41107,"_16221":41107,"_13582":41107,"_13965":41107,"_20788":41107,"_25070":41107,"_3074":41107,"_6613":41107,"_31486":41107,"_33873":41107,"_27026":41107,"_19657":41107,"_6069":41107,"_8377":41107,"_30572":41107,"_22291":41107,"_29357":41107,"_5697":41107,"_21874":41107,"_3399":41107,"_14747":41107,"_13755":41107,"_17163":41107,"_7535":41107,"_34454":41107,"_21618":41107,"_3925":41107,"_32003":41107,"_5783":41107,"_25543":41107,"_18200":41107,"_21623":41107},"1651",{"_5608":40888,"_3132":40888,"_2225":40888,"_27620":40888,"_3399":40888,"_32906":40888,"_26242":40888,"_6069":40888,"_14615":40888,"_7779":40888,"_7150":40888,"_25946":40888,"_32186":40888,"_32302":40888,"_5697":40888,"_33577":40888,"_33598":40888,"_21098":40888,"_22250":40888,"_15083":40888,"_8831":40888,"_31497":40888,"_29784":40888,"_4494":40888,"_17019":40888,"_31486":40888,"_22216":40888,"_31439":40888,"_32296":40888,"_3":40888,"_33664":40888},"1652",{"_35645":40911,"_35650":40911,"_5608":40911,"_34433":40911,"_11263":40911,"_7535":40911,"_15306":40911,"_5697":40911,"_18145":40911,"_10656":40911,"_3399":40911,"_29829":40911,"_5325":40911,"_6069":40911,"_30238":40911,"_37056":40911},"1653",{"_2225":40901,"_27620":40901,"_8518":40901,"_3399":40901,"_28633":40901,"_25472":40901,"_25941":40901,"_5920":40901,"_7535":40901,"_10170":40901,"_31921":40901},"1654",{"_31108":40802,"_8841":40802,"_2225":40802,"_20909":40802,"_25472":40802,"_25941":40802,"_5697":40802,"_21874":40802,"_17163":40802,"_9994":40802,"_29427":40802,"_3399":40802,"_5318":40802,"_31113":40802,"_15568":40802,"_34433":40802,"_11263":40802,"_7535":40802,"_22306":40802,"_3672":40802,"_21557":40802},"1655",{"_4356":40800,"_16516":40800,"_3132":40800,"_3074":40800,"_5829":40800,"_26880":40800,"_25946":40800,"_8233":40800,"_30108":40800,"_30253":40800,"_30878":40800,"_3399":40800,"_24367":40800,"_34412":40800,"_8216":40800,"_18510":40800,"_4340":40800,"_7875":40800,"_35906":40800,"_35912":40800,"_22223":40800,"_15794":40800,"_28066":40800,"_2225":40800,"_35240":40800,"_6069":40800,"_18441":40800,"_25132":40800,"_3925":40800,"_26896":40800,"_36290":40800,"_30149":40800,"_9280":40800,"_3020":40800,"_14652":40800,"_31880":40800,"_6499":40800,"_21760":40800,"_35826":40800,"_36006":40800},"1656",{"_22216":40832,"_23629":40832,"_6868":40832,"_17643":40832,"_4975":40832,"_4356":40832,"_16516":40832,"_34433":40832,"_11263":40832,"_7535":40832,"_16221":40832,"_13272":40832,"_8149":40832},"1657",{"_27662":40885,"_28312":40885,"_36437":40885,"_32403":40885,"_7535":40885,"_29784":40885,"_34174":40885,"_3399":40885,"_13516":40885,"_25472":40885},"1658",{"_11263":40784,"_20089":40784,"_33422":40784,"_13234":40784,"_21020":40784,"_17163":40784,"_22216":40784,"_24951":40784,"_10492":40784,"_5697":40784,"_7983":40784,"_3672":40784,"_7485":40784,"_3399":40784,"_12541":40784,"_34433":40784,"_25297":40784,"_2225":40784,"_36437":40784},"1659",{"_4356":40817,"_24957":40817,"_3132":40817,"_2225":40817,"_29829":40817,"_18995":40817,"_10170":40817,"_3726":40817,"_13121":40817},"1660",{"_4356":40836,"_24957":40836,"_34433":40836,"_11263":40836,"_12948":40836,"_7535":40836,"_20170":40836,"_6069":40836,"_15546":40836,"_13234":40836,"_13165":40836,"_22216":40836,"_5788":40836,"_22291":40836,"_29763":40836,"_6499":40836,"_3765":40836},"1661",{"_15316":40853,"_8414":40853,"_8420":40853},"1662",{"_26663":40829,"_19566":40829,"_18435":40829,"_8204":40829,"_29927":40829,"_3399":40829,"_10175":40829},"1663",{"_26663":40827,"_24729":40827,"_24871":40827,"_18435":40827,"_30506":40827,"_15316":40827,"_3399":40827,"_29927":40827},"1664",{"_6630":40853,"_8414":40853,"_8420":40853},"1665",{"_6630":40878,"_3399":40878,"_21425":40878,"_21547":40878,"_20170":40878},"1666",{"_4356":40901,"_24644":40901,"_3132":40901,"_2225":40901,"_29890":40901,"_35859":40901,"_12535":40901,"_5829":40901,"_26880":40901,"_11227":40901,"_8233":40901},"1667",{"_11263":40815,"_3132":40815,"_34439":40815,"_7535":40815,"_25941":40815,"_10613":40815,"_13272":40815,"_3399":40815,"_13755":40815,"_20170":40815,"_7485":40815,"_24644":40815},"1668",{"_4356":40808,"_8711":40808,"_3132":40808,"_2225":40808,"_8233":40808,"_3399":40808,"_23629":40808,"_18210":40808,"_32403":40808,"_7535":40808,"_25548":40808,"_14888":40808,"_6499":40808,"_34911":40808,"_31060":40808,"_3":40808,"_25807":40808,"_29601":40808,"_30522":40808,"_24091":40808,"_5697":40808,"_8755":40808,"_7485":40808,"_4455":40808,"_14706":40808,"_13234":40808,"_32145":40808,"_18990":40808,"_4975":40808,"_17102":40808,"_28056":40808,"_3642":40808,"_27605":40808},"1669",{"_5697":40804,"_32156":40804,"_35712":40804,"_29829":40804,"_5325":40804,"_30253":40804,"_29630":40804,"_26242":40804,"_22216":40804,"_29895":40804,"_10097":40804,"_11263":40804,"_13775":40804,"_2225":40804,"_13582":40804,"_3399":40804,"_7019":40804,"_20556":40804,"_7825":40804,"_31486":40804,"_4455":40804,"_35717":40804,"_29513":40804,"_22250":40804,"_31981":40804,"_35111":40804,"_19631":40804,"_8711":40804,"_29357":40804,"_7535":40804,"_23629":40804,"_15306":40804,"_30506":40804,"_8761":40804,"_16747":40804,"_3132":40804,"_26566":40804,"_25941":40804,"_8204":40804,"_31369":40804,"_18165":40804,"_29839":40804,"_9937":40804,"_35370":40804,"_8414":40804,"_8420":40804,"_28927":40804,"_13955":40804,"_13165":40804,"_25472":40804},"1670",{"_8605":41045,"_3132":41045,"_2225":41045,"_23629":41045,"_9937":41045,"_3399":41045,"_5318":41045,"_25941":41045,"_7535":41045,"_33598":41045,"_15237":41045,"_5663":41045,"_20742":41045,"_28954":41045,"_5635":41045,"_6069":41045,"_14792":41045,"_3":41045,"_8144":41045,"_29601":41045,"_26933":41045,"_8701":41045,"_3885":41045,"_12535":41045,"_3997":41045,"_25802":41045,"_8631":41045,"_11058":41045,"_8507":41045,"_22604":41045,"_31486":41045,"_23107":41045,"_9947":41045,"_21078":41045,"_20190":41045,"_8393":41045,"_9605":41045,"_34433":41045,"_32906":41045,"_20788":41045,"_22291":41045,"_4494":41045,"_6058":41045,"_3720":41045,"_4242":41045},"1671",{"_8605":40901,"_25070":40901,"_5685":40901,"_13765":40901,"_35370":40901,"_11263":40901,"_22306":40901,"_3132":40901,"_3074":40901,"_32604":40901,"_8293":40901},"1672",{"_4356":40836,"_8617":40836,"_3132":40836,"_2225":40836,"_23629":40836,"_18210":40836,"_7869":40836,"_22291":40836,"_29169":40836,"_34454":40836,"_20270":40836,"_16664":40836,"_34960":40836,"_5697":40836,"_28954":40836,"_3":40836,"_23265":40836},"1673",{"_35645":40832,"_35655":40832,"_4356":40832,"_8617":40832,"_3132":40832,"_17097":40832,"_3997":40832,"_5162":40832,"_31369":40832,"_34433":40832,"_11263":40832,"_7535":40832,"_14034":40832},"1674",{"_31027":40827,"_3":40827,"_36558":40827,"_26855":40827,"_7535":40827,"_30751":40827,"_3399":40827,"_25802":40827},"1675",{"_35645":40834,"_12102":40834,"_7107":40834,"_34433":40834,"_11263":40834,"_7535":40834,"_15306":40834,"_5697":40834,"_18145":40834,"_10656":40834,"_3399":40834,"_29829":40834,"_5325":40834,"_6069":40834,"_37056":40834},"1676",{"_22216":41056,"_4356":41056,"_29784":41056,"_26817":41056,"_28864":41056,"_3132":41056,"_2225":41056,"_8233":41056,"_22291":41056,"_4494":41056,"_7535":41056,"_23629":41056,"_18210":41056,"_6069":41056,"_28954":41056,"_3":41056,"_23265":41056,"_5174":41056,"_13243":41056,"_14872":41056,"_34412":41056,"_26933":41056,"_18510":41056,"_20794":41056,"_8144":41056,"_24091":41056,"_5697":41056,"_27605":41056,"_7019":41056,"_8204":41056,"_27026":41056,"_25966":41056,"_22485":41056,"_15717":41056,"_33129":41056,"_6149":41056,"_28517":41056,"_14878":41056,"_3399":41056,"_25472":41056,"_11109":41056,"_22281":41056,"_10010":41056,"_3997":41056,"_29733":41056,"_24020":41056,"_29895":41056,"_17860":41056,"_23896":41056,"_29654":41056,"_8383":41056,"_4975":41056,"_4242":41056,"_29087":41056,"_4593":41056,"_24035":41056,"_29844":41056,"_25941":41056,"_22572":41056,"_13234":41056,"_31369":41056,"_20125":41056,"_20131":41056,"_18541":41056},"1677",{"_22216":40815,"_17643":40815,"_6069":40815,"_4735":40815,"_29802":40815,"_8393":40815,"_9958":40815,"_3997":40815,"_11263":40815,"_7535":40815,"_7716":40815,"_22316":40815},"1678",{"_8377":40984,"_23911":40984,"_3280":40984,"_33129":40984,"_6069":40984,"_22216":40984,"_34295":40984,"_15717":40984,"_7485":40984,"_13234":40984,"_20089":40984,"_2225":40984,"_18963":40984,"_26394":40984,"_11263":40984,"_17877":40984,"_20234":40984,"_15769":40984,"_31481":40984,"_32760":40984,"_33934":40984,"_3672":40984,"_22291":40984,"_8393":40984,"_27148":40984,"_20131":40984,"_21936":40984},"1679",{"_4968":40888,"_34295":40888,"_8420":40888,"_3280":40888,"_11263":40888,"_18165":40888,"_2225":40888,"_26933":40888,"_21072":40888,"_5697":40888,"_33042":40888,"_33258":40888,"_2212":40888,"_3925":40888,"_17877":40888,"_22216":40888,"_15546":40888,"_15769":40888,"_3671":40888,"_20125":40888,"_21588":40888,"_27992":40888,"_33037":40888,"_12586":40888,"_7485":40888,"_17239":40888,"_22291":40888,"_8144":40888,"_27148":40888,"_30424":40888,"_33851":40888},"1680",{"_22216":40871,"_13095":40871,"_13101":40871,"_3132":40871,"_2225":40871,"_33711":40871,"_14904":40871,"_31369":40871,"_11263":40871,"_12541":40871,"_4592":40871,"_20691":40871,"_3399":40871,"_20156":40871,"_13165":40871,"_6069":40871,"_34295":40871,"_33129":40871,"_15717":40871,"_8776":40871,"_22291":40871,"_9125":40871,"_7535":40871},"1681",{"_29998":41107,"_20680":41107,"_3280":41107,"_22216":41107,"_13101":41107,"_19805":41107,"_16221":41107,"_28517":41107,"_34295":41107,"_3997":41107,"_2225":41107,"_19033":41107,"_30732":41107,"_31486":41107,"_30008":41107,"_14682":41107,"_4593":41107,"_28467":41107,"_3925":41107,"_9191":41107,"_7485":41107,"_22784":41107,"_8432":41107,"_30003":41107,"_25558":41107,"_13996":41107,"_2212":41107,"_17877":41107,"_29601":41107,"_15774":41107,"_8222":41107,"_3020":41107,"_6252":41107,"_32281":41107,"_3074":41107,"_34916":41107,"_13165":41107,"_20674":41107,"_31481":41107,"_20599":41107,"_8144":41107},"1682",{"_11263":41264,"_26394":41264,"_20170":41264,"_3280":41264,"_31394":41264,"_22216":41264,"_28517":41264,"_34295":41264,"_3132":41264,"_30003":41264,"_13101":41264,"_29543":41264,"_2225":41264,"_5829":41264,"_7485":41264,"_17877":41264,"_4968":41264,"_8144":41264,"_4592":41264,"_27992":41264,"_12586":41264,"_12923":41264,"_22306":41264,"_34433":41264,"_2216":41264,"_25052":41264,"_7535":41264,"_33422":41264,"_33974":41264,"_32769":41264,"_2212":41264,"_31481":41264,"_20131":41264,"_4742":41264,"_23961":41264},"1683",{"_12534":41667,"_8420":41667,"_3280":41667,"_17877":41667,"_22216":41667,"_28517":41667,"_34295":41667,"_3132":41667,"_30003":41667,"_3399":41667,"_13101":41667,"_26155":41667,"_22291":41667,"_33873":41667,"_3672":41667,"_2212":41667,"_15568":41667,"_29543":41667,"_12586":41667,"_12923":41667,"_8144":41667,"_31481":41667,"_17860":41667,"_21962":41667,"_5697":41667,"_5254":41667,"_25162":41667,"_22260":41667,"_29601":41667,"_31966":41667,"_9125":41667,"_7535":41667,"_8761":41667,"_2225":41667,"_8393":41667,"_20270":41667,"_16221":41667,"_4968":41667,"_18190":41667,"_26988":41667,"_20180":41667,"_24151":41667,"_5400":41667,"_7924":41667,"_18633":41667,"_8341":41667,"_33774":41667,"_21708":41667,"_13165":41667},"1684",{"_30238":40815,"_3132":40815,"_22216":40815,"_29784":40815,"_13121":40815,"_17851":40815,"_3074":40815,"_5850":40815,"_23629":40815,"_15248":40815,"_21874":40815,"_20788":40815},"1685",{"_30238":40808,"_34433":40808,"_11263":40808,"_7535":40808,"_6701":40808,"_8420":40808,"_12628":40808,"_29332":40808,"_20170":40808,"_31098":40808,"_3399":40808,"_15306":40808,"_30506":40808,"_25966":40808,"_2225":40808,"_23629":40808,"_4356":40808,"_16715":40808,"_24326":40808,"_3997":40808,"_8761":40808,"_13234":40808,"_4455":40808,"_19198":40808,"_33974":40808,"_13350":40808,"_33743":40808,"_5697":40808,"_20131":40808,"_3145":40808,"_5053":40808,"_22216":40808,"_32088":40808},"1686",{"_3925":41013,"_30253":41013,"_15794":41013,"_26125":41013,"_11263":41013,"_3132":41013,"_2225":41013,"_8176":41013,"_19146":41013,"_6069":41013,"_30238":41013,"_4455":41013,"_5788":41013,"_22291":41013,"_8815":41013,"_15306":41013,"_25132":41013,"_10623":41013,"_4070":41013,"_20567":41013,"_10390":41013,"_3399":41013,"_26698":41013,"_3765":41013,"_17097":41013,"_3997":41013},"1687",{"_2225":40885,"_13234":40885,"_20170":40885,"_8233":40885,"_7535":40885,"_19208":40885,"_3399":40885,"_10372":40885,"_23629":40885,"_9337":40885},"1688",{"_31976":40823,"_33743":40823,"_2225":40823,"_23629":40823,"_21874":40823,"_5697":40823,"_20084":40823,"_22216":40823,"_13165":40823,"_6069":40823,"_13234":40823,"_3399":40823,"_33914":40823,"_7869":40823,"_33929":40823,"_17877":40823,"_22228":40823,"_3132":40823,"_3642":40823,"_15363":40823,"_7485":40823,"_30123":40823,"_34433":40823,"_4356":40823,"_11263":40823,"_5032":40823,"_22306":40823,"_8149":40823,"_18165":40823},"1689",{"_2225":40901,"_31645":40901,"_5697":40901,"_10280":40901,"_18963":40901,"_13165":40901,"_31369":40901,"_9083":40901,"_34785":40901,"_16221":40901,"_23961":40901},"1690",{"_2225":40834,"_31645":40834,"_5697":40834,"_10280":40834,"_21698":40834,"_33422":40834,"_13165":40834,"_31369":40834,"_35265":40834,"_31394":40834,"_22216":40834,"_18190":40834,"_22291":40834,"_15626":40834,"_23769":40834},"1691",{"_2225":40815,"_33914":40815,"_21072":40815,"_31394":40815,"_22228":40815,"_3132":40815,"_15363":40815,"_7485":40815,"_18963":40815,"_3399":40815,"_33422":40815,"_13165":40815},"1692",{"_22216":40917,"_4356":40917,"_29968":40917,"_3":40917,"_31800":40917,"_26817":40917,"_8535":40917,"_10107":40917,"_31591":40917,"_3399":40917,"_20146":40917,"_28954":40917,"_23264":40917,"_9305":40917,"_7485":40917,"_23629":40917,"_25472":40917,"_34412":40917,"_28312":40917,"_25857":40917,"_15794":40917,"_20131":40917,"_18536":40917,"_6064":40917,"_4630":40917,"_2225":40917,"_14682":40917,"_6144":40917,"_22528":40917,"_35996":40917,"_24936":40917,"_3765":40917,"_18170":40917,"_5697":40917,"_14151":40917,"_34454":40917},"1693",{"_36046":40911,"_36685":40911,"_29968":40911,"_29601":40911,"_30522":40911,"_34412":40911,"_11263":40911,"_3925":40911,"_23629":40911,"_12586":40911,"_4686":40911,"_5697":40911,"_25052":40911,"_14409":40911,"_7485":40911,"_29973":40911},"1694",{"_4439":40802,"_3132":40802,"_2225":40802,"_21003":40802,"_23629":40802,"_13121":40802,"_15961":40802,"_3399":40802,"_18210":40802,"_19882":40802,"_7535":40802,"_21683":40802,"_3731":40802,"_25802":40802,"_31921":40802,"_24035":40802,"_17102":40802,"_28061":40802,"_4975":40802,"_19130":40802,"_27605":40802},"1695",{"_35645":40841,"_35635":40841,"_4356":40841,"_4439":40841,"_13272":40841,"_21072":40841,"_7192":40841,"_31486":40841,"_2225":40841,"_11263":40841,"_17651":40841,"_31369":40841,"_4494":40841,"_27600":40841,"_13243":40841,"_5697":40841,"_36593":40841,"_3399":40841,"_36588":40841,"_6069":40841,"_33974":40841,"_18612":40841,"_28741":40841,"_27615":40841,"_18995":40841},"1696",{"_22216":40784,"_4356":40784,"_35895":40784,"_20114":40784,"_3132":40784,"_2225":40784,"_28864":40784,"_18175":40784,"_8701":40784,"_25472":40784,"_5061":40784,"_8794":40784,"_20109":40784,"_18441":40784,"_17841":40784,"_19740":40784,"_27521":40784,"_3399":40784,"_3672":40784},"1697",{"_34433":40885,"_11263":40885,"_3399":40885,"_15573":40885,"_8233":40885,"_7535":40885,"_7245":40885,"_23629":40885,"_34629":40885,"_18014":40885},"1698",{"_37056":40827,"_3132":40827,"_2225":40827,"_23629":40827,"_19555":40827,"_25285":40827,"_21057":40827,"_7869":40827},"1699",{"_4356":40817,"_37056":40817,"_9958":40817,"_3997":40817,"_11263":40817,"_7535":40817,"_22216":40817,"_7716":40817,"_22316":40817},"1700",{"_13702":41168,"_8420":41168,"_22216":41168,"_3132":41168,"_3659":41168,"_6069":41168,"_4692":41168,"_17763":41168,"_31243":41168,"_32265":41168,"_7485":41168,"_2225":41168,"_37056":41168,"_33664":41168,"_3399":41168,"_8144":41168,"_4592":41168,"_29601":41168,"_9120":41168,"_5697":41168,"_20084":41168,"_29254":41168,"_9988":41168,"_5174":41168,"_4455":41168,"_19213":41168,"_17877":41168,"_2212":41168,"_8794":41168,"_26763":41168,"_10180":41168,"_27220":41168,"_20773":41168,"_2216":41168,"_22117":41168,"_10395":41168,"_4953":41168,"_3925":41168,"_19203":41168,"_29210":41168,"_6297":41168,"_8121":41168,"_24656":41168,"_3997":41168,"_22291":41168,"_5385":41168,"_8358":41168,"_4593":41168,"_31399":41168,"_27215":41168,"_33711":41168,"_15794":41168,"_20131":41168,"_33294":41168,"_20120":41168,"_20952":41168,"_4975":41168,"_3642":41168,"_7401":41168,"_8771":41168,"_22228":41168,"_6047":41168,"_7735":41168,"_33974":41168,"_29630":41168,"_5714":41168},"1701",{"_13755":40881,"_6069":40881,"_22582":40881,"_22216":40881,"_10559":40881,"_4455":40881,"_16556":40881,"_28777":40881,"_32834":40881,"_6473":40881,"_19213":40881,"_7535":40881,"_33129":40881,"_22577":40881,"_28568":40881,"_10395":40881,"_6520":40881,"_3399":40881,"_31369":40881,"_2212":40881,"_3132":40881,"_18722":40881,"_8414":40881,"_33120":40881},"1702",{"_5053":40940,"_13687":40940,"_28802":40940,"_3020":40940,"_5214":40940,"_7535":40940,"_4455":40940,"_22216":40940,"_22582":40940,"_3765":40940,"_4592":40940,"_20099":40940,"_31497":40940,"_11263":40940},"1703",{"_21020":40866,"_6069":40866,"_22216":40866,"_13234":40866,"_11263":40866,"_4592":40866,"_20089":40866,"_2225":40866,"_28777":40866,"_4455":40866,"_31238":40866,"_22291":40866,"_3765":40866,"_8166":40866,"_4975":40866,"_3642":40866,"_7401":40866,"_20849":40866,"_3399":40866,"_19146":40866},"1704",{"_4356":41018,"_37067":41018,"_3132":41018,"_3074":41018,"_5829":41018,"_26880":41018,"_23629":41018,"_3726":41018,"_32403":41018,"_24091":41018,"_5697":41018,"_18145":41018,"_28312":41018,"_16886":41018,"_3399":41018,"_21188":41018,"_3711":41018,"_6235":41018,"_3997":41018,"_29784":41018,"_28086":41018,"_25075":41018,"_32947":41018,"_28954":41018,"_23264":41018,"_6322":41018,"_13724":41018,"_8204":41018,"_33685":41018,"_16545":41018},"1705",{"_35645":40817,"_12054":40817,"_4356":40817,"_37067":40817,"_29357":40817,"_11263":40817,"_7535":40817,"_35702":40817,"_15306":40817},"1706",{"_4356":40984,"_21062":40984,"_5452":40984,"_16277":40984,"_17103":40984,"_25472":40984,"_3399":40984,"_3672":40984,"_14862":40984,"_9337":40984,"_3755":40984,"_8204":40984,"_15717":40984,"_19999":40984,"_3020":40984,"_35412":40984,"_32186":40984,"_8518":40984,"_33330":40984,"_23629":40984,"_27813":40984,"_5697":40984,"_33188":40984,"_20131":40984,"_17097":40984,"_8755":40984,"_33577":40984},"1707",{"_21062":40924,"_29601":40924,"_2225":40924,"_29895":40924,"_10097":40924,"_22291":40924,"_34433":40924,"_21199":40924,"_20556":40924,"_3659":40924,"_4968":40924,"_6701":40924,"_15859":40924,"_22216":40924,"_8414":40924,"_3020":40924,"_21396":40924,"_3399":40924,"_26550":40924,"_30661":40924,"_7485":40924,"_15925":40924,"_8144":40924,"_8371":40924,"_33258":40924,"_31486":40924,"_4356":40924,"_11263":40924,"_31123":40924,"_15311":40924,"_8420":40924,"_29683":40924,"_23911":40924,"_8794":40924,"_5691":40924,"_27684":40924,"_24941":40924},"1708",{"_6856":40901,"_3132":40901,"_2225":40901,"_31942":40901,"_27684":40901,"_7869":40901,"_5697":40901,"_20151":40901,"_4356":40901,"_29784":40901,"_35707":40901},"1709",{"_11313":40984,"_22216":40984,"_6856":40984,"_25966":40984,"_10492":40984,"_8144":40984,"_7535":40984,"_15311":40984,"_5053":40984,"_5697":40984,"_13121":40984,"_3399":40984,"_14752":40984,"_31486":40984,"_33129":40984,"_3672":40984,"_7485":40984,"_6297":40984,"_29630":40984,"_8106":40984,"_29596":40984,"_22228":40984,"_27148":40984,"_20131":40984,"_4975":40984,"_29327":40984,"_11263":40984},"1710",{"_4356":40866,"_19592":40866,"_3132":40866,"_3074":40866,"_5850":40866,"_23629":40866,"_19571":40866,"_21057":40866,"_7869":40866,"_6329":40866,"_15626":40866,"_4975":40866,"_30325":40866,"_3399":40866,"_34137":40866,"_19146":40866,"_6069":40866,"_22216":40866,"_26817":40866,"_7774":40866},"1711",{"_19592":40940,"_34433":40940,"_4356":40940,"_11263":40940,"_7535":40940,"_20909":40940,"_25472":40940,"_13234":40940,"_13755":40940,"_3399":40940,"_15306":40940,"_7485":40940,"_2225":40940,"_16742":40940},"1712",{"_2225":40836,"_13755":40836,"_21874":40836,"_13582":40836,"_25467":40836,"_7535":40836,"_22201":40836,"_34285":40836,"_3399":40836,"_3672":40836,"_32270":40836,"_22291":40836,"_33743":40836,"_5697":40836,"_20131":40836,"_7447":40836,"_13955":40836},"1713",{"_33129":40881,"_13234":40881,"_29601":40881,"_16221":40881,"_6783":40881,"_28517":40881,"_11263":40881,"_32088":40881,"_22291":40881,"_25467":40881,"_13265":40881,"_13755":40881,"_3399":40881,"_15306":40881,"_25132":40881,"_3925":40881,"_6805":40881,"_20909":40881,"_31233":40881,"_24729":40881,"_10264":40881,"_31108":40881,"_29421":40881,"_20718":40881},"1714",{"_26865":40940,"_3132":40940,"_22216":40940,"_19730":40940,"_31332":40940,"_5829":40940,"_26880":40940,"_32296":40940,"_26648":40940,"_19882":40940,"_17097":40940,"_3997":40940,"_4356":40940,"_29465":40940},"1715",{"_36627":40881,"_36749":40881,"_7485":40881,"_22216":40881,"_13516":40881,"_33628":40881,"_35527":40881,"_4309":40881,"_3399":40881,"_7019":40881,"_6069":40881,"_32296":40881,"_26648":40881,"_32403":40881,"_4356":40881,"_26865":40881,"_11263":40881,"_3132":40881,"_34439":40881,"_7535":40881,"_13755":40881,"_8414":40881,"_8420":40881,"_20718":40881},"1716",{"_4356":40901,"_28086":40901,"_3132":40901,"_2225":40901,"_34614":40901,"_3726":40901,"_32403":40901,"_7535":40901,"_28987":40901,"_3":40901,"_18210":40901},"1717",{"_34546":41107,"_11263":41107,"_5697":41107,"_18145":41107,"_8414":41107,"_8420":41107,"_3399":41107,"_26763":41107,"_13165":41107,"_25472":41107,"_30253":41107,"_15794":41107,"_29027":41107,"_21199":41107,"_20556":41107,"_7485":41107,"_30258":41107,"_13234":41107,"_14157":41107,"_22216":41107,"_27355":41107,"_16742":41107,"_3659":41107,"_31481":41107,"_20131":41107,"_33294":41107,"_6246":41107,"_9073":41107,"_25686":41107,"_10097":41107,"_17877":41107,"_15546":41107,"_23769":41107,"_3671":41107,"_6701":41107,"_9600":41107,"_6214":41107,"_2216":41107,"_22260":41107,"_9406":41107,"_27694":41107},"1718",{"_4356":40800,"_25482":40800,"_3132":40800,"_2225":40800,"_8264":40800,"_3399":40800,"_5829":40800,"_26880":40800,"_23629":40800,"_10175":40800,"_14878":40800,"_7869":40800,"_20275":40800,"_8144":40800,"_33193":40800,"_5697":40800,"_9942":40800,"_18190":40800,"_34911":40800,"_25807":40800,"_6069":40800,"_3":40800,"_24815":40800,"_7535":40800,"_18210":40800,"_26791":40800,"_29784":40800,"_23748":40800,"_30751":40800,"_26933":40800,"_15794":40800,"_20131":40800,"_34439":40800,"_31486":40800,"_3642":40800,"_18510":40800,"_29113":40800,"_28603":40800,"_8127":40800,"_10492":40800},"1719",{"_25482":40829,"_34433":40829,"_11263":40829,"_7535":40829,"_15311":40829,"_22216":40829,"_13234":40829},"1720",{"_22216":40911,"_5696":40911,"_11237":40911,"_22207":40911,"_34433":40911,"_11263":40911,"_7485":40911,"_2225":40911,"_35240":40911,"_6069":40911,"_16926":40911,"_3925":40911,"_32003":40911,"_32911":40911,"_14145":40911,"_18531":40911},"1721",{"_11263":40815,"_3132":40815,"_34439":40815,"_7535":40815,"_16926":40815,"_4242":40815,"_24373":40815,"_31486":40815,"_26865":40815,"_3399":40815,"_29784":40815,"_30238":40815},"1722",{"_20115":40815,"_34433":40815,"_11263":40815,"_7535":40815,"_25941":40815,"_13272":40815,"_15306":40815,"_26865":40815,"_3399":40815,"_29784":40815,"_25052":40815,"_33120":40815},"1723",{"_31976":40844,"_24662":40844,"_26648":40844,"_7535":40844,"_9438":40844,"_3399":40844,"_18145":40844,"_5053":40844,"_5697":40844,"_29829":40844,"_36558":40844,"_2209":40844,"_34412":40844,"_6":40844,"_22181":40844,"_11263":40844,"_3132":40844,"_34439":40844,"_20151":40844,"_12628":40844,"_13165":40844,"_13687":40844,"_2205":40844,"_24254":40844,"_2225":40844,"_21479":40844,"_3672":40844,"_21557":40844},"1724",{"_36739":40812,"_36759":40812,"_8550":40812,"_34433":40812,"_22216":40812,"_13186":40812,"_7535":40812,"_13755":40812,"_20170":40812,"_31369":40812,"_3132":40812,"_2225":40812,"_7697":40812,"_12720":40812,"_6069":40812,"_11263":40812,"_31486":40812,"_20190":40812,"_27615":40812,"_3399":40812,"_18995":40812,"_32424":40812,"_29717":40812,"_7485":40812,"_6297":40812,"_5697":40812,"_31880":40812,"_4975":40812,"_27605":40812,"_8144":40812,"_8776":40812,"_14034":40812,"_18435":40812,"_5624":40812,"_25966":40812,"_23629":40812,"_5174":40812,"_21220":40812,"_22834":40812,"_10623":40812,"_9321":40812,"_17877":40812,"_8414":40812,"_8371":40812,"_7735":40812,"_13929":40812,"_17086":40812,"_33711":40812},"1725",{"_18001":40815,"_19642":40815,"_3132":40815,"_2225":40815,"_29522":40815,"_31997":40815,"_7869":40815,"_24030":40815,"_8794":40815,"_34162":40815,"_14958":40815,"_3925":40815},"1726",{"_11263":40885,"_3132":40885,"_34439":40885,"_7535":40885,"_13234":40885,"_21057":40885,"_25941":40885,"_31098":40885,"_3399":40885,"_15306":40885},"1727",{"_34412":40885,"_11263":40885,"_3997":40885,"_37434":40885,"_13234":40885,"_35517":40885,"_31936":40885,"_5640":40885,"_33670":40885,"_8223":40885},"1728",{"_34412":40794,"_13106":40794},"1729",{"_36130":40821,"_28678":40821,"_17086":40821,"_32779":40821,"_2212":40821,"_13234":40821},"1730",{"_31976":40796,"_24662":40796,"_35418":40796,"_33814":40796,"_7535":40796,"_22216":40796,"_13516":40796,"_14857":40796,"_13535":40796,"_10492":40796,"_11263":40796,"_35250":40796,"_4129":40796,"_6069":40796,"_6483":40796,"_23629":40796,"_13687":40796,"_19911":40796},"1731",{"_19815":40861,"_34433":40861,"_22216":40861,"_11263":40861,"_7535":40861,"_25941":40861,"_13272":40861,"_3399":40861,"_24843":40861,"_13755":40861,"_7875":40861,"_20190":40861,"_28954":40861,"_27605":40861,"_31981":40861,"_27087":40861,"_2216":40861,"_17125":40861,"_13970":40861,"_6069":40861,"_25966":40861,"_22291":40861,"_14757":40861,"_31486":40861,"_30671":40861,"_25946":40861,"_14898":40861,"_2225":40861,"_6473":40861,"_17249":40861,"_20146":40861,"_24729":40861,"_8507":40861,"_22609":40861,"_17963":40861,"_31976":40861,"_2220":40861,"_5697":40861,"_10508":40861,"_6047":40861,"_4968":40861,"_29513":40861,"_4593":40861,"_13350":40861,"_24766":40861,"_3099":40861,"_33743":40861,"_24423":40861,"_30766":40861,"_3925":40861,"_6119":40861,"_18165":40861,"_32003":40861,"_37028":40861,"_19354":40861,"_26840":40861,"_22306":40861,"_18382":40861},"1732",{"_22216":40806,"_33516":40806,"_4317":40806,"_22207":40806,"_34433":40806,"_11263":40806,"_5697":40806,"_15286":40806,"_27298":40806,"_3399":40806,"_9120":40806,"_15368":40806,"_7485":40806,"_2225":40806,"_23629":40806,"_33691":40806,"_12541":40806,"_22291":40806,"_19587":40806,"_2207":40806,"_3":40806,"_7535":40806,"_26648":40806,"_4592":40806,"_18165":40806,"_28587":40806,"_14173":40806,"_18644":40806,"_13234":40806,"_8204":40806,"_6607":40806,"_25966":40806},"1733",{"_34433":40832,"_11263":40832,"_7485":40832,"_28163":40832,"_31369":40832,"_16566":40832,"_20680":40832,"_14904":40832,"_22523":40832,"_26648":40832,"_3726":40832,"_3399":40832,"_28410":40832},"1734",{"_34433":40885,"_11263":40885,"_7535":40885,"_8414":40885,"_8420":40885,"_13755":40885,"_20170":40885,"_28587":40885,"_7018":40885,"_21020":40885},"1735",{"_11445":40917,"_12197":40917,"_11263":40917,"_3132":40917,"_34439":40917,"_4975":40917,"_22723":40917,"_3925":40917,"_22216":40917,"_26880":40917,"_6069":40917,"_21899":40917,"_7535":40917,"_25477":40917,"_15733":40917,"_20909":40917,"_8144":40917,"_26072":40917,"_2225":40917,"_15306":40917,"_36950":40917,"_5697":40917,"_18145":40917,"_23629":40917,"_25946":40917,"_25132":40917,"_8414":40917,"_8420":40917,"_3399":40917,"_28587":40917,"_26763":40917,"_14446":40917,"_32544":40917,"_7485":40917,"_5011":40917,"_16561":40917},"1736",{"_11263":40940,"_3132":40940,"_34439":40940,"_5697":40940,"_21874":40940,"_25941":40940,"_10618":40940,"_31369":40940,"_8794":40940,"_22723":40940,"_2216":40940,"_34300":40940,"_7535":40940,"_13272":40940},"1737",{"_20223":40802,"_22723":40802,"_2216":40802,"_17114":40802,"_36897":40802,"_13121":40802,"_34365":40802,"_27303":40802,"_10678":40802,"_3399":40802,"_31315":40802,"_20005":40802,"_35384":40802,"_25472":40802,"_25467":40802,"_16221":40802,"_13234":40802,"_22587":40802,"_17163":40802,"_7485":40802,"_11263":40802},"1738",{"_32504":40911,"_22723":40911,"_2216":40911,"_19571":40911,"_21057":40911,"_7869":40911,"_25467":40911,"_15733":40911,"_20909":40911,"_7485":40911,"_11263":40911,"_3399":40911,"_34433":40911,"_7535":40911,"_8414":40911,"_8420":40911},"1739",{"_21062":40885,"_22723":40885,"_2216":40885,"_14862":40885,"_19882":40885,"_34433":40885,"_11263":40885,"_7535":40885,"_8414":40885,"_8420":40885},"1740",{"_34439":40796,"_16932":40796,"_3925":40796,"_2225":40796,"_19146":40796,"_6069":40796,"_27298":40796,"_25946":40796,"_23629":40796,"_27876":40796,"_3":40796,"_2205":40796,"_34960":40796,"_13755":40796,"_20170":40796,"_3399":40796,"_8393":40796,"_25052":40796},"1741",{"_32037":41013,"_34433":41013,"_11263":41013,"_7535":41013,"_25941":41013,"_13272":41013,"_8414":41013,"_8420":41013,"_3399":41013,"_23629":41013,"_28587":41013,"_5624":41013,"_16221":41013,"_20190":41013,"_30671":41013,"_25946":41013,"_12948":41013,"_3132":41013,"_3074":41013,"_33396":41013,"_19146":41013,"_6069":41013,"_32044":41013,"_13630":41013,"_24254":41013,"_17125":41013},"1742",{"_11263":40866,"_3132":40866,"_34439":40866,"_7535":40866,"_2225":40866,"_21479":40866,"_6069":40866,"_25946":40866,"_16786":40866,"_30325":40866,"_24815":40866,"_8414":40866,"_8420":40866,"_13755":40866,"_20170":40866,"_27298":40866,"_28587":40866,"_7018":40866,"_21020":40866,"_33120":40866},"1743",{"_11263":40796,"_4975":40796,"_13218":40796,"_3132":40796,"_34439":40796,"_7535":40796,"_2225":40796,"_35240":40796,"_6069":40796,"_25946":40796,"_16556":40796,"_13755":40796,"_20170":40796,"_8414":40796,"_8420":40796,"_27298":40796,"_3399":40796,"_20718":40796},"1744",{"_7692":40827,"_16522":40827,"_4356":40827,"_6270":40827,"_13847":40827,"_23650":40827,"_11263":40827,"_19768":40827},"1745",{"_7692":40829,"_32069":40829,"_30299":40829,"_14663":40829,"_3297":40829,"_3066":40829,"_33697":40829},"1746",{"_11313":40901,"_11353":40901,"_11346":40901,"_7692":40901,"_31108":40901,"_4356":40901,"_6270":40901,"_24672":40901,"_7308":40901,"_14430":40901,"_29427":40901},"1747",{"_30149":40821,"_16516":40821,"_4356":40821,"_6270":40821,"_24804":40821,"_30179":40821},"1748",{"_7692":40821,"_8605":40821,"_4356":40821,"_6270":40821,"_8611":40821,"_30179":40821},"1749",{"_30149":40827,"_24644":40827,"_4356":40827,"_6270":40827,"_32429":40827,"_31310":40827,"_24650":40827,"_30179":40827},"1750",{"_6884":40815,"_11346":40815,"_7692":40815,"_29784":40815,"_4356":40815,"_6270":40815,"_24672":40815,"_11242":40815,"_29795":40815,"_29801":40815,"_30232":40815,"_30179":40815},"1751",{"_7692":40829,"_30238":40829,"_4356":40829,"_6270":40829,"_31103":40829,"_30179":40829,"_11263":40829},"1752",{"_7692":40829,"_32069":40829,"_13527":40829,"_14663":40829,"_31310":40829,"_37359":40829,"_30179":40829},"1753",{"_30149":40829,"_21062":40829,"_4356":40829,"_6270":40829,"_24688":40829,"_29063":40829,"_29895":40829},"1754",{"_30149":40829,"_16690":40829,"_4356":40829,"_6270":40829,"_18531":40829,"_28334":40829,"_30179":40829},"1755",{"_7692":40885,"_29465":40885,"_4356":40885,"_6270":40885,"_26865":40885,"_6918":40885,"_36828":40885,"_34417":40885,"_30179":40885,"_34423":40885},"1756",{"_7692":40817,"_29465":40817,"_4356":40817,"_6270":40817,"_26865":40817,"_6918":40817,"_36828":40817,"_26302":40817,"_30179":40817},"1757",{"_7692":40817,"_28086":40817,"_4356":40817,"_6270":40817,"_24672":40817,"_29063":40817,"_28091":40817,"_30179":40817,"_25691":40817},"1758",{"_37354":40901,"_7692":40901,"_31310":40901,"_22723":40901,"_14663":40901,"_32414":40901,"_32434":40901,"_22582":40901,"_17125":40901,"_12598":40901,"_30179":40901},"1759",{"_37354":40901,"_7692":40901,"_31310":40901,"_22723":40901,"_14663":40901,"_32414":40901,"_32434":40901,"_22582":40901,"_17125":40901,"_24860":40901,"_30179":40901},"1760",{"_11445":40924,"_37365":40924,"_21650":40924,"_2222":40924,"_37073":40924,"_3099":40924,"_35359":40924,"_4034":40924,"_15405":40924,"_2225":40924,"_32027":40924,"_5908":40924,"_34339":40924,"_24745":40924,"_3399":40924,"_37062":40924,"_3220":40924,"_29558":40924,"_13755":40924,"_20170":40924,"_4975":40924,"_8550":40924,"_7485":40924,"_18245":40924,"_6069":40924,"_22216":40924,"_37389":40924,"_27967":40924,"_3997":40924,"_5796":40924,"_7869":40924,"_18847":40924,"_26901":40924,"_20712":40924,"_4237":40924,"_34491":40924,"_6204":40924},"1761",{"_7692":40829,"_32069":40829,"_30299":40829,"_14663":40829,"_3297":40829,"_3066":40829,"_26669":40829},"1762",{"_7692":40878,"_20988":40878,"_14663":40878,"_19821":40878,"_12591":40878},"1763",{"_7692":40878,"_31310":40878,"_13534":40878,"_14663":40878,"_31465":40878},"1764",{"_7692":40821,"_30123":40821,"_4356":40821,"_6270":40821,"_3885":40821,"_30179":40821},"1765",{"_30149":40827,"_25482":40827,"_4356":40827,"_6270":40827,"_9901":40827,"_15546":40827,"_26308":40827,"_30179":40827},"1766",{"_11306":40901,"_7692":40901,"_16191":40901,"_4356":40901,"_6270":40901,"_18531":40901,"_8711":40901,"_8717":40901,"_5964":40901,"_35722":40901,"_30179":40901},"1767",{"_7692":40827,"_19592":40827,"_4356":40827,"_6270":40827,"_24672":40827,"_13950":40827,"_14435":40827,"_20915":40827},"1768",{"_7692":40827,"_16522":40827,"_4356":40827,"_6270":40827,"_13847":40827,"_23650":40827,"_29968":40827,"_28587":40827},"1769",{"_12725":40829,"_17643":40829,"_7485":40829,"_22216":40829,"_29968":40829,"_15254":40829,"_30239":40829},"1770",{"_7692":40817,"_24957":40817,"_4356":40817,"_6270":40817,"_24672":40817,"_29063":40817,"_24316":40817,"_11263":40817,"_30179":40817},"1771",{"_7692":40878,"_20594":40878,"_14663":40878,"_31310":40878,"_4424":40878},"1772",{"_11411":40885,"_6884":40885,"_11353":40885,"_7692":40885,"_6856":40885,"_4356":40885,"_6270":40885,"_24672":40885,"_5719":40885,"_30179":40885},"1773",{"_7692":40827,"_24672":40827,"_28132":40827,"_11116":40827,"_28156":40827,"_15546":40827,"_10462":40827,"_30179":40827},"1774",{"_7692":40817,"_16522":40817,"_4356":40817,"_6270":40817,"_13847":40817,"_23650":40817,"_15573":40817,"_19763":40817,"_8794":40817},"1775",{"_7692":40878,"_18531":40878,"_28132":40878,"_11116":40878,"_28150":40878},"1776",{"_7692":40821,"_32069":40821,"_22844":40821,"_14663":40821,"_31310":40821,"_4431":40821},"1777",{"_7692":40821,"_4438":40821,"_10117":40821,"_11116":40821,"_24672":40821,"_13271":40821},"1778",{"_30149":40821,"_5608":40821,"_4356":40821,"_6270":40821,"_29905":40821,"_30179":40821},"1779",{"_30149":40829,"_7107":40829,"_4356":40829,"_6270":40829,"_24672":40829,"_34481":40829,"_30179":40829},"1780",{"_7692":40787,"_8617":40787,"_4356":40787,"_6270":40787},"1781",{"_7692":40878,"_28132":40878,"_11116":40878,"_18531":40878,"_28143":40878},"1782",{"_6558":3013},"1783",{"_6131":40834,"_4356":40834,"_11263":40834,"_24688":40834,"_15171":40834,"_16715":40834,"_13755":40834,"_22216":40834,"_3":40834,"_20788":40834,"_12541":40834,"_4340":40834,"_3010":40834,"_3399":40834,"_5788":40834},"1784",{"_11263":40829,"_2225":40829,"_23629":40829,"_15306":40829,"_25941":40829,"_7535":40829,"_4249":40829},"1785",{"_24086":40794,"_7180":40794},"1786",{"_3":40821,"_20788":40821,"_3399":40821,"_22216":40821,"_29947":40821,"_34279":40821},"1787",{"_11291":40853,"_29947":40853,"_34279":40853},"1788",{"_33974":40853,"_3399":40853,"_33422":40853},"1789",{"_14458":40787,"_34960":40787,"_3399":40787,"_9044":40787},"1790",{"_6973":3013},"1791",{"_26933":40794,"_4322":40794},"1792",{"_17643":3013},"1793",{"_34433":3013},"1794",{"_18995":3013},"1795",{"_9947":3013},"1796",{"_22216":40853,"_11263":40853,"_18526":40853},"1797",{"_11263":40896,"_3132":40896,"_2225":40896,"_23629":40896,"_5850":40896,"_15306":40896,"_25941":40896,"_7535":40896,"_4249":40896,"_8144":40896,"_32631":40896,"_26933":40896,"_26242":40896,"_6069":40896,"_18805":40896,"_22291":40896,"_15794":40896,"_30878":40896,"_34986":40896,"_5697":40896,"_17632":40896,"_29860":40896,"_29347":40896,"_25946":40896,"_27876":40896,"_13755":40896,"_20077":40896,"_3399":40896,"_7025":40896,"_34300":40896,"_24091":40896,"_20131":40896,"_33193":40896,"_18484":40896,"_34433":40896,"_3":40896,"_20788":40896,"_25912":40896,"_5473":40896,"_22216":40896,"_8557":40896,"_23347":40896,"_21910":40896,"_25857":40896,"_7825":40896,"_27813":40896,"_8776":40896,"_7485":40896,"_35859":40896,"_29601":40896,"_30991":40896,"_31123":40896,"_2222":40896},"1798",{"_15306":40888,"_25946":40888,"_3765":40888,"_33964":40888,"_29728":40888,"_5697":40888,"_7271":40888,"_11200":40888,"_22255":40888,"_33390":40888,"_18541":40888,"_33216":40888,"_25132":40888,"_3925":40888,"_11178":40888,"_14463":40888,"_3399":40888,"_24418":40888,"_22216":40888,"_20866":40888,"_30471":40888,"_11263":40888,"_3132":40888,"_9963":40888,"_23629":40888,"_4249":40888,"_9120":40888,"_6069":40888,"_17661":40888,"_8204":40888,"_27574":40888},"1799",{"_11263":40896,"_3132":40896,"_26933":40896,"_4494":40896,"_23629":40896,"_18200":40896,"_5697":40896,"_15286":40896,"_31486":40896,"_33129":40896,"_3672":40896,"_22387":40896,"_2225":40896,"_27282":40896,"_29947":40896,"_34279":40896,"_31369":40896,"_6287":40896,"_26994":40896,"_25651":40896,"_7825":40896,"_7869":40896,"_22216":40896,"_13970":40896,"_6069":40896,"_3":40896,"_10603":40896,"_3280":40896,"_15859":40896,"_12931":40896,"_7485":40896,"_19272":40896,"_3399":40896,"_22223":40896,"_3765":40896,"_26988":40896,"_7841":40896,"_23352":40896,"_34561":40896,"_22657":40896,"_24091":40896,"_7535":40896,"_25472":40896,"_36955":40896,"_17102":40896,"_20946":40896,"_15794":40896,"_5032":40896,"_29829":40896,"_22393":40896,"_28613":40896,"_29058":40896,"_34203":40896},"1800",{"_22216":41107,"_11263":41107,"_17643":41107,"_19529":41107,"_2225":41107,"_18761":41107,"_3997":41107,"_29829":41107,"_18995":41107,"_29839":41107,"_5318":41107,"_25832":41107,"_6306":41107,"_5053":41107,"_4129":41107,"_6069":41107,"_20946":41107,"_8144":41107,"_15794":41107,"_20131":41107,"_34439":41107,"_7485":41107,"_28954":41107,"_23629":41107,"_27813":41107,"_9947":41107,"_36903":41107,"_8204":41107,"_30517":41107,"_27026":41107,"_19647":41107,"_8377":41107,"_25827":41107,"_6311":41107,"_22291":41107,"_26906":41107,"_27876":41107,"_18805":41107,"_17656":41107,"_4975":41107,"_12541":41107},"1801",{"_11263":40802,"_3132":40802,"_10372":40802,"_7875":40802,"_22216":40802,"_23629":40802,"_18200":40802,"_8144":40802,"_15291":40802,"_17860":40802,"_17069":40802,"_5697":40802,"_20131":40802,"_6499":40802,"_2225":40802,"_26242":40802,"_6069":40802,"_29513":40802,"_15859":40802,"_3074":40802,"_32088":40802},"1802",{"_22216":40924,"_25966":40924,"_22291":40924,"_20270":40924,"_7019":40924,"_11263":40924,"_25941":40924,"_21124":40924,"_4455":40924,"_37023":40924,"_5385":40924,"_33129":40924,"_3672":40924,"_22255":40924,"_20084":40924,"_3074":40924,"_17102":40924,"_17831":40924,"_6069":40924,"_13165":40924,"_4661":40924,"_31486":40924,"_2225":40924,"_21678":40924,"_28405":40924,"_3399":40924,"_26698":40924,"_7485":40924,"_18963":40924,"_21874":40924,"_3925":40924,"_28467":40924,"_20631":40924,"_3765":40924,"_5318":40924,"_31481":40924,"_20131":40924},"1803",{"_13350":40844,"_14151":40844,"_5697":40844,"_2225":40844,"_27026":40844,"_11263":40844,"_12628":40844,"_22216":40844,"_12541":40844,"_20089":40844,"_23016":40844,"_14167":40844,"_22387":40844,"_31369":40844,"_8144":40844,"_26504":40844,"_8858":40844,"_7280":40844,"_9175":40844,"_3297":40844,"_32481":40844,"_3399":40844,"_30044":40844,"_30567":40844,"_17877":40844,"_31260":40844,"_31481":40844,"_23383":40844},"1804",{"_11263":40844,"_3132":40844,"_6306":40844,"_25732":40844,"_33129":40844,"_34955":40844,"_31486":40844,"_2225":40844,"_6473":40844,"_22291":40844,"_10514":40844,"_22216":40844,"_6297":40844,"_6069":40844,"_4455":40844,"_21688":40844,"_25264":40844,"_5788":40844,"_15794":40844,"_10492":40844,"_5697":40844,"_17632":40844,"_29875":40844,"_5447":40844,"_25132":40844,"_3925":40844,"_27876":40844,"_18805":40844},"1805",{"_6884":40823,"_36123":40823,"_11263":40823,"_3132":40823,"_8403":40823,"_8144":40823,"_33390":40823,"_7485":40823,"_10074":40823,"_31921":40823,"_4249":40823,"_8755":40823,"_3997":40823,"_22485":40823,"_6069":40823,"_15717":40823,"_3399":40823,"_19017":40823,"_30446":40823,"_31404":40823,"_10086":40823,"_3765":40823,"_20718":40823,"_14706":40823,"_22281":40823,"_31581":40823,"_4975":40823,"_11121":40823,"_3839":40823},"1806",{"_22216":40841,"_34279":40841,"_18170":40841,"_8794":40841,"_11263":40841,"_3132":40841,"_21225":40841,"_7875":40841,"_22291":40841,"_6069":40841,"_2225":40841,"_25651":40841,"_7825":40841,"_7869":40841,"_7853":40841,"_26603":40841,"_6363":40841,"_33304":40841,"_26576":40841,"_27772":40841,"_32456":40841,"_2212":40841,"_7485":40841,"_11291":40841,"_17913":40841},"1807",{"_34561":41142,"_25651":41142,"_7825":41142,"_27813":41142,"_33129":41142,"_2212":41142,"_7485":41142,"_2225":41142,"_11263":41142,"_34279":41142,"_15794":41142,"_29630":41142,"_3":41142,"_3978":41142,"_31486":41142,"_8144":41142,"_3925":41142,"_32003":41142,"_15530":41142,"_3132":41142,"_7875":41142,"_29635":41142,"_7868":41142,"_22291":41142,"_4494":41142,"_5697":41142,"_4592":41142,"_20131":41142,"_23347":41142,"_31630":41142,"_24091":41142,"_21874":41142,"_15306":41142,"_25558":41142,"_17163":41142,"_13755":41142,"_28568":41142,"_33120":41142,"_4593":41142,"_22216":41142,"_25462":41142,"_4975":41142,"_34506":41142,"_27484":41142,"_30621":41142,"_36975":41142,"_6443":41142,"_31976":41142,"_10492":41142,"_21976":41142,"_12923":41142,"_20270":41142,"_13299":41142,"_3765":41142,"_21638":41142,"_5385":41142,"_33974":41142},"1808",{"_12931":41264,"_20084":41264,"_2225":41264,"_25512":41264,"_25857":41264,"_22291":41264,"_16566":41264,"_12720":41264,"_34203":41264,"_7535":41264,"_3":41264,"_15368":41264,"_5180":41264,"_3399":41264,"_22768":41264,"_5697":41264,"_4484":41264,"_9181":41264,"_35170":41264,"_15296":41264,"_34960":41264,"_33129":41264,"_8771":41264,"_12938":41264,"_22216":41264,"_6473":41264,"_16649":41264,"_16742":41264,"_31399":41264,"_12541":41264,"_9522":41264,"_8144":41264,"_4592":41264,"_9580":41264,"_6069":41264},"1809",{"_22216":41264,"_3":41264,"_25462":41264,"_4975":41264,"_33129":41264,"_12923":41264,"_7485":41264,"_2225":41264,"_34279":41264,"_3132":41264,"_10041":41264,"_3399":41264,"_31557":41264,"_5598":41264,"_10086":41264,"_7271":41264,"_4455":41264,"_30626":41264,"_3978":41264,"_31486":41264,"_10069":41264,"_10431":41264,"_2212":41264,"_29601":41264,"_3074":41264,"_5053":41264,"_13687":41264,"_28777":41264,"_5180":41264,"_22291":41264,"_9249":41264,"_31434":41264,"_15794":41264,"_24662":41264,"_26791":41264},"1810",{"_11263":40825,"_4592":40825,"_29601":40825,"_22216":40825,"_33949":40825,"_6069":40825,"_33422":40825,"_33974":40825,"_22223":40825,"_12931":40825,"_32855":40825,"_3925":40825,"_28467":40825,"_26394":40825,"_22291":40825,"_15626":40825,"_12923":40825,"_3132":40825,"_4968":40825,"_31394":40825,"_32205":40825,"_23961":40825},"1811",{"_11263":40924,"_25070":40924,"_22216":40924,"_14425":40924,"_6069":40924,"_9044":40924,"_13350":40924,"_15794":40924,"_26242":40924,"_2225":40924,"_3297":40924,"_3997":40924,"_12923":40924,"_31481":40924,"_20131":40924,"_21936":40924,"_3399":40924,"_9038":40924,"_31394":40924,"_15368":40924,"_3132":40924,"_12541":40924,"_9580":40924,"_18230":40924,"_27464":40924,"_22291":40924,"_29601":40924,"_15374":40924,"_17877":40924,"_14167":40924,"_30506":40924,"_3659":40924,"_25966":40924,"_31228":40924,"_9570":40924,"_28517":40924,"_33914":40924},"1812",{"_11411":40808,"_11313":40808,"_11320":40808,"_33711":40808,"_7485":40808,"_13350":40808,"_15794":40808,"_4592":40808,"_26242":40808,"_19070":40808,"_9821":40808,"_9044":40808,"_3997":40808,"_2225":40808,"_12923":40808,"_22291":40808,"_3765":40808,"_15800":40808,"_9038":40808,"_31394":40808,"_21936":40808,"_3399":40808,"_21930":40808,"_7535":40808,"_15368":40808,"_22216":40808,"_10598":40808,"_3925":40808,"_32003":40808,"_3642":40808,"_15530":40808,"_12931":40808,"_9828":40808},"1813",{"_11263":41018,"_3132":41018,"_23503":41018,"_8403":41018,"_3399":41018,"_26933":41018,"_27021":41018,"_16221":41018,"_7175":41018,"_22475":41018,"_5697":41018,"_20131":41018,"_2225":41018,"_30732":41018,"_7535":41018,"_22216":41018,"_14066":41018,"_6069":41018,"_20718":41018,"_15088":41018,"_25946":41018,"_25132":41018,"_3925":41018,"_27876":41018,"_8144":41018,"_18165":41018,"_26242":41018,"_6973":41018,"_22223":41018,"_3765":41018},"1814",{"_26592":40836,"_13965":40836,"_3280":40836,"_34960":40836,"_8204":40836,"_2225":40836,"_12541":40836,"_31481":40836,"_20131":40836,"_4277":40836,"_7485":40836,"_22216":40836,"_6297":40836,"_22291":40836,"_22255":40836,"_32022":40836,"_26490":40836},"1815",{"_5591":40885,"_3280":40885,"_34960":40885,"_33237":40885,"_25157":40885,"_3020":40885,"_8358":40885,"_33873":40885,"_19223":40885,"_9395":40885},"1816",{"_27026":40888,"_7869":40888,"_17831":40888,"_3280":40888,"_2225":40888,"_12541":40888,"_31481":40888,"_26125":40888,"_22216":40888,"_27355":40888,"_6559":40888,"_6069":40888,"_25941":40888,"_10564":40888,"_12628":40888,"_22291":40888,"_8144":40888,"_14372":40888,"_5697":40888,"_3002":40888,"_2217":40888,"_33856":40888,"_3074":40888,"_6225":40888,"_32471":40888,"_17877":40888,"_8371":40888,"_6499":40888,"_23383":40888,"_31486":40888,"_26394":40888},"1817",{"_9947":40866,"_3280":40866,"_6018":40866,"_3074":40866,"_34955":40866,"_29601":40866,"_30522":40866,"_4277":40866,"_8144":40866,"_31481":40866,"_18952":40866,"_8204":40866,"_22291":40866,"_8771":40866,"_7571":40866,"_34785":40866,"_2225":40866,"_12541":40866,"_6592":40866,"_22216":40866},"1818",{"_22778":40836,"_3280":40836,"_22216":40836,"_13350":40836,"_6559":40836,"_6069":40836,"_7869":40836,"_3132":40836,"_6982":40836,"_5697":40836,"_20131":40836,"_34991":40836,"_31497":40836,"_2225":40836,"_16142":40836,"_8771":40836,"_31055":40836},"1819",{"_3659":40866,"_6069":40866,"_22216":40866,"_24086":40866,"_7180":40866,"_11263":40866,"_3132":40866,"_18175":40866,"_2225":40866,"_23503":40866,"_26933":40866,"_18510":40866,"_16886":40866,"_3925":40866,"_5242":40866,"_8144":40866,"_25070":40866,"_6047":40866,"_22223":40866,"_5788":40866},"1820",{"_12805":40817,"_15632":40817,"_2225":40817,"_2212":40817,"_4975":40817,"_28568":40817,"_7485":40817,"_22216":40817,"_21910":40817},"1821",{"_12812":40787,"_23966":40787,"_2225":40787,"_2212":40787},"1822",{"_32855":40829,"_22017":40829,"_17877":40829,"_2225":40829,"_2212":40829,"_4975":40829,"_28568":40829},"1823",{"_7271":40829,"_3":40829,"_10086":40829,"_22216":40829,"_8204":40829,"_2225":40829,"_2212":40829},"1824",{"_26242":40821,"_3":40821,"_31581":40821,"_5697":40821,"_2225":40821,"_2212":40821},"1825",{"_7271":40829,"_15530":40829,"_9522":40829,"_2225":40829,"_28777":40829,"_6069":40829,"_2212":40829},"1826",{"_7686":40829,"_31821":40829,"_7535":40829,"_3":40829,"_5697":40829,"_20131":40829,"_18367":40829},"1827",{"_11263":40866,"_14910":40866,"_27164":40866,"_22216":40866,"_29900":40866,"_6069":40866,"_25941":40866,"_31486":40866,"_13798":40866,"_8851":40866,"_8001":40866,"_33129":40866,"_25966":40866,"_22291":40866,"_20270":40866,"_7019":40866,"_10385":40866,"_16221":40866,"_6783":40866,"_14474":40866},"1828",{"_22216":40871,"_10372":40871,"_13121":40871,"_3132":40871,"_3074":40871,"_17102":40871,"_13587":40871,"_32250":40871,"_3":40871,"_21910":40871,"_34960":40871,"_3765":40871,"_28384":40871,"_5697":40871,"_23419":40871,"_7535":40871,"_9626":40871,"_3399":40871,"_31581":40871,"_26093":40871,"_30461":40871,"_22255":40871,"_4277":40871},"1829",{"_32456":40888,"_11263":40888,"_12628":40888,"_25946":40888,"_13350":40888,"_14151":40888,"_5697":40888,"_32554":40888,"_3659":40888,"_25297":40888,"_8858":40888,"_10041":40888,"_3765":40888,"_25951":40888,"_8204":40888,"_22216":40888,"_28517":40888,"_10356":40888,"_6069":40888,"_33129":40888,"_13121":40888,"_22291":40888,"_15363":40888,"_13165":40888,"_25941":40888,"_10069":40888,"_18205":40888,"_8794":40888,"_3074":40888,"_5709":40888,"_18435":40888},"1830",{"_3925":40800,"_19146":40800,"_6069":40800,"_22216":40800,"_5709":40800,"_18435":40800,"_4455":40800,"_10069":40800,"_8858":40800,"_8204":40800,"_13350":40800,"_3765":40800,"_7588":40800,"_5697":40800,"_2225":40800,"_27026":40800,"_12628":40800,"_15859":40800,"_8414":40800,"_9217":40800,"_11263":40800,"_25966":40800,"_7742":40800,"_9570":40800,"_21040":40800,"_18335":40800,"_3399":40800,"_5703":40800,"_34986":40800,"_24025":40800,"_21057":40800,"_29087":40800,"_21593":40800,"_15937":40800,"_10441":40800,"_29210":40800,"_3997":40800,"_8383":40800,"_27916":40800,"_31486":40800},"1831",{"_11263":41000,"_34433":41000,"_2225":41000,"_15579":41000,"_5584":41000,"_21057":41000,"_18435":41000,"_27021":41000,"_22216":41000,"_29087":41000,"_3132":41000,"_15794":41000,"_6967":41000,"_22291":41000,"_28517":41000,"_10395":41000,"_33856":41000,"_23742":41000,"_31394":41000,"_8414":41000,"_9580":41000,"_10069":41000,"_8851":41000,"_8144":41000,"_15920":41000,"_26791":41000,"_13165":41000,"_6069":41000,"_7869":41000,"_5697":41000,"_20131":41000,"_4277":41000,"_3399":41000,"_21738":41000,"_22306":41000,"_17086":41000,"_21678":41000,"_16095":41000,"_33711":41000},"1832",{"_22216":40841,"_18510":40841,"_16886":40841,"_5697":40841,"_11263":40841,"_3132":40841,"_24040":40841,"_26933":40841,"_31486":40841,"_8144":40841,"_29490":40841,"_30253":40841,"_15794":40841,"_17632":40841,"_29860":40841,"_6297":40841,"_5788":40841,"_25132":40841,"_3925":40841,"_27881":40841,"_18805":40841,"_7018":40841,"_21020":40841,"_6805":40841,"_33120":40841},"1833",{"_11263":41107,"_3132":41107,"_24091":41107,"_5697":41107,"_20131":41107,"_29839":41107,"_18995":41107,"_30822":41107,"_8144":41107,"_22216":41107,"_9395":41107,"_6069":41107,"_11291":41107,"_24373":41107,"_22207":41107,"_4975":41107,"_30325":41107,"_9438":41107,"_17229":41107,"_22291":41107,"_33390":41107,"_29829":41107,"_7485":41107,"_4249":41107,"_31404":41107,"_10086":41107,"_6472":41107,"_31581":41107,"_27021":41107,"_17432":41107,"_27891":41107,"_13165":41107,"_4455":41107,"_25966":41107,"_6478":41107,"_22662":41107,"_15925":41107,"_7535":41107,"_2225":41107,"_15306":41107,"_25941":41107},"1834",{"_5968":40810,"_11313":40810,"_35574":40810,"_22216":40810,"_11263":40810,"_22393":40810,"_3925":40810,"_10068":40810,"_11115":40810,"_35245":40810,"_3132":40810,"_2225":40810,"_7078":40810,"_6069":40810,"_9888":40810,"_8761":40810,"_3997":40810,"_25966":40810,"_31486":40810,"_24622":40810,"_37414":40810,"_36354":40810,"_3399":40810,"_22693":40810,"_27448":40810,"_36734":40810,"_11232":40810,"_24927":40810,"_3659":40810,"_24922":40810,"_31630":40810,"_34439":40810,"_24342":40810,"_14792":40810,"_24357":40810,"_26698":40810,"_32022":40810,"_31557":40810,"_5697":40810,"_6862":40810,"_10069":40810,"_8858":40810,"_36764":40810,"_31581":40810,"_10086":40810,"_17229":40810,"_27051":40810,"_32088":40810,"_6473":40810,"_22291":40810,"_20270":40810,"_7019":40810,"_25941":40810,"_4311":40810,"_3672":40810,"_27011":40810,"_13350":40810,"_13780":40810,"_25132":40810,"_29210":40810,"_24662":40810,"_15800":40810,"_4484":40810,"_14173":40810,"_8204":40810},"1835",{"_5":40794,"_17136":40794},"1836",{"_5968":40815,"_11313":40815,"_7485":40815,"_12720":40815,"_3220":40815,"_2214":40815,"_18995":40815,"_17726":40815,"_8794":40815,"_37475":40815,"_14978":40815,"_5697":40815},"1837",{"_6884":40878,"_11313":40878,"_22216":40878,"_18633":40878,"_9888":40878},"1838",{"_30600":40984,"_4592":40984,"_17229":40984,"_22291":40984,"_8144":40984,"_3132":40984,"_9937":40984,"_22523":40984,"_9947":40984,"_7485":40984,"_22216":40984,"_18591":40984,"_6069":40984,"_33216":40984,"_27164":40984,"_29485":40984,"_2225":40984,"_24254":40984,"_9191":40984,"_5697":40984,"_35250":40984,"_8383":40984,"_32481":40984,"_20610":40984,"_8074":40984,"_3765":40984,"_7716":40984},"1839",{"_8377":40821,"_3399":40821,"_9605":40821,"_6069":40821,"_2225":40821,"_7735":40821},"1840",{"_8377":40829,"_3399":40829,"_9605":40829,"_6069":40829,"_2225":40829,"_23383":40829,"_7735":40829},"1841",{"_8377":40787,"_6069":40787,"_22216":40787,"_8414":40787},"1842",{"_8377":40821,"_3399":40821,"_9605":40821,"_6069":40821,"_22693":40821,"_7742":40821},"1843",{"_8377":40787,"_6069":40787,"_3671":40787,"_8414":40787},"1844",{"_11346":40800,"_35574":40800,"_5697":40800,"_27159":40800,"_22216":40800,"_30486":40800,"_6069":40800,"_7869":40800,"_6499":40800,"_8771":40800,"_3925":40800,"_8383":40800,"_3765":40800,"_17508":40800,"_31976":40800,"_11126":40800,"_2225":40800,"_11263":40800,"_25941":40800,"_20120":40800,"_7019":40800,"_15717":40800,"_27355":40800,"_27453":40800,"_30593":40800,"_30461":40800,"_30822":40800,"_22306":40800,"_36955":40800,"_10069":40800,"_19092":40800,"_4975":40800,"_14103":40800,"_31369":40800,"_3132":40800,"_14006":40800,"_11115":40800,"_6483":40800,"_32574":40800,"_31921":40800},"1845",{"_22228":41304,"_3765":41304,"_2225":41304,"_8315":41304,"_17763":41304,"_6740":41304,"_8204":41304,"_22306":41304,"_7078":41304,"_7924":41304,"_17877":41304,"_7742":41304,"_8358":41304,"_3399":41304,"_9600":41304,"_36378":41304,"_22260":41304,"_11263":41304,"_3132":41304,"_3145":41304,"_5697":41304,"_25439":41304,"_29829":41304,"_22393":41304,"_24220":41304,"_22216":41304,"_8377":41304,"_30822":41304,"_20130":41304,"_20718":41304,"_17768":41304,"_8414":41304,"_8420":41304,"_4642":41304,"_4494":41304,"_7535":41304,"_7869":41304,"_8403":41304,"_32371":41304,"_18644":41304,"_24881":41304,"_25291":41304,"_7485":41304,"_6483":41304,"_21593":41304,"_10565":41304,"_22281":41304,"_37334":41304,"_33258":41304,"_33711":41304,"_22332":41304,"_3925":41304,"_11156":41304,"_5668":41304,"_6018":41304,"_22255":41304,"_25609":41304,"_18210":41304,"_8858":41304},"1846",{"_11263":40804,"_29601":40804,"_30522":40804,"_25152":40804,"_34439":40804,"_7485":40804,"_20190":40804,"_17301":40804,"_4249":40804,"_8144":40804,"_3132":40804,"_4975":40804,"_30325":40804,"_3925":40804,"_22216":40804,"_15306":40804,"_3399":40804,"_8377":40804,"_9605":40804,"_25941":40804,"_7535":40804,"_21040":40804,"_31233":40804,"_31369":40804,"_2225":40804,"_29839":40804,"_27620":40804,"_19560":40804,"_7869":40804,"_20146":40804,"_22485":40804,"_6069":40804,"_22582":40804,"_10390":40804,"_3":40804,"_24025":40804,"_8794":40804,"_8336":40804,"_15784":40804,"_31404":40804,"_4592":40804,"_20156":40804,"_6473":40804,"_3125":40804,"_27813":40804,"_10492":40804,"_5697":40804,"_17632":40804,"_9937":40804,"_25946":40804},"1847",{"_4455":40802,"_34454":40802,"_3399":40802,"_24388":40802,"_3765":40802,"_32360":40802,"_5697":40802,"_35728":40802,"_22216":40802,"_14767":40802,"_13718":40802,"_22250":40802,"_32610":40802,"_26125":40802,"_11263":40802,"_18526":40802,"_3997":40802,"_4356":40802,"_7535":40802,"_20718":40802,"_17163":40802},"1848",{"_16938":3013},"1849",{"_22306":40784,"_24677":40784,"_15181":40784,"_22216":40784,"_17529":40784,"_31890":40784,"_6069":40784,"_11263":40784,"_16556":40784,"_5584":40784,"_31202":40784,"_18435":40784,"_13965":40784,"_6973":40784,"_13582":40784,"_24086":40784,"_3399":40784,"_28362":40784,"_13893":40784},"1850",{"_5584":40794,"_31202":40794},"1851",{"_6973":40787,"_18311":40787,"_3399":40787,"_23844":40787},"1852",{"_8414":40794,"_4990":40794},"1853",{"_4968":40794,"_21057":40794},"1854",{"_25212":3013},"1855",{"_14983":3013},"1856",{"_13965":40794,"_6973":40794},"1857",{"_36501":3013},"1858",{"_28362":3013},"1859",{"_24383":40794,"_6927":40794},"1860",{"_28362":40878,"_4975":40878,"_22216":40878,"_11200":40878,"_29347":40878},"1861",{"_10492":40878,"_6069":40878,"_25651":40878,"_27713":40878,"_18008":40878},"1862",{"_4975":40911,"_22216":40911,"_30044":40911,"_6069":40911,"_11263":40911,"_3132":40911,"_3074":40911,"_5584":40911,"_21057":40911,"_7869":40911,"_22291":40911,"_36935":40911,"_4455":40911,"_25966":40911,"_7485":40911,"_7686":40911},"1863",{"_22216":40817,"_13266":40817,"_6973":40817,"_18170":40817,"_8794":40817,"_11263":40817,"_21057":40817,"_7869":40817,"_3765":40817},"1864",{"_9937":40911,"_24025":40911,"_17877":40911,"_2225":40911,"_21040":40911,"_2972":40911,"_3132":40911,"_24030":40911,"_8794":40911,"_3659":40911,"_12628":40911,"_31481":40911,"_32486":40911,"_20131":40911,"_4455":40911,"_25966":40911},"1865",{"_22496":40911,"_6297":40911,"_17877":40911,"_2225":40911,"_21040":40911,"_3132":40911,"_24030":40911,"_30461":40911,"_3871":40911,"_8794":40911,"_3659":40911,"_12628":40911,"_31481":40911,"_20131":40911,"_4455":40911,"_25966":40911},"1866",{"_15996":40871,"_6297":40871,"_17877":40871,"_2225":40871,"_21040":40871,"_3871":40871,"_3132":40871,"_26490":40871,"_5473":40871,"_29601":40871,"_30522":40871,"_24030":40871,"_8794":40871,"_22216":40871,"_26509":40871,"_6069":40871,"_21124":40871,"_20131":40871,"_6306":40871,"_30461":40871,"_26504":40871,"_2222":40871,"_4105":40871},"1867",{"_6884":41674,"_22216":41674,"_11263":41674,"_21057":41674,"_7869":41674,"_4592":41674,"_33748":41674,"_5697":41674,"_20131":41674,"_33593":41674,"_9937":41674,"_3399":41674,"_33193":41674,"_17632":41674,"_20084":41674,"_31976":41674,"_20270":41674,"_10063":41674,"_10492":41674,"_6069":41674,"_4593":41674,"_33743":41674,"_3145":41674,"_29654":41674,"_22485":41674,"_8858":41674,"_17748":41674,"_26185":41674,"_4554":41674,"_15794":41674,"_8815":41674,"_4975":41674,"_29327":41674,"_2219":41674,"_14577":41674,"_25966":41674,"_26495":41674,"_33711":41674,"_21046":41674,"_21124":41674,"_9600":41674,"_8204":41674,"_14593":41674,"_8383":41674,"_25132":41674,"_3925":41674,"_19757":41674,"_6467":41674,"_31394":41674,"_17656":41674,"_29779":41674,"_28707":41674,"_8771":41674,"_8315":41674,"_32414":41674,"_9337":41674,"_33753":41674,"_2225":41674,"_18435":41674,"_22291":41674,"_3132":41674,"_5061":41674,"_32419":41674,"_7768":41674,"_6483":41674,"_27443":41674,"_4455":41674,"_22223":41674,"_7180":41674},"1868",{"_6483":41000,"_18435":41000,"_4029":41000,"_22291":41000,"_31976":41000,"_15794":41000,"_14055":41000,"_19662":41000,"_8085":41000,"_15390":41000,"_30506":41000,"_22216":41000,"_25966":41000,"_31374":41000,"_26988":41000,"_25946":41000,"_34506":41000,"_4023":41000,"_21040":41000,"_24025":41000,"_28648":41000,"_3020":41000,"_10966":41000,"_21046":41000,"_4036":41000,"_6069":41000,"_3132":41000,"_23503":41000,"_18922":41000,"_7401":41000,"_10492":41000,"_23016":41000,"_7535":41000,"_14747":41000,"_28041":41000,"_10010":41000,"_3997":41000,"_7716":41000,"_18305":41000},"1869",{"_6306":40823,"_24025":40823,"_3":40823,"_3132":40823,"_24030":40823,"_7485":40823,"_22216":40823,"_27355":40823,"_6297":40823,"_8144":40823,"_26490":40823,"_3399":40823,"_2225":40823,"_21040":40823,"_2972":40823,"_6047":40823,"_5473":40823,"_4455":40823,"_21046":40823,"_30461":40823,"_29630":40823,"_30522":40823,"_14641":40823,"_22291":40823,"_17877":40823,"_28663":40823,"_31481":40823,"_4592":40823,"_20131":40823},"1870",{"_33873":40911,"_21040":40911,"_5473":40911,"_13478":40911,"_6018":40911,"_2225":40911,"_8085":40911,"_15384":40911,"_3132":40911,"_13484":40911,"_21046":40911,"_31481":40911,"_20131":40911,"_9575":40911,"_8204":40911,"_8144":40911},"1871",{"_8723":41667,"_18180":41667,"_22291":41667,"_14034":41667,"_15799":41667,"_20131":41667,"_5038":41667,"_7485":41667,"_4092":41667,"_23629":41667,"_27813":41667,"_17877":41667,"_8383":41667,"_3765":41667,"_19679":41667,"_5697":41667,"_32115":41667,"_31976":41667,"_5032":41667,"_22216":41667,"_18591":41667,"_6069":41667,"_10492":41667,"_22752":41667,"_29490":41667,"_10010":41667,"_3997":41667,"_8771":41667,"_7535":41667,"_28911":41667,"_15800":41667,"_14587":41667,"_4593":41667,"_25487":41667,"_31885":41667,"_2217":41667,"_3825":41667,"_28296":41667,"_13511":41667,"_21057":41667,"_7869":41667,"_20125":41667,"_29712":41667,"_30822":41667,"_8144":41667,"_31481":41667,"_35401":41667,"_16221":41667,"_6973":41667},"1872",{"_31394":40940,"_24161":40940,"_22216":40940,"_11263":40940,"_21057":40940,"_18435":40940,"_31976":40940,"_31481":40940,"_21633":40940,"_6069":40940,"_19318":40940,"_18335":40940,"_3399":40940,"_21046":40940},"1873",{"_18230":40817,"_2225":40817,"_26603":40817,"_6069":40817,"_30626":40817,"_26490":40817,"_22387":40817,"_8085":40817,"_15384":40817},"1874",{"_15728":40823,"_2225":40823,"_16288":40823,"_6069":40823,"_5709":40823,"_18335":40823,"_3765":40823,"_5714":40823,"_34986":40823,"_8794":40823,"_33098":40823,"_19318":40823,"_31486":40823,"_13582":40823,"_11263":40823,"_25966":40823,"_4692":40823,"_13571":40823,"_21046":40823,"_29490":40823,"_22216":40823,"_33737":40823,"_3132":40823,"_3074":40823,"_32535":40823,"_22291":40823,"_24751":40823,"_15800":40823,"_21040":40823},"1875",{"_21040":40825,"_2225":40825,"_26603":40825,"_6069":40825,"_30626":40825,"_5697":40825,"_20131":40825,"_5598":40825,"_31202":40825,"_4455":40825,"_11263":40825,"_25966":40825,"_3132":40825,"_6413":40825,"_17086":40825,"_15728":40825,"_3399":40825,"_5714":40825,"_34986":40825,"_30461":40825,"_8144":40825,"_24030":40825},"1876",{"_6884":41513,"_5968":41513,"_3925":41513,"_25553":41513,"_5400":41513,"_11263":41513,"_6973":41513,"_2225":41513,"_22496":41513,"_6297":41513,"_6069":41513,"_21046":41513,"_3399":41513,"_8144":41513,"_4592":41513,"_18335":41513,"_32631":41513,"_22216":41513,"_6311":41513,"_34412":41513,"_21678":41513,"_5302":41513,"_13138":41513,"_4455":41513,"_31481":41513,"_20131":41513,"_25737":41513,"_31486":41513,"_31394":41513,"_18345":41513,"_32554":41513,"_10508":41513,"_3765":41513,"_26490":41513,"_5697":41513,"_25966":41513,"_14785":41513,"_13582":41513,"_22265":41513,"_5276":41513,"_15728":41513,"_17877":41513,"_13576":41513,"_21040":41513,"_24030":41513,"_3132":41513,"_5281":41513,"_20946":41513,"_12628":41513,"_29601":41513,"_9673":41513,"_18963":41513,"_25472":41513,"_6483":41513,"_36501":41513,"_29630":41513,"_8826":41513,"_22291":41513,"_3642":41513,"_19447":41513,"_21124":41513,"_4975":41513,"_29327":41513,"_3659":41513,"_7485":41513,"_14706":41513,"_31976":41513,"_32115":41513,"_22306":41513,"_8794":41513,"_8846":41513,"_27051":41513,"_3207":41513,"_31404":41513,"_6473":41513,"_20270":41513,"_7019":41513,"_25941":41513},"1877",{"_22216":41175,"_13138":41175,"_29601":41175,"_22693":41175,"_19228":41175,"_33444":41175,"_3399":41175,"_2225":41175,"_14513":41175,"_7485":41175,"_6483":41175,"_17643":41175,"_3132":41175,"_36802":41175,"_6473":41175,"_31976":41175,"_10492":41175,"_29829":41175,"_6297":41175,"_35629":41175,"_7535":41175,"_28613":41175,"_30435":41175,"_13970":41175,"_6069":41175,"_8144":41175,"_15794":41175,"_20131":41175,"_10286":41175,"_31123":41175,"_3925":41175,"_19447":41175,"_17044":41175,"_14218":41175,"_10291":41175,"_15363":41175,"_29232":41175,"_33129":41175,"_8771":41175,"_33711":41175,"_8414":41175,"_14842":41175,"_17086":41175,"_19757":41175,"_31481":41175,"_29630":41175,"_16221":41175,"_6783":41175,"_26933":41175,"_4642":41175,"_5697":41175,"_4064":41175,"_34629":41175,"_15728":41175,"_26983":41175,"_16680":41175,"_6757":41175,"_4990":41175,"_32115":41175,"_22291":41175,"_6047":41175,"_3659":41175,"_34433":41175,"_7401":41175,"_4593":41175,"_6973":41175,"_32456":41175,"_5302":41175},"1878",{"_11263":40821,"_21057":40821,"_13970":40821,"_6069":40821,"_22693":40821,"_19994":40821},"1879",{"_8414":40784,"_4990":40784,"_7485":40784,"_22306":40784,"_19988":40784,"_2225":40784,"_33380":40784,"_22216":40784,"_14577":40784,"_13165":40784,"_6069":40784,"_7869":40784,"_3399":40784,"_7280":40784,"_4631":40784,"_5697":40784,"_25609":40784,"_20285":40784,"_18335":40784},"1880",{"_4968":40834,"_21057":40834,"_7485":40834,"_22306":40834,"_19988":40834,"_2225":40834,"_8414":40834,"_5085":40834,"_21046":40834,"_5697":40834,"_18340":40834,"_3399":40834,"_15291":40834,"_21040":40834,"_24025":40834},"1881",{"_11263":40957,"_3132":40957,"_2225":40957,"_29558":40957,"_18435":40957,"_31976":40957,"_24662":40957,"_15800":40957,"_7799":40957,"_3997":40957,"_17249":40957,"_18335":40957,"_11109":40957,"_28673":40957,"_4975":40957,"_22216":40957,"_25796":40957,"_6069":40957,"_3925":40957,"_31439":40957,"_6483":40957,"_25827":40957,"_6311":40957,"_4494":40957,"_13187":40957,"_5697":40957,"_22306":40957,"_33598":40957,"_3399":40957,"_7042":40957,"_26963":40957,"_29232":40957,"_4990":40957,"_33479":40957,"_14425":40957,"_8414":40957,"_30430":40957,"_4968":40957,"_6047":40957,"_31394":40957,"_13582":40957,"_7742":40957,"_14518":40957,"_7735":40957,"_32003":40957,"_30253":40957,"_15794":40957,"_4602":40957,"_35443":40957,"_7535":40957,"_30269":40957,"_29601":40957,"_27849":40957,"_7019":40957,"_31486":40957,"_22255":40957,"_29630":40957,"_27355":40957,"_13165":40957,"_13970":40957,"_4455":40957,"_22291":40957,"_30404":40957,"_30522":40957,"_14785":40957,"_15728":40957,"_7710":40957,"_33737":40957,"_29585":40957,"_3765":40957,"_22327":40957,"_24751":40957,"_26242":40957,"_16561":40957,"_10138":40957,"_3681":40957,"_30320":40957,"_30373":40957,"_20270":40957,"_13299":40957,"_31471":40957},"1882",{"_8414":40866,"_4990":40866,"_16566":40866,"_8420":40866,"_8419":40866,"_11263":40866,"_21057":40866,"_24761":40866,"_15937":40866,"_5385":40866,"_22216":40866,"_32549":40866,"_20898":40866,"_6069":40866,"_33289":40866,"_2225":40866,"_3925":40866,"_28467":40866,"_7716":40866,"_29543":40866},"1883",{"_22216":40817,"_8414":40817,"_29601":40817,"_26130":40817,"_29880":40817,"_13138":40817,"_6069":40817,"_4455":40817,"_7742":40817},"1884",{"_2225":40885,"_13582":40885,"_6069":40885,"_25966":40885,"_29630":40885,"_14785":40885,"_5697":40885,"_7716":40885,"_22216":40885,"_8414":40885},"1885",{"_6069":40812,"_22223":40812,"_22693":40812,"_8831":40812,"_6047":40812,"_22216":40812,"_7924":40812,"_29880":40812,"_13138":40812,"_5624":40812,"_7742":40812,"_33748":40812,"_5697":40812,"_29538":40812,"_7535":40812,"_14577":40812,"_5775":40812,"_26185":40812,"_8826":40812,"_2225":40812,"_13582":40812,"_3307":40812,"_31486":40812,"_29829":40812,"_18425":40812,"_31976":40812,"_3765":40812,"_6012":40812,"_9867":40812,"_4593":40812,"_17877":40812,"_8377":40812,"_29774":40812,"_24592":40812,"_3020":40812,"_5473":40812,"_8414":40812,"_8420":40812,"_3399":40812,"_3132":40812,"_28663":40812,"_31481":40812,"_9600":40812,"_8794":40812,"_5462":40812,"_4990":40812,"_8761":40812,"_3671":40812},"1886",{"_5473":41196,"_8414":41196,"_8420":41196,"_2225":41196,"_27026":41196,"_12628":41196,"_31481":41196,"_20131":41196,"_24116":41196,"_3925":41196,"_3399":41196,"_25609":41196,"_31826":41196,"_7535":41196,"_7742":41196,"_5697":41196,"_14151":41196,"_22216":41196,"_9217":41196,"_6069":41196,"_25966":41196,"_21962":41196,"_7686":41196,"_7019":41196,"_31486":41196,"_8794":41196,"_4105":41196,"_3642":41196,"_18335":41196,"_22255":41196,"_3765":41196,"_21385":41196,"_3020":41196,"_17877":41196,"_7735":41196,"_3132":41196,"_22523":41196,"_20190":41196,"_8144":41196,"_26495":41196,"_8106":41196,"_26686":41196,"_13165":41196},"1887",{"_22228":42150,"_3132":42150,"_2225":42150,"_14658":42150,"_15925":42150,"_7485":42150,"_31369":42150,"_7735":42150,"_22291":42150,"_29601":42150,"_18335":42150,"_3691":42150,"_15800":42150,"_26130":42150,"_8794":42150,"_8414":42150,"_3862":42150,"_3765":42150,"_6297":42150,"_4593":42150,"_22216":42150,"_6069":42150,"_31481":42150,"_29630":42150,"_13154":42150,"_29860":42150,"_22281":42150,"_21124":42150,"_3867":42150,"_5473":42150,"_8420":42150,"_6252":42150,"_31861":42150,"_30522":42150,"_33294":42150,"_7401":42150,"_8144":42150,"_13138":42150,"_27021":42150,"_14785":42150,"_20131":42150,"_13582":42150,"_25966":42150,"_3399":42150,"_23748":42150,"_26125":42150,"_22255":42150,"_15794":42150,"_23572":42150,"_31394":42150,"_14372":42150,"_5697":42150,"_22117":42150,"_23566":42150},"1888",{"_11411":41107,"_6884":41107,"_2225":41107,"_33711":41107,"_8414":41107,"_33380":41107,"_13138":41107,"_5697":41107,"_25609":41107,"_34412":41107,"_7535":41107,"_18335":41107,"_8794":41107,"_7303":41107,"_22216":41107,"_33444":41107,"_2217":41107,"_6069":41107,"_29880":41107,"_8144":41107,"_29601":41107,"_26130":41107,"_3399":41107,"_26285":41107,"_33851":41107,"_10492":41107,"_20131":41107,"_5473":41107,"_27839":41107,"_31486":41107,"_7735":41107,"_31481":41107,"_18340":41107,"_33737":41107,"_15728":41107,"_6018":41107,"_30522":41107,"_14785":41107,"_4996":41107,"_9585":41107,"_17563":41107},"1889",{"_22216":40817,"_30722":40817,"_8786":40817,"_6069":40817,"_5775":40817,"_24592":40817,"_8414":40817,"_4990":40817,"_3765":40817},"1890",{"_2225":40832,"_7735":40832,"_31481":40832,"_5260":40832,"_22216":40832,"_33737":40832,"_15728":40832,"_5473":40832,"_8144":40832,"_29601":40832,"_27849":40832,"_31486":40832,"_8414":40832},"1891",{"_2225":40832,"_7735":40832,"_31481":40832,"_6047":40832,"_5260":40832,"_33737":40832,"_15728":40832,"_31486":40832,"_7401":40832,"_13138":40832,"_8204":40832,"_27026":40832,"_12628":40832},"1892",{"_2225":40834,"_33711":40834,"_8414":40834,"_31481":40834,"_14773":40834,"_22216":40834,"_33737":40834,"_15728":40834,"_31394":40834,"_13582":40834,"_6069":40834,"_7742":40834,"_29601":40834,"_5291":40834,"_8144":40834},"1893",{"_2225":40911,"_7735":40911,"_31481":40911,"_14773":40911,"_3642":40911,"_13165":40911,"_8144":40911,"_9575":40911,"_8204":40911,"_22216":40911,"_8414":40911,"_31394":40911,"_33737":40911,"_15728":40911,"_3132":40911,"_14785":40911},"1894",{"_2225":40940,"_33711":40940,"_8414":40940,"_31481":40940,"_15800":40940,"_5074":40940,"_18335":40940,"_34785":40940,"_22216":40940,"_33737":40940,"_15728":40940,"_29601":40940,"_30522":40940,"_14785":40940},"1895",{"_17877":40888,"_8414":40888,"_8420":40888,"_21992":40888,"_33227":40888,"_31976":40888,"_24771":40888,"_29630":40888,"_2225":40888,"_18382":40888,"_27021":40888,"_22216":40888,"_33737":40888,"_15728":40888,"_31481":40888,"_15800":40888,"_20131":40888,"_14785":40888,"_30435":40888,"_13582":40888,"_31394":40888,"_22306":40888,"_29774":40888,"_3399":40888,"_3642":40888,"_9078":40888,"_7742":40888,"_16250":40888,"_7118":40888,"_8485":40888,"_5697":40888},"1896",{"_8414":40812,"_4990":40812,"_24751":40812,"_4455":40812,"_22216":40812,"_10063":40812,"_28901":40812,"_6018":40812,"_3132":40812,"_14646":40812,"_8144":40812,"_15794":40812,"_25609":40812,"_31338":40812,"_6379":40812,"_18335":40812,"_3925":40812,"_28467":40812,"_9083":40812,"_33873":40812,"_3672":40812,"_33521":40812,"_27021":40812,"_31481":40812,"_20131":40812,"_3145":40812,"_5697":40812,"_7271":40812,"_2225":40812,"_13582":40812,"_6069":40812,"_7742":40812,"_17877":40812,"_33711":40812,"_20946":40812,"_22291":40812,"_15546":40812,"_29601":40812,"_28663":40812,"_3399":40812,"_13283":40812,"_7019":40812,"_3642":40812,"_21030":40812,"_29378":40812,"_6499":40812,"_24592":40812,"_16221":40812},"1897",{"_11263":40817,"_21057":40817,"_5824":40817,"_26988":40817,"_5697":40817,"_2225":40817,"_13326":40817,"_22708":40817,"_14773":40817},"1898",{"_4455":40836,"_14747":40836,"_15390":40836,"_3765":40836,"_8085":40836,"_4593":40836,"_32461":40836,"_3132":40836,"_24776":40836,"_7485":40836,"_6297":40836,"_28041":40836,"_22216":40836,"_7716":40836,"_5796":40836,"_14091":40836,"_6723":40836},"1899",{"_22216":40984,"_8414":40984,"_26504":40984,"_18335":40984,"_5697":40984,"_4455":40984,"_7742":40984,"_34412":40984,"_27355":40984,"_6297":40984,"_20723":40984,"_22306":40984,"_7758":40984,"_7485":40984,"_31369":40984,"_8858":40984,"_32022":40984,"_9575":40984,"_30435":40984,"_31976":40984,"_10492":40984,"_8085":40984,"_15390":40984,"_20946":40984,"_22291":40984,"_4592":40984,"_9570":40984},{"_7742":41000,"_18190":41000,"_21046":41000,"_7485":41000,"_22216":41000,"_6297":41000,"_22255":41000,"_3765":41000,"_9575":41000,"_22306":41000,"_20946":41000,"_22291":41000,"_31481":41000,"_20131":41000,"_5291":41000,"_3399":41000,"_8414":41000,"_9570":41000,"_5265":41000,"_8204":41000,"_24617":41000,"_5697":41000,"_8085":41000,"_15390":41000,"_8144":41000,"_4592":41000,"_17877":41000,"_21040":41000,"_2972":41000,"_29601":41000,"_30522":41000,"_31557":41000,"_34098":41000,"_25472":41000,"_4455":41000,"_32022":41000,"_18345":41000,"_30461":41000,"_29630":41000},"1901",{"_22216":40984,"_8414":40984,"_31481":40984,"_17546":40984,"_2225":40984,"_14773":40984,"_5697":40984,"_4455":40984,"_7742":40984,"_3925":40984,"_26891":40984,"_13582":40984,"_6069":40984,"_29630":40984,"_5291":40984,"_21040":40984,"_27021":40984,"_21046":40984,"_3765":40984,"_7485":40984,"_6297":40984,"_14802":40984,"_20131":40984,"_26490":40984,"_8794":40984,"_3399":40984,"_9575":40984},"1902",{"_14802":40940,"_3765":40940,"_18205":40940,"_7485":40940,"_6297":40940,"_7742":40940,"_24020":40940,"_2225":40940,"_15728":40940,"_21040":40940,"_31394":40940,"_22291":40940,"_3132":40940,"_14785":40940},"1903",{"_31471":41348,"_24751":41348,"_8144":41348,"_31880":41348,"_28041":41348,"_2225":41348,"_26242":41348,"_6069":41348,"_18335":41348,"_30409":41348,"_8794":41348,"_33711":41348,"_8414":41348,"_4602":41348,"_13571":41348,"_3642":41348,"_15728":41348,"_22291":41348,"_29601":41348,"_5021":41348,"_30522":41348,"_14785":41348,"_7924":41348,"_4455":41348,"_29630":41348,"_34629":41348,"_13138":41348,"_4593":41348,"_34561":41348,"_3672":41348,"_18441":41348,"_31976":41348,"_33856":41348,"_5697":41348,"_31961":41348,"_5385":41348,"_22693":41348,"_23383":41348,"_20508":41348,"_30517":41348,"_18345":41348,"_7535":41348,"_22216":41348,"_27355":41348,"_7742":41348,"_3132":41348,"_4592":41348,"_7735":41348,"_26125":41348,"_3399":41348,"_9668":41348,"_7485":41348,"_6297":41348,"_3765":41348,"_22228":41348,"_6047":41348,"_3659":41348,"_4968":41348,"_4975":41348,"_8771":41348,"_27021":41348,"_7710":41348,"_27026":41348,"_26130":41348,"_8204":41348,"_18633":41348,"_33444":41348,"_29880":41348,"_13582":41348,"_25966":41348,"_34893":41348,"_31481":41348,"_20131":41348,"_30461":41348,"_30430":41348},"1904",{"_17605":41107,"_22306":41107,"_3307":41107,"_21194":41107,"_33873":41107,"_8841":41107,"_26763":41107,"_31645":41107,"_6069":41107,"_4053":41107,"_22291":41107,"_22228":41107,"_3132":41107,"_6047":41107,"_2225":41107,"_27026":41107,"_15316":41107,"_31976":41107,"_24662":41107,"_15800":41107,"_14218":41107,"_3997":41107,"_25132":41107,"_4058":41107,"_16763":41107,"_10492":41107,"_8414":41107,"_4990":41107,"_5697":41107,"_9600":41107,"_8204":41107,"_29232":41107,"_15368":41107,"_3020":41107,"_6214":41107,"_29210":41107,"_30414":41107,"_22255":41107,"_3765":41107,"_25752":41107,"_4968":41107},"1905",{"_5968":40810,"_17605":40810,"_22306":40810,"_3307":40810,"_19462":40810,"_22216":40810,"_4968":40810,"_21057":40810,"_19988":40810,"_28683":40810,"_7875":40810,"_6069":40810,"_5021":40810,"_5697":40810,"_13187":40810,"_37439":40810,"_14773":40810,"_31492":40810,"_33743":40810,"_29654":40810,"_5410":40810,"_3132":40810,"_23383":40810,"_8204":40810,"_31123":40810,"_7485":40810,"_26530":40810,"_22291":40810,"_8144":40810,"_29601":40810,"_15727":40810,"_6311":40810,"_8831":40810,"_17877":40810,"_31976":40810,"_24662":40810,"_15800":40810,"_20084":40810,"_25827":40810,"_8085":40810,"_4455":40810,"_19318":40810,"_8479":40810,"_4445":40810,"_4592":40810,"_6483":40810,"_8414":40810,"_4990":40810,"_22265":40810,"_19161":40810,"_10492":40810,"_33450":40810,"_4494":40810,"_28270":40810,"_31300":40810,"_34893":40810,"_18335":40810,"_3399":40810,"_31961":40810,"_5385":40810,"_24633":40810,"_7535":40810,"_2225":40810,"_7401":40810,"_13138":40810},"1906",{"_22216":40885,"_13965":40885,"_6973":40885,"_6069":40885,"_11263":40885,"_28933":40885,"_30506":40885,"_26592":40885,"_3399":40885,"_28757":40885},"1907",{"_10069":41161,"_5788":41161,"_7485":41161,"_11263":41161,"_3765":41161,"_28752":41161,"_33129":41161,"_31481":41161,"_4215":41161,"_5697":41161,"_21588":41161,"_33562":41161,"_5598":41161,"_4975":41161,"_26763":41161,"_19647":41161,"_30506":41161,"_31394":41161,"_22216":41161,"_12541":41161,"_10961":41161,"_8851":41161,"_3399":41161,"_9580":41161,"_14562":41161,"_9130":41161,"_22306":41161,"_20946":41161,"_22291":41161,"_31581":41161,"_19007":41161,"_8794":41161,"_4455":41161,"_13350":41161,"_15794":41161,"_20131":41161,"_22501":41161,"_6306":41161,"_2225":41161,"_31645":41161,"_9212":41161,"_22250":41161,"_10170":41161,"_6311":41161,"_29490":41161,"_21108":41161,"_25589":41161,"_3132":41161,"_20941":41161,"_34571":41161,"_31976":41161,"_4592":41161,"_21633":41161,"_5385":41161,"_10086":41161},"1908",{"_10041":41182,"_5788":41182,"_7485":41182,"_11263":41182,"_3765":41182,"_15800":41182,"_28752":41182,"_27021":41182,"_22255":41182,"_15794":41182,"_9470":41182,"_25707":41182,"_3":41182,"_2225":41182,"_3132":41182,"_13582":41182,"_5775":41182,"_12628":41182,"_31481":41182,"_9186":41182,"_17810":41182,"_5697":41182,"_12541":41182,"_19012":41182,"_18899":41182,"_18995":41182,"_6499":41182,"_13965":41182,"_7535":41182,"_10086":41182,"_29490":41182,"_26598":41182,"_13955":41182,"_30435":41182,"_4215":41182,"_21588":41182,"_33562":41182,"_26763":41182,"_26592":41182,"_6297":41182,"_22291":41182,"_9212":41182,"_33129":41182,"_13421":41182,"_14706":41182,"_31926":41182,"_17546":41182,"_7686":41182,"_30461":41182,"_22306":41182,"_22523":41182,"_24751":41182,"_25832":41182,"_6967":41182,"_34991":41182,"_15568":41182},"1909",{"_5697":41056,"_18093":41056,"_13980":41056,"_2225":41056,"_27625":41056,"_31404":41056,"_22693":41056,"_25966":41056,"_27005":41056,"_22322":41056,"_22255":41056,"_3765":41056,"_22216":41056,"_8414":41056,"_31369":41056,"_14523":41056,"_6171":41056,"_17877":41056,"_23016":41056,"_14167":41056,"_16250":41056,"_3132":41056,"_27494":41056,"_22281":41056,"_27906":41056,"_22804":41056,"_33882":41056,"_22291":41056,"_22306":41056,"_34566":41056,"_7485":41056,"_18910":41056,"_30822":41056,"_31956":41056,"_36930":41056,"_21353":41056,"_34687":41056,"_7686":41056,"_20125":41056,"_20131":41056,"_26067":41056,"_8794":41056,"_31486":41056,"_25707":41056,"_3":41056,"_4522":41056,"_7716":41056,"_10041":41056,"_3925":41056,"_32003":41056,"_25848":41056,"_6967":41056,"_6069":41056,"_28757":41056,"_18170":41056,"_3074":41056,"_5016":41056,"_13582":41056,"_5775":41056,"_2217":41056,"_3825":41056,"_10069":41056,"_19007":41056,"_30461":41056},"1910",{"_6613":40866,"_22216":40866,"_13965":40866,"_6973":40866,"_6069":40866,"_11263":40866,"_3765":40866,"_7643":40866,"_16100":40866,"_8794":40866,"_33949":40866,"_6306":40866,"_26592":40866,"_6874":40866,"_3691":40866,"_31369":40866,"_28938":40866,"_30506":40866,"_3399":40866,"_28757":40866},"1911",{"_5584":41045,"_31202":41045,"_3399":41045,"_8414":41045,"_8420":41045,"_10492":41045,"_22216":41045,"_33949":41045,"_6069":41045,"_36501":41045,"_5697":41045,"_6967":41045,"_2225":41045,"_13955":41045,"_6559":41045,"_7869":41045,"_8794":41045,"_23795":41045,"_11263":41045,"_34433":41045,"_20631":41045,"_31369":41045,"_20946":41045,"_22291":41045,"_32456":41045,"_35432":41045,"_5775":41045,"_8841":41045,"_35443":41045,"_3659":41045,"_32535":41045,"_3132":41045,"_5286":41045,"_15728":41045,"_15794":41045,"_6047":41045,"_14773":41045,"_6018":41045,"_8144":41045,"_9580":41045,"_3074":41045,"_5281":41045,"_8204":41045,"_13582":41045,"_25966":41045},"1912",{"_17877":41175,"_31976":41175,"_32932":41175,"_22216":41175,"_18311":41175,"_22291":41175,"_10138":41175,"_33743":41175,"_8204":41175,"_6483":41175,"_10492":41175,"_6069":41175,"_20636":41175,"_29630":41175,"_6047":41175,"_5697":41175,"_6967":41175,"_7025":41175,"_18200":41175,"_34439":41175,"_35180":41175,"_3074":41175,"_5775":41175,"_8794":41175,"_35432":41175,"_19457":41175,"_16993":41175,"_7485":41175,"_4975":41175,"_29327":41175,"_3659":41175,"_12628":41175,"_34412":41175,"_6973":41175,"_25132":41175,"_2225":41175,"_18305":41175,"_29490":41175,"_22228":41175,"_3765":41175,"_3672":41175,"_4603":41175,"_14071":41175,"_36501":41175,"_7535":41175,"_32535":41175,"_15794":41175,"_4064":41175,"_32012":41175,"_35448":41175,"_25966":41175,"_3399":41175,"_27459":41175,"_26763":41175,"_20718":41175,"_17763":41175,"_6757":41175,"_13582":41175,"_7271":41175,"_32371":41175,"_4593":41175,"_25197":41175,"_4455":41175,"_3132":41175,"_28960":41175,"_22281":41175,"_29812":41175,"_22496":41175},"1913",{"_6884":41382,"_11313":41382,"_11353":41382,"_11306":41382,"_2225":41382,"_23383":41382,"_14066":41382,"_22291":41382,"_34433":41382,"_32012":41382,"_3399":41382,"_3132":41382,"_34444":41382,"_7485":41382,"_31524":41382,"_24260":41382,"_29947":41382,"_3659":41382,"_31486":41382,"_22306":41382,"_31976":41382,"_28114":41382,"_22216":41382,"_25966":41382,"_17086":41382,"_23639":41382,"_7025":41382,"_4064":41382,"_5697":41382,"_18200":41382,"_7593":41382,"_13582":41382,"_29630":41382,"_7271":41382,"_32371":41382,"_8204":41382,"_20631":41382,"_6069":41382,"_3825":41382,"_25132":41382,"_7535":41382,"_33129":41382,"_7018":41382,"_25197":41382,"_35448":41382,"_28960":41382,"_22281":41382,"_29812":41382,"_16916":41382,"_32170":41382,"_27494":41382,"_36501":41382,"_17877":41382,"_28922":41382,"_3765":41382,"_3145":41382,"_27051":41382,"_33882":41382,"_22693":41382,"_25259":41382,"_14898":41382,"_33769":41382,"_34045":41382,"_16999":41382,"_8144":41382,"_10186":41382,"_32569":41382,"_15332":41382,"_31481":41382,"_5318":41382,"_29829":41382,"_18425":41382},"1914",{"_11263":40796,"_18165":40796,"_34454":40796,"_31486":40796,"_22216":40796,"_5457":40796,"_5697":40796,"_13775":40796,"_25966":40796,"_10492":40796,"_20631":40796,"_36501":40796,"_32017":40796,"_3020":40796,"_2225":40796,"_29953":40796,"_6069":40796,"_7025":40796},{"_11411":42113,"_11313":42113,"_11375":42113,"_11263":42113,"_34433":42113,"_27713":42113,"_3925":42113,"_3074":42113,"_5442":42113,"_29087":42113,"_7535":42113,"_28362":42113,"_28389":42113,"_29601":42113,"_30522":42113,"_15454":42113,"_22216":42113,"_30671":42113,"_27021":42113,"_30512":42113,"_33474":42113,"_25052":42113,"_8144":42113,"_3132":42113,"_19916":42113,"_7485":42113,"_8095":42113,"_5697":42113,"_29301":42113,"_15449":42113,"_6069":42113,"_17643":42113,"_21644":42113,"_25032":42113,"_22233":42113,"_4602":42113,"_10492":42113,"_4322":42113,"_14792":42113,"_25532":42113,"_15254":42113,"_30822":42113,"_13775":42113,"_8770":42113,"_30486":42113,"_33882":42113,"_22291":42113,"_33873":42113,"_8490":42113,"_29347":42113,"_7659":42113,"_8496":42113,"_21046":42113,"_29630":42113,"_20757":42113,"_33211":42113,"_17163":42113,"_3997":42113,"_13785":42113,"_26125":42113,"_26175":42113,"_3032":42113,"_6918":42113},"1916",{"_7710":40825,"_22216":40825,"_27713":40825,"_20180":40825,"_31394":40825,"_15675":40825,"_14792":40825,"_25532":40825,"_7485":40825,"_15254":40825,"_4592":40825,"_10041":40825,"_8568":40825,"_3997":40825,"_28362":40825,"_18995":40825,"_19365":40825,"_10860":40825,"_31481":40825,"_28673":40825,"_7535":40825,"_7716":40825},"1917",{"_22228":40901,"_3765":40901,"_26550":40901,"_14792":40901,"_29352":40901,"_7485":40901,"_27713":40901,"_6297":40901,"_6069":40901,"_24488":40901,"_26555":40901},"1918",{"_33211":40901,"_32481":40901,"_22291":40901,"_21246":40901,"_25752":40901,"_4484":40901,"_22216":40901,"_4242":40901,"_5697":40901,"_13625":40901,"_8761":40901},"1919",{"_31780":40787,"_19751":40787,"_29758":40787,"_27077":40787},"1920",{"_17136":40832,"_17169":40832,"_21046":40832,"_22291":40832,"_29850":40832,"_22216":40832,"_18515":40832,"_6069":40832,"_4242":40832,"_4975":40832,"_2225":40832,"_15338":40832,"_29347":40832},"1921",{"_23778":40827,"_7978":40827,"_17169":40827,"_32481":40827,"_4692":40827,"_34444":40827,"_7535":40827,"_23784":40827},"1922",{"_21771":40821,"_7971":40821,"_17169":40821,"_32481":40821,"_22281":40821,"_23778":40821},"1923",{"_11263":40911,"_3132":40911,"_22662":40911,"_8755":40911,"_7485":40911,"_18457":40911,"_25132":40911,"_22291":40911,"_17136":40911,"_3399":40911,"_5400":40911,"_3765":40911,"_6412":40911,"_5697":40911,"_22216":40911,"_14792":40911},"1924",{"_25574":40853,"_21040":40853,"_28362":40853},"1925",{"_7535":40821,"_19250":40821,"_21046":40821,"_10492":40821,"_7626":40821,"_3736":40821},"1926",{"_34300":40832,"_28379":40832,"_27148":40832,"_20131":40832,"_34290":40832,"_5473":40832,"_22216":40832,"_13304":40832,"_7485":40832,"_31369":40832,"_22255":40832,"_3765":40832,"_34439":40832},"1927",{"_13798":40794,"_29683":40794},"1928",{"_36373":40794,"_25609":40794},"1929",{"_22306":40901,"_24677":40901,"_13576":40901,"_17163":40901,"_5697":40901,"_7271":40901,"_30253":40901,"_25616":40901,"_36378":40901,"_31486":40901,"_11263":40901},"1930",{"_15311":40878,"_23629":40878,"_4249":40878,"_31486":40878,"_11263":40878},"1931",{"_18705":3013},"1932",{"_24728":3013},"1933",{"_25662":40794,"_5775":40794},"1934",{"_20146":40853,"_11263":40853,"_25472":40853},"1935",{"_14354":40853,"_5697":40853,"_11263":40853},"1936",{"_18510":40853,"_5697":40853,"_11263":40853},"1937",{"_8761":40853,"_10372":40853,"_11263":40853},"1938",{"_3672":40794,"_5930":40794},"1939",{"_22216":41205,"_24677":41205,"_3132":41205,"_5730":41205,"_18793":41205,"_4975":41205,"_24388":41205,"_29591":41205,"_5697":41205,"_21962":41205,"_8144":41205,"_6379":41205,"_3399":41205,"_13576":41205,"_26933":41205,"_16715":41205,"_16780":41205,"_7535":41205,"_2225":41205,"_27026":41205,"_11263":41205,"_12628":41205,"_8315":41205,"_14688":41205,"_35345":41205,"_22291":41205,"_8761":41205,"_18510":41205,"_32535":41205,"_8006":41205,"_3925":41205,"_13909":41205,"_22228":41205,"_3765":41205,"_26180":41205,"_10559":41205,"_20718":41205,"_15088":41205,"_16722":41205,"_10372":41205,"_24260":41205,"_5936":41205,"_21678":41205,"_14792":41205,"_29490":41205,"_15025":41205,"_14827":41205,"_19922":41205,"_10457":41205,"_3032":41205,"_6918":41205},"1940",{"_26125":40829,"_7869":40829,"_8831":40829,"_7485":40829,"_22216":40829,"_2974":40829,"_6918":40829},"1941",{"_5697":40834,"_7271":40834,"_2225":40834,"_11263":40834,"_23619":40834,"_24728":40834,"_9553":40834,"_25636":40834,"_9888":40834,"_8204":40834,"_3659":40834,"_6069":40834,"_22216":40834,"_4356":40834,"_21431":40834},"1942",{"_26285":40802,"_7019":40802,"_2225":40802,"_11263":40802,"_12628":40802,"_7485":40802,"_25662":40802,"_10097":40802,"_3132":40802,"_25790":40802,"_22216":40802,"_13608":40802,"_27026":40802,"_35885":40802,"_7825":40802,"_4593":40802,"_16715":40802,"_13970":40802,"_6069":40802,"_15675":40802,"_13755":40802},"1943",{"_6018":40940,"_30284":40940,"_24740":40940,"_2225":40940,"_25636":40940,"_11263":40940,"_9888":40940,"_34867":40940,"_8144":40940,"_3399":40940,"_16313":40940,"_5697":40940,"_22216":40940,"_11016":40940},"1944",{"_5697":40836,"_25609":40836,"_11263":40836,"_30253":40836,"_33743":40836,"_2225":40836,"_13755":40836,"_7825":40836,"_30078":40836,"_3132":40836,"_27350":40836,"_12805":40836,"_8144":40836,"_7485":40836,"_13729":40836,"_11257":40836,"_16111":40836},"1945",{"_22306":40808,"_7825":40808,"_15794":40808,"_20131":40808,"_15859":40808,"_3665":40808,"_30822":40808,"_7535":40808,"_22216":40808,"_27469":40808,"_6069":40808,"_23556":40808,"_15844":40808,"_8144":40808,"_13729":40808,"_11257":40808,"_16111":40808,"_15363":40808,"_35135":40808,"_23206":40808,"_5697":40808,"_28046":40808,"_3074":40808,"_32834":40808,"_33501":40808,"_25609":40808,"_31486":40808,"_23347":40808,"_30078":40808,"_3765":40808,"_20936":40808,"_33129":40808,"_7935":40808},"1946",{"_22804":40825,"_22216":40825,"_30722":40825,"_8771":40825,"_16288":40825,"_7485":40825,"_21364":40825,"_34439":40825,"_8794":40825,"_11263":40825,"_8144":40825,"_3132":40825,"_5697":40825,"_24662":40825,"_30055":40825,"_3399":40825,"_21302":40825,"_26394":40825,"_16250":40825,"_31481":40825,"_20131":40825,"_22730":40825},"1947",{"_23206":40911,"_22216":40911,"_28568":40911,"_5697":40911,"_21874":40911,"_17102":40911,"_13121":40911,"_26698":40911,"_3399":40911,"_34571":40911,"_28017":40911,"_6252":40911,"_21678":40911,"_14792":40911,"_6069":40911,"_34960":40911},"1948",{"_13393":40827,"_22216":40827,"_6707":40827,"_5697":40827,"_28787":40827,"_7535":40827,"_12541":40827,"_14173":40827},"1949",{"_34137":40885,"_22291":40885,"_30253":40885,"_15626":40885,"_22216":40885,"_13755":40885,"_7825":40885,"_15794":40885,"_25609":40885,"_11263":40885},"1950",{"_11263":41018,"_28405":41018,"_21046":41018,"_34412":41018,"_28389":41018,"_20718":41018,"_23854":41018,"_5318":41018,"_7485":41018,"_22216":41018,"_28362":41018,"_26175":41018,"_6069":41018,"_3032":41018,"_6918":41018,"_30253":41018,"_31481":41018,"_26125":41018,"_14792":41018,"_14833":41018,"_5697":41018,"_14114":41018,"_23795":41018,"_3399":41018,"_3020":41018,"_2225":41018,"_7825":41018,"_24296":41018,"_3997":41018,"_13755":41018},"1951",{"_22216":40808,"_25878":40808,"_6455":40808,"_30078":40808,"_8755":40808,"_11263":40808,"_7485":40808,"_25662":40808,"_10097":40808,"_22228":40808,"_3132":40808,"_33873":40808,"_10390":40808,"_4593":40808,"_17877":40808,"_18190":40808,"_8371":40808,"_25941":40808,"_31481":40808,"_7118":40808,"_20773":40808,"_22306":40808,"_7961":40808,"_7535":40808,"_4692":40808,"_24373":40808,"_27077":40808,"_30822":40808,"_5697":40808,"_10372":40808,"_19922":40808,"_26125":40808,"_8761":40808},"1952",{"_7535":40802,"_28467":40802,"_8761":40802,"_18457":40802,"_27813":40802,"_11263":40802,"_25472":40802,"_21124":40802,"_20131":40802,"_20165":40802,"_32917":40802,"_23206":40802,"_3399":40802,"_28405":40802,"_26125":40802,"_22216":40802,"_26175":40802,"_3997":40802,"_20077":40802,"_20718":40802,"_23860":40802},"1953",{"_11411":40834,"_6884":40834,"_36637":40834,"_37455":40834,"_25609":40834,"_13037":40834,"_8589":40834,"_3399":40834,"_14151":40834,"_5697":40834,"_30258":40834,"_11263":40834,"_12628":40834,"_30960":40834,"_37189":40834},"1954",{"_12805":40815,"_16808":40815,"_34955":40815,"_3399":40815,"_12812":40815,"_2225":40815,"_8906":40815,"_12923":40815,"_5697":40815,"_35180":40815,"_32215":40815,"_5775":40815},"1955",{"_22306":40829,"_29169":40829,"_30253":40829,"_18990":40829,"_26933":40829,"_7874":40829,"_5788":40829},"1956",{"_6018":40827,"_30253":40827,"_29630":40827,"_14157":40827,"_27148":40827,"_26125":40827,"_26773":40827,"_7875":40827},"1957",{"_8204":40796,"_22216":40796,"_27335":40796,"_5":40796,"_30102":40796,"_5697":40796,"_7271":40796,"_2225":40796,"_28807":40796,"_6069":40796,"_14688":40796,"_22291":40796,"_15794":40796,"_20131":40796,"_32964":40796,"_12541":40796,"_3925":40796,"_7485":40796},"1958",{"_8204":40984,"_30078":40984,"_30253":40984,"_15794":40984,"_21962":40984,"_2225":40984,"_8315":40984,"_26933":40984,"_14688":40984,"_5697":40984,"_7271":40984,"_8347":40984,"_7535":40984,"_22306":40984,"_14682":40984,"_6144":40984,"_16886":40984,"_7924":40984,"_25609":40984,"_8794":40984,"_17563":40984,"_22216":40984,"_28777":40984,"_3925":40984,"_7485":40984,"_27124":40984,"_30349":40984},"1959",{"_33851":40866,"_12805":40866,"_2225":40866,"_33711":40866,"_12923":40866,"_8794":40866,"_8761":40866,"_13113":40866,"_21485":40866,"_22306":40866,"_15632":40866,"_3399":40866,"_3986":40866,"_22216":40866,"_25817":40866,"_31486":40866,"_2212":40866,"_30253":40866,"_27148":40866,"_26125":40866},"1960",{"_17546":40901,"_3671":40901,"_27124":40901,"_14682":40901,"_5697":40901,"_26125":40901,"_26791":40901,"_22216":40901,"_23347":40901,"_28683":40901,"_7875":40901},"1961",{"_33939":40817,"_22291":40817,"_22216":40817,"_13113":40817,"_23347":40817,"_29601":40817,"_34137":40817,"_30522":40817,"_15626":40817},"1962",{"_33851":40834,"_35345":40834,"_22291":40834,"_22216":40834,"_3":40834,"_31630":40834,"_3978":40834,"_31486":40834,"_12923":40834,"_8794":40834,"_8761":40834,"_7271":40834,"_14682":40834,"_3925":40834,"_7485":40834},"1963",{"_31976":40940,"_15794":40940,"_15363":40940,"_22216":40940,"_3":40940,"_3978":40940,"_31486":40940,"_13113":40940,"_8794":40940,"_17563":40940,"_26242":40940,"_14682":40940,"_3925":40940,"_7485":40940},"1964",{"_33939":40832,"_31976":40832,"_23748":40832,"_2225":40832,"_7271":40832,"_5473":40832,"_26285":40832,"_22216":40832,"_3":40832,"_3399":40832,"_8144":40832,"_17290":40832,"_15363":40832},"1965",{"_8006":40829,"_29164":40829,"_12812":40829,"_22216":40829,"_2212":40829,"_8794":40829,"_17563":40829},"1966",{"_22296":40901,"_8144":40901,"_7535":40901,"_34137":40901,"_5697":40901,"_32729":40901,"_20718":40901,"_26125":40901,"_22216":40901,"_11263":40901,"_13331":40901},"1967",{"_11263":40800,"_29601":40800,"_2225":40800,"_35859":40800,"_30991":40800,"_3399":40800,"_2222":40800,"_22255":40800,"_3765":40800,"_8161":40800,"_33546":40800,"_22216":40800,"_32829":40800,"_7485":40800,"_22693":40800,"_35220":40800,"_27026":40800,"_21215":40800,"_21166":40800,"_22223":40800,"_23373":40800,"_6047":40800,"_29485":40800,"_21057":40800,"_28698":40800,"_3132":40800,"_24776":40800,"_7535":40800,"_20718":40800,"_17163":40800,"_26125":40800,"_18510":40800,"_32544":40800,"_18505":40800,"_6918":40800,"_27350":40800,"_15254":40800,"_34412":40800,"_23383":40800,"_4340":40800},"1968",{"_8761":40808,"_11263":40808,"_7485":40808,"_25662":40808,"_10097":40808,"_3132":40808,"_13914":40808,"_7535":40808,"_32515":40808,"_26763":40808,"_24373":40808,"_3399":40808,"_22028":40808,"_30822":40808,"_18457":40808,"_30253":40808,"_27148":40808,"_8755":40808,"_10372":40808,"_2225":40808,"_7018":40808,"_6069":40808,"_25966":40808,"_22216":40808,"_27355":40808,"_4242":40808,"_15859":40808,"_13582":40808,"_4455":40808,"_29630":40808,"_14489":40808,"_13755":40808,"_7825":40808},"1969",{"_5":40794,"_17136":40794},"1970",{"_7535":40885,"_10372":40885,"_10097":40885,"_2225":40885,"_21302":40885,"_6069":40885,"_22347":40885,"_25966":40885,"_3765":40885,"_8820":40885},"1971",{"_3399":41144,"_8144":41144,"_3132":41144,"_25843":41144,"_9652":41144,"_22291":41144,"_30253":41144,"_29630":41144,"_3074":41144,"_6879":41144,"_6473":41144,"_6069":41144,"_25966":41144,"_17877":41144,"_6047":41144,"_22693":41144,"_22260":41144,"_3765":41144,"_7485":41144,"_2225":41144,"_27071":41144,"_31404":41144,"_3659":41144,"_22265":41144,"_8371":41144,"_22228":41144,"_15800":41144,"_32371":41144,"_15717":41144,"_5697":41144,"_7593":41144,"_20631":41144,"_13582":41144,"_17487":41144,"_10565":41144,"_25636":41144,"_22281":41144,"_27026":41144,"_12628":41144,"_30435":41144,"_19657":41144,"_8377":41144},"1972",{"_22216":40881,"_8820":40881,"_13729":40881,"_11257":40881,"_16111":40881,"_7825":40881,"_7535":40881,"_10372":40881,"_10097":40881,"_3132":40881,"_26988":40881,"_5697":40881,"_3659":40881,"_34439":40881,"_7485":40881,"_25662":40881,"_30822":40881,"_31486":40881,"_2225":40881,"_8315":40881,"_23398":40881,"_30078":40881,"_3074":40881,"_32535":40881},"1973",{"_22216":41018,"_33711":41018,"_32240":41018,"_17369":41018,"_3132":41018,"_22752":41018,"_11263":41018,"_34433":41018,"_5697":41018,"_8895":41018,"_29367":41018,"_6069":41018,"_8771":41018,"_25966":41018,"_7485":41018,"_13582":41018,"_29630":41018,"_14151":41018,"_2225":41018,"_8414":41018,"_27906":41018,"_28828":41018,"_29485":41018,"_8502":41018,"_6379":41018,"_6437":41018,"_12628":41018,"_15794":41018,"_20131":41018,"_8204":41018},"1974",{"_11327":40823,"_36123":40823,"_37339":40823,"_31486":40823,"_31123":40823,"_6069":40823,"_22223":40823,"_22752":40823,"_30253":40823,"_28046":40823,"_22216":40823,"_16288":40823,"_8771":40823,"_34412":40823,"_22804":40823,"_7485":40823,"_22306":40823,"_32535":40823,"_16250":40823,"_7535":40823,"_17369":40823,"_3132":40823,"_22809":40823,"_4975":40823,"_21364":40823,"_2225":40823,"_22799":40823,"_3020":40823,"_26191":40823},"1975",{"_22216":40888,"_32235":40888,"_6069":40888,"_7593":40888,"_12628":40888,"_4309":40888,"_28777":40888,"_25966":40888,"_22291":40888,"_20270":40888,"_7019":40888,"_11263":40888,"_25941":40888,"_31394":40888,"_25626":40888,"_8144":40888,"_37039":40888,"_31369":40888,"_3132":40888,"_8794":40888,"_28678":40888,"_7535":40888,"_7825":40888,"_21458":40888,"_7485":40888,"_3":40888,"_23347":40888,"_29601":40888,"_13576":40888,"_6473":40888,"_4110":40888},"1976",{"_37490":41607,"_35677":41607,"_8006":41607,"_33882":41607,"_22216":41607,"_22693":41607,"_6707":41607,"_34203":41607,"_5473":41607,"_33129":41607,"_12628":41607,"_7853":41607,"_3399":41607,"_19102":41607,"_10492":41607,"_7659":41607,"_5697":41607,"_14151":41607,"_3672":41607,"_25132":41607,"_2225":41607,"_14167":41607,"_3132":41607,"_33774":41607,"_4593":41607,"_22291":41607,"_15794":41607,"_14757":41607,"_7535":41607,"_32535":41607,"_5703":41607,"_34986":41607,"_6297":41607,"_6069":41607,"_34960":41607,"_20718":41607,"_28041":41607,"_11263":41607,"_34433":41607,"_22306":41607,"_7742":41607,"_8414":41607,"_31394":41607,"_33711":41607,"_3851":41607,"_7735":41607,"_5839":41607,"_23016":41607,"_34412":41607,"_30435":41607,"_23795":41607,"_8420":41607,"_4592":41607,"_31976":41607,"_15568":41607,"_8815":41607,"_3671":41607,"_26185":41607,"_7485":41607,"_32240":41607},"1977",{"_5":40794,"_17136":40794},"1978",{"_37490":40861,"_37495":40861,"_37500":40861,"_35677":40861,"_35682":40861,"_35687":40861,"_17877":40861,"_30253":40861,"_31635":40861,"_5697":40861,"_8906":40861,"_21199":40861,"_25966":40861,"_3997":40861,"_2225":40861,"_27026":40861,"_20234":40861,"_28046":40861,"_22216":40861,"_26062":40861,"_3925":40861,"_28522":40861,"_31486":40861,"_34629":40861,"_13582":40861,"_8414":40861,"_8420":40861,"_19631":40861,"_3002":40861,"_2217":40861,"_7485":40861,"_32535":40861,"_5400":40861,"_7535":40861,"_33129":40861,"_12628":40861,"_4309":40861,"_22291":40861,"_26025":40861,"_13739":40861,"_7825":40861,"_6069":40861,"_14529":40861,"_26566":40861,"_37646":40861,"_3399":40861,"_23603":40861,"_37663":40861,"_3765":40861,"_4592":40861,"_33774":40861,"_10372":40861,"_8761":40861,"_31861":40861,"_25752":40861,"_29630":40861,"_22347":40861,"_7841":40861},"1979",{"_19922":41431,"_20131":41431,"_3749":41431,"_22291":41431,"_26285":41431,"_7019":41431,"_21199":41431,"_25966":41431,"_3997":41431,"_2225":41431,"_27026":41431,"_20234":41431,"_31481":41431,"_15800":41431,"_12805":41431,"_3642":41431,"_10656":41431,"_17877":41431,"_26773":41431,"_32022":41431,"_5697":41431,"_29763":41431,"_31369":41431,"_15986":41431,"_22216":41431,"_23764":41431,"_4455":41431,"_6069":41431,"_11263":41431,"_31861":41431,"_6143":41431,"_8106":41431,"_8841":41431,"_33129":41431,"_12628":41431,"_29630":41431,"_16221":41431,"_6783":41431,"_8144":41431,"_21124":41431,"_15032":41431,"_26566":41431,"_19999":41431,"_35412":41431,"_15717":41431,"_27355":41431,"_21464":41431,"_3765":41431,"_25752":41431,"_35491":41431,"_15025":41431,"_8377":41431},"1980",{"_17877":40806,"_30253":40806,"_29630":40806,"_21199":40806,"_33804":40806,"_16891":40806,"_7485":40806,"_30258":40806,"_11263":40806,"_15717":40806,"_15794":40806,"_4592":40806,"_16769":40806,"_5697":40806,"_30980":40806,"_3997":40806,"_4455":40806,"_6069":40806,"_3399":40806,"_4742":40806,"_28194":40806,"_2225":40806,"_30003":40806,"_16886":40806,"_15925":40806,"_8377":40806,"_7535":40806,"_23860":40806,"_26125":40806,"_22216":40806,"_13755":40806,"_19244":40806},"1981",{"_22228":40832,"_3765":40832,"_2225":40832,"_14535":40832,"_6069":40832,"_3672":40832,"_13755":40832,"_19244":40832,"_22291":40832,"_15794":40832,"_7042":40832,"_14241":40832,"_18995":40832},"1982",{"_5697":41264,"_7271":41264,"_28613":41264,"_29053":41264,"_3997":41264,"_34960":41264,"_8144":41264,"_3132":41264,"_17763":41264,"_29630":41264,"_2225":41264,"_24342":41264,"_21678":41264,"_14792":41264,"_23347":41264,"_8794":41264,"_23795":41264,"_28405":41264,"_3765":41264,"_6413":41264,"_7485":41264,"_22216":41264,"_27355":41264,"_3925":41264,"_3":41264,"_26698":41264,"_3399":41264,"_21458":41264,"_7825":41264,"_23223":41264,"_19244":41264,"_17234":41264,"_23383":41264,"_10492":41264,"_7535":41264},"1983",{"_9888":40794,"_33892":40794},"1984",{"_11313":40911,"_11306":40911,"_9888":40911,"_33892":40911,"_7535":40911,"_11263":40911,"_4309":40911,"_16556":40911,"_33711":40911,"_8305":40911,"_23779":40911,"_8039":40911,"_17742":40911,"_3399":40911,"_31265":40911,"_15368":40911},"1985",{"_11313":40827,"_11327":40827,"_11306":40827,"_9888":40827,"_33892":40827,"_3280":40827,"_11263":40827,"_12720":40827},"1986",{"_25333":3013},"1987",{"_23779":3013},"1988",{"_17731":3013},"1989",{"_8906":3013},"1990",{"_21547":3013},{"_11313":40827,"_11353":40827,"_11306":40827,"_9888":40827,"_33892":40827,"_3280":40827,"_11263":40827,"_12720":40827},"1992",{"_31265":40794,"_15368":40794},"1993",{"_23779":3013},"1994",{"_33711":40794,"_8293":40794},"1995",{"_17731":3013},"1996",{"_21547":3013},"1997",{"_11313":40829,"_11306":40829,"_9888":40829,"_33892":40829,"_3280":40829,"_11263":40829,"_12720":40829},"1998",{"_23779":3013},"1999",{"_33711":40794,"_8293":40794},{"_17731":3013},"2001",{"_8906":3013},"2002",{"_21547":3013},"2003",{"_5968":40827,"_11313":40827,"_11306":40827,"_9888":40827,"_33892":40827,"_3280":40827,"_11263":40827,"_12720":40827},"2004",{"_25333":3013},"2005",{"_23779":3013},"2006",{"_17731":3013},"2007",{"_31535":3013},{"_6884":40827,"_11313":40827,"_11306":40827,"_9888":40827,"_33892":40827,"_3280":40827,"_11263":40827,"_12720":40827},"2009",{"_17731":3013},"2010",{"_21547":3013},"2011",{"_11411":40827,"_11313":40827,"_11306":40827,"_9888":40827,"_33892":40827,"_3280":40827,"_11263":40827,"_12720":40827},{"_25333":3013},"2013",{"_23779":3013},"2014",{"_33711":40794,"_8293":40794},{"_17731":3013},"2016",{"_8906":3013},"2017",{"_31535":3013},{"_21547":3013},"2019",{"_12605":40815,"_3280":40815,"_25512":40815,"_15869":40815,"_25574":40815,"_20898":40815,"_3997":40815,"_6270":40815,"_4356":40815,"_11263":40815,"_12628":40815,"_23235":40815},"2020",{"_11515":40878,"_3280":40878,"_13367":40878,"_8739":40878,"_29312":40878},"2021",{"_11313":40901,"_36627":40901,"_11724":40901,"_3280":40901,"_11263":40901,"_13107":40901,"_20839":40901,"_13106":40901,"_3132":40901,"_16591":40901,"_31486":40901},"2022",{"_11904":40901,"_3280":40901,"_28210":40901,"_13415":40901,"_3132":40901,"_18073":40901,"_17877":40901,"_4920":40901,"_13780":40901,"_5697":40901,"_36307":40901},"2023",{"_36739":40827,"_11934":40827,"_3280":40827,"_9011":40827,"_32387":40827,"_35959":40827,"_15155":40827,"_25122":40827},"2024",{"_6884":40834,"_11320":40834,"_36627":40834,"_11954":40834,"_3280":40834,"_34935":40834,"_6816":40834,"_19964":40834,"_5697":40834,"_24617":40834,"_31265":40834,"_15368":40834,"_7485":40834,"_22216":40834,"_4322":40834},"2025",{"_11959":40901,"_3280":40901,"_23435":40901,"_10815":40901,"_24963":40901,"_28688":40901,"_7485":40901,"_22855":40901,"_12541":40901,"_3399":40901,"_12628":40901},"2026",{"_11964":40901,"_3280":40901,"_15155":40901,"_6069":40901,"_12541":40901,"_3997":40901,"_31513":40901,"_31486":40901,"_21441":40901,"_3132":40901,"_31228":40901},"2027",{"_11313":40827,"_11405":40827,"_3280":40827,"_34935":40827,"_36011":40827,"_5697":40827,"_12720":40827,"_4309":40827},"2028",{"_11909":40815,"_3280":40815,"_8019":40815,"_16901":40815,"_31486":40815,"_35768":40815,"_28210":40815,"_18311":40815,"_7535":40815,"_15749":40815,"_3399":40815,"_6197":40815},"2029",{"_11974":40827,"_3280":40827,"_3150":40827,"_7377":40827,"_3399":40827,"_7291":40827,"_7535":40827,"_12666":40827},"2030",{"_11979":40821,"_3280":40821,"_24871":40821,"_34811":40821,"_25121":40821,"_24286":40821},"2031",{"_11939":40885,"_3280":40885,"_24276":40885,"_20904":40885,"_6069":40885,"_13055":40885,"_31369":40885,"_22435":40885,"_36486":40885,"_13797":40885},"2032",{"_11540":40817,"_3280":40817,"_5331":40817,"_15675":40817,"_22143":40817,"_7841":40817,"_7485":40817,"_26880":40817,"_23347":40817},"2033",{"_11944":40829,"_3280":40829,"_34955":40829,"_33788":40829,"_5697":40829,"_8019":40829,"_16351":40829},"2034",{"_6884":40901,"_11353":40901,"_36754":40901,"_12617":40901,"_3280":40901,"_34935":40901,"_33788":40901,"_5697":40901,"_7993":40901,"_3228":40901,"_16363":40901},"2035",{"_11353":40832,"_11306":40832,"_37107":40832,"_12622":40832,"_3280":40832,"_34935":40832,"_35836":40832,"_5697":40832,"_35543":40832,"_7485":40832,"_6297":40832,"_8019":40832,"_16357":40832},"2036",{"_11411":40802,"_6884":40802,"_5968":40802,"_11313":40802,"_36749":40802,"_11445":40802,"_11745":40802,"_34960":40802,"_28399":40802,"_5697":40802,"_26840":40802,"_16324":40802,"_10961":40802,"_3399":40802,"_27725":40802,"_21098":40802,"_22216":40802,"_14931":40802,"_8826":40802,"_6069":40802,"_28389":40802},"2037",{"_22306":40836,"_14523":40836,"_15976":40836,"_27713":40836,"_5697":40836,"_15094":40836,"_33873":40836,"_18154":40836,"_32022":40836,"_7768":40836,"_3399":40836,"_6412":40836,"_8182":40836,"_28405":40836,"_7485":40836,"_16142":40836,"_14463":40836},"2038",{"_11411":40888,"_6884":40888,"_5968":40888,"_36749":40888,"_7535":40888,"_28864":40888,"_3020":40888,"_12541":40888,"_34496":40888,"_22306":40888,"_14523":40888,"_29763":40888,"_17877":40888,"_30253":40888,"_28046":40888,"_3399":40888,"_17477":40888,"_16591":40888,"_27713":40888,"_28389":40888,"_35295":40888,"_27459":40888,"_27725":40888,"_8204":40888,"_6270":40888,"_4356":40888,"_11263":40888,"_28399":40888,"_15596":40888,"_18526":40888,"_24316":40888},"2039",{"_11411":41018,"_6884":41018,"_5968":41018,"_36749":41018,"_7535":41018,"_4242":41018,"_3020":41018,"_24254":41018,"_34496":41018,"_22306":41018,"_14523":41018,"_29763":41018,"_17877":41018,"_30253":41018,"_15579":41018,"_3399":41018,"_17477":41018,"_16591":41018,"_27713":41018,"_28389":41018,"_35295":41018,"_7485":41018,"_13311":41018,"_27459":41018,"_27725":41018,"_8204":41018,"_11263":41018,"_23619":41018,"_28399":41018,"_15601":41018},"2040",{"_11411":40825,"_6884":40825,"_5968":40825,"_11313":40825,"_36749":40825,"_11445":40825,"_22306":40825,"_15794":40825,"_20131":40825,"_9362":40825,"_8794":40825,"_28051":40825,"_14926":40825,"_27713":40825,"_3399":40825,"_28389":40825,"_35295":40825,"_7485":40825,"_13311":40825,"_27459":40825,"_27725":40825,"_28399":40825},"2041",{"_11495":40827,"_3280":40827,"_17103":40827,"_29312":40827,"_7485":40827,"_11263":40827,"_2222":40827,"_12541":40827},"2042",{"_12079":40829,"_3280":40829,"_18053":40829,"_25052":40829,"_7485":40829,"_11263":40829,"_5180":40829},"2043",{"_12118":40817,"_3280":40817,"_15675":40817,"_2225":40817,"_15057":40817,"_31861":40817,"_26242":40817,"_5241":40817,"_15047":40817},"2044",{"_12124":40829,"_3280":40829,"_13213":40829,"_29499":40829,"_30023":40829,"_7485":40829,"_12713":40829},"2045",{"_11560":40901,"_3280":40901,"_22399":40901,"_2212":40901,"_15670":40901,"_24662":40901,"_15800":40901,"_4215":40901,"_7485":40901,"_4932":40901,"_14792":40901},"2046",{"_11545":40827,"_3280":40827,"_8365":40827,"_5697":40827,"_33364":40827,"_14167":40827,"_30506":40827,"_11263":40827},"2047",{"_11765":40829,"_3280":40829,"_8019":40829,"_3":40829,"_11178":40829,"_7485":40829,"_7631":40829},{"_11770":40815,"_3280":40815,"_15805":40815,"_26135":40815,"_7535":40815,"_31596":40815,"_22855":40815,"_12628":40815,"_17877":40815,"_14157":40815,"_5697":40815,"_10091":40815},"2049",{"_11785":40817,"_3280":40817,"_8377":40817,"_5697":40817,"_9999":40817,"_13121":40817,"_24617":40817,"_21385":40817,"_5180":40817},"2050",{"_11790":40829,"_3280":40829,"_19679":40829,"_25712":40829,"_6637":40829,"_7485":40829,"_26254":40829},"2051",{"_11805":40901,"_3280":40901,"_9011":40901,"_22216":40901,"_12586":40901,"_13650":40901,"_30506":40901,"_26693":40901,"_3399":40901,"_7686":40901,"_5775":40901},"2052",{"_11729":40829,"_3280":40829,"_26719":40829,"_27148":40829,"_15800":40829,"_18990":40829,"_8425":40829},"2053",{"_11835":40885,"_3280":40885,"_6679":40885,"_31486":40885,"_27484":40885,"_21458":40885,"_15805":40885,"_35728":40885,"_27407":40885,"_13582":40885},"2054",{"_11840":40832,"_3280":40832,"_8484":40832,"_5697":40832,"_23715":40832,"_3290":40832,"_21067":40832,"_27148":40832,"_20131":40832,"_23440":40832,"_7485":40832,"_8049":40832,"_10097":40832},"2055",{"_12000":40832,"_3280":40832,"_30950":40832,"_19365":40832,"_9888":40832,"_6069":40832,"_35836":40832,"_5697":40832,"_16561":40832,"_16324":40832,"_8019":40832,"_7535":40832,"_16381":40832},"2056",{"_12005":40901,"_3280":40901,"_27154":40901,"_22435":40901,"_16158":40901,"_33211":40901,"_31394":40901,"_12628":40901,"_13500":40901,"_15976":40901,"_13873":40901},"2057",{"_12011":40940,"_3280":40940,"_31394":40940,"_2225":40940,"_28168":40940,"_31851":40940,"_6177":40940,"_22216":40940,"_13421":40940,"_31826":40940,"_8771":40940,"_20125":40940,"_33052":40940,"_8923":40940},"2058",{"_12026":40817,"_3280":40817,"_9180":40817,"_25085":40817,"_5697":40817,"_20131":40817,"_2225":40817,"_29471":40817,"_9181":40817},"2059",{"_11313":40815,"_11306":40815,"_12037":40815,"_3280":40815,"_11263":40815,"_12541":40815,"_8371":40815,"_5697":40815,"_9763":40815,"_5473":40815,"_33804":40815,"_8383":40815},"2060",{"_12042":40834,"_3280":40834,"_23367":40834,"_7686":40834,"_16829":40834,"_29564":40834,"_7485":40834,"_25707":40834,"_7752":40834,"_14791":40834,"_31369":40834,"_15976":40834,"_3":40834,"_14349":40834,"_21396":40834},"2061",{"_12047":40817,"_3280":40817,"_12720":40817,"_7485":40817,"_12719":40817,"_3322":40817,"_3132":40817,"_15800":40817,"_34971":40817},"2062",{"_12053":40901,"_3280":40901,"_14167":40901,"_8935":40901,"_13798":40901,"_15991":40901,"_4455":40901,"_14173":40901,"_5697":40901,"_20131":40901,"_10031":40901},"2063",{"_12064":40815,"_3280":40815,"_32186":40815,"_11263":40815,"_28210":40815,"_6197":40815,"_31486":40815,"_35949":40815,"_22855":40815,"_4856":40815,"_33216":40815,"_6379":40815},"2064",{"_11914":40827,"_3280":40827,"_8044":40827,"_22683":40827,"_7485":40827,"_11263":40827,"_18505":40827,"_6918":40827},"2065",{"_6884":40832,"_11313":40832,"_36627":40832,"_11985":40832,"_3280":40832,"_34935":40832,"_6816":40832,"_19964":40832,"_5697":40832,"_24617":40832,"_9553":40832,"_19278":40832,"_33216":40832},"2066",{"_11750":40940,"_3280":40940,"_16829":40940,"_2225":40940,"_30113":40940,"_8132":40940,"_7535":40940,"_2222":40940,"_12541":40940,"_5697":40940,"_7225":40940,"_19406":40940,"_27407":40940,"_4843":40940},"2067",{"_11580":40885,"_3280":40885,"_22855":40885,"_13582":40885,"_29499":40885,"_29504":40885,"_31260":40885,"_7485":40885,"_26763":40885,"_27631":40885},"2068",{"_11810":40885,"_3280":40885,"_8019":40885,"_22216":40885,"_30766":40885,"_35116":40885,"_20599":40885,"_7485":40885,"_4157":40885,"_28943":40885},"2069",{"_6884":40885,"_11313":40885,"_11445":40885,"_11745":40885,"_3280":40885,"_34955":40885,"_28389":40885,"_5697":40885,"_8019":40885,"_16387":40885},"2070",{"_12016":40885,"_3280":40885,"_24677":40885,"_22291":40885,"_10051":40885,"_10097":40885,"_4592":40885,"_32170":40885,"_17568":40885,"_36030":40885},"2071",{"_12021":40901,"_3280":40901,"_14792":40901,"_8106":40901,"_13798":40901,"_23860":40901,"_7535":40901,"_12628":40901,"_35890":40901,"_13739":40901,"_8377":40901},"2072",{"_12069":40885,"_3280":40885,"_9181":40885,"_11263":40885,"_23634":40885,"_7535":40885,"_21644":40885,"_5697":40885,"_14931":40885,"_22017":40885},"2073",{"_11919":40832,"_3280":40832,"_10492":40832,"_8049":40832,"_25906":40832,"_29499":40832,"_29504":40832,"_31394":40832,"_33873":40832,"_15579":40832,"_21873":40832,"_3132":40832,"_28017":40832},"2074",{"_11990":40817,"_3280":40817,"_10218":40817,"_19060":40817,"_17255":40817,"_24592":40817,"_2974":40817,"_12628":40817,"_3290":40817},"2075",{"_11313":40901,"_11306":40901,"_11755":40901,"_3280":40901,"_34935":40901,"_33788":40901,"_5697":40901,"_8019":40901,"_16369":40901,"_7485":40901,"_11263":40901},"2076",{"_11924":40817,"_3280":40817,"_8019":40817,"_28943":40817,"_7841":40817,"_5473":40817,"_28389":40817,"_27713":40817,"_34935":40817},"2077",{"_11315":40885,"_3280":40885,"_11263":40885,"_8365":40885,"_5697":40885,"_25609":40885,"_7535":40885,"_33501":40885,"_23042":40885,"_14792":40885},"2078",{"_11322":40827,"_3280":40827,"_15518":40827,"_6407":40827,"_6069":40827,"_21134":40827,"_15981":40827,"_34251":40827},"2079",{"_12090":40827,"_3280":40827,"_12586":40827,"_13650":40827,"_7485":40827,"_13377":40827,"_19679":40827,"_24418":40827},"2080",{"_12259":40821,"_3280":40821,"_29274":40821,"_27944":40821,"_7155":40821,"_34251":40821},"2081",{"_12295":40878,"_3280":40878,"_34251":40878,"_7485":40878,"_26514":40878},"2082",{"_12408":40834,"_3280":40834,"_11263":40834,"_12541":40834,"_8755":40834,"_5697":40834,"_32221":40834,"_28698":40834,"_7485":40834,"_13360":40834,"_26520":40834,"_17877":40834,"_4455":40834,"_12628":40834,"_20773":40834},"2083",{"_11601":40836,"_3280":40836,"_7735":40836,"_27205":40836,"_3399":40836,"_6679":40836,"_24662":40836,"_15800":40836,"_14582":40836,"_22216":40836,"_27933":40836,"_31369":40836,"_20125":40836,"_29183":40836,"_5697":40836,"_3":40836,"_16613":40836},"2084",{"_11520":40885,"_3280":40885,"_34077":40885,"_8132":40885,"_33211":40885,"_3399":40885,"_4163":40885,"_7485":40885,"_16287":40885,"_22017":40885},"2085",{"_11647":40901,"_3280":40901,"_9011":40901,"_12720":40901,"_7841":40901,"_7485":40901,"_12627":40901,"_28261":40901,"_20067":40901,"_8204":40901,"_7416":40901},"2086",{"_11850":40827,"_3280":40827,"_10492":40827,"_23279":40827,"_22357":40827,"_7535":40827,"_33788":40827,"_12541":40827},"2087",{"_11775":40885,"_3280":40885,"_18435":40885,"_24232":40885,"_5473":40885,"_14151":40885,"_7535":40885,"_26763":40885,"_6214":40885,"_13350":40885},"2088",{"_11865":40784,"_3280":40784,"_31394":40784,"_23721":40784,"_3132":40784,"_34439":40784,"_5697":40784,"_32156":40784,"_20217":40784,"_12541":40784,"_4843":40784,"_34454":40784,"_22291":40784,"_24662":40784,"_15800":40784,"_32829":40784,"_15794":40784,"_14792":40784,"_7485":40784},"2089",{"_11795":40834,"_3280":40834,"_32365":40834,"_3074":40834,"_37617":40834,"_29373":40834,"_33211":40834,"_31394":40834,"_13785":40834,"_12553":40834,"_20447":40834,"_5697":40834,"_36769":40834,"_3020":40834,"_20718":40834},"2090",{"_11313":40885,"_11353":40885,"_11346":40885,"_37112":40885,"_11734":40885,"_3280":40885,"_35842":40885,"_35549":40885,"_35885":40885,"_16381":40885},"2091",{"_11678":40885,"_3280":40885,"_35859":40885,"_4322":40885,"_29108":40885,"_27896":40885,"_12720":40885,"_6069":40885,"_7686":40885,"_15844":40885},"2092",{"_11815":40815,"_3280":40815,"_32440":40815,"_13037":40815,"_22528":40815,"_5697":40815,"_25052":40815,"_10107":40815,"_3399":40815,"_31591":40815,"_30970":40815,"_3":40815},"2093",{"_11820":40829,"_3280":40829,"_29569":40829,"_36295":40829,"_5893":40829,"_7485":40829,"_18058":40829},"2094",{"_11876":40827,"_3280":40827,"_23435":40827,"_36295":40827,"_7485":40827,"_18058":40827,"_8794":40827,"_23795":40827},"2095",{"_11825":40901,"_3280":40901,"_2222":40901,"_12541":40901,"_22017":40901,"_29712":40901,"_5697":40901,"_20131":40901,"_15833":40901,"_36389":40901,"_6119":40901},"2096",{"_11888":40829,"_3280":40829,"_11263":40829,"_19779":40829,"_29317":40829,"_28389":40829,"_24311":40829},"2097",{"_11411":40817,"_5968":40817,"_36700":40817,"_11882":40817,"_3280":40817,"_30950":40817,"_14721":40817,"_28864":40817,"_5697":40817},"2098",{"_12633":40901,"_3280":40901,"_10492":40901,"_26378":40901,"_17611":40901,"_20904":40901,"_16763":40901,"_6069":40901,"_15088":40901,"_30970":40901,"_28446":40901},"2099",{"_11565":40834,"_3280":40834,"_11263":40834,"_15799":40834,"_30980":40834,"_5697":40834,"_17860":40834,"_7703":40834,"_17877":40834,"_24963":40834,"_3132":40834,"_15800":40834,"_4631":40834,"_31394":40834,"_25631":40834},"2100",{"_11329":40827,"_3280":40827,"_32855":40827,"_27148":40827,"_10218":40827,"_10041":40827,"_5180":40827,"_19054":40827},"2101",{"_12101":40885,"_3280":40885,"_35859":40885,"_12541":40885,"_26520":40885,"_12805":40885,"_20190":40885,"_34811":40885,"_28436":40885,"_6657":40885},"2102",{"_11411":40796,"_11313":40796,"_11346":40796,"_12302":40796,"_3280":40796,"_11263":40796,"_22216":40796,"_12541":40796,"_25057":40796,"_18435":40796,"_35295":40796,"_22861":40796,"_3765":40796,"_15800":40796,"_5080":40796,"_8794":40796,"_12628":40796,"_18733":40796},"2103",{"_11525":40832,"_3280":40832,"_16624":40832,"_23206":40832,"_3399":40832,"_28421":40832,"_27051":40832,"_10259":40832,"_8204":40832,"_2974":40832,"_36030":40832,"_23362":40832,"_14682":40832},"2104",{"_11550":40940,"_3280":40940,"_23042":40940,"_14349":40940,"_24617":40940,"_5697":40940,"_11178":40940,"_14452":40940,"_7485":40940,"_29274":40940,"_27944":40940,"_24592":40940,"_23367":40940,"_7686":40940},"2105",{"_11426":40940,"_3280":40940,"_3150":40940,"_22216":40940,"_24667":40940,"_5385":40940,"_29485":40940,"_5697":40940,"_13775":40940,"_28210":40940,"_22855":40940,"_7535":40940,"_2974":40940,"_12628":40940},"2106",{"_11652":40901,"_3280":40901,"_21114":40901,"_27537":40901,"_27148":40901,"_10492":40901,"_7423":40901,"_4322":40901,"_5697":40901,"_19582":40901,"_8858":40901},"2107",{"_11683":40815,"_3280":40815,"_19365":40815,"_35836":40815,"_33788":40815,"_3399":40815,"_28389":40815,"_5697":40815,"_9011":40815,"_29829":40815,"_26555":40815,"_35507":40815},"2108",{"_11586":40827,"_3280":40827,"_10639":40827,"_22216":40827,"_13120":40827,"_14791":40827,"_17103":40827,"_34496":40827},"2109",{"_11591":40827,"_3280":40827,"_10519":40827,"_5180":40827,"_10218":40827,"_7485":40827,"_3296":40827,"_14682":40827},"2110",{"_11855":40885,"_3280":40885,"_3150":40885,"_17103":40885,"_27051":40885,"_28833":40885,"_19614":40885,"_7535":40885,"_13120":40885,"_14791":40885},"2111",{"_11860":40817,"_3280":40817,"_3150":40817,"_27129":40817,"_7535":40817,"_22216":40817,"_8414":40817,"_7129":40817,"_14792":40817},"2112",{"_11530":40878,"_3280":40878,"_17716":40878,"_10317":40878,"_30888":40878},"2113",{"_11657":40901,"_3280":40901,"_32682":40901,"_29683":40901,"_6069":40901,"_23715":40901,"_35555":40901,"_7501":40901,"_7485":40901,"_13582":40901,"_3290":40901},"2114",{"_6884":40885,"_11327":40885,"_36123":40885,"_11662":40885,"_3280":40885,"_34955":40885,"_26753":40885,"_5697":40885,"_3228":40885,"_16404":40885},"2115",{"_11667":40885,"_3280":40885,"_34955":40885,"_35836":40885,"_5697":40885,"_5331":40885,"_16428":40885,"_16410":40885,"_3399":40885,"_16416":40885},"2116",{"_11672":40878,"_3280":40878,"_29654":40878,"_33788":40878,"_16422":40878},"2117",{"_12269":40878,"_3280":40878,"_8670":40878,"_8906":40878,"_8905":40878},"2118",{"_11353":40832,"_11346":40832,"_11335":40832,"_3280":40832,"_15155":40832,"_33211":40832,"_7485":40832,"_13126":40832,"_16293":40832,"_31486":40832,"_7474":40832,"_3020":40832,"_29068":40832},"2119",{"_11437":40821,"_3280":40821,"_17747":40821,"_27876":40821,"_7485":40821,"_13360":40821},"2120",{"_11413":40878,"_3280":40878,"_13014":40878,"_21199":40878,"_10961":40878},"2121",{"_11420":40821,"_3280":40821,"_8670":40821,"_8906":40821,"_10102":40821,"_22060":40821},"2122",{"_11500":40940,"_3280":40940,"_15655":40940,"_8858":40940,"_12667":40940,"_7485":40940,"_2225":40940,"_21134":40940,"_8851":40940,"_6047":40940,"_7271":40940,"_10539":40940,"_12805":40940,"_9130":40940},"2123",{"_12096":40885,"_3280":40885,"_34251":40885,"_31394":40885,"_13377":40885,"_3132":40885,"_13484":40885,"_31492":40885,"_30517":40885,"_5856":40885},"2124",{"_12280":40821,"_3280":40821,"_8670":40821,"_8906":40821,"_33139":40821,"_22022":40821},"2125",{"_12264":40817,"_3280":40817,"_18382":40817,"_5697":40817,"_14151":40817,"_11263":40817,"_7485":40817,"_8049":40817,"_10097":40817},"2126",{"_12312":40817,"_3280":40817,"_25052":40817,"_23383":40817,"_3297":40817,"_20799":40817,"_3997":40817,"_27355":40817,"_6363":40817},"2127",{"_12332":40885,"_3280":40885,"_9011":40885,"_31723":40885,"_15530":40885,"_31254":40885,"_18963":40885,"_31728":40885,"_15523":40885,"_32481":40885},"2128",{"_12337":40885,"_3280":40885,"_12911":40885,"_12805":40885,"_11016":40885,"_2212":40885,"_8358":40885,"_31486":40885,"_6363":40885,"_35180":40885},"2129",{"_12342":40827,"_3280":40827,"_18963":40827,"_9821":40827,"_31675":40827,"_7155":40827,"_33990":40827,"_32476":40827},"2130",{"_11306":40834,"_12347":40834,"_3280":40834,"_27026":40834,"_36944":40834,"_22814":40834,"_10778":40834,"_8377":40834,"_15794":40834,"_18644":40834,"_4455":40834,"_8095":40834,"_10783":40834,"_27021":40834,"_35859":40834},"2131",{"_12413":40885,"_3280":40885,"_13132":40885,"_23977":40885,"_15991":40885,"_24418":40885,"_7485":40885,"_29802":40885,"_29596":40885,"_8149":40885},"2132",{"_6884":40885,"_5968":40885,"_36749":40885,"_12418":40885,"_3280":40885,"_16450":40885,"_34935":40885,"_35917":40885,"_23201":40885,"_5697":40885},"2133",{"_12429":40821,"_3280":40821,"_8670":40821,"_8906":40821,"_7880":40821,"_22066":40821},"2134",{"_12434":40878,"_3280":40878,"_13377":40878,"_22450":40878,"_34399":40878},"2135",{"_12440":40817,"_3280":40817,"_12948":40817,"_13331":40817,"_36383":40817,"_14682":40817,"_4602":40817,"_28405":40817,"_33211":40817},"2136",{"_12460":40827,"_3280":40827,"_11178":40827,"_30506":40827,"_27950":40827,"_3399":40827,"_14797":40827,"_22352":40827},"2137",{"_12470":40829,"_3280":40829,"_18160":40829,"_20125":40829,"_20131":40829,"_10334":40829,"_17344":40829},"2138",{"_12481":40832,"_3280":40832,"_13739":40832,"_3297":40832,"_6363":40832,"_7271":40832,"_21894":40832,"_5374":40832,"_3399":40832,"_8358":40832,"_15471":40832,"_11263":40832,"_12541":40832},"2139",{"_12136":40832,"_3280":40832,"_22017":40832,"_24771":40832,"_19401":40832,"_3997":40832,"_35974":40832,"_30435":40832,"_31976":40832,"_21962":40832,"_5697":40832,"_20872":40832,"_17523":40832},"2140",{"_12161":40901,"_3280":40901,"_8019":40901,"_2222":40901,"_12541":40901,"_8906":40901,"_15155":40901,"_33211":40901,"_7485":40901,"_13133":40901,"_16293":40901},"2141",{"_12186":40817,"_3280":40817,"_2222":40817,"_12541":40817,"_22017":40817,"_24771":40817,"_19401":40817,"_3997":40817,"_16191":40817},"2142",{"_11606":40827,"_3280":40827,"_10492":40827,"_31065":40827,"_35984":40827,"_16763":40827,"_6069":40827,"_35990":40827},"2143",{"_6884":40885,"_11313":40885,"_11375":40885,"_11570":40885,"_3280":40885,"_34935":40885,"_6816":40885,"_24311":40885,"_10218":40885,"_5697":40885},"2144",{"_12496":40832,"_3280":40832,"_2974":40832,"_12628":40832,"_4322":40832,"_7535":40832,"_21603":40832,"_26686":40832,"_3399":40832,"_25796":40832,"_6379":40832,"_22216":40832,"_3":40832},"2145",{"_12166":40901,"_3280":40901,"_14757":40901,"_22216":40901,"_13138":40901,"_22291":40901,"_21936":40901,"_2225":40901,"_31738":40901,"_5697":40901,"_7898":40901},"2146",{"_11450":40821,"_3280":40821,"_23435":40821,"_30149":40821,"_21771":40821,"_20898":40821},"2147",{"_11462":40885,"_3280":40885,"_22855":40885,"_24843":40885,"_28491":40885,"_7535":40885,"_12541":40885,"_21863":40885,"_26379":40885,"_21874":40885},"2148",{"_11468":40836,"_3280":40836,"_5331":40836,"_10815":40836,"_24963":40836,"_28688":40836,"_7535":40836,"_29499":40836,"_29504":40836,"_31394":40836,"_15822":40836,"_3765":40836,"_18170":40836,"_7485":40836,"_22216":40836,"_14167":40836,"_14695":40836},"2149",{"_12107":40817,"_3280":40817,"_10639":40817,"_22216":40817,"_18995":40817,"_17706":40817,"_6069":40817,"_18266":40817,"_20886":40817},"2150",{"_12285":40827,"_3280":40827,"_12666":40827,"_14523":40827,"_4813":40827,"_3399":40827,"_32626":40827,"_19631":40827},"2151",{"_12317":40940,"_3280":40940,"_12911":40940,"_23650":40940,"_33422":40940,"_6799":40940,"_7485":40940,"_30128":40940,"_7535":40940,"_33193":40940,"_20482":40940,"_5697":40940,"_35813":40940,"_26394":40940},"2152",{"_12322":40817,"_3280":40817,"_21385":40817,"_5754":40817,"_15254":40817,"_3296":40817,"_7485":40817,"_8851":40817,"_5970":40817},"2153",{"_12352":40829,"_3280":40829,"_25052":40829,"_18963":40829,"_31712":40829,"_9055":40829,"_17255":40829},"2154",{"_12357":40821,"_3280":40821,"_12895":40821,"_5976":40821,"_3132":40821,"_34582":40821},"2155",{"_12372":40829,"_3280":40829,"_19555":40829,"_13546":40829,"_9395":40829,"_5697":40829,"_26912":40829},"2156",{"_12377":40829,"_3280":40829,"_3209":40829,"_28210":40829,"_25052":40829,"_5697":40829,"_13014":40829},"2157",{"_12382":40817,"_3280":40817,"_21114":40817,"_10091":40817,"_7929":40817,"_17086":40817,"_14383":40817,"_3399":40817,"_9130":40817},"2158",{"_12387":40821,"_3280":40821,"_8019":40821,"_33211":40821,"_21040":40821,"_7603":40821},"2159",{"_12445":40885,"_3280":40885,"_9011":40885,"_34486":40885,"_14792":40885,"_7485":40885,"_22216":40885,"_18685":40885,"_18767":40885,"_20898":40885},"2160",{"_12450":40817,"_3280":40817,"_22072":40817,"_16886":40817,"_27148":40817,"_29630":40817,"_2225":40817,"_22077":40817,"_20898":40817},"2161",{"_6884":40817,"_11353":40817,"_36784":40817,"_12511":40817,"_3280":40817,"_34935":40817,"_33788":40817,"_5697":40817,"_7993":40817},"2162",{"_12465":40821,"_3280":40821,"_10820":40821,"_33788":40821,"_23031":40821,"_15363":40821},"2163",{"_12517":40832,"_3280":40832,"_24662":40832,"_15800":40832,"_14792":40832,"_28097":40832,"_25722":40832,"_31394":40832,"_2225":40832,"_12541":40832,"_13489":40832,"_16221":40832,"_14167":40832},"2164",{"_12486":40827,"_3280":40827,"_12805":40827,"_22528":40827,"_7535":40827,"_9821":40827,"_26686":40827,"_3711":40827},"2165",{"_12501":40821,"_3280":40821,"_32328":40821,"_8851":40821,"_30637":40821,"_7485":40821},"2166",{"_12506":40817,"_3280":40817,"_6718":40817,"_18229":40817,"_21588":40817,"_9668":40817,"_16763":40817,"_6069":40817,"_30626":40817},"2167",{"_12196":40815,"_3280":40815,"_34935":40815,"_24698":40815,"_17831":40815,"_7535":40815,"_22216":40815,"_24352":40815,"_32139":40815,"_5697":40815,"_9352":40815,"_16501":40815},"2168",{"_12202":40821,"_3280":40821,"_3150":40821,"_33798":40821,"_5844":40821,"_25052":40821},"2169",{"_12213":40829,"_3280":40829,"_8019":40829,"_12958":40829,"_8589":40829,"_7535":40829,"_5736":40829},"2170",{"_12171":40878,"_3280":40878,"_19555":40878,"_28339":40878,"_3919":40878},"2171",{"_11411":40834,"_6884":40834,"_11353":40834,"_11327":40834,"_12176":40834,"_3280":40834,"_34935":40834,"_14711":40834,"_13331":40834,"_5697":40834,"_24617":40834,"_6816":40834,"_8388":40834,"_3997":40834,"_16456":40834},"2172",{"_12228":40817,"_3280":40817,"_25115":40817,"_8460":40817,"_19699":40817,"_6816":40817,"_8377":40817,"_7535":40817,"_16456":40817},"2173",{"_5968":40815,"_11353":40815,"_36749":40815,"_12233":40815,"_3280":40815,"_34935":40815,"_35917":40815,"_23201":40815,"_5697":40815,"_7535":40815,"_16479":40815,"_16484":40815},"2174",{"_11694":40901,"_3280":40901,"_9238":40901,"_7423":40901,"_21114":40901,"_30827":40901,"_5697":40901,"_4484":40901,"_28317":40901,"_14773":40901,"_6047":40901},"2175",{"_11611":40901,"_3280":40901,"_9181":40901,"_26088":40901,"_3":40901,"_7485":40901,"_22216":40901,"_8851":40901,"_5697":40901,"_5331":40901,"_10324":40901},"2176",{"_11616":40940,"_3280":40940,"_9055":40940,"_34811":40940,"_30013":40940,"_17103":40940,"_4538":40940,"_7485":40940,"_26109":40940,"_15794":40940,"_30102":40940,"_10639":40940,"_7464":40940,"_18623":40940},"2177",{"_12218":40827,"_3280":40827,"_8019":40827,"_22216":40827,"_34399":40827,"_8204":40827,"_14293":40827,"_22054":40827},"2178",{"_12191":40815,"_3280":40815,"_10102":40815,"_24761":40815,"_15144":40815,"_3997":40815,"_35974":40815,"_22352":40815,"_25434":40815,"_29601":40815,"_30522":40815,"_9038":40815},"2179",{"_11444":40885,"_3280":40885,"_10069":40885,"_2225":40885,"_23006":40885,"_28036":40885,"_5697":40885,"_35345":40885,"_13159":40885,"_18435":40885},"2180",{"_11621":40901,"_3280":40901,"_8019":40901,"_13132":40901,"_23982":40901,"_8794":40901,"_9911":40901,"_26642":40901,"_5473":40901,"_26242":40901,"_8651":40901},{"_11626":40878,"_3280":40878,"_17716":40878,"_27955":40878,"_18995":40878},"2182",{"_11632":40817,"_3280":40817,"_35345":40817,"_7825":40817,"_27051":40817,"_3399":40817,"_19704":40817,"_7485":40817,"_22083":40817},"2183",{"_12362":40940,"_3280":40940,"_22017":40940,"_2222":40940,"_12541":40940,"_8906":40940,"_22089":40940,"_16293":40940,"_22094":40940,"_3132":40940,"_23503":40940,"_8670":40940,"_3997":40940,"_16191":40940},"2184",{"_12392":40817,"_3280":40817,"_8019":40817,"_28943":40817,"_7841":40817,"_7535":40817,"_14721":40817,"_3399":40817,"_14726":40817},"2185",{"_12523":40829,"_3280":40829,"_34935":40829,"_35836":40829,"_5697":40829,"_5331":40829,"_16495":40829},"2186",{"_12141":40815,"_3280":40815,"_7521":40815,"_16191":40815,"_8371":40815,"_31486":40815,"_33211":40815,"_17681":40815,"_24510":40815,"_6069":40815,"_8132":40815,"_8063":40815},"2187",{"_12146":40878,"_3280":40878,"_9011":40878,"_21848":40878,"_16191":40878},"2188",{"_6884":40901,"_11353":40901,"_36853":40901,"_12151":40901,"_3280":40901,"_34935":40901,"_33788":40901,"_5697":40901,"_30435":40901,"_6069":40901,"_16489":40901},"2189",{"_6884":40815,"_11306":40815,"_12238":40815,"_3280":40815,"_34935":40815,"_26753":40815,"_5697":40815,"_7485":40815,"_6297":40815,"_25052":40815,"_21533":40815,"_20260":40815},"2190",{"_5968":40827,"_11320":40827,"_11346":40827,"_12243":40827,"_3280":40827,"_34935":40827,"_16528":40827,"_5697":40827},"2191",{"_11699":40817,"_3280":40817,"_34955":40817,"_35836":40817,"_7535":40817,"_8044":40817,"_16440":40817,"_3399":40817,"_16445":40817},"2192",{"_11704":40827,"_3280":40827,"_34955":40827,"_26753":40827,"_5697":40827,"_3228":40827,"_21199":40827,"_16501":40827},"2193",{"_6884":40817,"_11353":40817,"_37626":40817,"_11709":40817,"_3280":40817,"_34935":40817,"_33788":40817,"_5697":40817,"_7993":40817},"2194",{"_5968":40832,"_11445":40832,"_11637":40832,"_3280":40832,"_34935":40832,"_35917":40832,"_5697":40832,"_25115":40832,"_22693":40832,"_8460":40832,"_19699":40832,"_16324":40832,"_33216":40832},{"_6884":45142,"_5968":45143,"_11313":45144,"_11353":45145,"_11327":45146,"_11320":45147,"_11346":45148,"_11375":45149,"_11306":45150,"_36123":45151,"_11342":45152,"_36627":45153,"_36749":45154,"_36700":45155,"_11445":45156,"_12197":45157,"_36739":45158,"_36759":45159,"_12027":45160,"_11889":45161,"_37450":45162,"_12203":45163,"_40818":45164,"_36616":45165,"_36046":45166,"_36685":45167,"_12270":45168,"_37480":45169,"_12512":45170,"_35574":45171,"_35645":45172,"_35619":45173,"_12054":45174,"_35635":45175,"_35650":45176,"_12102":45177,"_35655":45178,"_11406":45179,"_11866":45180,"_12080":45181,"_40847":45182,"_40849":45183,"_40851":45184,"_40854":45185,"_36679":45186,"_40857":45187,"_11356":45188,"_40862":45189,"_12471":45190,"_36302":45191,"_12518":45192,"_11438":45193,"_37112":45194,"_40872":45195,"_40874":45196,"_40876":45197,"_40879":45198,"_37107":45199,"_37102":45200,"_11469":45201,"_40886":45202,"_40889":45203,"_40891":45204,"_30746":45205,"_40894":45206,"_40897":45207,"_40899":45208,"_40902":45209,"_40904":45210,"_40906":45211,"_40909":45212,"_40912":45213,"_40914":45214,"_11485":45215,"_40918":45216,"_36784":45217,"_40921":45218,"_11684":45219,"_11349":45220,"_36838":45221,"_37456":45222,"_12393":45223,"_40929":45224,"_40931":45225,"_40933":45226,"_36853":45227,"_40936":45228,"_11378":45229,"_12108":45230,"_35688":45231,"_36663":45232,"_40943":45233,"_40945":45234,"_37626":45235,"_40948":45236,"_11421":45237,"_40951":45238,"_40953":45239,"_12125":45240,"_36130":45241,"_40958":45242,"_40960":45243,"_40963":45244,"_40965":45245,"_40967":45246,"_40969":45247,"_40971":45248,"_11336":45249,"_40974":45250,"_40976":45251,"_40978":45252,"_40980":45253,"_40982":45254,"_40985":45255,"_16358":45256,"_40988":45257,"_40990":45258,"_40992":45259,"_40994":45260,"_40996":45261,"_40998":45262,"_41001":45263,"_41003":45264,"_41005":45265,"_41007":45266,"_41010":45267,"_36637":45268,"_36632":45269,"_41015":45270,"_36754":45271,"_41019":45272,"_41021":45273,"_41023":45274,"_41025":45275,"_41027":45276,"_41029":45277,"_41031":45278,"_41033":45279,"_41035":45280,"_41037":45281,"_41039":45282,"_41041":45283,"_41043":45284,"_41046":45285,"_41048":45286,"_41050":45287,"_41052":45288,"_41054":45289,"_41057":45290,"_41059":45291,"_41061":45292,"_41063":45293,"_41065":45294,"_41067":45295,"_41069":45296,"_41071":45297,"_41073":45298,"_41075":45299,"_41077":45300,"_41079":45301,"_41081":45302,"_41083":45303,"_41085":45304,"_41087":45305,"_41089":45306,"_41091":45307,"_41093":45308,"_36725":45309,"_41096":45310,"_41098":45311,"_41100":45312,"_36744":45313,"_41103":45314,"_41105":45315,"_41108":45316,"_41110":45317,"_41112":45318,"_41114":45319,"_41116":45320,"_41118":45321,"_41120":45322,"_41122":45323,"_41124":45324,"_41126":45325,"_41128":45326,"_41130":45327,"_41132":45328,"_41134":45329,"_41136":45330,"_41138":45331,"_41140":45332,"_36651":45333,"_41145":45334,"_36646":45335,"_41149":45336,"_41151":45337,"_41153":45338,"_41155":45339,"_41157":45340,"_16474":45341,"_37344":45342,"_35538":45343,"_41164":45344,"_41166":45345,"_41169":45346,"_41171":45347,"_41173":45348,"_41176":45349,"_41178":45350,"_41180":45351,"_41183":45352,"_41186":45353,"_41188":45354,"_41190":45355,"_41192":45356,"_41194":45357,"_41197":45358,"_41199":45359,"_41201":45360,"_41203":45361,"_41206":45362,"_41208":45363,"_41210":45364,"_41212":45365,"_41214":45366,"_41216":45367,"_41218":45368,"_41220":45369,"_41222":45370,"_41224":45371,"_41226":45372,"_41228":45373,"_41230":45374,"_41232":45375,"_41234":45376,"_41236":45377,"_41238":45378,"_41240":45379,"_41242":45380,"_41244":45381,"_41246":45382,"_41248":45383,"_41250":45384,"_41252":45385,"_41254":45386,"_41256":45387,"_41258":45388,"_41260":45389,"_41262":45390,"_37379":45391,"_41266":45392,"_41268":45393,"_41270":45394,"_37384":45395,"_37374":45396,"_22897":45397,"_41275":45398,"_41277":45399,"_41279":45400,"_41281":45401,"_41283":45402,"_41285":45403,"_41287":45404,"_41290":45405,"_41292":45406,"_41294":45407,"_41296":45408,"_41298":45409,"_41300":45410,"_41302":45411,"_41305":45412,"_41307":45413,"_41309":45414,"_41311":45415,"_41313":45416,"_41315":45417,"_41317":45418,"_41319":45419,"_41321":45420,"_41323":45421,"_41325":45422,"_41327":45423,"_41329":45424,"_41331":45425,"_41333":45426,"_41335":45427,"_41337":45428,"_37485":45429,"_41340":45430,"_41342":45431,"_41344":45432,"_41346":45433,"_41349":45434,"_41351":45435,"_41353":45436,"_41355":45437,"_41357":45438,"_41359":45439,"_41362":45440,"_35589":45441,"_41365":45442,"_41367":45443,"_41369":45444,"_35579":45445,"_41372":45446,"_41375":45447,"_41378":45448,"_41380":45449,"_41383":45450,"_41386":45451,"_41388":45452,"_41390":45453,"_41392":45454,"_41394":45455,"_41396":45456,"_41398":45457,"_41401":45458,"_41404":45459,"_41406":45460,"_11390":45461,"_41409":45462,"_41411":45463,"_41413":45464,"_41415":45465,"_35624":45466,"_41418":45467,"_41420":45468,"_41422":45469,"_41424":45470,"_41426":45471,"_41428":45472,"_11316":45473,"_41432":45474,"_41434":45475,"_41436":45476,"_41438":45477,"_41440":45478,"_41442":45479,"_41444":45480,"_35640":45481,"_41447":45482,"_41449":45483,"_41451":45484,"_41453":45485,"_41455":45486,"_41457":45487,"_41459":45488,"_41461":45489,"_41463":45490,"_41465":45491,"_41467":45492,"_41469":45493,"_41471":45494,"_41473":45495,"_41475":45496,"_41477":45497,"_41479":45498,"_41481":45499,"_41483":45500,"_41485":45501,"_41487":45502,"_41489":45503,"_41491":45504,"_41493":45505,"_41495":45506,"_41497":45507,"_41499":45508,"_41501":45509,"_41503":45510,"_41505":45511,"_41507":45512,"_41509":45513,"_41511":45514,"_41514":45515,"_41516":45516,"_41518":45517,"_41520":45518,"_41522":45519,"_41524":45520,"_41526":45521,"_41528":45522,"_41530":45523,"_41532":45524,"_22920":45525,"_41536":45526,"_41538":45527,"_41540":45528,"_35672":45529,"_41543":45530,"_41545":45531,"_41547":45532,"_41549":45533,"_41551":45534,"_41553":45535,"_41555":45536,"_41557":45537,"_41559":45538,"_41561":45539,"_41563":45540,"_36040":45541,"_41566":45542,"_41568":45543,"_41571":45544,"_41573":45545,"_41575":45546,"_41577":45547,"_41580":45548,"_41582":45549,"_41584":45550,"_41586":45551,"_41588":45552,"_41590":45553,"_41592":45554,"_41595":45555,"_41597":45556,"_41599":45557,"_41601":45558,"_41603":45559,"_41605":45560,"_41608":45561,"_41610":45562,"_41612":45563,"_41614":45564,"_41616":45565,"_36045":45566,"_41619":45567,"_41621":45568,"_41623":45569,"_41625":45570,"_41627":45571,"_41629":45572,"_41631":45573,"_41633":45574,"_41635":45575,"_41637":45576,"_41639":45577,"_36051":45578,"_41642":45579,"_41644":45580,"_41646":45581,"_41648":45582,"_41650":45583,"_41652":45584,"_41654":45585,"_41656":45586,"_41658":45587,"_41660":45588,"_41662":45589,"_41665":45590,"_41668":45591,"_41670":45592,"_41672":45593,"_41675":45594,"_41677":45595,"_41679":45596,"_41681":45597,"_41683":45598,"_41685":45599,"_41687":45600,"_41689":45601,"_41691":45602,"_41693":45603,"_41695":45604,"_41697":45605,"_41699":45606,"_41701":45607,"_41703":45608,"_41705":45609,"_41707":45610,"_41709":45611,"_41711":45612,"_41713":45613,"_41715":45614,"_41717":45615,"_41719":45616,"_41721":45617,"_41723":45618,"_41725":45619,"_41727":45620,"_41729":45621,"_41731":45622,"_41733":45623,"_41735":45624,"_41737":45625,"_41739":45626,"_11427":45627,"_41742":45628,"_41744":45629,"_41746":45630,"_41748":45631,"_41750":45632,"_41752":45633,"_41754":45634,"_41756":45635,"_41758":45636,"_41760":45637,"_41762":45638,"_41764":45639,"_41766":45640,"_37087":45641,"_12612":45642,"_41770":45643,"_41772":45644,"_41774":45645,"_41776":45646,"_41778":45647,"_41780":45648,"_41782":45649,"_41784":45650,"_41786":45651,"_41788":45652,"_41790":45653,"_41792":45654,"_41794":45655,"_41796":45656,"_41798":45657,"_41800":45658,"_41802":45659,"_41804":45660,"_41806":45661,"_41808":45662,"_41810":45663,"_41812":45664,"_41814":45665,"_41816":45666,"_41818":45667,"_41820":45668,"_41822":45669,"_41824":45670,"_41826":45671,"_41828":45672,"_41830":45673,"_41832":45674,"_41834":45675,"_41836":45676,"_41838":45677,"_41840":45678,"_41842":45679,"_41844":45680,"_41846":45681,"_41848":45682,"_41850":45683,"_41852":45684,"_41854":45685,"_36062":45686,"_41857":45687,"_41859":45688,"_41861":45689,"_41863":45690,"_41865":45691,"_41867":45692,"_41869":45693,"_41871":45694,"_41873":45695,"_41875":45696,"_41877":45697,"_41879":45698,"_41881":45699,"_41883":45700,"_41885":45701,"_41887":45702,"_41889":45703,"_41891":45704,"_41893":45705,"_41895":45706,"_41897":45707,"_41899":45708,"_41901":45709,"_41903":45710,"_41905":45711,"_41907":45712,"_41909":45713,"_41911":45714,"_41913":45715,"_11384":45716,"_41916":45717,"_41918":45718,"_41920":45719,"_41922":45720,"_41924":45721,"_41926":45722,"_41928":45723,"_41930":45724,"_41932":45725,"_41934":45726,"_16423":45727,"_41937":45728,"_41939":45729,"_41941":45730,"_11330":45731,"_41944":45732,"_41946":45733,"_41948":45734,"_41950":45735,"_41952":45736,"_41954":45737,"_41956":45738,"_41958":45739,"_41960":45740,"_41962":45741,"_41964":45742,"_41966":45743,"_41968":45744,"_41970":45745,"_41972":45746,"_41974":45747,"_41976":45748,"_41978":45749,"_41980":45750,"_41982":45751,"_41984":45752,"_41986":45753,"_41988":45754,"_41990":45755,"_41992":45756,"_41994":45757,"_41996":45758,"_41998":45759,"_42000":45760,"_42002":45761,"_42004":45762,"_42006":45763,"_11323":45764,"_42009":45765,"_42011":45766,"_42013":45767,"_42015":45768,"_42017":45769,"_42019":45770,"_42021":45771,"_42023":45772,"_42025":45773,"_42027":45774,"_42029":45775,"_42031":45776,"_42033":45777,"_42035":45778,"_42037":45779,"_42039":45780,"_42041":45781,"_42043":45782,"_42045":45783,"_42047":45784,"_42049":45785,"_42051":45786,"_42053":45787,"_42055":45788,"_42057":45789,"_42059":45790,"_42061":45791,"_42063":45792,"_42065":45793,"_42067":45794,"_42069":45795,"_42071":45796,"_42073":45797,"_42075":45798,"_42077":45799,"_42079":45800,"_42081":45801,"_42083":45802,"_42085":45803,"_42087":45804,"_42089":45805,"_42091":45806,"_42093":45807,"_42095":45808,"_42097":45809,"_42099":45810,"_42101":45811,"_42103":45812,"_42105":45813,"_42107":45814,"_42109":45815,"_42111":45816,"_42114":45817,"_42116":45818,"_42118":45819,"_42120":45820,"_42122":45821,"_42124":45822,"_42126":45823,"_42128":45824,"_42130":45825,"_42132":45826,"_42134":45827,"_42136":45828,"_42139":45829,"_42141":45830,"_42143":45831,"_42146":45832,"_42148":45833,"_42151":45834,"_42153":45835,"_42155":45836,"_42157":45837,"_42159":45838,"_42161":45839,"_42163":45840,"_42165":45841,"_42167":45842,"_42169":45843,"_42171":45844,"_42173":45845,"_42175":45846,"_42177":45847,"_42180":45848,"_42182":45849,"_42184":45850,"_42186":45851,"_42188":45852,"_42190":45853,"_42192":45854,"_42194":45855,"_42196":45856,"_42198":45857,"_42200":45858,"_42202":45859,"_42204":45860,"_42206":45861,"_42208":45862,"_42210":45863,"_42212":45864,"_42214":45865,"_42216":45866,"_42218":45867,"_42220":45868,"_42222":45869,"_42224":45870,"_42227":45871,"_11451":45872,"_42231":45873,"_42233":45874,"_42235":45875,"_42237":45876,"_42239":45877,"_42241":45878,"_42243":45879,"_42245":45880,"_42247":45881,"_42249":45882,"_42251":45883,"_42253":45884,"_42255":45885,"_42257":45886,"_42259":45887,"_42261":45888,"_42263":45889,"_42265":45890,"_42267":45891,"_42269":45892,"_42271":45893,"_42273":45894,"_42275":45895,"_42277":45896,"_42279":45897,"_42281":45898,"_42283":45899,"_42285":45900,"_42287":45901,"_42289":45902,"_42291":45903,"_42293":45904,"_42295":45905,"_42297":45906,"_42299":45907,"_42301":45908,"_42303":45909,"_42305":45910,"_42307":45911,"_42309":45912,"_42311":45913,"_42313":45914,"_42315":45915,"_42317":45916,"_42319":45917,"_42321":45918,"_42323":45919,"_42325":45920,"_42327":45921,"_42329":45922,"_42331":45923,"_42333":45924,"_12529":45925,"_42336":45926,"_42338":45927,"_42340":45928,"_42342":45929,"_42344":45930,"_42346":45931,"_37445":45932,"_42349":45933,"_42351":45934,"_42353":45935,"_42355":45936,"_42357":45937,"_42359":45938,"_42361":45939,"_42363":45940,"_35029":45941,"_42366":45942,"_42368":45943,"_42370":45944,"_42372":45945,"_42374":45946,"_42376":45947,"_42378":45948,"_42380":45949,"_42382":45950,"_42384":45951,"_42386":45952,"_42388":45953,"_42390":45954,"_42392":45955,"_42394":45956,"_42396":45957,"_42398":45958,"_42400":45959,"_42402":45960,"_42404":45961,"_42406":45962,"_42408":45963,"_42410":45964,"_42412":45965,"_42414":45966,"_42416":45967,"_42418":45968,"_42420":45969,"_42422":45970,"_42424":45971,"_42426":45972,"_42428":45973,"_42430":45974,"_42432":45975,"_42434":45976,"_42436":45977,"_42438":45978,"_42440":45979,"_42442":45980,"_42444":45981,"_42446":45982,"_12606":45983,"_42449":45984,"_42451":45985,"_42453":45986,"_42455":45987,"_42457":45988,"_42459":45989,"_42461":45990,"_42463":45991,"_42465":45992,"_42467":45993,"_42469":45994,"_42471":45995,"_42473":45996,"_42475":45997,"_42477":45998,"_42479":45999,"_42481":46000,"_42483":46001,"_42485":46002,"_42487":46003,"_42489":46004,"_42491":46005,"_42493":46006,"_42495":46007,"_42497":46008,"_42499":46009,"_42501":46010,"_42503":46011,"_42505":46012,"_42507":46013,"_42509":46014,"_42511":46015,"_42513":46016,"_42515":46017,"_42517":46018,"_42519":46019,"_42521":46020,"_42523":46021,"_42525":46022,"_42527":46023,"_42529":46024,"_42531":46025,"_42533":46026,"_42535":46027,"_42537":46028,"_42539":46029,"_42541":46030,"_42543":46031,"_42545":46032,"_42547":46033,"_42549":46034,"_42551":46035,"_42553":46036,"_42555":46037,"_42557":46038,"_42559":46039,"_42561":46040,"_42563":46041,"_11309":46042,"_42566":46043,"_42568":46044,"_42570":46045,"_42572":46046,"_42574":46047,"_42576":46048,"_42578":46049,"_42580":46050,"_12634":46051,"_42583":46052,"_42585":46053,"_42587":46054,"_42589":46055,"_42591":46056,"_42593":46057,"_42595":46058,"_42597":46059,"_42599":46060,"_42601":46061,"_42603":46062,"_42605":46063,"_42607":46064,"_42609":46065,"_42611":46066,"_42613":46067,"_42615":46068,"_42617":46069,"_42619":46070,"_42621":46071,"_42623":46072,"_42625":46073,"_42627":46074,"_42629":46075,"_42631":46076,"_42633":46077,"_42635":46078,"_42637":46079,"_42639":46080,"_42641":46081,"_42643":46082,"_42645":46083,"_42647":46084,"_42649":46085,"_42651":46086,"_42653":46087,"_42655":46088,"_42657":46089,"_42659":46090,"_42661":46091,"_42663":46092,"_42665":46093,"_42667":46094,"_42669":46095,"_42671":46096,"_42673":46097,"_42675":46098,"_42677":46099,"_42679":46100,"_42681":46101,"_42683":46102,"_42685":46103,"_42687":46104,"_42689":46105,"_42691":46106,"_42693":46107,"_42695":46108,"_42697":46109,"_42699":46110,"_42701":46111,"_42703":46112,"_42705":46113,"_42707":46114,"_42709":46115,"_42711":46116,"_42713":46117,"_42715":46118,"_42717":46119,"_42719":46120,"_42721":46121,"_42723":46122,"_42725":46123,"_42727":46124,"_42729":46125,"_42731":46126,"_42733":46127,"_42735":46128,"_42737":46129,"_42739":46130,"_42741":46131,"_42743":46132,"_42745":46133,"_42747":46134,"_42749":46135,"_42751":46136,"_42753":46137,"_42755":46138,"_42757":46139,"_42759":46140,"_36137":46141,"_42762":46142,"_42764":46143,"_42766":46144,"_42768":46145,"_42770":46146,"_42772":46147,"_42774":46148,"_42776":46149,"_42778":46150,"_42780":46151,"_42782":46152,"_42784":46153,"_42786":46154,"_42788":46155,"_42790":46156,"_42792":46157,"_42794":46158,"_42796":46159,"_42798":46160,"_42800":46161,"_42802":46162,"_42804":46163,"_42806":46164,"_36615":46165,"_42809":46166,"_42811":46167,"_42813":46168,"_42815":46169,"_42817":46170,"_42819":46171,"_42821":46172,"_42823":46173,"_42825":46174,"_42827":46175,"_42829":46176,"_42831":46177,"_42833":46178,"_42835":46179,"_42837":46180,"_42839":46181,"_42841":46182,"_42843":46183,"_42845":46184,"_42847":46185,"_42849":46186,"_42851":46187,"_42853":46188,"_42855":46189,"_42857":46190,"_42859":46191,"_42861":46192,"_42863":46193,"_42865":46194,"_42867":46195,"_42869":46196,"_42871":46197,"_42873":46198,"_42875":46199,"_42877":46200,"_42879":46201,"_42881":46202,"_42883":46203,"_42885":46204,"_42887":46205,"_42889":46206,"_42891":46207,"_42893":46208,"_42895":46209,"_42897":46210,"_42899":46211,"_42901":46212,"_42903":46213,"_42905":46214,"_42907":46215,"_42909":46216,"_42911":46217,"_42913":46218,"_42915":46219,"_42917":46220,"_42919":46221,"_42921":46222,"_42923":46223,"_42925":46224,"_42927":46225,"_42929":46226,"_42931":46227,"_42933":46228,"_42935":46229,"_42937":46230,"_42939":46231,"_42941":46232,"_42943":46233,"_42945":46234,"_42947":46235,"_42949":46236,"_42951":46237,"_42953":46238,"_42955":46239,"_42957":46240,"_42959":46241,"_42961":46242,"_42963":46243,"_42965":46244,"_42967":46245,"_42969":46246,"_42971":46247,"_42973":46248,"_42975":46249,"_42977":46250,"_42979":46251,"_42981":46252,"_42983":46253,"_42985":46254,"_42987":46255,"_42989":46256,"_42991":46257,"_42993":46258,"_42995":46259,"_42997":46260,"_42999":46261,"_43001":46262,"_43003":46263,"_43005":46264,"_43007":46265,"_43009":46266,"_36684":46267,"_43012":46268,"_43014":46269,"_43016":46270,"_43018":46271,"_43020":46272,"_43022":46273,"_43024":46274,"_43026":46275,"_43028":46276,"_43030":46277,"_43032":46278,"_43034":46279,"_43036":46280,"_43038":46281,"_43040":46282,"_43042":46283,"_43044":46284,"_43046":46285,"_36678":46286,"_43049":46287,"_43051":46288,"_43053":46289,"_43055":46290,"_43057":46291,"_43059":46292,"_43061":46293,"_43063":46294,"_43065":46295,"_43067":46296,"_43069":46297,"_43071":46298,"_43073":46299,"_43075":46300,"_43077":46301,"_43079":46302,"_43081":46303,"_43083":46304,"_43085":46305,"_43087":46306,"_43089":46307,"_43091":46308,"_43093":46309,"_43095":46310,"_43097":46311,"_43099":46312,"_43101":46313,"_43103":46314,"_43105":46315,"_43107":46316,"_43109":46317,"_43111":46318,"_43113":46319,"_43115":46320,"_43117":46321,"_43119":46322,"_43121":46323,"_43123":46324,"_43125":46325,"_43127":46326,"_43129":46327,"_43131":46328,"_43133":46329,"_43135":46330,"_43137":46331,"_43139":46332,"_43141":46333,"_43143":46334,"_43145":46335,"_43147":46336,"_43149":46337,"_43151":46338,"_43153":46339,"_43155":46340,"_43157":46341,"_43159":46342,"_43161":46343,"_43163":46344,"_43165":46345,"_43167":46346,"_43169":46347,"_43171":46348,"_43173":46349,"_43175":46350,"_43177":46351,"_43179":46352,"_43181":46353,"_43183":46354,"_43185":46355,"_43187":46356,"_43189":46357,"_43191":46358,"_43193":46359,"_43195":46360,"_43197":46361,"_43199":46362,"_43201":46363,"_43203":46364,"_43205":46365,"_43207":46366,"_43209":46367,"_43211":46368,"_43213":46369,"_43215":46370,"_43217":46371,"_43219":46372,"_43221":46373,"_43223":46374,"_43225":46375,"_43227":46376,"_43229":46377,"_43231":46378,"_43234":46379,"_43236":46380,"_43238":46381,"_43240":46382,"_43242":46383,"_43244":46384,"_43246":46385,"_43248":46386,"_43250":46387,"_43252":46388,"_43254":46389,"_43256":46390,"_43258":46391,"_43260":46392,"_43262":46393,"_43264":46394,"_43266":46395,"_43268":46396,"_43270":46397,"_43272":46398,"_43274":46399,"_43276":46400,"_43278":46401,"_43280":46402,"_43282":46403,"_43284":46404,"_43286":46405,"_43288":46406,"_43290":46407,"_43292":46408,"_43294":46409,"_43296":46410,"_43298":46411,"_43300":46412,"_43302":46413,"_43304":46414,"_43306":46415,"_43308":46416,"_43310":46417,"_43312":46418,"_43314":46419,"_43316":46420,"_43318":46421,"_43320":46422,"_43322":46423,"_43324":46424,"_43326":46425,"_43328":46426,"_43330":46427,"_43332":46428,"_43334":46429,"_43336":46430,"_43339":46431,"_43341":46432,"_43343":46433,"_43345":46434,"_43347":46435,"_43349":46436,"_43351":46437,"_43353":46438,"_43355":46439,"_43357":46440,"_43359":46441,"_43361":46442,"_43363":46443,"_43365":46444,"_43367":46445,"_43369":46446,"_43371":46447,"_43373":46448,"_43375":46449,"_43377":46450,"_43379":46451,"_43381":46452,"_43383":46453,"_43385":46454,"_43387":46455,"_43389":46456,"_43391":46457,"_43393":46458,"_43396":46459,"_43398":46460,"_43400":46461,"_43402":46462,"_43404":46463,"_43406":46464,"_43408":46465,"_43410":46466,"_43412":46467,"_43414":46468,"_43416":46469,"_43418":46470,"_43420":46471,"_43422":46472,"_43424":46473,"_43426":46474,"_43428":46475,"_43430":46476,"_43432":46477,"_43434":46478,"_43436":46479,"_43438":46480,"_43440":46481,"_43442":46482,"_43444":46483,"_43446":46484,"_43448":46485,"_43450":46486,"_43452":46487,"_43454":46488,"_43456":46489,"_43458":46490,"_43461":46491,"_43463":46492,"_43465":46493,"_43467":46494,"_43469":46495,"_43471":46496,"_43473":46497,"_43475":46498,"_43477":46499,"_43479":46500,"_43481":46501,"_43483":46502,"_43485":46503,"_43487":46504,"_43489":46505,"_43491":46506,"_43493":46507,"_43495":46508,"_43497":46509,"_43499":46510,"_43501":46511,"_43503":46512,"_43505":46513,"_43507":46514,"_43509":46515,"_43511":46516,"_43513":46517,"_43515":46518,"_43517":46519,"_43519":46520,"_43521":46521,"_43523":46522,"_43525":46523,"_43527":46524,"_43529":46525,"_43531":46526,"_43533":46527,"_43535":46528,"_43537":46529,"_43539":46530,"_43541":46531,"_43543":46532,"_43545":46533,"_43547":46534,"_43549":46535,"_43551":46536,"_43553":46537,"_43555":46538,"_43557":46539,"_43559":46540,"_43561":46541,"_43563":46542,"_43565":46543,"_43567":46544,"_43569":46545,"_43571":46546,"_43573":46547,"_43575":46548,"_43577":46549,"_43579":46550,"_43581":46551,"_43583":46552,"_43585":46553,"_43587":46554,"_43589":46555,"_43591":46556,"_43593":46557,"_43595":46558,"_43597":46559,"_43599":46560,"_43601":46561,"_43603":46562,"_43605":46563,"_43607":46564,"_43609":46565,"_43611":46566,"_43613":46567,"_43615":46568,"_43617":46569,"_43619":46570,"_43621":46571,"_43623":46572,"_43625":46573,"_43627":46574,"_43629":46575,"_43631":46576,"_43633":46577,"_43635":46578,"_43637":46579,"_43639":46580,"_43641":46581,"_43643":46582,"_43645":46583,"_43647":46584,"_43649":46585,"_43651":46586,"_43653":46587,"_43655":46588,"_43657":46589,"_43659":46590,"_43661":46591,"_43663":46592,"_43665":46593,"_43667":46594,"_43669":46595,"_43671":46596,"_43673":46597,"_43675":46598,"_43677":46599,"_43679":46600,"_43681":46601,"_43683":46602,"_43685":46603,"_43687":46604,"_43689":46605,"_43691":46606,"_43693":46607,"_43695":46608,"_43697":46609,"_43699":46610,"_43701":46611,"_43703":46612,"_43705":46613,"_43707":46614,"_43709":46615,"_43711":46616,"_43713":46617,"_43715":46618,"_43717":46619,"_43719":46620,"_43721":46621,"_43723":46622,"_43725":46623,"_43727":46624,"_43729":46625,"_43731":46626,"_43733":46627,"_43735":46628,"_43737":46629,"_43739":46630,"_43741":46631,"_43743":46632,"_43745":46633,"_43747":46634,"_43749":46635,"_43751":46636,"_43753":46637,"_43755":46638,"_43757":46639,"_43759":46640,"_43761":46641,"_43763":46642,"_43765":46643,"_43767":46644,"_43769":46645,"_43771":46646,"_43773":46647,"_43775":46648,"_43777":46649,"_43779":46650,"_43781":46651,"_43783":46652,"_43785":46653,"_43787":46654,"_43789":46655,"_43791":46656,"_43793":46657,"_43795":46658,"_43797":46659,"_43799":46660,"_43801":46661,"_43803":46662,"_43805":46663,"_43807":46664,"_43809":46665,"_43811":46666,"_43813":46667,"_43815":46668,"_43817":46669,"_43819":46670,"_43821":46671,"_43823":46672,"_43825":46673,"_43827":46674,"_43829":46675,"_43831":46676,"_43833":46677,"_43835":46678,"_43837":46679,"_43839":46680,"_43841":46681,"_43843":46682,"_43845":46683,"_43847":46684,"_43849":46685,"_43851":46686,"_43853":46687,"_43855":46688,"_43857":46689,"_43859":46690,"_43861":46691,"_43863":46692,"_43865":46693,"_43867":46694,"_43869":46695,"_43871":46696,"_43873":46697,"_43875":46698,"_43877":46699,"_43879":46700,"_43881":46701,"_43883":46702,"_43885":46703,"_43887":46704,"_43889":46705,"_43891":46706,"_43893":46707,"_43895":46708,"_43897":46709,"_43899":46710,"_43901":46711,"_43903":46712,"_43905":46713,"_43907":46714,"_43909":46715,"_43911":46716,"_43913":46717,"_43915":46718,"_43917":46719,"_43919":46720,"_43921":46721,"_43923":46722,"_43925":46723,"_43927":46724,"_43929":46725,"_43931":46726,"_43933":46727,"_43935":46728,"_43937":46729,"_43939":46730,"_43941":46731,"_43943":46732,"_43945":46733,"_43947":46734,"_43949":46735,"_43951":46736,"_43953":46737,"_43955":46738,"_43957":46739,"_43959":46740,"_43961":46741,"_43963":46742,"_43965":46743,"_43967":46744,"_43969":46745,"_43971":46746,"_43973":46747,"_43975":46748,"_43977":46749,"_43979":46750,"_43981":46751,"_43983":46752,"_43985":46753,"_43987":46754,"_43989":46755,"_43991":46756,"_43993":46757,"_43995":46758,"_43997":46759,"_43999":46760,"_44001":46761,"_44003":46762,"_44005":46763,"_44007":46764,"_44009":46765,"_44011":46766,"_44013":46767,"_44015":46768,"_44017":46769,"_44019":46770,"_44021":46771,"_44023":46772,"_44025":46773,"_44027":46774,"_44029":46775,"_44031":46776,"_44033":46777,"_44035":46778,"_44037":46779,"_44039":46780,"_44041":46781,"_44043":46782,"_44045":46783,"_44047":46784,"_44049":46785,"_44051":46786,"_44053":46787,"_44055":46788,"_44057":46789,"_44059":46790,"_44061":46791,"_44063":46792,"_44065":46793,"_44067":46794,"_44069":46795,"_44071":46796,"_44073":46797,"_44075":46798,"_44077":46799,"_44079":46800,"_44081":46801,"_44083":46802,"_44085":46803,"_44087":46804,"_44089":46805,"_44091":46806,"_44093":46807,"_44095":46808,"_44097":46809,"_44099":46810,"_44101":46811,"_44103":46812,"_44105":46813,"_44107":46814,"_44109":46815,"_44111":46816,"_44113":46817,"_44115":46818,"_44117":46819,"_44119":46820,"_44121":46821,"_44123":46822,"_44125":46823,"_44127":46824,"_44129":46825,"_44131":46826,"_44133":46827,"_44135":46828,"_44137":46829,"_44139":46830,"_44141":46831,"_44143":46832,"_44145":46833,"_44147":46834,"_44149":46835,"_44151":46836,"_44153":46837,"_44155":46838,"_44157":46839,"_44159":46840,"_44161":46841,"_44163":46842,"_44165":46843,"_44167":46844,"_44169":46845,"_44171":46846,"_44173":46847,"_44175":46848,"_44177":46849,"_44179":46850,"_44181":46851,"_44183":46852,"_44185":46853,"_44187":46854,"_44189":46855,"_44191":46856,"_44193":46857,"_44195":46858,"_44197":46859,"_44199":46860,"_44201":46861,"_44203":46862,"_44205":46863,"_44207":46864,"_44209":46865,"_44211":46866,"_44213":46867,"_44215":46868,"_44217":46869,"_44219":46870,"_44221":46871,"_44223":46872,"_44225":46873,"_44227":46874,"_44229":46875,"_44231":46876,"_44233":46877,"_44235":46878,"_44237":46879,"_44239":46880,"_44241":46881,"_44243":46882,"_44245":46883,"_44247":46884,"_44249":46885,"_44251":46886,"_44253":46887,"_44255":46888,"_44257":46889,"_44259":46890,"_44261":46891,"_44263":46892,"_44265":46893,"_44267":46894,"_44269":46895,"_44271":46896,"_44273":46897,"_44275":46898,"_44277":46899,"_44279":46900,"_44281":46901,"_44283":46902,"_44285":46903,"_44287":46904,"_44289":46905,"_44291":46906,"_44293":46907,"_44295":46908,"_44297":46909,"_44299":46910,"_44301":46911,"_44303":46912,"_44305":46913,"_44307":46914,"_44309":46915,"_44311":46916,"_44313":46917,"_44315":46918,"_44317":46919,"_44319":46920,"_44321":46921,"_44323":46922,"_44325":46923,"_44327":46924,"_44329":46925,"_44331":46926,"_44333":46927,"_44335":46928,"_44337":46929,"_44339":46930,"_44341":46931,"_44343":46932,"_44345":46933,"_44347":46934,"_44349":46935,"_44351":46936,"_44353":46937,"_44355":46938,"_44357":46939,"_44359":46940,"_44361":46941,"_44363":46942,"_44365":46943,"_44367":46944,"_44369":46945,"_44371":46946,"_44373":46947,"_44375":46948,"_44377":46949,"_44379":46950,"_44381":46951,"_44383":46952,"_44385":46953,"_44387":46954,"_44389":46955,"_44391":46956,"_44393":46957,"_44395":46958,"_44397":46959,"_44399":46960,"_44401":46961,"_44403":46962,"_44405":46963,"_44407":46964,"_44409":46965,"_44411":46966,"_44413":46967,"_44415":46968,"_44417":46969,"_44419":46970,"_44421":46971,"_44423":46972,"_44425":46973,"_44427":46974,"_44429":46975,"_44431":46976,"_44433":46977,"_44435":46978,"_44437":46979,"_44439":46980,"_44441":46981,"_44443":46982,"_44445":46983,"_44447":46984,"_44449":46985,"_44451":46986,"_44453":46987,"_44455":46988,"_44457":46989,"_44459":46990,"_44461":46991,"_44463":46992,"_44465":46993,"_44467":46994,"_44469":46995,"_44471":46996,"_44473":46997,"_44475":46998,"_44477":46999,"_44479":47000,"_44481":47001,"_44483":47002,"_44485":47003,"_44487":47004,"_44489":47005,"_44491":47006,"_44493":47007,"_44495":47008,"_44497":47009,"_44499":47010,"_44501":47011,"_44503":47012,"_44505":47013,"_44507":47014,"_44509":47015,"_44511":47016,"_44513":47017,"_44515":47018,"_44517":47019,"_44519":47020,"_44521":47021,"_44523":47022,"_44525":47023,"_44527":47024,"_44529":47025,"_44531":47026,"_44533":47027,"_44535":47028,"_44537":47029,"_44539":47030,"_44541":47031,"_44543":47032,"_44545":47033,"_44547":47034,"_44549":47035,"_44551":47036,"_44553":47037,"_44555":47038,"_44557":47039,"_44559":47040,"_16417":47041,"_44562":47042,"_44564":47043,"_44566":47044,"_44568":47045,"_44570":47046,"_44572":47047,"_44574":47048,"_44576":47049,"_44578":47050,"_44580":47051,"_44582":47052,"_44584":47053,"_44586":47054,"_44588":47055,"_16490":47056,"_44591":47057,"_44593":47058,"_44595":47059,"_44597":47060,"_44599":47061,"_44601":47062,"_44603":47063,"_44605":47064,"_44607":47065,"_44609":47066,"_44611":47067,"_44613":47068,"_44615":47069,"_44617":47070,"_44619":47071,"_44621":47072,"_44623":47073,"_44625":47074,"_44627":47075,"_44629":47076,"_44631":47077,"_44633":47078,"_44635":47079,"_44637":47080,"_44639":47081,"_44641":47082,"_44643":47083,"_44645":47084,"_44647":47085,"_44649":47086,"_44651":47087,"_44653":47088,"_44655":47089,"_44657":47090,"_44659":47091,"_44661":47092,"_44663":47093,"_44665":47094,"_44667":47095,"_44669":47096,"_44671":47097,"_44673":47098,"_44675":47099,"_44677":47100,"_44679":47101,"_44681":47102,"_44683":47103,"_44685":47104,"_44687":47105,"_44689":47106,"_44691":47107,"_44693":47108,"_44695":47109,"_44697":47110,"_44699":47111,"_44701":47112,"_44703":47113,"_44705":47114,"_44707":47115,"_44709":47116,"_44711":47117,"_44713":47118,"_44715":47119,"_44717":47120,"_44719":47121,"_44721":47122,"_44723":47123,"_44725":47124,"_44727":47125,"_44729":47126,"_44731":47127,"_44733":47128,"_44735":47129,"_44737":47130,"_44739":47131,"_36662":47132,"_44742":47133,"_44744":47134,"_44746":47135,"_44748":47136,"_44750":47137,"_44752":47138,"_44754":47139,"_44756":47140,"_37339":47141,"_44759":47142,"_44761":47143,"_44763":47144,"_44765":47145,"_44767":47146,"_44769":47147,"_44771":47148,"_37329":47149,"_44774":47150,"_44776":47151,"_44778":47152,"_37349":47153,"_44781":47154,"_44783":47155,"_37365":47156,"_44786":47157,"_44788":47158,"_37354":47159,"_44791":47160,"_44793":47161,"_44795":47162,"_44797":47163,"_44799":47164,"_44801":47165,"_44803":47166,"_44805":47167,"_44807":47168,"_44809":47169,"_44811":47170,"_44813":47171,"_44815":47172,"_44817":47173,"_44819":47174,"_44821":47175,"_44823":47176,"_44825":47177,"_44827":47178,"_44829":47179,"_44831":47180,"_44833":47181,"_44835":47182,"_44837":47183,"_44839":47184,"_44841":47185,"_44843":47186,"_44845":47187,"_44847":47188,"_16496":47189,"_44850":47190,"_44852":47191,"_44854":47192,"_44856":47193,"_44858":47194,"_44860":47195,"_44862":47196,"_44864":47197,"_44866":47198,"_44868":47199,"_44870":47200,"_44872":47201,"_44874":47202,"_44876":47203,"_44878":47204,"_44880":47205,"_44882":47206,"_44884":47207,"_44886":47208,"_44888":47209,"_44890":47210,"_44892":47211,"_44894":47212,"_44896":47213,"_44898":47214,"_44900":47215,"_44902":47216,"_44904":47217,"_44906":47218,"_44908":47219,"_44910":47220,"_44912":47221,"_44914":47222,"_44916":47223,"_44918":47224,"_44920":47225,"_44922":47226,"_44924":47227,"_44926":47228,"_44928":47229,"_44930":47230,"_44932":47231,"_44934":47232,"_44936":47233,"_44938":47234,"_44940":47235,"_44942":47236,"_44944":47237,"_44946":47238,"_44948":47239,"_44950":47240,"_44952":47241,"_44954":47242,"_44956":47243,"_44958":47244,"_44960":47245,"_44962":47246,"_44964":47247,"_44966":47248,"_44968":47249,"_44970":47250,"_44972":47251,"_44974":47252,"_44976":47253,"_44978":47254,"_44980":47255,"_44982":47256,"_44984":47257,"_44986":47258,"_44988":47259,"_44990":47260,"_44992":47261,"_44994":47262,"_44996":47263,"_44998":47264,"_45000":47265,"_45002":47266,"_45004":47267,"_45006":47268,"_45008":47269,"_45010":47270,"_45012":47271,"_45014":47272,"_45016":47273,"_45018":47274,"_45020":47275,"_45022":47276,"_45024":47277,"_45026":47278,"_45028":47279,"_45030":47280,"_45032":47281,"_45034":47282,"_45036":47283,"_45038":47284,"_45040":47285,"_45042":47286,"_45044":47287,"_45046":47288,"_45048":47289,"_45050":47290,"_45052":47291,"_45054":47292,"_45056":47293,"_45058":47294,"_45060":47295,"_45062":47296,"_45064":47297,"_45066":47298,"_45068":47299,"_45070":47300,"_45072":47301,"_45074":47302,"_45076":47303,"_45078":47304,"_45080":47305,"_45082":47306,"_45084":47307,"_45086":47308,"_45088":47309,"_45090":47310,"_45092":47311,"_45094":47312,"_45096":47313,"_45098":47314,"_45100":47315,"_45102":47316,"_45104":47317,"_45106":47318,"_45108":47319,"_45110":47320,"_45112":47321,"_37455":47322,"_45115":47323,"_45117":47324,"_45119":47325,"_45121":47326,"_45123":47327,"_45125":47328,"_45127":47329,"_45129":47330,"_45131":47331,"_45133":47332,"_45135":47333,"_45137":47334,"_45139":47335},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40853,"_37759":40853,"_37769":40853},{"_24672":40853,"_37759":40853,"_37769":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":3013},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_6884":47337,"_5968":47338,"_11313":47339,"_11353":47340,"_11327":47341,"_11320":47342,"_11346":47343,"_11375":47344,"_11306":47345,"_36123":47346,"_11342":47347,"_36627":47348,"_36749":47349,"_36700":47350,"_11445":47351,"_12197":47352,"_36739":47353,"_36759":47354,"_12027":47355,"_11889":47356,"_37450":47357,"_12203":47358,"_40818":47359,"_36616":47360,"_36046":47361,"_36685":47362,"_12270":47363,"_37480":47364,"_12512":47365,"_35574":47366,"_35645":47367,"_35619":47368,"_12054":47369,"_35635":47370,"_35650":47371,"_12102":47372,"_35655":47373,"_11406":47374,"_11866":47375,"_12080":47376,"_40847":47377,"_40849":47378,"_40851":47379,"_40854":47380,"_36679":47381,"_40857":47382,"_11356":47383,"_40862":47384,"_12471":47385,"_36302":47386,"_12518":47387,"_11438":47388,"_37112":47389,"_40872":47390,"_40874":47391,"_40876":47392,"_40879":47393,"_37107":47394,"_37102":47395,"_11469":47396,"_40886":47397,"_40889":47398,"_40891":47399,"_30746":47400,"_40894":47401,"_40897":47402,"_40899":47403,"_40902":47404,"_40904":47405,"_40906":47406,"_40909":47407,"_40912":47408,"_40914":47409,"_11485":47410,"_40918":47411,"_36784":47412,"_40921":47413,"_11684":47414,"_11349":47415,"_36838":47416,"_37456":47417,"_12393":47418,"_40929":47419,"_40931":47420,"_40933":47421,"_36853":47422,"_40936":47423,"_11378":47424,"_12108":47425,"_35688":47426,"_36663":47427,"_40943":47428,"_40945":47429,"_37626":47430,"_40948":47431,"_11421":47432,"_40951":47433,"_40953":47434,"_12125":47435,"_36130":47436,"_40958":47437,"_40960":47438,"_40963":47439,"_40965":47440,"_40967":47441,"_40969":47442,"_40971":47443,"_11336":47444,"_40974":47445,"_40976":47446,"_40978":47447,"_40980":47448,"_40982":47449,"_40985":47450,"_16358":47451,"_40988":47452,"_40990":47453,"_40992":47454,"_40994":47455,"_40996":47456,"_40998":47457,"_41001":47458,"_41003":47459,"_41005":47460,"_41007":47461,"_41010":47462,"_36637":47463,"_36632":47464,"_41015":47465,"_36754":47466,"_41019":47467,"_41021":47468,"_41023":47469,"_41025":47470,"_41027":47471,"_41029":47472,"_41031":47473,"_41033":47474,"_41035":47475,"_41037":47476,"_41039":47477,"_41041":47478,"_41043":47479,"_41046":47480,"_41048":47481,"_41050":47482,"_41052":47483,"_41054":47484,"_41057":47485,"_41059":47486,"_41061":47487,"_41063":47488,"_41065":47489,"_41067":47490,"_41069":47491,"_41071":47492,"_41073":47493,"_41075":47494,"_41077":47495,"_41079":47496,"_41081":47497,"_41083":47498,"_41085":47499,"_41087":47500,"_41089":47501,"_41091":47502,"_41093":47503,"_36725":47504,"_41096":47505,"_41098":47506,"_41100":47507,"_36744":47508,"_41103":47509,"_41105":47510,"_41108":47511,"_41110":47512,"_41112":47513,"_41114":47514,"_41116":47515,"_41118":47516,"_41120":47517,"_41122":47518,"_41124":47519,"_41126":47520,"_41128":47521,"_41130":47522,"_41132":47523,"_41134":47524,"_41136":47525,"_41138":47526,"_41140":47527,"_36651":47528,"_41145":47529,"_36646":47530,"_41149":47531,"_41151":47532,"_41153":47533,"_41155":47534,"_41157":47535,"_16474":47536,"_37344":47537,"_35538":47538,"_41164":47539,"_41166":47540,"_41169":47541,"_41171":47542,"_41173":47543,"_41176":47544,"_41178":47545,"_41180":47546,"_41183":47547,"_41186":47548,"_41188":47549,"_41190":47550,"_41192":47551,"_41194":47552,"_41197":47553,"_41199":47554,"_41201":47555,"_41203":47556,"_41206":47557,"_41208":47558,"_41210":47559,"_41212":47560,"_41214":47561,"_41216":47562,"_41218":47563,"_41220":47564,"_41222":47565,"_41224":47566,"_41226":47567,"_41228":47568,"_41230":47569,"_41232":47570,"_41234":47571,"_41236":47572,"_41238":47573,"_41240":47574,"_41242":47575,"_41244":47576,"_41246":47577,"_41248":47578,"_41250":47579,"_41252":47580,"_41254":47581,"_41256":47582,"_41258":47583,"_41260":47584,"_41262":47585,"_37379":47586,"_41266":47587,"_41268":47588,"_41270":47589,"_37384":47590,"_37374":47591,"_22897":47592,"_41275":47593,"_41277":47594,"_41279":47595,"_41281":47596,"_41283":47597,"_41285":47598,"_41287":47599,"_41290":47600,"_41292":47601,"_41294":47602,"_41296":47603,"_41298":47604,"_41300":47605,"_41302":47606,"_41305":47607,"_41307":47608,"_41309":47609,"_41311":47610,"_41313":47611,"_41315":47612,"_41317":47613,"_41319":47614,"_41321":47615,"_41323":47616,"_41325":47617,"_41327":47618,"_41329":47619,"_41331":47620,"_41333":47621,"_41335":47622,"_41337":47623,"_37485":47624,"_41340":47625,"_41342":47626,"_41344":47627,"_41346":47628,"_41349":47629,"_41351":47630,"_41353":47631,"_41355":47632,"_41357":47633,"_41359":47634,"_41362":47635,"_35589":47636,"_41365":47637,"_41367":47638,"_41369":47639,"_35579":47640,"_41372":47641,"_41375":47642,"_41378":47643,"_41380":47644,"_41383":47645,"_41386":47646,"_41388":47647,"_41390":47648,"_41392":47649,"_41394":47650,"_41396":47651,"_41398":47652,"_41401":47653,"_41404":47654,"_41406":47655,"_11390":47656,"_41409":47657,"_41411":47658,"_41413":47659,"_41415":47660,"_35624":47661,"_41418":47662,"_41420":47663,"_41422":47664,"_41424":47665,"_41426":47666,"_41428":47667,"_11316":47668,"_41432":47669,"_41434":47670,"_41436":47671,"_41438":47672,"_41440":47673,"_41442":47674,"_41444":47675,"_35640":47676,"_41447":47677,"_41449":47678,"_41451":47679,"_41453":47680,"_41455":47681,"_41457":47682,"_41459":47683,"_41461":47684,"_41463":47685,"_41465":47686,"_41467":47687,"_41469":47688,"_41471":47689,"_41473":47690,"_41475":47691,"_41477":47692,"_41479":47693,"_41481":47694,"_41483":47695,"_41485":47696,"_41487":47697,"_41489":47698,"_41491":47699,"_41493":47700,"_41495":47701,"_41497":47702,"_41499":47703,"_41501":47704,"_41503":47705,"_41505":47706,"_41507":47707,"_41509":47708,"_41511":47709,"_41514":47710,"_41516":47711,"_41518":47712,"_41520":47713,"_41522":47714,"_41524":47715,"_41526":47716,"_41528":47717,"_41530":47718,"_41532":47719,"_22920":47720,"_41536":47721,"_41538":47722,"_41540":47723,"_35672":47724,"_41543":47725,"_41545":47726,"_41547":47727,"_41549":47728,"_41551":47729,"_41553":47730,"_41555":47731,"_41557":47732,"_41559":47733,"_41561":47734,"_41563":47735,"_36040":47736,"_41566":47737,"_41568":47738,"_41571":47739,"_41573":47740,"_41575":47741,"_41577":47742,"_41580":47743,"_41582":47744,"_41584":47745,"_41586":47746,"_41588":47747,"_41590":47748,"_41592":47749,"_41595":47750,"_41597":47751,"_41599":47752,"_41601":47753,"_41603":47754,"_41605":47755,"_41608":47756,"_41610":47757,"_41612":47758,"_41614":47759,"_41616":47760,"_36045":47761,"_41619":47762,"_41621":47763,"_41623":47764,"_41625":47765,"_41627":47766,"_41629":47767,"_41631":47768,"_41633":47769,"_41635":47770,"_41637":47771,"_41639":47772,"_36051":47773,"_41642":47774,"_41644":47775,"_41646":47776,"_41648":47777,"_41650":47778,"_41652":47779,"_41654":47780,"_41656":47781,"_41658":47782,"_41660":47783,"_41662":47784,"_41665":47785,"_41668":47786,"_41670":47787,"_41672":47788,"_41675":47789,"_41677":47790,"_41679":47791,"_41681":47792,"_41683":47793,"_41685":47794,"_41687":47795,"_41689":47796,"_41691":47797,"_41693":47798,"_41695":47799,"_41697":47800,"_41699":47801,"_41701":47802,"_41703":47803,"_41705":47804,"_41707":47805,"_41709":47806,"_41711":47807,"_41713":47808,"_41715":47809,"_41717":47810,"_41719":47811,"_41721":47812,"_41723":47813,"_41725":47814,"_41727":47815,"_41729":47816,"_41731":47817,"_41733":47818,"_41735":47819,"_41737":47820,"_41739":47821,"_11427":47822,"_41742":47823,"_41744":47824,"_41746":47825,"_41748":47826,"_41750":47827,"_41752":47828,"_41754":47829,"_41756":47830,"_41758":47831,"_41760":47832,"_41762":47833,"_41764":47834,"_41766":47835,"_37087":47836,"_12612":47837,"_41770":47838,"_41772":47839,"_41774":47840,"_41776":47841,"_41778":47842,"_41780":47843,"_41782":47844,"_41784":47845,"_41786":47846,"_41788":47847,"_41790":47848,"_41792":47849,"_41794":47850,"_41796":47851,"_41798":47852,"_41800":47853,"_41802":47854,"_41804":47855,"_41806":47856,"_41808":47857,"_41810":47858,"_41812":47859,"_41814":47860,"_41816":47861,"_41818":47862,"_41820":47863,"_41822":47864,"_41824":47865,"_41826":47866,"_41828":47867,"_41830":47868,"_41832":47869,"_41834":47870,"_41836":47871,"_41838":47872,"_41840":47873,"_41842":47874,"_41844":47875,"_41846":47876,"_41848":47877,"_41850":47878,"_41852":47879,"_41854":47880,"_36062":47881,"_41857":47882,"_41859":47883,"_41861":47884,"_41863":47885,"_41865":47886,"_41867":47887,"_41869":47888,"_41871":47889,"_41873":47890,"_41875":47891,"_41877":47892,"_41879":47893,"_41881":47894,"_41883":47895,"_41885":47896,"_41887":47897,"_41889":47898,"_41891":47899,"_41893":47900,"_41895":47901,"_41897":47902,"_41899":47903,"_41901":47904,"_41903":47905,"_41905":47906,"_41907":47907,"_41909":47908,"_41911":47909,"_41913":47910,"_11384":47911,"_41916":47912,"_41918":47913,"_41920":47914,"_41922":47915,"_41924":47916,"_41926":47917,"_41928":47918,"_41930":47919,"_41932":47920,"_41934":47921,"_16423":47922,"_41937":47923,"_41939":47924,"_41941":47925,"_11330":47926,"_41944":47927,"_41946":47928,"_41948":47929,"_41950":47930,"_41952":47931,"_41954":47932,"_41956":47933,"_41958":47934,"_41960":47935,"_41962":47936,"_41964":47937,"_41966":47938,"_41968":47939,"_41970":47940,"_41972":47941,"_41974":47942,"_41976":47943,"_41978":47944,"_41980":47945,"_41982":47946,"_41984":47947,"_41986":47948,"_41988":47949,"_41990":47950,"_41992":47951,"_41994":47952,"_41996":47953,"_41998":47954,"_42000":47955,"_42002":47956,"_42004":47957,"_42006":47958,"_11323":47959,"_42009":47960,"_42011":47961,"_42013":47962,"_42015":47963,"_42017":47964,"_42019":47965,"_42021":47966,"_42023":47967,"_42025":47968,"_42027":47969,"_42029":47970,"_42031":47971,"_42033":47972,"_42035":47973,"_42037":47974,"_42039":47975,"_42041":47976,"_42043":47977,"_42045":47978,"_42047":47979,"_42049":47980,"_42051":47981,"_42053":47982,"_42055":47983,"_42057":47984,"_42059":47985,"_42061":47986,"_42063":47987,"_42065":47988,"_42067":47989,"_42069":47990,"_42071":47991,"_42073":47992,"_42075":47993,"_42077":47994,"_42079":47995,"_42081":47996,"_42083":47997,"_42085":47998,"_42087":47999,"_42089":48000,"_42091":48001,"_42093":48002,"_42095":48003,"_42097":48004,"_42099":48005,"_42101":48006,"_42103":48007,"_42105":48008,"_42107":48009,"_42109":48010,"_42111":48011,"_42114":48012,"_42116":48013,"_42118":48014,"_42120":48015,"_42122":48016,"_42124":48017,"_42126":48018,"_42128":48019,"_42130":48020,"_42132":48021,"_42134":48022,"_42136":48023,"_42139":48024,"_42141":48025,"_42143":48026,"_42146":48027,"_42148":48028,"_42151":48029,"_42153":48030,"_42155":48031,"_42157":48032,"_42159":48033,"_42161":48034,"_42163":48035,"_42165":48036,"_42167":48037,"_42169":48038,"_42171":48039,"_42173":48040,"_42175":48041,"_42177":48042,"_42180":48043,"_42182":48044,"_42184":48045,"_42186":48046,"_42188":48047,"_42190":48048,"_42192":48049,"_42194":48050,"_42196":48051,"_42198":48052,"_42200":48053,"_42202":48054,"_42204":48055,"_42206":48056,"_42208":48057,"_42210":48058,"_42212":48059,"_42214":48060,"_42216":48061,"_42218":48062,"_42220":48063,"_42222":48064,"_42224":48065,"_42227":48066,"_11451":48067,"_42231":48068,"_42233":48069,"_42235":48070,"_42237":48071,"_42239":48072,"_42241":48073,"_42243":48074,"_42245":48075,"_42247":48076,"_42249":48077,"_42251":48078,"_42253":48079,"_42255":48080,"_42257":48081,"_42259":48082,"_42261":48083,"_42263":48084,"_42265":48085,"_42267":48086,"_42269":48087,"_42271":48088,"_42273":48089,"_42275":48090,"_42277":48091,"_42279":48092,"_42281":48093,"_42283":48094,"_42285":48095,"_42287":48096,"_42289":48097,"_42291":48098,"_42293":48099,"_42295":48100,"_42297":48101,"_42299":48102,"_42301":48103,"_42303":48104,"_42305":48105,"_42307":48106,"_42309":48107,"_42311":48108,"_42313":48109,"_42315":48110,"_42317":48111,"_42319":48112,"_42321":48113,"_42323":48114,"_42325":48115,"_42327":48116,"_42329":48117,"_42331":48118,"_42333":48119,"_12529":48120,"_42336":48121,"_42338":48122,"_42340":48123,"_42342":48124,"_42344":48125,"_42346":48126,"_37445":48127,"_42349":48128,"_42351":48129,"_42353":48130,"_42355":48131,"_42357":48132,"_42359":48133,"_42361":48134,"_42363":48135,"_35029":48136,"_42366":48137,"_42368":48138,"_42370":48139,"_42372":48140,"_42374":48141,"_42376":48142,"_42378":48143,"_42380":48144,"_42382":48145,"_42384":48146,"_42386":48147,"_42388":48148,"_42390":48149,"_42392":48150,"_42394":48151,"_42396":48152,"_42398":48153,"_42400":48154,"_42402":48155,"_42404":48156,"_42406":48157,"_42408":48158,"_42410":48159,"_42412":48160,"_42414":48161,"_42416":48162,"_42418":48163,"_42420":48164,"_42422":48165,"_42424":48166,"_42426":48167,"_42428":48168,"_42430":48169,"_42432":48170,"_42434":48171,"_42436":48172,"_42438":48173,"_42440":48174,"_42442":48175,"_42444":48176,"_42446":48177,"_12606":48178,"_42449":48179,"_42451":48180,"_42453":48181,"_42455":48182,"_42457":48183,"_42459":48184,"_42461":48185,"_42463":48186,"_42465":48187,"_42467":48188,"_42469":48189,"_42471":48190,"_42473":48191,"_42475":48192,"_42477":48193,"_42479":48194,"_42481":48195,"_42483":48196,"_42485":48197,"_42487":48198,"_42489":48199,"_42491":48200,"_42493":48201,"_42495":48202,"_42497":48203,"_42499":48204,"_42501":48205,"_42503":48206,"_42505":48207,"_42507":48208,"_42509":48209,"_42511":48210,"_42513":48211,"_42515":48212,"_42517":48213,"_42519":48214,"_42521":48215,"_42523":48216,"_42525":48217,"_42527":48218,"_42529":48219,"_42531":48220,"_42533":48221,"_42535":48222,"_42537":48223,"_42539":48224,"_42541":48225,"_42543":48226,"_42545":48227,"_42547":48228,"_42549":48229,"_42551":48230,"_42553":48231,"_42555":48232,"_42557":48233,"_42559":48234,"_42561":48235,"_42563":48236,"_11309":48237,"_42566":48238,"_42568":48239,"_42570":48240,"_42572":48241,"_42574":48242,"_42576":48243,"_42578":48244,"_42580":48245,"_12634":48246,"_42583":48247,"_42585":48248,"_42587":48249,"_42589":48250,"_42591":48251,"_42593":48252,"_42595":48253,"_42597":48254,"_42599":48255,"_42601":48256,"_42603":48257,"_42605":48258,"_42607":48259,"_42609":48260,"_42611":48261,"_42613":48262,"_42615":48263,"_42617":48264,"_42619":48265,"_42621":48266,"_42623":48267,"_42625":48268,"_42627":48269,"_42629":48270,"_42631":48271,"_42633":48272,"_42635":48273,"_42637":48274,"_42639":48275,"_42641":48276,"_42643":48277,"_42645":48278,"_42647":48279,"_42649":48280,"_42651":48281,"_42653":48282,"_42655":48283,"_42657":48284,"_42659":48285,"_42661":48286,"_42663":48287,"_42665":48288,"_42667":48289,"_42669":48290,"_42671":48291,"_42673":48292,"_42675":48293,"_42677":48294,"_42679":48295,"_42681":48296,"_42683":48297,"_42685":48298,"_42687":48299,"_42689":48300,"_42691":48301,"_42693":48302,"_42695":48303,"_42697":48304,"_42699":48305,"_42701":48306,"_42703":48307,"_42705":48308,"_42707":48309,"_42709":48310,"_42711":48311,"_42713":48312,"_42715":48313,"_42717":48314,"_42719":48315,"_42721":48316,"_42723":48317,"_42725":48318,"_42727":48319,"_42729":48320,"_42731":48321,"_42733":48322,"_42735":48323,"_42737":48324,"_42739":48325,"_42741":48326,"_42743":48327,"_42745":48328,"_42747":48329,"_42749":48330,"_42751":48331,"_42753":48332,"_42755":48333,"_42757":48334,"_42759":48335,"_36137":48336,"_42762":48337,"_42764":48338,"_42766":48339,"_42768":48340,"_42770":48341,"_42772":48342,"_42774":48343,"_42776":48344,"_42778":48345,"_42780":48346,"_42782":48347,"_42784":48348,"_42786":48349,"_42788":48350,"_42790":48351,"_42792":48352,"_42794":48353,"_42796":48354,"_42798":48355,"_42800":48356,"_42802":48357,"_42804":48358,"_42806":48359,"_36615":48360,"_42809":48361,"_42811":48362,"_42813":48363,"_42815":48364,"_42817":48365,"_42819":48366,"_42821":48367,"_42823":48368,"_42825":48369,"_42827":48370,"_42829":48371,"_42831":48372,"_42833":48373,"_42835":48374,"_42837":48375,"_42839":48376,"_42841":48377,"_42843":48378,"_42845":48379,"_42847":48380,"_42849":48381,"_42851":48382,"_42853":48383,"_42855":48384,"_42857":48385,"_42859":48386,"_42861":48387,"_42863":48388,"_42865":48389,"_42867":48390,"_42869":48391,"_42871":48392,"_42873":48393,"_42875":48394,"_42877":48395,"_42879":48396,"_42881":48397,"_42883":48398,"_42885":48399,"_42887":48400,"_42889":48401,"_42891":48402,"_42893":48403,"_42895":48404,"_42897":48405,"_42899":48406,"_42901":48407,"_42903":48408,"_42905":48409,"_42907":48410,"_42909":48411,"_42911":48412,"_42913":48413,"_42915":48414,"_42917":48415,"_42919":48416,"_42921":48417,"_42923":48418,"_42925":48419,"_42927":48420,"_42929":48421,"_42931":48422,"_42933":48423,"_42935":48424,"_42937":48425,"_42939":48426,"_42941":48427,"_42943":48428,"_42945":48429,"_42947":48430,"_42949":48431,"_42951":48432,"_42953":48433,"_42955":48434,"_42957":48435,"_42959":48436,"_42961":48437,"_42963":48438,"_42965":48439,"_42967":48440,"_42969":48441,"_42971":48442,"_42973":48443,"_42975":48444,"_42977":48445,"_42979":48446,"_42981":48447,"_42983":48448,"_42985":48449,"_42987":48450,"_42989":48451,"_42991":48452,"_42993":48453,"_42995":48454,"_42997":48455,"_42999":48456,"_43001":48457,"_43003":48458,"_43005":48459,"_43007":48460,"_43009":48461,"_36684":48462,"_43012":48463,"_43014":48464,"_43016":48465,"_43018":48466,"_43020":48467,"_43022":48468,"_43024":48469,"_43026":48470,"_43028":48471,"_43030":48472,"_43032":48473,"_43034":48474,"_43036":48475,"_43038":48476,"_43040":48477,"_43042":48478,"_43044":48479,"_43046":48480,"_36678":48481,"_43049":48482,"_43051":48483,"_43053":48484,"_43055":48485,"_43057":48486,"_43059":48487,"_43061":48488,"_43063":48489,"_43065":48490,"_43067":48491,"_43069":48492,"_43071":48493,"_43073":48494,"_43075":48495,"_43077":48496,"_43079":48497,"_43081":48498,"_43083":48499,"_43085":48500,"_43087":48501,"_43089":48502,"_43091":48503,"_43093":48504,"_43095":48505,"_43097":48506,"_43099":48507,"_43101":48508,"_43103":48509,"_43105":48510,"_43107":48511,"_43109":48512,"_43111":48513,"_43113":48514,"_43115":48515,"_43117":48516,"_43119":48517,"_43121":48518,"_43123":48519,"_43125":48520,"_43127":48521,"_43129":48522,"_43131":48523,"_43133":48524,"_43135":48525,"_43137":48526,"_43139":48527,"_43141":48528,"_43143":48529,"_43145":48530,"_43147":48531,"_43149":48532,"_43151":48533,"_43153":48534,"_43155":48535,"_43157":48536,"_43159":48537,"_43161":48538,"_43163":48539,"_43165":48540,"_43167":48541,"_43169":48542,"_43171":48543,"_43173":48544,"_43175":48545,"_43177":48546,"_43179":48547,"_43181":48548,"_43183":48549,"_43185":48550,"_43187":48551,"_43189":48552,"_43191":48553,"_43193":48554,"_43195":48555,"_43197":48556,"_43199":48557,"_43201":48558,"_43203":48559,"_43205":48560,"_43207":48561,"_43209":48562,"_43211":48563,"_43213":48564,"_43215":48565,"_43217":48566,"_43219":48567,"_43221":48568,"_43223":48569,"_43225":48570,"_43227":48571,"_43229":48572,"_43231":48573,"_43234":48574,"_43236":48575,"_43238":48576,"_43240":48577,"_43242":48578,"_43244":48579,"_43246":48580,"_43248":48581,"_43250":48582,"_43252":48583,"_43254":48584,"_43256":48585,"_43258":48586,"_43260":48587,"_43262":48588,"_43264":48589,"_43266":48590,"_43268":48591,"_43270":48592,"_43272":48593,"_43274":48594,"_43276":48595,"_43278":48596,"_43280":48597,"_43282":48598,"_43284":48599,"_43286":48600,"_43288":48601,"_43290":48602,"_43292":48603,"_43294":48604,"_43296":48605,"_43298":48606,"_43300":48607,"_43302":48608,"_43304":48609,"_43306":48610,"_43308":48611,"_43310":48612,"_43312":48613,"_43314":48614,"_43316":48615,"_43318":48616,"_43320":48617,"_43322":48618,"_43324":48619,"_43326":48620,"_43328":48621,"_43330":48622,"_43332":48623,"_43334":48624,"_43336":48625,"_43339":48626,"_43341":48627,"_43343":48628,"_43345":48629,"_43347":48630,"_43349":48631,"_43351":48632,"_43353":48633,"_43355":48634,"_43357":48635,"_43359":48636,"_43361":48637,"_43363":48638,"_43365":48639,"_43367":48640,"_43369":48641,"_43371":48642,"_43373":48643,"_43375":48644,"_43377":48645,"_43379":48646,"_43381":48647,"_43383":48648,"_43385":48649,"_43387":48650,"_43389":48651,"_43391":48652,"_43393":48653,"_43396":48654,"_43398":48655,"_43400":48656,"_43402":48657,"_43404":48658,"_43406":48659,"_43408":48660,"_43410":48661,"_43412":48662,"_43414":48663,"_43416":48664,"_43418":48665,"_43420":48666,"_43422":48667,"_43424":48668,"_43426":48669,"_43428":48670,"_43430":48671,"_43432":48672,"_43434":48673,"_43436":48674,"_43438":48675,"_43440":48676,"_43442":48677,"_43444":48678,"_43446":48679,"_43448":48680,"_43450":48681,"_43452":48682,"_43454":48683,"_43456":48684,"_43458":48685,"_43461":48686,"_43463":48687,"_43465":48688,"_43467":48689,"_43469":48690,"_43471":48691,"_43473":48692,"_43475":48693,"_43477":48694,"_43479":48695,"_43481":48696,"_43483":48697,"_43485":48698,"_43487":48699,"_43489":48700,"_43491":48701,"_43493":48702,"_43495":48703,"_43497":48704,"_43499":48705,"_43501":48706,"_43503":48707,"_43505":48708,"_43507":48709,"_43509":48710,"_43511":48711,"_43513":48712,"_43515":48713,"_43517":48714,"_43519":48715,"_43521":48716,"_43523":48717,"_43525":48718,"_43527":48719,"_43529":48720,"_43531":48721,"_43533":48722,"_43535":48723,"_43537":48724,"_43539":48725,"_43541":48726,"_43543":48727,"_43545":48728,"_43547":48729,"_43549":48730,"_43551":48731,"_43553":48732,"_43555":48733,"_43557":48734,"_43559":48735,"_43561":48736,"_43563":48737,"_43565":48738,"_43567":48739,"_43569":48740,"_43571":48741,"_43573":48742,"_43575":48743,"_43577":48744,"_43579":48745,"_43581":48746,"_43583":48747,"_43585":48748,"_43587":48749,"_43589":48750,"_43591":48751,"_43593":48752,"_43595":48753,"_43597":48754,"_43599":48755,"_43601":48756,"_43603":48757,"_43605":48758,"_43607":48759,"_43609":48760,"_43611":48761,"_43613":48762,"_43615":48763,"_43617":48764,"_43619":48765,"_43621":48766,"_43623":48767,"_43625":48768,"_43627":48769,"_43629":48770,"_43631":48771,"_43633":48772,"_43635":48773,"_43637":48774,"_43639":48775,"_43641":48776,"_43643":48777,"_43645":48778,"_43647":48779,"_43649":48780,"_43651":48781,"_43653":48782,"_43655":48783,"_43657":48784,"_43659":48785,"_43661":48786,"_43663":48787,"_43665":48788,"_43667":48789,"_43669":48790,"_43671":48791,"_43673":48792,"_43675":48793,"_43677":48794,"_43679":48795,"_43681":48796,"_43683":48797,"_43685":48798,"_43687":48799,"_43689":48800,"_43691":48801,"_43693":48802,"_43695":48803,"_43697":48804,"_43699":48805,"_43701":48806,"_43703":48807,"_43705":48808,"_43707":48809,"_43709":48810,"_43711":48811,"_43713":48812,"_43715":48813,"_43717":48814,"_43719":48815,"_43721":48816,"_43723":48817,"_43725":48818,"_43727":48819,"_43729":48820,"_43731":48821,"_43733":48822,"_43735":48823,"_43737":48824,"_43739":48825,"_43741":48826,"_43743":48827,"_43745":48828,"_43747":48829,"_43749":48830,"_43751":48831,"_43753":48832,"_43755":48833,"_43757":48834,"_43759":48835,"_43761":48836,"_43763":48837,"_43765":48838,"_43767":48839,"_43769":48840,"_43771":48841,"_43773":48842,"_43775":48843,"_43777":48844,"_43779":48845,"_43781":48846,"_43783":48847,"_43785":48848,"_43787":48849,"_43789":48850,"_43791":48851,"_43793":48852,"_43795":48853,"_43797":48854,"_43799":48855,"_43801":48856,"_43803":48857,"_43805":48858,"_43807":48859,"_43809":48860,"_43811":48861,"_43813":48862,"_43815":48863,"_43817":48864,"_43819":48865,"_43821":48866,"_43823":48867,"_43825":48868,"_43827":48869,"_43829":48870,"_43831":48871,"_43833":48872,"_43835":48873,"_43837":48874,"_43839":48875,"_43841":48876,"_43843":48877,"_43845":48878,"_43847":48879,"_43849":48880,"_43851":48881,"_43853":48882,"_43855":48883,"_43857":48884,"_43859":48885,"_43861":48886,"_43863":48887,"_43865":48888,"_43867":48889,"_43869":48890,"_43871":48891,"_43873":48892,"_43875":48893,"_43877":48894,"_43879":48895,"_43881":48896,"_43883":48897,"_43885":48898,"_43887":48899,"_43889":48900,"_43891":48901,"_43893":48902,"_43895":48903,"_43897":48904,"_43899":48905,"_43901":48906,"_43903":48907,"_43905":48908,"_43907":48909,"_43909":48910,"_43911":48911,"_43913":48912,"_43915":48913,"_43917":48914,"_43919":48915,"_43921":48916,"_43923":48917,"_43925":48918,"_43927":48919,"_43929":48920,"_43931":48921,"_43933":48922,"_43935":48923,"_43937":48924,"_43939":48925,"_43941":48926,"_43943":48927,"_43945":48928,"_43947":48929,"_43949":48930,"_43951":48931,"_43953":48932,"_43955":48933,"_43957":48934,"_43959":48935,"_43961":48936,"_43963":48937,"_43965":48938,"_43967":48939,"_43969":48940,"_43971":48941,"_43973":48942,"_43975":48943,"_43977":48944,"_43979":48945,"_43981":48946,"_43983":48947,"_43985":48948,"_43987":48949,"_43989":48950,"_43991":48951,"_43993":48952,"_43995":48953,"_43997":48954,"_43999":48955,"_44001":48956,"_44003":48957,"_44005":48958,"_44007":48959,"_44009":48960,"_44011":48961,"_44013":48962,"_44015":48963,"_44017":48964,"_44019":48965,"_44021":48966,"_44023":48967,"_44025":48968,"_44027":48969,"_44029":48970,"_44031":48971,"_44033":48972,"_44035":48973,"_44037":48974,"_44039":48975,"_44041":48976,"_44043":48977,"_44045":48978,"_44047":48979,"_44049":48980,"_44051":48981,"_44053":48982,"_44055":48983,"_44057":48984,"_44059":48985,"_44061":48986,"_44063":48987,"_44065":48988,"_44067":48989,"_44069":48990,"_44071":48991,"_44073":48992,"_44075":48993,"_44077":48994,"_44079":48995,"_44081":48996,"_44083":48997,"_44085":48998,"_44087":48999,"_44089":49000,"_44091":49001,"_44093":49002,"_44095":49003,"_44097":49004,"_44099":49005,"_44101":49006,"_44103":49007,"_44105":49008,"_44107":49009,"_44109":49010,"_44111":49011,"_44113":49012,"_44115":49013,"_44117":49014,"_44119":49015,"_44121":49016,"_44123":49017,"_44125":49018,"_44127":49019,"_44129":49020,"_44131":49021,"_44133":49022,"_44135":49023,"_44137":49024,"_44139":49025,"_44141":49026,"_44143":49027,"_44145":49028,"_44147":49029,"_44149":49030,"_44151":49031,"_44153":49032,"_44155":49033,"_44157":49034,"_44159":49035,"_44161":49036,"_44163":49037,"_44165":49038,"_44167":49039,"_44169":49040,"_44171":49041,"_44173":49042,"_44175":49043,"_44177":49044,"_44179":49045,"_44181":49046,"_44183":49047,"_44185":49048,"_44187":49049,"_44189":49050,"_44191":49051,"_44193":49052,"_44195":49053,"_44197":49054,"_44199":49055,"_44201":49056,"_44203":49057,"_44205":49058,"_44207":49059,"_44209":49060,"_44211":49061,"_44213":49062,"_44215":49063,"_44217":49064,"_44219":49065,"_44221":49066,"_44223":49067,"_44225":49068,"_44227":49069,"_44229":49070,"_44231":49071,"_44233":49072,"_44235":49073,"_44237":49074,"_44239":49075,"_44241":49076,"_44243":49077,"_44245":49078,"_44247":49079,"_44249":49080,"_44251":49081,"_44253":49082,"_44255":49083,"_44257":49084,"_44259":49085,"_44261":49086,"_44263":49087,"_44265":49088,"_44267":49089,"_44269":49090,"_44271":49091,"_44273":49092,"_44275":49093,"_44277":49094,"_44279":49095,"_44281":49096,"_44283":49097,"_44285":49098,"_44287":49099,"_44289":49100,"_44291":49101,"_44293":49102,"_44295":49103,"_44297":49104,"_44299":49105,"_44301":49106,"_44303":49107,"_44305":49108,"_44307":49109,"_44309":49110,"_44311":49111,"_44313":49112,"_44315":49113,"_44317":49114,"_44319":49115,"_44321":49116,"_44323":49117,"_44325":49118,"_44327":49119,"_44329":49120,"_44331":49121,"_44333":49122,"_44335":49123,"_44337":49124,"_44339":49125,"_44341":49126,"_44343":49127,"_44345":49128,"_44347":49129,"_44349":49130,"_44351":49131,"_44353":49132,"_44355":49133,"_44357":49134,"_44359":49135,"_44361":49136,"_44363":49137,"_44365":49138,"_44367":49139,"_44369":49140,"_44371":49141,"_44373":49142,"_44375":49143,"_44377":49144,"_44379":49145,"_44381":49146,"_44383":49147,"_44385":49148,"_44387":49149,"_44389":49150,"_44391":49151,"_44393":49152,"_44395":49153,"_44397":49154,"_44399":49155,"_44401":49156,"_44403":49157,"_44405":49158,"_44407":49159,"_44409":49160,"_44411":49161,"_44413":49162,"_44415":49163,"_44417":49164,"_44419":49165,"_44421":49166,"_44423":49167,"_44425":49168,"_44427":49169,"_44429":49170,"_44431":49171,"_44433":49172,"_44435":49173,"_44437":49174,"_44439":49175,"_44441":49176,"_44443":49177,"_44445":49178,"_44447":49179,"_44449":49180,"_44451":49181,"_44453":49182,"_44455":49183,"_44457":49184,"_44459":49185,"_44461":49186,"_44463":49187,"_44465":49188,"_44467":49189,"_44469":49190,"_44471":49191,"_44473":49192,"_44475":49193,"_44477":49194,"_44479":49195,"_44481":49196,"_44483":49197,"_44485":49198,"_44487":49199,"_44489":49200,"_44491":49201,"_44493":49202,"_44495":49203,"_44497":49204,"_44499":49205,"_44501":49206,"_44503":49207,"_44505":49208,"_44507":49209,"_44509":49210,"_44511":49211,"_44513":49212,"_44515":49213,"_44517":49214,"_44519":49215,"_44521":49216,"_44523":49217,"_44525":49218,"_44527":49219,"_44529":49220,"_44531":49221,"_44533":49222,"_44535":49223,"_44537":49224,"_44539":49225,"_44541":49226,"_44543":49227,"_44545":49228,"_44547":49229,"_44549":49230,"_44551":49231,"_44553":49232,"_44555":49233,"_44557":49234,"_44559":49235,"_16417":49236,"_44562":49237,"_44564":49238,"_44566":49239,"_44568":49240,"_44570":49241,"_44572":49242,"_44574":49243,"_44576":49244,"_44578":49245,"_44580":49246,"_44582":49247,"_44584":49248,"_44586":49249,"_44588":49250,"_16490":49251,"_44591":49252,"_44593":49253,"_44595":49254,"_44597":49255,"_44599":49256,"_44601":49257,"_44603":49258,"_44605":49259,"_44607":49260,"_44609":49261,"_44611":49262,"_44613":49263,"_44615":49264,"_44617":49265,"_44619":49266,"_44621":49267,"_44623":49268,"_44625":49269,"_44627":49270,"_44629":49271,"_44631":49272,"_44633":49273,"_44635":49274,"_44637":49275,"_44639":49276,"_44641":49277,"_44643":49278,"_44645":49279,"_44647":49280,"_44649":49281,"_44651":49282,"_44653":49283,"_44655":49284,"_44657":49285,"_44659":49286,"_44661":49287,"_44663":49288,"_44665":49289,"_44667":49290,"_44669":49291,"_44671":49292,"_44673":49293,"_44675":49294,"_44677":49295,"_44679":49296,"_44681":49297,"_44683":49298,"_44685":49299,"_44687":49300,"_44689":49301,"_44691":49302,"_44693":49303,"_44695":49304,"_44697":49305,"_44699":49306,"_44701":49307,"_44703":49308,"_44705":49309,"_44707":49310,"_44709":49311,"_44711":49312,"_44713":49313,"_44715":49314,"_44717":49315,"_44719":49316,"_44721":49317,"_44723":49318,"_44725":49319,"_44727":49320,"_44729":49321,"_44731":49322,"_44733":49323,"_44735":49324,"_44737":49325,"_44739":49326,"_36662":49327,"_44742":49328,"_44744":49329,"_44746":49330,"_44748":49331,"_44750":49332,"_44752":49333,"_44754":49334,"_44756":49335,"_37339":49336,"_44759":49337,"_44761":49338,"_44763":49339,"_44765":49340,"_44767":49341,"_44769":49342,"_44771":49343,"_37329":49344,"_44774":49345,"_44776":49346,"_44778":49347,"_37349":49348,"_44781":49349,"_44783":49350,"_37365":49351,"_44786":49352,"_44788":49353,"_37354":49354,"_44791":49355,"_44793":49356,"_44795":49357,"_44797":49358,"_44799":49359,"_44801":49360,"_44803":49361,"_44805":49362,"_44807":49363,"_44809":49364,"_44811":49365,"_44813":49366,"_44815":49367,"_44817":49368,"_44819":49369,"_44821":49370,"_44823":49371,"_44825":49372,"_44827":49373,"_44829":49374,"_44831":49375,"_44833":49376,"_44835":49377,"_44837":49378,"_44839":49379,"_44841":49380,"_44843":49381,"_44845":49382,"_44847":49383,"_16496":49384,"_44850":49385,"_44852":49386,"_44854":49387,"_44856":49388,"_44858":49389,"_44860":49390,"_44862":49391,"_44864":49392,"_44866":49393,"_44868":49394,"_44870":49395,"_44872":49396,"_44874":49397,"_44876":49398,"_44878":49399,"_44880":49400,"_44882":49401,"_44884":49402,"_44886":49403,"_44888":49404,"_44890":49405,"_44892":49406,"_44894":49407,"_44896":49408,"_44898":49409,"_44900":49410,"_44902":49411,"_44904":49412,"_44906":49413,"_44908":49414,"_44910":49415,"_44912":49416,"_44914":49417,"_44916":49418,"_44918":49419,"_44920":49420,"_44922":49421,"_44924":49422,"_44926":49423,"_44928":49424,"_44930":49425,"_44932":49426,"_44934":49427,"_44936":49428,"_44938":49429,"_44940":49430,"_44942":49431,"_44944":49432,"_44946":49433,"_44948":49434,"_44950":49435,"_44952":49436,"_44954":49437,"_44956":49438,"_44958":49439,"_44960":49440,"_44962":49441,"_44964":49442,"_44966":49443,"_44968":49444,"_44970":49445,"_44972":49446,"_44974":49447,"_44976":49448,"_44978":49449,"_44980":49450,"_44982":49451,"_44984":49452,"_44986":49453,"_44988":49454,"_44990":49455,"_44992":49456,"_44994":49457,"_44996":49458,"_44998":49459,"_45000":49460,"_45002":49461,"_45004":49462,"_45006":49463,"_45008":49464,"_45010":49465,"_45012":49466,"_45014":49467,"_45016":49468,"_45018":49469,"_45020":49470,"_45022":49471,"_45024":49472,"_45026":49473,"_45028":49474,"_45030":49475,"_45032":49476,"_45034":49477,"_45036":49478,"_45038":49479,"_45040":49480,"_45042":49481,"_45044":49482,"_45046":49483,"_45048":49484,"_45050":49485,"_45052":49486,"_45054":49487,"_45056":49488,"_45058":49489,"_45060":49490,"_45062":49491,"_45064":49492,"_45066":49493,"_45068":49494,"_45070":49495,"_45072":49496,"_45074":49497,"_45076":49498,"_45078":49499,"_45080":49500,"_45082":49501,"_45084":49502,"_45086":49503,"_45088":49504,"_45090":49505,"_45092":49506,"_45094":49507,"_45096":49508,"_45098":49509,"_45100":49510,"_45102":49511,"_45104":49512,"_45106":49513,"_45108":49514,"_45110":49515,"_45112":49516,"_37455":49517,"_45115":49518,"_45117":49519,"_45119":49520,"_45121":49521,"_45123":49522,"_45125":49523,"_45127":49524,"_45129":49525,"_45131":49526,"_45133":49527,"_45135":49528,"_45137":49529,"_45139":49530},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_19386":3013},{"_22127":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_38006":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_22127":3013},{"_6884":49532,"_40847":49533,"_11438":49534,"_41035":49535,"_41079":49536,"_41639":49537,"_41681":49538,"_41846":49539,"_41850":49540,"_41980":49541,"_42239":49542,"_42353":49543,"_42493":49544,"_42533":49545,"_42677":49546,"_42713":49547,"_42747":49548,"_42915":49549,"_42979":49550,"_43055":49551,"_43165":49552,"_43272":49553,"_43312":49554,"_43339":49555,"_43444":49556,"_43461":49557,"_43485":49558,"_43519":49559,"_43611":49560,"_43675":49561,"_43885":49562,"_44325":49563,"_44457":49564,"_44615":49565,"_44725":49566},{"_3032":40794,"_6918":40794},{"_3032":40794,"_6918":40794},{"_3032":40794,"_6918":40794},{"_3032":40794,"_6918":40794},{"_3032":40794,"_6918":40794},{"_3032":40794,"_6918":40794},{"_3032":40794,"_6918":40794},{"_3032":40794,"_6918":40794},{"_2974":40794,"_5964":40794},{"_2974":40794,"_5964":40794},{"_2974":40794,"_5964":40794},{"_2974":40794,"_5964":40794},{"_2974":40794,"_5964":40794},{"_2974":40794,"_5964":40794},{"_2974":40794,"_5964":40794},{"_2974":40794,"_5964":40794},{"_2974":40794,"_5964":40794},{"_24383":3013},{"_24383":3013},{"_18505":40794,"_6918":40794},{"_18505":40794,"_6918":40794},{"_18505":40794,"_6918":40794},{"_18505":40794,"_6918":40794},{"_18505":40794,"_6918":40794},{"_18505":40794,"_6918":40794},{"_18505":40794,"_6918":40794},{"_18505":40794,"_6918":40794},{"_18505":40794,"_6918":40794},{"_18505":40794,"_6918":40794},{"_24383":3013},{"_24383":3013},{"_7303":40794,"_25616":40794},{"_37881":3013},{"_7303":40794,"_25616":40794},{"_7303":40794,"_25616":40794},{"_6884":49568,"_5968":49569,"_11313":49570,"_11353":49571,"_11327":49572,"_11320":49573,"_11346":49574,"_11375":49575,"_11306":49576,"_36123":49577,"_11342":49578,"_36627":49579,"_36749":49580,"_36700":49581,"_11445":49582,"_12197":49583,"_36739":49584,"_36759":49585,"_12027":49586,"_11889":49587,"_37450":49588,"_12203":49589,"_40818":49590,"_36616":49591,"_36046":49592,"_36685":49593,"_12270":49594,"_37480":49595,"_12512":49596,"_35574":49597,"_35645":49598,"_35619":49599,"_12054":49600,"_35635":49601,"_35650":49602,"_12102":49603,"_35655":49604,"_11406":49605,"_11866":49606,"_12080":49607,"_40847":49608,"_40849":49609,"_40851":49610,"_40854":49611,"_36679":49612,"_40857":49613,"_11356":49614,"_40862":49615,"_12471":49616,"_36302":49617,"_12518":49618,"_11438":49619,"_37112":49620,"_40872":49621,"_40874":49622,"_40876":49623,"_40879":49624,"_37107":49625,"_37102":49626,"_11469":49627,"_40886":49628,"_40889":49629,"_40891":49630,"_30746":49631,"_40894":49632,"_40897":49633,"_40899":49634,"_40902":49635,"_40904":49636,"_40906":49637,"_40909":49638,"_40912":49639,"_40914":49640,"_11485":49641,"_40918":49642,"_36784":49643,"_40921":49644,"_11684":49645,"_11349":49646,"_36838":49647,"_37456":49648,"_12393":49649,"_40929":49650,"_40931":49651,"_40933":49652,"_36853":49653,"_40936":49654,"_11378":49655,"_12108":49656,"_35688":49657,"_36663":49658,"_40943":49659,"_40945":49660,"_37626":49661,"_40948":49662,"_11421":49663,"_40951":49664,"_40953":49665,"_12125":49666,"_36130":49667,"_40958":49668,"_40960":49669,"_40963":49670,"_40965":49671,"_40967":49672,"_40969":49673,"_40971":49674,"_11336":49675,"_40974":49676,"_40976":49677,"_40978":49678,"_40980":49679,"_40982":49680,"_40985":49681,"_16358":49682,"_40988":49683,"_40990":49684,"_40992":49685,"_40994":49686,"_40996":49687,"_40998":49688,"_41001":49689,"_41003":49690,"_41005":49691,"_41007":49692,"_41010":49693,"_36637":49694,"_36632":49695,"_41015":49696,"_36754":49697,"_41019":49698,"_41021":49699,"_41023":49700,"_41025":49701,"_41027":49702,"_41029":49703,"_41031":49704,"_41033":49705,"_41035":49706,"_41037":49707,"_41039":49708,"_41041":49709,"_41043":49710,"_41046":49711,"_41048":49712,"_41050":49713,"_41052":49714,"_41054":49715,"_41057":49716,"_41059":49717,"_41061":49718,"_41063":49719,"_41065":49720,"_41067":49721,"_41069":49722,"_41071":49723,"_41073":49724,"_41075":49725,"_41077":49726,"_41079":49727,"_41081":49728,"_41083":49729,"_41085":49730,"_41087":49731,"_41089":49732,"_41091":49733,"_41093":49734,"_36725":49735,"_41096":49736,"_41098":49737,"_41100":49738,"_36744":49739,"_41103":49740,"_41105":49741,"_41108":49742,"_41110":49743,"_41112":49744,"_41114":49745,"_41116":49746,"_41118":49747,"_41120":49748,"_41122":49749,"_41124":49750,"_41126":49751,"_41128":49752,"_41130":49753,"_41132":49754,"_41134":49755,"_41136":49756,"_41138":49757,"_41140":49758,"_36651":49759,"_41145":49760,"_36646":49761,"_41149":49762,"_41151":49763,"_41153":49764,"_41155":49765,"_41157":49766,"_16474":49767,"_37344":49768,"_35538":49769,"_41164":49770,"_41166":49771,"_41169":49772,"_41171":49773,"_41173":49774,"_41176":49775,"_41178":49776,"_41180":49777,"_41183":49778,"_41186":49779,"_41188":49780,"_41190":49781,"_41192":49782,"_41194":49783,"_41197":49784,"_41199":49785,"_41201":49786,"_41203":49787,"_41206":49788,"_41208":49789,"_41210":49790,"_41212":49791,"_41214":49792,"_41216":49793,"_41218":49794,"_41220":49795,"_41222":49796,"_41224":49797,"_41226":49798,"_41228":49799,"_41230":49800,"_41232":49801,"_41234":49802,"_41236":49803,"_41238":49804,"_41240":49805,"_41242":49806,"_41244":49807,"_41246":49808,"_41248":49809,"_41250":49810,"_41252":49811,"_41254":49812,"_41256":49813,"_41258":49814,"_41260":49815,"_41262":49816,"_37379":49817,"_41266":49818,"_41268":49819,"_41270":49820,"_37384":49821,"_37374":49822,"_22897":49823,"_41275":49824,"_41277":49825,"_41279":49826,"_41281":49827,"_41283":49828,"_41285":49829,"_41287":49830,"_41290":49831,"_41292":49832,"_41294":49833,"_41296":49834,"_41298":49835,"_41300":49836,"_41302":49837,"_41305":49838,"_41307":49839,"_41309":49840,"_41311":49841,"_41313":49842,"_41315":49843,"_41317":49844,"_41319":49845,"_41321":49846,"_41323":49847,"_41325":49848,"_41327":49849,"_41329":49850,"_41331":49851,"_41333":49852,"_41335":49853,"_41337":49854,"_37485":49855,"_41340":49856,"_41342":49857,"_41344":49858,"_41346":49859,"_41349":49860,"_41351":49861,"_41353":49862,"_41355":49863,"_41357":49864,"_41359":49865,"_41362":49866,"_35589":49867,"_41365":49868,"_41367":49869,"_41369":49870,"_35579":49871,"_41372":49872,"_41375":49873,"_41378":49874,"_41380":49875,"_41383":49876,"_41386":49877,"_41388":49878,"_41390":49879,"_41392":49880,"_41394":49881,"_41396":49882,"_41398":49883,"_41401":49884,"_41404":49885,"_41406":49886,"_11390":49887,"_41409":49888,"_41411":49889,"_41413":49890,"_41415":49891,"_35624":49892,"_41418":49893,"_41420":49894,"_41422":49895,"_41424":49896,"_41426":49897,"_41428":49898,"_11316":49899,"_41432":49900,"_41434":49901,"_41436":49902,"_41438":49903,"_41440":49904,"_41442":49905,"_41444":49906,"_35640":49907,"_41447":49908,"_41449":49909,"_41451":49910,"_41453":49911,"_41455":49912,"_41457":49913,"_41459":49914,"_41461":49915,"_41463":49916,"_41465":49917,"_41467":49918,"_41469":49919,"_41471":49920,"_41473":49921,"_41475":49922,"_41477":49923,"_41479":49924,"_41481":49925,"_41483":49926,"_41485":49927,"_41487":49928,"_41489":49929,"_41491":49930,"_41493":49931,"_41495":49932,"_41497":49933,"_41499":49934,"_41501":49935,"_41503":49936,"_41505":49937,"_41507":49938,"_41509":49939,"_41511":49940,"_41514":49941,"_41516":49942,"_41518":49943,"_41520":49944,"_41522":49945,"_41524":49946,"_41526":49947,"_41528":49948,"_41530":49949,"_41532":49950,"_22920":49951,"_41536":49952,"_41538":49953,"_41540":49954,"_35672":49955,"_41543":49956,"_41545":49957,"_41547":49958,"_41549":49959,"_41551":49960,"_41553":49961,"_41555":49962,"_41557":49963,"_41559":49964,"_41561":49965,"_41563":49966,"_36040":49967,"_41566":49968,"_41568":49969,"_41571":49970,"_41573":49971,"_41575":49972,"_41577":49973,"_41580":49974,"_41582":49975,"_41584":49976,"_41586":49977,"_41588":49978,"_41590":49979,"_41592":49980,"_41595":49981,"_41597":49982,"_41599":49983,"_41601":49984,"_41603":49985,"_41605":49986,"_41608":49987,"_41610":49988,"_41612":49989,"_41614":49990,"_41616":49991,"_36045":49992,"_41619":49993,"_41621":49994,"_41623":49995,"_41625":49996,"_41627":49997,"_41629":49998,"_41631":49999,"_41633":50000,"_41635":50001,"_41637":50002,"_41639":50003,"_36051":50004,"_41642":50005,"_41644":50006,"_41646":50007,"_41648":50008,"_41650":50009,"_41652":50010,"_41654":50011,"_41656":50012,"_41658":50013,"_41660":50014,"_41662":50015,"_41665":50016,"_41668":50017,"_41670":50018,"_41672":50019,"_41675":50020,"_41677":50021,"_41679":50022,"_41681":50023,"_41683":50024,"_41685":50025,"_41687":50026,"_41689":50027,"_41691":50028,"_41693":50029,"_41695":50030,"_41697":50031,"_41699":50032,"_41701":50033,"_41703":50034,"_41705":50035,"_41707":50036,"_41709":50037,"_41711":50038,"_41713":50039,"_41715":50040,"_41717":50041,"_41719":50042,"_41721":50043,"_41723":50044,"_41725":50045,"_41727":50046,"_41729":50047,"_41731":50048,"_41733":50049,"_41735":50050,"_41737":50051,"_41739":50052,"_11427":50053,"_41742":50054,"_41744":50055,"_41746":50056,"_41748":50057,"_41750":50058,"_41752":50059,"_41754":50060,"_41756":50061,"_41758":50062,"_41760":50063,"_41762":50064,"_41764":50065,"_41766":50066,"_37087":50067,"_12612":50068,"_41770":50069,"_41772":50070,"_41774":50071,"_41776":50072,"_41778":50073,"_41780":50074,"_41782":50075,"_41784":50076,"_41786":50077,"_41788":50078,"_41790":50079,"_41792":50080,"_41794":50081,"_41796":50082,"_41798":50083,"_41800":50084,"_41802":50085,"_41804":50086,"_41806":50087,"_41808":50088,"_41810":50089,"_41812":50090,"_41814":50091,"_41816":50092,"_41818":50093,"_41820":50094,"_41822":50095,"_41824":50096,"_41826":50097,"_41828":50098,"_41830":50099,"_41832":50100,"_41834":50101,"_41836":50102,"_41838":50103,"_41840":50104,"_41842":50105,"_41844":50106,"_41846":50107,"_41848":50108,"_41850":50109,"_41852":50110,"_41854":50111,"_36062":50112,"_41857":50113,"_41859":50114,"_41861":50115,"_41863":50116,"_41865":50117,"_41867":50118,"_41869":50119,"_41871":50120,"_41873":50121,"_41875":50122,"_41877":50123,"_41879":50124,"_41881":50125,"_41883":50126,"_41885":50127,"_41887":50128,"_41889":50129,"_41891":50130,"_41893":50131,"_41895":50132,"_41897":50133,"_41899":50134,"_41901":50135,"_41903":50136,"_41905":50137,"_41907":50138,"_41909":50139,"_41911":50140,"_41913":50141,"_11384":50142,"_41916":50143,"_41918":50144,"_41920":50145,"_41922":50146,"_41924":50147,"_41926":50148,"_41928":50149,"_41930":50150,"_41932":50151,"_41934":50152,"_16423":50153,"_41937":50154,"_41939":50155,"_41941":50156,"_11330":50157,"_41944":50158,"_41946":50159,"_41948":50160,"_41950":50161,"_41952":50162,"_41954":50163,"_41956":50164,"_41958":50165,"_41960":50166,"_41962":50167,"_41964":50168,"_41966":50169,"_41968":50170,"_41970":50171,"_41972":50172,"_41974":50173,"_41976":50174,"_41978":50175,"_41980":50176,"_41982":50177,"_41984":50178,"_41986":50179,"_41988":50180,"_41990":50181,"_41992":50182,"_41994":50183,"_41996":50184,"_41998":50185,"_42000":50186,"_42002":50187,"_42004":50188,"_42006":50189,"_11323":50190,"_42009":50191,"_42011":50192,"_42013":50193,"_42015":50194,"_42017":50195,"_42019":50196,"_42021":50197,"_42023":50198,"_42025":50199,"_42027":50200,"_42029":50201,"_42031":50202,"_42033":50203,"_42035":50204,"_42037":50205,"_42039":50206,"_42041":50207,"_42043":50208,"_42045":50209,"_42047":50210,"_42049":50211,"_42051":50212,"_42053":50213,"_42055":50214,"_42057":50215,"_42059":50216,"_42061":50217,"_42063":50218,"_42065":50219,"_42067":50220,"_42069":50221,"_42071":50222,"_42073":50223,"_42075":50224,"_42077":50225,"_42079":50226,"_42081":50227,"_42083":50228,"_42085":50229,"_42087":50230,"_42089":50231,"_42091":50232,"_42093":50233,"_42095":50234,"_42097":50235,"_42099":50236,"_42101":50237,"_42103":50238,"_42105":50239,"_42107":50240,"_42109":50241,"_42111":50242,"_42114":50243,"_42116":50244,"_42118":50245,"_42120":50246,"_42122":50247,"_42124":50248,"_42126":50249,"_42128":50250,"_42130":50251,"_42132":50252,"_42134":50253,"_42136":50254,"_42139":50255,"_42141":50256,"_42143":50257,"_42146":50258,"_42148":50259,"_42151":50260,"_42153":50261,"_42155":50262,"_42157":50263,"_42159":50264,"_42161":50265,"_42163":50266,"_42165":50267,"_42167":50268,"_42169":50269,"_42171":50270,"_42173":50271,"_42175":50272,"_42177":50273,"_42180":50274,"_42182":50275,"_42184":50276,"_42186":50277,"_42188":50278,"_42190":50279,"_42192":50280,"_42194":50281,"_42196":50282,"_42198":50283,"_42200":50284,"_42202":50285,"_42204":50286,"_42206":50287,"_42208":50288,"_42210":50289,"_42212":50290,"_42214":50291,"_42216":50292,"_42218":50293,"_42220":50294,"_42222":50295,"_42224":50296,"_42227":50297,"_11451":50298,"_42231":50299,"_42233":50300,"_42235":50301,"_42237":50302,"_42239":50303,"_42241":50304,"_42243":50305,"_42245":50306,"_42247":50307,"_42249":50308,"_42251":50309,"_42253":50310,"_42255":50311,"_42257":50312,"_42259":50313,"_42261":50314,"_42263":50315,"_42265":50316,"_42267":50317,"_42269":50318,"_42271":50319,"_42273":50320,"_42275":50321,"_42277":50322,"_42279":50323,"_42281":50324,"_42283":50325,"_42285":50326,"_42287":50327,"_42289":50328,"_42291":50329,"_42293":50330,"_42295":50331,"_42297":50332,"_42299":50333,"_42301":50334,"_42303":50335,"_42305":50336,"_42307":50337,"_42309":50338,"_42311":50339,"_42313":50340,"_42315":50341,"_42317":50342,"_42319":50343,"_42321":50344,"_42323":50345,"_42325":50346,"_42327":50347,"_42329":50348,"_42331":50349,"_42333":50350,"_12529":50351,"_42336":50352,"_42338":50353,"_42340":50354,"_42342":50355,"_42344":50356,"_42346":50357,"_37445":50358,"_42349":50359,"_42351":50360,"_42353":50361,"_42355":50362,"_42357":50363,"_42359":50364,"_42361":50365,"_42363":50366,"_35029":50367,"_42366":50368,"_42368":50369,"_42370":50370,"_42372":50371,"_42374":50372,"_42376":50373,"_42378":50374,"_42380":50375,"_42382":50376,"_42384":50377,"_42386":50378,"_42388":50379,"_42390":50380,"_42392":50381,"_42394":50382,"_42396":50383,"_42398":50384,"_42400":50385,"_42402":50386,"_42404":50387,"_42406":50388,"_42408":50389,"_42410":50390,"_42412":50391,"_42414":50392,"_42416":50393,"_42418":50394,"_42420":50395,"_42422":50396,"_42424":50397,"_42426":50398,"_42428":50399,"_42430":50400,"_42432":50401,"_42434":50402,"_42436":50403,"_42438":50404,"_42440":50405,"_42442":50406,"_42444":50407,"_42446":50408,"_12606":50409,"_42449":50410,"_42451":50411,"_42453":50412,"_42455":50413,"_42457":50414,"_42459":50415,"_42461":50416,"_42463":50417,"_42465":50418,"_42467":50419,"_42469":50420,"_42471":50421,"_42473":50422,"_42475":50423,"_42477":50424,"_42479":50425,"_42481":50426,"_42483":50427,"_42485":50428,"_42487":50429,"_42489":50430,"_42491":50431,"_42493":50432,"_42495":50433,"_42497":50434,"_42499":50435,"_42501":50436,"_42503":50437,"_42505":50438,"_42507":50439,"_42509":50440,"_42511":50441,"_42513":50442,"_42515":50443,"_42517":50444,"_42519":50445,"_42521":50446,"_42523":50447,"_42525":50448,"_42527":50449,"_42529":50450,"_42531":50451,"_42533":50452,"_42535":50453,"_42537":50454,"_42539":50455,"_42541":50456,"_42543":50457,"_42545":50458,"_42547":50459,"_42549":50460,"_42551":50461,"_42553":50462,"_42555":50463,"_42557":50464,"_42559":50465,"_42561":50466,"_42563":50467,"_11309":50468,"_42566":50469,"_42568":50470,"_42570":50471,"_42572":50472,"_42574":50473,"_42576":50474,"_42578":50475,"_42580":50476,"_12634":50477,"_42583":50478,"_42585":50479,"_42587":50480,"_42589":50481,"_42591":50482,"_42593":50483,"_42595":50484,"_42597":50485,"_42599":50486,"_42601":50487,"_42603":50488,"_42605":50489,"_42607":50490,"_42609":50491,"_42611":50492,"_42613":50493,"_42615":50494,"_42617":50495,"_42619":50496,"_42621":50497,"_42623":50498,"_42625":50499,"_42627":50500,"_42629":50501,"_42631":50502,"_42633":50503,"_42635":50504,"_42637":50505,"_42639":50506,"_42641":50507,"_42643":50508,"_42645":50509,"_42647":50510,"_42649":50511,"_42651":50512,"_42653":50513,"_42655":50514,"_42657":50515,"_42659":50516,"_42661":50517,"_42663":50518,"_42665":50519,"_42667":50520,"_42669":50521,"_42671":50522,"_42673":50523,"_42675":50524,"_42677":50525,"_42679":50526,"_42681":50527,"_42683":50528,"_42685":50529,"_42687":50530,"_42689":50531,"_42691":50532,"_42693":50533,"_42695":50534,"_42697":50535,"_42699":50536,"_42701":50537,"_42703":50538,"_42705":50539,"_42707":50540,"_42709":50541,"_42711":50542,"_42713":50543,"_42715":50544,"_42717":50545,"_42719":50546,"_42721":50547,"_42723":50548,"_42725":50549,"_42727":50550,"_42729":50551,"_42731":50552,"_42733":50553,"_42735":50554,"_42737":50555,"_42739":50556,"_42741":50557,"_42743":50558,"_42745":50559,"_42747":50560,"_42749":50561,"_42751":50562,"_42753":50563,"_42755":50564,"_42757":50565,"_42759":50566,"_36137":50567,"_42762":50568,"_42764":50569,"_42766":50570,"_42768":50571,"_42770":50572,"_42772":50573,"_42774":50574,"_42776":50575,"_42778":50576,"_42780":50577,"_42782":50578,"_42784":50579,"_42786":50580,"_42788":50581,"_42790":50582,"_42792":50583,"_42794":50584,"_42796":50585,"_42798":50586,"_42800":50587,"_42802":50588,"_42804":50589,"_42806":50590,"_36615":50591,"_42809":50592,"_42811":50593,"_42813":50594,"_42815":50595,"_42817":50596,"_42819":50597,"_42821":50598,"_42823":50599,"_42825":50600,"_42827":50601,"_42829":50602,"_42831":50603,"_42833":50604,"_42835":50605,"_42837":50606,"_42839":50607,"_42841":50608,"_42843":50609,"_42845":50610,"_42847":50611,"_42849":50612,"_42851":50613,"_42853":50614,"_42855":50615,"_42857":50616,"_42859":50617,"_42861":50618,"_42863":50619,"_42865":50620,"_42867":50621,"_42869":50622,"_42871":50623,"_42873":50624,"_42875":50625,"_42877":50626,"_42879":50627,"_42881":50628,"_42883":50629,"_42885":50630,"_42887":50631,"_42889":50632,"_42891":50633,"_42893":50634,"_42895":50635,"_42897":50636,"_42899":50637,"_42901":50638,"_42903":50639,"_42905":50640,"_42907":50641,"_42909":50642,"_42911":50643,"_42913":50644,"_42915":50645,"_42917":50646,"_42919":50647,"_42921":50648,"_42923":50649,"_42925":50650,"_42927":50651,"_42929":50652,"_42931":50653,"_42933":50654,"_42935":50655,"_42937":50656,"_42939":50657,"_42941":50658,"_42943":50659,"_42945":50660,"_42947":50661,"_42949":50662,"_42951":50663,"_42953":50664,"_42955":50665,"_42957":50666,"_42959":50667,"_42961":50668,"_42963":50669,"_42965":50670,"_42967":50671,"_42969":50672,"_42971":50673,"_42973":50674,"_42975":50675,"_42977":50676,"_42979":50677,"_42981":50678,"_42983":50679,"_42985":50680,"_42987":50681,"_42989":50682,"_42991":50683,"_42993":50684,"_42995":50685,"_42997":50686,"_42999":50687,"_43001":50688,"_43003":50689,"_43005":50690,"_43007":50691,"_43009":50692,"_36684":50693,"_43012":50694,"_43014":50695,"_43016":50696,"_43018":50697,"_43020":50698,"_43022":50699,"_43024":50700,"_43026":50701,"_43028":50702,"_43030":50703,"_43032":50704,"_43034":50705,"_43036":50706,"_43038":50707,"_43040":50708,"_43042":50709,"_43044":50710,"_43046":50711,"_36678":50712,"_43049":50713,"_43051":50714,"_43053":50715,"_43055":50716,"_43057":50717,"_43059":50718,"_43061":50719,"_43063":50720,"_43065":50721,"_43067":50722,"_43069":50723,"_43071":50724,"_43073":50725,"_43075":50726,"_43077":50727,"_43079":50728,"_43081":50729,"_43083":50730,"_43085":50731,"_43087":50732,"_43089":50733,"_43091":50734,"_43093":50735,"_43095":50736,"_43097":50737,"_43099":50738,"_43101":50739,"_43103":50740,"_43105":50741,"_43107":50742,"_43109":50743,"_43111":50744,"_43113":50745,"_43115":50746,"_43117":50747,"_43119":50748,"_43121":50749,"_43123":50750,"_43125":50751,"_43127":50752,"_43129":50753,"_43131":50754,"_43133":50755,"_43135":50756,"_43137":50757,"_43139":50758,"_43141":50759,"_43143":50760,"_43145":50761,"_43147":50762,"_43149":50763,"_43151":50764,"_43153":50765,"_43155":50766,"_43157":50767,"_43159":50768,"_43161":50769,"_43163":50770,"_43165":50771,"_43167":50772,"_43169":50773,"_43171":50774,"_43173":50775,"_43175":50776,"_43177":50777,"_43179":50778,"_43181":50779,"_43183":50780,"_43185":50781,"_43187":50782,"_43189":50783,"_43191":50784,"_43193":50785,"_43195":50786,"_43197":50787,"_43199":50788,"_43201":50789,"_43203":50790,"_43205":50791,"_43207":50792,"_43209":50793,"_43211":50794,"_43213":50795,"_43215":50796,"_43217":50797,"_43219":50798,"_43221":50799,"_43223":50800,"_43225":50801,"_43227":50802,"_43229":50803,"_43231":50804,"_43234":50805,"_43236":50806,"_43238":50807,"_43240":50808,"_43242":50809,"_43244":50810,"_43246":50811,"_43248":50812,"_43250":50813,"_43252":50814,"_43254":50815,"_43256":50816,"_43258":50817,"_43260":50818,"_43262":50819,"_43264":50820,"_43266":50821,"_43268":50822,"_43270":50823,"_43272":50824,"_43274":50825,"_43276":50826,"_43278":50827,"_43280":50828,"_43282":50829,"_43284":50830,"_43286":50831,"_43288":50832,"_43290":50833,"_43292":50834,"_43294":50835,"_43296":50836,"_43298":50837,"_43300":50838,"_43302":50839,"_43304":50840,"_43306":50841,"_43308":50842,"_43310":50843,"_43312":50844,"_43314":50845,"_43316":50846,"_43318":50847,"_43320":50848,"_43322":50849,"_43324":50850,"_43326":50851,"_43328":50852,"_43330":50853,"_43332":50854,"_43334":50855,"_43336":50856,"_43339":50857,"_43341":50858,"_43343":50859,"_43345":50860,"_43347":50861,"_43349":50862,"_43351":50863,"_43353":50864,"_43355":50865,"_43357":50866,"_43359":50867,"_43361":50868,"_43363":50869,"_43365":50870,"_43367":50871,"_43369":50872,"_43371":50873,"_43373":50874,"_43375":50875,"_43377":50876,"_43379":50877,"_43381":50878,"_43383":50879,"_43385":50880,"_43387":50881,"_43389":50882,"_43391":50883,"_43393":50884,"_43396":50885,"_43398":50886,"_43400":50887,"_43402":50888,"_43404":50889,"_43406":50890,"_43408":50891,"_43410":50892,"_43412":50893,"_43414":50894,"_43416":50895,"_43418":50896,"_43420":50897,"_43422":50898,"_43424":50899,"_43426":50900,"_43428":50901,"_43430":50902,"_43432":50903,"_43434":50904,"_43436":50905,"_43438":50906,"_43440":50907,"_43442":50908,"_43444":50909,"_43446":50910,"_43448":50911,"_43450":50912,"_43452":50913,"_43454":50914,"_43456":50915,"_43458":50916,"_43461":50917,"_43463":50918,"_43465":50919,"_43467":50920,"_43469":50921,"_43471":50922,"_43473":50923,"_43475":50924,"_43477":50925,"_43479":50926,"_43481":50927,"_43483":50928,"_43485":50929,"_43487":50930,"_43489":50931,"_43491":50932,"_43493":50933,"_43495":50934,"_43497":50935,"_43499":50936,"_43501":50937,"_43503":50938,"_43505":50939,"_43507":50940,"_43509":50941,"_43511":50942,"_43513":50943,"_43515":50944,"_43517":50945,"_43519":50946,"_43521":50947,"_43523":50948,"_43525":50949,"_43527":50950,"_43529":50951,"_43531":50952,"_43533":50953,"_43535":50954,"_43537":50955,"_43539":50956,"_43541":50957,"_43543":50958,"_43545":50959,"_43547":50960,"_43549":50961,"_43551":50962,"_43553":50963,"_43555":50964,"_43557":50965,"_43559":50966,"_43561":50967,"_43563":50968,"_43565":50969,"_43567":50970,"_43569":50971,"_43571":50972,"_43573":50973,"_43575":50974,"_43577":50975,"_43579":50976,"_43581":50977,"_43583":50978,"_43585":50979,"_43587":50980,"_43589":50981,"_43591":50982,"_43593":50983,"_43595":50984,"_43597":50985,"_43599":50986,"_43601":50987,"_43603":50988,"_43605":50989,"_43607":50990,"_43609":50991,"_43611":50992,"_43613":50993,"_43615":50994,"_43617":50995,"_43619":50996,"_43621":50997,"_43623":50998,"_43625":50999,"_43627":51000,"_43629":51001,"_43631":51002,"_43633":51003,"_43635":51004,"_43637":51005,"_43639":51006,"_43641":51007,"_43643":51008,"_43645":51009,"_43647":51010,"_43649":51011,"_43651":51012,"_43653":51013,"_43655":51014,"_43657":51015,"_43659":51016,"_43661":51017,"_43663":51018,"_43665":51019,"_43667":51020,"_43669":51021,"_43671":51022,"_43673":51023,"_43675":51024,"_43677":51025,"_43679":51026,"_43681":51027,"_43683":51028,"_43685":51029,"_43687":51030,"_43689":51031,"_43691":51032,"_43693":51033,"_43695":51034,"_43697":51035,"_43699":51036,"_43701":51037,"_43703":51038,"_43705":51039,"_43707":51040,"_43709":51041,"_43711":51042,"_43713":51043,"_43715":51044,"_43717":51045,"_43719":51046,"_43721":51047,"_43723":51048,"_43725":51049,"_43727":51050,"_43729":51051,"_43731":51052,"_43733":51053,"_43735":51054,"_43737":51055,"_43739":51056,"_43741":51057,"_43743":51058,"_43745":51059,"_43747":51060,"_43749":51061,"_43751":51062,"_43753":51063,"_43755":51064,"_43757":51065,"_43759":51066,"_43761":51067,"_43763":51068,"_43765":51069,"_43767":51070,"_43769":51071,"_43771":51072,"_43773":51073,"_43775":51074,"_43777":51075,"_43779":51076,"_43781":51077,"_43783":51078,"_43785":51079,"_43787":51080,"_43789":51081,"_43791":51082,"_43793":51083,"_43795":51084,"_43797":51085,"_43799":51086,"_43801":51087,"_43803":51088,"_43805":51089,"_43807":51090,"_43809":51091,"_43811":51092,"_43813":51093,"_43815":51094,"_43817":51095,"_43819":51096,"_43821":51097,"_43823":51098,"_43825":51099,"_43827":51100,"_43829":51101,"_43831":51102,"_43833":51103,"_43835":51104,"_43837":51105,"_43839":51106,"_43841":51107,"_43843":51108,"_43845":51109,"_43847":51110,"_43849":51111,"_43851":51112,"_43853":51113,"_43855":51114,"_43857":51115,"_43859":51116,"_43861":51117,"_43863":51118,"_43865":51119,"_43867":51120,"_43869":51121,"_43871":51122,"_43873":51123,"_43875":51124,"_43877":51125,"_43879":51126,"_43881":51127,"_43883":51128,"_43885":51129,"_43887":51130,"_43889":51131,"_43891":51132,"_43893":51133,"_43895":51134,"_43897":51135,"_43899":51136,"_43901":51137,"_43903":51138,"_43905":51139,"_43907":51140,"_43909":51141,"_43911":51142,"_43913":51143,"_43915":51144,"_43917":51145,"_43919":51146,"_43921":51147,"_43923":51148,"_43925":51149,"_43927":51150,"_43929":51151,"_43931":51152,"_43933":51153,"_43935":51154,"_43937":51155,"_43939":51156,"_43941":51157,"_43943":51158,"_43945":51159,"_43947":51160,"_43949":51161,"_43951":51162,"_43953":51163,"_43955":51164,"_43957":51165,"_43959":51166,"_43961":51167,"_43963":51168,"_43965":51169,"_43967":51170,"_43969":51171,"_43971":51172,"_43973":51173,"_43975":51174,"_43977":51175,"_43979":51176,"_43981":51177,"_43983":51178,"_43985":51179,"_43987":51180,"_43989":51181,"_43991":51182,"_43993":51183,"_43995":51184,"_43997":51185,"_43999":51186,"_44001":51187,"_44003":51188,"_44005":51189,"_44007":51190,"_44009":51191,"_44011":51192,"_44013":51193,"_44015":51194,"_44017":51195,"_44019":51196,"_44021":51197,"_44023":51198,"_44025":51199,"_44027":51200,"_44029":51201,"_44031":51202,"_44033":51203,"_44035":51204,"_44037":51205,"_44039":51206,"_44041":51207,"_44043":51208,"_44045":51209,"_44047":51210,"_44049":51211,"_44051":51212,"_44053":51213,"_44055":51214,"_44057":51215,"_44059":51216,"_44061":51217,"_44063":51218,"_44065":51219,"_44067":51220,"_44069":51221,"_44071":51222,"_44073":51223,"_44075":51224,"_44077":51225,"_44079":51226,"_44081":51227,"_44083":51228,"_44085":51229,"_44087":51230,"_44089":51231,"_44091":51232,"_44093":51233,"_44095":51234,"_44097":51235,"_44099":51236,"_44101":51237,"_44103":51238,"_44105":51239,"_44107":51240,"_44109":51241,"_44111":51242,"_44113":51243,"_44115":51244,"_44117":51245,"_44119":51246,"_44121":51247,"_44123":51248,"_44125":51249,"_44127":51250,"_44129":51251,"_44131":51252,"_44133":51253,"_44135":51254,"_44137":51255,"_44139":51256,"_44141":51257,"_44143":51258,"_44145":51259,"_44147":51260,"_44149":51261,"_44151":51262,"_44153":51263,"_44155":51264,"_44157":51265,"_44159":51266,"_44161":51267,"_44163":51268,"_44165":51269,"_44167":51270,"_44169":51271,"_44171":51272,"_44173":51273,"_44175":51274,"_44177":51275,"_44179":51276,"_44181":51277,"_44183":51278,"_44185":51279,"_44187":51280,"_44189":51281,"_44191":51282,"_44193":51283,"_44195":51284,"_44197":51285,"_44199":51286,"_44201":51287,"_44203":51288,"_44205":51289,"_44207":51290,"_44209":51291,"_44211":51292,"_44213":51293,"_44215":51294,"_44217":51295,"_44219":51296,"_44221":51297,"_44223":51298,"_44225":51299,"_44227":51300,"_44229":51301,"_44231":51302,"_44233":51303,"_44235":51304,"_44237":51305,"_44239":51306,"_44241":51307,"_44243":51308,"_44245":51309,"_44247":51310,"_44249":51311,"_44251":51312,"_44253":51313,"_44255":51314,"_44257":51315,"_44259":51316,"_44261":51317,"_44263":51318,"_44265":51319,"_44267":51320,"_44269":51321,"_44271":51322,"_44273":51323,"_44275":51324,"_44277":51325,"_44279":51326,"_44281":51327,"_44283":51328,"_44285":51329,"_44287":51330,"_44289":51331,"_44291":51332,"_44293":51333,"_44295":51334,"_44297":51335,"_44299":51336,"_44301":51337,"_44303":51338,"_44305":51339,"_44307":51340,"_44309":51341,"_44311":51342,"_44313":51343,"_44315":51344,"_44317":51345,"_44319":51346,"_44321":51347,"_44323":51348,"_44325":51349,"_44327":51350,"_44329":51351,"_44331":51352,"_44333":51353,"_44335":51354,"_44337":51355,"_44339":51356,"_44341":51357,"_44343":51358,"_44345":51359,"_44347":51360,"_44349":51361,"_44351":51362,"_44353":51363,"_44355":51364,"_44357":51365,"_44359":51366,"_44361":51367,"_44363":51368,"_44365":51369,"_44367":51370,"_44369":51371,"_44371":51372,"_44373":51373,"_44375":51374,"_44377":51375,"_44379":51376,"_44381":51377,"_44383":51378,"_44385":51379,"_44387":51380,"_44389":51381,"_44391":51382,"_44393":51383,"_44395":51384,"_44397":51385,"_44399":51386,"_44401":51387,"_44403":51388,"_44405":51389,"_44407":51390,"_44409":51391,"_44411":51392,"_44413":51393,"_44415":51394,"_44417":51395,"_44419":51396,"_44421":51397,"_44423":51398,"_44425":51399,"_44427":51400,"_44429":51401,"_44431":51402,"_44433":51403,"_44435":51404,"_44437":51405,"_44439":51406,"_44441":51407,"_44443":51408,"_44445":51409,"_44447":51410,"_44449":51411,"_44451":51412,"_44453":51413,"_44455":51414,"_44457":51415,"_44459":51416,"_44461":51417,"_44463":51418,"_44465":51419,"_44467":51420,"_44469":51421,"_44471":51422,"_44473":51423,"_44475":51424,"_44477":51425,"_44479":51426,"_44481":51427,"_44483":51428,"_44485":51429,"_44487":51430,"_44489":51431,"_44491":51432,"_44493":51433,"_44495":51434,"_44497":51435,"_44499":51436,"_44501":51437,"_44503":51438,"_44505":51439,"_44507":51440,"_44509":51441,"_44511":51442,"_44513":51443,"_44515":51444,"_44517":51445,"_44519":51446,"_44521":51447,"_44523":51448,"_44525":51449,"_44527":51450,"_44529":51451,"_44531":51452,"_44533":51453,"_44535":51454,"_44537":51455,"_44539":51456,"_44541":51457,"_44543":51458,"_44545":51459,"_44547":51460,"_44549":51461,"_44551":51462,"_44553":51463,"_44555":51464,"_44557":51465,"_44559":51466,"_16417":51467,"_44562":51468,"_44564":51469,"_44566":51470,"_44568":51471,"_44570":51472,"_44572":51473,"_44574":51474,"_44576":51475,"_44578":51476,"_44580":51477,"_44582":51478,"_44584":51479,"_44586":51480,"_44588":51481,"_16490":51482,"_44591":51483,"_44593":51484,"_44595":51485,"_44597":51486,"_44599":51487,"_44601":51488,"_44603":51489,"_44605":51490,"_44607":51491,"_44609":51492,"_44611":51493,"_44613":51494,"_44615":51495,"_44617":51496,"_44619":51497,"_44621":51498,"_44623":51499,"_44625":51500,"_44627":51501,"_44629":51502,"_44631":51503,"_44633":51504,"_44635":51505,"_44637":51506,"_44639":51507,"_44641":51508,"_44643":51509,"_44645":51510,"_44647":51511,"_44649":51512,"_44651":51513,"_44653":51514,"_44655":51515,"_44657":51516,"_44659":51517,"_44661":51518,"_44663":51519,"_44665":51520,"_44667":51521,"_44669":51522,"_44671":51523,"_44673":51524,"_44675":51525,"_44677":51526,"_44679":51527,"_44681":51528,"_44683":51529,"_44685":51530,"_44687":51531,"_44689":51532,"_44691":51533,"_44693":51534,"_44695":51535,"_44697":51536,"_44699":51537,"_44701":51538,"_44703":51539,"_44705":51540,"_44707":51541,"_44709":51542,"_44711":51543,"_44713":51544,"_44715":51545,"_44717":51546,"_44719":51547,"_44721":51548,"_44723":51549,"_44725":51550,"_44727":51551,"_44729":51552,"_44731":51553,"_44733":51554,"_44735":51555,"_44737":51556,"_44739":51557,"_36662":51558,"_44742":51559,"_44744":51560,"_44746":51561,"_44748":51562,"_44750":51563,"_44752":51564,"_44754":51565,"_44756":51566,"_37339":51567,"_44759":51568,"_44761":51569,"_44763":51570,"_44765":51571,"_44767":51572,"_44769":51573,"_44771":51574,"_37329":51575,"_44774":51576,"_44776":51577,"_44778":51578,"_37349":51579,"_44781":51580,"_44783":51581,"_37365":51582,"_44786":51583,"_44788":51584,"_37354":51585,"_44791":51586,"_44793":51587,"_44795":51588,"_44797":51589,"_44799":51590,"_44801":51591,"_44803":51592,"_44805":51593,"_44807":51594,"_44809":51595,"_44811":51596,"_44813":51597,"_44815":51598,"_44817":51599,"_44819":51600,"_44821":51601,"_44823":51602,"_44825":51603,"_44827":51604,"_44829":51605,"_44831":51606,"_44833":51607,"_44835":51608,"_44837":51609,"_44839":51610,"_44841":51611,"_44843":51612,"_44845":51613,"_44847":51614,"_16496":51615,"_44850":51616,"_44852":51617,"_44854":51618,"_44856":51619,"_44858":51620,"_44860":51621,"_44862":51622,"_44864":51623,"_44866":51624,"_44868":51625,"_44870":51626,"_44872":51627,"_44874":51628,"_44876":51629,"_44878":51630,"_44880":51631,"_44882":51632,"_44884":51633,"_44886":51634,"_44888":51635,"_44890":51636,"_44892":51637,"_44894":51638,"_44896":51639,"_44898":51640,"_44900":51641,"_44902":51642,"_44904":51643,"_44906":51644,"_44908":51645,"_44910":51646,"_44912":51647,"_44914":51648,"_44916":51649,"_44918":51650,"_44920":51651,"_44922":51652,"_44924":51653,"_44926":51654,"_44928":51655,"_44930":51656,"_44932":51657,"_44934":51658,"_44936":51659,"_44938":51660,"_44940":51661,"_44942":51662,"_44944":51663,"_44946":51664,"_44948":51665,"_44950":51666,"_44952":51667,"_44954":51668,"_44956":51669,"_44958":51670,"_44960":51671,"_44962":51672,"_44964":51673,"_44966":51674,"_44968":51675,"_44970":51676,"_44972":51677,"_44974":51678,"_44976":51679,"_44978":51680,"_44980":51681,"_44982":51682,"_44984":51683,"_44986":51684,"_44988":51685,"_44990":51686,"_44992":51687,"_44994":51688,"_44996":51689,"_44998":51690,"_45000":51691,"_45002":51692,"_45004":51693,"_45006":51694,"_45008":51695,"_45010":51696,"_45012":51697,"_45014":51698,"_45016":51699,"_45018":51700,"_45020":51701,"_45022":51702,"_45024":51703,"_45026":51704,"_45028":51705,"_45030":51706,"_45032":51707,"_45034":51708,"_45036":51709,"_45038":51710,"_45040":51711,"_45042":51712,"_45044":51713,"_45046":51714,"_45048":51715,"_45050":51716,"_45052":51717,"_45054":51718,"_45056":51719,"_45058":51720,"_45060":51721,"_45062":51722,"_45064":51723,"_45066":51724,"_45068":51725,"_45070":51726,"_45072":51727,"_45074":51728,"_45076":51729,"_45078":51730,"_45080":51731,"_45082":51732,"_45084":51733,"_45086":51734,"_45088":51735,"_45090":51736,"_45092":51737,"_45094":51738,"_45096":51739,"_45098":51740,"_45100":51741,"_45102":51742,"_45104":51743,"_45106":51744,"_45108":51745,"_45110":51746,"_45112":51747,"_37455":51748,"_45115":51749,"_45117":51750,"_45119":51751,"_45121":51752,"_45123":51753,"_45125":51754,"_45127":51755,"_45129":51756,"_45131":51757,"_45133":51758,"_45135":51759,"_45137":51760,"_45139":51761},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_3010":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_20077":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38695":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38123":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_25015":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_20680":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_28362":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_21660":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_20077":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38695":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38695":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38695":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38695":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38695":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38123":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_25015":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_25015":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_25015":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_20680":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_20680":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_20680":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_20680":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_28362":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_28362":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_28362":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_28362":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_21660":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_3010":40878,"_38665":40878},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_37789":40878,"_39123":40878},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_37789":40878,"_39123":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37789":40878,"_39123":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37789":40878,"_39123":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37789":40878,"_39123":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37789":40878,"_39123":40878},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37789":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_14688":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39146":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39140":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39146":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39146":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39146":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39146":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39146":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_14688":40878,"_39528":40878},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39690":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39747":40878},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37830":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39690":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39690":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39690":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39690":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39690":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39690":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39690":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39690":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39747":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39747":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39747":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39747":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39747":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39747":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37830":40878,"_39747":40878},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38675":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39204":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39834":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38202":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39818":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39925":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38129":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37840":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38675":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38675":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38675":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38675":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38675":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38675":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38675":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38675":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38298":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39622":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39806":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39204":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39204":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39204":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39204":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39834":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39834":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39834":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39759":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38202":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38202":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38202":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38202":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39818":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39818":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39925":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39925":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39925":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39925":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39925":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39925":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39925":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39925":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39925":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_39925":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38129":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38129":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38129":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37840":40878,"_38292":40878},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_39156":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_39168":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_37721":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_40065":40878},{"_24672":40787,"_37759":40787,"_37769":40787,"_37720":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_39156":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_39156":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_39156":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_39156":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_39156":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_39156":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_39168":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_37721":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_37721":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_37721":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_37721":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_37721":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_37720":40878,"_40065":40878},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38800":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38754":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_40091":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38825":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38149":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39651":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38831":40878},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40787,"_37759":40787,"_37769":40787,"_24254":40787},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38754":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38754":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38754":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38754":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38754":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38754":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38765":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_40091":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39627":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38825":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38825":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38825":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38149":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38149":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38149":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38149":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39651":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39651":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39651":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_39651":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38831":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38831":40878},{"_24672":40878,"_37759":40878,"_37769":40878,"_24254":40878,"_38831":40878},{"_24672":40853,"_37759":40853,"_37769":40853},{"_24672":40853,"_37759":40853,"_37769":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40853,"_37759":40853,"_13331":40853},{"_24672":40787,"_37759":40787,"_13331":40787,"_14354":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_30102":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_3289":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_13478":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_13739":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_14151":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_12805":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_12812":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_23971":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_24064":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_7271":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_7319":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_7326":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_7339":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_29921":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_28818":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_27124":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_18820":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_36383":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_9688":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_10666":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_9043":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_26242":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_26319":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_26330":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_25512":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_7686":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_12720":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_31444":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_30102":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_3289":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_13478":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_13739":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_14151":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_12805":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_12805":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_12805":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_12805":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_12812":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_23971":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_24064":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_7271":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_7319":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_7326":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_7339":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_29921":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_28818":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_27124":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_18820":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_36383":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_9688":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_9688":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_9688":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_9688":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_10666":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_9043":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_26242":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_26319":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_26319":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_26319":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_26330":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_25512":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_7686":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_12720":40787},{"_24672":40787,"_37759":40787,"_13331":40787,"_31444":40787},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40787,"_37759":40787,"_37745":40787,"_39662":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38936":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38942":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39174":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39180":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38258":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39850":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39855":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39346":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39753":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38252":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_4322":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_26211":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40128":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38654":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40429":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40533":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39576":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39883":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38312":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40134":40787},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40853,"_37759":40853,"_37745":40853},{"_24672":40787,"_37759":40787,"_37745":40787,"_38936":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38936":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38936":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38936":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38936":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38936":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38936":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38942":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38942":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39174":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39174":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39174":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39174":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39180":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39180":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38258":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38258":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39850":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39850":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39850":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39855":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39855":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39855":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39346":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39346":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39346":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39753":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39753":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38252":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_4322":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_4322":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_4322":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_26211":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_26211":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_26211":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_26211":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_26211":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_26211":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40128":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40128":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40128":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40128":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40128":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40128":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40128":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38654":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38654":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_7255":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40429":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40429":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40429":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40429":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40429":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40429":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40533":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40533":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40533":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40533":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40533":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39576":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39576":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39883":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39883":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39883":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39883":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39883":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39883":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39883":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39883":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_39883":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38312":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38312":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_38312":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40134":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40134":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40134":40787},{"_24672":40787,"_37759":40787,"_37745":40787,"_40134":40787},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40787,"_37759":40787,"_35813":40787,"_38903":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40217":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_39029":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_39035":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40637":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40853,"_37759":40853,"_35813":40853},{"_24672":40787,"_37759":40787,"_35813":40787,"_38903":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40217":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40217":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40217":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40217":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40217":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_39029":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_39035":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_40140":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40787,"_37759":40787,"_35813":40787,"_38915":40787},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40853,"_37759":40853,"_37875":40853},{"_24672":40787,"_37759":40787,"_37875":40787,"_40560":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_20886":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39539":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39824":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_18266":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38536":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_7089":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_17196":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_35813":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39141":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38553":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_40390":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_40560":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_20886":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39539":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39539":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39824":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39824":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39824":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39824":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39824":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39824":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_18266":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_18266":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_18266":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_18266":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_18266":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38536":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38536":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38536":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38536":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_7089":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_7089":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_17196":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_35813":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_39141":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38548":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38553":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_38553":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_40390":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_40390":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_40390":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_40390":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_40390":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_40390":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_40390":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_40390":40787},{"_24672":40787,"_37759":40787,"_37875":40787,"_40390":40787},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40787,"_37759":40787,"_37891":40787,"_40270":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_40275":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_39860":40787},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40853,"_37759":40853,"_37891":40853},{"_24672":40787,"_37759":40787,"_37891":40787,"_40270":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_40270":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_40270":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_40270":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_40270":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_40270":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_40275":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_40275":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_40275":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_39860":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_39860":40787},{"_24672":40787,"_37759":40787,"_37891":40787,"_39860":40787},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40853,"_37759":40853,"_36501":40853},{"_24672":40787,"_37759":40787,"_36501":40787,"_40258":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38705":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39186":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38139":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39545":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39865":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39322":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39591":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39072":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39871":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_40285":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38975":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_10462":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_40258":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_40258":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_40258":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38705":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39186":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38139":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38139":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39545":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39545":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39545":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39545":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39322":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39591":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39072":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39072":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39072":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39072":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39072":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39072":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38965":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39871":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_40285":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_38975":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_39769":40787},{"_24672":40787,"_37759":40787,"_36501":40787,"_10462":40787},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40787,"_37759":40787,"_37915":40787,"_38859":40787},{"_24672":40787,"_37759":40787,"_37915":40787,"_39067":40787},{"_24672":40787,"_37759":40787,"_37915":40787,"_38177":40787},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40853,"_37759":40853,"_37915":40853},{"_24672":40787,"_37759":40787,"_37915":40787,"_38859":40787},{"_24672":40787,"_37759":40787,"_37915":40787,"_38859":40787},{"_24672":40787,"_37759":40787,"_37915":40787,"_38859":40787},{"_24672":40787,"_37759":40787,"_37915":40787,"_38859":40787},{"_24672":40787,"_37759":40787,"_37915":40787,"_38859":40787},{"_24672":40787,"_37759":40787,"_37915":40787,"_38859":40787},{"_24672":40787,"_37759":40787,"_37915":40787,"_38859":40787},{"_24672":40787,"_37759":40787,"_37915":40787,"_38859":40787},{"_24672":40787,"_37759":40787,"_37915":40787,"_39067":40787},{"_24672":40787,"_37759":40787,"_37915":40787,"_38177":40787},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40787,"_37759":40787,"_37931":40787,"_26686":40787},{"_24672":40787,"_37759":40787,"_37931":40787,"_9259":40787},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40853,"_37759":40853,"_37931":40853},{"_24672":40787,"_37759":40787,"_37931":40787,"_26686":40787},{"_24672":40787,"_37759":40787,"_37931":40787,"_9259":40787},{"_24672":40787,"_37759":40787,"_37931":40787,"_9259":40787},{"_24672":40787,"_37759":40787,"_37931":40787,"_9259":40787},{"_24672":40787,"_37759":40787,"_37931":40787,"_9259":40787},{"_24672":40787,"_37759":40787,"_37931":40787,"_9259":40787},{"_24672":40787,"_37759":40787,"_37931":40787,"_9259":40787},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40853,"_37759":40853,"_22533":40853},{"_24672":40787,"_37759":40787,"_22533":40787,"_27543":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40675":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40707":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40718":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40712":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40724":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40685":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40691":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40697":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_39045":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_38759":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40223":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30593":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_13077":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_22028":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40028":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30631":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40598":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40675":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40675":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40707":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40718":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40718":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40712":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40724":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40724":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40724":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40724":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40724":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40724":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40724":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40685":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40691":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40697":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40697":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40697":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40697":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_39045":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_38759":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40223":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40223":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40223":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40448":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30337":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_13077":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30631":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30631":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30631":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_30631":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40598":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40598":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40598":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40598":40787},{"_24672":40787,"_37759":40787,"_22533":40787,"_40598":40787},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40853,"_24383":40853,"_37795":40853},{"_24672":40787,"_24383":40787,"_37795":40787,"_16839":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39965":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39485":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39722":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39366":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_38981":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_38810":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_16839":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_16839":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_16839":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_16839":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39965":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39965":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39965":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39965":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39965":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39485":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39722":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39722":40787},{"_24672":40787,"_24383":40787,"_37795":40787,"_39366":40787},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40853,"_24383":40853,"_37865":40853},{"_24672":40787,"_24383":40787,"_37865":40787,"_38564":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_8831":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39976":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39192":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39162":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39490":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39877":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_38236":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_38564":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_8831":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_8831":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_8831":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_8831":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_8831":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_8831":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_8831":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_8831":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_8831":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39976":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39192":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39192":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39192":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39192":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39192":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39192":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39192":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39192":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39162":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39162":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39162":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39162":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39162":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39162":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39162":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39162":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39162":40787},{"_24672":40787,"_24383":40787,"_37865":40787,"_39162":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_39385":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37779":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_38585":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_39385":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_39385":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_39385":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_39385":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_39385":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_39385":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37779":40878,"_40643":40878},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_40614":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39668":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39397":40878},{"_24672":40787,"_24383":40787,"_37950":40787,"_30991":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_40614":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_40614":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_40614":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_40614":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_40614":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_40614":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_40614":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39637":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39668":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39668":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_16715":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39397":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39397":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39397":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39397":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_30991":40878,"_39397":40878},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_40291":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40787,"_24383":40787,"_37950":40787,"_37806":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_40291":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37806":40878,"_39564":40878},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37846":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_12931":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_9044":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_38231":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_39889":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_7339":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_38870":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_39602":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_38318":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_39238":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_38324":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_39244":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37726":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_12931":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_12931":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_12931":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_12931":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_9044":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_38231":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_38231":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_39889":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_7339":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_38870":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_38318":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_38318":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_38324":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_38324":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_39244":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_39244":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_39244":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_39244":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_39244":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_37726":40878,"_40649":40878},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37962":40787},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40787,"_24383":40787,"_37950":40787,"_39078":40787},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40853,"_24383":40853,"_37950":40853},{"_24672":40787,"_24383":40787,"_37950":40787,"_39078":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_39078":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_39078":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_39078":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_39078":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_39078":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_37956":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_26401":40878,"_39731":40878},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_26401":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_26401":40878,"_39731":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_26401":40878,"_39731":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_26401":40878,"_39731":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_26401":40878,"_39731":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_26401":40878,"_39731":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_26401":40878,"_39731":40878},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_38885":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_39931":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_40122":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_40396":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_39128":40878},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40787,"_24383":40787,"_37950":40787,"_9044":40787},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_38885":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_38885":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_38885":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_38885":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_38885":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_39931":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_39931":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_40122":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_40122":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_40122":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_40122":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_40396":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_40396":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_40396":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_40396":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_39128":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_39128":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_39128":40878},{"_24672":40878,"_24383":40878,"_37950":40878,"_9044":40878,"_39128":40878},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40853,"_24383":40853,"_9839":40853},{"_24672":40787,"_24383":40787,"_9839":40787,"_38570":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_40473":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38711":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_36411":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39950":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_40071":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_40155":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39254":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38570":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38570":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38570":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38570":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_40473":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38711":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38711":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_30794":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_38102":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_36411":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_36411":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_36411":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39950":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_28592":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_40071":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39001":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_40155":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_40155":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_40155":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39254":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39254":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39254":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39254":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39254":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39254":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40787,"_24383":40787,"_9839":40787,"_39094":40787},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40787,"_24383":40787,"_37985":40787,"_40039":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38329":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_5742":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_39901":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_39907":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_7197":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_35802":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_37049":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_36960":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_33866":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_34155":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_28143":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_28150":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_28156":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_39269":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_10683":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38353":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38370":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38376":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38382":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38387":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38403":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38408":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38413":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38424":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38434":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38439":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38444":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38454":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38460":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38465":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38471":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38476":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38481":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38492":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38498":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38503":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38508":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38359":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38518":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38524":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38530":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_14952":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_5696":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_39336":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_20115":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_24569":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_8550":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_40519":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_20290":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_21418":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_19815":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_11171":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_26636":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_23125":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_22723":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_40368":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_32037":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_30325":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40853,"_24383":40853,"_37985":40853},{"_24672":40787,"_24383":40787,"_37985":40787,"_38329":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_5742":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_39901":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_39907":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_39907":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_7197":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_35802":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_37049":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_37049":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_36960":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_36960":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_33866":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_33866":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_34155":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_28143":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_28150":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_28150":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_28156":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_28156":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_39269":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_39269":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_10683":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38370":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38370":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38376":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38376":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38382":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38382":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38387":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38387":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38403":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38403":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38408":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38408":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38408":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38408":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38408":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38408":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38408":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38413":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38413":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38424":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38424":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38434":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38434":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38439":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38439":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38444":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38444":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38454":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38454":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38454":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38454":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38454":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38454":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38454":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38454":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38460":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38460":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38460":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38465":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38465":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38465":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38465":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38465":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38471":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38471":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38476":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38476":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38481":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38481":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38492":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38492":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38492":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38492":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38492":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38492":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38498":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38498":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38503":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38503":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38508":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38508":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38359":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38359":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38359":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38359":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38518":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38518":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38524":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38524":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38530":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_38530":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_5696":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_39336":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_20115":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_24569":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_8550":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_40519":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_40519":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_20290":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_20290":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_20290":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_21418":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_19815":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_11171":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_26636":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_23125":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_22723":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_22723":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_22723":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_22723":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_22723":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_40368":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_32037":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_30325":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":40787,"_24383":40787,"_37985":40787,"_13218":40787},{"_24672":3013},{"_24672":3013},{"_24672":40794,"_40655":40794},{"_24672":40794,"_38155":40794},{"_24672":40794,"_38225":40794},{"_24672":40794,"_40661":40794},{"_24672":40794,"_40544":40794},{"_24672":40794,"_39581":40794},{"_24672":40794,"_6973":40794},{"_24672":40794,"_38837":40794},{"_24672":40794,"_17643":40794},{"_24672":40794,"_34433":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_9947":40794},{"_24672":40794,"_39198":40794},{"_24672":40794,"_40655":40794},{"_24672":40794,"_40655":40794},{"_24672":40794,"_38155":40794},{"_24672":40794,"_38155":40794},{"_24672":40794,"_38155":40794},{"_24672":40794,"_38155":40794},{"_24672":40794,"_38155":40794},{"_24672":40794,"_38155":40794},{"_24672":40794,"_38155":40794},{"_24672":40794,"_38225":40794},{"_24672":40794,"_40544":40794},{"_24672":40794,"_40544":40794},{"_24672":40794,"_40544":40794},{"_24672":40794,"_40544":40794},{"_24672":40794,"_39581":40794},{"_24672":40794,"_39581":40794},{"_24672":40794,"_6973":40794},{"_24672":40794,"_6973":40794},{"_24672":40794,"_6973":40794},{"_24672":40794,"_6973":40794},{"_24672":40794,"_6973":40794},{"_24672":40794,"_6973":40794},{"_24672":40794,"_38837":40794},{"_24672":40794,"_38837":40794},{"_24672":40794,"_38837":40794},{"_24672":40794,"_38837":40794},{"_24672":40794,"_38837":40794},{"_24672":40794,"_38837":40794},{"_24672":40794,"_38837":40794},{"_24672":40794,"_38837":40794},{"_24672":40794,"_17643":40794},{"_24672":40794,"_17643":40794},{"_24672":40794,"_17643":40794},{"_24672":40794,"_17643":40794},{"_24672":40794,"_17643":40794},{"_24672":40794,"_34433":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_18995":40794},{"_24672":40794,"_9947":40794},{"_24672":40794,"_9947":40794},{"_24672":40794,"_39198":40794},{"_24672":40794,"_39198":40794},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40853,"_37881":40853,"_16938":40853},{"_24672":40787,"_37881":40787,"_16938":40787,"_38606":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_38591":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_25212":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_14983":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_37846":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_36501":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_28362":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_38191":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39023":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39788":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_38606":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_40353":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39099":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_38591":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_38591":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_38591":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_38591":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_38591":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_38591":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_38591":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_25212":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_14983":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_14983":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_37846":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_37846":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_37846":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_37846":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_37846":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_36501":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_36501":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_36501":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_36501":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_28362":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_38191":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39023":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39023":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39023":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39023":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39023":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39023":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39023":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39788":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39788":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39788":40787},{"_24672":40787,"_37881":40787,"_16938":40787,"_39788":40787},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40853,"_6558":40853,"_37921":40853},{"_24672":40787,"_6558":40787,"_37921":40787,"_39608":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_18705":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_24728":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38921":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38630":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39991":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38721":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39608":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_18705":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_24728":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38921":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38921":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38921":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38921":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38921":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38921":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38921":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38921":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38921":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38921":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38630":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39564":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_39991":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_40229":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38721":40787},{"_24672":40787,"_6558":40787,"_37921":40787,"_38721":40787},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40853,"_6558":40853,"_37979":40853},{"_24672":40787,"_6558":40787,"_37979":40787,"_40181":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_25333":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_23779":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_17731":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_8906":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_21547":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40186":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39445":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40566":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40494":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39284":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40191":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40576":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40499":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39228":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39289":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40196":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_38786":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39426":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40504":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_31535":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40201":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40509":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39294":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40206":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_38791":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40581":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39233":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_25333":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_23779":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_23779":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_23779":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_23779":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_23779":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_23779":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_23779":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_17731":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_17731":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_17731":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_17731":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_17731":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_8906":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_21547":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_21547":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_21547":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39445":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39445":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39445":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39445":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39445":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40566":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40494":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40494":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40494":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40494":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40494":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40494":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40494":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40494":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39284":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39284":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39421":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40576":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40499":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40499":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40499":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39228":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39289":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39289":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_38786":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_38786":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39426":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39426":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39426":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39426":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39426":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40504":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40504":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40504":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40504":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40504":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40504":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_31535":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40509":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40509":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39294":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39294":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39294":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_38791":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39431":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40581":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40581":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40514":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39233":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39233":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_40416":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},{"_24672":40787,"_6558":40787,"_37979":40787,"_39299":40787},"tokenOccurrences",{"_2209":51764,"_37698":51766,"_5":51767,"_38009":51768,"_14695":51769},{"_11411":17138,"_6884":3177,"_5968":9417,"_11313":2304,"_11353":18917,"_11327":7541,"_11320":20543,"_11346":3356,"_11375":3355,"_11306":5389,"_36123":12960,"_11342":20080,"_36627":13290,"_36749":20682,"_36700":2229,"_11445":28364,"_12197":13290,"_36739":2229,"_36759":3013,"_12027":3013,"_11889":2229,"_12203":3013,"_36046":3013,"_36685":3013,"_35574":20080,"_35645":20682,"_35619":3013,"_12054":3013,"_35635":3013,"_35650":3013,"_12102":3013,"_35655":3013,"_12080":3013,"_36302":3013,"_37112":3013,"_37107":3013,"_37102":3013,"_11469":2229,"_30746":3013,"_36784":3013,"_36853":3013,"_37626":3013,"_36130":28364,"_36637":20682,"_36632":3013,"_36754":3013,"_36725":3013,"_36744":20080,"_36651":3013,"_36646":3013,"_16474":3013,"_37379":3013,"_37384":3013,"_37374":2229,"_35579":3013,"_35624":3013,"_35640":3013,"_36040":2229,"_36045":3013,"_36051":3013,"_37087":2229,"_36137":25017,"_36615":2229,"_36678":3013,"_36662":3013,"_37339":3013,"_37329":2229,"_37349":3013,"_37365":3013,"_37354":2229,"_37455":13290,"_37444":3013,"_37490":2229,"_37495":3013,"_37500":3013,"_35594":2229,"_35609":20080,"_35614":20080,"_35677":2229,"_35682":3013,"_35687":3013,"_36061":2229,"_36779":2229,"_36843":2229,"_36144":20080,"_35599":3013,"_36817":3013,"_36690":3013,"_36695":3013,"_35604":3013,"_36621":2229,"_37461":3013,"_3010":20080,"_5783":2229,"_6912":3013,"_7535":3472,"_8761":2246,"_2225":35815,"_11263":2451,"_13234":3254,"_16556":2235,"_18134":3013,"_20077":18156,"_21557":20080,"_3":8236,"_23347":3401,"_13288":25017,"_25015":2229,"_20680":18156,"_28362":2237,"_3399":2462,"_21660":25017,"_6011":3013,"_23778":28364,"_14792":5391,"_28389":3355,"_20886":3644,"_18154":6014,"_28707":20080,"_28467":6027,"_21976":2229,"_3132":2448,"_8820":6027,"_29490":31488,"_30253":5884,"_21124":4458,"_20131":3447,"_3749":13290,"_6069":8653,"_22216":2603,"_7716":36132,"_13576":5064,"_7841":2241,"_31369":4461,"_3765":4360,"_18963":2234,"_14474":6014,"_12931":3356,"_25462":2237,"_8794":3423,"_19161":2233,"_25936":2231,"_32088":7540,"_22223":3052,"_26686":18918,"_21683":6014,"_3925":2309,"_15368":2246,"_20120":2233,"_5697":3501,"_4195":13290,"_21678":7538,"_6165":3013,"_31394":3772,"_7013":2229,"_28954":12960,"_15546":6073,"_13165":3052,"_4455":4461,"_31481":2324,"_31557":2232,"_7846":20080,"_33711":2314,"_7825":6076,"_15626":2241,"_8095":2233,"_21688":2231,"_24592":5390,"_26693":6014,"_20125":5391,"_13625":25017,"_4205":3013,"_16586":2229,"_6214":5388,"_22233":21663,"_26763":2246,"_33716":3013,"_22281":3055,"_7768":2230,"_7485":2430,"_28997":31488,"_18556":20080,"_12628":2326,"_15800":2285,"_9011":3644,"_26698":31488,"_34412":5393,"_23795":3178,"_13755":3411,"_26125":5321,"_4718":6014,"_30373":3355,"_22306":2350,"_9120":13290,"_5803":3013,"_32456":2239,"_32139":3355,"_23383":18918,"_8831":3081,"_20146":28364,"_23373":6014,"_8204":3930,"_16710":21663,"_30656":6014,"_32535":2254,"_19493":3013,"_34536":2229,"_17638":2229,"_26933":7537,"_9449":2229,"_19614":20080,"_22291":3933,"_3025":20080,"_15794":2317,"_10492":8236,"_4322":2242,"_24672":2230,"_23860":5390,"_3997":15117,"_15849":13290,"_13893":20080,"_3833":25017,"_33120":2237,"_14218":2232,"_22250":2236,"_14562":2230,"_28405":2240,"_9460":20080,"_6246":13290,"_23961":12960,"_35135":36167,"_27148":3980,"_22662":25017,"_7036":13290,"_4554":25017,"_18165":5388,"_30661":2229,"_34566":2229,"_32476":2240,"_9553":13290,"_29601":2262,"_30424":28364,"_14605":3013,"_8755":2238,"_15701":3013,"_35702":20080,"_15717":2237,"_13283":28364,"_7019":3254,"_23274":3013,"_4735":6014,"_19504":2229,"_31630":2241,"_16834":21663,"_12720":18918,"_3095":2249,"_35370":3644,"_19244":2239,"_26736":2229,"_19499":2229,"_20718":7541,"_6":6014,"_26175":5389,"_24677":2233,"_8144":2332,"_32574":3081,"_26249":2232,"_10985":2232,"_4200":2229,"_17096":3013,"_8293":3401,"_27350":21663,"_9888":6071,"_21567":3013,"_13729":2230,"_36290":13290,"_3074":2275,"_31635":2234,"_29630":6075,"_25021":2229,"_18190":7786,"_20156":13290,"_33129":36167,"_30258":7786,"_18200":6027,"_35768":18156,"_12948":3081,"_24091":3355,"_8358":6071,"_8403":2230,"_20931":13290,"_27200":20682,"_20773":5064,"_32819":21663,"_17877":3425,"_33211":5390,"_6177":2232,"_15799":2235,"_9600":3081,"_29839":18156,"_9937":2230,"_20946":3355,"_31374":5389,"_7118":2231,"_31439":20080,"_25752":6027,"_4968":3355,"_8858":7538,"_3195":25017,"_26357":2229,"_29993":3013,"_8365":21663,"_6018":5390,"_9228":13290,"_4742":31488,"_10020":2229,"_2214":2229,"_3017":25017,"_3642":2250,"_20180":20682,"_16865":2229,"_29635":2233,"_25132":3402,"_23285":3013,"_3020":2277,"_27479":3013,"_3672":36132,"_5879":5389,"_4592":7541,"_5318":3051,"_17851":25017,"_3659":36192,"_31861":5389,"_7875":7538,"_3307":2237,"_22693":4458,"_32544":2235,"_32120":13290,"_24751":18917,"_5374":20080,"_36378":20682,"_9652":2237,"_13775":12960,"_21987":20080,"_24602":13290,"_16221":20543,"_30013":20682,"_6384":3013,"_5038":2229,"_29033":3013,"_31486":3776,"_28727":20080,"_31513":20080,"_9207":13290,"_12958":21663,"_8589":3355,"_16105":3013,"_27543":6014,"_6806":3013,"_26242":3415,"_25941":3052,"_20686":3013,"_22347":2236,"_18788":13290,"_4603":13290,"_14682":3053,"_6707":2243,"_22387":5389,"_29149":21663,"_31875":2230,"_35813":6027,"_25558":18156,"_34433":4458,"_27713":2231,"_17125":20682,"_27251":3013,"_30671":25017,"_30822":7541,"_25057":5064,"_8233":3355,"_15449":6014,"_9300":20080,"_8841":6027,"_33237":3355,"_31885":13290,"_5061":20682,"_13311":6014,"_17163":3404,"_5385":2240,"_31986":2229,"_14833":20080,"_30435":2242,"_14610":2229,"_21246":2232,"_3145":2238,"_10041":3052,"_13121":6027,"_6450":6014,"_17888":13290,"_28491":28364,"_15925":2241,"_20270":18918,"_20952":2231,"_25966":3357,"_25512":3355,"_22255":7786,"_7123":2231,"_29998":20080,"_5473":2246,"_35326":3013,"_5504":2229,"_14599":3013,"_12812":5389,"_23206":2233,"_35289":3013,"_23223":25017,"_9222":2234,"_34439":2262,"_32631":6014,"_34444":31488,"_3048":3081,"_7784":2234,"_16886":2237,"_27021":14690,"_4856":21663,"_32651":3013,"_8444":3013,"_7869":3259,"_30970":6014,"_19294":25017,"_30839":3013,"_17019":20080,"_18266":6071,"_11116":2233,"_18275":28364,"_13316":3013,"_6270":3401,"_4356":5873,"_18274":3013,"_32156":7538,"_32661":20080,"_30154":3013,"_25609":18917,"_35836":2231,"_28787":21663,"_3228":12960,"_30159":3013,"_30980":20682,"_23804":5064,"_21644":2230,"_19647":2234,"_30149":2235,"_29499":2234,"_30164":3013,"_32671":3013,"_18305":5883,"_21858":3403,"_32646":2229,"_34194":20080,"_6473":36139,"_31895":13290,"_22357":18156,"_10254":2229,"_25212":20080,"_10565":2231,"_20067":2232,"_22352":3081,"_20302":3013,"_20297":20682,"_12580":3355,"_27051":2240,"_21547":18156,"_31905":3013,"_16250":12960,"_21436":25017,"_27205":13290,"_36583":3013,"_30446":18156,"_18915":25017,"_14706":3081,"_19789":20080,"_5331":3644,"_24249":25017,"_13785":28364,"_15171":25017,"_28802":2232,"_19867":2229,"_35859":2302,"_27061":3013,"_22316":2235,"_30078":3767,"_18388":21663,"_14582":25017,"_16608":2229,"_28777":2251,"_13350":2252,"_20482":2233,"_31880":2235,"_6493":3013,"_12541":5476,"_25254":6014,"_10133":20682,"_10138":20682,"_4953":20080,"_25778":3013,"_13243":28364,"_13955":2231,"_3671":31488,"_16624":20080,"_4692":3355,"_18995":5334,"_15733":25017,"_19146":3644,"_27839":13290,"_20983":13290,"_30461":9417,"_9476":7538,"_9130":3081,"_24342":2233,"_24357":2233,"_26379":3081,"_19524":6014,"_30854":20080,"_3119":20080,"_5488":25017,"_6047":8236,"_25472":5388,"_14241":2232,"_26742":13290,"_4593":3055,"_7230":25017,"_6119":13290,"_33247":2229,"_18382":2231,"_20275":20682,"_9337":25017,"_21588":6027,"_27992":18156,"_15937":28364,"_12805":2252,"_27071":20682,"_28184":3013,"_23419":2233,"_24408":3013,"_32461":25017,"_6306":21663,"_18210":5389,"_8851":3401,"_32393":13290,"_18404":13290,"_24662":2244,"_27355":5391,"_24771":2231,"_28179":6014,"_14006":13290,"_33354":2229,"_36020":2229,"_11068":2229,"_36793":3013,"_32471":31488,"_28717":2229,"_35564":2229,"_20234":5388,"_5796":2230,"_9181":21663,"_33743":7538,"_17103":2233,"_9646":13290,"_18910":13290,"_33359":3013,"_33748":2234,"_24729":2234,"_22017":2232,"_22260":2248,"_32003":2237,"_34496":13290,"_8895":2233,"_15976":5064,"_19550":3013,"_24254":3081,"_5813":20080,"_21868":3013,"_14857":6014,"_22455":2232,"_30471":20682,"_7903":2229,"_9395":20682,"_33882":2249,"_21149":2229,"_16722":20080,"_23865":3013,"_15471":6014,"_25052":7537,"_23503":2234,"_20190":2237,"_4249":31488,"_25946":2237,"_16896":3013,"_27026":3768,"_14688":5388,"_10462":2236,"_11291":6071,"_30868":13290,"_7793":25017,"_17554":20080,"_22105":2229,"_29048":2229,"_30170":3013,"_32200":2229,"_28210":2244,"_22855":5390,"_9191":28364,"_27484":20682,"_14898":20080,"_29154":3013,"_17546":31488,"_4975":5321,"_16911":20080,"_7396":25017,"_7255":21663,"_14157":2240,"_28251":6014,"_13934":20080,"_7391":20080,"_32880":6014,"_14173":2243,"_32688":25017,"_31379":3013,"_28797":13290,"_19922":2233,"_10457":25017,"_36030":6014,"_31384":20080,"_24151":2231,"_20742":2229,"_7571":2231,"_24281":13290,"_16763":3355,"_18815":21663,"_8106":2234,"_14167":8860,"_26394":8860,"_16566":2236,"_34203":2232,"_19318":2230,"_9575":2232,"_26490":5389,"_5302":2238,"_5775":3401,"_29053":6014,"_19007":2232,"_15739":2229,"_4808":25017,"_25568":18156,"_6395":13290,"_26401":3081,"_33422":7538,"_33974":3403,"_32134":2229,"_8781":6014,"_34028":3013,"_32170":3081,"_9186":20080,"_17794":3013,"_6252":5388,"_23440":5390,"_32964":13290,"_33769":13290,"_17229":2232,"_35738":6014,"_13582":5393,"_31055":25017,"_28017":5389,"_31601":3013,"_28256":2229,"_31159":20080,"_32054":2229,"_9044":5334,"_32059":2229,"_23870":25017,"_6419":13290,"_3978":5389,"_19332":13290,"_24296":2233,"_32589":28364,"_9507":20080,"_17706":18156,"_15947":2229,"_23362":20080,"_27164":20682,"_22496":2231,"_30626":2235,"_32064":2229,"_6363":3053,"_21447":2229,"_35205":20080,"_14523":31488,"_6412":21663,"_14926":6014,"_18311":2238,"_7603":2236,"_2209":20080,"_15363":3052,"_6499":5064,"_8771":36125,"_36871":20080,"_3252":5390,"_32569":20080,"_5529":3013,"_19882":25017,"_13266":2232,"_32666":3013,"_8414":3413,"_21199":7538,"_6928":6014,"_17568":6014,"_10051":25017,"_10097":2242,"_4293":3013,"_11184":3013,"_3325":2231,"_9470":21663,"_29063":21663,"_29921":6014,"_21910":2235,"_23688":3644,"_13138":2238,"_7429":2229,"_7280":2230,"_21771":21663,"_20541":25017,"_36802":6014,"_27097":6014,"_24443":2229,"_25867":25017,"_32698":2229,"_19679":3355,"_20508":31488,"_23265":2236,"_24952":6014,"_31404":6072,"_30997":25017,"_23445":20080,"_16016":3013,"_13780":5388,"_29347":3081,"_7924":18917,"_6297":3053,"_21046":3355,"_14556":13290,"_16021":2229,"_36116":3013,"_34582":25017,"_9431":25017,"_36122":3013,"_33027":2229,"_19800":28364,"_36129":3013,"_36136":3013,"_36143":3013,"_9067":2230,"_36150":3013,"_3174":13290,"_9050":13290,"_35165":13290,"_36157":3013,"_24025":20682,"_3297":5984,"_32481":31488,"_36164":3013,"_36176":3013,"_36189":3013,"_9078":20682,"_15900":3013,"_31006":3013,"_24683":3013,"_36183":3013,"_26495":2230,"_13587":2234,"_19407":13290,"_7730":3013,"_10286":13290,"_19022":3013,"_19284":3013,"_8132":2236,"_14055":20080,"_5400":12960,"_13919":3013,"_31032":3013,"_30621":6014,"_5242":6071,"_33783":3013,"_30083":6014,"_12667":6014,"_25616":31488,"_6012":20682,"_14695":20080,"_7853":3401,"_2217":3768,"_3825":6071,"_28522":6014,"_9481":20682,"_35928":3013,"_34561":25017,"_6322":28364,"_18435":5390,"_9244":3013,"_5977":13290,"_16742":3767,"_10476":2229,"_26275":20080,"_6559":20682,"_31192":3013,"_29485":7537,"_35007":3013,"_26285":5391,"_2974":3051,"_32175":2229,"_8460":7786,"_9055":21663,"_5871":31488,"_6515":20080,"_24311":6014,"_23016":2231,"_7245":2229,"_36876":2231,"_35938":21663,"_21873":2230,"_3150":3767,"_26291":2232,"_11257":2235,"_16111":6071,"_13739":4359,"_35345":2232,"_32235":2230,"_26130":2231,"_16561":2231,"_14183":3013,"_33873":8860,"_7935":28364,"_30722":21663,"_5424":6014,"_3002":5388,"_17136":3767,"_6657":13290,"_23042":21663,"_23693":3013,"_29927":20080,"_9673":6014,"_28416":3013,"_23212":3013,"_28426":3013,"_32744":2229,"_7340":2229,"_7435":2231,"_32754":3013,"_26425":3013,"_20589":3013,"_13071":3013,"_23819":2230,"_6783":2233,"_7929":20682,"_7297":2229,"_24171":13290,"_21776":2229,"_17323":3013,"_18027":3013,"_22127":13290,"_17578":3013,"_10080":3013,"_29007":3013,"_29437":3013,"_7951":20080,"_27371":3013,"_15859":2237,"_17318":20682,"_19027":13290,"_30506":2240,"_25621":3644,"_7956":20080,"_22762":2229,"_29073":2229,"_16288":20682,"_26191":25017,"_29183":6014,"_33485":2229,"_28568":2232,"_17583":3013,"_29200":3013,"_29205":3013,"_20674":13290,"_31519":2229,"_35240":13290,"_25594":6014,"_16926":28364,"_36411":2232,"_25223":3013,"_5624":13290,"_6687":3013,"_6334":3013,"_6679":5389,"_14947":3013,"_6693":6071,"_9259":2232,"_9217":20682,"_17374":20080,"_25796":21663,"_19370":3013,"_29012":2229,"_25817":12960,"_11088":20080,"_21286":20080,"_18446":6014,"_30517":6027,"_6552":2229,"_34131":3013,"_10218":5389,"_19238":3644,"_10069":2241,"_25986":20080,"_7406":3013,"_6558":20080,"_26675":2229,"_21593":2233,"_6379":6071,"_5888":2237,"_36437":25017,"_25802":6014,"_31076":2229,"_18581":20682,"_30034":3013,"_26704":3013,"_14184":3013,"_9421":3013,"_6746":3013,"_4602":2230,"_7735":18917,"_5006":3013,"_29274":21663,"_6701":28364,"_27854":3013,"_16818":2232,"_19043":3013,"_27802":3013,"_27824":3013,"_35437":3013,"_35432":2233,"_21015":3081,"_15558":3013,"_20584":20080,"_5658":2229,"_26431":3013,"_31669":3013,"_19337":3013,"_31744":3013,"_25228":3013,"_34213":3013,"_34219":3013,"_34224":3013,"_13164":3013,"_19988":6014,"_13159":20080,"_31429":5064,"_21009":20682,"_19102":20682,"_19994":2229,"_8420":4458,"_13272":2230,"_27876":2230,"_31202":20682,"_14747":6027,"_33788":3355,"_32709":20080,"_34350":28364,"_13180":3013,"_21262":2229,"_34051":20080,"_34930":13290,"_32834":18156,"_24717":2229,"_12535":2234,"_26963":2229,"_23357":2234,"_15010":3013,"_33804":2238,"_17097":21663,"_32318":13290,"_4843":14690,"_16132":20682,"_8305":28364,"_23077":13290,"_6126":2232,"_17255":20080,"_35295":2230,"_35200":13290,"_25999":13290,"_33793":20080,"_13366":20080,"_13377":13290,"_32094":20080,"_15390":13290,"_24156":13290,"_32334":3013,"_26206":3013,"_31123":6073,"_18441":21663,"_21874":5064,"_28517":2241,"_15691":20682,"_31976":7541,"_7225":28364,"_26362":2229,"_16126":20682,"_22511":6014,"_18862":2229,"_25347":2229,"_22028":21663,"_19515":6014,"_6131":20080,"_27092":2229,"_18457":31488,"_4614":3013,"_37121":3013,"_23593":3013,"_37131":3013,"_29504":21663,"_31971":2231,"_32932":20080,"_19545":3013,"_25873":2234,"_33774":2233,"_16747":2234,"_25477":6014,"_5080":20080,"_16137":3013,"_27282":2232,"_19183":2230,"_4619":2229,"_24761":2236,"_20513":2229,"_25878":2230,"_33753":2231,"_34935":4359,"_4630":2231,"_31492":5390,"_21603":25017,"_3101":20080,"_19637":20080,"_8149":20682,"_36882":2229,"_21879":2229,"_18633":2230,"_2212":2264,"_30315":6014,"_23072":18156,"_10324":20080,"_24788":3013,"_30430":2235,"_30003":13290,"_5668":2230,"_32250":20682,"_23435":6027,"_15025":2235,"_21302":2235,"_23092":20080,"_4887":13290,"_16196":20080,"_25352":2229,"_32604":20080,"_34661":3013,"_23456":13290,"_4770":3013,"_32186":3081,"_24837":20080,"_32844":25017,"_6733":3013,"_13765":20682,"_30486":2235,"_7145":3013,"_32549":6014,"_4017":20080,"_29082":3013,"_21598":18156,"_32115":2230,"_5":2241,"_29068":21663,"_19872":2229,"_24843":5388,"_25574":2233,"_20747":2232,"_22265":3767,"_9701":2239,"_36892":2229,"_13393":21663,"_5535":21663,"_14151":3401,"_26222":2229,"_26217":21663,"_28022":2241,"_19894":20080,"_28051":28364,"_21358":3013,"_6836":2229,"_25032":2241,"_19938":3013,"_6706":3013,"_21464":5064,"_14567":2229,"_17102":18156,"_34571":28364,"_34960":5064,"_15942":20080,"_6413":28364,"_22804":2231,"_29367":18156,"_22799":20080,"_20957":2229,"_21364":5064,"_10534":3013,"_30055":2229,"_22752":28364,"_22809":25017,"_8182":25017,"_7961":6014,"_23097":18156,"_30491":2229,"_7261":6014,"_7593":3355,"_36887":20080,"_33887":2229,"_23337":20080,"_11109":13290,"_4494":3767,"_30108":28364,"_15099":3013,"_22393":2232,"_25636":13290,"_24347":3013,"_9305":2229,"_7441":3013,"_25297":6014,"_8408":20080,"_33390":28364,"_22228":36132,"_28603":20080,"_18644":2233,"_24617":3081,"_8935":20080,"_5174":21663,"_33536":3013,"_23736":20080,"_36200":20080,"_17249":13290,"_18659":2229,"_26140":2229,"_4533":3013,"_28076":3013,"_31300":20080,"_36981":6014,"_31295":20682,"_36808":3013,"_10180":2231,"_15379":25017,"_10639":28364,"_26730":6014,"_9678":13290,"_22322":13290,"_31571":2229,"_10990":20080,"_23886":20080,"_10202":20682,"_8770":2234,"_11131":25017,"_6443":6014,"_14779":3013,"_20089":20682,"_14785":2237,"_7742":4359,"_22523":2230,"_17721":20080,"_7686":5388,"_4508":2235,"_26725":3013,"_25651":2232,"_17595":2231,"_8166":2229,"_15454":6014,"_28960":28364,"_36025":2229,"_34056":3013,"_23051":3013,"_13697":2229,"_27736":2229,"_24776":2233,"_27590":3013,"_4298":2229,"_7983":2236,"_10980":2229,"_28828":25017,"_29932":20080,"_5016":25017,"_33052":20682,"_26093":6014,"_27185":25017,"_13478":2230,"_27494":2230,"_14587":2229,"_26545":3013,"_24526":3013,"_7271":2246,"_3207":2230,"_20313":3013,"_14399":13290,"_17748":21663,"_16142":28364,"_13321":20682,"_24794":2229,"_5557":2229,"_32255":20080,"_9021":2229,"_5117":3013,"_26232":3013,"_26571":3013,"_18170":3355,"_22673":6014,"_20319":3013,"_13367":28364,"_17913":13290,"_7459":2236,"_24178":3013,"_33110":3013,"_13398":6014,"_18048":3013,"_18053":2229,"_31645":6071,"_34360":3013,"_21291":3013,"_4484":2237,"_33830":2229,"_22757":2230,"_20354":3013,"_20370":31488,"_8573":3013,"_31790":3013,"_31785":6014,"_21040":31488,"_31399":20682,"_31806":3013,"_28472":20682,"_20401":2229,"_19699":21663,"_17039":28364,"_23891":28364,"_25467":20682,"_9559":3013,"_27376":20080,"_26109":2229,"_15186":13290,"_19730":2229,"_9147":3013,"_9153":3013,"_7401":2235,"_31911":13290,"_33845":6014,"_20413":3013,"_26988":2234,"_4272":2229,"_15530":5334,"_9165":3013,"_9170":3013,"_4713":2229,"_4719":2229,"_9465":3013,"_23966":6014,"_16944":21663,"_29527":3013,"_21936":2237,"_25367":2230,"_25372":3013,"_2216":2237,"_2972":6014,"_21327":20080,"_3322":20080,"_2220":21663,"_23295":3013,"_36598":3013,"_10291":21663,"_37092":3013,"_27860":3013,"_34137":2235,"_10645":2229,"_9605":2231,"_32885":20080,"_23814":13290,"_15665":28364,"_22399":2230,"_17763":3081,"_17975":20682,"_28838":2229,"_33490":3013,"_11308":3013,"_7692":2241,"_10961":18156,"_35943":3013,"_31186":3013,"_31926":2229,"_20084":2233,"_14931":2231,"_23779":20682,"_36603":3013,"_26791":3081,"_36672":3013,"_31755":3013,"_11348":25017,"_31675":3355,"_4686":25017,"_31760":6014,"_5915":3013,"_6566":20080,"_10063":25017,"_15930":3081,"_15568":2232,"_31750":3013,"_31690":3013,"_24413":13290,"_31712":21663,"_29097":20080,"_24448":20682,"_31701":2229,"_34506":2232,"_32371":2233,"_13630":2229,"_13500":18156,"_9811":3013,"_31696":20080,"_9983":6014,"_30751":20682,"_17716":25017,"_28056":2229,"_31706":3013,"_30456":3013,"_29301":2232,"_15374":3081,"_20390":3013,"_13687":3081,"_30681":2229,"_27731":3013,"_3209":2234,"_6851":2229,"_31016":3013,"_29610":3013,"_31022":3013,"_17643":2239,"_33304":25017,"_33309":3013,"_36903":25017,"_21225":21663,"_21805":3013,"_15015":20080,"_26150":3013,"_10186":20080,"_8413":2229,"_21337":2229,"_28623":20682,"_14017":2229,"_33914":6071,"_15481":2232,"_31821":21663,"_35448":18156,"_33567":2229,"_9352":20080,"_7758":20080,"_30686":2229,"_25784":2229,"_20424":2229,"_33272":20080,"_34981":3013,"_14287":20080,"_14195":3013,"_26015":28364,"_22408":2230,"_22556":20682,"_11077":21663,"_28843":21663,"_21072":2232,"_18415":18156,"_24881":21663,"_23824":28364,"_14196":20682,"_22562":3013,"_22430":6014,"_14305":2229,"_14212":3013,"_22544":13290,"_30913":6014,"_10700":3013,"_14310":2229,"_14217":3013,"_14315":20080,"_14223":3013,"_18425":18156,"_3312":3013,"_34382":13290,"_14332":3013,"_14240":3013,"_33501":18156,"_16644":13290,"_36216":3013,"_14337":3013,"_14246":3013,"_14247":2229,"_22371":25017,"_24478":2229,"_14342":2229,"_36211":3013,"_14252":3013,"_14258":3013,"_13980":18156,"_32012":25017,"_14264":3013,"_28922":21663,"_14270":3013,"_10767":3013,"_14276":3013,"_10773":3013,"_9763":21663,"_13403":3013,"_13707":21663,"_18205":28364,"_9570":2231,"_35584":3013,"_32749":2229,"_34667":3013,"_34355":2229,"_8594":20080,"_8595":13290,"_8588":2229,"_14773":2237,"_20441":2229,"_29829":6027,"_11098":3013,"_17726":2229,"_36609":3013,"_20453":3013,"_5629":28364,"_31816":2235,"_8600":3013,"_17686":2229,"_32382":3013,"_32377":25017,"_24065":2236,"_33057":6014,"_29728":28364,"_34687":2236,"_12923":8206,"_10026":20080,"_10346":3013,"_36536":2229,"_7674":20080,"_32724":3013,"_8894":3013,"_8945":3013,"_8900":20080,"_25626":2230,"_25702":3013,"_8911":3013,"_8951":3013,"_33924":18156,"_18235":6014,"_8917":3013,"_8957":3013,"_24871":20682,"_25707":20682,"_19832":13290,"_13484":18156,"_29058":28364,"_29860":2232,"_20355":2229,"_8871":3013,"_8974":3013,"_13986":20682,"_8877":3013,"_8980":3013,"_8986":3013,"_8963":3013,"_27210":3013,"_24906":3013,"_27215":20080,"_7679":3013,"_3094":3013,"_3087":3013,"_5150":3013,"_6638":3013,"_30638":3013,"_4796":3013,"_32180":3013,"_33134":3013,"_5180":2245,"_4105":21663,"_20336":3013,"_25956":25017,"_20342":3013,"_23367":20080,"_23896":2233,"_16613":20682,"_16786":6014,"_16031":3013,"_24815":25017,"_16670":2229,"_23235":13290,"_3324":3013,"_19376":25017,"_21088":20682,"_16232":3013,"_35012":3013,"_33612":3013,"_23311":3013,"_19381":3013,"_16685":3013,"_20011":2229,"_17958":25017,"_34971":20682,"_18675":3013,"_18695":3013,"_29769":13290,"_7648":3013,"_15563":3013,"_3280":3258,"_15675":3355,"_5754":2229,"_10280":13290,"_4287":3013,"_18335":6027,"_14973":25017,"_10249":2229,"_21375":2229,"_18974":3013,"_30102":2230,"_14349":2231,"_3750":3013,"_15744":25017,"_16932":6014,"_15212":3013,"_33593":20080,"_14978":13290,"_15206":3013,"_19684":3013,"_11151":2229,"_21098":20080,"_6483":2231,"_30691":28364,"_27391":2229,"_24722":2229,"_27631":20682,"_30522":2238,"_15176":3013,"_22034":3013,"_8776":21663,"_15254":2241,"_30029":20080,"_18073":28364,"_10086":3355,"_33851":3081,"_21951":13290,"_22435":20682,"_33633":2229,"_16001":20080,"_29659":20682,"_7058":20080,"_34246":21663,"_21967":6014,"_34034":2229,"_13798":3081,"_29763":28364,"_7945":20080,"_25152":13290,"_24200":2229,"_8658":2230,"_36705":3013,"_37394":3013,"_23551":3013,"_15905":2229,"_33032":3013,"_19745":3013,"_8034":25017,"_15115":6014,"_20898":12960,"_15110":3013,"_11371":3013,"_7452":2229,"_7458":3013,"_26747":2229,"_21863":13290,"_21915":3013,"_21385":25017,"_8490":6014,"_15805":20682,"_9611":3013,"_4309":6027,"_18546":3013,"_18591":6014,"_8485":2230,"_34146":20682,"_13965":2235,"_4932":3081,"_17627":3013,"_13304":6027,"_17632":2235,"_28374":2229,"_27719":3013,"_28971":3013,"_17179":3013,"_15981":13290,"_33062":3013,"_28977":3013,"_33577":20080,"_23082":13290,"_6401":3013,"_17108":3013,"_6402":20080,"_10031":2229,"_14409":20080,"_30088":21663,"_33562":6027,"_29695":2229,"_26773":25017,"_33151":3013,"_7680":20080,"_19012":6014,"_8641":3013,"_8651":3051,"_3681":2229,"_37514":3013,"_22418":3013,"_22424":3013,"_20610":2229,"_22413":3013,"_8310":3013,"_30383":3013,"_18602":3013,"_8000":3013,"_13196":3013,"_34708":3013,"_17054":3013,"_9496":2229,"_17810":25017,"_13494":20080,"_4099":6014,"_19751":6014,"_34731":6014,"_5342":6014,"_31305":20080,"_24220":2229,"_23519":2229,"_17359":20080,"_27911":3013,"_19805":20080,"_9585":20682,"_32760":2229,"_10544":3013,"_4104":3013,"_32022":3081,"_27901":2229,"_34779":3013,"_29712":20080,"_11383":3013,"_11484":3013,"_24086":21663,"_20752":20080,"_26566":18156,"_26504":18156,"_7577":3013,"_29279":2229,"_32392":3013,"_14797":13290,"_7464":2229,"_26098":3013,"_26104":3013,"_26099":6014,"_24210":3013,"_33638":3013,"_24215":3013,"_36474":3013,"_4340":2231,"_33277":6014,"_14572":28364,"_34061":3013,"_35022":3013,"_4871":2234,"_23021":3013,"_4642":2232,"_18878":25017,"_17651":13290,"_8419":2229,"_6144":2236,"_20459":3013,"_33444":20682,"_35453":6014,"_4985":2229,"_28678":25017,"_29620":3013,"_20631":2237,"_31497":18156,"_7162":6014,"_33258":13290,"_23102":3013,"_17369":13290,"_15706":2229,"_23242":20080,"_37399":3013,"_20165":20080,"_14366":3013,"_14354":2233,"_29220":3013,"_5085":13290,"_30320":13290,"_15291":20080,"_34955":31488,"_27746":3013,"_32594":3013,"_5074":20682,"_7799":20080,"_15306":5388,"_26373":3013,"_34371":20080,"_20285":13290,"_21458":2231,"_4110":20080,"_29378":20682,"_27134":18156,"_26185":2235,"_8906":2237,"_19631":2230,"_28046":12960,"_3244":2230,"_11377":2229,"_21204":20682,"_5325":3081,"_3276":25017,"_9316":2229,"_19999":21663,"_16891":28364,"_28200":20080,"_19827":2229,"_3030":3013,"_15415":13290,"_28683":13290,"_26020":3013,"_34454":5064,"_33939":28364,"_3658":25017,"_5375":13290,"_23753":3013,"_18990":2233,"_6225":13290,"_27906":6014,"_8474":2229,"_8502":2229,"_24886":6014,"_7018":3081,"_29947":2231,"_14066":20080,"_17918":3013,"_17923":3013,"_29383":3013,"_4070":2229,"_15242":3013,"_7025":2231,"_23639":2229,"_34624":3013,"_4661":28364,"_4076":2229,"_7654":13290,"_36501":2231,"_8315":2232,"_19228":20080,"_8815":18156,"_5584":25017,"_4081":2229,"_16249":3013,"_5834":3013,"_33919":25017,"_4261":20080,"_36508":3013,"_25668":6014,"_10372":2234,"_25663":3013,"_19178":2232,"_9712":20682,"_30696":20080,"_36491":2229,"_26264":3013,"_26025":28364,"_9727":13290,"_5788":5334,"_22533":20080,"_4900":6014,"_25004":25017,"_26314":3013,"_33294":6014,"_9688":2236,"_14677":13290,"_26576":25017,"_31640":20682,"_33314":25017,"_10096":2229,"_5542":3013,"_7484":3013,"_4117":3013,"_13410":2229,"_23026":2229,"_26806":2229,"_9073":25017,"_31254":6014,"_34309":3013,"_7909":3013,"_28648":6014,"_28477":3013,"_17986":6014,"_9958":6014,"_6862":25017,"_18316":13290,"_27808":2229,"_10559":13290,"_13409":3013,"_31228":28364,"_7940":3013,"_18230":25017,"_33856":2233,"_9331":3013,"_29312":20080,"_21992":2229,"_12917":3013,"_23608":2229,"_4277":18156,"_33283":3013,"_8371":31488,"_33216":2232,"_22143":20080,"_9621":25017,"_24963":28364,"_11389":3013,"_34071":3013,"_21698":2229,"_13597":2232,"_37017":3013,"_17203":3013,"_6571":3013,"_9994":6014,"_9367":2229,"_9769":3013,"_28653":13290,"_8684":3013,"_21962":3081,"_9770":3013,"_6712":2229,"_19193":3013,"_34986":18156,"_23508":6014,"_34801":3013,"_3183":18156,"_28537":20080,"_28542":20080,"_20518":3013,"_30451":3013,"_19386":6014,"_18500":3013,"_6918":2238,"_16523":2229,"_19391":2229,"_27407":3355,"_23703":6014,"_21395":3013,"_4221":3013,"_11400":3013,"_25026":2229,"_3019":13290,"_5053":3356,"_29953":25017,"_15491":25017,"_3290":6027,"_15844":18917,"_19406":2235,"_18145":6027,"_4861":3013,"_19401":25017,"_27647":2237,"_4915":3013,"_19427":25017,"_18932":3013,"_32323":20080,"_23709":3013,"_27308":2229,"_26211":18156,"_4650":20080,"_20809":2229,"_35864":2229,"_35949":20080,"_28853":6014,"_35885":20080,"_32860":3013,"_21277":3013,"_10577":3013,"_21272":3013,"_26319":13290,"_29779":20080,"_18058":6014,"_34463":3013,"_4866":25017,"_18520":3013,"_36295":20080,"_18722":20080,"_36312":6014,"_25031":20080,"_28215":3013,"_36329":2229,"_18842":2232,"_30643":3013,"_18872":3013,"_7266":13290,"_28441":3013,"_33954":3013,"_4920":13290,"_25302":20080,"_17131":3013,"_32875":20080,"_35870":3013,"_22106":20080,"_36317":3013,"_36323":3013,"_24126":3013,"_25712":6014,"_15579":18156,"_15460":20080,"_4855":20080,"_8115":3013,"_17086":2238,"_18160":2229,"_32104":3013,"_14700":25017,"_17064":2229,"_15685":6014,"_32109":3013,"_5675":2230,"_9580":2231,"_10497":3013,"_18649":20080,"_5168":6014,"_31606":2229,"_26458":2229,"_17384":25017,"_33364":18156,"_22678":2229,"_37150":2229,"_24030":21663,"_2222":3401,"_22239":2229,"_5547":20080,"_9501":2229,"_27184":2229,"_31434":28364,"_5957":2229,"_6542":3013,"_4502":2229,"_28436":6014,"_27652":2233,"_6547":3013,"_29327":2233,"_28221":3013,"_27220":13290,"_34576":25017,"_19412":6014,"_10107":25017,"_18561":2229,"_32682":6014,"_19107":20080,"_20023":20080,"_7852":25017,"_31344":20080,"_9061":25017,"_33840":13290,"_22861":13290,"_32165":3013,"_16208":3013,"_35959":21663,"_15260":2229,"_33157":28364,"_13670":25017,"_25100":3013,"_29733":25017,"_28496":2229,"_20028":3013,"_26817":28364,"_9517":6014,"_4636":3013,"_28232":3013,"_13416":2229,"_13415":2229,"_13421":25017,"_4515":2229,"_10815":6014,"_28688":25017,"_26005":3013,"_35340":3013,"_13008":2229,"_8049":13290,"_28693":2229,"_34811":13290,"_25307":20080,"_4571":3013,"_27417":3013,"_25147":28364,"_17938":13290,"_15749":20080,"_10836":3013,"_14663":6027,"_25388":20080,"_15502":3013,"_6197":20080,"_6058":2229,"_17696":2229,"_35964":3013,"_13431":3013,"_13452":3013,"_34785":2237,"_34120":3013,"_29700":3013,"_23137":3013,"_28237":3013,"_26368":2229,"_13442":2229,"_33798":2229,"_23032":6014,"_28864":6027,"_13187":13290,"_28869":2231,"_5844":2229,"_19888":20682,"_24688":18156,"_28226":3013,"_10005":2229,"_16152":3013,"_19636":20080,"_27412":2229,"_36944":20682,"_9026":3013,"_16769":6014,"_21463":2229,"_9032":3013,"_10143":20080,"_15821":3013,"_16775":20080,"_15816":2229,"_32937":2229,"_16260":3013,"_33402":2229,"_33546":20080,"_19256":13290,"_10223":3013,"_18032":2229,"_33648":2229,"_24226":2229,"_10234":2229,"_29774":2230,"_10212":2229,"_8057":3013,"_15063":3013,"_14023":2229,"_23715":20080,"_7501":2229,"_6311":2230,"_24321":3013,"_16266":2229,"_7469":2229,"_16203":2229,"_22896":2229,"_22947":2229,"_22890":2229,"_22942":2229,"_22919":2229,"_22967":2229,"_22914":2229,"_22962":2229,"_22902":2229,"_22952":2229,"_22925":2229,"_22972":2229,"_22983":2229,"_22989":2229,"_22995":2229,"_29743":3013,"_5001":20080,"_11005":3013,"_8991":6014,"_19208":13290,"_34741":2229,"_12528":3013,"_28275":3013,"_6700":2229,"_18623":2229,"_31581":2231,"_6961":3013,"_13803":3013,"_3839":20080,"_7490":3013,"_15265":3013,"_11194":3013,"_32714":2229,"_7685":3013,"_27849":6014,"_12553":25017,"_20447":25017,"_18738":20080,"_36226":2229,"_36710":20080,"_3845":20080,"_16158":20080,"_34826":3013,"_27422":20080,"_16654":6014,"_10191":6014,"_34850":3013,"_28109":3013,"_31947":3013,"_34861":3013,"_34082":3013,"_26784":13290,"_34672":2229,"_32942":3013,"_18979":2229,"_27997":3013,"_21491":3013,"_21134":20080,"_16796":2229,"_29654":2237,"_13770":2229,"_5947":2229,"_28281":6014,"_28286":2229,"_31082":3013,"_5839":2229,"_32466":20080,"_36514":3013,"_5494":3013,"_29683":21663,"_10229":3013,"_11093":3013,"_20255":2229,"_37525":3013,"_17860":6071,"_3137":3013,"_32829":2231,"_16618":3013,"_23317":2229,"_31409":3013,"_34040":3013,"_30532":20080,"_34279":2233,"_27625":20080,"_33572":3013,"_28114":28364,"_31275":13290,"_4776":6014,"_32145":13290,"_34872":3013,"_29399":2229,"_30732":6014,"_19299":3013,"_23624":3013,"_12737":3013,"_5128":3013,"_37136":13290,"_23352":25017,"_10491":3013,"_27537":20080,"_12965":2229,"_19494":3013,"_19262":3013,"_5893":6014,"_19442":3013,"_32959":18156,"_25631":6014,"_13175":25017,"_35728":20080,"_11010":3013,"_37520":3013,"_37160":3013,"_9038":31488,"_35753":2229,"_34093":20682,"_5254":2229,"_34991":28364,"_19862":20080,"_37536":3013,"_37559":3013,"_23901":3013,"_17334":6014,"_26550":20682,"_25280":2229,"_10871":3013,"_21161":3013,"_25275":3013,"_8001":6014,"_22362":3013,"_20788":18156,"_15127":3013,"_5090":3013,"_36715":3013,"_26384":20080,"_36265":3013,"_20094":6014,"_6967":18156,"_27360":3013,"_10056":3013,"_36270":3013,"_5730":2229,"_20380":3013,"_25377":2229,"_5032":21663,"_19112":3013,"_34229":3013,"_28307":3013,"_16277":25017,"_14620":6014,"_20407":3013,"_36406":3013,"_14802":28364,"_28194":25017,"_19118":20080,"_15991":25017,"_26067":20080,"_37028":20682,"_3856":20080,"_30756":2229,"_20487":20080,"_27509":2229,"_9657":3013,"_34188":3013,"_20348":3013,"_22819":3013,"_10196":20080,"_28613":6014,"_8450":3013,"_4304":20080,"_33531":20080,"_18420":3013,"_15496":3013,"_15827":20080,"_20465":3013,"_21322":3013,"_30093":3013,"_23993":6014,"_20430":3013,"_2219":2229,"_13603":20080,"_33178":3013,"_21051":2229,"_30923":3013,"_17044":20080,"_9668":25017,"_23529":6014,"_24607":3013,"_9800":3013,"_23524":2229,"_23784":2229,"_19509":20080,"_21781":2229,"_11103":3013,"_33758":3013,"_36307":6014,"_7691":3013,"_4522":6014,"_21821":13290,"_6592":20080,"_26035":3013,"_28792":2229,"_26046":3013,"_17991":3013,"_14694":3013,"_28807":20682,"_17563":13290,"_9978":6014,"_11016":2234,"_20170":31488,"_28889":2229,"_23057":2229,"_16649":6014,"_24483":3013,"_9295":3013,"_24362":2229,"_30190":3013,"_10112":20080,"_17339":2229,"_17234":13290,"_29103":3013,"_13294":3013,"_29543":28364,"_8188":20080,"_34629":18156,"_19877":3013,"_17928":20080,"_13613":20080,"_26530":6014,"_6187":3013,"_6192":2229,"_5021":25017,"_32850":3013,"_17969":3013,"_34323":3013,"_10410":3013,"_34098":2229,"_14867":3013,"_17190":3013,"_8258":3013,"_7858":3013,"_25662":2234,"_19582":20080,"_24373":6027,"_25680":2229,"_28673":25017,"_15632":2235,"_17656":18156,"_6407":20080,"_8826":6014,"_32032":3013,"_26790":3013,"_17277":2229,"_26535":3013,"_20962":20080,"_34752":3013,"_32911":13290,"_24291":3013,"_24265":6014,"_15181":25017,"_13248":6014,"_21176":6014,"_27036":3013,"_24383":25017,"_20523":20080,"_24096":3013,"_22582":25017,"_26180":20682,"_4023":25017,"_16921":2229,"_16727":20080,"_7993":13290,"_27077":6014,"_28848":20080,"_32515":2229,"_13970":2231,"_14910":25017,"_31213":3013,"_13712":2229,"_10486":6014,"_3282":3013,"_14904":13290,"_7507":3013,"_26833":3013,"_8270":2229,"_20229":3013,"_14767":20080,"_8019":2235,"_6751":3013,"_30902":3013,"_10259":20080,"_29443":3013,"_30325":28364,"_11216":3013,"_31139":3013,"_24627":3013,"_18219":2229,"_37409":3013,"_36848":3013,"_4152":3013,"_24927":2229,"_24243":3013,"_6879":13290,"_8377":3401,"_14097":3013,"_8069":2229,"_7303":20682,"_8507":25017,"_22604":20080,"_25843":2229,"_9947":21663,"_31535":13290,"_35491":2229,"_37023":2232,"_30279":2229,"_6488":3013,"_25398":3013,"_10656":6014,"_13991":20080,"_4129":20080,"_16052":3013,"_19949":3013,"_19309":3013,"_24728":25017,"_35875":3013,"_24735":3013,"_2205":13290,"_35933":3013,"_28189":2229,"_26114":3013,"_24521":2229,"_23880":18156,"_14577":2230,"_35569":3013,"_24740":20080,"_9901":2229,"_3665":6014,"_20936":2229,"_5122":3013,"_26120":2229,"_25790":20080,"_5573":3013,"_34290":20682,"_20244":3013,"_13571":28364,"_33959":20080,"_20620":3013,"_20926":3013,"_11206":2229,"_19735":3013,"_14762":2229,"_17069":20080,"_31170":3013,"_36496":20080,"_30557":3013,"_10598":28364,"_14114":13290,"_30960":13290,"_16571":21663,"_29513":25017,"_13447":6014,"_30991":28364,"_33072":6014,"_26938":2229,"_16780":2229,"_18505":6014,"_9275":3013,"_4042":2229,"_21348":3013,"_15759":3013,"_19213":13290,"_13511":2229,"_13960":3013,"_20385":3013,"_29538":6014,"_15716":3013,"_34104":3013,"_14757":25017,"_22619":20080,"_8383":6027,"_28658":6014,"_37424":2229,"_16068":3013,"_22609":2229,"_37097":3013,"_36822":3013,"_32927":2229,"_21723":3013,"_29880":28364,"_22624":3013,"_17271":2229,"_27277":2229,"_14593":2229,"_31165":3013,"_19757":20080,"_16220":3013,"_15327":3013,"_27813":2234,"_13660":3013,"_25383":3013,"_20615":3013,"_25837":2229,"_24597":3013,"_6973":3644,"_9125":6014,"_7030":2229,"_3815":3013,"_3099":13290,"_30118":3013,"_21307":2229,"_26870":2229,"_24531":3013,"_19203":2229,"_26598":2229,"_26145":3013,"_27288":2229,"_13650":6014,"_21182":3013,"_24054":20080,"_22778":6014,"_26983":28364,"_31038":3013,"_3032":25017,"_5808":2229,"_23300":3013,"_13331":2232,"_13037":25017,"_27169":2229,"_27960":2229,"_3289":2229,"_23971":3013,"_24064":2229,"_7319":3013,"_7326":3013,"_7339":6014,"_28818":2229,"_27124":6014,"_18820":3013,"_36383":20080,"_10666":3013,"_9043":20080,"_26330":20080,"_31444":3013,"_27159":21663,"_21020":2232,"_27657":3013,"_15523":3355,"_36918":3013,"_34635":3013,"_24189":3013,"_19060":2230,"_24183":2229,"_22517":3013,"_18826":2229,"_18749":3013,"_19054":3081,"_10723":3013,"_37155":2229,"_9828":13290,"_37166":20080,"_5941":3013,"_28587":28364,"_5202":3013,"_26811":2229,"_36716":2229,"_22551":2229,"_20909":25017,"_4092":2236,"_11000":2229,"_16956":2229,"_9532":3013,"_20814":20080,"_16664":2230,"_34109":20682,"_14458":20080,"_14463":6014,"_14817":20080,"_10894":3013,"_31087":25017,"_17815":3013,"_9378":3013,"_9233":25017,"_20185":20080,"_17074":20080,"_33221":3013,"_15986":20080,"_14842":6014,"_4748":2229,"_24849":6014,"_9707":20080,"_25497":2229,"_10900":3013,"_36930":20080,"_32891":3013,"_21267":3013,"_18350":3013,"_20967":3013,"_27324":3013,"_10930":2229,"_3871":2236,"_20646":3013,"_35791":2229,"_3085":20080,"_34469":3013,"_3693":2229,"_22164":3013,"_13830":3013,"_5603":3013,"_28767":20080,"_27756":3013,"_35384":20080,"_29784":3081,"_25234":2229,"_31780":6014,"_26227":3013,"_28036":13290,"_11200":13290,"_26619":3013,"_6841":3013,"_6825":3013,"_23001":2229,"_27982":3013,"_10995":20682,"_29404":6014,"_25532":6014,"_33809":3013,"_23629":4457,"_25717":3013,"_7008":2229,"_27330":2229,"_26994":20080,"_9083":6014,"_8696":3013,"_14419":3013,"_20652":2229,"_5027":3013,"_3873":20080,"_23598":3013,"_32979":2229,"_28772":2229,"_24854":3013,"_12748":6014,"_19598":3013,"_6587":3013,"_17948":2229,"_20854":3013,"_18515":2230,"_18367":2229,"_4587":2229,"_6143":20080,"_23539":3013,"_18717":2229,"_17349":20080,"_21733":3013,"_10661":13290,"_30676":20080,"_30761":3013,"_5095":3013,"_17411":20682,"_34940":3013,"_15032":20682,"_10911":3013,"_30975":3013,"_34976":2229,"_7352":20080,"_8529":3013,"_27896":21663,"_35215":3013,"_17406":6014,"_18484":20682,"_20757":20080,"_12639":3013,"_32387":20080,"_5457":20080,"_15133":3013,"_29409":3013,"_35502":3013,"_33407":3013,"_29807":3013,"_26237":3013,"_14958":2229,"_12895":6014,"_13791":20080,"_7068":3013,"_5214":2233,"_9734":3013,"_22049":2229,"_16293":20682,"_6339":3013,"_24010":3013,"_19954":25017,"_25070":2234,"_28291":3013,"_34758":3013,"_31616":3013,"_33541":2229,"_33375":6014,"_33721":3013,"_32855":7537,"_20200":3013,"_37179":3013,"_37184":3013,"_23656":3013,"_12547":3013,"_27751":2229,"_6436":3013,"_25848":20080,"_19432":2229,"_31248":3013,"_6437":2229,"_20824":28364,"_20799":20080,"_30928":13290,"_9740":3013,"_9745":3013,"_27179":2229,"_34736":2229,"_8080":20080,"_22629":2229,"_26155":6014,"_5265":6014,"_27102":20080,"_22148":3013,"_8636":3013,"_9780":3013,"_18345":20682,"_8320":6014,"_30771":25017,"_17421":2229,"_35758":2229,"_6138":2229,"_35743":13290,"_27386":6014,"_35748":2229,"_19979":2229,"_24986":2229,"_3330":3013,"_10426":3013,"_9717":3013,"_13975":3013,"_33675":3013,"_8247":3013,"_28120":3013,"_25162":6014,"_29296":3013,"_8006":20682,"_3336":3013,"_5430":3013,"_10877":3013,"_31931":20682,"_10752":3013,"_3317":3013,"_8706":3013,"_18927":3013,"_14508":3013,"_33944":3013,"_23677":2229,"_7084":2229,"_29237":2229,"_29706":3013,"_34168":3013,"_9401":2229,"_27190":3013,"_15769":13290,"_23911":6014,"_33289":2229,"_5347":2229,"_17426":3013,"_21703":2229,"_27679":3013,"_33861":3013,"_29570":3013,"_35390":3013,"_4990":2230,"_26336":3013,"_28081":3013,"_25527":3013,"_32554":13290,"_33193":20682,"_35396":3013,"_35300":3013,"_10916":3013,"_15000":3013,"_22440":3013,"_5101":2229,"_25822":3013,"_28261":13290,"_17443":3013,"_33726":3013,"_24326":20080,"_30404":2229,"_14452":13290,"_9751":3013,"_30547":3013,"_33731":3013,"_3640":3013,"_30777":3013,"_18099":2229,"_9757":3013,"_28911":20682,"_34692":2229,"_23393":2229,"_25080":18156,"_16298":3013,"_16308":3013,"_17416":13290,"_28553":13290,"_25404":3013,"_3862":20080,"_27818":3013,"_31321":3013,"_6597":3013,"_16303":3013,"_3867":2229,"_6982":20080,"_21312":2229,"_13924":3013,"_25317":3013,"_15774":2229,"_5276":20080,"_16971":3013,"_5260":6014,"_21718":3013,"_11137":2229,"_15466":2229,"_18607":3013,"_25285":2229,"_17290":2229,"_34965":3013,"_20573":3013,"_27761":3013,"_25584":3013,"_22044":3013,"_26968":3013,"_18093":6014,"_9833":25017,"_36001":6014,"_21496":20682,"_21504":28364,"_28451":2229,"_32901":3013,"_20151":25017,"_4029":2229,"_37033":3013,"_22176":3013,"_35512":2229,"_10854":3013,"_30572":20080,"_27699":20080,"_20175":3013,"_10603":20080,"_18295":2229,"_14120":3013,"_25393":3013,"_27257":3013,"_16808":2229,"_30284":20080,"_35969":3013,"_31507":3013,"_23661":2229,"_21608":3013,"_12654":3013,"_32774":2229,"_17866":3013,"_35250":28364,"_10593":6014,"_35820":3013,"_28394":3013,"_28457":3013,"_16906":3013,"_29352":2229,"_33623":3013,"_22377":6014,"_10613":2229,"_19437":20080,"_17034":3013,"_21613":2229,"_19198":6014,"_22657":6014,"_6649":12960,"_10378":3013,"_19267":2230,"_5685":2229,"_28558":3013,"_9066":3013,"_10356":6014,"_29242":2229,"_5579":20080,"_6718":20682,"_17448":2229,"_7966":20080,"_14883":2229,"_17456":3013,"_25992":20080,"_26412":2229,"_22465":28364,"_21997":2229,"_30128":20080,"_25673":3013,"_7089":20080,"_17196":20080,"_4679":20080,"_11211":3013,"_26051":3013,"_27559":3013,"_32195":2229,"_21743":3013,"_27005":13290,"_23834":3013,"_33183":2229,"_17461":3013,"_27569":3013,"_21572":3013,"_27564":3013,"_18847":20080,"_4685":3013,"_4673":3013,"_33516":6014,"_31991":3013,"_8786":25017,"_3306":2229,"_35180":25017,"_30332":3013,"_26880":2233,"_17758":3013,"_23323":2229,"_22153":2229,"_15591":2229,"_17742":2229,"_24352":6014,"_5829":28364,"_8264":13290,"_13516":20682,"_5111":3013,"_22111":3013,"_19964":21663,"_15217":2229,"_18700":3013,"_16095":2229,"_4942":2229,"_19452":25017,"_25976":3013,"_25981":2229,"_26342":20080,"_21209":3013,"_33433":3013,"_10302":3013,"_16318":3013,"_28384":6014,"_6449":2229,"_25142":3013,"_25487":20080,"_13815":3013,"_14822":3013,"_34888":3013,"_4996":2229,"_7367":20080,"_7366":3013,"_13489":6014,"_6794":2229,"_5563":2229,"_17943":2229,"_18586":3013,"_27600":2229,"_30195":3013,"_8277":3013,"_5499":3013,"_20556":6014,"_19017":6014,"_3885":6014,"_27605":28364,"_30201":3013,"_24891":3013,"_5709":13290,"_29812":20080,"_35443":25017,"_27108":3013,"_27615":6014,"_30039":2229,"_29260":3013,"_29753":2229,"_3108":3013,"_23534":21663,"_30582":3013,"_3914":6014,"_21633":6014,"_16168":3013,"_22122":20080,"_4183":6014,"_23839":20080,"_6316":3013,"_18280":3013,"_29548":3013,"_29269":20080,"_30588":3013,"_19959":3013,"_27262":3013,"_30939":3013,"_25075":2229,"_15311":13290,"_30512":20080,"_19167":2229,"_20099":25017,"_6613":6014,"_30206":3013,"_27916":2229,"_32240":20682,"_29210":13290,"_31414":3013,"_16802":3013,"_24428":2229,"_3896":3013,"_31175":3013,"_23247":3013,"_18393":3013,"_35225":3013,"_8468":3013,"_19218":3013,"_30849":2229,"_34328":3013,"_19974":3013,"_19560":2229,"_14615":20080,"_4141":7537,"_22703":20080,"_13676":3013,"_27396":6014,"_23921":13290,"_29738":3013,"_26823":3013,"_34511":25017,"_4064":13290,"_34114":3013,"_23572":2229,"_7063":3013,"_37429":3013,"_8513":28364,"_5069":3013,"_35255":3013,"_4140":3013,"_36520":6014,"_3341":3013,"_6357":3013,"_24458":6014,"_26845":3013,"_14034":13290,"_31260":20080,"_10706":3013,"_8479":2229,"_24820":2229,"_10564":20080,"_6362":2229,"_23062":3013,"_4894":25017,"_24536":3013,"_36486":2229,"_36526":3013,"_17482":3013,"_23403":3013,"_25037":3013,"_6525":3013,"_13581":3013,"_32969":3013,"_30496":3013,"_17953":3013,"_27438":2229,"_15037":3013,"_19076":20080,"_25424":2229,"_32125":3013,"_31208":20080,"_28663":20682,"_6171":6014,"_29454":25017,"_29460":6014,"_23143":3013,"_36232":3013,"_29453":20080,"_8728":2229,"_23148":3013,"_36244":3013,"_29459":2229,"_23153":3013,"_36249":20080,"_23158":3013,"_9631":3013,"_23163":2229,"_36254":3013,"_18654":3013,"_16079":3013,"_10481":3013,"_29963":3013,"_21810":3013,"_5156":3013,"_24463":3013,"_21230":3013,"_33037":2229,"_25429":3013,"_33552":3013,"_9636":13290,"_23926":3013,"_36442":3013,"_31826":28364,"_30217":2229,"_30222":2229,"_13060":2229,"_13065":2229,"_5568":2229,"_19763":2229,"_34714":3013,"_4910":2229,"_6886":3013,"_6891":3013,"_4624":20080,"_19810":3013,"_36656":3013,"_20860":3013,"_35463":13290,"_4905":3013,"_24548":20080,"_16813":3013,"_20561":13290,"_31451":20080,"_15042":6014,"_5133":13290,"_36447":2229,"_22445":20080,"_10329":3013,"_16961":3013,"_6674":3013,"_23112":3013,"_24564":3013,"_15400":3013,"_27345":3013,"_22635":3013,"_34832":3013,"_23931":3013,"_18755":3013,"_18245":2229,"_22191":3013,"_5296":3013,"_27967":2229,"_19773":3013,"_37565":3013,"_3996":3013,"_20249":3013,"_30305":3013,"_24537":3013,"_34491":2229,"_24810":3013,"_36542":28364,"_12682":3013,"_23998":3013,"_18831":2229,"_19124":3013,"_3042":3013,"_26973":20080,"_25857":2231,"_29337":3013,"_22117":6014,"_4544":3013,"_20767":3013,"_20772":3013,"_16226":3013,"_15160":3013,"_17588":3013,"_33582":3013,"_33067":3013,"_18888":13290,"_16041":3013,"_31502":3013,"_10921":2229,"_34381":3013,"_19070":6014,"_23467":3013,"_23461":3013,"_8155":3013,"_15421":2229,"_6624":3013,"_19038":3013,"_28906":3013,"_28323":3013,"_9270":3013,"_30883":21663,"_31280":3013,"_26160":3013,"_9265":3013,"_6602":3013,"_30844":3013,"_34541":3013,"_30593":28364,"_8242":3013,"_13070":3013,"_13048":3013,"_13020":3013,"_12977":3013,"_12984":3013,"_12991":3013,"_28578":3013,"_7610":20080,"_22528":28364,"_16870":6014,"_30337":6014,"_13077":2229,"_17498":20080,"_30631":2229,"_35848":6014,"_33380":25017,"_23758":3013,"_12764":3013,"_24612":3013,"_27579":3013,"_37126":3013,"_37208":3013,"_37232":3013,"_34790":3013,"_14484":3013,"_9849":2229,"_15915":3013,"_4146":3013,"_13820":3013,"_5405":20080,"_29818":3013,"_37237":3013,"_6031":2229,"_37280":3013,"_37243":3013,"_18285":3013,"_25894":3013,"_23650":25017,"_26389":3013,"_7887":3013,"_6424":3013,"_24071":3013,"_21920":3013,"_3711":13290,"_37248":3013,"_37253":3013,"_34899":3013,"_15122":3013,"_24493":3013,"_37285":3013,"_37258":3013,"_32275":18156,"_34333":3013,"_18617":20080,"_24331":13290,"_29087":25017,"_35797":2229,"_17804":2229,"_25322":2229,"_27174":3013,"_6442":3013,"_32824":20080,"_29092":3013,"_7710":25017,"_20658":2229,"_16732":2229,"_13541":3013,"_30878":21663,"_30985":2230,"_10117":2229,"_27335":2229,"_14377":2229,"_31765":3013,"_31916":3013,"_10307":3013,"_10062":3013,"_27515":3013,"_35350":3013,"_21795":3013,"_4242":3051,"_17503":3013,"_20904":20682,"_8846":2229,"_9662":3013,"_10446":3013,"_10672":3013,"_23118":13290,"_36373":2229,"_16839":20080,"_10729":3013,"_29290":3013,"_10735":3013,"_15728":3081,"_32492":3013,"_23196":3013,"_28752":20080,"_27689":3013,"_24703":3013,"_26943":3013,"_16715":25017,"_31310":28364,"_19715":3013,"_25883":3013,"_17661":13290,"_12534":20080,"_30788":31488,"_18805":21663,"_24553":3013,"_26592":21663,"_30794":21663,"_18472":6014,"_27926":20080,"_9202":2229,"_33086":2229,"_14076":51765,"_16752":3013,"_24505":3013,"_25264":2229,"_4577":2229,"_23556":20080,"_33929":6014,"_20834":2229,"_13299":13290,"_18799":3013,"_27886":2229,"_30537":2229,"_14878":25017,"_26072":20080,"_31350":2229,"_4034":13290,"_16758":3013,"_12901":3013,"_7810":20080,"_15869":2233,"_32281":20080,"_7358":2235,"_25543":6014,"_36924":6014,"_16966":3013,"_16026":3013,"_33081":2229,"_6663":3013,"_9590":3013,"_14130":20080,"_17872":3013,"_18467":20080,"_14135":20080,"_33299":13290,"_35331":3013,"_18462":3013,"_3827":20080,"_26603":12960,"_26609":3013,"_14513":13290,"_17778":3013,"_6987":3013,"_6230":3013,"_14140":3013,"_6763":3013,"_27499":13290,"_13841":3013,"_13665":3013,"_29415":3013,"_34235":3013,"_21837":3013,"_9839":18156,"_30289":3013,"_31811":3013,"_32989":2231,"_23252":2234,"_15884":28364,"_28813":3013,"_16829":6014,"_24367":2229,"_25502":3013,"_31733":2229,"_33006":20682,"_8331":3013,"_10712":3013,"_13655":3013,"_23478":3013,"_36991":3013,"_13898":3013,"_34595":3013,"_20691":2229,"_28446":6014,"_9855":2229,"_32995":2229,"_7914":3013,"_23258":20080,"_7583":3013,"_13888":3013,"_33000":3013,"_6811":3013,"_24004":3013,"_15384":6014,"_7898":2229,"_24453":20080,"_27459":28364,"_36986":3013,"_16179":3013,"_23483":3013,"_6992":3013,"_20972":3013,"_20732":3013,"_13432":2229,"_36996":2229,"_15047":25017,"_15879":13290,"_13858":3013,"_25604":3013,"_18224":3013,"_21941":2229,"_4151":3013,"_15270":20080,"_7372":18156,"_21946":25017,"_7919":3013,"_10741":6014,"_27939":3013,"_32739":28364,"_26438":13290,"_26464":2229,"_10747":20080,"_4807":3013,"_18495":2229,"_15874":3013,"_5221":3013,"_10165":25017,"_30873":2229,"_36389":2229,"_34646":20080,"_33511":3013,"_23488":3013,"_4282":20080,"_27704":3013,"_6799":13290,"_33949":20682,"_19086":3013,"_4173":20080,"_9821":28364,"_32794":20682,"_32799":3013,"_31419":20080,"_31144":3013,"_14372":18156,"_4876":3013,"_3986":2229,"_15507":3013,"_19081":2229,"_19447":13290,"_7096":3013,"_37007":2229,"_24756":3013,"_24111":3013,"_32265":20080,"_22475":25017,"_12775":3013,"_22002":3013,"_20547":2229,"_37547":3013,"_19065":3013,"_11161":2229,"_18078":3013,"_13909":2229,"_34475":3013,"_9238":2229,"_21511":3013,"_30745":3013,"_32344":3013,"_3222":3013,"_20497":3013,"_14109":3013,"_14045":18156,"_12793":2229,"_12798":3013,"_12804":3013,"_12811":3013,"_12823":3013,"_12890":3013,"_12830":20080,"_9801":28364,"_12841":20080,"_12847":20080,"_16983":3013,"_15680":20080,"_5232":6014,"_12860":3013,"_12758":2229,"_12872":3013,"_12906":3013,"_15643":3013,"_7073":3013,"_37640":3013,"_24423":2229,"_12853":2229,"_13207":6014,"_13202":6014,"_37657":6014,"_15432":3013,"_15410":13290,"_16121":3013,"_16157":3013,"_35479":3013,"_35474":2229,"_12878":2229,"_35146":3013,"_5208":2229,"_37669":3013,"_10148":3013,"_20471":3013,"_12883":3013,"_37674":3013,"_12889":3013,"_10431":20080,"_17612":3013,"_15649":3013,"_16855":3013,"_28041":13290,"_21889":6014,"_12540":13290,"_12546":13290,"_24693":3013,"_19709":3013,"_21214":6014,"_27041":20080,"_29119":3013,"_24146":3013,"_19304":3013,"_14081":3013,"_9785":3013,"_30049":2229,"_9175":2229,"_15052":3013,"_15864":3013,"_20130":2229,"_18104":3013,"_27464":2229,"_26437":3013,"_4926":3013,"_34702":2229,"_13388":3013,"_35890":2229,"_21815":3013,"_35522":3013,"_24576":3013,"_32579":3013,"_37553":3013,"_37581":3013,"_36552":3013,"_30388":3013,"_37587":3013,"_14071":2229,"_23450":3013,"_9426":3013,"_13383":3013,"_26347":3013,"_36339":3013,"_37012":3013,"_34516":3013,"_27231":3013,"_19837":2229,"_9357":3013,"_25579":3013,"_27237":3013,"_27313":3013,"_18727":3013,"_35773":3013,"_18894":3013,"_35527":2229,"_35532":3013,"_17517":3013,"_9372":3013,"_24622":2229,"_29569":2229,"_23290":3013,"_30907":3013,"_11142":3013,"_24981":3013,"_24974":3013,"_10502":3013,"_24969":3013,"_24980":3013,"_19033":2229,"_21166":20080,"_23666":2229,"_32641":3013,"_28698":6014,"_12672":3013,"_12697":20080,"_7659":20080,"_17029":3013,"_4256":3013,"_37684":3013,"_24388":28364,"_28762":2229,"_4086":3013,"_15512":3013,"_10269":2229,"_6455":2229,"_18526":21663,"_28270":20080,"_21517":3013,"_15144":6014,"_12552":3013,"_4818":3013,"_37290":3013,"_31092":3013,"_4783":3013,"_4753":3013,"_28874":3013,"_25889":3013,"_34905":3013,"_34796":3013,"_21577":3013,"_16313":2229,"_12558":3013,"_30263":3013,"_20280":3013,"_37263":3013,"_5925":3013,"_15150":2229,"_37269":3013,"_37220":3013,"_37226":3013,"_24825":2229,"_24831":3013,"_25327":3013,"_7235":2229,"_30179":6027,"_37275":3013,"_9088":20080,"_37141":3013,"_22270":3013,"_18922":13290,"_25186":3013,"_14430":6014,"_15438":2229,"_22450":2229,"_32398":3013,"_12781":3013,"_29113":20080,"_35880":3013,"_24398":3013,"_12687":3013,"_37689":3013,"_27118":3013,"_12708":3013,"_31717":3013,"_8734":2229,"_9860":2229,"_13462":3013,"_13457":2229,"_26581":3013,"_33680":3013,"_18639":13290,"_13084":3013,"_29291":3013,"_17364":3013,"_29164":2229,"_13043":2229,"_37295":3013,"_16282":3013,"_37300":3013,"_37306":3013,"_5591":20080,"_17831":13290,"_27620":28364,"_25157":2229,"_19223":2229,"_18952":2229,"_14636":3013,"_20702":3013,"_19462":2229,"_22196":3013,"_6462":3013,"_8171":13290,"_10841":13290,"_28592":2234,"_26850":3013,"_3202":3013,"_26860":20080,"_21401":3013,"_15722":3013,"_35379":3013,"_8544":2229,"_34300":6014,"_29958":3013,"_32809":3013,"_15810":3013,"_27777":3013,"_34651":3013,"_14091":2229,"_35045":3013,"_15427":2229,"_10794":3013,"_13868":3013,"_35050":3013,"_35055":3013,"_35061":3013,"_35067":3013,"_35028":3013,"_35079":3013,"_35090":3013,"_35095":3013,"_4668":3013,"_22768":20080,"_15286":20080,"_12938":2229,"_9522":6014,"_25110":3013,"_25105":3013,"_6530":3013,"_32414":6014,"_31956":2229,"_21093":3013,"_21930":21663,"_5598":6014,"_9249":2229,"_10799":3013,"_7669":3013,"_5357":3013,"_27056":3013,"_6064":2229,"_34501":3013,"_19354":2229,"_34387":2229,"_29802":20080,"_19652":3013,"_28573":3013,"_32205":6014,"_9527":3013,"_15222":3013,"_24633":2229,"_20212":20080,"_20707":3013,"_36275":3013,"_23726":3013,"_19468":3013,"_7621":3013,"_26875":3013,"_36205":3013,"_36056":3013,"_6637":2229,"_16675":3013,"_37311":3013,"_12586":3767,"_18680":2229,"_34125":3013,"_9816":3013,"_18968":3013,"_34641":3013,"_21786":2229,"_25727":3013,"_13144":3013,"_13149":3013,"_16329":2229,"_5363":2229,"_22794":20080,"_34997":3013,"_17260":3013,"_32636":3013,"_13505":3013,"_20829":3013,"_16506":3013,"_21523":3013,"_20033":3013,"_16511":3013,"_21528":3013,"_33439":3013,"_23229":3013,"_34241":3013,"_7169":3013,"_22829":3013,"_26779":3013,"_9790":2229,"_31770":13290,"_21380":3013,"_25192":3013,"_36452":3013,"_4135":3013,"_29159":3013,"_7155":20080,"_29124":3013,"_5952":3013,"_19001":3013,"_26714":3013,"_21407":3013,"_34816":3013,"_4691":3013,"_16147":3013,"_34764":3013,"_9148":3013,"_30018":3013,"_21332":3013,"_33349":3013,"_31542":20080,"_14441":3013,"_23561":3013,"_34697":3013,"_8563":3013,"_18510":18156,"_20530":3013,"_7638":3013,"_22244":3013,"_26886":3013,"_30605":3013,"_9438":20080,"_33092":3013,"_8664":3013,"_3907":2229,"_22641":3013,"_29575":3013,"_36281":3013,"_20044":3013,"_29673":20080,"_22708":20080,"_19969":20080,"_26891":20080,"_35175":3013,"_7495":3013,"_4002":3013,"_7988":2229,"_17980":2229,"_32520":3013,"_7285":2229,"_18744":3013,"_29678":20080,"_20502":20080,"_17666":3013,"_30766":20080,"_3973":3013,"_16255":3013,"_7333":3013,"_17438":2229,"_17594":3013,"_17600":3013,"_5247":3013,"_9916":3013,"_16977":3013,"_21469":2229,"_24639":3013,"_21474":3013,"_4582":3013,"_5442":2229,"_26041":3013,"_26056":3013,"_20507":3013,"_5818":2229,"_19049":3013,"_26325":3013,"_19417":3013,"_5252":3013,"_22646":3013,"_28205":3013,"_34838":3013,"_8074":2229,"_21708":20080,"_10690":3013,"_16988":3013,"_11022":3013,"_30783":3013,"_18984":3013,"_23388":3013,"_10757":3013,"_29910":3013,"_11110":3013,"_20951":3013,"_10945":3013,"_33835":3013,"_26653":3013,"_32486":20080,"_14360":6014,"_3144":3013,"_30133":3013,"_20217":2229,"_32769":6014,"_25742":2229,"_37593":3013,"_14752":2229,"_37599":3013,"_33324":2229,"_37605":3013,"_10570":3013,"_37611":3013,"_9795":6014,"_33385":3013,"_36955":20080,"_30727":3013,"_14348":3013,"_26469":3013,"_10950":20080,"_24059":3013,"_23936":2229,"_10935":3013,"_27381":2229,"_17295":3013,"_18175":6014,"_28501":3013,"_7175":20080,"_34619":3013,"_13608":2229,"_30807":3013,"_27637":3013,"_11032":2229,"_11053":2229,"_8388":2229,"_19842":3013,"_20104":3013,"_11355":3013,"_30701":3013,"_15191":3013,"_13825":3013,"_31128":3013,"_22485":13290,"_26475":3013,"_7186":20080,"_17701":2229,"_34945":2229,"_31621":3013,"_28548":2229,"_25270":2229,"_15232":2229,"_30069":3013,"_28895":3013,"_22839":3013,"_14404":3013,"_26452":3013,"_29249":3013,"_29226":3013,"_7747":3013,"_6717":3013,"_29284":3013,"_35100":3013,"_7078":13290,"_31460":3013,"_25085":2229,"_27401":3013,"_26796":3013,"_28608":3013,"_14383":2229,"_15637":2229,"_8013":3013,"_26481":3013,"_31966":2229,"_21052":3013,"_29615":3013,"_6036":6014,"_26630":20080,"_19657":6014,"_12943":3013,"_28921":3013,"_10955":3013,"_21754":3013,"_21390":2229,"_35230":3013,"_31424":3013,"_33984":3013,"_34001":3013,"_34007":3013,"_33990":2229,"_3296":20080,"_31723":2229,"_10554":3013,"_9196":3013,"_10400":3013,"_23672":3013,"_26165":3013,"_9942":2229,"_10153":3013,"_29668":3013,"_14012":3013,"_6927":20080,"_29870":3013,"_14086":20080,"_29875":2229,"_20115":20080,"_24781":2229,"_6907":13290,"_22713":2229,"_30294":3013,"_29585":2229,"_16090":3013,"_19923":3013,"_32354":3013,"_25656":3013,"_17783":3013,"_21078":2229,"_32626":2229,"_33506":2229,"_19620":2229,"_22789":3013,"_30944":3013,"_17836":3013,"_3820":3013,"_10068":2229,"_25757":3013,"_22480":3013,"_8568":2229,"_9486":2229,"_17691":3013,"_23408":3013,"_20881":3013,"_24121":3013,"_20038":20080,"_4345":3013,"_18250":3013,"_10960":3013,"_34844":3013,"_4631":28364,"_18255":20080,"_18240":3013,"_37694":3013,"_37679":3013,"_3193":25017,"_28628":21663,"_22286":3013,"_10539":2229,"_32286":3013,"_32291":3013,"_4215":13290,"_36345":3013,"_31836":3013,"_31841":2229,"_3755":6014,"_33603":3013,"_19847":3013,"_26978":3013,"_31846":3013,"_24106":3013,"_19343":2231,"_32210":3013,"_36417":3013,"_19348":3013,"_36422":3013,"_20696":3013,"_30542":3013,"_33115":3013,"_6768":2229,"_10128":20080,"_37198":2229,"_12568":2229,"_12579":3013,"_3913":2229,"_36427":3013,"_30344":3013,"_10312":3013,"_17390":3013,"_7447":2229,"_12585":3013,"_6757":13290,"_28598":3013,"_6939":3013,"_25167":3013,"_15779":3013,"_6773":2229,"_6934":2229,"_10046":3013,"_31566":6014,"_28126":3013,"_33892":18156,"_22296":20080,"_9906":3013,"_9911":20080,"_21343":3013,"_31586":3013,"_27123":3013,"_31591":13290,"_29553":3013,"_14040":3013,"_14529":2229,"_8282":3013,"_29022":3013,"_30562":3013,"_25763":3013,"_10848":3013,"_17605":20080,"_29169":20080,"_5703":20080,"_15316":20682,"_23037":3013,"_27082":20080,"_28328":3013,"_29307":3013,"_27087":25017,"_4123":3013,"_18362":2229,"_18372":3013,"_24911":3013,"_17788":3013,"_23916":3013,"_26840":20080,"_6945":2229,"_4210":3013,"_3851":2229,"_21956":3013,"_26855":20080,"_7192":2229,"_28103":3013,"_29139":20080,"_35468":3013,"_5908":6014,"_6951":2229,"_3304":2229,"_28982":2229,"_34393":2229,"_16047":3013,"_10164":3013,"_18531":21663,"_6281":2229,"_3347":3013,"_35105":3013,"_5742":2229,"_33653":6014,"_7514":2229,"_7197":3013,"_35802":3013,"_37049":2229,"_36960":20080,"_33866":20080,"_34155":3013,"_28143":2229,"_28150":2229,"_28156":2229,"_21643":20080,"_33413":20080,"_10683":3013,"_5162":6014,"_5608":6014,"_31108":6014,"_16516":6014,"_24799":3013,"_24946":3013,"_24957":6014,"_24644":6014,"_8711":6014,"_8605":6014,"_8617":6014,"_7107":20080,"_30238":20682,"_30123":20080,"_29968":13290,"_4439":20080,"_35895":2229,"_20114":2229,"_37056":25017,"_37067":20080,"_21062":13290,"_6856":6014,"_19592":6014,"_26865":28364,"_28086":6014,"_25482":6014,"_14952":3013,"_5696":2229,"_30611":3013,"_22181":2229,"_24569":3013,"_8550":20080,"_18001":2229,"_19642":2229,"_20290":3013,"_21418":3013,"_19815":2229,"_11171":3013,"_26636":3013,"_23125":3013,"_22723":28364,"_35260":3013,"_32037":2229,"_13218":2229,"_4697":3013,"_30139":3013,"_35407":3013,"_17080":3013,"_14963":3013,"_18867":3013,"_22784":2229,"_13255":3013,"_24393":3013,"_22572":2229,"_9538":3013,"_7052":3013,"_11037":3013,"_7250":3013,"_32498":3013,"_8518":20080,"_3891":3013,"_12978":3013,"_33659":3013,"_5436":3013,"_30239":2229,"_6868":20080,"_13522":3013,"_35707":20080,"_32984":3013,"_31900":3013,"_20578":3013,"_6368":3013,"_7664":3013,"_29465":13290,"_2207":2229,"_7113":2229,"_24896":3013,"_10436":3013,"_25862":2229,"_30707":3013,"_5301":3013,"_15078":3013,"_32403":25017,"_31027":20080,"_21842":3013,"_17244":3013,"_26658":3013,"_31576":3013,"_27782":2229,"_15322":3013,"_25900":3013,"_7805":3013,"_11043":3013,"_28132":20682,"_17024":3013,"_4317":2229,"_4789":3013,"_18008":2229,"_3699":3013,"_19360":3013,"_25537":2229,"_28157":2229,"_34614":2229,"_32906":20080,"_17467":3013,"_3726":13290,"_20844":3013,"_23844":2229,"_20206":3013,"_35305":3013,"_8701":20080,"_32296":6014,"_26896":2229,"_31981":20080,"_8393":20682,"_30812":3013,"_16084":3013,"_28927":2229,"_10678":2229,"_8793":3013,"_32804":3013,"_16185":3013,"_29129":3013,"_19900":3013,"_16173":3013,"_29357":20080,"_21618":3013,"_21623":3013,"_7779":3013,"_7150":3013,"_32302":3013,"_33598":20080,"_15083":3013,"_33664":2229,"_28633":3013,"_5920":3013,"_10170":20080,"_31921":6014,"_29427":2229,"_31113":3013,"_8216":3013,"_35906":3013,"_35912":3013,"_28066":3013,"_9280":3013,"_14652":3013,"_21760":3013,"_35826":3013,"_36006":3013,"_27662":3013,"_28312":20080,"_34174":3013,"_24951":3013,"_26663":2229,"_19566":3013,"_10175":2229,"_6630":2229,"_21425":3013,"_29890":3013,"_11227":3013,"_25548":3013,"_14888":3013,"_34911":2229,"_31060":3013,"_25807":2229,"_35712":3013,"_29895":6014,"_35717":3013,"_35111":3013,"_15237":3013,"_5663":3013,"_5635":3013,"_8631":3013,"_11058":3013,"_23107":3013,"_3720":3013,"_36558":2229,"_14872":3013,"_20794":3013,"_6149":3013,"_10010":20080,"_24020":2229,"_24035":2229,"_29844":3013,"_18541":2229,"_34295":25017,"_33934":3013,"_33042":3013,"_17239":3013,"_13095":3013,"_13101":6014,"_30008":3013,"_8432":3013,"_13996":3013,"_8222":3013,"_34916":3013,"_20599":2229,"_8341":3013,"_5850":20080,"_15248":3013,"_29332":3013,"_31098":2229,"_8176":3013,"_10623":2229,"_20567":3013,"_10390":20080,"_35265":3013,"_23769":2229,"_31800":3013,"_8535":3013,"_23264":2229,"_18536":3013,"_35996":3013,"_24936":3013,"_29973":3013,"_21003":3013,"_15961":3013,"_3731":3013,"_28061":3013,"_19130":3013,"_36593":3013,"_36588":3013,"_18612":3013,"_28741":3013,"_20109":3013,"_17841":3013,"_19740":3013,"_27521":3013,"_15573":2229,"_18014":3013,"_19555":20080,"_21057":2236,"_13702":3013,"_31243":3013,"_29254":3013,"_9988":3013,"_10395":20080,"_8121":3013,"_24656":3013,"_5714":20080,"_22577":3013,"_6520":3013,"_31238":3013,"_20849":3013,"_21188":3013,"_6235":3013,"_32947":3013,"_13724":3013,"_33685":3013,"_16545":3013,"_5452":3013,"_14862":2229,"_35412":2229,"_33330":3013,"_33188":3013,"_21396":2229,"_5691":3013,"_27684":2229,"_24941":3013,"_31942":3013,"_29596":2229,"_19571":2229,"_6329":3013,"_7774":3013,"_22201":3013,"_34285":3013,"_32270":3013,"_13265":3013,"_6805":2229,"_31233":2229,"_10264":3013,"_29421":3013,"_31332":3013,"_26648":13290,"_33628":3013,"_28987":3013,"_34546":3013,"_29027":3013,"_25686":3013,"_9406":3013,"_27694":3013,"_23748":20080,"_8127":3013,"_11237":3013,"_22207":20080,"_14145":3013,"_21479":2229,"_13186":3013,"_7697":3013,"_32424":3013,"_29717":3013,"_21220":3013,"_22834":3013,"_9321":3013,"_13929":3013,"_29522":3013,"_31997":3013,"_34162":3013,"_37434":3013,"_35517":3013,"_31936":3013,"_5640":3013,"_33670":3013,"_8223":3013,"_13106":2229,"_32779":3013,"_35418":3013,"_33814":3013,"_13535":3013,"_19911":3013,"_17963":3013,"_10508":2229,"_24766":3013,"_27298":6014,"_33691":3013,"_19587":3013,"_6607":3013,"_28163":3013,"_28410":3013,"_21899":3013,"_36950":3013,"_14446":3013,"_5011":3013,"_10618":3013,"_20223":3013,"_17114":3013,"_36897":3013,"_34365":3013,"_27303":3013,"_31315":3013,"_20005":3013,"_22587":3013,"_32504":3013,"_33396":3013,"_32044":3013,"_16522":20080,"_13847":20080,"_19768":3013,"_32069":6014,"_30299":2229,"_3066":2229,"_33697":3013,"_7308":3013,"_24804":3013,"_8611":3013,"_32429":3013,"_24650":3013,"_11242":3013,"_29795":3013,"_29801":3013,"_30232":3013,"_31103":3013,"_13527":3013,"_37359":3013,"_16690":3013,"_28334":3013,"_36828":2229,"_34417":3013,"_34423":3013,"_26302":3013,"_28091":3013,"_25691":3013,"_32434":2229,"_12598":3013,"_24860":3013,"_21650":3013,"_37073":3013,"_35359":3013,"_15405":3013,"_32027":3013,"_34339":3013,"_24745":3013,"_37062":3013,"_3220":2229,"_29558":2229,"_37389":3013,"_26901":3013,"_20712":3013,"_4237":3013,"_6204":3013,"_26669":3013,"_20988":3013,"_19821":3013,"_12591":3013,"_13534":3013,"_31465":3013,"_26308":3013,"_16191":13290,"_8717":3013,"_5964":3013,"_35722":3013,"_13950":3013,"_14435":3013,"_20915":3013,"_12725":3013,"_24316":2229,"_20594":3013,"_4424":3013,"_5719":3013,"_22844":3013,"_4431":3013,"_4438":3013,"_13271":3013,"_29905":3013,"_34481":3013,"_7180":20080,"_25912":3013,"_8557":3013,"_33964":3013,"_11178":6014,"_24418":20080,"_20866":3013,"_9963":3013,"_27574":3013,"_6287":3013,"_19272":3013,"_19529":3013,"_18761":3013,"_25832":2229,"_25827":20080,"_26906":3013,"_30044":2229,"_30567":3013,"_25732":3013,"_10514":3013,"_5447":3013,"_10074":3013,"_11121":3013,"_27772":3013,"_7868":3013,"_36975":3013,"_21638":3013,"_35170":3013,"_15296":3013,"_14425":2229,"_15088":20080,"_29900":3013,"_10385":3013,"_9626":3013,"_25951":3013,"_7588":3013,"_10441":3013,"_23742":3013,"_15920":3013,"_21738":3013,"_24040":3013,"_27881":3013,"_6472":3013,"_17432":3013,"_27891":3013,"_6478":3013,"_11115":2229,"_35245":3013,"_37414":3013,"_36354":3013,"_27448":3013,"_36734":3013,"_11232":3013,"_24922":3013,"_36764":3013,"_4311":3013,"_27011":3013,"_37475":3013,"_30600":3013,"_17508":3013,"_11126":3013,"_27453":3013,"_19092":3013,"_14103":3013,"_6740":3013,"_25439":3013,"_17768":3013,"_25291":3013,"_37334":3013,"_22332":3013,"_11156":3013,"_17301":3013,"_8336":3013,"_15784":3013,"_3125":3013,"_32360":3013,"_13718":3013,"_32610":3013,"_16938":3013,"_17529":3013,"_31890":3013,"_14983":3013,"_36935":3013,"_15996":3013,"_26509":3013,"_6467":3013,"_32419":3013,"_27443":3013,"_19662":3013,"_8085":20682,"_10966":3013,"_4036":3013,"_14641":3013,"_8723":3013,"_18180":3013,"_28296":3013,"_35401":3013,"_24161":3013,"_33098":3013,"_33737":21663,"_25553":3013,"_25737":3013,"_5281":2229,"_35629":3013,"_29232":20080,"_16680":3013,"_18340":2229,"_7042":2229,"_33479":3013,"_14518":3013,"_30269":3013,"_22327":3013,"_31471":2229,"_9867":3013,"_5462":3013,"_24116":3013,"_14658":3013,"_3691":2229,"_13154":3013,"_23566":3013,"_5291":20080,"_33227":3013,"_28901":3013,"_14646":3013,"_31338":3013,"_33521":3013,"_21030":3013,"_5824":3013,"_13326":3013,"_6723":3013,"_20723":3013,"_30409":3013,"_31961":2229,"_34893":2229,"_21194":3013,"_4053":3013,"_4058":3013,"_30414":3013,"_37439":3013,"_5410":3013,"_15727":3013,"_4445":3013,"_33450":3013,"_28933":3013,"_28757":20080,"_22501":3013,"_9212":2229,"_21108":3013,"_25589":3013,"_20941":3013,"_18899":3013,"_21353":3013,"_7643":3013,"_16100":3013,"_6874":3013,"_28938":3013,"_5286":3013,"_20636":3013,"_19457":3013,"_16993":3013,"_25197":2229,"_31524":3013,"_24260":2229,"_16916":3013,"_25259":3013,"_34045":3013,"_16999":3013,"_15332":3013,"_32017":3013,"_33474":3013,"_19916":3013,"_8496":3013,"_19365":20080,"_10860":3013,"_24488":3013,"_26555":2229,"_29758":3013,"_17169":20080,"_29850":3013,"_15338":3013,"_7978":3013,"_7971":3013,"_19250":3013,"_7626":3013,"_3736":3013,"_28379":3013,"_18705":3013,"_5930":3013,"_18793":3013,"_29591":3013,"_5936":3013,"_14827":3013,"_23619":2229,"_21431":3013,"_34867":3013,"_27469":3013,"_22730":3013,"_23854":3013,"_32917":3013,"_37189":3013,"_32215":3013,"_7874":3013,"_8347":3013,"_30349":3013,"_13113":20080,"_21485":3013,"_32729":3013,"_8161":3013,"_35220":3013,"_21215":3013,"_13914":3013,"_14489":3013,"_17487":3013,"_23398":3013,"_37039":3013,"_26062":3013,"_37646":3013,"_23603":3013,"_37663":3013,"_23764":3013,"_14535":3013,"_8039":3013,"_31265":20080,"_25333":20080,"_17731":25017,"_12605":3013,"_11515":3013,"_8739":3013,"_11724":3013,"_13107":3013,"_20839":3013,"_16591":20080,"_11904":3013,"_11934":3013,"_15155":6014,"_25122":3013,"_11954":3013,"_6816":13290,"_11959":3013,"_11964":3013,"_21441":3013,"_11405":3013,"_36011":3013,"_11909":3013,"_16901":3013,"_11974":3013,"_7377":3013,"_7291":3013,"_12666":2229,"_11979":3013,"_25121":3013,"_24286":3013,"_11939":3013,"_24276":3013,"_13055":3013,"_13797":3013,"_11540":3013,"_11944":3013,"_16351":3013,"_12617":3013,"_16363":3013,"_12622":3013,"_35543":3013,"_16357":3013,"_11745":2229,"_28399":6014,"_16324":20080,"_27725":6014,"_15094":3013,"_17477":2229,"_15596":3013,"_15601":3013,"_9362":3013,"_11495":3013,"_12079":3013,"_12118":3013,"_15057":3013,"_5241":3013,"_12124":3013,"_13213":3013,"_30023":3013,"_12713":3013,"_11560":3013,"_15670":3013,"_11545":3013,"_11765":3013,"_7631":3013,"_11770":3013,"_26135":3013,"_31596":3013,"_10091":2229,"_11785":3013,"_9999":3013,"_11790":3013,"_26254":3013,"_11805":3013,"_11729":3013,"_26719":3013,"_8425":3013,"_11835":3013,"_11840":3013,"_8484":3013,"_21067":3013,"_12000":3013,"_30950":2229,"_16381":2229,"_12005":3013,"_27154":3013,"_13873":3013,"_12011":3013,"_28168":3013,"_31851":3013,"_8923":3013,"_12026":3013,"_9180":3013,"_29471":3013,"_12037":3013,"_12042":3013,"_29564":3013,"_7752":3013,"_14791":20080,"_12047":3013,"_12719":3013,"_12053":3013,"_12064":3013,"_11914":3013,"_8044":2229,"_22683":3013,"_11985":3013,"_19278":3013,"_11750":3013,"_30113":3013,"_11580":3013,"_11810":3013,"_35116":3013,"_4157":3013,"_28943":20080,"_16387":3013,"_12016":3013,"_12021":3013,"_12069":3013,"_23634":3013,"_11919":3013,"_25906":3013,"_11990":3013,"_11755":3013,"_16369":3013,"_11924":3013,"_11315":3013,"_11322":3013,"_15518":3013,"_34251":6014,"_12090":3013,"_12259":3013,"_27944":2229,"_12295":3013,"_26514":3013,"_12408":3013,"_32221":3013,"_13360":2229,"_26520":2229,"_11601":3013,"_27933":3013,"_11520":3013,"_34077":3013,"_4163":3013,"_16287":3013,"_11647":3013,"_12627":3013,"_7416":3013,"_11850":3013,"_23279":3013,"_11775":3013,"_24232":3013,"_11865":3013,"_23721":3013,"_11795":3013,"_32365":3013,"_37617":3013,"_29373":3013,"_36769":3013,"_11734":3013,"_35842":3013,"_35549":3013,"_11678":3013,"_29108":3013,"_11815":3013,"_32440":3013,"_11820":3013,"_11876":3013,"_11825":3013,"_15833":3013,"_11888":3013,"_19779":3013,"_29317":3013,"_11882":3013,"_14721":2229,"_12633":3013,"_26378":3013,"_17611":3013,"_11565":3013,"_7703":3013,"_11329":3013,"_12101":3013,"_12302":3013,"_18733":3013,"_11525":3013,"_28421":3013,"_11550":3013,"_11426":3013,"_24667":3013,"_11652":3013,"_21114":20080,"_7423":2229,"_11683":3013,"_35507":3013,"_11586":3013,"_13120":2229,"_11591":3013,"_10519":3013,"_11855":3013,"_28833":3013,"_11860":3013,"_27129":3013,"_7129":3013,"_11530":3013,"_10317":3013,"_30888":3013,"_11657":3013,"_35555":3013,"_11662":3013,"_26753":20080,"_16404":3013,"_11667":3013,"_16428":3013,"_16410":3013,"_16416":3013,"_11672":3013,"_16422":3013,"_12269":3013,"_8670":13290,"_8905":3013,"_11335":3013,"_13126":3013,"_7474":3013,"_11437":3013,"_17747":3013,"_11413":3013,"_13014":2229,"_11420":3013,"_10102":2229,"_22060":3013,"_11500":3013,"_15655":3013,"_12096":3013,"_5856":3013,"_12280":3013,"_33139":3013,"_22022":3013,"_12264":3013,"_12312":3013,"_12332":3013,"_31728":3013,"_12337":3013,"_12911":2229,"_12342":3013,"_12347":3013,"_22814":3013,"_10778":3013,"_10783":3013,"_12413":3013,"_13132":2229,"_23977":3013,"_12418":3013,"_16450":3013,"_35917":20080,"_23201":2229,"_12429":3013,"_7880":3013,"_22066":3013,"_12434":3013,"_34399":2229,"_12440":3013,"_12460":3013,"_27950":3013,"_12470":3013,"_10334":3013,"_17344":3013,"_12481":3013,"_21894":3013,"_12136":3013,"_35974":2229,"_20872":3013,"_17523":3013,"_12161":3013,"_13133":3013,"_12186":3013,"_11606":3013,"_31065":3013,"_35984":3013,"_35990":3013,"_11570":3013,"_12496":3013,"_12166":3013,"_31738":3013,"_11450":3013,"_11462":3013,"_11468":3013,"_15822":3013,"_12107":3013,"_12285":3013,"_4813":3013,"_12317":3013,"_12322":3013,"_5970":3013,"_12352":3013,"_12357":3013,"_5976":3013,"_12372":3013,"_13546":3013,"_26912":3013,"_12377":3013,"_12382":3013,"_12387":3013,"_12445":3013,"_34486":3013,"_18685":3013,"_18767":3013,"_12450":3013,"_22072":3013,"_22077":3013,"_12511":3013,"_12465":3013,"_10820":3013,"_23031":3013,"_12517":3013,"_28097":3013,"_25722":3013,"_12486":3013,"_12501":3013,"_32328":3013,"_30637":3013,"_12506":3013,"_18229":3013,"_12196":3013,"_24698":3013,"_16501":2229,"_12202":3013,"_12213":3013,"_5736":3013,"_12171":3013,"_28339":3013,"_3919":3013,"_12176":3013,"_14711":3013,"_16456":2229,"_12228":3013,"_25115":2229,"_12233":3013,"_16479":3013,"_16484":3013,"_11694":3013,"_30827":3013,"_28317":3013,"_11611":3013,"_26088":3013,"_11616":3013,"_4538":3013,"_12218":3013,"_14293":3013,"_22054":3013,"_12191":3013,"_25434":3013,"_11444":3013,"_23006":3013,"_11621":3013,"_23982":3013,"_26642":3013,"_11626":3013,"_27955":3013,"_11632":3013,"_19704":3013,"_22083":3013,"_12362":3013,"_22089":3013,"_22094":3013,"_12392":3013,"_14726":3013,"_12523":3013,"_16495":3013,"_12141":3013,"_7521":3013,"_17681":3013,"_24510":3013,"_8063":3013,"_12146":3013,"_21848":3013,"_12151":3013,"_16489":3013,"_12238":3013,"_21533":3013,"_20260":3013,"_12243":3013,"_16528":3013,"_11699":3013,"_16440":3013,"_16445":3013,"_11704":3013,"_11709":3013,"_11637":3013},"function Object() { [native code] }111111",{"_24672":8464,"_37759":3714,"_37769":2407,"_3010":7538,"_37789":2230,"_14688":8861,"_37830":6027,"_37840":3428,"_37720":3355,"_24254":36132,"_13331":7539,"_37745":2262,"_35813":3402,"_37875":3405,"_37891":3355,"_36501":2251,"_37915":2236,"_37931":2235,"_22533":7541,"_24383":2469,"_37795":2239,"_37865":7537,"_37950":3432,"_37779":3053,"_30991":3052,"_37806":3355,"_37846":2232,"_37726":14690,"_37962":28364,"_37956":2235,"_26401":2242,"_9044":2239,"_9839":5873,"_37985":2299,"_37881":36118,"_16938":36118,"_6558":2319,"_37921":3053,"_37979":3212},{"_19386":2240,"_22127":2874,"_38006":2350},{"_38020":2240,"_24688":2240,"_2974":2235,"_5964":2235,"_3032":28364,"_6918":2236,"_24383":2233,"_18505":18156,"_7303":20080,"_25616":20080,"_37881":3013},{"_24672":8464,"_37759":3714,"_37769":2407,"_3010":7538,"_20077":2229,"_38695":25017,"_38123":2229,"_25015":6014,"_20680":13290,"_28362":20682,"_21660":2229,"_38665":2231,"_37789":2230,"_39123":25017,"_14688":8861,"_39140":2242,"_39146":25017,"_39528":3356,"_37830":6027,"_39690":21663,"_39747":28364,"_37840":3428,"_38675":21663,"_38298":36192,"_39622":3356,"_39806":9417,"_39204":13290,"_39834":6014,"_39759":2235,"_38202":13290,"_39818":20080,"_39925":2230,"_38129":6014,"_38292":3081,"_37720":3355,"_39156":20682,"_39168":2229,"_37721":25017,"_40065":2229,"_24254":36132,"_38800":3013,"_38754":20682,"_38765":2239,"_40091":2229,"_39627":2235,"_38825":6014,"_38149":13290,"_39651":13290,"_38831":6014,"_13331":7539,"_14354":3013,"_30102":2229,"_3289":2229,"_13478":2229,"_13739":2229,"_14151":2229,"_12805":13290,"_12812":2229,"_23971":2229,"_24064":2229,"_7271":2229,"_7319":2229,"_7326":2229,"_7339":6014,"_29921":2229,"_28818":2229,"_27124":2229,"_18820":2229,"_36383":2229,"_9688":13290,"_10666":2229,"_9043":2229,"_26242":2229,"_26319":6014,"_26330":2229,"_25512":2229,"_7686":2229,"_12720":2229,"_31444":2229,"_37745":2262,"_39662":3013,"_38936":28364,"_38942":20080,"_39174":13290,"_39180":20080,"_38258":20080,"_39850":6014,"_39855":6014,"_39346":6014,"_39753":20080,"_38252":2229,"_4322":6014,"_26211":20682,"_40128":28364,"_38654":20080,"_7255":6027,"_40429":20682,"_40533":25017,"_39576":20080,"_39883":18156,"_38312":6014,"_40134":13290,"_35813":5391,"_38903":2229,"_40217":25017,"_39029":2229,"_39035":2229,"_40637":3013,"_40140":5064,"_38915":2233,"_37875":3405,"_40560":2229,"_20886":2229,"_39539":20080,"_39824":20682,"_18266":25017,"_38536":13290,"_7089":20080,"_17196":2229,"_39141":2229,"_38548":6071,"_38553":20080,"_40390":18156,"_37891":3355,"_40270":20682,"_40275":6014,"_39860":6014,"_36501":2253,"_40258":6014,"_38705":2229,"_39186":2229,"_38139":20080,"_39545":13290,"_39865":3013,"_39322":2229,"_39591":2229,"_39072":20682,"_38965":6027,"_39871":2229,"_40285":2229,"_38975":2229,"_39769":2233,"_10462":2229,"_37915":2236,"_38859":21663,"_39067":2229,"_38177":2229,"_37931":2235,"_26686":2229,"_9259":20682,"_22533":7541,"_27543":3013,"_40675":20080,"_40707":2229,"_40718":20080,"_40712":2229,"_40724":28364,"_40685":2229,"_40691":2229,"_40697":13290,"_39045":2229,"_38759":2229,"_40223":6014,"_40448":2232,"_30593":3013,"_30337":2236,"_13077":2229,"_22028":3013,"_40028":3013,"_30631":13290,"_40598":25017,"_24383":2469,"_37795":2239,"_16839":13290,"_30794":3081,"_39965":25017,"_39485":2229,"_39722":20080,"_39366":2229,"_38981":3013,"_38810":3013,"_37865":7537,"_38564":2229,"_8831":18156,"_39976":2229,"_39192":21663,"_39162":2230,"_39490":3013,"_39877":3013,"_38236":3013,"_37950":3432,"_37779":3053,"_38585":2232,"_39385":20682,"_40643":2238,"_30991":3052,"_40614":28364,"_39637":6027,"_39668":20080,"_16715":2231,"_39397":25017,"_37806":3355,"_40291":2229,"_39564":3767,"_37846":2237,"_37726":14690,"_12931":13290,"_9044":4359,"_38231":20080,"_39889":2229,"_38870":2229,"_39602":3013,"_38318":20080,"_39238":3013,"_38324":20080,"_39244":25017,"_40649":2232,"_37962":28364,"_39078":20682,"_37956":2235,"_26401":2242,"_39731":20682,"_38885":25017,"_39931":20080,"_40122":13290,"_40396":13290,"_39128":13290,"_9839":5873,"_38570":13290,"_40473":2229,"_38711":20080,"_38102":3355,"_36411":6014,"_39950":2229,"_28592":2234,"_40071":2229,"_39001":2236,"_40155":6014,"_39254":20682,"_39094":2234,"_37985":2299,"_40039":3013,"_38329":2229,"_5742":2229,"_39901":2229,"_39907":20080,"_7197":2229,"_35802":2229,"_37049":20080,"_36960":20080,"_33866":20080,"_34155":2229,"_28143":2229,"_28150":20080,"_28156":20080,"_39269":20080,"_10683":2229,"_38353":3013,"_38370":20080,"_38376":20080,"_38382":20080,"_38387":20080,"_38403":20080,"_38408":28364,"_38413":20080,"_38424":20080,"_38434":20080,"_38439":20080,"_38444":20080,"_38454":21663,"_38460":6014,"_38465":25017,"_38471":20080,"_38476":20080,"_38481":20080,"_38492":20682,"_38498":20080,"_38503":20080,"_38508":20080,"_38359":13290,"_38518":20080,"_38524":20080,"_38530":20080,"_14952":3013,"_5696":2229,"_39336":2229,"_20115":2229,"_24569":2229,"_8550":2229,"_40519":20080,"_20290":6014,"_21418":2229,"_19815":2229,"_11171":2229,"_26636":2229,"_23125":2229,"_22723":25017,"_40368":2229,"_32037":2229,"_30325":2229,"_13218":7538,"_40655":20080,"_38155":28364,"_38225":2229,"_40661":3013,"_40544":13290,"_39581":20080,"_6973":20682,"_38837":21663,"_17643":25017,"_34433":2229,"_18995":2231,"_9947":20080,"_39198":20080,"_37881":36118,"_16938":36118,"_38606":2229,"_40353":3355,"_39099":2234,"_38591":28364,"_25212":2229,"_14983":20080,"_38191":2229,"_39023":28364,"_39788":13290,"_6558":2319,"_37921":3053,"_39608":2229,"_18705":2229,"_24728":2229,"_38921":2230,"_38630":2229,"_39991":2229,"_40229":2233,"_38721":20080,"_37979":3212,"_40181":3013,"_25333":2229,"_23779":28364,"_17731":25017,"_8906":2229,"_21547":6014,"_40186":3013,"_39445":25017,"_39416":5064,"_40566":2229,"_40494":21663,"_39284":20080,"_40191":3013,"_39421":2234,"_40576":2229,"_40499":6014,"_39228":2229,"_39289":20080,"_40196":3013,"_38786":20080,"_39426":25017,"_40504":20682,"_31535":2229,"_40201":3013,"_40509":20080,"_39294":6014,"_40206":3013,"_38791":2229,"_39431":5388,"_40581":20080,"_40514":2239,"_39233":20080,"_40416":13290,"_39299":2232},"avgFieldLength",{"_2209":51772,"_37698":51773,"_5":3013,"_38009":51774,"_14695":51775},19.326800364630806,3.320419325432998,1.9888031485776165,4.229261622607108,"fieldLengths",{"_2209":51778,"_37698":51779,"_5":51780,"_38009":51781,"_14695":51782},{"_6884":3013,"_5968":2237,"_11313":3013,"_11353":6014,"_11327":6014,"_11320":3013,"_11346":3013,"_11375":3013,"_11306":3013,"_36123":2229,"_11342":2236,"_36627":4458,"_36749":7538,"_36700":6027,"_11445":6073,"_12197":2239,"_36739":3356,"_36759":2248,"_12027":2244,"_11889":7538,"_37450":2231,"_12203":21663,"_40818":2229,"_36616":25017,"_36046":2238,"_36685":6071,"_12270":28364,"_37480":20682,"_12512":2248,"_35574":2232,"_35645":2234,"_35619":2235,"_12054":2232,"_35635":2232,"_35650":6027,"_12102":3644,"_35655":2237,"_11406":5389,"_11866":6027,"_12080":2237,"_40847":2229,"_40849":6071,"_40851":20080,"_40854":2229,"_36679":2231,"_40857":18918,"_11356":3402,"_40862":36153,"_12471":3355,"_36302":2231,"_12518":3644,"_11438":3013,"_37112":31488,"_40872":6014,"_40874":2229,"_40876":13290,"_40879":12960,"_37107":3644,"_37102":3356,"_11469":18156,"_40886":3051,"_40889":2231,"_40891":28364,"_30746":25017,"_40894":3052,"_40897":6014,"_40899":2230,"_40902":18156,"_40904":2232,"_40906":6072,"_40909":3081,"_40912":6072,"_40914":3355,"_11485":2241,"_40918":6027,"_36784":3081,"_40921":31488,"_11684":5390,"_11349":6014,"_36838":3013,"_37456":13290,"_12393":3013,"_40929":13290,"_40931":3013,"_40933":13290,"_36853":3013,"_40936":6014,"_11378":3013,"_12108":2233,"_35688":3013,"_36663":28364,"_40943":3013,"_40945":28364,"_37626":3013,"_40948":2231,"_11421":3013,"_40951":13290,"_40953":3013,"_12125":13290,"_36130":7540,"_40958":20682,"_40960":3405,"_40963":2230,"_40965":21663,"_40967":2235,"_40969":2232,"_40971":2232,"_11336":18156,"_40974":18156,"_40976":20080,"_40978":2230,"_40980":2235,"_40982":5388,"_40985":2237,"_16358":2232,"_40988":2238,"_40990":2231,"_40992":6027,"_40994":2232,"_40996":2233,"_40998":7537,"_41001":6071,"_41003":2239,"_41005":2234,"_41007":4359,"_41010":3051,"_36637":5064,"_36632":2232,"_41015":2244,"_36754":3767,"_41019":3355,"_41021":5388,"_41023":2231,"_41025":2232,"_41027":5389,"_41029":2238,"_41031":18156,"_41033":3767,"_41035":13290,"_41037":12960,"_41039":2229,"_41041":20682,"_41043":3768,"_41046":3767,"_41048":6014,"_41050":12960,"_41052":2232,"_41054":5392,"_41057":2235,"_41059":3356,"_41061":6071,"_41063":2230,"_41065":6014,"_41067":6071,"_41069":2234,"_41071":6071,"_41073":3644,"_41075":2230,"_41077":2237,"_41079":2229,"_41081":3355,"_41083":2229,"_41085":2229,"_41087":2229,"_41089":6014,"_41091":20080,"_41093":20080,"_36725":2229,"_41096":6014,"_41098":6014,"_41100":20080,"_36744":20080,"_41103":2229,"_41105":18917,"_41108":2229,"_41110":4359,"_41112":2231,"_41114":2232,"_41116":6072,"_41118":3051,"_41120":2237,"_41122":2229,"_41124":31488,"_41126":4359,"_41128":6072,"_41130":3051,"_41132":2229,"_41134":3767,"_41136":3402,"_41138":7537,"_41140":2247,"_36651":3401,"_41145":7540,"_36646":36192,"_41149":2247,"_41151":2244,"_41153":7538,"_41155":3644,"_41157":3644,"_16474":7537,"_37344":3053,"_35538":2243,"_41164":2241,"_41166":9417,"_41169":7538,"_41171":18918,"_41173":3404,"_41176":5390,"_41178":3052,"_41180":3054,"_41183":7539,"_41186":2247,"_41188":4458,"_41190":2244,"_41192":2244,"_41194":5334,"_41197":18918,"_41199":18918,"_41201":5334,"_41203":2246,"_41206":2247,"_41208":6072,"_41210":2238,"_41212":6072,"_41214":18917,"_41216":7538,"_41218":2247,"_41220":31488,"_41222":6072,"_41224":4359,"_41226":5389,"_41228":3768,"_41230":2238,"_41232":2239,"_41234":18917,"_41236":3767,"_41238":5064,"_41240":2239,"_41242":5389,"_41244":5388,"_41246":31488,"_41248":31488,"_41250":5334,"_41252":28364,"_41254":5389,"_41256":20682,"_41258":2235,"_41260":4359,"_41262":2240,"_37379":2239,"_41266":5389,"_41268":4359,"_41270":2239,"_37384":2241,"_37374":12960,"_22897":7537,"_41275":3644,"_41277":2230,"_41279":3767,"_41281":21663,"_41283":6014,"_41285":20080,"_41287":3980,"_41290":5389,"_41292":3767,"_41294":3356,"_41296":3356,"_41298":2246,"_41300":9417,"_41302":3055,"_41305":3054,"_41307":3405,"_41309":2246,"_41311":2239,"_41313":7537,"_41315":2231,"_41317":13290,"_41319":5064,"_41321":5064,"_41323":5064,"_41325":3081,"_41327":2237,"_41329":5390,"_41331":2229,"_41333":18917,"_41335":4458,"_41337":3356,"_37485":2240,"_41340":18918,"_41342":2229,"_41344":2236,"_41346":6260,"_41349":7539,"_41351":2229,"_41353":3405,"_41355":2238,"_41357":3768,"_41359":4457,"_41362":31488,"_35589":2229,"_41365":31488,"_41367":2229,"_41369":2232,"_35579":3052,"_41372":36179,"_41375":20543,"_41378":3051,"_41380":2250,"_41383":36125,"_41386":4457,"_41388":2241,"_41390":3051,"_41392":5334,"_41394":2233,"_41396":5388,"_41398":2242,"_41401":36132,"_41404":5389,"_41406":21663,"_11390":25017,"_41409":3081,"_41411":2229,"_41413":21663,"_41415":2229,"_35624":28364,"_41418":20682,"_41420":2232,"_41422":2243,"_41424":2242,"_41426":7537,"_41428":2248,"_11316":14690,"_41432":5392,"_41434":2231,"_41436":2236,"_41438":3051,"_41440":2250,"_41442":3355,"_41444":21663,"_35640":2239,"_41447":6072,"_41449":5334,"_41451":3767,"_41453":2238,"_41455":5390,"_41457":3767,"_41459":2238,"_41461":5390,"_41463":5389,"_41465":5389,"_41467":2241,"_41469":3054,"_41471":2239,"_41473":18917,"_41475":5392,"_41477":4359,"_41479":3054,"_41481":5064,"_41483":20682,"_41485":25017,"_41487":25017,"_41489":2229,"_41491":2232,"_41493":3768,"_41495":2239,"_41497":2240,"_41499":6027,"_41501":5388,"_41503":2239,"_41505":2239,"_41507":3053,"_41509":3402,"_41511":2253,"_41514":2234,"_41516":5388,"_41518":5389,"_41520":2235,"_41522":28364,"_41524":5388,"_41526":3767,"_41528":3767,"_41530":2233,"_41532":20682,"_22920":2249,"_41536":2250,"_41538":31488,"_41540":5389,"_35672":13290,"_41543":6072,"_41545":3355,"_41547":31488,"_41549":2238,"_41551":3767,"_41553":18156,"_41555":2236,"_41557":3405,"_41559":12960,"_41561":3401,"_41563":3980,"_36040":2241,"_41566":2234,"_41568":3056,"_41571":3356,"_41573":12960,"_41575":7540,"_41577":8206,"_41580":2239,"_41582":5392,"_41584":3644,"_41586":18917,"_41588":3356,"_41590":3356,"_41592":2251,"_41595":8206,"_41597":5388,"_41599":3356,"_41601":3054,"_41603":2234,"_41605":5391,"_41608":6027,"_41610":2232,"_41612":2237,"_41614":2234,"_41616":2234,"_36045":6027,"_41619":2232,"_41621":6027,"_41623":2232,"_41625":2236,"_41627":2232,"_41629":3081,"_41631":3081,"_41633":3081,"_41635":5388,"_41637":2235,"_41639":20080,"_36051":2236,"_41642":20080,"_41644":20080,"_41646":2229,"_41648":20080,"_41650":6072,"_41652":21663,"_41654":3081,"_41656":2233,"_41658":18156,"_41660":2243,"_41662":3254,"_41665":2245,"_41668":3356,"_41670":2237,"_41672":5984,"_41675":2229,"_41677":6072,"_41679":20682,"_41681":3013,"_41683":2234,"_41685":2229,"_41687":2229,"_41689":2229,"_41691":2229,"_41693":20080,"_41695":13290,"_41697":6014,"_41699":20080,"_41701":20080,"_41703":2230,"_41705":2229,"_41707":20080,"_41709":13290,"_41711":2240,"_41713":2235,"_41715":2232,"_41717":18156,"_41719":2235,"_41721":20682,"_41723":2235,"_41725":2229,"_41727":3013,"_41729":3013,"_41731":2229,"_41733":3013,"_41735":2229,"_41737":20080,"_41739":20080,"_11427":20080,"_41742":20080,"_41744":3013,"_41746":20080,"_41748":20080,"_41750":2229,"_41752":2229,"_41754":3013,"_41756":20080,"_41758":20080,"_41760":2229,"_41762":2229,"_41764":3013,"_41766":20080,"_37087":20080,"_12612":2229,"_41770":2229,"_41772":20080,"_41774":2229,"_41776":2229,"_41778":2229,"_41780":2229,"_41782":3356,"_41784":3402,"_41786":2246,"_41788":2229,"_41790":3051,"_41792":2244,"_41794":3356,"_41796":6071,"_41798":6071,"_41800":2242,"_41802":2230,"_41804":3081,"_41806":36125,"_41808":2245,"_41810":2244,"_41812":2232,"_41814":5390,"_41816":2236,"_41818":3051,"_41820":3356,"_41822":3081,"_41824":21663,"_41826":5064,"_41828":2237,"_41830":3051,"_41832":7537,"_41834":3356,"_41836":5390,"_41838":7538,"_41840":3405,"_41842":4359,"_41844":2245,"_41846":2229,"_41848":3767,"_41850":3013,"_41852":3081,"_41854":3013,"_36062":3013,"_41857":3013,"_41859":3013,"_41861":3013,"_41863":3013,"_41865":3013,"_41867":3013,"_41869":3013,"_41871":3013,"_41873":3013,"_41875":3013,"_41877":3013,"_41879":3013,"_41881":3013,"_41883":3013,"_41885":3013,"_41887":3013,"_41889":3013,"_41891":3013,"_41893":3013,"_41895":3013,"_41897":3013,"_41899":3013,"_41901":3013,"_41903":3013,"_41905":3013,"_41907":3013,"_41909":3013,"_41911":13290,"_41913":20682,"_11384":13290,"_41916":25017,"_41918":13290,"_41920":20080,"_41922":20682,"_41924":2230,"_41926":2231,"_41928":20682,"_41930":28364,"_41932":25017,"_41934":20682,"_16423":20682,"_41937":18156,"_41939":21663,"_41941":18156,"_11330":20682,"_41944":20682,"_41946":21663,"_41948":20080,"_41950":2236,"_41952":3013,"_41954":25017,"_41956":2237,"_41958":28364,"_41960":13290,"_41962":28364,"_41964":25017,"_41966":18156,"_41968":2232,"_41970":6027,"_41972":20682,"_41974":2230,"_41976":13290,"_41978":28364,"_41980":2229,"_41982":5388,"_41984":6014,"_41986":6014,"_41988":6014,"_41990":20080,"_41992":20080,"_41994":20080,"_41996":2229,"_41998":2229,"_42000":2229,"_42002":13290,"_42004":25017,"_42006":3013,"_11323":3013,"_42009":13290,"_42011":13290,"_42013":3013,"_42015":2229,"_42017":2229,"_42019":2229,"_42021":2229,"_42023":2229,"_42025":20080,"_42027":18917,"_42029":2253,"_42031":18917,"_42033":2236,"_42035":3767,"_42037":2229,"_42039":6071,"_42041":2234,"_42043":2237,"_42045":2237,"_42047":2230,"_42049":3053,"_42051":2231,"_42053":13290,"_42055":2246,"_42057":20682,"_42059":2247,"_42061":5389,"_42063":2238,"_42065":6071,"_42067":2246,"_42069":28364,"_42071":2240,"_42073":2237,"_42075":2229,"_42077":20080,"_42079":2249,"_42081":2234,"_42083":2229,"_42085":3768,"_42087":2234,"_42089":2229,"_42091":2246,"_42093":2244,"_42095":3052,"_42097":3401,"_42099":2231,"_42101":4359,"_42103":3767,"_42105":18918,"_42107":2241,"_42109":3401,"_42111":3403,"_42114":2235,"_42116":5389,"_42118":2240,"_42120":2245,"_42122":3356,"_42124":3356,"_42126":2231,"_42128":2238,"_42130":6072,"_42132":12960,"_42134":2232,"_42136":2254,"_42139":18918,"_42141":5391,"_42143":2252,"_42146":14690,"_42148":7786,"_42151":2229,"_42153":2244,"_42155":5389,"_42157":3768,"_42159":3054,"_42161":4359,"_42163":5334,"_42165":2233,"_42167":25017,"_42169":28364,"_42171":2231,"_42173":2240,"_42175":2236,"_42177":36118,"_42180":2237,"_42182":2230,"_42184":3402,"_42186":2245,"_42188":20682,"_42190":6027,"_42192":2237,"_42194":21663,"_42196":3355,"_42198":20682,"_42200":3644,"_42202":3051,"_42204":2235,"_42206":2234,"_42208":20682,"_42210":6027,"_42212":2235,"_42214":2232,"_42216":2237,"_42218":20080,"_42220":2230,"_42222":2230,"_42224":36139,"_42227":2244,"_11451":7542,"_42231":5334,"_42233":6073,"_42235":2231,"_42237":2230,"_42239":3013,"_42241":12960,"_42243":13290,"_42245":6014,"_42247":20682,"_42249":20080,"_42251":20080,"_42253":20080,"_42255":20080,"_42257":3081,"_42259":2237,"_42261":2239,"_42263":2240,"_42265":31488,"_42267":3356,"_42269":12960,"_42271":2230,"_42273":3051,"_42275":3051,"_42277":3405,"_42279":6071,"_42281":3013,"_42283":20080,"_42285":3013,"_42287":3013,"_42289":3013,"_42291":12960,"_42293":2229,"_42295":3013,"_42297":6027,"_42299":3013,"_42301":3013,"_42303":2237,"_42305":3013,"_42307":3013,"_42309":5064,"_42311":3013,"_42313":3013,"_42315":5064,"_42317":3013,"_42319":3013,"_42321":5064,"_42323":3013,"_42325":3013,"_42327":31488,"_42329":2234,"_42331":3013,"_42333":20080,"_12529":3013,"_42336":3013,"_42338":3013,"_42340":3355,"_42342":3013,"_42344":3013,"_42346":3355,"_37445":3013,"_42349":3013,"_42351":31488,"_42353":20080,"_42355":3355,"_42357":20080,"_42359":3013,"_42361":6014,"_42363":13290,"_35029":3013,"_42366":20080,"_42368":3013,"_42370":3013,"_42372":3013,"_42374":20080,"_42376":2229,"_42378":20080,"_42380":28364,"_42382":3767,"_42384":28364,"_42386":18156,"_42388":2233,"_42390":2232,"_42392":6014,"_42394":18156,"_42396":18156,"_42398":2229,"_42400":2230,"_42402":2230,"_42404":20682,"_42406":21663,"_42408":2229,"_42410":21663,"_42412":2236,"_42414":2236,"_42416":13290,"_42418":20080,"_42420":2232,"_42422":31488,"_42424":2244,"_42426":25017,"_42428":21663,"_42430":18917,"_42432":2233,"_42434":3013,"_42436":3013,"_42438":3013,"_42440":20080,"_42442":3013,"_42444":2236,"_42446":3013,"_12606":20080,"_42449":3013,"_42451":2233,"_42453":3013,"_42455":6014,"_42457":2229,"_42459":28364,"_42461":3013,"_42463":2236,"_42465":3013,"_42467":31488,"_42469":12960,"_42471":6071,"_42473":6027,"_42475":25017,"_42477":21663,"_42479":28364,"_42481":28364,"_42483":28364,"_42485":5334,"_42487":18917,"_42489":3355,"_42491":18918,"_42493":3013,"_42495":5064,"_42497":6014,"_42499":13290,"_42501":20080,"_42503":7786,"_42505":3980,"_42507":2250,"_42509":3081,"_42511":2234,"_42513":2230,"_42515":3081,"_42517":4359,"_42519":4359,"_42521":5390,"_42523":36118,"_42525":3051,"_42527":4359,"_42529":3768,"_42531":2241,"_42533":3013,"_42535":2237,"_42537":2229,"_42539":2229,"_42541":6014,"_42543":2229,"_42545":25017,"_42547":20080,"_42549":13290,"_42551":13290,"_42553":2229,"_42555":2229,"_42557":13290,"_42559":2229,"_42561":2229,"_42563":20682,"_11309":3013,"_42566":6072,"_42568":6027,"_42570":2241,"_42572":3356,"_42574":5334,"_42576":5389,"_42578":2243,"_42580":3644,"_12634":6071,"_42583":2237,"_42585":6072,"_42587":18917,"_42589":2233,"_42591":28364,"_42593":3081,"_42595":2237,"_42597":2236,"_42599":3081,"_42601":2235,"_42603":20080,"_42605":3081,"_42607":2232,"_42609":2233,"_42611":2231,"_42613":13290,"_42615":21663,"_42617":2232,"_42619":2231,"_42621":3401,"_42623":20080,"_42625":21663,"_42627":2233,"_42629":21663,"_42631":2232,"_42633":3355,"_42635":2235,"_42637":2237,"_42639":2229,"_42641":25017,"_42643":6071,"_42645":3401,"_42647":3768,"_42649":3356,"_42651":28364,"_42653":2231,"_42655":18156,"_42657":2230,"_42659":20682,"_42661":2241,"_42663":21663,"_42665":6071,"_42667":2234,"_42669":25017,"_42671":18918,"_42673":2234,"_42675":3401,"_42677":2229,"_42679":2234,"_42681":2229,"_42683":2229,"_42685":2229,"_42687":2235,"_42689":2235,"_42691":2230,"_42693":5388,"_42695":2238,"_42697":2230,"_42699":2233,"_42701":2246,"_42703":3081,"_42705":21663,"_42707":31488,"_42709":2230,"_42711":2230,"_42713":6014,"_42715":2235,"_42717":3013,"_42719":3013,"_42721":7786,"_42723":2233,"_42725":25017,"_42727":21663,"_42729":18156,"_42731":2237,"_42733":3356,"_42735":12960,"_42737":2230,"_42739":2233,"_42741":20080,"_42743":6071,"_42745":25017,"_42747":3013,"_42749":2237,"_42751":3013,"_42753":2229,"_42755":2229,"_42757":2229,"_42759":2229,"_36137":2229,"_42762":2229,"_42764":2229,"_42766":2229,"_42768":2229,"_42770":20080,"_42772":20080,"_42774":2229,"_42776":3013,"_42778":3013,"_42780":3013,"_42782":3013,"_42784":20080,"_42786":3013,"_42788":2229,"_42790":13290,"_42792":3051,"_42794":20080,"_42796":28364,"_42798":20682,"_42800":20682,"_42802":18156,"_42804":2237,"_42806":3401,"_36615":28364,"_42809":25017,"_42811":2234,"_42813":2237,"_42815":2231,"_42817":2231,"_42819":4359,"_42821":2229,"_42823":21663,"_42825":25017,"_42827":2231,"_42829":2237,"_42831":21663,"_42833":2229,"_42835":2229,"_42837":20682,"_42839":13290,"_42841":28364,"_42843":2231,"_42845":2233,"_42847":18156,"_42849":28364,"_42851":18156,"_42853":13290,"_42855":2231,"_42857":25017,"_42859":2237,"_42861":3081,"_42863":6014,"_42865":28364,"_42867":6014,"_42869":2231,"_42871":20080,"_42873":25017,"_42875":20682,"_42877":6014,"_42879":2230,"_42881":2230,"_42883":25017,"_42885":6071,"_42887":2234,"_42889":13290,"_42891":2229,"_42893":18156,"_42895":3081,"_42897":6072,"_42899":2231,"_42901":3355,"_42903":3644,"_42905":12960,"_42907":18156,"_42909":3013,"_42911":20080,"_42913":2232,"_42915":2229,"_42917":2237,"_42919":3013,"_42921":3013,"_42923":2229,"_42925":2229,"_42927":2229,"_42929":2229,"_42931":2229,"_42933":2229,"_42935":3051,"_42937":21663,"_42939":2246,"_42941":3054,"_42943":2242,"_42945":2234,"_42947":2231,"_42949":18156,"_42951":13290,"_42953":3356,"_42955":9417,"_42957":3355,"_42959":14690,"_42961":5334,"_42963":4359,"_42965":2246,"_42967":7537,"_42969":2241,"_42971":3355,"_42973":20682,"_42975":20682,"_42977":2232,"_42979":2229,"_42981":6071,"_42983":6014,"_42985":3013,"_42987":2229,"_42989":20080,"_42991":20080,"_42993":20080,"_42995":2229,"_42997":2229,"_42999":5388,"_43001":13290,"_43003":6014,"_43005":13290,"_43007":18156,"_43009":28364,"_36684":6014,"_43012":18156,"_43014":18156,"_43016":20682,"_43018":5391,"_43020":3355,"_43022":6073,"_43024":3254,"_43026":4359,"_43028":3356,"_43030":3355,"_43032":2237,"_43034":21663,"_43036":6027,"_43038":2240,"_43040":2229,"_43042":3051,"_43044":2236,"_43046":4359,"_36678":2233,"_43049":7539,"_43051":20682,"_43053":2247,"_43055":6014,"_43057":31488,"_43059":2229,"_43061":20080,"_43063":6014,"_43065":3403,"_43067":7538,"_43069":3401,"_43071":14690,"_43073":13290,"_43075":25017,"_43077":2231,"_43079":28364,"_43081":25017,"_43083":13290,"_43085":3355,"_43087":2235,"_43089":2240,"_43091":3054,"_43093":5389,"_43095":2239,"_43097":20682,"_43099":28364,"_43101":5392,"_43103":4359,"_43105":6071,"_43107":2239,"_43109":21663,"_43111":2231,"_43113":21663,"_43115":25017,"_43117":25017,"_43119":25017,"_43121":2230,"_43123":25017,"_43125":13290,"_43127":6014,"_43129":2230,"_43131":20682,"_43133":13290,"_43135":13290,"_43137":13290,"_43139":2242,"_43141":20682,"_43143":2234,"_43145":6071,"_43147":2235,"_43149":6071,"_43151":2231,"_43153":12960,"_43155":2231,"_43157":2235,"_43159":5388,"_43161":2229,"_43163":5389,"_43165":3013,"_43167":2236,"_43169":2229,"_43171":20080,"_43173":2229,"_43175":3013,"_43177":13290,"_43179":2234,"_43181":3051,"_43183":7537,"_43185":3052,"_43187":3051,"_43189":2231,"_43191":4458,"_43193":6072,"_43195":2240,"_43197":2232,"_43199":2233,"_43201":3051,"_43203":3356,"_43205":3768,"_43207":12960,"_43209":2231,"_43211":3767,"_43213":2239,"_43215":3767,"_43217":3644,"_43219":3081,"_43221":3644,"_43223":3081,"_43225":18917,"_43227":3055,"_43229":18156,"_43231":2258,"_43234":5389,"_43236":7538,"_43238":3054,"_43240":6071,"_43242":3081,"_43244":5388,"_43246":6027,"_43248":6027,"_43250":2230,"_43252":2232,"_43254":21663,"_43256":21663,"_43258":2229,"_43260":2242,"_43262":2234,"_43264":6014,"_43266":3767,"_43268":2229,"_43270":2233,"_43272":20682,"_43274":6071,"_43276":2229,"_43278":20080,"_43280":5389,"_43282":2242,"_43284":5334,"_43286":2232,"_43288":3767,"_43290":2230,"_43292":25017,"_43294":3644,"_43296":2237,"_43298":18156,"_43300":12960,"_43302":28364,"_43304":20682,"_43306":20080,"_43308":3013,"_43310":2236,"_43312":2229,"_43314":2237,"_43316":7537,"_43318":3081,"_43320":2230,"_43322":3767,"_43324":31488,"_43326":3401,"_43328":3644,"_43330":3051,"_43332":5390,"_43334":2229,"_43336":3406,"_43339":2229,"_43341":2237,"_43343":3013,"_43345":3013,"_43347":2229,"_43349":2229,"_43351":3013,"_43353":6014,"_43355":2229,"_43357":6014,"_43359":2229,"_43361":6014,"_43363":20080,"_43365":20080,"_43367":3052,"_43369":2235,"_43371":6027,"_43373":3013,"_43375":2230,"_43377":2239,"_43379":13290,"_43381":5984,"_43383":2229,"_43385":7538,"_43387":3081,"_43389":3767,"_43391":2240,"_43393":6074,"_43396":7538,"_43398":3052,"_43400":3404,"_43402":2240,"_43404":3767,"_43406":7537,"_43408":4359,"_43410":13290,"_43412":2240,"_43414":5064,"_43416":3768,"_43418":6071,"_43420":2233,"_43422":2231,"_43424":18156,"_43426":2230,"_43428":2231,"_43430":2232,"_43432":21663,"_43434":21663,"_43436":21663,"_43438":2236,"_43440":28364,"_43442":20682,"_43444":13290,"_43446":2236,"_43448":31488,"_43450":7538,"_43452":3254,"_43454":2238,"_43456":7786,"_43458":8861,"_43461":2229,"_43463":3644,"_43465":6014,"_43467":3401,"_43469":28364,"_43471":2241,"_43473":2232,"_43475":25017,"_43477":2235,"_43479":2235,"_43481":3081,"_43483":2236,"_43485":2229,"_43487":2236,"_43489":6071,"_43491":5984,"_43493":2241,"_43495":2245,"_43497":3405,"_43499":3054,"_43501":2246,"_43503":2244,"_43505":2235,"_43507":6027,"_43509":20080,"_43511":6014,"_43513":2230,"_43515":25017,"_43517":2234,"_43519":3013,"_43521":2236,"_43523":20080,"_43525":7539,"_43527":3055,"_43529":36179,"_43531":3768,"_43533":5334,"_43535":2253,"_43537":36118,"_43539":2232,"_43541":2232,"_43543":25017,"_43545":28364,"_43547":2236,"_43549":18156,"_43551":2232,"_43553":7786,"_43555":6073,"_43557":3768,"_43559":2233,"_43561":2237,"_43563":36179,"_43565":3404,"_43567":2246,"_43569":3052,"_43571":9417,"_43573":2230,"_43575":3053,"_43577":6014,"_43579":25017,"_43581":2243,"_43583":2238,"_43585":2235,"_43587":6014,"_43589":18156,"_43591":6072,"_43593":3052,"_43595":3355,"_43597":12960,"_43599":2231,"_43601":7538,"_43603":13290,"_43605":3355,"_43607":5389,"_43609":4457,"_43611":3013,"_43613":6027,"_43615":20080,"_43617":20080,"_43619":2229,"_43621":13290,"_43623":13290,"_43625":2242,"_43627":7537,"_43629":7539,"_43631":9417,"_43633":5391,"_43635":3356,"_43637":5064,"_43639":28364,"_43641":2230,"_43643":18156,"_43645":28364,"_43647":2247,"_43649":7537,"_43651":18917,"_43653":2231,"_43655":2233,"_43657":2232,"_43659":28364,"_43661":6071,"_43663":2237,"_43665":2233,"_43667":6071,"_43669":3052,"_43671":4359,"_43673":2243,"_43675":20080,"_43677":3081,"_43679":28364,"_43681":13290,"_43683":18156,"_43685":3013,"_43687":2229,"_43689":3013,"_43691":2229,"_43693":3013,"_43695":13290,"_43697":2229,"_43699":20080,"_43701":2229,"_43703":2229,"_43705":3401,"_43707":18918,"_43709":3051,"_43711":3402,"_43713":4458,"_43715":2235,"_43717":2238,"_43719":2241,"_43721":2234,"_43723":2230,"_43725":3081,"_43727":3081,"_43729":3356,"_43731":2242,"_43733":3013,"_43735":3013,"_43737":20682,"_43739":13290,"_43741":20682,"_43743":13290,"_43745":13290,"_43747":2232,"_43749":13290,"_43751":2232,"_43753":2230,"_43755":2234,"_43757":25017,"_43759":20080,"_43761":3052,"_43763":2244,"_43765":2247,"_43767":36139,"_43769":2229,"_43771":6027,"_43773":3054,"_43775":2241,"_43777":2229,"_43779":6027,"_43781":21663,"_43783":12960,"_43785":2235,"_43787":2235,"_43789":2235,"_43791":2237,"_43793":3355,"_43795":20682,"_43797":5064,"_43799":25017,"_43801":3355,"_43803":2241,"_43805":2233,"_43807":6014,"_43809":6014,"_43811":5064,"_43813":5388,"_43815":3355,"_43817":3355,"_43819":2238,"_43821":12960,"_43823":6071,"_43825":2235,"_43827":28364,"_43829":3355,"_43831":2234,"_43833":3013,"_43835":5391,"_43837":2231,"_43839":2233,"_43841":3054,"_43843":2243,"_43845":3355,"_43847":3404,"_43849":2241,"_43851":2241,"_43853":7537,"_43855":3355,"_43857":3768,"_43859":8206,"_43861":6014,"_43863":2231,"_43865":2231,"_43867":2232,"_43869":6071,"_43871":20682,"_43873":21663,"_43875":2231,"_43877":31488,"_43879":3013,"_43881":2239,"_43883":2231,"_43885":2229,"_43887":2233,"_43889":20080,"_43891":2229,"_43893":3013,"_43895":20080,"_43897":2229,"_43899":3013,"_43901":3013,"_43903":3013,"_43905":3013,"_43907":3013,"_43909":3013,"_43911":3013,"_43913":3013,"_43915":3013,"_43917":2229,"_43919":3013,"_43921":2229,"_43923":2229,"_43925":2229,"_43927":2229,"_43929":20080,"_43931":2229,"_43933":2229,"_43935":2229,"_43937":2229,"_43939":2229,"_43941":2229,"_43943":2229,"_43945":2229,"_43947":2229,"_43949":2229,"_43951":2229,"_43953":2229,"_43955":20080,"_43957":2229,"_43959":2229,"_43961":2229,"_43963":2229,"_43965":2229,"_43967":2229,"_43969":2229,"_43971":2229,"_43973":3013,"_43975":3013,"_43977":2229,"_43979":3013,"_43981":3013,"_43983":3013,"_43985":2229,"_43987":3013,"_43989":3013,"_43991":3013,"_43993":3013,"_43995":3013,"_43997":3013,"_43999":3013,"_44001":2229,"_44003":3013,"_44005":3013,"_44007":3013,"_44009":20682,"_44011":2238,"_44013":3767,"_44015":2243,"_44017":3644,"_44019":2238,"_44021":2234,"_44023":5064,"_44025":20080,"_44027":28364,"_44029":21663,"_44031":2231,"_44033":2234,"_44035":3081,"_44037":5388,"_44039":5064,"_44041":13290,"_44043":18918,"_44045":2234,"_44047":2234,"_44049":5389,"_44051":5388,"_44053":18156,"_44055":3767,"_44057":2230,"_44059":2232,"_44061":18917,"_44063":3051,"_44065":3081,"_44067":2230,"_44069":6027,"_44071":7538,"_44073":2232,"_44075":18156,"_44077":2237,"_44079":21663,"_44081":2235,"_44083":20080,"_44085":20682,"_44087":28364,"_44089":20080,"_44091":13290,"_44093":2230,"_44095":2231,"_44097":3356,"_44099":6073,"_44101":3768,"_44103":2230,"_44105":2235,"_44107":2232,"_44109":28364,"_44111":2234,"_44113":5392,"_44115":2231,"_44117":5388,"_44119":3051,"_44121":31488,"_44123":18917,"_44125":2240,"_44127":2245,"_44129":2231,"_44131":3356,"_44133":5064,"_44135":18156,"_44137":2238,"_44139":2230,"_44141":2234,"_44143":2231,"_44145":2241,"_44147":3081,"_44149":6027,"_44151":3644,"_44153":2237,"_44155":18156,"_44157":28364,"_44159":21663,"_44161":9417,"_44163":12960,"_44165":2233,"_44167":3355,"_44169":3767,"_44171":21663,"_44173":5388,"_44175":5390,"_44177":2230,"_44179":5388,"_44181":3355,"_44183":2233,"_44185":2235,"_44187":12960,"_44189":2233,"_44191":12960,"_44193":2230,"_44195":18917,"_44197":7538,"_44199":20682,"_44201":3081,"_44203":2231,"_44205":2231,"_44207":5389,"_44209":2244,"_44211":2231,"_44213":18156,"_44215":18156,"_44217":2229,"_44219":25017,"_44221":2236,"_44223":3402,"_44225":2239,"_44227":2232,"_44229":18156,"_44231":2241,"_44233":2233,"_44235":6027,"_44237":3081,"_44239":18156,"_44241":2236,"_44243":5064,"_44245":3355,"_44247":2236,"_44249":28364,"_44251":20682,"_44253":2230,"_44255":25017,"_44257":25017,"_44259":28364,"_44261":2231,"_44263":20682,"_44265":20682,"_44267":20682,"_44269":20682,"_44271":18156,"_44273":21663,"_44275":21663,"_44277":2230,"_44279":2230,"_44281":5390,"_44283":20682,"_44285":13290,"_44287":13290,"_44289":25017,"_44291":28364,"_44293":2230,"_44295":28364,"_44297":28364,"_44299":20682,"_44301":21663,"_44303":13290,"_44305":18156,"_44307":28364,"_44309":21663,"_44311":13290,"_44313":25017,"_44315":25017,"_44317":25017,"_44319":20682,"_44321":6014,"_44323":13290,"_44325":3013,"_44327":2234,"_44329":20682,"_44331":2229,"_44333":25017,"_44335":20080,"_44337":20080,"_44339":6014,"_44341":3013,"_44343":2229,"_44345":3013,"_44347":3013,"_44349":3013,"_44351":3013,"_44353":20080,"_44355":3052,"_44357":3051,"_44359":3052,"_44361":18917,"_44363":6027,"_44365":5390,"_44367":5389,"_44369":5389,"_44371":2238,"_44373":3644,"_44375":2247,"_44377":2240,"_44379":2240,"_44381":6071,"_44383":5390,"_44385":3356,"_44387":3767,"_44389":2235,"_44391":18156,"_44393":3051,"_44395":3355,"_44397":2235,"_44399":3355,"_44401":21663,"_44403":6014,"_44405":20682,"_44407":20682,"_44409":25017,"_44411":20682,"_44413":20682,"_44415":3355,"_44417":31488,"_44419":3051,"_44421":7538,"_44423":7537,"_44425":3644,"_44427":18917,"_44429":2248,"_44431":2229,"_44433":2231,"_44435":13290,"_44437":5388,"_44439":25017,"_44441":20682,"_44443":6014,"_44445":25017,"_44447":6014,"_44449":7538,"_44451":3055,"_44453":6073,"_44455":6027,"_44457":3013,"_44459":2237,"_44461":2229,"_44463":6014,"_44465":2229,"_44467":2229,"_44469":3013,"_44471":3013,"_44473":2229,"_44475":3013,"_44477":3013,"_44479":2229,"_44481":13290,"_44483":13290,"_44485":3081,"_44487":21663,"_44489":3081,"_44491":3081,"_44493":31488,"_44495":5984,"_44497":7537,"_44499":2238,"_44501":3081,"_44503":2245,"_44505":2233,"_44507":21663,"_44509":2238,"_44511":6071,"_44513":2253,"_44515":3404,"_44517":25017,"_44519":2237,"_44521":2234,"_44523":7540,"_44525":3355,"_44527":21663,"_44529":18156,"_44531":2244,"_44533":5334,"_44535":7786,"_44537":18917,"_44539":21663,"_44541":2232,"_44543":2232,"_44545":2234,"_44547":3081,"_44549":2233,"_44551":3051,"_44553":2244,"_44555":21663,"_44557":2235,"_44559":5388,"_16417":7537,"_44562":5388,"_44564":2233,"_44566":6260,"_44568":18917,"_44570":2248,"_44572":18156,"_44574":3053,"_44576":3054,"_44578":5392,"_44580":3355,"_44582":3768,"_44584":3404,"_44586":2250,"_44588":2236,"_16490":3403,"_44591":6071,"_44593":2230,"_44595":2230,"_44597":6014,"_44599":2232,"_44601":28364,"_44603":25017,"_44605":3081,"_44607":20080,"_44609":25017,"_44611":2232,"_44613":2229,"_44615":2229,"_44617":2230,"_44619":13290,"_44621":3013,"_44623":3013,"_44625":2229,"_44627":20080,"_44629":20080,"_44631":20080,"_44633":20080,"_44635":2229,"_44637":2246,"_44639":20682,"_44641":2234,"_44643":6027,"_44645":2233,"_44647":2235,"_44649":3356,"_44651":6071,"_44653":3081,"_44655":28364,"_44657":18156,"_44659":3767,"_44661":3356,"_44663":6027,"_44665":2234,"_44667":2231,"_44669":20682,"_44671":28364,"_44673":2236,"_44675":5388,"_44677":3355,"_44679":2230,"_44681":21663,"_44683":2234,"_44685":2233,"_44687":2232,"_44689":20682,"_44691":2230,"_44693":7538,"_44695":3356,"_44697":2229,"_44699":18156,"_44701":3401,"_44703":12960,"_44705":3767,"_44707":2238,"_44709":3051,"_44711":5391,"_44713":2229,"_44715":3402,"_44717":14690,"_44719":2239,"_44721":2232,"_44723":2240,"_44725":2229,"_44727":3081,"_44729":28364,"_44731":3013,"_44733":3013,"_44735":3013,"_44737":3013,"_44739":3013,"_36662":28364,"_44742":2229,"_44744":3013,"_44746":2229,"_44748":3013,"_44750":3013,"_44752":20682,"_44754":3013,"_44756":2229,"_37339":3013,"_44759":3013,"_44761":3013,"_44763":28364,"_44765":3013,"_44767":3013,"_44769":3013,"_44771":3013,"_37329":28364,"_44774":3013,"_44776":3013,"_44778":28364,"_37349":3013,"_44781":3013,"_44783":2229,"_37365":3013,"_44786":3013,"_44788":3013,"_37354":3013,"_44791":2231,"_44793":13290,"_44795":2230,"_44797":2230,"_44799":28364,"_44801":2234,"_44803":2230,"_44805":2230,"_44807":28364,"_44809":2231,"_44811":28364,"_44813":25017,"_44815":18156,"_44817":21663,"_44819":20682,"_44821":2230,"_44823":2232,"_44825":6027,"_44827":2235,"_44829":3051,"_44831":3767,"_44833":6071,"_44835":28364,"_44837":20682,"_44839":21663,"_44841":20682,"_44843":2230,"_44845":28364,"_44847":20682,"_16496":2231,"_44850":21663,"_44852":20682,"_44854":2230,"_44856":20682,"_44858":18156,"_44860":2232,"_44862":2232,"_44864":2230,"_44866":2233,"_44868":21663,"_44870":2231,"_44872":2234,"_44874":21663,"_44876":2230,"_44878":2231,"_44880":28364,"_44882":2232,"_44884":2233,"_44886":18156,"_44888":18156,"_44890":18156,"_44892":18156,"_44894":2230,"_44896":18156,"_44898":2232,"_44900":21663,"_44902":2230,"_44904":21663,"_44906":18156,"_44908":28364,"_44910":28364,"_44912":25017,"_44914":13290,"_44916":2234,"_44918":2235,"_44920":18156,"_44922":2230,"_44924":28364,"_44926":18156,"_44928":2237,"_44930":2234,"_44932":18156,"_44934":18156,"_44936":2231,"_44938":20682,"_44940":28364,"_44942":2230,"_44944":20682,"_44946":21663,"_44948":2230,"_44950":2234,"_44952":28364,"_44954":18156,"_44956":2236,"_44958":2232,"_44960":2233,"_44962":2233,"_44964":2230,"_44966":2231,"_44968":28364,"_44970":28364,"_44972":18156,"_44974":21663,"_44976":13290,"_44978":2230,"_44980":18156,"_44982":18156,"_44984":13290,"_44986":13290,"_44988":2232,"_44990":25017,"_44992":13290,"_44994":25017,"_44996":2233,"_44998":18156,"_45000":25017,"_45002":21663,"_45004":21663,"_45006":18156,"_45008":18156,"_45010":28364,"_45012":2234,"_45014":18156,"_45016":18156,"_45018":25017,"_45020":13290,"_45022":21663,"_45024":28364,"_45026":20682,"_45028":2232,"_45030":2232,"_45032":2230,"_45034":21663,"_45036":28364,"_45038":18156,"_45040":2232,"_45042":2230,"_45044":25017,"_45046":18156,"_45048":2235,"_45050":21663,"_45052":28364,"_45054":2233,"_45056":21663,"_45058":20682,"_45060":25017,"_45062":20682,"_45064":20682,"_45066":21663,"_45068":25017,"_45070":18156,"_45072":21663,"_45074":21663,"_45076":25017,"_45078":2232,"_45080":28364,"_45082":25017,"_45084":21663,"_45086":2231,"_45088":25017,"_45090":20682,"_45092":13290,"_45094":2234,"_45096":21663,"_45098":2231,"_45100":2230,"_45102":2230,"_45104":2233,"_45106":28364,"_45108":2231,"_45110":18156,"_45112":2230,"_37455":13290,"_45115":21663,"_45117":2233,"_45119":21663,"_45121":20682,"_45123":2231,"_45125":13290,"_45127":2230,"_45129":2231,"_45131":28364,"_45133":21663,"_45135":28364,"_45137":21663,"_45139":2232},{"_6884":6014,"_5968":6014,"_11313":6014,"_11353":6014,"_11327":6014,"_11320":6014,"_11346":6014,"_11375":6014,"_11306":6014,"_36123":6014,"_11342":6014,"_36627":6014,"_36749":6014,"_36700":6014,"_11445":6014,"_12197":6014,"_36739":6014,"_36759":6014,"_12027":6014,"_11889":6014,"_37450":6014,"_12203":6014,"_40818":6014,"_36616":6014,"_36046":6014,"_36685":6014,"_12270":6014,"_37480":6014,"_12512":6014,"_35574":6014,"_35645":6014,"_35619":6014,"_12054":6014,"_35635":6014,"_35650":6014,"_12102":6014,"_35655":6014,"_11406":6014,"_11866":6014,"_12080":6014,"_40847":6014,"_40849":6014,"_40851":6014,"_40854":6014,"_36679":6014,"_40857":6014,"_11356":6014,"_40862":6014,"_12471":6014,"_36302":6014,"_12518":6014,"_11438":6014,"_37112":6014,"_40872":6014,"_40874":6014,"_40876":6014,"_40879":6014,"_37107":6014,"_37102":6014,"_11469":6014,"_40886":6014,"_40889":6014,"_40891":6014,"_30746":6014,"_40894":6014,"_40897":6014,"_40899":6014,"_40902":6014,"_40904":6014,"_40906":6014,"_40909":6014,"_40912":6014,"_40914":6014,"_11485":6014,"_40918":6014,"_36784":6014,"_40921":6014,"_11684":6014,"_11349":6014,"_36838":6014,"_37456":6014,"_12393":6014,"_40929":6014,"_40931":6014,"_40933":6014,"_36853":6014,"_40936":6014,"_11378":6014,"_12108":6014,"_35688":6014,"_36663":6014,"_40943":6014,"_40945":6014,"_37626":6014,"_40948":6014,"_11421":6014,"_40951":6014,"_40953":6014,"_12125":6014,"_36130":6014,"_40958":6014,"_40960":6014,"_40963":6014,"_40965":6014,"_40967":6014,"_40969":6014,"_40971":6014,"_11336":6014,"_40974":6014,"_40976":6014,"_40978":6014,"_40980":6014,"_40982":6014,"_40985":6014,"_16358":6014,"_40988":6014,"_40990":6014,"_40992":6014,"_40994":6014,"_40996":6014,"_40998":6014,"_41001":6014,"_41003":6014,"_41005":6014,"_41007":6014,"_41010":6014,"_36637":6014,"_36632":6014,"_41015":6014,"_36754":6014,"_41019":6014,"_41021":6014,"_41023":6014,"_41025":6014,"_41027":6014,"_41029":6014,"_41031":6014,"_41033":6014,"_41035":6014,"_41037":6014,"_41039":6014,"_41041":6014,"_41043":6014,"_41046":6014,"_41048":6014,"_41050":6014,"_41052":6014,"_41054":6014,"_41057":6014,"_41059":6014,"_41061":6014,"_41063":6014,"_41065":6014,"_41067":6014,"_41069":6014,"_41071":6014,"_41073":6014,"_41075":6014,"_41077":6014,"_41079":6014,"_41081":6014,"_41083":6014,"_41085":6014,"_41087":6014,"_41089":6014,"_41091":6014,"_41093":6014,"_36725":6014,"_41096":6014,"_41098":6014,"_41100":6014,"_36744":6014,"_41103":6014,"_41105":6014,"_41108":6014,"_41110":6014,"_41112":6014,"_41114":6014,"_41116":6014,"_41118":6014,"_41120":6014,"_41122":6014,"_41124":6014,"_41126":6014,"_41128":6014,"_41130":6014,"_41132":6014,"_41134":6014,"_41136":6014,"_41138":6014,"_41140":6014,"_36651":6014,"_41145":6014,"_36646":6014,"_41149":6014,"_41151":6014,"_41153":6014,"_41155":6014,"_41157":6014,"_16474":6014,"_37344":6014,"_35538":6014,"_41164":6014,"_41166":6014,"_41169":6014,"_41171":6014,"_41173":6014,"_41176":6014,"_41178":6014,"_41180":6014,"_41183":6014,"_41186":6014,"_41188":6014,"_41190":6014,"_41192":6014,"_41194":6014,"_41197":6014,"_41199":6014,"_41201":6014,"_41203":6014,"_41206":6014,"_41208":6014,"_41210":6014,"_41212":6014,"_41214":6014,"_41216":6014,"_41218":6014,"_41220":6014,"_41222":6014,"_41224":6014,"_41226":6014,"_41228":6014,"_41230":6014,"_41232":6014,"_41234":6014,"_41236":6014,"_41238":6014,"_41240":6014,"_41242":6014,"_41244":6014,"_41246":6014,"_41248":6014,"_41250":6014,"_41252":6014,"_41254":6014,"_41256":6014,"_41258":6014,"_41260":6014,"_41262":6014,"_37379":6014,"_41266":6014,"_41268":6014,"_41270":6014,"_37384":6014,"_37374":6014,"_22897":6014,"_41275":6014,"_41277":6014,"_41279":6014,"_41281":6014,"_41283":6014,"_41285":6014,"_41287":6014,"_41290":6014,"_41292":6014,"_41294":6014,"_41296":6014,"_41298":6014,"_41300":6014,"_41302":6014,"_41305":6014,"_41307":6014,"_41309":6014,"_41311":6014,"_41313":6014,"_41315":6014,"_41317":6014,"_41319":6014,"_41321":6014,"_41323":6014,"_41325":6014,"_41327":6014,"_41329":6014,"_41331":6014,"_41333":6014,"_41335":6014,"_41337":6014,"_37485":6014,"_41340":6014,"_41342":6014,"_41344":6014,"_41346":6014,"_41349":6014,"_41351":6014,"_41353":6014,"_41355":6014,"_41357":6014,"_41359":6014,"_41362":6014,"_35589":6014,"_41365":6014,"_41367":6014,"_41369":6014,"_35579":6014,"_41372":6014,"_41375":6014,"_41378":6014,"_41380":6014,"_41383":6014,"_41386":6014,"_41388":6014,"_41390":6014,"_41392":6014,"_41394":6014,"_41396":6014,"_41398":6014,"_41401":6014,"_41404":6014,"_41406":6014,"_11390":6014,"_41409":6014,"_41411":6014,"_41413":6014,"_41415":6014,"_35624":6014,"_41418":6014,"_41420":6014,"_41422":6014,"_41424":6014,"_41426":6014,"_41428":6014,"_11316":6014,"_41432":6014,"_41434":6014,"_41436":6014,"_41438":6014,"_41440":6014,"_41442":6014,"_41444":6014,"_35640":6014,"_41447":6014,"_41449":6014,"_41451":6014,"_41453":6014,"_41455":6014,"_41457":6014,"_41459":6014,"_41461":6014,"_41463":6014,"_41465":6014,"_41467":6014,"_41469":6014,"_41471":6014,"_41473":6014,"_41475":6014,"_41477":6014,"_41479":6014,"_41481":6014,"_41483":6014,"_41485":6014,"_41487":6014,"_41489":6014,"_41491":6014,"_41493":6014,"_41495":6014,"_41497":6014,"_41499":6014,"_41501":6014,"_41503":6014,"_41505":6014,"_41507":6014,"_41509":6014,"_41511":6014,"_41514":6014,"_41516":6014,"_41518":6014,"_41520":6014,"_41522":6014,"_41524":6014,"_41526":6014,"_41528":6014,"_41530":6014,"_41532":6014,"_22920":6014,"_41536":6014,"_41538":6014,"_41540":6014,"_35672":6014,"_41543":6014,"_41545":6014,"_41547":6014,"_41549":6014,"_41551":6014,"_41553":6014,"_41555":6014,"_41557":6014,"_41559":6014,"_41561":6014,"_41563":6014,"_36040":6014,"_41566":6014,"_41568":6014,"_41571":6014,"_41573":6014,"_41575":6014,"_41577":6014,"_41580":6014,"_41582":6014,"_41584":6014,"_41586":6014,"_41588":6014,"_41590":6014,"_41592":6014,"_41595":6014,"_41597":6014,"_41599":6014,"_41601":6014,"_41603":6014,"_41605":6014,"_41608":6014,"_41610":6014,"_41612":6014,"_41614":6014,"_41616":6014,"_36045":6014,"_41619":6014,"_41621":6014,"_41623":6014,"_41625":6014,"_41627":6014,"_41629":6014,"_41631":6014,"_41633":6014,"_41635":6014,"_41637":6014,"_41639":6014,"_36051":6014,"_41642":6014,"_41644":6014,"_41646":6014,"_41648":6014,"_41650":6014,"_41652":6014,"_41654":6014,"_41656":6014,"_41658":6014,"_41660":6014,"_41662":6014,"_41665":6014,"_41668":6014,"_41670":6014,"_41672":6014,"_41675":6014,"_41677":6014,"_41679":6014,"_41681":6014,"_41683":6014,"_41685":6014,"_41687":6014,"_41689":6014,"_41691":6014,"_41693":6014,"_41695":6014,"_41697":6014,"_41699":6014,"_41701":6014,"_41703":6014,"_41705":6014,"_41707":6014,"_41709":6014,"_41711":6014,"_41713":6014,"_41715":6014,"_41717":6014,"_41719":6014,"_41721":6014,"_41723":6014,"_41725":6014,"_41727":6014,"_41729":6014,"_41731":6014,"_41733":6014,"_41735":6014,"_41737":6014,"_41739":6014,"_11427":6014,"_41742":6014,"_41744":6014,"_41746":6014,"_41748":6014,"_41750":6014,"_41752":6014,"_41754":6014,"_41756":6014,"_41758":6014,"_41760":6014,"_41762":6014,"_41764":6014,"_41766":6014,"_37087":6014,"_12612":6014,"_41770":6014,"_41772":6014,"_41774":6014,"_41776":6014,"_41778":6014,"_41780":6014,"_41782":6014,"_41784":6014,"_41786":6014,"_41788":6014,"_41790":6014,"_41792":6014,"_41794":6014,"_41796":6014,"_41798":6014,"_41800":6014,"_41802":6014,"_41804":6014,"_41806":6014,"_41808":6014,"_41810":6014,"_41812":6014,"_41814":6014,"_41816":6014,"_41818":6014,"_41820":6014,"_41822":6014,"_41824":6014,"_41826":6014,"_41828":6014,"_41830":6014,"_41832":6014,"_41834":6014,"_41836":6014,"_41838":6014,"_41840":6014,"_41842":6014,"_41844":6014,"_41846":20080,"_41848":20080,"_41850":20080,"_41852":20080,"_41854":20080,"_36062":20080,"_41857":20080,"_41859":20080,"_41861":20080,"_41863":20080,"_41865":20080,"_41867":20080,"_41869":20080,"_41871":20080,"_41873":20080,"_41875":20080,"_41877":20080,"_41879":20080,"_41881":20080,"_41883":20080,"_41885":20080,"_41887":20080,"_41889":20080,"_41891":20080,"_41893":20080,"_41895":20080,"_41897":20080,"_41899":20080,"_41901":20080,"_41903":20080,"_41905":20080,"_41907":20080,"_41909":20080,"_41911":20080,"_41913":20080,"_11384":20080,"_41916":20080,"_41918":20080,"_41920":20080,"_41922":20080,"_41924":20080,"_41926":20080,"_41928":20080,"_41930":20080,"_41932":20080,"_41934":20080,"_16423":20080,"_41937":20080,"_41939":20080,"_41941":20080,"_11330":20080,"_41944":20080,"_41946":20080,"_41948":20080,"_41950":20080,"_41952":20080,"_41954":20080,"_41956":20080,"_41958":20080,"_41960":20080,"_41962":20080,"_41964":20080,"_41966":20080,"_41968":20080,"_41970":20080,"_41972":20080,"_41974":20080,"_41976":20080,"_41978":20080,"_41980":20080,"_41982":20080,"_41984":20080,"_41986":20080,"_41988":20080,"_41990":20080,"_41992":20080,"_41994":20080,"_41996":20080,"_41998":20080,"_42000":20080,"_42002":20080,"_42004":20080,"_42006":20080,"_11323":20080,"_42009":20080,"_42011":20080,"_42013":20080,"_42015":20080,"_42017":20080,"_42019":20080,"_42021":20080,"_42023":20080,"_42025":20080,"_42027":20080,"_42029":20080,"_42031":20080,"_42033":20080,"_42035":20080,"_42037":20080,"_42039":20080,"_42041":20080,"_42043":20080,"_42045":20080,"_42047":20080,"_42049":20080,"_42051":20080,"_42053":20080,"_42055":20080,"_42057":20080,"_42059":20080,"_42061":20080,"_42063":20080,"_42065":20080,"_42067":20080,"_42069":20080,"_42071":20080,"_42073":20080,"_42075":20080,"_42077":20080,"_42079":20080,"_42081":20080,"_42083":20080,"_42085":20080,"_42087":20080,"_42089":20080,"_42091":20080,"_42093":20080,"_42095":20080,"_42097":20080,"_42099":20080,"_42101":20080,"_42103":20080,"_42105":20080,"_42107":20080,"_42109":20080,"_42111":20080,"_42114":20080,"_42116":20080,"_42118":20080,"_42120":20080,"_42122":20080,"_42124":20080,"_42126":20080,"_42128":20080,"_42130":20080,"_42132":20080,"_42134":20080,"_42136":20080,"_42139":20080,"_42141":20080,"_42143":20080,"_42146":20080,"_42148":20080,"_42151":20080,"_42153":20080,"_42155":20080,"_42157":20080,"_42159":20080,"_42161":20080,"_42163":20080,"_42165":20080,"_42167":20080,"_42169":20080,"_42171":20080,"_42173":20080,"_42175":20080,"_42177":20080,"_42180":20080,"_42182":20080,"_42184":20080,"_42186":20080,"_42188":20080,"_42190":20080,"_42192":20080,"_42194":20080,"_42196":20080,"_42198":20080,"_42200":20080,"_42202":20080,"_42204":20080,"_42206":20080,"_42208":20080,"_42210":20080,"_42212":20080,"_42214":20080,"_42216":20080,"_42218":20080,"_42220":20080,"_42222":20080,"_42224":20080,"_42227":20080,"_11451":20080,"_42231":20080,"_42233":20080,"_42235":20080,"_42237":20080,"_42239":20080,"_42241":20080,"_42243":20080,"_42245":20080,"_42247":20080,"_42249":20080,"_42251":20080,"_42253":20080,"_42255":20080,"_42257":20080,"_42259":20080,"_42261":20080,"_42263":20080,"_42265":20080,"_42267":20080,"_42269":20080,"_42271":20080,"_42273":20080,"_42275":20080,"_42277":20080,"_42279":20080,"_42281":20080,"_42283":20080,"_42285":20080,"_42287":20080,"_42289":20080,"_42291":20080,"_42293":20080,"_42295":20080,"_42297":20080,"_42299":20080,"_42301":20080,"_42303":20080,"_42305":20080,"_42307":20080,"_42309":20080,"_42311":20080,"_42313":20080,"_42315":20080,"_42317":20080,"_42319":20080,"_42321":20080,"_42323":20080,"_42325":20080,"_42327":20080,"_42329":20080,"_42331":20080,"_42333":20080,"_12529":20080,"_42336":20080,"_42338":20080,"_42340":20080,"_42342":20080,"_42344":20080,"_42346":20080,"_37445":20080,"_42349":20080,"_42351":20080,"_42353":20080,"_42355":20080,"_42357":20080,"_42359":20080,"_42361":20080,"_42363":20080,"_35029":20080,"_42366":20080,"_42368":20080,"_42370":20080,"_42372":20080,"_42374":20080,"_42376":20080,"_42378":20080,"_42380":20080,"_42382":20080,"_42384":20080,"_42386":20080,"_42388":20080,"_42390":20080,"_42392":20080,"_42394":20080,"_42396":20080,"_42398":20080,"_42400":20080,"_42402":20080,"_42404":20080,"_42406":20080,"_42408":20080,"_42410":20080,"_42412":20080,"_42414":20080,"_42416":20080,"_42418":20080,"_42420":20080,"_42422":20080,"_42424":20080,"_42426":20080,"_42428":20080,"_42430":20080,"_42432":20080,"_42434":20080,"_42436":20080,"_42438":20080,"_42440":20080,"_42442":20080,"_42444":20080,"_42446":20080,"_12606":20080,"_42449":20080,"_42451":20080,"_42453":20080,"_42455":20080,"_42457":20080,"_42459":20080,"_42461":20080,"_42463":20080,"_42465":20080,"_42467":20080,"_42469":20080,"_42471":20080,"_42473":20080,"_42475":20080,"_42477":20080,"_42479":20080,"_42481":20080,"_42483":20080,"_42485":20080,"_42487":20080,"_42489":20080,"_42491":20080,"_42493":20080,"_42495":20080,"_42497":20080,"_42499":20080,"_42501":20080,"_42503":20080,"_42505":20080,"_42507":20080,"_42509":20080,"_42511":20080,"_42513":20080,"_42515":20080,"_42517":20080,"_42519":20080,"_42521":20080,"_42523":20080,"_42525":20080,"_42527":20080,"_42529":20080,"_42531":20080,"_42533":20080,"_42535":20080,"_42537":20080,"_42539":20080,"_42541":20080,"_42543":20080,"_42545":20080,"_42547":20080,"_42549":20080,"_42551":20080,"_42553":20080,"_42555":20080,"_42557":20080,"_42559":20080,"_42561":20080,"_42563":20080,"_11309":20080,"_42566":20080,"_42568":20080,"_42570":20080,"_42572":20080,"_42574":20080,"_42576":20080,"_42578":20080,"_42580":20080,"_12634":20080,"_42583":20080,"_42585":20080,"_42587":20080,"_42589":20080,"_42591":20080,"_42593":20080,"_42595":20080,"_42597":20080,"_42599":20080,"_42601":20080,"_42603":20080,"_42605":20080,"_42607":20080,"_42609":20080,"_42611":20080,"_42613":20080,"_42615":20080,"_42617":20080,"_42619":20080,"_42621":20080,"_42623":20080,"_42625":20080,"_42627":20080,"_42629":20080,"_42631":20080,"_42633":20080,"_42635":20080,"_42637":20080,"_42639":20080,"_42641":20080,"_42643":20080,"_42645":20080,"_42647":20080,"_42649":20080,"_42651":20080,"_42653":20080,"_42655":20080,"_42657":20080,"_42659":20080,"_42661":20080,"_42663":20080,"_42665":20080,"_42667":20080,"_42669":20080,"_42671":20080,"_42673":20080,"_42675":20080,"_42677":20080,"_42679":20080,"_42681":20080,"_42683":20080,"_42685":20080,"_42687":20080,"_42689":20080,"_42691":20080,"_42693":20080,"_42695":20080,"_42697":20080,"_42699":20080,"_42701":20080,"_42703":20080,"_42705":20080,"_42707":20080,"_42709":20080,"_42711":20080,"_42713":20080,"_42715":20080,"_42717":20080,"_42719":20080,"_42721":20080,"_42723":20080,"_42725":20080,"_42727":20080,"_42729":20080,"_42731":20080,"_42733":20080,"_42735":20080,"_42737":20080,"_42739":20080,"_42741":20080,"_42743":20080,"_42745":20080,"_42747":20080,"_42749":20080,"_42751":20080,"_42753":20080,"_42755":20080,"_42757":20080,"_42759":20080,"_36137":20080,"_42762":20080,"_42764":20080,"_42766":20080,"_42768":20080,"_42770":20080,"_42772":20080,"_42774":20080,"_42776":20080,"_42778":20080,"_42780":20080,"_42782":20080,"_42784":20080,"_42786":20080,"_42788":20080,"_42790":20080,"_42792":20080,"_42794":20080,"_42796":20080,"_42798":20080,"_42800":20080,"_42802":20080,"_42804":20080,"_42806":20080,"_36615":20080,"_42809":20080,"_42811":20080,"_42813":20080,"_42815":20080,"_42817":20080,"_42819":20080,"_42821":20080,"_42823":20080,"_42825":20080,"_42827":20080,"_42829":20080,"_42831":20080,"_42833":20080,"_42835":20080,"_42837":20080,"_42839":20080,"_42841":20080,"_42843":20080,"_42845":20080,"_42847":20080,"_42849":20080,"_42851":20080,"_42853":20080,"_42855":20080,"_42857":20080,"_42859":20080,"_42861":20080,"_42863":20080,"_42865":20080,"_42867":20080,"_42869":20080,"_42871":20080,"_42873":20080,"_42875":20080,"_42877":20080,"_42879":20080,"_42881":20080,"_42883":20080,"_42885":20080,"_42887":20080,"_42889":20080,"_42891":20080,"_42893":20080,"_42895":20080,"_42897":20080,"_42899":20080,"_42901":20080,"_42903":20080,"_42905":20080,"_42907":20080,"_42909":20080,"_42911":20080,"_42913":20080,"_42915":20080,"_42917":20080,"_42919":20080,"_42921":20080,"_42923":20080,"_42925":20080,"_42927":20080,"_42929":20080,"_42931":20080,"_42933":20080,"_42935":20080,"_42937":20080,"_42939":20080,"_42941":20080,"_42943":20080,"_42945":20080,"_42947":20080,"_42949":20080,"_42951":20080,"_42953":20080,"_42955":20080,"_42957":20080,"_42959":20080,"_42961":20080,"_42963":20080,"_42965":20080,"_42967":20080,"_42969":20080,"_42971":20080,"_42973":20080,"_42975":20080,"_42977":20080,"_42979":20080,"_42981":20080,"_42983":20080,"_42985":20080,"_42987":20080,"_42989":20080,"_42991":20080,"_42993":20080,"_42995":20080,"_42997":20080,"_42999":20080,"_43001":20080,"_43003":20080,"_43005":20080,"_43007":20080,"_43009":20080,"_36684":20080,"_43012":20080,"_43014":20080,"_43016":20080,"_43018":20080,"_43020":20080,"_43022":20080,"_43024":20080,"_43026":20080,"_43028":20080,"_43030":20080,"_43032":20080,"_43034":20080,"_43036":20080,"_43038":20080,"_43040":20080,"_43042":20080,"_43044":20080,"_43046":20080,"_36678":20080,"_43049":20080,"_43051":20080,"_43053":20080,"_43055":6014,"_43057":6014,"_43059":6014,"_43061":6014,"_43063":6014,"_43065":6014,"_43067":6014,"_43069":6014,"_43071":6014,"_43073":6014,"_43075":6014,"_43077":6014,"_43079":6014,"_43081":6014,"_43083":6014,"_43085":6014,"_43087":6014,"_43089":6014,"_43091":6014,"_43093":6014,"_43095":6014,"_43097":6014,"_43099":6014,"_43101":6014,"_43103":6014,"_43105":6014,"_43107":6014,"_43109":6014,"_43111":6014,"_43113":6014,"_43115":6014,"_43117":6014,"_43119":6014,"_43121":6014,"_43123":6014,"_43125":6014,"_43127":6014,"_43129":6014,"_43131":6014,"_43133":6014,"_43135":6014,"_43137":6014,"_43139":6014,"_43141":6014,"_43143":6014,"_43145":6014,"_43147":6014,"_43149":6014,"_43151":6014,"_43153":6014,"_43155":6014,"_43157":6014,"_43159":6014,"_43161":6014,"_43163":6014,"_43165":6014,"_43167":6014,"_43169":6014,"_43171":6014,"_43173":6014,"_43175":6014,"_43177":6014,"_43179":6014,"_43181":6014,"_43183":6014,"_43185":6014,"_43187":6014,"_43189":6014,"_43191":6014,"_43193":6014,"_43195":6014,"_43197":6014,"_43199":6014,"_43201":6014,"_43203":6014,"_43205":6014,"_43207":6014,"_43209":6014,"_43211":6014,"_43213":6014,"_43215":6014,"_43217":6014,"_43219":6014,"_43221":6014,"_43223":6014,"_43225":6014,"_43227":6014,"_43229":6014,"_43231":6014,"_43234":6014,"_43236":6014,"_43238":6014,"_43240":6014,"_43242":6014,"_43244":6014,"_43246":6014,"_43248":6014,"_43250":6014,"_43252":6014,"_43254":6014,"_43256":6014,"_43258":6014,"_43260":6014,"_43262":6014,"_43264":6014,"_43266":6014,"_43268":6014,"_43270":6014,"_43272":6014,"_43274":6014,"_43276":6014,"_43278":6014,"_43280":6014,"_43282":6014,"_43284":6014,"_43286":6014,"_43288":6014,"_43290":6014,"_43292":6014,"_43294":6014,"_43296":6014,"_43298":6014,"_43300":6014,"_43302":6014,"_43304":6014,"_43306":6014,"_43308":6014,"_43310":6014,"_43312":6014,"_43314":6014,"_43316":6014,"_43318":6014,"_43320":6014,"_43322":6014,"_43324":6014,"_43326":6014,"_43328":6014,"_43330":6014,"_43332":6014,"_43334":6014,"_43336":6014,"_43339":6014,"_43341":6014,"_43343":6014,"_43345":6014,"_43347":6014,"_43349":6014,"_43351":6014,"_43353":6014,"_43355":6014,"_43357":6014,"_43359":6014,"_43361":6014,"_43363":6014,"_43365":6014,"_43367":6014,"_43369":6014,"_43371":6014,"_43373":6014,"_43375":6014,"_43377":6014,"_43379":6014,"_43381":6014,"_43383":6014,"_43385":6014,"_43387":6014,"_43389":6014,"_43391":6014,"_43393":6014,"_43396":6014,"_43398":6014,"_43400":6014,"_43402":6014,"_43404":6014,"_43406":6014,"_43408":6014,"_43410":6014,"_43412":6014,"_43414":6014,"_43416":6014,"_43418":6014,"_43420":6014,"_43422":6014,"_43424":6014,"_43426":6014,"_43428":6014,"_43430":6014,"_43432":6014,"_43434":6014,"_43436":6014,"_43438":6014,"_43440":6014,"_43442":6014,"_43444":6014,"_43446":6014,"_43448":6014,"_43450":6014,"_43452":6014,"_43454":6014,"_43456":6014,"_43458":6014,"_43461":20080,"_43463":20080,"_43465":20080,"_43467":20080,"_43469":20080,"_43471":20080,"_43473":20080,"_43475":20080,"_43477":20080,"_43479":20080,"_43481":20080,"_43483":20080,"_43485":6014,"_43487":6014,"_43489":6014,"_43491":6014,"_43493":6014,"_43495":6014,"_43497":6014,"_43499":6014,"_43501":6014,"_43503":6014,"_43505":6014,"_43507":6014,"_43509":6014,"_43511":6014,"_43513":6014,"_43515":6014,"_43517":6014,"_43519":6014,"_43521":6014,"_43523":6014,"_43525":6014,"_43527":6014,"_43529":6014,"_43531":6014,"_43533":6014,"_43535":6014,"_43537":6014,"_43539":6014,"_43541":6014,"_43543":6014,"_43545":6014,"_43547":6014,"_43549":6014,"_43551":6014,"_43553":6014,"_43555":6014,"_43557":6014,"_43559":6014,"_43561":6014,"_43563":6014,"_43565":6014,"_43567":6014,"_43569":6014,"_43571":6014,"_43573":6014,"_43575":6014,"_43577":6014,"_43579":6014,"_43581":6014,"_43583":6014,"_43585":6014,"_43587":6014,"_43589":6014,"_43591":6014,"_43593":6014,"_43595":6014,"_43597":6014,"_43599":6014,"_43601":6014,"_43603":6014,"_43605":6014,"_43607":6014,"_43609":6014,"_43611":6014,"_43613":6014,"_43615":6014,"_43617":6014,"_43619":6014,"_43621":6014,"_43623":6014,"_43625":6014,"_43627":6014,"_43629":6014,"_43631":6014,"_43633":6014,"_43635":6014,"_43637":6014,"_43639":6014,"_43641":6014,"_43643":6014,"_43645":6014,"_43647":6014,"_43649":6014,"_43651":6014,"_43653":6014,"_43655":6014,"_43657":6014,"_43659":6014,"_43661":6014,"_43663":6014,"_43665":6014,"_43667":6014,"_43669":6014,"_43671":6014,"_43673":6014,"_43675":20080,"_43677":20080,"_43679":20080,"_43681":20080,"_43683":20080,"_43685":20080,"_43687":20080,"_43689":20080,"_43691":20080,"_43693":20080,"_43695":20080,"_43697":20080,"_43699":20080,"_43701":20080,"_43703":20080,"_43705":20080,"_43707":20080,"_43709":20080,"_43711":20080,"_43713":20080,"_43715":20080,"_43717":20080,"_43719":20080,"_43721":20080,"_43723":20080,"_43725":20080,"_43727":20080,"_43729":20080,"_43731":20080,"_43733":20080,"_43735":20080,"_43737":20080,"_43739":20080,"_43741":20080,"_43743":20080,"_43745":20080,"_43747":20080,"_43749":20080,"_43751":20080,"_43753":20080,"_43755":20080,"_43757":20080,"_43759":20080,"_43761":20080,"_43763":20080,"_43765":20080,"_43767":20080,"_43769":20080,"_43771":20080,"_43773":20080,"_43775":20080,"_43777":20080,"_43779":20080,"_43781":20080,"_43783":20080,"_43785":20080,"_43787":20080,"_43789":20080,"_43791":20080,"_43793":20080,"_43795":20080,"_43797":20080,"_43799":20080,"_43801":20080,"_43803":20080,"_43805":20080,"_43807":20080,"_43809":20080,"_43811":20080,"_43813":20080,"_43815":20080,"_43817":20080,"_43819":20080,"_43821":20080,"_43823":20080,"_43825":20080,"_43827":20080,"_43829":20080,"_43831":20080,"_43833":20080,"_43835":20080,"_43837":20080,"_43839":20080,"_43841":20080,"_43843":20080,"_43845":20080,"_43847":20080,"_43849":20080,"_43851":20080,"_43853":20080,"_43855":20080,"_43857":20080,"_43859":20080,"_43861":20080,"_43863":20080,"_43865":20080,"_43867":20080,"_43869":20080,"_43871":20080,"_43873":20080,"_43875":20080,"_43877":20080,"_43879":20080,"_43881":20080,"_43883":20080,"_43885":20080,"_43887":20080,"_43889":20080,"_43891":20080,"_43893":20080,"_43895":20080,"_43897":20080,"_43899":20080,"_43901":20080,"_43903":20080,"_43905":20080,"_43907":20080,"_43909":20080,"_43911":20080,"_43913":20080,"_43915":20080,"_43917":20080,"_43919":20080,"_43921":20080,"_43923":20080,"_43925":20080,"_43927":20080,"_43929":20080,"_43931":20080,"_43933":20080,"_43935":20080,"_43937":20080,"_43939":20080,"_43941":20080,"_43943":20080,"_43945":20080,"_43947":20080,"_43949":20080,"_43951":20080,"_43953":20080,"_43955":20080,"_43957":20080,"_43959":20080,"_43961":20080,"_43963":20080,"_43965":20080,"_43967":20080,"_43969":20080,"_43971":20080,"_43973":20080,"_43975":20080,"_43977":20080,"_43979":20080,"_43981":20080,"_43983":20080,"_43985":20080,"_43987":20080,"_43989":20080,"_43991":20080,"_43993":20080,"_43995":20080,"_43997":20080,"_43999":20080,"_44001":20080,"_44003":20080,"_44005":20080,"_44007":20080,"_44009":20080,"_44011":20080,"_44013":20080,"_44015":20080,"_44017":20080,"_44019":20080,"_44021":20080,"_44023":20080,"_44025":20080,"_44027":20080,"_44029":20080,"_44031":20080,"_44033":20080,"_44035":20080,"_44037":20080,"_44039":20080,"_44041":20080,"_44043":20080,"_44045":20080,"_44047":20080,"_44049":20080,"_44051":20080,"_44053":20080,"_44055":20080,"_44057":20080,"_44059":20080,"_44061":20080,"_44063":20080,"_44065":20080,"_44067":20080,"_44069":20080,"_44071":20080,"_44073":20080,"_44075":20080,"_44077":20080,"_44079":20080,"_44081":20080,"_44083":20080,"_44085":20080,"_44087":20080,"_44089":20080,"_44091":20080,"_44093":20080,"_44095":20080,"_44097":20080,"_44099":20080,"_44101":20080,"_44103":20080,"_44105":20080,"_44107":20080,"_44109":20080,"_44111":20080,"_44113":20080,"_44115":20080,"_44117":20080,"_44119":20080,"_44121":20080,"_44123":20080,"_44125":20080,"_44127":20080,"_44129":20080,"_44131":20080,"_44133":20080,"_44135":20080,"_44137":20080,"_44139":20080,"_44141":20080,"_44143":20080,"_44145":20080,"_44147":20080,"_44149":20080,"_44151":20080,"_44153":20080,"_44155":20080,"_44157":20080,"_44159":20080,"_44161":20080,"_44163":20080,"_44165":20080,"_44167":20080,"_44169":20080,"_44171":20080,"_44173":20080,"_44175":20080,"_44177":20080,"_44179":20080,"_44181":20080,"_44183":20080,"_44185":20080,"_44187":20080,"_44189":20080,"_44191":20080,"_44193":20080,"_44195":20080,"_44197":20080,"_44199":20080,"_44201":20080,"_44203":20080,"_44205":20080,"_44207":20080,"_44209":20080,"_44211":20080,"_44213":20080,"_44215":20080,"_44217":20080,"_44219":20080,"_44221":20080,"_44223":20080,"_44225":20080,"_44227":20080,"_44229":20080,"_44231":20080,"_44233":20080,"_44235":20080,"_44237":20080,"_44239":20080,"_44241":20080,"_44243":20080,"_44245":20080,"_44247":20080,"_44249":20080,"_44251":20080,"_44253":20080,"_44255":20080,"_44257":20080,"_44259":20080,"_44261":20080,"_44263":20080,"_44265":20080,"_44267":20080,"_44269":20080,"_44271":20080,"_44273":20080,"_44275":20080,"_44277":20080,"_44279":20080,"_44281":20080,"_44283":20080,"_44285":20080,"_44287":20080,"_44289":20080,"_44291":20080,"_44293":20080,"_44295":20080,"_44297":20080,"_44299":20080,"_44301":20080,"_44303":20080,"_44305":20080,"_44307":20080,"_44309":20080,"_44311":20080,"_44313":20080,"_44315":20080,"_44317":20080,"_44319":20080,"_44321":20080,"_44323":20080,"_44325":3013,"_44327":3013,"_44329":3013,"_44331":3013,"_44333":3013,"_44335":3013,"_44337":3013,"_44339":3013,"_44341":3013,"_44343":3013,"_44345":3013,"_44347":3013,"_44349":3013,"_44351":3013,"_44353":3013,"_44355":3013,"_44357":3013,"_44359":3013,"_44361":3013,"_44363":3013,"_44365":3013,"_44367":3013,"_44369":3013,"_44371":3013,"_44373":3013,"_44375":3013,"_44377":3013,"_44379":3013,"_44381":3013,"_44383":3013,"_44385":3013,"_44387":3013,"_44389":3013,"_44391":3013,"_44393":3013,"_44395":3013,"_44397":3013,"_44399":3013,"_44401":3013,"_44403":3013,"_44405":3013,"_44407":3013,"_44409":3013,"_44411":3013,"_44413":3013,"_44415":3013,"_44417":3013,"_44419":3013,"_44421":3013,"_44423":3013,"_44425":3013,"_44427":3013,"_44429":3013,"_44431":3013,"_44433":3013,"_44435":3013,"_44437":3013,"_44439":3013,"_44441":3013,"_44443":3013,"_44445":3013,"_44447":3013,"_44449":3013,"_44451":3013,"_44453":3013,"_44455":3013,"_44457":20080,"_44459":20080,"_44461":20080,"_44463":20080,"_44465":20080,"_44467":20080,"_44469":20080,"_44471":20080,"_44473":20080,"_44475":20080,"_44477":20080,"_44479":20080,"_44481":20080,"_44483":20080,"_44485":20080,"_44487":20080,"_44489":20080,"_44491":20080,"_44493":20080,"_44495":20080,"_44497":20080,"_44499":20080,"_44501":20080,"_44503":20080,"_44505":20080,"_44507":20080,"_44509":20080,"_44511":20080,"_44513":20080,"_44515":20080,"_44517":20080,"_44519":20080,"_44521":20080,"_44523":20080,"_44525":20080,"_44527":20080,"_44529":20080,"_44531":20080,"_44533":20080,"_44535":20080,"_44537":20080,"_44539":20080,"_44541":20080,"_44543":20080,"_44545":20080,"_44547":20080,"_44549":20080,"_44551":20080,"_44553":20080,"_44555":20080,"_44557":20080,"_44559":20080,"_16417":20080,"_44562":20080,"_44564":20080,"_44566":20080,"_44568":20080,"_44570":20080,"_44572":20080,"_44574":20080,"_44576":20080,"_44578":20080,"_44580":20080,"_44582":20080,"_44584":20080,"_44586":20080,"_44588":20080,"_16490":20080,"_44591":20080,"_44593":20080,"_44595":20080,"_44597":20080,"_44599":20080,"_44601":20080,"_44603":20080,"_44605":20080,"_44607":20080,"_44609":20080,"_44611":20080,"_44613":20080,"_44615":20080,"_44617":20080,"_44619":20080,"_44621":20080,"_44623":20080,"_44625":20080,"_44627":20080,"_44629":20080,"_44631":20080,"_44633":20080,"_44635":20080,"_44637":20080,"_44639":20080,"_44641":20080,"_44643":20080,"_44645":20080,"_44647":20080,"_44649":20080,"_44651":20080,"_44653":20080,"_44655":20080,"_44657":20080,"_44659":20080,"_44661":20080,"_44663":20080,"_44665":20080,"_44667":20080,"_44669":20080,"_44671":20080,"_44673":20080,"_44675":20080,"_44677":20080,"_44679":20080,"_44681":20080,"_44683":20080,"_44685":20080,"_44687":20080,"_44689":20080,"_44691":20080,"_44693":20080,"_44695":20080,"_44697":20080,"_44699":20080,"_44701":20080,"_44703":20080,"_44705":20080,"_44707":20080,"_44709":20080,"_44711":20080,"_44713":20080,"_44715":20080,"_44717":20080,"_44719":20080,"_44721":20080,"_44723":20080,"_44725":20080,"_44727":20080,"_44729":20080,"_44731":20080,"_44733":20080,"_44735":20080,"_44737":20080,"_44739":20080,"_36662":20080,"_44742":20080,"_44744":20080,"_44746":20080,"_44748":20080,"_44750":20080,"_44752":20080,"_44754":20080,"_44756":20080,"_37339":20080,"_44759":20080,"_44761":20080,"_44763":20080,"_44765":20080,"_44767":20080,"_44769":20080,"_44771":20080,"_37329":20080,"_44774":20080,"_44776":20080,"_44778":20080,"_37349":20080,"_44781":20080,"_44783":20080,"_37365":20080,"_44786":20080,"_44788":20080,"_37354":20080,"_44791":20080,"_44793":20080,"_44795":20080,"_44797":20080,"_44799":20080,"_44801":20080,"_44803":20080,"_44805":20080,"_44807":20080,"_44809":20080,"_44811":20080,"_44813":20080,"_44815":20080,"_44817":20080,"_44819":20080,"_44821":20080,"_44823":20080,"_44825":20080,"_44827":20080,"_44829":20080,"_44831":20080,"_44833":20080,"_44835":20080,"_44837":20080,"_44839":20080,"_44841":20080,"_44843":20080,"_44845":20080,"_44847":20080,"_16496":20080,"_44850":20080,"_44852":20080,"_44854":20080,"_44856":20080,"_44858":20080,"_44860":20080,"_44862":20080,"_44864":20080,"_44866":20080,"_44868":20080,"_44870":20080,"_44872":20080,"_44874":20080,"_44876":20080,"_44878":20080,"_44880":20080,"_44882":20080,"_44884":20080,"_44886":20080,"_44888":20080,"_44890":20080,"_44892":20080,"_44894":20080,"_44896":20080,"_44898":20080,"_44900":20080,"_44902":20080,"_44904":20080,"_44906":20080,"_44908":20080,"_44910":20080,"_44912":20080,"_44914":20080,"_44916":20080,"_44918":20080,"_44920":20080,"_44922":20080,"_44924":20080,"_44926":20080,"_44928":20080,"_44930":20080,"_44932":20080,"_44934":20080,"_44936":20080,"_44938":20080,"_44940":20080,"_44942":20080,"_44944":20080,"_44946":20080,"_44948":20080,"_44950":20080,"_44952":20080,"_44954":20080,"_44956":20080,"_44958":20080,"_44960":20080,"_44962":20080,"_44964":20080,"_44966":20080,"_44968":20080,"_44970":20080,"_44972":20080,"_44974":20080,"_44976":20080,"_44978":20080,"_44980":20080,"_44982":20080,"_44984":20080,"_44986":20080,"_44988":20080,"_44990":20080,"_44992":20080,"_44994":20080,"_44996":20080,"_44998":20080,"_45000":20080,"_45002":20080,"_45004":20080,"_45006":20080,"_45008":20080,"_45010":20080,"_45012":20080,"_45014":20080,"_45016":20080,"_45018":20080,"_45020":20080,"_45022":20080,"_45024":20080,"_45026":20080,"_45028":20080,"_45030":20080,"_45032":20080,"_45034":20080,"_45036":20080,"_45038":20080,"_45040":20080,"_45042":20080,"_45044":20080,"_45046":20080,"_45048":20080,"_45050":20080,"_45052":20080,"_45054":20080,"_45056":20080,"_45058":20080,"_45060":20080,"_45062":20080,"_45064":20080,"_45066":20080,"_45068":20080,"_45070":20080,"_45072":20080,"_45074":20080,"_45076":20080,"_45078":20080,"_45080":20080,"_45082":20080,"_45084":20080,"_45086":20080,"_45088":20080,"_45090":20080,"_45092":20080,"_45094":20080,"_45096":20080,"_45098":20080,"_45100":20080,"_45102":20080,"_45104":20080,"_45106":20080,"_45108":20080,"_45110":20080,"_45112":20080,"_37455":20080,"_45115":20080,"_45117":20080,"_45119":20080,"_45121":20080,"_45123":20080,"_45125":20080,"_45127":20080,"_45129":20080,"_45131":20080,"_45133":20080,"_45135":20080,"_45137":20080,"_45139":20080},{"_6884":3013,"_5968":3013,"_11313":3013,"_11353":3013,"_11327":3013,"_11320":3013,"_11346":3013,"_11375":3013,"_11306":3013,"_36123":3013,"_11342":3013,"_36627":3013,"_36749":3013,"_36700":3013,"_11445":3013,"_12197":3013,"_36739":3013,"_36759":3013,"_12027":3013,"_11889":3013,"_37450":3013,"_12203":3013,"_40818":3013,"_36616":3013,"_36046":3013,"_36685":3013,"_12270":3013,"_37480":3013,"_12512":3013,"_35574":3013,"_35645":3013,"_35619":3013,"_12054":3013,"_35635":3013,"_35650":3013,"_12102":3013,"_35655":3013,"_11406":3013,"_11866":3013,"_12080":3013,"_40847":3013,"_40849":3013,"_40851":3013,"_40854":3013,"_36679":3013,"_40857":3013,"_11356":3013,"_40862":3013,"_12471":3013,"_36302":3013,"_12518":3013,"_11438":3013,"_37112":3013,"_40872":3013,"_40874":3013,"_40876":3013,"_40879":3013,"_37107":3013,"_37102":3013,"_11469":3013,"_40886":3013,"_40889":3013,"_40891":3013,"_30746":3013,"_40894":3013,"_40897":3013,"_40899":3013,"_40902":3013,"_40904":3013,"_40906":3013,"_40909":3013,"_40912":3013,"_40914":3013,"_11485":3013,"_40918":3013,"_36784":3013,"_40921":3013,"_11684":3013,"_11349":3013,"_36838":3013,"_37456":3013,"_12393":3013,"_40929":3013,"_40931":3013,"_40933":3013,"_36853":3013,"_40936":3013,"_11378":3013,"_12108":3013,"_35688":3013,"_36663":3013,"_40943":3013,"_40945":3013,"_37626":3013,"_40948":3013,"_11421":3013,"_40951":3013,"_40953":3013,"_12125":3013,"_36130":3013,"_40958":3013,"_40960":3013,"_40963":3013,"_40965":3013,"_40967":3013,"_40969":3013,"_40971":3013,"_11336":3013,"_40974":3013,"_40976":3013,"_40978":3013,"_40980":3013,"_40982":3013,"_40985":3013,"_16358":3013,"_40988":3013,"_40990":3013,"_40992":3013,"_40994":3013,"_40996":3013,"_40998":3013,"_41001":3013,"_41003":3013,"_41005":3013,"_41007":3013,"_41010":3013,"_36637":3013,"_36632":3013,"_41015":3013,"_36754":3013,"_41019":3013,"_41021":3013,"_41023":3013,"_41025":3013,"_41027":3013,"_41029":3013,"_41031":3013,"_41033":3013,"_41035":3013,"_41037":3013,"_41039":3013,"_41041":3013,"_41043":3013,"_41046":3013,"_41048":3013,"_41050":3013,"_41052":3013,"_41054":3013,"_41057":3013,"_41059":3013,"_41061":3013,"_41063":3013,"_41065":3013,"_41067":3013,"_41069":3013,"_41071":3013,"_41073":3013,"_41075":3013,"_41077":3013,"_41079":3013,"_41081":3013,"_41083":3013,"_41085":3013,"_41087":3013,"_41089":3013,"_41091":3013,"_41093":3013,"_36725":3013,"_41096":3013,"_41098":3013,"_41100":3013,"_36744":3013,"_41103":3013,"_41105":3013,"_41108":3013,"_41110":3013,"_41112":3013,"_41114":3013,"_41116":3013,"_41118":3013,"_41120":3013,"_41122":3013,"_41124":3013,"_41126":3013,"_41128":3013,"_41130":3013,"_41132":3013,"_41134":3013,"_41136":3013,"_41138":3013,"_41140":3013,"_36651":3013,"_41145":3013,"_36646":3013,"_41149":3013,"_41151":3013,"_41153":3013,"_41155":3013,"_41157":3013,"_16474":3013,"_37344":3013,"_35538":3013,"_41164":3013,"_41166":3013,"_41169":3013,"_41171":3013,"_41173":3013,"_41176":3013,"_41178":3013,"_41180":3013,"_41183":3013,"_41186":3013,"_41188":3013,"_41190":3013,"_41192":3013,"_41194":3013,"_41197":3013,"_41199":3013,"_41201":3013,"_41203":3013,"_41206":3013,"_41208":3013,"_41210":3013,"_41212":3013,"_41214":3013,"_41216":3013,"_41218":3013,"_41220":3013,"_41222":3013,"_41224":3013,"_41226":3013,"_41228":3013,"_41230":3013,"_41232":3013,"_41234":3013,"_41236":3013,"_41238":3013,"_41240":3013,"_41242":3013,"_41244":3013,"_41246":3013,"_41248":3013,"_41250":3013,"_41252":3013,"_41254":3013,"_41256":3013,"_41258":3013,"_41260":3013,"_41262":3013,"_37379":3013,"_41266":3013,"_41268":3013,"_41270":3013,"_37384":3013,"_37374":3013,"_22897":3013,"_41275":3013,"_41277":3013,"_41279":3013,"_41281":3013,"_41283":3013,"_41285":3013,"_41287":3013,"_41290":3013,"_41292":3013,"_41294":3013,"_41296":3013,"_41298":3013,"_41300":3013,"_41302":3013,"_41305":3013,"_41307":3013,"_41309":3013,"_41311":3013,"_41313":3013,"_41315":3013,"_41317":3013,"_41319":3013,"_41321":3013,"_41323":3013,"_41325":3013,"_41327":3013,"_41329":3013,"_41331":3013,"_41333":3013,"_41335":3013,"_41337":3013,"_37485":3013,"_41340":3013,"_41342":3013,"_41344":3013,"_41346":3013,"_41349":3013,"_41351":3013,"_41353":3013,"_41355":3013,"_41357":3013,"_41359":3013,"_41362":3013,"_35589":3013,"_41365":3013,"_41367":3013,"_41369":3013,"_35579":3013,"_41372":3013,"_41375":3013,"_41378":3013,"_41380":3013,"_41383":3013,"_41386":3013,"_41388":3013,"_41390":3013,"_41392":3013,"_41394":3013,"_41396":3013,"_41398":3013,"_41401":3013,"_41404":3013,"_41406":3013,"_11390":3013,"_41409":3013,"_41411":3013,"_41413":3013,"_41415":3013,"_35624":3013,"_41418":3013,"_41420":3013,"_41422":3013,"_41424":3013,"_41426":3013,"_41428":3013,"_11316":3013,"_41432":3013,"_41434":3013,"_41436":3013,"_41438":3013,"_41440":3013,"_41442":3013,"_41444":3013,"_35640":3013,"_41447":3013,"_41449":3013,"_41451":3013,"_41453":3013,"_41455":3013,"_41457":3013,"_41459":3013,"_41461":3013,"_41463":3013,"_41465":3013,"_41467":3013,"_41469":3013,"_41471":3013,"_41473":3013,"_41475":3013,"_41477":3013,"_41479":3013,"_41481":3013,"_41483":3013,"_41485":3013,"_41487":3013,"_41489":3013,"_41491":3013,"_41493":3013,"_41495":3013,"_41497":3013,"_41499":3013,"_41501":3013,"_41503":3013,"_41505":3013,"_41507":3013,"_41509":3013,"_41511":3013,"_41514":3013,"_41516":3013,"_41518":3013,"_41520":3013,"_41522":3013,"_41524":3013,"_41526":3013,"_41528":3013,"_41530":3013,"_41532":3013,"_22920":3013,"_41536":3013,"_41538":3013,"_41540":3013,"_35672":3013,"_41543":3013,"_41545":3013,"_41547":3013,"_41549":3013,"_41551":3013,"_41553":3013,"_41555":3013,"_41557":3013,"_41559":3013,"_41561":3013,"_41563":3013,"_36040":3013,"_41566":3013,"_41568":3013,"_41571":3013,"_41573":3013,"_41575":3013,"_41577":3013,"_41580":3013,"_41582":3013,"_41584":3013,"_41586":3013,"_41588":3013,"_41590":3013,"_41592":3013,"_41595":3013,"_41597":3013,"_41599":3013,"_41601":3013,"_41603":3013,"_41605":3013,"_41608":3013,"_41610":3013,"_41612":3013,"_41614":3013,"_41616":3013,"_36045":3013,"_41619":3013,"_41621":3013,"_41623":3013,"_41625":3013,"_41627":3013,"_41629":3013,"_41631":3013,"_41633":3013,"_41635":3013,"_41637":3013,"_41639":3013,"_36051":3013,"_41642":3013,"_41644":3013,"_41646":3013,"_41648":3013,"_41650":3013,"_41652":3013,"_41654":3013,"_41656":3013,"_41658":3013,"_41660":3013,"_41662":3013,"_41665":3013,"_41668":3013,"_41670":3013,"_41672":3013,"_41675":3013,"_41677":3013,"_41679":3013,"_41681":3013,"_41683":3013,"_41685":3013,"_41687":3013,"_41689":3013,"_41691":3013,"_41693":3013,"_41695":3013,"_41697":3013,"_41699":3013,"_41701":3013,"_41703":3013,"_41705":3013,"_41707":3013,"_41709":3013,"_41711":3013,"_41713":3013,"_41715":3013,"_41717":3013,"_41719":3013,"_41721":3013,"_41723":3013,"_41725":3013,"_41727":3013,"_41729":3013,"_41731":3013,"_41733":3013,"_41735":3013,"_41737":3013,"_41739":3013,"_11427":3013,"_41742":3013,"_41744":3013,"_41746":3013,"_41748":3013,"_41750":3013,"_41752":3013,"_41754":3013,"_41756":3013,"_41758":3013,"_41760":3013,"_41762":3013,"_41764":3013,"_41766":3013,"_37087":3013,"_12612":3013,"_41770":3013,"_41772":3013,"_41774":3013,"_41776":3013,"_41778":3013,"_41780":3013,"_41782":3013,"_41784":3013,"_41786":3013,"_41788":3013,"_41790":3013,"_41792":3013,"_41794":3013,"_41796":3013,"_41798":3013,"_41800":3013,"_41802":3013,"_41804":3013,"_41806":3013,"_41808":3013,"_41810":3013,"_41812":3013,"_41814":3013,"_41816":3013,"_41818":3013,"_41820":3013,"_41822":3013,"_41824":3013,"_41826":3013,"_41828":3013,"_41830":3013,"_41832":3013,"_41834":3013,"_41836":3013,"_41838":3013,"_41840":3013,"_41842":3013,"_41844":3013,"_41846":3013,"_41848":3013,"_41850":3013,"_41852":3013,"_41854":3013,"_36062":3013,"_41857":3013,"_41859":3013,"_41861":3013,"_41863":3013,"_41865":3013,"_41867":3013,"_41869":3013,"_41871":3013,"_41873":3013,"_41875":3013,"_41877":3013,"_41879":3013,"_41881":3013,"_41883":3013,"_41885":3013,"_41887":3013,"_41889":3013,"_41891":3013,"_41893":3013,"_41895":3013,"_41897":3013,"_41899":3013,"_41901":3013,"_41903":3013,"_41905":3013,"_41907":3013,"_41909":3013,"_41911":3013,"_41913":3013,"_11384":3013,"_41916":3013,"_41918":3013,"_41920":3013,"_41922":3013,"_41924":3013,"_41926":3013,"_41928":3013,"_41930":3013,"_41932":3013,"_41934":3013,"_16423":3013,"_41937":3013,"_41939":3013,"_41941":3013,"_11330":3013,"_41944":3013,"_41946":3013,"_41948":3013,"_41950":3013,"_41952":3013,"_41954":3013,"_41956":3013,"_41958":3013,"_41960":3013,"_41962":3013,"_41964":3013,"_41966":3013,"_41968":3013,"_41970":3013,"_41972":3013,"_41974":3013,"_41976":3013,"_41978":3013,"_41980":3013,"_41982":3013,"_41984":3013,"_41986":3013,"_41988":3013,"_41990":3013,"_41992":3013,"_41994":3013,"_41996":3013,"_41998":3013,"_42000":3013,"_42002":3013,"_42004":3013,"_42006":3013,"_11323":3013,"_42009":3013,"_42011":3013,"_42013":3013,"_42015":3013,"_42017":3013,"_42019":3013,"_42021":3013,"_42023":3013,"_42025":3013,"_42027":3013,"_42029":3013,"_42031":3013,"_42033":3013,"_42035":3013,"_42037":3013,"_42039":3013,"_42041":3013,"_42043":3013,"_42045":3013,"_42047":3013,"_42049":3013,"_42051":3013,"_42053":3013,"_42055":3013,"_42057":3013,"_42059":3013,"_42061":3013,"_42063":3013,"_42065":3013,"_42067":3013,"_42069":3013,"_42071":3013,"_42073":3013,"_42075":3013,"_42077":3013,"_42079":3013,"_42081":3013,"_42083":3013,"_42085":3013,"_42087":3013,"_42089":3013,"_42091":3013,"_42093":3013,"_42095":3013,"_42097":3013,"_42099":3013,"_42101":3013,"_42103":3013,"_42105":3013,"_42107":3013,"_42109":3013,"_42111":3013,"_42114":3013,"_42116":3013,"_42118":3013,"_42120":3013,"_42122":3013,"_42124":3013,"_42126":3013,"_42128":3013,"_42130":3013,"_42132":3013,"_42134":3013,"_42136":3013,"_42139":3013,"_42141":3013,"_42143":3013,"_42146":3013,"_42148":3013,"_42151":3013,"_42153":3013,"_42155":3013,"_42157":3013,"_42159":3013,"_42161":3013,"_42163":3013,"_42165":3013,"_42167":3013,"_42169":3013,"_42171":3013,"_42173":3013,"_42175":3013,"_42177":3013,"_42180":3013,"_42182":3013,"_42184":3013,"_42186":3013,"_42188":3013,"_42190":3013,"_42192":3013,"_42194":3013,"_42196":3013,"_42198":3013,"_42200":3013,"_42202":3013,"_42204":3013,"_42206":3013,"_42208":3013,"_42210":3013,"_42212":3013,"_42214":3013,"_42216":3013,"_42218":3013,"_42220":3013,"_42222":3013,"_42224":3013,"_42227":3013,"_11451":3013,"_42231":3013,"_42233":3013,"_42235":3013,"_42237":3013,"_42239":3013,"_42241":3013,"_42243":3013,"_42245":3013,"_42247":3013,"_42249":3013,"_42251":3013,"_42253":3013,"_42255":3013,"_42257":3013,"_42259":3013,"_42261":3013,"_42263":3013,"_42265":3013,"_42267":3013,"_42269":3013,"_42271":3013,"_42273":3013,"_42275":3013,"_42277":3013,"_42279":3013,"_42281":3013,"_42283":3013,"_42285":3013,"_42287":3013,"_42289":3013,"_42291":3013,"_42293":3013,"_42295":3013,"_42297":3013,"_42299":3013,"_42301":3013,"_42303":3013,"_42305":3013,"_42307":3013,"_42309":3013,"_42311":3013,"_42313":3013,"_42315":3013,"_42317":3013,"_42319":3013,"_42321":3013,"_42323":3013,"_42325":3013,"_42327":3013,"_42329":3013,"_42331":3013,"_42333":3013,"_12529":3013,"_42336":3013,"_42338":3013,"_42340":3013,"_42342":3013,"_42344":3013,"_42346":3013,"_37445":3013,"_42349":3013,"_42351":3013,"_42353":3013,"_42355":3013,"_42357":3013,"_42359":3013,"_42361":3013,"_42363":3013,"_35029":3013,"_42366":3013,"_42368":3013,"_42370":3013,"_42372":3013,"_42374":3013,"_42376":3013,"_42378":3013,"_42380":3013,"_42382":3013,"_42384":3013,"_42386":3013,"_42388":3013,"_42390":3013,"_42392":3013,"_42394":3013,"_42396":3013,"_42398":3013,"_42400":3013,"_42402":3013,"_42404":3013,"_42406":3013,"_42408":3013,"_42410":3013,"_42412":3013,"_42414":3013,"_42416":3013,"_42418":3013,"_42420":3013,"_42422":3013,"_42424":3013,"_42426":3013,"_42428":3013,"_42430":3013,"_42432":3013,"_42434":3013,"_42436":3013,"_42438":3013,"_42440":3013,"_42442":3013,"_42444":3013,"_42446":3013,"_12606":3013,"_42449":3013,"_42451":3013,"_42453":3013,"_42455":3013,"_42457":3013,"_42459":3013,"_42461":3013,"_42463":3013,"_42465":3013,"_42467":3013,"_42469":3013,"_42471":3013,"_42473":3013,"_42475":3013,"_42477":3013,"_42479":3013,"_42481":3013,"_42483":3013,"_42485":3013,"_42487":3013,"_42489":3013,"_42491":3013,"_42493":3013,"_42495":3013,"_42497":3013,"_42499":3013,"_42501":3013,"_42503":3013,"_42505":3013,"_42507":3013,"_42509":3013,"_42511":3013,"_42513":3013,"_42515":3013,"_42517":3013,"_42519":3013,"_42521":3013,"_42523":3013,"_42525":3013,"_42527":3013,"_42529":3013,"_42531":3013,"_42533":3013,"_42535":3013,"_42537":3013,"_42539":3013,"_42541":3013,"_42543":3013,"_42545":3013,"_42547":3013,"_42549":3013,"_42551":3013,"_42553":3013,"_42555":3013,"_42557":3013,"_42559":3013,"_42561":3013,"_42563":3013,"_11309":3013,"_42566":3013,"_42568":3013,"_42570":3013,"_42572":3013,"_42574":3013,"_42576":3013,"_42578":3013,"_42580":3013,"_12634":3013,"_42583":3013,"_42585":3013,"_42587":3013,"_42589":3013,"_42591":3013,"_42593":3013,"_42595":3013,"_42597":3013,"_42599":3013,"_42601":3013,"_42603":3013,"_42605":3013,"_42607":3013,"_42609":3013,"_42611":3013,"_42613":3013,"_42615":3013,"_42617":3013,"_42619":3013,"_42621":3013,"_42623":3013,"_42625":3013,"_42627":3013,"_42629":3013,"_42631":3013,"_42633":3013,"_42635":3013,"_42637":3013,"_42639":3013,"_42641":3013,"_42643":3013,"_42645":3013,"_42647":3013,"_42649":3013,"_42651":3013,"_42653":3013,"_42655":3013,"_42657":3013,"_42659":3013,"_42661":3013,"_42663":3013,"_42665":3013,"_42667":3013,"_42669":3013,"_42671":3013,"_42673":3013,"_42675":3013,"_42677":3013,"_42679":3013,"_42681":3013,"_42683":3013,"_42685":3013,"_42687":3013,"_42689":3013,"_42691":3013,"_42693":3013,"_42695":3013,"_42697":3013,"_42699":3013,"_42701":3013,"_42703":3013,"_42705":3013,"_42707":3013,"_42709":3013,"_42711":3013,"_42713":3013,"_42715":3013,"_42717":3013,"_42719":3013,"_42721":3013,"_42723":3013,"_42725":3013,"_42727":3013,"_42729":3013,"_42731":3013,"_42733":3013,"_42735":3013,"_42737":3013,"_42739":3013,"_42741":3013,"_42743":3013,"_42745":3013,"_42747":3013,"_42749":3013,"_42751":3013,"_42753":3013,"_42755":3013,"_42757":3013,"_42759":3013,"_36137":3013,"_42762":3013,"_42764":3013,"_42766":3013,"_42768":3013,"_42770":3013,"_42772":3013,"_42774":3013,"_42776":3013,"_42778":3013,"_42780":3013,"_42782":3013,"_42784":3013,"_42786":3013,"_42788":3013,"_42790":3013,"_42792":3013,"_42794":3013,"_42796":3013,"_42798":3013,"_42800":3013,"_42802":3013,"_42804":3013,"_42806":3013,"_36615":3013,"_42809":3013,"_42811":3013,"_42813":3013,"_42815":3013,"_42817":3013,"_42819":3013,"_42821":3013,"_42823":3013,"_42825":3013,"_42827":3013,"_42829":3013,"_42831":3013,"_42833":3013,"_42835":3013,"_42837":3013,"_42839":3013,"_42841":3013,"_42843":3013,"_42845":3013,"_42847":3013,"_42849":3013,"_42851":3013,"_42853":3013,"_42855":3013,"_42857":3013,"_42859":3013,"_42861":3013,"_42863":3013,"_42865":3013,"_42867":3013,"_42869":3013,"_42871":3013,"_42873":3013,"_42875":3013,"_42877":3013,"_42879":3013,"_42881":3013,"_42883":3013,"_42885":3013,"_42887":3013,"_42889":3013,"_42891":3013,"_42893":3013,"_42895":3013,"_42897":3013,"_42899":3013,"_42901":3013,"_42903":3013,"_42905":3013,"_42907":3013,"_42909":3013,"_42911":3013,"_42913":3013,"_42915":3013,"_42917":3013,"_42919":3013,"_42921":3013,"_42923":3013,"_42925":3013,"_42927":3013,"_42929":3013,"_42931":3013,"_42933":3013,"_42935":3013,"_42937":3013,"_42939":3013,"_42941":3013,"_42943":3013,"_42945":3013,"_42947":3013,"_42949":3013,"_42951":3013,"_42953":3013,"_42955":3013,"_42957":3013,"_42959":3013,"_42961":3013,"_42963":3013,"_42965":3013,"_42967":3013,"_42969":3013,"_42971":3013,"_42973":3013,"_42975":3013,"_42977":3013,"_42979":3013,"_42981":3013,"_42983":3013,"_42985":3013,"_42987":3013,"_42989":3013,"_42991":3013,"_42993":3013,"_42995":3013,"_42997":3013,"_42999":3013,"_43001":3013,"_43003":3013,"_43005":3013,"_43007":3013,"_43009":3013,"_36684":3013,"_43012":3013,"_43014":3013,"_43016":3013,"_43018":3013,"_43020":3013,"_43022":3013,"_43024":3013,"_43026":3013,"_43028":3013,"_43030":3013,"_43032":3013,"_43034":3013,"_43036":3013,"_43038":3013,"_43040":3013,"_43042":3013,"_43044":3013,"_43046":3013,"_36678":3013,"_43049":3013,"_43051":3013,"_43053":3013,"_43055":3013,"_43057":3013,"_43059":3013,"_43061":3013,"_43063":3013,"_43065":3013,"_43067":3013,"_43069":3013,"_43071":3013,"_43073":3013,"_43075":3013,"_43077":3013,"_43079":3013,"_43081":3013,"_43083":3013,"_43085":3013,"_43087":3013,"_43089":3013,"_43091":3013,"_43093":3013,"_43095":3013,"_43097":3013,"_43099":3013,"_43101":3013,"_43103":3013,"_43105":3013,"_43107":3013,"_43109":3013,"_43111":3013,"_43113":3013,"_43115":3013,"_43117":3013,"_43119":3013,"_43121":3013,"_43123":3013,"_43125":3013,"_43127":3013,"_43129":3013,"_43131":3013,"_43133":3013,"_43135":3013,"_43137":3013,"_43139":3013,"_43141":3013,"_43143":3013,"_43145":3013,"_43147":3013,"_43149":3013,"_43151":3013,"_43153":3013,"_43155":3013,"_43157":3013,"_43159":3013,"_43161":3013,"_43163":3013,"_43165":3013,"_43167":3013,"_43169":3013,"_43171":3013,"_43173":3013,"_43175":3013,"_43177":3013,"_43179":3013,"_43181":3013,"_43183":3013,"_43185":3013,"_43187":3013,"_43189":3013,"_43191":3013,"_43193":3013,"_43195":3013,"_43197":3013,"_43199":3013,"_43201":3013,"_43203":3013,"_43205":3013,"_43207":3013,"_43209":3013,"_43211":3013,"_43213":3013,"_43215":3013,"_43217":3013,"_43219":3013,"_43221":3013,"_43223":3013,"_43225":3013,"_43227":3013,"_43229":3013,"_43231":3013,"_43234":3013,"_43236":3013,"_43238":3013,"_43240":3013,"_43242":3013,"_43244":3013,"_43246":3013,"_43248":3013,"_43250":3013,"_43252":3013,"_43254":3013,"_43256":3013,"_43258":3013,"_43260":3013,"_43262":3013,"_43264":3013,"_43266":3013,"_43268":3013,"_43270":3013,"_43272":3013,"_43274":3013,"_43276":3013,"_43278":3013,"_43280":3013,"_43282":3013,"_43284":3013,"_43286":3013,"_43288":3013,"_43290":3013,"_43292":3013,"_43294":3013,"_43296":3013,"_43298":3013,"_43300":3013,"_43302":3013,"_43304":3013,"_43306":3013,"_43308":3013,"_43310":3013,"_43312":3013,"_43314":3013,"_43316":3013,"_43318":3013,"_43320":3013,"_43322":3013,"_43324":3013,"_43326":3013,"_43328":3013,"_43330":3013,"_43332":3013,"_43334":3013,"_43336":3013,"_43339":3013,"_43341":3013,"_43343":3013,"_43345":3013,"_43347":3013,"_43349":3013,"_43351":3013,"_43353":3013,"_43355":3013,"_43357":3013,"_43359":3013,"_43361":3013,"_43363":3013,"_43365":3013,"_43367":3013,"_43369":3013,"_43371":3013,"_43373":3013,"_43375":3013,"_43377":3013,"_43379":3013,"_43381":3013,"_43383":3013,"_43385":3013,"_43387":3013,"_43389":3013,"_43391":3013,"_43393":3013,"_43396":3013,"_43398":3013,"_43400":3013,"_43402":3013,"_43404":3013,"_43406":3013,"_43408":3013,"_43410":3013,"_43412":3013,"_43414":3013,"_43416":3013,"_43418":3013,"_43420":3013,"_43422":3013,"_43424":3013,"_43426":3013,"_43428":3013,"_43430":3013,"_43432":3013,"_43434":3013,"_43436":3013,"_43438":3013,"_43440":3013,"_43442":3013,"_43444":3013,"_43446":3013,"_43448":3013,"_43450":3013,"_43452":3013,"_43454":3013,"_43456":3013,"_43458":3013,"_43461":3013,"_43463":3013,"_43465":3013,"_43467":3013,"_43469":3013,"_43471":3013,"_43473":3013,"_43475":3013,"_43477":3013,"_43479":3013,"_43481":3013,"_43483":3013,"_43485":3013,"_43487":3013,"_43489":3013,"_43491":3013,"_43493":3013,"_43495":3013,"_43497":3013,"_43499":3013,"_43501":3013,"_43503":3013,"_43505":3013,"_43507":3013,"_43509":3013,"_43511":3013,"_43513":3013,"_43515":3013,"_43517":3013,"_43519":3013,"_43521":3013,"_43523":3013,"_43525":3013,"_43527":3013,"_43529":3013,"_43531":3013,"_43533":3013,"_43535":3013,"_43537":3013,"_43539":3013,"_43541":3013,"_43543":3013,"_43545":3013,"_43547":3013,"_43549":3013,"_43551":3013,"_43553":3013,"_43555":3013,"_43557":3013,"_43559":3013,"_43561":3013,"_43563":3013,"_43565":3013,"_43567":3013,"_43569":3013,"_43571":3013,"_43573":3013,"_43575":3013,"_43577":3013,"_43579":3013,"_43581":3013,"_43583":3013,"_43585":3013,"_43587":3013,"_43589":3013,"_43591":3013,"_43593":3013,"_43595":3013,"_43597":3013,"_43599":3013,"_43601":3013,"_43603":3013,"_43605":3013,"_43607":3013,"_43609":3013,"_43611":3013,"_43613":3013,"_43615":3013,"_43617":3013,"_43619":3013,"_43621":3013,"_43623":3013,"_43625":3013,"_43627":3013,"_43629":3013,"_43631":3013,"_43633":3013,"_43635":3013,"_43637":3013,"_43639":3013,"_43641":3013,"_43643":3013,"_43645":3013,"_43647":3013,"_43649":3013,"_43651":3013,"_43653":3013,"_43655":3013,"_43657":3013,"_43659":3013,"_43661":3013,"_43663":3013,"_43665":3013,"_43667":3013,"_43669":3013,"_43671":3013,"_43673":3013,"_43675":3013,"_43677":3013,"_43679":3013,"_43681":3013,"_43683":3013,"_43685":3013,"_43687":3013,"_43689":3013,"_43691":3013,"_43693":3013,"_43695":3013,"_43697":3013,"_43699":3013,"_43701":3013,"_43703":3013,"_43705":3013,"_43707":3013,"_43709":3013,"_43711":3013,"_43713":3013,"_43715":3013,"_43717":3013,"_43719":3013,"_43721":3013,"_43723":3013,"_43725":3013,"_43727":3013,"_43729":3013,"_43731":3013,"_43733":3013,"_43735":3013,"_43737":3013,"_43739":3013,"_43741":3013,"_43743":3013,"_43745":3013,"_43747":3013,"_43749":3013,"_43751":3013,"_43753":3013,"_43755":3013,"_43757":3013,"_43759":3013,"_43761":3013,"_43763":3013,"_43765":3013,"_43767":3013,"_43769":3013,"_43771":3013,"_43773":3013,"_43775":3013,"_43777":3013,"_43779":3013,"_43781":3013,"_43783":3013,"_43785":3013,"_43787":3013,"_43789":3013,"_43791":3013,"_43793":3013,"_43795":3013,"_43797":3013,"_43799":3013,"_43801":3013,"_43803":3013,"_43805":3013,"_43807":3013,"_43809":3013,"_43811":3013,"_43813":3013,"_43815":3013,"_43817":3013,"_43819":3013,"_43821":3013,"_43823":3013,"_43825":3013,"_43827":3013,"_43829":3013,"_43831":3013,"_43833":3013,"_43835":3013,"_43837":3013,"_43839":3013,"_43841":3013,"_43843":3013,"_43845":3013,"_43847":3013,"_43849":3013,"_43851":3013,"_43853":3013,"_43855":3013,"_43857":3013,"_43859":3013,"_43861":3013,"_43863":3013,"_43865":3013,"_43867":3013,"_43869":3013,"_43871":3013,"_43873":3013,"_43875":3013,"_43877":3013,"_43879":3013,"_43881":3013,"_43883":3013,"_43885":3013,"_43887":3013,"_43889":3013,"_43891":3013,"_43893":3013,"_43895":3013,"_43897":3013,"_43899":3013,"_43901":3013,"_43903":3013,"_43905":3013,"_43907":3013,"_43909":3013,"_43911":3013,"_43913":3013,"_43915":3013,"_43917":3013,"_43919":3013,"_43921":3013,"_43923":3013,"_43925":3013,"_43927":3013,"_43929":3013,"_43931":3013,"_43933":3013,"_43935":3013,"_43937":3013,"_43939":3013,"_43941":3013,"_43943":3013,"_43945":3013,"_43947":3013,"_43949":3013,"_43951":3013,"_43953":3013,"_43955":3013,"_43957":3013,"_43959":3013,"_43961":3013,"_43963":3013,"_43965":3013,"_43967":3013,"_43969":3013,"_43971":3013,"_43973":3013,"_43975":3013,"_43977":3013,"_43979":3013,"_43981":3013,"_43983":3013,"_43985":3013,"_43987":3013,"_43989":3013,"_43991":3013,"_43993":3013,"_43995":3013,"_43997":3013,"_43999":3013,"_44001":3013,"_44003":3013,"_44005":3013,"_44007":3013,"_44009":3013,"_44011":3013,"_44013":3013,"_44015":3013,"_44017":3013,"_44019":3013,"_44021":3013,"_44023":3013,"_44025":3013,"_44027":3013,"_44029":3013,"_44031":3013,"_44033":3013,"_44035":3013,"_44037":3013,"_44039":3013,"_44041":3013,"_44043":3013,"_44045":3013,"_44047":3013,"_44049":3013,"_44051":3013,"_44053":3013,"_44055":3013,"_44057":3013,"_44059":3013,"_44061":3013,"_44063":3013,"_44065":3013,"_44067":3013,"_44069":3013,"_44071":3013,"_44073":3013,"_44075":3013,"_44077":3013,"_44079":3013,"_44081":3013,"_44083":3013,"_44085":3013,"_44087":3013,"_44089":3013,"_44091":3013,"_44093":3013,"_44095":3013,"_44097":3013,"_44099":3013,"_44101":3013,"_44103":3013,"_44105":3013,"_44107":3013,"_44109":3013,"_44111":3013,"_44113":3013,"_44115":3013,"_44117":3013,"_44119":3013,"_44121":3013,"_44123":3013,"_44125":3013,"_44127":3013,"_44129":3013,"_44131":3013,"_44133":3013,"_44135":3013,"_44137":3013,"_44139":3013,"_44141":3013,"_44143":3013,"_44145":3013,"_44147":3013,"_44149":3013,"_44151":3013,"_44153":3013,"_44155":3013,"_44157":3013,"_44159":3013,"_44161":3013,"_44163":3013,"_44165":3013,"_44167":3013,"_44169":3013,"_44171":3013,"_44173":3013,"_44175":3013,"_44177":3013,"_44179":3013,"_44181":3013,"_44183":3013,"_44185":3013,"_44187":3013,"_44189":3013,"_44191":3013,"_44193":3013,"_44195":3013,"_44197":3013,"_44199":3013,"_44201":3013,"_44203":3013,"_44205":3013,"_44207":3013,"_44209":3013,"_44211":3013,"_44213":3013,"_44215":3013,"_44217":3013,"_44219":3013,"_44221":3013,"_44223":3013,"_44225":3013,"_44227":3013,"_44229":3013,"_44231":3013,"_44233":3013,"_44235":3013,"_44237":3013,"_44239":3013,"_44241":3013,"_44243":3013,"_44245":3013,"_44247":3013,"_44249":3013,"_44251":3013,"_44253":3013,"_44255":3013,"_44257":3013,"_44259":3013,"_44261":3013,"_44263":3013,"_44265":3013,"_44267":3013,"_44269":3013,"_44271":3013,"_44273":3013,"_44275":3013,"_44277":3013,"_44279":3013,"_44281":3013,"_44283":3013,"_44285":3013,"_44287":3013,"_44289":3013,"_44291":3013,"_44293":3013,"_44295":3013,"_44297":3013,"_44299":3013,"_44301":3013,"_44303":3013,"_44305":3013,"_44307":3013,"_44309":3013,"_44311":3013,"_44313":3013,"_44315":3013,"_44317":3013,"_44319":3013,"_44321":3013,"_44323":3013,"_44325":3013,"_44327":3013,"_44329":3013,"_44331":3013,"_44333":3013,"_44335":3013,"_44337":3013,"_44339":3013,"_44341":3013,"_44343":3013,"_44345":3013,"_44347":3013,"_44349":3013,"_44351":3013,"_44353":3013,"_44355":3013,"_44357":3013,"_44359":3013,"_44361":3013,"_44363":3013,"_44365":3013,"_44367":3013,"_44369":3013,"_44371":3013,"_44373":3013,"_44375":3013,"_44377":3013,"_44379":3013,"_44381":3013,"_44383":3013,"_44385":3013,"_44387":3013,"_44389":3013,"_44391":3013,"_44393":3013,"_44395":3013,"_44397":3013,"_44399":3013,"_44401":3013,"_44403":3013,"_44405":3013,"_44407":3013,"_44409":3013,"_44411":3013,"_44413":3013,"_44415":3013,"_44417":3013,"_44419":3013,"_44421":3013,"_44423":3013,"_44425":3013,"_44427":3013,"_44429":3013,"_44431":3013,"_44433":3013,"_44435":3013,"_44437":3013,"_44439":3013,"_44441":3013,"_44443":3013,"_44445":3013,"_44447":3013,"_44449":3013,"_44451":3013,"_44453":3013,"_44455":3013,"_44457":3013,"_44459":3013,"_44461":3013,"_44463":3013,"_44465":3013,"_44467":3013,"_44469":3013,"_44471":3013,"_44473":3013,"_44475":3013,"_44477":3013,"_44479":3013,"_44481":3013,"_44483":3013,"_44485":3013,"_44487":3013,"_44489":3013,"_44491":3013,"_44493":3013,"_44495":3013,"_44497":3013,"_44499":3013,"_44501":3013,"_44503":3013,"_44505":3013,"_44507":3013,"_44509":3013,"_44511":3013,"_44513":3013,"_44515":3013,"_44517":3013,"_44519":3013,"_44521":3013,"_44523":3013,"_44525":3013,"_44527":3013,"_44529":3013,"_44531":3013,"_44533":3013,"_44535":3013,"_44537":3013,"_44539":3013,"_44541":3013,"_44543":3013,"_44545":3013,"_44547":3013,"_44549":3013,"_44551":3013,"_44553":3013,"_44555":3013,"_44557":3013,"_44559":3013,"_16417":3013,"_44562":3013,"_44564":3013,"_44566":3013,"_44568":3013,"_44570":3013,"_44572":3013,"_44574":3013,"_44576":3013,"_44578":3013,"_44580":3013,"_44582":3013,"_44584":3013,"_44586":3013,"_44588":3013,"_16490":3013,"_44591":3013,"_44593":3013,"_44595":3013,"_44597":3013,"_44599":3013,"_44601":3013,"_44603":3013,"_44605":3013,"_44607":3013,"_44609":3013,"_44611":3013,"_44613":3013,"_44615":3013,"_44617":3013,"_44619":3013,"_44621":3013,"_44623":3013,"_44625":3013,"_44627":3013,"_44629":3013,"_44631":3013,"_44633":3013,"_44635":3013,"_44637":3013,"_44639":3013,"_44641":3013,"_44643":3013,"_44645":3013,"_44647":3013,"_44649":3013,"_44651":3013,"_44653":3013,"_44655":3013,"_44657":3013,"_44659":3013,"_44661":3013,"_44663":3013,"_44665":3013,"_44667":3013,"_44669":3013,"_44671":3013,"_44673":3013,"_44675":3013,"_44677":3013,"_44679":3013,"_44681":3013,"_44683":3013,"_44685":3013,"_44687":3013,"_44689":3013,"_44691":3013,"_44693":3013,"_44695":3013,"_44697":3013,"_44699":3013,"_44701":3013,"_44703":3013,"_44705":3013,"_44707":3013,"_44709":3013,"_44711":3013,"_44713":3013,"_44715":3013,"_44717":3013,"_44719":3013,"_44721":3013,"_44723":3013,"_44725":3013,"_44727":3013,"_44729":3013,"_44731":3013,"_44733":3013,"_44735":3013,"_44737":3013,"_44739":3013,"_36662":3013,"_44742":3013,"_44744":3013,"_44746":3013,"_44748":3013,"_44750":3013,"_44752":3013,"_44754":3013,"_44756":3013,"_37339":3013,"_44759":3013,"_44761":3013,"_44763":3013,"_44765":3013,"_44767":3013,"_44769":3013,"_44771":3013,"_37329":3013,"_44774":3013,"_44776":3013,"_44778":3013,"_37349":3013,"_44781":3013,"_44783":3013,"_37365":3013,"_44786":3013,"_44788":3013,"_37354":3013,"_44791":3013,"_44793":3013,"_44795":3013,"_44797":3013,"_44799":3013,"_44801":3013,"_44803":3013,"_44805":3013,"_44807":3013,"_44809":3013,"_44811":3013,"_44813":3013,"_44815":3013,"_44817":3013,"_44819":3013,"_44821":3013,"_44823":3013,"_44825":3013,"_44827":3013,"_44829":3013,"_44831":3013,"_44833":3013,"_44835":3013,"_44837":3013,"_44839":3013,"_44841":3013,"_44843":3013,"_44845":3013,"_44847":3013,"_16496":3013,"_44850":3013,"_44852":3013,"_44854":3013,"_44856":3013,"_44858":3013,"_44860":3013,"_44862":3013,"_44864":3013,"_44866":3013,"_44868":3013,"_44870":3013,"_44872":3013,"_44874":3013,"_44876":3013,"_44878":3013,"_44880":3013,"_44882":3013,"_44884":3013,"_44886":3013,"_44888":3013,"_44890":3013,"_44892":3013,"_44894":3013,"_44896":3013,"_44898":3013,"_44900":3013,"_44902":3013,"_44904":3013,"_44906":3013,"_44908":3013,"_44910":3013,"_44912":3013,"_44914":3013,"_44916":3013,"_44918":3013,"_44920":3013,"_44922":3013,"_44924":3013,"_44926":3013,"_44928":3013,"_44930":3013,"_44932":3013,"_44934":3013,"_44936":3013,"_44938":3013,"_44940":3013,"_44942":3013,"_44944":3013,"_44946":3013,"_44948":3013,"_44950":3013,"_44952":3013,"_44954":3013,"_44956":3013,"_44958":3013,"_44960":3013,"_44962":3013,"_44964":3013,"_44966":3013,"_44968":3013,"_44970":3013,"_44972":3013,"_44974":3013,"_44976":3013,"_44978":3013,"_44980":3013,"_44982":3013,"_44984":3013,"_44986":3013,"_44988":3013,"_44990":3013,"_44992":3013,"_44994":3013,"_44996":3013,"_44998":3013,"_45000":3013,"_45002":3013,"_45004":3013,"_45006":3013,"_45008":3013,"_45010":3013,"_45012":3013,"_45014":3013,"_45016":3013,"_45018":3013,"_45020":3013,"_45022":3013,"_45024":3013,"_45026":3013,"_45028":3013,"_45030":3013,"_45032":3013,"_45034":3013,"_45036":3013,"_45038":3013,"_45040":3013,"_45042":3013,"_45044":3013,"_45046":3013,"_45048":3013,"_45050":3013,"_45052":3013,"_45054":3013,"_45056":3013,"_45058":3013,"_45060":3013,"_45062":3013,"_45064":3013,"_45066":3013,"_45068":3013,"_45070":3013,"_45072":3013,"_45074":3013,"_45076":3013,"_45078":3013,"_45080":3013,"_45082":3013,"_45084":3013,"_45086":3013,"_45088":3013,"_45090":3013,"_45092":3013,"_45094":3013,"_45096":3013,"_45098":3013,"_45100":3013,"_45102":3013,"_45104":3013,"_45106":3013,"_45108":3013,"_45110":3013,"_45112":3013,"_37455":3013,"_45115":3013,"_45117":3013,"_45119":3013,"_45121":3013,"_45123":3013,"_45125":3013,"_45127":3013,"_45129":3013,"_45131":3013,"_45133":3013,"_45135":3013,"_45137":3013,"_45139":3013},{"_6884":2229,"_40847":2229,"_11438":2229,"_41035":2229,"_41079":2229,"_41639":2229,"_41681":2229,"_41846":2229,"_41850":2229,"_41980":2229,"_42239":2229,"_42353":2229,"_42493":2229,"_42533":2229,"_42677":2229,"_42713":2229,"_42747":2229,"_42915":3013,"_42979":3013,"_43055":2229,"_43165":2229,"_43272":2229,"_43312":2229,"_43339":2229,"_43444":2229,"_43461":2229,"_43485":2229,"_43519":2229,"_43611":2229,"_43675":3013,"_43885":3013,"_44325":2229,"_44457":3013,"_44615":2229,"_44725":2229},{"_6884":6014,"_5968":6014,"_11313":13290,"_11353":13290,"_11327":13290,"_11320":13290,"_11346":13290,"_11375":13290,"_11306":13290,"_36123":13290,"_11342":13290,"_36627":13290,"_36749":13290,"_36700":13290,"_11445":13290,"_12197":13290,"_36739":13290,"_36759":13290,"_12027":13290,"_11889":13290,"_37450":13290,"_12203":13290,"_40818":13290,"_36616":13290,"_36046":13290,"_36685":13290,"_12270":13290,"_37480":13290,"_12512":13290,"_35574":13290,"_35645":13290,"_35619":13290,"_12054":13290,"_35635":13290,"_35650":13290,"_12102":13290,"_35655":13290,"_11406":13290,"_11866":13290,"_12080":13290,"_40847":6014,"_40849":6014,"_40851":13290,"_40854":6014,"_36679":13290,"_40857":13290,"_11356":13290,"_40862":13290,"_12471":13290,"_36302":6014,"_12518":6014,"_11438":6014,"_37112":6014,"_40872":13290,"_40874":13290,"_40876":13290,"_40879":13290,"_37107":13290,"_37102":13290,"_11469":13290,"_40886":13290,"_40889":13290,"_40891":13290,"_30746":13290,"_40894":13290,"_40897":13290,"_40899":13290,"_40902":13290,"_40904":13290,"_40906":13290,"_40909":13290,"_40912":13290,"_40914":13290,"_11485":13290,"_40918":13290,"_36784":13290,"_40921":13290,"_11684":13290,"_11349":13290,"_36838":13290,"_37456":13290,"_12393":13290,"_40929":13290,"_40931":13290,"_40933":13290,"_36853":13290,"_40936":13290,"_11378":13290,"_12108":13290,"_35688":13290,"_36663":13290,"_40943":13290,"_40945":13290,"_37626":13290,"_40948":13290,"_11421":13290,"_40951":13290,"_40953":13290,"_12125":13290,"_36130":13290,"_40958":13290,"_40960":13290,"_40963":13290,"_40965":13290,"_40967":13290,"_40969":13290,"_40971":13290,"_11336":13290,"_40974":13290,"_40976":13290,"_40978":13290,"_40980":13290,"_40982":13290,"_40985":13290,"_16358":13290,"_40988":13290,"_40990":13290,"_40992":13290,"_40994":13290,"_40996":13290,"_40998":13290,"_41001":13290,"_41003":13290,"_41005":13290,"_41007":13290,"_41010":13290,"_36637":13290,"_36632":13290,"_41015":13290,"_36754":13290,"_41019":13290,"_41021":13290,"_41023":13290,"_41025":13290,"_41027":13290,"_41029":13290,"_41031":13290,"_41033":13290,"_41035":6014,"_41037":6014,"_41039":13290,"_41041":13290,"_41043":6014,"_41046":6014,"_41048":13290,"_41050":13290,"_41052":13290,"_41054":13290,"_41057":13290,"_41059":13290,"_41061":13290,"_41063":13290,"_41065":13290,"_41067":13290,"_41069":13290,"_41071":13290,"_41073":13290,"_41075":13290,"_41077":13290,"_41079":6014,"_41081":6014,"_41083":13290,"_41085":13290,"_41087":13290,"_41089":13290,"_41091":13290,"_41093":13290,"_36725":13290,"_41096":13290,"_41098":13290,"_41100":13290,"_36744":13290,"_41103":13290,"_41105":6014,"_41108":6014,"_41110":6014,"_41112":13290,"_41114":13290,"_41116":13290,"_41118":13290,"_41120":13290,"_41122":13290,"_41124":13290,"_41126":13290,"_41128":13290,"_41130":13290,"_41132":13290,"_41134":13290,"_41136":13290,"_41138":13290,"_41140":13290,"_36651":13290,"_41145":13290,"_36646":13290,"_41149":13290,"_41151":13290,"_41153":13290,"_41155":13290,"_41157":13290,"_16474":13290,"_37344":13290,"_35538":13290,"_41164":13290,"_41166":13290,"_41169":13290,"_41171":13290,"_41173":13290,"_41176":13290,"_41178":13290,"_41180":13290,"_41183":13290,"_41186":13290,"_41188":13290,"_41190":13290,"_41192":13290,"_41194":13290,"_41197":13290,"_41199":13290,"_41201":13290,"_41203":13290,"_41206":13290,"_41208":13290,"_41210":13290,"_41212":13290,"_41214":13290,"_41216":13290,"_41218":13290,"_41220":13290,"_41222":13290,"_41224":13290,"_41226":13290,"_41228":13290,"_41230":13290,"_41232":13290,"_41234":13290,"_41236":13290,"_41238":13290,"_41240":13290,"_41242":13290,"_41244":13290,"_41246":13290,"_41248":13290,"_41250":13290,"_41252":13290,"_41254":13290,"_41256":13290,"_41258":13290,"_41260":13290,"_41262":13290,"_37379":13290,"_41266":13290,"_41268":13290,"_41270":13290,"_37384":13290,"_37374":13290,"_22897":13290,"_41275":13290,"_41277":13290,"_41279":13290,"_41281":13290,"_41283":13290,"_41285":13290,"_41287":13290,"_41290":13290,"_41292":13290,"_41294":13290,"_41296":13290,"_41298":13290,"_41300":13290,"_41302":13290,"_41305":13290,"_41307":13290,"_41309":13290,"_41311":13290,"_41313":13290,"_41315":13290,"_41317":13290,"_41319":13290,"_41321":13290,"_41323":13290,"_41325":13290,"_41327":13290,"_41329":13290,"_41331":13290,"_41333":13290,"_41335":13290,"_41337":13290,"_37485":13290,"_41340":13290,"_41342":13290,"_41344":13290,"_41346":13290,"_41349":13290,"_41351":13290,"_41353":13290,"_41355":13290,"_41357":13290,"_41359":13290,"_41362":13290,"_35589":13290,"_41365":13290,"_41367":13290,"_41369":13290,"_35579":13290,"_41372":13290,"_41375":13290,"_41378":13290,"_41380":13290,"_41383":13290,"_41386":13290,"_41388":13290,"_41390":13290,"_41392":13290,"_41394":13290,"_41396":13290,"_41398":13290,"_41401":13290,"_41404":13290,"_41406":13290,"_11390":13290,"_41409":13290,"_41411":13290,"_41413":13290,"_41415":13290,"_35624":13290,"_41418":13290,"_41420":13290,"_41422":13290,"_41424":13290,"_41426":13290,"_41428":13290,"_11316":13290,"_41432":13290,"_41434":13290,"_41436":13290,"_41438":13290,"_41440":13290,"_41442":13290,"_41444":13290,"_35640":13290,"_41447":13290,"_41449":13290,"_41451":13290,"_41453":13290,"_41455":13290,"_41457":13290,"_41459":13290,"_41461":13290,"_41463":13290,"_41465":13290,"_41467":13290,"_41469":13290,"_41471":13290,"_41473":13290,"_41475":13290,"_41477":13290,"_41479":13290,"_41481":13290,"_41483":13290,"_41485":13290,"_41487":13290,"_41489":13290,"_41491":13290,"_41493":13290,"_41495":13290,"_41497":13290,"_41499":13290,"_41501":13290,"_41503":13290,"_41505":13290,"_41507":13290,"_41509":13290,"_41511":13290,"_41514":13290,"_41516":13290,"_41518":13290,"_41520":13290,"_41522":13290,"_41524":13290,"_41526":13290,"_41528":13290,"_41530":13290,"_41532":13290,"_22920":13290,"_41536":13290,"_41538":13290,"_41540":13290,"_35672":13290,"_41543":13290,"_41545":13290,"_41547":13290,"_41549":13290,"_41551":13290,"_41553":13290,"_41555":13290,"_41557":13290,"_41559":13290,"_41561":13290,"_41563":13290,"_36040":13290,"_41566":13290,"_41568":13290,"_41571":13290,"_41573":13290,"_41575":13290,"_41577":13290,"_41580":13290,"_41582":13290,"_41584":13290,"_41586":13290,"_41588":13290,"_41590":13290,"_41592":13290,"_41595":13290,"_41597":13290,"_41599":13290,"_41601":13290,"_41603":13290,"_41605":13290,"_41608":13290,"_41610":13290,"_41612":13290,"_41614":13290,"_41616":13290,"_36045":13290,"_41619":13290,"_41621":13290,"_41623":13290,"_41625":13290,"_41627":13290,"_41629":13290,"_41631":13290,"_41633":13290,"_41635":13290,"_41637":13290,"_41639":6014,"_36051":6014,"_41642":13290,"_41644":13290,"_41646":13290,"_41648":13290,"_41650":6014,"_41652":13290,"_41654":13290,"_41656":13290,"_41658":13290,"_41660":13290,"_41662":13290,"_41665":13290,"_41668":13290,"_41670":13290,"_41672":13290,"_41675":13290,"_41677":13290,"_41679":13290,"_41681":6014,"_41683":6014,"_41685":13290,"_41687":13290,"_41689":13290,"_41691":13290,"_41693":13290,"_41695":13290,"_41697":13290,"_41699":13290,"_41701":13290,"_41703":6014,"_41705":6014,"_41707":6014,"_41709":6014,"_41711":6014,"_41713":13290,"_41715":13290,"_41717":13290,"_41719":13290,"_41721":13290,"_41723":13290,"_41725":13290,"_41727":13290,"_41729":13290,"_41731":13290,"_41733":13290,"_41735":13290,"_41737":13290,"_41739":13290,"_11427":13290,"_41742":13290,"_41744":13290,"_41746":13290,"_41748":13290,"_41750":13290,"_41752":13290,"_41754":13290,"_41756":13290,"_41758":13290,"_41760":13290,"_41762":13290,"_41764":13290,"_41766":13290,"_37087":13290,"_12612":13290,"_41770":13290,"_41772":13290,"_41774":13290,"_41776":13290,"_41778":13290,"_41780":13290,"_41782":13290,"_41784":13290,"_41786":13290,"_41788":13290,"_41790":13290,"_41792":13290,"_41794":13290,"_41796":13290,"_41798":13290,"_41800":13290,"_41802":13290,"_41804":13290,"_41806":13290,"_41808":13290,"_41810":13290,"_41812":13290,"_41814":13290,"_41816":13290,"_41818":13290,"_41820":13290,"_41822":13290,"_41824":13290,"_41826":13290,"_41828":13290,"_41830":13290,"_41832":13290,"_41834":13290,"_41836":13290,"_41838":13290,"_41840":13290,"_41842":13290,"_41844":13290,"_41846":20080,"_41848":20080,"_41850":20080,"_41852":20080,"_41854":6014,"_36062":6014,"_41857":6014,"_41859":6014,"_41861":6014,"_41863":6014,"_41865":6014,"_41867":6014,"_41869":6014,"_41871":6014,"_41873":6014,"_41875":6014,"_41877":6014,"_41879":6014,"_41881":6014,"_41883":6014,"_41885":6014,"_41887":6014,"_41889":6014,"_41891":6014,"_41893":6014,"_41895":6014,"_41897":6014,"_41899":6014,"_41901":6014,"_41903":6014,"_41905":6014,"_41907":6014,"_41909":6014,"_41911":6014,"_41913":6014,"_11384":6014,"_41916":6014,"_41918":6014,"_41920":6014,"_41922":6014,"_41924":6014,"_41926":6014,"_41928":6014,"_41930":6014,"_41932":6014,"_41934":6014,"_16423":6014,"_41937":6014,"_41939":6014,"_41941":6014,"_11330":6014,"_41944":6014,"_41946":6014,"_41948":6014,"_41950":6014,"_41952":6014,"_41954":6014,"_41956":6014,"_41958":6014,"_41960":6014,"_41962":6014,"_41964":6014,"_41966":6014,"_41968":6014,"_41970":6014,"_41972":6014,"_41974":6014,"_41976":6014,"_41978":6014,"_41980":20080,"_41982":20080,"_41984":6014,"_41986":6014,"_41988":6014,"_41990":6014,"_41992":6014,"_41994":6014,"_41996":6014,"_41998":6014,"_42000":6014,"_42002":6014,"_42004":6014,"_42006":6014,"_11323":6014,"_42009":6014,"_42011":6014,"_42013":6014,"_42015":6014,"_42017":6014,"_42019":6014,"_42021":6014,"_42023":6014,"_42025":6014,"_42027":20080,"_42029":20080,"_42031":20080,"_42033":20080,"_42035":20080,"_42037":20080,"_42039":20080,"_42041":6014,"_42043":6014,"_42045":6014,"_42047":6014,"_42049":6014,"_42051":6014,"_42053":6014,"_42055":6014,"_42057":6014,"_42059":6014,"_42061":6014,"_42063":6014,"_42065":6014,"_42067":6014,"_42069":6014,"_42071":6014,"_42073":6014,"_42075":6014,"_42077":6014,"_42079":6014,"_42081":6014,"_42083":6014,"_42085":6014,"_42087":6014,"_42089":6014,"_42091":6014,"_42093":6014,"_42095":6014,"_42097":6014,"_42099":6014,"_42101":6014,"_42103":6014,"_42105":6014,"_42107":6014,"_42109":6014,"_42111":6014,"_42114":6014,"_42116":6014,"_42118":6014,"_42120":6014,"_42122":6014,"_42124":6014,"_42126":6014,"_42128":6014,"_42130":6014,"_42132":6014,"_42134":6014,"_42136":6014,"_42139":6014,"_42141":6014,"_42143":6014,"_42146":6014,"_42148":6014,"_42151":6014,"_42153":6014,"_42155":6014,"_42157":6014,"_42159":6014,"_42161":6014,"_42163":6014,"_42165":6014,"_42167":6014,"_42169":6014,"_42171":6014,"_42173":6014,"_42175":6014,"_42177":6014,"_42180":6014,"_42182":6014,"_42184":6014,"_42186":6014,"_42188":6014,"_42190":6014,"_42192":6014,"_42194":6014,"_42196":6014,"_42198":6014,"_42200":6014,"_42202":6014,"_42204":6014,"_42206":6014,"_42208":6014,"_42210":6014,"_42212":6014,"_42214":6014,"_42216":6014,"_42218":6014,"_42220":6014,"_42222":6014,"_42224":6014,"_42227":6014,"_11451":6014,"_42231":6014,"_42233":6014,"_42235":6014,"_42237":6014,"_42239":20080,"_42241":20080,"_42243":6014,"_42245":6014,"_42247":6014,"_42249":6014,"_42251":6014,"_42253":6014,"_42255":6014,"_42257":20080,"_42259":20080,"_42261":20080,"_42263":6014,"_42265":6014,"_42267":6014,"_42269":6014,"_42271":6014,"_42273":6014,"_42275":6014,"_42277":6014,"_42279":6014,"_42281":6014,"_42283":6014,"_42285":6014,"_42287":6014,"_42289":6014,"_42291":6014,"_42293":6014,"_42295":6014,"_42297":6014,"_42299":6014,"_42301":6014,"_42303":6014,"_42305":6014,"_42307":6014,"_42309":6014,"_42311":6014,"_42313":6014,"_42315":6014,"_42317":6014,"_42319":6014,"_42321":6014,"_42323":6014,"_42325":6014,"_42327":6014,"_42329":6014,"_42331":6014,"_42333":6014,"_12529":6014,"_42336":6014,"_42338":6014,"_42340":6014,"_42342":6014,"_42344":6014,"_42346":6014,"_37445":6014,"_42349":6014,"_42351":6014,"_42353":20080,"_42355":20080,"_42357":6014,"_42359":6014,"_42361":6014,"_42363":6014,"_35029":6014,"_42366":6014,"_42368":6014,"_42370":6014,"_42372":6014,"_42374":6014,"_42376":6014,"_42378":6014,"_42380":6014,"_42382":6014,"_42384":6014,"_42386":6014,"_42388":6014,"_42390":6014,"_42392":6014,"_42394":6014,"_42396":6014,"_42398":6014,"_42400":6014,"_42402":6014,"_42404":6014,"_42406":6014,"_42408":6014,"_42410":6014,"_42412":6014,"_42414":6014,"_42416":6014,"_42418":6014,"_42420":6014,"_42422":6014,"_42424":6014,"_42426":6014,"_42428":6014,"_42430":6014,"_42432":6014,"_42434":6014,"_42436":6014,"_42438":6014,"_42440":6014,"_42442":6014,"_42444":6014,"_42446":6014,"_12606":6014,"_42449":6014,"_42451":6014,"_42453":6014,"_42455":6014,"_42457":6014,"_42459":6014,"_42461":6014,"_42463":6014,"_42465":6014,"_42467":6014,"_42469":6014,"_42471":6014,"_42473":6014,"_42475":6014,"_42477":6014,"_42479":6014,"_42481":6014,"_42483":6014,"_42485":6014,"_42487":6014,"_42489":6014,"_42491":6014,"_42493":20080,"_42495":20080,"_42497":6014,"_42499":6014,"_42501":6014,"_42503":20080,"_42505":20080,"_42507":20080,"_42509":6014,"_42511":6014,"_42513":6014,"_42515":6014,"_42517":6014,"_42519":6014,"_42521":6014,"_42523":6014,"_42525":6014,"_42527":6014,"_42529":6014,"_42531":6014,"_42533":20080,"_42535":20080,"_42537":6014,"_42539":6014,"_42541":6014,"_42543":6014,"_42545":6014,"_42547":6014,"_42549":6014,"_42551":6014,"_42553":6014,"_42555":6014,"_42557":6014,"_42559":6014,"_42561":6014,"_42563":6014,"_11309":6014,"_42566":6014,"_42568":6014,"_42570":6014,"_42572":6014,"_42574":6014,"_42576":6014,"_42578":6014,"_42580":6014,"_12634":6014,"_42583":6014,"_42585":6014,"_42587":6014,"_42589":6014,"_42591":6014,"_42593":6014,"_42595":6014,"_42597":6014,"_42599":6014,"_42601":6014,"_42603":6014,"_42605":6014,"_42607":6014,"_42609":6014,"_42611":6014,"_42613":6014,"_42615":6014,"_42617":6014,"_42619":6014,"_42621":6014,"_42623":6014,"_42625":6014,"_42627":6014,"_42629":6014,"_42631":6014,"_42633":6014,"_42635":6014,"_42637":6014,"_42639":6014,"_42641":6014,"_42643":6014,"_42645":6014,"_42647":6014,"_42649":6014,"_42651":6014,"_42653":6014,"_42655":6014,"_42657":6014,"_42659":6014,"_42661":6014,"_42663":6014,"_42665":6014,"_42667":6014,"_42669":6014,"_42671":6014,"_42673":6014,"_42675":6014,"_42677":20080,"_42679":20080,"_42681":6014,"_42683":6014,"_42685":6014,"_42687":20080,"_42689":20080,"_42691":20080,"_42693":6014,"_42695":6014,"_42697":6014,"_42699":6014,"_42701":6014,"_42703":6014,"_42705":6014,"_42707":6014,"_42709":6014,"_42711":6014,"_42713":20080,"_42715":20080,"_42717":6014,"_42719":6014,"_42721":20080,"_42723":20080,"_42725":20080,"_42727":20080,"_42729":20080,"_42731":20080,"_42733":6014,"_42735":6014,"_42737":6014,"_42739":6014,"_42741":6014,"_42743":6014,"_42745":6014,"_42747":20080,"_42749":20080,"_42751":6014,"_42753":6014,"_42755":6014,"_42757":6014,"_42759":6014,"_36137":6014,"_42762":6014,"_42764":6014,"_42766":6014,"_42768":6014,"_42770":6014,"_42772":6014,"_42774":6014,"_42776":6014,"_42778":6014,"_42780":6014,"_42782":6014,"_42784":6014,"_42786":6014,"_42788":6014,"_42790":6014,"_42792":6014,"_42794":6014,"_42796":6014,"_42798":6014,"_42800":6014,"_42802":6014,"_42804":6014,"_42806":6014,"_36615":6014,"_42809":6014,"_42811":6014,"_42813":6014,"_42815":6014,"_42817":6014,"_42819":6014,"_42821":6014,"_42823":6014,"_42825":6014,"_42827":6014,"_42829":6014,"_42831":6014,"_42833":6014,"_42835":6014,"_42837":6014,"_42839":6014,"_42841":6014,"_42843":6014,"_42845":6014,"_42847":6014,"_42849":6014,"_42851":6014,"_42853":6014,"_42855":6014,"_42857":6014,"_42859":6014,"_42861":6014,"_42863":6014,"_42865":6014,"_42867":6014,"_42869":6014,"_42871":6014,"_42873":6014,"_42875":6014,"_42877":6014,"_42879":6014,"_42881":6014,"_42883":6014,"_42885":6014,"_42887":6014,"_42889":6014,"_42891":6014,"_42893":6014,"_42895":6014,"_42897":6014,"_42899":6014,"_42901":6014,"_42903":6014,"_42905":6014,"_42907":6014,"_42909":6014,"_42911":6014,"_42913":6014,"_42915":20080,"_42917":20080,"_42919":6014,"_42921":6014,"_42923":6014,"_42925":6014,"_42927":6014,"_42929":6014,"_42931":6014,"_42933":6014,"_42935":6014,"_42937":6014,"_42939":6014,"_42941":6014,"_42943":6014,"_42945":6014,"_42947":6014,"_42949":6014,"_42951":6014,"_42953":6014,"_42955":6014,"_42957":6014,"_42959":6014,"_42961":6014,"_42963":6014,"_42965":6014,"_42967":6014,"_42969":6014,"_42971":6014,"_42973":6014,"_42975":6014,"_42977":6014,"_42979":20080,"_42981":20080,"_42983":6014,"_42985":6014,"_42987":6014,"_42989":6014,"_42991":6014,"_42993":6014,"_42995":6014,"_42997":6014,"_42999":6014,"_43001":6014,"_43003":6014,"_43005":6014,"_43007":6014,"_43009":6014,"_36684":6014,"_43012":6014,"_43014":6014,"_43016":6014,"_43018":6014,"_43020":6014,"_43022":6014,"_43024":6014,"_43026":6014,"_43028":6014,"_43030":6014,"_43032":6014,"_43034":6014,"_43036":6014,"_43038":6014,"_43040":6014,"_43042":6014,"_43044":6014,"_43046":6014,"_36678":6014,"_43049":6014,"_43051":6014,"_43053":6014,"_43055":6014,"_43057":6014,"_43059":13290,"_43061":13290,"_43063":13290,"_43065":6014,"_43067":6014,"_43069":6014,"_43071":6014,"_43073":13290,"_43075":13290,"_43077":13290,"_43079":13290,"_43081":13290,"_43083":13290,"_43085":13290,"_43087":13290,"_43089":13290,"_43091":13290,"_43093":13290,"_43095":13290,"_43097":13290,"_43099":13290,"_43101":13290,"_43103":13290,"_43105":13290,"_43107":13290,"_43109":13290,"_43111":13290,"_43113":13290,"_43115":13290,"_43117":13290,"_43119":13290,"_43121":13290,"_43123":13290,"_43125":13290,"_43127":13290,"_43129":13290,"_43131":13290,"_43133":13290,"_43135":13290,"_43137":13290,"_43139":13290,"_43141":13290,"_43143":13290,"_43145":13290,"_43147":13290,"_43149":13290,"_43151":13290,"_43153":13290,"_43155":13290,"_43157":13290,"_43159":13290,"_43161":13290,"_43163":13290,"_43165":6014,"_43167":6014,"_43169":13290,"_43171":13290,"_43173":13290,"_43175":13290,"_43177":13290,"_43179":6014,"_43181":13290,"_43183":13290,"_43185":13290,"_43187":13290,"_43189":13290,"_43191":13290,"_43193":13290,"_43195":13290,"_43197":13290,"_43199":13290,"_43201":13290,"_43203":13290,"_43205":13290,"_43207":13290,"_43209":13290,"_43211":13290,"_43213":13290,"_43215":13290,"_43217":13290,"_43219":13290,"_43221":13290,"_43223":13290,"_43225":13290,"_43227":13290,"_43229":13290,"_43231":13290,"_43234":13290,"_43236":13290,"_43238":13290,"_43240":13290,"_43242":13290,"_43244":13290,"_43246":13290,"_43248":13290,"_43250":13290,"_43252":13290,"_43254":13290,"_43256":13290,"_43258":13290,"_43260":13290,"_43262":13290,"_43264":13290,"_43266":13290,"_43268":13290,"_43270":13290,"_43272":6014,"_43274":6014,"_43276":13290,"_43278":13290,"_43280":6014,"_43282":13290,"_43284":13290,"_43286":13290,"_43288":13290,"_43290":13290,"_43292":13290,"_43294":13290,"_43296":13290,"_43298":13290,"_43300":13290,"_43302":13290,"_43304":13290,"_43306":13290,"_43308":13290,"_43310":13290,"_43312":6014,"_43314":6014,"_43316":6014,"_43318":6014,"_43320":6014,"_43322":6014,"_43324":6014,"_43326":6014,"_43328":6014,"_43330":6014,"_43332":6014,"_43334":6014,"_43336":6014,"_43339":6014,"_43341":6014,"_43343":13290,"_43345":13290,"_43347":13290,"_43349":13290,"_43351":13290,"_43353":13290,"_43355":13290,"_43357":13290,"_43359":13290,"_43361":13290,"_43363":13290,"_43365":13290,"_43367":6014,"_43369":6014,"_43371":6014,"_43373":6014,"_43375":6014,"_43377":6014,"_43379":6014,"_43381":13290,"_43383":13290,"_43385":13290,"_43387":13290,"_43389":13290,"_43391":13290,"_43393":13290,"_43396":13290,"_43398":13290,"_43400":13290,"_43402":13290,"_43404":13290,"_43406":13290,"_43408":13290,"_43410":13290,"_43412":13290,"_43414":13290,"_43416":13290,"_43418":13290,"_43420":13290,"_43422":13290,"_43424":13290,"_43426":13290,"_43428":13290,"_43430":13290,"_43432":13290,"_43434":13290,"_43436":13290,"_43438":13290,"_43440":13290,"_43442":13290,"_43444":6014,"_43446":6014,"_43448":6014,"_43450":6014,"_43452":6014,"_43454":6014,"_43456":6014,"_43458":6014,"_43461":20080,"_43463":20080,"_43465":6014,"_43467":20080,"_43469":20080,"_43471":20080,"_43473":6014,"_43475":6014,"_43477":6014,"_43479":6014,"_43481":6014,"_43483":6014,"_43485":6014,"_43487":6014,"_43489":6014,"_43491":6014,"_43493":6014,"_43495":6014,"_43497":6014,"_43499":6014,"_43501":6014,"_43503":6014,"_43505":6014,"_43507":6014,"_43509":6014,"_43511":6014,"_43513":6014,"_43515":6014,"_43517":6014,"_43519":6014,"_43521":6014,"_43523":13290,"_43525":6014,"_43527":6014,"_43529":6014,"_43531":6014,"_43533":6014,"_43535":6014,"_43537":6014,"_43539":6014,"_43541":6014,"_43543":6014,"_43545":6014,"_43547":6014,"_43549":6014,"_43551":6014,"_43553":6014,"_43555":6014,"_43557":6014,"_43559":6014,"_43561":6014,"_43563":6014,"_43565":6014,"_43567":6014,"_43569":6014,"_43571":6014,"_43573":6014,"_43575":6014,"_43577":6014,"_43579":6014,"_43581":6014,"_43583":6014,"_43585":6014,"_43587":6014,"_43589":6014,"_43591":6014,"_43593":6014,"_43595":6014,"_43597":6014,"_43599":13290,"_43601":13290,"_43603":13290,"_43605":13290,"_43607":13290,"_43609":13290,"_43611":6014,"_43613":6014,"_43615":13290,"_43617":13290,"_43619":13290,"_43621":13290,"_43623":13290,"_43625":6014,"_43627":6014,"_43629":6014,"_43631":6014,"_43633":6014,"_43635":6014,"_43637":13290,"_43639":13290,"_43641":13290,"_43643":13290,"_43645":13290,"_43647":13290,"_43649":13290,"_43651":13290,"_43653":13290,"_43655":13290,"_43657":13290,"_43659":13290,"_43661":13290,"_43663":13290,"_43665":13290,"_43667":13290,"_43669":13290,"_43671":13290,"_43673":13290,"_43675":20080,"_43677":20080,"_43679":6014,"_43681":6014,"_43683":6014,"_43685":6014,"_43687":6014,"_43689":6014,"_43691":6014,"_43693":6014,"_43695":6014,"_43697":6014,"_43699":6014,"_43701":6014,"_43703":6014,"_43705":6014,"_43707":6014,"_43709":6014,"_43711":6014,"_43713":6014,"_43715":6014,"_43717":6014,"_43719":6014,"_43721":6014,"_43723":6014,"_43725":6014,"_43727":6014,"_43729":6014,"_43731":6014,"_43733":6014,"_43735":6014,"_43737":6014,"_43739":6014,"_43741":6014,"_43743":6014,"_43745":6014,"_43747":6014,"_43749":6014,"_43751":6014,"_43753":6014,"_43755":6014,"_43757":6014,"_43759":6014,"_43761":6014,"_43763":6014,"_43765":6014,"_43767":6014,"_43769":6014,"_43771":6014,"_43773":6014,"_43775":6014,"_43777":6014,"_43779":6014,"_43781":6014,"_43783":6014,"_43785":6014,"_43787":6014,"_43789":6014,"_43791":6014,"_43793":6014,"_43795":6014,"_43797":6014,"_43799":6014,"_43801":6014,"_43803":6014,"_43805":6014,"_43807":6014,"_43809":6014,"_43811":6014,"_43813":6014,"_43815":6014,"_43817":6014,"_43819":6014,"_43821":6014,"_43823":6014,"_43825":6014,"_43827":6014,"_43829":6014,"_43831":6014,"_43833":6014,"_43835":6014,"_43837":6014,"_43839":6014,"_43841":6014,"_43843":6014,"_43845":6014,"_43847":6014,"_43849":6014,"_43851":6014,"_43853":6014,"_43855":6014,"_43857":6014,"_43859":6014,"_43861":6014,"_43863":6014,"_43865":6014,"_43867":6014,"_43869":6014,"_43871":6014,"_43873":6014,"_43875":6014,"_43877":6014,"_43879":6014,"_43881":6014,"_43883":6014,"_43885":20080,"_43887":20080,"_43889":6014,"_43891":6014,"_43893":6014,"_43895":6014,"_43897":6014,"_43899":6014,"_43901":6014,"_43903":6014,"_43905":6014,"_43907":6014,"_43909":6014,"_43911":6014,"_43913":6014,"_43915":6014,"_43917":6014,"_43919":6014,"_43921":6014,"_43923":6014,"_43925":6014,"_43927":6014,"_43929":6014,"_43931":6014,"_43933":6014,"_43935":6014,"_43937":6014,"_43939":6014,"_43941":6014,"_43943":6014,"_43945":6014,"_43947":6014,"_43949":6014,"_43951":6014,"_43953":6014,"_43955":6014,"_43957":6014,"_43959":6014,"_43961":6014,"_43963":6014,"_43965":6014,"_43967":6014,"_43969":6014,"_43971":6014,"_43973":6014,"_43975":6014,"_43977":6014,"_43979":6014,"_43981":6014,"_43983":6014,"_43985":6014,"_43987":6014,"_43989":6014,"_43991":6014,"_43993":6014,"_43995":6014,"_43997":6014,"_43999":6014,"_44001":6014,"_44003":6014,"_44005":6014,"_44007":6014,"_44009":20080,"_44011":20080,"_44013":20080,"_44015":6014,"_44017":6014,"_44019":6014,"_44021":6014,"_44023":6014,"_44025":6014,"_44027":6014,"_44029":6014,"_44031":6014,"_44033":6014,"_44035":6014,"_44037":6014,"_44039":6014,"_44041":6014,"_44043":6014,"_44045":6014,"_44047":6014,"_44049":6014,"_44051":6014,"_44053":6014,"_44055":6014,"_44057":6014,"_44059":6014,"_44061":6014,"_44063":6014,"_44065":6014,"_44067":6014,"_44069":6014,"_44071":6014,"_44073":6014,"_44075":6014,"_44077":6014,"_44079":6014,"_44081":6014,"_44083":6014,"_44085":6014,"_44087":6014,"_44089":6014,"_44091":6014,"_44093":6014,"_44095":6014,"_44097":6014,"_44099":6014,"_44101":6014,"_44103":6014,"_44105":6014,"_44107":6014,"_44109":6014,"_44111":6014,"_44113":6014,"_44115":6014,"_44117":6014,"_44119":6014,"_44121":6014,"_44123":6014,"_44125":6014,"_44127":6014,"_44129":6014,"_44131":6014,"_44133":6014,"_44135":6014,"_44137":6014,"_44139":6014,"_44141":6014,"_44143":6014,"_44145":6014,"_44147":6014,"_44149":6014,"_44151":6014,"_44153":6014,"_44155":6014,"_44157":6014,"_44159":6014,"_44161":6014,"_44163":6014,"_44165":6014,"_44167":6014,"_44169":6014,"_44171":6014,"_44173":6014,"_44175":6014,"_44177":6014,"_44179":6014,"_44181":6014,"_44183":6014,"_44185":6014,"_44187":6014,"_44189":6014,"_44191":6014,"_44193":6014,"_44195":6014,"_44197":6014,"_44199":6014,"_44201":6014,"_44203":6014,"_44205":6014,"_44207":6014,"_44209":6014,"_44211":6014,"_44213":6014,"_44215":6014,"_44217":6014,"_44219":6014,"_44221":6014,"_44223":6014,"_44225":6014,"_44227":6014,"_44229":6014,"_44231":6014,"_44233":6014,"_44235":6014,"_44237":6014,"_44239":6014,"_44241":6014,"_44243":6014,"_44245":6014,"_44247":6014,"_44249":6014,"_44251":6014,"_44253":6014,"_44255":6014,"_44257":6014,"_44259":6014,"_44261":6014,"_44263":6014,"_44265":6014,"_44267":6014,"_44269":6014,"_44271":6014,"_44273":6014,"_44275":6014,"_44277":6014,"_44279":6014,"_44281":6014,"_44283":6014,"_44285":6014,"_44287":6014,"_44289":6014,"_44291":6014,"_44293":6014,"_44295":6014,"_44297":6014,"_44299":6014,"_44301":6014,"_44303":6014,"_44305":6014,"_44307":6014,"_44309":6014,"_44311":6014,"_44313":6014,"_44315":6014,"_44317":6014,"_44319":6014,"_44321":6014,"_44323":6014,"_44325":3013,"_44327":3013,"_44329":2229,"_44331":2229,"_44333":2229,"_44335":2229,"_44337":2229,"_44339":2229,"_44341":2229,"_44343":2229,"_44345":2229,"_44347":2229,"_44349":2229,"_44351":2229,"_44353":2229,"_44355":2229,"_44357":2229,"_44359":2229,"_44361":2229,"_44363":2229,"_44365":2229,"_44367":2229,"_44369":2229,"_44371":2229,"_44373":2229,"_44375":2229,"_44377":2229,"_44379":2229,"_44381":2229,"_44383":2229,"_44385":2229,"_44387":2229,"_44389":2229,"_44391":2229,"_44393":2229,"_44395":2229,"_44397":2229,"_44399":2229,"_44401":2229,"_44403":2229,"_44405":2229,"_44407":2229,"_44409":2229,"_44411":2229,"_44413":2229,"_44415":2229,"_44417":2229,"_44419":2229,"_44421":2229,"_44423":2229,"_44425":2229,"_44427":2229,"_44429":2229,"_44431":2229,"_44433":2229,"_44435":2229,"_44437":2229,"_44439":2229,"_44441":2229,"_44443":2229,"_44445":2229,"_44447":2229,"_44449":2229,"_44451":2229,"_44453":2229,"_44455":2229,"_44457":20080,"_44459":20080,"_44461":6014,"_44463":6014,"_44465":6014,"_44467":6014,"_44469":6014,"_44471":6014,"_44473":6014,"_44475":6014,"_44477":6014,"_44479":6014,"_44481":6014,"_44483":6014,"_44485":6014,"_44487":6014,"_44489":6014,"_44491":6014,"_44493":6014,"_44495":6014,"_44497":6014,"_44499":6014,"_44501":6014,"_44503":6014,"_44505":6014,"_44507":6014,"_44509":6014,"_44511":6014,"_44513":6014,"_44515":6014,"_44517":6014,"_44519":6014,"_44521":6014,"_44523":6014,"_44525":6014,"_44527":6014,"_44529":6014,"_44531":6014,"_44533":6014,"_44535":6014,"_44537":6014,"_44539":6014,"_44541":6014,"_44543":6014,"_44545":6014,"_44547":6014,"_44549":6014,"_44551":6014,"_44553":6014,"_44555":6014,"_44557":6014,"_44559":6014,"_16417":6014,"_44562":6014,"_44564":6014,"_44566":6014,"_44568":6014,"_44570":6014,"_44572":6014,"_44574":6014,"_44576":6014,"_44578":6014,"_44580":6014,"_44582":6014,"_44584":6014,"_44586":6014,"_44588":6014,"_16490":6014,"_44591":6014,"_44593":6014,"_44595":6014,"_44597":6014,"_44599":6014,"_44601":6014,"_44603":6014,"_44605":6014,"_44607":6014,"_44609":6014,"_44611":6014,"_44613":6014,"_44615":20080,"_44617":20080,"_44619":6014,"_44621":6014,"_44623":6014,"_44625":6014,"_44627":6014,"_44629":6014,"_44631":6014,"_44633":6014,"_44635":6014,"_44637":6014,"_44639":6014,"_44641":6014,"_44643":6014,"_44645":6014,"_44647":6014,"_44649":6014,"_44651":6014,"_44653":6014,"_44655":6014,"_44657":6014,"_44659":6014,"_44661":6014,"_44663":6014,"_44665":6014,"_44667":6014,"_44669":6014,"_44671":6014,"_44673":6014,"_44675":6014,"_44677":6014,"_44679":6014,"_44681":6014,"_44683":6014,"_44685":6014,"_44687":6014,"_44689":6014,"_44691":6014,"_44693":6014,"_44695":6014,"_44697":6014,"_44699":6014,"_44701":6014,"_44703":6014,"_44705":6014,"_44707":6014,"_44709":6014,"_44711":6014,"_44713":6014,"_44715":6014,"_44717":6014,"_44719":6014,"_44721":6014,"_44723":6014,"_44725":20080,"_44727":20080,"_44729":6014,"_44731":6014,"_44733":6014,"_44735":6014,"_44737":6014,"_44739":6014,"_36662":6014,"_44742":6014,"_44744":6014,"_44746":6014,"_44748":6014,"_44750":6014,"_44752":6014,"_44754":6014,"_44756":6014,"_37339":6014,"_44759":6014,"_44761":6014,"_44763":6014,"_44765":6014,"_44767":6014,"_44769":6014,"_44771":6014,"_37329":6014,"_44774":6014,"_44776":6014,"_44778":6014,"_37349":6014,"_44781":6014,"_44783":6014,"_37365":6014,"_44786":6014,"_44788":6014,"_37354":6014,"_44791":6014,"_44793":6014,"_44795":6014,"_44797":6014,"_44799":6014,"_44801":6014,"_44803":6014,"_44805":6014,"_44807":6014,"_44809":6014,"_44811":6014,"_44813":6014,"_44815":6014,"_44817":6014,"_44819":6014,"_44821":6014,"_44823":6014,"_44825":6014,"_44827":6014,"_44829":6014,"_44831":6014,"_44833":6014,"_44835":6014,"_44837":6014,"_44839":6014,"_44841":6014,"_44843":6014,"_44845":6014,"_44847":6014,"_16496":6014,"_44850":6014,"_44852":6014,"_44854":6014,"_44856":6014,"_44858":6014,"_44860":6014,"_44862":6014,"_44864":6014,"_44866":6014,"_44868":6014,"_44870":6014,"_44872":6014,"_44874":6014,"_44876":6014,"_44878":6014,"_44880":6014,"_44882":6014,"_44884":6014,"_44886":6014,"_44888":6014,"_44890":6014,"_44892":6014,"_44894":6014,"_44896":6014,"_44898":6014,"_44900":6014,"_44902":6014,"_44904":6014,"_44906":6014,"_44908":6014,"_44910":6014,"_44912":6014,"_44914":6014,"_44916":6014,"_44918":6014,"_44920":6014,"_44922":6014,"_44924":6014,"_44926":6014,"_44928":6014,"_44930":6014,"_44932":6014,"_44934":6014,"_44936":6014,"_44938":6014,"_44940":6014,"_44942":6014,"_44944":6014,"_44946":6014,"_44948":6014,"_44950":6014,"_44952":6014,"_44954":6014,"_44956":6014,"_44958":6014,"_44960":6014,"_44962":6014,"_44964":6014,"_44966":6014,"_44968":6014,"_44970":6014,"_44972":6014,"_44974":6014,"_44976":6014,"_44978":6014,"_44980":6014,"_44982":6014,"_44984":6014,"_44986":6014,"_44988":6014,"_44990":6014,"_44992":6014,"_44994":6014,"_44996":6014,"_44998":6014,"_45000":6014,"_45002":6014,"_45004":6014,"_45006":6014,"_45008":6014,"_45010":6014,"_45012":6014,"_45014":6014,"_45016":6014,"_45018":6014,"_45020":6014,"_45022":6014,"_45024":6014,"_45026":6014,"_45028":6014,"_45030":6014,"_45032":6014,"_45034":6014,"_45036":6014,"_45038":6014,"_45040":6014,"_45042":6014,"_45044":6014,"_45046":6014,"_45048":6014,"_45050":6014,"_45052":6014,"_45054":6014,"_45056":6014,"_45058":6014,"_45060":6014,"_45062":6014,"_45064":6014,"_45066":6014,"_45068":6014,"_45070":6014,"_45072":6014,"_45074":6014,"_45076":6014,"_45078":6014,"_45080":6014,"_45082":6014,"_45084":6014,"_45086":6014,"_45088":6014,"_45090":6014,"_45092":6014,"_45094":6014,"_45096":6014,"_45098":6014,"_45100":6014,"_45102":6014,"_45104":6014,"_45106":6014,"_45108":6014,"_45110":6014,"_45112":6014,"_37455":6014,"_45115":6014,"_45117":6014,"_45119":6014,"_45121":6014,"_45123":6014,"_45125":6014,"_45127":6014,"_45129":6014,"_45131":6014,"_45133":6014,"_45135":6014,"_45137":6014,"_45139":6014},{"_24672":51784,"_14218":8464},{"_6884":51785,"_5968":51792,"_11313":51795,"_11353":51799,"_11327":51803,"_11320":51807,"_11346":51811,"_11375":51815,"_11306":51819,"_36123":51823,"_11342":51827,"_36627":51830,"_36749":51833,"_36700":51836,"_11445":51839,"_12197":51842,"_36739":51845,"_36759":51848,"_12027":51851,"_11889":51854,"_37450":51857,"_12203":51860,"_40818":51863,"_36616":51866,"_36046":51869,"_36685":51872,"_12270":51875,"_37480":51878,"_12512":51881,"_35574":51884,"_35645":51887,"_35619":51890,"_12054":51893,"_35635":51896,"_35650":51899,"_12102":51902,"_35655":51905,"_11406":51908,"_11866":51911,"_12080":51914,"_40847":51917,"_40849":51921,"_40851":51924,"_40854":51928,"_36679":51931,"_40857":51934,"_11356":51937,"_40862":51940,"_12471":51943,"_36302":51946,"_12518":51949,"_11438":51952,"_37112":51956,"_40872":51959,"_40874":51963,"_40876":51967,"_40879":51971,"_37107":51974,"_37102":51977,"_11469":51980,"_40886":51983,"_40889":51986,"_40891":51989,"_30746":51992,"_40894":51995,"_40897":51998,"_40899":52001,"_40902":52004,"_40904":52007,"_40906":52010,"_40909":52013,"_40912":52016,"_40914":52019,"_11485":52022,"_40918":52025,"_36784":52028,"_40921":52031,"_11684":52034,"_11349":52037,"_36838":52040,"_37456":52042,"_12393":52045,"_40929":52047,"_40931":52050,"_40933":52052,"_36853":52054,"_40936":52056,"_11378":52059,"_12108":52061,"_35688":52064,"_36663":52066,"_40943":52069,"_40945":52071,"_37626":52074,"_40948":52076,"_11421":52079,"_40951":52081,"_40953":52083,"_12125":52085,"_36130":52087,"_40958":52090,"_40960":52093,"_40963":52096,"_40965":52099,"_40967":52102,"_40969":52105,"_40971":52108,"_11336":52111,"_40974":52114,"_40976":52117,"_40978":52120,"_40980":52123,"_40982":52126,"_40985":52129,"_16358":52132,"_40988":52135,"_40990":52138,"_40992":52141,"_40994":52144,"_40996":52147,"_40998":52150,"_41001":52153,"_41003":52156,"_41005":52159,"_41007":52162,"_41010":52165,"_36637":52168,"_36632":52171,"_41015":52174,"_36754":52177,"_41019":52180,"_41021":52183,"_41023":52186,"_41025":52189,"_41027":52192,"_41029":52195,"_41031":52198,"_41033":52201,"_41035":52204,"_41037":52208,"_41039":52211,"_41041":52215,"_41043":52219,"_41046":52222,"_41048":52225,"_41050":52228,"_41052":52231,"_41054":52234,"_41057":52237,"_41059":52240,"_41061":52243,"_41063":52246,"_41065":52249,"_41067":52251,"_41069":52254,"_41071":52257,"_41073":52260,"_41075":52263,"_41077":52266,"_41079":52269,"_41081":52273,"_41083":52276,"_41085":52280,"_41087":52284,"_41089":52288,"_41091":52292,"_41093":52296,"_36725":52300,"_41096":52304,"_41098":52308,"_41100":52312,"_36744":52316,"_41103":52320,"_41105":52324,"_41108":52327,"_41110":52330,"_41112":52333,"_41114":52336,"_41116":52339,"_41118":52342,"_41120":52345,"_41122":52348,"_41124":52350,"_41126":52353,"_41128":52356,"_41130":52359,"_41132":52362,"_41134":52364,"_41136":52367,"_41138":52370,"_41140":52373,"_36651":52376,"_41145":52379,"_36646":52382,"_41149":52385,"_41151":52388,"_41153":52391,"_41155":52394,"_41157":52397,"_16474":52400,"_37344":52403,"_35538":52406,"_41164":52409,"_41166":52412,"_41169":52415,"_41171":52418,"_41173":52421,"_41176":52424,"_41178":52427,"_41180":52430,"_41183":52433,"_41186":52436,"_41188":52439,"_41190":52442,"_41192":52445,"_41194":52448,"_41197":52451,"_41199":52454,"_41201":52457,"_41203":52460,"_41206":52463,"_41208":52466,"_41210":52469,"_41212":52472,"_41214":52475,"_41216":52478,"_41218":52481,"_41220":52484,"_41222":52487,"_41224":52490,"_41226":52493,"_41228":52496,"_41230":52499,"_41232":52502,"_41234":52505,"_41236":52508,"_41238":52511,"_41240":52514,"_41242":52517,"_41244":52520,"_41246":52523,"_41248":52526,"_41250":52529,"_41252":52532,"_41254":52535,"_41256":52538,"_41258":52541,"_41260":52544,"_41262":52547,"_37379":52550,"_41266":52553,"_41268":52556,"_41270":52559,"_37384":52562,"_37374":52565,"_22897":52568,"_41275":52571,"_41277":52574,"_41279":52577,"_41281":52580,"_41283":52583,"_41285":52586,"_41287":52589,"_41290":52592,"_41292":52595,"_41294":52598,"_41296":52601,"_41298":52604,"_41300":52607,"_41302":52610,"_41305":52613,"_41307":52616,"_41309":52619,"_41311":52622,"_41313":52625,"_41315":52628,"_41317":52631,"_41319":52634,"_41321":52637,"_41323":52640,"_41325":52643,"_41327":52646,"_41329":52649,"_41331":52652,"_41333":52654,"_41335":52657,"_41337":52660,"_37485":52663,"_41340":52666,"_41342":52669,"_41344":52671,"_41346":52674,"_41349":52677,"_41351":52680,"_41353":52682,"_41355":52685,"_41357":52688,"_41359":52691,"_41362":52694,"_35589":52697,"_41365":52699,"_41367":52702,"_41369":52704,"_35579":52707,"_41372":52710,"_41375":52713,"_41378":52716,"_41380":52719,"_41383":52722,"_41386":52725,"_41388":52728,"_41390":52731,"_41392":52734,"_41394":52737,"_41396":52740,"_41398":52743,"_41401":52746,"_41404":52749,"_41406":52752,"_11390":52755,"_41409":52758,"_41411":52761,"_41413":52764,"_41415":52767,"_35624":52769,"_41418":52772,"_41420":52775,"_41422":52778,"_41424":52781,"_41426":52784,"_41428":52787,"_11316":52790,"_41432":52793,"_41434":52796,"_41436":52799,"_41438":52802,"_41440":52805,"_41442":52808,"_41444":52811,"_35640":52814,"_41447":52817,"_41449":52820,"_41451":52823,"_41453":52826,"_41455":52829,"_41457":52832,"_41459":52835,"_41461":52838,"_41463":52841,"_41465":52844,"_41467":52847,"_41469":52850,"_41471":52853,"_41473":52856,"_41475":52859,"_41477":52862,"_41479":52865,"_41481":52868,"_41483":52871,"_41485":52874,"_41487":52877,"_41489":52880,"_41491":52883,"_41493":52886,"_41495":52889,"_41497":52892,"_41499":52895,"_41501":52898,"_41503":52901,"_41505":52904,"_41507":52907,"_41509":52910,"_41511":52913,"_41514":52916,"_41516":52919,"_41518":52922,"_41520":52925,"_41522":52928,"_41524":52931,"_41526":52934,"_41528":52937,"_41530":52940,"_41532":52943,"_22920":52946,"_41536":52949,"_41538":52952,"_41540":52955,"_35672":52958,"_41543":52961,"_41545":52964,"_41547":52967,"_41549":52970,"_41551":52973,"_41553":52976,"_41555":52979,"_41557":52982,"_41559":52985,"_41561":52988,"_41563":52991,"_36040":52994,"_41566":52997,"_41568":52999,"_41571":53002,"_41573":53005,"_41575":53008,"_41577":53011,"_41580":53014,"_41582":53017,"_41584":53020,"_41586":53023,"_41588":53026,"_41590":53029,"_41592":53032,"_41595":53035,"_41597":53038,"_41599":53041,"_41601":53044,"_41603":53047,"_41605":53050,"_41608":53053,"_41610":53056,"_41612":53059,"_41614":53062,"_41616":53065,"_36045":53068,"_41619":53071,"_41621":53074,"_41623":53077,"_41625":53080,"_41627":53083,"_41629":53086,"_41631":53089,"_41633":53092,"_41635":53095,"_41637":53098,"_41639":53101,"_36051":53105,"_41642":53108,"_41644":53112,"_41646":53116,"_41648":53120,"_41650":53124,"_41652":53127,"_41654":53130,"_41656":53133,"_41658":53136,"_41660":53139,"_41662":53142,"_41665":53145,"_41668":53148,"_41670":53151,"_41672":53154,"_41675":53157,"_41677":53159,"_41679":53162,"_41681":53165,"_41683":53169,"_41685":53172,"_41687":53176,"_41689":53180,"_41691":53184,"_41693":53188,"_41695":53192,"_41697":53196,"_41699":53200,"_41701":53204,"_41703":53208,"_41705":53211,"_41707":53213,"_41709":53215,"_41711":53217,"_41713":53220,"_41715":53223,"_41717":53226,"_41719":53229,"_41721":53232,"_41723":53235,"_41725":53238,"_41727":53241,"_41729":53244,"_41731":53247,"_41733":53250,"_41735":53253,"_41737":53256,"_41739":53259,"_11427":53261,"_41742":53263,"_41744":53265,"_41746":53268,"_41748":53270,"_41750":53272,"_41752":53275,"_41754":53277,"_41756":53280,"_41758":53282,"_41760":53284,"_41762":53286,"_41764":53288,"_41766":53291,"_37087":53293,"_12612":53295,"_41770":53297,"_41772":53299,"_41774":53302,"_41776":53305,"_41778":53307,"_41780":53309,"_41782":53311,"_41784":53314,"_41786":53317,"_41788":53320,"_41790":53322,"_41792":53325,"_41794":53328,"_41796":53331,"_41798":53334,"_41800":53337,"_41802":53340,"_41804":53343,"_41806":53346,"_41808":53349,"_41810":53352,"_41812":53355,"_41814":53358,"_41816":53361,"_41818":53364,"_41820":53367,"_41822":53370,"_41824":53373,"_41826":53376,"_41828":53379,"_41830":53382,"_41832":53385,"_41834":53388,"_41836":53391,"_41838":53394,"_41840":53397,"_41842":53400,"_41844":53403,"_41846":53406,"_41848":53409,"_41850":53412,"_41852":53416,"_41854":53419,"_36062":53423,"_41857":53426,"_41859":53429,"_41861":53432,"_41863":53435,"_41865":53438,"_41867":53441,"_41869":53444,"_41871":53447,"_41873":53450,"_41875":53453,"_41877":53457,"_41879":53461,"_41881":53465,"_41883":53468,"_41885":53471,"_41887":53474,"_41889":53477,"_41891":53480,"_41893":53483,"_41895":53486,"_41897":53489,"_41899":53492,"_41901":53496,"_41903":53499,"_41905":53502,"_41907":53505,"_41909":53508,"_41911":53511,"_41913":53514,"_11384":53517,"_41916":53520,"_41918":53523,"_41920":53526,"_41922":53529,"_41924":53532,"_41926":53535,"_41928":53538,"_41930":53541,"_41932":53544,"_41934":53547,"_16423":53550,"_41937":53553,"_41939":53556,"_41941":53559,"_11330":53562,"_41944":53565,"_41946":53568,"_41948":53571,"_41950":53574,"_41952":53577,"_41954":53580,"_41956":53583,"_41958":53586,"_41960":53589,"_41962":53592,"_41964":53595,"_41966":53598,"_41968":53601,"_41970":53604,"_41972":53607,"_41974":53610,"_41976":53613,"_41978":53616,"_41980":53619,"_41982":53623,"_41984":53626,"_41986":53630,"_41988":53634,"_41990":53638,"_41992":53642,"_41994":53646,"_41996":53650,"_41998":53654,"_42000":53658,"_42002":53662,"_42004":53666,"_42006":53670,"_11323":53674,"_42009":53678,"_42011":53682,"_42013":53686,"_42015":53690,"_42017":53694,"_42019":53698,"_42021":53702,"_42023":53706,"_42025":53710,"_42027":53714,"_42029":53717,"_42031":53720,"_42033":53723,"_42035":53726,"_42037":53729,"_42039":53732,"_42041":53735,"_42043":53738,"_42045":53741,"_42047":53744,"_42049":53747,"_42051":53750,"_42053":53753,"_42055":53756,"_42057":53759,"_42059":53762,"_42061":53765,"_42063":53768,"_42065":53771,"_42067":53774,"_42069":53777,"_42071":53780,"_42073":53783,"_42075":53786,"_42077":53789,"_42079":53792,"_42081":53795,"_42083":53798,"_42085":53800,"_42087":53803,"_42089":53806,"_42091":53808,"_42093":53811,"_42095":53814,"_42097":53817,"_42099":53820,"_42101":53823,"_42103":53826,"_42105":53829,"_42107":53832,"_42109":53835,"_42111":53838,"_42114":53841,"_42116":53844,"_42118":53847,"_42120":53850,"_42122":53853,"_42124":53856,"_42126":53859,"_42128":53862,"_42130":53865,"_42132":53868,"_42134":53871,"_42136":53874,"_42139":53877,"_42141":53880,"_42143":53883,"_42146":53886,"_42148":53889,"_42151":53892,"_42153":53894,"_42155":53897,"_42157":53900,"_42159":53903,"_42161":53906,"_42163":53909,"_42165":53912,"_42167":53915,"_42169":53918,"_42171":53921,"_42173":53924,"_42175":53927,"_42177":53930,"_42180":53933,"_42182":53936,"_42184":53939,"_42186":53942,"_42188":53945,"_42190":53948,"_42192":53951,"_42194":53954,"_42196":53957,"_42198":53960,"_42200":53963,"_42202":53966,"_42204":53969,"_42206":53972,"_42208":53975,"_42210":53978,"_42212":53981,"_42214":53984,"_42216":53987,"_42218":53990,"_42220":53993,"_42222":53996,"_42224":53999,"_42227":54002,"_11451":54005,"_42231":54008,"_42233":54011,"_42235":54014,"_42237":54017,"_42239":54020,"_42241":54024,"_42243":54027,"_42245":54031,"_42247":54035,"_42249":54039,"_42251":54043,"_42253":54047,"_42255":54051,"_42257":54055,"_42259":54058,"_42261":54061,"_42263":54064,"_42265":54067,"_42267":54070,"_42269":54073,"_42271":54076,"_42273":54079,"_42275":54082,"_42277":54085,"_42279":54088,"_42281":54091,"_42283":54094,"_42285":54097,"_42287":54100,"_42289":54103,"_42291":54106,"_42293":54109,"_42295":54112,"_42297":54115,"_42299":54118,"_42301":54121,"_42303":54123,"_42305":54126,"_42307":54129,"_42309":54131,"_42311":54134,"_42313":54137,"_42315":54139,"_42317":54142,"_42319":54145,"_42321":54148,"_42323":54151,"_42325":54154,"_42327":54157,"_42329":54160,"_42331":54163,"_42333":54165,"_12529":54167,"_42336":54169,"_42338":54172,"_42340":54175,"_42342":54178,"_42344":54180,"_42346":54182,"_37445":54185,"_42349":54187,"_42351":54189,"_42353":54191,"_42355":54195,"_42357":54198,"_42359":54202,"_42361":54206,"_42363":54210,"_35029":54214,"_42366":54218,"_42368":54222,"_42370":54226,"_42372":54230,"_42374":54233,"_42376":54237,"_42378":54241,"_42380":54245,"_42382":54249,"_42384":54252,"_42386":54255,"_42388":54258,"_42390":54261,"_42392":54264,"_42394":54267,"_42396":54270,"_42398":54273,"_42400":54275,"_42402":54278,"_42404":54281,"_42406":54284,"_42408":54287,"_42410":54290,"_42412":54293,"_42414":54296,"_42416":54299,"_42418":54302,"_42420":54305,"_42422":54308,"_42424":54311,"_42426":54314,"_42428":54317,"_42430":54320,"_42432":54323,"_42434":54326,"_42436":54329,"_42438":54332,"_42440":54334,"_42442":54337,"_42444":54339,"_42446":54342,"_12606":54344,"_42449":54347,"_42451":54349,"_42453":54352,"_42455":54354,"_42457":54357,"_42459":54360,"_42461":54363,"_42463":54365,"_42465":54368,"_42467":54370,"_42469":54373,"_42471":54376,"_42473":54379,"_42475":54382,"_42477":54385,"_42479":54388,"_42481":54391,"_42483":54394,"_42485":54397,"_42487":54400,"_42489":54403,"_42491":54406,"_42493":54409,"_42495":54413,"_42497":54416,"_42499":54420,"_42501":54424,"_42503":54428,"_42505":54431,"_42507":54434,"_42509":54437,"_42511":54440,"_42513":54443,"_42515":54446,"_42517":54449,"_42519":54452,"_42521":54455,"_42523":54458,"_42525":54461,"_42527":54464,"_42529":54467,"_42531":54470,"_42533":54473,"_42535":54477,"_42537":54480,"_42539":54484,"_42541":54488,"_42543":54492,"_42545":54496,"_42547":54500,"_42549":54504,"_42551":54508,"_42553":54512,"_42555":54516,"_42557":54520,"_42559":54524,"_42561":54528,"_42563":54532,"_11309":54536,"_42566":54540,"_42568":54543,"_42570":54546,"_42572":54549,"_42574":54552,"_42576":54555,"_42578":54558,"_42580":54561,"_12634":54564,"_42583":54567,"_42585":54570,"_42587":54573,"_42589":54576,"_42591":54579,"_42593":54582,"_42595":54585,"_42597":54588,"_42599":54591,"_42601":54594,"_42603":54597,"_42605":54600,"_42607":54603,"_42609":54606,"_42611":54609,"_42613":54612,"_42615":54615,"_42617":54618,"_42619":54621,"_42621":54624,"_42623":54627,"_42625":54630,"_42627":54633,"_42629":54636,"_42631":54639,"_42633":54641,"_42635":54644,"_42637":54647,"_42639":54650,"_42641":54653,"_42643":54656,"_42645":54659,"_42647":54662,"_42649":54665,"_42651":54668,"_42653":54671,"_42655":54674,"_42657":54677,"_42659":54680,"_42661":54683,"_42663":54686,"_42665":54689,"_42667":54692,"_42669":54695,"_42671":54698,"_42673":54701,"_42675":54704,"_42677":54707,"_42679":54711,"_42681":54714,"_42683":54718,"_42685":54722,"_42687":54726,"_42689":54729,"_42691":54732,"_42693":54735,"_42695":54738,"_42697":54741,"_42699":54744,"_42701":54747,"_42703":54750,"_42705":54753,"_42707":54756,"_42709":54759,"_42711":54762,"_42713":54765,"_42715":54769,"_42717":54772,"_42719":54776,"_42721":54780,"_42723":54783,"_42725":54786,"_42727":54789,"_42729":54792,"_42731":54795,"_42733":54798,"_42735":54801,"_42737":54804,"_42739":54807,"_42741":54810,"_42743":54813,"_42745":54816,"_42747":54819,"_42749":54823,"_42751":54826,"_42753":54830,"_42755":54834,"_42757":54838,"_42759":54842,"_36137":54846,"_42762":54850,"_42764":54854,"_42766":54858,"_42768":54862,"_42770":54866,"_42772":54870,"_42774":54874,"_42776":54878,"_42778":54882,"_42780":54886,"_42782":54889,"_42784":54893,"_42786":54897,"_42788":54901,"_42790":54905,"_42792":54908,"_42794":54911,"_42796":54914,"_42798":54917,"_42800":54920,"_42802":54923,"_42804":54926,"_42806":54929,"_36615":54932,"_42809":54935,"_42811":54938,"_42813":54941,"_42815":54944,"_42817":54947,"_42819":54950,"_42821":54953,"_42823":54956,"_42825":54959,"_42827":54962,"_42829":54965,"_42831":54968,"_42833":54971,"_42835":54974,"_42837":54977,"_42839":54980,"_42841":54983,"_42843":54986,"_42845":54989,"_42847":54992,"_42849":54995,"_42851":54998,"_42853":55001,"_42855":55004,"_42857":55007,"_42859":55010,"_42861":55013,"_42863":55016,"_42865":55019,"_42867":55022,"_42869":55025,"_42871":55028,"_42873":55031,"_42875":55034,"_42877":55037,"_42879":55040,"_42881":55043,"_42883":55046,"_42885":55049,"_42887":55052,"_42889":55055,"_42891":55058,"_42893":55061,"_42895":55064,"_42897":55067,"_42899":55070,"_42901":55073,"_42903":55076,"_42905":55079,"_42907":55082,"_42909":55085,"_42911":55088,"_42913":55091,"_42915":55094,"_42917":55099,"_42919":55102,"_42921":55106,"_42923":55110,"_42925":55114,"_42927":55118,"_42929":55122,"_42931":55126,"_42933":55130,"_42935":55134,"_42937":55137,"_42939":55140,"_42941":55143,"_42943":55146,"_42945":55149,"_42947":55152,"_42949":55155,"_42951":55158,"_42953":55161,"_42955":55164,"_42957":55167,"_42959":55170,"_42961":55173,"_42963":55176,"_42965":55179,"_42967":55182,"_42969":55185,"_42971":55188,"_42973":55191,"_42975":55194,"_42977":55197,"_42979":55200,"_42981":55204,"_42983":55207,"_42985":55211,"_42987":55215,"_42989":55219,"_42991":55223,"_42993":55227,"_42995":55231,"_42997":55235,"_42999":55239,"_43001":55242,"_43003":55245,"_43005":55248,"_43007":55251,"_43009":55254,"_36684":55257,"_43012":55260,"_43014":55263,"_43016":55266,"_43018":55269,"_43020":55272,"_43022":55275,"_43024":55278,"_43026":55281,"_43028":55284,"_43030":55287,"_43032":55290,"_43034":55293,"_43036":55296,"_43038":55299,"_43040":55302,"_43042":55304,"_43044":55307,"_43046":55310,"_36678":55313,"_43049":55316,"_43051":55319,"_43053":55322,"_43055":55325,"_43057":55330,"_43059":55333,"_43061":55337,"_43063":55341,"_43065":55345,"_43067":55348,"_43069":55351,"_43071":55354,"_43073":55357,"_43075":55360,"_43077":55363,"_43079":55366,"_43081":55369,"_43083":55372,"_43085":55375,"_43087":55378,"_43089":55381,"_43091":55384,"_43093":55387,"_43095":55390,"_43097":55393,"_43099":55396,"_43101":55399,"_43103":55402,"_43105":55405,"_43107":55408,"_43109":55411,"_43111":55414,"_43113":55417,"_43115":55420,"_43117":55423,"_43119":55426,"_43121":55429,"_43123":55432,"_43125":55435,"_43127":55438,"_43129":55441,"_43131":55444,"_43133":55447,"_43135":55450,"_43137":55453,"_43139":55456,"_43141":55459,"_43143":55462,"_43145":55465,"_43147":55468,"_43149":55471,"_43151":55474,"_43153":55477,"_43155":55480,"_43157":55483,"_43159":55486,"_43161":55489,"_43163":55491,"_43165":55494,"_43167":55498,"_43169":55501,"_43171":55505,"_43173":55509,"_43175":55513,"_43177":55517,"_43179":55521,"_43181":55524,"_43183":55527,"_43185":55530,"_43187":55533,"_43189":55536,"_43191":55539,"_43193":55542,"_43195":55545,"_43197":55548,"_43199":55551,"_43201":55554,"_43203":55557,"_43205":55560,"_43207":55563,"_43209":55566,"_43211":55569,"_43213":55572,"_43215":55575,"_43217":55578,"_43219":55581,"_43221":55584,"_43223":55587,"_43225":55590,"_43227":55593,"_43229":55596,"_43231":55599,"_43234":55602,"_43236":55605,"_43238":55608,"_43240":55611,"_43242":55614,"_43244":55617,"_43246":55620,"_43248":55623,"_43250":55626,"_43252":55629,"_43254":55632,"_43256":55635,"_43258":55638,"_43260":55640,"_43262":55643,"_43264":55646,"_43266":55649,"_43268":55652,"_43270":55654,"_43272":55657,"_43274":55661,"_43276":55664,"_43278":55668,"_43280":55672,"_43282":55675,"_43284":55678,"_43286":55681,"_43288":55684,"_43290":55687,"_43292":55690,"_43294":55693,"_43296":55696,"_43298":55699,"_43300":55702,"_43302":55705,"_43304":55708,"_43306":55711,"_43308":55714,"_43310":55717,"_43312":55720,"_43314":55724,"_43316":55727,"_43318":55730,"_43320":55733,"_43322":55736,"_43324":55739,"_43326":55742,"_43328":55745,"_43330":55748,"_43332":55751,"_43334":55754,"_43336":55756,"_43339":55759,"_43341":55763,"_43343":55766,"_43345":55770,"_43347":55774,"_43349":55778,"_43351":55782,"_43353":55786,"_43355":55790,"_43357":55794,"_43359":55798,"_43361":55802,"_43363":55805,"_43365":55809,"_43367":55813,"_43369":55816,"_43371":55819,"_43373":55822,"_43375":55825,"_43377":55828,"_43379":55831,"_43381":55834,"_43383":55837,"_43385":55839,"_43387":55842,"_43389":55845,"_43391":55848,"_43393":55851,"_43396":55854,"_43398":55857,"_43400":55860,"_43402":55863,"_43404":55866,"_43406":55869,"_43408":55872,"_43410":55875,"_43412":55878,"_43414":55881,"_43416":55884,"_43418":55887,"_43420":55890,"_43422":55893,"_43424":55896,"_43426":55899,"_43428":55902,"_43430":55905,"_43432":55908,"_43434":55911,"_43436":55914,"_43438":55917,"_43440":55920,"_43442":55923,"_43444":55926,"_43446":55930,"_43448":55933,"_43450":55936,"_43452":55939,"_43454":55942,"_43456":55945,"_43458":55948,"_43461":55951,"_43463":55954,"_43465":55957,"_43467":55961,"_43469":55964,"_43471":55967,"_43473":55970,"_43475":55973,"_43477":55976,"_43479":55979,"_43481":55982,"_43483":55985,"_43485":55988,"_43487":55992,"_43489":55995,"_43491":55998,"_43493":56001,"_43495":56004,"_43497":56007,"_43499":56010,"_43501":56013,"_43503":56016,"_43505":56019,"_43507":56022,"_43509":56025,"_43511":56028,"_43513":56031,"_43515":56034,"_43517":56037,"_43519":56040,"_43521":56044,"_43523":56047,"_43525":56051,"_43527":56054,"_43529":56057,"_43531":56060,"_43533":56063,"_43535":56066,"_43537":56069,"_43539":56072,"_43541":56075,"_43543":56078,"_43545":56081,"_43547":56084,"_43549":56087,"_43551":56090,"_43553":56093,"_43555":56096,"_43557":56099,"_43559":56102,"_43561":56105,"_43563":56108,"_43565":56111,"_43567":56114,"_43569":56117,"_43571":56120,"_43573":56123,"_43575":56126,"_43577":56129,"_43579":56132,"_43581":56135,"_43583":56138,"_43585":56141,"_43587":56144,"_43589":56147,"_43591":56150,"_43593":56153,"_43595":56156,"_43597":56159,"_43599":56162,"_43601":56165,"_43603":56168,"_43605":56171,"_43607":56174,"_43609":56177,"_43611":56180,"_43613":56183,"_43615":56186,"_43617":56190,"_43619":56194,"_43621":56198,"_43623":56202,"_43625":56206,"_43627":56209,"_43629":56212,"_43631":56215,"_43633":56218,"_43635":56221,"_43637":56224,"_43639":56227,"_43641":56230,"_43643":56233,"_43645":56236,"_43647":56239,"_43649":56242,"_43651":56245,"_43653":56248,"_43655":56251,"_43657":56254,"_43659":56257,"_43661":56260,"_43663":56263,"_43665":56266,"_43667":56269,"_43669":56272,"_43671":56275,"_43673":56278,"_43675":56281,"_43677":56285,"_43679":56288,"_43681":56292,"_43683":56296,"_43685":56300,"_43687":56303,"_43689":56307,"_43691":56311,"_43693":56315,"_43695":56319,"_43697":56323,"_43699":56327,"_43701":56331,"_43703":56335,"_43705":56339,"_43707":56342,"_43709":56345,"_43711":56348,"_43713":56351,"_43715":56354,"_43717":56357,"_43719":56360,"_43721":56363,"_43723":56366,"_43725":56369,"_43727":56372,"_43729":56375,"_43731":56378,"_43733":56381,"_43735":56384,"_43737":56387,"_43739":56390,"_43741":56393,"_43743":56396,"_43745":56399,"_43747":56402,"_43749":56405,"_43751":56408,"_43753":56411,"_43755":56414,"_43757":56417,"_43759":56420,"_43761":56423,"_43763":56426,"_43765":56429,"_43767":56432,"_43769":56435,"_43771":56437,"_43773":56440,"_43775":56443,"_43777":56446,"_43779":56448,"_43781":56451,"_43783":56454,"_43785":56457,"_43787":56460,"_43789":56463,"_43791":56466,"_43793":56469,"_43795":56472,"_43797":56475,"_43799":56478,"_43801":56481,"_43803":56484,"_43805":56487,"_43807":56490,"_43809":56493,"_43811":56496,"_43813":56499,"_43815":56502,"_43817":56505,"_43819":56507,"_43821":56510,"_43823":56513,"_43825":56516,"_43827":56519,"_43829":56522,"_43831":56525,"_43833":56528,"_43835":56531,"_43837":56534,"_43839":56537,"_43841":56540,"_43843":56543,"_43845":56546,"_43847":56549,"_43849":56552,"_43851":56555,"_43853":56558,"_43855":56561,"_43857":56564,"_43859":56567,"_43861":56570,"_43863":56573,"_43865":56576,"_43867":56579,"_43869":56582,"_43871":56585,"_43873":56588,"_43875":56591,"_43877":56594,"_43879":56597,"_43881":56599,"_43883":56602,"_43885":56604,"_43887":56608,"_43889":56611,"_43891":56615,"_43893":56619,"_43895":56623,"_43897":56627,"_43899":56631,"_43901":56635,"_43903":56639,"_43905":56643,"_43907":56647,"_43909":56651,"_43911":56655,"_43913":56658,"_43915":56661,"_43917":56664,"_43919":56668,"_43921":56671,"_43923":56675,"_43925":56679,"_43927":56683,"_43929":56687,"_43931":56691,"_43933":56695,"_43935":56699,"_43937":56703,"_43939":56707,"_43941":56711,"_43943":56715,"_43945":56719,"_43947":56723,"_43949":56727,"_43951":56731,"_43953":56735,"_43955":56739,"_43957":56743,"_43959":56747,"_43961":56751,"_43963":56755,"_43965":56759,"_43967":56763,"_43969":56767,"_43971":56771,"_43973":56775,"_43975":56779,"_43977":56783,"_43979":56787,"_43981":56791,"_43983":56795,"_43985":56799,"_43987":56803,"_43989":56807,"_43991":56811,"_43993":56815,"_43995":56819,"_43997":56823,"_43999":56827,"_44001":56831,"_44003":56835,"_44005":56839,"_44007":56843,"_44009":56847,"_44011":56850,"_44013":56853,"_44015":56856,"_44017":56859,"_44019":56862,"_44021":56865,"_44023":56868,"_44025":56871,"_44027":56874,"_44029":56877,"_44031":56880,"_44033":56883,"_44035":56886,"_44037":56889,"_44039":56892,"_44041":56895,"_44043":56898,"_44045":56901,"_44047":56904,"_44049":56907,"_44051":56910,"_44053":56913,"_44055":56916,"_44057":56919,"_44059":56922,"_44061":56925,"_44063":56928,"_44065":56931,"_44067":56934,"_44069":56937,"_44071":56940,"_44073":56943,"_44075":56946,"_44077":56949,"_44079":56952,"_44081":56955,"_44083":56958,"_44085":56961,"_44087":56964,"_44089":56967,"_44091":56970,"_44093":56973,"_44095":56976,"_44097":56979,"_44099":56982,"_44101":56985,"_44103":56988,"_44105":56991,"_44107":56994,"_44109":56997,"_44111":57000,"_44113":57003,"_44115":57006,"_44117":57009,"_44119":57012,"_44121":57015,"_44123":57018,"_44125":57021,"_44127":57024,"_44129":57027,"_44131":57030,"_44133":57033,"_44135":57036,"_44137":57039,"_44139":57042,"_44141":57045,"_44143":57048,"_44145":57051,"_44147":57054,"_44149":57057,"_44151":57060,"_44153":57063,"_44155":57066,"_44157":57069,"_44159":57072,"_44161":57075,"_44163":57078,"_44165":57081,"_44167":57084,"_44169":57087,"_44171":57090,"_44173":57093,"_44175":57096,"_44177":57099,"_44179":57102,"_44181":57105,"_44183":57108,"_44185":57111,"_44187":57114,"_44189":57117,"_44191":57120,"_44193":57123,"_44195":57126,"_44197":57129,"_44199":57132,"_44201":57135,"_44203":57138,"_44205":57141,"_44207":57144,"_44209":57147,"_44211":57150,"_44213":57153,"_44215":57156,"_44217":57159,"_44219":57162,"_44221":57165,"_44223":57168,"_44225":57171,"_44227":57174,"_44229":57177,"_44231":57180,"_44233":57183,"_44235":57186,"_44237":57189,"_44239":57192,"_44241":57195,"_44243":57198,"_44245":57201,"_44247":57204,"_44249":57207,"_44251":57210,"_44253":57213,"_44255":57216,"_44257":57219,"_44259":57222,"_44261":57225,"_44263":57228,"_44265":57231,"_44267":57234,"_44269":57237,"_44271":57240,"_44273":57243,"_44275":57246,"_44277":57249,"_44279":57252,"_44281":57255,"_44283":57258,"_44285":57261,"_44287":57264,"_44289":57267,"_44291":57270,"_44293":57273,"_44295":57276,"_44297":57279,"_44299":57282,"_44301":57285,"_44303":57288,"_44305":57291,"_44307":57294,"_44309":57297,"_44311":57300,"_44313":57303,"_44315":57306,"_44317":57309,"_44319":57312,"_44321":57315,"_44323":57318,"_44325":57321,"_44327":57326,"_44329":57329,"_44331":57333,"_44333":57337,"_44335":57341,"_44337":57345,"_44339":57349,"_44341":57353,"_44343":57357,"_44345":57361,"_44347":57365,"_44349":57369,"_44351":57373,"_44353":57377,"_44355":57381,"_44357":57384,"_44359":57387,"_44361":57390,"_44363":57393,"_44365":57396,"_44367":57399,"_44369":57402,"_44371":57405,"_44373":57408,"_44375":57411,"_44377":57414,"_44379":57417,"_44381":57420,"_44383":57423,"_44385":57426,"_44387":57428,"_44389":57431,"_44391":57434,"_44393":57437,"_44395":57440,"_44397":57443,"_44399":57446,"_44401":57449,"_44403":57452,"_44405":57455,"_44407":57458,"_44409":57461,"_44411":57464,"_44413":57467,"_44415":57470,"_44417":57473,"_44419":57476,"_44421":57479,"_44423":57482,"_44425":57485,"_44427":57488,"_44429":57491,"_44431":57494,"_44433":57496,"_44435":57499,"_44437":57502,"_44439":57505,"_44441":57508,"_44443":57511,"_44445":57514,"_44447":57517,"_44449":57520,"_44451":57523,"_44453":57526,"_44455":57529,"_44457":57532,"_44459":57537,"_44461":57540,"_44463":57544,"_44465":57548,"_44467":57552,"_44469":57556,"_44471":57560,"_44473":57564,"_44475":57567,"_44477":57570,"_44479":57573,"_44481":57577,"_44483":57581,"_44485":57585,"_44487":57588,"_44489":57591,"_44491":57594,"_44493":57597,"_44495":57600,"_44497":57603,"_44499":57606,"_44501":57609,"_44503":57612,"_44505":57615,"_44507":57618,"_44509":57621,"_44511":57624,"_44513":57627,"_44515":57630,"_44517":57633,"_44519":57636,"_44521":57639,"_44523":57642,"_44525":57645,"_44527":57648,"_44529":57651,"_44531":57654,"_44533":57657,"_44535":57660,"_44537":57663,"_44539":57666,"_44541":57669,"_44543":57672,"_44545":57675,"_44547":57678,"_44549":57681,"_44551":57684,"_44553":57687,"_44555":57690,"_44557":57693,"_44559":57696,"_16417":57699,"_44562":57702,"_44564":57705,"_44566":57708,"_44568":57711,"_44570":57714,"_44572":57717,"_44574":57720,"_44576":57723,"_44578":57726,"_44580":57729,"_44582":57732,"_44584":57735,"_44586":57738,"_44588":57741,"_16490":57744,"_44591":57747,"_44593":57750,"_44595":57753,"_44597":57756,"_44599":57759,"_44601":57762,"_44603":57765,"_44605":57768,"_44607":57771,"_44609":57774,"_44611":57777,"_44613":57780,"_44615":57783,"_44617":57787,"_44619":57790,"_44621":57794,"_44623":57798,"_44625":57802,"_44627":57806,"_44629":57810,"_44631":57813,"_44633":57817,"_44635":57821,"_44637":57825,"_44639":57828,"_44641":57831,"_44643":57834,"_44645":57837,"_44647":57840,"_44649":57843,"_44651":57846,"_44653":57849,"_44655":57852,"_44657":57855,"_44659":57858,"_44661":57861,"_44663":57864,"_44665":57867,"_44667":57870,"_44669":57873,"_44671":57876,"_44673":57879,"_44675":57882,"_44677":57885,"_44679":57888,"_44681":57891,"_44683":57894,"_44685":57897,"_44687":57900,"_44689":57903,"_44691":57906,"_44693":57909,"_44695":57912,"_44697":57915,"_44699":57917,"_44701":57920,"_44703":57923,"_44705":57926,"_44707":57929,"_44709":57932,"_44711":57935,"_44713":57938,"_44715":57940,"_44717":57943,"_44719":57946,"_44721":57949,"_44723":57952,"_44725":57955,"_44727":57959,"_44729":57962,"_44731":57966,"_44733":57970,"_44735":57974,"_44737":57978,"_44739":57982,"_36662":57986,"_44742":57990,"_44744":57994,"_44746":57997,"_44748":58001,"_44750":58004,"_44752":58007,"_44754":58011,"_44756":58014,"_37339":58017,"_44759":58020,"_44761":58023,"_44763":58026,"_44765":58030,"_44767":58033,"_44769":58036,"_44771":58039,"_37329":58043,"_44774":58047,"_44776":58050,"_44778":58053,"_37349":58057,"_44781":58060,"_44783":58063,"_37365":58066,"_44786":58069,"_44788":58072,"_37354":58075,"_44791":58078,"_44793":58081,"_44795":58084,"_44797":58087,"_44799":58090,"_44801":58093,"_44803":58096,"_44805":58099,"_44807":58102,"_44809":58105,"_44811":58108,"_44813":58111,"_44815":58114,"_44817":58117,"_44819":58120,"_44821":58123,"_44823":58126,"_44825":58129,"_44827":58132,"_44829":58135,"_44831":58138,"_44833":58141,"_44835":58144,"_44837":58147,"_44839":58150,"_44841":58153,"_44843":58156,"_44845":58159,"_44847":58162,"_16496":58165,"_44850":58168,"_44852":58171,"_44854":58174,"_44856":58177,"_44858":58180,"_44860":58183,"_44862":58186,"_44864":58189,"_44866":58192,"_44868":58195,"_44870":58198,"_44872":58201,"_44874":58204,"_44876":58207,"_44878":58210,"_44880":58213,"_44882":58216,"_44884":58219,"_44886":58222,"_44888":58225,"_44890":58228,"_44892":58231,"_44894":58234,"_44896":58237,"_44898":58240,"_44900":58243,"_44902":58246,"_44904":58249,"_44906":58252,"_44908":58255,"_44910":58258,"_44912":58261,"_44914":58264,"_44916":58267,"_44918":58270,"_44920":58273,"_44922":58276,"_44924":58279,"_44926":58282,"_44928":58285,"_44930":58288,"_44932":58291,"_44934":58294,"_44936":58297,"_44938":58300,"_44940":58303,"_44942":58306,"_44944":58309,"_44946":58312,"_44948":58315,"_44950":58318,"_44952":58321,"_44954":58324,"_44956":58327,"_44958":58330,"_44960":58333,"_44962":58336,"_44964":58339,"_44966":58342,"_44968":58345,"_44970":58348,"_44972":58351,"_44974":58354,"_44976":58357,"_44978":58360,"_44980":58363,"_44982":58366,"_44984":58369,"_44986":58372,"_44988":58375,"_44990":58378,"_44992":58381,"_44994":58384,"_44996":58387,"_44998":58390,"_45000":58393,"_45002":58396,"_45004":58399,"_45006":58402,"_45008":58405,"_45010":58408,"_45012":58411,"_45014":58414,"_45016":58417,"_45018":58420,"_45020":58423,"_45022":58426,"_45024":58429,"_45026":58432,"_45028":58435,"_45030":58438,"_45032":58441,"_45034":58444,"_45036":58447,"_45038":58450,"_45040":58453,"_45042":58456,"_45044":58459,"_45046":58462,"_45048":58465,"_45050":58468,"_45052":58471,"_45054":58474,"_45056":58477,"_45058":58480,"_45060":58483,"_45062":58486,"_45064":58489,"_45066":58492,"_45068":58495,"_45070":58498,"_45072":58501,"_45074":58504,"_45076":58507,"_45078":58510,"_45080":58513,"_45082":58516,"_45084":58519,"_45086":58522,"_45088":58525,"_45090":58528,"_45092":58531,"_45094":58534,"_45096":58537,"_45098":58540,"_45100":58543,"_45102":58546,"_45104":58549,"_45106":58552,"_45108":58555,"_45110":58558,"_45112":58561,"_37455":58564,"_45115":58567,"_45117":58570,"_45119":58573,"_45121":58576,"_45123":58579,"_45125":58582,"_45127":58585,"_45129":58588,"_45131":58591,"_45133":58594,"_45135":58597,"_45137":58600,"_45139":58603},{"_5302":11,"_37698":11,"_5":19386,"_2209":51786,"_38009":51787,"_38077":51791,"_14695":11},"Administration",[51788,51789,51790],"Multi-Page Documentation","Admin & Ops","Administrator's Guide",[],{"_5302":12,"_37698":11,"_38077":51793,"_5":22127,"_14695":11,"_2209":51794},[],"Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.",{"_5302":13,"_37698":11,"_5":38006,"_38077":51796,"_14695":51797,"_2209":51798},[],"/docs/admin-ops/administrators-guide/administration#maintenance","Maintenance",{"_5302":14,"_37698":11,"_5":38006,"_38077":51800,"_14695":51801,"_2209":51802},[],"/docs/admin-ops/administrators-guide/administration#ongoing-data-directory-cleanup","Ongoing Data Directory Cleanup",{"_5302":15,"_37698":11,"_5":38006,"_38077":51804,"_14695":51805,"_2209":51806},[],"/docs/admin-ops/administrators-guide/administration#debug-log-cleanup-logback","Debug Log Cleanup (logback)",{"_5302":16,"_37698":11,"_5":38006,"_38077":51808,"_14695":51809,"_2209":51810},[],"/docs/admin-ops/administrators-guide/administration#supervision","Supervision",{"_5302":17,"_37698":11,"_5":38006,"_38077":51812,"_14695":51813,"_2209":51814},[],"/docs/admin-ops/administrators-guide/administration#monitoring","Monitoring",{"_5302":18,"_37698":11,"_5":38006,"_38077":51816,"_14695":51817,"_2209":51818},[],"/docs/admin-ops/administrators-guide/administration#logging","Logging",{"_5302":19,"_37698":11,"_5":38006,"_38077":51820,"_14695":51821,"_2209":51822},[],"/docs/admin-ops/administrators-guide/administration#troubleshooting","Troubleshooting",{"_5302":20,"_37698":11,"_5":38006,"_38077":51824,"_14695":51825,"_2209":51826},[],"/docs/admin-ops/administrators-guide/administration#metrics-providers","Metrics Providers",{"_5302":21,"_37698":11,"_38077":51828,"_5":22127,"_14695":51797,"_2209":51829},[],"Little long term maintenance is required for a ZooKeeper\ncluster however you must be aware of the following:",{"_5302":22,"_37698":11,"_38077":51831,"_5":22127,"_14695":51801,"_2209":51832},[],"The ZooKeeper Data\nDirectory contains files which are a persistent copy\nof the znodes stored by a particular serving ensemble. These\nare the snapshot and transactional log files. As changes are\nmade to the znodes these changes are appended to a\ntransaction log. Occasionally, when a log grows large, a\nsnapshot of the current state of all znodes will be written\nto the filesystem and a new transaction log file is created\nfor future transactions. During snapshotting, ZooKeeper may\ncontinue appending incoming transactions to the old log file.\nTherefore, some transactions which are newer than a snapshot\nmay be found in the last transaction log preceding the\nsnapshot.",{"_5302":23,"_37698":11,"_38077":51834,"_5":22127,"_14695":51801,"_2209":51835},[],"A ZooKeeper server will not remove\nold snapshots and log files when using the default\nconfiguration (see autopurge below), this is the\nresponsibility of the operator. Every serving environment is\ndifferent and therefore the requirements of managing these\nfiles may differ from install to install (backup for example).",{"_5302":24,"_37698":11,"_38077":51837,"_5":22127,"_14695":51801,"_2209":51838},[],"The PurgeTxnLog utility implements a simple retention\npolicy that administrators can use. The API docs contains details on\ncalling conventions (arguments, etc...).",{"_5302":25,"_37698":11,"_38077":51840,"_5":22127,"_14695":51801,"_2209":51841},[],"In the following example the last count snapshots and\ntheir corresponding logs are retained and the others are\ndeleted. The value of should typically be\ngreater than 3 (although not required, this provides 3 backups\nin the unlikely event a recent log has become corrupted). This\ncan be run as a cron job on the ZooKeeper server machines to\nclean up the logs daily.",{"_5302":26,"_37698":11,"_38077":51843,"_5":22127,"_14695":51801,"_2209":51844},[],"Automatic purging of the snapshots and corresponding\ntransaction logs was introduced in version 3.4.0 and can be\nenabled via the following configuration parameters autopurge.snapRetainCount and autopurge.purgeInterval. For more on\nthis, see Advanced Configuration.",{"_5302":27,"_37698":11,"_38077":51846,"_5":22127,"_14695":51805,"_2209":51847},[],"See the section on logging in this document. It is\nexpected that you will setup a rolling file appender using the\nin-built logback feature. The sample configuration file in the\nrelease tar's conf/logback.xml provides an example of\nthis.",{"_5302":28,"_37698":11,"_38077":51849,"_5":22127,"_14695":51809,"_2209":51850},[],"You will want to have a supervisory process that manages\neach of your ZooKeeper server processes (JVM). The ZK server is\ndesigned to be \"fail fast\" meaning that it will shut down\n(process exit) if an error occurs that it cannot recover\nfrom. As a ZooKeeper serving cluster is highly reliable, this\nmeans that while the server may go down the cluster as a whole\nis still active and serving requests. Additionally, as the\ncluster is \"self healing\" the failed server once restarted will\nautomatically rejoin the ensemble w/o any manual\ninteraction.",{"_5302":29,"_37698":11,"_38077":51852,"_5":22127,"_14695":51809,"_2209":51853},[],"Having a supervisory process such as daemontools or\nSMF\n(other options for supervisory process are also available, it's\nup to you which one you would like to use, these are just two\nexamples) managing your ZooKeeper server ensures that if the\nprocess does exit abnormally it will automatically be restarted\nand will quickly rejoin the cluster.",{"_5302":30,"_37698":11,"_38077":51855,"_5":22127,"_14695":51809,"_2209":51856},[],"It is also recommended to configure the ZooKeeper server process to\nterminate and dump its heap if an OutOfMemoryError** occurs. This is achieved\nby launching the JVM with the following arguments on Linux and Windows\nrespectively. The zkServer.sh and\n*zkServer.cmd* scripts that ship with ZooKeeper set\nthese options.",{"_5302":31,"_37698":11,"_38077":51858,"_5":22127,"_14695":51813,"_2209":51859},[],"The ZooKeeper service can be monitored in one of three primary ways:",{"_5302":32,"_37698":11,"_38077":51861,"_5":22127,"_14695":51813,"_2209":51862},[],"the command port through the use of 4 letter words",{"_5302":33,"_37698":11,"_38077":51864,"_5":22127,"_14695":51813,"_2209":51865},[],"with JMX",{"_5302":34,"_37698":11,"_38077":51867,"_5":22127,"_14695":51813,"_2209":51868},[],"using the zkServer.sh status command",{"_5302":35,"_37698":11,"_38077":51870,"_5":22127,"_14695":51817,"_2209":51871},[],"ZooKeeper uses SLF4J\nversion 1.7 as its logging infrastructure. By default ZooKeeper is shipped with\nLOGBack as the logging backend, but you can use\nany other supported logging framework of your choice.",{"_5302":36,"_37698":11,"_38077":51873,"_5":22127,"_14695":51817,"_2209":51874},[],"The ZooKeeper default logback.xml\nfile resides in the conf directory. Logback requires that\nlogback.xml either be in the working directory\n(the directory from which ZooKeeper is run) or be accessible from the classpath.",{"_5302":37,"_37698":11,"_38077":51876,"_5":22127,"_14695":51817,"_2209":51877},[],"For more information about SLF4J, see\nits manual.",{"_5302":38,"_37698":11,"_38077":51879,"_5":22127,"_14695":51817,"_2209":51880},[],"For more information about Logback, see\nLogback website.",{"_5302":39,"_37698":11,"_38077":51882,"_5":22127,"_14695":51821,"_2209":51883},[],"Server not coming up because of file corruption :\nA server might not be able to read its database and fail to come up because of\nsome file corruption in the transaction logs of the ZooKeeper server. You will\nsee some IOException on loading ZooKeeper database. In such a case,\nmake sure all the other servers in your ensemble are up and working. Use \"stat\"\ncommand on the command port to see if they are in good health. After you have verified that\nall the other servers of the ensemble are up, you can go ahead and clean the database\nof the corrupt server. Delete all the files in datadir/version-2 and datalogdir/version-2/.\nRestart the server.",{"_5302":40,"_37698":11,"_38077":51885,"_5":22127,"_14695":51825,"_2209":51886},[],"New in 3.6.0: The following options are used to configure metrics.",{"_5302":41,"_37698":11,"_38077":51888,"_5":22127,"_14695":51825,"_2209":51889},[],"By default ZooKeeper server exposes useful metrics using the AdminServer\nand Four Letter Words interface.",{"_5302":42,"_37698":11,"_38077":51891,"_5":22127,"_14695":51825,"_2209":51892},[],"Since 3.6.0 you can configure a different Metrics Provider, that exports metrics\nto your favourite system.",{"_5302":43,"_37698":11,"_38077":51894,"_5":22127,"_14695":51825,"_2209":51895},[],"Since 3.6.0 ZooKeeper binary package bundles an integration with Prometheus.io",{"_5302":44,"_37698":11,"_38077":51897,"_5":22127,"_14695":51825,"_2209":51898},[],"metricsProvider.className :\nSet to \"org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider\" to\nenable Prometheus.io exporter.",{"_5302":45,"_37698":11,"_38077":51900,"_5":22127,"_14695":51825,"_2209":51901},[],"metricsProvider.httpHost :\nNew in 3.8.0: Prometheus.io exporter will start a Jetty server and listen this address, default is \"0.0.0.0\"",{"_5302":46,"_37698":11,"_38077":51903,"_5":22127,"_14695":51825,"_2209":51904},[],"metricsProvider.httpPort :\nPrometheus.io exporter will start a Jetty server and bind to this port, it defaults to 7000.\nPrometheus end point will be http://hostname:httPort/metrics.",{"_5302":47,"_37698":11,"_38077":51906,"_5":22127,"_14695":51825,"_2209":51907},[],"metricsProvider.exportJvmInfo :\nIf this property is set to true Prometheus.io will export useful metrics about the JVM.\nThe default is true.",{"_5302":48,"_37698":11,"_38077":51909,"_5":22127,"_14695":51825,"_2209":51910},[],"metricsProvider.numWorkerThreads :\nNew in 3.7.1:\nNumber of worker threads for reporting Prometheus summary metrics.\nDefault value is 1.\nIf the number is less than 1, the main thread will be used.",{"_5302":49,"_37698":11,"_38077":51912,"_5":22127,"_14695":51825,"_2209":51913},[],"metricsProvider.maxQueueSize :\nNew in 3.7.1:\nThe max queue size for Prometheus summary metrics reporting task.\nDefault value is 10000.",{"_5302":50,"_37698":11,"_38077":51915,"_5":22127,"_14695":51825,"_2209":51916},[],"metricsProvider.workerShutdownTimeoutMs :\nNew in 3.7.1:\nThe timeout in ms for Prometheus worker threads shutdown.\nDefault value is 1000ms.",{"_5302":51,"_37698":51,"_5":19386,"_2209":51918,"_38009":51919,"_38077":51920,"_14695":51},"Best Practices",[51788,51789,51790],[],{"_5302":52,"_37698":51,"_38077":51922,"_5":22127,"_14695":51,"_2209":51923},[],"Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.",{"_5302":53,"_37698":51,"_5":38006,"_38077":51925,"_14695":51926,"_2209":51927},[],"/docs/admin-ops/administrators-guide/best-practices#things-to-avoid","Things to Avoid",{"_5302":54,"_37698":51,"_5":38006,"_38077":51929,"_14695":51930,"_2209":51918},[],"/docs/admin-ops/administrators-guide/best-practices#best-practices",{"_5302":55,"_37698":51,"_38077":51932,"_5":22127,"_14695":51926,"_2209":51933},[],"Here are some common problems you can avoid by configuring\nZooKeeper correctly:",{"_5302":56,"_37698":51,"_38077":51935,"_5":22127,"_14695":51926,"_2209":51936},[],"inconsistent lists of servers :\nThe list of ZooKeeper servers used by the clients must match\nthe list of ZooKeeper servers that each ZooKeeper server has.\nThings work okay if the client list is a subset of the real list,\nbut things will really act strange if clients have a list of\nZooKeeper servers that are in different ZooKeeper clusters. Also,\nthe server lists in each Zookeeper server configuration file\nshould be consistent with one another.",{"_5302":57,"_37698":51,"_38077":51938,"_5":22127,"_14695":51926,"_2209":51939},[],"incorrect placement of transaction log :\nThe most performance critical part of ZooKeeper is the\ntransaction log. ZooKeeper syncs transactions to media before it\nreturns a response. A dedicated transaction log device is key to\nconsistent good performance. Putting the log on a busy device will\nadversely affect performance. If you only have one storage device,\nincrease the snapCount so that snapshot files are generated less often;\nit does not eliminate the problem, but it makes more resources available\nfor the transaction log.",{"_5302":58,"_37698":51,"_38077":51941,"_5":22127,"_14695":51926,"_2209":51942},[],"incorrect Java heap size :\nYou should take special care to set your Java max heap size\ncorrectly. In particular, you should not create a situation in\nwhich ZooKeeper swaps to disk. The disk is death to ZooKeeper.\nEverything is ordered, so if processing one request swaps the\ndisk, all other queued requests will probably do the same. DON'T SWAP.\nBe conservative in your estimates: if you have 4G of RAM, do\nnot set the Java max heap size to 6G or even 4G. For example, it\nis more likely you would use a 3G heap for a 4G machine, as the\noperating system and the cache also need memory. The best and only\nrecommend practice for estimating the heap size your system needs\nis to run load tests, and then make sure you are well below the\nusage limit that would cause the system to swap.",{"_5302":59,"_37698":51,"_38077":51944,"_5":22127,"_14695":51926,"_2209":51945},[],"Publicly accessible deployment :\nA ZooKeeper ensemble is expected to operate in a trusted computing environment.\nIt is thus recommended deploying ZooKeeper behind a firewall.",{"_5302":60,"_37698":51,"_38077":51947,"_5":22127,"_14695":51930,"_2209":51948},[],"For best results, take note of the following list of good\nZookeeper practices:",{"_5302":61,"_37698":51,"_38077":51950,"_5":22127,"_14695":51930,"_2209":51951},[],"For multi-tenant installations see the section\ndetailing ZooKeeper \"chroot\" support, this can be very useful\nwhen deploying many applications/services interfacing to a\nsingle ZooKeeper cluster.",{"_5302":62,"_37698":62,"_5":19386,"_2209":51953,"_38009":51954,"_38077":51955,"_14695":62},"Commands",[51788,51789,51790],[],{"_5302":63,"_37698":62,"_38077":51957,"_5":22127,"_14695":62,"_2209":51958},[],"Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.",{"_5302":64,"_37698":62,"_5":38006,"_38077":51960,"_14695":51961,"_2209":51962},[],"/docs/admin-ops/administrators-guide/commands#the-four-letter-words","The Four Letter Words",{"_5302":65,"_37698":62,"_5":38006,"_38077":51964,"_14695":51965,"_2209":51966},[],"/docs/admin-ops/administrators-guide/commands#the-adminserver","The AdminServer",{"_5302":66,"_37698":62,"_5":38006,"_38077":51968,"_14695":51969,"_2209":51970},[],"/docs/admin-ops/administrators-guide/commands#configuring-adminserver-for-ssltls","Configuring AdminServer for SSL/TLS",{"_5302":67,"_37698":62,"_38077":51972,"_5":22127,"_14695":51961,"_2209":51973},[],"ZooKeeper responds to a small set of commands. Each command is\ncomposed of four letters. You issue the commands to ZooKeeper via telnet\nor nc, at the client port.",{"_5302":68,"_37698":62,"_38077":51975,"_5":22127,"_14695":51961,"_2209":51976},[],"Three of the more interesting commands: \"stat\" gives some\ngeneral information about the server and connected clients,\nwhile \"srvr\" and \"cons\" give extended details on server and\nconnections respectively.",{"_5302":69,"_37698":62,"_38077":51978,"_5":22127,"_14695":51961,"_2209":51979},[],"New in 3.5.3:\nFour Letter Words need to be explicitly white listed before using.\nPlease refer to 4lw.commands.whitelist\ndescribed in cluster configuration section for details.\nMoving forward, Four Letter Words will be deprecated, please use\nAdminServer instead.",{"_5302":70,"_37698":62,"_38077":51981,"_5":22127,"_14695":51961,"_2209":51982},[],"conf :\nNew in 3.3.0: Print\ndetails about serving configuration.",{"_5302":71,"_37698":62,"_38077":51984,"_5":22127,"_14695":51961,"_2209":51985},[],"cons :\nNew in 3.3.0: List\nfull connection/session details for all clients connected\nto this server. Includes information on numbers of packets\nreceived/sent, session id, operation latencies, last\noperation performed, etc...",{"_5302":72,"_37698":62,"_38077":51987,"_5":22127,"_14695":51961,"_2209":51988},[],"crst :\nNew in 3.3.0: Reset\nconnection/session statistics for all connections.",{"_5302":73,"_37698":62,"_38077":51990,"_5":22127,"_14695":51961,"_2209":51991},[],"dump :\nLists the outstanding sessions and ephemeral nodes.",{"_5302":74,"_37698":62,"_38077":51993,"_5":22127,"_14695":51961,"_2209":51994},[],"envi :\nPrint details about serving environment",{"_5302":75,"_37698":62,"_38077":51996,"_5":22127,"_14695":51961,"_2209":51997},[],"ruok :\nTests if the server is running in a non-error state.\nWhen the whitelist enables ruok, the server will respond with imok\nif it is running, otherwise it will not respond at all.\nWhen ruok is disabled, the server responds with:\n\"ruok is not executed because it is not in the whitelist.\"\nA response of \"imok\" does not necessarily indicate that the\nserver has joined the quorum, just that the server process is active\nand bound to the specified client port. Use \"stat\" for details on\nstate wrt quorum and client connection information.",{"_5302":76,"_37698":62,"_38077":51999,"_5":22127,"_14695":51961,"_2209":52000},[],"srst :\nReset server statistics.",{"_5302":77,"_37698":62,"_38077":52002,"_5":22127,"_14695":51961,"_2209":52003},[],"srvr :\nNew in 3.3.0: Lists\nfull details for the server.",{"_5302":78,"_37698":62,"_38077":52005,"_5":22127,"_14695":51961,"_2209":52006},[],"stat :\nLists brief details for the server and connected\nclients.",{"_5302":79,"_37698":62,"_38077":52008,"_5":22127,"_14695":51961,"_2209":52009},[],"wchs :\nNew in 3.3.0: Lists\nbrief information on watches for the server.",{"_5302":80,"_37698":62,"_38077":52011,"_5":22127,"_14695":51961,"_2209":52012},[],"wchc :\nNew in 3.3.0: Lists\ndetailed information on watches for the server, by\nsession. This outputs a list of sessions(connections)\nwith associated watches (paths). Note, depending on the\nnumber of watches this operation may be expensive (ie\nimpact server performance), use it carefully.",{"_5302":81,"_37698":62,"_38077":52014,"_5":22127,"_14695":51961,"_2209":52015},[],"dirs :\nNew in 3.5.1:\nShows the total size of snapshot and log files in bytes",{"_5302":82,"_37698":62,"_38077":52017,"_5":22127,"_14695":51961,"_2209":52018},[],"wchp :\nNew in 3.3.0: Lists\ndetailed information on watches for the server, by path.\nThis outputs a list of paths (znodes) with associated\nsessions. Note, depending on the number of watches this\noperation may be expensive (ie impact server performance),\nuse it carefully.",{"_5302":83,"_37698":62,"_38077":52020,"_5":22127,"_14695":51961,"_2209":52021},[],"mntr :\nNew in 3.4.0: Outputs a list\nof variables that could be used for monitoring the health of the cluster.",{"_5302":84,"_37698":62,"_38077":52023,"_5":22127,"_14695":51961,"_2209":52024},[],"The output is compatible with java properties format and the content\nmay change over time (new keys added). Your scripts should expect changes.\nATTENTION: Some of the keys are platform specific and some of the keys are only exported by the Leader.\nThe output contains multiple lines with the following format:",{"_5302":85,"_37698":62,"_38077":52026,"_5":22127,"_14695":51961,"_2209":52027},[],"isro :\nNew in 3.4.0: Tests if\nserver is running in read-only mode. The server will respond with\n\"ro\" if in read-only mode or \"rw\" if not in read-only mode.",{"_5302":86,"_37698":62,"_38077":52029,"_5":22127,"_14695":51961,"_2209":52030},[],"hash :\nNew in 3.6.0:\nReturn the latest history of the tree digest associated with zxid.",{"_5302":87,"_37698":62,"_38077":52032,"_5":22127,"_14695":51961,"_2209":52033},[],"gtmk :\nGets the current trace mask as a 64-bit signed long value in\ndecimal format. See stmk for an explanation of\nthe possible values.",{"_5302":88,"_37698":62,"_38077":52035,"_5":22127,"_14695":51961,"_2209":52036},[],"stmk :\nSets the current trace mask. The trace mask is 64 bits,\nwhere each bit enables or disables a specific category of trace\nlogging on the server. Logback must be configured to enable\nTRACE level first in order to see trace logging\nmessages. The bits of the trace mask correspond to the following\ntrace logging categories.",{"_5302":89,"_37698":62,"_38077":52038,"_5":22127,"_14695":51961,"_2209":52039},[],"Trace Mask Bit Values",{"_5302":90,"_37698":62,"_38077":52041,"_5":22127,"_14695":51961,"_2209":36116},[],{"_5302":91,"_37698":62,"_38077":52043,"_5":22127,"_14695":51961,"_2209":52044},[],"Unused, reserved for future use.",{"_5302":92,"_37698":62,"_38077":52046,"_5":22127,"_14695":51961,"_2209":36122},[],{"_5302":93,"_37698":62,"_38077":52048,"_5":22127,"_14695":51961,"_2209":52049},[],"Logs client requests, excluding ping requests.",{"_5302":94,"_37698":62,"_38077":52051,"_5":22127,"_14695":51961,"_2209":36129},[],{"_5302":95,"_37698":62,"_38077":52053,"_5":22127,"_14695":51961,"_2209":52044},[],{"_5302":96,"_37698":62,"_38077":52055,"_5":22127,"_14695":51961,"_2209":36136},[],{"_5302":97,"_37698":62,"_38077":52057,"_5":22127,"_14695":51961,"_2209":52058},[],"Logs client ping requests.",{"_5302":98,"_37698":62,"_38077":52060,"_5":22127,"_14695":51961,"_2209":36143},[],{"_5302":99,"_37698":62,"_38077":52062,"_5":22127,"_14695":51961,"_2209":52063},[],"Logs packets received from the quorum peer that is the current leader, excluding ping requests.",{"_5302":100,"_37698":62,"_38077":52065,"_5":22127,"_14695":51961,"_2209":36150},[],{"_5302":101,"_37698":62,"_38077":52067,"_5":22127,"_14695":51961,"_2209":52068},[],"Logs addition, removal and validation of client sessions.",{"_5302":102,"_37698":62,"_38077":52070,"_5":22127,"_14695":51961,"_2209":36157},[],{"_5302":103,"_37698":62,"_38077":52072,"_5":22127,"_14695":51961,"_2209":52073},[],"Logs delivery of watch events to client sessions.",{"_5302":104,"_37698":62,"_38077":52075,"_5":22127,"_14695":51961,"_2209":36164},[],{"_5302":105,"_37698":62,"_38077":52077,"_5":22127,"_14695":51961,"_2209":52078},[],"Logs ping packets received from the quorum peer that is the current leader.",{"_5302":106,"_37698":62,"_38077":52080,"_5":22127,"_14695":51961,"_2209":36176},[],{"_5302":107,"_37698":62,"_38077":52082,"_5":22127,"_14695":51961,"_2209":52044},[],{"_5302":108,"_37698":62,"_38077":52084,"_5":22127,"_14695":51961,"_2209":36189},[],{"_5302":109,"_37698":62,"_38077":52086,"_5":22127,"_14695":51961,"_2209":52044},[],{"_5302":110,"_37698":62,"_38077":52088,"_5":22127,"_14695":51961,"_2209":52089},[],"All remaining bits in the 64-bit value are unused and reserved for future use.\nMultiple trace logging categories are specified by calculating the bitwise OR of the documented values.\nThe default trace mask is 0b0100110010. Thus, by default, trace logging includes client requests,\npackets received from the leader and sessions.\nTo set a different trace mask, send a request containing the stmk four-letter word followed\nby the trace mask represented as a 64-bit signed long value. This example uses\nthe Perl pack function to construct a trace mask that enables all trace logging categories\ndescribed above and convert it to a 64-bit signed long value with big-endian byte order.\nThe result is appended to stmk and sent to the server using netcat.\nThe server responds with the new trace mask in decimal format.",{"_5302":111,"_37698":62,"_38077":52091,"_5":22127,"_14695":51961,"_2209":52092},[],"Here's an example of the ruok\ncommand:",{"_5302":112,"_37698":62,"_38077":52094,"_5":22127,"_14695":51965,"_2209":52095},[],"New in 3.5.0: The AdminServer is\nan embedded Jetty server that provides an HTTP interface to the four-letter\nword commands. By default, the server is started on port 8080,\nand commands are issued by going to the URL \"/commands/[command name]\",\ne.g., http://localhost:8080/commands/stat. The command response is\nreturned as JSON. Unlike the original protocol, commands are not\nrestricted to four-letter names, and commands can have multiple names;\nfor instance, \"stmk\" can also be referred to as \"set_trace_mask\". To\nview a list of all available commands, point a browser to the URL\n/commands (e.g., http://localhost:8080/commands). See the AdminServer configuration options\nfor how to change the port and URLs.",{"_5302":113,"_37698":62,"_38077":52097,"_5":22127,"_14695":51965,"_2209":52098},[],"The AdminServer is enabled by default, but can be disabled by either:",{"_5302":114,"_37698":62,"_38077":52100,"_5":22127,"_14695":51965,"_2209":52101},[],"Setting the zookeeper.admin.enableServer system\nproperty to false.",{"_5302":115,"_37698":62,"_38077":52103,"_5":22127,"_14695":51965,"_2209":52104},[],"Removing Jetty from the classpath. (This option is\nuseful if you would like to override ZooKeeper's jetty\ndependency.)",{"_5302":116,"_37698":62,"_38077":52106,"_5":22127,"_14695":51965,"_2209":52107},[],"Note that the TCP four-letter word interface is still available if\nthe AdminServer is disabled.",{"_5302":117,"_37698":62,"_38077":52109,"_5":22127,"_14695":51969,"_2209":52110},[],"Generating the keystore.jks and truststore.jks which can be found in the Quorum TLS.",{"_5302":118,"_37698":62,"_38077":52112,"_5":22127,"_14695":51969,"_2209":52113},[],"Add the following configuration settings to the zoo.cfg config file:",{"_5302":119,"_37698":62,"_38077":52115,"_5":22127,"_14695":51969,"_2209":52116},[],"Verify that the following entries in the logs can be seen:",{"_5302":120,"_37698":62,"_38077":52118,"_5":22127,"_14695":51969,"_2209":52119},[],"Available commands include:",{"_5302":121,"_37698":62,"_38077":52121,"_5":22127,"_14695":51969,"_2209":52122},[],"connection_stat_reset/crst:\nReset all client connection statistics.\nNo new fields returned.",{"_5302":122,"_37698":62,"_38077":52124,"_5":22127,"_14695":51969,"_2209":52125},[],"configuration/conf/config :\nPrint basic details about serving configuration, e.g.\nclient port, absolute path to data directory.",{"_5302":123,"_37698":62,"_38077":52127,"_5":22127,"_14695":51969,"_2209":52128},[],"connections/cons :\nInformation on client connections to server.\nNote, depending on the number of client connections this operation may be expensive\n(i.e. impact server performance).\nReturns \"connections\", a list of connection info objects.",{"_5302":124,"_37698":62,"_38077":52130,"_5":22127,"_14695":51969,"_2209":52131},[],"hash:\nTxn digests in the historical digest list.\nOne is recorded every 128 transactions.\nReturns \"digests\", a list to transaction digest objects.",{"_5302":125,"_37698":62,"_38077":52133,"_5":22127,"_14695":51969,"_2209":52134},[],"dirs :\nInformation on logfile directory and snapshot directory\nsize in bytes.\nReturns \"datadir_size\" and \"logdir_size\".",{"_5302":126,"_37698":62,"_38077":52136,"_5":22127,"_14695":51969,"_2209":52137},[],"dump :\nInformation on session expirations and ephemerals.\nNote, depending on the number of global sessions and ephemerals\nthis operation may be expensive (i.e. impact server performance).\nReturns \"expiry_time_to_session_ids\" and \"session_id_to_ephemeral_paths\" as maps.",{"_5302":127,"_37698":62,"_38077":52139,"_5":22127,"_14695":51969,"_2209":52140},[],"environment/env/envi :\nAll defined environment variables.\nReturns each as its own field.",{"_5302":128,"_37698":62,"_38077":52142,"_5":22127,"_14695":51969,"_2209":52143},[],"get_trace_mask/gtmk :\nThe current trace mask. Read-only version of set_trace_mask.\nSee the description of the four letter command stmk for\nmore details.\nReturns \"tracemask\".",{"_5302":129,"_37698":62,"_38077":52145,"_5":22127,"_14695":51969,"_2209":52146},[],"initial_configuration/icfg :\nPrint the text of the configuration file used to start the peer.\nReturns \"initial_configuration\".",{"_5302":130,"_37698":62,"_38077":52148,"_5":22127,"_14695":51969,"_2209":52149},[],"is_read_only/isro :\nA true/false if this server is in read-only mode.\nReturns \"read_only\".",{"_5302":131,"_37698":62,"_38077":52151,"_5":22127,"_14695":51969,"_2209":52152},[],"last_snapshot/lsnp :\nInformation of the last snapshot that zookeeper server has finished saving to disk.\nIf called during the initial time period between the server starting up\nand the server finishing saving its first snapshot, the command returns the\ninformation of the snapshot read when starting up the server.\nReturns \"zxid\" and \"timestamp\", the latter using a time unit of seconds.",{"_5302":132,"_37698":62,"_38077":52154,"_5":22127,"_14695":51969,"_2209":52155},[],"leader/lead :\nIf the ensemble is configured in quorum mode then emits the current leader\nstatus of the peer and the current leader location.\nReturns \"is_leader\", \"leader_id\", and \"leader_ip\".",{"_5302":133,"_37698":62,"_38077":52157,"_5":22127,"_14695":51969,"_2209":52158},[],"monitor/mntr :\nEmits a wide variety of useful info for monitoring.\nIncludes performance stats, information about internal queues, and\nsummaries of the data tree (among other things).\nReturns each as its own field.",{"_5302":134,"_37698":62,"_38077":52160,"_5":22127,"_14695":51969,"_2209":52161},[],"observer_connection_stat_reset/orst :\nReset all observer connection statistics. Companion command to observers.\nNo new fields returned.",{"_5302":135,"_37698":62,"_38077":52163,"_5":22127,"_14695":51969,"_2209":52164},[],"restore/rest :\nRestore database from snapshot input stream on the current server.\nReturns the following data in response payload:\n\"last_zxid\": String\nNote: this API is rate-limited (once every 5 mins by default) to protect the server\nfrom being over-loaded.",{"_5302":136,"_37698":62,"_38077":52166,"_5":22127,"_14695":51969,"_2209":52167},[],"ruok :\nNo-op command, check if the server is running.\nA response does not necessarily indicate that the\nserver has joined the quorum, just that the admin server\nis active and bound to the specified port.\nNo new fields returned.",{"_5302":137,"_37698":62,"_38077":52169,"_5":22127,"_14695":51969,"_2209":52170},[],"set_trace_mask/stmk :\nSets the trace mask (as such, it requires a parameter).\nWrite version of get_trace_mask.\nSee the description of the four letter command stmk for\nmore details.\nReturns \"tracemask\".",{"_5302":138,"_37698":62,"_38077":52172,"_5":22127,"_14695":51969,"_2209":52173},[],"server_stats/srvr :\nServer information.\nReturns multiple fields giving a brief overview of server state.",{"_5302":139,"_37698":62,"_38077":52175,"_5":22127,"_14695":51969,"_2209":52176},[],"snapshot/snap :\nTakes a snapshot of the current server in the datadir and stream out data.\nOptional query parameter:\n\"streaming\": Boolean (defaults to true if the parameter is not present)\nReturns the following via Http headers:\n\"last_zxid\": String\n\"snapshot_size\": String\nNote: this API is rate-limited (once every 5 mins by default) to protect the server\nfrom being over-loaded.",{"_5302":140,"_37698":62,"_38077":52178,"_5":22127,"_14695":51969,"_2209":52179},[],"stats/stat :\nSame as server_stats but also returns the \"connections\" field (see connections\nfor details).\nNote, depending on the number of client connections this operation may be expensive\n(i.e. impact server performance).",{"_5302":141,"_37698":62,"_38077":52181,"_5":22127,"_14695":51969,"_2209":52182},[],"stat_reset/srst :\nResets server statistics. This is a subset of the information returned\nby server_stats and stats.\nNo new fields returned.",{"_5302":142,"_37698":62,"_38077":52184,"_5":22127,"_14695":51969,"_2209":52185},[],"observers/obsr :\nInformation on observer connections to server.\nAlways available on a Leader, available on a Follower if its\nacting as a learner master.\nReturns \"synced_observers\" (int) and \"observers\" (list of per-observer properties).",{"_5302":143,"_37698":62,"_38077":52187,"_5":22127,"_14695":51969,"_2209":52188},[],"system_properties/sysp :\nAll defined system properties.\nReturns each as its own field.",{"_5302":144,"_37698":62,"_38077":52190,"_5":22127,"_14695":51969,"_2209":52191},[],"voting_view :\nProvides the current voting members in the ensemble.\nReturns \"current_config\" as a map.",{"_5302":145,"_37698":62,"_38077":52193,"_5":22127,"_14695":51969,"_2209":52194},[],"watches/wchc :\nWatch information aggregated by session.\nNote, depending on the number of watches this operation may be expensive\n(i.e. impact server performance).\nReturns \"session_id_to_watched_paths\" as a map.",{"_5302":146,"_37698":62,"_38077":52196,"_5":22127,"_14695":51969,"_2209":52197},[],"watches_by_path/wchp :\nWatch information aggregated by path.\nNote, depending on the number of watches this operation may be expensive\n(i.e. impact server performance).\nReturns \"path_to_session_ids\" as a map.",{"_5302":147,"_37698":62,"_38077":52199,"_5":22127,"_14695":51969,"_2209":52200},[],"watch_summary/wchs :\nSummarized watch information.\nReturns \"num_total_watches\", \"num_paths\", and \"num_connections\".",{"_5302":148,"_37698":62,"_38077":52202,"_5":22127,"_14695":51969,"_2209":52203},[],"zabstate :\nThe current phase of Zab protocol that peer is running and whether it is a\nvoting member.\nPeers can be in one of these phases: ELECTION, DISCOVERY, SYNCHRONIZATION, BROADCAST.\nReturns fields \"voting\" and \"zabstate\".",{"_5302":149,"_37698":149,"_5":19386,"_2209":52205,"_38009":52206,"_38077":52207,"_14695":149},"Communication using the Netty framework",[51788,51789,51790],[],{"_5302":150,"_37698":149,"_38077":52209,"_5":22127,"_14695":149,"_2209":52210},[],"Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.",{"_5302":151,"_37698":149,"_5":38006,"_38077":52212,"_14695":52213,"_2209":52214},[],"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#quorum-tls","Quorum TLS",{"_5302":152,"_37698":149,"_5":38006,"_38077":52216,"_14695":52217,"_2209":52218},[],"/docs/admin-ops/administrators-guide/communication-using-the-netty-framework#upgrading-existing-non-tls-cluster-with-no-downtime","Upgrading existing non-TLS cluster with no downtime",{"_5302":153,"_37698":149,"_38077":52220,"_5":22127,"_14695":149,"_2209":52221},[],"Netty\nis an NIO based client/server communication framework, it\nsimplifies (over NIO being used directly) many of the\ncomplexities of network level communication for java\napplications. Additionally the Netty framework has built\nin support for encryption (SSL) and authentication\n(certificates). These are optional features and can be\nturned on or off individually.",{"_5302":154,"_37698":149,"_38077":52223,"_5":22127,"_14695":149,"_2209":52224},[],"In versions 3.5+, a ZooKeeper server can use Netty\ninstead of NIO (default option) by setting the environment\nvariable zookeeper.serverCnxnFactory\nto org.apache.zookeeper.server.NettyServerCnxnFactory;\nfor the client, set zookeeper.clientCnxnSocket\nto org.apache.zookeeper.ClientCnxnSocketNetty.",{"_5302":155,"_37698":149,"_38077":52226,"_5":22127,"_14695":52213,"_2209":52227},[],"New in 3.5.5",{"_5302":156,"_37698":149,"_38077":52229,"_5":22127,"_14695":52213,"_2209":52230},[],"Based on the Netty Framework ZooKeeper ensembles can be set up\nto use TLS encryption in their communication channels. This section\ndescribes how to set up encryption on the quorum communication.",{"_5302":157,"_37698":149,"_38077":52232,"_5":22127,"_14695":52213,"_2209":52233},[],"Please note that Quorum TLS encapsulates securing both leader election\nand quorum communication protocols.",{"_5302":158,"_37698":149,"_38077":52235,"_5":22127,"_14695":52213,"_2209":52236},[],"Create SSL keystore JKS to store local credentials. One keystore should be created for each ZK\ninstance. In this example we generate a self-signed certificate and store it together with the\nprivate key in keystore.jks. This is suitable for testing purposes, but you probably need an\nofficial certificate to sign your keys in a production environment. Please note that the alias\n(-alias) and the distinguished name (-dname) must match the hostname of the machine that is\nassociated with, otherwise hostname verification won't work.",{"_5302":159,"_37698":149,"_38077":52238,"_5":22127,"_14695":52213,"_2209":52239},[],"Extract the signed public key (certificate) from keystore. This step might only be necessary\nfor self-signed certificates.",{"_5302":160,"_37698":149,"_38077":52241,"_5":22127,"_14695":52213,"_2209":52242},[],"Create SSL truststore JKS containing certificates of all ZooKeeper instances. The same\ntruststore (storing all accepted certs) should be shared on participants of the ensemble. You\nneed to use different aliases to store multiple certificates in the same truststore. Name of\nthe aliases doesn't matter.",{"_5302":161,"_37698":149,"_38077":52244,"_5":22127,"_14695":52213,"_2209":52245},[],"Use NettyServerCnxnFactory as serverCnxnFactory, because SSL is not supported by NIO. Add\nthe following configuration settings to your zoo.cfg config file:",{"_5302":162,"_37698":149,"_38077":52247,"_5":22127,"_14695":52213,"_2209":52248},[],"Verify in the logs that your ensemble is running on TLS:",{"_5302":163,"_37698":149,"_38077":52250,"_5":22127,"_14695":52217,"_2209":52227},[],{"_5302":164,"_37698":149,"_38077":52252,"_5":22127,"_14695":52217,"_2209":52253},[],"Here are the steps needed to upgrade an already running ZooKeeper ensemble\nto TLS without downtime by taking advantage of port unification functionality.",{"_5302":165,"_37698":149,"_38077":52255,"_5":22127,"_14695":52217,"_2209":52256},[],"Create the necessary keystores and truststores for all ZK participants as described in the\nprevious section.",{"_5302":166,"_37698":149,"_38077":52258,"_5":22127,"_14695":52217,"_2209":52259},[],"Add the following config settings and restart the first node. Note that TLS is not yet\nenabled, but we turn on port unification.",{"_5302":167,"_37698":149,"_38077":52261,"_5":22127,"_14695":52217,"_2209":52262},[],"Repeat step 2 on the remaining nodes. Verify that you see the following entries in the logs,\nand double-check after each node restart that the quorum becomes healthy again.",{"_5302":168,"_37698":149,"_38077":52264,"_5":22127,"_14695":52217,"_2209":52265},[],"Enable Quorum TLS on each node and do a rolling restart:",{"_5302":169,"_37698":149,"_38077":52267,"_5":22127,"_14695":52217,"_2209":52268},[],"Once you verify that your entire ensemble is running on TLS, disable port unification and do\nanother rolling restart:",{"_5302":170,"_37698":170,"_5":19386,"_2209":52270,"_38009":52271,"_38077":52272,"_14695":170},"Configuration Parameters",[51788,51789,51790],[],{"_5302":171,"_37698":170,"_38077":52274,"_5":22127,"_14695":170,"_2209":52275},[],"Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.",{"_5302":172,"_37698":170,"_5":38006,"_38077":52277,"_14695":52278,"_2209":52279},[],"/docs/admin-ops/administrators-guide/configuration-parameters#minimum-configuration","Minimum Configuration",{"_5302":173,"_37698":170,"_5":38006,"_38077":52281,"_14695":52282,"_2209":52283},[],"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration","Advanced Configuration",{"_5302":174,"_37698":170,"_5":38006,"_38077":52285,"_14695":52286,"_2209":52287},[],"/docs/admin-ops/administrators-guide/configuration-parameters#cluster-options","Cluster Options",{"_5302":175,"_37698":170,"_5":38006,"_38077":52289,"_14695":52290,"_2209":52291},[],"/docs/admin-ops/administrators-guide/configuration-parameters#encryption-authentication-authorization-options","Encryption, Authentication, Authorization Options",{"_5302":176,"_37698":170,"_5":38006,"_38077":52293,"_14695":52294,"_2209":52295},[],"/docs/admin-ops/administrators-guide/configuration-parameters#tls-cipher-suites","TLS Cipher Suites",{"_5302":177,"_37698":170,"_5":38006,"_38077":52297,"_14695":52298,"_2209":52299},[],"/docs/admin-ops/administrators-guide/configuration-parameters#experimental-optionsfeatures","Experimental Options/Features",{"_5302":178,"_37698":170,"_5":38006,"_38077":52301,"_14695":52302,"_2209":52303},[],"/docs/admin-ops/administrators-guide/configuration-parameters#unsafe-options","Unsafe Options",{"_5302":179,"_37698":170,"_5":38006,"_38077":52305,"_14695":52306,"_2209":52307},[],"/docs/admin-ops/administrators-guide/configuration-parameters#disabling-data-directory-autocreation","Disabling data directory autocreation",{"_5302":180,"_37698":170,"_5":38006,"_38077":52309,"_14695":52310,"_2209":52311},[],"/docs/admin-ops/administrators-guide/configuration-parameters#enabling-db-existence-validation","Enabling db existence validation",{"_5302":181,"_37698":170,"_5":38006,"_38077":52313,"_14695":52314,"_2209":52315},[],"/docs/admin-ops/administrators-guide/configuration-parameters#performance-tuning-options","Performance Tuning Options",{"_5302":182,"_37698":170,"_5":38006,"_38077":52317,"_14695":52318,"_2209":52319},[],"/docs/admin-ops/administrators-guide/configuration-parameters#debug-observability-configurations","Debug Observability Configurations",{"_5302":183,"_37698":170,"_5":38006,"_38077":52321,"_14695":52322,"_2209":52323},[],"/docs/admin-ops/administrators-guide/configuration-parameters#adminserver-configuration","AdminServer configuration",{"_5302":184,"_37698":170,"_38077":52325,"_5":22127,"_14695":170,"_2209":52326},[],"ZooKeeper's behavior is governed by the ZooKeeper configuration\nfile. This file is designed so that the exact same file can be used by\nall the servers that make up a ZooKeeper server assuming the disk\nlayouts are the same. If servers use different configuration files, care\nmust be taken to ensure that the list of servers in all of the different\nconfiguration files match.",{"_5302":185,"_37698":170,"_38077":52328,"_5":22127,"_14695":170,"_2209":52329},[],"type: info",{"_5302":186,"_37698":170,"_38077":52331,"_5":22127,"_14695":170,"_2209":52332},[],"In 3.5.0 and later, some of these parameters should be placed in a dynamic\nconfiguration file. If they are placed in the static configuration file,\nZooKeeper will automatically move them over to the dynamic configuration file.\nSee Dynamic Reconfiguration for\nmore information.",{"_5302":187,"_37698":170,"_38077":52334,"_5":22127,"_14695":52278,"_2209":52335},[],"Here are the minimum configuration keywords that must be defined\nin the configuration file:",{"_5302":188,"_37698":170,"_38077":52337,"_5":22127,"_14695":52278,"_2209":52338},[],"clientPort :\nthe port to listen for client connections; that is, the\nport that clients attempt to connect to.",{"_5302":189,"_37698":170,"_38077":52340,"_5":22127,"_14695":52278,"_2209":52341},[],"secureClientPort :\nthe port to listen on for secure client connections using SSL.\nclientPort specifies\nthe port for plaintext connections while secureClientPort specifies the port for SSL\nconnections. Specifying both enables mixed-mode while omitting\neither will disable that mode.\nNote that SSL feature will be enabled when user plugs-in\nzookeeper.serverCnxnFactory, zookeeper.clientCnxnSocket as Netty.",{"_5302":190,"_37698":170,"_38077":52343,"_5":22127,"_14695":52278,"_2209":52344},[],"observerMasterPort :\nthe port to listen for observer connections; that is, the\nport that observers attempt to connect to.\nif the property is set then the server will host observer connections\nwhen in follower mode in addition to when in leader mode and correspondingly\nattempt to connect to any voting peer when in observer mode.",{"_5302":191,"_37698":170,"_38077":52346,"_5":22127,"_14695":52278,"_2209":52347},[],"dataDir :\nthe location where ZooKeeper will store the in-memory\ndatabase snapshots and, unless specified otherwise, the\ntransaction log of updates to the database.",{"_5302":192,"_37698":170,"_38077":52349,"_5":22127,"_14695":52278,"_2209":52329},[],{"_5302":193,"_37698":170,"_38077":52351,"_5":22127,"_14695":52278,"_2209":52352},[],"Be careful where you put the transaction log. A dedicated transaction log\ndevice is key to consistent good performance. Putting the log on a busy\ndevice will adversely affect performance.",{"_5302":194,"_37698":170,"_38077":52354,"_5":22127,"_14695":52278,"_2209":52355},[],"tickTime :\nthe length of a single tick, which is the basic time unit\nused by ZooKeeper, as measured in milliseconds. It is used to\nregulate heartbeats, and timeouts. For example, the minimum\nsession timeout will be two ticks.",{"_5302":195,"_37698":170,"_38077":52357,"_5":22127,"_14695":52282,"_2209":52358},[],"The configuration settings in the section are optional. You can\nuse them to further fine tune the behaviour of your ZooKeeper servers.\nSome can also be set using Java system properties, generally of the\nform zookeeper.keyword. The exact system\nproperty, when available, is noted below.",{"_5302":196,"_37698":170,"_38077":52360,"_5":22127,"_14695":52282,"_2209":52361},[],"dataLogDir :\n(No Java system property)\nThis option will direct the machine to write the\ntransaction log to the dataLogDir rather than the dataDir. This allows a dedicated log\ndevice to be used, and helps avoid competition between logging\nand snapshots.",{"_5302":197,"_37698":170,"_38077":52363,"_5":22127,"_14695":52282,"_2209":52329},[],{"_5302":198,"_37698":170,"_38077":52365,"_5":22127,"_14695":52282,"_2209":52366},[],"Having a dedicated log device has a large impact on throughput and stable\nlatencies. It is highly recommended dedicating a log device and set\ndataLogDir to point to a directory on that device, and then make sure to\npoint dataDir to a directory not residing on that device.",{"_5302":199,"_37698":170,"_38077":52368,"_5":22127,"_14695":52282,"_2209":52369},[],"globalOutstandingLimit :\n(Java system property: zookeeper.globalOutstandingLimit.)\nClients can submit requests faster than ZooKeeper can\nprocess them, especially if there are a lot of clients. To\nprevent ZooKeeper from running out of memory due to queued\nrequests, ZooKeeper will throttle clients so that there are no\nmore than globalOutstandingLimit outstanding requests across\nentire ensemble, equally divided. The default limit is 1,000\nand, for example, with 3 members each of them will have\n1000 / 2 = 500 individual limit.",{"_5302":200,"_37698":170,"_38077":52371,"_5":22127,"_14695":52282,"_2209":52372},[],"preAllocSize :\n(Java system property: zookeeper.preAllocSize)\nTo avoid seeks ZooKeeper allocates space in the\ntransaction log file in blocks of preAllocSize kilobytes. The\ndefault block size is 64M. One reason for changing the size of\nthe blocks is to reduce the block size if snapshots are taken\nmore often. (Also, see snapCount and snapSizeLimitInKb).",{"_5302":201,"_37698":170,"_38077":52374,"_5":22127,"_14695":52282,"_2209":52375},[],"snapCount :\n(Java system property: zookeeper.snapCount)\nZooKeeper records its transactions using snapshots and\na transaction log (think write-ahead log). The number of\ntransactions recorded in the transaction log before a snapshot\ncan be taken (and the transaction log rolled) is determined\nby snapCount. In order to prevent all of the machines in the quorum\nfrom taking a snapshot at the same time, each ZooKeeper server\nwill take a snapshot when the number of transactions in the transaction log\nreaches a runtime generated random value in the [snapCount/2+1, snapCount]\nrange. The default snapCount is 100,000.",{"_5302":202,"_37698":170,"_38077":52377,"_5":22127,"_14695":52282,"_2209":52378},[],"commitLogCount * :\n(Java system property: zookeeper.commitLogCount)\nZookeeper maintains an in-memory list of last committed requests for fast synchronization with\nfollowers when the followers are not too behind. This improves sync performance in case when your\nsnapshots are large (>100,000). The default value is 500 which is the recommended minimum.",{"_5302":203,"_37698":170,"_38077":52380,"_5":22127,"_14695":52282,"_2209":52381},[],"snapSizeLimitInKb :\n(Java system property: zookeeper.snapSizeLimitInKb)\nZooKeeper records its transactions using snapshots and\na transaction log (think write-ahead log). The total size in bytes allowed\nin the set of transactions recorded in the transaction log before a snapshot\ncan be taken (and the transaction log rolled) is determined\nby snapSize. In order to prevent all of the machines in the quorum\nfrom taking a snapshot at the same time, each ZooKeeper server\nwill take a snapshot when the size in bytes of the set of transactions in the\ntransaction log reaches a runtime generated random value in the [snapSize/2+1, snapSize]\nrange. Each file system has a minimum standard file size and in order\nto for valid functioning of this feature, the number chosen must be larger\nthan that value. The default snapSizeLimitInKb is 4,194,304 (4GB).\nA non-positive value will disable the feature.",{"_5302":204,"_37698":170,"_38077":52383,"_5":22127,"_14695":52282,"_2209":52384},[],"txnLogSizeLimitInKb :\n(Java system property: zookeeper.txnLogSizeLimitInKb)\nZookeeper transaction log file can also be controlled more\ndirectly using txnLogSizeLimitInKb. Larger txn logs can lead to\nslower follower syncs when sync is done using transaction log.\nThis is because leader has to scan through the appropriate log\nfile on disk to find the transaction to start sync from.\nThis feature is turned off by default and snapCount and snapSizeLimitInKb are the\nonly values that limit transaction log size. When enabled\nZookeeper will roll the log when any of the limits is hit.\nPlease note that actual log size can exceed this value by the size\nof the serialized transaction. On the other hand, if this value is\nset too close to (or smaller than) preAllocSize,\nit can cause Zookeeper to roll the log for every transaction. While\nthis is not a correctness issue, this may cause severely degraded\nperformance. To avoid this and to get most out of this feature, it is\nrecommended to set the value to N * preAllocSize\nwhere N >= 2.",{"_5302":205,"_37698":170,"_38077":52386,"_5":22127,"_14695":52282,"_2209":52387},[],"maxCnxns :\n(Java system property: zookeeper.maxCnxns)\nLimits the total number of concurrent connections that can be made to a\nzookeeper server (per client Port of each server ). This is used to prevent certain\nclasses of DoS attacks. The default is 0 and setting it to 0 entirely removes\nthe limit on total number of concurrent connections. Accounting for the\nnumber of connections for serverCnxnFactory and a secureServerCnxnFactory is done\nseparately, so a peer is allowed to host up to 2*maxCnxns provided they are of appropriate types.",{"_5302":206,"_37698":170,"_38077":52389,"_5":22127,"_14695":52282,"_2209":52390},[],"maxClientCnxns :\n(No Java system property)\nLimits the number of concurrent connections (at the socket\nlevel) that a single client, identified by IP address, may make\nto a single member of the ZooKeeper ensemble. This is used to\nprevent certain classes of DoS attacks, including file\ndescriptor exhaustion. The default is 60. Setting this to 0\nentirely removes the limit on concurrent connections.",{"_5302":207,"_37698":170,"_38077":52392,"_5":22127,"_14695":52282,"_2209":52393},[],"clientPortAddress :\nNew in 3.3.0: the\naddress (ipv4, ipv6 or hostname) to listen for client\nconnections; that is, the address that clients attempt\nto connect to. This is optional, by default we bind in\nsuch a way that any connection to the clientPort for any\naddress/interface/nic on the server will be\naccepted.",{"_5302":208,"_37698":170,"_38077":52395,"_5":22127,"_14695":52282,"_2209":52396},[],"minSessionTimeout :\n(No Java system property)\nNew in 3.3.0: the\nminimum session timeout in milliseconds that the server\nwill allow the client to negotiate. Defaults to 2 times\nthe tickTime.",{"_5302":209,"_37698":170,"_38077":52398,"_5":22127,"_14695":52282,"_2209":52399},[],"maxSessionTimeout :\n(No Java system property)\nNew in 3.3.0: the\nmaximum session timeout in milliseconds that the server\nwill allow the client to negotiate. Defaults to 20 times\nthe tickTime.",{"_5302":210,"_37698":170,"_38077":52401,"_5":22127,"_14695":52282,"_2209":52402},[],"fsync.warningthresholdms :\n(Java system property: zookeeper.fsync.warningthresholdms)\nNew in 3.3.4: A\nwarning message will be output to the log whenever an\nfsync in the Transactional Log (WAL) takes longer than\nthis value. The values is specified in milliseconds and\ndefaults to 1000. This value can only be set as a\nsystem property.",{"_5302":211,"_37698":170,"_38077":52404,"_5":22127,"_14695":52282,"_2209":52405},[],"maxResponseCacheSize :\n(Java system property: zookeeper.maxResponseCacheSize)\nWhen set to a positive integer, it determines the size\nof the cache that stores the serialized form of recently\nread records. Helps save the serialization cost on\npopular znodes. The metrics response_packet_cache_hits\nand response_packet_cache_misses can be used to tune\nthis value to a given workload. The feature is turned on\nby default with a value of 400, set to 0 or a negative\ninteger to turn the feature off.",{"_5302":212,"_37698":170,"_38077":52407,"_5":22127,"_14695":52282,"_2209":52408},[],"maxGetChildrenResponseCacheSize :\n(Java system property: zookeeper.maxGetChildrenResponseCacheSize)\nNew in 3.6.0:\nSimilar to maxResponseCacheSize, but applies to get children\nrequests. The metrics response_packet_get_children_cache_hits\nand response_packet_get_children_cache_misses can be used to tune\nthis value to a given workload. The feature is turned on\nby default with a value of 400, set to 0 or a negative\ninteger to turn the feature off.",{"_5302":213,"_37698":170,"_38077":52410,"_5":22127,"_14695":52282,"_2209":52411},[],"autopurge.snapRetainCount :\n(No Java system property)\nNew in 3.4.0:\nWhen enabled, ZooKeeper auto purge feature retains\nthe autopurge.snapRetainCount most\nrecent snapshots and the corresponding transaction logs in the\ndataDir and dataLogDir respectively and deletes the rest.\nDefaults to 3. Minimum value is 3.",{"_5302":214,"_37698":170,"_38077":52413,"_5":22127,"_14695":52282,"_2209":52414},[],"autopurge.purgeInterval :\n(No Java system property)\nNew in 3.4.0: The\ntime interval in hours for which the purge task has to\nbe triggered. Set to a positive integer (1 and above)\nto enable the auto purging. Defaults to 0.\nSuffix support added in 3.10.0: The interval is specified as an integer with an optional suffix to indicate the time unit.\nSupported suffixes are: ms for milliseconds, s for seconds, m for minutes, h for hours, and d for days.\nFor example, \"10m\" represents 10 minutes, and \"5h\" represents 5 hours.\nIf no suffix is provided, the default unit is hours.",{"_5302":215,"_37698":170,"_38077":52416,"_5":22127,"_14695":52282,"_2209":52417},[],"syncEnabled :\n(Java system property: zookeeper.observer.syncEnabled)\nNew in 3.4.6, 3.5.0:\nThe observers now log transaction and write snapshot to disk\nby default like the participants. This reduces the recovery time\nof the observers on restart. Set to \"false\" to disable this\nfeature. Default is \"true\"",{"_5302":216,"_37698":170,"_38077":52419,"_5":22127,"_14695":52282,"_2209":52420},[],"extendedTypesEnabled :\n(Java system property only: zookeeper.extendedTypesEnabled)\nNew in 3.5.4, 3.6.0: Define to true to enable\nextended features such as the creation of TTL Nodes.\nThey are disabled by default. IMPORTANT: when enabled server IDs must\nbe less than 255 due to internal limitations.",{"_5302":217,"_37698":170,"_38077":52422,"_5":22127,"_14695":52282,"_2209":52423},[],"emulate353TTLNodes :\n(Java system property only:zookeeper.emulate353TTLNodes).\nNew in 3.5.4, 3.6.0: Due to [ZOOKEEPER-2901]\n(https://issues.apache.org/jira/browse/ZOOKEEPER-2901) TTL nodes\ncreated in version 3.5.3 are not supported in 3.5.4/3.6.0. However, a workaround is provided via the\nzookeeper.emulate353TTLNodes system property. If you used TTL nodes in ZooKeeper 3.5.3 and need to maintain\ncompatibility set zookeeper.emulate353TTLNodes to true in addition to\nzookeeper.extendedTypesEnabled. NOTE: due to the bug, server IDs\nmust be 127 or less. Additionally, the maximum support TTL value is 1099511627775 which is smaller\nthan what was allowed in 3.5.3 (1152921504606846975)",{"_5302":218,"_37698":170,"_38077":52425,"_5":22127,"_14695":52282,"_2209":52426},[],"watchManagerName :\n(Java system property only: zookeeper.watchManagerName)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nNew watcher manager WatchManagerOptimized is added to optimize the memory overhead in heavy watch use cases. This\nconfig is used to define which watcher manager to be used. Currently, we only support WatchManager and\nWatchManagerOptimized.",{"_5302":219,"_37698":170,"_38077":52428,"_5":22127,"_14695":52282,"_2209":52429},[],"watcherCleanThreadsNum :\n(Java system property only: zookeeper.watcherCleanThreadsNum)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThe new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, this config is used to decide how\nmany thread is used in the WatcherCleaner. More thread usually means larger clean up throughput. The\ndefault value is 2, which is good enough even for heavy and continuous session closing/recreating cases.",{"_5302":220,"_37698":170,"_38077":52431,"_5":22127,"_14695":52282,"_2209":52432},[],"watcherCleanThreshold :\n(Java system property only: zookeeper.watcherCleanThreshold)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThe new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, the cleanup process is relatively\nheavy, batch processing will reduce the cost and improve the performance. This setting is used to decide\nthe batch size. The default one is 1000, we don't need to change it if there is no memory or clean up\nspeed issue.",{"_5302":221,"_37698":170,"_38077":52434,"_5":22127,"_14695":52282,"_2209":52435},[],"watcherCleanIntervalInSeconds :\n(Java system property only:zookeeper.watcherCleanIntervalInSeconds)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThe new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, the cleanup process is relatively\nheavy, batch processing will reduce the cost and improve the performance. Besides watcherCleanThreshold,\nthis setting is used to clean up the dead watchers after certain time even the dead watchers are not larger\nthan watcherCleanThreshold, so that we won't leave the dead watchers there for too long. The default setting\nis 10 minutes, which usually don't need to be changed.",{"_5302":222,"_37698":170,"_38077":52437,"_5":22127,"_14695":52282,"_2209":52438},[],"maxInProcessingDeadWatchers :\n(Java system property only: zookeeper.maxInProcessingDeadWatchers)\nNew in 3.6.0: Added in ZOOKEEPER-1179\nThis is used to control how many backlog can we have in the WatcherCleaner, when it reaches this number, it will\nslow down adding the dead watcher to WatcherCleaner, which will in turn slow down adding and closing\nwatchers, so that we can avoid OOM issue. By default there is no limit, you can set it to values like\nwatcherCleanThreshold * 1000.",{"_5302":223,"_37698":170,"_38077":52440,"_5":22127,"_14695":52282,"_2209":52441},[],"bitHashCacheSize :\n(Java system property only: zookeeper.bitHashCacheSize)\nNew 3.6.0: Added in ZOOKEEPER-1179\nThis is the setting used to decide the HashSet cache size in the BitHashSet implementation. Without HashSet, we\nneed to use O(N) time to get the elements, N is the bit numbers in elementBits. But we need to\nkeep the size small to make sure it doesn't cost too much in memory, there is a trade off between memory\nand time complexity. The default value is 10, which seems a relatively reasonable cache size.",{"_5302":224,"_37698":170,"_38077":52443,"_5":22127,"_14695":52282,"_2209":52444},[],"fastleader.minNotificationInterval :\n(Java system property: zookeeper.fastleader.minNotificationInterval)\nLower bound for length of time between two consecutive notification\nchecks on the leader election. This interval determines how long a\npeer waits to check the set of election votes and effects how\nquickly an election can resolve. The interval follows a backoff\nstrategy from the configured minimum (this) and the configured maximum\n(fastleader.maxNotificationInterval) for long elections.",{"_5302":225,"_37698":170,"_38077":52446,"_5":22127,"_14695":52282,"_2209":52447},[],"fastleader.maxNotificationInterval :\n(Java system property: zookeeper.fastleader.maxNotificationInterval)\nUpper bound for length of time between two consecutive notification\nchecks on the leader election. This interval determines how long a\npeer waits to check the set of election votes and effects how\nquickly an election can resolve. The interval follows a backoff\nstrategy from the configured minimum (fastleader.minNotificationInterval)\nand the configured maximum (this) for long elections.",{"_5302":226,"_37698":170,"_38077":52449,"_5":22127,"_14695":52282,"_2209":52450},[],"connectionMaxTokens :\n(Java system property: zookeeper.connection_throttle_tokens)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the maximum number of tokens in the token-bucket.\nWhen set to 0, throttling is disabled. Default is 0.",{"_5302":227,"_37698":170,"_38077":52452,"_5":22127,"_14695":52282,"_2209":52453},[],"connectionTokenFillTime :\n(Java system property: zookeeper.connection_throttle_fill_time)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the interval in milliseconds when the token bucket is re-filled with\nconnectionTokenFillCount tokens. Default is 1.",{"_5302":228,"_37698":170,"_38077":52455,"_5":22127,"_14695":52282,"_2209":52456},[],"connectionTokenFillCount :\n(Java system property: zookeeper.connection_throttle_fill_count)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the number of tokens to add to the token bucket every\nconnectionTokenFillTime milliseconds. Default is 1.",{"_5302":229,"_37698":170,"_38077":52458,"_5":22127,"_14695":52282,"_2209":52459},[],"connectionFreezeTime :\n(Java system property: zookeeper.connection_throttle_freeze_time)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the interval in milliseconds when the dropping\nprobability is adjusted. When set to -1, probabilistic dropping is disabled.\nDefault is -1.",{"_5302":230,"_37698":170,"_38077":52461,"_5":22127,"_14695":52282,"_2209":52462},[],"connectionDropIncrease :\n(Java system property: zookeeper.connection_throttle_drop_increase)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the dropping probability to increase. The throttler\nchecks every connectionFreezeTime milliseconds and if the token bucket is\nempty, the dropping probability will be increased by connectionDropIncrease.\nThe default is 0.02.",{"_5302":231,"_37698":170,"_38077":52464,"_5":22127,"_14695":52282,"_2209":52465},[],"connectionDropDecrease :\n(Java system property: zookeeper.connection_throttle_drop_decrease)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping.\nThis parameter defines the dropping probability to decrease. The throttler\nchecks every connectionFreezeTime milliseconds and if the token bucket has\nmore tokens than a threshold, the dropping probability will be decreased by\nconnectionDropDecrease. The threshold is connectionMaxTokens *\nconnectionDecreaseRatio. The default is 0.002.",{"_5302":232,"_37698":170,"_38077":52467,"_5":22127,"_14695":52282,"_2209":52468},[],"connectionDecreaseRatio :\n(Java system property: zookeeper.connection_throttle_decrease_ratio)\nNew in 3.6.0:\nThis is one of the parameters to tune the server-side connection throttler,\nwhich is a token-based rate limiting mechanism with optional probabilistic\ndropping. This parameter defines the threshold to decrease the dropping\nprobability. The default is 0.",{"_5302":233,"_37698":170,"_38077":52470,"_5":22127,"_14695":52282,"_2209":52471},[],"zookeeper.connection_throttle_weight_enabled :\n(Java system property only)\nNew in 3.6.0:\nWhether to consider connection weights when throttling. Only useful when connection throttle is enabled, that is, connectionMaxTokens is larger than 0. The default is false.",{"_5302":234,"_37698":170,"_38077":52473,"_5":22127,"_14695":52282,"_2209":52474},[],"zookeeper.connection_throttle_global_session_weight :\n(Java system property only)\nNew in 3.6.0:\nThe weight of a global session. It is the number of tokens required for a global session request to get through the connection throttler. It has to be a positive integer no smaller than the weight of a local session. The default is 3.",{"_5302":235,"_37698":170,"_38077":52476,"_5":22127,"_14695":52282,"_2209":52477},[],"zookeeper.connection_throttle_local_session_weight :\n(Java system property only)\nNew in 3.6.0:\nThe weight of a local session. It is the number of tokens required for a local session request to get through the connection throttler. It has to be a positive integer no larger than the weight of a global session or a renew session. The default is 1.",{"_5302":236,"_37698":170,"_38077":52479,"_5":22127,"_14695":52282,"_2209":52480},[],"zookeeper.connection_throttle_renew_session_weight :\n(Java system property only)\nNew in 3.6.0:\nThe weight of renewing a session. It is also the number of tokens required for a reconnect request to get through the throttler. It has to be a positive integer no smaller than the weight of a local session. The default is 2.",{"_5302":237,"_37698":170,"_38077":52482,"_5":22127,"_14695":52282,"_2209":52483},[],"clientPortListenBacklog :\n(No Java system property)\nNew in 3.4.14, 3.5.5, 3.6.0:\nThe socket backlog length for the ZooKeeper server socket. This controls\nthe number of requests that will be queued server-side to be processed\nby the ZooKeeper server. Connections that exceed this length will receive\na network timeout (30s) which may cause ZooKeeper session expiry issues.\nBy default, this value is unset (-1) which, on Linux, uses a backlog of\n50. This value must be a positive number.",{"_5302":238,"_37698":170,"_38077":52485,"_5":22127,"_14695":52282,"_2209":52486},[],"serverCnxnFactory :\n(Java system property: zookeeper.serverCnxnFactory)\nSpecifies ServerCnxnFactory implementation.\nThis should be set to NettyServerCnxnFactory in order to use TLS based server communication.\nDefault is NIOServerCnxnFactory.",{"_5302":239,"_37698":170,"_38077":52488,"_5":22127,"_14695":52282,"_2209":52489},[],"flushDelay :\n(Java system property: zookeeper.flushDelay)\nTime in milliseconds to delay the flush of the commit log.\nDoes not affect the limit defined by maxBatchSize.\nDisabled by default (with value 0). Ensembles with high write rates\nmay see throughput improved with a value of 10-20 ms.",{"_5302":240,"_37698":170,"_38077":52491,"_5":22127,"_14695":52282,"_2209":52492},[],"maxWriteQueuePollTime :\n(Java system property: zookeeper.maxWriteQueuePollTime)\nIf flushDelay is enabled, this determines the amount of time in milliseconds\nto wait before flushing when no new requests are being queued.\nSet to flushDelay/3 by default (implicitly disabled by default).",{"_5302":241,"_37698":170,"_38077":52494,"_5":22127,"_14695":52282,"_2209":52495},[],"maxBatchSize :\n(Java system property: zookeeper.maxBatchSize)\nThe number of transactions allowed in the server before a flush of the\ncommit log is triggered.\nDoes not affect the limit defined by flushDelay.\nDefault is 1000.",{"_5302":242,"_37698":170,"_38077":52497,"_5":22127,"_14695":52282,"_2209":52498},[],"enforceQuota :\n(Java system property: zookeeper.enforceQuota)\nNew in 3.7.0:\nEnforce the quota check. When enabled and the client exceeds the total bytes or children count hard quota under a znode, the server will reject the request and reply the client a QuotaExceededException by force.\nThe default value is: false. Exploring quota feature for more details.",{"_5302":243,"_37698":170,"_38077":52500,"_5":22127,"_14695":52282,"_2209":52501},[],"requestThrottleLimit :\n(Java system property: zookeeper.request_throttle_max_requests)\nNew in 3.6.0:\nThe total number of outstanding requests allowed before the RequestThrottler starts stalling. When set to 0, throttling is disabled. The default is 0.",{"_5302":244,"_37698":170,"_38077":52503,"_5":22127,"_14695":52282,"_2209":52504},[],"requestThrottleStallTime :\n(Java system property: zookeeper.request_throttle_stall_time)\nNew in 3.6.0:\nThe maximum time (in milliseconds) for which a thread may wait to be notified that it may proceed processing a request. The default is 100.",{"_5302":245,"_37698":170,"_38077":52506,"_5":22127,"_14695":52282,"_2209":52507},[],"requestThrottleDropStale :\n(Java system property: request_throttle_drop_stale)\nNew in 3.6.0:\nWhen enabled, the throttler will drop stale requests rather than issue them to the request pipeline. A stale request is a request sent by a connection that is now closed, and/or a request that will have a request latency higher than the sessionTimeout. The default is true.",{"_5302":246,"_37698":170,"_38077":52509,"_5":22127,"_14695":52282,"_2209":52510},[],"requestStaleLatencyCheck :\n(Java system property: zookeeper.request_stale_latency_check)\nNew in 3.6.0:\nWhen enabled, a request is considered stale if the request latency is higher than its associated session timeout. Disabled by default.",{"_5302":247,"_37698":170,"_38077":52512,"_5":22127,"_14695":52282,"_2209":52513},[],"requestStaleConnectionCheck :\n(Java system property: zookeeper.request_stale_connection_check)\nNew in 3.6.0:\nWhen enabled, a request is considered stale if the request's connection has closed. Enabled by default.",{"_5302":248,"_37698":170,"_38077":52515,"_5":22127,"_14695":52282,"_2209":52516},[],"zookeeper.request_throttler.shutdownTimeout :\n(Java system property only)\nNew in 3.6.0:\nThe time (in milliseconds) the RequestThrottler waits for the request queue to drain during shutdown before it shuts down forcefully. The default is 10000.",{"_5302":249,"_37698":170,"_38077":52518,"_5":22127,"_14695":52282,"_2209":52519},[],"advancedFlowControlEnabled :\n(Java system property: zookeeper.netty.advancedFlowControl.enabled)\nUsing accurate flow control in netty based on the status of ZooKeeper\npipeline to avoid direct buffer OOM. It will disable the AUTO_READ in\nNetty.",{"_5302":250,"_37698":170,"_38077":52521,"_5":22127,"_14695":52282,"_2209":52522},[],"enableEagerACLCheck :\n(Java system property only: zookeeper.enableEagerACLCheck)\nWhen set to \"true\", enables eager ACL check on write requests on each local\nserver before sending the requests to quorum. Default is \"false\".",{"_5302":251,"_37698":170,"_38077":52524,"_5":22127,"_14695":52282,"_2209":52525},[],"maxConcurrentSnapSyncs :\n(Java system property: zookeeper.leader.maxConcurrentSnapSyncs)\nThe maximum number of snap syncs a leader or a follower can serve at the same\ntime. The default is 10.",{"_5302":252,"_37698":170,"_38077":52527,"_5":22127,"_14695":52282,"_2209":52528},[],"maxConcurrentDiffSyncs :\n(Java system property: zookeeper.leader.maxConcurrentDiffSyncs)\nThe maximum number of diff syncs a leader or a follower can serve at the same\ntime. The default is 100.",{"_5302":253,"_37698":170,"_38077":52530,"_5":22127,"_14695":52282,"_2209":52531},[],"digest.enabled :\n(Java system property only: zookeeper.digest.enabled)\nNew in 3.6.0:\nThe digest feature is added to detect the data inconsistency inside\nZooKeeper when loading database from disk, catching up and following\nleader, its doing incrementally hash check for the DataTree based on\nthe adHash paper mentioned in",{"_5302":254,"_37698":170,"_38077":52533,"_5":22127,"_14695":52282,"_2209":52534},[],"https://cseweb.ucsd.edu/~daniele/papers/IncHash.pdf",{"_5302":255,"_37698":170,"_38077":52536,"_5":22127,"_14695":52282,"_2209":52537},[],"The idea is simple, the hash value of DataTree will be updated incrementally\nbased on the changes to the set of data. When the leader is preparing the txn,\nit will pre-calculate the hash of the tree based on the changes happened with\nformula:",{"_5302":256,"_37698":170,"_38077":52539,"_5":22127,"_14695":52282,"_2209":52540},[],"current_hash = current_hash + hash(new node data) - hash(old node data)",{"_5302":257,"_37698":170,"_38077":52542,"_5":22127,"_14695":52282,"_2209":52543},[],"If it’s creating a new node, the hash(old node data) will be 0, and if it’s a\ndelete node op, the hash(new node data) will be 0.",{"_5302":258,"_37698":170,"_38077":52545,"_5":22127,"_14695":52282,"_2209":52546},[],"This hash will be associated with each txn to represent the expected hash value\nafter applying the txn to the data tree, it will be sent to followers with\noriginal proposals. Learner will compare the actual hash value with the one in\nthe txn after applying the txn to the data tree, and report mismatch if it’s not\nthe same.",{"_5302":259,"_37698":170,"_38077":52548,"_5":22127,"_14695":52282,"_2209":52549},[],"These digest value will also be persisted with each txn and snapshot on the disk,\nso when servers restarted and load data from disk, it will compare and see if\nthere is hash mismatch, which will help detect data loss issue on disk.",{"_5302":260,"_37698":170,"_38077":52551,"_5":22127,"_14695":52282,"_2209":52552},[],"For the actual hash function, we’re using CRC internally, it’s not a collisionless\nhash function, but it’s more efficient compared to collisionless hash, and the\ncollision possibility is really really rare and can already meet our needs here.",{"_5302":261,"_37698":170,"_38077":52554,"_5":22127,"_14695":52282,"_2209":52555},[],"This feature is backward and forward compatible, so it can safely roll upgrade,\ndowngrade, enabled and later disabled without any compatible issue. Here are the\nscenarios have been covered and tested:",{"_5302":262,"_37698":170,"_38077":52557,"_5":22127,"_14695":52282,"_2209":52558},[],"When leader runs with new code while follower runs with old one, the digest will\nbe appended to the end of each txn, follower will only read header and txn data,\ndigest value in the txn will be ignored. It won't affect the follower reads and\nprocesses the next txn.",{"_5302":263,"_37698":170,"_38077":52560,"_5":22127,"_14695":52282,"_2209":52561},[],"When leader runs with old code while follower runs with new one, the digest won't\nbe sent with txn, when follower tries to read the digest, it will throw EOF which\nis caught and handled gracefully with digest value set to null.",{"_5302":264,"_37698":170,"_38077":52563,"_5":22127,"_14695":52282,"_2209":52564},[],"When loading old snapshot with new code, it will throw IOException when trying to\nread the non-exist digest value, and the exception will be caught and digest will\nbe set to null, which means we won't compare digest when loading this snapshot,\nwhich is expected to happen during rolling upgrade",{"_5302":265,"_37698":170,"_38077":52566,"_5":22127,"_14695":52282,"_2209":52567},[],"When loading new snapshot with old code, it will finish successfully after deserializing\nthe data tree, the digest value at the end of snapshot file will be ignored",{"_5302":266,"_37698":170,"_38077":52569,"_5":22127,"_14695":52282,"_2209":52570},[],"The scenarios of rolling restart with flags change are similar to the 1st and 2nd\nscenarios discussed above, if the leader enabled but follower not, digest value will\nbe ignored, and follower won't compare the digest during runtime; if leader disabled\nbut follower enabled, follower will get EOF exception which is handled gracefully.",{"_5302":267,"_37698":170,"_38077":52572,"_5":22127,"_14695":52282,"_2209":52573},[],"Note: the current digest calculation excluded nodes under /zookeeper\ndue to the potential inconsistency in the /zookeeper/quota stat node,\nwe can include that after that issue is fixed.",{"_5302":268,"_37698":170,"_38077":52575,"_5":22127,"_14695":52282,"_2209":52576},[],"By default, this feature is enabled, set \"false\" to disable it.",{"_5302":269,"_37698":170,"_38077":52578,"_5":22127,"_14695":52282,"_2209":52579},[],"snapshot.compression.method :\n(Java system property: zookeeper.snapshot.compression.method)\nNew in 3.6.0:\nThis property controls whether or not ZooKeeper should compress snapshots\nbefore storing them on disk (see ZOOKEEPER-3179).\nPossible values are:",{"_5302":270,"_37698":170,"_38077":52581,"_5":22127,"_14695":52282,"_2209":52582},[],"\"\": Disabled (no snapshot compression). This is the default behavior.",{"_5302":271,"_37698":170,"_38077":52584,"_5":22127,"_14695":52282,"_2209":52585},[],"\"gz\": See gzip compression.",{"_5302":272,"_37698":170,"_38077":52587,"_5":22127,"_14695":52282,"_2209":52588},[],"\"snappy\": See Snappy compression.",{"_5302":273,"_37698":170,"_38077":52590,"_5":22127,"_14695":52282,"_2209":52591},[],"snapshot.trust.empty :\n(Java system property: zookeeper.snapshot.trust.empty)\nNew in 3.5.6:\nThis property controls whether or not ZooKeeper should treat missing\nsnapshot files as a fatal state that can't be recovered from.\nSet to true to allow ZooKeeper servers recover without snapshot\nfiles. This should only be set during upgrading from old versions of\nZooKeeper (3.4.x, pre 3.5.3) where ZooKeeper might only have transaction\nlog files but without presence of snapshot files. If the value is set\nduring upgrade, we recommend setting the value back to false after upgrading\nand restart ZooKeeper process so ZooKeeper can continue normal data\nconsistency check during recovery process.\nDefault value is false.",{"_5302":274,"_37698":170,"_38077":52593,"_5":22127,"_14695":52282,"_2209":52594},[],"audit.enable :\n(Java system property: zookeeper.audit.enable)\nNew in 3.6.0:\nBy default audit logs are disabled. Set to \"true\" to enable it. Default value is \"false\".\nSee the ZooKeeper audit logs for more information.",{"_5302":275,"_37698":170,"_38077":52596,"_5":22127,"_14695":52282,"_2209":52597},[],"audit.impl.class :\n(Java system property: zookeeper.audit.impl.class)\nNew in 3.6.0:\nClass to implement the audit logger. By default logback based audit logger org.apache.zookeeper.audit\n.Slf4jAuditLogger is used.\nSee the ZooKeeper audit logs for more information.",{"_5302":276,"_37698":170,"_38077":52599,"_5":22127,"_14695":52282,"_2209":52600},[],"largeRequestMaxBytes :\n(Java system property: zookeeper.largeRequestMaxBytes)\nNew in 3.6.0:\nThe maximum number of bytes of all inflight large request. The connection will be closed if a coming large request causes the limit exceeded. The default is 100 * 1024 * 1024.",{"_5302":277,"_37698":170,"_38077":52602,"_5":22127,"_14695":52282,"_2209":52603},[],"largeRequestThreshold :\n(Java system property: zookeeper.largeRequestThreshold)\nNew in 3.6.0:\nThe size threshold after which a request is considered a large request. If it is -1, then all requests are considered small, effectively turning off large request throttling. The default is -1.",{"_5302":278,"_37698":170,"_38077":52605,"_5":22127,"_14695":52282,"_2209":52606},[],"outstandingHandshake.limit\n(Java system property only: zookeeper.netty.server.outstandingHandshake.limit)\nThe maximum in-flight TLS handshake connections could have in ZooKeeper,\nthe connections exceed this limit will be rejected before starting handshake.\nThis setting doesn't limit the max TLS concurrency, but helps avoid herd\neffect due to TLS handshake timeout when there are too many in-flight TLS\nhandshakes. Set it to something like 250 is good enough to avoid herd effect.",{"_5302":279,"_37698":170,"_38077":52608,"_5":22127,"_14695":52282,"_2209":52609},[],"netty.server.earlyDropSecureConnectionHandshakes\n(Java system property: zookeeper.netty.server.earlyDropSecureConnectionHandshakes)\nIf the ZooKeeper server is not fully started, drop TCP connections before performing the TLS handshake.\nThis is useful in order to prevent flooding the server with many concurrent TLS handshakes after a restart.\nPlease note that if you enable this flag the server won't answer to 'ruok' commands if it is not fully started.\nThe behaviour of dropping the connection has been introduced in ZooKeeper 3.7 and it was not possible to disable it.\nSince 3.7.1 and 3.8.0 this feature is disabled by default.",{"_5302":280,"_37698":170,"_38077":52611,"_5":22127,"_14695":52282,"_2209":52612},[],"throttledOpWaitTime\n(Java system property: zookeeper.throttled_op_wait_time)\nThe time in the RequestThrottler queue longer than which a request will be marked as throttled.\nA throttled requests will not be processed other than being fed down the pipeline of the server it belongs\nto preserve the order of all requests.\nThe FinalProcessor will issue an error response (new error code: ZTHROTTLEDOP) for these undigested requests.\nThe intent is for the clients not to retry them immediately.\nWhen set to 0, no requests will be throttled. The default is 0.",{"_5302":281,"_37698":170,"_38077":52614,"_5":22127,"_14695":52282,"_2209":52615},[],"learner.closeSocketAsync\n(Java system property: zookeeper.learner.closeSocketAsync)\n(Java system property: learner.closeSocketAsync)(Added for backward compatibility)\nNew in 3.7.0:\nWhen enabled, a learner will close the quorum socket asynchronously. This is useful for TLS connections where closing a socket might take a long time, block the shutdown process, potentially delay a new leader election, and leave the quorum unavailable. Closing the socket asynchronously avoids blocking the shutdown process despite the long socket closing time and a new leader election can be started while the socket being closed.\nThe default is false.",{"_5302":282,"_37698":170,"_38077":52617,"_5":22127,"_14695":52282,"_2209":52618},[],"leader.closeSocketAsync\n(Java system property: zookeeper.leader.closeSocketAsync)\n(Java system property: leader.closeSocketAsync)(Added for backward compatibility)\nNew in 3.7.0:\nWhen enabled, the leader will close a quorum socket asynchronously. This is useful for TLS connections where closing a socket might take a long time. If disconnecting a follower is initiated in ping() because of a failed SyncLimitCheck then the long socket closing time will block the sending of pings to other followers. Without receiving pings, the other followers will not send session information to the leader, which causes sessions to expire. Setting this flag to true ensures that pings will be sent regularly.\nThe default is false.",{"_5302":283,"_37698":170,"_38077":52620,"_5":22127,"_14695":52282,"_2209":52621},[],"learner.asyncSending\n(Java system property: zookeeper.learner.asyncSending)\n(Java system property: learner.asyncSending)(Added for backward compatibility)\nNew in 3.7.0:\nThe sending and receiving packets in Learner were done synchronously in a critical section. An untimely network issue could cause the followers to hang (see ZOOKEEPER-3575 and ZOOKEEPER-4074). The new design moves sending packets in Learner to a separate thread and sends the packets asynchronously. The new design is enabled with this parameter (learner.asyncSending).\nThe default is false.",{"_5302":284,"_37698":170,"_38077":52623,"_5":22127,"_14695":52282,"_2209":52624},[],"forward_learner_requests_to_commit_processor_disabled\n(Java system property: zookeeper.forward_learner_requests_to_commit_processor_disabled)\nWhen this property is set, the requests from learners won't be enqueued to\nCommitProcessor queue, which will help save the resources and GC time on\nleader. The default value is false.",{"_5302":285,"_37698":170,"_38077":52626,"_5":22127,"_14695":52282,"_2209":52627},[],"serializeLastProcessedZxid.enabled\n(Java system property: zookeeper.serializeLastProcessedZxid.enabled)\nNew in 3.9.0:\nIf enabled, ZooKeeper serializes the lastProcessedZxid when snapshot and deserializes it\nwhen restore. Defaults to true. Needs to be enabled for performing snapshot and restore\nvia admin server commands, as there is no snapshot file name to extract the lastProcessedZxid.",{"_5302":286,"_37698":170,"_38077":52629,"_5":22127,"_14695":52282,"_2209":52630},[],"This feature is backward and forward compatible. Here are the different scenarios.",{"_5302":287,"_37698":170,"_38077":52632,"_5":22127,"_14695":52282,"_2209":52633},[],"Snapshot triggered by server internally",{"_5302":288,"_37698":170,"_38077":52635,"_5":22127,"_14695":52282,"_2209":52636},[],"When loading old snapshot with new code, it will throw EOFException when trying to\nread the non-exist lastProcessedZxid value, and the exception will be caught.\nThe lastProcessedZxid will be set using the snapshot file name.",{"_5302":289,"_37698":170,"_38077":52638,"_5":22127,"_14695":52282,"_2209":52639},[],"When loading new snapshot with old code, it will finish successfully after deserializing\nthe digest value, the lastProcessedZxid at the end of snapshot file will be ignored.\nThe lastProcessedZxid will be set using the snapshot file name.",{"_5302":290,"_37698":170,"_38077":52641,"_5":22127,"_14695":52282,"_2209":52642},[],"Sync up between leader and follower: The lastProcessedZxid will not be serialized by\nleader and deserialized by follower in both new and old code. It will be set to the\nlastProcessedZxid sent from leader via QuorumPacket.",{"_5302":291,"_37698":170,"_38077":52644,"_5":22127,"_14695":52282,"_2209":52645},[],"Snapshot triggered via admin server APIs: The feature flag need to be enabled for the\nsnapshot command to work.",{"_5302":292,"_37698":170,"_38077":52647,"_5":22127,"_14695":52286,"_2209":52648},[],"The options in this section are designed for use with an ensemble\nof servers — that is, when deploying clusters of servers.",{"_5302":293,"_37698":170,"_38077":52650,"_5":22127,"_14695":52286,"_2209":52651},[],"electionAlg :\n(No Java system property)\nElection implementation to use. A value of \"1\" corresponds to the\nnon-authenticated UDP-based version of fast leader election, \"2\"\ncorresponds to the authenticated UDP-based version of fast\nleader election, and \"3\" corresponds to TCP-based version of\nfast leader election. Algorithm 3 was made default in 3.2.0 and\nprior versions (3.0.0 and 3.1.0) were using algorithm 1 and 2 as well.",{"_5302":294,"_37698":170,"_38077":52653,"_5":22127,"_14695":52286,"_2209":52329},[],{"_5302":295,"_37698":170,"_38077":52655,"_5":22127,"_14695":52286,"_2209":52656},[],"The implementations of leader election 1, and 2 were deprecated in\n3.4.0. Since 3.6.0 only FastLeaderElection is available, in case of upgrade\nyou have to shut down all of your servers and restart them with\nelectionAlg=3 (or by removing the line from the configuration file).",{"_5302":296,"_37698":170,"_38077":52658,"_5":22127,"_14695":52286,"_2209":52659},[],"maxTimeToWaitForEpoch :\n(Java system property: zookeeper.leader.maxTimeToWaitForEpoch)\nNew in 3.6.0:\nThe maximum time to wait for epoch from voters when activating\nleader. If leader received a LOOKING notification from one of\nits voters, and it hasn't received epoch packets from majority\nwithin maxTimeToWaitForEpoch, then it will goto LOOKING and\nelect leader again.\nThis can be tuned to reduce the quorum or server unavailable\ntime, it can be set to be much smaller than initLimit * tickTime.\nIn cross datacenter environment, it can be set to something\nlike 2s.",{"_5302":297,"_37698":170,"_38077":52661,"_5":22127,"_14695":52286,"_2209":52662},[],"initLimit :\n(No Java system property)\nAmount of time, in ticks (see tickTime), to allow followers to\nconnect and sync to a leader. Increased this value as needed, if\nthe amount of data managed by ZooKeeper is large.",{"_5302":298,"_37698":170,"_38077":52664,"_5":22127,"_14695":52286,"_2209":52665},[],"connectToLearnerMasterLimit :\n(Java system property: zookeeper.connectToLearnerMasterLimit)\nAmount of time, in ticks (see tickTime), to allow followers to\nconnect to the leader after leader election. Defaults to the value of initLimit.\nUse when initLimit is high so connecting to learner master doesn't result in higher timeout.",{"_5302":299,"_37698":170,"_38077":52667,"_5":22127,"_14695":52286,"_2209":52668},[],"leaderServes :\n(Java system property: zookeeper.leaderServes)\nLeader accepts client connections. Default value is \"yes\".\nThe leader machine coordinates updates. For higher update\nthroughput at the slight expense of read throughput the leader\ncan be configured to not accept clients and focus on\ncoordination. The default to this option is yes, which means\nthat a leader will accept client connections.",{"_5302":300,"_37698":170,"_38077":52670,"_5":22127,"_14695":52286,"_2209":52329},[],{"_5302":301,"_37698":170,"_38077":52672,"_5":22127,"_14695":52286,"_2209":52673},[],"Turning on leader selection is highly recommended when you have more than\nthree ZooKeeper servers in an ensemble.",{"_5302":302,"_37698":170,"_38077":52675,"_5":22127,"_14695":52286,"_2209":52676},[],"server.x=[hostname]:nnnnn[:nnnnn] etc :\n(No Java system property)\nServers making up the ZooKeeper ensemble. When the server\nstarts up, it determines which server it is by looking for the\nfile myid in the data directory. That file contains the server number, in ASCII,\nand it should match x in server.x in the left hand side of this setting.\nThe list of servers that make up ZooKeeper servers that is\nused by the clients must match the list of ZooKeeper servers\nthat each ZooKeeper server has.\nThere are two port numbers nnnnn.\nThe first followers used to connect to the leader, and the second is for\nleader election. If you want to test multiple servers on a single machine, then\ndifferent ports can be used for each server.",{"_5302":303,"_37698":170,"_38077":52678,"_5":22127,"_14695":52286,"_2209":52679},[],"Since ZooKeeper 3.6.0 it is possible to specify multiple addresses for each\nZooKeeper server (see ZOOKEEPER-3188).\nTo enable this feature, you must set the multiAddress.enabled configuration property\nto true. This helps to increase availability and adds network level\nresiliency to ZooKeeper. When multiple physical network interfaces are used\nfor the servers, ZooKeeper is able to bind on all interfaces and runtime switching\nto a working interface in case a network error. The different addresses can be specified\nin the config using a pipe ('|') character. A valid configuration using multiple addresses looks like:",{"_5302":304,"_37698":170,"_38077":52681,"_5":22127,"_14695":52286,"_2209":52329},[],{"_5302":305,"_37698":170,"_38077":52683,"_5":22127,"_14695":52286,"_2209":52684},[],"By enabling this feature, the Quorum protocol (ZooKeeper Server-Server\nprotocol) will change. The users will not notice this and when anyone starts\na ZooKeeper cluster with the new config, everything will work normally.\nHowever, it's not possible to enable this feature and specify multiple\naddresses during a rolling upgrade if the old ZooKeeper cluster didn't\nsupport the multiAddress feature (and the new Quorum protocol). In case if\nyou need this feature but you also need to perform a rolling upgrade from a\nZooKeeper cluster older than 3.6.0, then you first need to do the rolling\nupgrade without enabling the MultiAddress feature and later make a separate\nrolling restart with the new configuration where multiAddress.enabled is\nset to true and multiple addresses are provided.",{"_5302":306,"_37698":170,"_38077":52686,"_5":22127,"_14695":52286,"_2209":52687},[],"syncLimit :\n(No Java system property)\nAmount of time, in ticks (see tickTime), to allow followers to sync\nwith ZooKeeper. If followers fall too far behind a leader, they\nwill be dropped.",{"_5302":307,"_37698":170,"_38077":52689,"_5":22127,"_14695":52286,"_2209":52690},[],"group.x=nnnnn[:nnnnn] :\n(No Java system property)\nEnables a hierarchical quorum construction.\"x\" is a group identifier\nand the numbers following the \"=\" sign correspond to server identifiers.\nThe left-hand side of the assignment is a colon-separated list of server\nidentifiers. Note that groups must be disjoint and the union of all groups\nmust be the ZooKeeper ensemble.\nYou will find an example here",{"_5302":308,"_37698":170,"_38077":52692,"_5":22127,"_14695":52286,"_2209":52693},[],"weight.x=nnnnn :\n(No Java system property)\nUsed along with \"group\", it assigns a weight to a server when\nforming quorums. Such a value corresponds to the weight of a server\nwhen voting. There are a few parts of ZooKeeper that require voting\nsuch as leader election and the atomic broadcast protocol. By default\nthe weight of server is 1. If the configuration defines groups, but not\nweights, then a value of 1 will be assigned to all servers.\nYou will find an example here",{"_5302":309,"_37698":170,"_38077":52695,"_5":22127,"_14695":52286,"_2209":52696},[],"cnxTimeout :\n(Java system property: zookeeper.cnxTimeout)\nSets the timeout value for opening connections for leader election notifications.\nOnly applicable if you are using electionAlg 3.",{"_5302":310,"_37698":170,"_38077":52698,"_5":22127,"_14695":52286,"_2209":52329},[],{"_5302":311,"_37698":170,"_38077":52700,"_5":22127,"_14695":52286,"_2209":52701},[],"quorumCnxnTimeoutMs :\n(Java system property: zookeeper.quorumCnxnTimeoutMs)\nSets the read timeout value for the connections for leader election notifications.\nOnly applicable if you are using electionAlg 3.",{"_5302":312,"_37698":170,"_38077":52703,"_5":22127,"_14695":52286,"_2209":52329},[],{"_5302":313,"_37698":170,"_38077":52705,"_5":22127,"_14695":52286,"_2209":52706},[],"Default value is -1, which will then use the syncLimit * tickTime as the\ntimeout.",{"_5302":314,"_37698":170,"_38077":52708,"_5":22127,"_14695":52286,"_2209":52709},[],"standaloneEnabled :\n(No Java system property)\nNew in 3.5.0:\nWhen set to false, a single server can be started in replicated\nmode, a lone participant can run with observers, and a cluster\ncan reconfigure down to one node, and up from one node. The\ndefault is true for backwards compatibility. It can be set\nusing QuorumPeerConfig's setStandaloneEnabled method or by\nadding \"standaloneEnabled=false\" or \"standaloneEnabled=true\"\nto a server's config file.",{"_5302":315,"_37698":170,"_38077":52711,"_5":22127,"_14695":52286,"_2209":52712},[],"reconfigEnabled :\n(No Java system property)\nNew in 3.5.3:\nThis controls the enabling or disabling of\nDynamic Reconfiguration feature. When the feature\nis enabled, users can perform reconfigure operations through\nthe ZooKeeper client API or through ZooKeeper command line tools\nassuming users are authorized to perform such operations.\nWhen the feature is disabled, no user, including the super user,\ncan perform a reconfiguration. Any attempt to reconfigure will return an error.\n\"reconfigEnabled\" option can be set as\n\"reconfigEnabled=false\" or\n\"reconfigEnabled=true\"\nto a server's config file, or using QuorumPeerConfig's\nsetReconfigEnabled method. The default value is false.\nIf present, the value should be consistent across every server in\nthe entire ensemble. Setting the value as true on some servers and false\non other servers will cause inconsistent behavior depending on which server\nis elected as leader. If the leader has a setting of\n\"reconfigEnabled=true\", then the ensemble\nwill have reconfig feature enabled. If the leader has a setting of\n\"reconfigEnabled=false\", then the ensemble\nwill have reconfig feature disabled. It is thus recommended having a consistent\nvalue for \"reconfigEnabled\" across servers\nin the ensemble.",{"_5302":316,"_37698":170,"_38077":52714,"_5":22127,"_14695":52286,"_2209":52715},[],"4lw.commands.whitelist :\n(Java system property: zookeeper.4lw.commands.whitelist)\nNew in 3.5.3:\nA list of comma separated Four Letter Words\ncommands that user wants to use. A valid Four Letter Words\ncommand must be put in this list else ZooKeeper server will\nnot enable the command.\nBy default the whitelist only contains \"srvr\" command\nwhich zkServer.sh uses. Additionally, if Read Only Mode is enabled by setting\nJava system property readonlymode.enabled, then the \"isro\" command is\nadded to the whitelist. The rest of four-letter word commands are disabled\nby default: attempting to use them will gain a response\n\".... is not executed because it is not in the whitelist.\"\nHere's an example of the configuration that enables stat, ruok, conf, and isro\ncommand while disabling the rest of Four Letter Words command:",{"_5302":317,"_37698":170,"_38077":52717,"_5":22127,"_14695":52286,"_2209":52718},[],"If you really need enable all four-letter word commands by default, you can use\nthe asterisk option so you don't have to include every command one by one in the list.\nAs an example, this will enable all four-letter word commands:",{"_5302":318,"_37698":170,"_38077":52720,"_5":22127,"_14695":52286,"_2209":52721},[],"tcpKeepAlive :\n(Java system property: zookeeper.tcpKeepAlive)\nNew in 3.5.4:\nSetting this to true sets the TCP keepAlive flag on the\nsockets used by quorum members to perform elections.\nThis will allow for connections between quorum members to\nremain up when there is network infrastructure that may\notherwise break them. Some NATs and firewalls may terminate\nor lose state for long-running or idle connections.\nEnabling this option relies on OS level settings to work\nproperly, check your operating system's options regarding TCP\nkeepalive for more information. Defaults to\nfalse.",{"_5302":319,"_37698":170,"_38077":52723,"_5":22127,"_14695":52286,"_2209":52724},[],"clientTcpKeepAlive :\n(Java system property: zookeeper.clientTcpKeepAlive)\nNew in 3.6.1:\nSetting this to true sets the TCP keepAlive flag on the\nclient sockets. Some broken network infrastructure may lose\nthe FIN packet that is sent from closing client. These never\nclosed client sockets cause OS resource leak. Enabling this\noption terminates these zombie sockets by idle check.\nEnabling this option relies on OS level settings to work\nproperly, check your operating system's options regarding TCP\nkeepalive for more information. Defaults to false. Please\nnote the distinction between it and tcpKeepAlive. It is\napplied for the client sockets while tcpKeepAlive is for\nthe sockets used by quorum members. Currently this option is\nonly available when default NIOServerCnxnFactory is used.",{"_5302":320,"_37698":170,"_38077":52726,"_5":22127,"_14695":52286,"_2209":52727},[],"electionPortBindRetry :\n(Java system property only: zookeeper.electionPortBindRetry)\nProperty set max retry count when Zookeeper server fails to bind\nleader election port. Such errors can be temporary and recoverable,\nsuch as DNS issue described in ZOOKEEPER-3320,\nor non-retryable, such as port already in use.\nIn case of transient errors, this property can improve availability\nof Zookeeper server and help it to self recover.\nDefault value 3. In container environment, especially in Kubernetes,\nthis value should be increased or set to 0(infinite retry) to overcome issues\nrelated to DNS name resolving.",{"_5302":321,"_37698":170,"_38077":52729,"_5":22127,"_14695":52286,"_2209":52730},[],"observer.reconnectDelayMs :\n(Java system property: zookeeper.observer.reconnectDelayMs)\nWhen observer loses its connection with the leader, it waits for the\nspecified value before trying to reconnect with the leader so that\nthe entire observer fleet won't try to run leader election and reconnect\nto the leader at once.\nDefaults to 0 ms.",{"_5302":322,"_37698":170,"_38077":52732,"_5":22127,"_14695":52286,"_2209":52733},[],"observer.election.DelayMs :\n(Java system property: zookeeper.observer.election.DelayMs)\nDelay the observer's participation in a leader election upon disconnect\nso as to prevent unexpected additional load on the voting peers during\nthe process. Defaults to 200 ms.",{"_5302":323,"_37698":170,"_38077":52735,"_5":22127,"_14695":52286,"_2209":52736},[],"localSessionsEnabled and localSessionsUpgradingEnabled :\nNew in 3.5:\nOptional value is true or false. Their default values are false.\nTurning on the local session feature by setting localSessionsEnabled=true. Turning on\nlocalSessionsUpgradingEnabled can upgrade a local session to a global session automatically as required (e.g. creating ephemeral nodes),\nwhich only matters when localSessionsEnabled is enabled.",{"_5302":324,"_37698":170,"_38077":52738,"_5":22127,"_14695":52290,"_2209":52739},[],"The options in this section allow control over\nencryption/authentication/authorization performed by the service.",{"_5302":325,"_37698":170,"_38077":52741,"_5":22127,"_14695":52290,"_2209":52742},[],"Beside this page, you can also find useful information about client side configuration in the\nProgrammers Guide.\nThe ZooKeeper Wiki also has useful pages about ZooKeeper SSL support,\nand SASL authentication for ZooKeeper.",{"_5302":326,"_37698":170,"_38077":52744,"_5":22127,"_14695":52290,"_2209":52745},[],"DigestAuthenticationProvider.enabled :\n(Java system property: zookeeper.DigestAuthenticationProvider.enabled)\nNew in 3.7:\nDetermines whether the digest authentication provider is\nenabled. The default value is true for backwards\ncompatibility, but it may be a good idea to disable this provider\nif not used, as it can result in misleading entries appearing in\naudit logs\n(see ZOOKEEPER-3979)",{"_5302":327,"_37698":170,"_38077":52747,"_5":22127,"_14695":52290,"_2209":52748},[],"DigestAuthenticationProvider.superDigest :\n(Java system property: zookeeper.DigestAuthenticationProvider.superDigest)\nBy default this feature is disabled\nNew in 3.2:\nEnables a ZooKeeper ensemble administrator to access the\nznode hierarchy as a \"super\" user. In particular no ACL\nchecking occurs for a user authenticated as\nsuper.\norg.apache.zookeeper.server.auth.DigestAuthenticationProvider\ncan be used to generate the superDigest, call it with\none parameter of \"super:\". Provide the\ngenerated \"super:\" as the system property value\nwhen starting each server of the ensemble.\nWhen authenticating to a ZooKeeper server (from a\nZooKeeper client) pass a scheme of \"digest\" and authdata\nof \"super:\". Note that digest auth passes\nthe authdata in plaintext to the server, it would be\nprudent to use this authentication method only on\nlocalhost (not over the network) or over an encrypted\nconnection.",{"_5302":328,"_37698":170,"_38077":52750,"_5":22127,"_14695":52290,"_2209":52751},[],"DigestAuthenticationProvider.digestAlg :\n(Java system property: zookeeper.DigestAuthenticationProvider.digestAlg)\nNew in 3.7.0:\nSet ACL digest algorithm. The default value is: SHA1 which will be deprecated in the future for security issues.",{"_5302":329,"_37698":170,"_38077":52753,"_5":22127,"_14695":52290,"_2209":52754},[],"Set this property the same value in all the servers.",{"_5302":330,"_37698":170,"_38077":52756,"_5":22127,"_14695":52290,"_2209":52757},[],"How to support other more algorithms?",{"_5302":331,"_37698":170,"_38077":52759,"_5":22127,"_14695":52290,"_2209":52760},[],"Modify the java.security configuration file under $JAVA_HOME/jre/lib/security/java.security by specifying\nsecurity.provider.=.",{"_5302":332,"_37698":170,"_38077":52762,"_5":22127,"_14695":52290,"_2209":52763},[],"For example:",{"_5302":333,"_37698":170,"_38077":52765,"_5":22127,"_14695":52290,"_2209":52766},[],"Copy the jar file to $JAVA_HOME/jre/lib/ext/.",{"_5302":334,"_37698":170,"_38077":52768,"_5":22127,"_14695":52290,"_2209":52763},[],{"_5302":335,"_37698":170,"_38077":52770,"_5":22127,"_14695":52290,"_2209":52771},[],"How to migrate from one digest algorithm to another?",{"_5302":336,"_37698":170,"_38077":52773,"_5":22127,"_14695":52290,"_2209":52774},[],"Regenerate superDigest when migrating to new algorithm.",{"_5302":337,"_37698":170,"_38077":52776,"_5":22127,"_14695":52290,"_2209":52777},[],"Run SetAcl for a znode which already had a digest auth of old algorithm.",{"_5302":338,"_37698":170,"_38077":52779,"_5":22127,"_14695":52290,"_2209":52780},[],"IPAuthenticationProvider.usexforwardedfor :\n(Java system property: zookeeper.IPAuthenticationProvider.usexforwardedfor)\nNew in 3.9.3:\nIPAuthenticationProvider uses the client IP address to authenticate the user. By\ndefault it reads the Host HTTP header to detect client IP address. In some\nproxy configurations the proxy server adds the X-Forwarded-For header to\nthe request in order to provide the IP address of the original client request.\nBy enabling usexforwardedfor ZooKeeper setting, X-Forwarded-For will be preferred\nover the standard Host header.\nDefault value is false.",{"_5302":339,"_37698":170,"_38077":52782,"_5":22127,"_14695":52290,"_2209":52783},[],"X509AuthenticationProvider.superUser :\n(Java system property: zookeeper.X509AuthenticationProvider.superUser)\nThe SSL-backed way to enable a ZooKeeper ensemble\nadministrator to access the znode hierarchy as a \"super\" user.\nWhen this parameter is set to an X500 principal name, only an\nauthenticated client with that principal will be able to bypass\nACL checking and have full privileges to all znodes.",{"_5302":340,"_37698":170,"_38077":52785,"_5":22127,"_14695":52290,"_2209":52786},[],"zookeeper.superUser :\n(Java system property: zookeeper.superUser)\nSimilar to zookeeper.X509AuthenticationProvider.superUser\nbut is generic for SASL based logins. It stores the name of\na user that can access the znode hierarchy as a \"super\" user.\nYou can specify multiple SASL super users using the\nzookeeper.superUser.[suffix] notation, e.g.:\nzookeeper.superUser.1=....",{"_5302":341,"_37698":170,"_38077":52788,"_5":22127,"_14695":52290,"_2209":52789},[],"ssl.authProvider :\n(Java system property: zookeeper.ssl.authProvider)\nSpecifies a subclass of org.apache.zookeeper.auth.X509AuthenticationProvider\nto use for secure client authentication. This is useful in\ncertificate key infrastructures that do not use JKS. It may be\nnecessary to extend javax.net.ssl.X509KeyManager and javax.net.ssl.X509TrustManager\nto get the desired behavior from the SSL stack. To configure the\nZooKeeper server to use the custom provider for authentication,\nchoose a scheme name for the custom AuthenticationProvider and\nset the property zookeeper.authProvider.[scheme] to the fully-qualified class name of the custom\nimplementation. This will load the provider into the ProviderRegistry.\nThen set this property zookeeper.ssl.authProvider=[scheme] and that provider\nwill be used for secure authentication.",{"_5302":342,"_37698":170,"_38077":52791,"_5":22127,"_14695":52290,"_2209":52792},[],"zookeeper.ensembleAuthName :\n(Java system property only: zookeeper.ensembleAuthName)\nNew in 3.6.0:\nSpecify a list of comma-separated valid names/aliases of an ensemble. A client\ncan provide the ensemble name it intends to connect as the credential for scheme \"ensemble\". The EnsembleAuthenticationProvider will check the credential against\nthe list of names/aliases of the ensemble that receives the connection request.\nIf the credential is not in the list, the connection request will be refused.\nThis prevents a client accidentally connecting to a wrong ensemble.",{"_5302":343,"_37698":170,"_38077":52794,"_5":22127,"_14695":52290,"_2209":52795},[],"sessionRequireClientSASLAuth :\n(Java system property: zookeeper.sessionRequireClientSASLAuth)\nNew in 3.6.0:\nWhen set to true, ZooKeeper server will only accept connections and requests from clients\nthat have authenticated with server via SASL. Clients that are not configured with SASL\nauthentication, or configured with SASL but failed authentication (i.e. with invalid credential)\nwill not be able to establish a session with server. A typed error code (-124) will be delivered\nin such case, both Java and C client will close the session with server thereafter,\nwithout further attempts on retrying to reconnect.",{"_5302":344,"_37698":170,"_38077":52797,"_5":22127,"_14695":52290,"_2209":52798},[],"This configuration is shorthand for enforce.auth.enabled=true and enforce.auth.scheme=sasl",{"_5302":345,"_37698":170,"_38077":52800,"_5":22127,"_14695":52290,"_2209":52801},[],"By default, this feature is disabled. Users who would like to opt-in can enable the feature\nby setting sessionRequireClientSASLAuth to true.",{"_5302":346,"_37698":170,"_38077":52803,"_5":22127,"_14695":52290,"_2209":52804},[],"This feature overrules the zookeeper.allowSaslFailedClients option, so even if server is\nconfigured to allow clients that fail SASL authentication to login, client will not be able to\nestablish a session with server if this feature is enabled.",{"_5302":347,"_37698":170,"_38077":52806,"_5":22127,"_14695":52290,"_2209":52807},[],"enforce.auth.enabled :\n(Java system property : zookeeper.enforce.auth.enabled)\nNew in 3.7.0:\nWhen set to true, ZooKeeper server will only accept connections and requests from clients\nthat have authenticated with server via configured auth scheme. Authentication schemes\ncan be configured using property enforce.auth.schemes. Clients that are not\nconfigured with the any of the auth scheme configured at server or configured but failed authentication (i.e. with invalid credential)\nwill not be able to establish a session with server. A typed error code (-124) will be delivered\nin such case, both Java and C client will close the session with server thereafter,\nwithout further attempts on retrying to reconnect.",{"_5302":348,"_37698":170,"_38077":52809,"_5":22127,"_14695":52290,"_2209":52810},[],"By default, this feature is disabled. Users who would like to opt-in can enable the feature\nby setting enforce.auth.enabled to true.",{"_5302":349,"_37698":170,"_38077":52812,"_5":22127,"_14695":52290,"_2209":52813},[],"When enforce.auth.enabled=true and enforce.auth.schemes=sasl then",{"_5302":350,"_37698":170,"_38077":52815,"_5":22127,"_14695":52290,"_2209":52816},[],"zookeeper.allowSaslFailedClients configuration\nis overruled. So even if server is configured to allow clients that fail SASL\nauthentication to login, client will not be able to establish a session with\nserver if this feature is enabled with sasl as authentication scheme.",{"_5302":351,"_37698":170,"_38077":52818,"_5":22127,"_14695":52290,"_2209":52819},[],"enforce.auth.schemes :\n(Java system property : zookeeper.enforce.auth.schemes)\nNew in 3.7.0:\nComma separated list of authentication schemes. Clients must be authenticated with at least one\nauthentication scheme before doing any zookeeper operations.\nThis property is used only when enforce.auth.enabled is to true.",{"_5302":352,"_37698":170,"_38077":52821,"_5":22127,"_14695":52290,"_2209":52822},[],"sslQuorum :\n(Java system property: zookeeper.sslQuorum)\nNew in 3.5.5:\nEnables encrypted quorum communication. Default is false. When enabling this feature, please also consider enabling leader.closeSocketAsync\nand learner.closeSocketAsync to avoid issues associated with the potentially long socket closing time when shutting down an SSL connection.",{"_5302":353,"_37698":170,"_38077":52824,"_5":22127,"_14695":52290,"_2209":52825},[],"ssl.keyStore.location and ssl.keyStore.password and ssl.quorum.keyStore.location and ssl.quorum.keyStore.password :\n(Java system properties: zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password and zookeeper.ssl.quorum.keyStore.location and zookeeper.ssl.quorum.keyStore.password)\nNew in 3.5.5:\nSpecifies the file path to a Java keystore containing the local\ncredentials to be used for client and quorum TLS connections, and the\npassword to unlock the file.",{"_5302":354,"_37698":170,"_38077":52827,"_5":22127,"_14695":52290,"_2209":52828},[],"ssl.keyStore.passwordPath and ssl.quorum.keyStore.passwordPath :\n(Java system properties: zookeeper.ssl.keyStore.passwordPath and zookeeper.ssl.quorum.keyStore.passwordPath)\nNew in 3.8.0:\nSpecifies the file path that contains the keystore password. Reading the password from a file takes precedence over\nthe explicit password property.",{"_5302":355,"_37698":170,"_38077":52830,"_5":22127,"_14695":52290,"_2209":52831},[],"ssl.keyStore.type and ssl.quorum.keyStore.type :\n(Java system properties: zookeeper.ssl.keyStore.type and zookeeper.ssl.quorum.keyStore.type)\nNew in 3.5.5:\nSpecifies the file format of client and quorum keystores. Values: JKS, PEM, PKCS12 or null (detect by filename).\nDefault: null.\nNew in 3.5.10, 3.6.3, 3.7.0:\nThe format BCFKS was added.",{"_5302":356,"_37698":170,"_38077":52833,"_5":22127,"_14695":52290,"_2209":52834},[],"ssl.trustStore.location and ssl.trustStore.password and ssl.quorum.trustStore.location and ssl.quorum.trustStore.password :\n(Java system properties: zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password and zookeeper.ssl.quorum.trustStore.location and zookeeper.ssl.quorum.trustStore.password)\nNew in 3.5.5:\nSpecifies the file path to a Java truststore containing the remote\ncredentials to be used for client and quorum TLS connections, and the\npassword to unlock the file.",{"_5302":357,"_37698":170,"_38077":52836,"_5":22127,"_14695":52290,"_2209":52837},[],"ssl.trustStore.passwordPath and ssl.quorum.trustStore.passwordPath :\n(Java system properties: zookeeper.ssl.trustStore.passwordPath and zookeeper.ssl.quorum.trustStore.passwordPath)\nNew in 3.8.0:\nSpecifies the file path that contains the truststore password. Reading the password from a file takes precedence over\nthe explicit password property.",{"_5302":358,"_37698":170,"_38077":52839,"_5":22127,"_14695":52290,"_2209":52840},[],"ssl.trustStore.type and ssl.quorum.trustStore.type :\n(Java system properties: zookeeper.ssl.trustStore.type and zookeeper.ssl.quorum.trustStore.type)\nNew in 3.5.5:\nSpecifies the file format of client and quorum trustStores. Values: JKS, PEM, PKCS12 or null (detect by filename).\nDefault: null.\nNew in 3.5.10, 3.6.3, 3.7.0:\nThe format BCFKS was added.",{"_5302":359,"_37698":170,"_38077":52842,"_5":22127,"_14695":52290,"_2209":52843},[],"ssl.protocol and ssl.quorum.protocol :\n(Java system properties: zookeeper.ssl.protocol and zookeeper.ssl.quorum.protocol)\nNew in 3.5.5:\nSpecifies to protocol to be used in client and quorum TLS negotiation.\nDefault: TLSv1.3 or TLSv1.2 depending on Java runtime version being used.",{"_5302":360,"_37698":170,"_38077":52845,"_5":22127,"_14695":52290,"_2209":52846},[],"ssl.enabledProtocols and ssl.quorum.enabledProtocols :\n(Java system properties: zookeeper.ssl.enabledProtocols and zookeeper.ssl.quorum.enabledProtocols)\nNew in 3.5.5:\nSpecifies the enabled protocols in client and quorum TLS negotiation.\nDefault: TLSv1.3, TLSv1.2 if value of protocol property is TLSv1.3. TLSv1.2 if protocol is TLSv1.2.",{"_5302":361,"_37698":170,"_38077":52848,"_5":22127,"_14695":52290,"_2209":52849},[],"ssl.ciphersuites and ssl.quorum.ciphersuites :\n(Java system properties: zookeeper.ssl.ciphersuites and zookeeper.ssl.quorum.ciphersuites)\nNew in 3.5.5:\nSpecifies the enabled cipher suites to be used in client and quorum TLS negotiation.\nDefault: JDK defaults since 3.10.0, and hard coded cipher suites for 3.9 and earlier versions. See TLS Cipher Suites.",{"_5302":362,"_37698":170,"_38077":52851,"_5":22127,"_14695":52290,"_2209":52852},[],"ssl.context.supplier.class and ssl.quorum.context.supplier.class :\n(Java system properties: zookeeper.ssl.context.supplier.class and zookeeper.ssl.quorum.context.supplier.class)\nNew in 3.5.5:\nSpecifies the class to be used for creating SSL context in client and quorum SSL communication.\nThis allows you to use custom SSL context and implement the following scenarios: 1. Use hardware keystore, loaded in using PKCS11 or something similar. 2. You don't have access to the software keystore, but can retrieve an already-constructed SSLContext from their container.\nDefault: null",{"_5302":363,"_37698":170,"_38077":52854,"_5":22127,"_14695":52290,"_2209":52855},[],"ssl.hostnameVerification and ssl.quorum.hostnameVerification :\n(Java system properties: zookeeper.ssl.hostnameVerification and zookeeper.ssl.quorum.hostnameVerification)\nNew in 3.5.5:\nSpecifies whether the hostname verification is enabled in client and quorum TLS negotiation process.\nDisabling it only recommended for testing purposes.\nDefault: true",{"_5302":364,"_37698":170,"_38077":52857,"_5":22127,"_14695":52290,"_2209":52858},[],"ssl.clientHostnameVerification and ssl.quorum.clientHostnameVerification :\n(Java system properties: zookeeper.ssl.clientHostnameVerification and zookeeper.ssl.quorum.clientHostnameVerification)\nNew in 3.9.4:\nSpecifies whether the client's hostname verification is enabled in client and quorum TLS negotiation process.\nThis option requires the corresponding hostnameVerification option to be true, or it will be ignored.\nDefault: true for quorum, false for clients",{"_5302":365,"_37698":170,"_38077":52860,"_5":22127,"_14695":52290,"_2209":52861},[],"ssl.allowReverseDnsLookup and ssl.quorum.allowReverseDnsLookup :\n(Java system properties: zookeeper.ssl.allowReverseDnsLookup and zookeeper.ssl.quorum.allowReverseDnsLookup)\nNew in 3.9.5:\nAllow reverse DNS lookup in both server- and client hostname verifications if the hostname verification is enabled in\nZKTrustManager. Supported in both quorum and client TLS protocols. Not supported in FIPS mode. Reverse DNS lookups are\nexpensive and unnecessary in most cases. Make sure that certificates are created with all required Subject Alternative\nNames (SAN) for successful identity verification. It's recommended to add SAN:IP entries for identity verification\nof client certificates.\nDefault: false",{"_5302":366,"_37698":170,"_38077":52863,"_5":22127,"_14695":52290,"_2209":52864},[],"ssl.crl and ssl.quorum.crl :\n(Java system properties: zookeeper.ssl.crl and zookeeper.ssl.quorum.crl)\nNew in 3.5.5:\nSpecifies whether Certificate Revocation List is enabled in client and quorum TLS protocols.\nDefault: jvm property \"com.sun.net.ssl.checkRevocation\" since 3.10.0, false otherwise",{"_5302":367,"_37698":170,"_38077":52866,"_5":22127,"_14695":52290,"_2209":52867},[],"ssl.ocsp and ssl.quorum.ocsp :\n(Java system properties: zookeeper.ssl.ocsp and zookeeper.ssl.quorum.ocsp)\nNew in 3.5.5:\nSpecifies whether Online Certificate Status Protocol is enabled in client and quorum TLS protocols.\nChanged in 3.10.0:\nBefore 3.10.0, ssl.ocsp and ssl.quorum.ocsp implies ssl.crl and ssl.quorum.crl correspondingly.\nAfter 3.10.0, one has to setup both ssl.crl and ssl.ocsp (or ssl.quorum.crl and ssl.quorum.ocsp)\nto enable OCSP. This is consistent with jdk's method of Setting up a Java Client to use Client-Driven OCSP.\nDefault: jvm security property \"ocsp.enable\" since 3.10.0, false otherwise",{"_5302":368,"_37698":170,"_38077":52869,"_5":22127,"_14695":52290,"_2209":52870},[],"ssl.clientAuth and ssl.quorum.clientAuth :\n(Java system properties: zookeeper.ssl.clientAuth and zookeeper.ssl.quorum.clientAuth)\nAdded in 3.5.5, but broken until 3.5.7:\nSpecifies options to authenticate ssl connections from clients. Valid values are",{"_5302":369,"_37698":170,"_38077":52872,"_5":22127,"_14695":52290,"_2209":52873},[],"\"none\": server will not request client authentication",{"_5302":370,"_37698":170,"_38077":52875,"_5":22127,"_14695":52290,"_2209":52876},[],"\"want\": server will \"request\" client authentication",{"_5302":371,"_37698":170,"_38077":52878,"_5":22127,"_14695":52290,"_2209":52879},[],"\"need\": server will \"require\" client authentication",{"_5302":372,"_37698":170,"_38077":52881,"_5":22127,"_14695":52290,"_2209":52882},[],"Default: \"need\"",{"_5302":373,"_37698":170,"_38077":52884,"_5":22127,"_14695":52290,"_2209":52885},[],"ssl.handshakeDetectionTimeoutMillis and ssl.quorum.handshakeDetectionTimeoutMillis :\n(Java system properties: zookeeper.ssl.handshakeDetectionTimeoutMillis and zookeeper.ssl.quorum.handshakeDetectionTimeoutMillis)\nNew in 3.5.5:\nTBD",{"_5302":374,"_37698":170,"_38077":52887,"_5":22127,"_14695":52290,"_2209":52888},[],"ssl.sslProvider :\n(Java system property: zookeeper.ssl.sslProvider)\nNew in 3.9.0:\nAllows to select SSL provider in the client-server communication when TLS is enabled. Netty-tcnative native library\nhas been added to ZooKeeper in version 3.9.0 which allows us to use native SSL libraries like OpenSSL on supported\nplatforms. See the available options in Netty-tcnative documentation. Default value is \"JDK\".",{"_5302":375,"_37698":170,"_38077":52890,"_5":22127,"_14695":52290,"_2209":52891},[],"sslQuorumReloadCertFiles :\n(No Java system property)\nNew in 3.5.5, 3.6.0:\nAllows Quorum SSL keyStore and trustStore reloading when the certificates on the filesystem change without having to restart the ZK process. Default: false",{"_5302":376,"_37698":170,"_38077":52893,"_5":22127,"_14695":52290,"_2209":52894},[],"client.certReload :\n(Java system property: zookeeper.client.certReload)\nNew in 3.7.2, 3.8.1, 3.9.0:\nAllows client SSL keyStore and trustStore reloading when the certificates on the filesystem change without having to restart the ZK process. Default: false",{"_5302":377,"_37698":170,"_38077":52896,"_5":22127,"_14695":52290,"_2209":52897},[],"client.portUnification:\n(Java system property: zookeeper.client.portUnification)\nSpecifies that the client port should accept SSL connections\n(using the same configuration as the secure client port).\nDefault: false",{"_5302":378,"_37698":170,"_38077":52899,"_5":22127,"_14695":52290,"_2209":52900},[],"authProvider:\n(Java system property: zookeeper.authProvider)\nYou can specify multiple authentication provider classes for ZooKeeper.\nUsually you use this parameter to specify the SASL authentication provider\nlike: authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider",{"_5302":379,"_37698":170,"_38077":52902,"_5":22127,"_14695":52290,"_2209":52903},[],"kerberos.removeHostFromPrincipal\n(Java system property: zookeeper.kerberos.removeHostFromPrincipal)\nYou can instruct ZooKeeper to remove the host from the client principal name during authentication.\n(e.g. the zk/myhost@EXAMPLE.COM client principal will be authenticated in ZooKeeper as zk@EXAMPLE.COM)\nDefault: false",{"_5302":380,"_37698":170,"_38077":52905,"_5":22127,"_14695":52290,"_2209":52906},[],"kerberos.removeRealmFromPrincipal\n(Java system property: zookeeper.kerberos.removeRealmFromPrincipal)\nYou can instruct ZooKeeper to remove the realm from the client principal name during authentication.\n(e.g. the zk/myhost@EXAMPLE.COM client principal will be authenticated in ZooKeeper as zk/myhost)\nDefault: false",{"_5302":381,"_37698":170,"_38077":52908,"_5":22127,"_14695":52290,"_2209":52909},[],"kerberos.canonicalizeHostNames\n(Java system property: zookeeper.kerberos.canonicalizeHostNames)\nNew in 3.7.0:\nInstructs ZooKeeper to canonicalize server host names extracted from server.x lines.\nThis allows using e.g. CNAME records to reference servers in configuration files, while still enabling SASL Kerberos authentication between quorum members.\nIt is essentially the quorum equivalent of the zookeeper.sasl.client.canonicalize.hostname property for clients.\nThe default value is false for backwards compatibility.",{"_5302":382,"_37698":170,"_38077":52911,"_5":22127,"_14695":52290,"_2209":52912},[],"multiAddress.enabled :\n(Java system property: zookeeper.multiAddress.enabled)\nNew in 3.6.0:\nSince ZooKeeper 3.6.0 you can also specify multiple addresses\nfor each ZooKeeper server instance (this can increase availability when multiple physical\nnetwork interfaces can be used parallel in the cluster). Setting this parameter to\ntrue will enable this feature. Please note, that you can not enable this feature\nduring a rolling upgrade if the version of the old ZooKeeper cluster is prior to 3.6.0.\nThe default value is false.",{"_5302":383,"_37698":170,"_38077":52914,"_5":22127,"_14695":52290,"_2209":52915},[],"multiAddress.reachabilityCheckTimeoutMs :\n(Java system property: zookeeper.multiAddress.reachabilityCheckTimeoutMs)\nNew in 3.6.0:\nSince ZooKeeper 3.6.0 you can also specify multiple addresses\nfor each ZooKeeper server instance (this can increase availability when multiple physical\nnetwork interfaces can be used parallel in the cluster). ZooKeeper will perform ICMP ECHO requests\nor try to establish a TCP connection on port 7 (Echo) of the destination host in order to find\nthe reachable addresses. This happens only if you provide multiple addresses in the configuration.\nIn this property you can set the timeout in milliseconds for the reachability check. The check happens\nin parallel for the different addresses, so the timeout you set here is the maximum time will be taken\nby checking the reachability of all addresses.\nThe default value is 1000.",{"_5302":384,"_37698":170,"_38077":52917,"_5":22127,"_14695":52290,"_2209":52918},[],"This parameter has no effect, unless you enable the MultiAddress feature by setting multiAddress.enabled=true.",{"_5302":385,"_37698":170,"_38077":52920,"_5":22127,"_14695":52290,"_2209":52921},[],"fips-mode :\n(Java system property: zookeeper.fips-mode)\nNew in 3.8.2:\nEnable FIPS compatibility mode in ZooKeeper. If enabled, the following things will be changed in order to comply\nwith FIPS requirements:",{"_5302":386,"_37698":170,"_38077":52923,"_5":22127,"_14695":52290,"_2209":52924},[],"Custom trust manager (ZKTrustManager) that is used for hostname verification will be disabled. As a consequence,\nhostname verification is not available in the Quorum protocol, but still can be set in client-server communication.",{"_5302":387,"_37698":170,"_38077":52926,"_5":22127,"_14695":52290,"_2209":52927},[],"DIGEST-MD5 Sasl auth mechanism will be disabled in Quorum and ZooKeeper Sasl clients. Only GSSAPI (Kerberos)\ncan be used.",{"_5302":388,"_37698":170,"_38077":52929,"_5":22127,"_14695":52290,"_2209":52930},[],"Default: true (3.9.0+), false (3.8.x)",{"_5302":389,"_37698":170,"_38077":52932,"_5":22127,"_14695":52294,"_2209":52933},[],"From 3.5.5 to 3.9 a hard coded default cipher list was used, with the ordering\ndependent on whether it is run Java 8 or a later version.",{"_5302":390,"_37698":170,"_38077":52935,"_5":22127,"_14695":52294,"_2209":52936},[],"The list on Java 8 includes TLSv1.2 CBC, GCM and TLSv1.3 ciphers in ordering: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256",{"_5302":391,"_37698":170,"_38077":52938,"_5":22127,"_14695":52294,"_2209":52939},[],"The list on Java 9+ includes TLSv1.2 GCM, CBC and TLSv1.3 ciphers in ordering: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256",{"_5302":392,"_37698":170,"_38077":52941,"_5":22127,"_14695":52294,"_2209":52942},[],"Since 3.10 there is no hardcoded list, and the JDK defaults are used.",{"_5302":393,"_37698":170,"_38077":52944,"_5":22127,"_14695":52298,"_2209":52945},[],"New features that are currently considered experimental.",{"_5302":394,"_37698":170,"_38077":52947,"_5":22127,"_14695":52298,"_2209":52948},[],"Read Only Mode Server :\n(Java system property: readonlymode.enabled)\nNew in 3.4.0:\nSetting this value to true enables Read Only Mode server\nsupport (disabled by default).\nlocalSessionsEnabled has to be activated to serve clients.\nA downgrade of an existing connections is currently not supported.\nROM allows clients sessions which requested ROM support to connect to the\nserver even when the server might be partitioned from\nthe quorum. In this mode ROM clients can still read\nvalues from the ZK service, but will be unable to write\nvalues and see changes from other clients. See\nZOOKEEPER-784 for more details.",{"_5302":395,"_37698":170,"_38077":52950,"_5":22127,"_14695":52298,"_2209":52951},[],"zookeeper.follower.skipLearnerRequestToNextProcessor :\n(Java system property: zookeeper.follower.skipLearnerRequestToNextProcessor)\nWhen our cluster has observers which are connected with ObserverMaster, then turning on this flag might help\nyou reduce some memory pressure on the Observer Master. If your cluster doesn't have any observers or\nthey are not connected with ObserverMaster or your Observer's don't make much writes, then using this flag\nwon't help you.\nCurrently the change here is guarded behind the flag to help us get more confidence around the memory gains.\nIn Long run, we might want to remove this flag and set its behavior as the default codepath.",{"_5302":396,"_37698":170,"_38077":52953,"_5":22127,"_14695":52302,"_2209":52954},[],"The following options can be useful, but be careful when you use\nthem. The risk of each is explained along with the explanation of what\nthe variable does.",{"_5302":397,"_37698":170,"_38077":52956,"_5":22127,"_14695":52302,"_2209":52957},[],"forceSync :\n(Java system property: zookeeper.forceSync)\nRequires updates to be synced to media of the transaction\nlog before finishing processing the update. If this option is\nset to no, ZooKeeper will not require updates to be synced to\nthe media.",{"_5302":398,"_37698":170,"_38077":52959,"_5":22127,"_14695":52302,"_2209":52960},[],"jute.maxbuffer :\n(Java system property:jute.maxbuffer).",{"_5302":399,"_37698":170,"_38077":52962,"_5":22127,"_14695":52302,"_2209":52963},[],"This option can only be set as a Java system property.\nThere is no zookeeper prefix on it. It specifies the maximum\nsize of the data that can be stored in a znode. The unit is: byte. The default is\n0xfffff(1048575) bytes, or just under 1M.",{"_5302":400,"_37698":170,"_38077":52965,"_5":22127,"_14695":52302,"_2209":52966},[],"If this option is changed, the system property must be set on all servers and clients otherwise\nproblems will arise.",{"_5302":401,"_37698":170,"_38077":52968,"_5":22127,"_14695":52302,"_2209":52969},[],"When jute.maxbuffer in the client side is greater than the server side, the client wants to write the data\nexceeds jute.maxbuffer in the server side, the server side will get java.io.IOException: Len error",{"_5302":402,"_37698":170,"_38077":52971,"_5":22127,"_14695":52302,"_2209":52972},[],"When jute.maxbuffer in the client side is less than the server side, the client wants to read the data\nexceeds jute.maxbuffer in the client side, the client side will get java.io.IOException: Unreasonable length\nor Packet len is out of range!",{"_5302":403,"_37698":170,"_38077":52974,"_5":22127,"_14695":52302,"_2209":52975},[],"This is really a sanity check. ZooKeeper is designed to store data on the order of kilobytes in size.\nIn the production environment, increasing this property to exceed the default value is not recommended for the following reasons:",{"_5302":404,"_37698":170,"_38077":52977,"_5":22127,"_14695":52302,"_2209":52978},[],"Large size znodes cause unwarranted latency spikes, worsen the throughput",{"_5302":405,"_37698":170,"_38077":52980,"_5":22127,"_14695":52302,"_2209":52981},[],"Large size znodes make the synchronization time between leader and followers unpredictable and non-convergent(sometimes timeout), cause the quorum unstable",{"_5302":406,"_37698":170,"_38077":52983,"_5":22127,"_14695":52302,"_2209":52984},[],"jute.maxbuffer.extrasize:\n(Java system property: zookeeper.jute.maxbuffer.extrasize)\nNew in 3.5.7:\nWhile processing client requests ZooKeeper server adds some additional information into\nthe requests before persisting it as a transaction. Earlier this additional information size\nwas fixed to 1024 bytes. For many scenarios, specially scenarios where jute.maxbuffer value\nis more than 1 MB and request type is multi, this fixed size was insufficient.\nTo handle all the scenarios additional information size is increased from 1024 byte\nto same as jute.maxbuffer size and also it is made configurable through jute.maxbuffer.extrasize.\nGenerally this property is not required to be configured as default value is the most optimal value.",{"_5302":407,"_37698":170,"_38077":52986,"_5":22127,"_14695":52302,"_2209":52987},[],"skipACL :\n(Java system property: zookeeper.skipACL)\nSkips ACL checks. This results in a boost in throughput,\nbut opens up full access to the data tree to everyone.",{"_5302":408,"_37698":170,"_38077":52989,"_5":22127,"_14695":52302,"_2209":52990},[],"quorumListenOnAllIPs :\nWhen set to true the ZooKeeper server will listen\nfor connections from its peers on all available IP addresses,\nand not only the address configured in the server list of the\nconfiguration file. It affects the connections handling the\nZAB protocol and the Fast Leader Election protocol. Default\nvalue is false.",{"_5302":409,"_37698":170,"_38077":52992,"_5":22127,"_14695":52302,"_2209":52993},[],"multiAddress.reachabilityCheckEnabled :\n(Java system property: zookeeper.multiAddress.reachabilityCheckEnabled)\nNew in 3.6.0:\nSince ZooKeeper 3.6.0 you can also specify multiple addresses\nfor each ZooKeeper server instance (this can increase availability when multiple physical\nnetwork interfaces can be used parallel in the cluster). ZooKeeper will perform ICMP ECHO requests\nor try to establish a TCP connection on port 7 (Echo) of the destination host in order to find\nthe reachable addresses. This happens only if you provide multiple addresses in the configuration.\nThe reachable check can fail if you hit some ICMP rate-limitation, (e.g. on macOS) when you try to\nstart a large (e.g. 11+) ensemble members cluster on a single machine for testing.",{"_5302":410,"_37698":170,"_38077":52995,"_5":22127,"_14695":52302,"_2209":52996},[],"Default value is true. By setting this parameter to 'false' you can disable the reachability checks.\nPlease note, disabling the reachability check will cause the cluster not to be able to reconfigure\nitself properly during network problems, so the disabling is advised only during testing.",{"_5302":411,"_37698":170,"_38077":52998,"_5":22127,"_14695":52302,"_2209":52918},[],{"_5302":412,"_37698":170,"_38077":53000,"_5":22127,"_14695":52306,"_2209":53001},[],"New in 3.5: The default\nbehavior of a ZooKeeper server is to automatically create the\ndata directory (specified in the configuration file) when\nstarted if that directory does not already exist. This can be\ninconvenient and even dangerous in some cases. Take the case\nwhere a configuration change is made to a running server,\nwherein the dataDir parameter\nis accidentally changed. When the ZooKeeper server is\nrestarted it will create this non-existent directory and begin\nserving - with an empty znode namespace. This scenario can\nresult in an effective \"split brain\" situation (i.e. data in\nboth the new invalid directory and the original valid data\nstore). As such is would be good to have an option to turn off\nthis autocreate behavior. In general for production\nenvironments this should be done, unfortunately however the\ndefault legacy behavior cannot be changed at this point and\ntherefore this must be done on a case by case basis. This is\nleft to users and to packagers of ZooKeeper distributions.",{"_5302":413,"_37698":170,"_38077":53003,"_5":22127,"_14695":52306,"_2209":53004},[],"When running zkServer.sh autocreate can be disabled\nby setting the environment variable ZOO_DATADIR_AUTOCREATE_DISABLE to 1.\nWhen running ZooKeeper servers directly from class files this\ncan be accomplished by setting zookeeper.datadir.autocreate=false on\nthe java command line, i.e. -Dzookeeper.datadir.autocreate=false",{"_5302":414,"_37698":170,"_38077":53006,"_5":22127,"_14695":52306,"_2209":53007},[],"When this feature is disabled, and the ZooKeeper server\ndetermines that the required directories do not exist it will\ngenerate an error and refuse to start.",{"_5302":415,"_37698":170,"_38077":53009,"_5":22127,"_14695":52306,"_2209":53010},[],"A new script zkServer-initialize.sh is provided to\nsupport this new feature. If autocreate is disabled it is\nnecessary for the user to first install ZooKeeper, then create\nthe data directory (and potentially txnlog directory), and\nthen start the server. Otherwise as mentioned in the previous\nparagraph the server will not start. Running zkServer-initialize.sh will create the\nrequired directories, and optionally set up the myid file\n(optional command line parameter). This script can be used\neven if the autocreate feature itself is not used, and will\nlikely be of use to users as this (setup, including creation\nof the myid file) has been an issue for users in the past.\nNote that this script ensures the data directories exist only,\nit does not create a config file, but rather requires a config\nfile to be available in order to execute.",{"_5302":416,"_37698":170,"_38077":53012,"_5":22127,"_14695":52310,"_2209":53013},[],"New in 3.6.0: The default\nbehavior of a ZooKeeper server on startup when no data tree\nis found is to set zxid to zero and join the quorum as a\nvoting member. This can be dangerous if some event (e.g. a\nrogue 'rm -rf') has removed the data directory while the\nserver was down since this server may help elect a leader\nthat is missing transactions. Enabling db existence validation\nwill change the behavior on startup when no data tree is\nfound: the server joins the ensemble as a non-voting participant\nuntil it is able to sync with the leader and acquire an up-to-date\nversion of the ensemble data. To indicate an empty data tree is\nexpected (ensemble creation), the user should place a file\n'initialize' in the same directory as 'myid'. This file will\nbe detected and deleted by the server on startup.",{"_5302":417,"_37698":170,"_38077":53015,"_5":22127,"_14695":52310,"_2209":53016},[],"Initialization validation can be enabled when running\nZooKeeper servers directly from class files by setting\nzookeeper.db.autocreate=false\non the java command line, i.e.\n-Dzookeeper.db.autocreate=false.\nRunning zkServer-initialize.sh\nwill create the required initialization file.",{"_5302":418,"_37698":170,"_38077":53018,"_5":22127,"_14695":52314,"_2209":53019},[],"New in 3.5.0: Several subsystems have been reworked\nto improve read throughput. This includes multi-threading of the NIO communication subsystem and\nrequest processing pipeline (Commit Processor). NIO is the default client/server communication\nsubsystem. Its threading model comprises 1 acceptor thread, 1-N selector threads and 0-M\nsocket I/O worker threads. In the request processing pipeline the system can be configured\nto process multiple read request at once while maintaining the same consistency guarantee\n(same-session read-after-write). The Commit Processor threading model comprises 1 main\nthread and 0-N worker threads.",{"_5302":419,"_37698":170,"_38077":53021,"_5":22127,"_14695":52314,"_2209":53022},[],"The default values are aimed at maximizing read throughput on a dedicated ZooKeeper machine.\nBoth subsystems need to have sufficient amount of threads to achieve peak read throughput.",{"_5302":420,"_37698":170,"_38077":53024,"_5":22127,"_14695":52314,"_2209":53025},[],"zookeeper.nio.numSelectorThreads :\n(Java system property only: zookeeper.nio.numSelectorThreads)\nNew in 3.5.0:\nNumber of NIO selector threads. At least 1 selector thread required.\nIt is recommended to use more than one selector for large numbers\nof client connections. The default value is sqrt( number of cpu cores / 2 ).",{"_5302":421,"_37698":170,"_38077":53027,"_5":22127,"_14695":52314,"_2209":53028},[],"zookeeper.nio.numWorkerThreads :\n(Java system property only: zookeeper.nio.numWorkerThreads)\nNew in 3.5.0:\nNumber of NIO worker threads. If configured with 0 worker threads, the selector threads\ndo the socket I/O directly. The default value is 2 times the number of cpu cores.",{"_5302":422,"_37698":170,"_38077":53030,"_5":22127,"_14695":52314,"_2209":53031},[],"zookeeper.commitProcessor.numWorkerThreads :\n(Java system property only: zookeeper.commitProcessor.numWorkerThreads)\nNew in 3.5.0:\nNumber of Commit Processor worker threads. If configured with 0 worker threads, the main thread\nwill process the request directly. The default value is the number of cpu cores.",{"_5302":423,"_37698":170,"_38077":53033,"_5":22127,"_14695":52314,"_2209":53034},[],"zookeeper.commitProcessor.maxReadBatchSize :\n(Java system property only: zookeeper.commitProcessor.maxReadBatchSize)\nMax number of reads to process from queuedRequests before switching to processing commits.\nIf the value < 0 (default), we switch whenever we have a local write, and pending commits.\nA high read batch size will delay commit processing, causing stale data to be served.\nIf reads are known to arrive in fixed size batches then matching that batch size with\nthe value of this property can smooth queue performance. Since reads are handled in parallel,\none recommendation is to set this property to match zookeeper.commitProcessor.numWorkerThread\n(default is the number of cpu cores) or lower.",{"_5302":424,"_37698":170,"_38077":53036,"_5":22127,"_14695":52314,"_2209":53037},[],"zookeeper.commitProcessor.maxCommitBatchSize :\n(Java system property only: zookeeper.commitProcessor.maxCommitBatchSize)\nMax number of commits to process before processing reads. We will try to process as many\nremote/local commits as we can till we reach this count. A high commit batch size will delay\nreads while processing more commits. A low commit batch size will favor reads.\nIt is recommended to only set this property when an ensemble is serving a workload with a high\ncommit rate. If writes are known to arrive in a set number of batches then matching that\nbatch size with the value of this property can smooth queue performance. A generic\napproach would be to set this value to equal the ensemble size so that with the processing\nof each batch the current server will probabilistically handle a write related to one of\nits direct clients.\nDefault is \"1\". Negative and zero values are not supported.",{"_5302":425,"_37698":170,"_38077":53039,"_5":22127,"_14695":52314,"_2209":53040},[],"znode.container.checkIntervalMs :\n(Java system property only)\nNew in 3.6.0: The\ntime interval in milliseconds for each check of candidate container\nand ttl nodes. Default is \"60000\".",{"_5302":426,"_37698":170,"_38077":53042,"_5":22127,"_14695":52314,"_2209":53043},[],"znode.container.maxPerMinute :\n(Java system property only)\nNew in 3.6.0: The\nmaximum number of container and ttl nodes that can be deleted per\nminute. This prevents herding during container deletion.\nDefault is \"10000\".",{"_5302":427,"_37698":170,"_38077":53045,"_5":22127,"_14695":52314,"_2209":53046},[],"znode.container.maxNeverUsedIntervalMs :\n(Java system property only)\nNew in 3.6.0: The\nmaximum interval in milliseconds that a container that has never had\nany children is retained. Should be long enough for your client to\ncreate the container, do any needed work and then create children.\nDefault is \"300000\"(a.k.a. 5 minutes) since 3.10.0, for earlier versions,\nit is \"0\" which is used to indicate that containers that have never had\nany children are never deleted.",{"_5302":428,"_37698":170,"_38077":53048,"_5":22127,"_14695":52318,"_2209":53049},[],"New in 3.6.0: The following options are introduced to make zookeeper easier to debug.",{"_5302":429,"_37698":170,"_38077":53051,"_5":22127,"_14695":52318,"_2209":53052},[],"zookeeper.messageTracker.BufferSize :\n(Java system property only)\nControls the maximum number of messages stored in MessageTracker. Value should be positive\nintegers. The default value is 10. MessageTracker is introduced in 3.6.0 to record the\nlast set of messages between a server (follower or observer) and a leader, when a server\ndisconnects with leader. These set of messages will then be dumped to zookeeper's log file,\nand will help reconstruct the state of the servers at the time of the disconnection and\nwill be useful for debugging purpose.",{"_5302":430,"_37698":170,"_38077":53054,"_5":22127,"_14695":52318,"_2209":53055},[],"zookeeper.messageTracker.Enabled :\n(Java system property only)\nWhen set to \"true\", will enable MessageTracker to track and record messages. Default value\nis \"false\".",{"_5302":431,"_37698":170,"_38077":53057,"_5":22127,"_14695":52322,"_2209":53058},[],"New in 3.9.0: The following\noptions are used to configure the AdminServer.",{"_5302":432,"_37698":170,"_38077":53060,"_5":22127,"_14695":52322,"_2209":53061},[],"admin.rateLimiterIntervalInMS :\n(Java system property: zookeeper.admin.rateLimiterIntervalInMS)\nThe time interval for rate limiting admin command to protect the server.\nDefaults to 5 mins.",{"_5302":433,"_37698":170,"_38077":53063,"_5":22127,"_14695":52322,"_2209":53064},[],"admin.snapshot.enabled :\n(Java system property: zookeeper.admin.snapshot.enabled)\nThe flag for enabling the snapshot command. Defaults to true.",{"_5302":434,"_37698":170,"_38077":53066,"_5":22127,"_14695":52322,"_2209":53067},[],"admin.restore.enabled :\n(Java system property: zookeeper.admin.restore.enabled)\nThe flag for enabling the restore command. Defaults to true.",{"_5302":435,"_37698":170,"_38077":53069,"_5":22127,"_14695":52322,"_2209":53070},[],"admin.needClientAuth :\n(Java system property: zookeeper.admin.needClientAuth)\nThe flag to control whether client auth is needed. Using x509 auth requires true.\nDefaults to false.",{"_5302":436,"_37698":170,"_38077":53072,"_5":22127,"_14695":52322,"_2209":53073},[],"New in 3.7.1: The following\noptions are used to configure the AdminServer.",{"_5302":437,"_37698":170,"_38077":53075,"_5":22127,"_14695":52322,"_2209":53076},[],"admin.forceHttps :\n(Java system property: zookeeper.admin.forceHttps)\nForce AdminServer to use SSL, thus allowing only HTTPS traffic.\nDefaults to disabled.\nOverwrites admin.portUnification settings.",{"_5302":438,"_37698":170,"_38077":53078,"_5":22127,"_14695":52322,"_2209":53079},[],"New in 3.6.0: The following\noptions are used to configure the AdminServer.",{"_5302":439,"_37698":170,"_38077":53081,"_5":22127,"_14695":52322,"_2209":53082},[],"admin.portUnification :\n(Java system property: zookeeper.admin.portUnification)\nEnable the admin port to accept both HTTP and HTTPS traffic.\nDefaults to disabled.",{"_5302":440,"_37698":170,"_38077":53084,"_5":22127,"_14695":52322,"_2209":53085},[],"New in 3.5.0: The following\noptions are used to configure the AdminServer.",{"_5302":441,"_37698":170,"_38077":53087,"_5":22127,"_14695":52322,"_2209":53088},[],"admin.enableServer :\n(Java system property: zookeeper.admin.enableServer)\nSet to \"false\" to disable the AdminServer. By default the\nAdminServer is enabled.",{"_5302":442,"_37698":170,"_38077":53090,"_5":22127,"_14695":52322,"_2209":53091},[],"admin.serverAddress :\n(Java system property: zookeeper.admin.serverAddress)\nThe address the embedded Jetty server listens on. Defaults to 0.0.0.0.",{"_5302":443,"_37698":170,"_38077":53093,"_5":22127,"_14695":52322,"_2209":53094},[],"admin.serverPort :\n(Java system property: zookeeper.admin.serverPort)\nThe port the embedded Jetty server listens on. Defaults to 8080.",{"_5302":444,"_37698":170,"_38077":53096,"_5":22127,"_14695":52322,"_2209":53097},[],"admin.idleTimeout :\n(Java system property: zookeeper.admin.idleTimeout)\nSet the maximum idle time in milliseconds that a connection can wait\nbefore sending or receiving data. Defaults to 30000 ms.",{"_5302":445,"_37698":170,"_38077":53099,"_5":22127,"_14695":52322,"_2209":53100},[],"admin.commandURL :\n(Java system property: zookeeper.admin.commandURL)\nThe URL for listing and issuing commands relative to the\nroot URL. Defaults to \"/commands\".",{"_5302":446,"_37698":446,"_5":19386,"_2209":53102,"_38009":53103,"_38077":53104,"_14695":446},"Data File Management",[51788,51789,51790],[],{"_5302":447,"_37698":446,"_38077":53106,"_5":22127,"_14695":446,"_2209":53107},[],"Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.",{"_5302":448,"_37698":446,"_5":38006,"_38077":53109,"_14695":53110,"_2209":53111},[],"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory","The Data Directory",{"_5302":449,"_37698":446,"_5":38006,"_38077":53113,"_14695":53114,"_2209":53115},[],"/docs/admin-ops/administrators-guide/data-file-management#the-log-directory","The Log Directory",{"_5302":450,"_37698":446,"_5":38006,"_38077":53117,"_14695":53118,"_2209":53119},[],"/docs/admin-ops/administrators-guide/data-file-management#file-management","File Management",{"_5302":451,"_37698":446,"_5":38006,"_38077":53121,"_14695":53122,"_2209":53123},[],"/docs/admin-ops/administrators-guide/data-file-management#recovery---txnlogtoolkit","Recovery - TxnLogToolkit",{"_5302":452,"_37698":446,"_38077":53125,"_5":22127,"_14695":446,"_2209":53126},[],"ZooKeeper stores its data in a data directory and its transaction\nlog in a transaction log directory. By default these two directories are\nthe same. The server can (and should) be configured to store the\ntransaction log files in a separate directory than the data files.\nThroughput increases and latency decreases when transaction logs reside\non a dedicated log devices.",{"_5302":453,"_37698":446,"_38077":53128,"_5":22127,"_14695":53110,"_2209":53129},[],"This directory has two or three files in it:",{"_5302":454,"_37698":446,"_38077":53131,"_5":22127,"_14695":53110,"_2209":53132},[],"myid - contains a single integer in\nhuman readable ASCII text that represents the server id.",{"_5302":455,"_37698":446,"_38077":53134,"_5":22127,"_14695":53110,"_2209":53135},[],"initialize - presence indicates lack of\ndata tree is expected. Cleaned up once data tree is created.",{"_5302":456,"_37698":446,"_38077":53137,"_5":22127,"_14695":53110,"_2209":53138},[],"snapshot. - holds the fuzzy\nsnapshot of a data tree.",{"_5302":457,"_37698":446,"_38077":53140,"_5":22127,"_14695":53110,"_2209":53141},[],"Each ZooKeeper server has a unique id. This id is used in two\nplaces: the myid file and the configuration file.\nThe myid file identifies the server that\ncorresponds to the given data directory. The configuration file lists\nthe contact information for each server identified by its server id.\nWhen a ZooKeeper server instance starts, it reads its id from the\nmyid file and then, using that id, reads from the\nconfiguration file, looking up the port on which it should\nlisten.",{"_5302":458,"_37698":446,"_38077":53143,"_5":22127,"_14695":53110,"_2209":53144},[],"The snapshot files stored in the data\ndirectory are fuzzy snapshots in the sense that during the time the\nZooKeeper server is taking the snapshot, updates are occurring to the\ndata tree. The suffix of the snapshot file names\nis the zxid, the ZooKeeper transaction id, of the\nlast committed transaction at the start of the snapshot. Thus, the\nsnapshot includes a subset of the updates to the data tree that\noccurred while the snapshot was in process. The snapshot, then, may\nnot correspond to any data tree that actually existed, and for this\nreason we refer to it as a fuzzy snapshot. Still, ZooKeeper can\nrecover using this snapshot because it takes advantage of the\nidempotent nature of its updates. By replaying the transaction log\nagainst fuzzy snapshots ZooKeeper gets the state of the system at the\nend of the log.",{"_5302":459,"_37698":446,"_38077":53146,"_5":22127,"_14695":53114,"_2209":53147},[],"The Log Directory contains the ZooKeeper transaction logs.\nBefore any update takes place, ZooKeeper ensures that the transaction\nthat represents the update is written to non-volatile storage. A new\nlog file is started when the number of transactions written to the\ncurrent log file reaches a (variable) threshold. The threshold is\ncomputed using the same parameter which influences the frequency of\nsnapshotting (see snapCount and snapSizeLimitInKb above). The log file's\nsuffix is the first zxid written to that log.",{"_5302":460,"_37698":446,"_38077":53149,"_5":22127,"_14695":53118,"_2209":53150},[],"The format of snapshot and log files does not change between\nstandalone ZooKeeper servers and different configurations of\nreplicated ZooKeeper servers. Therefore, you can pull these files from\na running replicated ZooKeeper server to a development machine with a\nstand-alone ZooKeeper server for troubleshooting.",{"_5302":461,"_37698":446,"_38077":53152,"_5":22127,"_14695":53118,"_2209":53153},[],"Using older log and snapshot files, you can look at the previous\nstate of ZooKeeper servers and even restore that state.",{"_5302":462,"_37698":446,"_38077":53155,"_5":22127,"_14695":53118,"_2209":53156},[],"The ZooKeeper server creates snapshot and log files, but\nnever deletes them. The retention policy of the data and log\nfiles is implemented outside of the ZooKeeper server. The\nserver itself only needs the latest complete fuzzy snapshot, all log\nfiles following it, and the last log file preceding it. The latter\nrequirement is necessary to include updates which happened after this\nsnapshot was started but went into the existing log file at that time.\nThis is possible because snapshotting and rolling over of logs\nproceed somewhat independently in ZooKeeper. See the\nmaintenance section\nfor more details on setting a retention policy\nand maintenance of ZooKeeper storage.",{"_5302":463,"_37698":446,"_38077":53158,"_5":22127,"_14695":53118,"_2209":52329},[],{"_5302":464,"_37698":446,"_38077":53160,"_5":22127,"_14695":53118,"_2209":53161},[],"The data stored in these files is not encrypted. In the case of storing\nsensitive data in ZooKeeper, necessary measures need to be taken to prevent\nunauthorized access. Such measures are external to ZooKeeper (e.g., control\naccess to the files) and depend on the individual settings in which it is\nbeing deployed.",{"_5302":465,"_37698":446,"_38077":53163,"_5":22127,"_14695":53122,"_2209":53164},[],"More details can be found in this",{"_5302":466,"_37698":466,"_5":19386,"_2209":53166,"_38009":53167,"_38077":53168,"_14695":466},"Deployment",[51788,51789,51790],[],{"_5302":467,"_37698":466,"_38077":53170,"_5":22127,"_14695":466,"_2209":53171},[],"Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.",{"_5302":468,"_37698":466,"_5":38006,"_38077":53173,"_14695":53174,"_2209":53175},[],"/docs/admin-ops/administrators-guide/deployment#system-requirements","System Requirements",{"_5302":469,"_37698":466,"_5":38006,"_38077":53177,"_14695":53178,"_2209":53179},[],"/docs/admin-ops/administrators-guide/deployment#supported-platforms","Supported Platforms",{"_5302":470,"_37698":466,"_5":38006,"_38077":53181,"_14695":53182,"_2209":53183},[],"/docs/admin-ops/administrators-guide/deployment#support-matrix","Support Matrix",{"_5302":471,"_37698":466,"_5":38006,"_38077":53185,"_14695":53186,"_2209":53187},[],"/docs/admin-ops/administrators-guide/deployment#required-software","Required Software",{"_5302":472,"_37698":466,"_5":38006,"_38077":53189,"_14695":53190,"_2209":53191},[],"/docs/admin-ops/administrators-guide/deployment#clustered-multi-server-setup","Clustered (Multi-Server) Setup",{"_5302":473,"_37698":466,"_5":38006,"_38077":53193,"_14695":53194,"_2209":53195},[],"/docs/admin-ops/administrators-guide/deployment#single-server-and-developer-setup","Single Server and Developer Setup",{"_5302":474,"_37698":466,"_5":38006,"_38077":53197,"_14695":53198,"_2209":53199},[],"/docs/admin-ops/administrators-guide/deployment#designing-a-zookeeper-deployment","Designing a ZooKeeper Deployment",{"_5302":475,"_37698":466,"_5":38006,"_38077":53201,"_14695":53202,"_2209":53203},[],"/docs/admin-ops/administrators-guide/deployment#cross-machine-requirements","Cross Machine Requirements",{"_5302":476,"_37698":466,"_5":38006,"_38077":53205,"_14695":53206,"_2209":53207},[],"/docs/admin-ops/administrators-guide/deployment#single-machine-requirements","Single Machine Requirements",{"_5302":477,"_37698":466,"_38077":53209,"_5":22127,"_14695":466,"_2209":53210},[],"This section contains information about deploying Zookeeper and\ncovers these topics:",{"_5302":478,"_37698":466,"_38077":53212,"_5":22127,"_14695":466,"_2209":53175},[],{"_5302":479,"_37698":466,"_38077":53214,"_5":22127,"_14695":466,"_2209":53191},[],{"_5302":480,"_37698":466,"_38077":53216,"_5":22127,"_14695":466,"_2209":53195},[],{"_5302":481,"_37698":466,"_38077":53218,"_5":22127,"_14695":466,"_2209":53219},[],"The first two sections assume you are interested in installing\nZooKeeper in a production environment such as a datacenter. The final\nsection covers situations in which you are setting up ZooKeeper on a\nlimited basis - for evaluation, testing, or development - but not in a\nproduction environment.",{"_5302":482,"_37698":466,"_38077":53221,"_5":22127,"_14695":53178,"_2209":53222},[],"ZooKeeper consists of multiple components. Some components are\nsupported broadly, and other components are supported only on a smaller\nset of platforms.",{"_5302":483,"_37698":466,"_38077":53224,"_5":22127,"_14695":53178,"_2209":53225},[],"Client is the Java client\nlibrary, used by applications to connect to a ZooKeeper ensemble.",{"_5302":484,"_37698":466,"_38077":53227,"_5":22127,"_14695":53178,"_2209":53228},[],"Server is the Java server\nthat runs on the ZooKeeper ensemble nodes.",{"_5302":485,"_37698":466,"_38077":53230,"_5":22127,"_14695":53178,"_2209":53231},[],"Native Client is a client\nimplemented in C, similar to the Java client, used by applications\nto connect to a ZooKeeper ensemble.",{"_5302":486,"_37698":466,"_38077":53233,"_5":22127,"_14695":53178,"_2209":53234},[],"Contrib refers to multiple\noptional add-on components.",{"_5302":487,"_37698":466,"_38077":53236,"_5":22127,"_14695":53178,"_2209":53237},[],"The following matrix describes the level of support committed for\nrunning each component on different operating system platforms.",{"_5302":488,"_37698":466,"_38077":53239,"_5":22127,"_14695":53182,"_2209":53240},[],"Operating System",{"_5302":489,"_37698":466,"_38077":53242,"_5":22127,"_14695":53182,"_2209":53243},[],"Client",{"_5302":490,"_37698":466,"_38077":53245,"_5":22127,"_14695":53182,"_2209":53246},[],"Server",{"_5302":491,"_37698":466,"_38077":53248,"_5":22127,"_14695":53182,"_2209":53249},[],"Native Client",{"_5302":492,"_37698":466,"_38077":53251,"_5":22127,"_14695":53182,"_2209":53252},[],"Contrib",{"_5302":493,"_37698":466,"_38077":53254,"_5":22127,"_14695":53182,"_2209":53255},[],"GNU/Linux",{"_5302":494,"_37698":466,"_38077":53257,"_5":22127,"_14695":53182,"_2209":53258},[],"Development and Production",{"_5302":495,"_37698":466,"_38077":53260,"_5":22127,"_14695":53182,"_2209":53258},[],{"_5302":496,"_37698":466,"_38077":53262,"_5":22127,"_14695":53182,"_2209":53258},[],{"_5302":497,"_37698":466,"_38077":53264,"_5":22127,"_14695":53182,"_2209":53258},[],{"_5302":498,"_37698":466,"_38077":53266,"_5":22127,"_14695":53182,"_2209":53267},[],"Solaris",{"_5302":499,"_37698":466,"_38077":53269,"_5":22127,"_14695":53182,"_2209":53258},[],{"_5302":500,"_37698":466,"_38077":53271,"_5":22127,"_14695":53182,"_2209":53258},[],{"_5302":501,"_37698":466,"_38077":53273,"_5":22127,"_14695":53182,"_2209":53274},[],"Not Supported",{"_5302":502,"_37698":466,"_38077":53276,"_5":22127,"_14695":53182,"_2209":53274},[],{"_5302":503,"_37698":466,"_38077":53278,"_5":22127,"_14695":53182,"_2209":53279},[],"FreeBSD",{"_5302":504,"_37698":466,"_38077":53281,"_5":22127,"_14695":53182,"_2209":53258},[],{"_5302":505,"_37698":466,"_38077":53283,"_5":22127,"_14695":53182,"_2209":53258},[],{"_5302":506,"_37698":466,"_38077":53285,"_5":22127,"_14695":53182,"_2209":53274},[],{"_5302":507,"_37698":466,"_38077":53287,"_5":22127,"_14695":53182,"_2209":53274},[],{"_5302":508,"_37698":466,"_38077":53289,"_5":22127,"_14695":53182,"_2209":53290},[],"Windows",{"_5302":509,"_37698":466,"_38077":53292,"_5":22127,"_14695":53182,"_2209":53258},[],{"_5302":510,"_37698":466,"_38077":53294,"_5":22127,"_14695":53182,"_2209":53258},[],{"_5302":511,"_37698":466,"_38077":53296,"_5":22127,"_14695":53182,"_2209":53274},[],{"_5302":512,"_37698":466,"_38077":53298,"_5":22127,"_14695":53182,"_2209":53274},[],{"_5302":513,"_37698":466,"_38077":53300,"_5":22127,"_14695":53182,"_2209":53301},[],"Mac OS X",{"_5302":514,"_37698":466,"_38077":53303,"_5":22127,"_14695":53182,"_2209":53304},[],"Development Only",{"_5302":515,"_37698":466,"_38077":53306,"_5":22127,"_14695":53182,"_2209":53304},[],{"_5302":516,"_37698":466,"_38077":53308,"_5":22127,"_14695":53182,"_2209":53274},[],{"_5302":517,"_37698":466,"_38077":53310,"_5":22127,"_14695":53182,"_2209":53274},[],{"_5302":518,"_37698":466,"_38077":53312,"_5":22127,"_14695":53182,"_2209":53313},[],"For any operating system not explicitly mentioned as supported in\nthe matrix, components may or may not work. The ZooKeeper community\nwill fix obvious bugs that are reported for other platforms, but there\nis no full support.",{"_5302":519,"_37698":466,"_38077":53315,"_5":22127,"_14695":53186,"_2209":53316},[],"ZooKeeper runs in Java, release 1.8 or greater\n(JDK 8 LTS, JDK 11 LTS, JDK 12 - Java 9 and 10 are not supported).\nIt runs as an ensemble of ZooKeeper servers. Three\nZooKeeper servers is the minimum recommended size for an\nensemble, and we also recommend that they run on separate\nmachines. At Yahoo!, ZooKeeper is usually deployed on\ndedicated RHEL boxes, with dual-core processors, 2GB of RAM,\nand 80GB IDE hard drives.",{"_5302":520,"_37698":466,"_38077":53318,"_5":22127,"_14695":53190,"_2209":53319},[],"For reliable ZooKeeper service, you should deploy ZooKeeper in a\ncluster known as an ensemble. As long as a majority\nof the ensemble are up, the service will be available. Because Zookeeper\nrequires a majority, it is best to use an\nodd number of machines. For example, with four machines ZooKeeper can\nonly handle the failure of a single machine; if two machines fail, the\nremaining two machines do not constitute a majority. However, with five\nmachines ZooKeeper can handle the failure of two machines.",{"_5302":521,"_37698":466,"_38077":53321,"_5":22127,"_14695":53190,"_2209":52329},[],{"_5302":522,"_37698":466,"_38077":53323,"_5":22127,"_14695":53190,"_2209":53324},[],"As mentioned in the ZooKeeper Getting Started\nGuide, a minimum of three servers are required\nfor a fault tolerant clustered setup, and it is strongly recommended that you\nhave an odd number of servers.",{"_5302":523,"_37698":466,"_38077":53326,"_5":22127,"_14695":53190,"_2209":53327},[],"Usually three servers is more than enough for a production\ninstall, but for maximum reliability during maintenance, you may\nwish to install five servers. With three servers, if you perform\nmaintenance on one of them, you are vulnerable to a failure on one\nof the other two servers during that maintenance. If you have five\nof them running, you can take one down for maintenance, and know\nthat you're still OK if one of the other four suddenly fails.",{"_5302":524,"_37698":466,"_38077":53329,"_5":22127,"_14695":53190,"_2209":53330},[],"Your redundancy considerations should include all aspects of\nyour environment. If you have three ZooKeeper servers, but their\nnetwork cables are all plugged into the same network switch, then\nthe failure of that switch will take down your entire ensemble.",{"_5302":525,"_37698":466,"_38077":53332,"_5":22127,"_14695":53190,"_2209":53333},[],"Here are the steps to set a server that will be part of an\nensemble. These steps should be performed on every host in the\nensemble:",{"_5302":526,"_37698":466,"_38077":53335,"_5":22127,"_14695":53190,"_2209":53336},[],"Install the Java JDK. You can use the native packaging system for your system, or download\nthe JDK from: http://java.sun.com/javase/downloads/index.jsp",{"_5302":527,"_37698":466,"_38077":53338,"_5":22127,"_14695":53190,"_2209":53339},[],"Set the Java heap size. This is very important to avoid swapping, which will seriously degrade\nZooKeeper performance. To determine the correct value, use load tests, and make sure you are\nwell below the usage limit that would cause you to swap. Be conservative — use a maximum heap\nsize of 3GB for a 4GB machine.",{"_5302":528,"_37698":466,"_38077":53341,"_5":22127,"_14695":53190,"_2209":53342},[],"Install the ZooKeeper Server Package. It can be downloaded\nfrom: /releases",{"_5302":529,"_37698":466,"_38077":53344,"_5":22127,"_14695":53190,"_2209":53345},[],"Create a configuration file. This file can be called anything. Use the following settings as a\nstarting point:",{"_5302":530,"_37698":466,"_38077":53347,"_5":22127,"_14695":53190,"_2209":53348},[],"You can find the meanings of these and other configuration settings in the section\nConfiguration Parameters. Every machine that is part of the ZooKeeper\nensemble should know about every other machine in the ensemble. You accomplish this with the\nseries of lines of the form server.id=host:port:port. (The parameters host and port\nare straightforward; for each server you need to specify first a Quorum port then a dedicated\nport for ZooKeeper leader election). Since ZooKeeper 3.6.0 you can also\nspecify multiple addresses for each ZooKeeper server instance (this can\nincrease availability when multiple physical network interfaces can be used parallel in the\ncluster). You attribute the server id to each machine by creating a file named myid, one for\neach server, which resides in that server's data directory, as specified by the configuration\nfile parameter dataDir.",{"_5302":531,"_37698":466,"_38077":53350,"_5":22127,"_14695":53190,"_2209":53351},[],"The myid file consists of a single line containing only the text of that machine's id. So\nmyid of server 1 would contain the text \"1\" and nothing else. The id must be unique within\nthe ensemble and should have a value between 1 and 255. IMPORTANT: if you enable extended\nfeatures such as TTL Nodes (see below) the id must be between 1 and 254 due to internal\nlimitations.",{"_5302":532,"_37698":466,"_38077":53353,"_5":22127,"_14695":53190,"_2209":53354},[],"Create an initialization marker file initialize in the same directory as myid. This file\nindicates that an empty data directory is expected. When present, an empty database is created\nand the marker file deleted. When not present, an empty data directory will mean this peer will\nnot have voting rights and it will not populate the data directory until it communicates with\nan active leader. Intended use is to only create this file when bringing up a new ensemble.",{"_5302":533,"_37698":466,"_38077":53356,"_5":22127,"_14695":53190,"_2209":53357},[],"If your configuration file is set up, you can start a ZooKeeper server:",{"_5302":534,"_37698":466,"_38077":53359,"_5":22127,"_14695":53190,"_2209":53360},[],"QuorumPeerMain starts a ZooKeeper server; JMX\nmanagement beans are also registered which allows management through a JMX management console.\nThe ZooKeeper JMX document contains details on managing ZooKeeper with JMX.\nSee the script bin/zkServer.sh, which is included in the release, for an example of starting\nserver instances.",{"_5302":535,"_37698":466,"_38077":53362,"_5":22127,"_14695":53190,"_2209":53363},[],"Test your deployment by connecting to the hosts. In Java, you can run the following command to\nexecute simple operations:",{"_5302":536,"_37698":466,"_38077":53365,"_5":22127,"_14695":53194,"_2209":53366},[],"If you want to set up ZooKeeper for development purposes, you will\nprobably want to set up a single server instance of ZooKeeper, and then\ninstall either the Java or C client-side libraries and bindings on your\ndevelopment machine.",{"_5302":537,"_37698":466,"_38077":53368,"_5":22127,"_14695":53194,"_2209":53369},[],"The steps to setting up a single server instance are the similar\nto the above, except the configuration file is simpler. You can find the\ncomplete instructions in the Installing and\nRunning ZooKeeper in Single Server Mode section of the ZooKeeper Getting Started\nGuide.",{"_5302":538,"_37698":466,"_38077":53371,"_5":22127,"_14695":53194,"_2209":53372},[],"For information on installing the client side libraries, refer to\nthe Bindings\nsection of the ZooKeeper\nProgrammer's Guide.",{"_5302":539,"_37698":466,"_38077":53374,"_5":22127,"_14695":53198,"_2209":53375},[],"The reliability of ZooKeeper rests on two basic assumptions.",{"_5302":540,"_37698":466,"_38077":53377,"_5":22127,"_14695":53198,"_2209":53378},[],"Only a minority of servers in a deployment\nwill fail. Failure in this context\nmeans a machine crash, or some error in the network that\npartitions a server off from the majority.",{"_5302":541,"_37698":466,"_38077":53380,"_5":22127,"_14695":53198,"_2209":53381},[],"Deployed machines operate correctly. To\noperate correctly means to execute code correctly, to have\nclocks that work properly, and to have storage and network\ncomponents that perform consistently.",{"_5302":542,"_37698":466,"_38077":53383,"_5":22127,"_14695":53198,"_2209":53384},[],"The sections below contain considerations for ZooKeeper\nadministrators to maximize the probability for these assumptions\nto hold true. Some of these are cross-machines considerations,\nand others are things you should consider for each and every\nmachine in your deployment.",{"_5302":543,"_37698":466,"_38077":53386,"_5":22127,"_14695":53202,"_2209":53387},[],"For the ZooKeeper service to be active, there must be a\nmajority of non-failing machines that can communicate with\neach other. For a ZooKeeper ensemble with N servers,\nif N is odd, the ensemble is able to tolerate up to N/2\nserver failures without losing any znode data;\nif N is even, the ensemble is able to tolerate up to N/2-1\nserver failures.",{"_5302":544,"_37698":466,"_38077":53389,"_5":22127,"_14695":53202,"_2209":53390},[],"For example, if we have a ZooKeeper ensemble with 3 servers,\nthe ensemble is able to tolerate up to 1 (3/2) server failures.\nIf we have a ZooKeeper ensemble with 5 servers,\nthe ensemble is able to tolerate up to 2 (5/2) server failures.\nIf the ZooKeeper ensemble with 6 servers, the ensemble\nis also able to tolerate up to 2 (6/2-1) server failures\nwithout losing data and prevent the \"brain split\" issue.",{"_5302":545,"_37698":466,"_38077":53392,"_5":22127,"_14695":53202,"_2209":53393},[],"ZooKeeper ensemble is usually has odd number of servers.\nThis is because with the even number of servers,\nthe capacity of failure tolerance is the same as\nthe ensemble with one less server\n(2 failures for both 5-node ensemble and 6-node ensemble),\nbut the ensemble has to maintain extra connections and\ndata transfers for one more server.",{"_5302":546,"_37698":466,"_38077":53395,"_5":22127,"_14695":53202,"_2209":53396},[],"To achieve the highest probability of tolerating a failure\nyou should try to make machine failures independent. For\nexample, if most of the machines share the same switch,\nfailure of that switch could cause a correlated failure and\nbring down the service. The same holds true of shared power\ncircuits, cooling systems, etc.",{"_5302":547,"_37698":466,"_38077":53398,"_5":22127,"_14695":53206,"_2209":53399},[],"If ZooKeeper has to contend with other applications for\naccess to resources like storage media, CPU, network, or\nmemory, its performance will suffer markedly. ZooKeeper has\nstrong durability guarantees, which means it uses storage\nmedia to log changes before the operation responsible for the\nchange is allowed to complete. You should be aware of this\ndependency then, and take great care if you want to ensure\nthat ZooKeeper operations aren’t held up by your media. Here\nare some things you can do to minimize that sort of\ndegradation:",{"_5302":548,"_37698":466,"_38077":53401,"_5":22127,"_14695":53206,"_2209":53402},[],"ZooKeeper's transaction log must be on a dedicated\ndevice. (A dedicated partition is not enough.) ZooKeeper\nwrites the log sequentially, without seeking Sharing your\nlog device with other processes can cause seeks and\ncontention, which in turn can cause multi-second\ndelays.",{"_5302":549,"_37698":466,"_38077":53404,"_5":22127,"_14695":53206,"_2209":53405},[],"Do not put ZooKeeper in a situation that can cause a\nswap. In order for ZooKeeper to function with any sort of\ntimeliness, it simply cannot be allowed to swap.\nTherefore, make certain that the maximum heap size given\nto ZooKeeper is not bigger than the amount of real memory\navailable to ZooKeeper. For more on this, see\nThings to Avoid\nin the Best Practices guide.",{"_5302":550,"_37698":550,"_5":19386,"_2209":51790,"_38009":53407,"_38077":53408,"_14695":550},[51788,51789,51790],[],{"_5302":551,"_37698":550,"_38077":53410,"_5":22127,"_14695":550,"_2209":53411},[],"This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.",{"_5302":552,"_37698":552,"_5":19386,"_2209":53413,"_38009":53414,"_38077":53415,"_14695":552},"CLI",[51788,51789],[],{"_5302":553,"_37698":552,"_38077":53417,"_5":22127,"_14695":552,"_2209":53418},[],"Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.",{"_5302":554,"_37698":552,"_5":38006,"_38077":53420,"_14695":53421,"_2209":53422},[],"/docs/admin-ops/cli#connecting","Connecting",{"_5302":555,"_37698":552,"_5":38006,"_38077":53424,"_14695":53425,"_2209":30102},[],"/docs/admin-ops/cli#help",{"_5302":556,"_37698":552,"_5":38006,"_38077":53427,"_14695":53428,"_2209":3289},[],"/docs/admin-ops/cli#addauth",{"_5302":557,"_37698":552,"_5":38006,"_38077":53430,"_14695":53431,"_2209":13478},[],"/docs/admin-ops/cli#close",{"_5302":558,"_37698":552,"_5":38006,"_38077":53433,"_14695":53434,"_2209":13739},[],"/docs/admin-ops/cli#config",{"_5302":559,"_37698":552,"_5":38006,"_38077":53436,"_14695":53437,"_2209":14151},[],"/docs/admin-ops/cli#connect",{"_5302":560,"_37698":552,"_5":38006,"_38077":53439,"_14695":53440,"_2209":12805},[],"/docs/admin-ops/cli#create",{"_5302":561,"_37698":552,"_5":38006,"_38077":53442,"_14695":53443,"_2209":12812},[],"/docs/admin-ops/cli#delete",{"_5302":562,"_37698":552,"_5":38006,"_38077":53445,"_14695":53446,"_2209":23971},[],"/docs/admin-ops/cli#deleteall",{"_5302":563,"_37698":552,"_5":38006,"_38077":53448,"_14695":53449,"_2209":24064},[],"/docs/admin-ops/cli#delquota",{"_5302":564,"_37698":552,"_5":38006,"_38077":53451,"_14695":53452,"_2209":7271},[],"/docs/admin-ops/cli#get",{"_5302":565,"_37698":552,"_5":38006,"_38077":53454,"_14695":53455,"_2209":53456},[],"/docs/admin-ops/cli#getacl","getAcl",{"_5302":566,"_37698":552,"_5":38006,"_38077":53458,"_14695":53459,"_2209":53460},[],"/docs/admin-ops/cli#getallchildrennumber","getAllChildrenNumber",{"_5302":567,"_37698":552,"_5":38006,"_38077":53462,"_14695":53463,"_2209":53464},[],"/docs/admin-ops/cli#getephemerals","getEphemerals",{"_5302":568,"_37698":552,"_5":38006,"_38077":53466,"_14695":53467,"_2209":29921},[],"/docs/admin-ops/cli#history",{"_5302":569,"_37698":552,"_5":38006,"_38077":53469,"_14695":53470,"_2209":28818},[],"/docs/admin-ops/cli#listquota",{"_5302":570,"_37698":552,"_5":38006,"_38077":53472,"_14695":53473,"_2209":27124},[],"/docs/admin-ops/cli#ls",{"_5302":571,"_37698":552,"_5":38006,"_38077":53475,"_14695":53476,"_2209":18820},[],"/docs/admin-ops/cli#printwatches",{"_5302":572,"_37698":552,"_5":38006,"_38077":53478,"_14695":53479,"_2209":36383},[],"/docs/admin-ops/cli#quit",{"_5302":573,"_37698":552,"_5":38006,"_38077":53481,"_14695":53482,"_2209":9688},[],"/docs/admin-ops/cli#reconfig",{"_5302":574,"_37698":552,"_5":38006,"_38077":53484,"_14695":53485,"_2209":10666},[],"/docs/admin-ops/cli#redo",{"_5302":575,"_37698":552,"_5":38006,"_38077":53487,"_14695":53488,"_2209":9043},[],"/docs/admin-ops/cli#removewatches",{"_5302":576,"_37698":552,"_5":38006,"_38077":53490,"_14695":53491,"_2209":26242},[],"/docs/admin-ops/cli#set",{"_5302":577,"_37698":552,"_5":38006,"_38077":53493,"_14695":53494,"_2209":53495},[],"/docs/admin-ops/cli#setacl","setAcl",{"_5302":578,"_37698":552,"_5":38006,"_38077":53497,"_14695":53498,"_2209":26330},[],"/docs/admin-ops/cli#setquota",{"_5302":579,"_37698":552,"_5":38006,"_38077":53500,"_14695":53501,"_2209":25512},[],"/docs/admin-ops/cli#stat",{"_5302":580,"_37698":552,"_5":38006,"_38077":53503,"_14695":53504,"_2209":7686},[],"/docs/admin-ops/cli#sync",{"_5302":581,"_37698":552,"_5":38006,"_38077":53506,"_14695":53507,"_2209":12720},[],"/docs/admin-ops/cli#version",{"_5302":582,"_37698":552,"_5":38006,"_38077":53509,"_14695":53510,"_2209":31444},[],"/docs/admin-ops/cli#whoami",{"_5302":583,"_37698":552,"_38077":53512,"_5":22127,"_14695":53425,"_2209":53513},[],"Show all available ZooKeeper commands.",{"_5302":584,"_37698":552,"_38077":53515,"_5":22127,"_14695":53428,"_2209":53516},[],"Add an authorized user for ACL authentication.",{"_5302":585,"_37698":552,"_38077":53518,"_5":22127,"_14695":53431,"_2209":53519},[],"Close the current client session.",{"_5302":586,"_37698":552,"_38077":53521,"_5":22127,"_14695":53434,"_2209":53522},[],"Show the current quorum membership configuration.",{"_5302":587,"_37698":552,"_38077":53524,"_5":22127,"_14695":53437,"_2209":53525},[],"Connect to a ZooKeeper server.",{"_5302":588,"_37698":552,"_38077":53527,"_5":22127,"_14695":53440,"_2209":53528},[],"Create a znode.",{"_5302":589,"_37698":552,"_38077":53530,"_5":22127,"_14695":53440,"_2209":53531},[],"Create a node with an ACL schema:",{"_5302":590,"_37698":552,"_38077":53533,"_5":22127,"_14695":53440,"_2209":53534},[],"Create a container node (automatically deleted when its last child is deleted):",{"_5302":591,"_37698":552,"_38077":53536,"_5":22127,"_14695":53440,"_2209":53537},[],"Create a TTL node (requires zookeeper.extendedTypesEnabled=true; otherwise returns KeeperErrorCode = Unimplemented):",{"_5302":592,"_37698":552,"_38077":53539,"_5":22127,"_14695":53443,"_2209":53540},[],"Delete a node at the specified path.",{"_5302":593,"_37698":552,"_38077":53542,"_5":22127,"_14695":53446,"_2209":53543},[],"Delete a node and all of its descendants.",{"_5302":594,"_37698":552,"_38077":53545,"_5":22127,"_14695":53449,"_2209":53546},[],"Delete the quota on a path.",{"_5302":595,"_37698":552,"_38077":53548,"_5":22127,"_14695":53452,"_2209":53549},[],"Get the data stored at a path.",{"_5302":596,"_37698":552,"_38077":53551,"_5":22127,"_14695":53455,"_2209":53552},[],"Get the ACL permissions for a path.",{"_5302":597,"_37698":552,"_38077":53554,"_5":22127,"_14695":53459,"_2209":53555},[],"Get the total number of descendant nodes under a path.",{"_5302":598,"_37698":552,"_38077":53557,"_5":22127,"_14695":53463,"_2209":53558},[],"Get all ephemeral nodes created by the current session.",{"_5302":599,"_37698":552,"_38077":53560,"_5":22127,"_14695":53467,"_2209":53561},[],"Show the most recent 11 commands executed in this session.",{"_5302":600,"_37698":552,"_38077":53563,"_5":22127,"_14695":53470,"_2209":53564},[],"List the quota configured for a path.",{"_5302":601,"_37698":552,"_38077":53566,"_5":22127,"_14695":53473,"_2209":53567},[],"List the child nodes of a path.",{"_5302":602,"_37698":552,"_38077":53569,"_5":22127,"_14695":53476,"_2209":53570},[],"Toggle whether watch events are printed to the console.",{"_5302":603,"_37698":552,"_38077":53572,"_5":22127,"_14695":53479,"_2209":53573},[],"Quit the CLI.",{"_5302":604,"_37698":552,"_38077":53575,"_5":22127,"_14695":53482,"_2209":53576},[],"Change ensemble membership at runtime. Before using this command, read the details in Dynamic Reconfiguration, especially the Security section.",{"_5302":605,"_37698":552,"_38077":53578,"_5":22127,"_14695":53482,"_2209":53579},[],"Prerequisites:",{"_5302":606,"_37698":552,"_38077":53581,"_5":22127,"_14695":53482,"_2209":53582},[],"Set reconfigEnabled=true in zoo.cfg.",{"_5302":607,"_37698":552,"_38077":53584,"_5":22127,"_14695":53482,"_2209":53585},[],"Add a super user or set skipACL; otherwise you will get Insufficient permission. For example: addauth digest zookeeper:admin.",{"_5302":608,"_37698":552,"_38077":53587,"_5":22127,"_14695":53485,"_2209":53588},[],"Re-execute a command from history by its index.",{"_5302":609,"_37698":552,"_38077":53590,"_5":22127,"_14695":53488,"_2209":53591},[],"Remove watches from a node.",{"_5302":610,"_37698":552,"_38077":53593,"_5":22127,"_14695":53491,"_2209":53594},[],"Set or update the data at a path.",{"_5302":611,"_37698":552,"_38077":53596,"_5":22127,"_14695":53494,"_2209":53597},[],"Set ACL permissions on a node.",{"_5302":612,"_37698":552,"_38077":53599,"_5":22127,"_14695":53494,"_2209":53600},[],"Use -R to set ACL recursively on all child nodes:",{"_5302":613,"_37698":552,"_38077":53602,"_5":22127,"_14695":53494,"_2209":53603},[],"Use -v to set ACL with optimistic locking (version from aclVersion in stat):",{"_5302":614,"_37698":552,"_38077":53605,"_5":22127,"_14695":53498,"_2209":53606},[],"Set a quota on a path. Soft limits (-n, -b) log a warning but do not block operations. Hard limits (-N, -B) reject operations that exceed the quota.",{"_5302":615,"_37698":552,"_38077":53608,"_5":22127,"_14695":53501,"_2209":53609},[],"Show the metadata (stat) of a node.",{"_5302":616,"_37698":552,"_38077":53611,"_5":22127,"_14695":53504,"_2209":53612},[],"Sync the data of a node between the leader and followers (asynchronous).",{"_5302":617,"_37698":552,"_38077":53614,"_5":22127,"_14695":53507,"_2209":53615},[],"Show the ZooKeeper CLI version.",{"_5302":618,"_37698":552,"_38077":53617,"_5":22127,"_14695":53510,"_2209":53618},[],"Show all authentication information for the current session.",{"_5302":619,"_37698":619,"_5":19386,"_2209":53620,"_38009":53621,"_38077":53622,"_14695":619},"Dynamic Reconfiguration",[51788,51789],[],{"_5302":620,"_37698":619,"_38077":53624,"_5":22127,"_14695":619,"_2209":53625},[],"How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.",{"_5302":621,"_37698":619,"_5":38006,"_38077":53627,"_14695":53628,"_2209":53629},[],"/docs/admin-ops/dynamic-reconfiguration#changes-to-configuration-format","Changes to Configuration Format",{"_5302":622,"_37698":619,"_5":38006,"_38077":53631,"_14695":53632,"_2209":53633},[],"/docs/admin-ops/dynamic-reconfiguration#specifying-the-client-port","Specifying the Client Port",{"_5302":623,"_37698":619,"_5":38006,"_38077":53635,"_14695":53636,"_2209":53637},[],"/docs/admin-ops/dynamic-reconfiguration#specifying-multiple-server-addresses","Specifying Multiple Server Addresses",{"_5302":624,"_37698":619,"_5":38006,"_38077":53639,"_14695":53640,"_2209":53641},[],"/docs/admin-ops/dynamic-reconfiguration#the-standaloneenabled-flag","The standaloneEnabled Flag",{"_5302":625,"_37698":619,"_5":38006,"_38077":53643,"_14695":53644,"_2209":53645},[],"/docs/admin-ops/dynamic-reconfiguration#the-reconfigenabled-flag","The reconfigEnabled Flag",{"_5302":626,"_37698":619,"_5":38006,"_38077":53647,"_14695":53648,"_2209":53649},[],"/docs/admin-ops/dynamic-reconfiguration#dynamic-configuration-file","Dynamic Configuration File",{"_5302":627,"_37698":619,"_5":38006,"_38077":53651,"_14695":53652,"_2209":53653},[],"/docs/admin-ops/dynamic-reconfiguration#example-1","Example 1",{"_5302":628,"_37698":619,"_5":38006,"_38077":53655,"_14695":53656,"_2209":53657},[],"/docs/admin-ops/dynamic-reconfiguration#example-2","Example 2",{"_5302":629,"_37698":619,"_5":38006,"_38077":53659,"_14695":53660,"_2209":53661},[],"/docs/admin-ops/dynamic-reconfiguration#backward-compatibility","Backward Compatibility",{"_5302":630,"_37698":619,"_5":38006,"_38077":53663,"_14695":53664,"_2209":53665},[],"/docs/admin-ops/dynamic-reconfiguration#upgrading-to-350","Upgrading to 3.5.0",{"_5302":631,"_37698":619,"_5":38006,"_38077":53667,"_14695":53668,"_2209":53669},[],"/docs/admin-ops/dynamic-reconfiguration#dynamic-reconfiguration-of-the-zookeeper-ensemble","Dynamic Reconfiguration of the ZooKeeper Ensemble",{"_5302":632,"_37698":619,"_5":38006,"_38077":53671,"_14695":53672,"_2209":53673},[],"/docs/admin-ops/dynamic-reconfiguration#api","API",{"_5302":633,"_37698":619,"_5":38006,"_38077":53675,"_14695":53676,"_2209":53677},[],"/docs/admin-ops/dynamic-reconfiguration#security","Security",{"_5302":634,"_37698":619,"_5":38006,"_38077":53679,"_14695":53680,"_2209":53681},[],"/docs/admin-ops/dynamic-reconfiguration#retrieving-the-current-dynamic-configuration","Retrieving the Current Dynamic Configuration",{"_5302":635,"_37698":619,"_5":38006,"_38077":53683,"_14695":53684,"_2209":53685},[],"/docs/admin-ops/dynamic-reconfiguration#modifying-the-current-dynamic-configuration","Modifying the Current Dynamic Configuration",{"_5302":636,"_37698":619,"_5":38006,"_38077":53687,"_14695":53688,"_2209":53689},[],"/docs/admin-ops/dynamic-reconfiguration#general","General",{"_5302":637,"_37698":619,"_5":38006,"_38077":53691,"_14695":53692,"_2209":53693},[],"/docs/admin-ops/dynamic-reconfiguration#incremental-mode","Incremental Mode",{"_5302":638,"_37698":619,"_5":38006,"_38077":53695,"_14695":53696,"_2209":53697},[],"/docs/admin-ops/dynamic-reconfiguration#non-incremental-mode","Non-incremental Mode",{"_5302":639,"_37698":619,"_5":38006,"_38077":53699,"_14695":53700,"_2209":53701},[],"/docs/admin-ops/dynamic-reconfiguration#conditional-reconfig","Conditional Reconfig",{"_5302":640,"_37698":619,"_5":38006,"_38077":53703,"_14695":53704,"_2209":53705},[],"/docs/admin-ops/dynamic-reconfiguration#error-conditions","Error Conditions",{"_5302":641,"_37698":619,"_5":38006,"_38077":53707,"_14695":53708,"_2209":53709},[],"/docs/admin-ops/dynamic-reconfiguration#additional-comments","Additional Comments",{"_5302":642,"_37698":619,"_5":38006,"_38077":53711,"_14695":53712,"_2209":53713},[],"/docs/admin-ops/dynamic-reconfiguration#rebalancing-client-connections","Rebalancing Client Connections",{"_5302":643,"_37698":619,"_38077":53715,"_5":22127,"_14695":619,"_2209":53716},[],"Prior to the 3.5.0 release, the membership and all other configuration\nparameters of ZooKeeper were static — loaded during boot and immutable at\nruntime. Operators resorted to \"rolling restarts\" — a manually intensive\nand error-prone method of changing the configuration that has caused data\nloss and inconsistency in production.",{"_5302":644,"_37698":619,"_38077":53718,"_5":22127,"_14695":619,"_2209":53719},[],"Starting with 3.5.0, rolling restarts are no longer needed.\nZooKeeper comes with full support for automated configuration changes: the\nset of ZooKeeper servers, their roles (participant / observer), all ports,\nand even the quorum system can be changed dynamically, without service\ninterruption and while maintaining data consistency. Reconfigurations are\nperformed immediately, just like other operations in ZooKeeper. Multiple\nchanges can be done using a single reconfiguration command. The dynamic\nreconfiguration functionality does not limit operation concurrency, does\nnot require client operations to be stopped during reconfigurations, has a\nvery simple interface for administrators, and adds no complexity to other\nclient operations.",{"_5302":645,"_37698":619,"_38077":53721,"_5":22127,"_14695":619,"_2209":53722},[],"New client-side features allow clients to find out about configuration\nchanges and to update the connection string (list of servers and their\nclient ports) stored in their ZooKeeper handle. A probabilistic algorithm\nis used to rebalance clients across the new configuration servers while\nkeeping the extent of client migrations proportional to the change in\nensemble membership.",{"_5302":646,"_37698":619,"_38077":53724,"_5":22127,"_14695":619,"_2209":53725},[],"This document provides the administrator manual for reconfiguration.\nFor a detailed description of the reconfiguration algorithms, performance\nmeasurements, and more, see:",{"_5302":647,"_37698":619,"_38077":53727,"_5":22127,"_14695":619,"_2209":53728},[],"Shraer, A., Reed, B., Malkhi, D., Junqueira, F. Dynamic Reconfiguration of Primary/Backup Clusters. In USENIX Annual Technical Conference (ATC) (2012), 425–437.\nLinks: paper (pdf), slides (pdf), video, hadoop summit slides",{"_5302":648,"_37698":619,"_38077":53730,"_5":22127,"_14695":619,"_2209":53731},[],"type: warn",{"_5302":649,"_37698":619,"_38077":53733,"_5":22127,"_14695":619,"_2209":53734},[],"Starting with 3.5.3, the dynamic reconfiguration feature is disabled by\ndefault and must be explicitly turned on via the reconfigEnabled\nconfiguration option.",{"_5302":650,"_37698":619,"_38077":53736,"_5":22127,"_14695":53632,"_2209":53737},[],"A client port is the port on which the server accepts plaintext (non-TLS) client connection requests.\nA secure client port is the port on which the server accepts TLS client connection requests.",{"_5302":651,"_37698":619,"_38077":53739,"_5":22127,"_14695":53632,"_2209":53740},[],"Starting with 3.5.0, the clientPort and clientPortAddress configuration parameters should no longer be used in zoo.cfg.",{"_5302":652,"_37698":619,"_38077":53742,"_5":22127,"_14695":53632,"_2209":53743},[],"Starting with 3.10.0, the secureClientPort and secureClientPortAddress configuration parameters should no longer be used in zoo.cfg.",{"_5302":653,"_37698":619,"_38077":53745,"_5":22127,"_14695":53632,"_2209":53746},[],"Instead, this information is now part of the server keyword specification:",{"_5302":654,"_37698":619,"_38077":53748,"_5":22127,"_14695":53632,"_2209":53749},[],"[New in ZK 3.10.0] The client port specification is optional and is to the right of the\nfirst semicolon. The secure client port specification is also optional and is to the right\nof the second semicolon. However, both the client port and secure client port specification\ncannot be omitted — at least one of them must be present. If the user intends to omit the client\nport specification and provide only the secure client port (TLS-only server), a second\nsemicolon should still be specified to indicate an empty client port specification (see last\nexample below). In either spec, the port address is optional and defaults to 0.0.0.0.",{"_5302":655,"_37698":619,"_38077":53751,"_5":22127,"_14695":53632,"_2209":53752},[],"Role is also optional — it can be participant or observer (participant by default).",{"_5302":656,"_37698":619,"_38077":53754,"_5":22127,"_14695":53632,"_2209":53755},[],"Examples of legal server statements:",{"_5302":657,"_37698":619,"_38077":53757,"_5":22127,"_14695":53636,"_2209":53758},[],"Since ZooKeeper 3.6.0 it is possible to specify multiple addresses for each\nZooKeeper server (see ZOOKEEPER-3188).\nThis helps to increase availability and adds network-level resiliency to ZooKeeper. When multiple\nphysical network interfaces are used for the servers, ZooKeeper is able to bind on all interfaces\nand switch to a working interface at runtime in case of a network error. Multiple addresses are\nseparated by a pipe (|) character.",{"_5302":658,"_37698":619,"_38077":53760,"_5":22127,"_14695":53636,"_2209":53761},[],"Examples of valid configurations using multiple addresses:",{"_5302":659,"_37698":619,"_38077":53763,"_5":22127,"_14695":53640,"_2209":53764},[],"Prior to 3.5.0, one could run ZooKeeper in Standalone mode or in\nDistributed mode. These are separate implementation stacks and switching\nbetween them at runtime is not possible. By default (for backward\ncompatibility) standaloneEnabled is set to true. The consequence is that\nif started with a single server the ensemble will not be allowed to grow,\nand if started with more than one server it will not be allowed to shrink\nbelow two participants.",{"_5302":660,"_37698":619,"_38077":53766,"_5":22127,"_14695":53640,"_2209":53767},[],"Setting the flag to false instructs the system to run the Distributed\nsoftware stack even if there is only a single participant in the ensemble.\nTo achieve this the static configuration file should contain:",{"_5302":661,"_37698":619,"_38077":53769,"_5":22127,"_14695":53640,"_2209":53770},[],"With this setting it is possible to start a ZooKeeper ensemble containing\na single participant and to dynamically grow it by adding more servers.\nSimilarly, it is possible to shrink an ensemble so that just a single\nparticipant remains by removing servers.",{"_5302":662,"_37698":619,"_38077":53772,"_5":22127,"_14695":53640,"_2209":53773},[],"Since running the Distributed mode allows more flexibility, we recommend\nsetting the flag to false. The legacy Standalone mode is expected to be\ndeprecated in the future.",{"_5302":663,"_37698":619,"_38077":53775,"_5":22127,"_14695":53644,"_2209":53776},[],"Starting with 3.5.0 and prior to 3.5.3, there is no way to disable\ndynamic reconfiguration. To address the security concern that a malicious\nactor could make arbitrary changes to the ensemble configuration, the\nreconfigEnabled option was introduced in 3.5.3. Any attempt\nto reconfigure a cluster through the reconfig API — with or without authentication —\nwill fail by default unless reconfigEnabled is set to true.",{"_5302":664,"_37698":619,"_38077":53778,"_5":22127,"_14695":53644,"_2209":53779},[],"To enable reconfiguration, add the following to zoo.cfg:",{"_5302":665,"_37698":619,"_38077":53781,"_5":22127,"_14695":53648,"_2209":53782},[],"Starting with 3.5.0, ZooKeeper distinguishes between dynamic configuration\nparameters (which can be changed during runtime) and static configuration\nparameters (which are read from a configuration file at boot and do not change\nduring execution). The dynamic configuration keywords are: server, group,\nand weight.",{"_5302":666,"_37698":619,"_38077":53784,"_5":22127,"_14695":53648,"_2209":53785},[],"Dynamic configuration parameters are stored in a separate file on the server\n(the dynamic configuration file), linked from the static config file using the\ndynamicConfigFile keyword.",{"_5302":667,"_37698":619,"_38077":53787,"_5":22127,"_14695":53652,"_2209":53788},[],"zoo_replicated1.cfg",{"_5302":668,"_37698":619,"_38077":53790,"_5":22127,"_14695":53652,"_2209":53791},[],"zoo_replicated1.cfg.dynamic",{"_5302":669,"_37698":619,"_38077":53793,"_5":22127,"_14695":53652,"_2209":53794},[],"When the ensemble configuration changes, the static configuration parameters\nremain the same. The dynamic parameters are pushed by ZooKeeper and overwrite\nthe dynamic configuration files on all servers. Thus the dynamic configuration\nfiles on different servers are usually identical (they can differ momentarily\nwhile a reconfiguration is in progress or before a new configuration has\npropagated to all servers). Once created, the dynamic configuration file should\nnot be manually altered — changes are made only through the reconfiguration\ncommands described below. Changing the config of an offline cluster could\nresult in an inconsistency with configuration information stored in the\nZooKeeper log and is therefore highly discouraged.",{"_5302":670,"_37698":619,"_38077":53796,"_5":22127,"_14695":53656,"_2209":53797},[],"Users may prefer to initially specify a single configuration file. The\nfollowing is also legal:",{"_5302":671,"_37698":619,"_38077":53799,"_5":22127,"_14695":53656,"_2209":53788},[],{"_5302":672,"_37698":619,"_38077":53801,"_5":22127,"_14695":53656,"_2209":53802},[],"The configuration files on each server will be automatically split into\ndynamic and static files if they are not already in this format. The\nconfiguration above will be automatically transformed into the two files in\nExample 1. Note that the clientPort and clientPortAddress lines (if\nspecified) will be automatically removed during this process if they are\nredundant (as in the example above). The original static configuration file\nis backed up (as a .bak file).",{"_5302":673,"_37698":619,"_38077":53804,"_5":22127,"_14695":53660,"_2209":53805},[],"The old configuration format is still supported. For example, the\nfollowing configuration file is acceptable (but not recommended):",{"_5302":674,"_37698":619,"_38077":53807,"_5":22127,"_14695":53660,"_2209":53788},[],{"_5302":675,"_37698":619,"_38077":53809,"_5":22127,"_14695":53660,"_2209":53810},[],"During boot, a dynamic configuration file is created containing the dynamic\npart of the configuration as explained earlier. In this case, however, the\nline clientPort=2791 will remain in the static configuration file of\nserver 1 since it is not redundant — it was not specified as part of\nserver.1=... using the format described in\nChanges to Configuration Format. If a\nreconfiguration is invoked that sets the client port of server 1, clientPort=2791\nis removed from the static configuration file (the dynamic file then contains\nthis information as part of the server 1 specification).",{"_5302":676,"_37698":619,"_38077":53812,"_5":22127,"_14695":53664,"_2209":53813},[],"Upgrading a running ZooKeeper ensemble to 3.5.0 should be done only\nafter upgrading to the 3.4.6 release. This is only necessary for rolling\nupgrades — if you are fine with shutting down the system completely, you\ndo not need to go through 3.4.6. If you attempt a rolling upgrade without\ngoing through 3.4.6 (for example from 3.4.5), you may get the following error:",{"_5302":677,"_37698":619,"_38077":53815,"_5":22127,"_14695":53664,"_2209":53816},[],"During a rolling upgrade, each server is taken down in turn and rebooted\nwith the new 3.5.0 binaries. Before starting a server with 3.5.0 binaries,\nwe highly recommend updating the configuration file so that all server\nstatements server.x=... contain client ports (see\nSpecifying the Client Port). You may leave\nthe configuration in a single file and may also leave the\nclientPort/clientPortAddress statements (although if you specify client\nports in the new format, these statements become redundant).",{"_5302":678,"_37698":619,"_38077":53818,"_5":22127,"_14695":53668,"_2209":53819},[],"The ZooKeeper Java and C APIs were extended with getConfig and reconfig\ncommands that facilitate reconfiguration. Both commands have a synchronous\n(blocking) variant and an asynchronous one. The examples below use the Java\nCLI, but you can similarly use the C CLI or invoke the commands directly from\na program just like any other ZooKeeper command.",{"_5302":679,"_37698":619,"_38077":53821,"_5":22127,"_14695":53672,"_2209":53822},[],"There are two sets of APIs for both Java and C clients.",{"_5302":680,"_37698":619,"_38077":53824,"_5":22127,"_14695":53672,"_2209":53825},[],"Reconfiguration API: Used to reconfigure the ZooKeeper cluster.\nStarting with 3.5.3, reconfiguration Java APIs are moved into the ZooKeeperAdmin\nclass from the ZooKeeper class. Use of this API requires ACL setup and user\nauthentication (see Security for more information).",{"_5302":681,"_37698":619,"_38077":53827,"_5":22127,"_14695":53672,"_2209":53828},[],"Get Configuration API: Used to retrieve ZooKeeper cluster configuration\ninformation stored in the /zookeeper/config znode. Use of this API does not\nrequire specific setup or authentication, because /zookeeper/config is readable\nby any user.",{"_5302":682,"_37698":619,"_38077":53830,"_5":22127,"_14695":53676,"_2209":53831},[],"Prior to 3.5.3, there is no enforced security mechanism over reconfig,\nso any ZooKeeper client that can connect to the ensemble has the ability to\nchange its state via reconfig. It is thus possible for a malicious client to\nadd a compromised server to an ensemble or remove legitimate servers, which\ncan be a security vulnerability.",{"_5302":683,"_37698":619,"_38077":53833,"_5":22127,"_14695":53676,"_2209":53834},[],"Starting from 3.5.3, access control over reconfig is enforced: only a\nspecific set of explicitly configured users can use reconfig commands or APIs,\nand the ZooKeeper cluster must have authentication enabled so that clients can\nbe authenticated.",{"_5302":684,"_37698":619,"_38077":53836,"_5":22127,"_14695":53676,"_2209":53837},[],"An escape hatch is provided for users operating in a secured environment (e.g.\nbehind a company firewall) who want to use reconfiguration without the overhead\nof configuring an explicit authorized user list: setting\nskipACL to yes skips\nACL checks and allows any user to reconfigure the cluster.",{"_5302":685,"_37698":619,"_38077":53839,"_5":22127,"_14695":53676,"_2209":53840},[],"Access Control: The dynamic configuration is stored in the special znode\nZooDefs.CONFIG_NODE = /zookeeper/config. This node is read-only for all users\nby default, except the super user and users explicitly configured for write access.\nClients that need to use reconfig commands or the reconfig API must be configured\nwith write access to CONFIG_NODE. Additional users can be granted write access\nthrough the superuser by setting an ACL with write permission. Examples of how to\nset up ACLs and use the reconfiguration API with authentication can be found in\nReconfigExceptionTest.java and TestReconfigServer.cc.",{"_5302":686,"_37698":619,"_38077":53842,"_5":22127,"_14695":53676,"_2209":53843},[],"Authentication: Authentication is orthogonal to access control and is\ndelegated to ZooKeeper's pluggable authentication schemes. See\nZooKeeper and SASL\nfor more details.",{"_5302":687,"_37698":619,"_38077":53845,"_5":22127,"_14695":53676,"_2209":53846},[],"Disable ACL check: ZooKeeper supports the\nskipACL option such that\nACL checks are completely skipped when skipACL is set to yes. In such cases\nany unauthenticated user can use the reconfig API.",{"_5302":688,"_37698":619,"_38077":53848,"_5":22127,"_14695":53680,"_2209":53849},[],"The dynamic configuration is stored in a special znode\nZooDefs.CONFIG_NODE = /zookeeper/config. The config CLI command reads\nthis znode (it is essentially a wrapper around get /zookeeper/config). As\nwith normal reads, to retrieve the latest committed value you should do a\nsync first.",{"_5302":689,"_37698":619,"_38077":53851,"_5":22127,"_14695":53680,"_2209":53852},[],"Notice the last line of the output — this is the configuration version. The\nversion equals the zxid of the reconfiguration command that created this\nconfiguration. The version of the first established configuration equals the\nzxid of the NEWLEADER message sent by the first successfully established leader.\nWhen a configuration is written to a dynamic configuration file, the version\nautomatically becomes part of the filename and the static configuration file is\nupdated with the path to the new dynamic configuration file. Configuration files\ncorresponding to earlier versions are retained for backup purposes.",{"_5302":690,"_37698":619,"_38077":53854,"_5":22127,"_14695":53680,"_2209":53855},[],"During boot, the version (if it exists) is extracted from the filename. The\nversion should never be manually altered — it is used by the system to determine\nwhich configuration is most up-to-date, and manipulating it can result in data\nloss and inconsistency.",{"_5302":691,"_37698":619,"_38077":53857,"_5":22127,"_14695":53680,"_2209":53858},[],"Like the get command, the config CLI command accepts the -w flag for\nsetting a watch on the znode and the -s flag for displaying its stats. It\nadditionally accepts a -c flag that outputs only the version and the client\nconnection string for the current configuration. For example:",{"_5302":692,"_37698":619,"_38077":53860,"_5":22127,"_14695":53680,"_2209":53861},[],"Note that when using the API directly, this command is called getConfig.",{"_5302":693,"_37698":619,"_38077":53863,"_5":22127,"_14695":53680,"_2209":53864},[],"As any read command, it returns the configuration known to the follower your\nclient is connected to, which may be slightly out-of-date. Use the sync\ncommand for stronger guarantees. For example using the Java API:",{"_5302":694,"_37698":619,"_38077":53866,"_5":22127,"_14695":53680,"_2209":53867},[],"Note: in 3.5.0 it doesn't matter which path is passed to sync() since all\nserver state is brought up to date with the leader (a different path could be\nused instead of ZooDefs.CONFIG_NODE). However, this may change in the future.",{"_5302":695,"_37698":619,"_38077":53869,"_5":22127,"_14695":53684,"_2209":53870},[],"Configuration is modified through the reconfig command. There are two\nmodes: incremental and non-incremental (bulk). The non-incremental mode\nspecifies the complete new dynamic configuration. The incremental mode specifies\nchanges to the current configuration. The reconfig command returns the new\nconfiguration.",{"_5302":696,"_37698":619,"_38077":53872,"_5":22127,"_14695":53684,"_2209":53873},[],"A few examples can be found in: ReconfigTest.java, ReconfigRecoveryTest.java,\nand TestReconfigServer.cc.",{"_5302":697,"_37698":619,"_38077":53875,"_5":22127,"_14695":53688,"_2209":53876},[],"Removing servers: Any server can be removed, including the leader (although\nremoving the leader will result in a short unavailability, see Figures 6 and 8 in\nthe paper).\nThe server will not be shut down automatically. Instead, it becomes a\n\"non-voting follower\" — similar to an observer in that its votes don't count\ntowards the quorum, but unlike an observer, a non-voting follower still sees\noperation proposals and ACKs them. Thus a non-voting follower has a more\nsignificant negative effect on throughput compared to an observer.\nNon-voting follower mode should only be used temporarily before shutting the\nserver down or adding it back as a follower or observer. Servers are not\nshut down automatically for two main reasons: first, to avoid immediately\ndisconnecting all connected clients and causing a flood of reconnection requests\nto other servers; second, because removing a server may sometimes be necessary\nas a step to change it from observer to participant (see\nAdditional comments).",{"_5302":698,"_37698":619,"_38077":53878,"_5":22127,"_14695":53688,"_2209":53879},[],"Note that the new configuration must have some minimum number of participants\nto be considered legal. If the proposed change would leave fewer than 2\nparticipants and standalone mode is enabled (standaloneEnabled=true, see\nThe standaloneEnabled Flag), the reconfig\nwill not be processed (BadArgumentsException). If standalone mode is disabled\n(standaloneEnabled=false) then 1 or more participants is legal.",{"_5302":699,"_37698":619,"_38077":53881,"_5":22127,"_14695":53688,"_2209":53882},[],"Adding servers: Before invoking a reconfiguration, the administrator must\nensure that a quorum (majority) of participants from the new configuration are\nalready connected and synced with the current leader. To achieve this, a new\njoining server must be connected to the leader before it officially becomes part\nof the ensemble. This is done by starting the joining server with an initial\nserver list that is not a legal configuration but (a) contains the joiner, and\n(b) gives the joiner enough information to find and connect to the current leader.\nA few safe options for doing this:",{"_5302":700,"_37698":619,"_38077":53884,"_5":22127,"_14695":53688,"_2209":53885},[],"The initial configuration of joiners consists of servers in the last committed\nconfiguration plus one or more joiners, where joiners are listed as observers.\nFor example, if servers D and E are added at the same time to (A, B, C) and C\nis being removed, D's initial config could be (A, B, C, D) or (A, B, C, D, E)\nwith D and E listed as observers. Note that listing joiners as observers does\nnot actually make them observers — it only prevents them from accidentally\nforming a quorum with other joiners. Instead, they contact the servers in the\ncurrent configuration and adopt the last committed configuration (A, B, C).\nConfiguration files of joiners are backed up and replaced automatically.\nAfter connecting to the current leader, joiners become non-voting followers until\nthe system is reconfigured and they are added to the ensemble.",{"_5302":701,"_37698":619,"_38077":53887,"_5":22127,"_14695":53688,"_2209":53888},[],"The initial configuration of each joiner consists of servers in the last committed\nconfiguration plus the joiner itself, listed as a participant. For example,\nto add a new server D to (A, B, C), start D with an initial config consisting of\n(A, B, C, D). If both D and E are added at the same time, D's initial config\ncould be (A, B, C, D) and E's could be (A, B, C, E). Never list more than one\njoiner as participant in the initial configuration (see warning below).",{"_5302":702,"_37698":619,"_38077":53890,"_5":22127,"_14695":53688,"_2209":53891},[],"Whether listing the joiner as an observer or participant, it is also fine not\nto list all current configuration servers, as long as the current leader is\nincluded. For example, when adding D, it could be started with just (A, D) if\nA is the current leader. However, this is more fragile since if A fails before\nD officially joins, D has no other servers to contact and the administrator\nmust restart D with another server list.",{"_5302":703,"_37698":619,"_38077":53893,"_5":22127,"_14695":53688,"_2209":53731},[],{"_5302":704,"_37698":619,"_38077":53895,"_5":22127,"_14695":53688,"_2209":53896},[],"Never specify more than one joining server in the same initial configuration\nas participants. The joining servers do not know they are joining an existing\nensemble — if multiple joiners are listed as participants they may form an\nindependent quorum, creating a split-brain situation and processing operations\nindependently from the main ensemble. It is safe to list multiple joiners as\nobservers in an initial config.",{"_5302":705,"_37698":619,"_38077":53898,"_5":22127,"_14695":53688,"_2209":53899},[],"If the configuration of existing servers changes or they become unavailable before\nthe joiner succeeds in connecting and learning about configuration changes, the\njoiner may need to be restarted with an updated configuration file.",{"_5302":706,"_37698":619,"_38077":53901,"_5":22127,"_14695":53688,"_2209":53902},[],"Finally, note that once connected to the leader, a joiner adopts the last committed\nconfiguration (in which it is absent), and the initial config is backed up before\nbeing rewritten. If the joiner restarts in this state it will not be able to boot\nsince it is absent from its configuration file — you will need to specify an initial\nconfiguration again.",{"_5302":707,"_37698":619,"_38077":53904,"_5":22127,"_14695":53688,"_2209":53905},[],"Modifying server parameters: Any of the ports or the role (participant/observer)\nof a server can be modified by adding it to the ensemble with different parameters.\nThis works in both incremental and bulk reconfiguration modes — it is not necessary\nto remove the server and re-add it; just specify the new parameters as if the server\nis not yet in the system. The server will detect the configuration change and perform\nthe necessary adjustments. See an example in Incremental mode\nand an exception in Additional comments.",{"_5302":708,"_37698":619,"_38077":53907,"_5":22127,"_14695":53688,"_2209":53908},[],"It is also possible to change the Quorum System used by the ensemble (for example,\nchange from a Majority Quorum System to a Hierarchical Quorum System on the fly).\nThis is only allowed using the bulk (non-incremental) reconfiguration mode. Incremental\nreconfiguration only works with the Majority Quorum System. Bulk reconfiguration\nworks with both Hierarchical and Majority Quorum Systems.",{"_5302":709,"_37698":619,"_38077":53910,"_5":22127,"_14695":53688,"_2209":53911},[],"Performance impact: There is practically no performance impact when removing a\nfollower, since it is not automatically shut down (the effect of removal is that the\nserver's votes are no longer counted). When adding a server, there is no leader change\nand no noticeable performance disruption. For details and graphs see Figures 6, 7 and\n8 in the paper.",{"_5302":710,"_37698":619,"_38077":53913,"_5":22127,"_14695":53688,"_2209":53914},[],"The most significant disruption occurs when a leader change is triggered, in the\nfollowing cases:",{"_5302":711,"_37698":619,"_38077":53916,"_5":22127,"_14695":53688,"_2209":53917},[],"Leader is removed from the ensemble.",{"_5302":712,"_37698":619,"_38077":53919,"_5":22127,"_14695":53688,"_2209":53920},[],"Leader's role is changed from participant to observer.",{"_5302":713,"_37698":619,"_38077":53922,"_5":22127,"_14695":53688,"_2209":53923},[],"The port used by the leader to send transactions to others (quorum port) is modified.",{"_5302":714,"_37698":619,"_38077":53925,"_5":22127,"_14695":53688,"_2209":53926},[],"In these cases a leader hand-off is performed where the old leader nominates a new\nleader. The resulting unavailability is usually shorter than when a leader crashes\nsince failure detection is unnecessary and electing a new leader can usually be\navoided during a hand-off (see Figures 6 and 8 in the paper).",{"_5302":715,"_37698":619,"_38077":53928,"_5":22127,"_14695":53688,"_2209":53929},[],"When the client port of a server is modified, existing client connections are not\ndropped. New connections to the server will use the new client port.",{"_5302":716,"_37698":619,"_38077":53931,"_5":22127,"_14695":53688,"_2209":53932},[],"Progress guarantees: Up to the invocation of the reconfig operation, a quorum of\nthe old configuration must be available and connected for ZooKeeper to make progress.\nOnce reconfig is invoked, a quorum of both the old and new configurations must be\navailable. The final transition happens once (a) the new configuration is activated and\n(b) all operations scheduled before the new configuration was activated by the leader\nare committed. Once both (a) and (b) have happened, only a quorum of the new\nconfiguration is required. Note that neither (a) nor (b) are visible to a client —\nwhen a reconfiguration operation commits it only means that an activation message was\nsent by the leader, not that a quorum of the new configuration has received it.\nTo ensure both (a) and (b) have occurred (for example, before safely shutting down\nremoved servers), invoke an update (set-data or another quorum operation, but not\nsync) and wait for it to commit.",{"_5302":717,"_37698":619,"_38077":53934,"_5":22127,"_14695":53692,"_2209":53935},[],"The incremental mode allows adding and removing servers from the current\nconfiguration. Multiple changes are allowed at once. For example:",{"_5302":718,"_37698":619,"_38077":53937,"_5":22127,"_14695":53692,"_2209":53938},[],"Both the add and remove options take comma-separated arguments (no spaces):",{"_5302":719,"_37698":619,"_38077":53940,"_5":22127,"_14695":53692,"_2209":53941},[],"The format of the server statement is exactly as described in\nSpecifying the Client Port and includes the client\nport. Note that 5= can be used as a shorthand for server.5=. In the example\nabove, if server 5 is already in the system with different ports or is not an\nobserver, it is updated — once the configuration commits it becomes an observer\nusing the new ports. This is an easy way to turn participants into observers and\nvice versa, or change any ports, without rebooting the server.",{"_5302":720,"_37698":619,"_38077":53943,"_5":22127,"_14695":53692,"_2209":53944},[],"ZooKeeper supports two types of Quorum Systems: the simple Majority system (where\nthe leader commits operations after receiving ACKs from a majority of voters) and a\nmore complex Hierarchical system (where votes of different servers have different\nweights and servers are divided into voting groups). Incremental reconfiguration is\ncurrently allowed only if the last proposed configuration uses a Majority Quorum\nSystem (BadArgumentsException is thrown otherwise).",{"_5302":721,"_37698":619,"_38077":53946,"_5":22127,"_14695":53692,"_2209":53947},[],"Incremental mode — examples using the Java API:",{"_5302":722,"_37698":619,"_38077":53949,"_5":22127,"_14695":53692,"_2209":53950},[],"There is also an asynchronous API, and an API accepting comma-separated Strings\ninstead of List. See\nsrc/java/main/org/apache/zookeeper/ZooKeeper.java.",{"_5302":723,"_37698":619,"_38077":53952,"_5":22127,"_14695":53696,"_2209":53953},[],"The non-incremental mode accepts a complete specification of the new dynamic\nconfiguration. The new configuration can be given inline or read from a file:",{"_5302":724,"_37698":619,"_38077":53955,"_5":22127,"_14695":53696,"_2209":53956},[],"newconfig.cfg is a dynamic config file — see Dynamic Configuration File.",{"_5302":725,"_37698":619,"_38077":53958,"_5":22127,"_14695":53696,"_2209":53959},[],"The new configuration may use a different Quorum System. For example, you may\nspecify a Hierarchical Quorum System even if the current ensemble uses a Majority\nQuorum System.",{"_5302":726,"_37698":619,"_38077":53961,"_5":22127,"_14695":53696,"_2209":53962},[],"Bulk mode — example using the Java API:",{"_5302":727,"_37698":619,"_38077":53964,"_5":22127,"_14695":53696,"_2209":53965},[],"There is also an asynchronous API, and an API accepting a comma-separated String\ncontaining the new members instead of List. See\nsrc/java/main/org/apache/zookeeper/ZooKeeper.java.",{"_5302":728,"_37698":619,"_38077":53967,"_5":22127,"_14695":53700,"_2209":53968},[],"Sometimes (especially in non-incremental mode) a proposed configuration depends\non what the client believes to be the current configuration, and should only be\napplied to that configuration. The reconfig succeeds only if the last\nconfiguration at the leader has the specified version:",{"_5302":729,"_37698":619,"_38077":53970,"_5":22127,"_14695":53700,"_2209":53971},[],"In the Java examples above, instead of -1 you can specify a configuration\nversion to condition the reconfiguration.",{"_5302":730,"_37698":619,"_38077":53973,"_5":22127,"_14695":53704,"_2209":53974},[],"In addition to normal ZooKeeper error conditions, a reconfiguration may fail for\nthe following reasons:",{"_5302":731,"_37698":619,"_38077":53976,"_5":22127,"_14695":53704,"_2209":53977},[],"Another reconfig is currently in progress (ReconfigInProgress).",{"_5302":732,"_37698":619,"_38077":53979,"_5":22127,"_14695":53704,"_2209":53980},[],"The proposed change would leave fewer than 2 participants and standalone mode\nis enabled, or, if standalone mode is disabled, fewer than 1 participant would\nremain (BadArgumentsException).",{"_5302":733,"_37698":619,"_38077":53982,"_5":22127,"_14695":53704,"_2209":53983},[],"No quorum of the new configuration was connected and up-to-date with the leader\nwhen reconfiguration processing began (NewConfigNoQuorum).",{"_5302":734,"_37698":619,"_38077":53985,"_5":22127,"_14695":53704,"_2209":53986},[],"-v x was specified but the latest configuration version y is not x\n(BadVersionException).",{"_5302":735,"_37698":619,"_38077":53988,"_5":22127,"_14695":53704,"_2209":53989},[],"An incremental reconfiguration was requested but the last configuration at the\nleader uses a Quorum System other than Majority (BadArgumentsException).",{"_5302":736,"_37698":619,"_38077":53991,"_5":22127,"_14695":53704,"_2209":53992},[],"Syntax error (BadArgumentsException).",{"_5302":737,"_37698":619,"_38077":53994,"_5":22127,"_14695":53704,"_2209":53995},[],"I/O exception when reading the configuration from a file (BadArgumentsException).",{"_5302":738,"_37698":619,"_38077":53997,"_5":22127,"_14695":53704,"_2209":53998},[],"Most of these are illustrated by test cases in ReconfigFailureCases.java.",{"_5302":739,"_37698":619,"_38077":54000,"_5":22127,"_14695":53708,"_2209":54001},[],"Liveness: To understand the difference between incremental and non-incremental\nreconfiguration, suppose client C1 adds server D while a different client C2 adds\nserver E. With non-incremental mode, each client first invokes config to find out\nthe current configuration, then locally creates a new server list by adding its own\nsuggested server. After both reconfigurations complete, only one of D or E will be\nadded (not both), depending on which request arrives second at the leader. The other\nclient can repeat the process until its change takes effect. This guarantees\nsystem-wide progress (for one client) but not for every client. C2 may use\nConditional reconfig to avoid blindly overwriting C1's\nconfiguration if C1's request arrived first.",{"_5302":740,"_37698":619,"_38077":54003,"_5":22127,"_14695":53708,"_2209":54004},[],"With incremental reconfiguration, both changes take effect as they are applied by\nthe leader one after the other to the current configuration. Since both clients are\nguaranteed to make progress, this method guarantees stronger liveness. In practice,\nmultiple concurrent reconfigurations are probably rare. Non-incremental reconfiguration\nis currently the only way to dynamically change the Quorum System. Incremental\nreconfiguration is currently only allowed with the Majority Quorum System.",{"_5302":741,"_37698":619,"_38077":54006,"_5":22127,"_14695":53708,"_2209":54007},[],"Changing an observer into a follower: Changing a voting server into an observer\nmay fail if fewer than the minimal allowed number of participants would remain (error 2).\nConverting an observer into a participant may sometimes fail for a more subtle reason.\nSuppose the current configuration is (A, B, C, D), where A is the leader, B and C are\nfollowers, and D is an observer, and B has crashed. If a reconfiguration makes D a\nfollower, it will fail with error 3 since a majority of voters in the new configuration\n(any 3 voters) must be connected and up-to-date with the leader. An observer cannot\nacknowledge the history prefix sent during reconfiguration and therefore does not count\ntowards the 3 required servers. In this case, a client can achieve the task with two\nreconfig commands: first remove D from the configuration, then add it back as a\nparticipant. During the intermediate state D is a non-voting follower and can ACK the\nstate transfer performed during the second reconfig command.",{"_5302":742,"_37698":619,"_38077":54009,"_5":22127,"_14695":53712,"_2209":54010},[],"When a ZooKeeper cluster is started and each client is given the same connection\nstring, the client randomly chooses a server to connect to, making the expected\nnumber of client connections per server equal across all servers. ZooKeeper preserves\nthis property when the set of servers changes through reconfiguration (see Sections\n4 and 5.1 in the paper).",{"_5302":743,"_37698":619,"_38077":54012,"_5":22127,"_14695":53712,"_2209":54013},[],"For the method to work, all clients must subscribe to configuration changes by setting\na watch on /zookeeper/config — either directly or through the getConfig API. When\nthe watch is triggered, the client should read the new configuration by invoking\nsync and getConfig, and if the configuration is indeed new, invoke updateServerList.\nTo avoid mass client migration at the same time, each client should sleep a random\nshort period before invoking updateServerList.",{"_5302":744,"_37698":619,"_38077":54015,"_5":22127,"_14695":53712,"_2209":54016},[],"A few examples can be found in StaticHostProviderTest.java and TestReconfig.cc.",{"_5302":745,"_37698":619,"_38077":54018,"_5":22127,"_14695":53712,"_2209":54019},[],"Example (simplified to illustrate the general idea, not a production recipe):",{"_5302":746,"_37698":746,"_5":19386,"_2209":54021,"_38009":54022,"_38077":54023,"_14695":746},"JMX",[51788,51789],[],{"_5302":747,"_37698":746,"_38077":54025,"_5":22127,"_14695":746,"_2209":54026},[],"How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.",{"_5302":748,"_37698":746,"_5":38006,"_38077":54028,"_14695":54029,"_2209":54030},[],"/docs/admin-ops/jmx#starting-zookeeper-with-jmx-enabled","Starting ZooKeeper with JMX Enabled",{"_5302":749,"_37698":746,"_5":38006,"_38077":54032,"_14695":54033,"_2209":54034},[],"/docs/admin-ops/jmx#running-a-jmx-console","Running a JMX Console",{"_5302":750,"_37698":746,"_5":38006,"_38077":54036,"_14695":54037,"_2209":54038},[],"/docs/admin-ops/jmx#logback-mbeans-new-in-380","Logback MBeans (new in 3.8.0)",{"_5302":751,"_37698":746,"_5":38006,"_38077":54040,"_14695":54041,"_2209":54042},[],"/docs/admin-ops/jmx#log4j-mbeans-deprecated","Log4j MBeans (deprecated)",{"_5302":752,"_37698":746,"_5":38006,"_38077":54044,"_14695":54045,"_2209":54046},[],"/docs/admin-ops/jmx#zookeeper-mbean-reference","ZooKeeper MBean Reference",{"_5302":753,"_37698":746,"_5":38006,"_38077":54048,"_14695":54049,"_2209":54050},[],"/docs/admin-ops/jmx#replicated-ensemble-mbeans","Replicated Ensemble MBeans",{"_5302":754,"_37698":746,"_5":38006,"_38077":54052,"_14695":54053,"_2209":54054},[],"/docs/admin-ops/jmx#standalone-server-mbeans","Standalone Server MBeans",{"_5302":755,"_37698":746,"_38077":54056,"_5":22127,"_14695":746,"_2209":54057},[],"Apache ZooKeeper has extensive support for JMX, allowing you\nto view and manage a ZooKeeper serving ensemble.",{"_5302":756,"_37698":746,"_38077":54059,"_5":22127,"_14695":746,"_2209":54060},[],"This document assumes that you have basic knowledge of\nJMX. See the Sun JMX Technology page to get started with JMX.",{"_5302":757,"_37698":746,"_38077":54062,"_5":22127,"_14695":746,"_2209":54063},[],"See the JMX Management Guide for details on setting up local and\nremote management of VM instances. By default the included\nzkServer.sh supports only local management —\nreview the linked document to enable support for remote management\n(beyond the scope of this document).",{"_5302":758,"_37698":746,"_38077":54065,"_5":22127,"_14695":54029,"_2209":54066},[],"The class org.apache.zookeeper.server.quorum.QuorumPeerMain\nwill start a JMX manageable ZooKeeper server. This class\nregisters the proper MBeans during initialization to support JMX\nmonitoring and management of the instance. See bin/zkServer.sh for one\nexample of starting ZooKeeper using QuorumPeerMain.",{"_5302":759,"_37698":746,"_38077":54068,"_5":22127,"_14695":54033,"_2209":54069},[],"There are a number of JMX consoles available which can connect\nto the running server. For this example we will use Sun's jconsole.",{"_5302":760,"_37698":746,"_38077":54071,"_5":22127,"_14695":54033,"_2209":54072},[],"The Java JDK ships with a simple JMX console\nnamed jconsole\nwhich can be used to connect to ZooKeeper and inspect a running\nserver. Once you've started ZooKeeper using QuorumPeerMain,\nstart jconsole, which typically resides in JDK_HOME/bin/jconsole.",{"_5302":761,"_37698":746,"_38077":54074,"_5":22127,"_14695":54033,"_2209":54075},[],"When the \"new connection\" window is displayed, either connect\nto the local process (if jconsole was started on the same host as the server) or\nuse the remote process connection.",{"_5302":762,"_37698":746,"_38077":54077,"_5":22127,"_14695":54033,"_2209":54078},[],"By default the \"overview\" tab for the VM is displayed. Select\nthe \"MBeans\" tab.",{"_5302":763,"_37698":746,"_38077":54080,"_5":22127,"_14695":54033,"_2209":54081},[],"You should now see org.apache.ZooKeeperService\non the left hand side. Expand this item and depending on how you've\nstarted the server you will be able to monitor and manage various\nservice related features.",{"_5302":764,"_37698":746,"_38077":54083,"_5":22127,"_14695":54037,"_2209":54084},[],"Logback is the default logging backend of ZooKeeper since version 3.8.0.\nIt can be configured to register JMX MBeans by adding to logback.xml. More\ninformation can be found on Logback's website.",{"_5302":765,"_37698":746,"_38077":54086,"_5":22127,"_14695":54041,"_2209":54087},[],"ZooKeeper will register log4j MBeans if log4j1 is configured as the logging backend of SLF4J.\nIn the same section along the left hand side you will see\n\"log4j\". Expand that to manage log4j through JMX. Of particular\ninterest is the ability to dynamically change the logging levels\nused by editing the appender and root thresholds. Log4j MBean\nregistration can be disabled by passing\n-Dzookeeper.jmx.log4j.disable=true to the JVM\nwhen starting ZooKeeper. In addition, we can specify the name of\nthe MBean with the -Dzookeeper.jmx.log4j.mbean=log4j:hierarchy=default\noption, in case we need to upgrade an integrated system\nusing the old MBean name (log4j:hierarchy = default).",{"_5302":766,"_37698":746,"_38077":54089,"_5":22127,"_14695":54049,"_2209":54090},[],"This table details JMX for a server participating in a\nreplicated ZooKeeper ensemble (i.e. not standalone). This is the\ntypical case for a production environment.",{"_5302":767,"_37698":746,"_38077":54092,"_5":22127,"_14695":54049,"_2209":54093},[],"MBean",{"_5302":768,"_37698":746,"_38077":54095,"_5":22127,"_14695":54049,"_2209":54096},[],"MBean Object Name",{"_5302":769,"_37698":746,"_38077":54098,"_5":22127,"_14695":54049,"_2209":54099},[],"Description",{"_5302":770,"_37698":746,"_38077":54101,"_5":22127,"_14695":54049,"_2209":54102},[],"Quorum",{"_5302":771,"_37698":746,"_38077":54104,"_5":22127,"_14695":54049,"_2209":54105},[],"ReplicatedServer_id<#>",{"_5302":772,"_37698":746,"_38077":54107,"_5":22127,"_14695":54049,"_2209":54108},[],"Represents the Quorum, or Ensemble — parent of all cluster members. Note that the object name includes the \"myid\" of the server (name suffix) that your JMX agent has connected to.",{"_5302":773,"_37698":746,"_38077":54110,"_5":22127,"_14695":54049,"_2209":54111},[],"LocalPeer/RemotePeer",{"_5302":774,"_37698":746,"_38077":54113,"_5":22127,"_14695":54049,"_2209":54114},[],"replica.<#>",{"_5302":775,"_37698":746,"_38077":54116,"_5":22127,"_14695":54049,"_2209":54117},[],"Represents a local or remote peer (i.e. server participating in the ensemble). Note that the object name includes the \"myid\" of the server (name suffix).",{"_5302":776,"_37698":746,"_38077":54119,"_5":22127,"_14695":54049,"_2209":54120},[],"LeaderElection",{"_5302":777,"_37698":746,"_38077":54122,"_5":22127,"_14695":54049,"_2209":54120},[],{"_5302":778,"_37698":746,"_38077":54124,"_5":22127,"_14695":54049,"_2209":54125},[],"Represents a ZooKeeper cluster leader election which is in progress. Provides information about the election, such as when it started.",{"_5302":779,"_37698":746,"_38077":54127,"_5":22127,"_14695":54049,"_2209":54128},[],"Leader",{"_5302":780,"_37698":746,"_38077":54130,"_5":22127,"_14695":54049,"_2209":54128},[],{"_5302":781,"_37698":746,"_38077":54132,"_5":22127,"_14695":54049,"_2209":54133},[],"Indicates that the parent replica is the leader and provides attributes/operations for that server. Note that Leader is a subclass of ZooKeeperServer, so it provides all of the information normally associated with a ZooKeeperServer node.",{"_5302":782,"_37698":746,"_38077":54135,"_5":22127,"_14695":54049,"_2209":54136},[],"Follower",{"_5302":783,"_37698":746,"_38077":54138,"_5":22127,"_14695":54049,"_2209":54136},[],{"_5302":784,"_37698":746,"_38077":54140,"_5":22127,"_14695":54049,"_2209":54141},[],"Indicates that the parent replica is a follower and provides attributes/operations for that server. Note that Follower is a subclass of ZooKeeperServer, so it provides all of the information normally associated with a ZooKeeperServer node.",{"_5302":785,"_37698":746,"_38077":54143,"_5":22127,"_14695":54049,"_2209":54144},[],"DataTree",{"_5302":786,"_37698":746,"_38077":54146,"_5":22127,"_14695":54049,"_2209":54147},[],"InMemoryDataTree",{"_5302":787,"_37698":746,"_38077":54149,"_5":22127,"_14695":54049,"_2209":54150},[],"Statistics on the in-memory znode database, also operations to access finer (and more computationally intensive) statistics on the data (such as ephemeral count). InMemoryDataTrees are children of ZooKeeperServer nodes.",{"_5302":788,"_37698":746,"_38077":54152,"_5":22127,"_14695":54049,"_2209":54153},[],"ServerCnxn",{"_5302":789,"_37698":746,"_38077":54155,"_5":22127,"_14695":54049,"_2209":54156},[],"",{"_5302":790,"_37698":746,"_38077":54158,"_5":22127,"_14695":54049,"_2209":54159},[],"Statistics on each client connection, also operations on those connections (such as termination). Note the object name is the session id of the connection in hex form.",{"_5302":791,"_37698":746,"_38077":54161,"_5":22127,"_14695":54053,"_2209":54162},[],"This table details JMX for a standalone server. Standalone is typically\nonly used in development situations.",{"_5302":792,"_37698":746,"_38077":54164,"_5":22127,"_14695":54053,"_2209":54093},[],{"_5302":793,"_37698":746,"_38077":54166,"_5":22127,"_14695":54053,"_2209":54096},[],{"_5302":794,"_37698":746,"_38077":54168,"_5":22127,"_14695":54053,"_2209":54099},[],{"_5302":795,"_37698":746,"_38077":54170,"_5":22127,"_14695":54053,"_2209":54171},[],"ZooKeeperServer",{"_5302":796,"_37698":746,"_38077":54173,"_5":22127,"_14695":54053,"_2209":54174},[],"StandaloneServer_port<#>",{"_5302":797,"_37698":746,"_38077":54176,"_5":22127,"_14695":54053,"_2209":54177},[],"Statistics on the running server, also operations to reset these attributes. Note that the object name includes the client port of the server (name suffix).",{"_5302":798,"_37698":746,"_38077":54179,"_5":22127,"_14695":54053,"_2209":54144},[],{"_5302":799,"_37698":746,"_38077":54181,"_5":22127,"_14695":54053,"_2209":54147},[],{"_5302":800,"_37698":746,"_38077":54183,"_5":22127,"_14695":54053,"_2209":54184},[],"Statistics on the in-memory znode database, also operations to access finer (and more computationally intensive) statistics on the data (such as ephemeral count).",{"_5302":801,"_37698":746,"_38077":54186,"_5":22127,"_14695":54053,"_2209":54153},[],{"_5302":802,"_37698":746,"_38077":54188,"_5":22127,"_14695":54053,"_2209":54156},[],{"_5302":803,"_37698":746,"_38077":54190,"_5":22127,"_14695":54053,"_2209":54159},[],{"_5302":804,"_37698":804,"_5":19386,"_2209":54192,"_38009":54193,"_38077":54194,"_14695":804},"Monitor & Audit Logs",[51788,51789],[],{"_5302":805,"_37698":804,"_38077":54196,"_5":22127,"_14695":804,"_2209":54197},[],"How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.",{"_5302":806,"_37698":804,"_5":38006,"_38077":54199,"_14695":54200,"_2209":54201},[],"/docs/admin-ops/monitor-and-audit-logs#new-metrics-system","New Metrics System",{"_5302":807,"_37698":804,"_5":38006,"_38077":54203,"_14695":54204,"_2209":54205},[],"/docs/admin-ops/monitor-and-audit-logs#metrics","Metrics",{"_5302":808,"_37698":804,"_5":38006,"_38077":54207,"_14695":54208,"_2209":54209},[],"/docs/admin-ops/monitor-and-audit-logs#configuring-the-metrics-provider","Configuring the Metrics Provider",{"_5302":809,"_37698":804,"_5":38006,"_38077":54211,"_14695":54212,"_2209":54213},[],"/docs/admin-ops/monitor-and-audit-logs#enabling-https-for-prometheus-metrics","Enabling HTTPS for Prometheus Metrics",{"_5302":810,"_37698":804,"_5":38006,"_38077":54215,"_14695":54216,"_2209":54217},[],"/docs/admin-ops/monitor-and-audit-logs#prometheus","Prometheus",{"_5302":811,"_37698":804,"_5":38006,"_38077":54219,"_14695":54220,"_2209":54221},[],"/docs/admin-ops/monitor-and-audit-logs#alerting-with-prometheus","Alerting with Prometheus",{"_5302":812,"_37698":804,"_5":38006,"_38077":54223,"_14695":54224,"_2209":54225},[],"/docs/admin-ops/monitor-and-audit-logs#grafana","Grafana",{"_5302":813,"_37698":804,"_5":38006,"_38077":54227,"_14695":54228,"_2209":54229},[],"/docs/admin-ops/monitor-and-audit-logs#influxdb","InfluxDB",{"_5302":814,"_37698":804,"_5":38006,"_38077":54231,"_14695":54232,"_2209":54021},[],"/docs/admin-ops/monitor-and-audit-logs#jmx",{"_5302":815,"_37698":804,"_5":38006,"_38077":54234,"_14695":54235,"_2209":54236},[],"/docs/admin-ops/monitor-and-audit-logs#four-letter-words","Four Letter Words",{"_5302":816,"_37698":804,"_5":38006,"_38077":54238,"_14695":54239,"_2209":54240},[],"/docs/admin-ops/monitor-and-audit-logs#audit-logs","Audit Logs",{"_5302":817,"_37698":804,"_5":38006,"_38077":54242,"_14695":54243,"_2209":54244},[],"/docs/admin-ops/monitor-and-audit-logs#audit-log-configuration","Audit Log Configuration",{"_5302":818,"_37698":804,"_5":38006,"_38077":54246,"_14695":54247,"_2209":54248},[],"/docs/admin-ops/monitor-and-audit-logs#who-is-taken-as-user-in-audit-logs","Who is Taken as User in Audit Logs?",{"_5302":819,"_37698":804,"_38077":54250,"_5":22127,"_14695":54200,"_2209":54251},[],"The New Metrics System has been available since 3.6.0. It provides rich metrics covering\nznodes, network, disk, quorum, leader election, clients, security, failures, watches/sessions,\nrequest processors, and more.",{"_5302":820,"_37698":804,"_38077":54253,"_5":22127,"_14695":54204,"_2209":54254},[],"All available metrics are defined in ServerMetrics.java.",{"_5302":821,"_37698":804,"_38077":54256,"_5":22127,"_14695":54208,"_2209":54257},[],"Enable the Prometheus MetricsProvider by adding the following to zoo.cfg:",{"_5302":822,"_37698":804,"_38077":54259,"_5":22127,"_14695":54208,"_2209":54260},[],"The HTTP port for Prometheus metrics scraping can be configured with (default is 7000):",{"_5302":823,"_37698":804,"_38077":54262,"_5":22127,"_14695":54212,"_2209":54263},[],"ZooKeeper supports SSL for the Prometheus metrics endpoint to provide secure data transmission.",{"_5302":824,"_37698":804,"_38077":54265,"_5":22127,"_14695":54212,"_2209":54266},[],"Define the HTTPS port:",{"_5302":825,"_37698":804,"_38077":54268,"_5":22127,"_14695":54212,"_2209":54269},[],"Configure the SSL key store (holds the server's private key and certificate):",{"_5302":826,"_37698":804,"_38077":54271,"_5":22127,"_14695":54212,"_2209":54272},[],"Configure the SSL trust store (used to verify client certificates):",{"_5302":827,"_37698":804,"_38077":54274,"_5":22127,"_14695":54212,"_2209":52329},[],{"_5302":828,"_37698":804,"_38077":54276,"_5":22127,"_14695":54212,"_2209":54277},[],"HTTP and HTTPS can be enabled simultaneously by defining both ports:",{"_5302":829,"_37698":804,"_38077":54279,"_5":22127,"_14695":54216,"_2209":54280},[],"Prometheus is the easiest way to ingest and record ZooKeeper metrics.",{"_5302":830,"_37698":804,"_38077":54282,"_5":22127,"_14695":54216,"_2209":54283},[],"Install Prometheus from the official download page.",{"_5302":831,"_37698":804,"_38077":54285,"_5":22127,"_14695":54216,"_2209":54286},[],"Configure the scraper to target your ZooKeeper cluster endpoints:",{"_5302":832,"_37698":804,"_38077":54288,"_5":22127,"_14695":54216,"_2209":54289},[],"Start Prometheus:",{"_5302":833,"_37698":804,"_38077":54291,"_5":22127,"_14695":54216,"_2209":54292},[],"Prometheus will now scrape ZooKeeper metrics every 10 seconds.",{"_5302":834,"_37698":804,"_38077":54294,"_5":22127,"_14695":54220,"_2209":54295},[],"Read the Prometheus alerting documentation\nfor alerting principles, and use Prometheus Alertmanager\nto receive alert notifications via email or webhook.",{"_5302":835,"_37698":804,"_38077":54297,"_5":22127,"_14695":54220,"_2209":54298},[],"The following is a reference alerting rules file for common ZooKeeper metrics. Adjust\nthresholds to match your environment.",{"_5302":836,"_37698":804,"_38077":54300,"_5":22127,"_14695":54220,"_2209":54301},[],"Validate the rules file with:",{"_5302":837,"_37698":804,"_38077":54303,"_5":22127,"_14695":54220,"_2209":54304},[],"rules/zk.yml:",{"_5302":838,"_37698":804,"_38077":54306,"_5":22127,"_14695":54224,"_2209":54307},[],"Grafana has built-in Prometheus support. Add a Prometheus data source with the following settings:",{"_5302":839,"_37698":804,"_38077":54309,"_5":22127,"_14695":54224,"_2209":54310},[],"Download and import the default ZooKeeper dashboard template\nand customize it to your needs. If you have improvements to share, send them to dev@zookeeper.apache.org.",{"_5302":840,"_37698":804,"_38077":54312,"_5":22127,"_14695":54228,"_2209":54313},[],"InfluxDB is an open source time series database often used to store ZooKeeper metrics.\nYou can download the open source version or\ncreate a free cloud account. In either case,\nconfigure the Apache ZooKeeper Telegraf plugin\nto collect and store metrics from your ZooKeeper clusters. There is also an\nApache ZooKeeper InfluxDB template\nthat includes Telegraf configuration and a pre-built dashboard to get you started quickly.",{"_5302":841,"_37698":804,"_38077":54315,"_5":22127,"_14695":54232,"_2209":54316},[],"See the JMX guide for details.",{"_5302":842,"_37698":804,"_38077":54318,"_5":22127,"_14695":54235,"_2209":54319},[],"See the Four Letter Words section in the Administrator's Guide.",{"_5302":843,"_37698":804,"_38077":54321,"_5":22127,"_14695":54239,"_2209":54322},[],"Apache ZooKeeper supports audit logging from version 3.6.0. By default audit logs are disabled.\nTo enable them, set audit.enable=true in conf/zoo.cfg. Audit logs are not written on every\nZooKeeper server — they are written only on the servers to which a client is connected, as\nillustrated below.",{"_5302":844,"_37698":804,"_38077":54324,"_5":22127,"_14695":54239,"_2209":54325},[],"The audit log captures detailed information for audited operations, written as key=value pairs:",{"_5302":845,"_37698":804,"_38077":54327,"_5":22127,"_14695":54239,"_2209":54328},[],"Key",{"_5302":846,"_37698":804,"_38077":54330,"_5":22127,"_14695":54239,"_2209":54331},[],"Value",{"_5302":847,"_37698":804,"_38077":54333,"_5":22127,"_14695":54239,"_2209":26394},[],{"_5302":848,"_37698":804,"_38077":54335,"_5":22127,"_14695":54239,"_2209":54336},[],"Client session ID.",{"_5302":849,"_37698":804,"_38077":54338,"_5":22127,"_14695":54239,"_2209":25032},[],{"_5302":850,"_37698":804,"_38077":54340,"_5":22127,"_14695":54239,"_2209":54341},[],"Comma-separated list of users associated with the client session. See Who is taken as user in audit logs?",{"_5302":851,"_37698":804,"_38077":54343,"_5":22127,"_14695":54239,"_2209":7459},[],{"_5302":852,"_37698":804,"_38077":54345,"_5":22127,"_14695":54239,"_2209":54346},[],"Client IP address.",{"_5302":853,"_37698":804,"_38077":54348,"_5":22127,"_14695":54239,"_2209":5775},[],{"_5302":854,"_37698":804,"_38077":54350,"_5":22127,"_14695":54239,"_2209":54351},[],"The audited operation. Possible values: serverStart, serverStop, create, delete, setData, setAcl, multiOperation, reconfig, ephemeralZNodeDeleteOnSessionClose.",{"_5302":855,"_37698":804,"_38077":54353,"_5":22127,"_14695":54239,"_2209":12923},[],{"_5302":856,"_37698":804,"_38077":54355,"_5":22127,"_14695":54239,"_2209":54356},[],"Path of the znode.",{"_5302":857,"_37698":804,"_38077":54358,"_5":22127,"_14695":54239,"_2209":54359},[],"znode type",{"_5302":858,"_37698":804,"_38077":54361,"_5":22127,"_14695":54239,"_2209":54362},[],"Type of the znode (only for create operations).",{"_5302":859,"_37698":804,"_38077":54364,"_5":22127,"_14695":54239,"_2209":5180},[],{"_5302":860,"_37698":804,"_38077":54366,"_5":22127,"_14695":54239,"_2209":54367},[],"String representation of the znode ACL, e.g. cdrwa (create, delete, read, write, admin). Only logged for setAcl.",{"_5302":861,"_37698":804,"_38077":54369,"_5":22127,"_14695":54239,"_2209":5242},[],{"_5302":862,"_37698":804,"_38077":54371,"_5":22127,"_14695":54239,"_2209":54372},[],"Outcome of the operation: success, failure, or invoked. The invoked result is used for serverStop because the stop is logged before the server has confirmed it actually stopped.",{"_5302":863,"_37698":804,"_38077":54374,"_5":22127,"_14695":54239,"_2209":54375},[],"Sample audit logs for all operations, where the client connected from 192.168.1.2, client\nprincipal is zkcli@HADOOP.COM, and server principal is zookeeper/192.168.1.3@HADOOP.COM:",{"_5302":864,"_37698":804,"_38077":54377,"_5":22127,"_14695":54243,"_2209":54378},[],"Audit logging is performed using Logback. The following is the default logback configuration\nblock in conf/logback.xml (the entire block is commented out by default — uncomment it to\nactivate audit logging):",{"_5302":865,"_37698":804,"_38077":54380,"_5":22127,"_14695":54243,"_2209":54381},[],"Modify this configuration to customize the audit log filename, number of backup files,\nmaximum file size, or to use a custom audit logger.",{"_5302":866,"_37698":804,"_38077":54383,"_5":22127,"_14695":54247,"_2209":54384},[],"There are four built-in authentication providers:",{"_5302":867,"_37698":804,"_38077":54386,"_5":22127,"_14695":54247,"_2209":54387},[],"IPAuthenticationProvider — the authenticated IP address is used as the user.",{"_5302":868,"_37698":804,"_38077":54389,"_5":22127,"_14695":54247,"_2209":54390},[],"SASLAuthenticationProvider — the client principal is used as the user.",{"_5302":869,"_37698":804,"_38077":54392,"_5":22127,"_14695":54247,"_2209":54393},[],"X509AuthenticationProvider — the client certificate is used as the user.",{"_5302":870,"_37698":804,"_38077":54395,"_5":22127,"_14695":54247,"_2209":54396},[],"DigestAuthenticationProvider — the authenticated username is used as the user.",{"_5302":871,"_37698":804,"_38077":54398,"_5":22127,"_14695":54247,"_2209":54399},[],"Custom authentication providers can override org.apache.zookeeper.server.auth.AuthenticationProvider.getUserName(String id)\nto provide a user name. If a custom provider does not override this method, the value stored in\norg.apache.zookeeper.data.Id.id is used as the user. Generally only the user name is stored in\nthis field, but it is up to the custom provider what they store there.",{"_5302":872,"_37698":804,"_38077":54401,"_5":22127,"_14695":54247,"_2209":54402},[],"Not all ZooKeeper operations are initiated by clients — some are performed by the server itself.\nFor example, when a client session closes, any ephemeral znodes it owned are deleted by the server\ndirectly. These are called system operations. For system operations, the user associated with the\nZooKeeper server principal is logged as the user. For example, if the server principal is\nzookeeper/hadoop.hadoop.com@HADOOP.COM, it becomes the system user:",{"_5302":873,"_37698":804,"_38077":54404,"_5":22127,"_14695":54247,"_2209":54405},[],"If there is no user associated with the ZooKeeper server, the OS user who started the server\nprocess is used. For example, if the server was started by root:",{"_5302":874,"_37698":804,"_38077":54407,"_5":22127,"_14695":54247,"_2209":54408},[],"A single client can attach multiple authentication schemes to a session. In that case all\nauthenticated identities are taken as the user and presented as a comma-separated list. For\nexample, if a client is authenticated with principal zkcli@HADOOP.COM and IP 127.0.0.1,\nthe create operation audit log will be:",{"_5302":875,"_37698":875,"_5":19386,"_2209":54410,"_38009":54411,"_38077":54412,"_14695":875},"Observers",[51788,51789],[],{"_5302":876,"_37698":875,"_38077":54414,"_5":22127,"_14695":875,"_2209":54415},[],"How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.",{"_5302":877,"_37698":875,"_5":38006,"_38077":54417,"_14695":54418,"_2209":54419},[],"/docs/admin-ops/observers-guide#how-to-use-observers","How to Use Observers",{"_5302":878,"_37698":875,"_5":38006,"_38077":54421,"_14695":54422,"_2209":54423},[],"/docs/admin-ops/observers-guide#how-to-use-observer-masters","How to Use Observer Masters",{"_5302":879,"_37698":875,"_5":38006,"_38077":54425,"_14695":54426,"_2209":54427},[],"/docs/admin-ops/observers-guide#example-use-cases","Example Use Cases",{"_5302":880,"_37698":875,"_38077":54429,"_5":22127,"_14695":875,"_2209":54430},[],"Although ZooKeeper performs very well by having clients connect directly\nto voting members of the ensemble, this architecture makes it hard to\nscale out to huge numbers of clients. The problem is that as we add more\nvoting members, write performance drops. This is because a write operation\nrequires the agreement of at least half the nodes in an ensemble, so the\ncost of a vote grows significantly as more voters are added.",{"_5302":881,"_37698":875,"_38077":54432,"_5":22127,"_14695":875,"_2209":54433},[],"We have introduced a new type of ZooKeeper node called an Observer which\nhelps address this problem and further improves ZooKeeper's scalability. Observers\nare non-voting members of an ensemble which only hear the results of votes, not the\nagreement protocol that leads up to them. Other than this simple distinction,\nObservers function exactly the same as Followers — clients may connect to\nthem and send read and write requests to them. Observers forward these\nrequests to the Leader like Followers do, but they then simply wait to\nhear the result of the vote. Because of this, we can increase the number\nof Observers as much as we like without harming vote performance.",{"_5302":882,"_37698":875,"_38077":54435,"_5":22127,"_14695":875,"_2209":54436},[],"Observers have other advantages. Because they do not vote, they are not a\ncritical part of the ZooKeeper ensemble — they can fail or be\ndisconnected from the cluster without harming the availability of the\nZooKeeper service. The benefit to the user is that Observers may connect\nover less reliable network links than Followers. In fact, Observers may be\nused to talk to a ZooKeeper server from another data center. Clients of\nan Observer will see fast reads, as all reads are served locally, and\nwrites result in minimal network traffic since the number of messages\nrequired without the vote protocol is smaller.",{"_5302":883,"_37698":875,"_38077":54438,"_5":22127,"_14695":54418,"_2209":54439},[],"Setting up a ZooKeeper ensemble that uses Observers requires just two\nchanges to your config files.",{"_5302":884,"_37698":875,"_38077":54441,"_5":22127,"_14695":54418,"_2209":54442},[],"First, in the config file of every node that is to be an Observer, add:",{"_5302":885,"_37698":875,"_38077":54444,"_5":22127,"_14695":54418,"_2209":54445},[],"This tells ZooKeeper that the server is to be an Observer.",{"_5302":886,"_37698":875,"_38077":54447,"_5":22127,"_14695":54418,"_2209":54448},[],"Second, in every server config file, append :observer to the server\ndefinition line of each Observer. For example:",{"_5302":887,"_37698":875,"_38077":54450,"_5":22127,"_14695":54418,"_2209":54451},[],"This tells every other server that server.1 is an Observer and that they\nshould not expect it to vote. This is all the configuration needed to add\nan Observer to your ZooKeeper cluster. You can then connect to it as you\nwould an ordinary Follower:",{"_5302":888,"_37698":875,"_38077":54453,"_5":22127,"_14695":54418,"_2209":54454},[],"where localhost:2181 is the hostname and port of the Observer as\nspecified in every config file. You should see a command line prompt\nthrough which you can issue commands like ls to query the ZooKeeper service.",{"_5302":889,"_37698":875,"_38077":54456,"_5":22127,"_14695":54422,"_2209":54457},[],"Observers function simply as non-voting members of the ensemble, sharing\nthe Learner interface with Followers and holding only a slightly different\ninternal pipeline. Both maintain connections along the quorum port with the\nLeader by which they learn of all new proposals on the ensemble.",{"_5302":890,"_37698":875,"_38077":54459,"_5":22127,"_14695":54422,"_2209":54460},[],"By default, Observers connect to the Leader along its quorum port to learn of\nnew proposals. There are benefits to allowing Observers to connect to\nFollowers instead as a means of plugging into the commit stream. This shifts\nthe burden of supporting Observers off the Leader, allowing it to focus on\ncoordinating the commit of writes. The result is better performance when the\nLeader is under high load — particularly high network load such as after a\nleader election when many Learners need to sync. It also reduces the total\nnumber of network connections maintained on the Leader when there are many\nObservers. Activating this feature allows the overall number of Observers to\nscale into the hundreds, and improves Observer availability since a large\nnumber of Observers finish syncing and start serving client traffic faster.",{"_5302":891,"_37698":875,"_38077":54462,"_5":22127,"_14695":54422,"_2209":54463},[],"This feature is activated by adding the following entry to the server config\nfile. It instructs Observers to connect to peers (Leaders and Followers) on\nthe specified port, and instructs Followers to create an ObserverMaster thread\nto listen and serve on that port:",{"_5302":892,"_37698":875,"_38077":54465,"_5":22127,"_14695":54426,"_2209":54466},[],"Wherever you wish to scale the number of clients of your ZooKeeper ensemble,\nor where you wish to insulate the critical part of an ensemble from the load\nof dealing with client requests, Observers are a good architectural choice.\nTwo example use cases are:",{"_5302":893,"_37698":875,"_38077":54468,"_5":22127,"_14695":54426,"_2209":54469},[],"Datacenter bridge: Forming a ZooKeeper ensemble between two datacenters is\nproblematic because high variance in latency between datacenters can lead to\nfalse-positive failure detection and partitioning. However, if the ensemble runs\nentirely in one datacenter and the second datacenter runs only Observers,\npartitions are not problematic — the ensemble remains connected. Clients of the\nObservers may still see and issue proposals.",{"_5302":894,"_37698":875,"_38077":54471,"_5":22127,"_14695":54426,"_2209":54472},[],"Message bus integration: Some use cases call for ZooKeeper as a component of\na persistent reliable message bus. Observers provide a natural integration point:\na plug-in mechanism can attach the stream of proposals an Observer sees to a\npublish-subscribe system, without loading the core ensemble.",{"_5302":895,"_37698":895,"_5":19386,"_2209":54474,"_38009":54475,"_38077":54476,"_14695":895},"Quorums",[51788,51789],[],{"_5302":896,"_37698":895,"_38077":54478,"_5":22127,"_14695":895,"_2209":54479},[],"How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.",{"_5302":897,"_37698":895,"_5":38006,"_38077":54481,"_14695":54482,"_2209":54483},[],"/docs/admin-ops/quorums#hierarchical-quorums","Hierarchical Quorums",{"_5302":898,"_37698":895,"_5":38006,"_38077":54485,"_14695":54486,"_2209":54487},[],"/docs/admin-ops/quorums#oracle-quorum","Oracle Quorum",{"_5302":899,"_37698":895,"_5":38006,"_38077":54489,"_14695":54490,"_2209":54491},[],"/docs/admin-ops/quorums#the-implementation-of-the-oracle","The Implementation of the Oracle",{"_5302":900,"_37698":895,"_5":38006,"_38077":54493,"_14695":54494,"_2209":54495},[],"/docs/admin-ops/quorums#deployment-contexts","Deployment Contexts",{"_5302":901,"_37698":895,"_5":38006,"_38077":54497,"_14695":54498,"_2209":54499},[],"/docs/admin-ops/quorums#configuring-the-oracle-in-zoocfg","Configuring the Oracle in zoo.cfg",{"_5302":902,"_37698":895,"_5":38006,"_38077":54501,"_14695":54502,"_2209":54503},[],"/docs/admin-ops/quorums#example-zoocfg","Example zoo.cfg",{"_5302":903,"_37698":895,"_5":38006,"_38077":54505,"_14695":54506,"_2209":54507},[],"/docs/admin-ops/quorums#behavior-after-enabling-the-oracle","Behavior After Enabling the Oracle",{"_5302":904,"_37698":895,"_5":38006,"_38077":54509,"_14695":54510,"_2209":54511},[],"/docs/admin-ops/quorums#considerations-when-using-the-oracle","Considerations When Using the Oracle",{"_5302":905,"_37698":895,"_5":38006,"_38077":54513,"_14695":54514,"_2209":54515},[],"/docs/admin-ops/quorums#liveness-issue","Liveness Issue",{"_5302":906,"_37698":895,"_5":38006,"_38077":54517,"_14695":54518,"_2209":54519},[],"/docs/admin-ops/quorums#safety-issue","Safety Issue",{"_5302":907,"_37698":895,"_5":38006,"_38077":54521,"_14695":54522,"_2209":54523},[],"/docs/admin-ops/quorums#examples-of-failure-detector-implementations","Examples of Failure Detector Implementations",{"_5302":908,"_37698":895,"_5":38006,"_38077":54525,"_14695":54526,"_2209":54527},[],"/docs/admin-ops/quorums#hardware-based-implementation","Hardware-based Implementation",{"_5302":909,"_37698":895,"_5":38006,"_38077":54529,"_14695":54530,"_2209":54531},[],"/docs/admin-ops/quorums#software-based-implementation","Software-based Implementation",{"_5302":910,"_37698":895,"_5":38006,"_38077":54533,"_14695":54534,"_2209":54535},[],"/docs/admin-ops/quorums#using-a-usb-device-as-the-oracle","Using a USB Device as the Oracle",{"_5302":911,"_37698":895,"_5":38006,"_38077":54537,"_14695":54538,"_2209":54539},[],"/docs/admin-ops/quorums#reference","Reference",{"_5302":912,"_37698":895,"_38077":54541,"_5":22127,"_14695":54482,"_2209":54542},[],"This document gives an example of how to use hierarchical quorums. The basic idea is\nvery simple. First, we split servers into groups, and add a line for each group listing\nthe servers that form this group. Next we have to assign a weight to each server.",{"_5302":913,"_37698":895,"_38077":54544,"_5":22127,"_14695":54482,"_2209":54545},[],"The following example shows how to configure a system with three groups of three servers\neach, and we assign a weight of 1 to each server:",{"_5302":914,"_37698":895,"_38077":54547,"_5":22127,"_14695":54482,"_2209":54548},[],"When running the system, we are able to form a quorum once we have a majority of votes from\na majority of non-zero-weight groups. Groups that have zero weight are discarded and not\nconsidered when forming quorums. Looking at the example, we are able to form a quorum once\nwe have votes from at least two servers from each of two different groups.",{"_5302":915,"_37698":895,"_38077":54550,"_5":22127,"_14695":54486,"_2209":54551},[],"Oracle Quorum increases the availability of a cluster of 2 ZooKeeper instances with a failure detector known as the Oracle.\nThe Oracle is designed to grant permission to the instance which is the only remaining instance\nin a 2-instance configuration when the other instance is identified as faulty by the failure detector.",{"_5302":916,"_37698":895,"_38077":54553,"_5":22127,"_14695":54490,"_2209":54554},[],"Every instance accesses a file which contains either 0 or 1 to indicate whether that instance is authorized by the Oracle.\nThis design can be changed since failure detector algorithms vary. You can override the askOracle() method in QuorumOracleMaj to adapt a preferred way of reading the Oracle's decision.",{"_5302":917,"_37698":895,"_38077":54556,"_5":22127,"_14695":54494,"_2209":54557},[],"The Oracle is designed to increase the availability of a cluster of 2 ZooKeeper instances; thus, the size of the voting member is 2.\nIn other words, the Oracle solves the consensus problem of a possible faulty instance in a two-instance ensemble.",{"_5302":918,"_37698":895,"_38077":54559,"_5":22127,"_14695":54494,"_2209":54560},[],"When the size of the voting members exceeds 2, the expected way to make the Oracle work correctly is to reconfigure the cluster size when a faulty machine is identified.\nFor example, with a configuration of 5 instances, when a faulty machine breaks the connection with the Leader, a reconfig client request is expected to re-form the cluster as 4 instances.\nOnce the size of the voting member equals 2, the configuration falls into the problem domain which the Oracle is designed to address.",{"_5302":919,"_37698":895,"_38077":54562,"_5":22127,"_14695":54498,"_2209":54563},[],"Regardless of the cluster size, oraclePath must be configured at initialization time, like other static parameters.\nThe following shows the correct way to specify and enable the Oracle:",{"_5302":920,"_37698":895,"_38077":54565,"_5":22127,"_14695":54498,"_2209":54566},[],"QuorumOracleMaj reads the result of a failure detector written to a text file — the oracle file.\nSuppose you have the result of the failure detector written to /some/path/result.txt; the correct configuration is:",{"_5302":921,"_37698":895,"_38077":54568,"_5":22127,"_14695":54498,"_2209":54569},[],"The oracle file should contain 1 to authorize the instance, or 0 to deny it. An example file can be created with:",{"_5302":922,"_37698":895,"_38077":54571,"_5":22127,"_14695":54498,"_2209":54572},[],"Any equivalent file is suitable for the current implementation of QuorumOracleMaj.\nThe number of oracle files should equal the number of ZooKeeper instances configured to enable the Oracle.\nEach ZooKeeper instance should have its own oracle file — files must not be shared, otherwise the issues described in the Safety section will arise.",{"_5302":923,"_37698":895,"_38077":54574,"_5":22127,"_14695":54506,"_2209":54575},[],"QuorumPeerConfig will create an instance of QuorumOracleMaj instead of the default QuorumMaj when it reads an oraclePath in zoo.cfg.\nQuorumOracleMaj inherits from QuorumMaj and differs from its superclass by overriding containsQuorum().\nQuorumOracleMaj executes its version of containsQuorum when the Leader loses all of its followers and fails to maintain the quorum.\nIn all other cases, QuorumOracleMaj behaves identically to QuorumMaj.",{"_5302":924,"_37698":895,"_38077":54577,"_5":22127,"_14695":54510,"_2209":54578},[],"We consider an asynchronous distributed system which consists of 2 ZooKeeper instances and an Oracle.",{"_5302":925,"_37698":895,"_38077":54580,"_5":22127,"_14695":54514,"_2209":54581},[],"When the Oracle satisfies the following property introduced by :",{"_5302":926,"_37698":895,"_38077":54583,"_5":22127,"_14695":54514,"_2209":54584},[],"Strong Completeness: There is a time after which every process that crashes is permanently suspected by every correct process.",{"_5302":927,"_37698":895,"_38077":54586,"_5":22127,"_14695":54514,"_2209":54587},[],"Liveness of the system is ensured by the Oracle.\nHowever, when the Oracle fails to maintain this property, loss of liveness is expected. For example:",{"_5302":928,"_37698":895,"_38077":54589,"_5":22127,"_14695":54514,"_2209":54590},[],"Suppose we have a Leader and a Follower running in the broadcasting state. The system will lose its liveness when:",{"_5302":929,"_37698":895,"_38077":54592,"_5":22127,"_14695":54514,"_2209":54593},[],"The Leader fails, but the Oracle does not detect the faulty Leader — the Oracle will not authorize the Follower to become a new Leader.",{"_5302":930,"_37698":895,"_38077":54595,"_5":22127,"_14695":54514,"_2209":54596},[],"A Follower fails, but the Oracle does not detect the faulty Follower — the Oracle will authorize the Leader to move the system forward.",{"_5302":931,"_37698":895,"_38077":54598,"_5":22127,"_14695":54518,"_2209":54599},[],"Loss of Progress",{"_5302":932,"_37698":895,"_38077":54601,"_5":22127,"_14695":54518,"_2209":54602},[],"Progress can be lost when multiple failures occur in the system at different times. For example:",{"_5302":933,"_37698":895,"_38077":54604,"_5":22127,"_14695":54518,"_2209":54605},[],"Suppose we have a Leader (Ben) and a Follower (John) in the broadcasting state:",{"_5302":934,"_37698":895,"_38077":54607,"_5":22127,"_14695":54518,"_2209":54608},[],"T1 zxid(0x1_1): L-Ben fails, and F-John takes over under authorization from the Oracle.",{"_5302":935,"_37698":895,"_38077":54610,"_5":22127,"_14695":54518,"_2209":54611},[],"T2 zxid(0x2_1): F-John becomes a new Leader (L-John) and starts a new epoch.",{"_5302":936,"_37698":895,"_38077":54613,"_5":22127,"_14695":54518,"_2209":54614},[],"T3 zxid(0x2_A): L-John fails.",{"_5302":937,"_37698":895,"_38077":54616,"_5":22127,"_14695":54518,"_2209":54617},[],"T4 zxid(0x2_A): Ben recovers and starts leader election.",{"_5302":938,"_37698":895,"_38077":54619,"_5":22127,"_14695":54518,"_2209":54620},[],"T5 zxid(0x3_1): Ben becomes the new Leader (L-Ben) under authorization from the Oracle.",{"_5302":939,"_37698":895,"_38077":54622,"_5":22127,"_14695":54518,"_2209":54623},[],"In this case, the system loses its progress after L-Ben initially failed.",{"_5302":940,"_37698":895,"_38077":54625,"_5":22127,"_14695":54518,"_2209":54626},[],"However, loss of progress can be prevented by making the Oracle capable of referring to the latest zxid.\nWhen the Oracle can refer to the latest zxid, at T5 zxid(0x2_A), Ben will not complete leader election because the Oracle would not authorize him while John is still known to be ahead.\nThis trades liveness for safety.",{"_5302":941,"_37698":895,"_38077":54628,"_5":22127,"_14695":54518,"_2209":54629},[],"Split Brain Issue",{"_5302":942,"_37698":895,"_38077":54631,"_5":22127,"_14695":54518,"_2209":54632},[],"We consider the Oracle satisfies the following property introduced by :",{"_5302":943,"_37698":895,"_38077":54634,"_5":22127,"_14695":54518,"_2209":54635},[],"Accuracy: There is a time after which some correct process is never suspected by any process.",{"_5302":944,"_37698":895,"_38077":54637,"_5":22127,"_14695":54518,"_2209":54638},[],"The decisions the Oracle gives out must be mutually exclusive.",{"_5302":945,"_37698":895,"_38077":54640,"_5":22127,"_14695":54518,"_2209":54605},[],{"_5302":946,"_37698":895,"_38077":54642,"_5":22127,"_14695":54518,"_2209":54643},[],"At any time, the Oracle will not authorize both Ben and John simultaneously, even if each failure detector suspects the other.",{"_5302":947,"_37698":895,"_38077":54645,"_5":22127,"_14695":54518,"_2209":54646},[],"Equivalently: for any two Oracle files, their values must not both be 1 at the same time.",{"_5302":948,"_37698":895,"_38077":54648,"_5":22127,"_14695":54518,"_2209":54649},[],"Split brain is expected when the Oracle fails to maintain this property during leader election, which can happen at:",{"_5302":949,"_37698":895,"_38077":54651,"_5":22127,"_14695":54518,"_2209":54652},[],"System start.",{"_5302":950,"_37698":895,"_38077":54654,"_5":22127,"_14695":54518,"_2209":54655},[],"A failed instance recovering from failure.",{"_5302":951,"_37698":895,"_38077":54657,"_5":22127,"_14695":54522,"_2209":54658},[],"A failure detector's role is to authorize the querying ZooKeeper instance whether it has the right to move the system forward without waiting for the faulty instance.",{"_5302":952,"_37698":895,"_38077":54660,"_5":22127,"_14695":54526,"_2209":54661},[],"Suppose two dedicated hardware nodes, hw1 and hw2, host ZooKeeper instances zk1 and zk2 respectively, forming a cluster.\nA hardware device attached to both nodes can determine whether each is powered on.\nWhen hw1 is not powered on, zk1 is undoubtedly faulty.\nThe hardware device then updates the oracle file on hw2 to 1, authorizing zk2 to move the system forward.",{"_5302":953,"_37698":895,"_38077":54663,"_5":22127,"_14695":54530,"_2209":54664},[],"Suppose two dedicated hardware nodes, hw1 and hw2, host ZooKeeper instances zk1 and zk2 respectively.\nTwo services, o1 on hw1 and o2 on hw2, detect whether the other node is alive (for example, by pinging).\nWhen o1 cannot ping hw2, it identifies hw2 as faulty and updates the oracle file of zk1 to 1, authorizing zk1 to move forward.",{"_5302":954,"_37698":895,"_38077":54666,"_5":22127,"_14695":54534,"_2209":54667},[],"In macOS 10.15.7 (19H2), external storage devices are mounted under /Volumes.\nA USB device containing the required oracle file can serve as the Oracle.\nWhen the device is connected, the oracle authorizes the leader to move the system forward.",{"_5302":955,"_37698":895,"_38077":54669,"_5":22127,"_14695":54534,"_2209":54670},[],"The following 6 steps demonstrate how this works:",{"_5302":956,"_37698":895,"_38077":54672,"_5":22127,"_14695":54534,"_2209":54673},[],"Insert a USB device named Oracle. The path /Volumes/Oracle will be accessible.",{"_5302":957,"_37698":895,"_38077":54675,"_5":22127,"_14695":54534,"_2209":54676},[],"Create a file containing 1 under /Volumes/Oracle named mastership:",{"_5302":958,"_37698":895,"_38077":54678,"_5":22127,"_14695":54534,"_2209":54679},[],"The path /Volumes/Oracle/mastership is now accessible to ZooKeeper instances.",{"_5302":959,"_37698":895,"_38077":54681,"_5":22127,"_14695":54534,"_2209":54682},[],"Create a zoo.cfg like the following:",{"_5302":960,"_37698":895,"_38077":54684,"_5":22127,"_14695":54534,"_2209":54685},[],"Note: Split brain will not occur here because there is only a single USB device. mastership must not be shared by multiple instances — only one ZooKeeper instance should be configured with Oracle. See the Safety Issue section for details.",{"_5302":961,"_37698":895,"_38077":54687,"_5":22127,"_14695":54534,"_2209":54688},[],"Start the cluster. It should form a quorum normally.",{"_5302":962,"_37698":895,"_38077":54690,"_5":22127,"_14695":54534,"_2209":54691},[],"Terminate the instance that is either not attached to a USB device or whose mastership file contains 0. Two scenarios are expected:",{"_5302":963,"_37698":895,"_38077":54693,"_5":22127,"_14695":54534,"_2209":54694},[],"A leader failure occurs, and the remaining instance completes leader election on its own via the Oracle.",{"_5302":964,"_37698":895,"_38077":54696,"_5":22127,"_14695":54534,"_2209":54697},[],"The quorum is maintained via the Oracle.",{"_5302":965,"_37698":895,"_38077":54699,"_5":22127,"_14695":54534,"_2209":54700},[],"Remove the USB device. /Volumes/Oracle/mastership becomes unavailable. According to the current implementation, whenever the Leader queries the oracle and the file is missing, the oracle throws an exception and returns false. Repeating step 5 will result in either the system being unable to recover from a leader failure, or the leader losing the quorum and service being interrupted.",{"_5302":966,"_37698":895,"_38077":54702,"_5":22127,"_14695":54534,"_2209":54703},[],"With these steps, you can observe and practice how the Oracle works with a two-instance system.",{"_5302":967,"_37698":895,"_38077":54705,"_5":22127,"_14695":54538,"_2209":54706},[],"Tushar Deepak Chandra and Sam Toueg. 1991. Unreliable failure detectors for asynchronous systems (preliminary version). In Proceedings of the tenth annual ACM symposium on Principles of distributed computing (PODC '91). Association for Computing Machinery, New York, NY, USA, 325–340. DOI:10.1145/112600.112627",{"_5302":968,"_37698":968,"_5":19386,"_2209":54708,"_38009":54709,"_38077":54710,"_14695":968},"Quota Guide",[51788,51789],[],{"_5302":969,"_37698":968,"_38077":54712,"_5":22127,"_14695":968,"_2209":54713},[],"ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.",{"_5302":970,"_37698":968,"_5":38006,"_38077":54715,"_14695":54716,"_2209":54717},[],"/docs/admin-ops/quota-guide#setting-quotas","Setting Quotas",{"_5302":971,"_37698":968,"_5":38006,"_38077":54719,"_14695":54720,"_2209":54721},[],"/docs/admin-ops/quota-guide#listing-quotas","Listing Quotas",{"_5302":972,"_37698":968,"_5":38006,"_38077":54723,"_14695":54724,"_2209":54725},[],"/docs/admin-ops/quota-guide#deleting-quotas","Deleting Quotas",{"_5302":973,"_37698":968,"_38077":54727,"_5":22127,"_14695":968,"_2209":54728},[],"ZooKeeper prints WARN messages if users exceed the quota assigned to them. The messages\nare printed in the log of the ZooKeeper.",{"_5302":974,"_37698":968,"_38077":54730,"_5":22127,"_14695":968,"_2209":54731},[],"Notice: What the namespace quota means is the count quota which limits the number of children\nunder the path (included itself).",{"_5302":975,"_37698":968,"_38077":54733,"_5":22127,"_14695":968,"_2209":54734},[],"The above command gives you a command line option of using quotas.",{"_5302":976,"_37698":968,"_38077":54736,"_5":22127,"_14695":54716,"_2209":54737},[],"You can use setquota to set a quota on a ZooKeeper node. It has an option of setting quota with\n-n (for namespace/count) and -b (for bytes/data length).",{"_5302":977,"_37698":968,"_38077":54739,"_5":22127,"_14695":54716,"_2209":54740},[],"The ZooKeeper quota is stored in ZooKeeper itself in /zookeeper/quota. To disable other people from\nchanging the quotas, users can set the ACL for /zookeeper/quota so that only admins are able to read and write to it.",{"_5302":978,"_37698":968,"_38077":54742,"_5":22127,"_14695":54716,"_2209":54743},[],"If the quota doesn't exist in the specified path, create the quota, otherwise update the quota.",{"_5302":979,"_37698":968,"_38077":54745,"_5":22127,"_14695":54716,"_2209":54746},[],"The scope of the quota users set is all the nodes under the path specified (included itself).",{"_5302":980,"_37698":968,"_38077":54748,"_5":22127,"_14695":54716,"_2209":54749},[],"In order to simplify the calculation of quota in the current directory/hierarchy structure, a complete\ntree path (from root to leaf node) can be set only one quota. In the situation when setting a quota in\na path which its parent or child node already has a quota, setquota will reject and tell the specified\nparent or child path. Users can adjust allocations of quotas (delete/move-up/move-down the quota)\naccording to specific circumstances.",{"_5302":981,"_37698":968,"_38077":54751,"_5":22127,"_14695":54716,"_2209":54752},[],"Combined with the Chroot, the quota will have a better isolation effectiveness between different\napplications. For example:",{"_5302":982,"_37698":968,"_38077":54754,"_5":22127,"_14695":54716,"_2209":54755},[],"Users cannot set the quota on the path under /zookeeper/quota.",{"_5302":983,"_37698":968,"_38077":54757,"_5":22127,"_14695":54716,"_2209":54758},[],"The quota supports soft and hard quotas. The soft quota just logs a warning when exceeding the quota,\nbut the hard quota also throws a QuotaExceededException. When setting soft and hard quota on the same\npath, the hard quota has priority.",{"_5302":984,"_37698":968,"_38077":54760,"_5":22127,"_14695":54720,"_2209":54761},[],"You can use listquota to list a quota on a ZooKeeper node.",{"_5302":985,"_37698":968,"_38077":54763,"_5":22127,"_14695":54724,"_2209":54764},[],"You can use delquota to delete quota on a ZooKeeper node.",{"_5302":986,"_37698":986,"_5":19386,"_2209":54766,"_38009":54767,"_38077":54768,"_14695":986},"Snapshot and Restore Guide",[51788,51789],[],{"_5302":987,"_37698":986,"_38077":54770,"_5":22127,"_14695":986,"_2209":54771},[],"How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.",{"_5302":988,"_37698":986,"_5":38006,"_38077":54773,"_14695":54774,"_2209":54775},[],"/docs/admin-ops/snapshot-and-restore-guide#snapshot","Snapshot",{"_5302":989,"_37698":986,"_5":38006,"_38077":54777,"_14695":54778,"_2209":54779},[],"/docs/admin-ops/snapshot-and-restore-guide#restore","Restore",{"_5302":990,"_37698":986,"_38077":54781,"_5":22127,"_14695":986,"_2209":54782},[],"ZooKeeper is designed to withstand machine failures. A ZooKeeper cluster can automatically recover\nfrom temporary failures such as machine reboots, and can tolerate up to (N-1)/2 permanent failures\nfor a cluster of N members due to hardware failures or disk corruption. When a member permanently\nfails, it loses access to the cluster. If the cluster permanently loses more than (N-1)/2 members,\nit disastrously fails and loses quorum. Once quorum is lost, the cluster cannot reach consensus and\ntherefore cannot continue to accept updates.",{"_5302":991,"_37698":986,"_38077":54784,"_5":22127,"_14695":986,"_2209":54785},[],"To recover from such disastrous failures, ZooKeeper provides snapshot and restore functionalities to\nrestore a cluster from a snapshot.",{"_5302":992,"_37698":986,"_38077":54787,"_5":22127,"_14695":986,"_2209":54788},[],"Key characteristics of snapshot and restore:",{"_5302":993,"_37698":986,"_38077":54790,"_5":22127,"_14695":986,"_2209":54791},[],"They operate on the connected server via Admin Server APIs.",{"_5302":994,"_37698":986,"_38077":54793,"_5":22127,"_14695":986,"_2209":54794},[],"They are rate-limited to protect the server from being overloaded.",{"_5302":995,"_37698":986,"_38077":54796,"_5":22127,"_14695":986,"_2209":54797},[],"They require authentication and authorization on the root path with ALL permission. The supported\nauth schemes are digest, x509, and IP.",{"_5302":996,"_37698":986,"_38077":54799,"_5":22127,"_14695":54774,"_2209":54800},[],"Recovering a cluster needs a snapshot from a ZooKeeper cluster. Users can periodically take\nsnapshots from a live server which has the highest zxid and stream out data to local or external\nstorage/file system (e.g., S3).",{"_5302":997,"_37698":986,"_38077":54802,"_5":22127,"_14695":54778,"_2209":54803},[],"Restoring a cluster needs a single snapshot as input stream. Restore can be used for recovering a\ncluster after quorum loss or for building a brand-new cluster with seed data.",{"_5302":998,"_37698":986,"_38077":54805,"_5":22127,"_14695":54778,"_2209":54806},[],"All members should restore using the same snapshot. The recommended steps are:",{"_5302":999,"_37698":986,"_38077":54808,"_5":22127,"_14695":54778,"_2209":54809},[],"Take a snapshot of the latest database state using the snapshot admin server command, if\napplicable.",{"_5302":1000,"_37698":986,"_38077":54811,"_5":22127,"_14695":54778,"_2209":54812},[],"For each server:",{"_5302":1001,"_37698":986,"_38077":54814,"_5":22127,"_14695":54778,"_2209":54815},[],"Move the files in dataDir and dataLogDir to a different location to prevent the restored\ndatabase from being overwritten when the server restarts after restore.",{"_5302":1002,"_37698":986,"_38077":54817,"_5":22127,"_14695":54778,"_2209":54818},[],"Restore the server using the restore admin server command:",{"_5302":1003,"_37698":1003,"_5":19386,"_2209":54820,"_38009":54821,"_38077":54822,"_14695":1003},"Tools",[51788,51789],[],{"_5302":1004,"_37698":1003,"_38077":54824,"_5":22127,"_14695":1003,"_2209":54825},[],"Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.",{"_5302":1005,"_37698":1003,"_5":38006,"_38077":54827,"_14695":54828,"_2209":54829},[],"/docs/admin-ops/tools#scripts","Scripts",{"_5302":1006,"_37698":1003,"_5":38006,"_38077":54831,"_14695":54832,"_2209":54833},[],"/docs/admin-ops/tools#zkserversh","zkServer.sh",{"_5302":1007,"_37698":1003,"_5":38006,"_38077":54835,"_14695":54836,"_2209":54837},[],"/docs/admin-ops/tools#zkclish","zkCli.sh",{"_5302":1008,"_37698":1003,"_5":38006,"_38077":54839,"_14695":54840,"_2209":54841},[],"/docs/admin-ops/tools#zkenvsh","zkEnv.sh",{"_5302":1009,"_37698":1003,"_5":38006,"_38077":54843,"_14695":54844,"_2209":54845},[],"/docs/admin-ops/tools#zkcleanupsh","zkCleanup.sh",{"_5302":1010,"_37698":1003,"_5":38006,"_38077":54847,"_14695":54848,"_2209":54849},[],"/docs/admin-ops/tools#zktxnlogtoolkitsh","zkTxnLogToolkit.sh",{"_5302":1011,"_37698":1003,"_5":38006,"_38077":54851,"_14695":54852,"_2209":54853},[],"/docs/admin-ops/tools#zksnapshottoolkitsh","zkSnapShotToolkit.sh",{"_5302":1012,"_37698":1003,"_5":38006,"_38077":54855,"_14695":54856,"_2209":54857},[],"/docs/admin-ops/tools#zksnapshotrecursivesummarytoolkitsh","zkSnapshotRecursiveSummaryToolkit.sh",{"_5302":1013,"_37698":1003,"_5":38006,"_38077":54859,"_14695":54860,"_2209":54861},[],"/docs/admin-ops/tools#zksnapshotcomparersh","zkSnapshotComparer.sh",{"_5302":1014,"_37698":1003,"_5":38006,"_38077":54863,"_14695":54864,"_2209":54865},[],"/docs/admin-ops/tools#locating-snapshots","Locating Snapshots",{"_5302":1015,"_37698":1003,"_5":38006,"_38077":54867,"_14695":54868,"_2209":54869},[],"/docs/admin-ops/tools#supported-snapshot-formats","Supported Snapshot Formats",{"_5302":1016,"_37698":1003,"_5":38006,"_38077":54871,"_14695":54872,"_2209":54873},[],"/docs/admin-ops/tools#running-the-tool","Running the Tool",{"_5302":1017,"_37698":1003,"_5":38006,"_38077":54875,"_14695":54876,"_2209":54877},[],"/docs/admin-ops/tools#interactive-mode","Interactive Mode",{"_5302":1018,"_37698":1003,"_5":38006,"_38077":54879,"_14695":54880,"_2209":54881},[],"/docs/admin-ops/tools#benchmark","Benchmark",{"_5302":1019,"_37698":1003,"_5":38006,"_38077":54883,"_14695":54884,"_2209":54885},[],"/docs/admin-ops/tools#ycsb","YCSB",{"_5302":1020,"_37698":1003,"_5":38006,"_38077":54887,"_14695":54888,"_2209":13077},[],"/docs/admin-ops/tools#zk-smoketest",{"_5302":1021,"_37698":1003,"_5":38006,"_38077":54890,"_14695":54891,"_2209":54892},[],"/docs/admin-ops/tools#testing","Testing",{"_5302":1022,"_37698":1003,"_5":38006,"_38077":54894,"_14695":54895,"_2209":54896},[],"/docs/admin-ops/tools#fault-injection-framework","Fault Injection Framework",{"_5302":1023,"_37698":1003,"_5":38006,"_38077":54898,"_14695":54899,"_2209":54900},[],"/docs/admin-ops/tools#byteman","Byteman",{"_5302":1024,"_37698":1003,"_5":38006,"_38077":54902,"_14695":54903,"_2209":54904},[],"/docs/admin-ops/tools#jepsen-test","Jepsen Test",{"_5302":1025,"_37698":1003,"_38077":54906,"_5":22127,"_14695":54832,"_2209":54907},[],"Manage the ZooKeeper server process.",{"_5302":1026,"_37698":1003,"_38077":54909,"_5":22127,"_14695":54832,"_2209":54910},[],"The status command establishes a client connection to execute diagnostic commands.\nWhen the ZooKeeper cluster is started in TLS-only mode (by omitting clientPort from\nzoo.cfg), additional SSL configuration must be provided:",{"_5302":1027,"_37698":1003,"_38077":54912,"_5":22127,"_14695":54836,"_2209":54913},[],"See ZooKeeper CLI.",{"_5302":1028,"_37698":1003,"_38077":54915,"_5":22127,"_14695":54840,"_2209":54916},[],"Sets environment variables for the ZooKeeper server. Key variables:",{"_5302":1029,"_37698":1003,"_38077":54918,"_5":22127,"_14695":54840,"_2209":54919},[],"ZOO_LOG_DIR — the directory where logs are stored.",{"_5302":1030,"_37698":1003,"_38077":54921,"_5":22127,"_14695":54844,"_2209":54922},[],"Clean up old snapshots and transaction logs.",{"_5302":1031,"_37698":1003,"_38077":54924,"_5":22127,"_14695":54848,"_2209":54925},[],"Dump and recover transaction log files with broken CRC entries.",{"_5302":1032,"_37698":1003,"_38077":54927,"_5":22127,"_14695":54848,"_2209":54928},[],"The default behavior is safe — it dumps the entries of the given transaction log file\nto the screen (same as -d,--dump):",{"_5302":1033,"_37698":1003,"_38077":54930,"_5":22127,"_14695":54848,"_2209":54931},[],"In recovery mode (-r,--recover), the original file is left untouched and all transactions\nare copied to a new file with a .fixed suffix. CRC values are recalculated; if the calculated\nvalue does not match the original, the new value is used. By default the tool is interactive,\nasking for confirmation on each CRC error:",{"_5302":1034,"_37698":1003,"_38077":54933,"_5":22127,"_14695":54848,"_2209":54934},[],"Yes — write the recalculated CRC to the new file.",{"_5302":1035,"_37698":1003,"_38077":54936,"_5":22127,"_14695":54848,"_2209":54937},[],"No — copy the original CRC value.",{"_5302":1036,"_37698":1003,"_38077":54939,"_5":22127,"_14695":54848,"_2209":54940},[],"Abort — abort the operation. The .fixed file will not be deleted and may be in a half-complete state.",{"_5302":1037,"_37698":1003,"_38077":54942,"_5":22127,"_14695":54848,"_2209":54943},[],"Use -v,--verbose to print all records (not just broken ones). Use -y,--yes to fix all\nCRC errors automatically without prompting.",{"_5302":1038,"_37698":1003,"_38077":54945,"_5":22127,"_14695":54852,"_2209":54946},[],"Dump a snapshot file to stdout, showing detailed information for each znode.",{"_5302":1039,"_37698":1003,"_38077":54948,"_5":22127,"_14695":54856,"_2209":54949},[],"Recursively collect and display child count and data size for a selected node.",{"_5302":1040,"_37698":1003,"_38077":54951,"_5":22127,"_14695":54860,"_2209":54952},[],"Compare two snapshots with configurable thresholds and filters, outputting the delta —\nwhich znodes were added, updated, or deleted. Useful for offline consistency checks and\ndata trend analysis. Only permanent nodes are reported; sessions and ephemeral nodes are ignored.",{"_5302":1041,"_37698":1003,"_38077":54954,"_5":22127,"_14695":54860,"_2209":54955},[],"Tuning parameters:",{"_5302":1042,"_37698":1003,"_38077":54957,"_5":22127,"_14695":54860,"_2209":54958},[],"--nodes — threshold for number of descendant nodes added/removed.",{"_5302":1043,"_37698":1003,"_38077":54960,"_5":22127,"_14695":54860,"_2209":54961},[],"--bytes — threshold for bytes added/removed.",{"_5302":1044,"_37698":1003,"_38077":54963,"_5":22127,"_14695":54864,"_2209":54964},[],"Snapshots are stored in the ZooKeeper data directory\nconfigured in conf/zoo.cfg.",{"_5302":1045,"_37698":1003,"_38077":54966,"_5":22127,"_14695":54868,"_2209":54967},[],"Uncompressed snapshots and compressed formats (snappy, gz) are all supported.\nSnapshots in different formats can be compared directly without manual decompression.",{"_5302":1046,"_37698":1003,"_38077":54969,"_5":22127,"_14695":54872,"_2209":54970},[],"Running the tool with no arguments prints the help page:",{"_5302":1047,"_37698":1003,"_38077":54972,"_5":22127,"_14695":54872,"_2209":54973},[],"Example command:",{"_5302":1048,"_37698":1003,"_38077":54975,"_5":22127,"_14695":54872,"_2209":54976},[],"Example output:",{"_5302":1049,"_37698":1003,"_38077":54978,"_5":22127,"_14695":54876,"_2209":54979},[],"Add -i / --interactive to enter interactive mode:",{"_5302":1050,"_37698":1003,"_38077":54981,"_5":22127,"_14695":54876,"_2209":54982},[],"Three navigation options are available:",{"_5302":1051,"_37698":1003,"_38077":54984,"_5":22127,"_14695":54876,"_2209":54985},[],"Press Enter to print the current depth layer.",{"_5302":1052,"_37698":1003,"_38077":54987,"_5":22127,"_14695":54876,"_2209":54988},[],"Type a number to jump to and print all nodes at that depth.",{"_5302":1053,"_37698":1003,"_38077":54990,"_5":22127,"_14695":54876,"_2209":54991},[],"Enter an absolute path (starting with /) to print the immediate subtree of that node.",{"_5302":1054,"_37698":1003,"_38077":54993,"_5":22127,"_14695":54876,"_2209":54994},[],"Note: only nodes passing the bytes and nodes thresholds are shown.",{"_5302":1055,"_37698":1003,"_38077":54996,"_5":22127,"_14695":54876,"_2209":54997},[],"Press Enter to move to the next depth layer:",{"_5302":1056,"_37698":1003,"_38077":54999,"_5":22127,"_14695":54876,"_2209":55000},[],"Type a number to jump forward or backward to a specific depth:",{"_5302":1057,"_37698":1003,"_38077":55002,"_5":22127,"_14695":54876,"_2209":55003},[],"Out-of-range depth is handled gracefully:",{"_5302":1058,"_37698":1003,"_38077":55005,"_5":22127,"_14695":54876,"_2209":55006},[],"Enter an absolute path to print the immediate subtree of a node:",{"_5302":1059,"_37698":1003,"_38077":55008,"_5":22127,"_14695":54876,"_2209":55009},[],"Invalid path and invalid input are handled:",{"_5302":1060,"_37698":1003,"_38077":55011,"_5":22127,"_14695":54876,"_2209":55012},[],"The tool exits interactive mode automatically when all layers are compared, or press ^C to exit at any time.",{"_5302":1061,"_37698":1003,"_38077":55014,"_5":22127,"_14695":54884,"_2209":55015},[],"YCSB (Yahoo Cloud Serving Benchmark) can be used to benchmark ZooKeeper. Follow the steps below to get started.",{"_5302":1062,"_37698":1003,"_38077":55017,"_5":22127,"_14695":54884,"_2209":55018},[],"Start ZooKeeper Server(s)",{"_5302":1063,"_37698":1003,"_38077":55020,"_5":22127,"_14695":54884,"_2209":55021},[],"Start your ZooKeeper ensemble before running any benchmark.",{"_5302":1064,"_37698":1003,"_38077":55023,"_5":22127,"_14695":54884,"_2209":55024},[],"Install Java and Maven",{"_5302":1065,"_37698":1003,"_38077":55026,"_5":22127,"_14695":54884,"_2209":55027},[],"Ensure a JDK and Maven are installed on the machine running the benchmark.",{"_5302":1066,"_37698":1003,"_38077":55029,"_5":22127,"_14695":54884,"_2209":55030},[],"Set Up YCSB",{"_5302":1067,"_37698":1003,"_38077":55032,"_5":22127,"_14695":54884,"_2209":55033},[],"Clone and build the ZooKeeper binding:",{"_5302":1068,"_37698":1003,"_38077":55035,"_5":22127,"_14695":54884,"_2209":55036},[],"See the YCSB README for more details.",{"_5302":1069,"_37698":1003,"_38077":55038,"_5":22127,"_14695":54884,"_2209":55039},[],"Configure ZooKeeper Connection Parameters",{"_5302":1070,"_37698":1003,"_38077":55041,"_5":22127,"_14695":54884,"_2209":55042},[],"Set the following properties in your workload file or via the shell:",{"_5302":1071,"_37698":1003,"_38077":55044,"_5":22127,"_14695":54884,"_2209":55045},[],"zookeeper.connectString — connection string (e.g. 127.0.0.1:2181/benchmark)",{"_5302":1072,"_37698":1003,"_38077":55047,"_5":22127,"_14695":54884,"_2209":55048},[],"zookeeper.sessionTimeout — session timeout in milliseconds",{"_5302":1073,"_37698":1003,"_38077":55050,"_5":22127,"_14695":54884,"_2209":55051},[],"zookeeper.watchFlag — enable ZooKeeper watches (true or false, default false). This measures the effect of watch overhead on read/write performance, not watch notification latency.",{"_5302":1074,"_37698":1003,"_38077":55053,"_5":22127,"_14695":54884,"_2209":55054},[],"Or set properties directly on the command line (create the /benchmark namespace first using create /benchmark in the CLI):",{"_5302":1075,"_37698":1003,"_38077":55056,"_5":22127,"_14695":54884,"_2209":55057},[],"Load Data and Run Tests",{"_5302":1076,"_37698":1003,"_38077":55059,"_5":22127,"_14695":54884,"_2209":55060},[],"Load data:",{"_5302":1077,"_37698":1003,"_38077":55062,"_5":22127,"_14695":54884,"_2209":55063},[],"Run the workload (workloadb is recommended as the most representative read-heavy workload):",{"_5302":1078,"_37698":1003,"_38077":55065,"_5":22127,"_14695":54888,"_2209":55066},[],"zk-smoketest provides a simple smoketest client\nfor a ZooKeeper ensemble. Useful for verifying new, updated, or existing installations.",{"_5302":1079,"_37698":1003,"_38077":55068,"_5":22127,"_14695":54899,"_2209":55069},[],"Byteman is a tool for tracing, monitoring, and testing Java\napplication and JDK runtime code. It injects Java code into methods without requiring\nrecompilation, repackaging, or redeployment — and injection can be performed at JVM startup\nor while the application is running. See the Byteman tutorial\nfor a quick introduction.",{"_5302":1080,"_37698":1003,"_38077":55071,"_5":22127,"_14695":54899,"_2209":55072},[],"Example 1: Force a leader re-election by rolling over the leader's zxid.",{"_5302":1081,"_37698":1003,"_38077":55074,"_5":22127,"_14695":54899,"_2209":55075},[],"Example 2: Make the leader drop ping packets to a specific follower. The leader will close\nthe LearnerHandler for that follower, and the follower will re-enter the quorum.",{"_5302":1082,"_37698":1003,"_38077":55077,"_5":22127,"_14695":54899,"_2209":55078},[],"Example 3: Make a follower drop ACK packets. This has limited effect during broadcast since\nthe leader only needs a majority of ACKs to commit a proposal.",{"_5302":1083,"_37698":1003,"_38077":55080,"_5":22127,"_14695":54903,"_2209":55081},[],"Jepsen is a framework for distributed systems\nverification with fault injection. It has been used to verify eventually-consistent databases,\nlinearizable coordination systems, and distributed task schedulers.",{"_5302":1084,"_37698":1003,"_38077":55083,"_5":22127,"_14695":54903,"_2209":55084},[],"Running the Dockerized Jepsen\nis the simplest way to get started.",{"_5302":1085,"_37698":1003,"_38077":55086,"_5":22127,"_14695":54903,"_2209":55087},[],"Installation:",{"_5302":1086,"_37698":1003,"_38077":55089,"_5":22127,"_14695":54903,"_2209":55090},[],"Running the test:",{"_5302":1087,"_37698":1003,"_38077":55092,"_5":22127,"_14695":54903,"_2209":55093},[],"Read this blog post to learn more\nabout the Jepsen analysis of ZooKeeper.",{"_5302":1088,"_37698":1088,"_5":19386,"_2209":55095,"_38009":55096,"_38077":55098,"_14695":1088},"Basic tutorial",[51788,55097],"Developer",[],{"_5302":1089,"_37698":1088,"_38077":55100,"_5":22127,"_14695":1088,"_2209":55101},[],"Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.",{"_5302":1090,"_37698":1088,"_5":38006,"_38077":55103,"_14695":55104,"_2209":55105},[],"/docs/developer/basic-tutorial#introduction","Introduction",{"_5302":1091,"_37698":1088,"_5":38006,"_38077":55107,"_14695":55108,"_2209":55109},[],"/docs/developer/basic-tutorial#barriers","Barriers",{"_5302":1092,"_37698":1088,"_5":38006,"_38077":55111,"_14695":55112,"_2209":55113},[],"/docs/developer/basic-tutorial#producer-consumer-queues","Producer-Consumer Queues",{"_5302":1093,"_37698":1088,"_5":38006,"_38077":55115,"_14695":55116,"_2209":55117},[],"/docs/developer/basic-tutorial#complete-example","Complete example",{"_5302":1094,"_37698":1088,"_5":38006,"_38077":55119,"_14695":55120,"_2209":55121},[],"/docs/developer/basic-tutorial#queue-test","Queue test",{"_5302":1095,"_37698":1088,"_5":38006,"_38077":55123,"_14695":55124,"_2209":55125},[],"/docs/developer/basic-tutorial#barrier-test","Barrier test",{"_5302":1096,"_37698":1088,"_5":38006,"_38077":55127,"_14695":55128,"_2209":55129},[],"/docs/developer/basic-tutorial#source-listing","Source Listing",{"_5302":1097,"_37698":1088,"_5":38006,"_38077":55131,"_14695":55132,"_2209":55133},[],"/docs/developer/basic-tutorial#syncprimitivejava","SyncPrimitive.Java",{"_5302":1098,"_37698":1088,"_38077":55135,"_5":22127,"_14695":55104,"_2209":55136},[],"In this tutorial, we show simple implementations of barriers and\nproducer-consumer queues using ZooKeeper. We call the respective classes Barrier and Queue.\nThese examples assume that you have at least one ZooKeeper server running.",{"_5302":1099,"_37698":1088,"_38077":55138,"_5":22127,"_14695":55104,"_2209":55139},[],"Both primitives use the following common excerpt of code:",{"_5302":1100,"_37698":1088,"_38077":55141,"_5":22127,"_14695":55104,"_2209":55142},[],"Both classes extend SyncPrimitive. In this way, we execute steps that are\ncommon to all primitives in the constructor of SyncPrimitive. To keep the examples\nsimple, we create a ZooKeeper object the first time we instantiate either a barrier\nobject or a queue object, and we declare a static variable that is a reference\nto this object. The subsequent instances of Barrier and Queue check whether a\nZooKeeper object exists. Alternatively, we could have the application creating a\nZooKeeper object and passing it to the constructor of Barrier and Queue.",{"_5302":1101,"_37698":1088,"_38077":55144,"_5":22127,"_14695":55104,"_2209":55145},[],"We use the process() method to process notifications triggered due to watches.\nIn the following discussion, we present code that sets watches. A watch is internal\nstructure that enables ZooKeeper to notify a client of a change to a node. For example,\nif a client is waiting for other clients to leave a barrier, then it can set a watch and\nwait for modifications to a particular node, which can indicate that it is the end of the wait.\nThis point becomes clear once we go over the examples.",{"_5302":1102,"_37698":1088,"_38077":55147,"_5":22127,"_14695":55108,"_2209":55148},[],"A barrier is a primitive that enables a group of processes to synchronize the\nbeginning and the end of a computation. The general idea of this implementation\nis to have a barrier node that serves the purpose of being a parent for individual\nprocess nodes. Suppose that we call the barrier node \"/b1\". Each process \"p\" then\ncreates a node \"/b1/p\". Once enough processes have created their corresponding\nnodes, joined processes can start the computation.",{"_5302":1103,"_37698":1088,"_38077":55150,"_5":22127,"_14695":55108,"_2209":55151},[],"In this example, each process instantiates a Barrier object, and its constructor takes as parameters:",{"_5302":1104,"_37698":1088,"_38077":55153,"_5":22127,"_14695":55108,"_2209":55154},[],"the address of a ZooKeeper server (e.g., \"zoo1.foo.com:2181\")",{"_5302":1105,"_37698":1088,"_38077":55156,"_5":22127,"_14695":55108,"_2209":55157},[],"the path of the barrier node on ZooKeeper (e.g., \"/b1\")",{"_5302":1106,"_37698":1088,"_38077":55159,"_5":22127,"_14695":55108,"_2209":55160},[],"the size of the group of processes",{"_5302":1107,"_37698":1088,"_38077":55162,"_5":22127,"_14695":55108,"_2209":55163},[],"The constructor of Barrier passes the address of the Zookeeper server to the\nconstructor of the parent class. The parent class creates a ZooKeeper instance if\none does not exist. The constructor of Barrier then creates a\nbarrier node on ZooKeeper, which is the parent node of all process nodes, and\nwe call root (Note: This is not the ZooKeeper root \"/\").",{"_5302":1108,"_37698":1088,"_38077":55165,"_5":22127,"_14695":55108,"_2209":55166},[],"To enter the barrier, a process calls enter(). The process creates a node under\nthe root to represent it, using its host name to form the node name. It then wait\nuntil enough processes have entered the barrier. A process does it by checking\nthe number of children the root node has with \"getChildren()\", and waiting for\nnotifications in the case it does not have enough. To receive a notification when\nthere is a change to the root node, a process has to set a watch, and does it\nthrough the call to \"getChildren()\". In the code, we have that \"getChildren()\"\nhas two parameters. The first one states the node to read from, and the second is\na boolean flag that enables the process to set a watch. In the code the flag is true.",{"_5302":1109,"_37698":1088,"_38077":55168,"_5":22127,"_14695":55108,"_2209":55169},[],"Note that enter() throws both KeeperException and InterruptedException, so it is\nthe responsibility of the application to catch and handle such exceptions.",{"_5302":1110,"_37698":1088,"_38077":55171,"_5":22127,"_14695":55108,"_2209":55172},[],"Once the computation is finished, a process calls leave() to leave the barrier.\nFirst it deletes its corresponding node, and then it gets the children of the root\nnode. If there is at least one child, then it waits for a notification (obs: note\nthat the second parameter of the call to getChildren() is true, meaning that\nZooKeeper has to set a watch on the root node). Upon reception of a notification,\nit checks once more whether the root node has any children.",{"_5302":1111,"_37698":1088,"_38077":55174,"_5":22127,"_14695":55112,"_2209":55175},[],"A producer-consumer queue is a distributed data structure that groups of processes\nuse to generate and consume items. Producer processes create new elements and add\nthem to the queue. Consumer processes remove elements from the list, and process them.\nIn this implementation, the elements are simple integers. The queue is represented\nby a root node, and to add an element to the queue, a producer process creates a new node,\na child of the root node.",{"_5302":1112,"_37698":1088,"_38077":55177,"_5":22127,"_14695":55112,"_2209":55178},[],"The following excerpt of code corresponds to the constructor of the object. As\nwith Barrier objects, it first calls the constructor of the parent class, SyncPrimitive,\nthat creates a ZooKeeper object if one doesn't exist. It then verifies if the root\nnode of the queue exists, and creates if it doesn't.",{"_5302":1113,"_37698":1088,"_38077":55180,"_5":22127,"_14695":55112,"_2209":55181},[],"A producer process calls \"produce()\" to add an element to the queue, and passes\nan integer as an argument. To add an element to the queue, the method creates a\nnew node using \"create()\", and uses the SEQUENCE flag to instruct ZooKeeper to\nappend the value of the sequencer counter associated to the root node. In this way,\nwe impose a total order on the elements of the queue, thus guaranteeing that the\noldest element of the queue is the next one consumed.",{"_5302":1114,"_37698":1088,"_38077":55183,"_5":22127,"_14695":55112,"_2209":55184},[],"To consume an element, a consumer process obtains the children of the root node,\nreads the node with smallest counter value, and returns the element. Note that\nif there is a conflict, then one of the two contending processes won't be able to\ndelete the node and the delete operation will throw an exception.",{"_5302":1115,"_37698":1088,"_38077":55186,"_5":22127,"_14695":55112,"_2209":55187},[],"A call to getChildren() returns the list of children in lexicographic order.\nAs lexicographic order does not necessarily follow the numerical order of the counter\nvalues, we need to decide which element is the smallest. To decide which one has\nthe smallest counter value, we traverse the list, and remove the prefix \"element\"\nfrom each one.",{"_5302":1116,"_37698":1088,"_38077":55189,"_5":22127,"_14695":55116,"_2209":55190},[],"In the following section you can find a complete command line application to demonstrate the above mentioned\nrecipes. Use the following command to run it.",{"_5302":1117,"_37698":1088,"_38077":55192,"_5":22127,"_14695":55120,"_2209":55193},[],"Start a producer to create 100 elements",{"_5302":1118,"_37698":1088,"_38077":55195,"_5":22127,"_14695":55120,"_2209":55196},[],"Start a consumer to consume 100 elements",{"_5302":1119,"_37698":1088,"_38077":55198,"_5":22127,"_14695":55124,"_2209":55199},[],"Start a barrier with 2 participants (start as many times as many participants you'd like to enter)",{"_5302":1120,"_37698":1120,"_5":19386,"_2209":55201,"_38009":55202,"_38077":55203,"_14695":1120},"Java Example",[51788,55097],[],{"_5302":1121,"_37698":1120,"_38077":55205,"_5":22127,"_14695":1120,"_2209":55206},[],"Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.",{"_5302":1122,"_37698":1120,"_5":38006,"_38077":55208,"_14695":55209,"_2209":55210},[],"/docs/developer/java-example#a-simple-watch-client","A Simple Watch Client",{"_5302":1123,"_37698":1120,"_5":38006,"_38077":55212,"_14695":55213,"_2209":55214},[],"/docs/developer/java-example#requirements","Requirements",{"_5302":1124,"_37698":1120,"_5":38006,"_38077":55216,"_14695":55217,"_2209":55218},[],"/docs/developer/java-example#program-design","Program Design",{"_5302":1125,"_37698":1120,"_5":38006,"_38077":55220,"_14695":55221,"_2209":55222},[],"/docs/developer/java-example#the-executor-class","The Executor Class",{"_5302":1126,"_37698":1120,"_5":38006,"_38077":55224,"_14695":55225,"_2209":55226},[],"/docs/developer/java-example#the-datamonitor-class","The DataMonitor Class",{"_5302":1127,"_37698":1120,"_5":38006,"_38077":55228,"_14695":55229,"_2209":55230},[],"/docs/developer/java-example#complete-source-listings","Complete Source Listings",{"_5302":1128,"_37698":1120,"_5":38006,"_38077":55232,"_14695":55233,"_2209":55234},[],"/docs/developer/java-example#executorjava","Executor.java",{"_5302":1129,"_37698":1120,"_5":38006,"_38077":55236,"_14695":55237,"_2209":55238},[],"/docs/developer/java-example#datamonitorjava","DataMonitor.java",{"_5302":1130,"_37698":1120,"_38077":55240,"_5":22127,"_14695":55209,"_2209":55241},[],"To introduce you to the ZooKeeper Java API, we develop here a very simple\nwatch client. This ZooKeeper client watches a znode for changes\nand responds to by starting or stopping a program.",{"_5302":1131,"_37698":1120,"_38077":55243,"_5":22127,"_14695":55213,"_2209":55244},[],"The client has four requirements:",{"_5302":1132,"_37698":1120,"_38077":55246,"_5":22127,"_14695":55213,"_2209":55247},[],"It takes as parameters:",{"_5302":1133,"_37698":1120,"_38077":55249,"_5":22127,"_14695":55213,"_2209":55250},[],"the address of the ZooKeeper service",{"_5302":1134,"_37698":1120,"_38077":55252,"_5":22127,"_14695":55213,"_2209":55253},[],"the name of a znode - the one to be watched",{"_5302":1135,"_37698":1120,"_38077":55255,"_5":22127,"_14695":55213,"_2209":55256},[],"the name of a file to write the output to",{"_5302":1136,"_37698":1120,"_38077":55258,"_5":22127,"_14695":55213,"_2209":55259},[],"an executable with arguments.",{"_5302":1137,"_37698":1120,"_38077":55261,"_5":22127,"_14695":55213,"_2209":55262},[],"It fetches the data associated with the znode and starts the executable.",{"_5302":1138,"_37698":1120,"_38077":55264,"_5":22127,"_14695":55213,"_2209":55265},[],"If the znode changes, the client re-fetches the contents and restarts the executable.",{"_5302":1139,"_37698":1120,"_38077":55267,"_5":22127,"_14695":55213,"_2209":55268},[],"If the znode disappears, the client kills the executable.",{"_5302":1140,"_37698":1120,"_38077":55270,"_5":22127,"_14695":55217,"_2209":55271},[],"Conventionally, ZooKeeper applications are broken into two units, one which maintains the connection,\nand the other which monitors data. In this application, the class called the Executor\nmaintains the ZooKeeper connection, and the class called the DataMonitor monitors the data\nin the ZooKeeper tree. Also, Executor contains the main thread and contains the execution logic.\nIt is responsible for what little user interaction there is, as well as interaction with the executable program you\npass in as an argument and which the sample (per the requirements) shuts down and restarts, according to the\nstate of the znode.",{"_5302":1141,"_37698":1120,"_38077":55273,"_5":22127,"_14695":55221,"_2209":55274},[],"The Executor object is the primary container of the sample application. It contains\nboth the ZooKeeper object, DataMonitor, as described above in\nProgram Design.",{"_5302":1142,"_37698":1120,"_38077":55276,"_5":22127,"_14695":55221,"_2209":55277},[],"Recall that the Executor's job is to start and stop the executable whose name you pass in on the command line.\nIt does this in response to events fired by the ZooKeeper object. As you can see in the code above, the Executor passes\na reference to itself as the Watcher argument in the ZooKeeper constructor. It also passes a reference to itself\nas DataMonitorListener argument to the DataMonitor constructor. Per the Executor's definition, it implements both these\ninterfaces:",{"_5302":1143,"_37698":1120,"_38077":55279,"_5":22127,"_14695":55221,"_2209":55280},[],"The Watcher interface is defined by the ZooKeeper Java API.\nZooKeeper uses it to communicate back to its container. It supports only one method, process(),\nand ZooKeeper uses it to communicates generic events that the main thread would be interested in,\nsuch as the state of the ZooKeeper connection or the ZooKeeper session. The Executor in this example simply\nforwards those events down to the DataMonitor to decide what to do with them. It does this simply to illustrate\nthe point that, by convention, the Executor or some Executor-like object \"owns\" the ZooKeeper connection, but it is\nfree to delegate the events to other events to other objects. It also uses this as the default channel on which\nto fire watch events. (More on this later.)",{"_5302":1144,"_37698":1120,"_38077":55282,"_5":22127,"_14695":55221,"_2209":55283},[],"The DataMonitorListener\ninterface, on the other hand, is not part of the ZooKeeper API. It is a completely custom interface,\ndesigned for this sample application. The DataMonitor object uses it to communicate back to its container, which\nis also the Executor object. The DataMonitorListener interface looks like this:",{"_5302":1145,"_37698":1120,"_38077":55285,"_5":22127,"_14695":55221,"_2209":55286},[],"This interface is defined in the DataMonitor class and implemented in the Executor class.\nWhen Executor.exists() is invoked, the Executor decides whether to start up or shut down per the requirements.\nRecall that the requires say to kill the executable when the znode ceases to exist.",{"_5302":1146,"_37698":1120,"_38077":55288,"_5":22127,"_14695":55221,"_2209":55289},[],"When Executor.closing() is invoked, the Executor decides whether or not to shut itself down\nin response to the ZooKeeper connection permanently disappearing.",{"_5302":1147,"_37698":1120,"_38077":55291,"_5":22127,"_14695":55221,"_2209":55292},[],"As you might have guessed, DataMonitor is the object that invokes\nthese methods, in response to changes in ZooKeeper's state.",{"_5302":1148,"_37698":1120,"_38077":55294,"_5":22127,"_14695":55221,"_2209":55295},[],"Here are Executor's implementation of\nDataMonitorListener.exists() and DataMonitorListener.closing:",{"_5302":1149,"_37698":1120,"_38077":55297,"_5":22127,"_14695":55225,"_2209":55298},[],"The DataMonitor class has the meat of the ZooKeeper logic. It is mostly\nasynchronous and event driven. DataMonitor kicks things off in the constructor with:",{"_5302":1150,"_37698":1120,"_38077":55300,"_5":22127,"_14695":55225,"_2209":55301},[],"The call to ZooKeeper.exists() checks for the existence of the znode,\nsets a watch, and passes a reference to itself (this)\nas the completion callback object. In this sense, it kicks things off, since the\nreal processing happens when the watch is triggered.",{"_5302":1151,"_37698":1120,"_38077":55303,"_5":22127,"_14695":55225,"_2209":52329},[],{"_5302":1152,"_37698":1120,"_38077":55305,"_5":22127,"_14695":55225,"_2209":55306},[],"Don't confuse the completion callback with the watch callback. The ZooKeeper.exists()\ncompletion callback, which happens to be the method StatCallback.processResult() implemented\nin the DataMonitor object, is invoked when the asynchronous setting of the watch operation\n(by ZooKeeper.exists()) completes on the server.",{"_5302":1153,"_37698":1120,"_38077":55308,"_5":22127,"_14695":55225,"_2209":55309},[],"The triggering of the watch, on the other hand, sends an event to the Executor object, since\nthe Executor registered as the Watcher of the ZooKeeper object.",{"_5302":1154,"_37698":1120,"_38077":55311,"_5":22127,"_14695":55225,"_2209":55312},[],"As an aside, you might note that the DataMonitor could also register itself as the Watcher\nfor this particular watch event. This is new to ZooKeeper 3.0.0 (the support of multiple Watchers). In this\nexample, however, DataMonitor does not register as the Watcher.",{"_5302":1155,"_37698":1120,"_38077":55314,"_5":22127,"_14695":55225,"_2209":55315},[],"When the ZooKeeper.exists() operation completes on the server, the ZooKeeper API invokes this completion callback on\nthe client:",{"_5302":1156,"_37698":1120,"_38077":55317,"_5":22127,"_14695":55225,"_2209":55318},[],"The code first checks the error codes for znode existence, fatal errors, and\nrecoverable errors. If the file (or znode) exists, it gets the data from the znode, and\nthen invoke the exists() callback of Executor if the state has changed. Note,\nit doesn't have to do any Exception processing for the getData call because it\nhas watches pending for anything that could cause an error: if the node is deleted\nbefore it calls ZooKeeper.getData(), the watch event set by\nthe ZooKeeper.exists() triggers a callback;\nif there is a communication error, a connection watch event fires when\nthe connection comes back up.",{"_5302":1157,"_37698":1120,"_38077":55320,"_5":22127,"_14695":55225,"_2209":55321},[],"Finally, notice how DataMonitor processes watch events:",{"_5302":1158,"_37698":1120,"_38077":55323,"_5":22127,"_14695":55225,"_2209":55324},[],"If the client-side ZooKeeper libraries can re-establish the\ncommunication channel (SyncConnected event) to ZooKeeper before\nsession expiration (Expired event) all of the session's watches will\nautomatically be re-established with the server (auto-reset of watches\nis new in ZooKeeper 3.0.0). See ZooKeeper Watches\nin the programmer guide for more on this. A bit lower down in this\nfunction, when DataMonitor gets an event for a znode, it callsZooKeeper.exists() to find out what has changed.",{"_5302":1159,"_37698":1159,"_5":19386,"_2209":55326,"_38009":55327,"_38077":55329,"_14695":1159},"Access Control using ACLs",[51788,55097,55328],"Programmer's Guide",[],{"_5302":1160,"_37698":1159,"_38077":55331,"_5":22127,"_14695":1159,"_2209":55332},[],"Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.",{"_5302":1161,"_37698":1159,"_5":38006,"_38077":55334,"_14695":55335,"_2209":55336},[],"/docs/developer/programmers-guide/access-control-using-acls#acl-permissions","ACL Permissions",{"_5302":1162,"_37698":1159,"_5":38006,"_38077":55338,"_14695":55339,"_2209":55340},[],"/docs/developer/programmers-guide/access-control-using-acls#builtin-acl-schemes","Builtin ACL Schemes",{"_5302":1163,"_37698":1159,"_5":38006,"_38077":55342,"_14695":55343,"_2209":55344},[],"/docs/developer/programmers-guide/access-control-using-acls#zookeeper-c-client-api","ZooKeeper C client API",{"_5302":1164,"_37698":1159,"_38077":55346,"_5":22127,"_14695":1159,"_2209":55347},[],"ZooKeeper uses ACLs to control access to its znodes (the\ndata nodes of a ZooKeeper data tree). The ACL implementation is\nquite similar to UNIX file access permissions: it employs\npermission bits to allow/disallow various operations against a\nnode and the scope to which the bits apply. Unlike standard UNIX\npermissions, a ZooKeeper node is not limited by the three standard\nscopes for user (owner of the file), group, and world\n(other). ZooKeeper does not have a notion of an owner of a\nznode. Instead, an ACL specifies sets of ids and permissions that\nare associated with those ids.",{"_5302":1165,"_37698":1159,"_38077":55349,"_5":22127,"_14695":1159,"_2209":55350},[],"Note also that an ACL pertains only to a specific znode. In\nparticular it does not apply to children. For example, if\n/app is only readable by ip:172.16.16.1 and\n/app/status is world readable, anyone will\nbe able to read /app/status; ACLs are not\nrecursive.",{"_5302":1166,"_37698":1159,"_38077":55352,"_5":22127,"_14695":1159,"_2209":55353},[],"ZooKeeper supports pluggable authentication schemes. Ids are\nspecified using the form scheme:expression,\nwhere scheme is the authentication scheme\nthat the id corresponds to. The set of valid expressions are defined\nby the scheme. For example, ip:172.16.16.1 is\nan id for a host with the address 172.16.16.1\nusing the ip scheme, whereas digest:bob:password\nis an id for the user with the name of bob using\nthe digest scheme.",{"_5302":1167,"_37698":1159,"_38077":55355,"_5":22127,"_14695":1159,"_2209":55356},[],"When a client connects to ZooKeeper and authenticates\nitself, ZooKeeper associates all the ids that correspond to a\nclient with the clients connection. These ids are checked against\nthe ACLs of znodes when a client tries to access a node. ACLs are\nmade up of pairs of (scheme:expression,\nperms). The format of\nthe expression is specific to the scheme. For\nexample, the pair (ip:19.22.0.0/16, READ)\ngives the READ permission to any clients with\nan IP address that starts with 19.22.",{"_5302":1168,"_37698":1159,"_38077":55358,"_5":22127,"_14695":55335,"_2209":55359},[],"ZooKeeper supports the following permissions:",{"_5302":1169,"_37698":1159,"_38077":55361,"_5":22127,"_14695":55335,"_2209":55362},[],"CREATE: you can create a child node",{"_5302":1170,"_37698":1159,"_38077":55364,"_5":22127,"_14695":55335,"_2209":55365},[],"READ: you can get data from a node and list its children.",{"_5302":1171,"_37698":1159,"_38077":55367,"_5":22127,"_14695":55335,"_2209":55368},[],"WRITE: you can set data for a node",{"_5302":1172,"_37698":1159,"_38077":55370,"_5":22127,"_14695":55335,"_2209":55371},[],"DELETE: you can delete a child node",{"_5302":1173,"_37698":1159,"_38077":55373,"_5":22127,"_14695":55335,"_2209":55374},[],"ADMIN: you can set permissions",{"_5302":1174,"_37698":1159,"_38077":55376,"_5":22127,"_14695":55335,"_2209":55377},[],"The CREATE\nand DELETE permissions have been broken out\nof the WRITE permission for finer grained\naccess controls. The cases for CREATE\nand DELETE are the following:",{"_5302":1175,"_37698":1159,"_38077":55379,"_5":22127,"_14695":55335,"_2209":55380},[],"You want A to be able to do a set on a ZooKeeper node, but\nnot be able to CREATE\nor DELETE children.",{"_5302":1176,"_37698":1159,"_38077":55382,"_5":22127,"_14695":55335,"_2209":55383},[],"CREATE\nwithout DELETE: clients create requests by\ncreating ZooKeeper nodes in a parent directory. You want all\nclients to be able to add, but only request processor can\ndelete. (This is kind of like the APPEND permission for\nfiles.)",{"_5302":1177,"_37698":1159,"_38077":55385,"_5":22127,"_14695":55335,"_2209":55386},[],"Also, the ADMIN permission is there\nsince ZooKeeper doesn’t have a notion of file owner. In some\nsense the ADMIN permission designates the\nentity as the owner. ZooKeeper doesn’t support the LOOKUP\npermission (execute permission bit on directories to allow you\nto LOOKUP even though you can't list the directory). Everyone\nimplicitly has LOOKUP permission. This allows you to stat a\nnode, but nothing more. (The problem is, if you want to call\nzoo_exists() on a node that doesn't exist, there is no\npermission to check.)",{"_5302":1178,"_37698":1159,"_38077":55388,"_5":22127,"_14695":55335,"_2209":55389},[],"ADMIN permission also has a special role in terms of ACLs:\nin order to retrieve ACLs of a znode user has to have READ or ADMIN\npermission, but without ADMIN permission, digest hash values will be\nmasked out.",{"_5302":1179,"_37698":1159,"_38077":55391,"_5":22127,"_14695":55335,"_2209":55392},[],"As of versions 3.9.2 / 3.8.4 / 3.7.3 the exists() call will now verify ACLs\non nodes that exist and the client must have READ permission otherwise\n'Insufficient permission' error will be raised.",{"_5302":1180,"_37698":1159,"_38077":55394,"_5":22127,"_14695":55339,"_2209":55395},[],"ZooKeeper has the following built in schemes:",{"_5302":1181,"_37698":1159,"_38077":55397,"_5":22127,"_14695":55339,"_2209":55398},[],"world has a\nsingle id, anyone, that represents\nanyone.",{"_5302":1182,"_37698":1159,"_38077":55400,"_5":22127,"_14695":55339,"_2209":55401},[],"auth is a special\nscheme which ignores any provided expression and instead uses the current user,\ncredentials, and scheme. Any expression (whether user like with SASL\nauthentication or user:password like with DIGEST authentication) provided is ignored\nby the ZooKeeper server when persisting the ACL. However, the expression must still be\nprovided in the ACL because the ACL must match the form scheme:expression:perms.\nThis scheme is provided as a convenience as it is a common use-case for\na user to create a znode and then restrict access to that znode to only that user.\nIf there is no authenticated user, setting an ACL with the auth scheme will fail.",{"_5302":1183,"_37698":1159,"_38077":55403,"_5":22127,"_14695":55339,"_2209":55404},[],"digest uses\na username:password string to generate\nMD5 hash which is then used as an ACL ID\nidentity. Authentication is done by sending\nthe username:password in clear text. When\nused in the ACL the expression will be\nthe username:base64\nencoded SHA1\npassword digest.",{"_5302":1184,"_37698":1159,"_38077":55406,"_5":22127,"_14695":55339,"_2209":55407},[],"ip uses the\nclient host IP as an ACL ID identity. The ACL expression is of\nthe form addr/bits where the most\nsignificant bits\nof addr are matched against the most\nsignificant bits of the client host\nIP.",{"_5302":1185,"_37698":1159,"_38077":55409,"_5":22127,"_14695":55339,"_2209":55410},[],"x509 uses the client\nX500 Principal as an ACL ID identity. The ACL expression is the exact\nX500 Principal name of a client. When using the secure port, clients\nare automatically authenticated and their auth info for the x509 scheme\nis set.",{"_5302":1186,"_37698":1159,"_38077":55412,"_5":22127,"_14695":55343,"_2209":55413},[],"The following constants are provided by the ZooKeeper C\nlibrary:",{"_5302":1187,"_37698":1159,"_38077":55415,"_5":22127,"_14695":55343,"_2209":55416},[],"const int ZOO_PERM_READ; //can read node’s value and list its children",{"_5302":1188,"_37698":1159,"_38077":55418,"_5":22127,"_14695":55343,"_2209":55419},[],"const int ZOO_PERM_WRITE;// can set the node’s value",{"_5302":1189,"_37698":1159,"_38077":55421,"_5":22127,"_14695":55343,"_2209":55422},[],"const int ZOO_PERM_CREATE; //can create children",{"_5302":1190,"_37698":1159,"_38077":55424,"_5":22127,"_14695":55343,"_2209":55425},[],"const int ZOO_PERM_DELETE;// can delete children",{"_5302":1191,"_37698":1159,"_38077":55427,"_5":22127,"_14695":55343,"_2209":55428},[],"const int ZOO_PERM_ADMIN; //can execute set_acl()",{"_5302":1192,"_37698":1159,"_38077":55430,"_5":22127,"_14695":55343,"_2209":55431},[],"const int ZOO_PERM_ALL;// all of the above flags OR’d together",{"_5302":1193,"_37698":1159,"_38077":55433,"_5":22127,"_14695":55343,"_2209":55434},[],"The following are the standard ACL IDs:",{"_5302":1194,"_37698":1159,"_38077":55436,"_5":22127,"_14695":55343,"_2209":55437},[],"struct Id ZOO_ANYONE_ID_UNSAFE; //(‘world’,’anyone’)",{"_5302":1195,"_37698":1159,"_38077":55439,"_5":22127,"_14695":55343,"_2209":55440},[],"struct Id ZOO_AUTH_IDS;// (‘auth’,’’)",{"_5302":1196,"_37698":1159,"_38077":55442,"_5":22127,"_14695":55343,"_2209":55443},[],"ZOO_AUTH_IDS empty identity string should be interpreted as “the identity of the creator”.",{"_5302":1197,"_37698":1159,"_38077":55445,"_5":22127,"_14695":55343,"_2209":55446},[],"ZooKeeper client comes with three standard ACLs:",{"_5302":1198,"_37698":1159,"_38077":55448,"_5":22127,"_14695":55343,"_2209":55449},[],"struct ACL_vector ZOO_OPEN_ACL_UNSAFE; //(ZOO_PERM_ALL,ZOO_ANYONE_ID_UNSAFE)",{"_5302":1199,"_37698":1159,"_38077":55451,"_5":22127,"_14695":55343,"_2209":55452},[],"struct ACL_vector ZOO_READ_ACL_UNSAFE;// (ZOO_PERM_READ, ZOO_ANYONE_ID_UNSAFE)",{"_5302":1200,"_37698":1159,"_38077":55454,"_5":22127,"_14695":55343,"_2209":55455},[],"struct ACL_vector ZOO_CREATOR_ALL_ACL; //(ZOO_PERM_ALL,ZOO_AUTH_IDS)",{"_5302":1201,"_37698":1159,"_38077":55457,"_5":22127,"_14695":55343,"_2209":55458},[],"The ZOOOPEN_ACL_UNSAFE is completely open free for all\nACL: any application can execute any operation on the node and\ncan create, list and delete its children. The\nZOO_READ_ACL_UNSAFE is read-only access for any\napplication. CREATE_ALL_ACL grants all permissions to the\ncreator of the node. The creator must have been authenticated by\nthe server (for example, using “_digest”\nscheme) before it can create nodes with this ACL.",{"_5302":1202,"_37698":1159,"_38077":55460,"_5":22127,"_14695":55343,"_2209":55461},[],"The following ZooKeeper operations deal with ACLs:",{"_5302":1203,"_37698":1159,"_38077":55463,"_5":22127,"_14695":55343,"_2209":55464},[],"int zoo_add_auth\n(zhandlet *zh,_const char__\nscheme,const char\ncert, int certLen, voidcompletion_t\ncompletion, _const void\n*data);",{"_5302":1204,"_37698":1159,"_38077":55466,"_5":22127,"_14695":55343,"_2209":55467},[],"The application uses the zoo_add_auth function to\nauthenticate itself to the server. The function can be called\nmultiple times if the application wants to authenticate using\ndifferent schemes and/or identities.",{"_5302":1205,"_37698":1159,"_38077":55469,"_5":22127,"_14695":55343,"_2209":55470},[],"int zoo_create\n(zhandlet *zh, _const char\n*path, const char\n*value,int\nvaluelen, const struct\nACLvector *acl, _int\nflags,char\n*realpath, int\nmax_realpath_len);",{"_5302":1206,"_37698":1159,"_38077":55472,"_5":22127,"_14695":55343,"_2209":55473},[],"zoo_create(...) operation creates a new node. The acl\nparameter is a list of ACLs associated with the node. The parent\nnode must have the CREATE permission bit set.",{"_5302":1207,"_37698":1159,"_38077":55475,"_5":22127,"_14695":55343,"_2209":55476},[],"int zoo_get_acl\n(zhandlet *zh, _const char\n*path,struct ACLvector\n*acl, _struct Stat *stat);",{"_5302":1208,"_37698":1159,"_38077":55478,"_5":22127,"_14695":55343,"_2209":55479},[],"This operation returns a node’s ACL info. The node must have READ or ADMIN\npermission set. Without ADMIN permission, the digest hash values will be masked out.",{"_5302":1209,"_37698":1159,"_38077":55481,"_5":22127,"_14695":55343,"_2209":55482},[],"int zoo_set_acl\n(zhandlet *zh, _const char\n*path, int\nversion,const struct\nACL_vector *acl);",{"_5302":1210,"_37698":1159,"_38077":55484,"_5":22127,"_14695":55343,"_2209":55485},[],"This function replaces node’s ACL list with a new one. The\nnode must have the ADMIN permission set.",{"_5302":1211,"_37698":1159,"_38077":55487,"_5":22127,"_14695":55343,"_2209":55488},[],"Here is a sample code that makes use of the above APIs to\nauthenticate itself using the “foo” scheme\nand create an ephemeral node “/xyz” with create-only\npermissions.",{"_5302":1212,"_37698":1159,"_38077":55490,"_5":22127,"_14695":55343,"_2209":52329},[],{"_5302":1213,"_37698":1159,"_38077":55492,"_5":22127,"_14695":55343,"_2209":55493},[],"This is a very simple example which is intended to show how to interact with\nZooKeeper ACLs specifically. See\n.../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example of a\nC client implementation",{"_5302":1214,"_37698":1214,"_5":19386,"_2209":55495,"_38009":55496,"_38077":55497,"_14695":1214},"Bindings",[51788,55097,55328],[],{"_5302":1215,"_37698":1214,"_38077":55499,"_5":22127,"_14695":1214,"_2209":55500},[],"Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.",{"_5302":1216,"_37698":1214,"_5":38006,"_38077":55502,"_14695":55503,"_2209":55504},[],"/docs/developer/programmers-guide/bindings#java-binding","Java Binding",{"_5302":1217,"_37698":1214,"_5":38006,"_38077":55506,"_14695":55507,"_2209":55508},[],"/docs/developer/programmers-guide/bindings#client-configuration-parameters","Client Configuration Parameters",{"_5302":1218,"_37698":1214,"_5":38006,"_38077":55510,"_14695":55511,"_2209":55512},[],"/docs/developer/programmers-guide/bindings#c-binding","C Binding",{"_5302":1219,"_37698":1214,"_5":38006,"_38077":55514,"_14695":55515,"_2209":55516},[],"/docs/developer/programmers-guide/bindings#installation","Installation",{"_5302":1220,"_37698":1214,"_5":38006,"_38077":55518,"_14695":55519,"_2209":55520},[],"/docs/developer/programmers-guide/bindings#building-your-own-c-client","Building Your Own C Client",{"_5302":1221,"_37698":1214,"_38077":55522,"_5":22127,"_14695":1214,"_2209":55523},[],"The ZooKeeper client libraries come in two languages: Java and C.\nThe following sections describe these.",{"_5302":1222,"_37698":1214,"_38077":55525,"_5":22127,"_14695":55503,"_2209":55526},[],"There are two packages that make up the ZooKeeper Java binding:\norg.apache.zookeeper and org.apache.zookeeper.data. The rest of the\npackages that make up ZooKeeper are used internally or are part of the\nserver implementation. The org.apache.zookeeper.data package is made up of\ngenerated classes that are used simply as containers.",{"_5302":1223,"_37698":1214,"_38077":55528,"_5":22127,"_14695":55503,"_2209":55529},[],"The main class used by a ZooKeeper Java client is the ZooKeeper class. Its two constructors differ only\nby an optional session id and password. ZooKeeper supports session\nrecovery across instances of a process. A Java program may save its\nsession id and password to stable storage, restart, and recover the\nsession that was used by the earlier instance of the program.",{"_5302":1224,"_37698":1214,"_38077":55531,"_5":22127,"_14695":55503,"_2209":55532},[],"When a ZooKeeper object is created, two threads are created as\nwell: an IO thread and an event thread. All IO happens on the IO thread\n(using Java NIO). All event callbacks happen on the event thread.\nSession maintenance such as reconnecting to ZooKeeper servers and\nmaintaining heartbeat is done on the IO thread. Responses for\nsynchronous methods are also processed in the IO thread. All responses\nto asynchronous methods and watch events are processed on the event\nthread. There are a few things to notice that result from this\ndesign:",{"_5302":1225,"_37698":1214,"_38077":55534,"_5":22127,"_14695":55503,"_2209":55535},[],"All completions for asynchronous calls and watcher callbacks\nwill be made in order, one at a time. The caller can do any\nprocessing they wish, but no other callbacks will be processed\nduring that time.",{"_5302":1226,"_37698":1214,"_38077":55537,"_5":22127,"_14695":55503,"_2209":55538},[],"Callbacks do not block the processing of the IO thread or the\nprocessing of the synchronous calls.",{"_5302":1227,"_37698":1214,"_38077":55540,"_5":22127,"_14695":55503,"_2209":55541},[],"Synchronous calls may not return in the correct order. For\nexample, assume a client does the following processing: issues an\nasynchronous read of node /a with\nwatch set to true, and then in the completion\ncallback of the read it does a synchronous read of /a. (Maybe not good practice, but not illegal\neither, and it makes for a simple example.)\nNote that if there is a change to /a between the asynchronous read and the\nsynchronous read, the client library will receive the watch event\nsaying /a changed before the\nresponse for the synchronous read, but because of the completion\ncallback blocking the event queue, the synchronous read will\nreturn with the new value of /a\nbefore the watch event is processed.",{"_5302":1228,"_37698":1214,"_38077":55543,"_5":22127,"_14695":55503,"_2209":55544},[],"Finally, the rules associated with shutdown are straightforward:\nonce a ZooKeeper object is closed or receives a fatal event\n(SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid.\nOn a close, the two threads shut down and any further access on zookeeper\nhandle is undefined behavior and should be avoided.",{"_5302":1229,"_37698":1214,"_38077":55546,"_5":22127,"_14695":55507,"_2209":55547},[],"The following list contains configuration properties for the Java client. You can set any\nof these properties using Java system properties. For server properties, please check the\nServer configuration section of the Admin Guide.\nThe ZooKeeper Wiki also has useful pages about\nZooKeeper SSL support,\nand SASL authentication for ZooKeeper.",{"_5302":1230,"_37698":1214,"_38077":55549,"_5":22127,"_14695":55507,"_2209":55550},[],"zookeeper.sasl.client :\nSet the value to false to disable\nSASL authentication. Default is true.",{"_5302":1231,"_37698":1214,"_38077":55552,"_5":22127,"_14695":55507,"_2209":55553},[],"zookeeper.sasl.clientconfig :\nSpecifies the context key in the JAAS login file. Default is \"Client\".",{"_5302":1232,"_37698":1214,"_38077":55555,"_5":22127,"_14695":55507,"_2209":55556},[],"zookeeper.server.principal :\nSpecifies the server principal to be used by the client for authentication, while connecting to the zookeeper\nserver, when Kerberos authentication is enabled. If this configuration is provided, then\nthe ZooKeeper client will NOT USE any of the following parameters to determine the server principal:",{"_5302":1233,"_37698":1214,"_38077":55558,"_5":22127,"_14695":55507,"_2209":55559},[],"zookeeper.sasl.client.username :\nTraditionally, a principal is divided into three parts: the primary, the instance, and the realm.\nThe format of a typical Kerberos V5 principal is primary/instance@REALM.\nzookeeper.sasl.client.username specifies the primary part of the server principal. Default\nis \"zookeeper\". Instance part is derived from the server IP. Finally server's principal is\nusername/IP@realm, where username is the value of zookeeper.sasl.client.username, IP is\nthe server IP, and realm is the value of zookeeper.server.realm.",{"_5302":1234,"_37698":1214,"_38077":55561,"_5":22127,"_14695":55507,"_2209":55562},[],"zookeeper.sasl.client.canonicalize.hostname :\nExpecting the zookeeper.server.principal parameter is not provided, the ZooKeeper client will try to\ndetermine the 'instance' (host) part of the ZooKeeper server principal. First it takes the hostname provided\nas the ZooKeeper server connection string. Then it tries to 'canonicalize' the address by getting\nthe fully qualified domain name belonging to the address. You can disable this 'canonicalization'\nby setting: zookeeper.sasl.client.canonicalize.hostname=false",{"_5302":1235,"_37698":1214,"_38077":55564,"_5":22127,"_14695":55507,"_2209":55565},[],"zookeeper.sasl.client.allowReverseDnsLookup :\nNew in 3.9.5:\nControls whether reverse DNS lookup is enabled when constructing the server principal for the SASL client.\nDefault: false",{"_5302":1236,"_37698":1214,"_38077":55567,"_5":22127,"_14695":55507,"_2209":55568},[],"zookeeper.server.realm :\nRealm part of the server principal. By default it is the client principal realm.",{"_5302":1237,"_37698":1214,"_38077":55570,"_5":22127,"_14695":55507,"_2209":55571},[],"zookeeper.disableAutoWatchReset :\nThis switch controls whether automatic watch resetting is enabled. Clients automatically\nreset watches during session reconnect by default, this option allows the client to turn off\nthis behavior by setting zookeeper.disableAutoWatchReset to true.",{"_5302":1238,"_37698":1214,"_38077":55573,"_5":22127,"_14695":55507,"_2209":55574},[],"zookeeper.client.secure :\nNew in 3.5.5:\nIf you want to connect to the server secure client port, you need to set this property to\ntrue\non the client. This will connect to server using SSL with specified credentials. Note that\nit requires the Netty client.",{"_5302":1239,"_37698":1214,"_38077":55576,"_5":22127,"_14695":55507,"_2209":55577},[],"zookeeper.clientCnxnSocket :\nSpecifies which ClientCnxnSocket to be used. Possible values are\norg.apache.zookeeper.ClientCnxnSocketNIO\nand\norg.apache.zookeeper.ClientCnxnSocketNetty\n. Default is\norg.apache.zookeeper.ClientCnxnSocketNIO\n. If you want to connect to server's secure client port, you need to set this property to\norg.apache.zookeeper.ClientCnxnSocketNetty\non client.",{"_5302":1240,"_37698":1214,"_38077":55579,"_5":22127,"_14695":55507,"_2209":55580},[],"zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password :\nNew in 3.5.5:\nSpecifies the file path to a JKS containing the local credentials to be used for SSL connections,\nand the password to unlock the file.",{"_5302":1241,"_37698":1214,"_38077":55582,"_5":22127,"_14695":55507,"_2209":55583},[],"zookeeper.ssl.keyStore.passwordPath :\nNew in 3.8.0:\nSpecifies the file path which contains the keystore password",{"_5302":1242,"_37698":1214,"_38077":55585,"_5":22127,"_14695":55507,"_2209":55586},[],"zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password :\nNew in 3.5.5:\nSpecifies the file path to a JKS containing the remote credentials to be used for SSL connections,\nand the password to unlock the file.",{"_5302":1243,"_37698":1214,"_38077":55588,"_5":22127,"_14695":55507,"_2209":55589},[],"zookeeper.ssl.trustStore.passwordPath :\nNew in 3.8.0:\nSpecifies the file path which contains the truststore password",{"_5302":1244,"_37698":1214,"_38077":55591,"_5":22127,"_14695":55507,"_2209":55592},[],"zookeeper.ssl.keyStore.type and zookeeper.ssl.trustStore.type:\nNew in 3.5.5:\nSpecifies the file format of keys/trust store files used to establish TLS connection to the ZooKeeper server.\nValues: JKS, PEM, PKCS12 or null (detect by filename). Default: null.\nNew in 3.6.3, 3.7.0:\nThe format BCFKS was added.",{"_5302":1245,"_37698":1214,"_38077":55594,"_5":22127,"_14695":55507,"_2209":55595},[],"jute.maxbuffer :\nIn the client side, it specifies the maximum size of the incoming data from the server. The default is 0xfffff(1048575) bytes,\nor just under 1M. This is really a sanity check. The ZooKeeper server is designed to store and send\ndata on the order of kilobytes. If incoming data length is more than this value, an IOException\nis raised. This value of client side should keep same with the server side(Setting System.setProperty(\"jute.maxbuffer\", \"xxxx\") in the client side will work),\notherwise problems will arise.",{"_5302":1246,"_37698":1214,"_38077":55597,"_5":22127,"_14695":55507,"_2209":55598},[],"zookeeper.kinit :\nSpecifies path to kinit binary. Default is \"/usr/bin/kinit\".",{"_5302":1247,"_37698":1214,"_38077":55600,"_5":22127,"_14695":55507,"_2209":55601},[],"zookeeper.shuffleDnsResponse :\nNew in 3.10.0:\nSpecifies whether ZooKeeper client should randomly pick an IP address from the DNS lookup query result when resolving\nserver addresses or not. This is a feature flag in order to keep the old behavior of the default DNS resolver in\nStaticHostProvider, because we disabled it by default. The reason behind that is shuffling the response of DNS queries\nshadows JVM network property java.net.preferIPv6Addresses (default: false). This property controls whether JVM's built-in\nresolver should prioritize v4 (false value) or v6 (true value) addresses when putting together the list of IP addresses\nin the result. In other words the above Java system property was completely ineffective in the case of ZooKeeper server host\nresolution protocol and this must have been fixed. In a dual stack environment one might want to prefer one stack over\nthe other which, in case of Java processes, should be controlled by JVM network properties and ZooKeeper must honor\nthese settings. Since the old behavior has been with us since day zero, we introduced this feature flag in case you\nneed it. Such case could be when you have a buggy DNS server which responds IP addresses always in the same order and\nyou want to randomize that.\nDefault: false",{"_5302":1248,"_37698":1214,"_38077":55603,"_5":22127,"_14695":55507,"_2209":55604},[],"zookeeper.hostProvider.dnsSrvRefreshIntervalSeconds :\nNew in 3.10.0:\nSpecifies the refresh interval in seconds for DNS SRV record lookups when using DnsSrvHostProvider.\nA value of 0 disables periodic refresh.\nDefault: 60 seconds",{"_5302":1249,"_37698":1214,"_38077":55606,"_5":22127,"_14695":55511,"_2209":55607},[],"The C binding has a single-threaded and multi-threaded library.\nThe multi-threaded library is easiest to use and is most similar to the\nJava API. This library will create an IO thread and an event dispatch\nthread for handling connection maintenance and callbacks. The\nsingle-threaded library allows ZooKeeper to be used in event driven\napplications by exposing the event loop used in the multi-threaded\nlibrary.",{"_5302":1250,"_37698":1214,"_38077":55609,"_5":22127,"_14695":55511,"_2209":55610},[],"The package includes two shared libraries: zookeeperst and\nzookeeper_mt. The former only provides the asynchronous APIs and\ncallbacks for integrating into the application's event loop. The only\nreason this library exists is to support the platforms were a\n_pthread library is not available or is unstable\n(i.e. FreeBSD 4.x). In all other cases, application developers should\nlink with zookeeper_mt, as it includes support for both Sync and Async\nAPI.",{"_5302":1251,"_37698":1214,"_38077":55612,"_5":22127,"_14695":55515,"_2209":55613},[],"If you're building the client from a check-out from the Apache\nrepository, follow the steps outlined below. If you're building from a\nproject source package downloaded from apache, skip to step 3.",{"_5302":1252,"_37698":1214,"_38077":55615,"_5":22127,"_14695":55515,"_2209":55616},[],"Run mvn compile in zookeeper-jute directory (.../trunk/zookeeper-jute).\nThis will create a directory named \"generated\" under\n.../trunk/zookeeper-client/zookeeper-client-c.",{"_5302":1253,"_37698":1214,"_38077":55618,"_5":22127,"_14695":55515,"_2209":55619},[],"Change directory to the*.../trunk/zookeeper-client/zookeeper-client-c*\nand run autoreconf -if to bootstrap autoconf, automake and libtool. Make sure you have autoconf version 2.59 or greater installed.\nSkip to step4.",{"_5302":1254,"_37698":1214,"_38077":55621,"_5":22127,"_14695":55515,"_2209":55622},[],"If you are building from a project source package,\nunzip/untar the source tarball and cd to the*\nzookeeper-x.x.x/zookeeper-client/zookeeper-client-c* directory.",{"_5302":1255,"_37698":1214,"_38077":55624,"_5":22127,"_14695":55515,"_2209":55625},[],"Run ./configure to\ngenerate the makefile. Here are some of options the configure utility supports that can be\nuseful in this step:",{"_5302":1256,"_37698":1214,"_38077":55627,"_5":22127,"_14695":55515,"_2209":55628},[],"--enable-debug\nEnables optimization and enables debug info compiler\noptions. (Disabled by default.)",{"_5302":1257,"_37698":1214,"_38077":55630,"_5":22127,"_14695":55515,"_2209":55631},[],"--without-syncapi\nDisables Sync API support; zookeeper_mt library won't be\nbuilt. (Enabled by default.)",{"_5302":1258,"_37698":1214,"_38077":55633,"_5":22127,"_14695":55515,"_2209":55634},[],"--disable-static\nDo not build static libraries. (Enabled by\ndefault.)",{"_5302":1259,"_37698":1214,"_38077":55636,"_5":22127,"_14695":55515,"_2209":55637},[],"--disable-shared\nDo not build shared libraries. (Enabled by\ndefault.)",{"_5302":1260,"_37698":1214,"_38077":55639,"_5":22127,"_14695":55515,"_2209":52329},[],{"_5302":1261,"_37698":1214,"_38077":55641,"_5":22127,"_14695":55515,"_2209":55642},[],"See INSTALL for general information about running configure. 1. Run\nmake or make install to build the libraries and install them. 1. To\ngenerate doxygen documentation for the ZooKeeper API, run make\n doxygen-doc. All documentation will be placed in a new subfolder named\ndocs. By default, this command only generates HTML. For information on other\ndocument formats, run ./configure --help",{"_5302":1262,"_37698":1214,"_38077":55644,"_5":22127,"_14695":55519,"_2209":55645},[],"In order to be able to use the ZooKeeper C API in your application\nyou have to remember to",{"_5302":1263,"_37698":1214,"_38077":55647,"_5":22127,"_14695":55519,"_2209":55648},[],"Include ZooKeeper header: #include ",{"_5302":1264,"_37698":1214,"_38077":55650,"_5":22127,"_14695":55519,"_2209":55651},[],"If you are building a multithreaded client, compile with\n-DTHREADED compiler flag to enable the multi-threaded version of\nthe library, and then link against the\nzookeeper_mt library. If you are building a\nsingle-threaded client, do not compile with -DTHREADED, and be\nsure to link against the_zookeeper_st_library.",{"_5302":1265,"_37698":1214,"_38077":55653,"_5":22127,"_14695":55519,"_2209":52329},[],{"_5302":1266,"_37698":1214,"_38077":55655,"_5":22127,"_14695":55519,"_2209":55656},[],"See .../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example\nof a C client implementation",{"_5302":1267,"_37698":1267,"_5":19386,"_2209":55658,"_38009":55659,"_38077":55660,"_14695":1267},"Building Blocks: A Guide to ZooKeeper Operations",[51788,55097,55328],[],{"_5302":1268,"_37698":1267,"_38077":55662,"_5":22127,"_14695":1267,"_2209":55663},[],"A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.",{"_5302":1269,"_37698":1267,"_5":38006,"_38077":55665,"_14695":55666,"_2209":55667},[],"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#handling-errors","Handling Errors",{"_5302":1270,"_37698":1267,"_5":38006,"_38077":55669,"_14695":55670,"_2209":55671},[],"/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations#connecting-to-zookeeper","Connecting to ZooKeeper",{"_5302":1271,"_37698":1267,"_38077":55673,"_5":22127,"_14695":1267,"_2209":55674},[],"This section surveys all the operations a developer can perform\nagainst a ZooKeeper server. It is lower level information than the earlier\nconcepts chapters in this manual, but higher level than the ZooKeeper API\nReference.",{"_5302":1272,"_37698":1267,"_38077":55676,"_5":22127,"_14695":55666,"_2209":55677},[],"Both the Java and C client bindings may report errors. The Java client binding does so by throwing KeeperException, calling code() on the exception will return the specific error code. The C client binding returns an error code as defined in the enum ZOO_ERRORS. API callbacks indicate result code for both language bindings. See the API documentation (javadoc for Java, doxygen for C) for full details on the possible errors and their meaning.",{"_5302":1273,"_37698":1267,"_38077":55679,"_5":22127,"_14695":55670,"_2209":55680},[],"Before we begin, you will have to set up a running Zookeeper server so that we can start developing the client. For C client bindings, we will be using the multithreaded library(zookeepermt) with a simple example written in C. To establish a connection with Zookeeper server, we make use of C API - _zookeeper_init with the following signature:",{"_5302":1274,"_37698":1267,"_38077":55682,"_5":22127,"_14695":55670,"_2209":55683},[],"int zookeeper_init(const char *host, watcher_fn fn, int recv_timeout, const clientid_t *clientid, void *context, int flags);",{"_5302":1275,"_37698":1267,"_38077":55685,"_5":22127,"_14695":55670,"_2209":55686},[],"*host :\nConnection string to zookeeper server in the format of host:port. If there are multiple servers, use comma as separator after specifying the host:port pairs. Eg: \"127.0.0.1:2181,127.0.0.1:3001,127.0.0.1:3002\"",{"_5302":1276,"_37698":1267,"_38077":55688,"_5":22127,"_14695":55670,"_2209":55689},[],"fn :\nWatcher function to process events when a notification is triggered.",{"_5302":1277,"_37698":1267,"_38077":55691,"_5":22127,"_14695":55670,"_2209":55692},[],"recv_timeout :\nSession expiration time in milliseconds.",{"_5302":1278,"_37698":1267,"_38077":55694,"_5":22127,"_14695":55670,"_2209":55695},[],"*clientid :\nWe can specify 0 for a new session. If a session has already establish previously, we could provide that client ID and it would reconnect to that previous session.",{"_5302":1279,"_37698":1267,"_38077":55697,"_5":22127,"_14695":55670,"_2209":55698},[],"*context :\nContext object that can be associated with the zkhandle_t handler. If it is not used, we can set it to 0.",{"_5302":1280,"_37698":1267,"_38077":55700,"_5":22127,"_14695":55670,"_2209":55701},[],"flags :\nIn an initiation, we can leave it for 0.",{"_5302":1281,"_37698":1267,"_38077":55703,"_5":22127,"_14695":55670,"_2209":55704},[],"We will demonstrate client that outputs \"Connected to Zookeeper\" after successful connection or an error message otherwise. Let's call the following code zkClient.cc:",{"_5302":1282,"_37698":1267,"_38077":55706,"_5":22127,"_14695":55670,"_2209":55707},[],"Compile the code with the multithreaded library mentioned before.",{"_5302":1283,"_37698":1267,"_38077":55709,"_5":22127,"_14695":55670,"_2209":55710},[],"> g++ -Iinclude/ zkClient.cpp -lzookeeper_mt -o Client",{"_5302":1284,"_37698":1267,"_38077":55712,"_5":22127,"_14695":55670,"_2209":55713},[],"Run the client.",{"_5302":1285,"_37698":1267,"_38077":55715,"_5":22127,"_14695":55670,"_2209":55716},[],"> ./Client",{"_5302":1286,"_37698":1267,"_38077":55718,"_5":22127,"_14695":55670,"_2209":55719},[],"From the output, you should see \"Connected to Zookeeper\" along with Zookeeper's DEBUG messages if the connection is successful.",{"_5302":1287,"_37698":1287,"_5":19386,"_2209":55721,"_38009":55722,"_38077":55723,"_14695":1287},"Consistency Guarantees",[51788,55097,55328],[],{"_5302":1288,"_37698":1287,"_38077":55725,"_5":22127,"_14695":1287,"_2209":55726},[],"Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.",{"_5302":1289,"_37698":1287,"_38077":55728,"_5":22127,"_14695":1287,"_2209":55729},[],"ZooKeeper is a high performance, scalable service. Both reads and\nwrite operations are designed to be fast, though reads are faster than\nwrites. The reason for this is that in the case of reads, ZooKeeper can\nserve older data, which in turn is due to ZooKeeper's consistency\nguarantees:",{"_5302":1290,"_37698":1287,"_38077":55731,"_5":22127,"_14695":1287,"_2209":55732},[],"Sequential Consistency :\nUpdates from a client will be applied in the order that they\nwere sent.",{"_5302":1291,"_37698":1287,"_38077":55734,"_5":22127,"_14695":1287,"_2209":55735},[],"Atomicity :\nUpdates either succeed or fail — there are no partial\nresults.",{"_5302":1292,"_37698":1287,"_38077":55737,"_5":22127,"_14695":1287,"_2209":55738},[],"Single System Image :\nA client will see the same view of the service regardless of\nthe server that it connects to. i.e., a client will never see an\nolder view of the system even if the client fails over to a\ndifferent server with the same session.",{"_5302":1293,"_37698":1287,"_38077":55740,"_5":22127,"_14695":1287,"_2209":55741},[],"Reliability :\nOnce an update has been applied, it will persist from that\ntime forward until a client overwrites the update. This guarantee\nhas two corollaries:",{"_5302":1294,"_37698":1287,"_38077":55743,"_5":22127,"_14695":1287,"_2209":55744},[],"If a client gets a successful return code, the update will\nhave been applied. On some failures (communication errors,\ntimeouts, etc) the client will not know if the update has\napplied or not. We take steps to minimize the failures, but the\nguarantee is only present with successful return codes.\n(This is called the monotonicity condition in Paxos.)",{"_5302":1295,"_37698":1287,"_38077":55746,"_5":22127,"_14695":1287,"_2209":55747},[],"Any updates that are seen by the client, through a read\nrequest or successful update, will never be rolled back when\nrecovering from server failures.",{"_5302":1296,"_37698":1287,"_38077":55749,"_5":22127,"_14695":1287,"_2209":55750},[],"Timeliness :\nThe clients view of the system is guaranteed to be up-to-date\nwithin a certain time bound (on the order of tens of seconds).\nEither system changes will be seen by a client within this bound, or\nthe client will detect a service outage.",{"_5302":1297,"_37698":1287,"_38077":55752,"_5":22127,"_14695":1287,"_2209":55753},[],"Using these consistency guarantees it is easy to build higher level\nfunctions such as leader election, barriers, queues, and read/write\nrevocable locks solely at the ZooKeeper client (no additions needed to\nZooKeeper). See Recipes and Solutions\nfor more details.",{"_5302":1298,"_37698":1287,"_38077":55755,"_5":22127,"_14695":1287,"_2209":52329},[],{"_5302":1299,"_37698":1287,"_38077":55757,"_5":22127,"_14695":1287,"_2209":55758},[],"Sometimes developers mistakenly assume one other guarantee that ZooKeeper does\nnot in fact make. This is: Simultaneously Consistent Cross-Client Views:\nZooKeeper does not guarantee that at every instance in time, two different\nclients will have identical views of ZooKeeper data. Due to factors like\nnetwork delays, one client may perform an update before another client gets\nnotified of the change. Consider the scenario of two clients, A and B. If\nclient A sets the value of a znode /a from 0 to 1, then tells client B to read\n/a, client B may read the old value of 0, depending on which server it is\nconnected to. If it is important that Client A and Client B read the same\nvalue, Client B should call the sync() method from the ZooKeeper API\nmethod before it performs its read. So, ZooKeeper by itself doesn't guarantee\nthat changes occur synchronously across all servers, but ZooKeeper primitives\ncan be used to construct higher level functions that provide useful client\nsynchronization. (For more information, see the ZooKeeper\nRecipes).",{"_5302":1300,"_37698":1300,"_5":19386,"_2209":55760,"_38009":55761,"_38077":55762,"_14695":1300},"Data Model",[51788,55097,55328],[],{"_5302":1301,"_37698":1300,"_38077":55764,"_5":22127,"_14695":1300,"_2209":55765},[],"Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.",{"_5302":1302,"_37698":1300,"_5":38006,"_38077":55767,"_14695":55768,"_2209":55769},[],"/docs/developer/programmers-guide/data-model#znodes","ZNodes",{"_5302":1303,"_37698":1300,"_5":38006,"_38077":55771,"_14695":55772,"_2209":55773},[],"/docs/developer/programmers-guide/data-model#watches","Watches",{"_5302":1304,"_37698":1300,"_5":38006,"_38077":55775,"_14695":55776,"_2209":55777},[],"/docs/developer/programmers-guide/data-model#data-access","Data Access",{"_5302":1305,"_37698":1300,"_5":38006,"_38077":55779,"_14695":55780,"_2209":55781},[],"/docs/developer/programmers-guide/data-model#ephemeral-nodes","Ephemeral Nodes",{"_5302":1306,"_37698":1300,"_5":38006,"_38077":55783,"_14695":55784,"_2209":55785},[],"/docs/developer/programmers-guide/data-model#getephemerals","getEphemerals()",{"_5302":1307,"_37698":1300,"_5":38006,"_38077":55787,"_14695":55788,"_2209":55789},[],"/docs/developer/programmers-guide/data-model#sequence-nodes--unique-naming","Sequence Nodes — Unique Naming",{"_5302":1308,"_37698":1300,"_5":38006,"_38077":55791,"_14695":55792,"_2209":55793},[],"/docs/developer/programmers-guide/data-model#container-nodes","Container Nodes",{"_5302":1309,"_37698":1300,"_5":38006,"_38077":55795,"_14695":55796,"_2209":55797},[],"/docs/developer/programmers-guide/data-model#added-in-353","Added in 3.5.3",{"_5302":1310,"_37698":1300,"_5":38006,"_38077":55799,"_14695":55800,"_2209":55801},[],"/docs/developer/programmers-guide/data-model#ttl-nodes","TTL Nodes",{"_5302":1311,"_37698":1300,"_5":38006,"_38077":55803,"_14695":55804,"_2209":55797},[],"/docs/developer/programmers-guide/data-model#added-in-353-1",{"_5302":1312,"_37698":1300,"_5":38006,"_38077":55806,"_14695":55807,"_2209":55808},[],"/docs/developer/programmers-guide/data-model#time-in-zookeeper","Time in ZooKeeper",{"_5302":1313,"_37698":1300,"_5":38006,"_38077":55810,"_14695":55811,"_2209":55812},[],"/docs/developer/programmers-guide/data-model#zookeeper-stat-structure","ZooKeeper Stat Structure",{"_5302":1314,"_37698":1300,"_38077":55814,"_5":22127,"_14695":1300,"_2209":55815},[],"ZooKeeper has a hierarchal namespace, much like a distributed file\nsystem. The only difference is that each node in the namespace can have\ndata associated with it as well as children. It is like having a file\nsystem that allows a file to also be a directory. Paths to nodes are\nalways expressed as canonical, absolute, slash-separated paths; there are\nno relative reference. Any unicode character can be used in a path subject\nto the following constraints:",{"_5302":1315,"_37698":1300,"_38077":55817,"_5":22127,"_14695":1300,"_2209":55818},[],"The null character (\\u0000) cannot be part of a path name. (This\ncauses problems with the C binding.)",{"_5302":1316,"_37698":1300,"_38077":55820,"_5":22127,"_14695":1300,"_2209":55821},[],"The following characters can't be used because they don't\ndisplay well, or render in confusing ways: \\u0001 - \\u001F and \\u007F",{"_5302":1317,"_37698":1300,"_38077":55823,"_5":22127,"_14695":1300,"_2209":55824},[],"\\u009F.",{"_5302":1318,"_37698":1300,"_38077":55826,"_5":22127,"_14695":1300,"_2209":55827},[],"The following characters are not allowed: \\ud800 - uF8FF,\n\\uFFF0 - uFFFF.",{"_5302":1319,"_37698":1300,"_38077":55829,"_5":22127,"_14695":1300,"_2209":55830},[],"The \".\" character can be used as part of another name, but \".\"\nand \"..\" cannot alone be used to indicate a node along a path,\nbecause ZooKeeper doesn't use relative paths. The following would be\ninvalid: \"/a/b/./c\" or \"/a/b/../c\".",{"_5302":1320,"_37698":1300,"_38077":55832,"_5":22127,"_14695":1300,"_2209":55833},[],"The token \"zookeeper\" is reserved.",{"_5302":1321,"_37698":1300,"_38077":55835,"_5":22127,"_14695":55768,"_2209":55836},[],"Every node in a ZooKeeper tree is referred to as a\nznode. Znodes maintain a stat structure that\nincludes version numbers for data changes, acl changes. The stat\nstructure also has timestamps. The version number, together with the\ntimestamp, allows ZooKeeper to validate the cache and to coordinate\nupdates. Each time a znode's data changes, the version number increases.\nFor instance, whenever a client retrieves data, it also receives the\nversion of the data. And when a client performs an update or a delete,\nit must supply the version of the data of the znode it is changing. If\nthe version it supplies doesn't match the actual version of the data,\nthe update will fail. (This behavior can be overridden.)",{"_5302":1322,"_37698":1300,"_38077":55838,"_5":22127,"_14695":55768,"_2209":52329},[],{"_5302":1323,"_37698":1300,"_38077":55840,"_5":22127,"_14695":55768,"_2209":55841},[],"In distributed application engineering, the words node can refer to a\ngeneric host machine, a server, a member of an ensemble, a client process,\netc. In the ZooKeeper documentation, znodes refer to the data nodes.\nServers refers to machines that make up the ZooKeeper service; quorum\npeers refer to the servers that make up an ensemble; client refers to any\nhost or process which uses a ZooKeeper service.",{"_5302":1324,"_37698":1300,"_38077":55843,"_5":22127,"_14695":55768,"_2209":55844},[],"Znodes are the main entity that a programmer access. They have\nseveral characteristics that are worth mentioning here.",{"_5302":1325,"_37698":1300,"_38077":55846,"_5":22127,"_14695":55772,"_2209":55847},[],"Clients can set watches on znodes. Changes to that znode trigger\nthe watch and then clear the watch. When a watch triggers, ZooKeeper\nsends the client a notification. More information about watches can be\nfound in the section\nZooKeeper Watches.",{"_5302":1326,"_37698":1300,"_38077":55849,"_5":22127,"_14695":55776,"_2209":55850},[],"The data stored at each znode in a namespace is read and written\natomically. Reads get all the data bytes associated with a znode and a\nwrite replaces all the data. Each node has an Access Control List\n(ACL) that restricts who can do what.",{"_5302":1327,"_37698":1300,"_38077":55852,"_5":22127,"_14695":55776,"_2209":55853},[],"ZooKeeper was not designed to be a general database or large\nobject store. Instead, it manages coordination data. This data can\ncome in the form of configuration, status information, rendezvous, etc.\nA common property of the various forms of coordination data is that\nthey are relatively small: measured in kilobytes.\nThe ZooKeeper client and the server implementations have sanity checks\nto ensure that znodes have less than 1M of data, but the data should\nbe much less than that on average. Operating on relatively large data\nsizes will cause some operations to take much more time than others and\nwill affect the latencies of some operations because of the extra time\nneeded to move more data over the network and onto storage media. If\nlarge data storage is needed, the usual pattern of dealing with such\ndata is to store it on a bulk storage system, such as NFS or HDFS, and\nstore pointers to the storage locations in ZooKeeper.",{"_5302":1328,"_37698":1300,"_38077":55855,"_5":22127,"_14695":55780,"_2209":55856},[],"ZooKeeper also has the notion of ephemeral nodes. These znodes\nexists as long as the session that created the znode is active. When\nthe session ends the znode is deleted. Because of this behavior\nephemeral znodes are not allowed to have children. The list of ephemerals\nfor the session can be retrieved using getEphemerals() api.",{"_5302":1329,"_37698":1300,"_38077":55858,"_5":22127,"_14695":55784,"_2209":55859},[],"Retrieves the list of ephemeral nodes created by the session for the\ngiven path. If the path is empty, it will list all the ephemeral nodes\nfor the session.\nUse Case - A sample use case might be, if the list of ephemeral\nnodes for the session needs to be collected for duplicate data entry check\nand the nodes are created in a sequential manner so you do not know the name\nfor duplicate check. In that case, getEphemerals() api could be used to\nget the list of nodes for the session. This might be a typical use case\nfor service discovery.",{"_5302":1330,"_37698":1300,"_38077":55861,"_5":22127,"_14695":55788,"_2209":55862},[],"When creating a znode you can also request that\nZooKeeper append a monotonically increasing counter to the end\nof path. This counter is unique to the parent znode. The\ncounter has a format of %010d — that is 10 digits with 0\n(zero) padding (the counter is formatted in this way to\nsimplify sorting), i.e. \"0000000001\". See\nQueue\nRecipe for an example use of this feature. Note: the\ncounter used to store the next sequence number is a signed int\n(4bytes) maintained by the parent node, the counter will\noverflow when incremented beyond 2147483647 (resulting in a\nname \"-2147483648\").",{"_5302":1331,"_37698":1300,"_38077":55864,"_5":22127,"_14695":55796,"_2209":55865},[],"ZooKeeper has the notion of container znodes. Container znodes are\nspecial purpose znodes useful for recipes such as leader, lock, etc.\nWhen the last child of a container is deleted, the container becomes\na candidate to be deleted by the server at some point in the future.",{"_5302":1332,"_37698":1300,"_38077":55867,"_5":22127,"_14695":55796,"_2209":55868},[],"Given this property, you should be prepared to get\nKeeperException.NoNodeException when creating children inside of\ncontainer znodes. i.e. when creating child znodes inside of container znodes\nalways check for KeeperException.NoNodeException and recreate the container\nznode when it occurs.",{"_5302":1333,"_37698":1300,"_38077":55870,"_5":22127,"_14695":55804,"_2209":55871},[],"When creating PERSISTENT or PERSISTENT_SEQUENTIAL znodes,\nyou can optionally set a TTL in milliseconds for the znode. If the znode\nis not modified within the TTL and has no children it will become a candidate\nto be deleted by the server at some point in the future.",{"_5302":1334,"_37698":1300,"_38077":55873,"_5":22127,"_14695":55804,"_2209":55874},[],"Note: TTL Nodes must be enabled via System property as they\nare disabled by default. See the Administrator's Guide for\ndetails. If you attempt to create TTL Nodes without the\nproper System property set the server will throw\nKeeperException.UnimplementedException.",{"_5302":1335,"_37698":1300,"_38077":55876,"_5":22127,"_14695":55807,"_2209":55877},[],"ZooKeeper tracks time multiple ways:",{"_5302":1336,"_37698":1300,"_38077":55879,"_5":22127,"_14695":55807,"_2209":55880},[],"Zxid\nEvery change to the ZooKeeper state receives a stamp in the\nform of a zxid (ZooKeeper Transaction Id).\nThis exposes the total ordering of all changes to ZooKeeper. Each\nchange will have a unique zxid and if zxid1 is smaller than zxid2\nthen zxid1 happened before zxid2.",{"_5302":1337,"_37698":1300,"_38077":55882,"_5":22127,"_14695":55807,"_2209":55883},[],"Version numbers\nEvery change to a node will cause an increase to one of the\nversion numbers of that node. The three version numbers are version\n(number of changes to the data of a znode), cversion (number of\nchanges to the children of a znode), and aversion (number of changes\nto the ACL of a znode).",{"_5302":1338,"_37698":1300,"_38077":55885,"_5":22127,"_14695":55807,"_2209":55886},[],"Ticks\nWhen using multi-server ZooKeeper, servers use ticks to define\ntiming of events such as status uploads, session timeouts,\nconnection timeouts between peers, etc. The tick time is only\nindirectly exposed through the minimum session timeout (2 times the\ntick time); if a client requests a session timeout less than the\nminimum session timeout, the server will tell the client that the\nsession timeout is actually the minimum session timeout.",{"_5302":1339,"_37698":1300,"_38077":55888,"_5":22127,"_14695":55807,"_2209":55889},[],"Real time\nZooKeeper doesn't use real time, or clock time, at all except\nto put timestamps into the stat structure on znode creation and\nznode modification.",{"_5302":1340,"_37698":1300,"_38077":55891,"_5":22127,"_14695":55811,"_2209":55892},[],"The Stat structure for each znode in ZooKeeper is made up of the\nfollowing fields:",{"_5302":1341,"_37698":1300,"_38077":55894,"_5":22127,"_14695":55811,"_2209":55895},[],"czxid\nThe zxid of the change that caused this znode to be\ncreated.",{"_5302":1342,"_37698":1300,"_38077":55897,"_5":22127,"_14695":55811,"_2209":55898},[],"mzxid\nThe zxid of the change that last modified this znode.",{"_5302":1343,"_37698":1300,"_38077":55900,"_5":22127,"_14695":55811,"_2209":55901},[],"pzxid\nThe zxid of the change that last modified children of this znode.",{"_5302":1344,"_37698":1300,"_38077":55903,"_5":22127,"_14695":55811,"_2209":55904},[],"ctime\nThe time in milliseconds from epoch when this znode was\ncreated.",{"_5302":1345,"_37698":1300,"_38077":55906,"_5":22127,"_14695":55811,"_2209":55907},[],"mtime\nThe time in milliseconds from epoch when this znode was last\nmodified.",{"_5302":1346,"_37698":1300,"_38077":55909,"_5":22127,"_14695":55811,"_2209":55910},[],"version\nThe number of changes to the data of this znode.",{"_5302":1347,"_37698":1300,"_38077":55912,"_5":22127,"_14695":55811,"_2209":55913},[],"cversion\nThe number of changes to the children of this znode.",{"_5302":1348,"_37698":1300,"_38077":55915,"_5":22127,"_14695":55811,"_2209":55916},[],"aversion\nThe number of changes to the ACL of this znode.",{"_5302":1349,"_37698":1300,"_38077":55918,"_5":22127,"_14695":55811,"_2209":55919},[],"ephemeralOwner\nThe session id of the owner of this znode if the znode is an\nephemeral node. If it is not an ephemeral node, it will be\nzero.",{"_5302":1350,"_37698":1300,"_38077":55921,"_5":22127,"_14695":55811,"_2209":55922},[],"dataLength\nThe length of the data field of this znode.",{"_5302":1351,"_37698":1300,"_38077":55924,"_5":22127,"_14695":55811,"_2209":55925},[],"numChildren\nThe number of children of this znode.",{"_5302":1352,"_37698":1352,"_5":19386,"_2209":55927,"_38009":55928,"_38077":55929,"_14695":1352},"Gotchas: Common Problems and Troubleshooting",[51788,55097,55328],[],{"_5302":1353,"_37698":1352,"_38077":55931,"_5":22127,"_14695":1352,"_2209":55932},[],"Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.",{"_5302":1354,"_37698":1352,"_38077":55934,"_5":22127,"_14695":1352,"_2209":55935},[],"So now you know ZooKeeper. It's fast, simple, your application\nworks, but wait ... something's wrong. Here are some pitfalls that\nZooKeeper users fall into:",{"_5302":1355,"_37698":1352,"_38077":55937,"_5":22127,"_14695":1352,"_2209":55938},[],"If you are using watches, you must look for the connected watch\nevent. When a ZooKeeper client disconnects from a server, you will\nnot receive notification of changes until reconnected. If you are\nwatching for a znode to come into existence, you will miss the event\nif the znode is created and deleted while you are disconnected.",{"_5302":1356,"_37698":1352,"_38077":55940,"_5":22127,"_14695":1352,"_2209":55941},[],"You must test ZooKeeper server failures. The ZooKeeper service\ncan survive failures as long as a majority of servers are active. The\nquestion to ask is: can your application handle it? In the real world\na client's connection to ZooKeeper can break. (ZooKeeper server\nfailures and network partitions are common reasons for connection\nloss.) The ZooKeeper client library takes care of recovering your\nconnection and letting you know what happened, but you must make sure\nthat you recover your state and any outstanding requests that failed.\nFind out if you got it right in the test lab, not in production - test\nwith a ZooKeeper service made up of a several of servers and subject\nthem to reboots.",{"_5302":1357,"_37698":1352,"_38077":55943,"_5":22127,"_14695":1352,"_2209":55944},[],"The list of ZooKeeper servers used by the client must match the\nlist of ZooKeeper servers that each ZooKeeper server has. Things can\nwork, although not optimally, if the client list is a subset of the\nreal list of ZooKeeper servers, but not if the client lists ZooKeeper\nservers not in the ZooKeeper cluster.",{"_5302":1358,"_37698":1352,"_38077":55946,"_5":22127,"_14695":1352,"_2209":55947},[],"Be careful where you put that transaction log. The most\nperformance-critical part of ZooKeeper is the transaction log.\nZooKeeper must sync transactions to media before it returns a\nresponse. A dedicated transaction log device is key to consistent good\nperformance. Putting the log on a busy device will adversely effect\nperformance. If you only have one storage device, put trace files on\nNFS and increase the snapshotCount; it doesn't eliminate the problem,\nbut it can mitigate it.",{"_5302":1359,"_37698":1352,"_38077":55949,"_5":22127,"_14695":1352,"_2209":55950},[],"Set your Java max heap size correctly. It is very important to\navoid swapping. Going to disk unnecessarily will\nalmost certainly degrade your performance unacceptably. Remember, in\nZooKeeper, everything is ordered, so if one request hits the disk, all\nother queued requests hit the disk.\nTo avoid swapping, try to set the heapsize to the amount of\nphysical memory you have, minus the amount needed by the OS and cache.\nThe best way to determine an optimal heap size for your configurations\nis to run load tests. If for some reason you\ncan't, be conservative in your estimates and choose a number well\nbelow the limit that would cause your machine to swap. For example, on\na 4G machine, a 3G heap is a conservative estimate to start\nwith.",{"_5302":1360,"_37698":1360,"_5":19386,"_2209":55328,"_38009":55952,"_38077":55953,"_14695":1360},[51788,55097,55328],[],{"_5302":1361,"_37698":1360,"_38077":55955,"_5":22127,"_14695":1360,"_2209":55956},[],"This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.",{"_5302":1362,"_37698":1360,"_5":38006,"_38077":55958,"_14695":55959,"_2209":55960},[],"/docs/developer/programmers-guide#links-to-other-information","Links to Other Information",{"_5302":1363,"_37698":1360,"_38077":55962,"_5":22127,"_14695":1360,"_2209":55963},[],"The first four sections of this guide present a higher level\ndiscussions of various ZooKeeper concepts. These are necessary both for an\nunderstanding of how ZooKeeper works as well how to work with it. It does\nnot contain source code, but it does assume a familiarity with the\nproblems associated with distributed computing.",{"_5302":1364,"_37698":1360,"_38077":55965,"_5":22127,"_14695":1360,"_2209":55966},[],"The next four sections provide practical programming\ninformation.",{"_5302":1365,"_37698":1360,"_38077":55968,"_5":22127,"_14695":1360,"_2209":55969},[],"Most of the information in this document is written to be accessible as\nstand-alone reference material. However, before starting your first\nZooKeeper application, you should probably at least read the chapters on\nthe ZooKeeper Data Model and ZooKeeper Basic Operations.",{"_5302":1366,"_37698":1360,"_38077":55971,"_5":22127,"_14695":55959,"_2209":55972},[],"Outside the formal documentation, there're several other sources of\ninformation for ZooKeeper developers.",{"_5302":1367,"_37698":1360,"_38077":55974,"_5":22127,"_14695":55959,"_2209":55975},[],"API Reference :\nThe complete reference to the ZooKeeper API",{"_5302":1368,"_37698":1360,"_38077":55977,"_5":22127,"_14695":55959,"_2209":55978},[],"ZooKeeper Talk at the Hadoop Summit 2008 :\nA video introduction to ZooKeeper, by Benjamin Reed of Yahoo!\nResearch",{"_5302":1369,"_37698":1360,"_38077":55980,"_5":22127,"_14695":55959,"_2209":55981},[],"Barrier and Queue Tutorial :\nThe excellent Java tutorial by Flavio Junqueira, implementing\nsimple barriers and producer-consumer queues using ZooKeeper.",{"_5302":1370,"_37698":1360,"_38077":55983,"_5":22127,"_14695":55959,"_2209":55984},[],"ZooKeeper - A Reliable, Scalable Distributed Coordination System :\nAn article by Todd Hoff (07/15/2008)",{"_5302":1371,"_37698":1360,"_38077":55986,"_5":22127,"_14695":55959,"_2209":55987},[],"ZooKeeper Recipes :\nPseudo-level discussion of the implementation of various\nsynchronization solutions with ZooKeeper: Event Handles, Queues,\nLocks, and Two-phase Commits.",{"_5302":1372,"_37698":1372,"_5":19386,"_2209":55989,"_38009":55990,"_38077":55991,"_14695":1372},"Pluggable Authentication",[51788,55097,55328],[],{"_5302":1373,"_37698":1372,"_38077":55993,"_5":22127,"_14695":1372,"_2209":55994},[],"Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.",{"_5302":1374,"_37698":1372,"_38077":55996,"_5":22127,"_14695":1372,"_2209":55997},[],"ZooKeeper runs in a variety of different environments with\nvarious different authentication schemes, so it has a completely\npluggable authentication framework. Even the builtin authentication\nschemes use the pluggable authentication framework.",{"_5302":1375,"_37698":1372,"_38077":55999,"_5":22127,"_14695":1372,"_2209":56000},[],"To understand how the authentication framework works, first you must\nunderstand the two main authentication operations. The framework\nfirst must authenticate the client. This is usually done as soon as\nthe client connects to a server and consists of validating information\nsent from or gathered about a client and associating it with the connection.\nThe second operation handled by the framework is finding the entries in an\nACL that correspond to client. ACL entries are pairs. The idspec may be\na simple string match against the authentication information associated\nwith the connection or it may be a expression that is evaluated against that\ninformation. It is up to the implementation of the authentication plugin\nto do the match. Here is the interface that an authentication plugin must\nimplement:",{"_5302":1376,"_37698":1372,"_38077":56002,"_5":22127,"_14695":1372,"_2209":56003},[],"The first method getScheme returns the string\nthat identifies the plugin. Because we support multiple methods of authentication,\nan authentication credential or an idspec will always be\nprefixed with scheme:. The ZooKeeper server uses the scheme\nreturned by the authentication plugin to determine which ids the scheme\napplies to.",{"_5302":1377,"_37698":1372,"_38077":56005,"_5":22127,"_14695":1372,"_2209":56006},[],"handleAuthentication is called when a client\nsends authentication information to be associated with a connection. The\nclient specifies the scheme to which the information corresponds. The\nZooKeeper server passes the information to the authentication plugin whose\ngetScheme matches the scheme passed by the client. The\nimplementor of handleAuthentication will usually return\nan error if it determines that the information is bad, or it will associate information\nwith the connection using cnxn.getAuthInfo().add(new Id(getScheme(), data)).",{"_5302":1378,"_37698":1372,"_38077":56008,"_5":22127,"_14695":1372,"_2209":56009},[],"The authentication plugin is involved in both setting and using ACLs. When an\nACL is set for a znode, the ZooKeeper server will pass the id part of the entry to\nthe isValid(String id) method. It is up to the plugin to verify\nthat the id has a correct form. For example, ip:172.16.0.0/16\nis a valid id, but ip:host.com is not. If the new ACL includes\nan \"auth\" entry, isAuthenticated is used to see if the\nauthentication information for this scheme that is associated with the connection\nshould be added to the ACL. Some schemes\nshould not be included in auth. For example, the IP address of the client is not\nconsidered as an id that should be added to the ACL if auth is specified.",{"_5302":1379,"_37698":1372,"_38077":56011,"_5":22127,"_14695":1372,"_2209":56012},[],"ZooKeeper invokes matches(String id, String aclExpr) when checking an ACL. It\nneeds to match authentication information of the client against the relevant ACL\nentries. To find the entries which apply to the client, the ZooKeeper server will\nfind the scheme of each entry and if there is authentication information\nfrom that client for that scheme, matches(String id, String aclExpr)\nwill be called with id set to the authentication information\nthat was previously added to the connection by handleAuthentication and\naclExpr set to the id of the ACL entry. The authentication plugin\nuses its own logic and matching scheme to determine if id is included\nin aclExpr.",{"_5302":1380,"_37698":1372,"_38077":56014,"_5":22127,"_14695":1372,"_2209":56015},[],"There are two built in authentication plugins: ip and\ndigest. Additional plugins can adding using system properties. At\nstartup the ZooKeeper server will look for system properties that start with\n\"zookeeper.authProvider.\" and interpret the value of those properties as the class name\nof an authentication plugin. These properties can be set using the\n-Dzookeeper.authProvider.X=com.f.MyAuth or adding entries such as\nthe following in the server configuration file:",{"_5302":1381,"_37698":1372,"_38077":56017,"_5":22127,"_14695":1372,"_2209":56018},[],"Care should be taking to ensure that the suffix on the property is unique. If there are\nduplicates such as -Dzookeeper.authProvider.X=com.f.MyAuth -Dzookeeper.authProvider.X=com.f.MyAuth2,\nonly one will be used. Also all servers must have the same plugins defined, otherwise clients using\nthe authentication schemes provided by the plugins will have problems connecting to some servers.",{"_5302":1382,"_37698":1372,"_38077":56020,"_5":22127,"_14695":1372,"_2209":56021},[],"Added in 3.6.0: An alternate abstraction is available for pluggable\nauthentication. It provides additional arguments.",{"_5302":1383,"_37698":1372,"_38077":56023,"_5":22127,"_14695":1372,"_2209":56024},[],"Instead of implementing AuthenticationProvider you extend ServerAuthenticationProvider. Your handleAuthentication()\nand matches() methods will then receive the additional parameters (via ServerObjs and MatchValues).",{"_5302":1384,"_37698":1372,"_38077":56026,"_5":22127,"_14695":1372,"_2209":56027},[],"ZooKeeperServer\nThe ZooKeeperServer instance",{"_5302":1385,"_37698":1372,"_38077":56029,"_5":22127,"_14695":1372,"_2209":56030},[],"ServerCnxn\nThe current connection",{"_5302":1386,"_37698":1372,"_38077":56032,"_5":22127,"_14695":1372,"_2209":56033},[],"path\nThe ZNode path being operated on (or null if not used)",{"_5302":1387,"_37698":1372,"_38077":56035,"_5":22127,"_14695":1372,"_2209":56036},[],"perm\nThe operation value or 0",{"_5302":1388,"_37698":1372,"_38077":56038,"_5":22127,"_14695":1372,"_2209":56039},[],"setAcls\nWhen the setAcl() method is being operated on, the list of ACLs that are being set",{"_5302":1389,"_37698":1389,"_5":19386,"_2209":56041,"_38009":56042,"_38077":56043,"_14695":1389},"Sessions",[51788,55097,55328],[],{"_5302":1390,"_37698":1389,"_38077":56045,"_5":22127,"_14695":1389,"_2209":56046},[],"Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.",{"_5302":1391,"_37698":1389,"_5":38006,"_38077":56048,"_14695":56049,"_2209":56050},[],"/docs/developer/programmers-guide/sessions#qa-toc","Q&A [!toc]",{"_5302":1392,"_37698":1389,"_38077":56052,"_5":22127,"_14695":1389,"_2209":56053},[],"A ZooKeeper client establishes a session with the ZooKeeper\nservice by creating a handle to the service using a language\nbinding. Once created, the handle starts off in the CONNECTING state\nand the client library tries to connect to one of the servers that\nmake up the ZooKeeper service at which point it switches to the\nCONNECTED state. During normal operation the client handle will be in one of these\ntwo states. If an unrecoverable error occurs, such as session\nexpiration or authentication failure, or if the application explicitly\ncloses the handle, the handle will move to the CLOSED state.\nThe following figure shows the possible state transitions of a\nZooKeeper client:",{"_5302":1393,"_37698":1389,"_38077":56055,"_5":22127,"_14695":1389,"_2209":56056},[],"To create a client session the application code must provide\na connection string containing a comma separated list of host:port pairs,\neach corresponding to a ZooKeeper server (e.g. \"127.0.0.1:4545\" or\n\"127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002\"). The ZooKeeper\nclient library will pick an arbitrary server and try to connect to\nit. If this connection fails, or if the client becomes\ndisconnected from the server for any reason, the client will\nautomatically try the next server in the list, until a connection\nis (re-)established.",{"_5302":1394,"_37698":1389,"_38077":56058,"_5":22127,"_14695":1389,"_2209":56059},[],"Added in 3.2.0: An\noptional \"chroot\" suffix may also be appended to the connection\nstring. This will run the client commands while interpreting all\npaths relative to this root (similar to the unix chroot\ncommand). If used the example would look like:\n\"127.0.0.1:4545/app/a\" or\n\"127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a\" where the\nclient would be rooted at \"/app/a\" and all paths would be relative\nto this root - ie getting/setting/etc... \"/foo/bar\" would result\nin operations being run on \"/app/a/foo/bar\" (from the server\nperspective). This feature is particularly useful in multi-tenant\nenvironments where each user of a particular ZooKeeper service\ncould be rooted differently. This makes re-use much simpler as\neach user can code his/her application as if it were rooted at\n\"/\", while actual location (say /app/a) could be determined at\ndeployment time.",{"_5302":1395,"_37698":1389,"_38077":56061,"_5":22127,"_14695":1389,"_2209":56062},[],"When a client gets a handle to the ZooKeeper service,\nZooKeeper creates a ZooKeeper session, represented as a 64-bit\nnumber, that it assigns to the client. If the client connects to a\ndifferent ZooKeeper server, it will send the session id as a part\nof the connection handshake. As a security measure, the server\ncreates a password for the session id that any ZooKeeper server\ncan validate.The password is sent to the client with the session\nid when the client establishes the session. The client sends this\npassword with the session id whenever it reestablishes the session\nwith a new server.",{"_5302":1396,"_37698":1389,"_38077":56064,"_5":22127,"_14695":1389,"_2209":56065},[],"One of the parameters to the ZooKeeper client library call\nto create a ZooKeeper session is the session timeout in\nmilliseconds. The client sends a requested timeout, the server\nresponds with the timeout that it can give the client. The current\nimplementation requires that the timeout be a minimum of 2 times\nthe tickTime (as set in the server configuration) and a maximum of\n20 times the tickTime. The ZooKeeper client API allows access to\nthe negotiated timeout.",{"_5302":1397,"_37698":1389,"_38077":56067,"_5":22127,"_14695":1389,"_2209":56068},[],"When a client (session) becomes partitioned from the ZK\nserving cluster it will begin searching the list of servers that\nwere specified during session creation. Eventually, when\nconnectivity between the client and at least one of the servers is\nre-established, the session will either again transition to the\n\"connected\" state (if reconnected within the session timeout\nvalue) or it will transition to the \"expired\" state (if\nreconnected after the session timeout). It is not advisable to\ncreate a new session object (a new ZooKeeper.class or zookeeper\nhandle in the c binding) for disconnection. The ZK client library\nwill handle reconnect for you. In particular we have heuristics\nbuilt into the client library to handle things like \"herd effect\",\netc... Only create a new session when you are notified of session\nexpiration (mandatory).",{"_5302":1398,"_37698":1389,"_38077":56070,"_5":22127,"_14695":1389,"_2209":56071},[],"Session expiration is managed by the ZooKeeper cluster\nitself, not by the client. When the ZK client establishes a\nsession with the cluster it provides a \"timeout\" value detailed\nabove. This value is used by the cluster to determine when the\nclient's session expires. Expirations happens when the cluster\ndoes not hear from the client within the specified session timeout\nperiod (i.e. no heartbeat). At session expiration the cluster will\ndelete any/all ephemeral nodes owned by that session and\nimmediately notify any/all connected clients of the change (anyone\nwatching those znodes). At this point the client of the expired\nsession is still disconnected from the cluster, it will not be\nnotified of the session expiration until/unless it is able to\nre-establish a connection to the cluster. The client will stay in\ndisconnected state until the TCP connection is re-established with\nthe cluster, at which point the watcher of the expired session\nwill receive the \"session expired\" notification.",{"_5302":1399,"_37698":1389,"_38077":56073,"_5":22127,"_14695":1389,"_2209":56074},[],"Example state transitions for an expired session as seen by\nthe expired session's watcher:",{"_5302":1400,"_37698":1389,"_38077":56076,"_5":22127,"_14695":1389,"_2209":56077},[],"'connected' : session is established and client\nis communicating with cluster (client/server communication is\noperating properly)",{"_5302":1401,"_37698":1389,"_38077":56079,"_5":22127,"_14695":1389,"_2209":56080},[],".... client is partitioned from the\ncluster",{"_5302":1402,"_37698":1389,"_38077":56082,"_5":22127,"_14695":1389,"_2209":56083},[],"'disconnected' : client has lost connectivity\nwith the cluster",{"_5302":1403,"_37698":1389,"_38077":56085,"_5":22127,"_14695":1389,"_2209":56086},[],".... time elapses, after 'timeout' period the\ncluster expires the session, nothing is seen by client as it is\ndisconnected from cluster",{"_5302":1404,"_37698":1389,"_38077":56088,"_5":22127,"_14695":1389,"_2209":56089},[],".... time elapses, the client regains network\nlevel connectivity with the cluster",{"_5302":1405,"_37698":1389,"_38077":56091,"_5":22127,"_14695":1389,"_2209":56092},[],"'expired' : eventually the client reconnects to\nthe cluster, it is then notified of the\nexpiration",{"_5302":1406,"_37698":1389,"_38077":56094,"_5":22127,"_14695":1389,"_2209":56095},[],"Another parameter to the ZooKeeper session establishment\ncall is the default watcher. Watchers are notified when any state\nchange occurs in the client. For example if the client loses\nconnectivity to the server the client will be notified, or if the\nclient's session expires, etc... This watcher should consider the\ninitial state to be disconnected (i.e. before any state changes\nevents are sent to the watcher by the client lib). In the case of\na new connection, the first event sent to the watcher is typically\nthe session connection event.",{"_5302":1407,"_37698":1389,"_38077":56097,"_5":22127,"_14695":1389,"_2209":56098},[],"The session is kept alive by requests sent by the client. If\nthe session is idle for a period of time that would timeout the\nsession, the client will send a PING request to keep the session\nalive. This PING request not only allows the ZooKeeper server to\nknow that the client is still active, but it also allows the\nclient to verify that its connection to the ZooKeeper server is\nstill active. The timing of the PING is conservative enough to\nensure reasonable time to detect a dead connection and reconnect\nto a new server.",{"_5302":1408,"_37698":1389,"_38077":56100,"_5":22127,"_14695":1389,"_2209":56101},[],"Once a connection to the server is successfully established\n(connected) there are basically two cases where the client lib generates\nconnectionloss (the result code in c binding, exception in Java — see\nthe API documentation for binding specific details) when either a synchronous or\nasynchronous operation is performed and one of the following holds:",{"_5302":1409,"_37698":1389,"_38077":56103,"_5":22127,"_14695":1389,"_2209":56104},[],"The application calls an operation on a session that is no\nlonger alive/valid",{"_5302":1410,"_37698":1389,"_38077":56106,"_5":22127,"_14695":1389,"_2209":56107},[],"The ZooKeeper client disconnects from a server when there\nare pending operations to that server, i.e., there is a pending asynchronous call.",{"_5302":1411,"_37698":1389,"_38077":56109,"_5":22127,"_14695":1389,"_2209":56110},[],"Added in 3.2.0 — SessionMovedException. There is an internal\nexception that is generally not seen by clients called the SessionMovedException.\nThis exception occurs because a request was received on a connection for a session\nwhich has been reestablished on a different server. The normal cause of this error is\na client that sends a request to a server, but the network packet gets delayed, so\nthe client times out and connects to a new server. When the delayed packet arrives at\nthe first server, the old server detects that the session has moved, and closes the\nclient connection. Clients normally do not see this error since they do not read\nfrom those old connections. (Old connections are usually closed.) One situation in which this\ncondition can be seen is when two clients try to reestablish the same connection using\na saved session id and password. One of the clients will reestablish the connection\nand the second client will be disconnected (causing the pair to attempt to re-establish\nits connection/session indefinitely).",{"_5302":1412,"_37698":1389,"_38077":56112,"_5":22127,"_14695":1389,"_2209":56113},[],"Updating the list of servers. We allow a client to\nupdate the connection string by providing a new comma separated list of host:port pairs,\neach corresponding to a ZooKeeper server. The function invokes a probabilistic load-balancing\nalgorithm which may cause the client to disconnect from its current host with the goal\nto achieve expected uniform number of connections per server in the new list.\nIn case the current host to which the client is connected is not in the new list\nthis call will always cause the connection to be dropped. Otherwise, the decision\nis based on whether the number of servers has increased or decreased and by how much.",{"_5302":1413,"_37698":1389,"_38077":56115,"_5":22127,"_14695":1389,"_2209":56116},[],"For example, if the previous connection string contained 3 hosts and now the list contains\nthese 3 hosts and 2 more hosts, 40% of clients connected to each of the 3 hosts will\nmove to one of the new hosts in order to balance the load. The algorithm will cause the client\nto drop its connection to the current host to which it is connected with probability 0.4 and in this\ncase cause the client to connect to one of the 2 new hosts, chosen at random.",{"_5302":1414,"_37698":1389,"_38077":56118,"_5":22127,"_14695":1389,"_2209":56119},[],"Another example — suppose we have 5 hosts and now update the list to remove 2 of the hosts,\nthe clients connected to the 3 remaining hosts will stay connected, whereas all clients connected\nto the 2 removed hosts will need to move to one of the 3 hosts, chosen at random. If the connection\nis dropped, the client moves to a special mode where he chooses a new server to connect to using the\nprobabilistic algorithm, and not just round robin.",{"_5302":1415,"_37698":1389,"_38077":56121,"_5":22127,"_14695":1389,"_2209":56122},[],"In the first example, each client decides to disconnect with probability 0.4 but once the decision is\nmade, it will try to connect to a random new server and only if it cannot connect to any of the new\nservers will it try to connect to the old ones. After finding a server, or trying all servers in the\nnew list and failing to connect, the client moves back to the normal mode of operation where it picks\nan arbitrary server from the connectString and attempts to connect to it. If that fails, it will continue\ntrying different random servers in round robin. (see above the algorithm used to initially choose a server)",{"_5302":1416,"_37698":1389,"_38077":56124,"_5":22127,"_14695":1389,"_2209":56125},[],"Local session. Added in 3.5.0, mainly implemented by ZOOKEEPER-1147.",{"_5302":1417,"_37698":1389,"_38077":56127,"_5":22127,"_14695":1389,"_2209":56128},[],"Background: The creation and closing of sessions are costly in ZooKeeper because they need quorum confirmations,\nthey become the bottleneck of a ZooKeeper ensemble when it needs to handle thousands of client connections.\nSo after 3.5.0, we introduce a new type of session: local session which doesn't have a full functionality of a normal(global) session, this feature\nwill be available by turning on localSessionsEnabled.",{"_5302":1418,"_37698":1389,"_38077":56130,"_5":22127,"_14695":1389,"_2209":56131},[],"when localSessionsUpgradingEnabled is disable:",{"_5302":1419,"_37698":1389,"_38077":56133,"_5":22127,"_14695":1389,"_2209":56134},[],"Local sessions cannot create ephemeral nodes",{"_5302":1420,"_37698":1389,"_38077":56136,"_5":22127,"_14695":1389,"_2209":56137},[],"Once a local session is lost, users cannot re-establish it using the session-id/password, the session and its watches are gone for good.\nNote: Losing the tcp connection does not necessarily imply that the session is lost. If the connection can be reestablished with the same zk server\nbefore the session timeout then the client can continue (it simply cannot move to another server).",{"_5302":1421,"_37698":1389,"_38077":56139,"_5":22127,"_14695":1389,"_2209":56140},[],"When a local session connects, the session info is only maintained on the zookeeper server that it is connected to. The leader is not aware of the creation of such a session and\nthere is no state written to disk.",{"_5302":1422,"_37698":1389,"_38077":56142,"_5":22127,"_14695":1389,"_2209":56143},[],"The pings, expiration and other session state maintenance are handled by the server which current session is connected to.",{"_5302":1423,"_37698":1389,"_38077":56145,"_5":22127,"_14695":1389,"_2209":56146},[],"when localSessionsUpgradingEnabled is enable:",{"_5302":1424,"_37698":1389,"_38077":56148,"_5":22127,"_14695":1389,"_2209":56149},[],"A local session can be upgraded to the global session automatically.",{"_5302":1425,"_37698":1389,"_38077":56151,"_5":22127,"_14695":1389,"_2209":56152},[],"When a new session is created it is saved locally in a wrapped LocalSessionTracker. It can subsequently be upgraded\nto a global session as required (e.g. create ephemeral nodes). If an upgrade is requested the session is removed from local\ncollections while keeping the same session ID.",{"_5302":1426,"_37698":1389,"_38077":56154,"_5":22127,"_14695":1389,"_2209":56155},[],"Currently, Only the operation: create ephemeral node needs a session upgrade from local to global.\nThe reason is that the creation of ephemeral node depends heavily on a global session. If local session can create ephemeral\nnode without upgrading to global session, it will cause the data inconsistency between different nodes.\nThe leader also needs to know about the lifespan of a session in order to clean up ephemeral nodes on close/expiry.\nThis requires a global session as the local session is tied to its particular server.",{"_5302":1427,"_37698":1389,"_38077":56157,"_5":22127,"_14695":1389,"_2209":56158},[],"A session can be both a local and global session during upgrade, but the operation of upgrade cannot be called concurrently by two thread.",{"_5302":1428,"_37698":1389,"_38077":56160,"_5":22127,"_14695":1389,"_2209":56161},[],"ZooKeeperServer(Standalone) uses SessionTrackerImpl; LeaderZookeeper uses LeaderSessionTracker which holds\nSessionTrackerImpl(global) and LocalSessionTracker(if enable); FollowerZooKeeperServer and ObserverZooKeeperServer\nuse LearnerSessionTracker which holds LocalSessionTracker.\nThe UML Graph of Classes about session:",{"_5302":1429,"_37698":1389,"_38077":56163,"_5":22127,"_14695":56049,"_2209":56164},[],"What's the reason for having the config option to disable local session upgrade?",{"_5302":1430,"_37698":1389,"_38077":56166,"_5":22127,"_14695":56049,"_2209":56167},[],"In a large deployment which wants to handle a very large number of clients, we know that clients connecting via the observers\nwhich is supposed to be local session only. So this is more like a safeguard against someone accidentally creates lots of ephemeral nodes and global sessions.",{"_5302":1431,"_37698":1389,"_38077":56169,"_5":22127,"_14695":56049,"_2209":56170},[],"When is the session created?",{"_5302":1432,"_37698":1389,"_38077":56172,"_5":22127,"_14695":56049,"_2209":56173},[],"In the current implementation, it will try to create a local session when processing ConnectRequest and when\ncreateSession request reaches FinalRequestProcessor.",{"_5302":1433,"_37698":1389,"_38077":56175,"_5":22127,"_14695":56049,"_2209":56176},[],"What happens if the create for session is sent at server A and the client disconnects to some other server B\nwhich ends up sending it again and then disconnects and connects back to server A?",{"_5302":1434,"_37698":1389,"_38077":56178,"_5":22127,"_14695":56049,"_2209":56179},[],"When a client reconnects to B, its sessionId won’t exist in B’s local session tracker. So B will send validation packet.\nIf CreateSession issued by A is committed before validation packet arrive the client will be able to connect.\nOtherwise, the client will get session expired because the quorum hasn’t know about this session yet.\nIf the client also tries to connect back to A again, the session is already removed from local session tracker.\nSo A will need to send a validation packet to the leader. The outcome should be the same as B depending on the timing of the request.",{"_5302":1435,"_37698":1435,"_5":19386,"_2209":55773,"_38009":56181,"_38077":56182,"_14695":1435},[51788,55097,55328],[],{"_5302":1436,"_37698":1435,"_38077":56184,"_5":22127,"_14695":1435,"_2209":56185},[],"Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.",{"_5302":1437,"_37698":1435,"_5":38006,"_38077":56187,"_14695":56188,"_2209":56189},[],"/docs/developer/programmers-guide/watches#semantics-of-watches","Semantics of Watches",{"_5302":1438,"_37698":1435,"_5":38006,"_38077":56191,"_14695":56192,"_2209":56193},[],"/docs/developer/programmers-guide/watches#persistent-recursive-watches","Persistent, Recursive Watches",{"_5302":1439,"_37698":1435,"_5":38006,"_38077":56195,"_14695":56196,"_2209":56197},[],"/docs/developer/programmers-guide/watches#remove-watches","Remove Watches",{"_5302":1440,"_37698":1435,"_5":38006,"_38077":56199,"_14695":56200,"_2209":56201},[],"/docs/developer/programmers-guide/watches#what-zookeeper-guarantees-about-watches","What ZooKeeper Guarantees about Watches",{"_5302":1441,"_37698":1435,"_5":38006,"_38077":56203,"_14695":56204,"_2209":56205},[],"/docs/developer/programmers-guide/watches#things-to-remember-about-watches","Things to Remember about Watches",{"_5302":1442,"_37698":1435,"_38077":56207,"_5":22127,"_14695":1435,"_2209":56208},[],"All of the read operations in ZooKeeper - getData(), getChildren(), and exists() - have the option of setting a watch as a\nside effect. Here is ZooKeeper's definition of a watch: a watch event is\none-time trigger, sent to the client that set the watch, which occurs when\nthe data for which the watch was set changes. There are three key points\nto consider in this definition of a watch:",{"_5302":1443,"_37698":1435,"_38077":56210,"_5":22127,"_14695":1435,"_2209":56211},[],"One-time trigger\nOne watch event will be sent to the client when the data has changed.\nFor example, if a client does a getData(\"/znode1\", true) and later the\ndata for /znode1 is changed or deleted, the client will get a watch\nevent for /znode1. If /znode1 changes again, no watch event will be\nsent unless the client has done another read that sets a new\nwatch.",{"_5302":1444,"_37698":1435,"_38077":56213,"_5":22127,"_14695":1435,"_2209":56214},[],"Sent to the client\nThis implies that an event is on the way to the client, but may\nnot reach the client before the successful return code to the change\noperation reaches the client that initiated the change. Watches are\nsent asynchronously to watchers. ZooKeeper provides an ordering\nguarantee: a client will never see a change for which it has set a\nwatch until it first sees the watch event. Network delays or other\nfactors may cause different clients to see watches and return codes\nfrom updates at different times. The key point is that everything seen\nby the different clients will have a consistent order.",{"_5302":1445,"_37698":1435,"_38077":56216,"_5":22127,"_14695":1435,"_2209":56217},[],"The data for which the watch was\nset\nThis refers to the different ways a node can change. It\nhelps to think of ZooKeeper as maintaining two lists of\nwatches: data watches and child watches. getData() and\nexists() set data watches. getChildren() sets child\nwatches. Alternatively, it may help to think of watches being\nset according to the kind of data returned. getData() and\nexists() return information about the data of the node,\nwhereas getChildren() returns a list of children. Thus,\nsetData() will trigger data watches for the znode being set\n(assuming the set is successful). A successful create() will\ntrigger a data watch for the znode being created and a child\nwatch for the parent znode. A successful delete() will trigger\nboth a data watch and a child watch (since there can be no\nmore children) for a znode being deleted as well as a child\nwatch for the parent znode.",{"_5302":1446,"_37698":1435,"_38077":56219,"_5":22127,"_14695":1435,"_2209":56220},[],"Watches are maintained locally at the ZooKeeper server to which the\nclient is connected. This allows watches to be lightweight to set,\nmaintain, and dispatch. When a client connects to a new server, the watch\nwill be triggered for any session events. Watches will not be received\nwhile disconnected from a server. When a client reconnects, any previously\nregistered watches will be reregistered and triggered if needed. In\ngeneral this all occurs transparently. There is one case where a watch\nmay be missed: a watch for the existence of a znode not yet created will\nbe missed if the znode is created and deleted while disconnected.",{"_5302":1447,"_37698":1435,"_38077":56222,"_5":22127,"_14695":1435,"_2209":56223},[],"New in 3.6.0: Clients can also set\npermanent, recursive watches on a znode that are not removed when triggered\nand that trigger for changes on the registered znode as well as any children\nznodes recursively.",{"_5302":1448,"_37698":1435,"_38077":56225,"_5":22127,"_14695":56188,"_2209":56226},[],"We can set watches with the three calls that read the state of\nZooKeeper: exists, getData, and getChildren. The following list details\nthe events that a watch can trigger and the calls that enable them:",{"_5302":1449,"_37698":1435,"_38077":56228,"_5":22127,"_14695":56188,"_2209":56229},[],"Created event:\nEnabled with a call to exists.",{"_5302":1450,"_37698":1435,"_38077":56231,"_5":22127,"_14695":56188,"_2209":56232},[],"Deleted event:\nEnabled with a call to exists, getData, and getChildren.",{"_5302":1451,"_37698":1435,"_38077":56234,"_5":22127,"_14695":56188,"_2209":56235},[],"Changed event:\nEnabled with a call to exists and getData.",{"_5302":1452,"_37698":1435,"_38077":56237,"_5":22127,"_14695":56188,"_2209":56238},[],"Child event:\nEnabled with a call to getChildren.",{"_5302":1453,"_37698":1435,"_38077":56240,"_5":22127,"_14695":56192,"_2209":56241},[],"New in 3.6.0: There is now a variation on the standard\nwatch described above whereby you can set a watch that does not get removed when triggered.\nAdditionally, these watches trigger the event types NodeCreated, NodeDeleted, and NodeDataChanged\nand, optionally, recursively for all znodes starting at the znode that the watch is registered for. Note\nthat NodeChildrenChanged events are not triggered for persistent recursive watches as it would be redundant.",{"_5302":1454,"_37698":1435,"_38077":56243,"_5":22127,"_14695":56192,"_2209":56244},[],"Persistent watches are set using the method addWatch(). The triggering semantics and guarantees\n(other than one-time triggering) are the same as standard watches. The only exception regarding events is that\nrecursive persistent watchers never trigger child changed events as they are redundant.\nPersistent watches are removed using removeWatches() with watcher type WatcherType.Any.",{"_5302":1455,"_37698":1435,"_38077":56246,"_5":22127,"_14695":56196,"_2209":56247},[],"We can remove the watches registered on a znode with a call to\nremoveWatches. Also, a ZooKeeper client can remove watches locally even\nif there is no server connection by setting the local flag to true. The\nfollowing list details the events which will be triggered after the\nsuccessful watch removal.",{"_5302":1456,"_37698":1435,"_38077":56249,"_5":22127,"_14695":56196,"_2209":56250},[],"Child Remove event:\nWatcher which was added with a call to getChildren.",{"_5302":1457,"_37698":1435,"_38077":56252,"_5":22127,"_14695":56196,"_2209":56253},[],"Data Remove event:\nWatcher which was added with a call to exists or getData.",{"_5302":1458,"_37698":1435,"_38077":56255,"_5":22127,"_14695":56196,"_2209":56256},[],"Persistent Remove event:\nWatcher which was added with a call to add a persistent watch.",{"_5302":1459,"_37698":1435,"_38077":56258,"_5":22127,"_14695":56200,"_2209":56259},[],"With regard to watches, ZooKeeper maintains these\nguarantees:",{"_5302":1460,"_37698":1435,"_38077":56261,"_5":22127,"_14695":56200,"_2209":56262},[],"Watches are ordered with respect to other events, other\nwatches, and asynchronous replies. The ZooKeeper client libraries\nensures that everything is dispatched in order.",{"_5302":1461,"_37698":1435,"_38077":56264,"_5":22127,"_14695":56200,"_2209":56265},[],"A client will see a watch event for a znode it is watching\nbefore seeing the new data that corresponds to that znode.",{"_5302":1462,"_37698":1435,"_38077":56267,"_5":22127,"_14695":56200,"_2209":56268},[],"The order of watch events from ZooKeeper corresponds to the\norder of the updates as seen by the ZooKeeper service.",{"_5302":1463,"_37698":1435,"_38077":56270,"_5":22127,"_14695":56204,"_2209":56271},[],"Standard watches are one time triggers; if you get a watch event and\nyou want to get notified of future changes, you must set another\nwatch.",{"_5302":1464,"_37698":1435,"_38077":56273,"_5":22127,"_14695":56204,"_2209":56274},[],"Because standard watches are one time triggers and there is latency\nbetween getting the event and sending a new request to get a watch\nyou cannot reliably see every change that happens to a node in\nZooKeeper. Be prepared to handle the case where the znode changes\nmultiple times between getting the event and setting the watch\nagain. (You may not care, but at least realize it may\nhappen.)",{"_5302":1465,"_37698":1435,"_38077":56276,"_5":22127,"_14695":56204,"_2209":56277},[],"A watch object, or function/context pair, will only be\ntriggered once for a given notification. For example, if the same\nwatch object is registered for an exists and a getData call for the\nsame file and that file is then deleted, the watch object would\nonly be invoked once with the deletion notification for the file.",{"_5302":1466,"_37698":1435,"_38077":56279,"_5":22127,"_14695":56204,"_2209":56280},[],"When you disconnect from a server (for example, when the\nserver fails), you will not get any watches until the connection\nis reestablished. For this reason session events are sent to all\noutstanding watch handlers. Use session events to go into a safe\nmode: you will not be receiving events while disconnected, so your\nprocess should act conservatively in that mode.",{"_5302":1467,"_37698":1467,"_5":19386,"_2209":56282,"_38009":56283,"_38077":56284,"_14695":1467},"Recipes and Solutions",[51788,55097],[],{"_5302":1468,"_37698":1467,"_38077":56286,"_5":22127,"_14695":1467,"_2209":56287},[],"Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.",{"_5302":1469,"_37698":1467,"_5":38006,"_38077":56289,"_14695":56290,"_2209":56291},[],"/docs/developer/recipes#a-guide-to-creating-higher-level-constructs-with-zookeeper","A Guide to Creating Higher-level Constructs with ZooKeeper",{"_5302":1470,"_37698":1467,"_5":38006,"_38077":56293,"_14695":56294,"_2209":56295},[],"/docs/developer/recipes#important-note-about-error-handling","Important Note About Error Handling",{"_5302":1471,"_37698":1467,"_5":38006,"_38077":56297,"_14695":56298,"_2209":56299},[],"/docs/developer/recipes#out-of-the-box-applications-name-service-configuration-group-membership","Out of the Box Applications: Name Service, Configuration, Group Membership",{"_5302":1472,"_37698":1467,"_5":38006,"_38077":56301,"_14695":56302,"_2209":55109},[],"/docs/developer/recipes#barriers",{"_5302":1473,"_37698":1467,"_5":38006,"_38077":56304,"_14695":56305,"_2209":56306},[],"/docs/developer/recipes#double-barriers","Double Barriers",{"_5302":1474,"_37698":1467,"_5":38006,"_38077":56308,"_14695":56309,"_2209":56310},[],"/docs/developer/recipes#queues","Queues",{"_5302":1475,"_37698":1467,"_5":38006,"_38077":56312,"_14695":56313,"_2209":56314},[],"/docs/developer/recipes#priority-queues","Priority Queues",{"_5302":1476,"_37698":1467,"_5":38006,"_38077":56316,"_14695":56317,"_2209":56318},[],"/docs/developer/recipes#locks","Locks",{"_5302":1477,"_37698":1467,"_5":38006,"_38077":56320,"_14695":56321,"_2209":56322},[],"/docs/developer/recipes#recoverable-errors-and-the-guid","Recoverable Errors and the GUID",{"_5302":1478,"_37698":1467,"_5":38006,"_38077":56324,"_14695":56325,"_2209":56326},[],"/docs/developer/recipes#shared-locks","Shared Locks",{"_5302":1479,"_37698":1467,"_5":38006,"_38077":56328,"_14695":56329,"_2209":56330},[],"/docs/developer/recipes#revocable-shared-locks","Revocable Shared Locks",{"_5302":1480,"_37698":1467,"_5":38006,"_38077":56332,"_14695":56333,"_2209":56334},[],"/docs/developer/recipes#two-phased-commit","Two-phased Commit",{"_5302":1481,"_37698":1467,"_5":38006,"_38077":56336,"_14695":56337,"_2209":56338},[],"/docs/developer/recipes#leader-election","Leader Election",{"_5302":1482,"_37698":1467,"_38077":56340,"_5":22127,"_14695":56290,"_2209":56341},[],"In this article, you'll find guidelines for using\nZooKeeper to implement higher order functions. All of them are conventions\nimplemented at the client and do not require special support from\nZooKeeper. Hopefully the community will capture these conventions in client-side libraries\nto ease their use and to encourage standardization.",{"_5302":1483,"_37698":1467,"_38077":56343,"_5":22127,"_14695":56290,"_2209":56344},[],"One of the most interesting things about ZooKeeper is that even\nthough ZooKeeper uses asynchronous notifications, you\ncan use it to build synchronous consistency\nprimitives, such as queues and locks. As you will see, this is possible\nbecause ZooKeeper imposes an overall order on updates, and has mechanisms\nto expose this ordering.",{"_5302":1484,"_37698":1467,"_38077":56346,"_5":22127,"_14695":56290,"_2209":56347},[],"Note that the recipes below attempt to employ best practices. In\nparticular, they avoid polling, timers or anything else that would result\nin a \"herd effect\", causing bursts of traffic and limiting\nscalability.",{"_5302":1485,"_37698":1467,"_38077":56349,"_5":22127,"_14695":56290,"_2209":56350},[],"There are many useful functions that can be imagined that aren't\nincluded here - revocable read-write priority locks, as just one example.\nAnd some of the constructs mentioned here - locks, in particular -\nillustrate certain points, even though you may find other constructs, such\nas event handles or queues, a more practical means of performing the same\nfunction. In general, the examples in this section are designed to\nstimulate thought.",{"_5302":1486,"_37698":1467,"_38077":56352,"_5":22127,"_14695":56294,"_2209":56353},[],"When implementing the recipes you must handle recoverable exceptions\n(see the FAQ). In\nparticular, several of the recipes employ sequential ephemeral\nnodes. When creating a sequential ephemeral node there is an error case in\nwhich the create() succeeds on the server but the server crashes before\nreturning the name of the node to the client. When the client reconnects its\nsession is still valid and, thus, the node is not removed. The implication is\nthat it is difficult for the client to know if its node was created or not. The\nrecipes below include measures to handle this.",{"_5302":1487,"_37698":1467,"_38077":56355,"_5":22127,"_14695":56298,"_2209":56356},[],"Name service and configuration are two of the primary applications\nof ZooKeeper. These two functions are provided directly by the ZooKeeper\nAPI.",{"_5302":1488,"_37698":1467,"_38077":56358,"_5":22127,"_14695":56298,"_2209":56359},[],"Another function directly provided by ZooKeeper is group\nmembership. The group is represented by a node. Members of the\ngroup create ephemeral nodes under the group node. Nodes of the members\nthat fail abnormally will be removed automatically when ZooKeeper detects\nthe failure.",{"_5302":1489,"_37698":1467,"_38077":56361,"_5":22127,"_14695":56302,"_2209":56362},[],"Distributed systems use barriers\nto block processing of a set of nodes until a condition is met\nat which time all the nodes are allowed to proceed. Barriers are\nimplemented in ZooKeeper by designating a barrier node. The\nbarrier is in place if the barrier node exists. Here's the\npseudo code:",{"_5302":1490,"_37698":1467,"_38077":56364,"_5":22127,"_14695":56302,"_2209":56365},[],"Client calls the ZooKeeper API's exists() function on the barrier node, with\nwatch set to true.",{"_5302":1491,"_37698":1467,"_38077":56367,"_5":22127,"_14695":56302,"_2209":56368},[],"If exists() returns false, the\nbarrier is gone and the client proceeds",{"_5302":1492,"_37698":1467,"_38077":56370,"_5":22127,"_14695":56302,"_2209":56371},[],"Else, if exists() returns true,\nthe clients wait for a watch event from ZooKeeper for the barrier\nnode.",{"_5302":1493,"_37698":1467,"_38077":56373,"_5":22127,"_14695":56302,"_2209":56374},[],"When the watch event is triggered, the client reissues the\nexists( ) call, again waiting until\nthe barrier node is removed.",{"_5302":1494,"_37698":1467,"_38077":56376,"_5":22127,"_14695":56305,"_2209":56377},[],"Double barriers enable clients to synchronize the beginning and\nthe end of a computation. When enough processes have joined the barrier,\nprocesses start their computation and leave the barrier once they have\nfinished. This recipe shows how to use a ZooKeeper node as a\nbarrier.",{"_5302":1495,"_37698":1467,"_38077":56379,"_5":22127,"_14695":56305,"_2209":56380},[],"The pseudo code in this recipe represents the barrier node as\nb. Every client process p\nregisters with the barrier node on entry and unregisters when it is\nready to leave. A node registers with the barrier node via the Enter procedure below, it waits until\nx client process register before proceeding with\nthe computation. (The x here is up to you to\ndetermine for your system.)",{"_5302":1496,"_37698":1467,"_38077":56382,"_5":22127,"_14695":56305,"_2209":56383},[],"Enter",{"_5302":1497,"_37698":1467,"_38077":56385,"_5":22127,"_14695":56305,"_2209":56386},[],"Leave",{"_5302":1498,"_37698":1467,"_38077":56388,"_5":22127,"_14695":56305,"_2209":56389},[],"1. Create a name n = _b+“/”+_p**",{"_5302":1499,"_37698":1467,"_38077":56391,"_5":22127,"_14695":56305,"_2209":56392},[],"1. L = getChildren(b, false)",{"_5302":1500,"_37698":1467,"_38077":56394,"_5":22127,"_14695":56305,"_2209":56395},[],"2. Set watch: exists(b + ‘‘/ready’’, true)",{"_5302":1501,"_37698":1467,"_38077":56397,"_5":22127,"_14695":56305,"_2209":56398},[],"2. if no children, exit",{"_5302":1502,"_37698":1467,"_38077":56400,"_5":22127,"_14695":56305,"_2209":56401},[],"3. Create child: create(n, EPHEMERAL)",{"_5302":1503,"_37698":1467,"_38077":56403,"_5":22127,"_14695":56305,"_2209":56404},[],"3. if p is only process node in L, delete(n) and exit",{"_5302":1504,"_37698":1467,"_38077":56406,"_5":22127,"_14695":56305,"_2209":56407},[],"4. L = getChildren(b, false)",{"_5302":1505,"_37698":1467,"_38077":56409,"_5":22127,"_14695":56305,"_2209":56410},[],"4. if p is the lowest process node in L, wait on highest process node in L",{"_5302":1506,"_37698":1467,"_38077":56412,"_5":22127,"_14695":56305,"_2209":56413},[],"5. if fewer children in L thanx, wait for watch event",{"_5302":1507,"_37698":1467,"_38077":56415,"_5":22127,"_14695":56305,"_2209":56416},[],"5. else **delete(n)**if still exists and wait on lowest process node in L",{"_5302":1508,"_37698":1467,"_38077":56418,"_5":22127,"_14695":56305,"_2209":56419},[],"6. else create(b + ‘‘/ready’’, REGULAR)",{"_5302":1509,"_37698":1467,"_38077":56421,"_5":22127,"_14695":56305,"_2209":56422},[],"6. goto 1",{"_5302":1510,"_37698":1467,"_38077":56424,"_5":22127,"_14695":56305,"_2209":56425},[],"On entering, all processes watch on a ready node and\ncreate an ephemeral node as a child of the barrier node. Each process\nbut the last enters the barrier and waits for the ready node to appear\nat line 5. The process that creates the xth node, the last process, will\nsee x nodes in the list of children and create the ready node, waking up\nthe other processes. Note that waiting processes wake up only when it is\ntime to exit, so waiting is efficient.",{"_5302":1511,"_37698":1467,"_38077":56427,"_5":22127,"_14695":56305,"_2209":56428},[],"On exit, you can't use a flag such as ready\nbecause you are watching for process nodes to go away. By using\nephemeral nodes, processes that fail after the barrier has been entered\ndo not prevent correct processes from finishing. When processes are\nready to leave, they need to delete their process nodes and wait for all\nother processes to do the same.",{"_5302":1512,"_37698":1467,"_38077":56430,"_5":22127,"_14695":56305,"_2209":56431},[],"Processes exit when there are no process nodes left as children of\nb. However, as an efficiency, you can use the\nlowest process node as the ready flag. All other processes that are\nready to exit watch for the lowest existing process node to go away, and\nthe owner of the lowest process watches for any other process node\n(picking the highest for simplicity) to go away. This means that only a\nsingle process wakes up on each node deletion except for the last node,\nwhich wakes up everyone when it is removed.",{"_5302":1513,"_37698":1467,"_38077":56433,"_5":22127,"_14695":56309,"_2209":56434},[],"Distributed queues are a common data structure. To implement a\ndistributed queue in ZooKeeper, first designate a znode to hold the queue,\nthe queue node. The distributed clients put something into the queue by\ncalling create() with a pathname ending in \"queue-\", with the\nsequence and ephemeral flags in\nthe create() call set to true. Because the sequence\nflag is set, the new pathname will have the form\npath-to-queue-node/queue-X, where X is a monotonic increasing number. A\nclient that wants to be removed from the queue calls ZooKeeper's getChildren( ) function, with\nwatch set to true on the queue node, and begins\nprocessing nodes with the lowest number. The client does not need to issue\nanother getChildren( ) until it exhausts\nthe list obtained from the first getChildren(\n) call. If there are no children in the queue node, the\nreader waits for a watch notification to check the queue again.",{"_5302":1514,"_37698":1467,"_38077":56436,"_5":22127,"_14695":56309,"_2209":52329},[],{"_5302":1515,"_37698":1467,"_38077":56438,"_5":22127,"_14695":56309,"_2209":56439},[],"There now exists a Queue implementation in ZooKeeper recipes directory. This\nis distributed with the release -- zookeeper-recipes/zookeeper-recipes-queue\ndirectory of the release artifact.",{"_5302":1516,"_37698":1467,"_38077":56441,"_5":22127,"_14695":56313,"_2209":56442},[],"To implement a priority queue, you need only make two simple\nchanges to the generic queue\nrecipe . First, to add to a queue, the pathname ends with\n\"queue-YY\" where YY is the priority of the element with lower numbers\nrepresenting higher priority (just like UNIX). Second, when removing\nfrom the queue, a client uses an up-to-date children list meaning that\nthe client will invalidate previously obtained children lists if a watch\nnotification triggers for the queue node.",{"_5302":1517,"_37698":1467,"_38077":56444,"_5":22127,"_14695":56317,"_2209":56445},[],"Fully distributed locks that are globally synchronous, meaning at\nany snapshot in time no two clients think they hold the same lock. These\ncan be implemented using ZooKeeper. As with priority queues, first define\na lock node.",{"_5302":1518,"_37698":1467,"_38077":56447,"_5":22127,"_14695":56317,"_2209":52329},[],{"_5302":1519,"_37698":1467,"_38077":56449,"_5":22127,"_14695":56317,"_2209":56450},[],"There now exists a Lock implementation in ZooKeeper recipes directory. This is\ndistributed with the release -- zookeeper-recipes/zookeeper-recipes-lock\ndirectory of the release artifact.",{"_5302":1520,"_37698":1467,"_38077":56452,"_5":22127,"_14695":56317,"_2209":56453},[],"Clients wishing to obtain a lock do the following:",{"_5302":1521,"_37698":1467,"_38077":56455,"_5":22127,"_14695":56317,"_2209":56456},[],"Call create( ) with a pathname\nof \"locknode/guid-lock-\" and the sequence and\nephemeral flags set. The guid\nis needed in case the create() result is missed. See the note below.",{"_5302":1522,"_37698":1467,"_38077":56458,"_5":22127,"_14695":56317,"_2209":56459},[],"Call getChildren( ) on the lock\nnode without setting the watch flag (this is\nimportant to avoid the herd effect).",{"_5302":1523,"_37698":1467,"_38077":56461,"_5":22127,"_14695":56317,"_2209":56462},[],"If the pathname created in step 1 has the lowest sequence number suffix, the\nclient has the lock and the client exits the protocol.",{"_5302":1524,"_37698":1467,"_38077":56464,"_5":22127,"_14695":56317,"_2209":56465},[],"The client calls exists( ) with\nthe watch flag set on the path in the lock directory with the next\nlowest sequence number.",{"_5302":1525,"_37698":1467,"_38077":56467,"_5":22127,"_14695":56317,"_2209":56468},[],"if exists( ) returns null, go\nto step 2. Otherwise, wait for a\nnotification for the pathname from the previous step before going to\nstep 2.",{"_5302":1526,"_37698":1467,"_38077":56470,"_5":22127,"_14695":56317,"_2209":56471},[],"The unlock protocol is very simple: clients wishing to release a\nlock simply delete the node they created in step 1.",{"_5302":1527,"_37698":1467,"_38077":56473,"_5":22127,"_14695":56317,"_2209":56474},[],"Here are a few things to notice:",{"_5302":1528,"_37698":1467,"_38077":56476,"_5":22127,"_14695":56317,"_2209":56477},[],"The removal of a node will only cause one client to wake up\nsince each node is watched by exactly one client. In this way, you\navoid the herd effect.",{"_5302":1529,"_37698":1467,"_38077":56479,"_5":22127,"_14695":56317,"_2209":56480},[],"There is no polling or timeouts.",{"_5302":1530,"_37698":1467,"_38077":56482,"_5":22127,"_14695":56317,"_2209":56483},[],"Because of the way you implement locking, it is easy to see the\namount of lock contention, break locks, debug locking problems,\netc.",{"_5302":1531,"_37698":1467,"_38077":56485,"_5":22127,"_14695":56321,"_2209":56486},[],"If a recoverable error occurs calling create() the\nclient should call getChildren() and check for a node\ncontaining the guid used in the path name.\nThis handles the case (noted above) of\nthe create() succeeding on the server but the server crashing before returning the name\nof the new node.",{"_5302":1532,"_37698":1467,"_38077":56488,"_5":22127,"_14695":56325,"_2209":56489},[],"You can implement shared locks by with a few changes to the lock\nprotocol:",{"_5302":1533,"_37698":1467,"_38077":56491,"_5":22127,"_14695":56325,"_2209":56492},[],"Obtaining a read lock:",{"_5302":1534,"_37698":1467,"_38077":56494,"_5":22127,"_14695":56325,"_2209":56495},[],"Obtaining a write lock:",{"_5302":1535,"_37698":1467,"_38077":56497,"_5":22127,"_14695":56325,"_2209":56498},[],"1. Call create( ) to create a node with pathname \"guid-/read-\". This is the lock node use later in the protocol. Make sure to set both the sequence and ephemeral flags.",{"_5302":1536,"_37698":1467,"_38077":56500,"_5":22127,"_14695":56325,"_2209":56501},[],"1. Call create( ) to create a node with pathname \"guid-/write-\". This is the lock node spoken of later in the protocol. Make sure to set both sequence and ephemeral flags.",{"_5302":1537,"_37698":1467,"_38077":56503,"_5":22127,"_14695":56325,"_2209":56504},[],"2. Call getChildren( ) on the lock node without setting the watch flag - this is important, as it avoids the herd effect.",{"_5302":1538,"_37698":1467,"_38077":56506,"_5":22127,"_14695":56325,"_2209":56504},[],{"_5302":1539,"_37698":1467,"_38077":56508,"_5":22127,"_14695":56325,"_2209":56509},[],"3. If there are no children with a pathname starting with \"write-\" and having a lower sequence number than the node created in step 1, the client has the lock and can exit the protocol.",{"_5302":1540,"_37698":1467,"_38077":56511,"_5":22127,"_14695":56325,"_2209":56512},[],"3. If there are no children with a lower sequence number than the node created in step 1, the client has the lock and the client exits the protocol.",{"_5302":1541,"_37698":1467,"_38077":56514,"_5":22127,"_14695":56325,"_2209":56515},[],"4. Otherwise, call exists( ), with watch flag, set on the node in lock directory with pathname starting with \"write-\" having the next lowest sequence number.",{"_5302":1542,"_37698":1467,"_38077":56517,"_5":22127,"_14695":56325,"_2209":56518},[],"4. Call exists( ), with watch flag set, on the node with the pathname that has the next lowest sequence number.",{"_5302":1543,"_37698":1467,"_38077":56520,"_5":22127,"_14695":56325,"_2209":56521},[],"5. If exists( ) returns false, goto step 2.",{"_5302":1544,"_37698":1467,"_38077":56523,"_5":22127,"_14695":56325,"_2209":56524},[],"5. If exists( ) returns false, goto step 2. Otherwise, wait for a notification for the pathname from the previous step before going to step 2.",{"_5302":1545,"_37698":1467,"_38077":56526,"_5":22127,"_14695":56325,"_2209":56527},[],"6. Otherwise, wait for a notification for the pathname from the previous step before going to step 2",{"_5302":1546,"_37698":1467,"_38077":56529,"_5":22127,"_14695":56325,"_2209":56530},[],"Notes:",{"_5302":1547,"_37698":1467,"_38077":56532,"_5":22127,"_14695":56325,"_2209":56533},[],"It might appear that this recipe creates a herd effect:\nwhen there is a large group of clients waiting for a read\nlock, and all getting notified more or less simultaneously\nwhen the \"write-\" node with the lowest\nsequence number is deleted. In fact. that's valid behavior:\nas all those waiting reader clients should be released since\nthey have the lock. The herd effect refers to releasing a\n\"herd\" when in fact only a single or a small number of\nmachines can proceed.",{"_5302":1548,"_37698":1467,"_38077":56535,"_5":22127,"_14695":56325,"_2209":56536},[],"See the note for Locks on how to use the guid in the node.",{"_5302":1549,"_37698":1467,"_38077":56538,"_5":22127,"_14695":56329,"_2209":56539},[],"With minor modifications to the Shared Lock protocol, you make\nshared locks revocable by modifying the shared lock protocol:",{"_5302":1550,"_37698":1467,"_38077":56541,"_5":22127,"_14695":56329,"_2209":56542},[],"In step 1, of both obtain reader\nand writer lock protocols, call getData(\n) with watch set, immediately after the\ncall to create( ). If the client\nsubsequently receives notification for the node it created in step\n1, it does another getData( ) on that node, with\nwatch set and looks for the string \"unlock\", which\nsignals to the client that it must release the lock. This is because,\naccording to this shared lock protocol, you can request the client with\nthe lock give up the lock by calling setData() on the lock node, writing \"unlock\" to that node.",{"_5302":1551,"_37698":1467,"_38077":56544,"_5":22127,"_14695":56329,"_2209":56545},[],"Note that this protocol requires the lock holder to consent to\nreleasing the lock. Such consent is important, especially if the lock\nholder needs to do some processing before releasing the lock. Of course\nyou can always implement Revocable Shared Locks with Freaking\nLaser Beams by stipulating in your protocol that the revoker\nis allowed to delete the lock node if after some length of time the lock\nisn't deleted by the lock holder.",{"_5302":1552,"_37698":1467,"_38077":56547,"_5":22127,"_14695":56333,"_2209":56548},[],"A two-phase commit protocol is an algorithm that lets all clients in\na distributed system agree either to commit a transaction or abort.",{"_5302":1553,"_37698":1467,"_38077":56550,"_5":22127,"_14695":56333,"_2209":56551},[],"In ZooKeeper, you can implement a two-phased commit by having a\ncoordinator create a transaction node, say \"/app/Tx\", and one child node\nper participating site, say \"/app/Tx/s_i\". When coordinator creates the\nchild node, it leaves the content undefined. Once each site involved in\nthe transaction receives the transaction from the coordinator, the site\nreads each child node and sets a watch. Each site then processes the query\nand votes \"commit\" or \"abort\" by writing to its respective node. Once the\nwrite completes, the other sites are notified, and as soon as all sites\nhave all votes, they can decide either \"abort\" or \"commit\". Note that a\nnode can decide \"abort\" earlier if some site votes for \"abort\".",{"_5302":1554,"_37698":1467,"_38077":56553,"_5":22127,"_14695":56333,"_2209":56554},[],"An interesting aspect of this implementation is that the only role\nof the coordinator is to decide upon the group of sites, to create the\nZooKeeper nodes, and to propagate the transaction to the corresponding\nsites. In fact, even propagating the transaction can be done through\nZooKeeper by writing it in the transaction node.",{"_5302":1555,"_37698":1467,"_38077":56556,"_5":22127,"_14695":56333,"_2209":56557},[],"There are two important drawbacks of the approach described above.\nOne is the message complexity, which is O(n²). The second is the\nimpossibility of detecting failures of sites through ephemeral nodes. To\ndetect the failure of a site using ephemeral nodes, it is necessary that\nthe site create the node.",{"_5302":1556,"_37698":1467,"_38077":56559,"_5":22127,"_14695":56333,"_2209":56560},[],"To solve the first problem, you can have only the coordinator\nnotified of changes to the transaction nodes, and then notify the sites\nonce coordinator reaches a decision. Note that this approach is scalable,\nbut it is slower too, as it requires all communication to go through the\ncoordinator.",{"_5302":1557,"_37698":1467,"_38077":56562,"_5":22127,"_14695":56333,"_2209":56563},[],"To address the second problem, you can have the coordinator\npropagate the transaction to the sites, and have each site creating its\nown ephemeral node.",{"_5302":1558,"_37698":1467,"_38077":56565,"_5":22127,"_14695":56337,"_2209":56566},[],"A simple way of doing leader election with ZooKeeper is to use the\nSEQUENCE|EPHEMERAL flags when creating\nznodes that represent \"proposals\" of clients. The idea is to have a znode,\nsay \"/election\", such that each znode creates a child znode \"/election/guid-n_\"\nwith both flags SEQUENCE|EPHEMERAL. With the sequence flag, ZooKeeper\nautomatically appends a sequence number that is greater than anyone\npreviously appended to a child of \"/election\". The process that created\nthe znode with the smallest appended sequence number is the leader.",{"_5302":1559,"_37698":1467,"_38077":56568,"_5":22127,"_14695":56337,"_2209":56569},[],"That's not all, though. It is important to watch for failures of the\nleader, so that a new client arises as the new leader in the case the\ncurrent leader fails. A trivial solution is to have all application\nprocesses watching upon the current smallest znode, and checking if they\nare the new leader when the smallest znode goes away (note that the\nsmallest znode will go away if the leader fails because the node is\nephemeral). But this causes a herd effect: upon a failure of the current\nleader, all other processes receive a notification, and execute\ngetChildren on \"/election\" to obtain the current list of children of\n\"/election\". If the number of clients is large, it causes a spike on the\nnumber of operations that ZooKeeper servers have to process. To avoid the\nherd effect, it is sufficient to watch for the next znode down on the\nsequence of znodes. If a client receives a notification that the znode it\nis watching is gone, then it becomes the new leader in the case that there\nis no smaller znode. Note that this avoids the herd effect by not having\nall clients watching the same znode.",{"_5302":1560,"_37698":1467,"_38077":56571,"_5":22127,"_14695":56337,"_2209":56572},[],"Here's the pseudo code:",{"_5302":1561,"_37698":1467,"_38077":56574,"_5":22127,"_14695":56337,"_2209":56575},[],"Let ELECTION be a path of choice of the application. To volunteer to\nbe a leader:",{"_5302":1562,"_37698":1467,"_38077":56577,"_5":22127,"_14695":56337,"_2209":56578},[],"Create znode z with path \"ELECTION/guid-n_\" with both SEQUENCE and\nEPHEMERAL flags;",{"_5302":1563,"_37698":1467,"_38077":56580,"_5":22127,"_14695":56337,"_2209":56581},[],"Let C be the children of \"ELECTION\", and i is the sequence\nnumber of z;",{"_5302":1564,"_37698":1467,"_38077":56583,"_5":22127,"_14695":56337,"_2209":56584},[],"Watch for changes on \"ELECTION/guid-n_j\", where j is the largest\nsequence number such that j < i and n_j is a znode in C;",{"_5302":1565,"_37698":1467,"_38077":56586,"_5":22127,"_14695":56337,"_2209":56587},[],"Upon receiving a notification of znode deletion:",{"_5302":1566,"_37698":1467,"_38077":56589,"_5":22127,"_14695":56337,"_2209":56590},[],"Let C be the new set of children of ELECTION;",{"_5302":1567,"_37698":1467,"_38077":56592,"_5":22127,"_14695":56337,"_2209":56593},[],"If z is the smallest node in C, then execute leader\nprocedure;",{"_5302":1568,"_37698":1467,"_38077":56595,"_5":22127,"_14695":56337,"_2209":56596},[],"Otherwise, watch for changes on \"ELECTION/guid-n_j\", where j is the\nlargest sequence number such that j < i and n_j is a znode in C;",{"_5302":1569,"_37698":1467,"_38077":56598,"_5":22127,"_14695":56337,"_2209":56530},[],{"_5302":1570,"_37698":1467,"_38077":56600,"_5":22127,"_14695":56337,"_2209":56601},[],"Note that the znode having no preceding znode on the list of\nchildren do not imply that the creator of this znode is aware that it is\nthe current leader. Applications may consider creating a separate znode\nto acknowledge that the leader has executed the leader procedure.",{"_5302":1571,"_37698":1467,"_38077":56603,"_5":22127,"_14695":56337,"_2209":56536},[],{"_5302":1572,"_37698":1572,"_5":19386,"_2209":56605,"_38009":56606,"_38077":56607,"_14695":1572},"Use Cases",[51788,55097],[],{"_5302":1573,"_37698":1572,"_38077":56609,"_5":22127,"_14695":1572,"_2209":56610},[],"A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.",{"_5302":1574,"_37698":1572,"_5":38006,"_38077":56612,"_14695":56613,"_2209":56614},[],"/docs/developer/use-cases#free-software-projects","Free Software Projects",{"_5302":1575,"_37698":1572,"_5":38006,"_38077":56616,"_14695":56617,"_2209":56618},[],"/docs/developer/use-cases#adroitlogic-ultraesb","AdroitLogic UltraESB",{"_5302":1576,"_37698":1572,"_5":38006,"_38077":56620,"_14695":56621,"_2209":56622},[],"/docs/developer/use-cases#akka","Akka",{"_5302":1577,"_37698":1572,"_5":38006,"_38077":56624,"_14695":56625,"_2209":56626},[],"/docs/developer/use-cases#eclipse-communication-framework","Eclipse Communication Framework",{"_5302":1578,"_37698":1572,"_5":38006,"_38077":56628,"_14695":56629,"_2209":56630},[],"/docs/developer/use-cases#eclipse-gyrex","Eclipse Gyrex",{"_5302":1579,"_37698":1572,"_5":38006,"_38077":56632,"_14695":56633,"_2209":56634},[],"/docs/developer/use-cases#goldenorb","GoldenOrb",{"_5302":1580,"_37698":1572,"_5":38006,"_38077":56636,"_14695":56637,"_2209":56638},[],"/docs/developer/use-cases#juju","Juju",{"_5302":1581,"_37698":1572,"_5":38006,"_38077":56640,"_14695":56641,"_2209":56642},[],"/docs/developer/use-cases#katta","Katta",{"_5302":1582,"_37698":1572,"_5":38006,"_38077":56644,"_14695":56645,"_2209":56646},[],"/docs/developer/use-cases#keptcollections","KeptCollections",{"_5302":1583,"_37698":1572,"_5":38006,"_38077":56648,"_14695":56649,"_2209":56650},[],"/docs/developer/use-cases#neo4j","Neo4j",{"_5302":1584,"_37698":1572,"_5":38006,"_38077":56652,"_14695":56653,"_2209":56654},[],"/docs/developer/use-cases#norbert","Norbert",{"_5302":1585,"_37698":1572,"_5":38006,"_38077":56656,"_14695":56657,"_2209":28143},[],"/docs/developer/use-cases#spring-cloud-zookeeper",{"_5302":1586,"_37698":1572,"_5":38006,"_38077":56659,"_14695":56660,"_2209":28150},[],"/docs/developer/use-cases#spring-statemachine",{"_5302":1587,"_37698":1572,"_5":38006,"_38077":56662,"_14695":56663,"_2209":28156},[],"/docs/developer/use-cases#spring-xd",{"_5302":1588,"_37698":1572,"_5":38006,"_38077":56665,"_14695":56666,"_2209":56667},[],"/docs/developer/use-cases#talend-esb","Talend ESB",{"_5302":1589,"_37698":1572,"_5":38006,"_38077":56669,"_14695":56670,"_2209":10683},[],"/docs/developer/use-cases#redis_failover",{"_5302":1590,"_37698":1572,"_5":38006,"_38077":56672,"_14695":56673,"_2209":56674},[],"/docs/developer/use-cases#apache-projects","Apache Projects",{"_5302":1591,"_37698":1572,"_5":38006,"_38077":56676,"_14695":56677,"_2209":56678},[],"/docs/developer/use-cases#apache-accumulo","Apache Accumulo",{"_5302":1592,"_37698":1572,"_5":38006,"_38077":56680,"_14695":56681,"_2209":56682},[],"/docs/developer/use-cases#apache-atlas","Apache Atlas",{"_5302":1593,"_37698":1572,"_5":38006,"_38077":56684,"_14695":56685,"_2209":56686},[],"/docs/developer/use-cases#apache-bookkeeper","Apache BookKeeper",{"_5302":1594,"_37698":1572,"_5":38006,"_38077":56688,"_14695":56689,"_2209":56690},[],"/docs/developer/use-cases#apache-cxf-dosgi","Apache CXF DOSGi",{"_5302":1595,"_37698":1572,"_5":38006,"_38077":56692,"_14695":56693,"_2209":56694},[],"/docs/developer/use-cases#apache-drill","Apache Drill",{"_5302":1596,"_37698":1572,"_5":38006,"_38077":56696,"_14695":56697,"_2209":56698},[],"/docs/developer/use-cases#apache-druid","Apache Druid",{"_5302":1597,"_37698":1572,"_5":38006,"_38077":56700,"_14695":56701,"_2209":56702},[],"/docs/developer/use-cases#apache-dubbo","Apache Dubbo",{"_5302":1598,"_37698":1572,"_5":38006,"_38077":56704,"_14695":56705,"_2209":56706},[],"/docs/developer/use-cases#apache-flink","Apache Flink",{"_5302":1599,"_37698":1572,"_5":38006,"_38077":56708,"_14695":56709,"_2209":56710},[],"/docs/developer/use-cases#apache-flume","Apache Flume",{"_5302":1600,"_37698":1572,"_5":38006,"_38077":56712,"_14695":56713,"_2209":56714},[],"/docs/developer/use-cases#apache-fluo","Apache Fluo",{"_5302":1601,"_37698":1572,"_5":38006,"_38077":56716,"_14695":56717,"_2209":56718},[],"/docs/developer/use-cases#apache-griffin","Apache Griffin",{"_5302":1602,"_37698":1572,"_5":38006,"_38077":56720,"_14695":56721,"_2209":56722},[],"/docs/developer/use-cases#apache-hadoop","Apache Hadoop",{"_5302":1603,"_37698":1572,"_5":38006,"_38077":56724,"_14695":56725,"_2209":56726},[],"/docs/developer/use-cases#apache-hbase","Apache HBase",{"_5302":1604,"_37698":1572,"_5":38006,"_38077":56728,"_14695":56729,"_2209":56730},[],"/docs/developer/use-cases#apache-helix","Apache Helix",{"_5302":1605,"_37698":1572,"_5":38006,"_38077":56732,"_14695":56733,"_2209":56734},[],"/docs/developer/use-cases#apache-hive","Apache Hive",{"_5302":1606,"_37698":1572,"_5":38006,"_38077":56736,"_14695":56737,"_2209":56738},[],"/docs/developer/use-cases#apache-ignite","Apache Ignite",{"_5302":1607,"_37698":1572,"_5":38006,"_38077":56740,"_14695":56741,"_2209":56742},[],"/docs/developer/use-cases#apache-james-mailbox","Apache James Mailbox",{"_5302":1608,"_37698":1572,"_5":38006,"_38077":56744,"_14695":56745,"_2209":56746},[],"/docs/developer/use-cases#apache-kafka","Apache Kafka",{"_5302":1609,"_37698":1572,"_5":38006,"_38077":56748,"_14695":56749,"_2209":56750},[],"/docs/developer/use-cases#apache-kylin","Apache Kylin",{"_5302":1610,"_37698":1572,"_5":38006,"_38077":56752,"_14695":56753,"_2209":56754},[],"/docs/developer/use-cases#apache-mesos","Apache Mesos",{"_5302":1611,"_37698":1572,"_5":38006,"_38077":56756,"_14695":56757,"_2209":56758},[],"/docs/developer/use-cases#apache-oozie","Apache Oozie",{"_5302":1612,"_37698":1572,"_5":38006,"_38077":56760,"_14695":56761,"_2209":56762},[],"/docs/developer/use-cases#apache-pulsar","Apache Pulsar",{"_5302":1613,"_37698":1572,"_5":38006,"_38077":56764,"_14695":56765,"_2209":56766},[],"/docs/developer/use-cases#apache-solr","Apache Solr",{"_5302":1614,"_37698":1572,"_5":38006,"_38077":56768,"_14695":56769,"_2209":56770},[],"/docs/developer/use-cases#apache-spark","Apache Spark",{"_5302":1615,"_37698":1572,"_5":38006,"_38077":56772,"_14695":56773,"_2209":56774},[],"/docs/developer/use-cases#apache-storm","Apache Storm",{"_5302":1616,"_37698":1572,"_5":38006,"_38077":56776,"_14695":56777,"_2209":56778},[],"/docs/developer/use-cases#companies","Companies",{"_5302":1617,"_37698":1572,"_5":38006,"_38077":56780,"_14695":56781,"_2209":56782},[],"/docs/developer/use-cases#ageto","AGETO",{"_5302":1618,"_37698":1572,"_5":38006,"_38077":56784,"_14695":56785,"_2209":56786},[],"/docs/developer/use-cases#benipal-technologies","Benipal Technologies",{"_5302":1619,"_37698":1572,"_5":38006,"_38077":56788,"_14695":56789,"_2209":56790},[],"/docs/developer/use-cases#box","Box",{"_5302":1620,"_37698":1572,"_5":38006,"_38077":56792,"_14695":56793,"_2209":56794},[],"/docs/developer/use-cases#deepdyve","Deepdyve",{"_5302":1621,"_37698":1572,"_5":38006,"_38077":56796,"_14695":56797,"_2209":56798},[],"/docs/developer/use-cases#facebook","Facebook",{"_5302":1622,"_37698":1572,"_5":38006,"_38077":56800,"_14695":56801,"_2209":56802},[],"/docs/developer/use-cases#idium-portal","Idium Portal",{"_5302":1623,"_37698":1572,"_5":38006,"_38077":56804,"_14695":56805,"_2209":56806},[],"/docs/developer/use-cases#makara","Makara",{"_5302":1624,"_37698":1572,"_5":38006,"_38077":56808,"_14695":56809,"_2209":56810},[],"/docs/developer/use-cases#midokura","Midokura",{"_5302":1625,"_37698":1572,"_5":38006,"_38077":56812,"_14695":56813,"_2209":56814},[],"/docs/developer/use-cases#pinterest","Pinterest",{"_5302":1626,"_37698":1572,"_5":38006,"_38077":56816,"_14695":56817,"_2209":56818},[],"/docs/developer/use-cases#rackspace","Rackspace",{"_5302":1627,"_37698":1572,"_5":38006,"_38077":56820,"_14695":56821,"_2209":56822},[],"/docs/developer/use-cases#sematext","Sematext",{"_5302":1628,"_37698":1572,"_5":38006,"_38077":56824,"_14695":56825,"_2209":56826},[],"/docs/developer/use-cases#tubemogul","Tubemogul",{"_5302":1629,"_37698":1572,"_5":38006,"_38077":56828,"_14695":56829,"_2209":56830},[],"/docs/developer/use-cases#twitter","Twitter",{"_5302":1630,"_37698":1572,"_5":38006,"_38077":56832,"_14695":56833,"_2209":56834},[],"/docs/developer/use-cases#vastcom","Vast.com",{"_5302":1631,"_37698":1572,"_5":38006,"_38077":56836,"_14695":56837,"_2209":56838},[],"/docs/developer/use-cases#wealthfront","Wealthfront",{"_5302":1632,"_37698":1572,"_5":38006,"_38077":56840,"_14695":56841,"_2209":56842},[],"/docs/developer/use-cases#yahoo","Yahoo!",{"_5302":1633,"_37698":1572,"_5":38006,"_38077":56844,"_14695":56845,"_2209":56846},[],"/docs/developer/use-cases#zynga","Zynga",{"_5302":1634,"_37698":1572,"_38077":56848,"_5":22127,"_14695":1572,"_2209":56849},[],"Applications and organizations using ZooKeeper include (alphabetically) .",{"_5302":1635,"_37698":1572,"_38077":56851,"_5":22127,"_14695":1572,"_2209":56852},[],"If your use case wants to be listed here. Please do not hesitate, submit a pull request or write an email to dev@zookeeper.apache.org,\nand then, your use case will be included.",{"_5302":1636,"_37698":1572,"_38077":56854,"_5":22127,"_14695":1572,"_2209":56855},[],"If this documentation has violated your intellectual property rights or you and your company's privacy, write an email to dev@zookeeper.apache.org,\nwe will handle them in a timely manner.",{"_5302":1637,"_37698":1572,"_38077":56857,"_5":22127,"_14695":56617,"_2209":56858},[],"Uses ZooKeeper to implement node coordination, in clustering support. This allows the management of the complete cluster,\nor any specific node - from any other node connected via JMX. A Cluster wide command framework developed on top of the\nZooKeeper coordination allows commands that fail on some nodes to be retried etc. We also support the automated graceful\nround-robin-restart of a complete cluster of nodes using the same framework .",{"_5302":1638,"_37698":1572,"_38077":56860,"_5":22127,"_14695":56621,"_2209":56861},[],"Akka is the platform for the next generation event-driven, scalable and fault-tolerant architectures on the JVM.\nOr: Akka is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on the JVM .",{"_5302":1639,"_37698":1572,"_38077":56863,"_5":22127,"_14695":56625,"_2209":56864},[],"The Eclipse ECF project provides an implementation of its Abstract Discovery services using Zookeeper. ECF itself\nis used in many projects providing base functionality for communication, all based on OSGi .",{"_5302":1640,"_37698":1572,"_38077":56866,"_5":22127,"_14695":56629,"_2209":56867},[],"The Eclipse Gyrex project provides a platform for building your own Java OSGi based clouds.",{"_5302":1641,"_37698":1572,"_38077":56869,"_5":22127,"_14695":56629,"_2209":56870},[],"ZooKeeper is used as the core cloud component for node membership and management, coordination of jobs executing among workers,\na lock service and a simple queue service and a lot more .",{"_5302":1642,"_37698":1572,"_38077":56872,"_5":22127,"_14695":56633,"_2209":56873},[],"massive-scale Graph analysis .",{"_5302":1643,"_37698":1572,"_38077":56875,"_5":22127,"_14695":56637,"_2209":56876},[],"Service deployment and orchestration framework, formerly called Ensemble .",{"_5302":1644,"_37698":1572,"_38077":56878,"_5":22127,"_14695":56641,"_2209":56879},[],"Katta serves distributed Lucene indexes in a grid environment.",{"_5302":1645,"_37698":1572,"_38077":56881,"_5":22127,"_14695":56641,"_2209":56882},[],"Zookeeper is used for node, master and index management in the grid .",{"_5302":1646,"_37698":1572,"_38077":56884,"_5":22127,"_14695":56645,"_2209":56885},[],"KeptCollections is a library of drop-in replacements for the data structures in the Java Collections framework.",{"_5302":1647,"_37698":1572,"_38077":56887,"_5":22127,"_14695":56645,"_2209":56888},[],"KeptCollections uses Apache ZooKeeper as a backing store, thus making its data structures distributed and scalable .",{"_5302":1648,"_37698":1572,"_38077":56890,"_5":22127,"_14695":56649,"_2209":56891},[],"Neo4j is a Graph Database. It's a disk based, ACID compliant transactional storage engine for big graphs and fast graph traversals,\nusing external indices like Lucene/Solr for global searches.",{"_5302":1649,"_37698":1572,"_38077":56893,"_5":22127,"_14695":56649,"_2209":56894},[],"We use ZooKeeper in the Neo4j High Availability components for write-master election,\nread slave coordination and other cool stuff. ZooKeeper is a great and focused project - we like! .",{"_5302":1650,"_37698":1572,"_38077":56896,"_5":22127,"_14695":56653,"_2209":56897},[],"Partitioned routing and cluster management .",{"_5302":1651,"_37698":1572,"_38077":56899,"_5":22127,"_14695":56657,"_2209":56900},[],"Spring Cloud Zookeeper provides Apache Zookeeper integrations for Spring Boot apps through autoconfiguration\nand binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations\nyou can quickly enable and configure the common patterns inside your application and build large distributed systems with Zookeeper.\nThe patterns provided include Service Discovery and Distributed Configuration .",{"_5302":1652,"_37698":1572,"_38077":56902,"_5":22127,"_14695":56660,"_2209":56903},[],"Spring Statemachine is a framework for application developers to use state machine concepts with Spring applications.",{"_5302":1653,"_37698":1572,"_38077":56905,"_5":22127,"_14695":56660,"_2209":56906},[],"Spring Statemachine can provide this feature:Distributed state machine based on a Zookeeper [31,32].",{"_5302":1654,"_37698":1572,"_38077":56908,"_5":22127,"_14695":56663,"_2209":56909},[],"Spring XD is a unified, distributed, and extensible system for data ingestion, real time analytics, batch processing, and data export.\nThe project’s goal is to simplify the development of big data applications.",{"_5302":1655,"_37698":1572,"_38077":56911,"_5":22127,"_14695":56663,"_2209":56912},[],"ZooKeeper - Provides all runtime information for the XD cluster. Tracks running containers, in which containers modules\nand jobs are deployed, stream definitions, deployment manifests, and the like [30,31].",{"_5302":1656,"_37698":1572,"_38077":56914,"_5":22127,"_14695":56666,"_2209":56915},[],"Talend ESB is a versatile and flexible, enterprise service bus.",{"_5302":1657,"_37698":1572,"_38077":56917,"_5":22127,"_14695":56666,"_2209":56918},[],"It uses ZooKeeper as endpoint repository of both REST and SOAP Web services.\nBy using ZooKeeper Talend ESB is able to provide failover and load balancing capabilities in a very light-weight manner .",{"_5302":1658,"_37698":1572,"_38077":56920,"_5":22127,"_14695":56670,"_2209":56921},[],"Redis Failover is a ZooKeeper-based automatic master/slave failover solution for Ruby .",{"_5302":1659,"_37698":1572,"_38077":56923,"_5":22127,"_14695":56677,"_2209":56924},[],"Accumulo is a distributed key/value store that provides expressive, cell-level access labels.",{"_5302":1660,"_37698":1572,"_38077":56926,"_5":22127,"_14695":56677,"_2209":56927},[],"Apache ZooKeeper plays a central role within the Accumulo architecture. Its quorum consistency model supports an overall\nAccumulo architecture with no single points of failure. Beyond that, Accumulo leverages ZooKeeper to store and communication\nconfiguration information for users and tables, as well as operational states of processes and tablets .",{"_5302":1661,"_37698":1572,"_38077":56929,"_5":22127,"_14695":56681,"_2209":56930},[],"Atlas is a scalable and extensible set of core foundational governance services – enabling enterprises to effectively and efficiently meet\ntheir compliance requirements within Hadoop and allows integration with the whole enterprise data ecosystem.",{"_5302":1662,"_37698":1572,"_38077":56932,"_5":22127,"_14695":56681,"_2209":56933},[],"Atlas uses Zookeeper for coordination to provide redundancy and high availability of HBase,Kafka [31,35].",{"_5302":1663,"_37698":1572,"_38077":56935,"_5":22127,"_14695":56685,"_2209":56936},[],"A scalable, fault-tolerant, and low-latency storage service optimized for real-time workloads.",{"_5302":1664,"_37698":1572,"_38077":56938,"_5":22127,"_14695":56685,"_2209":56939},[],"BookKeeper requires a metadata storage service to store information related to ledgers and available bookies. BookKeeper currently uses\nZooKeeper for this and other tasks .",{"_5302":1665,"_37698":1572,"_38077":56941,"_5":22127,"_14695":56689,"_2209":56942},[],"Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming\nAPIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP,\nor CORBA and work over a variety of transports such as HTTP, JMS or JBI.",{"_5302":1666,"_37698":1572,"_38077":56944,"_5":22127,"_14695":56689,"_2209":56945},[],"The Distributed OSGi implementation at Apache CXF uses ZooKeeper for its Discovery functionality .",{"_5302":1667,"_37698":1572,"_38077":56947,"_5":22127,"_14695":56693,"_2209":56948},[],"Schema-free SQL Query Engine for Hadoop, NoSQL and Cloud Storage",{"_5302":1668,"_37698":1572,"_38077":56950,"_5":22127,"_14695":56693,"_2209":56951},[],"ZooKeeper maintains ephemeral cluster membership information. The Drillbits use ZooKeeper to find other Drillbits in the cluster,\nand the client uses ZooKeeper to find Drillbits to submit a query .",{"_5302":1669,"_37698":1572,"_38077":56953,"_5":22127,"_14695":56697,"_2209":56954},[],"Apache Druid is a high performance real-time analytics database.",{"_5302":1670,"_37698":1572,"_38077":56956,"_5":22127,"_14695":56697,"_2209":56957},[],"Apache Druid uses Apache ZooKeeper (ZK) for management of current cluster state. The operations that happen over ZK are :",{"_5302":1671,"_37698":1572,"_38077":56959,"_5":22127,"_14695":56697,"_2209":56960},[],"Coordinator leader election",{"_5302":1672,"_37698":1572,"_38077":56962,"_5":22127,"_14695":56697,"_2209":56963},[],"Segment \"publishing\" protocol from Historical and Realtime",{"_5302":1673,"_37698":1572,"_38077":56965,"_5":22127,"_14695":56697,"_2209":56966},[],"Segment load/drop protocol between Coordinator and Historical",{"_5302":1674,"_37698":1572,"_38077":56968,"_5":22127,"_14695":56697,"_2209":56969},[],"Overlord leader election",{"_5302":1675,"_37698":1572,"_38077":56971,"_5":22127,"_14695":56697,"_2209":56972},[],"Overlord and MiddleManager task management",{"_5302":1676,"_37698":1572,"_38077":56974,"_5":22127,"_14695":56701,"_2209":56975},[],"Apache Dubbo is a high-performance, java based open source RPC framework.",{"_5302":1677,"_37698":1572,"_38077":56977,"_5":22127,"_14695":56701,"_2209":56978},[],"Zookeeper is used for service registration discovery and configuration management in Dubbo .",{"_5302":1678,"_37698":1572,"_38077":56980,"_5":22127,"_14695":56705,"_2209":56981},[],"Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams.\nFlink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.",{"_5302":1679,"_37698":1572,"_38077":56983,"_5":22127,"_14695":56705,"_2209":56984},[],"To enable JobManager High Availability you have to set the high-availability mode to zookeeper, configure a ZooKeeper quorum and set up a masters file with all JobManagers hosts and their web UI ports.\nFlink leverages ZooKeeper for distributed coordination between all running JobManager instances. ZooKeeper is a separate service from Flink,\nwhich provides highly reliable distributed coordination via leader election and light-weight consistent state storage .",{"_5302":1680,"_37698":1572,"_38077":56986,"_5":22127,"_14695":56709,"_2209":56987},[],"Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts\nof log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant\nwith tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model\nthat allows for online analytic application.",{"_5302":1681,"_37698":1572,"_38077":56989,"_5":22127,"_14695":56709,"_2209":56990},[],"Flume supports Agent configurations via Zookeeper. This is an experimental feature .",{"_5302":1682,"_37698":1572,"_38077":56992,"_5":22127,"_14695":56713,"_2209":56993},[],"Apache Fluo is a distributed processing system that lets users make incremental updates to large data sets.",{"_5302":1683,"_37698":1572,"_38077":56995,"_5":22127,"_14695":56713,"_2209":56996},[],"Apache Fluo is built on Apache Accumulo which uses Apache Zookeeper for consensus [31,37].",{"_5302":1684,"_37698":1572,"_38077":56998,"_5":22127,"_14695":56717,"_2209":56999},[],"Big Data Quality Solution For Batch and Streaming.",{"_5302":1685,"_37698":1572,"_38077":57001,"_5":22127,"_14695":56717,"_2209":57002},[],"Griffin uses Zookeeper for coordination to provide redundancy and high availability of Kafka [31,36].",{"_5302":1686,"_37698":1572,"_38077":57004,"_5":22127,"_14695":56721,"_2209":57005},[],"The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across\nclusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines,\neach offering local computation and storage. Rather than rely on hardware to deliver high-availability,\nthe library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.",{"_5302":1687,"_37698":1572,"_38077":57007,"_5":22127,"_14695":56721,"_2209":57008},[],"The implementation of automatic HDFS failover relies on ZooKeeper for the following things:",{"_5302":1688,"_37698":1572,"_38077":57010,"_5":22127,"_14695":56721,"_2209":57011},[],"Failure detection - each of the NameNode machines in the cluster maintains a persistent session in ZooKeeper.\nIf the machine crashes, the ZooKeeper session will expire, notifying the other NameNode that a failover should be triggered.",{"_5302":1689,"_37698":1572,"_38077":57013,"_5":22127,"_14695":56721,"_2209":57014},[],"Active NameNode election - ZooKeeper provides a simple mechanism to exclusively elect a node as active. If the current active NameNode crashes,\nanother node may take a special exclusive lock in ZooKeeper indicating that it should become the next active.",{"_5302":1690,"_37698":1572,"_38077":57016,"_5":22127,"_14695":56721,"_2209":57017},[],"The ZKFailoverController (ZKFC) is a new component which is a ZooKeeper client which also monitors and manages the state of the NameNode.\nEach of the machines which runs a NameNode also runs a ZKFC, and that ZKFC is responsible for:",{"_5302":1691,"_37698":1572,"_38077":57019,"_5":22127,"_14695":56721,"_2209":57020},[],"Health monitoring - the ZKFC pings its local NameNode on a periodic basis with a health-check command.\nSo long as the NameNode responds in a timely fashion with a healthy status, the ZKFC considers the node healthy.\nIf the node has crashed, frozen, or otherwise entered an unhealthy state, the health monitor will mark it as unhealthy.",{"_5302":1692,"_37698":1572,"_38077":57022,"_5":22127,"_14695":56721,"_2209":57023},[],"ZooKeeper session management - when the local NameNode is healthy, the ZKFC holds a session open in ZooKeeper.\nIf the local NameNode is active, it also holds a special “lock” znode. This lock uses ZooKeeper’s support for “ephemeral” nodes;\nif the session expires, the lock node will be automatically deleted.",{"_5302":1693,"_37698":1572,"_38077":57025,"_5":22127,"_14695":56721,"_2209":57026},[],"ZooKeeper-based election - if the local NameNode is healthy, and the ZKFC sees that no other node currently holds the lock znode,\nit will itself try to acquire the lock. If it succeeds, then it has “won the election”, and is responsible for running a failover to make its local NameNode active.\nThe failover process is similar to the manual failover described above: first, the previous active is fenced if necessary,\nand then the local NameNode transitions to active state .",{"_5302":1694,"_37698":1572,"_38077":57028,"_5":22127,"_14695":56725,"_2209":57029},[],"HBase is the Hadoop database. It's an open-source, distributed, column-oriented store model.",{"_5302":1695,"_37698":1572,"_38077":57031,"_5":22127,"_14695":56725,"_2209":57032},[],"HBase uses ZooKeeper for master election, server lease management, bootstrapping, and coordination between servers.\nA distributed Apache HBase installation depends on a running ZooKeeper cluster. All participating nodes and clients\nneed to be able to access the running ZooKeeper ensemble .",{"_5302":1696,"_37698":1572,"_38077":57034,"_5":22127,"_14695":56725,"_2209":57035},[],"As you can see, ZooKeeper is a fundamental part of HBase. All operations that require coordination, such as Regions\nassignment, Master-Failover, replication, and snapshots, are built on ZooKeeper .",{"_5302":1697,"_37698":1572,"_38077":57037,"_5":22127,"_14695":56729,"_2209":57038},[],"A cluster management framework for partitioned and replicated distributed resources.",{"_5302":1698,"_37698":1572,"_38077":57040,"_5":22127,"_14695":56729,"_2209":57041},[],"We need a distributed store to maintain the state of the cluster and a notification system to notify if there is any change in the cluster state.\nHelix uses Apache ZooKeeper to achieve this functionality .\nZookeeper provides:",{"_5302":1699,"_37698":1572,"_38077":57043,"_5":22127,"_14695":56729,"_2209":57044},[],"A way to represent PERSISTENT state which remains until its deleted",{"_5302":1700,"_37698":1572,"_38077":57046,"_5":22127,"_14695":56729,"_2209":57047},[],"A way to represent TRANSIENT/EPHEMERAL state which vanishes when the process that created the state dies",{"_5302":1701,"_37698":1572,"_38077":57049,"_5":22127,"_14695":56729,"_2209":57050},[],"A notification mechanism when there is a change in PERSISTENT and EPHEMERAL state",{"_5302":1702,"_37698":1572,"_38077":57052,"_5":22127,"_14695":56733,"_2209":57053},[],"The Apache Hive data warehouse software facilitates reading, writing, and managing large datasets residing in distributed\nstorage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.",{"_5302":1703,"_37698":1572,"_38077":57055,"_5":22127,"_14695":56733,"_2209":57056},[],"Hive has been using ZooKeeper as distributed lock manager to support concurrency in HiveServer2 [25,26].",{"_5302":1704,"_37698":1572,"_38077":57058,"_5":22127,"_14695":56737,"_2209":57059},[],"Ignite is a memory-centric distributed database, caching, and processing platform for\ntransactional, analytical, and streaming workloads delivering in-memory speeds at petabyte scale",{"_5302":1705,"_37698":1572,"_38077":57061,"_5":22127,"_14695":56737,"_2209":57062},[],"Apache Ignite discovery mechanism goes with a ZooKeeper implementations which allows scaling Ignite clusters to 100s and 1000s of nodes\npreserving linear scalability and performance [31,34].​",{"_5302":1706,"_37698":1572,"_38077":57064,"_5":22127,"_14695":56741,"_2209":57065},[],"The Apache James Mailbox is a library providing a flexible Mailbox storage accessible by mail protocols\n(IMAP4, POP3, SMTP,...) and other protocols.",{"_5302":1707,"_37698":1572,"_38077":57067,"_5":22127,"_14695":56741,"_2209":57068},[],"Uses Zookeeper and Curator Framework for generating distributed unique ID's .",{"_5302":1708,"_37698":1572,"_38077":57070,"_5":22127,"_14695":56745,"_2209":57071},[],"Kafka is a distributed publish/subscribe messaging system",{"_5302":1709,"_37698":1572,"_38077":57073,"_5":22127,"_14695":56745,"_2209":57074},[],"Apache Kafka relies on ZooKeeper for the following things:",{"_5302":1710,"_37698":1572,"_38077":57076,"_5":22127,"_14695":56745,"_2209":57077},[],"Controller election\nThe controller is one of the most important broking entity in a Kafka ecosystem, and it also has the responsibility\nto maintain the leader-follower relationship across all the partitions. If a node by some reason is shutting down,\nit’s the controller’s responsibility to tell all the replicas to act as partition leaders in order to fulfill the\nduties of the partition leaders on the node that is about to fail. So, whenever a node shuts down, a new controller\ncan be elected and it can also be made sure that at any given time, there is only one controller and all the follower nodes have agreed on that.",{"_5302":1711,"_37698":1572,"_38077":57079,"_5":22127,"_14695":56745,"_2209":57080},[],"Configuration Of Topics\nThe configuration regarding all the topics including the list of existing topics, the number of partitions for each topic,\nthe location of all the replicas, list of configuration overrides for all topics and which node is the preferred leader, etc.",{"_5302":1712,"_37698":1572,"_38077":57082,"_5":22127,"_14695":56745,"_2209":57083},[],"Access control lists\nAccess control lists or ACLs for all the topics are also maintained within Zookeeper.",{"_5302":1713,"_37698":1572,"_38077":57085,"_5":22127,"_14695":56745,"_2209":57086},[],"Membership of the cluster\nZookeeper also maintains a list of all the brokers that are functioning at any given moment and are a part of the cluster .",{"_5302":1714,"_37698":1572,"_38077":57088,"_5":22127,"_14695":56749,"_2209":57089},[],"Apache Kylin is an open source Distributed Analytics Engine designed to provide SQL interface and multi-dimensional analysis (OLAP) on Hadoop/Spark supporting extremely large datasets,\noriginal contributed from eBay Inc.",{"_5302":1715,"_37698":1572,"_38077":57091,"_5":22127,"_14695":56749,"_2209":57092},[],"Apache Kylin leverages Zookeeper for job coordination [31,33].",{"_5302":1716,"_37698":1572,"_38077":57094,"_5":22127,"_14695":56753,"_2209":57095},[],"Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual),\nenabling fault-tolerant and elastic distributed systems to easily be built and run effectively.",{"_5302":1717,"_37698":1572,"_38077":57097,"_5":22127,"_14695":56753,"_2209":57098},[],"Mesos has a high-availability mode that uses multiple Mesos masters: one active master (called the leader or leading master)\nand several backups in case it fails. The masters elect the leader, with Apache ZooKeeper both coordinating the election\nand handling leader detection by masters, agents, and scheduler drivers .",{"_5302":1718,"_37698":1572,"_38077":57100,"_5":22127,"_14695":56757,"_2209":57101},[],"Oozie is a workflow scheduler system to manage Apache Hadoop jobs.",{"_5302":1719,"_37698":1572,"_38077":57103,"_5":22127,"_14695":56757,"_2209":57104},[],"the Oozie servers use it for coordinating access to the database and communicating with each other. In order to have full HA,\nthere should be at least 3 ZooKeeper servers .",{"_5302":1720,"_37698":1572,"_38077":57106,"_5":22127,"_14695":56761,"_2209":57107},[],"Apache Pulsar is an open-source distributed pub-sub messaging system originally created at Yahoo and now part of the Apache Software Foundation",{"_5302":1721,"_37698":1572,"_38077":57109,"_5":22127,"_14695":56761,"_2209":57110},[],"Pulsar uses Apache Zookeeper for metadata storage, cluster configuration, and coordination. In a Pulsar instance:",{"_5302":1722,"_37698":1572,"_38077":57112,"_5":22127,"_14695":56761,"_2209":57113},[],"A configuration store quorum stores configuration for tenants, namespaces, and other entities that need to be globally consistent.",{"_5302":1723,"_37698":1572,"_38077":57115,"_5":22127,"_14695":56761,"_2209":57116},[],"Each cluster has its own local ZooKeeper ensemble that stores cluster-specific configuration and coordination such as ownership metadata,\nbroker load reports, BookKeeper ledger metadata, and more .",{"_5302":1724,"_37698":1572,"_38077":57118,"_5":22127,"_14695":56765,"_2209":57119},[],"Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene.",{"_5302":1725,"_37698":1572,"_38077":57121,"_5":22127,"_14695":56765,"_2209":57122},[],"In the \"Cloud\" edition (v4.x and up) of enterprise search engine Apache Solr, ZooKeeper is used for configuration,\nleader election and more [12,13].",{"_5302":1726,"_37698":1572,"_38077":57124,"_5":22127,"_14695":56769,"_2209":57125},[],"Apache Spark is a unified analytics engine for large-scale data processing.",{"_5302":1727,"_37698":1572,"_38077":57127,"_5":22127,"_14695":56769,"_2209":57128},[],"Utilizing ZooKeeper to provide leader election and some state storage, you can launch multiple Masters in your cluster connected to the same ZooKeeper instance.\nOne will be elected “leader” and the others will remain in standby mode. If the current leader dies, another Master will be elected,\nrecover the old Master’s state, and then resume scheduling .",{"_5302":1728,"_37698":1572,"_38077":57130,"_5":22127,"_14695":56773,"_2209":57131},[],"Apache Storm is a free and open source distributed realtime computation system. Apache Storm makes it easy to reliably\nprocess unbounded streams of data, doing for realtime processing what Hadoop did for batch processing.\nApache Storm is simple, can be used with any programming language, and is a lot of fun to use!",{"_5302":1729,"_37698":1572,"_38077":57133,"_5":22127,"_14695":56773,"_2209":57134},[],"Storm uses Zookeeper for coordinating the cluster .",{"_5302":1730,"_37698":1572,"_38077":57136,"_5":22127,"_14695":56781,"_2209":57137},[],"The AGETO RnD team uses ZooKeeper in a variety of internal as well as external consulting projects .",{"_5302":1731,"_37698":1572,"_38077":57139,"_5":22127,"_14695":56785,"_2209":57140},[],"ZooKeeper is used for internal application development with Solr and Hadoop with Hbase .",{"_5302":1732,"_37698":1572,"_38077":57142,"_5":22127,"_14695":56789,"_2209":57143},[],"Box uses ZooKeeper for service discovery, service coordination, Solr and Hadoop support, etc .",{"_5302":1733,"_37698":1572,"_38077":57145,"_5":22127,"_14695":56793,"_2209":57146},[],"We do search for research and provide access to high quality content using advanced search technologies Zookeeper is used to\nmanage server state, control index deployment and a myriad other tasks .",{"_5302":1734,"_37698":1572,"_38077":57148,"_5":22127,"_14695":56797,"_2209":57149},[],"Facebook uses the Zeus ([17,18]) for configuration management which is a forked version of ZooKeeper, with many scalability\nand performance en- hancements in order to work at the Facebook scale.\nIt runs a consensus protocol among servers distributed across mul- tiple regions for resilience. If the leader fails,\na follower is converted into a new leader.",{"_5302":1735,"_37698":1572,"_38077":57151,"_5":22127,"_14695":56801,"_2209":57152},[],"Idium Portal is a hosted web-publishing system delivered by Norwegian company, Idium AS.",{"_5302":1736,"_37698":1572,"_38077":57154,"_5":22127,"_14695":56801,"_2209":57155},[],"ZooKeeper is used for cluster messaging, service bootstrapping, and service coordination .",{"_5302":1737,"_37698":1572,"_38077":57157,"_5":22127,"_14695":56805,"_2209":57158},[],"Using ZooKeeper on 2-node cluster on VMware workstation, Amazon EC2, Zen",{"_5302":1738,"_37698":1572,"_38077":57160,"_5":22127,"_14695":56805,"_2209":57161},[],"Using zkpython",{"_5302":1739,"_37698":1572,"_38077":57163,"_5":22127,"_14695":56805,"_2209":57164},[],"Looking into expanding into 100 node cluster .",{"_5302":1740,"_37698":1572,"_38077":57166,"_5":22127,"_14695":56809,"_2209":57167},[],"We do virtualized networking for the cloud computing era. We use ZooKeeper for various aspects of our distributed control plane .",{"_5302":1741,"_37698":1572,"_38077":57169,"_5":22127,"_14695":56813,"_2209":57170},[],"Pinterest uses the ZooKeeper for Service discovery and dynamic configuration.Like many large scale web sites, Pinterest’s infrastructure consists of servers that communicate with\nbackend services composed of a number of individual servers for managing load and fault tolerance. Ideally, we’d like the configuration to reflect only the active hosts,\nso clients don’t need to deal with bad hosts as often. ZooKeeper provides a well known pattern to solve this problem .",{"_5302":1742,"_37698":1572,"_38077":57172,"_5":22127,"_14695":56817,"_2209":57173},[],"The Email & Apps team uses ZooKeeper to coordinate sharding and responsibility changes in a distributed e-mail client\nthat pulls and indexes data for search. ZooKeeper also provides distributed locking for connections to prevent a cluster from overwhelming servers .",{"_5302":1743,"_37698":1572,"_38077":57175,"_5":22127,"_14695":56821,"_2209":57176},[],"Uses ZooKeeper in SPM (which includes ZooKeeper monitoring component, too!), Search Analytics, and Logsene .",{"_5302":1744,"_37698":1572,"_38077":57178,"_5":22127,"_14695":56825,"_2209":57179},[],"Uses ZooKeeper for leader election, configuration management, locking, group membership .",{"_5302":1745,"_37698":1572,"_38077":57181,"_5":22127,"_14695":56829,"_2209":57182},[],"ZooKeeper is used at Twitter as the source of truth for storing critical metadata. It serves as a coordination kernel to\nprovide distributed coordination services, such as leader election and distributed locking.\nSome concrete examples of ZooKeeper in action include [15,16]:",{"_5302":1746,"_37698":1572,"_38077":57184,"_5":22127,"_14695":56829,"_2209":57185},[],"ZooKeeper is used to store service registry, which is used by Twitter’s naming service for service discovery.",{"_5302":1747,"_37698":1572,"_38077":57187,"_5":22127,"_14695":56829,"_2209":57188},[],"Manhattan (Twitter’s in-house key-value database), Nighthawk (sharded Redis), and Blobstore (in-house photo and video storage),\nstores its cluster topology information in ZooKeeper.",{"_5302":1748,"_37698":1572,"_38077":57190,"_5":22127,"_14695":56829,"_2209":57191},[],"EventBus, Twitter’s pub-sub messaging system, stores critical metadata in ZooKeeper and uses ZooKeeper for leader election.",{"_5302":1749,"_37698":1572,"_38077":57193,"_5":22127,"_14695":56829,"_2209":57194},[],"Mesos, Twitter’s compute platform, uses ZooKeeper for leader election.",{"_5302":1750,"_37698":1572,"_38077":57196,"_5":22127,"_14695":56833,"_2209":57197},[],"Used internally as a part of sharding services, distributed synchronization of data/index updates, configuration management and failover support .",{"_5302":1751,"_37698":1572,"_38077":57199,"_5":22127,"_14695":56837,"_2209":57200},[],"Wealthfront uses ZooKeeper for service discovery, leader election and distributed locking among its many backend services.\nZK is an essential part of Wealthfront's continuous deployment infrastructure .",{"_5302":1752,"_37698":1572,"_38077":57202,"_5":22127,"_14695":56841,"_2209":57203},[],"ZooKeeper is used for a myriad of services inside Yahoo! for doing leader election, configuration management, sharding, locking, group membership etc .",{"_5302":1753,"_37698":1572,"_38077":57205,"_5":22127,"_14695":56845,"_2209":57206},[],"ZooKeeper at Zynga is used for a variety of services including configuration management, leader election, sharding and more .",{"_5302":1754,"_37698":1572,"_38077":57208,"_5":22127,"_14695":56845,"_2209":57209},[],"https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy",{"_5302":1755,"_37698":1572,"_38077":57211,"_5":22127,"_14695":56845,"_2209":57212},[],"https://www.youtube.com/watch?v=Ew53T6h9oRw",{"_5302":1756,"_37698":1572,"_38077":57214,"_5":22127,"_14695":56845,"_2209":57215},[],"https://bookkeeper.apache.org/docs/4.7.3/getting-started/concepts/#ledgers",{"_5302":1757,"_37698":1572,"_38077":57217,"_5":22127,"_14695":56845,"_2209":57218},[],"http://cxf.apache.org/dosgi-discovery-demo-page.html",{"_5302":1758,"_37698":1572,"_38077":57220,"_5":22127,"_14695":56845,"_2209":57221},[],"https://flume.apache.org/FlumeUserGuide.html",{"_5302":1759,"_37698":1572,"_38077":57223,"_5":22127,"_14695":56845,"_2209":57224},[],"http://dubbo.apache.org/en-us/blog/dubbo-zk.html",{"_5302":1760,"_37698":1572,"_38077":57226,"_5":22127,"_14695":56845,"_2209":57227},[],"https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html",{"_5302":1761,"_37698":1572,"_38077":57229,"_5":22127,"_14695":56845,"_2209":57230},[],"https://hbase.apache.org/book.html#zookeeper",{"_5302":1762,"_37698":1572,"_38077":57232,"_5":22127,"_14695":56845,"_2209":57233},[],"https://www.cloudkarafka.com/blog/2018-07-04-cloudkarafka_what_is_zookeeper.html",{"_5302":1763,"_37698":1572,"_38077":57235,"_5":22127,"_14695":56845,"_2209":57236},[],"http://mesos.apache.org/documentation/latest/high-availability/",{"_5302":1764,"_37698":1572,"_38077":57238,"_5":22127,"_14695":56845,"_2209":57239},[],"http://incubator.apache.org/projects/s4.html",{"_5302":1765,"_37698":1572,"_38077":57241,"_5":22127,"_14695":56845,"_2209":57242},[],"https://lucene.apache.org/solr/guide/6_6/using-zookeeper-to-manage-configuration-files.html#UsingZooKeepertoManageConfigurationFiles-StartupBootstrap",{"_5302":1766,"_37698":1572,"_38077":57244,"_5":22127,"_14695":56845,"_2209":57245},[],"https://lucene.apache.org/solr/guide/6_6/setting-up-an-external-zookeeper-ensemble.html",{"_5302":1767,"_37698":1572,"_38077":57247,"_5":22127,"_14695":56845,"_2209":57248},[],"https://spark.apache.org/docs/latest/spark-standalone.html#standby-masters-with-zookeeper",{"_5302":1768,"_37698":1572,"_38077":57250,"_5":22127,"_14695":56845,"_2209":57251},[],"https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/zookeeper-at-twitter.html",{"_5302":1769,"_37698":1572,"_38077":57253,"_5":22127,"_14695":56845,"_2209":57254},[],"https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/dynamic-configuration-at-twitter.html",{"_5302":1770,"_37698":1572,"_38077":57256,"_5":22127,"_14695":56845,"_2209":57257},[],"TANG, C., KOOBURAT, T., VENKATACHALAM, P.,CHANDER, A., WEN, Z., NARAYANAN, A., DOWELL,P., AND KARL, R. Holistic Configuration Management at Facebook. In Proceedings of the 25th Symposium on Operating System Principles (SOSP’15) (Monterey, CA,USA, Oct. 2015).",{"_5302":1771,"_37698":1572,"_38077":57259,"_5":22127,"_14695":56845,"_2209":57260},[],"https://www.youtube.com/watch?v=SeZV373gUZc",{"_5302":1772,"_37698":1572,"_38077":57262,"_5":22127,"_14695":56845,"_2209":57263},[],"https://medium.com/@Pinterest_Engineering/zookeeper-resilience-at-pinterest-adfd8acf2a6b",{"_5302":1773,"_37698":1572,"_38077":57265,"_5":22127,"_14695":56845,"_2209":57266},[],"https://blog.cloudera.com/what-are-hbase-znodes/",{"_5302":1774,"_37698":1572,"_38077":57268,"_5":22127,"_14695":56845,"_2209":57269},[],"https://helix.apache.org/Architecture.html",{"_5302":1775,"_37698":1572,"_38077":57271,"_5":22127,"_14695":56845,"_2209":57272},[],"http://storm.apache.org/releases/current/Setting-up-a-Storm-cluster.html",{"_5302":1776,"_37698":1572,"_38077":57274,"_5":22127,"_14695":56845,"_2209":57275},[],"https://ci.apache.org/projects/flink/flink-docs-release-1.9/ops/jobmanager_high_availability.html",{"_5302":1777,"_37698":1572,"_38077":57277,"_5":22127,"_14695":56845,"_2209":57278},[],"https://pulsar.apache.org/docs/en/concepts-architecture-overview/#metadata-store",{"_5302":1778,"_37698":1572,"_38077":57280,"_5":22127,"_14695":56845,"_2209":57281},[],"https://cwiki.apache.org/confluence/display/Hive/Locking",{"_5302":1779,"_37698":1572,"_38077":57283,"_5":22127,"_14695":56845,"_2209":57284},[],"ZooKeeperHiveLockManager implementation in the hive code base",{"_5302":1780,"_37698":1572,"_38077":57286,"_5":22127,"_14695":56845,"_2209":57287},[],"https://druid.apache.org/docs/latest/dependencies/zookeeper.html",{"_5302":1781,"_37698":1572,"_38077":57289,"_5":22127,"_14695":56845,"_2209":57290},[],"https://mapr.com/blog/apache-drill-architecture-ultimate-guide/",{"_5302":1782,"_37698":1572,"_38077":57292,"_5":22127,"_14695":56845,"_2209":57293},[],"https://oozie.apache.org/docs/4.1.0/AG_Install.html",{"_5302":1783,"_37698":1572,"_38077":57295,"_5":22127,"_14695":56845,"_2209":57296},[],"https://docs.spring.io/spring-xd/docs/current/reference/html/",{"_5302":1784,"_37698":1572,"_38077":57298,"_5":22127,"_14695":56845,"_2209":57299},[],"https://cwiki.apache.org/confluence/display/CURATOR/Powered+By",{"_5302":1785,"_37698":1572,"_38077":57301,"_5":22127,"_14695":56845,"_2209":57302},[],"https://projects.spring.io/spring-statemachine/",{"_5302":1786,"_37698":1572,"_38077":57304,"_5":22127,"_14695":56845,"_2209":57305},[],"https://www.tigeranalytics.com/blog/apache-kylin-architecture/",{"_5302":1787,"_37698":1572,"_38077":57307,"_5":22127,"_14695":56845,"_2209":57308},[],"https://apacheignite.readme.io/docs/cluster-discovery",{"_5302":1788,"_37698":1572,"_38077":57310,"_5":22127,"_14695":56845,"_2209":57311},[],"http://atlas.apache.org/HighAvailability.html",{"_5302":1789,"_37698":1572,"_38077":57313,"_5":22127,"_14695":56845,"_2209":57314},[],"http://griffin.apache.org/docs/usecases.html",{"_5302":1790,"_37698":1572,"_38077":57316,"_5":22127,"_14695":56845,"_2209":57317},[],"https://fluo.apache.org/",{"_5302":1791,"_37698":1572,"_38077":57319,"_5":22127,"_14695":56845,"_2209":57320},[],"https://spring.io/projects/spring-cloud-zookeeper",{"_5302":1792,"_37698":1792,"_5":19386,"_2209":57322,"_38009":57323,"_38077":57325,"_14695":1792},"Overview",[51788,57324],"Getting Started",[],{"_5302":1793,"_37698":1792,"_38077":57327,"_5":22127,"_14695":1792,"_2209":57328},[],"Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.",{"_5302":1794,"_37698":1792,"_5":38006,"_38077":57330,"_14695":57331,"_2209":57332},[],"/docs#zookeeper-a-distributed-coordination-service-for-distributed-applications","ZooKeeper: A Distributed Coordination Service for Distributed Applications",{"_5302":1795,"_37698":1792,"_5":38006,"_38077":57334,"_14695":57335,"_2209":57336},[],"/docs#design-goals","Design Goals",{"_5302":1796,"_37698":1792,"_5":38006,"_38077":57338,"_14695":57339,"_2209":57340},[],"/docs#data-model-and-the-hierarchical-namespace","Data model and the hierarchical namespace",{"_5302":1797,"_37698":1792,"_5":38006,"_38077":57342,"_14695":57343,"_2209":57344},[],"/docs#zookeepers-hierarchical-namespace","ZooKeeper's Hierarchical Namespace",{"_5302":1798,"_37698":1792,"_5":38006,"_38077":57346,"_14695":57347,"_2209":57348},[],"/docs#nodes-and-ephemeral-nodes","Nodes and ephemeral nodes",{"_5302":1799,"_37698":1792,"_5":38006,"_38077":57350,"_14695":57351,"_2209":57352},[],"/docs#conditional-updates-and-watches","Conditional updates and watches",{"_5302":1800,"_37698":1792,"_5":38006,"_38077":57354,"_14695":57355,"_2209":57356},[],"/docs#guarantees","Guarantees",{"_5302":1801,"_37698":1792,"_5":38006,"_38077":57358,"_14695":57359,"_2209":57360},[],"/docs#simple-api","Simple API",{"_5302":1802,"_37698":1792,"_5":38006,"_38077":57362,"_14695":57363,"_2209":57364},[],"/docs#implementation","Implementation",{"_5302":1803,"_37698":1792,"_5":38006,"_38077":57366,"_14695":57367,"_2209":57368},[],"/docs#uses","Uses",{"_5302":1804,"_37698":1792,"_5":38006,"_38077":57370,"_14695":57371,"_2209":57372},[],"/docs#performance","Performance",{"_5302":1805,"_37698":1792,"_5":38006,"_38077":57374,"_14695":57375,"_2209":57376},[],"/docs#reliability","Reliability",{"_5302":1806,"_37698":1792,"_5":38006,"_38077":57378,"_14695":57379,"_2209":57380},[],"/docs#the-zookeeper-project","The ZooKeeper Project",{"_5302":1807,"_37698":1792,"_38077":57382,"_5":22127,"_14695":57331,"_2209":57383},[],"ZooKeeper is a distributed, open-source coordination service for\ndistributed applications. It exposes a simple set of primitives that\ndistributed applications can build upon to implement higher level services\nfor synchronization, configuration maintenance, and groups and naming. It\nis designed to be easy to program to, and uses a data model styled after\nthe familiar directory tree structure of file systems. It runs in Java and\nhas bindings for both Java and C.",{"_5302":1808,"_37698":1792,"_38077":57385,"_5":22127,"_14695":57331,"_2209":57386},[],"Coordination services are notoriously hard to get right. They are\nespecially prone to errors such as race conditions and deadlock. The\nmotivation behind ZooKeeper is to relieve distributed applications the\nresponsibility of implementing coordination services from scratch.",{"_5302":1809,"_37698":1792,"_38077":57388,"_5":22127,"_14695":57335,"_2209":57389},[],"ZooKeeper is simple. ZooKeeper\nallows distributed processes to coordinate with each other through a\nshared hierarchical namespace which is organized similarly to a standard\nfile system. The namespace consists of data registers - called znodes,\nin ZooKeeper parlance - and these are similar to files and directories.\nUnlike a typical file system, which is designed for storage, ZooKeeper\ndata is kept in-memory, which means ZooKeeper can achieve high\nthroughput and low latency numbers.",{"_5302":1810,"_37698":1792,"_38077":57391,"_5":22127,"_14695":57335,"_2209":57392},[],"The ZooKeeper implementation puts a premium on high performance,\nhighly available, strictly ordered access. The performance aspects of\nZooKeeper means it can be used in large, distributed systems. The\nreliability aspects keep it from being a single point of failure. The\nstrict ordering means that sophisticated synchronization primitives can\nbe implemented at the client.",{"_5302":1811,"_37698":1792,"_38077":57394,"_5":22127,"_14695":57335,"_2209":57395},[],"ZooKeeper is replicated. Like the\ndistributed processes it coordinates, ZooKeeper itself is intended to be\nreplicated over a set of hosts called an ensemble.",{"_5302":1812,"_37698":1792,"_38077":57397,"_5":22127,"_14695":57335,"_2209":57398},[],"The servers that make up the ZooKeeper service must all know about\neach other. They maintain an in-memory image of state, along with a\ntransaction logs and snapshots in a persistent store. As long as a\nmajority of the servers are available, the ZooKeeper service will be\navailable.",{"_5302":1813,"_37698":1792,"_38077":57400,"_5":22127,"_14695":57335,"_2209":57401},[],"Clients connect to a single ZooKeeper server. The client maintains\na TCP connection through which it sends requests, gets responses, gets\nwatch events, and sends heart beats. If the TCP connection to the server\nbreaks, the client will connect to a different server.",{"_5302":1814,"_37698":1792,"_38077":57403,"_5":22127,"_14695":57335,"_2209":57404},[],"ZooKeeper is ordered. ZooKeeper\nstamps each update with a number that reflects the order of all\nZooKeeper transactions. Subsequent operations can use the order to\nimplement higher-level abstractions, such as synchronization\nprimitives.",{"_5302":1815,"_37698":1792,"_38077":57406,"_5":22127,"_14695":57335,"_2209":57407},[],"ZooKeeper is fast. It is\nespecially fast in \"read-dominant\" workloads. ZooKeeper applications run\non thousands of machines, and it performs best where reads are more\ncommon than writes, at ratios of around 10:1.",{"_5302":1816,"_37698":1792,"_38077":57409,"_5":22127,"_14695":57339,"_2209":57410},[],"The namespace provided by ZooKeeper is much like that of a\nstandard file system. A name is a sequence of path elements separated by\na slash (/). Every node in ZooKeeper's namespace is identified by a\npath.",{"_5302":1817,"_37698":1792,"_38077":57412,"_5":22127,"_14695":57347,"_2209":57413},[],"Unlike standard file systems, each node in a ZooKeeper\nnamespace can have data associated with it as well as children. It is\nlike having a file-system that allows a file to also be a directory.\n(ZooKeeper was designed to store coordination data: status information,\nconfiguration, location information, etc., so the data stored at each\nnode is usually small, in the byte to kilobyte range.) We use the term\nznode to make it clear that we are talking about\nZooKeeper data nodes.",{"_5302":1818,"_37698":1792,"_38077":57415,"_5":22127,"_14695":57347,"_2209":57416},[],"Znodes maintain a stat structure that includes version numbers for\ndata changes, ACL changes, and timestamps, to allow cache validations\nand coordinated updates. Each time a znode's data changes, the version\nnumber increases. For instance, whenever a client retrieves data it also\nreceives the version of the data.",{"_5302":1819,"_37698":1792,"_38077":57418,"_5":22127,"_14695":57347,"_2209":57419},[],"The data stored at each znode in a namespace is read and written\natomically. Reads get all the data bytes associated with a znode and a\nwrite replaces all the data. Each node has an Access Control List (ACL)\nthat restricts who can do what.",{"_5302":1820,"_37698":1792,"_38077":57421,"_5":22127,"_14695":57347,"_2209":57422},[],"ZooKeeper also has the notion of ephemeral nodes. These znodes\nexists as long as the session that created the znode is active. When the\nsession ends the znode is deleted.",{"_5302":1821,"_37698":1792,"_38077":57424,"_5":22127,"_14695":57351,"_2209":57425},[],"ZooKeeper supports the concept of watches.\nClients can set a watch on a znode. A watch will be triggered and\nremoved when the znode changes. When a watch is triggered, the client\nreceives a packet saying that the znode has changed. If the\nconnection between the client and one of the ZooKeeper servers is\nbroken, the client will receive a local notification.",{"_5302":1822,"_37698":1792,"_38077":57427,"_5":22127,"_14695":57351,"_2209":56223},[],{"_5302":1823,"_37698":1792,"_38077":57429,"_5":22127,"_14695":57355,"_2209":57430},[],"ZooKeeper is very fast and very simple. Since its goal, though, is\nto be a basis for the construction of more complicated services, such as\nsynchronization, it provides a set of guarantees. These are:",{"_5302":1824,"_37698":1792,"_38077":57432,"_5":22127,"_14695":57355,"_2209":57433},[],"Sequential Consistency - Updates from a client will be applied\nin the order that they were sent.",{"_5302":1825,"_37698":1792,"_38077":57435,"_5":22127,"_14695":57355,"_2209":57436},[],"Atomicity - Updates either succeed or fail. No partial\nresults.",{"_5302":1826,"_37698":1792,"_38077":57438,"_5":22127,"_14695":57355,"_2209":57439},[],"Single System Image - A client will see the same view of the\nservice regardless of the server that it connects to. i.e., a\nclient will never see an older view of the system even if the\nclient fails over to a different server with the same session.",{"_5302":1827,"_37698":1792,"_38077":57441,"_5":22127,"_14695":57355,"_2209":57442},[],"Reliability - Once an update has been applied, it will persist\nfrom that time forward until a client overwrites the update.",{"_5302":1828,"_37698":1792,"_38077":57444,"_5":22127,"_14695":57355,"_2209":57445},[],"Timeliness - The clients view of the system is guaranteed to\nbe up-to-date within a certain time bound.",{"_5302":1829,"_37698":1792,"_38077":57447,"_5":22127,"_14695":57359,"_2209":57448},[],"One of the design goals of ZooKeeper is providing a very simple\nprogramming interface. As a result, it supports only these\noperations:",{"_5302":1830,"_37698":1792,"_38077":57450,"_5":22127,"_14695":57359,"_2209":57451},[],"create : creates a node at a location in the tree",{"_5302":1831,"_37698":1792,"_38077":57453,"_5":22127,"_14695":57359,"_2209":57454},[],"delete : deletes a node",{"_5302":1832,"_37698":1792,"_38077":57456,"_5":22127,"_14695":57359,"_2209":57457},[],"exists : tests if a node exists at a location",{"_5302":1833,"_37698":1792,"_38077":57459,"_5":22127,"_14695":57359,"_2209":57460},[],"get data : reads the data from a node",{"_5302":1834,"_37698":1792,"_38077":57462,"_5":22127,"_14695":57359,"_2209":57463},[],"set data : writes data to a node",{"_5302":1835,"_37698":1792,"_38077":57465,"_5":22127,"_14695":57359,"_2209":57466},[],"get children : retrieves a list of children of a node",{"_5302":1836,"_37698":1792,"_38077":57468,"_5":22127,"_14695":57359,"_2209":57469},[],"sync : waits for data to be propagated",{"_5302":1837,"_37698":1792,"_38077":57471,"_5":22127,"_14695":57363,"_2209":57472},[],"ZooKeeper Components shows the high-level components\nof the ZooKeeper service. With the exception of the request processor,\neach of\nthe servers that make up the ZooKeeper service replicates its own copy\nof each of the components.",{"_5302":1838,"_37698":1792,"_38077":57474,"_5":22127,"_14695":57363,"_2209":57475},[],"The replicated database is an in-memory database containing the\nentire data tree. Updates are logged to disk for recoverability, and\nwrites are serialized to disk before they are applied to the in-memory\ndatabase.",{"_5302":1839,"_37698":1792,"_38077":57477,"_5":22127,"_14695":57363,"_2209":57478},[],"Every ZooKeeper server services clients. Clients connect to\nexactly one server to submit requests. Read requests are serviced from\nthe local replica of each server database. Requests that change the\nstate of the service, write requests, are processed by an agreement\nprotocol.",{"_5302":1840,"_37698":1792,"_38077":57480,"_5":22127,"_14695":57363,"_2209":57481},[],"As part of the agreement protocol all write requests from clients\nare forwarded to a single server, called the\nleader. The rest of the ZooKeeper servers, called\nfollowers, receive message proposals from the\nleader and agree upon message delivery. The messaging layer takes care\nof replacing leaders on failures and syncing followers with\nleaders.",{"_5302":1841,"_37698":1792,"_38077":57483,"_5":22127,"_14695":57363,"_2209":57484},[],"ZooKeeper uses a custom atomic messaging protocol. Since the\nmessaging layer is atomic, ZooKeeper can guarantee that the local\nreplicas never diverge. When the leader receives a write request, it\ncalculates what the state of the system is when the write is to be\napplied and transforms this into a transaction that captures this new\nstate.",{"_5302":1842,"_37698":1792,"_38077":57486,"_5":22127,"_14695":57367,"_2209":57487},[],"The programming interface to ZooKeeper is deliberately simple.\nWith it, however, you can implement higher order operations, such as\nsynchronizations primitives, group membership, ownership, etc.",{"_5302":1843,"_37698":1792,"_38077":57489,"_5":22127,"_14695":57371,"_2209":57490},[],"ZooKeeper is designed to be highly performance. But is it? The\nresults of the ZooKeeper's development team at Yahoo! Research indicate\nthat it is. It is especially high\nperformance in applications where reads outnumber writes, since writes\ninvolve synchronizing the state of all servers. (Reads outnumbering\nwrites is typically the case for a coordination service.)",{"_5302":1844,"_37698":1792,"_38077":57492,"_5":22127,"_14695":57371,"_2209":57493},[],"The \"ZooKeeper Throughput as the Read-Write Ratio Varies\" is a throughput\ngraph of ZooKeeper release 3.2 running on servers with dual 2Ghz\nXeon and two SATA 15K RPM drives. One drive was used as a\ndedicated ZooKeeper log device. The snapshots were written to\nthe OS drive. Write requests were 1K writes and the reads were\n1K reads. \"Servers\" indicate the size of the ZooKeeper\nensemble, the number of servers that make up the\nservice. Approximately 30 other servers were used to simulate\nthe clients. The ZooKeeper ensemble was configured such that\nleaders do not allow connections from clients.",{"_5302":1845,"_37698":1792,"_38077":57495,"_5":22127,"_14695":57371,"_2209":52329},[],{"_5302":1846,"_37698":1792,"_38077":57497,"_5":22127,"_14695":57371,"_2209":57498},[],"In version 3.2 r/w performance improved by ~2x compared to",{"_5302":1847,"_37698":1792,"_38077":57500,"_5":22127,"_14695":57371,"_2209":57501},[],"the previous 3.1 release.",{"_5302":1848,"_37698":1792,"_38077":57503,"_5":22127,"_14695":57371,"_2209":57504},[],"Benchmarks also indicate that it is reliable, too.\nReliability in the Presence of Errors shows how a deployment responds to\nvarious failures. The events marked in the figure are the following:",{"_5302":1849,"_37698":1792,"_38077":57506,"_5":22127,"_14695":57371,"_2209":57507},[],"Failure and recovery of a follower",{"_5302":1850,"_37698":1792,"_38077":57509,"_5":22127,"_14695":57371,"_2209":57510},[],"Failure and recovery of a different follower",{"_5302":1851,"_37698":1792,"_38077":57512,"_5":22127,"_14695":57371,"_2209":57513},[],"Failure of the leader",{"_5302":1852,"_37698":1792,"_38077":57515,"_5":22127,"_14695":57371,"_2209":57516},[],"Failure and recovery of two followers",{"_5302":1853,"_37698":1792,"_38077":57518,"_5":22127,"_14695":57371,"_2209":57519},[],"Failure of another leader",{"_5302":1854,"_37698":1792,"_38077":57521,"_5":22127,"_14695":57375,"_2209":57522},[],"To show the behavior of the system over time as\nfailures are injected we ran a ZooKeeper service made up of\n7 machines. We ran the same saturation benchmark as before,\nbut this time we kept the write percentage at a constant\n30%, which is a conservative ratio of our expected\nworkloads.",{"_5302":1855,"_37698":1792,"_38077":57524,"_5":22127,"_14695":57375,"_2209":57525},[],"There are a few important observations from this graph. First, if\nfollowers fail and recover quickly, then ZooKeeper is able to sustain a\nhigh throughput despite the failure. But maybe more importantly, the\nleader election algorithm allows for the system to recover fast enough\nto prevent throughput from dropping substantially. In our observations,\nZooKeeper takes less than 200ms to elect a new leader. Third, as\nfollowers recover, ZooKeeper is able to raise throughput again once they\nstart processing requests.",{"_5302":1856,"_37698":1792,"_38077":57527,"_5":22127,"_14695":57379,"_2209":57528},[],"ZooKeeper has been\nsuccessfully used\nin many industrial applications. It is used at Yahoo! as the\ncoordination and failure recovery service for Yahoo! Message\nBroker, which is a highly scalable publish-subscribe system\nmanaging thousands of topics for replication and data\ndelivery. It is used by the Fetching Service for Yahoo!\ncrawler, where it also manages failure recovery. A number of\nYahoo! advertising systems also use ZooKeeper to implement\nreliable services.",{"_5302":1857,"_37698":1792,"_38077":57530,"_5":22127,"_14695":57379,"_2209":57531},[],"All users and developers are encouraged to join the\ncommunity and contribute their expertise. See the\nZookeeper Project on Apache\nfor more information.",{"_5302":1858,"_37698":1858,"_5":19386,"_2209":57533,"_38009":57534,"_38077":57536,"_14695":1858},"Internals",[51788,57535],"Miscellaneous",[],{"_5302":1859,"_37698":1858,"_38077":57538,"_5":22127,"_14695":1858,"_2209":57539},[],"This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.",{"_5302":1860,"_37698":1858,"_5":38006,"_38077":57541,"_14695":57542,"_2209":57543},[],"/docs/miscellaneous/internals#atomic-broadcast","Atomic Broadcast",{"_5302":1861,"_37698":1858,"_5":38006,"_38077":57545,"_14695":57546,"_2209":57547},[],"/docs/miscellaneous/internals#guarantees-properties-and-definitions","Guarantees, Properties, and Definitions",{"_5302":1862,"_37698":1858,"_5":38006,"_38077":57549,"_14695":57550,"_2209":57551},[],"/docs/miscellaneous/internals#leader-activation","Leader Activation",{"_5302":1863,"_37698":1858,"_5":38006,"_38077":57553,"_14695":57554,"_2209":57555},[],"/docs/miscellaneous/internals#active-messaging","Active Messaging",{"_5302":1864,"_37698":1858,"_5":38006,"_38077":57557,"_14695":57558,"_2209":57559},[],"/docs/miscellaneous/internals#summary","Summary",{"_5302":1865,"_37698":1858,"_5":38006,"_38077":57561,"_14695":57562,"_2209":57563},[],"/docs/miscellaneous/internals#comparisons","Comparisons",{"_5302":1866,"_37698":1858,"_5":38006,"_38077":57565,"_14695":57566,"_2209":55721},[],"/docs/miscellaneous/internals#consistency-guarantees",{"_5302":1867,"_37698":1858,"_5":38006,"_38077":57568,"_14695":57569,"_2209":54474},[],"/docs/miscellaneous/internals#quorums",{"_5302":1868,"_37698":1858,"_5":38006,"_38077":57571,"_14695":57572,"_2209":51818},[],"/docs/miscellaneous/internals#logging",{"_5302":1869,"_37698":1858,"_5":38006,"_38077":57574,"_14695":57575,"_2209":57576},[],"/docs/miscellaneous/internals#developer-guidelines","Developer Guidelines",{"_5302":1870,"_37698":1858,"_5":38006,"_38077":57578,"_14695":57579,"_2209":57580},[],"/docs/miscellaneous/internals#logging-at-the-right-level","Logging at the Right Level",{"_5302":1871,"_37698":1858,"_5":38006,"_38077":57582,"_14695":57583,"_2209":57584},[],"/docs/miscellaneous/internals#use-of-standard-slf4j-idioms","Use of Standard slf4j Idioms",{"_5302":1872,"_37698":1858,"_38077":57586,"_5":22127,"_14695":57542,"_2209":57587},[],"At the heart of ZooKeeper is an atomic messaging system that keeps all of the servers in sync.",{"_5302":1873,"_37698":1858,"_38077":57589,"_5":22127,"_14695":57546,"_2209":57590},[],"The specific guarantees provided by the ZooKeeper messaging system are:",{"_5302":1874,"_37698":1858,"_38077":57592,"_5":22127,"_14695":57546,"_2209":57593},[],"Reliable delivery: If a message m is delivered by one server, message m will eventually be delivered by all servers.",{"_5302":1875,"_37698":1858,"_38077":57595,"_5":22127,"_14695":57546,"_2209":57596},[],"Total order: If a message a is delivered before message b by one server, message a will be delivered before b by all servers.",{"_5302":1876,"_37698":1858,"_38077":57598,"_5":22127,"_14695":57546,"_2209":57599},[],"Causal order: If a message b is sent after a message a has been delivered by the sender of b, message a must be ordered before b. If a sender sends c after sending b, c must be ordered after b.",{"_5302":1877,"_37698":1858,"_38077":57601,"_5":22127,"_14695":57546,"_2209":57602},[],"The ZooKeeper messaging system also needs to be efficient, reliable, and easy to\nimplement and maintain. We make heavy use of messaging, so we need the system to\nbe able to handle thousands of requests per second. Although we can require at\nleast k+1 correct servers to send new messages, we must be able to recover from\ncorrelated failures such as power outages. When we implemented the system we had\nlittle time and few engineering resources, so we needed a protocol that is\naccessible to engineers and is easy to implement. We found that our protocol\nsatisfied all of these goals.",{"_5302":1878,"_37698":1858,"_38077":57604,"_5":22127,"_14695":57546,"_2209":57605},[],"Our protocol assumes that we can construct point-to-point FIFO channels between\nthe servers. While similar services usually assume message delivery that can\nlose or reorder messages, our assumption of FIFO channels is very practical\ngiven that we use TCP for communication. Specifically we rely on the following property of TCP:",{"_5302":1879,"_37698":1858,"_38077":57607,"_5":22127,"_14695":57546,"_2209":57608},[],"Ordered delivery: Data is delivered in the same order it is sent and a message m is delivered only after all messages sent before m have been delivered. (The corollary is that if message m is lost, all messages after m will also be lost.)",{"_5302":1880,"_37698":1858,"_38077":57610,"_5":22127,"_14695":57546,"_2209":57611},[],"No message after close: Once a FIFO channel is closed, no messages will be received from it.",{"_5302":1881,"_37698":1858,"_38077":57613,"_5":22127,"_14695":57546,"_2209":57614},[],"FLP proved that consensus cannot be achieved in asynchronous distributed systems\nif failures are possible. To ensure that we achieve consensus in the presence of failures\nwe use timeouts. However, we rely on time for liveness, not for correctness. So,\nif timeouts stop working (e.g., skewed clocks) the messaging system may\nhang, but it will not violate its guarantees.",{"_5302":1882,"_37698":1858,"_38077":57616,"_5":22127,"_14695":57546,"_2209":57617},[],"When describing the ZooKeeper messaging protocol we will talk of packets,\nproposals, and messages:",{"_5302":1883,"_37698":1858,"_38077":57619,"_5":22127,"_14695":57546,"_2209":57620},[],"Packet: A sequence of bytes sent through a FIFO channel.",{"_5302":1884,"_37698":1858,"_38077":57622,"_5":22127,"_14695":57546,"_2209":57623},[],"Proposal: A unit of agreement. Proposals are agreed upon by exchanging packets with a quorum of ZooKeeper servers. Most proposals contain messages; however, the NEW_LEADER proposal is an example of a proposal that does not contain a message.",{"_5302":1885,"_37698":1858,"_38077":57625,"_5":22127,"_14695":57546,"_2209":57626},[],"Message: A sequence of bytes to be atomically broadcast to all ZooKeeper servers. A message is put into a proposal and agreed upon before it is delivered.",{"_5302":1886,"_37698":1858,"_38077":57628,"_5":22127,"_14695":57546,"_2209":57629},[],"As stated above, ZooKeeper guarantees a total order of messages, and it also\nguarantees a total order of proposals. ZooKeeper exposes the total ordering using\na ZooKeeper transaction id (zxid). All proposals will be stamped with a zxid when\nproposed and exactly reflect the total ordering. Proposals are sent to all\nZooKeeper servers and committed when a quorum of them acknowledge the proposal.\nIf a proposal contains a message, the message will be delivered when the proposal\nis committed. Acknowledgement means the server has recorded the proposal to persistent storage.\nOur quorums have the requirement that any pair of quorums must have at least one server\nin common. We ensure this by requiring that all quorums have size (n/2+1) where\nn is the number of servers that make up a ZooKeeper service.",{"_5302":1887,"_37698":1858,"_38077":57631,"_5":22127,"_14695":57546,"_2209":57632},[],"The zxid has two parts: the epoch and a counter. In our implementation the zxid\nis a 64-bit number. We use the high order 32-bits for the epoch and the low order\n32-bits for the counter. Because a zxid consists of two parts, it can be represented both as a\nnumber and as a pair of integers, (epoch, count). The epoch number represents a\nchange in leadership. Each time a new leader comes into power it will have its\nown epoch number. We have a simple algorithm to assign a unique zxid to a proposal:\nthe leader simply increments the zxid to obtain a unique zxid for each proposal.\nLeadership activation will ensure that only one leader uses a given epoch, so our\nsimple algorithm guarantees that every proposal will have a unique id.",{"_5302":1888,"_37698":1858,"_38077":57634,"_5":22127,"_14695":57546,"_2209":57635},[],"ZooKeeper messaging consists of two phases:",{"_5302":1889,"_37698":1858,"_38077":57637,"_5":22127,"_14695":57546,"_2209":57638},[],"Leader activation: In this phase a leader establishes the correct state of the system and gets ready to start making proposals.",{"_5302":1890,"_37698":1858,"_38077":57640,"_5":22127,"_14695":57546,"_2209":57641},[],"Active messaging: In this phase a leader accepts messages to propose and coordinates message delivery.",{"_5302":1891,"_37698":1858,"_38077":57643,"_5":22127,"_14695":57546,"_2209":57644},[],"ZooKeeper is a holistic protocol. We do not focus on individual proposals, rather\nwe look at the stream of proposals as a whole. Our strict ordering allows us to do this\nefficiently and greatly simplifies our protocol. Leadership activation embodies\nthis holistic concept. A leader becomes active only when a quorum of followers\n(the leader counts as a follower as well — you can always vote for yourself) has synced\nup with the leader: they have the same state. This state consists of all of the\nproposals that the leader believes have been committed and the proposal to follow\nthe leader, the NEW_LEADER proposal. (Hopefully you are thinking:\nDoes the set of proposals that the leader believes has been committed\ninclude all the proposals that really have been committed? The answer is yes.\nBelow, we make clear why.)",{"_5302":1892,"_37698":1858,"_38077":57646,"_5":22127,"_14695":57550,"_2209":57647},[],"Leader activation includes leader election (FastLeaderElection).\nZooKeeper messaging doesn't care about the exact method of electing a leader as long as the following holds:",{"_5302":1893,"_37698":1858,"_38077":57649,"_5":22127,"_14695":57550,"_2209":57650},[],"The leader has seen the highest zxid of all the followers.",{"_5302":1894,"_37698":1858,"_38077":57652,"_5":22127,"_14695":57550,"_2209":57653},[],"A quorum of servers have committed to following the leader.",{"_5302":1895,"_37698":1858,"_38077":57655,"_5":22127,"_14695":57550,"_2209":57656},[],"Of these two requirements, only the first — the highest zxid among the followers —\nneeds to hold for correct operation. The second requirement, a quorum of followers,\njust needs to hold with high probability. We are going to recheck the second requirement,\nso if a failure happens during or after the leader election and quorum is lost,\nwe will recover by abandoning leader activation and running another election.",{"_5302":1896,"_37698":1858,"_38077":57658,"_5":22127,"_14695":57550,"_2209":57659},[],"After leader election a single server will be designated as a leader and start\nwaiting for followers to connect. The rest of the servers will try to connect to\nthe leader. The leader will sync up with the followers by sending any proposals they\nare missing, or if a follower is missing too many proposals, it will send a full\nsnapshot of the state to the follower.",{"_5302":1897,"_37698":1858,"_38077":57661,"_5":22127,"_14695":57550,"_2209":57662},[],"There is a corner case in which a follower that has proposals, U, not seen\nby a leader arrives. Proposals are seen in order, so the proposals of U will have zxids\nhigher than zxids seen by the leader. The follower must have arrived after the\nleader election, otherwise the follower would have been elected leader given that\nit has seen a higher zxid. Since committed proposals must be seen by a quorum of\nservers, and a quorum of servers that elected the leader did not see U, the proposals\nof U have not been committed, so they can be discarded. When the follower connects\nto the leader, the leader will tell the follower to discard U.",{"_5302":1898,"_37698":1858,"_38077":57664,"_5":22127,"_14695":57550,"_2209":57665},[],"A new leader establishes a zxid to start using for new proposals by getting the\nepoch, e, of the highest zxid it has seen and setting the next zxid to use to be\n(e+1, 0). After the leader syncs with a follower, it will propose a NEW_LEADER\nproposal. Once the NEW_LEADER proposal has been committed, the leader will activate\nand start receiving and issuing proposals.",{"_5302":1899,"_37698":1858,"_38077":57667,"_5":22127,"_14695":57550,"_2209":57668},[],"The basic rules of operation during leader activation are:",{"_5302":1900,"_37698":1858,"_38077":57670,"_5":22127,"_14695":57550,"_2209":57671},[],"A follower will ACK the NEW_LEADER proposal after it has synced with the leader.",{"_5302":1901,"_37698":1858,"_38077":57673,"_5":22127,"_14695":57550,"_2209":57674},[],"A follower will only ACK a NEW_LEADER proposal with a given zxid from a single server.",{"_5302":1902,"_37698":1858,"_38077":57676,"_5":22127,"_14695":57550,"_2209":57677},[],"A new leader will COMMIT the NEW_LEADER proposal when a quorum of followers has ACKed it.",{"_5302":1903,"_37698":1858,"_38077":57679,"_5":22127,"_14695":57550,"_2209":57680},[],"A follower will commit any state it received from the leader when the NEW_LEADER proposal is COMMITted.",{"_5302":1904,"_37698":1858,"_38077":57682,"_5":22127,"_14695":57550,"_2209":57683},[],"A new leader will not accept new proposals until the NEW_LEADER proposal has been COMMITted.",{"_5302":1905,"_37698":1858,"_38077":57685,"_5":22127,"_14695":57550,"_2209":57686},[],"If leader election terminates erroneously, we don't have a problem since the\nNEW_LEADER proposal will not be committed because the leader will not have quorum.\nWhen this happens, the leader and any remaining followers will timeout and go back\nto leader election.",{"_5302":1906,"_37698":1858,"_38077":57688,"_5":22127,"_14695":57554,"_2209":57689},[],"Leader Activation does all the heavy lifting. Once the leader is coronated it can\nstart blasting out proposals. As long as it remains the leader no other leader can\nemerge since no other leader will be able to get a quorum of followers. If a new\nleader does emerge, it means that the current leader has lost quorum, and the new\nleader will clean up any mess left over during its activation.",{"_5302":1907,"_37698":1858,"_38077":57691,"_5":22127,"_14695":57554,"_2209":57692},[],"ZooKeeper messaging operates similar to a classic two-phase commit.",{"_5302":1908,"_37698":1858,"_38077":57694,"_5":22127,"_14695":57554,"_2209":57695},[],"All communication channels are FIFO, so everything is done in order. Specifically\nthe following operating constraints are observed:",{"_5302":1909,"_37698":1858,"_38077":57697,"_5":22127,"_14695":57554,"_2209":57698},[],"The leader sends proposals to all followers using the same order. Moreover, this order follows the order in which requests were received. Because we use FIFO channels this means that followers also receive proposals in order.",{"_5302":1910,"_37698":1858,"_38077":57700,"_5":22127,"_14695":57554,"_2209":57701},[],"Followers process messages in the order they are received. This means that messages will be ACKed in order and the leader will receive ACKs from followers in order, due to the FIFO channels. It also means that if message m has been written to non-volatile storage, all messages that were proposed before m have been written to non-volatile storage.",{"_5302":1911,"_37698":1858,"_38077":57703,"_5":22127,"_14695":57554,"_2209":57704},[],"The leader will issue a COMMIT to all followers as soon as a quorum of followers have ACKed a message. Since messages are ACKed in order, COMMITs will be sent by the leader and received by the followers in order.",{"_5302":1912,"_37698":1858,"_38077":57706,"_5":22127,"_14695":57554,"_2209":57707},[],"COMMITs are processed in order. Followers deliver a proposal message when that proposal is committed.",{"_5302":1913,"_37698":1858,"_38077":57709,"_5":22127,"_14695":57558,"_2209":57710},[],"Why does it work? Specifically, why does a set of proposals believed by a new leader\nalways contain any proposal that has actually been committed? First, all proposals have\na unique zxid, so unlike other protocols, we never have to worry about two different\nvalues being proposed for the same zxid; followers (a leader is also a follower) see\nand record proposals in order; proposals are committed in order; there is only one active\nleader at a time since followers only follow a single leader at a time; a new leader has\nseen all committed proposals from the previous epoch since it has seen the highest zxid\nfrom a quorum of servers; any uncommitted proposals from a previous epoch seen by a new\nleader will be committed by that leader before it becomes active.",{"_5302":1914,"_37698":1858,"_38077":57712,"_5":22127,"_14695":57562,"_2209":57713},[],"Isn't this just Multi-Paxos? No. Multi-Paxos requires some way of assuring that\nthere is only a single coordinator. We do not count on such assurances. Instead\nwe use leader activation to recover from leadership changes or old leaders\nbelieving they are still active.",{"_5302":1915,"_37698":1858,"_38077":57715,"_5":22127,"_14695":57562,"_2209":57716},[],"Isn't this just Paxos? The active messaging phase looks just like phase 2 of Paxos.\nActually, to us active messaging looks just like 2-phase commit without the need to\nhandle aborts. Active messaging is different from both in the sense that it has\ncross-proposal ordering requirements. If we do not maintain strict FIFO ordering of\nall packets, it all falls apart. Also, our leader activation phase is different from\nboth of them. In particular, our use of epochs allows us to skip blocks of uncommitted\nproposals and to not worry about duplicate proposals for a given zxid.",{"_5302":1916,"_37698":1858,"_38077":57718,"_5":22127,"_14695":57566,"_2209":57719},[],"The consistency guarantees of ZooKeeper lie between\nsequential consistency and linearizability.",{"_5302":1917,"_37698":1858,"_38077":57721,"_5":22127,"_14695":57566,"_2209":57722},[],"Write operations in ZooKeeper are linearizable. Each write will appear to take effect\natomically at some point between when the client issues the request and receives the\ncorresponding response. This means that the writes performed by all clients can be totally\nordered in a way that respects their real-time ordering. However, merely stating that writes\nare linearizable is meaningless unless we also talk about reads.",{"_5302":1918,"_37698":1858,"_38077":57724,"_5":22127,"_14695":57566,"_2209":57725},[],"Read operations in ZooKeeper are not linearizable since they can return stale data. A read\nin ZooKeeper is not a quorum operation — a server will respond immediately to a client\nperforming a read. ZooKeeper prioritizes performance over consistency for reads. However,\nreads are sequentially consistent, because read operations appear to take effect in some\nsequential order that respects each client's operation order. A common workaround is to issue\na sync before a read. This too does not strictly guarantee up-to-date data because\nsync is not currently a quorum operation.",{"_5302":1919,"_37698":1858,"_38077":57727,"_5":22127,"_14695":57566,"_2209":57728},[],"To illustrate: consider a scenario where two servers simultaneously think they are the leader,\nwhich could occur if the TCP connection timeout is smaller than syncLimit * tickTime. Note\nthat this is unlikely\nto occur in practice, but is worth keeping in mind. Under this scenario, the sync may be\nserved by the \"leader\" with stale data, allowing the following read to be stale as well.\nThe stronger guarantee of linearizability is provided if an actual quorum operation (e.g., a\nwrite) is performed before a read.",{"_5302":1920,"_37698":1858,"_38077":57730,"_5":22127,"_14695":57566,"_2209":57731},[],"Overall, the consistency guarantees of ZooKeeper are formally captured by the notion of\nordered sequential consistency\n(OSC(U)), which lies between sequential consistency and linearizability.",{"_5302":1921,"_37698":1858,"_38077":57733,"_5":22127,"_14695":57569,"_2209":57734},[],"Atomic broadcast and leader election use the notion of quorums to guarantee a consistent\nview of the system. By default, ZooKeeper uses majority quorums, which means that every\nvoting operation requires a majority to vote. One example is acknowledging a leader proposal:\nthe leader can only commit once it receives an acknowledgement from a quorum of servers.",{"_5302":1922,"_37698":1858,"_38077":57736,"_5":22127,"_14695":57569,"_2209":57737},[],"If we extract the properties that we really need from our use of majorities, we have that we only\nneed to guarantee that groups of processes used to validate an operation by voting pairwise\nintersect in at least one server. Using majorities guarantees such a property.\nHowever, there are other ways of constructing quorums. For example, we can assign\nweights to the votes of servers, and say that the votes of some servers are more important.\nTo obtain a quorum, we get enough votes so that the sum of weights of all votes is larger\nthan half of the total sum of all weights.",{"_5302":1923,"_37698":1858,"_38077":57739,"_5":22127,"_14695":57569,"_2209":57740},[],"A different construction that uses weights and is useful in wide-area deployments is a\nhierarchical one. With this construction, we split the servers into disjoint groups and\nassign weights to processes. To form a quorum, we have to get enough servers from a majority\nof groups G, such that for each group g in G, the sum of votes from g is larger than half of\nthe sum of weights in g. Interestingly, this construction enables smaller quorums. If we have\n9 servers split into 3 groups with a weight of 1 each, we are able to form quorums of size 4.\nNote that two subsets of processes each composed of a majority of servers from a majority of\ngroups necessarily have a non-empty intersection. It is reasonable to expect that a majority\nof co-locations will have a majority of servers available with high probability.",{"_5302":1924,"_37698":1858,"_38077":57742,"_5":22127,"_14695":57569,"_2209":57743},[],"ZooKeeper provides users with the ability to configure servers to use majority quorums,\nweighted quorums, or a hierarchy of groups.",{"_5302":1925,"_37698":1858,"_38077":57745,"_5":22127,"_14695":57572,"_2209":57746},[],"ZooKeeper uses slf4j as an abstraction layer for logging.\nLogback has been chosen as the logging backend since ZooKeeper 3.8.0.\nFor better embedding support, it is planned in the future to leave the choice of logging\nimplementation to the end user. Therefore, always use the slf4j API for log statements in code,\nbut configure Logback for runtime logging behavior.\nNote that slf4j has no FATAL level; former FATAL-level messages have been moved to ERROR.\nFor information on configuring Logback for ZooKeeper, see the\nLogging section of the\nZooKeeper Administrator's Guide.",{"_5302":1926,"_37698":1858,"_38077":57748,"_5":22127,"_14695":57575,"_2209":57749},[],"Follow the slf4j manual when creating log statements in\ncode. Also read the FAQ on logging performance.\nPatch reviewers will look for the following:",{"_5302":1927,"_37698":1858,"_38077":57751,"_5":22127,"_14695":57579,"_2209":57752},[],"There are several log levels in slf4j, in order of decreasing severity:",{"_5302":1928,"_37698":1858,"_38077":57754,"_5":22127,"_14695":57579,"_2209":57755},[],"ERROR — error events that might still allow the application to continue running.",{"_5302":1929,"_37698":1858,"_38077":57757,"_5":22127,"_14695":57579,"_2209":57758},[],"WARN — potentially harmful situations.",{"_5302":1930,"_37698":1858,"_38077":57760,"_5":22127,"_14695":57579,"_2209":57761},[],"INFO — informational messages that highlight the progress of the application at a coarse-grained level.",{"_5302":1931,"_37698":1858,"_38077":57763,"_5":22127,"_14695":57579,"_2209":57764},[],"DEBUG — fine-grained informational events most useful for debugging.",{"_5302":1932,"_37698":1858,"_38077":57766,"_5":22127,"_14695":57579,"_2209":57767},[],"TRACE — finer-grained informational events than DEBUG.",{"_5302":1933,"_37698":1858,"_38077":57769,"_5":22127,"_14695":57579,"_2209":57770},[],"ZooKeeper is typically run in production such that INFO and above are output to the log.",{"_5302":1934,"_37698":1858,"_38077":57772,"_5":22127,"_14695":57583,"_2209":57773},[],"Static message logging:",{"_5302":1935,"_37698":1858,"_38077":57775,"_5":22127,"_14695":57583,"_2209":57776},[],"For parameterized messages, use formatting anchors:",{"_5302":1936,"_37698":1858,"_38077":57778,"_5":22127,"_14695":57583,"_2209":57779},[],"Naming: Loggers should be named after the class in which they are used.",{"_5302":1937,"_37698":1858,"_38077":57781,"_5":22127,"_14695":57583,"_2209":57782},[],"Exception handling:",{"_5302":1938,"_37698":1938,"_5":19386,"_2209":57784,"_38009":57785,"_38077":57786,"_14695":1938},"Quick Start",[51788,57324],[],{"_5302":1939,"_37698":1938,"_38077":57788,"_5":22127,"_14695":1938,"_2209":57789},[],"This document contains information to get you started quickly with ZooKeeper.",{"_5302":1940,"_37698":1938,"_5":38006,"_38077":57791,"_14695":57792,"_2209":57793},[],"/docs/overview/quick-start#coordinating-distributed-applications-with-zookeeper","Coordinating Distributed Applications with ZooKeeper",{"_5302":1941,"_37698":1938,"_5":38006,"_38077":57795,"_14695":57796,"_2209":57797},[],"/docs/overview/quick-start#pre-requisites","Pre-requisites",{"_5302":1942,"_37698":1938,"_5":38006,"_38077":57799,"_14695":57800,"_2209":57801},[],"/docs/overview/quick-start#download","Download",{"_5302":1943,"_37698":1938,"_5":38006,"_38077":57803,"_14695":57804,"_2209":57805},[],"/docs/overview/quick-start#standalone-operation","Standalone Operation",{"_5302":1944,"_37698":1938,"_5":38006,"_38077":57807,"_14695":57808,"_2209":57809},[],"/docs/overview/quick-start#managing-zookeeper-storage","Managing ZooKeeper Storage",{"_5302":1945,"_37698":1938,"_5":38006,"_38077":57811,"_14695":57812,"_2209":55671},[],"/docs/overview/quick-start#connecting-to-zookeeper",{"_5302":1946,"_37698":1938,"_5":38006,"_38077":57814,"_14695":57815,"_2209":57816},[],"/docs/overview/quick-start#programming-to-zookeeper","Programming to ZooKeeper",{"_5302":1947,"_37698":1938,"_5":38006,"_38077":57818,"_14695":57819,"_2209":57820},[],"/docs/overview/quick-start#running-replicated-zookeeper","Running Replicated ZooKeeper",{"_5302":1948,"_37698":1938,"_5":38006,"_38077":57822,"_14695":57823,"_2209":57824},[],"/docs/overview/quick-start#other-optimizations","Other Optimizations",{"_5302":1949,"_37698":1938,"_38077":57826,"_5":22127,"_14695":57792,"_2209":57827},[],"The document is aimed primarily at developers hoping to try it out, and\ncontains simple installation instructions for a single ZooKeeper server, a\nfew commands to verify that it is running, and a simple programming\nexample. Finally, as a convenience, there are a few sections regarding\nmore complicated installations, for example running replicated\ndeployments, and optimizing the transaction log. However for the complete\ninstructions for commercial deployments, please refer to the ZooKeeper\nAdministrator's Guide.",{"_5302":1950,"_37698":1938,"_38077":57829,"_5":22127,"_14695":57796,"_2209":57830},[],"See System Requirements in the Admin guide.",{"_5302":1951,"_37698":1938,"_38077":57832,"_5":22127,"_14695":57800,"_2209":57833},[],"To get a ZooKeeper distribution, download a recent\nstable release from one of the Apache Download\nMirrors.",{"_5302":1952,"_37698":1938,"_38077":57835,"_5":22127,"_14695":57804,"_2209":57836},[],"Setting up a ZooKeeper server in standalone mode is\nstraightforward. The server is contained in a single JAR file,\nso installation consists of creating a configuration.",{"_5302":1953,"_37698":1938,"_38077":57838,"_5":22127,"_14695":57804,"_2209":57839},[],"Once you've downloaded a stable ZooKeeper release unpack\nit and cd to the root",{"_5302":1954,"_37698":1938,"_38077":57841,"_5":22127,"_14695":57804,"_2209":57842},[],"To start ZooKeeper you need a configuration file. Here is a sample,\ncreate it in conf/zoo.cfg:",{"_5302":1955,"_37698":1938,"_38077":57844,"_5":22127,"_14695":57804,"_2209":57845},[],"This file can be called anything, but for the sake of this\ndiscussion call\nit conf/zoo.cfg. Change the\nvalue of dataDir to specify an\nexisting (empty to start with) directory. Here are the meanings\nfor each of the fields:",{"_5302":1956,"_37698":1938,"_38077":57847,"_5":22127,"_14695":57804,"_2209":57848},[],"tickTime :\nthe basic time unit in milliseconds used by ZooKeeper. It is\nused to do heartbeats and the minimum session timeout will be\ntwice the tickTime.",{"_5302":1957,"_37698":1938,"_38077":57850,"_5":22127,"_14695":57804,"_2209":57851},[],"dataDir :\nthe location to store the in-memory database snapshots and,\nunless specified otherwise, the transaction log of updates to the\ndatabase.",{"_5302":1958,"_37698":1938,"_38077":57853,"_5":22127,"_14695":57804,"_2209":57854},[],"clientPort :\nthe port to listen for client connections",{"_5302":1959,"_37698":1938,"_38077":57856,"_5":22127,"_14695":57804,"_2209":57857},[],"Now that you created the configuration file, you can start\nZooKeeper:",{"_5302":1960,"_37698":1938,"_38077":57859,"_5":22127,"_14695":57804,"_2209":57860},[],"ZooKeeper logs messages using logback — more detail\navailable in the\nLogging\nsection of the Administrator's Guide. You will see log messages\ncoming to the console (default) and/or a log file depending on\nthe logback configuration.",{"_5302":1961,"_37698":1938,"_38077":57862,"_5":22127,"_14695":57804,"_2209":57863},[],"The steps outlined here run ZooKeeper in standalone mode. There is\nno replication, so if ZooKeeper process fails, the service will go down.\nThis is fine for most development situations, but to run ZooKeeper in\nreplicated mode, please see Running Replicated\nZooKeeper.",{"_5302":1962,"_37698":1938,"_38077":57865,"_5":22127,"_14695":57808,"_2209":57866},[],"For long running production systems ZooKeeper storage must\nbe managed externally (dataDir and logs). See the section on\nmaintenance for\nmore details.",{"_5302":1963,"_37698":1938,"_38077":57868,"_5":22127,"_14695":57812,"_2209":57869},[],"Start zkCli.sh and connect to your ZooKeeper server. bin/zkCli.sh -server\n 127.0.0.1:2181",{"_5302":1964,"_37698":1938,"_38077":57871,"_5":22127,"_14695":57812,"_2209":57872},[],"Create, inspect, update, and delete a test znode to validate end-to-end\noperation.",{"_5302":1965,"_37698":1938,"_38077":57874,"_5":22127,"_14695":57812,"_2209":57875},[],"This lets you perform simple, file-like operations.",{"_5302":1966,"_37698":1938,"_38077":57877,"_5":22127,"_14695":57812,"_2209":57878},[],"Once you have connected, you should see something like:",{"_5302":1967,"_37698":1938,"_38077":57880,"_5":22127,"_14695":57812,"_2209":57881},[],"From the shell, type help to get a listing of commands that can be executed from the client, as in:",{"_5302":1968,"_37698":1938,"_38077":57883,"_5":22127,"_14695":57812,"_2209":57884},[],"From here, you can try a few simple commands to get a feel for this simple command line interface. First, start by issuing the list command, as\nin ls, yielding:",{"_5302":1969,"_37698":1938,"_38077":57886,"_5":22127,"_14695":57812,"_2209":57887},[],"Next, create a new znode by running create /zk_test my_data. This creates a new znode and associates the string \"my_data\" with the node.\nYou should see:",{"_5302":1970,"_37698":1938,"_38077":57889,"_5":22127,"_14695":57812,"_2209":57890},[],"Issue another ls / command to see what the directory looks like:",{"_5302":1971,"_37698":1938,"_38077":57892,"_5":22127,"_14695":57812,"_2209":57893},[],"Notice that the zk_test directory has now been created.",{"_5302":1972,"_37698":1938,"_38077":57895,"_5":22127,"_14695":57812,"_2209":57896},[],"Next, verify that the data was associated with the znode by running the get command, as in:",{"_5302":1973,"_37698":1938,"_38077":57898,"_5":22127,"_14695":57812,"_2209":57899},[],"We can change the data associated with zk_test by issuing the set command, as in:",{"_5302":1974,"_37698":1938,"_38077":57901,"_5":22127,"_14695":57812,"_2209":57902},[],"(Notice we did a get after setting the data and it did, indeed, change.",{"_5302":1975,"_37698":1938,"_38077":57904,"_5":22127,"_14695":57812,"_2209":57905},[],"Finally, let's delete the node by issuing:",{"_5302":1976,"_37698":1938,"_38077":57907,"_5":22127,"_14695":57812,"_2209":57908},[],"That's it for now. To explore more, see the Zookeeper CLI.",{"_5302":1977,"_37698":1938,"_38077":57910,"_5":22127,"_14695":57815,"_2209":57911},[],"ZooKeeper has a Java bindings and C bindings. They are\nfunctionally equivalent. The C bindings exist in two variants: single\nthreaded and multi-threaded. These differ only in how the messaging loop\nis done. For more information, see the Programming\nExamples in the ZooKeeper Programmer's Guide for\nsample code using the different APIs.",{"_5302":1978,"_37698":1938,"_38077":57913,"_5":22127,"_14695":57819,"_2209":57914},[],"Running ZooKeeper in standalone mode is convenient for evaluation,\nsome development, and testing. But in production, you should run\nZooKeeper in replicated mode. A replicated group of servers in the same\napplication is called a quorum, and in replicated\nmode, all servers in the quorum have copies of the same configuration\nfile.",{"_5302":1979,"_37698":1938,"_38077":57916,"_5":22127,"_14695":57819,"_2209":52329},[],{"_5302":1980,"_37698":1938,"_38077":57918,"_5":22127,"_14695":57819,"_2209":57919},[],"For replicated mode, a minimum of three servers are required,",{"_5302":1981,"_37698":1938,"_38077":57921,"_5":22127,"_14695":57819,"_2209":57922},[],"and it is strongly recommended that you have an odd number of\nservers. If you only have two servers, then you are in a\nsituation where if one of them fails, there are not enough\nmachines to form a majority quorum. Two servers are inherently\nless stable than a single server, because there are two single\npoints of failure.",{"_5302":1982,"_37698":1938,"_38077":57924,"_5":22127,"_14695":57819,"_2209":57925},[],"The required\nconf/zoo.cfg\nfile for replicated mode is similar to the one used in standalone\nmode, but with a few differences. Here is an example:",{"_5302":1983,"_37698":1938,"_38077":57927,"_5":22127,"_14695":57819,"_2209":57928},[],"The new entry, initLimit is\ntimeouts ZooKeeper uses to limit the length of time the ZooKeeper\nservers in quorum have to connect to a leader. The entry syncLimit limits how far out of date a server can\nbe from a leader.",{"_5302":1984,"_37698":1938,"_38077":57930,"_5":22127,"_14695":57819,"_2209":57931},[],"With both of these timeouts, you specify the unit of time using\ntickTime. In this example, the timeout\nfor initLimit is 5 ticks at 2000 milliseconds a tick, or 10\nseconds.",{"_5302":1985,"_37698":1938,"_38077":57933,"_5":22127,"_14695":57819,"_2209":57934},[],"The entries of the form server.X list the\nservers that make up the ZooKeeper service. When the server starts up,\nit knows which server it is by looking for the file\nmyid in the data directory. That file has the\ncontains the server number, in ASCII.",{"_5302":1986,"_37698":1938,"_38077":57936,"_5":22127,"_14695":57819,"_2209":57937},[],"Finally, note the two port numbers after each server\nname: \" 2888\" and \"3888\". Peers use the former port to connect\nto other peers. Such a connection is necessary so that peers\ncan communicate, for example, to agree upon the order of\nupdates. More specifically, a ZooKeeper server uses this port\nto connect followers to the leader. When a new leader arises, a\nfollower opens a TCP connection to the leader using this\nport. Because the default leader election also uses TCP, we\ncurrently require another port for leader election. This is the\nsecond port in the server entry.",{"_5302":1987,"_37698":1938,"_38077":57939,"_5":22127,"_14695":57819,"_2209":52329},[],{"_5302":1988,"_37698":1938,"_38077":57941,"_5":22127,"_14695":57819,"_2209":57942},[],"If you want to test multiple servers on a single machine, specify the\nservername as localhost with unique quorum & leader election ports (i.e.\n2888:3888, 2889:3889, 2890:3890 in the example above) for each server.X in\nthat server's config file. Of course separate _dataDir_s and distinct\n_clientPort_s are also necessary (in the above replicated example, running on\na single localhost, you would still have three config files).",{"_5302":1989,"_37698":1938,"_38077":57944,"_5":22127,"_14695":57819,"_2209":57945},[],"Please be aware that setting up multiple servers on a single\nmachine will not create any redundancy. If something were to\nhappen which caused the machine to die, all of the zookeeper\nservers would be offline. Full redundancy requires that each\nserver have its own machine. It must be a completely separate\nphysical server. Multiple virtual machines on the same physical\nhost are still vulnerable to the complete failure of that host.",{"_5302":1990,"_37698":1938,"_38077":57947,"_5":22127,"_14695":57819,"_2209":57948},[],"If you have multiple network interfaces in your ZooKeeper machines,\nyou can also instruct ZooKeeper to bind on all of your interfaces and\nautomatically switch to a healthy interface in case of a network failure.\nFor details, see the Configuration Parameters.",{"_5302":1991,"_37698":1938,"_38077":57950,"_5":22127,"_14695":57823,"_2209":57951},[],"There are a couple of other configuration parameters that can\ngreatly increase performance:",{"_5302":1992,"_37698":1938,"_38077":57953,"_5":22127,"_14695":57823,"_2209":57954},[],"To get low latencies on updates it is important to\nhave a dedicated transaction log directory. By default\ntransaction logs are put in the same directory as the data\nsnapshots and myid file. The dataLogDir\nparameters indicates a different directory to use for the\ntransaction logs.",{"_5302":1993,"_37698":1993,"_5":19386,"_2209":57956,"_38009":57957,"_38077":57958,"_14695":1993},"Release Notes",[51788,57324],[],{"_5302":1994,"_37698":1993,"_38077":57960,"_5":22127,"_14695":1993,"_2209":57961},[],"Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.",{"_5302":1995,"_37698":1993,"_5":38006,"_38077":57963,"_14695":57964,"_2209":57965},[],"/docs/overview/release-notes#release-notes---zookeeper---version-395","Release Notes - ZooKeeper - Version 3.9.5",{"_5302":1996,"_37698":1993,"_5":38006,"_38077":57967,"_14695":57968,"_2209":57969},[],"/docs/overview/release-notes#sub-task","Sub-task",{"_5302":1997,"_37698":1993,"_5":38006,"_38077":57971,"_14695":57972,"_2209":57973},[],"/docs/overview/release-notes#bug","Bug",{"_5302":1998,"_37698":1993,"_5":38006,"_38077":57975,"_14695":57976,"_2209":57977},[],"/docs/overview/release-notes#improvement","Improvement",{"_5302":1999,"_37698":1993,"_5":38006,"_38077":57979,"_14695":57980,"_2209":57981},[],"/docs/overview/release-notes#test","Test",{"_5302":2000,"_37698":1993,"_5":38006,"_38077":57983,"_14695":57984,"_2209":57985},[],"/docs/overview/release-notes#task","Task",{"_5302":2001,"_37698":1993,"_5":38006,"_38077":57987,"_14695":57988,"_2209":57989},[],"/docs/overview/release-notes#release-notes---zookeeper---version-394","Release Notes - ZooKeeper - Version 3.9.4",{"_5302":2002,"_37698":1993,"_5":38006,"_38077":57991,"_14695":57992,"_2209":57993},[],"/docs/overview/release-notes#breaking-changes","Breaking Changes",{"_5302":2003,"_37698":1993,"_5":38006,"_38077":57995,"_14695":57996,"_2209":57973},[],"/docs/overview/release-notes#bug-1",{"_5302":2004,"_37698":1993,"_5":38006,"_38077":57998,"_14695":57999,"_2209":58000},[],"/docs/overview/release-notes#new-feature","New Feature",{"_5302":2005,"_37698":1993,"_5":38006,"_38077":58002,"_14695":58003,"_2209":57977},[],"/docs/overview/release-notes#improvement-1",{"_5302":2006,"_37698":1993,"_5":38006,"_38077":58005,"_14695":58006,"_2209":57985},[],"/docs/overview/release-notes#task-1",{"_5302":2007,"_37698":1993,"_5":38006,"_38077":58008,"_14695":58009,"_2209":58010},[],"/docs/overview/release-notes#release-notes---zookeeper---version-393","Release Notes - ZooKeeper - Version 3.9.3",{"_5302":2008,"_37698":1993,"_5":38006,"_38077":58012,"_14695":58013,"_2209":57973},[],"/docs/overview/release-notes#bug-2",{"_5302":2009,"_37698":1993,"_5":38006,"_38077":58015,"_14695":58016,"_2209":58000},[],"/docs/overview/release-notes#new-feature-1",{"_5302":2010,"_37698":1993,"_5":38006,"_38077":58018,"_14695":58019,"_2209":57977},[],"/docs/overview/release-notes#improvement-2",{"_5302":2011,"_37698":1993,"_5":38006,"_38077":58021,"_14695":58022,"_2209":57981},[],"/docs/overview/release-notes#test-1",{"_5302":2012,"_37698":1993,"_5":38006,"_38077":58024,"_14695":58025,"_2209":57985},[],"/docs/overview/release-notes#task-2",{"_5302":2013,"_37698":1993,"_5":38006,"_38077":58027,"_14695":58028,"_2209":58029},[],"/docs/overview/release-notes#release-notes---zookeeper---version-392","Release Notes - ZooKeeper - Version 3.9.2",{"_5302":2014,"_37698":1993,"_5":38006,"_38077":58031,"_14695":58032,"_2209":57969},[],"/docs/overview/release-notes#sub-task-1",{"_5302":2015,"_37698":1993,"_5":38006,"_38077":58034,"_14695":58035,"_2209":57973},[],"/docs/overview/release-notes#bug-3",{"_5302":2016,"_37698":1993,"_5":38006,"_38077":58037,"_14695":58038,"_2209":57977},[],"/docs/overview/release-notes#improvement-3",{"_5302":2017,"_37698":1993,"_5":38006,"_38077":58040,"_14695":58041,"_2209":58042},[],"/docs/overview/release-notes#wish","Wish",{"_5302":2018,"_37698":1993,"_5":38006,"_38077":58044,"_14695":58045,"_2209":58046},[],"/docs/overview/release-notes#release-notes---zookeeper---version-391","Release Notes - ZooKeeper - Version 3.9.1",{"_5302":2019,"_37698":1993,"_5":38006,"_38077":58048,"_14695":58049,"_2209":57977},[],"/docs/overview/release-notes#improvement-4",{"_5302":2020,"_37698":1993,"_5":38006,"_38077":58051,"_14695":58052,"_2209":57985},[],"/docs/overview/release-notes#task-3",{"_5302":2021,"_37698":1993,"_5":38006,"_38077":58054,"_14695":58055,"_2209":58056},[],"/docs/overview/release-notes#release-notes---zookeeper---version-390","Release Notes - ZooKeeper - Version 3.9.0",{"_5302":2022,"_37698":1993,"_5":38006,"_38077":58058,"_14695":58059,"_2209":57969},[],"/docs/overview/release-notes#sub-task-2",{"_5302":2023,"_37698":1993,"_5":38006,"_38077":58061,"_14695":58062,"_2209":57973},[],"/docs/overview/release-notes#bug-4",{"_5302":2024,"_37698":1993,"_5":38006,"_38077":58064,"_14695":58065,"_2209":58000},[],"/docs/overview/release-notes#new-feature-2",{"_5302":2025,"_37698":1993,"_5":38006,"_38077":58067,"_14695":58068,"_2209":57977},[],"/docs/overview/release-notes#improvement-5",{"_5302":2026,"_37698":1993,"_5":38006,"_38077":58070,"_14695":58071,"_2209":57981},[],"/docs/overview/release-notes#test-2",{"_5302":2027,"_37698":1993,"_5":38006,"_38077":58073,"_14695":58074,"_2209":58042},[],"/docs/overview/release-notes#wish-1",{"_5302":2028,"_37698":1993,"_5":38006,"_38077":58076,"_14695":58077,"_2209":57985},[],"/docs/overview/release-notes#task-4",{"_5302":2029,"_37698":1993,"_38077":58079,"_5":22127,"_14695":57968,"_2209":58080},[],"ZOOKEEPER-842 - stat calls static method on org.apache.zookeeper.server.DataTree",{"_5302":2030,"_37698":1993,"_38077":58082,"_5":22127,"_14695":57972,"_2209":58083},[],"ZOOKEEPER-4736 - socket fd leak",{"_5302":2031,"_37698":1993,"_38077":58085,"_5":22127,"_14695":57972,"_2209":58086},[],"ZOOKEEPER-4871 - ZooKeeper python module (zkpython) is incompatible with Python 3.12",{"_5302":2032,"_37698":1993,"_38077":58088,"_5":22127,"_14695":57972,"_2209":58089},[],"ZOOKEEPER-4958 - \"ssl.clientHostnameVerification\" is ignored if \"ssl.authProvider\" is configured to \"x509\"",{"_5302":2033,"_37698":1993,"_38077":58091,"_5":22127,"_14695":57972,"_2209":58092},[],"ZOOKEEPER-4974 - Remove enforced JDK 17 compilation warnings",{"_5302":2034,"_37698":1993,"_38077":58094,"_5":22127,"_14695":57972,"_2209":58095},[],"ZOOKEEPER-4984 - Upgrade OWASP plugin to 12.1.6 due to breaking changes in the API",{"_5302":2035,"_37698":1993,"_38077":58097,"_5":22127,"_14695":57972,"_2209":58098},[],"ZOOKEEPER-4986 - Disable reverse DNS lookup in TLS client and server",{"_5302":2036,"_37698":1993,"_38077":58100,"_5":22127,"_14695":57972,"_2209":58101},[],"ZOOKEEPER-4989 - Compilation of client on Windows with MSVC is broken",{"_5302":2037,"_37698":1993,"_38077":58103,"_5":22127,"_14695":57976,"_2209":58104},[],"ZOOKEEPER-3938 - Upgrade jline to version 3.x.",{"_5302":2038,"_37698":1993,"_38077":58106,"_5":22127,"_14695":57976,"_2209":58107},[],"ZOOKEEPER-4955 - Fix interference with jvm ssl properties for ssl.crl and ssl.ocsp",{"_5302":2039,"_37698":1993,"_38077":58109,"_5":22127,"_14695":57976,"_2209":58110},[],"ZOOKEEPER-4962 - Add getPort and getSecurePort for ZooKeeperServerEmbedded",{"_5302":2040,"_37698":1993,"_38077":58112,"_5":22127,"_14695":57976,"_2209":58113},[],"ZOOKEEPER-4965 - Drop unnecessary @SuppressWarnings(\"deprecation\")",{"_5302":2041,"_37698":1993,"_38077":58115,"_5":22127,"_14695":57976,"_2209":58116},[],"ZOOKEEPER-4970 - Deprecate methods of ZKConfig which throw QuorumPeerConfig.ConfigException",{"_5302":2042,"_37698":1993,"_38077":58118,"_5":22127,"_14695":57980,"_2209":58119},[],"ZOOKEEPER-4780 - Avoid creating temporary files in source directory.",{"_5302":2043,"_37698":1993,"_38077":58121,"_5":22127,"_14695":57984,"_2209":58122},[],"ZOOKEEPER-4976 - Update Netty to fix CVE-2025-58057",{"_5302":2044,"_37698":1993,"_38077":58124,"_5":22127,"_14695":57984,"_2209":58125},[],"ZOOKEEPER-5017 - Upgrade Netty to 4.1.130.Final to address CVE-2025-67735",{"_5302":2045,"_37698":1993,"_38077":58127,"_5":22127,"_14695":57984,"_2209":58128},[],"ZOOKEEPER-5018 - Upgrade Jetty to 9.4.58.v20250814 in order to fix CVE-2025-5115",{"_5302":2046,"_37698":1993,"_38077":58130,"_5":22127,"_14695":57992,"_2209":58131},[],"ZOOKEEPER-4891 updates logback-classic to 1.3.15 to solve CVE issues and slf4j-api to 2.0.13 to meet the compatibility requirement of logback.",{"_5302":2047,"_37698":1993,"_38077":58133,"_5":22127,"_14695":57992,"_2209":58134},[],"This could cause slf4j to complain \"No SLF4J providers were found\" and output no further logs in certain conditions:",{"_5302":2048,"_37698":1993,"_38077":58136,"_5":22127,"_14695":57992,"_2209":58137},[],"For library or client usage, this could happen if you specify and inherit incompatible slf4j and logback versions, say, slf4j-api:2.0.13 from org.apache.zookeeper:zookeeper and logback-classic:1.2.13 from customized project dependencies.",{"_5302":2049,"_37698":1993,"_38077":58139,"_5":22127,"_14695":57992,"_2209":58140},[],"For application or deployment usage, this could happen if you custom and inherit incompatible slf4j and logback versions in classpath, say, slf4j-api:2.0.13 from zookeeper distribution and logback-classic:1.2.13 from customization.",{"_5302":2050,"_37698":1993,"_38077":58142,"_5":22127,"_14695":57992,"_2209":58143},[],"This can be resolved by specifying compatible slf4j and logback versions in classpath, say, slf4j-api:2.0.13 and logback-classic:1.3.15.",{"_5302":2051,"_37698":1993,"_38077":58145,"_5":22127,"_14695":57996,"_2209":58146},[],"ZOOKEEPER-4020 - Memory leak in Zookeeper C Client",{"_5302":2052,"_37698":1993,"_38077":58148,"_5":22127,"_14695":57996,"_2209":58149},[],"ZOOKEEPER-4240 - IPV6 support in ZooKeeper ACL",{"_5302":2053,"_37698":1993,"_38077":58151,"_5":22127,"_14695":57996,"_2209":58152},[],"ZOOKEEPER-4604 - Creating a COMPLETION_STRING_STAT would set acl_result completion",{"_5302":2054,"_37698":1993,"_38077":58154,"_5":22127,"_14695":57996,"_2209":58155},[],"ZOOKEEPER-4699 - zh->hostname heap-use-after-free in zookeeper_interest",{"_5302":2055,"_37698":1993,"_38077":58157,"_5":22127,"_14695":57996,"_2209":58158},[],"ZOOKEEPER-4725 - TTL node creations do not appear in audit log",{"_5302":2056,"_37698":1993,"_38077":58160,"_5":22127,"_14695":57996,"_2209":58161},[],"ZOOKEEPER-4787 - Failed to establish connection between zookeeper",{"_5302":2057,"_37698":1993,"_38077":58163,"_5":22127,"_14695":57996,"_2209":58164},[],"ZOOKEEPER-4810 - Fix data race in format_endpoint_info()",{"_5302":2058,"_37698":1993,"_38077":58166,"_5":22127,"_14695":57996,"_2209":58167},[],"ZOOKEEPER-4819 - Can't seek for writable tls server if connected to readonly server",{"_5302":2059,"_37698":1993,"_38077":58169,"_5":22127,"_14695":57996,"_2209":58170},[],"ZOOKEEPER-4846 - Failure to reload database due to missing ACL",{"_5302":2060,"_37698":1993,"_38077":58172,"_5":22127,"_14695":57996,"_2209":58173},[],"ZOOKEEPER-4848 - Possible stack overflow in setup_random",{"_5302":2061,"_37698":1993,"_38077":58175,"_5":22127,"_14695":57996,"_2209":58176},[],"ZOOKEEPER-4858 - Remove the lock contention between snapshotting and the sync operation",{"_5302":2062,"_37698":1993,"_38077":58178,"_5":22127,"_14695":57996,"_2209":58179},[],"ZOOKEEPER-4872 - SnapshotCommand should not perform fastForwardFromEdits",{"_5302":2063,"_37698":1993,"_38077":58181,"_5":22127,"_14695":57996,"_2209":58182},[],"ZOOKEEPER-4886 - observer with small myid can't join SASL quorum",{"_5302":2064,"_37698":1993,"_38077":58184,"_5":22127,"_14695":57996,"_2209":58185},[],"ZOOKEEPER-4889 - Fallback to DIGEST-MD5 auth mech should be disabled in Fips mode",{"_5302":2065,"_37698":1993,"_38077":58187,"_5":22127,"_14695":57996,"_2209":58188},[],"ZOOKEEPER-4900 - Bump patch release of jetty to include CVE fix for CVE-2024-6763",{"_5302":2066,"_37698":1993,"_38077":58190,"_5":22127,"_14695":57996,"_2209":58191},[],"ZOOKEEPER-4907 - Shouldn't throw \"Len error\" when server closing cause confusion",{"_5302":2067,"_37698":1993,"_38077":58193,"_5":22127,"_14695":57996,"_2209":58194},[],"ZOOKEEPER-4909 - When a spurious wakeup occurs, the client's waiting time may exceed requestTimeout.",{"_5302":2068,"_37698":1993,"_38077":58196,"_5":22127,"_14695":57996,"_2209":58197},[],"ZOOKEEPER-4919 - ResponseCache supposed to be a LRU cache",{"_5302":2069,"_37698":1993,"_38077":58199,"_5":22127,"_14695":57996,"_2209":58200},[],"ZOOKEEPER-4921 - Zookeeper Client 3.9.3 Fails to Reconnect After Network Failures",{"_5302":2070,"_37698":1993,"_38077":58202,"_5":22127,"_14695":57996,"_2209":58203},[],"ZOOKEEPER-4925 - Diff sync introduce hole in stale follower's committedLog which cause data loss in leading",{"_5302":2071,"_37698":1993,"_38077":58205,"_5":22127,"_14695":57996,"_2209":58206},[],"ZOOKEEPER-4928 - Version in zookeeper_version.h is not updated",{"_5302":2072,"_37698":1993,"_38077":58208,"_5":22127,"_14695":57996,"_2209":58209},[],"ZOOKEEPER-4933 - Connection throttle exception causing all connections to be rejected",{"_5302":2073,"_37698":1993,"_38077":58211,"_5":22127,"_14695":57996,"_2209":58212},[],"ZOOKEEPER-4940 - Enabling zookeeper.ssl.ocsp with JRE TLS provider errors out",{"_5302":2074,"_37698":1993,"_38077":58214,"_5":22127,"_14695":57996,"_2209":58215},[],"ZOOKEEPER-4953 - Fixing Typo In ZooKeeper Programmer's Guide",{"_5302":2075,"_37698":1993,"_38077":58217,"_5":22127,"_14695":57996,"_2209":58218},[],"ZOOKEEPER-4960 - Upgrade OWASP plugin to 12.1.3 due to recent parsing errors",{"_5302":2076,"_37698":1993,"_38077":58220,"_5":22127,"_14695":57999,"_2209":58221},[],"ZOOKEEPER-4895 - Introduce a helper function for C client to generate password for SASL authentication",{"_5302":2077,"_37698":1993,"_38077":58223,"_5":22127,"_14695":58003,"_2209":58224},[],"ZOOKEEPER-4790 - TLS Quorum hostname verification breaks in some scenarios",{"_5302":2078,"_37698":1993,"_38077":58226,"_5":22127,"_14695":58003,"_2209":58227},[],"ZOOKEEPER-4852 - Fix the bad \"*uuuuu\" mark in the ASF license",{"_5302":2079,"_37698":1993,"_38077":58229,"_5":22127,"_14695":58003,"_2209":58230},[],"ZOOKEEPER-4891 - Update logback to 1.3.15 to fix CVE-2024-12798.",{"_5302":2080,"_37698":1993,"_38077":58232,"_5":22127,"_14695":58003,"_2209":58233},[],"ZOOKEEPER-4902 - Document that read-only mode also enables isro 4lw",{"_5302":2081,"_37698":1993,"_38077":58235,"_5":22127,"_14695":58003,"_2209":58236},[],"ZOOKEEPER-4906 - Log full exception details for server JAAS config failure",{"_5302":2082,"_37698":1993,"_38077":58238,"_5":22127,"_14695":58003,"_2209":58239},[],"ZOOKEEPER-4944 - Cache zookeeper dists for end to end compatibility tests",{"_5302":2083,"_37698":1993,"_38077":58241,"_5":22127,"_14695":58003,"_2209":58242},[],"ZOOKEEPER-4954 - Use FIPS style hostname verification when no custom truststore is specified",{"_5302":2084,"_37698":1993,"_38077":58244,"_5":22127,"_14695":58003,"_2209":58245},[],"ZOOKEEPER-4964 - Check permissions individually during admin server auth",{"_5302":2085,"_37698":1993,"_38077":58247,"_5":22127,"_14695":58006,"_2209":58248},[],"ZOOKEEPER-4897 - Upgrade Netty to fix CVE-2025-24970 in ZooKeeper 3.9.3",{"_5302":2086,"_37698":1993,"_38077":58250,"_5":22127,"_14695":58006,"_2209":58251},[],"ZOOKEEPER-4959 - Fix license files after logback/slf4j upgrade",{"_5302":2087,"_37698":1993,"_38077":58253,"_5":22127,"_14695":58013,"_2209":58254},[],"ZOOKEEPER-2332 - Zookeeper failed to start for empty txn log",{"_5302":2088,"_37698":1993,"_38077":58256,"_5":22127,"_14695":58013,"_2209":58257},[],"ZOOKEEPER-2623 - CheckVersion outside of Multi causes NullPointerException",{"_5302":2089,"_37698":1993,"_38077":58259,"_5":22127,"_14695":58013,"_2209":58260},[],"ZOOKEEPER-4293 - Lock Contention in ClientCnxnSocketNetty (possible deadlock)",{"_5302":2090,"_37698":1993,"_38077":58262,"_5":22127,"_14695":58013,"_2209":58263},[],"ZOOKEEPER-4394 - Learner.syncWithLeader got NullPointerException",{"_5302":2091,"_37698":1993,"_38077":58265,"_5":22127,"_14695":58013,"_2209":58266},[],"ZOOKEEPER-4409 - NullPointerException in SendAckRequestProcessor",{"_5302":2092,"_37698":1993,"_38077":58268,"_5":22127,"_14695":58013,"_2209":58269},[],"ZOOKEEPER-4508 - ZooKeeper client run to endless loop in ClientCnxn.SendThread.run if all server down",{"_5302":2093,"_37698":1993,"_38077":58271,"_5":22127,"_14695":58013,"_2209":58272},[],"ZOOKEEPER-4712 - Follower.shutdown() and Observer.shutdown() do not correctly shutdown the syncProcessor, which may lead to data inconsistency",{"_5302":2094,"_37698":1993,"_38077":58274,"_5":22127,"_14695":58013,"_2209":58275},[],"ZOOKEEPER-4733 - non-return function error and asan error in CPPUNIT TESTs",{"_5302":2095,"_37698":1993,"_38077":58277,"_5":22127,"_14695":58013,"_2209":58278},[],"ZOOKEEPER-4752 - Remove version files in zookeeper-server/src/main from .gitignore",{"_5302":2096,"_37698":1993,"_38077":58280,"_5":22127,"_14695":58013,"_2209":58281},[],"ZOOKEEPER-4804 - Use daemon threads for Netty client",{"_5302":2097,"_37698":1993,"_38077":58283,"_5":22127,"_14695":58013,"_2209":58284},[],"ZOOKEEPER-4814 - Protocol desynchronization after Connect for (some) old clients",{"_5302":2098,"_37698":1993,"_38077":58286,"_5":22127,"_14695":58013,"_2209":58287},[],"ZOOKEEPER-4839 - When DigestMD5 is used to enable mandatory client authentication, users that do not exist can log in",{"_5302":2099,"_37698":1993,"_38077":58289,"_5":22127,"_14695":58013,"_2209":58290},[],"ZOOKEEPER-4843 - Encountering an 'Unreasonable Length' error when configuring jute.maxbuffer to 1GB or more",{"_5302":2100,"_37698":1993,"_38077":58292,"_5":22127,"_14695":58013,"_2209":58293},[],"ZOOKEEPER-4876 - jetty-http-9.4.53.v20231009.jar: CVE-2024-6763(3.7)",{"_5302":2101,"_37698":1993,"_38077":58295,"_5":22127,"_14695":58016,"_2209":58296},[],"ZOOKEEPER-4747 - Java api lacks synchronous version of sync() call",{"_5302":2102,"_37698":1993,"_38077":58298,"_5":22127,"_14695":58019,"_2209":58299},[],"ZOOKEEPER-4850 - Enhance zkCli Tool to Support Reading and Writing Binary Data",{"_5302":2103,"_37698":1993,"_38077":58301,"_5":22127,"_14695":58019,"_2209":58302},[],"ZOOKEEPER-4851 - Honor X-Forwarded-For optionally in IPAuthenticationProvider",{"_5302":2104,"_37698":1993,"_38077":58304,"_5":22127,"_14695":58019,"_2209":58305},[],"ZOOKEEPER-4860 - Disable X-Forwarded-For in IPAuthenticationProvider by default",{"_5302":2105,"_37698":1993,"_38077":58307,"_5":22127,"_14695":58022,"_2209":58308},[],"ZOOKEEPER-4859 - C client tests hang to be cancelled quite often",{"_5302":2106,"_37698":1993,"_38077":58310,"_5":22127,"_14695":58025,"_2209":58311},[],"ZOOKEEPER-4820 - zookeeper pom leaks logback dependency",{"_5302":2107,"_37698":1993,"_38077":58313,"_5":22127,"_14695":58025,"_2209":58314},[],"ZOOKEEPER-4868 - Bump commons-io library to 2.14.0",{"_5302":2108,"_37698":1993,"_38077":58316,"_5":22127,"_14695":58032,"_2209":58317},[],"ZOOKEEPER-910 - Use SelectionKey.isXYZ() methods instead of complicated binary logic",{"_5302":2109,"_37698":1993,"_38077":58319,"_5":22127,"_14695":58032,"_2209":58320},[],"ZOOKEEPER-4728 - Zookeeper cannot bind to itself forever if DNS is not ready when startup",{"_5302":2110,"_37698":1993,"_38077":58322,"_5":22127,"_14695":58035,"_2209":58323},[],"ZOOKEEPER-2590 - exists() should check read ACL permission",{"_5302":2111,"_37698":1993,"_38077":58325,"_5":22127,"_14695":58035,"_2209":58326},[],"ZOOKEEPER-4236 - Java Client SendThread create many unnecessary Login objects",{"_5302":2112,"_37698":1993,"_38077":58328,"_5":22127,"_14695":58035,"_2209":58329},[],"ZOOKEEPER-4415 - Zookeeper 3.7.0 : The client supported protocol versions [TLSv1.3] are not accepted by server preferences",{"_5302":2113,"_37698":1993,"_38077":58331,"_5":22127,"_14695":58035,"_2209":58332},[],"ZOOKEEPER-4730 - Incorrect datadir and logdir size reported from admin and 4lw dirs command",{"_5302":2114,"_37698":1993,"_38077":58334,"_5":22127,"_14695":58035,"_2209":58335},[],"ZOOKEEPER-4785 - Txn loss due to race condition in Learner.syncWithLeader() during DIFF sync",{"_5302":2115,"_37698":1993,"_38077":58337,"_5":22127,"_14695":58038,"_2209":58338},[],"ZOOKEEPER-3486 - add the doc about how to configure SSL/TLS for the admin server",{"_5302":2116,"_37698":1993,"_38077":58340,"_5":22127,"_14695":58038,"_2209":58341},[],"ZOOKEEPER-4756 - Merge script should use GitHub api to merge pull requests",{"_5302":2117,"_37698":1993,"_38077":58343,"_5":22127,"_14695":58038,"_2209":58344},[],"ZOOKEEPER-4778 - Patch jetty, netty, and logback to remove high severity vulnerabilities",{"_5302":2118,"_37698":1993,"_38077":58346,"_5":22127,"_14695":58038,"_2209":58347},[],"ZOOKEEPER-4794 - Reduce the ZKDatabase#committedLog memory usage",{"_5302":2119,"_37698":1993,"_38077":58349,"_5":22127,"_14695":58038,"_2209":58350},[],"ZOOKEEPER-4799 - Refactor ACL check in addWatch command",{"_5302":2120,"_37698":1993,"_38077":58352,"_5":22127,"_14695":58038,"_2209":58353},[],"ZOOKEEPER-4801 - Add memory size limitation policy for ZkDataBase#committedLog",{"_5302":2121,"_37698":1993,"_38077":58355,"_5":22127,"_14695":58041,"_2209":58356},[],"ZOOKEEPER-4807 - Add sid for the leader goodbye log",{"_5302":2122,"_37698":1993,"_38077":58358,"_5":22127,"_14695":58049,"_2209":58359},[],"ZOOKEEPER-4732 - improve Reproducible Builds",{"_5302":2123,"_37698":1993,"_38077":58361,"_5":22127,"_14695":58049,"_2209":58362},[],"ZOOKEEPER-4753 - Explicit handling of DIGEST-MD5 vs GSSAPI in quorum auth",{"_5302":2124,"_37698":1993,"_38077":58364,"_5":22127,"_14695":58052,"_2209":58365},[],"ZOOKEEPER-4751 - Update snappy-java to 1.1.10.5 to address CVE-2023-43642",{"_5302":2125,"_37698":1993,"_38077":58367,"_5":22127,"_14695":58052,"_2209":58368},[],"ZOOKEEPER-4754 - Update Jetty to avoid CVE-2023-36479, CVE-2023-40167, and CVE-2023-41900",{"_5302":2126,"_37698":1993,"_38077":58370,"_5":22127,"_14695":58052,"_2209":58371},[],"ZOOKEEPER-4755 - Handle Netty CVE-2023-4586",{"_5302":2127,"_37698":1993,"_38077":58373,"_5":22127,"_14695":58059,"_2209":58374},[],"ZOOKEEPER-4327 - Flaky test: RequestThrottlerTest",{"_5302":2128,"_37698":1993,"_38077":58376,"_5":22127,"_14695":58062,"_2209":58377},[],"ZOOKEEPER-2108 - Compilation error in ZkAdaptor.cc with GCC 4.7 or later",{"_5302":2129,"_37698":1993,"_38077":58379,"_5":22127,"_14695":58062,"_2209":58380},[],"ZOOKEEPER-3652 - Improper synchronization in ClientCnxn",{"_5302":2130,"_37698":1993,"_38077":58382,"_5":22127,"_14695":58062,"_2209":58383},[],"ZOOKEEPER-3908 - zktreeutil multiple issues",{"_5302":2131,"_37698":1993,"_38077":58385,"_5":22127,"_14695":58062,"_2209":58386},[],"ZOOKEEPER-3996 - Flaky test: ReadOnlyModeTest.testConnectionEvents",{"_5302":2132,"_37698":1993,"_38077":58388,"_5":22127,"_14695":58062,"_2209":58389},[],"ZOOKEEPER-4026 - CREATE2 requests embedded in a MULTI request only get a regular CREATE response",{"_5302":2133,"_37698":1993,"_38077":58391,"_5":22127,"_14695":58062,"_2209":58392},[],"ZOOKEEPER-4296 - NullPointerException when ClientCnxnSocketNetty is closed without being opened",{"_5302":2134,"_37698":1993,"_38077":58394,"_5":22127,"_14695":58062,"_2209":58395},[],"ZOOKEEPER-4308 - Flaky test: EagerACLFilterTest.testSetDataFail",{"_5302":2135,"_37698":1993,"_38077":58397,"_5":22127,"_14695":58062,"_2209":58398},[],"ZOOKEEPER-4393 - Problem to connect to zookeeper in FIPS mode",{"_5302":2136,"_37698":1993,"_38077":58400,"_5":22127,"_14695":58062,"_2209":58401},[],"ZOOKEEPER-4466 - Support different watch modes on same path",{"_5302":2137,"_37698":1993,"_38077":58403,"_5":22127,"_14695":58062,"_2209":58404},[],"ZOOKEEPER-4471 - Remove WatcherType.Children break persistent watcher's child events",{"_5302":2138,"_37698":1993,"_38077":58406,"_5":22127,"_14695":58062,"_2209":58407},[],"ZOOKEEPER-4473 - zooInspector create root node fail with path validate",{"_5302":2139,"_37698":1993,"_38077":58409,"_5":22127,"_14695":58062,"_2209":58410},[],"ZOOKEEPER-4475 - Persistent recursive watcher got NodeChildrenChanged event",{"_5302":2140,"_37698":1993,"_38077":58412,"_5":22127,"_14695":58062,"_2209":58413},[],"ZOOKEEPER-4477 - Single Kerberos ticket renewal failure can prevent all future renewals since Java 9",{"_5302":2141,"_37698":1993,"_38077":58415,"_5":22127,"_14695":58062,"_2209":58416},[],"ZOOKEEPER-4504 - ZKUtil#deleteRecursive causing deadlock in HDFS HA functionality",{"_5302":2142,"_37698":1993,"_38077":58418,"_5":22127,"_14695":58062,"_2209":58419},[],"ZOOKEEPER-4505 - CVE-2020-36518 - Upgrade jackson databind to 2.13.2.1",{"_5302":2143,"_37698":1993,"_38077":58421,"_5":22127,"_14695":58062,"_2209":58422},[],"ZOOKEEPER-4511 - Flaky test: FileTxnSnapLogMetricsTest.testFileTxnSnapLogMetrics",{"_5302":2144,"_37698":1993,"_38077":58424,"_5":22127,"_14695":58062,"_2209":58425},[],"ZOOKEEPER-4514 - ClientCnxnSocketNetty throwing NPE",{"_5302":2145,"_37698":1993,"_38077":58427,"_5":22127,"_14695":58062,"_2209":58428},[],"ZOOKEEPER-4515 - ZK Cli quit command always logs error",{"_5302":2146,"_37698":1993,"_38077":58430,"_5":22127,"_14695":58062,"_2209":58431},[],"ZOOKEEPER-4537 - Race between SyncThread and CommitProcessor thread",{"_5302":2147,"_37698":1993,"_38077":58433,"_5":22127,"_14695":58062,"_2209":58434},[],"ZOOKEEPER-4549 - ProviderRegistry may be repeatedly initialized",{"_5302":2148,"_37698":1993,"_38077":58436,"_5":22127,"_14695":58062,"_2209":58437},[],"ZOOKEEPER-4565 - Config watch path get truncated abnormally and fail chroot zookeeper client",{"_5302":2149,"_37698":1993,"_38077":58439,"_5":22127,"_14695":58062,"_2209":58440},[],"ZOOKEEPER-4647 - Tests don't pass on JDK20 because we try to mock InetAddress",{"_5302":2150,"_37698":1993,"_38077":58442,"_5":22127,"_14695":58062,"_2209":58443},[],"ZOOKEEPER-4654 - Fix C client test compilation error in Util.cc.",{"_5302":2151,"_37698":1993,"_38077":58445,"_5":22127,"_14695":58062,"_2209":58446},[],"ZOOKEEPER-4674 - C client tests don't pass on CI",{"_5302":2152,"_37698":1993,"_38077":58448,"_5":22127,"_14695":58062,"_2209":58449},[],"ZOOKEEPER-4719 - Use bouncycastle jdk18on instead of jdk15on",{"_5302":2153,"_37698":1993,"_38077":58451,"_5":22127,"_14695":58062,"_2209":58452},[],"ZOOKEEPER-4721 - Upgrade OWASP Dependency Check to 8.3.1",{"_5302":2154,"_37698":1993,"_38077":58454,"_5":22127,"_14695":58065,"_2209":58455},[],"ZOOKEEPER-4570 - Admin server API for taking snapshot and stream out the data",{"_5302":2155,"_37698":1993,"_38077":58457,"_5":22127,"_14695":58065,"_2209":58458},[],"ZOOKEEPER-4655 - Communicate the Zxid that triggered a WatchEvent to fire",{"_5302":2156,"_37698":1993,"_38077":58460,"_5":22127,"_14695":58068,"_2209":58461},[],"ZOOKEEPER-3731 - Disable HTTP TRACE Method",{"_5302":2157,"_37698":1993,"_38077":58463,"_5":22127,"_14695":58068,"_2209":58464},[],"ZOOKEEPER-3806 - TLS - dynamic loading for client trust/key store",{"_5302":2158,"_37698":1993,"_38077":58466,"_5":22127,"_14695":58068,"_2209":58467},[],"ZOOKEEPER-3860 - Avoid reverse DNS lookup for hostname verification when hostnames are provided in the connection url",{"_5302":2159,"_37698":1993,"_38077":58469,"_5":22127,"_14695":58068,"_2209":58470},[],"ZOOKEEPER-4289 - Reduce the performance impact of Prometheus metrics",{"_5302":2160,"_37698":1993,"_38077":58472,"_5":22127,"_14695":58068,"_2209":58473},[],"ZOOKEEPER-4303 - ZooKeeperServerEmbedded could auto-assign and expose ports",{"_5302":2161,"_37698":1993,"_38077":58475,"_5":22127,"_14695":58068,"_2209":58476},[],"ZOOKEEPER-4464 - zooinspector display \"Ephemeral Owner\" in hex for easy match to jmx session",{"_5302":2162,"_37698":1993,"_38077":58478,"_5":22127,"_14695":58068,"_2209":58479},[],"ZOOKEEPER-4467 - Missing op code (addWatch) in Request.op2String",{"_5302":2163,"_37698":1993,"_38077":58481,"_5":22127,"_14695":58068,"_2209":58482},[],"ZOOKEEPER-4472 - Support persistent watchers removing individually",{"_5302":2164,"_37698":1993,"_38077":58484,"_5":22127,"_14695":58068,"_2209":58485},[],"ZOOKEEPER-4474 - ZooDefs.opNames is unused",{"_5302":2165,"_37698":1993,"_38077":58487,"_5":22127,"_14695":58068,"_2209":58488},[],"ZOOKEEPER-4490 - Publish Clover results to SonarQube",{"_5302":2166,"_37698":1993,"_38077":58490,"_5":22127,"_14695":58068,"_2209":58491},[],"ZOOKEEPER-4491 - Adding SSL support to Zktreeutil",{"_5302":2167,"_37698":1993,"_38077":58493,"_5":22127,"_14695":58068,"_2209":58494},[],"ZOOKEEPER-4492 - Merge readOnly field into ConnectRequest and Response",{"_5302":2168,"_37698":1993,"_38077":58496,"_5":22127,"_14695":58068,"_2209":58497},[],"ZOOKEEPER-4494 - Fix error message format",{"_5302":2169,"_37698":1993,"_38077":58499,"_5":22127,"_14695":58068,"_2209":58500},[],"ZOOKEEPER-4518 - remove useless log in the PrepRequestProcessor#pRequest method",{"_5302":2170,"_37698":1993,"_38077":58502,"_5":22127,"_14695":58068,"_2209":58503},[],"ZOOKEEPER-4519 - Testable interface should have a testableCloseSocket() method",{"_5302":2171,"_37698":1993,"_38077":58505,"_5":22127,"_14695":58068,"_2209":58506},[],"ZOOKEEPER-4529 - Upgrade netty to 4.1.76.Final",{"_5302":2172,"_37698":1993,"_38077":58508,"_5":22127,"_14695":58068,"_2209":58509},[],"ZOOKEEPER-4531 - Revert Netty TCNative change",{"_5302":2173,"_37698":1993,"_38077":58511,"_5":22127,"_14695":58068,"_2209":58512},[],"ZOOKEEPER-4551 - Do not log spammy stacktrace when a client closes its connection",{"_5302":2174,"_37698":1993,"_38077":58514,"_5":22127,"_14695":58068,"_2209":58515},[],"ZOOKEEPER-4566 - Create tool for recursive snapshot analysis",{"_5302":2175,"_37698":1993,"_38077":58517,"_5":22127,"_14695":58068,"_2209":58518},[],"ZOOKEEPER-4573 - Encapsulate request bytebuffer in Request",{"_5302":2176,"_37698":1993,"_38077":58520,"_5":22127,"_14695":58068,"_2209":58521},[],"ZOOKEEPER-4575 - ZooKeeperServer#processPacket take record instead of bytes",{"_5302":2177,"_37698":1993,"_38077":58523,"_5":22127,"_14695":58068,"_2209":58524},[],"ZOOKEEPER-4616 - Upgrade docker image for the dev environment to resolve CVEs",{"_5302":2178,"_37698":1993,"_38077":58526,"_5":22127,"_14695":58068,"_2209":58527},[],"ZOOKEEPER-4622 - Add Netty-TcNative OpenSSL Support",{"_5302":2179,"_37698":1993,"_38077":58529,"_5":22127,"_14695":58068,"_2209":58530},[],"ZOOKEEPER-4636 - Fix zkServer.sh for AIX",{"_5302":2180,"_37698":1993,"_38077":58532,"_5":22127,"_14695":58068,"_2209":58533},[],"ZOOKEEPER-4657 - Publish SBOM artifacts",{"_5302":2181,"_37698":1993,"_38077":58535,"_5":22127,"_14695":58068,"_2209":58536},[],"ZOOKEEPER-4659 - Upgrade Commons CLI to 1.5.0 due to OWASP failing on 1.4 CVE-2021-37533",{"_5302":2182,"_37698":1993,"_38077":58538,"_5":22127,"_14695":58068,"_2209":58539},[],"ZOOKEEPER-4660 - Suppress false positive OWASP failure for CVE-2021-37533",{"_5302":2183,"_37698":1993,"_38077":58541,"_5":22127,"_14695":58068,"_2209":58542},[],"ZOOKEEPER-4661 - Upgrade Jackson Databind to 2.13.4.2 for CVE-2022-42003 CVE-2022-42004",{"_5302":2184,"_37698":1993,"_38077":58544,"_5":22127,"_14695":58068,"_2209":58545},[],"ZOOKEEPER-4705 - Restrict GitHub merge button to allow squash commit only",{"_5302":2185,"_37698":1993,"_38077":58547,"_5":22127,"_14695":58068,"_2209":58548},[],"ZOOKEEPER-4717 - Cache serialize data in the request to avoid repeat serialize.",{"_5302":2186,"_37698":1993,"_38077":58550,"_5":22127,"_14695":58068,"_2209":58551},[],"ZOOKEEPER-4718 - Removing unnecessary heap memory allocation in serialization can help reduce GC pressure.",{"_5302":2187,"_37698":1993,"_38077":58553,"_5":22127,"_14695":58071,"_2209":58554},[],"ZOOKEEPER-4630 - Fix the NPE from ConnectionMetricsTest.testRevalidateCount",{"_5302":2188,"_37698":1993,"_38077":58556,"_5":22127,"_14695":58071,"_2209":58557},[],"ZOOKEEPER-4676 - ReadOnlyModeTest doesn't compile on JDK20 (Thread.suspend has been removed)",{"_5302":2189,"_37698":1993,"_38077":58559,"_5":22127,"_14695":58074,"_2209":58560},[],"ZOOKEEPER-3615 - write a TLA+ specification to verify Zab protocol",{"_5302":2190,"_37698":1993,"_38077":58562,"_5":22127,"_14695":58074,"_2209":58563},[],"ZOOKEEPER-4710 - Fix ZkUtil deleteInBatch() by releasing semaphore after set flag",{"_5302":2191,"_37698":1993,"_38077":58565,"_5":22127,"_14695":58074,"_2209":58566},[],"ZOOKEEPER-4714 - Improve syncRequestProcessor performance",{"_5302":2192,"_37698":1993,"_38077":58568,"_5":22127,"_14695":58074,"_2209":58569},[],"ZOOKEEPER-4715 - Verify file size and position in testGetCurrentLogSize.",{"_5302":2193,"_37698":1993,"_38077":58571,"_5":22127,"_14695":58077,"_2209":58572},[],"ZOOKEEPER-4479 - Tests: C client test TestOperations.cc testTimeoutCausedByWatches1 is very flaky on CI",{"_5302":2194,"_37698":1993,"_38077":58574,"_5":22127,"_14695":58077,"_2209":58575},[],"ZOOKEEPER-4482 - Fix LICENSE FILES for commons-io and commons-cli",{"_5302":2195,"_37698":1993,"_38077":58577,"_5":22127,"_14695":58077,"_2209":58578},[],"ZOOKEEPER-4599 - Upgrade Jetty to avoid CVE-2022-2048",{"_5302":2196,"_37698":1993,"_38077":58580,"_5":22127,"_14695":58077,"_2209":58581},[],"ZOOKEEPER-4641 - GH CI fails with error: implicit declaration of function FIPS_mode",{"_5302":2197,"_37698":1993,"_38077":58583,"_5":22127,"_14695":58077,"_2209":58584},[],"ZOOKEEPER-4642 - Remove Travis CI",{"_5302":2198,"_37698":1993,"_38077":58586,"_5":22127,"_14695":58077,"_2209":58587},[],"ZOOKEEPER-4649 - Upgrade netty to 4.1.86 because of CVE-2022-41915",{"_5302":2199,"_37698":1993,"_38077":58589,"_5":22127,"_14695":58077,"_2209":58590},[],"ZOOKEEPER-4669 - Upgrade snappy-java to 1.1.9.1 (in order to support M1 macs)",{"_5302":2200,"_37698":1993,"_38077":58592,"_5":22127,"_14695":58077,"_2209":58593},[],"ZOOKEEPER-4688 - Upgrade cyclonedx-maven-plugin to 2.7.6",{"_5302":2201,"_37698":1993,"_38077":58595,"_5":22127,"_14695":58077,"_2209":58596},[],"ZOOKEEPER-4700 - Update Jetty for fixing CVE-2023-26048 and CVE-2023-26049",{"_5302":2202,"_37698":1993,"_38077":58598,"_5":22127,"_14695":58077,"_2209":58599},[],"ZOOKEEPER-4707 - Update snappy-java to address multiple CVEs",{"_5302":2203,"_37698":1993,"_38077":58601,"_5":22127,"_14695":58077,"_2209":58602},[],"ZOOKEEPER-4709 - Upgrade Netty to 4.1.94.Final",{"_5302":2204,"_37698":1993,"_38077":58604,"_5":22127,"_14695":58077,"_2209":58605},[],"ZOOKEEPER-4716 - Upgrade jackson to 2.15.2, suppress two false positive CVE errors",{"_29113":58607,"_58608":58609,"_58610":58611,"_58612":58613,"_3095":2227,"_67404":2227},"english","sortableProperties",[2209,37698,5,14695],"sortablePropertiesWithTypes",{"_2209":25817,"_37698":25817,"_5":25817,"_14695":25817},"sorts",{"_2209":58614,"_37698":60813,"_5":63010,"_14695":65207},{"_24672":58615,"_58617":58618,"_5":25817},{"_6884":8236,"_5968":7275,"_11313":2531,"_11353":2573,"_11327":22219,"_11320":17536,"_11346":2549,"_11375":2525,"_11306":2835,"_36123":2541,"_11342":11259,"_36627":4383,"_36749":3357,"_36700":36962,"_11445":26414,"_12197":2313,"_36739":23799,"_36759":4471,"_12027":12753,"_11889":35138,"_37450":31135,"_12203":3566,"_40818":5515,"_36616":13537,"_36046":2945,"_36685":4384,"_12270":4466,"_37480":11266,"_12512":3377,"_35574":12987,"_35645":2327,"_35619":2660,"_12054":3547,"_35635":5065,"_35650":2543,"_12102":2544,"_35655":2542,"_11406":2546,"_11866":2545,"_12080":6353,"_40847":3774,"_40849":7720,"_40851":3715,"_40854":4360,"_36679":2449,"_40857":25995,"_11356":3937,"_40862":26415,"_12471":3528,"_36302":2422,"_12518":9703,"_11438":5960,"_37112":2618,"_40872":2766,"_40874":24784,"_40876":4846,"_40879":5792,"_37107":3583,"_37102":3515,"_11469":3439,"_40886":3448,"_40889":2372,"_40891":25064,"_30746":2402,"_40894":7835,"_40897":2675,"_40899":2676,"_40902":3555,"_40904":18997,"_40906":17647,"_40909":3470,"_40912":34435,"_40914":6921,"_11485":15933,"_40918":3036,"_36784":12752,"_40921":2439,"_11684":2702,"_11349":3586,"_36838":2238,"_37456":3597,"_12393":3767,"_40929":3650,"_40931":3051,"_40933":3598,"_36853":2239,"_40936":3369,"_11378":3356,"_12108":3371,"_35688":4359,"_36663":2527,"_40943":2240,"_40945":3370,"_37626":2241,"_40948":6350,"_11421":5390,"_40951":7555,"_40953":6072,"_12125":2851,"_36130":3413,"_40958":2451,"_40960":2992,"_40963":36413,"_40965":12934,"_40967":5217,"_40969":2567,"_40971":20784,"_11336":3927,"_40974":10467,"_40976":16235,"_40978":3932,"_40980":3443,"_40982":2357,"_40985":2443,"_16358":26836,"_40988":25063,"_40990":2403,"_40992":2433,"_40994":4681,"_40996":3502,"_40998":6695,"_41001":4186,"_41003":6086,"_41005":18619,"_41007":6785,"_41010":2632,"_36637":2656,"_36632":2648,"_41015":3037,"_36754":2700,"_41019":8212,"_41021":11272,"_41023":2720,"_41025":4441,"_41027":6977,"_41029":3601,"_41031":17884,"_41033":2907,"_41035":3438,"_41037":36385,"_41039":3531,"_41041":2853,"_41043":3513,"_41046":23238,"_41048":27545,"_41050":3423,"_41052":2590,"_41054":2369,"_41057":26244,"_41059":5511,"_41061":4398,"_41063":4410,"_41065":12961,"_41067":3485,"_41069":5750,"_41071":3408,"_41073":3538,"_41075":2394,"_41077":5991,"_41079":3442,"_41081":3260,"_41083":2548,"_41085":3198,"_41087":2343,"_41089":5790,"_41091":3585,"_41093":18822,"_36725":7554,"_41096":25059,"_41098":2397,"_41100":2583,"_36744":7830,"_41103":22857,"_41105":5338,"_41108":3389,"_41110":29245,"_41112":3484,"_41114":4462,"_41116":2636,"_41118":2570,"_41120":2987,"_41122":2840,"_41124":5476,"_41126":3386,"_41128":5671,"_41130":2374,"_41132":2841,"_41134":2444,"_41136":6079,"_41138":2593,"_41140":2666,"_36651":2348,"_41145":2672,"_36646":3588,"_41149":4890,"_41151":3507,"_41153":4652,"_41155":3510,"_41157":6352,"_16474":13760,"_37344":2534,"_35538":17550,"_41164":3259,"_41166":2314,"_41169":3559,"_41171":9046,"_41173":2393,"_41176":4333,"_41178":3014,"_41180":2855,"_41183":6562,"_41186":6351,"_41188":3775,"_41190":13759,"_41192":13341,"_41194":2356,"_41197":6300,"_41199":8297,"_41201":4496,"_41203":3934,"_41206":3933,"_41208":4361,"_41210":3634,"_41212":5979,"_41214":9397,"_41216":3217,"_41218":7827,"_41220":2650,"_41222":2419,"_41224":3508,"_41226":8373,"_41228":5989,"_41230":30993,"_41232":3539,"_41234":2625,"_41236":17150,"_41238":2624,"_41240":3165,"_41242":2271,"_41244":2396,"_41246":4896,"_41248":5480,"_41250":7510,"_41252":6248,"_41254":2768,"_41256":2373,"_41258":2487,"_41260":2806,"_41262":2789,"_37379":3247,"_41266":2801,"_41268":2881,"_41270":2882,"_37384":17157,"_37374":3956,"_22897":4362,"_41275":3835,"_41277":3360,"_41279":3548,"_41281":2232,"_41283":2233,"_41285":2235,"_41287":2671,"_41290":2311,"_41292":2312,"_41294":3981,"_41296":2508,"_41298":26882,"_41300":2991,"_41302":2813,"_41305":3216,"_41307":3159,"_41309":2515,"_41311":32538,"_41313":29685,"_41315":2802,"_41317":2668,"_41319":2884,"_41321":2883,"_41323":31665,"_41325":2669,"_41327":2783,"_41329":6262,"_41331":3590,"_41333":2769,"_41335":2535,"_41337":35816,"_37485":2358,"_41340":2514,"_41342":4392,"_41344":3803,"_41346":8660,"_41349":2661,"_41351":3591,"_41353":2329,"_41355":9824,"_41357":2438,"_41359":2866,"_41362":2346,"_35589":2842,"_41365":3532,"_41367":3592,"_41369":2375,"_35579":3188,"_41372":2610,"_41375":3053,"_41378":2494,"_41380":6976,"_41383":3674,"_41386":2392,"_41388":6445,"_41390":2569,"_41392":10466,"_41394":11248,"_41396":2317,"_41398":3468,"_41401":3469,"_41404":3467,"_41406":2653,"_11390":4326,"_41409":3511,"_41411":4465,"_41413":3454,"_41415":5183,"_35624":3487,"_41418":2620,"_41420":4849,"_41422":2502,"_41424":2896,"_41426":6007,"_41428":2678,"_11316":2962,"_41432":15146,"_41434":3575,"_41436":17142,"_41438":2803,"_41440":2399,"_41442":2328,"_41444":2879,"_35640":3811,"_41447":2400,"_41449":3381,"_41451":4332,"_41453":2682,"_41455":3553,"_41457":2684,"_41459":2685,"_41461":2686,"_41463":3554,"_41465":7789,"_41467":2679,"_41469":6242,"_41471":6099,"_41473":2680,"_41475":2677,"_41477":2681,"_41479":2683,"_41481":6922,"_41483":3081,"_41485":2236,"_41487":2234,"_41489":2376,"_41491":3552,"_41493":4850,"_41495":2687,"_41497":2340,"_41499":2341,"_41501":5182,"_41503":3234,"_41505":3941,"_41507":3785,"_41509":2552,"_41511":2553,"_41514":2810,"_41516":2415,"_41518":2980,"_41520":13714,"_41522":6021,"_41524":6078,"_41526":10844,"_41528":3570,"_41530":2659,"_41532":2561,"_22920":5056,"_41536":7995,"_41538":5631,"_41540":7831,"_35672":12926,"_41543":3579,"_41545":21507,"_41547":3391,"_41549":3392,"_41551":2808,"_41553":2506,"_41555":2507,"_41557":5184,"_41559":2665,"_41561":2602,"_41563":5990,"_36040":6261,"_41566":2811,"_41568":7549,"_41571":2886,"_41573":3605,"_41575":7541,"_41577":13051,"_41580":7092,"_41582":2562,"_41584":3568,"_41586":6113,"_41588":7566,"_41590":9057,"_41592":3301,"_41595":6801,"_41597":3807,"_41599":3609,"_41601":4472,"_41603":12980,"_41605":3716,"_41608":8854,"_41610":7612,"_41612":2267,"_41614":2270,"_41616":2268,"_36045":2266,"_41619":26700,"_41621":3928,"_41623":13023,"_41625":3929,"_41627":22535,"_41629":2264,"_41631":2269,"_41633":3410,"_41635":2265,"_41637":2263,"_41639":3061,"_36051":20526,"_41642":29303,"_41644":4511,"_41646":2409,"_41648":3534,"_41650":3677,"_41652":2794,"_41654":2554,"_41656":17199,"_41658":2670,"_41660":2390,"_41662":4368,"_41665":2774,"_41668":2764,"_41670":12594,"_41672":22183,"_41675":2843,"_41677":15532,"_41679":2550,"_41681":8833,"_41683":2364,"_41685":5395,"_41687":2711,"_41689":2710,"_41691":30987,"_41693":2344,"_41695":2662,"_41697":8835,"_41699":3457,"_41701":9434,"_41703":3802,"_41705":2718,"_41707":2345,"_41709":17154,"_41711":2756,"_41713":19753,"_41715":4489,"_41717":2647,"_41719":9261,"_41721":2361,"_41723":6265,"_41725":2576,"_41727":3434,"_41729":11277,"_41731":26689,"_41733":18307,"_41735":2435,"_41737":13251,"_41739":3465,"_11427":2384,"_41742":2385,"_41744":3549,"_41746":2386,"_41748":5988,"_41750":11271,"_41752":7550,"_41754":22492,"_41756":2387,"_41758":3285,"_41760":3789,"_41762":3516,"_41764":14986,"_41766":5798,"_37087":5799,"_12612":3517,"_41770":3944,"_41772":2530,"_41774":13339,"_41776":25962,"_41778":2564,"_41780":7833,"_41782":9730,"_41784":2939,"_41786":7605,"_41788":7553,"_41790":2298,"_41792":4407,"_41794":2906,"_41796":3647,"_41798":3784,"_41800":3796,"_41802":3215,"_41804":8298,"_41806":2899,"_41808":2776,"_41810":3455,"_41812":3214,"_41814":3375,"_41816":2736,"_41818":3935,"_41820":4374,"_41822":2426,"_41824":28152,"_41826":2574,"_41828":3462,"_41830":4364,"_41832":8654,"_41834":2425,"_41836":2931,"_41838":2817,"_41840":21499,"_41842":9017,"_41844":3472,"_41846":3411,"_41848":2799,"_41850":3433,"_41852":2619,"_41854":3263,"_36062":2446,"_41857":6075,"_41859":2342,"_41861":3440,"_41863":23798,"_41865":3232,"_41867":2378,"_41869":17146,"_41871":24256,"_41873":9692,"_41875":22668,"_41877":3481,"_41879":2434,"_41881":3486,"_41883":6348,"_41885":2529,"_41887":2596,"_41889":3530,"_41891":2609,"_41893":3535,"_41895":3537,"_41897":8757,"_41899":2657,"_41901":17153,"_41903":3382,"_41905":2715,"_41907":4411,"_41909":4970,"_41911":26605,"_41913":3407,"_11384":3231,"_41916":13599,"_41918":3445,"_41920":2368,"_41922":3364,"_41924":2366,"_41926":2367,"_41928":2381,"_41930":2380,"_41932":3460,"_41934":2431,"_16423":2430,"_41937":2432,"_41939":14465,"_41941":23133,"_11330":6082,"_41944":6347,"_41946":3954,"_41948":6264,"_41950":17145,"_41952":2594,"_41954":2651,"_41956":2257,"_41958":2604,"_41960":5237,"_41962":3545,"_41964":4664,"_41966":4394,"_41968":4395,"_41970":13346,"_41972":3269,"_41974":2717,"_41976":3270,"_41978":7343,"_41980":2388,"_41982":3488,"_41984":2335,"_41986":8211,"_41988":8210,"_41990":4370,"_41992":28146,"_41994":3646,"_41996":30104,"_41998":13480,"_42000":2315,"_42002":4393,"_42004":17147,"_42006":2293,"_11323":2637,"_42009":2627,"_42011":24000,"_42013":16666,"_42015":4935,"_42017":22008,"_42019":2354,"_42021":2406,"_42023":4324,"_42025":2606,"_42027":13306,"_42029":2693,"_42031":3514,"_42033":2800,"_42035":11278,"_42037":2849,"_42039":2696,"_42041":9417,"_42043":2694,"_42045":2691,"_42047":3498,"_42049":3355,"_42051":6089,"_42053":7329,"_42055":3797,"_42057":7342,"_42059":8837,"_42061":3546,"_42063":2891,"_42065":35070,"_42067":2692,"_42069":2821,"_42071":2695,"_42073":3365,"_42075":2924,"_42077":3611,"_42079":3604,"_42081":4402,"_42083":2925,"_42085":2745,"_42087":2782,"_42089":2926,"_42091":25065,"_42093":2852,"_42095":6054,"_42097":4386,"_42099":32040,"_42101":2611,"_42103":10896,"_42105":18486,"_42107":2690,"_42109":3415,"_42111":5873,"_42114":3090,"_42116":3471,"_42118":2749,"_42120":15549,"_42122":25066,"_42124":3504,"_42126":3266,"_42128":2297,"_42130":3267,"_42132":3441,"_42134":3254,"_42136":12856,"_42139":4469,"_42141":4460,"_42143":5998,"_42146":5997,"_42148":3607,"_42151":3596,"_42153":3787,"_42155":2489,"_42157":2411,"_42159":28809,"_42161":36867,"_42163":6088,"_42165":3384,"_42167":2512,"_42169":3368,"_42171":8238,"_42173":21500,"_42175":6104,"_42177":3235,"_42180":2770,"_42182":2323,"_42184":2765,"_42186":8009,"_42188":3496,"_42190":3573,"_42192":3572,"_42194":16872,"_42196":2779,"_42198":3431,"_42200":13221,"_42202":6092,"_42204":2500,"_42206":29189,"_42208":5882,"_42210":35804,"_42212":8237,"_42214":25017,"_42216":3058,"_42218":5394,"_42220":2482,"_42222":6255,"_42224":17548,"_42227":6930,"_11451":2336,"_42231":2874,"_42233":8653,"_42235":2251,"_42237":14356,"_42239":4944,"_42241":2454,"_42243":2697,"_42245":2631,"_42247":2524,"_42249":2522,"_42251":7837,"_42253":2621,"_42255":3271,"_42257":3258,"_42259":2795,"_42261":3794,"_42263":3565,"_42265":21421,"_42267":7165,"_42269":2887,"_42271":2326,"_42273":2904,"_42275":2523,"_42277":2948,"_42279":3580,"_42281":3651,"_42283":25611,"_42285":3463,"_42287":3948,"_42289":5188,"_42291":2623,"_42293":2519,"_42295":5187,"_42297":2622,"_42299":3160,"_42301":2513,"_42303":5189,"_42305":3264,"_42307":6696,"_42309":20890,"_42311":13334,"_42313":5512,"_42315":20889,"_42317":7829,"_42319":7787,"_42321":2698,"_42323":3795,"_42325":3644,"_42327":3950,"_42329":3581,"_42331":5514,"_42333":2536,"_12529":2383,"_42336":6302,"_42338":3800,"_42340":2699,"_42342":3459,"_42344":4936,"_42346":6100,"_37445":2649,"_42349":5064,"_42351":10573,"_42353":3786,"_42355":2455,"_42357":8764,"_42359":2540,"_42361":4847,"_42363":2398,"_35029":2598,"_42366":6049,"_42368":2436,"_42370":13787,"_42372":12925,"_42374":32539,"_42376":2310,"_42378":4510,"_42380":4992,"_42382":2780,"_42384":4461,"_42386":2395,"_42388":2767,"_42390":3957,"_42392":2377,"_42394":3444,"_42396":2355,"_42398":2844,"_42400":2459,"_42402":2599,"_42404":3497,"_42406":3155,"_42408":5820,"_42410":3373,"_42412":5185,"_42414":2761,"_42416":12728,"_42418":2629,"_42420":3248,"_42422":3475,"_42424":7546,"_42426":2641,"_42428":3543,"_42430":2292,"_42432":29191,"_42434":3942,"_42436":4409,"_42438":3378,"_42440":3436,"_42442":4400,"_42444":3437,"_42446":2501,"_12606":2339,"_42449":2577,"_42451":3564,"_42453":2917,"_42455":2582,"_42457":2918,"_42459":3589,"_42461":3152,"_42463":2704,"_42465":3541,"_42467":22009,"_42469":7836,"_42471":2309,"_42473":26287,"_42475":19817,"_42477":8789,"_42479":3268,"_42481":2895,"_42483":3466,"_42485":3060,"_42487":2563,"_42489":10465,"_42491":8207,"_42493":3520,"_42495":2458,"_42497":2456,"_42499":3649,"_42501":24067,"_42503":2273,"_42505":2860,"_42507":7274,"_42509":31664,"_42511":2416,"_42513":3582,"_42515":2635,"_42517":6633,"_42519":3606,"_42521":3652,"_42523":4488,"_42525":3577,"_42527":5587,"_42529":3063,"_42531":2539,"_42533":3376,"_42535":2453,"_42537":3187,"_42539":8765,"_42541":3953,"_42543":19890,"_42545":4848,"_42547":7273,"_42549":3773,"_42551":8463,"_42553":5479,"_42555":2633,"_42557":7322,"_42559":12751,"_42561":2674,"_42563":14668,"_11309":7721,"_42566":2797,"_42568":2759,"_42570":2885,"_42572":3714,"_42574":2407,"_42576":2784,"_42578":2888,"_42580":3224,"_12634":17149,"_42583":33895,"_42585":5883,"_42587":4095,"_42589":3602,"_42591":3676,"_42593":3556,"_42595":6349,"_42597":15628,"_42599":2771,"_42601":6260,"_42603":6084,"_42605":3946,"_42607":5875,"_42609":2721,"_42611":2722,"_42613":2723,"_42615":2724,"_42617":2725,"_42619":24174,"_42621":3489,"_42623":6096,"_42625":2857,"_42627":3406,"_42629":5995,"_42631":2714,"_42633":2303,"_42635":3478,"_42637":6095,"_42639":2719,"_42641":3405,"_42643":2250,"_42645":2713,"_42647":3558,"_42649":2498,"_42651":2757,"_42653":4937,"_42655":4778,"_42657":8266,"_42659":4779,"_42661":3518,"_42663":5778,"_42665":3560,"_42667":36118,"_42669":33869,"_42671":5235,"_42673":3804,"_42675":2837,"_42677":2603,"_42679":21042,"_42681":20790,"_42683":13678,"_42685":7770,"_42687":3615,"_42689":2568,"_42691":5396,"_42693":2902,"_42695":5699,"_42697":2490,"_42699":4363,"_42701":7738,"_42703":2347,"_42705":4401,"_42707":34158,"_42709":6106,"_42711":2901,"_42713":3798,"_42715":2457,"_42717":2667,"_42719":13226,"_42721":24731,"_42723":2827,"_42725":3943,"_42727":2790,"_42729":3385,"_42731":2791,"_42733":2993,"_42735":3540,"_42737":16540,"_42739":2726,"_42741":2423,"_42743":4468,"_42745":16718,"_42747":2832,"_42749":2617,"_42751":11275,"_42753":2912,"_42755":3806,"_42757":2911,"_42759":2910,"_36137":2916,"_42762":2915,"_42764":2914,"_42766":2913,"_42768":2520,"_42770":2712,"_42772":4498,"_42774":11268,"_42776":15117,"_42778":3608,"_42780":2908,"_42782":2737,"_42784":2408,"_42786":2330,"_42788":5777,"_42790":5513,"_42792":4372,"_42794":17151,"_42796":2658,"_42798":3610,"_42800":3432,"_42802":6053,"_42804":7552,"_42806":2499,"_36615":2898,"_42809":13080,"_42811":2255,"_42813":4396,"_42815":6864,"_42817":2613,"_42819":3645,"_42821":3587,"_42823":6014,"_42825":58616,"_42827":11280,"_42829":7021,"_42831":5994,"_42833":15621,"_42835":23957,"_42837":2256,"_42839":2812,"_42841":2595,"_42843":2839,"_42845":3476,"_42847":3790,"_42849":32540,"_42851":2838,"_42853":15027,"_42855":3027,"_42857":3501,"_42859":4376,"_42861":2897,"_42863":2689,"_42865":3801,"_42867":3938,"_42869":4044,"_42871":2654,"_42873":4646,"_42875":23800,"_42877":3262,"_42879":2652,"_42881":7606,"_42883":4540,"_42885":3636,"_42887":16717,"_42889":17549,"_42891":6083,"_42893":3654,"_42895":2909,"_42897":17143,"_42899":3292,"_42901":13741,"_42903":14153,"_42905":3233,"_42907":4518,"_42909":7548,"_42911":6090,"_42913":5186,"_42915":3424,"_42917":2701,"_42919":11269,"_42921":2316,"_42923":32991,"_42925":2352,"_42927":2600,"_42929":3421,"_42931":6094,"_42933":9013,"_42935":25676,"_42937":2322,"_42939":2321,"_42941":2862,"_42943":3403,"_42945":12661,"_42947":4251,"_42949":3350,"_42951":4367,"_42953":2747,"_42955":2822,"_42957":2565,"_42959":6897,"_42961":8206,"_42963":2760,"_42965":36146,"_42967":2818,"_42969":5392,"_42971":3936,"_42973":14169,"_42975":12662,"_42977":3190,"_42979":18039,"_42981":4412,"_42983":6074,"_42985":13345,"_42987":23254,"_42989":2753,"_42991":15526,"_42993":2353,"_42995":28820,"_42997":2989,"_42999":2826,"_43001":2744,"_43003":13344,"_43005":30797,"_43007":3237,"_43009":2777,"_36684":13757,"_43012":3939,"_43014":16541,"_43016":21506,"_43018":7038,"_43020":2754,"_43022":2607,"_43024":4379,"_43026":7362,"_43028":3578,"_43030":2880,"_43032":2302,"_43034":2448,"_43036":3567,"_43038":2742,"_43040":3593,"_43042":25061,"_43044":4377,"_43046":2296,"_36678":2890,"_43049":4347,"_43051":2413,"_43053":35815,"_43055":2977,"_43057":9691,"_43059":7718,"_43061":17141,"_43063":4597,"_43065":17158,"_43067":6325,"_43069":13116,"_43071":2870,"_43073":2942,"_43075":2371,"_43077":4330,"_43079":2894,"_43081":2382,"_43083":2262,"_43085":32277,"_43087":2905,"_43089":2365,"_43091":3414,"_43093":2261,"_43095":2299,"_43097":3739,"_43099":2892,"_43101":6051,"_43103":13340,"_43105":7832,"_43107":4025,"_43109":5996,"_43111":3452,"_43113":4663,"_43115":3778,"_43117":2360,"_43119":3450,"_43121":3451,"_43123":2758,"_43125":2707,"_43127":17535,"_43129":2922,"_43131":3808,"_43133":2706,"_43135":3272,"_43137":2705,"_43139":24572,"_43141":2763,"_43143":13343,"_43145":14775,"_43147":17148,"_43149":2923,"_43151":3499,"_43153":4388,"_43155":3500,"_43157":2805,"_43159":2450,"_43161":3594,"_43163":2807,"_43165":2319,"_43167":3473,"_43169":3940,"_43171":2338,"_43173":2331,"_43175":7547,"_43177":2325,"_43179":4382,"_43181":14665,"_43183":2775,"_43185":2875,"_43187":5986,"_43189":2334,"_43191":6101,"_43193":2414,"_43195":2762,"_43197":5738,"_43199":7567,"_43201":4490,"_43203":6821,"_43205":6005,"_43207":3921,"_43209":5337,"_43211":9016,"_43213":6112,"_43215":3633,"_43217":6006,"_43219":2964,"_43221":11628,"_43223":3635,"_43225":5484,"_43227":5791,"_43229":2963,"_43231":8025,"_43234":10822,"_43236":2741,"_43238":2785,"_43240":3493,"_43242":2994,"_43244":3777,"_43246":3492,"_43248":2630,"_43250":20080,"_43252":13290,"_43254":2229,"_43256":3013,"_43258":2845,"_43260":2639,"_43262":7737,"_43264":3495,"_43266":4031,"_43268":2846,"_43270":2638,"_43272":3359,"_43274":8861,"_43276":2442,"_43278":3446,"_43280":15318,"_43282":2324,"_43284":8296,"_43286":6134,"_43288":31488,"_43290":2420,"_43292":2614,"_43294":6027,"_43296":6071,"_43298":2417,"_43300":2863,"_43302":2351,"_43304":5389,"_43306":7834,"_43308":5388,"_43310":26213,"_43312":2359,"_43314":3464,"_43316":7276,"_43318":2646,"_43320":2308,"_43322":2664,"_43324":3949,"_43326":3783,"_43328":4772,"_43330":3584,"_43332":3887,"_43334":2847,"_43336":6093,"_43339":2984,"_43341":10668,"_43343":2919,"_43345":7182,"_43347":2983,"_43349":3477,"_43351":3482,"_43353":2644,"_43355":5874,"_43357":2259,"_43359":4390,"_43361":3409,"_43363":2816,"_43365":2941,"_43367":7557,"_43369":2781,"_43371":3569,"_43373":12960,"_43375":5335,"_43377":3562,"_43379":4375,"_43381":13333,"_43383":3595,"_43385":29190,"_43387":2920,"_43389":7544,"_43391":7361,"_43393":2947,"_43396":2929,"_43398":2626,"_43400":2876,"_43402":3809,"_43404":3483,"_43406":2877,"_43408":14684,"_43410":2943,"_43412":3240,"_43414":4434,"_43416":2814,"_43418":2605,"_43420":4371,"_43422":2982,"_43424":2555,"_43426":3374,"_43428":3779,"_43430":2551,"_43432":17883,"_43434":2981,"_43436":5987,"_43438":2404,"_43440":2988,"_43442":3519,"_43444":6080,"_43446":4825,"_43448":2673,"_43450":2492,"_43452":2903,"_43454":5999,"_43456":3425,"_43458":2655,"_43461":2597,"_43463":2798,"_43465":29949,"_43467":2755,"_43469":3571,"_43471":3044,"_43473":22010,"_43475":2294,"_43477":7559,"_43479":3420,"_43481":2927,"_43483":2938,"_43485":2591,"_43487":13250,"_43489":6022,"_43491":2831,"_43493":17156,"_43495":2441,"_43497":3383,"_43499":29686,"_43501":23128,"_43503":3776,"_43505":2260,"_43507":19627,"_43509":12245,"_43511":9863,"_43513":2581,"_43515":2584,"_43517":3204,"_43519":6898,"_43521":2363,"_43523":3947,"_43525":2254,"_43527":2819,"_43529":2258,"_43531":5594,"_43533":3945,"_43535":2869,"_43537":3379,"_43539":23973,"_43541":18156,"_43543":20682,"_43545":2230,"_43547":28364,"_43549":21663,"_43551":2231,"_43553":16199,"_43555":4366,"_43557":11273,"_43559":10843,"_43561":4381,"_43563":6076,"_43565":3390,"_43567":2424,"_43569":5881,"_43571":25994,"_43573":17645,"_43575":6216,"_43577":8746,"_43579":17646,"_43581":6263,"_43583":2872,"_43585":5745,"_43587":9890,"_43589":7540,"_43591":2873,"_43593":3458,"_43595":36160,"_43597":3637,"_43599":2868,"_43601":2497,"_43603":6103,"_43605":3494,"_43607":3955,"_43609":2871,"_43611":3599,"_43613":8822,"_43615":11276,"_43617":2586,"_43619":5236,"_43621":2867,"_43623":3574,"_43625":3104,"_43627":2572,"_43629":17152,"_43631":2748,"_43633":11293,"_43635":13039,"_43637":2856,"_43639":3456,"_43641":3461,"_43643":3931,"_43645":2337,"_43647":12994,"_43649":2585,"_43651":11281,"_43653":3361,"_43655":2985,"_43657":3526,"_43659":3393,"_43661":3600,"_43663":7539,"_43665":6000,"_43667":3189,"_43669":5477,"_43671":7542,"_43673":16940,"_43675":2608,"_43677":3157,"_43679":20543,"_43681":36465,"_43683":18475,"_43685":3422,"_43687":25062,"_43689":3529,"_43691":13307,"_43693":2521,"_43695":2612,"_43697":33425,"_43699":2628,"_43701":4391,"_43703":2511,"_43705":6653,"_43707":23183,"_43709":2566,"_43711":11174,"_43713":7556,"_43715":3512,"_43717":4845,"_43719":8273,"_43721":3435,"_43723":2486,"_43725":8208,"_43727":2889,"_43729":31515,"_43731":37052,"_43733":2401,"_43735":2516,"_43737":18917,"_43739":3401,"_43741":2242,"_43743":3768,"_43745":2243,"_43747":2244,"_43749":3052,"_43751":14690,"_43753":3055,"_43755":3054,"_43757":5391,"_43759":4457,"_43761":3522,"_43763":7551,"_43765":15028,"_43767":25060,"_43769":5643,"_43771":2788,"_43773":2825,"_43775":7257,"_43777":13109,"_43779":2787,"_43781":7545,"_43783":2332,"_43785":2333,"_43787":11267,"_43789":2743,"_43791":2485,"_43793":4378,"_43795":2447,"_43797":28159,"_43799":2786,"_43801":3426,"_43803":2484,"_43805":2900,"_43807":3653,"_43809":3521,"_43811":7537,"_43813":7538,"_43815":5334,"_43817":18918,"_43819":6073,"_43821":2245,"_43823":7786,"_43825":2246,"_43827":2247,"_43829":3402,"_43831":4458,"_43833":6415,"_43835":26397,"_43837":3544,"_43839":6105,"_43841":23237,"_43843":19246,"_43845":36179,"_43847":17452,"_43849":13758,"_43851":22726,"_43853":2829,"_43855":4738,"_43857":36167,"_43859":3561,"_43861":2452,"_43863":36503,"_43865":6052,"_43867":2517,"_43869":4414,"_43871":14666,"_43873":2518,"_43875":2495,"_43877":16841,"_43879":3161,"_43881":3265,"_43883":4331,"_43885":4397,"_43887":2248,"_43889":14933,"_43891":13237,"_43893":3412,"_43895":3780,"_43897":2391,"_43899":4595,"_43901":6081,"_43903":9391,"_43905":3503,"_43907":2557,"_43909":11270,"_43911":3550,"_43913":3551,"_43915":3799,"_43917":2727,"_43919":2616,"_43921":3418,"_43923":24839,"_43925":5884,"_43927":6736,"_43929":3059,"_43931":17138,"_43933":2275,"_43935":3930,"_43937":3416,"_43939":2276,"_43941":2277,"_43943":17140,"_43945":2279,"_43947":2280,"_43949":3417,"_43951":2281,"_43953":3358,"_43955":2283,"_43957":2284,"_43959":2286,"_43961":2287,"_43963":2289,"_43965":2290,"_43967":3771,"_43969":2291,"_43971":3256,"_43973":2350,"_43975":5985,"_43977":15118,"_43979":3427,"_43981":9607,"_43983":26321,"_43985":3782,"_43987":6085,"_43989":2547,"_43991":2587,"_43993":8008,"_43995":2643,"_43997":2836,"_43999":3388,"_44001":4427,"_44003":2864,"_44005":3805,"_44007":7996,"_44009":2295,"_44011":3179,"_44013":10374,"_44015":2854,"_44017":2272,"_44019":2750,"_44021":2751,"_44023":5932,"_44025":2533,"_44027":3982,"_44029":5023,"_44031":2935,"_44033":4938,"_44035":2505,"_44037":2558,"_44039":3603,"_44041":2580,"_44043":5190,"_44045":6097,"_44047":3380,"_44049":6098,"_44051":2928,"_44053":2728,"_44055":34450,"_44057":2615,"_44059":3057,"_44061":3212,"_44063":2305,"_44065":6299,"_44067":3177,"_44069":2320,"_44071":2274,"_44073":10124,"_44075":2634,"_44077":7558,"_44079":3769,"_44081":5538,"_44083":12933,"_44085":2642,"_44087":4244,"_44089":6087,"_44091":3525,"_44093":3178,"_44095":2936,"_44097":17139,"_44099":2820,"_44101":4464,"_44103":9555,"_44105":3770,"_44107":2278,"_44109":2318,"_44111":2437,"_44113":28594,"_44115":3952,"_44117":31447,"_44119":5393,"_44121":4380,"_44123":12754,"_44125":2940,"_44127":11453,"_44129":2445,"_44131":5097,"_44133":6050,"_44135":3404,"_44137":2861,"_44139":36192,"_44141":7543,"_44143":36139,"_44145":3563,"_44147":3648,"_44149":6652,"_44151":2282,"_44153":27284,"_44155":4404,"_44157":2990,"_44159":2285,"_44161":3453,"_44163":3363,"_44165":3056,"_44167":2537,"_44169":4486,"_44171":4487,"_44173":2288,"_44175":2538,"_44177":2575,"_44179":6102,"_44181":3419,"_44183":12927,"_44185":5984,"_44187":2389,"_44189":6091,"_44191":17451,"_44193":3255,"_44195":4408,"_44197":3257,"_44199":2703,"_44201":18890,"_44203":2934,"_44205":2978,"_44207":2858,"_44209":26332,"_44211":2483,"_44213":2933,"_44215":4406,"_44217":4405,"_44219":2528,"_44221":2859,"_44223":2588,"_44225":2752,"_44227":14667,"_44229":12601,"_44231":2932,"_44233":3394,"_44235":3506,"_44237":3035,"_44239":3509,"_44241":13530,"_44243":2865,"_44245":2995,"_44247":3038,"_44249":2471,"_44251":2481,"_44253":8209,"_44255":2461,"_44257":2472,"_44259":2462,"_44261":4327,"_44263":3367,"_44265":3491,"_44267":3366,"_44269":2463,"_44271":2476,"_44273":2475,"_44275":3675,"_44277":2468,"_44279":2467,"_44281":2729,"_44283":27963,"_44285":2477,"_44287":2466,"_44289":2474,"_44291":2464,"_44293":6681,"_44295":2480,"_44297":2470,"_44299":6115,"_44301":3158,"_44303":4328,"_44305":2478,"_44307":3213,"_44309":2469,"_44311":2479,"_44313":13761,"_44315":2465,"_44317":2460,"_44319":22669,"_44321":2473,"_44323":3490,"_44325":2578,"_44327":26245,"_44329":7565,"_44331":8834,"_44333":3062,"_44335":6114,"_44337":30633,"_44339":3261,"_44341":4497,"_44343":11279,"_44345":24173,"_44347":4403,"_44349":5993,"_44351":3661,"_44353":14954,"_44355":25612,"_44357":2362,"_44359":11284,"_44361":4385,"_44363":11283,"_44365":4365,"_44367":7828,"_44369":11282,"_44371":5779,"_44373":2778,"_44375":2850,"_44377":2921,"_44379":10123,"_44381":2930,"_44383":3958,"_44385":13073,"_44387":3613,"_44389":2645,"_44391":2307,"_44393":2663,"_44395":4826,"_44397":4389,"_44399":3523,"_44401":3140,"_44403":2379,"_44405":29433,"_44407":2429,"_44409":6975,"_44411":3186,"_44413":2716,"_44415":4245,"_44417":21646,"_44419":3479,"_44421":2300,"_44423":2944,"_44425":7200,"_44427":18708,"_44429":2739,"_44431":13239,"_44433":4596,"_44435":7517,"_44437":7454,"_44439":27835,"_44441":25514,"_44443":3156,"_44445":35285,"_44447":4463,"_44449":2828,"_44451":20293,"_44453":3612,"_44455":3154,"_44457":18270,"_44459":3576,"_44461":2306,"_44463":2440,"_44465":6682,"_44467":5321,"_44469":3557,"_44471":3362,"_44473":3449,"_44475":4329,"_44477":2526,"_44479":8836,"_44481":3505,"_44483":4399,"_44485":2304,"_44487":4369,"_44489":5216,"_44491":2833,"_44493":17144,"_44495":4387,"_44497":30796,"_44499":23121,"_44501":22030,"_44503":2418,"_44505":2878,"_44507":2579,"_44509":3527,"_44511":7719,"_44513":2301,"_44515":8553,"_44517":2937,"_44519":2510,"_44521":4459,"_44523":4252,"_44525":2509,"_44527":2772,"_44529":36153,"_44531":2571,"_44533":16539,"_44535":30328,"_44537":36125,"_44539":2740,"_44541":3980,"_44543":2253,"_44545":8860,"_44547":2252,"_44549":36132,"_44551":2488,"_44553":15932,"_44555":6458,"_44557":3153,"_44559":33894,"_16417":18751,"_44562":2773,"_44564":2349,"_44566":25214,"_44568":2503,"_44570":6920,"_44572":2746,"_44574":2893,"_44576":3533,"_44578":2824,"_44580":27929,"_44582":3772,"_44584":2491,"_44586":2249,"_44588":3616,"_16490":2946,"_44591":3781,"_44593":26638,"_44595":2405,"_44597":4413,"_44599":18269,"_44601":22218,"_44603":2834,"_44605":8766,"_44607":13238,"_44609":3480,"_44611":2556,"_44613":29923,"_44615":2601,"_44617":2796,"_44619":6077,"_44621":2592,"_44623":3474,"_44625":2688,"_44627":2532,"_44629":3447,"_44631":7788,"_44633":3236,"_44635":3524,"_44637":7164,"_44639":2640,"_44641":2823,"_44643":5057,"_44645":5992,"_44647":2830,"_44649":2804,"_44651":2815,"_44653":2986,"_44655":4645,"_44657":3372,"_44659":3614,"_44661":4373,"_44663":2428,"_44665":26403,"_44667":2370,"_44669":2809,"_44671":11274,"_44673":9534,"_44675":4325,"_44677":30596,"_44679":2504,"_44681":3791,"_44683":30340,"_44685":9949,"_44687":2237,"_44689":2410,"_44691":2738,"_44693":7974,"_44695":3542,"_44697":4131,"_44699":13342,"_44701":3082,"_44703":10686,"_44705":15256,"_44707":28365,"_44709":17155,"_44711":2412,"_44713":2848,"_44715":6561,"_44717":2589,"_44719":2493,"_44721":18004,"_44723":3387,"_44725":3792,"_44727":3793,"_44729":4470,"_44731":15622,"_44733":16934,"_44735":10381,"_44737":2734,"_44739":3299,"_36662":12826,"_44742":3428,"_44744":3429,"_44746":2559,"_44748":4467,"_44750":2730,"_44752":12814,"_44754":5478,"_44756":2560,"_37339":9069,"_44759":3951,"_44761":2731,"_44763":12807,"_44765":2708,"_44767":3430,"_44769":10358,"_44771":6978,"_37329":12800,"_44774":2496,"_44776":2732,"_44778":3536,"_37349":2709,"_44781":2979,"_44783":3788,"_37365":29244,"_44786":2735,"_44788":36504,"_37354":2733,"_44791":2999,"_44793":8052,"_44795":4336,"_44797":4475,"_44799":10337,"_44801":6003,"_44803":8024,"_44805":6004,"_44807":9892,"_44809":7158,"_44811":7883,"_44813":4605,"_44815":3631,"_44817":4474,"_44819":3632,"_44821":6111,"_44823":6820,"_44825":10320,"_44827":2793,"_44829":2427,"_44831":2421,"_44833":2792,"_44835":30894,"_44837":21549,"_44839":6301,"_44841":4827,"_44843":4159,"_44845":3627,"_44847":4335,"_16496":5895,"_44850":11884,"_44852":6110,"_44854":3810,"_44856":3629,"_44858":3300,"_44860":3163,"_44862":3630,"_44864":6266,"_44866":11440,"_44868":11416,"_44870":8674,"_44872":2960,"_44874":5858,"_44876":8675,"_44878":8053,"_44880":9015,"_44882":12420,"_44884":4828,"_44886":7419,"_44888":6659,"_44890":3164,"_44892":11674,"_44894":8673,"_44896":6002,"_44898":8361,"_44900":12436,"_44902":3239,"_44904":8151,"_44906":4113,"_44908":17159,"_44910":15370,"_44912":30896,"_44914":8300,"_44916":21553,"_44918":7754,"_44920":7562,"_44922":5482,"_44924":3395,"_44926":3628,"_44928":6122,"_44930":11287,"_44932":10641,"_44934":2996,"_44936":7706,"_44938":5193,"_44940":11180,"_44942":2997,"_44944":11878,"_44946":2998,"_44948":2961,"_44950":8022,"_44952":2950,"_44954":22011,"_44956":17735,"_44958":4598,"_44960":3626,"_44962":2951,"_44964":7157,"_44966":12298,"_44968":7564,"_44970":5483,"_44972":4851,"_44974":11736,"_44976":7561,"_44978":7563,"_44980":8023,"_44982":6109,"_44984":12092,"_44986":21550,"_44988":2949,"_44990":2953,"_44992":3617,"_44994":25336,"_44996":17733,"_44998":30895,"_45000":17734,"_45002":9894,"_45004":21551,"_45006":25337,"_45008":17736,"_45010":9896,"_45012":17737,"_45014":22013,"_45016":31538,"_45018":4415,"_45020":8741,"_45022":11285,"_45024":6001,"_45026":11408,"_45028":3162,"_45030":5191,"_45032":12127,"_45034":3625,"_45036":2959,"_45038":11582,"_45040":6107,"_45042":4217,"_45044":2954,"_45046":2955,"_45048":9891,"_45050":9893,"_45052":8299,"_45054":22012,"_45056":9895,"_45058":30897,"_45060":31537,"_45062":25338,"_45064":30898,"_45066":8301,"_45068":17738,"_45070":4922,"_45072":9014,"_45074":4334,"_45076":3618,"_45078":3619,"_45080":11981,"_45082":5336,"_45084":8021,"_45086":3620,"_45088":3621,"_45090":3623,"_45092":8367,"_45094":7634,"_45096":7560,"_45098":5192,"_45100":12007,"_45102":6923,"_45104":6819,"_45106":3622,"_45108":8428,"_45110":2952,"_45112":5481,"_37455":12049,"_45115":4473,"_45117":21552,"_45119":9897,"_45121":3238,"_45123":3624,"_45125":11286,"_45127":2956,"_45129":6640,"_45131":6683,"_45133":6108,"_45135":2957,"_45137":2958,"_45139":6200},0,"orderedDocs",[58619,58620,58621,58622,58623,58624,58625,58626,58627,58628,58629,58630,58631,58632,58633,58634,58635,58636,58637,58638,58639,58640,58641,58642,58643,58644,58645,58646,58647,58648,58649,58650,58651,58652,58653,58654,58655,58656,58657,58658,58659,58660,58661,58662,58663,58664,58665,58666,58667,58668,58669,58670,58671,58672,58673,58674,58675,58676,58677,58678,58679,58680,58681,58682,58683,58684,58685,58686,58687,58688,58689,58690,58691,58692,58693,58694,58695,58696,58697,58698,58699,58700,58701,58702,58703,58704,58705,58706,58707,58708,58709,58710,58711,58712,58713,58714,58715,58716,58717,58718,58719,58720,58721,58722,58723,58724,58725,58726,58727,58728,58729,58730,58731,58732,58733,58734,58735,58736,58737,58738,58739,58740,58741,58742,58743,58744,58745,58746,58747,58748,58749,58750,58751,58752,58753,58754,58755,58756,58757,58758,58759,58760,58761,58762,58763,58764,58765,58766,58767,58768,58769,58770,58771,58772,58773,58774,58775,58776,58777,58778,58779,58780,58781,58782,58783,58784,58785,58786,58787,58788,58789,58790,58791,58792,58793,58794,58795,58796,58797,58798,58799,58800,58801,58802,58803,58804,58805,58806,58807,58808,58809,58810,58811,58812,58813,58814,58815,58816,58817,58818,58819,58820,58821,58822,58823,58824,58825,58826,58827,58828,58829,58830,58831,58832,58833,58834,58835,58836,58837,58838,58839,58840,58841,58842,58843,58844,58845,58846,58847,58848,58849,58850,58851,58852,58853,58854,58855,58856,58857,58858,58859,58860,58861,58862,58863,58864,58865,58866,58867,58868,58869,58870,58871,58872,58873,58874,58875,58876,58877,58878,58879,58880,58881,58882,58883,58884,58885,58886,58887,58888,58889,58890,58891,58892,58893,58894,58895,58896,58897,58898,58899,58900,58901,58902,58903,58904,58905,58906,58907,58908,58909,58910,58911,58912,58913,58914,58915,58916,58917,58918,58919,58920,58921,58922,58923,58924,58925,58926,58927,58928,58929,58930,58931,58932,58933,58934,58935,58936,58937,58938,58939,58940,58941,58942,58943,58944,58945,58946,58947,58948,58949,58950,58951,58952,58953,58954,58955,58956,58957,58958,58959,58960,58961,58962,58963,58964,58965,58966,58967,58968,58969,58970,58971,58972,58973,58974,58975,58976,58977,58978,58979,58980,58981,58982,58983,58984,58985,58986,58987,58988,58989,58990,58991,58992,58993,58994,58995,58996,58997,58998,58999,59000,59001,59002,59003,59004,59005,59006,59007,59008,59009,59010,59011,59012,59013,59014,59015,59016,59017,59018,59019,59020,59021,59022,59023,59024,59025,59026,59027,59028,59029,59030,59031,59032,59033,59034,59035,59036,59037,59038,59039,59040,59041,59042,59043,59044,59045,59046,59047,59048,59049,59050,59051,59052,59053,59054,59055,59056,59057,59058,59059,59060,59061,59062,59063,59064,59065,59066,59067,59068,59069,59070,59071,59072,59073,59074,59075,59076,59077,59078,59079,59080,59081,59082,59083,59084,59085,59086,59087,59088,59089,59090,59091,59092,59093,59094,59095,59096,59097,59098,59099,59100,59101,59102,59103,59104,59105,59106,59107,59108,59109,59110,59111,59112,59113,59114,59115,59116,59117,59118,59119,59120,59121,59122,59123,59124,59125,59126,59127,59128,59129,59130,59131,59132,59133,59134,59135,59136,59137,59138,59139,59140,59141,59142,59143,59144,59145,59146,59147,59148,59149,59150,59151,59152,59153,59154,59155,59156,59157,59158,59159,59160,59161,59162,59163,59164,59165,59166,59167,59168,59169,59170,59171,59172,59173,59174,59175,59176,59177,59178,59179,59180,59181,59182,59183,59184,59185,59186,59187,59188,59189,59190,59191,59192,59193,59194,59195,59196,59197,59198,59199,59200,59201,59202,59203,59204,59205,59206,59207,59208,59209,59210,59211,59212,59213,59214,59215,59216,59217,59218,59219,59220,59221,59222,59223,59224,59225,59226,59227,59228,59229,59230,59231,59232,59233,59234,59235,59236,59237,59238,59239,59240,59241,59242,59243,59244,59245,59246,59247,59248,59249,59250,59251,59252,59253,59254,59255,59256,59257,59258,59259,59260,59261,59262,59263,59264,59265,59266,59267,59268,59269,59270,59271,59272,59273,59274,59275,59276,59277,59278,59279,59280,59281,59282,59283,59284,59285,59286,59287,59288,59289,59290,59291,59292,59293,59294,59295,59296,59297,59298,59299,59300,59301,59302,59303,59304,59305,59306,59307,59308,59309,59310,59311,59312,59313,59314,59315,59316,59317,59318,59319,59320,59321,59322,59323,59324,59325,59326,59327,59328,59329,59330,59331,59332,59333,59334,59335,59336,59337,59338,59339,59340,59341,59342,59343,59344,59345,59346,59347,59348,59349,59350,59351,59352,59353,59354,59355,59356,59357,59358,59359,59360,59361,59362,59363,59364,59365,59366,59367,59368,59369,59370,59371,59372,59373,59374,59375,59376,59377,59378,59379,59380,59381,59382,59383,59384,59385,59386,59387,59388,59389,59390,59391,59392,59393,59394,59395,59396,59397,59398,59399,59400,59401,59402,59403,59404,59405,59406,59407,59408,59409,59410,59411,59412,59413,59414,59415,59416,59417,59418,59419,59420,59421,59422,59423,59424,59425,59426,59427,59428,59429,59430,59431,59432,59433,59434,59435,59436,59437,59438,59439,59440,59441,59442,59443,59444,59445,59446,59447,59448,59449,59450,59451,59452,59453,59454,59455,59456,59457,59458,59459,59460,59461,59462,59463,59464,59465,59466,59467,59468,59469,59470,59471,59472,59473,59474,59475,59476,59477,59478,59479,59480,59481,59482,59483,59484,59485,59486,59487,59488,59489,59490,59491,59492,59493,59494,59495,59496,59497,59498,59499,59500,59501,59502,59503,59504,59505,59506,59507,59508,59509,59510,59511,59512,59513,59514,59515,59516,59517,59518,59519,59520,59521,59522,59523,59524,59525,59526,59527,59528,59529,59530,59531,59532,59533,59534,59535,59536,59537,59538,59539,59540,59541,59542,59543,59544,59545,59546,59547,59548,59549,59550,59551,59552,59553,59554,59555,59556,59557,59558,59559,59560,59561,59562,59563,59564,59565,59566,59567,59568,59569,59570,59571,59572,59573,59574,59575,59576,59577,59578,59579,59580,59581,59582,59583,59584,59585,59586,59587,59588,59589,59590,59591,59592,59593,59594,59595,59596,59597,59598,59599,59600,59601,59602,59603,59604,59605,59606,59607,59608,59609,59610,59611,59612,59613,59614,59615,59616,59617,59618,59619,59620,59621,59622,59623,59624,59625,59626,59627,59628,59629,59630,59631,59632,59633,59634,59635,59636,59637,59638,59639,59640,59641,59642,59643,59644,59645,59646,59647,59648,59649,59650,59651,59652,59653,59654,59655,59656,59657,59658,59659,59660,59661,59662,59663,59664,59665,59666,59667,59668,59669,59670,59671,59672,59673,59674,59675,59676,59677,59678,59679,59680,59681,59682,59683,59684,59685,59686,59687,59688,59689,59690,59691,59692,59693,59694,59695,59696,59697,59698,59699,59700,59701,59702,59703,59704,59705,59706,59707,59708,59709,59710,59711,59712,59713,59714,59715,59716,59717,59718,59719,59720,59721,59722,59723,59724,59725,59726,59727,59728,59729,59730,59731,59732,59733,59734,59735,59736,59737,59738,59739,59740,59741,59742,59743,59744,59745,59746,59747,59748,59749,59750,59751,59752,59753,59754,59755,59756,59757,59758,59759,59760,59761,59762,59763,59764,59765,59766,59767,59768,59769,59770,59771,59772,59773,59774,59775,59776,59777,59778,59779,59780,59781,59782,59783,59784,59785,59786,59787,59788,59789,59790,59791,59792,59793,59794,59795,59796,59797,59798,59799,59800,59801,59802,59803,59804,59805,59806,59807,59808,59809,59810,59811,59812,59813,59814,59815,59816,59817,59818,59819,59820,59821,59822,59823,59824,59825,59826,59827,59828,59829,59830,59831,59832,59833,59834,59835,59836,59837,59838,59839,59840,59841,59842,59843,59844,59845,59846,59847,59848,59849,59850,59851,59852,59853,59854,59855,59856,59857,59858,59859,59860,59861,59862,59863,59864,59865,59866,59867,59868,59869,59870,59871,59872,59873,59874,59875,59876,59877,59878,59879,59880,59881,59882,59883,59884,59885,59886,59887,59888,59889,59890,59891,59892,59893,59894,59895,59896,59897,59898,59899,59900,59901,59902,59903,59904,59905,59906,59907,59908,59909,59910,59911,59912,59913,59914,59915,59916,59917,59918,59919,59920,59921,59922,59923,59924,59925,59926,59927,59928,59929,59930,59931,59932,59933,59934,59935,59936,59937,59938,59939,59940,59941,59942,59943,59944,59945,59946,59947,59948,59949,59950,59951,59952,59953,59954,59955,59956,59957,59958,59959,59960,59961,59962,59963,59964,59965,59966,59967,59968,59969,59970,59971,59972,59973,59974,59975,59976,59977,59978,59979,59980,59981,59982,59983,59984,59985,59986,59987,59988,59989,59990,59991,59992,59993,59994,59995,59996,59997,59998,59999,60000,60001,60002,60003,60004,60005,60006,60007,60008,60009,60010,60011,60012,60013,60014,60015,60016,60017,60018,60019,60020,60021,60022,60023,60024,60025,60026,60027,60028,60029,60030,60031,60032,60033,60034,60035,60036,60037,60038,60039,60040,60041,60042,60043,60044,60045,60046,60047,60048,60049,60050,60051,60052,60053,60054,60055,60056,60057,60058,60059,60060,60061,60062,60063,60064,60065,60066,60067,60068,60069,60070,60071,60072,60073,60074,60075,60076,60077,60078,60079,60080,60081,60082,60083,60084,60085,60086,60087,60088,60089,60090,60091,60092,60093,60094,60095,60096,60097,60098,60099,60100,60101,60102,60103,60104,60105,60106,60107,60108,60109,60110,60111,60112,60113,60114,60115,60116,60117,60118,60119,60120,60121,60122,60123,60124,60125,60126,60127,60128,60129,60130,60131,60132,60133,60134,60135,60136,60137,60138,60139,60140,60141,60142,60143,60144,60145,60146,60147,60148,60149,60150,60151,60152,60153,60154,60155,60156,60157,60158,60159,60160,60161,60162,60163,60164,60165,60166,60167,60168,60169,60170,60171,60172,60173,60174,60175,60176,60177,60178,60179,60180,60181,60182,60183,60184,60185,60186,60187,60188,60189,60190,60191,60192,60193,60194,60195,60196,60197,60198,60199,60200,60201,60202,60203,60204,60205,60206,60207,60208,60209,60210,60211,60212,60213,60214,60215,60216,60217,60218,60219,60220,60221,60222,60223,60224,60225,60226,60227,60228,60229,60230,60231,60232,60233,60234,60235,60236,60237,60238,60239,60240,60241,60242,60243,60244,60245,60246,60247,60248,60249,60250,60251,60252,60253,60254,60255,60256,60257,60258,60259,60260,60261,60262,60263,60264,60265,60266,60267,60268,60269,60270,60271,60272,60273,60274,60275,60276,60277,60278,60279,60280,60281,60282,60283,60284,60285,60286,60287,60288,60289,60290,60291,60292,60293,60294,60295,60296,60297,60298,60299,60300,60301,60302,60303,60304,60305,60306,60307,60308,60309,60310,60311,60312,60313,60314,60315,60316,60317,60318,60319,60320,60321,60322,60323,60324,60325,60326,60327,60328,60329,60330,60331,60332,60333,60334,60335,60336,60337,60338,60339,60340,60341,60342,60343,60344,60345,60346,60347,60348,60349,60350,60351,60352,60353,60354,60355,60356,60357,60358,60359,60360,60361,60362,60363,60364,60365,60366,60367,60368,60369,60370,60371,60372,60373,60374,60375,60376,60377,60378,60379,60380,60381,60382,60383,60384,60385,60386,60387,60388,60389,60390,60391,60392,60393,60394,60395,60396,60397,60398,60399,60400,60401,60402,60403,60404,60405,60406,60407,60408,60409,60410,60411,60412,60413,60414,60415,60416,60417,60418,60419,60420,60421,60422,60423,60424,60425,60426,60427,60428,60429,60430,60431,60432,60433,60434,60435,60436,60437,60438,60439,60440,60441,60442,60443,60444,60445,60446,60447,60448,60449,60450,60451,60452,60453,60454,60455,60456,60457,60458,60459,60460,60461,60462,60463,60464,60465,60466,60467,60468,60469,60470,60471,60472,60473,60474,60475,60476,60477,60478,60479,60480,60481,60482,60483,60484,60485,60486,60487,60488,60489,60490,60491,60492,60493,60494,60495,60496,60497,60498,60499,60500,60501,60502,60503,60504,60505,60506,60507,60508,60509,60510,60511,60512,60513,60514,60515,60516,60517,60518,60519,60520,60521,60522,60523,60524,60525,60526,60527,60528,60529,60530,60531,60532,60533,60534,60535,60536,60537,60538,60539,60540,60541,60542,60543,60544,60545,60546,60547,60548,60549,60550,60551,60552,60553,60554,60555,60556,60557,60558,60559,60560,60561,60562,60563,60564,60565,60566,60567,60568,60569,60570,60571,60572,60573,60574,60575,60576,60577,60578,60579,60580,60581,60582,60583,60584,60585,60586,60587,60588,60589,60590,60591,60592,60593,60594,60595,60596,60597,60598,60599,60600,60601,60602,60603,60604,60605,60606,60607,60608,60609,60610,60611,60612,60613,60614,60615,60616,60617,60618,60619,60620,60621,60622,60623,60624,60625,60626,60627,60628,60629,60630,60631,60632,60633,60634,60635,60636,60637,60638,60639,60640,60641,60642,60643,60644,60645,60646,60647,60648,60649,60650,60651,60652,60653,60654,60655,60656,60657,60658,60659,60660,60661,60662,60663,60664,60665,60666,60667,60668,60669,60670,60671,60672,60673,60674,60675,60676,60677,60678,60679,60680,60681,60682,60683,60684,60685,60686,60687,60688,60689,60690,60691,60692,60693,60694,60695,60696,60697,60698,60699,60700,60701,60702,60703,60704,60705,60706,60707,60708,60709,60710,60711,60712,60713,60714,60715,60716,60717,60718,60719,60720,60721,60722,60723,60724,60725,60726,60727,60728,60729,60730,60731,60732,60733,60734,60735,60736,60737,60738,60739,60740,60741,60742,60743,60744,60745,60746,60747,60748,60749,60750,60751,60752,60753,60754,60755,60756,60757,60758,60759,60760,60761,60762,60763,60764,60765,60766,60767,60768,60769,60770,60771,60772,60773,60774,60775,60776,60777,60778,60779,60780,60781,60782,60783,60784,60785,60786,60787,60788,60789,60790,60791,60792,60793,60794,60795,60796,60797,60798,60799,60800,60801,60802,60803,60804,60805,60806,60807,60808,60809,60810,60811,60812],[3267,54961],[23800,55637],[23799,55634],[3544,55628],[3266,54958],[4331,55631],[13761,53986],[8212,56080],[3950,56086],[10573,56089],[3555,56077],[13238,56083],[6100,56092],[15117,52582],[7454,52585],[4848,52879],[4846,52873],[15118,52588],[4847,52876],[2942,57902],[2435,53749],[2650,55695],[3982,55698],[3795,55686],[35070,55824],[26414,54156],[26415,54156],[13346,55716],[6898,55710],[36118,36116],[36125,36122],[36132,36129],[36139,36136],[36146,36143],[36153,36150],[36160,36157],[36167,36164],[36179,36176],[36192,36189],[2767,56498],[2768,56501],[2748,56389],[7361,56392],[3952,56504],[3953,56504],[15532,56398],[10123,56395],[15526,56401],[3567,56404],[2770,56512],[2769,56509],[5998,56518],[5995,56410],[7362,56407],[5997,56515],[2337,52715],[3568,56416],[7165,56521],[2771,56524],[7552,56413],[10124,56419],[7164,56422],[2772,56527],[2580,55148],[2590,55187],[2785,56610],[2434,53737],[2734,56265],[2826,57038],[2841,57113],[2929,57740],[2536,54655],[2537,54658],[2487,54016],[2457,53873],[2531,54596],[2911,57671],[2914,57680],[2912,57674],[2739,56291],[2546,54694],[2710,56149],[2910,57665],[2913,57677],[2915,57683],[2367,53010],[2830,57050],[2646,55663],[2588,55181],[2586,55175],[2906,57653],[2807,56936],[2713,56158],[2596,55210],[2778,56566],[2508,54408],[2774,56548],[2737,56277],[2828,57044],[2829,57047],[2691,56053],[2232,51835],[2565,54940],[3803,57083],[5056,55326],[3187,53840],[2804,56924],[2534,54635],[5184,5180],[5185,55336],[4970,57555],[2903,57641],[2819,57014],[3161,54979],[2421,53585],[3156,53516],[3154,52259],[3152,52113],[3292,3289],[2703,56110],[2693,56059],[3269,55797],[3270,55797],[3189,56021],[2459,53882],[3186,53709],[2616,55389],[2993,55374],[2989,53100],[2986,53088],[2984,53076],[2374,53097],[2983,53070],[2985,53082],[2980,53061],[2982,53067],[2987,53091],[2988,53094],[2981,53064],[3013,51786],[3035,51790],[3059,52323],[3350,56618],[3082,52283],[3090,52519],[2908,57659],[5699,56782],[5745,56622],[2789,56861],[4681,54221],[3784,54254],[3807,57695],[2628,55535],[3788,54806],[2718,56208],[2254,52089],[3605,57531],[2615,55386],[2509,54430],[2452,53837],[3373,55259],[2481,53989],[3384,56554],[2946,57922],[2705,56119],[2743,56359],[2698,56095],[3675,53977],[3650,54572],[2656,55747],[4363,56678],[4364,56682],[4365,56686],[4366,56690],[2809,56942],[4367,56694],[4368,56698],[2811,56954],[3802,56957],[4369,56702],[2812,56975],[4370,56706],[2813,56981],[4371,56710],[4372,56714],[2816,56993],[4389,56996],[4373,56718],[4374,56722],[4375,56726],[4376,56730],[4377,56734],[4378,56738],[2833,57062],[4379,56742],[4380,56746],[4390,57074],[4381,56750],[3388,57089],[4391,57092],[4382,56754],[3588,57095],[4383,56758],[4362,56674],[4384,56762],[3389,57107],[4385,56766],[4386,56770],[2842,57125],[4387,56774],[2843,57131],[2491,54057],[2805,56927],[2504,54322],[4325,53673],[4332,55975],[3573,56849],[3376,55312],[3649,53864],[2389,53324],[3535,55392],[2881,57481],[2900,57629],[2825,57035],[3948,55292],[3508,54643],[3393,57587],[2806,56930],[3578,56933],[5587,57543],[2927,57734],[5594,57436],[3796,55735],[4937,54244],[4938,54378],[4936,54240],[3774,52594],[4360,52597],[2618,55401],[3486,53843],[4361,52900],[3081,51844],[2290,52414],[3418,52411],[5321,52119],[5190,55916],[2707,56128],[14933,53661],[3553,55981],[22010,55125],[30796,55109],[30797,55109],[5985,52230],[23121,55095],[2678,55947],[2276,52352],[5631,56483],[2736,56274],[2648,55680],[5479,54507],[30596,54881],[2885,57504],[22183,56786],[3436,52742],[18917,51918],[18918,51918],[3584,56999],[30993,55495],[2292,52441],[2808,56939],[2578,55142],[6087,55139],[3158,53938],[3377,55677],[31135,56790],[3594,57143],[15370,57993],[30894,57973],[30895,57973],[30896,57973],[30897,57973],[30898,57973],[2645,55658],[6785,55520],[5186,55340],[4328,53962],[6561,54078],[3051,51889],[2515,54460],[4825,52810],[5960,52801],[8296,52576],[2331,52684],[30633,54900],[2573,55069],[13226,55512],[2758,56456],[5335,56459],[6089,55538],[3800,56018],[2893,57599],[3543,55619],[5512,53576],[2727,56235],[7605,53629],[2484,54007],[2728,56238],[2731,56250],[3516,54922],[13333,53413],[13339,53243],[4347,56365],[13345,55508],[3233,54346],[2386,53225],[13344,54336],[3447,52894],[3932,52897],[7558,57854],[5538,52338],[2286,52393],[2305,52483],[2665,55847],[2861,57401],[2757,56453],[3433,52724],[3522,55033],[13480,13478],[13341,53519],[5881,52287],[13250,53191],[13251,53191],[3776,52696],[2552,54752],[3940,54341],[14690,51953],[3358,52378],[2920,57707],[3551,55932],[8236,52205],[14954,56778],[3265,54952],[14986,57563],[15146,55707],[15027,55117],[3058,52275],[15028,55230],[9692,53701],[3601,57352],[5391,51982],[13741,13739],[3488,53870],[3587,57080],[13757,52270],[5393,52125],[11268,54286],[3498,54269],[13343,54272],[11273,55039],[3054,51970],[13787,54209],[6348,54499],[14153,14151],[2408,53525],[14356,53422],[11277,55671],[11283,55671],[4459,52122],[2301,52468],[2300,52465],[2299,52462],[2298,52459],[2295,52450],[2256,52128],[2297,52456],[2296,52453],[4488,52665],[4457,51985],[6349,54511],[6975,55721],[6978,55721],[12826,55428],[4470,55431],[12807,55422],[12814,55425],[3536,55416],[12800,55419],[13599,55793],[13714,53252],[3285,53234],[2836,57077],[3374,55271],[4252,57793],[3602,57386],[15318,56960],[7828,52766],[2689,56046],[3462,53171],[15621,12805],[2614,55383],[2875,57451],[2393,53345],[2411,53534],[2541,54676],[2410,53531],[2412,53537],[2409,53528],[2542,54682],[2396,53354],[2272,52236],[4461,52242],[3413,52256],[3571,56578],[2938,57872],[2609,55362],[2725,56229],[8834,53203],[4458,51988],[8210,55904],[6216,52540],[2712,56155],[2506,54399],[2358,52924],[6096,55913],[6092,55895],[5057,55777],[7829,53102],[20790,55760],[3599,57340],[2732,56253],[2517,54469],[3614,57851],[3416,52347],[6097,55922],[2278,52361],[23254,55238],[23237,54144],[23238,54144],[7557,57764],[13290,51806],[6736,52319],[24572,56794],[3931,52706],[3140,52996],[23798,52882],[8463,52930],[19627,54266],[23957,12812],[2876,57454],[2414,53543],[2413,53540],[2415,53546],[2612,55371],[23973,23971],[2726,56232],[24000,54725],[24067,24064],[3476,53381],[24256,53166],[13678,54495],[3459,53107],[3559,56185],[2684,55994],[24173,54099],[24174,54099],[7182,57336],[2383,53199],[3545,55726],[6930,57576],[3466,53258],[3467,53258],[3468,53258],[3469,53258],[3470,53258],[3471,53258],[3472,53258],[3473,53258],[3474,53258],[3475,53258],[6053,53304],[6054,53304],[2619,55404],[3448,52927],[3259,52531],[3943,54396],[4645,52751],[2340,52745],[2341,52748],[3407,52134],[3405,52015],[3648,53846],[4772,52307],[2752,56434],[2744,56362],[2406,53405],[3539,55500],[4095,55306],[24784,56306],[2746,56377],[24731,57801],[3502,54310],[3408,52137],[3403,51991],[2566,54946],[3517,54925],[2448,53816],[2446,53810],[3487,53855],[7831,53649],[2442,53785],[9703,53620],[6078,53669],[3590,57116],[2378,53141],[8238,56626],[7517,56630],[2325,52651],[3434,52727],[2745,56371],[2291,52423],[2273,52265],[3215,54257],[5182,52522],[24839,52311],[7546,54213],[4845,52291],[2349,52807],[3645,52819],[2308,52498],[2571,55027],[32277,56383],[3372,54991],[2570,55006],[5392,51994],[3927,52140],[33425,55781],[3380,55919],[3651,54646],[4245,57755],[14465,53705],[3598,57191],[2524,54554],[2662,55836],[3392,57478],[2488,54019],[32538,53653],[2574,55072],[32539,53657],[2575,55075],[2576,55078],[14684,54973],[6415,54976],[3382,56074],[15932,54427],[11259,54503],[6083,54523],[6080,53755],[3248,53761],[29686,57782],[32991,55234],[2877,57457],[5882,52299],[3411,52210],[3533,55332],[3546,55765],[3771,52420],[6049,52239],[8553,56798],[2846,57149],[2887,57510],[2886,57507],[3604,57516],[2818,57011],[3676,57519],[6104,57513],[2294,52447],[2293,52444],[8237,54896],[7830,53119],[8009,57905],[2464,53902],[2950,57937],[8008,55321],[2630,55544],[6300,52921],[3159,54442],[3378,55701],[3805,57614],[2815,56987],[3386,56990],[2306,52489],[2649,55689],[4597,57749],[7737,54136],[7738,54136],[3609,57701],[3646,53313],[3623,58140],[6073,51948],[7549,54812],[3556,56116],[2403,53390],[7544,52763],[7545,52763],[5989,53372],[3622,58137],[3615,57866],[5389,51880],[5388,51877],[2246,51951],[3739,57776],[2388,53319],[2945,57919],[2316,52552],[2486,54013],[2402,53387],[5874,52957],[3427,52624],[7787,54236],[8266,56614],[8273,53279],[2359,52933],[2940,57884],[4664,55719],[2939,57881],[2287,52402],[2755,56445],[7257,53689],[3406,52110],[7273,7271],[4464,53558],[2880,57466],[3647,53828],[2878,57460],[2417,53552],[2416,53549],[2418,53555],[6075,52143],[7322,53456],[7329,53460],[7342,53464],[7343,55785],[3548,55868],[2280,52369],[7510,53255],[7200,56634],[3550,55927],[7092,54225],[2502,54307],[3585,57002],[2333,52690],[2252,52033],[6977,57356],[3607,57547],[3562,56287],[2687,56006],[29685,55667],[17645,54527],[3980,52030],[2257,52131],[2279,52366],[2237,51853],[3387,57029],[2824,57032],[2821,57020],[30104,30102],[2761,56474],[3531,55295],[3768,51933],[3769,52335],[3104,52253],[2391,53333],[2624,55488],[3357,52092],[15256,56572],[29949,54483],[29923,29921],[3954,57056],[3504,54479],[2489,54026],[3674,52771],[3496,54197],[4652,52757],[6682,54423],[6696,54419],[3480,53625],[2556,54771],[3264,54415],[4896,54626],[3499,54277],[4412,57311],[4395,57218],[4397,57224],[4413,57314],[4401,57239],[4400,57236],[4405,57272],[4441,57308],[13537,57266],[14667,57254],[12601,57251],[4394,57215],[4406,57275],[16235,52534],[4411,57299],[4408,57281],[4393,57209],[10467,57296],[4409,57287],[4396,57221],[4414,57317],[4398,57227],[4399,57230],[3887,57269],[4403,57245],[4402,57242],[4427,57290],[12594,57263],[4410,57293],[17883,57302],[4407,57278],[4404,57248],[17884,57320],[13530,57233],[4434,57305],[14666,57212],[14668,57260],[2482,53995],[18004,56802],[2847,57152],[2655,55744],[2763,56486],[2759,56468],[3566,56368],[2315,52543],[2916,57686],[2604,55324],[3366,53899],[3569,56462],[6255,54743],[3528,55265],[12927,55268],[3981,54405],[2787,56855],[3453,52966],[2928,57737],[2643,55651],[2641,55622],[2675,55938],[2953,57948],[3361,52718],[2399,53366],[2951,57942],[2639,55613],[2397,53357],[2786,56852],[11248,56593],[3478,53399],[2832,57059],[17647,57364],[5396,56295],[17733,57977],[17734,57977],[17735,57977],[17736,57977],[17737,57977],[17738,57977],[2275,52332],[2714,56167],[2480,53974],[2663,55841],[2539,54667],[4244,55645],[2551,54749],[2564,54931],[3570,56542],[3591,57122],[2715,56173],[2706,56122],[2234,51841],[2591,55190],[2479,53971],[2469,53926],[3564,56341],[5480,54623],[2581,55151],[3525,55136],[8746,57498],[2271,52224],[2775,56551],[11276,55648],[2242,51936],[2244,51942],[2243,51939],[16666,53693],[4327,53947],[2499,54141],[2498,54133],[17199,54229],[2503,54313],[2931,57761],[6076,52146],[4779,53016],[6021,53135],[2327,52662],[17451,54147],[17452,54147],[2540,54673],[3521,55024],[6134,54283],[6262,53336],[8208,53342],[16718,55516],[16717,55087],[3190,56024],[6079,53746],[12856,55464],[5187,55470],[5188,55476],[5189,55482],[8660,55683],[16872,54877],[16940,57533],[16841,55105],[3520,55009],[18039,7459],[3224,55407],[3234,54387],[3231,52780],[2258,52149],[2922,57713],[2923,57716],[6260,52027],[3677,57890],[3527,55262],[2466,53908],[3355,51856],[2773,56533],[3946,55247],[2802,56918],[30987,55504],[32540,55201],[2577,55081],[22008,54904],[35815,54021],[35816,54021],[35804,56638],[18307,52960],[2634,55595],[2363,52984],[2835,57071],[37052,56642],[2792,56879],[36962,56646],[2793,56885],[2794,56888],[4496,52909],[3933,52903],[3934,52906],[36867,54328],[3513,54788],[12933,52978],[3454,52981],[2318,52600],[2319,52603],[2259,52152],[29189,54128],[29190,54128],[4992,57551],[2917,57689],[2905,57647],[2902,57638],[29191,56338],[8209,53917],[2323,52618],[6681,53920],[3409,52155],[29244,54120],[29245,54120],[2328,52668],[2324,52621],[2322,52615],[29303,56386],[3572,56581],[6102,56590],[2780,56575],[2455,53858],[6242,55960],[2420,53567],[2419,53564],[28809,54721],[28820,28818],[2230,51829],[17548,54515],[6084,54587],[2483,54001],[3523,55057],[23183,55060],[3272,56125],[15622,56134],[9069,54111],[2339,52736],[26700,54865],[28594,56318],[21506,54042],[3214,54084],[16541,54038],[28364,51818],[28365,51818],[5515,57580],[3177,52068],[8861,52058],[8860,52049],[6074,52073],[8206,52063],[8207,52078],[13239,57164],[6085,54599],[29433,27124],[6864,53301],[20080,51798],[20293,56806],[11270,54907],[11282,57809],[3597,57188],[3715,56873],[2307,52495],[2285,52390],[2284,52387],[2314,52528],[2313,52525],[2289,52408],[3212,52438],[2288,52405],[4487,52399],[2326,52659],[3772,52492],[21499,54093],[21500,54093],[6652,54096],[6653,54096],[2837,57086],[2838,57098],[7555,57194],[2518,54472],[2899,57626],[20890,54205],[18156,51826],[4359,51898],[5390,51907],[2240,51901],[2241,51904],[7537,51913],[6072,51910],[7538,51916],[21421,56810],[13758,52279],[4486,52396],[2251,52021],[7827,52760],[2505,54381],[2465,53905],[13760,53685],[4935,54192],[2260,52158],[20682,51814],[7770,53164],[3552,55969],[3782,53998],[2562,54815],[8211,55907],[2356,52912],[2365,52993],[2357,52915],[2376,53132],[6093,55898],[3565,56356],[3809,57779],[13340,53249],[2387,53231],[33869,56650],[2795,56891],[3198,52221],[2320,52609],[2463,53896],[2431,53722],[8299,58000],[8300,58000],[8301,58000],[3778,52945],[2366,53001],[3455,53019],[2255,52095],[3063,53085],[3055,51979],[16539,52227],[16540,52227],[2723,56223],[2868,56223],[2368,53013],[3062,53079],[3779,53049],[3767,51886],[2729,56241],[3061,53073],[3060,53058],[20889,54201],[2475,53956],[2941,57887],[3957,57896],[6325,54937],[2896,57611],[3491,53983],[3600,57348],[20784,53697],[34158,56654],[2507,54402],[25059,53274],[25060,53274],[25061,53274],[25062,53274],[25063,53274],[25064,53274],[25065,53274],[25066,53274],[2606,55350],[3526,55169],[3489,53879],[2740,56347],[3057,52107],[2784,56601],[4511,56545],[4326,53861],[2456,53867],[3519,54994],[2543,54685],[5477,52573],[3037,55874],[33894,56530],[33895,56530],[13116,57893],[2454,53852],[6086,54731],[7837,57857],[6098,55925],[4460,52161],[2338,52733],[3435,52730],[3178,52344],[6695,54410],[2514,54457],[2511,54436],[2266,52185],[2765,56492],[2766,56495],[2907,57656],[3014,57328],[2749,56425],[2750,56428],[2700,56101],[2708,56137],[2585,55172],[6022,57878],[3415,52268],[2935,57839],[2874,57448],[3383,56344],[2695,56065],[2719,56211],[6014,51802],[2401,53378],[2839,57101],[5799,53240],[5777,5775],[2229,51794],[5992,55054],[6347,54487],[2523,54551],[2895,57608],[5932,57824],[2783,56596],[4025,57605],[4251,56299],[6445,55003],[5023,54372],[6099,55972],[3775,52606],[3611,57731],[3582,56972],[6633,56969],[6562,57322],[2897,57620],[3576,56897],[5820,56033],[6081,54356],[18997,57372],[2467,53911],[5884,52315],[5778,56036],[2733,56256],[3299,56244],[9824,56193],[19817,56814],[2848,57170],[2952,57945],[3412,52233],[4850,55989],[18708,57797],[3417,52372],[18751,53579],[18619,54997],[15549,54985],[18822,18820],[2437,53764],[2450,53831],[2429,53716],[18890,56314],[2751,56431],[18475,55113],[18486,55218],[6922,55328],[11284,57816],[5513,54602],[2471,53932],[18269,54217],[3500,54280],[11269,54292],[2898,57623],[2245,51945],[2840,57110],[6094,55901],[2690,56050],[22009,55121],[36413,56310],[25612,57784],[36385,36383],[13334,53573],[36465,54102],[22857,52214],[3777,52701],[3232,52990],[2527,54566],[3370,54575],[2398,53360],[36503,54474],[36504,54474],[6921,54708],[11174,56818],[2422,53588],[2360,52948],[2925,57725],[3501,54295],[3714,55093],[2610,55365],[3549,55889],[10896,53713],[2600,55277],[3561,56282],[3401,51923],[9691,9688],[2336,52712],[3485,53825],[3563,56322],[2559,54800],[9607,53123],[2567,54949],[9863,55692],[2803,56921],[10686,10683],[10668,10666],[10466,54539],[3515,54825],[3052,51958],[3479,53418],[3505,54563],[4646,52774],[9891,57956],[9897,58056],[9896,58046],[9895,58029],[9894,58010],[9893,57989],[9892,57965],[3617,57961],[9949,57376],[2872,57442],[2654,55741],[2891,57593],[2547,54700],[9013,56197],[2423,53591],[9046,9043],[5873,52104],[2458,53876],[3414,52262],[10358,54114],[10374,54050],[10381,54105],[2496,54117],[2497,54125],[4467,54108],[2312,52513],[2311,52510],[2310,52507],[4510,52501],[2309,52504],[8822,53187],[8837,55214],[9261,54779],[2992,54818],[4324,52164],[2560,54803],[9391,5242],[2668,55859],[9534,53681],[10843,56330],[4595,53752],[8789,54304],[3794,55625],[2640,55616],[2342,52777],[8757,55713],[3945,55063],[2490,54034],[8766,57820],[7275,55084],[8765,55090],[8764,54873],[3835,54970],[2944,57914],[2261,52167],[2248,51997],[17549,54519],[3503,54375],[3941,54390],[3579,56948],[27545,54829],[4186,54448],[3930,52341],[26213,53677],[2644,55656],[2642,55642],[2995,57830],[3036,54319],[6920,54316],[3492,54063],[5999,56536],[6000,56536],[2235,51847],[7551,55036],[11271,54913],[3580,56963],[3581,56966],[6101,56189],[26638,56822],[2720,56214],[26605,55789],[2870,57433],[2652,55732],[2978,52627],[25962,53246],[5988,53228],[2238,51883],[2263,52173],[2329,52676],[25994,54153],[25995,54153],[14169,56030],[6299,52486],[3574,56876],[26397,26394],[2697,56071],[2347,52795],[26403,56041],[26244,26242],[2426,53606],[2425,53597],[2879,57463],[2424,53594],[9730,53582],[6263,55042],[2392,53339],[4462,52754],[26245,55030],[2679,55950],[2262,52170],[26321,53495],[3801,56039],[26332,26330],[7550,54916],[26287,54717],[2438,53767],[2977,52101],[2512,54439],[2934,57836],[27284,56326],[4466,53618],[4463,53513],[13759,53522],[2427,53609],[9555,53561],[11266,53615],[2433,53728],[4333,57360],[3451,52942],[2239,51892],[3356,51895],[4497,53773],[2436,53758],[2330,52679],[8835,53207],[3463,53195],[3465,53195],[2871,57439],[2653,55738],[2364,52987],[2281,52375],[26689,54775],[3512,54766],[16934,52633],[2979,52645],[2377,53138],[3773,52579],[2317,52591],[2264,52176],[3790,54964],[2282,52381],[3799,55935],[17646,54531],[26836,53267],[4392,57119],[2478,53968],[2658,55758],[26882,55129],[3247,53637],[13342,53633],[5514,54649],[17550,54629],[2797,56900],[2799,56906],[2798,56903],[2800,56909],[28146,28143],[28152,28150],[28159,28156],[9417,52000],[7539,52003],[3155,52861],[2345,52789],[3441,52849],[3262,52870],[3443,52858],[3363,52852],[3444,52864],[3440,52846],[3445,52885],[3442,52855],[2351,52825],[2352,52828],[3260,52831],[2355,52867],[3439,52843],[3263,52888],[2353,52834],[2354,52837],[3261,52840],[3362,52822],[3446,52891],[5779,57805],[21507,54054],[2335,52709],[25676,54174],[2735,56271],[2594,55199],[2593,55196],[2592,55193],[18270,54289],[2544,54688],[3653,55021],[3616,57869],[11272,55018],[2451,53834],[3483,53743],[2440,53776],[2430,53719],[3482,53740],[2441,53782],[3481,53734],[11267,54030],[25514,25512],[3404,52006],[2265,52182],[21042,57773],[3936,54159],[3937,54159],[3495,54184],[3494,54150],[4596,54177],[3928,52179],[3524,55101],[2253,52036],[7553,57134],[2990,54367],[2528,54584],[5237,55455],[5235,55449],[5236,55452],[3661,55437],[4826,55440],[25336,57969],[25337,57969],[25338,57969],[25214,57559],[25017,51810],[20526,53183],[19890,53179],[7612,54869],[2538,54661],[3509,54664],[2532,54605],[2535,54605],[2529,54590],[27835,7686],[7556,57469],[2428,53612],[3430,52642],[3419,52417],[2629,55541],[2332,52687],[27929,55133],[27963,53992],[8833,53175],[8836,53175],[25611,54652],[3929,52188],[3506,54608],[2533,54611],[8373,54614],[3507,54617],[4890,54620],[2561,54809],[21646,56667],[2801,56915],[2854,57257],[21549,57985],[21550,57985],[21551,57985],[21552,57985],[21553,57985],[3432,52721],[2545,54691],[22011,57981],[22012,57981],[22013,57981],[5790,53363],[22030,54892],[7559,57908],[2779,56569],[2661,55830],[2884,57493],[2549,54734],[2582,55154],[3235,55250],[3053,51966],[3056,52098],[2844,57137],[2817,57005],[2831,57053],[2834,57065],[2701,56104],[3538,55467],[3939,54325],[4944,54351],[2688,56009],[3806,57668],[2637,55607],[2602,55301],[2492,54066],[5996,56465],[7788,55244],[2603,55318],[6071,51862],[2445,53802],[3770,52358],[3610,57719],[2583,55163],[3534,55377],[22218,53111],[2721,56217],[2666,55850],[2866,57419],[3461,53161],[13307,55226],[3532,55298],[2601,55283],[6352,54638],[3944,54928],[2369,53022],[4388,56945],[2932,57827],[2453,53849],[3385,56864],[2790,56867],[2849,57173],[4113,57934],[13306,55222],[3947,55274],[2681,55963],[3381,56003],[2384,53219],[7719,54670],[3793,55434],[3797,55827],[3547,55821],[3792,55413],[2521,54545],[2587,55178],[2501,54298],[2994,55547],[5798,53237],[4663,52954],[5217,55461],[2381,53150],[2472,53941],[7786,51962],[7547,54260],[5987,52537],[4738,57008],[6082,54491],[3431,52656],[3213,53935],[2461,53888],[2460,53885],[2494,54072],[2530,54593],[4471,57650],[4472,57698],[2919,57704],[2677,55944],[3449,52936],[3450,52939],[22219,53115],[2380,53147],[2626,55529],[2468,53914],[2395,53351],[2599,55256],[2598,55253],[2863,57410],[2476,53959],[2948,57928],[3497,54251],[7789,55966],[2474,53953],[2660,55818],[5097,53805],[3589,57104],[4489,52739],[3359,52648],[3369,54569],[2525,54557],[3951,56268],[3254,52024],[2638,55610],[5065,54679],[5993,55157],[3557,56143],[6248,53923],[9890,57501],[3956,57487],[3490,53980],[2747,56380],[2233,51838],[6353,54697],[2553,54758],[8654,53645],[4044,53375],[2762,56477],[3391,57475],[2947,57925],[3426,52570],[4468,54746],[3027,53384],[2860,57398],[2699,56098],[6088,55160],[2379,53144],[3804,57590],[8653,53641],[6091,55892],[2563,54910],[6458,57863],[2400,53369],[9434,55833],[3652,55012],[3375,55309],[2760,56471],[3529,55280],[2820,57017],[2702,56107],[3540,55523],[2231,51832],[5064,51874],[2858,57392],[2449,53819],[2894,57602],[11281,57380],[3044,54740],[2382,53156],[6027,51859],[3537,55458],[2901,57632],[2954,57951],[2889,57525],[2493,54069],[3785,54384],[2741,56350],[3808,57752],[3188,56015],[2776,56557],[3541,55526],[3484,53822],[2909,57662],[2477,53965],[3367,53950],[6265,56480],[2756,56450],[2753,56439],[3421,52549],[3787,54794],[2991,54791],[3514,54797],[5334,51927],[5395,56205],[3624,58143],[3437,52798],[3621,58134],[6261,53129],[4031,54060],[7276,57789],[3606,57539],[2520,54542],[2680,55956],[2407,53411],[2432,53725],[3216,54463],[3422,52555],[3428,52630],[2348,52804],[3394,57845],[2623,55485],[3420,52546],[3530,55286],[2625,55493],[2362,52975],[5792,57875],[2622,55479],[2361,52963],[8297,52918],[8298,52918],[3464,53210],[2647,55674],[2495,54090],[2500,54162],[3160,54451],[3368,54445],[3791,54982],[3402,51976],[2321,52612],[2674,55886],[3613,57848],[2277,52355],[11278,55808],[2873,57445],[2657,55750],[16199,52295],[2404,53396],[3237,56563],[2589,55184],[2692,56056],[2814,56984],[3157,53779],[2584,55166],[2933,57833],[2955,57954],[2926,57728],[2754,56442],[2597,55241],[2558,54785],[2888,57522],[2777,56560],[2936,57842],[2686,56000],[3781,53570],[22535,54820],[2892,57596],[7974,57767],[20543,52039],[21663,51822],[23133,55801],[23128,56826],[19246,54955],[3360,52673],[3510,54706],[22726,56830],[14775,56334],[2283,52384],[2569,55000],[2568,54988],[5791,54362],[17138,52329],[17139,52329],[17140,52329],[17141,52329],[17142,52329],[17143,52329],[17144,52329],[17145,52329],[17146,52329],[17147,52329],[17148,52329],[17149,52329],[17150,52329],[17151,52329],[17152,52329],[17153,52329],[17154,52329],[17155,52329],[17156,52329],[17157,52329],[17158,52329],[17159,52329],[22668,53731],[22669,53731],[3518,54967],[2864,57413],[5883,52303],[7540,52044],[7541,52044],[7542,52044],[7543,52044],[2704,56113],[2447,53813],[13237,52218],[22492,53665],[2782,56587],[4465,53600],[5183,53603],[4469,54943],[15933,56605],[3153,52245],[6105,57584],[2851,57197],[34450,25032],[5990,54755],[2444,53797],[34435,57368],[3586,57068],[7021,57179],[3596,57176],[2788,56858],[2519,54535],[3460,53153],[12960,51868],[3204,55753],[13109,57161],[5643,57158],[2390,53327],[3592,57128],[7832,54301],[35138,54331],[14665,56834],[5986,52248],[7718,52116],[35285,12720],[6095,55910],[2673,55883],[2267,52191],[2595,55206],[19753,57758],[2781,56584],[3410,52200],[3258,52435],[3256,52429],[3257,52432],[31664,55773],[31665,55773],[2722,56220],[3560,56262],[2269,52197],[2268,52194],[3255,52426],[2249,52012],[2250,52018],[5984,52009],[3958,57899],[2730,56247],[2724,56226],[3371,54578],[6351,54632],[2845,57146],[4131,57167],[2510,54433],[2827,57041],[2579,55145],[2796,56894],[3379,55704],[32040,56838],[3390,57200],[2334,52693],[2716,56176],[5394,56201],[5875,56164],[2696,56068],[2608,55356],[2694,56062],[2717,56179],[2709,56140],[2711,56152],[2485,54010],[2627,55532],[2669,55862],[2671,55871],[3608,57617],[3438,52813],[6264,55289],[2742,56353],[15628,56170],[7038,52969],[6077,52972],[3423,52558],[3424,52561],[5476,52567],[5478,52639],[3429,52636],[3425,52564],[17535,56131],[17536,56146],[2522,54548],[4778,53004],[3935,54075],[2470,53929],[2443,53794],[6350,54581],[2526,54560],[5671,56374],[4329,55315],[3364,53007],[2738,56280],[2513,54454],[2516,54466],[2462,53891],[3938,54248],[31447,31444],[2921,57710],[31515,53290],[31537,58042],[31538,58042],[2949,57931],[3783,54004],[31488,51865],[10844,56539],[6976,56259],[2548,54703],[2439,53770],[2617,55398],[2924,57722],[2611,55368],[2620,55410],[3942,54393],[2343,52783],[30328,56842],[30340,54885],[7274,55015],[7833,54934],[2394,53348],[2764,56489],[2555,54764],[2554,54761],[2550,54737],[2676,55941],[3493,54081],[2613,55380],[2236,51850],[3780,53330],[2270,52203],[13080,13077],[2572,55066],[13051,54845],[13039,54837],[13073,54841],[12961,54833],[12994,54861],[12987,54857],[12980,54853],[13023,54849],[12925,12923],[12926,54359],[3456,53040],[2372,53046],[3457,53043],[12934,55769],[2664,55844],[2865,57416],[3949,55443],[2621,55473],[3789,54919],[12751,53788],[12753,53788],[12754,53788],[12752,53791],[2683,55984],[3577,56912],[3798,55856],[3955,57422],[2853,57206],[4330,55344],[5216,55446],[6103,57472],[2385,53222],[3477,53393],[2659,55815],[2943,57911],[2890,57528],[3511,54713],[7721,55395],[2670,55865],[3271,56012],[2856,57383],[2651,55729],[2904,57644],[2883,57490],[2557,54782],[3603,57407],[2862,57404],[2859,57395],[2857,57389],[3612,57770],[2791,56870],[2850,57182],[2852,57203],[3595,57155],[3593,57140],[3575,56882],[3583,56978],[7554,57185],[2869,57430],[2937,57860],[2810,56951],[10465,54046],[6106,57635],[2918,57692],[3786,54728],[2930,57743],[3554,55987],[2247,51973],[2685,55997],[3365,53316],[2822,57023],[11279,55812],[2375,53126],[2607,55353],[7548,54263],[2867,57425],[7720,55359],[2473,53944],[2682,55978],[11280,55877],[2882,57484],[2605,55347],[3644,51871],[3038,57746],[2667,55853],[3179,54087],[6266,58377],[7563,58254],[5193,58323],[6109,58257],[2998,58338],[2964,58560],[11440,58380],[11453,58461],[7565,58464],[3811,58467],[11416,58383],[11408,58104],[8674,58386],[11286,58146],[2960,58389],[6659,58326],[5191,58149],[6112,58470],[12092,58260],[5858,58392],[3633,58473],[8675,58395],[8673,58374],[8053,58398],[7157,58263],[12298,58266],[3810,58329],[6801,58476],[6002,58401],[3301,58479],[9015,58404],[9057,58482],[8361,58407],[5979,58485],[7158,58410],[4475,58413],[6007,58572],[3636,58575],[9397,58488],[3217,58491],[3634,58494],[7606,58497],[8151,58416],[12420,58419],[4474,58269],[7883,58422],[12436,58425],[4605,58428],[9016,58500],[2962,58503],[7995,58506],[10822,58509],[3631,58431],[10337,58434],[2963,58512],[3632,58437],[3716,58515],[2999,58455],[8854,58518],[6113,58521],[5338,58578],[2956,58152],[7566,58524],[3165,58527],[8025,58554],[5738,58530],[6114,58581],[9017,58584],[6003,58440],[6115,58587],[8024,58443],[2961,58458],[3921,58533],[6005,58536],[6821,58539],[7567,58542],[6302,58590],[6004,58446],[6006,58557],[12245,58593],[12127,58155],[3637,58596],[4490,58545],[3240,58599],[7996,58602],[5484,58563],[3626,58272],[11628,58566],[3635,58569],[8464,58605],[5337,58548],[4540,58551],[6111,58449],[6820,58452],[4217,58158],[7706,58320],[2997,58332],[10320,58359],[3627,58275],[8741,58083],[4335,58296],[3239,58365],[7419,58278],[4828,58362],[3630,58368],[11674,58371],[4336,58341],[3629,58344],[5336,58119],[11180,58335],[8367,58161],[11582,58224],[10641,58347],[3300,58350],[3163,58353],[7564,58281],[3164,58356],[7634,58164],[5483,58284],[7560,58167],[11287,58311],[4851,58287],[3395,58290],[5192,58170],[6640,58173],[3628,58299],[5895,58302],[4159,58227],[3625,58176],[6122,58308],[11878,58305],[11884,58314],[11285,58086],[8428,58179],[11736,58293],[6683,58182],[4827,58185],[8022,58230],[3620,58131],[2959,58221],[8023,58248],[6108,58188],[4598,58233],[7561,58236],[12007,58191],[2957,58194],[2958,58197],[5481,58200],[7754,58203],[12049,58206],[4473,58209],[6200,58212],[7562,58239],[6923,58215],[8052,58242],[3619,58107],[4922,58089],[5482,58251],[6819,58218],[3162,58110],[2996,58245],[11981,58113],[6107,58116],[9014,58092],[8021,58122],[4334,58095],[3618,58098],[6001,58101],[3238,58125],[6301,58128],[4415,58080],[6110,58317],[2823,57026],[2855,57332],[2350,52816],[5994,55574],[3542,55577],[2371,53037],[2370,53034],[6052,53031],[2302,52474],[2303,52477],[2304,52480],[6050,52471],[6897,55045],[4498,55571],[2346,52792],[3452,52951],[2636,55604],[11275,55598],[2373,53052],[3458,53055],[5511,53025],[5750,53028],[6051,52516],[4849,55550],[4518,55565],[3236,55562],[2631,55559],[7834,55553],[3654,55556],[6090,55568],[11274,55048],[2635,55601],[2632,55580],[7835,55583],[3268,55592],[2633,55586],[7836,55589],[2344,52786],[5991,55051],[2274,52326],[11293,57344],[2405,53402],[12728,57284],[12661,54171],[12662,56027],[3558,56161],[2672,55880],[13221,56846],{"_24672":60814,"_58617":60815,"_5":25817},{"_6884":3404,"_5968":5984,"_11313":2249,"_11353":3405,"_11327":2250,"_11320":2251,"_11346":3254,"_11375":6260,"_11306":3980,"_36123":2252,"_11342":2253,"_36627":20543,"_36749":36118,"_36700":7540,"_11445":36125,"_12197":8860,"_36739":36132,"_36759":7541,"_12027":36139,"_11889":8861,"_37450":36146,"_12203":8206,"_40818":36153,"_36616":3177,"_36046":36160,"_36685":6074,"_12270":36167,"_37480":8207,"_12512":36179,"_35574":7542,"_35645":36192,"_35619":7543,"_12054":2254,"_35635":3357,"_35650":2255,"_12102":3056,"_35655":2977,"_11406":5873,"_11866":3057,"_12080":3406,"_40847":3152,"_40849":7718,"_40851":5321,"_40854":4459,"_36679":5393,"_40857":2256,"_11356":2257,"_40862":3407,"_12471":3408,"_36302":3927,"_12518":6075,"_11438":6076,"_37112":2258,"_40872":2259,"_40874":3409,"_40876":2260,"_40879":4460,"_37107":4324,"_37102":2261,"_11469":2262,"_40886":2263,"_40889":2264,"_40891":3928,"_30746":2265,"_40894":2266,"_40897":3929,"_40899":2267,"_40902":2268,"_40904":2269,"_40906":3410,"_40909":2270,"_40912":8236,"_40914":3411,"_11485":22857,"_40918":13237,"_36784":3198,"_40921":2271,"_11684":16539,"_11349":5985,"_36838":3412,"_37456":2272,"_12393":6049,"_40929":4461,"_40931":3153,"_40933":5986,"_36853":16540,"_40936":3104,"_11378":3413,"_12108":3154,"_35688":3414,"_36663":2273,"_40943":3415,"_40945":13757,"_37626":3058,"_40948":13758,"_11421":3082,"_40951":5881,"_40953":4845,"_12125":16199,"_36130":5882,"_40958":5883,"_40960":4772,"_40963":24839,"_40965":5884,"_40967":6736,"_40969":3059,"_40971":2274,"_11336":17138,"_40974":2275,"_40976":3769,"_40978":5538,"_40980":3930,"_40982":3178,"_40985":3416,"_16358":17139,"_40988":2276,"_40990":2277,"_40992":3770,"_40994":2278,"_40996":17140,"_40998":2279,"_41001":2280,"_41003":3417,"_41005":2281,"_41007":3358,"_41010":2282,"_36637":2283,"_36632":2284,"_41015":2285,"_36754":2286,"_41019":4486,"_41021":4487,"_41023":2287,"_41025":2288,"_41027":2289,"_41029":3418,"_41031":2290,"_41033":3419,"_41035":3771,"_41037":2291,"_41039":3255,"_41041":3256,"_41043":3257,"_41046":3258,"_41048":3212,"_41050":2292,"_41052":2293,"_41054":2294,"_41057":2295,"_41059":2296,"_41061":2297,"_41063":2298,"_41065":2299,"_41067":2300,"_41069":2301,"_41071":6050,"_41073":2302,"_41075":2303,"_41077":2304,"_41079":2305,"_41081":6299,"_41083":2306,"_41085":3772,"_41087":2307,"_41089":2308,"_41091":4510,"_41093":2309,"_36725":2310,"_41096":2311,"_41098":2312,"_41100":6051,"_36744":3090,"_41103":5182,"_41105":2313,"_41108":2314,"_41110":3259,"_41112":16235,"_41114":5987,"_41116":6216,"_41118":2315,"_41120":3420,"_41122":3421,"_41124":2316,"_41126":3422,"_41128":3423,"_41130":3424,"_41132":3425,"_41134":5476,"_41136":3426,"_41138":5477,"_41140":8296,"_36651":3773,"_41145":15117,"_36646":7454,"_41149":15118,"_41151":2317,"_41153":3774,"_41155":4360,"_41157":2318,"_16474":2319,"_37344":3775,"_35538":2320,"_41164":2321,"_41166":2322,"_41169":2323,"_41171":2324,"_41173":3427,"_41176":2978,"_41178":3428,"_41180":16934,"_41183":3429,"_41186":5478,"_41188":3430,"_41190":2979,"_41192":3359,"_41194":2325,"_41197":17141,"_41199":3431,"_41201":2326,"_41203":2327,"_41206":4488,"_41208":2328,"_41210":17142,"_41212":3360,"_41214":2329,"_41216":2330,"_41218":17143,"_41220":2331,"_41222":2332,"_41224":2333,"_41226":2334,"_41228":3776,"_41230":17144,"_41232":3777,"_41234":17145,"_41236":3931,"_41238":2335,"_41240":2336,"_41242":2337,"_41244":3361,"_41246":3432,"_41248":3433,"_41250":3434,"_41252":3435,"_41254":2338,"_41256":2339,"_41258":4489,"_41260":3436,"_41262":2340,"_37379":2341,"_41266":4645,"_41268":4462,"_41270":4652,"_37384":7827,"_37374":7544,"_22897":7828,"_41275":7545,"_41277":3674,"_41279":4646,"_41281":2342,"_41283":3231,"_41285":2343,"_41287":2344,"_41290":2345,"_41292":2346,"_41294":2347,"_41296":3437,"_41298":5960,"_41300":2348,"_41302":2349,"_41305":4825,"_41307":3438,"_41309":2350,"_41311":3645,"_41313":3362,"_41315":2351,"_41317":2352,"_41319":3260,"_41321":2353,"_41323":2354,"_41325":3261,"_41327":3439,"_41329":3440,"_41331":3441,"_41333":3363,"_41335":3442,"_41337":3443,"_37485":3155,"_41340":3444,"_41342":2355,"_41344":3262,"_41346":4846,"_41349":4847,"_41351":4848,"_41353":23798,"_41355":3445,"_41357":3263,"_41359":3446,"_41362":3447,"_35589":3932,"_41365":4361,"_41367":3933,"_41369":3934,"_35579":4496,"_41372":2356,"_41375":2357,"_41378":8297,"_41380":6300,"_41383":2358,"_41386":3448,"_41388":8463,"_41390":2359,"_41392":3449,"_41394":3450,"_41396":3451,"_41398":3778,"_41401":2360,"_41404":3452,"_41406":4663,"_11390":5874,"_41409":18307,"_41411":2361,"_41413":3453,"_41415":7038,"_35624":6077,"_41418":2362,"_41420":12933,"_41422":3454,"_41424":2363,"_41426":2364,"_41428":3232,"_11316":2365,"_41432":3140,"_41434":8298,"_41436":2366,"_41438":4778,"_41440":3364,"_41442":2367,"_41444":2368,"_35640":4779,"_41447":3455,"_41449":2369,"_41451":5511,"_41453":5750,"_41455":6052,"_41457":2370,"_41459":2371,"_41461":3456,"_41463":3457,"_41465":2372,"_41467":3779,"_41469":2373,"_41471":3458,"_41473":3060,"_41475":2980,"_41477":2981,"_41479":2982,"_41481":2983,"_41483":3061,"_41485":2984,"_41487":3062,"_41489":2985,"_41491":3063,"_41493":2986,"_41495":2987,"_41497":2988,"_41499":2374,"_41501":2989,"_41503":7829,"_41505":3459,"_41507":22218,"_41509":22219,"_41511":7830,"_41514":9607,"_41516":2375,"_41518":6261,"_41520":2376,"_41522":6021,"_41524":2377,"_41526":2378,"_41528":2379,"_41530":2380,"_41532":2381,"_22920":3460,"_41536":2382,"_41538":17146,"_41540":3461,"_35672":7770,"_41543":24256,"_41545":3462,"_41547":8833,"_41549":19890,"_41551":20526,"_41553":8822,"_41555":13250,"_41557":3463,"_41559":2383,"_41561":8834,"_41563":8835,"_36040":3464,"_41566":8836,"_41568":13251,"_41571":3465,"_41573":2384,"_41575":2385,"_41577":2386,"_41580":5988,"_41582":2387,"_41584":3285,"_41586":5798,"_41588":5799,"_41590":13339,"_41592":25962,"_41595":13340,"_41597":13714,"_41599":7510,"_41601":3466,"_41603":3467,"_41605":3468,"_41608":3469,"_41610":26836,"_41612":3470,"_41614":3471,"_41616":25059,"_36045":25060,"_41619":8273,"_41621":3472,"_41623":3473,"_41625":25061,"_41627":25062,"_41629":31515,"_41631":3474,"_41633":3475,"_41635":25063,"_41637":25064,"_41639":6864,"_36051":6053,"_41642":6054,"_41644":25065,"_41646":25066,"_41648":3646,"_41650":3365,"_41652":2388,"_41654":17147,"_41656":2389,"_41658":2390,"_41660":3780,"_41662":2391,"_41665":6262,"_41668":2392,"_41670":8208,"_41672":2393,"_41675":2394,"_41677":2395,"_41679":2396,"_41681":2397,"_41683":2398,"_41685":5790,"_41687":2399,"_41689":2400,"_41691":5989,"_41693":4044,"_41695":2401,"_41697":3476,"_41699":3027,"_41701":2402,"_41703":2403,"_41705":3477,"_41707":2404,"_41709":3478,"_41711":2405,"_41713":2406,"_41715":3035,"_41717":2407,"_41719":13333,"_41721":3479,"_41723":14356,"_41725":30104,"_41727":3292,"_41729":13480,"_41731":13741,"_41733":14153,"_41735":15621,"_41737":23957,"_41739":23973,"_11427":24067,"_41742":7273,"_41744":7322,"_41746":7329,"_41748":7342,"_41750":29923,"_41752":28820,"_41754":29433,"_41756":18822,"_41758":36385,"_41760":9691,"_41762":10668,"_41764":9046,"_41766":26244,"_37087":26321,"_12612":26332,"_41770":25514,"_41772":27835,"_41774":35285,"_41776":31447,"_41778":4463,"_41780":3156,"_41782":13341,"_41784":13759,"_41786":2408,"_41788":2409,"_41790":2410,"_41792":2411,"_41794":2412,"_41796":2413,"_41798":2414,"_41800":2415,"_41802":2416,"_41804":2417,"_41806":2418,"_41808":4464,"_41810":9555,"_41812":2419,"_41814":2420,"_41816":3781,"_41818":13334,"_41820":5512,"_41822":18751,"_41824":9730,"_41826":2421,"_41828":2422,"_41830":2423,"_41832":2424,"_41834":2425,"_41836":4465,"_41838":5183,"_41840":2426,"_41842":2427,"_41844":2428,"_41846":9417,"_41848":7539,"_41850":11266,"_41852":4466,"_41854":9703,"_36062":3480,"_41857":7605,"_41859":13342,"_41861":3247,"_41863":8653,"_41865":8654,"_41867":7831,"_41869":32538,"_41871":32539,"_41873":14933,"_41875":22492,"_41877":6078,"_41879":4325,"_41881":26213,"_41883":9534,"_41885":13760,"_41887":7257,"_41889":16666,"_41891":20784,"_41893":9692,"_41895":14465,"_41897":3186,"_41899":10896,"_41901":2429,"_41903":2430,"_41905":2431,"_41907":2432,"_41909":2433,"_41911":22668,"_41913":3481,"_11384":2434,"_41916":3482,"_41918":3483,"_41920":6079,"_41922":2435,"_41924":4595,"_41926":6080,"_41928":2436,"_41930":3248,"_41932":2437,"_41934":2438,"_16423":2439,"_41937":4497,"_41939":2440,"_41941":3157,"_11330":2441,"_41944":2442,"_41946":12751,"_41948":12752,"_41950":2443,"_41952":2444,"_41954":12753,"_41956":2445,"_41958":5097,"_41960":12754,"_41962":2446,"_41964":2447,"_41966":2448,"_41968":2449,"_41970":3484,"_41972":3485,"_41974":3647,"_41976":2450,"_41978":2451,"_41980":2452,"_41982":3187,"_41984":3486,"_41986":3648,"_41988":2453,"_41990":2454,"_41992":3487,"_41994":2455,"_41996":4326,"_41998":3649,"_42000":2456,"_42002":3488,"_42004":2457,"_42006":2458,"_11323":3489,"_42009":2459,"_42011":2460,"_42013":2461,"_42015":2462,"_42017":22669,"_42019":2463,"_42021":3366,"_42023":2464,"_42025":2465,"_42027":2466,"_42029":2467,"_42031":2468,"_42033":8209,"_42035":6681,"_42037":6248,"_42039":2469,"_42041":2470,"_42043":2471,"_42045":3213,"_42047":3158,"_42049":2472,"_42051":2473,"_42053":4327,"_42055":3367,"_42057":2474,"_42059":2475,"_42061":2476,"_42063":4328,"_42065":2477,"_42067":2478,"_42069":2479,"_42071":2480,"_42073":3675,"_42075":3490,"_42077":3491,"_42079":13761,"_42081":2481,"_42083":27963,"_42085":2482,"_42087":3782,"_42089":2483,"_42091":3783,"_42093":2484,"_42095":2485,"_42097":2486,"_42099":2487,"_42101":2488,"_42103":35815,"_42105":2489,"_42107":11267,"_42109":2490,"_42111":16541,"_42114":21506,"_42116":10465,"_42118":10374,"_42120":21507,"_42122":2491,"_42124":4031,"_42126":3492,"_42128":2492,"_42130":2493,"_42132":2494,"_42134":3935,"_42136":6561,"_42139":3493,"_42141":3214,"_42143":3179,"_42146":2495,"_42148":21499,"_42151":6652,"_42153":24173,"_42155":36465,"_42157":10381,"_42159":4467,"_42161":9069,"_42163":10358,"_42165":2496,"_42167":29244,"_42169":29245,"_42171":2497,"_42173":29189,"_42175":29190,"_42177":2498,"_42180":7737,"_42182":7738,"_42184":2499,"_42186":23237,"_42188":17451,"_42190":3494,"_42192":25994,"_42194":26414,"_42196":3936,"_42198":2500,"_42200":21500,"_42202":6653,"_42204":24174,"_42206":12661,"_42208":25676,"_42210":4596,"_42212":23238,"_42214":17452,"_42216":3495,"_42218":25995,"_42220":26415,"_42222":3937,"_42224":4935,"_42227":3496,"_11451":20889,"_42231":20890,"_42233":13787,"_42235":7546,"_42237":18269,"_42239":4681,"_42241":7092,"_42243":17199,"_42245":35816,"_42247":7787,"_42249":4936,"_42251":4937,"_42253":3938,"_42255":3497,"_42257":3784,"_42259":3215,"_42261":7547,"_42263":7548,"_42265":19627,"_42267":3498,"_42269":13343,"_42271":17148,"_42273":3499,"_42275":3500,"_42277":6134,"_42279":11268,"_42281":18270,"_42283":11269,"_42285":3501,"_42287":2501,"_42289":7832,"_42291":8789,"_42293":2502,"_42295":3502,"_42297":2503,"_42299":6920,"_42301":3036,"_42303":2504,"_42305":3939,"_42307":36867,"_42309":35138,"_42311":26397,"_42313":13344,"_42315":34450,"_42317":3940,"_42319":18039,"_42321":3233,"_42323":5777,"_42325":4944,"_42327":12925,"_42329":6081,"_42331":12926,"_42333":5791,"_12529":5184,"_42336":2990,"_42338":9391,"_42340":5023,"_42342":3503,"_42344":4938,"_42346":2505,"_37445":3785,"_42349":3234,"_42351":3941,"_42353":3942,"_42355":3943,"_42357":2506,"_42359":2507,"_42361":3981,"_42363":2508,"_35029":6695,"_42366":3264,"_42368":6696,"_42370":6682,"_42372":15932,"_42374":2509,"_42376":2510,"_42378":2511,"_42380":2512,"_42382":3159,"_42384":3368,"_42386":4186,"_42388":3160,"_42390":2513,"_42392":2514,"_42394":2515,"_42396":3216,"_42398":2516,"_42400":2517,"_42402":2518,"_42404":36503,"_42406":3504,"_42408":29949,"_42410":6347,"_42412":6082,"_42414":13678,"_42416":6348,"_42418":11259,"_42420":5479,"_42422":6349,"_42424":17548,"_42426":17549,"_42428":6083,"_42430":17645,"_42432":17646,"_42434":2519,"_42436":10466,"_42438":2520,"_42440":2521,"_42442":2522,"_42444":2523,"_42446":2524,"_12606":2525,"_42449":2526,"_42451":3505,"_42453":2527,"_42455":3369,"_42457":3650,"_42459":3370,"_42461":3371,"_42463":6350,"_42465":2528,"_42467":6084,"_42469":2529,"_42471":2530,"_42473":2531,"_42475":6085,"_42477":5513,"_42479":2532,"_42481":3506,"_42483":2533,"_42485":8373,"_42487":3507,"_42489":4890,"_42491":5480,"_42493":4896,"_42495":17550,"_42497":6351,"_42499":2534,"_42501":6352,"_42503":2535,"_42505":3508,"_42507":3651,"_42509":5514,"_42511":25611,"_42513":2536,"_42515":2537,"_42517":2538,"_42519":3509,"_42521":2539,"_42523":7719,"_42525":2540,"_42527":2541,"_42529":5065,"_42531":2542,"_42533":2543,"_42535":2544,"_42537":2545,"_42539":2546,"_42541":6353,"_42543":2547,"_42545":2548,"_42547":3510,"_42549":6921,"_42551":3511,"_42553":26287,"_42555":28809,"_42557":24000,"_42559":3786,"_42561":6086,"_42563":2549,"_11309":2550,"_42566":3044,"_42568":6255,"_42570":4468,"_42572":2551,"_42574":2552,"_42576":5990,"_42578":2553,"_42580":2554,"_12634":2555,"_42583":3512,"_42585":2556,"_42587":26689,"_42589":9261,"_42591":2557,"_42593":2558,"_42595":3513,"_42597":2991,"_42599":3787,"_42601":3514,"_42603":2559,"_42605":2560,"_42607":3788,"_42609":2561,"_42611":7549,"_42613":2562,"_42615":2992,"_42617":22535,"_42619":3515,"_42621":27545,"_42623":12961,"_42625":13039,"_42627":13073,"_42629":13051,"_42631":13023,"_42633":12980,"_42635":12987,"_42637":12994,"_42639":26700,"_42641":7612,"_42643":8764,"_42645":16872,"_42647":30596,"_42649":30340,"_42651":13080,"_42653":22030,"_42655":8237,"_42657":30633,"_42659":22008,"_42661":11270,"_42663":2563,"_42665":11271,"_42667":7550,"_42669":3789,"_42671":3516,"_42673":3517,"_42675":3944,"_42677":2564,"_42679":7833,"_42681":6325,"_42683":2565,"_42685":4469,"_42687":2566,"_42689":2567,"_42691":3265,"_42693":19246,"_42695":3266,"_42697":3267,"_42699":3790,"_42701":3518,"_42703":3835,"_42705":14684,"_42707":6415,"_42709":3161,"_42711":3791,"_42713":15549,"_42715":2568,"_42717":3372,"_42719":3519,"_42721":18619,"_42723":2569,"_42725":6445,"_42727":2570,"_42729":3520,"_42731":3652,"_42733":7274,"_42735":11272,"_42737":3653,"_42739":3521,"_42741":2571,"_42743":26245,"_42745":3522,"_42747":7551,"_42749":11273,"_42751":6263,"_42753":6897,"_42755":11274,"_42757":5991,"_42759":5992,"_36137":3523,"_42762":23183,"_42764":3945,"_42766":2572,"_42768":2573,"_42770":2574,"_42772":2575,"_42774":2576,"_42776":2577,"_42778":7275,"_42780":16717,"_42782":8765,"_42784":3714,"_42786":23121,"_42788":3524,"_42790":16841,"_42792":30796,"_42794":18475,"_42796":15027,"_42798":22009,"_42800":22010,"_42802":26882,"_42804":27929,"_42806":3525,"_36615":6087,"_42809":2578,"_42811":2579,"_42813":2580,"_42815":2581,"_42817":2582,"_42819":5993,"_42821":6088,"_42823":2583,"_42825":2584,"_42827":3526,"_42829":2585,"_42831":2586,"_42833":2587,"_42835":2588,"_42837":2589,"_42839":2590,"_42841":2591,"_42843":2592,"_42845":2593,"_42847":2594,"_42849":32540,"_42851":2595,"_42853":2596,"_42855":8837,"_42857":18486,"_42859":13306,"_42861":13307,"_42863":15028,"_42865":32991,"_42867":23254,"_42869":2597,"_42871":7788,"_42873":3946,"_42875":3235,"_42877":2598,"_42879":2599,"_42881":3373,"_42883":3527,"_42885":3528,"_42887":12927,"_42889":3374,"_42891":3947,"_42893":2600,"_42895":3529,"_42897":2601,"_42899":3530,"_42901":6264,"_42903":3948,"_42905":3531,"_42907":3532,"_42909":2602,"_42911":17149,"_42913":4095,"_42915":3375,"_42917":3376,"_42919":4329,"_42921":2603,"_42923":8008,"_42925":2604,"_42927":5056,"_42929":3533,"_42931":5185,"_42933":5186,"_42935":4330,"_42937":2605,"_42939":2606,"_42941":2607,"_42943":2608,"_42945":7720,"_42947":2609,"_42949":2610,"_42951":2611,"_42953":2612,"_42955":2993,"_42957":3534,"_42959":2613,"_42961":2614,"_42963":2615,"_42965":2616,"_42967":3535,"_42969":7721,"_42971":2617,"_42973":2618,"_42975":2619,"_42977":3224,"_42979":2620,"_42981":3792,"_42983":3536,"_42985":12800,"_42987":12807,"_42989":12814,"_42991":12826,"_42993":4470,"_42995":3793,"_42997":3661,"_42999":4826,"_43001":3949,"_43003":5216,"_43005":5235,"_43007":5236,"_43009":5237,"_36684":3537,"_43012":5217,"_43014":12856,"_43016":3538,"_43018":5187,"_43020":2621,"_43022":5188,"_43024":2622,"_43026":5189,"_43028":2623,"_43030":2624,"_43032":17150,"_43034":2625,"_43036":30993,"_43038":3539,"_43040":30987,"_43042":13345,"_43044":13226,"_43046":16718,"_36678":6785,"_43049":3540,"_43051":3541,"_43053":2626,"_43055":6090,"_43057":4498,"_43059":5994,"_43061":3542,"_43063":2632,"_43065":7835,"_43067":2633,"_43069":7836,"_43071":3268,"_43073":2634,"_43075":11275,"_43077":2635,"_43079":2636,"_43081":2637,"_43083":2638,"_43085":2639,"_43087":2640,"_43089":3543,"_43091":2641,"_43093":3794,"_43095":3544,"_43097":4331,"_43099":23799,"_43101":23800,"_43103":17151,"_43105":2642,"_43107":4244,"_43109":11276,"_43111":2643,"_43113":17152,"_43115":2644,"_43117":2645,"_43119":2646,"_43121":29685,"_43123":11277,"_43125":2647,"_43127":3377,"_43129":2648,"_43131":8660,"_43133":3795,"_43135":2649,"_43137":9863,"_43139":2650,"_43141":3982,"_43143":3378,"_43145":3379,"_43147":15146,"_43149":6898,"_43151":8757,"_43153":13346,"_43155":4664,"_43157":6975,"_43159":3545,"_43161":2651,"_43163":2652,"_43165":3796,"_43167":2653,"_43169":2654,"_43171":2655,"_43173":2656,"_43175":2657,"_43177":3204,"_43179":17153,"_43181":2658,"_43183":20790,"_43185":3546,"_43187":12934,"_43189":31664,"_43191":5057,"_43193":33425,"_43195":7343,"_43197":26605,"_43199":13599,"_43201":3269,"_43203":23133,"_43205":3270,"_43207":11278,"_43209":11279,"_43211":2659,"_43213":2660,"_43215":3547,"_43217":35070,"_43219":3797,"_43221":2661,"_43223":9434,"_43225":2662,"_43227":17154,"_43229":2663,"_43231":2664,"_43234":2665,"_43236":2666,"_43238":2667,"_43240":3798,"_43242":2668,"_43244":2669,"_43246":2670,"_43248":3548,"_43250":2671,"_43252":3037,"_43254":11280,"_43256":2672,"_43258":2673,"_43260":2674,"_43262":3549,"_43264":6091,"_43266":6092,"_43268":6093,"_43270":6094,"_43272":8210,"_43274":8211,"_43276":6095,"_43278":6096,"_43280":5190,"_43282":3380,"_43284":6097,"_43286":6098,"_43288":3550,"_43290":3551,"_43292":3799,"_43294":2675,"_43296":2676,"_43298":2677,"_43300":2678,"_43302":2679,"_43304":6922,"_43306":2680,"_43308":6242,"_43310":2681,"_43312":7789,"_43314":3552,"_43316":6099,"_43318":4332,"_43320":2682,"_43322":3553,"_43324":2683,"_43326":3554,"_43328":4850,"_43330":2684,"_43332":2685,"_43334":2686,"_43336":3381,"_43339":2687,"_43341":2688,"_43343":3271,"_43345":3188,"_43347":3800,"_43349":3189,"_43351":3190,"_43353":12662,"_43355":14169,"_43357":5820,"_43359":5778,"_43361":3801,"_43363":26403,"_43365":2689,"_43367":2690,"_43369":2691,"_43371":2692,"_43373":2693,"_43375":2694,"_43377":2695,"_43379":2696,"_43381":2697,"_43383":3382,"_43385":3555,"_43387":8212,"_43389":13238,"_43391":3950,"_43393":10573,"_43396":6100,"_43398":2698,"_43400":2699,"_43402":2700,"_43404":2701,"_43406":2702,"_43408":2703,"_43410":2704,"_43412":3556,"_43414":2705,"_43416":2706,"_43418":3272,"_43420":2707,"_43422":17535,"_43424":15622,"_43426":2708,"_43428":2709,"_43430":3557,"_43432":17536,"_43434":2710,"_43436":2711,"_43438":2712,"_43440":2713,"_43442":3558,"_43444":5875,"_43446":2714,"_43448":15628,"_43450":2715,"_43452":2716,"_43454":2717,"_43456":31665,"_43458":3559,"_43461":2627,"_43463":2628,"_43465":6089,"_43467":2629,"_43469":2630,"_43471":2994,"_43473":4849,"_43475":7834,"_43477":3654,"_43479":2631,"_43481":3236,"_43483":4518,"_43485":6101,"_43487":9824,"_43489":9013,"_43491":5394,"_43493":5395,"_43495":2718,"_43497":2719,"_43499":2720,"_43501":2721,"_43503":2722,"_43505":2723,"_43507":2724,"_43509":2725,"_43511":2726,"_43513":2727,"_43515":2728,"_43517":2729,"_43519":3299,"_43521":2730,"_43523":2731,"_43525":2732,"_43527":2733,"_43529":6976,"_43531":3560,"_43533":2734,"_43535":3951,"_43537":2735,"_43539":2736,"_43541":2737,"_43543":2738,"_43545":3561,"_43547":3562,"_43549":2739,"_43551":5396,"_43553":4251,"_43555":30797,"_43557":24784,"_43559":36413,"_43561":18890,"_43563":28594,"_43565":3563,"_43567":27284,"_43569":10843,"_43571":14775,"_43573":29191,"_43575":3564,"_43577":3383,"_43579":2740,"_43581":2741,"_43583":2742,"_43585":3565,"_43587":2743,"_43589":2744,"_43591":4347,"_43593":3566,"_43595":2745,"_43597":5671,"_43599":2746,"_43601":2747,"_43603":32277,"_43605":29303,"_43607":2748,"_43609":7361,"_43611":10123,"_43613":15532,"_43615":15526,"_43617":3567,"_43619":7362,"_43621":5995,"_43623":7552,"_43625":3568,"_43627":10124,"_43629":7164,"_43631":2749,"_43633":2750,"_43635":2751,"_43637":2752,"_43639":17155,"_43641":2753,"_43643":2754,"_43645":2755,"_43647":17156,"_43649":2756,"_43651":2757,"_43653":2758,"_43655":5335,"_43657":3569,"_43659":5996,"_43661":2759,"_43663":2760,"_43665":2761,"_43667":2762,"_43669":6265,"_43671":5631,"_43673":2763,"_43675":2764,"_43677":2765,"_43679":2766,"_43681":2767,"_43683":2768,"_43685":3952,"_43687":3953,"_43689":2769,"_43691":2770,"_43693":5997,"_43695":5998,"_43697":7165,"_43699":2771,"_43701":2772,"_43703":33894,"_43705":2773,"_43707":5999,"_43709":10844,"_43711":3570,"_43713":4511,"_43715":2774,"_43717":2775,"_43719":3384,"_43721":2776,"_43723":2777,"_43725":3237,"_43727":2778,"_43729":2779,"_43731":15256,"_43733":2780,"_43735":3571,"_43737":3572,"_43739":2781,"_43741":2782,"_43743":6102,"_43745":11248,"_43747":2783,"_43749":33895,"_43751":2784,"_43753":6000,"_43755":15933,"_43757":2785,"_43759":8266,"_43761":3350,"_43763":5745,"_43765":8238,"_43767":7517,"_43769":7200,"_43771":35804,"_43773":37052,"_43775":36962,"_43777":33869,"_43779":34158,"_43781":28146,"_43783":28152,"_43785":28159,"_43787":21646,"_43789":10686,"_43791":4362,"_43793":4363,"_43795":4364,"_43797":4365,"_43799":4366,"_43801":4367,"_43803":4368,"_43805":4369,"_43807":4370,"_43809":4371,"_43811":4372,"_43813":4373,"_43815":4374,"_43817":4375,"_43819":4376,"_43821":4377,"_43823":4378,"_43825":4379,"_43827":4380,"_43829":4381,"_43831":4382,"_43833":4383,"_43835":4384,"_43837":4385,"_43839":4386,"_43841":4387,"_43843":14954,"_43845":5699,"_43847":22183,"_43849":31135,"_43851":24572,"_43853":8553,"_43855":18004,"_43857":20293,"_43859":21421,"_43861":19817,"_43863":11174,"_43865":26638,"_43867":23128,"_43869":22726,"_43871":14665,"_43873":32040,"_43875":30328,"_43877":13221,"_43879":3573,"_43881":2786,"_43883":2787,"_43885":2788,"_43887":2789,"_43889":3385,"_43891":2790,"_43893":2791,"_43895":3715,"_43897":3574,"_43899":2792,"_43901":3575,"_43903":2793,"_43905":2794,"_43907":2795,"_43909":2796,"_43911":3576,"_43913":2797,"_43915":2798,"_43917":2799,"_43919":2800,"_43921":3577,"_43923":2801,"_43925":2802,"_43927":2803,"_43929":2804,"_43931":2805,"_43933":2806,"_43935":3578,"_43937":2807,"_43939":2808,"_43941":2809,"_43943":4388,"_43945":3579,"_43947":2810,"_43949":2811,"_43951":3802,"_43953":15318,"_43955":3580,"_43957":3581,"_43959":6633,"_43961":3582,"_43963":2812,"_43965":3583,"_43967":2813,"_43969":2814,"_43971":2815,"_43973":3386,"_43975":2816,"_43977":4389,"_43979":3584,"_43981":3585,"_43983":2817,"_43985":4738,"_43987":2818,"_43989":2819,"_43991":2820,"_43993":2821,"_43995":2822,"_43997":2823,"_43999":3387,"_44001":2824,"_44003":2825,"_44005":2826,"_44007":2827,"_44009":2828,"_44011":2829,"_44013":2830,"_44015":2831,"_44017":3954,"_44019":2832,"_44021":2833,"_44023":2834,"_44025":3586,"_44027":2835,"_44029":4390,"_44031":2836,"_44033":3587,"_44035":3803,"_44037":2837,"_44039":3388,"_44041":4391,"_44043":3588,"_44045":2838,"_44047":2839,"_44049":3589,"_44051":3389,"_44053":2840,"_44055":2841,"_44057":3590,"_44059":4392,"_44061":3591,"_44063":2842,"_44065":3592,"_44067":2843,"_44069":7553,"_44071":2844,"_44073":3593,"_44075":3594,"_44077":2845,"_44079":2846,"_44081":2847,"_44083":3595,"_44085":5643,"_44087":13109,"_44089":13239,"_44091":4131,"_44093":2848,"_44095":2849,"_44097":3596,"_44099":7021,"_44101":2850,"_44103":7554,"_44105":3597,"_44107":3598,"_44109":7555,"_44111":2851,"_44113":3390,"_44115":2852,"_44117":2853,"_44119":4393,"_44121":14666,"_44123":4394,"_44125":4395,"_44127":4396,"_44129":4397,"_44131":4398,"_44133":4399,"_44135":13530,"_44137":4400,"_44139":4401,"_44141":4402,"_44143":4403,"_44145":4404,"_44147":12601,"_44149":14667,"_44151":2854,"_44153":14668,"_44155":12594,"_44157":13537,"_44159":3887,"_44161":4405,"_44163":4406,"_44165":4407,"_44167":4408,"_44169":12728,"_44171":4409,"_44173":4427,"_44175":4410,"_44177":10467,"_44179":4411,"_44181":17883,"_44183":4434,"_44185":4441,"_44187":4412,"_44189":4413,"_44191":4414,"_44193":17884,"_44195":6562,"_44197":3014,"_44199":2855,"_44201":7182,"_44203":3599,"_44205":11293,"_44207":3600,"_44209":3601,"_44211":6977,"_44213":4333,"_44215":17647,"_44217":34435,"_44219":18997,"_44221":9949,"_44223":11281,"_44225":2856,"_44227":3602,"_44229":2857,"_44231":2858,"_44233":2859,"_44235":2860,"_44237":2861,"_44239":2862,"_44241":3603,"_44243":2863,"_44245":2864,"_44247":2865,"_44249":2866,"_44251":3955,"_44253":2867,"_44255":2868,"_44257":2869,"_44259":2870,"_44261":5594,"_44263":2871,"_44265":2872,"_44267":2873,"_44269":2874,"_44271":2875,"_44273":2876,"_44275":2877,"_44277":2878,"_44279":2879,"_44281":2880,"_44283":7556,"_44285":6103,"_44287":3391,"_44289":3392,"_44291":2881,"_44293":2882,"_44295":3956,"_44297":2883,"_44299":2884,"_44301":17157,"_44303":8746,"_44305":9890,"_44307":2885,"_44309":2886,"_44311":2887,"_44313":6104,"_44315":3604,"_44317":3676,"_44319":2888,"_44321":2889,"_44323":2890,"_44325":58616,"_44327":3013,"_44329":2229,"_44331":20080,"_44333":6014,"_44335":13290,"_44337":25017,"_44339":20682,"_44341":28364,"_44343":21663,"_44345":18156,"_44347":2230,"_44349":2231,"_44351":2232,"_44353":2233,"_44355":2234,"_44357":3081,"_44359":2235,"_44361":2236,"_44363":2237,"_44365":3355,"_44367":6027,"_44369":6071,"_44371":31488,"_44373":12960,"_44375":3644,"_44377":5064,"_44379":5388,"_44381":5389,"_44383":2238,"_44385":3767,"_44387":3051,"_44389":2239,"_44391":3356,"_44393":4359,"_44395":2240,"_44397":2241,"_44399":5390,"_44401":6072,"_44403":7537,"_44405":7538,"_44407":18917,"_44409":3401,"_44411":5334,"_44413":18918,"_44415":3768,"_44417":2242,"_44419":2243,"_44421":2244,"_44423":2245,"_44425":6073,"_44427":2246,"_44429":14690,"_44431":3052,"_44433":7786,"_44435":3053,"_44437":3054,"_44439":2247,"_44441":3402,"_44443":3055,"_44445":5391,"_44447":4457,"_44449":4458,"_44451":3403,"_44453":5392,"_44455":2248,"_44457":3605,"_44459":16940,"_44461":3606,"_44463":5587,"_44465":3607,"_44467":4992,"_44469":4970,"_44471":25214,"_44473":14986,"_44475":6978,"_44477":36504,"_44479":28365,"_44481":6930,"_44483":5515,"_44485":6105,"_44487":3393,"_44489":3804,"_44491":2891,"_44493":2892,"_44495":2893,"_44497":2894,"_44499":4025,"_44501":2895,"_44503":2896,"_44505":3805,"_44507":3608,"_44509":2897,"_44511":2898,"_44513":2899,"_44515":2900,"_44517":2901,"_44519":6106,"_44521":2902,"_44523":2903,"_44525":2904,"_44527":2905,"_44529":4471,"_44531":2906,"_44533":2907,"_44535":2908,"_44537":2909,"_44539":2910,"_44541":3806,"_44543":2911,"_44545":2912,"_44547":2913,"_44549":2914,"_44551":2915,"_44553":2916,"_44555":2917,"_44557":2918,"_44559":3807,"_16417":4472,"_44562":3609,"_44564":2919,"_44566":2920,"_44568":2921,"_44570":2922,"_44572":2923,"_44574":3610,"_44576":2924,"_44578":2925,"_44580":2926,"_44582":3611,"_44584":2927,"_44586":2928,"_44588":2929,"_16490":2930,"_44591":3038,"_44593":4597,"_44595":3808,"_44597":4245,"_44599":19753,"_44601":2931,"_44603":7557,"_44605":7974,"_44607":3612,"_44609":21042,"_44611":3739,"_44613":3809,"_44615":29686,"_44617":25612,"_44619":7276,"_44621":4252,"_44623":18708,"_44625":24731,"_44627":5779,"_44629":11282,"_44631":11283,"_44633":11284,"_44635":8766,"_44637":5932,"_44639":2932,"_44641":2995,"_44643":2933,"_44645":2934,"_44647":2935,"_44649":2936,"_44651":3394,"_44653":3613,"_44655":3614,"_44657":7558,"_44659":7837,"_44661":2937,"_44663":6458,"_44665":3615,"_44667":3616,"_44669":2938,"_44671":5792,"_44673":6022,"_44675":2939,"_44677":2940,"_44679":2941,"_44681":3677,"_44683":13116,"_44685":3957,"_44687":3958,"_44689":2942,"_44691":8009,"_44693":7559,"_44695":2943,"_44697":2944,"_44699":17158,"_44701":2945,"_44703":2946,"_44705":2947,"_44707":2948,"_44709":2949,"_44711":4113,"_44713":2950,"_44715":17159,"_44717":2951,"_44719":2952,"_44721":2953,"_44723":2954,"_44725":2955,"_44727":9891,"_44729":3617,"_44731":9892,"_44733":25336,"_44735":30894,"_44737":17733,"_44739":22011,"_36662":21549,"_44742":9893,"_44744":15370,"_44746":30895,"_44748":8299,"_44750":17734,"_44752":21550,"_44754":9894,"_44756":30896,"_37339":8300,"_44759":17735,"_44761":22012,"_44763":21551,"_44765":9895,"_44767":25337,"_44769":30897,"_44771":17736,"_37329":31537,"_44774":9896,"_44776":17737,"_44778":21552,"_37349":9897,"_44781":25338,"_44783":30898,"_37365":8301,"_44786":17738,"_44788":22013,"_37354":31538,"_44791":21553,"_44793":4415,"_44795":8741,"_44797":11285,"_44799":4922,"_44801":9014,"_44803":4334,"_44805":3618,"_44807":6001,"_44809":11408,"_44811":3619,"_44813":3162,"_44815":11981,"_44817":6107,"_44819":5336,"_44821":8021,"_44823":3238,"_44825":6301,"_44827":3620,"_44829":3621,"_44831":3622,"_44833":3623,"_44835":3624,"_44837":11286,"_44839":5191,"_44841":2956,"_44843":12127,"_44845":4217,"_44847":8367,"_16496":7634,"_44850":7560,"_44852":5192,"_44854":6640,"_44856":3625,"_44858":8428,"_44860":6683,"_44862":4827,"_44864":6108,"_44866":12007,"_44868":2957,"_44870":2958,"_44872":5481,"_44874":7754,"_44876":12049,"_44878":4473,"_44880":6200,"_44882":6923,"_44884":6819,"_44886":2959,"_44888":11582,"_44890":4159,"_44892":8022,"_44894":4598,"_44896":7561,"_44898":7562,"_44900":8052,"_44902":2996,"_44904":8023,"_44906":5482,"_44908":7563,"_44910":6109,"_44912":12092,"_44914":7157,"_44916":12298,"_44918":4474,"_44920":3626,"_44922":3627,"_44924":7419,"_44926":7564,"_44928":5483,"_44930":4851,"_44932":3395,"_44934":11736,"_44936":4335,"_44938":3628,"_44940":5895,"_44942":11878,"_44944":6122,"_44946":11287,"_44948":11884,"_44950":6110,"_44952":7706,"_44954":5193,"_44956":6659,"_44958":3810,"_44960":2997,"_44962":11180,"_44964":2998,"_44966":4336,"_44968":3629,"_44970":10641,"_44972":3300,"_44974":3163,"_44976":3164,"_44978":10320,"_44980":4828,"_44982":3239,"_44984":3630,"_44986":11674,"_44988":8673,"_44990":6266,"_44992":11440,"_44994":11416,"_44996":8674,"_44998":2960,"_45000":5858,"_45002":8675,"_45004":8053,"_45006":6002,"_45008":9015,"_45010":8361,"_45012":7158,"_45014":4475,"_45016":8151,"_45018":12420,"_45020":7883,"_45022":12436,"_45024":4605,"_45026":3631,"_45028":10337,"_45030":3632,"_45032":6003,"_45034":8024,"_45036":6004,"_45038":6111,"_45040":6820,"_45042":2999,"_45044":2961,"_45046":11453,"_45048":7565,"_45050":3811,"_45052":6112,"_45054":3633,"_45056":6801,"_45058":3301,"_45060":9057,"_45062":5979,"_45064":9397,"_45066":3217,"_45068":3634,"_45070":7606,"_45072":9016,"_45074":2962,"_45076":7995,"_45078":10822,"_45080":2963,"_45082":3716,"_45084":8854,"_45086":6113,"_45088":7566,"_45090":3165,"_45092":5738,"_45094":3921,"_45096":6005,"_45098":6821,"_45100":7567,"_45102":4490,"_45104":5337,"_45106":4540,"_45108":8025,"_45110":6006,"_45112":2964,"_37455":5484,"_45115":11628,"_45117":3635,"_45119":6007,"_45121":3636,"_45123":5338,"_45125":6114,"_45127":9017,"_45129":6115,"_45131":6302,"_45133":12245,"_45135":3637,"_45137":3240,"_45139":7996},[60816,60817,60818,60819,60820,60821,60822,60823,60824,60825,60826,60827,60828,60829,60830,60831,60832,60833,60834,60835,60836,60837,60838,60839,60840,60841,60842,60843,60844,60845,60846,60847,60848,60849,60850,60851,60852,60853,60854,60855,60856,60857,60858,60859,60860,60861,60862,60863,60864,60865,60866,60867,60868,60869,60870,60871,60872,60873,60874,60875,60876,60877,60878,60879,60880,60881,60882,60883,60884,60885,60886,60887,60888,60889,60890,60891,60892,60893,60894,60895,60896,60897,60898,60899,60900,60901,60902,60903,60904,60905,60906,60907,60908,60909,60910,60911,60912,60913,60914,60915,60916,60917,60918,60919,60920,60921,60922,60923,60924,60925,60926,60927,60928,60929,60930,60931,60932,60933,60934,60935,60936,60937,60938,60939,60940,60941,60942,60943,60944,60945,60946,60947,60948,60949,60950,60951,60952,60953,60954,60955,60956,60957,60958,60959,60960,60961,60962,60963,60964,60965,60966,60967,60968,60969,60970,60971,60972,60973,60974,60975,60976,60977,60978,60979,60980,60981,60982,60983,60984,60985,60986,60987,60988,60989,60990,60991,60992,60993,60994,60995,60996,60997,60998,60999,61000,61001,61002,61003,61004,61005,61006,61007,61008,61009,61010,61011,61012,61013,61014,61015,61016,61017,61018,61019,61020,61021,61022,61023,61024,61025,61026,61027,61028,61029,61030,61031,61032,61033,61034,61035,61036,61037,61038,61039,61040,61041,61042,61043,61044,61045,61046,61047,61048,61049,61050,61051,61052,61053,61054,61055,61056,61057,61058,61059,61060,61061,61062,61063,61064,61065,61066,61067,61068,61069,61070,61071,61072,61073,61074,61075,61076,61077,61078,61079,61080,61081,61082,61083,61084,61085,61086,61087,61088,61089,61090,61091,61092,61093,61094,61095,61096,61097,61098,61099,61100,61101,61102,61103,61104,61105,61106,61107,61108,61109,61110,61111,61112,61113,61114,61115,61116,61117,61118,61119,61120,61121,61122,61123,61124,61125,61126,61127,61128,61129,61130,61131,61132,61133,61134,61135,61136,61137,61138,61139,61140,61141,61142,61143,61144,61145,61146,61147,61148,61149,61150,61151,61152,61153,61154,61155,61156,61157,61158,61159,61160,61161,61162,61163,61164,61165,61166,61167,61168,61169,61170,61171,61172,61173,61174,61175,61176,61177,61178,61179,61180,61181,61182,61183,61184,61185,61186,61187,61188,61189,61190,61191,61192,61193,61194,61195,61196,61197,61198,61199,61200,61201,61202,61203,61204,61205,61206,61207,61208,61209,61210,61211,61212,61213,61214,61215,61216,61217,61218,61219,61220,61221,61222,61223,61224,61225,61226,61227,61228,61229,61230,61231,61232,61233,61234,61235,61236,61237,61238,61239,61240,61241,61242,61243,61244,61245,61246,61247,61248,61249,61250,61251,61252,61253,61254,61255,61256,61257,61258,61259,61260,61261,61262,61263,61264,61265,61266,61267,61268,61269,61270,61271,61272,61273,61274,61275,61276,61277,61278,61279,61280,61281,61282,61283,61284,61285,61286,61287,61288,61289,61290,61291,61292,61293,61294,61295,61296,61297,61298,61299,61300,61301,61302,61303,61304,61305,61306,61307,61308,61309,61310,61311,61312,61313,61314,61315,61316,61317,61318,61319,61320,61321,61322,61323,61324,61325,61326,61327,61328,61329,61330,61331,61332,61333,61334,61335,61336,61337,61338,61339,61340,61341,61342,61343,61344,61345,61346,61347,61348,61349,61350,61351,61352,61353,61354,61355,61356,61357,61358,61359,61360,61361,61362,61363,61364,61365,61366,61367,61368,61369,61370,61371,61372,61373,61374,61375,61376,61377,61378,61379,61380,61381,61382,61383,61384,61385,61386,61387,61388,61389,61390,61391,61392,61393,61394,61395,61396,61397,61398,61399,61400,61401,61402,61403,61404,61405,61406,61407,61408,61409,61410,61411,61412,61413,61414,61415,61416,61417,61418,61419,61420,61421,61422,61423,61424,61425,61426,61427,61428,61429,61430,61431,61432,61433,61434,61435,61436,61437,61438,61439,61440,61441,61442,61443,61444,61445,61446,61447,61448,61449,61450,61451,61452,61453,61454,61455,61456,61457,61458,61459,61460,61461,61462,61463,61464,61465,61466,61467,61468,61469,61470,61471,61472,61473,61474,61475,61476,61477,61478,61479,61480,61481,61482,61483,61484,61485,61486,61487,61488,61489,61490,61491,61492,61493,61494,61495,61496,61497,61498,61499,61500,61501,61502,61503,61504,61505,61506,61507,61508,61509,61510,61511,61512,61513,61514,61515,61516,61517,61518,61519,61520,61521,61522,61523,61524,61525,61526,61527,61528,61529,61530,61531,61532,61533,61534,61535,61536,61537,61538,61539,61540,61541,61542,61543,61544,61545,61546,61547,61548,61549,61550,61551,61552,61553,61554,61555,61556,61557,61558,61559,61560,61561,61562,61563,61564,61565,61566,61567,61568,61569,61570,61571,61572,61573,61574,61575,61576,61577,61578,61579,61580,61581,61582,61583,61584,61585,61586,61587,61588,61589,61590,61591,61592,61593,61594,61595,61596,61597,61598,61599,61600,61601,61602,61603,61604,61605,61606,61607,61608,61609,61610,61611,61612,61613,61614,61615,61616,61617,61618,61619,61620,61621,61622,61623,61624,61625,61626,61627,61628,61629,61630,61631,61632,61633,61634,61635,61636,61637,61638,61639,61640,61641,61642,61643,61644,61645,61646,61647,61648,61649,61650,61651,61652,61653,61654,61655,61656,61657,61658,61659,61660,61661,61662,61663,61664,61665,61666,61667,61668,61669,61670,61671,61672,61673,61674,61675,61676,61677,61678,61679,61680,61681,61682,61683,61684,61685,61686,61687,61688,61689,61690,61691,61692,61693,61694,61695,61696,61697,61698,61699,61700,61701,61702,61703,61704,61705,61706,61707,61708,61709,61710,61711,61712,61713,61714,61715,61716,61717,61718,61719,61720,61721,61722,61723,61724,61725,61726,61727,61728,61729,61730,61731,61732,61733,61734,61735,61736,61737,61738,61739,61740,61741,61742,61743,61744,61745,61746,61747,61748,61749,61750,61751,61752,61753,61754,61755,61756,61757,61758,61759,61760,61761,61762,61763,61764,61765,61766,61767,61768,61769,61770,61771,61772,61773,61774,61775,61776,61777,61778,61779,61780,61781,61782,61783,61784,61785,61786,61787,61788,61789,61790,61791,61792,61793,61794,61795,61796,61797,61798,61799,61800,61801,61802,61803,61804,61805,61806,61807,61808,61809,61810,61811,61812,61813,61814,61815,61816,61817,61818,61819,61820,61821,61822,61823,61824,61825,61826,61827,61828,61829,61830,61831,61832,61833,61834,61835,61836,61837,61838,61839,61840,61841,61842,61843,61844,61845,61846,61847,61848,61849,61850,61851,61852,61853,61854,61855,61856,61857,61858,61859,61860,61861,61862,61863,61864,61865,61866,61867,61868,61869,61870,61871,61872,61873,61874,61875,61876,61877,61878,61879,61880,61881,61882,61883,61884,61885,61886,61887,61888,61889,61890,61891,61892,61893,61894,61895,61896,61897,61898,61899,61900,61901,61902,61903,61904,61905,61906,61907,61908,61909,61910,61911,61912,61913,61914,61915,61916,61917,61918,61919,61920,61921,61922,61923,61924,61925,61926,61927,61928,61929,61930,61931,61932,61933,61934,61935,61936,61937,61938,61939,61940,61941,61942,61943,61944,61945,61946,61947,61948,61949,61950,61951,61952,61953,61954,61955,61956,61957,61958,61959,61960,61961,61962,61963,61964,61965,61966,61967,61968,61969,61970,61971,61972,61973,61974,61975,61976,61977,61978,61979,61980,61981,61982,61983,61984,61985,61986,61987,61988,61989,61990,61991,61992,61993,61994,61995,61996,61997,61998,61999,62000,62001,62002,62003,62004,62005,62006,62007,62008,62009,62010,62011,62012,62013,62014,62015,62016,62017,62018,62019,62020,62021,62022,62023,62024,62025,62026,62027,62028,62029,62030,62031,62032,62033,62034,62035,62036,62037,62038,62039,62040,62041,62042,62043,62044,62045,62046,62047,62048,62049,62050,62051,62052,62053,62054,62055,62056,62057,62058,62059,62060,62061,62062,62063,62064,62065,62066,62067,62068,62069,62070,62071,62072,62073,62074,62075,62076,62077,62078,62079,62080,62081,62082,62083,62084,62085,62086,62087,62088,62089,62090,62091,62092,62093,62094,62095,62096,62097,62098,62099,62100,62101,62102,62103,62104,62105,62106,62107,62108,62109,62110,62111,62112,62113,62114,62115,62116,62117,62118,62119,62120,62121,62122,62123,62124,62125,62126,62127,62128,62129,62130,62131,62132,62133,62134,62135,62136,62137,62138,62139,62140,62141,62142,62143,62144,62145,62146,62147,62148,62149,62150,62151,62152,62153,62154,62155,62156,62157,62158,62159,62160,62161,62162,62163,62164,62165,62166,62167,62168,62169,62170,62171,62172,62173,62174,62175,62176,62177,62178,62179,62180,62181,62182,62183,62184,62185,62186,62187,62188,62189,62190,62191,62192,62193,62194,62195,62196,62197,62198,62199,62200,62201,62202,62203,62204,62205,62206,62207,62208,62209,62210,62211,62212,62213,62214,62215,62216,62217,62218,62219,62220,62221,62222,62223,62224,62225,62226,62227,62228,62229,62230,62231,62232,62233,62234,62235,62236,62237,62238,62239,62240,62241,62242,62243,62244,62245,62246,62247,62248,62249,62250,62251,62252,62253,62254,62255,62256,62257,62258,62259,62260,62261,62262,62263,62264,62265,62266,62267,62268,62269,62270,62271,62272,62273,62274,62275,62276,62277,62278,62279,62280,62281,62282,62283,62284,62285,62286,62287,62288,62289,62290,62291,62292,62293,62294,62295,62296,62297,62298,62299,62300,62301,62302,62303,62304,62305,62306,62307,62308,62309,62310,62311,62312,62313,62314,62315,62316,62317,62318,62319,62320,62321,62322,62323,62324,62325,62326,62327,62328,62329,62330,62331,62332,62333,62334,62335,62336,62337,62338,62339,62340,62341,62342,62343,62344,62345,62346,62347,62348,62349,62350,62351,62352,62353,62354,62355,62356,62357,62358,62359,62360,62361,62362,62363,62364,62365,62366,62367,62368,62369,62370,62371,62372,62373,62374,62375,62376,62377,62378,62379,62380,62381,62382,62383,62384,62385,62386,62387,62388,62389,62390,62391,62392,62393,62394,62395,62396,62397,62398,62399,62400,62401,62402,62403,62404,62405,62406,62407,62408,62409,62410,62411,62412,62413,62414,62415,62416,62417,62418,62419,62420,62421,62422,62423,62424,62425,62426,62427,62428,62429,62430,62431,62432,62433,62434,62435,62436,62437,62438,62439,62440,62441,62442,62443,62444,62445,62446,62447,62448,62449,62450,62451,62452,62453,62454,62455,62456,62457,62458,62459,62460,62461,62462,62463,62464,62465,62466,62467,62468,62469,62470,62471,62472,62473,62474,62475,62476,62477,62478,62479,62480,62481,62482,62483,62484,62485,62486,62487,62488,62489,62490,62491,62492,62493,62494,62495,62496,62497,62498,62499,62500,62501,62502,62503,62504,62505,62506,62507,62508,62509,62510,62511,62512,62513,62514,62515,62516,62517,62518,62519,62520,62521,62522,62523,62524,62525,62526,62527,62528,62529,62530,62531,62532,62533,62534,62535,62536,62537,62538,62539,62540,62541,62542,62543,62544,62545,62546,62547,62548,62549,62550,62551,62552,62553,62554,62555,62556,62557,62558,62559,62560,62561,62562,62563,62564,62565,62566,62567,62568,62569,62570,62571,62572,62573,62574,62575,62576,62577,62578,62579,62580,62581,62582,62583,62584,62585,62586,62587,62588,62589,62590,62591,62592,62593,62594,62595,62596,62597,62598,62599,62600,62601,62602,62603,62604,62605,62606,62607,62608,62609,62610,62611,62612,62613,62614,62615,62616,62617,62618,62619,62620,62621,62622,62623,62624,62625,62626,62627,62628,62629,62630,62631,62632,62633,62634,62635,62636,62637,62638,62639,62640,62641,62642,62643,62644,62645,62646,62647,62648,62649,62650,62651,62652,62653,62654,62655,62656,62657,62658,62659,62660,62661,62662,62663,62664,62665,62666,62667,62668,62669,62670,62671,62672,62673,62674,62675,62676,62677,62678,62679,62680,62681,62682,62683,62684,62685,62686,62687,62688,62689,62690,62691,62692,62693,62694,62695,62696,62697,62698,62699,62700,62701,62702,62703,62704,62705,62706,62707,62708,62709,62710,62711,62712,62713,62714,62715,62716,62717,62718,62719,62720,62721,62722,62723,62724,62725,62726,62727,62728,62729,62730,62731,62732,62733,62734,62735,62736,62737,62738,62739,62740,62741,62742,62743,62744,62745,62746,62747,62748,62749,62750,62751,62752,62753,62754,62755,62756,62757,62758,62759,62760,62761,62762,62763,62764,62765,62766,62767,62768,62769,62770,62771,62772,62773,62774,62775,62776,62777,62778,62779,62780,62781,62782,62783,62784,62785,62786,62787,62788,62789,62790,62791,62792,62793,62794,62795,62796,62797,62798,62799,62800,62801,62802,62803,62804,62805,62806,62807,62808,62809,62810,62811,62812,62813,62814,62815,62816,62817,62818,62819,62820,62821,62822,62823,62824,62825,62826,62827,62828,62829,62830,62831,62832,62833,62834,62835,62836,62837,62838,62839,62840,62841,62842,62843,62844,62845,62846,62847,62848,62849,62850,62851,62852,62853,62854,62855,62856,62857,62858,62859,62860,62861,62862,62863,62864,62865,62866,62867,62868,62869,62870,62871,62872,62873,62874,62875,62876,62877,62878,62879,62880,62881,62882,62883,62884,62885,62886,62887,62888,62889,62890,62891,62892,62893,62894,62895,62896,62897,62898,62899,62900,62901,62902,62903,62904,62905,62906,62907,62908,62909,62910,62911,62912,62913,62914,62915,62916,62917,62918,62919,62920,62921,62922,62923,62924,62925,62926,62927,62928,62929,62930,62931,62932,62933,62934,62935,62936,62937,62938,62939,62940,62941,62942,62943,62944,62945,62946,62947,62948,62949,62950,62951,62952,62953,62954,62955,62956,62957,62958,62959,62960,62961,62962,62963,62964,62965,62966,62967,62968,62969,62970,62971,62972,62973,62974,62975,62976,62977,62978,62979,62980,62981,62982,62983,62984,62985,62986,62987,62988,62989,62990,62991,62992,62993,62994,62995,62996,62997,62998,62999,63000,63001,63002,63003,63004,63005,63006,63007,63008,63009],[6562,1792],[3014,1792],[2855,1792],[7182,1792],[3599,1792],[11293,1792],[3600,1792],[3601,1792],[6977,1792],[4333,1792],[17647,1792],[34435,1792],[18997,1792],[9949,1792],[11281,1792],[2856,1792],[3602,1792],[2857,1792],[2858,1792],[2859,1792],[2860,1792],[2861,1792],[2862,1792],[3603,1792],[2863,1792],[2864,1792],[2865,1792],[2866,1792],[3955,1792],[2867,1792],[2868,1792],[2869,1792],[2870,1792],[5594,1792],[2871,1792],[2872,1792],[2873,1792],[2874,1792],[2875,1792],[2876,1792],[2877,1792],[2878,1792],[2879,1792],[2880,1792],[7556,1792],[6103,1792],[3391,1792],[3392,1792],[2881,1792],[2882,1792],[3956,1792],[2883,1792],[2884,1792],[17157,1792],[8746,1792],[9890,1792],[2885,1792],[2886,1792],[2887,1792],[6104,1792],[3604,1792],[3676,1792],[2888,1792],[2889,1792],[2890,1792],[3605,1792],[3035,550],[2407,550],[3013,11],[2229,11],[20080,11],[6014,11],[13290,11],[25017,11],[20682,11],[28364,11],[21663,11],[18156,11],[2230,11],[2231,11],[2232,11],[2233,11],[2234,11],[3081,11],[2235,11],[2236,11],[2237,11],[3355,11],[6027,11],[6071,11],[31488,11],[12960,11],[3644,11],[5064,11],[5388,11],[5389,11],[2238,11],[3767,11],[3051,11],[2239,11],[3356,11],[4359,11],[2240,11],[2241,11],[5390,11],[6072,11],[7537,11],[7538,11],[18917,51],[3401,51],[5334,51],[18918,51],[3768,51],[2242,51],[2243,51],[2244,51],[2245,51],[6073,51],[2246,51],[14690,62],[3052,62],[7786,62],[3053,62],[3054,62],[2247,62],[3402,62],[3055,62],[5391,62],[4457,62],[4458,62],[3403,62],[5392,62],[2248,62],[9417,62],[7539,62],[3404,62],[5984,62],[2249,62],[3405,62],[2250,62],[2251,62],[3254,62],[6260,62],[3980,62],[2252,62],[2253,62],[20543,62],[36118,62],[7540,62],[36125,62],[8860,62],[36132,62],[7541,62],[36139,62],[8861,62],[36146,62],[8206,62],[36153,62],[3177,62],[36160,62],[6074,62],[36167,62],[8207,62],[36179,62],[7542,62],[36192,62],[7543,62],[2254,62],[3357,62],[2255,62],[3056,62],[2977,62],[5873,62],[3057,62],[3406,62],[3152,62],[7718,62],[5321,62],[4459,62],[5393,62],[2256,62],[2257,62],[3407,62],[3408,62],[3927,62],[6075,62],[6076,62],[2258,62],[2259,62],[3409,62],[2260,62],[4460,62],[4324,62],[2261,62],[2262,62],[2263,62],[2264,62],[3928,62],[2265,62],[2266,62],[3929,62],[2267,62],[2268,62],[2269,62],[3410,62],[2270,62],[8236,149],[3411,149],[22857,149],[13237,149],[3198,149],[2271,149],[16539,149],[5985,149],[3412,149],[2272,149],[6049,149],[4461,149],[3153,149],[5986,149],[16540,149],[3104,149],[3413,149],[3154,149],[3414,149],[2273,149],[3415,149],[13757,170],[3058,170],[13758,170],[3082,170],[5881,170],[4845,170],[16199,170],[5882,170],[5883,170],[4772,170],[24839,170],[5884,170],[6736,170],[3059,170],[2274,170],[17138,170],[2275,170],[3769,170],[5538,170],[3930,170],[3178,170],[3416,170],[17139,170],[2276,170],[2277,170],[3770,170],[2278,170],[17140,170],[2279,170],[2280,170],[3417,170],[2281,170],[3358,170],[2282,170],[2283,170],[2284,170],[2285,170],[2286,170],[4486,170],[4487,170],[2287,170],[2288,170],[2289,170],[3418,170],[2290,170],[3419,170],[3771,170],[2291,170],[3255,170],[3256,170],[3257,170],[3258,170],[3212,170],[2292,170],[2293,170],[2294,170],[2295,170],[2296,170],[2297,170],[2298,170],[2299,170],[2300,170],[2301,170],[6050,170],[2302,170],[2303,170],[2304,170],[2305,170],[6299,170],[2306,170],[3772,170],[2307,170],[2308,170],[4510,170],[2309,170],[2310,170],[2311,170],[2312,170],[6051,170],[3090,170],[5182,170],[2313,170],[2314,170],[3259,170],[16235,170],[5987,170],[6216,170],[2315,170],[3420,170],[3421,170],[2316,170],[3422,170],[3423,170],[3424,170],[3425,170],[5476,170],[3426,170],[5477,170],[8296,170],[3773,170],[15117,170],[7454,170],[15118,170],[2317,170],[3774,170],[4360,170],[2318,170],[2319,170],[3775,170],[2320,170],[2321,170],[2322,170],[2323,170],[2324,170],[3427,170],[2978,170],[3428,170],[16934,170],[3429,170],[5478,170],[3430,170],[2979,170],[3359,170],[2325,170],[17141,170],[3431,170],[2326,170],[2327,170],[4488,170],[2328,170],[17142,170],[3360,170],[2329,170],[2330,170],[17143,170],[2331,170],[2332,170],[2333,170],[2334,170],[3776,170],[17144,170],[3777,170],[17145,170],[3931,170],[2335,170],[2336,170],[2337,170],[3361,170],[3432,170],[3433,170],[3434,170],[3435,170],[2338,170],[2339,170],[4489,170],[3436,170],[2340,170],[2341,170],[4645,170],[4462,170],[4652,170],[7827,170],[7544,170],[7828,170],[7545,170],[3674,170],[4646,170],[2342,170],[3231,170],[2343,170],[2344,170],[2345,170],[2346,170],[2347,170],[3437,170],[5960,170],[2348,170],[2349,170],[4825,170],[3438,170],[2350,170],[3645,170],[3362,170],[2351,170],[2352,170],[3260,170],[2353,170],[2354,170],[3261,170],[3439,170],[3440,170],[3441,170],[3363,170],[3442,170],[3443,170],[3155,170],[3444,170],[2355,170],[3262,170],[4846,170],[4847,170],[4848,170],[23798,170],[3445,170],[3263,170],[3446,170],[3447,170],[3932,170],[4361,170],[3933,170],[3934,170],[4496,170],[2356,170],[2357,170],[8297,170],[6300,170],[2358,170],[3448,170],[8463,170],[2359,170],[3449,170],[3450,170],[3451,170],[3778,170],[2360,170],[3452,170],[4663,170],[5874,170],[18307,170],[2361,170],[3453,170],[7038,170],[6077,170],[2362,170],[12933,170],[3454,170],[2363,170],[2364,170],[3232,170],[2365,170],[3140,170],[8298,170],[2366,170],[4778,170],[3364,170],[2367,170],[2368,170],[4779,170],[3455,170],[2369,170],[5511,170],[5750,170],[6052,170],[2370,170],[2371,170],[3456,170],[3457,170],[2372,170],[3779,170],[2373,170],[3458,170],[3060,170],[2980,170],[2981,170],[2982,170],[2983,170],[3061,170],[2984,170],[3062,170],[2985,170],[3063,170],[2986,170],[2987,170],[2988,170],[2374,170],[2989,170],[7829,446],[3459,446],[22218,446],[22219,446],[7830,446],[9607,446],[2375,446],[6261,446],[2376,446],[6021,446],[2377,446],[2378,446],[2379,446],[2380,446],[2381,446],[3460,446],[2382,446],[17146,446],[3461,446],[7770,446],[24256,466],[3462,466],[8833,466],[19890,466],[20526,466],[8822,466],[13250,466],[3463,466],[2383,466],[8834,466],[8835,466],[3464,466],[8836,466],[13251,466],[3465,466],[2384,466],[2385,466],[2386,466],[5988,466],[2387,466],[3285,466],[5798,466],[5799,466],[13339,466],[25962,466],[13340,466],[13714,466],[7510,466],[3466,466],[3467,466],[3468,466],[3469,466],[26836,466],[3470,466],[3471,466],[25059,466],[25060,466],[8273,466],[3472,466],[3473,466],[25061,466],[25062,466],[31515,466],[3474,466],[3475,466],[25063,466],[25064,466],[6864,466],[6053,466],[6054,466],[25065,466],[25066,466],[3646,466],[3365,466],[2388,466],[17147,466],[2389,466],[2390,466],[3780,466],[2391,466],[6262,466],[2392,466],[8208,466],[2393,466],[2394,466],[2395,466],[2396,466],[2397,466],[2398,466],[5790,466],[2399,466],[2400,466],[5989,466],[4044,466],[2401,466],[3476,466],[3027,466],[2402,466],[2403,466],[3477,466],[2404,466],[3478,466],[2405,466],[2406,466],[13333,552],[3479,552],[14356,552],[30104,552],[3292,552],[13480,552],[13741,552],[14153,552],[15621,552],[23957,552],[23973,552],[24067,552],[7273,552],[7322,552],[7329,552],[7342,552],[29923,552],[28820,552],[29433,552],[18822,552],[36385,552],[9691,552],[10668,552],[9046,552],[26244,552],[26321,552],[26332,552],[25514,552],[27835,552],[35285,552],[31447,552],[4463,552],[3156,552],[13341,552],[13759,552],[2408,552],[2409,552],[2410,552],[2411,552],[2412,552],[2413,552],[2414,552],[2415,552],[2416,552],[2417,552],[2418,552],[4464,552],[9555,552],[2419,552],[2420,552],[3781,552],[13334,552],[5512,552],[18751,552],[9730,552],[2421,552],[2422,552],[2423,552],[2424,552],[2425,552],[4465,552],[5183,552],[2426,552],[2427,552],[2428,552],[11266,552],[4466,552],[9703,619],[3480,619],[7605,619],[13342,619],[3247,619],[8653,619],[8654,619],[7831,619],[32538,619],[32539,619],[14933,619],[22492,619],[6078,619],[4325,619],[26213,619],[9534,619],[13760,619],[7257,619],[16666,619],[20784,619],[9692,619],[14465,619],[3186,619],[10896,619],[2429,619],[2430,619],[2431,619],[2432,619],[2433,619],[22668,619],[3481,619],[2434,619],[3482,619],[3483,619],[6079,619],[2435,619],[4595,619],[6080,619],[2436,619],[3248,619],[2437,619],[2438,619],[2439,619],[4497,619],[2440,619],[3157,619],[2441,619],[2442,619],[12751,619],[12752,619],[2443,619],[2444,619],[12753,619],[2445,619],[5097,619],[12754,619],[2446,619],[2447,619],[2448,619],[2449,619],[3484,619],[3485,619],[3647,619],[2450,619],[2451,619],[2452,619],[3187,619],[3486,619],[3648,619],[2453,619],[2454,619],[3487,619],[2455,619],[4326,619],[3649,619],[2456,619],[3488,619],[2457,619],[2458,619],[3489,619],[2459,619],[2460,619],[2461,619],[2462,619],[22669,619],[2463,619],[3366,619],[2464,619],[2465,619],[2466,619],[2467,619],[2468,619],[8209,619],[6681,619],[6248,619],[2469,619],[2470,619],[2471,619],[3213,619],[3158,619],[2472,619],[2473,619],[4327,619],[3367,619],[2474,619],[2475,619],[2476,619],[4328,619],[2477,619],[2478,619],[2479,619],[2480,619],[3675,619],[3490,619],[3491,619],[13761,619],[2481,619],[27963,619],[2482,619],[3782,619],[2483,619],[3783,619],[2484,619],[2485,619],[2486,619],[2487,619],[2488,619],[35815,746],[2489,746],[11267,746],[2490,746],[16541,746],[21506,746],[10465,746],[10374,746],[21507,746],[2491,746],[4031,746],[3492,746],[2492,746],[2493,746],[2494,746],[3935,746],[6561,746],[3493,746],[3214,746],[3179,746],[2495,746],[21499,746],[6652,746],[24173,746],[36465,746],[10381,746],[4467,746],[9069,746],[10358,746],[2496,746],[29244,746],[29245,746],[2497,746],[29189,746],[29190,746],[2498,746],[7737,746],[7738,746],[2499,746],[23237,746],[17451,746],[3494,746],[25994,746],[26414,746],[3936,746],[2500,746],[21500,746],[6653,746],[24174,746],[12661,746],[25676,746],[4596,746],[23238,746],[17452,746],[3495,746],[25995,746],[26415,746],[3937,746],[4935,804],[3496,804],[20889,804],[20890,804],[13787,804],[7546,804],[18269,804],[4681,804],[7092,804],[17199,804],[35816,804],[7787,804],[4936,804],[4937,804],[3938,804],[3497,804],[3784,804],[3215,804],[7547,804],[7548,804],[19627,804],[3498,804],[13343,804],[17148,804],[3499,804],[3500,804],[6134,804],[11268,804],[18270,804],[11269,804],[3501,804],[2501,804],[7832,804],[8789,804],[2502,804],[3502,804],[2503,804],[6920,804],[3036,804],[2504,804],[3939,804],[36867,804],[35138,804],[26397,804],[13344,804],[34450,804],[3940,804],[18039,804],[3233,804],[5777,804],[4944,804],[12925,804],[6081,804],[12926,804],[5791,804],[5184,804],[2990,804],[9391,804],[5023,804],[3503,804],[4938,804],[2505,804],[3785,804],[3234,804],[3941,804],[3942,804],[3943,804],[2506,804],[2507,804],[3981,804],[2508,804],[6695,875],[3264,875],[6696,875],[6682,875],[15932,875],[2509,875],[2510,875],[2511,875],[2512,875],[3159,875],[3368,875],[4186,875],[3160,875],[2513,875],[2514,875],[2515,875],[3216,875],[2516,875],[2517,875],[2518,875],[36503,895],[3504,895],[29949,895],[6347,895],[6082,895],[13678,895],[6348,895],[11259,895],[5479,895],[6349,895],[17548,895],[17549,895],[6083,895],[17645,895],[17646,895],[2519,895],[10466,895],[2520,895],[2521,895],[2522,895],[2523,895],[2524,895],[2525,895],[2526,895],[3505,895],[2527,895],[3369,895],[3650,895],[3370,895],[3371,895],[6350,895],[2528,895],[6084,895],[2529,895],[2530,895],[2531,895],[6085,895],[5513,895],[2532,895],[3506,895],[2533,895],[8373,895],[3507,895],[4890,895],[5480,895],[4896,895],[17550,895],[6351,895],[2534,895],[6352,895],[2535,895],[3508,895],[3651,895],[5514,895],[25611,895],[2536,895],[2537,895],[2538,895],[3509,895],[2539,895],[7719,895],[2540,895],[2541,895],[5065,895],[2542,895],[2543,895],[2544,895],[2545,895],[2546,895],[6353,895],[2547,895],[2548,895],[3510,895],[6921,968],[3511,968],[26287,968],[28809,968],[24000,968],[3786,968],[6086,968],[2549,968],[2550,968],[3044,968],[6255,968],[4468,968],[2551,968],[2552,968],[5990,968],[2553,968],[2554,968],[2555,968],[3512,986],[2556,986],[26689,986],[9261,986],[2557,986],[2558,986],[3513,986],[2991,986],[3787,986],[3514,986],[2559,986],[2560,986],[3788,986],[2561,986],[7549,986],[2562,986],[2992,986],[22535,1003],[3515,1003],[27545,1003],[12961,1003],[13039,1003],[13073,1003],[13051,1003],[13023,1003],[12980,1003],[12987,1003],[12994,1003],[26700,1003],[7612,1003],[8764,1003],[16872,1003],[30596,1003],[30340,1003],[13080,1003],[22030,1003],[8237,1003],[30633,1003],[22008,1003],[11270,1003],[2563,1003],[11271,1003],[7550,1003],[3789,1003],[3516,1003],[3517,1003],[3944,1003],[2564,1003],[7833,1003],[6325,1003],[2565,1003],[4469,1003],[2566,1003],[2567,1003],[3265,1003],[19246,1003],[3266,1003],[3267,1003],[3790,1003],[3518,1003],[3835,1003],[14684,1003],[6415,1003],[3161,1003],[3791,1003],[15549,1003],[2568,1003],[3372,1003],[3519,1003],[18619,1003],[2569,1003],[6445,1003],[2570,1003],[3520,1003],[3652,1003],[7274,1003],[11272,1003],[3653,1003],[3521,1003],[2571,1003],[26245,1003],[3522,1003],[7551,1003],[11273,1003],[6263,1003],[6897,1003],[11274,1003],[5991,1003],[5992,1003],[3523,1003],[23183,1003],[3945,1003],[2572,1003],[2573,1003],[2574,1003],[2575,1003],[2576,1003],[2577,1003],[7275,1003],[16717,1003],[8765,1003],[3714,1003],[23121,1088],[3524,1088],[16841,1088],[30796,1088],[18475,1088],[15027,1088],[22009,1088],[22010,1088],[26882,1088],[27929,1088],[3525,1088],[6087,1088],[2578,1088],[2579,1088],[2580,1088],[2581,1088],[2582,1088],[5993,1088],[6088,1088],[2583,1088],[2584,1088],[3526,1088],[2585,1088],[2586,1088],[2587,1088],[2588,1088],[2589,1088],[2590,1088],[2591,1088],[2592,1088],[2593,1088],[2594,1088],[32540,1120],[2595,1120],[2596,1120],[8837,1120],[18486,1120],[13306,1120],[13307,1120],[15028,1120],[32991,1120],[23254,1120],[2597,1120],[7788,1120],[3946,1120],[3235,1120],[2598,1120],[2599,1120],[3373,1120],[3527,1120],[3528,1120],[12927,1120],[3374,1120],[3947,1120],[2600,1120],[3529,1120],[2601,1120],[3530,1120],[6264,1120],[3948,1120],[3531,1120],[3532,1120],[2602,1120],[17149,1120],[4095,1120],[3375,1120],[3376,1120],[4329,1120],[2603,1120],[8008,1120],[2604,1120],[6922,1360],[2680,1360],[6242,1360],[2681,1360],[7789,1360],[3552,1360],[6099,1360],[4332,1360],[2682,1360],[3553,1360],[2683,1360],[3554,1360],[5056,1159],[3533,1159],[5185,1159],[5186,1159],[4330,1159],[2605,1159],[2606,1159],[2607,1159],[2608,1159],[7720,1159],[2609,1159],[2610,1159],[2611,1159],[2612,1159],[2993,1159],[3534,1159],[2613,1159],[2614,1159],[2615,1159],[2616,1159],[3535,1159],[7721,1159],[2617,1159],[2618,1159],[2619,1159],[3224,1159],[2620,1159],[3792,1159],[3536,1159],[12800,1159],[12807,1159],[12814,1159],[12826,1159],[4470,1159],[3793,1159],[3661,1159],[4826,1159],[3949,1159],[5216,1159],[5235,1159],[5236,1159],[5237,1159],[3537,1159],[5217,1159],[12856,1159],[3538,1159],[5187,1159],[2621,1159],[5188,1159],[2622,1159],[5189,1159],[2623,1159],[2624,1159],[17150,1159],[2625,1159],[30993,1214],[3539,1214],[30987,1214],[13345,1214],[13226,1214],[16718,1214],[6785,1214],[3540,1214],[3541,1214],[2626,1214],[2627,1214],[2628,1214],[6089,1214],[2629,1214],[2630,1214],[2994,1214],[4849,1214],[7834,1214],[3654,1214],[2631,1214],[3236,1214],[4518,1214],[6090,1214],[4498,1214],[5994,1214],[3542,1214],[2632,1214],[7835,1214],[2633,1214],[7836,1214],[3268,1214],[2634,1214],[11275,1214],[2635,1214],[2636,1214],[2637,1214],[2638,1214],[2639,1214],[2640,1214],[3543,1214],[2641,1214],[3794,1214],[3544,1214],[4331,1214],[23799,1214],[23800,1214],[17151,1214],[2642,1214],[4244,1214],[11276,1214],[2643,1214],[17152,1214],[2644,1214],[2645,1267],[2646,1267],[29685,1267],[11277,1267],[2647,1267],[3377,1267],[2648,1267],[8660,1267],[3795,1267],[2649,1267],[9863,1267],[2650,1267],[3982,1267],[3378,1267],[3379,1267],[15146,1267],[6898,1267],[8757,1267],[13346,1267],[4664,1267],[6975,1287],[3545,1287],[2651,1287],[2652,1287],[3796,1287],[2653,1287],[2654,1287],[2655,1287],[2656,1287],[2657,1287],[3204,1287],[17153,1287],[2658,1287],[20790,1300],[3546,1300],[12934,1300],[31664,1300],[5057,1300],[33425,1300],[7343,1300],[26605,1300],[13599,1300],[3269,1300],[23133,1300],[3270,1300],[11278,1300],[11279,1300],[2659,1300],[2660,1300],[3547,1300],[35070,1300],[3797,1300],[2661,1300],[9434,1300],[2662,1300],[17154,1300],[2663,1300],[2664,1300],[2665,1300],[2666,1300],[2667,1300],[3798,1300],[2668,1300],[2669,1300],[2670,1300],[3548,1300],[2671,1300],[3037,1300],[11280,1300],[2672,1300],[2673,1300],[2674,1300],[3549,1300],[6091,1300],[6092,1300],[6093,1300],[6094,1300],[8210,1300],[8211,1300],[6095,1300],[6096,1300],[5190,1300],[3380,1300],[6097,1300],[6098,1300],[3550,1352],[3551,1352],[3799,1352],[2675,1352],[2676,1352],[2677,1352],[2678,1352],[2679,1352],[4850,1372],[2684,1372],[2685,1372],[2686,1372],[3381,1372],[2687,1372],[2688,1372],[3271,1372],[3188,1372],[3800,1372],[3189,1372],[3190,1372],[12662,1372],[14169,1372],[5820,1372],[5778,1372],[3801,1372],[26403,1389],[2689,1389],[2690,1389],[2691,1389],[2692,1389],[2693,1389],[2694,1389],[2695,1389],[2696,1389],[2697,1389],[3382,1389],[3555,1389],[8212,1389],[13238,1389],[3950,1389],[10573,1389],[6100,1389],[2698,1389],[2699,1389],[2700,1389],[2701,1389],[2702,1389],[2703,1389],[2704,1389],[3556,1389],[2705,1389],[2706,1389],[3272,1389],[2707,1389],[17535,1389],[15622,1389],[2708,1389],[2709,1389],[3557,1389],[17536,1389],[2710,1389],[2711,1389],[2712,1389],[2713,1389],[3558,1389],[5875,1389],[2714,1389],[15628,1389],[2715,1389],[2716,1389],[2717,1389],[31665,1435],[3559,1435],[6101,1435],[9824,1435],[9013,1435],[5394,1435],[5395,1435],[2718,1435],[2719,1435],[2720,1435],[2721,1435],[2722,1435],[2723,1435],[2724,1435],[2725,1435],[2726,1435],[2727,1435],[2728,1435],[2729,1435],[3299,1435],[2730,1435],[2731,1435],[2732,1435],[2733,1435],[6976,1435],[3560,1435],[2734,1435],[3951,1435],[2735,1435],[2736,1435],[2737,1435],[2738,1435],[3561,1467],[3562,1467],[2739,1467],[5396,1467],[4251,1467],[30797,1467],[24784,1467],[36413,1467],[18890,1467],[28594,1467],[3563,1467],[27284,1467],[10843,1467],[14775,1467],[29191,1467],[3564,1467],[3383,1467],[2740,1467],[2741,1467],[2742,1467],[3565,1467],[2743,1467],[2744,1467],[4347,1467],[3566,1467],[2745,1467],[5671,1467],[2746,1467],[2747,1467],[32277,1467],[29303,1467],[2748,1467],[7361,1467],[10123,1467],[15532,1467],[15526,1467],[3567,1467],[7362,1467],[5995,1467],[7552,1467],[3568,1467],[10124,1467],[7164,1467],[2749,1467],[2750,1467],[2751,1467],[2752,1467],[17155,1467],[2753,1467],[2754,1467],[2755,1467],[17156,1467],[2756,1467],[2757,1467],[2758,1467],[5335,1467],[3569,1467],[5996,1467],[2759,1467],[2760,1467],[2761,1467],[2762,1467],[6265,1467],[5631,1467],[2763,1467],[2764,1467],[2765,1467],[2766,1467],[2767,1467],[2768,1467],[3952,1467],[3953,1467],[2769,1467],[2770,1467],[5997,1467],[5998,1467],[7165,1467],[2771,1467],[2772,1467],[33894,1467],[2773,1467],[5999,1467],[10844,1467],[3570,1467],[4511,1467],[2774,1467],[2775,1467],[3384,1467],[2776,1467],[2777,1467],[3237,1467],[2778,1467],[2779,1467],[15256,1467],[2780,1467],[3571,1467],[3572,1467],[2781,1467],[2782,1467],[6102,1467],[11248,1467],[2783,1467],[33895,1467],[2784,1467],[6000,1467],[15933,1572],[2785,1572],[8266,1572],[3350,1572],[5745,1572],[8238,1572],[7517,1572],[7200,1572],[35804,1572],[37052,1572],[36962,1572],[33869,1572],[34158,1572],[28146,1572],[28152,1572],[28159,1572],[21646,1572],[10686,1572],[4362,1572],[4363,1572],[4364,1572],[4365,1572],[4366,1572],[4367,1572],[4368,1572],[4369,1572],[4370,1572],[4371,1572],[4372,1572],[4373,1572],[4374,1572],[4375,1572],[4376,1572],[4377,1572],[4378,1572],[4379,1572],[4380,1572],[4381,1572],[4382,1572],[4383,1572],[4384,1572],[4385,1572],[4386,1572],[4387,1572],[14954,1572],[5699,1572],[22183,1572],[31135,1572],[24572,1572],[8553,1572],[18004,1572],[20293,1572],[21421,1572],[19817,1572],[11174,1572],[26638,1572],[23128,1572],[22726,1572],[14665,1572],[32040,1572],[30328,1572],[13221,1572],[3573,1572],[2786,1572],[2787,1572],[2788,1572],[2789,1572],[3385,1572],[2790,1572],[2791,1572],[3715,1572],[3574,1572],[2792,1572],[3575,1572],[2793,1572],[2794,1572],[2795,1572],[2796,1572],[3576,1572],[2797,1572],[2798,1572],[2799,1572],[2800,1572],[3577,1572],[2801,1572],[2802,1572],[2803,1572],[2804,1572],[2805,1572],[2806,1572],[3578,1572],[2807,1572],[2808,1572],[2809,1572],[4388,1572],[3579,1572],[2810,1572],[2811,1572],[3802,1572],[15318,1572],[3580,1572],[3581,1572],[6633,1572],[3582,1572],[2812,1572],[3583,1572],[2813,1572],[2814,1572],[2815,1572],[3386,1572],[2816,1572],[4389,1572],[3584,1572],[3585,1572],[2817,1572],[4738,1572],[2818,1572],[2819,1572],[2820,1572],[2821,1572],[2822,1572],[2823,1572],[3387,1572],[2824,1572],[2825,1572],[2826,1572],[2827,1572],[2828,1572],[2829,1572],[2830,1572],[2831,1572],[3954,1572],[2832,1572],[2833,1572],[2834,1572],[3586,1572],[2835,1572],[4390,1572],[2836,1572],[3587,1572],[3803,1572],[2837,1572],[3388,1572],[4391,1572],[3588,1572],[2838,1572],[2839,1572],[3589,1572],[3389,1572],[2840,1572],[2841,1572],[3590,1572],[4392,1572],[3591,1572],[2842,1572],[3592,1572],[2843,1572],[7553,1572],[2844,1572],[3593,1572],[3594,1572],[2845,1572],[2846,1572],[2847,1572],[3595,1572],[5643,1572],[13109,1572],[13239,1572],[4131,1572],[2848,1572],[2849,1572],[3596,1572],[7021,1572],[2850,1572],[7554,1572],[3597,1572],[3598,1572],[7555,1572],[2851,1572],[3390,1572],[2852,1572],[2853,1572],[4393,1572],[14666,1572],[4394,1572],[4395,1572],[4396,1572],[4397,1572],[4398,1572],[4399,1572],[13530,1572],[4400,1572],[4401,1572],[4402,1572],[4403,1572],[4404,1572],[12601,1572],[14667,1572],[2854,1572],[14668,1572],[12594,1572],[13537,1572],[3887,1572],[4405,1572],[4406,1572],[4407,1572],[4408,1572],[12728,1572],[4409,1572],[4427,1572],[4410,1572],[10467,1572],[4411,1572],[17883,1572],[4434,1572],[4441,1572],[4412,1572],[4413,1572],[4414,1572],[17884,1572],[16940,1858],[3606,1858],[5587,1858],[3607,1858],[4992,1858],[4970,1858],[25214,1858],[14986,1858],[6978,1858],[36504,1858],[28365,1858],[6930,1858],[5515,1858],[6105,1858],[3393,1858],[3804,1858],[2891,1858],[2892,1858],[2893,1858],[2894,1858],[4025,1858],[2895,1858],[2896,1858],[3805,1858],[3608,1858],[2897,1858],[2898,1858],[2899,1858],[2900,1858],[2901,1858],[6106,1858],[2902,1858],[2903,1858],[2904,1858],[2905,1858],[4471,1858],[2906,1858],[2907,1858],[2908,1858],[2909,1858],[2910,1858],[3806,1858],[2911,1858],[2912,1858],[2913,1858],[2914,1858],[2915,1858],[2916,1858],[2917,1858],[2918,1858],[3807,1858],[4472,1858],[3609,1858],[2919,1858],[2920,1858],[2921,1858],[2922,1858],[2923,1858],[3610,1858],[2924,1858],[2925,1858],[2926,1858],[3611,1858],[2927,1858],[2928,1858],[2929,1858],[2930,1858],[3038,1858],[4597,1858],[3808,1858],[4245,1858],[19753,1858],[2931,1858],[7557,1858],[7974,1858],[3612,1858],[21042,1858],[3739,1858],[3809,1858],[29686,1858],[25612,1938],[7276,1938],[4252,1938],[18708,1938],[24731,1938],[5779,1938],[11282,1938],[11283,1938],[11284,1938],[8766,1938],[5932,1938],[2932,1938],[2995,1938],[2933,1938],[2934,1938],[2935,1938],[2936,1938],[3394,1938],[3613,1938],[3614,1938],[7558,1938],[7837,1938],[2937,1938],[6458,1938],[3615,1938],[3616,1938],[2938,1938],[5792,1938],[6022,1938],[2939,1938],[2940,1938],[2941,1938],[3677,1938],[13116,1938],[3957,1938],[3958,1938],[2942,1938],[8009,1938],[7559,1938],[2943,1938],[2944,1938],[17158,1938],[2945,1938],[2946,1938],[2947,1938],[2948,1938],[2949,1938],[4113,1938],[2950,1938],[17159,1938],[2951,1938],[2952,1938],[2953,1938],[2954,1938],[2955,1938],[9891,1993],[3617,1993],[9892,1993],[25336,1993],[30894,1993],[17733,1993],[22011,1993],[21549,1993],[9893,1993],[15370,1993],[30895,1993],[8299,1993],[17734,1993],[21550,1993],[9894,1993],[30896,1993],[8300,1993],[17735,1993],[22012,1993],[21551,1993],[9895,1993],[25337,1993],[30897,1993],[17736,1993],[31537,1993],[9896,1993],[17737,1993],[21552,1993],[9897,1993],[25338,1993],[30898,1993],[8301,1993],[17738,1993],[22013,1993],[31538,1993],[21553,1993],[4415,1993],[8741,1993],[11285,1993],[4922,1993],[9014,1993],[4334,1993],[3618,1993],[6001,1993],[11408,1993],[3619,1993],[3162,1993],[11981,1993],[6107,1993],[5336,1993],[8021,1993],[3238,1993],[6301,1993],[3620,1993],[3621,1993],[3622,1993],[3623,1993],[3624,1993],[11286,1993],[5191,1993],[2956,1993],[12127,1993],[4217,1993],[8367,1993],[7634,1993],[7560,1993],[5192,1993],[6640,1993],[3625,1993],[8428,1993],[6683,1993],[4827,1993],[6108,1993],[12007,1993],[2957,1993],[2958,1993],[5481,1993],[7754,1993],[12049,1993],[4473,1993],[6200,1993],[6923,1993],[6819,1993],[2959,1993],[11582,1993],[4159,1993],[8022,1993],[4598,1993],[7561,1993],[7562,1993],[8052,1993],[2996,1993],[8023,1993],[5482,1993],[7563,1993],[6109,1993],[12092,1993],[7157,1993],[12298,1993],[4474,1993],[3626,1993],[3627,1993],[7419,1993],[7564,1993],[5483,1993],[4851,1993],[3395,1993],[11736,1993],[4335,1993],[3628,1993],[5895,1993],[11878,1993],[6122,1993],[11287,1993],[11884,1993],[6110,1993],[7706,1993],[5193,1993],[6659,1993],[3810,1993],[2997,1993],[11180,1993],[2998,1993],[4336,1993],[3629,1993],[10641,1993],[3300,1993],[3163,1993],[3164,1993],[10320,1993],[4828,1993],[3239,1993],[3630,1993],[11674,1993],[8673,1993],[6266,1993],[11440,1993],[11416,1993],[8674,1993],[2960,1993],[5858,1993],[8675,1993],[8053,1993],[6002,1993],[9015,1993],[8361,1993],[7158,1993],[4475,1993],[8151,1993],[12420,1993],[7883,1993],[12436,1993],[4605,1993],[3631,1993],[10337,1993],[3632,1993],[6003,1993],[8024,1993],[6004,1993],[6111,1993],[6820,1993],[2999,1993],[2961,1993],[11453,1993],[7565,1993],[3811,1993],[6112,1993],[3633,1993],[6801,1993],[3301,1993],[9057,1993],[5979,1993],[9397,1993],[3217,1993],[3634,1993],[7606,1993],[9016,1993],[2962,1993],[7995,1993],[10822,1993],[2963,1993],[3716,1993],[8854,1993],[6113,1993],[7566,1993],[3165,1993],[5738,1993],[3921,1993],[6005,1993],[6821,1993],[7567,1993],[4490,1993],[5337,1993],[4540,1993],[8025,1993],[6006,1993],[2964,1993],[5484,1993],[11628,1993],[3635,1993],[6007,1993],[3636,1993],[5338,1993],[6114,1993],[9017,1993],[6115,1993],[6302,1993],[12245,1993],[3637,1993],[3240,1993],[7996,1993],[8464,1993],{"_24672":63011,"_58617":63012,"_5":25817},{"_6884":2350,"_5968":6300,"_11313":58616,"_11353":3013,"_11327":2229,"_11320":20080,"_11346":6014,"_11375":13290,"_11306":25017,"_36123":20682,"_11342":2358,"_36627":3448,"_36749":8463,"_36700":2359,"_11445":3449,"_12197":3450,"_36739":3451,"_36759":3778,"_12027":2360,"_11889":3452,"_37450":4663,"_12203":5874,"_40818":18307,"_36616":2361,"_36046":3453,"_36685":7038,"_12270":6077,"_37480":2362,"_12512":12933,"_35574":3454,"_35645":2363,"_35619":2364,"_12054":3232,"_35635":2365,"_35650":3140,"_12102":8298,"_35655":2366,"_11406":4778,"_11866":3364,"_12080":2367,"_40847":3645,"_40849":2368,"_40851":28364,"_40854":21663,"_36679":4779,"_40857":3455,"_11356":2369,"_40862":5511,"_12471":5750,"_36302":6052,"_12518":2370,"_11438":3362,"_37112":2371,"_40872":18156,"_40874":2230,"_40876":2231,"_40879":3456,"_37107":3457,"_37102":2372,"_11469":3779,"_40886":2373,"_40889":3458,"_40891":3060,"_30746":2980,"_40894":2981,"_40897":2982,"_40899":2983,"_40902":3061,"_40904":2984,"_40906":3062,"_40909":2985,"_40912":3063,"_40914":2986,"_11485":2987,"_40918":2988,"_36784":2374,"_40921":2989,"_11684":7829,"_11349":3459,"_36838":22218,"_37456":22219,"_12393":7830,"_40929":9607,"_40931":2375,"_40933":6261,"_36853":2376,"_40936":6021,"_11378":2377,"_12108":2378,"_35688":2379,"_36663":2380,"_40943":2381,"_40945":3460,"_37626":2382,"_40948":17146,"_11421":3461,"_40951":7770,"_40953":24256,"_12125":3462,"_36130":8833,"_40958":19890,"_40960":20526,"_40963":8822,"_40965":13250,"_40967":3463,"_40969":2383,"_40971":8834,"_11336":8835,"_40974":3464,"_40976":8836,"_40978":13251,"_40980":3465,"_40982":2384,"_40985":2385,"_16358":2386,"_40988":5988,"_40990":2387,"_40992":3285,"_40994":5798,"_40996":5799,"_40998":13339,"_41001":25962,"_41003":13340,"_41005":13714,"_41007":7510,"_41010":3466,"_36637":3467,"_36632":3468,"_41015":3469,"_36754":26836,"_41019":3470,"_41021":3471,"_41023":25059,"_41025":25060,"_41027":8273,"_41029":3472,"_41031":3473,"_41033":25061,"_41035":2351,"_41037":25062,"_41039":2232,"_41041":2233,"_41043":31515,"_41046":3474,"_41048":3475,"_41050":25063,"_41052":25064,"_41054":6864,"_41057":6053,"_41059":6054,"_41061":25065,"_41063":25066,"_41065":3646,"_41067":3365,"_41069":2388,"_41071":17147,"_41073":2389,"_41075":2390,"_41077":3780,"_41079":2352,"_41081":2391,"_41083":2234,"_41085":3081,"_41087":2235,"_41089":2236,"_41091":2237,"_41093":3355,"_36725":6027,"_41096":6071,"_41098":31488,"_41100":12960,"_36744":3644,"_41103":5064,"_41105":6262,"_41108":2392,"_41110":8208,"_41112":2393,"_41114":2394,"_41116":2395,"_41118":2396,"_41120":2397,"_41122":2398,"_41124":5790,"_41126":2399,"_41128":2400,"_41130":5989,"_41132":4044,"_41134":2401,"_41136":3476,"_41138":3027,"_41140":2402,"_36651":2403,"_41145":3477,"_36646":2404,"_41149":3478,"_41151":2405,"_41153":2406,"_41155":3035,"_41157":2407,"_16474":13333,"_37344":3479,"_35538":14356,"_41164":30104,"_41166":3292,"_41169":13480,"_41171":13741,"_41173":14153,"_41176":15621,"_41178":23957,"_41180":23973,"_41183":24067,"_41186":7273,"_41188":7322,"_41190":7329,"_41192":7342,"_41194":29923,"_41197":28820,"_41199":29433,"_41201":18822,"_41203":36385,"_41206":9691,"_41208":10668,"_41210":9046,"_41212":26244,"_41214":26321,"_41216":26332,"_41218":25514,"_41220":27835,"_41222":35285,"_41224":31447,"_41226":4463,"_41228":3156,"_41230":13341,"_41232":13759,"_41234":2408,"_41236":2409,"_41238":2410,"_41240":2411,"_41242":2412,"_41244":2413,"_41246":2414,"_41248":2415,"_41250":2416,"_41252":2417,"_41254":2418,"_41256":4464,"_41258":9555,"_41260":2419,"_41262":2420,"_37379":3781,"_41266":13334,"_41268":5512,"_41270":18751,"_37384":9730,"_37374":2421,"_22897":2422,"_41275":2423,"_41277":2424,"_41279":2425,"_41281":4465,"_41283":5183,"_41285":2426,"_41287":2427,"_41290":2428,"_41292":11266,"_41294":4466,"_41296":9703,"_41298":3480,"_41300":7605,"_41302":13342,"_41305":3247,"_41307":8653,"_41309":8654,"_41311":7831,"_41313":32538,"_41315":32539,"_41317":14933,"_41319":22492,"_41321":6078,"_41323":4325,"_41325":26213,"_41327":9534,"_41329":13760,"_41331":7257,"_41333":16666,"_41335":20784,"_41337":9692,"_37485":14465,"_41340":3186,"_41342":10896,"_41344":2429,"_41346":2430,"_41349":2431,"_41351":2432,"_41353":2433,"_41355":22668,"_41357":3481,"_41359":2434,"_41362":3482,"_35589":3483,"_41365":6079,"_41367":2435,"_41369":4595,"_35579":6080,"_41372":2436,"_41375":3248,"_41378":2437,"_41380":2438,"_41383":2439,"_41386":4497,"_41388":2440,"_41390":3157,"_41392":2441,"_41394":2442,"_41396":12751,"_41398":12752,"_41401":2443,"_41404":2444,"_41406":12753,"_11390":2445,"_41409":5097,"_41411":12754,"_41413":2446,"_41415":2447,"_35624":2448,"_41418":2449,"_41420":3484,"_41422":3485,"_41424":3647,"_41426":2450,"_41428":2451,"_11316":2452,"_41432":3187,"_41434":3486,"_41436":3648,"_41438":2453,"_41440":2454,"_41442":3487,"_41444":2455,"_35640":4326,"_41447":3649,"_41449":2456,"_41451":3488,"_41453":2457,"_41455":2458,"_41457":3489,"_41459":2459,"_41461":2460,"_41463":2461,"_41465":2462,"_41467":22669,"_41469":2463,"_41471":3366,"_41473":2464,"_41475":2465,"_41477":2466,"_41479":2467,"_41481":2468,"_41483":8209,"_41485":6681,"_41487":6248,"_41489":2469,"_41491":2470,"_41493":2471,"_41495":3213,"_41497":3158,"_41499":2472,"_41501":2473,"_41503":4327,"_41505":3367,"_41507":2474,"_41509":2475,"_41511":2476,"_41514":4328,"_41516":2477,"_41518":2478,"_41520":2479,"_41522":2480,"_41524":3675,"_41526":3490,"_41528":3491,"_41530":13761,"_41532":2481,"_22920":27963,"_41536":2482,"_41538":3782,"_41540":2483,"_35672":3783,"_41543":2484,"_41545":2485,"_41547":2486,"_41549":2487,"_41551":2488,"_41553":35815,"_41555":2489,"_41557":11267,"_41559":2490,"_41561":16541,"_41563":21506,"_36040":10465,"_41566":10374,"_41568":21507,"_41571":2491,"_41573":4031,"_41575":3492,"_41577":2492,"_41580":2493,"_41582":2494,"_41584":3935,"_41586":6561,"_41588":3493,"_41590":3214,"_41592":3179,"_41595":2495,"_41597":21499,"_41599":6652,"_41601":24173,"_41603":36465,"_41605":10381,"_41608":4467,"_41610":9069,"_41612":10358,"_41614":2496,"_41616":29244,"_36045":29245,"_41619":2497,"_41621":29189,"_41623":29190,"_41625":2498,"_41627":7737,"_41629":7738,"_41631":2499,"_41633":23237,"_41635":17451,"_41637":3494,"_41639":3260,"_36051":25994,"_41642":5388,"_41644":5389,"_41646":2238,"_41648":3767,"_41650":26414,"_41652":3936,"_41654":2500,"_41656":21500,"_41658":6653,"_41660":24174,"_41662":12661,"_41665":25676,"_41668":4596,"_41670":23238,"_41672":17452,"_41675":3495,"_41677":25995,"_41679":26415,"_41681":2353,"_41683":3937,"_41685":3051,"_41687":2239,"_41689":3356,"_41691":4359,"_41693":2240,"_41695":2241,"_41697":5390,"_41699":6072,"_41701":7537,"_41703":4935,"_41705":3496,"_41707":20889,"_41709":20890,"_41711":13787,"_41713":7546,"_41715":18269,"_41717":4681,"_41719":7092,"_41721":17199,"_41723":35816,"_41725":7787,"_41727":4936,"_41729":4937,"_41731":3938,"_41733":3497,"_41735":3784,"_41737":3215,"_41739":7547,"_11427":7548,"_41742":19627,"_41744":3498,"_41746":13343,"_41748":17148,"_41750":3499,"_41752":3500,"_41754":6134,"_41756":11268,"_41758":18270,"_41760":11269,"_41762":3501,"_41764":2501,"_41766":7832,"_37087":8789,"_12612":2502,"_41770":3502,"_41772":2503,"_41774":6920,"_41776":3036,"_41778":2504,"_41780":3939,"_41782":36867,"_41784":35138,"_41786":26397,"_41788":13344,"_41790":34450,"_41792":3940,"_41794":18039,"_41796":3233,"_41798":5777,"_41800":4944,"_41802":12925,"_41804":6081,"_41806":12926,"_41808":5791,"_41810":5184,"_41812":2990,"_41814":9391,"_41816":5023,"_41818":3503,"_41820":4938,"_41822":2505,"_41824":3785,"_41826":3234,"_41828":3941,"_41830":3942,"_41832":3943,"_41834":2506,"_41836":2507,"_41838":3981,"_41840":2508,"_41842":6695,"_41844":3264,"_41846":2354,"_41848":6696,"_41850":3261,"_41852":6682,"_41854":7538,"_36062":18917,"_41857":3401,"_41859":5334,"_41861":18918,"_41863":3768,"_41865":2242,"_41867":2243,"_41869":2244,"_41871":2245,"_41873":6073,"_41875":2246,"_41877":14690,"_41879":3052,"_41881":7786,"_41883":3053,"_41885":3054,"_41887":2247,"_41889":3402,"_41891":3055,"_41893":5391,"_41895":4457,"_41897":4458,"_41899":3403,"_41901":5392,"_41903":2248,"_41905":9417,"_41907":7539,"_41909":3404,"_41911":15932,"_41913":2509,"_11384":2510,"_41916":2511,"_41918":2512,"_41920":3159,"_41922":3368,"_41924":4186,"_41926":3160,"_41928":2513,"_41930":2514,"_41932":2515,"_41934":3216,"_16423":2516,"_41937":2517,"_41939":2518,"_41941":36503,"_11330":3504,"_41944":29949,"_41946":6347,"_41948":6082,"_41950":13678,"_41952":6348,"_41954":11259,"_41956":5479,"_41958":6349,"_41960":17548,"_41962":17549,"_41964":6083,"_41966":17645,"_41968":17646,"_41970":2519,"_41972":10466,"_41974":2520,"_41976":2521,"_41978":2522,"_41980":3439,"_41982":2523,"_41984":5984,"_41986":2249,"_41988":3405,"_41990":2250,"_41992":2251,"_41994":3254,"_41996":6260,"_41998":3980,"_42000":2252,"_42002":2253,"_42004":20543,"_42006":36118,"_11323":7540,"_42009":36125,"_42011":8860,"_42013":36132,"_42015":7541,"_42017":36139,"_42019":8861,"_42021":36146,"_42023":8206,"_42025":36153,"_42027":2524,"_42029":2525,"_42031":2526,"_42033":3505,"_42035":2527,"_42037":3369,"_42039":3650,"_42041":3370,"_42043":3371,"_42045":6350,"_42047":2528,"_42049":6084,"_42051":2529,"_42053":2530,"_42055":2531,"_42057":6085,"_42059":5513,"_42061":2532,"_42063":3506,"_42065":2533,"_42067":8373,"_42069":3507,"_42071":4890,"_42073":5480,"_42075":4896,"_42077":17550,"_42079":6351,"_42081":2534,"_42083":6352,"_42085":2535,"_42087":3508,"_42089":3651,"_42091":5514,"_42093":25611,"_42095":2536,"_42097":2537,"_42099":2538,"_42101":3509,"_42103":2539,"_42105":7719,"_42107":2540,"_42109":2541,"_42111":5065,"_42114":2542,"_42116":2543,"_42118":2544,"_42120":2545,"_42122":2546,"_42124":6353,"_42126":2547,"_42128":2548,"_42130":3510,"_42132":6921,"_42134":3511,"_42136":26287,"_42139":28809,"_42141":24000,"_42143":3786,"_42146":6086,"_42148":2549,"_42151":2550,"_42153":3044,"_42155":6255,"_42157":4468,"_42159":2551,"_42161":2552,"_42163":5990,"_42165":2553,"_42167":2554,"_42169":2555,"_42171":3512,"_42173":2556,"_42175":26689,"_42177":9261,"_42180":2557,"_42182":2558,"_42184":3513,"_42186":2991,"_42188":3787,"_42190":3514,"_42192":2559,"_42194":2560,"_42196":3788,"_42198":2561,"_42200":7549,"_42202":2562,"_42204":2992,"_42206":22535,"_42208":3515,"_42210":27545,"_42212":12961,"_42214":13039,"_42216":13073,"_42218":13051,"_42220":13023,"_42222":12980,"_42224":12987,"_42227":12994,"_11451":26700,"_42231":7612,"_42233":8764,"_42235":16872,"_42237":30596,"_42239":3440,"_42241":30340,"_42243":3177,"_42245":36160,"_42247":6074,"_42249":36167,"_42251":8207,"_42253":36179,"_42255":7542,"_42257":13080,"_42259":22030,"_42261":8237,"_42263":30633,"_42265":22008,"_42267":11270,"_42269":2563,"_42271":11271,"_42273":7550,"_42275":3789,"_42277":3516,"_42279":3517,"_42281":3944,"_42283":2564,"_42285":7833,"_42287":6325,"_42289":2565,"_42291":4469,"_42293":2566,"_42295":2567,"_42297":3265,"_42299":19246,"_42301":3266,"_42303":3267,"_42305":3790,"_42307":3518,"_42309":3835,"_42311":14684,"_42313":6415,"_42315":3161,"_42317":3791,"_42319":15549,"_42321":2568,"_42323":3372,"_42325":3519,"_42327":18619,"_42329":2569,"_42331":6445,"_42333":2570,"_12529":3520,"_42336":3652,"_42338":7274,"_42340":11272,"_42342":3653,"_42344":3521,"_42346":2571,"_37445":26245,"_42349":3522,"_42351":7551,"_42353":3441,"_42355":11273,"_42357":36192,"_42359":7543,"_42361":2254,"_42363":3357,"_35029":2255,"_42366":3056,"_42368":2977,"_42370":5873,"_42372":3057,"_42374":3406,"_42376":3152,"_42378":7718,"_42380":5321,"_42382":6263,"_42384":6897,"_42386":11274,"_42388":5991,"_42390":5992,"_42392":3523,"_42394":23183,"_42396":3945,"_42398":2572,"_42400":2573,"_42402":2574,"_42404":2575,"_42406":2576,"_42408":2577,"_42410":7275,"_42412":16717,"_42414":8765,"_42416":3714,"_42418":23121,"_42420":3524,"_42422":16841,"_42424":30796,"_42426":18475,"_42428":15027,"_42430":22009,"_42432":22010,"_42434":26882,"_42436":27929,"_42438":3525,"_42440":6087,"_42442":2578,"_42444":2579,"_42446":2580,"_12606":2581,"_42449":2582,"_42451":5993,"_42453":6088,"_42455":2583,"_42457":2584,"_42459":3526,"_42461":2585,"_42463":2586,"_42465":2587,"_42467":2588,"_42469":2589,"_42471":2590,"_42473":2591,"_42475":2592,"_42477":2593,"_42479":2594,"_42481":32540,"_42483":2595,"_42485":2596,"_42487":8837,"_42489":18486,"_42491":13306,"_42493":3363,"_42495":13307,"_42497":4459,"_42499":5393,"_42501":2256,"_42503":15028,"_42505":32991,"_42507":23254,"_42509":2597,"_42511":7788,"_42513":3946,"_42515":3235,"_42517":2598,"_42519":2599,"_42521":3373,"_42523":3527,"_42525":3528,"_42527":12927,"_42529":3374,"_42531":3947,"_42533":3442,"_42535":2600,"_42537":2257,"_42539":3407,"_42541":3408,"_42543":3927,"_42545":6075,"_42547":6076,"_42549":2258,"_42551":2259,"_42553":3409,"_42555":2260,"_42557":4460,"_42559":4324,"_42561":2261,"_42563":2262,"_11309":2263,"_42566":3529,"_42568":2601,"_42570":3530,"_42572":6264,"_42574":3948,"_42576":3531,"_42578":3532,"_42580":2602,"_12634":17149,"_42583":4095,"_42585":3375,"_42587":3376,"_42589":4329,"_42591":2603,"_42593":8008,"_42595":2604,"_42597":5056,"_42599":3533,"_42601":5185,"_42603":5186,"_42605":4330,"_42607":2605,"_42609":2606,"_42611":2607,"_42613":2608,"_42615":7720,"_42617":2609,"_42619":2610,"_42621":2611,"_42623":2612,"_42625":2993,"_42627":3534,"_42629":2613,"_42631":2614,"_42633":2615,"_42635":2616,"_42637":3535,"_42639":7721,"_42641":2617,"_42643":2618,"_42645":2619,"_42647":3224,"_42649":2620,"_42651":3792,"_42653":3536,"_42655":12800,"_42657":12807,"_42659":12814,"_42661":12826,"_42663":4470,"_42665":3793,"_42667":3661,"_42669":4826,"_42671":3949,"_42673":5216,"_42675":5235,"_42677":3443,"_42679":5236,"_42681":2264,"_42683":3928,"_42685":2265,"_42687":5237,"_42689":3537,"_42691":5217,"_42693":12856,"_42695":3538,"_42697":5187,"_42699":2621,"_42701":5188,"_42703":2622,"_42705":5189,"_42707":2623,"_42709":2624,"_42711":17150,"_42713":3155,"_42715":2625,"_42717":2266,"_42719":3929,"_42721":30993,"_42723":3539,"_42725":30987,"_42727":13345,"_42729":13226,"_42731":16718,"_42733":6785,"_42735":3540,"_42737":3541,"_42739":2626,"_42741":2627,"_42743":2628,"_42745":6089,"_42747":3444,"_42749":2629,"_42751":2267,"_42753":2268,"_42755":2269,"_42757":3410,"_42759":2270,"_36137":8236,"_42762":3411,"_42764":22857,"_42766":13237,"_42768":3198,"_42770":2271,"_42772":16539,"_42774":5985,"_42776":3412,"_42778":2272,"_42780":6049,"_42782":4461,"_42784":3153,"_42786":5986,"_42788":16540,"_42790":2630,"_42792":2994,"_42794":4849,"_42796":7834,"_42798":3654,"_42800":2631,"_42802":3236,"_42804":4518,"_42806":6090,"_36615":4498,"_42809":5994,"_42811":3542,"_42813":2632,"_42815":7835,"_42817":2633,"_42819":7836,"_42821":3268,"_42823":2634,"_42825":11275,"_42827":2635,"_42829":2636,"_42831":2637,"_42833":2638,"_42835":2639,"_42837":2640,"_42839":3543,"_42841":2641,"_42843":3794,"_42845":3544,"_42847":4331,"_42849":23799,"_42851":23800,"_42853":17151,"_42855":2642,"_42857":4244,"_42859":11276,"_42861":2643,"_42863":17152,"_42865":2644,"_42867":2645,"_42869":2646,"_42871":29685,"_42873":11277,"_42875":2647,"_42877":3377,"_42879":2648,"_42881":8660,"_42883":3795,"_42885":2649,"_42887":9863,"_42889":2650,"_42891":3982,"_42893":3378,"_42895":3379,"_42897":15146,"_42899":6898,"_42901":8757,"_42903":13346,"_42905":4664,"_42907":6975,"_42909":3545,"_42911":2651,"_42913":2652,"_42915":2355,"_42917":3796,"_42919":3104,"_42921":3413,"_42923":3154,"_42925":3414,"_42927":2273,"_42929":3415,"_42931":13757,"_42933":3058,"_42935":2653,"_42937":2654,"_42939":2655,"_42941":2656,"_42943":2657,"_42945":3204,"_42947":17153,"_42949":2658,"_42951":20790,"_42953":3546,"_42955":12934,"_42957":31664,"_42959":5057,"_42961":33425,"_42963":7343,"_42965":26605,"_42967":13599,"_42969":3269,"_42971":23133,"_42973":3270,"_42975":11278,"_42977":11279,"_42979":3262,"_42981":2659,"_42983":13758,"_42985":3082,"_42987":5881,"_42989":4845,"_42991":16199,"_42993":5882,"_42995":5883,"_42997":4772,"_42999":2660,"_43001":3547,"_43003":35070,"_43005":3797,"_43007":2661,"_43009":9434,"_36684":2662,"_43012":17154,"_43014":2663,"_43016":2664,"_43018":2665,"_43020":2666,"_43022":2667,"_43024":3798,"_43026":2668,"_43028":2669,"_43030":2670,"_43032":3548,"_43034":2671,"_43036":3037,"_43038":11280,"_43040":2672,"_43042":2673,"_43044":2674,"_43046":3549,"_36678":6091,"_43049":6092,"_43051":6093,"_43053":6094,"_43055":4846,"_43057":8210,"_43059":24839,"_43061":5884,"_43063":6736,"_43065":8211,"_43067":6095,"_43069":6096,"_43071":5190,"_43073":3380,"_43075":6097,"_43077":6098,"_43079":3550,"_43081":3551,"_43083":3799,"_43085":2675,"_43087":2676,"_43089":2677,"_43091":2678,"_43093":2679,"_43095":6922,"_43097":2680,"_43099":6242,"_43101":2681,"_43103":7789,"_43105":3552,"_43107":6099,"_43109":4332,"_43111":2682,"_43113":3553,"_43115":2683,"_43117":3554,"_43119":4850,"_43121":2684,"_43123":2685,"_43125":2686,"_43127":3381,"_43129":2687,"_43131":2688,"_43133":3271,"_43135":3188,"_43137":3800,"_43139":3189,"_43141":3190,"_43143":12662,"_43145":14169,"_43147":5820,"_43149":5778,"_43151":3801,"_43153":26403,"_43155":2689,"_43157":2690,"_43159":2691,"_43161":2692,"_43163":2693,"_43165":4847,"_43167":2694,"_43169":3059,"_43171":2274,"_43173":17138,"_43175":2275,"_43177":3769,"_43179":2695,"_43181":2696,"_43183":2697,"_43185":3382,"_43187":3555,"_43189":8212,"_43191":13238,"_43193":3950,"_43195":10573,"_43197":6100,"_43199":2698,"_43201":2699,"_43203":2700,"_43205":2701,"_43207":2702,"_43209":2703,"_43211":2704,"_43213":3556,"_43215":2705,"_43217":2706,"_43219":3272,"_43221":2707,"_43223":17535,"_43225":15622,"_43227":2708,"_43229":2709,"_43231":3557,"_43234":17536,"_43236":2710,"_43238":2711,"_43240":2712,"_43242":2713,"_43244":3558,"_43246":5875,"_43248":2714,"_43250":15628,"_43252":2715,"_43254":2716,"_43256":2717,"_43258":31665,"_43260":3559,"_43262":6101,"_43264":9824,"_43266":9013,"_43268":5394,"_43270":5395,"_43272":4848,"_43274":2718,"_43276":5538,"_43278":3930,"_43280":2719,"_43282":2720,"_43284":2721,"_43286":2722,"_43288":2723,"_43290":2724,"_43292":2725,"_43294":2726,"_43296":2727,"_43298":2728,"_43300":2729,"_43302":3299,"_43304":2730,"_43306":2731,"_43308":2732,"_43310":2733,"_43312":23798,"_43314":6976,"_43316":3560,"_43318":2734,"_43320":3951,"_43322":2735,"_43324":2736,"_43326":2737,"_43328":2738,"_43330":3561,"_43332":3562,"_43334":2739,"_43336":5396,"_43339":3445,"_43341":4251,"_43343":3178,"_43345":3416,"_43347":17139,"_43349":2276,"_43351":2277,"_43353":3770,"_43355":2278,"_43357":17140,"_43359":2279,"_43361":2280,"_43363":3417,"_43365":2281,"_43367":30797,"_43369":24784,"_43371":36413,"_43373":18890,"_43375":28594,"_43377":3563,"_43379":27284,"_43381":10843,"_43383":14775,"_43385":29191,"_43387":3564,"_43389":3383,"_43391":2740,"_43393":2741,"_43396":2742,"_43398":3565,"_43400":2743,"_43402":2744,"_43404":4347,"_43406":3566,"_43408":2745,"_43410":5671,"_43412":2746,"_43414":2747,"_43416":32277,"_43418":29303,"_43420":2748,"_43422":7361,"_43424":10123,"_43426":15532,"_43428":15526,"_43430":3567,"_43432":7362,"_43434":5995,"_43436":7552,"_43438":3568,"_43440":10124,"_43442":7164,"_43444":3263,"_43446":2749,"_43448":2750,"_43450":2751,"_43452":2752,"_43454":17155,"_43456":2753,"_43458":2754,"_43461":3446,"_43463":2755,"_43465":3358,"_43467":17156,"_43469":2756,"_43471":2757,"_43473":2758,"_43475":5335,"_43477":3569,"_43479":5996,"_43481":2759,"_43483":2760,"_43485":3447,"_43487":2761,"_43489":2762,"_43491":6265,"_43493":5631,"_43495":2763,"_43497":2764,"_43499":2765,"_43501":2766,"_43503":2767,"_43505":2768,"_43507":3952,"_43509":3953,"_43511":2769,"_43513":2770,"_43515":5997,"_43517":5998,"_43519":3932,"_43521":7165,"_43523":2282,"_43525":2771,"_43527":2772,"_43529":33894,"_43531":2773,"_43533":5999,"_43535":10844,"_43537":3570,"_43539":4511,"_43541":2774,"_43543":2775,"_43545":3384,"_43547":2776,"_43549":2777,"_43551":3237,"_43553":2778,"_43555":2779,"_43557":15256,"_43559":2780,"_43561":3571,"_43563":3572,"_43565":2781,"_43567":2782,"_43569":6102,"_43571":11248,"_43573":2783,"_43575":33895,"_43577":2784,"_43579":6000,"_43581":15933,"_43583":2785,"_43585":8266,"_43587":3350,"_43589":5745,"_43591":8238,"_43593":7517,"_43595":7200,"_43597":35804,"_43599":37052,"_43601":36962,"_43603":33869,"_43605":34158,"_43607":28146,"_43609":28152,"_43611":4361,"_43613":28159,"_43615":2283,"_43617":2284,"_43619":2285,"_43621":2286,"_43623":4486,"_43625":21646,"_43627":10686,"_43629":4362,"_43631":4363,"_43633":4364,"_43635":4365,"_43637":4366,"_43639":4367,"_43641":4368,"_43643":4369,"_43645":4370,"_43647":4371,"_43649":4372,"_43651":4373,"_43653":4374,"_43655":4375,"_43657":4376,"_43659":4377,"_43661":4378,"_43663":4379,"_43665":4380,"_43667":4381,"_43669":4382,"_43671":4383,"_43673":4384,"_43675":3933,"_43677":4385,"_43679":4487,"_43681":2287,"_43683":2288,"_43685":2289,"_43687":3418,"_43689":2290,"_43691":3419,"_43693":3771,"_43695":2291,"_43697":3255,"_43699":3256,"_43701":3257,"_43703":3258,"_43705":4386,"_43707":4387,"_43709":14954,"_43711":5699,"_43713":22183,"_43715":31135,"_43717":24572,"_43719":8553,"_43721":18004,"_43723":20293,"_43725":21421,"_43727":19817,"_43729":11174,"_43731":26638,"_43733":23128,"_43735":22726,"_43737":14665,"_43739":32040,"_43741":30328,"_43743":13221,"_43745":3573,"_43747":2786,"_43749":2787,"_43751":2788,"_43753":2789,"_43755":3385,"_43757":2790,"_43759":2791,"_43761":3715,"_43763":3574,"_43765":2792,"_43767":3575,"_43769":2793,"_43771":2794,"_43773":2795,"_43775":2796,"_43777":3576,"_43779":2797,"_43781":2798,"_43783":2799,"_43785":2800,"_43787":3577,"_43789":2801,"_43791":2802,"_43793":2803,"_43795":2804,"_43797":2805,"_43799":2806,"_43801":3578,"_43803":2807,"_43805":2808,"_43807":2809,"_43809":4388,"_43811":3579,"_43813":2810,"_43815":2811,"_43817":3802,"_43819":15318,"_43821":3580,"_43823":3581,"_43825":6633,"_43827":3582,"_43829":2812,"_43831":3583,"_43833":2813,"_43835":2814,"_43837":2815,"_43839":3386,"_43841":2816,"_43843":4389,"_43845":3584,"_43847":3585,"_43849":2817,"_43851":4738,"_43853":2818,"_43855":2819,"_43857":2820,"_43859":2821,"_43861":2822,"_43863":2823,"_43865":3387,"_43867":2824,"_43869":2825,"_43871":2826,"_43873":2827,"_43875":2828,"_43877":2829,"_43879":2830,"_43881":2831,"_43883":3954,"_43885":3934,"_43887":2832,"_43889":3212,"_43891":2292,"_43893":2293,"_43895":2294,"_43897":2295,"_43899":2296,"_43901":2297,"_43903":2298,"_43905":2299,"_43907":2300,"_43909":2301,"_43911":6050,"_43913":2302,"_43915":2303,"_43917":2304,"_43919":2305,"_43921":6299,"_43923":2306,"_43925":3772,"_43927":2307,"_43929":2308,"_43931":4510,"_43933":2309,"_43935":2310,"_43937":2311,"_43939":2312,"_43941":6051,"_43943":3090,"_43945":5182,"_43947":2313,"_43949":2314,"_43951":3259,"_43953":16235,"_43955":5987,"_43957":6216,"_43959":2315,"_43961":3420,"_43963":3421,"_43965":2316,"_43967":3422,"_43969":3423,"_43971":3424,"_43973":3425,"_43975":5476,"_43977":3426,"_43979":5477,"_43981":8296,"_43983":3773,"_43985":15117,"_43987":7454,"_43989":15118,"_43991":2317,"_43993":3774,"_43995":4360,"_43997":2318,"_43999":2319,"_44001":3775,"_44003":2320,"_44005":2321,"_44007":2322,"_44009":2833,"_44011":2834,"_44013":3586,"_44015":2835,"_44017":4390,"_44019":2836,"_44021":3587,"_44023":3803,"_44025":2837,"_44027":3388,"_44029":4391,"_44031":3588,"_44033":2838,"_44035":2839,"_44037":3589,"_44039":3389,"_44041":2840,"_44043":2841,"_44045":3590,"_44047":4392,"_44049":3591,"_44051":2842,"_44053":3592,"_44055":2843,"_44057":7553,"_44059":2844,"_44061":3593,"_44063":3594,"_44065":2845,"_44067":2846,"_44069":2847,"_44071":3595,"_44073":5643,"_44075":13109,"_44077":13239,"_44079":4131,"_44081":2848,"_44083":2849,"_44085":3596,"_44087":7021,"_44089":2850,"_44091":7554,"_44093":3597,"_44095":3598,"_44097":7555,"_44099":2851,"_44101":3390,"_44103":2852,"_44105":2853,"_44107":4393,"_44109":14666,"_44111":4394,"_44113":4395,"_44115":4396,"_44117":4397,"_44119":4398,"_44121":4399,"_44123":13530,"_44125":4400,"_44127":4401,"_44129":4402,"_44131":4403,"_44133":4404,"_44135":12601,"_44137":14667,"_44139":2854,"_44141":14668,"_44143":12594,"_44145":13537,"_44147":3887,"_44149":4405,"_44151":4406,"_44153":4407,"_44155":4408,"_44157":12728,"_44159":4409,"_44161":4427,"_44163":4410,"_44165":10467,"_44167":4411,"_44169":17883,"_44171":4434,"_44173":4441,"_44175":4412,"_44177":4413,"_44179":4414,"_44181":17884,"_44183":6562,"_44185":3014,"_44187":2855,"_44189":7182,"_44191":3599,"_44193":11293,"_44195":3600,"_44197":3601,"_44199":6977,"_44201":4333,"_44203":17647,"_44205":34435,"_44207":18997,"_44209":9949,"_44211":11281,"_44213":2856,"_44215":3602,"_44217":2857,"_44219":2858,"_44221":2859,"_44223":2860,"_44225":2861,"_44227":2862,"_44229":3603,"_44231":2863,"_44233":2864,"_44235":2865,"_44237":2866,"_44239":3955,"_44241":2867,"_44243":2868,"_44245":2869,"_44247":2870,"_44249":5594,"_44251":2871,"_44253":2872,"_44255":2873,"_44257":2874,"_44259":2875,"_44261":2876,"_44263":2877,"_44265":2878,"_44267":2879,"_44269":2880,"_44271":7556,"_44273":6103,"_44275":3391,"_44277":3392,"_44279":2881,"_44281":2882,"_44283":3956,"_44285":2883,"_44287":2884,"_44289":17157,"_44291":8746,"_44293":9890,"_44295":2885,"_44297":2886,"_44299":2887,"_44301":6104,"_44303":3604,"_44305":3676,"_44307":2888,"_44309":2889,"_44311":2890,"_44313":3605,"_44315":16940,"_44317":3606,"_44319":5587,"_44321":3607,"_44323":4992,"_44325":4496,"_44327":4970,"_44329":2323,"_44331":2324,"_44333":3427,"_44335":2978,"_44337":3428,"_44339":16934,"_44341":3429,"_44343":5478,"_44345":3430,"_44347":2979,"_44349":3359,"_44351":2325,"_44353":17141,"_44355":25214,"_44357":14986,"_44359":6978,"_44361":36504,"_44363":28365,"_44365":6930,"_44367":5515,"_44369":6105,"_44371":3393,"_44373":3804,"_44375":2891,"_44377":2892,"_44379":2893,"_44381":2894,"_44383":4025,"_44385":2895,"_44387":2896,"_44389":3805,"_44391":3608,"_44393":2897,"_44395":2898,"_44397":2899,"_44399":2900,"_44401":2901,"_44403":6106,"_44405":2902,"_44407":2903,"_44409":2904,"_44411":2905,"_44413":4471,"_44415":2906,"_44417":2907,"_44419":2908,"_44421":2909,"_44423":2910,"_44425":3806,"_44427":2911,"_44429":2912,"_44431":2913,"_44433":2914,"_44435":2915,"_44437":2916,"_44439":2917,"_44441":2918,"_44443":3807,"_44445":4472,"_44447":3609,"_44449":2919,"_44451":2920,"_44453":2921,"_44455":2922,"_44457":2356,"_44459":2923,"_44461":3431,"_44463":2326,"_44465":2327,"_44467":4488,"_44469":2328,"_44471":17142,"_44473":3360,"_44475":2329,"_44477":2330,"_44479":17143,"_44481":2331,"_44483":2332,"_44485":3610,"_44487":2924,"_44489":2925,"_44491":2926,"_44493":3611,"_44495":2927,"_44497":2928,"_44499":2929,"_44501":2930,"_44503":3038,"_44505":4597,"_44507":3808,"_44509":4245,"_44511":19753,"_44513":2931,"_44515":7557,"_44517":7974,"_44519":3612,"_44521":21042,"_44523":3739,"_44525":3809,"_44527":29686,"_44529":25612,"_44531":7276,"_44533":4252,"_44535":18708,"_44537":24731,"_44539":5779,"_44541":11282,"_44543":11283,"_44545":11284,"_44547":8766,"_44549":5932,"_44551":2932,"_44553":2995,"_44555":2933,"_44557":2934,"_44559":2935,"_16417":2936,"_44562":3394,"_44564":3613,"_44566":3614,"_44568":7558,"_44570":7837,"_44572":2937,"_44574":6458,"_44576":3615,"_44578":3616,"_44580":2938,"_44582":5792,"_44584":6022,"_44586":2939,"_44588":2940,"_16490":2941,"_44591":3677,"_44593":13116,"_44595":3957,"_44597":3958,"_44599":2942,"_44601":8009,"_44603":7559,"_44605":2943,"_44607":2944,"_44609":17158,"_44611":2945,"_44613":2946,"_44615":2357,"_44617":2947,"_44619":2333,"_44621":2334,"_44623":3776,"_44625":17144,"_44627":3777,"_44629":17145,"_44631":3931,"_44633":2335,"_44635":2336,"_44637":2948,"_44639":2949,"_44641":4113,"_44643":2950,"_44645":17159,"_44647":2951,"_44649":2952,"_44651":2953,"_44653":2954,"_44655":2955,"_44657":9891,"_44659":3617,"_44661":9892,"_44663":25336,"_44665":30894,"_44667":17733,"_44669":22011,"_44671":21549,"_44673":9893,"_44675":15370,"_44677":30895,"_44679":8299,"_44681":17734,"_44683":21550,"_44685":9894,"_44687":30896,"_44689":8300,"_44691":17735,"_44693":22012,"_44695":21551,"_44697":9895,"_44699":25337,"_44701":30897,"_44703":17736,"_44705":31537,"_44707":9896,"_44709":17737,"_44711":21552,"_44713":9897,"_44715":25338,"_44717":30898,"_44719":8301,"_44721":17738,"_44723":22013,"_44725":8297,"_44727":31538,"_44729":2337,"_44731":3361,"_44733":3432,"_44735":3433,"_44737":3434,"_44739":3435,"_36662":2338,"_44742":2339,"_44744":4489,"_44746":3436,"_44748":2340,"_44750":2341,"_44752":4645,"_44754":4462,"_44756":4652,"_37339":7827,"_44759":7544,"_44761":7828,"_44763":7545,"_44765":3674,"_44767":4646,"_44769":2342,"_44771":3231,"_37329":2343,"_44774":2344,"_44776":2345,"_44778":2346,"_37349":2347,"_44781":3437,"_44783":5960,"_37365":2348,"_44786":2349,"_44788":4825,"_37354":3438,"_44791":21553,"_44793":4415,"_44795":8741,"_44797":11285,"_44799":4922,"_44801":9014,"_44803":4334,"_44805":3618,"_44807":6001,"_44809":11408,"_44811":3619,"_44813":3162,"_44815":11981,"_44817":6107,"_44819":5336,"_44821":8021,"_44823":3238,"_44825":6301,"_44827":3620,"_44829":3621,"_44831":3622,"_44833":3623,"_44835":3624,"_44837":11286,"_44839":5191,"_44841":2956,"_44843":12127,"_44845":4217,"_44847":8367,"_16496":7634,"_44850":7560,"_44852":5192,"_44854":6640,"_44856":3625,"_44858":8428,"_44860":6683,"_44862":4827,"_44864":6108,"_44866":12007,"_44868":2957,"_44870":2958,"_44872":5481,"_44874":7754,"_44876":12049,"_44878":4473,"_44880":6200,"_44882":6923,"_44884":6819,"_44886":2959,"_44888":11582,"_44890":4159,"_44892":8022,"_44894":4598,"_44896":7561,"_44898":7562,"_44900":8052,"_44902":2996,"_44904":8023,"_44906":5482,"_44908":7563,"_44910":6109,"_44912":12092,"_44914":7157,"_44916":12298,"_44918":4474,"_44920":3626,"_44922":3627,"_44924":7419,"_44926":7564,"_44928":5483,"_44930":4851,"_44932":3395,"_44934":11736,"_44936":4335,"_44938":3628,"_44940":5895,"_44942":11878,"_44944":6122,"_44946":11287,"_44948":11884,"_44950":6110,"_44952":7706,"_44954":5193,"_44956":6659,"_44958":3810,"_44960":2997,"_44962":11180,"_44964":2998,"_44966":4336,"_44968":3629,"_44970":10641,"_44972":3300,"_44974":3163,"_44976":3164,"_44978":10320,"_44980":4828,"_44982":3239,"_44984":3630,"_44986":11674,"_44988":8673,"_44990":6266,"_44992":11440,"_44994":11416,"_44996":8674,"_44998":2960,"_45000":5858,"_45002":8675,"_45004":8053,"_45006":6002,"_45008":9015,"_45010":8361,"_45012":7158,"_45014":4475,"_45016":8151,"_45018":12420,"_45020":7883,"_45022":12436,"_45024":4605,"_45026":3631,"_45028":10337,"_45030":3632,"_45032":6003,"_45034":8024,"_45036":6004,"_45038":6111,"_45040":6820,"_45042":2999,"_45044":2961,"_45046":11453,"_45048":7565,"_45050":3811,"_45052":6112,"_45054":3633,"_45056":6801,"_45058":3301,"_45060":9057,"_45062":5979,"_45064":9397,"_45066":3217,"_45068":3634,"_45070":7606,"_45072":9016,"_45074":2962,"_45076":7995,"_45078":10822,"_45080":2963,"_45082":3716,"_45084":8854,"_45086":6113,"_45088":7566,"_45090":3165,"_45092":5738,"_45094":3921,"_45096":6005,"_45098":6821,"_45100":7567,"_45102":4490,"_45104":5337,"_45106":4540,"_45108":8025,"_45110":6006,"_45112":2964,"_37455":5484,"_45115":11628,"_45117":3635,"_45119":6007,"_45121":3636,"_45123":5338,"_45125":6114,"_45127":9017,"_45129":6115,"_45131":6302,"_45133":12245,"_45135":3637,"_45137":3240,"_45139":7996},[63013,63014,63015,63016,63017,63018,63019,63020,63021,63022,63023,63024,63025,63026,63027,63028,63029,63030,63031,63032,63033,63034,63035,63036,63037,63038,63039,63040,63041,63042,63043,63044,63045,63046,63047,63048,63049,63050,63051,63052,63053,63054,63055,63056,63057,63058,63059,63060,63061,63062,63063,63064,63065,63066,63067,63068,63069,63070,63071,63072,63073,63074,63075,63076,63077,63078,63079,63080,63081,63082,63083,63084,63085,63086,63087,63088,63089,63090,63091,63092,63093,63094,63095,63096,63097,63098,63099,63100,63101,63102,63103,63104,63105,63106,63107,63108,63109,63110,63111,63112,63113,63114,63115,63116,63117,63118,63119,63120,63121,63122,63123,63124,63125,63126,63127,63128,63129,63130,63131,63132,63133,63134,63135,63136,63137,63138,63139,63140,63141,63142,63143,63144,63145,63146,63147,63148,63149,63150,63151,63152,63153,63154,63155,63156,63157,63158,63159,63160,63161,63162,63163,63164,63165,63166,63167,63168,63169,63170,63171,63172,63173,63174,63175,63176,63177,63178,63179,63180,63181,63182,63183,63184,63185,63186,63187,63188,63189,63190,63191,63192,63193,63194,63195,63196,63197,63198,63199,63200,63201,63202,63203,63204,63205,63206,63207,63208,63209,63210,63211,63212,63213,63214,63215,63216,63217,63218,63219,63220,63221,63222,63223,63224,63225,63226,63227,63228,63229,63230,63231,63232,63233,63234,63235,63236,63237,63238,63239,63240,63241,63242,63243,63244,63245,63246,63247,63248,63249,63250,63251,63252,63253,63254,63255,63256,63257,63258,63259,63260,63261,63262,63263,63264,63265,63266,63267,63268,63269,63270,63271,63272,63273,63274,63275,63276,63277,63278,63279,63280,63281,63282,63283,63284,63285,63286,63287,63288,63289,63290,63291,63292,63293,63294,63295,63296,63297,63298,63299,63300,63301,63302,63303,63304,63305,63306,63307,63308,63309,63310,63311,63312,63313,63314,63315,63316,63317,63318,63319,63320,63321,63322,63323,63324,63325,63326,63327,63328,63329,63330,63331,63332,63333,63334,63335,63336,63337,63338,63339,63340,63341,63342,63343,63344,63345,63346,63347,63348,63349,63350,63351,63352,63353,63354,63355,63356,63357,63358,63359,63360,63361,63362,63363,63364,63365,63366,63367,63368,63369,63370,63371,63372,63373,63374,63375,63376,63377,63378,63379,63380,63381,63382,63383,63384,63385,63386,63387,63388,63389,63390,63391,63392,63393,63394,63395,63396,63397,63398,63399,63400,63401,63402,63403,63404,63405,63406,63407,63408,63409,63410,63411,63412,63413,63414,63415,63416,63417,63418,63419,63420,63421,63422,63423,63424,63425,63426,63427,63428,63429,63430,63431,63432,63433,63434,63435,63436,63437,63438,63439,63440,63441,63442,63443,63444,63445,63446,63447,63448,63449,63450,63451,63452,63453,63454,63455,63456,63457,63458,63459,63460,63461,63462,63463,63464,63465,63466,63467,63468,63469,63470,63471,63472,63473,63474,63475,63476,63477,63478,63479,63480,63481,63482,63483,63484,63485,63486,63487,63488,63489,63490,63491,63492,63493,63494,63495,63496,63497,63498,63499,63500,63501,63502,63503,63504,63505,63506,63507,63508,63509,63510,63511,63512,63513,63514,63515,63516,63517,63518,63519,63520,63521,63522,63523,63524,63525,63526,63527,63528,63529,63530,63531,63532,63533,63534,63535,63536,63537,63538,63539,63540,63541,63542,63543,63544,63545,63546,63547,63548,63549,63550,63551,63552,63553,63554,63555,63556,63557,63558,63559,63560,63561,63562,63563,63564,63565,63566,63567,63568,63569,63570,63571,63572,63573,63574,63575,63576,63577,63578,63579,63580,63581,63582,63583,63584,63585,63586,63587,63588,63589,63590,63591,63592,63593,63594,63595,63596,63597,63598,63599,63600,63601,63602,63603,63604,63605,63606,63607,63608,63609,63610,63611,63612,63613,63614,63615,63616,63617,63618,63619,63620,63621,63622,63623,63624,63625,63626,63627,63628,63629,63630,63631,63632,63633,63634,63635,63636,63637,63638,63639,63640,63641,63642,63643,63644,63645,63646,63647,63648,63649,63650,63651,63652,63653,63654,63655,63656,63657,63658,63659,63660,63661,63662,63663,63664,63665,63666,63667,63668,63669,63670,63671,63672,63673,63674,63675,63676,63677,63678,63679,63680,63681,63682,63683,63684,63685,63686,63687,63688,63689,63690,63691,63692,63693,63694,63695,63696,63697,63698,63699,63700,63701,63702,63703,63704,63705,63706,63707,63708,63709,63710,63711,63712,63713,63714,63715,63716,63717,63718,63719,63720,63721,63722,63723,63724,63725,63726,63727,63728,63729,63730,63731,63732,63733,63734,63735,63736,63737,63738,63739,63740,63741,63742,63743,63744,63745,63746,63747,63748,63749,63750,63751,63752,63753,63754,63755,63756,63757,63758,63759,63760,63761,63762,63763,63764,63765,63766,63767,63768,63769,63770,63771,63772,63773,63774,63775,63776,63777,63778,63779,63780,63781,63782,63783,63784,63785,63786,63787,63788,63789,63790,63791,63792,63793,63794,63795,63796,63797,63798,63799,63800,63801,63802,63803,63804,63805,63806,63807,63808,63809,63810,63811,63812,63813,63814,63815,63816,63817,63818,63819,63820,63821,63822,63823,63824,63825,63826,63827,63828,63829,63830,63831,63832,63833,63834,63835,63836,63837,63838,63839,63840,63841,63842,63843,63844,63845,63846,63847,63848,63849,63850,63851,63852,63853,63854,63855,63856,63857,63858,63859,63860,63861,63862,63863,63864,63865,63866,63867,63868,63869,63870,63871,63872,63873,63874,63875,63876,63877,63878,63879,63880,63881,63882,63883,63884,63885,63886,63887,63888,63889,63890,63891,63892,63893,63894,63895,63896,63897,63898,63899,63900,63901,63902,63903,63904,63905,63906,63907,63908,63909,63910,63911,63912,63913,63914,63915,63916,63917,63918,63919,63920,63921,63922,63923,63924,63925,63926,63927,63928,63929,63930,63931,63932,63933,63934,63935,63936,63937,63938,63939,63940,63941,63942,63943,63944,63945,63946,63947,63948,63949,63950,63951,63952,63953,63954,63955,63956,63957,63958,63959,63960,63961,63962,63963,63964,63965,63966,63967,63968,63969,63970,63971,63972,63973,63974,63975,63976,63977,63978,63979,63980,63981,63982,63983,63984,63985,63986,63987,63988,63989,63990,63991,63992,63993,63994,63995,63996,63997,63998,63999,64000,64001,64002,64003,64004,64005,64006,64007,64008,64009,64010,64011,64012,64013,64014,64015,64016,64017,64018,64019,64020,64021,64022,64023,64024,64025,64026,64027,64028,64029,64030,64031,64032,64033,64034,64035,64036,64037,64038,64039,64040,64041,64042,64043,64044,64045,64046,64047,64048,64049,64050,64051,64052,64053,64054,64055,64056,64057,64058,64059,64060,64061,64062,64063,64064,64065,64066,64067,64068,64069,64070,64071,64072,64073,64074,64075,64076,64077,64078,64079,64080,64081,64082,64083,64084,64085,64086,64087,64088,64089,64090,64091,64092,64093,64094,64095,64096,64097,64098,64099,64100,64101,64102,64103,64104,64105,64106,64107,64108,64109,64110,64111,64112,64113,64114,64115,64116,64117,64118,64119,64120,64121,64122,64123,64124,64125,64126,64127,64128,64129,64130,64131,64132,64133,64134,64135,64136,64137,64138,64139,64140,64141,64142,64143,64144,64145,64146,64147,64148,64149,64150,64151,64152,64153,64154,64155,64156,64157,64158,64159,64160,64161,64162,64163,64164,64165,64166,64167,64168,64169,64170,64171,64172,64173,64174,64175,64176,64177,64178,64179,64180,64181,64182,64183,64184,64185,64186,64187,64188,64189,64190,64191,64192,64193,64194,64195,64196,64197,64198,64199,64200,64201,64202,64203,64204,64205,64206,64207,64208,64209,64210,64211,64212,64213,64214,64215,64216,64217,64218,64219,64220,64221,64222,64223,64224,64225,64226,64227,64228,64229,64230,64231,64232,64233,64234,64235,64236,64237,64238,64239,64240,64241,64242,64243,64244,64245,64246,64247,64248,64249,64250,64251,64252,64253,64254,64255,64256,64257,64258,64259,64260,64261,64262,64263,64264,64265,64266,64267,64268,64269,64270,64271,64272,64273,64274,64275,64276,64277,64278,64279,64280,64281,64282,64283,64284,64285,64286,64287,64288,64289,64290,64291,64292,64293,64294,64295,64296,64297,64298,64299,64300,64301,64302,64303,64304,64305,64306,64307,64308,64309,64310,64311,64312,64313,64314,64315,64316,64317,64318,64319,64320,64321,64322,64323,64324,64325,64326,64327,64328,64329,64330,64331,64332,64333,64334,64335,64336,64337,64338,64339,64340,64341,64342,64343,64344,64345,64346,64347,64348,64349,64350,64351,64352,64353,64354,64355,64356,64357,64358,64359,64360,64361,64362,64363,64364,64365,64366,64367,64368,64369,64370,64371,64372,64373,64374,64375,64376,64377,64378,64379,64380,64381,64382,64383,64384,64385,64386,64387,64388,64389,64390,64391,64392,64393,64394,64395,64396,64397,64398,64399,64400,64401,64402,64403,64404,64405,64406,64407,64408,64409,64410,64411,64412,64413,64414,64415,64416,64417,64418,64419,64420,64421,64422,64423,64424,64425,64426,64427,64428,64429,64430,64431,64432,64433,64434,64435,64436,64437,64438,64439,64440,64441,64442,64443,64444,64445,64446,64447,64448,64449,64450,64451,64452,64453,64454,64455,64456,64457,64458,64459,64460,64461,64462,64463,64464,64465,64466,64467,64468,64469,64470,64471,64472,64473,64474,64475,64476,64477,64478,64479,64480,64481,64482,64483,64484,64485,64486,64487,64488,64489,64490,64491,64492,64493,64494,64495,64496,64497,64498,64499,64500,64501,64502,64503,64504,64505,64506,64507,64508,64509,64510,64511,64512,64513,64514,64515,64516,64517,64518,64519,64520,64521,64522,64523,64524,64525,64526,64527,64528,64529,64530,64531,64532,64533,64534,64535,64536,64537,64538,64539,64540,64541,64542,64543,64544,64545,64546,64547,64548,64549,64550,64551,64552,64553,64554,64555,64556,64557,64558,64559,64560,64561,64562,64563,64564,64565,64566,64567,64568,64569,64570,64571,64572,64573,64574,64575,64576,64577,64578,64579,64580,64581,64582,64583,64584,64585,64586,64587,64588,64589,64590,64591,64592,64593,64594,64595,64596,64597,64598,64599,64600,64601,64602,64603,64604,64605,64606,64607,64608,64609,64610,64611,64612,64613,64614,64615,64616,64617,64618,64619,64620,64621,64622,64623,64624,64625,64626,64627,64628,64629,64630,64631,64632,64633,64634,64635,64636,64637,64638,64639,64640,64641,64642,64643,64644,64645,64646,64647,64648,64649,64650,64651,64652,64653,64654,64655,64656,64657,64658,64659,64660,64661,64662,64663,64664,64665,64666,64667,64668,64669,64670,64671,64672,64673,64674,64675,64676,64677,64678,64679,64680,64681,64682,64683,64684,64685,64686,64687,64688,64689,64690,64691,64692,64693,64694,64695,64696,64697,64698,64699,64700,64701,64702,64703,64704,64705,64706,64707,64708,64709,64710,64711,64712,64713,64714,64715,64716,64717,64718,64719,64720,64721,64722,64723,64724,64725,64726,64727,64728,64729,64730,64731,64732,64733,64734,64735,64736,64737,64738,64739,64740,64741,64742,64743,64744,64745,64746,64747,64748,64749,64750,64751,64752,64753,64754,64755,64756,64757,64758,64759,64760,64761,64762,64763,64764,64765,64766,64767,64768,64769,64770,64771,64772,64773,64774,64775,64776,64777,64778,64779,64780,64781,64782,64783,64784,64785,64786,64787,64788,64789,64790,64791,64792,64793,64794,64795,64796,64797,64798,64799,64800,64801,64802,64803,64804,64805,64806,64807,64808,64809,64810,64811,64812,64813,64814,64815,64816,64817,64818,64819,64820,64821,64822,64823,64824,64825,64826,64827,64828,64829,64830,64831,64832,64833,64834,64835,64836,64837,64838,64839,64840,64841,64842,64843,64844,64845,64846,64847,64848,64849,64850,64851,64852,64853,64854,64855,64856,64857,64858,64859,64860,64861,64862,64863,64864,64865,64866,64867,64868,64869,64870,64871,64872,64873,64874,64875,64876,64877,64878,64879,64880,64881,64882,64883,64884,64885,64886,64887,64888,64889,64890,64891,64892,64893,64894,64895,64896,64897,64898,64899,64900,64901,64902,64903,64904,64905,64906,64907,64908,64909,64910,64911,64912,64913,64914,64915,64916,64917,64918,64919,64920,64921,64922,64923,64924,64925,64926,64927,64928,64929,64930,64931,64932,64933,64934,64935,64936,64937,64938,64939,64940,64941,64942,64943,64944,64945,64946,64947,64948,64949,64950,64951,64952,64953,64954,64955,64956,64957,64958,64959,64960,64961,64962,64963,64964,64965,64966,64967,64968,64969,64970,64971,64972,64973,64974,64975,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65008,65009,65010,65011,65012,65013,65014,65015,65016,65017,65018,65019,65020,65021,65022,65023,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65040,65041,65042,65043,65044,65045,65046,65047,65048,65049,65050,65051,65052,65053,65054,65055,65056,65057,65058,65059,65060,65061,65062,65063,65064,65065,65066,65067,65068,65069,65070,65071,65072,65073,65074,65075,65076,65077,65078,65079,65080,65081,65082,65083,65084,65085,65086,65087,65088,65089,65090,65091,65092,65093,65094,65095,65096,65097,65098,65099,65100,65101,65102,65103,65104,65105,65106,65107,65108,65109,65110,65111,65112,65113,65114,65115,65116,65117,65118,65119,65120,65121,65122,65123,65124,65125,65126,65127,65128,65129,65130,65131,65132,65133,65134,65135,65136,65137,65138,65139,65140,65141,65142,65143,65144,65145,65146,65147,65148,65149,65150,65151,65152,65153,65154,65155,65156,65157,65158,65159,65160,65161,65162,65163,65164,65165,65166,65167,65168,65169,65170,65171,65172,65173,65174,65175,65176,65177,65178,65179,65180,65181,65182,65183,65184,65185,65186,65187,65188,65189,65190,65191,65192,65193,65194,65195,65196,65197,65198,65199,65200,65201,65202,65203,65204,65205,65206],[20080,38006],[6014,38006],[13290,38006],[25017,38006],[20682,38006],[28364,38006],[21663,38006],[18156,38006],[5334,38006],[18918,38006],[7786,38006],[3053,38006],[3054,38006],[22857,38006],[13237,38006],[13758,38006],[3082,38006],[5881,38006],[4845,38006],[16199,38006],[5882,38006],[5883,38006],[4772,38006],[24839,38006],[5884,38006],[6736,38006],[3059,38006],[22218,38006],[22219,38006],[7830,38006],[9607,38006],[8833,38006],[19890,38006],[20526,38006],[8822,38006],[13250,38006],[3463,38006],[2383,38006],[8834,38006],[8835,38006],[14356,38006],[30104,38006],[3292,38006],[13480,38006],[13741,38006],[14153,38006],[15621,38006],[23957,38006],[23973,38006],[24067,38006],[7273,38006],[7322,38006],[7329,38006],[7342,38006],[29923,38006],[28820,38006],[29433,38006],[18822,38006],[36385,38006],[9691,38006],[10668,38006],[9046,38006],[26244,38006],[26321,38006],[26332,38006],[25514,38006],[27835,38006],[35285,38006],[31447,38006],[7605,38006],[13342,38006],[3247,38006],[8653,38006],[8654,38006],[7831,38006],[32538,38006],[32539,38006],[14933,38006],[22492,38006],[6078,38006],[4325,38006],[26213,38006],[9534,38006],[13760,38006],[7257,38006],[16666,38006],[20784,38006],[9692,38006],[14465,38006],[3186,38006],[10896,38006],[11267,38006],[2490,38006],[16541,38006],[21506,38006],[10465,38006],[10374,38006],[21507,38006],[20889,38006],[20890,38006],[13787,38006],[7546,38006],[18269,38006],[4681,38006],[7092,38006],[17199,38006],[35816,38006],[7787,38006],[4936,38006],[4937,38006],[3938,38006],[6696,38006],[6682,38006],[15932,38006],[29949,38006],[6347,38006],[6082,38006],[13678,38006],[6348,38006],[11259,38006],[5479,38006],[6349,38006],[17548,38006],[17549,38006],[6083,38006],[17645,38006],[17646,38006],[2519,38006],[10466,38006],[26287,38006],[28809,38006],[24000,38006],[26689,38006],[9261,38006],[27545,38006],[12961,38006],[13039,38006],[13073,38006],[13051,38006],[13023,38006],[12980,38006],[12987,38006],[12994,38006],[26700,38006],[7612,38006],[8764,38006],[16872,38006],[30596,38006],[30340,38006],[13080,38006],[22030,38006],[8237,38006],[30633,38006],[22008,38006],[16841,38006],[30796,38006],[18475,38006],[15027,38006],[22009,38006],[22010,38006],[26882,38006],[27929,38006],[2596,38006],[8837,38006],[18486,38006],[13306,38006],[13307,38006],[15028,38006],[32991,38006],[23254,38006],[5185,38006],[5186,38006],[4330,38006],[30987,38006],[13345,38006],[13226,38006],[16718,38006],[6785,38006],[29685,38006],[11277,38006],[12934,38006],[31664,38006],[5057,38006],[33425,38006],[7343,38006],[26605,38006],[13599,38006],[3269,38006],[23133,38006],[3270,38006],[11278,38006],[11279,38006],[6242,38006],[2690,38006],[6101,38006],[9824,38006],[9013,38006],[5394,38006],[5395,38006],[2739,38006],[5396,38006],[4251,38006],[30797,38006],[24784,38006],[36413,38006],[18890,38006],[28594,38006],[3563,38006],[27284,38006],[10843,38006],[14775,38006],[29191,38006],[8266,38006],[3350,38006],[5745,38006],[8238,38006],[7517,38006],[7200,38006],[35804,38006],[37052,38006],[36962,38006],[33869,38006],[34158,38006],[28146,38006],[28152,38006],[28159,38006],[21646,38006],[10686,38006],[4362,38006],[4363,38006],[4364,38006],[4365,38006],[4366,38006],[4367,38006],[4368,38006],[4369,38006],[4370,38006],[4371,38006],[4372,38006],[4373,38006],[4374,38006],[4375,38006],[4376,38006],[4377,38006],[4378,38006],[4379,38006],[4380,38006],[4381,38006],[4382,38006],[4383,38006],[4384,38006],[4385,38006],[4386,38006],[4387,38006],[14954,38006],[5699,38006],[22183,38006],[31135,38006],[24572,38006],[8553,38006],[18004,38006],[20293,38006],[21421,38006],[19817,38006],[11174,38006],[26638,38006],[23128,38006],[22726,38006],[14665,38006],[32040,38006],[30328,38006],[13221,38006],[2855,38006],[7182,38006],[3599,38006],[11293,38006],[3600,38006],[3601,38006],[6977,38006],[4333,38006],[17647,38006],[34435,38006],[18997,38006],[9949,38006],[11281,38006],[5587,38006],[3607,38006],[4992,38006],[4970,38006],[25214,38006],[14986,38006],[6978,38006],[36504,38006],[28365,38006],[6930,38006],[5515,38006],[6105,38006],[4252,38006],[18708,38006],[24731,38006],[5779,38006],[11282,38006],[11283,38006],[11284,38006],[8766,38006],[5932,38006],[9892,38006],[25336,38006],[30894,38006],[17733,38006],[22011,38006],[21549,38006],[9893,38006],[15370,38006],[30895,38006],[8299,38006],[17734,38006],[21550,38006],[9894,38006],[30896,38006],[8300,38006],[17735,38006],[22012,38006],[21551,38006],[9895,38006],[25337,38006],[30897,38006],[17736,38006],[31537,38006],[9896,38006],[17737,38006],[21552,38006],[9897,38006],[25338,38006],[30898,38006],[8301,38006],[17738,38006],[22013,38006],[31538,38006],[21553,38006],[3013,19386],[18917,19386],[14690,19386],[8236,19386],[13757,19386],[7829,19386],[24256,19386],[3035,19386],[13333,19386],[9703,19386],[35815,19386],[4935,19386],[6695,19386],[36503,19386],[6921,19386],[3512,19386],[22535,19386],[23121,19386],[32540,19386],[5056,19386],[30993,19386],[2645,19386],[6975,19386],[20790,19386],[3550,19386],[6922,19386],[4850,19386],[26403,19386],[31665,19386],[3561,19386],[15933,19386],[6562,19386],[16940,19386],[25612,19386],[9891,19386],[2229,22127],[2230,22127],[2231,22127],[2232,22127],[2233,22127],[2234,22127],[3081,22127],[2235,22127],[2236,22127],[2237,22127],[3355,22127],[6027,22127],[6071,22127],[31488,22127],[12960,22127],[3644,22127],[5064,22127],[5388,22127],[5389,22127],[2238,22127],[3767,22127],[3051,22127],[2239,22127],[3356,22127],[4359,22127],[2240,22127],[2241,22127],[5390,22127],[6072,22127],[7537,22127],[7538,22127],[3401,22127],[3768,22127],[2242,22127],[2243,22127],[2244,22127],[2245,22127],[6073,22127],[2246,22127],[3052,22127],[2247,22127],[3402,22127],[3055,22127],[5391,22127],[4457,22127],[4458,22127],[3403,22127],[5392,22127],[2248,22127],[9417,22127],[7539,22127],[3404,22127],[5984,22127],[2249,22127],[3405,22127],[2250,22127],[2251,22127],[3254,22127],[6260,22127],[3980,22127],[2252,22127],[2253,22127],[20543,22127],[36118,22127],[7540,22127],[36125,22127],[8860,22127],[36132,22127],[7541,22127],[36139,22127],[8861,22127],[36146,22127],[8206,22127],[36153,22127],[3177,22127],[36160,22127],[6074,22127],[36167,22127],[8207,22127],[36179,22127],[7542,22127],[36192,22127],[7543,22127],[2254,22127],[3357,22127],[2255,22127],[3056,22127],[2977,22127],[5873,22127],[3057,22127],[3406,22127],[3152,22127],[7718,22127],[5321,22127],[4459,22127],[5393,22127],[2256,22127],[2257,22127],[3407,22127],[3408,22127],[3927,22127],[6075,22127],[6076,22127],[2258,22127],[2259,22127],[3409,22127],[2260,22127],[4460,22127],[4324,22127],[2261,22127],[2262,22127],[2263,22127],[2264,22127],[3928,22127],[2265,22127],[2266,22127],[3929,22127],[2267,22127],[2268,22127],[2269,22127],[3410,22127],[2270,22127],[3411,22127],[3198,22127],[2271,22127],[16539,22127],[5985,22127],[3412,22127],[2272,22127],[6049,22127],[4461,22127],[3153,22127],[5986,22127],[16540,22127],[3104,22127],[3413,22127],[3154,22127],[3414,22127],[2273,22127],[3415,22127],[3058,22127],[2274,22127],[17138,22127],[2275,22127],[3769,22127],[5538,22127],[3930,22127],[3178,22127],[3416,22127],[17139,22127],[2276,22127],[2277,22127],[3770,22127],[2278,22127],[17140,22127],[2279,22127],[2280,22127],[3417,22127],[2281,22127],[3358,22127],[2282,22127],[2283,22127],[2284,22127],[2285,22127],[2286,22127],[4486,22127],[4487,22127],[2287,22127],[2288,22127],[2289,22127],[3418,22127],[2290,22127],[3419,22127],[3771,22127],[2291,22127],[3255,22127],[3256,22127],[3257,22127],[3258,22127],[3212,22127],[2292,22127],[2293,22127],[2294,22127],[2295,22127],[2296,22127],[2297,22127],[2298,22127],[2299,22127],[2300,22127],[2301,22127],[6050,22127],[2302,22127],[2303,22127],[2304,22127],[2305,22127],[6299,22127],[2306,22127],[3772,22127],[2307,22127],[2308,22127],[4510,22127],[2309,22127],[2310,22127],[2311,22127],[2312,22127],[6051,22127],[3090,22127],[5182,22127],[2313,22127],[2314,22127],[3259,22127],[16235,22127],[5987,22127],[6216,22127],[2315,22127],[3420,22127],[3421,22127],[2316,22127],[3422,22127],[3423,22127],[3424,22127],[3425,22127],[5476,22127],[3426,22127],[5477,22127],[8296,22127],[3773,22127],[15117,22127],[7454,22127],[15118,22127],[2317,22127],[3774,22127],[4360,22127],[2318,22127],[2319,22127],[3775,22127],[2320,22127],[2321,22127],[2322,22127],[2323,22127],[2324,22127],[3427,22127],[2978,22127],[3428,22127],[16934,22127],[3429,22127],[5478,22127],[3430,22127],[2979,22127],[3359,22127],[2325,22127],[17141,22127],[3431,22127],[2326,22127],[2327,22127],[4488,22127],[2328,22127],[17142,22127],[3360,22127],[2329,22127],[2330,22127],[17143,22127],[2331,22127],[2332,22127],[2333,22127],[2334,22127],[3776,22127],[17144,22127],[3777,22127],[17145,22127],[3931,22127],[2335,22127],[2336,22127],[2337,22127],[3361,22127],[3432,22127],[3433,22127],[3434,22127],[3435,22127],[2338,22127],[2339,22127],[4489,22127],[3436,22127],[2340,22127],[2341,22127],[4645,22127],[4462,22127],[4652,22127],[7827,22127],[7544,22127],[7828,22127],[7545,22127],[3674,22127],[4646,22127],[2342,22127],[3231,22127],[2343,22127],[2344,22127],[2345,22127],[2346,22127],[2347,22127],[3437,22127],[5960,22127],[2348,22127],[2349,22127],[4825,22127],[3438,22127],[2350,22127],[3645,22127],[3362,22127],[2351,22127],[2352,22127],[3260,22127],[2353,22127],[2354,22127],[3261,22127],[3439,22127],[3440,22127],[3441,22127],[3363,22127],[3442,22127],[3443,22127],[3155,22127],[3444,22127],[2355,22127],[3262,22127],[4846,22127],[4847,22127],[4848,22127],[23798,22127],[3445,22127],[3263,22127],[3446,22127],[3447,22127],[3932,22127],[4361,22127],[3933,22127],[3934,22127],[4496,22127],[2356,22127],[2357,22127],[8297,22127],[6300,22127],[2358,22127],[3448,22127],[8463,22127],[2359,22127],[3449,22127],[3450,22127],[3451,22127],[3778,22127],[2360,22127],[3452,22127],[4663,22127],[5874,22127],[18307,22127],[2361,22127],[3453,22127],[7038,22127],[6077,22127],[2362,22127],[12933,22127],[3454,22127],[2363,22127],[2364,22127],[3232,22127],[2365,22127],[3140,22127],[8298,22127],[2366,22127],[4778,22127],[3364,22127],[2367,22127],[2368,22127],[4779,22127],[3455,22127],[2369,22127],[5511,22127],[5750,22127],[6052,22127],[2370,22127],[2371,22127],[3456,22127],[3457,22127],[2372,22127],[3779,22127],[2373,22127],[3458,22127],[3060,22127],[2980,22127],[2981,22127],[2982,22127],[2983,22127],[3061,22127],[2984,22127],[3062,22127],[2985,22127],[3063,22127],[2986,22127],[2987,22127],[2988,22127],[2374,22127],[2989,22127],[3459,22127],[2375,22127],[6261,22127],[2376,22127],[6021,22127],[2377,22127],[2378,22127],[2379,22127],[2380,22127],[2381,22127],[3460,22127],[2382,22127],[17146,22127],[3461,22127],[7770,22127],[3462,22127],[3464,22127],[8836,22127],[13251,22127],[3465,22127],[2384,22127],[2385,22127],[2386,22127],[5988,22127],[2387,22127],[3285,22127],[5798,22127],[5799,22127],[13339,22127],[25962,22127],[13340,22127],[13714,22127],[7510,22127],[3466,22127],[3467,22127],[3468,22127],[3469,22127],[26836,22127],[3470,22127],[3471,22127],[25059,22127],[25060,22127],[8273,22127],[3472,22127],[3473,22127],[25061,22127],[25062,22127],[31515,22127],[3474,22127],[3475,22127],[25063,22127],[25064,22127],[6864,22127],[6053,22127],[6054,22127],[25065,22127],[25066,22127],[3646,22127],[3365,22127],[2388,22127],[17147,22127],[2389,22127],[2390,22127],[3780,22127],[2391,22127],[6262,22127],[2392,22127],[8208,22127],[2393,22127],[2394,22127],[2395,22127],[2396,22127],[2397,22127],[2398,22127],[5790,22127],[2399,22127],[2400,22127],[5989,22127],[4044,22127],[2401,22127],[3476,22127],[3027,22127],[2402,22127],[2403,22127],[3477,22127],[2404,22127],[3478,22127],[2405,22127],[2406,22127],[2407,22127],[3479,22127],[4463,22127],[3156,22127],[13341,22127],[13759,22127],[2408,22127],[2409,22127],[2410,22127],[2411,22127],[2412,22127],[2413,22127],[2414,22127],[2415,22127],[2416,22127],[2417,22127],[2418,22127],[4464,22127],[9555,22127],[2419,22127],[2420,22127],[3781,22127],[13334,22127],[5512,22127],[18751,22127],[9730,22127],[2421,22127],[2422,22127],[2423,22127],[2424,22127],[2425,22127],[4465,22127],[5183,22127],[2426,22127],[2427,22127],[2428,22127],[11266,22127],[4466,22127],[3480,22127],[2429,22127],[2430,22127],[2431,22127],[2432,22127],[2433,22127],[22668,22127],[3481,22127],[2434,22127],[3482,22127],[3483,22127],[6079,22127],[2435,22127],[4595,22127],[6080,22127],[2436,22127],[3248,22127],[2437,22127],[2438,22127],[2439,22127],[4497,22127],[2440,22127],[3157,22127],[2441,22127],[2442,22127],[12751,22127],[12752,22127],[2443,22127],[2444,22127],[12753,22127],[2445,22127],[5097,22127],[12754,22127],[2446,22127],[2447,22127],[2448,22127],[2449,22127],[3484,22127],[3485,22127],[3647,22127],[2450,22127],[2451,22127],[2452,22127],[3187,22127],[3486,22127],[3648,22127],[2453,22127],[2454,22127],[3487,22127],[2455,22127],[4326,22127],[3649,22127],[2456,22127],[3488,22127],[2457,22127],[2458,22127],[3489,22127],[2459,22127],[2460,22127],[2461,22127],[2462,22127],[22669,22127],[2463,22127],[3366,22127],[2464,22127],[2465,22127],[2466,22127],[2467,22127],[2468,22127],[8209,22127],[6681,22127],[6248,22127],[2469,22127],[2470,22127],[2471,22127],[3213,22127],[3158,22127],[2472,22127],[2473,22127],[4327,22127],[3367,22127],[2474,22127],[2475,22127],[2476,22127],[4328,22127],[2477,22127],[2478,22127],[2479,22127],[2480,22127],[3675,22127],[3490,22127],[3491,22127],[13761,22127],[2481,22127],[27963,22127],[2482,22127],[3782,22127],[2483,22127],[3783,22127],[2484,22127],[2485,22127],[2486,22127],[2487,22127],[2488,22127],[2489,22127],[2491,22127],[4031,22127],[3492,22127],[2492,22127],[2493,22127],[2494,22127],[3935,22127],[6561,22127],[3493,22127],[3214,22127],[3179,22127],[2495,22127],[21499,22127],[6652,22127],[24173,22127],[36465,22127],[10381,22127],[4467,22127],[9069,22127],[10358,22127],[2496,22127],[29244,22127],[29245,22127],[2497,22127],[29189,22127],[29190,22127],[2498,22127],[7737,22127],[7738,22127],[2499,22127],[23237,22127],[17451,22127],[3494,22127],[25994,22127],[26414,22127],[3936,22127],[2500,22127],[21500,22127],[6653,22127],[24174,22127],[12661,22127],[25676,22127],[4596,22127],[23238,22127],[17452,22127],[3495,22127],[25995,22127],[26415,22127],[3937,22127],[3496,22127],[3497,22127],[3784,22127],[3215,22127],[7547,22127],[7548,22127],[19627,22127],[3498,22127],[13343,22127],[17148,22127],[3499,22127],[3500,22127],[6134,22127],[11268,22127],[18270,22127],[11269,22127],[3501,22127],[2501,22127],[7832,22127],[8789,22127],[2502,22127],[3502,22127],[2503,22127],[6920,22127],[3036,22127],[2504,22127],[3939,22127],[36867,22127],[35138,22127],[26397,22127],[13344,22127],[34450,22127],[3940,22127],[18039,22127],[3233,22127],[5777,22127],[4944,22127],[12925,22127],[6081,22127],[12926,22127],[5791,22127],[5184,22127],[2990,22127],[9391,22127],[5023,22127],[3503,22127],[4938,22127],[2505,22127],[3785,22127],[3234,22127],[3941,22127],[3942,22127],[3943,22127],[2506,22127],[2507,22127],[3981,22127],[2508,22127],[3264,22127],[2509,22127],[2510,22127],[2511,22127],[2512,22127],[3159,22127],[3368,22127],[4186,22127],[3160,22127],[2513,22127],[2514,22127],[2515,22127],[3216,22127],[2516,22127],[2517,22127],[2518,22127],[3504,22127],[2520,22127],[2521,22127],[2522,22127],[2523,22127],[2524,22127],[2525,22127],[2526,22127],[3505,22127],[2527,22127],[3369,22127],[3650,22127],[3370,22127],[3371,22127],[6350,22127],[2528,22127],[6084,22127],[2529,22127],[2530,22127],[2531,22127],[6085,22127],[5513,22127],[2532,22127],[3506,22127],[2533,22127],[8373,22127],[3507,22127],[4890,22127],[5480,22127],[4896,22127],[17550,22127],[6351,22127],[2534,22127],[6352,22127],[2535,22127],[3508,22127],[3651,22127],[5514,22127],[25611,22127],[2536,22127],[2537,22127],[2538,22127],[3509,22127],[2539,22127],[7719,22127],[2540,22127],[2541,22127],[5065,22127],[2542,22127],[2543,22127],[2544,22127],[2545,22127],[2546,22127],[6353,22127],[2547,22127],[2548,22127],[3510,22127],[3511,22127],[3786,22127],[6086,22127],[2549,22127],[2550,22127],[3044,22127],[6255,22127],[4468,22127],[2551,22127],[2552,22127],[5990,22127],[2553,22127],[2554,22127],[2555,22127],[2556,22127],[2557,22127],[2558,22127],[3513,22127],[2991,22127],[3787,22127],[3514,22127],[2559,22127],[2560,22127],[3788,22127],[2561,22127],[7549,22127],[2562,22127],[2992,22127],[3515,22127],[11270,22127],[2563,22127],[11271,22127],[7550,22127],[3789,22127],[3516,22127],[3517,22127],[3944,22127],[2564,22127],[7833,22127],[6325,22127],[2565,22127],[4469,22127],[2566,22127],[2567,22127],[3265,22127],[19246,22127],[3266,22127],[3267,22127],[3790,22127],[3518,22127],[3835,22127],[14684,22127],[6415,22127],[3161,22127],[3791,22127],[15549,22127],[2568,22127],[3372,22127],[3519,22127],[18619,22127],[2569,22127],[6445,22127],[2570,22127],[3520,22127],[3652,22127],[7274,22127],[11272,22127],[3653,22127],[3521,22127],[2571,22127],[26245,22127],[3522,22127],[7551,22127],[11273,22127],[6263,22127],[6897,22127],[11274,22127],[5991,22127],[5992,22127],[3523,22127],[23183,22127],[3945,22127],[2572,22127],[2573,22127],[2574,22127],[2575,22127],[2576,22127],[2577,22127],[7275,22127],[16717,22127],[8765,22127],[3714,22127],[3524,22127],[3525,22127],[6087,22127],[2578,22127],[2579,22127],[2580,22127],[2581,22127],[2582,22127],[5993,22127],[6088,22127],[2583,22127],[2584,22127],[3526,22127],[2585,22127],[2586,22127],[2587,22127],[2588,22127],[2589,22127],[2590,22127],[2591,22127],[2592,22127],[2593,22127],[2594,22127],[2595,22127],[2597,22127],[7788,22127],[3946,22127],[3235,22127],[2598,22127],[2599,22127],[3373,22127],[3527,22127],[3528,22127],[12927,22127],[3374,22127],[3947,22127],[2600,22127],[3529,22127],[2601,22127],[3530,22127],[6264,22127],[3948,22127],[3531,22127],[3532,22127],[2602,22127],[17149,22127],[4095,22127],[3375,22127],[3376,22127],[4329,22127],[2603,22127],[8008,22127],[2604,22127],[3533,22127],[2605,22127],[2606,22127],[2607,22127],[2608,22127],[7720,22127],[2609,22127],[2610,22127],[2611,22127],[2612,22127],[2993,22127],[3534,22127],[2613,22127],[2614,22127],[2615,22127],[2616,22127],[3535,22127],[7721,22127],[2617,22127],[2618,22127],[2619,22127],[3224,22127],[2620,22127],[3792,22127],[3536,22127],[12800,22127],[12807,22127],[12814,22127],[12826,22127],[4470,22127],[3793,22127],[3661,22127],[4826,22127],[3949,22127],[5216,22127],[5235,22127],[5236,22127],[5237,22127],[3537,22127],[5217,22127],[12856,22127],[3538,22127],[5187,22127],[2621,22127],[5188,22127],[2622,22127],[5189,22127],[2623,22127],[2624,22127],[17150,22127],[2625,22127],[3539,22127],[3540,22127],[3541,22127],[2626,22127],[2627,22127],[2628,22127],[6089,22127],[2629,22127],[2630,22127],[2994,22127],[4849,22127],[7834,22127],[3654,22127],[2631,22127],[3236,22127],[4518,22127],[6090,22127],[4498,22127],[5994,22127],[3542,22127],[2632,22127],[7835,22127],[2633,22127],[7836,22127],[3268,22127],[2634,22127],[11275,22127],[2635,22127],[2636,22127],[2637,22127],[2638,22127],[2639,22127],[2640,22127],[3543,22127],[2641,22127],[3794,22127],[3544,22127],[4331,22127],[23799,22127],[23800,22127],[17151,22127],[2642,22127],[4244,22127],[11276,22127],[2643,22127],[17152,22127],[2644,22127],[2646,22127],[2647,22127],[3377,22127],[2648,22127],[8660,22127],[3795,22127],[2649,22127],[9863,22127],[2650,22127],[3982,22127],[3378,22127],[3379,22127],[15146,22127],[6898,22127],[8757,22127],[13346,22127],[4664,22127],[3545,22127],[2651,22127],[2652,22127],[3796,22127],[2653,22127],[2654,22127],[2655,22127],[2656,22127],[2657,22127],[3204,22127],[17153,22127],[2658,22127],[3546,22127],[2659,22127],[2660,22127],[3547,22127],[35070,22127],[3797,22127],[2661,22127],[9434,22127],[2662,22127],[17154,22127],[2663,22127],[2664,22127],[2665,22127],[2666,22127],[2667,22127],[3798,22127],[2668,22127],[2669,22127],[2670,22127],[3548,22127],[2671,22127],[3037,22127],[11280,22127],[2672,22127],[2673,22127],[2674,22127],[3549,22127],[6091,22127],[6092,22127],[6093,22127],[6094,22127],[8210,22127],[8211,22127],[6095,22127],[6096,22127],[5190,22127],[3380,22127],[6097,22127],[6098,22127],[3551,22127],[3799,22127],[2675,22127],[2676,22127],[2677,22127],[2678,22127],[2679,22127],[2680,22127],[2681,22127],[7789,22127],[3552,22127],[6099,22127],[4332,22127],[2682,22127],[3553,22127],[2683,22127],[3554,22127],[2684,22127],[2685,22127],[2686,22127],[3381,22127],[2687,22127],[2688,22127],[3271,22127],[3188,22127],[3800,22127],[3189,22127],[3190,22127],[12662,22127],[14169,22127],[5820,22127],[5778,22127],[3801,22127],[2689,22127],[2691,22127],[2692,22127],[2693,22127],[2694,22127],[2695,22127],[2696,22127],[2697,22127],[3382,22127],[3555,22127],[8212,22127],[13238,22127],[3950,22127],[10573,22127],[6100,22127],[2698,22127],[2699,22127],[2700,22127],[2701,22127],[2702,22127],[2703,22127],[2704,22127],[3556,22127],[2705,22127],[2706,22127],[3272,22127],[2707,22127],[17535,22127],[15622,22127],[2708,22127],[2709,22127],[3557,22127],[17536,22127],[2710,22127],[2711,22127],[2712,22127],[2713,22127],[3558,22127],[5875,22127],[2714,22127],[15628,22127],[2715,22127],[2716,22127],[2717,22127],[3559,22127],[2718,22127],[2719,22127],[2720,22127],[2721,22127],[2722,22127],[2723,22127],[2724,22127],[2725,22127],[2726,22127],[2727,22127],[2728,22127],[2729,22127],[3299,22127],[2730,22127],[2731,22127],[2732,22127],[2733,22127],[6976,22127],[3560,22127],[2734,22127],[3951,22127],[2735,22127],[2736,22127],[2737,22127],[2738,22127],[3562,22127],[3564,22127],[3383,22127],[2740,22127],[2741,22127],[2742,22127],[3565,22127],[2743,22127],[2744,22127],[4347,22127],[3566,22127],[2745,22127],[5671,22127],[2746,22127],[2747,22127],[32277,22127],[29303,22127],[2748,22127],[7361,22127],[10123,22127],[15532,22127],[15526,22127],[3567,22127],[7362,22127],[5995,22127],[7552,22127],[3568,22127],[10124,22127],[7164,22127],[2749,22127],[2750,22127],[2751,22127],[2752,22127],[17155,22127],[2753,22127],[2754,22127],[2755,22127],[17156,22127],[2756,22127],[2757,22127],[2758,22127],[5335,22127],[3569,22127],[5996,22127],[2759,22127],[2760,22127],[2761,22127],[2762,22127],[6265,22127],[5631,22127],[2763,22127],[2764,22127],[2765,22127],[2766,22127],[2767,22127],[2768,22127],[3952,22127],[3953,22127],[2769,22127],[2770,22127],[5997,22127],[5998,22127],[7165,22127],[2771,22127],[2772,22127],[33894,22127],[2773,22127],[5999,22127],[10844,22127],[3570,22127],[4511,22127],[2774,22127],[2775,22127],[3384,22127],[2776,22127],[2777,22127],[3237,22127],[2778,22127],[2779,22127],[15256,22127],[2780,22127],[3571,22127],[3572,22127],[2781,22127],[2782,22127],[6102,22127],[11248,22127],[2783,22127],[33895,22127],[2784,22127],[6000,22127],[2785,22127],[3573,22127],[2786,22127],[2787,22127],[2788,22127],[2789,22127],[3385,22127],[2790,22127],[2791,22127],[3715,22127],[3574,22127],[2792,22127],[3575,22127],[2793,22127],[2794,22127],[2795,22127],[2796,22127],[3576,22127],[2797,22127],[2798,22127],[2799,22127],[2800,22127],[3577,22127],[2801,22127],[2802,22127],[2803,22127],[2804,22127],[2805,22127],[2806,22127],[3578,22127],[2807,22127],[2808,22127],[2809,22127],[4388,22127],[3579,22127],[2810,22127],[2811,22127],[3802,22127],[15318,22127],[3580,22127],[3581,22127],[6633,22127],[3582,22127],[2812,22127],[3583,22127],[2813,22127],[2814,22127],[2815,22127],[3386,22127],[2816,22127],[4389,22127],[3584,22127],[3585,22127],[2817,22127],[4738,22127],[2818,22127],[2819,22127],[2820,22127],[2821,22127],[2822,22127],[2823,22127],[3387,22127],[2824,22127],[2825,22127],[2826,22127],[2827,22127],[2828,22127],[2829,22127],[2830,22127],[2831,22127],[3954,22127],[2832,22127],[2833,22127],[2834,22127],[3586,22127],[2835,22127],[4390,22127],[2836,22127],[3587,22127],[3803,22127],[2837,22127],[3388,22127],[4391,22127],[3588,22127],[2838,22127],[2839,22127],[3589,22127],[3389,22127],[2840,22127],[2841,22127],[3590,22127],[4392,22127],[3591,22127],[2842,22127],[3592,22127],[2843,22127],[7553,22127],[2844,22127],[3593,22127],[3594,22127],[2845,22127],[2846,22127],[2847,22127],[3595,22127],[5643,22127],[13109,22127],[13239,22127],[4131,22127],[2848,22127],[2849,22127],[3596,22127],[7021,22127],[2850,22127],[7554,22127],[3597,22127],[3598,22127],[7555,22127],[2851,22127],[3390,22127],[2852,22127],[2853,22127],[4393,22127],[14666,22127],[4394,22127],[4395,22127],[4396,22127],[4397,22127],[4398,22127],[4399,22127],[13530,22127],[4400,22127],[4401,22127],[4402,22127],[4403,22127],[4404,22127],[12601,22127],[14667,22127],[2854,22127],[14668,22127],[12594,22127],[13537,22127],[3887,22127],[4405,22127],[4406,22127],[4407,22127],[4408,22127],[12728,22127],[4409,22127],[4427,22127],[4410,22127],[10467,22127],[4411,22127],[17883,22127],[4434,22127],[4441,22127],[4412,22127],[4413,22127],[4414,22127],[17884,22127],[3014,22127],[2856,22127],[3602,22127],[2857,22127],[2858,22127],[2859,22127],[2860,22127],[2861,22127],[2862,22127],[3603,22127],[2863,22127],[2864,22127],[2865,22127],[2866,22127],[3955,22127],[2867,22127],[2868,22127],[2869,22127],[2870,22127],[5594,22127],[2871,22127],[2872,22127],[2873,22127],[2874,22127],[2875,22127],[2876,22127],[2877,22127],[2878,22127],[2879,22127],[2880,22127],[7556,22127],[6103,22127],[3391,22127],[3392,22127],[2881,22127],[2882,22127],[3956,22127],[2883,22127],[2884,22127],[17157,22127],[8746,22127],[9890,22127],[2885,22127],[2886,22127],[2887,22127],[6104,22127],[3604,22127],[3676,22127],[2888,22127],[2889,22127],[2890,22127],[3605,22127],[3606,22127],[3393,22127],[3804,22127],[2891,22127],[2892,22127],[2893,22127],[2894,22127],[4025,22127],[2895,22127],[2896,22127],[3805,22127],[3608,22127],[2897,22127],[2898,22127],[2899,22127],[2900,22127],[2901,22127],[6106,22127],[2902,22127],[2903,22127],[2904,22127],[2905,22127],[4471,22127],[2906,22127],[2907,22127],[2908,22127],[2909,22127],[2910,22127],[3806,22127],[2911,22127],[2912,22127],[2913,22127],[2914,22127],[2915,22127],[2916,22127],[2917,22127],[2918,22127],[3807,22127],[4472,22127],[3609,22127],[2919,22127],[2920,22127],[2921,22127],[2922,22127],[2923,22127],[3610,22127],[2924,22127],[2925,22127],[2926,22127],[3611,22127],[2927,22127],[2928,22127],[2929,22127],[2930,22127],[3038,22127],[4597,22127],[3808,22127],[4245,22127],[19753,22127],[2931,22127],[7557,22127],[7974,22127],[3612,22127],[21042,22127],[3739,22127],[3809,22127],[29686,22127],[7276,22127],[2932,22127],[2995,22127],[2933,22127],[2934,22127],[2935,22127],[2936,22127],[3394,22127],[3613,22127],[3614,22127],[7558,22127],[7837,22127],[2937,22127],[6458,22127],[3615,22127],[3616,22127],[2938,22127],[5792,22127],[6022,22127],[2939,22127],[2940,22127],[2941,22127],[3677,22127],[13116,22127],[3957,22127],[3958,22127],[2942,22127],[8009,22127],[7559,22127],[2943,22127],[2944,22127],[17158,22127],[2945,22127],[2946,22127],[2947,22127],[2948,22127],[2949,22127],[4113,22127],[2950,22127],[17159,22127],[2951,22127],[2952,22127],[2953,22127],[2954,22127],[2955,22127],[3617,22127],[4415,22127],[8741,22127],[11285,22127],[4922,22127],[9014,22127],[4334,22127],[3618,22127],[6001,22127],[11408,22127],[3619,22127],[3162,22127],[11981,22127],[6107,22127],[5336,22127],[8021,22127],[3238,22127],[6301,22127],[3620,22127],[3621,22127],[3622,22127],[3623,22127],[3624,22127],[11286,22127],[5191,22127],[2956,22127],[12127,22127],[4217,22127],[8367,22127],[7634,22127],[7560,22127],[5192,22127],[6640,22127],[3625,22127],[8428,22127],[6683,22127],[4827,22127],[6108,22127],[12007,22127],[2957,22127],[2958,22127],[5481,22127],[7754,22127],[12049,22127],[4473,22127],[6200,22127],[6923,22127],[6819,22127],[2959,22127],[11582,22127],[4159,22127],[8022,22127],[4598,22127],[7561,22127],[7562,22127],[8052,22127],[2996,22127],[8023,22127],[5482,22127],[7563,22127],[6109,22127],[12092,22127],[7157,22127],[12298,22127],[4474,22127],[3626,22127],[3627,22127],[7419,22127],[7564,22127],[5483,22127],[4851,22127],[3395,22127],[11736,22127],[4335,22127],[3628,22127],[5895,22127],[11878,22127],[6122,22127],[11287,22127],[11884,22127],[6110,22127],[7706,22127],[5193,22127],[6659,22127],[3810,22127],[2997,22127],[11180,22127],[2998,22127],[4336,22127],[3629,22127],[10641,22127],[3300,22127],[3163,22127],[3164,22127],[10320,22127],[4828,22127],[3239,22127],[3630,22127],[11674,22127],[8673,22127],[6266,22127],[11440,22127],[11416,22127],[8674,22127],[2960,22127],[5858,22127],[8675,22127],[8053,22127],[6002,22127],[9015,22127],[8361,22127],[7158,22127],[4475,22127],[8151,22127],[12420,22127],[7883,22127],[12436,22127],[4605,22127],[3631,22127],[10337,22127],[3632,22127],[6003,22127],[8024,22127],[6004,22127],[6111,22127],[6820,22127],[2999,22127],[2961,22127],[11453,22127],[7565,22127],[3811,22127],[6112,22127],[3633,22127],[6801,22127],[3301,22127],[9057,22127],[5979,22127],[9397,22127],[3217,22127],[3634,22127],[7606,22127],[9016,22127],[2962,22127],[7995,22127],[10822,22127],[2963,22127],[3716,22127],[8854,22127],[6113,22127],[7566,22127],[3165,22127],[5738,22127],[3921,22127],[6005,22127],[6821,22127],[7567,22127],[4490,22127],[5337,22127],[4540,22127],[8025,22127],[6006,22127],[2964,22127],[5484,22127],[11628,22127],[3635,22127],[6007,22127],[3636,22127],[5338,22127],[6114,22127],[9017,22127],[6115,22127],[6302,22127],[12245,22127],[3637,22127],[3240,22127],[7996,22127],[8464,22127],{"_24672":65208,"_58617":65209,"_5":25817},{"_6884":6014,"_5968":13290,"_11313":2232,"_11353":2239,"_11327":25017,"_11320":6072,"_11346":5388,"_11375":28364,"_11306":3401,"_36123":2234,"_11342":2233,"_36627":3356,"_36749":4359,"_36700":2240,"_11445":2241,"_12197":5390,"_36739":20682,"_36759":7537,"_12027":7538,"_11889":18917,"_37450":5389,"_12203":2238,"_40818":3767,"_36616":3051,"_36046":21663,"_36685":18156,"_12270":2230,"_37480":2231,"_12512":5334,"_35574":3081,"_35645":2235,"_35619":2236,"_12054":2237,"_35635":3355,"_35650":6027,"_12102":6071,"_35655":31488,"_11406":12960,"_11866":3644,"_12080":5064,"_40847":18918,"_40849":3768,"_40851":2245,"_40854":2242,"_36679":6073,"_40857":2246,"_11356":14690,"_40862":3052,"_12471":7786,"_36302":2243,"_12518":2244,"_11438":3053,"_37112":3054,"_40872":36179,"_40874":36153,"_40876":2247,"_40879":7542,"_37107":36192,"_37102":7543,"_11469":2254,"_40886":3357,"_40889":2255,"_40891":3056,"_30746":2977,"_40894":5873,"_40897":3057,"_40899":3406,"_40902":3152,"_40904":7718,"_40906":5321,"_40909":4459,"_40912":5393,"_40914":2256,"_11485":2257,"_40918":3407,"_36784":3408,"_40921":3927,"_11684":6075,"_11349":6076,"_36838":2258,"_37456":2259,"_12393":3409,"_40929":2260,"_40931":4460,"_40933":4324,"_36853":2261,"_40936":2262,"_11378":2263,"_12108":2264,"_35688":3928,"_36663":2265,"_40943":2266,"_40945":3929,"_37626":2267,"_40948":2268,"_11421":2269,"_40951":3410,"_40953":2270,"_12125":8236,"_36130":3411,"_40958":22857,"_40960":3177,"_40963":36160,"_40965":6074,"_40967":36167,"_40969":8207,"_40971":3402,"_11336":3055,"_40974":5391,"_40976":4457,"_40978":4458,"_40980":3403,"_40982":5392,"_40985":2248,"_16358":9417,"_40988":7539,"_40990":3404,"_40992":5984,"_40994":2249,"_40996":3405,"_40998":2250,"_41001":2251,"_41003":3254,"_41005":6260,"_41007":3980,"_41010":2252,"_36637":2253,"_36632":20543,"_41015":36118,"_36754":7540,"_41019":36125,"_41021":8860,"_41023":36132,"_41025":7541,"_41027":36139,"_41029":8861,"_41031":36146,"_41033":8206,"_41035":13237,"_41037":3198,"_41039":5985,"_41041":3413,"_41043":2271,"_41046":16539,"_41048":3412,"_41050":2272,"_41052":6049,"_41054":4461,"_41057":3153,"_41059":5986,"_41061":16540,"_41063":3104,"_41065":3154,"_41067":3414,"_41069":2273,"_41071":3415,"_41073":13757,"_41075":3058,"_41077":13758,"_41079":3082,"_41081":5881,"_41083":2364,"_41085":2277,"_41087":3359,"_41089":2342,"_41091":2372,"_41093":2362,"_36725":2980,"_41096":4462,"_41098":7545,"_41100":2368,"_36744":3436,"_41103":5883,"_41105":4845,"_41108":16199,"_41110":5882,"_41112":3232,"_41114":2365,"_41116":3140,"_41118":8298,"_41120":2366,"_41122":4778,"_41124":3364,"_41126":2367,"_41128":3770,"_41130":2278,"_41132":17140,"_41134":2279,"_41136":2280,"_41138":3417,"_41140":2281,"_36651":3358,"_41145":2282,"_36646":2283,"_41149":2284,"_41151":2285,"_41153":2286,"_41155":4486,"_41157":4487,"_16474":2287,"_37344":2288,"_35538":2289,"_41164":3418,"_41166":2290,"_41169":3419,"_41171":3771,"_41173":2291,"_41176":3255,"_41178":3256,"_41180":3257,"_41183":3258,"_41186":3212,"_41188":2292,"_41190":2293,"_41192":2294,"_41194":2295,"_41197":2296,"_41199":2297,"_41201":2298,"_41203":2299,"_41206":2300,"_41208":2301,"_41210":6050,"_41212":2302,"_41214":2303,"_41216":2304,"_41218":2305,"_41220":6299,"_41222":2306,"_41224":3772,"_41226":2307,"_41228":2308,"_41230":4510,"_41232":2309,"_41234":2310,"_41236":2311,"_41238":2312,"_41240":6051,"_41242":3090,"_41244":5182,"_41246":2313,"_41248":2314,"_41250":3259,"_41252":16235,"_41254":5987,"_41256":6216,"_41258":2315,"_41260":3420,"_41262":3421,"_37379":2316,"_41266":3422,"_41268":3423,"_41270":3424,"_37384":3425,"_37374":5476,"_22897":3426,"_41275":5477,"_41277":8296,"_41279":3773,"_41281":15117,"_41283":7454,"_41285":15118,"_41287":2317,"_41290":3774,"_41292":4360,"_41294":2318,"_41296":2319,"_41298":3775,"_41300":2320,"_41302":2321,"_41305":2322,"_41307":2323,"_41309":2324,"_41311":3427,"_41313":2978,"_41315":3428,"_41317":16934,"_41319":3429,"_41321":5478,"_41323":3430,"_41325":2979,"_41327":2325,"_41329":17141,"_41331":3431,"_41333":2326,"_41335":2327,"_41337":4488,"_37485":2328,"_41340":17142,"_41342":3360,"_41344":2329,"_41346":2330,"_41349":17143,"_41351":2331,"_41353":2332,"_41355":2333,"_41357":2334,"_41359":3776,"_41362":17144,"_35589":3777,"_41365":17145,"_41367":3931,"_41369":2335,"_35579":2336,"_41372":2337,"_41375":3361,"_41378":3432,"_41380":3433,"_41383":3434,"_41386":3435,"_41388":2338,"_41390":2339,"_41392":4489,"_41394":3231,"_41396":2343,"_41398":2344,"_41401":2345,"_41404":2346,"_41406":2347,"_11390":3437,"_41409":5960,"_41411":2348,"_41413":2349,"_41415":4825,"_35624":3438,"_41418":2350,"_41420":3645,"_41422":3362,"_41424":2351,"_41426":2352,"_41428":3260,"_11316":2353,"_41432":2354,"_41434":3261,"_41436":3439,"_41438":3440,"_41440":3441,"_41442":3363,"_41444":3442,"_35640":3443,"_41447":3155,"_41449":3444,"_41451":2355,"_41453":3262,"_41455":4846,"_41457":4847,"_41459":4848,"_41461":23798,"_41463":3445,"_41465":3263,"_41467":3446,"_41469":3447,"_41471":3932,"_41473":4361,"_41475":3933,"_41477":3934,"_41479":4496,"_41481":2356,"_41483":2357,"_41485":8297,"_41487":6300,"_41489":2358,"_41491":3448,"_41493":8463,"_41495":2359,"_41497":3449,"_41499":3450,"_41501":3451,"_41503":3778,"_41505":2360,"_41507":3452,"_41509":4663,"_41511":5874,"_41514":18307,"_41516":2361,"_41518":3453,"_41520":7038,"_41522":6077,"_41524":3779,"_41526":2373,"_41528":3458,"_41530":3060,"_41532":12933,"_22920":3454,"_41536":2363,"_41538":2981,"_41540":2982,"_35672":2983,"_41543":3061,"_41545":2984,"_41547":3062,"_41549":2985,"_41551":3063,"_41553":2986,"_41555":2987,"_41557":2988,"_41559":2374,"_41561":2989,"_41563":7829,"_36040":3459,"_41566":22218,"_41568":4652,"_41571":7827,"_41573":7544,"_41575":7828,"_41577":3674,"_41580":4646,"_41582":4779,"_41584":3455,"_41586":2369,"_41588":5511,"_41590":5750,"_41592":6052,"_41595":2370,"_41597":2371,"_41599":3456,"_41601":3457,"_41603":2340,"_41605":2341,"_41608":4645,"_41610":4772,"_41612":24839,"_41614":5884,"_41616":6736,"_36045":3059,"_41619":2274,"_41621":17138,"_41623":2275,"_41625":3769,"_41627":5538,"_41629":3930,"_41631":3178,"_41633":3416,"_41635":17139,"_41637":2276,"_41639":22219,"_36051":7830,"_41642":2381,"_41644":3462,"_41646":2375,"_41648":2379,"_41650":9607,"_41652":3460,"_41654":2382,"_41656":17146,"_41658":3461,"_41660":7770,"_41662":24256,"_41665":8833,"_41668":6261,"_41670":2376,"_41672":6021,"_41675":2377,"_41677":2378,"_41679":2380,"_41681":19890,"_41683":20526,"_41685":13333,"_41687":3477,"_41689":6864,"_41691":8273,"_41693":8835,"_41695":3474,"_41697":26836,"_41699":7510,"_41701":3473,"_41703":8822,"_41705":13250,"_41707":3463,"_41709":2383,"_41711":8834,"_41713":2404,"_41715":3478,"_41717":2405,"_41719":2406,"_41721":3035,"_41723":2407,"_41725":6053,"_41727":6054,"_41729":25065,"_41731":25066,"_41733":3646,"_41735":3365,"_41737":2388,"_41739":17147,"_11427":2389,"_41742":2390,"_41744":3780,"_41746":2391,"_41748":6262,"_41750":2392,"_41752":8208,"_41754":2393,"_41756":2394,"_41758":2395,"_41760":2396,"_41762":2397,"_41764":2398,"_41766":5790,"_37087":2399,"_12612":2400,"_41770":5989,"_41772":4044,"_41774":2401,"_41776":3476,"_41778":3027,"_41780":2402,"_41782":2403,"_41784":3472,"_41786":3464,"_41788":8836,"_41790":13251,"_41792":3465,"_41794":2384,"_41796":2385,"_41798":2386,"_41800":5988,"_41802":2387,"_41804":3285,"_41806":5798,"_41808":5799,"_41810":13339,"_41812":25962,"_41814":13340,"_41816":13714,"_41818":3475,"_41820":25063,"_41822":25064,"_41824":3470,"_41826":3471,"_41828":25059,"_41830":25060,"_41832":3466,"_41834":3467,"_41836":3468,"_41838":3469,"_41840":25061,"_41842":25062,"_41844":31515,"_41846":2229,"_41848":20080,"_41850":3479,"_41852":14356,"_41854":24067,"_36062":4463,"_41857":30104,"_41859":13480,"_41861":14153,"_41863":23957,"_41865":7273,"_41867":28820,"_41869":18822,"_41871":9691,"_41873":9046,"_41875":26321,"_41877":25514,"_41879":35285,"_41881":13341,"_41883":2408,"_41885":2410,"_41887":2412,"_41889":2414,"_41891":2416,"_41893":2419,"_41895":3781,"_41897":5512,"_41899":9730,"_41901":2424,"_41903":4465,"_41905":2426,"_41907":2428,"_41909":4466,"_41911":3156,"_41913":3292,"_11384":13741,"_41916":15621,"_41918":23973,"_41920":7322,"_41922":7329,"_41924":7342,"_41926":29923,"_41928":29433,"_41930":36385,"_41932":10668,"_41934":26244,"_16423":26332,"_41937":27835,"_41939":31447,"_41941":13759,"_11330":2409,"_41944":2411,"_41946":2413,"_41948":2415,"_41950":2417,"_41952":2418,"_41954":4464,"_41956":9555,"_41958":2420,"_41960":13334,"_41962":18751,"_41964":2421,"_41966":2422,"_41968":2423,"_41970":2425,"_41972":5183,"_41974":2427,"_41976":11266,"_41978":9703,"_41980":3480,"_41982":7605,"_41984":3186,"_41986":2478,"_41988":2476,"_41990":2483,"_41992":27963,"_41994":2431,"_41996":2438,"_41998":3157,"_42000":16666,"_42002":2487,"_42004":22668,"_42006":26213,"_11323":3158,"_42009":2468,"_42011":2457,"_42013":12752,"_42015":2454,"_42017":2459,"_42019":10896,"_42021":2434,"_42023":14933,"_42025":3366,"_42027":13342,"_42029":3247,"_42031":8653,"_42033":8654,"_42035":7831,"_42037":32538,"_42039":32539,"_42041":2479,"_42043":2480,"_42045":3675,"_42047":3490,"_42049":3491,"_42051":13761,"_42053":2481,"_42055":4328,"_42057":2477,"_42059":3783,"_42061":2484,"_42063":2485,"_42065":2486,"_42067":2482,"_42069":3782,"_42071":2432,"_42073":2433,"_42075":2439,"_42077":4497,"_42079":2440,"_42081":2441,"_42083":2442,"_42085":12751,"_42087":20784,"_42089":9692,"_42091":14465,"_42093":2488,"_42095":35815,"_42097":3481,"_42099":9534,"_42101":13760,"_42103":7257,"_42105":2472,"_42107":2473,"_42109":4327,"_42111":3367,"_42114":2474,"_42116":2475,"_42118":8209,"_42120":6681,"_42122":6248,"_42124":2469,"_42126":2470,"_42128":2471,"_42130":3213,"_42132":2458,"_42134":3489,"_42136":2443,"_42139":2444,"_42141":12753,"_42143":2445,"_42146":5097,"_42148":12754,"_42151":2446,"_42153":2447,"_42155":2448,"_42157":2449,"_42159":3484,"_42161":3485,"_42163":3647,"_42165":2450,"_42167":2451,"_42169":2452,"_42171":3187,"_42173":3486,"_42175":3648,"_42177":2453,"_42180":3487,"_42182":2455,"_42184":4326,"_42186":3649,"_42188":2456,"_42190":3488,"_42192":2460,"_42194":2461,"_42196":2462,"_42198":22669,"_42200":2463,"_42202":2429,"_42204":2430,"_42206":3482,"_42208":3483,"_42210":6079,"_42212":2435,"_42214":4595,"_42216":6080,"_42218":2436,"_42220":3248,"_42222":2437,"_42224":22492,"_42227":6078,"_11451":4325,"_42231":2464,"_42233":2465,"_42235":2466,"_42237":2467,"_42239":2489,"_42241":11267,"_42243":26415,"_42245":7737,"_42247":21507,"_42249":10465,"_42251":4935,"_42253":4031,"_42255":25994,"_42257":2490,"_42259":16541,"_42261":21506,"_42263":3937,"_42265":7738,"_42267":2499,"_42269":23237,"_42271":17451,"_42273":3494,"_42275":2491,"_42277":10374,"_42279":3492,"_42281":2492,"_42283":2493,"_42285":2494,"_42287":3935,"_42289":6561,"_42291":3493,"_42293":3214,"_42295":3179,"_42297":2495,"_42299":21499,"_42301":6652,"_42303":24173,"_42305":36465,"_42307":10381,"_42309":4467,"_42311":9069,"_42313":10358,"_42315":2496,"_42317":29244,"_42319":29245,"_42321":2497,"_42323":29189,"_42325":29190,"_42327":2498,"_42329":26414,"_42331":3936,"_42333":2500,"_12529":21500,"_42336":6653,"_42338":24174,"_42340":12661,"_42342":25676,"_42344":4596,"_42346":23238,"_37445":17452,"_42349":3495,"_42351":25995,"_42353":3496,"_42355":20889,"_42357":5791,"_42359":6081,"_42361":8789,"_42363":2503,"_35029":2990,"_42366":20890,"_42368":34450,"_42370":3233,"_42372":4944,"_42374":26397,"_42376":7787,"_42378":7092,"_42380":3785,"_42382":5184,"_42384":12926,"_42386":2502,"_42388":3502,"_42390":6920,"_42392":3036,"_42394":2504,"_42396":3939,"_42398":36867,"_42400":35138,"_42402":9391,"_42404":5023,"_42406":3503,"_42408":4938,"_42410":2505,"_42412":13787,"_42414":7546,"_42416":18269,"_42418":4681,"_42420":3940,"_42422":18039,"_42424":5777,"_42426":12925,"_42428":13344,"_42430":4936,"_42432":4937,"_42434":3938,"_42436":3497,"_42438":3784,"_42440":3215,"_42442":7547,"_42444":7548,"_42446":19627,"_12606":3498,"_42449":13343,"_42451":17148,"_42453":3499,"_42455":3500,"_42457":6134,"_42459":11268,"_42461":18270,"_42463":11269,"_42465":3501,"_42467":2501,"_42469":7832,"_42471":17199,"_42473":35816,"_42475":3234,"_42477":3941,"_42479":3942,"_42481":3943,"_42483":2506,"_42485":2507,"_42487":3981,"_42489":2508,"_42491":6695,"_42493":3264,"_42495":6696,"_42497":2514,"_42499":3368,"_42501":2510,"_42503":6682,"_42505":15932,"_42507":2509,"_42509":2515,"_42511":3216,"_42513":2516,"_42515":2517,"_42517":2518,"_42519":36503,"_42521":4186,"_42523":3160,"_42525":2513,"_42527":2511,"_42529":2512,"_42531":3159,"_42533":3504,"_42535":29949,"_42537":2523,"_42539":2528,"_42541":3509,"_42543":6083,"_42545":13678,"_42547":2519,"_42549":6347,"_42551":17548,"_42553":3505,"_42555":2531,"_42557":10466,"_42559":2521,"_42561":2537,"_42563":7719,"_11309":2529,"_42566":2524,"_42568":2525,"_42570":2526,"_42572":6084,"_42574":2539,"_42576":17645,"_42578":17646,"_42580":6348,"_12634":11259,"_42583":5479,"_42585":6349,"_42587":6082,"_42589":17549,"_42591":2527,"_42593":3369,"_42595":3650,"_42597":3370,"_42599":3371,"_42601":6350,"_42603":6085,"_42605":5513,"_42607":2532,"_42609":3506,"_42611":2533,"_42613":8373,"_42615":3507,"_42617":4890,"_42619":5480,"_42621":4896,"_42623":17550,"_42625":6351,"_42627":2534,"_42629":6352,"_42631":2535,"_42633":3508,"_42635":3651,"_42637":5514,"_42639":25611,"_42641":2536,"_42643":2520,"_42645":2522,"_42647":2538,"_42649":2540,"_42651":2541,"_42653":5065,"_42655":2542,"_42657":2543,"_42659":2544,"_42661":2545,"_42663":2546,"_42665":6353,"_42667":2547,"_42669":2548,"_42671":3510,"_42673":6921,"_42675":2530,"_42677":3511,"_42679":26287,"_42681":6255,"_42683":2550,"_42685":6086,"_42687":28809,"_42689":24000,"_42691":3786,"_42693":4468,"_42695":2551,"_42697":2552,"_42699":5990,"_42701":2553,"_42703":2554,"_42705":2555,"_42707":3512,"_42709":3044,"_42711":2549,"_42713":2556,"_42715":26689,"_42717":2992,"_42719":3514,"_42721":9261,"_42723":2557,"_42725":2558,"_42727":3513,"_42729":2991,"_42731":3787,"_42733":22535,"_42735":2559,"_42737":2560,"_42739":3788,"_42741":2561,"_42743":7549,"_42745":2562,"_42747":3515,"_42749":27545,"_42751":2566,"_42753":11273,"_42755":3521,"_42757":26245,"_42759":11272,"_36137":2575,"_42762":2573,"_42764":3945,"_42766":11274,"_42768":3944,"_42770":2567,"_42772":7833,"_42774":12994,"_42776":12961,"_42778":3266,"_42780":3652,"_42782":19246,"_42784":12987,"_42786":13039,"_42788":2563,"_42790":6263,"_42792":6897,"_42794":2571,"_42796":3522,"_42798":7551,"_42800":3653,"_42802":2576,"_42804":2577,"_42806":7275,"_36615":16717,"_42809":8765,"_42811":3714,"_42813":23121,"_42815":2574,"_42817":2572,"_42819":5991,"_42821":5992,"_42823":3523,"_42825":23183,"_42827":2564,"_42829":3265,"_42831":6325,"_42833":2565,"_42835":4469,"_42837":26700,"_42839":7612,"_42841":8764,"_42843":16872,"_42845":30596,"_42847":30340,"_42849":13080,"_42851":22030,"_42853":8237,"_42855":30633,"_42857":22008,"_42859":11270,"_42861":3267,"_42863":3790,"_42865":3518,"_42867":3835,"_42869":14684,"_42871":6415,"_42873":3161,"_42875":3791,"_42877":15549,"_42879":2568,"_42881":3372,"_42883":3519,"_42885":18619,"_42887":2569,"_42889":6445,"_42891":2570,"_42893":3520,"_42895":7274,"_42897":13073,"_42899":13051,"_42901":13023,"_42903":12980,"_42905":11271,"_42907":7550,"_42909":3789,"_42911":3516,"_42913":3517,"_42915":3524,"_42917":16841,"_42919":5993,"_42921":15027,"_42923":2585,"_42925":2581,"_42927":2591,"_42929":30796,"_42931":2594,"_42933":32540,"_42935":6088,"_42937":2583,"_42939":2584,"_42941":3526,"_42943":22009,"_42945":22010,"_42947":26882,"_42949":27929,"_42951":3525,"_42953":6087,"_42955":2578,"_42957":2579,"_42959":2580,"_42961":2586,"_42963":2587,"_42965":2588,"_42967":2589,"_42969":2590,"_42971":2582,"_42973":2592,"_42975":2593,"_42977":18475,"_42979":2595,"_42981":2596,"_42983":8837,"_42985":2597,"_42987":32991,"_42989":17149,"_42991":3374,"_42993":13306,"_42995":15028,"_42997":13307,"_42999":18486,"_43001":7788,"_43003":3946,"_43005":3235,"_43007":2598,"_43009":2599,"_36684":3373,"_43012":3527,"_43014":3528,"_43016":12927,"_43018":23254,"_43020":4095,"_43022":3375,"_43024":3376,"_43026":4329,"_43028":2603,"_43030":8008,"_43032":2604,"_43034":5056,"_43036":3947,"_43038":2600,"_43040":3529,"_43042":2601,"_43044":3530,"_43046":6264,"_36678":3948,"_43049":3531,"_43051":3532,"_43053":2602,"_43055":2606,"_43057":2607,"_43059":2611,"_43061":3224,"_43063":12826,"_43065":2608,"_43067":7720,"_43069":2609,"_43071":2610,"_43073":2612,"_43075":2993,"_43077":3534,"_43079":2613,"_43081":2614,"_43083":2615,"_43085":2616,"_43087":3535,"_43089":7721,"_43091":2617,"_43093":2618,"_43095":2619,"_43097":2620,"_43099":3792,"_43101":3536,"_43103":12800,"_43105":12807,"_43107":12814,"_43109":4470,"_43111":3793,"_43113":3661,"_43115":4826,"_43117":3949,"_43119":5216,"_43121":5235,"_43123":5236,"_43125":5237,"_43127":3537,"_43129":5217,"_43131":12856,"_43133":3538,"_43135":5187,"_43137":2621,"_43139":5188,"_43141":2622,"_43143":5189,"_43145":2623,"_43147":2624,"_43149":17150,"_43151":2625,"_43153":30993,"_43155":3539,"_43157":30987,"_43159":13345,"_43161":13226,"_43163":16718,"_43165":6785,"_43167":3540,"_43169":17152,"_43171":3654,"_43173":2994,"_43175":3543,"_43177":2626,"_43179":3541,"_43181":2644,"_43183":2645,"_43185":2646,"_43187":29685,"_43189":11277,"_43191":2647,"_43193":3377,"_43195":2631,"_43197":3236,"_43199":4518,"_43201":6090,"_43203":4498,"_43205":5994,"_43207":3542,"_43209":2632,"_43211":7835,"_43213":2633,"_43215":7836,"_43217":3268,"_43219":2634,"_43221":11275,"_43223":2635,"_43225":2636,"_43227":2637,"_43229":2638,"_43231":2639,"_43234":2640,"_43236":4849,"_43238":7834,"_43240":2641,"_43242":3794,"_43244":3544,"_43246":4331,"_43248":23799,"_43250":23800,"_43252":17151,"_43254":2642,"_43256":4244,"_43258":11276,"_43260":2643,"_43262":2627,"_43264":2628,"_43266":6089,"_43268":2629,"_43270":2630,"_43272":2648,"_43274":8660,"_43276":3796,"_43278":2649,"_43280":3795,"_43282":2653,"_43284":9863,"_43286":2650,"_43288":3982,"_43290":3378,"_43292":3379,"_43294":15146,"_43296":6898,"_43298":8757,"_43300":13346,"_43302":4664,"_43304":6975,"_43306":3545,"_43308":2651,"_43310":2652,"_43312":2654,"_43314":2655,"_43316":2656,"_43318":2657,"_43320":3204,"_43322":17153,"_43324":2658,"_43326":20790,"_43328":3546,"_43330":12934,"_43332":31664,"_43334":5057,"_43336":33425,"_43339":7343,"_43341":26605,"_43343":6091,"_43345":2674,"_43347":17154,"_43349":2665,"_43351":2667,"_43353":2668,"_43355":2662,"_43357":2660,"_43359":2673,"_43361":3797,"_43363":2670,"_43365":8211,"_43367":13599,"_43369":3269,"_43371":23133,"_43373":3270,"_43375":11278,"_43377":11279,"_43379":2659,"_43381":6092,"_43383":6093,"_43385":6094,"_43387":8210,"_43389":3549,"_43391":2663,"_43393":2664,"_43396":2666,"_43398":3798,"_43400":2669,"_43402":3547,"_43404":35070,"_43406":2661,"_43408":9434,"_43410":3548,"_43412":2671,"_43414":3037,"_43416":11280,"_43418":2672,"_43420":6095,"_43422":6096,"_43424":5190,"_43426":3380,"_43428":6097,"_43430":6098,"_43432":3550,"_43434":3551,"_43436":3799,"_43438":2675,"_43440":2676,"_43442":2677,"_43444":2678,"_43446":2679,"_43448":6922,"_43450":2680,"_43452":6242,"_43454":2681,"_43456":7789,"_43458":3552,"_43461":3533,"_43463":5185,"_43465":2734,"_43467":5186,"_43469":4330,"_43471":2605,"_43473":3951,"_43475":2735,"_43477":2736,"_43479":2737,"_43481":2738,"_43483":3561,"_43485":6099,"_43487":4332,"_43489":2682,"_43491":3553,"_43493":2683,"_43495":3554,"_43497":4850,"_43499":2684,"_43501":2685,"_43503":2686,"_43505":3381,"_43507":2687,"_43509":2688,"_43511":3271,"_43513":3188,"_43515":3800,"_43517":3189,"_43519":3190,"_43521":12662,"_43523":3557,"_43525":14169,"_43527":5820,"_43529":5778,"_43531":3801,"_43533":26403,"_43535":2689,"_43537":2690,"_43539":2691,"_43541":2692,"_43543":2693,"_43545":2694,"_43547":2695,"_43549":2696,"_43551":2697,"_43553":3382,"_43555":3555,"_43557":8212,"_43559":13238,"_43561":3950,"_43563":10573,"_43565":6100,"_43567":2698,"_43569":2699,"_43571":2700,"_43573":2701,"_43575":2702,"_43577":2703,"_43579":2704,"_43581":3556,"_43583":2705,"_43585":2706,"_43587":3272,"_43589":2707,"_43591":17535,"_43593":15622,"_43595":2708,"_43597":2709,"_43599":17536,"_43601":2710,"_43603":2711,"_43605":2712,"_43607":2713,"_43609":3558,"_43611":5875,"_43613":2714,"_43615":2721,"_43617":6101,"_43619":5394,"_43621":2731,"_43623":2727,"_43625":15628,"_43627":2715,"_43629":2716,"_43631":2717,"_43633":31665,"_43635":3559,"_43637":2722,"_43639":2723,"_43641":2724,"_43643":2725,"_43645":2726,"_43647":9824,"_43649":9013,"_43651":5395,"_43653":2718,"_43655":2719,"_43657":2720,"_43659":2732,"_43661":2733,"_43663":6976,"_43665":3560,"_43667":2728,"_43669":2729,"_43671":3299,"_43673":2730,"_43675":3562,"_43677":2739,"_43679":5396,"_43681":15532,"_43683":2765,"_43685":18890,"_43687":29191,"_43689":3953,"_43691":2768,"_43693":17156,"_43695":5998,"_43697":5999,"_43699":2771,"_43701":6102,"_43703":3567,"_43705":4251,"_43707":30797,"_43709":24784,"_43711":36413,"_43713":15526,"_43715":2766,"_43717":2767,"_43719":28594,"_43721":3563,"_43723":27284,"_43725":10843,"_43727":14775,"_43729":3564,"_43731":3383,"_43733":2740,"_43735":2741,"_43737":2742,"_43739":3565,"_43741":2743,"_43743":2744,"_43745":4347,"_43747":3566,"_43749":2745,"_43751":5671,"_43753":2746,"_43755":2747,"_43757":32277,"_43759":29303,"_43761":2748,"_43763":7361,"_43765":10123,"_43767":2769,"_43769":2770,"_43771":5997,"_43773":3952,"_43775":2756,"_43777":2757,"_43779":2758,"_43781":5335,"_43783":3569,"_43785":5996,"_43787":2759,"_43789":2760,"_43791":2761,"_43793":2762,"_43795":6265,"_43797":5631,"_43799":2763,"_43801":2764,"_43803":7165,"_43805":10844,"_43807":3570,"_43809":4511,"_43811":2774,"_43813":2775,"_43815":3384,"_43817":2776,"_43819":2777,"_43821":3237,"_43823":2778,"_43825":2779,"_43827":15256,"_43829":2780,"_43831":3571,"_43833":3572,"_43835":2781,"_43837":2782,"_43839":2772,"_43841":33894,"_43843":2773,"_43845":11248,"_43847":2783,"_43849":33895,"_43851":2784,"_43853":6000,"_43855":15933,"_43857":7362,"_43859":5995,"_43861":7552,"_43863":3568,"_43865":10124,"_43867":7164,"_43869":2749,"_43871":2750,"_43873":2751,"_43875":2752,"_43877":17155,"_43879":2753,"_43881":2754,"_43883":2755,"_43885":2785,"_43887":8266,"_43889":2824,"_43891":7517,"_43893":36962,"_43895":2818,"_43897":2820,"_43899":2825,"_43901":2830,"_43903":3954,"_43905":2834,"_43907":4391,"_43909":2839,"_43911":2843,"_43913":2844,"_43915":2845,"_43917":3595,"_43919":4392,"_43921":4388,"_43923":34158,"_43925":28159,"_43927":4362,"_43929":4365,"_43931":4368,"_43933":4371,"_43935":4379,"_43937":4382,"_43939":4385,"_43941":14954,"_43943":31135,"_43945":18004,"_43947":32040,"_43949":2786,"_43951":2791,"_43953":2792,"_43955":2794,"_43957":3576,"_43959":2802,"_43961":2805,"_43963":2807,"_43965":3579,"_43967":3580,"_43969":3582,"_43971":2813,"_43973":3585,"_43975":35804,"_43977":3386,"_43979":4389,"_43981":2817,"_43983":2823,"_43985":2827,"_43987":4390,"_43989":2837,"_43991":3389,"_43993":2841,"_43995":2842,"_43997":13239,"_43999":2848,"_44001":3597,"_44003":7555,"_44005":3390,"_44007":2853,"_44009":3350,"_44011":5745,"_44013":8238,"_44015":7200,"_44017":33869,"_44019":2819,"_44021":2821,"_44023":2822,"_44025":2826,"_44027":2831,"_44029":2832,"_44031":2833,"_44033":3586,"_44035":2835,"_44037":3588,"_44039":2838,"_44041":3589,"_44043":7553,"_44045":3593,"_44047":3594,"_44049":2846,"_44051":2847,"_44053":5643,"_44055":13109,"_44057":3591,"_44059":28146,"_44061":28152,"_44063":21646,"_44065":10686,"_44067":4363,"_44069":4364,"_44071":4366,"_44073":4367,"_44075":4369,"_44077":4370,"_44079":4372,"_44081":4373,"_44083":4374,"_44085":4375,"_44087":4376,"_44089":4377,"_44091":4378,"_44093":4380,"_44095":4381,"_44097":4383,"_44099":4384,"_44101":4386,"_44103":4387,"_44105":5699,"_44107":22183,"_44109":24572,"_44111":8553,"_44113":20293,"_44115":21421,"_44117":19817,"_44119":11174,"_44121":26638,"_44123":23128,"_44125":22726,"_44127":14665,"_44129":30328,"_44131":13221,"_44133":3573,"_44135":2787,"_44137":2788,"_44139":2789,"_44141":3385,"_44143":2790,"_44145":3715,"_44147":3574,"_44149":3575,"_44151":2793,"_44153":2795,"_44155":2796,"_44157":2797,"_44159":2798,"_44161":2799,"_44163":2800,"_44165":3577,"_44167":2801,"_44169":2803,"_44171":2804,"_44173":2806,"_44175":3578,"_44177":2808,"_44179":2809,"_44181":2810,"_44183":2811,"_44185":3802,"_44187":15318,"_44189":3581,"_44191":6633,"_44193":2812,"_44195":3583,"_44197":2814,"_44199":2815,"_44201":37052,"_44203":2816,"_44205":3584,"_44207":4738,"_44209":3387,"_44211":2828,"_44213":2829,"_44215":2836,"_44217":3587,"_44219":3803,"_44221":3388,"_44223":2840,"_44225":3590,"_44227":3592,"_44229":4131,"_44231":2849,"_44233":3596,"_44235":7021,"_44237":2850,"_44239":7554,"_44241":3598,"_44243":2851,"_44245":2852,"_44247":4393,"_44249":14666,"_44251":4394,"_44253":4395,"_44255":4396,"_44257":4397,"_44259":4398,"_44261":4399,"_44263":13530,"_44265":4400,"_44267":4401,"_44269":4402,"_44271":4403,"_44273":4404,"_44275":12601,"_44277":14667,"_44279":2854,"_44281":14668,"_44283":12594,"_44285":13537,"_44287":3887,"_44289":4405,"_44291":4406,"_44293":4407,"_44295":4408,"_44297":12728,"_44299":4409,"_44301":4427,"_44303":4410,"_44305":10467,"_44307":4411,"_44309":17883,"_44311":4434,"_44313":4441,"_44315":4412,"_44317":4413,"_44319":4414,"_44321":17884,"_44323":6562,"_44325":58616,"_44327":3013,"_44329":12245,"_44331":4605,"_44333":7883,"_44335":7996,"_44337":3217,"_44339":4475,"_44341":6820,"_44343":4540,"_44345":3633,"_44347":6115,"_44349":7995,"_44351":7567,"_44353":5338,"_44355":3637,"_44357":3240,"_44359":3631,"_44361":10337,"_44363":3632,"_44365":6003,"_44367":8024,"_44369":6004,"_44371":6111,"_44373":12436,"_44375":3634,"_44377":7606,"_44379":9016,"_44381":2962,"_44383":8151,"_44385":12420,"_44387":2999,"_44389":2961,"_44391":11453,"_44393":7565,"_44395":3811,"_44397":6112,"_44399":8025,"_44401":6006,"_44403":2964,"_44405":5484,"_44407":11628,"_44409":3635,"_44411":6007,"_44413":3636,"_44415":6801,"_44417":3301,"_44419":9057,"_44421":5979,"_44423":9397,"_44425":6302,"_44427":10822,"_44429":2963,"_44431":3716,"_44433":8854,"_44435":6113,"_44437":7566,"_44439":3165,"_44441":5738,"_44443":3921,"_44445":6005,"_44447":6821,"_44449":4490,"_44451":5337,"_44453":6114,"_44455":9017,"_44457":3014,"_44459":2855,"_44461":34435,"_44463":2863,"_44465":7556,"_44467":7182,"_44469":6978,"_44471":9949,"_44473":3602,"_44475":3607,"_44477":6104,"_44479":2862,"_44481":3676,"_44483":28365,"_44485":18997,"_44487":2864,"_44489":2865,"_44491":2866,"_44493":3955,"_44495":2867,"_44497":2868,"_44499":2869,"_44501":2870,"_44503":5594,"_44505":2871,"_44507":2872,"_44509":2873,"_44511":2874,"_44513":2875,"_44515":2876,"_44517":2877,"_44519":2878,"_44521":2879,"_44523":2880,"_44525":6103,"_44527":3391,"_44529":3392,"_44531":2881,"_44533":2882,"_44535":3956,"_44537":2883,"_44539":2884,"_44541":17157,"_44543":8746,"_44545":9890,"_44547":2885,"_44549":2886,"_44551":2887,"_44553":3599,"_44555":11293,"_44557":3600,"_44559":3601,"_16417":6977,"_44562":4333,"_44564":17647,"_44566":36504,"_44568":11281,"_44570":2856,"_44572":2857,"_44574":2858,"_44576":2859,"_44578":2860,"_44580":2861,"_44582":4992,"_44584":4970,"_44586":25214,"_44588":14986,"_16490":3604,"_44591":3603,"_44593":2888,"_44595":2889,"_44597":2890,"_44599":3605,"_44601":16940,"_44603":3606,"_44605":5587,"_44607":6930,"_44609":5515,"_44611":6105,"_44613":3393,"_44615":3804,"_44617":2891,"_44619":2903,"_44621":3806,"_44623":2905,"_44625":2924,"_44627":2906,"_44629":2892,"_44631":2912,"_44633":2914,"_44635":2908,"_44637":2904,"_44639":2911,"_44641":4471,"_44643":2925,"_44645":2926,"_44647":3611,"_44649":2927,"_44651":2928,"_44653":2929,"_44655":2930,"_44657":3038,"_44659":4597,"_44661":3808,"_44663":2907,"_44665":2893,"_44667":2894,"_44669":4025,"_44671":2895,"_44673":2896,"_44675":3805,"_44677":3608,"_44679":2897,"_44681":2898,"_44683":2899,"_44685":2900,"_44687":2901,"_44689":6106,"_44691":2902,"_44693":2913,"_44695":2915,"_44697":2916,"_44699":2917,"_44701":2918,"_44703":3807,"_44705":4472,"_44707":3609,"_44709":2919,"_44711":2920,"_44713":2921,"_44715":2922,"_44717":2923,"_44719":3610,"_44721":2909,"_44723":2910,"_44725":4245,"_44727":19753,"_44729":12298,"_44731":4474,"_44733":3809,"_44735":9896,"_44737":11674,"_44739":3395,"_36662":7157,"_44742":2931,"_44744":11282,"_44746":8022,"_44748":8301,"_44750":5895,"_44752":12092,"_44754":3677,"_44756":7561,"_37339":9014,"_44759":6266,"_44761":11287,"_44763":6109,"_44765":3627,"_44767":4113,"_44769":11408,"_44771":5858,"_37329":7563,"_44774":3238,"_44776":7706,"_44778":5482,"_37349":5483,"_44781":2954,"_44783":8052,"_37365":3621,"_44786":11416,"_44788":8053,"_37354":2997,"_44791":3626,"_44793":29686,"_44795":25612,"_44797":7276,"_44799":4252,"_44801":18708,"_44803":24731,"_44805":5779,"_44807":17737,"_44809":21552,"_44811":9897,"_44813":25338,"_44815":30898,"_44817":8673,"_44819":11736,"_44821":4335,"_44823":3628,"_44825":7557,"_44827":7974,"_44829":3612,"_44831":21042,"_44833":3739,"_44835":11283,"_44837":11284,"_44839":8766,"_44841":5932,"_44843":2932,"_44845":2995,"_44847":2933,"_16496":2934,"_44850":2935,"_44852":2936,"_44854":3394,"_44856":3613,"_44858":3614,"_44860":7558,"_44862":7837,"_44864":2937,"_44866":6458,"_44868":3615,"_44870":3616,"_44872":2938,"_44874":5792,"_44876":6022,"_44878":2939,"_44880":2940,"_44882":2941,"_44884":4598,"_44886":17738,"_44888":22013,"_44890":31538,"_44892":21553,"_44894":4415,"_44896":8741,"_44898":11285,"_44900":4922,"_44902":11878,"_44904":6122,"_44906":13116,"_44908":3957,"_44910":3958,"_44912":2942,"_44914":8009,"_44916":7559,"_44918":2943,"_44920":2944,"_44922":17158,"_44924":2945,"_44926":2946,"_44928":2947,"_44930":2948,"_44932":2949,"_44934":7562,"_44936":4334,"_44938":3618,"_44940":6001,"_44942":11440,"_44944":11884,"_44946":6110,"_44948":7419,"_44950":7564,"_44952":2950,"_44954":17159,"_44956":2951,"_44958":2952,"_44960":2953,"_44962":3619,"_44964":3162,"_44966":11981,"_44968":6107,"_44970":5336,"_44972":8021,"_44974":8675,"_44976":6301,"_44978":3620,"_44980":5193,"_44982":6659,"_44984":3810,"_44986":4851,"_44988":2955,"_44990":9891,"_44992":3617,"_44994":9892,"_44996":25336,"_44998":30894,"_45000":17733,"_45002":22011,"_45004":21549,"_45006":9893,"_45008":15370,"_45010":30895,"_45012":8299,"_45014":17734,"_45016":21550,"_45018":9894,"_45020":30896,"_45022":8300,"_45024":17735,"_45026":22012,"_45028":21551,"_45030":9895,"_45032":25337,"_45034":30897,"_45036":17736,"_45038":31537,"_45040":2996,"_45042":8023,"_45044":3622,"_45046":3623,"_45048":3624,"_45050":11286,"_45052":5191,"_45054":2956,"_45056":12127,"_45058":4217,"_45060":8367,"_45062":7634,"_45064":7560,"_45066":5192,"_45068":6640,"_45070":3625,"_45072":8428,"_45074":6683,"_45076":4827,"_45078":6108,"_45080":12007,"_45082":2957,"_45084":2958,"_45086":5481,"_45088":7754,"_45090":12049,"_45092":4473,"_45094":6200,"_45096":6923,"_45098":6819,"_45100":2959,"_45102":11582,"_45104":4159,"_45106":8674,"_45108":2960,"_45110":6002,"_45112":9015,"_37455":8361,"_45115":7158,"_45117":11180,"_45119":2998,"_45121":4336,"_45123":3629,"_45125":10641,"_45127":3300,"_45129":3163,"_45131":3164,"_45133":10320,"_45135":4828,"_45137":3239,"_45139":3630},[65210,65211,65212,65213,65214,65215,65216,65217,65218,65219,65220,65221,65222,65223,65224,65225,65226,65227,65228,65229,65230,65231,65232,65233,65234,65235,65236,65237,65238,65239,65240,65241,65242,65243,65244,65245,65246,65247,65248,65249,65250,65251,65252,65253,65254,65255,65256,65257,65258,65259,65260,65261,65262,65263,65264,65265,65266,65267,65268,65269,65270,65271,65272,65273,65274,65275,65276,65277,65278,65279,65280,65281,65282,65283,65284,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65340,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65374,65375,65376,65377,65378,65379,65380,65381,65382,65383,65384,65385,65386,65387,65388,65389,65390,65391,65392,65393,65394,65395,65396,65397,65398,65399,65400,65401,65402,65403,65404,65405,65406,65407,65408,65409,65410,65411,65412,65413,65414,65415,65416,65417,65418,65419,65420,65421,65422,65423,65424,65425,65426,65427,65428,65429,65430,65431,65432,65433,65434,65435,65436,65437,65438,65439,65440,65441,65442,65443,65444,65445,65446,65447,65448,65449,65450,65451,65452,65453,65454,65455,65456,65457,65458,65459,65460,65461,65462,65463,65464,65465,65466,65467,65468,65469,65470,65471,65472,65473,65474,65475,65476,65477,65478,65479,65480,65481,65482,65483,65484,65485,65486,65487,65488,65489,65490,65491,65492,65493,65494,65495,65496,65497,65498,65499,65500,65501,65502,65503,65504,65505,65506,65507,65508,65509,65510,65511,65512,65513,65514,65515,65516,65517,65518,65519,65520,65521,65522,65523,65524,65525,65526,65527,65528,65529,65530,65531,65532,65533,65534,65535,65536,65537,65538,65539,65540,65541,65542,65543,65544,65545,65546,65547,65548,65549,65550,65551,65552,65553,65554,65555,65556,65557,65558,65559,65560,65561,65562,65563,65564,65565,65566,65567,65568,65569,65570,65571,65572,65573,65574,65575,65576,65577,65578,65579,65580,65581,65582,65583,65584,65585,65586,65587,65588,65589,65590,65591,65592,65593,65594,65595,65596,65597,65598,65599,65600,65601,65602,65603,65604,65605,65606,65607,65608,65609,65610,65611,65612,65613,65614,65615,65616,65617,65618,65619,65620,65621,65622,65623,65624,65625,65626,65627,65628,65629,65630,65631,65632,65633,65634,65635,65636,65637,65638,65639,65640,65641,65642,65643,65644,65645,65646,65647,65648,65649,65650,65651,65652,65653,65654,65655,65656,65657,65658,65659,65660,65661,65662,65663,65664,65665,65666,65667,65668,65669,65670,65671,65672,65673,65674,65675,65676,65677,65678,65679,65680,65681,65682,65683,65684,65685,65686,65687,65688,65689,65690,65691,65692,65693,65694,65695,65696,65697,65698,65699,65700,65701,65702,65703,65704,65705,65706,65707,65708,65709,65710,65711,65712,65713,65714,65715,65716,65717,65718,65719,65720,65721,65722,65723,65724,65725,65726,65727,65728,65729,65730,65731,65732,65733,65734,65735,65736,65737,65738,65739,65740,65741,65742,65743,65744,65745,65746,65747,65748,65749,65750,65751,65752,65753,65754,65755,65756,65757,65758,65759,65760,65761,65762,65763,65764,65765,65766,65767,65768,65769,65770,65771,65772,65773,65774,65775,65776,65777,65778,65779,65780,65781,65782,65783,65784,65785,65786,65787,65788,65789,65790,65791,65792,65793,65794,65795,65796,65797,65798,65799,65800,65801,65802,65803,65804,65805,65806,65807,65808,65809,65810,65811,65812,65813,65814,65815,65816,65817,65818,65819,65820,65821,65822,65823,65824,65825,65826,65827,65828,65829,65830,65831,65832,65833,65834,65835,65836,65837,65838,65839,65840,65841,65842,65843,65844,65845,65846,65847,65848,65849,65850,65851,65852,65853,65854,65855,65856,65857,65858,65859,65860,65861,65862,65863,65864,65865,65866,65867,65868,65869,65870,65871,65872,65873,65874,65875,65876,65877,65878,65879,65880,65881,65882,65883,65884,65885,65886,65887,65888,65889,65890,65891,65892,65893,65894,65895,65896,65897,65898,65899,65900,65901,65902,65903,65904,65905,65906,65907,65908,65909,65910,65911,65912,65913,65914,65915,65916,65917,65918,65919,65920,65921,65922,65923,65924,65925,65926,65927,65928,65929,65930,65931,65932,65933,65934,65935,65936,65937,65938,65939,65940,65941,65942,65943,65944,65945,65946,65947,65948,65949,65950,65951,65952,65953,65954,65955,65956,65957,65958,65959,65960,65961,65962,65963,65964,65965,65966,65967,65968,65969,65970,65971,65972,65973,65974,65975,65976,65977,65978,65979,65980,65981,65982,65983,65984,65985,65986,65987,65988,65989,65990,65991,65992,65993,65994,65995,65996,65997,65998,65999,66000,66001,66002,66003,66004,66005,66006,66007,66008,66009,66010,66011,66012,66013,66014,66015,66016,66017,66018,66019,66020,66021,66022,66023,66024,66025,66026,66027,66028,66029,66030,66031,66032,66033,66034,66035,66036,66037,66038,66039,66040,66041,66042,66043,66044,66045,66046,66047,66048,66049,66050,66051,66052,66053,66054,66055,66056,66057,66058,66059,66060,66061,66062,66063,66064,66065,66066,66067,66068,66069,66070,66071,66072,66073,66074,66075,66076,66077,66078,66079,66080,66081,66082,66083,66084,66085,66086,66087,66088,66089,66090,66091,66092,66093,66094,66095,66096,66097,66098,66099,66100,66101,66102,66103,66104,66105,66106,66107,66108,66109,66110,66111,66112,66113,66114,66115,66116,66117,66118,66119,66120,66121,66122,66123,66124,66125,66126,66127,66128,66129,66130,66131,66132,66133,66134,66135,66136,66137,66138,66139,66140,66141,66142,66143,66144,66145,66146,66147,66148,66149,66150,66151,66152,66153,66154,66155,66156,66157,66158,66159,66160,66161,66162,66163,66164,66165,66166,66167,66168,66169,66170,66171,66172,66173,66174,66175,66176,66177,66178,66179,66180,66181,66182,66183,66184,66185,66186,66187,66188,66189,66190,66191,66192,66193,66194,66195,66196,66197,66198,66199,66200,66201,66202,66203,66204,66205,66206,66207,66208,66209,66210,66211,66212,66213,66214,66215,66216,66217,66218,66219,66220,66221,66222,66223,66224,66225,66226,66227,66228,66229,66230,66231,66232,66233,66234,66235,66236,66237,66238,66239,66240,66241,66242,66243,66244,66245,66246,66247,66248,66249,66250,66251,66252,66253,66254,66255,66256,66257,66258,66259,66260,66261,66262,66263,66264,66265,66266,66267,66268,66269,66270,66271,66272,66273,66274,66275,66276,66277,66278,66279,66280,66281,66282,66283,66284,66285,66286,66287,66288,66289,66290,66291,66292,66293,66294,66295,66296,66297,66298,66299,66300,66301,66302,66303,66304,66305,66306,66307,66308,66309,66310,66311,66312,66313,66314,66315,66316,66317,66318,66319,66320,66321,66322,66323,66324,66325,66326,66327,66328,66329,66330,66331,66332,66333,66334,66335,66336,66337,66338,66339,66340,66341,66342,66343,66344,66345,66346,66347,66348,66349,66350,66351,66352,66353,66354,66355,66356,66357,66358,66359,66360,66361,66362,66363,66364,66365,66366,66367,66368,66369,66370,66371,66372,66373,66374,66375,66376,66377,66378,66379,66380,66381,66382,66383,66384,66385,66386,66387,66388,66389,66390,66391,66392,66393,66394,66395,66396,66397,66398,66399,66400,66401,66402,66403,66404,66405,66406,66407,66408,66409,66410,66411,66412,66413,66414,66415,66416,66417,66418,66419,66420,66421,66422,66423,66424,66425,66426,66427,66428,66429,66430,66431,66432,66433,66434,66435,66436,66437,66438,66439,66440,66441,66442,66443,66444,66445,66446,66447,66448,66449,66450,66451,66452,66453,66454,66455,66456,66457,66458,66459,66460,66461,66462,66463,66464,66465,66466,66467,66468,66469,66470,66471,66472,66473,66474,66475,66476,66477,66478,66479,66480,66481,66482,66483,66484,66485,66486,66487,66488,66489,66490,66491,66492,66493,66494,66495,66496,66497,66498,66499,66500,66501,66502,66503,66504,66505,66506,66507,66508,66509,66510,66511,66512,66513,66514,66515,66516,66517,66518,66519,66520,66521,66522,66523,66524,66525,66526,66527,66528,66529,66530,66531,66532,66533,66534,66535,66536,66537,66538,66539,66540,66541,66542,66543,66544,66545,66546,66547,66548,66549,66550,66551,66552,66553,66554,66555,66556,66557,66558,66559,66560,66561,66562,66563,66564,66565,66566,66567,66568,66569,66570,66571,66572,66573,66574,66575,66576,66577,66578,66579,66580,66581,66582,66583,66584,66585,66586,66587,66588,66589,66590,66591,66592,66593,66594,66595,66596,66597,66598,66599,66600,66601,66602,66603,66604,66605,66606,66607,66608,66609,66610,66611,66612,66613,66614,66615,66616,66617,66618,66619,66620,66621,66622,66623,66624,66625,66626,66627,66628,66629,66630,66631,66632,66633,66634,66635,66636,66637,66638,66639,66640,66641,66642,66643,66644,66645,66646,66647,66648,66649,66650,66651,66652,66653,66654,66655,66656,66657,66658,66659,66660,66661,66662,66663,66664,66665,66666,66667,66668,66669,66670,66671,66672,66673,66674,66675,66676,66677,66678,66679,66680,66681,66682,66683,66684,66685,66686,66687,66688,66689,66690,66691,66692,66693,66694,66695,66696,66697,66698,66699,66700,66701,66702,66703,66704,66705,66706,66707,66708,66709,66710,66711,66712,66713,66714,66715,66716,66717,66718,66719,66720,66721,66722,66723,66724,66725,66726,66727,66728,66729,66730,66731,66732,66733,66734,66735,66736,66737,66738,66739,66740,66741,66742,66743,66744,66745,66746,66747,66748,66749,66750,66751,66752,66753,66754,66755,66756,66757,66758,66759,66760,66761,66762,66763,66764,66765,66766,66767,66768,66769,66770,66771,66772,66773,66774,66775,66776,66777,66778,66779,66780,66781,66782,66783,66784,66785,66786,66787,66788,66789,66790,66791,66792,66793,66794,66795,66796,66797,66798,66799,66800,66801,66802,66803,66804,66805,66806,66807,66808,66809,66810,66811,66812,66813,66814,66815,66816,66817,66818,66819,66820,66821,66822,66823,66824,66825,66826,66827,66828,66829,66830,66831,66832,66833,66834,66835,66836,66837,66838,66839,66840,66841,66842,66843,66844,66845,66846,66847,66848,66849,66850,66851,66852,66853,66854,66855,66856,66857,66858,66859,66860,66861,66862,66863,66864,66865,66866,66867,66868,66869,66870,66871,66872,66873,66874,66875,66876,66877,66878,66879,66880,66881,66882,66883,66884,66885,66886,66887,66888,66889,66890,66891,66892,66893,66894,66895,66896,66897,66898,66899,66900,66901,66902,66903,66904,66905,66906,66907,66908,66909,66910,66911,66912,66913,66914,66915,66916,66917,66918,66919,66920,66921,66922,66923,66924,66925,66926,66927,66928,66929,66930,66931,66932,66933,66934,66935,66936,66937,66938,66939,66940,66941,66942,66943,66944,66945,66946,66947,66948,66949,66950,66951,66952,66953,66954,66955,66956,66957,66958,66959,66960,66961,66962,66963,66964,66965,66966,66967,66968,66969,66970,66971,66972,66973,66974,66975,66976,66977,66978,66979,66980,66981,66982,66983,66984,66985,66986,66987,66988,66989,66990,66991,66992,66993,66994,66995,66996,66997,66998,66999,67000,67001,67002,67003,67004,67005,67006,67007,67008,67009,67010,67011,67012,67013,67014,67015,67016,67017,67018,67019,67020,67021,67022,67023,67024,67025,67026,67027,67028,67029,67030,67031,67032,67033,67034,67035,67036,67037,67038,67039,67040,67041,67042,67043,67044,67045,67046,67047,67048,67049,67050,67051,67052,67053,67054,67055,67056,67057,67058,67059,67060,67061,67062,67063,67064,67065,67066,67067,67068,67069,67070,67071,67072,67073,67074,67075,67076,67077,67078,67079,67080,67081,67082,67083,67084,67085,67086,67087,67088,67089,67090,67091,67092,67093,67094,67095,67096,67097,67098,67099,67100,67101,67102,67103,67104,67105,67106,67107,67108,67109,67110,67111,67112,67113,67114,67115,67116,67117,67118,67119,67120,67121,67122,67123,67124,67125,67126,67127,67128,67129,67130,67131,67132,67133,67134,67135,67136,67137,67138,67139,67140,67141,67142,67143,67144,67145,67146,67147,67148,67149,67150,67151,67152,67153,67154,67155,67156,67157,67158,67159,67160,67161,67162,67163,67164,67165,67166,67167,67168,67169,67170,67171,67172,67173,67174,67175,67176,67177,67178,67179,67180,67181,67182,67183,67184,67185,67186,67187,67188,67189,67190,67191,67192,67193,67194,67195,67196,67197,67198,67199,67200,67201,67202,67203,67204,67205,67206,67207,67208,67209,67210,67211,67212,67213,67214,67215,67216,67217,67218,67219,67220,67221,67222,67223,67224,67225,67226,67227,67228,67229,67230,67231,67232,67233,67234,67235,67236,67237,67238,67239,67240,67241,67242,67243,67244,67245,67246,67247,67248,67249,67250,67251,67252,67253,67254,67255,67256,67257,67258,67259,67260,67261,67262,67263,67264,67265,67266,67267,67268,67269,67270,67271,67272,67273,67274,67275,67276,67277,67278,67279,67280,67281,67282,67283,67284,67285,67286,67287,67288,67289,67290,67291,67292,67293,67294,67295,67296,67297,67298,67299,67300,67301,67302,67303,67304,67305,67306,67307,67308,67309,67310,67311,67312,67313,67314,67315,67316,67317,67318,67319,67320,67321,67322,67323,67324,67325,67326,67327,67328,67329,67330,67331,67332,67333,67334,67335,67336,67337,67338,67339,67340,67341,67342,67343,67344,67345,67346,67347,67348,67349,67350,67351,67352,67353,67354,67355,67356,67357,67358,67359,67360,67361,67362,67363,67364,67365,67366,67367,67368,67369,67370,67371,67372,67373,67374,67375,67376,67377,67378,67379,67380,67381,67382,67383,67384,67385,67386,67387,67388,67389,67390,67391,67392,67393,67394,67395,67396,67397,67398,67399,67400,67401,67402,67403],[6562,1792],[3014,1792],[3035,550],[2407,550],[3013,11],[2229,11],[13290,51805],[2235,51805],[28364,51817],[3644,51817],[5064,51817],[5388,51817],[5389,51817],[20080,51797],[2230,51797],[18156,51825],[3767,51825],[3051,51825],[2239,51825],[3356,51825],[4359,51825],[2240,51825],[2241,51825],[5390,51825],[6072,51825],[7537,51825],[7538,51825],[20682,51813],[6027,51813],[6071,51813],[31488,51813],[12960,51813],[6014,51801],[2231,51801],[2232,51801],[2233,51801],[2234,51801],[3081,51801],[25017,51809],[2236,51809],[2237,51809],[3355,51809],[21663,51821],[2238,51821],[18917,51],[3401,51],[18918,51930],[6073,51930],[2246,51930],[5334,51926],[3768,51926],[2242,51926],[2243,51926],[2244,51926],[2245,51926],[14690,62],[3052,62],[3054,51969],[3406,51969],[3152,51969],[7718,51969],[5321,51969],[4459,51969],[5393,51969],[2256,51969],[2257,51969],[3407,51969],[3408,51969],[3927,51969],[6075,51969],[6076,51969],[2258,51969],[2259,51969],[3409,51969],[2260,51969],[4460,51969],[4324,51969],[2261,51969],[2262,51969],[2263,51969],[2264,51969],[3928,51969],[2265,51969],[2266,51969],[3929,51969],[2267,51969],[2268,51969],[2269,51969],[3410,51969],[2270,51969],[3053,51965],[2255,51965],[3056,51965],[2977,51965],[5873,51965],[3057,51965],[7786,51961],[2247,51961],[3402,51961],[3055,51961],[5391,51961],[4457,51961],[4458,51961],[3403,51961],[5392,51961],[2248,51961],[9417,51961],[7539,51961],[3404,51961],[5984,51961],[2249,51961],[3405,51961],[2250,51961],[2251,51961],[3254,51961],[6260,51961],[3980,51961],[2252,51961],[2253,51961],[20543,51961],[36118,51961],[7540,51961],[36125,51961],[8860,51961],[36132,51961],[7541,51961],[36139,51961],[8861,51961],[36146,51961],[8206,51961],[36153,51961],[3177,51961],[36160,51961],[6074,51961],[36167,51961],[8207,51961],[36179,51961],[7542,51961],[36192,51961],[7543,51961],[2254,51961],[3357,51961],[8236,149],[3411,149],[3198,149],[2271,149],[22857,52213],[16539,52213],[5985,52213],[3412,52213],[2272,52213],[6049,52213],[4461,52213],[3153,52213],[5986,52213],[13237,52217],[16540,52217],[3104,52217],[3413,52217],[3154,52217],[3414,52217],[2273,52217],[3415,52217],[13757,170],[3058,170],[2274,170],[17138,170],[2275,170],[3059,52322],[3060,52322],[2980,52322],[2981,52322],[2982,52322],[2983,52322],[3061,52322],[2984,52322],[3062,52322],[2985,52322],[3063,52322],[2986,52322],[2987,52322],[2988,52322],[2374,52322],[2989,52322],[3082,52282],[3770,52282],[2278,52282],[17140,52282],[2279,52282],[2280,52282],[3417,52282],[2281,52282],[3358,52282],[2282,52282],[2283,52282],[2284,52282],[2285,52282],[2286,52282],[4486,52282],[4487,52282],[2287,52282],[2288,52282],[2289,52282],[3418,52282],[2290,52282],[3419,52282],[3771,52282],[2291,52282],[3255,52282],[3256,52282],[3257,52282],[3258,52282],[3212,52282],[2292,52282],[2293,52282],[2294,52282],[2295,52282],[2296,52282],[2297,52282],[2298,52282],[2299,52282],[2300,52282],[2301,52282],[6050,52282],[2302,52282],[2303,52282],[2304,52282],[2305,52282],[6299,52282],[2306,52282],[3772,52282],[2307,52282],[2308,52282],[4510,52282],[2309,52282],[2310,52282],[2311,52282],[2312,52282],[6051,52282],[3090,52282],[5182,52282],[2313,52282],[2314,52282],[3259,52282],[16235,52282],[5987,52282],[6216,52282],[2315,52282],[3420,52282],[3421,52282],[2316,52282],[3422,52282],[3423,52282],[3424,52282],[3425,52282],[5476,52282],[3426,52282],[5477,52282],[8296,52282],[3773,52282],[15117,52282],[7454,52282],[15118,52282],[2317,52282],[3774,52282],[4360,52282],[2318,52282],[2319,52282],[3775,52282],[2320,52282],[2321,52282],[2322,52282],[2323,52282],[2324,52282],[3427,52282],[2978,52282],[3428,52282],[16934,52282],[3429,52282],[5478,52282],[3430,52282],[2979,52282],[5881,52286],[3359,52286],[2325,52286],[17141,52286],[3431,52286],[2326,52286],[2327,52286],[4488,52286],[2328,52286],[17142,52286],[3360,52286],[2329,52286],[2330,52286],[17143,52286],[2331,52286],[2332,52286],[2333,52286],[2334,52286],[3776,52286],[17144,52286],[3777,52286],[17145,52286],[3931,52286],[2335,52286],[2336,52286],[2337,52286],[3361,52286],[3432,52286],[3433,52286],[3434,52286],[3435,52286],[2338,52286],[2339,52286],[6736,52318],[3779,52318],[2373,52318],[3458,52318],[4772,52306],[2366,52306],[4778,52306],[3364,52306],[2367,52306],[24839,52310],[2368,52310],[4779,52310],[4845,52290],[4489,52290],[3436,52290],[2340,52290],[2341,52290],[4645,52290],[4462,52290],[4652,52290],[7827,52290],[7544,52290],[7828,52290],[7545,52290],[3674,52290],[4646,52290],[2342,52290],[3231,52290],[2343,52290],[2344,52290],[2345,52290],[2346,52290],[2347,52290],[3437,52290],[5960,52290],[2348,52290],[2349,52290],[4825,52290],[3438,52290],[2350,52290],[3645,52290],[3362,52290],[2351,52290],[2352,52290],[3260,52290],[2353,52290],[2354,52290],[3261,52290],[3439,52290],[3440,52290],[3441,52290],[3363,52290],[3442,52290],[3443,52290],[3155,52290],[3444,52290],[2355,52290],[3262,52290],[4846,52290],[4847,52290],[4848,52290],[23798,52290],[3445,52290],[3263,52290],[3446,52290],[3447,52290],[3932,52290],[4361,52290],[3933,52290],[3934,52290],[4496,52290],[2356,52290],[2357,52290],[8297,52290],[6300,52290],[2358,52290],[3448,52290],[8463,52290],[5882,52298],[3778,52298],[2360,52298],[3452,52298],[13758,52278],[3769,52278],[5538,52278],[3930,52278],[3178,52278],[3416,52278],[17139,52278],[2276,52278],[2277,52278],[5884,52314],[3455,52314],[2369,52314],[5511,52314],[5750,52314],[6052,52314],[2370,52314],[2371,52314],[3456,52314],[3457,52314],[2372,52314],[16199,52294],[2359,52294],[3449,52294],[3450,52294],[3451,52294],[5883,52302],[4663,52302],[5874,52302],[18307,52302],[2361,52302],[3453,52302],[7038,52302],[6077,52302],[2362,52302],[12933,52302],[3454,52302],[2363,52302],[2364,52302],[3232,52302],[2365,52302],[3140,52302],[8298,52302],[7829,446],[3459,446],[2375,446],[7830,53118],[2381,53118],[3460,53118],[2382,53118],[17146,53118],[3461,53118],[9607,53122],[7770,53122],[22218,53110],[6261,53110],[2376,53110],[6021,53110],[2377,53110],[2378,53110],[2379,53110],[22219,53114],[2380,53114],[24256,466],[3462,466],[3464,466],[8836,466],[13251,466],[3465,466],[2384,466],[13250,53190],[2388,53190],[17147,53190],[2389,53190],[2390,53190],[3780,53190],[2391,53190],[6262,53190],[2392,53190],[8208,53190],[2393,53190],[2394,53190],[2395,53190],[2396,53190],[2397,53190],[2398,53190],[5790,53190],[8834,53202],[2402,53202],[2403,53202],[3477,53202],[2404,53202],[2383,53198],[4044,53198],[2401,53198],[3476,53198],[3027,53198],[8822,53186],[3365,53186],[8835,53206],[3478,53206],[2405,53206],[2406,53206],[3463,53194],[2399,53194],[2400,53194],[5989,53194],[20526,53182],[5799,53182],[13339,53182],[25962,53182],[13340,53182],[13714,53182],[7510,53182],[3466,53182],[3467,53182],[3468,53182],[3469,53182],[26836,53182],[3470,53182],[3471,53182],[25059,53182],[25060,53182],[8273,53182],[3472,53182],[3473,53182],[25061,53182],[25062,53182],[31515,53182],[3474,53182],[3475,53182],[25063,53182],[25064,53182],[6864,53182],[6053,53182],[6054,53182],[25065,53182],[25066,53182],[3646,53182],[19890,53178],[2385,53178],[2386,53178],[5988,53178],[2387,53178],[3285,53178],[5798,53178],[8833,53174],[13333,552],[3479,552],[3292,53428],[3156,53428],[13480,53431],[13341,53431],[13741,53434],[13759,53434],[14153,53437],[2408,53437],[14356,53421],[15621,53440],[2409,53440],[2410,53440],[2411,53440],[2412,53440],[23957,53443],[2413,53443],[23973,53446],[2414,53446],[24067,53449],[2415,53449],[7273,53452],[2416,53452],[7322,53455],[2417,53455],[7329,53459],[2418,53459],[7342,53463],[4464,53463],[30104,53425],[4463,53425],[29923,53467],[9555,53467],[28820,53470],[2419,53470],[29433,53473],[2420,53473],[18822,53476],[3781,53476],[36385,53479],[13334,53479],[9691,53482],[5512,53482],[18751,53482],[9730,53482],[2421,53482],[10668,53485],[2422,53485],[9046,53488],[2423,53488],[26244,53491],[2424,53491],[26321,53494],[2425,53494],[4465,53494],[5183,53494],[26332,53498],[2426,53498],[25514,53501],[2427,53501],[27835,53504],[2428,53504],[35285,53507],[11266,53507],[31447,53510],[4466,53510],[9703,619],[3480,619],[2429,619],[2430,619],[2431,619],[2432,619],[2433,619],[22668,619],[3481,619],[3186,53708],[2483,53708],[3783,53708],[2484,53708],[4325,53672],[3484,53672],[3485,53672],[3647,53672],[14933,53660],[5097,53660],[12754,53660],[2446,53660],[7605,53628],[9692,53700],[2478,53700],[2479,53700],[7831,53648],[2441,53648],[2442,53648],[6078,53668],[2449,53668],[14465,53704],[2480,53704],[3675,53704],[3490,53704],[3491,53704],[13761,53704],[2481,53704],[27963,53704],[2482,53704],[3782,53704],[32538,53652],[12751,53652],[12752,53652],[2443,53652],[32539,53656],[2444,53656],[12753,53656],[2445,53656],[7257,53688],[2458,53688],[3489,53688],[2459,53688],[2460,53688],[2461,53688],[2462,53688],[22669,53688],[2463,53688],[3366,53688],[2464,53688],[2465,53688],[2466,53688],[2467,53688],[2468,53688],[8209,53688],[6681,53688],[6248,53688],[2469,53688],[2470,53688],[2471,53688],[16666,53692],[3213,53692],[3158,53692],[2472,53692],[2473,53692],[4327,53692],[3367,53692],[13760,53684],[3488,53684],[2457,53684],[20784,53696],[2474,53696],[2475,53696],[2476,53696],[4328,53696],[2477,53696],[10896,53712],[2485,53712],[2486,53712],[2487,53712],[2488,53712],[9534,53680],[2453,53680],[2454,53680],[3487,53680],[2455,53680],[4326,53680],[3649,53680],[2456,53680],[26213,53676],[2450,53676],[2451,53676],[2452,53676],[3187,53676],[3486,53676],[3648,53676],[3247,53636],[2436,53636],[3248,53636],[13342,53632],[2434,53632],[3482,53632],[3483,53632],[6079,53632],[2435,53632],[4595,53632],[6080,53632],[8654,53644],[2440,53644],[3157,53644],[8653,53640],[2437,53640],[2438,53640],[2439,53640],[4497,53640],[22492,53664],[2447,53664],[2448,53664],[35815,746],[2489,746],[2491,746],[4031,746],[3492,746],[21506,54041],[3179,54041],[16541,54037],[3214,54037],[10374,54049],[2495,54049],[21499,54049],[6652,54049],[24173,54049],[36465,54049],[10381,54049],[4467,54049],[9069,54049],[10358,54049],[2496,54049],[29244,54049],[29245,54049],[2497,54049],[29189,54049],[29190,54049],[2498,54049],[7737,54049],[7738,54049],[2499,54049],[23237,54049],[17451,54049],[3494,54049],[25994,54049],[26414,54049],[3936,54049],[2490,54033],[2493,54033],[2494,54033],[3935,54033],[6561,54033],[3493,54033],[21507,54053],[2500,54053],[21500,54053],[6653,54053],[24174,54053],[12661,54053],[25676,54053],[4596,54053],[23238,54053],[17452,54053],[3495,54053],[25995,54053],[26415,54053],[3937,54053],[11267,54029],[2492,54029],[10465,54045],[4935,804],[3496,804],[4681,54220],[3501,54220],[2501,54220],[7832,54220],[8789,54220],[4937,54243],[4938,54243],[2505,54243],[4936,54239],[2504,54239],[3939,54239],[36867,54239],[35138,54239],[26397,54239],[13344,54239],[34450,54239],[3940,54239],[18039,54239],[3233,54239],[5777,54239],[4944,54239],[12925,54239],[6081,54239],[12926,54239],[5791,54239],[5184,54239],[2990,54239],[9391,54239],[5023,54239],[3503,54239],[13787,54208],[3215,54208],[7547,54208],[7546,54212],[7548,54212],[19627,54212],[3498,54212],[13343,54212],[17148,54212],[3499,54212],[7787,54235],[3036,54235],[7092,54224],[2502,54224],[3502,54224],[17199,54228],[2503,54228],[35816,54232],[6920,54232],[20890,54204],[3784,54204],[20889,54200],[3497,54200],[18269,54216],[3500,54216],[6134,54216],[11268,54216],[18270,54216],[11269,54216],[3938,54247],[3785,54247],[3234,54247],[3941,54247],[3942,54247],[3943,54247],[2506,54247],[2507,54247],[3981,54247],[2508,54247],[6695,875],[3264,875],[2509,875],[2510,875],[2511,875],[15932,54426],[2516,54426],[2517,54426],[2518,54426],[6682,54422],[2514,54422],[2515,54422],[3216,54422],[6696,54418],[2512,54418],[3159,54418],[3368,54418],[4186,54418],[3160,54418],[2513,54418],[36503,895],[3504,895],[5479,54506],[3370,54506],[6348,54498],[3505,54498],[2527,54498],[3369,54498],[3650,54498],[6349,54510],[3371,54510],[13678,54494],[2525,54494],[2526,54494],[11259,54502],[6083,54522],[2537,54522],[17645,54526],[2538,54526],[29949,54482],[2520,54482],[2521,54482],[2522,54482],[17548,54514],[6350,54514],[2528,54514],[6084,54514],[2529,54514],[2530,54514],[2531,54514],[6347,54486],[2523,54486],[10466,54538],[3510,54538],[17549,54518],[6085,54518],[5513,54518],[2532,54518],[3506,54518],[2533,54518],[8373,54518],[3507,54518],[4890,54518],[5480,54518],[4896,54518],[17550,54518],[6351,54518],[2534,54518],[6352,54518],[2535,54518],[3508,54518],[3651,54518],[5514,54518],[25611,54518],[2536,54518],[17646,54530],[3509,54530],[6082,54490],[2524,54490],[2519,54534],[2539,54534],[7719,54534],[2540,54534],[2541,54534],[5065,54534],[2542,54534],[2543,54534],[2544,54534],[2545,54534],[2546,54534],[6353,54534],[2547,54534],[2548,54534],[6921,968],[3511,968],[3786,968],[6086,968],[2549,968],[24000,54724],[2555,54724],[28809,54720],[2554,54720],[26287,54716],[2550,54716],[3044,54716],[6255,54716],[4468,54716],[2551,54716],[2552,54716],[5990,54716],[2553,54716],[3512,986],[2556,986],[2557,986],[2558,986],[3513,986],[2991,986],[3787,986],[3514,986],[9261,54778],[2560,54778],[3788,54778],[2561,54778],[7549,54778],[2562,54778],[2992,54778],[26689,54774],[2559,54774],[22535,1003],[3515,1003],[30596,54880],[30633,54899],[2573,54899],[2574,54899],[2575,54899],[2576,54899],[8237,54895],[16872,54876],[3161,54876],[3791,54876],[15549,54876],[2568,54876],[3372,54876],[3519,54876],[18619,54876],[2569,54876],[6445,54876],[2570,54876],[3520,54876],[3652,54876],[22008,54903],[2577,54903],[7275,54903],[16717,54903],[8765,54903],[3714,54903],[26700,54864],[3790,54864],[8764,54872],[3835,54872],[14684,54872],[6415,54872],[27545,54828],[7612,54868],[3518,54868],[22030,54891],[30340,54884],[7274,54884],[11272,54884],[3653,54884],[3521,54884],[2571,54884],[26245,54884],[3522,54884],[7551,54884],[11273,54884],[6263,54884],[6897,54884],[11274,54884],[5991,54884],[5992,54884],[3523,54884],[23183,54884],[3945,54884],[13080,54888],[2572,54888],[13051,54844],[3516,54844],[13039,54836],[11271,54836],[13073,54840],[7550,54840],[3789,54840],[12961,54832],[11270,54832],[2563,54832],[12994,54860],[3265,54860],[19246,54860],[3266,54860],[3267,54860],[12987,54856],[2567,54856],[12980,54852],[2566,54852],[13023,54848],[3517,54848],[3944,54848],[2564,54848],[7833,54848],[6325,54848],[2565,54848],[4469,54848],[23121,1088],[3524,1088],[22010,55124],[2594,55124],[30796,55108],[2580,55108],[2581,55108],[2582,55108],[5993,55108],[6088,55108],[2583,55108],[2584,55108],[3526,55108],[2585,55108],[15027,55116],[2591,55116],[16841,55104],[3525,55104],[6087,55104],[2578,55104],[2579,55104],[18475,55112],[2586,55112],[2587,55112],[2588,55112],[2589,55112],[2590,55112],[22009,55120],[2592,55120],[2593,55120],[26882,55128],[27929,55132],[32540,1120],[2595,1120],[2596,55209],[2597,55209],[15028,55229],[23254,55237],[32991,55233],[18486,55217],[3374,55217],[8837,55213],[7788,55213],[3946,55213],[3235,55213],[2598,55213],[2599,55213],[3373,55213],[3527,55213],[3528,55213],[12927,55213],[13307,55225],[3532,55225],[2602,55225],[17149,55225],[4095,55225],[3375,55225],[3376,55225],[4329,55225],[2603,55225],[8008,55225],[2604,55225],[13306,55221],[3947,55221],[2600,55221],[3529,55221],[2601,55221],[3530,55221],[6264,55221],[3948,55221],[3531,55221],[6922,1360],[2680,1360],[2681,1360],[7789,1360],[3552,1360],[5056,1159],[3533,1159],[2605,1159],[2606,1159],[2607,1159],[2608,1159],[5185,55335],[7720,55335],[2609,55335],[2610,55335],[2611,55335],[2612,55335],[2993,55335],[3534,55335],[2613,55335],[2614,55335],[2615,55335],[2616,55335],[3535,55335],[5186,55339],[7721,55339],[2617,55339],[2618,55339],[2619,55339],[3224,55339],[2620,55339],[4330,55343],[3792,55343],[3536,55343],[12800,55343],[12807,55343],[12814,55343],[12826,55343],[4470,55343],[3793,55343],[3661,55343],[4826,55343],[3949,55343],[5216,55343],[5235,55343],[5236,55343],[5237,55343],[3537,55343],[5217,55343],[12856,55343],[3538,55343],[5187,55343],[2621,55343],[5188,55343],[2622,55343],[5189,55343],[2623,55343],[2624,55343],[17150,55343],[2625,55343],[30993,1214],[3539,1214],[3540,1214],[6785,55519],[4244,55519],[11276,55519],[2643,55519],[17152,55519],[2644,55519],[13226,55511],[2637,55511],[2638,55511],[13345,55507],[2994,55507],[4849,55507],[7834,55507],[3654,55507],[2631,55507],[3236,55507],[4518,55507],[6090,55507],[4498,55507],[5994,55507],[3542,55507],[2632,55507],[7835,55507],[2633,55507],[7836,55507],[3268,55507],[2634,55507],[11275,55507],[2635,55507],[2636,55507],[16718,55515],[2639,55515],[2640,55515],[3543,55515],[2641,55515],[3794,55515],[3544,55515],[4331,55515],[23799,55515],[23800,55515],[17151,55515],[2642,55515],[30987,55503],[3541,55503],[2626,55503],[2627,55503],[2628,55503],[6089,55503],[2629,55503],[2630,55503],[2645,1267],[2646,1267],[2647,1267],[11277,55670],[2648,55670],[8660,55670],[3795,55670],[2649,55670],[9863,55670],[2650,55670],[3982,55670],[3378,55670],[3379,55670],[15146,55670],[6898,55670],[8757,55670],[13346,55670],[4664,55670],[29685,55666],[3377,55666],[6975,1287],[3545,1287],[2651,1287],[2652,1287],[3796,1287],[2653,1287],[2654,1287],[2655,1287],[2656,1287],[2657,1287],[3204,1287],[17153,1287],[2658,1287],[20790,1300],[3546,1300],[2659,1300],[2660,1300],[3547,1300],[35070,1300],[3797,1300],[2661,1300],[9434,1300],[3269,55796],[2670,55796],[3548,55796],[3270,55804],[2671,55804],[3037,55804],[13599,55792],[5057,55776],[2666,55776],[2667,55776],[33425,55780],[3798,55780],[7343,55784],[2668,55784],[26605,55788],[2669,55788],[11278,55807],[11280,55807],[2672,55807],[2673,55807],[2674,55807],[3549,55807],[23133,55800],[31664,55772],[2665,55772],[12934,55768],[2662,55768],[17154,55768],[2663,55768],[2664,55768],[11279,55811],[6091,55811],[6092,55811],[6093,55811],[6094,55811],[8210,55811],[8211,55811],[6095,55811],[6096,55811],[5190,55811],[3380,55811],[6097,55811],[6098,55811],[3550,1352],[3551,1352],[3799,1352],[2675,1352],[2676,1352],[2677,1352],[2678,1352],[2679,1352],[4850,1372],[2684,1372],[2685,1372],[2686,1372],[3381,1372],[2687,1372],[2688,1372],[3271,1372],[3188,1372],[3800,1372],[3189,1372],[3190,1372],[12662,1372],[14169,1372],[5820,1372],[5778,1372],[3801,1372],[26403,1389],[2689,1389],[2691,1389],[2692,1389],[2693,1389],[2694,1389],[2695,1389],[2696,1389],[2697,1389],[3382,1389],[3555,1389],[8212,1389],[13238,1389],[3950,1389],[10573,1389],[6100,1389],[2698,1389],[2699,1389],[2700,1389],[2701,1389],[2702,1389],[2703,1389],[2704,1389],[3556,1389],[2705,1389],[2706,1389],[3272,1389],[2707,1389],[17535,1389],[15622,1389],[2708,1389],[2709,1389],[3557,1389],[17536,1389],[2710,1389],[2711,1389],[2712,1389],[2713,1389],[3558,1389],[2690,56049],[5875,56049],[2714,56049],[15628,56049],[2715,56049],[2716,56049],[2717,56049],[31665,1435],[3559,1435],[2718,1435],[2719,1435],[2720,1435],[2721,1435],[2722,1435],[2723,1435],[9824,56192],[2729,56192],[3299,56192],[9013,56196],[2730,56196],[2731,56196],[2732,56196],[2733,56196],[6101,56188],[2724,56188],[2725,56188],[2726,56188],[2727,56188],[2728,56188],[5395,56204],[2735,56204],[2736,56204],[2737,56204],[2738,56204],[5394,56200],[6976,56200],[3560,56200],[2734,56200],[3951,56200],[6242,55959],[6099,55959],[4332,55959],[2682,55959],[3553,55959],[2683,55959],[3554,55959],[3561,1467],[3562,1467],[2739,56290],[3564,56290],[3383,56290],[2740,56290],[2741,56290],[30797,56302],[2744,56302],[4347,56302],[3566,56302],[2745,56302],[5671,56302],[24784,56305],[2746,56305],[2747,56305],[32277,56305],[29303,56305],[2748,56305],[7361,56305],[10123,56305],[15532,56305],[15526,56305],[3567,56305],[7362,56305],[5995,56305],[7552,56305],[3568,56305],[10124,56305],[7164,56305],[2749,56305],[2750,56305],[2751,56305],[5396,56294],[2742,56294],[29191,56337],[2778,56337],[2779,56337],[15256,56337],[2780,56337],[3571,56337],[3572,56337],[2781,56337],[2782,56337],[6102,56337],[11248,56337],[2783,56337],[33895,56337],[2784,56337],[6000,56337],[28594,56317],[2755,56317],[17156,56317],[2756,56317],[2757,56317],[2758,56317],[5335,56317],[3569,56317],[5996,56317],[2759,56317],[2760,56317],[2761,56317],[2762,56317],[6265,56317],[5631,56317],[4251,56298],[3565,56298],[2743,56298],[18890,56313],[2754,56313],[36413,56309],[2752,56309],[17155,56309],[2753,56309],[3563,56321],[2763,56321],[10843,56329],[10844,56329],[3570,56329],[4511,56329],[27284,56325],[2764,56325],[2765,56325],[2766,56325],[2767,56325],[2768,56325],[3952,56325],[3953,56325],[2769,56325],[2770,56325],[5997,56325],[5998,56325],[7165,56325],[2771,56325],[2772,56325],[33894,56325],[2773,56325],[5999,56325],[14775,56333],[2774,56333],[2775,56333],[3384,56333],[2776,56333],[2777,56333],[3237,56333],[15933,1572],[2785,1572],[3573,1572],[2786,1572],[2787,1572],[3350,56617],[2788,56617],[5699,56781],[2844,56781],[5745,56621],[2789,56621],[4363,56677],[2804,56677],[2805,56677],[4364,56681],[2806,56681],[3578,56681],[4365,56685],[2807,56685],[2808,56685],[4366,56689],[2809,56689],[4388,56689],[4367,56693],[3579,56693],[2810,56693],[4368,56697],[2811,56697],[3802,56697],[15318,56697],[3580,56697],[3581,56697],[6633,56697],[3582,56697],[4369,56701],[2812,56701],[3583,56701],[4370,56705],[2813,56705],[2814,56705],[4371,56709],[2815,56709],[3386,56709],[4372,56713],[2816,56713],[4389,56713],[4373,56717],[3584,56717],[3585,56717],[4374,56721],[2817,56721],[4738,56721],[2818,56721],[2819,56721],[2820,56721],[2821,56721],[2822,56721],[2823,56721],[4375,56725],[3387,56725],[2824,56725],[2825,56725],[4376,56729],[2826,56729],[2827,56729],[2828,56729],[2829,56729],[2830,56729],[4377,56733],[2831,56733],[3954,56733],[4378,56737],[2832,56737],[2833,56737],[4379,56741],[2834,56741],[3586,56741],[4380,56745],[2835,56745],[4390,56745],[2836,56745],[3587,56745],[3803,56745],[2837,56745],[4381,56749],[3388,56749],[4391,56749],[4382,56753],[3588,56753],[2838,56753],[4383,56757],[2839,56757],[3589,56757],[4362,56673],[4384,56761],[3389,56761],[2840,56761],[2841,56761],[3590,56761],[4385,56765],[4392,56765],[3591,56765],[4386,56769],[2842,56769],[3592,56769],[4387,56773],[2843,56773],[7553,56773],[22183,56785],[3593,56785],[31135,56789],[3594,56789],[14954,56777],[24572,56793],[2845,56793],[8238,56625],[3385,56625],[7517,56629],[2790,56629],[2791,56629],[8553,56797],[2846,56797],[8266,56613],[7200,56633],[3715,56633],[18004,56801],[2847,56801],[3595,56801],[35804,56637],[3574,56637],[37052,56641],[2792,56641],[3575,56641],[36962,56645],[2793,56645],[2794,56645],[20293,56805],[5643,56805],[13109,56805],[13239,56805],[21421,56809],[4131,56809],[33869,56649],[2795,56649],[2796,56649],[34158,56653],[3576,56653],[19817,56813],[2848,56813],[11174,56817],[2849,56817],[10686,56670],[2803,56670],[26638,56821],[3596,56821],[28146,56657],[2797,56657],[28152,56660],[2798,56660],[2799,56660],[28159,56663],[2800,56663],[3577,56663],[21646,56666],[2801,56666],[2802,56666],[23128,56825],[7021,56825],[22726,56829],[2850,56829],[7554,56829],[3597,56829],[3598,56829],[7555,56829],[14665,56833],[2851,56833],[32040,56837],[3390,56837],[30328,56841],[2852,56841],[13221,56845],[2853,56845],[4393,56845],[14666,56845],[4394,56845],[4395,56845],[4396,56845],[4397,56845],[4398,56845],[4399,56845],[13530,56845],[4400,56845],[4401,56845],[4402,56845],[4403,56845],[4404,56845],[12601,56845],[14667,56845],[2854,56845],[14668,56845],[12594,56845],[13537,56845],[3887,56845],[4405,56845],[4406,56845],[4407,56845],[4408,56845],[12728,56845],[4409,56845],[4427,56845],[4410,56845],[10467,56845],[4411,56845],[17883,56845],[4434,56845],[4441,56845],[4412,56845],[4413,56845],[4414,56845],[17884,56845],[16940,1858],[3606,1858],[4970,57554],[2917,57554],[2918,57554],[3807,57554],[4472,57554],[3609,57554],[2919,57554],[2920,57554],[5587,57542],[3393,57542],[14986,57562],[2922,57562],[2923,57562],[6978,57566],[3610,57566],[2924,57566],[2925,57566],[2926,57566],[3611,57566],[6930,57575],[4597,57575],[3607,57546],[3804,57546],[2891,57546],[2892,57546],[2893,57546],[2894,57546],[4025,57546],[2895,57546],[2896,57546],[3805,57546],[3608,57546],[2897,57546],[2898,57546],[2899,57546],[2900,57546],[2901,57546],[6106,57546],[2902,57546],[2903,57546],[2904,57546],[4992,57550],[2905,57550],[4471,57550],[2906,57550],[2907,57550],[2908,57550],[2909,57550],[2910,57550],[3806,57550],[2911,57550],[2912,57550],[2913,57550],[2914,57550],[2915,57550],[2916,57550],[28365,57572],[3038,57572],[5515,57579],[3808,57579],[4245,57579],[19753,57579],[2931,57579],[7557,57579],[7974,57579],[3612,57579],[36504,57569],[2927,57569],[2928,57569],[2929,57569],[2930,57569],[25214,57558],[2921,57558],[6105,57583],[21042,57583],[3739,57583],[3809,57583],[29686,57583],[25612,1938],[7276,1938],[11283,57812],[3616,57812],[2938,57812],[5792,57812],[6022,57812],[2939,57812],[2940,57812],[2941,57812],[3677,57812],[13116,57812],[3957,57812],[3958,57812],[2942,57812],[8009,57812],[7559,57812],[4252,57792],[2932,57792],[24731,57800],[2933,57800],[11282,57808],[3615,57808],[5932,57823],[2954,57823],[2955,57823],[18708,57796],[2995,57796],[11284,57815],[2943,57815],[8766,57819],[2944,57819],[17158,57819],[2945,57819],[2946,57819],[2947,57819],[2948,57819],[2949,57819],[4113,57819],[2950,57819],[17159,57819],[2951,57819],[2952,57819],[2953,57819],[5779,57804],[2934,57804],[2935,57804],[2936,57804],[3394,57804],[3613,57804],[3614,57804],[7558,57804],[7837,57804],[2937,57804],[6458,57804],[9891,1993],[3617,1993],[15370,57992],[3620,57992],[3621,57992],[3622,57992],[3623,57992],[3624,57992],[30894,57972],[8741,57972],[11285,57972],[4922,57972],[9014,57972],[4334,57972],[3618,57972],[6001,57972],[30895,57996],[11286,57996],[5191,57996],[2956,57996],[12127,57996],[4217,57996],[8367,57996],[7634,57996],[7560,57996],[5192,57996],[6640,57996],[3625,57996],[8428,57996],[6683,57996],[4827,57996],[6108,57996],[12007,57996],[2957,57996],[2958,57996],[5481,57996],[7754,57996],[12049,57996],[4473,57996],[6200,57996],[6923,57996],[6819,57996],[30896,58013],[7563,58013],[6109,58013],[12092,58013],[7157,58013],[12298,58013],[4474,58013],[3626,58013],[3627,58013],[7419,58013],[7564,58013],[5483,58013],[4851,58013],[3395,58013],[11736,58013],[30897,58035],[5193,58035],[6659,58035],[3810,58035],[2997,58035],[11180,58035],[30898,58062],[6266,58062],[11440,58062],[11416,58062],[8674,58062],[2960,58062],[5858,58062],[8675,58062],[8053,58062],[6002,58062],[9015,58062],[8361,58062],[7158,58062],[4475,58062],[8151,58062],[12420,58062],[7883,58062],[12436,58062],[4605,58062],[3631,58062],[10337,58062],[3632,58062],[6003,58062],[8024,58062],[6004,58062],[6111,58062],[6820,58062],[17733,57976],[11408,57976],[3619,57976],[3162,57976],[11981,57976],[6107,57976],[17734,58003],[11582,58003],[4159,58003],[8022,58003],[4598,58003],[7561,58003],[7562,58003],[8052,58003],[2996,58003],[17735,58019],[3628,58019],[5895,58019],[11878,58019],[17736,58038],[2998,58038],[4336,58038],[3629,58038],[10641,58038],[3300,58038],[3163,58038],[17737,58049],[10320,58049],[4828,58049],[17738,58068],[11453,58068],[7565,58068],[3811,58068],[6112,58068],[3633,58068],[6801,58068],[3301,58068],[9057,58068],[5979,58068],[9397,58068],[3217,58068],[3634,58068],[7606,58068],[9016,58068],[2962,58068],[7995,58068],[10822,58068],[2963,58068],[3716,58068],[8854,58068],[6113,58068],[7566,58068],[3165,58068],[5738,58068],[3921,58068],[6005,58068],[6821,58068],[7567,58068],[4490,58068],[5337,58068],[4540,58068],[8299,57999],[2959,57999],[8300,58016],[4335,58016],[8301,58065],[2999,58065],[2961,58065],[9897,58055],[9896,58045],[9895,58028],[9894,58009],[9893,57988],[9892,57964],[25336,57968],[4415,57968],[25337,58032],[6110,58032],[7706,58032],[25338,58059],[8673,58059],[21549,57984],[8021,57984],[3238,57984],[6301,57984],[21550,58006],[8023,58006],[5482,58006],[21551,58025],[11287,58025],[11884,58025],[21552,58052],[3239,58052],[3630,58052],[11674,58052],[21553,58077],[6007,58077],[3636,58077],[5338,58077],[6114,58077],[9017,58077],[6115,58077],[6302,58077],[12245,58077],[3637,58077],[3240,58077],[7996,58077],[8464,58077],[22011,57980],[5336,57980],[22012,58022],[6122,58022],[22013,58071],[8025,58071],[6006,58071],[31537,58041],[3164,58041],[31538,58074],[2964,58074],[5484,58074],[11628,58074],[3635,58074],[3601,57351],[2867,57351],[2868,57351],[3599,57339],[2863,57339],[7182,57335],[2857,57335],[2858,57335],[2859,57335],[2860,57335],[2861,57335],[2862,57335],[3603,57335],[6977,57355],[2869,57355],[2870,57355],[5594,57355],[2871,57355],[2872,57355],[2873,57355],[17647,57363],[6103,57363],[3391,57363],[3392,57363],[2881,57363],[2882,57363],[3600,57347],[2864,57347],[2865,57347],[2866,57347],[3955,57347],[18997,57371],[2883,57371],[2884,57371],[17157,57371],[8746,57371],[9890,57371],[2885,57371],[2886,57371],[2887,57371],[6104,57371],[3604,57371],[3676,57371],[9949,57375],[2888,57375],[2889,57375],[4333,57359],[2874,57359],[2875,57359],[2876,57359],[2877,57359],[2878,57359],[2879,57359],[2880,57359],[7556,57359],[11281,57379],[2890,57379],[3605,57379],[34435,57367],[3956,57367],[2855,57331],[2856,57331],[3602,57331],[11293,57343],"isSorted","pinning",{"_8786":67407},[]] diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/allclasses-index.html b/content/apidocs/zookeeper-jute/allclasses-index.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/allclasses-index.html rename to content/apidocs/zookeeper-jute/allclasses-index.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/allclasses.html b/content/apidocs/zookeeper-jute/allclasses.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/allclasses.html rename to content/apidocs/zookeeper-jute/allclasses.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/allpackages-index.html b/content/apidocs/zookeeper-jute/allpackages-index.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/allpackages-index.html rename to content/apidocs/zookeeper-jute/allpackages-index.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/constant-values.html b/content/apidocs/zookeeper-jute/constant-values.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/constant-values.html rename to content/apidocs/zookeeper-jute/constant-values.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/deprecated-list.html b/content/apidocs/zookeeper-jute/deprecated-list.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/deprecated-list.html rename to content/apidocs/zookeeper-jute/deprecated-list.html diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/element-list b/content/apidocs/zookeeper-jute/element-list similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/element-list rename to content/apidocs/zookeeper-jute/element-list diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/help-doc.html b/content/apidocs/zookeeper-jute/help-doc.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/help-doc.html rename to content/apidocs/zookeeper-jute/help-doc.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/index-all.html b/content/apidocs/zookeeper-jute/index-all.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/index-all.html rename to content/apidocs/zookeeper-jute/index-all.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/index.html b/content/apidocs/zookeeper-jute/index.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/index.html rename to content/apidocs/zookeeper-jute/index.html diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/external/jquery/jquery.js b/content/apidocs/zookeeper-jute/jquery/external/jquery/jquery.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/external/jquery/jquery.js rename to content/apidocs/zookeeper-jute/jquery/external/jquery/jquery.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png b/content/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png rename to content/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_65_dadada_1x400.png b/content/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_65_dadada_1x400.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_65_dadada_1x400.png rename to content/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_65_dadada_1x400.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_75_dadada_1x400.png b/content/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_75_dadada_1x400.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_75_dadada_1x400.png rename to content/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_75_dadada_1x400.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png b/content/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png rename to content/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_95_fef1ec_1x400.png b/content/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_95_fef1ec_1x400.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_95_fef1ec_1x400.png rename to content/apidocs/zookeeper-jute/jquery/images/ui-bg_glass_95_fef1ec_1x400.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/content/apidocs/zookeeper-jute/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png rename to content/apidocs/zookeeper-jute/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-icons_222222_256x240.png b/content/apidocs/zookeeper-jute/jquery/images/ui-icons_222222_256x240.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-icons_222222_256x240.png rename to content/apidocs/zookeeper-jute/jquery/images/ui-icons_222222_256x240.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-icons_2e83ff_256x240.png b/content/apidocs/zookeeper-jute/jquery/images/ui-icons_2e83ff_256x240.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-icons_2e83ff_256x240.png rename to content/apidocs/zookeeper-jute/jquery/images/ui-icons_2e83ff_256x240.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-icons_454545_256x240.png b/content/apidocs/zookeeper-jute/jquery/images/ui-icons_454545_256x240.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-icons_454545_256x240.png rename to content/apidocs/zookeeper-jute/jquery/images/ui-icons_454545_256x240.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-icons_888888_256x240.png b/content/apidocs/zookeeper-jute/jquery/images/ui-icons_888888_256x240.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-icons_888888_256x240.png rename to content/apidocs/zookeeper-jute/jquery/images/ui-icons_888888_256x240.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-icons_cd0a0a_256x240.png b/content/apidocs/zookeeper-jute/jquery/images/ui-icons_cd0a0a_256x240.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/images/ui-icons_cd0a0a_256x240.png rename to content/apidocs/zookeeper-jute/jquery/images/ui-icons_cd0a0a_256x240.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-3.5.1.js b/content/apidocs/zookeeper-jute/jquery/jquery-3.5.1.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-3.5.1.js rename to content/apidocs/zookeeper-jute/jquery/jquery-3.5.1.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.css b/content/apidocs/zookeeper-jute/jquery/jquery-ui.css similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.css rename to content/apidocs/zookeeper-jute/jquery/jquery-ui.css diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.js b/content/apidocs/zookeeper-jute/jquery/jquery-ui.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.js rename to content/apidocs/zookeeper-jute/jquery/jquery-ui.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.min.css b/content/apidocs/zookeeper-jute/jquery/jquery-ui.min.css similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.min.css rename to content/apidocs/zookeeper-jute/jquery/jquery-ui.min.css diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.min.js b/content/apidocs/zookeeper-jute/jquery/jquery-ui.min.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.min.js rename to content/apidocs/zookeeper-jute/jquery/jquery-ui.min.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.structure.css b/content/apidocs/zookeeper-jute/jquery/jquery-ui.structure.css similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.structure.css rename to content/apidocs/zookeeper-jute/jquery/jquery-ui.structure.css diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.structure.min.css b/content/apidocs/zookeeper-jute/jquery/jquery-ui.structure.min.css similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jquery-ui.structure.min.css rename to content/apidocs/zookeeper-jute/jquery/jquery-ui.structure.min.css diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils-ie.js b/content/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils-ie.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils-ie.js rename to content/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils-ie.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils-ie.min.js b/content/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils-ie.min.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils-ie.min.js rename to content/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils-ie.min.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils.js b/content/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils.js rename to content/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils.min.js b/content/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils.min.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils.min.js rename to content/apidocs/zookeeper-jute/jquery/jszip-utils/dist/jszip-utils.min.js diff --git a/content/doc/r3.8.4/apidocs/zookeeper-jute/jquery/jszip/dist/jszip.js b/content/apidocs/zookeeper-jute/jquery/jszip/dist/jszip.js similarity index 100% rename from content/doc/r3.8.4/apidocs/zookeeper-jute/jquery/jszip/dist/jszip.js rename to content/apidocs/zookeeper-jute/jquery/jszip/dist/jszip.js diff --git a/content/doc/r3.8.4/apidocs/zookeeper-jute/jquery/jszip/dist/jszip.min.js b/content/apidocs/zookeeper-jute/jquery/jszip/dist/jszip.min.js similarity index 100% rename from content/doc/r3.8.4/apidocs/zookeeper-jute/jquery/jszip/dist/jszip.min.js rename to content/apidocs/zookeeper-jute/jquery/jszip/dist/jszip.min.js diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/member-search-index.js b/content/apidocs/zookeeper-jute/member-search-index.js similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/member-search-index.js rename to content/apidocs/zookeeper-jute/member-search-index.js diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/member-search-index.zip b/content/apidocs/zookeeper-jute/member-search-index.zip similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/member-search-index.zip rename to content/apidocs/zookeeper-jute/member-search-index.zip diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/BinaryInputArchive.html b/content/apidocs/zookeeper-jute/org/apache/jute/BinaryInputArchive.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/BinaryInputArchive.html rename to content/apidocs/zookeeper-jute/org/apache/jute/BinaryInputArchive.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/BinaryOutputArchive.html b/content/apidocs/zookeeper-jute/org/apache/jute/BinaryOutputArchive.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/BinaryOutputArchive.html rename to content/apidocs/zookeeper-jute/org/apache/jute/BinaryOutputArchive.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/Index.html b/content/apidocs/zookeeper-jute/org/apache/jute/Index.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/Index.html rename to content/apidocs/zookeeper-jute/org/apache/jute/Index.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/InputArchive.html b/content/apidocs/zookeeper-jute/org/apache/jute/InputArchive.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/InputArchive.html rename to content/apidocs/zookeeper-jute/org/apache/jute/InputArchive.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/OutputArchive.html b/content/apidocs/zookeeper-jute/org/apache/jute/OutputArchive.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/OutputArchive.html rename to content/apidocs/zookeeper-jute/org/apache/jute/OutputArchive.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/Record.html b/content/apidocs/zookeeper-jute/org/apache/jute/Record.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/Record.html rename to content/apidocs/zookeeper-jute/org/apache/jute/Record.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/RecordReader.html b/content/apidocs/zookeeper-jute/org/apache/jute/RecordReader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/RecordReader.html rename to content/apidocs/zookeeper-jute/org/apache/jute/RecordReader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/RecordWriter.html b/content/apidocs/zookeeper-jute/org/apache/jute/RecordWriter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/RecordWriter.html rename to content/apidocs/zookeeper-jute/org/apache/jute/RecordWriter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/ToStringOutputArchive.html b/content/apidocs/zookeeper-jute/org/apache/jute/ToStringOutputArchive.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/ToStringOutputArchive.html rename to content/apidocs/zookeeper-jute/org/apache/jute/ToStringOutputArchive.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/Utils.html b/content/apidocs/zookeeper-jute/org/apache/jute/Utils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/Utils.html rename to content/apidocs/zookeeper-jute/org/apache/jute/Utils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/BinaryInputArchive.html b/content/apidocs/zookeeper-jute/org/apache/jute/class-use/BinaryInputArchive.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/BinaryInputArchive.html rename to content/apidocs/zookeeper-jute/org/apache/jute/class-use/BinaryInputArchive.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/BinaryOutputArchive.html b/content/apidocs/zookeeper-jute/org/apache/jute/class-use/BinaryOutputArchive.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/BinaryOutputArchive.html rename to content/apidocs/zookeeper-jute/org/apache/jute/class-use/BinaryOutputArchive.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/Index.html b/content/apidocs/zookeeper-jute/org/apache/jute/class-use/Index.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/Index.html rename to content/apidocs/zookeeper-jute/org/apache/jute/class-use/Index.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/InputArchive.html b/content/apidocs/zookeeper-jute/org/apache/jute/class-use/InputArchive.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/InputArchive.html rename to content/apidocs/zookeeper-jute/org/apache/jute/class-use/InputArchive.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/OutputArchive.html b/content/apidocs/zookeeper-jute/org/apache/jute/class-use/OutputArchive.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/OutputArchive.html rename to content/apidocs/zookeeper-jute/org/apache/jute/class-use/OutputArchive.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/Record.html b/content/apidocs/zookeeper-jute/org/apache/jute/class-use/Record.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/Record.html rename to content/apidocs/zookeeper-jute/org/apache/jute/class-use/Record.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/RecordReader.html b/content/apidocs/zookeeper-jute/org/apache/jute/class-use/RecordReader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/RecordReader.html rename to content/apidocs/zookeeper-jute/org/apache/jute/class-use/RecordReader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/RecordWriter.html b/content/apidocs/zookeeper-jute/org/apache/jute/class-use/RecordWriter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/RecordWriter.html rename to content/apidocs/zookeeper-jute/org/apache/jute/class-use/RecordWriter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/ToStringOutputArchive.html b/content/apidocs/zookeeper-jute/org/apache/jute/class-use/ToStringOutputArchive.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/ToStringOutputArchive.html rename to content/apidocs/zookeeper-jute/org/apache/jute/class-use/ToStringOutputArchive.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/Utils.html b/content/apidocs/zookeeper-jute/org/apache/jute/class-use/Utils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/class-use/Utils.html rename to content/apidocs/zookeeper-jute/org/apache/jute/class-use/Utils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/CSharpGenerator.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/CSharpGenerator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/CSharpGenerator.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/CSharpGenerator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JBoolean.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JBoolean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JBoolean.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JBoolean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JBuffer.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JBuffer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JBuffer.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JBuffer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JByte.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JByte.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JByte.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JByte.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JDouble.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JDouble.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JDouble.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JDouble.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JField.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JField.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JField.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JField.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JFile.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JFile.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JFile.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JFile.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JFloat.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JFloat.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JFloat.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JFloat.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JInt.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JInt.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JInt.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JInt.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JLong.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JLong.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JLong.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JLong.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JMap.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JMap.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JMap.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JMap.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JRecord.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JRecord.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JRecord.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JRecord.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JString.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JString.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JString.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JString.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JType.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JType.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JVector.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/JVector.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/JVector.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/JVector.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/CSharpGenerator.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/CSharpGenerator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/CSharpGenerator.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/CSharpGenerator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JBoolean.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JBoolean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JBoolean.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JBoolean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JBuffer.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JBuffer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JBuffer.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JBuffer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JByte.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JByte.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JByte.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JByte.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JDouble.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JDouble.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JDouble.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JDouble.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JField.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JField.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JField.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JField.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JFile.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JFile.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JFile.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JFile.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JFloat.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JFloat.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JFloat.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JFloat.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JInt.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JInt.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JInt.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JInt.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JLong.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JLong.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JLong.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JLong.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JMap.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JMap.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JMap.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JMap.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JRecord.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JRecord.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JRecord.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JRecord.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JString.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JString.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JString.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JString.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JType.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JType.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JVector.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JVector.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JVector.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/class-use/JVector.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/ParseException.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/ParseException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/ParseException.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/ParseException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/Rcc.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/Rcc.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/Rcc.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/Rcc.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/RccConstants.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/RccConstants.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/RccConstants.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/RccConstants.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/RccTokenManager.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/RccTokenManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/RccTokenManager.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/RccTokenManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/SimpleCharStream.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/SimpleCharStream.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/SimpleCharStream.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/SimpleCharStream.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/Token.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/Token.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/Token.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/Token.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/TokenMgrError.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/TokenMgrError.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/TokenMgrError.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/TokenMgrError.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/ParseException.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/ParseException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/ParseException.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/ParseException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/Rcc.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/Rcc.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/Rcc.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/Rcc.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/RccConstants.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/RccConstants.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/RccConstants.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/RccConstants.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/RccTokenManager.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/RccTokenManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/RccTokenManager.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/RccTokenManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/SimpleCharStream.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/SimpleCharStream.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/SimpleCharStream.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/SimpleCharStream.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/Token.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/Token.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/Token.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/Token.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/TokenMgrError.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/TokenMgrError.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/TokenMgrError.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/class-use/TokenMgrError.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-summary.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-summary.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-tree.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-tree.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-use.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-use.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/generated/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/package-summary.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/package-summary.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/package-tree.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/package-tree.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/package-use.html b/content/apidocs/zookeeper-jute/org/apache/jute/compiler/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/compiler/package-use.html rename to content/apidocs/zookeeper-jute/org/apache/jute/compiler/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/package-summary.html b/content/apidocs/zookeeper-jute/org/apache/jute/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/package-summary.html rename to content/apidocs/zookeeper-jute/org/apache/jute/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/package-tree.html b/content/apidocs/zookeeper-jute/org/apache/jute/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/package-tree.html rename to content/apidocs/zookeeper-jute/org/apache/jute/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/package-use.html b/content/apidocs/zookeeper-jute/org/apache/jute/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/jute/package-use.html rename to content/apidocs/zookeeper-jute/org/apache/jute/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/ACL.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/ACL.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/ACL.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/ACL.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/ClientInfo.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/ClientInfo.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/ClientInfo.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/ClientInfo.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/Id.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/Id.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/Id.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/Id.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/Stat.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/Stat.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/Stat.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/Stat.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/StatPersisted.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/StatPersisted.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/StatPersisted.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/StatPersisted.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/ACL.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/ACL.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/ACL.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/ACL.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/ClientInfo.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/ClientInfo.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/ClientInfo.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/ClientInfo.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/Id.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/Id.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/Id.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/Id.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/Stat.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/Stat.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/Stat.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/Stat.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/StatPersisted.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/StatPersisted.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/StatPersisted.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/class-use/StatPersisted.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-summary.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-summary.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-tree.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-tree.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-use.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-use.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/data/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/AddWatchRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/AddWatchRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/AddWatchRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/AddWatchRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/AuthPacket.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/AuthPacket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/AuthPacket.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/AuthPacket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CheckVersionRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CheckVersionRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CheckVersionRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CheckVersionRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CheckWatchesRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CheckWatchesRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CheckWatchesRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CheckWatchesRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ConnectRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ConnectRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ConnectRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ConnectRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ConnectResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ConnectResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ConnectResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ConnectResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/Create2Response.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/Create2Response.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/Create2Response.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/Create2Response.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateTTLRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateTTLRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateTTLRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/CreateTTLRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/DeleteRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/DeleteRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/DeleteRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/DeleteRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ErrorResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ErrorResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ErrorResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ErrorResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ExistsRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ExistsRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ExistsRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ExistsRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ExistsResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ExistsResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ExistsResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ExistsResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetACLRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetACLRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetACLRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetACLRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetACLResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetACLResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetACLResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetACLResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetAllChildrenNumberRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetAllChildrenNumberRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetAllChildrenNumberRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetAllChildrenNumberRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetAllChildrenNumberResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetAllChildrenNumberResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetAllChildrenNumberResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetAllChildrenNumberResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildren2Request.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildren2Request.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildren2Request.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildren2Request.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildren2Response.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildren2Response.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildren2Response.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildren2Response.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildrenRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildrenRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildrenRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildrenRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildrenResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildrenResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildrenResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetChildrenResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetDataRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetDataRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetDataRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetDataRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetDataResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetDataResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetDataResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetDataResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetEphemeralsRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetEphemeralsRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetEphemeralsRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetEphemeralsRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetEphemeralsResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetEphemeralsResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetEphemeralsResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetEphemeralsResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetMaxChildrenRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetMaxChildrenRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetMaxChildrenRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetMaxChildrenRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetMaxChildrenResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetMaxChildrenResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetMaxChildrenResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetMaxChildrenResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetSASLRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetSASLRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetSASLRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/GetSASLRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/MultiHeader.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/MultiHeader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/MultiHeader.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/MultiHeader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ReconfigRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ReconfigRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ReconfigRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ReconfigRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/RemoveWatchesRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/RemoveWatchesRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/RemoveWatchesRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/RemoveWatchesRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ReplyHeader.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ReplyHeader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ReplyHeader.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/ReplyHeader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/RequestHeader.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/RequestHeader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/RequestHeader.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/RequestHeader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetACLRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetACLRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetACLRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetACLRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetACLResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetACLResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetACLResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetACLResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetDataRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetDataRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetDataRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetDataRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetDataResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetDataResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetDataResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetDataResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetMaxChildrenRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetMaxChildrenRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetMaxChildrenRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetMaxChildrenRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetSASLRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetSASLRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetSASLRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetSASLRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetSASLResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetSASLResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetSASLResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetSASLResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetWatches.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetWatches.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetWatches.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetWatches.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetWatches2.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetWatches2.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetWatches2.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SetWatches2.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SyncRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SyncRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SyncRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SyncRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SyncResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SyncResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SyncResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/SyncResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/WatcherEvent.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/WatcherEvent.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/WatcherEvent.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/WatcherEvent.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/WhoAmIResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/WhoAmIResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/WhoAmIResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/WhoAmIResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/AddWatchRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/AddWatchRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/AddWatchRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/AddWatchRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/AuthPacket.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/AuthPacket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/AuthPacket.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/AuthPacket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CheckVersionRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CheckVersionRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CheckVersionRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CheckVersionRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CheckWatchesRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CheckWatchesRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CheckWatchesRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CheckWatchesRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ConnectRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ConnectRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ConnectRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ConnectRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ConnectResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ConnectResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ConnectResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ConnectResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/Create2Response.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/Create2Response.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/Create2Response.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/Create2Response.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateTTLRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateTTLRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateTTLRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/CreateTTLRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/DeleteRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/DeleteRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/DeleteRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/DeleteRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ErrorResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ErrorResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ErrorResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ErrorResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ExistsRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ExistsRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ExistsRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ExistsRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ExistsResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ExistsResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ExistsResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ExistsResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetACLRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetACLRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetACLRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetACLRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetACLResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetACLResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetACLResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetACLResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetAllChildrenNumberRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetAllChildrenNumberRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetAllChildrenNumberRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetAllChildrenNumberRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetAllChildrenNumberResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetAllChildrenNumberResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetAllChildrenNumberResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetAllChildrenNumberResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildren2Request.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildren2Request.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildren2Request.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildren2Request.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildren2Response.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildren2Response.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildren2Response.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildren2Response.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildrenRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildrenRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildrenRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildrenRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildrenResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildrenResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildrenResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetChildrenResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetDataRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetDataRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetDataRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetDataRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetDataResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetDataResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetDataResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetDataResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetEphemeralsRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetEphemeralsRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetEphemeralsRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetEphemeralsRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetEphemeralsResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetEphemeralsResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetEphemeralsResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetEphemeralsResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetMaxChildrenRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetMaxChildrenRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetMaxChildrenRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetMaxChildrenRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetMaxChildrenResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetMaxChildrenResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetMaxChildrenResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetMaxChildrenResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetSASLRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetSASLRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetSASLRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/GetSASLRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/MultiHeader.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/MultiHeader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/MultiHeader.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/MultiHeader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ReconfigRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ReconfigRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ReconfigRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ReconfigRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/RemoveWatchesRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/RemoveWatchesRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/RemoveWatchesRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/RemoveWatchesRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ReplyHeader.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ReplyHeader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ReplyHeader.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/ReplyHeader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/RequestHeader.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/RequestHeader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/RequestHeader.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/RequestHeader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetACLRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetACLRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetACLRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetACLRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetACLResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetACLResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetACLResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetACLResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetDataRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetDataRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetDataRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetDataRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetDataResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetDataResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetDataResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetDataResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetMaxChildrenRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetMaxChildrenRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetMaxChildrenRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetMaxChildrenRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetSASLRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetSASLRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetSASLRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetSASLRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetSASLResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetSASLResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetSASLResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetSASLResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetWatches.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetWatches.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetWatches.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetWatches.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetWatches2.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetWatches2.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetWatches2.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SetWatches2.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SyncRequest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SyncRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SyncRequest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SyncRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SyncResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SyncResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SyncResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/SyncResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/WatcherEvent.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/WatcherEvent.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/WatcherEvent.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/WatcherEvent.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/WhoAmIResponse.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/WhoAmIResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/WhoAmIResponse.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/class-use/WhoAmIResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-summary.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-summary.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-tree.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-tree.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-use.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-use.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/proto/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/FileHeader.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/FileHeader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/FileHeader.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/FileHeader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/class-use/FileHeader.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/class-use/FileHeader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/class-use/FileHeader.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/class-use/FileHeader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-summary.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-summary.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-tree.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-tree.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-use.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-use.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/persistence/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/LearnerInfo.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/LearnerInfo.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/LearnerInfo.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/LearnerInfo.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/QuorumAuthPacket.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/QuorumAuthPacket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/QuorumAuthPacket.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/QuorumAuthPacket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/QuorumPacket.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/QuorumPacket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/QuorumPacket.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/QuorumPacket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/LearnerInfo.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/LearnerInfo.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/LearnerInfo.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/LearnerInfo.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/QuorumAuthPacket.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/QuorumAuthPacket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/QuorumAuthPacket.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/QuorumAuthPacket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/QuorumPacket.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/QuorumPacket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/QuorumPacket.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/class-use/QuorumPacket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-summary.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-summary.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-tree.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-tree.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-use.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-use.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/server/quorum/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CheckVersionTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CheckVersionTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CheckVersionTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CheckVersionTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CloseSessionTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CloseSessionTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CloseSessionTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CloseSessionTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateContainerTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateContainerTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateContainerTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateContainerTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateSessionTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateSessionTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateSessionTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateSessionTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTTLTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTTLTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTTLTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTTLTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTxnV0.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTxnV0.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTxnV0.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/CreateTxnV0.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/DeleteTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/DeleteTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/DeleteTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/DeleteTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/ErrorTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/ErrorTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/ErrorTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/ErrorTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/MultiTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/MultiTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/MultiTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/MultiTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetACLTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetACLTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetACLTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetACLTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetDataTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetDataTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetDataTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetDataTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetMaxChildrenTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetMaxChildrenTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetMaxChildrenTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/SetMaxChildrenTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/Txn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/Txn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/Txn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/Txn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/TxnDigest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/TxnDigest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/TxnDigest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/TxnDigest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/TxnHeader.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/TxnHeader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/TxnHeader.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/TxnHeader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CheckVersionTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CheckVersionTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CheckVersionTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CheckVersionTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CloseSessionTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CloseSessionTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CloseSessionTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CloseSessionTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateContainerTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateContainerTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateContainerTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateContainerTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateSessionTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateSessionTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateSessionTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateSessionTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTTLTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTTLTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTTLTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTTLTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTxnV0.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTxnV0.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTxnV0.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/CreateTxnV0.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/DeleteTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/DeleteTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/DeleteTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/DeleteTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/ErrorTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/ErrorTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/ErrorTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/ErrorTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/MultiTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/MultiTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/MultiTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/MultiTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetACLTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetACLTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetACLTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetACLTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetDataTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetDataTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetDataTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetDataTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetMaxChildrenTxn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetMaxChildrenTxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetMaxChildrenTxn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/SetMaxChildrenTxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/Txn.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/Txn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/Txn.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/Txn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/TxnDigest.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/TxnDigest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/TxnDigest.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/TxnDigest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/TxnHeader.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/TxnHeader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/TxnHeader.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/class-use/TxnHeader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-summary.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-summary.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-tree.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-tree.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-use.html b/content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-use.html rename to content/apidocs/zookeeper-jute/org/apache/zookeeper/txn/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/overview-summary.html b/content/apidocs/zookeeper-jute/overview-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/overview-summary.html rename to content/apidocs/zookeeper-jute/overview-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/overview-tree.html b/content/apidocs/zookeeper-jute/overview-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/overview-tree.html rename to content/apidocs/zookeeper-jute/overview-tree.html diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/package-search-index.js b/content/apidocs/zookeeper-jute/package-search-index.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/package-search-index.js rename to content/apidocs/zookeeper-jute/package-search-index.js diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/package-search-index.zip b/content/apidocs/zookeeper-jute/package-search-index.zip similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/package-search-index.zip rename to content/apidocs/zookeeper-jute/package-search-index.zip diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/resources/glass.png b/content/apidocs/zookeeper-jute/resources/glass.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/resources/glass.png rename to content/apidocs/zookeeper-jute/resources/glass.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/resources/x.png b/content/apidocs/zookeeper-jute/resources/x.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/resources/x.png rename to content/apidocs/zookeeper-jute/resources/x.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/script.js b/content/apidocs/zookeeper-jute/script.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/script.js rename to content/apidocs/zookeeper-jute/script.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/search.js b/content/apidocs/zookeeper-jute/search.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/search.js rename to content/apidocs/zookeeper-jute/search.js diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/serialized-form.html b/content/apidocs/zookeeper-jute/serialized-form.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/serialized-form.html rename to content/apidocs/zookeeper-jute/serialized-form.html diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/stylesheet.css b/content/apidocs/zookeeper-jute/stylesheet.css similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/stylesheet.css rename to content/apidocs/zookeeper-jute/stylesheet.css diff --git a/content/doc/r3.7.2/apidocs/zookeeper-jute/type-search-index.js b/content/apidocs/zookeeper-jute/type-search-index.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-jute/type-search-index.js rename to content/apidocs/zookeeper-jute/type-search-index.js diff --git a/content/doc/r3.9.5/apidocs/zookeeper-jute/type-search-index.zip b/content/apidocs/zookeeper-jute/type-search-index.zip similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-jute/type-search-index.zip rename to content/apidocs/zookeeper-jute/type-search-index.zip diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/allclasses-index.html b/content/apidocs/zookeeper-server/allclasses-index.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/allclasses-index.html rename to content/apidocs/zookeeper-server/allclasses-index.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/allclasses.html b/content/apidocs/zookeeper-server/allclasses.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/allclasses.html rename to content/apidocs/zookeeper-server/allclasses.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/allpackages-index.html b/content/apidocs/zookeeper-server/allpackages-index.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/allpackages-index.html rename to content/apidocs/zookeeper-server/allpackages-index.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/constant-values.html b/content/apidocs/zookeeper-server/constant-values.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/constant-values.html rename to content/apidocs/zookeeper-server/constant-values.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/deprecated-list.html b/content/apidocs/zookeeper-server/deprecated-list.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/deprecated-list.html rename to content/apidocs/zookeeper-server/deprecated-list.html diff --git a/content/doc/r3.9.0/apidocs/zookeeper-server/element-list b/content/apidocs/zookeeper-server/element-list similarity index 100% rename from content/doc/r3.9.0/apidocs/zookeeper-server/element-list rename to content/apidocs/zookeeper-server/element-list diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/help-doc.html b/content/apidocs/zookeeper-server/help-doc.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/help-doc.html rename to content/apidocs/zookeeper-server/help-doc.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/index-all.html b/content/apidocs/zookeeper-server/index-all.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/index-all.html rename to content/apidocs/zookeeper-server/index-all.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/index.html b/content/apidocs/zookeeper-server/index.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/index.html rename to content/apidocs/zookeeper-server/index.html diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/external/jquery/jquery.js b/content/apidocs/zookeeper-server/jquery/external/jquery/jquery.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/external/jquery/jquery.js rename to content/apidocs/zookeeper-server/jquery/external/jquery/jquery.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png b/content/apidocs/zookeeper-server/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png rename to content/apidocs/zookeeper-server/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_glass_65_dadada_1x400.png b/content/apidocs/zookeeper-server/jquery/images/ui-bg_glass_65_dadada_1x400.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_glass_65_dadada_1x400.png rename to content/apidocs/zookeeper-server/jquery/images/ui-bg_glass_65_dadada_1x400.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_glass_75_dadada_1x400.png b/content/apidocs/zookeeper-server/jquery/images/ui-bg_glass_75_dadada_1x400.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_glass_75_dadada_1x400.png rename to content/apidocs/zookeeper-server/jquery/images/ui-bg_glass_75_dadada_1x400.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png b/content/apidocs/zookeeper-server/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png rename to content/apidocs/zookeeper-server/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_glass_95_fef1ec_1x400.png b/content/apidocs/zookeeper-server/jquery/images/ui-bg_glass_95_fef1ec_1x400.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_glass_95_fef1ec_1x400.png rename to content/apidocs/zookeeper-server/jquery/images/ui-bg_glass_95_fef1ec_1x400.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/content/apidocs/zookeeper-server/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png rename to content/apidocs/zookeeper-server/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-icons_222222_256x240.png b/content/apidocs/zookeeper-server/jquery/images/ui-icons_222222_256x240.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-icons_222222_256x240.png rename to content/apidocs/zookeeper-server/jquery/images/ui-icons_222222_256x240.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-icons_2e83ff_256x240.png b/content/apidocs/zookeeper-server/jquery/images/ui-icons_2e83ff_256x240.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-icons_2e83ff_256x240.png rename to content/apidocs/zookeeper-server/jquery/images/ui-icons_2e83ff_256x240.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-icons_454545_256x240.png b/content/apidocs/zookeeper-server/jquery/images/ui-icons_454545_256x240.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-icons_454545_256x240.png rename to content/apidocs/zookeeper-server/jquery/images/ui-icons_454545_256x240.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-icons_888888_256x240.png b/content/apidocs/zookeeper-server/jquery/images/ui-icons_888888_256x240.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-icons_888888_256x240.png rename to content/apidocs/zookeeper-server/jquery/images/ui-icons_888888_256x240.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-icons_cd0a0a_256x240.png b/content/apidocs/zookeeper-server/jquery/images/ui-icons_cd0a0a_256x240.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/images/ui-icons_cd0a0a_256x240.png rename to content/apidocs/zookeeper-server/jquery/images/ui-icons_cd0a0a_256x240.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-3.5.1.js b/content/apidocs/zookeeper-server/jquery/jquery-3.5.1.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-3.5.1.js rename to content/apidocs/zookeeper-server/jquery/jquery-3.5.1.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.css b/content/apidocs/zookeeper-server/jquery/jquery-ui.css similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.css rename to content/apidocs/zookeeper-server/jquery/jquery-ui.css diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.js b/content/apidocs/zookeeper-server/jquery/jquery-ui.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.js rename to content/apidocs/zookeeper-server/jquery/jquery-ui.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.min.css b/content/apidocs/zookeeper-server/jquery/jquery-ui.min.css similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.min.css rename to content/apidocs/zookeeper-server/jquery/jquery-ui.min.css diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.min.js b/content/apidocs/zookeeper-server/jquery/jquery-ui.min.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.min.js rename to content/apidocs/zookeeper-server/jquery/jquery-ui.min.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.structure.css b/content/apidocs/zookeeper-server/jquery/jquery-ui.structure.css similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.structure.css rename to content/apidocs/zookeeper-server/jquery/jquery-ui.structure.css diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.structure.min.css b/content/apidocs/zookeeper-server/jquery/jquery-ui.structure.min.css similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jquery-ui.structure.min.css rename to content/apidocs/zookeeper-server/jquery/jquery-ui.structure.min.css diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils-ie.js b/content/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils-ie.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils-ie.js rename to content/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils-ie.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils-ie.min.js b/content/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils-ie.min.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils-ie.min.js rename to content/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils-ie.min.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils.js b/content/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils.js rename to content/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils.min.js b/content/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils.min.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils.min.js rename to content/apidocs/zookeeper-server/jquery/jszip-utils/dist/jszip-utils.min.js diff --git a/content/doc/r3.8.4/apidocs/zookeeper-server/jquery/jszip/dist/jszip.js b/content/apidocs/zookeeper-server/jquery/jszip/dist/jszip.js similarity index 100% rename from content/doc/r3.8.4/apidocs/zookeeper-server/jquery/jszip/dist/jszip.js rename to content/apidocs/zookeeper-server/jquery/jszip/dist/jszip.js diff --git a/content/doc/r3.8.4/apidocs/zookeeper-server/jquery/jszip/dist/jszip.min.js b/content/apidocs/zookeeper-server/jquery/jszip/dist/jszip.min.js similarity index 100% rename from content/doc/r3.8.4/apidocs/zookeeper-server/jquery/jszip/dist/jszip.min.js rename to content/apidocs/zookeeper-server/jquery/jszip/dist/jszip.min.js diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/member-search-index.js b/content/apidocs/zookeeper-server/member-search-index.js similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/member-search-index.js rename to content/apidocs/zookeeper-server/member-search-index.js diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/member-search-index.zip b/content/apidocs/zookeeper-server/member-search-index.zip similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/member-search-index.zip rename to content/apidocs/zookeeper-server/member-search-index.zip diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AddWatchMode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AddWatchMode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AddWatchMode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AddWatchMode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.ACLCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.ACLCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.ACLCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.ACLCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.AllChildrenNumberCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.AllChildrenNumberCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.AllChildrenNumberCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.AllChildrenNumberCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.Children2Callback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.Children2Callback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.Children2Callback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.Children2Callback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.ChildrenCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.ChildrenCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.ChildrenCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.ChildrenCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.Create2Callback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.Create2Callback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.Create2Callback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.Create2Callback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.DataCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.DataCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.DataCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.DataCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.EphemeralsCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.EphemeralsCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.EphemeralsCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.EphemeralsCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.MultiCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.MultiCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.MultiCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.MultiCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.StatCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.StatCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.StatCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.StatCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.StringCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.StringCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.StringCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.StringCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.VoidCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.VoidCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.VoidCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.VoidCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/AsyncCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxn.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxn.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxnSocketNIO.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxnSocketNIO.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxnSocketNIO.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxnSocketNIO.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxnSocketNetty.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxnSocketNetty.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxnSocketNetty.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ClientCnxnSocketNetty.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ClientWatchManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ClientWatchManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ClientWatchManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ClientWatchManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/CreateMode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/CreateMode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/CreateMode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/CreateMode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/CreateOptions.Builder.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/CreateOptions.Builder.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/CreateOptions.Builder.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/CreateOptions.Builder.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/CreateOptions.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/CreateOptions.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/CreateOptions.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/CreateOptions.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/DeleteContainerRequest.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/DeleteContainerRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/DeleteContainerRequest.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/DeleteContainerRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/DigestWatcher.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/DigestWatcher.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/DigestWatcher.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/DigestWatcher.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Environment.Entry.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Environment.Entry.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Environment.Entry.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Environment.Entry.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Environment.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Environment.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Environment.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Environment.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.APIErrorException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.APIErrorException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.APIErrorException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.APIErrorException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.AuthFailedException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.AuthFailedException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.AuthFailedException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.AuthFailedException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.BadArgumentsException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.BadArgumentsException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.BadArgumentsException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.BadArgumentsException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.BadVersionException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.BadVersionException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.BadVersionException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.BadVersionException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.Code.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.Code.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.Code.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.Code.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.CodeDeprecated.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.CodeDeprecated.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.CodeDeprecated.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.CodeDeprecated.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ConnectionLossException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ConnectionLossException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ConnectionLossException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ConnectionLossException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.DataInconsistencyException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.DataInconsistencyException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.DataInconsistencyException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.DataInconsistencyException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.EphemeralOnLocalSessionException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.EphemeralOnLocalSessionException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.EphemeralOnLocalSessionException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.EphemeralOnLocalSessionException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.InvalidACLException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.InvalidACLException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.InvalidACLException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.InvalidACLException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.InvalidCallbackException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.InvalidCallbackException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.InvalidCallbackException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.InvalidCallbackException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.MarshallingErrorException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.MarshallingErrorException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.MarshallingErrorException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.MarshallingErrorException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NewConfigNoQuorum.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NewConfigNoQuorum.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NewConfigNoQuorum.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NewConfigNoQuorum.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoAuthException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoAuthException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoAuthException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoAuthException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoChildrenForEphemeralsException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoChildrenForEphemeralsException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoChildrenForEphemeralsException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoChildrenForEphemeralsException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoNodeException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoNodeException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoNodeException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoNodeException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoWatcherException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoWatcherException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoWatcherException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NoWatcherException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NodeExistsException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NodeExistsException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NodeExistsException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NodeExistsException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NotEmptyException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NotEmptyException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NotEmptyException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NotEmptyException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NotReadOnlyException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NotReadOnlyException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NotReadOnlyException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.NotReadOnlyException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.OperationTimeoutException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.OperationTimeoutException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.OperationTimeoutException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.OperationTimeoutException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.QuotaExceededException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.QuotaExceededException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.QuotaExceededException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.QuotaExceededException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ReconfigDisabledException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ReconfigDisabledException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ReconfigDisabledException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ReconfigDisabledException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ReconfigInProgress.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ReconfigInProgress.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ReconfigInProgress.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ReconfigInProgress.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.RequestTimeoutException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.RequestTimeoutException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.RequestTimeoutException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.RequestTimeoutException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.RuntimeInconsistencyException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.RuntimeInconsistencyException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.RuntimeInconsistencyException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.RuntimeInconsistencyException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionClosedRequireAuthException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionClosedRequireAuthException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionClosedRequireAuthException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionClosedRequireAuthException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionExpiredException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionExpiredException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionExpiredException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionExpiredException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionMovedException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionMovedException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionMovedException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SessionMovedException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SystemErrorException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SystemErrorException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SystemErrorException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.SystemErrorException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ThrottledOpException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ThrottledOpException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ThrottledOpException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.ThrottledOpException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.UnimplementedException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.UnimplementedException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.UnimplementedException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.UnimplementedException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.UnknownSessionException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.UnknownSessionException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.UnknownSessionException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.UnknownSessionException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/KeeperException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Login.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Login.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Login.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Login.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/MultiOperationRecord.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/MultiOperationRecord.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/MultiOperationRecord.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/MultiOperationRecord.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/MultiResponse.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/MultiResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/MultiResponse.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/MultiResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.Check.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Op.Check.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.Check.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Op.Check.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.Create.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Op.Create.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.Create.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Op.Create.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.CreateTTL.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Op.CreateTTL.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.CreateTTL.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Op.CreateTTL.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.Delete.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Op.Delete.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.Delete.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Op.Delete.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.GetChildren.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Op.GetChildren.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.GetChildren.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Op.GetChildren.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.GetData.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Op.GetData.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.GetData.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Op.GetData.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.OpKind.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Op.OpKind.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.OpKind.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Op.OpKind.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.SetData.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Op.SetData.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.SetData.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Op.SetData.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Op.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Op.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Op.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.CheckResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.CheckResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.CheckResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.CheckResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.CreateResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.CreateResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.CreateResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.CreateResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.DeleteResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.DeleteResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.DeleteResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.DeleteResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.ErrorResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.ErrorResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.ErrorResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.ErrorResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.GetChildrenResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.GetChildrenResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.GetChildrenResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.GetChildrenResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.GetDataResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.GetDataResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.GetDataResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.GetDataResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.SetDataResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.SetDataResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.SetDataResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.SetDataResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/OpResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Quotas.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Quotas.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Quotas.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Quotas.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/SaslClientCallbackHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/SaslClientCallbackHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/SaslClientCallbackHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/SaslClientCallbackHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/SaslServerPrincipal.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/SaslServerPrincipal.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/SaslServerPrincipal.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/SaslServerPrincipal.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ServerAdminClient.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ServerAdminClient.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ServerAdminClient.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ServerAdminClient.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Shell.ExitCodeException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Shell.ExitCodeException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Shell.ExitCodeException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Shell.ExitCodeException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Shell.ShellCommandExecutor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Shell.ShellCommandExecutor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Shell.ShellCommandExecutor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Shell.ShellCommandExecutor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Shell.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Shell.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Shell.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Shell.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/StatsTrack.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/StatsTrack.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/StatsTrack.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/StatsTrack.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Testable.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Testable.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Testable.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Testable.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Transaction.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Transaction.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Transaction.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Transaction.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Version.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Version.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Version.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Version.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/WatchDeregistration.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/WatchDeregistration.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/WatchDeregistration.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/WatchDeregistration.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/WatchedEvent.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/WatchedEvent.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/WatchedEvent.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/WatchedEvent.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.EventType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.EventType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.EventType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.EventType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.KeeperState.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.KeeperState.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.KeeperState.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.KeeperState.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.Event.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.WatcherType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.WatcherType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.WatcherType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.WatcherType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/Watcher.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZKUtil.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ZKUtil.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZKUtil.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ZKUtil.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.AddWatchModes.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.AddWatchModes.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.AddWatchModes.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.AddWatchModes.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.Ids.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.Ids.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.Ids.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.Ids.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.OpCode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.OpCode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.OpCode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.OpCode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.Perms.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.Perms.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.Perms.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.Perms.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ZooDefs.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.States.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.States.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.States.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.States.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.WatchRegistration.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.WatchRegistration.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.WatchRegistration.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.WatchRegistration.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeperMain.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeperMain.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeperMain.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeperMain.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZookeeperBanner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/ZookeeperBanner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZookeeperBanner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/ZookeeperBanner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/admin/ZooKeeperAdmin.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/admin/ZooKeeperAdmin.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/admin/ZooKeeperAdmin.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/admin/ZooKeeperAdmin.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/admin/class-use/ZooKeeperAdmin.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/admin/class-use/ZooKeeperAdmin.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/admin/class-use/ZooKeeperAdmin.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/admin/class-use/ZooKeeperAdmin.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/admin/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditConstants.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditConstants.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditConstants.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditConstants.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.FieldName.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.FieldName.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.FieldName.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.FieldName.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.Result.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.Result.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.Result.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.Result.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditEvent.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditHelper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditHelper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditHelper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditHelper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditLogger.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditLogger.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditLogger.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/AuditLogger.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/Slf4jAuditLogger.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/Slf4jAuditLogger.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/Slf4jAuditLogger.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/Slf4jAuditLogger.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/ZKAuditProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/ZKAuditProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/ZKAuditProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/ZKAuditProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditConstants.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditConstants.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditConstants.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditConstants.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.FieldName.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.FieldName.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.FieldName.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.FieldName.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.Result.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.Result.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.Result.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.Result.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditEvent.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditHelper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditHelper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditHelper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditHelper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditLogger.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditLogger.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditLogger.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/AuditLogger.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/Slf4jAuditLogger.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/Slf4jAuditLogger.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/Slf4jAuditLogger.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/Slf4jAuditLogger.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/ZKAuditProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/ZKAuditProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/ZKAuditProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/class-use/ZKAuditProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/audit/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AddWatchMode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AddWatchMode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AddWatchMode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AddWatchMode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.ACLCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.ACLCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.ACLCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.ACLCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.AllChildrenNumberCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.AllChildrenNumberCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.AllChildrenNumberCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.AllChildrenNumberCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.Children2Callback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.Children2Callback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.Children2Callback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.Children2Callback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.ChildrenCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.ChildrenCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.ChildrenCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.ChildrenCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.Create2Callback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.Create2Callback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.Create2Callback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.Create2Callback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.DataCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.DataCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.DataCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.DataCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.EphemeralsCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.EphemeralsCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.EphemeralsCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.EphemeralsCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.MultiCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.MultiCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.MultiCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.MultiCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.StatCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.StatCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.StatCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.StatCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.StringCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.StringCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.StringCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.StringCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.VoidCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.VoidCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.VoidCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.VoidCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/AsyncCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxn.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxn.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxnSocketNIO.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxnSocketNIO.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxnSocketNIO.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxnSocketNIO.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxnSocketNetty.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxnSocketNetty.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxnSocketNetty.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientCnxnSocketNetty.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientWatchManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientWatchManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientWatchManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ClientWatchManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateMode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateMode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateMode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateMode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateOptions.Builder.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateOptions.Builder.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateOptions.Builder.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateOptions.Builder.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateOptions.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateOptions.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateOptions.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/CreateOptions.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/DeleteContainerRequest.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/DeleteContainerRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/DeleteContainerRequest.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/DeleteContainerRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/DigestWatcher.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/DigestWatcher.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/DigestWatcher.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/DigestWatcher.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Environment.Entry.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Environment.Entry.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Environment.Entry.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Environment.Entry.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Environment.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Environment.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Environment.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Environment.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.APIErrorException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.APIErrorException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.APIErrorException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.APIErrorException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.AuthFailedException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.AuthFailedException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.AuthFailedException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.AuthFailedException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.BadArgumentsException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.BadArgumentsException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.BadArgumentsException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.BadArgumentsException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.BadVersionException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.BadVersionException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.BadVersionException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.BadVersionException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.Code.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.Code.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.Code.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.Code.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.CodeDeprecated.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.CodeDeprecated.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.CodeDeprecated.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.CodeDeprecated.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ConnectionLossException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ConnectionLossException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ConnectionLossException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ConnectionLossException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.DataInconsistencyException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.DataInconsistencyException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.DataInconsistencyException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.DataInconsistencyException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.EphemeralOnLocalSessionException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.EphemeralOnLocalSessionException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.EphemeralOnLocalSessionException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.EphemeralOnLocalSessionException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.InvalidACLException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.InvalidACLException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.InvalidACLException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.InvalidACLException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.InvalidCallbackException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.InvalidCallbackException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.InvalidCallbackException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.InvalidCallbackException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.MarshallingErrorException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.MarshallingErrorException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.MarshallingErrorException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.MarshallingErrorException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NewConfigNoQuorum.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NewConfigNoQuorum.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NewConfigNoQuorum.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NewConfigNoQuorum.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoAuthException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoAuthException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoAuthException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoAuthException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoChildrenForEphemeralsException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoChildrenForEphemeralsException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoChildrenForEphemeralsException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoChildrenForEphemeralsException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoNodeException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoNodeException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoNodeException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoNodeException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoWatcherException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoWatcherException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoWatcherException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NoWatcherException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NodeExistsException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NodeExistsException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NodeExistsException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NodeExistsException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NotEmptyException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NotEmptyException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NotEmptyException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NotEmptyException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NotReadOnlyException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NotReadOnlyException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NotReadOnlyException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.NotReadOnlyException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.OperationTimeoutException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.OperationTimeoutException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.OperationTimeoutException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.OperationTimeoutException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.QuotaExceededException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.QuotaExceededException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.QuotaExceededException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.QuotaExceededException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ReconfigDisabledException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ReconfigDisabledException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ReconfigDisabledException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ReconfigDisabledException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ReconfigInProgress.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ReconfigInProgress.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ReconfigInProgress.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ReconfigInProgress.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.RequestTimeoutException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.RequestTimeoutException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.RequestTimeoutException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.RequestTimeoutException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.RuntimeInconsistencyException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.RuntimeInconsistencyException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.RuntimeInconsistencyException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.RuntimeInconsistencyException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionClosedRequireAuthException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionClosedRequireAuthException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionClosedRequireAuthException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionClosedRequireAuthException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionExpiredException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionExpiredException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionExpiredException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionExpiredException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionMovedException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionMovedException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionMovedException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SessionMovedException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SystemErrorException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SystemErrorException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SystemErrorException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.SystemErrorException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ThrottledOpException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ThrottledOpException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ThrottledOpException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.ThrottledOpException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.UnimplementedException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.UnimplementedException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.UnimplementedException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.UnimplementedException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.UnknownSessionException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.UnknownSessionException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.UnknownSessionException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.UnknownSessionException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/KeeperException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Login.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Login.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Login.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Login.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/MultiOperationRecord.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/MultiOperationRecord.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/MultiOperationRecord.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/MultiOperationRecord.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/MultiResponse.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/MultiResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/MultiResponse.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/MultiResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Check.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Check.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Check.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Check.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Create.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Create.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Create.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Create.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.CreateTTL.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.CreateTTL.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.CreateTTL.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.CreateTTL.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Delete.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Delete.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Delete.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.Delete.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.GetChildren.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.GetChildren.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.GetChildren.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.GetChildren.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.GetData.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.GetData.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.GetData.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.GetData.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.OpKind.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.OpKind.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.OpKind.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.OpKind.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.SetData.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.SetData.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.SetData.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.SetData.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Op.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.CheckResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.CheckResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.CheckResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.CheckResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.CreateResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.CreateResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.CreateResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.CreateResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.DeleteResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.DeleteResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.DeleteResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.DeleteResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.ErrorResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.ErrorResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.ErrorResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.ErrorResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.GetChildrenResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.GetChildrenResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.GetChildrenResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.GetChildrenResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.GetDataResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.GetDataResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.GetDataResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.GetDataResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.SetDataResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.SetDataResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.SetDataResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.SetDataResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/OpResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Quotas.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Quotas.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Quotas.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Quotas.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/SaslClientCallbackHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/SaslClientCallbackHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/SaslClientCallbackHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/SaslClientCallbackHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/SaslServerPrincipal.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/SaslServerPrincipal.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/SaslServerPrincipal.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/SaslServerPrincipal.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ServerAdminClient.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ServerAdminClient.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ServerAdminClient.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ServerAdminClient.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.ExitCodeException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.ExitCodeException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.ExitCodeException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.ExitCodeException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.ShellCommandExecutor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.ShellCommandExecutor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.ShellCommandExecutor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.ShellCommandExecutor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Shell.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/StatsTrack.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/StatsTrack.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/StatsTrack.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/StatsTrack.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Testable.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Testable.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Testable.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Testable.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Transaction.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Transaction.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Transaction.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Transaction.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Version.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Version.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Version.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Version.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/WatchDeregistration.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/WatchDeregistration.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/WatchDeregistration.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/WatchDeregistration.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/WatchedEvent.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/WatchedEvent.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/WatchedEvent.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/WatchedEvent.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.EventType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.EventType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.EventType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.EventType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.KeeperState.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.KeeperState.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.KeeperState.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.KeeperState.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.Event.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.WatcherType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.WatcherType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.WatcherType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.WatcherType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/Watcher.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZKUtil.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZKUtil.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZKUtil.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZKUtil.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.AddWatchModes.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.AddWatchModes.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.AddWatchModes.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.AddWatchModes.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.Ids.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.Ids.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.Ids.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.Ids.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.OpCode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.OpCode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.OpCode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.OpCode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.Perms.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.Perms.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.Perms.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.Perms.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooDefs.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.States.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.States.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.States.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.States.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.WatchRegistration.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.WatchRegistration.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.WatchRegistration.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.WatchRegistration.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeperMain.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeperMain.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeperMain.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZooKeeperMain.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZookeeperBanner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZookeeperBanner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZookeeperBanner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/class-use/ZookeeperBanner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/AclParser.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/AclParser.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/AclParser.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/AclParser.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/AddAuthCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/AddAuthCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/AddAuthCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/AddAuthCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/AddWatchCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/AddWatchCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/AddWatchCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/AddWatchCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/Base64OutputFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/Base64OutputFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/Base64OutputFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/Base64OutputFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliParseException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliParseException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliParseException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliParseException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliWrapperException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliWrapperException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliWrapperException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CliWrapperException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CloseCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CloseCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CloseCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CloseCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandFactory.Command.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandFactory.Command.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandFactory.Command.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandFactory.Command.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandNotFoundException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandNotFoundException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandNotFoundException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandNotFoundException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandUsageHelper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandUsageHelper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandUsageHelper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CommandUsageHelper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CreateCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CreateCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/CreateCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/CreateCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/DelQuotaCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/DelQuotaCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/DelQuotaCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/DelQuotaCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/DeleteAllCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/DeleteAllCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/DeleteAllCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/DeleteAllCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/DeleteCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/DeleteCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/DeleteCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/DeleteCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetAclCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetAclCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetAclCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetAclCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetAllChildrenNumberCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetAllChildrenNumberCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetAllChildrenNumberCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetAllChildrenNumberCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetConfigCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetConfigCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetConfigCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetConfigCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetEphemeralsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetEphemeralsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetEphemeralsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/GetEphemeralsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/HexDumpOutputFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/HexDumpOutputFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/HexDumpOutputFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/HexDumpOutputFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/ListQuotaCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/ListQuotaCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/ListQuotaCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/ListQuotaCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/LsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/LsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/LsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/LsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/MalformedCommandException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/MalformedCommandException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/MalformedCommandException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/MalformedCommandException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/MalformedPathException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/MalformedPathException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/MalformedPathException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/MalformedPathException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/OutputFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/OutputFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/OutputFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/OutputFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/PlainOutputFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/PlainOutputFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/PlainOutputFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/PlainOutputFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/ReconfigCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/ReconfigCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/ReconfigCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/ReconfigCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/RemoveWatchesCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/RemoveWatchesCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/RemoveWatchesCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/RemoveWatchesCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetAclCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetAclCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetAclCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetAclCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetQuotaCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetQuotaCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetQuotaCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/SetQuotaCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/StatCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/StatCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/StatCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/StatCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/StatPrinter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/StatPrinter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/StatPrinter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/StatPrinter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/SyncCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/SyncCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/SyncCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/SyncCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/VersionCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/VersionCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/VersionCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/VersionCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/WhoAmICommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/WhoAmICommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/WhoAmICommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/WhoAmICommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AclParser.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AclParser.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AclParser.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AclParser.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AddAuthCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AddAuthCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AddAuthCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AddAuthCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AddWatchCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AddWatchCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AddWatchCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/AddWatchCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/Base64OutputFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/Base64OutputFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/Base64OutputFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/Base64OutputFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliParseException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliParseException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliParseException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliParseException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliWrapperException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliWrapperException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliWrapperException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CliWrapperException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CloseCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CloseCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CloseCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CloseCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandFactory.Command.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandFactory.Command.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandFactory.Command.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandFactory.Command.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandNotFoundException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandNotFoundException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandNotFoundException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandNotFoundException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandUsageHelper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandUsageHelper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandUsageHelper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CommandUsageHelper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CreateCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CreateCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CreateCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/CreateCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DelQuotaCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DelQuotaCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DelQuotaCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DelQuotaCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DeleteAllCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DeleteAllCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DeleteAllCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DeleteAllCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DeleteCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DeleteCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DeleteCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/DeleteCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetAclCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetAclCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetAclCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetAclCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetAllChildrenNumberCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetAllChildrenNumberCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetAllChildrenNumberCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetAllChildrenNumberCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetConfigCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetConfigCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetConfigCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetConfigCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetEphemeralsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetEphemeralsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetEphemeralsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/GetEphemeralsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/HexDumpOutputFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/HexDumpOutputFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/HexDumpOutputFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/HexDumpOutputFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/ListQuotaCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/ListQuotaCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/ListQuotaCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/ListQuotaCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/LsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/LsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/LsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/LsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/MalformedCommandException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/MalformedCommandException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/MalformedCommandException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/MalformedCommandException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/MalformedPathException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/MalformedPathException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/MalformedPathException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/MalformedPathException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/OutputFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/OutputFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/OutputFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/OutputFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/PlainOutputFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/PlainOutputFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/PlainOutputFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/PlainOutputFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/ReconfigCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/ReconfigCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/ReconfigCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/ReconfigCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/RemoveWatchesCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/RemoveWatchesCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/RemoveWatchesCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/RemoveWatchesCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetAclCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetAclCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetAclCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetAclCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetQuotaCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetQuotaCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetQuotaCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SetQuotaCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/StatCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/StatCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/StatCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/StatCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/StatPrinter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/StatPrinter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/StatPrinter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/StatPrinter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SyncCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SyncCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SyncCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/SyncCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/VersionCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/VersionCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/VersionCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/VersionCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/WhoAmICommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/WhoAmICommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/WhoAmICommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/class-use/WhoAmICommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/cli/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/ConnectStringParser.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/ConnectStringParser.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/ConnectStringParser.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/ConnectStringParser.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/FourLetterWordMain.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/FourLetterWordMain.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/FourLetterWordMain.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/FourLetterWordMain.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/HostProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/HostProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/HostProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/HostProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/StaticHostProvider.Resolver.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/StaticHostProvider.Resolver.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/StaticHostProvider.Resolver.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/StaticHostProvider.Resolver.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/StaticHostProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/StaticHostProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/StaticHostProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/StaticHostProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/ZKClientConfig.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/ZKClientConfig.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/ZKClientConfig.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/ZKClientConfig.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.SaslState.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.SaslState.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.SaslState.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.SaslState.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.ServerSaslResponseCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.ServerSaslResponseCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.ServerSaslResponseCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.ServerSaslResponseCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/ZooKeeperSaslClient.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ConnectStringParser.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ConnectStringParser.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ConnectStringParser.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ConnectStringParser.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/FourLetterWordMain.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/FourLetterWordMain.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/FourLetterWordMain.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/FourLetterWordMain.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/HostProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/HostProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/HostProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/HostProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/StaticHostProvider.Resolver.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/StaticHostProvider.Resolver.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/StaticHostProvider.Resolver.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/StaticHostProvider.Resolver.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/StaticHostProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/StaticHostProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/StaticHostProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/StaticHostProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZKClientConfig.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZKClientConfig.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZKClientConfig.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZKClientConfig.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.SaslState.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.SaslState.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.SaslState.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.SaslState.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.ServerSaslResponseCallback.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.ServerSaslResponseCallback.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.ServerSaslResponseCallback.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.ServerSaslResponseCallback.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/class-use/ZooKeeperSaslClient.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/client/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/client/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/client/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileOutputStream.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileOutputStream.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileOutputStream.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileOutputStream.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.OutputStreamStatement.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.OutputStreamStatement.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.OutputStreamStatement.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.OutputStreamStatement.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.WriterStatement.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.WriterStatement.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.WriterStatement.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.WriterStatement.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/AtomicFileWritingIdiom.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/ClientX509Util.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/ClientX509Util.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/ClientX509Util.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/ClientX509Util.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/ConfigException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/ConfigException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/ConfigException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/ConfigException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/FileChangeWatcher.State.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/FileChangeWatcher.State.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/FileChangeWatcher.State.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/FileChangeWatcher.State.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/FileChangeWatcher.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/FileChangeWatcher.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/FileChangeWatcher.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/FileChangeWatcher.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/FileKeyStoreLoaderBuilderProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/FileKeyStoreLoaderBuilderProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/FileKeyStoreLoaderBuilderProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/FileKeyStoreLoaderBuilderProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/IOUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/IOUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/IOUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/IOUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/KeyStoreFileType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/KeyStoreFileType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/KeyStoreFileType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/KeyStoreFileType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/NetUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/NetUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/NetUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/NetUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/NettyUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/NettyUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/NettyUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/NettyUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/PathTrie.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/PathTrie.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/PathTrie.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/PathTrie.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/PathUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/PathUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/PathUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/PathUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/QuorumX509Util.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/QuorumX509Util.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/QuorumX509Util.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/QuorumX509Util.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/SSLContextAndOptions.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/SSLContextAndOptions.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/SSLContextAndOptions.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/SSLContextAndOptions.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/SecretUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/SecretUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/SecretUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/SecretUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/StringUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/StringUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/StringUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/StringUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/Time.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/Time.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/Time.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/Time.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.KeyManagerException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.KeyManagerException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.KeyManagerException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.KeyManagerException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.SSLContextException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.SSLContextException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.SSLContextException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.SSLContextException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.TrustManagerException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.TrustManagerException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.TrustManagerException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.TrustManagerException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Exception.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Util.ClientAuth.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Util.ClientAuth.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Util.ClientAuth.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Util.ClientAuth.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Util.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Util.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Util.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/X509Util.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/ZKConfig.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/ZKConfig.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/ZKConfig.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/ZKConfig.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/ZKTrustManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/ZKTrustManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/ZKTrustManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/ZKTrustManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileOutputStream.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileOutputStream.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileOutputStream.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileOutputStream.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.OutputStreamStatement.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.OutputStreamStatement.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.OutputStreamStatement.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.OutputStreamStatement.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.WriterStatement.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.WriterStatement.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.WriterStatement.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.WriterStatement.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/AtomicFileWritingIdiom.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ClientX509Util.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ClientX509Util.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ClientX509Util.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ClientX509Util.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ConfigException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ConfigException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ConfigException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ConfigException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileChangeWatcher.State.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileChangeWatcher.State.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileChangeWatcher.State.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileChangeWatcher.State.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileChangeWatcher.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileChangeWatcher.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileChangeWatcher.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileChangeWatcher.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileKeyStoreLoaderBuilderProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileKeyStoreLoaderBuilderProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileKeyStoreLoaderBuilderProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/FileKeyStoreLoaderBuilderProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/IOUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/IOUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/IOUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/IOUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/KeyStoreFileType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/KeyStoreFileType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/KeyStoreFileType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/KeyStoreFileType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/NetUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/NetUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/NetUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/NetUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/NettyUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/NettyUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/NettyUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/NettyUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/PathTrie.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/PathTrie.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/PathTrie.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/PathTrie.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/PathUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/PathUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/PathUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/PathUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/QuorumX509Util.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/QuorumX509Util.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/QuorumX509Util.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/QuorumX509Util.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/SSLContextAndOptions.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/SSLContextAndOptions.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/SSLContextAndOptions.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/SSLContextAndOptions.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/SecretUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/SecretUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/SecretUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/SecretUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/StringUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/StringUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/StringUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/StringUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/Time.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/Time.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/Time.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/Time.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.KeyManagerException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.KeyManagerException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.KeyManagerException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.KeyManagerException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.SSLContextException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.SSLContextException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.SSLContextException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.SSLContextException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.TrustManagerException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.TrustManagerException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.TrustManagerException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.TrustManagerException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Exception.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Util.ClientAuth.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Util.ClientAuth.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Util.ClientAuth.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Util.ClientAuth.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Util.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Util.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Util.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/X509Util.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ZKConfig.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ZKConfig.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ZKConfig.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ZKConfig.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ZKTrustManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ZKTrustManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ZKTrustManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/class-use/ZKTrustManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/common/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/common/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/common/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/compat/ProtocolManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/compat/ProtocolManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/compat/ProtocolManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/compat/ProtocolManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/compat/class-use/ProtocolManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/compat/class-use/ProtocolManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/compat/class-use/ProtocolManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/compat/class-use/ProtocolManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/compat/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/MBeanRegistry.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/MBeanRegistry.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/MBeanRegistry.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/MBeanRegistry.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/ManagedUtil.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/ManagedUtil.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/ManagedUtil.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/ManagedUtil.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/ZKMBeanInfo.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/ZKMBeanInfo.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/ZKMBeanInfo.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/ZKMBeanInfo.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/MBeanRegistry.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/MBeanRegistry.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/MBeanRegistry.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/MBeanRegistry.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/ManagedUtil.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/ManagedUtil.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/ManagedUtil.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/ManagedUtil.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/ZKMBeanInfo.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/ZKMBeanInfo.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/ZKMBeanInfo.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/class-use/ZKMBeanInfo.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/jmx/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Counter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Counter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Counter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Counter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/CounterSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/CounterSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/CounterSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/CounterSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Gauge.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Gauge.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Gauge.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Gauge.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/GaugeSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/GaugeSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/GaugeSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/GaugeSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsContext.DetailLevel.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsContext.DetailLevel.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsContext.DetailLevel.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsContext.DetailLevel.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsContext.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsContext.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsContext.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsContext.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsProviderLifeCycleException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsProviderLifeCycleException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsProviderLifeCycleException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/MetricsProviderLifeCycleException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/Summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/SummarySet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/SummarySet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/SummarySet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/SummarySet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Counter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Counter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Counter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Counter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/CounterSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/CounterSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/CounterSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/CounterSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Gauge.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Gauge.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Gauge.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Gauge.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/GaugeSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/GaugeSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/GaugeSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/GaugeSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsContext.DetailLevel.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsContext.DetailLevel.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsContext.DetailLevel.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsContext.DetailLevel.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsContext.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsContext.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsContext.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsContext.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsProviderLifeCycleException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsProviderLifeCycleException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsProviderLifeCycleException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/MetricsProviderLifeCycleException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/Summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/SummarySet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/SummarySet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/SummarySet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/class-use/SummarySet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/DefaultMetricsProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/DefaultMetricsProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/DefaultMetricsProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/DefaultMetricsProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/MetricsProviderBootstrap.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/MetricsProviderBootstrap.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/MetricsProviderBootstrap.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/MetricsProviderBootstrap.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/NullMetricsProvider.NullMetricsContext.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/NullMetricsProvider.NullMetricsContext.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/NullMetricsProvider.NullMetricsContext.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/NullMetricsProvider.NullMetricsContext.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/NullMetricsProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/NullMetricsProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/NullMetricsProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/NullMetricsProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/DefaultMetricsProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/DefaultMetricsProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/DefaultMetricsProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/DefaultMetricsProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/MetricsProviderBootstrap.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/MetricsProviderBootstrap.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/MetricsProviderBootstrap.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/MetricsProviderBootstrap.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/NullMetricsProvider.NullMetricsContext.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/NullMetricsProvider.NullMetricsContext.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/NullMetricsProvider.NullMetricsContext.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/NullMetricsProvider.NullMetricsContext.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/NullMetricsProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/NullMetricsProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/NullMetricsProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/class-use/NullMetricsProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/impl/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/metrics/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/AuthenticationHelper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/AuthenticationHelper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/AuthenticationHelper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/AuthenticationHelper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/BlueThrottle.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/BlueThrottle.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/BlueThrottle.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/BlueThrottle.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferInputStream.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferInputStream.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferInputStream.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferInputStream.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferOutputStream.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferOutputStream.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferOutputStream.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferOutputStream.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferRequestRecord.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferRequestRecord.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferRequestRecord.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ByteBufferRequestRecord.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ClientCnxnLimitException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ClientCnxnLimitException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ClientCnxnLimitException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ClientCnxnLimitException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ConnectionBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ConnectionBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ConnectionBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ConnectionBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ConnectionMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ConnectionMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ConnectionMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ConnectionMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ContainerManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ContainerManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ContainerManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ContainerManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataNode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataNode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataNode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataNode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.ProcessTxnResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.ProcessTxnResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.ProcessTxnResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.ProcessTxnResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.ZxidDigest.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.ZxidDigest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.ZxidDigest.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.ZxidDigest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTreeBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTreeBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTreeBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTreeBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTreeMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTreeMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTreeMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/DataTreeMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DatadirCleanupManager.PurgeTaskStatus.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/DatadirCleanupManager.PurgeTaskStatus.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DatadirCleanupManager.PurgeTaskStatus.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/DatadirCleanupManager.PurgeTaskStatus.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DatadirCleanupManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/DatadirCleanupManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DatadirCleanupManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/DatadirCleanupManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DigestCalculator.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/DigestCalculator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DigestCalculator.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/DigestCalculator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DumbWatcher.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/DumbWatcher.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/DumbWatcher.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/DumbWatcher.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/EphemeralType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/EphemeralType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/EphemeralType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/EphemeralType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/EphemeralTypeEmulate353.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/EphemeralTypeEmulate353.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/EphemeralTypeEmulate353.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/EphemeralTypeEmulate353.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ExitCode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ExitCode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ExitCode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ExitCode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ExpiryQueue.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ExpiryQueue.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ExpiryQueue.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ExpiryQueue.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/FinalRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/FinalRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/FinalRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/FinalRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxn.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxn.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxnFactory.SelectorThread.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxnFactory.SelectorThread.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxnFactory.SelectorThread.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxnFactory.SelectorThread.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxnFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxnFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxnFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/NIOServerCnxnFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxn.HandshakeState.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxn.HandshakeState.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxn.HandshakeState.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxn.HandshakeState.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxn.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxn.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxnFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxnFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxnFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/NettyServerCnxnFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NodeHashMap.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/NodeHashMap.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NodeHashMap.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/NodeHashMap.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NodeHashMapImpl.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/NodeHashMapImpl.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/NodeHashMapImpl.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/NodeHashMapImpl.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ObserverBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ObserverBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ObserverBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ObserverBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/PrepRequestProcessor.DigestOpCode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/PrepRequestProcessor.DigestOpCode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/PrepRequestProcessor.DigestOpCode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/PrepRequestProcessor.DigestOpCode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/PrepRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/PrepRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/PrepRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/PrepRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/PurgeTxnLog.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/PurgeTxnLog.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/PurgeTxnLog.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/PurgeTxnLog.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/RateLogger.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/RateLogger.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/RateLogger.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/RateLogger.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ReferenceCountedACLCache.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ReferenceCountedACLCache.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ReferenceCountedACLCache.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ReferenceCountedACLCache.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/Request.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/Request.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/Request.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/Request.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestRecord.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestRecord.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestRecord.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestRecord.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestThrottler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestThrottler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestThrottler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/RequestThrottler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ResponseCache.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ResponseCache.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ResponseCache.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ResponseCache.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.CloseRequestException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.CloseRequestException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.CloseRequestException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.CloseRequestException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.DisconnectReason.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.DisconnectReason.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.DisconnectReason.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.DisconnectReason.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.EndOfStreamException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.EndOfStreamException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.EndOfStreamException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.EndOfStreamException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxnFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxnFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxnFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxnFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxnHelper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxnHelper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxnHelper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerCnxnHelper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerConfig.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerConfig.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerConfig.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerConfig.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerMetrics.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerMetrics.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerMetrics.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerMetrics.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerStats.Provider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerStats.Provider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerStats.Provider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerStats.Provider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerStats.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerStats.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerStats.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerStats.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerWatcher.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerWatcher.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerWatcher.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ServerWatcher.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.Session.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.Session.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.Session.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.Session.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.SessionExpirer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.SessionExpirer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.SessionExpirer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.SessionExpirer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTrackerImpl.SessionImpl.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTrackerImpl.SessionImpl.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTrackerImpl.SessionImpl.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTrackerImpl.SessionImpl.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTrackerImpl.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTrackerImpl.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTrackerImpl.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/SessionTrackerImpl.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SimpleRequestRecord.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/SimpleRequestRecord.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SimpleRequestRecord.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/SimpleRequestRecord.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotComparer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotComparer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotComparer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotComparer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotRecursiveSummary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotRecursiveSummary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotRecursiveSummary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/SnapshotRecursiveSummary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SyncRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/SyncRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/SyncRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/SyncRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/TraceFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/TraceFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/TraceFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/TraceFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/TxnLogEntry.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/TxnLogEntry.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/TxnLogEntry.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/TxnLogEntry.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/TxnLogProposalIterator.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/TxnLogProposalIterator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/TxnLogProposalIterator.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/TxnLogProposalIterator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/UnimplementedRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/UnimplementedRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/UnimplementedRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/UnimplementedRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/WorkerService.WorkRequest.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/WorkerService.WorkRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/WorkerService.WorkRequest.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/WorkerService.WorkRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/WorkerService.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/WorkerService.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/WorkerService.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/WorkerService.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZKDatabase.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZKDatabase.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZKDatabase.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZKDatabase.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperCriticalThread.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperCriticalThread.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperCriticalThread.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperCriticalThread.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperSaslServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperSaslServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperSaslServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperSaslServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.MissingSessionException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.MissingSessionException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.MissingSessionException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.MissingSessionException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.State.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.State.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.State.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.State.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerConf.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerConf.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerConf.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerConf.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerListener.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerListener.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerListener.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerListener.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerMain.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerMain.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerMain.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerMain.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerShutdownHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerShutdownHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerShutdownHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperServerShutdownHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperThread.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperThread.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperThread.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooKeeperThread.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooTrace.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooTrace.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooTrace.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/ZooTrace.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServer.AdminServerException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServer.AdminServerException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServer.AdminServerException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServer.AdminServerException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServerFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServerFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServerFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AdminServerFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AuthRequest.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AuthRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AuthRequest.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/AuthRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Command.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Command.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Command.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Command.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandBase.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandBase.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandBase.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandBase.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandOutputter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandOutputter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandOutputter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandOutputter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandResponse.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandResponse.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/CommandResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.CnxnStatResetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.CnxnStatResetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.CnxnStatResetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.CnxnStatResetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ConfCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ConfCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ConfCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ConfCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ConsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ConsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ConsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ConsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DigestCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DigestCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DigestCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DigestCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DirsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DirsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DirsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DirsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DumpCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DumpCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DumpCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.DumpCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.EnvCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.EnvCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.EnvCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.EnvCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.GetTraceMaskCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.GetTraceMaskCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.GetTraceMaskCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.GetTraceMaskCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.InitialConfigurationCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.InitialConfigurationCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.InitialConfigurationCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.InitialConfigurationCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.IsroCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.IsroCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.IsroCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.IsroCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.LastSnapshotCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.LastSnapshotCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.LastSnapshotCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.LastSnapshotCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.LeaderCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.LeaderCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.LeaderCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.LeaderCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.MonitorCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.MonitorCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.MonitorCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.MonitorCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ObserverCnxnStatResetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ObserverCnxnStatResetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ObserverCnxnStatResetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ObserverCnxnStatResetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.RestoreCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.RestoreCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.RestoreCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.RestoreCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.RuokCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.RuokCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.RuokCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.RuokCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SetTraceMaskCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SetTraceMaskCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SetTraceMaskCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SetTraceMaskCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SnapshotCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SnapshotCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SnapshotCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SnapshotCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SrvrCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SrvrCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SrvrCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SrvrCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.StatCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.StatCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.StatCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.StatCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.StatResetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.StatResetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.StatResetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.StatResetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SyncedObserverConsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SyncedObserverConsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SyncedObserverConsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SyncedObserverConsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SystemPropertiesCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SystemPropertiesCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SystemPropertiesCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.SystemPropertiesCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.VotingViewCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.VotingViewCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.VotingViewCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.VotingViewCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchSummaryCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchSummaryCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchSummaryCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchSummaryCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchesByPathCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchesByPathCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchesByPathCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.WatchesByPathCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ZabStateCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ZabStateCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ZabStateCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.ZabStateCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/Commands.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/DummyAdminServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/DummyAdminServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/DummyAdminServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/DummyAdminServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/GetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/GetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/GetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/GetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/JettyAdminServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/JettyAdminServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/JettyAdminServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/JettyAdminServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/JsonOutputter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/JsonOutputter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/JsonOutputter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/JsonOutputter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/PostCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/PostCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/PostCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/PostCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/ReadAheadEndpoint.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/ReadAheadEndpoint.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/ReadAheadEndpoint.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/ReadAheadEndpoint.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/StreamOutputter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/StreamOutputter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/StreamOutputter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/StreamOutputter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/UnifiedConnectionFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/UnifiedConnectionFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/UnifiedConnectionFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/UnifiedConnectionFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServer.AdminServerException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServer.AdminServerException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServer.AdminServerException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServer.AdminServerException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServerFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServerFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServerFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AdminServerFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AuthRequest.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AuthRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AuthRequest.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/AuthRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Command.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Command.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Command.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Command.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandBase.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandBase.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandBase.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandBase.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandOutputter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandOutputter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandOutputter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandOutputter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandResponse.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandResponse.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandResponse.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/CommandResponse.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.CnxnStatResetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.CnxnStatResetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.CnxnStatResetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.CnxnStatResetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ConfCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ConfCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ConfCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ConfCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ConsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ConsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ConsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ConsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DigestCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DigestCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DigestCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DigestCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DirsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DirsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DirsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DirsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DumpCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DumpCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DumpCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.DumpCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.EnvCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.EnvCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.EnvCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.EnvCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.GetTraceMaskCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.GetTraceMaskCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.GetTraceMaskCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.GetTraceMaskCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.InitialConfigurationCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.InitialConfigurationCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.InitialConfigurationCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.InitialConfigurationCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.IsroCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.IsroCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.IsroCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.IsroCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.LastSnapshotCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.LastSnapshotCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.LastSnapshotCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.LastSnapshotCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.LeaderCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.LeaderCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.LeaderCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.LeaderCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.MonitorCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.MonitorCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.MonitorCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.MonitorCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ObserverCnxnStatResetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ObserverCnxnStatResetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ObserverCnxnStatResetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ObserverCnxnStatResetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.RestoreCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.RestoreCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.RestoreCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.RestoreCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.RuokCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.RuokCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.RuokCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.RuokCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SetTraceMaskCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SetTraceMaskCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SetTraceMaskCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SetTraceMaskCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SnapshotCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SnapshotCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SnapshotCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SnapshotCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SrvrCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SrvrCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SrvrCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SrvrCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.StatCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.StatCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.StatCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.StatCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.StatResetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.StatResetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.StatResetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.StatResetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SyncedObserverConsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SyncedObserverConsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SyncedObserverConsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SyncedObserverConsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SystemPropertiesCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SystemPropertiesCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SystemPropertiesCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.SystemPropertiesCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.VotingViewCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.VotingViewCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.VotingViewCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.VotingViewCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchSummaryCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchSummaryCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchSummaryCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchSummaryCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchesByPathCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchesByPathCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchesByPathCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.WatchesByPathCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ZabStateCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ZabStateCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ZabStateCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.ZabStateCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/Commands.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/DummyAdminServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/DummyAdminServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/DummyAdminServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/DummyAdminServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/GetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/GetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/GetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/GetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/JettyAdminServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/JettyAdminServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/JettyAdminServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/JettyAdminServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/JsonOutputter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/JsonOutputter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/JsonOutputter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/JsonOutputter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/PostCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/PostCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/PostCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/PostCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/ReadAheadEndpoint.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/ReadAheadEndpoint.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/ReadAheadEndpoint.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/ReadAheadEndpoint.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/StreamOutputter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/StreamOutputter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/StreamOutputter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/StreamOutputter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/UnifiedConnectionFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/UnifiedConnectionFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/UnifiedConnectionFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/class-use/UnifiedConnectionFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/admin/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/AuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/AuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/AuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/AuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/DigestAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/DigestAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/DigestAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/DigestAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/DigestLoginModule.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/DigestLoginModule.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/DigestLoginModule.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/DigestLoginModule.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/EnsembleAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/EnsembleAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/EnsembleAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/EnsembleAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/IPAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/IPAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/IPAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/IPAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.BadFormatString.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.BadFormatString.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.BadFormatString.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.BadFormatString.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.NoMatchingRule.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.NoMatchingRule.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.NoMatchingRule.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.NoMatchingRule.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KerberosName.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KeyAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KeyAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KeyAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/KeyAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ProviderRegistry.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ProviderRegistry.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ProviderRegistry.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ProviderRegistry.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/SASLAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/SASLAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/SASLAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/SASLAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/SaslServerCallbackHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/SaslServerCallbackHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/SaslServerCallbackHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/SaslServerCallbackHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.MatchValues.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.MatchValues.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.MatchValues.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.MatchValues.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.ServerObjs.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.ServerObjs.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.ServerObjs.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.ServerObjs.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/ServerAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/X509AuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/X509AuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/X509AuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/X509AuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/AuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/AuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/AuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/AuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/DigestAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/DigestAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/DigestAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/DigestAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/DigestLoginModule.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/DigestLoginModule.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/DigestLoginModule.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/DigestLoginModule.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/EnsembleAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/EnsembleAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/EnsembleAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/EnsembleAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/IPAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/IPAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/IPAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/IPAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.BadFormatString.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.BadFormatString.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.BadFormatString.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.BadFormatString.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.NoMatchingRule.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.NoMatchingRule.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.NoMatchingRule.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.NoMatchingRule.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KerberosName.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KeyAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KeyAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KeyAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/KeyAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ProviderRegistry.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ProviderRegistry.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ProviderRegistry.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ProviderRegistry.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/SASLAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/SASLAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/SASLAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/SASLAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/SaslServerCallbackHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/SaslServerCallbackHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/SaslServerCallbackHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/SaslServerCallbackHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.MatchValues.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.MatchValues.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.MatchValues.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.MatchValues.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.ServerObjs.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.ServerObjs.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.ServerObjs.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.ServerObjs.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/ServerAuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/X509AuthenticationProvider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/X509AuthenticationProvider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/X509AuthenticationProvider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/class-use/X509AuthenticationProvider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/auth/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/AuthenticationHelper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/AuthenticationHelper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/AuthenticationHelper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/AuthenticationHelper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/BlueThrottle.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/BlueThrottle.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/BlueThrottle.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/BlueThrottle.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferInputStream.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferInputStream.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferInputStream.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferInputStream.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferOutputStream.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferOutputStream.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferOutputStream.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferOutputStream.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferRequestRecord.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferRequestRecord.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferRequestRecord.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ByteBufferRequestRecord.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ClientCnxnLimitException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ClientCnxnLimitException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ClientCnxnLimitException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ClientCnxnLimitException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ConnectionBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ConnectionBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ConnectionBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ConnectionBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ConnectionMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ConnectionMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ConnectionMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ConnectionMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ContainerManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ContainerManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ContainerManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ContainerManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataNode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataNode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataNode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataNode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.ProcessTxnResult.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.ProcessTxnResult.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.ProcessTxnResult.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.ProcessTxnResult.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.ZxidDigest.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.ZxidDigest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.ZxidDigest.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.ZxidDigest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTreeBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTreeBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTreeBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTreeBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTreeMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTreeMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTreeMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DataTreeMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DatadirCleanupManager.PurgeTaskStatus.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DatadirCleanupManager.PurgeTaskStatus.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DatadirCleanupManager.PurgeTaskStatus.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DatadirCleanupManager.PurgeTaskStatus.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DatadirCleanupManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DatadirCleanupManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DatadirCleanupManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DatadirCleanupManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DigestCalculator.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DigestCalculator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DigestCalculator.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DigestCalculator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DumbWatcher.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DumbWatcher.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DumbWatcher.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/DumbWatcher.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/EphemeralType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/EphemeralType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/EphemeralType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/EphemeralType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/EphemeralTypeEmulate353.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/EphemeralTypeEmulate353.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/EphemeralTypeEmulate353.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/EphemeralTypeEmulate353.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ExitCode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ExitCode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ExitCode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ExitCode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ExpiryQueue.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ExpiryQueue.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ExpiryQueue.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ExpiryQueue.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/FinalRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/FinalRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/FinalRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/FinalRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxn.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxn.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxnFactory.SelectorThread.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxnFactory.SelectorThread.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxnFactory.SelectorThread.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxnFactory.SelectorThread.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxnFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxnFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxnFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NIOServerCnxnFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxn.HandshakeState.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxn.HandshakeState.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxn.HandshakeState.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxn.HandshakeState.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxn.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxn.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxnFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxnFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxnFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NettyServerCnxnFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NodeHashMap.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NodeHashMap.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NodeHashMap.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NodeHashMap.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NodeHashMapImpl.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NodeHashMapImpl.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NodeHashMapImpl.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/NodeHashMapImpl.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ObserverBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ObserverBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ObserverBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ObserverBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PrepRequestProcessor.DigestOpCode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PrepRequestProcessor.DigestOpCode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PrepRequestProcessor.DigestOpCode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PrepRequestProcessor.DigestOpCode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PrepRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PrepRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PrepRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PrepRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PurgeTxnLog.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PurgeTxnLog.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PurgeTxnLog.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/PurgeTxnLog.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RateLogger.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RateLogger.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RateLogger.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RateLogger.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ReferenceCountedACLCache.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ReferenceCountedACLCache.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ReferenceCountedACLCache.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ReferenceCountedACLCache.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/Request.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/Request.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/Request.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/Request.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestProcessor.RequestProcessorException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestProcessor.RequestProcessorException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestProcessor.RequestProcessorException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestProcessor.RequestProcessorException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestRecord.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestRecord.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestRecord.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestRecord.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestThrottler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestThrottler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestThrottler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/RequestThrottler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ResponseCache.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ResponseCache.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ResponseCache.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ResponseCache.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.CloseRequestException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.CloseRequestException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.CloseRequestException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.CloseRequestException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.DisconnectReason.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.DisconnectReason.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.DisconnectReason.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.DisconnectReason.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.EndOfStreamException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.EndOfStreamException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.EndOfStreamException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.EndOfStreamException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxn.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxnFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxnFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxnFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxnFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxnHelper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxnHelper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxnHelper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerCnxnHelper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerConfig.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerConfig.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerConfig.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerConfig.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerMetrics.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerMetrics.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerMetrics.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerMetrics.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerStats.Provider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerStats.Provider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerStats.Provider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerStats.Provider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerStats.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerStats.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerStats.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerStats.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerWatcher.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerWatcher.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerWatcher.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ServerWatcher.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.Session.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.Session.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.Session.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.Session.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.SessionExpirer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.SessionExpirer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.SessionExpirer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.SessionExpirer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTrackerImpl.SessionImpl.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTrackerImpl.SessionImpl.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTrackerImpl.SessionImpl.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTrackerImpl.SessionImpl.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTrackerImpl.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTrackerImpl.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTrackerImpl.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SessionTrackerImpl.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SimpleRequestRecord.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SimpleRequestRecord.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SimpleRequestRecord.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SimpleRequestRecord.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotComparer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotComparer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotComparer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotComparer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotRecursiveSummary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotRecursiveSummary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotRecursiveSummary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SnapshotRecursiveSummary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SyncRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SyncRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SyncRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/SyncRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TraceFormatter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TraceFormatter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TraceFormatter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TraceFormatter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TxnLogEntry.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TxnLogEntry.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TxnLogEntry.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TxnLogEntry.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TxnLogProposalIterator.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TxnLogProposalIterator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TxnLogProposalIterator.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/TxnLogProposalIterator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/UnimplementedRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/UnimplementedRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/UnimplementedRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/UnimplementedRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/WorkerService.WorkRequest.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/WorkerService.WorkRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/WorkerService.WorkRequest.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/WorkerService.WorkRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/WorkerService.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/WorkerService.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/WorkerService.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/WorkerService.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZKDatabase.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZKDatabase.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZKDatabase.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZKDatabase.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperCriticalThread.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperCriticalThread.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperCriticalThread.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperCriticalThread.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperSaslServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperSaslServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperSaslServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperSaslServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.MissingSessionException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.MissingSessionException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.MissingSessionException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.MissingSessionException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.State.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.State.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.State.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.State.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerConf.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerConf.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerConf.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerConf.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerListener.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerListener.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerListener.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerListener.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerMain.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerMain.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerMain.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerMain.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerShutdownHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerShutdownHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerShutdownHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperServerShutdownHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperThread.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperThread.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperThread.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooKeeperThread.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooTrace.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooTrace.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooTrace.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/class-use/ZooTrace.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/AbstractFourLetterCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/AbstractFourLetterCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/AbstractFourLetterCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/AbstractFourLetterCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/CnxnStatResetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/CnxnStatResetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/CnxnStatResetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/CnxnStatResetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/CommandExecutor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/CommandExecutor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/CommandExecutor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/CommandExecutor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/ConfCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/ConfCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/ConfCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/ConfCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/ConsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/ConsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/ConsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/ConsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DigestCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DigestCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DigestCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DigestCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DirsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DirsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DirsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DirsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DumpCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DumpCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DumpCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/DumpCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/EnvCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/EnvCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/EnvCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/EnvCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/FourLetterCommands.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/FourLetterCommands.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/FourLetterCommands.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/FourLetterCommands.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/IsroCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/IsroCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/IsroCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/IsroCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/MonitorCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/MonitorCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/MonitorCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/MonitorCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/NopCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/NopCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/NopCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/NopCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/RuokCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/RuokCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/RuokCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/RuokCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/SetTraceMaskCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/SetTraceMaskCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/SetTraceMaskCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/SetTraceMaskCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/StatCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/StatCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/StatCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/StatCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/StatResetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/StatResetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/StatResetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/StatResetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/TraceMaskCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/TraceMaskCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/TraceMaskCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/TraceMaskCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/WatchCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/WatchCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/WatchCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/WatchCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/AbstractFourLetterCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/AbstractFourLetterCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/AbstractFourLetterCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/AbstractFourLetterCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/CnxnStatResetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/CnxnStatResetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/CnxnStatResetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/CnxnStatResetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/CommandExecutor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/CommandExecutor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/CommandExecutor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/CommandExecutor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/ConfCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/ConfCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/ConfCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/ConfCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/ConsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/ConsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/ConsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/ConsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DigestCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DigestCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DigestCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DigestCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DirsCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DirsCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DirsCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DirsCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DumpCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DumpCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DumpCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/DumpCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/EnvCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/EnvCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/EnvCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/EnvCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/FourLetterCommands.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/FourLetterCommands.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/FourLetterCommands.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/FourLetterCommands.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/IsroCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/IsroCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/IsroCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/IsroCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/MonitorCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/MonitorCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/MonitorCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/MonitorCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/NopCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/NopCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/NopCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/NopCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/RuokCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/RuokCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/RuokCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/RuokCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/SetTraceMaskCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/SetTraceMaskCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/SetTraceMaskCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/SetTraceMaskCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/StatCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/StatCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/StatCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/StatCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/StatResetCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/StatResetCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/StatResetCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/StatResetCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/TraceMaskCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/TraceMaskCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/TraceMaskCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/TraceMaskCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/WatchCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/WatchCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/WatchCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/class-use/WatchCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/command/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/CommandClient.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/CommandClient.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/CommandClient.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/CommandClient.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/CommandListener.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/CommandListener.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/CommandListener.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/CommandListener.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControlCommand.Action.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControlCommand.Action.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControlCommand.Action.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControlCommand.Action.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControlCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControlCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControlCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControlCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllableConnection.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllableConnection.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllableConnection.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllableConnection.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllableConnectionFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllableConnectionFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllableConnectionFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllableConnectionFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllerServerConfig.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllerServerConfig.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllerServerConfig.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllerServerConfig.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllerService.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllerService.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllerService.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ControllerService.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ZooKeeperServerController.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ZooKeeperServerController.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ZooKeeperServerController.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/ZooKeeperServerController.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/CommandClient.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/CommandClient.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/CommandClient.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/CommandClient.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/CommandListener.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/CommandListener.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/CommandListener.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/CommandListener.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControlCommand.Action.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControlCommand.Action.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControlCommand.Action.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControlCommand.Action.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControlCommand.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControlCommand.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControlCommand.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControlCommand.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllableConnection.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllableConnection.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllableConnection.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllableConnection.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllableConnectionFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllableConnectionFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllableConnectionFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllableConnectionFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllerServerConfig.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllerServerConfig.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllerServerConfig.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllerServerConfig.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllerService.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllerService.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllerService.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ControllerService.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ZooKeeperServerController.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ZooKeeperServerController.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ZooKeeperServerController.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/class-use/ZooKeeperServerController.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/controller/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ExitHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ExitHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ExitHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ExitHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.ZookKeeperServerEmbeddedBuilder.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.ZookKeeperServerEmbeddedBuilder.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.ZookKeeperServerEmbeddedBuilder.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.ZookKeeperServerEmbeddedBuilder.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ExitHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ExitHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ExitHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ExitHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ZooKeeperServerEmbedded.ZookKeeperServerEmbeddedBuilder.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ZooKeeperServerEmbedded.ZookKeeperServerEmbeddedBuilder.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ZooKeeperServerEmbedded.ZookKeeperServerEmbeddedBuilder.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ZooKeeperServerEmbedded.ZookKeeperServerEmbeddedBuilder.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ZooKeeperServerEmbedded.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ZooKeeperServerEmbedded.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ZooKeeperServerEmbedded.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/class-use/ZooKeeperServerEmbedded.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/embedded/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxCounter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxCounter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxCounter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxCounter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxCounterSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxCounterSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxCounterSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxCounterSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxPercentileCounter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxPercentileCounter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxPercentileCounter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxPercentileCounter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxPercentileCounterSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxPercentileCounterSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxPercentileCounterSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/AvgMinMaxPercentileCounterSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/Metric.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/Metric.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/Metric.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/Metric.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/SimpleCounter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/SimpleCounter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/SimpleCounter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/SimpleCounter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/SimpleCounterSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/SimpleCounterSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/SimpleCounterSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/SimpleCounterSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxCounter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxCounter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxCounter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxCounter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxCounterSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxCounterSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxCounterSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxCounterSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxPercentileCounter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxPercentileCounter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxPercentileCounter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxPercentileCounter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxPercentileCounterSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxPercentileCounterSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxPercentileCounterSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/AvgMinMaxPercentileCounterSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/Metric.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/Metric.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/Metric.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/Metric.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/SimpleCounter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/SimpleCounter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/SimpleCounter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/SimpleCounter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/SimpleCounterSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/SimpleCounterSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/SimpleCounterSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/class-use/SimpleCounterSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/metric/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FilePadding.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FilePadding.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FilePadding.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FilePadding.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileSnap.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileSnap.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileSnap.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileSnap.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnLog.FileTxnIterator.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnLog.FileTxnIterator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnLog.FileTxnIterator.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnLog.FileTxnIterator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnLog.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnLog.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnLog.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnLog.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.DatadirException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.DatadirException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.DatadirException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.DatadirException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.LogDirContentCheckException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.LogDirContentCheckException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.LogDirContentCheckException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.LogDirContentCheckException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.PlayBackListener.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.PlayBackListener.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.PlayBackListener.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.PlayBackListener.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.SnapDirContentCheckException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.SnapDirContentCheckException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.SnapDirContentCheckException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.SnapDirContentCheckException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/FileTxnSnapLog.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapShot.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapShot.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapShot.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapShot.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapStream.StreamMode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapStream.StreamMode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapStream.StreamMode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapStream.StreamMode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapStream.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapStream.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapStream.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapStream.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapshotInfo.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapshotInfo.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapshotInfo.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/SnapshotInfo.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLog.TxnIterator.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLog.TxnIterator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLog.TxnIterator.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLog.TxnIterator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLog.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLog.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLog.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLog.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLogToolkit.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLogToolkit.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLogToolkit.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/TxnLogToolkit.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/Util.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/Util.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/Util.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/Util.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FilePadding.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FilePadding.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FilePadding.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FilePadding.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileSnap.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileSnap.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileSnap.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileSnap.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnLog.FileTxnIterator.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnLog.FileTxnIterator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnLog.FileTxnIterator.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnLog.FileTxnIterator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnLog.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnLog.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnLog.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnLog.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.DatadirException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.DatadirException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.DatadirException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.DatadirException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.LogDirContentCheckException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.LogDirContentCheckException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.LogDirContentCheckException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.LogDirContentCheckException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.PlayBackListener.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.PlayBackListener.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.PlayBackListener.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.PlayBackListener.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.SnapDirContentCheckException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.SnapDirContentCheckException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.SnapDirContentCheckException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.SnapDirContentCheckException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/FileTxnSnapLog.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapShot.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapShot.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapShot.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapShot.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapStream.StreamMode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapStream.StreamMode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapStream.StreamMode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapStream.StreamMode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapStream.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapStream.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapStream.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapStream.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapshotInfo.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapshotInfo.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapshotInfo.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/SnapshotInfo.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLog.TxnIterator.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLog.TxnIterator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLog.TxnIterator.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLog.TxnIterator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLog.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLog.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLog.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLog.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLogToolkit.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLogToolkit.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLogToolkit.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/TxnLogToolkit.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/Util.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/Util.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/Util.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/class-use/Util.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/persistence/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/BufferStats.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/BufferStats.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/BufferStats.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/BufferStats.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/CommitProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/CommitProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/CommitProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/CommitProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Election.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Election.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Election.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Election.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Follower.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Follower.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Follower.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Follower.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.Proposal.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.Proposal.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.Proposal.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.Proposal.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.PureRequestProposal.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.PureRequestProposal.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.PureRequestProposal.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.PureRequestProposal.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderSessionTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderSessionTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderSessionTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderSessionTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Learner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Learner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Learner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Learner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerMaster.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerMaster.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerMaster.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerMaster.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSender.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSender.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSender.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSender.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSessionTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSessionTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSessionTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSessionTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncRequest.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncRequest.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalSessionTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalSessionTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalSessionTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalSessionTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/MultipleAddresses.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/MultipleAddresses.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/MultipleAddresses.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/MultipleAddresses.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Observer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Observer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Observer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Observer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMaster.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMaster.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMaster.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMaster.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/PrependableSocket.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/PrependableSocket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/PrependableSocket.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/PrependableSocket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerMain.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerMain.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerMain.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerMain.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.Provider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.Provider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.Provider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.Provider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/StateSummary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/StateSummary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/StateSummary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/StateSummary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncThrottleException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncThrottleException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncThrottleException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncThrottleException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Vote.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Vote.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Vote.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Vote.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthLearner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthLearner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthLearner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthLearner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.Status.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.Status.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.Status.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.Status.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthLearner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthLearner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthLearner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthLearner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumServerCallbackHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumServerCallbackHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumServerCallbackHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumServerCallbackHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/BufferStats.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/BufferStats.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/BufferStats.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/BufferStats.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/CommitProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/CommitProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/CommitProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/CommitProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Election.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Election.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Election.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Election.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Messenger.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Messenger.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Messenger.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Messenger.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Notification.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Notification.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Notification.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Notification.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.ToSend.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.ToSend.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.ToSend.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.ToSend.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Follower.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Follower.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Follower.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Follower.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.PureRequestProposal.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.PureRequestProposal.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.PureRequestProposal.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.PureRequestProposal.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.XidRolloverException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.XidRolloverException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.XidRolloverException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.XidRolloverException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderSessionTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderSessionTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderSessionTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderSessionTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Learner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Learner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Learner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Learner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerMaster.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerMaster.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerMaster.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerMaster.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSender.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSender.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSender.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSender.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSessionTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSessionTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSessionTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSessionTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncRequest.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncRequest.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncRequest.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncRequest.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.SyncType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.SyncType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.SyncType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.SyncType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalSessionTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalSessionTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalSessionTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalSessionTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/MultipleAddresses.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/MultipleAddresses.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/MultipleAddresses.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/MultipleAddresses.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Observer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Observer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Observer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Observer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMaster.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMaster.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMaster.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMaster.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/PrependableSocket.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/PrependableSocket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/PrependableSocket.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/PrependableSocket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ProposalRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ProposalRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ProposalRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ProposalRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Listener.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Listener.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Listener.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Listener.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Message.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Message.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Message.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Message.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.AddressTuple.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.AddressTuple.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.AddressTuple.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.AddressTuple.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.LearnerType.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.LearnerType.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.LearnerType.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.LearnerType.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ServerState.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ServerState.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ServerState.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ServerState.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.SyncMode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.SyncMode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.SyncMode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.SyncMode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ZabState.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ZabState.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ZabState.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ZabState.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerMain.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerMain.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerMain.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerMain.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.Provider.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.Provider.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.Provider.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.Provider.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyZooKeeperServer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyZooKeeperServer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyZooKeeperServer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyZooKeeperServer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SendAckRequestProcessor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SendAckRequestProcessor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SendAckRequestProcessor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SendAckRequestProcessor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/StateSummary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/StateSummary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/StateSummary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/StateSummary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncThrottleException.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncThrottleException.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncThrottleException.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncThrottleException.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.UnifiedSocket.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.UnifiedSocket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.UnifiedSocket.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.UnifiedSocket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UpgradeableSessionTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UpgradeableSessionTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UpgradeableSessionTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UpgradeableSessionTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Vote.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Vote.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Vote.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Vote.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumHierarchical.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumHierarchical.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumHierarchical.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumHierarchical.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumMaj.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumMaj.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumMaj.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumMaj.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumOracleMaj.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumOracleMaj.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumOracleMaj.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumOracleMaj.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/AdHash.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/AdHash.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/AdHash.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/AdHash.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/AuthUtil.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/AuthUtil.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/AuthUtil.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/AuthUtil.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/BitHashSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/BitHashSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/BitHashSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/BitHashSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/BitMap.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/BitMap.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/BitMap.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/BitMap.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/CircularBuffer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/CircularBuffer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/CircularBuffer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/CircularBuffer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/ConfigUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/ConfigUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/ConfigUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/ConfigUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/JvmPauseMonitor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/JvmPauseMonitor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/JvmPauseMonitor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/JvmPauseMonitor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/KerberosUtil.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/KerberosUtil.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/KerberosUtil.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/KerberosUtil.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/LogChopper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/LogChopper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/LogChopper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/LogChopper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/MessageTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/MessageTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/MessageTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/MessageTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/OSMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/OSMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/OSMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/OSMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/QuotaMetricsUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/QuotaMetricsUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/QuotaMetricsUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/QuotaMetricsUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/RateLimiter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/RateLimiter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/RateLimiter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/RateLimiter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/RequestPathMetricsCollector.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/RequestPathMetricsCollector.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/RequestPathMetricsCollector.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/RequestPathMetricsCollector.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/SerializeUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/SerializeUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/SerializeUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/SerializeUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/VerifyingFileFactory.Builder.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/VerifyingFileFactory.Builder.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/VerifyingFileFactory.Builder.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/VerifyingFileFactory.Builder.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/VerifyingFileFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/VerifyingFileFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/VerifyingFileFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/VerifyingFileFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/ZxidUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/ZxidUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/ZxidUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/ZxidUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/AdHash.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/AdHash.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/AdHash.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/AdHash.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/AuthUtil.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/AuthUtil.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/AuthUtil.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/AuthUtil.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/BitHashSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/BitHashSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/BitHashSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/BitHashSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/BitMap.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/BitMap.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/BitMap.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/BitMap.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/CircularBuffer.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/CircularBuffer.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/CircularBuffer.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/CircularBuffer.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/ConfigUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/ConfigUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/ConfigUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/ConfigUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/JvmPauseMonitor.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/JvmPauseMonitor.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/JvmPauseMonitor.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/JvmPauseMonitor.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/KerberosUtil.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/KerberosUtil.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/KerberosUtil.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/KerberosUtil.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/LogChopper.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/LogChopper.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/LogChopper.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/LogChopper.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/MessageTracker.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/MessageTracker.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/MessageTracker.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/MessageTracker.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/OSMXBean.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/OSMXBean.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/OSMXBean.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/OSMXBean.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/QuotaMetricsUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/QuotaMetricsUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/QuotaMetricsUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/QuotaMetricsUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/RateLimiter.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/RateLimiter.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/RateLimiter.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/RateLimiter.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/RequestPathMetricsCollector.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/RequestPathMetricsCollector.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/RequestPathMetricsCollector.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/RequestPathMetricsCollector.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/SerializeUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/SerializeUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/SerializeUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/SerializeUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/VerifyingFileFactory.Builder.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/VerifyingFileFactory.Builder.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/VerifyingFileFactory.Builder.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/VerifyingFileFactory.Builder.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/VerifyingFileFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/VerifyingFileFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/VerifyingFileFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/VerifyingFileFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/ZxidUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/ZxidUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/ZxidUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/class-use/ZxidUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/util/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/IDeadWatcherListener.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/IDeadWatcherListener.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/IDeadWatcherListener.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/IDeadWatcherListener.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/IWatchManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/IWatchManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/IWatchManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/IWatchManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/PathParentIterator.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/PathParentIterator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/PathParentIterator.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/PathParentIterator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManagerFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManagerFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManagerFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManagerFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManagerOptimized.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManagerOptimized.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManagerOptimized.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchManagerOptimized.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchStats.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchStats.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchStats.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchStats.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherCleaner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherCleaner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherCleaner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherCleaner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherMode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherMode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherMode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherMode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherOrBitSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherOrBitSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherOrBitSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatcherOrBitSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesPathReport.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesPathReport.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesPathReport.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesPathReport.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesReport.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesReport.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesReport.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesReport.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesSummary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesSummary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesSummary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/WatchesSummary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/IDeadWatcherListener.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/IDeadWatcherListener.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/IDeadWatcherListener.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/IDeadWatcherListener.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/IWatchManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/IWatchManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/IWatchManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/IWatchManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/PathParentIterator.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/PathParentIterator.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/PathParentIterator.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/PathParentIterator.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManager.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManager.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManager.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManager.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManagerFactory.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManagerFactory.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManagerFactory.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManagerFactory.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManagerOptimized.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManagerOptimized.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManagerOptimized.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchManagerOptimized.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchStats.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchStats.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchStats.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchStats.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherCleaner.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherCleaner.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherCleaner.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherCleaner.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherMode.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherMode.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherMode.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherMode.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherOrBitSet.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherOrBitSet.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherOrBitSet.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatcherOrBitSet.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesPathReport.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesPathReport.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesPathReport.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesPathReport.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesReport.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesReport.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesReport.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesReport.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesSummary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesSummary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesSummary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/class-use/WatchesSummary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/server/watch/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/CircularBlockingQueue.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/util/CircularBlockingQueue.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/CircularBlockingQueue.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/util/CircularBlockingQueue.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/PemReader.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/util/PemReader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/PemReader.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/util/PemReader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/SecurityUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/util/SecurityUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/SecurityUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/util/SecurityUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/ServiceUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/util/ServiceUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/ServiceUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/util/ServiceUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/CircularBlockingQueue.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/CircularBlockingQueue.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/CircularBlockingQueue.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/CircularBlockingQueue.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/PemReader.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/PemReader.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/PemReader.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/PemReader.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/SecurityUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/SecurityUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/SecurityUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/SecurityUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/ServiceUtils.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/ServiceUtils.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/ServiceUtils.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/util/class-use/ServiceUtils.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/util/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/util/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/util/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/util/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/util/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/util/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/util/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/Info.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/version/Info.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/Info.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/version/Info.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/VersionInfoMain.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/version/VersionInfoMain.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/VersionInfoMain.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/version/VersionInfoMain.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/class-use/Info.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/version/class-use/Info.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/class-use/Info.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/version/class-use/Info.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/class-use/VersionInfoMain.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/version/class-use/VersionInfoMain.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/class-use/VersionInfoMain.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/version/class-use/VersionInfoMain.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/package-summary.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/version/package-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/package-summary.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/version/package-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/package-tree.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/version/package-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/package-tree.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/version/package-tree.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/package-use.html b/content/apidocs/zookeeper-server/org/apache/zookeeper/version/package-use.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/version/package-use.html rename to content/apidocs/zookeeper-server/org/apache/zookeeper/version/package-use.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/overview-summary.html b/content/apidocs/zookeeper-server/overview-summary.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/overview-summary.html rename to content/apidocs/zookeeper-server/overview-summary.html diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/overview-tree.html b/content/apidocs/zookeeper-server/overview-tree.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/overview-tree.html rename to content/apidocs/zookeeper-server/overview-tree.html diff --git a/content/doc/r3.9.0/apidocs/zookeeper-server/package-search-index.js b/content/apidocs/zookeeper-server/package-search-index.js similarity index 100% rename from content/doc/r3.9.0/apidocs/zookeeper-server/package-search-index.js rename to content/apidocs/zookeeper-server/package-search-index.js diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/package-search-index.zip b/content/apidocs/zookeeper-server/package-search-index.zip similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/package-search-index.zip rename to content/apidocs/zookeeper-server/package-search-index.zip diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/resources/glass.png b/content/apidocs/zookeeper-server/resources/glass.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/resources/glass.png rename to content/apidocs/zookeeper-server/resources/glass.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/resources/x.png b/content/apidocs/zookeeper-server/resources/x.png similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/resources/x.png rename to content/apidocs/zookeeper-server/resources/x.png diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/script.js b/content/apidocs/zookeeper-server/script.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/script.js rename to content/apidocs/zookeeper-server/script.js diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/search.js b/content/apidocs/zookeeper-server/search.js similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/search.js rename to content/apidocs/zookeeper-server/search.js diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/serialized-form.html b/content/apidocs/zookeeper-server/serialized-form.html similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/serialized-form.html rename to content/apidocs/zookeeper-server/serialized-form.html diff --git a/content/doc/r3.7.2/apidocs/zookeeper-server/stylesheet.css b/content/apidocs/zookeeper-server/stylesheet.css similarity index 100% rename from content/doc/r3.7.2/apidocs/zookeeper-server/stylesheet.css rename to content/apidocs/zookeeper-server/stylesheet.css diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/type-search-index.js b/content/apidocs/zookeeper-server/type-search-index.js similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/type-search-index.js rename to content/apidocs/zookeeper-server/type-search-index.js diff --git a/content/doc/r3.9.5/apidocs/zookeeper-server/type-search-index.zip b/content/apidocs/zookeeper-server/type-search-index.zip similarity index 100% rename from content/doc/r3.9.5/apidocs/zookeeper-server/type-search-index.zip rename to content/apidocs/zookeeper-server/type-search-index.zip diff --git a/content/assets/2pc-C7D6TSfi.jpg b/content/assets/2pc-C7D6TSfi.jpg new file mode 100644 index 00000000000..fcf341699bd Binary files /dev/null and b/content/assets/2pc-C7D6TSfi.jpg differ diff --git a/content/assets/Combination-UmHtcqv6.js b/content/assets/Combination-UmHtcqv6.js new file mode 100644 index 00000000000..ce6ed25d3bd --- /dev/null +++ b/content/assets/Combination-UmHtcqv6.js @@ -0,0 +1,41 @@ +import{r as u}from"./chunk-EPOLDU6W-BACfhBcx.js";var ne=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},A=new WeakMap,W=new WeakMap,B={},X=0,K=function(e){return e&&(e.host||K(e.parentNode))},ae=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=K(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},oe=function(e,t,r,n){var a=ae(t,Array.isArray(e)?e:[e]);B[r]||(B[r]=new WeakMap);var o=B[r],l=[],c=new Set,p=new Set(a),g=function(s){!s||c.has(s)||(c.add(s),g(s.parentNode))};a.forEach(g);var v=function(s){!s||p.has(s)||Array.prototype.forEach.call(s.children,function(d){if(c.has(d))v(d);else try{var w=d.getAttribute(n),b=w!==null&&w!=="false",i=(A.get(d)||0)+1,f=(o.get(d)||0)+1;A.set(d,i),o.set(d,f),l.push(d),i===1&&b&&W.set(d,!0),f===1&&d.setAttribute(r,"true"),b||d.setAttribute(n,"true")}catch(h){console.error("aria-hidden: cannot operate on ",d,h)}})};return v(t),c.clear(),X++,function(){l.forEach(function(s){var d=A.get(s)-1,w=o.get(s)-1;A.set(s,d),o.set(s,w),d||(W.has(s)||s.removeAttribute(n),W.delete(s)),w||s.removeAttribute(r)}),X--,X||(A=new WeakMap,A=new WeakMap,W=new WeakMap,B={})}},ze=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),a=ne(e);return a?(n.push.apply(n,Array.from(a.querySelectorAll("[aria-live], script"))),oe(n,a,r,"aria-hidden")):function(){return null}},C=function(){return C=Object.assign||function(t){for(var r,n=1,a=arguments.length;n"u")return Ce;var t=Ee(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},ke=J(),T="data-scroll-locked",Ae=function(e,t,r,n){var a=e.left,o=e.top,l=e.right,c=e.gap;return r===void 0&&(r="margin"),` + .`.concat(ie,` { + overflow: hidden `).concat(n,`; + padding-right: `).concat(c,"px ").concat(n,`; + } + body[`).concat(T,`] { + overflow: hidden `).concat(n,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(n,";"),r==="margin"&&` + padding-left: `.concat(a,`px; + padding-top: `).concat(o,`px; + padding-right: `).concat(l,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(c,"px ").concat(n,`; + `),r==="padding"&&"padding-right: ".concat(c,"px ").concat(n,";")].filter(Boolean).join(""),` + } + + .`).concat(x,` { + right: `).concat(c,"px ").concat(n,`; + } + + .`).concat(I,` { + margin-right: `).concat(c,"px ").concat(n,`; + } + + .`).concat(x," .").concat(x,` { + right: 0 `).concat(n,`; + } + + .`).concat(I," .").concat(I,` { + margin-right: 0 `).concat(n,`; + } + + body[`).concat(T,`] { + `).concat(ue,": ").concat(c,`px; + } +`)},Z=function(){var e=parseInt(document.body.getAttribute(T)||"0",10);return isFinite(e)?e:0},Me=function(){u.useEffect(function(){return document.body.setAttribute(T,(Z()+1).toString()),function(){var e=Z()-1;e<=0?document.body.removeAttribute(T):document.body.setAttribute(T,e.toString())}},[])},Pe=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,a=n===void 0?"margin":n;Me();var o=u.useMemo(function(){return Re(a)},[a]);return u.createElement(ke,{styles:Ae(o,!t,a,r?"":"!important")})},H=!1;if(typeof window<"u")try{var L=Object.defineProperty({},"passive",{get:function(){return H=!0,!0}});window.addEventListener("test",L,L),window.removeEventListener("test",L,L)}catch{H=!1}var M=H?{passive:!1}:!1,Te=function(e){return e.tagName==="TEXTAREA"},ee=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!Te(e)&&r[t]==="visible")},Ne=function(e){return ee(e,"overflowY")},We=function(e){return ee(e,"overflowX")},G=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var a=te(e,n);if(a){var o=re(e,n),l=o[1],c=o[2];if(l>c)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},Be=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},Le=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},te=function(e,t){return e==="v"?Ne(t):We(t)},re=function(e,t){return e==="v"?Be(t):Le(t)},Oe=function(e,t){return e==="h"&&t==="rtl"?-1:1},xe=function(e,t,r,n,a){var o=Oe(e,window.getComputedStyle(t).direction),l=o*n,c=r.target,p=t.contains(c),g=!1,v=l>0,s=0,d=0;do{if(!c)break;var w=re(e,c),b=w[0],i=w[1],f=w[2],h=i-f-o*b;(b||h)&&te(e,c)&&(s+=h,d+=b);var m=c.parentNode;c=m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE?m.host:m}while(!p&&c!==document.body||p&&(t.contains(c)||t===c));return(v&&Math.abs(s)<1||!v&&Math.abs(d)<1)&&(g=!0),g},O=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Q=function(e){return[e.deltaX,e.deltaY]},_=function(e){return e&&"current"in e?e.current:e},Ie=function(e,t){return e[0]===t[0]&&e[1]===t[1]},De=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},Xe=0,P=[];function Ye(e){var t=u.useRef([]),r=u.useRef([0,0]),n=u.useRef(),a=u.useState(Xe++)[0],o=u.useState(J)[0],l=u.useRef(e);u.useEffect(function(){l.current=e},[e]),u.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var i=ce([e.lockRef.current],(e.shards||[]).map(_),!0).filter(Boolean);return i.forEach(function(f){return f.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),i.forEach(function(f){return f.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var c=u.useCallback(function(i,f){if("touches"in i&&i.touches.length===2||i.type==="wheel"&&i.ctrlKey)return!l.current.allowPinchZoom;var h=O(i),m=r.current,S="deltaX"in i?i.deltaX:m[0]-h[0],E="deltaY"in i?i.deltaY:m[1]-h[1],y,k=i.target,R=Math.abs(S)>Math.abs(E)?"h":"v";if("touches"in i&&R==="h"&&k.type==="range")return!1;var N=G(R,k);if(!N)return!0;if(N?y=R:(y=R==="v"?"h":"v",N=G(R,k)),!N)return!1;if(!n.current&&"changedTouches"in i&&(S||E)&&(n.current=y),!y)return!0;var F=n.current||y;return xe(F,f,i,F==="h"?S:E)},[]),p=u.useCallback(function(i){var f=i;if(!(!P.length||P[P.length-1]!==o)){var h="deltaY"in f?Q(f):O(f),m=t.current.filter(function(y){return y.name===f.type&&(y.target===f.target||f.target===y.shadowParent)&&Ie(y.delta,h)})[0];if(m&&m.should){f.cancelable&&f.preventDefault();return}if(!m){var S=(l.current.shards||[]).map(_).filter(Boolean).filter(function(y){return y.contains(f.target)}),E=S.length>0?c(f,S[0]):!l.current.noIsolation;E&&f.cancelable&&f.preventDefault()}}},[]),g=u.useCallback(function(i,f,h,m){var S={name:i,delta:f,target:h,should:m,shadowParent:je(h)};t.current.push(S),setTimeout(function(){t.current=t.current.filter(function(E){return E!==S})},1)},[]),v=u.useCallback(function(i){r.current=O(i),n.current=void 0},[]),s=u.useCallback(function(i){g(i.type,Q(i),i.target,c(i,e.lockRef.current))},[]),d=u.useCallback(function(i){g(i.type,O(i),i.target,c(i,e.lockRef.current))},[]);u.useEffect(function(){return P.push(o),e.setCallbacks({onScrollCapture:s,onWheelCapture:s,onTouchMoveCapture:d}),document.addEventListener("wheel",p,M),document.addEventListener("touchmove",p,M),document.addEventListener("touchstart",v,M),function(){P=P.filter(function(i){return i!==o}),document.removeEventListener("wheel",p,M),document.removeEventListener("touchmove",p,M),document.removeEventListener("touchstart",v,M)}},[]);var w=e.removeScrollBar,b=e.inert;return u.createElement(u.Fragment,null,b?u.createElement(o,{styles:De(a)}):null,w?u.createElement(Pe,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function je(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Ve=me($,Ye);var He=u.forwardRef(function(e,t){return u.createElement(D,C({},e,{ref:t,sideCar:Ve}))});He.classNames=D.classNames;export{He as R,ze as h}; diff --git a/content/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 b/content/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 new file mode 100644 index 00000000000..0acaaff03d4 Binary files /dev/null and b/content/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 differ diff --git a/content/assets/KaTeX_AMS-Regular-DMm9YOAa.woff b/content/assets/KaTeX_AMS-Regular-DMm9YOAa.woff new file mode 100644 index 00000000000..b804d7b33a3 Binary files /dev/null and b/content/assets/KaTeX_AMS-Regular-DMm9YOAa.woff differ diff --git a/content/assets/KaTeX_AMS-Regular-DRggAlZN.ttf b/content/assets/KaTeX_AMS-Regular-DRggAlZN.ttf new file mode 100644 index 00000000000..c6f9a5e7c03 Binary files /dev/null and b/content/assets/KaTeX_AMS-Regular-DRggAlZN.ttf differ diff --git a/content/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf b/content/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf new file mode 100644 index 00000000000..9ff4a5e0442 Binary files /dev/null and b/content/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf differ diff --git a/content/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff b/content/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff new file mode 100644 index 00000000000..9759710d1d3 Binary files /dev/null and b/content/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff differ diff --git a/content/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 b/content/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 new file mode 100644 index 00000000000..f390922ecef Binary files /dev/null and b/content/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 differ diff --git a/content/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff b/content/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff new file mode 100644 index 00000000000..9bdd534fd2b Binary files /dev/null and b/content/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff differ diff --git a/content/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 b/content/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 new file mode 100644 index 00000000000..75344a1f98e Binary files /dev/null and b/content/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 differ diff --git a/content/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf b/content/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf new file mode 100644 index 00000000000..f522294ff0f Binary files /dev/null and b/content/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf differ diff --git a/content/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf b/content/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf new file mode 100644 index 00000000000..4e98259c3b5 Binary files /dev/null and b/content/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf differ diff --git a/content/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff b/content/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff new file mode 100644 index 00000000000..e7730f66275 Binary files /dev/null and b/content/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff differ diff --git a/content/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 b/content/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 new file mode 100644 index 00000000000..395f28beac2 Binary files /dev/null and b/content/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 differ diff --git a/content/assets/KaTeX_Fraktur-Regular-CB_wures.ttf b/content/assets/KaTeX_Fraktur-Regular-CB_wures.ttf new file mode 100644 index 00000000000..b8461b275fa Binary files /dev/null and b/content/assets/KaTeX_Fraktur-Regular-CB_wures.ttf differ diff --git a/content/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 b/content/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 new file mode 100644 index 00000000000..735f6948d63 Binary files /dev/null and b/content/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 differ diff --git a/content/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff b/content/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff new file mode 100644 index 00000000000..acab069f90b Binary files /dev/null and b/content/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff differ diff --git a/content/assets/KaTeX_Main-Bold-Cx986IdX.woff2 b/content/assets/KaTeX_Main-Bold-Cx986IdX.woff2 new file mode 100644 index 00000000000..ab2ad21da6f Binary files /dev/null and b/content/assets/KaTeX_Main-Bold-Cx986IdX.woff2 differ diff --git a/content/assets/KaTeX_Main-Bold-Jm3AIy58.woff b/content/assets/KaTeX_Main-Bold-Jm3AIy58.woff new file mode 100644 index 00000000000..f38136ac1cc Binary files /dev/null and b/content/assets/KaTeX_Main-Bold-Jm3AIy58.woff differ diff --git a/content/assets/KaTeX_Main-Bold-waoOVXN0.ttf b/content/assets/KaTeX_Main-Bold-waoOVXN0.ttf new file mode 100644 index 00000000000..4060e627dc3 Binary files /dev/null and b/content/assets/KaTeX_Main-Bold-waoOVXN0.ttf differ diff --git a/content/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 b/content/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 new file mode 100644 index 00000000000..5931794de4a Binary files /dev/null and b/content/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 differ diff --git a/content/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf b/content/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf new file mode 100644 index 00000000000..dc007977ee7 Binary files /dev/null and b/content/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf differ diff --git a/content/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff b/content/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff new file mode 100644 index 00000000000..67807b0bd4f Binary files /dev/null and b/content/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff differ diff --git a/content/assets/KaTeX_Main-Italic-3WenGoN9.ttf b/content/assets/KaTeX_Main-Italic-3WenGoN9.ttf new file mode 100644 index 00000000000..0e9b0f354ad Binary files /dev/null and b/content/assets/KaTeX_Main-Italic-3WenGoN9.ttf differ diff --git a/content/assets/KaTeX_Main-Italic-BMLOBm91.woff b/content/assets/KaTeX_Main-Italic-BMLOBm91.woff new file mode 100644 index 00000000000..6f43b594b6c Binary files /dev/null and b/content/assets/KaTeX_Main-Italic-BMLOBm91.woff differ diff --git a/content/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 b/content/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 new file mode 100644 index 00000000000..b50920e1388 Binary files /dev/null and b/content/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 differ diff --git a/content/assets/KaTeX_Main-Regular-B22Nviop.woff2 b/content/assets/KaTeX_Main-Regular-B22Nviop.woff2 new file mode 100644 index 00000000000..eb24a7ba282 Binary files /dev/null and b/content/assets/KaTeX_Main-Regular-B22Nviop.woff2 differ diff --git a/content/assets/KaTeX_Main-Regular-Dr94JaBh.woff b/content/assets/KaTeX_Main-Regular-Dr94JaBh.woff new file mode 100644 index 00000000000..21f5812968c Binary files /dev/null and b/content/assets/KaTeX_Main-Regular-Dr94JaBh.woff differ diff --git a/content/assets/KaTeX_Main-Regular-ypZvNtVU.ttf b/content/assets/KaTeX_Main-Regular-ypZvNtVU.ttf new file mode 100644 index 00000000000..dd45e1ed2e1 Binary files /dev/null and b/content/assets/KaTeX_Main-Regular-ypZvNtVU.ttf differ diff --git a/content/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf b/content/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf new file mode 100644 index 00000000000..728ce7a1e2c Binary files /dev/null and b/content/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf differ diff --git a/content/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 b/content/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 new file mode 100644 index 00000000000..29657023adc Binary files /dev/null and b/content/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 differ diff --git a/content/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff b/content/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff new file mode 100644 index 00000000000..0ae390d74c9 Binary files /dev/null and b/content/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff differ diff --git a/content/assets/KaTeX_Math-Italic-DA0__PXp.woff b/content/assets/KaTeX_Math-Italic-DA0__PXp.woff new file mode 100644 index 00000000000..eb5159d4c1c Binary files /dev/null and b/content/assets/KaTeX_Math-Italic-DA0__PXp.woff differ diff --git a/content/assets/KaTeX_Math-Italic-flOr_0UB.ttf b/content/assets/KaTeX_Math-Italic-flOr_0UB.ttf new file mode 100644 index 00000000000..70d559b4e93 Binary files /dev/null and b/content/assets/KaTeX_Math-Italic-flOr_0UB.ttf differ diff --git a/content/assets/KaTeX_Math-Italic-t53AETM-.woff2 b/content/assets/KaTeX_Math-Italic-t53AETM-.woff2 new file mode 100644 index 00000000000..215c143fd78 Binary files /dev/null and b/content/assets/KaTeX_Math-Italic-t53AETM-.woff2 differ diff --git a/content/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf b/content/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf new file mode 100644 index 00000000000..2f65a8a3a6d Binary files /dev/null and b/content/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf differ diff --git a/content/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 b/content/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 new file mode 100644 index 00000000000..cfaa3bda592 Binary files /dev/null and b/content/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 differ diff --git a/content/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff b/content/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff new file mode 100644 index 00000000000..8d47c02d940 Binary files /dev/null and b/content/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff differ diff --git a/content/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 b/content/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 new file mode 100644 index 00000000000..349c06dc609 Binary files /dev/null and b/content/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 differ diff --git a/content/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff b/content/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff new file mode 100644 index 00000000000..7e02df96362 Binary files /dev/null and b/content/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff differ diff --git a/content/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf b/content/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf new file mode 100644 index 00000000000..d5850df98ec Binary files /dev/null and b/content/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf differ diff --git a/content/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf b/content/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf new file mode 100644 index 00000000000..537279f6bd2 Binary files /dev/null and b/content/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf differ diff --git a/content/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff b/content/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff new file mode 100644 index 00000000000..31b84829b42 Binary files /dev/null and b/content/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff differ diff --git a/content/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 b/content/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 new file mode 100644 index 00000000000..a90eea85f6f Binary files /dev/null and b/content/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 differ diff --git a/content/assets/KaTeX_Script-Regular-C5JkGWo-.ttf b/content/assets/KaTeX_Script-Regular-C5JkGWo-.ttf new file mode 100644 index 00000000000..fd679bf374a Binary files /dev/null and b/content/assets/KaTeX_Script-Regular-C5JkGWo-.ttf differ diff --git a/content/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 b/content/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 new file mode 100644 index 00000000000..b3048fc1156 Binary files /dev/null and b/content/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 differ diff --git a/content/assets/KaTeX_Script-Regular-D5yQViql.woff b/content/assets/KaTeX_Script-Regular-D5yQViql.woff new file mode 100644 index 00000000000..0e7da821eee Binary files /dev/null and b/content/assets/KaTeX_Script-Regular-D5yQViql.woff differ diff --git a/content/assets/KaTeX_Size1-Regular-C195tn64.woff b/content/assets/KaTeX_Size1-Regular-C195tn64.woff new file mode 100644 index 00000000000..7f292d91184 Binary files /dev/null and b/content/assets/KaTeX_Size1-Regular-C195tn64.woff differ diff --git a/content/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf b/content/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf new file mode 100644 index 00000000000..871fd7d19d8 Binary files /dev/null and b/content/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf differ diff --git a/content/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 b/content/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 new file mode 100644 index 00000000000..c5a8462fbfe Binary files /dev/null and b/content/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 differ diff --git a/content/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf b/content/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf new file mode 100644 index 00000000000..7a212caf91c Binary files /dev/null and b/content/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf differ diff --git a/content/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 b/content/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 new file mode 100644 index 00000000000..e1bccfe2403 Binary files /dev/null and b/content/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 differ diff --git a/content/assets/KaTeX_Size2-Regular-oD1tc_U0.woff b/content/assets/KaTeX_Size2-Regular-oD1tc_U0.woff new file mode 100644 index 00000000000..d241d9be2d3 Binary files /dev/null and b/content/assets/KaTeX_Size2-Regular-oD1tc_U0.woff differ diff --git a/content/assets/KaTeX_Size3-Regular-CTq5MqoE.woff b/content/assets/KaTeX_Size3-Regular-CTq5MqoE.woff new file mode 100644 index 00000000000..e6e9b658dcf Binary files /dev/null and b/content/assets/KaTeX_Size3-Regular-CTq5MqoE.woff differ diff --git a/content/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf b/content/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf new file mode 100644 index 00000000000..00bff3495fa Binary files /dev/null and b/content/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf differ diff --git a/content/assets/KaTeX_Size4-Regular-BF-4gkZK.woff b/content/assets/KaTeX_Size4-Regular-BF-4gkZK.woff new file mode 100644 index 00000000000..e1ec5457664 Binary files /dev/null and b/content/assets/KaTeX_Size4-Regular-BF-4gkZK.woff differ diff --git a/content/assets/KaTeX_Size4-Regular-DWFBv043.ttf b/content/assets/KaTeX_Size4-Regular-DWFBv043.ttf new file mode 100644 index 00000000000..74f08921f00 Binary files /dev/null and b/content/assets/KaTeX_Size4-Regular-DWFBv043.ttf differ diff --git a/content/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 b/content/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 new file mode 100644 index 00000000000..680c1308507 Binary files /dev/null and b/content/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 differ diff --git a/content/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff b/content/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff new file mode 100644 index 00000000000..2432419f289 Binary files /dev/null and b/content/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff differ diff --git a/content/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 b/content/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 new file mode 100644 index 00000000000..771f1af705f Binary files /dev/null and b/content/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 differ diff --git a/content/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf b/content/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf new file mode 100644 index 00000000000..c83252c5714 Binary files /dev/null and b/content/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf differ diff --git a/content/assets/access-control-using-acls-BO_ui9UJ.js b/content/assets/access-control-using-acls-BO_ui9UJ.js new file mode 100644 index 00000000000..ab78a762963 --- /dev/null +++ b/content/assets/access-control-using-acls-BO_ui9UJ.js @@ -0,0 +1,661 @@ +import{j as e}from"./chunk-EPOLDU6W-BACfhBcx.js";let r=`ZooKeeper uses ACLs to control access to its znodes (the +data nodes of a ZooKeeper data tree). The ACL implementation is +quite similar to UNIX file access permissions: it employs +permission bits to allow/disallow various operations against a +node and the scope to which the bits apply. Unlike standard UNIX +permissions, a ZooKeeper node is not limited by the three standard +scopes for user (owner of the file), group, and world +(other). ZooKeeper does not have a notion of an owner of a +znode. Instead, an ACL specifies sets of ids and permissions that +are associated with those ids. + +Note also that an ACL pertains only to a specific znode. In +particular it does not apply to children. For example, if +*/app* is only readable by ip:172.16.16.1 and +*/app/status* is world readable, anyone will +be able to read */app/status*; ACLs are not +recursive. + +ZooKeeper supports pluggable authentication schemes. Ids are +specified using the form *scheme:expression*, +where *scheme* is the authentication scheme +that the id corresponds to. The set of valid expressions are defined +by the scheme. For example, *ip:172.16.16.1* is +an id for a host with the address *172.16.16.1* +using the *ip* scheme, whereas *digest:bob:password* +is an id for the user with the name of *bob* using +the *digest* scheme. + +When a client connects to ZooKeeper and authenticates +itself, ZooKeeper associates all the ids that correspond to a +client with the clients connection. These ids are checked against +the ACLs of znodes when a client tries to access a node. ACLs are +made up of pairs of *(scheme:expression, +perms)*. The format of +the *expression* is specific to the scheme. For +example, the pair *(ip:19.22.0.0/16, READ)* +gives the *READ* permission to any clients with +an IP address that starts with 19.22. + +## ACL Permissions + +ZooKeeper supports the following permissions: + +* **CREATE**: you can create a child node +* **READ**: you can get data from a node and list its children. +* **WRITE**: you can set data for a node +* **DELETE**: you can delete a child node +* **ADMIN**: you can set permissions + +The *CREATE* +and *DELETE* permissions have been broken out +of the *WRITE* permission for finer grained +access controls. The cases for *CREATE* +and *DELETE* are the following: + +You want A to be able to do a set on a ZooKeeper node, but +not be able to *CREATE* +or *DELETE* children. + +*CREATE* +without *DELETE*: clients create requests by +creating ZooKeeper nodes in a parent directory. You want all +clients to be able to add, but only request processor can +delete. (This is kind of like the APPEND permission for +files.) + +Also, the *ADMIN* permission is there +since ZooKeeper doesn’t have a notion of file owner. In some +sense the *ADMIN* permission designates the +entity as the owner. ZooKeeper doesn’t support the LOOKUP +permission (execute permission bit on directories to allow you +to LOOKUP even though you can't list the directory). Everyone +implicitly has LOOKUP permission. This allows you to stat a +node, but nothing more. (The problem is, if you want to call +zoo\\_exists() on a node that doesn't exist, there is no +permission to check.) + +*ADMIN* permission also has a special role in terms of ACLs: +in order to retrieve ACLs of a znode user has to have *READ* or *ADMIN* +permission, but without *ADMIN* permission, digest hash values will be +masked out. + +As of versions **3.9.2 / 3.8.4 / 3.7.3** the exists() call will now verify ACLs +on nodes that exist and the client must have READ permission otherwise +'Insufficient permission' error will be raised. + +### Builtin ACL Schemes + +ZooKeeper has the following built in schemes: + +* **world** has a + single id, *anyone*, that represents + anyone. +* **auth** is a special + scheme which ignores any provided expression and instead uses the current user, + credentials, and scheme. Any expression (whether *user* like with SASL + authentication or *user:password* like with DIGEST authentication) provided is ignored + by the ZooKeeper server when persisting the ACL. However, the expression must still be + provided in the ACL because the ACL must match the form *scheme:expression:perms*. + This scheme is provided as a convenience as it is a common use-case for + a user to create a znode and then restrict access to that znode to only that user. + If there is no authenticated user, setting an ACL with the auth scheme will fail. +* **digest** uses + a *username:password* string to generate + MD5 hash which is then used as an ACL ID + identity. Authentication is done by sending + the *username:password* in clear text. When + used in the ACL the expression will be + the *username:base64* + encoded *SHA1* + password *digest*. +* **ip** uses the + client host IP as an ACL ID identity. The ACL expression is of + the form *addr/bits* where the most + significant *bits* + of *addr* are matched against the most + significant *bits* of the client host + IP. +* **x509** uses the client + X500 Principal as an ACL ID identity. The ACL expression is the exact + X500 Principal name of a client. When using the secure port, clients + are automatically authenticated and their auth info for the x509 scheme + is set. + +### ZooKeeper C client API + +The following constants are provided by the ZooKeeper C +library: + +* *const* *int* ZOO\\_PERM\\_READ; //can read node’s value and list its children +* *const* *int* ZOO\\_PERM\\_WRITE;// can set the node’s value +* *const* *int* ZOO\\_PERM\\_CREATE; //can create children +* *const* *int* ZOO\\_PERM\\_DELETE;// can delete children +* *const* *int* ZOO\\_PERM\\_ADMIN; //can execute set\\_acl() +* *const* *int* ZOO\\_PERM\\_ALL;// all of the above flags OR’d together + +The following are the standard ACL IDs: + +* *struct* Id ZOO\\_ANYONE\\_ID\\_UNSAFE; //(‘world’,’anyone’) +* *struct* Id ZOO\\_AUTH\\_IDS;// (‘auth’,’’) + +ZOO\\_AUTH\\_IDS empty identity string should be interpreted as “the identity of the creator”. + +ZooKeeper client comes with three standard ACLs: + +* *struct* ACL\\_vector ZOO\\_OPEN\\_ACL\\_UNSAFE; //(ZOO\\_PERM\\_ALL,ZOO\\_ANYONE\\_ID\\_UNSAFE) +* *struct* ACL\\_vector ZOO\\_READ\\_ACL\\_UNSAFE;// (ZOO\\_PERM\\_READ, ZOO\\_ANYONE\\_ID\\_UNSAFE) +* *struct* ACL\\_vector ZOO\\_CREATOR\\_ALL\\_ACL; //(ZOO\\_PERM\\_ALL,ZOO\\_AUTH\\_IDS) + +The ZOO*OPEN\\_ACL\\_UNSAFE is completely open free for all +ACL: any application can execute any operation on the node and +can create, list and delete its children. The +ZOO\\_READ\\_ACL\\_UNSAFE is read-only access for any +application. CREATE\\_ALL\\_ACL grants all permissions to the +creator of the node. The creator must have been authenticated by +the server (for example, using “\\_digest*” +scheme) before it can create nodes with this ACL. + +The following ZooKeeper operations deal with ACLs: + +* *int* *zoo\\_add\\_auth* + (zhandle*t \\*zh,\\_const* *char\\_\\_ + scheme,*const* *char** + cert, *int* certLen, void*completion\\_t + completion, \\_const* *void* + \\*data); + + The application uses the zoo\\_add\\_auth function to + authenticate itself to the server. The function can be called + multiple times if the application wants to authenticate using + different schemes and/or identities. + +* *int* *zoo\\_create* + (zhandle*t \\*zh, \\_const* *char* + \\*path, *const* *char* + \\*value,*int* + valuelen, *const* *struct* + ACL*vector \\*acl, \\_int* + flags,*char* + \\*realpath, *int* + max\\_realpath\\_len); + + zoo\\_create(...) operation creates a new node. The acl + parameter is a list of ACLs associated with the node. The parent + node must have the CREATE permission bit set. + +* *int* *zoo\\_get\\_acl* + (zhandle*t \\*zh, \\_const* *char* + \\*path,*struct* ACL*vector + \\*acl, \\_struct* Stat \\*stat); + + This operation returns a node’s ACL info. The node must have READ or ADMIN + permission set. Without ADMIN permission, the digest hash values will be masked out. + +* *int* *zoo\\_set\\_acl* + (zhandle*t \\*zh, \\_const* *char* + \\*path, *int* + version,*const* *struct* + ACL\\_vector \\*acl); + + This function replaces node’s ACL list with a new one. The + node must have the ADMIN permission set. + +Here is a sample code that makes use of the above APIs to +authenticate itself using the “*foo*” scheme +and create an ephemeral node “/xyz” with create-only +permissions. + + + This is a very simple example which is intended to show how to interact with + ZooKeeper ACLs specifically. See + *.../trunk/zookeeper-client/zookeeper-client-c/src/cli.c* for an example of a + C client implementation + + +\`\`\`c +#include +#include + +#include "zookeeper.h" + +static zhandle_t *zh; + +/** + * In this example this method gets the cert for your + * environment -- you must provide + */ +char *foo_get_cert_once(char* id) { return 0; } + +/** Watcher function -- empty for this example, not something you should + * do in real code */ +void watcher(zhandle_t *zzh, int type, int state, const char *path, + void *watcherCtx) {} + +int main(int argc, char argv) { + char buffer[512]; + char p[2048]; + char *cert=0; + char appId[64]; + + strcpy(appId, "example.foo_test"); + cert = foo_get_cert_once(appId); + if(cert!=0) { + fprintf(stderr, + "Certificate for appid [%s] is [%s]\\n",appId,cert); + strncpy(p,cert, sizeof(p)-1); + free(cert); + } else { + fprintf(stderr, "Certificate for appid [%s] not found\\n",appId); + strcpy(p, "dummy"); + } + + zoo_set_debug_level(ZOO_LOG_LEVEL_DEBUG); + + zh = zookeeper_init("localhost:3181", watcher, 10000, 0, 0, 0); + if (!zh) { + return errno; + } + if(zoo_add_auth(zh,"foo",p,strlen(p),0,0)!=ZOK) + return 2; + + struct ACL CREATE_ONLY_ACL[] = {{ZOO_PERM_CREATE, ZOO_AUTH_IDS}}; + struct ACL_vector CREATE_ONLY = {1, CREATE_ONLY_ACL}; + int rc = zoo_create(zh,"/xyz","value", 5, &CREATE_ONLY, ZOO_EPHEMERAL, + buffer, sizeof(buffer)-1); + + /** this operation will fail with a ZNOAUTH error */ + int buflen= sizeof(buffer); + struct Stat stat; + rc = zoo_get(zh, "/xyz", 0, buffer, &buflen, &stat); + if (rc) { + fprintf(stderr, "Error %d for %s\\n", rc, __LINE__); + } + + zookeeper_close(zh); + return 0; +} +\`\`\` +`,l={title:"Access Control using ACLs",description:"Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API."},o=[],c={contents:[{heading:void 0,content:`ZooKeeper uses ACLs to control access to its znodes (the +data nodes of a ZooKeeper data tree). The ACL implementation is +quite similar to UNIX file access permissions: it employs +permission bits to allow/disallow various operations against a +node and the scope to which the bits apply. Unlike standard UNIX +permissions, a ZooKeeper node is not limited by the three standard +scopes for user (owner of the file), group, and world +(other). ZooKeeper does not have a notion of an owner of a +znode. Instead, an ACL specifies sets of ids and permissions that +are associated with those ids.`},{heading:void 0,content:`Note also that an ACL pertains only to a specific znode. In +particular it does not apply to children. For example, if +/app is only readable by ip:172.16.16.1 and +/app/status is world readable, anyone will +be able to read /app/status; ACLs are not +recursive.`},{heading:void 0,content:`ZooKeeper supports pluggable authentication schemes. Ids are +specified using the form scheme:expression, +where scheme is the authentication scheme +that the id corresponds to. The set of valid expressions are defined +by the scheme. For example, ip:172.16.16.1 is +an id for a host with the address 172.16.16.1 +using the ip scheme, whereas digest:bob:password +is an id for the user with the name of bob using +the digest scheme.`},{heading:void 0,content:`When a client connects to ZooKeeper and authenticates +itself, ZooKeeper associates all the ids that correspond to a +client with the clients connection. These ids are checked against +the ACLs of znodes when a client tries to access a node. ACLs are +made up of pairs of (scheme:expression, +perms). The format of +the expression is specific to the scheme. For +example, the pair (ip:19.22.0.0/16, READ) +gives the READ permission to any clients with +an IP address that starts with 19.22.`},{heading:"acl-permissions",content:"ZooKeeper supports the following permissions:"},{heading:"acl-permissions",content:"CREATE: you can create a child node"},{heading:"acl-permissions",content:"READ: you can get data from a node and list its children."},{heading:"acl-permissions",content:"WRITE: you can set data for a node"},{heading:"acl-permissions",content:"DELETE: you can delete a child node"},{heading:"acl-permissions",content:"ADMIN: you can set permissions"},{heading:"acl-permissions",content:`The CREATE +and DELETE permissions have been broken out +of the WRITE permission for finer grained +access controls. The cases for CREATE +and DELETE are the following:`},{heading:"acl-permissions",content:`You want A to be able to do a set on a ZooKeeper node, but +not be able to CREATE +or DELETE children.`},{heading:"acl-permissions",content:`CREATE +without DELETE: clients create requests by +creating ZooKeeper nodes in a parent directory. You want all +clients to be able to add, but only request processor can +delete. (This is kind of like the APPEND permission for +files.)`},{heading:"acl-permissions",content:`Also, the ADMIN permission is there +since ZooKeeper doesn’t have a notion of file owner. In some +sense the ADMIN permission designates the +entity as the owner. ZooKeeper doesn’t support the LOOKUP +permission (execute permission bit on directories to allow you +to LOOKUP even though you can't list the directory). Everyone +implicitly has LOOKUP permission. This allows you to stat a +node, but nothing more. (The problem is, if you want to call +zoo_exists() on a node that doesn't exist, there is no +permission to check.)`},{heading:"acl-permissions",content:`ADMIN permission also has a special role in terms of ACLs: +in order to retrieve ACLs of a znode user has to have READ or ADMIN +permission, but without ADMIN permission, digest hash values will be +masked out.`},{heading:"acl-permissions",content:`As of versions 3.9.2 / 3.8.4 / 3.7.3 the exists() call will now verify ACLs +on nodes that exist and the client must have READ permission otherwise +'Insufficient permission' error will be raised.`},{heading:"builtin-acl-schemes",content:"ZooKeeper has the following built in schemes:"},{heading:"builtin-acl-schemes",content:`world has a +single id, anyone, that represents +anyone.`},{heading:"builtin-acl-schemes",content:`auth is a special +scheme which ignores any provided expression and instead uses the current user, +credentials, and scheme. Any expression (whether user like with SASL +authentication or user:password like with DIGEST authentication) provided is ignored +by the ZooKeeper server when persisting the ACL. However, the expression must still be +provided in the ACL because the ACL must match the form scheme:expression:perms. +This scheme is provided as a convenience as it is a common use-case for +a user to create a znode and then restrict access to that znode to only that user. +If there is no authenticated user, setting an ACL with the auth scheme will fail.`},{heading:"builtin-acl-schemes",content:`digest uses +a username:password string to generate +MD5 hash which is then used as an ACL ID +identity. Authentication is done by sending +the username:password in clear text. When +used in the ACL the expression will be +the username:base64 +encoded SHA1 +password digest.`},{heading:"builtin-acl-schemes",content:`ip uses the +client host IP as an ACL ID identity. The ACL expression is of +the form addr/bits where the most +significant bits +of addr are matched against the most +significant bits of the client host +IP.`},{heading:"builtin-acl-schemes",content:`x509 uses the client +X500 Principal as an ACL ID identity. The ACL expression is the exact +X500 Principal name of a client. When using the secure port, clients +are automatically authenticated and their auth info for the x509 scheme +is set.`},{heading:"zookeeper-c-client-api",content:`The following constants are provided by the ZooKeeper C +library:`},{heading:"zookeeper-c-client-api",content:"const int ZOO_PERM_READ; //can read node’s value and list its children"},{heading:"zookeeper-c-client-api",content:"const int ZOO_PERM_WRITE;// can set the node’s value"},{heading:"zookeeper-c-client-api",content:"const int ZOO_PERM_CREATE; //can create children"},{heading:"zookeeper-c-client-api",content:"const int ZOO_PERM_DELETE;// can delete children"},{heading:"zookeeper-c-client-api",content:"const int ZOO_PERM_ADMIN; //can execute set_acl()"},{heading:"zookeeper-c-client-api",content:"const int ZOO_PERM_ALL;// all of the above flags OR’d together"},{heading:"zookeeper-c-client-api",content:"The following are the standard ACL IDs:"},{heading:"zookeeper-c-client-api",content:"struct Id ZOO_ANYONE_ID_UNSAFE; //(‘world’,’anyone’)"},{heading:"zookeeper-c-client-api",content:"struct Id ZOO_AUTH_IDS;// (‘auth’,’’)"},{heading:"zookeeper-c-client-api",content:"ZOO_AUTH_IDS empty identity string should be interpreted as “the identity of the creator”."},{heading:"zookeeper-c-client-api",content:"ZooKeeper client comes with three standard ACLs:"},{heading:"zookeeper-c-client-api",content:"struct ACL_vector ZOO_OPEN_ACL_UNSAFE; //(ZOO_PERM_ALL,ZOO_ANYONE_ID_UNSAFE)"},{heading:"zookeeper-c-client-api",content:"struct ACL_vector ZOO_READ_ACL_UNSAFE;// (ZOO_PERM_READ, ZOO_ANYONE_ID_UNSAFE)"},{heading:"zookeeper-c-client-api",content:"struct ACL_vector ZOO_CREATOR_ALL_ACL; //(ZOO_PERM_ALL,ZOO_AUTH_IDS)"},{heading:"zookeeper-c-client-api",content:`The ZOOOPEN_ACL_UNSAFE is completely open free for all +ACL: any application can execute any operation on the node and +can create, list and delete its children. The +ZOO_READ_ACL_UNSAFE is read-only access for any +application. CREATE_ALL_ACL grants all permissions to the +creator of the node. The creator must have been authenticated by +the server (for example, using “_digest” +scheme) before it can create nodes with this ACL.`},{heading:"zookeeper-c-client-api",content:"The following ZooKeeper operations deal with ACLs:"},{heading:"zookeeper-c-client-api",content:`int zoo_add_auth +(zhandlet *zh,_const char__ +scheme,const char +cert, int certLen, voidcompletion_t +completion, _const void +*data);`},{heading:"zookeeper-c-client-api",content:`The application uses the zoo_add_auth function to +authenticate itself to the server. The function can be called +multiple times if the application wants to authenticate using +different schemes and/or identities.`},{heading:"zookeeper-c-client-api",content:`int zoo_create +(zhandlet *zh, _const char +*path, const char +*value,int +valuelen, const struct +ACLvector *acl, _int +flags,char +*realpath, int +max_realpath_len);`},{heading:"zookeeper-c-client-api",content:`zoo_create(...) operation creates a new node. The acl +parameter is a list of ACLs associated with the node. The parent +node must have the CREATE permission bit set.`},{heading:"zookeeper-c-client-api",content:`int zoo_get_acl +(zhandlet *zh, _const char +*path,struct ACLvector +*acl, _struct Stat *stat);`},{heading:"zookeeper-c-client-api",content:`This operation returns a node’s ACL info. The node must have READ or ADMIN +permission set. Without ADMIN permission, the digest hash values will be masked out.`},{heading:"zookeeper-c-client-api",content:`int zoo_set_acl +(zhandlet *zh, _const char +*path, int +version,const struct +ACL_vector *acl);`},{heading:"zookeeper-c-client-api",content:`This function replaces node’s ACL list with a new one. The +node must have the ADMIN permission set.`},{heading:"zookeeper-c-client-api",content:`Here is a sample code that makes use of the above APIs to +authenticate itself using the “foo” scheme +and create an ephemeral node “/xyz” with create-only +permissions.`},{heading:"zookeeper-c-client-api",content:"type: info"},{heading:"zookeeper-c-client-api",content:`This is a very simple example which is intended to show how to interact with +ZooKeeper ACLs specifically. See +.../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example of a +C client implementation`}],headings:[{id:"acl-permissions",content:"ACL Permissions"},{id:"builtin-acl-schemes",content:"Builtin ACL Schemes"},{id:"zookeeper-c-client-api",content:"ZooKeeper C client API"}]};const d=[{depth:2,url:"#acl-permissions",title:e.jsx(e.Fragment,{children:"ACL Permissions"})},{depth:3,url:"#builtin-acl-schemes",title:e.jsx(e.Fragment,{children:"Builtin ACL Schemes"})},{depth:3,url:"#zookeeper-c-client-api",title:e.jsx(e.Fragment,{children:"ZooKeeper C client API"})}];function t(i){const s={code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",span:"span",strong:"strong",ul:"ul",...i.components},{Callout:n}=s;return n||h("Callout"),e.jsxs(e.Fragment,{children:[e.jsx(s.p,{children:`ZooKeeper uses ACLs to control access to its znodes (the +data nodes of a ZooKeeper data tree). The ACL implementation is +quite similar to UNIX file access permissions: it employs +permission bits to allow/disallow various operations against a +node and the scope to which the bits apply. Unlike standard UNIX +permissions, a ZooKeeper node is not limited by the three standard +scopes for user (owner of the file), group, and world +(other). ZooKeeper does not have a notion of an owner of a +znode. Instead, an ACL specifies sets of ids and permissions that +are associated with those ids.`}),` +`,e.jsxs(s.p,{children:[`Note also that an ACL pertains only to a specific znode. In +particular it does not apply to children. For example, if +`,e.jsx(s.em,{children:"/app"}),` is only readable by ip:172.16.16.1 and +`,e.jsx(s.em,{children:"/app/status"}),` is world readable, anyone will +be able to read `,e.jsx(s.em,{children:"/app/status"}),`; ACLs are not +recursive.`]}),` +`,e.jsxs(s.p,{children:[`ZooKeeper supports pluggable authentication schemes. Ids are +specified using the form `,e.jsx(s.em,{children:"scheme:expression"}),`, +where `,e.jsx(s.em,{children:"scheme"}),` is the authentication scheme +that the id corresponds to. The set of valid expressions are defined +by the scheme. For example, `,e.jsx(s.em,{children:"ip:172.16.16.1"}),` is +an id for a host with the address `,e.jsx(s.em,{children:"172.16.16.1"}),` +using the `,e.jsx(s.em,{children:"ip"})," scheme, whereas ",e.jsx(s.em,{children:"digest:bob:password"}),` +is an id for the user with the name of `,e.jsx(s.em,{children:"bob"}),` using +the `,e.jsx(s.em,{children:"digest"})," scheme."]}),` +`,e.jsxs(s.p,{children:[`When a client connects to ZooKeeper and authenticates +itself, ZooKeeper associates all the ids that correspond to a +client with the clients connection. These ids are checked against +the ACLs of znodes when a client tries to access a node. ACLs are +made up of pairs of `,e.jsx(s.em,{children:`(scheme:expression, +perms)`}),`. The format of +the `,e.jsx(s.em,{children:"expression"}),` is specific to the scheme. For +example, the pair `,e.jsx(s.em,{children:"(ip:19.22.0.0/16, READ)"}),` +gives the `,e.jsx(s.em,{children:"READ"}),` permission to any clients with +an IP address that starts with 19.22.`]}),` +`,e.jsx(s.h2,{id:"acl-permissions",children:"ACL Permissions"}),` +`,e.jsx(s.p,{children:"ZooKeeper supports the following permissions:"}),` +`,e.jsxs(s.ul,{children:[` +`,e.jsxs(s.li,{children:[e.jsx(s.strong,{children:"CREATE"}),": you can create a child node"]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.strong,{children:"READ"}),": you can get data from a node and list its children."]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.strong,{children:"WRITE"}),": you can set data for a node"]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.strong,{children:"DELETE"}),": you can delete a child node"]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.strong,{children:"ADMIN"}),": you can set permissions"]}),` +`]}),` +`,e.jsxs(s.p,{children:["The ",e.jsx(s.em,{children:"CREATE"}),` +and `,e.jsx(s.em,{children:"DELETE"}),` permissions have been broken out +of the `,e.jsx(s.em,{children:"WRITE"}),` permission for finer grained +access controls. The cases for `,e.jsx(s.em,{children:"CREATE"}),` +and `,e.jsx(s.em,{children:"DELETE"})," are the following:"]}),` +`,e.jsxs(s.p,{children:[`You want A to be able to do a set on a ZooKeeper node, but +not be able to `,e.jsx(s.em,{children:"CREATE"}),` +or `,e.jsx(s.em,{children:"DELETE"})," children."]}),` +`,e.jsxs(s.p,{children:[e.jsx(s.em,{children:"CREATE"}),` +without `,e.jsx(s.em,{children:"DELETE"}),`: clients create requests by +creating ZooKeeper nodes in a parent directory. You want all +clients to be able to add, but only request processor can +delete. (This is kind of like the APPEND permission for +files.)`]}),` +`,e.jsxs(s.p,{children:["Also, the ",e.jsx(s.em,{children:"ADMIN"}),` permission is there +since ZooKeeper doesn’t have a notion of file owner. In some +sense the `,e.jsx(s.em,{children:"ADMIN"}),` permission designates the +entity as the owner. ZooKeeper doesn’t support the LOOKUP +permission (execute permission bit on directories to allow you +to LOOKUP even though you can't list the directory). Everyone +implicitly has LOOKUP permission. This allows you to stat a +node, but nothing more. (The problem is, if you want to call +zoo_exists() on a node that doesn't exist, there is no +permission to check.)`]}),` +`,e.jsxs(s.p,{children:[e.jsx(s.em,{children:"ADMIN"}),` permission also has a special role in terms of ACLs: +in order to retrieve ACLs of a znode user has to have `,e.jsx(s.em,{children:"READ"})," or ",e.jsx(s.em,{children:"ADMIN"}),` +permission, but without `,e.jsx(s.em,{children:"ADMIN"}),` permission, digest hash values will be +masked out.`]}),` +`,e.jsxs(s.p,{children:["As of versions ",e.jsx(s.strong,{children:"3.9.2 / 3.8.4 / 3.7.3"}),` the exists() call will now verify ACLs +on nodes that exist and the client must have READ permission otherwise +'Insufficient permission' error will be raised.`]}),` +`,e.jsx(s.h3,{id:"builtin-acl-schemes",children:"Builtin ACL Schemes"}),` +`,e.jsx(s.p,{children:"ZooKeeper has the following built in schemes:"}),` +`,e.jsxs(s.ul,{children:[` +`,e.jsxs(s.li,{children:[e.jsx(s.strong,{children:"world"}),` has a +single id, `,e.jsx(s.em,{children:"anyone"}),`, that represents +anyone.`]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.strong,{children:"auth"}),` is a special +scheme which ignores any provided expression and instead uses the current user, +credentials, and scheme. Any expression (whether `,e.jsx(s.em,{children:"user"}),` like with SASL +authentication or `,e.jsx(s.em,{children:"user:password"}),` like with DIGEST authentication) provided is ignored +by the ZooKeeper server when persisting the ACL. However, the expression must still be +provided in the ACL because the ACL must match the form `,e.jsx(s.em,{children:"scheme:expression:perms"}),`. +This scheme is provided as a convenience as it is a common use-case for +a user to create a znode and then restrict access to that znode to only that user. +If there is no authenticated user, setting an ACL with the auth scheme will fail.`]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.strong,{children:"digest"}),` uses +a `,e.jsx(s.em,{children:"username:password"}),` string to generate +MD5 hash which is then used as an ACL ID +identity. Authentication is done by sending +the `,e.jsx(s.em,{children:"username:password"}),` in clear text. When +used in the ACL the expression will be +the `,e.jsx(s.em,{children:"username:base64"}),` +encoded `,e.jsx(s.em,{children:"SHA1"}),` +password `,e.jsx(s.em,{children:"digest"}),"."]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.strong,{children:"ip"}),` uses the +client host IP as an ACL ID identity. The ACL expression is of +the form `,e.jsx(s.em,{children:"addr/bits"}),` where the most +significant `,e.jsx(s.em,{children:"bits"}),` +of `,e.jsx(s.em,{children:"addr"}),` are matched against the most +significant `,e.jsx(s.em,{children:"bits"}),` of the client host +IP.`]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.strong,{children:"x509"}),` uses the client +X500 Principal as an ACL ID identity. The ACL expression is the exact +X500 Principal name of a client. When using the secure port, clients +are automatically authenticated and their auth info for the x509 scheme +is set.`]}),` +`]}),` +`,e.jsx(s.h3,{id:"zookeeper-c-client-api",children:"ZooKeeper C client API"}),` +`,e.jsx(s.p,{children:`The following constants are provided by the ZooKeeper C +library:`}),` +`,e.jsxs(s.ul,{children:[` +`,e.jsxs(s.li,{children:[e.jsx(s.em,{children:"const"})," ",e.jsx(s.em,{children:"int"})," ZOO_PERM_READ; //can read node’s value and list its children"]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.em,{children:"const"})," ",e.jsx(s.em,{children:"int"})," ZOO_PERM_WRITE;// can set the node’s value"]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.em,{children:"const"})," ",e.jsx(s.em,{children:"int"})," ZOO_PERM_CREATE; //can create children"]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.em,{children:"const"})," ",e.jsx(s.em,{children:"int"})," ZOO_PERM_DELETE;// can delete children"]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.em,{children:"const"})," ",e.jsx(s.em,{children:"int"})," ZOO_PERM_ADMIN; //can execute set_acl()"]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.em,{children:"const"})," ",e.jsx(s.em,{children:"int"})," ZOO_PERM_ALL;// all of the above flags OR’d together"]}),` +`]}),` +`,e.jsx(s.p,{children:"The following are the standard ACL IDs:"}),` +`,e.jsxs(s.ul,{children:[` +`,e.jsxs(s.li,{children:[e.jsx(s.em,{children:"struct"})," Id ZOO_ANYONE_ID_UNSAFE; //(‘world’,’anyone’)"]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.em,{children:"struct"})," Id ZOO_AUTH_IDS;// (‘auth’,’’)"]}),` +`]}),` +`,e.jsx(s.p,{children:"ZOO_AUTH_IDS empty identity string should be interpreted as “the identity of the creator”."}),` +`,e.jsx(s.p,{children:"ZooKeeper client comes with three standard ACLs:"}),` +`,e.jsxs(s.ul,{children:[` +`,e.jsxs(s.li,{children:[e.jsx(s.em,{children:"struct"})," ACL_vector ZOO_OPEN_ACL_UNSAFE; //(ZOO_PERM_ALL,ZOO_ANYONE_ID_UNSAFE)"]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.em,{children:"struct"})," ACL_vector ZOO_READ_ACL_UNSAFE;// (ZOO_PERM_READ, ZOO_ANYONE_ID_UNSAFE)"]}),` +`,e.jsxs(s.li,{children:[e.jsx(s.em,{children:"struct"})," ACL_vector ZOO_CREATOR_ALL_ACL; //(ZOO_PERM_ALL,ZOO_AUTH_IDS)"]}),` +`]}),` +`,e.jsxs(s.p,{children:["The ZOO",e.jsx(s.em,{children:`OPEN_ACL_UNSAFE is completely open free for all +ACL: any application can execute any operation on the node and +can create, list and delete its children. The +ZOO_READ_ACL_UNSAFE is read-only access for any +application. CREATE_ALL_ACL grants all permissions to the +creator of the node. The creator must have been authenticated by +the server (for example, using “_digest`}),`” +scheme) before it can create nodes with this ACL.`]}),` +`,e.jsx(s.p,{children:"The following ZooKeeper operations deal with ACLs:"}),` +`,e.jsxs(s.ul,{children:[` +`,e.jsxs(s.li,{children:[` +`,e.jsxs(s.p,{children:[e.jsx(s.em,{children:"int"})," ",e.jsx(s.em,{children:"zoo_add_auth"}),` +(zhandle`,e.jsx(s.em,{children:"t *zh,_const"})," ",e.jsxs(s.em,{children:[`char__ +scheme,`,e.jsx(s.em,{children:"const"})," ",e.jsx(s.em,{children:"char"})]}),` +cert, `,e.jsx(s.em,{children:"int"})," certLen, void",e.jsx(s.em,{children:`completion_t +completion, _const`})," ",e.jsx(s.em,{children:"void"}),` +*data);`]}),` +`,e.jsx(s.p,{children:`The application uses the zoo_add_auth function to +authenticate itself to the server. The function can be called +multiple times if the application wants to authenticate using +different schemes and/or identities.`}),` +`]}),` +`,e.jsxs(s.li,{children:[` +`,e.jsxs(s.p,{children:[e.jsx(s.em,{children:"int"})," ",e.jsx(s.em,{children:"zoo_create"}),` +(zhandle`,e.jsx(s.em,{children:"t *zh, _const"})," ",e.jsx(s.em,{children:"char"}),` +*path, `,e.jsx(s.em,{children:"const"})," ",e.jsx(s.em,{children:"char"}),` +*value,`,e.jsx(s.em,{children:"int"}),` +valuelen, `,e.jsx(s.em,{children:"const"})," ",e.jsx(s.em,{children:"struct"}),` +ACL`,e.jsx(s.em,{children:"vector *acl, _int"}),` +flags,`,e.jsx(s.em,{children:"char"}),` +*realpath, `,e.jsx(s.em,{children:"int"}),` +max_realpath_len);`]}),` +`,e.jsx(s.p,{children:`zoo_create(...) operation creates a new node. The acl +parameter is a list of ACLs associated with the node. The parent +node must have the CREATE permission bit set.`}),` +`]}),` +`,e.jsxs(s.li,{children:[` +`,e.jsxs(s.p,{children:[e.jsx(s.em,{children:"int"})," ",e.jsx(s.em,{children:"zoo_get_acl"}),` +(zhandle`,e.jsx(s.em,{children:"t *zh, _const"})," ",e.jsx(s.em,{children:"char"}),` +*path,`,e.jsx(s.em,{children:"struct"})," ACL",e.jsx(s.em,{children:`vector +*acl, _struct`})," Stat *stat);"]}),` +`,e.jsx(s.p,{children:`This operation returns a node’s ACL info. The node must have READ or ADMIN +permission set. Without ADMIN permission, the digest hash values will be masked out.`}),` +`]}),` +`,e.jsxs(s.li,{children:[` +`,e.jsxs(s.p,{children:[e.jsx(s.em,{children:"int"})," ",e.jsx(s.em,{children:"zoo_set_acl"}),` +(zhandle`,e.jsx(s.em,{children:"t *zh, _const"})," ",e.jsx(s.em,{children:"char"}),` +*path, `,e.jsx(s.em,{children:"int"}),` +version,`,e.jsx(s.em,{children:"const"})," ",e.jsx(s.em,{children:"struct"}),` +ACL_vector *acl);`]}),` +`,e.jsx(s.p,{children:`This function replaces node’s ACL list with a new one. The +node must have the ADMIN permission set.`}),` +`]}),` +`]}),` +`,e.jsxs(s.p,{children:[`Here is a sample code that makes use of the above APIs to +authenticate itself using the “`,e.jsx(s.em,{children:"foo"}),`” scheme +and create an ephemeral node “/xyz” with create-only +permissions.`]}),` +`,e.jsx(n,{type:"info",children:e.jsxs(s.p,{children:[`This is a very simple example which is intended to show how to interact with +ZooKeeper ACLs specifically. See +`,e.jsx(s.em,{children:".../trunk/zookeeper-client/zookeeper-client-c/src/cli.c"}),` for an example of a +C client implementation`]})}),` +`,e.jsx(e.Fragment,{children:e.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:e.jsxs(s.code,{children:[e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"#include"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" "})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"#include"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" "})]}),` +`,e.jsx(s.span,{className:"line"}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"#include"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "zookeeper.h"'})]}),` +`,e.jsx(s.span,{className:"line"}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"static"}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" zhandle_t"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" *"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"zh;"})]}),` +`,e.jsx(s.span,{className:"line"}),` +`,e.jsx(s.span,{className:"line",children:e.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"/**"})}),` +`,e.jsx(s.span,{className:"line",children:e.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * In this example this method gets the cert for your"})}),` +`,e.jsx(s.span,{className:"line",children:e.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * environment -- you must provide"})}),` +`,e.jsx(s.span,{className:"line",children:e.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"char"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" *"}),e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"foo_get_cert_once"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"char*"}),e.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" id"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") { "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"return"}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"; }"})]}),` +`,e.jsx(s.span,{className:"line"}),` +`,e.jsx(s.span,{className:"line",children:e.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"/** Watcher function -- empty for this example, not something you should"})}),` +`,e.jsx(s.span,{className:"line",children:e.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * do in real code */"})}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"void"}),e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" watcher"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"zhandle_t"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" *"}),e.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"zzh"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),e.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" type"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),e.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" state"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"const"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" char"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" *"}),e.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"path"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" void"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" *"}),e.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"watcherCtx"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {}"})]}),` +`,e.jsx(s.span,{className:"line"}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" main"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),e.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" argc"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"char"}),e.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" argv"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" char"}),e.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" buffer"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"["}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"512"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"];"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" char"}),e.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" p"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"["}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"2048"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"];"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" char"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" *"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"cert"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" char"}),e.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" appId"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"["}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"64"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"];"})]}),` +`,e.jsx(s.span,{className:"line"}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" strcpy"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(appId, "}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"example.foo_test"'}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" cert "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" foo_get_cert_once"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(appId);"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(cert"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"!="}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" fprintf"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(stderr,"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "Certificate for appid ['}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"%s"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:"] is ["}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"%s"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:"]"}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"\\n"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"'}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:",appId,cert);"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" strncpy"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(p,cert, "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"sizeof"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(p)"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"-"}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" free"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(cert);"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"else"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" fprintf"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(stderr, "}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Certificate for appid ['}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"%s"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:"] not found"}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"\\n"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"'}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:",appId);"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" strcpy"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(p, "}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"dummy"'}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,e.jsx(s.span,{className:"line",children:e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,e.jsx(s.span,{className:"line"}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" zoo_set_debug_level"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(ZOO_LOG_LEVEL_DEBUG);"})]}),` +`,e.jsx(s.span,{className:"line"}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zh "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" zookeeper_init"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"localhost:3181"'}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", watcher, "}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"10000"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ("}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"!"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"zh) {"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" errno;"})]}),` +`,e.jsx(s.span,{className:"line",children:e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"zoo_add_auth"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(zh,"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"foo"'}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:",p,"}),e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"strlen"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(p),"}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:")"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"!="}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"ZOK)"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 2"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,e.jsx(s.span,{className:"line"}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" struct"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ACL CREATE_ONLY_ACL"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"[]"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" ="}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {{ZOO_PERM_CREATE, ZOO_AUTH_IDS}};"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" struct"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ACL_vector CREATE_ONLY "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", CREATE_ONLY_ACL};"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" int"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" rc "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" zoo_create"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(zh,"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"/xyz"'}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"value"'}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"5"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"&"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"CREATE_ONLY, ZOO_EPHEMERAL,"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" buffer, "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"sizeof"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(buffer)"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"-"}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,e.jsx(s.span,{className:"line"}),` +`,e.jsx(s.span,{className:"line",children:e.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" /** this operation will fail with a ZNOAUTH error */"})}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" int"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" buflen"}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" sizeof"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(buffer);"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" struct"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Stat stat;"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" rc "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" zoo_get"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(zh, "}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"/xyz"'}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", buffer, "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"&"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"buflen, "}),e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"&"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"stat);"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (rc) {"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" fprintf"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(stderr, "}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Error '}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"%d"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" for "}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"%s\\n"}),e.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"'}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", rc, "}),e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"__LINE__"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,e.jsx(s.span,{className:"line",children:e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,e.jsx(s.span,{className:"line"}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" zookeeper_close"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(zh);"})]}),` +`,e.jsxs(s.span,{className:"line",children:[e.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),e.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,e.jsx(s.span,{className:"line",children:e.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})})})]})}function p(i={}){const{wrapper:s}=i.components||{};return s?e.jsx(s,{...i,children:e.jsx(t,{...i})}):t(i)}function h(i,s){throw new Error("Expected component `"+i+"` to be defined: you likely forgot to import, pass, or provide it.")}export{r as _markdown,p as default,o as extractedReferences,l as frontmatter,c as structuredData,d as toc}; diff --git a/content/assets/administration-kJpWHiYD.js b/content/assets/administration-kJpWHiYD.js new file mode 100644 index 00000000000..cdda59a596b --- /dev/null +++ b/content/assets/administration-kJpWHiYD.js @@ -0,0 +1,389 @@ +import{j as e}from"./chunk-EPOLDU6W-BACfhBcx.js";let i=`## Maintenance + +Little long term maintenance is required for a ZooKeeper +cluster however you must be aware of the following: + +### Ongoing Data Directory Cleanup + +The ZooKeeper [Data +Directory](/docs/admin-ops/administrators-guide/data-file-management#the-data-directory) contains files which are a persistent copy +of the znodes stored by a particular serving ensemble. These +are the snapshot and transactional log files. As changes are +made to the znodes these changes are appended to a +transaction log. Occasionally, when a log grows large, a +snapshot of the current state of all znodes will be written +to the filesystem and a new transaction log file is created +for future transactions. During snapshotting, ZooKeeper may +continue appending incoming transactions to the old log file. +Therefore, some transactions which are newer than a snapshot +may be found in the last transaction log preceding the +snapshot. + +A ZooKeeper server **will not remove +old snapshots and log files** when using the default +configuration (see autopurge below), this is the +responsibility of the operator. Every serving environment is +different and therefore the requirements of managing these +files may differ from install to install (backup for example). + +The PurgeTxnLog utility implements a simple retention +policy that administrators can use. The [API docs](/docs) contains details on +calling conventions (arguments, etc...). + +In the following example the last count snapshots and +their corresponding logs are retained and the others are +deleted. The value of \\ should typically be +greater than 3 (although not required, this provides 3 backups +in the unlikely event a recent log has become corrupted). This +can be run as a cron job on the ZooKeeper server machines to +clean up the logs daily. + +\`\`\`bash +$ java -cp zookeeper.jar:lib/slf4j-api-1.7.30.jar:lib/logback-classic-1.2.10.jar:lib/logback-core-1.2.10.jar:conf org.apache.zookeeper.server.PurgeTxnLog -n +\`\`\` + +Automatic purging of the snapshots and corresponding +transaction logs was introduced in version 3.4.0 and can be +enabled via the following configuration parameters **autopurge.snapRetainCount** and **autopurge.purgeInterval**. For more on +this, see [Advanced Configuration](/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration). + +### Debug Log Cleanup (logback) + +See the section on [logging](#logging) in this document. It is +expected that you will setup a rolling file appender using the +in-built logback feature. The sample configuration file in the +release tar's \`conf/logback.xml\` provides an example of +this. + +## Supervision + +You will want to have a supervisory process that manages +each of your ZooKeeper server processes (JVM). The ZK server is +designed to be "fail fast" meaning that it will shut down +(process exit) if an error occurs that it cannot recover +from. As a ZooKeeper serving cluster is highly reliable, this +means that while the server may go down the cluster as a whole +is still active and serving requests. Additionally, as the +cluster is "self healing" the failed server once restarted will +automatically rejoin the ensemble w/o any manual +interaction. + +Having a supervisory process such as [daemontools](http://cr.yp.to/daemontools.html) or +[SMF](http://en.wikipedia.org/wiki/Service_Management_Facility) +(other options for supervisory process are also available, it's +up to you which one you would like to use, these are just two +examples) managing your ZooKeeper server ensures that if the +process does exit abnormally it will automatically be restarted +and will quickly rejoin the cluster. + +It is also recommended to configure the ZooKeeper server process to +terminate and dump its heap if an OutOfMemoryError\\*\\* occurs. This is achieved +by launching the JVM with the following arguments on Linux and Windows +respectively. The *zkServer.sh* and +\\*zkServer.cmd\\* scripts that ship with ZooKeeper set +these options. + +\`\`\` +-XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError='kill -9 %p' + +"-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" +\`\`\` + +## Monitoring + +The ZooKeeper service can be monitored in one of three primary ways: + +* the command port through the use of [4 letter words](/docs/admin-ops/administrators-guide/commands#the-four-letter-words) +* with [JMX](/docs/admin-ops/jmx) +* using the [\`zkServer.sh status\` command](/docs/admin-ops/tools#zkserversh) + +## Logging + +ZooKeeper uses **[SLF4J](http://www.slf4j.org)** +version 1.7 as its logging infrastructure. By default ZooKeeper is shipped with +**[LOGBack](http://logback.qos.ch/)** as the logging backend, but you can use +any other supported logging framework of your choice. + +The ZooKeeper default *logback.xml* +file resides in the *conf* directory. Logback requires that +*logback.xml* either be in the working directory +(the directory from which ZooKeeper is run) or be accessible from the classpath. + +For more information about SLF4J, see +[its manual](http://www.slf4j.org/manual.html). + +For more information about Logback, see +[Logback website](http://logback.qos.ch/). + +## Troubleshooting + +* *Server not coming up because of file corruption* : + A server might not be able to read its database and fail to come up because of + some file corruption in the transaction logs of the ZooKeeper server. You will + see some IOException on loading ZooKeeper database. In such a case, + make sure all the other servers in your ensemble are up and working. Use "stat" + command on the command port to see if they are in good health. After you have verified that + all the other servers of the ensemble are up, you can go ahead and clean the database + of the corrupt server. Delete all the files in datadir/version-2 and datalogdir/version-2/. + Restart the server. + +## Metrics Providers + +**New in 3.6.0:** The following options are used to configure metrics. + +By default ZooKeeper server exposes useful metrics using the [AdminServer](/docs/admin-ops/administrators-guide/commands#the-adminserver) +and [Four Letter Words](/docs/admin-ops/administrators-guide/commands#the-four-letter-words) interface. + +Since 3.6.0 you can configure a different Metrics Provider, that exports metrics +to your favourite system. + +Since 3.6.0 ZooKeeper binary package bundles an integration with [Prometheus.io](https://prometheus.io) + +* *metricsProvider.className* : + Set to "org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider" to + enable Prometheus.io exporter. +* *metricsProvider.httpHost* : + **New in 3.8.0:** Prometheus.io exporter will start a Jetty server and listen this address, default is "0.0.0.0" +* *metricsProvider.httpPort* : + Prometheus.io exporter will start a Jetty server and bind to this port, it defaults to 7000. + Prometheus end point will be [http://hostname:httPort/metrics](http://hostname:httPort/metrics). +* *metricsProvider.exportJvmInfo* : + If this property is set to **true** Prometheus.io will export useful metrics about the JVM. + The default is true. +* *metricsProvider.numWorkerThreads* : + **New in 3.7.1:** + Number of worker threads for reporting Prometheus summary metrics. + Default value is 1. + If the number is less than 1, the main thread will be used. +* *metricsProvider.maxQueueSize* : + **New in 3.7.1:** + The max queue size for Prometheus summary metrics reporting task. + Default value is 10000. +* *metricsProvider.workerShutdownTimeoutMs* : + **New in 3.7.1:** + The timeout in ms for Prometheus worker threads shutdown. + Default value is 1000ms. +`,s={title:"Administration",description:"Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting."},a=[{href:"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory"},{href:"/docs"},{href:"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"},{href:"#logging"},{href:"http://cr.yp.to/daemontools.html"},{href:"http://en.wikipedia.org/wiki/Service_Management_Facility"},{href:"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"},{href:"/docs/admin-ops/jmx"},{href:"/docs/admin-ops/tools#zkserversh"},{href:"http://www.slf4j.org"},{href:"http://logback.qos.ch/"},{href:"http://www.slf4j.org/manual.html"},{href:"http://logback.qos.ch/"},{href:"/docs/admin-ops/administrators-guide/commands#the-adminserver"},{href:"/docs/admin-ops/administrators-guide/commands#the-four-letter-words"},{href:"https://prometheus.io"},{href:"http://hostname:httPort/metrics"}],h={contents:[{heading:"maintenance",content:`Little long term maintenance is required for a ZooKeeper +cluster however you must be aware of the following:`},{heading:"ongoing-data-directory-cleanup",content:`The ZooKeeper Data +Directory contains files which are a persistent copy +of the znodes stored by a particular serving ensemble. These +are the snapshot and transactional log files. As changes are +made to the znodes these changes are appended to a +transaction log. Occasionally, when a log grows large, a +snapshot of the current state of all znodes will be written +to the filesystem and a new transaction log file is created +for future transactions. During snapshotting, ZooKeeper may +continue appending incoming transactions to the old log file. +Therefore, some transactions which are newer than a snapshot +may be found in the last transaction log preceding the +snapshot.`},{heading:"ongoing-data-directory-cleanup",content:`A ZooKeeper server will not remove +old snapshots and log files when using the default +configuration (see autopurge below), this is the +responsibility of the operator. Every serving environment is +different and therefore the requirements of managing these +files may differ from install to install (backup for example).`},{heading:"ongoing-data-directory-cleanup",content:`The PurgeTxnLog utility implements a simple retention +policy that administrators can use. The API docs contains details on +calling conventions (arguments, etc...).`},{heading:"ongoing-data-directory-cleanup",content:`In the following example the last count snapshots and +their corresponding logs are retained and the others are +deleted. The value of should typically be +greater than 3 (although not required, this provides 3 backups +in the unlikely event a recent log has become corrupted). This +can be run as a cron job on the ZooKeeper server machines to +clean up the logs daily.`},{heading:"ongoing-data-directory-cleanup",content:`Automatic purging of the snapshots and corresponding +transaction logs was introduced in version 3.4.0 and can be +enabled via the following configuration parameters autopurge.snapRetainCount and autopurge.purgeInterval. For more on +this, see Advanced Configuration.`},{heading:"debug-log-cleanup-logback",content:`See the section on logging in this document. It is +expected that you will setup a rolling file appender using the +in-built logback feature. The sample configuration file in the +release tar's conf/logback.xml provides an example of +this.`},{heading:"supervision",content:`You will want to have a supervisory process that manages +each of your ZooKeeper server processes (JVM). The ZK server is +designed to be "fail fast" meaning that it will shut down +(process exit) if an error occurs that it cannot recover +from. As a ZooKeeper serving cluster is highly reliable, this +means that while the server may go down the cluster as a whole +is still active and serving requests. Additionally, as the +cluster is "self healing" the failed server once restarted will +automatically rejoin the ensemble w/o any manual +interaction.`},{heading:"supervision",content:`Having a supervisory process such as daemontools or +SMF +(other options for supervisory process are also available, it's +up to you which one you would like to use, these are just two +examples) managing your ZooKeeper server ensures that if the +process does exit abnormally it will automatically be restarted +and will quickly rejoin the cluster.`},{heading:"supervision",content:`It is also recommended to configure the ZooKeeper server process to +terminate and dump its heap if an OutOfMemoryError** occurs. This is achieved +by launching the JVM with the following arguments on Linux and Windows +respectively. The zkServer.sh and +*zkServer.cmd* scripts that ship with ZooKeeper set +these options.`},{heading:"monitoring",content:"The ZooKeeper service can be monitored in one of three primary ways:"},{heading:"monitoring",content:"the command port through the use of 4 letter words"},{heading:"monitoring",content:"with JMX"},{heading:"monitoring",content:"using the zkServer.sh status command"},{heading:"logging",content:`ZooKeeper uses SLF4J +version 1.7 as its logging infrastructure. By default ZooKeeper is shipped with +LOGBack as the logging backend, but you can use +any other supported logging framework of your choice.`},{heading:"logging",content:`The ZooKeeper default logback.xml +file resides in the conf directory. Logback requires that +logback.xml either be in the working directory +(the directory from which ZooKeeper is run) or be accessible from the classpath.`},{heading:"logging",content:`For more information about SLF4J, see +its manual.`},{heading:"logging",content:`For more information about Logback, see +Logback website.`},{heading:"troubleshooting",content:`Server not coming up because of file corruption : +A server might not be able to read its database and fail to come up because of +some file corruption in the transaction logs of the ZooKeeper server. You will +see some IOException on loading ZooKeeper database. In such a case, +make sure all the other servers in your ensemble are up and working. Use "stat" +command on the command port to see if they are in good health. After you have verified that +all the other servers of the ensemble are up, you can go ahead and clean the database +of the corrupt server. Delete all the files in datadir/version-2 and datalogdir/version-2/. +Restart the server.`},{heading:"metrics-providers",content:"New in 3.6.0: The following options are used to configure metrics."},{heading:"metrics-providers",content:`By default ZooKeeper server exposes useful metrics using the AdminServer +and Four Letter Words interface.`},{heading:"metrics-providers",content:`Since 3.6.0 you can configure a different Metrics Provider, that exports metrics +to your favourite system.`},{heading:"metrics-providers",content:"Since 3.6.0 ZooKeeper binary package bundles an integration with Prometheus.io"},{heading:"metrics-providers",content:`metricsProvider.className : +Set to "org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider" to +enable Prometheus.io exporter.`},{heading:"metrics-providers",content:`metricsProvider.httpHost : +New in 3.8.0: Prometheus.io exporter will start a Jetty server and listen this address, default is "0.0.0.0"`},{heading:"metrics-providers",content:`metricsProvider.httpPort : +Prometheus.io exporter will start a Jetty server and bind to this port, it defaults to 7000. +Prometheus end point will be http://hostname:httPort/metrics.`},{heading:"metrics-providers",content:`metricsProvider.exportJvmInfo : +If this property is set to true Prometheus.io will export useful metrics about the JVM. +The default is true.`},{heading:"metrics-providers",content:`metricsProvider.numWorkerThreads : +New in 3.7.1: +Number of worker threads for reporting Prometheus summary metrics. +Default value is 1. +If the number is less than 1, the main thread will be used.`},{heading:"metrics-providers",content:`metricsProvider.maxQueueSize : +New in 3.7.1: +The max queue size for Prometheus summary metrics reporting task. +Default value is 10000.`},{heading:"metrics-providers",content:`metricsProvider.workerShutdownTimeoutMs : +New in 3.7.1: +The timeout in ms for Prometheus worker threads shutdown. +Default value is 1000ms.`}],headings:[{id:"maintenance",content:"Maintenance"},{id:"ongoing-data-directory-cleanup",content:"Ongoing Data Directory Cleanup"},{id:"debug-log-cleanup-logback",content:"Debug Log Cleanup (logback)"},{id:"supervision",content:"Supervision"},{id:"monitoring",content:"Monitoring"},{id:"logging",content:"Logging"},{id:"troubleshooting",content:"Troubleshooting"},{id:"metrics-providers",content:"Metrics Providers"}]};const l=[{depth:2,url:"#maintenance",title:e.jsx(e.Fragment,{children:"Maintenance"})},{depth:3,url:"#ongoing-data-directory-cleanup",title:e.jsx(e.Fragment,{children:"Ongoing Data Directory Cleanup"})},{depth:3,url:"#debug-log-cleanup-logback",title:e.jsx(e.Fragment,{children:"Debug Log Cleanup (logback)"})},{depth:2,url:"#supervision",title:e.jsx(e.Fragment,{children:"Supervision"})},{depth:2,url:"#monitoring",title:e.jsx(e.Fragment,{children:"Monitoring"})},{depth:2,url:"#logging",title:e.jsx(e.Fragment,{children:"Logging"})},{depth:2,url:"#troubleshooting",title:e.jsx(e.Fragment,{children:"Troubleshooting"})},{depth:2,url:"#metrics-providers",title:e.jsx(e.Fragment,{children:"Metrics Providers"})}];function r(t){const n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",span:"span",strong:"strong",ul:"ul",...t.components};return e.jsxs(e.Fragment,{children:[e.jsx(n.h2,{id:"maintenance",children:"Maintenance"}),` +`,e.jsx(n.p,{children:`Little long term maintenance is required for a ZooKeeper +cluster however you must be aware of the following:`}),` +`,e.jsx(n.h3,{id:"ongoing-data-directory-cleanup",children:"Ongoing Data Directory Cleanup"}),` +`,e.jsxs(n.p,{children:["The ZooKeeper ",e.jsx(n.a,{href:"/docs/admin-ops/administrators-guide/data-file-management#the-data-directory",children:`Data +Directory`}),` contains files which are a persistent copy +of the znodes stored by a particular serving ensemble. These +are the snapshot and transactional log files. As changes are +made to the znodes these changes are appended to a +transaction log. Occasionally, when a log grows large, a +snapshot of the current state of all znodes will be written +to the filesystem and a new transaction log file is created +for future transactions. During snapshotting, ZooKeeper may +continue appending incoming transactions to the old log file. +Therefore, some transactions which are newer than a snapshot +may be found in the last transaction log preceding the +snapshot.`]}),` +`,e.jsxs(n.p,{children:["A ZooKeeper server ",e.jsx(n.strong,{children:`will not remove +old snapshots and log files`}),` when using the default +configuration (see autopurge below), this is the +responsibility of the operator. Every serving environment is +different and therefore the requirements of managing these +files may differ from install to install (backup for example).`]}),` +`,e.jsxs(n.p,{children:[`The PurgeTxnLog utility implements a simple retention +policy that administrators can use. The `,e.jsx(n.a,{href:"/docs",children:"API docs"}),` contains details on +calling conventions (arguments, etc...).`]}),` +`,e.jsx(n.p,{children:`In the following example the last count snapshots and +their corresponding logs are retained and the others are +deleted. The value of should typically be +greater than 3 (although not required, this provides 3 backups +in the unlikely event a recent log has become corrupted). This +can be run as a cron job on the ZooKeeper server machines to +clean up the logs daily.`}),` +`,e.jsx(e.Fragment,{children:e.jsx(n.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:e.jsx(n.code,{children:e.jsxs(n.span,{className:"line",children:[e.jsx(n.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"$"}),e.jsx(n.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" java"}),e.jsx(n.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" -cp"}),e.jsx(n.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" zookeeper.jar:lib/slf4j-api-1.7.30.jar:lib/logback-classic-1.2.10.jar:lib/logback-core-1.2.10.jar:conf"}),e.jsx(n.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" org.apache.zookeeper.server.PurgeTxnLog"}),e.jsx(n.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" <"}),e.jsx(n.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:"dataDi"}),e.jsx(n.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"r"}),e.jsx(n.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:">"}),e.jsx(n.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" <"}),e.jsx(n.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:"snapDi"}),e.jsx(n.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"r"}),e.jsx(n.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:">"}),e.jsx(n.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" -n"}),e.jsx(n.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" <"}),e.jsx(n.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:"coun"}),e.jsx(n.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"t"}),e.jsx(n.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:">"})]})})})}),` +`,e.jsxs(n.p,{children:[`Automatic purging of the snapshots and corresponding +transaction logs was introduced in version 3.4.0 and can be +enabled via the following configuration parameters `,e.jsx(n.strong,{children:"autopurge.snapRetainCount"})," and ",e.jsx(n.strong,{children:"autopurge.purgeInterval"}),`. For more on +this, see `,e.jsx(n.a,{href:"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration",children:"Advanced Configuration"}),"."]}),` +`,e.jsx(n.h3,{id:"debug-log-cleanup-logback",children:"Debug Log Cleanup (logback)"}),` +`,e.jsxs(n.p,{children:["See the section on ",e.jsx(n.a,{href:"#logging",children:"logging"}),` in this document. It is +expected that you will setup a rolling file appender using the +in-built logback feature. The sample configuration file in the +release tar's `,e.jsx(n.code,{children:"conf/logback.xml"}),` provides an example of +this.`]}),` +`,e.jsx(n.h2,{id:"supervision",children:"Supervision"}),` +`,e.jsx(n.p,{children:`You will want to have a supervisory process that manages +each of your ZooKeeper server processes (JVM). The ZK server is +designed to be "fail fast" meaning that it will shut down +(process exit) if an error occurs that it cannot recover +from. As a ZooKeeper serving cluster is highly reliable, this +means that while the server may go down the cluster as a whole +is still active and serving requests. Additionally, as the +cluster is "self healing" the failed server once restarted will +automatically rejoin the ensemble w/o any manual +interaction.`}),` +`,e.jsxs(n.p,{children:["Having a supervisory process such as ",e.jsx(n.a,{href:"http://cr.yp.to/daemontools.html",children:"daemontools"}),` or +`,e.jsx(n.a,{href:"http://en.wikipedia.org/wiki/Service_Management_Facility",children:"SMF"}),` +(other options for supervisory process are also available, it's +up to you which one you would like to use, these are just two +examples) managing your ZooKeeper server ensures that if the +process does exit abnormally it will automatically be restarted +and will quickly rejoin the cluster.`]}),` +`,e.jsxs(n.p,{children:[`It is also recommended to configure the ZooKeeper server process to +terminate and dump its heap if an OutOfMemoryError** occurs. This is achieved +by launching the JVM with the following arguments on Linux and Windows +respectively. The `,e.jsx(n.em,{children:"zkServer.sh"}),` and +*zkServer.cmd* scripts that ship with ZooKeeper set +these options.`]}),` +`,e.jsx(e.Fragment,{children:e.jsx(n.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:e.jsxs(n.code,{children:[e.jsx(n.span,{className:"line",children:e.jsx(n.span,{children:"-XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError='kill -9 %p'"})}),` +`,e.jsx(n.span,{className:"line",children:e.jsx(n.span,{})}),` +`,e.jsx(n.span,{className:"line",children:e.jsx(n.span,{children:'"-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f"'})})]})})}),` +`,e.jsx(n.h2,{id:"monitoring",children:"Monitoring"}),` +`,e.jsx(n.p,{children:"The ZooKeeper service can be monitored in one of three primary ways:"}),` +`,e.jsxs(n.ul,{children:[` +`,e.jsxs(n.li,{children:["the command port through the use of ",e.jsx(n.a,{href:"/docs/admin-ops/administrators-guide/commands#the-four-letter-words",children:"4 letter words"})]}),` +`,e.jsxs(n.li,{children:["with ",e.jsx(n.a,{href:"/docs/admin-ops/jmx",children:"JMX"})]}),` +`,e.jsxs(n.li,{children:["using the ",e.jsxs(n.a,{href:"/docs/admin-ops/tools#zkserversh",children:[e.jsx(n.code,{children:"zkServer.sh status"})," command"]})]}),` +`]}),` +`,e.jsx(n.h2,{id:"logging",children:"Logging"}),` +`,e.jsxs(n.p,{children:["ZooKeeper uses ",e.jsx(n.strong,{children:e.jsx(n.a,{href:"http://www.slf4j.org",children:"SLF4J"})}),` +version 1.7 as its logging infrastructure. By default ZooKeeper is shipped with +`,e.jsx(n.strong,{children:e.jsx(n.a,{href:"http://logback.qos.ch/",children:"LOGBack"})}),` as the logging backend, but you can use +any other supported logging framework of your choice.`]}),` +`,e.jsxs(n.p,{children:["The ZooKeeper default ",e.jsx(n.em,{children:"logback.xml"}),` +file resides in the `,e.jsx(n.em,{children:"conf"}),` directory. Logback requires that +`,e.jsx(n.em,{children:"logback.xml"}),` either be in the working directory +(the directory from which ZooKeeper is run) or be accessible from the classpath.`]}),` +`,e.jsxs(n.p,{children:[`For more information about SLF4J, see +`,e.jsx(n.a,{href:"http://www.slf4j.org/manual.html",children:"its manual"}),"."]}),` +`,e.jsxs(n.p,{children:[`For more information about Logback, see +`,e.jsx(n.a,{href:"http://logback.qos.ch/",children:"Logback website"}),"."]}),` +`,e.jsx(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),` +`,e.jsxs(n.ul,{children:[` +`,e.jsxs(n.li,{children:[e.jsx(n.em,{children:"Server not coming up because of file corruption"}),` : +A server might not be able to read its database and fail to come up because of +some file corruption in the transaction logs of the ZooKeeper server. You will +see some IOException on loading ZooKeeper database. In such a case, +make sure all the other servers in your ensemble are up and working. Use "stat" +command on the command port to see if they are in good health. After you have verified that +all the other servers of the ensemble are up, you can go ahead and clean the database +of the corrupt server. Delete all the files in datadir/version-2 and datalogdir/version-2/. +Restart the server.`]}),` +`]}),` +`,e.jsx(n.h2,{id:"metrics-providers",children:"Metrics Providers"}),` +`,e.jsxs(n.p,{children:[e.jsx(n.strong,{children:"New in 3.6.0:"})," The following options are used to configure metrics."]}),` +`,e.jsxs(n.p,{children:["By default ZooKeeper server exposes useful metrics using the ",e.jsx(n.a,{href:"/docs/admin-ops/administrators-guide/commands#the-adminserver",children:"AdminServer"}),` +and `,e.jsx(n.a,{href:"/docs/admin-ops/administrators-guide/commands#the-four-letter-words",children:"Four Letter Words"})," interface."]}),` +`,e.jsx(n.p,{children:`Since 3.6.0 you can configure a different Metrics Provider, that exports metrics +to your favourite system.`}),` +`,e.jsxs(n.p,{children:["Since 3.6.0 ZooKeeper binary package bundles an integration with ",e.jsx(n.a,{href:"https://prometheus.io",children:"Prometheus.io"})]}),` +`,e.jsxs(n.ul,{children:[` +`,e.jsxs(n.li,{children:[e.jsx(n.em,{children:"metricsProvider.className"}),` : +Set to "org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider" to +enable Prometheus.io exporter.`]}),` +`,e.jsxs(n.li,{children:[e.jsx(n.em,{children:"metricsProvider.httpHost"}),` : +`,e.jsx(n.strong,{children:"New in 3.8.0:"}),' Prometheus.io exporter will start a Jetty server and listen this address, default is "0.0.0.0"']}),` +`,e.jsxs(n.li,{children:[e.jsx(n.em,{children:"metricsProvider.httpPort"}),` : +Prometheus.io exporter will start a Jetty server and bind to this port, it defaults to 7000. +Prometheus end point will be `,e.jsx(n.a,{href:"http://hostname:httPort/metrics",children:"http://hostname:httPort/metrics"}),"."]}),` +`,e.jsxs(n.li,{children:[e.jsx(n.em,{children:"metricsProvider.exportJvmInfo"}),` : +If this property is set to `,e.jsx(n.strong,{children:"true"}),` Prometheus.io will export useful metrics about the JVM. +The default is true.`]}),` +`,e.jsxs(n.li,{children:[e.jsx(n.em,{children:"metricsProvider.numWorkerThreads"}),` : +`,e.jsx(n.strong,{children:"New in 3.7.1:"}),` +Number of worker threads for reporting Prometheus summary metrics. +Default value is 1. +If the number is less than 1, the main thread will be used.`]}),` +`,e.jsxs(n.li,{children:[e.jsx(n.em,{children:"metricsProvider.maxQueueSize"}),` : +`,e.jsx(n.strong,{children:"New in 3.7.1:"}),` +The max queue size for Prometheus summary metrics reporting task. +Default value is 10000.`]}),` +`,e.jsxs(n.li,{children:[e.jsx(n.em,{children:"metricsProvider.workerShutdownTimeoutMs"}),` : +`,e.jsx(n.strong,{children:"New in 3.7.1:"}),` +The timeout in ms for Prometheus worker threads shutdown. +Default value is 1000ms.`]}),` +`]})]})}function c(t={}){const{wrapper:n}=t.components||{};return n?e.jsx(n,{...t,children:e.jsx(r,{...t})}):r(t)}export{i as _markdown,c as default,a as extractedReferences,s as frontmatter,h as structuredData,l as toc}; diff --git a/content/assets/algolia-IZEDLPHE-2120h3C3.js b/content/assets/algolia-IZEDLPHE-2120h3C3.js new file mode 100644 index 00000000000..51a172200df --- /dev/null +++ b/content/assets/algolia-IZEDLPHE-2120h3C3.js @@ -0,0 +1 @@ +import{c as l}from"./chunk-OTD7MV33-qJr9DjGl.js";function h(e){const n=[],r=new Set;for(const t of e)r.has(t.url)||(r.add(t.url),n.push({id:t.url,type:"page",breadcrumbs:t.breadcrumbs,url:t.url,content:t.title})),n.push({id:t.objectID,type:t.content===t.section?"heading":"text",url:t.section_id?`${t.url}#${t.section_id}`:t.url,content:t.content});return n}async function g(e,{indexName:n,onSearch:r,client:t,locale:o,tag:s}){if(e.trim().length===0)return[];const c=r?await r(e,s,o):await t.searchForHits({requests:[{type:"default",indexName:n,query:e,distinct:5,hitsPerPage:10,filters:s?`tag:${s}`:void 0}]}),u=l(e);return h(c.results[0].hits).flatMap(i=>i.type==="page"?{...i,contentWithHighlights:i.contentWithHighlights??u.highlight(i.content)}:[])}export{h as groupResults,g as searchDocs}; diff --git a/content/assets/app-DxKXKjTC.css b/content/assets/app-DxKXKjTC.css new file mode 100644 index 00000000000..285945aa194 --- /dev/null +++ b/content/assets/app-DxKXKjTC.css @@ -0,0 +1 @@ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:forwards;--tw-animation-iteration-count:1;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--radix-collapsible-content-height:0px}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-yellow-500:oklch(79.5% .184 86.047);--color-green-500:oklch(72.3% .219 149.579);--color-blue-500:oklch(62.3% .214 259.815);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--container-sm:24rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-fd-background:var(--background);--color-fd-foreground:var(--foreground);--color-fd-muted:var(--muted);--color-fd-muted-foreground:var(--muted-foreground);--color-fd-popover:var(--popover);--color-fd-popover-foreground:var(--popover-foreground);--color-fd-card:var(--card);--color-fd-card-foreground:var(--card-foreground);--color-fd-border:var(--border);--color-fd-primary:var(--primary);--color-fd-primary-foreground:var(--primary-foreground);--color-fd-secondary:var(--secondary);--color-fd-secondary-foreground:var(--secondary-foreground);--color-fd-accent:var(--accent);--color-fd-accent-foreground:var(--accent-foreground);--color-fd-ring:var(--ring);--color-fd-overlay:transparent;--color-fd-info:oklch(62.3% .214 259.815);--color-fd-warning:oklch(76.9% .188 70.08);--color-fd-error:oklch(63.7% .237 25.331);--color-fd-success:oklch(72.3% .219 149.579);--color-fd-diff-remove:#c80a641f;--color-fd-diff-remove-symbol:#e60a64;--color-fd-diff-add:#0eb4641a;--color-fd-diff-add-symbol:#0ac864;--fd-sidebar-mobile-offset:100%;--spacing-fd-container:1400px;--fd-page-width:1200px;--fd-sidebar-width:0px;--fd-toc-width:0px;--fd-layout-width:1600px;--fd-banner-height:0px;--fd-nav-height:0px;--fd-tocnav-height:0px;--animate-fd-fade-in:fd-fade-in .3s ease;--animate-fd-fade-out:fd-fade-out .3s ease;--animate-fd-dialog-in:fd-dialog-in .3s cubic-bezier(.16,1,.3,1);--animate-fd-dialog-out:fd-dialog-out .3s cubic-bezier(.16,1,.3,1);--animate-fd-popover-in:fd-popover-in .1s ease;--animate-fd-popover-out:fd-popover-out .1s ease;--animate-fd-collapsible-down:fd-collapsible-down .15s cubic-bezier(.45,0,.55,1);--animate-fd-collapsible-up:fd-collapsible-up .15s cubic-bezier(.45,0,.55,1);--animate-fd-accordion-down:fd-accordion-down .2s ease-out;--animate-fd-accordion-up:fd-accordion-up .2s ease-out;--animate-fd-nav-menu-in:fd-nav-menu-in .2s ease;--animate-fd-nav-menu-out:fd-nav-menu-out .2s ease;--animate-fd-enterFromLeft:fd-enterFromLeft .25s ease;--animate-fd-enterFromRight:fd-enterFromRight .25s ease;--animate-fd-sidebar-in:fd-sidebar-in .25s ease;--animate-fd-sidebar-out:fd-sidebar-out .25s ease;--animate-fd-exitToLeft:fd-exitToLeft .25s ease;--animate-fd-exitToRight:fd-exitToRight .25s ease}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before,::backdrop{border-color:var(--color-fd-border,currentColor)}::file-selector-button{border-color:var(--color-fd-border,currentColor)}:root,#nd-docs-layout{--fd-layout-offset:max(calc(50vw - var(--fd-layout-width)/2),0px)}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}.font-base{font-synthesis:none;font-family:Inter,sans-serif}.print-only{display:none}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.fd-step:before{background-color:var(--color-fd-secondary);color:var(--color-fd-secondary-foreground);content:counter(step);counter-increment:step;width:calc(var(--spacing)*8);height:calc(var(--spacing)*8);border-radius:3.40282e38px;justify-content:center;align-items:center;font-size:.875rem;line-height:1.25rem;display:flex;position:absolute;inset-inline-start:calc(var(--spacing)*-4)}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fd-steps{counter-reset:step;margin-left:calc(var(--spacing)*2);border-left-style:var(--tw-border-style);padding-left:calc(var(--spacing)*6);border-left-width:1px;position:relative}@media(min-width:40rem){.fd-steps{margin-left:calc(var(--spacing)*4);padding-left:calc(var(--spacing)*7)}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-inset-1{inset:calc(var(--spacing)*-1)}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-x-2{inset-inline:calc(var(--spacing)*2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.inset-y-2{inset-block:calc(var(--spacing)*2)}.start-0{inset-inline-start:calc(var(--spacing)*0)}.start-3{inset-inline-start:calc(var(--spacing)*3)}.start-4{inset-inline-start:calc(var(--spacing)*4)}.end-0{inset-inline-end:calc(var(--spacing)*0)}.end-2{inset-inline-end:calc(var(--spacing)*2)}.-top-1\.5{top:calc(var(--spacing)*-1.5)}.top-\(--fd-banner-height\){top:var(--fd-banner-height)}.top-\(--fd-docs-row-1\){top:var(--fd-docs-row-1)}.top-\(--fd-docs-row-2\){top:var(--fd-docs-row-2)}.top-\(--fd-sidebar-top\){top:var(--fd-sidebar-top)}.top-\(--fd-top\){top:var(--fd-top)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-6{top:calc(var(--spacing)*6)}.top-16{top:calc(var(--spacing)*16)}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-\[calc\(--spacing\(4\)\+var\(--fd-docs-row-3\)\)\]{top:calc(calc(var(--spacing)*4) + var(--fd-docs-row-3))}.top-\[calc\(var\(--fd-nav-height\)\+var\(--fd-tocnav-height\)\)\]{top:calc(var(--fd-nav-height) + var(--fd-tocnav-height))}.top-full{top:100%}.right-\(--removed-body-scroll-bar-size\,0\){right:var(--removed-body-scroll-bar-size,0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.bottom-\(--fd-sidebar-margin\){bottom:var(--fd-sidebar-margin)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-1\.5{bottom:calc(var(--spacing)*1.5)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.left-full{left:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-2{z-index:2}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[1\]{z-index:1}.order-first{order:-9999}.order-last{order:9999}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.\!m-0{margin:calc(var(--spacing)*0)!important}.container{margin-inline:auto;padding-inline:1rem}@media(min-width:96rem){.container{max-width:var(--spacing-fd-container)}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-px{margin-inline:-1px}.mx-\(--fd-layout-offset\){margin-inline:var(--fd-layout-offset)}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-auto{margin-inline:auto}.\!my-0{margin-block:calc(var(--spacing)*0)!important}.\!my-12{margin-block:calc(var(--spacing)*12)!important}.my-0{margin-block:calc(var(--spacing)*0)}.my-0\!{margin-block:calc(var(--spacing)*0)!important}.my-1{margin-block:calc(var(--spacing)*1)}.my-4{margin-block:calc(var(--spacing)*4)}.my-6{margin-block:calc(var(--spacing)*6)}.my-8{margin-block:calc(var(--spacing)*8)}.my-auto{margin-block:auto}.-ms-1\.5{margin-inline-start:calc(var(--spacing)*-1.5)}.ms-0{margin-inline-start:calc(var(--spacing)*0)}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.ms-auto{margin-inline-start:auto}.ms-px{margin-inline-start:1px}.-me-0\.5{margin-inline-end:calc(var(--spacing)*-.5)}.-me-1\.5{margin-inline-end:calc(var(--spacing)*-1.5)}.-me-2{margin-inline-end:calc(var(--spacing)*-2)}.me-0{margin-inline-end:calc(var(--spacing)*0)}.me-1{margin-inline-end:calc(var(--spacing)*1)}.me-2{margin-inline-end:calc(var(--spacing)*2)}.me-auto{margin-inline-end:auto}.prose{color:var(--tw-prose-body);max-width:none;font-size:1rem;line-height:1.75rem}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1rem;list-style-type:disc}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:500}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:var(--text-3xl);margin-top:0;margin-bottom:.888889em;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:600;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.1875em;padding-inline-end:.375em;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){border:1px solid;border-color:var(--color-fd-border);background:var(--color-fd-muted);color:var(--tw-prose-code);border-radius:5px;padding:3px;font-size:13px;font-weight:400}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:var(--text-2xl)}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;border-collapse:separate;border-spacing:0;background:var(--color-fd-card);border-radius:var(--radius-lg);border:1px solid var(--color-fd-border);width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429;overflow:hidden}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose :where(a:not([data-card])):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-underline-offset:3.5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-fd-primary);text-decoration-color:var(--color-fd-primary);font-weight:500;text-decoration-thickness:1.5px;transition:opacity .2s}.prose :where(a:not([data-card]):hover):not(:where([class~=not-prose],[class~=not-prose] *)){opacity:.8}.prose{--tw-prose-body:var(--color-fd-foreground)}@supports (color:color-mix(in lab,red,red)){.prose{--tw-prose-body:color-mix(in oklab,var(--color-fd-foreground)90%,transparent)}}.prose{--tw-prose-headings:var(--color-fd-foreground);--tw-prose-lead:var(--color-fd-foreground);--tw-prose-links:var(--color-fd-foreground);--tw-prose-bold:var(--color-fd-foreground);--tw-prose-counters:var(--color-fd-muted-foreground);--tw-prose-bullets:var(--color-fd-muted-foreground);--tw-prose-hr:var(--color-fd-border);--tw-prose-quotes:var(--color-fd-foreground);--tw-prose-quote-borders:var(--color-fd-border);--tw-prose-captions:var(--color-fd-foreground);--tw-prose-code:var(--color-fd-foreground);--tw-prose-th-borders:var(--color-fd-border);--tw-prose-td-borders:var(--color-fd-border);--tw-prose-kbd:var(--color-fd-foreground);--tw-prose-kbd-shadows:var(--color-fd-primary)}@supports (color:color-mix(in lab,red,red)){.prose{--tw-prose-kbd-shadows:color-mix(in oklab,var(--color-fd-primary)50%,transparent)}}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose :where(th):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start;padding:calc(var(--spacing)*2.5);border-inline-start:1px solid var(--color-fd-border);background:var(--color-fd-muted)}.prose :where(th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start:none}.prose :where(th:not(tr:last-child *),td:not(tr:last-child *)):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom:1px solid var(--color-fd-border)}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start;border-inline-start:1px solid var(--color-fd-border);padding:calc(var(--spacing)*2.5)}.prose :where(td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start:none}.prose :where(tfoot th,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(thead th,thead td):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose-no-margin>:first-child{margin-top:0}.prose-no-margin>:last-child{margin-bottom:0}.mt-\(--fd-top\){margin-top:var(--fd-top)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-2{margin-right:calc(var(--spacing)*2)}.-mb-px{margin-bottom:-1px}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-auto{margin-bottom:auto}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.fd-scroll-container::-webkit-scrollbar{width:5px;height:5px}.fd-scroll-container::-webkit-scrollbar-thumb{background:var(--color-fd-border);border-radius:5px}.fd-scroll-container::-webkit-scrollbar-track{background:0 0}.fd-scroll-container::-webkit-scrollbar-corner{display:none}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-4\.5{width:calc(var(--spacing)*4.5);height:calc(var(--spacing)*4.5)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-6\.5{width:calc(var(--spacing)*6.5);height:calc(var(--spacing)*6.5)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.h-\(--fd-animated-height\){height:var(--fd-animated-height)}.h-\(--fd-header-height\){height:var(--fd-header-height)}.h-\(--fd-height\){height:var(--fd-height)}.h-\(--fd-nav-height\){height:var(--fd-nav-height)}.h-\(--fd-toc-popover-height\){height:var(--fd-toc-popover-height)}.h-\(--fd-tocnav-height\){height:var(--fd-tocnav-height)}.h-\(--radix-navigation-menu-viewport-height\){height:var(--radix-navigation-menu-viewport-height)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-8\!{height:calc(var(--spacing)*8)!important}.h-9{height:calc(var(--spacing)*9)}.h-9\.5{height:calc(var(--spacing)*9.5)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(var\(--fd-docs-height\)-var\(--fd-docs-row-1\)\)\]{height:calc(var(--fd-docs-height) - var(--fd-docs-row-1))}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-popover-content-available-height\){max-height:var(--radix-popover-content-available-height)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[50vh\]{max-height:50vh}.max-h-\[80svh\]{max-height:80svh}.max-h-\[460px\]{max-height:460px}.max-h-\[600px\]{max-height:600px}.max-h-\[calc\(100vh-4rem\)\]{max-height:calc(100vh - 4rem)}.min-h-\(--fd-docs-height\){min-height:var(--fd-docs-height)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-screen{min-height:100vh}.w-\(--fd-sidebar-width\){width:var(--fd-sidebar-width)}.w-\(--fd-toc-width\){width:var(--fd-toc-width)}.w-\(--radix-popover-trigger-width\){width:var(--radix-popover-trigger-width)}.w-0{width:calc(var(--spacing)*0)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-56{width:calc(var(--spacing)*56)}.w-\[25\%\]{width:25%}.w-\[85\%\]{width:85%}.w-\[calc\(100\%-1rem\)\]{width:calc(100% - 1rem)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\(--fd-page-width\){max-width:var(--fd-page-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[98vw\]{max-width:98vw}.max-w-\[240px\]{max-width:240px}.max-w-\[380px\]{max-width:380px}.max-w-\[900px\]{max-width:900px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-max{max-width:max-content}.max-w-none{max-width:none}.max-w-screen-sm{max-width:var(--breakpoint-sm)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[240px\]{min-width:240px}.min-w-fit{min-width:fit-content}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-full{flex-basis:100%}.table-fixed{table-layout:fixed}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-menubar-content-transform-origin\){transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.origin-\[top_center\]{transform-origin:top}.-translate-x-\(--fd-sidebar-width\){--tw-translate-x:calc(var(--fd-sidebar-width)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\(--fd-sidebar-offset\){--tw-translate-x:var(--fd-sidebar-offset);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\.5{--tw-translate-y:calc(var(--spacing)*-1.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\.5{--tw-translate-y:calc(var(--spacing)*1.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-rotate-45{rotate:-45deg}.-rotate-90{rotate:-90deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,forwards)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize-none{resize:none}.scroll-m-24{scroll-margin:calc(var(--spacing)*24)}.scroll-m-28{scroll-margin:calc(var(--spacing)*28)}.scroll-mt-28{scroll-margin-top:calc(var(--spacing)*28)}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-cols-auto{grid-auto-columns:auto}.auto-rows-auto{grid-auto-rows:auto}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-cols-\[1fr_3fr\]{grid-template-columns:1fr 3fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-3\.5{gap:calc(var(--spacing)*3.5)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-12{gap:calc(var(--spacing)*12)}.gap-16{gap:calc(var(--spacing)*16)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}.gap-y-4{row-gap:calc(var(--spacing)*4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-fd-border>:not(:last-child)){border-color:var(--color-fd-border)}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius\)-3px\)\]{border-radius:calc(var(--radius) - 3px)}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-lg\!{border-radius:var(--radius)!important}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xl\!{border-radius:calc(var(--radius) + 4px)!important}.rounded-xs{border-radius:var(--radius-xs)}.rounded-e-sm{border-start-end-radius:calc(var(--radius) - 4px);border-end-end-radius:calc(var(--radius) - 4px)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-e-0{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-none{--tw-border-style:none;border-style:none}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--border)60%,transparent)}}.border-fd-foreground\/10{border-color:var(--color-fd-foreground)}@supports (color:color-mix(in lab,red,red)){.border-fd-foreground\/10{border-color:color-mix(in oklab,var(--color-fd-foreground)10%,transparent)}}.border-fd-primary{border-color:var(--color-fd-primary)}.border-input,.border-input\/30{border-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.border-input\/30{border-color:color-mix(in oklab,var(--input)30%,transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\(--callout-color\)\/50{background-color:var(--callout-color)}@supports (color:color-mix(in lab,red,red)){.bg-\(--callout-color\)\/50{background-color:color-mix(in oklab,var(--callout-color)50%,transparent)}}.bg-\(--shiki-light-bg\){background-color:var(--shiki-light-bg)}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-border{background-color:var(--border)}.bg-card,.bg-card\/50{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/50{background-color:color-mix(in oklab,var(--card)50%,transparent)}}.bg-card\/80{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/80{background-color:color-mix(in oklab,var(--card)80%,transparent)}}.bg-destructive,.bg-destructive\/80{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/80{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}}.bg-fd-accent{background-color:var(--color-fd-accent)}.bg-fd-background,.bg-fd-background\/80{background-color:var(--color-fd-background)}@supports (color:color-mix(in lab,red,red)){.bg-fd-background\/80{background-color:color-mix(in oklab,var(--color-fd-background)80%,transparent)}}.bg-fd-border{background-color:var(--color-fd-border)}.bg-fd-card{background-color:var(--color-fd-card)}.bg-fd-foreground\/10{background-color:var(--color-fd-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-fd-foreground\/10{background-color:color-mix(in oklab,var(--color-fd-foreground)10%,transparent)}}.bg-fd-muted{background-color:var(--color-fd-muted)}.bg-fd-overlay{background-color:var(--color-fd-overlay)}.bg-fd-popover,.bg-fd-popover\/60{background-color:var(--color-fd-popover)}@supports (color:color-mix(in lab,red,red)){.bg-fd-popover\/60{background-color:color-mix(in oklab,var(--color-fd-popover)60%,transparent)}}.bg-fd-primary,.bg-fd-primary\/10{background-color:var(--color-fd-primary)}@supports (color:color-mix(in lab,red,red)){.bg-fd-primary\/10{background-color:color-mix(in oklab,var(--color-fd-primary)10%,transparent)}}.bg-fd-secondary,.bg-fd-secondary\/50{background-color:var(--color-fd-secondary)}@supports (color:color-mix(in lab,red,red)){.bg-fd-secondary\/50{background-color:color-mix(in oklab,var(--color-fd-secondary)50%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-green-500\/80{background-color:#00c758cc}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/80{background-color:color-mix(in oklab,var(--color-green-500)80%,transparent)}}.bg-input,.bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.bg-input\/30{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.bg-muted,.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-yellow-500\/80{background-color:#edb200cc}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/80{background-color:color-mix(in oklab,var(--color-yellow-500)80%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[linear-gradient\(to_right\,\#80808012_1px\,transparent_1px\)\,linear-gradient\(to_bottom\,\#80808012_1px\,transparent_1px\)\]{background-image:linear-gradient(90deg,#80808012 1px,#0000 1px),linear-gradient(#80808012 1px,#0000 1px)}.bg-\[radial-gradient\(ellipse_at_bottom_right\,_var\(--tw-gradient-stops\)\)\]{background-image:radial-gradient(ellipse at bottom right,var(--tw-gradient-stops))}.from-primary{--tw-gradient-from:var(--primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary\/10{--tw-gradient-from:var(--primary)}@supports (color:color-mix(in lab,red,red)){.from-primary\/10{--tw-gradient-from:color-mix(in oklab,var(--primary)10%,transparent)}}.from-primary\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-background{--tw-gradient-via:var(--background);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-background{--tw-gradient-to:var(--background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-primary\/50{--tw-gradient-to:var(--primary)}@supports (color:color-mix(in lab,red,red)){.to-primary\/50{--tw-gradient-to:color-mix(in oklab,var(--primary)50%,transparent)}}.to-primary\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.\[mask-image\:linear-gradient\(to_bottom\,transparent\,white_16px\,white_calc\(100\%-16px\)\,transparent\)\]{-webkit-mask-image:linear-gradient(#0000,#fff 16px calc(100% - 16px),#0000);mask-image:linear-gradient(#0000,#fff 16px calc(100% - 16px),#0000)}.\[mask-image\:radial-gradient\(ellipse_60\%_50\%_at_50\%_0\%\,\#000_70\%\,transparent_100\%\)\]{-webkit-mask-image:radial-gradient(60% 50% at 50% 0,#000 70%,#0000 100%);mask-image:radial-gradient(60% 50% at 50% 0,#000 70%,#0000)}.mask-\[linear-gradient\(to_bottom\,transparent\,white_16px\,white_calc\(100\%-16px\)\,transparent\)\]{-webkit-mask-image:linear-gradient(#0000,#fff 16px calc(100% - 16px),#0000);mask-image:linear-gradient(#0000,#fff 16px calc(100% - 16px),#0000)}.bg-\[size\:24px_24px\]{background-size:24px 24px}.fill-\(--callout-color\){fill:var(--callout-color)}.fill-current{fill:currentColor}.fill-foreground{fill:var(--foreground)}.stroke-current\/25{stroke:currentColor}@supports (color:color-mix(in lab,red,red)){.stroke-current\/25{stroke:color-mix(in oklab,currentcolor 25%,transparent)}}.stroke-fd-foreground\/10{stroke:var(--color-fd-foreground)}@supports (color:color-mix(in lab,red,red)){.stroke-fd-foreground\/10{stroke:color-mix(in oklab,var(--color-fd-foreground)10%,transparent)}}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-\(--fd-layout-offset\){padding-inline:var(--fd-layout-offset)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.ps-\(--sidebar-item-offset\){padding-inline-start:var(--sidebar-item-offset)}.ps-1{padding-inline-start:calc(var(--spacing)*1)}.ps-2{padding-inline-start:calc(var(--spacing)*2)}.ps-2\.5{padding-inline-start:calc(var(--spacing)*2.5)}.ps-3{padding-inline-start:calc(var(--spacing)*3)}.ps-4{padding-inline-start:calc(var(--spacing)*4)}.ps-6{padding-inline-start:calc(var(--spacing)*6)}.ps-7{padding-inline-start:calc(var(--spacing)*7)}.ps-8{padding-inline-start:calc(var(--spacing)*8)}.ps-\[calc\(var\(--fd-layout-offset\)\+var\(--fd-sidebar-width\)\)\]{padding-inline-start:calc(var(--fd-layout-offset) + var(--fd-sidebar-width))}.pe-\(--fd-toc-width\){padding-inline-end:var(--fd-toc-width)}.pe-2{padding-inline-end:calc(var(--spacing)*2)}.pe-2\.5{padding-inline-end:calc(var(--spacing)*2.5)}.pe-4{padding-inline-end:calc(var(--spacing)*4)}.pt-\(--fd-nav-height\){padding-top:var(--fd-nav-height)}.pt-\(--fd-tocnav-height\){padding-top:var(--fd-tocnav-height)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-12{padding-top:calc(var(--spacing)*12)}.pt-14{padding-top:calc(var(--spacing)*14)}.pt-24{padding-top:calc(var(--spacing)*24)}.pr-\(--removed-body-scroll-bar-size\,0\){padding-right:var(--removed-body-scroll-bar-size,0)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-start{text-align:start}.align-\[-2px\]{vertical-align:-2px}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[1\.75em\]{font-size:1.75em}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-nowrap{text-wrap:nowrap}.text-pretty{text-wrap:pretty}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.wrap-anywhere{overflow-wrap:anywhere}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-blue-500{color:var(--color-blue-500)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-fd-accent-foreground{color:var(--color-fd-accent-foreground)}.text-fd-card{color:var(--color-fd-card)}.text-fd-card-foreground{color:var(--color-fd-card-foreground)}.text-fd-foreground,.text-fd-foreground\/80{color:var(--color-fd-foreground)}@supports (color:color-mix(in lab,red,red)){.text-fd-foreground\/80{color:color-mix(in oklab,var(--color-fd-foreground)80%,transparent)}}.text-fd-muted-foreground,.text-fd-muted-foreground\/50{color:var(--color-fd-muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-fd-muted-foreground\/50{color:color-mix(in oklab,var(--color-fd-muted-foreground)50%,transparent)}}.text-fd-popover-foreground,.text-fd-popover-foreground\/80{color:var(--color-fd-popover-foreground)}@supports (color:color-mix(in lab,red,red)){.text-fd-popover-foreground\/80{color:color-mix(in oklab,var(--color-fd-popover-foreground)80%,transparent)}}.text-fd-primary{color:var(--color-fd-primary)}.text-fd-primary-foreground{color:var(--color-fd-primary-foreground)}.text-fd-primary\/50{color:var(--color-fd-primary)}@supports (color:color-mix(in lab,red,red)){.text-fd-primary\/50{color:color-mix(in oklab,var(--color-fd-primary)50%,transparent)}}.text-fd-secondary-foreground{color:var(--color-fd-secondary-foreground)}.text-foreground,.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,var(--foreground)70%,transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.decoration-0{text-decoration-thickness:0}.decoration-1{text-decoration-thickness:1px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black\/50{--tw-shadow-color:#00000080}@supports (color:color-mix(in lab,red,red)){.shadow-black\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)50%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-0{outline-style:var(--tw-outline-style);outline-width:0}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-columns\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[height\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,translate\,color\]{transition-property:opacity,translate,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,translate\]{transition-property:opacity,translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[padding\]{transition-property:padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[top\,height\]{transition-property:top,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[top\,opacity\,translate\,width\]{transition-property:top,opacity,translate,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\]{transition-property:width,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,inset-block\,translate\,background-color\]{transition-property:width,inset-block,translate,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-250{--tw-duration:.25s;transition-duration:.25s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[--fd-docs-height\:100dvh\]{--fd-docs-height:100dvh}.\[--fd-header-height\:0px\]{--fd-header-height:0px}.\[--fd-nav-height\:0px\]{--fd-nav-height:0px}.\[--fd-sidebar-width\:0px\]{--fd-sidebar-width:0px}.\[--fd-toc-popover-height\:0px\]{--fd-toc-popover-height:0px}.\[--fd-toc-width\:285px\]{--fd-toc-width:285px}.\[grid-area\:header\]{grid-area:header}.\[grid-area\:main\]{grid-area:main}.\[grid-area\:sidebar\]{grid-area:sidebar}.\[grid-area\:toc-popover\]{grid-area:toc-popover}.\[grid-area\:toc\]{grid-area:toc}.\[main\:JettyAdminServer\@123\]{main:JettyAdminServer@123}.\[main\:JettyAdminServer\@124\]{main:JettyAdminServer@124}.\[main\:JettyAdminServer\@170\]{main:JettyAdminServer@170}.\[main\:QuorumPeer\@1789\]{main:QuorumPeer@1789}.\[main\:QuorumPeer\@1791\]{main:QuorumPeer@1791}.\[main\:QuorumPeer\@1797\]{main:QuorumPeer@1797}.\[main\:ZooKeeper\@1346\]{main:ZooKeeper@1346}.\[myid\:1\]{myid:1}.\[myid\:2\]{myid:2}.\[scrollbar-width\:none\]{scrollbar-width:none}.running{animation-play-state:running}:is(.\*\:pointer-events-auto>*){pointer-events:auto}:is(.\*\:col-start-1>*){grid-column-start:1}:is(.\*\:row-start-1>*){grid-row-start:1}:is(.\*\:mx-auto>*){margin-inline:auto}:is(.\*\:my-auto>*){margin-block:auto}:is(.\*\:flex>*){display:flex}:is(.\*\:w-\(--fd-sidebar-width\)>*){width:var(--fd-sidebar-width)}:is(.\*\:max-w-fd-container>*){max-width:var(--spacing-fd-container)}:is(.\*\:flex-col>*){flex-direction:column}:is(.\*\:border-b>*){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.not-last\:mb-2:not(:last-child){margin-bottom:calc(var(--spacing)*2)}@media(hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}}.group-has-data-\[slot\=command-shortcut\]\/command-item\:hidden:is(:where(.group\/command-item):has([data-slot=command-shortcut]) *){display:none}.group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5:is(:where(.group\/item):has([data-slot=item-description]) *){--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-has-\[\[data-slot\=item-description\]\]\/item\:self-start:is(:where(.group\/item):has([data-slot=item-description]) *){align-self:flex-start}.group-has-\[\>input\]\/input-group\:pt-2:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing)*2)}.group-has-\[\>input\]\/input-group\:pb-2:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing)*2)}.group-data-\[checked\=true\]\/command-item\:opacity-100:is(:where(.group\/command-item)[data-checked=true] *){opacity:1}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[selected\=true\]\/command-item\:text-foreground:is(:where(.group\/command-item)[data-selected=true] *){color:var(--foreground)}.group-data-\[state\=active\]\:bg-fd-primary:is(:where(.group)[data-state=active] *){background-color:var(--color-fd-primary)}.group-data-\[state\=closed\]\:rotate-0:is(:where(.group)[data-state=closed] *){rotate:none}.group-data-\[state\=open\]\:rotate-90:is(:where(.group)[data-state=open] *){rotate:90deg}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[viewport\=false\]\/navigation-menu\:top-full:is(:where(.group\/navigation-menu)[data-viewport=false] *){top:100%}.group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5:is(:where(.group\/navigation-menu)[data-viewport=false] *){margin-top:calc(var(--spacing)*1.5)}.group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden:is(:where(.group\/navigation-menu)[data-viewport=false] *){overflow:hidden}.group-data-\[viewport\=false\]\/navigation-menu\:rounded-md:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-radius:calc(var(--radius) - 2px)}.group-data-\[viewport\=false\]\/navigation-menu\:border:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[viewport\=false\]\/navigation-menu\:bg-popover:is(:where(.group\/navigation-menu)[data-viewport=false] *){background-color:var(--popover)}.group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground:is(:where(.group\/navigation-menu)[data-viewport=false] *){color:var(--popover-foreground)}.group-data-\[viewport\=false\]\/navigation-menu\:shadow:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[viewport\=false\]\/navigation-menu\:duration-200:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-duration:.2s;transition-duration:.2s}@media(hover:hover){.peer-hover\:opacity-100:is(:where(.peer):hover~*){opacity:1}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-fd-muted-foreground::placeholder{color:var(--color-fd-muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-y-1:before{content:var(--tw-content);inset-block:calc(var(--spacing)*1)}.before\:start-2\.5:before{content:var(--tw-content);inset-inline-start:calc(var(--spacing)*2.5)}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:bg-fd-border:before{content:var(--tw-content);background-color:var(--color-fd-border)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.first\:pt-0:first-child{padding-top:calc(var(--spacing)*0)}.last\:rounded-b-xl:last-child{border-bottom-right-radius:calc(var(--radius) + 4px);border-bottom-left-radius:calc(var(--radius) + 4px)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing)*0)}:is(.\*\:last\:border-b-0>*):last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.empty\:mb-0:empty{margin-bottom:calc(var(--spacing)*0)}.empty\:hidden:empty{display:none}@media(hover:hover){.hover\:border-primary\/50:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-card:hover{background-color:var(--card)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-fd-accent:hover,.hover\:bg-fd-accent\/50:hover{background-color:var(--color-fd-accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-fd-accent\/50:hover{background-color:color-mix(in oklab,var(--color-fd-accent)50%,transparent)}}.hover\:bg-fd-accent\/80:hover{background-color:var(--color-fd-accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-fd-accent\/80:hover{background-color:color-mix(in oklab,var(--color-fd-accent)80%,transparent)}}.hover\:bg-fd-primary\/80:hover{background-color:var(--color-fd-primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-fd-primary\/80:hover{background-color:color-mix(in oklab,var(--color-fd-primary)80%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-fd-accent-foreground:hover,.hover\:text-fd-accent-foreground\/80:hover{color:var(--color-fd-accent-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:text-fd-accent-foreground\/80:hover{color:color-mix(in oklab,var(--color-fd-accent-foreground)80%,transparent)}}.hover\:text-fd-popover-foreground\/50:hover{color:var(--color-fd-popover-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:text-fd-popover-foreground\/50:hover{color:color-mix(in oklab,var(--color-fd-popover-foreground)50%,transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:transition-none:hover{transition-property:none}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-fd-ring:focus-visible{--tw-ring-color:var(--color-fd-ring)}.focus-visible\:ring-primary:focus-visible,.focus-visible\:ring-primary\/50:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-primary\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--primary)50%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:where([data-slot=dialog-content]) .in-data-\[slot\=dialog-content\]\:rounded-lg\!{border-radius:var(--radius)!important}.has-focus-visible\:bg-fd-accent:has(:focus-visible){background-color:var(--color-fd-accent)}.has-disabled\:bg-input\/50:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.has-disabled\:bg-input\/50:has(:disabled){background-color:color-mix(in oklab,var(--input)50%,transparent)}}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-data-\[active\=true\]\:text-fd-primary:has([data-active=true]){color:var(--color-fd-primary)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-3:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-3:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}:is(.\*\:has-\[\+\:last-child\[data-empty\=true\]\]\:border-b-0>*):has(+:last-child[data-empty=true]){border-bottom-style:var(--tw-border-style);border-bottom-width:0}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--spacing)*2)}.has-\[\>button\]\:mr-\[-0\.3rem\]:has(>button){margin-right:-.3rem}.has-\[\>button\]\:ml-\[-0\.3rem\]:has(>button){margin-left:-.3rem}.has-\[\>kbd\]\:mr-\[-0\.15rem\]:has(>kbd){margin-right:-.15rem}.has-\[\>kbd\]\:ml-\[-0\.15rem\]:has(>kbd){margin-left:-.15rem}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing)*3)}.has-\[\>svg\]\:p-0:has(>svg){padding:calc(var(--spacing)*0)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-checked\:text-fd-accent-foreground[data-checked]{color:var(--color-fd-accent-foreground)}.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.data-\[active\=true\]\:bg-fd-primary\/10[data-active=true]{background-color:var(--color-fd-primary)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:bg-fd-primary\/10[data-active=true]{background-color:color-mix(in oklab,var(--color-fd-primary)10%,transparent)}}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-accent-foreground[data-active=true]{color:var(--accent-foreground)}.data-\[active\=true\]\:text-fd-primary[data-active=true]{color:var(--color-fd-primary)}.data-\[active\=true\]\:before\:absolute[data-active=true]:before{content:var(--tw-content);position:absolute}.data-\[active\=true\]\:before\:inset-y-2\.5[data-active=true]:before{content:var(--tw-content);inset-block:calc(var(--spacing)*2.5)}.data-\[active\=true\]\:before\:start-2\.5[data-active=true]:before{content:var(--tw-content);inset-inline-start:calc(var(--spacing)*2.5)}.data-\[active\=true\]\:before\:w-px[data-active=true]:before{content:var(--tw-content);width:1px}.data-\[active\=true\]\:before\:bg-fd-primary[data-active=true]:before{content:var(--tw-content);background-color:var(--color-fd-primary)}.data-\[active\=true\]\:before\:content-\[\'\'\][data-active=true]:before{--tw-content:"";content:var(--tw-content)}:is(.\*\*\:data-\[active\=true\]\:before\:absolute *)[data-active=true]:before{content:var(--tw-content);position:absolute}:is(.\*\*\:data-\[active\=true\]\:before\:inset-y-2\.5 *)[data-active=true]:before{content:var(--tw-content);inset-block:calc(var(--spacing)*2.5)}:is(.\*\*\:data-\[active\=true\]\:before\:start-2\.5 *)[data-active=true]:before{content:var(--tw-content);inset-inline-start:calc(var(--spacing)*2.5)}:is(.\*\*\:data-\[active\=true\]\:before\:w-px *)[data-active=true]:before{content:var(--tw-content);width:1px}:is(.\*\*\:data-\[active\=true\]\:before\:bg-fd-primary *)[data-active=true]:before{content:var(--tw-content);background-color:var(--color-fd-primary)}:is(.\*\*\:data-\[active\=true\]\:before\:content-\[\'\'\] *)[data-active=true]:before{--tw-content:"";content:var(--tw-content)}@media(hover:hover){.data-\[active\=true\]\:hover\:bg-accent[data-active=true]:hover{background-color:var(--accent)}.data-\[active\=true\]\:hover\:transition-colors[data-active=true]:hover{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.data-\[active\=true\]\:focus\:bg-accent[data-active=true]:focus{background-color:var(--accent)}.data-\[collapsed\=false\]\:hidden[data-collapsed=false]{display:none}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}:is(.\*\:data-\[empty\=true\]\:border-b-0>*)[data-empty=true]{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\[motion\=from-end\]\:animate-fd-enterFromRight[data-motion=from-end]{animation:var(--animate-fd-enterFromRight)}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:calc(52*var(--spacing))}.data-\[motion\=from-start\]\:animate-fd-enterFromLeft[data-motion=from-start]{animation:var(--animate-fd-enterFromLeft)}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\=to-end\]\:animate-fd-exitToRight[data-motion=to-end]{animation:var(--animate-fd-exitToRight)}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:calc(52*var(--spacing))}.data-\[motion\=to-start\]\:animate-fd-exitToLeft[data-motion=to-start]{animation:var(--animate-fd-exitToLeft)}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,forwards)}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,forwards)}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity:0}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[selected\=true\]\:bg-muted[data-selected=true]{background-color:var(--muted)}.data-\[selected\=true\]\:text-foreground[data-selected=true]{color:var(--foreground)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--destructive)90%,transparent)}}:is(.\*\:data-\[slot\=input-group-addon\]\:pl-2\!>*)[data-slot=input-group-addon]{padding-left:calc(var(--spacing)*2)!important}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot=navigation-menu-link]:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot=navigation-menu-link]:focus{--tw-outline-style:none;outline-style:none}.data-\[state\=active\]\:border-fd-primary[data-state=active]{border-color:var(--color-fd-primary)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-fd-primary[data-state=active]{color:var(--color-fd-primary)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))ease-out}.data-\[state\=closed\]\:animate-fd-accordion-up[data-state=closed]{animation:var(--animate-fd-accordion-up)}.data-\[state\=closed\]\:animate-fd-collapsible-up[data-state=closed]{animation:var(--animate-fd-collapsible-up)}.data-\[state\=closed\]\:animate-fd-dialog-out[data-state=closed]{animation:var(--animate-fd-dialog-out)}.data-\[state\=closed\]\:animate-fd-fade-out[data-state=closed]{animation:var(--animate-fd-fade-out)}.data-\[state\=closed\]\:animate-fd-nav-menu-out[data-state=closed]{animation:var(--animate-fd-nav-menu-out)}.data-\[state\=closed\]\:animate-fd-popover-out[data-state=closed]{animation:var(--animate-fd-popover-out)}.data-\[state\=closed\]\:animate-fd-sidebar-out[data-state=closed]{animation:var(--animate-fd-sidebar-out)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,forwards)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:animate-out:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,forwards)}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:fade-out-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{--tw-exit-opacity:0}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:zoom-out-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=hidden\]\:animate-fd-fade-out[data-state=hidden]{animation:var(--animate-fd-fade-out)}.data-\[state\=hidden\]\:animate-out[data-state=hidden]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,forwards)}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=inactive\]\:hidden[data-state=inactive]{display:none}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))ease-out}.data-\[state\=open\]\:animate-fd-accordion-down[data-state=open]{animation:var(--animate-fd-accordion-down)}.data-\[state\=open\]\:animate-fd-collapsible-down[data-state=open]{animation:var(--animate-fd-collapsible-down)}.data-\[state\=open\]\:animate-fd-dialog-in[data-state=open]{animation:var(--animate-fd-dialog-in)}.data-\[state\=open\]\:animate-fd-fade-in[data-state=open]{animation:var(--animate-fd-fade-in)}.data-\[state\=open\]\:animate-fd-nav-menu-in[data-state=open]{animation:var(--animate-fd-nav-menu-in)}.data-\[state\=open\]\:animate-fd-popover-in[data-state=open]{animation:var(--animate-fd-popover-in)}.data-\[state\=open\]\:animate-fd-sidebar-in[data-state=open]{animation:var(--animate-fd-sidebar-in)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,forwards)}.data-\[state\=open\]\:bg-accent[data-state=open],.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.data-\[state\=open\]\:bg-fd-accent[data-state=open],.data-\[state\=open\]\:bg-fd-accent\/50[data-state=open]{background-color:var(--color-fd-accent)}@supports (color:color-mix(in lab,red,red)){.data-\[state\=open\]\:bg-fd-accent\/50[data-state=open]{background-color:color-mix(in oklab,var(--color-fd-accent)50%,transparent)}}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-fd-accent-foreground[data-state=open]{color:var(--color-fd-accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:animate-in:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,forwards)}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:fade-in-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{--tw-enter-opacity:0}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:zoom-in-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{--tw-enter-scale:.95}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-accent[data-state=open]:hover{background-color:var(--accent)}}.data-\[state\=open\]\:focus\:bg-accent[data-state=open]:focus{background-color:var(--accent)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=visible\]\:animate-in[data-state=visible]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,forwards)}.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[transparent\=false\]\:bg-fd-background\/80[data-transparent=false]{background-color:var(--color-fd-background)}@supports (color:color-mix(in lab,red,red)){.data-\[transparent\=false\]\:bg-fd-background\/80[data-transparent=false]{background-color:color-mix(in oklab,var(--color-fd-background)80%,transparent)}}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}}@media not all and (min-width:80rem){.max-xl\:end-4{inset-inline-end:calc(var(--spacing)*4)}.max-xl\:hidden{display:none}.max-xl\:\[--fd-toc-popover-height\:--spacing\(10\)\]{--fd-toc-popover-height:calc(var(--spacing)*10)}}@media not all and (min-width:64rem){.max-lg\:flex{display:flex}.max-lg\:hidden{display:none}.max-lg\:rounded-b-2xl{border-bottom-right-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl)}.max-lg\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media not all and (min-width:48rem){.max-md\:flex{display:flex}.max-md\:hidden{display:none}.max-md\:rounded-md{border-radius:calc(var(--radius) - 2px)}.max-md\:border{border-style:var(--tw-border-style);border-width:1px}.max-md\:bg-fd-secondary{background-color:var(--color-fd-secondary)}.max-md\:p-1\.5{padding:calc(var(--spacing)*1.5)}.max-md\:\[--fd-header-height\:--spacing\(14\)\]{--fd-header-height:calc(var(--spacing)*14)}}@media not all and (min-width:40rem){.max-sm\:mt-2{margin-top:calc(var(--spacing)*2)}.max-sm\:hidden{display:none}}@media(min-width:40rem){.sm\:block{display:block}.sm\:hidden{display:none}.sm\:inline-block{display:inline-block}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing)*2.5)}.sm\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\:pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.sm\:pl-2\.5{padding-left:calc(var(--spacing)*2.5)}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:absolute{position:absolute}.md\:top-\[calc\(50\%-250px\)\]{top:calc(50% - 250px)}.md\:mx-auto{margin-inline:auto}.md\:mt-1{margin-top:calc(var(--spacing)*1)}.md\:mb-auto{margin-bottom:auto}.md\:flex{display:flex}.md\:hidden{display:none}.md\:size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:gap-2{gap:calc(var(--spacing)*2)}.md\:px-6{padding-inline:calc(var(--spacing)*6)}.md\:py-16{padding-block:calc(var(--spacing)*16)}.md\:py-24{padding-block:calc(var(--spacing)*24)}.md\:pt-8{padding-top:calc(var(--spacing)*8)}.md\:pt-16{padding-top:calc(var(--spacing)*16)}.md\:pt-32{padding-top:calc(var(--spacing)*32)}.md\:pb-10{padding-bottom:calc(var(--spacing)*10)}.md\:pb-24{padding-bottom:calc(var(--spacing)*24)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:\[--fd-sidebar-width\:268px\]{--fd-sidebar-width:268px}.md\:\[--fd-sidebar-width\:285px\]{--fd-sidebar-width:285px}.md\:\[--fd-sidebar-width\:286px\]{--fd-sidebar-width:286px}.has-data-\[collapsed\=true\]\:md\:flex:has([data-collapsed=true]){display:flex}}@media(min-width:64rem){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:justify-start{justify-content:flex-start}.lg\:gap-8{gap:calc(var(--spacing)*8)}.lg\:px-0{padding-inline:calc(var(--spacing)*0)}.lg\:text-left{text-align:left}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.lg\:\[--fd-sidebar-width\:286px\]{--fd-sidebar-width:286px}}@media(min-width:80rem){.xl\:start-4{inset-inline-start:calc(var(--spacing)*4)}.xl\:hidden{display:none}.xl\:px-8{padding-inline:calc(var(--spacing)*8)}.xl\:pt-14{padding-top:calc(var(--spacing)*14)}.xl\:\[--fd-toc-width\:285px\]{--fd-toc-width:285px}}@container not (min-width:36rem){.\@max-xl\:hidden{display:none}}@container not (min-width:32rem){.\@max-lg\:col-span-full{grid-column:1/-1}}.rtl\:right-\(--removed-body-scroll-bar-size\,0\):where(:dir(rtl),[dir=rtl],[dir=rtl] *){right:var(--removed-body-scroll-bar-size,0)}.rtl\:left-auto:where(:dir(rtl),[dir=rtl],[dir=rtl] *){left:auto}.rtl\:-translate-x-\(--fd-sidebar-offset\):where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--fd-sidebar-offset)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.rtl\:-translate-x-2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.rtl\:translate-x-full:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.rtl\:-scale-x-100:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.rtl\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:180deg}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:bg-\(--shiki-dark-bg\):is(.dark *){background-color:var(--shiki-dark-bg)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-primary-strong:is(.dark *){background-color:var(--primary-strong)}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media(hover:hover){.dark\:hover\:bg-primary-strong\/90:is(.dark *):hover{background-color:var(--primary-strong)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-primary-strong\/90:is(.dark *):hover{background-color:color-mix(in oklab,var(--primary-strong)90%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:disabled\:bg-transparent:is(.dark *):disabled{background-color:#0000}.dark\:has-disabled\:bg-input\/80:is(.dark *):has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:has-disabled\:bg-input\/80:is(.dark *):has(:disabled){background-color:color-mix(in oklab,var(--input)80%,transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}:root:has(.on-root\:\[--fd-nav-height\:56px\]){--fd-nav-height:56px}@media not all and (min-width:80rem){:root:has(.max-xl\:on-root\:\[--fd-tocnav-height\:40px\]){--fd-tocnav-height:40px}}@media(min-width:48rem){:root:has(.md\:on-root\:\[--fd-nav-height\:0px\]){--fd-nav-height:0px}:root:has(.md\:on-root\:\[--fd-nav-height\:64px\]){--fd-nav-height:64px}}@media(min-width:64rem){:root:has(.lg\:on-root\:\[--fd-nav-height\:104px\]){--fd-nav-height:104px}}@media(min-width:80rem){:root:has(.xl\:on-root\:\[--fd-toc-width\:286px\]){--fd-toc-width:286px}}.js\:block:is(.js *){display:block}.js\:hidden:is(.js *){display:none}@media(min-width:48rem){.md\:\[\&_\#nd-page_article\]\:pt-12 #nd-page article{padding-top:calc(var(--spacing)*12)}}@media(min-width:80rem){.xl\:\[\&_\#nd-page_article\]\:px-8 #nd-page article{padding-inline:calc(var(--spacing)*8)}}.\[\&_img\]\:size-full img{width:100%;height:100%}.\[\&_img\]\:object-cover img{object-fit:cover}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-3\.5 svg{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:size-4\.5 svg{width:calc(var(--spacing)*4.5);height:calc(var(--spacing)*4.5)}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.\[\&_svg\]\:size-5\.5 svg{width:calc(var(--spacing)*5.5);height:calc(var(--spacing)*5.5)}.\[\&_svg\]\:size-full svg{width:100%;height:100%}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content]{flex:none}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-2.border-b{padding-bottom:calc(var(--spacing)*2)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-2.border-t{padding-top:calc(var(--spacing)*2)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:px-2 *)[cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:py-1\.5 *)[cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:text-xs *)[cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:font-medium *)[cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:text-muted-foreground *)[cmdk-group-heading]{color:var(--muted-foreground)}:is(.data-\[selected\=true\]\:\*\:\[svg\]\:text-foreground[data-selected=true]>*):is(svg){color:var(--foreground)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\>\*\]\:focus-visible\:relative>:focus-visible{position:relative}.\[\&\>\*\]\:focus-visible\:z-10>:focus-visible{z-index:10}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--primary)}.\[\&\>figure\:only-child\]\:-m-4>figure:only-child{margin:calc(var(--spacing)*-4)}.\[\&\>figure\:only-child\]\:border-none>figure:only-child{--tw-border-style:none;border-style:none}.\[\&\>input\]\:flex-1>input{flex:1}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing)*3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing)*3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing)*1.5)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing)*1.5)}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}a.\[a\&\]\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover,a.\[a\&\]\:hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}@media(min-width:80rem){.container{max-width:var(--container-6xl)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:forwards}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}#nd-sidebar{background-color:var(--sidebar);color:var(--sidebar-foreground);border-color:var(--sidebar-border);--color-fd-accent:var(--sidebar-accent);--color-fd-accent-foreground:var(--sidebar-accent-foreground);--color-fd-ring:var(--sidebar-ring);--color-fd-primary-foreground:var(--sidebar-primary-foreground)}:root{--padding-left:calc(var(--spacing)*4);--padding-right:calc(var(--spacing)*4)}.shiki:not(.not-fumadocs-codeblock *) code span{color:var(--shiki-light)}.dark .shiki:not(.not-fumadocs-codeblock *) code span{color:var(--shiki-dark)}.line:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){min-height:1lh;padding-left:var(--padding-left);padding-right:var(--padding-right);position:relative}.has-focused .line:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *):not(.focused){filter:blur(2px);transition:filter .2s}.has-focused:hover .line:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *):not(.focused){filter:blur()}[data-line-numbers] .twoslash-meta-line:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){padding-left:calc(var(--padding-left) + 7*var(--spacing))}[data-line-numbers] .line:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){counter-increment:line;padding-left:calc(var(--padding-left) + 7*var(--spacing))}[data-line-numbers] .line:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *):after{content:counter(line);color:var(--fd-counter-color,var(--color-fd-muted-foreground));position:absolute}@supports (color:color-mix(in lab,red,red)){[data-line-numbers] .line:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *):after{color:color-mix(in oklab,var(--fd-counter-color,var(--color-fd-muted-foreground))60%,transparent)}}[data-line-numbers] .line:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *):after{top:calc(var(--spacing)*0);left:calc(var(--spacing)*4)}.diff:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *):before{left:calc(var(--spacing)*1.5);position:absolute}.diff.remove:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){opacity:.7;--fd-counter-color:var(--color-fd-diff-remove-symbol);background-color:var(--color-fd-diff-remove)}.diff.remove:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *):before{content:"-";color:var(--color-fd-diff-remove-symbol)}.diff.add:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){--fd-counter-color:var(--color-fd-diff-add-symbol);background-color:var(--color-fd-diff-add)}.diff.add:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *):before{content:"+";color:var(--color-fd-diff-add-symbol)}.highlighted:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){--fd-counter-color:var(--color-fd-primary);padding-left:calc(var(--padding-left) - 2px);border-left-style:var(--tw-border-style);border-left-width:2px;border-color:var(--color-fd-primary)}@supports (color:color-mix(in lab,red,red)){.highlighted:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){border-color:color-mix(in oklab,var(--color-fd-primary)50%,transparent)}}.highlighted:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){background-color:var(--color-fd-primary)}@supports (color:color-mix(in lab,red,red)){.highlighted:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){background-color:color-mix(in oklab,var(--color-fd-primary)10%,transparent)}}.highlighted-word:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-fd-primary);margin-block:-1px;padding:1px}@supports (color:color-mix(in lab,red,red)){.highlighted-word:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){border-color:color-mix(in oklab,var(--color-fd-primary)30%,transparent)}}.highlighted-word:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){background-color:var(--color-fd-primary)}@supports (color:color-mix(in lab,red,red)){.highlighted-word:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){background-color:color-mix(in oklab,var(--color-fd-primary)10%,transparent)}}.highlighted-word:is(pre *):is(.shiki *):not(.not-fumadocs-codeblock *){--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}[dir=rtl]{--fd-sidebar-mobile-offset:-100%}@property --radix-collapsible-content-height{syntax:"";inherits:false;initial-value:0}@font-face{font-family:Inter;src:url(/fonts/inter-latin-wght-normal.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin-wght-italic.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(55.31% .12 136.93);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(17% 0 0);--foreground:oklch(92% 0 0);--card:oklch(20% 0 0);--card-foreground:oklch(92% 0 0);--popover:oklch(20% 0 0);--popover-foreground:oklch(92% 0 0);--primary:oklch(55.31% .12 136.93);--primary-strong:oklch(40% .13 145);--primary-foreground:oklch(97% 0 0);--secondary:oklch(25% 0 0);--secondary-foreground:oklch(92% 0 0);--muted:oklch(25% 0 0);--muted-foreground:oklch(62% 0 0);--accent:oklch(25% 0 0);--accent-foreground:oklch(92% 0 0);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98% 0 0);--border:oklch(30% 0 0);--input:oklch(30% 0 0);--ring:oklch(55.31% .12 136.93);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(20% 0 0);--sidebar-foreground:oklch(92% 0 0);--sidebar-primary:oklch(55.31% .12 136.93);--sidebar-primary-foreground:oklch(98% 0 0);--sidebar-accent:oklch(25% 0 0);--sidebar-accent-foreground:oklch(92% 0 0);--sidebar-border:oklch(30% 0 0);--sidebar-ring:oklch(55.31% .12 136.93)}@media print{@page{size:A4}.print-only{display:block!important}.no-print{display:none!important}#nd-docs-layout{--fd-sidebar-width:0px!important}#nd-sidebar{display:none}header,figure>div>button{display:none!important}h1:not(:first-of-type){break-before:page;margin-top:0}h1,h2,h3,h4,h5,h6{break-after:avoid;break-inside:avoid}hr{display:none}table{table-layout:fixed;word-wrap:break-word;max-width:100%}th,td{word-break:break-all;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;padding:6px 10px!important}thead{display:table-header-group}tr{break-inside:avoid}pre,code{white-space:pre-wrap!important;word-break:break-all!important;overflow-wrap:break-word!important;max-width:100%!important}pre,table,blockquote{break-inside:auto;orphans:3;widows:3}figure .fd-scroll-container.max-h-\[600px\]{height:auto!important;max-height:none!important;display:block!important;overflow:visible!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,auto))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,auto))))}to{height:0}}@keyframes fd-sidebar-in{0%{transform:translate(var(--fd-sidebar-mobile-offset))}}@keyframes fd-sidebar-out{to{transform:translate(var(--fd-sidebar-mobile-offset))}}@keyframes fd-collapsible-down{0%{opacity:0;height:0}to{height:var(--radix-collapsible-content-height)}}@keyframes fd-collapsible-up{0%{height:var(--radix-collapsible-content-height)}to{opacity:0;height:0}}@keyframes fd-accordion-down{0%{opacity:.5;height:0}to{height:var(--radix-accordion-content-height)}}@keyframes fd-accordion-up{0%{height:var(--radix-accordion-content-height)}to{opacity:.5;height:0}}@keyframes fd-dialog-in{0%{opacity:0;transform:scale(1.06)}to{transform:scale(1)}}@keyframes fd-dialog-out{0%{transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@keyframes fd-popover-in{0%{opacity:0;transform:scale(.9)}}@keyframes fd-popover-out{to{opacity:0;transform:scale(.9)}}@keyframes fd-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fd-fade-out{0%{opacity:1}to{opacity:0}}@keyframes fd-enterFromRight{0%{opacity:0;transform:translate(200px)}to{opacity:1;transform:translate(0)}}@keyframes fd-enterFromLeft{0%{opacity:0;transform:translate(-200px)}to{opacity:1;transform:translate(0)}}@keyframes fd-exitToRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(200px)}}@keyframes fd-exitToLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-200px)}}@keyframes fd-nav-menu-in{0%{opacity:0;height:0}to{opacity:1;height:var(--radix-navigation-menu-viewport-height)}}@keyframes fd-nav-menu-out{0%{opacity:1;height:var(--radix-navigation-menu-viewport-height)}to{opacity:0;height:0}} diff --git a/content/assets/basic-tutorial-Dt9KTh_9.js b/content/assets/basic-tutorial-Dt9KTh_9.js new file mode 100644 index 00000000000..d5cc95006af --- /dev/null +++ b/content/assets/basic-tutorial-Dt9KTh_9.js @@ -0,0 +1,1276 @@ +import{j as i}from"./chunk-EPOLDU6W-BACfhBcx.js";let l=`## Introduction + +In this tutorial, we show simple implementations of barriers and +producer-consumer queues using ZooKeeper. We call the respective classes Barrier and Queue. +These examples assume that you have at least one ZooKeeper server running. + +Both primitives use the following common excerpt of code: + +\`\`\`java +static ZooKeeper zk = null; +static Integer mutex; + +String root; + +SyncPrimitive(String address) { + if(zk == null){ + try { + System.out.println("Starting ZK:"); + zk = new ZooKeeper(address, 3000, this); + mutex = new Integer(-1); + System.out.println("Finished starting ZK: " + zk); + } catch (IOException e) { + System.out.println(e.toString()); + zk = null; + } + } +} + +synchronized public void process(WatchedEvent event) { + synchronized (mutex) { + mutex.notify(); + } +} +\`\`\` + +Both classes extend SyncPrimitive. In this way, we execute steps that are +common to all primitives in the constructor of SyncPrimitive. To keep the examples +simple, we create a ZooKeeper object the first time we instantiate either a barrier +object or a queue object, and we declare a static variable that is a reference +to this object. The subsequent instances of Barrier and Queue check whether a +ZooKeeper object exists. Alternatively, we could have the application creating a +ZooKeeper object and passing it to the constructor of Barrier and Queue. + +We use the process() method to process notifications triggered due to watches. +In the following discussion, we present code that sets watches. A watch is internal +structure that enables ZooKeeper to notify a client of a change to a node. For example, +if a client is waiting for other clients to leave a barrier, then it can set a watch and +wait for modifications to a particular node, which can indicate that it is the end of the wait. +This point becomes clear once we go over the examples. + +## Barriers + +A barrier is a primitive that enables a group of processes to synchronize the +beginning and the end of a computation. The general idea of this implementation +is to have a barrier node that serves the purpose of being a parent for individual +process nodes. Suppose that we call the barrier node "/b1". Each process "p" then +creates a node "/b1/p". Once enough processes have created their corresponding +nodes, joined processes can start the computation. + +In this example, each process instantiates a Barrier object, and its constructor takes as parameters: + +* the address of a ZooKeeper server (e.g., "zoo1.foo.com:2181") +* the path of the barrier node on ZooKeeper (e.g., "/b1") +* the size of the group of processes + +The constructor of Barrier passes the address of the Zookeeper server to the +constructor of the parent class. The parent class creates a ZooKeeper instance if +one does not exist. The constructor of Barrier then creates a +barrier node on ZooKeeper, which is the parent node of all process nodes, and +we call root (**Note:** This is not the ZooKeeper root "/"). + +\`\`\`java +/** + * Barrier constructor + * + * @param address + * @param root + * @param size + */ +Barrier(String address, String root, int size) { + super(address); + this.root = root; + this.size = size; + // Create barrier node + if (zk != null) { + try { + Stat s = zk.exists(root, false); + if (s == null) { + zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE, + CreateMode.PERSISTENT); + } + } catch (KeeperException e) { + System.out + .println("Keeper exception when instantiating queue: " + + e.toString()); + } catch (InterruptedException e) { + System.out.println("Interrupted exception"); + } + } + + // My node name + try { + name = new String(InetAddress.getLocalHost().getCanonicalHostName().toString()); + } catch (UnknownHostException e) { + System.out.println(e.toString()); + } +} +\`\`\` + +To enter the barrier, a process calls enter(). The process creates a node under +the root to represent it, using its host name to form the node name. It then wait +until enough processes have entered the barrier. A process does it by checking +the number of children the root node has with "getChildren()", and waiting for +notifications in the case it does not have enough. To receive a notification when +there is a change to the root node, a process has to set a watch, and does it +through the call to "getChildren()". In the code, we have that "getChildren()" +has two parameters. The first one states the node to read from, and the second is +a boolean flag that enables the process to set a watch. In the code the flag is true. + +\`\`\`java +/** + * Join barrier + * + * @return + * @throws KeeperException + * @throws InterruptedException + */ + +boolean enter() throws KeeperException, InterruptedException{ + zk.create(root + "/" + name, new byte[0], Ids.OPEN_ACL_UNSAFE, + CreateMode.EPHEMERAL); + while (true) { + synchronized (mutex) { + List list = zk.getChildren(root, true); + + if (list.size() < size) { + mutex.wait(); + } else { + return true; + } + } + } +} +\`\`\` + +Note that enter() throws both KeeperException and InterruptedException, so it is +the responsibility of the application to catch and handle such exceptions. + +Once the computation is finished, a process calls leave() to leave the barrier. +First it deletes its corresponding node, and then it gets the children of the root +node. If there is at least one child, then it waits for a notification (obs: note +that the second parameter of the call to getChildren() is true, meaning that +ZooKeeper has to set a watch on the root node). Upon reception of a notification, +it checks once more whether the root node has any children. + +\`\`\`java +/** + * Wait until all reach barrier + * + * @return + * @throws KeeperException + * @throws InterruptedException + */ + +boolean leave() throws KeeperException, InterruptedException { + zk.delete(root + "/" + name, 0); + while (true) { + synchronized (mutex) { + List list = zk.getChildren(root, true); + if (list.size() > 0) { + mutex.wait(); + } else { + return true; + } + } + } + } +\`\`\` + +## Producer-Consumer Queues + +A producer-consumer queue is a distributed data structure that groups of processes +use to generate and consume items. Producer processes create new elements and add +them to the queue. Consumer processes remove elements from the list, and process them. +In this implementation, the elements are simple integers. The queue is represented +by a root node, and to add an element to the queue, a producer process creates a new node, +a child of the root node. + +The following excerpt of code corresponds to the constructor of the object. As +with Barrier objects, it first calls the constructor of the parent class, SyncPrimitive, +that creates a ZooKeeper object if one doesn't exist. It then verifies if the root +node of the queue exists, and creates if it doesn't. + +\`\`\`java +/** + * Constructor of producer-consumer queue + * + * @param address + * @param name + */ +Queue(String address, String name) { + super(address); + this.root = name; + // Create ZK node name + if (zk != null) { + try { + Stat s = zk.exists(root, false); + if (s == null) { + zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE, + CreateMode.PERSISTENT); + } + } catch (KeeperException e) { + System.out + .println("Keeper exception when instantiating queue: " + + e.toString()); + } catch (InterruptedException e) { + System.out.println("Interrupted exception"); + } + } +} +\`\`\` + +A producer process calls "produce()" to add an element to the queue, and passes +an integer as an argument. To add an element to the queue, the method creates a +new node using "create()", and uses the SEQUENCE flag to instruct ZooKeeper to +append the value of the sequencer counter associated to the root node. In this way, +we impose a total order on the elements of the queue, thus guaranteeing that the +oldest element of the queue is the next one consumed. + +\`\`\`java +/** + * Add element to the queue. + * + * @param i + * @return + */ + +boolean produce(int i) throws KeeperException, InterruptedException{ + ByteBuffer b = ByteBuffer.allocate(4); + byte[] value; + + // Add child with value i + b.putInt(i); + value = b.array(); + zk.create(root + "/element", value, Ids.OPEN_ACL_UNSAFE, + CreateMode.PERSISTENT_SEQUENTIAL); + + return true; +} +\`\`\` + +To consume an element, a consumer process obtains the children of the root node, +reads the node with smallest counter value, and returns the element. Note that +if there is a conflict, then one of the two contending processes won't be able to +delete the node and the delete operation will throw an exception. + +A call to getChildren() returns the list of children in lexicographic order. +As lexicographic order does not necessarily follow the numerical order of the counter +values, we need to decide which element is the smallest. To decide which one has +the smallest counter value, we traverse the list, and remove the prefix "element" +from each one. + +\`\`\`java +/** + * Remove first element from the queue. + * + * @return + * @throws KeeperException + * @throws InterruptedException + */ +int consume() throws KeeperException, InterruptedException{ + int retvalue = -1; + Stat stat = null; + + // Get the first element available + while (true) { + synchronized (mutex) { + List list = zk.getChildren(root, true); + if (list.size() == 0) { + System.out.println("Going to wait"); + mutex.wait(); + } else { + Integer min = new Integer(list.get(0).substring(7)); + for(String s : list){ + Integer tempValue = new Integer(s.substring(7)); + //System.out.println("Temporary value: " + tempValue); + if(tempValue < min) min = tempValue; + } + System.out.println("Temporary value: " + root + "/element" + min); + byte[] b = zk.getData(root + "/element" + min, + false, stat); + zk.delete(root + "/element" + min, 0); + ByteBuffer buffer = ByteBuffer.wrap(b); + retvalue = buffer.getInt(); + + return retvalue; + } + } + } + } +} +\`\`\` + +## Complete example + +In the following section you can find a complete command line application to demonstrate the above mentioned +recipes. Use the following command to run it. + +\`\`\`bash +ZOOBINDIR="[path_to_distro]/bin" +. "$ZOOBINDIR"/zkEnv.sh +java SyncPrimitive [Test Type] [ZK server] [No of elements] [Client type] +\`\`\` + +### Queue test + +Start a producer to create 100 elements + +\`\`\`bash +java SyncPrimitive qTest localhost 100 p +\`\`\` + +Start a consumer to consume 100 elements + +\`\`\`bash +java SyncPrimitive qTest localhost 100 c +\`\`\` + +### Barrier test + +Start a barrier with 2 participants (start as many times as many participants you'd like to enter) + +\`\`\`bash +java SyncPrimitive bTest localhost 2 +\`\`\` + +### Source Listing + +#### SyncPrimitive.Java + +\`\`\`java +import java.io.IOException; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.List; +import java.util.Random; + +import org.apache.zookeeper.CreateMode; +import org.apache.zookeeper.KeeperException; +import org.apache.zookeeper.WatchedEvent; +import org.apache.zookeeper.Watcher; +import org.apache.zookeeper.ZooKeeper; +import org.apache.zookeeper.ZooDefs.Ids; +import org.apache.zookeeper.data.Stat; + +public class SyncPrimitive implements Watcher { + + static ZooKeeper zk = null; + static Integer mutex; + String root; + + SyncPrimitive(String address) { + if(zk == null){ + try { + System.out.println("Starting ZK:"); + zk = new ZooKeeper(address, 3000, this); + mutex = new Integer(-1); + System.out.println("Finished starting ZK: " + zk); + } catch (IOException e) { + System.out.println(e.toString()); + zk = null; + } + } + //else mutex = new Integer(-1); + } + + synchronized public void process(WatchedEvent event) { + synchronized (mutex) { + //System.out.println("Process: " + event.getType()); + mutex.notify(); + } + } + + /** + * Barrier + */ + static public class Barrier extends SyncPrimitive { + int size; + String name; + + /** + * Barrier constructor + * + * @param address + * @param root + * @param size + */ + Barrier(String address, String root, int size) { + super(address); + this.root = root; + this.size = size; + + // Create barrier node + if (zk != null) { + try { + Stat s = zk.exists(root, false); + if (s == null) { + zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE, + CreateMode.PERSISTENT); + } + } catch (KeeperException e) { + System.out + .println("Keeper exception when instantiating queue: " + + e.toString()); + } catch (InterruptedException e) { + System.out.println("Interrupted exception"); + } + } + + // My node name + try { + name = new String(InetAddress.getLocalHost().getCanonicalHostName().toString()); + } catch (UnknownHostException e) { + System.out.println(e.toString()); + } + + } + + /** + * Join barrier + * + * @return + * @throws KeeperException + * @throws InterruptedException + */ + + boolean enter() throws KeeperException, InterruptedException{ + zk.create(root + "/" + name, new byte[0], Ids.OPEN_ACL_UNSAFE, + CreateMode.EPHEMERAL); + while (true) { + synchronized (mutex) { + List list = zk.getChildren(root, true); + + if (list.size() < size) { + mutex.wait(); + } else { + return true; + } + } + } + } + + /** + * Wait until all reach barrier + * + * @return + * @throws KeeperException + * @throws InterruptedException + */ + boolean leave() throws KeeperException, InterruptedException{ + zk.delete(root + "/" + name, 0); + while (true) { + synchronized (mutex) { + List list = zk.getChildren(root, true); + if (list.size() > 0) { + mutex.wait(); + } else { + return true; + } + } + } + } + } + + /** + * Producer-Consumer queue + */ + static public class Queue extends SyncPrimitive { + + /** + * Constructor of producer-consumer queue + * + * @param address + * @param name + */ + Queue(String address, String name) { + super(address); + this.root = name; + // Create ZK node name + if (zk != null) { + try { + Stat s = zk.exists(root, false); + if (s == null) { + zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE, + CreateMode.PERSISTENT); + } + } catch (KeeperException e) { + System.out + .println("Keeper exception when instantiating queue: " + + e.toString()); + } catch (InterruptedException e) { + System.out.println("Interrupted exception"); + } + } + } + + /** + * Add element to the queue. + * + * @param i + * @return + */ + + boolean produce(int i) throws KeeperException, InterruptedException{ + ByteBuffer b = ByteBuffer.allocate(4); + byte[] value; + + // Add child with value i + b.putInt(i); + value = b.array(); + zk.create(root + "/element", value, Ids.OPEN_ACL_UNSAFE, + CreateMode.PERSISTENT_SEQUENTIAL); + + return true; + } + + /** + * Remove first element from the queue. + * + * @return + * @throws KeeperException + * @throws InterruptedException + */ + int consume() throws KeeperException, InterruptedException{ + int retvalue = -1; + Stat stat = null; + + // Get the first element available + while (true) { + synchronized (mutex) { + List list = zk.getChildren(root, true); + if (list.size() == 0) { + System.out.println("Going to wait"); + mutex.wait(); + } else { + Integer min = new Integer(list.get(0).substring(7)); + String minNode = list.get(0); + for(String s : list){ + Integer tempValue = new Integer(s.substring(7)); + //System.out.println("Temporary value: " + tempValue); + if(tempValue < min) { + min = tempValue; + minNode = s; + } + } + System.out.println("Temporary value: " + root + "/" + minNode); + byte[] b = zk.getData(root + "/" + minNode, + false, stat); + zk.delete(root + "/" + minNode, 0); + ByteBuffer buffer = ByteBuffer.wrap(b); + retvalue = buffer.getInt(); + + return retvalue; + } + } + } + } + } + + public static void main(String args[]) { + if (args[0].equals("qTest")) + queueTest(args); + else + barrierTest(args); + } + + public static void queueTest(String args[]) { + Queue q = new Queue(args[1], "/app1"); + + System.out.println("Input: " + args[1]); + int i; + Integer max = new Integer(args[2]); + + if (args[3].equals("p")) { + System.out.println("Producer"); + for (i = 0; i < max; i++) + try{ + q.produce(10 + i); + } catch (KeeperException e){ + + } catch (InterruptedException e){ + + } + } else { + System.out.println("Consumer"); + + for (i = 0; i < max; i++) { + try{ + int r = q.consume(); + System.out.println("Item: " + r); + } catch (KeeperException e){ + i--; + } catch (InterruptedException e){ + } + } + } + } + + public static void barrierTest(String args[]) { + Barrier b = new Barrier(args[1], "/b1", new Integer(args[2])); + try{ + boolean flag = b.enter(); + System.out.println("Entered barrier: " + args[2]); + if(!flag) System.out.println("Error when entering the barrier"); + } catch (KeeperException e){ + } catch (InterruptedException e){ + } + + // Generate random integer + Random rand = new Random(); + int r = rand.nextInt(100); + // Loop for rand iterations + for (int i = 0; i < r; i++) { + try { + Thread.sleep(100); + } catch (InterruptedException e) { + } + } + try{ + b.leave(); + } catch (KeeperException e){ + + } catch (InterruptedException e){ + + } + System.out.println("Left barrier"); + } +} +\`\`\` +`,t={title:"Basic tutorial",description:"Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination."},a=[],r={contents:[{heading:"introduction",content:`In this tutorial, we show simple implementations of barriers and +producer-consumer queues using ZooKeeper. We call the respective classes Barrier and Queue. +These examples assume that you have at least one ZooKeeper server running.`},{heading:"introduction",content:"Both primitives use the following common excerpt of code:"},{heading:"introduction",content:`Both classes extend SyncPrimitive. In this way, we execute steps that are +common to all primitives in the constructor of SyncPrimitive. To keep the examples +simple, we create a ZooKeeper object the first time we instantiate either a barrier +object or a queue object, and we declare a static variable that is a reference +to this object. The subsequent instances of Barrier and Queue check whether a +ZooKeeper object exists. Alternatively, we could have the application creating a +ZooKeeper object and passing it to the constructor of Barrier and Queue.`},{heading:"introduction",content:`We use the process() method to process notifications triggered due to watches. +In the following discussion, we present code that sets watches. A watch is internal +structure that enables ZooKeeper to notify a client of a change to a node. For example, +if a client is waiting for other clients to leave a barrier, then it can set a watch and +wait for modifications to a particular node, which can indicate that it is the end of the wait. +This point becomes clear once we go over the examples.`},{heading:"barriers",content:`A barrier is a primitive that enables a group of processes to synchronize the +beginning and the end of a computation. The general idea of this implementation +is to have a barrier node that serves the purpose of being a parent for individual +process nodes. Suppose that we call the barrier node "/b1". Each process "p" then +creates a node "/b1/p". Once enough processes have created their corresponding +nodes, joined processes can start the computation.`},{heading:"barriers",content:"In this example, each process instantiates a Barrier object, and its constructor takes as parameters:"},{heading:"barriers",content:'the address of a ZooKeeper server (e.g., "zoo1.foo.com:2181")'},{heading:"barriers",content:'the path of the barrier node on ZooKeeper (e.g., "/b1")'},{heading:"barriers",content:"the size of the group of processes"},{heading:"barriers",content:`The constructor of Barrier passes the address of the Zookeeper server to the +constructor of the parent class. The parent class creates a ZooKeeper instance if +one does not exist. The constructor of Barrier then creates a +barrier node on ZooKeeper, which is the parent node of all process nodes, and +we call root (Note: This is not the ZooKeeper root "/").`},{heading:"barriers",content:`To enter the barrier, a process calls enter(). The process creates a node under +the root to represent it, using its host name to form the node name. It then wait +until enough processes have entered the barrier. A process does it by checking +the number of children the root node has with "getChildren()", and waiting for +notifications in the case it does not have enough. To receive a notification when +there is a change to the root node, a process has to set a watch, and does it +through the call to "getChildren()". In the code, we have that "getChildren()" +has two parameters. The first one states the node to read from, and the second is +a boolean flag that enables the process to set a watch. In the code the flag is true.`},{heading:"barriers",content:`Note that enter() throws both KeeperException and InterruptedException, so it is +the responsibility of the application to catch and handle such exceptions.`},{heading:"barriers",content:`Once the computation is finished, a process calls leave() to leave the barrier. +First it deletes its corresponding node, and then it gets the children of the root +node. If there is at least one child, then it waits for a notification (obs: note +that the second parameter of the call to getChildren() is true, meaning that +ZooKeeper has to set a watch on the root node). Upon reception of a notification, +it checks once more whether the root node has any children.`},{heading:"producer-consumer-queues",content:`A producer-consumer queue is a distributed data structure that groups of processes +use to generate and consume items. Producer processes create new elements and add +them to the queue. Consumer processes remove elements from the list, and process them. +In this implementation, the elements are simple integers. The queue is represented +by a root node, and to add an element to the queue, a producer process creates a new node, +a child of the root node.`},{heading:"producer-consumer-queues",content:`The following excerpt of code corresponds to the constructor of the object. As +with Barrier objects, it first calls the constructor of the parent class, SyncPrimitive, +that creates a ZooKeeper object if one doesn't exist. It then verifies if the root +node of the queue exists, and creates if it doesn't.`},{heading:"producer-consumer-queues",content:`A producer process calls "produce()" to add an element to the queue, and passes +an integer as an argument. To add an element to the queue, the method creates a +new node using "create()", and uses the SEQUENCE flag to instruct ZooKeeper to +append the value of the sequencer counter associated to the root node. In this way, +we impose a total order on the elements of the queue, thus guaranteeing that the +oldest element of the queue is the next one consumed.`},{heading:"producer-consumer-queues",content:`To consume an element, a consumer process obtains the children of the root node, +reads the node with smallest counter value, and returns the element. Note that +if there is a conflict, then one of the two contending processes won't be able to +delete the node and the delete operation will throw an exception.`},{heading:"producer-consumer-queues",content:`A call to getChildren() returns the list of children in lexicographic order. +As lexicographic order does not necessarily follow the numerical order of the counter +values, we need to decide which element is the smallest. To decide which one has +the smallest counter value, we traverse the list, and remove the prefix "element" +from each one.`},{heading:"complete-example",content:`In the following section you can find a complete command line application to demonstrate the above mentioned +recipes. Use the following command to run it.`},{heading:"queue-test",content:"Start a producer to create 100 elements"},{heading:"queue-test",content:"Start a consumer to consume 100 elements"},{heading:"barrier-test",content:"Start a barrier with 2 participants (start as many times as many participants you'd like to enter)"}],headings:[{id:"introduction",content:"Introduction"},{id:"barriers",content:"Barriers"},{id:"producer-consumer-queues",content:"Producer-Consumer Queues"},{id:"complete-example",content:"Complete example"},{id:"queue-test",content:"Queue test"},{id:"barrier-test",content:"Barrier test"},{id:"source-listing",content:"Source Listing"},{id:"syncprimitivejava",content:"SyncPrimitive.Java"}]};const k=[{depth:2,url:"#introduction",title:i.jsx(i.Fragment,{children:"Introduction"})},{depth:2,url:"#barriers",title:i.jsx(i.Fragment,{children:"Barriers"})},{depth:2,url:"#producer-consumer-queues",title:i.jsx(i.Fragment,{children:"Producer-Consumer Queues"})},{depth:2,url:"#complete-example",title:i.jsx(i.Fragment,{children:"Complete example"})},{depth:3,url:"#queue-test",title:i.jsx(i.Fragment,{children:"Queue test"})},{depth:3,url:"#barrier-test",title:i.jsx(i.Fragment,{children:"Barrier test"})},{depth:3,url:"#source-listing",title:i.jsx(i.Fragment,{children:"Source Listing"})},{depth:4,url:"#syncprimitivejava",title:i.jsx(i.Fragment,{children:"SyncPrimitive.Java"})}];function n(e){const s={code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",span:"span",strong:"strong",ul:"ul",...e.components};return i.jsxs(i.Fragment,{children:[i.jsx(s.h2,{id:"introduction",children:"Introduction"}),` +`,i.jsx(s.p,{children:`In this tutorial, we show simple implementations of barriers and +producer-consumer queues using ZooKeeper. We call the respective classes Barrier and Queue. +These examples assume that you have at least one ZooKeeper server running.`}),` +`,i.jsx(s.p,{children:"Both primitives use the following common excerpt of code:"}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsxs(s.code,{children:[i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"static"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ZooKeeper zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"static"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Integer mutex;"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"String root;"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"SyncPrimitive"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(String address) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"){"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Starting ZK:"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" ZooKeeper"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(address, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"3000"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"this"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" mutex "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Integer"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"-"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Finished starting ZK: "'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (IOException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(e."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"toString"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"());"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"synchronized"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" public"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" void"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" process"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(WatchedEvent event) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" synchronized"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (mutex) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" mutex."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"notify"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})})}),` +`,i.jsx(s.p,{children:`Both classes extend SyncPrimitive. In this way, we execute steps that are +common to all primitives in the constructor of SyncPrimitive. To keep the examples +simple, we create a ZooKeeper object the first time we instantiate either a barrier +object or a queue object, and we declare a static variable that is a reference +to this object. The subsequent instances of Barrier and Queue check whether a +ZooKeeper object exists. Alternatively, we could have the application creating a +ZooKeeper object and passing it to the constructor of Barrier and Queue.`}),` +`,i.jsx(s.p,{children:`We use the process() method to process notifications triggered due to watches. +In the following discussion, we present code that sets watches. A watch is internal +structure that enables ZooKeeper to notify a client of a change to a node. For example, +if a client is waiting for other clients to leave a barrier, then it can set a watch and +wait for modifications to a particular node, which can indicate that it is the end of the wait. +This point becomes clear once we go over the examples.`}),` +`,i.jsx(s.h2,{id:"barriers",children:"Barriers"}),` +`,i.jsx(s.p,{children:`A barrier is a primitive that enables a group of processes to synchronize the +beginning and the end of a computation. The general idea of this implementation +is to have a barrier node that serves the purpose of being a parent for individual +process nodes. Suppose that we call the barrier node "/b1". Each process "p" then +creates a node "/b1/p". Once enough processes have created their corresponding +nodes, joined processes can start the computation.`}),` +`,i.jsx(s.p,{children:"In this example, each process instantiates a Barrier object, and its constructor takes as parameters:"}),` +`,i.jsxs(s.ul,{children:[` +`,i.jsx(s.li,{children:'the address of a ZooKeeper server (e.g., "zoo1.foo.com:2181")'}),` +`,i.jsx(s.li,{children:'the path of the barrier node on ZooKeeper (e.g., "/b1")'}),` +`,i.jsx(s.li,{children:"the size of the group of processes"}),` +`]}),` +`,i.jsxs(s.p,{children:[`The constructor of Barrier passes the address of the Zookeeper server to the +constructor of the parent class. The parent class creates a ZooKeeper instance if +one does not exist. The constructor of Barrier then creates a +barrier node on ZooKeeper, which is the parent node of all process nodes, and +we call root (`,i.jsx(s.strong,{children:"Note:"}),' This is not the ZooKeeper root "/").']}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsxs(s.code,{children:[i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"/**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Barrier constructor"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" address"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" root"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" size"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"Barrier"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(String address, String root, "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" size) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" super"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(address);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" this"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:".root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" root;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" this"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:".size "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" size;"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // Create barrier node"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"!="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Stat s "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"exists"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"false"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (s "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"create"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"new"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" byte"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"], Ids.OPEN_ACL_UNSAFE,"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" CreateMode.PERSISTENT);"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (KeeperException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Keeper exception when instantiating queue: "'})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" e."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"toString"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"());"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (InterruptedException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Interrupted exception"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // My node name"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" name "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" String"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(InetAddress."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getLocalHost"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"()."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getCanonicalHostName"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"()."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"toString"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"());"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (UnknownHostException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(e."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"toString"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"());"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})})}),` +`,i.jsx(s.p,{children:`To enter the barrier, a process calls enter(). The process creates a node under +the root to represent it, using its host name to form the node name. It then wait +until enough processes have entered the barrier. A process does it by checking +the number of children the root node has with "getChildren()", and waiting for +notifications in the case it does not have enough. To receive a notification when +there is a change to the root node, a process has to set a watch, and does it +through the call to "getChildren()". In the code, we have that "getChildren()" +has two parameters. The first one states the node to read from, and the second is +a boolean flag that enables the process to set a watch. In the code the flag is true.`}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsxs(s.code,{children:[i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"/**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Join barrier"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@return"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" KeeperException"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" InterruptedException"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"boolean"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" enter"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() throws KeeperException, InterruptedException{"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"create"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/"'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" name, "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"new"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" byte"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"], Ids.OPEN_ACL_UNSAFE,"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" CreateMode.EPHEMERAL);"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" while"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" synchronized"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (mutex) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" List<"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"String"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"> list "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getChildren"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (list."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"size"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"<"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" size) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" mutex."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"wait"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"else"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})})}),` +`,i.jsx(s.p,{children:`Note that enter() throws both KeeperException and InterruptedException, so it is +the responsibility of the application to catch and handle such exceptions.`}),` +`,i.jsx(s.p,{children:`Once the computation is finished, a process calls leave() to leave the barrier. +First it deletes its corresponding node, and then it gets the children of the root +node. If there is at least one child, then it waits for a notification (obs: note +that the second parameter of the call to getChildren() is true, meaning that +ZooKeeper has to set a watch on the root node). Upon reception of a notification, +it checks once more whether the root node has any children.`}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsxs(s.code,{children:[i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"/**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Wait until all reach barrier"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@return"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" KeeperException"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" InterruptedException"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"boolean"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" leave"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() throws KeeperException, InterruptedException {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"delete"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/"'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" name, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" while"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" synchronized"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (mutex) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" List<"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"String"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"> list "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getChildren"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (list."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"size"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:">"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" mutex."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"wait"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"else"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})})]})})}),` +`,i.jsx(s.h2,{id:"producer-consumer-queues",children:"Producer-Consumer Queues"}),` +`,i.jsx(s.p,{children:`A producer-consumer queue is a distributed data structure that groups of processes +use to generate and consume items. Producer processes create new elements and add +them to the queue. Consumer processes remove elements from the list, and process them. +In this implementation, the elements are simple integers. The queue is represented +by a root node, and to add an element to the queue, a producer process creates a new node, +a child of the root node.`}),` +`,i.jsx(s.p,{children:`The following excerpt of code corresponds to the constructor of the object. As +with Barrier objects, it first calls the constructor of the parent class, SyncPrimitive, +that creates a ZooKeeper object if one doesn't exist. It then verifies if the root +node of the queue exists, and creates if it doesn't.`}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsxs(s.code,{children:[i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"/**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Constructor of producer-consumer queue"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" address"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" name"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"Queue"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(String address, String name) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" super"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(address);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" this"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:".root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" name;"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // Create ZK node name"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"!="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Stat s "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"exists"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"false"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (s "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"create"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"new"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" byte"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"], Ids.OPEN_ACL_UNSAFE,"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" CreateMode.PERSISTENT);"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (KeeperException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Keeper exception when instantiating queue: "'})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" e."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"toString"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"());"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (InterruptedException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Interrupted exception"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})})}),` +`,i.jsx(s.p,{children:`A producer process calls "produce()" to add an element to the queue, and passes +an integer as an argument. To add an element to the queue, the method creates a +new node using "create()", and uses the SEQUENCE flag to instruct ZooKeeper to +append the value of the sequencer counter associated to the root node. In this way, +we impose a total order on the elements of the queue, thus guaranteeing that the +oldest element of the queue is the next one consumed.`}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsxs(s.code,{children:[i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"/**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Add element to the queue."})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" i"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@return"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"boolean"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" produce"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" i) throws KeeperException, InterruptedException{"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ByteBuffer b "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ByteBuffer."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"allocate"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"4"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" byte"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"[] value;"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // Add child with value i"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" b."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"putInt"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(i);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" value "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" b."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"array"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"create"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/element"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", value, Ids.OPEN_ACL_UNSAFE,"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" CreateMode.PERSISTENT_SEQUENTIAL);"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})})}),` +`,i.jsx(s.p,{children:`To consume an element, a consumer process obtains the children of the root node, +reads the node with smallest counter value, and returns the element. Note that +if there is a conflict, then one of the two contending processes won't be able to +delete the node and the delete operation will throw an exception.`}),` +`,i.jsx(s.p,{children:`A call to getChildren() returns the list of children in lexicographic order. +As lexicographic order does not necessarily follow the numerical order of the counter +values, we need to decide which element is the smallest. To decide which one has +the smallest counter value, we traverse the list, and remove the prefix "element" +from each one.`}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsxs(s.code,{children:[i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"/**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Remove first element from the queue."})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@return"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" KeeperException"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" InterruptedException"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" consume"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() throws KeeperException, InterruptedException{"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" int"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" retvalue "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" -"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Stat stat "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // Get the first element available"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" while"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" synchronized"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (mutex) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" List<"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"String"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"> list "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getChildren"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (list."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"size"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Going to wait"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" mutex."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"wait"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"else"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Integer min "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Integer"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(list."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"get"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:")."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"substring"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"7"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"));"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" for"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(String s "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" list){"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Integer tempValue "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Integer"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(s."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"substring"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"7"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"));"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:' //System.out.println("Temporary value: " + tempValue);'})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(tempValue "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"<"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" min) min "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" tempValue;"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Temporary value: "'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/element"'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" min);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" byte"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"[] b "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getData"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/element"'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" min,"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" false"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", stat);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"delete"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/element"'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" min, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ByteBuffer buffer "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ByteBuffer."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"wrap"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(b);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" retvalue "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" buffer."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getInt"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" retvalue;"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})})}),` +`,i.jsx(s.h2,{id:"complete-example",children:"Complete example"}),` +`,i.jsx(s.p,{children:`In the following section you can find a complete command line application to demonstrate the above mentioned +recipes. Use the following command to run it.`}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsxs(s.code,{children:[i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"ZOOBINDIR"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"[path_to_distro]/bin"'})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"."}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"$ZOOBINDIR"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"/zkEnv.sh'})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"java"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" SyncPrimitive"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" [Test "}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:"Type]"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" [ZK "}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:"server]"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" [No "}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:"of"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" elements]"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" [Client "}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:"type]"})]})]})})}),` +`,i.jsx(s.h3,{id:"queue-test",children:"Queue test"}),` +`,i.jsx(s.p,{children:"Start a producer to create 100 elements"}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsx(s.code,{children:i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"java"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" SyncPrimitive"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" qTest"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" localhost"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 100"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" p"})]})})})}),` +`,i.jsx(s.p,{children:"Start a consumer to consume 100 elements"}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsx(s.code,{children:i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"java"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" SyncPrimitive"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" qTest"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" localhost"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 100"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" c"})]})})})}),` +`,i.jsx(s.h3,{id:"barrier-test",children:"Barrier test"}),` +`,i.jsx(s.p,{children:"Start a barrier with 2 participants (start as many times as many participants you'd like to enter)"}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsx(s.code,{children:i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"java"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" SyncPrimitive"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" bTest"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" localhost"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 2"})]})})})}),` +`,i.jsx(s.h3,{id:"source-listing",children:"Source Listing"}),` +`,i.jsx(s.h4,{id:"syncprimitivejava",children:"SyncPrimitive.Java"}),` +`,i.jsx(i.Fragment,{children:i.jsx(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:i.jsxs(s.code,{children:[i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" java.io.IOException;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" java.net.InetAddress;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" java.net.UnknownHostException;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" java.nio.ByteBuffer;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" java.util.List;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" java.util.Random;"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" org.apache.zookeeper.CreateMode;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" org.apache.zookeeper.KeeperException;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" org.apache.zookeeper.WatchedEvent;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" org.apache.zookeeper.Watcher;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" org.apache.zookeeper.ZooKeeper;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" org.apache.zookeeper.ZooDefs.Ids;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"import"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" org.apache.zookeeper.data.Stat;"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"public"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" class"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" SyncPrimitive"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" implements"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Watcher"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" static"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ZooKeeper zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" static"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Integer mutex;"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" String root;"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" SyncPrimitive"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(String "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"address"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"){"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Starting ZK:"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" ZooKeeper"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(address, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"3000"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"this"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" mutex "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Integer"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"-"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Finished starting ZK: "'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (IOException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(e."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"toString"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"());"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" //else mutex = new Integer(-1);"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" synchronized"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" public"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" void"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" process"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(WatchedEvent "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"event"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" synchronized"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (mutex) {"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:' //System.out.println("Process: " + event.getType());'})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" mutex."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"notify"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" /**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Barrier"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" static"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" public"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" class"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Barrier"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" extends"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" SyncPrimitive"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" int"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" size;"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" String name;"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" /**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Barrier constructor"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" address"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" root"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" size"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Barrier"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(String "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"address"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", String "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"root"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" size"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" super"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(address);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" this"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:".root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" root;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" this"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:".size "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" size;"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // Create barrier node"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"!="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Stat s "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"exists"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"false"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (s "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"create"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"new"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" byte"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"], Ids.OPEN_ACL_UNSAFE,"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" CreateMode.PERSISTENT);"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (KeeperException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Keeper exception when instantiating queue: "'})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" e."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"toString"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"());"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (InterruptedException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Interrupted exception"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // My node name"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" name "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" String"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(InetAddress."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getLocalHost"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"()."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getCanonicalHostName"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"()."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"toString"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"());"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (UnknownHostException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(e."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"toString"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"());"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" /**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Join barrier"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@return"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" KeeperException"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" InterruptedException"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" boolean"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" enter"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"throws"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" KeeperException, InterruptedException{"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"create"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/"'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" name, "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"new"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" byte"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"], Ids.OPEN_ACL_UNSAFE,"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" CreateMode.EPHEMERAL);"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" while"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" synchronized"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (mutex) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" List<"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"String"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"> list "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getChildren"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (list."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"size"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"<"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" size) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" mutex."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"wait"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"else"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" /**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Wait until all reach barrier"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@return"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" KeeperException"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" InterruptedException"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" boolean"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" leave"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"throws"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" KeeperException, InterruptedException{"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"delete"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/"'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" name, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" while"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" synchronized"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (mutex) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" List<"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"String"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"> list "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getChildren"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (list."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"size"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:">"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" mutex."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"wait"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"else"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" /**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Producer-Consumer queue"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" static"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" public"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" class"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Queue"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" extends"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" SyncPrimitive"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" /**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Constructor of producer-consumer queue"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" address"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" name"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Queue"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(String "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"address"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", String "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"name"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" super"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(address);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" this"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:".root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" name;"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // Create ZK node name"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (zk "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"!="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Stat s "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"exists"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"false"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (s "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"create"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"new"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" byte"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"], Ids.OPEN_ACL_UNSAFE,"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" CreateMode.PERSISTENT);"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (KeeperException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Keeper exception when instantiating queue: "'})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" e."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"toString"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"());"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (InterruptedException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Interrupted exception"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" /**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Add element to the queue."})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@param"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" i"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@return"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" boolean"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" produce"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" i"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"throws"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" KeeperException, InterruptedException{"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ByteBuffer b "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ByteBuffer."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"allocate"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"4"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" byte"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"[] value;"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // Add child with value i"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" b."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"putInt"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(i);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" value "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" b."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"array"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"create"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/element"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", value, Ids.OPEN_ACL_UNSAFE,"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" CreateMode.PERSISTENT_SEQUENTIAL);"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" /**"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * Remove first element from the queue."})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" *"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@return"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" KeeperException"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" * "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"@throws"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" InterruptedException"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" */"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" int"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" consume"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"throws"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" KeeperException, InterruptedException{"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" int"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" retvalue "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" -"}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Stat stat "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" null"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // Get the first element available"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" while"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" synchronized"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (mutex) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" List<"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"String"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"> list "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getChildren"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (list."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"size"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"() "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Going to wait"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" mutex."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"wait"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"else"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Integer min "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Integer"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(list."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"get"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:")."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"substring"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"7"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"));"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" String minNode "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" list."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"get"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" for"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(String s "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" list){"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Integer tempValue "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Integer"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(s."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"substring"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"7"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"));"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:' //System.out.println("Temporary value: " + tempValue);'})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(tempValue "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"<"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" min) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" min "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" tempValue;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" minNode "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" s;"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Temporary value: "'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/"'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" minNode);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" byte"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"[] b "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getData"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/"'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" minNode,"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" false"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", stat);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zk."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"delete"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(root "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"+"}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "/"'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" minNode, "}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ByteBuffer buffer "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ByteBuffer."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"wrap"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(b);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" retvalue "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" buffer."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"getInt"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" retvalue;"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" public"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" static"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" void"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" main"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(String "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"args"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"[]) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (args["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"equals"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"qTest"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"))"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" queueTest"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(args);"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" else"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" barrierTest"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(args);"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" public"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" static"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" void"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" queueTest"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(String "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"args"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"[]) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Queue q "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Queue"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(args["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"], "}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"/app1"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Input: "'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" args["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" int"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" i;"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Integer max "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Integer"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(args["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"2"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]);"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (args["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"3"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"equals"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"p"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:")) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Producer"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" for"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (i "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"; i "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"<"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" max; i"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"++"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:")"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" q."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"produce"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"10"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" i);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (KeeperException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"){"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (InterruptedException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"){"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"else"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Consumer"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" for"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (i "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"; i "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"<"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" max; i"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"++"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" int"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" r "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" q."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"consume"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Item: "'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" r);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (KeeperException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"){"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" i"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"--"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (InterruptedException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"){"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" public"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" static"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" void"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" barrierTest"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(String "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"args"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"[]) {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Barrier b "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Barrier"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(args["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"], "}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"/b1"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Integer"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(args["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"2"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]));"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" boolean"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" flag "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" b."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"enter"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Entered barrier: "'}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" +"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" args["}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"2"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]);"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"!"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"flag) System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Error when entering the barrier"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (KeeperException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"){"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (InterruptedException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"){"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // Generate random integer"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Random rand "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" new"}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" Random"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" int"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" r "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" rand."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"nextInt"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"100"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // Loop for rand iterations"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" for"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ("}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" i "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"; i "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"<"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" r; i"}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"++"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" Thread."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"sleep"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"100"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (InterruptedException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:") {"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" try"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" b."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"leave"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"();"})]}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (KeeperException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"){"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),i.jsx(s.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"catch"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (InterruptedException "}),i.jsx(s.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"e"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"){"})]}),` +`,i.jsx(s.span,{className:"line"}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsxs(s.span,{className:"line",children:[i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" System.out."}),i.jsx(s.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:"println"}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),i.jsx(s.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Left barrier"'}),i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,i.jsx(s.span,{className:"line",children:i.jsx(s.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})})})]})}function d(e={}){const{wrapper:s}=e.components||{};return s?i.jsx(s,{...e,children:i.jsx(n,{...e})}):n(e)}export{l as _markdown,d as default,a as extractedReferences,t as frontmatter,r as structuredData,k as toc}; diff --git a/content/assets/best-practices-CYKH3nYy.js b/content/assets/best-practices-CYKH3nYy.js new file mode 100644 index 00000000000..12fd5a01906 --- /dev/null +++ b/content/assets/best-practices-CYKH3nYy.js @@ -0,0 +1,138 @@ +import{j as e}from"./chunk-EPOLDU6W-BACfhBcx.js";let i=`## Things to Avoid + +Here are some common problems you can avoid by configuring +ZooKeeper correctly: + +* *inconsistent lists of servers* : + The list of ZooKeeper servers used by the clients must match + the list of ZooKeeper servers that each ZooKeeper server has. + Things work okay if the client list is a subset of the real list, + but things will really act strange if clients have a list of + ZooKeeper servers that are in different ZooKeeper clusters. Also, + the server lists in each Zookeeper server configuration file + should be consistent with one another. + +* *incorrect placement of transaction log* : + The most performance critical part of ZooKeeper is the + transaction log. ZooKeeper syncs transactions to media before it + returns a response. A dedicated transaction log device is key to + consistent good performance. Putting the log on a busy device will + adversely affect performance. If you only have one storage device, + increase the snapCount so that snapshot files are generated less often; + it does not eliminate the problem, but it makes more resources available + for the transaction log. + +* *incorrect Java heap size* : + You should take special care to set your Java max heap size + correctly. In particular, you should not create a situation in + which ZooKeeper swaps to disk. The disk is death to ZooKeeper. + Everything is ordered, so if processing one request swaps the + disk, all other queued requests will probably do the same. DON'T SWAP. + Be conservative in your estimates: if you have 4G of RAM, do + not set the Java max heap size to 6G or even 4G. For example, it + is more likely you would use a 3G heap for a 4G machine, as the + operating system and the cache also need memory. The best and only + recommend practice for estimating the heap size your system needs + is to run load tests, and then make sure you are well below the + usage limit that would cause the system to swap. + +* *Publicly accessible deployment* : + A ZooKeeper ensemble is expected to operate in a trusted computing environment. + It is thus recommended deploying ZooKeeper behind a firewall. + +## Best Practices + +For best results, take note of the following list of good +Zookeeper practices: + +For multi-tenant installations see the [section](/docs/developer/programmers-guide/sessions) +detailing ZooKeeper "chroot" support, this can be very useful +when deploying many applications/services interfacing to a +single ZooKeeper cluster. +`,r={title:"Best Practices",description:"Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more."},a=[{href:"/docs/developer/programmers-guide/sessions"}],l={contents:[{heading:"things-to-avoid",content:`Here are some common problems you can avoid by configuring +ZooKeeper correctly:`},{heading:"things-to-avoid",content:`inconsistent lists of servers : +The list of ZooKeeper servers used by the clients must match +the list of ZooKeeper servers that each ZooKeeper server has. +Things work okay if the client list is a subset of the real list, +but things will really act strange if clients have a list of +ZooKeeper servers that are in different ZooKeeper clusters. Also, +the server lists in each Zookeeper server configuration file +should be consistent with one another.`},{heading:"things-to-avoid",content:`incorrect placement of transaction log : +The most performance critical part of ZooKeeper is the +transaction log. ZooKeeper syncs transactions to media before it +returns a response. A dedicated transaction log device is key to +consistent good performance. Putting the log on a busy device will +adversely affect performance. If you only have one storage device, +increase the snapCount so that snapshot files are generated less often; +it does not eliminate the problem, but it makes more resources available +for the transaction log.`},{heading:"things-to-avoid",content:`incorrect Java heap size : +You should take special care to set your Java max heap size +correctly. In particular, you should not create a situation in +which ZooKeeper swaps to disk. The disk is death to ZooKeeper. +Everything is ordered, so if processing one request swaps the +disk, all other queued requests will probably do the same. DON'T SWAP. +Be conservative in your estimates: if you have 4G of RAM, do +not set the Java max heap size to 6G or even 4G. For example, it +is more likely you would use a 3G heap for a 4G machine, as the +operating system and the cache also need memory. The best and only +recommend practice for estimating the heap size your system needs +is to run load tests, and then make sure you are well below the +usage limit that would cause the system to swap.`},{heading:"things-to-avoid",content:`Publicly accessible deployment : +A ZooKeeper ensemble is expected to operate in a trusted computing environment. +It is thus recommended deploying ZooKeeper behind a firewall.`},{heading:"best-practices",content:`For best results, take note of the following list of good +Zookeeper practices:`},{heading:"best-practices",content:`For multi-tenant installations see the section +detailing ZooKeeper "chroot" support, this can be very useful +when deploying many applications/services interfacing to a +single ZooKeeper cluster.`}],headings:[{id:"things-to-avoid",content:"Things to Avoid"},{id:"best-practices",content:"Best Practices"}]};const c=[{depth:2,url:"#things-to-avoid",title:e.jsx(e.Fragment,{children:"Things to Avoid"})},{depth:2,url:"#best-practices",title:e.jsx(e.Fragment,{children:"Best Practices"})}];function n(o){const t={a:"a",em:"em",h2:"h2",li:"li",p:"p",ul:"ul",...o.components};return e.jsxs(e.Fragment,{children:[e.jsx(t.h2,{id:"things-to-avoid",children:"Things to Avoid"}),` +`,e.jsx(t.p,{children:`Here are some common problems you can avoid by configuring +ZooKeeper correctly:`}),` +`,e.jsxs(t.ul,{children:[` +`,e.jsxs(t.li,{children:[` +`,e.jsxs(t.p,{children:[e.jsx(t.em,{children:"inconsistent lists of servers"}),` : +The list of ZooKeeper servers used by the clients must match +the list of ZooKeeper servers that each ZooKeeper server has. +Things work okay if the client list is a subset of the real list, +but things will really act strange if clients have a list of +ZooKeeper servers that are in different ZooKeeper clusters. Also, +the server lists in each Zookeeper server configuration file +should be consistent with one another.`]}),` +`]}),` +`,e.jsxs(t.li,{children:[` +`,e.jsxs(t.p,{children:[e.jsx(t.em,{children:"incorrect placement of transaction log"}),` : +The most performance critical part of ZooKeeper is the +transaction log. ZooKeeper syncs transactions to media before it +returns a response. A dedicated transaction log device is key to +consistent good performance. Putting the log on a busy device will +adversely affect performance. If you only have one storage device, +increase the snapCount so that snapshot files are generated less often; +it does not eliminate the problem, but it makes more resources available +for the transaction log.`]}),` +`]}),` +`,e.jsxs(t.li,{children:[` +`,e.jsxs(t.p,{children:[e.jsx(t.em,{children:"incorrect Java heap size"}),` : +You should take special care to set your Java max heap size +correctly. In particular, you should not create a situation in +which ZooKeeper swaps to disk. The disk is death to ZooKeeper. +Everything is ordered, so if processing one request swaps the +disk, all other queued requests will probably do the same. DON'T SWAP. +Be conservative in your estimates: if you have 4G of RAM, do +not set the Java max heap size to 6G or even 4G. For example, it +is more likely you would use a 3G heap for a 4G machine, as the +operating system and the cache also need memory. The best and only +recommend practice for estimating the heap size your system needs +is to run load tests, and then make sure you are well below the +usage limit that would cause the system to swap.`]}),` +`]}),` +`,e.jsxs(t.li,{children:[` +`,e.jsxs(t.p,{children:[e.jsx(t.em,{children:"Publicly accessible deployment"}),` : +A ZooKeeper ensemble is expected to operate in a trusted computing environment. +It is thus recommended deploying ZooKeeper behind a firewall.`]}),` +`]}),` +`]}),` +`,e.jsx(t.h2,{id:"best-practices",children:"Best Practices"}),` +`,e.jsx(t.p,{children:`For best results, take note of the following list of good +Zookeeper practices:`}),` +`,e.jsxs(t.p,{children:["For multi-tenant installations see the ",e.jsx(t.a,{href:"/docs/developer/programmers-guide/sessions",children:"section"}),` +detailing ZooKeeper "chroot" support, this can be very useful +when deploying many applications/services interfacing to a +single ZooKeeper cluster.`]})]})}function h(o={}){const{wrapper:t}=o.components||{};return t?e.jsx(t,{...o,children:e.jsx(n,{...o})}):n(o)}export{i as _markdown,h as default,a as extractedReferences,r as frontmatter,l as structuredData,c as toc}; diff --git a/content/assets/bindings-DR4__h1r.js b/content/assets/bindings-DR4__h1r.js new file mode 100644 index 00000000000..8231c08fa52 --- /dev/null +++ b/content/assets/bindings-DR4__h1r.js @@ -0,0 +1,678 @@ +import{j as e}from"./chunk-EPOLDU6W-BACfhBcx.js";let a=`The ZooKeeper client libraries come in two languages: Java and C. +The following sections describe these. + +## Java Binding + +There are two packages that make up the ZooKeeper Java binding: +**org.apache.zookeeper** and **org.apache.zookeeper.data**. The rest of the +packages that make up ZooKeeper are used internally or are part of the +server implementation. The **org.apache.zookeeper.data** package is made up of +generated classes that are used simply as containers. + +The main class used by a ZooKeeper Java client is the **ZooKeeper** class. Its two constructors differ only +by an optional session id and password. ZooKeeper supports session +recovery across instances of a process. A Java program may save its +session id and password to stable storage, restart, and recover the +session that was used by the earlier instance of the program. + +When a ZooKeeper object is created, two threads are created as +well: an IO thread and an event thread. All IO happens on the IO thread +(using Java NIO). All event callbacks happen on the event thread. +Session maintenance such as reconnecting to ZooKeeper servers and +maintaining heartbeat is done on the IO thread. Responses for +synchronous methods are also processed in the IO thread. All responses +to asynchronous methods and watch events are processed on the event +thread. There are a few things to notice that result from this +design: + +* All completions for asynchronous calls and watcher callbacks + will be made in order, one at a time. The caller can do any + processing they wish, but no other callbacks will be processed + during that time. +* Callbacks do not block the processing of the IO thread or the + processing of the synchronous calls. +* Synchronous calls may not return in the correct order. For + example, assume a client does the following processing: issues an + asynchronous read of node **/a** with + *watch* set to true, and then in the completion + callback of the read it does a synchronous read of **/a**. (Maybe not good practice, but not illegal + either, and it makes for a simple example.) + Note that if there is a change to **/a** between the asynchronous read and the + synchronous read, the client library will receive the watch event + saying **/a** changed before the + response for the synchronous read, but because of the completion + callback blocking the event queue, the synchronous read will + return with the new value of **/a** + before the watch event is processed. + +Finally, the rules associated with shutdown are straightforward: +once a ZooKeeper object is closed or receives a fatal event +(SESSION\\_EXPIRED and AUTH\\_FAILED), the ZooKeeper object becomes invalid. +On a close, the two threads shut down and any further access on zookeeper +handle is undefined behavior and should be avoided. + +### Client Configuration Parameters + +The following list contains configuration properties for the Java client. You can set any +of these properties using Java system properties. For server properties, please check the +[Server configuration section of the Admin Guide](/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration). +The ZooKeeper Wiki also has useful pages about +[ZooKeeper SSL support](https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZooKeeper+SSL+User+Guide), +and [SASL authentication for ZooKeeper](https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZooKeeper+and+SASL). + +* *zookeeper.sasl.client* : + Set the value to **false** to disable + SASL authentication. Default is **true**. + +* *zookeeper.sasl.clientconfig* : + Specifies the context key in the JAAS login file. Default is "Client". + +* *zookeeper.server.principal* : + Specifies the server principal to be used by the client for authentication, while connecting to the zookeeper + server, when Kerberos authentication is enabled. If this configuration is provided, then + the ZooKeeper client will NOT USE any of the following parameters to determine the server principal: + + \`\`\`properties + zookeeper.sasl.client.username, zookeeper.sasl.client.canonicalize.hostname, zookeeper.server.realm + Note: this config parameter is working only for ZooKeeper 3.5.7+, 3.6.0+ + \`\`\` + +* *zookeeper.sasl.client.username* : + Traditionally, a principal is divided into three parts: the primary, the instance, and the realm. + The format of a typical Kerberos V5 principal is primary/instance\\@REALM. + zookeeper.sasl.client.username specifies the primary part of the server principal. Default + is "zookeeper". Instance part is derived from the server IP. Finally server's principal is + username/IP\\@realm, where username is the value of zookeeper.sasl.client.username, IP is + the server IP, and realm is the value of zookeeper.server.realm. + +* *zookeeper.sasl.client.canonicalize.hostname* : + Expecting the zookeeper.server.principal parameter is not provided, the ZooKeeper client will try to + determine the 'instance' (host) part of the ZooKeeper server principal. First it takes the hostname provided + as the ZooKeeper server connection string. Then it tries to 'canonicalize' the address by getting + the fully qualified domain name belonging to the address. You can disable this 'canonicalization' + by setting: zookeeper.sasl.client.canonicalize.hostname=false + +* *zookeeper.sasl.client.allowReverseDnsLookup* : + **New in 3.9.5:** + Controls whether reverse DNS lookup is enabled when constructing the server principal for the SASL client. + Default: false + +* *zookeeper.server.realm* : + Realm part of the server principal. By default it is the client principal realm. + +* *zookeeper.disableAutoWatchReset* : + This switch controls whether automatic watch resetting is enabled. Clients automatically + reset watches during session reconnect by default, this option allows the client to turn off + this behavior by setting zookeeper.disableAutoWatchReset to **true**. + +* *zookeeper.client.secure* : + **New in 3.5.5:** + If you want to connect to the server secure client port, you need to set this property to + **true** + on the client. This will connect to server using SSL with specified credentials. Note that + it requires the Netty client. + +* *zookeeper.clientCnxnSocket* : + Specifies which ClientCnxnSocket to be used. Possible values are + **org.apache.zookeeper.ClientCnxnSocketNIO** + and + **org.apache.zookeeper.ClientCnxnSocketNetty** + . Default is + **org.apache.zookeeper.ClientCnxnSocketNIO** + . If you want to connect to server's secure client port, you need to set this property to + **org.apache.zookeeper.ClientCnxnSocketNetty** + on client. + +* *zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password* : + **New in 3.5.5:** + Specifies the file path to a JKS containing the local credentials to be used for SSL connections, + and the password to unlock the file. + +* *zookeeper.ssl.keyStore.passwordPath* : + **New in 3.8.0:** + Specifies the file path which contains the keystore password + +* *zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password* : + **New in 3.5.5:** + Specifies the file path to a JKS containing the remote credentials to be used for SSL connections, + and the password to unlock the file. + +* *zookeeper.ssl.trustStore.passwordPath* : + **New in 3.8.0:** + Specifies the file path which contains the truststore password + +* *zookeeper.ssl.keyStore.type* and *zookeeper.ssl.trustStore.type*: + **New in 3.5.5:** + Specifies the file format of keys/trust store files used to establish TLS connection to the ZooKeeper server. + Values: JKS, PEM, PKCS12 or null (detect by filename). Default: null. + **New in 3.6.3, 3.7.0:** + The format BCFKS was added. + +* *jute.maxbuffer* : + In the client side, it specifies the maximum size of the incoming data from the server. The default is 0xfffff(1048575) bytes, + or just under 1M. This is really a sanity check. The ZooKeeper server is designed to store and send + data on the order of kilobytes. If incoming data length is more than this value, an IOException + is raised. This value of client side should keep same with the server side(Setting **System.setProperty("jute.maxbuffer", "xxxx")** in the client side will work), + otherwise problems will arise. + +* *zookeeper.kinit* : + Specifies path to kinit binary. Default is "/usr/bin/kinit". + +* *zookeeper.shuffleDnsResponse* : + **New in 3.10.0:** + Specifies whether ZooKeeper client should randomly pick an IP address from the DNS lookup query result when resolving + server addresses or not. This is a feature flag in order to keep the old behavior of the default DNS resolver in + \`StaticHostProvider\`, because we disabled it by default. The reason behind that is shuffling the response of DNS queries + shadows JVM network property \`java.net.preferIPv6Addresses\` (default: false). This property controls whether JVM's built-in + resolver should prioritize v4 (false value) or v6 (true value) addresses when putting together the list of IP addresses + in the result. In other words the above Java system property was completely ineffective in the case of ZooKeeper server host + resolution protocol and this must have been fixed. In a dual stack environment one might want to prefer one stack over + the other which, in case of Java processes, should be controlled by JVM network properties and ZooKeeper must honor + these settings. Since the old behavior has been with us since day zero, we introduced this feature flag in case you + need it. Such case could be when you have a buggy DNS server which responds IP addresses always in the same order and + you want to randomize that. + Default: false + +* *zookeeper.hostProvider.dnsSrvRefreshIntervalSeconds* : + **New in 3.10.0:** + Specifies the refresh interval in seconds for DNS SRV record lookups when using DnsSrvHostProvider. + A value of 0 disables periodic refresh. + Default: 60 seconds + +## C Binding + +The C binding has a single-threaded and multi-threaded library. +The multi-threaded library is easiest to use and is most similar to the +Java API. This library will create an IO thread and an event dispatch +thread for handling connection maintenance and callbacks. The +single-threaded library allows ZooKeeper to be used in event driven +applications by exposing the event loop used in the multi-threaded +library. + +The package includes two shared libraries: zookeeper*st and +zookeeper\\_mt. The former only provides the asynchronous APIs and +callbacks for integrating into the application's event loop. The only +reason this library exists is to support the platforms were a +\\_pthread* library is not available or is unstable +(i.e. FreeBSD 4.x). In all other cases, application developers should +link with zookeeper\\_mt, as it includes support for both Sync and Async +API. + +### Installation + +If you're building the client from a check-out from the Apache +repository, follow the steps outlined below. If you're building from a +project source package downloaded from apache, skip to step **3**. + +1. Run \`mvn compile\` in zookeeper-jute directory (*.../trunk/zookeeper-jute*). + This will create a directory named "generated" under + *.../trunk/zookeeper-client/zookeeper-client-c*. +2. Change directory to the\\*.../trunk/zookeeper-client/zookeeper-client-c\\* + and run \`autoreconf -if\` to bootstrap **autoconf**, **automake** and **libtool**. Make sure you have **autoconf version 2.59** or greater installed. + Skip to step**4**. +3. If you are building from a project source package, + unzip/untar the source tarball and cd to the\\* + zookeeper-x.x.x/zookeeper-client/zookeeper-client-c\\* directory. +4. Run \`./configure \` to + generate the makefile. Here are some of options the **configure** utility supports that can be + useful in this step: + +* \`--enable-debug\` + Enables optimization and enables debug info compiler + options. (Disabled by default.) +* \`--without-syncapi\` + Disables Sync API support; zookeeper\\_mt library won't be + built. (Enabled by default.) +* \`--disable-static\` + Do not build static libraries. (Enabled by + default.) +* \`--disable-shared\` + Do not build shared libraries. (Enabled by + default.) + + See INSTALL for general information about running **configure**. 1. Run + \`make\` or \`make install\` to build the libraries and install them. 1. To + generate doxygen documentation for the ZooKeeper API, run \`make + doxygen-doc\`. All documentation will be placed in a new subfolder named + docs. By default, this command only generates HTML. For information on other + document formats, run \`./configure --help\` + + +### Building Your Own C Client + +In order to be able to use the ZooKeeper C API in your application +you have to remember to + +1. Include ZooKeeper header: \`#include \` +2. If you are building a multithreaded client, compile with + \`-DTHREADED\` compiler flag to enable the multi-threaded version of + the library, and then link against the + *zookeeper\\_mt* library. If you are building a + single-threaded client, do not compile with \`-DTHREADED\`, and be + sure to link against the\\_zookeeper\\_st\\_library. + + + See *.../trunk/zookeeper-client/zookeeper-client-c/src/cli.c* for an example + of a C client implementation + +`,l={title:"Bindings",description:"Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries."},c=[{href:"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration"},{href:"https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZooKeeper+SSL+User+Guide"},{href:"https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZooKeeper+and+SASL"}],h={contents:[{heading:void 0,content:`The ZooKeeper client libraries come in two languages: Java and C. +The following sections describe these.`},{heading:"java-binding",content:`There are two packages that make up the ZooKeeper Java binding: +org.apache.zookeeper and org.apache.zookeeper.data. The rest of the +packages that make up ZooKeeper are used internally or are part of the +server implementation. The org.apache.zookeeper.data package is made up of +generated classes that are used simply as containers.`},{heading:"java-binding",content:`The main class used by a ZooKeeper Java client is the ZooKeeper class. Its two constructors differ only +by an optional session id and password. ZooKeeper supports session +recovery across instances of a process. A Java program may save its +session id and password to stable storage, restart, and recover the +session that was used by the earlier instance of the program.`},{heading:"java-binding",content:`When a ZooKeeper object is created, two threads are created as +well: an IO thread and an event thread. All IO happens on the IO thread +(using Java NIO). All event callbacks happen on the event thread. +Session maintenance such as reconnecting to ZooKeeper servers and +maintaining heartbeat is done on the IO thread. Responses for +synchronous methods are also processed in the IO thread. All responses +to asynchronous methods and watch events are processed on the event +thread. There are a few things to notice that result from this +design:`},{heading:"java-binding",content:`All completions for asynchronous calls and watcher callbacks +will be made in order, one at a time. The caller can do any +processing they wish, but no other callbacks will be processed +during that time.`},{heading:"java-binding",content:`Callbacks do not block the processing of the IO thread or the +processing of the synchronous calls.`},{heading:"java-binding",content:`Synchronous calls may not return in the correct order. For +example, assume a client does the following processing: issues an +asynchronous read of node /a with +watch set to true, and then in the completion +callback of the read it does a synchronous read of /a. (Maybe not good practice, but not illegal +either, and it makes for a simple example.) +Note that if there is a change to /a between the asynchronous read and the +synchronous read, the client library will receive the watch event +saying /a changed before the +response for the synchronous read, but because of the completion +callback blocking the event queue, the synchronous read will +return with the new value of /a +before the watch event is processed.`},{heading:"java-binding",content:`Finally, the rules associated with shutdown are straightforward: +once a ZooKeeper object is closed or receives a fatal event +(SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid. +On a close, the two threads shut down and any further access on zookeeper +handle is undefined behavior and should be avoided.`},{heading:"client-configuration-parameters",content:`The following list contains configuration properties for the Java client. You can set any +of these properties using Java system properties. For server properties, please check the +Server configuration section of the Admin Guide. +The ZooKeeper Wiki also has useful pages about +ZooKeeper SSL support, +and SASL authentication for ZooKeeper.`},{heading:"client-configuration-parameters",content:`zookeeper.sasl.client : +Set the value to false to disable +SASL authentication. Default is true.`},{heading:"client-configuration-parameters",content:`zookeeper.sasl.clientconfig : +Specifies the context key in the JAAS login file. Default is "Client".`},{heading:"client-configuration-parameters",content:`zookeeper.server.principal : +Specifies the server principal to be used by the client for authentication, while connecting to the zookeeper +server, when Kerberos authentication is enabled. If this configuration is provided, then +the ZooKeeper client will NOT USE any of the following parameters to determine the server principal:`},{heading:"client-configuration-parameters",content:`zookeeper.sasl.client.username : +Traditionally, a principal is divided into three parts: the primary, the instance, and the realm. +The format of a typical Kerberos V5 principal is primary/instance@REALM. +zookeeper.sasl.client.username specifies the primary part of the server principal. Default +is "zookeeper". Instance part is derived from the server IP. Finally server's principal is +username/IP@realm, where username is the value of zookeeper.sasl.client.username, IP is +the server IP, and realm is the value of zookeeper.server.realm.`},{heading:"client-configuration-parameters",content:`zookeeper.sasl.client.canonicalize.hostname : +Expecting the zookeeper.server.principal parameter is not provided, the ZooKeeper client will try to +determine the 'instance' (host) part of the ZooKeeper server principal. First it takes the hostname provided +as the ZooKeeper server connection string. Then it tries to 'canonicalize' the address by getting +the fully qualified domain name belonging to the address. You can disable this 'canonicalization' +by setting: zookeeper.sasl.client.canonicalize.hostname=false`},{heading:"client-configuration-parameters",content:`zookeeper.sasl.client.allowReverseDnsLookup : +New in 3.9.5: +Controls whether reverse DNS lookup is enabled when constructing the server principal for the SASL client. +Default: false`},{heading:"client-configuration-parameters",content:`zookeeper.server.realm : +Realm part of the server principal. By default it is the client principal realm.`},{heading:"client-configuration-parameters",content:`zookeeper.disableAutoWatchReset : +This switch controls whether automatic watch resetting is enabled. Clients automatically +reset watches during session reconnect by default, this option allows the client to turn off +this behavior by setting zookeeper.disableAutoWatchReset to true.`},{heading:"client-configuration-parameters",content:`zookeeper.client.secure : +New in 3.5.5: +If you want to connect to the server secure client port, you need to set this property to +true +on the client. This will connect to server using SSL with specified credentials. Note that +it requires the Netty client.`},{heading:"client-configuration-parameters",content:`zookeeper.clientCnxnSocket : +Specifies which ClientCnxnSocket to be used. Possible values are +org.apache.zookeeper.ClientCnxnSocketNIO +and +org.apache.zookeeper.ClientCnxnSocketNetty +. Default is +org.apache.zookeeper.ClientCnxnSocketNIO +. If you want to connect to server's secure client port, you need to set this property to +org.apache.zookeeper.ClientCnxnSocketNetty +on client.`},{heading:"client-configuration-parameters",content:`zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password : +New in 3.5.5: +Specifies the file path to a JKS containing the local credentials to be used for SSL connections, +and the password to unlock the file.`},{heading:"client-configuration-parameters",content:`zookeeper.ssl.keyStore.passwordPath : +New in 3.8.0: +Specifies the file path which contains the keystore password`},{heading:"client-configuration-parameters",content:`zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password : +New in 3.5.5: +Specifies the file path to a JKS containing the remote credentials to be used for SSL connections, +and the password to unlock the file.`},{heading:"client-configuration-parameters",content:`zookeeper.ssl.trustStore.passwordPath : +New in 3.8.0: +Specifies the file path which contains the truststore password`},{heading:"client-configuration-parameters",content:`zookeeper.ssl.keyStore.type and zookeeper.ssl.trustStore.type: +New in 3.5.5: +Specifies the file format of keys/trust store files used to establish TLS connection to the ZooKeeper server. +Values: JKS, PEM, PKCS12 or null (detect by filename). Default: null. +New in 3.6.3, 3.7.0: +The format BCFKS was added.`},{heading:"client-configuration-parameters",content:`jute.maxbuffer : +In the client side, it specifies the maximum size of the incoming data from the server. The default is 0xfffff(1048575) bytes, +or just under 1M. This is really a sanity check. The ZooKeeper server is designed to store and send +data on the order of kilobytes. If incoming data length is more than this value, an IOException +is raised. This value of client side should keep same with the server side(Setting System.setProperty("jute.maxbuffer", "xxxx") in the client side will work), +otherwise problems will arise.`},{heading:"client-configuration-parameters",content:`zookeeper.kinit : +Specifies path to kinit binary. Default is "/usr/bin/kinit".`},{heading:"client-configuration-parameters",content:`zookeeper.shuffleDnsResponse : +New in 3.10.0: +Specifies whether ZooKeeper client should randomly pick an IP address from the DNS lookup query result when resolving +server addresses or not. This is a feature flag in order to keep the old behavior of the default DNS resolver in +StaticHostProvider, because we disabled it by default. The reason behind that is shuffling the response of DNS queries +shadows JVM network property java.net.preferIPv6Addresses (default: false). This property controls whether JVM's built-in +resolver should prioritize v4 (false value) or v6 (true value) addresses when putting together the list of IP addresses +in the result. In other words the above Java system property was completely ineffective in the case of ZooKeeper server host +resolution protocol and this must have been fixed. In a dual stack environment one might want to prefer one stack over +the other which, in case of Java processes, should be controlled by JVM network properties and ZooKeeper must honor +these settings. Since the old behavior has been with us since day zero, we introduced this feature flag in case you +need it. Such case could be when you have a buggy DNS server which responds IP addresses always in the same order and +you want to randomize that. +Default: false`},{heading:"client-configuration-parameters",content:`zookeeper.hostProvider.dnsSrvRefreshIntervalSeconds : +New in 3.10.0: +Specifies the refresh interval in seconds for DNS SRV record lookups when using DnsSrvHostProvider. +A value of 0 disables periodic refresh. +Default: 60 seconds`},{heading:"c-binding",content:`The C binding has a single-threaded and multi-threaded library. +The multi-threaded library is easiest to use and is most similar to the +Java API. This library will create an IO thread and an event dispatch +thread for handling connection maintenance and callbacks. The +single-threaded library allows ZooKeeper to be used in event driven +applications by exposing the event loop used in the multi-threaded +library.`},{heading:"c-binding",content:`The package includes two shared libraries: zookeeperst and +zookeeper_mt. The former only provides the asynchronous APIs and +callbacks for integrating into the application's event loop. The only +reason this library exists is to support the platforms were a +_pthread library is not available or is unstable +(i.e. FreeBSD 4.x). In all other cases, application developers should +link with zookeeper_mt, as it includes support for both Sync and Async +API.`},{heading:"installation",content:`If you're building the client from a check-out from the Apache +repository, follow the steps outlined below. If you're building from a +project source package downloaded from apache, skip to step 3.`},{heading:"installation",content:`Run mvn compile in zookeeper-jute directory (.../trunk/zookeeper-jute). +This will create a directory named "generated" under +.../trunk/zookeeper-client/zookeeper-client-c.`},{heading:"installation",content:`Change directory to the*.../trunk/zookeeper-client/zookeeper-client-c* +and run autoreconf -if to bootstrap autoconf, automake and libtool. Make sure you have autoconf version 2.59 or greater installed. +Skip to step4.`},{heading:"installation",content:`If you are building from a project source package, +unzip/untar the source tarball and cd to the* +zookeeper-x.x.x/zookeeper-client/zookeeper-client-c* directory.`},{heading:"installation",content:`Run ./configure to +generate the makefile. Here are some of options the configure utility supports that can be +useful in this step:`},{heading:"installation",content:`--enable-debug +Enables optimization and enables debug info compiler +options. (Disabled by default.)`},{heading:"installation",content:`--without-syncapi +Disables Sync API support; zookeeper_mt library won't be +built. (Enabled by default.)`},{heading:"installation",content:`--disable-static +Do not build static libraries. (Enabled by +default.)`},{heading:"installation",content:`--disable-shared +Do not build shared libraries. (Enabled by +default.)`},{heading:"installation",content:"type: info"},{heading:"installation",content:`See INSTALL for general information about running configure. 1. Run +make or make install to build the libraries and install them. 1. To +generate doxygen documentation for the ZooKeeper API, run make + doxygen-doc. All documentation will be placed in a new subfolder named +docs. By default, this command only generates HTML. For information on other +document formats, run ./configure --help`},{heading:"building-your-own-c-client",content:`In order to be able to use the ZooKeeper C API in your application +you have to remember to`},{heading:"building-your-own-c-client",content:"Include ZooKeeper header: #include "},{heading:"building-your-own-c-client",content:`If you are building a multithreaded client, compile with +-DTHREADED compiler flag to enable the multi-threaded version of +the library, and then link against the +zookeeper_mt library. If you are building a +single-threaded client, do not compile with -DTHREADED, and be +sure to link against the_zookeeper_st_library.`},{heading:"building-your-own-c-client",content:"type: info"},{heading:"building-your-own-c-client",content:`See .../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example +of a C client implementation`}],headings:[{id:"java-binding",content:"Java Binding"},{id:"client-configuration-parameters",content:"Client Configuration Parameters"},{id:"c-binding",content:"C Binding"},{id:"installation",content:"Installation"},{id:"building-your-own-c-client",content:"Building Your Own C Client"}]};const d=[{depth:2,url:"#java-binding",title:e.jsx(e.Fragment,{children:"Java Binding"})},{depth:3,url:"#client-configuration-parameters",title:e.jsx(e.Fragment,{children:"Client Configuration Parameters"})},{depth:2,url:"#c-binding",title:e.jsx(e.Fragment,{children:"C Binding"})},{depth:3,url:"#installation",title:e.jsx(e.Fragment,{children:"Installation"})},{depth:3,url:"#building-your-own-c-client",title:e.jsx(e.Fragment,{children:"Building Your Own C Client"})}];function r(t){const n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",span:"span",strong:"strong",ul:"ul",...t.components},{Callout:o}=n;return o||i("Callout"),e.jsxs(e.Fragment,{children:[e.jsx(n.p,{children:`The ZooKeeper client libraries come in two languages: Java and C. +The following sections describe these.`}),` +`,e.jsx(n.h2,{id:"java-binding",children:"Java Binding"}),` +`,e.jsxs(n.p,{children:[`There are two packages that make up the ZooKeeper Java binding: +`,e.jsx(n.strong,{children:"org.apache.zookeeper"})," and ",e.jsx(n.strong,{children:"org.apache.zookeeper.data"}),`. The rest of the +packages that make up ZooKeeper are used internally or are part of the +server implementation. The `,e.jsx(n.strong,{children:"org.apache.zookeeper.data"}),` package is made up of +generated classes that are used simply as containers.`]}),` +`,e.jsxs(n.p,{children:["The main class used by a ZooKeeper Java client is the ",e.jsx(n.strong,{children:"ZooKeeper"}),` class. Its two constructors differ only +by an optional session id and password. ZooKeeper supports session +recovery across instances of a process. A Java program may save its +session id and password to stable storage, restart, and recover the +session that was used by the earlier instance of the program.`]}),` +`,e.jsx(n.p,{children:`When a ZooKeeper object is created, two threads are created as +well: an IO thread and an event thread. All IO happens on the IO thread +(using Java NIO). All event callbacks happen on the event thread. +Session maintenance such as reconnecting to ZooKeeper servers and +maintaining heartbeat is done on the IO thread. Responses for +synchronous methods are also processed in the IO thread. All responses +to asynchronous methods and watch events are processed on the event +thread. There are a few things to notice that result from this +design:`}),` +`,e.jsxs(n.ul,{children:[` +`,e.jsx(n.li,{children:`All completions for asynchronous calls and watcher callbacks +will be made in order, one at a time. The caller can do any +processing they wish, but no other callbacks will be processed +during that time.`}),` +`,e.jsx(n.li,{children:`Callbacks do not block the processing of the IO thread or the +processing of the synchronous calls.`}),` +`,e.jsxs(n.li,{children:[`Synchronous calls may not return in the correct order. For +example, assume a client does the following processing: issues an +asynchronous read of node `,e.jsx(n.strong,{children:"/a"}),` with +`,e.jsx(n.em,{children:"watch"}),` set to true, and then in the completion +callback of the read it does a synchronous read of `,e.jsx(n.strong,{children:"/a"}),`. (Maybe not good practice, but not illegal +either, and it makes for a simple example.) +Note that if there is a change to `,e.jsx(n.strong,{children:"/a"}),` between the asynchronous read and the +synchronous read, the client library will receive the watch event +saying `,e.jsx(n.strong,{children:"/a"}),` changed before the +response for the synchronous read, but because of the completion +callback blocking the event queue, the synchronous read will +return with the new value of `,e.jsx(n.strong,{children:"/a"}),` +before the watch event is processed.`]}),` +`]}),` +`,e.jsx(n.p,{children:`Finally, the rules associated with shutdown are straightforward: +once a ZooKeeper object is closed or receives a fatal event +(SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid. +On a close, the two threads shut down and any further access on zookeeper +handle is undefined behavior and should be avoided.`}),` +`,e.jsx(n.h3,{id:"client-configuration-parameters",children:"Client Configuration Parameters"}),` +`,e.jsxs(n.p,{children:[`The following list contains configuration properties for the Java client. You can set any +of these properties using Java system properties. For server properties, please check the +`,e.jsx(n.a,{href:"/docs/admin-ops/administrators-guide/configuration-parameters#advanced-configuration",children:"Server configuration section of the Admin Guide"}),`. +The ZooKeeper Wiki also has useful pages about +`,e.jsx(n.a,{href:"https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZooKeeper+SSL+User+Guide",children:"ZooKeeper SSL support"}),`, +and `,e.jsx(n.a,{href:"https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZooKeeper+and+SASL",children:"SASL authentication for ZooKeeper"}),"."]}),` +`,e.jsxs(n.ul,{children:[` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.sasl.client"}),` : +Set the value to `,e.jsx(n.strong,{children:"false"}),` to disable +SASL authentication. Default is `,e.jsx(n.strong,{children:"true"}),"."]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.sasl.clientconfig"}),` : +Specifies the context key in the JAAS login file. Default is "Client".`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.server.principal"}),` : +Specifies the server principal to be used by the client for authentication, while connecting to the zookeeper +server, when Kerberos authentication is enabled. If this configuration is provided, then +the ZooKeeper client will NOT USE any of the following parameters to determine the server principal:`]}),` +`,e.jsx(e.Fragment,{children:e.jsx(n.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:e.jsxs(n.code,{children:[e.jsx(n.span,{className:"line",children:e.jsx(n.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"zookeeper.sasl.client.username, zookeeper.sasl.client.canonicalize.hostname, zookeeper.server.realm"})}),` +`,e.jsx(n.span,{className:"line",children:e.jsx(n.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"Note: this config parameter is working only for ZooKeeper 3.5.7+, 3.6.0+"})})]})})}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.sasl.client.username"}),` : +Traditionally, a principal is divided into three parts: the primary, the instance, and the realm. +The format of a typical Kerberos V5 principal is primary/instance@REALM. +zookeeper.sasl.client.username specifies the primary part of the server principal. Default +is "zookeeper". Instance part is derived from the server IP. Finally server's principal is +username/IP@realm, where username is the value of zookeeper.sasl.client.username, IP is +the server IP, and realm is the value of zookeeper.server.realm.`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.sasl.client.canonicalize.hostname"}),` : +Expecting the zookeeper.server.principal parameter is not provided, the ZooKeeper client will try to +determine the 'instance' (host) part of the ZooKeeper server principal. First it takes the hostname provided +as the ZooKeeper server connection string. Then it tries to 'canonicalize' the address by getting +the fully qualified domain name belonging to the address. You can disable this 'canonicalization' +by setting: zookeeper.sasl.client.canonicalize.hostname=false`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.sasl.client.allowReverseDnsLookup"}),` : +`,e.jsx(n.strong,{children:"New in 3.9.5:"}),` +Controls whether reverse DNS lookup is enabled when constructing the server principal for the SASL client. +Default: false`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.server.realm"}),` : +Realm part of the server principal. By default it is the client principal realm.`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.disableAutoWatchReset"}),` : +This switch controls whether automatic watch resetting is enabled. Clients automatically +reset watches during session reconnect by default, this option allows the client to turn off +this behavior by setting zookeeper.disableAutoWatchReset to `,e.jsx(n.strong,{children:"true"}),"."]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.client.secure"}),` : +`,e.jsx(n.strong,{children:"New in 3.5.5:"}),` +If you want to connect to the server secure client port, you need to set this property to +`,e.jsx(n.strong,{children:"true"}),` +on the client. This will connect to server using SSL with specified credentials. Note that +it requires the Netty client.`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.clientCnxnSocket"}),` : +Specifies which ClientCnxnSocket to be used. Possible values are +`,e.jsx(n.strong,{children:"org.apache.zookeeper.ClientCnxnSocketNIO"}),` +and +`,e.jsx(n.strong,{children:"org.apache.zookeeper.ClientCnxnSocketNetty"}),` +. Default is +`,e.jsx(n.strong,{children:"org.apache.zookeeper.ClientCnxnSocketNIO"}),` +. If you want to connect to server's secure client port, you need to set this property to +`,e.jsx(n.strong,{children:"org.apache.zookeeper.ClientCnxnSocketNetty"}),` +on client.`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password"}),` : +`,e.jsx(n.strong,{children:"New in 3.5.5:"}),` +Specifies the file path to a JKS containing the local credentials to be used for SSL connections, +and the password to unlock the file.`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.ssl.keyStore.passwordPath"}),` : +`,e.jsx(n.strong,{children:"New in 3.8.0:"}),` +Specifies the file path which contains the keystore password`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password"}),` : +`,e.jsx(n.strong,{children:"New in 3.5.5:"}),` +Specifies the file path to a JKS containing the remote credentials to be used for SSL connections, +and the password to unlock the file.`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.ssl.trustStore.passwordPath"}),` : +`,e.jsx(n.strong,{children:"New in 3.8.0:"}),` +Specifies the file path which contains the truststore password`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.ssl.keyStore.type"})," and ",e.jsx(n.em,{children:"zookeeper.ssl.trustStore.type"}),`: +`,e.jsx(n.strong,{children:"New in 3.5.5:"}),` +Specifies the file format of keys/trust store files used to establish TLS connection to the ZooKeeper server. +Values: JKS, PEM, PKCS12 or null (detect by filename). Default: null. +`,e.jsx(n.strong,{children:"New in 3.6.3, 3.7.0:"}),` +The format BCFKS was added.`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"jute.maxbuffer"}),` : +In the client side, it specifies the maximum size of the incoming data from the server. The default is 0xfffff(1048575) bytes, +or just under 1M. This is really a sanity check. The ZooKeeper server is designed to store and send +data on the order of kilobytes. If incoming data length is more than this value, an IOException +is raised. This value of client side should keep same with the server side(Setting `,e.jsx(n.strong,{children:'System.setProperty("jute.maxbuffer", "xxxx")'}),` in the client side will work), +otherwise problems will arise.`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.kinit"}),` : +Specifies path to kinit binary. Default is "/usr/bin/kinit".`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.shuffleDnsResponse"}),` : +`,e.jsx(n.strong,{children:"New in 3.10.0:"}),` +Specifies whether ZooKeeper client should randomly pick an IP address from the DNS lookup query result when resolving +server addresses or not. This is a feature flag in order to keep the old behavior of the default DNS resolver in +`,e.jsx(n.code,{children:"StaticHostProvider"}),`, because we disabled it by default. The reason behind that is shuffling the response of DNS queries +shadows JVM network property `,e.jsx(n.code,{children:"java.net.preferIPv6Addresses"}),` (default: false). This property controls whether JVM's built-in +resolver should prioritize v4 (false value) or v6 (true value) addresses when putting together the list of IP addresses +in the result. In other words the above Java system property was completely ineffective in the case of ZooKeeper server host +resolution protocol and this must have been fixed. In a dual stack environment one might want to prefer one stack over +the other which, in case of Java processes, should be controlled by JVM network properties and ZooKeeper must honor +these settings. Since the old behavior has been with us since day zero, we introduced this feature flag in case you +need it. Such case could be when you have a buggy DNS server which responds IP addresses always in the same order and +you want to randomize that. +Default: false`]}),` +`]}),` +`,e.jsxs(n.li,{children:[` +`,e.jsxs(n.p,{children:[e.jsx(n.em,{children:"zookeeper.hostProvider.dnsSrvRefreshIntervalSeconds"}),` : +`,e.jsx(n.strong,{children:"New in 3.10.0:"}),` +Specifies the refresh interval in seconds for DNS SRV record lookups when using DnsSrvHostProvider. +A value of 0 disables periodic refresh. +Default: 60 seconds`]}),` +`]}),` +`]}),` +`,e.jsx(n.h2,{id:"c-binding",children:"C Binding"}),` +`,e.jsx(n.p,{children:`The C binding has a single-threaded and multi-threaded library. +The multi-threaded library is easiest to use and is most similar to the +Java API. This library will create an IO thread and an event dispatch +thread for handling connection maintenance and callbacks. The +single-threaded library allows ZooKeeper to be used in event driven +applications by exposing the event loop used in the multi-threaded +library.`}),` +`,e.jsxs(n.p,{children:["The package includes two shared libraries: zookeeper",e.jsx(n.em,{children:`st and +zookeeper_mt. The former only provides the asynchronous APIs and +callbacks for integrating into the application's event loop. The only +reason this library exists is to support the platforms were a +_pthread`}),` library is not available or is unstable +(i.e. FreeBSD 4.x). In all other cases, application developers should +link with zookeeper_mt, as it includes support for both Sync and Async +API.`]}),` +`,e.jsx(n.h3,{id:"installation",children:"Installation"}),` +`,e.jsxs(n.p,{children:[`If you're building the client from a check-out from the Apache +repository, follow the steps outlined below. If you're building from a +project source package downloaded from apache, skip to step `,e.jsx(n.strong,{children:"3"}),"."]}),` +`,e.jsxs(n.ol,{children:[` +`,e.jsxs(n.li,{children:["Run ",e.jsx(n.code,{children:"mvn compile"})," in zookeeper-jute directory (",e.jsx(n.em,{children:".../trunk/zookeeper-jute"}),`). +This will create a directory named "generated" under +`,e.jsx(n.em,{children:".../trunk/zookeeper-client/zookeeper-client-c"}),"."]}),` +`,e.jsxs(n.li,{children:[`Change directory to the*.../trunk/zookeeper-client/zookeeper-client-c* +and run `,e.jsx(n.code,{children:"autoreconf -if"})," to bootstrap ",e.jsx(n.strong,{children:"autoconf"}),", ",e.jsx(n.strong,{children:"automake"})," and ",e.jsx(n.strong,{children:"libtool"}),". Make sure you have ",e.jsx(n.strong,{children:"autoconf version 2.59"}),` or greater installed. +Skip to step`,e.jsx(n.strong,{children:"4"}),"."]}),` +`,e.jsx(n.li,{children:`If you are building from a project source package, +unzip/untar the source tarball and cd to the* +zookeeper-x.x.x/zookeeper-client/zookeeper-client-c* directory.`}),` +`,e.jsxs(n.li,{children:["Run ",e.jsx(n.code,{children:"./configure "}),` to +generate the makefile. Here are some of options the `,e.jsx(n.strong,{children:"configure"}),` utility supports that can be +useful in this step:`]}),` +`]}),` +`,e.jsxs(n.ul,{children:[` +`,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"--enable-debug"}),` +Enables optimization and enables debug info compiler +options. (Disabled by default.)`]}),` +`,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"--without-syncapi"}),` +Disables Sync API support; zookeeper_mt library won't be +built. (Enabled by default.)`]}),` +`,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"--disable-static"}),` +Do not build static libraries. (Enabled by +default.)`]}),` +`,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"--disable-shared"}),` +Do not build shared libraries. (Enabled by +default.)`,` +`,e.jsx(o,{type:"info",children:e.jsxs(n.p,{children:["See INSTALL for general information about running ",e.jsx(n.strong,{children:"configure"}),`. 1. Run +`,e.jsx(n.code,{children:"make"})," or ",e.jsx(n.code,{children:"make install"}),` to build the libraries and install them. 1. To +generate doxygen documentation for the ZooKeeper API, run `,e.jsx(n.code,{children:"make doxygen-doc"}),`. All documentation will be placed in a new subfolder named +docs. By default, this command only generates HTML. For information on other +document formats, run `,e.jsx(n.code,{children:"./configure --help"})]})}),` +`]}),` +`]}),` +`,e.jsx(n.h3,{id:"building-your-own-c-client",children:"Building Your Own C Client"}),` +`,e.jsx(n.p,{children:`In order to be able to use the ZooKeeper C API in your application +you have to remember to`}),` +`,e.jsxs(n.ol,{children:[` +`,e.jsxs(n.li,{children:["Include ZooKeeper header: ",e.jsx(n.code,{children:"#include "})]}),` +`,e.jsxs(n.li,{children:[`If you are building a multithreaded client, compile with +`,e.jsx(n.code,{children:"-DTHREADED"}),` compiler flag to enable the multi-threaded version of +the library, and then link against the +`,e.jsx(n.em,{children:"zookeeper_mt"}),` library. If you are building a +single-threaded client, do not compile with `,e.jsx(n.code,{children:"-DTHREADED"}),`, and be +sure to link against the_zookeeper_st_library.`]}),` +`]}),` +`,e.jsx(o,{type:"info",children:e.jsxs(n.p,{children:["See ",e.jsx(n.em,{children:".../trunk/zookeeper-client/zookeeper-client-c/src/cli.c"}),` for an example +of a C client implementation`]})})]})}function p(t={}){const{wrapper:n}=t.components||{};return n?e.jsx(n,{...t,children:e.jsx(r,{...t})}):r(t)}function i(t,n){throw new Error("Expected component `"+t+"` to be defined: you likely forgot to import, pass, or provide it.")}export{a as _markdown,p as default,c as extractedReferences,l as frontmatter,h as structuredData,d as toc}; diff --git a/content/assets/building-blocks-a-guide-to-zookeeper-operations-BaSBkk3o.js b/content/assets/building-blocks-a-guide-to-zookeeper-operations-BaSBkk3o.js new file mode 100644 index 00000000000..5225ce1e49a --- /dev/null +++ b/content/assets/building-blocks-a-guide-to-zookeeper-operations-BaSBkk3o.js @@ -0,0 +1,178 @@ +import{j as e}from"./chunk-EPOLDU6W-BACfhBcx.js";let l=`This section surveys all the operations a developer can perform +against a ZooKeeper server. It is lower level information than the earlier +concepts chapters in this manual, but higher level than the ZooKeeper API +Reference. + +## Handling Errors + +Both the Java and C client bindings may report errors. The Java client binding does so by throwing KeeperException, calling code() on the exception will return the specific error code. The C client binding returns an error code as defined in the enum ZOO\\_ERRORS. API callbacks indicate result code for both language bindings. See the API documentation (javadoc for Java, doxygen for C) for full details on the possible errors and their meaning. + +## Connecting to ZooKeeper + +Before we begin, you will have to set up a running Zookeeper server so that we can start developing the client. For C client bindings, we will be using the multithreaded library(zookeeper*mt) with a simple example written in C. To establish a connection with Zookeeper server, we make use of C API - \\_zookeeper\\_init* with the following signature: + +int zookeeper\\_init(const char \\*host, watcher\\_fn fn, int recv\\_timeout, const clientid\\_t \\*clientid, void \\*context, int flags); + +* \\**host* : + Connection string to zookeeper server in the format of host:port. If there are multiple servers, use comma as separator after specifying the host:port pairs. Eg: "127.0.0.1:2181,127.0.0.1:3001,127.0.0.1:3002" +* *fn* : + Watcher function to process events when a notification is triggered. +* *recv\\_timeout* : + Session expiration time in milliseconds. +* \\**clientid* : + We can specify 0 for a new session. If a session has already establish previously, we could provide that client ID and it would reconnect to that previous session. +* \\**context* : + Context object that can be associated with the zkhandle\\_t handler. If it is not used, we can set it to 0. +* *flags* : + In an initiation, we can leave it for 0. + +We will demonstrate client that outputs "Connected to Zookeeper" after successful connection or an error message otherwise. Let's call the following code *zkClient.cc*: + +\`\`\`c +#include +#include +#include +using namespace std; + +// Keeping track of the connection state +static int connected = 0; +static int expired = 0; + +// *zkHandler handles the connection with Zookeeper +static zhandle_t *zkHandler; + +// watcher function would process events +void watcher(zhandle_t *zkH, int type, int state, const char *path, void *watcherCtx) +{ + if (type == ZOO_SESSION_EVENT) { + + // state refers to states of zookeeper connection. + // To keep it simple, we would demonstrate these 3: ZOO_EXPIRED_SESSION_STATE, ZOO_CONNECTED_STATE, ZOO_NOTCONNECTED_STATE + // If you are using ACL, you should be aware of an authentication failure state - ZOO_AUTH_FAILED_STATE + if (state == ZOO_CONNECTED_STATE) { + connected = 1; + } else if (state == ZOO_NOTCONNECTED_STATE ) { + connected = 0; + } else if (state == ZOO_EXPIRED_SESSION_STATE) { + expired = 1; + connected = 0; + zookeeper_close(zkH); + } + } +} + +int main(){ + zoo_set_debug_level(ZOO_LOG_LEVEL_DEBUG); + + // zookeeper_init returns the handler upon a successful connection, null otherwise + zkHandler = zookeeper_init("localhost:2181", watcher, 10000, 0, 0, 0); + + if (!zkHandler) { + return errno; + }else{ + printf("Connection established with Zookeeper. \\n"); + } + + // Close Zookeeper connection + zookeeper_close(zkHandler); + + return 0; +} +\`\`\` + +Compile the code with the multithreaded library mentioned before. + +\`> g++ -Iinclude/ zkClient.cpp -lzookeeper_mt -o Client\` + +Run the client. + +\`> ./Client\` + +From the output, you should see "Connected to Zookeeper" along with Zookeeper's DEBUG messages if the connection is successful. +`,h={title:"Building Blocks: A Guide to ZooKeeper Operations",description:"A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API."},r=[],a={contents:[{heading:void 0,content:`This section surveys all the operations a developer can perform +against a ZooKeeper server. It is lower level information than the earlier +concepts chapters in this manual, but higher level than the ZooKeeper API +Reference.`},{heading:"handling-errors",content:"Both the Java and C client bindings may report errors. The Java client binding does so by throwing KeeperException, calling code() on the exception will return the specific error code. The C client binding returns an error code as defined in the enum ZOO_ERRORS. API callbacks indicate result code for both language bindings. See the API documentation (javadoc for Java, doxygen for C) for full details on the possible errors and their meaning."},{heading:"connecting-to-zookeeper",content:"Before we begin, you will have to set up a running Zookeeper server so that we can start developing the client. For C client bindings, we will be using the multithreaded library(zookeepermt) with a simple example written in C. To establish a connection with Zookeeper server, we make use of C API - _zookeeper_init with the following signature:"},{heading:"connecting-to-zookeeper",content:"int zookeeper_init(const char *host, watcher_fn fn, int recv_timeout, const clientid_t *clientid, void *context, int flags);"},{heading:"connecting-to-zookeeper",content:`*host : +Connection string to zookeeper server in the format of host:port. If there are multiple servers, use comma as separator after specifying the host:port pairs. Eg: "127.0.0.1:2181,127.0.0.1:3001,127.0.0.1:3002"`},{heading:"connecting-to-zookeeper",content:`fn : +Watcher function to process events when a notification is triggered.`},{heading:"connecting-to-zookeeper",content:`recv_timeout : +Session expiration time in milliseconds.`},{heading:"connecting-to-zookeeper",content:`*clientid : +We can specify 0 for a new session. If a session has already establish previously, we could provide that client ID and it would reconnect to that previous session.`},{heading:"connecting-to-zookeeper",content:`*context : +Context object that can be associated with the zkhandle_t handler. If it is not used, we can set it to 0.`},{heading:"connecting-to-zookeeper",content:`flags : +In an initiation, we can leave it for 0.`},{heading:"connecting-to-zookeeper",content:`We will demonstrate client that outputs "Connected to Zookeeper" after successful connection or an error message otherwise. Let's call the following code zkClient.cc:`},{heading:"connecting-to-zookeeper",content:"Compile the code with the multithreaded library mentioned before."},{heading:"connecting-to-zookeeper",content:"> g++ -Iinclude/ zkClient.cpp -lzookeeper_mt -o Client"},{heading:"connecting-to-zookeeper",content:"Run the client."},{heading:"connecting-to-zookeeper",content:"> ./Client"},{heading:"connecting-to-zookeeper",content:`From the output, you should see "Connected to Zookeeper" along with Zookeeper's DEBUG messages if the connection is successful.`}],headings:[{id:"handling-errors",content:"Handling Errors"},{id:"connecting-to-zookeeper",content:"Connecting to ZooKeeper"}]};const o=[{depth:2,url:"#handling-errors",title:e.jsx(e.Fragment,{children:"Handling Errors"})},{depth:2,url:"#connecting-to-zookeeper",title:e.jsx(e.Fragment,{children:"Connecting to ZooKeeper"})}];function n(s){const i={code:"code",em:"em",h2:"h2",li:"li",p:"p",pre:"pre",span:"span",ul:"ul",...s.components};return e.jsxs(e.Fragment,{children:[e.jsx(i.p,{children:`This section surveys all the operations a developer can perform +against a ZooKeeper server. It is lower level information than the earlier +concepts chapters in this manual, but higher level than the ZooKeeper API +Reference.`}),` +`,e.jsx(i.h2,{id:"handling-errors",children:"Handling Errors"}),` +`,e.jsx(i.p,{children:"Both the Java and C client bindings may report errors. The Java client binding does so by throwing KeeperException, calling code() on the exception will return the specific error code. The C client binding returns an error code as defined in the enum ZOO_ERRORS. API callbacks indicate result code for both language bindings. See the API documentation (javadoc for Java, doxygen for C) for full details on the possible errors and their meaning."}),` +`,e.jsx(i.h2,{id:"connecting-to-zookeeper",children:"Connecting to ZooKeeper"}),` +`,e.jsxs(i.p,{children:["Before we begin, you will have to set up a running Zookeeper server so that we can start developing the client. For C client bindings, we will be using the multithreaded library(zookeeper",e.jsx(i.em,{children:"mt) with a simple example written in C. To establish a connection with Zookeeper server, we make use of C API - _zookeeper_init"})," with the following signature:"]}),` +`,e.jsx(i.p,{children:"int zookeeper_init(const char *host, watcher_fn fn, int recv_timeout, const clientid_t *clientid, void *context, int flags);"}),` +`,e.jsxs(i.ul,{children:[` +`,e.jsxs(i.li,{children:["*",e.jsx(i.em,{children:"host"}),` : +Connection string to zookeeper server in the format of host:port. If there are multiple servers, use comma as separator after specifying the host:port pairs. Eg: "127.0.0.1:2181,127.0.0.1:3001,127.0.0.1:3002"`]}),` +`,e.jsxs(i.li,{children:[e.jsx(i.em,{children:"fn"}),` : +Watcher function to process events when a notification is triggered.`]}),` +`,e.jsxs(i.li,{children:[e.jsx(i.em,{children:"recv_timeout"}),` : +Session expiration time in milliseconds.`]}),` +`,e.jsxs(i.li,{children:["*",e.jsx(i.em,{children:"clientid"}),` : +We can specify 0 for a new session. If a session has already establish previously, we could provide that client ID and it would reconnect to that previous session.`]}),` +`,e.jsxs(i.li,{children:["*",e.jsx(i.em,{children:"context"}),` : +Context object that can be associated with the zkhandle_t handler. If it is not used, we can set it to 0.`]}),` +`,e.jsxs(i.li,{children:[e.jsx(i.em,{children:"flags"}),` : +In an initiation, we can leave it for 0.`]}),` +`]}),` +`,e.jsxs(i.p,{children:[`We will demonstrate client that outputs "Connected to Zookeeper" after successful connection or an error message otherwise. Let's call the following code `,e.jsx(i.em,{children:"zkClient.cc"}),":"]}),` +`,e.jsx(e.Fragment,{children:e.jsx(i.pre,{className:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabIndex:"0",icon:'',children:e.jsxs(i.code,{children:[e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"#include"}),e.jsx(i.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" "})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"#include"}),e.jsx(i.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" "})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"#include"}),e.jsx(i.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" "})]}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"using namespace std;"})}),` +`,e.jsx(i.span,{className:"line"}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"// Keeping track of the connection state"})}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"static"}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" int"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" connected "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"static"}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" int"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" expired "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,e.jsx(i.span,{className:"line"}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"// *zkHandler handles the connection with Zookeeper"})}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"static"}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" zhandle_t"}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" *"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"zkHandler;"})]}),` +`,e.jsx(i.span,{className:"line"}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"// watcher function would process events"})}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"void"}),e.jsx(i.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" watcher"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"zhandle_t"}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" *"}),e.jsx(i.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"zkH"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),e.jsx(i.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" type"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),e.jsx(i.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:" state"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"const"}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" char"}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" *"}),e.jsx(i.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"path"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"void"}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" *"}),e.jsx(i.span,{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},children:"watcherCtx"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:")"})]}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (type "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ZOO_SESSION_EVENT) {"})]}),` +`,e.jsx(i.span,{className:"line"}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // state refers to states of zookeeper connection."})}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // To keep it simple, we would demonstrate these 3: ZOO_EXPIRED_SESSION_STATE, ZOO_CONNECTED_STATE, ZOO_NOTCONNECTED_STATE"})}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // If you are using ACL, you should be aware of an authentication failure state - ZOO_AUTH_FAILED_STATE"})}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (state "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ZOO_CONNECTED_STATE) {"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" connected "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 1"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"else"}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (state "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ZOO_NOTCONNECTED_STATE ) {"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" connected "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"else"}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" (state "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"=="}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ZOO_EXPIRED_SESSION_STATE) {"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" expired "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 1"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" connected "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" zookeeper_close"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(zkH);"})]}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})}),` +`,e.jsx(i.span,{className:"line"}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"int"}),e.jsx(i.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" main"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(){"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" zoo_set_debug_level"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(ZOO_LOG_LEVEL_DEBUG);"})]}),` +`,e.jsx(i.span,{className:"line"}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // zookeeper_init returns the handler upon a successful connection, null otherwise"})}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" zkHandler "}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"="}),e.jsx(i.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" zookeeper_init"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),e.jsx(i.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"localhost:2181"'}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", watcher, "}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"10000"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,e.jsx(i.span,{className:"line"}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" if"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ("}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"!"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"zkHandler) {"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" errno;"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"}),e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"else"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})]}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" printf"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"("}),e.jsx(i.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Connection established with Zookeeper. '}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"\\n"}),e.jsx(i.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"'}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:");"})]}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),` +`,e.jsx(i.span,{className:"line"}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:" // Close Zookeeper connection"})}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},children:" zookeeper_close"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"(zkHandler);"})]}),` +`,e.jsx(i.span,{className:"line"}),` +`,e.jsxs(i.span,{className:"line",children:[e.jsx(i.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" return"}),e.jsx(i.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:" 0"}),e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:";"})]}),` +`,e.jsx(i.span,{className:"line",children:e.jsx(i.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})})}),` +`,e.jsx(i.p,{children:"Compile the code with the multithreaded library mentioned before."}),` +`,e.jsx(i.p,{children:e.jsx(i.code,{children:"> g++ -Iinclude/ zkClient.cpp -lzookeeper_mt -o Client"})}),` +`,e.jsx(i.p,{children:"Run the client."}),` +`,e.jsx(i.p,{children:e.jsx(i.code,{children:"> ./Client"})}),` +`,e.jsx(i.p,{children:`From the output, you should see "Connected to Zookeeper" along with Zookeeper's DEBUG messages if the connection is successful.`})]})}function c(s={}){const{wrapper:i}=s.components||{};return i?e.jsx(i,{...s,children:e.jsx(n,{...s})}):n(s)}export{l as _markdown,c as default,r as extractedReferences,h as frontmatter,a as structuredData,o as toc}; diff --git a/content/assets/button-DtNaQh3h.js b/content/assets/button-DtNaQh3h.js new file mode 100644 index 00000000000..cb116c67a9a --- /dev/null +++ b/content/assets/button-DtNaQh3h.js @@ -0,0 +1 @@ +import{r as s,j as d}from"./chunk-EPOLDU6W-BACfhBcx.js";import{c as m}from"./index-lnR2ABT4.js";import{c as v}from"./utils-CLp7IS1B.js";function p(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function b(...e){return n=>{let t=!1;const o=e.map(r=>{const i=p(r,n);return!t&&typeof i=="function"&&(t=!0),i});if(t)return()=>{for(let r=0;r{const{children:i,...l}=o,a=s.Children.toArray(i),c=a.find(C);if(c){const u=c.props.children,g=a.map(f=>f===c?s.Children.count(u)>1?s.Children.only(null):s.isValidElement(u)?u.props.children:null:f);return d.jsx(n,{...l,ref:r,children:s.isValidElement(u)?s.cloneElement(u,void 0,g):null})}return d.jsx(n,{...l,ref:r,children:i})});return t.displayName=`${e}.Slot`,t}var h=y("Slot");function x(e){const n=s.forwardRef((t,o)=>{const{children:r,...i}=t;if(s.isValidElement(r)){const l=R(r),a=S(i,r.props);return r.type!==s.Fragment&&(a.ref=o?b(o,l):l),s.cloneElement(r,a)}return s.Children.count(r)>1?s.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var E=Symbol("radix.slottable");function C(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===E}function S(e,n){const t={...n};for(const o in n){const r=e[o],i=n[o];/^on[A-Z]/.test(o)?r&&i?t[o]=(...a)=>{const c=i(...a);return r(...a),c}:r&&(t[o]=r):o==="style"?t[o]={...r,...i}:o==="className"&&(t[o]=[r,i].filter(Boolean).join(" "))}return{...e,...t}}function R(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}const j={default:"bg-primary dark:bg-primary-strong dark:hover:bg-primary-strong/90 text-primary-foreground hover:bg-primary/90 focus-visible:ring-primary/50 shadow-sm",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20",outline:"border border-border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},V=m("inline-flex items-center cursor-pointer justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20",{variants:{variant:j,size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function k({className:e,variant:n,size:t,asChild:o=!1,...r}){const i=o?h:"button";return d.jsx(i,{"data-slot":"button",className:v(V({variant:n,size:t,className:e})),...r})}export{k as B,V as b,y as c}; diff --git a/content/assets/bylaws-CK3MTbf6.js b/content/assets/bylaws-CK3MTbf6.js new file mode 100644 index 00000000000..f866ed2c686 --- /dev/null +++ b/content/assets/bylaws-CK3MTbf6.js @@ -0,0 +1,49 @@ +import{j as e,w as n}from"./chunk-EPOLDU6W-BACfhBcx.js";import{M as s}from"./mdx-components-mLBZNHVD.js";import"./mdx-CYfG3yYh.js";import"./index-Cs9Qw-RI.js";import"./index-lnR2ABT4.js";import"./index-B4y4XthL.js";import"./index-COYzL8KN.js";import"./utils-CLp7IS1B.js";import"./external-link-CJzPu-RX.js";e.jsx(e.Fragment,{children:"Apache ZooKeeper Project Bylaws"}),e.jsx(e.Fragment,{children:"Introduction"}),e.jsx(e.Fragment,{children:"Roles and Responsibilities"}),e.jsx(e.Fragment,{children:"Users"}),e.jsx(e.Fragment,{children:"Contributors"}),e.jsx(e.Fragment,{children:"Committers"}),e.jsx(e.Fragment,{children:"Project Management Committee"}),e.jsx(e.Fragment,{children:"Decision Making"}),e.jsx(e.Fragment,{children:"Voting"}),e.jsx(e.Fragment,{children:"Approvals"}),e.jsx(e.Fragment,{children:"Vetoes"}),e.jsx(e.Fragment,{children:"Actions"});function o(i){const t={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...i.components};return e.jsxs(e.Fragment,{children:[e.jsx(t.h1,{id:"apache-zookeeper-project-bylaws",children:"Apache ZooKeeper Project Bylaws"}),` +`,e.jsx(t.p,{children:"This is version 1 of the bylaws."}),` +`,e.jsx(t.h2,{id:"introduction",children:"Introduction"}),` +`,e.jsx(t.p,{children:"This document defines the bylaws under which the Apache ZooKeeper project operates. It defines the roles and responsibilities of the project, who may vote, how voting works, how conflicts are resolved, etc."}),` +`,e.jsxs(t.p,{children:["ZooKeeper is a project of the ",e.jsx(t.a,{href:"https://www.apache.org/foundation/",children:"Apache Software Foundation"}),". The foundation holds the copyright on Apache code including the code in the ZooKeeper codebase. The ",e.jsx(t.a,{href:"https://www.apache.org/foundation/faq.html",children:"foundation FAQ"})," explains the operation and background of the foundation."]}),` +`,e.jsxs(t.p,{children:["ZooKeeper is typical of Apache projects in that it operates under a set of principles, known collectively as the Apache Way. If you are new to Apache development, please refer to the ",e.jsx(t.a,{href:"https://incubator.apache.org/",children:"Incubator project"})," for more information on how Apache projects operate."]}),` +`,e.jsx(t.h2,{id:"roles-and-responsibilities",children:"Roles and Responsibilities"}),` +`,e.jsx(t.p,{children:"Apache projects define a set of roles with associated rights and responsibilities. These roles govern what tasks an individual may perform within the project. The roles are defined in the following sections."}),` +`,e.jsx(t.h2,{id:"users",children:"Users"}),` +`,e.jsx(t.p,{children:"The most important participants in the project are people who use our software. The majority of our contributors start out as users and guide their development efforts from the user's perspective."}),` +`,e.jsx(t.p,{children:"Users contribute to the Apache projects by providing feedback to contributors in the form of bug reports and feature suggestions. As well, users participate in the Apache community by helping other users on mailing lists and user support forums."}),` +`,e.jsx(t.h2,{id:"contributors",children:"Contributors"}),` +`,e.jsx(t.p,{children:"All of the volunteers who are contributing time, code, documentation, or resources to the ZooKeeper Project. A contributor that makes sustained, welcome contributions to the project may be invited to become a committer, though the exact timing of such invitations depends on many factors."}),` +`,e.jsx(t.h2,{id:"committers",children:"Committers"}),` +`,e.jsx(t.p,{children:"The project's committers are responsible for the project's technical management. Committers have access to a specified set of subproject's repositories. Committers on subprojects may cast binding votes on any technical discussion regarding that subproject."}),` +`,e.jsx(t.p,{children:"Committer access is by invitation only and must be approved by lazy consensus of the active PMC members. A Committer is considered emeritus by his or her own declaration or by not reviewing patches or committing patches to the project for over six months. An emeritus committer may request reinstatement of commit access from the PMC which must be approved by lazy consensus of the active PMC members."}),` +`,e.jsx(t.p,{children:"Commit access can be revoked by a unanimous vote of all the active PMC members (except the committer in question if he or she is also a PMC member)."}),` +`,e.jsxs(t.p,{children:["All Apache committers are required to have a signed ",e.jsx(t.a,{href:"https://www.apache.org/licenses/icla.txt",children:"Contributor License Agreement (CLA)"})," on file with the Apache Software Foundation. There is a ",e.jsx(t.a,{href:"https://www.apache.org/dev/committers.html",children:"Committer FAQ"})," which provides more details on the requirements for committers."]}),` +`,e.jsx(t.p,{children:"A committer who makes a sustained contribution to the project may be invited to become a member of the PMC. The form of contribution is not limited to code. It can also include code review, helping out users on the mailing lists, documentation, etc."}),` +`,e.jsx(t.h2,{id:"project-management-committee",children:"Project Management Committee"}),` +`,e.jsx(t.p,{children:"The PMC is responsible to the board and the ASF for the management and oversight of the Apache ZooKeeper codebase. The responsibilities of the PMC include:"}),` +`,e.jsxs(t.ul,{children:[` +`,e.jsx(t.li,{children:"Deciding what is distributed as products of the Apache ZooKeeper project. In particular all releases must be approved by the PMC."}),` +`,e.jsx(t.li,{children:"Maintaining the project's shared resources, including the codebase repository, mailing lists, websites."}),` +`,e.jsx(t.li,{children:"Speaking on behalf of the project."}),` +`,e.jsx(t.li,{children:"Resolving license disputes regarding products of the project."}),` +`,e.jsx(t.li,{children:"Nominating new PMC members and committers."}),` +`,e.jsx(t.li,{children:"Maintaining these bylaws and other guidelines of the project."}),` +`,e.jsx(t.li,{children:"Membership of the PMC is by invitation only and must be approved by a lazy consensus of active PMC members. A PMC member is considered emeritus by his or her own declaration or by not contributing in any form to the project for over six months. An emeritus member may request reinstatement to the PMC, which must be approved by a lazy consensus of active PMC members."}),` +`]}),` +`,e.jsx(t.p,{children:"Membership of the PMC can be revoked by an unanimous vote of all the active PMC members other than the member in question."}),` +`,e.jsx(t.p,{children:"The chair of the PMC is appointed by the ASF board. The chair is an office holder of the Apache Software Foundation (Vice President, Apache ZooKeeper) and has primary responsibility to the board for the management of the projects within the scope of the ZooKeeper PMC. The chair reports to the board quarterly on developments within the ZooKeeper project."}),` +`,e.jsx(t.p,{children:"When the current chair of the PMC resigns, the PMC votes to recommend a new chair using lazy consensus, but the decision must be ratified by the Apache board."}),` +`,e.jsx(t.h2,{id:"decision-making",children:"Decision Making"}),` +`,e.jsx(t.p,{children:"Within the ZooKeeper project, different types of decisions require different forms of approval. For example, the previous section describes several decisions which require 'lazy consensus' approval. This section defines how voting is performed, the types of approvals, and which types of decision require which type of approval."}),` +`,e.jsx(t.h2,{id:"voting",children:"Voting"}),` +`,e.jsxs(t.p,{children:["Decisions regarding the project are made by votes on the primary project development mailing list ",e.jsx(t.a,{href:"mailto:dev@zookeeper.apache.org",children:"dev@zookeeper.apache.org"}),". Where necessary, PMC voting may take place on the private ZooKeeper PMC mailing list ",e.jsx(t.a,{href:"mailto:private@zookeeper.apache.org",children:"private@zookeeper.apache.org"}),". Votes are clearly indicated by subject line starting with ",e.jsx(t.code,{children:"[VOTE]"}),". Votes may contain multiple items for approval and these should be clearly separated. Voting is carried out by replying to the vote mail. Voting may take four flavors."]}),` +`,e.jsxs(t.table,{children:[e.jsx(t.thead,{children:e.jsxs(t.tr,{children:[e.jsx(t.th,{children:"Vote"}),e.jsx(t.th,{children:"Meaning"})]})}),e.jsxs(t.tbody,{children:[e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"+1"}),e.jsx(t.td,{children:"'Yes,' 'Agree,' or 'the action should be performed.' In general, this vote also indicates a willingness on the behalf of the voter in 'making it happen'."})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"+0"}),e.jsx(t.td,{children:"This vote indicates a willingness for the action under consideration to go ahead. The voter, however will not be able to help."})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"-0"}),e.jsx(t.td,{children:"This vote indicates that the voter does not, in general, agree with the proposed action but is not concerned enough to prevent the action going ahead."})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"-1"}),e.jsx(t.td,{children:"This is a negative vote. On issues where consensus is required, this vote counts as a veto. All vetoes must contain an explanation of why the veto is appropriate. Vetoes with no explanation are void. It may also be appropriate for a -1 vote to include an alternative course of action."})]})]})]}),` +`,e.jsx(t.p,{children:"All participants in the ZooKeeper project are encouraged to show their agreement with or against a particular action by voting. For technical decisions, only the votes of active committers are binding. Non binding votes are still useful for those with binding votes to understand the perception of an action in the wider ZooKeeper community. For PMC decisions, only the votes of PMC members are binding."}),` +`,e.jsx(t.p,{children:"Voting can also be applied to changes already made to the ZooKeeper codebase. These typically take the form of a veto (-1) in reply to the commit message sent when the commit is made. Note that this should be a rare occurrence. All efforts should be made to discuss issues when they are still patches before the code is committed."}),` +`,e.jsx(t.h2,{id:"approvals",children:"Approvals"}),` +`,e.jsx(t.p,{children:"There are the types of approvals that can be sought. Different actions require different types of approvals."}),` +`,e.jsxs(t.table,{children:[e.jsx(t.thead,{children:e.jsxs(t.tr,{children:[e.jsx(t.th,{children:"Approval Type"}),e.jsx(t.th,{children:"Definition"})]})}),e.jsxs(t.tbody,{children:[e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"Consensus"}),e.jsx(t.td,{children:"For this to pass, all voters with binding votes must vote and there can be no binding vetoes (-1). Consensus votes are rarely required due to the impracticality of getting all eligible voters to cast a vote."})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"Lazy Consensus"}),e.jsx(t.td,{children:"Lazy consensus requires 3 binding +1 votes and no binding vetoes."})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"Lazy Majority"}),e.jsx(t.td,{children:"A lazy majority vote requires 3 binding +1 votes and more binding +1 votes that -1 votes."})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"Lazy Approval"}),e.jsx(t.td,{children:"An action with lazy approval is implicitly allowed unless a -1 vote is received, at which time, depending on the type of action, either lazy majority or lazy consensus approval must be obtained."})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"2/3 Majority"}),e.jsx(t.td,{children:"Some actions require a 2/3 majority of active committers or PMC members to pass. Such actions typically affect the foundation of the project (e.g. adopting a new codebase to replace an existing product). The higher threshold is designed to ensure such changes are strongly supported. To pass this vote requires at least 2/3 of binding vote holders to vote +1."})]})]})]}),` +`,e.jsx(t.h2,{id:"vetoes",children:"Vetoes"}),` +`,e.jsx(t.p,{children:"A valid, binding veto cannot be overruled. If a veto is cast, it must be accompanied by a valid reason explaining the reasons for the veto. The validity of a veto, if challenged, can be confirmed by anyone who has a binding vote. This does not necessarily signify agreement with the veto — merely that the veto is valid."}),` +`,e.jsx(t.p,{children:"If you disagree with a valid veto, you must lobby the person casting the veto to withdraw his or her veto. If a veto is not withdrawn, the action that has been vetoed must be reversed in a timely manner."}),` +`,e.jsx(t.h2,{id:"actions",children:"Actions"}),` +`,e.jsx(t.p,{children:"This section describes the various actions which are undertaken within the project, the corresponding approval required for that action and those who have binding votes over the action. It also specifies the minimum length of time that a vote must remain open, measured in business days. In general votes should not be called at times when it is known that interested members of the project will be unavailable."}),` +`,e.jsxs(t.table,{children:[e.jsx(t.thead,{children:e.jsxs(t.tr,{children:[e.jsx(t.th,{children:"Action"}),e.jsx(t.th,{children:"Description"}),e.jsx(t.th,{children:"Approval"}),e.jsx(t.th,{children:"Binding Votes"}),e.jsx(t.th,{children:"Min. Days"})]})}),e.jsxs(t.tbody,{children:[e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"Code Change"}),e.jsx(t.td,{children:"A change made to a codebase of the project and committed by a committer. This includes source code, documentation, website content, etc."}),e.jsx(t.td,{children:"Lazy approval (not counting the vote of the contributor), moving to lazy majority if a -1 is received"}),e.jsx(t.td,{children:"Active committers"}),e.jsx(t.td,{children:"1"})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"Release Plan"}),e.jsx(t.td,{children:"Defines the timetable and actions for a release. The plan also nominates a Release Manager."}),e.jsx(t.td,{children:"Lazy majority"}),e.jsx(t.td,{children:"Active committers"}),e.jsx(t.td,{children:"3"})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"Product Release"}),e.jsx(t.td,{children:"When a release of one of the project's products is ready, a vote is required to accept the release as an official release of the project."}),e.jsx(t.td,{children:"Lazy Majority"}),e.jsx(t.td,{children:"Active PMC members"}),e.jsx(t.td,{children:"3"})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"Adoption of New Codebase"}),e.jsx(t.td,{children:"When the codebase for an existing, released product is to be replaced with an alternative codebase. If such a vote fails to gain approval, the existing code base will continue. This also covers the creation of new sub-projects within the project."}),e.jsx(t.td,{children:"2/3 majority"}),e.jsx(t.td,{children:"Active PMC members"}),e.jsx(t.td,{children:"6"})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"New Committer or reinstatement"}),e.jsx(t.td,{children:"When a new committer is proposed for the project."}),e.jsx(t.td,{children:"Lazy consensus"}),e.jsx(t.td,{children:"Active PMC members"}),e.jsx(t.td,{children:"3"})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"New PMC Member or reinstatement"}),e.jsx(t.td,{children:"When a committer is proposed for the PMC."}),e.jsx(t.td,{children:"Lazy consensus"}),e.jsx(t.td,{children:"Active PMC members"}),e.jsx(t.td,{children:"3"})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"Committer Removal"}),e.jsx(t.td,{children:"When removal of commit privileges is sought. Note: Such actions will also be referred to the ASF board by the PMC chair."}),e.jsx(t.td,{children:"Consensus"}),e.jsx(t.td,{children:"Active PMC members (excluding the committer in question if a member of the PMC)."}),e.jsx(t.td,{children:"6"})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"PMC Member Removal"}),e.jsx(t.td,{children:"When removal of a PMC member is sought. Note: Such actions will also be referred to the ASF board by the PMC chair."}),e.jsx(t.td,{children:"Consensus"}),e.jsx(t.td,{children:"Active PMC members (excluding the member in question)."}),e.jsx(t.td,{children:"6"})]}),e.jsxs(t.tr,{children:[e.jsx(t.td,{children:"Modifying Bylaws"}),e.jsx(t.td,{children:"Modifying this document."}),e.jsx(t.td,{children:"2/3 majority"}),e.jsx(t.td,{children:"Active PMC members"}),e.jsx(t.td,{children:"6"})]})]})]})]})}function r(i={}){const{wrapper:t}=i.components||{};return t?e.jsx(t,{...i,children:e.jsx(o,{...i})}):o(i)}function a(){return e.jsx(s,{Content:r,className:"mt-12"})}function b({}){return[{title:"Bylaws - Apache ZooKeeper"},{name:"description",content:"The bylaws under which the Apache ZooKeeper project operates."}]}const f=n(function(){return e.jsx(a,{})});export{f as default,b as meta}; diff --git a/content/assets/chunk-EPOLDU6W-BACfhBcx.js b/content/assets/chunk-EPOLDU6W-BACfhBcx.js new file mode 100644 index 00000000000..b6c4f078512 --- /dev/null +++ b/content/assets/chunk-EPOLDU6W-BACfhBcx.js @@ -0,0 +1,26 @@ +function Ha(e,t){for(var r=0;rn[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}function za(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Xt={exports:{}},ot={};var Jr;function Ba(){if(Jr)return ot;Jr=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(n,a,o){var i=null;if(o!==void 0&&(i=""+o),a.key!==void 0&&(i=""+a.key),"key"in a){o={};for(var l in a)l!=="key"&&(o[l]=a[l])}else o=a;return a=o.ref,{$$typeof:e,type:n,key:i,ref:a!==void 0?a:null,props:o}}return ot.Fragment=t,ot.jsx=r,ot.jsxs=r,ot}var Gr;function Wa(){return Gr||(Gr=1,Xt.exports=Ba()),Xt.exports}var ss=Wa(),Kt={exports:{}},W={};var Xr;function Ya(){if(Xr)return W;Xr=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),i=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),s=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),c=Symbol.for("react.activity"),p=Symbol.iterator;function g(m){return m===null||typeof m!="object"?null:(m=p&&m[p]||m["@@iterator"],typeof m=="function"?m:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,E={};function L(m,x,j){this.props=m,this.context=x,this.refs=E,this.updater=j||b}L.prototype.isReactComponent={},L.prototype.setState=function(m,x){if(typeof m!="object"&&typeof m!="function"&&m!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,m,x,"setState")},L.prototype.forceUpdate=function(m){this.updater.enqueueForceUpdate(this,m,"forceUpdate")};function R(){}R.prototype=L.prototype;function T(m,x,j){this.props=m,this.context=x,this.refs=E,this.updater=j||b}var M=T.prototype=new R;M.constructor=T,S(M,L.prototype),M.isPureReactComponent=!0;var D=Array.isArray;function I(){}var v={H:null,A:null,T:null,S:null},_=Object.prototype.hasOwnProperty;function z(m,x,j){var A=j.ref;return{$$typeof:e,type:m,key:x,ref:A!==void 0?A:null,props:j}}function X(m,x){return z(m.type,x,m.props)}function V(m){return typeof m=="object"&&m!==null&&m.$$typeof===e}function ae(m){var x={"=":"=0",":":"=2"};return"$"+m.replace(/[=:]/g,function(j){return x[j]})}var se=/\/+/g;function ne(m,x){return typeof m=="object"&&m!==null&&m.key!=null?ae(""+m.key):x.toString(36)}function Z(m){switch(m.status){case"fulfilled":return m.value;case"rejected":throw m.reason;default:switch(typeof m.status=="string"?m.then(I,I):(m.status="pending",m.then(function(x){m.status==="pending"&&(m.status="fulfilled",m.value=x)},function(x){m.status==="pending"&&(m.status="rejected",m.reason=x)})),m.status){case"fulfilled":return m.value;case"rejected":throw m.reason}}throw m}function G(m,x,j,A,B){var J=typeof m;(J==="undefined"||J==="boolean")&&(m=null);var te=!1;if(m===null)te=!0;else switch(J){case"bigint":case"string":case"number":te=!0;break;case"object":switch(m.$$typeof){case e:case t:te=!0;break;case h:return te=m._init,G(te(m._payload),x,j,A,B)}}if(te)return B=B(m),te=A===""?"."+ne(m,0):A,D(B)?(j="",te!=null&&(j=te.replace(se,"$&/")+"/"),G(B,x,j,"",function(Wt){return Wt})):B!=null&&(V(B)&&(B=X(B,j+(B.key==null||m&&m.key===B.key?"":(""+B.key).replace(se,"$&/")+"/")+te)),x.push(B)),1;te=0;var he=A===""?".":A+":";if(D(m))for(var me=0;me{throw TypeError(e)},Xa=(e,t,r)=>t.has(e)||Tn("Cannot "+r),qt=(e,t,r)=>(Xa(e,t,"read from private field"),r?r.call(e):t.get(e)),Ka=(e,t,r)=>t.has(e)?Tn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),qr="popstate";function us(e={}){function t(n,a){let{pathname:o,search:i,hash:l}=n.location;return ft("",{pathname:o,search:i,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:Te(a)}return Qa(t,r,null,e)}function Y(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function oe(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function qa(){return Math.random().toString(36).substring(2,10)}function Qr(e,t){return{usr:e.state,key:e.key,idx:t}}function ft(e,t,r=null,n){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?je(t):t,state:r,key:t&&t.key||n||qa()}}function Te({pathname:e="/",search:t="",hash:r=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),r&&r!=="#"&&(e+=r.charAt(0)==="#"?r:"#"+r),e}function je(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substring(r),e=e.substring(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substring(n),e=e.substring(0,n)),e&&(t.pathname=e)}return t}function Qa(e,t,r,n={}){let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,l="POP",s=null,u=h();u==null&&(u=0,i.replaceState({...i.state,idx:u},""));function h(){return(i.state||{idx:null}).idx}function c(){l="POP";let E=h(),L=E==null?null:E-u;u=E,s&&s({action:l,location:S.location,delta:L})}function p(E,L){l="PUSH";let R=ft(S.location,E,L);u=h()+1;let T=Qr(R,u),M=S.createHref(R);try{i.pushState(T,"",M)}catch(D){if(D instanceof DOMException&&D.name==="DataCloneError")throw D;a.location.assign(M)}o&&s&&s({action:l,location:S.location,delta:1})}function g(E,L){l="REPLACE";let R=ft(S.location,E,L);u=h();let T=Qr(R,u),M=S.createHref(R);i.replaceState(T,"",M),o&&s&&s({action:l,location:S.location,delta:0})}function b(E){return Mn(E)}let S={get action(){return l},get location(){return e(a,i)},listen(E){if(s)throw new Error("A history only accepts one active listener");return a.addEventListener(qr,c),s=E,()=>{a.removeEventListener(qr,c),s=null}},createHref(E){return t(a,E)},createURL:b,encodeLocation(E){let L=b(E);return{pathname:L.pathname,search:L.search,hash:L.hash}},push:p,replace:g,go(E){return i.go(E)}};return S}function Mn(e,t=!1){let r="http://localhost";typeof window<"u"&&(r=window.location.origin!=="null"?window.location.origin:window.location.href),Y(r,"No window.location.(origin|href) available to create URL");let n=typeof e=="string"?e:Te(e);return n=n.replace(/ $/,"%20"),!t&&n.startsWith("//")&&(n=r+n),new URL(n,r)}var ut,Zr=class{constructor(e){if(Ka(this,ut,new Map),e)for(let[t,r]of e)this.set(t,r)}get(e){if(qt(this,ut).has(e))return qt(this,ut).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw new Error("No value found for context")}set(e,t){qt(this,ut).set(e,t)}};ut=new WeakMap;var Za=new Set(["lazy","caseSensitive","path","id","index","children"]);function eo(e){return Za.has(e)}var to=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function ro(e){return to.has(e)}function no(e){return e.index===!0}function ht(e,t,r=[],n={},a=!1){return e.map((o,i)=>{let l=[...r,String(i)],s=typeof o.id=="string"?o.id:l.join("-");if(Y(o.index!==!0||!o.children,"Cannot specify children on an index route"),Y(a||!n[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),no(o)){let u={...o,id:s};return n[s]=en(u,t(u)),u}else{let u={...o,id:s,children:void 0};return n[s]=en(u,t(u)),o.children&&(u.children=ht(o.children,t,l,n,a)),u}})}function en(e,t){return Object.assign(e,{...t,...typeof t.lazy=="object"&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function Ie(e,t,r="/"){return ct(e,t,r,!1)}function ct(e,t,r,n){let a=typeof t=="string"?je(t):t,o=be(a.pathname||"/",r);if(o==null)return null;let i=_n(e);ao(i);let l=null;for(let s=0;l==null&&s{let h={relativePath:u===void 0?i.path||"":u,caseSensitive:i.caseSensitive===!0,childrenIndex:l,route:i};if(h.relativePath.startsWith("/")){if(!h.relativePath.startsWith(n)&&s)return;Y(h.relativePath.startsWith(n),`Absolute route path "${h.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),h.relativePath=h.relativePath.slice(n.length)}let c=Pe([n,h.relativePath]),p=r.concat(h);i.children&&i.children.length>0&&(Y(i.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${c}".`),_n(i.children,t,p,c,s)),!(i.path==null&&!i.index)&&t.push({path:c,score:fo(c,i.index),routesMeta:p})};return e.forEach((i,l)=>{if(i.path===""||!i.path?.includes("?"))o(i,l);else for(let s of On(i.path))o(i,l,!0,s)}),t}function On(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),o=r.replace(/\?$/,"");if(n.length===0)return a?[o,""]:[o];let i=On(n.join("/")),l=[];return l.push(...i.map(s=>s===""?o:[o,s].join("/"))),a&&l.push(...i),l.map(s=>e.startsWith("/")&&s===""?"/":s)}function ao(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:ho(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}var oo=/^:[\w-]+$/,io=3,lo=2,so=1,uo=10,co=-2,tn=e=>e==="*";function fo(e,t){let r=e.split("/"),n=r.length;return r.some(tn)&&(n+=co),t&&(n+=lo),r.filter(a=>!tn(a)).reduce((a,o)=>a+(oo.test(o)?io:o===""?so:uo),n)}function ho(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function mo(e,t,r=!1){let{routesMeta:n}=e,a={},o="/",i=[];for(let l=0;l{if(h==="*"){let b=l[p]||"";i=o.slice(0,o.length-b.length).replace(/(.)\/+$/,"$1")}const g=l[p];return c&&!g?u[h]=void 0:u[h]=(g||"").replace(/%2F/g,"/"),u},{}),pathname:o,pathnameBase:i,pattern:e}}function Nn(e,t=!1,r=!0){oe(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(i,l,s)=>(n.push({paramName:l,isOptional:s!=null}),s?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function po(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return oe(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function be(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function yo({basename:e,pathname:t}){return t==="/"?e:Pe([e,t])}var In=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,jt=e=>In.test(e);function vo(e,t="/"){let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?je(e):e,o;if(r)if(jt(r))o=r;else{if(r.includes("//")){let i=r;r=r.replace(/\/\/+/g,"/"),oe(!1,`Pathnames cannot have embedded double slashes - normalizing ${i} -> ${r}`)}r.startsWith("/")?o=rn(r.substring(1),"/"):o=rn(r,t)}else o=t;return{pathname:o,search:wo(n),hash:Eo(a)}}function rn(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function Qt(e,t,r,n){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function An(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function gr(e){let t=An(e);return t.map((r,n)=>n===t.length-1?r.pathname:r.pathnameBase)}function wr(e,t,r,n=!1){let a;typeof e=="string"?a=je(e):(a={...e},Y(!a.pathname||!a.pathname.includes("?"),Qt("?","pathname","search",a)),Y(!a.pathname||!a.pathname.includes("#"),Qt("#","pathname","hash",a)),Y(!a.search||!a.search.includes("#"),Qt("#","search","hash",a)));let o=e===""||a.pathname==="",i=o?"/":a.pathname,l;if(i==null)l=r;else{let c=t.length-1;if(!n&&i.startsWith("..")){let p=i.split("/");for(;p[0]==="..";)p.shift(),c-=1;a.pathname=p.join("/")}l=c>=0?t[c]:"/"}let s=vo(a,l),u=i&&i!=="/"&&i.endsWith("/"),h=(o||i===".")&&r.endsWith("/");return!s.pathname.endsWith("/")&&(u||h)&&(s.pathname+="/"),s}var Pe=e=>e.join("/").replace(/\/\/+/g,"/"),go=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),wo=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Eo=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,Ro=class{constructor(e,t){this.type="DataWithResponseInit",this.data=e,this.init=t||null}};function bo(e,t){return new Ro(e,typeof t=="number"?{status:t}:t)}var So=(e,t=302)=>{let r=t;typeof r=="number"?r={status:r}:typeof r.status>"u"&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,{...r,headers:n})},Fe=class{constructor(e,t,r,n=!1){this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function Ve(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function pt(e){return e.map(t=>t.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var kn=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function $n(e,t){let r=e;if(typeof r!="string"||!In.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let n=r,a=!1;if(kn)try{let o=new URL(window.location.href),i=r.startsWith("//")?new URL(o.protocol+r):new URL(r),l=be(i.pathname,t);i.origin===o.origin&&l!=null?r=l+i.search+i.hash:a=!0}catch{oe(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:n,isExternal:a,to:r}}var $e=Symbol("Uninstrumented");function xo(e,t){let r={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(a=>a({id:t.id,index:t.index,path:t.path,instrument(o){let i=Object.keys(r);for(let l of i)o[l]&&r[l].push(o[l])}}));let n={};if(typeof t.lazy=="function"&&r.lazy.length>0){let a=qe(r.lazy,t.lazy,()=>{});a&&(n.lazy=a)}if(typeof t.lazy=="object"){let a=t.lazy;["middleware","loader","action"].forEach(o=>{let i=a[o],l=r[`lazy.${o}`];if(typeof i=="function"&&l.length>0){let s=qe(l,i,()=>{});s&&(n.lazy=Object.assign(n.lazy||{},{[o]:s}))}})}return["loader","action"].forEach(a=>{let o=t[a];if(typeof o=="function"&&r[a].length>0){let i=o[$e]??o,l=qe(r[a],i,(...s)=>nn(s[0]));l&&(a==="loader"&&i.hydrate===!0&&(l.hydrate=!0),l[$e]=i,n[a]=l)}}),t.middleware&&t.middleware.length>0&&r.middleware.length>0&&(n.middleware=t.middleware.map(a=>{let o=a[$e]??a,i=qe(r.middleware,o,(...l)=>nn(l[0]));return i?(i[$e]=o,i):a})),n}function Co(e,t){let r={navigate:[],fetch:[]};if(t.forEach(n=>n({instrument(a){let o=Object.keys(a);for(let i of o)a[i]&&r[i].push(a[i])}})),r.navigate.length>0){let n=e.navigate[$e]??e.navigate,a=qe(r.navigate,n,(...o)=>{let[i,l]=o;return{to:typeof i=="number"||typeof i=="string"?i:i?Te(i):".",...an(e,l??{})}});a&&(a[$e]=n,e.navigate=a)}if(r.fetch.length>0){let n=e.fetch[$e]??e.fetch,a=qe(r.fetch,n,(...o)=>{let[i,,l,s]=o;return{href:l??".",fetcherKey:i,...an(e,s??{})}});a&&(a[$e]=n,e.fetch=a)}return e}function qe(e,t,r){return e.length===0?null:async(...n)=>{let a=await jn(e,r(...n),()=>t(...n),e.length-1);if(a.type==="error")throw a.value;return a.value}}async function jn(e,t,r,n){let a=e[n],o;if(a){let i,l=async()=>(i?console.error("You cannot call instrumented handlers more than once"):i=jn(e,t,r,n-1),o=await i,Y(o,"Expected a result"),o.type==="error"&&o.value instanceof Error?{status:"error",error:o.value}:{status:"success",error:void 0});try{await a(l,t)}catch(s){console.error("An instrumentation function threw an error:",s)}i||await l(),await i}else try{o={type:"success",value:await r()}}catch(i){o={type:"error",value:i}}return o||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function nn(e){let{request:t,context:r,params:n,unstable_pattern:a}=e;return{request:Lo(t),params:{...n},unstable_pattern:a,context:Po(r)}}function an(e,t){return{currentUrl:Te(e.state.location),..."formMethod"in t?{formMethod:t.formMethod}:{},..."formEncType"in t?{formEncType:t.formEncType}:{},..."formData"in t?{formData:t.formData}:{},..."body"in t?{body:t.body}:{}}}function Lo(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function Po(e){if(Mo(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var To=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Mo(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join("\0")===To}var Fn=["POST","PUT","PATCH","DELETE"],Do=new Set(Fn),_o=["GET",...Fn],Oo=new Set(_o),Un=new Set([301,302,303,307,308]),No=new Set([307,308]),Zt={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Io={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},it={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Ao=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Hn="remix-router-transitions",zn=Symbol("ResetLoaderData");function cs(e){const t=e.window?e.window:typeof window<"u"?window:void 0,r=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u";Y(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let n=e.hydrationRouteProperties||[],a=e.mapRouteProperties||Ao,o=a;if(e.unstable_instrumentations){let d=e.unstable_instrumentations;o=y=>({...a(y),...xo(d.map(w=>w.route).filter(Boolean),y)})}let i={},l=ht(e.routes,o,void 0,i),s,u=e.basename||"/";u.startsWith("/")||(u=`/${u}`);let h=e.dataStrategy||Uo,c={...e.future},p=null,g=new Set,b=null,S=null,E=null,L=e.hydrationData!=null,R=Ie(l,e.history.location,u),T=!1,M=null,D;if(R==null&&!e.patchRoutesOnNavigation){let d=xe(404,{pathname:e.history.location.pathname}),{matches:y,route:w}=Ct(l);D=!0,R=y,M={[w.id]:d}}else if(R&&!e.hydrationData&&Et(R,l,e.history.location.pathname).active&&(R=null),R)if(R.some(d=>d.route.lazy))D=!1;else if(!R.some(d=>Er(d.route)))D=!0;else{let d=e.hydrationData?e.hydrationData.loaderData:null,y=e.hydrationData?e.hydrationData.errors:null;if(y){let w=R.findIndex(C=>y[C.route.id]!==void 0);D=R.slice(0,w+1).every(C=>!lr(C.route,d,y))}else D=R.every(w=>!lr(w.route,d,y))}else{D=!1,R=[];let d=Et(null,l,e.history.location.pathname);d.active&&d.matches&&(T=!0,R=d.matches)}let I,v={historyAction:e.history.action,location:e.history.location,matches:R,initialized:D,navigation:Zt,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||M,fetchers:new Map,blockers:new Map},_="POP",z=null,X=!1,V,ae=!1,se=new Map,ne=null,Z=!1,G=!1,ce=new Set,ee=new Map,le=0,fe=-1,m=new Map,x=new Set,j=new Map,A=new Map,B=new Set,J=new Map,te,he=null;function me(){if(p=e.history.listen(({action:d,location:y,delta:w})=>{if(te){te(),te=void 0;return}oe(J.size===0||w!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let C=zr({currentLocation:v.location,nextLocation:y,historyAction:d});if(C&&w!=null){let P=new Promise(k=>{te=k});e.history.go(w*-1),wt(C,{state:"blocked",location:y,proceed(){wt(C,{state:"proceeding",proceed:void 0,reset:void 0,location:y}),P.then(()=>e.history.go(w))},reset(){let k=new Map(v.blockers);k.set(C,it),pe({blockers:k})}}),z?.resolve(),z=null;return}return Ue(d,y)}),r){ai(t,se);let d=()=>oi(t,se);t.addEventListener("pagehide",d),ne=()=>t.removeEventListener("pagehide",d)}return v.initialized||Ue("POP",v.location,{initialHydration:!0}),I}function Wt(){p&&p(),ne&&ne(),g.clear(),V&&V.abort(),v.fetchers.forEach((d,y)=>Vt(y)),v.blockers.forEach((d,y)=>Hr(y))}function Ca(d){return g.add(d),()=>g.delete(d)}function pe(d,y={}){d.matches&&(d.matches=d.matches.map(P=>{let k=i[P.route.id],O=P.route;return O.element!==k.element||O.errorElement!==k.errorElement||O.hydrateFallbackElement!==k.hydrateFallbackElement?{...P,route:k}:P})),v={...v,...d};let w=[],C=[];v.fetchers.forEach((P,k)=>{P.state==="idle"&&(B.has(k)?w.push(k):C.push(k))}),B.forEach(P=>{!v.fetchers.has(P)&&!ee.has(P)&&w.push(P)}),[...g].forEach(P=>P(v,{deletedFetchers:w,newErrors:d.errors??null,viewTransitionOpts:y.viewTransitionOpts,flushSync:y.flushSync===!0})),w.forEach(P=>Vt(P)),C.forEach(P=>v.fetchers.delete(P))}function Ge(d,y,{flushSync:w}={}){let C=v.actionData!=null&&v.navigation.formMethod!=null&&ve(v.navigation.formMethod)&&v.navigation.state==="loading"&&d.state?._isRedirect!==!0,P;y.actionData?Object.keys(y.actionData).length>0?P=y.actionData:P=null:C?P=v.actionData:P=null;let k=y.loaderData?pn(v.loaderData,y.loaderData,y.matches||[],y.errors):v.loaderData,O=v.blockers;O.size>0&&(O=new Map(O),O.forEach((H,F)=>O.set(F,it)));let N=Z?!1:Wr(d,y.matches||v.matches),$=X===!0||v.navigation.formMethod!=null&&ve(v.navigation.formMethod)&&d.state?._isRedirect!==!0;s&&(l=s,s=void 0),Z||_==="POP"||(_==="PUSH"?e.history.push(d,d.state):_==="REPLACE"&&e.history.replace(d,d.state));let U;if(_==="POP"){let H=se.get(v.location.pathname);H&&H.has(d.pathname)?U={currentLocation:v.location,nextLocation:d}:se.has(d.pathname)&&(U={currentLocation:d,nextLocation:v.location})}else if(ae){let H=se.get(v.location.pathname);H?H.add(d.pathname):(H=new Set([d.pathname]),se.set(v.location.pathname,H)),U={currentLocation:v.location,nextLocation:d}}pe({...y,actionData:P,loaderData:k,historyAction:_,location:d,initialized:!0,navigation:Zt,revalidation:"idle",restoreScrollPosition:N,preventScrollReset:$,blockers:O},{viewTransitionOpts:U,flushSync:w===!0}),_="POP",X=!1,ae=!1,Z=!1,G=!1,z?.resolve(),z=null,he?.resolve(),he=null}async function Ir(d,y){if(z?.resolve(),z=null,typeof d=="number"){z||(z=gn());let Q=z.promise;return e.history.go(d),Q}let w=ir(v.location,v.matches,u,d,y?.fromRouteId,y?.relative),{path:C,submission:P,error:k}=on(!1,w,y),O=v.location,N=ft(v.location,C,y&&y.state);N={...N,...e.history.encodeLocation(N)};let $=y&&y.replace!=null?y.replace:void 0,U="PUSH";$===!0?U="REPLACE":$===!1||P!=null&&ve(P.formMethod)&&P.formAction===v.location.pathname+v.location.search&&(U="REPLACE");let H=y&&"preventScrollReset"in y?y.preventScrollReset===!0:void 0,F=(y&&y.flushSync)===!0,q=zr({currentLocation:O,nextLocation:N,historyAction:U});if(q){wt(q,{state:"blocked",location:N,proceed(){wt(q,{state:"proceeding",proceed:void 0,reset:void 0,location:N}),Ir(d,y)},reset(){let Q=new Map(v.blockers);Q.set(q,it),pe({blockers:Q})}});return}await Ue(U,N,{submission:P,pendingError:k,preventScrollReset:H,replace:y&&y.replace,enableViewTransition:y&&y.viewTransition,flushSync:F,callSiteDefaultShouldRevalidate:y&&y.unstable_defaultShouldRevalidate})}function La(){he||(he=gn()),Yt(),pe({revalidation:"loading"});let d=he.promise;return v.navigation.state==="submitting"?d:v.navigation.state==="idle"?(Ue(v.historyAction,v.location,{startUninterruptedRevalidation:!0}),d):(Ue(_||v.historyAction,v.navigation.location,{overrideNavigation:v.navigation,enableViewTransition:ae===!0}),d)}async function Ue(d,y,w){V&&V.abort(),V=null,_=d,Z=(w&&w.startUninterruptedRevalidation)===!0,$a(v.location,v.matches),X=(w&&w.preventScrollReset)===!0,ae=(w&&w.enableViewTransition)===!0;let C=s||l,P=w&&w.overrideNavigation,k=w?.initialHydration&&v.matches&&v.matches.length>0&&!T?v.matches:Ie(C,y,u),O=(w&&w.flushSync)===!0;if(k&&v.initialized&&!G&&Go(v.location,y)&&!(w&&w.submission&&ve(w.submission.formMethod))){Ge(y,{matches:k},{flushSync:O});return}let N=Et(k,C,y.pathname);if(N.active&&N.matches&&(k=N.matches),!k){let{error:ue,notFoundMatches:ge,route:re}=Jt(y.pathname);Ge(y,{matches:ge,loaderData:{},errors:{[re.id]:ue}},{flushSync:O});return}V=new AbortController;let $=Ke(e.history,y,V.signal,w&&w.submission),U=e.getContext?await e.getContext():new Zr,H;if(w&&w.pendingError)H=[ke(k).route.id,{type:"error",error:w.pendingError}];else if(w&&w.submission&&ve(w.submission.formMethod)){let ue=await Pa($,y,w.submission,k,U,N.active,w&&w.initialHydration===!0,{replace:w.replace,flushSync:O});if(ue.shortCircuited)return;if(ue.pendingActionResult){let[ge,re]=ue.pendingActionResult;if(Re(re)&&Ve(re.error)&&re.error.status===404){V=null,Ge(y,{matches:ue.matches,loaderData:{},errors:{[ge]:re.error}});return}}k=ue.matches||k,H=ue.pendingActionResult,P=er(y,w.submission),O=!1,N.active=!1,$=Ke(e.history,$.url,$.signal)}let{shortCircuited:F,matches:q,loaderData:Q,errors:de}=await Ta($,y,k,U,N.active,P,w&&w.submission,w&&w.fetcherSubmission,w&&w.replace,w&&w.initialHydration===!0,O,H,w&&w.callSiteDefaultShouldRevalidate);F||(V=null,Ge(y,{matches:q||k,...yn(H),loaderData:Q,errors:de}))}async function Pa(d,y,w,C,P,k,O,N={}){Yt();let $=ri(y,w);if(pe({navigation:$},{flushSync:N.flushSync===!0}),k){let F=await Rt(C,y.pathname,d.signal);if(F.type==="aborted")return{shortCircuited:!0};if(F.type==="error"){if(F.partialMatches.length===0){let{matches:Q,route:de}=Ct(l);return{matches:Q,pendingActionResult:[de.id,{type:"error",error:F.error}]}}let q=ke(F.partialMatches).route.id;return{matches:F.partialMatches,pendingActionResult:[q,{type:"error",error:F.error}]}}else if(F.matches)C=F.matches;else{let{notFoundMatches:q,error:Q,route:de}=Jt(y.pathname);return{matches:q,pendingActionResult:[de.id,{type:"error",error:Q}]}}}let U,H=_t(C,y);if(!H.route.action&&!H.route.lazy)U={type:"error",error:xe(405,{method:d.method,pathname:y.pathname,routeId:H.route.id})};else{let F=Qe(o,i,d,C,H,O?[]:n,P),q=await rt(d,F,P,null);if(U=q[H.route.id],!U){for(let Q of C)if(q[Q.route.id]){U=q[Q.route.id];break}}if(d.signal.aborted)return{shortCircuited:!0}}if(Ye(U)){let F;return N&&N.replace!=null?F=N.replace:F=fn(U.response.headers.get("Location"),new URL(d.url),u,e.history)===v.location.pathname+v.location.search,await He(d,U,!0,{submission:w,replace:F}),{shortCircuited:!0}}if(Re(U)){let F=ke(C,H.route.id);return(N&&N.replace)!==!0&&(_="PUSH"),{matches:C,pendingActionResult:[F.route.id,U,H.route.id]}}return{matches:C,pendingActionResult:[H.route.id,U]}}async function Ta(d,y,w,C,P,k,O,N,$,U,H,F,q){let Q=k||er(y,O),de=O||N||vn(Q),ue=!Z&&!U;if(P){if(ue){let ye=Ar(F);pe({navigation:Q,...ye!==void 0?{actionData:ye}:{}},{flushSync:H})}let K=await Rt(w,y.pathname,d.signal);if(K.type==="aborted")return{shortCircuited:!0};if(K.type==="error"){if(K.partialMatches.length===0){let{matches:Xe,route:We}=Ct(l);return{matches:Xe,loaderData:{},errors:{[We.id]:K.error}}}let ye=ke(K.partialMatches).route.id;return{matches:K.partialMatches,loaderData:{},errors:{[ye]:K.error}}}else if(K.matches)w=K.matches;else{let{error:ye,notFoundMatches:Xe,route:We}=Jt(y.pathname);return{matches:Xe,loaderData:{},errors:{[We.id]:ye}}}}let ge=s||l,{dsMatches:re,revalidatingFetchers:Se}=ln(d,C,o,i,e.history,v,w,de,y,U?[]:n,U===!0,G,ce,B,j,x,ge,u,e.patchRoutesOnNavigation!=null,F,q);if(fe=++le,!e.dataStrategy&&!re.some(K=>K.shouldLoad)&&!re.some(K=>K.route.middleware&&K.route.middleware.length>0)&&Se.length===0){let K=Fr();return Ge(y,{matches:w,loaderData:{},errors:F&&Re(F[1])?{[F[0]]:F[1].error}:null,...yn(F),...K?{fetchers:new Map(v.fetchers)}:{}},{flushSync:H}),{shortCircuited:!0}}if(ue){let K={};if(!P){K.navigation=Q;let ye=Ar(F);ye!==void 0&&(K.actionData=ye)}Se.length>0&&(K.fetchers=Ma(Se)),pe(K,{flushSync:H})}Se.forEach(K=>{Oe(K.key),K.controller&&ee.set(K.key,K.controller)});let ze=()=>Se.forEach(K=>Oe(K.key));V&&V.signal.addEventListener("abort",ze);let{loaderResults:nt,fetcherResults:Ae}=await kr(re,Se,d,C);if(d.signal.aborted)return{shortCircuited:!0};V&&V.signal.removeEventListener("abort",ze),Se.forEach(K=>ee.delete(K.key));let Le=Lt(nt);if(Le)return await He(d,Le.result,!0,{replace:$}),{shortCircuited:!0};if(Le=Lt(Ae),Le)return x.add(Le.key),await He(d,Le.result,!0,{replace:$}),{shortCircuited:!0};let{loaderData:Gt,errors:at}=mn(v,w,nt,F,Se,Ae);U&&v.errors&&(at={...v.errors,...at});let Be=Fr(),bt=Ur(fe),St=Be||bt||Se.length>0;return{matches:w,loaderData:Gt,errors:at,...St?{fetchers:new Map(v.fetchers)}:{}}}function Ar(d){if(d&&!Re(d[1]))return{[d[0]]:d[1].data};if(v.actionData)return Object.keys(v.actionData).length===0?null:v.actionData}function Ma(d){return d.forEach(y=>{let w=v.fetchers.get(y.key),C=lt(void 0,w?w.data:void 0);v.fetchers.set(y.key,C)}),new Map(v.fetchers)}async function Da(d,y,w,C){Oe(d);let P=(C&&C.flushSync)===!0,k=s||l,O=ir(v.location,v.matches,u,w,y,C?.relative),N=Ie(k,O,u),$=Et(N,k,O);if($.active&&$.matches&&(N=$.matches),!N){_e(d,y,xe(404,{pathname:O}),{flushSync:P});return}let{path:U,submission:H,error:F}=on(!0,O,C);if(F){_e(d,y,F,{flushSync:P});return}let q=e.getContext?await e.getContext():new Zr,Q=(C&&C.preventScrollReset)===!0;if(H&&ve(H.formMethod)){await _a(d,y,U,N,q,$.active,P,Q,H,C&&C.unstable_defaultShouldRevalidate);return}j.set(d,{routeId:y,path:U}),await Oa(d,y,U,N,q,$.active,P,Q,H)}async function _a(d,y,w,C,P,k,O,N,$,U){Yt(),j.delete(d);let H=v.fetchers.get(d);De(d,ni($,H),{flushSync:O});let F=new AbortController,q=Ke(e.history,w,F.signal,$);if(k){let ie=await Rt(C,new URL(q.url).pathname,q.signal,d);if(ie.type==="aborted")return;if(ie.type==="error"){_e(d,y,ie.error,{flushSync:O});return}else if(ie.matches)C=ie.matches;else{_e(d,y,xe(404,{pathname:w}),{flushSync:O});return}}let Q=_t(C,w);if(!Q.route.action&&!Q.route.lazy){let ie=xe(405,{method:$.formMethod,pathname:w,routeId:y});_e(d,y,ie,{flushSync:O});return}ee.set(d,F);let de=le,ue=Qe(o,i,q,C,Q,n,P),ge=await rt(q,ue,P,d),re=ge[Q.route.id];if(!re){for(let ie of ue)if(ge[ie.route.id]){re=ge[ie.route.id];break}}if(q.signal.aborted){ee.get(d)===F&&ee.delete(d);return}if(B.has(d)){if(Ye(re)||Re(re)){De(d,Ne(void 0));return}}else{if(Ye(re))if(ee.delete(d),fe>de){De(d,Ne(void 0));return}else return x.add(d),De(d,lt($)),He(q,re,!1,{fetcherSubmission:$,preventScrollReset:N});if(Re(re)){_e(d,y,re.error);return}}let Se=v.navigation.location||v.location,ze=Ke(e.history,Se,F.signal),nt=s||l,Ae=v.navigation.state!=="idle"?Ie(nt,v.navigation.location,u):v.matches;Y(Ae,"Didn't find any matches after fetcher action");let Le=++le;m.set(d,Le);let Gt=lt($,re.data);v.fetchers.set(d,Gt);let{dsMatches:at,revalidatingFetchers:Be}=ln(ze,P,o,i,e.history,v,Ae,$,Se,n,!1,G,ce,B,j,x,nt,u,e.patchRoutesOnNavigation!=null,[Q.route.id,re],U);Be.filter(ie=>ie.key!==d).forEach(ie=>{let xt=ie.key,Vr=v.fetchers.get(xt),Ua=lt(void 0,Vr?Vr.data:void 0);v.fetchers.set(xt,Ua),Oe(xt),ie.controller&&ee.set(xt,ie.controller)}),pe({fetchers:new Map(v.fetchers)});let bt=()=>Be.forEach(ie=>Oe(ie.key));F.signal.addEventListener("abort",bt);let{loaderResults:St,fetcherResults:K}=await kr(at,Be,ze,P);if(F.signal.aborted)return;if(F.signal.removeEventListener("abort",bt),m.delete(d),ee.delete(d),Be.forEach(ie=>ee.delete(ie.key)),v.fetchers.has(d)){let ie=Ne(re.data);v.fetchers.set(d,ie)}let ye=Lt(St);if(ye)return He(ze,ye.result,!1,{preventScrollReset:N});if(ye=Lt(K),ye)return x.add(ye.key),He(ze,ye.result,!1,{preventScrollReset:N});let{loaderData:Xe,errors:We}=mn(v,Ae,St,void 0,Be,K);Ur(Le),v.navigation.state==="loading"&&Le>fe?(Y(_,"Expected pending action"),V&&V.abort(),Ge(v.navigation.location,{matches:Ae,loaderData:Xe,errors:We,fetchers:new Map(v.fetchers)})):(pe({errors:We,loaderData:pn(v.loaderData,Xe,Ae,We),fetchers:new Map(v.fetchers)}),G=!1)}async function Oa(d,y,w,C,P,k,O,N,$){let U=v.fetchers.get(d);De(d,lt($,U?U.data:void 0),{flushSync:O});let H=new AbortController,F=Ke(e.history,w,H.signal);if(k){let re=await Rt(C,new URL(F.url).pathname,F.signal,d);if(re.type==="aborted")return;if(re.type==="error"){_e(d,y,re.error,{flushSync:O});return}else if(re.matches)C=re.matches;else{_e(d,y,xe(404,{pathname:w}),{flushSync:O});return}}let q=_t(C,w);ee.set(d,H);let Q=le,de=Qe(o,i,F,C,q,n,P),ge=(await rt(F,de,P,d))[q.route.id];if(ee.get(d)===H&&ee.delete(d),!F.signal.aborted){if(B.has(d)){De(d,Ne(void 0));return}if(Ye(ge))if(fe>Q){De(d,Ne(void 0));return}else{x.add(d),await He(F,ge,!1,{preventScrollReset:N});return}if(Re(ge)){_e(d,y,ge.error);return}De(d,Ne(ge.data))}}async function He(d,y,w,{submission:C,fetcherSubmission:P,preventScrollReset:k,replace:O}={}){w||(z?.resolve(),z=null),y.response.headers.has("X-Remix-Revalidate")&&(G=!0);let N=y.response.headers.get("Location");Y(N,"Expected a Location header on the redirect Response"),N=fn(N,new URL(d.url),u,e.history);let $=ft(v.location,N,{_isRedirect:!0});if(r){let de=!1;if(y.response.headers.has("X-Remix-Reload-Document"))de=!0;else if(jt(N)){const ue=Mn(N,!0);de=ue.origin!==t.location.origin||be(ue.pathname,u)==null}if(de){O?t.location.replace(N):t.location.assign(N);return}}V=null;let U=O===!0||y.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:H,formAction:F,formEncType:q}=v.navigation;!C&&!P&&H&&F&&q&&(C=vn(v.navigation));let Q=C||P;if(No.has(y.response.status)&&Q&&ve(Q.formMethod))await Ue(U,$,{submission:{...Q,formAction:N},preventScrollReset:k||X,enableViewTransition:w?ae:void 0});else{let de=er($,C);await Ue(U,$,{overrideNavigation:de,fetcherSubmission:P,preventScrollReset:k||X,enableViewTransition:w?ae:void 0})}}async function rt(d,y,w,C){let P,k={};try{P=await zo(h,d,y,C,w,!1)}catch(O){return y.filter(N=>N.shouldLoad).forEach(N=>{k[N.route.id]={type:"error",error:O}}),k}if(d.signal.aborted)return k;if(!ve(d.method))for(let O of y){if(P[O.route.id]?.type==="error")break;!P.hasOwnProperty(O.route.id)&&!v.loaderData.hasOwnProperty(O.route.id)&&(!v.errors||!v.errors.hasOwnProperty(O.route.id))&&O.shouldCallHandler()&&(P[O.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${O.route.id}`)})}for(let[O,N]of Object.entries(P))if(Qo(N)){let $=N.result;k[O]={type:"redirect",response:Vo($,d,O,y,u)}}else k[O]=await Yo(N);return k}async function kr(d,y,w,C){let P=rt(w,d,C,null),k=Promise.all(y.map(async $=>{if($.matches&&$.match&&$.request&&$.controller){let H=(await rt($.request,$.matches,C,$.key))[$.match.route.id];return{[$.key]:H}}else return Promise.resolve({[$.key]:{type:"error",error:xe(404,{pathname:$.path})}})})),O=await P,N=(await k).reduce(($,U)=>Object.assign($,U),{});return{loaderResults:O,fetcherResults:N}}function Yt(){G=!0,j.forEach((d,y)=>{ee.has(y)&&ce.add(y),Oe(y)})}function De(d,y,w={}){v.fetchers.set(d,y),pe({fetchers:new Map(v.fetchers)},{flushSync:(w&&w.flushSync)===!0})}function _e(d,y,w,C={}){let P=ke(v.matches,y);Vt(d),pe({errors:{[P.route.id]:w},fetchers:new Map(v.fetchers)},{flushSync:(C&&C.flushSync)===!0})}function $r(d){return A.set(d,(A.get(d)||0)+1),B.has(d)&&B.delete(d),v.fetchers.get(d)||Io}function Na(d,y){Oe(d,y?.reason),De(d,Ne(null))}function Vt(d){let y=v.fetchers.get(d);ee.has(d)&&!(y&&y.state==="loading"&&m.has(d))&&Oe(d),j.delete(d),m.delete(d),x.delete(d),B.delete(d),ce.delete(d),v.fetchers.delete(d)}function Ia(d){let y=(A.get(d)||0)-1;y<=0?(A.delete(d),B.add(d)):A.set(d,y),pe({fetchers:new Map(v.fetchers)})}function Oe(d,y){let w=ee.get(d);w&&(w.abort(y),ee.delete(d))}function jr(d){for(let y of d){let w=$r(y),C=Ne(w.data);v.fetchers.set(y,C)}}function Fr(){let d=[],y=!1;for(let w of x){let C=v.fetchers.get(w);Y(C,`Expected fetcher: ${w}`),C.state==="loading"&&(x.delete(w),d.push(w),y=!0)}return jr(d),y}function Ur(d){let y=[];for(let[w,C]of m)if(C0}function Aa(d,y){let w=v.blockers.get(d)||it;return J.get(d)!==y&&J.set(d,y),w}function Hr(d){v.blockers.delete(d),J.delete(d)}function wt(d,y){let w=v.blockers.get(d)||it;Y(w.state==="unblocked"&&y.state==="blocked"||w.state==="blocked"&&y.state==="blocked"||w.state==="blocked"&&y.state==="proceeding"||w.state==="blocked"&&y.state==="unblocked"||w.state==="proceeding"&&y.state==="unblocked",`Invalid blocker state transition: ${w.state} -> ${y.state}`);let C=new Map(v.blockers);C.set(d,y),pe({blockers:C})}function zr({currentLocation:d,nextLocation:y,historyAction:w}){if(J.size===0)return;J.size>1&&oe(!1,"A router only supports one blocker at a time");let C=Array.from(J.entries()),[P,k]=C[C.length-1],O=v.blockers.get(P);if(!(O&&O.state==="proceeding")&&k({currentLocation:d,nextLocation:y,historyAction:w}))return P}function Jt(d){let y=xe(404,{pathname:d}),w=s||l,{matches:C,route:P}=Ct(w);return{notFoundMatches:C,route:P,error:y}}function ka(d,y,w){if(b=d,E=y,S=w||null,!L&&v.navigation===Zt){L=!0;let C=Wr(v.location,v.matches);C!=null&&pe({restoreScrollPosition:C})}return()=>{b=null,E=null,S=null}}function Br(d,y){return S&&S(d,y.map(C=>Dn(C,v.loaderData)))||d.key}function $a(d,y){if(b&&E){let w=Br(d,y);b[w]=E()}}function Wr(d,y){if(b){let w=Br(d,y),C=b[w];if(typeof C=="number")return C}return null}function Et(d,y,w){if(e.patchRoutesOnNavigation)if(d){if(Object.keys(d[0].params).length>0)return{active:!0,matches:ct(y,w,u,!0)}}else return{active:!0,matches:ct(y,w,u,!0)||[]};return{active:!1,matches:null}}async function Rt(d,y,w,C){if(!e.patchRoutesOnNavigation)return{type:"success",matches:d};let P=d;for(;;){let k=s==null,O=s||l,N=i;try{await e.patchRoutesOnNavigation({signal:w,path:y,matches:P,fetcherKey:C,patch:(H,F)=>{w.aborted||sn(H,F,O,N,o,!1)}})}catch(H){return{type:"error",error:H,partialMatches:P}}finally{k&&!w.aborted&&(l=[...l])}if(w.aborted)return{type:"aborted"};let $=Ie(O,y,u),U=null;if($){if(Object.keys($[0].params).length===0)return{type:"success",matches:$};if(U=ct(O,y,u,!0),!(U&&P.lengthw.route.id===y[C].route.id)}function ja(d){i={},s=ht(d,o,void 0,i)}function Fa(d,y,w=!1){let C=s==null;sn(d,y,s||l,i,o,w),C&&(l=[...l],pe({}))}return I={get basename(){return u},get future(){return c},get state(){return v},get routes(){return l},get window(){return t},initialize:me,subscribe:Ca,enableScrollRestoration:ka,navigate:Ir,fetch:Da,revalidate:La,createHref:d=>e.history.createHref(d),encodeLocation:d=>e.history.encodeLocation(d),getFetcher:$r,resetFetcher:Na,deleteFetcher:Ia,dispose:Wt,getBlocker:Aa,deleteBlocker:Hr,patchRoutes:Fa,_internalFetchControllers:ee,_internalSetRoutes:ja,_internalSetStateDoNotUseOrYouWillBreakYourApp(d){pe(d)}},e.unstable_instrumentations&&(I=Co(I,e.unstable_instrumentations.map(d=>d.router).filter(Boolean))),I}function ko(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function ir(e,t,r,n,a,o){let i,l;if(a){i=[];for(let u of t)if(i.push(u),u.route.id===a){l=u;break}}else i=t,l=t[t.length-1];let s=wr(n||".",gr(i),be(e.pathname,r)||e.pathname,o==="path");if(n==null&&(s.search=e.search,s.hash=e.hash),(n==null||n===""||n===".")&&l){let u=Rr(s.search);if(l.route.index&&!u)s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index";else if(!l.route.index&&u){let h=new URLSearchParams(s.search),c=h.getAll("index");h.delete("index"),c.filter(g=>g).forEach(g=>h.append("index",g));let p=h.toString();s.search=p?`?${p}`:""}}return r!=="/"&&(s.pathname=yo({basename:r,pathname:s.pathname})),Te(s)}function on(e,t,r){if(!r||!ko(r))return{path:t};if(r.formMethod&&!ti(r.formMethod))return{path:t,error:xe(405,{method:r.formMethod})};let n=()=>({path:t,error:xe(400,{type:"invalid-body"})}),o=(r.formMethod||"get").toUpperCase(),i=Gn(t);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!ve(o))return n();let c=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((p,[g,b])=>`${p}${g}=${b} +`,""):String(r.body);return{path:t,submission:{formMethod:o,formAction:i,formEncType:r.formEncType,formData:void 0,json:void 0,text:c}}}else if(r.formEncType==="application/json"){if(!ve(o))return n();try{let c=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:t,submission:{formMethod:o,formAction:i,formEncType:r.formEncType,formData:void 0,json:c,text:void 0}}}catch{return n()}}}Y(typeof FormData=="function","FormData is not available in this environment");let l,s;if(r.formData)l=ur(r.formData),s=r.formData;else if(r.body instanceof FormData)l=ur(r.body),s=r.body;else if(r.body instanceof URLSearchParams)l=r.body,s=hn(l);else if(r.body==null)l=new URLSearchParams,s=new FormData;else try{l=new URLSearchParams(r.body),s=hn(l)}catch{return n()}let u={formMethod:o,formAction:i,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:s,json:void 0,text:void 0};if(ve(u.formMethod))return{path:t,submission:u};let h=je(t);return e&&h.search&&Rr(h.search)&&l.append("index",""),h.search=`?${l}`,{path:Te(h),submission:u}}function ln(e,t,r,n,a,o,i,l,s,u,h,c,p,g,b,S,E,L,R,T,M){let D=T?Re(T[1])?T[1].error:T[1].data:void 0,I=a.createURL(o.location),v=a.createURL(s),_;if(h&&o.errors){let Z=Object.keys(o.errors)[0];_=i.findIndex(G=>G.route.id===Z)}else if(T&&Re(T[1])){let Z=T[0];_=i.findIndex(G=>G.route.id===Z)-1}let z=T?T[1].statusCode:void 0,X=z&&z>=400,V={currentUrl:I,currentParams:o.matches[0]?.params||{},nextUrl:v,nextParams:i[0].params,...l,actionResult:D,actionStatus:z},ae=pt(i),se=i.map((Z,G)=>{let{route:ce}=Z,ee=null;if(_!=null&&G>_?ee=!1:ce.lazy?ee=!0:Er(ce)?h?ee=lr(ce,o.loaderData,o.errors):$o(o.loaderData,o.matches[G],Z)&&(ee=!0):ee=!1,ee!==null)return sr(r,n,e,ae,Z,u,t,ee);let le=!1;typeof M=="boolean"?le=M:X?le=!1:(c||I.pathname+I.search===v.pathname+v.search||I.search!==v.search||jo(o.matches[G],Z))&&(le=!0);let fe={...V,defaultShouldRevalidate:le},m=dt(Z,fe);return sr(r,n,e,ae,Z,u,t,m,fe,M)}),ne=[];return b.forEach((Z,G)=>{if(h||!i.some(A=>A.route.id===Z.routeId)||g.has(G))return;let ce=o.fetchers.get(G),ee=ce&&ce.state!=="idle"&&ce.data===void 0,le=Ie(E,Z.path,L);if(!le){if(R&&ee)return;ne.push({key:G,routeId:Z.routeId,path:Z.path,matches:null,match:null,request:null,controller:null});return}if(S.has(G))return;let fe=_t(le,Z.path),m=new AbortController,x=Ke(a,Z.path,m.signal),j=null;if(p.has(G))p.delete(G),j=Qe(r,n,x,le,fe,u,t);else if(ee)c&&(j=Qe(r,n,x,le,fe,u,t));else{let A;typeof M=="boolean"?A=M:X?A=!1:A=c;let B={...V,defaultShouldRevalidate:A};dt(fe,B)&&(j=Qe(r,n,x,le,fe,u,t,B))}j&&ne.push({key:G,routeId:Z.routeId,path:Z.path,matches:j,match:fe,request:x,controller:m})}),{dsMatches:se,revalidatingFetchers:ne}}function Er(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function lr(e,t,r){if(e.lazy)return!0;if(!Er(e))return!1;let n=t!=null&&e.id in t,a=r!=null&&r[e.id]!==void 0;return!n&&a?!1:typeof e.loader=="function"&&e.loader.hydrate===!0?!0:!n&&!a}function $o(e,t,r){let n=!t||r.route.id!==t.route.id,a=!e.hasOwnProperty(r.route.id);return n||a}function jo(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function dt(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function sn(e,t,r,n,a,o){let i;if(e){let u=n[e];Y(u,`No route found to patch children into: routeId = ${e}`),u.children||(u.children=[]),i=u.children}else i=r;let l=[],s=[];if(t.forEach(u=>{let h=i.find(c=>Bn(u,c));h?s.push({existingRoute:h,newRoute:u}):l.push(u)}),l.length>0){let u=ht(l,a,[e||"_","patch",String(i?.length||"0")],n);i.push(...u)}if(o&&s.length>0)for(let u=0;ut.children?.some(a=>Bn(r,a))):!1}var un=new WeakMap,Wn=({key:e,route:t,manifest:r,mapRouteProperties:n})=>{let a=r[t.id];if(Y(a,"No route found in manifest"),!a.lazy||typeof a.lazy!="object")return;let o=a.lazy[e];if(!o)return;let i=un.get(a);i||(i={},un.set(a,i));let l=i[e];if(l)return l;let s=(async()=>{let u=eo(e),c=a[e]!==void 0&&e!=="hasErrorBoundary";if(u)oe(!u,"Route property "+e+" is not a supported lazy route property. This property will be ignored."),i[e]=Promise.resolve();else if(c)oe(!1,`Route "${a.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let p=await o();p!=null&&(Object.assign(a,{[e]:p}),Object.assign(a,n(a)))}typeof a.lazy=="object"&&(a.lazy[e]=void 0,Object.values(a.lazy).every(p=>p===void 0)&&(a.lazy=void 0))})();return i[e]=s,s},cn=new WeakMap;function Fo(e,t,r,n,a){let o=r[e.id];if(Y(o,"No route found in manifest"),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy=="function"){let h=cn.get(o);if(h)return{lazyRoutePromise:h,lazyHandlerPromise:h};let c=(async()=>{Y(typeof e.lazy=="function","No lazy route function found");let p=await e.lazy(),g={};for(let b in p){let S=p[b];if(S===void 0)continue;let E=ro(b),R=o[b]!==void 0&&b!=="hasErrorBoundary";E?oe(!E,"Route property "+b+" is not a supported property to be returned from a lazy route function. This property will be ignored."):R?oe(!R,`Route "${o.id}" has a static property "${b}" defined but its lazy function is also returning a value for this property. The lazy route property "${b}" will be ignored.`):g[b]=S}Object.assign(o,g),Object.assign(o,{...n(o),lazy:void 0})})();return cn.set(o,c),c.catch(()=>{}),{lazyRoutePromise:c,lazyHandlerPromise:c}}let i=Object.keys(e.lazy),l=[],s;for(let h of i){if(a&&a.includes(h))continue;let c=Wn({key:h,route:e,manifest:r,mapRouteProperties:n});c&&(l.push(c),h===t&&(s=c))}let u=l.length>0?Promise.all(l).then(()=>{}):void 0;return u?.catch(()=>{}),s?.catch(()=>{}),{lazyRoutePromise:u,lazyHandlerPromise:s}}async function dn(e){let t=e.matches.filter(a=>a.shouldLoad),r={};return(await Promise.all(t.map(a=>a.resolve()))).forEach((a,o)=>{r[t[o].route.id]=a}),r}async function Uo(e){return e.matches.some(t=>t.route.middleware)?Yn(e,()=>dn(e)):dn(e)}function Yn(e,t){return Ho(e,t,n=>{if(ei(n))throw n;return n},Ko,r);function r(n,a,o){if(o)return Promise.resolve(Object.assign(o.value,{[a]:{type:"error",result:n}}));{let{matches:i}=e,l=Math.min(Math.max(i.findIndex(u=>u.route.id===a),0),Math.max(i.findIndex(u=>u.shouldCallHandler()),0)),s=ke(i,i[l].route.id).route.id;return Promise.resolve({[s]:{type:"error",result:n}})}}}async function Ho(e,t,r,n,a){let{matches:o,request:i,params:l,context:s,unstable_pattern:u}=e,h=o.flatMap(p=>p.route.middleware?p.route.middleware.map(g=>[p.route.id,g]):[]);return await Vn({request:i,params:l,context:s,unstable_pattern:u},h,t,r,n,a)}async function Vn(e,t,r,n,a,o,i=0){let{request:l}=e;if(l.signal.aborted)throw l.signal.reason??new Error(`Request aborted: ${l.method} ${l.url}`);let s=t[i];if(!s)return await r();let[u,h]=s,c,p=async()=>{if(c)throw new Error("You may only call `next()` once per middleware");try{return c={value:await Vn(e,t,r,n,a,o,i+1)},c.value}catch(g){return c={value:await o(g,u,c)},c.value}};try{let g=await h(e,p),b=g!=null?n(g):void 0;return a(b)?b:c?b??c.value:(c={value:await p()},c.value)}catch(g){return await o(g,u,c)}}function Jn(e,t,r,n,a){let o=Wn({key:"middleware",route:n.route,manifest:t,mapRouteProperties:e}),i=Fo(n.route,ve(r.method)?"action":"loader",t,e,a);return{middleware:o,route:i.lazyRoutePromise,handler:i.lazyHandlerPromise}}function sr(e,t,r,n,a,o,i,l,s=null,u){let h=!1,c=Jn(e,t,r,a,o);return{...a,_lazyPromises:c,shouldLoad:l,shouldRevalidateArgs:s,shouldCallHandler(p){return h=!0,s?typeof u=="boolean"?dt(a,{...s,defaultShouldRevalidate:u}):typeof p=="boolean"?dt(a,{...s,defaultShouldRevalidate:p}):dt(a,s):l},resolve(p){let{lazy:g,loader:b,middleware:S}=a.route,E=h||l||p&&!ve(r.method)&&(g||b),L=S&&S.length>0&&!b&&!g;return E&&(ve(r.method)||!L)?Bo({request:r,unstable_pattern:n,match:a,lazyHandlerPromise:c?.handler,lazyRoutePromise:c?.route,handlerOverride:p,scopedContext:i}):Promise.resolve({type:"data",result:void 0})}}}function Qe(e,t,r,n,a,o,i,l=null){return n.map(s=>s.route.id!==a.route.id?{...s,shouldLoad:!1,shouldRevalidateArgs:l,shouldCallHandler:()=>!1,_lazyPromises:Jn(e,t,r,s,o),resolve:()=>Promise.resolve({type:"data",result:void 0})}:sr(e,t,r,pt(n),s,o,i,!0,l))}async function zo(e,t,r,n,a,o){r.some(u=>u._lazyPromises?.middleware)&&await Promise.all(r.map(u=>u._lazyPromises?.middleware));let i={request:t,unstable_pattern:pt(r),params:r[0].params,context:a,matches:r},s=await e({...i,fetcherKey:n,runClientMiddleware:u=>{let h=i;return Yn(h,()=>u({...h,fetcherKey:n,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(r.flatMap(u=>[u._lazyPromises?.handler,u._lazyPromises?.route]))}catch{}return s}async function Bo({request:e,unstable_pattern:t,match:r,lazyHandlerPromise:n,lazyRoutePromise:a,handlerOverride:o,scopedContext:i}){let l,s,u=ve(e.method),h=u?"action":"loader",c=p=>{let g,b=new Promise((L,R)=>g=R);s=()=>g(),e.signal.addEventListener("abort",s);let S=L=>typeof p!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${h}" [routeId: ${r.route.id}]`)):p({request:e,unstable_pattern:t,params:r.params,context:i},...L!==void 0?[L]:[]),E=(async()=>{try{return{type:"data",result:await(o?o(R=>S(R)):S())}}catch(L){return{type:"error",result:L}}})();return Promise.race([E,b])};try{let p=u?r.route.action:r.route.loader;if(n||a)if(p){let g,[b]=await Promise.all([c(p).catch(S=>{g=S}),n,a]);if(g!==void 0)throw g;l=b}else{await n;let g=u?r.route.action:r.route.loader;if(g)[l]=await Promise.all([c(g),a]);else if(h==="action"){let b=new URL(e.url),S=b.pathname+b.search;throw xe(405,{method:e.method,pathname:S,routeId:r.route.id})}else return{type:"data",result:void 0}}else if(p)l=await c(p);else{let g=new URL(e.url),b=g.pathname+g.search;throw xe(404,{pathname:b})}}catch(p){return{type:"error",result:p}}finally{s&&e.signal.removeEventListener("abort",s)}return l}async function Wo(e){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function Yo(e){let{result:t,type:r}=e;if(Ft(t)){let n;try{n=await Wo(t)}catch(a){return{type:"error",error:a}}return r==="error"?{type:"error",error:new Fe(t.status,t.statusText,n),statusCode:t.status,headers:t.headers}:{type:"data",data:n,statusCode:t.status,headers:t.headers}}return r==="error"?cr(t)?t.data instanceof Error?{type:"error",error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:Xo(t),statusCode:Ve(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:t,statusCode:Ve(t)?t.status:void 0}:cr(t)?{type:"data",data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"data",data:t}}function Vo(e,t,r,n,a){let o=e.headers.get("Location");if(Y(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!jt(o)){let i=n.slice(0,n.findIndex(l=>l.route.id===r)+1);o=ir(new URL(t.url),i,a,o),e.headers.set("Location",o)}return e}function fn(e,t,r,n){let a=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];if(jt(e)){let o=e,i=o.startsWith("//")?new URL(t.protocol+o):new URL(o);if(a.includes(i.protocol))throw new Error("Invalid redirect location");let l=be(i.pathname,r)!=null;if(i.origin===t.origin&&l)return i.pathname+i.search+i.hash}try{let o=n.createURL(e);if(a.includes(o.protocol))throw new Error("Invalid redirect location")}catch{}return e}function Ke(e,t,r,n){let a=e.createURL(Gn(t)).toString(),o={signal:r};if(n&&ve(n.formMethod)){let{formMethod:i,formEncType:l}=n;o.method=i.toUpperCase(),l==="application/json"?(o.headers=new Headers({"Content-Type":l}),o.body=JSON.stringify(n.json)):l==="text/plain"?o.body=n.text:l==="application/x-www-form-urlencoded"&&n.formData?o.body=ur(n.formData):o.body=n.formData}return new Request(a,o)}function ur(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function hn(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function Jo(e,t,r,n=!1,a=!1){let o={},i=null,l,s=!1,u={},h=r&&Re(r[1])?r[1].error:void 0;return e.forEach(c=>{if(!(c.route.id in t))return;let p=c.route.id,g=t[p];if(Y(!Ye(g),"Cannot handle redirect results in processLoaderData"),Re(g)){let b=g.error;if(h!==void 0&&(b=h,h=void 0),i=i||{},a)i[p]=b;else{let S=ke(e,p);i[S.route.id]==null&&(i[S.route.id]=b)}n||(o[p]=zn),s||(s=!0,l=Ve(g.error)?g.error.status:500),g.headers&&(u[p]=g.headers)}else o[p]=g.data,g.statusCode&&g.statusCode!==200&&!s&&(l=g.statusCode),g.headers&&(u[p]=g.headers)}),h!==void 0&&r&&(i={[r[0]]:h},r[2]&&(o[r[2]]=void 0)),{loaderData:o,errors:i,statusCode:l||200,loaderHeaders:u}}function mn(e,t,r,n,a,o){let{loaderData:i,errors:l}=Jo(t,r,n);return a.filter(s=>!s.matches||s.matches.some(u=>u.shouldLoad)).forEach(s=>{let{key:u,match:h,controller:c}=s;if(c&&c.signal.aborted)return;let p=o[u];if(Y(p,"Did not find corresponding fetcher result"),Re(p)){let g=ke(e.matches,h?.route.id);l&&l[g.route.id]||(l={...l,[g.route.id]:p.error}),e.fetchers.delete(u)}else if(Ye(p))Y(!1,"Unhandled fetcher revalidation redirect");else{let g=Ne(p.data);e.fetchers.set(u,g)}}),{loaderData:i,errors:l}}function pn(e,t,r,n){let a=Object.entries(t).filter(([,o])=>o!==zn).reduce((o,[i,l])=>(o[i]=l,o),{});for(let o of r){let i=o.route.id;if(!t.hasOwnProperty(i)&&e.hasOwnProperty(i)&&o.route.loader&&(a[i]=e[i]),n&&n.hasOwnProperty(i))break}return a}function yn(e){return e?Re(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function ke(e,t){return(t?e.slice(0,e.findIndex(n=>n.route.id===t)+1):[...e]).reverse().find(n=>n.route.hasErrorBoundary===!0)||e[0]}function Ct(e){let t=e.length===1?e[0]:e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function xe(e,{pathname:t,routeId:r,method:n,type:a,message:o}={}){let i="Unknown Server Error",l="Unknown @remix-run/router error";return e===400?(i="Bad Request",n&&t&&r?l=`You made a ${n} request to "${t}" but did not provide a \`loader\` for route "${r}", so there is no way to handle the request.`:a==="invalid-body"&&(l="Unable to encode submission body")):e===403?(i="Forbidden",l=`Route "${r}" does not match URL "${t}"`):e===404?(i="Not Found",l=`No route matches URL "${t}"`):e===405&&(i="Method Not Allowed",n&&t&&r?l=`You made a ${n.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${r}", so there is no way to handle the request.`:n&&(l=`Invalid request method "${n.toUpperCase()}"`)),new Fe(e||500,i,new Error(l),!0)}function Lt(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[n,a]=t[r];if(Ye(a))return{key:n,result:a}}}function Gn(e){let t=typeof e=="string"?je(e):e;return Te({...t,hash:""})}function Go(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Xo(e){return new Fe(e.init?.status??500,e.init?.statusText??"Internal Server Error",e.data)}function Ko(e){return e!=null&&typeof e=="object"&&Object.entries(e).every(([t,r])=>typeof t=="string"&&qo(r))}function qo(e){return e!=null&&typeof e=="object"&&"type"in e&&"result"in e&&(e.type==="data"||e.type==="error")}function Qo(e){return Ft(e.result)&&Un.has(e.result.status)}function Re(e){return e.type==="error"}function Ye(e){return(e&&e.type)==="redirect"}function cr(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function Ft(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Zo(e){return Un.has(e)}function ei(e){return Ft(e)&&Zo(e.status)&&e.headers.has("Location")}function ti(e){return Oo.has(e.toUpperCase())}function ve(e){return Do.has(e.toUpperCase())}function Rr(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function _t(e,t){let r=typeof t=="string"?je(t).search:t.search;if(e[e.length-1].route.index&&Rr(r||""))return e[e.length-1];let n=An(e);return n[n.length-1]}function vn(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(!(!t||!r||!n)){if(a!=null)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(o!=null)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};if(i!==void 0)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function er(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function ri(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function lt(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function ni(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function Ne(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function ai(e,t){try{let r=e.sessionStorage.getItem(Hn);if(r){let n=JSON.parse(r);for(let[a,o]of Object.entries(n||{}))o&&Array.isArray(o)&&t.set(a,new Set(o||[]))}}catch{}}function oi(e,t){if(t.size>0){let r={};for(let[n,a]of t)r[n]=[...a];try{e.sessionStorage.setItem(Hn,JSON.stringify(r))}catch(n){oe(!1,`Failed to save applied view transitions in sessionStorage (${n}).`)}}}function gn(){let e,t,r=new Promise((n,a)=>{e=async o=>{n(o);try{await r}catch{}},t=async o=>{a(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}var Je=f.createContext(null);Je.displayName="DataRouter";var Ze=f.createContext(null);Ze.displayName="DataRouterState";var Xn=f.createContext(!1);function Kn(){return f.useContext(Xn)}var br=f.createContext({isTransitioning:!1});br.displayName="ViewTransition";var qn=f.createContext(new Map);qn.displayName="Fetchers";var ii=f.createContext(null);ii.displayName="Await";var Ee=f.createContext(null);Ee.displayName="Navigation";var Ut=f.createContext(null);Ut.displayName="Location";var Ce=f.createContext({outlet:null,matches:[],isDataRoute:!1});Ce.displayName="Route";var Sr=f.createContext(null);Sr.displayName="RouteError";var Qn="REACT_ROUTER_ERROR",li="REDIRECT",si="ROUTE_ERROR_RESPONSE";function ui(e){if(e.startsWith(`${Qn}:${li}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function ci(e){if(e.startsWith(`${Qn}:${si}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new Fe(t.status,t.statusText,t.data)}catch{}}function di(e,{relative:t}={}){Y(yt(),"useHref() may be used only in the context of a component.");let{basename:r,navigator:n}=f.useContext(Ee),{hash:a,pathname:o,search:i}=vt(e,{relative:t}),l=o;return r!=="/"&&(l=o==="/"?r:Pe([r,o])),n.createHref({pathname:l,search:i,hash:a})}function yt(){return f.useContext(Ut)!=null}function Me(){return Y(yt(),"useLocation() may be used only in the context of a component."),f.useContext(Ut).location}var Zn="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function ea(e){f.useContext(Ee).static||f.useLayoutEffect(e)}function fi(){let{isDataRoute:e}=f.useContext(Ce);return e?Ci():hi()}function hi(){Y(yt(),"useNavigate() may be used only in the context of a component.");let e=f.useContext(Je),{basename:t,navigator:r}=f.useContext(Ee),{matches:n}=f.useContext(Ce),{pathname:a}=Me(),o=JSON.stringify(gr(n)),i=f.useRef(!1);return ea(()=>{i.current=!0}),f.useCallback((s,u={})=>{if(oe(i.current,Zn),!i.current)return;if(typeof s=="number"){r.go(s);return}let h=wr(s,JSON.parse(o),a,u.relative==="path");e==null&&t!=="/"&&(h.pathname=h.pathname==="/"?t:Pe([t,h.pathname])),(u.replace?r.replace:r.push)(h,u.state,u)},[t,r,o,a,e])}var mi=f.createContext(null);function pi(e){let t=f.useContext(Ce).outlet;return f.useMemo(()=>t&&f.createElement(mi.Provider,{value:e},t),[t,e])}function ta(){let{matches:e}=f.useContext(Ce),t=e[e.length-1];return t?t.params:{}}function vt(e,{relative:t}={}){let{matches:r}=f.useContext(Ce),{pathname:n}=Me(),a=JSON.stringify(gr(r));return f.useMemo(()=>wr(e,JSON.parse(a),n,t==="path"),[e,a,n,t])}function yi(e,t,r,n,a){Y(yt(),"useRoutes() may be used only in the context of a component.");let{navigator:o}=f.useContext(Ee),{matches:i}=f.useContext(Ce),l=i[i.length-1],s=l?l.params:{},u=l?l.pathname:"/",h=l?l.pathnameBase:"/",c=l&&l.route;{let R=c&&c.path||"";ia(u,!c||R.endsWith("*")||R.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${u}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let p=Me(),g;g=p;let b=g.pathname||"/",S=b;if(h!=="/"){let R=h.replace(/^\//,"").split("/");S="/"+b.replace(/^\//,"").split("/").slice(R.length).join("/")}let E=Ie(e,{pathname:S});return oe(c||E!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),oe(E==null||E[E.length-1].route.element!==void 0||E[E.length-1].route.Component!==void 0||E[E.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`),Ri(E&&E.map(R=>Object.assign({},R,{params:Object.assign({},s,R.params),pathname:Pe([h,o.encodeLocation?o.encodeLocation(R.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:R.pathname]),pathnameBase:R.pathnameBase==="/"?h:Pe([h,o.encodeLocation?o.encodeLocation(R.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:R.pathnameBase])})),i,r,n,a)}function vi(){let e=Lr(),t=Ve(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:n},o={padding:"2px 4px",backgroundColor:n},i=null;return console.error("Error handled by React Router default ErrorBoundary:",e),i=f.createElement(f.Fragment,null,f.createElement("p",null,"💿 Hey developer 👋"),f.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",f.createElement("code",{style:o},"ErrorBoundary")," or"," ",f.createElement("code",{style:o},"errorElement")," prop on your route.")),f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},t),r?f.createElement("pre",{style:a},r):null,i)}var gi=f.createElement(vi,null),ra=class extends f.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const r=ci(e.digest);r&&(e=r)}let t=e!==void 0?f.createElement(Ce.Provider,{value:this.props.routeContext},f.createElement(Sr.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?f.createElement(wi,{error:e},t):t}};ra.contextType=Xn;var tr=new WeakMap;function wi({children:e,error:t}){let{basename:r}=f.useContext(Ee);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let n=ui(t.digest);if(n){let a=tr.get(t);if(a)throw a;let o=$n(n.location,r);if(kn&&!tr.get(t))if(o.isExternal||n.reloadDocument)window.location.href=o.absoluteURL||o.to;else{const i=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(o.to,{replace:n.replace}));throw tr.set(t,i),i}return f.createElement("meta",{httpEquiv:"refresh",content:`0;url=${o.absoluteURL||o.to}`})}}return e}function Ei({routeContext:e,match:t,children:r}){let n=f.useContext(Je);return n&&n.static&&n.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=t.route.id),f.createElement(Ce.Provider,{value:e},r)}function Ri(e,t=[],r=null,n=null,a=null){if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let o=e,i=r?.errors;if(i!=null){let h=o.findIndex(c=>c.route.id&&i?.[c.route.id]!==void 0);Y(h>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(i).join(",")}`),o=o.slice(0,Math.min(o.length,h+1))}let l=!1,s=-1;if(r)for(let h=0;h=0?o=o.slice(0,s+1):o=[o[0]];break}}}let u=r&&n?(h,c)=>{n(h,{location:r.location,params:r.matches?.[0]?.params??{},unstable_pattern:pt(r.matches),errorInfo:c})}:void 0;return o.reduceRight((h,c,p)=>{let g,b=!1,S=null,E=null;r&&(g=i&&c.route.id?i[c.route.id]:void 0,S=c.route.errorElement||gi,l&&(s<0&&p===0?(ia("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),b=!0,E=null):s===p&&(b=!0,E=c.route.hydrateFallbackElement||null)));let L=t.concat(o.slice(0,p+1)),R=()=>{let T;return g?T=S:b?T=E:c.route.Component?T=f.createElement(c.route.Component,null):c.route.element?T=c.route.element:T=h,f.createElement(Ei,{match:c,routeContext:{outlet:h,matches:L,isDataRoute:r!=null},children:T})};return r&&(c.route.ErrorBoundary||c.route.errorElement||p===0)?f.createElement(ra,{location:r.location,revalidation:r.revalidation,component:S,error:g,children:R(),routeContext:{outlet:null,matches:L,isDataRoute:!0},onError:u}):R()},null)}function xr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function na(e){let t=f.useContext(Je);return Y(t,xr(e)),t}function et(e){let t=f.useContext(Ze);return Y(t,xr(e)),t}function bi(e){let t=f.useContext(Ce);return Y(t,xr(e)),t}function gt(e){let t=bi(e),r=t.matches[t.matches.length-1];return Y(r.route.id,`${e} can only be used on routes that contain a unique "id"`),r.route.id}function Si(){return gt("useRouteId")}function xi(){return et("useNavigation").navigation}function ds(){let e=na("useRevalidator"),t=et("useRevalidator"),r=f.useCallback(async()=>{await e.router.revalidate()},[e.router]);return f.useMemo(()=>({revalidate:r,state:t.revalidation}),[r,t.revalidation])}function Cr(){let{matches:e,loaderData:t}=et("useMatches");return f.useMemo(()=>e.map(r=>Dn(r,t)),[e,t])}function aa(){let e=et("useLoaderData"),t=gt("useLoaderData");return e.loaderData[t]}function oa(){let e=et("useActionData"),t=gt("useLoaderData");return e.actionData?e.actionData[t]:void 0}function Lr(){let e=f.useContext(Sr),t=et("useRouteError"),r=gt("useRouteError");return e!==void 0?e:t.errors?.[r]}function Ci(){let{router:e}=na("useNavigate"),t=gt("useNavigate"),r=f.useRef(!1);return ea(()=>{r.current=!0}),f.useCallback(async(a,o={})=>{oe(r.current,Zn),r.current&&(typeof a=="number"?await e.navigate(a):await e.navigate(a,{fromRouteId:t,...o}))},[e,t])}var wn={};function ia(e,t,r){!t&&!wn[e]&&(wn[e]=!0,oe(!1,r))}var En={};function dr(e,t){!e&&!En[t]&&(En[t]=!0,console.warn(t))}var Li="useOptimistic",Rn=Ga[Li],Pi=()=>{};function Ti(e){return Rn?Rn(e):[e,Pi]}function fs(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&oe(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:f.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&oe(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:f.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&oe(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:f.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var hs=["HydrateFallback","hydrateFallbackElement"],Mi=class{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",e(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",t(r))}})}};function ms({router:e,flushSync:t,onError:r,unstable_useTransitions:n}){n=Kn()||n;let[o,i]=f.useState(e.state),[l,s]=Ti(o),[u,h]=f.useState(),[c,p]=f.useState({isTransitioning:!1}),[g,b]=f.useState(),[S,E]=f.useState(),[L,R]=f.useState(),T=f.useRef(new Map),M=f.useCallback((_,{deletedFetchers:z,newErrors:X,flushSync:V,viewTransitionOpts:ae})=>{X&&r&&Object.values(X).forEach(ne=>r(ne,{location:_.location,params:_.matches[0]?.params??{},unstable_pattern:pt(_.matches)})),_.fetchers.forEach((ne,Z)=>{ne.data!==void 0&&T.current.set(Z,ne.data)}),z.forEach(ne=>T.current.delete(ne)),dr(V===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let se=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition=="function";if(dr(ae==null||se,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!ae||!se){t&&V?t(()=>i(_)):n===!1?i(_):f.startTransition(()=>{n===!0&&s(ne=>bn(ne,_)),i(_)});return}if(t&&V){t(()=>{S&&(g?.resolve(),S.skipTransition()),p({isTransitioning:!0,flushSync:!0,currentLocation:ae.currentLocation,nextLocation:ae.nextLocation})});let ne=e.window.document.startViewTransition(()=>{t(()=>i(_))});ne.finished.finally(()=>{t(()=>{b(void 0),E(void 0),h(void 0),p({isTransitioning:!1})})}),t(()=>E(ne));return}S?(g?.resolve(),S.skipTransition(),R({state:_,currentLocation:ae.currentLocation,nextLocation:ae.nextLocation})):(h(_),p({isTransitioning:!0,flushSync:!1,currentLocation:ae.currentLocation,nextLocation:ae.nextLocation}))},[e.window,t,S,g,n,s,r]);f.useLayoutEffect(()=>e.subscribe(M),[e,M]),f.useEffect(()=>{c.isTransitioning&&!c.flushSync&&b(new Mi)},[c]),f.useEffect(()=>{if(g&&u&&e.window){let _=u,z=g.promise,X=e.window.document.startViewTransition(async()=>{n===!1?i(_):f.startTransition(()=>{n===!0&&s(V=>bn(V,_)),i(_)}),await z});X.finished.finally(()=>{b(void 0),E(void 0),h(void 0),p({isTransitioning:!1})}),E(X)}},[u,g,e.window,n,s]),f.useEffect(()=>{g&&u&&l.location.key===u.location.key&&g.resolve()},[g,S,l.location,u]),f.useEffect(()=>{!c.isTransitioning&&L&&(h(L.state),p({isTransitioning:!0,flushSync:!1,currentLocation:L.currentLocation,nextLocation:L.nextLocation}),R(void 0))},[c.isTransitioning,L]);let D=f.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:_=>e.navigate(_),push:(_,z,X)=>e.navigate(_,{state:z,preventScrollReset:X?.preventScrollReset}),replace:(_,z,X)=>e.navigate(_,{replace:!0,state:z,preventScrollReset:X?.preventScrollReset})}),[e]),I=e.basename||"/",v=f.useMemo(()=>({router:e,navigator:D,static:!1,basename:I,onError:r}),[e,D,I,r]);return f.createElement(f.Fragment,null,f.createElement(Je.Provider,{value:v},f.createElement(Ze.Provider,{value:l},f.createElement(qn.Provider,{value:T.current},f.createElement(br.Provider,{value:c},f.createElement(Oi,{basename:I,location:l.location,navigationType:l.historyAction,navigator:D,unstable_useTransitions:n},f.createElement(Di,{routes:e.routes,future:e.future,state:l,onError:r})))))),null)}function bn(e,t){return{...e,navigation:t.navigation.state!=="idle"?t.navigation:e.navigation,revalidation:t.revalidation!=="idle"?t.revalidation:e.revalidation,actionData:t.navigation.state!=="submitting"?t.actionData:e.actionData,fetchers:t.fetchers}}var Di=f.memo(_i);function _i({routes:e,future:t,state:r,onError:n}){return yi(e,void 0,r,n,t)}function ps(e){return pi(e.context)}function Oi({basename:e="/",children:t=null,location:r,navigationType:n="POP",navigator:a,static:o=!1,unstable_useTransitions:i}){Y(!yt(),"You cannot render a inside another . You should never have more than one in your app.");let l=e.replace(/^\/*/,"/"),s=f.useMemo(()=>({basename:l,navigator:a,static:o,unstable_useTransitions:i,future:{}}),[l,a,o,i]);typeof r=="string"&&(r=je(r));let{pathname:u="/",search:h="",hash:c="",state:p=null,key:g="default"}=r,b=f.useMemo(()=>{let S=be(u,l);return S==null?null:{location:{pathname:S,search:h,hash:c,state:p,key:g},navigationType:n}},[l,u,h,c,p,g,n]);return oe(b!=null,` is not able to match the URL "${u}${h}${c}" because it does not start with the basename, so the won't render anything.`),b==null?null:f.createElement(Ee.Provider,{value:s},f.createElement(Ut.Provider,{children:t,value:b}))}function Ni(){return{params:ta(),loaderData:aa(),actionData:oa(),matches:Cr()}}function ys(e){return function(){const r=Ni();return f.createElement(e,r)}}function Ii(){return{params:ta(),loaderData:aa(),actionData:oa(),error:Lr()}}function vs(e){return function(){const r=Ii();return f.createElement(e,r)}}var Ot="get",Nt="application/x-www-form-urlencoded";function Ht(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function Ai(e){return Ht(e)&&e.tagName.toLowerCase()==="button"}function ki(e){return Ht(e)&&e.tagName.toLowerCase()==="form"}function $i(e){return Ht(e)&&e.tagName.toLowerCase()==="input"}function ji(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Fi(e,t){return e.button===0&&(!t||t==="_self")&&!ji(e)}var Pt=null;function Ui(){if(Pt===null)try{new FormData(document.createElement("form"),0),Pt=!1}catch{Pt=!0}return Pt}var Hi=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function rr(e){return e!=null&&!Hi.has(e)?(oe(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Nt}"`),null):e}function zi(e,t){let r,n,a,o,i;if(ki(e)){let l=e.getAttribute("action");n=l?be(l,t):null,r=e.getAttribute("method")||Ot,a=rr(e.getAttribute("enctype"))||Nt,o=new FormData(e)}else if(Ai(e)||$i(e)&&(e.type==="submit"||e.type==="image")){let l=e.form;if(l==null)throw new Error('Cannot submit a - - - - -
- -

Apache ZooKeeper Project Bylaws

-

This is version 1 of the bylaws.

-

Introduction

-

This document defines the bylaws under which the Apache ZooKeeper project operates. It defines the roles and responsibilities of the project, who may vote, how voting works, how conflicts are resolved, etc.

-

ZooKeeper is a project of the Apache Software Foundation The foundation holds the copyright on Apache code including the code in the ZooKeeper codebase. The foundation FAQ explains the operation and background of the foundation.

-

ZooKeeper is typical of Apache projects in that it operates under a set of principles, known collectively as the Apache Way. If you are new to Apache development, please refer to the Incubator project for more information on how Apache projects operate.

-

Roles and Responsibilities

-

Apache projects define a set of roles with associated rights and responsibilities. These roles govern what tasks an individual may perform within the project. The roles are defined in the following sections.

-

Users

-

The most important participants in the project are people who use our software. The majority of our contributors start out as users and guide their development efforts from the user's perspective.

-

Users contribute to the Apache projects by providing feedback to contributors in the form of bug reports and feature suggestions. As well, users participate in the Apache community by helping other users on mailing lists and user support forums.

-

Contributors

-

All of the volunteers who are contributing time, code, documentation, or resources to the ZooKeeper Project. A contributor that makes sustained, welcome contributions to the project may be invited to become a committer, though the exact timing of such invitations depends on many factors.

-

Committers

-

The project's committers are responsible for the project's technical management. Committers have access to a specified set of subproject's repositories. Committers on subprojects may cast binding votes on any technical discussion regarding that subproject.

-

Committer access is by invitation only and must be approved by lazy consensus of the active PMC members. A Committer is considered emeritus by his or her own declaration or by not reviewing patches or commiting patches to the project for over six months. An emeritus committer may request reinstatement of commit access from the PMC which must be approved by lazy consensus of the active PMC members.

-

Commit access can be revoked by a unanimous vote of all the active PMC members (except the committer in question if he or she is also a PMC member).

-

All Apache committers are required to have a signed Contributor License Agreement (CLA) on file with the Apache Software Foundation. There is a Committer FAQ which provides more details on the requirements for committers.

-

A committer who makes a sustained contribution to the project may be invited to become a member of the PMC. The form of contribution is not limited to code. It can also include code review, helping out users on the mailing lists, documentation, etc.

-

Project Management Committee

-

The PMC is responsible to the board and the ASF for the management and oversight of the Apache ZooKeeper codebase. The responsibilities of the PMC include:

-
    -
  • Deciding what is distributed as products of the Apache ZooKeeper project. In particular all releases must be approved by the PMC.
  • -
  • Maintaining the project's shared resources, including the codebase repository, mailing lists, websites.
  • -
  • Speaking on behalf of the project.
  • -
  • Resolving license disputes regarding products of the project.
  • -
  • Nominating new PMC members and committers.
  • -
  • Maintaining these bylaws and other guidelines of the project.
  • -
  • Membership of the PMC is by invitation only and must be approved by a lazy consensus of active PMC members. A PMC member is considered emeritus by his or her own declaration or by not contributing in any form to the project for over six months. An emeritus member may request reinstatement to the PMC, which must be approved by a lazy consensus of active PMC members.
  • -
-

Membership of the PMC can be revoked by an unanimous vote of all the active PMC members other than the member in question.

-

The chair of the PMC is appointed by the ASF board. The chair is an office holder of the Apache Software Foundation (Vice President, Apache ZooKeeper) and has primary responsibility to the board for the management of the projects within the scope of the ZooKeeper PMC. The chair reports to the board quarterly on developments within the ZooKeeper project.

-

When the current chair of the PMC resigns, the PMC votes to recommend a new chair using lazy consensus, but the decision must be ratified by the Apache board.

-

Decision Making

-

Within the ZooKeeper project, different types of decisions require different forms of approval. For example, the previous section describes several decisions which require 'lazy consensus' approval. This section defines how voting is performed, the types of approvals, and which types of decision require which type of approval.

-

Voting

-

Decisions regarding the project are made by votes on the primary project development mailing list dev@zookeeper.apache.org. Where necessary, PMC voting may take place on the private ZooKeeper PMC mailing list private@zookeeper.apache.org. Votes are clearly indicated by subject line starting with [VOTE]. Votes may contain multiple items for approval and these should be clearly separated. Voting is carried out by replying to the vote mail. Voting may take four flavors.

- - - - - - - - - - -
VoteMeaning
+1 'Yes,' 'Agree,' or 'the action should be performed.' In general, this vote also indicates a willingness on the behalf of the voter in 'making it happen'.
+0 This vote indicates a willingness for the action under consideration to go ahead. The voter, however will not be able to help.
-0 This vote indicates that the voter does not, in general, agree with the proposed action but is not concerned enough to prevent the action going ahead.
-1 This is a negative vote. On issues where consensus is required, this vote counts as a veto. All vetoes must contain an explanation of why the veto is appropriate. Vetoes with no explanation are void. It may also be appropriate for a -1 vote to include an alternative course of action.
-

All participants in the ZooKeeper project are encouraged to show their agreement with or against a particular action by voting. For technical decisions, only the votes of active committers are binding. Non binding votes are still useful for those with binding votes to understand the perception of an action in the wider ZooKeeper community. For PMC decisions, only the votes of PMC members are binding.

-

Voting can also be applied to changes already made to the ZooKeeper codebase. These typically take the form of a veto (-1) in reply to the commit message sent when the commit is made. Note that this should be a rare occurrence. All efforts should be made to discuss issues when they are still patches before the code is committed.

-

Approvals

-

There are the types of approvals that can be sought. Different actions require different types of approvals.

- - - - - - - - - - - -
Approval TypeDefinition
Consensus For this to pass, all voters with binding votes must vote and there can be no binding vetoes (-1). Consensus votes are rarely required due to the impracticality of getting all eligible voters to cast a vote.
Lazy Consensus Lazy consensus requires 3 binding +1 votes and no binding vetoes.
Lazy Majority A lazy majority vote requires 3 binding +1 votes and more binding +1 votes that -1 votes.
Lazy Approval An action with lazy approval is implicitly allowed unless a -1 vote is received, at which time, depending on the type of action, either lazy majority or lazy consensus approval must be obtained.
2/3 Majority Some actions require a 2/3 majority of active committers or PMC members to pass. Such actions typically affect the foundation of the project (e.g. adopting a new codebase to replace an existing product). The higher threshold is designed to ensure such changes are strongly supported. To pass this vote requires at least 2/3 of binding vote holders to vote +1.
-

Vetoes

-

A valid, binding veto cannot be overruled. If a veto is cast, it must be accompanied by a valid reason explaining the reasons for the veto. The validity of a veto, if challenged, can be confirmed by anyone who has a binding vote. This does not necessarily signify agreement with the veto - merely that the veto is valid.

-

If you disagree with a valid veto, you must lobby the person casting the veto to withdraw his or her veto. If a veto is not withdrawn, the action that has been vetoed must be reversed in a timely manner.

-

Actions

-

This section describes the various actions which are undertaken within the project, the corresponding approval required for that action and those who have binding votes over the action. It also specifies the minimum length of time that a vote must remain open, measured in business days. In general votes should not be called at times when it is known that interested members of the project will be unavailable.

- - - - - - - - - - - - - - - -
ActionDescriptionApprovalBinding VotesMinimum Length (days)
Code Change A change made to a codebase of the project and committed by a committer. This includes source code, documentation, website content, etc. Lazy approval (not counting the vote of the contributor), moving to lazy majority if a -1 is received Active committers 1
Release Plan Defines the timetable and actions for a release. The plan also nominates a Release Manager. Lazy majority Active committers 3
Product Release When a release of one of the project's products is ready, a vote is required to accept the release as an official release of the project. Lazy Majority Active PMC members 3
Adoption of New Codebase When the codebase for an existing, released product is to be replaced with an alternative codebase. If such a vote fails to gain approval, the existing code base will continue. This also covers the creation of new sub-projects within the project. 2/3 majority Active PMC members 6
New Committer or reinstatement When a new committer is proposed for the project. Lazy consensus Active PMC members 3
New PMC Member or reinstatement When a committer is proposed for the PMC. Lazy consensus Active PMC members 3
Committer Removal When removal of commit privileges is sought. Note: Such actions will also be referred to the ASF board by the PMC chair. Consensus Active PMC members (excluding the committer in question if a member of the PMC). 6
PMC Member Removal When removal of a PMC member is sought. Note: Such actions will also be referred to the ASF board by the PMC chair. Consensus Active PMC members (excluding the member in question). 6
Modifying Bylaws Modifying this document. 2/3 majority Active PMC members 6
-
- - - - diff --git a/content/bylaws/index.html b/content/bylaws/index.html new file mode 100644 index 00000000000..bebf3f87e1e --- /dev/null +++ b/content/bylaws/index.html @@ -0,0 +1,86 @@ +Bylaws - Apache ZooKeeper

Apache ZooKeeper Project Bylaws

+

This is version 1 of the bylaws.

+

Introduction

+

This document defines the bylaws under which the Apache ZooKeeper project operates. It defines the roles and responsibilities of the project, who may vote, how voting works, how conflicts are resolved, etc.

+

ZooKeeper is a project of the Apache Software Foundation . The foundation holds the copyright on Apache code including the code in the ZooKeeper codebase. The foundation FAQ  explains the operation and background of the foundation.

+

ZooKeeper is typical of Apache projects in that it operates under a set of principles, known collectively as the Apache Way. If you are new to Apache development, please refer to the Incubator project  for more information on how Apache projects operate.

+

Roles and Responsibilities

+

Apache projects define a set of roles with associated rights and responsibilities. These roles govern what tasks an individual may perform within the project. The roles are defined in the following sections.

+

Users

+

The most important participants in the project are people who use our software. The majority of our contributors start out as users and guide their development efforts from the user's perspective.

+

Users contribute to the Apache projects by providing feedback to contributors in the form of bug reports and feature suggestions. As well, users participate in the Apache community by helping other users on mailing lists and user support forums.

+

Contributors

+

All of the volunteers who are contributing time, code, documentation, or resources to the ZooKeeper Project. A contributor that makes sustained, welcome contributions to the project may be invited to become a committer, though the exact timing of such invitations depends on many factors.

+

Committers

+

The project's committers are responsible for the project's technical management. Committers have access to a specified set of subproject's repositories. Committers on subprojects may cast binding votes on any technical discussion regarding that subproject.

+

Committer access is by invitation only and must be approved by lazy consensus of the active PMC members. A Committer is considered emeritus by his or her own declaration or by not reviewing patches or committing patches to the project for over six months. An emeritus committer may request reinstatement of commit access from the PMC which must be approved by lazy consensus of the active PMC members.

+

Commit access can be revoked by a unanimous vote of all the active PMC members (except the committer in question if he or she is also a PMC member).

+

All Apache committers are required to have a signed Contributor License Agreement (CLA)  on file with the Apache Software Foundation. There is a Committer FAQ  which provides more details on the requirements for committers.

+

A committer who makes a sustained contribution to the project may be invited to become a member of the PMC. The form of contribution is not limited to code. It can also include code review, helping out users on the mailing lists, documentation, etc.

+

Project Management Committee

+

The PMC is responsible to the board and the ASF for the management and oversight of the Apache ZooKeeper codebase. The responsibilities of the PMC include:

+
    +
  • Deciding what is distributed as products of the Apache ZooKeeper project. In particular all releases must be approved by the PMC.
  • +
  • Maintaining the project's shared resources, including the codebase repository, mailing lists, websites.
  • +
  • Speaking on behalf of the project.
  • +
  • Resolving license disputes regarding products of the project.
  • +
  • Nominating new PMC members and committers.
  • +
  • Maintaining these bylaws and other guidelines of the project.
  • +
  • Membership of the PMC is by invitation only and must be approved by a lazy consensus of active PMC members. A PMC member is considered emeritus by his or her own declaration or by not contributing in any form to the project for over six months. An emeritus member may request reinstatement to the PMC, which must be approved by a lazy consensus of active PMC members.
  • +
+

Membership of the PMC can be revoked by an unanimous vote of all the active PMC members other than the member in question.

+

The chair of the PMC is appointed by the ASF board. The chair is an office holder of the Apache Software Foundation (Vice President, Apache ZooKeeper) and has primary responsibility to the board for the management of the projects within the scope of the ZooKeeper PMC. The chair reports to the board quarterly on developments within the ZooKeeper project.

+

When the current chair of the PMC resigns, the PMC votes to recommend a new chair using lazy consensus, but the decision must be ratified by the Apache board.

+

Decision Making

+

Within the ZooKeeper project, different types of decisions require different forms of approval. For example, the previous section describes several decisions which require 'lazy consensus' approval. This section defines how voting is performed, the types of approvals, and which types of decision require which type of approval.

+

Voting

+

Decisions regarding the project are made by votes on the primary project development mailing list dev@zookeeper.apache.org. Where necessary, PMC voting may take place on the private ZooKeeper PMC mailing list private@zookeeper.apache.org. Votes are clearly indicated by subject line starting with [VOTE]. Votes may contain multiple items for approval and these should be clearly separated. Voting is carried out by replying to the vote mail. Voting may take four flavors.

+
VoteMeaning
+1'Yes,' 'Agree,' or 'the action should be performed.' In general, this vote also indicates a willingness on the behalf of the voter in 'making it happen'.
+0This vote indicates a willingness for the action under consideration to go ahead. The voter, however will not be able to help.
-0This vote indicates that the voter does not, in general, agree with the proposed action but is not concerned enough to prevent the action going ahead.
-1This is a negative vote. On issues where consensus is required, this vote counts as a veto. All vetoes must contain an explanation of why the veto is appropriate. Vetoes with no explanation are void. It may also be appropriate for a -1 vote to include an alternative course of action.
+

All participants in the ZooKeeper project are encouraged to show their agreement with or against a particular action by voting. For technical decisions, only the votes of active committers are binding. Non binding votes are still useful for those with binding votes to understand the perception of an action in the wider ZooKeeper community. For PMC decisions, only the votes of PMC members are binding.

+

Voting can also be applied to changes already made to the ZooKeeper codebase. These typically take the form of a veto (-1) in reply to the commit message sent when the commit is made. Note that this should be a rare occurrence. All efforts should be made to discuss issues when they are still patches before the code is committed.

+

Approvals

+

There are the types of approvals that can be sought. Different actions require different types of approvals.

+
Approval TypeDefinition
ConsensusFor this to pass, all voters with binding votes must vote and there can be no binding vetoes (-1). Consensus votes are rarely required due to the impracticality of getting all eligible voters to cast a vote.
Lazy ConsensusLazy consensus requires 3 binding +1 votes and no binding vetoes.
Lazy MajorityA lazy majority vote requires 3 binding +1 votes and more binding +1 votes that -1 votes.
Lazy ApprovalAn action with lazy approval is implicitly allowed unless a -1 vote is received, at which time, depending on the type of action, either lazy majority or lazy consensus approval must be obtained.
2/3 MajoritySome actions require a 2/3 majority of active committers or PMC members to pass. Such actions typically affect the foundation of the project (e.g. adopting a new codebase to replace an existing product). The higher threshold is designed to ensure such changes are strongly supported. To pass this vote requires at least 2/3 of binding vote holders to vote +1.
+

Vetoes

+

A valid, binding veto cannot be overruled. If a veto is cast, it must be accompanied by a valid reason explaining the reasons for the veto. The validity of a veto, if challenged, can be confirmed by anyone who has a binding vote. This does not necessarily signify agreement with the veto — merely that the veto is valid.

+

If you disagree with a valid veto, you must lobby the person casting the veto to withdraw his or her veto. If a veto is not withdrawn, the action that has been vetoed must be reversed in a timely manner.

+

Actions

+

This section describes the various actions which are undertaken within the project, the corresponding approval required for that action and those who have binding votes over the action. It also specifies the minimum length of time that a vote must remain open, measured in business days. In general votes should not be called at times when it is known that interested members of the project will be unavailable.

+
ActionDescriptionApprovalBinding VotesMin. Days
Code ChangeA change made to a codebase of the project and committed by a committer. This includes source code, documentation, website content, etc.Lazy approval (not counting the vote of the contributor), moving to lazy majority if a -1 is receivedActive committers1
Release PlanDefines the timetable and actions for a release. The plan also nominates a Release Manager.Lazy majorityActive committers3
Product ReleaseWhen a release of one of the project's products is ready, a vote is required to accept the release as an official release of the project.Lazy MajorityActive PMC members3
Adoption of New CodebaseWhen the codebase for an existing, released product is to be replaced with an alternative codebase. If such a vote fails to gain approval, the existing code base will continue. This also covers the creation of new sub-projects within the project.2/3 majorityActive PMC members6
New Committer or reinstatementWhen a new committer is proposed for the project.Lazy consensusActive PMC members3
New PMC Member or reinstatementWhen a committer is proposed for the PMC.Lazy consensusActive PMC members3
Committer RemovalWhen removal of commit privileges is sought. Note: Such actions will also be referred to the ASF board by the PMC chair.ConsensusActive PMC members (excluding the committer in question if a member of the PMC).6
PMC Member RemovalWhen removal of a PMC member is sought. Note: Such actions will also be referred to the ASF board by the PMC chair.ConsensusActive PMC members (excluding the member in question).6
Modifying BylawsModifying this document.2/3 majorityActive PMC members6
\ No newline at end of file diff --git a/content/credits.html b/content/credits.html deleted file mode 100644 index 9ed01912d49..00000000000 --- a/content/credits.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - Apache ZooKeeper - - - - - - - - - - - -
- -

ZooKeeper Credits

- -

-

PMC Members

-

ZooKeeper's active PMC members are

- - - - - - - - - - - - - - - - - - - - - - -
UsernameNameOrganizationTime Zone
tdunningTed DunningMapR Technologies-8
camilleCamille FournierRentTheRunway-5
phuntPatrick HuntCloudera Inc.-8
fpjFlavio JunqueiraConfluent+0
ivankIvan KellyMidokura+2
mahadevMahadev KonarHortonworks Inc.-8
michimMichi MutsuzakiNicira-8
cnaurothChris NaurothHortonworks Inc.-8
breedBenjamin ReedFacebook-8
henryHenry RobinsonCloudera Inc.-8
rgsRaul Gutierrez SegalesPinterest-8
rakeshrRakesh RadhakrishnanIntel+5:30
hanmMichael HanTwitter-8
andorAndor MolnarCloudera Inc.+1
eolivelliEnrico OlivelliDiennea+1
symatMate Szalay-BekoCloudera Inc.+1
-

-

Committers

-

ZooKeeper's active committers are

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UsernameNameOrganizationTime Zone
camilleCamille FournierRentTheRunway-5
phuntPatrick HuntCloudera Inc.-8
fpjFlavio JunqueiraConfluent+1
cnaurothChris NaurothHortonworks Inc.-8
mahadevMahadev KonarHortonworks Inc.-8
gkesavanGiridharan KesavanHortonworks Inc.-8
akornevAndrew Kornev
michimMichi MutsuzakiNicira-8
breedBenjamin ReedFacebook-8
henryHenry RobinsonCloudera Inc.-8
shralexAlex ShraerApple-8
thawanThawan KooburatFacebook-8
rakeshrRakesh RadhakrishnanIntel+5:30
hdengHongchao DengCoreOS-8
rgsRaul Gutierrez SegalesPinterest-8
hanmMichael HanTwitter-8
arshadMohammad ArshadHuawei+5:30
afineAbraham FineIFTTT-8
andorAndor MolnarCloudera Inc.+1
fangminFangmin LyuFacebook-8
eolivelliEnrico OlivelliDiennea+1
nkalmarNorbert KalmarCloudera+1
enixonBrian NixonFacebook-8
symatMate Szalay-BekoCloudera Inc.+1
ddiederenDamien DiederenCrosstwine Labs+1
-

-

Contributors

-

A list of ZooKeeper contributors and their contributions is available from Jira

-
- - - - diff --git a/content/credits/index.html b/content/credits/index.html new file mode 100644 index 00000000000..4a83cf65916 --- /dev/null +++ b/content/credits/index.html @@ -0,0 +1,38 @@ +Credits - Apache ZooKeeper

ZooKeeper Credits

A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.

PMC Members

ZooKeeper's active PMC members are listed below.

UsernameNameOrganizationTime Zone
tdunningTed DunningMapR Technologies-8
camilleCamille FournierRentTheRunway-5
phuntPatrick HuntCloudera Inc.-8
fpjFlavio JunqueiraConfluent+0
ivankIvan KellyMidokura+2
mahadevMahadev KonarHortonworks Inc.-8
michimMichi MutsuzakiNicira-8
cnaurothChris NaurothHortonworks Inc.-8
breedBenjamin ReedFacebook-8
henryHenry RobinsonCloudera Inc.-8
rgsRaul Gutierrez SegalesPinterest-8
rakeshrRakesh RadhakrishnanIntel+5:30
hanmMichael HanTwitter-8
andorAndor MolnarCloudera Inc.+1
eolivelliEnrico OlivelliDiennea+1
symatMate Szalay-BekoCloudera Inc.+1

Committers

ZooKeeper's active committers are listed below.

UsernameNameOrganizationTime Zone
camilleCamille FournierRentTheRunway-5
phuntPatrick HuntCloudera Inc.-8
fpjFlavio JunqueiraConfluent+1
cnaurothChris NaurothHortonworks Inc.-8
mahadevMahadev KonarHortonworks Inc.-8
gkesavanGiridharan KesavanHortonworks Inc.-8
akornevAndrew Kornev--
michimMichi MutsuzakiNicira-8
breedBenjamin ReedFacebook-8
henryHenry RobinsonCloudera Inc.-8
shralexAlex ShraerApple-8
thawanThawan KooburatFacebook-8
rakeshrRakesh RadhakrishnanIntel+5:30
hdengHongchao DengCoreOS-8
rgsRaul Gutierrez SegalesPinterest-8
hanmMichael HanTwitter-8
arshadMohammad ArshadHuawei+5:30
afineAbraham FineIFTTT-8
andorAndor MolnarCloudera Inc.+1
fangminFangmin LyuFacebook-8
eolivelliEnrico OlivelliDiennea+1
nkalmarNorbert KalmarCloudera+1
enixonBrian NixonFacebook-8
symatMate Szalay-BekoCloudera Inc.+1
ddiederenDamien DiederenCrosstwine Labs+1

Contributors

A list of ZooKeeper contributors and their contributions is available from Jira.

\ No newline at end of file diff --git a/content/css/bootstrap.css b/content/css/bootstrap.css deleted file mode 100644 index 943532db554..00000000000 --- a/content/css/bootstrap.css +++ /dev/null @@ -1,9030 +0,0 @@ -/*! - * Bootstrap v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -:root { - --blue: #007bff; - --indigo: #6610f2; - --purple: #6f42c1; - --pink: #e83e8c; - --red: #dc3545; - --orange: #fd7e14; - --yellow: #ffc107; - --green: #28a745; - --teal: #20c997; - --cyan: #17a2b8; - --white: #fff; - --gray: #6c757d; - --gray-dark: #343a40; - --primary: #007bff; - --secondary: #6c757d; - --success: #28a745; - --info: #17a2b8; - --warning: #ffc107; - --danger: #dc3545; - --light: #f8f9fa; - --dark: #343a40; - --breakpoint-xs: 0; - --breakpoint-sm: 576px; - --breakpoint-md: 768px; - --breakpoint-lg: 992px; - --breakpoint-xl: 1200px; - --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -*, -*::before, -*::after { - box-sizing: border-box; -} - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -@-ms-viewport { - width: device-width; -} - -article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; -} - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #212529; - text-align: left; - background-color: #fff; -} - -[tabindex="-1"]:focus { - outline: 0 !important; -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title], -abbr[data-original-title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; -} - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} - -dt { - font-weight: 700; -} - -dd { - margin-bottom: .5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -dfn { - font-style: italic; -} - -b, -strong { - font-weight: bolder; -} - -small { - font-size: 80%; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sub { - bottom: -.25em; -} - -sup { - top: -.5em; -} - -a { - color: #007bff; - text-decoration: none; - background-color: transparent; - -webkit-text-decoration-skip: objects; -} - -a:hover { - color: #0056b3; - text-decoration: underline; -} - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):focus { - outline: 0; -} - -pre, -code, -kbd, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em; -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - -ms-overflow-style: scrollbar; -} - -figure { - margin: 0 0 1rem; -} - -img { - vertical-align: middle; - border-style: none; -} - -svg { - overflow: hidden; - vertical-align: middle; -} - -table { - border-collapse: collapse; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #6c757d; - text-align: left; - caption-side: bottom; -} - -th { - text-align: inherit; -} - -label { - display: inline-block; - margin-bottom: 0.5rem; -} - -button { - border-radius: 0; -} - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -button, -html [type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; -} - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; -} - -input[type="radio"], -input[type="checkbox"] { - box-sizing: border-box; - padding: 0; -} - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - -webkit-appearance: listbox; -} - -textarea { - overflow: auto; - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal; -} - -progress { - vertical-align: baseline; -} - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -[type="search"] { - outline-offset: -2px; - -webkit-appearance: none; -} - -[type="search"]::-webkit-search-cancel-button, -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; -} - -output { - display: inline-block; -} - -summary { - display: list-item; - cursor: pointer; -} - -template { - display: none; -} - -[hidden] { - display: none !important; -} - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: 0.5rem; - font-family: inherit; - font-weight: 500; - line-height: 1.2; - color: inherit; -} - -h1, .h1 { - font-size: 2.5rem; -} - -h2, .h2 { - font-size: 2rem; -} - -h3, .h3 { - font-size: 1.75rem; -} - -h4, .h4 { - font-size: 1.5rem; -} - -h5, .h5 { - font-size: 1.25rem; -} - -h6, .h6 { - font-size: 1rem; -} - -.lead { - font-size: 1.25rem; - font-weight: 300; -} - -.display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.2; -} - -.display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2; -} - -hr { - margin-top: 1rem; - margin-bottom: 1rem; - border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); -} - -small, -.small { - font-size: 80%; - font-weight: 400; -} - -mark, -.mark { - padding: 0.2em; - background-color: #fcf8e3; -} - -.list-unstyled { - padding-left: 0; - list-style: none; -} - -.list-inline { - padding-left: 0; - list-style: none; -} - -.list-inline-item { - display: inline-block; -} - -.list-inline-item:not(:last-child) { - margin-right: 0.5rem; -} - -.initialism { - font-size: 90%; - text-transform: uppercase; -} - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; -} - -.blockquote-footer { - display: block; - font-size: 80%; - color: #6c757d; -} - -.blockquote-footer::before { - content: "\2014 \00A0"; -} - -.img-fluid { - max-width: 100%; - height: auto; -} - -.img-thumbnail { - padding: 0.25rem; - background-color: #fff; - border: 1px solid #dee2e6; - border-radius: 0.25rem; - max-width: 100%; - height: auto; -} - -.figure { - display: inline-block; -} - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; -} - -.figure-caption { - font-size: 90%; - color: #6c757d; -} - -code { - font-size: 87.5%; - color: #e83e8c; - word-break: break-word; -} - -a > code { - color: inherit; -} - -kbd { - padding: 0.2rem 0.4rem; - font-size: 87.5%; - color: #fff; - background-color: #212529; - border-radius: 0.2rem; -} - -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700; -} - -pre { - display: block; - font-size: 87.5%; - color: #212529; -} - -pre code { - font-size: inherit; - color: inherit; - word-break: normal; -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} - -.container { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - .container { - max-width: 540px; - } -} - -@media (min-width: 768px) { - .container { - max-width: 720px; - } -} - -@media (min-width: 992px) { - .container { - max-width: 960px; - } -} - -@media (min-width: 1200px) { - .container { - max-width: 1140px; - } -} - -.container-fluid { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -.row { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; -} - -.no-gutters { - margin-right: 0; - margin-left: 0; -} - -.no-gutters > .col, -.no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; -} - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, -.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, -.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, -.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, -.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, -.col-xl-auto { - position: relative; - width: 100%; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; -} - -.col { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; -} - -.col-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; -} - -.col-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; -} - -.col-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; -} - -.col-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.col-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; -} - -.col-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; -} - -.col-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; -} - -.col-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; -} - -.col-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; -} - -.col-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; -} - -.col-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; -} - -.col-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; -} - -.order-first { - -ms-flex-order: -1; - order: -1; -} - -.order-last { - -ms-flex-order: 13; - order: 13; -} - -.order-0 { - -ms-flex-order: 0; - order: 0; -} - -.order-1 { - -ms-flex-order: 1; - order: 1; -} - -.order-2 { - -ms-flex-order: 2; - order: 2; -} - -.order-3 { - -ms-flex-order: 3; - order: 3; -} - -.order-4 { - -ms-flex-order: 4; - order: 4; -} - -.order-5 { - -ms-flex-order: 5; - order: 5; -} - -.order-6 { - -ms-flex-order: 6; - order: 6; -} - -.order-7 { - -ms-flex-order: 7; - order: 7; -} - -.order-8 { - -ms-flex-order: 8; - order: 8; -} - -.order-9 { - -ms-flex-order: 9; - order: 9; -} - -.order-10 { - -ms-flex-order: 10; - order: 10; -} - -.order-11 { - -ms-flex-order: 11; - order: 11; -} - -.order-12 { - -ms-flex-order: 12; - order: 12; -} - -.offset-1 { - margin-left: 8.333333%; -} - -.offset-2 { - margin-left: 16.666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.333333%; -} - -.offset-5 { - margin-left: 41.666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.333333%; -} - -.offset-8 { - margin-left: 66.666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.333333%; -} - -.offset-11 { - margin-left: 91.666667%; -} - -@media (min-width: 576px) { - .col-sm { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-sm-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-sm-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-sm-first { - -ms-flex-order: -1; - order: -1; - } - .order-sm-last { - -ms-flex-order: 13; - order: 13; - } - .order-sm-0 { - -ms-flex-order: 0; - order: 0; - } - .order-sm-1 { - -ms-flex-order: 1; - order: 1; - } - .order-sm-2 { - -ms-flex-order: 2; - order: 2; - } - .order-sm-3 { - -ms-flex-order: 3; - order: 3; - } - .order-sm-4 { - -ms-flex-order: 4; - order: 4; - } - .order-sm-5 { - -ms-flex-order: 5; - order: 5; - } - .order-sm-6 { - -ms-flex-order: 6; - order: 6; - } - .order-sm-7 { - -ms-flex-order: 7; - order: 7; - } - .order-sm-8 { - -ms-flex-order: 8; - order: 8; - } - .order-sm-9 { - -ms-flex-order: 9; - order: 9; - } - .order-sm-10 { - -ms-flex-order: 10; - order: 10; - } - .order-sm-11 { - -ms-flex-order: 11; - order: 11; - } - .order-sm-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 768px) { - .col-md { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-md-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-md-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-md-first { - -ms-flex-order: -1; - order: -1; - } - .order-md-last { - -ms-flex-order: 13; - order: 13; - } - .order-md-0 { - -ms-flex-order: 0; - order: 0; - } - .order-md-1 { - -ms-flex-order: 1; - order: 1; - } - .order-md-2 { - -ms-flex-order: 2; - order: 2; - } - .order-md-3 { - -ms-flex-order: 3; - order: 3; - } - .order-md-4 { - -ms-flex-order: 4; - order: 4; - } - .order-md-5 { - -ms-flex-order: 5; - order: 5; - } - .order-md-6 { - -ms-flex-order: 6; - order: 6; - } - .order-md-7 { - -ms-flex-order: 7; - order: 7; - } - .order-md-8 { - -ms-flex-order: 8; - order: 8; - } - .order-md-9 { - -ms-flex-order: 9; - order: 9; - } - .order-md-10 { - -ms-flex-order: 10; - order: 10; - } - .order-md-11 { - -ms-flex-order: 11; - order: 11; - } - .order-md-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 992px) { - .col-lg { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-lg-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-lg-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-lg-first { - -ms-flex-order: -1; - order: -1; - } - .order-lg-last { - -ms-flex-order: 13; - order: 13; - } - .order-lg-0 { - -ms-flex-order: 0; - order: 0; - } - .order-lg-1 { - -ms-flex-order: 1; - order: 1; - } - .order-lg-2 { - -ms-flex-order: 2; - order: 2; - } - .order-lg-3 { - -ms-flex-order: 3; - order: 3; - } - .order-lg-4 { - -ms-flex-order: 4; - order: 4; - } - .order-lg-5 { - -ms-flex-order: 5; - order: 5; - } - .order-lg-6 { - -ms-flex-order: 6; - order: 6; - } - .order-lg-7 { - -ms-flex-order: 7; - order: 7; - } - .order-lg-8 { - -ms-flex-order: 8; - order: 8; - } - .order-lg-9 { - -ms-flex-order: 9; - order: 9; - } - .order-lg-10 { - -ms-flex-order: 10; - order: 10; - } - .order-lg-11 { - -ms-flex-order: 11; - order: 11; - } - .order-lg-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 1200px) { - .col-xl { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-xl-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-xl-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-xl-first { - -ms-flex-order: -1; - order: -1; - } - .order-xl-last { - -ms-flex-order: 13; - order: 13; - } - .order-xl-0 { - -ms-flex-order: 0; - order: 0; - } - .order-xl-1 { - -ms-flex-order: 1; - order: 1; - } - .order-xl-2 { - -ms-flex-order: 2; - order: 2; - } - .order-xl-3 { - -ms-flex-order: 3; - order: 3; - } - .order-xl-4 { - -ms-flex-order: 4; - order: 4; - } - .order-xl-5 { - -ms-flex-order: 5; - order: 5; - } - .order-xl-6 { - -ms-flex-order: 6; - order: 6; - } - .order-xl-7 { - -ms-flex-order: 7; - order: 7; - } - .order-xl-8 { - -ms-flex-order: 8; - order: 8; - } - .order-xl-9 { - -ms-flex-order: 9; - order: 9; - } - .order-xl-10 { - -ms-flex-order: 10; - order: 10; - } - .order-xl-11 { - -ms-flex-order: 11; - order: 11; - } - .order-xl-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} - -.table { - width: 100%; - margin-bottom: 1rem; - background-color: transparent; -} - -.table th, -.table td { - padding: 0.75rem; - vertical-align: top; - border-top: 1px solid #dee2e6; -} - -.table thead th { - vertical-align: bottom; - border-bottom: 2px solid #dee2e6; -} - -.table tbody + tbody { - border-top: 2px solid #dee2e6; -} - -.table .table { - background-color: #fff; -} - -.table-sm th, -.table-sm td { - padding: 0.3rem; -} - -.table-bordered { - border: 1px solid #dee2e6; -} - -.table-bordered th, -.table-bordered td { - border: 1px solid #dee2e6; -} - -.table-bordered thead th, -.table-bordered thead td { - border-bottom-width: 2px; -} - -.table-borderless th, -.table-borderless td, -.table-borderless thead th, -.table-borderless tbody + tbody { - border: 0; -} - -.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.05); -} - -.table-hover tbody tr:hover { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-primary, -.table-primary > th, -.table-primary > td { - background-color: #b8daff; -} - -.table-hover .table-primary:hover { - background-color: #9fcdff; -} - -.table-hover .table-primary:hover > td, -.table-hover .table-primary:hover > th { - background-color: #9fcdff; -} - -.table-secondary, -.table-secondary > th, -.table-secondary > td { - background-color: #d6d8db; -} - -.table-hover .table-secondary:hover { - background-color: #c8cbcf; -} - -.table-hover .table-secondary:hover > td, -.table-hover .table-secondary:hover > th { - background-color: #c8cbcf; -} - -.table-success, -.table-success > th, -.table-success > td { - background-color: #c3e6cb; -} - -.table-hover .table-success:hover { - background-color: #b1dfbb; -} - -.table-hover .table-success:hover > td, -.table-hover .table-success:hover > th { - background-color: #b1dfbb; -} - -.table-info, -.table-info > th, -.table-info > td { - background-color: #bee5eb; -} - -.table-hover .table-info:hover { - background-color: #abdde5; -} - -.table-hover .table-info:hover > td, -.table-hover .table-info:hover > th { - background-color: #abdde5; -} - -.table-warning, -.table-warning > th, -.table-warning > td { - background-color: #ffeeba; -} - -.table-hover .table-warning:hover { - background-color: #ffe8a1; -} - -.table-hover .table-warning:hover > td, -.table-hover .table-warning:hover > th { - background-color: #ffe8a1; -} - -.table-danger, -.table-danger > th, -.table-danger > td { - background-color: #f5c6cb; -} - -.table-hover .table-danger:hover { - background-color: #f1b0b7; -} - -.table-hover .table-danger:hover > td, -.table-hover .table-danger:hover > th { - background-color: #f1b0b7; -} - -.table-light, -.table-light > th, -.table-light > td { - background-color: #fdfdfe; -} - -.table-hover .table-light:hover { - background-color: #ececf6; -} - -.table-hover .table-light:hover > td, -.table-hover .table-light:hover > th { - background-color: #ececf6; -} - -.table-dark, -.table-dark > th, -.table-dark > td { - background-color: #c6c8ca; -} - -.table-hover .table-dark:hover { - background-color: #b9bbbe; -} - -.table-hover .table-dark:hover > td, -.table-hover .table-dark:hover > th { - background-color: #b9bbbe; -} - -.table-active, -.table-active > th, -.table-active > td { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover > td, -.table-hover .table-active:hover > th { - background-color: rgba(0, 0, 0, 0.075); -} - -.table .thead-dark th { - color: #fff; - background-color: #212529; - border-color: #32383e; -} - -.table .thead-light th { - color: #495057; - background-color: #e9ecef; - border-color: #dee2e6; -} - -.table-dark { - color: #fff; - background-color: #212529; -} - -.table-dark th, -.table-dark td, -.table-dark thead th { - border-color: #32383e; -} - -.table-dark.table-bordered { - border: 0; -} - -.table-dark.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, 0.05); -} - -.table-dark.table-hover tbody tr:hover { - background-color: rgba(255, 255, 255, 0.075); -} - -@media (max-width: 575.98px) { - .table-responsive-sm { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-sm > .table-bordered { - border: 0; - } -} - -@media (max-width: 767.98px) { - .table-responsive-md { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-md > .table-bordered { - border: 0; - } -} - -@media (max-width: 991.98px) { - .table-responsive-lg { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-lg > .table-bordered { - border: 0; - } -} - -@media (max-width: 1199.98px) { - .table-responsive-xl { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-xl > .table-bordered { - border: 0; - } -} - -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; -} - -.table-responsive > .table-bordered { - border: 0; -} - -.form-control { - display: block; - width: 100%; - height: calc(2.25rem + 2px); - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - color: #495057; - background-color: #fff; - background-clip: padding-box; - border: 1px solid #ced4da; - border-radius: 0.25rem; - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media screen and (prefers-reduced-motion: reduce) { - .form-control { - transition: none; - } -} - -.form-control::-ms-expand { - background-color: transparent; - border: 0; -} - -.form-control:focus { - color: #495057; - background-color: #fff; - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.form-control::-webkit-input-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control::-moz-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control:-ms-input-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control::-ms-input-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control::placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control:disabled, .form-control[readonly] { - background-color: #e9ecef; - opacity: 1; -} - -select.form-control:focus::-ms-value { - color: #495057; - background-color: #fff; -} - -.form-control-file, -.form-control-range { - display: block; - width: 100%; -} - -.col-form-label { - padding-top: calc(0.375rem + 1px); - padding-bottom: calc(0.375rem + 1px); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5; -} - -.col-form-label-lg { - padding-top: calc(0.5rem + 1px); - padding-bottom: calc(0.5rem + 1px); - font-size: 1.25rem; - line-height: 1.5; -} - -.col-form-label-sm { - padding-top: calc(0.25rem + 1px); - padding-bottom: calc(0.25rem + 1px); - font-size: 0.875rem; - line-height: 1.5; -} - -.form-control-plaintext { - display: block; - width: 100%; - padding-top: 0.375rem; - padding-bottom: 0.375rem; - margin-bottom: 0; - line-height: 1.5; - color: #212529; - background-color: transparent; - border: solid transparent; - border-width: 1px 0; -} - -.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-right: 0; - padding-left: 0; -} - -.form-control-sm { - height: calc(1.8125rem + 2px); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.form-control-lg { - height: calc(2.875rem + 2px); - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -select.form-control[size], select.form-control[multiple] { - height: auto; -} - -textarea.form-control { - height: auto; -} - -.form-group { - margin-bottom: 1rem; -} - -.form-text { - display: block; - margin-top: 0.25rem; -} - -.form-row { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -5px; - margin-left: -5px; -} - -.form-row > .col, -.form-row > [class*="col-"] { - padding-right: 5px; - padding-left: 5px; -} - -.form-check { - position: relative; - display: block; - padding-left: 1.25rem; -} - -.form-check-input { - position: absolute; - margin-top: 0.3rem; - margin-left: -1.25rem; -} - -.form-check-input:disabled ~ .form-check-label { - color: #6c757d; -} - -.form-check-label { - margin-bottom: 0; -} - -.form-check-inline { - display: -ms-inline-flexbox; - display: inline-flex; - -ms-flex-align: center; - align-items: center; - padding-left: 0; - margin-right: 0.75rem; -} - -.form-check-inline .form-check-input { - position: static; - margin-top: 0; - margin-right: 0.3125rem; - margin-left: 0; -} - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #28a745; -} - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(40, 167, 69, 0.9); - border-radius: 0.25rem; -} - -.was-validated .form-control:valid, .form-control.is-valid, .was-validated -.custom-select:valid, -.custom-select.is-valid { - border-color: #28a745; -} - -.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated -.custom-select:valid:focus, -.custom-select.is-valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated .form-control:valid ~ .valid-feedback, -.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, -.form-control.is-valid ~ .valid-tooltip, .was-validated -.custom-select:valid ~ .valid-feedback, -.was-validated -.custom-select:valid ~ .valid-tooltip, -.custom-select.is-valid ~ .valid-feedback, -.custom-select.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .form-control-file:valid ~ .valid-feedback, -.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, -.form-control-file.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #28a745; -} - -.was-validated .form-check-input:valid ~ .valid-feedback, -.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, -.form-check-input.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { - color: #28a745; -} - -.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { - background-color: #71dd8a; -} - -.was-validated .custom-control-input:valid ~ .valid-feedback, -.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, -.custom-control-input.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { - background-color: #34ce57; -} - -.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { - border-color: #28a745; -} - -.was-validated .custom-file-input:valid ~ .custom-file-label::after, .custom-file-input.is-valid ~ .custom-file-label::after { - border-color: inherit; -} - -.was-validated .custom-file-input:valid ~ .valid-feedback, -.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, -.custom-file-input.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #dc3545; -} - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(220, 53, 69, 0.9); - border-radius: 0.25rem; -} - -.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated -.custom-select:invalid, -.custom-select.is-invalid { - border-color: #dc3545; -} - -.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated -.custom-select:invalid:focus, -.custom-select.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated .form-control:invalid ~ .invalid-feedback, -.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, -.form-control.is-invalid ~ .invalid-tooltip, .was-validated -.custom-select:invalid ~ .invalid-feedback, -.was-validated -.custom-select:invalid ~ .invalid-tooltip, -.custom-select.is-invalid ~ .invalid-feedback, -.custom-select.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .form-control-file:invalid ~ .invalid-feedback, -.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, -.form-control-file.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #dc3545; -} - -.was-validated .form-check-input:invalid ~ .invalid-feedback, -.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, -.form-check-input.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { - color: #dc3545; -} - -.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { - background-color: #efa2a9; -} - -.was-validated .custom-control-input:invalid ~ .invalid-feedback, -.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, -.custom-control-input.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { - background-color: #e4606d; -} - -.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { - border-color: #dc3545; -} - -.was-validated .custom-file-input:invalid ~ .custom-file-label::after, .custom-file-input.is-invalid ~ .custom-file-label::after { - border-color: inherit; -} - -.was-validated .custom-file-input:invalid ~ .invalid-feedback, -.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, -.custom-file-input.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.form-inline { - display: -ms-flexbox; - display: flex; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -ms-flex-align: center; - align-items: center; -} - -.form-inline .form-check { - width: 100%; -} - -@media (min-width: 576px) { - .form-inline label { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - margin-bottom: 0; - } - .form-inline .form-group { - display: -ms-flexbox; - display: flex; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -ms-flex-align: center; - align-items: center; - margin-bottom: 0; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-plaintext { - display: inline-block; - } - .form-inline .input-group, - .form-inline .custom-select { - width: auto; - } - .form-inline .form-check { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - width: auto; - padding-left: 0; - } - .form-inline .form-check-input { - position: relative; - margin-top: 0; - margin-right: 0.25rem; - margin-left: 0; - } - .form-inline .custom-control { - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - } - .form-inline .custom-control-label { - margin-bottom: 0; - } -} - -.btn { - display: inline-block; - font-weight: 400; - text-align: center; - white-space: nowrap; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: 1px solid transparent; - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: 0.25rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media screen and (prefers-reduced-motion: reduce) { - .btn { - transition: none; - } -} - -.btn:hover, .btn:focus { - text-decoration: none; -} - -.btn:focus, .btn.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.btn.disabled, .btn:disabled { - opacity: 0.65; -} - -.btn:not(:disabled):not(.disabled) { - cursor: pointer; -} - -a.btn.disabled, -fieldset:disabled a.btn { - pointer-events: none; -} - -.btn-primary { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-primary:hover { - color: #fff; - background-color: #0069d9; - border-color: #0062cc; -} - -.btn-primary:focus, .btn-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-primary.disabled, .btn-primary:disabled { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, -.show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #0062cc; - border-color: #005cbf; -} - -.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-secondary { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-secondary:hover { - color: #fff; - background-color: #5a6268; - border-color: #545b62; -} - -.btn-secondary:focus, .btn-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-secondary.disabled, .btn-secondary:disabled { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, -.show > .btn-secondary.dropdown-toggle { - color: #fff; - background-color: #545b62; - border-color: #4e555b; -} - -.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-success { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-success:hover { - color: #fff; - background-color: #218838; - border-color: #1e7e34; -} - -.btn-success:focus, .btn-success.focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-success.disabled, .btn-success:disabled { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, -.show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #1e7e34; - border-color: #1c7430; -} - -.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-info { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-info:hover { - color: #fff; - background-color: #138496; - border-color: #117a8b; -} - -.btn-info:focus, .btn-info.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-info.disabled, .btn-info:disabled { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, -.show > .btn-info.dropdown-toggle { - color: #fff; - background-color: #117a8b; - border-color: #10707f; -} - -.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-warning { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-warning:hover { - color: #212529; - background-color: #e0a800; - border-color: #d39e00; -} - -.btn-warning:focus, .btn-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-warning.disabled, .btn-warning:disabled { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, -.show > .btn-warning.dropdown-toggle { - color: #212529; - background-color: #d39e00; - border-color: #c69500; -} - -.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-danger { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:hover { - color: #fff; - background-color: #c82333; - border-color: #bd2130; -} - -.btn-danger:focus, .btn-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-danger.disabled, .btn-danger:disabled { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, -.show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #bd2130; - border-color: #b21f2d; -} - -.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-light { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-light:hover { - color: #212529; - background-color: #e2e6ea; - border-color: #dae0e5; -} - -.btn-light:focus, .btn-light.focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-light.disabled, .btn-light:disabled { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, -.show > .btn-light.dropdown-toggle { - color: #212529; - background-color: #dae0e5; - border-color: #d3d9df; -} - -.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-dark { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-dark:hover { - color: #fff; - background-color: #23272b; - border-color: #1d2124; -} - -.btn-dark:focus, .btn-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-dark.disabled, .btn-dark:disabled { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, -.show > .btn-dark.dropdown-toggle { - color: #fff; - background-color: #1d2124; - border-color: #171a1d; -} - -.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-outline-primary { - color: #007bff; - background-color: transparent; - background-image: none; - border-color: #007bff; -} - -.btn-outline-primary:hover { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:focus, .btn-outline-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #007bff; - background-color: transparent; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, -.show > .btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-outline-secondary { - color: #6c757d; - background-color: transparent; - background-image: none; - border-color: #6c757d; -} - -.btn-outline-secondary:hover { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:focus, .btn-outline-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: #6c757d; - background-color: transparent; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, -.show > .btn-outline-secondary.dropdown-toggle { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-outline-success { - color: #28a745; - background-color: transparent; - background-image: none; - border-color: #28a745; -} - -.btn-outline-success:hover { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:focus, .btn-outline-success.focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-outline-success.disabled, .btn-outline-success:disabled { - color: #28a745; - background-color: transparent; -} - -.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, -.show > .btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-outline-info { - color: #17a2b8; - background-color: transparent; - background-image: none; - border-color: #17a2b8; -} - -.btn-outline-info:hover { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:focus, .btn-outline-info.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-outline-info.disabled, .btn-outline-info:disabled { - color: #17a2b8; - background-color: transparent; -} - -.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, -.show > .btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-outline-warning { - color: #ffc107; - background-color: transparent; - background-image: none; - border-color: #ffc107; -} - -.btn-outline-warning:hover { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:focus, .btn-outline-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #ffc107; - background-color: transparent; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, -.show > .btn-outline-warning.dropdown-toggle { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-outline-danger { - color: #dc3545; - background-color: transparent; - background-image: none; - border-color: #dc3545; -} - -.btn-outline-danger:hover { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:focus, .btn-outline-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #dc3545; - background-color: transparent; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, -.show > .btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-outline-light { - color: #f8f9fa; - background-color: transparent; - background-image: none; - border-color: #f8f9fa; -} - -.btn-outline-light:hover { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:focus, .btn-outline-light.focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-outline-light.disabled, .btn-outline-light:disabled { - color: #f8f9fa; - background-color: transparent; -} - -.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, -.show > .btn-outline-light.dropdown-toggle { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-outline-dark { - color: #343a40; - background-color: transparent; - background-image: none; - border-color: #343a40; -} - -.btn-outline-dark:hover { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:focus, .btn-outline-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-outline-dark.disabled, .btn-outline-dark:disabled { - color: #343a40; - background-color: transparent; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, -.show > .btn-outline-dark.dropdown-toggle { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-link { - font-weight: 400; - color: #007bff; - background-color: transparent; -} - -.btn-link:hover { - color: #0056b3; - text-decoration: underline; - background-color: transparent; - border-color: transparent; -} - -.btn-link:focus, .btn-link.focus { - text-decoration: underline; - border-color: transparent; - box-shadow: none; -} - -.btn-link:disabled, .btn-link.disabled { - color: #6c757d; - pointer-events: none; -} - -.btn-lg, .btn-group-lg > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -.btn-sm, .btn-group-sm > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.btn-block { - display: block; - width: 100%; -} - -.btn-block + .btn-block { - margin-top: 0.5rem; -} - -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} - -.fade { - transition: opacity 0.15s linear; -} - -@media screen and (prefers-reduced-motion: reduce) { - .fade { - transition: none; - } -} - -.fade:not(.show) { - opacity: 0; -} - -.collapse:not(.show) { - display: none; -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - transition: height 0.35s ease; -} - -@media screen and (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; - } -} - -.dropup, -.dropright, -.dropdown, -.dropleft { - position: relative; -} - -.dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; -} - -.dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: 0.5rem 0; - margin: 0.125rem 0 0; - font-size: 1rem; - color: #212529; - text-align: left; - list-style: none; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; -} - -.dropdown-menu-right { - right: 0; - left: auto; -} - -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: 0.125rem; -} - -.dropup .dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0; - border-right: 0.3em solid transparent; - border-bottom: 0.3em solid; - border-left: 0.3em solid transparent; -} - -.dropup .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropright .dropdown-menu { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: 0.125rem; -} - -.dropright .dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0; - border-bottom: 0.3em solid transparent; - border-left: 0.3em solid; -} - -.dropright .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropright .dropdown-toggle::after { - vertical-align: 0; -} - -.dropleft .dropdown-menu { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: 0.125rem; -} - -.dropleft .dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; -} - -.dropleft .dropdown-toggle::after { - display: none; -} - -.dropleft .dropdown-toggle::before { - display: inline-block; - width: 0; - height: 0; - margin-right: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0.3em solid; - border-bottom: 0.3em solid transparent; -} - -.dropleft .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropleft .dropdown-toggle::before { - vertical-align: 0; -} - -.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { - right: auto; - bottom: auto; -} - -.dropdown-divider { - height: 0; - margin: 0.5rem 0; - overflow: hidden; - border-top: 1px solid #e9ecef; -} - -.dropdown-item { - display: block; - width: 100%; - padding: 0.25rem 1.5rem; - clear: both; - font-weight: 400; - color: #212529; - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; -} - -.dropdown-item:hover, .dropdown-item:focus { - color: #16181b; - text-decoration: none; - background-color: #f8f9fa; -} - -.dropdown-item.active, .dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: #007bff; -} - -.dropdown-item.disabled, .dropdown-item:disabled { - color: #6c757d; - background-color: transparent; -} - -.dropdown-menu.show { - display: block; -} - -.dropdown-header { - display: block; - padding: 0.5rem 1.5rem; - margin-bottom: 0; - font-size: 0.875rem; - color: #6c757d; - white-space: nowrap; -} - -.dropdown-item-text { - display: block; - padding: 0.25rem 1.5rem; - color: #212529; -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: -ms-inline-flexbox; - display: inline-flex; - vertical-align: middle; -} - -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - -ms-flex: 0 1 auto; - flex: 0 1 auto; -} - -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover { - z-index: 1; -} - -.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, -.btn-group-vertical > .btn:focus, -.btn-group-vertical > .btn:active, -.btn-group-vertical > .btn.active { - z-index: 1; -} - -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group, -.btn-group-vertical .btn + .btn, -.btn-group-vertical .btn + .btn-group, -.btn-group-vertical .btn-group + .btn, -.btn-group-vertical .btn-group + .btn-group { - margin-left: -1px; -} - -.btn-toolbar { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.btn-toolbar .input-group { - width: auto; -} - -.btn-group > .btn:first-child { - margin-left: 0; -} - -.btn-group > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.dropdown-toggle-split { - padding-right: 0.5625rem; - padding-left: 0.5625rem; -} - -.dropdown-toggle-split::after, -.dropup .dropdown-toggle-split::after, -.dropright .dropdown-toggle-split::after { - margin-left: 0; -} - -.dropleft .dropdown-toggle-split::before { - margin-right: 0; -} - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; -} - -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; -} - -.btn-group-vertical { - -ms-flex-direction: column; - flex-direction: column; - -ms-flex-align: start; - align-items: flex-start; - -ms-flex-pack: center; - justify-content: center; -} - -.btn-group-vertical .btn, -.btn-group-vertical .btn-group { - width: 100%; -} - -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; -} - -.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group-vertical > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.btn-group-vertical > .btn:not(:first-child), -.btn-group-vertical > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.btn-group-toggle > .btn, -.btn-group-toggle > .btn-group > .btn { - margin-bottom: 0; -} - -.btn-group-toggle > .btn input[type="radio"], -.btn-group-toggle > .btn input[type="checkbox"], -.btn-group-toggle > .btn-group > .btn input[type="radio"], -.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} - -.input-group { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: stretch; - align-items: stretch; - width: 100%; -} - -.input-group > .form-control, -.input-group > .custom-select, -.input-group > .custom-file { - position: relative; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - width: 1%; - margin-bottom: 0; -} - -.input-group > .form-control + .form-control, -.input-group > .form-control + .custom-select, -.input-group > .form-control + .custom-file, -.input-group > .custom-select + .form-control, -.input-group > .custom-select + .custom-select, -.input-group > .custom-select + .custom-file, -.input-group > .custom-file + .form-control, -.input-group > .custom-file + .custom-select, -.input-group > .custom-file + .custom-file { - margin-left: -1px; -} - -.input-group > .form-control:focus, -.input-group > .custom-select:focus, -.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { - z-index: 3; -} - -.input-group > .custom-file .custom-file-input:focus { - z-index: 4; -} - -.input-group > .form-control:not(:last-child), -.input-group > .custom-select:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .form-control:not(:first-child), -.input-group > .custom-select:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.input-group > .custom-file { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; -} - -.input-group > .custom-file:not(:last-child) .custom-file-label, -.input-group > .custom-file:not(:last-child) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .custom-file:not(:first-child) .custom-file-label { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.input-group-prepend, -.input-group-append { - display: -ms-flexbox; - display: flex; -} - -.input-group-prepend .btn, -.input-group-append .btn { - position: relative; - z-index: 2; -} - -.input-group-prepend .btn + .btn, -.input-group-prepend .btn + .input-group-text, -.input-group-prepend .input-group-text + .input-group-text, -.input-group-prepend .input-group-text + .btn, -.input-group-append .btn + .btn, -.input-group-append .btn + .input-group-text, -.input-group-append .input-group-text + .input-group-text, -.input-group-append .input-group-text + .btn { - margin-left: -1px; -} - -.input-group-prepend { - margin-right: -1px; -} - -.input-group-append { - margin-left: -1px; -} - -.input-group-text { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - padding: 0.375rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - text-align: center; - white-space: nowrap; - background-color: #e9ecef; - border: 1px solid #ced4da; - border-radius: 0.25rem; -} - -.input-group-text input[type="radio"], -.input-group-text input[type="checkbox"] { - margin-top: 0; -} - -.input-group-lg > .form-control, -.input-group-lg > .input-group-prepend > .input-group-text, -.input-group-lg > .input-group-append > .input-group-text, -.input-group-lg > .input-group-prepend > .btn, -.input-group-lg > .input-group-append > .btn { - height: calc(2.875rem + 2px); - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -.input-group-sm > .form-control, -.input-group-sm > .input-group-prepend > .input-group-text, -.input-group-sm > .input-group-append > .input-group-text, -.input-group-sm > .input-group-prepend > .btn, -.input-group-sm > .input-group-append > .btn { - height: calc(1.8125rem + 2px); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.input-group > .input-group-prepend > .btn, -.input-group > .input-group-prepend > .input-group-text, -.input-group > .input-group-append:not(:last-child) > .btn, -.input-group > .input-group-append:not(:last-child) > .input-group-text, -.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .input-group-append > .btn, -.input-group > .input-group-append > .input-group-text, -.input-group > .input-group-prepend:not(:first-child) > .btn, -.input-group > .input-group-prepend:not(:first-child) > .input-group-text, -.input-group > .input-group-prepend:first-child > .btn:not(:first-child), -.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.custom-control { - position: relative; - display: block; - min-height: 1.5rem; - padding-left: 1.5rem; -} - -.custom-control-inline { - display: -ms-inline-flexbox; - display: inline-flex; - margin-right: 1rem; -} - -.custom-control-input { - position: absolute; - z-index: -1; - opacity: 0; -} - -.custom-control-input:checked ~ .custom-control-label::before { - color: #fff; - background-color: #007bff; -} - -.custom-control-input:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-control-input:active ~ .custom-control-label::before { - color: #fff; - background-color: #b3d7ff; -} - -.custom-control-input:disabled ~ .custom-control-label { - color: #6c757d; -} - -.custom-control-input:disabled ~ .custom-control-label::before { - background-color: #e9ecef; -} - -.custom-control-label { - position: relative; - margin-bottom: 0; -} - -.custom-control-label::before { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - pointer-events: none; - content: ""; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #dee2e6; -} - -.custom-control-label::after { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - content: ""; - background-repeat: no-repeat; - background-position: center center; - background-size: 50% 50%; -} - -.custom-checkbox .custom-control-label::before { - border-radius: 0.25rem; -} - -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { - background-color: #007bff; -} - -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { - background-color: #007bff; -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); -} - -.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-radio .custom-control-label::before { - border-radius: 50%; -} - -.custom-radio .custom-control-input:checked ~ .custom-control-label::before { - background-color: #007bff; -} - -.custom-radio .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); -} - -.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-select { - display: inline-block; - width: 100%; - height: calc(2.25rem + 2px); - padding: 0.375rem 1.75rem 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - vertical-align: middle; - background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; - background-size: 8px 10px; - border: 1px solid #ced4da; - border-radius: 0.25rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.custom-select:focus { - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(128, 189, 255, 0.5); -} - -.custom-select:focus::-ms-value { - color: #495057; - background-color: #fff; -} - -.custom-select[multiple], .custom-select[size]:not([size="1"]) { - height: auto; - padding-right: 0.75rem; - background-image: none; -} - -.custom-select:disabled { - color: #6c757d; - background-color: #e9ecef; -} - -.custom-select::-ms-expand { - opacity: 0; -} - -.custom-select-sm { - height: calc(1.8125rem + 2px); - padding-top: 0.375rem; - padding-bottom: 0.375rem; - font-size: 75%; -} - -.custom-select-lg { - height: calc(2.875rem + 2px); - padding-top: 0.375rem; - padding-bottom: 0.375rem; - font-size: 125%; -} - -.custom-file { - position: relative; - display: inline-block; - width: 100%; - height: calc(2.25rem + 2px); - margin-bottom: 0; -} - -.custom-file-input { - position: relative; - z-index: 2; - width: 100%; - height: calc(2.25rem + 2px); - margin: 0; - opacity: 0; -} - -.custom-file-input:focus ~ .custom-file-label { - border-color: #80bdff; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-file-input:focus ~ .custom-file-label::after { - border-color: #80bdff; -} - -.custom-file-input:disabled ~ .custom-file-label { - background-color: #e9ecef; -} - -.custom-file-input:lang(en) ~ .custom-file-label::after { - content: "Browse"; -} - -.custom-file-label { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - height: calc(2.25rem + 2px); - padding: 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: 0.25rem; -} - -.custom-file-label::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 3; - display: block; - height: 2.25rem; - padding: 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - content: "Browse"; - background-color: #e9ecef; - border-left: 1px solid #ced4da; - border-radius: 0 0.25rem 0.25rem 0; -} - -.custom-range { - width: 100%; - padding-left: 0; - background-color: transparent; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.custom-range:focus { - outline: none; -} - -.custom-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range:focus::-ms-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range::-moz-focus-outer { - border: 0; -} - -.custom-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.25rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -webkit-appearance: none; - appearance: none; -} - -@media screen and (prefers-reduced-motion: reduce) { - .custom-range::-webkit-slider-thumb { - transition: none; - } -} - -.custom-range::-webkit-slider-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} - -.custom-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -moz-appearance: none; - appearance: none; -} - -@media screen and (prefers-reduced-motion: reduce) { - .custom-range::-moz-range-thumb { - transition: none; - } -} - -.custom-range::-moz-range-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-moz-range-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} - -.custom-range::-ms-thumb { - width: 1rem; - height: 1rem; - margin-top: 0; - margin-right: 0.2rem; - margin-left: 0.2rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - appearance: none; -} - -@media screen and (prefers-reduced-motion: reduce) { - .custom-range::-ms-thumb { - transition: none; - } -} - -.custom-range::-ms-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-ms-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: transparent; - border-color: transparent; - border-width: 0.5rem; -} - -.custom-range::-ms-fill-lower { - background-color: #dee2e6; - border-radius: 1rem; -} - -.custom-range::-ms-fill-upper { - margin-right: 15px; - background-color: #dee2e6; - border-radius: 1rem; -} - -.custom-control-label::before, -.custom-file-label, -.custom-select { - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media screen and (prefers-reduced-motion: reduce) { - .custom-control-label::before, - .custom-file-label, - .custom-select { - transition: none; - } -} - -.nav { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.nav-link { - display: block; - padding: 0.5rem 1rem; -} - -.nav-link:hover, .nav-link:focus { - text-decoration: none; -} - -.nav-link.disabled { - color: #6c757d; -} - -.nav-tabs { - border-bottom: 1px solid #dee2e6; -} - -.nav-tabs .nav-item { - margin-bottom: -1px; -} - -.nav-tabs .nav-link { - border: 1px solid transparent; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - border-color: #e9ecef #e9ecef #dee2e6; -} - -.nav-tabs .nav-link.disabled { - color: #6c757d; - background-color: transparent; - border-color: transparent; -} - -.nav-tabs .nav-link.active, -.nav-tabs .nav-item.show .nav-link { - color: #495057; - background-color: #fff; - border-color: #dee2e6 #dee2e6 #fff; -} - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.nav-pills .nav-link { - border-radius: 0.25rem; -} - -.nav-pills .nav-link.active, -.nav-pills .show > .nav-link { - color: #fff; - background-color: #007bff; -} - -.nav-fill .nav-item { - -ms-flex: 1 1 auto; - flex: 1 1 auto; - text-align: center; -} - -.nav-justified .nav-item { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - text-align: center; -} - -.tab-content > .tab-pane { - display: none; -} - -.tab-content > .active { - display: block; -} - -.navbar { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 0.5rem 1rem; -} - -.navbar > .container, -.navbar > .container-fluid { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.navbar-brand { - display: inline-block; - padding-top: 0.3125rem; - padding-bottom: 0.3125rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap; -} - -.navbar-brand:hover, .navbar-brand:focus { - text-decoration: none; -} - -.navbar-nav { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; -} - -.navbar-nav .dropdown-menu { - position: static; - float: none; -} - -.navbar-text { - display: inline-block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.navbar-collapse { - -ms-flex-preferred-size: 100%; - flex-basis: 100%; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-align: center; - align-items: center; -} - -.navbar-toggler { - padding: 0.25rem 0.75rem; - font-size: 1.25rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.navbar-toggler:hover, .navbar-toggler:focus { - text-decoration: none; -} - -.navbar-toggler:not(:disabled):not(.disabled) { - cursor: pointer; -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: no-repeat center center; - background-size: 100% 100%; -} - -@media (max-width: 575.98px) { - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 576px) { - .navbar-expand-sm { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-sm .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-sm .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-sm .navbar-toggler { - display: none; - } -} - -@media (max-width: 767.98px) { - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 768px) { - .navbar-expand-md { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-md .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-md .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-md .navbar-toggler { - display: none; - } -} - -@media (max-width: 991.98px) { - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 992px) { - .navbar-expand-lg { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-lg .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-lg .navbar-toggler { - display: none; - } -} - -@media (max-width: 1199.98px) { - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 1200px) { - .navbar-expand-xl { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-xl .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-xl .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-xl .navbar-toggler { - display: none; - } -} - -.navbar-expand { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.navbar-expand > .container, -.navbar-expand > .container-fluid { - padding-right: 0; - padding-left: 0; -} - -.navbar-expand .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; -} - -.navbar-expand .navbar-nav .dropdown-menu { - position: absolute; -} - -.navbar-expand .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; -} - -.navbar-expand > .container, -.navbar-expand > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} - -.navbar-expand .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; -} - -.navbar-expand .navbar-toggler { - display: none; -} - -.navbar-light .navbar-brand { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { - color: rgba(0, 0, 0, 0.7); -} - -.navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); -} - -.navbar-light .navbar-nav .show > .nav-link, -.navbar-light .navbar-nav .active > .nav-link, -.navbar-light .navbar-nav .nav-link.show, -.navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.5); - border-color: rgba(0, 0, 0, 0.1); -} - -.navbar-light .navbar-toggler-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); -} - -.navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-text a { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-dark .navbar-brand { - color: #fff; -} - -.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: #fff; -} - -.navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { - color: rgba(255, 255, 255, 0.75); -} - -.navbar-dark .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); -} - -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .active > .nav-link, -.navbar-dark .navbar-nav .nav-link.show, -.navbar-dark .navbar-nav .nav-link.active { - color: #fff; -} - -.navbar-dark .navbar-toggler { - color: rgba(255, 255, 255, 0.5); - border-color: rgba(255, 255, 255, 0.1); -} - -.navbar-dark .navbar-toggler-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); -} - -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-text a { - color: #fff; -} - -.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { - color: #fff; -} - -.card { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.25rem; -} - -.card > hr { - margin-right: 0; - margin-left: 0; -} - -.card > .list-group:first-child .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.card > .list-group:last-child .list-group-item:last-child { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.card-body { - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1.25rem; -} - -.card-title { - margin-bottom: 0.75rem; -} - -.card-subtitle { - margin-top: -0.375rem; - margin-bottom: 0; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-link:hover { - text-decoration: none; -} - -.card-link + .card-link { - margin-left: 1.25rem; -} - -.card-header { - padding: 0.75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0, 0, 0, 0.03); - border-bottom: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-header:first-child { - border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; -} - -.card-header + .list-group .list-group-item:first-child { - border-top: 0; -} - -.card-footer { - padding: 0.75rem 1.25rem; - background-color: rgba(0, 0, 0, 0.03); - border-top: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-footer:last-child { - border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); -} - -.card-header-tabs { - margin-right: -0.625rem; - margin-bottom: -0.75rem; - margin-left: -0.625rem; - border-bottom: 0; -} - -.card-header-pills { - margin-right: -0.625rem; - margin-left: -0.625rem; -} - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem; -} - -.card-img { - width: 100%; - border-radius: calc(0.25rem - 1px); -} - -.card-img-top { - width: 100%; - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); -} - -.card-img-bottom { - width: 100%; - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); -} - -.card-deck { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; -} - -.card-deck .card { - margin-bottom: 15px; -} - -@media (min-width: 576px) { - .card-deck { - -ms-flex-flow: row wrap; - flex-flow: row wrap; - margin-right: -15px; - margin-left: -15px; - } - .card-deck .card { - display: -ms-flexbox; - display: flex; - -ms-flex: 1 0 0%; - flex: 1 0 0%; - -ms-flex-direction: column; - flex-direction: column; - margin-right: 15px; - margin-bottom: 0; - margin-left: 15px; - } -} - -.card-group { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; -} - -.card-group > .card { - margin-bottom: 15px; -} - -@media (min-width: 576px) { - .card-group { - -ms-flex-flow: row wrap; - flex-flow: row wrap; - } - .card-group > .card { - -ms-flex: 1 0 0%; - flex: 1 0 0%; - margin-bottom: 0; - } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; - } - .card-group > .card:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - .card-group > .card:first-child .card-img-top, - .card-group > .card:first-child .card-header { - border-top-right-radius: 0; - } - .card-group > .card:first-child .card-img-bottom, - .card-group > .card:first-child .card-footer { - border-bottom-right-radius: 0; - } - .card-group > .card:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - .card-group > .card:last-child .card-img-top, - .card-group > .card:last-child .card-header { - border-top-left-radius: 0; - } - .card-group > .card:last-child .card-img-bottom, - .card-group > .card:last-child .card-footer { - border-bottom-left-radius: 0; - } - .card-group > .card:only-child { - border-radius: 0.25rem; - } - .card-group > .card:only-child .card-img-top, - .card-group > .card:only-child .card-header { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; - } - .card-group > .card:only-child .card-img-bottom, - .card-group > .card:only-child .card-footer { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - } - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) { - border-radius: 0; - } - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer { - border-radius: 0; - } -} - -.card-columns .card { - margin-bottom: 0.75rem; -} - -@media (min-width: 576px) { - .card-columns { - -webkit-column-count: 3; - -moz-column-count: 3; - column-count: 3; - -webkit-column-gap: 1.25rem; - -moz-column-gap: 1.25rem; - column-gap: 1.25rem; - orphans: 1; - widows: 1; - } - .card-columns .card { - display: inline-block; - width: 100%; - } -} - -.accordion .card:not(:first-of-type):not(:last-of-type) { - border-bottom: 0; - border-radius: 0; -} - -.accordion .card:not(:first-of-type) .card-header:first-child { - border-radius: 0; -} - -.accordion .card:first-of-type { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.accordion .card:last-of-type { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.breadcrumb { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding: 0.75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #e9ecef; - border-radius: 0.25rem; -} - -.breadcrumb-item + .breadcrumb-item { - padding-left: 0.5rem; -} - -.breadcrumb-item + .breadcrumb-item::before { - display: inline-block; - padding-right: 0.5rem; - color: #6c757d; - content: "/"; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: underline; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: none; -} - -.breadcrumb-item.active { - color: #6c757d; -} - -.pagination { - display: -ms-flexbox; - display: flex; - padding-left: 0; - list-style: none; - border-radius: 0.25rem; -} - -.page-link { - position: relative; - display: block; - padding: 0.5rem 0.75rem; - margin-left: -1px; - line-height: 1.25; - color: #007bff; - background-color: #fff; - border: 1px solid #dee2e6; -} - -.page-link:hover { - z-index: 2; - color: #0056b3; - text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6; -} - -.page-link:focus { - z-index: 2; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.page-link:not(:disabled):not(.disabled) { - cursor: pointer; -} - -.page-item:first-child .page-link { - margin-left: 0; - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.page-item:last-child .page-link { - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; -} - -.page-item.active .page-link { - z-index: 1; - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.page-item.disabled .page-link { - color: #6c757d; - pointer-events: none; - cursor: auto; - background-color: #fff; - border-color: #dee2e6; -} - -.pagination-lg .page-link { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - line-height: 1.5; -} - -.pagination-lg .page-item:first-child .page-link { - border-top-left-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; -} - -.pagination-lg .page-item:last-child .page-link { - border-top-right-radius: 0.3rem; - border-bottom-right-radius: 0.3rem; -} - -.pagination-sm .page-link { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; -} - -.pagination-sm .page-item:first-child .page-link { - border-top-left-radius: 0.2rem; - border-bottom-left-radius: 0.2rem; -} - -.pagination-sm .page-item:last-child .page-link { - border-top-right-radius: 0.2rem; - border-bottom-right-radius: 0.2rem; -} - -.badge { - display: inline-block; - padding: 0.25em 0.4em; - font-size: 75%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25rem; -} - -.badge:empty { - display: none; -} - -.btn .badge { - position: relative; - top: -1px; -} - -.badge-pill { - padding-right: 0.6em; - padding-left: 0.6em; - border-radius: 10rem; -} - -.badge-primary { - color: #fff; - background-color: #007bff; -} - -.badge-primary[href]:hover, .badge-primary[href]:focus { - color: #fff; - text-decoration: none; - background-color: #0062cc; -} - -.badge-secondary { - color: #fff; - background-color: #6c757d; -} - -.badge-secondary[href]:hover, .badge-secondary[href]:focus { - color: #fff; - text-decoration: none; - background-color: #545b62; -} - -.badge-success { - color: #fff; - background-color: #28a745; -} - -.badge-success[href]:hover, .badge-success[href]:focus { - color: #fff; - text-decoration: none; - background-color: #1e7e34; -} - -.badge-info { - color: #fff; - background-color: #17a2b8; -} - -.badge-info[href]:hover, .badge-info[href]:focus { - color: #fff; - text-decoration: none; - background-color: #117a8b; -} - -.badge-warning { - color: #212529; - background-color: #ffc107; -} - -.badge-warning[href]:hover, .badge-warning[href]:focus { - color: #212529; - text-decoration: none; - background-color: #d39e00; -} - -.badge-danger { - color: #fff; - background-color: #dc3545; -} - -.badge-danger[href]:hover, .badge-danger[href]:focus { - color: #fff; - text-decoration: none; - background-color: #bd2130; -} - -.badge-light { - color: #212529; - background-color: #f8f9fa; -} - -.badge-light[href]:hover, .badge-light[href]:focus { - color: #212529; - text-decoration: none; - background-color: #dae0e5; -} - -.badge-dark { - color: #fff; - background-color: #343a40; -} - -.badge-dark[href]:hover, .badge-dark[href]:focus { - color: #fff; - text-decoration: none; - background-color: #1d2124; -} - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 0.3rem; -} - -@media (min-width: 576px) { - .jumbotron { - padding: 4rem 2rem; - } -} - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0; -} - -.alert { - position: relative; - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.alert-heading { - color: inherit; -} - -.alert-link { - font-weight: 700; -} - -.alert-dismissible { - padding-right: 4rem; -} - -.alert-dismissible .close { - position: absolute; - top: 0; - right: 0; - padding: 0.75rem 1.25rem; - color: inherit; -} - -.alert-primary { - color: #004085; - background-color: #cce5ff; - border-color: #b8daff; -} - -.alert-primary hr { - border-top-color: #9fcdff; -} - -.alert-primary .alert-link { - color: #002752; -} - -.alert-secondary { - color: #383d41; - background-color: #e2e3e5; - border-color: #d6d8db; -} - -.alert-secondary hr { - border-top-color: #c8cbcf; -} - -.alert-secondary .alert-link { - color: #202326; -} - -.alert-success { - color: #155724; - background-color: #d4edda; - border-color: #c3e6cb; -} - -.alert-success hr { - border-top-color: #b1dfbb; -} - -.alert-success .alert-link { - color: #0b2e13; -} - -.alert-info { - color: #0c5460; - background-color: #d1ecf1; - border-color: #bee5eb; -} - -.alert-info hr { - border-top-color: #abdde5; -} - -.alert-info .alert-link { - color: #062c33; -} - -.alert-warning { - color: #856404; - background-color: #fff3cd; - border-color: #ffeeba; -} - -.alert-warning hr { - border-top-color: #ffe8a1; -} - -.alert-warning .alert-link { - color: #533f03; -} - -.alert-danger { - color: #721c24; - background-color: #f8d7da; - border-color: #f5c6cb; -} - -.alert-danger hr { - border-top-color: #f1b0b7; -} - -.alert-danger .alert-link { - color: #491217; -} - -.alert-light { - color: #818182; - background-color: #fefefe; - border-color: #fdfdfe; -} - -.alert-light hr { - border-top-color: #ececf6; -} - -.alert-light .alert-link { - color: #686868; -} - -.alert-dark { - color: #1b1e21; - background-color: #d6d8d9; - border-color: #c6c8ca; -} - -.alert-dark hr { - border-top-color: #b9bbbe; -} - -.alert-dark .alert-link { - color: #040505; -} - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -@keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -.progress { - display: -ms-flexbox; - display: flex; - height: 1rem; - overflow: hidden; - font-size: 0.75rem; - background-color: #e9ecef; - border-radius: 0.25rem; -} - -.progress-bar { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - -ms-flex-pack: center; - justify-content: center; - color: #fff; - text-align: center; - white-space: nowrap; - background-color: #007bff; - transition: width 0.6s ease; -} - -@media screen and (prefers-reduced-motion: reduce) { - .progress-bar { - transition: none; - } -} - -.progress-bar-striped { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 1rem 1rem; -} - -.progress-bar-animated { - -webkit-animation: progress-bar-stripes 1s linear infinite; - animation: progress-bar-stripes 1s linear infinite; -} - -.media { - display: -ms-flexbox; - display: flex; - -ms-flex-align: start; - align-items: flex-start; -} - -.media-body { - -ms-flex: 1; - flex: 1; -} - -.list-group { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; -} - -.list-group-item-action { - width: 100%; - color: #495057; - text-align: inherit; -} - -.list-group-item-action:hover, .list-group-item-action:focus { - color: #495057; - text-decoration: none; - background-color: #f8f9fa; -} - -.list-group-item-action:active { - color: #212529; - background-color: #e9ecef; -} - -.list-group-item { - position: relative; - display: block; - padding: 0.75rem 1.25rem; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); -} - -.list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.list-group-item:hover, .list-group-item:focus { - z-index: 1; - text-decoration: none; -} - -.list-group-item.disabled, .list-group-item:disabled { - color: #6c757d; - background-color: #fff; -} - -.list-group-item.active { - z-index: 2; - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.list-group-flush .list-group-item { - border-right: 0; - border-left: 0; - border-radius: 0; -} - -.list-group-flush:first-child .list-group-item:first-child { - border-top: 0; -} - -.list-group-flush:last-child .list-group-item:last-child { - border-bottom: 0; -} - -.list-group-item-primary { - color: #004085; - background-color: #b8daff; -} - -.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { - color: #004085; - background-color: #9fcdff; -} - -.list-group-item-primary.list-group-item-action.active { - color: #fff; - background-color: #004085; - border-color: #004085; -} - -.list-group-item-secondary { - color: #383d41; - background-color: #d6d8db; -} - -.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { - color: #383d41; - background-color: #c8cbcf; -} - -.list-group-item-secondary.list-group-item-action.active { - color: #fff; - background-color: #383d41; - border-color: #383d41; -} - -.list-group-item-success { - color: #155724; - background-color: #c3e6cb; -} - -.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { - color: #155724; - background-color: #b1dfbb; -} - -.list-group-item-success.list-group-item-action.active { - color: #fff; - background-color: #155724; - border-color: #155724; -} - -.list-group-item-info { - color: #0c5460; - background-color: #bee5eb; -} - -.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { - color: #0c5460; - background-color: #abdde5; -} - -.list-group-item-info.list-group-item-action.active { - color: #fff; - background-color: #0c5460; - border-color: #0c5460; -} - -.list-group-item-warning { - color: #856404; - background-color: #ffeeba; -} - -.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { - color: #856404; - background-color: #ffe8a1; -} - -.list-group-item-warning.list-group-item-action.active { - color: #fff; - background-color: #856404; - border-color: #856404; -} - -.list-group-item-danger { - color: #721c24; - background-color: #f5c6cb; -} - -.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { - color: #721c24; - background-color: #f1b0b7; -} - -.list-group-item-danger.list-group-item-action.active { - color: #fff; - background-color: #721c24; - border-color: #721c24; -} - -.list-group-item-light { - color: #818182; - background-color: #fdfdfe; -} - -.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { - color: #818182; - background-color: #ececf6; -} - -.list-group-item-light.list-group-item-action.active { - color: #fff; - background-color: #818182; - border-color: #818182; -} - -.list-group-item-dark { - color: #1b1e21; - background-color: #c6c8ca; -} - -.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { - color: #1b1e21; - background-color: #b9bbbe; -} - -.list-group-item-dark.list-group-item-action.active { - color: #fff; - background-color: #1b1e21; - border-color: #1b1e21; -} - -.close { - float: right; - font-size: 1.5rem; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: .5; -} - -.close:not(:disabled):not(.disabled) { - cursor: pointer; -} - -.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { - color: #000; - text-decoration: none; - opacity: .75; -} - -button.close { - padding: 0; - background-color: transparent; - border: 0; - -webkit-appearance: none; -} - -.modal-open { - overflow: hidden; -} - -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} - -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - display: none; - overflow: hidden; - outline: 0; -} - -.modal-dialog { - position: relative; - width: auto; - margin: 0.5rem; - pointer-events: none; -} - -.modal.fade .modal-dialog { - transition: -webkit-transform 0.3s ease-out; - transition: transform 0.3s ease-out; - transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; - -webkit-transform: translate(0, -25%); - transform: translate(0, -25%); -} - -@media screen and (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; - } -} - -.modal.show .modal-dialog { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); -} - -.modal-dialog-centered { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - min-height: calc(100% - (0.5rem * 2)); -} - -.modal-dialog-centered::before { - display: block; - height: calc(100vh - (0.5rem * 2)); - content: ""; -} - -.modal-content { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - width: 100%; - pointer-events: auto; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; - outline: 0; -} - -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000; -} - -.modal-backdrop.fade { - opacity: 0; -} - -.modal-backdrop.show { - opacity: 0.5; -} - -.modal-header { - display: -ms-flexbox; - display: flex; - -ms-flex-align: start; - align-items: flex-start; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 1rem; - border-bottom: 1px solid #e9ecef; - border-top-left-radius: 0.3rem; - border-top-right-radius: 0.3rem; -} - -.modal-header .close { - padding: 1rem; - margin: -1rem -1rem -1rem auto; -} - -.modal-title { - margin-bottom: 0; - line-height: 1.5; -} - -.modal-body { - position: relative; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1rem; -} - -.modal-footer { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: end; - justify-content: flex-end; - padding: 1rem; - border-top: 1px solid #e9ecef; -} - -.modal-footer > :not(:first-child) { - margin-left: .25rem; -} - -.modal-footer > :not(:last-child) { - margin-right: .25rem; -} - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} - -@media (min-width: 576px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto; - } - .modal-dialog-centered { - min-height: calc(100% - (1.75rem * 2)); - } - .modal-dialog-centered::before { - height: calc(100vh - (1.75rem * 2)); - } - .modal-sm { - max-width: 300px; - } -} - -@media (min-width: 992px) { - .modal-lg { - max-width: 800px; - } -} - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; -} - -.tooltip.show { - opacity: 0.9; -} - -.tooltip .arrow { - position: absolute; - display: block; - width: 0.8rem; - height: 0.4rem; -} - -.tooltip .arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { - padding: 0.4rem 0; -} - -.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { - bottom: 0; -} - -.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { - top: 0; - border-width: 0.4rem 0.4rem 0; - border-top-color: #000; -} - -.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { - padding: 0 0.4rem; -} - -.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { - left: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { - right: 0; - border-width: 0.4rem 0.4rem 0.4rem 0; - border-right-color: #000; -} - -.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { - padding: 0.4rem 0; -} - -.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { - top: 0; -} - -.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { - bottom: 0; - border-width: 0 0.4rem 0.4rem; - border-bottom-color: #000; -} - -.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { - padding: 0 0.4rem; -} - -.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { - right: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { - left: 0; - border-width: 0.4rem 0 0.4rem 0.4rem; - border-left-color: #000; -} - -.tooltip-inner { - max-width: 200px; - padding: 0.25rem 0.5rem; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 0.25rem; -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; -} - -.popover .arrow { - position: absolute; - display: block; - width: 1rem; - height: 0.5rem; - margin: 0 0.3rem; -} - -.popover .arrow::before, .popover .arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-popover-top, .bs-popover-auto[x-placement^="top"] { - margin-bottom: 0.5rem; -} - -.bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow { - bottom: calc((0.5rem + 1px) * -1); -} - -.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before, -.bs-popover-top .arrow::after, -.bs-popover-auto[x-placement^="top"] .arrow::after { - border-width: 0.5rem 0.5rem 0; -} - -.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before { - bottom: 0; - border-top-color: rgba(0, 0, 0, 0.25); -} - - -.bs-popover-top .arrow::after, -.bs-popover-auto[x-placement^="top"] .arrow::after { - bottom: 1px; - border-top-color: #fff; -} - -.bs-popover-right, .bs-popover-auto[x-placement^="right"] { - margin-left: 0.5rem; -} - -.bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow { - left: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before, -.bs-popover-right .arrow::after, -.bs-popover-auto[x-placement^="right"] .arrow::after { - border-width: 0.5rem 0.5rem 0.5rem 0; -} - -.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before { - left: 0; - border-right-color: rgba(0, 0, 0, 0.25); -} - - -.bs-popover-right .arrow::after, -.bs-popover-auto[x-placement^="right"] .arrow::after { - left: 1px; - border-right-color: #fff; -} - -.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { - margin-top: 0.5rem; -} - -.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow { - top: calc((0.5rem + 1px) * -1); -} - -.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before, -.bs-popover-bottom .arrow::after, -.bs-popover-auto[x-placement^="bottom"] .arrow::after { - border-width: 0 0.5rem 0.5rem 0.5rem; -} - -.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before { - top: 0; - border-bottom-color: rgba(0, 0, 0, 0.25); -} - - -.bs-popover-bottom .arrow::after, -.bs-popover-auto[x-placement^="bottom"] .arrow::after { - top: 1px; - border-bottom-color: #fff; -} - -.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 1rem; - margin-left: -0.5rem; - content: ""; - border-bottom: 1px solid #f7f7f7; -} - -.bs-popover-left, .bs-popover-auto[x-placement^="left"] { - margin-right: 0.5rem; -} - -.bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow { - right: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before, -.bs-popover-left .arrow::after, -.bs-popover-auto[x-placement^="left"] .arrow::after { - border-width: 0.5rem 0 0.5rem 0.5rem; -} - -.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before { - right: 0; - border-left-color: rgba(0, 0, 0, 0.25); -} - - -.bs-popover-left .arrow::after, -.bs-popover-auto[x-placement^="left"] .arrow::after { - right: 1px; - border-left-color: #fff; -} - -.popover-header { - padding: 0.5rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - color: inherit; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); -} - -.popover-header:empty { - display: none; -} - -.popover-body { - padding: 0.5rem 0.75rem; - color: #212529; -} - -.carousel { - position: relative; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} - -.carousel-item { - position: relative; - display: none; - -ms-flex-align: center; - align-items: center; - width: 100%; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - perspective: 1000px; -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; - transition: -webkit-transform 0.6s ease; - transition: transform 0.6s ease; - transition: transform 0.6s ease, -webkit-transform 0.6s ease; -} - -@media screen and (prefers-reduced-motion: reduce) { - .carousel-item.active, - .carousel-item-next, - .carousel-item-prev { - transition: none; - } -} - -.carousel-item-next, -.carousel-item-prev { - position: absolute; - top: 0; -} - -.carousel-item-next.carousel-item-left, -.carousel-item-prev.carousel-item-right { - -webkit-transform: translateX(0); - transform: translateX(0); -} - -@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { - .carousel-item-next.carousel-item-left, - .carousel-item-prev.carousel-item-right { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.carousel-item-next, -.active.carousel-item-right { - -webkit-transform: translateX(100%); - transform: translateX(100%); -} - -@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { - .carousel-item-next, - .active.carousel-item-right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -.carousel-item-prev, -.active.carousel-item-left { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} - -@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { - .carousel-item-prev, - .active.carousel-item-left { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.carousel-fade .carousel-item { - opacity: 0; - transition-duration: .6s; - transition-property: opacity; -} - -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-left, -.carousel-fade .carousel-item-prev.carousel-item-right { - opacity: 1; -} - -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-right { - opacity: 0; -} - -.carousel-fade .carousel-item-next, -.carousel-fade .carousel-item-prev, -.carousel-fade .carousel-item.active, -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-prev { - -webkit-transform: translateX(0); - transform: translateX(0); -} - -@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { - .carousel-fade .carousel-item-next, - .carousel-fade .carousel-item-prev, - .carousel-fade .carousel-item.active, - .carousel-fade .active.carousel-item-left, - .carousel-fade .active.carousel-item-prev { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - width: 15%; - color: #fff; - text-align: center; - opacity: 0.5; -} - -.carousel-control-prev:hover, .carousel-control-prev:focus, -.carousel-control-next:hover, -.carousel-control-next:focus { - color: #fff; - text-decoration: none; - outline: 0; - opacity: .9; -} - -.carousel-control-prev { - left: 0; -} - -.carousel-control-next { - right: 0; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 20px; - height: 20px; - background: transparent no-repeat center center; - background-size: 100% 100%; -} - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 10px; - left: 0; - z-index: 15; - display: -ms-flexbox; - display: flex; - -ms-flex-pack: center; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none; -} - -.carousel-indicators li { - position: relative; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: rgba(255, 255, 255, 0.5); -} - -.carousel-indicators li::before { - position: absolute; - top: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; -} - -.carousel-indicators li::after { - position: absolute; - bottom: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; -} - -.carousel-indicators .active { - background-color: #fff; -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; -} - -.align-baseline { - vertical-align: baseline !important; -} - -.align-top { - vertical-align: top !important; -} - -.align-middle { - vertical-align: middle !important; -} - -.align-bottom { - vertical-align: bottom !important; -} - -.align-text-bottom { - vertical-align: text-bottom !important; -} - -.align-text-top { - vertical-align: text-top !important; -} - -.bg-primary { - background-color: #007bff !important; -} - -a.bg-primary:hover, a.bg-primary:focus, -button.bg-primary:hover, -button.bg-primary:focus { - background-color: #0062cc !important; -} - -.bg-secondary { - background-color: #6c757d !important; -} - -a.bg-secondary:hover, a.bg-secondary:focus, -button.bg-secondary:hover, -button.bg-secondary:focus { - background-color: #545b62 !important; -} - -.bg-success { - background-color: #28a745 !important; -} - -a.bg-success:hover, a.bg-success:focus, -button.bg-success:hover, -button.bg-success:focus { - background-color: #1e7e34 !important; -} - -.bg-info { - background-color: #17a2b8 !important; -} - -a.bg-info:hover, a.bg-info:focus, -button.bg-info:hover, -button.bg-info:focus { - background-color: #117a8b !important; -} - -.bg-warning { - background-color: #ffc107 !important; -} - -a.bg-warning:hover, a.bg-warning:focus, -button.bg-warning:hover, -button.bg-warning:focus { - background-color: #d39e00 !important; -} - -.bg-danger { - background-color: #dc3545 !important; -} - -a.bg-danger:hover, a.bg-danger:focus, -button.bg-danger:hover, -button.bg-danger:focus { - background-color: #bd2130 !important; -} - -.bg-light { - background-color: #f8f9fa !important; -} - -a.bg-light:hover, a.bg-light:focus, -button.bg-light:hover, -button.bg-light:focus { - background-color: #dae0e5 !important; -} - -.bg-dark { - background-color: #343a40 !important; -} - -a.bg-dark:hover, a.bg-dark:focus, -button.bg-dark:hover, -button.bg-dark:focus { - background-color: #1d2124 !important; -} - -.bg-white { - background-color: #fff !important; -} - -.bg-transparent { - background-color: transparent !important; -} - -.border { - border: 1px solid #dee2e6 !important; -} - -.border-top { - border-top: 1px solid #dee2e6 !important; -} - -.border-right { - border-right: 1px solid #dee2e6 !important; -} - -.border-bottom { - border-bottom: 1px solid #dee2e6 !important; -} - -.border-left { - border-left: 1px solid #dee2e6 !important; -} - -.border-0 { - border: 0 !important; -} - -.border-top-0 { - border-top: 0 !important; -} - -.border-right-0 { - border-right: 0 !important; -} - -.border-bottom-0 { - border-bottom: 0 !important; -} - -.border-left-0 { - border-left: 0 !important; -} - -.border-primary { - border-color: #007bff !important; -} - -.border-secondary { - border-color: #6c757d !important; -} - -.border-success { - border-color: #28a745 !important; -} - -.border-info { - border-color: #17a2b8 !important; -} - -.border-warning { - border-color: #ffc107 !important; -} - -.border-danger { - border-color: #dc3545 !important; -} - -.border-light { - border-color: #f8f9fa !important; -} - -.border-dark { - border-color: #343a40 !important; -} - -.border-white { - border-color: #fff !important; -} - -.rounded { - border-radius: 0.25rem !important; -} - -.rounded-top { - border-top-left-radius: 0.25rem !important; - border-top-right-radius: 0.25rem !important; -} - -.rounded-right { - border-top-right-radius: 0.25rem !important; - border-bottom-right-radius: 0.25rem !important; -} - -.rounded-bottom { - border-bottom-right-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; -} - -.rounded-left { - border-top-left-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; -} - -.rounded-circle { - border-radius: 50% !important; -} - -.rounded-0 { - border-radius: 0 !important; -} - -.clearfix::after { - display: block; - clear: both; - content: ""; -} - -.d-none { - display: none !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-table { - display: table !important; -} - -.d-table-row { - display: table-row !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: -ms-flexbox !important; - display: flex !important; -} - -.d-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; -} - -@media (min-width: 576px) { - .d-sm-none { - display: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-row { - display: table-row !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-sm-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 768px) { - .d-md-none { - display: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-row { - display: table-row !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-md-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 992px) { - .d-lg-none { - display: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-row { - display: table-row !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-lg-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-row { - display: table-row !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-xl-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media print { - .d-print-none { - display: none !important; - } - .d-print-inline { - display: inline !important; - } - .d-print-inline-block { - display: inline-block !important; - } - .d-print-block { - display: block !important; - } - .d-print-table { - display: table !important; - } - .d-print-table-row { - display: table-row !important; - } - .d-print-table-cell { - display: table-cell !important; - } - .d-print-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-print-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; -} - -.embed-responsive::before { - display: block; - content: ""; -} - -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} - -.embed-responsive-21by9::before { - padding-top: 42.857143%; -} - -.embed-responsive-16by9::before { - padding-top: 56.25%; -} - -.embed-responsive-4by3::before { - padding-top: 75%; -} - -.embed-responsive-1by1::before { - padding-top: 100%; -} - -.flex-row { - -ms-flex-direction: row !important; - flex-direction: row !important; -} - -.flex-column { - -ms-flex-direction: column !important; - flex-direction: column !important; -} - -.flex-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; -} - -.flex-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; -} - -.flex-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; -} - -.flex-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; -} - -.flex-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; -} - -.flex-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; -} - -.flex-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; -} - -.flex-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; -} - -.justify-content-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; -} - -.justify-content-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; -} - -.justify-content-center { - -ms-flex-pack: center !important; - justify-content: center !important; -} - -.justify-content-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; -} - -.justify-content-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; -} - -.align-items-start { - -ms-flex-align: start !important; - align-items: flex-start !important; -} - -.align-items-end { - -ms-flex-align: end !important; - align-items: flex-end !important; -} - -.align-items-center { - -ms-flex-align: center !important; - align-items: center !important; -} - -.align-items-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; -} - -.align-items-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; -} - -.align-content-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; -} - -.align-content-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; -} - -.align-content-center { - -ms-flex-line-pack: center !important; - align-content: center !important; -} - -.align-content-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; -} - -.align-content-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; -} - -.align-content-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; -} - -.align-self-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; -} - -.align-self-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; -} - -.align-self-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; -} - -.align-self-center { - -ms-flex-item-align: center !important; - align-self: center !important; -} - -.align-self-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; -} - -.align-self-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; -} - -@media (min-width: 576px) { - .flex-sm-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-sm-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-sm-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-sm-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-sm-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-sm-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-sm-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-sm-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-sm-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-sm-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-sm-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-sm-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-sm-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-sm-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-sm-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-sm-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-sm-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-sm-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-sm-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-sm-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-sm-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-sm-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-sm-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-sm-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-sm-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-sm-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-sm-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-sm-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-sm-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-sm-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-sm-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 768px) { - .flex-md-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-md-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-md-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-md-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-md-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-md-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-md-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-md-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-md-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-md-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-md-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-md-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-md-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-md-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-md-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-md-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-md-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-md-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-md-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-md-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-md-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-md-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-md-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-md-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-md-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-md-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-md-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-md-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-md-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-md-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-md-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-md-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 992px) { - .flex-lg-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-lg-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-lg-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-lg-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-lg-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-lg-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-lg-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-lg-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-lg-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-lg-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-lg-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-lg-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-lg-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-lg-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-lg-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-lg-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-lg-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-lg-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-lg-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-lg-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-lg-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-lg-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-lg-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-lg-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-lg-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-lg-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-lg-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-lg-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-lg-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-lg-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-lg-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 1200px) { - .flex-xl-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-xl-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-xl-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-xl-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-xl-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-xl-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-xl-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-xl-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-xl-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-xl-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-xl-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-xl-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-xl-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-xl-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-xl-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-xl-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-xl-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-xl-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-xl-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-xl-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-xl-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-xl-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-xl-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-xl-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-xl-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-xl-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-xl-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-xl-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-xl-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-xl-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-xl-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.float-none { - float: none !important; -} - -@media (min-width: 576px) { - .float-sm-left { - float: left !important; - } - .float-sm-right { - float: right !important; - } - .float-sm-none { - float: none !important; - } -} - -@media (min-width: 768px) { - .float-md-left { - float: left !important; - } - .float-md-right { - float: right !important; - } - .float-md-none { - float: none !important; - } -} - -@media (min-width: 992px) { - .float-lg-left { - float: left !important; - } - .float-lg-right { - float: right !important; - } - .float-lg-none { - float: none !important; - } -} - -@media (min-width: 1200px) { - .float-xl-left { - float: left !important; - } - .float-xl-right { - float: right !important; - } - .float-xl-none { - float: none !important; - } -} - -.position-static { - position: static !important; -} - -.position-relative { - position: relative !important; -} - -.position-absolute { - position: absolute !important; -} - -.position-fixed { - position: fixed !important; -} - -.position-sticky { - position: -webkit-sticky !important; - position: sticky !important; -} - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; -} - -@supports ((position: -webkit-sticky) or (position: sticky)) { - .sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; -} - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal; -} - -.shadow-sm { - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; -} - -.shadow { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; -} - -.shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; -} - -.shadow-none { - box-shadow: none !important; -} - -.w-25 { - width: 25% !important; -} - -.w-50 { - width: 50% !important; -} - -.w-75 { - width: 75% !important; -} - -.w-100 { - width: 100% !important; -} - -.w-auto { - width: auto !important; -} - -.h-25 { - height: 25% !important; -} - -.h-50 { - height: 50% !important; -} - -.h-75 { - height: 75% !important; -} - -.h-100 { - height: 100% !important; -} - -.h-auto { - height: auto !important; -} - -.mw-100 { - max-width: 100% !important; -} - -.mh-100 { - max-height: 100% !important; -} - -.m-0 { - margin: 0 !important; -} - -.mt-0, -.my-0 { - margin-top: 0 !important; -} - -.mr-0, -.mx-0 { - margin-right: 0 !important; -} - -.mb-0, -.my-0 { - margin-bottom: 0 !important; -} - -.ml-0, -.mx-0 { - margin-left: 0 !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1, -.my-1 { - margin-top: 0.25rem !important; -} - -.mr-1, -.mx-1 { - margin-right: 0.25rem !important; -} - -.mb-1, -.my-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1, -.mx-1 { - margin-left: 0.25rem !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2, -.my-2 { - margin-top: 0.5rem !important; -} - -.mr-2, -.mx-2 { - margin-right: 0.5rem !important; -} - -.mb-2, -.my-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2, -.mx-2 { - margin-left: 0.5rem !important; -} - -.m-3 { - margin: 1rem !important; -} - -.mt-3, -.my-3 { - margin-top: 1rem !important; -} - -.mr-3, -.mx-3 { - margin-right: 1rem !important; -} - -.mb-3, -.my-3 { - margin-bottom: 1rem !important; -} - -.ml-3, -.mx-3 { - margin-left: 1rem !important; -} - -.m-4 { - margin: 1.5rem !important; -} - -.mt-4, -.my-4 { - margin-top: 1.5rem !important; -} - -.mr-4, -.mx-4 { - margin-right: 1.5rem !important; -} - -.mb-4, -.my-4 { - margin-bottom: 1.5rem !important; -} - -.ml-4, -.mx-4 { - margin-left: 1.5rem !important; -} - -.m-5 { - margin: 3rem !important; -} - -.mt-5, -.my-5 { - margin-top: 3rem !important; -} - -.mr-5, -.mx-5 { - margin-right: 3rem !important; -} - -.mb-5, -.my-5 { - margin-bottom: 3rem !important; -} - -.ml-5, -.mx-5 { - margin-left: 3rem !important; -} - -.p-0 { - padding: 0 !important; -} - -.pt-0, -.py-0 { - padding-top: 0 !important; -} - -.pr-0, -.px-0 { - padding-right: 0 !important; -} - -.pb-0, -.py-0 { - padding-bottom: 0 !important; -} - -.pl-0, -.px-0 { - padding-left: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1, -.py-1 { - padding-top: 0.25rem !important; -} - -.pr-1, -.px-1 { - padding-right: 0.25rem !important; -} - -.pb-1, -.py-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1, -.px-1 { - padding-left: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2, -.py-2 { - padding-top: 0.5rem !important; -} - -.pr-2, -.px-2 { - padding-right: 0.5rem !important; -} - -.pb-2, -.py-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2, -.px-2 { - padding-left: 0.5rem !important; -} - -.p-3 { - padding: 1rem !important; -} - -.pt-3, -.py-3 { - padding-top: 1rem !important; -} - -.pr-3, -.px-3 { - padding-right: 1rem !important; -} - -.pb-3, -.py-3 { - padding-bottom: 1rem !important; -} - -.pl-3, -.px-3 { - padding-left: 1rem !important; -} - -.p-4 { - padding: 1.5rem !important; -} - -.pt-4, -.py-4 { - padding-top: 1.5rem !important; -} - -.pr-4, -.px-4 { - padding-right: 1.5rem !important; -} - -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important; -} - -.pl-4, -.px-4 { - padding-left: 1.5rem !important; -} - -.p-5 { - padding: 3rem !important; -} - -.pt-5, -.py-5 { - padding-top: 3rem !important; -} - -.pr-5, -.px-5 { - padding-right: 3rem !important; -} - -.pb-5, -.py-5 { - padding-bottom: 3rem !important; -} - -.pl-5, -.px-5 { - padding-left: 3rem !important; -} - -.m-auto { - margin: auto !important; -} - -.mt-auto, -.my-auto { - margin-top: auto !important; -} - -.mr-auto, -.mx-auto { - margin-right: auto !important; -} - -.mb-auto, -.my-auto { - margin-bottom: auto !important; -} - -.ml-auto, -.mx-auto { - margin-left: auto !important; -} - -@media (min-width: 576px) { - .m-sm-0 { - margin: 0 !important; - } - .mt-sm-0, - .my-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0, - .mx-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0, - .my-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0, - .mx-sm-0 { - margin-left: 0 !important; - } - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1, - .my-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1, - .mx-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1, - .my-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1, - .mx-sm-1 { - margin-left: 0.25rem !important; - } - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2, - .my-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2, - .mx-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2, - .my-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2, - .mx-sm-2 { - margin-left: 0.5rem !important; - } - .m-sm-3 { - margin: 1rem !important; - } - .mt-sm-3, - .my-sm-3 { - margin-top: 1rem !important; - } - .mr-sm-3, - .mx-sm-3 { - margin-right: 1rem !important; - } - .mb-sm-3, - .my-sm-3 { - margin-bottom: 1rem !important; - } - .ml-sm-3, - .mx-sm-3 { - margin-left: 1rem !important; - } - .m-sm-4 { - margin: 1.5rem !important; - } - .mt-sm-4, - .my-sm-4 { - margin-top: 1.5rem !important; - } - .mr-sm-4, - .mx-sm-4 { - margin-right: 1.5rem !important; - } - .mb-sm-4, - .my-sm-4 { - margin-bottom: 1.5rem !important; - } - .ml-sm-4, - .mx-sm-4 { - margin-left: 1.5rem !important; - } - .m-sm-5 { - margin: 3rem !important; - } - .mt-sm-5, - .my-sm-5 { - margin-top: 3rem !important; - } - .mr-sm-5, - .mx-sm-5 { - margin-right: 3rem !important; - } - .mb-sm-5, - .my-sm-5 { - margin-bottom: 3rem !important; - } - .ml-sm-5, - .mx-sm-5 { - margin-left: 3rem !important; - } - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0, - .py-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0, - .px-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0, - .py-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0, - .px-sm-0 { - padding-left: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1, - .py-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1, - .px-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1, - .py-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1, - .px-sm-1 { - padding-left: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2, - .py-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2, - .px-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2, - .py-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2, - .px-sm-2 { - padding-left: 0.5rem !important; - } - .p-sm-3 { - padding: 1rem !important; - } - .pt-sm-3, - .py-sm-3 { - padding-top: 1rem !important; - } - .pr-sm-3, - .px-sm-3 { - padding-right: 1rem !important; - } - .pb-sm-3, - .py-sm-3 { - padding-bottom: 1rem !important; - } - .pl-sm-3, - .px-sm-3 { - padding-left: 1rem !important; - } - .p-sm-4 { - padding: 1.5rem !important; - } - .pt-sm-4, - .py-sm-4 { - padding-top: 1.5rem !important; - } - .pr-sm-4, - .px-sm-4 { - padding-right: 1.5rem !important; - } - .pb-sm-4, - .py-sm-4 { - padding-bottom: 1.5rem !important; - } - .pl-sm-4, - .px-sm-4 { - padding-left: 1.5rem !important; - } - .p-sm-5 { - padding: 3rem !important; - } - .pt-sm-5, - .py-sm-5 { - padding-top: 3rem !important; - } - .pr-sm-5, - .px-sm-5 { - padding-right: 3rem !important; - } - .pb-sm-5, - .py-sm-5 { - padding-bottom: 3rem !important; - } - .pl-sm-5, - .px-sm-5 { - padding-left: 3rem !important; - } - .m-sm-auto { - margin: auto !important; - } - .mt-sm-auto, - .my-sm-auto { - margin-top: auto !important; - } - .mr-sm-auto, - .mx-sm-auto { - margin-right: auto !important; - } - .mb-sm-auto, - .my-sm-auto { - margin-bottom: auto !important; - } - .ml-sm-auto, - .mx-sm-auto { - margin-left: auto !important; - } -} - -@media (min-width: 768px) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0, - .my-md-0 { - margin-top: 0 !important; - } - .mr-md-0, - .mx-md-0 { - margin-right: 0 !important; - } - .mb-md-0, - .my-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0, - .mx-md-0 { - margin-left: 0 !important; - } - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1, - .my-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1, - .mx-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1, - .my-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1, - .mx-md-1 { - margin-left: 0.25rem !important; - } - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2, - .my-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2, - .mx-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2, - .my-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2, - .mx-md-2 { - margin-left: 0.5rem !important; - } - .m-md-3 { - margin: 1rem !important; - } - .mt-md-3, - .my-md-3 { - margin-top: 1rem !important; - } - .mr-md-3, - .mx-md-3 { - margin-right: 1rem !important; - } - .mb-md-3, - .my-md-3 { - margin-bottom: 1rem !important; - } - .ml-md-3, - .mx-md-3 { - margin-left: 1rem !important; - } - .m-md-4 { - margin: 1.5rem !important; - } - .mt-md-4, - .my-md-4 { - margin-top: 1.5rem !important; - } - .mr-md-4, - .mx-md-4 { - margin-right: 1.5rem !important; - } - .mb-md-4, - .my-md-4 { - margin-bottom: 1.5rem !important; - } - .ml-md-4, - .mx-md-4 { - margin-left: 1.5rem !important; - } - .m-md-5 { - margin: 3rem !important; - } - .mt-md-5, - .my-md-5 { - margin-top: 3rem !important; - } - .mr-md-5, - .mx-md-5 { - margin-right: 3rem !important; - } - .mb-md-5, - .my-md-5 { - margin-bottom: 3rem !important; - } - .ml-md-5, - .mx-md-5 { - margin-left: 3rem !important; - } - .p-md-0 { - padding: 0 !important; - } - .pt-md-0, - .py-md-0 { - padding-top: 0 !important; - } - .pr-md-0, - .px-md-0 { - padding-right: 0 !important; - } - .pb-md-0, - .py-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0, - .px-md-0 { - padding-left: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1, - .py-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1, - .px-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1, - .py-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1, - .px-md-1 { - padding-left: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2, - .py-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2, - .px-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2, - .py-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2, - .px-md-2 { - padding-left: 0.5rem !important; - } - .p-md-3 { - padding: 1rem !important; - } - .pt-md-3, - .py-md-3 { - padding-top: 1rem !important; - } - .pr-md-3, - .px-md-3 { - padding-right: 1rem !important; - } - .pb-md-3, - .py-md-3 { - padding-bottom: 1rem !important; - } - .pl-md-3, - .px-md-3 { - padding-left: 1rem !important; - } - .p-md-4 { - padding: 1.5rem !important; - } - .pt-md-4, - .py-md-4 { - padding-top: 1.5rem !important; - } - .pr-md-4, - .px-md-4 { - padding-right: 1.5rem !important; - } - .pb-md-4, - .py-md-4 { - padding-bottom: 1.5rem !important; - } - .pl-md-4, - .px-md-4 { - padding-left: 1.5rem !important; - } - .p-md-5 { - padding: 3rem !important; - } - .pt-md-5, - .py-md-5 { - padding-top: 3rem !important; - } - .pr-md-5, - .px-md-5 { - padding-right: 3rem !important; - } - .pb-md-5, - .py-md-5 { - padding-bottom: 3rem !important; - } - .pl-md-5, - .px-md-5 { - padding-left: 3rem !important; - } - .m-md-auto { - margin: auto !important; - } - .mt-md-auto, - .my-md-auto { - margin-top: auto !important; - } - .mr-md-auto, - .mx-md-auto { - margin-right: auto !important; - } - .mb-md-auto, - .my-md-auto { - margin-bottom: auto !important; - } - .ml-md-auto, - .mx-md-auto { - margin-left: auto !important; - } -} - -@media (min-width: 992px) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0, - .my-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0, - .mx-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0, - .my-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0, - .mx-lg-0 { - margin-left: 0 !important; - } - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1, - .my-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1, - .mx-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1, - .my-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1, - .mx-lg-1 { - margin-left: 0.25rem !important; - } - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2, - .my-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2, - .mx-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2, - .my-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2, - .mx-lg-2 { - margin-left: 0.5rem !important; - } - .m-lg-3 { - margin: 1rem !important; - } - .mt-lg-3, - .my-lg-3 { - margin-top: 1rem !important; - } - .mr-lg-3, - .mx-lg-3 { - margin-right: 1rem !important; - } - .mb-lg-3, - .my-lg-3 { - margin-bottom: 1rem !important; - } - .ml-lg-3, - .mx-lg-3 { - margin-left: 1rem !important; - } - .m-lg-4 { - margin: 1.5rem !important; - } - .mt-lg-4, - .my-lg-4 { - margin-top: 1.5rem !important; - } - .mr-lg-4, - .mx-lg-4 { - margin-right: 1.5rem !important; - } - .mb-lg-4, - .my-lg-4 { - margin-bottom: 1.5rem !important; - } - .ml-lg-4, - .mx-lg-4 { - margin-left: 1.5rem !important; - } - .m-lg-5 { - margin: 3rem !important; - } - .mt-lg-5, - .my-lg-5 { - margin-top: 3rem !important; - } - .mr-lg-5, - .mx-lg-5 { - margin-right: 3rem !important; - } - .mb-lg-5, - .my-lg-5 { - margin-bottom: 3rem !important; - } - .ml-lg-5, - .mx-lg-5 { - margin-left: 3rem !important; - } - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0, - .py-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0, - .px-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0, - .py-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0, - .px-lg-0 { - padding-left: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1, - .py-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1, - .px-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1, - .py-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1, - .px-lg-1 { - padding-left: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2, - .py-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2, - .px-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2, - .py-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2, - .px-lg-2 { - padding-left: 0.5rem !important; - } - .p-lg-3 { - padding: 1rem !important; - } - .pt-lg-3, - .py-lg-3 { - padding-top: 1rem !important; - } - .pr-lg-3, - .px-lg-3 { - padding-right: 1rem !important; - } - .pb-lg-3, - .py-lg-3 { - padding-bottom: 1rem !important; - } - .pl-lg-3, - .px-lg-3 { - padding-left: 1rem !important; - } - .p-lg-4 { - padding: 1.5rem !important; - } - .pt-lg-4, - .py-lg-4 { - padding-top: 1.5rem !important; - } - .pr-lg-4, - .px-lg-4 { - padding-right: 1.5rem !important; - } - .pb-lg-4, - .py-lg-4 { - padding-bottom: 1.5rem !important; - } - .pl-lg-4, - .px-lg-4 { - padding-left: 1.5rem !important; - } - .p-lg-5 { - padding: 3rem !important; - } - .pt-lg-5, - .py-lg-5 { - padding-top: 3rem !important; - } - .pr-lg-5, - .px-lg-5 { - padding-right: 3rem !important; - } - .pb-lg-5, - .py-lg-5 { - padding-bottom: 3rem !important; - } - .pl-lg-5, - .px-lg-5 { - padding-left: 3rem !important; - } - .m-lg-auto { - margin: auto !important; - } - .mt-lg-auto, - .my-lg-auto { - margin-top: auto !important; - } - .mr-lg-auto, - .mx-lg-auto { - margin-right: auto !important; - } - .mb-lg-auto, - .my-lg-auto { - margin-bottom: auto !important; - } - .ml-lg-auto, - .mx-lg-auto { - margin-left: auto !important; - } -} - -@media (min-width: 1200px) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0, - .my-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0, - .mx-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0, - .my-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0, - .mx-xl-0 { - margin-left: 0 !important; - } - .m-xl-1 { - margin: 0.25rem !important; - } - .mt-xl-1, - .my-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1, - .mx-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1, - .my-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1, - .mx-xl-1 { - margin-left: 0.25rem !important; - } - .m-xl-2 { - margin: 0.5rem !important; - } - .mt-xl-2, - .my-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2, - .mx-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2, - .my-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2, - .mx-xl-2 { - margin-left: 0.5rem !important; - } - .m-xl-3 { - margin: 1rem !important; - } - .mt-xl-3, - .my-xl-3 { - margin-top: 1rem !important; - } - .mr-xl-3, - .mx-xl-3 { - margin-right: 1rem !important; - } - .mb-xl-3, - .my-xl-3 { - margin-bottom: 1rem !important; - } - .ml-xl-3, - .mx-xl-3 { - margin-left: 1rem !important; - } - .m-xl-4 { - margin: 1.5rem !important; - } - .mt-xl-4, - .my-xl-4 { - margin-top: 1.5rem !important; - } - .mr-xl-4, - .mx-xl-4 { - margin-right: 1.5rem !important; - } - .mb-xl-4, - .my-xl-4 { - margin-bottom: 1.5rem !important; - } - .ml-xl-4, - .mx-xl-4 { - margin-left: 1.5rem !important; - } - .m-xl-5 { - margin: 3rem !important; - } - .mt-xl-5, - .my-xl-5 { - margin-top: 3rem !important; - } - .mr-xl-5, - .mx-xl-5 { - margin-right: 3rem !important; - } - .mb-xl-5, - .my-xl-5 { - margin-bottom: 3rem !important; - } - .ml-xl-5, - .mx-xl-5 { - margin-left: 3rem !important; - } - .p-xl-0 { - padding: 0 !important; - } - .pt-xl-0, - .py-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0, - .px-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0, - .py-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0, - .px-xl-0 { - padding-left: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .pt-xl-1, - .py-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1, - .px-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1, - .py-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1, - .px-xl-1 { - padding-left: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .pt-xl-2, - .py-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2, - .px-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2, - .py-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2, - .px-xl-2 { - padding-left: 0.5rem !important; - } - .p-xl-3 { - padding: 1rem !important; - } - .pt-xl-3, - .py-xl-3 { - padding-top: 1rem !important; - } - .pr-xl-3, - .px-xl-3 { - padding-right: 1rem !important; - } - .pb-xl-3, - .py-xl-3 { - padding-bottom: 1rem !important; - } - .pl-xl-3, - .px-xl-3 { - padding-left: 1rem !important; - } - .p-xl-4 { - padding: 1.5rem !important; - } - .pt-xl-4, - .py-xl-4 { - padding-top: 1.5rem !important; - } - .pr-xl-4, - .px-xl-4 { - padding-right: 1.5rem !important; - } - .pb-xl-4, - .py-xl-4 { - padding-bottom: 1.5rem !important; - } - .pl-xl-4, - .px-xl-4 { - padding-left: 1.5rem !important; - } - .p-xl-5 { - padding: 3rem !important; - } - .pt-xl-5, - .py-xl-5 { - padding-top: 3rem !important; - } - .pr-xl-5, - .px-xl-5 { - padding-right: 3rem !important; - } - .pb-xl-5, - .py-xl-5 { - padding-bottom: 3rem !important; - } - .pl-xl-5, - .px-xl-5 { - padding-left: 3rem !important; - } - .m-xl-auto { - margin: auto !important; - } - .mt-xl-auto, - .my-xl-auto { - margin-top: auto !important; - } - .mr-xl-auto, - .mx-xl-auto { - margin-right: auto !important; - } - .mb-xl-auto, - .my-xl-auto { - margin-bottom: auto !important; - } - .ml-xl-auto, - .mx-xl-auto { - margin-left: auto !important; - } -} - -.text-monospace { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -.text-justify { - text-align: justify !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.text-left { - text-align: left !important; -} - -.text-right { - text-align: right !important; -} - -.text-center { - text-align: center !important; -} - -@media (min-width: 576px) { - .text-sm-left { - text-align: left !important; - } - .text-sm-right { - text-align: right !important; - } - .text-sm-center { - text-align: center !important; - } -} - -@media (min-width: 768px) { - .text-md-left { - text-align: left !important; - } - .text-md-right { - text-align: right !important; - } - .text-md-center { - text-align: center !important; - } -} - -@media (min-width: 992px) { - .text-lg-left { - text-align: left !important; - } - .text-lg-right { - text-align: right !important; - } - .text-lg-center { - text-align: center !important; - } -} - -@media (min-width: 1200px) { - .text-xl-left { - text-align: left !important; - } - .text-xl-right { - text-align: right !important; - } - .text-xl-center { - text-align: center !important; - } -} - -.text-lowercase { - text-transform: lowercase !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.text-capitalize { - text-transform: capitalize !important; -} - -.font-weight-light { - font-weight: 300 !important; -} - -.font-weight-normal { - font-weight: 400 !important; -} - -.font-weight-bold { - font-weight: 700 !important; -} - -.font-italic { - font-style: italic !important; -} - -.text-white { - color: #fff !important; -} - -.text-primary { - color: #007bff !important; -} - -a.text-primary:hover, a.text-primary:focus { - color: #0062cc !important; -} - -.text-secondary { - color: #6c757d !important; -} - -a.text-secondary:hover, a.text-secondary:focus { - color: #545b62 !important; -} - -.text-success { - color: #28a745 !important; -} - -a.text-success:hover, a.text-success:focus { - color: #1e7e34 !important; -} - -.text-info { - color: #17a2b8 !important; -} - -a.text-info:hover, a.text-info:focus { - color: #117a8b !important; -} - -.text-warning { - color: #ffc107 !important; -} - -a.text-warning:hover, a.text-warning:focus { - color: #d39e00 !important; -} - -.text-danger { - color: #dc3545 !important; -} - -a.text-danger:hover, a.text-danger:focus { - color: #bd2130 !important; -} - -.text-light { - color: #f8f9fa !important; -} - -a.text-light:hover, a.text-light:focus { - color: #dae0e5 !important; -} - -.text-dark { - color: #343a40 !important; -} - -a.text-dark:hover, a.text-dark:focus { - color: #1d2124 !important; -} - -.text-body { - color: #212529 !important; -} - -.text-muted { - color: #6c757d !important; -} - -.text-black-50 { - color: rgba(0, 0, 0, 0.5) !important; -} - -.text-white-50 { - color: rgba(255, 255, 255, 0.5) !important; -} - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} - -.visible { - visibility: visible !important; -} - -.invisible { - visibility: hidden !important; -} - -@media print { - *, - *::before, - *::after { - text-shadow: none !important; - box-shadow: none !important; - } - a:not(.btn) { - text-decoration: underline; - } - abbr[title]::after { - content: " (" attr(title) ")"; - } - pre { - white-space: pre-wrap !important; - } - pre, - blockquote { - border: 1px solid #adb5bd; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - @page { - size: a3; - } - body { - min-width: 992px !important; - } - .container { - min-width: 992px !important; - } - .navbar { - display: none; - } - .badge { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #dee2e6 !important; - } - .table-dark { - color: inherit; - } - .table-dark th, - .table-dark td, - .table-dark thead th, - .table-dark tbody + tbody { - border-color: #dee2e6; - } - .table .thead-dark th { - color: inherit; - border-color: #dee2e6; - } -} -/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/content/css/bootstrap.min.css b/content/css/bootstrap.min.css deleted file mode 100644 index 882691283ab..00000000000 --- a/content/css/bootstrap.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::after,.was-validated .custom-file-input:valid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::after,.was-validated .custom-file-input:invalid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:not(:disabled):not(.disabled){cursor:pointer}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-dialog-centered::before{display:block;height:calc(100vh - (.5rem * 2));content:""}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-dialog-centered::before{height:calc(100vh - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease}@media screen and (prefers-reduced-motion:reduce){.carousel-item-next,.carousel-item-prev,.carousel-item.active{transition:none}}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/content/css/print.css b/content/css/print.css deleted file mode 100644 index 66df28da3dd..00000000000 --- a/content/css/print.css +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ - -/* $Id$ */ - -#footer, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;} -#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important} diff --git a/content/css/site.css b/content/css/site.css deleted file mode 100644 index 3ac40d183de..00000000000 --- a/content/css/site.css +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ - -/*@import(https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap.min.css); -@import(https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap-responsive.css);*/ -html { - background-color: #fff; -} -body { - font-size: 16px; -} -li { - line-height: 120%; -} - -div#topbar, -div#banner, -div#breadcrumbs, -div#bodyColumn, -footer { - width: initial; - padding-left: 20px; - padding-right: 20px; - clear: both; -} -footer { - background-color: #f8f9fa!important; -} -footer .row, footer p { - margin: 5px; -} - -a, a:hover { - color: #0b6623; -} - -nav, footer { - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - nav, footer { - max-width: 540px; - } -} - -@media (min-width: 768px) { - nav, footer { - max-width: 720px; - } -} - -@media (min-width: 992px) { - nav, footer { - max-width: 960px; - } -} - -@media (min-width: 1200px) { - nav, footer { - max-width: 1140px; - } -} - -@media (min-width: 1920px) { - nav, footer, .container { - max-width: 1820px; - } -} \ No newline at end of file diff --git a/content/css/type-settings.css b/content/css/type-settings.css deleted file mode 100644 index f090ddb7217..00000000000 --- a/content/css/type-settings.css +++ /dev/null @@ -1,1221 +0,0 @@ -/********************************************************************* - CSS Elements that are part of the confluence rendered xhtml - *********************************************************************/ - -body, p, ul, ol, .bodytext, .stepfield { - font-family: verdana,arial,helvetica,sans-serif; - font-size: 14px; - font-size-adjust: none; - font-style: normal; - font-font-variant: normal; - font-weight: normal; - line-height: 140% - color: #000000; -} - -ul, ol { - font-size: 12px; -} -td, table, tr { - font-family: verdana,arial,helvetica,sans-serif; - font-size: 10px; - font-size-adjust: none; - font-style: normal; - font-font-variant: normal; - font-weight: normal; - line-height: normal; - color: #000000; -} - -table.sectionMacro td, table.sectionMacro td p { - font-size: 14px; - line-height: 150%; -} - -.wiki-content { - padding: 10px; - padding-left: 45px; - line-height: 200%; -} - -.monospaceInput { - font:12px monospace -} - -.wiki-content pX, .commentblock p { - margin: 0px; - margin-top: 10px; - padding: 0px; -} - -.wiki-content-preview { - padding: 5px; - border-left: 1px solid #3c78b5; - border-right: 1px solid #3c78b5; -} - -a sup img { - width:0px; - height:0px; -} - -A:link, A:visited, A:active, A:hover { - color: #880055; - text-decoration: none; -} - -A:active, A:hover { - text-decoration: underline; - color: #202020; -} - -ul, ol { - margin-left: 15px; - margin-top: 5px; - margin-bottom: 5px; - padding: 0px; -} - -ul li { -//list-style-image: url("../images/small-bullet-red.png"); -} -ul li ul li{ -//list-style-image: url("../images/small-bullet-gray.png"); -} - -pre { - padding: 0px; - margin-top: 5px; - margin-left: 15px; - margin-bottom: 5px; - margin-right: 5px; - text-align: left; -} - -.helpheading { - font-weight: bold; - background-color: #D0D9BD; - border-bottom: 1px solid #3c78b5; - padding: 4px 4px 4px 4px; - margin: 0px; - margin-top: 10px; -} -.helpcontent { - padding: 4px 4px 20px 4px; - background-color: #f5f7f1; -} - -.code { - border: 1px dashed #3c78b5; - font-size: 11px; - font-family: Courier; - margin: 10px; - margin-left: 0px; - line-height: 13px; -} - -.focusedComment { - background: #ffffce; -} - -.commentBox, .focusedComment { - padding: 10px; - margin: 5px 0 5px 0; - border: 1px #bbb solid; -} - -.codeHeader { - background-color: #f0f0f0; - border-bottom: 1px dashed #3c78b5; - padding: 3px; - text-align: center; -} - -.codeContent { - text-align: left; - background-color: #f0f0f0; - padding: 3px; -} - -.preformatted { - border: 1px dashed #3c78b5; - font-size: 11px; - font-family: Courier; - margin: 10px; - line-height: 13px; -} - -.preformattedHeader { - background-color: #f0f0f0; - border-bottom: 1px dashed #3c78b5; - padding: 3px; - text-align: center; -} - -.preformattedContent { - background-color: #f0f0f0; - padding: 3px; -} - -.panel { - border: 1px dashed #3c78b5; - margin: 10px; - margin-top: 0px; -} - -.panelHeader { - background-color: #f0f0f0; - border-bottom: 1px dashed #3c78b5; - padding: 3px; - text-align: center; -} - -.panelContent { - background-color: #f0f0f0; - padding: 5px; -} - -.anonymousAlert { - background-color: #f0f0f0; - border: 1px dashed red; - font-size: 11px; - padding: 10px 5px 10px 5px; - margin: 4px; - line-height: 13px; -} - -.lockAlert { - background-color: #f0f0f0; - width: 50%; - border: 1px dashed red; - font-size: 11px; - padding: 10px 5px 10px 5px; - margin: 4px; - line-height: 13px; -} - - -.code-keyword { - color: #000091; - background-color: inherit; -} - -.code-object { - color: #910091; - background-color: inherit; -} - -.code-quote { - color: #009100; - background-color: inherit; -} - -.code-comment { - color: #808080; - background-color: inherit; -} - - -.code-xml .code-keyword { - color: inherit; - font-weight: bold; -} - -.code-tag { - color: #000091; - background-color: inherit; -} - -.breadcrumbs { - background-color: #f0f0f0; - border-color: #3c78b5; - border-width: 1px 0px 1px 0px; - border-style: solid; - font-size: 11px; - padding: 3px 0px 3px 0px; -} - -.navmenu { - border: 1px solid #ccc; -} - -.menuheading { - font-weight: bold; - background-color: #f0f0f0; - border-bottom: 1px solid #3c78b5; - padding: 4px 4px 2px 4px; -} - -.menuitems { - padding: 4px 4px 20px 4px; -} - -.rightpanel { - border-left: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} - -#helpheading { - text-align: left; - font-weight: bold; - background-color: #D0D9BD; - border-bottom: 1px solid #3c78b5; - padding: 4px 4px 4px 4px; - margin: 0px; -} -#helpcontent { - padding: 4px 4px 4px 4px; - background-color: #f5f7f1; -} -.helptab-unselected { - font-weight: bold; - padding: 5px; - background-color: #f5f7f1; -} -.helptab-selected { - font-weight: bold; - background-color: #D0D9BD; - padding: 5px; -} -.helptabs { - margin: 0px; - background-color: #f5f7f1; - padding: 5px; -} -.infopanel-heading { - font-weight: bold; - padding: 4px 0px 2px 0px; -} - -.pagebody { -} - -.pageheader { - padding: 5px 5px 5px 0px; - border-bottom: 1px solid #3c78b5; -} - -.steptitle { - font-size: 18px; - font-weight: bold; - font-family: Arial, sans-serif; - color: #660033; - margin-bottom: 7px; -} - -.substeptitle { - font-size: 12px; - font-weight: bold; - font-family: Arial, sans-serif; - color: #660033; - margin: 2px 4px 4px 4px; - padding: 2px 4px 1px 4px; -} - -.stepdesc { - font-family: Verdana, arial, sans-serif; - font-size: 11px; - line-height: 16px; - font-weight: normal; - color: #666666; - margin-top: 7px; - margin-bottom: 7px; -} - -.steplabel { - font-weight: bold; - margin-right: 4px; - color: black; - float: left; - width: 15%; - text-align: right; -} - -.stepfield { - background: #f0f0f0; - padding: 5px; -} - -.submitButtons{ - margin-top:5px; - text-align:right; -} - -.formtitle { - font-size: 12px; - font-weight: bold; - font-family: Arial, sans-serif; - color: #660033; -} - -.sectionbottom { - border-bottom: 1px solid #3c78b5; -} - -.topRow { - border-top: 2px solid #3c78b5; -} - -.tabletitle { - font-size: 14px; - font-weight: bold; - font-family: Arial, sans-serif; - padding: 3px 0px 2px 0px; - margin: 8px 4px 2px 0px; - color: #660033; - border-bottom: 2px solid #3c78b5; -} -.pagesubheading { - color: #666666; - font-size: 10px; - padding: 0px 0px 5px 0px; -} - -HR { - color: 3c78b5; - height: 1; -} - - -h1 A:link, h1 A:visited, h1 A:active { - text-decoration: none; -} - -h1 A:hover { - border-bottom: 1px dotted #660033; -} - -.wiki-content > :first-child, .commentblock > :first-child { - margin-top: 3px; -} - -.logocell { - padding: 10px; -} - -input { - font-family: verdana, geneva, arial, sans-serif; - font-size: 11px; - color: #000000; -} - -textarea, textarea.editor { - font-family: verdana, geneva, arial, sans-serif; - font-size: 11px; - color: #333333; -} - -.spacenametitle-printable { - font: 20px/25px Impact, Arial, Helvetica; - font-weight: 100; - color: #999999; - margin: 0px; -} -.spacenametitle-printable a { - text-decoration: none; - color: #999999; -} -.spacenametitle-printable a:visited { - text-decoration: none; - color: #999999; -} - -.blogDate { - font-weight: bold; - text-decoration: none; - color: black; -} - -div.blogpost { - margin-left: 0px; -} - -div.blogpost div.wiki-content { - margin: 0px; - padding: 0px; -} - -.blogSurtitle { - float: right; - background: transparent; - margin: 1px 10px 10px 1px; -} - -.blogHeading { - background: #f0f0f0; - padding: 3px; - margin: 1px 1px 10px 1px; - border: 1px solid #ddd; - - font-size: 15px; - line-height: normal; - font-weight: bold; -} - -.blogHeading a { - text-decoration: none; - color: black; -} - -.endsection { - text-align: right; - color: #666666; - margin-top: 10px; - margin-bottom: 10px; - font-size: 10px; -} -.endsectionleftnav { - align: right; - color: #666666; - margin-top: 10px; -} - -h1, h2, h3, h4, h5, h6 { - font-family: Georgia,'Times New Roman',serif; - line-height: normal; - font-weight: bold; -} - -h1 { - border-bottom: 1px solid #808080; - padding: 2px; - margin: 36px 0px 4px -25px; - font-size: 20px; -} - -h2 { - border-bottom: 1px solid #a0a0a0; - padding: 2px; - margin: 27px 0px 4px -20px; - font-size: 18px; -} - -h3 { - border-bottom: 1px solid #c0c0c0; - padding: 2px; - margin: 21px 0px 4px -15px; - font-size: 16px; -} - -h4 { - border-bottom: 1px solid #c0c0c0; - padding: 2px; - margin: 18px 0px 4px -10px; - font-size: 15px; -} - -h4.search { - font-size: 12px; - line-height: normal; - font-weight: normal; - background-color: #f0f0f0; - padding: 4px; - margin: 18px 0px 4px 0px; -} - -h5 { - padding: 2px; - margin: 14px 0px 4px -5px; - font-size: 14px; -} - -h6 { - padding: 2px; - margin: 14px 0px 4px -5px; - font-size: 13px; -} - -.smallfont { - font-size: 10px; -} -.descfont { - font-size: 10px; - color: #666666; -} -.smallerfont { - font-size: 9px; -} -.smalltext { - color: #666666; - font-size: 10px; -} -.smalltext a { - color: #666666; -} -.smalltext-blue { - color: #3c78b5; - font-size: 10px; -} -.surtitle { - margin-left: 1px; - margin-bottom: 5px; - font-size: 14px; - color: #666666; -} - - -div.padded { padding: 4px; } -div.thickPadded { padding: 10px; } -h3.macrolibrariestitle { - margin: 0px 0px 0px 0px; -} - -div.centered { text-align: center; margin: 10px; } -div.centered table {margin: 0px auto; text-align: left; } - -.tableview table { - margin: 0; -} - -.tableview th { - text-align: left; - color: #660033; - font-size: 12px; - padding: 5px 0px 0px 5px; - border-bottom: 2px solid #3c78b5; -} -.tableview td { - text-align: left; - border-color: #ccc; - border-width: 0px 0px 1px 0px; - border-style: solid; - margin: 0; - padding: 4px 10px 4px 5px; -} - -.grid { - margin: 2px 0px 5px 0px; - border-collapse: collapse; -} -.grid th { - border: 1px solid #ccc; - padding: 2px 4px 2px 4px; - background: #f0f0f0; - text-align: center; -} -.grid td { - border: 1px solid #ccc; - padding: 3px 4px 3px 4px; -} -.gridHover { - background-color: #f9f9f9; -} - -td.infocell { - background-color: #f0f0f0; -} -.label { - font-weight: bold; - color: #660033; -} -.error { - background-color: #fcc; -} - -.errorBox { - background-color: #fcc; - border: 1px solid #c00; - padding: 5px; - margin: 5px; -} - -.errorMessage { - color: #c00; -} - -.success { - background-color: #dfd; -} - -.successBox { - background-color: #dfd; - border: 1px solid #090; - padding: 5px; - margin-top:5px; - margin-bottom:5px; -} - -blockquote { - padding-left: 10px; - padding-right: 10px; - margin-left: 5px; - margin-right: 0px; - border-left: 1px solid #3c78b5; -} - -table.confluenceTable -{ - margin: 5px; - border-collapse: collapse; -} - -/* Added as a temporary fix for CONF-4223. The table elements appear to be inheriting the border: none attribute from the sectionMacro class */ -table.confluenceTable td.confluenceTd -{ - border-width: 1px; - border-style: solid; - border-color: #ccc; - padding: 3px 4px 3px 4px; -} - -/* Added as a temporary fix for CONF-4223. The table elements appear to be inheriting the border: none attribute from the sectionMacro class */ -table.confluenceTable th.confluenceTh -{ - border-width: 1px; - border-style: solid; - border-color: #ccc; - padding: 3px 4px 3px 4px; - background-color: #f0f0f0; - text-align: center; -} - -td.confluenceTd -{ - border-width: 1px; - border-style: solid; - border-color: #ccc; - padding: 3px 4px 3px 4px; -} - -th.confluenceTh -{ - border-width: 1px; - border-style: solid; - border-color: #ccc; - padding: 3px 4px 3px 4px; - background-color: #f0f0f0; - text-align: center; -} - -DIV.small { - font-size: 9px; -} - -H1.pagename { - margin-top: 0px; -} - -IMG.inline {} - -.loginform { - margin: 5px; - border: 1px solid #ccc; -} - -/* The text how the "This is a preview" comment should be shown. */ -.previewnote { text-align: center; - font-size: 11px; - color: red; } - -/* How the preview content should be shown */ -.previewcontent { background: #E0E0E0; } - -/* How the system messages should be shown (DisplayMessage.jsp) */ -.messagecontent { background: #E0E0E0; } - -/* How the "This page has been modified..." -comment should be shown. */ -.conflictnote { } - -.createlink { - color: maroon; -} -a.createlink { - color: maroon; -} -.templateparameter { - font-size: 9px; - color: darkblue; -} - -.diffadded { - background: #ddffdd; - padding: 1px 1px 1px 4px; - border-left: 4px solid darkgreen; -} -.diffdeleted { - color: #999; - background: #ffdddd; - padding: 1px 1px 1px 4px; - border-left: 4px solid darkred; -} -.diffnochange { - padding: 1px 1px 1px 4px; - border-left: 4px solid lightgrey; -} -.differror { - background: brown; -} -.diff { - font-family: lucida console, courier new, fixed-width; - font-size: 12px; - line-height: 14px; -} -.diffaddedchars { - background-color:#99ff99; - font-weight:bolder; -} -.diffremovedchars { - background-color:#ff9999; - text-decoration: line-through; - font-weight:bolder; -} - -.greybackground { - background: #f0f0f0 -} - -.greybox { - border: 1px solid #ddd; - padding: 3px; - margin: 1px 1px 10px 1px; -} - -.borderedGreyBox { - border: 1px solid #cccccc; - background-color: #f0f0f0; - padding: 10px; -} - -.greyboxfilled { - border: 1px solid #ddd; - padding: 5px; - margin: 10px 1px 10px 1px; - background: #f0f0f0; -} - -.navBackgroundBox { - padding: 5px 5px 5px 5px; - font-size: 22px; - font-weight: bold; - font-family: Arial, sans-serif; - color: white; - background: #3c78b5; - text-decoration: none; -} - -.previewBoxTop { - background-color: #f0f0f0; - border-width: 1px 1px 0px 1px; - border-style: solid; - border-color: #3c78b5; - padding: 5px; - margin: 5px 0px 0px 0px; - text-align: center; -} -.previewContent { - background-color: #fff; - border-color: #3c78b5; - border-width: 0px 1px 0px 1px; - border-style: solid; - padding: 10px; - margin: 0px; -} -.previewBoxBottom { - background-color: #f0f0f0; - border-width: 0px 1px 1px 1px; - border-style: solid; - border-color: #3c78b5; - padding: 5px; - margin: 0px 0px 5px 0px; - text-align: center; -} - -.functionbox { - background-color: #f0f0f0; - border: 1px solid #3c78b5; - padding: 3px; - margin: 1px 1px 10px 1px; -} - -.functionbox-greyborder { - background-color: #f0f0f0; - border: 1px solid #ddd; - padding: 3px; - margin: 1px 1px 10px 1px; -} - -.search-highlight { - background-color: #ffffcc; -} - -/* normal (white) background */ -.rowNormal { - background-color: #ffffff; - } - -/* alternate (pale yellow) background */ -.rowAlternate { - background-color: #f7f7f7; -} - -/* used in the list attachments table */ -.rowAlternateNoBottomColor { - background-color: #f7f7f7; -} - -.rowAlternateNoBottomNoColor { -} - -.rowAlternateNoBottomColor td { - border-bottom: 0px; -} - -.rowAlternateNoBottomNoColor td { - border-bottom: 0px; -} - -/* row highlight (grey) background */ -.rowHighlight { - background-color: #f0f0f0; - -} - -TD.greenbar {FONT-SIZE: 2px; BACKGROUND: #00df00; BORDER: 1px solid #9c9c9c; PADDING: 0px; } -TD.redbar {FONT-SIZE: 2px; BACKGROUND: #df0000; BORDER: 1px solid #9c9c9c; PADDING: 0px; } -TD.darkredbar {FONT-SIZE: 2px; BACKGROUND: #af0000; BORDER: 1px solid #9c9c9c; PADDING: 0px; } - -TR.testpassed {FONT-SIZE: 2px; BACKGROUND: #ddffdd; PADDING: 0px; } -TR.testfailed {FONT-SIZE: 2px; BACKGROUND: #ffdddd; PADDING: 0px; } - -.toolbar { - margin: 0px; - border-collapse: collapse; -} - -.toolbar td { - border: 1px solid #ccc; - padding: 2px 2px 2px 2px; - color: #ccc; -} - -td.noformatting { - border-width: 0px; - border-style: none; - text-align: center; - padding: 0px; -} - -.commentblock { - margin: 12px 0 12px 0; -} - -/* - * Divs displaying the license information, if necessary. - */ -.license-eval, .license-none, .license-nonprofit { - border-top: 1px solid #bbbbbb; - text-align: center; - font-size: 10px; - font-family: Verdana, Arial, Helvetica, sans-serif; -} - -.license-eval, .license-none { - background-color: #ffcccc; -} - -.license-eval b, .license-none b { - color: #990000 -} - -.license-nonprofit { - background-color: #ffffff; -} - -/* - * The shadow at the bottom of the page between the main content and the - * "powered by" section. - */ -.bottomshadow { - height: 12px; - background-image: url("$req.contextPath/images/border/border_bottom.gif"); - background-repeat: repeat-x; -} - -/* - * Styling of the operations box - */ -.navmenu .operations li, .navmenu .operations ul { - list-style: none; - margin-left: 0; - padding-left: 0; -} - -.navmenu .operations ul { - margin-bottom: 9px; -} - -.navmenu .label { - font-weight: inherit; -} - -/* - * Styling of ops as a toolbar - */ -.toolbar div { - display: none; -} - -.toolbar .label { - display: none; -} - -.toolbar .operations { - display: block; -} - -.toolbar .operations ul { - display: inline; - list-style: none; - margin-left: 10px; - padding-left: 0; -} - -.toolbar .operations li { - list-style: none; - display: inline; -} - -.blogcalendar * { - font-family:verdana, arial, sans-serif; - font-size:x-small; - font-weight:normal; - line-height:140%; - padding:2px; -} - - -table.blogcalendar { - border: 1px solid #3c78b5; -} - -.blogcalendar th.calendarhead, a.calendarhead { - font-size:x-small; - font-weight:bold; - padding:2px; - text-transform:uppercase; - background-color: #3c78b5; - color: #ffffff; - letter-spacing: .3em; - text-transform: uppercase; -} - -.calendarhead:visited {color: white;} -.calendarhead:active {color: white;} -.calendarhead:hover {color: white;} - -/* warning panel */ -.warningPanel { background: #FFFFCE; border:#F0C000 1px solid; padding: 8px; margin: 10px; } -/* alert panel */ -.alertPanel { background: #FFCCCC; border:#C00 1px solid; padding: 8px; margin: 10px; } - -/* side menu highlighting (e.g. space content screen) */ -.optionPadded { padding: 2px; } -.optionSelected { background-color: #ffffcc; padding: 2px; border: 1px solid #ddd; margin: -1px; } -.optionSelected a { font-weight: bold; text-decoration: none; color: black; } - -/* information macros */ -.noteMacro { border-style: solid; border-width: 1px; border-color: #F0C000; background-color: #FFFFCE; text-align:left; margin-top: 15px; margin-bottom: 5px} -.warningMacro { text-align:left; } -.infoMacro { border-style: solid; border-width: 1px; border-color: #3c78b5; background-color: #D8E4F1; text-align:left; margin-top: 15px; margin-bottom: 5px} -.tipMacro { border-style: solid; border-width: 1px; border-color: #090; background-color: #dfd; text-align:left; margin-top: 15px; margin-bottom: 5px} -.informationMacroPadding { padding: 5px 0 0 5px; } - -table.infoMacro td, table.warningMacro td, table.tipMacro td, table.noteMacro td, table.sectionMacro td { - border: none; -} -table.infoMacro p, table.warningMacro p, table.tipMacro p, table.noteMacro p, table.sectionMacro p { - font-size:x-small; -} -table.sectionMacroWithBorder td.columnMacro { border-style: dashed; border-width: 1px; border-color: #cccccc;} - - -div.headerField { - float: left; - width: auto; - height: 100%; -} - -.headerFloat { - margin-left: auto; - width: 50%; -} - -.headerFloatLeft { - float: left; - margin-right: 20px; - margin-bottom: 10px; -} - -#headerRow { - padding: 10px; -} - -/* Style for label heatmap. */ -.top10 a { - font-weight: bold; - font-size: 2em; - color: #660033; -} -.top25 a { - font-weight: bold; - font-size: 1.6em; - color: #660033; -} -.top50 a { - font-size: 1.4em; - color: #660033; -} -.top100 a { - font-size: 1.2em; - color: #660033; -} - -.heatmap { - list-style:none; - width: 95%; - margin: 0px auto; -} - -.heatmap a { - text-decoration:none; -} - -.heatmap a:hover { - text-decoration:underline; -} - -.heatmap li { - display: inline; -} - -.minitab { -padding: 3px 0px 3px 8px; -margin-left: 0; -margin-top: 1px; -margin-bottom: 0px; -border-bottom: 1px solid #3c78b5; -font: bold 9px Verdana, sans-serif; -text-decoration: none; -float:none; -} -.selectedminitab { -padding: 3px 0.5em; -margin-left: 3px; -margin-top: 1px; -border: 1px solid #3c78b5; -background: white; -border-bottom: 1px solid white; -color: #000000; -text-decoration: none; -} -.unselectedminitab { -padding: 3px 0.5em; -margin-left: 3px; -margin-top: 1px; -border: 1px solid #3c78b5; -border-bottom: none; -background: #3c78b5; -color: #ffffff; -text-decoration: none; -} - -a.unselectedminitab:hover { -color: #ffffff; -background: #660033; -border-color: #660033; -} - -a.unselectedminitab:link { color: white; } -a.unselectedminitab:visited { color: white; } - -a.selectedminitab:link { color: black; } -a.selectedminitab:visited { color: black; } - -.linkerror { background-color: #fcc;} - -a.labelOperationLink:link {text-decoration: underline} -a.labelOperationLink:active {text-decoration: underline} -a.labelOperationLink:visited {text-decoration: underline} -a.labelOperationLink:hover {text-decoration: underline} - -a.newLabel:link {background-color: #ddffdd} -a.newLabel:active {background-color: #ddffdd} -a.newLabel:visited {background-color: #ddffdd} -a.newLabel:hover {background-color: #ddffdd} - -ul.square {list-style-type: square} - -.inline-control-link { - background: #ffc; - font-size: 9px; - color: #666; - padding: 2px; - text-transform: uppercase; - text-decoration: none; -} - - -.inline-control-link a:link {text-decoration: none} -.inline-control-link a:active {text-decoration: none} -.inline-control-link a:visited {text-decoration: none} -.inline-control-link a:hover {text-decoration: none} - -.inline-control-link { - background: #ffc; - font-size: 9px; - color: #666; - padding: 2px; - text-transform: uppercase; - text-decoration: none; - cursor: pointer; -} - -div.auto_complete { - width: 350px; - background: #fff; -} -div.auto_complete ul { - border: 1px solid #888; - margin: 0; - padding: 0; - width: 100%; - list-style-type: none; -} -div.auto_complete ul li { - margin: 0; - padding: 3px; -} -div.auto_complete ul li.selected { - background-color: #ffb; -} -div.auto_complete ul strong.highlight { - color: #800; - margin: 0; - padding: 0; -} - -/******* Edit Page Styles *******/ -.toogleFormDiv{ - border:1px solid #A7A6AA; - background-color:white; - padding:5px; - margin-top: 5px; -} - -.toogleInfoDiv{ - border:1px solid #A7A6AA; - background-color:white; - display:none; - padding:5px; - margin-top: 10px; -} - -.inputSection{ - margin-bottom:20px; -} - -#editBox{ - border:1px solid lightgray; - background-color:#F0F0F0; -} - diff --git a/content/doap.rdf b/content/doap.rdf deleted file mode 100644 index b7e77626e89..00000000000 --- a/content/doap.rdf +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - 2011-02-06 - - Apache ZooKeeper - - - A distributed computing platform. - Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination. - - - - Java - - - - - - - - - - - - Apache ZooKeeper Community - - - - - - diff --git a/content/doc/current b/content/doc/current deleted file mode 120000 index 6593630ddd2..00000000000 --- a/content/doc/current +++ /dev/null @@ -1 +0,0 @@ -r3.9.5 \ No newline at end of file diff --git a/content/doc/r3.9.5/images/2pc.jpg b/content/doc/r3.9.5/images/2pc.jpg deleted file mode 100644 index fe4488fd9d8..00000000000 Binary files a/content/doc/r3.9.5/images/2pc.jpg and /dev/null differ diff --git a/content/doc/r3.9.5/index.html b/content/doc/r3.9.5/index.html deleted file mode 100644 index 184d3d6af7f..00000000000 --- a/content/doc/r3.9.5/index.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper: Because Coordinating Distributed Systems is a Zoo

-

ZooKeeper is a high-performance coordination service for distributed applications. It exposes common services - such as naming, configuration management, synchronization, and group services - in a simple interface so you don't have to write them from scratch. You can use it off-the-shelf to implement consensus, group management, leader election, and presence protocols. And you can build on it for your own, specific needs.

-

The following documents describe concepts and procedures to get you started using ZooKeeper. If you have more questions, please ask the mailing list or browse the archives.

-
    -
  • ZooKeeper Overview Technical Overview Documents for Client Developers, Administrators, and Contributors -
      -
    • Overview - a bird's eye view of ZooKeeper, including design concepts and architecture
    • -
    • Getting Started - a tutorial-style guide for developers to install, run, and program to ZooKeeper
    • -
    • Release Notes - new developer and user facing features, improvements, and incompatibilities
    • -
    -
  • -
  • Developers Documents for Developers using the ZooKeeper Client API - -
  • -
  • Administrators & Operators Documents for Administrators and Operations Engineers of ZooKeeper Deployments -
      -
    • Administrator's Guide - a guide for system administrators and anyone else who might deploy ZooKeeper
    • -
    • Quota Guide - a guide for system administrators on Quotas in ZooKeeper.
    • -
    • Snapshot and Restore Guide - a guide for system administrators on take snapshot and restore ZooKeeper.
    • -
    • JMX - how to enable JMX in ZooKeeper
    • -
    • Hierarchical Quorums - a guide on how to use hierarchical quorums
    • -
    • Oracle Quorum - the introduction to Oracle Quorum increases the availability of a cluster of 2 ZooKeeper instances with a failure detector.
    • -
    • Observers - non-voting ensemble members that easily improve ZooKeeper's scalability
    • -
    • Dynamic Reconfiguration - a guide on how to use dynamic reconfiguration in ZooKeeper
    • -
    • ZooKeeper CLI - a guide on how to use the ZooKeeper command line interface
    • -
    • ZooKeeper Tools - a guide on how to use a series of tools for ZooKeeper
    • -
    • ZooKeeper Monitor - a guide on how to monitor the ZooKeeper
    • -
    • Audit Logging - a guide on how to configure audit logs in ZooKeeper Server and what contents are logged.
    • -
    -
  • -
  • Contributors Documents for Developers Contributing to the ZooKeeper Open Source Project - -
  • -
  • Miscellaneous ZooKeeper Documentation - -
  • -
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/javaExample.html b/content/doc/r3.9.5/javaExample.html deleted file mode 100644 index efcb1f6a77c..00000000000 --- a/content/doc/r3.9.5/javaExample.html +++ /dev/null @@ -1,693 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Java Example

- -

-

A Simple Watch Client

-

To introduce you to the ZooKeeper Java API, we develop here a very simple watch client. This ZooKeeper client watches a znode for changes and responds to by starting or stopping a program.

-

-

Requirements

-

The client has four requirements:

-
    -
  • It takes as parameters:
  • -
  • the address of the ZooKeeper service
  • -
  • the name of a znode - the one to be watched
  • -
  • the name of a file to write the output to
  • -
  • an executable with arguments.
  • -
  • It fetches the data associated with the znode and starts the executable.
  • -
  • If the znode changes, the client re-fetches the contents and restarts the executable.
  • -
  • If the znode disappears, the client kills the executable.
  • -
-

-

Program Design

-

Conventionally, ZooKeeper applications are broken into two units, one which maintains the connection, and the other which monitors data. In this application, the class called the Executor maintains the ZooKeeper connection, and the class called the DataMonitor monitors the data in the ZooKeeper tree. Also, Executor contains the main thread and contains the execution logic. It is responsible for what little user interaction there is, as well as interaction with the executable program you pass in as an argument and which the sample (per the requirements) shuts down and restarts, according to the state of the znode.

-

-

The Executor Class

-

The Executor object is the primary container of the sample application. It contains both the ZooKeeper object, DataMonitor, as described above in Program Design.

-
// from the Executor class...
-
-public static void main(String[] args) {
-    if (args.length < 4) {
-        System.err
-                .println("USAGE: Executor hostPort znode filename program [args ...]");
-        System.exit(2);
-    }
-    String hostPort = args[0];
-    String znode = args[1];
-    String filename = args[2];
-    String exec[] = new String[args.length - 3];
-    System.arraycopy(args, 3, exec, 0, exec.length);
-    try {
-        new Executor(hostPort, znode, filename, exec).run();
-    } catch (Exception e) {
-        e.printStackTrace();
-    }
-}
-
-public Executor(String hostPort, String znode, String filename,
-        String exec[]) throws KeeperException, IOException {
-    this.filename = filename;
-    this.exec = exec;
-    zk = new ZooKeeper(hostPort, 3000, this);
-    dm = new DataMonitor(zk, znode, null, this);
-}
-
-public void run() {
-    try {
-        synchronized (this) {
-            while (!dm.dead) {
-                wait();
-            }
-        }
-    } catch (InterruptedException e) {
-    }
-}
-
-

Recall that the Executor's job is to start and stop the executable whose name you pass in on the command line. It does this in response to events fired by the ZooKeeper object. As you can see in the code above, the Executor passes a reference to itself as the Watcher argument in the ZooKeeper constructor. It also passes a reference to itself as DataMonitorListener argument to the DataMonitor constructor. Per the Executor's definition, it implements both these interfaces:

-
public class Executor implements Watcher, Runnable, DataMonitor.DataMonitorListener {
-...
-
-

The Watcher interface is defined by the ZooKeeper Java API. ZooKeeper uses it to communicate back to its container. It supports only one method, process(), and ZooKeeper uses it to communicates generic events that the main thread would be interested in, such as the state of the ZooKeeper connection or the ZooKeeper session. The Executor in this example simply forwards those events down to the DataMonitor to decide what to do with them. It does this simply to illustrate the point that, by convention, the Executor or some Executor-like object "owns" the ZooKeeper connection, but it is free to delegate the events to other events to other objects. It also uses this as the default channel on which to fire watch events. (More on this later.)

-
public void process(WatchedEvent event) {
-    dm.process(event);
-}
-
-

The DataMonitorListener interface, on the other hand, is not part of the ZooKeeper API. It is a completely custom interface, designed for this sample application. The DataMonitor object uses it to communicate back to its container, which is also the Executor object. The DataMonitorListener interface looks like this:

-
public interface DataMonitorListener {
-    /**
-    * The existence status of the node has changed.
-    */
-    void exists(byte data[]);
-
-    /**
-    * The ZooKeeper session is no longer valid.
-    *
-    * @param rc
-    * the ZooKeeper reason code
-    */
-    void closing(int rc);
-}
-
-

This interface is defined in the DataMonitor class and implemented in the Executor class. When Executor.exists() is invoked, the Executor decides whether to start up or shut down per the requirements. Recall that the requires say to kill the executable when the znode ceases to exist.

-

When Executor.closing() is invoked, the Executor decides whether or not to shut itself down in response to the ZooKeeper connection permanently disappearing.

-

As you might have guessed, DataMonitor is the object that invokes these methods, in response to changes in ZooKeeper's state.

-

Here are Executor's implementation of DataMonitorListener.exists() and DataMonitorListener.closing:

-
public void exists( byte[] data ) {
-    if (data == null) {
-        if (child != null) {
-            System.out.println("Killing process");
-            child.destroy();
-            try {
-                child.waitFor();
-            } catch (InterruptedException e) {
-           }
-        }
-        child = null;
-    } else {
-        if (child != null) {
-            System.out.println("Stopping child");
-            child.destroy();
-            try {
-               child.waitFor();
-            } catch (InterruptedException e) {
-            e.printStackTrace();
-            }
-        }
-        try {
-            FileOutputStream fos = new FileOutputStream(filename);
-            fos.write(data);
-            fos.close();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        try {
-            System.out.println("Starting child");
-            child = Runtime.getRuntime().exec(exec);
-            new StreamWriter(child.getInputStream(), System.out);
-            new StreamWriter(child.getErrorStream(), System.err);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-}
-
-public void closing(int rc) {
-    synchronized (this) {
-        notifyAll();
-    }
-}
-
-

-

The DataMonitor Class

-

The DataMonitor class has the meat of the ZooKeeper logic. It is mostly asynchronous and event driven. DataMonitor kicks things off in the constructor with:

-
public DataMonitor(ZooKeeper zk, String znode, Watcher chainedWatcher,
-        DataMonitorListener listener) {
-    this.zk = zk;
-    this.znode = znode;
-    this.chainedWatcher = chainedWatcher;
-    this.listener = listener;
-
-    // Get things started by checking if the node exists. We are going
-    // to be completely event driven
-
-

The call to ZooKeeper.exists() checks for the existence of the znode, sets a watch, and passes a reference to itself (this) as the completion callback object. In this sense, it kicks things off, since the real processing happens when the watch is triggered.

-
Note
-
-

Don't confuse the completion callback with the watch callback. The ZooKeeper.exists() completion callback, which happens to be the method StatCallback.processResult() implemented in the DataMonitor object, is invoked when the asynchronous setting of the watch operation (by ZooKeeper.exists()) completes on the server.

-

The triggering of the watch, on the other hand, sends an event to the Executor object, since the Executor registered as the Watcher of the ZooKeeper object.

-

As an aside, you might note that the DataMonitor could also register itself as the Watcher for this particular watch event. This is new to ZooKeeper 3.0.0 (the support of multiple Watchers). In this example, however, DataMonitor does not register as the Watcher.

-
-

When the ZooKeeper.exists() operation completes on the server, the ZooKeeper API invokes this completion callback on the client:

-
public void processResult(int rc, String path, Object ctx, Stat stat) {
-    boolean exists;
-    switch (rc) {
-    case Code.Ok:
-        exists = true;
-        break;
-    case Code.NoNode:
-        exists = false;
-        break;
-    case Code.SessionExpired:
-    case Code.NoAuth:
-        dead = true;
-        listener.closing(rc);
-        return;
-    default:
-        // Retry errors
-        zk.exists(znode, true, this, null);
-        return;
-    }
-
-    byte b[] = null;
-    if (exists) {
-        try {
-            b = zk.getData(znode, false, null);
-        } catch (KeeperException e) {
-            // We don't need to worry about recovering now. The watch
-            // callbacks will kick off any exception handling
-            e.printStackTrace();
-        } catch (InterruptedException e) {
-            return;
-        }
-    }     
-    if ((b == null &amp;&amp; b != prevData)
-        || (b != null &amp;&amp; !Arrays.equals(prevData, b))) {
-        listener.exists(b);</emphasis>
-        prevData = b;
-    }
-}
-
-

The code first checks the error codes for znode existence, fatal errors, and recoverable errors. If the file (or znode) exists, it gets the data from the znode, and then invoke the exists() callback of Executor if the state has changed. Note, it doesn't have to do any Exception processing for the getData call because it has watches pending for anything that could cause an error: if the node is deleted before it calls ZooKeeper.getData(), the watch event set by the ZooKeeper.exists() triggers a callback; if there is a communication error, a connection watch event fires when the connection comes back up.

-

Finally, notice how DataMonitor processes watch events:

-
public void process(WatchedEvent event) {
-    String path = event.getPath();
-    if (event.getType() == Event.EventType.None) {
-        // We are are being told that the state of the
-        // connection has changed
-        switch (event.getState()) {
-        case SyncConnected:
-            // In this particular example we don't need to do anything
-            // here - watches are automatically re-registered with
-            // server and any watches triggered while the client was
-            // disconnected will be delivered (in order of course)
-            break;
-        case Expired:
-            // It's all over
-            dead = true;
-            listener.closing(KeeperException.Code.SessionExpired);
-            break;
-        }
-    } else {
-        if (path != null && path.equals(znode)) {
-            // Something has changed on the node, let's find out
-            zk.exists(znode, true, this, null);
-        }
-    }
-    if (chainedWatcher != null) {
-        chainedWatcher.process(event);
-    }
-}
-
-

If the client-side ZooKeeper libraries can re-establish the communication channel (SyncConnected event) to ZooKeeper before session expiration (Expired event) all of the session's watches will automatically be re-established with the server (auto-reset of watches is new in ZooKeeper 3.0.0). See ZooKeeper Watches in the programmer guide for more on this. A bit lower down in this function, when DataMonitor gets an event for a znode, it callsZooKeeper.exists() to find out what has changed.

-

-

Complete Source Listings

-

Executor.java

-
/**
- * A simple example program to use DataMonitor to start and
- * stop executables based on a znode. The program watches the
- * specified znode and saves the data that corresponds to the
- * znode in the filesystem. It also starts the specified program
- * with the specified arguments when the znode exists and kills
- * the program if the znode goes away.
- */
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.Watcher;
-import org.apache.zookeeper.ZooKeeper;
-
-public class Executor
-    implements Watcher, Runnable, DataMonitor.DataMonitorListener
-{
-    String znode;
-    DataMonitor dm;
-    ZooKeeper zk;
-    String filename;
-    String exec[];
-    Process child;
-
-    public Executor(String hostPort, String znode, String filename,
-            String exec[]) throws KeeperException, IOException {
-        this.filename = filename;
-        this.exec = exec;
-        zk = new ZooKeeper(hostPort, 3000, this);
-        dm = new DataMonitor(zk, znode, null, this);
-    }
-
-    /**
-     * @param args
-     */
-    public static void main(String[] args) {
-        if (args.length < 4) {
-            System.err
-                    .println("USAGE: Executor hostPort znode filename program [args ...]");
-            System.exit(2);
-        }
-        String hostPort = args[0];
-        String znode = args[1];
-        String filename = args[2];
-        String exec[] = new String[args.length - 3];
-        System.arraycopy(args, 3, exec, 0, exec.length);
-        try {
-            new Executor(hostPort, znode, filename, exec).run();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    /***************************************************************************
-     * We do process any events ourselves, we just need to forward them on.
-     *
-     * @see org.apache.zookeeper.Watcher#process(org.apache.zookeeper.proto.WatcherEvent)
-     */
-    public void process(WatchedEvent event) {
-        dm.process(event);
-    }
-
-    public void run() {
-        try {
-            synchronized (this) {
-                while (!dm.dead) {
-                    wait();
-                }
-            }
-        } catch (InterruptedException e) {
-        }
-    }
-
-    public void closing(int rc) {
-        synchronized (this) {
-            notifyAll();
-        }
-    }
-
-    static class StreamWriter extends Thread {
-        OutputStream os;
-
-        InputStream is;
-
-        StreamWriter(InputStream is, OutputStream os) {
-            this.is = is;
-            this.os = os;
-            start();
-        }
-
-        public void run() {
-            byte b[] = new byte[80];
-            int rc;
-            try {
-                while ((rc = is.read(b)) > 0) {
-                    os.write(b, 0, rc);
-                }
-            } catch (IOException e) {
-            }
-
-        }
-    }
-
-    public void exists(byte[] data) {
-        if (data == null) {
-            if (child != null) {
-                System.out.println("Killing process");
-                child.destroy();
-                try {
-                    child.waitFor();
-                } catch (InterruptedException e) {
-                }
-            }
-            child = null;
-        } else {
-            if (child != null) {
-                System.out.println("Stopping child");
-                child.destroy();
-                try {
-                    child.waitFor();
-                } catch (InterruptedException e) {
-                    e.printStackTrace();
-                }
-            }
-            try {
-                FileOutputStream fos = new FileOutputStream(filename);
-                fos.write(data);
-                fos.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-            try {
-                System.out.println("Starting child");
-                child = Runtime.getRuntime().exec(exec);
-                new StreamWriter(child.getInputStream(), System.out);
-                new StreamWriter(child.getErrorStream(), System.err);
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-}
-
-

DataMonitor.java

-
/**
- * A simple class that monitors the data and existence of a ZooKeeper
- * node. It uses asynchronous ZooKeeper APIs.
- */
-import java.util.Arrays;
-
-import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.Watcher;
-import org.apache.zookeeper.ZooKeeper;
-import org.apache.zookeeper.AsyncCallback.StatCallback;
-import org.apache.zookeeper.KeeperException.Code;
-import org.apache.zookeeper.data.Stat;
-
-public class DataMonitor implements Watcher, StatCallback {
-
-    ZooKeeper zk;
-    String znode;
-    Watcher chainedWatcher;
-    boolean dead;
-    DataMonitorListener listener;
-    byte prevData[];
-
-    public DataMonitor(ZooKeeper zk, String znode, Watcher chainedWatcher,
-            DataMonitorListener listener) {
-        this.zk = zk;
-        this.znode = znode;
-        this.chainedWatcher = chainedWatcher;
-        this.listener = listener;
-        // Get things started by checking if the node exists. We are going
-        // to be completely event driven
-        zk.exists(znode, true, this, null);
-    }
-
-    /**
-     * Other classes use the DataMonitor by implementing this method
-     */
-    public interface DataMonitorListener {
-        /**
-         * The existence status of the node has changed.
-         */
-        void exists(byte data[]);
-
-        /**
-         * The ZooKeeper session is no longer valid.
-         *
-         * @param rc
-         *                the ZooKeeper reason code
-         */
-        void closing(int rc);
-    }
-
-    public void process(WatchedEvent event) {
-        String path = event.getPath();
-        if (event.getType() == Event.EventType.None) {
-            // We are are being told that the state of the
-            // connection has changed
-            switch (event.getState()) {
-            case SyncConnected:
-                // In this particular example we don't need to do anything
-                // here - watches are automatically re-registered with
-                // server and any watches triggered while the client was
-                // disconnected will be delivered (in order of course)
-                break;
-            case Expired:
-                // It's all over
-                dead = true;
-                listener.closing(KeeperException.Code.SessionExpired);
-                break;
-            }
-        } else {
-            if (path != null && path.equals(znode)) {
-                // Something has changed on the node, let's find out
-                zk.exists(znode, true, this, null);
-            }
-        }
-        if (chainedWatcher != null) {
-            chainedWatcher.process(event);
-        }
-    }
-
-    public void processResult(int rc, String path, Object ctx, Stat stat) {
-        boolean exists;
-        switch (rc) {
-        case Code.Ok:
-            exists = true;
-            break;
-        case Code.NoNode:
-            exists = false;
-            break;
-        case Code.SessionExpired:
-        case Code.NoAuth:
-            dead = true;
-            listener.closing(rc);
-            return;
-        default:
-            // Retry errors
-            zk.exists(znode, true, this, null);
-            return;
-        }
-
-        byte b[] = null;
-        if (exists) {
-            try {
-                b = zk.getData(znode, false, null);
-            } catch (KeeperException e) {
-                // We don't need to worry about recovering now. The watch
-                // callbacks will kick off any exception handling
-                e.printStackTrace();
-            } catch (InterruptedException e) {
-                return;
-            }
-        }
-        if ((b == null && b != prevData)
-                || (b != null && !Arrays.equals(prevData, b))) {
-            listener.exists(b);
-            prevData = b;
-        }
-    }
-}
-
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/recipes.html b/content/doc/r3.9.5/recipes.html deleted file mode 100644 index 2c4306736a0..00000000000 --- a/content/doc/r3.9.5/recipes.html +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Recipes and Solutions

- -

-

A Guide to Creating Higher-level Constructs with ZooKeeper

-

In this article, you'll find guidelines for using ZooKeeper to implement higher order functions. All of them are conventions implemented at the client and do not require special support from ZooKeeper. Hopefully the community will capture these conventions in client-side libraries to ease their use and to encourage standardization.

-

One of the most interesting things about ZooKeeper is that even though ZooKeeper uses asynchronous notifications, you can use it to build synchronous consistency primitives, such as queues and locks. As you will see, this is possible because ZooKeeper imposes an overall order on updates, and has mechanisms to expose this ordering.

-

Note that the recipes below attempt to employ best practices. In particular, they avoid polling, timers or anything else that would result in a "herd effect", causing bursts of traffic and limiting scalability.

-

There are many useful functions that can be imagined that aren't included here - revocable read-write priority locks, as just one example. And some of the constructs mentioned here - locks, in particular - illustrate certain points, even though you may find other constructs, such as event handles or queues, a more practical means of performing the same function. In general, the examples in this section are designed to stimulate thought.

-

-

Important Note About Error Handling

-

When implementing the recipes you must handle recoverable exceptions (see the FAQ). In particular, several of the recipes employ sequential ephemeral nodes. When creating a sequential ephemeral node there is an error case in which the create() succeeds on the server but the server crashes before returning the name of the node to the client. When the client reconnects its session is still valid and, thus, the node is not removed. The implication is that it is difficult for the client to know if its node was created or not. The recipes below include measures to handle this.

-

-

Out of the Box Applications: Name Service, Configuration, Group Membership

-

Name service and configuration are two of the primary applications of ZooKeeper. These two functions are provided directly by the ZooKeeper API.

-

Another function directly provided by ZooKeeper is group membership. The group is represented by a node. Members of the group create ephemeral nodes under the group node. Nodes of the members that fail abnormally will be removed automatically when ZooKeeper detects the failure.

-

-

Barriers

-

Distributed systems use barriers to block processing of a set of nodes until a condition is met at which time all the nodes are allowed to proceed. Barriers are implemented in ZooKeeper by designating a barrier node. The barrier is in place if the barrier node exists. Here's the pseudo code:

-
    -
  1. Client calls the ZooKeeper API's exists() function on the barrier node, with watch set to true.
  2. -
  3. If exists() returns false, the barrier is gone and the client proceeds
  4. -
  5. Else, if exists() returns true, the clients wait for a watch event from ZooKeeper for the barrier node.
  6. -
  7. When the watch event is triggered, the client reissues the exists( ) call, again waiting until the barrier node is removed.
  8. -
-

-

Double Barriers

-

Double barriers enable clients to synchronize the beginning and the end of a computation. When enough processes have joined the barrier, processes start their computation and leave the barrier once they have finished. This recipe shows how to use a ZooKeeper node as a barrier.

-

The pseudo code in this recipe represents the barrier node as b. Every client process p registers with the barrier node on entry and unregisters when it is ready to leave. A node registers with the barrier node via the Enter procedure below, it waits until x client process register before proceeding with the computation. (The x here is up to you to determine for your system.)

- - - - - - - - - - - - -
Enter Leave
1. Create a name n = b+“/”+p 1. L = getChildren(b, false)
2. Set watch: exists(b + ‘‘/ready’’, true) 2. if no children, exit
3. Create child: create(n, EPHEMERAL) 3. if p is only process node in L, delete(n) and exit
4. L = getChildren(b, false) 4. if p is the lowest process node in L, wait on highest process node in L
5. if fewer children in L than_x_, wait for watch event 5. else **delete(n)**if still exists and wait on lowest process node in L
6. else create(b + ‘‘/ready’’, REGULAR) 6. goto 1
-

On entering, all processes watch on a ready node and create an ephemeral node as a child of the barrier node. Each process but the last enters the barrier and waits for the ready node to appear at line 5. The process that creates the xth node, the last process, will see x nodes in the list of children and create the ready node, waking up the other processes. Note that waiting processes wake up only when it is time to exit, so waiting is efficient.

-

On exit, you can't use a flag such as ready because you are watching for process nodes to go away. By using ephemeral nodes, processes that fail after the barrier has been entered do not prevent correct processes from finishing. When processes are ready to leave, they need to delete their process nodes and wait for all other processes to do the same.

-

Processes exit when there are no process nodes left as children of b. However, as an efficiency, you can use the lowest process node as the ready flag. All other processes that are ready to exit watch for the lowest existing process node to go away, and the owner of the lowest process watches for any other process node (picking the highest for simplicity) to go away. This means that only a single process wakes up on each node deletion except for the last node, which wakes up everyone when it is removed.

-

-

Queues

-

Distributed queues are a common data structure. To implement a distributed queue in ZooKeeper, first designate a znode to hold the queue, the queue node. The distributed clients put something into the queue by calling create() with a pathname ending in "queue-", with the sequence and ephemeral flags in the create() call set to true. Because the sequence flag is set, the new pathname will have the form path-to-queue-node/queue-X, where X is a monotonic increasing number. A client that wants to be removed from the queue calls ZooKeeper's getChildren( ) function, with watch set to true on the queue node, and begins processing nodes with the lowest number. The client does not need to issue another getChildren( ) until it exhausts the list obtained from the first getChildren( ) call. If there are no children in the queue node, the reader waits for a watch notification to check the queue again.

-
Note
-
-

There now exists a Queue implementation in ZooKeeper recipes directory. This is distributed with the release -- zookeeper-recipes/zookeeper-recipes-queue directory of the release artifact.

-
-

-

Priority Queues

-

To implement a priority queue, you need only make two simple changes to the generic queue recipe . First, to add to a queue, the pathname ends with "queue-YY" where YY is the priority of the element with lower numbers representing higher priority (just like UNIX). Second, when removing from the queue, a client uses an up-to-date children list meaning that the client will invalidate previously obtained children lists if a watch notification triggers for the queue node.

-

-

Locks

-

Fully distributed locks that are globally synchronous, meaning at any snapshot in time no two clients think they hold the same lock. These can be implemented using ZooKeeper. As with priority queues, first define a lock node.

-
Note
-
-

There now exists a Lock implementation in ZooKeeper recipes directory. This is distributed with the release -- zookeeper-recipes/zookeeper-recipes-lock directory of the release artifact.

-
-

Clients wishing to obtain a lock do the following:

-
    -
  1. Call create( ) with a pathname of "locknode/guid-lock-" and the sequence and ephemeral flags set. The guid is needed in case the create() result is missed. See the note below.
  2. -
  3. Call getChildren( ) on the lock node without setting the watch flag (this is important to avoid the herd effect).
  4. -
  5. If the pathname created in step 1 has the lowest sequence number suffix, the client has the lock and the client exits the protocol.
  6. -
  7. The client calls exists( ) with the watch flag set on the path in the lock directory with the next lowest sequence number.
  8. -
  9. if exists( ) returns null, go to step 2. Otherwise, wait for a notification for the pathname from the previous step before going to step 2.
  10. -
-

The unlock protocol is very simple: clients wishing to release a lock simply delete the node they created in step 1.

-

Here are a few things to notice:

-
    -
  • -

    The removal of a node will only cause one client to wake up since each node is watched by exactly one client. In this way, you avoid the herd effect.

    -
  • -
  • -

    There is no polling or timeouts.

    -
  • -
  • -

    Because of the way you implement locking, it is easy to see the amount of lock contention, break locks, debug locking problems, etc.

    -
  • -
-

-

Recoverable Errors and the GUID

-
    -
  • If a recoverable error occurs calling create() the client should call getChildren() and check for a node containing the guid used in the path name. This handles the case (noted above) of the create() succeeding on the server but the server crashing before returning the name of the new node.
  • -
-

-

Shared Locks

-

You can implement shared locks by with a few changes to the lock protocol:

- - - - - - - - - - - - -
Obtaining a read lock: Obtaining a write lock:
1. Call create( ) to create a node with pathname "guid-/read-". This is the lock node use later in the protocol. Make sure to set both the sequence and ephemeral flags. 1. Call create( ) to create a node with pathname "guid-/write-". This is the lock node spoken of later in the protocol. Make sure to set both sequence and ephemeral flags.
2. Call getChildren( ) on the lock node without setting the watch flag - this is important, as it avoids the herd effect. 2. Call getChildren( ) on the lock node without setting the watch flag - this is important, as it avoids the herd effect.
3. If there are no children with a pathname starting with "write-" and having a lower sequence number than the node created in step 1, the client has the lock and can exit the protocol. 3. If there are no children with a lower sequence number than the node created in step 1, the client has the lock and the client exits the protocol.
4. Otherwise, call exists( ), with watch flag, set on the node in lock directory with pathname starting with "write-" having the next lowest sequence number. 4. Call exists( ), with watch flag set, on the node with the pathname that has the next lowest sequence number.
5. If exists( ) returns false, goto step 2. 5. If exists( ) returns false, goto step 2. Otherwise, wait for a notification for the pathname from the previous step before going to step 2.
6. Otherwise, wait for a notification for the pathname from the previous step before going to step 2
-

Notes:

-
    -
  • -

    It might appear that this recipe creates a herd effect: when there is a large group of clients waiting for a read lock, and all getting notified more or less simultaneously when the "write-" node with the lowest sequence number is deleted. In fact. that's valid behavior: as all those waiting reader clients should be released since they have the lock. The herd effect refers to releasing a "herd" when in fact only a single or a small number of machines can proceed.

    -
  • -
  • -

    See the note for Locks on how to use the guid in the node.

    -
  • -
-

-

Revocable Shared Locks

-

With minor modifications to the Shared Lock protocol, you make shared locks revocable by modifying the shared lock protocol:

-

In step 1, of both obtain reader and writer lock protocols, call getData( ) with watch set, immediately after the call to create( ). If the client subsequently receives notification for the node it created in step 1, it does another getData( ) on that node, with watch set and looks for the string "unlock", which signals to the client that it must release the lock. This is because, according to this shared lock protocol, you can request the client with the lock give up the lock by calling setData() on the lock node, writing "unlock" to that node.

-

Note that this protocol requires the lock holder to consent to releasing the lock. Such consent is important, especially if the lock holder needs to do some processing before releasing the lock. Of course you can always implement Revocable Shared Locks with Freaking Laser Beams by stipulating in your protocol that the revoker is allowed to delete the lock node if after some length of time the lock isn't deleted by the lock holder.

-

-

Two-phased Commit

-

A two-phase commit protocol is an algorithm that lets all clients in a distributed system agree either to commit a transaction or abort.

-

In ZooKeeper, you can implement a two-phased commit by having a coordinator create a transaction node, say "/app/Tx", and one child node per participating site, say "/app/Tx/s_i". When coordinator creates the child node, it leaves the content undefined. Once each site involved in the transaction receives the transaction from the coordinator, the site reads each child node and sets a watch. Each site then processes the query and votes "commit" or "abort" by writing to its respective node. Once the write completes, the other sites are notified, and as soon as all sites have all votes, they can decide either "abort" or "commit". Note that a node can decide "abort" earlier if some site votes for "abort".

-

An interesting aspect of this implementation is that the only role of the coordinator is to decide upon the group of sites, to create the ZooKeeper nodes, and to propagate the transaction to the corresponding sites. In fact, even propagating the transaction can be done through ZooKeeper by writing it in the transaction node.

-

There are two important drawbacks of the approach described above. One is the message complexity, which is O(n²). The second is the impossibility of detecting failures of sites through ephemeral nodes. To detect the failure of a site using ephemeral nodes, it is necessary that the site create the node.

-

To solve the first problem, you can have only the coordinator notified of changes to the transaction nodes, and then notify the sites once coordinator reaches a decision. Note that this approach is scalable, but it is slower too, as it requires all communication to go through the coordinator.

-

To address the second problem, you can have the coordinator propagate the transaction to the sites, and have each site creating its own ephemeral node.

-

-

Leader Election

-

A simple way of doing leader election with ZooKeeper is to use the SEQUENCE|EPHEMERAL flags when creating znodes that represent "proposals" of clients. The idea is to have a znode, say "/election", such that each znode creates a child znode "/election/guid-n_" with both flags SEQUENCE|EPHEMERAL. With the sequence flag, ZooKeeper automatically appends a sequence number that is greater than anyone previously appended to a child of "/election". The process that created the znode with the smallest appended sequence number is the leader.

-

That's not all, though. It is important to watch for failures of the leader, so that a new client arises as the new leader in the case the current leader fails. A trivial solution is to have all application processes watching upon the current smallest znode, and checking if they are the new leader when the smallest znode goes away (note that the smallest znode will go away if the leader fails because the node is ephemeral). But this causes a herd effect: upon a failure of the current leader, all other processes receive a notification, and execute getChildren on "/election" to obtain the current list of children of "/election". If the number of clients is large, it causes a spike on the number of operations that ZooKeeper servers have to process. To avoid the herd effect, it is sufficient to watch for the next znode down on the sequence of znodes. If a client receives a notification that the znode it is watching is gone, then it becomes the new leader in the case that there is no smaller znode. Note that this avoids the herd effect by not having all clients watching the same znode.

-

Here's the pseudo code:

-

Let ELECTION be a path of choice of the application. To volunteer to be a leader:

-
    -
  1. Create znode z with path "ELECTION/guid-n_" with both SEQUENCE and EPHEMERAL flags;
  2. -
  3. Let C be the children of "ELECTION", and I am the sequence number of z;
  4. -
  5. Watch for changes on "ELECTION/guid-n_j", where j is the largest sequence number such that j < i and n_j is a znode in C;
  6. -
-

Upon receiving a notification of znode deletion:

-
    -
  1. Let C be the new set of children of ELECTION;
  2. -
  3. If z is the smallest node in C, then execute leader procedure;
  4. -
  5. Otherwise, watch for changes on "ELECTION/guid-n_j", where j is the largest sequence number such that j < i and n_j is a znode in C;
  6. -
-

Notes:

-
    -
  • -

    Note that the znode having no preceding znode on the list of children do not imply that the creator of this znode is aware that it is the current leader. Applications may consider creating a separate znode to acknowledge that the leader has executed the leader procedure.

    -
  • -
  • -

    See the note for Locks on how to use the guid in the node.

    -
  • -
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/releasenotes.html b/content/doc/r3.9.5/releasenotes.html deleted file mode 100644 index f54635fc3fa..00000000000 --- a/content/doc/r3.9.5/releasenotes.html +++ /dev/null @@ -1,452 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

Release Notes - ZooKeeper - Version 3.9.5

-

Sub-task

-
    -
  • ZOOKEEPER-842 - stat calls static method on org.apache.zookeeper.server.DataTree
  • -
-

Bug

-
    -
  • ZOOKEEPER-4736 - socket fd leak
  • -
  • ZOOKEEPER-4871 - ZooKeeper python module (zkpython) is incompatible with Python 3.12
  • -
  • ZOOKEEPER-4958 - "ssl.clientHostnameVerification" is ignored if "ssl.authProvider" is configured to "x509"
  • -
  • ZOOKEEPER-4974 - Remove enforced JDK 17 compilation warnings
  • -
  • ZOOKEEPER-4984 - Upgrade OWASP plugin to 12.1.6 due to breaking changes in the API
  • -
  • ZOOKEEPER-4986 - Disable reverse DNS lookup in TLS client and server
  • -
  • ZOOKEEPER-4989 - Compilation of client on Windows with MSVC is broken
  • -
-

Improvement

-
    -
  • ZOOKEEPER-3938 - Upgrade jline to version 3.x.
  • -
  • ZOOKEEPER-4955 - Fix intererence with jvm ssl properties for ssl.crl and ssl.ocsp
  • -
  • ZOOKEEPER-4962 - Add getPort and getSecurePort for ZooKeeperServerEmbedded
  • -
  • ZOOKEEPER-4965 - Drop unnecessary {{@SuppressWarnings("deprecation")}}
  • -
  • ZOOKEEPER-4970 - Deprecate methods of ZKConfig which throw QuorumPeerConfig.ConfigException
  • -
-

Test

-
    -
  • ZOOKEEPER-4780 - Avoid creating temporary files in source directory.
  • -
-

Task

-
    -
  • ZOOKEEPER-4976 - Update Netty to fix CVE-2025-58057
  • -
  • ZOOKEEPER-5017 - Upgrade Netty to 4.1.130.Final to address CVE-2025-67735
  • -
  • ZOOKEEPER-5018 - Upgrade Jetty to 9.4.58.v20250814 in order to fix CVE-2025-5115
  • -
-

 

-

Release Notes - ZooKeeper - Version 3.9.4

-

Breaking changes

-
    -
  • ZOOKEEPER-4891 updates logback-classic to 1.3.15 to solve cve issues and slf4j-api to 2.0.13 to meet compatibilty requirement of logback.
  • -
-

This could cause slf4j to complain "No SLF4J providers were found" and output no further logs in certain conditions. 1. For library or client usage, this could happen if you specify and inherit incompatible slf4j and logback versions, say, slf4j-api:2.0.13 from org.apache.zookeeper:zookeeper and logback-classic:1.2.13 from customized project dependencies. 2. For application or deployment usage, this could happen if you custom and inherit incompatible slf4j and logback versions in classpath, say, slf4j-api:2.0.13 from zookeeper distribution and logback-classic:1.2.13 from customization.

-

This could be solved by specifying compatiable slf4j and logback versions in classpath, say, slf4j-api:2.0.13 and logback-classic:1.3.15.

-

Bug

-
    -
  • ZOOKEEPER-4020 - Memory leak in Zookeeper C Client
  • -
  • ZOOKEEPER-4240 - IPV6 support in ZooKeeper ACL
  • -
  • ZOOKEEPER-4604 - Creating a COMPLETION_STRING_STAT would set acl_result completion
  • -
  • ZOOKEEPER-4699 - zh->hostname heap-use-after-free in zookeeper_interest
  • -
  • ZOOKEEPER-4725 - TTL node creations do not appear in audit log
  • -
  • ZOOKEEPER-4787 - Failed to establish connection between zookeeper
  • -
  • ZOOKEEPER-4810 - Fix data race in format_endpoint_info()
  • -
  • ZOOKEEPER-4819 - Can't seek for writable tls server if connected to readonly server
  • -
  • ZOOKEEPER-4846 - Failure to reload database due to missing ACL
  • -
  • ZOOKEEPER-4848 - Possible stack overflow in setup_random
  • -
  • ZOOKEEPER-4858 - Remove the lock contention between snapshotting and the sync operation
  • -
  • ZOOKEEPER-4872 - SnapshotCommand should not perform fastForwardFromEdits
  • -
  • ZOOKEEPER-4886 - observer with small myid can't join SASL quorum
  • -
  • ZOOKEEPER-4889 - Fallback to DIGEST-MD5 auth mech should be disabled in Fips mode
  • -
  • ZOOKEEPER-4900 - Bump patch release of jetty to include CVE fix for CVE-2024-6763
  • -
  • ZOOKEEPER-4907 - Shouldn't throw "Len error" when server closing cause confusion
  • -
  • ZOOKEEPER-4909 - When a spurious wakeup occurs, the client’s waiting time may exceed requestTimeout.
  • -
  • ZOOKEEPER-4919 - ResponseCache supposed to be a LRU cache
  • -
  • ZOOKEEPER-4921 - Zookeeper Client 3.9.3 Fails to Reconnect After Network Failures
  • -
  • ZOOKEEPER-4925 - Diff sync introduce hole in stale follower's committedLog which cause data loss in leading
  • -
  • ZOOKEEPER-4928 - Version in zookeeper_version.h is not updated
  • -
  • ZOOKEEPER-4933 - Connection throttle exception causing all connections to be rejected
  • -
  • ZOOKEEPER-4940 - Enabling zookeeper.ssl.ocsp with JRE TLS provider errors out
  • -
  • ZOOKEEPER-4953 - Fixing Typo In ZooKeeper Programmer's Guide
  • -
  • ZOOKEEPER-4960 - Upgrade OWASP plugin to 12.1.3 due to recent parsing errors
  • -
-

New Feature

-
    -
  • ZOOKEEPER-4895 - Introduce a helper function for C client to generate password for SASL authentication
  • -
-

Improvement

-
    -
  • ZOOKEEPER-4790 - TLS Quorum hostname verification breaks in some scenarios
  • -
  • ZOOKEEPER-4852 - Fix the bad "*uuuuu" mark in the ASF license
  • -
  • ZOOKEEPER-4891 - Update logback to 1.3.15 to fix CVE-2024-12798.
  • -
  • ZOOKEEPER-4902 - Document that read-only mode also enables isro 4lw
  • -
  • ZOOKEEPER-4906 - Log full exception details for server JAAS config failure
  • -
  • ZOOKEEPER-4944 - Cache zookeeper dists for end to end compatibility tests
  • -
  • ZOOKEEPER-4954 - Use FIPS style hostname verification when no custom truststore is specified
  • -
  • ZOOKEEPER-4964 - Check permissions individually during admin server auth
  • -
-

Task

- -

 

-

Release Notes - ZooKeeper - Version 3.9.3

-

Bug

-
    -
  • ZOOKEEPER-2332 - Zookeeper failed to start for empty txn log
  • -
  • ZOOKEEPER-2623 - CheckVersion outside of Multi causes NullPointerException
  • -
  • ZOOKEEPER-4293 - Lock Contention in ClientCnxnSocketNetty (possible deadlock)
  • -
  • ZOOKEEPER-4394 - Learner.syncWithLeader got NullPointerException
  • -
  • ZOOKEEPER-4409 - NullPointerException in SendAckRequestProcessor
  • -
  • ZOOKEEPER-4508 - ZooKeeper client run to endless loop in ClientCnxn.SendThread.run if all server down
  • -
  • ZOOKEEPER-4712 - Follower.shutdown() and Observer.shutdown() do not correctly shutdown the syncProcessor, which may lead to data inconsistency
  • -
  • ZOOKEEPER-4733 - non-return function error and asan error in CPPUNIT TESTs
  • -
  • ZOOKEEPER-4752 - Remove version files in zookeeper-server/src/main from .gitignore
  • -
  • ZOOKEEPER-4804 - Use daemon threads for Netty client
  • -
  • ZOOKEEPER-4814 - Protocol desynchronization after Connect for (some) old clients
  • -
  • ZOOKEEPER-4839 - When DigestMD5 is used to enable mandatory client authentication,Users that do not exist can log in
  • -
  • ZOOKEEPER-4843 - Encountering an 'Unreasonable Length' error when configuring jute.maxbuffer to 1GB or more
  • -
  • ZOOKEEPER-4876 - jetty-http-9.4.53.v20231009.jar: CVE-2024-6763(3.7)
  • -
-

New Feature

-
    -
  • ZOOKEEPER-4747 - Java api lacks synchronous version of sync() call
  • -
-

Improvement

-
    -
  • ZOOKEEPER-4850 - Enhance zkCli Tool to Support Reading and Writing Binary Data
  • -
  • ZOOKEEPER-4851 - Honor X-Forwarded-For optionally in IPAuthenticationProvider
  • -
  • ZOOKEEPER-4860 - Disable X-Forwarded-For in IPAuthenticationProvider by default
  • -
-

Test

- -

Task

- -

 

-

Release Notes - ZooKeeper - Version 3.9.2

-

Sub-task

-
    -
  • ZOOKEEPER-910 - Use SelectionKey.isXYZ() methods instead of complicated binary logic
  • -
  • ZOOKEEPER-4728 - Zookeepr cannot bind to itself forever if DNS is not ready when startup
  • -
-

Bug

-
    -
  • ZOOKEEPER-2590 - exists() should check read ACL permission
  • -
  • ZOOKEEPER-4236 - Java Client SendThread create many unnecessary Login objects
  • -
  • ZOOKEEPER-4415 - Zookeeper 3.7.0 : The client supported protocol versions [TLSv1.3] are not accepted by server preferences
  • -
  • ZOOKEEPER-4730 - Incorrect datadir and logdir size reported from admin and 4lw dirs command
  • -
  • ZOOKEEPER-4785 - Txn loss due to race condition in Learner.syncWithLeader() during DIFF sync
  • -
-

Improvement

-
    -
  • ZOOKEEPER-3486 - add the doc about how to configure SSL/TLS for the admin server
  • -
  • ZOOKEEPER-4756 - Merge script should use GitHub api to merge pull requests
  • -
  • ZOOKEEPER-4778 - Patch jetty, netty, and logback to remove high severity vulnerabilities
  • -
  • ZOOKEEPER-4794 - Reduce the ZKDatabase#committedLog memory usage
  • -
  • ZOOKEEPER-4801 - Add memory size limitation policy for ZkDataBase#committedLog
  • -
  • ZOOKEEPER-4799 - Refactor ACL check in addWatch command
  • -
-

Wish

- -

 

-

Release Notes - ZooKeeper - Version 3.9.1

-

Improvement

- -

Task

-
    -
  • ZOOKEEPER-4751 - Update snappy-java to 1.1.10.5 to address CVE-2023-43642
  • -
  • ZOOKEEPER-4754 - Update Jetty to avoid CVE-2023-36479, CVE-2023-40167, and CVE-2023-41900
  • -
  • ZOOKEEPER-4755 - Handle Netty CVE-2023-4586
  • -
-

 

-

Release Notes - ZooKeeper - Version 3.9.0

-

Sub-task

- -

Bug

-
    -
  • ZOOKEEPER-2108 - Compilation error in ZkAdaptor.cc with GCC 4.7 or later
  • -
  • ZOOKEEPER-3652 - Improper synchronization in ClientCnxn
  • -
  • ZOOKEEPER-3908 - zktreeutil multiple issues
  • -
  • ZOOKEEPER-3996 - Flaky test: ReadOnlyModeTest.testConnectionEvents
  • -
  • ZOOKEEPER-4026 - CREATE2 requests embeded in a MULTI request only get a regular CREATE response
  • -
  • ZOOKEEPER-4296 - NullPointerException when ClientCnxnSocketNetty is closed without being opened
  • -
  • ZOOKEEPER-4308 - Flaky test: EagerACLFilterTest.testSetDataFail
  • -
  • ZOOKEEPER-4393 - Problem to connect to zookeeper in FIPS mode
  • -
  • ZOOKEEPER-4466 - Support different watch modes on same path
  • -
  • ZOOKEEPER-4471 - Remove WatcherType.Children break persistent watcher's child events
  • -
  • ZOOKEEPER-4473 - zooInspector create root node fail with path validate
  • -
  • ZOOKEEPER-4475 - Persistent recursive watcher got NodeChildrenChanged event
  • -
  • ZOOKEEPER-4477 - Single Kerberos ticket renewal failure can prevent all future renewals since Java 9
  • -
  • ZOOKEEPER-4504 - ZKUtil#deleteRecursive causing deadlock in HDFS HA functionality
  • -
  • ZOOKEEPER-4505 - CVE-2020-36518 - Upgrade jackson databind to 2.13.2.1
  • -
  • ZOOKEEPER-4511 - Flaky test: FileTxnSnapLogMetricsTest.testFileTxnSnapLogMetrics
  • -
  • ZOOKEEPER-4514 - ClientCnxnSocketNetty throwing NPE
  • -
  • ZOOKEEPER-4515 - ZK Cli quit command always logs error
  • -
  • ZOOKEEPER-4537 - Race between SyncThread and CommitProcessor thread
  • -
  • ZOOKEEPER-4549 - ProviderRegistry may be repeatedly initialized
  • -
  • ZOOKEEPER-4565 - Config watch path get truncated abnormally and fail chroot zookeeper client
  • -
  • ZOOKEEPER-4647 - Tests don't pass on JDK20 because we try to mock InetAddress
  • -
  • ZOOKEEPER-4654 - Fix C client test compilation error in Util.cc.
  • -
  • ZOOKEEPER-4674 - C client tests don't pass on CI
  • -
  • ZOOKEEPER-4719 - Use bouncycastle jdk18on instead of jdk15on
  • -
  • ZOOKEEPER-4721 - Upgrade OWASP Dependency Check to 8.3.1
  • -
-

New Feature

-
    -
  • ZOOKEEPER-4570 - Admin server API for taking snapshot and stream out the data
  • -
  • ZOOKEEPER-4655 - Communicate the Zxid that triggered a WatchEvent to fire
  • -
-

Improvement

- -

Test

-
    -
  • ZOOKEEPER-4630 - Fix the NPE from ConnectionMetricsTest.testRevalidateCount
  • -
  • ZOOKEEPER-4676 - ReadOnlyModeTest doesn't not compile on JDK20 (Thread.suspend has been removed)
  • -
-

Wish

-
    -
  • ZOOKEEPER-3615 - write a TLA+ specification to verify Zab protocol
  • -
  • ZOOKEEPER-4710 - Fix ZkUtil deleteInBatch() by releasing semaphore after set flag
  • -
  • ZOOKEEPER-4714 - Improve syncRequestProcessor performance
  • -
  • ZOOKEEPER-4715 - Verify file size and position in testGetCurrentLogSize.
  • -
-

Task

- -

 

-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/skin/basic.css b/content/doc/r3.9.5/skin/basic.css deleted file mode 100644 index 01c383da891..00000000000 --- a/content/doc/r3.9.5/skin/basic.css +++ /dev/null @@ -1,167 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You 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. -*/ -/** - * General - */ - -img { border: 0; } - -#content table { - border: 0; - width: 100%; -} -/*Hack to get IE to render the table at 100%*/ -* html #content table { margin-left: -3px; } - -#content th, -#content td { - margin: 0; - padding: 0; - vertical-align: top; -} - -.clearboth { - clear: both; -} - -.note, .warning, .fixme { - clear:right; - border: solid black 1px; - margin: 1em 3em; -} - -.note .label { - background: #369; - color: white; - font-weight: bold; - padding: 5px 10px; -} -.note .content { - background: #F0F0FF; - color: black; - line-height: 120%; - font-size: 90%; - padding: 5px 10px; -} -.warning .label { - background: #C00; - color: white; - font-weight: bold; - padding: 5px 10px; -} -.warning .content { - background: #FFF0F0; - color: black; - line-height: 120%; - font-size: 90%; - padding: 5px 10px; -} -.fixme .label { - background: #C6C600; - color: black; - font-weight: bold; - padding: 5px 10px; -} -.fixme .content { - padding: 5px 10px; -} - -/** - * Typography - */ - -body { - font-family: verdana, "Trebuchet MS", arial, helvetica, sans-serif; - font-size: 100%; -} - -#content { - font-family: Georgia, Palatino, Times, serif; - font-size: 95%; -} -#tabs { - font-size: 70%; -} -#menu { - font-size: 80%; -} -#footer { - font-size: 70%; -} - -h1, h2, h3, h4, h5, h6 { - font-family: "Trebuchet MS", verdana, arial, helvetica, sans-serif; - font-weight: bold; - margin-top: 1em; - margin-bottom: .5em; -} - -h1 { - margin-top: 0; - margin-bottom: 1em; - font-size: 1.4em; -} -#content h1 { - font-size: 160%; - margin-bottom: .5em; -} -#menu h1 { - margin: 0; - padding: 10px; - background: #336699; - color: white; -} -h2 { font-size: 120%; } -h3 { font-size: 100%; } -h4 { font-size: 90%; } -h5 { font-size: 80%; } -h6 { font-size: 75%; } - -p { - line-height: 120%; - text-align: left; - margin-top: .5em; - margin-bottom: 1em; -} - -#content li, -#content th, -#content td, -#content li ul, -#content li ol{ - margin-top: .5em; - margin-bottom: .5em; -} - - -#content li li, -#minitoc-area li{ - margin-top: 0em; - margin-bottom: 0em; -} - -#content .attribution { - text-align: right; - font-style: italic; - font-size: 85%; - margin-top: 1em; -} - -.codefrag { - font-family: "Courier New", Courier, monospace; - font-size: 110%; -} \ No newline at end of file diff --git a/content/doc/r3.9.5/skin/chapter.gif b/content/doc/r3.9.5/skin/chapter.gif deleted file mode 100644 index d3d8245d0c7..00000000000 Binary files a/content/doc/r3.9.5/skin/chapter.gif and /dev/null differ diff --git a/content/doc/r3.9.5/skin/chapter_open.gif b/content/doc/r3.9.5/skin/chapter_open.gif deleted file mode 100644 index eecce18b50a..00000000000 Binary files a/content/doc/r3.9.5/skin/chapter_open.gif and /dev/null differ diff --git a/content/doc/r3.9.5/skin/current.gif b/content/doc/r3.9.5/skin/current.gif deleted file mode 100644 index fd82c082012..00000000000 Binary files a/content/doc/r3.9.5/skin/current.gif and /dev/null differ diff --git a/content/doc/r3.9.5/skin/getBlank.js b/content/doc/r3.9.5/skin/getBlank.js deleted file mode 100644 index d9978c0b3e6..00000000000 --- a/content/doc/r3.9.5/skin/getBlank.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You 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. -*/ -/** - * getBlank script - when included in a html file and called from a form text field, will set the value of this field to "" - * if the text value is still the standard value. - * getPrompt script - when included in a html file and called from a form text field, will set the value of this field to the prompt - * if the text value is empty. - * - * Typical usage: - * - * - */ - diff --git a/content/doc/r3.9.5/skin/getMenu.js b/content/doc/r3.9.5/skin/getMenu.js deleted file mode 100644 index 6878b2653b8..00000000000 --- a/content/doc/r3.9.5/skin/getMenu.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You 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. -*/ -/** - * This script, when included in a html file, can be used to make collapsible menus - * - * Typical usage: - * - */ - -if (document.getElementById){ - document.write('') -} - - -function SwitchMenu(obj, thePath) -{ -var open = 'url("'+thePath + 'chapter_open.gif")'; -var close = 'url("'+thePath + 'chapter.gif")'; - if(document.getElementById) { - var el = document.getElementById(obj); - var title = document.getElementById(obj+'Title'); - - if(el.style.display != "block"){ - title.style.backgroundImage = open; - el.style.display = "block"; - }else{ - title.style.backgroundImage = close; - el.style.display = "none"; - } - }// end - if(document.getElementById) -}//end - function SwitchMenu(obj) diff --git a/content/doc/r3.9.5/skin/header_white_line.gif b/content/doc/r3.9.5/skin/header_white_line.gif deleted file mode 100644 index 369cae8dcf2..00000000000 Binary files a/content/doc/r3.9.5/skin/header_white_line.gif and /dev/null differ diff --git a/content/doc/r3.9.5/skin/init.js b/content/doc/r3.9.5/skin/init.js deleted file mode 100644 index fa40beb7545..00000000000 --- a/content/doc/r3.9.5/skin/init.js +++ /dev/null @@ -1,57 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You 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. -*/ -/** - * This script, when included in a html file, can be used to make collapsible menus - * - * Typical usage: - * - */ - -function getFileName(url){ - var fileName = url.substring(url.lastIndexOf('/')+1); - return fileName; -} - -function init(){ - var url = window .location.pathname; - var fileName = getFileName(url); - - var menuItemGroup = document.getElementById("menu").children; - - for (i = 0; i < menuItemGroup.length; i++) { - if("menutitle" === menuItemGroup[i].className){ - continue; - } - var menuItem = menuItemGroup[i].children; - if(menuItem.length>0){ - for (j = 0; j < menuItem.length; j++) { - if(menuItem[j].firstElementChild != null){ - var linkItem = menuItem[j].firstElementChild; - if('a' === linkItem.localName){ - var linkFile = getFileName(linkItem.href); - if(fileName === linkFile && linkItem.href.lastIndexOf("apidocs/zookeeper-server/index.html")<0){ - linkItem.className = "selected"; - linkItem.parentNode.parentNode.className = "selectedmenuitemgroup"; - var title = document.getElementById(linkItem.parentNode.parentNode.id+"Title"); - title.className="menutitle selected"; - } - } - } - } - } - } -} diff --git a/content/doc/r3.9.5/skin/instruction_arrow.png b/content/doc/r3.9.5/skin/instruction_arrow.png deleted file mode 100644 index 0fbc72452bf..00000000000 Binary files a/content/doc/r3.9.5/skin/instruction_arrow.png and /dev/null differ diff --git a/content/doc/r3.9.5/skin/menu.js b/content/doc/r3.9.5/skin/menu.js deleted file mode 100644 index 06ea471dc57..00000000000 --- a/content/doc/r3.9.5/skin/menu.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You 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. -*/ -/** - * This script, when included in a html file, can be used to make collapsible menus - * - * Typical usage: - * - */ - -if (document.getElementById){ - document.write('') -} - -function SwitchMenu(obj) -{ - if(document.getElementById) { - var el = document.getElementById(obj); - var title = document.getElementById(obj+'Title'); - - if(obj.indexOf("_selected_")==0&&el.style.display == ""){ - el.style.display = "block"; - title.className = "pagegroupselected"; - } - - if(el.style.display != "block"){ - el.style.display = "block"; - title.className = "pagegroupopen"; - } - else{ - el.style.display = "none"; - title.className = "pagegroup"; - } - }// end - if(document.getElementById) -}//end - function SwitchMenu(obj) diff --git a/content/doc/r3.9.5/skin/page.gif b/content/doc/r3.9.5/skin/page.gif deleted file mode 100644 index a144d3295be..00000000000 Binary files a/content/doc/r3.9.5/skin/page.gif and /dev/null differ diff --git a/content/doc/r3.9.5/skin/print.css b/content/doc/r3.9.5/skin/print.css deleted file mode 100644 index aaa99319acd..00000000000 --- a/content/doc/r3.9.5/skin/print.css +++ /dev/null @@ -1,54 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You 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. -*/ -body { - font-family: Georgia, Palatino, serif; - font-size: 12pt; - background: white; -} - -#tabs, -#menu, -#content .toc { - display: none; -} - -#content { - width: auto; - padding: 0; - float: none !important; - color: black; - background: inherit; -} - -a:link, a:visited { - color: #336699; - background: inherit; - text-decoration: underline; -} - -#top .logo { - padding: 0; - margin: 0 0 2em 0; -} - -#footer { - margin-top: 4em; -} - -acronym { - border: 0; -} \ No newline at end of file diff --git a/content/doc/r3.9.5/skin/printer.gif b/content/doc/r3.9.5/skin/printer.gif deleted file mode 100644 index a8d0d419c90..00000000000 Binary files a/content/doc/r3.9.5/skin/printer.gif and /dev/null differ diff --git a/content/doc/r3.9.5/skin/profile.css b/content/doc/r3.9.5/skin/profile.css deleted file mode 100644 index 190e74f32ac..00000000000 --- a/content/doc/r3.9.5/skin/profile.css +++ /dev/null @@ -1,159 +0,0 @@ - - -/* ==================== aural ============================ */ - -@media aural { - h1, h2, h3, h4, h5, h6 { voice-family: paul, male; stress: 20; richness: 90 } - h1 { pitch: x-low; pitch-range: 90 } - h2 { pitch: x-low; pitch-range: 80 } - h3 { pitch: low; pitch-range: 70 } - h4 { pitch: medium; pitch-range: 60 } - h5 { pitch: medium; pitch-range: 50 } - h6 { pitch: medium; pitch-range: 40 } - li, dt, dd { pitch: medium; richness: 60 } - dt { stress: 80 } - pre, code, tt { pitch: medium; pitch-range: 0; stress: 0; richness: 80 } - em { pitch: medium; pitch-range: 60; stress: 60; richness: 50 } - strong { pitch: medium; pitch-range: 60; stress: 90; richness: 90 } - dfn { pitch: high; pitch-range: 60; stress: 60 } - s, strike { richness: 0 } - i { pitch: medium; pitch-range: 60; stress: 60; richness: 50 } - b { pitch: medium; pitch-range: 60; stress: 90; richness: 90 } - u { richness: 0 } - - :link { voice-family: harry, male } - :visited { voice-family: betty, female } - :active { voice-family: betty, female; pitch-range: 80; pitch: x-high } -} - -#top { background-color: #FFFFFF;} - -#top .header .current { background-color: #4C6C8F;} -#top .header .current a:link { color: #ffffff; } -#top .header .current a:visited { color: #ffffff; } -#top .header .current a:hover { color: #ffffff; } - -#tabs li { background-color: #E5E4D9 ;} -#tabs li a:link { color: #000000; } -#tabs li a:visited { color: #000000; } -#tabs li a:hover { color: #000000; } - -#level2tabs a.selected { background-color: #4C6C8F ;} -#level2tabs a:link { color: #ffffff; } -#level2tabs a:visited { color: #ffffff; } -#level2tabs a:hover { color: #ffffff; } - -#level2tabs { background-color: #E5E4D9;} -#level2tabs a.unselected:link { color: #000000; } -#level2tabs a.unselected:visited { color: #000000; } -#level2tabs a.unselected:hover { color: #000000; } - -.heading { background-color: #E5E4D9;} - -.boxed { background-color: #E5E4D9;} -.underlined_5 {border-bottom: solid 5px #E5E4D9;} -.underlined_10 {border-bottom: solid 10px #E5E4D9;} -table caption { -background-color: #E5E4D9; -color: #000000; -} - -#feedback { -color: #FFFFFF; -background: #4C6C8F; -text-align: center; -} -#feedback #feedbackto { -color: #FFFFFF; -} - -#publishedStrip { -color: #FFFFFF; -background: #4C6C8F; -} - -#publishedStrip { -color: #000000; -background: #E5E4D9; -} - -#menu a.selected { background-color: #CFDCED; - border-color: #999999; - color: #000000;} -#menu a.selected:visited { color: #000000;} - -#menu { border-color: #999999;} -#menu .menupageitemgroup { border-color: #999999;} - -#menu { background-color: #4C6C8F;} -#menu { color: #ffffff;} -#menu a:link { color: #ffffff;} -#menu a:visited { color: #ffffff;} -#menu a:hover { -background-color: #4C6C8F; -color: #ffffff;} - -#menu h1 { -color: #000000; -background-color: #cfdced; -} - -#top .searchbox { -background-color: #E5E4D9 ; -color: #000000; -} - -#menu .menupageitemgroup { -background-color: #E5E4D9; -} -#menu .menupageitem { -color: #000000; -} -#menu .menupageitem a:link { color: #000000;} -#menu .menupageitem a:visited { color: #000000;} -#menu .menupageitem a:hover { -background-color: #E5E4D9; -color: #000000; -} - -body{ -background-color: #ffffff; -color: #000000; -} -a:link { color:#0000ff} -a:visited { color:#009999} -a:hover { color:#6587ff} - - -.ForrestTable { background-color: #ccc;} - -.ForrestTable td { background-color: #ffffff;} - -.highlight { background-color: #ffff00;} - -.fixme { border-color: #c60;} - -.note { border-color: #069;} - -.warning { border-color: #900;} - -#footer { background-color: #E5E4D9;} -/* extra-css */ - - p.quote { - margin-left: 2em; - padding: .5em; - background-color: #f0f0f0; - font-family: monospace; - } - - pre { - margin-left: 0em; - padding: 0.5em; - background-color: #f0f0f0; - font-family: monospace; - } - - - - \ No newline at end of file diff --git a/content/doc/r3.9.5/skin/prototype.js b/content/doc/r3.9.5/skin/prototype.js deleted file mode 100644 index cc89dafcd6a..00000000000 --- a/content/doc/r3.9.5/skin/prototype.js +++ /dev/null @@ -1,7588 +0,0 @@ -/* Prototype JavaScript framework, version 1.7.3 - * (c) 2005-2010 Sam Stephenson - * - * Prototype is freely distributable under the terms of an MIT-style license. - * For details, see the Prototype web site: http://www.prototypejs.org/ - * - *--------------------------------------------------------------------------*/ - -var Prototype = { - - Version: '1.7.3', - - Browser: (function(){ - var ua = navigator.userAgent; - var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]'; - return { - IE: !!window.attachEvent && !isOpera, - Opera: isOpera, - WebKit: ua.indexOf('AppleWebKit/') > -1, - Gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') === -1, - MobileSafari: /Apple.*Mobile/.test(ua) - } - })(), - - BrowserFeatures: { - XPath: !!document.evaluate, - - SelectorsAPI: !!document.querySelector, - - ElementExtensions: (function() { - var constructor = window.Element || window.HTMLElement; - return !!(constructor && constructor.prototype); - })(), - SpecificElementExtensions: (function() { - if (typeof window.HTMLDivElement !== 'undefined') - return true; - - var div = document.createElement('div'), - form = document.createElement('form'), - isSupported = false; - - if (div['__proto__'] && (div['__proto__'] !== form['__proto__'])) { - isSupported = true; - } - - div = form = null; - - return isSupported; - })() - }, - - ScriptFragment: ']*>([\\S\\s]*?)<\/script\\s*>', - JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/, - - emptyFunction: function() { }, - - K: function(x) { return x } -}; - -if (Prototype.Browser.MobileSafari) - Prototype.BrowserFeatures.SpecificElementExtensions = false; -/* Based on Alex Arnell's inheritance implementation. */ - -var Class = (function() { - - var IS_DONTENUM_BUGGY = (function(){ - for (var p in { toString: 1 }) { - if (p === 'toString') return false; - } - return true; - })(); - - function subclass() {}; - function create() { - var parent = null, properties = $A(arguments); - if (Object.isFunction(properties[0])) - parent = properties.shift(); - - function klass() { - this.initialize.apply(this, arguments); - } - - Object.extend(klass, Class.Methods); - klass.superclass = parent; - klass.subclasses = []; - - if (parent) { - subclass.prototype = parent.prototype; - klass.prototype = new subclass; - parent.subclasses.push(klass); - } - - for (var i = 0, length = properties.length; i < length; i++) - klass.addMethods(properties[i]); - - if (!klass.prototype.initialize) - klass.prototype.initialize = Prototype.emptyFunction; - - klass.prototype.constructor = klass; - return klass; - } - - function addMethods(source) { - var ancestor = this.superclass && this.superclass.prototype, - properties = Object.keys(source); - - if (IS_DONTENUM_BUGGY) { - if (source.toString != Object.prototype.toString) - properties.push("toString"); - if (source.valueOf != Object.prototype.valueOf) - properties.push("valueOf"); - } - - for (var i = 0, length = properties.length; i < length; i++) { - var property = properties[i], value = source[property]; - if (ancestor && Object.isFunction(value) && - value.argumentNames()[0] == "$super") { - var method = value; - value = (function(m) { - return function() { return ancestor[m].apply(this, arguments); }; - })(property).wrap(method); - - value.valueOf = (function(method) { - return function() { return method.valueOf.call(method); }; - })(method); - - value.toString = (function(method) { - return function() { return method.toString.call(method); }; - })(method); - } - this.prototype[property] = value; - } - - return this; - } - - return { - create: create, - Methods: { - addMethods: addMethods - } - }; -})(); -(function() { - - var _toString = Object.prototype.toString, - _hasOwnProperty = Object.prototype.hasOwnProperty, - NULL_TYPE = 'Null', - UNDEFINED_TYPE = 'Undefined', - BOOLEAN_TYPE = 'Boolean', - NUMBER_TYPE = 'Number', - STRING_TYPE = 'String', - OBJECT_TYPE = 'Object', - FUNCTION_CLASS = '[object Function]', - BOOLEAN_CLASS = '[object Boolean]', - NUMBER_CLASS = '[object Number]', - STRING_CLASS = '[object String]', - ARRAY_CLASS = '[object Array]', - DATE_CLASS = '[object Date]', - NATIVE_JSON_STRINGIFY_SUPPORT = window.JSON && - typeof JSON.stringify === 'function' && - JSON.stringify(0) === '0' && - typeof JSON.stringify(Prototype.K) === 'undefined'; - - - - var DONT_ENUMS = ['toString', 'toLocaleString', 'valueOf', - 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor']; - - var IS_DONTENUM_BUGGY = (function(){ - for (var p in { toString: 1 }) { - if (p === 'toString') return false; - } - return true; - })(); - - function Type(o) { - switch(o) { - case null: return NULL_TYPE; - case (void 0): return UNDEFINED_TYPE; - } - var type = typeof o; - switch(type) { - case 'boolean': return BOOLEAN_TYPE; - case 'number': return NUMBER_TYPE; - case 'string': return STRING_TYPE; - } - return OBJECT_TYPE; - } - - function extend(destination, source) { - for (var property in source) - destination[property] = source[property]; - return destination; - } - - function inspect(object) { - try { - if (isUndefined(object)) return 'undefined'; - if (object === null) return 'null'; - return object.inspect ? object.inspect() : String(object); - } catch (e) { - if (e instanceof RangeError) return '...'; - throw e; - } - } - - function toJSON(value) { - return Str('', { '': value }, []); - } - - function Str(key, holder, stack) { - var value = holder[key]; - if (Type(value) === OBJECT_TYPE && typeof value.toJSON === 'function') { - value = value.toJSON(key); - } - - var _class = _toString.call(value); - - switch (_class) { - case NUMBER_CLASS: - case BOOLEAN_CLASS: - case STRING_CLASS: - value = value.valueOf(); - } - - switch (value) { - case null: return 'null'; - case true: return 'true'; - case false: return 'false'; - } - - var type = typeof value; - switch (type) { - case 'string': - return value.inspect(true); - case 'number': - return isFinite(value) ? String(value) : 'null'; - case 'object': - - for (var i = 0, length = stack.length; i < length; i++) { - if (stack[i] === value) { - throw new TypeError("Cyclic reference to '" + value + "' in object"); - } - } - stack.push(value); - - var partial = []; - if (_class === ARRAY_CLASS) { - for (var i = 0, length = value.length; i < length; i++) { - var str = Str(i, value, stack); - partial.push(typeof str === 'undefined' ? 'null' : str); - } - partial = '[' + partial.join(',') + ']'; - } else { - var keys = Object.keys(value); - for (var i = 0, length = keys.length; i < length; i++) { - var key = keys[i], str = Str(key, value, stack); - if (typeof str !== "undefined") { - partial.push(key.inspect(true)+ ':' + str); - } - } - partial = '{' + partial.join(',') + '}'; - } - stack.pop(); - return partial; - } - } - - function stringify(object) { - return JSON.stringify(object); - } - - function toQueryString(object) { - return $H(object).toQueryString(); - } - - function toHTML(object) { - return object && object.toHTML ? object.toHTML() : String.interpret(object); - } - - function keys(object) { - if (Type(object) !== OBJECT_TYPE) { throw new TypeError(); } - var results = []; - for (var property in object) { - if (_hasOwnProperty.call(object, property)) - results.push(property); - } - - if (IS_DONTENUM_BUGGY) { - for (var i = 0; property = DONT_ENUMS[i]; i++) { - if (_hasOwnProperty.call(object, property)) - results.push(property); - } - } - - return results; - } - - function values(object) { - var results = []; - for (var property in object) - results.push(object[property]); - return results; - } - - function clone(object) { - return extend({ }, object); - } - - function isElement(object) { - return !!(object && object.nodeType == 1); - } - - function isArray(object) { - return _toString.call(object) === ARRAY_CLASS; - } - - var hasNativeIsArray = (typeof Array.isArray == 'function') - && Array.isArray([]) && !Array.isArray({}); - - if (hasNativeIsArray) { - isArray = Array.isArray; - } - - function isHash(object) { - return object instanceof Hash; - } - - function isFunction(object) { - return _toString.call(object) === FUNCTION_CLASS; - } - - function isString(object) { - return _toString.call(object) === STRING_CLASS; - } - - function isNumber(object) { - return _toString.call(object) === NUMBER_CLASS; - } - - function isDate(object) { - return _toString.call(object) === DATE_CLASS; - } - - function isUndefined(object) { - return typeof object === "undefined"; - } - - extend(Object, { - extend: extend, - inspect: inspect, - toJSON: NATIVE_JSON_STRINGIFY_SUPPORT ? stringify : toJSON, - toQueryString: toQueryString, - toHTML: toHTML, - keys: Object.keys || keys, - values: values, - clone: clone, - isElement: isElement, - isArray: isArray, - isHash: isHash, - isFunction: isFunction, - isString: isString, - isNumber: isNumber, - isDate: isDate, - isUndefined: isUndefined - }); -})(); -Object.extend(Function.prototype, (function() { - var slice = Array.prototype.slice; - - function update(array, args) { - var arrayLength = array.length, length = args.length; - while (length--) array[arrayLength + length] = args[length]; - return array; - } - - function merge(array, args) { - array = slice.call(array, 0); - return update(array, args); - } - - function argumentNames() { - var names = this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1] - .replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g, '') - .replace(/\s+/g, '').split(','); - return names.length == 1 && !names[0] ? [] : names; - } - - - function bind(context) { - if (arguments.length < 2 && Object.isUndefined(arguments[0])) - return this; - - if (!Object.isFunction(this)) - throw new TypeError("The object is not callable."); - - var nop = function() {}; - var __method = this, args = slice.call(arguments, 1); - - var bound = function() { - var a = merge(args, arguments); - var c = this instanceof bound ? this : context; - return __method.apply(c, a); - }; - - nop.prototype = this.prototype; - bound.prototype = new nop(); - - return bound; - } - - function bindAsEventListener(context) { - var __method = this, args = slice.call(arguments, 1); - return function(event) { - var a = update([event || window.event], args); - return __method.apply(context, a); - } - } - - function curry() { - if (!arguments.length) return this; - var __method = this, args = slice.call(arguments, 0); - return function() { - var a = merge(args, arguments); - return __method.apply(this, a); - } - } - - function delay(timeout) { - var __method = this, args = slice.call(arguments, 1); - timeout = timeout * 1000; - return window.setTimeout(function() { - return __method.apply(__method, args); - }, timeout); - } - - function defer() { - var args = update([0.01], arguments); - return this.delay.apply(this, args); - } - - function wrap(wrapper) { - var __method = this; - return function() { - var a = update([__method.bind(this)], arguments); - return wrapper.apply(this, a); - } - } - - function methodize() { - if (this._methodized) return this._methodized; - var __method = this; - return this._methodized = function() { - var a = update([this], arguments); - return __method.apply(null, a); - }; - } - - var extensions = { - argumentNames: argumentNames, - bindAsEventListener: bindAsEventListener, - curry: curry, - delay: delay, - defer: defer, - wrap: wrap, - methodize: methodize - }; - - if (!Function.prototype.bind) - extensions.bind = bind; - - return extensions; -})()); - - - -(function(proto) { - - - function toISOString() { - return this.getUTCFullYear() + '-' + - (this.getUTCMonth() + 1).toPaddedString(2) + '-' + - this.getUTCDate().toPaddedString(2) + 'T' + - this.getUTCHours().toPaddedString(2) + ':' + - this.getUTCMinutes().toPaddedString(2) + ':' + - this.getUTCSeconds().toPaddedString(2) + 'Z'; - } - - - function toJSON() { - return this.toISOString(); - } - - if (!proto.toISOString) proto.toISOString = toISOString; - if (!proto.toJSON) proto.toJSON = toJSON; - -})(Date.prototype); - - -RegExp.prototype.match = RegExp.prototype.test; - -RegExp.escape = function(str) { - return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); -}; -var PeriodicalExecuter = Class.create({ - initialize: function(callback, frequency) { - this.callback = callback; - this.frequency = frequency; - this.currentlyExecuting = false; - - this.registerCallback(); - }, - - registerCallback: function() { - this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); - }, - - execute: function() { - this.callback(this); - }, - - stop: function() { - if (!this.timer) return; - clearInterval(this.timer); - this.timer = null; - }, - - onTimerEvent: function() { - if (!this.currentlyExecuting) { - try { - this.currentlyExecuting = true; - this.execute(); - this.currentlyExecuting = false; - } catch(e) { - this.currentlyExecuting = false; - throw e; - } - } - } -}); -Object.extend(String, { - interpret: function(value) { - return value == null ? '' : String(value); - }, - specialChar: { - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '\\': '\\\\' - } -}); - -Object.extend(String.prototype, (function() { - var NATIVE_JSON_PARSE_SUPPORT = window.JSON && - typeof JSON.parse === 'function' && - JSON.parse('{"test": true}').test; - - function prepareReplacement(replacement) { - if (Object.isFunction(replacement)) return replacement; - var template = new Template(replacement); - return function(match) { return template.evaluate(match) }; - } - - function isNonEmptyRegExp(regexp) { - return regexp.source && regexp.source !== '(?:)'; - } - - - function gsub(pattern, replacement) { - var result = '', source = this, match; - replacement = prepareReplacement(replacement); - - if (Object.isString(pattern)) - pattern = RegExp.escape(pattern); - - if (!(pattern.length || isNonEmptyRegExp(pattern))) { - replacement = replacement(''); - return replacement + source.split('').join(replacement) + replacement; - } - - while (source.length > 0) { - match = source.match(pattern) - if (match && match[0].length > 0) { - result += source.slice(0, match.index); - result += String.interpret(replacement(match)); - source = source.slice(match.index + match[0].length); - } else { - result += source, source = ''; - } - } - return result; - } - - function sub(pattern, replacement, count) { - replacement = prepareReplacement(replacement); - count = Object.isUndefined(count) ? 1 : count; - - return this.gsub(pattern, function(match) { - if (--count < 0) return match[0]; - return replacement(match); - }); - } - - function scan(pattern, iterator) { - this.gsub(pattern, iterator); - return String(this); - } - - function truncate(length, truncation) { - length = length || 30; - truncation = Object.isUndefined(truncation) ? '...' : truncation; - return this.length > length ? - this.slice(0, length - truncation.length) + truncation : String(this); - } - - function strip() { - return this.replace(/^\s+/, '').replace(/\s+$/, ''); - } - - function stripTags() { - return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?(\/)?>|<\/\w+>/gi, ''); - } - - function stripScripts() { - return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); - } - - function extractScripts() { - var matchAll = new RegExp(Prototype.ScriptFragment, 'img'), - matchOne = new RegExp(Prototype.ScriptFragment, 'im'); - return (this.match(matchAll) || []).map(function(scriptTag) { - return (scriptTag.match(matchOne) || ['', ''])[1]; - }); - } - - function evalScripts() { - return this.extractScripts().map(function(script) { return eval(script); }); - } - - function escapeHTML() { - return this.replace(/&/g,'&').replace(//g,'>'); - } - - function unescapeHTML() { - return this.stripTags().replace(/</g,'<').replace(/>/g,'>').replace(/&/g,'&'); - } - - - function toQueryParams(separator) { - var match = this.strip().match(/([^?#]*)(#.*)?$/); - if (!match) return { }; - - return match[1].split(separator || '&').inject({ }, function(hash, pair) { - if ((pair = pair.split('='))[0]) { - var key = decodeURIComponent(pair.shift()), - value = pair.length > 1 ? pair.join('=') : pair[0]; - - if (value != undefined) { - value = value.gsub('+', ' '); - value = decodeURIComponent(value); - } - - if (key in hash) { - if (!Object.isArray(hash[key])) hash[key] = [hash[key]]; - hash[key].push(value); - } - else hash[key] = value; - } - return hash; - }); - } - - function toArray() { - return this.split(''); - } - - function succ() { - return this.slice(0, this.length - 1) + - String.fromCharCode(this.charCodeAt(this.length - 1) + 1); - } - - function times(count) { - return count < 1 ? '' : new Array(count + 1).join(this); - } - - function camelize() { - return this.replace(/-+(.)?/g, function(match, chr) { - return chr ? chr.toUpperCase() : ''; - }); - } - - function capitalize() { - return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase(); - } - - function underscore() { - return this.replace(/::/g, '/') - .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2') - .replace(/([a-z\d])([A-Z])/g, '$1_$2') - .replace(/-/g, '_') - .toLowerCase(); - } - - function dasherize() { - return this.replace(/_/g, '-'); - } - - function inspect(useDoubleQuotes) { - var escapedString = this.replace(/[\x00-\x1f\\]/g, function(character) { - if (character in String.specialChar) { - return String.specialChar[character]; - } - return '\\u00' + character.charCodeAt().toPaddedString(2, 16); - }); - if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; - return "'" + escapedString.replace(/'/g, '\\\'') + "'"; - } - - function unfilterJSON(filter) { - return this.replace(filter || Prototype.JSONFilter, '$1'); - } - - function isJSON() { - var str = this; - if (str.blank()) return false; - str = str.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'); - str = str.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); - str = str.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); - return (/^[\],:{}\s]*$/).test(str); - } - - function evalJSON(sanitize) { - var json = this.unfilterJSON(), - cx = /[\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff\u0000]/g; - if (cx.test(json)) { - json = json.replace(cx, function (a) { - return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }); - } - try { - if (!sanitize || json.isJSON()) return eval('(' + json + ')'); - } catch (e) { } - throw new SyntaxError('Badly formed JSON string: ' + this.inspect()); - } - - function parseJSON() { - var json = this.unfilterJSON(); - return JSON.parse(json); - } - - function include(pattern) { - return this.indexOf(pattern) > -1; - } - - function startsWith(pattern, position) { - position = Object.isNumber(position) ? position : 0; - return this.lastIndexOf(pattern, position) === position; - } - - function endsWith(pattern, position) { - pattern = String(pattern); - position = Object.isNumber(position) ? position : this.length; - if (position < 0) position = 0; - if (position > this.length) position = this.length; - var d = position - pattern.length; - return d >= 0 && this.indexOf(pattern, d) === d; - } - - function empty() { - return this == ''; - } - - function blank() { - return /^\s*$/.test(this); - } - - function interpolate(object, pattern) { - return new Template(this, pattern).evaluate(object); - } - - return { - gsub: gsub, - sub: sub, - scan: scan, - truncate: truncate, - strip: String.prototype.trim || strip, - stripTags: stripTags, - stripScripts: stripScripts, - extractScripts: extractScripts, - evalScripts: evalScripts, - escapeHTML: escapeHTML, - unescapeHTML: unescapeHTML, - toQueryParams: toQueryParams, - parseQuery: toQueryParams, - toArray: toArray, - succ: succ, - times: times, - camelize: camelize, - capitalize: capitalize, - underscore: underscore, - dasherize: dasherize, - inspect: inspect, - unfilterJSON: unfilterJSON, - isJSON: isJSON, - evalJSON: NATIVE_JSON_PARSE_SUPPORT ? parseJSON : evalJSON, - include: include, - startsWith: String.prototype.startsWith || startsWith, - endsWith: String.prototype.endsWith || endsWith, - empty: empty, - blank: blank, - interpolate: interpolate - }; -})()); - -var Template = Class.create({ - initialize: function(template, pattern) { - this.template = template.toString(); - this.pattern = pattern || Template.Pattern; - }, - - evaluate: function(object) { - if (object && Object.isFunction(object.toTemplateReplacements)) - object = object.toTemplateReplacements(); - - return this.template.gsub(this.pattern, function(match) { - if (object == null) return (match[1] + ''); - - var before = match[1] || ''; - if (before == '\\') return match[2]; - - var ctx = object, expr = match[3], - pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/; - - match = pattern.exec(expr); - if (match == null) return before; - - while (match != null) { - var comp = match[1].startsWith('[') ? match[2].replace(/\\\\]/g, ']') : match[1]; - ctx = ctx[comp]; - if (null == ctx || '' == match[3]) break; - expr = expr.substring('[' == match[3] ? match[1].length : match[0].length); - match = pattern.exec(expr); - } - - return before + String.interpret(ctx); - }); - } -}); -Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/; - -var $break = { }; - -var Enumerable = (function() { - function each(iterator, context) { - try { - this._each(iterator, context); - } catch (e) { - if (e != $break) throw e; - } - return this; - } - - function eachSlice(number, iterator, context) { - var index = -number, slices = [], array = this.toArray(); - if (number < 1) return array; - while ((index += number) < array.length) - slices.push(array.slice(index, index+number)); - return slices.collect(iterator, context); - } - - function all(iterator, context) { - iterator = iterator || Prototype.K; - var result = true; - this.each(function(value, index) { - result = result && !!iterator.call(context, value, index, this); - if (!result) throw $break; - }, this); - return result; - } - - function any(iterator, context) { - iterator = iterator || Prototype.K; - var result = false; - this.each(function(value, index) { - if (result = !!iterator.call(context, value, index, this)) - throw $break; - }, this); - return result; - } - - function collect(iterator, context) { - iterator = iterator || Prototype.K; - var results = []; - this.each(function(value, index) { - results.push(iterator.call(context, value, index, this)); - }, this); - return results; - } - - function detect(iterator, context) { - var result; - this.each(function(value, index) { - if (iterator.call(context, value, index, this)) { - result = value; - throw $break; - } - }, this); - return result; - } - - function findAll(iterator, context) { - var results = []; - this.each(function(value, index) { - if (iterator.call(context, value, index, this)) - results.push(value); - }, this); - return results; - } - - function grep(filter, iterator, context) { - iterator = iterator || Prototype.K; - var results = []; - - if (Object.isString(filter)) - filter = new RegExp(RegExp.escape(filter)); - - this.each(function(value, index) { - if (filter.match(value)) - results.push(iterator.call(context, value, index, this)); - }, this); - return results; - } - - function include(object) { - if (Object.isFunction(this.indexOf) && this.indexOf(object) != -1) - return true; - - var found = false; - this.each(function(value) { - if (value == object) { - found = true; - throw $break; - } - }); - return found; - } - - function inGroupsOf(number, fillWith) { - fillWith = Object.isUndefined(fillWith) ? null : fillWith; - return this.eachSlice(number, function(slice) { - while(slice.length < number) slice.push(fillWith); - return slice; - }); - } - - function inject(memo, iterator, context) { - this.each(function(value, index) { - memo = iterator.call(context, memo, value, index, this); - }, this); - return memo; - } - - function invoke(method) { - var args = $A(arguments).slice(1); - return this.map(function(value) { - return value[method].apply(value, args); - }); - } - - function max(iterator, context) { - iterator = iterator || Prototype.K; - var result; - this.each(function(value, index) { - value = iterator.call(context, value, index, this); - if (result == null || value >= result) - result = value; - }, this); - return result; - } - - function min(iterator, context) { - iterator = iterator || Prototype.K; - var result; - this.each(function(value, index) { - value = iterator.call(context, value, index, this); - if (result == null || value < result) - result = value; - }, this); - return result; - } - - function partition(iterator, context) { - iterator = iterator || Prototype.K; - var trues = [], falses = []; - this.each(function(value, index) { - (iterator.call(context, value, index, this) ? - trues : falses).push(value); - }, this); - return [trues, falses]; - } - - function pluck(property) { - var results = []; - this.each(function(value) { - results.push(value[property]); - }); - return results; - } - - function reject(iterator, context) { - var results = []; - this.each(function(value, index) { - if (!iterator.call(context, value, index, this)) - results.push(value); - }, this); - return results; - } - - function sortBy(iterator, context) { - return this.map(function(value, index) { - return { - value: value, - criteria: iterator.call(context, value, index, this) - }; - }, this).sort(function(left, right) { - var a = left.criteria, b = right.criteria; - return a < b ? -1 : a > b ? 1 : 0; - }).pluck('value'); - } - - function toArray() { - return this.map(); - } - - function zip() { - var iterator = Prototype.K, args = $A(arguments); - if (Object.isFunction(args.last())) - iterator = args.pop(); - - var collections = [this].concat(args).map($A); - return this.map(function(value, index) { - return iterator(collections.pluck(index)); - }); - } - - function size() { - return this.toArray().length; - } - - function inspect() { - return '#'; - } - - - - - - - - - - return { - each: each, - eachSlice: eachSlice, - all: all, - every: all, - any: any, - some: any, - collect: collect, - map: collect, - detect: detect, - findAll: findAll, - select: findAll, - filter: findAll, - grep: grep, - include: include, - member: include, - inGroupsOf: inGroupsOf, - inject: inject, - invoke: invoke, - max: max, - min: min, - partition: partition, - pluck: pluck, - reject: reject, - sortBy: sortBy, - toArray: toArray, - entries: toArray, - zip: zip, - size: size, - inspect: inspect, - find: detect - }; -})(); - -function $A(iterable) { - if (!iterable) return []; - if ('toArray' in Object(iterable)) return iterable.toArray(); - var length = iterable.length || 0, results = new Array(length); - while (length--) results[length] = iterable[length]; - return results; -} - - -function $w(string) { - if (!Object.isString(string)) return []; - string = string.strip(); - return string ? string.split(/\s+/) : []; -} - -Array.from = $A; - - -(function() { - var arrayProto = Array.prototype, - slice = arrayProto.slice, - _each = arrayProto.forEach; // use native browser JS 1.6 implementation if available - - function each(iterator, context) { - for (var i = 0, length = this.length >>> 0; i < length; i++) { - if (i in this) iterator.call(context, this[i], i, this); - } - } - if (!_each) _each = each; - - function clear() { - this.length = 0; - return this; - } - - function first() { - return this[0]; - } - - function last() { - return this[this.length - 1]; - } - - function compact() { - return this.select(function(value) { - return value != null; - }); - } - - function flatten() { - return this.inject([], function(array, value) { - if (Object.isArray(value)) - return array.concat(value.flatten()); - array.push(value); - return array; - }); - } - - function without() { - var values = slice.call(arguments, 0); - return this.select(function(value) { - return !values.include(value); - }); - } - - function reverse(inline) { - return (inline === false ? this.toArray() : this)._reverse(); - } - - function uniq(sorted) { - return this.inject([], function(array, value, index) { - if (0 == index || (sorted ? array.last() != value : !array.include(value))) - array.push(value); - return array; - }); - } - - function intersect(array) { - return this.uniq().findAll(function(item) { - return array.indexOf(item) !== -1; - }); - } - - - function clone() { - return slice.call(this, 0); - } - - function size() { - return this.length; - } - - function inspect() { - return '[' + this.map(Object.inspect).join(', ') + ']'; - } - - function indexOf(item, i) { - if (this == null) throw new TypeError(); - - var array = Object(this), length = array.length >>> 0; - if (length === 0) return -1; - - i = Number(i); - if (isNaN(i)) { - i = 0; - } else if (i !== 0 && isFinite(i)) { - i = (i > 0 ? 1 : -1) * Math.floor(Math.abs(i)); - } - - if (i > length) return -1; - - var k = i >= 0 ? i : Math.max(length - Math.abs(i), 0); - for (; k < length; k++) - if (k in array && array[k] === item) return k; - return -1; - } - - - function lastIndexOf(item, i) { - if (this == null) throw new TypeError(); - - var array = Object(this), length = array.length >>> 0; - if (length === 0) return -1; - - if (!Object.isUndefined(i)) { - i = Number(i); - if (isNaN(i)) { - i = 0; - } else if (i !== 0 && isFinite(i)) { - i = (i > 0 ? 1 : -1) * Math.floor(Math.abs(i)); - } - } else { - i = length; - } - - var k = i >= 0 ? Math.min(i, length - 1) : - length - Math.abs(i); - - for (; k >= 0; k--) - if (k in array && array[k] === item) return k; - return -1; - } - - function concat(_) { - var array = [], items = slice.call(arguments, 0), item, n = 0; - items.unshift(this); - for (var i = 0, length = items.length; i < length; i++) { - item = items[i]; - if (Object.isArray(item) && !('callee' in item)) { - for (var j = 0, arrayLength = item.length; j < arrayLength; j++) { - if (j in item) array[n] = item[j]; - n++; - } - } else { - array[n++] = item; - } - } - array.length = n; - return array; - } - - - function wrapNative(method) { - return function() { - if (arguments.length === 0) { - return method.call(this, Prototype.K); - } else if (arguments[0] === undefined) { - var args = slice.call(arguments, 1); - args.unshift(Prototype.K); - return method.apply(this, args); - } else { - return method.apply(this, arguments); - } - }; - } - - - function map(iterator) { - if (this == null) throw new TypeError(); - iterator = iterator || Prototype.K; - - var object = Object(this); - var results = [], context = arguments[1], n = 0; - - for (var i = 0, length = object.length >>> 0; i < length; i++) { - if (i in object) { - results[n] = iterator.call(context, object[i], i, object); - } - n++; - } - results.length = n; - return results; - } - - if (arrayProto.map) { - map = wrapNative(Array.prototype.map); - } - - function filter(iterator) { - if (this == null || !Object.isFunction(iterator)) - throw new TypeError(); - - var object = Object(this); - var results = [], context = arguments[1], value; - - for (var i = 0, length = object.length >>> 0; i < length; i++) { - if (i in object) { - value = object[i]; - if (iterator.call(context, value, i, object)) { - results.push(value); - } - } - } - return results; - } - - if (arrayProto.filter) { - filter = Array.prototype.filter; - } - - function some(iterator) { - if (this == null) throw new TypeError(); - iterator = iterator || Prototype.K; - var context = arguments[1]; - - var object = Object(this); - for (var i = 0, length = object.length >>> 0; i < length; i++) { - if (i in object && iterator.call(context, object[i], i, object)) { - return true; - } - } - - return false; - } - - if (arrayProto.some) { - some = wrapNative(Array.prototype.some); - } - - function every(iterator) { - if (this == null) throw new TypeError(); - iterator = iterator || Prototype.K; - var context = arguments[1]; - - var object = Object(this); - for (var i = 0, length = object.length >>> 0; i < length; i++) { - if (i in object && !iterator.call(context, object[i], i, object)) { - return false; - } - } - - return true; - } - - if (arrayProto.every) { - every = wrapNative(Array.prototype.every); - } - - - Object.extend(arrayProto, Enumerable); - - if (arrayProto.entries === Enumerable.entries) { - delete arrayProto.entries; - } - - if (!arrayProto._reverse) - arrayProto._reverse = arrayProto.reverse; - - Object.extend(arrayProto, { - _each: _each, - - map: map, - collect: map, - select: filter, - filter: filter, - findAll: filter, - some: some, - any: some, - every: every, - all: every, - - clear: clear, - first: first, - last: last, - compact: compact, - flatten: flatten, - without: without, - reverse: reverse, - uniq: uniq, - intersect: intersect, - clone: clone, - toArray: clone, - size: size, - inspect: inspect - }); - - var CONCAT_ARGUMENTS_BUGGY = (function() { - return [].concat(arguments)[0][0] !== 1; - })(1,2); - - if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat = concat; - - if (!arrayProto.indexOf) arrayProto.indexOf = indexOf; - if (!arrayProto.lastIndexOf) arrayProto.lastIndexOf = lastIndexOf; -})(); -function $H(object) { - return new Hash(object); -}; - -var Hash = Class.create(Enumerable, (function() { - function initialize(object) { - this._object = Object.isHash(object) ? object.toObject() : Object.clone(object); - } - - - function _each(iterator, context) { - var i = 0; - for (var key in this._object) { - var value = this._object[key], pair = [key, value]; - pair.key = key; - pair.value = value; - iterator.call(context, pair, i); - i++; - } - } - - function set(key, value) { - return this._object[key] = value; - } - - function get(key) { - if (this._object[key] !== Object.prototype[key]) - return this._object[key]; - } - - function unset(key) { - var value = this._object[key]; - delete this._object[key]; - return value; - } - - function toObject() { - return Object.clone(this._object); - } - - - - function keys() { - return this.pluck('key'); - } - - function values() { - return this.pluck('value'); - } - - function index(value) { - var match = this.detect(function(pair) { - return pair.value === value; - }); - return match && match.key; - } - - function merge(object) { - return this.clone().update(object); - } - - function update(object) { - return new Hash(object).inject(this, function(result, pair) { - result.set(pair.key, pair.value); - return result; - }); - } - - function toQueryPair(key, value) { - if (Object.isUndefined(value)) return key; - - value = String.interpret(value); - - value = value.gsub(/(\r)?\n/, '\r\n'); - value = encodeURIComponent(value); - value = value.gsub(/%20/, '+'); - return key + '=' + value; - } - - function toQueryString() { - return this.inject([], function(results, pair) { - var key = encodeURIComponent(pair.key), values = pair.value; - - if (values && typeof values == 'object') { - if (Object.isArray(values)) { - var queryValues = []; - for (var i = 0, len = values.length, value; i < len; i++) { - value = values[i]; - queryValues.push(toQueryPair(key, value)); - } - return results.concat(queryValues); - } - } else results.push(toQueryPair(key, values)); - return results; - }).join('&'); - } - - function inspect() { - return '#'; - } - - function clone() { - return new Hash(this); - } - - return { - initialize: initialize, - _each: _each, - set: set, - get: get, - unset: unset, - toObject: toObject, - toTemplateReplacements: toObject, - keys: keys, - values: values, - index: index, - merge: merge, - update: update, - toQueryString: toQueryString, - inspect: inspect, - toJSON: toObject, - clone: clone - }; -})()); - -Hash.from = $H; -Object.extend(Number.prototype, (function() { - function toColorPart() { - return this.toPaddedString(2, 16); - } - - function succ() { - return this + 1; - } - - function times(iterator, context) { - $R(0, this, true).each(iterator, context); - return this; - } - - function toPaddedString(length, radix) { - var string = this.toString(radix || 10); - return '0'.times(length - string.length) + string; - } - - function abs() { - return Math.abs(this); - } - - function round() { - return Math.round(this); - } - - function ceil() { - return Math.ceil(this); - } - - function floor() { - return Math.floor(this); - } - - return { - toColorPart: toColorPart, - succ: succ, - times: times, - toPaddedString: toPaddedString, - abs: abs, - round: round, - ceil: ceil, - floor: floor - }; -})()); - -function $R(start, end, exclusive) { - return new ObjectRange(start, end, exclusive); -} - -var ObjectRange = Class.create(Enumerable, (function() { - function initialize(start, end, exclusive) { - this.start = start; - this.end = end; - this.exclusive = exclusive; - } - - function _each(iterator, context) { - var value = this.start, i; - for (i = 0; this.include(value); i++) { - iterator.call(context, value, i); - value = value.succ(); - } - } - - function include(value) { - if (value < this.start) - return false; - if (this.exclusive) - return value < this.end; - return value <= this.end; - } - - return { - initialize: initialize, - _each: _each, - include: include - }; -})()); - - - -var Abstract = { }; - - -var Try = { - these: function() { - var returnValue; - - for (var i = 0, length = arguments.length; i < length; i++) { - var lambda = arguments[i]; - try { - returnValue = lambda(); - break; - } catch (e) { } - } - - return returnValue; - } -}; - -var Ajax = { - getTransport: function() { - return Try.these( - function() {return new XMLHttpRequest()}, - function() {return new ActiveXObject('Msxml2.XMLHTTP')}, - function() {return new ActiveXObject('Microsoft.XMLHTTP')} - ) || false; - }, - - activeRequestCount: 0 -}; - -Ajax.Responders = { - responders: [], - - _each: function(iterator, context) { - this.responders._each(iterator, context); - }, - - register: function(responder) { - if (!this.include(responder)) - this.responders.push(responder); - }, - - unregister: function(responder) { - this.responders = this.responders.without(responder); - }, - - dispatch: function(callback, request, transport, json) { - this.each(function(responder) { - if (Object.isFunction(responder[callback])) { - try { - responder[callback].apply(responder, [request, transport, json]); - } catch (e) { } - } - }); - } -}; - -Object.extend(Ajax.Responders, Enumerable); - -Ajax.Responders.register({ - onCreate: function() { Ajax.activeRequestCount++ }, - onComplete: function() { Ajax.activeRequestCount-- } -}); -Ajax.Base = Class.create({ - initialize: function(options) { - this.options = { - method: 'post', - asynchronous: true, - contentType: 'application/x-www-form-urlencoded', - encoding: 'UTF-8', - parameters: '', - evalJSON: true, - evalJS: true - }; - Object.extend(this.options, options || { }); - - this.options.method = this.options.method.toLowerCase(); - - if (Object.isHash(this.options.parameters)) - this.options.parameters = this.options.parameters.toObject(); - } -}); -Ajax.Request = Class.create(Ajax.Base, { - _complete: false, - - initialize: function($super, url, options) { - $super(options); - this.transport = Ajax.getTransport(); - this.request(url); - }, - - request: function(url) { - this.url = url; - this.method = this.options.method; - var params = Object.isString(this.options.parameters) ? - this.options.parameters : - Object.toQueryString(this.options.parameters); - - if (!['get', 'post'].include(this.method)) { - params += (params ? '&' : '') + "_method=" + this.method; - this.method = 'post'; - } - - if (params && this.method === 'get') { - this.url += (this.url.include('?') ? '&' : '?') + params; - } - - this.parameters = params.toQueryParams(); - - try { - var response = new Ajax.Response(this); - if (this.options.onCreate) this.options.onCreate(response); - Ajax.Responders.dispatch('onCreate', this, response); - - this.transport.open(this.method.toUpperCase(), this.url, - this.options.asynchronous); - - if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1); - - this.transport.onreadystatechange = this.onStateChange.bind(this); - this.setRequestHeaders(); - - this.body = this.method == 'post' ? (this.options.postBody || params) : null; - this.transport.send(this.body); - - /* Force Firefox to handle ready state 4 for synchronous requests */ - if (!this.options.asynchronous && this.transport.overrideMimeType) - this.onStateChange(); - - } - catch (e) { - this.dispatchException(e); - } - }, - - onStateChange: function() { - var readyState = this.transport.readyState; - if (readyState > 1 && !((readyState == 4) && this._complete)) - this.respondToReadyState(this.transport.readyState); - }, - - setRequestHeaders: function() { - var headers = { - 'X-Requested-With': 'XMLHttpRequest', - 'X-Prototype-Version': Prototype.Version, - 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*' - }; - - if (this.method == 'post') { - headers['Content-type'] = this.options.contentType + - (this.options.encoding ? '; charset=' + this.options.encoding : ''); - - /* Force "Connection: close" for older Mozilla browsers to work - * around a bug where XMLHttpRequest sends an incorrect - * Content-length header. See Mozilla Bugzilla #246651. - */ - if (this.transport.overrideMimeType && - (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005) - headers['Connection'] = 'close'; - } - - if (typeof this.options.requestHeaders == 'object') { - var extras = this.options.requestHeaders; - - if (Object.isFunction(extras.push)) - for (var i = 0, length = extras.length; i < length; i += 2) - headers[extras[i]] = extras[i+1]; - else - $H(extras).each(function(pair) { headers[pair.key] = pair.value }); - } - - for (var name in headers) - if (headers[name] != null) - this.transport.setRequestHeader(name, headers[name]); - }, - - success: function() { - var status = this.getStatus(); - return !status || (status >= 200 && status < 300) || status == 304; - }, - - getStatus: function() { - try { - if (this.transport.status === 1223) return 204; - return this.transport.status || 0; - } catch (e) { return 0 } - }, - - respondToReadyState: function(readyState) { - var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this); - - if (state == 'Complete') { - try { - this._complete = true; - (this.options['on' + response.status] - || this.options['on' + (this.success() ? 'Success' : 'Failure')] - || Prototype.emptyFunction)(response, response.headerJSON); - } catch (e) { - this.dispatchException(e); - } - - var contentType = response.getHeader('Content-type'); - if (this.options.evalJS == 'force' - || (this.options.evalJS && this.isSameOrigin() && contentType - && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))) - this.evalResponse(); - } - - try { - (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON); - Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON); - } catch (e) { - this.dispatchException(e); - } - - if (state == 'Complete') { - this.transport.onreadystatechange = Prototype.emptyFunction; - } - }, - - isSameOrigin: function() { - var m = this.url.match(/^\s*https?:\/\/[^\/]*/); - return !m || (m[0] == '#{protocol}//#{domain}#{port}'.interpolate({ - protocol: location.protocol, - domain: document.domain, - port: location.port ? ':' + location.port : '' - })); - }, - - getHeader: function(name) { - try { - return this.transport.getResponseHeader(name) || null; - } catch (e) { return null; } - }, - - evalResponse: function() { - try { - return eval((this.transport.responseText || '').unfilterJSON()); - } catch (e) { - this.dispatchException(e); - } - }, - - dispatchException: function(exception) { - (this.options.onException || Prototype.emptyFunction)(this, exception); - Ajax.Responders.dispatch('onException', this, exception); - } -}); - -Ajax.Request.Events = - ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; - - - - - - - - -Ajax.Response = Class.create({ - initialize: function(request){ - this.request = request; - var transport = this.transport = request.transport, - readyState = this.readyState = transport.readyState; - - if ((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) { - this.status = this.getStatus(); - this.statusText = this.getStatusText(); - this.responseText = String.interpret(transport.responseText); - this.headerJSON = this._getHeaderJSON(); - } - - if (readyState == 4) { - var xml = transport.responseXML; - this.responseXML = Object.isUndefined(xml) ? null : xml; - this.responseJSON = this._getResponseJSON(); - } - }, - - status: 0, - - statusText: '', - - getStatus: Ajax.Request.prototype.getStatus, - - getStatusText: function() { - try { - return this.transport.statusText || ''; - } catch (e) { return '' } - }, - - getHeader: Ajax.Request.prototype.getHeader, - - getAllHeaders: function() { - try { - return this.getAllResponseHeaders(); - } catch (e) { return null } - }, - - getResponseHeader: function(name) { - return this.transport.getResponseHeader(name); - }, - - getAllResponseHeaders: function() { - return this.transport.getAllResponseHeaders(); - }, - - _getHeaderJSON: function() { - var json = this.getHeader('X-JSON'); - if (!json) return null; - - try { - json = decodeURIComponent(escape(json)); - } catch(e) { - } - - try { - return json.evalJSON(this.request.options.sanitizeJSON || - !this.request.isSameOrigin()); - } catch (e) { - this.request.dispatchException(e); - } - }, - - _getResponseJSON: function() { - var options = this.request.options; - if (!options.evalJSON || (options.evalJSON != 'force' && - !(this.getHeader('Content-type') || '').include('application/json')) || - this.responseText.blank()) - return null; - try { - return this.responseText.evalJSON(options.sanitizeJSON || - !this.request.isSameOrigin()); - } catch (e) { - this.request.dispatchException(e); - } - } -}); - -Ajax.Updater = Class.create(Ajax.Request, { - initialize: function($super, container, url, options) { - this.container = { - success: (container.success || container), - failure: (container.failure || (container.success ? null : container)) - }; - - options = Object.clone(options); - var onComplete = options.onComplete; - options.onComplete = (function(response, json) { - this.updateContent(response.responseText); - if (Object.isFunction(onComplete)) onComplete(response, json); - }).bind(this); - - $super(url, options); - }, - - updateContent: function(responseText) { - var receiver = this.container[this.success() ? 'success' : 'failure'], - options = this.options; - - if (!options.evalScripts) responseText = responseText.stripScripts(); - - if (receiver = $(receiver)) { - if (options.insertion) { - if (Object.isString(options.insertion)) { - var insertion = { }; insertion[options.insertion] = responseText; - receiver.insert(insertion); - } - else options.insertion(receiver, responseText); - } - else receiver.update(responseText); - } - } -}); - -Ajax.PeriodicalUpdater = Class.create(Ajax.Base, { - initialize: function($super, container, url, options) { - $super(options); - this.onComplete = this.options.onComplete; - - this.frequency = (this.options.frequency || 2); - this.decay = (this.options.decay || 1); - - this.updater = { }; - this.container = container; - this.url = url; - - this.start(); - }, - - start: function() { - this.options.onComplete = this.updateComplete.bind(this); - this.onTimerEvent(); - }, - - stop: function() { - this.updater.options.onComplete = undefined; - clearTimeout(this.timer); - (this.onComplete || Prototype.emptyFunction).apply(this, arguments); - }, - - updateComplete: function(response) { - if (this.options.decay) { - this.decay = (response.responseText == this.lastText ? - this.decay * this.options.decay : 1); - - this.lastText = response.responseText; - } - this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency); - }, - - onTimerEvent: function() { - this.updater = new Ajax.Updater(this.container, this.url, this.options); - } -}); - -(function(GLOBAL) { - - var UNDEFINED; - var SLICE = Array.prototype.slice; - - var DIV = document.createElement('div'); - - - function $(element) { - if (arguments.length > 1) { - for (var i = 0, elements = [], length = arguments.length; i < length; i++) - elements.push($(arguments[i])); - return elements; - } - - if (Object.isString(element)) - element = document.getElementById(element); - return Element.extend(element); - } - - GLOBAL.$ = $; - - - if (!GLOBAL.Node) GLOBAL.Node = {}; - - if (!GLOBAL.Node.ELEMENT_NODE) { - Object.extend(GLOBAL.Node, { - ELEMENT_NODE: 1, - ATTRIBUTE_NODE: 2, - TEXT_NODE: 3, - CDATA_SECTION_NODE: 4, - ENTITY_REFERENCE_NODE: 5, - ENTITY_NODE: 6, - PROCESSING_INSTRUCTION_NODE: 7, - COMMENT_NODE: 8, - DOCUMENT_NODE: 9, - DOCUMENT_TYPE_NODE: 10, - DOCUMENT_FRAGMENT_NODE: 11, - NOTATION_NODE: 12 - }); - } - - var ELEMENT_CACHE = {}; - - function shouldUseCreationCache(tagName, attributes) { - if (tagName === 'select') return false; - if ('type' in attributes) return false; - return true; - } - - var HAS_EXTENDED_CREATE_ELEMENT_SYNTAX = (function(){ - try { - var el = document.createElement(''); - return el.tagName.toLowerCase() === 'input' && el.name === 'x'; - } - catch(err) { - return false; - } - })(); - - - var oldElement = GLOBAL.Element; - function Element(tagName, attributes) { - attributes = attributes || {}; - tagName = tagName.toLowerCase(); - - if (HAS_EXTENDED_CREATE_ELEMENT_SYNTAX && attributes.name) { - tagName = '<' + tagName + ' name="' + attributes.name + '">'; - delete attributes.name; - return Element.writeAttribute(document.createElement(tagName), attributes); - } - - if (!ELEMENT_CACHE[tagName]) - ELEMENT_CACHE[tagName] = Element.extend(document.createElement(tagName)); - - var node = shouldUseCreationCache(tagName, attributes) ? - ELEMENT_CACHE[tagName].cloneNode(false) : document.createElement(tagName); - - return Element.writeAttribute(node, attributes); - } - - GLOBAL.Element = Element; - - Object.extend(GLOBAL.Element, oldElement || {}); - if (oldElement) GLOBAL.Element.prototype = oldElement.prototype; - - Element.Methods = { ByTag: {}, Simulated: {} }; - - var methods = {}; - - var INSPECT_ATTRIBUTES = { id: 'id', className: 'class' }; - function inspect(element) { - element = $(element); - var result = '<' + element.tagName.toLowerCase(); - - var attribute, value; - for (var property in INSPECT_ATTRIBUTES) { - attribute = INSPECT_ATTRIBUTES[property]; - value = (element[property] || '').toString(); - if (value) result += ' ' + attribute + '=' + value.inspect(true); - } - - return result + '>'; - } - - methods.inspect = inspect; - - - function visible(element) { - return $(element).getStyle('display') !== 'none'; - } - - function toggle(element, bool) { - element = $(element); - if (typeof bool !== 'boolean') - bool = !Element.visible(element); - Element[bool ? 'show' : 'hide'](element); - - return element; - } - - function hide(element) { - element = $(element); - element.style.display = 'none'; - return element; - } - - function show(element) { - element = $(element); - element.style.display = ''; - return element; - } - - - Object.extend(methods, { - visible: visible, - toggle: toggle, - hide: hide, - show: show - }); - - - function remove(element) { - element = $(element); - element.parentNode.removeChild(element); - return element; - } - - var SELECT_ELEMENT_INNERHTML_BUGGY = (function(){ - var el = document.createElement("select"), - isBuggy = true; - el.innerHTML = ""; - if (el.options && el.options[0]) { - isBuggy = el.options[0].nodeName.toUpperCase() !== "OPTION"; - } - el = null; - return isBuggy; - })(); - - var TABLE_ELEMENT_INNERHTML_BUGGY = (function(){ - try { - var el = document.createElement("table"); - if (el && el.tBodies) { - el.innerHTML = "test"; - var isBuggy = typeof el.tBodies[0] == "undefined"; - el = null; - return isBuggy; - } - } catch (e) { - return true; - } - })(); - - var LINK_ELEMENT_INNERHTML_BUGGY = (function() { - try { - var el = document.createElement('div'); - el.innerHTML = ""; - var isBuggy = (el.childNodes.length === 0); - el = null; - return isBuggy; - } catch(e) { - return true; - } - })(); - - var ANY_INNERHTML_BUGGY = SELECT_ELEMENT_INNERHTML_BUGGY || - TABLE_ELEMENT_INNERHTML_BUGGY || LINK_ELEMENT_INNERHTML_BUGGY; - - var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING = (function () { - var s = document.createElement("script"), - isBuggy = false; - try { - s.appendChild(document.createTextNode("")); - isBuggy = !s.firstChild || - s.firstChild && s.firstChild.nodeType !== 3; - } catch (e) { - isBuggy = true; - } - s = null; - return isBuggy; - })(); - - function update(element, content) { - element = $(element); - - var descendants = element.getElementsByTagName('*'), - i = descendants.length; - while (i--) purgeElement(descendants[i]); - - if (content && content.toElement) - content = content.toElement(); - - if (Object.isElement(content)) - return element.update().insert(content); - - - content = Object.toHTML(content); - var tagName = element.tagName.toUpperCase(); - - if (tagName === 'SCRIPT' && SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) { - element.text = content; - return element; - } - - if (ANY_INNERHTML_BUGGY) { - if (tagName in INSERTION_TRANSLATIONS.tags) { - while (element.firstChild) - element.removeChild(element.firstChild); - - var nodes = getContentFromAnonymousElement(tagName, content.stripScripts()); - for (var i = 0, node; node = nodes[i]; i++) - element.appendChild(node); - - } else if (LINK_ELEMENT_INNERHTML_BUGGY && Object.isString(content) && content.indexOf(' -1) { - while (element.firstChild) - element.removeChild(element.firstChild); - - var nodes = getContentFromAnonymousElement(tagName, - content.stripScripts(), true); - - for (var i = 0, node; node = nodes[i]; i++) - element.appendChild(node); - } else { - element.innerHTML = content.stripScripts(); - } - } else { - element.innerHTML = content.stripScripts(); - } - - content.evalScripts.bind(content).defer(); - return element; - } - - function replace(element, content) { - element = $(element); - - if (content && content.toElement) { - content = content.toElement(); - } else if (!Object.isElement(content)) { - content = Object.toHTML(content); - var range = element.ownerDocument.createRange(); - range.selectNode(element); - content.evalScripts.bind(content).defer(); - content = range.createContextualFragment(content.stripScripts()); - } - - element.parentNode.replaceChild(content, element); - return element; - } - - var INSERTION_TRANSLATIONS = { - before: function(element, node) { - element.parentNode.insertBefore(node, element); - }, - top: function(element, node) { - element.insertBefore(node, element.firstChild); - }, - bottom: function(element, node) { - element.appendChild(node); - }, - after: function(element, node) { - element.parentNode.insertBefore(node, element.nextSibling); - }, - - tags: { - TABLE: ['', '
', 1], - TBODY: ['', '
', 2], - TR: ['', '
', 3], - TD: ['
', '
', 4], - SELECT: ['', 1] - } - }; - - var tags = INSERTION_TRANSLATIONS.tags; - - Object.extend(tags, { - THEAD: tags.TBODY, - TFOOT: tags.TBODY, - TH: tags.TD - }); - - function replace_IE(element, content) { - element = $(element); - if (content && content.toElement) - content = content.toElement(); - if (Object.isElement(content)) { - element.parentNode.replaceChild(content, element); - return element; - } - - content = Object.toHTML(content); - var parent = element.parentNode, tagName = parent.tagName.toUpperCase(); - - if (tagName in INSERTION_TRANSLATIONS.tags) { - var nextSibling = Element.next(element); - var fragments = getContentFromAnonymousElement( - tagName, content.stripScripts()); - - parent.removeChild(element); - - var iterator; - if (nextSibling) - iterator = function(node) { parent.insertBefore(node, nextSibling) }; - else - iterator = function(node) { parent.appendChild(node); } - - fragments.each(iterator); - } else { - element.outerHTML = content.stripScripts(); - } - - content.evalScripts.bind(content).defer(); - return element; - } - - if ('outerHTML' in document.documentElement) - replace = replace_IE; - - function isContent(content) { - if (Object.isUndefined(content) || content === null) return false; - - if (Object.isString(content) || Object.isNumber(content)) return true; - if (Object.isElement(content)) return true; - if (content.toElement || content.toHTML) return true; - - return false; - } - - function insertContentAt(element, content, position) { - position = position.toLowerCase(); - var method = INSERTION_TRANSLATIONS[position]; - - if (content && content.toElement) content = content.toElement(); - if (Object.isElement(content)) { - method(element, content); - return element; - } - - content = Object.toHTML(content); - var tagName = ((position === 'before' || position === 'after') ? - element.parentNode : element).tagName.toUpperCase(); - - var childNodes = getContentFromAnonymousElement(tagName, content.stripScripts()); - - if (position === 'top' || position === 'after') childNodes.reverse(); - - for (var i = 0, node; node = childNodes[i]; i++) - method(element, node); - - content.evalScripts.bind(content).defer(); - } - - function insert(element, insertions) { - element = $(element); - - if (isContent(insertions)) - insertions = { bottom: insertions }; - - for (var position in insertions) - insertContentAt(element, insertions[position], position); - - return element; - } - - function wrap(element, wrapper, attributes) { - element = $(element); - - if (Object.isElement(wrapper)) { - $(wrapper).writeAttribute(attributes || {}); - } else if (Object.isString(wrapper)) { - wrapper = new Element(wrapper, attributes); - } else { - wrapper = new Element('div', wrapper); - } - - if (element.parentNode) - element.parentNode.replaceChild(wrapper, element); - - wrapper.appendChild(element); - - return wrapper; - } - - function cleanWhitespace(element) { - element = $(element); - var node = element.firstChild; - - while (node) { - var nextNode = node.nextSibling; - if (node.nodeType === Node.TEXT_NODE && !/\S/.test(node.nodeValue)) - element.removeChild(node); - node = nextNode; - } - return element; - } - - function empty(element) { - return $(element).innerHTML.blank(); - } - - function getContentFromAnonymousElement(tagName, html, force) { - var t = INSERTION_TRANSLATIONS.tags[tagName], div = DIV; - - var workaround = !!t; - if (!workaround && force) { - workaround = true; - t = ['', '', 0]; - } - - if (workaround) { - div.innerHTML = ' ' + t[0] + html + t[1]; - div.removeChild(div.firstChild); - for (var i = t[2]; i--; ) - div = div.firstChild; - } else { - div.innerHTML = html; - } - - return $A(div.childNodes); - } - - function clone(element, deep) { - if (!(element = $(element))) return; - var clone = element.cloneNode(deep); - if (!HAS_UNIQUE_ID_PROPERTY) { - clone._prototypeUID = UNDEFINED; - if (deep) { - var descendants = Element.select(clone, '*'), - i = descendants.length; - while (i--) - descendants[i]._prototypeUID = UNDEFINED; - } - } - return Element.extend(clone); - } - - function purgeElement(element) { - var uid = getUniqueElementID(element); - if (uid) { - Element.stopObserving(element); - if (!HAS_UNIQUE_ID_PROPERTY) - element._prototypeUID = UNDEFINED; - delete Element.Storage[uid]; - } - } - - function purgeCollection(elements) { - var i = elements.length; - while (i--) - purgeElement(elements[i]); - } - - function purgeCollection_IE(elements) { - var i = elements.length, element, uid; - while (i--) { - element = elements[i]; - uid = getUniqueElementID(element); - delete Element.Storage[uid]; - delete Event.cache[uid]; - } - } - - if (HAS_UNIQUE_ID_PROPERTY) { - purgeCollection = purgeCollection_IE; - } - - - function purge(element) { - if (!(element = $(element))) return; - purgeElement(element); - - var descendants = element.getElementsByTagName('*'), - i = descendants.length; - - while (i--) purgeElement(descendants[i]); - - return null; - } - - Object.extend(methods, { - remove: remove, - update: update, - replace: replace, - insert: insert, - wrap: wrap, - cleanWhitespace: cleanWhitespace, - empty: empty, - clone: clone, - purge: purge - }); - - - - function recursivelyCollect(element, property, maximumLength) { - element = $(element); - maximumLength = maximumLength || -1; - var elements = []; - - while (element = element[property]) { - if (element.nodeType === Node.ELEMENT_NODE) - elements.push(Element.extend(element)); - - if (elements.length === maximumLength) break; - } - - return elements; - } - - - function ancestors(element) { - return recursivelyCollect(element, 'parentNode'); - } - - function descendants(element) { - return Element.select(element, '*'); - } - - function firstDescendant(element) { - element = $(element).firstChild; - while (element && element.nodeType !== Node.ELEMENT_NODE) - element = element.nextSibling; - - return $(element); - } - - function immediateDescendants(element) { - var results = [], child = $(element).firstChild; - - while (child) { - if (child.nodeType === Node.ELEMENT_NODE) - results.push(Element.extend(child)); - - child = child.nextSibling; - } - - return results; - } - - function previousSiblings(element) { - return recursivelyCollect(element, 'previousSibling'); - } - - function nextSiblings(element) { - return recursivelyCollect(element, 'nextSibling'); - } - - function siblings(element) { - element = $(element); - var previous = previousSiblings(element), - next = nextSiblings(element); - return previous.reverse().concat(next); - } - - function match(element, selector) { - element = $(element); - - if (Object.isString(selector)) - return Prototype.Selector.match(element, selector); - - return selector.match(element); - } - - - function _recursivelyFind(element, property, expression, index) { - element = $(element), expression = expression || 0, index = index || 0; - if (Object.isNumber(expression)) { - index = expression, expression = null; - } - - while (element = element[property]) { - if (element.nodeType !== 1) continue; - if (expression && !Prototype.Selector.match(element, expression)) - continue; - if (--index >= 0) continue; - - return Element.extend(element); - } - } - - - function up(element, expression, index) { - element = $(element); - - if (arguments.length === 1) return $(element.parentNode); - return _recursivelyFind(element, 'parentNode', expression, index); - } - - function down(element, expression, index) { - if (arguments.length === 1) return firstDescendant(element); - element = $(element), expression = expression || 0, index = index || 0; - - if (Object.isNumber(expression)) - index = expression, expression = '*'; - - var node = Prototype.Selector.select(expression, element)[index]; - return Element.extend(node); - } - - function previous(element, expression, index) { - return _recursivelyFind(element, 'previousSibling', expression, index); - } - - function next(element, expression, index) { - return _recursivelyFind(element, 'nextSibling', expression, index); - } - - function select(element) { - element = $(element); - var expressions = SLICE.call(arguments, 1).join(', '); - return Prototype.Selector.select(expressions, element); - } - - function adjacent(element) { - element = $(element); - var expressions = SLICE.call(arguments, 1).join(', '); - var siblings = Element.siblings(element), results = []; - for (var i = 0, sibling; sibling = siblings[i]; i++) { - if (Prototype.Selector.match(sibling, expressions)) - results.push(sibling); - } - - return results; - } - - function descendantOf_DOM(element, ancestor) { - element = $(element), ancestor = $(ancestor); - if (!element || !ancestor) return false; - while (element = element.parentNode) - if (element === ancestor) return true; - return false; - } - - function descendantOf_contains(element, ancestor) { - element = $(element), ancestor = $(ancestor); - if (!element || !ancestor) return false; - if (!ancestor.contains) return descendantOf_DOM(element, ancestor); - return ancestor.contains(element) && ancestor !== element; - } - - function descendantOf_compareDocumentPosition(element, ancestor) { - element = $(element), ancestor = $(ancestor); - if (!element || !ancestor) return false; - return (element.compareDocumentPosition(ancestor) & 8) === 8; - } - - var descendantOf; - if (DIV.compareDocumentPosition) { - descendantOf = descendantOf_compareDocumentPosition; - } else if (DIV.contains) { - descendantOf = descendantOf_contains; - } else { - descendantOf = descendantOf_DOM; - } - - - Object.extend(methods, { - recursivelyCollect: recursivelyCollect, - ancestors: ancestors, - descendants: descendants, - firstDescendant: firstDescendant, - immediateDescendants: immediateDescendants, - previousSiblings: previousSiblings, - nextSiblings: nextSiblings, - siblings: siblings, - match: match, - up: up, - down: down, - previous: previous, - next: next, - select: select, - adjacent: adjacent, - descendantOf: descendantOf, - - getElementsBySelector: select, - - childElements: immediateDescendants - }); - - - var idCounter = 1; - function identify(element) { - element = $(element); - var id = Element.readAttribute(element, 'id'); - if (id) return id; - - do { id = 'anonymous_element_' + idCounter++ } while ($(id)); - - Element.writeAttribute(element, 'id', id); - return id; - } - - - function readAttribute(element, name) { - return $(element).getAttribute(name); - } - - function readAttribute_IE(element, name) { - element = $(element); - - var table = ATTRIBUTE_TRANSLATIONS.read; - if (table.values[name]) - return table.values[name](element, name); - - if (table.names[name]) name = table.names[name]; - - if (name.include(':')) { - if (!element.attributes || !element.attributes[name]) return null; - return element.attributes[name].value; - } - - return element.getAttribute(name); - } - - function readAttribute_Opera(element, name) { - if (name === 'title') return element.title; - return element.getAttribute(name); - } - - var PROBLEMATIC_ATTRIBUTE_READING = (function() { - DIV.setAttribute('onclick', []); - var value = DIV.getAttribute('onclick'); - var isFunction = Object.isArray(value); - DIV.removeAttribute('onclick'); - return isFunction; - })(); - - if (PROBLEMATIC_ATTRIBUTE_READING) { - readAttribute = readAttribute_IE; - } else if (Prototype.Browser.Opera) { - readAttribute = readAttribute_Opera; - } - - - function writeAttribute(element, name, value) { - element = $(element); - var attributes = {}, table = ATTRIBUTE_TRANSLATIONS.write; - - if (typeof name === 'object') { - attributes = name; - } else { - attributes[name] = Object.isUndefined(value) ? true : value; - } - - for (var attr in attributes) { - name = table.names[attr] || attr; - value = attributes[attr]; - if (table.values[attr]) { - value = table.values[attr](element, value); - if (Object.isUndefined(value)) continue; - } - if (value === false || value === null) - element.removeAttribute(name); - else if (value === true) - element.setAttribute(name, name); - else element.setAttribute(name, value); - } - - return element; - } - - var PROBLEMATIC_HAS_ATTRIBUTE_WITH_CHECKBOXES = (function () { - if (!HAS_EXTENDED_CREATE_ELEMENT_SYNTAX) { - return false; - } - var checkbox = document.createElement(''); - checkbox.checked = true; - var node = checkbox.getAttributeNode('checked'); - return !node || !node.specified; - })(); - - function hasAttribute(element, attribute) { - attribute = ATTRIBUTE_TRANSLATIONS.has[attribute] || attribute; - var node = $(element).getAttributeNode(attribute); - return !!(node && node.specified); - } - - function hasAttribute_IE(element, attribute) { - if (attribute === 'checked') { - return element.checked; - } - return hasAttribute(element, attribute); - } - - GLOBAL.Element.Methods.Simulated.hasAttribute = - PROBLEMATIC_HAS_ATTRIBUTE_WITH_CHECKBOXES ? - hasAttribute_IE : hasAttribute; - - function classNames(element) { - return new Element.ClassNames(element); - } - - var regExpCache = {}; - function getRegExpForClassName(className) { - if (regExpCache[className]) return regExpCache[className]; - - var re = new RegExp("(^|\\s+)" + className + "(\\s+|$)"); - regExpCache[className] = re; - return re; - } - - function hasClassName(element, className) { - if (!(element = $(element))) return; - - var elementClassName = element.className; - - if (elementClassName.length === 0) return false; - if (elementClassName === className) return true; - - return getRegExpForClassName(className).test(elementClassName); - } - - function addClassName(element, className) { - if (!(element = $(element))) return; - - if (!hasClassName(element, className)) - element.className += (element.className ? ' ' : '') + className; - - return element; - } - - function removeClassName(element, className) { - if (!(element = $(element))) return; - - element.className = element.className.replace( - getRegExpForClassName(className), ' ').strip(); - - return element; - } - - function toggleClassName(element, className, bool) { - if (!(element = $(element))) return; - - if (Object.isUndefined(bool)) - bool = !hasClassName(element, className); - - var method = Element[bool ? 'addClassName' : 'removeClassName']; - return method(element, className); - } - - var ATTRIBUTE_TRANSLATIONS = {}; - - var classProp = 'className', forProp = 'for'; - - DIV.setAttribute(classProp, 'x'); - if (DIV.className !== 'x') { - DIV.setAttribute('class', 'x'); - if (DIV.className === 'x') - classProp = 'class'; - } - - var LABEL = document.createElement('label'); - LABEL.setAttribute(forProp, 'x'); - if (LABEL.htmlFor !== 'x') { - LABEL.setAttribute('htmlFor', 'x'); - if (LABEL.htmlFor === 'x') - forProp = 'htmlFor'; - } - LABEL = null; - - function _getAttr(element, attribute) { - return element.getAttribute(attribute); - } - - function _getAttr2(element, attribute) { - return element.getAttribute(attribute, 2); - } - - function _getAttrNode(element, attribute) { - var node = element.getAttributeNode(attribute); - return node ? node.value : ''; - } - - function _getFlag(element, attribute) { - return $(element).hasAttribute(attribute) ? attribute : null; - } - - DIV.onclick = Prototype.emptyFunction; - var onclickValue = DIV.getAttribute('onclick'); - - var _getEv; - - if (String(onclickValue).indexOf('{') > -1) { - _getEv = function(element, attribute) { - var value = element.getAttribute(attribute); - if (!value) return null; - value = value.toString(); - value = value.split('{')[1]; - value = value.split('}')[0]; - return value.strip(); - }; - } - else if (onclickValue === '') { - _getEv = function(element, attribute) { - var value = element.getAttribute(attribute); - if (!value) return null; - return value.strip(); - }; - } - - ATTRIBUTE_TRANSLATIONS.read = { - names: { - 'class': classProp, - 'className': classProp, - 'for': forProp, - 'htmlFor': forProp - }, - - values: { - style: function(element) { - return element.style.cssText.toLowerCase(); - }, - title: function(element) { - return element.title; - } - } - }; - - ATTRIBUTE_TRANSLATIONS.write = { - names: { - className: 'class', - htmlFor: 'for', - cellpadding: 'cellPadding', - cellspacing: 'cellSpacing' - }, - - values: { - checked: function(element, value) { - value = !!value; - element.checked = value; - return value ? 'checked' : null; - }, - - style: function(element, value) { - element.style.cssText = value ? value : ''; - } - } - }; - - ATTRIBUTE_TRANSLATIONS.has = { names: {} }; - - Object.extend(ATTRIBUTE_TRANSLATIONS.write.names, - ATTRIBUTE_TRANSLATIONS.read.names); - - var CAMEL_CASED_ATTRIBUTE_NAMES = $w('colSpan rowSpan vAlign dateTime ' + - 'accessKey tabIndex encType maxLength readOnly longDesc frameBorder'); - - for (var i = 0, attr; attr = CAMEL_CASED_ATTRIBUTE_NAMES[i]; i++) { - ATTRIBUTE_TRANSLATIONS.write.names[attr.toLowerCase()] = attr; - ATTRIBUTE_TRANSLATIONS.has.names[attr.toLowerCase()] = attr; - } - - Object.extend(ATTRIBUTE_TRANSLATIONS.read.values, { - href: _getAttr2, - src: _getAttr2, - type: _getAttr, - action: _getAttrNode, - disabled: _getFlag, - checked: _getFlag, - readonly: _getFlag, - multiple: _getFlag, - onload: _getEv, - onunload: _getEv, - onclick: _getEv, - ondblclick: _getEv, - onmousedown: _getEv, - onmouseup: _getEv, - onmouseover: _getEv, - onmousemove: _getEv, - onmouseout: _getEv, - onfocus: _getEv, - onblur: _getEv, - onkeypress: _getEv, - onkeydown: _getEv, - onkeyup: _getEv, - onsubmit: _getEv, - onreset: _getEv, - onselect: _getEv, - onchange: _getEv - }); - - - Object.extend(methods, { - identify: identify, - readAttribute: readAttribute, - writeAttribute: writeAttribute, - classNames: classNames, - hasClassName: hasClassName, - addClassName: addClassName, - removeClassName: removeClassName, - toggleClassName: toggleClassName - }); - - - function normalizeStyleName(style) { - if (style === 'float' || style === 'styleFloat') - return 'cssFloat'; - return style.camelize(); - } - - function normalizeStyleName_IE(style) { - if (style === 'float' || style === 'cssFloat') - return 'styleFloat'; - return style.camelize(); - } - - function setStyle(element, styles) { - element = $(element); - var elementStyle = element.style, match; - - if (Object.isString(styles)) { - elementStyle.cssText += ';' + styles; - if (styles.include('opacity')) { - var opacity = styles.match(/opacity:\s*(\d?\.?\d*)/)[1]; - Element.setOpacity(element, opacity); - } - return element; - } - - for (var property in styles) { - if (property === 'opacity') { - Element.setOpacity(element, styles[property]); - } else { - var value = styles[property]; - if (property === 'float' || property === 'cssFloat') { - property = Object.isUndefined(elementStyle.styleFloat) ? - 'cssFloat' : 'styleFloat'; - } - elementStyle[property] = value; - } - } - - return element; - } - - - function getStyle(element, style) { - element = $(element); - style = normalizeStyleName(style); - - var value = element.style[style]; - if (!value || value === 'auto') { - var css = document.defaultView.getComputedStyle(element, null); - value = css ? css[style] : null; - } - - if (style === 'opacity') return value ? parseFloat(value) : 1.0; - return value === 'auto' ? null : value; - } - - function getStyle_Opera(element, style) { - switch (style) { - case 'height': case 'width': - if (!Element.visible(element)) return null; - - var dim = parseInt(getStyle(element, style), 10); - - if (dim !== element['offset' + style.capitalize()]) - return dim + 'px'; - - return Element.measure(element, style); - - default: return getStyle(element, style); - } - } - - function getStyle_IE(element, style) { - element = $(element); - style = normalizeStyleName_IE(style); - - var value = element.style[style]; - if (!value && element.currentStyle) { - value = element.currentStyle[style]; - } - - if (style === 'opacity') { - if (!STANDARD_CSS_OPACITY_SUPPORTED) - return getOpacity_IE(element); - else return value ? parseFloat(value) : 1.0; - } - - if (value === 'auto') { - if ((style === 'width' || style === 'height') && Element.visible(element)) - return Element.measure(element, style) + 'px'; - return null; - } - - return value; - } - - function stripAlphaFromFilter_IE(filter) { - return (filter || '').replace(/alpha\([^\)]*\)/gi, ''); - } - - function hasLayout_IE(element) { - if (!element.currentStyle || !element.currentStyle.hasLayout) - element.style.zoom = 1; - return element; - } - - var STANDARD_CSS_OPACITY_SUPPORTED = (function() { - DIV.style.cssText = "opacity:.55"; - return /^0.55/.test(DIV.style.opacity); - })(); - - function setOpacity(element, value) { - element = $(element); - if (value == 1 || value === '') value = ''; - else if (value < 0.00001) value = 0; - element.style.opacity = value; - return element; - } - - function setOpacity_IE(element, value) { - if (STANDARD_CSS_OPACITY_SUPPORTED) - return setOpacity(element, value); - - element = hasLayout_IE($(element)); - var filter = Element.getStyle(element, 'filter'), - style = element.style; - - if (value == 1 || value === '') { - filter = stripAlphaFromFilter_IE(filter); - if (filter) style.filter = filter; - else style.removeAttribute('filter'); - return element; - } - - if (value < 0.00001) value = 0; - - style.filter = stripAlphaFromFilter_IE(filter) + - ' alpha(opacity=' + (value * 100) + ')'; - - return element; - } - - - function getOpacity(element) { - return Element.getStyle(element, 'opacity'); - } - - function getOpacity_IE(element) { - if (STANDARD_CSS_OPACITY_SUPPORTED) - return getOpacity(element); - - var filter = Element.getStyle(element, 'filter'); - if (filter.length === 0) return 1.0; - var match = (filter || '').match(/alpha\(opacity=(.*)\)/i); - if (match && match[1]) return parseFloat(match[1]) / 100; - return 1.0; - } - - - Object.extend(methods, { - setStyle: setStyle, - getStyle: getStyle, - setOpacity: setOpacity, - getOpacity: getOpacity - }); - - if ('styleFloat' in DIV.style) { - methods.getStyle = getStyle_IE; - methods.setOpacity = setOpacity_IE; - methods.getOpacity = getOpacity_IE; - } - - var UID = 0; - - GLOBAL.Element.Storage = { UID: 1 }; - - function getUniqueElementID(element) { - if (element === window) return 0; - - if (typeof element._prototypeUID === 'undefined') - element._prototypeUID = Element.Storage.UID++; - return element._prototypeUID; - } - - function getUniqueElementID_IE(element) { - if (element === window) return 0; - if (element == document) return 1; - return element.uniqueID; - } - - var HAS_UNIQUE_ID_PROPERTY = ('uniqueID' in DIV); - if (HAS_UNIQUE_ID_PROPERTY) - getUniqueElementID = getUniqueElementID_IE; - - function getStorage(element) { - if (!(element = $(element))) return; - - var uid = getUniqueElementID(element); - - if (!Element.Storage[uid]) - Element.Storage[uid] = $H(); - - return Element.Storage[uid]; - } - - function store(element, key, value) { - if (!(element = $(element))) return; - var storage = getStorage(element); - if (arguments.length === 2) { - storage.update(key); - } else { - storage.set(key, value); - } - return element; - } - - function retrieve(element, key, defaultValue) { - if (!(element = $(element))) return; - var storage = getStorage(element), value = storage.get(key); - - if (Object.isUndefined(value)) { - storage.set(key, defaultValue); - value = defaultValue; - } - - return value; - } - - - Object.extend(methods, { - getStorage: getStorage, - store: store, - retrieve: retrieve - }); - - - var Methods = {}, ByTag = Element.Methods.ByTag, - F = Prototype.BrowserFeatures; - - if (!F.ElementExtensions && ('__proto__' in DIV)) { - GLOBAL.HTMLElement = {}; - GLOBAL.HTMLElement.prototype = DIV['__proto__']; - F.ElementExtensions = true; - } - - function checkElementPrototypeDeficiency(tagName) { - if (typeof window.Element === 'undefined') return false; - if (!HAS_EXTENDED_CREATE_ELEMENT_SYNTAX) return false; - var proto = window.Element.prototype; - if (proto) { - var id = '_' + (Math.random() + '').slice(2), - el = document.createElement(tagName); - proto[id] = 'x'; - var isBuggy = (el[id] !== 'x'); - delete proto[id]; - el = null; - return isBuggy; - } - - return false; - } - - var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY = - checkElementPrototypeDeficiency('object'); - - function extendElementWith(element, methods) { - for (var property in methods) { - var value = methods[property]; - if (Object.isFunction(value) && !(property in element)) - element[property] = value.methodize(); - } - } - - var EXTENDED = {}; - function elementIsExtended(element) { - var uid = getUniqueElementID(element); - return (uid in EXTENDED); - } - - function extend(element) { - if (!element || elementIsExtended(element)) return element; - if (element.nodeType !== Node.ELEMENT_NODE || element == window) - return element; - - var methods = Object.clone(Methods), - tagName = element.tagName.toUpperCase(); - - if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]); - - extendElementWith(element, methods); - EXTENDED[getUniqueElementID(element)] = true; - return element; - } - - function extend_IE8(element) { - if (!element || elementIsExtended(element)) return element; - - var t = element.tagName; - if (t && (/^(?:object|applet|embed)$/i.test(t))) { - extendElementWith(element, Element.Methods); - extendElementWith(element, Element.Methods.Simulated); - extendElementWith(element, Element.Methods.ByTag[t.toUpperCase()]); - } - - return element; - } - - if (F.SpecificElementExtensions) { - extend = HTMLOBJECTELEMENT_PROTOTYPE_BUGGY ? extend_IE8 : Prototype.K; - } - - function addMethodsToTagName(tagName, methods) { - tagName = tagName.toUpperCase(); - if (!ByTag[tagName]) ByTag[tagName] = {}; - Object.extend(ByTag[tagName], methods); - } - - function mergeMethods(destination, methods, onlyIfAbsent) { - if (Object.isUndefined(onlyIfAbsent)) onlyIfAbsent = false; - for (var property in methods) { - var value = methods[property]; - if (!Object.isFunction(value)) continue; - if (!onlyIfAbsent || !(property in destination)) - destination[property] = value.methodize(); - } - } - - function findDOMClass(tagName) { - var klass; - var trans = { - "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph", - "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList", - "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading", - "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote", - "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION": - "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD": - "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR": - "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET": - "FrameSet", "IFRAME": "IFrame" - }; - if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element'; - if (window[klass]) return window[klass]; - klass = 'HTML' + tagName + 'Element'; - if (window[klass]) return window[klass]; - klass = 'HTML' + tagName.capitalize() + 'Element'; - if (window[klass]) return window[klass]; - - var element = document.createElement(tagName), - proto = element['__proto__'] || element.constructor.prototype; - - element = null; - return proto; - } - - function addMethods(methods) { - if (arguments.length === 0) addFormMethods(); - - if (arguments.length === 2) { - var tagName = methods; - methods = arguments[1]; - } - - if (!tagName) { - Object.extend(Element.Methods, methods || {}); - } else { - if (Object.isArray(tagName)) { - for (var i = 0, tag; tag = tagName[i]; i++) - addMethodsToTagName(tag, methods); - } else { - addMethodsToTagName(tagName, methods); - } - } - - var ELEMENT_PROTOTYPE = window.HTMLElement ? HTMLElement.prototype : - Element.prototype; - - if (F.ElementExtensions) { - mergeMethods(ELEMENT_PROTOTYPE, Element.Methods); - mergeMethods(ELEMENT_PROTOTYPE, Element.Methods.Simulated, true); - } - - if (F.SpecificElementExtensions) { - for (var tag in Element.Methods.ByTag) { - var klass = findDOMClass(tag); - if (Object.isUndefined(klass)) continue; - mergeMethods(klass.prototype, ByTag[tag]); - } - } - - Object.extend(Element, Element.Methods); - Object.extend(Element, Element.Methods.Simulated); - delete Element.ByTag; - delete Element.Simulated; - - Element.extend.refresh(); - - ELEMENT_CACHE = {}; - } - - Object.extend(GLOBAL.Element, { - extend: extend, - addMethods: addMethods - }); - - if (extend === Prototype.K) { - GLOBAL.Element.extend.refresh = Prototype.emptyFunction; - } else { - GLOBAL.Element.extend.refresh = function() { - if (Prototype.BrowserFeatures.ElementExtensions) return; - Object.extend(Methods, Element.Methods); - Object.extend(Methods, Element.Methods.Simulated); - - EXTENDED = {}; - }; - } - - function addFormMethods() { - Object.extend(Form, Form.Methods); - Object.extend(Form.Element, Form.Element.Methods); - Object.extend(Element.Methods.ByTag, { - "FORM": Object.clone(Form.Methods), - "INPUT": Object.clone(Form.Element.Methods), - "SELECT": Object.clone(Form.Element.Methods), - "TEXTAREA": Object.clone(Form.Element.Methods), - "BUTTON": Object.clone(Form.Element.Methods) - }); - } - - Element.addMethods(methods); - - function destroyCache_IE() { - DIV = null; - ELEMENT_CACHE = null; - } - - if (window.attachEvent) - window.attachEvent('onunload', destroyCache_IE); - -})(this); -(function() { - - function toDecimal(pctString) { - var match = pctString.match(/^(\d+)%?$/i); - if (!match) return null; - return (Number(match[1]) / 100); - } - - function getRawStyle(element, style) { - element = $(element); - - var value = element.style[style]; - if (!value || value === 'auto') { - var css = document.defaultView.getComputedStyle(element, null); - value = css ? css[style] : null; - } - - if (style === 'opacity') return value ? parseFloat(value) : 1.0; - return value === 'auto' ? null : value; - } - - function getRawStyle_IE(element, style) { - var value = element.style[style]; - if (!value && element.currentStyle) { - value = element.currentStyle[style]; - } - return value; - } - - function getContentWidth(element, context) { - var boxWidth = element.offsetWidth; - - var bl = getPixelValue(element, 'borderLeftWidth', context) || 0; - var br = getPixelValue(element, 'borderRightWidth', context) || 0; - var pl = getPixelValue(element, 'paddingLeft', context) || 0; - var pr = getPixelValue(element, 'paddingRight', context) || 0; - - return boxWidth - bl - br - pl - pr; - } - - if (!Object.isUndefined(document.documentElement.currentStyle) && !Prototype.Browser.Opera) { - getRawStyle = getRawStyle_IE; - } - - - function getPixelValue(value, property, context) { - var element = null; - if (Object.isElement(value)) { - element = value; - value = getRawStyle(element, property); - } - - if (value === null || Object.isUndefined(value)) { - return null; - } - - if ((/^(?:-)?\d+(\.\d+)?(px)?$/i).test(value)) { - return window.parseFloat(value); - } - - var isPercentage = value.include('%'), isViewport = (context === document.viewport); - - if (/\d/.test(value) && element && element.runtimeStyle && !(isPercentage && isViewport)) { - var style = element.style.left, rStyle = element.runtimeStyle.left; - element.runtimeStyle.left = element.currentStyle.left; - element.style.left = value || 0; - value = element.style.pixelLeft; - element.style.left = style; - element.runtimeStyle.left = rStyle; - - return value; - } - - if (element && isPercentage) { - context = context || element.parentNode; - var decimal = toDecimal(value), whole = null; - - var isHorizontal = property.include('left') || property.include('right') || - property.include('width'); - - var isVertical = property.include('top') || property.include('bottom') || - property.include('height'); - - if (context === document.viewport) { - if (isHorizontal) { - whole = document.viewport.getWidth(); - } else if (isVertical) { - whole = document.viewport.getHeight(); - } - } else { - if (isHorizontal) { - whole = $(context).measure('width'); - } else if (isVertical) { - whole = $(context).measure('height'); - } - } - - return (whole === null) ? 0 : whole * decimal; - } - - return 0; - } - - function toCSSPixels(number) { - if (Object.isString(number) && number.endsWith('px')) - return number; - return number + 'px'; - } - - function isDisplayed(element) { - while (element && element.parentNode) { - var display = element.getStyle('display'); - if (display === 'none') { - return false; - } - element = $(element.parentNode); - } - return true; - } - - var hasLayout = Prototype.K; - if ('currentStyle' in document.documentElement) { - hasLayout = function(element) { - if (!element.currentStyle.hasLayout) { - element.style.zoom = 1; - } - return element; - }; - } - - function cssNameFor(key) { - if (key.include('border')) key = key + '-width'; - return key.camelize(); - } - - Element.Layout = Class.create(Hash, { - initialize: function($super, element, preCompute) { - $super(); - this.element = $(element); - - Element.Layout.PROPERTIES.each( function(property) { - this._set(property, null); - }, this); - - if (preCompute) { - this._preComputing = true; - this._begin(); - Element.Layout.PROPERTIES.each( this._compute, this ); - this._end(); - this._preComputing = false; - } - }, - - _set: function(property, value) { - return Hash.prototype.set.call(this, property, value); - }, - - set: function(property, value) { - throw "Properties of Element.Layout are read-only."; - }, - - get: function($super, property) { - var value = $super(property); - return value === null ? this._compute(property) : value; - }, - - _begin: function() { - if (this._isPrepared()) return; - - var element = this.element; - if (isDisplayed(element)) { - this._setPrepared(true); - return; - } - - - var originalStyles = { - position: element.style.position || '', - width: element.style.width || '', - visibility: element.style.visibility || '', - display: element.style.display || '' - }; - - element.store('prototype_original_styles', originalStyles); - - var position = getRawStyle(element, 'position'), width = element.offsetWidth; - - if (width === 0 || width === null) { - element.style.display = 'block'; - width = element.offsetWidth; - } - - var context = (position === 'fixed') ? document.viewport : - element.parentNode; - - var tempStyles = { - visibility: 'hidden', - display: 'block' - }; - - if (position !== 'fixed') tempStyles.position = 'absolute'; - - element.setStyle(tempStyles); - - var positionedWidth = element.offsetWidth, newWidth; - if (width && (positionedWidth === width)) { - newWidth = getContentWidth(element, context); - } else if (position === 'absolute' || position === 'fixed') { - newWidth = getContentWidth(element, context); - } else { - var parent = element.parentNode, pLayout = $(parent).getLayout(); - - newWidth = pLayout.get('width') - - this.get('margin-left') - - this.get('border-left') - - this.get('padding-left') - - this.get('padding-right') - - this.get('border-right') - - this.get('margin-right'); - } - - element.setStyle({ width: newWidth + 'px' }); - - this._setPrepared(true); - }, - - _end: function() { - var element = this.element; - var originalStyles = element.retrieve('prototype_original_styles'); - element.store('prototype_original_styles', null); - element.setStyle(originalStyles); - this._setPrepared(false); - }, - - _compute: function(property) { - var COMPUTATIONS = Element.Layout.COMPUTATIONS; - if (!(property in COMPUTATIONS)) { - throw "Property not found."; - } - - return this._set(property, COMPUTATIONS[property].call(this, this.element)); - }, - - _isPrepared: function() { - return this.element.retrieve('prototype_element_layout_prepared', false); - }, - - _setPrepared: function(bool) { - return this.element.store('prototype_element_layout_prepared', bool); - }, - - toObject: function() { - var args = $A(arguments); - var keys = (args.length === 0) ? Element.Layout.PROPERTIES : - args.join(' ').split(' '); - var obj = {}; - keys.each( function(key) { - if (!Element.Layout.PROPERTIES.include(key)) return; - var value = this.get(key); - if (value != null) obj[key] = value; - }, this); - return obj; - }, - - toHash: function() { - var obj = this.toObject.apply(this, arguments); - return new Hash(obj); - }, - - toCSS: function() { - var args = $A(arguments); - var keys = (args.length === 0) ? Element.Layout.PROPERTIES : - args.join(' ').split(' '); - var css = {}; - - keys.each( function(key) { - if (!Element.Layout.PROPERTIES.include(key)) return; - if (Element.Layout.COMPOSITE_PROPERTIES.include(key)) return; - - var value = this.get(key); - if (value != null) css[cssNameFor(key)] = value + 'px'; - }, this); - return css; - }, - - inspect: function() { - return "#"; - } - }); - - Object.extend(Element.Layout, { - PROPERTIES: $w('height width top left right bottom border-left border-right border-top border-bottom padding-left padding-right padding-top padding-bottom margin-top margin-bottom margin-left margin-right padding-box-width padding-box-height border-box-width border-box-height margin-box-width margin-box-height'), - - COMPOSITE_PROPERTIES: $w('padding-box-width padding-box-height margin-box-width margin-box-height border-box-width border-box-height'), - - COMPUTATIONS: { - 'height': function(element) { - if (!this._preComputing) this._begin(); - - var bHeight = this.get('border-box-height'); - if (bHeight <= 0) { - if (!this._preComputing) this._end(); - return 0; - } - - var bTop = this.get('border-top'), - bBottom = this.get('border-bottom'); - - var pTop = this.get('padding-top'), - pBottom = this.get('padding-bottom'); - - if (!this._preComputing) this._end(); - - return bHeight - bTop - bBottom - pTop - pBottom; - }, - - 'width': function(element) { - if (!this._preComputing) this._begin(); - - var bWidth = this.get('border-box-width'); - if (bWidth <= 0) { - if (!this._preComputing) this._end(); - return 0; - } - - var bLeft = this.get('border-left'), - bRight = this.get('border-right'); - - var pLeft = this.get('padding-left'), - pRight = this.get('padding-right'); - - if (!this._preComputing) this._end(); - return bWidth - bLeft - bRight - pLeft - pRight; - }, - - 'padding-box-height': function(element) { - var height = this.get('height'), - pTop = this.get('padding-top'), - pBottom = this.get('padding-bottom'); - - return height + pTop + pBottom; - }, - - 'padding-box-width': function(element) { - var width = this.get('width'), - pLeft = this.get('padding-left'), - pRight = this.get('padding-right'); - - return width + pLeft + pRight; - }, - - 'border-box-height': function(element) { - if (!this._preComputing) this._begin(); - var height = element.offsetHeight; - if (!this._preComputing) this._end(); - return height; - }, - - 'border-box-width': function(element) { - if (!this._preComputing) this._begin(); - var width = element.offsetWidth; - if (!this._preComputing) this._end(); - return width; - }, - - 'margin-box-height': function(element) { - var bHeight = this.get('border-box-height'), - mTop = this.get('margin-top'), - mBottom = this.get('margin-bottom'); - - if (bHeight <= 0) return 0; - - return bHeight + mTop + mBottom; - }, - - 'margin-box-width': function(element) { - var bWidth = this.get('border-box-width'), - mLeft = this.get('margin-left'), - mRight = this.get('margin-right'); - - if (bWidth <= 0) return 0; - - return bWidth + mLeft + mRight; - }, - - 'top': function(element) { - var offset = element.positionedOffset(); - return offset.top; - }, - - 'bottom': function(element) { - var offset = element.positionedOffset(), - parent = element.getOffsetParent(), - pHeight = parent.measure('height'); - - var mHeight = this.get('border-box-height'); - - return pHeight - mHeight - offset.top; - }, - - 'left': function(element) { - var offset = element.positionedOffset(); - return offset.left; - }, - - 'right': function(element) { - var offset = element.positionedOffset(), - parent = element.getOffsetParent(), - pWidth = parent.measure('width'); - - var mWidth = this.get('border-box-width'); - - return pWidth - mWidth - offset.left; - }, - - 'padding-top': function(element) { - return getPixelValue(element, 'paddingTop'); - }, - - 'padding-bottom': function(element) { - return getPixelValue(element, 'paddingBottom'); - }, - - 'padding-left': function(element) { - return getPixelValue(element, 'paddingLeft'); - }, - - 'padding-right': function(element) { - return getPixelValue(element, 'paddingRight'); - }, - - 'border-top': function(element) { - return getPixelValue(element, 'borderTopWidth'); - }, - - 'border-bottom': function(element) { - return getPixelValue(element, 'borderBottomWidth'); - }, - - 'border-left': function(element) { - return getPixelValue(element, 'borderLeftWidth'); - }, - - 'border-right': function(element) { - return getPixelValue(element, 'borderRightWidth'); - }, - - 'margin-top': function(element) { - return getPixelValue(element, 'marginTop'); - }, - - 'margin-bottom': function(element) { - return getPixelValue(element, 'marginBottom'); - }, - - 'margin-left': function(element) { - return getPixelValue(element, 'marginLeft'); - }, - - 'margin-right': function(element) { - return getPixelValue(element, 'marginRight'); - } - } - }); - - if ('getBoundingClientRect' in document.documentElement) { - Object.extend(Element.Layout.COMPUTATIONS, { - 'right': function(element) { - var parent = hasLayout(element.getOffsetParent()); - var rect = element.getBoundingClientRect(), - pRect = parent.getBoundingClientRect(); - - return (pRect.right - rect.right).round(); - }, - - 'bottom': function(element) { - var parent = hasLayout(element.getOffsetParent()); - var rect = element.getBoundingClientRect(), - pRect = parent.getBoundingClientRect(); - - return (pRect.bottom - rect.bottom).round(); - } - }); - } - - Element.Offset = Class.create({ - initialize: function(left, top) { - this.left = left.round(); - this.top = top.round(); - - this[0] = this.left; - this[1] = this.top; - }, - - relativeTo: function(offset) { - return new Element.Offset( - this.left - offset.left, - this.top - offset.top - ); - }, - - inspect: function() { - return "#".interpolate(this); - }, - - toString: function() { - return "[#{left}, #{top}]".interpolate(this); - }, - - toArray: function() { - return [this.left, this.top]; - } - }); - - function getLayout(element, preCompute) { - return new Element.Layout(element, preCompute); - } - - function measure(element, property) { - return $(element).getLayout().get(property); - } - - function getHeight(element) { - return Element.getDimensions(element).height; - } - - function getWidth(element) { - return Element.getDimensions(element).width; - } - - function getDimensions(element) { - element = $(element); - var display = Element.getStyle(element, 'display'); - - if (display && display !== 'none') { - return { width: element.offsetWidth, height: element.offsetHeight }; - } - - var style = element.style; - var originalStyles = { - visibility: style.visibility, - position: style.position, - display: style.display - }; - - var newStyles = { - visibility: 'hidden', - display: 'block' - }; - - if (originalStyles.position !== 'fixed') - newStyles.position = 'absolute'; - - Element.setStyle(element, newStyles); - - var dimensions = { - width: element.offsetWidth, - height: element.offsetHeight - }; - - Element.setStyle(element, originalStyles); - - return dimensions; - } - - function getOffsetParent(element) { - element = $(element); - - function selfOrBody(element) { - return isHtml(element) ? $(document.body) : $(element); - } - - if (isDocument(element) || isDetached(element) || isBody(element) || isHtml(element)) - return $(document.body); - - var isInline = (Element.getStyle(element, 'display') === 'inline'); - if (!isInline && element.offsetParent) return selfOrBody(element.offsetParent); - - while ((element = element.parentNode) && element !== document.body) { - if (Element.getStyle(element, 'position') !== 'static') { - return selfOrBody(element); - } - } - - return $(document.body); - } - - - function cumulativeOffset(element) { - element = $(element); - var valueT = 0, valueL = 0; - if (element.parentNode) { - do { - valueT += element.offsetTop || 0; - valueL += element.offsetLeft || 0; - element = element.offsetParent; - } while (element); - } - return new Element.Offset(valueL, valueT); - } - - function positionedOffset(element) { - element = $(element); - - var layout = element.getLayout(); - - var valueT = 0, valueL = 0; - do { - valueT += element.offsetTop || 0; - valueL += element.offsetLeft || 0; - element = element.offsetParent; - if (element) { - if (isBody(element)) break; - var p = Element.getStyle(element, 'position'); - if (p !== 'static') break; - } - } while (element); - - valueL -= layout.get('margin-left'); - valueT -= layout.get('margin-top'); - - return new Element.Offset(valueL, valueT); - } - - function cumulativeScrollOffset(element) { - var valueT = 0, valueL = 0; - do { - if (element === document.body) { - var bodyScrollNode = document.documentElement || document.body.parentNode || document.body; - valueT += !Object.isUndefined(window.pageYOffset) ? window.pageYOffset : bodyScrollNode.scrollTop || 0; - valueL += !Object.isUndefined(window.pageXOffset) ? window.pageXOffset : bodyScrollNode.scrollLeft || 0; - break; - } else { - valueT += element.scrollTop || 0; - valueL += element.scrollLeft || 0; - element = element.parentNode; - } - } while (element); - return new Element.Offset(valueL, valueT); - } - - function viewportOffset(forElement) { - var valueT = 0, valueL = 0, docBody = document.body; - - forElement = $(forElement); - var element = forElement; - do { - valueT += element.offsetTop || 0; - valueL += element.offsetLeft || 0; - if (element.offsetParent == docBody && - Element.getStyle(element, 'position') == 'absolute') break; - } while (element = element.offsetParent); - - element = forElement; - do { - if (element != docBody) { - valueT -= element.scrollTop || 0; - valueL -= element.scrollLeft || 0; - } - } while (element = element.parentNode); - return new Element.Offset(valueL, valueT); - } - - function absolutize(element) { - element = $(element); - - if (Element.getStyle(element, 'position') === 'absolute') { - return element; - } - - var offsetParent = getOffsetParent(element); - var eOffset = element.viewportOffset(), - pOffset = offsetParent.viewportOffset(); - - var offset = eOffset.relativeTo(pOffset); - var layout = element.getLayout(); - - element.store('prototype_absolutize_original_styles', { - position: element.getStyle('position'), - left: element.getStyle('left'), - top: element.getStyle('top'), - width: element.getStyle('width'), - height: element.getStyle('height') - }); - - element.setStyle({ - position: 'absolute', - top: offset.top + 'px', - left: offset.left + 'px', - width: layout.get('width') + 'px', - height: layout.get('height') + 'px' - }); - - return element; - } - - function relativize(element) { - element = $(element); - if (Element.getStyle(element, 'position') === 'relative') { - return element; - } - - var originalStyles = - element.retrieve('prototype_absolutize_original_styles'); - - if (originalStyles) element.setStyle(originalStyles); - return element; - } - - - function scrollTo(element) { - element = $(element); - var pos = Element.cumulativeOffset(element); - window.scrollTo(pos.left, pos.top); - return element; - } - - - function makePositioned(element) { - element = $(element); - var position = Element.getStyle(element, 'position'), styles = {}; - if (position === 'static' || !position) { - styles.position = 'relative'; - if (Prototype.Browser.Opera) { - styles.top = 0; - styles.left = 0; - } - Element.setStyle(element, styles); - Element.store(element, 'prototype_made_positioned', true); - } - return element; - } - - function undoPositioned(element) { - element = $(element); - var storage = Element.getStorage(element), - madePositioned = storage.get('prototype_made_positioned'); - - if (madePositioned) { - storage.unset('prototype_made_positioned'); - Element.setStyle(element, { - position: '', - top: '', - bottom: '', - left: '', - right: '' - }); - } - return element; - } - - function makeClipping(element) { - element = $(element); - - var storage = Element.getStorage(element), - madeClipping = storage.get('prototype_made_clipping'); - - if (Object.isUndefined(madeClipping)) { - var overflow = Element.getStyle(element, 'overflow'); - storage.set('prototype_made_clipping', overflow); - if (overflow !== 'hidden') - element.style.overflow = 'hidden'; - } - - return element; - } - - function undoClipping(element) { - element = $(element); - var storage = Element.getStorage(element), - overflow = storage.get('prototype_made_clipping'); - - if (!Object.isUndefined(overflow)) { - storage.unset('prototype_made_clipping'); - element.style.overflow = overflow || ''; - } - - return element; - } - - function clonePosition(element, source, options) { - options = Object.extend({ - setLeft: true, - setTop: true, - setWidth: true, - setHeight: true, - offsetTop: 0, - offsetLeft: 0 - }, options || {}); - - var docEl = document.documentElement; - - source = $(source); - element = $(element); - var p, delta, layout, styles = {}; - - if (options.setLeft || options.setTop) { - p = Element.viewportOffset(source); - delta = [0, 0]; - if (Element.getStyle(element, 'position') === 'absolute') { - var parent = Element.getOffsetParent(element); - if (parent !== document.body) delta = Element.viewportOffset(parent); - } - } - - function pageScrollXY() { - var x = 0, y = 0; - if (Object.isNumber(window.pageXOffset)) { - x = window.pageXOffset; - y = window.pageYOffset; - } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) { - x = document.body.scrollLeft; - y = document.body.scrollTop; - } else if (docEl && (docEl.scrollLeft || docEl.scrollTop)) { - x = docEl.scrollLeft; - y = docEl.scrollTop; - } - return { x: x, y: y }; - } - - var pageXY = pageScrollXY(); - - - if (options.setWidth || options.setHeight) { - layout = Element.getLayout(source); - } - - if (options.setLeft) - styles.left = (p[0] + pageXY.x - delta[0] + options.offsetLeft) + 'px'; - if (options.setTop) - styles.top = (p[1] + pageXY.y - delta[1] + options.offsetTop) + 'px'; - - var currentLayout = element.getLayout(); - - if (options.setWidth) { - styles.width = layout.get('width') + 'px'; - } - if (options.setHeight) { - styles.height = layout.get('height') + 'px'; - } - - return Element.setStyle(element, styles); - } - - - if (Prototype.Browser.IE) { - getOffsetParent = getOffsetParent.wrap( - function(proceed, element) { - element = $(element); - - if (isDocument(element) || isDetached(element) || isBody(element) || isHtml(element)) - return $(document.body); - - var position = element.getStyle('position'); - if (position !== 'static') return proceed(element); - - element.setStyle({ position: 'relative' }); - var value = proceed(element); - element.setStyle({ position: position }); - return value; - } - ); - - positionedOffset = positionedOffset.wrap(function(proceed, element) { - element = $(element); - if (!element.parentNode) return new Element.Offset(0, 0); - var position = element.getStyle('position'); - if (position !== 'static') return proceed(element); - - var offsetParent = element.getOffsetParent(); - if (offsetParent && offsetParent.getStyle('position') === 'fixed') - hasLayout(offsetParent); - - element.setStyle({ position: 'relative' }); - var value = proceed(element); - element.setStyle({ position: position }); - return value; - }); - } else if (Prototype.Browser.Webkit) { - cumulativeOffset = function(element) { - element = $(element); - var valueT = 0, valueL = 0; - do { - valueT += element.offsetTop || 0; - valueL += element.offsetLeft || 0; - if (element.offsetParent == document.body) { - if (Element.getStyle(element, 'position') == 'absolute') break; - } - - element = element.offsetParent; - } while (element); - - return new Element.Offset(valueL, valueT); - }; - } - - - Element.addMethods({ - getLayout: getLayout, - measure: measure, - getWidth: getWidth, - getHeight: getHeight, - getDimensions: getDimensions, - getOffsetParent: getOffsetParent, - cumulativeOffset: cumulativeOffset, - positionedOffset: positionedOffset, - cumulativeScrollOffset: cumulativeScrollOffset, - viewportOffset: viewportOffset, - absolutize: absolutize, - relativize: relativize, - scrollTo: scrollTo, - makePositioned: makePositioned, - undoPositioned: undoPositioned, - makeClipping: makeClipping, - undoClipping: undoClipping, - clonePosition: clonePosition - }); - - function isBody(element) { - return element.nodeName.toUpperCase() === 'BODY'; - } - - function isHtml(element) { - return element.nodeName.toUpperCase() === 'HTML'; - } - - function isDocument(element) { - return element.nodeType === Node.DOCUMENT_NODE; - } - - function isDetached(element) { - return element !== document.body && - !Element.descendantOf(element, document.body); - } - - if ('getBoundingClientRect' in document.documentElement) { - Element.addMethods({ - viewportOffset: function(element) { - element = $(element); - if (isDetached(element)) return new Element.Offset(0, 0); - - var rect = element.getBoundingClientRect(), - docEl = document.documentElement; - return new Element.Offset(rect.left - docEl.clientLeft, - rect.top - docEl.clientTop); - } - }); - } - - -})(); - -(function() { - - var IS_OLD_OPERA = Prototype.Browser.Opera && - (window.parseFloat(window.opera.version()) < 9.5); - var ROOT = null; - function getRootElement() { - if (ROOT) return ROOT; - ROOT = IS_OLD_OPERA ? document.body : document.documentElement; - return ROOT; - } - - function getDimensions() { - return { width: this.getWidth(), height: this.getHeight() }; - } - - function getWidth() { - return getRootElement().clientWidth; - } - - function getHeight() { - return getRootElement().clientHeight; - } - - function getScrollOffsets() { - var x = window.pageXOffset || document.documentElement.scrollLeft || - document.body.scrollLeft; - var y = window.pageYOffset || document.documentElement.scrollTop || - document.body.scrollTop; - - return new Element.Offset(x, y); - } - - document.viewport = { - getDimensions: getDimensions, - getWidth: getWidth, - getHeight: getHeight, - getScrollOffsets: getScrollOffsets - }; - -})(); -window.$$ = function() { - var expression = $A(arguments).join(', '); - return Prototype.Selector.select(expression, document); -}; - -Prototype.Selector = (function() { - - function select() { - throw new Error('Method "Prototype.Selector.select" must be defined.'); - } - - function match() { - throw new Error('Method "Prototype.Selector.match" must be defined.'); - } - - function find(elements, expression, index) { - index = index || 0; - var match = Prototype.Selector.match, length = elements.length, matchIndex = 0, i; - - for (i = 0; i < length; i++) { - if (match(elements[i], expression) && index == matchIndex++) { - return Element.extend(elements[i]); - } - } - } - - function extendElements(elements) { - for (var i = 0, length = elements.length; i < length; i++) { - Element.extend(elements[i]); - } - return elements; - } - - - var K = Prototype.K; - - return { - select: select, - match: match, - find: find, - extendElements: (Element.extend === K) ? K : extendElements, - extendElement: Element.extend - }; -})(); -Prototype._original_property = window.Sizzle; - -;(function () { - function fakeDefine(fn) { - Prototype._actual_sizzle = fn(); - } - fakeDefine.amd = true; - - if (typeof define !== 'undefined' && define.amd) { - Prototype._original_define = define; - Prototype._actual_sizzle = null; - window.define = fakeDefine; - } -})(); - -/*! - * Sizzle CSS Selector Engine v1.10.18 - * http://sizzlejs.com/ - * - * Copyright 2013 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2014-02-05 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - expando = "sizzle" + -(new Date()), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - strundefined = typeof undefined, - MAX_NEGATIVE = 1 << 31, - - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - indexOf = arr.indexOf || function( elem ) { - var i = 0, - len = this.length; - for ( ; i < len; i++ ) { - if ( this[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - - whitespace = "[\\x20\\t\\r\\n\\f]", - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - identifier = characterEncoding.replace( "w", "w#" ), - - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + - "*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", - - pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", - - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - rescape = /'|\\/g, - - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }; - -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - function( target, els ) { - var j = target.length, - i = 0; - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - - if ( !selector || typeof selector !== "string" ) { - return results; - } - - if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { - return []; - } - - if ( documentIsHTML && !seed ) { - - if ( (match = rquickExpr.exec( selector )) ) { - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - if ( elem && elem.parentNode ) { - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - nid = old = expando; - newContext = context; - newSelector = nodeType === 9 && selector; - - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - if ( keys.push( key + " " ) > Expr.cacheLength ) { - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return !!fn( div ); - } catch (e) { - return false; - } finally { - if ( div.parentNode ) { - div.parentNode.removeChild( div ); - } - div = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = attrs.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - ( ~b.sourceIndex || MAX_NEGATIVE ) - - ( ~a.sourceIndex || MAX_NEGATIVE ); - - if ( diff ) { - return diff; - } - - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== strundefined && context; -} - -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, - doc = node ? node.ownerDocument || node : preferredDoc, - parent = doc.defaultView; - - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - document = doc; - docElem = doc.documentElement; - - documentIsHTML = !isXML( doc ); - - if ( parent && parent !== parent.top ) { - if ( parent.addEventListener ) { - parent.addEventListener( "unload", function() { - setDocument(); - }, false ); - } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", function() { - setDocument(); - }); - } - } - - /* Attributes - ---------------------------------------------------------------------- */ - - support.attributes = assert(function( div ) { - div.className = "i"; - return !div.getAttribute("className"); - }); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - support.getElementsByTagName = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ) && assert(function( div ) { - div.innerHTML = "
"; - - div.firstChild.className = "i"; - return div.getElementsByClassName("i").length === 2; - }); - - support.getById = assert(function( div ) { - docElem.appendChild( div ).id = expando; - return !doc.getElementsByName || !doc.getElementsByName( expando ).length; - }); - - if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && documentIsHTML ) { - var m = context.getElementById( id ); - return m && m.parentNode ? [m] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - delete Expr.find["ID"]; - - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - Expr.find["TAG"] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== strundefined ) { - return context.getElementsByTagName( tag ); - } - } : - function( tag, context ) { - var elem, - tmp = [], - i = 0, - results = context.getElementsByTagName( tag ); - - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - - rbuggyMatches = []; - - rbuggyQSA = []; - - if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { - assert(function( div ) { - div.innerHTML = ""; - - if ( div.querySelectorAll("[t^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - }); - - assert(function( div ) { - var input = doc.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); - - if ( div.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - support.disconnectedMatch = matches.call( div, "div" ); - - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - sortOrder = hasCompare ? - function( a, b ) { - - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - 1; - - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - return sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : - 0; - - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - siblingCheck( ap[i], bp[i] ) : - - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return doc; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - if ( ret || support.disconnectedMatch || - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch(e) {} - } - - return Sizzle( expr, document, null, [elem] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - while ( (node = elem[i++]) ) { - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - - return ret; -}; - -Expr = Sizzle.selectors = { - - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[5] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - if ( match[3] && match[4] !== undefined ) { - match[2] = match[4]; - - } else if ( unquoted && rpseudo.test( unquoted ) && - (excess = tokenize( unquoted, true )) && - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - if ( forward && useCache ) { - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - } else { - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - if ( fn[ expando ] ) { - return fn( argument ); - } - - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf.call( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - "not": markFunction(function( selector ) { - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - "lang": markFunction( function( lang ) { - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - "empty": function( elem ) { - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -function tokenize( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( (tokens = []) ); - } - - matched = false; - - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - tokenCache( selector, groups ).slice( 0 ); -} - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - function( elem, context, xml ) { - var oldCache, outerCache, - newCache = [ dirruns, doneName ]; - - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (oldCache = outerCache[ dir ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - outerCache[ dir ] = newCache; - - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - [] : - - results : - matcherIn; - - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf.call( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - if ( matcher[ expando ] ) { - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context !== document && context; - } - - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - if ( bySet ) { - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - if ( seed ) { - unmatched.push( elem ); - } - } - } - - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - setMatched = condense( setMatched ); - } - - push.apply( results, setMatched ); - - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - if ( match.length === 1 ) { - - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { - - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - - -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -support.detectDuplicates = !!hasDuplicate; - -setDocument(); - -support.sortDetached = assert(function( div1 ) { - return div1.compareDocumentPosition( document.createElement("div") ) & 1; -}); - -if ( !assert(function( div ) { - div.innerHTML = ""; - return div.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = ""; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -if ( typeof define === "function" && define.amd ) { - define(function() { return Sizzle; }); -} else if ( typeof module !== "undefined" && module.exports ) { - module.exports = Sizzle; -} else { - window.Sizzle = Sizzle; -} - -})( window ); - -;(function() { - if (typeof Sizzle !== 'undefined') { - return; - } - - if (typeof define !== 'undefined' && define.amd) { - window.Sizzle = Prototype._actual_sizzle; - window.define = Prototype._original_define; - delete Prototype._actual_sizzle; - delete Prototype._original_define; - } else if (typeof module !== 'undefined' && module.exports) { - window.Sizzle = module.exports; - module.exports = {}; - } -})(); - -;(function(engine) { - var extendElements = Prototype.Selector.extendElements; - - function select(selector, scope) { - return extendElements(engine(selector, scope || document)); - } - - function match(element, selector) { - return engine.matches(selector, [element]).length == 1; - } - - Prototype.Selector.engine = engine; - Prototype.Selector.select = select; - Prototype.Selector.match = match; -})(Sizzle); - -window.Sizzle = Prototype._original_property; -delete Prototype._original_property; - -var Form = { - reset: function(form) { - form = $(form); - form.reset(); - return form; - }, - - serializeElements: function(elements, options) { - if (typeof options != 'object') options = { hash: !!options }; - else if (Object.isUndefined(options.hash)) options.hash = true; - var key, value, submitted = false, submit = options.submit, accumulator, initial; - - if (options.hash) { - initial = {}; - accumulator = function(result, key, value) { - if (key in result) { - if (!Object.isArray(result[key])) result[key] = [result[key]]; - result[key] = result[key].concat(value); - } else result[key] = value; - return result; - }; - } else { - initial = ''; - accumulator = function(result, key, values) { - if (!Object.isArray(values)) {values = [values];} - if (!values.length) {return result;} - var encodedKey = encodeURIComponent(key).gsub(/%20/, '+'); - return result + (result ? "&" : "") + values.map(function (value) { - value = value.gsub(/(\r)?\n/, '\r\n'); - value = encodeURIComponent(value); - value = value.gsub(/%20/, '+'); - return encodedKey + "=" + value; - }).join("&"); - }; - } - - return elements.inject(initial, function(result, element) { - if (!element.disabled && element.name) { - key = element.name; value = $(element).getValue(); - if (value != null && element.type != 'file' && (element.type != 'submit' || (!submitted && - submit !== false && (!submit || key == submit) && (submitted = true)))) { - result = accumulator(result, key, value); - } - } - return result; - }); - } -}; - -Form.Methods = { - serialize: function(form, options) { - return Form.serializeElements(Form.getElements(form), options); - }, - - - getElements: function(form) { - var elements = $(form).getElementsByTagName('*'); - var element, results = [], serializers = Form.Element.Serializers; - - for (var i = 0; element = elements[i]; i++) { - if (serializers[element.tagName.toLowerCase()]) - results.push(Element.extend(element)); - } - return results; - }, - - getInputs: function(form, typeName, name) { - form = $(form); - var inputs = form.getElementsByTagName('input'); - - if (!typeName && !name) return $A(inputs).map(Element.extend); - - for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) { - var input = inputs[i]; - if ((typeName && input.type != typeName) || (name && input.name != name)) - continue; - matchingInputs.push(Element.extend(input)); - } - - return matchingInputs; - }, - - disable: function(form) { - form = $(form); - Form.getElements(form).invoke('disable'); - return form; - }, - - enable: function(form) { - form = $(form); - Form.getElements(form).invoke('enable'); - return form; - }, - - findFirstElement: function(form) { - var elements = $(form).getElements().findAll(function(element) { - return 'hidden' != element.type && !element.disabled; - }); - var firstByIndex = elements.findAll(function(element) { - return element.hasAttribute('tabIndex') && element.tabIndex >= 0; - }).sortBy(function(element) { return element.tabIndex }).first(); - - return firstByIndex ? firstByIndex : elements.find(function(element) { - return /^(?:input|select|textarea)$/i.test(element.tagName); - }); - }, - - focusFirstElement: function(form) { - form = $(form); - var element = form.findFirstElement(); - if (element) element.activate(); - return form; - }, - - request: function(form, options) { - form = $(form), options = Object.clone(options || { }); - - var params = options.parameters, action = form.readAttribute('action') || ''; - if (action.blank()) action = window.location.href; - options.parameters = form.serialize(true); - - if (params) { - if (Object.isString(params)) params = params.toQueryParams(); - Object.extend(options.parameters, params); - } - - if (form.hasAttribute('method') && !options.method) - options.method = form.method; - - return new Ajax.Request(action, options); - } -}; - -/*--------------------------------------------------------------------------*/ - - -Form.Element = { - focus: function(element) { - $(element).focus(); - return element; - }, - - select: function(element) { - $(element).select(); - return element; - } -}; - -Form.Element.Methods = { - - serialize: function(element) { - element = $(element); - if (!element.disabled && element.name) { - var value = element.getValue(); - if (value != undefined) { - var pair = { }; - pair[element.name] = value; - return Object.toQueryString(pair); - } - } - return ''; - }, - - getValue: function(element) { - element = $(element); - var method = element.tagName.toLowerCase(); - return Form.Element.Serializers[method](element); - }, - - setValue: function(element, value) { - element = $(element); - var method = element.tagName.toLowerCase(); - Form.Element.Serializers[method](element, value); - return element; - }, - - clear: function(element) { - $(element).value = ''; - return element; - }, - - present: function(element) { - return $(element).value != ''; - }, - - activate: function(element) { - element = $(element); - try { - element.focus(); - if (element.select && (element.tagName.toLowerCase() != 'input' || - !(/^(?:button|reset|submit)$/i.test(element.type)))) - element.select(); - } catch (e) { } - return element; - }, - - disable: function(element) { - element = $(element); - element.disabled = true; - return element; - }, - - enable: function(element) { - element = $(element); - element.disabled = false; - return element; - } -}; - -/*--------------------------------------------------------------------------*/ - -var Field = Form.Element; - -var $F = Form.Element.Methods.getValue; - -/*--------------------------------------------------------------------------*/ - -Form.Element.Serializers = (function() { - function input(element, value) { - switch (element.type.toLowerCase()) { - case 'checkbox': - case 'radio': - return inputSelector(element, value); - default: - return valueSelector(element, value); - } - } - - function inputSelector(element, value) { - if (Object.isUndefined(value)) - return element.checked ? element.value : null; - else element.checked = !!value; - } - - function valueSelector(element, value) { - if (Object.isUndefined(value)) return element.value; - else element.value = value; - } - - function select(element, value) { - if (Object.isUndefined(value)) - return (element.type === 'select-one' ? selectOne : selectMany)(element); - - var opt, currentValue, single = !Object.isArray(value); - for (var i = 0, length = element.length; i < length; i++) { - opt = element.options[i]; - currentValue = this.optionValue(opt); - if (single) { - if (currentValue == value) { - opt.selected = true; - return; - } - } - else opt.selected = value.include(currentValue); - } - } - - function selectOne(element) { - var index = element.selectedIndex; - return index >= 0 ? optionValue(element.options[index]) : null; - } - - function selectMany(element) { - var values, length = element.length; - if (!length) return null; - - for (var i = 0, values = []; i < length; i++) { - var opt = element.options[i]; - if (opt.selected) values.push(optionValue(opt)); - } - return values; - } - - function optionValue(opt) { - return Element.hasAttribute(opt, 'value') ? opt.value : opt.text; - } - - return { - input: input, - inputSelector: inputSelector, - textarea: valueSelector, - select: select, - selectOne: selectOne, - selectMany: selectMany, - optionValue: optionValue, - button: valueSelector - }; -})(); - -/*--------------------------------------------------------------------------*/ - - -Abstract.TimedObserver = Class.create(PeriodicalExecuter, { - initialize: function($super, element, frequency, callback) { - $super(callback, frequency); - this.element = $(element); - this.lastValue = this.getValue(); - }, - - execute: function() { - var value = this.getValue(); - if (Object.isString(this.lastValue) && Object.isString(value) ? - this.lastValue != value : String(this.lastValue) != String(value)) { - this.callback(this.element, value); - this.lastValue = value; - } - } -}); - -Form.Element.Observer = Class.create(Abstract.TimedObserver, { - getValue: function() { - return Form.Element.getValue(this.element); - } -}); - -Form.Observer = Class.create(Abstract.TimedObserver, { - getValue: function() { - return Form.serialize(this.element); - } -}); - -/*--------------------------------------------------------------------------*/ - -Abstract.EventObserver = Class.create({ - initialize: function(element, callback) { - this.element = $(element); - this.callback = callback; - - this.lastValue = this.getValue(); - if (this.element.tagName.toLowerCase() == 'form') - this.registerFormCallbacks(); - else - this.registerCallback(this.element); - }, - - onElementEvent: function() { - var value = this.getValue(); - if (this.lastValue != value) { - this.callback(this.element, value); - this.lastValue = value; - } - }, - - registerFormCallbacks: function() { - Form.getElements(this.element).each(this.registerCallback, this); - }, - - registerCallback: function(element) { - if (element.type) { - switch (element.type.toLowerCase()) { - case 'checkbox': - case 'radio': - Event.observe(element, 'click', this.onElementEvent.bind(this)); - break; - default: - Event.observe(element, 'change', this.onElementEvent.bind(this)); - break; - } - } - } -}); - -Form.Element.EventObserver = Class.create(Abstract.EventObserver, { - getValue: function() { - return Form.Element.getValue(this.element); - } -}); - -Form.EventObserver = Class.create(Abstract.EventObserver, { - getValue: function() { - return Form.serialize(this.element); - } -}); -(function(GLOBAL) { - var DIV = document.createElement('div'); - var docEl = document.documentElement; - var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED = 'onmouseenter' in docEl - && 'onmouseleave' in docEl; - - var Event = { - KEY_BACKSPACE: 8, - KEY_TAB: 9, - KEY_RETURN: 13, - KEY_ESC: 27, - KEY_LEFT: 37, - KEY_UP: 38, - KEY_RIGHT: 39, - KEY_DOWN: 40, - KEY_DELETE: 46, - KEY_HOME: 36, - KEY_END: 35, - KEY_PAGEUP: 33, - KEY_PAGEDOWN: 34, - KEY_INSERT: 45 - }; - - - var isIELegacyEvent = function(event) { return false; }; - - if (window.attachEvent) { - if (window.addEventListener) { - isIELegacyEvent = function(event) { - return !(event instanceof window.Event); - }; - } else { - isIELegacyEvent = function(event) { return true; }; - } - } - - var _isButton; - - function _isButtonForDOMEvents(event, code) { - return event.which ? (event.which === code + 1) : (event.button === code); - } - - var legacyButtonMap = { 0: 1, 1: 4, 2: 2 }; - function _isButtonForLegacyEvents(event, code) { - return event.button === legacyButtonMap[code]; - } - - function _isButtonForWebKit(event, code) { - switch (code) { - case 0: return event.which == 1 && !event.metaKey; - case 1: return event.which == 2 || (event.which == 1 && event.metaKey); - case 2: return event.which == 3; - default: return false; - } - } - - if (window.attachEvent) { - if (!window.addEventListener) { - _isButton = _isButtonForLegacyEvents; - } else { - _isButton = function(event, code) { - return isIELegacyEvent(event) ? _isButtonForLegacyEvents(event, code) : - _isButtonForDOMEvents(event, code); - } - } - } else if (Prototype.Browser.WebKit) { - _isButton = _isButtonForWebKit; - } else { - _isButton = _isButtonForDOMEvents; - } - - function isLeftClick(event) { return _isButton(event, 0) } - - function isMiddleClick(event) { return _isButton(event, 1) } - - function isRightClick(event) { return _isButton(event, 2) } - - function element(event) { - return Element.extend(_element(event)); - } - - function _element(event) { - event = Event.extend(event); - - var node = event.target, type = event.type, - currentTarget = event.currentTarget; - - if (currentTarget && currentTarget.tagName) { - if (type === 'load' || type === 'error' || - (type === 'click' && currentTarget.tagName.toLowerCase() === 'input' - && currentTarget.type === 'radio')) - node = currentTarget; - } - - return node.nodeType == Node.TEXT_NODE ? node.parentNode : node; - } - - function findElement(event, expression) { - var element = _element(event), selector = Prototype.Selector; - if (!expression) return Element.extend(element); - while (element) { - if (Object.isElement(element) && selector.match(element, expression)) - return Element.extend(element); - element = element.parentNode; - } - } - - function pointer(event) { - return { x: pointerX(event), y: pointerY(event) }; - } - - function pointerX(event) { - var docElement = document.documentElement, - body = document.body || { scrollLeft: 0 }; - - return event.pageX || (event.clientX + - (docElement.scrollLeft || body.scrollLeft) - - (docElement.clientLeft || 0)); - } - - function pointerY(event) { - var docElement = document.documentElement, - body = document.body || { scrollTop: 0 }; - - return event.pageY || (event.clientY + - (docElement.scrollTop || body.scrollTop) - - (docElement.clientTop || 0)); - } - - - function stop(event) { - Event.extend(event); - event.preventDefault(); - event.stopPropagation(); - - event.stopped = true; - } - - - Event.Methods = { - isLeftClick: isLeftClick, - isMiddleClick: isMiddleClick, - isRightClick: isRightClick, - - element: element, - findElement: findElement, - - pointer: pointer, - pointerX: pointerX, - pointerY: pointerY, - - stop: stop - }; - - var methods = Object.keys(Event.Methods).inject({ }, function(m, name) { - m[name] = Event.Methods[name].methodize(); - return m; - }); - - if (window.attachEvent) { - function _relatedTarget(event) { - var element; - switch (event.type) { - case 'mouseover': - case 'mouseenter': - element = event.fromElement; - break; - case 'mouseout': - case 'mouseleave': - element = event.toElement; - break; - default: - return null; - } - return Element.extend(element); - } - - var additionalMethods = { - stopPropagation: function() { this.cancelBubble = true }, - preventDefault: function() { this.returnValue = false }, - inspect: function() { return '[object Event]' } - }; - - Event.extend = function(event, element) { - if (!event) return false; - - if (!isIELegacyEvent(event)) return event; - - if (event._extendedByPrototype) return event; - event._extendedByPrototype = Prototype.emptyFunction; - - var pointer = Event.pointer(event); - - Object.extend(event, { - target: event.srcElement || element, - relatedTarget: _relatedTarget(event), - pageX: pointer.x, - pageY: pointer.y - }); - - Object.extend(event, methods); - Object.extend(event, additionalMethods); - - return event; - }; - } else { - Event.extend = Prototype.K; - } - - if (window.addEventListener) { - Event.prototype = window.Event.prototype || document.createEvent('HTMLEvents').__proto__; - Object.extend(Event.prototype, methods); - } - - var EVENT_TRANSLATIONS = { - mouseenter: 'mouseover', - mouseleave: 'mouseout' - }; - - function getDOMEventName(eventName) { - return EVENT_TRANSLATIONS[eventName] || eventName; - } - - if (MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) - getDOMEventName = Prototype.K; - - function getUniqueElementID(element) { - if (element === window) return 0; - - if (typeof element._prototypeUID === 'undefined') - element._prototypeUID = Element.Storage.UID++; - return element._prototypeUID; - } - - function getUniqueElementID_IE(element) { - if (element === window) return 0; - if (element == document) return 1; - return element.uniqueID; - } - - if ('uniqueID' in DIV) - getUniqueElementID = getUniqueElementID_IE; - - function isCustomEvent(eventName) { - return eventName.include(':'); - } - - Event._isCustomEvent = isCustomEvent; - - function getOrCreateRegistryFor(element, uid) { - var CACHE = GLOBAL.Event.cache; - if (Object.isUndefined(uid)) - uid = getUniqueElementID(element); - if (!CACHE[uid]) CACHE[uid] = { element: element }; - return CACHE[uid]; - } - - function destroyRegistryForElement(element, uid) { - if (Object.isUndefined(uid)) - uid = getUniqueElementID(element); - delete GLOBAL.Event.cache[uid]; - } - - - function register(element, eventName, handler) { - var registry = getOrCreateRegistryFor(element); - if (!registry[eventName]) registry[eventName] = []; - var entries = registry[eventName]; - - var i = entries.length; - while (i--) - if (entries[i].handler === handler) return null; - - var uid = getUniqueElementID(element); - var responder = GLOBAL.Event._createResponder(uid, eventName, handler); - var entry = { - responder: responder, - handler: handler - }; - - entries.push(entry); - return entry; - } - - function unregister(element, eventName, handler) { - var registry = getOrCreateRegistryFor(element); - var entries = registry[eventName] || []; - - var i = entries.length, entry; - while (i--) { - if (entries[i].handler === handler) { - entry = entries[i]; - break; - } - } - - if (entry) { - var index = entries.indexOf(entry); - entries.splice(index, 1); - } - - if (entries.length === 0) { - delete registry[eventName]; - if (Object.keys(registry).length === 1 && ('element' in registry)) - destroyRegistryForElement(element); - } - - return entry; - } - - - function observe(element, eventName, handler) { - element = $(element); - var entry = register(element, eventName, handler); - - if (entry === null) return element; - - var responder = entry.responder; - if (isCustomEvent(eventName)) - observeCustomEvent(element, eventName, responder); - else - observeStandardEvent(element, eventName, responder); - - return element; - } - - function observeStandardEvent(element, eventName, responder) { - var actualEventName = getDOMEventName(eventName); - if (element.addEventListener) { - element.addEventListener(actualEventName, responder, false); - } else { - element.attachEvent('on' + actualEventName, responder); - } - } - - function observeCustomEvent(element, eventName, responder) { - if (element.addEventListener) { - element.addEventListener('dataavailable', responder, false); - } else { - element.attachEvent('ondataavailable', responder); - element.attachEvent('onlosecapture', responder); - } - } - - function stopObserving(element, eventName, handler) { - element = $(element); - var handlerGiven = !Object.isUndefined(handler), - eventNameGiven = !Object.isUndefined(eventName); - - if (!eventNameGiven && !handlerGiven) { - stopObservingElement(element); - return element; - } - - if (!handlerGiven) { - stopObservingEventName(element, eventName); - return element; - } - - var entry = unregister(element, eventName, handler); - - if (!entry) return element; - removeEvent(element, eventName, entry.responder); - return element; - } - - function stopObservingStandardEvent(element, eventName, responder) { - var actualEventName = getDOMEventName(eventName); - if (element.removeEventListener) { - element.removeEventListener(actualEventName, responder, false); - } else { - element.detachEvent('on' + actualEventName, responder); - } - } - - function stopObservingCustomEvent(element, eventName, responder) { - if (element.removeEventListener) { - element.removeEventListener('dataavailable', responder, false); - } else { - element.detachEvent('ondataavailable', responder); - element.detachEvent('onlosecapture', responder); - } - } - - - - function stopObservingElement(element) { - var uid = getUniqueElementID(element), registry = GLOBAL.Event.cache[uid]; - if (!registry) return; - - destroyRegistryForElement(element, uid); - - var entries, i; - for (var eventName in registry) { - if (eventName === 'element') continue; - - entries = registry[eventName]; - i = entries.length; - while (i--) - removeEvent(element, eventName, entries[i].responder); - } - } - - function stopObservingEventName(element, eventName) { - var registry = getOrCreateRegistryFor(element); - var entries = registry[eventName]; - if (entries) { - delete registry[eventName]; - } - - entries = entries || []; - - var i = entries.length; - while (i--) - removeEvent(element, eventName, entries[i].responder); - - for (var name in registry) { - if (name === 'element') continue; - return; // There is another registered event - } - - destroyRegistryForElement(element); - } - - - function removeEvent(element, eventName, handler) { - if (isCustomEvent(eventName)) - stopObservingCustomEvent(element, eventName, handler); - else - stopObservingStandardEvent(element, eventName, handler); - } - - - - function getFireTarget(element) { - if (element !== document) return element; - if (document.createEvent && !element.dispatchEvent) - return document.documentElement; - return element; - } - - function fire(element, eventName, memo, bubble) { - element = getFireTarget($(element)); - if (Object.isUndefined(bubble)) bubble = true; - memo = memo || {}; - - var event = fireEvent(element, eventName, memo, bubble); - return Event.extend(event); - } - - function fireEvent_DOM(element, eventName, memo, bubble) { - var event = document.createEvent('HTMLEvents'); - event.initEvent('dataavailable', bubble, true); - - event.eventName = eventName; - event.memo = memo; - - element.dispatchEvent(event); - return event; - } - - function fireEvent_IE(element, eventName, memo, bubble) { - var event = document.createEventObject(); - event.eventType = bubble ? 'ondataavailable' : 'onlosecapture'; - - event.eventName = eventName; - event.memo = memo; - - element.fireEvent(event.eventType, event); - return event; - } - - var fireEvent = document.createEvent ? fireEvent_DOM : fireEvent_IE; - - - - Event.Handler = Class.create({ - initialize: function(element, eventName, selector, callback) { - this.element = $(element); - this.eventName = eventName; - this.selector = selector; - this.callback = callback; - this.handler = this.handleEvent.bind(this); - }, - - - start: function() { - Event.observe(this.element, this.eventName, this.handler); - return this; - }, - - stop: function() { - Event.stopObserving(this.element, this.eventName, this.handler); - return this; - }, - - handleEvent: function(event) { - var element = Event.findElement(event, this.selector); - if (element) this.callback.call(this.element, event, element); - } - }); - - function on(element, eventName, selector, callback) { - element = $(element); - if (Object.isFunction(selector) && Object.isUndefined(callback)) { - callback = selector, selector = null; - } - - return new Event.Handler(element, eventName, selector, callback).start(); - } - - Object.extend(Event, Event.Methods); - - Object.extend(Event, { - fire: fire, - observe: observe, - stopObserving: stopObserving, - on: on - }); - - Element.addMethods({ - fire: fire, - - observe: observe, - - stopObserving: stopObserving, - - on: on - }); - - Object.extend(document, { - fire: fire.methodize(), - - observe: observe.methodize(), - - stopObserving: stopObserving.methodize(), - - on: on.methodize(), - - loaded: false - }); - - if (GLOBAL.Event) Object.extend(window.Event, Event); - else GLOBAL.Event = Event; - - GLOBAL.Event.cache = {}; - - function destroyCache_IE() { - GLOBAL.Event.cache = null; - } - - if (window.attachEvent) - window.attachEvent('onunload', destroyCache_IE); - - DIV = null; - docEl = null; -})(this); - -(function(GLOBAL) { - /* Code for creating leak-free event responders is based on work by - John-David Dalton. */ - - var docEl = document.documentElement; - var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED = 'onmouseenter' in docEl - && 'onmouseleave' in docEl; - - function isSimulatedMouseEnterLeaveEvent(eventName) { - return !MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED && - (eventName === 'mouseenter' || eventName === 'mouseleave'); - } - - function createResponder(uid, eventName, handler) { - if (Event._isCustomEvent(eventName)) - return createResponderForCustomEvent(uid, eventName, handler); - if (isSimulatedMouseEnterLeaveEvent(eventName)) - return createMouseEnterLeaveResponder(uid, eventName, handler); - - return function(event) { - if (!Event.cache) return; - - var element = Event.cache[uid].element; - Event.extend(event, element); - handler.call(element, event); - }; - } - - function createResponderForCustomEvent(uid, eventName, handler) { - return function(event) { - var cache = Event.cache[uid]; - var element = cache && cache.element; - - if (Object.isUndefined(event.eventName)) - return false; - - if (event.eventName !== eventName) - return false; - - Event.extend(event, element); - handler.call(element, event); - }; - } - - function createMouseEnterLeaveResponder(uid, eventName, handler) { - return function(event) { - var element = Event.cache[uid].element; - - Event.extend(event, element); - var parent = event.relatedTarget; - - while (parent && parent !== element) { - try { parent = parent.parentNode; } - catch(e) { parent = element; } - } - - if (parent === element) return; - handler.call(element, event); - } - } - - GLOBAL.Event._createResponder = createResponder; - docEl = null; -})(this); - -(function(GLOBAL) { - /* Support for the DOMContentLoaded event is based on work by Dan Webb, - Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */ - - var TIMER; - - function fireContentLoadedEvent() { - if (document.loaded) return; - if (TIMER) window.clearTimeout(TIMER); - document.loaded = true; - document.fire('dom:loaded'); - } - - function checkReadyState() { - if (document.readyState === 'complete') { - document.detachEvent('onreadystatechange', checkReadyState); - fireContentLoadedEvent(); - } - } - - function pollDoScroll() { - try { - document.documentElement.doScroll('left'); - } catch (e) { - TIMER = pollDoScroll.defer(); - return; - } - - fireContentLoadedEvent(); - } - - - if (document.readyState === 'complete') { - fireContentLoadedEvent(); - return; - } - - if (document.addEventListener) { - document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false); - } else { - document.attachEvent('onreadystatechange', checkReadyState); - if (window == top) TIMER = pollDoScroll.defer(); - } - - Event.observe(window, 'load', fireContentLoadedEvent); -})(this); - - -Element.addMethods(); -/*------------------------------- DEPRECATED -------------------------------*/ - -Hash.toQueryString = Object.toQueryString; - -var Toggle = { display: Element.toggle }; - -Element.addMethods({ - childOf: Element.Methods.descendantOf -}); - -var Insertion = { - Before: function(element, content) { - return Element.insert(element, {before:content}); - }, - - Top: function(element, content) { - return Element.insert(element, {top:content}); - }, - - Bottom: function(element, content) { - return Element.insert(element, {bottom:content}); - }, - - After: function(element, content) { - return Element.insert(element, {after:content}); - } -}; - -var $continue = new Error('"throw $continue" is deprecated, use "return" instead'); - -var Position = { - includeScrollOffsets: false, - - prepare: function() { - this.deltaX = window.pageXOffset - || document.documentElement.scrollLeft - || document.body.scrollLeft - || 0; - this.deltaY = window.pageYOffset - || document.documentElement.scrollTop - || document.body.scrollTop - || 0; - }, - - within: function(element, x, y) { - if (this.includeScrollOffsets) - return this.withinIncludingScrolloffsets(element, x, y); - this.xcomp = x; - this.ycomp = y; - this.offset = Element.cumulativeOffset(element); - - return (y >= this.offset[1] && - y < this.offset[1] + element.offsetHeight && - x >= this.offset[0] && - x < this.offset[0] + element.offsetWidth); - }, - - withinIncludingScrolloffsets: function(element, x, y) { - var offsetcache = Element.cumulativeScrollOffset(element); - - this.xcomp = x + offsetcache[0] - this.deltaX; - this.ycomp = y + offsetcache[1] - this.deltaY; - this.offset = Element.cumulativeOffset(element); - - return (this.ycomp >= this.offset[1] && - this.ycomp < this.offset[1] + element.offsetHeight && - this.xcomp >= this.offset[0] && - this.xcomp < this.offset[0] + element.offsetWidth); - }, - - overlap: function(mode, element) { - if (!mode) return 0; - if (mode == 'vertical') - return ((this.offset[1] + element.offsetHeight) - this.ycomp) / - element.offsetHeight; - if (mode == 'horizontal') - return ((this.offset[0] + element.offsetWidth) - this.xcomp) / - element.offsetWidth; - }, - - - cumulativeOffset: Element.Methods.cumulativeOffset, - - positionedOffset: Element.Methods.positionedOffset, - - absolutize: function(element) { - Position.prepare(); - return Element.absolutize(element); - }, - - relativize: function(element) { - Position.prepare(); - return Element.relativize(element); - }, - - realOffset: Element.Methods.cumulativeScrollOffset, - - offsetParent: Element.Methods.getOffsetParent, - - page: Element.Methods.viewportOffset, - - clone: function(source, target, options) { - options = options || { }; - return Element.clonePosition(target, source, options); - } -}; - -/*--------------------------------------------------------------------------*/ - -if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){ - function iter(name) { - return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]"; - } - - instanceMethods.getElementsByClassName = Prototype.BrowserFeatures.XPath ? - function(element, className) { - className = className.toString().strip(); - var cond = /\s/.test(className) ? $w(className).map(iter).join('') : iter(className); - return cond ? document._getElementsByXPath('.//*' + cond, element) : []; - } : function(element, className) { - className = className.toString().strip(); - var elements = [], classNames = (/\s/.test(className) ? $w(className) : null); - if (!classNames && !className) return elements; - - var nodes = $(element).getElementsByTagName('*'); - className = ' ' + className + ' '; - - for (var i = 0, child, cn; child = nodes[i]; i++) { - if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) || - (classNames && classNames.all(function(name) { - return !name.toString().blank() && cn.include(' ' + name + ' '); - })))) - elements.push(Element.extend(child)); - } - return elements; - }; - - return function(className, parentElement) { - return $(parentElement || document.body).getElementsByClassName(className); - }; -}(Element.Methods); - -/*--------------------------------------------------------------------------*/ - -Element.ClassNames = Class.create(); -Element.ClassNames.prototype = { - initialize: function(element) { - this.element = $(element); - }, - - _each: function(iterator, context) { - this.element.className.split(/\s+/).select(function(name) { - return name.length > 0; - })._each(iterator, context); - }, - - set: function(className) { - this.element.className = className; - }, - - add: function(classNameToAdd) { - if (this.include(classNameToAdd)) return; - this.set($A(this).concat(classNameToAdd).join(' ')); - }, - - remove: function(classNameToRemove) { - if (!this.include(classNameToRemove)) return; - this.set($A(this).without(classNameToRemove).join(' ')); - }, - - toString: function() { - return $A(this).join(' '); - } -}; - -Object.extend(Element.ClassNames.prototype, Enumerable); - -/*--------------------------------------------------------------------------*/ - -(function() { - window.Selector = Class.create({ - initialize: function(expression) { - this.expression = expression.strip(); - }, - - findElements: function(rootElement) { - return Prototype.Selector.select(this.expression, rootElement); - }, - - match: function(element) { - return Prototype.Selector.match(element, this.expression); - }, - - toString: function() { - return this.expression; - }, - - inspect: function() { - return "#"; - } - }); - - Object.extend(Selector, { - matchElements: function(elements, expression) { - var match = Prototype.Selector.match, - results = []; - - for (var i = 0, length = elements.length; i < length; i++) { - var element = elements[i]; - if (match(element, expression)) { - results.push(Element.extend(element)); - } - } - return results; - }, - - findElement: function(elements, expression, index) { - index = index || 0; - var matchIndex = 0, element; - for (var i = 0, length = elements.length; i < length; i++) { - element = elements[i]; - if (Prototype.Selector.match(element, expression) && index === matchIndex++) { - return Element.extend(element); - } - } - }, - - findChildElements: function(element, expressions) { - var selector = expressions.toArray().join(', '); - return Prototype.Selector.select(selector, element || document); - } - }); -})(); diff --git a/content/doc/r3.9.5/skin/screen.css b/content/doc/r3.9.5/skin/screen.css deleted file mode 100644 index 9ce32c292dd..00000000000 --- a/content/doc/r3.9.5/skin/screen.css +++ /dev/null @@ -1,531 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You 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. -*/ -body { margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif; } - -h1 { font-size : 160%; margin: 0px 0px 0px 0px; padding: 0px; } -h2 { font-size : 140%; margin: 1em 0px 0.8em 0px; padding: 0px; font-weight : bold;} -h3 { font-size : 130%; margin: 0.8em 0px 0px 0px; padding: 0px; font-weight : bold; } -.h3 { margin: 22px 0px 3px 0px; } -h4 { font-size : 120%; margin: 0.7em 0px 0px 0px; padding: 0px; font-weight : normal; text-align: left; } -.h4 { margin: 18px 0px 0px 0px; } -h4.faq { font-size : 120%; margin: 18px 0px 0px 0px; padding: 0px; font-weight : bold; text-align: left; } -h5 { font-size : 100%; margin: 14px 0px 0px 0px; padding: 0px; font-weight : normal; text-align: left; } - -/** -* table -*/ -table .title { background-color: #000000; } -.ForrestTable { - color: #ffffff; - background-color: #7099C5; - width: 100%; - font-size : 100%; - empty-cells: show; -} -table caption { - padding-left: 5px; - color: white; - text-align: left; - font-weight: bold; - background-color: #000000; -} -.ForrestTable td { - color: black; - background-color: #f0f0ff; -} -.ForrestTable th { text-align: center; } -/** - * Page Header - */ - -#top { - position: relative; - float: left; - width: 100%; - background: #294563; /* if you want a background in the header, put it here */ -} - -#top .breadtrail { - background: #CFDCED; - color: black; - border-bottom: solid 1px white; - padding: 3px 10px; - font-size: 75%; -} -#top .breadtrail a { color: black; } - -#top .header { - float: left; - width: 100%; - background: url("header_white_line.gif") repeat-x bottom; -} - -#top .grouplogo { - padding: 7px 0 10px 10px; - float: left; - text-align: left; -} -#top .projectlogo { - padding: 7px 0 10px 10px; - float: left; - width: 33%; - text-align: right; -} -#top .projectlogoA1 { - padding: 7px 0 10px 10px; - float: right; -} -html>body #top .searchbox { - bottom: 0px; -} -#top .searchbox { - position: absolute; - right: 10px; - height: 42px; - font-size: 70%; - white-space: nowrap; - bottom: -1px; /* compensate for IE rendering issue */ - border-radius: 5px 5px 0px 0px; -} - -#top .searchbox form { - padding: 5px 10px; - margin: 0; -} -#top .searchbox p { - padding: 0 0 2px 0; - margin: 0; -} -#top .searchbox input { - font-size: 100%; -} - -#tabs { - clear: both; - padding-left: 10px; - margin: 0; - list-style: none; -} - -#tabs li { - float: left; - margin: 0 3px 0 0; - padding: 0; - border-radius: 5px 5px 0px 0px; -} - -/*background: url("tab-left.gif") no-repeat left top;*/ -#tabs li a { - float: left; - display: block; - font-family: verdana, arial, sans-serif; - text-decoration: none; - color: black; - white-space: nowrap; - padding: 5px 15px 4px; - width: .1em; /* IE/Win fix */ -} - -#tabs li a:hover { - - cursor: pointer; - text-decoration:underline; -} - -#tabs > li a { width: auto; } /* Rest of IE/Win fix */ - -/* Commented Backslash Hack hides rule from IE5-Mac \*/ -#tabs a { float: none; } -/* End IE5-Mac hack */ - -#top .header .current { - background-color: #4C6C8F; -} -#top .header .current a { - font-weight: bold; - padding-bottom: 5px; - color: white; -} -#publishedStrip { - padding-right: 10px; - padding-left: 20px; - padding-top: 3px; - padding-bottom:3px; - color: #ffffff; - font-size : 60%; - font-weight: bold; - background-color: #4C6C8F; - text-align:right; -} - -#level2tabs { -margin: 0; -float:left; -position:relative; - -} - - - -#level2tabs a:hover { - - cursor: pointer; - text-decoration:underline; - -} - -#level2tabs a{ - - cursor: pointer; - text-decoration:none; - background-image: url('chapter.gif'); - background-repeat: no-repeat; - background-position: center left; - padding-left: 6px; - margin-left: 6px; -} - -/* -* border-top: solid #4C6C8F 15px; -*/ -#main { - position: relative; - background: white; - clear:both; -} -#main .breadtrail { - clear:both; - position: relative; - background: #CFDCED; - color: black; - border-bottom: solid 1px black; - border-top: solid 1px black; - padding: 0px 180px; - font-size: 75%; - z-index:10; -} - -img.corner { - width: 15px; - height: 15px; - border: none; - display: block !important; -} - -img.cornersmall { - width: 5px; - height: 5px; - border: none; - display: block !important; -} -/** - * Side menu - */ -#menu a { font-weight: normal; text-decoration: none;} -#menu a:visited { font-weight: normal; } -#menu a:active { font-weight: normal; } -#menu a:hover { font-weight: normal; text-decoration:underline;} - -#menuarea { width:10em;} -#menu { - position: relative; - float: left; - width: 160px; - padding-top: 0px; - padding-bottom: 15px; - top:-18px; - left:10px; - z-index: 20; - background-color: #f90; - font-size : 70%; - border-radius: 0px 0px 15px 15px; -} - -.menutitle { - cursor:pointer; - padding: 3px 12px; - margin-left: 10px; - background-image: url('chapter.gif'); - background-repeat: no-repeat; - background-position: center left; - font-weight : bold; -} - -.menutitle.selected { - background-image: url('chapter_open.gif'); -} - -.menutitle:hover{text-decoration:underline;cursor: pointer;} - -#menu .menuitemgroup { - margin: 0px 0px 6px 8px; - padding: 0px; - font-weight : bold; } - -#menu .selectedmenuitemgroup{ - margin: 0px 0px 0px 8px; - padding: 0px; - font-weight : normal; - - } - -#menu .menuitem { - padding: 2px 0px 1px 13px; - background-image: url('page.gif'); - background-repeat: no-repeat; - background-position: center left; - font-weight : normal; - margin-left: 10px; -} - -#menu .selected { - font-style : normal; - margin-right: 10px; - -} -.menuitem .selected { - border-style: solid; - border-width: 1px; -} -#menu .menupageitemgroup { - padding: 3px 0px 4px 6px; - font-style : normal; - border-bottom: 1px solid ; - border-left: 1px solid ; - border-right: 1px solid ; - margin-right: 10px; -} -#menu .menupageitem { - font-style : normal; - font-weight : normal; - border-width: 0px; - font-size : 90%; -} -#menu .searchbox { - text-align: center; -} -#menu .searchbox form { - padding: 3px 3px; - margin: 0; -} -#menu .searchbox input { - font-size: 100%; -} - -#content { - padding: 20px 20px 20px 180px; - margin: 0; - font : small Verdana, Helvetica, sans-serif; - font-size : 80%; -} - -#content ul { - margin: 0; - padding: 0 25px; -} -#content li { - padding: 0 5px; -} -#feedback { - color: black; - background: #CFDCED; - text-align:center; - margin-top: 5px; -} -#feedback #feedbackto { - font-size: 90%; - color: black; -} -#footer { - clear: both; - position: relative; /* IE bugfix (http://www.dracos.co.uk/web/css/ie6floatbug/) */ - width: 100%; - background: #CFDCED; - border-top: solid 1px #4C6C8F; - color: black; -} -#footer .copyright { - position: relative; /* IE bugfix cont'd */ - padding: 5px; - margin: 0; - width: 60%; -} -#footer .lastmodified { - position: relative; /* IE bugfix cont'd */ - float: right; - width: 30%; - padding: 5px; - margin: 0; - text-align: right; -} -#footer a { color: white; } - -#footer #logos { - text-align: left; -} - - -/** - * Misc Styles - */ - -acronym { cursor: help; } -.boxed { background-color: #a5b6c6;} -.underlined_5 {border-bottom: solid 5px #4C6C8F;} -.underlined_10 {border-bottom: solid 10px #4C6C8F;} -/* ==================== snail trail ============================ */ - -.trail { - position: relative; /* IE bugfix cont'd */ - font-size: 70%; - text-align: right; - float: right; - margin: -10px 5px 0px 5px; - padding: 0; -} - -#motd-area { - position:relative; - float:right; - width: 35%; - background-color: #f0f0ff; - border: solid 1px #4C6C8F; - margin: 0px 0px 10px 10px; - padding: 5px; -} - -#minitoc-area { - border-top: solid 1px #4C6C8F; - border-bottom: solid 1px #4C6C8F; - margin: 15px 10% 5px 15px; - /* margin-bottom: 15px; - margin-left: 15px; - margin-right: 10%;*/ - padding-bottom: 7px; - padding-top: 5px; -} -.minitoc { - list-style-image: url('current.gif'); - font-weight: normal; -} - -.abstract{ - text-align:justify; - } - -li p { - margin: 0; - padding: 0; -} - -.pdflink { - position: relative; /* IE bugfix cont'd */ - float: right; - margin: 0px 5px; - padding: 0; -} -.pdflink br { - margin-top: -10px; - padding-left: 1px; -} -.pdflink a { - display: block; - font-size: 70%; - text-align: center; - margin: 0; - padding: 0; -} - -.pdflink img { - display: block; - height: 16px; - width: 16px; -} -.xmllink { - position: relative; /* IE bugfix cont'd */ - float: right; - margin: 0px 5px; - padding: 0; -} -.xmllink br { - margin-top: -10px; - padding-left: 1px; -} -.xmllink a { - display: block; - font-size: 70%; - text-align: center; - margin: 0; - padding: 0; -} - -.xmllink img { - display: block; - height: 16px; - width: 16px; -} -.podlink { - position: relative; /* IE bugfix cont'd */ - float: right; - margin: 0px 5px; - padding: 0; -} -.podlink br { - margin-top: -10px; - padding-left: 1px; -} -.podlink a { - display: block; - font-size: 70%; - text-align: center; - margin: 0; - padding: 0; -} - -.podlink img { - display: block; - height: 16px; - width: 16px; -} - -.printlink { - position: relative; /* IE bugfix cont'd */ - float: right; -} -.printlink br { - margin-top: -10px; - padding-left: 1px; -} -.printlink a { - display: block; - font-size: 70%; - text-align: center; - margin: 0; - padding: 0; -} -.printlink img { - display: block; - height: 16px; - width: 16px; -} - -p.instruction { - display: list-item; - list-style-image: url('../instruction_arrow.png'); - list-style-position: outside; - margin-left: 2em; -} \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperAdmin.html b/content/doc/r3.9.5/zookeeperAdmin.html deleted file mode 100644 index 1b814cc3271..00000000000 --- a/content/doc/r3.9.5/zookeeperAdmin.html +++ /dev/null @@ -1,1503 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Administrator's Guide

-

A Guide to Deployment and Administration

- -

-

Deployment

-

This section contains information about deploying Zookeeper and covers these topics:

- -

The first two sections assume you are interested in installing ZooKeeper in a production environment such as a datacenter. The final section covers situations in which you are setting up ZooKeeper on a limited basis - for evaluation, testing, or development - but not in a production environment.

-

-

System Requirements

-

-

Supported Platforms

-

ZooKeeper consists of multiple components. Some components are supported broadly, and other components are supported only on a smaller set of platforms.

-
    -
  • Client is the Java client library, used by applications to connect to a ZooKeeper ensemble.
  • -
  • Server is the Java server that runs on the ZooKeeper ensemble nodes.
  • -
  • Native Client is a client implemented in C, similar to the Java client, used by applications to connect to a ZooKeeper ensemble.
  • -
  • Contrib refers to multiple optional add-on components.
  • -
-

The following matrix describes the level of support committed for running each component on different operating system platforms.

-
Support Matrix
- - - - - - - - - - - -
Operating System Client Server Native Client Contrib
GNU/Linux Development and Production Development and Production Development and Production Development and Production
Solaris Development and Production Development and Production Not Supported Not Supported
FreeBSD Development and Production Development and Production Not Supported Not Supported
Windows Development and Production Development and Production Not Supported Not Supported
Mac OS X Development Only Development Only Not Supported Not Supported
-

For any operating system not explicitly mentioned as supported in the matrix, components may or may not work. The ZooKeeper community will fix obvious bugs that are reported for other platforms, but there is no full support.

-

-

Required Software

-

ZooKeeper runs in Java, release 1.8 or greater (JDK 8 LTS, JDK 11 LTS, JDK 12 - Java 9 and 10 are not supported). It runs as an ensemble of ZooKeeper servers. Three ZooKeeper servers is the minimum recommended size for an ensemble, and we also recommend that they run on separate machines. At Yahoo!, ZooKeeper is usually deployed on dedicated RHEL boxes, with dual-core processors, 2GB of RAM, and 80GB IDE hard drives.

-

-

Clustered (Multi-Server) Setup

-

For reliable ZooKeeper service, you should deploy ZooKeeper in a cluster known as an ensemble. As long as a majority of the ensemble are up, the service will be available. Because Zookeeper requires a majority, it is best to use an odd number of machines. For example, with four machines ZooKeeper can only handle the failure of a single machine; if two machines fail, the remaining two machines do not constitute a majority. However, with five machines ZooKeeper can handle the failure of two machines.

-
Note
-
-

As mentioned in the ZooKeeper Getting Started Guide , a minimum of three servers are required for a fault tolerant clustered setup, and it is strongly recommended that you have an odd number of servers.

-

Usually three servers is more than enough for a production install, but for maximum reliability during maintenance, you may wish to install five servers. With three servers, if you perform maintenance on one of them, you are vulnerable to a failure on one of the other two servers during that maintenance. If you have five of them running, you can take one down for maintenance, and know that you're still OK if one of the other four suddenly fails.

-

Your redundancy considerations should include all aspects of your environment. If you have three ZooKeeper servers, but their network cables are all plugged into the same network switch, then the failure of that switch will take down your entire ensemble.

-
-

Here are the steps to set a server that will be part of an ensemble. These steps should be performed on every host in the ensemble:

-
    -
  1. -

    Install the Java JDK. You can use the native packaging system for your system, or download the JDK from: http://java.sun.com/javase/downloads/index.jsp

    -
  2. -
  3. -

    Set the Java heap size. This is very important to avoid swapping, which will seriously degrade ZooKeeper performance. To determine the correct value, use load tests, and make sure you are well below the usage limit that would cause you to swap. Be conservative - use a maximum heap size of 3GB for a 4GB machine.

    -
  4. -
  5. -

    Install the ZooKeeper Server Package. It can be downloaded from: http://zookeeper.apache.org/releases.html

    -
  6. -
  7. -

    Create a configuration file. This file can be called anything. Use the following settings as a starting point:

    -
    tickTime=2000
    -dataDir=/var/lib/zookeeper/
    -clientPort=2181
    -initLimit=5
    -syncLimit=2
    -server.1=zoo1:2888:3888
    -server.2=zoo2:2888:3888
    -server.3=zoo3:2888:3888
    -
    -

    You can find the meanings of these and other configuration settings in the section Configuration Parameters. A word thought about a few here: Every machine that is part of the ZooKeeper ensemble should know about every other machine in the ensemble. You accomplish this with the series of lines of the form server.id=host:port:port. (The parameters host and port are straightforward, for each server you need to specify first a Quorum port then a dedicated port for ZooKeeper leader election). Since ZooKeeper 3.6.0 you can also specify multiple addresses for each ZooKeeper server instance (this can increase availability when multiple physical network interfaces can be used parallel in the cluster). You attribute the server id to each machine by creating a file named myid, one for each server, which resides in that server's data directory, as specified by the configuration file parameter dataDir.

    -
  8. -
  9. -

    The myid file consists of a single line containing only the text of that machine's id. So myid of server 1 would contain the text "1" and nothing else. The id must be unique within the ensemble and should have a value between 1 and 255. IMPORTANT: if you enable extended features such as TTL Nodes (see below) the id must be between 1 and 254 due to internal limitations.

    -
  10. -
  11. -

    Create an initialization marker file initialize in the same directory as myid. This file indicates that an empty data directory is expected. When present, an empty database is created and the marker file deleted. When not present, an empty data directory will mean this peer will not have voting rights and it will not populate the data directory until it communicates with an active leader. Intended use is to only create this file when bringing up a new ensemble.

    -
  12. -
  13. -

    If your configuration file is set up, you can start a ZooKeeper server:

    -
    $ java -cp zookeeper.jar:lib/*:conf org.apache.zookeeper.server.quorum.QuorumPeerMain zoo.conf
    -
    -
  14. -
-

QuorumPeerMain starts a ZooKeeper server, JMX management beans are also registered which allows management through a JMX management console. The ZooKeeper JMX document contains details on managing ZooKeeper with JMX. See the script bin/zkServer.sh, which is included in the release, for an example of starting server instances. 8. Test your deployment by connecting to the hosts: In Java, you can run the following command to execute simple operations:

-
    $ bin/zkCli.sh -server 127.0.0.1:2181
-
-

-

Single Server and Developer Setup

-

If you want to set up ZooKeeper for development purposes, you will probably want to set up a single server instance of ZooKeeper, and then install either the Java or C client-side libraries and bindings on your development machine.

-

The steps to setting up a single server instance are the similar to the above, except the configuration file is simpler. You can find the complete instructions in the Installing and Running ZooKeeper in Single Server Mode section of the ZooKeeper Getting Started Guide.

-

For information on installing the client side libraries, refer to the Bindings section of the ZooKeeper Programmer's Guide.

-

-

Administration

-

This section contains information about running and maintaining ZooKeeper and covers these topics:

- -

-

Designing a ZooKeeper Deployment

-

The reliability of ZooKeeper rests on two basic assumptions.

-
    -
  1. Only a minority of servers in a deployment will fail. Failure in this context means a machine crash, or some error in the network that partitions a server off from the majority.
  2. -
  3. Deployed machines operate correctly. To operate correctly means to execute code correctly, to have clocks that work properly, and to have storage and network components that perform consistently.
  4. -
-

The sections below contain considerations for ZooKeeper administrators to maximize the probability for these assumptions to hold true. Some of these are cross-machines considerations, and others are things you should consider for each and every machine in your deployment.

-

-

Cross Machine Requirements

-

For the ZooKeeper service to be active, there must be a majority of non-failing machines that can communicate with each other. For a ZooKeeper ensemble with N servers, if N is odd, the ensemble is able to tolerate up to N/2 server failures without losing any znode data; if N is even, the ensemble is able to tolerate up to N/2-1 server failures.

-

For example, if we have a ZooKeeper ensemble with 3 servers, the ensemble is able to tolerate up to 1 (3/2) server failures. If we have a ZooKeeper ensemble with 5 servers, the ensemble is able to tolerate up to 2 (5/2) server failures. If the ZooKeeper ensemble with 6 servers, the ensemble is also able to tolerate up to 2 (6/2-1) server failures without losing data and prevent the "brain split" issue.

-

ZooKeeper ensemble is usually has odd number of servers. This is because with the even number of servers, the capacity of failure tolerance is the same as the ensemble with one less server (2 failures for both 5-node ensemble and 6-node ensemble), but the ensemble has to maintain extra connections and data transfers for one more server.

-

To achieve the highest probability of tolerating a failure you should try to make machine failures independent. For example, if most of the machines share the same switch, failure of that switch could cause a correlated failure and bring down the service. The same holds true of shared power circuits, cooling systems, etc.

-

-

Single Machine Requirements

-

If ZooKeeper has to contend with other applications for access to resources like storage media, CPU, network, or memory, its performance will suffer markedly. ZooKeeper has strong durability guarantees, which means it uses storage media to log changes before the operation responsible for the change is allowed to complete. You should be aware of this dependency then, and take great care if you want to ensure that ZooKeeper operations aren’t held up by your media. Here are some things you can do to minimize that sort of degradation:

-
    -
  • ZooKeeper's transaction log must be on a dedicated device. (A dedicated partition is not enough.) ZooKeeper writes the log sequentially, without seeking Sharing your log device with other processes can cause seeks and contention, which in turn can cause multi-second delays.
  • -
  • Do not put ZooKeeper in a situation that can cause a swap. In order for ZooKeeper to function with any sort of timeliness, it simply cannot be allowed to swap. Therefore, make certain that the maximum heap size given to ZooKeeper is not bigger than the amount of real memory available to ZooKeeper. For more on this, see Things to Avoid below.
  • -
-

-

Provisioning

-

-

Things to Consider: ZooKeeper Strengths and Limitations

-

-

Administering

-

-

Maintenance

-

Little long term maintenance is required for a ZooKeeper cluster however you must be aware of the following:

-

-

Ongoing Data Directory Cleanup

-

The ZooKeeper Data Directory contains files which are a persistent copy of the znodes stored by a particular serving ensemble. These are the snapshot and transactional log files. As changes are made to the znodes these changes are appended to a transaction log. Occasionally, when a log grows large, a snapshot of the current state of all znodes will be written to the filesystem and a new transaction log file is created for future transactions. During snapshotting, ZooKeeper may continue appending incoming transactions to the old log file. Therefore, some transactions which are newer than a snapshot may be found in the last transaction log preceding the snapshot.

-

A ZooKeeper server will not remove old snapshots and log files when using the default configuration (see autopurge below), this is the responsibility of the operator. Every serving environment is different and therefore the requirements of managing these files may differ from install to install (backup for example).

-

The PurgeTxnLog utility implements a simple retention policy that administrators can use. The API docs contains details on calling conventions (arguments, etc...).

-

In the following example the last count snapshots and their corresponding logs are retained and the others are deleted. The value of should typically be greater than 3 (although not required, this provides 3 backups in the unlikely event a recent log has become corrupted). This can be run as a cron job on the ZooKeeper server machines to clean up the logs daily.

-
java -cp zookeeper.jar:lib/slf4j-api-1.7.30.jar:lib/logback-classic-1.2.10.jar:lib/logback-core-1.2.10.jar:conf org.apache.zookeeper.server.PurgeTxnLog <dataDir> <snapDir> -n <count>
-
-

Automatic purging of the snapshots and corresponding transaction logs was introduced in version 3.4.0 and can be enabled via the following configuration parameters autopurge.snapRetainCount and autopurge.purgeInterval. For more on this, see Advanced Configuration below.

-

-

Debug Log Cleanup (logback)

-

See the section on logging in this document. It is expected that you will setup a rolling file appender using the in-built logback feature. The sample configuration file in the release tar's conf/logback.xml provides an example of this.

-

-

Supervision

-

You will want to have a supervisory process that manages each of your ZooKeeper server processes (JVM). The ZK server is designed to be "fail fast" meaning that it will shut down (process exit) if an error occurs that it cannot recover from. As a ZooKeeper serving cluster is highly reliable, this means that while the server may go down the cluster as a whole is still active and serving requests. Additionally, as the cluster is "self healing" the failed server once restarted will automatically rejoin the ensemble w/o any manual interaction.

-

Having a supervisory process such as daemontools or SMF (other options for supervisory process are also available, it's up to you which one you would like to use, these are just two examples) managing your ZooKeeper server ensures that if the process does exit abnormally it will automatically be restarted and will quickly rejoin the cluster.

-

It is also recommended to configure the ZooKeeper server process to terminate and dump its heap if an OutOfMemoryError** occurs. This is achieved by launching the JVM with the following arguments on Linux and Windows respectively. The zkServer.sh and zkServer.cmd scripts that ship with ZooKeeper set these options.

-
-XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError='kill -9 %p'
-
-"-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f"
-
-

-

Monitoring

-

The ZooKeeper service can be monitored in one of three primary ways:

- -

-

Logging

-

ZooKeeper uses SLF4J version 1.7 as its logging infrastructure. By default ZooKeeper is shipped with LOGBack as the logging backend, but you can use any other supported logging framework of your choice.

-

The ZooKeeper default logback.xml file resides in the conf directory. Logback requires that logback.xml either be in the working directory (the directory from which ZooKeeper is run) or be accessible from the classpath.

-

For more information about SLF4J, see its manual.

-

For more information about Logback, see Logback website.

-

-

Troubleshooting

-
    -
  • Server not coming up because of file corruption : A server might not be able to read its database and fail to come up because of some file corruption in the transaction logs of the ZooKeeper server. You will see some IOException on loading ZooKeeper database. In such a case, make sure all the other servers in your ensemble are up and working. Use "stat" command on the command port to see if they are in good health. After you have verified that all the other servers of the ensemble are up, you can go ahead and clean the database of the corrupt server. Delete all the files in datadir/version-2 and datalogdir/version-2/. Restart the server.
  • -
-

-

Configuration Parameters

-

ZooKeeper's behavior is governed by the ZooKeeper configuration file. This file is designed so that the exact same file can be used by all the servers that make up a ZooKeeper server assuming the disk layouts are the same. If servers use different configuration files, care must be taken to ensure that the list of servers in all of the different configuration files match.

-
Note
-
-

In 3.5.0 and later, some of these parameters should be placed in a dynamic configuration file. If they are placed in the static configuration file, ZooKeeper will automatically move them over to the dynamic configuration file. See Dynamic Reconfiguration for more information.

-
-

-

Minimum Configuration

-

Here are the minimum configuration keywords that must be defined in the configuration file:

-
    -
  • -

    clientPort : the port to listen for client connections; that is, the port that clients attempt to connect to.

    -
  • -
  • -

    secureClientPort : the port to listen on for secure client connections using SSL. clientPort specifies the port for plaintext connections while secureClientPort specifies the port for SSL connections. Specifying both enables mixed-mode while omitting either will disable that mode. Note that SSL feature will be enabled when user plugs-in zookeeper.serverCnxnFactory, zookeeper.clientCnxnSocket as Netty.

    -
  • -
  • -

    observerMasterPort : the port to listen for observer connections; that is, the port that observers attempt to connect to. if the property is set then the server will host observer connections when in follower mode in addition to when in leader mode and correspondingly attempt to connect to any voting peer when in observer mode.

    -
  • -
  • -

    dataDir : the location where ZooKeeper will store the in-memory database snapshots and, unless specified otherwise, the transaction log of updates to the database.

    -
    Note
    -
    -

    Be careful where you put the transaction log. A dedicated transaction log device is key to consistent good performance. Putting the log on a busy device will adversely affect performance.

    -
    -
  • -
  • tickTime : the length of a single tick, which is the basic time unit used by ZooKeeper, as measured in milliseconds. It is used to regulate heartbeats, and timeouts. For example, the minimum session timeout will be two ticks.
  • -
-

-

Advanced Configuration

-

The configuration settings in the section are optional. You can use them to further fine tune the behaviour of your ZooKeeper servers. Some can also be set using Java system properties, generally of the form zookeeper.keyword. The exact system property, when available, is noted below.

-
    -
  • dataLogDir : (No Java system property) This option will direct the machine to write the transaction log to the dataLogDir rather than the dataDir. This allows a dedicated log device to be used, and helps avoid competition between logging and snapshots. -
    Note
    -
    -

    Having a dedicated log device has a large impact on throughput and stable latencies. It is highly recommended dedicating a log device and set dataLogDir to point to a directory on that device, and then make sure to point dataDir to a directory not residing on that device.

    -
    -
  • -
  • globalOutstandingLimit : (Java system property: zookeeper.globalOutstandingLimit.) Clients can submit requests faster than ZooKeeper can process them, especially if there are a lot of clients. To prevent ZooKeeper from running out of memory due to queued requests, ZooKeeper will throttle clients so that there are no more than globalOutstandingLimit outstanding requests across entire ensemble, equally divided. The default limit is 1,000 and, for example, with 3 members each of them will have 1000 / 2 = 500 individual limit.
  • -
  • -

    preAllocSize : (Java system property: zookeeper.preAllocSize) To avoid seeks ZooKeeper allocates space in the transaction log file in blocks of preAllocSize kilobytes. The default block size is 64M. One reason for changing the size of the blocks is to reduce the block size if snapshots are taken more often. (Also, see snapCount and snapSizeLimitInKb).

    -
  • -
  • -

    snapCount : (Java system property: zookeeper.snapCount) ZooKeeper records its transactions using snapshots and a transaction log (think write-ahead log). The number of transactions recorded in the transaction log before a snapshot can be taken (and the transaction log rolled) is determined by snapCount. In order to prevent all of the machines in the quorum from taking a snapshot at the same time, each ZooKeeper server will take a snapshot when the number of transactions in the transaction log reaches a runtime generated random value in the [snapCount/2+1, snapCount] range. The default snapCount is 100,000.

    -
  • -
  • -

    commitLogCount * : (Java system property: zookeeper.commitLogCount) Zookeeper maintains an in-memory list of last committed requests for fast synchronization with followers when the followers are not too behind. This improves sync performance in case when your snapshots are large (>100,000). The default value is 500 which is the recommended minimum.

    -
  • -
  • -

    snapSizeLimitInKb : (Java system property: zookeeper.snapSizeLimitInKb) ZooKeeper records its transactions using snapshots and a transaction log (think write-ahead log). The total size in bytes allowed in the set of transactions recorded in the transaction log before a snapshot can be taken (and the transaction log rolled) is determined by snapSize. In order to prevent all of the machines in the quorum from taking a snapshot at the same time, each ZooKeeper server will take a snapshot when the size in bytes of the set of transactions in the transaction log reaches a runtime generated random value in the [snapSize/2+1, snapSize] range. Each file system has a minimum standard file size and in order to for valid functioning of this feature, the number chosen must be larger than that value. The default snapSizeLimitInKb is 4,194,304 (4GB). A non-positive value will disable the feature.

    -
  • -
  • -

    txnLogSizeLimitInKb : (Java system property: zookeeper.txnLogSizeLimitInKb) Zookeeper transaction log file can also be controlled more directly using txnLogSizeLimitInKb. Larger txn logs can lead to slower follower syncs when sync is done using transaction log. This is because leader has to scan through the appropriate log file on disk to find the transaction to start sync from. This feature is turned off by default and snapCount and snapSizeLimitInKb are the only values that limit transaction log size. When enabled Zookeeper will roll the log when any of the limits is hit. Please note that actual log size can exceed this value by the size of the serialized transaction. On the other hand, if this value is set too close to (or smaller than) preAllocSize, it can cause Zookeeper to roll the log for every transaction. While this is not a correctness issue, this may cause severely degraded performance. To avoid this and to get most out of this feature, it is recommended to set the value to N * preAllocSize where N >= 2.

    -
  • -
  • -

    maxCnxns : (Java system property: zookeeper.maxCnxns) Limits the total number of concurrent connections that can be made to a zookeeper server (per client Port of each server ). This is used to prevent certain classes of DoS attacks. The default is 0 and setting it to 0 entirely removes the limit on total number of concurrent connections. Accounting for the number of connections for serverCnxnFactory and a secureServerCnxnFactory is done separately, so a peer is allowed to host up to 2*maxCnxns provided they are of appropriate types.

    -
  • -
  • -

    maxClientCnxns : (No Java system property) Limits the number of concurrent connections (at the socket level) that a single client, identified by IP address, may make to a single member of the ZooKeeper ensemble. This is used to prevent certain classes of DoS attacks, including file descriptor exhaustion. The default is 60. Setting this to 0 entirely removes the limit on concurrent connections.

    -
  • -
  • -

    clientPortAddress : New in 3.3.0: the address (ipv4, ipv6 or hostname) to listen for client connections; that is, the address that clients attempt to connect to. This is optional, by default we bind in such a way that any connection to the clientPort for any address/interface/nic on the server will be accepted.

    -
  • -
  • -

    minSessionTimeout : (No Java system property) New in 3.3.0: the minimum session timeout in milliseconds that the server will allow the client to negotiate. Defaults to 2 times the tickTime.

    -
  • -
  • -

    maxSessionTimeout : (No Java system property) New in 3.3.0: the maximum session timeout in milliseconds that the server will allow the client to negotiate. Defaults to 20 times the tickTime.

    -
  • -
  • -

    fsync.warningthresholdms : (Java system property: zookeeper.fsync.warningthresholdms) New in 3.3.4: A warning message will be output to the log whenever an fsync in the Transactional Log (WAL) takes longer than this value. The values is specified in milliseconds and defaults to 1000. This value can only be set as a system property.

    -
  • -
  • -

    maxResponseCacheSize : (Java system property: zookeeper.maxResponseCacheSize) When set to a positive integer, it determines the size of the cache that stores the serialized form of recently read records. Helps save the serialization cost on popular znodes. The metrics response_packet_cache_hits and response_packet_cache_misses can be used to tune this value to a given workload. The feature is turned on by default with a value of 400, set to 0 or a negative integer to turn the feature off.

    -
  • -
  • -

    maxGetChildrenResponseCacheSize : (Java system property: zookeeper.maxGetChildrenResponseCacheSize) New in 3.6.0: Similar to maxResponseCacheSize, but applies to get children requests. The metrics response_packet_get_children_cache_hits and response_packet_get_children_cache_misses can be used to tune this value to a given workload. The feature is turned on by default with a value of 400, set to 0 or a negative integer to turn the feature off.

    -
  • -
  • -

    autopurge.snapRetainCount : (No Java system property) New in 3.4.0: When enabled, ZooKeeper auto purge feature retains the autopurge.snapRetainCount most recent snapshots and the corresponding transaction logs in the dataDir and dataLogDir respectively and deletes the rest. Defaults to 3. Minimum value is 3.

    -
  • -
  • -

    autopurge.purgeInterval : (No Java system property) New in 3.4.0: The time interval in hours for which the purge task has to be triggered. Set to a positive integer (1 and above) to enable the auto purging. Defaults to 0.

    -
  • -
  • -

    syncEnabled : (Java system property: zookeeper.observer.syncEnabled) New in 3.4.6, 3.5.0: The observers now log transaction and write snapshot to disk by default like the participants. This reduces the recovery time of the observers on restart. Set to "false" to disable this feature. Default is "true"

    -
  • -
  • -

    extendedTypesEnabled : (Java system property only: zookeeper.extendedTypesEnabled) New in 3.5.4, 3.6.0: Define to true to enable extended features such as the creation of TTL Nodes. They are disabled by default. IMPORTANT: when enabled server IDs must be less than 255 due to internal limitations.

    -
  • -
  • -

    emulate353TTLNodes : (Java system property only:zookeeper.emulate353TTLNodes). New in 3.5.4, 3.6.0: Due to [ZOOKEEPER-2901] (https://issues.apache.org/jira/browse/ZOOKEEPER-2901) TTL nodes created in version 3.5.3 are not supported in 3.5.4/3.6.0. However, a workaround is provided via the zookeeper.emulate353TTLNodes system property. If you used TTL nodes in ZooKeeper 3.5.3 and need to maintain compatibility set zookeeper.emulate353TTLNodes to true in addition to zookeeper.extendedTypesEnabled. NOTE: due to the bug, server IDs must be 127 or less. Additionally, the maximum support TTL value is 1099511627775 which is smaller than what was allowed in 3.5.3 (1152921504606846975)

    -
  • -
  • -

    watchManagerName : (Java system property only: zookeeper.watchManagerName) New in 3.6.0: Added in ZOOKEEPER-1179 New watcher manager WatchManagerOptimized is added to optimize the memory overhead in heavy watch use cases. This config is used to define which watcher manager to be used. Currently, we only support WatchManager and WatchManagerOptimized.

    -
  • -
  • -

    watcherCleanThreadsNum : (Java system property only: zookeeper.watcherCleanThreadsNum) New in 3.6.0: Added in ZOOKEEPER-1179 The new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, this config is used to decide how many thread is used in the WatcherCleaner. More thread usually means larger clean up throughput. The default value is 2, which is good enough even for heavy and continuous session closing/recreating cases.

    -
  • -
  • -

    watcherCleanThreshold : (Java system property only: zookeeper.watcherCleanThreshold) New in 3.6.0: Added in ZOOKEEPER-1179 The new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, the cleanup process is relatively heavy, batch processing will reduce the cost and improve the performance. This setting is used to decide the batch size. The default one is 1000, we don't need to change it if there is no memory or clean up speed issue.

    -
  • -
  • -

    watcherCleanIntervalInSeconds : (Java system property only:zookeeper.watcherCleanIntervalInSeconds) New in 3.6.0: Added in ZOOKEEPER-1179 The new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, the cleanup process is relatively heavy, batch processing will reduce the cost and improve the performance. Besides watcherCleanThreshold, this setting is used to clean up the dead watchers after certain time even the dead watchers are not larger than watcherCleanThreshold, so that we won't leave the dead watchers there for too long. The default setting is 10 minutes, which usually don't need to be changed.

    -
  • -
  • -

    maxInProcessingDeadWatchers : (Java system property only: zookeeper.maxInProcessingDeadWatchers) New in 3.6.0: Added in ZOOKEEPER-1179 This is used to control how many backlog can we have in the WatcherCleaner, when it reaches this number, it will slow down adding the dead watcher to WatcherCleaner, which will in turn slow down adding and closing watchers, so that we can avoid OOM issue. By default there is no limit, you can set it to values like watcherCleanThreshold * 1000.

    -
  • -
  • -

    bitHashCacheSize : (Java system property only: zookeeper.bitHashCacheSize) New 3.6.0: Added in ZOOKEEPER-1179 This is the setting used to decide the HashSet cache size in the BitHashSet implementation. Without HashSet, we need to use O(N) time to get the elements, N is the bit numbers in elementBits. But we need to keep the size small to make sure it doesn't cost too much in memory, there is a trade off between memory and time complexity. The default value is 10, which seems a relatively reasonable cache size.

    -
  • -
  • -

    fastleader.minNotificationInterval : (Java system property: zookeeper.fastleader.minNotificationInterval) Lower bound for length of time between two consecutive notification checks on the leader election. This interval determines how long a peer waits to check the set of election votes and effects how quickly an election can resolve. The interval follows a backoff strategy from the configured minimum (this) and the configured maximum (fastleader.maxNotificationInterval) for long elections.

    -
  • -
  • -

    fastleader.maxNotificationInterval : (Java system property: zookeeper.fastleader.maxNotificationInterval) Upper bound for length of time between two consecutive notification checks on the leader election. This interval determines how long a peer waits to check the set of election votes and effects how quickly an election can resolve. The interval follows a backoff strategy from the configured minimum (fastleader.minNotificationInterval) and the configured maximum (this) for long elections.

    -
  • -
  • -

    connectionMaxTokens : (Java system property: zookeeper.connection_throttle_tokens) New in 3.6.0: This is one of the parameters to tune the server-side connection throttler, which is a token-based rate limiting mechanism with optional probabilistic dropping. This parameter defines the maximum number of tokens in the token-bucket. When set to 0, throttling is disabled. Default is 0.

    -
  • -
  • -

    connectionTokenFillTime : (Java system property: zookeeper.connection_throttle_fill_time) New in 3.6.0: This is one of the parameters to tune the server-side connection throttler, which is a token-based rate limiting mechanism with optional probabilistic dropping. This parameter defines the interval in milliseconds when the token bucket is re-filled with connectionTokenFillCount tokens. Default is 1.

    -
  • -
  • -

    connectionTokenFillCount : (Java system property: zookeeper.connection_throttle_fill_count) New in 3.6.0: This is one of the parameters to tune the server-side connection throttler, which is a token-based rate limiting mechanism with optional probabilistic dropping. This parameter defines the number of tokens to add to the token bucket every connectionTokenFillTime milliseconds. Default is 1.

    -
  • -
  • -

    connectionFreezeTime : (Java system property: zookeeper.connection_throttle_freeze_time) New in 3.6.0: This is one of the parameters to tune the server-side connection throttler, which is a token-based rate limiting mechanism with optional probabilistic dropping. This parameter defines the interval in milliseconds when the dropping probability is adjusted. When set to -1, probabilistic dropping is disabled. Default is -1.

    -
  • -
  • -

    connectionDropIncrease : (Java system property: zookeeper.connection_throttle_drop_increase) New in 3.6.0: This is one of the parameters to tune the server-side connection throttler, which is a token-based rate limiting mechanism with optional probabilistic dropping. This parameter defines the dropping probability to increase. The throttler checks every connectionFreezeTime milliseconds and if the token bucket is empty, the dropping probability will be increased by connectionDropIncrease. The default is 0.02.

    -
  • -
  • -

    connectionDropDecrease : (Java system property: zookeeper.connection_throttle_drop_decrease) New in 3.6.0: This is one of the parameters to tune the server-side connection throttler, which is a token-based rate limiting mechanism with optional probabilistic dropping. This parameter defines the dropping probability to decrease. The throttler checks every connectionFreezeTime milliseconds and if the token bucket has more tokens than a threshold, the dropping probability will be decreased by connectionDropDecrease. The threshold is connectionMaxTokens * connectionDecreaseRatio. The default is 0.002.

    -
  • -
  • -

    connectionDecreaseRatio : (Java system property: zookeeper.connection_throttle_decrease_ratio) New in 3.6.0: This is one of the parameters to tune the server-side connection throttler, which is a token-based rate limiting mechanism with optional probabilistic dropping. This parameter defines the threshold to decrease the dropping probability. The default is 0.

    -
  • -
  • -

    zookeeper.connection_throttle_weight_enabled : (Java system property only) New in 3.6.0: Whether to consider connection weights when throttling. Only useful when connection throttle is enabled, that is, connectionMaxTokens is larger than 0. The default is false.

    -
  • -
  • -

    zookeeper.connection_throttle_global_session_weight : (Java system property only) New in 3.6.0: The weight of a global session. It is the number of tokens required for a global session request to get through the connection throttler. It has to be a positive integer no smaller than the weight of a local session. The default is 3.

    -
  • -
  • -

    zookeeper.connection_throttle_local_session_weight : (Java system property only) New in 3.6.0: The weight of a local session. It is the number of tokens required for a local session request to get through the connection throttler. It has to be a positive integer no larger than the weight of a global session or a renew session. The default is 1.

    -
  • -
  • -

    zookeeper.connection_throttle_renew_session_weight : (Java system property only) New in 3.6.0: The weight of renewing a session. It is also the number of tokens required for a reconnect request to get through the throttler. It has to be a positive integer no smaller than the weight of a local session. The default is 2.

    -
  • -
  • -

    clientPortListenBacklog : (No Java system property) New in 3.4.14, 3.5.5, 3.6.0: The socket backlog length for the ZooKeeper server socket. This controls the number of requests that will be queued server-side to be processed by the ZooKeeper server. Connections that exceed this length will receive a network timeout (30s) which may cause ZooKeeper session expiry issues. By default, this value is unset (-1) which, on Linux, uses a backlog of 50. This value must be a positive number.

    -
  • -
  • -

    serverCnxnFactory : (Java system property: zookeeper.serverCnxnFactory) Specifies ServerCnxnFactory implementation. This should be set to NettyServerCnxnFactory in order to use TLS based server communication. Default is NIOServerCnxnFactory.

    -
  • -
  • -

    flushDelay : (Java system property: zookeeper.flushDelay) Time in milliseconds to delay the flush of the commit log. Does not affect the limit defined by maxBatchSize. Disabled by default (with value 0). Ensembles with high write rates may see throughput improved with a value of 10-20 ms.

    -
  • -
  • -

    maxWriteQueuePollTime : (Java system property: zookeeper.maxWriteQueuePollTime) If flushDelay is enabled, this determines the amount of time in milliseconds to wait before flushing when no new requests are being queued. Set to flushDelay/3 by default (implicitly disabled by default).

    -
  • -
  • -

    maxBatchSize : (Java system property: zookeeper.maxBatchSize) The number of transactions allowed in the server before a flush of the commit log is triggered. Does not affect the limit defined by flushDelay. Default is 1000.

    -
  • -
  • -

    enforceQuota : (Java system property: zookeeper.enforceQuota) New in 3.7.0: Enforce the quota check. When enabled and the client exceeds the total bytes or children count hard quota under a znode, the server will reject the request and reply the client a QuotaExceededException by force. The default value is: false. Exploring quota feature for more details.

    -
  • -
  • -

    requestThrottleLimit : (Java system property: zookeeper.request_throttle_max_requests) New in 3.6.0: The total number of outstanding requests allowed before the RequestThrottler starts stalling. When set to 0, throttling is disabled. The default is 0.

    -
  • -
  • -

    requestThrottleStallTime : (Java system property: zookeeper.request_throttle_stall_time) New in 3.6.0: The maximum time (in milliseconds) for which a thread may wait to be notified that it may proceed processing a request. The default is 100.

    -
  • -
  • -

    requestThrottleDropStale : (Java system property: request_throttle_drop_stale) New in 3.6.0: When enabled, the throttler will drop stale requests rather than issue them to the request pipeline. A stale request is a request sent by a connection that is now closed, and/or a request that will have a request latency higher than the sessionTimeout. The default is true.

    -
  • -
  • -

    requestStaleLatencyCheck : (Java system property: zookeeper.request_stale_latency_check) New in 3.6.0: When enabled, a request is considered stale if the request latency is higher than its associated session timeout. Disabled by default.

    -
  • -
  • -

    requestStaleConnectionCheck : (Java system property: zookeeper.request_stale_connection_check) New in 3.6.0: When enabled, a request is considered stale if the request's connection has closed. Enabled by default.

    -
  • -
  • -

    zookeeper.request_throttler.shutdownTimeout : (Java system property only) New in 3.6.0: The time (in milliseconds) the RequestThrottler waits for the request queue to drain during shutdown before it shuts down forcefully. The default is 10000.

    -
  • -
  • -

    advancedFlowControlEnabled : (Java system property: zookeeper.netty.advancedFlowControl.enabled) Using accurate flow control in netty based on the status of ZooKeeper pipeline to avoid direct buffer OOM. It will disable the AUTO_READ in Netty.

    -
  • -
  • -

    enableEagerACLCheck : (Java system property only: zookeeper.enableEagerACLCheck) When set to "true", enables eager ACL check on write requests on each local server before sending the requests to quorum. Default is "false".

    -
  • -
  • -

    maxConcurrentSnapSyncs : (Java system property: zookeeper.leader.maxConcurrentSnapSyncs) The maximum number of snap syncs a leader or a follower can serve at the same time. The default is 10.

    -
  • -
  • -

    maxConcurrentDiffSyncs : (Java system property: zookeeper.leader.maxConcurrentDiffSyncs) The maximum number of diff syncs a leader or a follower can serve at the same time. The default is 100.

    -
  • -
  • -

    digest.enabled : (Java system property only: zookeeper.digest.enabled) New in 3.6.0: The digest feature is added to detect the data inconsistency inside ZooKeeper when loading database from disk, catching up and following leader, its doing incrementally hash check for the DataTree based on the adHash paper mentioned in

    -
    https://cseweb.ucsd.edu/~daniele/papers/IncHash.pdf
    -
    -

    The idea is simple, the hash value of DataTree will be updated incrementally based on the changes to the set of data. When the leader is preparing the txn, it will pre-calculate the hash of the tree based on the changes happened with formula:

    -
    current_hash = current_hash + hash(new node data) - hash(old node data)
    -
    -

    If it’s creating a new node, the hash(old node data) will be 0, and if it’s a delete node op, the hash(new node data) will be 0.

    -

    This hash will be associated with each txn to represent the expected hash value after applying the txn to the data tree, it will be sent to followers with original proposals. Learner will compare the actual hash value with the one in the txn after applying the txn to the data tree, and report mismatch if it’s not the same.

    -

    These digest value will also be persisted with each txn and snapshot on the disk, so when servers restarted and load data from disk, it will compare and see if there is hash mismatch, which will help detect data loss issue on disk.

    -

    For the actual hash function, we’re using CRC internally, it’s not a collisionless hash function, but it’s more efficient compared to collisionless hash, and the collision possibility is really really rare and can already meet our needs here.

    -

    This feature is backward and forward compatible, so it can safely roll upgrade, downgrade, enabled and later disabled without any compatible issue. Here are the scenarios have been covered and tested:

    -
      -
    1. When leader runs with new code while follower runs with old one, the digest will be appended to the end of each txn, follower will only read header and txn data, digest value in the txn will be ignored. It won't affect the follower reads and processes the next txn.
    2. -
    3. When leader runs with old code while follower runs with new one, the digest won't be sent with txn, when follower tries to read the digest, it will throw EOF which is caught and handled gracefully with digest value set to null.
    4. -
    5. When loading old snapshot with new code, it will throw IOException when trying to read the non-exist digest value, and the exception will be caught and digest will be set to null, which means we won't compare digest when loading this snapshot, which is expected to happen during rolling upgrade
    6. -
    7. When loading new snapshot with old code, it will finish successfully after deserializing the data tree, the digest value at the end of snapshot file will be ignored
    8. -
    9. The scenarios of rolling restart with flags change are similar to the 1st and 2nd scenarios discussed above, if the leader enabled but follower not, digest value will be ignored, and follower won't compare the digest during runtime; if leader disabled but follower enabled, follower will get EOF exception which is handled gracefully.
    10. -
    -

    Note: the current digest calculation excluded nodes under /zookeeper due to the potential inconsistency in the /zookeeper/quota stat node, we can include that after that issue is fixed.

    -

    By default, this feature is enabled, set "false" to disable it.

    -
  • -
  • -

    snapshot.compression.method : (Java system property: zookeeper.snapshot.compression.method) New in 3.6.0: This property controls whether or not ZooKeeper should compress snapshots before storing them on disk (see ZOOKEEPER-3179). Possible values are:

    - -
  • -
  • -

    snapshot.trust.empty : (Java system property: zookeeper.snapshot.trust.empty) New in 3.5.6: This property controls whether or not ZooKeeper should treat missing snapshot files as a fatal state that can't be recovered from. Set to true to allow ZooKeeper servers recover without snapshot files. This should only be set during upgrading from old versions of ZooKeeper (3.4.x, pre 3.5.3) where ZooKeeper might only have transaction log files but without presence of snapshot files. If the value is set during upgrade, we recommend setting the value back to false after upgrading and restart ZooKeeper process so ZooKeeper can continue normal data consistency check during recovery process. Default value is false.

    -
  • -
  • -

    audit.enable : (Java system property: zookeeper.audit.enable) New in 3.6.0: By default audit logs are disabled. Set to "true" to enable it. Default value is "false". See the ZooKeeper audit logs for more information.

    -
  • -
  • -

    audit.impl.class : (Java system property: zookeeper.audit.impl.class) New in 3.6.0: Class to implement the audit logger. By default logback based audit logger org.apache.zookeeper.audit .Slf4jAuditLogger is used. See the ZooKeeper audit logs for more information.

    -
  • -
  • -

    largeRequestMaxBytes : (Java system property: zookeeper.largeRequestMaxBytes) New in 3.6.0: The maximum number of bytes of all inflight large request. The connection will be closed if a coming large request causes the limit exceeded. The default is 100 * 1024 * 1024.

    -
  • -
  • -

    largeRequestThreshold : (Java system property: zookeeper.largeRequestThreshold) New in 3.6.0: The size threshold after which a request is considered a large request. If it is -1, then all requests are considered small, effectively turning off large request throttling. The default is -1.

    -
  • -
  • -

    outstandingHandshake.limit (Java system property only: zookeeper.netty.server.outstandingHandshake.limit) The maximum in-flight TLS handshake connections could have in ZooKeeper, the connections exceed this limit will be rejected before starting handshake. This setting doesn't limit the max TLS concurrency, but helps avoid herd effect due to TLS handshake timeout when there are too many in-flight TLS handshakes. Set it to something like 250 is good enough to avoid herd effect.

    -
  • -
  • -

    netty.server.earlyDropSecureConnectionHandshakes (Java system property: zookeeper.netty.server.earlyDropSecureConnectionHandshakes) If the ZooKeeper server is not fully started, drop TCP connections before performing the TLS handshake. This is useful in order to prevent flooding the server with many concurrent TLS handshakes after a restart. Please note that if you enable this flag the server won't answer to 'ruok' commands if it is not fully started.

    -

    The behaviour of dropping the connection has been introduced in ZooKeeper 3.7 and it was not possible to disable it. Since 3.7.1 and 3.8.0 this feature is disabled by default.

    -
  • -
  • -

    throttledOpWaitTime (Java system property: zookeeper.throttled_op_wait_time) The time in the RequestThrottler queue longer than which a request will be marked as throttled. A throttled requests will not be processed other than being fed down the pipeline of the server it belongs to preserve the order of all requests. The FinalProcessor will issue an error response (new error code: ZTHROTTLEDOP) for these undigested requests. The intent is for the clients not to retry them immediately. When set to 0, no requests will be throttled. The default is 0.

    -
  • -
  • -

    learner.closeSocketAsync (Java system property: zookeeper.learner.closeSocketAsync) (Java system property: learner.closeSocketAsync)(Added for backward compatibility) New in 3.7.0: When enabled, a learner will close the quorum socket asynchronously. This is useful for TLS connections where closing a socket might take a long time, block the shutdown process, potentially delay a new leader election, and leave the quorum unavailable. Closing the socket asynchronously avoids blocking the shutdown process despite the long socket closing time and a new leader election can be started while the socket being closed. The default is false.

    -
  • -
  • -

    leader.closeSocketAsync (Java system property: zookeeper.leader.closeSocketAsync) (Java system property: leader.closeSocketAsync)(Added for backward compatibility) New in 3.7.0: When enabled, the leader will close a quorum socket asynchronously. This is useful for TLS connections where closing a socket might take a long time. If disconnecting a follower is initiated in ping() because of a failed SyncLimitCheck then the long socket closing time will block the sending of pings to other followers. Without receiving pings, the other followers will not send session information to the leader, which causes sessions to expire. Setting this flag to true ensures that pings will be sent regularly. The default is false.

    -
  • -
  • -

    learner.asyncSending (Java system property: zookeeper.learner.asyncSending) (Java system property: learner.asyncSending)(Added for backward compatibility) New in 3.7.0: The sending and receiving packets in Learner were done synchronously in a critical section. An untimely network issue could cause the followers to hang (see ZOOKEEPER-3575 and ZOOKEEPER-4074). The new design moves sending packets in Learner to a separate thread and sends the packets asynchronously. The new design is enabled with this parameter (learner.asyncSending). The default is false.

    -
  • -
  • -

    forward_learner_requests_to_commit_processor_disabled (Java system property: zookeeper.forward_learner_requests_to_commit_processor_disabled) When this property is set, the requests from learners won't be enqueued to CommitProcessor queue, which will help save the resources and GC time on leader.

    -

    The default value is false.

    -
  • -
  • -

    serializeLastProcessedZxid.enabled (Jave system property: zookeeper.serializeLastProcessedZxid.enabled) New in 3.9.0: If enabled, ZooKeeper serializes the lastProcessedZxid when snapshot and deserializes it when restore. Defaults to true. Needs to be enabled for performing snapshot and restore via admin server commands, as there is no snapshot file name to extract the lastProcessedZxid.

    -
  • -
-

This feature is backward and forward compatible. Here are the different scenarios.

-
    -
  1. -

    Snapshot triggered by server internally a. When loading old snapshot with new code, it will throw EOFException when trying to read the non-exist lastProcessedZxid value, and the exception will be caught. The lastProcessedZxid will be set using the snapshot file name.

    -

    b. When loading new snapshot with old code, it will finish successfully after deserializing the digest value, the lastProcessedZxid at the end of snapshot file will be ignored. The lastProcessedZxid will be set using the snapshot file name.

    -
      -
    1. Sync up between leader and follower The lastProcessedZxid will not be serialized by leader and deserialized by follower in both new and old code. It will be set to the lastProcessedZxid sent from leader via QuorumPacket.
    2. -
    -
  2. -
  3. -

    Snapshot triggered via admin server APIs The feature flag need to be enabled for the snapshot command to work.

    -
  4. -
-

-

Cluster Options

-

The options in this section are designed for use with an ensemble of servers -- that is, when deploying clusters of servers.

-
    -
  • electionAlg : (No Java system property) Election implementation to use. A value of "1" corresponds to the non-authenticated UDP-based version of fast leader election, "2" corresponds to the authenticated UDP-based version of fast leader election, and "3" corresponds to TCP-based version of fast leader election. Algorithm 3 was made default in 3.2.0 and prior versions (3.0.0 and 3.1.0) were using algorithm 1 and 2 as well. -
    Note
    -
    -

    The implementations of leader election 1, and 2 were deprecated in 3.4.0. Since 3.6.0 only FastLeaderElection is available, in case of upgrade you have to shut down all of your servers and restart them with electionAlg=3 (or by removing the line from the configuration file). >

    -
    -
  • -
  • maxTimeToWaitForEpoch : (Java system property: zookeeper.leader.maxTimeToWaitForEpoch) New in 3.6.0: The maximum time to wait for epoch from voters when activating leader. If leader received a LOOKING notification from one of its voters, and it hasn't received epoch packets from majority within maxTimeToWaitForEpoch, then it will goto LOOKING and elect leader again. This can be tuned to reduce the quorum or server unavailable time, it can be set to be much smaller than initLimit * tickTime. In cross datacenter environment, it can be set to something like 2s.
  • -
  • -

    initLimit : (No Java system property) Amount of time, in ticks (see tickTime), to allow followers to connect and sync to a leader. Increased this value as needed, if the amount of data managed by ZooKeeper is large.

    -
  • -
  • -

    connectToLearnerMasterLimit : (Java system property: zookeeper.connectToLearnerMasterLimit) Amount of time, in ticks (see tickTime), to allow followers to connect to the leader after leader election. Defaults to the value of initLimit. Use when initLimit is high so connecting to learner master doesn't result in higher timeout.

    -
  • -
  • -

    leaderServes : (Java system property: zookeeper.leaderServes) Leader accepts client connections. Default value is "yes". The leader machine coordinates updates. For higher update throughput at the slight expense of read throughput the leader can be configured to not accept clients and focus on coordination. The default to this option is yes, which means that a leader will accept client connections.

    -
    Note
    -
    -

    Turning on leader selection is highly recommended when you have more than three ZooKeeper servers in an ensemble.

    -
    -
  • -
  • server.x=[hostname]:nnnnn[:nnnnn] etc : (No Java system property) servers making up the ZooKeeper ensemble. When the server starts up, it determines which server it is by looking for the file myid in the data directory. That file contains the server number, in ASCII, and it should match x in server.x in the left hand side of this setting. The list of servers that make up ZooKeeper servers that is used by the clients must match the list of ZooKeeper servers that each ZooKeeper server has. There are two port numbers nnnnn. The first followers used to connect to the leader, and the second is for leader election. If you want to test multiple servers on a single machine, then different ports can be used for each server. -

    Since ZooKeeper 3.6.0 it is possible to specify multiple addresses for each ZooKeeper server (see ZOOKEEPER-3188). To enable this feature, you must set the multiAddress.enabled configuration property to true. This helps to increase availability and adds network level resiliency to ZooKeeper. When multiple physical network interfaces are used for the servers, ZooKeeper is able to bind on all interfaces and runtime switching to a working interface in case a network error. The different addresses can be specified in the config using a pipe ('|') character. A valid configuration using multiple addresses looks like:

    -
    server.1=zoo1-net1:2888:3888|zoo1-net2:2889:3889
    -server.2=zoo2-net1:2888:3888|zoo2-net2:2889:3889
    -server.3=zoo3-net1:2888:3888|zoo3-net2:2889:3889
    -
    -
    Note
    -
    -

    By enabling this feature, the Quorum protocol (ZooKeeper Server-Server protocol) will change. The users will not notice this and when anyone starts a ZooKeeper cluster with the new config, everything will work normally. However, it's not possible to enable this feature and specify multiple addresses during a rolling upgrade if the old ZooKeeper cluster didn't support the multiAddress feature (and the new Quorum protocol). In case if you need this feature but you also need to perform a rolling upgrade from a ZooKeeper cluster older than 3.6.0, then you first need to do the rolling upgrade without enabling the MultiAddress feature and later make a separate rolling restart with the new configuration where multiAddress.enabled is set to true and multiple addresses are provided.

    -
    -
  • -
  • syncLimit : (No Java system property) Amount of time, in ticks (see tickTime), to allow followers to sync with ZooKeeper. If followers fall too far behind a leader, they will be dropped.
  • -
  • -

    group.x=nnnnn[:nnnnn] : (No Java system property) Enables a hierarchical quorum construction."x" is a group identifier and the numbers following the "=" sign correspond to server identifiers. The left-hand side of the assignment is a colon-separated list of server identifiers. Note that groups must be disjoint and the union of all groups must be the ZooKeeper ensemble. You will find an example here

    -
  • -
  • -

    weight.x=nnnnn : (No Java system property) Used along with "group", it assigns a weight to a server when forming quorums. Such a value corresponds to the weight of a server when voting. There are a few parts of ZooKeeper that require voting such as leader election and the atomic broadcast protocol. By default the weight of server is 1. If the configuration defines groups, but not weights, then a value of 1 will be assigned to all servers. You will find an example here

    -
  • -
  • -

    cnxTimeout : (Java system property: zookeeper.cnxTimeout) Sets the timeout value for opening connections for leader election notifications. Only applicable if you are using electionAlg 3.

    -
    Note
    -
    -

    Default value is 5 seconds.

    -
    -
  • -
  • quorumCnxnTimeoutMs : (Java system property: zookeeper.quorumCnxnTimeoutMs) Sets the read timeout value for the connections for leader election notifications. Only applicable if you are using electionAlg 3. -
    Note
    -
    -

    Default value is -1, which will then use the syncLimit * tickTime as the timeout.

    -
    -
  • -
  • standaloneEnabled : (No Java system property) New in 3.5.0: When set to false, a single server can be started in replicated mode, a lone participant can run with observers, and a cluster can reconfigure down to one node, and up from one node. The default is true for backwards compatibility. It can be set using QuorumPeerConfig's setStandaloneEnabled method or by adding "standaloneEnabled=false" or "standaloneEnabled=true" to a server's config file.
  • -
  • -

    reconfigEnabled : (No Java system property) New in 3.5.3: This controls the enabling or disabling of Dynamic Reconfiguration feature. When the feature is enabled, users can perform reconfigure operations through the ZooKeeper client API or through ZooKeeper command line tools assuming users are authorized to perform such operations. When the feature is disabled, no user, including the super user, can perform a reconfiguration. Any attempt to reconfigure will return an error. "reconfigEnabled" option can be set as "reconfigEnabled=false" or "reconfigEnabled=true" to a server's config file, or using QuorumPeerConfig's setReconfigEnabled method. The default value is false. If present, the value should be consistent across every server in the entire ensemble. Setting the value as true on some servers and false on other servers will cause inconsistent behavior depending on which server is elected as leader. If the leader has a setting of "reconfigEnabled=true", then the ensemble will have reconfig feature enabled. If the leader has a setting of "reconfigEnabled=false", then the ensemble will have reconfig feature disabled. It is thus recommended having a consistent value for "reconfigEnabled" across servers in the ensemble.

    -
  • -
  • -

    4lw.commands.whitelist : (Java system property: zookeeper.4lw.commands.whitelist) New in 3.5.3: A list of comma separated Four Letter Words commands that user wants to use. A valid Four Letter Words command must be put in this list else ZooKeeper server will not enable the command. By default the whitelist only contains "srvr" command which zkServer.sh uses. Additionally, if Read Only Mode is enabled by setting Java system property readonlymode.enabled, then the "isro" command is added to the whitelist. The rest of four-letter word commands are disabled by default: attempting to use them will gain a response ".... is not executed because it is not in the whitelist." Here's an example of the configuration that enables stat, ruok, conf, and isro command while disabling the rest of Four Letter Words command:

    -
    4lw.commands.whitelist=stat, ruok, conf, isro
    -
    -
  • -
-

If you really need enable all four-letter word commands by default, you can use the asterisk option so you don't have to include every command one by one in the list. As an example, this will enable all four-letter word commands:

-
4lw.commands.whitelist=*
-
-
    -
  • -

    tcpKeepAlive : (Java system property: zookeeper.tcpKeepAlive) New in 3.5.4: Setting this to true sets the TCP keepAlive flag on the sockets used by quorum members to perform elections. This will allow for connections between quorum members to remain up when there is network infrastructure that may otherwise break them. Some NATs and firewalls may terminate or lose state for long-running or idle connections. Enabling this option relies on OS level settings to work properly, check your operating system's options regarding TCP keepalive for more information. Defaults to false.

    -
  • -
  • -

    clientTcpKeepAlive : (Java system property: zookeeper.clientTcpKeepAlive) New in 3.6.1: Setting this to true sets the TCP keepAlive flag on the client sockets. Some broken network infrastructure may lose the FIN packet that is sent from closing client. These never closed client sockets cause OS resource leak. Enabling this option terminates these zombie sockets by idle check. Enabling this option relies on OS level settings to work properly, check your operating system's options regarding TCP keepalive for more information. Defaults to false. Please note the distinction between it and tcpKeepAlive. It is applied for the client sockets while tcpKeepAlive is for the sockets used by quorum members. Currently this option is only available when default NIOServerCnxnFactory is used.

    -
  • -
  • -

    electionPortBindRetry : (Java system property only: zookeeper.electionPortBindRetry) Property set max retry count when Zookeeper server fails to bind leader election port. Such errors can be temporary and recoverable, such as DNS issue described in ZOOKEEPER-3320, or non-retryable, such as port already in use. In case of transient errors, this property can improve availability of Zookeeper server and help it to self recover. Default value 3. In container environment, especially in Kubernetes, this value should be increased or set to 0(infinite retry) to overcome issues related to DNS name resolving.

    -
  • -
  • -

    observer.reconnectDelayMs : (Java system property: zookeeper.observer.reconnectDelayMs) When observer loses its connection with the leader, it waits for the specified value before trying to reconnect with the leader so that the entire observer fleet won't try to run leader election and reconnect to the leader at once. Defaults to 0 ms.

    -
  • -
  • -

    observer.election.DelayMs : (Java system property: zookeeper.observer.election.DelayMs) Delay the observer's participation in a leader election upon disconnect so as to prevent unexpected additional load on the voting peers during the process. Defaults to 200 ms.

    -
  • -
  • -

    localSessionsEnabled and localSessionsUpgradingEnabled : New in 3.5: Optional value is true or false. Their default values are false. Turning on the local session feature by setting localSessionsEnabled=true. Turning on localSessionsUpgradingEnabled can upgrade a local session to a global session automatically as required (e.g. creating ephemeral nodes), which only matters when localSessionsEnabled is enabled.

    -
  • -
-

-

Encryption, Authentication, Authorization Options

-

The options in this section allow control over encryption/authentication/authorization performed by the service.

-

Beside this page, you can also find useful information about client side configuration in the Programmers Guide. The ZooKeeper Wiki also has useful pages about ZooKeeper SSL support, and SASL authentication for ZooKeeper.

-
    -
  • -

    DigestAuthenticationProvider.enabled : (Java system property: zookeeper.DigestAuthenticationProvider.enabled) New in 3.7: Determines whether the digest authentication provider is enabled. The default value is true for backwards compatibility, but it may be a good idea to disable this provider if not used, as it can result in misleading entries appearing in audit logs (see ZOOKEEPER-3979)

    -
  • -
  • -

    DigestAuthenticationProvider.superDigest : (Java system property: zookeeper.DigestAuthenticationProvider.superDigest) By default this feature is disabled New in 3.2: Enables a ZooKeeper ensemble administrator to access the znode hierarchy as a "super" user. In particular no ACL checking occurs for a user authenticated as super. org.apache.zookeeper.server.auth.DigestAuthenticationProvider can be used to generate the superDigest, call it with one parameter of "super:". Provide the generated "super:" as the system property value when starting each server of the ensemble. When authenticating to a ZooKeeper server (from a ZooKeeper client) pass a scheme of "digest" and authdata of "super:". Note that digest auth passes the authdata in plaintext to the server, it would be prudent to use this authentication method only on localhost (not over the network) or over an encrypted connection.

    -
  • -
  • -

    DigestAuthenticationProvider.digestAlg : (Java system property: zookeeper.DigestAuthenticationProvider.digestAlg) New in 3.7.0: Set ACL digest algorithm. The default value is: SHA1 which will be deprecated in the future for security issues. Set this property the same value in all the servers.

    -
      -
    • -

      How to support other more algorithms?

      -
        -
      • -

        modify the java.security configuration file under $JAVA_HOME/jre/lib/security/java.security by specifying: security.provider.<n>=<provider class name>.

        -
        For example:
        -set zookeeper.DigestAuthenticationProvider.digestAlg=RipeMD160
        -security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider
        -
        -
      • -
      • -

        copy the jar file to $JAVA_HOME/jre/lib/ext/.

        -
        For example:
        -copy bcprov-jdk18on-1.60.jar to $JAVA_HOME/jre/lib/ext/
        -
        -
      • -
      -
    • -
    • -

      How to migrate from one digest algorithm to another?

      -
        -
      • -
          -
        1. Regenerate superDigest when migrating to new algorithm.
        2. -
        -
      • -
      • -
          -
        1. SetAcl for a znode which already had a digest auth of old algorithm.
        2. -
        -
      • -
      -
    • -
    -
  • -
  • -

    IPAuthenticationProvider.usexforwardedfor : (Java system property: zookeeper.IPAuthenticationProvider.usexforwardedfor) New in 3.9.3: IPAuthenticationProvider uses the client IP address to authenticate the user. By default it reads the Host HTTP header to detect client IP address. In some proxy configurations the proxy server adds the X-Forwarded-For header to the request in order to provide the IP address of the original client request. By enabling usexforwardedfor ZooKeeper setting, X-Forwarded-For will be preferred over the standard Host header. Default value is false.

    -
  • -
  • -

    X509AuthenticationProvider.superUser : (Java system property: zookeeper.X509AuthenticationProvider.superUser) The SSL-backed way to enable a ZooKeeper ensemble administrator to access the znode hierarchy as a "super" user. When this parameter is set to an X500 principal name, only an authenticated client with that principal will be able to bypass ACL checking and have full privileges to all znodes.

    -
  • -
  • -

    zookeeper.superUser : (Java system property: zookeeper.superUser) Similar to zookeeper.X509AuthenticationProvider.superUser but is generic for SASL based logins. It stores the name of a user that can access the znode hierarchy as a "super" user. You can specify multiple SASL super users using the zookeeper.superUser.[suffix] notation, e.g.: zookeeper.superUser.1=....

    -
  • -
  • -

    ssl.authProvider : (Java system property: zookeeper.ssl.authProvider) Specifies a subclass of org.apache.zookeeper.auth.X509AuthenticationProvider to use for secure client authentication. This is useful in certificate key infrastructures that do not use JKS. It may be necessary to extend javax.net.ssl.X509KeyManager and javax.net.ssl.X509TrustManager to get the desired behavior from the SSL stack. To configure the ZooKeeper server to use the custom provider for authentication, choose a scheme name for the custom AuthenticationProvider and set the property zookeeper.authProvider.[scheme] to the fully-qualified class name of the custom implementation. This will load the provider into the ProviderRegistry. Then set this property zookeeper.ssl.authProvider=[scheme] and that provider will be used for secure authentication.

    -
  • -
  • -

    zookeeper.ensembleAuthName : (Java system property only: zookeeper.ensembleAuthName) New in 3.6.0: Specify a list of comma-separated valid names/aliases of an ensemble. A client can provide the ensemble name it intends to connect as the credential for scheme "ensemble". The EnsembleAuthenticationProvider will check the credential against the list of names/aliases of the ensemble that receives the connection request. If the credential is not in the list, the connection request will be refused. This prevents a client accidentally connecting to a wrong ensemble.

    -
  • -
  • -

    sessionRequireClientSASLAuth : (Java system property: zookeeper.sessionRequireClientSASLAuth) New in 3.6.0: When set to true, ZooKeeper server will only accept connections and requests from clients that have authenticated with server via SASL. Clients that are not configured with SASL authentication, or configured with SASL but failed authentication (i.e. with invalid credential) will not be able to establish a session with server. A typed error code (-124) will be delivered in such case, both Java and C client will close the session with server thereafter, without further attempts on retrying to reconnect.

    -

    This configuration is shorthand for enforce.auth.enabled=true and enforce.auth.scheme=sasl

    -

    By default, this feature is disabled. Users who would like to opt-in can enable the feature by setting sessionRequireClientSASLAuth to true.

    -

    This feature overrules the zookeeper.allowSaslFailedClients option, so even if server is configured to allow clients that fail SASL authentication to login, client will not be able to establish a session with server if this feature is enabled.

    -
  • -
  • -

    enforce.auth.enabled : (Java system property : zookeeper.enforce.auth.enabled) New in 3.7.0: When set to true, ZooKeeper server will only accept connections and requests from clients that have authenticated with server via configured auth scheme. Authentication schemes can be configured using property enforce.auth.schemes. Clients that are not configured with the any of the auth scheme configured at server or configured but failed authentication (i.e. with invalid credential) will not be able to establish a session with server. A typed error code (-124) will be delivered in such case, both Java and C client will close the session with server thereafter, without further attempts on retrying to reconnect.

    -

    By default, this feature is disabled. Users who would like to opt-in can enable the feature by setting enforce.auth.enabled to true.

    -

    When enforce.auth.enabled=true and enforce.auth.schemes=sasl then zookeeper.allowSaslFailedClients configuration is overruled. So even if server is configured to allow clients that fail SASL authentication to login, client will not be able to establish a session with server if this feature is enabled with sasl as authentication scheme.

    -
  • -
  • -

    enforce.auth.schemes : (Java system property : zookeeper.enforce.auth.schemes) New in 3.7.0: Comma separated list of authentication schemes. Clients must be authenticated with at least one authentication scheme before doing any zookeeper operations. This property is used only when enforce.auth.enabled is to true.

    -
  • -
  • -

    sslQuorum : (Java system property: zookeeper.sslQuorum) New in 3.5.5: Enables encrypted quorum communication. Default is false. When enabling this feature, please also consider enabling leader.closeSocketAsync and learner.closeSocketAsync to avoid issues associated with the potentially long socket closing time when shutting down an SSL connection.

    -
  • -
  • -

    ssl.keyStore.location and ssl.keyStore.password and ssl.quorum.keyStore.location and ssl.quorum.keyStore.password : (Java system properties: zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password and zookeeper.ssl.quorum.keyStore.location and zookeeper.ssl.quorum.keyStore.password) New in 3.5.5: Specifies the file path to a Java keystore containing the local credentials to be used for client and quorum TLS connections, and the password to unlock the file.

    -
  • -
  • -

    ssl.keyStore.passwordPath and ssl.quorum.keyStore.passwordPath : (Java system properties: zookeeper.ssl.keyStore.passwordPath and zookeeper.ssl.quorum.keyStore.passwordPath) New in 3.8.0: Specifies the file path that contains the keystore password. Reading the password from a file takes precedence over the explicit password property.

    -
  • -
  • -

    ssl.keyStore.type and ssl.quorum.keyStore.type : (Java system properties: zookeeper.ssl.keyStore.type and zookeeper.ssl.quorum.keyStore.type) New in 3.5.5: Specifies the file format of client and quorum keystores. Values: JKS, PEM, PKCS12 or null (detect by filename). Default: null. New in 3.5.10, 3.6.3, 3.7.0: The format BCFKS was added.

    -
  • -
  • -

    ssl.trustStore.location and ssl.trustStore.password and ssl.quorum.trustStore.location and ssl.quorum.trustStore.password : (Java system properties: zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password and zookeeper.ssl.quorum.trustStore.location and zookeeper.ssl.quorum.trustStore.password) New in 3.5.5: Specifies the file path to a Java truststore containing the remote credentials to be used for client and quorum TLS connections, and the password to unlock the file.

    -
  • -
  • -

    ssl.trustStore.passwordPath and ssl.quorum.trustStore.passwordPath : (Java system properties: zookeeper.ssl.trustStore.passwordPath and zookeeper.ssl.quorum.trustStore.passwordPath) New in 3.8.0: Specifies the file path that contains the truststore password. Reading the password from a file takes precedence over the explicit password property.

    -
  • -
  • -

    ssl.trustStore.type and ssl.quorum.trustStore.type : (Java system properties: zookeeper.ssl.trustStore.type and zookeeper.ssl.quorum.trustStore.type) New in 3.5.5: Specifies the file format of client and quorum trustStores. Values: JKS, PEM, PKCS12 or null (detect by filename). Default: null. New in 3.5.10, 3.6.3, 3.7.0: The format BCFKS was added.

    -
  • -
  • -

    ssl.protocol and ssl.quorum.protocol : (Java system properties: zookeeper.ssl.protocol and zookeeper.ssl.quorum.protocol) New in 3.5.5: Specifies to protocol to be used in client and quorum TLS negotiation. Default: TLSv1.3 or TLSv1.2 depending on Java runtime version being used.

    -
  • -
  • -

    ssl.enabledProtocols and ssl.quorum.enabledProtocols : (Java system properties: zookeeper.ssl.enabledProtocols and zookeeper.ssl.quorum.enabledProtocols) New in 3.5.5: Specifies the enabled protocols in client and quorum TLS negotiation. Default: TLSv1.3, TLSv1.2 if value of protocol property is TLSv1.3. TLSv1.2 if protocol is TLSv1.2.

    -
  • -
  • -

    ssl.ciphersuites and ssl.quorum.ciphersuites : (Java system properties: zookeeper.ssl.ciphersuites and zookeeper.ssl.quorum.ciphersuites) New in 3.5.5: Specifies the enabled cipher suites to be used in client and quorum TLS negotiation. Default: Enabled cipher suites depend on the Java runtime version being used.

    -
  • -
  • -

    ssl.context.supplier.class and ssl.quorum.context.supplier.class : (Java system properties: zookeeper.ssl.context.supplier.class and zookeeper.ssl.quorum.context.supplier.class) New in 3.5.5: Specifies the class to be used for creating SSL context in client and quorum SSL communication. This allows you to use custom SSL context and implement the following scenarios:

    -
      -
    1. Use hardware keystore, loaded in using PKCS11 or something similar.
    2. -
    3. You don't have access to the software keystore, but can retrieve an already-constructed SSLContext from their container. Default: null
    4. -
    -
  • -
  • -

    ssl.hostnameVerification and ssl.quorum.hostnameVerification : (Java system properties: zookeeper.ssl.hostnameVerification and zookeeper.ssl.quorum.hostnameVerification) New in 3.5.5: Specifies whether the hostname verification is enabled in client and quorum TLS negotiation process. Disabling it only recommended for testing purposes. Default: true

    -
  • -
  • -

    ssl.clientHostnameVerification and ssl.quorum.clientHostnameVerification : (Java system properties: zookeeper.ssl.clientHostnameVerification and zookeeper.ssl.quorum.clientHostnameVerification) New in 3.9.4: Specifies whether the client's hostname verification is enabled in client and quorum TLS negotiation process. This option requires the corresponding hostnameVerification option to be true, or it will be ignored. Default: true for quorum, false for clients

    -
  • -
  • -

    ssl.allowReverseDnsLookup and ssl.quorum.allowReverseDnsLookup : (Java system properties: zookeeper.ssl.allowReverseDnsLookup and zookeeper.ssl.quorum.allowReverseDnsLookup) New in 3.9.5: Allow reverse DNS lookup in both server- and client hostname verifications if the hostname verification is enabled in ZKTrustManager. Supported in both quorum and client TLS protocols. Not supported in FIPS mode. Reverse DNS lookups are expensive and unnecessary in most cases. Make sure that certificates are created with all required Subject Alternative Names (SAN) for successful identity verification. It's recommended to add SAN:IP entries for identity verification of client certificates. Default: false (for Client connections), true (for Quorum connections)

    -
  • -
  • -

    ssl.crl and ssl.quorum.crl : (Java system properties: zookeeper.ssl.crl and zookeeper.ssl.quorum.crl) New in 3.5.5: Specifies whether Certificate Revocation List is enabled in client and quorum TLS protocols. Default: false

    -
  • -
  • -

    ssl.ocsp and ssl.quorum.ocsp : (Java system properties: zookeeper.ssl.ocsp and zookeeper.ssl.quorum.ocsp) New in 3.5.5: Specifies whether Online Certificate Status Protocol is enabled in client and quorum TLS protocols. Changed in next feature version: Currently, ssl.ocsp and ssl.quorum.ocsp implies ssl.crl and ssl.quorum.crl correspondingly. In next feature release, one has to setup both ssl.crl and ssl.ocsp (or ssl.quorum.crl and ssl.quorum.ocsp) to enable OCSP. This is consistent with jdk's method of Setting up a Java Client to use Client-Driven OCSP. Default: false

    -
  • -
  • -

    ssl.clientAuth and ssl.quorum.clientAuth : (Java system properties: zookeeper.ssl.clientAuth and zookeeper.ssl.quorum.clientAuth) Added in 3.5.5, but broken until 3.5.7: Specifies options to authenticate ssl connections from clients. Valid values are

    -
      -
    • "none": server will not request client authentication
    • -
    • "want": server will "request" client authentication
    • -
    • "need": server will "require" client authentication
    • -
    -

    Default: "need"

    -
  • -
  • -

    ssl.handshakeDetectionTimeoutMillis and ssl.quorum.handshakeDetectionTimeoutMillis : (Java system properties: zookeeper.ssl.handshakeDetectionTimeoutMillis and zookeeper.ssl.quorum.handshakeDetectionTimeoutMillis) New in 3.5.5: TBD

    -
  • -
  • -

    ssl.sslProvider : (Java system property: zookeeper.ssl.sslProvider) New in 3.9.0: Allows to select SSL provider in the client-server communication when TLS is enabled. Netty-tcnative native library has been added to ZooKeeper in version 3.9.0 which allows us to use native SSL libraries like OpenSSL on supported platforms. See the available options in Netty-tcnative documentation. Default value is "JDK".

    -
  • -
  • -

    sslQuorumReloadCertFiles : (No Java system property) New in 3.5.5, 3.6.0: Allows Quorum SSL keyStore and trustStore reloading when the certificates on the filesystem change without having to restart the ZK process. Default: false

    -
  • -
  • -

    client.certReload : (Java system property: zookeeper.client.certReload) New in 3.7.2, 3.8.1, 3.9.0: Allows client SSL keyStore and trustStore reloading when the certificates on the filesystem change without having to restart the ZK process. Default: false

    -
  • -
  • -

    client.portUnification: (Java system property: zookeeper.client.portUnification) Specifies that the client port should accept SSL connections (using the same configuration as the secure client port). Default: false

    -
  • -
  • -

    authProvider: (Java system property: zookeeper.authProvider) You can specify multiple authentication provider classes for ZooKeeper. Usually you use this parameter to specify the SASL authentication provider like: authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider

    -
  • -
  • -

    kerberos.removeHostFromPrincipal (Java system property: zookeeper.kerberos.removeHostFromPrincipal) You can instruct ZooKeeper to remove the host from the client principal name during authentication. (e.g. the zk/myhost@EXAMPLE.COM client principal will be authenticated in ZooKeeper as zk@EXAMPLE.COM) Default: false

    -
  • -
  • -

    kerberos.removeRealmFromPrincipal (Java system property: zookeeper.kerberos.removeRealmFromPrincipal) You can instruct ZooKeeper to remove the realm from the client principal name during authentication. (e.g. the zk/myhost@EXAMPLE.COM client principal will be authenticated in ZooKeeper as zk/myhost) Default: false

    -
  • -
  • -

    kerberos.canonicalizeHostNames (Java system property: zookeeper.kerberos.canonicalizeHostNames) New in 3.7.0: Instructs ZooKeeper to canonicalize server host names extracted from server.x lines. This allows using e.g. CNAME records to reference servers in configuration files, while still enabling SASL Kerberos authentication between quorum members. It is essentially the quorum equivalent of the zookeeper.sasl.client.canonicalize.hostname property for clients. The default value is false for backwards compatibility.

    -
  • -
  • -

    multiAddress.enabled : (Java system property: zookeeper.multiAddress.enabled) New in 3.6.0: Since ZooKeeper 3.6.0 you can also specify multiple addresses for each ZooKeeper server instance (this can increase availability when multiple physical network interfaces can be used parallel in the cluster). Setting this parameter to true will enable this feature. Please note, that you can not enable this feature during a rolling upgrade if the version of the old ZooKeeper cluster is prior to 3.6.0. The default value is false.

    -
  • -
  • -

    multiAddress.reachabilityCheckTimeoutMs : (Java system property: zookeeper.multiAddress.reachabilityCheckTimeoutMs) New in 3.6.0: Since ZooKeeper 3.6.0 you can also specify multiple addresses for each ZooKeeper server instance (this can increase availability when multiple physical network interfaces can be used parallel in the cluster). ZooKeeper will perform ICMP ECHO requests or try to establish a TCP connection on port 7 (Echo) of the destination host in order to find the reachable addresses. This happens only if you provide multiple addresses in the configuration. In this property you can set the timeout in milliseconds for the reachability check. The check happens in parallel for the different addresses, so the timeout you set here is the maximum time will be taken by checking the reachability of all addresses. The default value is 1000.

    -

    This parameter has no effect, unless you enable the MultiAddress feature by setting multiAddress.enabled=true.

    -
  • -
  • -

    fips-mode : (Java system property: zookeeper.fips-mode) New in 3.8.2: Enable FIPS compatibility mode in ZooKeeper. If enabled, the following things will be changed in order to comply with FIPS requirements:

    -
      -
    • Custom trust manager (ZKTrustManager) that is used for hostname verification will be disabled. As a consequence, hostname verification is not available in the Quorum protocol, but still can be set in client-server communication.
    • -
    • DIGEST-MD5 Sasl auth mechanism will be disabled in Quorum and ZooKeeper Sasl clients. Only GSSAPI (Kerberos) can be used.
    • -
    -

    Default: true (3.9.0+), false (3.8.x)

    -
  • -
-

-

Experimental Options/Features

-

New features that are currently considered experimental.

-
    -
  • -

    Read Only Mode Server : (Java system property: readonlymode.enabled) New in 3.4.0: Setting this value to true enables Read Only Mode server support (disabled by default). ROM allows clients sessions which requested ROM support to connect to the server even when the server might be partitioned from the quorum. In this mode ROM clients can still read values from the ZK service, but will be unable to write values and see changes from other clients. See ZOOKEEPER-784 for more details.

    -
  • -
  • -

    zookeeper.follower.skipLearnerRequestToNextProcessor : (Java system property: zookeeper.follower.skipLearnerRequestToNextProcessor) When our cluster has observers which are connected with ObserverMaster, then turning on this flag might help you reduce some memory pressure on the Observer Master. If your cluster doesn't have any observers or they are not connected with ObserverMaster or your Observer's don't make much writes, then using this flag won't help you. Currently the change here is guarded behind the flag to help us get more confidence around the memory gains. In Long run, we might want to remove this flag and set its behavior as the default codepath.

    -
  • -
-

-

Unsafe Options

-

The following options can be useful, but be careful when you use them. The risk of each is explained along with the explanation of what the variable does.

-
    -
  • -

    forceSync : (Java system property: zookeeper.forceSync) Requires updates to be synced to media of the transaction log before finishing processing the update. If this option is set to no, ZooKeeper will not require updates to be synced to the media.

    -
  • -
  • -

    jute.maxbuffer : (Java system property:jute.maxbuffer).

    -
      -
    • This option can only be set as a Java system property. There is no zookeeper prefix on it. It specifies the maximum size of the data that can be stored in a znode. The unit is: byte. The default is 0xfffff(1048575) bytes, or just under 1M.
    • -
    • If this option is changed, the system property must be set on all servers and clients otherwise problems will arise.
    • -
    • When jute.maxbuffer in the client side is greater than the server side, the client wants to write the data exceeds jute.maxbuffer in the server side, the server side will get java.io.IOException: Len error
    • -
    • When jute.maxbuffer in the client side is less than the server side, the client wants to read the data exceeds jute.maxbuffer in the client side, the client side will get java.io.IOException: Unreasonable length or Packet len is out of range!
    • -
    • This is really a sanity check. ZooKeeper is designed to store data on the order of kilobytes in size. In the production environment, increasing this property to exceed the default value is not recommended for the following reasons:
    • -
    • Large size znodes cause unwarranted latency spikes, worsen the throughput
    • -
    • Large size znodes make the synchronization time between leader and followers unpredictable and non-convergent(sometimes timeout), cause the quorum unstable
    • -
    -
  • -
  • -

    jute.maxbuffer.extrasize: (Java system property: zookeeper.jute.maxbuffer.extrasize) New in 3.5.7: While processing client requests ZooKeeper server adds some additional information into the requests before persisting it as a transaction. Earlier this additional information size was fixed to 1024 bytes. For many scenarios, specially scenarios where jute.maxbuffer value is more than 1 MB and request type is multi, this fixed size was insufficient. To handle all the scenarios additional information size is increased from 1024 byte to same as jute.maxbuffer size and also it is made configurable through jute.maxbuffer.extrasize. Generally this property is not required to be configured as default value is the most optimal value.

    -
  • -
  • -

    skipACL : (Java system property: zookeeper.skipACL) Skips ACL checks. This results in a boost in throughput, but opens up full access to the data tree to everyone.

    -
  • -
  • -

    quorumListenOnAllIPs : When set to true the ZooKeeper server will listen for connections from its peers on all available IP addresses, and not only the address configured in the server list of the configuration file. It affects the connections handling the ZAB protocol and the Fast Leader Election protocol. Default value is false.

    -
  • -
  • -

    multiAddress.reachabilityCheckEnabled : (Java system property: zookeeper.multiAddress.reachabilityCheckEnabled) New in 3.6.0: Since ZooKeeper 3.6.0 you can also specify multiple addresses for each ZooKeeper server instance (this can increase availability when multiple physical network interfaces can be used parallel in the cluster). ZooKeeper will perform ICMP ECHO requests or try to establish a TCP connection on port 7 (Echo) of the destination host in order to find the reachable addresses. This happens only if you provide multiple addresses in the configuration. The reachable check can fail if you hit some ICMP rate-limitation, (e.g. on macOS) when you try to start a large (e.g. 11+) ensemble members cluster on a single machine for testing.

    -

    Default value is true. By setting this parameter to 'false' you can disable the reachability checks. Please note, disabling the reachability check will cause the cluster not to be able to reconfigure itself properly during network problems, so the disabling is advised only during testing.

    -

    This parameter has no effect, unless you enable the MultiAddress feature by setting multiAddress.enabled=true.

    -
  • -
-

-

Disabling data directory autocreation

-

New in 3.5: The default behavior of a ZooKeeper server is to automatically create the data directory (specified in the configuration file) when started if that directory does not already exist. This can be inconvenient and even dangerous in some cases. Take the case where a configuration change is made to a running server, wherein the dataDir parameter is accidentally changed. When the ZooKeeper server is restarted it will create this non-existent directory and begin serving - with an empty znode namespace. This scenario can result in an effective "split brain" situation (i.e. data in both the new invalid directory and the original valid data store). As such is would be good to have an option to turn off this autocreate behavior. In general for production environments this should be done, unfortunately however the default legacy behavior cannot be changed at this point and therefore this must be done on a case by case basis. This is left to users and to packagers of ZooKeeper distributions.

-

When running zkServer.sh autocreate can be disabled by setting the environment variable ZOO_DATADIR_AUTOCREATE_DISABLE to 1. When running ZooKeeper servers directly from class files this can be accomplished by setting zookeeper.datadir.autocreate=false on the java command line, i.e. -Dzookeeper.datadir.autocreate=false

-

When this feature is disabled, and the ZooKeeper server determines that the required directories do not exist it will generate an error and refuse to start.

-

A new script zkServer-initialize.sh is provided to support this new feature. If autocreate is disabled it is necessary for the user to first install ZooKeeper, then create the data directory (and potentially txnlog directory), and then start the server. Otherwise as mentioned in the previous paragraph the server will not start. Running zkServer-initialize.sh will create the required directories, and optionally set up the myid file (optional command line parameter). This script can be used even if the autocreate feature itself is not used, and will likely be of use to users as this (setup, including creation of the myid file) has been an issue for users in the past. Note that this script ensures the data directories exist only, it does not create a config file, but rather requires a config file to be available in order to execute.

-

-

Enabling db existence validation

-

New in 3.6.0: The default behavior of a ZooKeeper server on startup when no data tree is found is to set zxid to zero and join the quorum as a voting member. This can be dangerous if some event (e.g. a rogue 'rm -rf') has removed the data directory while the server was down since this server may help elect a leader that is missing transactions. Enabling db existence validation will change the behavior on startup when no data tree is found: the server joins the ensemble as a non-voting participant until it is able to sync with the leader and acquire an up-to-date version of the ensemble data. To indicate an empty data tree is expected (ensemble creation), the user should place a file 'initialize' in the same directory as 'myid'. This file will be detected and deleted by the server on startup.

-

Initialization validation can be enabled when running ZooKeeper servers directly from class files by setting zookeeper.db.autocreate=false on the java command line, i.e. -Dzookeeper.db.autocreate=false. Running zkServer-initialize.sh will create the required initialization file.

-

-

Performance Tuning Options

-

New in 3.5.0: Several subsystems have been reworked to improve read throughput. This includes multi-threading of the NIO communication subsystem and request processing pipeline (Commit Processor). NIO is the default client/server communication subsystem. Its threading model comprises 1 acceptor thread, 1-N selector threads and 0-M socket I/O worker threads. In the request processing pipeline the system can be configured to process multiple read request at once while maintaining the same consistency guarantee (same-session read-after-write). The Commit Processor threading model comprises 1 main thread and 0-N worker threads.

-

The default values are aimed at maximizing read throughput on a dedicated ZooKeeper machine. Both subsystems need to have sufficient amount of threads to achieve peak read throughput.

-
    -
  • -

    zookeeper.nio.numSelectorThreads : (Java system property only: zookeeper.nio.numSelectorThreads) New in 3.5.0: Number of NIO selector threads. At least 1 selector thread required. It is recommended to use more than one selector for large numbers of client connections. The default value is sqrt( number of cpu cores / 2 ).

    -
  • -
  • -

    zookeeper.nio.numWorkerThreads : (Java system property only: zookeeper.nio.numWorkerThreads) New in 3.5.0: Number of NIO worker threads. If configured with 0 worker threads, the selector threads do the socket I/O directly. The default value is 2 times the number of cpu cores.

    -
  • -
  • -

    zookeeper.commitProcessor.numWorkerThreads : (Java system property only: zookeeper.commitProcessor.numWorkerThreads) New in 3.5.0: Number of Commit Processor worker threads. If configured with 0 worker threads, the main thread will process the request directly. The default value is the number of cpu cores.

    -
  • -
  • -

    zookeeper.commitProcessor.maxReadBatchSize : (Java system property only: zookeeper.commitProcessor.maxReadBatchSize) Max number of reads to process from queuedRequests before switching to processing commits. If the value < 0 (default), we switch whenever we have a local write, and pending commits. A high read batch size will delay commit processing, causing stale data to be served. If reads are known to arrive in fixed size batches then matching that batch size with the value of this property can smooth queue performance. Since reads are handled in parallel, one recommendation is to set this property to match zookeeper.commitProcessor.numWorkerThread (default is the number of cpu cores) or lower.

    -
  • -
  • -

    zookeeper.commitProcessor.maxCommitBatchSize : (Java system property only: zookeeper.commitProcessor.maxCommitBatchSize) Max number of commits to process before processing reads. We will try to process as many remote/local commits as we can till we reach this count. A high commit batch size will delay reads while processing more commits. A low commit batch size will favor reads. It is recommended to only set this property when an ensemble is serving a workload with a high commit rate. If writes are known to arrive in a set number of batches then matching that batch size with the value of this property can smooth queue performance. A generic approach would be to set this value to equal the ensemble size so that with the processing of each batch the current server will probabilistically handle a write related to one of its direct clients. Default is "1". Negative and zero values are not supported.

    -
  • -
  • -

    znode.container.checkIntervalMs : (Java system property only) New in 3.6.0: The time interval in milliseconds for each check of candidate container and ttl nodes. Default is "60000".

    -
  • -
  • -

    znode.container.maxPerMinute : (Java system property only) New in 3.6.0: The maximum number of container and ttl nodes that can be deleted per minute. This prevents herding during container deletion. Default is "10000".

    -
  • -
  • -

    znode.container.maxNeverUsedIntervalMs : (Java system property only) New in 3.6.0: The maximum interval in milliseconds that a container that has never had any children is retained. Should be long enough for your client to create the container, do any needed work and then create children. Default is "0" which is used to indicate that containers that have never had any children are never deleted.

    -
  • -
-

-

Debug Observability Configurations

-

New in 3.6.0: The following options are introduced to make zookeeper easier to debug.

-
    -
  • -

    zookeeper.messageTracker.BufferSize : (Java system property only) Controls the maximum number of messages stored in MessageTracker. Value should be positive integers. The default value is 10. MessageTracker is introduced in 3.6.0 to record the last set of messages between a server (follower or observer) and a leader, when a server disconnects with leader. These set of messages will then be dumped to zookeeper's log file, and will help reconstruct the state of the servers at the time of the disconnection and will be useful for debugging purpose.

    -
  • -
  • -

    zookeeper.messageTracker.Enabled : (Java system property only) When set to "true", will enable MessageTracker to track and record messages. Default value is "false".

    -
  • -
-

-

AdminServer configuration

-

New in 3.9.0: The following options are used to configure the AdminServer.

-
    -
  • -

    admin.rateLimiterIntervalInMS : (Java system property: zookeeper.admin.rateLimiterIntervalInMS) The time interval for rate limiting admin command to protect the server. Defaults to 5 mins.

    -
  • -
  • -

    admin.snapshot.enabled : (Java system property: zookeeper.admin.snapshot.enabled) The flag for enabling the snapshot command. Defaults to true.

    -
  • -
  • -

    admin.restore.enabled : (Java system property: zookeeper.admin.restore.enabled) The flag for enabling the restore command. Defaults to true.

    -
  • -
  • -

    admin.needClientAuth : (Java system property: zookeeper.admin.needClientAuth) The flag to control whether client auth is needed. Using x509 auth requires true. Defaults to false.

    -
  • -
-

New in 3.7.1: The following options are used to configure the AdminServer.

-
    -
  • admin.forceHttps : (Java system property: zookeeper.admin.forceHttps) Force AdminServer to use SSL, thus allowing only HTTPS traffic. Defaults to disabled. Overwrites admin.portUnification settings.
  • -
-

New in 3.6.0: The following options are used to configure the AdminServer.

-
    -
  • admin.portUnification : (Java system property: zookeeper.admin.portUnification) Enable the admin port to accept both HTTP and HTTPS traffic. Defaults to disabled.
  • -
-

New in 3.5.0: The following options are used to configure the AdminServer.

-
    -
  • -

    admin.enableServer : (Java system property: zookeeper.admin.enableServer) Set to "false" to disable the AdminServer. By default the AdminServer is enabled.

    -
  • -
  • -

    admin.serverAddress : (Java system property: zookeeper.admin.serverAddress) The address the embedded Jetty server listens on. Defaults to 0.0.0.0.

    -
  • -
  • -

    admin.serverPort : (Java system property: zookeeper.admin.serverPort) The port the embedded Jetty server listens on. Defaults to 8080.

    -
  • -
  • -

    admin.idleTimeout : (Java system property: zookeeper.admin.idleTimeout) Set the maximum idle time in milliseconds that a connection can wait before sending or receiving data. Defaults to 30000 ms.

    -
  • -
  • -

    admin.commandURL : (Java system property: zookeeper.admin.commandURL) The URL for listing and issuing commands relative to the root URL. Defaults to "/commands".

    -
  • -
-

Metrics Providers

-

New in 3.6.0: The following options are used to configure metrics.

-

By default ZooKeeper server exposes useful metrics using the AdminServer. and Four Letter Words interface.

-

Since 3.6.0 you can configure a different Metrics Provider, that exports metrics to your favourite system.

-

Since 3.6.0 ZooKeeper binary package bundles an integration with Prometheus.io

-
    -
  • -

    metricsProvider.className : Set to "org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider" to enable Prometheus.io exporter.

    -
  • -
  • -

    metricsProvider.httpHost : New in 3.8.0: Prometheus.io exporter will start a Jetty server and listen this address, default is "0.0.0.0"

    -
  • -
  • -

    metricsProvider.httpPort : Prometheus.io exporter will start a Jetty server and bind to this port, it defaults to 7000. Prometheus end point will be http://hostname:httPort/metrics.

    -
  • -
  • -

    metricsProvider.exportJvmInfo : If this property is set to true Prometheus.io will export useful metrics about the JVM. The default is true.

    -
  • -
  • -

    metricsProvider.numWorkerThreads : New in 3.7.1: Number of worker threads for reporting Prometheus summary metrics. Default value is 1. If the number is less than 1, the main thread will be used.

    -
  • -
  • -

    metricsProvider.maxQueueSize : New in 3.7.1: The max queue size for Prometheus summary metrics reporting task. Default value is 1000000.

    -
  • -
  • -

    metricsProvider.workerShutdownTimeoutMs : New in 3.7.1: The timeout in ms for Prometheus worker threads shutdown. Default value is 1000ms.

    -
  • -
-

-

Communication using the Netty framework

-

Netty is an NIO based client/server communication framework, it simplifies (over NIO being used directly) many of the complexities of network level communication for java applications. Additionally the Netty framework has built in support for encryption (SSL) and authentication (certificates). These are optional features and can be turned on or off individually.

-

In versions 3.5+, a ZooKeeper server can use Netty instead of NIO (default option) by setting the environment variable zookeeper.serverCnxnFactory to org.apache.zookeeper.server.NettyServerCnxnFactory; for the client, set zookeeper.clientCnxnSocket to org.apache.zookeeper.ClientCnxnSocketNetty.

-

-

Quorum TLS

-

New in 3.5.5

-

Based on the Netty Framework ZooKeeper ensembles can be set up to use TLS encryption in their communication channels. This section describes how to set up encryption on the quorum communication.

-

Please note that Quorum TLS encapsulates securing both leader election and quorum communication protocols.

-
    -
  1. Create SSL keystore JKS to store local credentials
  2. -
-

One keystore should be created for each ZK instance.

-

In this example we generate a self-signed certificate and store it together with the private key in keystore.jks. This is suitable for testing purposes, but you probably need an official certificate to sign your keys in a production environment.

-

Please note that the alias (-alias) and the distinguished name (-dname) must match the hostname of the machine that is associated with, otherwise hostname verification won't work.

-
keytool -genkeypair -alias $(hostname -f) -keyalg RSA -keysize 2048 -dname "cn=$(hostname -f)" -keypass password -keystore keystore.jks -storepass password
-
-
    -
  1. Extract the signed public key (certificate) from keystore
  2. -
-

This step might only necessary for self-signed certificates.

-
keytool -exportcert -alias $(hostname -f) -keystore keystore.jks -file $(hostname -f).cer -rfc
-
-
    -
  1. Create SSL truststore JKS containing certificates of all ZooKeeper instances
  2. -
-

The same truststore (storing all accepted certs) should be shared on participants of the ensemble. You need to use different aliases to store multiple certificates in the same truststore. Name of the aliases doesn't matter.

-
keytool -importcert -alias [host1..3] -file [host1..3].cer -keystore truststore.jks -storepass password
-
-
    -
  1. You need to use NettyServerCnxnFactory as serverCnxnFactory, because SSL is not supported by NIO. Add the following configuration settings to your zoo.cfg config file:
  2. -
-
sslQuorum=true
-serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
-ssl.quorum.keyStore.location=/path/to/keystore.jks
-ssl.quorum.keyStore.password=password
-ssl.quorum.trustStore.location=/path/to/truststore.jks
-ssl.quorum.trustStore.password=password
-
-
    -
  1. Verify in the logs that your ensemble is running on TLS:
  2. -
-
INFO  [main:QuorumPeer@1789] - Using TLS encrypted quorum communication
-INFO  [main:QuorumPeer@1797] - Port unification disabled
-...
-INFO  [QuorumPeerListener:QuorumCnxManager$Listener@877] - Creating TLS-only quorum server socket
-
-

-

Upgrading existing non-TLS cluster with no downtime

-

New in 3.5.5

-

Here are the steps needed to upgrade an already running ZooKeeper ensemble to TLS without downtime by taking advantage of port unification functionality.

-
    -
  1. -

    Create the necessary keystores and truststores for all ZK participants as described in the previous section

    -
  2. -
  3. -

    Add the following config settings and restart the first node

    -
  4. -
-
sslQuorum=false
-portUnification=true
-serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
-ssl.quorum.keyStore.location=/path/to/keystore.jks
-ssl.quorum.keyStore.password=password
-ssl.quorum.trustStore.location=/path/to/truststore.jks
-ssl.quorum.trustStore.password=password
-
-

Note that TLS is not yet enabled, but we turn on port unification.

-
    -
  1. Repeat step #2 on the remaining nodes. Verify that you see the following entries in the logs:
  2. -
-
INFO  [main:QuorumPeer@1791] - Using insecure (non-TLS) quorum communication
-INFO  [main:QuorumPeer@1797] - Port unification enabled
-...
-INFO  [QuorumPeerListener:QuorumCnxManager$Listener@874] - Creating TLS-enabled quorum server socket
-
-

You should also double-check after each node restart that the quorum become healthy again.

-
    -
  1. Enable Quorum TLS on each node and do rolling restart:
  2. -
-
sslQuorum=true
-portUnification=true
-
-
    -
  1. Once you verified that your entire ensemble is running on TLS, you could disable port unification and do another rolling restart
  2. -
-
sslQuorum=true
-portUnification=false
-
-

-

ZooKeeper Commands

-

-

The Four Letter Words

-

ZooKeeper responds to a small set of commands. Each command is composed of four letters. You issue the commands to ZooKeeper via telnet or nc, at the client port.

-

Three of the more interesting commands: "stat" gives some general information about the server and connected clients, while "srvr" and "cons" give extended details on server and connections respectively.

-

New in 3.5.3: Four Letter Words need to be explicitly white listed before using. Please refer to 4lw.commands.whitelist described in cluster configuration section for details. Moving forward, Four Letter Words will be deprecated, please use AdminServer instead.

-
    -
  • -

    conf : New in 3.3.0: Print details about serving configuration.

    -
  • -
  • -

    cons : New in 3.3.0: List full connection/session details for all clients connected to this server. Includes information on numbers of packets received/sent, session id, operation latencies, last operation performed, etc...

    -
  • -
  • -

    crst : New in 3.3.0: Reset connection/session statistics for all connections.

    -
  • -
  • -

    dump : Lists the outstanding sessions and ephemeral nodes.

    -
  • -
  • -

    envi : Print details about serving environment

    -
  • -
  • -

    ruok : Tests if the server is running in a non-error state. When the whitelist enables ruok, the server will respond with imok if it is running, otherwise it will not respond at all. When ruok is disabled, the server responds with: "ruok is not executed because it is not in the whitelist." A response of "imok" does not necessarily indicate that the server has joined the quorum, just that the server process is active and bound to the specified client port. Use "stat" for details on state wrt quorum and client connection information.

    -
  • -
  • -

    srst : Reset server statistics.

    -
  • -
  • -

    srvr : New in 3.3.0: Lists full details for the server.

    -
  • -
  • -

    stat : Lists brief details for the server and connected clients.

    -
  • -
  • -

    wchs : New in 3.3.0: Lists brief information on watches for the server.

    -
  • -
  • -

    wchc : New in 3.3.0: Lists detailed information on watches for the server, by session. This outputs a list of sessions(connections) with associated watches (paths). Note, depending on the number of watches this operation may be expensive (ie impact server performance), use it carefully.

    -
  • -
  • -

    dirs : New in 3.5.1: Shows the total size of snapshot and log files in bytes

    -
  • -
  • -

    wchp : New in 3.3.0: Lists detailed information on watches for the server, by path. This outputs a list of paths (znodes) with associated sessions. Note, depending on the number of watches this operation may be expensive (ie impact server performance), use it carefully.

    -
  • -
  • -

    mntr : New in 3.4.0: Outputs a list of variables that could be used for monitoring the health of the cluster.

    -

    $ echo mntr | nc localhost 2185 zk_version 3.4.0 zk_avg_latency 0.7561 - be account to four decimal places zk_max_latency 0 zk_min_latency 0 zk_packets_received 70 zk_packets_sent 69 zk_outstanding_requests 0 zk_server_state leader zk_znode_count 4 zk_watch_count 0 zk_ephemerals_count 0 zk_approximate_data_size 27 zk_followers 4 - only exposed by the Leader zk_synced_followers 4 - only exposed by the Leader zk_pending_syncs 0 - only exposed by the Leader zk_open_file_descriptor_count 23 - only available on Unix platforms zk_max_file_descriptor_count 1024 - only available on Unix platforms

    -
  • -
-

The output is compatible with java properties format and the content may change over time (new keys added). Your scripts should expect changes. ATTENTION: Some of the keys are platform specific and some of the keys are only exported by the Leader. The output contains multiple lines with the following format:

-
key \t value
-
-
    -
  • -

    isro : New in 3.4.0: Tests if server is running in read-only mode. The server will respond with "ro" if in read-only mode or "rw" if not in read-only mode.

    -
  • -
  • -

    hash : New in 3.6.0: Return the latest history of the tree digest associated with zxid.

    -
  • -
  • -

    gtmk : Gets the current trace mask as a 64-bit signed long value in decimal format. See stmk for an explanation of the possible values.

    -
  • -
  • -

    stmk : Sets the current trace mask. The trace mask is 64 bits, where each bit enables or disables a specific category of trace logging on the server. Logback must be configured to enable TRACE level first in order to see trace logging messages. The bits of the trace mask correspond to the following trace logging categories.

    - - - - - - - - - - - - - - - - -
    Trace Mask Bit Values
    0b0000000000 Unused, reserved for future use.
    0b0000000010 Logs client requests, excluding ping requests.
    0b0000000100 Unused, reserved for future use.
    0b0000001000 Logs client ping requests.
    0b0000010000 Logs packets received from the quorum peer that is the current leader, excluding ping requests.
    0b0000100000 Logs addition, removal and validation of client sessions.
    0b0001000000 Logs delivery of watch events to client sessions.
    0b0010000000 Logs ping packets received from the quorum peer that is the current leader.
    0b0100000000 Unused, reserved for future use.
    0b1000000000 Unused, reserved for future use.
    -

    All remaining bits in the 64-bit value are unused and reserved for future use. Multiple trace logging categories are specified by calculating the bitwise OR of the documented values. The default trace mask is 0b0100110010. Thus, by default, trace logging includes client requests, packets received from the leader and sessions. To set a different trace mask, send a request containing the stmk four-letter word followed by the trace mask represented as a 64-bit signed long value. This example uses the Perl pack function to construct a trace mask that enables all trace logging categories described above and convert it to a 64-bit signed long value with big-endian byte order. The result is appended to stmk and sent to the server using netcat. The server responds with the new trace mask in decimal format.

    -

    $ perl -e "print 'stmk', pack('q>', 0b0011111010)" | nc localhost 2181 250

    -
  • -
-

Here's an example of the ruok command:

-
$ echo ruok | nc 127.0.0.1 5111
-    imok
-
-

-

The AdminServer

-

New in 3.5.0: The AdminServer is an embedded Jetty server that provides an HTTP interface to the four-letter word commands. By default, the server is started on port 8080, and commands are issued by going to the URL "/commands/[command name]", e.g., http://localhost:8080/commands/stat. The command response is returned as JSON. Unlike the original protocol, commands are not restricted to four-letter names, and commands can have multiple names; for instance, "stmk" can also be referred to as "set_trace_mask". To view a list of all available commands, point a browser to the URL /commands (e.g., http://localhost:8080/commands). See the AdminServer configuration options for how to change the port and URLs.

-

The AdminServer is enabled by default, but can be disabled by either:

-
    -
  • Setting the zookeeper.admin.enableServer system property to false.
  • -
  • Removing Jetty from the classpath. (This option is useful if you would like to override ZooKeeper's jetty dependency.)
  • -
-

Note that the TCP four-letter word interface is still available if the AdminServer is disabled.

-
Configuring AdminServer for SSL/TLS
-
    -
  • Generating the keystore.jks and truststore.jks which can be found in the Quorum TLS.
  • -
  • Add the following configuration settings to the zoo.cfg config file:
  • -
-
admin.portUnification=true
-ssl.quorum.keyStore.location=/path/to/keystore.jks
-ssl.quorum.keyStore.password=password
-ssl.quorum.trustStore.location=/path/to/truststore.jks
-ssl.quorum.trustStore.password=password
-
-
    -
  • Verify that the following entries in the logs can be seen:
  • -
-
2019-08-03 15:44:55,213 [myid:] - INFO  [main:JettyAdminServer@123] - Successfully loaded private key from /data/software/cert/keystore.jks
-2019-08-03 15:44:55,213 [myid:] - INFO  [main:JettyAdminServer@124] - Successfully loaded certificate authority from /data/software/cert/truststore.jks
-
-2019-08-03 15:44:55,403 [myid:] - INFO  [main:JettyAdminServer@170] - Started AdminServer on address 0.0.0.0, port 8080 and command URL /commands
-
-

Available commands include:

-
    -
  • -

    connection_stat_reset/crst: Reset all client connection statistics. No new fields returned.

    -
  • -
  • -

    configuration/conf/config : Print basic details about serving configuration, e.g. client port, absolute path to data directory.

    -
  • -
  • -

    connections/cons : Information on client connections to server. Note, depending on the number of client connections this operation may be expensive (i.e. impact server performance). Returns "connections", a list of connection info objects.

    -
  • -
  • -

    hash: Txn digests in the historical digest list. One is recorded every 128 transactions. Returns "digests", a list to transaction digest objects.

    -
  • -
  • -

    dirs : Information on logfile directory and snapshot directory size in bytes. Returns "datadir_size" and "logdir_size".

    -
  • -
  • -

    dump : Information on session expirations and ephemerals. Note, depending on the number of global sessions and ephemerals this operation may be expensive (i.e. impact server performance). Returns "expiry_time_to_session_ids" and "session_id_to_ephemeral_paths" as maps.

    -
  • -
  • -

    environment/env/envi : All defined environment variables. Returns each as its own field.

    -
  • -
  • -

    get_trace_mask/gtmk : The current trace mask. Read-only version of set_trace_mask. See the description of the four letter command stmk for more details. Returns "tracemask".

    -
  • -
  • -

    initial_configuration/icfg : Print the text of the configuration file used to start the peer. Returns "initial_configuration".

    -
  • -
  • -

    is_read_only/isro : A true/false if this server is in read-only mode. Returns "read_only".

    -
  • -
  • -

    last_snapshot/lsnp : Information of the last snapshot that zookeeper server has finished saving to disk. If called during the initial time period between the server starting up and the server finishing saving its first snapshot, the command returns the information of the snapshot read when starting up the server. Returns "zxid" and "timestamp", the latter using a time unit of seconds.

    -
  • -
  • -

    leader/lead : If the ensemble is configured in quorum mode then emits the current leader status of the peer and the current leader location. Returns "is_leader", "leader_id", and "leader_ip".

    -
  • -
  • -

    monitor/mntr : Emits a wide variety of useful info for monitoring. Includes performance stats, information about internal queues, and summaries of the data tree (among other things). Returns each as its own field.

    -
  • -
  • -

    observer_connection_stat_reset/orst : Reset all observer connection statistics. Companion command to observers. No new fields returned.

    -
  • -
  • -

    restore/rest : Restore database from snapshot input stream on the current server. Returns the following data in response payload: "last_zxid": String Note: this API is rate-limited (once every 5 mins by default) to protect the server from being over-loaded.

    -
  • -
  • -

    ruok : No-op command, check if the server is running. A response does not necessarily indicate that the server has joined the quorum, just that the admin server is active and bound to the specified port. No new fields returned.

    -
  • -
  • -

    set_trace_mask/stmk : Sets the trace mask (as such, it requires a parameter). Write version of get_trace_mask. See the description of the four letter command stmk for more details. Returns "tracemask".

    -
  • -
  • -

    server_stats/srvr : Server information. Returns multiple fields giving a brief overview of server state.

    -
  • -
  • -

    snapshot/snap : Takes a snapshot of the current server in the datadir and stream out data. Optional query parameter: "streaming": Boolean (defaults to true if the parameter is not present) Returns the following via Http headers: "last_zxid": String "snapshot_size": String Note: this API is rate-limited (once every 5 mins by default) to protect the server from being over-loaded.

    -
  • -
  • -

    stats/stat : Same as server_stats but also returns the "connections" field (see connections for details). Note, depending on the number of client connections this operation may be expensive (i.e. impact server performance).

    -
  • -
  • -

    stat_reset/srst : Resets server statistics. This is a subset of the information returned by server_stats and stats. No new fields returned.

    -
  • -
  • -

    observers/obsr : Information on observer connections to server. Always available on a Leader, available on a Follower if its acting as a learner master. Returns "synced_observers" (int) and "observers" (list of per-observer properties).

    -
  • -
  • -

    system_properties/sysp : All defined system properties. Returns each as its own field.

    -
  • -
  • -

    voting_view : Provides the current voting members in the ensemble. Returns "current_config" as a map.

    -
  • -
  • -

    watches/wchc : Watch information aggregated by session. Note, depending on the number of watches this operation may be expensive (i.e. impact server performance). Returns "session_id_to_watched_paths" as a map.

    -
  • -
  • -

    watches_by_path/wchp : Watch information aggregated by path. Note, depending on the number of watches this operation may be expensive (i.e. impact server performance). Returns "path_to_session_ids" as a map.

    -
  • -
  • -

    watch_summary/wchs : Summarized watch information. Returns "num_total_watches", "num_paths", and "num_connections".

    -
  • -
  • -

    zabstate : The current phase of Zab protocol that peer is running and whether it is a voting member. Peers can be in one of these phases: ELECTION, DISCOVERY, SYNCHRONIZATION, BROADCAST. Returns fields "voting" and "zabstate".

    -
  • -
-

-

Data File Management

-

ZooKeeper stores its data in a data directory and its transaction log in a transaction log directory. By default these two directories are the same. The server can (and should) be configured to store the transaction log files in a separate directory than the data files. Throughput increases and latency decreases when transaction logs reside on a dedicated log devices.

-

-

The Data Directory

-

This directory has two or three files in it:

-
    -
  • myid - contains a single integer in human readable ASCII text that represents the server id.
  • -
  • initialize - presence indicates lack of data tree is expected. Cleaned up once data tree is created.
  • -
  • snapshot. - holds the fuzzy snapshot of a data tree.
  • -
-

Each ZooKeeper server has a unique id. This id is used in two places: the myid file and the configuration file. The myid file identifies the server that corresponds to the given data directory. The configuration file lists the contact information for each server identified by its server id. When a ZooKeeper server instance starts, it reads its id from the myid file and then, using that id, reads from the configuration file, looking up the port on which it should listen.

-

The snapshot files stored in the data directory are fuzzy snapshots in the sense that during the time the ZooKeeper server is taking the snapshot, updates are occurring to the data tree. The suffix of the snapshot file names is the zxid, the ZooKeeper transaction id, of the last committed transaction at the start of the snapshot. Thus, the snapshot includes a subset of the updates to the data tree that occurred while the snapshot was in process. The snapshot, then, may not correspond to any data tree that actually existed, and for this reason we refer to it as a fuzzy snapshot. Still, ZooKeeper can recover using this snapshot because it takes advantage of the idempotent nature of its updates. By replaying the transaction log against fuzzy snapshots ZooKeeper gets the state of the system at the end of the log.

-

-

The Log Directory

-

The Log Directory contains the ZooKeeper transaction logs. Before any update takes place, ZooKeeper ensures that the transaction that represents the update is written to non-volatile storage. A new log file is started when the number of transactions written to the current log file reaches a (variable) threshold. The threshold is computed using the same parameter which influences the frequency of snapshotting (see snapCount and snapSizeLimitInKb above). The log file's suffix is the first zxid written to that log.

-

-

File Management

-

The format of snapshot and log files does not change between standalone ZooKeeper servers and different configurations of replicated ZooKeeper servers. Therefore, you can pull these files from a running replicated ZooKeeper server to a development machine with a stand-alone ZooKeeper server for troubleshooting.

-

Using older log and snapshot files, you can look at the previous state of ZooKeeper servers and even restore that state.

-

The ZooKeeper server creates snapshot and log files, but never deletes them. The retention policy of the data and log files is implemented outside of the ZooKeeper server. The server itself only needs the latest complete fuzzy snapshot, all log files following it, and the last log file preceding it. The latter requirement is necessary to include updates which happened after this snapshot was started but went into the existing log file at that time. This is possible because snapshotting and rolling over of logs proceed somewhat independently in ZooKeeper. See the maintenance section in this document for more details on setting a retention policy and maintenance of ZooKeeper storage.

-
Note
-
-

The data stored in these files is not encrypted. In the case of storing sensitive data in ZooKeeper, necessary measures need to be taken to prevent unauthorized access. Such measures are external to ZooKeeper (e.g., control access to the files) and depend on the individual settings in which it is being deployed.

-
-

-

Recovery - TxnLogToolkit

-

More details can be found in this

-

-

Things to Avoid

-

Here are some common problems you can avoid by configuring ZooKeeper correctly:

-
    -
  • -

    inconsistent lists of servers : The list of ZooKeeper servers used by the clients must match the list of ZooKeeper servers that each ZooKeeper server has. Things work okay if the client list is a subset of the real list, but things will really act strange if clients have a list of ZooKeeper servers that are in different ZooKeeper clusters. Also, the server lists in each Zookeeper server configuration file should be consistent with one another.

    -
  • -
  • -

    incorrect placement of transaction log : The most performance critical part of ZooKeeper is the transaction log. ZooKeeper syncs transactions to media before it returns a response. A dedicated transaction log device is key to consistent good performance. Putting the log on a busy device will adversely affect performance. If you only have one storage device, increase the snapCount so that snapshot files are generated less often; it does not eliminate the problem, but it makes more resources available for the transaction log.

    -
  • -
  • -

    incorrect Java heap size : You should take special care to set your Java max heap size correctly. In particular, you should not create a situation in which ZooKeeper swaps to disk. The disk is death to ZooKeeper. Everything is ordered, so if processing one request swaps the disk, all other queued requests will probably do the same. the disk. DON'T SWAP. Be conservative in your estimates: if you have 4G of RAM, do not set the Java max heap size to 6G or even 4G. For example, it is more likely you would use a 3G heap for a 4G machine, as the operating system and the cache also need memory. The best and only recommend practice for estimating the heap size your system needs is to run load tests, and then make sure you are well below the usage limit that would cause the system to swap.

    -
  • -
  • -

    Publicly accessible deployment : A ZooKeeper ensemble is expected to operate in a trusted computing environment. It is thus recommended deploying ZooKeeper behind a firewall.

    -
  • -
-

-

Best Practices

-

For best results, take note of the following list of good Zookeeper practices:

-

For multi-tenant installations see the section detailing ZooKeeper "chroot" support, this can be very useful when deploying many applications/services interfacing to a single ZooKeeper cluster.

-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperAuditLogs.html b/content/doc/r3.9.5/zookeeperAuditLogs.html deleted file mode 100644 index 189178b9f82..00000000000 --- a/content/doc/r3.9.5/zookeeperAuditLogs.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Audit Logging

- -

ZooKeeper Audit Logs

-

Apache ZooKeeper supports audit logs from version 3.6.0. By default audit logs are disabled. To enable audit logs configure audit.enable=true in conf/zoo.cfg. Audit logs are not logged on all the ZooKeeper servers, but logged only on the servers where client is connected as depicted in below figure.

-

Audit Logs

-

The audit log captures detailed information for the operations that are selected to be audited. The audit information is written as a set of key=value pairs for the following keys

- - - - - - - - - - - - - - -
Key Value
session client session id
user comma separated list of users who are associate with a client session. For more on this, see Who is taken as user in audit logs.
ip client IP address
operation any one of the selected operations for audit. Possible values are(serverStart, serverStop, create, delete, setData, setAcl, multiOperation, reconfig, ephemeralZNodeDeleteOnSessionClose)
znode path of the znode
znode type type of znode in case of creation operation
acl String representation of znode ACL like cdrwa(create, delete,read, write, admin). This is logged only for setAcl operation
result result of the operation. Possible values are (success/failure/invoked). Result "invoked" is used for serverStop operation because stop is logged before ensuring that server actually stopped.
-

Below are sample audit logs for all operations, where client is connected from 192.168.1.2, client principal is zkcli@HADOOP.COM, server principal is zookeeper/192.168.1.3@HADOOP.COM

-
user=zookeeper/192.168.1.3 operation=serverStart   result=success
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=create    znode=/a    znode_type=persistent  result=success
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=create    znode=/a    znode_type=persistent  result=failure
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=setData   znode=/a    result=failure
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=setData   znode=/a    result=success
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=setAcl    znode=/a    acl=world:anyone:cdrwa  result=failure
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=setAcl    znode=/a    acl=world:anyone:cdrwa  result=success
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=create    znode=/b    znode_type=persistent  result=success
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=setData   znode=/b    result=success
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=delete    znode=/b    result=success
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=multiOperation    result=failure
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=delete    znode=/a    result=failure
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=delete    znode=/a    result=success
-session=0x19344730001   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=create   znode=/ephemral znode_type=ephemral result=success
-session=0x19344730001   user=zookeeper/192.168.1.3   operation=ephemeralZNodeDeletionOnSessionCloseOrExpire  znode=/ephemral result=success
-session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=reconfig  znode=/zookeeper/config result=success
-user=zookeeper/192.168.1.3 operation=serverStop    result=invoked
-
-

-

ZooKeeper Audit Log Configuration

-

By default audit logs are disabled. To enable audit logs configure audit.enable=true in conf/zoo.cfg. Audit logging is done using logback. Following is the default logback configuration for audit logs in conf/logback.xml

-
<!--
-  zk audit logging
--->
-<!--property name="zookeeper.auditlog.file" value="zookeeper_audit.log" />
-<property name="zookeeper.auditlog.threshold" value="INFO" />
-<property name="audit.logger" value="INFO, RFAAUDIT" />
-
-<appender name="RFAAUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender">
-  <File>${zookeeper.log.dir}/${zookeeper.auditlog.file}</File>
-  <encoder>
-    <pattern>%d{ISO8601} %p %c{2}: %m%n</pattern>
-  </encoder>
-  <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-    <level>${zookeeper.auditlog.threshold}</level>
-  </filter>
-  <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-    <maxIndex>10</maxIndex>
-    <FileNamePattern>${zookeeper.log.dir}/${zookeeper.auditlog.file}.%i</FileNamePattern>
-  </rollingPolicy>
-  <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-    <MaxFileSize>10MB</MaxFileSize>
-  </triggeringPolicy>
-</appender>
-
-<logger name="org.apache.zookeeper.audit.Slf4jAuditLogger" additivity="false" level="${audit.logger}">
-  <appender-ref ref="RFAAUDIT" />
-</logger-->
-
-

Change above configuration to customize the auditlog file, number of backups, max file size, custom audit logger etc.

-

-

Who is taken as user in audit logs?

-

By default there are only four authentication provider:

-
    -
  • IPAuthenticationProvider
  • -
  • SASLAuthenticationProvider
  • -
  • X509AuthenticationProvider
  • -
  • DigestAuthenticationProvider
  • -
-

User is decided based on the configured authentication provider:

-
    -
  • When IPAuthenticationProvider is configured then authenticated IP is taken as user
  • -
  • When SASLAuthenticationProvider is configured then client principal is taken as user
  • -
  • When X509AuthenticationProvider is configured then client certificate is taken as user
  • -
  • When DigestAuthenticationProvider is configured then authenticated user is user
  • -
-

Custom authentication provider can override org.apache.zookeeper.server.auth.AuthenticationProvider.getUserName(String id) to provide user name. If authentication provider is not overriding this method then whatever is stored in org.apache.zookeeper.data.Id.id is taken as user. Generally only user name is stored in this field but it is up to the custom authentication provider what they store in it. For audit logging value of org.apache.zookeeper.data.Id.id would be taken as user.

-

In ZooKeeper Server not all the operations are done by clients but some operations are done by the server itself. For example when client closes the session, ephemeral znodes are deleted by the Server. These deletion are not done by clients directly but it is done the server itself these are called system operations. For these system operations the user associated with the ZooKeeper server are taken as user while audit logging these operations. For example if in ZooKeeper server principal is zookeeper/hadoop.hadoop.com@HADOOP.COM then this becomes the system user and all the system operations will be logged with this user name.

-
user=zookeeper/hadoop.hadoop.com@HADOOP.COM operation=serverStart result=success
-
-

If there is no user associate with ZooKeeper server then the user who started the ZooKeeper server is taken as the user. For example if server started by root then root is taken as the system user

-
user=root operation=serverStart result=success
-
-

Single client can attach multiple authentication schemes to a session, in this case all authenticated schemes will taken taken as user and will be presented as comma separated list. For example if a client is authenticate with principal zkcli@HADOOP.COM and ip 127.0.0.1 then create znode audit log will be as:

-
session=0x10c0bcb0000 user=zkcli@HADOOP.COM,127.0.0.1 ip=127.0.0.1 operation=create znode=/a result=success
-
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperCLI.html b/content/doc/r3.9.5/zookeeperCLI.html deleted file mode 100644 index 4f6e02d2905..00000000000 --- a/content/doc/r3.9.5/zookeeperCLI.html +++ /dev/null @@ -1,663 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper-cli: the ZooKeeper command line interface

-

Pre-requisites

-

Enter into the ZooKeeper-cli

-
# connect to the localhost with the default port:2181
-bin/zkCli.sh
-# connect to the remote host with timeout:3s
-bin/zkCli.sh -timeout 3000 -server remoteIP:2181
-# connect to the remote host with -waitforconnection option to wait for connection success before executing commands
-bin/zkCli.sh -waitforconnection -timeout 3000 -server remoteIP:2181
-# connect with a custom client configuration properties file
-bin/zkCli.sh -client-configuration /path/to/client.properties
-
-

help

-

Showing helps about ZooKeeper commands

-
[zkshell: 1] help
-# a sample one
-[zkshell: 2] h
-ZooKeeper -server host:port cmd args
-	addauth scheme auth
-	close
-	config [-c] [-w] [-s]
-	connect host:port
-	create [-s] [-e] [-c] [-t ttl] path [data] [acl]
-	delete [-v version] path
-	deleteall path
-	delquota [-n|-b|-N|-B] path
-	get [-s] [-w] path
-	getAcl [-s] path
-	getAllChildrenNumber path
-	getEphemerals path
-	history
-	listquota path
-	ls [-s] [-w] [-R] path
-	printwatches on|off
-	quit
-	reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*]
-	redo cmdno
-	removewatches path [-c|-d|-a] [-l]
-	set [-s] [-v version] path data
-	setAcl [-s] [-v version] [-R] path acl
-	setquota -n|-b|-N|-B val path
-	stat [-w] path
-	sync path
-	version
-
-

addauth

-

Add a authorized user for ACL

-
[zkshell: 9] getAcl /acl_digest_test
-    Insufficient permission : /acl_digest_test
-[zkshell: 10] addauth digest user1:12345
-[zkshell: 11] getAcl /acl_digest_test
-    'digest,'user1:+owfoSBn/am19roBPzR1/MfCblE=
-    : cdrwa
-# add a super user
-# Notice:set zookeeper.DigestAuthenticationProvider
-# e.g. zookeeper.DigestAuthenticationProvider.superDigest=zookeeper:qW/HnTfCSoQpB5G8LgkwT3IbiFc=
-[zkshell: 12] addauth digest zookeeper:admin
-
-

close

-

Close this client/session.

-
[zkshell: 0] close
-	2019-03-09 06:42:22,178 [myid:] - INFO  [main-EventThread:ClientCnxn$EventThread@528] - EventThread shut down for session: 0x10007ab7c550006
-	2019-03-09 06:42:22,179 [myid:] - INFO  [main:ZooKeeper@1346] - Session: 0x10007ab7c550006 closed
-
-

config

-

Showing the config of quorum membership

-
[zkshell: 17] config
-	server.1=[2001:db8:1:0:0:242:ac11:2]:2888:3888:participant
-	server.2=[2001:db8:1:0:0:242:ac11:2]:12888:13888:participant
-	server.3=[2001:db8:1:0:0:242:ac11:2]:22888:23888:participant
-	version=0
-
-

connect

-

Connect a ZooKeeper server.

-
[zkshell: 4] connect
-	2019-03-09 06:43:33,179 [myid:localhost:2181] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@986] - Socket connection established, initiating session, client: /127.0.0.1:35144, server: localhost/127.0.0.1:2181
-	2019-03-09 06:43:33,189 [myid:localhost:2181] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1421] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x10007ab7c550007, negotiated timeout = 30000
-	connect "localhost:2181,localhost:2182,localhost:2183"
-
-# connect a remote server
-[zkshell: 5] connect remoteIP:2181
-
-

create

-

Create a znode.

-
# create a persistent_node
-[zkshell: 7] create /persistent_node
-	Created /persistent_node
-
-# create a ephemeral node
-[zkshell: 8] create -e /ephemeral_node mydata
-	Created /ephemeral_node
-
-# create the persistent-sequential node
-[zkshell: 9] create -s /persistent_sequential_node mydata
-	Created /persistent_sequential_node0000000176
-
-# create the ephemeral-sequential_node
-[zkshell: 10] create -s -e /ephemeral_sequential_node mydata
-	Created /ephemeral_sequential_node0000000174
-
-# create a node with the schema
-[zkshell: 11] create /zk-node-create-schema mydata digest:user1:+owfoSBn/am19roBPzR1/MfCblE=:crwad
-	Created /zk-node-create-schema
-[zkshell: 12] addauth digest user1:12345
-[zkshell: 13] getAcl /zk-node-create-schema
-	'digest,'user1:+owfoSBn/am19roBPzR1/MfCblE=
-	: cdrwa
-
-# create the container node.When the last child of a container is deleted,the container becomes to be deleted
-[zkshell: 14] create -c /container_node mydata
-	Created /container_node
-[zkshell: 15] create -c /container_node/child_1 mydata
-	Created /container_node/child_1
-[zkshell: 16] create -c /container_node/child_2 mydata
-	Created /container_node/child_2
-[zkshell: 17] delete /container_node/child_1
-[zkshell: 18] delete /container_node/child_2
-[zkshell: 19] get /container_node
-	org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /container_node
-
-# create the ttl node.
-# set zookeeper.extendedTypesEnabled=true
-# Otherwise:KeeperErrorCode = Unimplemented for /ttl_node
-[zkshell: 20] create -t 3000 /ttl_node mydata
-	Created /ttl_node
-# after 3s later
-[zkshell: 21] get /ttl_node
-	org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /ttl_node
-
-

delete

-

Delete a node with a specific path

-
[zkshell: 2] delete /config/topics/test
-[zkshell: 3] ls /config/topics/test
-	Node does not exist: /config/topics/test
-
-

deleteall

-

Delete all nodes under a specific path

-
zkshell: 1] ls /config
-	[changes, clients, topics]
-[zkshell: 2] deleteall /config
-[zkshell: 3] ls /config
-	Node does not exist: /config
-
-

delquota

-

Delete the quota under a path

-
[zkshell: 1] delquota /quota_test
-[zkshell: 2] listquota /quota_test
-	absolute path is /zookeeper/quota/quota_test/zookeeper_limits
-	quota for /quota_test does not exist.
-[zkshell: 3] delquota -n /c1
-[zkshell: 4] delquota -N /c2
-[zkshell: 5] delquota -b /c3
-[zkshell: 6] delquota -B /c4
-
-
-

get

-

Get the data of the specific path

-
[zkshell: 10] get /latest_producer_id_block
-	{"version":1,"broker":0,"block_start":"0","block_end":"999"}
-
-# -s to show the stat
-[zkshell: 11] get -s /latest_producer_id_block
-	{"version":1,"broker":0,"block_start":"0","block_end":"999"}
-	cZxid = 0x90000009a
-	ctime = Sat Jul 28 08:14:09 UTC 2018
-	mZxid = 0x9000000a2
-	mtime = Sat Jul 28 08:14:12 UTC 2018
-	pZxid = 0x90000009a
-	cversion = 0
-	dataVersion = 1
-	aclVersion = 0
-	ephemeralOwner = 0x0
-	dataLength = 60
-	numChildren = 0
-
-# -w to set a watch on the data change, Notice: turn on the printwatches
-[zkshell: 12] get -w /latest_producer_id_block
-	{"version":1,"broker":0,"block_start":"0","block_end":"999"}
-[zkshell: 13] set /latest_producer_id_block mydata
-	WATCHER::
-	WatchedEvent state:SyncConnected type:NodeDataChanged path:/latest_producer_id_block
-
-

getAcl

-

Get the ACL permission of one path

-
[zkshell: 4] create /acl_test mydata ip:127.0.0.1:crwda
-	Created /acl_test
-[zkshell: 5] getAcl /acl_test
-	'ip,'127.0.0.1
-	: cdrwa
-	[zkshell: 6] getAcl /testwatch
-	'world,'anyone
-	: cdrwa
-
-

getAllChildrenNumber

-

Get all numbers of children nodes under a specific path

-
[zkshell: 1] getAllChildrenNumber /
-	73779
-[zkshell: 2] getAllChildrenNumber /ZooKeeper
-	2
-[zkshell: 3] getAllChildrenNumber /ZooKeeper/quota
-	0
-
-

getEphemerals

-

Get all the ephemeral nodes created by this session

-
[zkshell: 1] create -e /test-get-ephemerals "ephemeral node"
-	Created /test-get-ephemerals
-[zkshell: 2] getEphemerals
-	[/test-get-ephemerals]
-[zkshell: 3] getEphemerals /
-	[/test-get-ephemerals]
-[zkshell: 4] create -e /test-get-ephemerals-1 "ephemeral node"
-	Created /test-get-ephemerals-1
-[zkshell: 5] getEphemerals /test-get-ephemerals
-	test-get-ephemerals     test-get-ephemerals-1
-[zkshell: 6] getEphemerals /test-get-ephemerals
-	[/test-get-ephemerals-1, /test-get-ephemerals]
-[zkshell: 7] getEphemerals /test-get-ephemerals-1
-	[/test-get-ephemerals-1]
-
-

history

-

Showing the history about the recent 11 commands that you have executed

-
[zkshell: 7] history
-	0 - close
-	1 - close
-	2 - ls /
-	3 - ls /
-	4 - connect
-	5 - ls /
-	6 - ll
-	7 - history
-
-

listquota

-

Listing the quota of one path

-
[zkshell: 1] listquota /c1
-             absolute path is /zookeeper/quota/c1/zookeeper_limits
-             Output quota for /c1 count=-1,bytes=-1=;byteHardLimit=-1;countHardLimit=2
-             Output stat for /c1 count=4,bytes=0
-
-

ls

-

Listing the child nodes of one path

-
[zkshell: 36] ls /quota_test
-	[child_1, child_2, child_3]
-
-# -s to show the stat
-[zkshell: 37] ls -s /quota_test
-	[child_1, child_2, child_3]
-	cZxid = 0x110000002d
-	ctime = Thu Mar 07 11:19:07 UTC 2019
-	mZxid = 0x110000002d
-	mtime = Thu Mar 07 11:19:07 UTC 2019
-	pZxid = 0x1100000033
-	cversion = 3
-	dataVersion = 0
-	aclVersion = 0
-	ephemeralOwner = 0x0
-	dataLength = 0
-	numChildren = 3
-
-# -R to show the child nodes recursely
-[zkshell: 38] ls -R /quota_test
-	/quota_test
-	/quota_test/child_1
-	/quota_test/child_2
-	/quota_test/child_3
-
-# -w to set a watch on the child change,Notice: turn on the printwatches
-[zkshell: 39] ls -w /brokers
-	[ids, seqid, topics]
-[zkshell: 40] delete /brokers/ids
-	WATCHER::
-	WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/brokers
-
-

printwatches

-

A switch to turn on/off whether printing watches or not.

-
[zkshell: 0] printwatches
-	printwatches is on
-[zkshell: 1] printwatches off
-[zkshell: 2] printwatches
-	printwatches is off
-[zkshell: 3] printwatches on
-[zkshell: 4] printwatches
-	printwatches is on
-
-

quit

-

Quit the CLI windows.

-
[zkshell: 1] quit
-
-

reconfig

-

Change the membership of the ensemble during the runtime.

-

Before using this cli,read the details in the Dynamic Reconfiguration about the reconfig feature,especially the "Security" part.

-

Pre-requisites:

-
    -
  1. -

    set reconfigEnabled=true in the zoo.cfg

    -
  2. -
  3. -

    add a super user or skipAcl,otherwise will get “Insufficient permission”. e.g. addauth digest zookeeper:admin

    -
  4. -
-
# Change follower 2 to an observer and change its port from 2182 to 12182
-# Add observer 5 to the ensemble
-# Remove Observer 4 from the ensemble
-[zkshell: 1] reconfig --add 2=localhost:2781:2786:observer;12182 --add 5=localhost:2781:2786:observer;2185 -remove 4
-	Committed new configuration:
-	server.1=localhost:2780:2785:participant;0.0.0.0:2181
-	server.2=localhost:2781:2786:observer;0.0.0.0:12182
-	server.3=localhost:2782:2787:participant;0.0.0.0:2183
-	server.5=localhost:2784:2789:observer;0.0.0.0:2185
-	version=1c00000002
-
-# -members to appoint the membership
-[zkshell: 2] reconfig -members server.1=localhost:2780:2785:participant;0.0.0.0:2181,server.2=localhost:2781:2786:observer;0.0.0.0:12182,server.3=localhost:2782:2787:participant;0.0.0.0:12183
-	Committed new configuration:
-	server.1=localhost:2780:2785:participant;0.0.0.0:2181
-	server.2=localhost:2781:2786:observer;0.0.0.0:12182
-	server.3=localhost:2782:2787:participant;0.0.0.0:12183
-	version=f9fe0000000c
-
-# Change the current config to the one in the myNewConfig.txt
-# But only if current config version is 2100000010
-[zkshell: 3] reconfig -file /data/software/zookeeper/zookeeper-test/conf/myNewConfig.txt -v 2100000010
-	Committed new configuration:
-	server.1=localhost:2780:2785:participant;0.0.0.0:2181
-	server.2=localhost:2781:2786:observer;0.0.0.0:12182
-	server.3=localhost:2782:2787:participant;0.0.0.0:2183
-	server.5=localhost:2784:2789:observer;0.0.0.0:2185
-	version=220000000c
-
-

redo

-

Redo the cmd with the index from history.

-
[zkshell: 4] history
-	0 - ls /
-	1 - get /consumers
-	2 - get /hbase
-	3 - ls  /hbase
-	4 - history
-[zkshell: 5] redo 3
-	[backup-masters, draining, flush-table-proc, hbaseid, master-maintenance, meta-region-server, namespace, online-snapshot, replication, rs, running, splitWAL, switch, table, table-lock]
-
-

removewatches

-

Remove the watches under a node.

-
[zkshell: 1] get -w /brokers
-	null
-[zkshell: 2] removewatches /brokers
-	WATCHER::
-	WatchedEvent state:SyncConnected type:DataWatchRemoved path:/brokers
-
-
-

set

-

Set/update the data on a path.

-
[zkshell: 50] set /brokers myNewData
-
-# -s to show the stat of this node.
-[zkshell: 51] set -s /quota_test mydata_for_quota_test
-	cZxid = 0x110000002d
-	ctime = Thu Mar 07 11:19:07 UTC 2019
-	mZxid = 0x1100000038
-	mtime = Thu Mar 07 11:42:41 UTC 2019
-	pZxid = 0x1100000033
-	cversion = 3
-	dataVersion = 2
-	aclVersion = 0
-	ephemeralOwner = 0x0
-	dataLength = 21
-	numChildren = 3
-
-# -v to set the data with CAS,the version can be found from dataVersion using stat.
-[zkshell: 52] set -v 0 /brokers myNewData
-[zkshell: 53] set -v 0 /brokers myNewData
-	version No is not valid : /brokers
-
-

setAcl

-

Set the Acl permission for one node.

-
[zkshell: 28] addauth digest user1:12345
-[zkshell: 30] setAcl /acl_auth_test auth:user1:12345:crwad
-[zkshell: 31] getAcl /acl_auth_test
-	'digest,'user1:+owfoSBn/am19roBPzR1/MfCblE=
-	: cdrwa
-
-# -R to set Acl recursely
-[zkshell: 32] ls /acl_auth_test
-	[child_1, child_2]
-[zkshell: 33] getAcl /acl_auth_test/child_2
-	'world,'anyone
-	: cdrwa
-[zkshell: 34] setAcl -R /acl_auth_test auth:user1:12345:crwad
-[zkshell: 35] getAcl /acl_auth_test/child_2
-	'digest,'user1:+owfoSBn/am19roBPzR1/MfCblE=
-	: cdrwa
-
-# -v set Acl with the acl version which can be found from the aclVersion using the stat
-[zkshell: 36] stat /acl_auth_test
-	cZxid = 0xf9fc0000001c
-	ctime = Tue Mar 26 16:50:58 CST 2019
-	mZxid = 0xf9fc0000001c
-	mtime = Tue Mar 26 16:50:58 CST 2019
-	pZxid = 0xf9fc0000001f
-	cversion = 2
-	dataVersion = 0
-	aclVersion = 3
-	ephemeralOwner = 0x0
-	dataLength = 0
-	numChildren = 2
-[zkshell: 37] setAcl -v 3 /acl_auth_test auth:user1:12345:crwad
-
-

setquota

-

Set the quota in one path.

-
# -n to limit the number of child nodes(included itself)
-[zkshell: 18] setquota -n 2 /quota_test
-[zkshell: 19] create /quota_test/child_1
-	Created /quota_test/child_1
-[zkshell: 20] create /quota_test/child_2
-	Created /quota_test/child_2
-[zkshell: 21] create /quota_test/child_3
-	Created /quota_test/child_3
-# Notice:don't have a hard constraint,just log the warning info
-	2019-03-07 11:22:36,680 [myid:1] - WARN  [SyncThread:0:DataTree@374] - Quota exceeded: /quota_test count=3 limit=2
-	2019-03-07 11:22:41,861 [myid:1] - WARN  [SyncThread:0:DataTree@374] - Quota exceeded: /quota_test count=4 limit=2
-
-# -b to limit the bytes(data length) of one path
-[zkshell: 22] setquota -b 5 /brokers
-[zkshell: 23] set /brokers "I_love_zookeeper"
-# Notice:don't have a hard constraint,just log the warning info
-	WARN  [CommitProcWorkThread-7:DataTree@379] - Quota exceeded: /brokers bytes=4206 limit=5
-
-# -N count Hard quota
-[zkshell: 3] create /c1
-Created /c1
-[zkshell: 4] setquota -N 2 /c1
-[zkshell: 5] listquota /c1
-absolute path is /zookeeper/quota/c1/zookeeper_limits
-Output quota for /c1 count=-1,bytes=-1=;byteHardLimit=-1;countHardLimit=2
-Output stat for /c1 count=2,bytes=0
-[zkshell: 6] create /c1/ch-3
-Count Quota has exceeded : /c1/ch-3
-
-# -B byte Hard quota
-[zkshell: 3] create /c2
-[zkshell: 4] setquota -B 4 /c2
-[zkshell: 5] set /c2 "foo"
-[zkshell: 6] set /c2 "foo-bar"
-Bytes Quota has exceeded : /c2
-[zkshell: 7] get /c2
-foo
-
-

stat

-

Showing the stat/metadata of one node.

-
[zkshell: 1] stat /hbase
-	cZxid = 0x4000013d9
-	ctime = Wed Jun 27 20:13:07 CST 2018
-	mZxid = 0x4000013d9
-	mtime = Wed Jun 27 20:13:07 CST 2018
-	pZxid = 0x500000001
-	cversion = 17
-	dataVersion = 0
-	aclVersion = 0
-	ephemeralOwner = 0x0
-	dataLength = 0
-	numChildren = 15
-
-

sync

-

Sync the data of one node between leader and followers(Asynchronous sync)

-
[zkshell: 14] sync /
-[zkshell: 15] Sync is OK
-
-

version

-

Show the version of the ZooKeeper client/CLI

-
[zkshell: 1] version
-ZooKeeper CLI version: 3.6.0-SNAPSHOT-29f9b2c1c0e832081f94d59a6b88709c5f1bb3ca, built on 05/30/2019 09:26 GMT
-
-

whoami

-

Gives all authentication information added into the current session.

-
[zkshell: 1] whoami
-Auth scheme: User
-ip: 127.0.0.1
-[zkshell: 2] addauth digest user1:12345
-[zkshell: 3] whoami
-Auth scheme: User
-ip: 127.0.0.1
-digest: user1
-
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperHierarchicalQuorums.html b/content/doc/r3.9.5/zookeeperHierarchicalQuorums.html deleted file mode 100644 index 1c2448c73f9..00000000000 --- a/content/doc/r3.9.5/zookeeperHierarchicalQuorums.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

Introduction to hierarchical quorums

-

This document gives an example of how to use hierarchical quorums. The basic idea is very simple. First, we split servers into groups, and add a line for each group listing the servers that form this group. Next we have to assign a weight to each server.

-

The following example shows how to configure a system with three groups of three servers each, and we assign a weight of 1 to each server:

-
group.1=1:2:3
-group.2=4:5:6
-group.3=7:8:9
-
-weight.1=1
-weight.2=1
-weight.3=1
-weight.4=1
-weight.5=1
-weight.6=1
-weight.7=1
-weight.8=1
-weight.9=1
-
-

When running the system, we are able to form a quorum once we have a majority of votes from a majority of non-zero-weight groups. Groups that have zero weight are discarded and not considered when forming quorums. Looking at the example, we are able to form a quorum once we have votes from at least two servers from each of two different groups.

-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperInternals.html b/content/doc/r3.9.5/zookeeperInternals.html deleted file mode 100644 index 40c48d7c96b..00000000000 --- a/content/doc/r3.9.5/zookeeperInternals.html +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Internals

- -

-

Introduction

-

This document contains information on the inner workings of ZooKeeper. It discusses the following topics:

- -

-

Atomic Broadcast

-

At the heart of ZooKeeper is an atomic messaging system that keeps all of the servers in sync.

-

-

Guarantees, Properties, and Definitions

-

The specific guarantees provided by the messaging system used by ZooKeeper are the following:

-
    -
  • -

    Reliable delivery : If a message m, is delivered by one server, message m will be eventually delivered by all servers.

    -
  • -
  • -

    Total order : If a message a is delivered before message b by one server, message a will be delivered before b by all servers.

    -
  • -
  • -

    Causal order : If a message b is sent after a message a has been delivered by the sender of b, message a must be ordered before b. If a sender sends c after sending b, c must be ordered after b.

    -
  • -
-

The ZooKeeper messaging system also needs to be efficient, reliable, and easy to implement and maintain. We make heavy use of messaging, so we need the system to be able to handle thousands of requests per second. Although we can require at least k+1 correct servers to send new messages, we must be able to recover from correlated failures such as power outages. When we implemented the system we had little time and few engineering resources, so we needed a protocol that is accessible to engineers and is easy to implement. We found that our protocol satisfied all of these goals.

-

Our protocol assumes that we can construct point-to-point FIFO channels between the servers. While similar services usually assume message delivery that can lose or reorder messages, our assumption of FIFO channels is very practical given that we use TCP for communication. Specifically we rely on the following property of TCP:

-
    -
  • -

    Ordered delivery : Data is delivered in the same order it is sent and a message m is delivered only after all messages sent before m have been delivered. (The corollary to this is that if message m is lost all messages after m will be lost.)

    -
  • -
  • -

    No message after close : Once a FIFO channel is closed, no messages will be received from it.

    -
  • -
-

FLP proved that consensus cannot be achieved in asynchronous distributed systems if failures are possible. To ensure that we achieve consensus in the presence of failures we use timeouts. However, we rely on time for liveness not for correctness. So, if timeouts stop working (e.g., skewed clocks) the messaging system may hang, but it will not violate its guarantees.

-

When describing the ZooKeeper messaging protocol we will talk of packets, proposals, and messages:

-
    -
  • -

    Packet : a sequence of bytes sent through a FIFO channel.

    -
  • -
  • -

    Proposal : a unit of agreement. Proposals are agreed upon by exchanging packets with a quorum of ZooKeeper servers. Most proposals contain messages, however the NEW_LEADER proposal is an example of a proposal that does not contain to a message.

    -
  • -
  • -

    Message : a sequence of bytes to be atomically broadcast to all ZooKeeper servers. A message put into a proposal and agreed upon before it is delivered.

    -
  • -
-

As stated above, ZooKeeper guarantees a total order of messages, and it also guarantees a total order of proposals. ZooKeeper exposes the total ordering using a ZooKeeper transaction id (zxid). All proposals will be stamped with a zxid when it is proposed and exactly reflects the total ordering. Proposals are sent to all ZooKeeper servers and committed when a quorum of them acknowledge the proposal. If a proposal contains a message, the message will be delivered when the proposal is committed. Acknowledgement means the server has recorded the proposal to persistent storage. Our quorums have the requirement that any pair of quorum must have at least one server in common. We ensure this by requiring that all quorums have size (n/2+1) where n is the number of servers that make up a ZooKeeper service.

-

The zxid has two parts: the epoch and a counter. In our implementation the zxid is a 64-bit number. We use the high order 32-bits for the epoch and the low order 32-bits for the counter. Because zxid consists of two parts, zxid can be represented both as a number and as a pair of integers, (epoch, count). The epoch number represents a change in leadership. Each time a new leader comes into power it will have its own epoch number. We have a simple algorithm to assign a unique zxid to a proposal: the leader simply increments the zxid to obtain a unique zxid for each proposal. Leadership activation will ensure that only one leader uses a given epoch, so our simple algorithm guarantees that every proposal will have a unique id.

-

ZooKeeper messaging consists of two phases:

-
    -
  • -

    Leader activation : In this phase a leader establishes the correct state of the system and gets ready to start making proposals.

    -
  • -
  • -

    Active messaging : In this phase a leader accepts messages to propose and coordinates message delivery.

    -
  • -
-

ZooKeeper is a holistic protocol. We do not focus on individual proposals, rather look at the stream of proposals as a whole. Our strict ordering allows us to do this efficiently and greatly simplifies our protocol. Leadership activation embodies this holistic concept. A leader becomes active only when a quorum of followers (The leader counts as a follower as well. You can always vote for yourself ) has synced up with the leader, they have the same state. This state consists of all of the proposals that the leader believes have been committed and the proposal to follow the leader, the NEW_LEADER proposal. (Hopefully you are thinking to yourself, Does the set of proposals that the leader believes has been committed include all the proposals that really have been committed? The answer is yes. Below, we make clear why.)

-

-

Leader Activation

-

Leader activation includes leader election (FastLeaderElection). ZooKeeper messaging doesn't care about the exact method of electing a leader as long as the following holds:

-
    -
  • The leader has seen the highest zxid of all the followers.
  • -
  • A quorum of servers have committed to following the leader.
  • -
-

Of these two requirements only the first, the highest zxid among the followers needs to hold for correct operation. The second requirement, a quorum of followers, just needs to hold with high probability. We are going to recheck the second requirement, so if a failure happens during or after the leader election and quorum is lost, we will recover by abandoning leader activation and running another election.

-

After leader election a single server will be designated as a leader and start waiting for followers to connect. The rest of the servers will try to connect to the leader. The leader will sync up with the followers by sending any proposals they are missing, or if a follower is missing too many proposals, it will send a full snapshot of the state to the follower.

-

There is a corner case in which a follower that has proposals, U, not seen by a leader arrives. Proposals are seen in order, so the proposals of U will have a zxids higher than zxids seen by the leader. The follower must have arrived after the leader election, otherwise the follower would have been elected leader given that it has seen a higher zxid. Since committed proposals must be seen by a quorum of servers, and a quorum of servers that elected the leader did not see U, the proposals of U have not been committed, so they can be discarded. When the follower connects to the leader, the leader will tell the follower to discard U.

-

A new leader establishes a zxid to start using for new proposals by getting the epoch, e, of the highest zxid it has seen and setting the next zxid to use to be (e+1, 0), after the leader syncs with a follower, it will propose a NEW_LEADER proposal. Once the NEW_LEADER proposal has been committed, the leader will activate and start receiving and issuing proposals.

-

It all sounds complicated but here are the basic rules of operation during leader activation:

-
    -
  • A follower will ACK the NEW_LEADER proposal after it has synced with the leader.
  • -
  • A follower will only ACK a NEW_LEADER proposal with a given zxid from a single server.
  • -
  • A new leader will COMMIT the NEW_LEADER proposal when a quorum of followers has ACKed it.
  • -
  • A follower will commit any state it received from the leader when the NEW_LEADER proposal is COMMIT.
  • -
  • A new leader will not accept new proposals until the NEW_LEADER proposal has been COMMITTED.
  • -
-

If leader election terminates erroneously, we don't have a problem since the NEW_LEADER proposal will not be committed since the leader will not have quorum. When this happens, the leader and any remaining followers will timeout and go back to leader election.

-

-

Active Messaging

-

Leader Activation does all the heavy lifting. Once the leader is coronated he can start blasting out proposals. As long as he remains the leader no other leader can emerge since no other leader will be able to get a quorum of followers. If a new leader does emerge, it means that the leader has lost quorum, and the new leader will clean up any mess left over during her leadership activation.

-

ZooKeeper messaging operates similar to a classic two-phase commit.

-

Two phase commit

-

All communication channels are FIFO, so everything is done in order. Specifically the following operating constraints are observed:

-
    -
  • The leader sends proposals to all followers using the same order. Moreover, this order follows the order in which requests have been received. Because we use FIFO channels this means that followers also receive proposals in order.
  • -
  • Followers process messages in the order they are received. This means that messages will be ACKed in order and the leader will receive ACKs from followers in order, due to the FIFO channels. It also means that if message m has been written to non-volatile storage, all messages that were proposed before m have been written to non-volatile storage.
  • -
  • The leader will issue a COMMIT to all followers as soon as a quorum of followers have ACKed a message. Since messages are ACKed in order, COMMITs will be sent by the leader as received by the followers in order.
  • -
  • COMMITs are processed in order. Followers deliver a proposal message when that proposal is committed.
  • -
-

-

Summary

-

So there you go. Why does it work? Specifically, why does a set of proposals believed by a new leader always contain any proposal that has actually been committed? First, all proposals have a unique zxid, so unlike other protocols, we never have to worry about two different values being proposed for the same zxid; followers (a leader is also a follower) see and record proposals in order; proposals are committed in order; there is only one active leader at a time since followers only follow a single leader at a time; a new leader has seen all committed proposals from the previous epoch since it has seen the highest zxid from a quorum of servers; any uncommitted proposals from a previous epoch seen by a new leader will be committed by that leader before it becomes active.

-

-

Comparisons

-

Isn't this just Multi-Paxos? No, Multi-Paxos requires some way of assuring that there is only a single coordinator. We do not count on such assurances. Instead we use the leader activation to recover from leadership change or old leaders believing they are still active.

-

Isn't this just Paxos? Your active messaging phase looks just like phase 2 of Paxos? Actually, to us active messaging looks just like 2 phase commit without the need to handle aborts. Active messaging is different from both in the sense that it has cross proposal ordering requirements. If we do not maintain strict FIFO ordering of all packets, it all falls apart. Also, our leader activation phase is different from both of them. In particular, our use of epochs allows us to skip blocks of uncommitted proposals and to not worry about duplicate proposals for a given zxid.

-

-

Consistency Guarantees

-

The consistency guarantees of ZooKeeper lie between sequential consistency and linearizability. In this section, we explain the exact consistency guarantees that ZooKeeper provides.

-

Write operations in ZooKeeper are linearizable. In other words, each write will appear to take effect atomically at some point between when the client issues the request and receives the corresponding response. This means that the writes performed by all the clients in ZooKeeper can be totally ordered in such a way that respects the real-time ordering of these writes. However, merely stating that write operations are linearizable is meaningless unless we also talk about read operations.

-

Read operations in ZooKeeper are not linearizable since they can return potentially stale data. This is because a read in ZooKeeper is not a quorum operation and a server will respond immediately to a client that is performing a read. ZooKeeper does this because it prioritizes performance over consistency for the read use case. However, reads in ZooKeeper are sequentially consistent, because read operations will appear to take effect in some sequential order that furthermore respects the order of each client's operations. A common pattern to work around this is to issue a sync before issuing a read. This too does not strictly guarantee up-to-date data because sync is not currently a quorum operation. To illustrate, consider a scenario where two servers simultaneously think they are the leader, something that could occur if the TCP connection timeout is smaller than syncLimit * tickTime. Note that this is unlikely to occur in practice, but should be kept in mind nevertheless when discussing strict theoretical guarantees. Under this scenario, it is possible that the sync is served by the “leader” with stale data, thereby allowing the following read to be stale as well. The stronger guarantee of linearizability is provided if an actual quorum operation (e.g., a write) is performed before a read.

-

Overall, the consistency guarantees of ZooKeeper are formally captured by the notion of ordered sequential consistency or OSC(U) to be exact, which lies between sequential consistency and linearizability.

-

-

Quorums

-

Atomic broadcast and leader election use the notion of quorum to guarantee a consistent view of the system. By default, ZooKeeper uses majority quorums, which means that every voting that happens in one of these protocols requires a majority to vote on. One example is acknowledging a leader proposal: the leader can only commit once it receives an acknowledgement from a quorum of servers.

-

If we extract the properties that we really need from our use of majorities, we have that we only need to guarantee that groups of processes used to validate an operation by voting (e.g., acknowledging a leader proposal) pairwise intersect in at least one server. Using majorities guarantees such a property. However, there are other ways of constructing quorums different from majorities. For example, we can assign weights to the votes of servers, and say that the votes of some servers are more important. To obtain a quorum, we get enough votes so that the sum of weights of all votes is larger than half of the total sum of all weights.

-

A different construction that uses weights and is useful in wide-area deployments (co-locations) is a hierarchical one. With this construction, we split the servers into disjoint groups and assign weights to processes. To form a quorum, we have to get a hold of enough servers from a majority of groups G, such that for each group g in G, the sum of votes from g is larger than half of the sum of weights in g. Interestingly, this construction enables smaller quorums. If we have, for example, 9 servers, we split them into 3 groups, and assign a weight of 1 to each server, then we are able to form quorums of size 4. Note that two subsets of processes composed each of a majority of servers from each of a majority of groups necessarily have a non-empty intersection. It is reasonable to expect that a majority of co-locations will have a majority of servers available with high probability.

-

With ZooKeeper, we provide a user with the ability of configuring servers to use majority quorums, weights, or a hierarchy of groups.

-

-

Logging

-

Zookeeper uses slf4j as an abstraction layer for logging. Logback is chosen the logging backend since ZooKeeper version 3.8.0. For better embedding support, it is planned in the future to leave the decision of choosing the final logging implementation to the end user. Therefore, always use the slf4j api to write log statements in the code, but configure logback for how to log at runtime. Note that slf4j has no FATAL level, former messages at FATAL level have been moved to ERROR level. For information on configuring logback for ZooKeeper, see the Logging section of the ZooKeeper Administrator's Guide.

-

-

Developer Guidelines

-

Please follow the slf4j manual when creating log statements within code. Also read the FAQ on performance, when creating log statements. Patch reviewers will look for the following:

-

-

Logging at the Right Level

-

There are several levels of logging in slf4j.

-

It's important to pick the right one. In order of higher to lower severity:

-
    -
  1. ERROR level designates error events that might still allow the application to continue running.
  2. -
  3. WARN level designates potentially harmful situations.
  4. -
  5. INFO level designates informational messages that highlight the progress of the application at coarse-grained level.
  6. -
  7. DEBUG Level designates fine-grained informational events that are most useful to debug an application.
  8. -
  9. TRACE Level designates finer-grained informational events than the DEBUG.
  10. -
-

ZooKeeper is typically run in production such that log messages of INFO level severity and higher (more severe) are output to the log.

-

-

Use of Standard slf4j Idioms

-

Static Message Logging

-
LOG.debug("process completed successfully!");
-
-

However when creating parameterized messages are required, use formatting anchors.

-
LOG.debug("got {} messages in {} minutes",new Object[]{count,time});
-
-

Naming

-

Loggers should be named after the class in which they are used.

-
public class Foo {
-    private static final Logger LOG = LoggerFactory.getLogger(Foo.class);
-    ....
-    public Foo() {
-        LOG.info("constructing Foo");
-
-

Exception handling

-
try {
-    // code
-} catch (XYZException e) {
-    // do this
-    LOG.error("Something bad happened", e);
-    // don't do this (generally)
-    // LOG.error(e);
-    // why? because "don't do" case hides the stack trace
-
-    // continue process here as you need... recover or (re)throw
-}
-
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperJMX.html b/content/doc/r3.9.5/zookeeperJMX.html deleted file mode 100644 index b47c3640362..00000000000 --- a/content/doc/r3.9.5/zookeeperJMX.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper JMX

- -

-

JMX

-

Apache ZooKeeper has extensive support for JMX, allowing you to view and manage a ZooKeeper serving ensemble.

-

This document assumes that you have basic knowledge of JMX. See Sun JMX Technology page to get started with JMX.

-

See the JMX Management Guide for details on setting up local and remote management of VM instances. By default the included zkServer.sh supports only local management - review the linked document to enable support for remote management (beyond the scope of this document).

-

-

Starting ZooKeeper with JMX enabled

-

The class org.apache.zookeeper.server.quorum.QuorumPeerMain will start a JMX manageable ZooKeeper server. This class registers the proper MBeans during initialization to support JMX monitoring and management of the instance. See bin/zkServer.sh for one example of starting ZooKeeper using QuorumPeerMain.

-

-

Run a JMX console

-

There are a number of JMX consoles available which can connect to the running server. For this example we will use Sun's jconsole.

-

The Java JDK ships with a simple JMX console named jconsole which can be used to connect to ZooKeeper and inspect a running server. Once you've started ZooKeeper using QuorumPeerMain start jconsole, which typically resides in JDK_HOME/bin/jconsole

-

When the "new connection" window is displayed either connect to local process (if jconsole started on the same host as Server) or use the remote process connection.

-

By default the "overview" tab for the VM is displayed (this is a great way to get insight into the VM btw). Select the "MBeans" tab.

-

You should now see org.apache.ZooKeeperService on the left hand side. Expand this item and depending on how you've started the server you will be able to monitor and manage various service related features.

-

Logback MBeans registration (new in 3.8.0)

-

Logback is the default logging backend of ZooKeeper since version 3.8.0. It can be configured to register JMX MBeans by adding <jmxConfigurator /> to logback.xml. More information can be found on Logback's website.

-

Log4j MBeans (deprecated)

-

Also note that ZooKeeper will register log4j MBeans as well if log4j1 is configured as the logging backend of SLF4j. In the same section along the left hand side you will see "log4j". Expand that to manage log4j through JMX. Of particular interest is the ability to dynamically change the logging levels used by editing the appender and root thresholds. Log4j MBean registration can be disabled by passing -Dzookeeper.jmx.log4j.disable=true to the JVM when starting ZooKeeper. In addition, we can specify the name of the MBean with the -Dzookeeper.jmx.log4j.mbean=log4j:hierarchy=default option, in case we need to upgrade an integrated system using the old MBean name (log4j:hierarchy = default).

-

-

ZooKeeper MBean Reference

-

This table details JMX for a server participating in a replicated ZooKeeper ensemble (ie not standalone). This is the typical case for a production environment.

-

MBeans, their names and description

- - - - - - - - - - - - - -
MBean MBean Object Name Description
Quorum ReplicatedServer_id<#> Represents the Quorum, or Ensemble - parent of all cluster members. Note that the object name includes the "myid" of the server (name suffix) that your JMX agent has connected to.
LocalPeer/RemotePeer replica.<#> Represents a local or remote peer (ie server participating in the ensemble). Note that the object name includes the "myid" of the server (name suffix).
LeaderElection LeaderElection Represents a ZooKeeper cluster leader election which is in progress. Provides information about the election, such as when it started.
Leader Leader Indicates that the parent replica is the leader and provides attributes/operations for that server. Note that Leader is a subclass of ZooKeeperServer, so it provides all of the information normally associated with a ZooKeeperServer node.
Follower Follower Indicates that the parent replica is a follower and provides attributes/operations for that server. Note that Follower is a subclass of ZooKeeperServer, so it provides all of the information normally associated with a ZooKeeperServer node.
DataTree InMemoryDataTree Statistics on the in memory znode database, also operations to access finer (and more computationally intensive) statistics on the data (such as ephemeral count). InMemoryDataTrees are children of ZooKeeperServer nodes.
ServerCnxn <session_id> Statistics on each client connection, also operations on those connections (such as termination). Note the object name is the session id of the connection in hex form.
-

This table details JMX for a standalone server. Typically standalone is only used in development situations.

-

MBeans, their names and description

- - - - - - - - - -
MBean MBean Object Name Description
ZooKeeperServer StandaloneServer_port<#> Statistics on the running server, also operations to reset these attributes. Note that the object name includes the client port of the server (name suffix).
DataTree InMemoryDataTree Statistics on the in memory znode database, also operations to access finer (and more computationally intensive) statistics on the data (such as ephemeral count).
ServerCnxn < session_id > Statistics on each client connection, also operations on those connections (such as termination). Note the object name is the session id of the connection in hex form.
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperMonitor.html b/content/doc/r3.9.5/zookeeperMonitor.html deleted file mode 100644 index 83e7d5e0d20..00000000000 --- a/content/doc/r3.9.5/zookeeperMonitor.html +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Monitor Guide

- -

-

New Metrics System

-

The feature:New Metrics System has been available since 3.6.0 which provides the abundant metrics to help users monitor the ZooKeeper on the topic: znode, network, disk, quorum, leader election, client, security, failures, watch/session, requestProcessor, and so forth.

-

-

Metrics

-

All the metrics are included in the ServerMetrics.java.

-

-

Prometheus

-
    -
  • Running a Prometheus monitoring service is the easiest way to ingest and record ZooKeeper's metrics.
  • -
  • Pre-requisites:
  • -
  • enable the Prometheus MetricsProvider by setting metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider in the zoo.cfg.
  • -
  • the Port is also configurable by setting metricsProvider.httpPort(the default value:7000)
  • -
  • Install Prometheus: Go to the official website download page, download the latest release.
  • -
  • -

    Set Prometheus's scraper to target the ZooKeeper cluster endpoints:

    -
    cat > /tmp/test-zk.yaml <<EOF
    -global:
    -  scrape_interval: 10s
    -scrape_configs:
    -  - job_name: test-zk
    -    static_configs:
    -    - targets: ['192.168.10.32:7000','192.168.10.33:7000','192.168.10.34:7000']
    -EOF
    -cat /tmp/test-zk.yaml
    -
    -
  • -
  • -

    Set up the Prometheus handler:

    -
    nohup /tmp/prometheus \
    -    --config.file /tmp/test-zk.yaml \
    -    --web.listen-address ":9090" \
    -    --storage.tsdb.path "/tmp/test-zk.data" >> /tmp/test-zk.log  2>&1 &
    -
    -
  • -
  • -

    Now Prometheus will scrape zk metrics every 10 seconds.

    -
  • -
-

-

Alerting with Prometheus

-
    -
  • -

    We recommend that you read Prometheus Official Alerting Page to explore some principles of alerting

    -
  • -
  • -

    We recommend that you use Prometheus Alertmanager which can help users to receive alerting email or instant message(by webhook) in a more convenient way

    -
  • -
  • -

    We provide an alerting example where these metrics should be taken a special attention. Note: this is for your reference only, and you need to adjust them according to your actual situation and resource environment

    -
    use ./promtool check rules rules/zk.yml to check the correctness of the config file
    -cat rules/zk.yml
    -
    -groups:
    -- name: zk-alert-example
    -  rules:
    -  - alert: ZooKeeper server is down
    -    expr:  up == 0
    -    for: 1m
    -    labels:
    -      severity: critical
    -    annotations:
    -      summary: "Instance {{ $labels.instance }} ZooKeeper server is down"
    -      description: "{{ $labels.instance }} of job {{$labels.job}} ZooKeeper server is down: [{{ $value }}]."
    -
    -  - alert: create too many znodes
    -    expr: znode_count > 1000000
    -    for: 1m
    -    labels:
    -      severity: warning
    -    annotations:
    -      summary: "Instance {{ $labels.instance }} create too many znodes"
    -      description: "{{ $labels.instance }} of job {{$labels.job}} create too many znodes: [{{ $value }}]."
    -
    -  - alert: create too many connections
    -    expr: num_alive_connections > 50 # suppose we use the default maxClientCnxns: 60
    -    for: 1m
    -    labels:
    -      severity: warning
    -    annotations:
    -      summary: "Instance {{ $labels.instance }} create too many connections"
    -      description: "{{ $labels.instance }} of job {{$labels.job}} create too many connections: [{{ $value }}]."
    -
    -  - alert: znode total occupied memory is too big
    -    expr: approximate_data_size /1024 /1024 > 1 * 1024 # more than 1024 MB(1 GB)
    -    for: 1m
    -    labels:
    -      severity: warning
    -    annotations:
    -      summary: "Instance {{ $labels.instance }} znode total occupied memory is too big"
    -      description: "{{ $labels.instance }} of job {{$labels.job}} znode total occupied memory is too big: [{{ $value }}] MB."
    -
    -  - alert: set too many watch
    -    expr: watch_count > 10000
    -    for: 1m
    -    labels:
    -      severity: warning
    -    annotations:
    -      summary: "Instance {{ $labels.instance }} set too many watch"
    -      description: "{{ $labels.instance }} of job {{$labels.job}} set too many watch: [{{ $value }}]."
    -
    -  - alert: a leader election happens
    -    expr: increase(election_time_count[5m]) > 0
    -    for: 1m
    -    labels:
    -      severity: warning
    -    annotations:
    -      summary: "Instance {{ $labels.instance }} a leader election happens"
    -      description: "{{ $labels.instance }} of job {{$labels.job}} a leader election happens: [{{ $value }}]."
    -
    -  - alert: open too many files
    -    expr: open_file_descriptor_count > 300
    -    for: 1m
    -    labels:
    -      severity: warning
    -    annotations:
    -      summary: "Instance {{ $labels.instance }} open too many files"
    -      description: "{{ $labels.instance }} of job {{$labels.job}} open too many files: [{{ $value }}]."
    -
    -  - alert: fsync time is too long
    -    expr: rate(fsynctime_sum[1m]) > 100
    -    for: 1m
    -    labels:
    -      severity: warning
    -    annotations:
    -      summary: "Instance {{ $labels.instance }} fsync time is too long"
    -      description: "{{ $labels.instance }} of job {{$labels.job}} fsync time is too long: [{{ $value }}]."
    -
    -  - alert: take snapshot time is too long
    -    expr: rate(snapshottime_sum[5m]) > 100
    -    for: 1m
    -    labels:
    -      severity: warning
    -    annotations:
    -      summary: "Instance {{ $labels.instance }} take snapshot time is too long"
    -      description: "{{ $labels.instance }} of job {{$labels.job}} take snapshot time is too long: [{{ $value }}]."
    -
    -  - alert: avg latency is too high
    -    expr: avg_latency > 100
    -    for: 1m
    -    labels:
    -      severity: warning
    -    annotations:
    -      summary: "Instance {{ $labels.instance }} avg latency is too high"
    -      description: "{{ $labels.instance }} of job {{$labels.job}} avg latency is too high: [{{ $value }}]."
    -
    -  - alert: JvmMemoryFillingUp
    -    expr: jvm_memory_bytes_used / jvm_memory_bytes_max{area="heap"} > 0.8
    -    for: 5m
    -    labels:
    -      severity: warning
    -    annotations:
    -      summary: "JVM memory filling up (instance {{ $labels.instance }})"
    -      description: "JVM memory is filling up (> 80%)\n labels: {{ $labels }}  value = {{ $value }}\n"
    -
    -
  • -
-

-

Grafana

-
    -
  • Grafana has built-in Prometheus support; just add a Prometheus data source: -
    Name:   test-zk
    -Type:   Prometheus
    -Url:    http://localhost:9090
    -Access: proxy
    -
    -
  • -
  • Then download and import the default ZooKeeper dashboard template and customize.
  • -
  • Users can ask for Grafana dashboard account if having any good improvements by writing a email to dev@zookeeper.apache.org.
  • -
-

-

InfluxDB

-

InfluxDB is an open source time series data that is often used to store metrics from Zookeeper. You can download the open source version or create a free account on InfluxDB Cloud. In either case, configure the Apache Zookeeper Telegraf plugin to start collecting and storing metrics from your Zookeeper clusters into your InfluxDB instance. There is also an Apache Zookeeper InfluxDB template that includes the Telegraf configurations and a dashboard to get you set up right away.

-

-

JMX

-

More details can be found in here

-

-

Four letter words

-

More details can be found in here

-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperObservers.html b/content/doc/r3.9.5/zookeeperObservers.html deleted file mode 100644 index 4225672dae3..00000000000 --- a/content/doc/r3.9.5/zookeeperObservers.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Observers

- -

-

Observers: Scaling ZooKeeper Without Hurting Write Performance

-

Although ZooKeeper performs very well by having clients connect directly to voting members of the ensemble, this architecture makes it hard to scale out to huge numbers of clients. The problem is that as we add more voting members, the write performance drops. This is due to the fact that a write operation requires the agreement of (in general) at least half the nodes in an ensemble and therefore the cost of a vote can increase significantly as more voters are added.

-

We have introduced a new type of ZooKeeper node called an Observer which helps address this problem and further improves ZooKeeper's scalability. Observers are non-voting members of an ensemble which only hear the results of votes, not the agreement protocol that leads up to them. Other than this simple distinction, Observers function exactly the same as Followers - clients may connect to them and send read and write requests to them. Observers forward these requests to the Leader like Followers do, but they then simply wait to hear the result of the vote. Because of this, we can increase the number of Observers as much as we like without harming the performance of votes.

-

Observers have other advantages. Because they do not vote, they are not a critical part of the ZooKeeper ensemble. Therefore they can fail, or be disconnected from the cluster, without harming the availability of the ZooKeeper service. The benefit to the user is that Observers may connect over less reliable network links than Followers. In fact, Observers may be used to talk to a ZooKeeper server from another data center. Clients of the Observer will see fast reads, as all reads are served locally, and writes result in minimal network traffic as the number of messages required in the absence of the vote protocol is smaller.

-

-

How to use Observers

-

Setting up a ZooKeeper ensemble that uses Observers is very simple, and requires just two changes to your config files. Firstly, in the config file of every node that is to be an Observer, you must place this line:

-
peerType=observer
-
-

This line tells ZooKeeper that the server is to be an Observer. Secondly, in every server config file, you must add :observer to the server definition line of each Observer. For example:

-
server.1:localhost:2181:3181:observer
-
-

This tells every other server that server.1 is an Observer, and that they should not expect it to vote. This is all the configuration you need to do to add an Observer to your ZooKeeper cluster. Now you can connect to it as though it were an ordinary Follower. Try it out, by running:

-
$ bin/zkCli.sh -server localhost:2181
-
-

where localhost:2181 is the hostname and port number of the Observer as specified in every config file. You should see a command line prompt through which you can issue commands like ls to query the ZooKeeper service.

-

-

How to use Observer Masters

-

Observers function simple as non-voting members of the ensemble, sharing the Learner interface with Followers and holding only a slightly different internal pipeline. Both maintain connections along the quorum port with the Leader by which they learn of all new proposals on the ensemble.

-

By default, Observers connect to the Leader of the quorum along its quorum port and this is how they learn of all new proposals on the ensemble. There are benefits to allowing Observers to connect to the Followers instead as a means of plugging into the commit stream in place of connecting to the Leader. It shifts the burden of supporting Observers off the Leader and allow it to focus on coordinating the commit of writes. This means better performance when the Leader is under high load, particularly high network load such as can happen after a leader election when many Learners need to sync. It reduces the total network connections maintained on the Leader when there are a high number of observers. Activating Followers to support Observers allow the overall number of Observers to scale into the hundreds. On the other end, Observer availability is improved since it will take shorter time for a high number of Observers to finish syncing and start serving client traffic.

-

This feature can be activated by letting all members of the ensemble know which port will be used by the Followers to listen for Observer connections. The following entry, when added to the server config file, will instruct Observers to connect to peers (Leaders and Followers) on port 2191 and instruct Followers to create an ObserverMaster thread to listen and serve on that port.

-
observerMasterPort=2191
-
-

-

Example use cases

-

Two example use cases for Observers are listed below. In fact, wherever you wish to scale the number of clients of your ZooKeeper ensemble, or where you wish to insulate the critical part of an ensemble from the load of dealing with client requests, Observers are a good architectural choice.

-
    -
  • As a datacenter bridge: Forming a ZK ensemble between two datacenters is a problematic endeavour as the high variance in latency between the datacenters could lead to false positive failure detection and partitioning. However if the ensemble runs entirely in one datacenter, and the second datacenter runs only Observers, partitions aren't problematic as the ensemble remains connected. Clients of the Observers may still see and issue proposals.
  • -
  • As a link to a message bus: Some companies have expressed an interest in using ZK as a component of a persistent reliable message bus. Observers would give a natural integration point for this work: a plug-in mechanism could be used to attach the stream of proposals an Observer sees to a publish-subscribe system, again without loading the core ensemble.
  • -
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperOracleQuorums.html b/content/doc/r3.9.5/zookeeperOracleQuorums.html deleted file mode 100644 index 505da2a5ef6..00000000000 --- a/content/doc/r3.9.5/zookeeperOracleQuorums.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

Introduction to Oracle Quorum

-

The introduction to Oracle Quorum increases the availability of a cluster of 2 ZooKeeper instances with a failure detector as known as the Oracle. The Oracle is designed to grant the permission to the instance which is the only remaining instance in a 2-instance configuration when the other instance is identified as faulty by the fail detector, the Oracle.

-

The implementation of the Oracle

-

Every instance shall access to a file which contains either 0 or 1 to indicate whether this instance is authorized by the Oracle. However, this design can be changed since the fail detector algorithms vary from each other. Therefore, ones can override the method of askOracle() in QuorumOracleMaj to adapt the preferred way of deciphering the message from the Oracle.

-

The deployment contexts

-

The Oracle is designed to increase the availability of a cluster of 2 ZooKeeper instances; thus, the size of the voting member is 2. In other words, the Oracle solves the consensus problem of a possibility of faulty instance in a two-instance ensemble.

-

In the case that the size of the voting members exceeds 2, the expected way to make the Oracle work correctly is to reconfigure the size of the cluster when a faulty machine is identified. For example, with a configuration of 5 instances, when a faulty machine breaks the connection with the Leader, it is expected to have a reconfig client request to the cluster, which makes the cluster to re-form as the configuration of 4 instances. Therefore, once the size of the voting member equals to 2, the configuration falls into the problem domain which the Oracle is designed to address.

-

How to deploy the Oracle in zoo.cfg

-

Regardless of the size of the cluster, the oraclePath must be configured at the time of the initialization, which is like other static parameters. The below shows the correct way to specify and enable the Oracle.

-
oraclePath=/to/some/file
-
-

An example of zoo.cfg:

-
dataDir=/data
-dataLogDir=/datalog
-tickTime=2000
-initLimit=5
-syncLimit=2
-autopurge.snapRetainCount=3
-autopurge.purgeInterval=0
-maxClientCnxns=60
-standaloneEnabled=true
-admin.enableServer=true
-oraclePath=/chassis/mastership
-server.1=0.0.0.0:2888:3888;2181
-server.2=hw1:2888:3888;2181
-
-

The QuorumOracleMaj is designed to read the result of a failure detector, which is written on a text file, the oracle file.
-The configuration in the zoo.cfg like the following:

-
oraclePath=/to/some/file
-
-

Suppose you have the result of the failure detector written on /some/path/result.txt, and then the correct configuration is the following:

-
oraclePath=/some/path/result.txt
-
-

So, what is the correct content of the provided file? An example file can be created with the following command from the terminal:

-
$echo 1 > /some/path/result.txt
-
-

Any equivalent files are suitable for the current implementation of QuorumOracleMaj. The number of oracle files should be equal to the number of ZooKeeper instances configured to enable the Oracle. In other words, each ZooKeeper instance should have its oracle file, and the files shall not be shared; otherwise, the issues in the next section will arise.

-

What differs after the deployment of the Oracle enabled

-

The QuorumPeerConfig will create an instance of QuorumOracleMaj instead of the default QuorumVerifier, QuorumMaj when it reads the zoo.cfg contains oraclePath. QuorumOracleMaj inheritances from QuorumMaj, and differs from its superclass by overriding the method of containsQuorum(). QuorumOracleMaj is designed to execute its version of containsQuorum when the Leader loses all of its followers, and fails to maintain the quorum. In other cases, QuorumOracleMaj shall execute as QuorumMaj.

-

What we should pay attention to the Oracle

-

We consider an asynchronous distributed system which consists of 2 ZooKeeper instances and an Oracle.

-

Liveness Issue:

-

When we consider the oracle satisfies the following property introduced by [CT]:

-
Strong Completeness: There is a time after which every process that crashes is permanently suspected by every correct processes
-
-

The liveness of the system is ensured by the Oracle. However, when the introduced oracle fails to maintain this property, the lost of the liveness is expected as the following example,

-

Suppose we have a Leader and a Follower, which are running in the broadcasting state, The system will lose its liveness when:

-
    -
  1. The Leader fails, but the Oracle does not detect the faulty Leader, which means the Oracle will not authorize the Follower to become a new Leader. -
      -
    1. When a Follower fails, but the Oracle does not detect the faulty follower, which means the Oracle will authorize the Leader to move system forward.
    2. -
    -
  2. -
-

Safety Issue:

-

Lost of Progress

-

The progress can lost when multiple failures occurs in the system at different time as the following example,

-

Suppose we have a Leader(Ben) and a Follower(John) in the broadcasting state,

-
At T1 with zxid(0x1_1): L-Ben fails, and the F-John takes over the system under the authorization from the Oracle.
-At T2 with zxid(0x2_1): The F-John becomes a new Leader, L-John, and starts a new epoch.
-At T3 with zxid(0x2_A): L-John fails
-At T4 with zxid(0x2_A): Ben recovers up and starts its leader election.
-At T5 with zxid(0x3_1): Ben becomes the new leader, L-Ben, under the authorization from the Oracle.
-
-

In this case, the system loses its progress after the L-Ben failed.

-

However, the lost of progress can be prevented by making the Oracle is capable of referring the latest zxid. When the Oracle could refer to the latest zxid,

-
At T5 with zxid(0x2_A): Ben will not end his leader election because the Oracle would not authorize although John is down.
-
-

Nevertheless, we exchange the liveness for the safety.

-

Split Brain Issue

-

We consider the Oracle satisfies the following desired property introduced by [CT],

-
Accuracy: There is a time after which some correct processes is never suspected by any processes
-
-

Nevertheless, the decisions which the Oracle gives out should be mutual exclusive.

-

In other words,

-

Suppose we have a Leader(Ben) and a Follower(John) in the broadcasting state,

-
    -
  • At any time, the Oracle will not authorize both Ben and John even though the failure detectors think each other is faulty. Or -
      -
    • At any time, for any two values in any two Oracle files respectively, the values are not both equal to 1.
    • -
    -
  • -
-

The split brain is expected when the Oracle fails to maintain this property during the leader election phase of

-
    -
  1. Start of the system -
      -
    1. A failed instance recovers from failures.
    2. -
    -
  2. -
-

Examples of Concepts for Implementation of a Failure Detector

-

One should consider that the failure detector's outcome is to authorize the querying ZooKeeper instance whether it has the right to move the system forward without waiting for the faulty instance, which is identified by the failure detector.

-

An Implementation of Hardware

-

Suppose two dedicated pieces of hardware, hw1 and hw2, can host ZooKeeper instances, zk1 and zk2, respectively, and form a cluster. A hardware device is attached to both of the hardware, and it is capable of determining whether the hardware is power on or not. So, when hw1 is not power on, the zk1 is undoubtedly faulty. Therefore, the hardware device updates the oracle file on hw2 to 1, which indicates that zk1 is faulty and authorizes zk2 to move the system forwards.

-

An Implementation of Software

-

Suppose two dedicated pieces of hardware, hw1 and hw2, can host ZooKeeper instances, zk1 and zk2, respectively, and form a cluster. One can have two more services, o1 and o2, on hw1 and hw2, respectively. The job of o1 and o2 are detecting the other hardware is alive or not. For example, o1 can constantly ping hw2 to determine if hw2 is power on or not. When o1 cannot ping hw2, o1 identifies that hw2 is faulty and then update the oracle file of zk1 to 1, which indicates that zk2 is faulty and authorizes zk1 to move the system forwards.

-

Use USB devices as Oracle to Maintain Progress

-

In macOS,10.15.7 (19H2), the external storage devices are mounted under /Volumes. Thus, we can insert a USB device which contains the required information as the oracle. When the device is connected, the oracle authorizes the leader to move system forward, which also means the other instance fails. There are SIX steps to reproduce this stimulation.

-
    -
  • Firstly, insert a USB device named Oracle, and then we can expect that /Volumes/Oracle is accessible.
  • -
  • Secondly, we create a file contains 1 under /Volumes/Oracle named mastership. Now we can access /Volumes/Oracle/mastership, and so does the zookeeper instances to see whether it has the right to move the system forward. The file can easily be generated by the following command: -

    $echo 1 > mastership

    -
  • -
  • -

    Thirdly, you shall have a zoo.cfg like the example below:

    -

    dataDir=/data dataLogDir=/datalog tickTime=2000 initLimit=5 syncLimit=2 autopurge.snapRetainCount=3 autopurge.purgeInterval=0 maxClientCnxns=60 standaloneEnabled=true admin.enableServer=true oraclePath=/Volumes/Oracle/mastership server.1=0.0.0.0:2888:3888;2181 server.2=hw1:2888:3888;2181

    -
  • -
-

(NOTE) The split brain issues will not occur because there is only a SINGLE USB device in this stimulation. Additionally, mastership should not be shared by multiple instances. Thus, only one ZooKeeper instance is configured with Oracle. For more, please refer to Section Safety Issue.

-
    -
  • Fourthly, start the cluster, and it is expected it forms a quorum normally.
  • -
  • Fifthly, terminate the instance either without attaching to a USB device or mastership contains 0. There are two scenarios to expect:
  • -
-
    -
  1. A leader failure occurs, and the remained instance finishes the leader election on its own due to the oracle.
  2. -
  3. The quorum is still maintained due to the oracle.
  4. -
-
    -
  • Lastly, when the USB device is removed, /Volumes/Oracle/mastership becomes unavailable. Therefore, according to the current implementation, whenever the Leader queries the oracle, the oracle throws an exception and return FALSE. Repeat the fifth step, and then it is expected that either the system cannot recover from a leader failure ,or the leader loses the quorum. In either case, the service is interrupted.
  • -
-

With these steps, we can show and practice how the oracle works with two-instance systems with ease.

-

REFERENCE

-

[CT] Tushar Deepak Chandra and Sam Toueg. 1991. Unreliable failure detectors for asynchronous systems (preliminary version). In Proceedings of the tenth annual ACM symposium on Principles of distributed computing (PODC '91). Association for Computing Machinery, New York, NY, USA, 325–340. DOI:https://doi.org/10.1145/112600.112627

-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperOver.html b/content/doc/r3.9.5/zookeeperOver.html deleted file mode 100644 index 7743e9fb116..00000000000 --- a/content/doc/r3.9.5/zookeeperOver.html +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper

- -

-

ZooKeeper: A Distributed Coordination Service for Distributed Applications

-

ZooKeeper is a distributed, open-source coordination service for distributed applications. It exposes a simple set of primitives that distributed applications can build upon to implement higher level services for synchronization, configuration maintenance, and groups and naming. It is designed to be easy to program to, and uses a data model styled after the familiar directory tree structure of file systems. It runs in Java and has bindings for both Java and C.

-

Coordination services are notoriously hard to get right. They are especially prone to errors such as race conditions and deadlock. The motivation behind ZooKeeper is to relieve distributed applications the responsibility of implementing coordination services from scratch.

-

-

Design Goals

-

ZooKeeper is simple. ZooKeeper allows distributed processes to coordinate with each other through a shared hierarchical namespace which is organized similarly to a standard file system. The namespace consists of data registers - called znodes, in ZooKeeper parlance - and these are similar to files and directories. Unlike a typical file system, which is designed for storage, ZooKeeper data is kept in-memory, which means ZooKeeper can achieve high throughput and low latency numbers.

-

The ZooKeeper implementation puts a premium on high performance, highly available, strictly ordered access. The performance aspects of ZooKeeper means it can be used in large, distributed systems. The reliability aspects keep it from being a single point of failure. The strict ordering means that sophisticated synchronization primitives can be implemented at the client.

-

ZooKeeper is replicated. Like the distributed processes it coordinates, ZooKeeper itself is intended to be replicated over a set of hosts called an ensemble.

-

ZooKeeper Service

-

The servers that make up the ZooKeeper service must all know about each other. They maintain an in-memory image of state, along with a transaction logs and snapshots in a persistent store. As long as a majority of the servers are available, the ZooKeeper service will be available.

-

Clients connect to a single ZooKeeper server. The client maintains a TCP connection through which it sends requests, gets responses, gets watch events, and sends heart beats. If the TCP connection to the server breaks, the client will connect to a different server.

-

ZooKeeper is ordered. ZooKeeper stamps each update with a number that reflects the order of all ZooKeeper transactions. Subsequent operations can use the order to implement higher-level abstractions, such as synchronization primitives.

-

ZooKeeper is fast. It is especially fast in "read-dominant" workloads. ZooKeeper applications run on thousands of machines, and it performs best where reads are more common than writes, at ratios of around 10:1.

-

-

Data model and the hierarchical namespace

-

The namespace provided by ZooKeeper is much like that of a standard file system. A name is a sequence of path elements separated by a slash (/). Every node in ZooKeeper's namespace is identified by a path.

-

ZooKeeper's Hierarchical Namespace

-

ZooKeeper's Hierarchical Namespace

-

-

Nodes and ephemeral nodes

-

Unlike standard file systems, each node in a ZooKeeper namespace can have data associated with it as well as children. It is like having a file-system that allows a file to also be a directory. (ZooKeeper was designed to store coordination data: status information, configuration, location information, etc., so the data stored at each node is usually small, in the byte to kilobyte range.) We use the term znode to make it clear that we are talking about ZooKeeper data nodes.

-

Znodes maintain a stat structure that includes version numbers for data changes, ACL changes, and timestamps, to allow cache validations and coordinated updates. Each time a znode's data changes, the version number increases. For instance, whenever a client retrieves data it also receives the version of the data.

-

The data stored at each znode in a namespace is read and written atomically. Reads get all the data bytes associated with a znode and a write replaces all the data. Each node has an Access Control List (ACL) that restricts who can do what.

-

ZooKeeper also has the notion of ephemeral nodes. These znodes exists as long as the session that created the znode is active. When the session ends the znode is deleted.

-

-

Conditional updates and watches

-

ZooKeeper supports the concept of watches. Clients can set a watch on a znode. A watch will be triggered and removed when the znode changes. When a watch is triggered, the client receives a packet saying that the znode has changed. If the connection between the client and one of the ZooKeeper servers is broken, the client will receive a local notification.

-

New in 3.6.0: Clients can also set permanent, recursive watches on a znode that are not removed when triggered and that trigger for changes on the registered znode as well as any children znodes recursively.

-

-

Guarantees

-

ZooKeeper is very fast and very simple. Since its goal, though, is to be a basis for the construction of more complicated services, such as synchronization, it provides a set of guarantees. These are:

-
    -
  • Sequential Consistency - Updates from a client will be applied in the order that they were sent.
  • -
  • Atomicity - Updates either succeed or fail. No partial results.
  • -
  • Single System Image - A client will see the same view of the service regardless of the server that it connects to. i.e., a client will never see an older view of the system even if the client fails over to a different server with the same session.
  • -
  • Reliability - Once an update has been applied, it will persist from that time forward until a client overwrites the update.
  • -
  • Timeliness - The clients view of the system is guaranteed to be up-to-date within a certain time bound.
  • -
-

-

Simple API

-

One of the design goals of ZooKeeper is providing a very simple programming interface. As a result, it supports only these operations:

-
    -
  • -

    create : creates a node at a location in the tree

    -
  • -
  • -

    delete : deletes a node

    -
  • -
  • -

    exists : tests if a node exists at a location

    -
  • -
  • -

    get data : reads the data from a node

    -
  • -
  • -

    set data : writes data to a node

    -
  • -
  • -

    get children : retrieves a list of children of a node

    -
  • -
  • -

    sync : waits for data to be propagated

    -
  • -
-

-

Implementation

-

ZooKeeper Components shows the high-level components of the ZooKeeper service. With the exception of the request processor, each of the servers that make up the ZooKeeper service replicates its own copy of each of the components.

-

-

ZooKeeper Components

-

The replicated database is an in-memory database containing the entire data tree. Updates are logged to disk for recoverability, and writes are serialized to disk before they are applied to the in-memory database.

-

Every ZooKeeper server services clients. Clients connect to exactly one server to submit requests. Read requests are serviced from the local replica of each server database. Requests that change the state of the service, write requests, are processed by an agreement protocol.

-

As part of the agreement protocol all write requests from clients are forwarded to a single server, called the leader. The rest of the ZooKeeper servers, called followers, receive message proposals from the leader and agree upon message delivery. The messaging layer takes care of replacing leaders on failures and syncing followers with leaders.

-

ZooKeeper uses a custom atomic messaging protocol. Since the messaging layer is atomic, ZooKeeper can guarantee that the local replicas never diverge. When the leader receives a write request, it calculates what the state of the system is when the write is to be applied and transforms this into a transaction that captures this new state.

-

-

Uses

-

The programming interface to ZooKeeper is deliberately simple. With it, however, you can implement higher order operations, such as synchronizations primitives, group membership, ownership, etc.

-

-

Performance

-

ZooKeeper is designed to be highly performance. But is it? The results of the ZooKeeper's development team at Yahoo! Research indicate that it is. (See ZooKeeper Throughput as the Read-Write Ratio Varies.) It is especially high performance in applications where reads outnumber writes, since writes involve synchronizing the state of all servers. (Reads outnumbering writes is typically the case for a coordination service.)

-

-

ZooKeeper Throughput as the Read-Write Ratio Varies

-

The ZooKeeper Throughput as the Read-Write Ratio Varies is a throughput graph of ZooKeeper release 3.2 running on servers with dual 2Ghz Xeon and two SATA 15K RPM drives. One drive was used as a dedicated ZooKeeper log device. The snapshots were written to the OS drive. Write requests were 1K writes and the reads were 1K reads. "Servers" indicate the size of the ZooKeeper ensemble, the number of servers that make up the service. Approximately 30 other servers were used to simulate the clients. The ZooKeeper ensemble was configured such that leaders do not allow connections from clients.

-
Note
-
-

In version 3.2 r/w performance improved by ~2x compared to the previous 3.1 release.

-
-

Benchmarks also indicate that it is reliable, too. Reliability in the Presence of Errors shows how a deployment responds to various failures. The events marked in the figure are the following:

-
    -
  1. Failure and recovery of a follower
  2. -
  3. Failure and recovery of a different follower
  4. -
  5. Failure of the leader
  6. -
  7. Failure and recovery of two followers
  8. -
  9. Failure of another leader
  10. -
-

-

Reliability

-

To show the behavior of the system over time as failures are injected we ran a ZooKeeper service made up of 7 machines. We ran the same saturation benchmark as before, but this time we kept the write percentage at a constant 30%, which is a conservative ratio of our expected workloads.

-

-

Reliability in the Presence of Errors

-

There are a few important observations from this graph. First, if followers fail and recover quickly, then ZooKeeper is able to sustain a high throughput despite the failure. But maybe more importantly, the leader election algorithm allows for the system to recover fast enough to prevent throughput from dropping substantially. In our observations, ZooKeeper takes less than 200ms to elect a new leader. Third, as followers recover, ZooKeeper is able to raise throughput again once they start processing requests.

-

-

The ZooKeeper Project

-

ZooKeeper has been successfully used in many industrial applications. It is used at Yahoo! as the coordination and failure recovery service for Yahoo! Message Broker, which is a highly scalable publish-subscribe system managing thousands of topics for replication and data delivery. It is used by the Fetching Service for Yahoo! crawler, where it also manages failure recovery. A number of Yahoo! advertising systems also use ZooKeeper to implement reliable services.

-

All users and developers are encouraged to join the community and contribute their expertise. See the Zookeeper Project on Apache for more information.

-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperProgrammers.html b/content/doc/r3.9.5/zookeeperProgrammers.html deleted file mode 100644 index f64a4644f50..00000000000 --- a/content/doc/r3.9.5/zookeeperProgrammers.html +++ /dev/null @@ -1,929 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Programmer's Guide

-

Developing Distributed Applications that use ZooKeeper

- -

-

Introduction

-

This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.

-

The first four sections of this guide present a higher level discussions of various ZooKeeper concepts. These are necessary both for an understanding of how ZooKeeper works as well how to work with it. It does not contain source code, but it does assume a familiarity with the problems associated with distributed computing. The sections in this first group are:

- -

The next four sections provide practical programming information. These are:

- -

The book concludes with an appendix containing links to other useful, ZooKeeper-related information.

-

Most of the information in this document is written to be accessible as stand-alone reference material. However, before starting your first ZooKeeper application, you should probably at least read the chapters on the ZooKeeper Data Model and ZooKeeper Basic Operations.

-

-

The ZooKeeper Data Model

-

ZooKeeper has a hierarchal namespace, much like a distributed file system. The only difference is that each node in the namespace can have data associated with it as well as children. It is like having a file system that allows a file to also be a directory. Paths to nodes are always expressed as canonical, absolute, slash-separated paths; there are no relative reference. Any unicode character can be used in a path subject to the following constraints:

-
    -
  • The null character (\u0000) cannot be part of a path name. (This causes problems with the C binding.)
  • -
  • The following characters can't be used because they don't display well, or render in confusing ways: \u0001 - \u001F and \u007F
  • -
  • \u009F.
  • -
  • The following characters are not allowed: \ud800 - uF8FF, \uFFF0 - uFFFF.
  • -
  • The "." character can be used as part of another name, but "." and ".." cannot alone be used to indicate a node along a path, because ZooKeeper doesn't use relative paths. The following would be invalid: "/a/b/./c" or "/a/b/../c".
  • -
  • The token "zookeeper" is reserved.
  • -
-

-

ZNodes

-

Every node in a ZooKeeper tree is referred to as a znode. Znodes maintain a stat structure that includes version numbers for data changes, acl changes. The stat structure also has timestamps. The version number, together with the timestamp, allows ZooKeeper to validate the cache and to coordinate updates. Each time a znode's data changes, the version number increases. For instance, whenever a client retrieves data, it also receives the version of the data. And when a client performs an update or a delete, it must supply the version of the data of the znode it is changing. If the version it supplies doesn't match the actual version of the data, the update will fail. (This behavior can be overridden.

-
Note
-
-

In distributed application engineering, the word node can refer to a generic host machine, a server, a member of an ensemble, a client process, etc. In the ZooKeeper documentation, znodes refer to the data nodes. Servers refers to machines that make up the ZooKeeper service; quorum peers refer to the servers that make up an ensemble; client refers to any host or process which uses a ZooKeeper service.

-
-

Znodes are the main entity that a programmer access. They have several characteristics that are worth mentioning here.

-

-

Watches

-

Clients can set watches on znodes. Changes to that znode trigger the watch and then clear the watch. When a watch triggers, ZooKeeper sends the client a notification. More information about watches can be found in the section ZooKeeper Watches.

-

-

Data Access

-

The data stored at each znode in a namespace is read and written atomically. Reads get all the data bytes associated with a znode and a write replaces all the data. Each node has an Access Control List (ACL) that restricts who can do what.

-

ZooKeeper was not designed to be a general database or large object store. Instead, it manages coordination data. This data can come in the form of configuration, status information, rendezvous, etc. A common property of the various forms of coordination data is that they are relatively small: measured in kilobytes. The ZooKeeper client and the server implementations have sanity checks to ensure that znodes have less than 1M of data, but the data should be much less than that on average. Operating on relatively large data sizes will cause some operations to take much more time than others and will affect the latencies of some operations because of the extra time needed to move more data over the network and onto storage media. If large data storage is needed, the usual pattern of dealing with such data is to store it on a bulk storage system, such as NFS or HDFS, and store pointers to the storage locations in ZooKeeper.

-

-

Ephemeral Nodes

-

ZooKeeper also has the notion of ephemeral nodes. These znodes exists as long as the session that created the znode is active. When the session ends the znode is deleted. Because of this behavior ephemeral znodes are not allowed to have children. The list of ephemerals for the session can be retrieved using getEphemerals() api.

-
getEphemerals()
-

Retrieves the list of ephemeral nodes created by the session for the given path. If the path is empty, it will list all the ephemeral nodes for the session. Use Case - A sample use case might be, if the list of ephemeral nodes for the session needs to be collected for duplicate data entry check and the nodes are created in a sequential manner so you do not know the name for duplicate check. In that case, getEphemerals() api could be used to get the list of nodes for the session. This might be a typical use case for service discovery.

-

-

Sequence Nodes -- Unique Naming

-

When creating a znode you can also request that ZooKeeper append a monotonically increasing counter to the end of path. This counter is unique to the parent znode. The counter has a format of %010d -- that is 10 digits with 0 (zero) padding (the counter is formatted in this way to simplify sorting), i.e. "0000000001". See Queue Recipe for an example use of this feature. Note: the counter used to store the next sequence number is a signed int (4bytes) maintained by the parent node, the counter will overflow when incremented beyond 2147483647 (resulting in a name "-2147483648").

-

-

Container Nodes

-

Added in 3.5.3

-

ZooKeeper has the notion of container znodes. Container znodes are special purpose znodes useful for recipes such as leader, lock, etc. When the last child of a container is deleted, the container becomes a candidate to be deleted by the server at some point in the future.

-

Given this property, you should be prepared to get KeeperException.NoNodeException when creating children inside of container znodes. i.e. when creating child znodes inside of container znodes always check for KeeperException.NoNodeException and recreate the container znode when it occurs.

-

-

TTL Nodes

-

Added in 3.5.3

-

When creating PERSISTENT or PERSISTENT_SEQUENTIAL znodes, you can optionally set a TTL in milliseconds for the znode. If the znode is not modified within the TTL and has no children it will become a candidate to be deleted by the server at some point in the future.

-

Note: TTL Nodes must be enabled via System property as they are disabled by default. See the Administrator's Guide for details. If you attempt to create TTL Nodes without the proper System property set the server will throw KeeperException.UnimplementedException.

-

-

Time in ZooKeeper

-

ZooKeeper tracks time multiple ways:

-
    -
  • Zxid Every change to the ZooKeeper state receives a stamp in the form of a zxid (ZooKeeper Transaction Id). This exposes the total ordering of all changes to ZooKeeper. Each change will have a unique zxid and if zxid1 is smaller than zxid2 then zxid1 happened before zxid2.
  • -
  • Version numbers Every change to a node will cause an increase to one of the version numbers of that node. The three version numbers are version (number of changes to the data of a znode), cversion (number of changes to the children of a znode), and aversion (number of changes to the ACL of a znode).
  • -
  • Ticks When using multi-server ZooKeeper, servers use ticks to define timing of events such as status uploads, session timeouts, connection timeouts between peers, etc. The tick time is only indirectly exposed through the minimum session timeout (2 times the tick time); if a client requests a session timeout less than the minimum session timeout, the server will tell the client that the session timeout is actually the minimum session timeout.
  • -
  • Real time ZooKeeper doesn't use real time, or clock time, at all except to put timestamps into the stat structure on znode creation and znode modification.
  • -
-

-

ZooKeeper Stat Structure

-

The Stat structure for each znode in ZooKeeper is made up of the following fields:

-
    -
  • czxid The zxid of the change that caused this znode to be created.
  • -
  • mzxid The zxid of the change that last modified this znode.
  • -
  • pzxid The zxid of the change that last modified children of this znode.
  • -
  • ctime The time in milliseconds from epoch when this znode was created.
  • -
  • mtime The time in milliseconds from epoch when this znode was last modified.
  • -
  • version The number of changes to the data of this znode.
  • -
  • cversion The number of changes to the children of this znode.
  • -
  • aversion The number of changes to the ACL of this znode.
  • -
  • ephemeralOwner The session id of the owner of this znode if the znode is an ephemeral node. If it is not an ephemeral node, it will be zero.
  • -
  • dataLength The length of the data field of this znode.
  • -
  • numChildren The number of children of this znode.
  • -
-

-

ZooKeeper Sessions

-

A ZooKeeper client establishes a session with the ZooKeeper service by creating a handle to the service using a language binding. Once created, the handle starts off in the CONNECTING state and the client library tries to connect to one of the servers that make up the ZooKeeper service at which point it switches to the CONNECTED state. During normal operation the client handle will be in one of these two states. If an unrecoverable error occurs, such as session expiration or authentication failure, or if the application explicitly closes the handle, the handle will move to the CLOSED state. The following figure shows the possible state transitions of a ZooKeeper client:

-

State transitions

-

To create a client session the application code must provide a connection string containing a comma separated list of host:port pairs, each corresponding to a ZooKeeper server (e.g. "127.0.0.1:4545" or "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"). The ZooKeeper client library will pick an arbitrary server and try to connect to it. If this connection fails, or if the client becomes disconnected from the server for any reason, the client will automatically try the next server in the list, until a connection is (re-)established.

-

Added in 3.2.0: An optional "chroot" suffix may also be appended to the connection string. This will run the client commands while interpreting all paths relative to this root (similar to the unix chroot command). If used the example would look like: "127.0.0.1:4545/app/a" or "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a" where the client would be rooted at "/app/a" and all paths would be relative to this root - ie getting/setting/etc... "/foo/bar" would result in operations being run on "/app/a/foo/bar" (from the server perspective). This feature is particularly useful in multi-tenant environments where each user of a particular ZooKeeper service could be rooted differently. This makes re-use much simpler as each user can code his/her application as if it were rooted at "/", while actual location (say /app/a) could be determined at deployment time.

-

When a client gets a handle to the ZooKeeper service, ZooKeeper creates a ZooKeeper session, represented as a 64-bit number, that it assigns to the client. If the client connects to a different ZooKeeper server, it will send the session id as a part of the connection handshake. As a security measure, the server creates a password for the session id that any ZooKeeper server can validate.The password is sent to the client with the session id when the client establishes the session. The client sends this password with the session id whenever it reestablishes the session with a new server.

-

One of the parameters to the ZooKeeper client library call to create a ZooKeeper session is the session timeout in milliseconds. The client sends a requested timeout, the server responds with the timeout that it can give the client. The current implementation requires that the timeout be a minimum of 2 times the tickTime (as set in the server configuration) and a maximum of 20 times the tickTime. The ZooKeeper client API allows access to the negotiated timeout.

-

When a client (session) becomes partitioned from the ZK serving cluster it will begin searching the list of servers that were specified during session creation. Eventually, when connectivity between the client and at least one of the servers is re-established, the session will either again transition to the "connected" state (if reconnected within the session timeout value) or it will transition to the "expired" state (if reconnected after the session timeout). It is not advisable to create a new session object (a new ZooKeeper.class or zookeeper handle in the c binding) for disconnection. The ZK client library will handle reconnect for you. In particular we have heuristics built into the client library to handle things like "herd effect", etc... Only create a new session when you are notified of session expiration (mandatory).

-

Session expiration is managed by the ZooKeeper cluster itself, not by the client. When the ZK client establishes a session with the cluster it provides a "timeout" value detailed above. This value is used by the cluster to determine when the client's session expires. Expirations happens when the cluster does not hear from the client within the specified session timeout period (i.e. no heartbeat). At session expiration the cluster will delete any/all ephemeral nodes owned by that session and immediately notify any/all connected clients of the change (anyone watching those znodes). At this point the client of the expired session is still disconnected from the cluster, it will not be notified of the session expiration until/unless it is able to re-establish a connection to the cluster. The client will stay in disconnected state until the TCP connection is re-established with the cluster, at which point the watcher of the expired session will receive the "session expired" notification.

-

Example state transitions for an expired session as seen by the expired session's watcher:

-
    -
  1. 'connected' : session is established and client is communicating with cluster (client/server communication is operating properly)
  2. -
  3. .... client is partitioned from the cluster
  4. -
  5. 'disconnected' : client has lost connectivity with the cluster
  6. -
  7. .... time elapses, after 'timeout' period the cluster expires the session, nothing is seen by client as it is disconnected from cluster
  8. -
  9. .... time elapses, the client regains network level connectivity with the cluster
  10. -
  11. 'expired' : eventually the client reconnects to the cluster, it is then notified of the expiration
  12. -
-

Another parameter to the ZooKeeper session establishment call is the default watcher. Watchers are notified when any state change occurs in the client. For example if the client loses connectivity to the server the client will be notified, or if the client's session expires, etc... This watcher should consider the initial state to be disconnected (i.e. before any state changes events are sent to the watcher by the client lib). In the case of a new connection, the first event sent to the watcher is typically the session connection event.

-

The session is kept alive by requests sent by the client. If the session is idle for a period of time that would timeout the session, the client will send a PING request to keep the session alive. This PING request not only allows the ZooKeeper server to know that the client is still active, but it also allows the client to verify that its connection to the ZooKeeper server is still active. The timing of the PING is conservative enough to ensure reasonable time to detect a dead connection and reconnect to a new server.

-

Once a connection to the server is successfully established (connected) there are basically two cases where the client lib generates connectionloss (the result code in c binding, exception in Java -- see the API documentation for binding specific details) when either a synchronous or asynchronous operation is performed and one of the following holds:

-
    -
  1. The application calls an operation on a session that is no longer alive/valid
  2. -
  3. The ZooKeeper client disconnects from a server when there are pending operations to that server, i.e., there is a pending asynchronous call.
  4. -
-

Added in 3.2.0 -- SessionMovedException. There is an internal exception that is generally not seen by clients called the SessionMovedException. This exception occurs because a request was received on a connection for a session which has been reestablished on a different server. The normal cause of this error is a client that sends a request to a server, but the network packet gets delayed, so the client times out and connects to a new server. When the delayed packet arrives at the first server, the old server detects that the session has moved, and closes the client connection. Clients normally do not see this error since they do not read from those old connections. (Old connections are usually closed.) One situation in which this condition can be seen is when two clients try to reestablish the same connection using a saved session id and password. One of the clients will reestablish the connection and the second client will be disconnected (causing the pair to attempt to re-establish its connection/session indefinitely).

-

Updating the list of servers. We allow a client to update the connection string by providing a new comma separated list of host:port pairs, each corresponding to a ZooKeeper server. The function invokes a probabilistic load-balancing algorithm which may cause the client to disconnect from its current host with the goal to achieve expected uniform number of connections per server in the new list. In case the current host to which the client is connected is not in the new list this call will always cause the connection to be dropped. Otherwise, the decision is based on whether the number of servers has increased or decreased and by how much.

-

For example, if the previous connection string contained 3 hosts and now the list contains these 3 hosts and 2 more hosts, 40% of clients connected to each of the 3 hosts will move to one of the new hosts in order to balance the load. The algorithm will cause the client to drop its connection to the current host to which it is connected with probability 0.4 and in this case cause the client to connect to one of the 2 new hosts, chosen at random.

-

Another example -- suppose we have 5 hosts and now update the list to remove 2 of the hosts, the clients connected to the 3 remaining hosts will stay connected, whereas all clients connected to the 2 removed hosts will need to move to one of the 3 hosts, chosen at random. If the connection is dropped, the client moves to a special mode where he chooses a new server to connect to using the probabilistic algorithm, and not just round robin.

-

In the first example, each client decides to disconnect with probability 0.4 but once the decision is made, it will try to connect to a random new server and only if it cannot connect to any of the new servers will it try to connect to the old ones. After finding a server, or trying all servers in the new list and failing to connect, the client moves back to the normal mode of operation where it picks an arbitrary server from the connectString and attempts to connect to it. If that fails, it will continue trying different random servers in round robin. (see above the algorithm used to initially choose a server)

-

Local session. Added in 3.5.0, mainly implemented by ZOOKEEPER-1147.

-
    -
  • Background: The creation and closing of sessions are costly in ZooKeeper because they need quorum confirmations, they become the bottleneck of a ZooKeeper ensemble when it needs to handle thousands of client connections. So after 3.5.0, we introduce a new type of session: local session which doesn't have a full functionality of a normal(global) session, this feature will be available by turning on localSessionsEnabled.
  • -
-

when localSessionsUpgradingEnabled is disable:

-
    -
  • -

    Local sessions cannot create ephemeral nodes

    -
  • -
  • -

    Once a local session is lost, users cannot re-establish it using the session-id/password, the session and its watches are gone for good. Note: Losing the tcp connection does not necessarily imply that the session is lost. If the connection can be reestablished with the same zk server before the session timeout then the client can continue (it simply cannot move to another server).

    -
  • -
  • -

    When a local session connects, the session info is only maintained on the zookeeper server that it is connected to. The leader is not aware of the creation of such a session and there is no state written to disk.

    -
  • -
  • -

    The pings, expiration and other session state maintenance are handled by the server which current session is connected to.

    -
  • -
-

when localSessionsUpgradingEnabled is enable:

-
    -
  • -

    A local session can be upgraded to the global session automatically.

    -
  • -
  • -

    When a new session is created it is saved locally in a wrapped LocalSessionTracker. It can subsequently be upgraded to a global session as required (e.g. create ephemeral nodes). If an upgrade is requested the session is removed from local collections while keeping the same session ID.

    -
  • -
  • -

    Currently, Only the operation: create ephemeral node needs a session upgrade from local to global. The reason is that the creation of ephemeral node depends heavily on a global session. If local session can create ephemeral node without upgrading to global session, it will cause the data inconsistency between different nodes. The leader also needs to know about the lifespan of a session in order to clean up ephemeral nodes on close/expiry. This requires a global session as the local session is tied to its particular server.

    -
  • -
  • -

    A session can be both a local and global session during upgrade, but the operation of upgrade cannot be called concurrently by two thread.

    -
  • -
  • -

    ZooKeeperServer(Standalone) uses SessionTrackerImpl; LeaderZookeeper uses LeaderSessionTracker which holds SessionTrackerImpl(global) and LocalSessionTracker(if enable); FollowerZooKeeperServer and ObserverZooKeeperServer use LearnerSessionTracker which holds LocalSessionTracker. The UML Graph of Classes about session:

    -
    +----------------+     +--------------------+       +---------------------+
    -|                | --> |                    | ----> | LocalSessionTracker |
    -| SessionTracker |     | SessionTrackerImpl |       +---------------------+
    -|                |     |                    |                              +-----------------------+
    -|                |     |                    |  +-------------------------> | LeaderSessionTracker  |
    -+----------------+     +--------------------+  |                           +-----------------------+
    -           |                                   |
    -           |                                   |
    -           |                                   |
    -           |           +---------------------------+
    -           +---------> |                           |
    -                       | UpgradeableSessionTracker |
    -                       |                           |
    -                       |                           | ------------------------+
    -                       +---------------------------+                         |
    -                                                                             |
    -                                                                             |
    -                                                                             v
    -                                                                           +-----------------------+
    -                                                                           | LearnerSessionTracker |
    -                                                                           +-----------------------+
    -
    -
  • -
  • -

    Q&A

    -
  • -
  • What's the reason for having the config option to disable local session upgrade? -
      -
    • In a large deployment which wants to handle a very large number of clients, we know that clients connecting via the observers which is supposed to be local session only. So this is more like a safeguard against someone accidentally creates lots of ephemeral nodes and global sessions.
    • -
    -
  • -
  • -

    When is the session created?

    -
      -
    • In the current implementation, it will try to create a local session when processing ConnectRequest and when createSession request reaches FinalRequestProcessor.
    • -
    -
  • -
  • -

    What happens if the create for session is sent at server A and the client disconnects to some other server B which ends up sending it again and then disconnects and connects back to server A?

    -
      -
    • When a client reconnects to B, its sessionId won’t exist in B’s local session tracker. So B will send validation packet. If CreateSession issued by A is committed before validation packet arrive the client will be able to connect. Otherwise, the client will get session expired because the quorum hasn’t know about this session yet. If the client also tries to connect back to A again, the session is already removed from local session tracker. So A will need to send a validation packet to the leader. The outcome should be the same as B depending on the timing of the request.
    • -
    -
  • -
-

-

ZooKeeper Watches

-

All of the read operations in ZooKeeper - getData(), getChildren(), and exists() - have the option of setting a watch as a side effect. Here is ZooKeeper's definition of a watch: a watch event is one-time trigger, sent to the client that set the watch, which occurs when the data for which the watch was set changes. There are three key points to consider in this definition of a watch:

-
    -
  • One-time trigger One watch event will be sent to the client when the data has changed. For example, if a client does a getData("/znode1", true) and later the data for /znode1 is changed or deleted, the client will get a watch event for /znode1. If /znode1 changes again, no watch event will be sent unless the client has done another read that sets a new watch.
  • -
  • Sent to the client This implies that an event is on the way to the client, but may not reach the client before the successful return code to the change operation reaches the client that initiated the change. Watches are sent asynchronously to watchers. ZooKeeper provides an ordering guarantee: a client will never see a change for which it has set a watch until it first sees the watch event. Network delays or other factors may cause different clients to see watches and return codes from updates at different times. The key point is that everything seen by the different clients will have a consistent order.
  • -
  • The data for which the watch was set This refers to the different ways a node can change. It helps to think of ZooKeeper as maintaining two lists of watches: data watches and child watches. getData() and exists() set data watches. getChildren() sets child watches. Alternatively, it may help to think of watches being set according to the kind of data returned. getData() and exists() return information about the data of the node, whereas getChildren() returns a list of children. Thus, setData() will trigger data watches for the znode being set (assuming the set is successful). A successful create() will trigger a data watch for the znode being created and a child watch for the parent znode. A successful delete() will trigger both a data watch and a child watch (since there can be no more children) for a znode being deleted as well as a child watch for the parent znode.
  • -
-

Watches are maintained locally at the ZooKeeper server to which the client is connected. This allows watches to be lightweight to set, maintain, and dispatch. When a client connects to a new server, the watch will be triggered for any session events. Watches will not be received while disconnected from a server. When a client reconnects, any previously registered watches will be reregistered and triggered if needed. In general this all occurs transparently. There is one case where a watch may be missed: a watch for the existence of a znode not yet created will be missed if the znode is created and deleted while disconnected.

-

New in 3.6.0: Clients can also set permanent, recursive watches on a znode that are not removed when triggered and that trigger for changes on the registered znode as well as any children znodes recursively.

-

-

Semantics of Watches

-

We can set watches with the three calls that read the state of ZooKeeper: exists, getData, and getChildren. The following list details the events that a watch can trigger and the calls that enable them:

-
    -
  • Created event: Enabled with a call to exists.
  • -
  • Deleted event: Enabled with a call to exists, getData, and getChildren.
  • -
  • Changed event: Enabled with a call to exists and getData.
  • -
  • Child event: Enabled with a call to getChildren.
  • -
-

-

Persistent, Recursive Watches

-

New in 3.6.0: There is now a variation on the standard watch described above whereby you can set a watch that does not get removed when triggered. Additionally, these watches trigger the event types NodeCreated, NodeDeleted, and NodeDataChanged and, optionally, recursively for all znodes starting at the znode that the watch is registered for. Note that NodeChildrenChanged events are not triggered for persistent recursive watches as it would be redundant.

-

Persistent watches are set using the method addWatch(). The triggering semantics and guarantees (other than one-time triggering) are the same as standard watches. The only exception regarding events is that recursive persistent watchers never trigger child changed events as they are redundant. Persistent watches are removed using removeWatches() with watcher type WatcherType.Any.

-

-

Remove Watches

-

We can remove the watches registered on a znode with a call to removeWatches. Also, a ZooKeeper client can remove watches locally even if there is no server connection by setting the local flag to true. The following list details the events which will be triggered after the successful watch removal.

-
    -
  • Child Remove event: Watcher which was added with a call to getChildren.
  • -
  • Data Remove event: Watcher which was added with a call to exists or getData.
  • -
  • Persistent Remove event: Watcher which was added with a call to add a persistent watch.
  • -
-

-

What ZooKeeper Guarantees about Watches

-

With regard to watches, ZooKeeper maintains these guarantees:

-
    -
  • -

    Watches are ordered with respect to other events, other watches, and asynchronous replies. The ZooKeeper client libraries ensures that everything is dispatched in order.

    -
  • -
  • -

    A client will see a watch event for a znode it is watching before seeing the new data that corresponds to that znode.

    -
  • -
  • -

    The order of watch events from ZooKeeper corresponds to the order of the updates as seen by the ZooKeeper service.

    -
  • -
-

-

Things to Remember about Watches

-
    -
  • -

    Standard watches are one time triggers; if you get a watch event and you want to get notified of future changes, you must set another watch.

    -
  • -
  • -

    Because standard watches are one time triggers and there is latency between getting the event and sending a new request to get a watch you cannot reliably see every change that happens to a node in ZooKeeper. Be prepared to handle the case where the znode changes multiple times between getting the event and setting the watch again. (You may not care, but at least realize it may happen.)

    -
  • -
  • -

    A watch object, or function/context pair, will only be triggered once for a given notification. For example, if the same watch object is registered for an exists and a getData call for the same file and that file is then deleted, the watch object would only be invoked once with the deletion notification for the file.

    -
  • -
  • -

    When you disconnect from a server (for example, when the server fails), you will not get any watches until the connection is reestablished. For this reason session events are sent to all outstanding watch handlers. Use session events to go into a safe mode: you will not be receiving events while disconnected, so your process should act conservatively in that mode.

    -
  • -
-

-

ZooKeeper access control using ACLs

-

ZooKeeper uses ACLs to control access to its znodes (the data nodes of a ZooKeeper data tree). The ACL implementation is quite similar to UNIX file access permissions: it employs permission bits to allow/disallow various operations against a node and the scope to which the bits apply. Unlike standard UNIX permissions, a ZooKeeper node is not limited by the three standard scopes for user (owner of the file), group, and world (other). ZooKeeper does not have a notion of an owner of a znode. Instead, an ACL specifies sets of ids and permissions that are associated with those ids.

-

Note also that an ACL pertains only to a specific znode. In particular it does not apply to children. For example, if /app is only readable by ip:172.16.16.1 and /app/status is world readable, anyone will be able to read /app/status; ACLs are not recursive.

-

ZooKeeper supports pluggable authentication schemes. Ids are specified using the form scheme:expression, where scheme is the authentication scheme that the id corresponds to. The set of valid expressions are defined by the scheme. For example, ip:172.16.16.1 is an id for a host with the address 172.16.16.1 using the ip scheme, whereas digest:bob:password is an id for the user with the name of bob using the digest scheme.

-

When a client connects to ZooKeeper and authenticates itself, ZooKeeper associates all the ids that correspond to a client with the clients connection. These ids are checked against the ACLs of znodes when a client tries to access a node. ACLs are made up of pairs of (scheme:expression, perms). The format of the expression is specific to the scheme. For example, the pair (ip:19.22.0.0/16, READ) gives the READ permission to any clients with an IP address that starts with 19.22.

-

-

ACL Permissions

-

ZooKeeper supports the following permissions:

-
    -
  • CREATE: you can create a child node
  • -
  • READ: you can get data from a node and list its children.
  • -
  • WRITE: you can set data for a node
  • -
  • DELETE: you can delete a child node
  • -
  • ADMIN: you can set permissions
  • -
-

The CREATE and DELETE permissions have been broken out of the WRITE permission for finer grained access controls. The cases for CREATE and DELETE are the following:

-

You want A to be able to do a set on a ZooKeeper node, but not be able to CREATE or DELETE children.

-

CREATE without DELETE: clients create requests by creating ZooKeeper nodes in a parent directory. You want all clients to be able to add, but only request processor can delete. (This is kind of like the APPEND permission for files.)

-

Also, the ADMIN permission is there since ZooKeeper doesn’t have a notion of file owner. In some sense the ADMIN permission designates the entity as the owner. ZooKeeper doesn’t support the LOOKUP permission (execute permission bit on directories to allow you to LOOKUP even though you can't list the directory). Everyone implicitly has LOOKUP permission. This allows you to stat a node, but nothing more. (The problem is, if you want to call zoo_exists() on a node that doesn't exist, there is no permission to check.)

-

ADMIN permission also has a special role in terms of ACLs: in order to retrieve ACLs of a znode user has to have READ or ADMIN permission, but without ADMIN permission, digest hash values will be masked out.

-

As of versions 3.9.2 / 3.8.4 / 3.7.3 the exists() call will now verify ACLs on nodes that exist and the client must have READ permission otherwise 'Insufficient permission' error will be raised.

-

-

Builtin ACL Schemes

-

ZooKeeper has the following built in schemes:

-
    -
  • world has a single id, anyone, that represents anyone.
  • -
  • auth is a special scheme which ignores any provided expression and instead uses the current user, credentials, and scheme. Any expression (whether user like with SASL authentication or user:password like with DIGEST authentication) provided is ignored by the ZooKeeper server when persisting the ACL. However, the expression must still be provided in the ACL because the ACL must match the form scheme:expression:perms. This scheme is provided as a convenience as it is a common use-case for a user to create a znode and then restrict access to that znode to only that user. If there is no authenticated user, setting an ACL with the auth scheme will fail.
  • -
  • digest uses a username:password string to generate MD5 hash which is then used as an ACL ID identity. Authentication is done by sending the username:password in clear text. When used in the ACL the expression will be the username:base64 encoded SHA1 password digest.
  • -
  • ip uses the client host IP as an ACL ID identity. The ACL expression is of the form addr/bits where the most significant bits of addr are matched against the most significant bits of the client host IP.
  • -
  • x509 uses the client X500 Principal as an ACL ID identity. The ACL expression is the exact X500 Principal name of a client. When using the secure port, clients are automatically authenticated and their auth info for the x509 scheme is set.
  • -
-

-

ZooKeeper C client API

-

The following constants are provided by the ZooKeeper C library:

-
    -
  • const int ZOO_PERM_READ; //can read node’s value and list its children
  • -
  • const int ZOO_PERM_WRITE;// can set the node’s value
  • -
  • const int ZOO_PERM_CREATE; //can create children
  • -
  • const int ZOO_PERM_DELETE;// can delete children
  • -
  • const int ZOO_PERM_ADMIN; //can execute set_acl()
  • -
  • const int ZOO_PERM_ALL;// all of the above flags OR’d together
  • -
-

The following are the standard ACL IDs:

-
    -
  • struct Id ZOO_ANYONE_ID_UNSAFE; //(‘world’,’anyone’)
  • -
  • struct Id ZOO_AUTH_IDS;// (‘auth’,’’)
  • -
-

ZOO_AUTH_IDS empty identity string should be interpreted as “the identity of the creator”.

-

ZooKeeper client comes with three standard ACLs:

-
    -
  • struct ACL_vector ZOO_OPEN_ACL_UNSAFE; //(ZOO_PERM_ALL,ZOO_ANYONE_ID_UNSAFE)
  • -
  • struct ACL_vector ZOO_READ_ACL_UNSAFE;// (ZOO_PERM_READ, ZOO_ANYONE_ID_UNSAFE)
  • -
  • struct ACL_vector ZOO_CREATOR_ALL_ACL; //(ZOO_PERM_ALL,ZOO_AUTH_IDS)
  • -
-

The ZOO_OPEN_ACL_UNSAFE is completely open free for all ACL: any application can execute any operation on the node and can create, list and delete its children. The ZOO_READ_ACL_UNSAFE is read-only access for any application. CREATE_ALL_ACL grants all permissions to the creator of the node. The creator must have been authenticated by the server (for example, using “digest” scheme) before it can create nodes with this ACL.

-

The following ZooKeeper operations deal with ACLs:

-
    -
  • int zoo_add_auth (zhandle_t *zh,const char* scheme,const char* cert, int certLen, void_completion_t completion, const void *data);
  • -
-

The application uses the zoo_add_auth function to authenticate itself to the server. The function can be called multiple times if the application wants to authenticate using different schemes and/or identities.

-
    -
  • int zoo_create (zhandle_t *zh, const char *path, const char *value,int valuelen, const struct ACL_vector *acl, int flags,char *realpath, int max_realpath_len);
  • -
-

zoo_create(...) operation creates a new node. The acl parameter is a list of ACLs associated with the node. The parent node must have the CREATE permission bit set.

-
    -
  • int zoo_get_acl (zhandle_t *zh, const char *path,struct ACL_vector *acl, struct Stat *stat);
  • -
-

This operation returns a node’s ACL info. The node must have READ or ADMIN permission set. Without ADMIN permission, the digest hash values will be masked out.

-
    -
  • int zoo_set_acl (zhandle_t *zh, const char *path, int version,const struct ACL_vector *acl);
  • -
-

This function replaces node’s ACL list with a new one. The node must have the ADMIN permission set.

-

Here is a sample code that makes use of the above APIs to authenticate itself using the “foo” scheme and create an ephemeral node “/xyz” with create-only permissions.

-
Note
-
-

This is a very simple example which is intended to show how to interact with ZooKeeper ACLs specifically. See .../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example of a C client implementation

-
-
#include <string.h>
-#include <errno.h>
-
-#include "zookeeper.h"
-
-static zhandle_t *zh;
-
-/**
- * In this example this method gets the cert for your
- *   environment -- you must provide
- */
-char *foo_get_cert_once(char* id) { return 0; }
-
-/** Watcher function -- empty for this example, not something you should
- * do in real code */
-void watcher(zhandle_t *zzh, int type, int state, const char *path,
-         void *watcherCtx) {}
-
-int main(int argc, char argv) {
-  char buffer[512];
-  char p[2048];
-  char *cert=0;
-  char appId[64];
-
-  strcpy(appId, "example.foo_test");
-  cert = foo_get_cert_once(appId);
-  if(cert!=0) {
-    fprintf(stderr,
-        "Certificate for appid [%s] is [%s]\n",appId,cert);
-    strncpy(p,cert, sizeof(p)-1);
-    free(cert);
-  } else {
-    fprintf(stderr, "Certificate for appid [%s] not found\n",appId);
-    strcpy(p, "dummy");
-  }
-
-  zoo_set_debug_level(ZOO_LOG_LEVEL_DEBUG);
-
-  zh = zookeeper_init("localhost:3181", watcher, 10000, 0, 0, 0);
-  if (!zh) {
-    return errno;
-  }
-  if(zoo_add_auth(zh,"foo",p,strlen(p),0,0)!=ZOK)
-    return 2;
-
-  struct ACL CREATE_ONLY_ACL[] = {{ZOO_PERM_CREATE, ZOO_AUTH_IDS}};
-  struct ACL_vector CREATE_ONLY = {1, CREATE_ONLY_ACL};
-  int rc = zoo_create(zh,"/xyz","value", 5, &CREATE_ONLY, ZOO_EPHEMERAL,
-                  buffer, sizeof(buffer)-1);
-
-  /** this operation will fail with a ZNOAUTH error */
-  int buflen= sizeof(buffer);
-  struct Stat stat;
-  rc = zoo_get(zh, "/xyz", 0, buffer, &buflen, &stat);
-  if (rc) {
-    fprintf(stderr, "Error %d for %s\n", rc, __LINE__);
-  }
-
-  zookeeper_close(zh);
-  return 0;
-}
-
-

-

Pluggable ZooKeeper authentication

-

ZooKeeper runs in a variety of different environments with various different authentication schemes, so it has a completely pluggable authentication framework. Even the builtin authentication schemes use the pluggable authentication framework.

-

To understand how the authentication framework works, first you must understand the two main authentication operations. The framework first must authenticate the client. This is usually done as soon as the client connects to a server and consists of validating information sent from or gathered about a client and associating it with the connection. The second operation handled by the framework is finding the entries in an ACL that correspond to client. ACL entries are <idspec, permissions> pairs. The idspec may be a simple string match against the authentication information associated with the connection or it may be a expression that is evaluated against that information. It is up to the implementation of the authentication plugin to do the match. Here is the interface that an authentication plugin must implement:

-
public interface AuthenticationProvider {
-    String getScheme();
-    KeeperException.Code handleAuthentication(ServerCnxn cnxn, byte authData[]);
-    boolean isValid(String id);
-    boolean matches(String id, String aclExpr);
-    boolean isAuthenticated();
-}
-
-

The first method getScheme returns the string that identifies the plugin. Because we support multiple methods of authentication, an authentication credential or an idspec will always be prefixed with scheme:. The ZooKeeper server uses the scheme returned by the authentication plugin to determine which ids the scheme applies to.

-

handleAuthentication is called when a client sends authentication information to be associated with a connection. The client specifies the scheme to which the information corresponds. The ZooKeeper server passes the information to the authentication plugin whose getScheme matches the scheme passed by the client. The implementor of handleAuthentication will usually return an error if it determines that the information is bad, or it will associate information with the connection using cnxn.getAuthInfo().add(new Id(getScheme(), data)).

-

The authentication plugin is involved in both setting and using ACLs. When an ACL is set for a znode, the ZooKeeper server will pass the id part of the entry to the isValid(String id) method. It is up to the plugin to verify that the id has a correct form. For example, ip:172.16.0.0/16 is a valid id, but ip:host.com is not. If the new ACL includes an "auth" entry, isAuthenticated is used to see if the authentication information for this scheme that is associated with the connection should be added to the ACL. Some schemes should not be included in auth. For example, the IP address of the client is not considered as an id that should be added to the ACL if auth is specified.

-

ZooKeeper invokes matches(String id, String aclExpr) when checking an ACL. It needs to match authentication information of the client against the relevant ACL entries. To find the entries which apply to the client, the ZooKeeper server will find the scheme of each entry and if there is authentication information from that client for that scheme, matches(String id, String aclExpr) will be called with id set to the authentication information that was previously added to the connection by handleAuthentication and aclExpr set to the id of the ACL entry. The authentication plugin uses its own logic and matching scheme to determine if id is included in aclExpr.

-

There are two built in authentication plugins: ip and digest. Additional plugins can adding using system properties. At startup the ZooKeeper server will look for system properties that start with "zookeeper.authProvider." and interpret the value of those properties as the class name of an authentication plugin. These properties can be set using the -Dzookeeper.authProvider.X=com.f.MyAuth or adding entries such as the following in the server configuration file:

-
authProvider.1=com.f.MyAuth
-authProvider.2=com.f.MyAuth2
-
-

Care should be taking to ensure that the suffix on the property is unique. If there are duplicates such as -Dzookeeper.authProvider.X=com.f.MyAuth -Dzookeeper.authProvider.X=com.f.MyAuth2, only one will be used. Also all servers must have the same plugins defined, otherwise clients using the authentication schemes provided by the plugins will have problems connecting to some servers.

-

Added in 3.6.0: An alternate abstraction is available for pluggable authentication. It provides additional arguments.

-
public abstract class ServerAuthenticationProvider implements AuthenticationProvider {
-    public abstract KeeperException.Code handleAuthentication(ServerObjs serverObjs, byte authData[]);
-    public abstract boolean matches(ServerObjs serverObjs, MatchValues matchValues);
-}
-
-

Instead of implementing AuthenticationProvider you extend ServerAuthenticationProvider. Your handleAuthentication() and matches() methods will then receive the additional parameters (via ServerObjs and MatchValues).

-
    -
  • ZooKeeperServer The ZooKeeperServer instance
  • -
  • ServerCnxn The current connection
  • -
  • path The ZNode path being operated on (or null if not used)
  • -
  • perm The operation value or 0
  • -
  • setAcls When the setAcl() method is being operated on, the list of ACLs that are being set
  • -
-

-

Consistency Guarantees

-

ZooKeeper is a high performance, scalable service. Both reads and write operations are designed to be fast, though reads are faster than writes. The reason for this is that in the case of reads, ZooKeeper can serve older data, which in turn is due to ZooKeeper's consistency guarantees:

-
    -
  • -

    Sequential Consistency : Updates from a client will be applied in the order that they were sent.

    -
  • -
  • -

    Atomicity : Updates either succeed or fail -- there are no partial results.

    -
  • -
  • -

    Single System Image : A client will see the same view of the service regardless of the server that it connects to. i.e., a client will never see an older view of the system even if the client fails over to a different server with the same session.

    -
  • -
  • -

    Reliability : Once an update has been applied, it will persist from that time forward until a client overwrites the update. This guarantee has two corollaries:

    -
      -
    1. If a client gets a successful return code, the update will have been applied. On some failures (communication errors, timeouts, etc) the client will not know if the update has applied or not. We take steps to minimize the failures, but the guarantee is only present with successful return codes. (This is called the monotonicity condition in Paxos.)
    2. -
    3. Any updates that are seen by the client, through a read request or successful update, will never be rolled back when recovering from server failures.
    4. -
    -
  • -
  • -

    Timeliness : The clients view of the system is guaranteed to be up-to-date within a certain time bound (on the order of tens of seconds). Either system changes will be seen by a client within this bound, or the client will detect a service outage.

    -
  • -
-

Using these consistency guarantees it is easy to build higher level functions such as leader election, barriers, queues, and read/write revocable locks solely at the ZooKeeper client (no additions needed to ZooKeeper). See Recipes and Solutions for more details.

-
Note
-
-

Sometimes developers mistakenly assume one other guarantee that ZooKeeper does not in fact make. This is: * Simultaneously Consistent Cross-Client Views* : ZooKeeper does not guarantee that at every instance in time, two different clients will have identical views of ZooKeeper data. Due to factors like network delays, one client may perform an update before another client gets notified of the change. Consider the scenario of two clients, A and B. If client A sets the value of a znode /a from 0 to 1, then tells client B to read /a, client B may read the old value of 0, depending on which server it is connected to. If it is important that Client A and Client B read the same value, Client B should call the sync() method from the ZooKeeper API method before it performs its read. So, ZooKeeper by itself doesn't guarantee that changes occur synchronously across all servers, but ZooKeeper primitives can be used to construct higher level functions that provide useful client synchronization. (For more information, see the ZooKeeper Recipes.

-
-

-

Bindings

-

The ZooKeeper client libraries come in two languages: Java and C. The following sections describe these.

-

-

Java Binding

-

There are two packages that make up the ZooKeeper Java binding: org.apache.zookeeper and org.apache.zookeeper.data. The rest of the packages that make up ZooKeeper are used internally or are part of the server implementation. The org.apache.zookeeper.data package is made up of generated classes that are used simply as containers.

-

The main class used by a ZooKeeper Java client is the ZooKeeper class. Its two constructors differ only by an optional session id and password. ZooKeeper supports session recovery across instances of a process. A Java program may save its session id and password to stable storage, restart, and recover the session that was used by the earlier instance of the program.

-

When a ZooKeeper object is created, two threads are created as well: an IO thread and an event thread. All IO happens on the IO thread (using Java NIO). All event callbacks happen on the event thread. Session maintenance such as reconnecting to ZooKeeper servers and maintaining heartbeat is done on the IO thread. Responses for synchronous methods are also processed in the IO thread. All responses to asynchronous methods and watch events are processed on the event thread. There are a few things to notice that result from this design:

-
    -
  • All completions for asynchronous calls and watcher callbacks will be made in order, one at a time. The caller can do any processing they wish, but no other callbacks will be processed during that time.
  • -
  • Callbacks do not block the processing of the IO thread or the processing of the synchronous calls.
  • -
  • Synchronous calls may not return in the correct order. For example, assume a client does the following processing: issues an asynchronous read of node /a with watch set to true, and then in the completion callback of the read it does a synchronous read of /a. (Maybe not good practice, but not illegal either, and it makes for a simple example.) Note that if there is a change to /a between the asynchronous read and the synchronous read, the client library will receive the watch event saying /a changed before the response for the synchronous read, but because of the completion callback blocking the event queue, the synchronous read will return with the new value of /a before the watch event is processed.
  • -
-

Finally, the rules associated with shutdown are straightforward: once a ZooKeeper object is closed or receives a fatal event (SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid. On a close, the two threads shut down and any further access on zookeeper handle is undefined behavior and should be avoided.

-

-

Client Configuration Parameters

-

The following list contains configuration properties for the Java client. You can set any of these properties using Java system properties. For server properties, please check the Server configuration section of the Admin Guide. The ZooKeeper Wiki also has useful pages about ZooKeeper SSL support, and SASL authentication for ZooKeeper.

-
    -
  • -

    zookeeper.sasl.client : Set the value to false to disable SASL authentication. Default is true.

    -
  • -
  • -

    zookeeper.sasl.clientconfig : Specifies the context key in the JAAS login file. Default is "Client".

    -
  • -
  • -

    zookeeper.server.principal : Specifies the server principal to be used by the client for authentication, while connecting to the zookeeper server, when Kerberos authentication is enabled. If this configuration is provided, then the ZooKeeper client will NOT USE any of the following parameters to determine the server principal: zookeeper.sasl.client.username, zookeeper.sasl.client.canonicalize.hostname, zookeeper.server.realm Note: this config parameter is working only for ZooKeeper 3.5.7+, 3.6.0+

    -
  • -
  • -

    zookeeper.sasl.client.username : Traditionally, a principal is divided into three parts: the primary, the instance, and the realm. The format of a typical Kerberos V5 principal is primary/instance@REALM. zookeeper.sasl.client.username specifies the primary part of the server principal. Default is "zookeeper". Instance part is derived from the server IP. Finally server's principal is username/IP@realm, where username is the value of zookeeper.sasl.client.username, IP is the server IP, and realm is the value of zookeeper.server.realm.

    -
  • -
  • -

    zookeeper.sasl.client.canonicalize.hostname : Expecting the zookeeper.server.principal parameter is not provided, the ZooKeeper client will try to determine the 'instance' (host) part of the ZooKeeper server principal. First it takes the hostname provided as the ZooKeeper server connection string. Then it tries to 'canonicalize' the address by getting the fully qualified domain name belonging to the address. You can disable this 'canonicalization' by setting: zookeeper.sasl.client.canonicalize.hostname=false

    -
  • -
  • -

    zookeeper.server.realm : Realm part of the server principal. By default it is the client principal realm.

    -
  • -
  • -

    zookeeper.disableAutoWatchReset : This switch controls whether automatic watch resetting is enabled. Clients automatically reset watches during session reconnect by default, this option allows the client to turn off this behavior by setting zookeeper.disableAutoWatchReset to true.

    -
  • -
  • -

    zookeeper.client.secure : New in 3.5.5: If you want to connect to the server secure client port, you need to set this property to true on the client. This will connect to server using SSL with specified credentials. Note that it requires the Netty client.

    -
  • -
  • -

    zookeeper.clientCnxnSocket : Specifies which ClientCnxnSocket to be used. Possible values are org.apache.zookeeper.ClientCnxnSocketNIO and org.apache.zookeeper.ClientCnxnSocketNetty . Default is org.apache.zookeeper.ClientCnxnSocketNIO . If you want to connect to server's secure client port, you need to set this property to org.apache.zookeeper.ClientCnxnSocketNetty on client.

    -
  • -
  • -

    zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password : New in 3.5.5: Specifies the file path to a JKS containing the local credentials to be used for SSL connections, and the password to unlock the file.

    -
  • -
  • -

    zookeeper.ssl.keyStore.passwordPath : New in 3.8.0: Specifies the file path which contains the keystore password

    -
  • -
  • -

    zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password : New in 3.5.5: Specifies the file path to a JKS containing the remote credentials to be used for SSL connections, and the password to unlock the file.

    -
  • -
  • -

    zookeeper.ssl.trustStore.passwordPath : New in 3.8.0: Specifies the file path which contains the truststore password

    -
  • -
  • -

    zookeeper.ssl.keyStore.type and zookeeper.ssl.trustStore.type: New in 3.5.5: Specifies the file format of keys/trust store files used to establish TLS connection to the ZooKeeper server. Values: JKS, PEM, PKCS12 or null (detect by filename). Default: null. New in 3.6.3, 3.7.0: The format BCFKS was added.

    -
  • -
  • -

    jute.maxbuffer : In the client side, it specifies the maximum size of the incoming data from the server. The default is 0xfffff(1048575) bytes, or just under 1M. This is really a sanity check. The ZooKeeper server is designed to store and send data on the order of kilobytes. If incoming data length is more than this value, an IOException is raised. This value of client side should keep same with the server side(Setting System.setProperty("jute.maxbuffer", "xxxx") in the client side will work), otherwise problems will arise.

    -
  • -
  • -

    zookeeper.kinit : Specifies path to kinit binary. Default is "/usr/bin/kinit".

    -
  • -
-

-

C Binding

-

The C binding has a single-threaded and multi-threaded library. The multi-threaded library is easiest to use and is most similar to the Java API. This library will create an IO thread and an event dispatch thread for handling connection maintenance and callbacks. The single-threaded library allows ZooKeeper to be used in event driven applications by exposing the event loop used in the multi-threaded library.

-

The package includes two shared libraries: zookeeper_st and zookeeper_mt. The former only provides the asynchronous APIs and callbacks for integrating into the application's event loop. The only reason this library exists is to support the platforms were a pthread library is not available or is unstable (i.e. FreeBSD 4.x). In all other cases, application developers should link with zookeeper_mt, as it includes support for both Sync and Async API.

-

-

Installation

-

If you're building the client from a check-out from the Apache repository, follow the steps outlined below. If you're building from a project source package downloaded from apache, skip to step 3.

-
    -
  1. Run mvn compile in zookeeper-jute directory (.../trunk/zookeeper-jute). This will create a directory named "generated" under .../trunk/zookeeper-client/zookeeper-client-c.
  2. -
  3. Change directory to the*.../trunk/zookeeper-client/zookeeper-client-c* and run autoreconf -if to bootstrap autoconf, automake and libtool. Make sure you have autoconf version 2.59 or greater installed. Skip to step4.
  4. -
  5. If you are building from a project source package, unzip/untar the source tarball and cd to the* zookeeper-x.x.x/zookeeper-client/zookeeper-client-c* directory.
  6. -
  7. Run ./configure <your-options> to generate the makefile. Here are some of options the configure utility supports that can be useful in this step:
  8. -
-
    -
  • --enable-debug Enables optimization and enables debug info compiler options. (Disabled by default.)
  • -
  • --without-syncapi Disables Sync API support; zookeeper_mt library won't be built. (Enabled by default.)
  • -
  • --disable-static Do not build static libraries. (Enabled by default.)
  • -
  • --disable-shared Do not build shared libraries. (Enabled by default.)
  • -
-
Note
-
-

See INSTALL for general information about running configure. 1. Run make or make install to build the libraries and install them. 1. To generate doxygen documentation for the ZooKeeper API, run make doxygen-doc. All documentation will be placed in a new subfolder named docs. By default, this command only generates HTML. For information on other document formats, run ./configure --help

-
-

-

Building Your Own C Client

-

In order to be able to use the ZooKeeper C API in your application you have to remember to

-
    -
  1. Include ZooKeeper header: #include <zookeeper/zookeeper.h>
  2. -
  3. If you are building a multithreaded client, compile with -DTHREADED compiler flag to enable the multi-threaded version of the library, and then link against the zookeeper_mt library. If you are building a single-threaded client, do not compile with -DTHREADED, and be sure to link against the_zookeeper_st_library.
  4. -
-
Note
-
-

See .../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example of a C client implementation

-
-

-

Building Blocks: A Guide to ZooKeeper Operations

-

This section surveys all the operations a developer can perform against a ZooKeeper server. It is lower level information than the earlier concepts chapters in this manual, but higher level than the ZooKeeper API Reference. It covers these topics:

- -

-

Handling Errors

-

Both the Java and C client bindings may report errors. The Java client binding does so by throwing KeeperException, calling code() on the exception will return the specific error code. The C client binding returns an error code as defined in the enum ZOO_ERRORS. API callbacks indicate result code for both language bindings. See the API documentation (javadoc for Java, doxygen for C) for full details on the possible errors and their meaning.

-

-

Connecting to ZooKeeper

-

Before we begin, you will have to set up a running Zookeeper server so that we can start developing the client. For C client bindings, we will be using the multithreaded library(zookeeper_mt) with a simple example written in C. To establish a connection with Zookeeper server, we make use of C API - zookeeper_init with the following signature:

-
int zookeeper_init(const char *host, watcher_fn fn, int recv_timeout, const clientid_t *clientid, void *context, int flags);
-
-
    -
  • -

    *host : Connection string to zookeeper server in the format of host:port. If there are multiple servers, use comma as separator after specifying the host:port pairs. Eg: "127.0.0.1:2181,127.0.0.1:3001,127.0.0.1:3002"

    -
  • -
  • -

    fn : Watcher function to process events when a notification is triggered.

    -
  • -
  • -

    recv_timeout : Session expiration time in milliseconds.

    -
  • -
  • -

    *clientid : We can specify 0 for a new session. If a session has already establish previously, we could provide that client ID and it would reconnect to that previous session.

    -
  • -
  • -

    *context : Context object that can be associated with the zkhandle_t handler. If it is not used, we can set it to 0.

    -
  • -
  • -

    flags : In an initiation, we can leave it for 0.

    -
  • -
-

We will demonstrate client that outputs "Connected to Zookeeper" after successful connection or an error message otherwise. Let's call the following code zkClient.cc :

-
#include <stdio.h>
-#include <zookeeper/zookeeper.h>
-#include <errno.h>
-using namespace std;
-
-// Keeping track of the connection state
-static int connected = 0;
-static int expired   = 0;
-
-// *zkHandler handles the connection with Zookeeper
-static zhandle_t *zkHandler;
-
-// watcher function would process events
-void watcher(zhandle_t *zkH, int type, int state, const char *path, void *watcherCtx)
-{
-    if (type == ZOO_SESSION_EVENT) {
-
-        // state refers to states of zookeeper connection.
-        // To keep it simple, we would demonstrate these 3: ZOO_EXPIRED_SESSION_STATE, ZOO_CONNECTED_STATE, ZOO_NOTCONNECTED_STATE
-        // If you are using ACL, you should be aware of an authentication failure state - ZOO_AUTH_FAILED_STATE
-        if (state == ZOO_CONNECTED_STATE) {
-            connected = 1;
-        } else if (state == ZOO_NOTCONNECTED_STATE ) {
-            connected = 0;
-        } else if (state == ZOO_EXPIRED_SESSION_STATE) {
-            expired = 1;
-            connected = 0;
-            zookeeper_close(zkH);
-        }
-    }
-}
-
-int main(){
-    zoo_set_debug_level(ZOO_LOG_LEVEL_DEBUG);
-
-    // zookeeper_init returns the handler upon a successful connection, null otherwise
-    zkHandler = zookeeper_init("localhost:2181", watcher, 10000, 0, 0, 0);
-
-    if (!zkHandler) {
-        return errno;
-    }else{
-        printf("Connection established with Zookeeper. \n");
-    }
-
-    // Close Zookeeper connection
-    zookeeper_close(zkHandler);
-
-    return 0;
-}
-
-

Compile the code with the multithreaded library mentioned before.

-

> g++ -Iinclude/ zkClient.cpp -lzookeeper_mt -o Client

-

Run the client.

-

> ./Client

-

From the output, you should see "Connected to Zookeeper" along with Zookeeper's DEBUG messages if the connection is successful.

-

-

Gotchas: Common Problems and Troubleshooting

-

So now you know ZooKeeper. It's fast, simple, your application works, but wait ... something's wrong. Here are some pitfalls that ZooKeeper users fall into:

-
    -
  1. If you are using watches, you must look for the connected watch event. When a ZooKeeper client disconnects from a server, you will not receive notification of changes until reconnected. If you are watching for a znode to come into existence, you will miss the event if the znode is created and deleted while you are disconnected.
  2. -
  3. You must test ZooKeeper server failures. The ZooKeeper service can survive failures as long as a majority of servers are active. The question to ask is: can your application handle it? In the real world a client's connection to ZooKeeper can break. (ZooKeeper server failures and network partitions are common reasons for connection loss.) The ZooKeeper client library takes care of recovering your connection and letting you know what happened, but you must make sure that you recover your state and any outstanding requests that failed. Find out if you got it right in the test lab, not in production - test with a ZooKeeper service made up of a several of servers and subject them to reboots.
  4. -
  5. The list of ZooKeeper servers used by the client must match the list of ZooKeeper servers that each ZooKeeper server has. Things can work, although not optimally, if the client list is a subset of the real list of ZooKeeper servers, but not if the client lists ZooKeeper servers not in the ZooKeeper cluster.
  6. -
  7. Be careful where you put that transaction log. The most performance-critical part of ZooKeeper is the transaction log. ZooKeeper must sync transactions to media before it returns a response. A dedicated transaction log device is key to consistent good performance. Putting the log on a busy device will adversely effect performance. If you only have one storage device, put trace files on NFS and increase the snapshotCount; it doesn't eliminate the problem, but it can mitigate it.
  8. -
  9. Set your Java max heap size correctly. It is very important to avoid swapping. Going to disk unnecessarily will almost certainly degrade your performance unacceptably. Remember, in ZooKeeper, everything is ordered, so if one request hits the disk, all other queued requests hit the disk. To avoid swapping, try to set the heapsize to the amount of physical memory you have, minus the amount needed by the OS and cache. The best way to determine an optimal heap size for your configurations is to run load tests. If for some reason you can't, be conservative in your estimates and choose a number well below the limit that would cause your machine to swap. For example, on a 4G machine, a 3G heap is a conservative estimate to start with.
  10. -
-

Links to Other Information

-

Outside the formal documentation, there're several other sources of information for ZooKeeper developers.

- -
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperQuotas.html b/content/doc/r3.9.5/zookeeperQuotas.html deleted file mode 100644 index 8b2c4ce938c..00000000000 --- a/content/doc/r3.9.5/zookeeperQuotas.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Quota's Guide

-

A Guide to Deployment and Administration

- -

-

Quotas

-

ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas. ZooKeeper prints WARN messages if users exceed the quota assigned to them. The messages are printed in the log of the ZooKeeper.

-

Notice: What the namespace quota means is the count quota which limits the number of children under the path(included itself).

-
$ bin/zkCli.sh -server host:port**
-
-

The above command gives you a command line option of using quotas.

-

-

Setting Quotas

-
    -
  • -

    You can use setquota to set a quota on a ZooKeeper node. It has an option of setting quota with -n (for namespace/count) and -b (for bytes/data length).

    -
  • -
  • -

    The ZooKeeper quota is stored in ZooKeeper itself in /zookeeper/quota. To disable other people from changing the quotas, users can set the ACL for /zookeeper/quota ,so that only admins are able to read and write to it.

    -
  • -
  • -

    If the quota doesn't exist in the specified path,create the quota, otherwise update the quota.

    -
  • -
  • -

    The Scope of the quota users set is all the nodes under the path specified (included itself).

    -
  • -
  • -

    In order to simplify the calculation of quota in the current directory/hierarchy structure, a complete tree path(from root to leaf node) can be set only one quota. In the situation when setting a quota in a path which its parent or child node already has a quota. setquota will reject and tell the specified parent or child path, users can adjust allocations of quotas(delete/move-up/move-down the quota) according to specific circumstances.

    -
  • -
  • -

    Combined with the Chroot, the quota will have a better isolation effectiveness between different applications.For example:

    -
    # Chroot is:
    -192.168.0.1:2181,192.168.0.2:2181,192.168.0.3:2181/apps/app1
    -setquota -n 100000 /apps/app1
    -
    -
  • -
  • -

    Users cannot set the quota on the path under /zookeeper/quota

    -
  • -
  • -

    The quota supports the soft and hard quota. The soft quota just logs the warning info when exceeding the quota, but the hard quota also throws a QuotaExceededException. When setting soft and hard quota on the same path, the hard quota has the priority.

    -
  • -
-

-

Listing Quotas

-

You can use listquota to list a quota on a ZooKeeper node.

-

-

Deleting Quotas

-

You can use delquota to delete quota on a ZooKeeper node.

-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperReconfig.html b/content/doc/r3.9.5/zookeeperReconfig.html deleted file mode 100644 index 08776e4b0d1..00000000000 --- a/content/doc/r3.9.5/zookeeperReconfig.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Dynamic Reconfiguration

- -

-

Overview

-

Prior to the 3.5.0 release, the membership and all other configuration parameters of Zookeeper were static - loaded during boot and immutable at runtime. Operators resorted to ''rolling restarts'' - a manually intensive and error-prone method of changing the configuration that has caused data loss and inconsistency in production.

-

Starting with 3.5.0, “rolling restarts” are no longer needed! ZooKeeper comes with full support for automated configuration changes: the set of Zookeeper servers, their roles (participant / observer), all ports, and even the quorum system can be changed dynamically, without service interruption and while maintaining data consistency. Reconfigurations are performed immediately, just like other operations in ZooKeeper. Multiple changes can be done using a single reconfiguration command. The dynamic reconfiguration functionality does not limit operation concurrency, does not require client operations to be stopped during reconfigurations, has a very simple interface for administrators and no added complexity to other client operations.

-

New client-side features allow clients to find out about configuration changes and to update the connection string (list of servers and their client ports) stored in their ZooKeeper handle. A probabilistic algorithm is used to rebalance clients across the new configuration servers while keeping the extent of client migrations proportional to the change in ensemble membership.

-

This document provides the administrator manual for reconfiguration. For a detailed description of the reconfiguration algorithms, performance measurements, and more, please see our paper:

- -

Note: Starting with 3.5.3, the dynamic reconfiguration feature is disabled by default, and has to be explicitly turned on via reconfigEnabled configuration option.

-

-

Changes to Configuration Format

-

-

Specifying the client port

-

A client port of a server is the port on which the server accepts client connection requests. Starting with 3.5.0 the clientPort and clientPortAddress configuration parameters should no longer be used. Instead, this information is now part of the server keyword specification, which becomes as follows:

-
server.<positive id> = <address1>:<port1>:<port2>[:role];[<client port address>:]<client port>**
-
-

The client port specification is to the right of the semicolon. The client port address is optional, and if not specified it defaults to "0.0.0.0". As usual, role is also optional, it can be participant or observer (participant by default).

-

Examples of legal server statements:

-
server.5 = 125.23.63.23:1234:1235;1236
-server.5 = 125.23.63.23:1234:1235:participant;1236
-server.5 = 125.23.63.23:1234:1235:observer;1236
-server.5 = 125.23.63.23:1234:1235;125.23.63.24:1236
-server.5 = 125.23.63.23:1234:1235:participant;125.23.63.23:1236
-
-

-

Specifying multiple server addresses

-

Since ZooKeeper 3.6.0 it is possible to specify multiple addresses for each ZooKeeper server (see ZOOKEEPER-3188). This helps to increase availability and adds network level resiliency to ZooKeeper. When multiple physical network interfaces are used for the servers, ZooKeeper is able to bind on all interfaces and runtime switching to a working interface in case a network error. The different addresses can be specified in the config using a pipe ('|') character.

-

Examples for a valid configurations using multiple addresses:

-
server.2=zoo2-net1:2888:3888|zoo2-net2:2889:3889;2188
-server.2=zoo2-net1:2888:3888|zoo2-net2:2889:3889|zoo2-net3:2890:3890;2188
-server.2=zoo2-net1:2888:3888|zoo2-net2:2889:3889;zoo2-net1:2188
-server.2=zoo2-net1:2888:3888:observer|zoo2-net2:2889:3889:observer;2188
-
-

-

The standaloneEnabled flag

-

Prior to 3.5.0, one could run ZooKeeper in Standalone mode or in a Distributed mode. These are separate implementation stacks, and switching between them during run time is not possible. By default (for backward compatibility) standaloneEnabled is set to true. The consequence of using this default is that if started with a single server the ensemble will not be allowed to grow, and if started with more than one server it will not be allowed to shrink to contain fewer than two participants.

-

Setting the flag to false instructs the system to run the Distributed software stack even if there is only a single participant in the ensemble. To achieve this the (static) configuration file should contain:

-
standaloneEnabled=false**
-
-

With this setting it is possible to start a ZooKeeper ensemble containing a single participant and to dynamically grow it by adding more servers. Similarly, it is possible to shrink an ensemble so that just a single participant remains, by removing servers.

-

Since running the Distributed mode allows more flexibility, we recommend setting the flag to false. We expect that the legacy Standalone mode will be deprecated in the future.

-

-

The reconfigEnabled flag

-

Starting with 3.5.0 and prior to 3.5.3, there is no way to disable dynamic reconfiguration feature. We would like to offer the option of disabling reconfiguration feature because with reconfiguration enabled, we have a security concern that a malicious actor can make arbitrary changes to the configuration of a ZooKeeper ensemble, including adding a compromised server to the ensemble. We prefer to leave to the discretion of the user to decide whether to enable it or not and make sure that the appropriate security measure are in place. So in 3.5.3 the reconfigEnabled configuration option is introduced such that the reconfiguration feature can be completely disabled and any attempts to reconfigure a cluster through reconfig API with or without authentication will fail by default, unless reconfigEnabled is set to true.

-

To set the option to true, the configuration file (zoo.cfg) should contain:

-
reconfigEnabled=true
-
-

-

Dynamic configuration file

-

Starting with 3.5.0 we're distinguishing between dynamic configuration parameters, which can be changed during runtime, and static configuration parameters, which are read from a configuration file when a server boots and don't change during its execution. For now, the following configuration keywords are considered part of the dynamic configuration: server, group and weight.

-

Dynamic configuration parameters are stored in a separate file on the server (which we call the dynamic configuration file). This file is linked from the static config file using the new dynamicConfigFile keyword.

-

Example

-

zoo_replicated1.cfg

-
tickTime=2000
-dataDir=/zookeeper/data/zookeeper1
-initLimit=5
-syncLimit=2
-dynamicConfigFile=/zookeeper/conf/zoo_replicated1.cfg.dynamic
-
-

zoo_replicated1.cfg.dynamic

-
server.1=125.23.63.23:2780:2783:participant;2791
-server.2=125.23.63.24:2781:2784:participant;2792
-server.3=125.23.63.25:2782:2785:participant;2793
-
-

When the ensemble configuration changes, the static configuration parameters remain the same. The dynamic parameters are pushed by ZooKeeper and overwrite the dynamic configuration files on all servers. Thus, the dynamic configuration files on the different servers are usually identical (they can only differ momentarily when a reconfiguration is in progress, or if a new configuration hasn't propagated yet to some of the servers). Once created, the dynamic configuration file should not be manually altered. Changed are only made through the new reconfiguration commands outlined below. Note that changing the config of an offline cluster could result in an inconsistency with respect to configuration information stored in the ZooKeeper log (and the special configuration znode, populated from the log) and is therefore highly discouraged.

-

Example 2

-

Users may prefer to initially specify a single configuration file. The following is thus also legal:

-

zoo_replicated1.cfg

-
tickTime=2000
-dataDir=/zookeeper/data/zookeeper1
-initLimit=5
-syncLimit=2
-clientPort=
-
-

The configuration files on each server will be automatically split into dynamic and static files, if they are not already in this format. So the configuration file above will be automatically transformed into the two files in Example 1. Note that the clientPort and clientPortAddress lines (if specified) will be automatically removed during this process, if they are redundant (as in the example above). The original static configuration file is backed up (in a .bak file).

-

-

Backward compatibility

-

We still support the old configuration format. For example, the following configuration file is acceptable (but not recommended):

-

zoo_replicated1.cfg

-
tickTime=2000
-dataDir=/zookeeper/data/zookeeper1
-initLimit=5
-syncLimit=2
-clientPort=2791
-server.1=125.23.63.23:2780:2783:participant
-server.2=125.23.63.24:2781:2784:participant
-server.3=125.23.63.25:2782:2785:participant
-
-

During boot, a dynamic configuration file is created and contains the dynamic part of the configuration as explained earlier. In this case, however, the line "clientPort=2791" will remain in the static configuration file of server 1 since it is not redundant -- it was not specified as part of the "server.1=..." using the format explained in the section Changes to Configuration Format. If a reconfiguration is invoked that sets the client port of server 1, we remove "clientPort=2791" from the static configuration file (the dynamic file now contain this information as part of the specification of server 1).

-

-

Upgrading to 3.5.0

-

Upgrading a running ZooKeeper ensemble to 3.5.0 should be done only after upgrading your ensemble to the 3.4.6 release. Note that this is only necessary for rolling upgrades (if you're fine with shutting down the system completely, you don't have to go through 3.4.6). If you attempt a rolling upgrade without going through 3.4.6 (for example from 3.4.5), you may get the following error:

-
2013-01-30 11:32:10,663 [myid:2] - INFO [localhost/127.0.0.1:2784:QuorumCnxManager$Listener@498] - Received connection request /127.0.0.1:60876
-2013-01-30 11:32:10,663 [myid:2] - WARN [localhost/127.0.0.1:2784:QuorumCnxManager@349] - Invalid server id: -65536
-
-

During a rolling upgrade, each server is taken down in turn and rebooted with the new 3.5.0 binaries. Before starting the server with 3.5.0 binaries, we highly recommend updating the configuration file so that all server statements "server.x=..." contain client ports (see the section Specifying the client port). As explained earlier you may leave the configuration in a single file, as well as leave the clientPort/clientPortAddress statements (although if you specify client ports in the new format, these statements are now redundant).

-

-

Dynamic Reconfiguration of the ZooKeeper Ensemble

-

The ZooKeeper Java and C API were extended with getConfig and reconfig commands that facilitate reconfiguration. Both commands have a synchronous (blocking) variant and an asynchronous one. We demonstrate these commands here using the Java CLI, but note that you can similarly use the C CLI or invoke the commands directly from a program just like any other ZooKeeper command.

-

-

API

-

There are two sets of APIs for both Java and C client.

-
    -
  • -

    Reconfiguration API : Reconfiguration API is used to reconfigure the ZooKeeper cluster. Starting with 3.5.3, reconfiguration Java APIs are moved into ZooKeeperAdmin class from ZooKeeper class, and use of this API requires ACL setup and user authentication (see Security for more information.).

    -
  • -
  • -

    Get Configuration API : Get configuration APIs are used to retrieve ZooKeeper cluster configuration information stored in /zookeeper/config znode. Use of this API does not require specific setup or authentication, because /zookeeper/config is readable to any users.

    -
  • -
-

-

Security

-

Prior to 3.5.3, there is no enforced security mechanism over reconfig so any ZooKeeper clients that can connect to ZooKeeper server ensemble will have the ability to change the state of a ZooKeeper cluster via reconfig. It is thus possible for a malicious client to add compromised server to an ensemble, e.g., add a compromised server, or remove legitimate servers. Cases like these could be security vulnerabilities on a case by case basis.

-

To address this security concern, we introduced access control over reconfig starting from 3.5.3 such that only a specific set of users can use reconfig commands or APIs, and these users need be configured explicitly. In addition, the setup of ZooKeeper cluster must enable authentication so ZooKeeper clients can be authenticated.

-

We also provide an escape hatch for users who operate and interact with a ZooKeeper ensemble in a secured environment (i.e. behind company firewall). For those users who want to use reconfiguration feature but don't want the overhead of configuring an explicit list of authorized user for reconfig access checks, they can set "skipACL" to "yes" which will skip ACL check and allow any user to reconfigure cluster.

-

Overall, ZooKeeper provides flexible configuration options for the reconfigure feature that allow a user to choose based on user's security requirement. We leave to the discretion of the user to decide appropriate security measure are in place.

-
    -
  • -

    Access Control : The dynamic configuration is stored in a special znode ZooDefs.CONFIG_NODE = /zookeeper/config. This node by default is read only for all users, except super user and users that's explicitly configured for write access. Clients that need to use reconfig commands or reconfig API should be configured as users that have write access to CONFIG_NODE. By default, only the super user has full control including write access to CONFIG_NODE. Additional users can be granted write access through superuser by setting an ACL that has write permission associated with specified user. A few examples of how to setup ACLs and use reconfiguration API with authentication can be found in ReconfigExceptionTest.java and TestReconfigServer.cc.

    -
  • -
  • -

    Authentication : Authentication of users is orthogonal to the access control and is delegated to existing authentication mechanism supported by ZooKeeper's pluggable authentication schemes. See ZooKeeper and SASL for more details on this topic.

    -
  • -
  • -

    Disable ACL check : ZooKeeper supports "skipACL" option such that ACL check will be completely skipped, if skipACL is set to "yes". In such cases any unauthenticated users can use reconfig API.

    -
  • -
-

-

Retrieving the current dynamic configuration

-

The dynamic configuration is stored in a special znode ZooDefs.CONFIG_NODE = /zookeeper/config. The new config CLI command reads this znode (currently it is simply a wrapper to get /zookeeper/config). As with normal reads, to retrieve the latest committed value you should do a sync first.

-
[zk: 127.0.0.1:2791(CONNECTED) 3] config
-server.1=localhost:2780:2783:participant;localhost:2791
-server.2=localhost:2781:2784:participant;localhost:2792
-server.3=localhost:2782:2785:participant;localhost:2793
-
-

Notice the last line of the output. This is the configuration version. The version equals to the zxid of the reconfiguration command which created this configuration. The version of the first established configuration equals to the zxid of the NEWLEADER message sent by the first successfully established leader. When a configuration is written to a dynamic configuration file, the version automatically becomes part of the filename and the static configuration file is updated with the path to the new dynamic configuration file. Configuration files corresponding to earlier versions are retained for backup purposes.

-

During boot time the version (if it exists) is extracted from the filename. The version should never be altered manually by users or the system administrator. It is used by the system to know which configuration is most up-to-date. Manipulating it manually can result in data loss and inconsistency.

-

Just like a get command, the config CLI command accepts the -w flag for setting a watch on the znode, and -s flag for displaying the Stats of the znode. It additionally accepts a new flag -c which outputs only the version and the client connection string corresponding to the current configuration. For example, for the configuration above we would get:

-
[zk: 127.0.0.1:2791(CONNECTED) 17] config -c
-400000003 localhost:2791,localhost:2793,localhost:2792
-
-

Note that when using the API directly, this command is called getConfig.

-

As any read command it returns the configuration known to the follower to which your client is connected, which may be slightly out-of-date. One can use the sync command for stronger guarantees. For example using the Java API:

-
zk.sync(ZooDefs.CONFIG_NODE, void_callback, context);
-zk.getConfig(watcher, callback, context);
-
-

Note: in 3.5.0 it doesn't really matter which path is passed to the sync() command as all the server's state is brought up to date with the leader (so one could use a different path instead of ZooDefs.CONFIG_NODE). However, this may change in the future.

-

-

Modifying the current dynamic configuration

-

Modifying the configuration is done through the reconfig command. There are two modes of reconfiguration: incremental and non-incremental (bulk). The non-incremental simply specifies the new dynamic configuration of the system. The incremental specifies changes to the current configuration. The reconfig command returns the new configuration.

-

A few examples are in: ReconfigTest.java, ReconfigRecoveryTest.java and TestReconfigServer.cc.

-

-

General

-

Removing servers: Any server can be removed, including the leader (although removing the leader will result in a short unavailability, see Figures 6 and 8 in the paper). The server will not be shut-down automatically. Instead, it becomes a "non-voting follower". This is somewhat similar to an observer in that its votes don't count towards the Quorum of votes necessary to commit operations. However, unlike a non-voting follower, an observer doesn't actually see any operation proposals and does not ACK them. Thus a non-voting follower has a more significant negative effect on system throughput compared to an observer. Non-voting follower mode should only be used as a temporary mode, before shutting the server down, or adding it as a follower or as an observer to the ensemble. We do not shut the server down automatically for two main reasons. The first reason is that we do not want all the clients connected to this server to be immediately disconnected, causing a flood of connection requests to other servers. Instead, it is better if each client decides when to migrate independently. The second reason is that removing a server may sometimes (rarely) be necessary in order to change it from "observer" to "participant" (this is explained in the section Additional comments).

-

Note that the new configuration should have some minimal number of participants in order to be considered legal. If the proposed change would leave the cluster with less than 2 participants and standalone mode is enabled (standaloneEnabled=true, see the section The standaloneEnabled flag), the reconfig will not be processed (BadArgumentsException). If standalone mode is disabled (standaloneEnabled=false) then it's legal to remain with 1 or more participants.

-

Adding servers: Before a reconfiguration is invoked, the administrator must make sure that a quorum (majority) of participants from the new configuration are already connected and synced with the current leader. To achieve this we need to connect a new joining server to the leader before it is officially part of the ensemble. This is done by starting the joining server using an initial list of servers which is technically not a legal configuration of the system but (a) contains the joiner, and (b) gives sufficient information to the joiner in order for it to find and connect to the current leader. We list a few different options of doing this safely.

-
    -
  1. Initial configuration of joiners is comprised of servers in the last committed configuration and one or more joiners, where joiners are listed as observers. For example, if servers D and E are added at the same time to (A, B, C) and server C is being removed, the initial configuration of D could be (A, B, C, D) or (A, B, C, D, E), where D and E are listed as observers. Similarly, the configuration of E could be (A, B, C, E) or (A, B, C, D, E), where D and E are listed as observers. Note that listing the joiners as observers will not actually make them observers - it will only prevent them from accidentally forming a quorum with other joiners. Instead, they will contact the servers in the current configuration and adopt the last committed configuration (A, B, C), where the joiners are absent. Configuration files of joiners are backed up and replaced automatically as this happens. After connecting to the current leader, joiners become non-voting followers until the system is reconfigured and they are added to the ensemble (as participant or observer, as appropriate).
  2. -
  3. Initial configuration of each joiner is comprised of servers in the last committed configuration + the joiner itself, listed as a participant. For example, to add a new server D to a configuration consisting of servers (A, B, C), the administrator can start D using an initial configuration file consisting of servers (A, B, C, D). If both D and E are added at the same time to (A, B, C), the initial configuration of D could be (A, B, C, D) and the configuration of E could be (A, B, C, E). Similarly, if D is added and C is removed at the same time, the initial configuration of D could be (A, B, C, D). Never list more than one joiner as participant in the initial configuration (see warning below).
  4. -
  5. Whether listing the joiner as an observer or as participant, it is also fine not to list all the current configuration servers, as long as the current leader is in the list. For example, when adding D we could start D with a configuration file consisting of just (A, D) if A is the current leader. however this is more fragile since if A fails before D officially joins the ensemble, D doesn’t know anyone else and therefore the administrator will have to intervene and restart D with another server list.
  6. -
-
Note
-
-
Warning
-

Never specify more than one joining server in the same initial configuration as participants. Currently, the joining servers don’t know that they are joining an existing ensemble; if multiple joiners are listed as participants they may form an independent quorum creating a split-brain situation such as processing operations independently from your main ensemble. It is OK to list multiple joiners as observers in an initial config.

-
-

If the configuration of existing servers changes or they become unavailable before the joiner succeeds to connect and learn about configuration changes, the joiner may need to be restarted with an updated configuration file in order to be able to connect.

-

Finally, note that once connected to the leader, a joiner adopts the last committed configuration, in which it is absent (the initial config of the joiner is backed up before being rewritten). If the joiner restarts in this state, it will not be able to boot since it is absent from its configuration file. In order to start it you’ll once again have to specify an initial configuration.

-

Modifying server parameters: One can modify any of the ports of a server, or its role (participant/observer) by adding it to the ensemble with different parameters. This works in both the incremental and the bulk reconfiguration modes. It is not necessary to remove the server and then add it back; just specify the new parameters as if the server is not yet in the system. The server will detect the configuration change and perform the necessary adjustments. See an example in the section Incremental mode and an exception to this rule in the section Additional comments.

-

It is also possible to change the Quorum System used by the ensemble (for example, change the Majority Quorum System to a Hierarchical Quorum System on the fly). This, however, is only allowed using the bulk (non-incremental) reconfiguration mode. In general, incremental reconfiguration only works with the Majority Quorum System. Bulk reconfiguration works with both Hierarchical and Majority Quorum Systems.

-

Performance Impact: There is practically no performance impact when removing a follower, since it is not being automatically shut down (the effect of removal is that the server's votes are no longer being counted). When adding a server, there is no leader change and no noticeable performance disruption. For details and graphs please see Figures 6, 7 and 8 in the paper.

-

The most significant disruption will happen when a leader change is caused, in one of the following cases:

-
    -
  1. Leader is removed from the ensemble.
  2. -
  3. Leader's role is changed from participant to observer.
  4. -
  5. The port used by the leader to send transactions to others (quorum port) is modified.
  6. -
-

In these cases we perform a leader hand-off where the old leader nominates a new leader. The resulting unavailability is usually shorter than when a leader crashes since detecting leader failure is unnecessary and electing a new leader can usually be avoided during a hand-off (see Figures 6 and 8 in the paper).

-

When the client port of a server is modified, it does not drop existing client connections. New connections to the server will have to use the new client port.

-

Progress guarantees: Up to the invocation of the reconfig operation, a quorum of the old configuration is required to be available and connected for ZooKeeper to be able to make progress. Once reconfig is invoked, a quorum of both the old and of the new configurations must be available. The final transition happens once (a) the new configuration is activated, and (b) all operations scheduled before the new configuration is activated by the leader are committed. Once (a) and (b) happen, only a quorum of the new configuration is required. Note, however, that neither (a) nor (b) are visible to a client. Specifically, when a reconfiguration operation commits, it only means that an activation message was sent out by the leader. It does not necessarily mean that a quorum of the new configuration got this message (which is required in order to activate it) or that (b) has happened. If one wants to make sure that both (a) and (b) has already occurred (for example, in order to know that it is safe to shut down old servers that were removed), one can simply invoke an update (set-data, or some other quorum operation, but not a sync) and wait for it to commit. An alternative way to achieve this was to introduce another round to the reconfiguration protocol (which, for simplicity and compatibility with Zab, we decided to avoid).

-

-

Incremental mode

-

The incremental mode allows adding and removing servers to the current configuration. Multiple changes are allowed. For example:

-
> reconfig -remove 3 -add
-server.5=125.23.63.23:1234:1235;1236
-
-

Both the add and the remove options get a list of comma separated arguments (no spaces):

-
> reconfig -remove 3,4 -add
-server.5=localhost:2111:2112;2113,6=localhost:2114:2115:observer;2116
-
-

The format of the server statement is exactly the same as described in the section Specifying the client port and includes the client port. Notice that here instead of "server.5=" you can just say "5=". In the example above, if server 5 is already in the system, but has different ports or is not an observer, it is updated and once the configuration commits becomes an observer and starts using these new ports. This is an easy way to turn participants into observers and vice versa or change any of their ports, without rebooting the server.

-

ZooKeeper supports two types of Quorum Systems – the simple Majority system (where the leader commits operations after receiving ACKs from a majority of voters) and a more complex Hierarchical system, where votes of different servers have different weights and servers are divided into voting groups. Currently, incremental reconfiguration is allowed only if the last proposed configuration known to the leader uses a Majority Quorum System (BadArgumentsException is thrown otherwise).

-

Incremental mode - examples using the Java API:

-
List<String> leavingServers = new ArrayList<String>();
-leavingServers.add("1");
-leavingServers.add("2");
-byte[] config = zk.reconfig(null, leavingServers, null, -1, new Stat());
-
-List<String> leavingServers = new ArrayList<String>();
-List<String> joiningServers = new ArrayList<String>();
-leavingServers.add("1");
-joiningServers.add("server.4=localhost:1234:1235;1236");
-byte[] config = zk.reconfig(joiningServers, leavingServers, null, -1, new Stat());
-
-String configStr = new String(config);
-System.out.println(configStr);
-
-

There is also an asynchronous API, and an API accepting comma separated Strings instead of List. See src/java/main/org/apache/zookeeper/ZooKeeper.java.

-

-

Non-incremental mode

-

The second mode of reconfiguration is non-incremental, whereby a client gives a complete specification of the new dynamic system configuration. The new configuration can either be given in place or read from a file:

-
> reconfig -file newconfig.cfg
-
-

//newconfig.cfg is a dynamic config file, see Dynamic configuration file

-
> reconfig -members
-server.1=125.23.63.23:2780:2783:participant;2791,server.2=125.23.63.24:2781:2784:participant;2792,server.3=125.23.63.25:2782:2785:participant;2793}}
-
-

The new configuration may use a different Quorum System. For example, you may specify a Hierarchical Quorum System even if the current ensemble uses a Majority Quorum System.

-

Bulk mode - example using the Java API:

-
List<String> newMembers = new ArrayList<String>();
-newMembers.add("server.1=1111:1234:1235;1236");
-newMembers.add("server.2=1112:1237:1238;1239");
-newMembers.add("server.3=1114:1240:1241:observer;1242");
-
-byte[] config = zk.reconfig(null, null, newMembers, -1, new Stat());
-
-String configStr = new String(config);
-System.out.println(configStr);
-
-

There is also an asynchronous API, and an API accepting comma separated String containing the new members instead of List. See src/java/main/org/apache/zookeeper/ZooKeeper.java.

-

-

Conditional reconfig

-

Sometimes (especially in non-incremental mode) a new proposed configuration depends on what the client "believes" to be the current configuration, and should be applied only to that configuration. Specifically, the reconfig succeeds only if the last configuration at the leader has the specified version.

-
> reconfig -file <filename> -v <version>
-
-

In the previously listed Java examples, instead of -1 one could specify a configuration version to condition the reconfiguration.

-

-

Error conditions

-

In addition to normal ZooKeeper error conditions, a reconfiguration may fail for the following reasons:

-
    -
  1. another reconfig is currently in progress (ReconfigInProgress)
  2. -
  3. the proposed change would leave the cluster with less than 2 participants, in case standalone mode is enabled, or, if standalone mode is disabled then its legal to remain with 1 or more participants (BadArgumentsException)
  4. -
  5. no quorum of the new configuration was connected and up-to-date with the leader when the reconfiguration processing began (NewConfigNoQuorum)
  6. -
  7. -v x was specified, but the version y of the latest configuration is not x (BadVersionException)
  8. -
  9. an incremental reconfiguration was requested but the last configuration at the leader uses a Quorum System which is different from the Majority system (BadArgumentsException)
  10. -
  11. syntax error (BadArgumentsException)
  12. -
  13. I/O exception when reading the configuration from a file (BadArgumentsException)
  14. -
-

Most of these are illustrated by test-cases in ReconfigFailureCases.java.

-

-

Additional comments

-

Liveness: To better understand the difference between incremental and non-incremental reconfiguration, suppose that client C1 adds server D to the system while a different client C2 adds server E. With the non-incremental mode, each client would first invoke config to find out the current configuration, and then locally create a new list of servers by adding its own suggested server. The new configuration can then be submitted using the non-incremental reconfig command. After both reconfigurations complete, only one of E or D will be added (not both), depending on which client's request arrives second to the leader, overwriting the previous configuration. The other client can repeat the process until its change takes effect. This method guarantees system-wide progress (i.e., for one of the clients), but does not ensure that every client succeeds. To have more control C2 may request to only execute the reconfiguration in case the version of the current configuration hasn't changed, as explained in the section Conditional reconfig. In this way it may avoid blindly overwriting the configuration of C1 if C1's configuration reached the leader first.

-

With incremental reconfiguration, both changes will take effect as they are simply applied by the leader one after the other to the current configuration, whatever that is (assuming that the second reconfig request reaches the leader after it sends a commit message for the first reconfig request -- currently the leader will refuse to propose a reconfiguration if another one is already pending). Since both clients are guaranteed to make progress, this method guarantees stronger liveness. In practice, multiple concurrent reconfigurations are probably rare. Non-incremental reconfiguration is currently the only way to dynamically change the Quorum System. Incremental configuration is currently only allowed with the Majority Quorum System.

-

Changing an observer into a follower: Clearly, changing a server that participates in voting into an observer may fail if error (2) occurs, i.e., if fewer than the minimal allowed number of participants would remain. However, converting an observer into a participant may sometimes fail for a more subtle reason: Suppose, for example, that the current configuration is (A, B, C, D), where A is the leader, B and C are followers and D is an observer. In addition, suppose that B has crashed. If a reconfiguration is submitted where D is said to become a follower, it will fail with error (3) since in this configuration, a majority of voters in the new configuration (any 3 voters), must be connected and up-to-date with the leader. An observer cannot acknowledge the history prefix sent during reconfiguration, and therefore it does not count towards these 3 required servers and the reconfiguration will be aborted. In case this happens, a client can achieve the same task by two reconfig commands: first invoke a reconfig to remove D from the configuration and then invoke a second command to add it back as a participant (follower). During the intermediate state D is a non-voting follower and can ACK the state transfer performed during the second reconfig command.

-

-

Rebalancing Client Connections

-

When a ZooKeeper cluster is started, if each client is given the same connection string (list of servers), the client will randomly choose a server in the list to connect to, which makes the expected number of client connections per server the same for each of the servers. We implemented a method that preserves this property when the set of servers changes through reconfiguration. See Sections 4 and 5.1 in the paper.

-

In order for the method to work, all clients must subscribe to configuration changes (by setting a watch on /zookeeper/config either directly or through the getConfig API command). When the watch is triggered, the client should read the new configuration by invoking sync and getConfig and if the configuration is indeed new invoke the updateServerList API command. To avoid mass client migration at the same time, it is better to have each client sleep a random short period of time before invoking updateServerList.

-

A few examples can be found in: StaticHostProviderTest.java and TestReconfig.cc

-

Example (this is not a recipe, but a simplified example just to explain the general idea):

-
public void process(WatchedEvent event) {
-    synchronized (this) {
-        if (event.getType() == EventType.None) {
-            connected = (event.getState() == KeeperState.SyncConnected);
-            notifyAll();
-        } else if (event.getPath()!=null &&  event.getPath().equals(ZooDefs.CONFIG_NODE)) {
-            // in prod code never block the event thread!
-            zk.sync(ZooDefs.CONFIG_NODE, this, null);
-            zk.getConfig(this, this, null);
-        }
-    }
-}
-
-public void processResult(int rc, String path, Object ctx, byte[] data, Stat stat) {
-    if (path!=null &&  path.equals(ZooDefs.CONFIG_NODE)) {
-        String config[] = ConfigUtils.getClientConfigStr(new String(data)).split(" ");   // similar to config -c
-        long version = Long.parseLong(config[0], 16);
-        if (this.configVersion == null){
-             this.configVersion = version;
-        } else if (version > this.configVersion) {
-            hostList = config[1];
-            try {
-                // the following command is not blocking but may cause the client to close the socket and
-                // migrate to a different server. In practice it's better to wait a short period of time, chosen
-                // randomly, so that different clients migrate at different times
-                zk.updateServerList(hostList);
-            } catch (IOException e) {
-                System.err.println("Error updating server list");
-                e.printStackTrace();
-            }
-            this.configVersion = version;
-        }
-    }
-}
-
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperSnapshotAndRestore.html b/content/doc/r3.9.5/zookeeperSnapshotAndRestore.html deleted file mode 100644 index 29e32bb51ad..00000000000 --- a/content/doc/r3.9.5/zookeeperSnapshotAndRestore.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Snapshot and Restore Guide

-

Zookeeper is designed to withstand machine failures. A Zookeeper cluster can automatically recover from temporary failures such as machine reboot. It can also tolerate up to (N-1)/2 permanent failures for a cluster of N members due to hardware failures or disk corruption, etc. When a member permanently fails, it loses access to the cluster. If the cluster permanently loses more than (N-1)/2 members, it disastrously fails and loses quorum. Once the quorum is lost, the cluster cannot reach consensus and therefore cannot continue to accept updates.

-

To recover from such disastrous failures, Zookeeper provides snapshot and restore functionalities to restore a cluster from a snapshot.

-
    -
  1. Snapshot and restore operate on the connected server via Admin Server APIs
  2. -
  3. Snapshot and restore are rate limited to protect the server from being overloaded
  4. -
  5. Snapshot and restore require authentication and authorization on the root path with ALL permission. The supported auth schemas are digest, x509 and IP.
  6. -
- -

-

Snapshot

-

Recovering a cluster needs a snapshot from a ZooKeeper cluster. Users can periodically take snapshots from a live server which has the highest zxid and stream out data to a local or external storage/file system (e.g., S3).

-
# The snapshot command takes snapshot from the server it connects to and rate limited to once every 5 mins by default
-curl -H 'Authorization: digest root:root_passwd' http://hostname:adminPort/commands/snapshot?streaming=true --output snapshotFileName
-
-

-

Restore

-

Restoring a cluster needs a single snapshot as input stream. Restore can be used for recovering a cluster for quorum lost or building a brand-new cluster with seed data.

-

All members should restore using the same snapshot. The following are the recommended steps:

-
    -
  • Blocking traffic on the client port or client secure port before restore starts
  • -
  • Take a snapshot of the latest database state using the snapshot admin server command if applicable
  • -
  • For each server
  • -
  • Moving the files in dataDir and dataLogDir to different location to prevent the restored database from being overwritten when server restarts after restore
  • -
  • Restore the server using restore admin server command
  • -
  • Unblocking traffic on the client port or client secure port after restore completes
  • -
-
# The restore command takes a snapshot as input stream and restore the db of the server it connects. It is rate limited to once every 5 mins by default
-curl -H 'Content-Type:application/octet-stream' -H 'Authorization: digest root:root_passwd' -POST http://hostname:adminPort/commands/restore --data-binary "@snapshotFileName" 
-
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperStarted.html b/content/doc/r3.9.5/zookeeperStarted.html deleted file mode 100644 index 1111909ea6b..00000000000 --- a/content/doc/r3.9.5/zookeeperStarted.html +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Getting Started Guide

- -

-

Getting Started: Coordinating Distributed Applications with ZooKeeper

-

This document contains information to get you started quickly with ZooKeeper. It is aimed primarily at developers hoping to try it out, and contains simple installation instructions for a single ZooKeeper server, a few commands to verify that it is running, and a simple programming example. Finally, as a convenience, there are a few sections regarding more complicated installations, for example running replicated deployments, and optimizing the transaction log. However for the complete instructions for commercial deployments, please refer to the ZooKeeper Administrator's Guide.

-

-

Pre-requisites

-

See System Requirements in the Admin guide.

-

-

Download

-

To get a ZooKeeper distribution, download a recent stable release from one of the Apache Download Mirrors.

-

-

Standalone Operation

-

Setting up a ZooKeeper server in standalone mode is straightforward. The server is contained in a single JAR file, so installation consists of creating a configuration.

-

Once you've downloaded a stable ZooKeeper release unpack it and cd to the root

-

To start ZooKeeper you need a configuration file. Here is a sample, create it in conf/zoo.cfg:

-
tickTime=2000
-dataDir=/var/lib/zookeeper
-clientPort=2181
-
-

This file can be called anything, but for the sake of this discussion call it conf/zoo.cfg. Change the value of dataDir to specify an existing (empty to start with) directory. Here are the meanings for each of the fields:

-
    -
  • -

    tickTime : the basic time unit in milliseconds used by ZooKeeper. It is used to do heartbeats and the minimum session timeout will be twice the tickTime.

    -
  • -
  • -

    dataDir : the location to store the in-memory database snapshots and, unless specified otherwise, the transaction log of updates to the database.

    -
  • -
  • -

    clientPort : the port to listen for client connections

    -
  • -
-

Now that you created the configuration file, you can start ZooKeeper:

-
bin/zkServer.sh start
-
-

ZooKeeper logs messages using logback -- more detail available in the Logging section of the Programmer's Guide. You will see log messages coming to the console (default) and/or a log file depending on the logback configuration.

-

The steps outlined here run ZooKeeper in standalone mode. There is no replication, so if ZooKeeper process fails, the service will go down. This is fine for most development situations, but to run ZooKeeper in replicated mode, please see Running Replicated ZooKeeper.

-

-

Managing ZooKeeper Storage

-

For long running production systems ZooKeeper storage must be managed externally (dataDir and logs). See the section on maintenance for more details.

-

-

Connecting to ZooKeeper

-
$ bin/zkCli.sh -server 127.0.0.1:2181
-
-

This lets you perform simple, file-like operations.

-

Once you have connected, you should see something like:

-
Connecting to localhost:2181
-...
-Welcome to ZooKeeper!
-JLine support is enabled
-[zkshell: 0]
-
-

From the shell, type help to get a listing of commands that can be executed from the client, as in:

-
[zkshell: 0] help
-ZooKeeper -server host:port cmd args
-addauth scheme auth
-close
-config [-c] [-w] [-s]
-connect host:port
-create [-s] [-e] [-c] [-t ttl] path [data] [acl]
-delete [-v version] path
-deleteall path
-delquota [-n|-b] path
-get [-s] [-w] path
-getAcl [-s] path
-getAllChildrenNumber path
-getEphemerals path
-history
-listquota path
-ls [-s] [-w] [-R] path
-printwatches on|off
-quit
-reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*]
-redo cmdno
-removewatches path [-c|-d|-a] [-l]
-set [-s] [-v version] path data
-setAcl [-s] [-v version] [-R] path acl
-setquota -n|-b val path
-stat [-w] path
-sync path
-
-

From here, you can try a few simple commands to get a feel for this simple command line interface. First, start by issuing the list command, as in ls, yielding:

-
[zkshell: 8] ls /
-[zookeeper]
-
-

Next, create a new znode by running create /zk_test my_data. This creates a new znode and associates the string "my_data" with the node. You should see:

-
[zkshell: 9] create /zk_test my_data
-Created /zk_test
-
-

Issue another ls / command to see what the directory looks like:

-
[zkshell: 11] ls /
-[zookeeper, zk_test]
-
-

Notice that the zk_test directory has now been created.

-

Next, verify that the data was associated with the znode by running the get command, as in:

-
[zkshell: 12] get /zk_test
-my_data
-cZxid = 5
-ctime = Fri Jun 05 13:57:06 PDT 2009
-mZxid = 5
-mtime = Fri Jun 05 13:57:06 PDT 2009
-pZxid = 5
-cversion = 0
-dataVersion = 0
-aclVersion = 0
-ephemeralOwner = 0
-dataLength = 7
-numChildren = 0
-
-

We can change the data associated with zk_test by issuing the set command, as in:

-
[zkshell: 14] set /zk_test junk
-cZxid = 5
-ctime = Fri Jun 05 13:57:06 PDT 2009
-mZxid = 6
-mtime = Fri Jun 05 14:01:52 PDT 2009
-pZxid = 5
-cversion = 0
-dataVersion = 1
-aclVersion = 0
-ephemeralOwner = 0
-dataLength = 4
-numChildren = 0
-[zkshell: 15] get /zk_test
-junk
-cZxid = 5
-ctime = Fri Jun 05 13:57:06 PDT 2009
-mZxid = 6
-mtime = Fri Jun 05 14:01:52 PDT 2009
-pZxid = 5
-cversion = 0
-dataVersion = 1
-aclVersion = 0
-ephemeralOwner = 0
-dataLength = 4
-numChildren = 0
-
-

(Notice we did a get after setting the data and it did, indeed, change.

-

Finally, let's delete the node by issuing:

-
[zkshell: 16] delete /zk_test
-[zkshell: 17] ls /
-[zookeeper]
-[zkshell: 18]
-
-

That's it for now. To explore more, see the Zookeeper CLI.

-

-

Programming to ZooKeeper

-

ZooKeeper has a Java bindings and C bindings. They are functionally equivalent. The C bindings exist in two variants: single threaded and multi-threaded. These differ only in how the messaging loop is done. For more information, see the Programming Examples in the ZooKeeper Programmer's Guide for sample code using the different APIs.

-

-

Running Replicated ZooKeeper

-

Running ZooKeeper in standalone mode is convenient for evaluation, some development, and testing. But in production, you should run ZooKeeper in replicated mode. A replicated group of servers in the same application is called a quorum, and in replicated mode, all servers in the quorum have copies of the same configuration file.

-
Note
-
-

For replicated mode, a minimum of three servers are required, and it is strongly recommended that you have an odd number of servers. If you only have two servers, then you are in a situation where if one of them fails, there are not enough machines to form a majority quorum. Two servers are inherently less stable than a single server, because there are two single points of failure.

-
-

The required conf/zoo.cfg file for replicated mode is similar to the one used in standalone mode, but with a few differences. Here is an example:

-
tickTime=2000
-dataDir=/var/lib/zookeeper
-clientPort=2181
-initLimit=5
-syncLimit=2
-server.1=zoo1:2888:3888
-server.2=zoo2:2888:3888
-server.3=zoo3:2888:3888
-
-

The new entry, initLimit is timeouts ZooKeeper uses to limit the length of time the ZooKeeper servers in quorum have to connect to a leader. The entry syncLimit limits how far out of date a server can be from a leader.

-

With both of these timeouts, you specify the unit of time using tickTime. In this example, the timeout for initLimit is 5 ticks at 2000 milliseconds a tick, or 10 seconds.

-

The entries of the form server.X list the servers that make up the ZooKeeper service. When the server starts up, it knows which server it is by looking for the file myid in the data directory. That file has the contains the server number, in ASCII.

-

Finally, note the two port numbers after each server name: " 2888" and "3888". Peers use the former port to connect to other peers. Such a connection is necessary so that peers can communicate, for example, to agree upon the order of updates. More specifically, a ZooKeeper server uses this port to connect followers to the leader. When a new leader arises, a follower opens a TCP connection to the leader using this port. Because the default leader election also uses TCP, we currently require another port for leader election. This is the second port in the server entry.

-
Note
-
-

If you want to test multiple servers on a single machine, specify the servername as localhost with unique quorum & leader election ports (i.e. 2888:3888, 2889:3889, 2890:3890 in the example above) for each server.X in that server's config file. Of course separate _dataDir_s and distinct _clientPort_s are also necessary (in the above replicated example, running on a single localhost, you would still have three config files).

-

Please be aware that setting up multiple servers on a single machine will not create any redundancy. If something were to happen which caused the machine to die, all of the zookeeper servers would be offline. Full redundancy requires that each server have its own machine. It must be a completely separate physical server. Multiple virtual machines on the same physical host are still vulnerable to the complete failure of that host.

-

If you have multiple network interfaces in your ZooKeeper machines, you can also instruct ZooKeeper to bind on all of your interfaces and automatically switch to a healthy interface in case of a network failure. For details, see the Configuration Parameters.

-
-

-

Other Optimizations

-

There are a couple of other configuration parameters that can greatly increase performance:

-
    -
  • To get low latencies on updates it is important to have a dedicated transaction log directory. By default transaction logs are put in the same directory as the data snapshots and myid file. The dataLogDir parameters indicates a different directory to use for the transaction logs.
  • -
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperTools.html b/content/doc/r3.9.5/zookeeperTools.html deleted file mode 100644 index ca3b915b6b5..00000000000 --- a/content/doc/r3.9.5/zookeeperTools.html +++ /dev/null @@ -1,724 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

A series of tools for ZooKeeper

- -

-

Scripts

-

-

zkServer.sh

-

A command for the operations for the ZooKeeper server.

-
Usage: ./zkServer.sh {start|start-foreground|stop|version|restart|status|upgrade|print-cmd}
-# start the server
-./zkServer.sh start
-
-# start the server in the foreground for debugging
-./zkServer.sh start-foreground
-
-# stop the server
-./zkServer.sh stop
-
-# restart the server
-./zkServer.sh restart
-
-# show the status,mode,role of the server
-./zkServer.sh status
-JMX enabled by default
-Using config: /data/software/zookeeper/conf/zoo.cfg
-Mode: standalone
-
-# Deprecated
-./zkServer.sh upgrade
-
-# print the parameters of the start-up
-./zkServer.sh print-cmd
-
-# show the version of the ZooKeeper server
-./zkServer.sh version
-Apache ZooKeeper, version 3.6.0-SNAPSHOT 06/11/2019 05:39 GMT
-
-
-

The status command establishes a client connection to the server to execute diagnostic commands. When the ZooKeeper cluster is started in client SSL only mode (by omitting the clientPort from the zoo.cfg), then additional SSL related configuration has to be provided before using the ./zkServer.sh status command to find out if the ZooKeeper server is running. An example:

-
CLIENT_JVMFLAGS="-Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.ssl.trustStore.location=/tmp/clienttrust.jks -Dzookeeper.ssl.trustStore.password=password -Dzookeeper.ssl.keyStore.location=/tmp/client.jks -Dzookeeper.ssl.keyStore.password=password -Dzookeeper.client.secure=true" ./zkServer.sh status
-
-

-

zkCli.sh

-

Look at the ZooKeeperCLI

-

-

zkEnv.sh

-

The environment setting for the ZooKeeper server

-
# the setting of log property
-ZOO_LOG_DIR: the directory to store the logs
-
-

-

zkCleanup.sh

-

Clean up the old snapshots and transaction logs.

-
Usage:
-     * args dataLogDir [snapDir] -n count
-     * dataLogDir -- path to the txn log directory
-     * snapDir -- path to the snapshot directory
-     * count -- the number of old snaps/logs you want to keep, value should be greater than or equal to 3
-# Keep the latest 5 logs and snapshots
-./zkCleanup.sh -n 5
-
-

-

zkTxnLogToolkit.sh

-

TxnLogToolkit is a command line tool shipped with ZooKeeper which is capable of recovering transaction log entries with broken CRC.

-

Running it without any command line parameters or with the -h,--help argument, it outputs the following help page:

-
$ bin/zkTxnLogToolkit.sh
-usage: TxnLogToolkit [-dhrv] txn_log_file_name
--d,--dump      Dump mode. Dump all entries of the log file. (this is the default)
--h,--help      Print help message
--r,--recover   Recovery mode. Re-calculate CRC for broken entries.
--v,--verbose   Be verbose in recovery mode: print all entries, not just fixed ones.
--y,--yes       Non-interactive mode: repair all CRC errors without asking
-
-

The default behaviour is safe: it dumps the entries of the given transaction log file to the screen: (same as using -d,--dump parameter)

-
$ bin/zkTxnLogToolkit.sh log.100000001
-ZooKeeper Transactional Log File with dbid 0 txnlog format version 2
-4/5/18 2:15:58 PM CEST session 0x16295bafcc40000 cxid 0x0 zxid 0x100000001 createSession 30000
-CRC ERROR - 4/5/18 2:16:05 PM CEST session 0x16295bafcc40000 cxid 0x1 zxid 0x100000002 closeSession null
-4/5/18 2:16:05 PM CEST session 0x16295bafcc40000 cxid 0x1 zxid 0x100000002 closeSession null
-4/5/18 2:16:12 PM CEST session 0x26295bafcc90000 cxid 0x0 zxid 0x100000003 createSession 30000
-4/5/18 2:17:34 PM CEST session 0x26295bafcc90000 cxid 0x0 zxid 0x200000001 closeSession null
-4/5/18 2:17:34 PM CEST session 0x16295bd23720000 cxid 0x0 zxid 0x200000002 createSession 30000
-4/5/18 2:18:02 PM CEST session 0x16295bd23720000 cxid 0x2 zxid 0x200000003 create '/andor,#626262,v{s{31,s{'world,'anyone}}},F,1
-EOF reached after 6 txns.
-
-

There's a CRC error in the 2nd entry of the above transaction log file. In dump mode, the toolkit only prints this information to the screen without touching the original file. In recovery mode (-r,--recover flag) the original file still remains untouched and all transactions will be copied over to a new txn log file with ".fixed" suffix. It recalculates CRC values and copies the calculated value, if it doesn't match the original txn entry. By default, the tool works interactively: it asks for confirmation whenever CRC error encountered.

-
$ bin/zkTxnLogToolkit.sh -r log.100000001
-ZooKeeper Transactional Log File with dbid 0 txnlog format version 2
-CRC ERROR - 4/5/18 2:16:05 PM CEST session 0x16295bafcc40000 cxid 0x1 zxid 0x100000002 closeSession null
-Would you like to fix it (Yes/No/Abort) ?
-
-

Answering Yes means the newly calculated CRC value will be outputted to the new file. No means that the original CRC value will be copied over. Abort will abort the entire operation and exits. (In this case the ".fixed" will not be deleted and left in a half-complete state: contains only entries which have already been processed or only the header if the operation was aborted at the first entry.)

-
$ bin/zkTxnLogToolkit.sh -r log.100000001
-ZooKeeper Transactional Log File with dbid 0 txnlog format version 2
-CRC ERROR - 4/5/18 2:16:05 PM CEST session 0x16295bafcc40000 cxid 0x1 zxid 0x100000002 closeSession null
-Would you like to fix it (Yes/No/Abort) ? y
-EOF reached after 6 txns.
-Recovery file log.100000001.fixed has been written with 1 fixed CRC error(s)
-
-

The default behaviour of recovery is to be silent: only entries with CRC error get printed to the screen. One can turn on verbose mode with the -v,--verbose parameter to see all records. Interactive mode can be turned off with the -y,--yes parameter. In this case all CRC errors will be fixed in the new transaction file.

-

-

zkSnapShotToolkit.sh

-

Dump a snapshot file to stdout, showing the detailed information of the each zk-node.

-
# help
-./zkSnapShotToolkit.sh
-/usr/bin/java
-USAGE: SnapshotFormatter [-d|-json] snapshot_file
-       -d dump the data for each znode
-       -json dump znode info in json format
-
-# show the each zk-node info without data content
-./zkSnapShotToolkit.sh /data/zkdata/version-2/snapshot.fa01000186d
-/zk-latencies_4/session_946
-  cZxid = 0x00000f0003110b
-  ctime = Wed Sep 19 21:58:22 CST 2018
-  mZxid = 0x00000f0003110b
-  mtime = Wed Sep 19 21:58:22 CST 2018
-  pZxid = 0x00000f0003110b
-  cversion = 0
-  dataVersion = 0
-  aclVersion = 0
-  ephemeralOwner = 0x00000000000000
-  dataLength = 100
-
-# [-d] show the each zk-node info with data content
-./zkSnapShotToolkit.sh -d /data/zkdata/version-2/snapshot.fa01000186d
-/zk-latencies2/session_26229
-  cZxid = 0x00000900007ba0
-  ctime = Wed Aug 15 20:13:52 CST 2018
-  mZxid = 0x00000900007ba0
-  mtime = Wed Aug 15 20:13:52 CST 2018
-  pZxid = 0x00000900007ba0
-  cversion = 0
-  dataVersion = 0
-  aclVersion = 0
-  ephemeralOwner = 0x00000000000000
-  data = eHh4eHh4eHh4eHh4eA==
-
-# [-json] show the each zk-node info with json format
-./zkSnapShotToolkit.sh -json /data/zkdata/version-2/snapshot.fa01000186d
-[[1,0,{"progname":"SnapshotFormatter.java","progver":"0.01","timestamp":1559788148637},[{"name":"\/","asize":0,"dsize":0,"dev":0,"ino":1001},[{"name":"zookeeper","asize":0,"dsize":0,"dev":0,"ino":1002},{"name":"config","asize":0,"dsize":0,"dev":0,"ino":1003},[{"name":"quota","asize":0,"dsize":0,"dev":0,"ino":1004},[{"name":"test","asize":0,"dsize":0,"dev":0,"ino":1005},{"name":"zookeeper_limits","asize":52,"dsize":52,"dev":0,"ino":1006},{"name":"zookeeper_stats","asize":15,"dsize":15,"dev":0,"ino":1007}]]],{"name":"test","asize":0,"dsize":0,"dev":0,"ino":1008}]]
-
-

-

zkSnapshotRecursiveSummaryToolkit.sh

-

Recursively collect and display child count and data size for a selected node.

-
$./zkSnapshotRecursiveSummaryToolkit.sh
-USAGE:
-
-SnapshotRecursiveSummary  <snapshot_file>  <starting_node>  <max_depth>
-
-snapshot_file:    path to the zookeeper snapshot
-starting_node:    the path in the zookeeper tree where the traversal should begin
-max_depth:        defines the depth where the tool still writes to the output. 0 means there is no depth limit, every non-leaf node's stats will be displayed, 1 means it will only contain the starting node's and it's children's stats, 2 ads another level and so on. This ONLY affects the level of details displayed, NOT the calculation.
-
-
# recursively collect and display child count and data for the root node and 2 levels below it
-./zkSnapshotRecursiveSummaryToolkit.sh /data/zkdata/version-2/snapshot.fa01000186d / 2
-
-/
-   children: 1250511
-   data: 1952186580
--- /zookeeper
---   children: 1
---   data: 0
--- /solr
---   children: 1773
---   data: 8419162
----- /solr/configs
-----   children: 1640
-----   data: 8407643
----- /solr/overseer
-----   children: 6
-----   data: 0
----- /solr/live_nodes
-----   children: 3
-----   data: 0
-
-

-

zkSnapshotComparer.sh

-

SnapshotComparer is a tool that loads and compares two snapshots with configurable threshold and various filters, and outputs information about the delta.

-

The delta includes specific znode paths added, updated, deleted comparing one snapshot to another.

-

It's useful in use cases that involve snapshot analysis, such as offline data consistency checking, and data trending analysis (e.g. what's growing under which zNode path during when).

-

This tool only outputs information about permanent nodes, ignoring both sessions and ephemeral nodes.

-

It provides two tuning parameters to help filter out noise: 1. --nodes Threshold number of children added/removed; 2. --bytes Threshold number of bytes added/removed.

-

Locate Snapshots

-

Snapshots can be found in Zookeeper Data Directory which configured in conf/zoo.cfg when set up Zookeeper server.

-

Supported Snapshot Formats

-

This tool supports uncompressed snapshot format, and compressed snapshot file formats: snappy and gz. Snapshots with different formats can be compared using this tool directly without decompression.

-

Running the Tool

-

Running the tool with no command line argument or an unrecognized argument, it outputs the following help page:

-
usage: java -cp <classPath> org.apache.zookeeper.server.SnapshotComparer
- -b,--bytes <BYTETHRESHOLD>   (Required) The node data delta size threshold, in bytes, for printing the node.
- -d,--debug                   Use debug output.
- -i,--interactive             Enter interactive mode.
- -l,--left <LEFT>             (Required) The left snapshot file.
- -n,--nodes <NODETHRESHOLD>   (Required) The descendant node delta size threshold, in nodes, for printing the node.
- -r,--right <RIGHT>           (Required) The right snapshot file.
-
-

Example Command:

-
./bin/zkSnapshotComparer.sh -l /zookeeper-data/backup/snapshot.d.snappy -r /zookeeper-data/backup/snapshot.44 -b 2 -n 1
-
-

Example Output:

-
...
-Deserialized snapshot in snapshot.44 in 0.002741 seconds
-Processed data tree in 0.000361 seconds
-Node count: 10
-Total size: 0
-Max depth: 4
-Count of nodes at depth 0: 1
-Count of nodes at depth 1: 2
-Count of nodes at depth 2: 4
-Count of nodes at depth 3: 3
-
-Node count: 22
-Total size: 2903
-Max depth: 5
-Count of nodes at depth 0: 1
-Count of nodes at depth 1: 2
-Count of nodes at depth 2: 4
-Count of nodes at depth 3: 7
-Count of nodes at depth 4: 8
-
-Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
-Analysis for depth 0
-Node  found in both trees. Delta: 2903 bytes, 12 descendants
-Analysis for depth 1
-Node /zk_test found in both trees. Delta: 2903 bytes, 12 descendants
-Analysis for depth 2
-Node /zk_test/gz found in both trees. Delta: 730 bytes, 3 descendants
-Node /zk_test/snappy found in both trees. Delta: 2173 bytes, 9 descendants
-Analysis for depth 3
-Node /zk_test/gz/12345 found in both trees. Delta: 9 bytes, 1 descendants
-Node /zk_test/gz/a found only in right tree. Descendant size: 721. Descendant count: 0
-Node /zk_test/snappy/anotherTest found in both trees. Delta: 1738 bytes, 2 descendants
-Node /zk_test/snappy/test_1 found only in right tree. Descendant size: 344. Descendant count: 3
-Node /zk_test/snappy/test_2 found only in right tree. Descendant size: 91. Descendant count: 2
-Analysis for depth 4
-Node /zk_test/gz/12345/abcdef found only in right tree. Descendant size: 9. Descendant count: 0
-Node /zk_test/snappy/anotherTest/abc found only in right tree. Descendant size: 1738. Descendant count: 0
-Node /zk_test/snappy/test_1/a found only in right tree. Descendant size: 93. Descendant count: 0
-Node /zk_test/snappy/test_1/b found only in right tree. Descendant size: 251. Descendant count: 0
-Node /zk_test/snappy/test_2/xyz found only in right tree. Descendant size: 33. Descendant count: 0
-Node /zk_test/snappy/test_2/y found only in right tree. Descendant size: 58. Descendant count: 0
-All layers compared.
-
-

Interactive Mode

-

Use "-i" or "--interactive" to enter interactive mode:

-
./bin/zkSnapshotComparer.sh -l /zookeeper-data/backup/snapshot.d.snappy -r /zookeeper-data/backup/snapshot.44 -b 2 -n 1 -i
-
-

There are three options to proceed:

-
- Press enter to move to print current depth layer;
-- Type a number to jump to and print all nodes at a given depth;
-- Enter an ABSOLUTE path to print the immediate subtree of a node. Path must start with '/'.
-
-

Note: As indicated by the interactive messages, the tool only shows analysis on the result that filtered by tuning parameters bytes threshold and nodes threshold.

-

Press enter to print current depth layer:

-
Current depth is 0
-Press enter to move to print current depth layer;
-...
-Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
-Analysis for depth 0
-Node  found in both trees. Delta: 2903 bytes, 12 descendants
-
-

Type a number to jump to and print all nodes at a given depth:

-

(Jump forward)

-
Current depth is 1
-...
-Type a number to jump to and print all nodes at a given depth;
-...
-3
-Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
-Analysis for depth 3
-Node /zk_test/gz/12345 found in both trees. Delta: 9 bytes, 1 descendants
-Node /zk_test/gz/a found only in right tree. Descendant size: 721. Descendant count: 0
-Filtered node /zk_test/gz/anotherOne of left size 0, right size 0
-Filtered right node /zk_test/gz/b of size 0
-Node /zk_test/snappy/anotherTest found in both trees. Delta: 1738 bytes, 2 descendants
-Node /zk_test/snappy/test_1 found only in right tree. Descendant size: 344. Descendant count: 3
-Node /zk_test/snappy/test_2 found only in right tree. Descendant size: 91. Descendant count: 2
-
-

(Jump back)

-
Current depth is 3
-...
-Type a number to jump to and print all nodes at a given depth;
-...
-0
-Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
-Analysis for depth 0
-Node  found in both trees. Delta: 2903 bytes, 12 descendants
-
-

Out of range depth is handled:

-
Current depth is 1
-...
-Type a number to jump to and print all nodes at a given depth;
-...
-10
-Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
-Depth must be in range [0, 4]
-
-

Enter an ABSOLUTE path to print the immediate subtree of a node:

-
Current depth is 3
-...
-Enter an ABSOLUTE path to print the immediate subtree of a node.
-/zk_test
-Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
-Analysis for node /zk_test
-Node /zk_test/gz found in both trees. Delta: 730 bytes, 3 descendants
-Node /zk_test/snappy found in both trees. Delta: 2173 bytes, 9 descendants
-
-

Invalid path is handled:

-
Current depth is 3
-...
-Enter an ABSOLUTE path to print the immediate subtree of a node.
-/non-exist-path
-Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
-Analysis for node /non-exist-path
-Path /non-exist-path is neither found in left tree nor right tree.
-
-

Invalid input is handled:

-
Current depth is 1
-- Press enter to move to print current depth layer;
-- Type a number to jump to and print all nodes at a given depth;
-- Enter an ABSOLUTE path to print the immediate subtree of a node. Path must start with '/'.
-12223999999999999999999999999999999999999
-Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
-Input 12223999999999999999999999999999999999999 is not valid. Depth must be in range [0, 4]. Path must be an absolute path which starts with '/'.
-
-

Exit interactive mode automatically when all layers are compared:

-
Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
-Analysis for depth 4
-Node /zk_test/gz/12345/abcdef found only in right tree. Descendant size: 9. Descendant count: 0
-Node /zk_test/snappy/anotherTest/abc found only in right tree. Descendant size: 1738. Descendant count: 0
-Filtered right node /zk_test/snappy/anotherTest/abcd of size 0
-Node /zk_test/snappy/test_1/a found only in right tree. Descendant size: 93. Descendant count: 0
-Node /zk_test/snappy/test_1/b found only in right tree. Descendant size: 251. Descendant count: 0
-Filtered right node /zk_test/snappy/test_1/c of size 0
-Node /zk_test/snappy/test_2/xyz found only in right tree. Descendant size: 33. Descendant count: 0
-Node /zk_test/snappy/test_2/y found only in right tree. Descendant size: 58. Descendant count: 0
-All layers compared.
-
-

Or use ^c to exit interactive mode anytime.

-

-

Benchmark

-

-

YCSB

-

Quick Start

-

This section describes how to run YCSB on ZooKeeper.

-

1. Start ZooKeeper Server(s)

-

2. Install Java and Maven

-

3. Set Up YCSB

-

Git clone YCSB and compile:

-
git clone http://github.com/brianfrankcooper/YCSB.git
-# more details in the landing page for instructions on downloading YCSB(https://github.com/brianfrankcooper/YCSB#getting-started).
-cd YCSB
-mvn -pl site.ycsb:zookeeper-binding -am clean package -DskipTests
-
-

4. Provide ZooKeeper Connection Parameters

-

Set connectString, sessionTimeout, watchFlag in the workload you plan to run.

-
    -
  • zookeeper.connectString
  • -
  • zookeeper.sessionTimeout
  • -
  • zookeeper.watchFlag
  • -
  • A parameter for enabling ZooKeeper's watch, optional values:true or false.the default value is false.
  • -
  • This parameter cannot test the watch performance, but for testing what effect will take on the read/write requests when enabling the watch. -
    ./bin/ycsb run zookeeper -s -P workloads/workloadb -p zookeeper.connectString=127.0.0.1:2181/benchmark -p zookeeper.watchFlag=true
    -
    -
  • -
-

Or, you can set configs with the shell command, EG:

-
# create a /benchmark namespace for sake of cleaning up the workspace after test.
-# e.g the CLI:create /benchmark
-./bin/ycsb run zookeeper -s -P workloads/workloadb -p zookeeper.connectString=127.0.0.1:2181/benchmark -p zookeeper.sessionTimeout=30000
-
-

5. Load data and run tests

-

Load the data:

-
# -p recordcount,the count of records/paths you want to insert
-./bin/ycsb load zookeeper -s -P workloads/workloadb -p zookeeper.connectString=127.0.0.1:2181/benchmark -p recordcount=10000 > outputLoad.txt
-
-

Run the workload test:

-
# YCSB workloadb is the most suitable workload for read-heavy workload for the ZooKeeper in the real world.
-
-# -p fieldlength, test the length of value/data-content took effect on performance
-./bin/ycsb run zookeeper -s -P workloads/workloadb -p zookeeper.connectString=127.0.0.1:2181/benchmark -p fieldlength=1000
-
-# -p fieldcount
-./bin/ycsb run zookeeper -s -P workloads/workloadb -p zookeeper.connectString=127.0.0.1:2181/benchmark -p fieldcount=20
-
-# -p hdrhistogram.percentiles,show the hdrhistogram benchmark result
-./bin/ycsb run zookeeper -threads 1 -P workloads/workloadb -p zookeeper.connectString=127.0.0.1:2181/benchmark -p hdrhistogram.percentiles=10,25,50,75,90,95,99,99.9 -p histogram.buckets=500
-
-# -threads: multi-clients test, increase the **maxClientCnxns** in the zoo.cfg to handle more connections.
-./bin/ycsb run zookeeper -threads 10 -P workloads/workloadb -p zookeeper.connectString=127.0.0.1:2181/benchmark
-
-# show the timeseries benchmark result
-./bin/ycsb run zookeeper -threads 1 -P workloads/workloadb -p zookeeper.connectString=127.0.0.1:2181/benchmark -p measurementtype=timeseries -p timeseries.granularity=50
-
-# cluster test
-./bin/ycsb run zookeeper -P workloads/workloadb -p zookeeper.connectString=192.168.10.43:2181,192.168.10.45:2181,192.168.10.27:2181/benchmark
-
-# test leader's read/write performance by setting zookeeper.connectString to leader's(192.168.10.43:2181)
-./bin/ycsb run zookeeper -P workloads/workloadb -p zookeeper.connectString=192.168.10.43:2181/benchmark
-
-# test for large znode(by default: jute.maxbuffer is 1048575 bytes/1 MB ). Notice:jute.maxbuffer should also be set the same value in all the zk servers.
-./bin/ycsb run zookeeper -jvm-args="-Djute.maxbuffer=4194304" -s -P workloads/workloadc -p zookeeper.connectString=127.0.0.1:2181/benchmark
-
-# Cleaning up the workspace after finishing the benchmark.
-# e.g the CLI:deleteall /benchmark
-
-

-

zk-smoketest

-

zk-smoketest provides a simple smoketest client for a ZooKeeper ensemble. Useful for verifying new, updated, existing installations. More details are here.

-

-

Testing

-

-

Fault Injection Framework

-

-

Byteman

-
    -
  • Byteman is a tool which makes it easy to trace, monitor and test the behaviour of Java application and JDK runtime code. It injects Java code into your application methods or into Java runtime methods without the need for you to recompile, repackage or even redeploy your application. Injection can be performed at JVM startup or after startup while the application is still running.
  • -
  • Visit the official website to download the latest release
  • -
  • A brief tutorial can be found here -
    Preparations:
    -# attach the byteman to 3 zk servers during runtime
    -# 55001,55002,55003 is byteman binding port; 714,740,758 is the zk server pid
    -./bminstall.sh -b -Dorg.jboss.byteman.transform.all -Dorg.jboss.byteman.verbose -p 55001 714
    -./bminstall.sh -b -Dorg.jboss.byteman.transform.all -Dorg.jboss.byteman.verbose -p 55002 740
    -./bminstall.sh -b -Dorg.jboss.byteman.transform.all -Dorg.jboss.byteman.verbose -p 55003 758
    -
    -# load the fault injection script
    -./bmsubmit.sh -p 55002 -l my_zk_fault_injection.btm
    -# unload the fault injection script
    -./bmsubmit.sh -p 55002 -u my_zk_fault_injectionr.btm
    -
    -
  • -
-

Look at the below examples to customize your byteman fault injection script

-

Example 1: This script makes leader's zxid roll over, to force re-election.

-
cat zk_leader_zxid_roll_over.btm
-
-RULE trace zk_leader_zxid_roll_over
-CLASS org.apache.zookeeper.server.quorum.Leader
-METHOD propose
-IF true
-DO
-  traceln("*** Leader zxid has rolled over, forcing re-election ***");
-  $1.zxid = 4294967295L
-ENDRULE
-
-

Example 2: This script makes the leader drop the ping packet to a specific follower. The leader will close the LearnerHandler with that follower, and the follower will enter the state:LOOKING then re-enter the quorum with the state:FOLLOWING

-
cat zk_leader_drop_ping_packet.btm
-
-RULE trace zk_leader_drop_ping_packet
-CLASS org.apache.zookeeper.server.quorum.LearnerHandler
-METHOD ping
-AT ENTRY
-IF $0.sid == 2
-DO
-  traceln("*** Leader drops ping packet to sid: 2 ***");
-  return;
-ENDRULE
-
-

Example 3: This script makes one follower drop ACK packet which has no big effect in the broadcast phrase, since after receiving the majority of ACKs from the followers, the leader can commit that proposal

-
cat zk_leader_drop_ping_packet.btm
-
-RULE trace zk.follower_drop_ack_packet
-CLASS org.apache.zookeeper.server.quorum.SendAckRequestProcessor
-METHOD processRequest
-AT ENTRY
-IF true
-DO
-  traceln("*** Follower drops ACK packet ***");
-  return;
-ENDRULE
-
-

-

Jepsen Test

-

A framework for distributed systems verification, with fault injection. Jepsen has been used to verify everything from eventually-consistent commutative databases to linearizable coordination systems to distributed task schedulers. more details can be found in jepsen-io

-

Running the Dockerized Jepsen is the simplest way to use the Jepsen.

-

Installation:

-
git clone git@github.com:jepsen-io/jepsen.git
-cd docker
-# maybe a long time for the first init.
-./up.sh
-# docker ps to check one control node and five db nodes are up
-docker ps
-     CONTAINER ID        IMAGE               COMMAND                 CREATED             STATUS              PORTS                     NAMES
-     8265f1d3f89c        docker_control      "/bin/sh -c /init.sh"   9 hours ago         Up 4 hours          0.0.0.0:32769->8080/tcp   jepsen-control
-     8a646102da44        docker_n5           "/run.sh"               9 hours ago         Up 3 hours          22/tcp                    jepsen-n5
-     385454d7e520        docker_n1           "/run.sh"               9 hours ago         Up 9 hours          22/tcp                    jepsen-n1
-     a62d6a9d5f8e        docker_n2           "/run.sh"               9 hours ago         Up 9 hours          22/tcp                    jepsen-n2
-     1485e89d0d9a        docker_n3           "/run.sh"               9 hours ago         Up 9 hours          22/tcp                    jepsen-n3
-     27ae01e1a0c5        docker_node         "/run.sh"               9 hours ago         Up 9 hours          22/tcp                    jepsen-node
-     53c444b00ebd        docker_n4           "/run.sh"               9 hours ago         Up 9 hours          22/tcp                    jepsen-n4
-
-

Running & Test

-
# Enter into the container:jepsen-control
-docker exec -it jepsen-control bash
-# Test
-cd zookeeper && lein run test --concurrency 10
-# See something like the following to assert that ZooKeeper has passed the Jepsen test
-INFO [2019-04-01 11:25:23,719] jepsen worker 8 - jepsen.util 8	:ok	:read	2
-INFO [2019-04-01 11:25:23,722] jepsen worker 3 - jepsen.util 3	:invoke	:cas	[0 4]
-INFO [2019-04-01 11:25:23,760] jepsen worker 3 - jepsen.util 3	:fail	:cas	[0 4]
-INFO [2019-04-01 11:25:23,791] jepsen worker 1 - jepsen.util 1	:invoke	:read	nil
-INFO [2019-04-01 11:25:23,794] jepsen worker 1 - jepsen.util 1	:ok	:read	2
-INFO [2019-04-01 11:25:24,038] jepsen worker 0 - jepsen.util 0	:invoke	:write	4
-INFO [2019-04-01 11:25:24,073] jepsen worker 0 - jepsen.util 0	:ok	:write	4
-...............................................................................
-Everything looks good! ヽ(‘ー`)ノ
-
-
-

Reference: read this blog to learn more about the Jepsen test for the Zookeeper.

-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperTutorial.html b/content/doc/r3.9.5/zookeeperTutorial.html deleted file mode 100644 index 451e2d2f31d..00000000000 --- a/content/doc/r3.9.5/zookeeperTutorial.html +++ /dev/null @@ -1,736 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

Programming with ZooKeeper - A basic tutorial

- -

-

Introduction

-

In this tutorial, we show simple implementations of barriers and producer-consumer queues using ZooKeeper. We call the respective classes Barrier and Queue. These examples assume that you have at least one ZooKeeper server running.

-

Both primitives use the following common excerpt of code:

-
static ZooKeeper zk = null;
-static Integer mutex;
-
-String root;
-
-SyncPrimitive(String address) {
-    if(zk == null){
-        try {
-            System.out.println("Starting ZK:");
-            zk = new ZooKeeper(address, 3000, this);
-            mutex = new Integer(-1);
-            System.out.println("Finished starting ZK: " + zk);
-        } catch (IOException e) {
-            System.out.println(e.toString());
-            zk = null;
-        }
-    }
-}
-
-synchronized public void process(WatchedEvent event) {
-    synchronized (mutex) {
-        mutex.notify();
-    }
-}
-
-

Both classes extend SyncPrimitive. In this way, we execute steps that are common to all primitives in the constructor of SyncPrimitive. To keep the examples simple, we create a ZooKeeper object the first time we instantiate either a barrier object or a queue object, and we declare a static variable that is a reference to this object. The subsequent instances of Barrier and Queue check whether a ZooKeeper object exists. Alternatively, we could have the application creating a ZooKeeper object and passing it to the constructor of Barrier and Queue.

-

We use the process() method to process notifications triggered due to watches. In the following discussion, we present code that sets watches. A watch is internal structure that enables ZooKeeper to notify a client of a change to a node. For example, if a client is waiting for other clients to leave a barrier, then it can set a watch and wait for modifications to a particular node, which can indicate that it is the end of the wait. This point becomes clear once we go over the examples.

-

-

Barriers

-

A barrier is a primitive that enables a group of processes to synchronize the beginning and the end of a computation. The general idea of this implementation is to have a barrier node that serves the purpose of being a parent for individual process nodes. Suppose that we call the barrier node "/b1". Each process "p" then creates a node "/b1/p". Once enough processes have created their corresponding nodes, joined processes can start the computation.

-

In this example, each process instantiates a Barrier object, and its constructor takes as parameters:

-
    -
  • the address of a ZooKeeper server (e.g., "zoo1.foo.com:2181")
  • -
  • the path of the barrier node on ZooKeeper (e.g., "/b1")
  • -
  • the size of the group of processes
  • -
-

The constructor of Barrier passes the address of the Zookeeper server to the constructor of the parent class. The parent class creates a ZooKeeper instance if one does not exist. The constructor of Barrier then creates a barrier node on ZooKeeper, which is the parent node of all process nodes, and we call root (Note: This is not the ZooKeeper root "/").

-
/**
- * Barrier constructor
- *
- * @param address
- * @param root
- * @param size
- */
-Barrier(String address, String root, int size) {
-    super(address);
-    this.root = root;
-    this.size = size;
-    // Create barrier node
-    if (zk != null) {
-        try {
-            Stat s = zk.exists(root, false);
-            if (s == null) {
-                zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE,
-                        CreateMode.PERSISTENT);
-            }
-        } catch (KeeperException e) {
-            System.out
-                    .println("Keeper exception when instantiating queue: "
-                            + e.toString());
-        } catch (InterruptedException e) {
-            System.out.println("Interrupted exception");
-        }
-    }
-
-    // My node name
-    try {
-        name = new String(InetAddress.getLocalHost().getCanonicalHostName().toString());
-    } catch (UnknownHostException e) {
-        System.out.println(e.toString());
-    }
-}
-
-

To enter the barrier, a process calls enter(). The process creates a node under the root to represent it, using its host name to form the node name. It then wait until enough processes have entered the barrier. A process does it by checking the number of children the root node has with "getChildren()", and waiting for notifications in the case it does not have enough. To receive a notification when there is a change to the root node, a process has to set a watch, and does it through the call to "getChildren()". In the code, we have that "getChildren()" has two parameters. The first one states the node to read from, and the second is a boolean flag that enables the process to set a watch. In the code the flag is true.

-
/**
- * Join barrier
- *
- * @return
- * @throws KeeperException
- * @throws InterruptedException
- */
-
-boolean enter() throws KeeperException, InterruptedException{
-    zk.create(root + "/" + name, new byte[0], Ids.OPEN_ACL_UNSAFE,
-            CreateMode.EPHEMERAL);
-    while (true) {
-        synchronized (mutex) {
-            List<String> list = zk.getChildren(root, true);
-
-            if (list.size() < size) {
-                mutex.wait();
-            } else {
-                return true;
-            }
-        }
-    }
-}
-
-

Note that enter() throws both KeeperException and InterruptedException, so it is the responsibility of the application to catch and handle such exceptions.

-

Once the computation is finished, a process calls leave() to leave the barrier. First it deletes its corresponding node, and then it gets the children of the root node. If there is at least one child, then it waits for a notification (obs: note that the second parameter of the call to getChildren() is true, meaning that ZooKeeper has to set a watch on the root node). Upon reception of a notification, it checks once more whether the root node has any children.

-
/**
- * Wait until all reach barrier
- *
- * @return
- * @throws KeeperException
- * @throws InterruptedException
- */
-
-boolean leave() throws KeeperException, InterruptedException {
-    zk.delete(root + "/" + name, 0);
-    while (true) {
-        synchronized (mutex) {
-            List<String> list = zk.getChildren(root, true);
-                if (list.size() > 0) {
-                    mutex.wait();
-                } else {
-                    return true;
-                }
-            }
-        }
-    }
-
-

-

Producer-Consumer Queues

-

A producer-consumer queue is a distributed data structure that groups of processes use to generate and consume items. Producer processes create new elements and add them to the queue. Consumer processes remove elements from the list, and process them. In this implementation, the elements are simple integers. The queue is represented by a root node, and to add an element to the queue, a producer process creates a new node, a child of the root node.

-

The following excerpt of code corresponds to the constructor of the object. As with Barrier objects, it first calls the constructor of the parent class, SyncPrimitive, that creates a ZooKeeper object if one doesn't exist. It then verifies if the root node of the queue exists, and creates if it doesn't.

-
/**
- * Constructor of producer-consumer queue
- *
- * @param address
- * @param name
- */
-Queue(String address, String name) {
-    super(address);
-    this.root = name;
-    // Create ZK node name
-    if (zk != null) {
-        try {
-            Stat s = zk.exists(root, false);
-            if (s == null) {
-                zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE,
-                        CreateMode.PERSISTENT);
-            }
-        } catch (KeeperException e) {
-            System.out
-                    .println("Keeper exception when instantiating queue: "
-                            + e.toString());
-        } catch (InterruptedException e) {
-            System.out.println("Interrupted exception");
-        }
-    }
-}
-
-

A producer process calls "produce()" to add an element to the queue, and passes an integer as an argument. To add an element to the queue, the method creates a new node using "create()", and uses the SEQUENCE flag to instruct ZooKeeper to append the value of the sequencer counter associated to the root node. In this way, we impose a total order on the elements of the queue, thus guaranteeing that the oldest element of the queue is the next one consumed.

-
/**
- * Add element to the queue.
- *
- * @param i
- * @return
- */
-
-boolean produce(int i) throws KeeperException, InterruptedException{
-    ByteBuffer b = ByteBuffer.allocate(4);
-    byte[] value;
-
-    // Add child with value i
-    b.putInt(i);
-    value = b.array();
-    zk.create(root + "/element", value, Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT_SEQUENTIAL);
-
-    return true;
-}
-
-

To consume an element, a consumer process obtains the children of the root node, reads the node with smallest counter value, and returns the element. Note that if there is a conflict, then one of the two contending processes won't be able to delete the node and the delete operation will throw an exception.

-

A call to getChildren() returns the list of children in lexicographic order. As lexicographic order does not necessarily follow the numerical order of the counter values, we need to decide which element is the smallest. To decide which one has the smallest counter value, we traverse the list, and remove the prefix "element" from each one.

-
/**
- * Remove first element from the queue.
- *
- * @return
- * @throws KeeperException
- * @throws InterruptedException
- */
-int consume() throws KeeperException, InterruptedException{
-    int retvalue = -1;
-    Stat stat = null;
-
-    // Get the first element available
-    while (true) {
-        synchronized (mutex) {
-            List<String> list = zk.getChildren(root, true);
-            if (list.size() == 0) {
-                System.out.println("Going to wait");
-                mutex.wait();
-            } else {
-                Integer min = new Integer(list.get(0).substring(7));
-                for(String s : list){
-                    Integer tempValue = new Integer(s.substring(7));
-                    //System.out.println("Temporary value: " + tempValue);
-                    if(tempValue < min) min = tempValue;
-                }
-                System.out.println("Temporary value: " + root + "/element" + min);
-                byte[] b = zk.getData(root + "/element" + min,
-                            false, stat);
-                zk.delete(root + "/element" + min, 0);
-                ByteBuffer buffer = ByteBuffer.wrap(b);
-                retvalue = buffer.getInt();
-
-                return retvalue;
-                }
-            }
-        }
-    }
-}
-
-

-

Complete example

-

In the following section you can find a complete command line application to demonstrate the above mentioned recipes. Use the following command to run it.

-
ZOOBINDIR="[path_to_distro]/bin"
-. "$ZOOBINDIR"/zkEnv.sh
-java SyncPrimitive [Test Type] [ZK server] [No of elements] [Client type]
-
-

-

Queue test

-

Start a producer to create 100 elements

-
java SyncPrimitive qTest localhost 100 p
-
-

Start a consumer to consume 100 elements

-
java SyncPrimitive qTest localhost 100 c
-
-

-

Barrier test

-

Start a barrier with 2 participants (start as many times as many participants you'd like to enter)

-
java SyncPrimitive bTest localhost 2
-
-

-

Source Listing

-

SyncPrimitive.Java

-
import java.io.IOException;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.nio.ByteBuffer;
-import java.util.List;
-import java.util.Random;
-
-import org.apache.zookeeper.CreateMode;
-import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.Watcher;
-import org.apache.zookeeper.ZooKeeper;
-import org.apache.zookeeper.ZooDefs.Ids;
-import org.apache.zookeeper.data.Stat;
-
-public class SyncPrimitive implements Watcher {
-
-    static ZooKeeper zk = null;
-    static Integer mutex;
-    String root;
-
-    SyncPrimitive(String address) {
-        if(zk == null){
-            try {
-                System.out.println("Starting ZK:");
-                zk = new ZooKeeper(address, 3000, this);
-                mutex = new Integer(-1);
-                System.out.println("Finished starting ZK: " + zk);
-            } catch (IOException e) {
-                System.out.println(e.toString());
-                zk = null;
-            }
-        }
-        //else mutex = new Integer(-1);
-    }
-
-    synchronized public void process(WatchedEvent event) {
-        synchronized (mutex) {
-            //System.out.println("Process: " + event.getType());
-            mutex.notify();
-        }
-    }
-
-    /**
-     * Barrier
-     */
-    static public class Barrier extends SyncPrimitive {
-        int size;
-        String name;
-
-        /**
-         * Barrier constructor
-         *
-         * @param address
-         * @param root
-         * @param size
-         */
-        Barrier(String address, String root, int size) {
-            super(address);
-            this.root = root;
-            this.size = size;
-
-            // Create barrier node
-            if (zk != null) {
-                try {
-                    Stat s = zk.exists(root, false);
-                    if (s == null) {
-                        zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE,
-                                CreateMode.PERSISTENT);
-                    }
-                } catch (KeeperException e) {
-                    System.out
-                            .println("Keeper exception when instantiating queue: "
-                                    + e.toString());
-                } catch (InterruptedException e) {
-                    System.out.println("Interrupted exception");
-                }
-            }
-
-            // My node name
-            try {
-                name = new String(InetAddress.getLocalHost().getCanonicalHostName().toString());
-            } catch (UnknownHostException e) {
-                System.out.println(e.toString());
-            }
-
-        }
-
-        /**
-         * Join barrier
-         *
-         * @return
-         * @throws KeeperException
-         * @throws InterruptedException
-         */
-
-        boolean enter() throws KeeperException, InterruptedException{
-            zk.create(root + "/" + name, new byte[0], Ids.OPEN_ACL_UNSAFE,
-                    CreateMode.EPHEMERAL);
-            while (true) {
-                synchronized (mutex) {
-                    List<String> list = zk.getChildren(root, true);
-
-                    if (list.size() < size) {
-                        mutex.wait();
-                    } else {
-                        return true;
-                    }
-                }
-            }
-        }
-
-        /**
-         * Wait until all reach barrier
-         *
-         * @return
-         * @throws KeeperException
-         * @throws InterruptedException
-         */
-        boolean leave() throws KeeperException, InterruptedException{
-            zk.delete(root + "/" + name, 0);
-            while (true) {
-                synchronized (mutex) {
-                    List<String> list = zk.getChildren(root, true);
-                        if (list.size() > 0) {
-                            mutex.wait();
-                        } else {
-                            return true;
-                        }
-                    }
-                }
-            }
-        }
-
-    /**
-     * Producer-Consumer queue
-     */
-    static public class Queue extends SyncPrimitive {
-
-        /**
-         * Constructor of producer-consumer queue
-         *
-         * @param address
-         * @param name
-         */
-        Queue(String address, String name) {
-            super(address);
-            this.root = name;
-            // Create ZK node name
-            if (zk != null) {
-                try {
-                    Stat s = zk.exists(root, false);
-                    if (s == null) {
-                        zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE,
-                                CreateMode.PERSISTENT);
-                    }
-                } catch (KeeperException e) {
-                    System.out
-                            .println("Keeper exception when instantiating queue: "
-                                    + e.toString());
-                } catch (InterruptedException e) {
-                    System.out.println("Interrupted exception");
-                }
-            }
-        }
-
-        /**
-         * Add element to the queue.
-         *
-         * @param i
-         * @return
-         */
-
-        boolean produce(int i) throws KeeperException, InterruptedException{
-            ByteBuffer b = ByteBuffer.allocate(4);
-            byte[] value;
-
-            // Add child with value i
-            b.putInt(i);
-            value = b.array();
-            zk.create(root + "/element", value, Ids.OPEN_ACL_UNSAFE,
-                        CreateMode.PERSISTENT_SEQUENTIAL);
-
-            return true;
-        }
-
-        /**
-         * Remove first element from the queue.
-         *
-         * @return
-         * @throws KeeperException
-         * @throws InterruptedException
-         */
-        int consume() throws KeeperException, InterruptedException{
-            int retvalue = -1;
-            Stat stat = null;
-
-            // Get the first element available
-            while (true) {
-                synchronized (mutex) {
-                    List<String> list = zk.getChildren(root, true);
-                    if (list.size() == 0) {
-                        System.out.println("Going to wait");
-                        mutex.wait();
-                    } else {
-                        Integer min = new Integer(list.get(0).substring(7));
-                        String minNode = list.get(0);
-                        for(String s : list){
-                            Integer tempValue = new Integer(s.substring(7));
-                            //System.out.println("Temporary value: " + tempValue);
-                            if(tempValue < min) {
-                                min = tempValue;
-                                minNode = s;
-                            }
-                        }
-                        System.out.println("Temporary value: " + root + "/" + minNode);
-                        byte[] b = zk.getData(root + "/" + minNode,
-                        false, stat);
-                        zk.delete(root + "/" + minNode, 0);
-                        ByteBuffer buffer = ByteBuffer.wrap(b);
-                        retvalue = buffer.getInt();
-
-                        return retvalue;
-                    }
-                }
-            }
-        }
-    }
-
-    public static void main(String args[]) {
-        if (args[0].equals("qTest"))
-            queueTest(args);
-        else
-            barrierTest(args);
-    }
-
-    public static void queueTest(String args[]) {
-        Queue q = new Queue(args[1], "/app1");
-
-        System.out.println("Input: " + args[1]);
-        int i;
-        Integer max = new Integer(args[2]);
-
-        if (args[3].equals("p")) {
-            System.out.println("Producer");
-            for (i = 0; i < max; i++)
-                try{
-                    q.produce(10 + i);
-                } catch (KeeperException e){
-
-                } catch (InterruptedException e){
-
-                }
-        } else {
-            System.out.println("Consumer");
-
-            for (i = 0; i < max; i++) {
-                try{
-                    int r = q.consume();
-                    System.out.println("Item: " + r);
-                } catch (KeeperException e){
-                    i--;
-                } catch (InterruptedException e){
-                }
-            }
-        }
-    }
-
-    public static void barrierTest(String args[]) {
-        Barrier b = new Barrier(args[1], "/b1", new Integer(args[2]));
-        try{
-            boolean flag = b.enter();
-            System.out.println("Entered barrier: " + args[2]);
-            if(!flag) System.out.println("Error when entering the barrier");
-        } catch (KeeperException e){
-        } catch (InterruptedException e){
-        }
-
-        // Generate random integer
-        Random rand = new Random();
-        int r = rand.nextInt(100);
-        // Loop for rand iterations
-        for (int i = 0; i < r; i++) {
-            try {
-                Thread.sleep(100);
-            } catch (InterruptedException e) {
-            }
-        }
-        try{
-            b.leave();
-        } catch (KeeperException e){
-
-        } catch (InterruptedException e){
-
-        }
-        System.out.println("Left barrier");
-    }
-}
-
-
-
 
-
- - - \ No newline at end of file diff --git a/content/doc/r3.9.5/zookeeperUseCases.html b/content/doc/r3.9.5/zookeeperUseCases.html deleted file mode 100644 index eda32343eb0..00000000000 --- a/content/doc/r3.9.5/zookeeperUseCases.html +++ /dev/null @@ -1,538 +0,0 @@ - - - - - - ZooKeeper: Because Coordinating Distributed Systems is a Zoo - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
-   -
- -
- -

ZooKeeper Use Cases

-
    -
  • Applications and organizations using ZooKeeper include (alphabetically) [1].
  • -
  • If your use case wants to be listed here. Please do not hesitate, submit a pull request or write an email to dev@zookeeper.apache.org, and then, your use case will be included.
  • -
  • If this documentation has violated your intellectual property rights or you and your company's privacy, write an email to dev@zookeeper.apache.org, we will handle them in a timely manner.
  • -
-

Free Software Projects

-

AdroitLogic UltraESB

-
    -
  • Uses ZooKeeper to implement node coordination, in clustering support. This allows the management of the complete cluster, or any specific node - from any other node connected via JMX. A Cluster wide command framework developed on top of the ZooKeeper coordination allows commands that fail on some nodes to be retried etc. We also support the automated graceful round-robin-restart of a complete cluster of nodes using the same framework [1].
  • -
-

Akka

-
    -
  • Akka is the platform for the next generation event-driven, scalable and fault-tolerant architectures on the JVM. Or: Akka is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on the JVM [1].
  • -
-

Eclipse Communication Framework

-
    -
  • The Eclipse ECF project provides an implementation of its Abstract Discovery services using Zookeeper. ECF itself is used in many projects providing base functionallity for communication, all based on OSGi [1].
  • -
-

Eclipse Gyrex

-
    -
  • The Eclipse Gyrex project provides a platform for building your own Java OSGi based clouds.
  • -
  • ZooKeeper is used as the core cloud component for node membership and management, coordination of jobs executing among workers, a lock service and a simple queue service and a lot more [1].
  • -
-

GoldenOrb

-
    -
  • massive-scale Graph analysis [1].
  • -
-

Juju

-
    -
  • Service deployment and orchestration framework, formerly called Ensemble [1].
  • -
-

Katta

-
    -
  • Katta serves distributed Lucene indexes in a grid environment.
  • -
  • Zookeeper is used for node, master and index management in the grid [1].
  • -
-

KeptCollections

-
    -
  • KeptCollections is a library of drop-in replacements for the data structures in the Java Collections framework.
  • -
  • KeptCollections uses Apache ZooKeeper as a backing store, thus making its data structures distributed and scalable [1].
  • -
-

Neo4j

-
    -
  • Neo4j is a Graph Database. It's a disk based, ACID compliant transactional storage engine for big graphs and fast graph traversals, using external indicies like Lucene/Solr for global searches.
  • -
  • We use ZooKeeper in the Neo4j High Availability components for write-master election, read slave coordination and other cool stuff. ZooKeeper is a great and focused project - we like! [1].
  • -
-

Norbert

-
    -
  • Partitioned routing and cluster management [1].
  • -
-

spring-cloud-zookeeper

-
    -
  • Spring Cloud Zookeeper provides Apache Zookeeper integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations you can quickly enable and configure the common patterns inside your application and build large distributed systems with Zookeeper. The patterns provided include Service Discovery and Distributed Configuration [38].
  • -
-

spring-statemachine

-
    -
  • Spring Statemachine is a framework for application developers to use state machine concepts with Spring applications.
  • -
  • Spring Statemachine can provide this feature:Distributed state machine based on a Zookeeper [31,32].
  • -
-

spring-xd

-
    -
  • Spring XD is a unified, distributed, and extensible system for data ingestion, real time analytics, batch processing, and data export. The project’s goal is to simplify the development of big data applications.
  • -
  • ZooKeeper - Provides all runtime information for the XD cluster. Tracks running containers, in which containers modules and jobs are deployed, stream definitions, deployment manifests, and the like [30,31].
  • -
-

Talend ESB

-
    -
  • Talend ESB is a versatile and flexible, enterprise service bus.
  • -
  • It uses ZooKeeper as endpoint repository of both REST and SOAP Web services. By using ZooKeeper Talend ESB is able to provide failover and load balancing capabilities in a very light-weight manner [1].
  • -
-

redis_failover

-
    -
  • Redis Failover is a ZooKeeper-based automatic master/slave failover solution for Ruby [1].
  • -
-

Apache Projects

-

Apache Accumulo

-
    -
  • Accumulo is a distributed key/value store that provides expressive, cell-level access labels.
  • -
  • Apache ZooKeeper plays a central role within the Accumulo architecture. Its quorum consistency model supports an overall Accumulo architecture with no single points of failure. Beyond that, Accumulo leverages ZooKeeper to store and communication configuration information for users and tables, as well as operational states of processes and tablets [2].
  • -
-

Apache Atlas

-
    -
  • Atlas is a scalable and extensible set of core foundational governance services – enabling enterprises to effectively and efficiently meet their compliance requirements within Hadoop and allows integration with the whole enterprise data ecosystem.
  • -
  • Atlas uses Zookeeper for coordination to provide redundancy and high availability of HBase,Kafka [31,35].
  • -
-

Apache BookKeeper

-
    -
  • A scalable, fault-tolerant, and low-latency storage service optimized for real-time workloads.
  • -
  • BookKeeper requires a metadata storage service to store information related to ledgers and available bookies. BookKeeper currently uses ZooKeeper for this and other tasks [3].
  • -
-

Apache CXF DOSGi

-
    -
  • Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.
  • -
  • The Distributed OSGi implementation at Apache CXF uses ZooKeeper for its Discovery functionality [4].
  • -
-

Apache Drill

-
    -
  • Schema-free SQL Query Engine for Hadoop, NoSQL and Cloud Storage
  • -
  • ZooKeeper maintains ephemeral cluster membership information. The Drillbits use ZooKeeper to find other Drillbits in the cluster, and the client uses ZooKeeper to find Drillbits to submit a query [28].
  • -
-

Apache Druid

-
    -
  • Apache Druid is a high performance real-time analytics database.
  • -
  • Apache Druid uses Apache ZooKeeper (ZK) for management of current cluster state. The operations that happen over ZK are [27]: -
      -
    • Coordinator leader election
    • -
    • Segment "publishing" protocol from Historical and Realtime
    • -
    • Segment load/drop protocol between Coordinator and Historical
    • -
    • Overlord leader election
    • -
    • Overlord and MiddleManager task management
    • -
    -
  • -
-

Apache Dubbo

-
    -
  • Apache Dubbo is a high-performance, java based open source RPC framework.
  • -
  • Zookeeper is used for service registration discovery and configuration management in Dubbo [6].
  • -
-

Apache Flink

-
    -
  • Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.
  • -
  • To enable JobManager High Availability you have to set the high-availability mode to zookeeper, configure a ZooKeeper quorum and set up a masters file with all JobManagers hosts and their web UI ports. Flink leverages ZooKeeper for distributed coordination between all running JobManager instances. ZooKeeper is a separate service from Flink, which provides highly reliable distributed coordination via leader election and light-weight consistent state storage [23].
  • -
-

Apache Flume

-
    -
  • Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.
  • -
  • Flume supports Agent configurations via Zookeeper. This is an experimental feature [5].
  • -
-

Apache Fluo

-
    -
  • Apache Fluo is a distributed processing system that lets users make incremental updates to large data sets.
  • -
  • Apache Fluo is built on Apache Accumulo which uses Apache Zookeeper for consensus [31,37].
  • -
-

Apache Griffin

-
    -
  • Big Data Quality Solution For Batch and Streaming.
  • -
  • Griffin uses Zookeeper for coordination to provide redundancy and high availability of Kafka [31,36].
  • -
-

Apache Hadoop

-
    -
  • The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.
  • -
  • The implementation of automatic HDFS failover relies on ZooKeeper for the following things: -
      -
    • Failure detection - each of the NameNode machines in the cluster maintains a persistent session in ZooKeeper. If the machine crashes, the ZooKeeper session will expire, notifying the other NameNode that a failover should be triggered.
    • -
    • Active NameNode election - ZooKeeper provides a simple mechanism to exclusively elect a node as active. If the current active NameNode crashes, another node may take a special exclusive lock in ZooKeeper indicating that it should become the next active.
    • -
    -
  • -
  • The ZKFailoverController (ZKFC) is a new component which is a ZooKeeper client which also monitors and manages the state of the NameNode. Each of the machines which runs a NameNode also runs a ZKFC, and that ZKFC is responsible for: -
      -
    • Health monitoring - the ZKFC pings its local NameNode on a periodic basis with a health-check command. So long as the NameNode responds in a timely fashion with a healthy status, the ZKFC considers the node healthy. If the node has crashed, frozen, or otherwise entered an unhealthy state, the health monitor will mark it as unhealthy.
    • -
    • ZooKeeper session management - when the local NameNode is healthy, the ZKFC holds a session open in ZooKeeper. If the local NameNode is active, it also holds a special “lock” znode. This lock uses ZooKeeper’s support for “ephemeral” nodes; if the session expires, the lock node will be automatically deleted.
    • -
    • ZooKeeper-based election - if the local NameNode is healthy, and the ZKFC sees that no other node currently holds the lock znode, it will itself try to acquire the lock. If it succeeds, then it has “won the election”, and is responsible for running a failover to make its local NameNode active. The failover process is similar to the manual failover described above: first, the previous active is fenced if necessary, and then the local NameNode transitions to active state [7].
    • -
    -
  • -
-

Apache HBase

-
    -
  • HBase is the Hadoop database. It's an open-source, distributed, column-oriented store model.
  • -
  • HBase uses ZooKeeper for master election, server lease management, bootstrapping, and coordination between servers. A distributed Apache HBase installation depends on a running ZooKeeper cluster. All participating nodes and clients need to be able to access the running ZooKeeper ensemble [8].
  • -
  • As you can see, ZooKeeper is a fundamental part of HBase. All operations that require coordination, such as Regions assignment, Master-Failover, replication, and snapshots, are built on ZooKeeper [20].
  • -
-

Apache Helix

-
    -
  • A cluster management framework for partitioned and replicated distributed resources.
  • -
  • We need a distributed store to maintain the state of the cluster and a notification system to notify if there is any change in the cluster state. Helix uses Apache ZooKeeper to achieve this functionality [21]. Zookeeper provides: -
      -
    • A way to represent PERSISTENT state which remains until its deleted
    • -
    • A way to represent TRANSIENT/EPHEMERAL state which vanishes when the process that created the state dies
    • -
    • A notification mechanism when there is a change in PERSISTENT and EPHEMERAL state
    • -
    -
  • -
-

Apache Hive

-
    -
  • The Apache Hive data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.
  • -
  • Hive has been using ZooKeeper as distributed lock manager to support concurrency in HiveServer2 [25,26].
  • -
-

Apache Ignite

-
    -
  • Ignite is a memory-centric distributed database, caching, and processing platform for transactional, analytical, and streaming workloads delivering in-memory speeds at petabyte scale
  • -
  • Apache Ignite discovery mechanism goes with a ZooKeeper implementations which allows scaling Ignite clusters to 100s and 1000s of nodes preserving linear scalability and performance [31,34].​
  • -
-

Apache James Mailbox

-
    -
  • The Apache James Mailbox is a library providing a flexible Mailbox storage accessible by mail protocols (IMAP4, POP3, SMTP,...) and other protocols.
  • -
  • Uses Zookeeper and Curator Framework for generating distributed unique ID's [31].
  • -
-

Apache Kafka

-
    -
  • Kafka is a distributed publish/subscribe messaging system
  • -
  • Apache Kafka relies on ZooKeeper for the following things: -
      -
    • Controller election The controller is one of the most important broking entity in a Kafka ecosystem, and it also has the responsibility to maintain the leader-follower relationship across all the partitions. If a node by some reason is shutting down, it’s the controller’s responsibility to tell all the replicas to act as partition leaders in order to fulfill the duties of the partition leaders on the node that is about to fail. So, whenever a node shuts down, a new controller can be elected and it can also be made sure that at any given time, there is only one controller and all the follower nodes have agreed on that.
    • -
    • Configuration Of Topics The configuration regarding all the topics including the list of existing topics, the number of partitions for each topic, the location of all the replicas, list of configuration overrides for all topics and which node is the preferred leader, etc.
    • -
    • Access control lists Access control lists or ACLs for all the topics are also maintained within Zookeeper.
    • -
    • Membership of the cluster Zookeeper also maintains a list of all the brokers that are functioning at any given moment and are a part of the cluster [9].
    • -
    -
  • -
-

Apache Kylin

-
    -
  • Apache Kylin is an open source Distributed Analytics Engine designed to provide SQL interface and multi-dimensional analysis (OLAP) on Hadoop/Spark supporting extremely large datasets, original contributed from eBay Inc.
  • -
  • Apache Kylin leverages Zookeeper for job coordination [31,33].
  • -
-

Apache Mesos

-
    -
  • Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.
  • -
  • Mesos has a high-availability mode that uses multiple Mesos masters: one active master (called the leader or leading master) and several backups in case it fails. The masters elect the leader, with Apache ZooKeeper both coordinating the election and handling leader detection by masters, agents, and scheduler drivers [10].
  • -
-

Apache Oozie

-
    -
  • Oozie is a workflow scheduler system to manage Apache Hadoop jobs.
  • -
  • the Oozie servers use it for coordinating access to the database and communicating with each other. In order to have full HA, there should be at least 3 ZooKeeper servers [29].
  • -
-

Apache Pulsar

-
    -
  • Apache Pulsar is an open-source distributed pub-sub messaging system originally created at Yahoo and now part of the Apache Software Foundation
  • -
  • Pulsar uses Apache Zookeeper for metadata storage, cluster configuration, and coordination. In a Pulsar instance: -
      -
    • A configuration store quorum stores configuration for tenants, namespaces, and other entities that need to be globally consistent.
    • -
    • Each cluster has its own local ZooKeeper ensemble that stores cluster-specific configuration and coordination such as ownership metadata, broker load reports, BookKeeper ledger metadata, and more [24].
    • -
    -
  • -
-

Apache Solr

-
    -
  • Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene.
  • -
  • In the "Cloud" edition (v4.x and up) of enterprise search engine Apache Solr, ZooKeeper is used for configuration, leader election and more [12,13].
  • -
-

Apache Spark

-
    -
  • Apache Spark is a unified analytics engine for large-scale data processing.
  • -
  • Utilizing ZooKeeper to provide leader election and some state storage, you can launch multiple Masters in your cluster connected to the same ZooKeeper instance. One will be elected “leader” and the others will remain in standby mode. If the current leader dies, another Master will be elected, recover the old Master’s state, and then resume scheduling [14].
  • -
-

Apache Storm

-
    -
  • Apache Storm is a free and open source distributed realtime computation system. Apache Storm makes it easy to reliably process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing. Apache Storm is simple, can be used with any programming language, and is a lot of fun to use!
  • -
  • Storm uses Zookeeper for coordinating the cluster [22].
  • -
-

Companies

-

AGETO

-
    -
  • The AGETO RnD team uses ZooKeeper in a variety of internal as well as external consulting projects [1].
  • -
-

Benipal Technologies

-
    -
  • ZooKeeper is used for internal application development with Solr and Hadoop with Hbase [1].
  • -
-

Box

-
    -
  • Box uses ZooKeeper for service discovery, service coordination, Solr and Hadoop support, etc [1].
  • -
-

Deepdyve

-
    -
  • We do search for research and provide access to high quality content using advanced search technologies Zookeeper is used to manage server state, control index deployment and a myriad other tasks [1].
  • -
-

Facebook

-
    -
  • Facebook uses the Zeus ([17,18]) for configuration management which is a forked version of ZooKeeper, with many scalability and performance en- hancements in order to work at the Facebook scale. It runs a consensus protocol among servers distributed across mul- tiple regions for resilience. If the leader fails, a follower is converted into a new leader.
  • -
-

Idium Portal

-
    -
  • Idium Portal is a hosted web-publishing system delivered by Norwegian company, Idium AS.
  • -
  • ZooKeeper is used for cluster messaging, service bootstrapping, and service coordination [1].
  • -
-

Makara

-
    -
  • Using ZooKeeper on 2-node cluster on VMware workstation, Amazon EC2, Zen
  • -
  • Using zkpython
  • -
  • Looking into expanding into 100 node cluster [1].
  • -
-

Midokura

-
    -
  • We do virtualized networking for the cloud computing era. We use ZooKeeper for various aspects of our distributed control plane [1].
  • -
-

Pinterest

-
    -
  • Pinterest uses the ZooKeeper for Service discovery and dynamic configuration.Like many large scale web sites, Pinterest’s infrastructure consists of servers that communicate with backend services composed of a number of individual servers for managing load and fault tolerance. Ideally, we’d like the configuration to reflect only the active hosts, so clients don’t need to deal with bad hosts as often. ZooKeeper provides a well known pattern to solve this problem [19].
  • -
-

Rackspace

-
    -
  • The Email & Apps team uses ZooKeeper to coordinate sharding and responsibility changes in a distributed e-mail client that pulls and indexes data for search. ZooKeeper also provides distributed locking for connections to prevent a cluster from overwhelming servers [1].
  • -
-

Sematext

-
    -
  • Uses ZooKeeper in SPM (which includes ZooKeeper monitoring component, too!), Search Analytics, and Logsene [1].
  • -
-

Tubemogul

-
    -
  • Uses ZooKeeper for leader election, configuration management, locking, group membership [1].
  • -
-

Twitter

-
    -
  • ZooKeeper is used at Twitter as the source of truth for storing critical metadata. It serves as a coordination kernel to provide distributed coordination services, such as leader election and distributed locking. Some concrete examples of ZooKeeper in action include [15,16]:
  • -
  • ZooKeeper is used to store service registry, which is used by Twitter’s naming service for service discovery.
  • -
  • Manhattan (Twitter’s in-house key-value database), Nighthawk (sharded Redis), and Blobstore (in-house photo and video storage), stores its cluster topology information in ZooKeeper.
  • -
  • EventBus, Twitter’s pub-sub messaging system, stores critical metadata in ZooKeeper and uses ZooKeeper for leader election.
  • -
  • Mesos, Twitter’s compute platform, uses ZooKeeper for leader election.
  • -
-

Vast.com

-
    -
  • Used internally as a part of sharding services, distributed synchronization of data/index updates, configuration management and failover support [1].
  • -
-

Wealthfront

-
    -
  • Wealthfront uses ZooKeeper for service discovery, leader election and distributed locking among its many backend services. ZK is an essential part of Wealthfront's continuous deployment infrastructure [1].
  • -
-

Yahoo!

-
    -
  • ZooKeeper is used for a myriad of services inside Yahoo! for doing leader election, configuration management, sharding, locking, group membership etc [1].
  • -
-

Zynga

-
    -
  • ZooKeeper at Zynga is used for a variety of services including configuration management, leader election, sharding and more [1].
  • -
-

References

-
    -
  • [1] https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy
  • -
  • [2] https://www.youtube.com/watch?v=Ew53T6h9oRw
  • -
  • [3] https://bookkeeper.apache.org/docs/4.7.3/getting-started/concepts/#ledgers
  • -
  • [4] http://cxf.apache.org/dosgi-discovery-demo-page.html
  • -
  • [5] https://flume.apache.org/FlumeUserGuide.html
  • -
  • [6] http://dubbo.apache.org/en-us/blog/dubbo-zk.html
  • -
  • [7] https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html
  • -
  • [8] https://hbase.apache.org/book.html#zookeeper
  • -
  • [9] https://www.cloudkarafka.com/blog/2018-07-04-cloudkarafka_what_is_zookeeper.html
  • -
  • [10] http://mesos.apache.org/documentation/latest/high-availability/
  • -
  • [11] http://incubator.apache.org/projects/s4.html
  • -
  • [12] https://lucene.apache.org/solr/guide/6_6/using-zookeeper-to-manage-configuration-files.html#UsingZooKeepertoManageConfigurationFiles-StartupBootstrap
  • -
  • [13] https://lucene.apache.org/solr/guide/6_6/setting-up-an-external-zookeeper-ensemble.html
  • -
  • [14] https://spark.apache.org/docs/latest/spark-standalone.html#standby-masters-with-zookeeper
  • -
  • [15] https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/zookeeper-at-twitter.html
  • -
  • [16] https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/dynamic-configuration-at-twitter.html
  • -
  • [17] TANG, C., KOOBURAT, T., VENKATACHALAM, P.,CHANDER, A., WEN, Z., NARAYANAN, A., DOWELL,P., AND KARL, R. Holistic Configuration Management at Facebook. In Proceedings of the 25th Symposium on Operating System Principles (SOSP’15) (Monterey, CA,USA, Oct. 2015).
  • -
  • [18] https://www.youtube.com/watch?v=SeZV373gUZc
  • -
  • [19] https://medium.com/@Pinterest_Engineering/zookeeper-resilience-at-pinterest-adfd8acf2a6b
  • -
  • [20] https://blog.cloudera.com/what-are-hbase-znodes/
  • -
  • [21] https://helix.apache.org/Architecture.html
  • -
  • [22] http://storm.apache.org/releases/current/Setting-up-a-Storm-cluster.html
  • -
  • [23] https://ci.apache.org/projects/flink/flink-docs-release-1.9/ops/jobmanager_high_availability.html
  • -
  • [24] https://pulsar.apache.org/docs/en/concepts-architecture-overview/#metadata-store
  • -
  • [25] https://cwiki.apache.org/confluence/display/Hive/Locking
  • -
  • [26] ZooKeeperHiveLockManager implementation in the hive code base
  • -
  • [27] https://druid.apache.org/docs/latest/dependencies/zookeeper.html
  • -
  • [28] https://mapr.com/blog/apache-drill-architecture-ultimate-guide/
  • -
  • [29] https://oozie.apache.org/docs/4.1.0/AG_Install.html
  • -
  • [30] https://docs.spring.io/spring-xd/docs/current/reference/html/
  • -
  • [31] https://cwiki.apache.org/confluence/display/CURATOR/Powered+By
  • -
  • [32] https://projects.spring.io/spring-statemachine/
  • -
  • [33] https://www.tigeranalytics.com/blog/apache-kylin-architecture/
  • -
  • [34] https://apacheignite.readme.io/docs/cluster-discovery
  • -
  • [35] http://atlas.apache.org/HighAvailability.html
  • -
  • [36] http://griffin.apache.org/docs/usecases.html
  • -
  • [37] https://fluo.apache.org/
  • -
  • [38] https://spring.io/projects/spring-cloud-zookeeper
  • -
-
-
 
-
- - - \ No newline at end of file diff --git a/content/docs-images/2pc.jpg b/content/docs-images/2pc.jpg new file mode 100644 index 00000000000..fcf341699bd Binary files /dev/null and b/content/docs-images/2pc.jpg differ diff --git a/content/doc/r3.3.2/images/bk-overview.jpg b/content/docs-images/bk-overview.jpg similarity index 100% rename from content/doc/r3.3.2/images/bk-overview.jpg rename to content/docs-images/bk-overview.jpg diff --git a/content/doc/r3.1.2/images/favicon.ico b/content/docs-images/favicon.ico similarity index 100% rename from content/doc/r3.1.2/images/favicon.ico rename to content/docs-images/favicon.ico diff --git a/content/doc/r3.4.14/images/state_dia.dia b/content/docs-images/state_dia.dia similarity index 100% rename from content/doc/r3.4.14/images/state_dia.dia rename to content/docs-images/state_dia.dia diff --git a/content/doc/r3.3.2/images/state_dia.jpg b/content/docs-images/state_dia.jpg similarity index 100% rename from content/doc/r3.3.2/images/state_dia.jpg rename to content/docs-images/state_dia.jpg diff --git a/content/doc/r3.6.1/images/zkAuditLogs.jpg b/content/docs-images/zkAuditLogs.jpg similarity index 100% rename from content/doc/r3.6.1/images/zkAuditLogs.jpg rename to content/docs-images/zkAuditLogs.jpg diff --git a/content/doc/r3.4.14/images/zkarch.jpg b/content/docs-images/zkarch.jpg similarity index 100% rename from content/doc/r3.4.14/images/zkarch.jpg rename to content/docs-images/zkarch.jpg diff --git a/content/doc/r3.2.2/images/zkcomponents.jpg b/content/docs-images/zkcomponents.jpg similarity index 100% rename from content/doc/r3.2.2/images/zkcomponents.jpg rename to content/docs-images/zkcomponents.jpg diff --git a/content/doc/r3.2.2/images/zknamespace.jpg b/content/docs-images/zknamespace.jpg similarity index 100% rename from content/doc/r3.2.2/images/zknamespace.jpg rename to content/docs-images/zknamespace.jpg diff --git a/content/doc/r3.3.2/images/zkperfRW-3.2.jpg b/content/docs-images/zkperfRW-3.2.jpg similarity index 100% rename from content/doc/r3.3.2/images/zkperfRW-3.2.jpg rename to content/docs-images/zkperfRW-3.2.jpg diff --git a/content/doc/r3.1.2/images/zkperfRW.jpg b/content/docs-images/zkperfRW.jpg similarity index 100% rename from content/doc/r3.1.2/images/zkperfRW.jpg rename to content/docs-images/zkperfRW.jpg diff --git a/content/doc/r3.2.2/images/zkperfreliability.jpg b/content/docs-images/zkperfreliability.jpg similarity index 100% rename from content/doc/r3.2.2/images/zkperfreliability.jpg rename to content/docs-images/zkperfreliability.jpg diff --git a/content/doc/r3.2.2/images/zkservice.jpg b/content/docs-images/zkservice.jpg similarity index 100% rename from content/doc/r3.2.2/images/zkservice.jpg rename to content/docs-images/zkservice.jpg diff --git a/content/doc/r3.1.2/images/zookeeper_small.gif b/content/docs-images/zookeeper_small.gif similarity index 100% rename from content/doc/r3.1.2/images/zookeeper_small.gif rename to content/docs-images/zookeeper_small.gif diff --git a/content/docs.data b/content/docs.data new file mode 100644 index 00000000000..fa3eb860cd7 --- /dev/null +++ b/content/docs.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","index.mdx","url","/docs","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,31,37,43,46,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":6,"_19":24,"_13":25,"_26":27,"_21":-7,"_7":8,"_28":29},"page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","$ref",{"_30":6},"file",{"_11":32,"_19":24,"_13":33,"_26":34,"_21":-7,"_7":35,"_28":36},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_30":32},{"_11":38,"_19":24,"_13":39,"_26":40,"_21":-7,"_7":41,"_28":42},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_30":38},{"_11":44,"_19":20,"_21":-7,"_13":45},"#3","Developer",{"_19":47,"_13":48,"_21":-7,"_12":-7,"_49":-7,"_26":-7,"_50":51,"_15":56,"_11":111,"_28":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":52,"_19":24,"_13":48,"_26":53,"_21":-7,"_7":54,"_28":55},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_30":52},[57,63,69,75,81,87,93,99,105],{"_11":58,"_19":24,"_13":59,"_26":60,"_21":-7,"_7":61,"_28":62},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_30":58},{"_11":64,"_19":24,"_13":65,"_26":66,"_21":-7,"_7":67,"_28":68},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_30":64},{"_11":70,"_19":24,"_13":71,"_26":72,"_21":-7,"_7":73,"_28":74},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_30":70},{"_11":76,"_19":24,"_13":77,"_26":78,"_21":-7,"_7":79,"_28":80},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_30":76},{"_11":82,"_19":24,"_13":83,"_26":84,"_21":-7,"_7":85,"_28":86},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_30":82},{"_11":88,"_19":24,"_13":89,"_26":90,"_21":-7,"_7":91,"_28":92},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_30":88},{"_11":94,"_19":24,"_13":95,"_26":96,"_21":-7,"_7":97,"_28":98},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_30":94},{"_11":100,"_19":24,"_13":101,"_26":102,"_21":-7,"_7":103,"_28":104},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_30":100},{"_11":106,"_19":24,"_13":107,"_26":108,"_21":-7,"_7":109,"_28":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_30":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":24,"_13":117,"_26":118,"_21":-7,"_7":119,"_28":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_30":116},{"_11":122,"_19":24,"_13":123,"_26":124,"_21":-7,"_7":125,"_28":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_30":122},{"_11":128,"_19":24,"_13":129,"_26":130,"_21":-7,"_7":131,"_28":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_30":128},{"_11":134,"_19":24,"_13":135,"_26":136,"_21":-7,"_7":137,"_28":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_30":134},{"_19":24,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":47,"_13":148,"_21":-7,"_12":-7,"_49":-7,"_26":-7,"_50":149,"_15":154,"_11":197,"_28":198},"Administrator's Guide",{"_11":150,"_19":24,"_13":148,"_26":151,"_21":-7,"_7":152,"_28":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_30":150},[155,161,167,173,179,185,191],{"_11":156,"_19":24,"_13":157,"_26":158,"_21":-7,"_7":159,"_28":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_30":156},{"_11":162,"_19":24,"_13":163,"_26":164,"_21":-7,"_7":165,"_28":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_30":162},{"_11":168,"_19":24,"_13":169,"_26":170,"_21":-7,"_7":171,"_28":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_30":168},{"_11":174,"_19":24,"_13":175,"_26":176,"_21":-7,"_7":177,"_28":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_30":174},{"_11":180,"_19":24,"_13":181,"_26":182,"_21":-7,"_7":183,"_28":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_30":180},{"_11":186,"_19":24,"_13":187,"_26":188,"_21":-7,"_7":189,"_28":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_30":186},{"_11":192,"_19":24,"_13":193,"_26":194,"_21":-7,"_7":195,"_28":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_30":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":24,"_13":202,"_26":203,"_21":-7,"_7":204,"_28":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_30":201},{"_11":207,"_19":24,"_13":208,"_26":209,"_21":-7,"_7":210,"_28":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_30":207},{"_11":213,"_19":24,"_13":214,"_26":215,"_21":-7,"_7":216,"_28":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_30":213},{"_11":219,"_19":24,"_13":220,"_26":221,"_21":-7,"_7":222,"_28":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_30":219},{"_11":225,"_19":24,"_13":226,"_26":227,"_21":-7,"_7":228,"_28":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_30":225},{"_11":231,"_19":24,"_13":232,"_26":233,"_21":-7,"_7":234,"_28":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_30":231},{"_11":237,"_19":24,"_13":238,"_26":239,"_21":-7,"_7":240,"_28":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_30":237},{"_11":243,"_19":24,"_13":244,"_26":245,"_21":-7,"_7":246,"_28":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_30":243},{"_11":249,"_19":24,"_13":250,"_26":251,"_21":-7,"_7":252,"_28":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_30":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":24,"_13":259,"_26":260,"_21":-7,"_7":261,"_28":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_30":258},{"_19":24,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":24,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":24,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":24,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/administrators-guide.data b/content/docs/admin-ops/administrators-guide.data new file mode 100644 index 00000000000..c1a683c4373 --- /dev/null +++ b/content/docs/admin-ops/administrators-guide.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/administrators-guide/index.mdx","url","/docs/admin-ops/administrators-guide","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":6,"_19":25,"_13":150,"_27":152,"_21":-7,"_7":8,"_30":153},"This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.",{"_32":6},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/administrators-guide/administration.data b/content/docs/admin-ops/administrators-guide/administration.data new file mode 100644 index 00000000000..594b28dddfe --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/administration.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/administrators-guide/administration.mdx","url","/docs/admin-ops/administrators-guide/administration","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":197,"_30":198},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,167,173,179,185,191],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":6,"_19":25,"_13":164,"_27":165,"_21":-7,"_7":8,"_30":166},"Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.",{"_32":6},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/administrators-guide/administration/index.html b/content/docs/admin-ops/administrators-guide/administration/index.html new file mode 100644 index 00000000000..7b2834c16f9 --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/administration/index.html @@ -0,0 +1,174 @@ +Administration | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Administration

Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.

Maintenance

+

Little long term maintenance is required for a ZooKeeper +cluster however you must be aware of the following:

+

Ongoing Data Directory Cleanup

+

The ZooKeeper Data +Directory contains files which are a persistent copy +of the znodes stored by a particular serving ensemble. These +are the snapshot and transactional log files. As changes are +made to the znodes these changes are appended to a +transaction log. Occasionally, when a log grows large, a +snapshot of the current state of all znodes will be written +to the filesystem and a new transaction log file is created +for future transactions. During snapshotting, ZooKeeper may +continue appending incoming transactions to the old log file. +Therefore, some transactions which are newer than a snapshot +may be found in the last transaction log preceding the +snapshot.

+

A ZooKeeper server will not remove +old snapshots and log files when using the default +configuration (see autopurge below), this is the +responsibility of the operator. Every serving environment is +different and therefore the requirements of managing these +files may differ from install to install (backup for example).

+

The PurgeTxnLog utility implements a simple retention +policy that administrators can use. The API docs contains details on +calling conventions (arguments, etc...).

+

In the following example the last count snapshots and +their corresponding logs are retained and the others are +deleted. The value of <count> should typically be +greater than 3 (although not required, this provides 3 backups +in the unlikely event a recent log has become corrupted). This +can be run as a cron job on the ZooKeeper server machines to +clean up the logs daily.

+
$ java -cp zookeeper.jar:lib/slf4j-api-1.7.30.jar:lib/logback-classic-1.2.10.jar:lib/logback-core-1.2.10.jar:conf org.apache.zookeeper.server.PurgeTxnLog <dataDir> <snapDir> -n <count>
+

Automatic purging of the snapshots and corresponding +transaction logs was introduced in version 3.4.0 and can be +enabled via the following configuration parameters autopurge.snapRetainCount and autopurge.purgeInterval. For more on +this, see Advanced Configuration.

+

Debug Log Cleanup (logback)

+

See the section on logging in this document. It is +expected that you will setup a rolling file appender using the +in-built logback feature. The sample configuration file in the +release tar's conf/logback.xml provides an example of +this.

+

Supervision

+

You will want to have a supervisory process that manages +each of your ZooKeeper server processes (JVM). The ZK server is +designed to be "fail fast" meaning that it will shut down +(process exit) if an error occurs that it cannot recover +from. As a ZooKeeper serving cluster is highly reliable, this +means that while the server may go down the cluster as a whole +is still active and serving requests. Additionally, as the +cluster is "self healing" the failed server once restarted will +automatically rejoin the ensemble w/o any manual +interaction.

+

Having a supervisory process such as daemontools or +SMF +(other options for supervisory process are also available, it's +up to you which one you would like to use, these are just two +examples) managing your ZooKeeper server ensures that if the +process does exit abnormally it will automatically be restarted +and will quickly rejoin the cluster.

+

It is also recommended to configure the ZooKeeper server process to +terminate and dump its heap if an OutOfMemoryError** occurs. This is achieved +by launching the JVM with the following arguments on Linux and Windows +respectively. The zkServer.sh and +*zkServer.cmd* scripts that ship with ZooKeeper set +these options.

+
-XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError='kill -9 %p'
+
+"-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f"
+

Monitoring

+

The ZooKeeper service can be monitored in one of three primary ways:

+ +

Logging

+

ZooKeeper uses SLF4J +version 1.7 as its logging infrastructure. By default ZooKeeper is shipped with +LOGBack as the logging backend, but you can use +any other supported logging framework of your choice.

+

The ZooKeeper default logback.xml +file resides in the conf directory. Logback requires that +logback.xml either be in the working directory +(the directory from which ZooKeeper is run) or be accessible from the classpath.

+

For more information about SLF4J, see +its manual.

+

For more information about Logback, see +Logback website.

+

Troubleshooting

+
    +
  • Server not coming up because of file corruption : +A server might not be able to read its database and fail to come up because of +some file corruption in the transaction logs of the ZooKeeper server. You will +see some IOException on loading ZooKeeper database. In such a case, +make sure all the other servers in your ensemble are up and working. Use "stat" +command on the command port to see if they are in good health. After you have verified that +all the other servers of the ensemble are up, you can go ahead and clean the database +of the corrupt server. Delete all the files in datadir/version-2 and datalogdir/version-2/. +Restart the server.
  • +
+

Metrics Providers

+

New in 3.6.0: The following options are used to configure metrics.

+

By default ZooKeeper server exposes useful metrics using the AdminServer +and Four Letter Words interface.

+

Since 3.6.0 you can configure a different Metrics Provider, that exports metrics +to your favourite system.

+

Since 3.6.0 ZooKeeper binary package bundles an integration with Prometheus.io

+
    +
  • metricsProvider.className : +Set to "org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider" to +enable Prometheus.io exporter.
  • +
  • metricsProvider.httpHost : +New in 3.8.0: Prometheus.io exporter will start a Jetty server and listen this address, default is "0.0.0.0"
  • +
  • metricsProvider.httpPort : +Prometheus.io exporter will start a Jetty server and bind to this port, it defaults to 7000. +Prometheus end point will be http://hostname:httPort/metrics.
  • +
  • metricsProvider.exportJvmInfo : +If this property is set to true Prometheus.io will export useful metrics about the JVM. +The default is true.
  • +
  • metricsProvider.numWorkerThreads : +New in 3.7.1: +Number of worker threads for reporting Prometheus summary metrics. +Default value is 1. +If the number is less than 1, the main thread will be used.
  • +
  • metricsProvider.maxQueueSize : +New in 3.7.1: +The max queue size for Prometheus summary metrics reporting task. +Default value is 10000.
  • +
  • metricsProvider.workerShutdownTimeoutMs : +New in 3.7.1: +The timeout in ms for Prometheus worker threads shutdown. +Default value is 1000ms.
  • +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/administrators-guide/best-practices.data b/content/docs/admin-ops/administrators-guide/best-practices.data new file mode 100644 index 00000000000..fc0b2f61eeb --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/best-practices.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/administrators-guide/best-practices.mdx","url","/docs/admin-ops/administrators-guide/best-practices","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":197,"_30":198},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,193],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":188,"_19":25,"_13":189,"_27":190,"_21":-7,"_7":191,"_30":192},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":188},{"_11":6,"_19":25,"_13":194,"_27":195,"_21":-7,"_7":8,"_30":196},"Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.",{"_32":6},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/administrators-guide/best-practices/index.html b/content/docs/admin-ops/administrators-guide/best-practices/index.html new file mode 100644 index 00000000000..6f606439969 --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/best-practices/index.html @@ -0,0 +1,91 @@ +Best Practices | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Best Practices

Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.

Things to Avoid

+

Here are some common problems you can avoid by configuring +ZooKeeper correctly:

+
    +
  • +

    inconsistent lists of servers : +The list of ZooKeeper servers used by the clients must match +the list of ZooKeeper servers that each ZooKeeper server has. +Things work okay if the client list is a subset of the real list, +but things will really act strange if clients have a list of +ZooKeeper servers that are in different ZooKeeper clusters. Also, +the server lists in each Zookeeper server configuration file +should be consistent with one another.

    +
  • +
  • +

    incorrect placement of transaction log : +The most performance critical part of ZooKeeper is the +transaction log. ZooKeeper syncs transactions to media before it +returns a response. A dedicated transaction log device is key to +consistent good performance. Putting the log on a busy device will +adversely affect performance. If you only have one storage device, +increase the snapCount so that snapshot files are generated less often; +it does not eliminate the problem, but it makes more resources available +for the transaction log.

    +
  • +
  • +

    incorrect Java heap size : +You should take special care to set your Java max heap size +correctly. In particular, you should not create a situation in +which ZooKeeper swaps to disk. The disk is death to ZooKeeper. +Everything is ordered, so if processing one request swaps the +disk, all other queued requests will probably do the same. DON'T SWAP. +Be conservative in your estimates: if you have 4G of RAM, do +not set the Java max heap size to 6G or even 4G. For example, it +is more likely you would use a 3G heap for a 4G machine, as the +operating system and the cache also need memory. The best and only +recommend practice for estimating the heap size your system needs +is to run load tests, and then make sure you are well below the +usage limit that would cause the system to swap.

    +
  • +
  • +

    Publicly accessible deployment : +A ZooKeeper ensemble is expected to operate in a trusted computing environment. +It is thus recommended deploying ZooKeeper behind a firewall.

    +
  • +
+

Best Practices

+

For best results, take note of the following list of good +Zookeeper practices:

+

For multi-tenant installations see the section +detailing ZooKeeper "chroot" support, this can be very useful +when deploying many applications/services interfacing to a +single ZooKeeper cluster.

Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/administrators-guide/commands.data b/content/docs/admin-ops/administrators-guide/commands.data new file mode 100644 index 00000000000..d8af09cc870 --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/commands.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/administrators-guide/commands.mdx","url","/docs/admin-ops/administrators-guide/commands","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":197,"_30":198},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,185,191],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":6,"_19":25,"_13":182,"_27":183,"_21":-7,"_7":8,"_30":184},"Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.",{"_32":6},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/administrators-guide/commands/index.html b/content/docs/admin-ops/administrators-guide/commands/index.html new file mode 100644 index 00000000000..f30e37295f3 --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/commands/index.html @@ -0,0 +1,430 @@ +Commands | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Commands

Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.

The Four Letter Words

+

ZooKeeper responds to a small set of commands. Each command is +composed of four letters. You issue the commands to ZooKeeper via telnet +or nc, at the client port.

+

Three of the more interesting commands: "stat" gives some +general information about the server and connected clients, +while "srvr" and "cons" give extended details on server and +connections respectively.

+

New in 3.5.3: +Four Letter Words need to be explicitly white listed before using. +Please refer to 4lw.commands.whitelist +described in cluster configuration section for details. +Moving forward, Four Letter Words will be deprecated, please use +AdminServer instead.

+
    +
  • +

    conf : +New in 3.3.0: Print +details about serving configuration.

    +
  • +
  • +

    cons : +New in 3.3.0: List +full connection/session details for all clients connected +to this server. Includes information on numbers of packets +received/sent, session id, operation latencies, last +operation performed, etc...

    +
  • +
  • +

    crst : +New in 3.3.0: Reset +connection/session statistics for all connections.

    +
  • +
  • +

    dump : +Lists the outstanding sessions and ephemeral nodes.

    +
  • +
  • +

    envi : +Print details about serving environment

    +
  • +
  • +

    ruok : +Tests if the server is running in a non-error state. +When the whitelist enables ruok, the server will respond with imok +if it is running, otherwise it will not respond at all. +When ruok is disabled, the server responds with: +"ruok is not executed because it is not in the whitelist." +A response of "imok" does not necessarily indicate that the +server has joined the quorum, just that the server process is active +and bound to the specified client port. Use "stat" for details on +state wrt quorum and client connection information.

    +
  • +
  • +

    srst : +Reset server statistics.

    +
  • +
  • +

    srvr : +New in 3.3.0: Lists +full details for the server.

    +
  • +
  • +

    stat : +Lists brief details for the server and connected +clients.

    +
  • +
  • +

    wchs : +New in 3.3.0: Lists +brief information on watches for the server.

    +
  • +
  • +

    wchc : +New in 3.3.0: Lists +detailed information on watches for the server, by +session. This outputs a list of sessions(connections) +with associated watches (paths). Note, depending on the +number of watches this operation may be expensive (ie +impact server performance), use it carefully.

    +
  • +
  • +

    dirs : +New in 3.5.1: +Shows the total size of snapshot and log files in bytes

    +
  • +
  • +

    wchp : +New in 3.3.0: Lists +detailed information on watches for the server, by path. +This outputs a list of paths (znodes) with associated +sessions. Note, depending on the number of watches this +operation may be expensive (ie impact server performance), +use it carefully.

    +
  • +
  • +

    mntr : +New in 3.4.0: Outputs a list +of variables that could be used for monitoring the health of the cluster.

    +
    $ echo mntr | nc localhost 2185
    +            zk_version  3.4.0
    +            zk_avg_latency  0.7561              - be account to four decimal places
    +            zk_max_latency  0
    +            zk_min_latency  0
    +            zk_packets_received 70
    +            zk_packets_sent 69
    +            zk_outstanding_requests 0
    +            zk_server_state leader
    +            zk_znode_count   4
    +            zk_watch_count  0
    +            zk_ephemerals_count 0
    +            zk_approximate_data_size    27
    +            zk_learners    4                    - only exposed by the Leader
    +            zk_synced_followers 4               - only exposed by the Leader
    +            zk_pending_syncs    0               - only exposed by the Leader
    +            zk_open_file_descriptor_count 23    - only available on Unix platforms
    +            zk_max_file_descriptor_count 1024   - only available on Unix platforms
    +

    The output is compatible with java properties format and the content +may change over time (new keys added). Your scripts should expect changes. +ATTENTION: Some of the keys are platform specific and some of the keys are only exported by the Leader. +The output contains multiple lines with the following format:

    +
    key \t value
    +
  • +
  • +

    isro : +New in 3.4.0: Tests if +server is running in read-only mode. The server will respond with +"ro" if in read-only mode or "rw" if not in read-only mode.

    +
  • +
  • +

    hash : +New in 3.6.0: +Return the latest history of the tree digest associated with zxid.

    +
  • +
  • +

    gtmk : +Gets the current trace mask as a 64-bit signed long value in +decimal format. See stmk for an explanation of +the possible values.

    +
  • +
  • +

    stmk : +Sets the current trace mask. The trace mask is 64 bits, +where each bit enables or disables a specific category of trace +logging on the server. Logback must be configured to enable +TRACE level first in order to see trace logging +messages. The bits of the trace mask correspond to the following +trace logging categories.

    +
    Trace Mask Bit Values
    0b0000000000Unused, reserved for future use.
    0b0000000010Logs client requests, excluding ping requests.
    0b0000000100Unused, reserved for future use.
    0b0000001000Logs client ping requests.
    0b0000010000Logs packets received from the quorum peer that is the current leader, excluding ping requests.
    0b0000100000Logs addition, removal and validation of client sessions.
    0b0001000000Logs delivery of watch events to client sessions.
    0b0010000000Logs ping packets received from the quorum peer that is the current leader.
    0b0100000000Unused, reserved for future use.
    0b1000000000Unused, reserved for future use.
    +

    All remaining bits in the 64-bit value are unused and reserved for future use. +Multiple trace logging categories are specified by calculating the bitwise OR of the documented values. +The default trace mask is 0b0100110010. Thus, by default, trace logging includes client requests, +packets received from the leader and sessions. +To set a different trace mask, send a request containing the stmk four-letter word followed +by the trace mask represented as a 64-bit signed long value. This example uses +the Perl pack function to construct a trace mask that enables all trace logging categories +described above and convert it to a 64-bit signed long value with big-endian byte order. +The result is appended to stmk and sent to the server using netcat. +The server responds with the new trace mask in decimal format.

    +
    $ perl -e "print 'stmk', pack('q>', 0b0011111010)" | nc localhost 2181
    +250
    +
  • +
+

Here's an example of the ruok +command:

+
$ echo ruok | nc 127.0.0.1 5111
+    imok
+

The AdminServer

+

New in 3.5.0: The AdminServer is +an embedded Jetty server that provides an HTTP interface to the four-letter +word commands. By default, the server is started on port 8080, +and commands are issued by going to the URL "/commands/[command name]", +e.g., http://localhost:8080/commands/stat. The command response is +returned as JSON. Unlike the original protocol, commands are not +restricted to four-letter names, and commands can have multiple names; +for instance, "stmk" can also be referred to as "set_trace_mask". To +view a list of all available commands, point a browser to the URL +/commands (e.g., http://localhost:8080/commands). See the AdminServer configuration options +for how to change the port and URLs.

+

The AdminServer is enabled by default, but can be disabled by either:

+
    +
  • Setting the zookeeper.admin.enableServer system +property to false.
  • +
  • Removing Jetty from the classpath. (This option is +useful if you would like to override ZooKeeper's jetty +dependency.)
  • +
+

Note that the TCP four-letter word interface is still available if +the AdminServer is disabled.

+

Configuring AdminServer for SSL/TLS

+
    +
  • +

    Generating the keystore.jks and truststore.jks which can be found in the Quorum TLS.

    +
  • +
  • +

    Add the following configuration settings to the zoo.cfg config file:

    +
    admin.portUnification=true
    +ssl.quorum.keyStore.location=/path/to/keystore.jks
    +ssl.quorum.keyStore.password=password
    +ssl.quorum.trustStore.location=/path/to/truststore.jks
    +ssl.quorum.trustStore.password=password
    +
  • +
  • +

    Verify that the following entries in the logs can be seen:

    +
    2019-08-03 15:44:55,213 [myid:] - INFO  [main:JettyAdminServer@123] - Successfully loaded private key from /data/software/cert/keystore.jks
    +2019-08-03 15:44:55,213 [myid:] - INFO  [main:JettyAdminServer@124] - Successfully loaded certificate authority from /data/software/cert/truststore.jks
    +2019-08-03 15:44:55,403 [myid:] - INFO  [main:JettyAdminServer@170] - Started AdminServer on address 0.0.0.0, port 8080 and command URL /commands
    +
  • +
+

Available commands include:

+
    +
  • +

    connection_stat_reset/crst: +Reset all client connection statistics. +No new fields returned.

    +
  • +
  • +

    configuration/conf/config : +Print basic details about serving configuration, e.g. +client port, absolute path to data directory.

    +
  • +
  • +

    connections/cons : +Information on client connections to server. +Note, depending on the number of client connections this operation may be expensive +(i.e. impact server performance). +Returns "connections", a list of connection info objects.

    +
  • +
  • +

    hash: +Txn digests in the historical digest list. +One is recorded every 128 transactions. +Returns "digests", a list to transaction digest objects.

    +
  • +
  • +

    dirs : +Information on logfile directory and snapshot directory +size in bytes. +Returns "datadir_size" and "logdir_size".

    +
  • +
  • +

    dump : +Information on session expirations and ephemerals. +Note, depending on the number of global sessions and ephemerals +this operation may be expensive (i.e. impact server performance). +Returns "expiry_time_to_session_ids" and "session_id_to_ephemeral_paths" as maps.

    +
  • +
  • +

    environment/env/envi : +All defined environment variables. +Returns each as its own field.

    +
  • +
  • +

    get_trace_mask/gtmk : +The current trace mask. Read-only version of set_trace_mask. +See the description of the four letter command stmk for +more details. +Returns "tracemask".

    +
  • +
  • +

    initial_configuration/icfg : +Print the text of the configuration file used to start the peer. +Returns "initial_configuration".

    +
  • +
  • +

    is_read_only/isro : +A true/false if this server is in read-only mode. +Returns "read_only".

    +
  • +
  • +

    last_snapshot/lsnp : +Information of the last snapshot that zookeeper server has finished saving to disk. +If called during the initial time period between the server starting up +and the server finishing saving its first snapshot, the command returns the +information of the snapshot read when starting up the server. +Returns "zxid" and "timestamp", the latter using a time unit of seconds.

    +
  • +
  • +

    leader/lead : +If the ensemble is configured in quorum mode then emits the current leader +status of the peer and the current leader location. +Returns "is_leader", "leader_id", and "leader_ip".

    +
  • +
  • +

    monitor/mntr : +Emits a wide variety of useful info for monitoring. +Includes performance stats, information about internal queues, and +summaries of the data tree (among other things). +Returns each as its own field.

    +
  • +
  • +

    observer_connection_stat_reset/orst : +Reset all observer connection statistics. Companion command to observers. +No new fields returned.

    +
  • +
  • +

    restore/rest : +Restore database from snapshot input stream on the current server. +Returns the following data in response payload: +"last_zxid": String +Note: this API is rate-limited (once every 5 mins by default) to protect the server +from being over-loaded.

    +
  • +
  • +

    ruok : +No-op command, check if the server is running. +A response does not necessarily indicate that the +server has joined the quorum, just that the admin server +is active and bound to the specified port. +No new fields returned.

    +
  • +
  • +

    set_trace_mask/stmk : +Sets the trace mask (as such, it requires a parameter). +Write version of get_trace_mask. +See the description of the four letter command stmk for +more details. +Returns "tracemask".

    +
  • +
  • +

    server_stats/srvr : +Server information. +Returns multiple fields giving a brief overview of server state.

    +
  • +
  • +

    snapshot/snap : +Takes a snapshot of the current server in the datadir and stream out data. +Optional query parameter: +"streaming": Boolean (defaults to true if the parameter is not present) +Returns the following via Http headers: +"last_zxid": String +"snapshot_size": String +Note: this API is rate-limited (once every 5 mins by default) to protect the server +from being over-loaded.

    +
  • +
  • +

    stats/stat : +Same as server_stats but also returns the "connections" field (see connections +for details). +Note, depending on the number of client connections this operation may be expensive +(i.e. impact server performance).

    +
  • +
  • +

    stat_reset/srst : +Resets server statistics. This is a subset of the information returned +by server_stats and stats. +No new fields returned.

    +
  • +
  • +

    observers/obsr : +Information on observer connections to server. +Always available on a Leader, available on a Follower if its +acting as a learner master. +Returns "synced_observers" (int) and "observers" (list of per-observer properties).

    +
  • +
  • +

    system_properties/sysp : +All defined system properties. +Returns each as its own field.

    +
  • +
  • +

    voting_view : +Provides the current voting members in the ensemble. +Returns "current_config" as a map.

    +
  • +
  • +

    watches/wchc : +Watch information aggregated by session. +Note, depending on the number of watches this operation may be expensive +(i.e. impact server performance). +Returns "session_id_to_watched_paths" as a map.

    +
  • +
  • +

    watches_by_path/wchp : +Watch information aggregated by path. +Note, depending on the number of watches this operation may be expensive +(i.e. impact server performance). +Returns "path_to_session_ids" as a map.

    +
  • +
  • +

    watch_summary/wchs : +Summarized watch information. +Returns "num_total_watches", "num_paths", and "num_connections".

    +
  • +
  • +

    zabstate : +The current phase of Zab protocol that peer is running and whether it is a +voting member. +Peers can be in one of these phases: ELECTION, DISCOVERY, SYNCHRONIZATION, BROADCAST. +Returns fields "voting" and "zabstate".

    +
  • +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/administrators-guide/communication-using-the-netty-framework.data b/content/docs/admin-ops/administrators-guide/communication-using-the-netty-framework.data new file mode 100644 index 00000000000..729dd0ad74c --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/communication-using-the-netty-framework.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","url","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":197,"_30":198},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,179,185,191],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":6,"_19":25,"_13":176,"_27":177,"_21":-7,"_7":8,"_30":178},"Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.",{"_32":6},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/administrators-guide/communication-using-the-netty-framework/index.html b/content/docs/admin-ops/administrators-guide/communication-using-the-netty-framework/index.html new file mode 100644 index 00000000000..fdb255b1c7f --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/communication-using-the-netty-framework/index.html @@ -0,0 +1,98 @@ +Communication using the Netty framework | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Communication using the Netty framework

Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.

Netty +is an NIO based client/server communication framework, it +simplifies (over NIO being used directly) many of the +complexities of network level communication for java +applications. Additionally the Netty framework has built +in support for encryption (SSL) and authentication +(certificates). These are optional features and can be +turned on or off individually.

+

In versions 3.5+, a ZooKeeper server can use Netty +instead of NIO (default option) by setting the environment +variable zookeeper.serverCnxnFactory +to org.apache.zookeeper.server.NettyServerCnxnFactory; +for the client, set zookeeper.clientCnxnSocket +to org.apache.zookeeper.ClientCnxnSocketNetty.

+

Quorum TLS

+

New in 3.5.5

+

Based on the Netty Framework ZooKeeper ensembles can be set up +to use TLS encryption in their communication channels. This section +describes how to set up encryption on the quorum communication.

+

Please note that Quorum TLS encapsulates securing both leader election +and quorum communication protocols.

+

Create SSL keystore JKS to store local credentials. One keystore should be created for each ZK +instance. In this example we generate a self-signed certificate and store it together with the +private key in keystore.jks. This is suitable for testing purposes, but you probably need an +official certificate to sign your keys in a production environment. Please note that the alias +(-alias) and the distinguished name (-dname) must match the hostname of the machine that is +associated with, otherwise hostname verification won't work.

keytool -genkeypair -alias $(hostname -f) -keyalg RSA -keysize 2048 -dname "cn=$(hostname -f)" -keypass password -keystore keystore.jks -storepass password

Extract the signed public key (certificate) from keystore. This step might only be necessary +for self-signed certificates.

keytool -exportcert -alias $(hostname -f) -keystore keystore.jks -file $(hostname -f).cer -rfc

Create SSL truststore JKS containing certificates of all ZooKeeper instances. The same +truststore (storing all accepted certs) should be shared on participants of the ensemble. You +need to use different aliases to store multiple certificates in the same truststore. Name of +the aliases doesn't matter.

keytool -importcert -alias [host1..3] -file [host1..3].cer -keystore truststore.jks -storepass password

Use NettyServerCnxnFactory as serverCnxnFactory, because SSL is not supported by NIO. Add +the following configuration settings to your zoo.cfg config file:

sslQuorum=true
+serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
+ssl.quorum.keyStore.location=/path/to/keystore.jks
+ssl.quorum.keyStore.password=password
+ssl.quorum.trustStore.location=/path/to/truststore.jks
+ssl.quorum.trustStore.password=password

Verify in the logs that your ensemble is running on TLS:

INFO  [main:QuorumPeer@1789] - Using TLS encrypted quorum communication
+INFO  [main:QuorumPeer@1797] - Port unification disabled
+...
+INFO  [QuorumPeerListener:QuorumCnxManager$Listener@877] - Creating TLS-only quorum server socket
+

Upgrading existing non-TLS cluster with no downtime

+

New in 3.5.5

+

Here are the steps needed to upgrade an already running ZooKeeper ensemble +to TLS without downtime by taking advantage of port unification functionality.

+

Create the necessary keystores and truststores for all ZK participants as described in the +previous section.

Add the following config settings and restart the first node. Note that TLS is not yet +enabled, but we turn on port unification.

sslQuorum=false
+portUnification=true
+serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
+ssl.quorum.keyStore.location=/path/to/keystore.jks
+ssl.quorum.keyStore.password=password
+ssl.quorum.trustStore.location=/path/to/truststore.jks
+ssl.quorum.trustStore.password=password

Repeat step 2 on the remaining nodes. Verify that you see the following entries in the logs, +and double-check after each node restart that the quorum becomes healthy again.

INFO  [main:QuorumPeer@1791] - Using insecure (non-TLS) quorum communication
+INFO  [main:QuorumPeer@1797] - Port unification enabled
+...
+INFO  [QuorumPeerListener:QuorumCnxManager$Listener@874] - Creating TLS-enabled quorum server socket

Enable Quorum TLS on each node and do a rolling restart:

sslQuorum=true
+portUnification=true

Once you verify that your entire ensemble is running on TLS, disable port unification and do +another rolling restart:

sslQuorum=true
+portUnification=false
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/administrators-guide/configuration-parameters.data b/content/docs/admin-ops/administrators-guide/configuration-parameters.data new file mode 100644 index 00000000000..cde77f203da --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/configuration-parameters.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/administrators-guide/configuration-parameters.mdx","url","/docs/admin-ops/administrators-guide/configuration-parameters","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":197,"_30":198},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,173,179,185,191],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":6,"_19":25,"_13":170,"_27":171,"_21":-7,"_7":8,"_30":172},"Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.",{"_32":6},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/administrators-guide/configuration-parameters/index.html b/content/docs/admin-ops/administrators-guide/configuration-parameters/index.html new file mode 100644 index 00000000000..c3a6c746858 --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/configuration-parameters/index.html @@ -0,0 +1,1846 @@ +Configuration Parameters | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Configuration Parameters

Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.

ZooKeeper's behavior is governed by the ZooKeeper configuration +file. This file is designed so that the exact same file can be used by +all the servers that make up a ZooKeeper server assuming the disk +layouts are the same. If servers use different configuration files, care +must be taken to ensure that the list of servers in all of the different +configuration files match.

+

In 3.5.0 and later, some of these parameters should be placed in a dynamic +configuration file. If they are placed in the static configuration file, +ZooKeeper will automatically move them over to the dynamic configuration file. +See Dynamic Reconfiguration for +more information.

+

Minimum Configuration

+

Here are the minimum configuration keywords that must be defined +in the configuration file:

+
    +
  • +

    clientPort : +the port to listen for client connections; that is, the +port that clients attempt to connect to.

    +
  • +
  • +

    secureClientPort : +the port to listen on for secure client connections using SSL. +clientPort specifies +the port for plaintext connections while secureClientPort specifies the port for SSL +connections. Specifying both enables mixed-mode while omitting +either will disable that mode. +Note that SSL feature will be enabled when user plugs-in +zookeeper.serverCnxnFactory, zookeeper.clientCnxnSocket as Netty.

    +
  • +
  • +

    observerMasterPort : +the port to listen for observer connections; that is, the +port that observers attempt to connect to. +if the property is set then the server will host observer connections +when in follower mode in addition to when in leader mode and correspondingly +attempt to connect to any voting peer when in observer mode.

    +
  • +
  • +

    dataDir : +the location where ZooKeeper will store the in-memory +database snapshots and, unless specified otherwise, the +transaction log of updates to the database.

    +

    Be careful where you put the transaction log. A dedicated transaction log +device is key to consistent good performance. Putting the log on a busy +device will adversely affect performance.

    +
  • +
  • +

    tickTime : +the length of a single tick, which is the basic time unit +used by ZooKeeper, as measured in milliseconds. It is used to +regulate heartbeats, and timeouts. For example, the minimum +session timeout will be two ticks.

    +
  • +
+

Advanced Configuration

+

The configuration settings in the section are optional. You can +use them to further fine tune the behaviour of your ZooKeeper servers. +Some can also be set using Java system properties, generally of the +form zookeeper.keyword. The exact system +property, when available, is noted below.

+
    +
  • +

    dataLogDir : +(No Java system property) +This option will direct the machine to write the +transaction log to the dataLogDir rather than the dataDir. This allows a dedicated log +device to be used, and helps avoid competition between logging +and snapshots.

    +

    Having a dedicated log device has a large impact on throughput and stable +latencies. It is highly recommended dedicating a log device and set +dataLogDir to point to a directory on that device, and then make sure to +point dataDir to a directory not residing on that device.

    +
  • +
  • +

    globalOutstandingLimit : +(Java system property: zookeeper.globalOutstandingLimit.) +Clients can submit requests faster than ZooKeeper can +process them, especially if there are a lot of clients. To +prevent ZooKeeper from running out of memory due to queued +requests, ZooKeeper will throttle clients so that there are no +more than globalOutstandingLimit outstanding requests across +entire ensemble, equally divided. The default limit is 1,000 +and, for example, with 3 members each of them will have +1000 / 2 = 500 individual limit.

    +
  • +
  • +

    preAllocSize : +(Java system property: zookeeper.preAllocSize) +To avoid seeks ZooKeeper allocates space in the +transaction log file in blocks of preAllocSize kilobytes. The +default block size is 64M. One reason for changing the size of +the blocks is to reduce the block size if snapshots are taken +more often. (Also, see snapCount and snapSizeLimitInKb).

    +
  • +
  • +

    snapCount : +(Java system property: zookeeper.snapCount) +ZooKeeper records its transactions using snapshots and +a transaction log (think write-ahead log). The number of +transactions recorded in the transaction log before a snapshot +can be taken (and the transaction log rolled) is determined +by snapCount. In order to prevent all of the machines in the quorum +from taking a snapshot at the same time, each ZooKeeper server +will take a snapshot when the number of transactions in the transaction log +reaches a runtime generated random value in the [snapCount/2+1, snapCount] +range. The default snapCount is 100,000.

    +
  • +
  • +

    commitLogCount * : +(Java system property: zookeeper.commitLogCount) +Zookeeper maintains an in-memory list of last committed requests for fast synchronization with +followers when the followers are not too behind. This improves sync performance in case when your +snapshots are large (>100,000). The default value is 500 which is the recommended minimum.

    +
  • +
  • +

    snapSizeLimitInKb : +(Java system property: zookeeper.snapSizeLimitInKb) +ZooKeeper records its transactions using snapshots and +a transaction log (think write-ahead log). The total size in bytes allowed +in the set of transactions recorded in the transaction log before a snapshot +can be taken (and the transaction log rolled) is determined +by snapSize. In order to prevent all of the machines in the quorum +from taking a snapshot at the same time, each ZooKeeper server +will take a snapshot when the size in bytes of the set of transactions in the +transaction log reaches a runtime generated random value in the [snapSize/2+1, snapSize] +range. Each file system has a minimum standard file size and in order +to for valid functioning of this feature, the number chosen must be larger +than that value. The default snapSizeLimitInKb is 4,194,304 (4GB). +A non-positive value will disable the feature.

    +
  • +
  • +

    txnLogSizeLimitInKb : +(Java system property: zookeeper.txnLogSizeLimitInKb) +Zookeeper transaction log file can also be controlled more +directly using txnLogSizeLimitInKb. Larger txn logs can lead to +slower follower syncs when sync is done using transaction log. +This is because leader has to scan through the appropriate log +file on disk to find the transaction to start sync from. +This feature is turned off by default and snapCount and snapSizeLimitInKb are the +only values that limit transaction log size. When enabled +Zookeeper will roll the log when any of the limits is hit. +Please note that actual log size can exceed this value by the size +of the serialized transaction. On the other hand, if this value is +set too close to (or smaller than) preAllocSize, +it can cause Zookeeper to roll the log for every transaction. While +this is not a correctness issue, this may cause severely degraded +performance. To avoid this and to get most out of this feature, it is +recommended to set the value to N * preAllocSize +where N >= 2.

    +
  • +
  • +

    maxCnxns : +(Java system property: zookeeper.maxCnxns) +Limits the total number of concurrent connections that can be made to a +zookeeper server (per client Port of each server ). This is used to prevent certain +classes of DoS attacks. The default is 0 and setting it to 0 entirely removes +the limit on total number of concurrent connections. Accounting for the +number of connections for serverCnxnFactory and a secureServerCnxnFactory is done +separately, so a peer is allowed to host up to 2*maxCnxns provided they are of appropriate types.

    +
  • +
  • +

    maxClientCnxns : +(No Java system property) +Limits the number of concurrent connections (at the socket +level) that a single client, identified by IP address, may make +to a single member of the ZooKeeper ensemble. This is used to +prevent certain classes of DoS attacks, including file +descriptor exhaustion. The default is 60. Setting this to 0 +entirely removes the limit on concurrent connections.

    +
  • +
  • +

    clientPortAddress : +New in 3.3.0: the +address (ipv4, ipv6 or hostname) to listen for client +connections; that is, the address that clients attempt +to connect to. This is optional, by default we bind in +such a way that any connection to the clientPort for any +address/interface/nic on the server will be +accepted.

    +
  • +
  • +

    minSessionTimeout : +(No Java system property) +New in 3.3.0: the +minimum session timeout in milliseconds that the server +will allow the client to negotiate. Defaults to 2 times +the tickTime.

    +
  • +
  • +

    maxSessionTimeout : +(No Java system property) +New in 3.3.0: the +maximum session timeout in milliseconds that the server +will allow the client to negotiate. Defaults to 20 times +the tickTime.

    +
  • +
  • +

    fsync.warningthresholdms : +(Java system property: zookeeper.fsync.warningthresholdms) +New in 3.3.4: A +warning message will be output to the log whenever an +fsync in the Transactional Log (WAL) takes longer than +this value. The values is specified in milliseconds and +defaults to 1000. This value can only be set as a +system property.

    +
  • +
  • +

    maxResponseCacheSize : +(Java system property: zookeeper.maxResponseCacheSize) +When set to a positive integer, it determines the size +of the cache that stores the serialized form of recently +read records. Helps save the serialization cost on +popular znodes. The metrics response_packet_cache_hits +and response_packet_cache_misses can be used to tune +this value to a given workload. The feature is turned on +by default with a value of 400, set to 0 or a negative +integer to turn the feature off.

    +
  • +
  • +

    maxGetChildrenResponseCacheSize : +(Java system property: zookeeper.maxGetChildrenResponseCacheSize) +New in 3.6.0: +Similar to maxResponseCacheSize, but applies to get children +requests. The metrics response_packet_get_children_cache_hits +and response_packet_get_children_cache_misses can be used to tune +this value to a given workload. The feature is turned on +by default with a value of 400, set to 0 or a negative +integer to turn the feature off.

    +
  • +
  • +

    autopurge.snapRetainCount : +(No Java system property) +New in 3.4.0: +When enabled, ZooKeeper auto purge feature retains +the autopurge.snapRetainCount most +recent snapshots and the corresponding transaction logs in the +dataDir and dataLogDir respectively and deletes the rest. +Defaults to 3. Minimum value is 3.

    +
  • +
  • +

    autopurge.purgeInterval : +(No Java system property) +New in 3.4.0: The +time interval in hours for which the purge task has to +be triggered. Set to a positive integer (1 and above) +to enable the auto purging. Defaults to 0. +Suffix support added in 3.10.0: The interval is specified as an integer with an optional suffix to indicate the time unit. +Supported suffixes are: ms for milliseconds, s for seconds, m for minutes, h for hours, and d for days. +For example, "10m" represents 10 minutes, and "5h" represents 5 hours. +If no suffix is provided, the default unit is hours.

    +
  • +
  • +

    syncEnabled : +(Java system property: zookeeper.observer.syncEnabled) +New in 3.4.6, 3.5.0: +The observers now log transaction and write snapshot to disk +by default like the participants. This reduces the recovery time +of the observers on restart. Set to "false" to disable this +feature. Default is "true"

    +
  • +
  • +

    extendedTypesEnabled : +(Java system property only: zookeeper.extendedTypesEnabled) +New in 3.5.4, 3.6.0: Define to true to enable +extended features such as the creation of TTL Nodes. +They are disabled by default. IMPORTANT: when enabled server IDs must +be less than 255 due to internal limitations.

    +
  • +
  • +

    emulate353TTLNodes : +(Java system property only:zookeeper.emulate353TTLNodes). +New in 3.5.4, 3.6.0: Due to [ZOOKEEPER-2901] +(https://issues.apache.org/jira/browse/ZOOKEEPER-2901) TTL nodes +created in version 3.5.3 are not supported in 3.5.4/3.6.0. However, a workaround is provided via the +zookeeper.emulate353TTLNodes system property. If you used TTL nodes in ZooKeeper 3.5.3 and need to maintain +compatibility set zookeeper.emulate353TTLNodes to true in addition to +zookeeper.extendedTypesEnabled. NOTE: due to the bug, server IDs +must be 127 or less. Additionally, the maximum support TTL value is 1099511627775 which is smaller +than what was allowed in 3.5.3 (1152921504606846975)

    +
  • +
  • +

    watchManagerName : +(Java system property only: zookeeper.watchManagerName) +New in 3.6.0: Added in ZOOKEEPER-1179 +New watcher manager WatchManagerOptimized is added to optimize the memory overhead in heavy watch use cases. This +config is used to define which watcher manager to be used. Currently, we only support WatchManager and +WatchManagerOptimized.

    +
  • +
  • +

    watcherCleanThreadsNum : +(Java system property only: zookeeper.watcherCleanThreadsNum) +New in 3.6.0: Added in ZOOKEEPER-1179 +The new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, this config is used to decide how +many thread is used in the WatcherCleaner. More thread usually means larger clean up throughput. The +default value is 2, which is good enough even for heavy and continuous session closing/recreating cases.

    +
  • +
  • +

    watcherCleanThreshold : +(Java system property only: zookeeper.watcherCleanThreshold) +New in 3.6.0: Added in ZOOKEEPER-1179 +The new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, the cleanup process is relatively +heavy, batch processing will reduce the cost and improve the performance. This setting is used to decide +the batch size. The default one is 1000, we don't need to change it if there is no memory or clean up +speed issue.

    +
  • +
  • +

    watcherCleanIntervalInSeconds : +(Java system property only:zookeeper.watcherCleanIntervalInSeconds) +New in 3.6.0: Added in ZOOKEEPER-1179 +The new watcher manager WatchManagerOptimized will clean up the dead watchers lazily, the cleanup process is relatively +heavy, batch processing will reduce the cost and improve the performance. Besides watcherCleanThreshold, +this setting is used to clean up the dead watchers after certain time even the dead watchers are not larger +than watcherCleanThreshold, so that we won't leave the dead watchers there for too long. The default setting +is 10 minutes, which usually don't need to be changed.

    +
  • +
  • +

    maxInProcessingDeadWatchers : +(Java system property only: zookeeper.maxInProcessingDeadWatchers) +New in 3.6.0: Added in ZOOKEEPER-1179 +This is used to control how many backlog can we have in the WatcherCleaner, when it reaches this number, it will +slow down adding the dead watcher to WatcherCleaner, which will in turn slow down adding and closing +watchers, so that we can avoid OOM issue. By default there is no limit, you can set it to values like +watcherCleanThreshold * 1000.

    +
  • +
  • +

    bitHashCacheSize : +(Java system property only: zookeeper.bitHashCacheSize) +New 3.6.0: Added in ZOOKEEPER-1179 +This is the setting used to decide the HashSet cache size in the BitHashSet implementation. Without HashSet, we +need to use O(N) time to get the elements, N is the bit numbers in elementBits. But we need to +keep the size small to make sure it doesn't cost too much in memory, there is a trade off between memory +and time complexity. The default value is 10, which seems a relatively reasonable cache size.

    +
  • +
  • +

    fastleader.minNotificationInterval : +(Java system property: zookeeper.fastleader.minNotificationInterval) +Lower bound for length of time between two consecutive notification +checks on the leader election. This interval determines how long a +peer waits to check the set of election votes and effects how +quickly an election can resolve. The interval follows a backoff +strategy from the configured minimum (this) and the configured maximum +(fastleader.maxNotificationInterval) for long elections.

    +
  • +
  • +

    fastleader.maxNotificationInterval : +(Java system property: zookeeper.fastleader.maxNotificationInterval) +Upper bound for length of time between two consecutive notification +checks on the leader election. This interval determines how long a +peer waits to check the set of election votes and effects how +quickly an election can resolve. The interval follows a backoff +strategy from the configured minimum (fastleader.minNotificationInterval) +and the configured maximum (this) for long elections.

    +
  • +
  • +

    connectionMaxTokens : +(Java system property: zookeeper.connection_throttle_tokens) +New in 3.6.0: +This is one of the parameters to tune the server-side connection throttler, +which is a token-based rate limiting mechanism with optional probabilistic +dropping. +This parameter defines the maximum number of tokens in the token-bucket. +When set to 0, throttling is disabled. Default is 0.

    +
  • +
  • +

    connectionTokenFillTime : +(Java system property: zookeeper.connection_throttle_fill_time) +New in 3.6.0: +This is one of the parameters to tune the server-side connection throttler, +which is a token-based rate limiting mechanism with optional probabilistic +dropping. +This parameter defines the interval in milliseconds when the token bucket is re-filled with +connectionTokenFillCount tokens. Default is 1.

    +
  • +
  • +

    connectionTokenFillCount : +(Java system property: zookeeper.connection_throttle_fill_count) +New in 3.6.0: +This is one of the parameters to tune the server-side connection throttler, +which is a token-based rate limiting mechanism with optional probabilistic +dropping. +This parameter defines the number of tokens to add to the token bucket every +connectionTokenFillTime milliseconds. Default is 1.

    +
  • +
  • +

    connectionFreezeTime : +(Java system property: zookeeper.connection_throttle_freeze_time) +New in 3.6.0: +This is one of the parameters to tune the server-side connection throttler, +which is a token-based rate limiting mechanism with optional probabilistic +dropping. +This parameter defines the interval in milliseconds when the dropping +probability is adjusted. When set to -1, probabilistic dropping is disabled. +Default is -1.

    +
  • +
  • +

    connectionDropIncrease : +(Java system property: zookeeper.connection_throttle_drop_increase) +New in 3.6.0: +This is one of the parameters to tune the server-side connection throttler, +which is a token-based rate limiting mechanism with optional probabilistic +dropping. +This parameter defines the dropping probability to increase. The throttler +checks every connectionFreezeTime milliseconds and if the token bucket is +empty, the dropping probability will be increased by connectionDropIncrease. +The default is 0.02.

    +
  • +
  • +

    connectionDropDecrease : +(Java system property: zookeeper.connection_throttle_drop_decrease) +New in 3.6.0: +This is one of the parameters to tune the server-side connection throttler, +which is a token-based rate limiting mechanism with optional probabilistic +dropping. +This parameter defines the dropping probability to decrease. The throttler +checks every connectionFreezeTime milliseconds and if the token bucket has +more tokens than a threshold, the dropping probability will be decreased by +connectionDropDecrease. The threshold is connectionMaxTokens * +connectionDecreaseRatio. The default is 0.002.

    +
  • +
  • +

    connectionDecreaseRatio : +(Java system property: zookeeper.connection_throttle_decrease_ratio) +New in 3.6.0: +This is one of the parameters to tune the server-side connection throttler, +which is a token-based rate limiting mechanism with optional probabilistic +dropping. This parameter defines the threshold to decrease the dropping +probability. The default is 0.

    +
  • +
  • +

    zookeeper.connection_throttle_weight_enabled : +(Java system property only) +New in 3.6.0: +Whether to consider connection weights when throttling. Only useful when connection throttle is enabled, that is, connectionMaxTokens is larger than 0. The default is false.

    +
  • +
  • +

    zookeeper.connection_throttle_global_session_weight : +(Java system property only) +New in 3.6.0: +The weight of a global session. It is the number of tokens required for a global session request to get through the connection throttler. It has to be a positive integer no smaller than the weight of a local session. The default is 3.

    +
  • +
  • +

    zookeeper.connection_throttle_local_session_weight : +(Java system property only) +New in 3.6.0: +The weight of a local session. It is the number of tokens required for a local session request to get through the connection throttler. It has to be a positive integer no larger than the weight of a global session or a renew session. The default is 1.

    +
  • +
  • +

    zookeeper.connection_throttle_renew_session_weight : +(Java system property only) +New in 3.6.0: +The weight of renewing a session. It is also the number of tokens required for a reconnect request to get through the throttler. It has to be a positive integer no smaller than the weight of a local session. The default is 2.

    +
  • +
  • +

    clientPortListenBacklog : +(No Java system property) +New in 3.4.14, 3.5.5, 3.6.0: +The socket backlog length for the ZooKeeper server socket. This controls +the number of requests that will be queued server-side to be processed +by the ZooKeeper server. Connections that exceed this length will receive +a network timeout (30s) which may cause ZooKeeper session expiry issues. +By default, this value is unset (-1) which, on Linux, uses a backlog of +50. This value must be a positive number.

    +
  • +
  • +

    serverCnxnFactory : +(Java system property: zookeeper.serverCnxnFactory) +Specifies ServerCnxnFactory implementation. +This should be set to NettyServerCnxnFactory in order to use TLS based server communication. +Default is NIOServerCnxnFactory.

    +
  • +
  • +

    flushDelay : +(Java system property: zookeeper.flushDelay) +Time in milliseconds to delay the flush of the commit log. +Does not affect the limit defined by maxBatchSize. +Disabled by default (with value 0). Ensembles with high write rates +may see throughput improved with a value of 10-20 ms.

    +
  • +
  • +

    maxWriteQueuePollTime : +(Java system property: zookeeper.maxWriteQueuePollTime) +If flushDelay is enabled, this determines the amount of time in milliseconds +to wait before flushing when no new requests are being queued. +Set to flushDelay/3 by default (implicitly disabled by default).

    +
  • +
  • +

    maxBatchSize : +(Java system property: zookeeper.maxBatchSize) +The number of transactions allowed in the server before a flush of the +commit log is triggered. +Does not affect the limit defined by flushDelay. +Default is 1000.

    +
  • +
  • +

    enforceQuota : +(Java system property: zookeeper.enforceQuota) +New in 3.7.0: +Enforce the quota check. When enabled and the client exceeds the total bytes or children count hard quota under a znode, the server will reject the request and reply the client a QuotaExceededException by force. +The default value is: false. Exploring quota feature for more details.

    +
  • +
  • +

    requestThrottleLimit : +(Java system property: zookeeper.request_throttle_max_requests) +New in 3.6.0: +The total number of outstanding requests allowed before the RequestThrottler starts stalling. When set to 0, throttling is disabled. The default is 0.

    +
  • +
  • +

    requestThrottleStallTime : +(Java system property: zookeeper.request_throttle_stall_time) +New in 3.6.0: +The maximum time (in milliseconds) for which a thread may wait to be notified that it may proceed processing a request. The default is 100.

    +
  • +
  • +

    requestThrottleDropStale : +(Java system property: request_throttle_drop_stale) +New in 3.6.0: +When enabled, the throttler will drop stale requests rather than issue them to the request pipeline. A stale request is a request sent by a connection that is now closed, and/or a request that will have a request latency higher than the sessionTimeout. The default is true.

    +
  • +
  • +

    requestStaleLatencyCheck : +(Java system property: zookeeper.request_stale_latency_check) +New in 3.6.0: +When enabled, a request is considered stale if the request latency is higher than its associated session timeout. Disabled by default.

    +
  • +
  • +

    requestStaleConnectionCheck : +(Java system property: zookeeper.request_stale_connection_check) +New in 3.6.0: +When enabled, a request is considered stale if the request's connection has closed. Enabled by default.

    +
  • +
  • +

    zookeeper.request_throttler.shutdownTimeout : +(Java system property only) +New in 3.6.0: +The time (in milliseconds) the RequestThrottler waits for the request queue to drain during shutdown before it shuts down forcefully. The default is 10000.

    +
  • +
  • +

    advancedFlowControlEnabled : +(Java system property: zookeeper.netty.advancedFlowControl.enabled) +Using accurate flow control in netty based on the status of ZooKeeper +pipeline to avoid direct buffer OOM. It will disable the AUTO_READ in +Netty.

    +
  • +
  • +

    enableEagerACLCheck : +(Java system property only: zookeeper.enableEagerACLCheck) +When set to "true", enables eager ACL check on write requests on each local +server before sending the requests to quorum. Default is "false".

    +
  • +
  • +

    maxConcurrentSnapSyncs : +(Java system property: zookeeper.leader.maxConcurrentSnapSyncs) +The maximum number of snap syncs a leader or a follower can serve at the same +time. The default is 10.

    +
  • +
  • +

    maxConcurrentDiffSyncs : +(Java system property: zookeeper.leader.maxConcurrentDiffSyncs) +The maximum number of diff syncs a leader or a follower can serve at the same +time. The default is 100.

    +
  • +
  • +

    digest.enabled : +(Java system property only: zookeeper.digest.enabled) +New in 3.6.0: +The digest feature is added to detect the data inconsistency inside +ZooKeeper when loading database from disk, catching up and following +leader, its doing incrementally hash check for the DataTree based on +the adHash paper mentioned in

    +

    https://cseweb.ucsd.edu/~daniele/papers/IncHash.pdf

    +

    The idea is simple, the hash value of DataTree will be updated incrementally +based on the changes to the set of data. When the leader is preparing the txn, +it will pre-calculate the hash of the tree based on the changes happened with +formula:

    +

    current_hash = current_hash + hash(new node data) - hash(old node data)

    +

    If it’s creating a new node, the hash(old node data) will be 0, and if it’s a +delete node op, the hash(new node data) will be 0.

    +

    This hash will be associated with each txn to represent the expected hash value +after applying the txn to the data tree, it will be sent to followers with +original proposals. Learner will compare the actual hash value with the one in +the txn after applying the txn to the data tree, and report mismatch if it’s not +the same.

    +

    These digest value will also be persisted with each txn and snapshot on the disk, +so when servers restarted and load data from disk, it will compare and see if +there is hash mismatch, which will help detect data loss issue on disk.

    +

    For the actual hash function, we’re using CRC internally, it’s not a collisionless +hash function, but it’s more efficient compared to collisionless hash, and the +collision possibility is really really rare and can already meet our needs here.

    +

    This feature is backward and forward compatible, so it can safely roll upgrade, +downgrade, enabled and later disabled without any compatible issue. Here are the +scenarios have been covered and tested:

    +
      +
    1. When leader runs with new code while follower runs with old one, the digest will +be appended to the end of each txn, follower will only read header and txn data, +digest value in the txn will be ignored. It won't affect the follower reads and +processes the next txn.
    2. +
    3. When leader runs with old code while follower runs with new one, the digest won't +be sent with txn, when follower tries to read the digest, it will throw EOF which +is caught and handled gracefully with digest value set to null.
    4. +
    5. When loading old snapshot with new code, it will throw IOException when trying to +read the non-exist digest value, and the exception will be caught and digest will +be set to null, which means we won't compare digest when loading this snapshot, +which is expected to happen during rolling upgrade
    6. +
    7. When loading new snapshot with old code, it will finish successfully after deserializing +the data tree, the digest value at the end of snapshot file will be ignored
    8. +
    9. The scenarios of rolling restart with flags change are similar to the 1st and 2nd +scenarios discussed above, if the leader enabled but follower not, digest value will +be ignored, and follower won't compare the digest during runtime; if leader disabled +but follower enabled, follower will get EOF exception which is handled gracefully.
    10. +
    +

    Note: the current digest calculation excluded nodes under /zookeeper +due to the potential inconsistency in the /zookeeper/quota stat node, +we can include that after that issue is fixed.

    +

    By default, this feature is enabled, set "false" to disable it.

    +
  • +
  • +

    snapshot.compression.method : +(Java system property: zookeeper.snapshot.compression.method) +New in 3.6.0: +This property controls whether or not ZooKeeper should compress snapshots +before storing them on disk (see ZOOKEEPER-3179). +Possible values are:

    + +
  • +
  • +

    snapshot.trust.empty : +(Java system property: zookeeper.snapshot.trust.empty) +New in 3.5.6: +This property controls whether or not ZooKeeper should treat missing +snapshot files as a fatal state that can't be recovered from. +Set to true to allow ZooKeeper servers recover without snapshot +files. This should only be set during upgrading from old versions of +ZooKeeper (3.4.x, pre 3.5.3) where ZooKeeper might only have transaction +log files but without presence of snapshot files. If the value is set +during upgrade, we recommend setting the value back to false after upgrading +and restart ZooKeeper process so ZooKeeper can continue normal data +consistency check during recovery process. +Default value is false.

    +
  • +
  • +

    audit.enable : +(Java system property: zookeeper.audit.enable) +New in 3.6.0: +By default audit logs are disabled. Set to "true" to enable it. Default value is "false". +See the ZooKeeper audit logs for more information.

    +
  • +
  • +

    audit.impl.class : +(Java system property: zookeeper.audit.impl.class) +New in 3.6.0: +Class to implement the audit logger. By default logback based audit logger org.apache.zookeeper.audit +.Slf4jAuditLogger is used. +See the ZooKeeper audit logs for more information.

    +
  • +
  • +

    largeRequestMaxBytes : +(Java system property: zookeeper.largeRequestMaxBytes) +New in 3.6.0: +The maximum number of bytes of all inflight large request. The connection will be closed if a coming large request causes the limit exceeded. The default is 100 * 1024 * 1024.

    +
  • +
  • +

    largeRequestThreshold : +(Java system property: zookeeper.largeRequestThreshold) +New in 3.6.0: +The size threshold after which a request is considered a large request. If it is -1, then all requests are considered small, effectively turning off large request throttling. The default is -1.

    +
  • +
  • +

    outstandingHandshake.limit +(Java system property only: zookeeper.netty.server.outstandingHandshake.limit) +The maximum in-flight TLS handshake connections could have in ZooKeeper, +the connections exceed this limit will be rejected before starting handshake. +This setting doesn't limit the max TLS concurrency, but helps avoid herd +effect due to TLS handshake timeout when there are too many in-flight TLS +handshakes. Set it to something like 250 is good enough to avoid herd effect.

    +
  • +
  • +

    netty.server.earlyDropSecureConnectionHandshakes +(Java system property: zookeeper.netty.server.earlyDropSecureConnectionHandshakes) +If the ZooKeeper server is not fully started, drop TCP connections before performing the TLS handshake. +This is useful in order to prevent flooding the server with many concurrent TLS handshakes after a restart. +Please note that if you enable this flag the server won't answer to 'ruok' commands if it is not fully started. +The behaviour of dropping the connection has been introduced in ZooKeeper 3.7 and it was not possible to disable it. +Since 3.7.1 and 3.8.0 this feature is disabled by default.

    +
  • +
  • +

    throttledOpWaitTime +(Java system property: zookeeper.throttled_op_wait_time) +The time in the RequestThrottler queue longer than which a request will be marked as throttled. +A throttled requests will not be processed other than being fed down the pipeline of the server it belongs +to preserve the order of all requests. +The FinalProcessor will issue an error response (new error code: ZTHROTTLEDOP) for these undigested requests. +The intent is for the clients not to retry them immediately. +When set to 0, no requests will be throttled. The default is 0.

    +
  • +
  • +

    learner.closeSocketAsync +(Java system property: zookeeper.learner.closeSocketAsync) +(Java system property: learner.closeSocketAsync)(Added for backward compatibility) +New in 3.7.0: +When enabled, a learner will close the quorum socket asynchronously. This is useful for TLS connections where closing a socket might take a long time, block the shutdown process, potentially delay a new leader election, and leave the quorum unavailable. Closing the socket asynchronously avoids blocking the shutdown process despite the long socket closing time and a new leader election can be started while the socket being closed. +The default is false.

    +
  • +
  • +

    leader.closeSocketAsync +(Java system property: zookeeper.leader.closeSocketAsync) +(Java system property: leader.closeSocketAsync)(Added for backward compatibility) +New in 3.7.0: +When enabled, the leader will close a quorum socket asynchronously. This is useful for TLS connections where closing a socket might take a long time. If disconnecting a follower is initiated in ping() because of a failed SyncLimitCheck then the long socket closing time will block the sending of pings to other followers. Without receiving pings, the other followers will not send session information to the leader, which causes sessions to expire. Setting this flag to true ensures that pings will be sent regularly. +The default is false.

    +
  • +
  • +

    learner.asyncSending +(Java system property: zookeeper.learner.asyncSending) +(Java system property: learner.asyncSending)(Added for backward compatibility) +New in 3.7.0: +The sending and receiving packets in Learner were done synchronously in a critical section. An untimely network issue could cause the followers to hang (see ZOOKEEPER-3575 and ZOOKEEPER-4074). The new design moves sending packets in Learner to a separate thread and sends the packets asynchronously. The new design is enabled with this parameter (learner.asyncSending). +The default is false.

    +
  • +
  • +

    forward_learner_requests_to_commit_processor_disabled +(Java system property: zookeeper.forward_learner_requests_to_commit_processor_disabled) +When this property is set, the requests from learners won't be enqueued to +CommitProcessor queue, which will help save the resources and GC time on +leader. The default value is false.

    +
  • +
  • +

    serializeLastProcessedZxid.enabled +(Java system property: zookeeper.serializeLastProcessedZxid.enabled) +New in 3.9.0: +If enabled, ZooKeeper serializes the lastProcessedZxid when snapshot and deserializes it +when restore. Defaults to true. Needs to be enabled for performing snapshot and restore +via admin server commands, as there is no snapshot file name to extract the lastProcessedZxid.

    +

    This feature is backward and forward compatible. Here are the different scenarios.

    +
      +
    1. +

      Snapshot triggered by server internally

      +
        +
      • When loading old snapshot with new code, it will throw EOFException when trying to +read the non-exist lastProcessedZxid value, and the exception will be caught. +The lastProcessedZxid will be set using the snapshot file name.
      • +
      • When loading new snapshot with old code, it will finish successfully after deserializing +the digest value, the lastProcessedZxid at the end of snapshot file will be ignored. +The lastProcessedZxid will be set using the snapshot file name.
      • +
      +
    2. +
    3. +

      Sync up between leader and follower: The lastProcessedZxid will not be serialized by +leader and deserialized by follower in both new and old code. It will be set to the +lastProcessedZxid sent from leader via QuorumPacket.

      +
    4. +
    5. +

      Snapshot triggered via admin server APIs: The feature flag need to be enabled for the +snapshot command to work.

      +
    6. +
    +
  • +
+

Cluster Options

+

The options in this section are designed for use with an ensemble +of servers — that is, when deploying clusters of servers.

+
    +
  • +

    electionAlg : +(No Java system property) +Election implementation to use. A value of "1" corresponds to the +non-authenticated UDP-based version of fast leader election, "2" +corresponds to the authenticated UDP-based version of fast +leader election, and "3" corresponds to TCP-based version of +fast leader election. Algorithm 3 was made default in 3.2.0 and +prior versions (3.0.0 and 3.1.0) were using algorithm 1 and 2 as well.

    +

    The implementations of leader election 1, and 2 were deprecated in +3.4.0. Since 3.6.0 only FastLeaderElection is available, in case of upgrade +you have to shut down all of your servers and restart them with +electionAlg=3 (or by removing the line from the configuration file).

    +
  • +
  • +

    maxTimeToWaitForEpoch : +(Java system property: zookeeper.leader.maxTimeToWaitForEpoch) +New in 3.6.0: +The maximum time to wait for epoch from voters when activating +leader. If leader received a LOOKING notification from one of +its voters, and it hasn't received epoch packets from majority +within maxTimeToWaitForEpoch, then it will goto LOOKING and +elect leader again. +This can be tuned to reduce the quorum or server unavailable +time, it can be set to be much smaller than initLimit * tickTime. +In cross datacenter environment, it can be set to something +like 2s.

    +
  • +
  • +

    initLimit : +(No Java system property) +Amount of time, in ticks (see tickTime), to allow followers to +connect and sync to a leader. Increased this value as needed, if +the amount of data managed by ZooKeeper is large.

    +
  • +
  • +

    connectToLearnerMasterLimit : +(Java system property: zookeeper.connectToLearnerMasterLimit) +Amount of time, in ticks (see tickTime), to allow followers to +connect to the leader after leader election. Defaults to the value of initLimit. +Use when initLimit is high so connecting to learner master doesn't result in higher timeout.

    +
  • +
  • +

    leaderServes : +(Java system property: zookeeper.leaderServes) +Leader accepts client connections. Default value is "yes". +The leader machine coordinates updates. For higher update +throughput at the slight expense of read throughput the leader +can be configured to not accept clients and focus on +coordination. The default to this option is yes, which means +that a leader will accept client connections.

    +

    Turning on leader selection is highly recommended when you have more than +three ZooKeeper servers in an ensemble.

    +
  • +
  • +

    server.x=[hostname]:nnnnn[:nnnnn] etc : +(No Java system property) +Servers making up the ZooKeeper ensemble. When the server +starts up, it determines which server it is by looking for the +file myid in the data directory. That file contains the server number, in ASCII, +and it should match x in server.x in the left hand side of this setting. +The list of servers that make up ZooKeeper servers that is +used by the clients must match the list of ZooKeeper servers +that each ZooKeeper server has. +There are two port numbers nnnnn. +The first followers used to connect to the leader, and the second is for +leader election. If you want to test multiple servers on a single machine, then +different ports can be used for each server.

    +

    Since ZooKeeper 3.6.0 it is possible to specify multiple addresses for each +ZooKeeper server (see ZOOKEEPER-3188). +To enable this feature, you must set the multiAddress.enabled configuration property +to true. This helps to increase availability and adds network level +resiliency to ZooKeeper. When multiple physical network interfaces are used +for the servers, ZooKeeper is able to bind on all interfaces and runtime switching +to a working interface in case a network error. The different addresses can be specified +in the config using a pipe ('|') character. A valid configuration using multiple addresses looks like:

    +
    server.1=zoo1-net1:2888:3888|zoo1-net2:2889:3889
    +server.2=zoo2-net1:2888:3888|zoo2-net2:2889:3889
    +server.3=zoo3-net1:2888:3888|zoo3-net2:2889:3889
    +

    By enabling this feature, the Quorum protocol (ZooKeeper Server-Server +protocol) will change. The users will not notice this and when anyone starts +a ZooKeeper cluster with the new config, everything will work normally. +However, it's not possible to enable this feature and specify multiple +addresses during a rolling upgrade if the old ZooKeeper cluster didn't +support the multiAddress feature (and the new Quorum protocol). In case if +you need this feature but you also need to perform a rolling upgrade from a +ZooKeeper cluster older than 3.6.0, then you first need to do the rolling +upgrade without enabling the MultiAddress feature and later make a separate +rolling restart with the new configuration where multiAddress.enabled is +set to true and multiple addresses are provided.

    +
  • +
  • +

    syncLimit : +(No Java system property) +Amount of time, in ticks (see tickTime), to allow followers to sync +with ZooKeeper. If followers fall too far behind a leader, they +will be dropped.

    +
  • +
  • +

    group.x=nnnnn[:nnnnn] : +(No Java system property) +Enables a hierarchical quorum construction."x" is a group identifier +and the numbers following the "=" sign correspond to server identifiers. +The left-hand side of the assignment is a colon-separated list of server +identifiers. Note that groups must be disjoint and the union of all groups +must be the ZooKeeper ensemble. +You will find an example here

    +
  • +
  • +

    weight.x=nnnnn : +(No Java system property) +Used along with "group", it assigns a weight to a server when +forming quorums. Such a value corresponds to the weight of a server +when voting. There are a few parts of ZooKeeper that require voting +such as leader election and the atomic broadcast protocol. By default +the weight of server is 1. If the configuration defines groups, but not +weights, then a value of 1 will be assigned to all servers. +You will find an example here

    +
  • +
  • +

    cnxTimeout : +(Java system property: zookeeper.cnxTimeout) +Sets the timeout value for opening connections for leader election notifications. +Only applicable if you are using electionAlg 3.

    +
    Default value is 5 seconds.
    +
  • +
  • +

    quorumCnxnTimeoutMs : +(Java system property: zookeeper.quorumCnxnTimeoutMs) +Sets the read timeout value for the connections for leader election notifications. +Only applicable if you are using electionAlg 3.

    +

    Default value is -1, which will then use the syncLimit * tickTime as the +timeout.

    +
  • +
  • +

    standaloneEnabled : +(No Java system property) +New in 3.5.0: +When set to false, a single server can be started in replicated +mode, a lone participant can run with observers, and a cluster +can reconfigure down to one node, and up from one node. The +default is true for backwards compatibility. It can be set +using QuorumPeerConfig's setStandaloneEnabled method or by +adding "standaloneEnabled=false" or "standaloneEnabled=true" +to a server's config file.

    +
  • +
  • +

    reconfigEnabled : +(No Java system property) +New in 3.5.3: +This controls the enabling or disabling of +Dynamic Reconfiguration feature. When the feature +is enabled, users can perform reconfigure operations through +the ZooKeeper client API or through ZooKeeper command line tools +assuming users are authorized to perform such operations. +When the feature is disabled, no user, including the super user, +can perform a reconfiguration. Any attempt to reconfigure will return an error. +"reconfigEnabled" option can be set as +"reconfigEnabled=false" or +"reconfigEnabled=true" +to a server's config file, or using QuorumPeerConfig's +setReconfigEnabled method. The default value is false. +If present, the value should be consistent across every server in +the entire ensemble. Setting the value as true on some servers and false +on other servers will cause inconsistent behavior depending on which server +is elected as leader. If the leader has a setting of +"reconfigEnabled=true", then the ensemble +will have reconfig feature enabled. If the leader has a setting of +"reconfigEnabled=false", then the ensemble +will have reconfig feature disabled. It is thus recommended having a consistent +value for "reconfigEnabled" across servers +in the ensemble.

    +
  • +
  • +

    4lw.commands.whitelist : +(Java system property: zookeeper.4lw.commands.whitelist) +New in 3.5.3: +A list of comma separated Four Letter Words +commands that user wants to use. A valid Four Letter Words +command must be put in this list else ZooKeeper server will +not enable the command. +By default the whitelist only contains "srvr" command +which zkServer.sh uses. Additionally, if Read Only Mode is enabled by setting +Java system property readonlymode.enabled, then the "isro" command is +added to the whitelist. The rest of four-letter word commands are disabled +by default: attempting to use them will gain a response +".... is not executed because it is not in the whitelist." +Here's an example of the configuration that enables stat, ruok, conf, and isro +command while disabling the rest of Four Letter Words command:

    +
    4lw.commands.whitelist=stat, ruok, conf, isro
    +

    If you really need enable all four-letter word commands by default, you can use +the asterisk option so you don't have to include every command one by one in the list. +As an example, this will enable all four-letter word commands:

    +
    4lw.commands.whitelist=*
    +
  • +
  • +

    tcpKeepAlive : +(Java system property: zookeeper.tcpKeepAlive) +New in 3.5.4: +Setting this to true sets the TCP keepAlive flag on the +sockets used by quorum members to perform elections. +This will allow for connections between quorum members to +remain up when there is network infrastructure that may +otherwise break them. Some NATs and firewalls may terminate +or lose state for long-running or idle connections. +Enabling this option relies on OS level settings to work +properly, check your operating system's options regarding TCP +keepalive for more information. Defaults to +false.

    +
  • +
  • +

    clientTcpKeepAlive : +(Java system property: zookeeper.clientTcpKeepAlive) +New in 3.6.1: +Setting this to true sets the TCP keepAlive flag on the +client sockets. Some broken network infrastructure may lose +the FIN packet that is sent from closing client. These never +closed client sockets cause OS resource leak. Enabling this +option terminates these zombie sockets by idle check. +Enabling this option relies on OS level settings to work +properly, check your operating system's options regarding TCP +keepalive for more information. Defaults to false. Please +note the distinction between it and tcpKeepAlive. It is +applied for the client sockets while tcpKeepAlive is for +the sockets used by quorum members. Currently this option is +only available when default NIOServerCnxnFactory is used.

    +
  • +
  • +

    electionPortBindRetry : +(Java system property only: zookeeper.electionPortBindRetry) +Property set max retry count when Zookeeper server fails to bind +leader election port. Such errors can be temporary and recoverable, +such as DNS issue described in ZOOKEEPER-3320, +or non-retryable, such as port already in use. +In case of transient errors, this property can improve availability +of Zookeeper server and help it to self recover. +Default value 3. In container environment, especially in Kubernetes, +this value should be increased or set to 0(infinite retry) to overcome issues +related to DNS name resolving.

    +
  • +
  • +

    observer.reconnectDelayMs : +(Java system property: zookeeper.observer.reconnectDelayMs) +When observer loses its connection with the leader, it waits for the +specified value before trying to reconnect with the leader so that +the entire observer fleet won't try to run leader election and reconnect +to the leader at once. +Defaults to 0 ms.

    +
  • +
  • +

    observer.election.DelayMs : +(Java system property: zookeeper.observer.election.DelayMs) +Delay the observer's participation in a leader election upon disconnect +so as to prevent unexpected additional load on the voting peers during +the process. Defaults to 200 ms.

    +
  • +
  • +

    localSessionsEnabled and localSessionsUpgradingEnabled : +New in 3.5: +Optional value is true or false. Their default values are false. +Turning on the local session feature by setting localSessionsEnabled=true. Turning on +localSessionsUpgradingEnabled can upgrade a local session to a global session automatically as required (e.g. creating ephemeral nodes), +which only matters when localSessionsEnabled is enabled.

    +
  • +
+

Encryption, Authentication, Authorization Options

+

The options in this section allow control over +encryption/authentication/authorization performed by the service.

+

Beside this page, you can also find useful information about client side configuration in the +Programmers Guide. +The ZooKeeper Wiki also has useful pages about ZooKeeper SSL support, +and SASL authentication for ZooKeeper.

+
    +
  • +

    DigestAuthenticationProvider.enabled : +(Java system property: zookeeper.DigestAuthenticationProvider.enabled) +New in 3.7: +Determines whether the digest authentication provider is +enabled. The default value is true for backwards +compatibility, but it may be a good idea to disable this provider +if not used, as it can result in misleading entries appearing in +audit logs +(see ZOOKEEPER-3979)

    +
  • +
  • +

    DigestAuthenticationProvider.superDigest : +(Java system property: zookeeper.DigestAuthenticationProvider.superDigest) +By default this feature is disabled +New in 3.2: +Enables a ZooKeeper ensemble administrator to access the +znode hierarchy as a "super" user. In particular no ACL +checking occurs for a user authenticated as +super. +org.apache.zookeeper.server.auth.DigestAuthenticationProvider +can be used to generate the superDigest, call it with +one parameter of "super:<password>". Provide the +generated "super:<data>" as the system property value +when starting each server of the ensemble. +When authenticating to a ZooKeeper server (from a +ZooKeeper client) pass a scheme of "digest" and authdata +of "super:<password>". Note that digest auth passes +the authdata in plaintext to the server, it would be +prudent to use this authentication method only on +localhost (not over the network) or over an encrypted +connection.

    +
  • +
  • +

    DigestAuthenticationProvider.digestAlg : +(Java system property: zookeeper.DigestAuthenticationProvider.digestAlg) +New in 3.7.0: +Set ACL digest algorithm. The default value is: SHA1 which will be deprecated in the future for security issues.

    +

    Set this property the same value in all the servers.

    +
      +
    • +

      How to support other more algorithms?

      +
        +
      • +

        Modify the java.security configuration file under $JAVA_HOME/jre/lib/security/java.security by specifying +security.provider.<n>=<provider class name>.

        +

        For example:

        +
        set zookeeper.DigestAuthenticationProvider.digestAlg=RipeMD160
        +security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider
        +
      • +
      • +

        Copy the jar file to $JAVA_HOME/jre/lib/ext/.

        +

        For example:

        +
        copy bcprov-jdk18on-1.60.jar to $JAVA_HOME/jre/lib/ext/
        +
      • +
      +
    • +
    • +

      How to migrate from one digest algorithm to another?

      +
        +
      • Regenerate superDigest when migrating to new algorithm.
      • +
      • Run SetAcl for a znode which already had a digest auth of old algorithm.
      • +
      +
    • +
    +
  • +
  • +

    IPAuthenticationProvider.usexforwardedfor : +(Java system property: zookeeper.IPAuthenticationProvider.usexforwardedfor) +New in 3.9.3: +IPAuthenticationProvider uses the client IP address to authenticate the user. By +default it reads the Host HTTP header to detect client IP address. In some +proxy configurations the proxy server adds the X-Forwarded-For header to +the request in order to provide the IP address of the original client request. +By enabling usexforwardedfor ZooKeeper setting, X-Forwarded-For will be preferred +over the standard Host header. +Default value is false.

    +
  • +
  • +

    X509AuthenticationProvider.superUser : +(Java system property: zookeeper.X509AuthenticationProvider.superUser) +The SSL-backed way to enable a ZooKeeper ensemble +administrator to access the znode hierarchy as a "super" user. +When this parameter is set to an X500 principal name, only an +authenticated client with that principal will be able to bypass +ACL checking and have full privileges to all znodes.

    +
  • +
  • +

    zookeeper.superUser : +(Java system property: zookeeper.superUser) +Similar to zookeeper.X509AuthenticationProvider.superUser +but is generic for SASL based logins. It stores the name of +a user that can access the znode hierarchy as a "super" user. +You can specify multiple SASL super users using the +zookeeper.superUser.[suffix] notation, e.g.: +zookeeper.superUser.1=....

    +
  • +
  • +

    ssl.authProvider : +(Java system property: zookeeper.ssl.authProvider) +Specifies a subclass of org.apache.zookeeper.auth.X509AuthenticationProvider +to use for secure client authentication. This is useful in +certificate key infrastructures that do not use JKS. It may be +necessary to extend javax.net.ssl.X509KeyManager and javax.net.ssl.X509TrustManager +to get the desired behavior from the SSL stack. To configure the +ZooKeeper server to use the custom provider for authentication, +choose a scheme name for the custom AuthenticationProvider and +set the property zookeeper.authProvider.[scheme] to the fully-qualified class name of the custom +implementation. This will load the provider into the ProviderRegistry. +Then set this property zookeeper.ssl.authProvider=[scheme] and that provider +will be used for secure authentication.

    +
  • +
  • +

    zookeeper.ensembleAuthName : +(Java system property only: zookeeper.ensembleAuthName) +New in 3.6.0: +Specify a list of comma-separated valid names/aliases of an ensemble. A client +can provide the ensemble name it intends to connect as the credential for scheme "ensemble". The EnsembleAuthenticationProvider will check the credential against +the list of names/aliases of the ensemble that receives the connection request. +If the credential is not in the list, the connection request will be refused. +This prevents a client accidentally connecting to a wrong ensemble.

    +
  • +
  • +

    sessionRequireClientSASLAuth : +(Java system property: zookeeper.sessionRequireClientSASLAuth) +New in 3.6.0: +When set to true, ZooKeeper server will only accept connections and requests from clients +that have authenticated with server via SASL. Clients that are not configured with SASL +authentication, or configured with SASL but failed authentication (i.e. with invalid credential) +will not be able to establish a session with server. A typed error code (-124) will be delivered +in such case, both Java and C client will close the session with server thereafter, +without further attempts on retrying to reconnect.

    +
  • +
+

This configuration is shorthand for enforce.auth.enabled=true and enforce.auth.scheme=sasl

+

By default, this feature is disabled. Users who would like to opt-in can enable the feature +by setting sessionRequireClientSASLAuth to true.

+

This feature overrules the zookeeper.allowSaslFailedClients option, so even if server is +configured to allow clients that fail SASL authentication to login, client will not be able to +establish a session with server if this feature is enabled.

+
    +
  • enforce.auth.enabled : +(Java system property : zookeeper.enforce.auth.enabled) +New in 3.7.0: +When set to true, ZooKeeper server will only accept connections and requests from clients +that have authenticated with server via configured auth scheme. Authentication schemes +can be configured using property enforce.auth.schemes. Clients that are not +configured with the any of the auth scheme configured at server or configured but failed authentication (i.e. with invalid credential) +will not be able to establish a session with server. A typed error code (-124) will be delivered +in such case, both Java and C client will close the session with server thereafter, +without further attempts on retrying to reconnect.
  • +
+

By default, this feature is disabled. Users who would like to opt-in can enable the feature +by setting enforce.auth.enabled to true.

+

When enforce.auth.enabled=true and enforce.auth.schemes=sasl then

+

zookeeper.allowSaslFailedClients configuration +is overruled. So even if server is configured to allow clients that fail SASL +authentication to login, client will not be able to establish a session with +server if this feature is enabled with sasl as authentication scheme.

+
    +
  • +

    enforce.auth.schemes : +(Java system property : zookeeper.enforce.auth.schemes) +New in 3.7.0: +Comma separated list of authentication schemes. Clients must be authenticated with at least one +authentication scheme before doing any zookeeper operations. +This property is used only when enforce.auth.enabled is to true.

    +
  • +
  • +

    sslQuorum : +(Java system property: zookeeper.sslQuorum) +New in 3.5.5: +Enables encrypted quorum communication. Default is false. When enabling this feature, please also consider enabling leader.closeSocketAsync +and learner.closeSocketAsync to avoid issues associated with the potentially long socket closing time when shutting down an SSL connection.

    +
  • +
  • +

    ssl.keyStore.location and ssl.keyStore.password and ssl.quorum.keyStore.location and ssl.quorum.keyStore.password : +(Java system properties: zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password and zookeeper.ssl.quorum.keyStore.location and zookeeper.ssl.quorum.keyStore.password) +New in 3.5.5: +Specifies the file path to a Java keystore containing the local +credentials to be used for client and quorum TLS connections, and the +password to unlock the file.

    +
  • +
  • +

    ssl.keyStore.passwordPath and ssl.quorum.keyStore.passwordPath : +(Java system properties: zookeeper.ssl.keyStore.passwordPath and zookeeper.ssl.quorum.keyStore.passwordPath) +New in 3.8.0: +Specifies the file path that contains the keystore password. Reading the password from a file takes precedence over +the explicit password property.

    +
  • +
  • +

    ssl.keyStore.type and ssl.quorum.keyStore.type : +(Java system properties: zookeeper.ssl.keyStore.type and zookeeper.ssl.quorum.keyStore.type) +New in 3.5.5: +Specifies the file format of client and quorum keystores. Values: JKS, PEM, PKCS12 or null (detect by filename). +Default: null. +New in 3.5.10, 3.6.3, 3.7.0: +The format BCFKS was added.

    +
  • +
  • +

    ssl.trustStore.location and ssl.trustStore.password and ssl.quorum.trustStore.location and ssl.quorum.trustStore.password : +(Java system properties: zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password and zookeeper.ssl.quorum.trustStore.location and zookeeper.ssl.quorum.trustStore.password) +New in 3.5.5: +Specifies the file path to a Java truststore containing the remote +credentials to be used for client and quorum TLS connections, and the +password to unlock the file.

    +
  • +
  • +

    ssl.trustStore.passwordPath and ssl.quorum.trustStore.passwordPath : +(Java system properties: zookeeper.ssl.trustStore.passwordPath and zookeeper.ssl.quorum.trustStore.passwordPath) +New in 3.8.0: +Specifies the file path that contains the truststore password. Reading the password from a file takes precedence over +the explicit password property.

    +
  • +
  • +

    ssl.trustStore.type and ssl.quorum.trustStore.type : +(Java system properties: zookeeper.ssl.trustStore.type and zookeeper.ssl.quorum.trustStore.type) +New in 3.5.5: +Specifies the file format of client and quorum trustStores. Values: JKS, PEM, PKCS12 or null (detect by filename). +Default: null. +New in 3.5.10, 3.6.3, 3.7.0: +The format BCFKS was added.

    +
  • +
  • +

    ssl.protocol and ssl.quorum.protocol : +(Java system properties: zookeeper.ssl.protocol and zookeeper.ssl.quorum.protocol) +New in 3.5.5: +Specifies to protocol to be used in client and quorum TLS negotiation. +Default: TLSv1.3 or TLSv1.2 depending on Java runtime version being used.

    +
  • +
  • +

    ssl.enabledProtocols and ssl.quorum.enabledProtocols : +(Java system properties: zookeeper.ssl.enabledProtocols and zookeeper.ssl.quorum.enabledProtocols) +New in 3.5.5: +Specifies the enabled protocols in client and quorum TLS negotiation. +Default: TLSv1.3, TLSv1.2 if value of protocol property is TLSv1.3. TLSv1.2 if protocol is TLSv1.2.

    +
  • +
  • +

    ssl.ciphersuites and ssl.quorum.ciphersuites : +(Java system properties: zookeeper.ssl.ciphersuites and zookeeper.ssl.quorum.ciphersuites) +New in 3.5.5: +Specifies the enabled cipher suites to be used in client and quorum TLS negotiation. +Default: JDK defaults since 3.10.0, and hard coded cipher suites for 3.9 and earlier versions. See TLS Cipher Suites.

    +
  • +
  • +

    ssl.context.supplier.class and ssl.quorum.context.supplier.class : +(Java system properties: zookeeper.ssl.context.supplier.class and zookeeper.ssl.quorum.context.supplier.class) +New in 3.5.5: +Specifies the class to be used for creating SSL context in client and quorum SSL communication. +This allows you to use custom SSL context and implement the following scenarios: 1. Use hardware keystore, loaded in using PKCS11 or something similar. 2. You don't have access to the software keystore, but can retrieve an already-constructed SSLContext from their container. +Default: null

    +
  • +
  • +

    ssl.hostnameVerification and ssl.quorum.hostnameVerification : +(Java system properties: zookeeper.ssl.hostnameVerification and zookeeper.ssl.quorum.hostnameVerification) +New in 3.5.5: +Specifies whether the hostname verification is enabled in client and quorum TLS negotiation process. +Disabling it only recommended for testing purposes. +Default: true

    +
  • +
  • +

    ssl.clientHostnameVerification and ssl.quorum.clientHostnameVerification : +(Java system properties: zookeeper.ssl.clientHostnameVerification and zookeeper.ssl.quorum.clientHostnameVerification) +New in 3.9.4: +Specifies whether the client's hostname verification is enabled in client and quorum TLS negotiation process. +This option requires the corresponding hostnameVerification option to be true, or it will be ignored. +Default: true for quorum, false for clients

    +
  • +
  • +

    ssl.allowReverseDnsLookup and ssl.quorum.allowReverseDnsLookup : +(Java system properties: zookeeper.ssl.allowReverseDnsLookup and zookeeper.ssl.quorum.allowReverseDnsLookup) +New in 3.9.5: +Allow reverse DNS lookup in both server- and client hostname verifications if the hostname verification is enabled in +ZKTrustManager. Supported in both quorum and client TLS protocols. Not supported in FIPS mode. Reverse DNS lookups are +expensive and unnecessary in most cases. Make sure that certificates are created with all required Subject Alternative +Names (SAN) for successful identity verification. It's recommended to add SAN:IP entries for identity verification +of client certificates. +Default: false

    +
  • +
  • +

    ssl.crl and ssl.quorum.crl : +(Java system properties: zookeeper.ssl.crl and zookeeper.ssl.quorum.crl) +New in 3.5.5: +Specifies whether Certificate Revocation List is enabled in client and quorum TLS protocols. +Default: jvm property "com.sun.net.ssl.checkRevocation" since 3.10.0, false otherwise

    +
  • +
  • +

    ssl.ocsp and ssl.quorum.ocsp : +(Java system properties: zookeeper.ssl.ocsp and zookeeper.ssl.quorum.ocsp) +New in 3.5.5: +Specifies whether Online Certificate Status Protocol is enabled in client and quorum TLS protocols. +Changed in 3.10.0: +Before 3.10.0, ssl.ocsp and ssl.quorum.ocsp implies ssl.crl and ssl.quorum.crl correspondingly. +After 3.10.0, one has to setup both ssl.crl and ssl.ocsp (or ssl.quorum.crl and ssl.quorum.ocsp) +to enable OCSP. This is consistent with jdk's method of Setting up a Java Client to use Client-Driven OCSP. +Default: jvm security property "ocsp.enable" since 3.10.0, false otherwise

    +
  • +
  • +

    ssl.clientAuth and ssl.quorum.clientAuth : +(Java system properties: zookeeper.ssl.clientAuth and zookeeper.ssl.quorum.clientAuth) +Added in 3.5.5, but broken until 3.5.7: +Specifies options to authenticate ssl connections from clients. Valid values are

    +
      +
    • "none": server will not request client authentication
    • +
    • "want": server will "request" client authentication
    • +
    • "need": server will "require" client authentication
    • +
    +

    Default: "need"

    +
  • +
  • +

    ssl.handshakeDetectionTimeoutMillis and ssl.quorum.handshakeDetectionTimeoutMillis : +(Java system properties: zookeeper.ssl.handshakeDetectionTimeoutMillis and zookeeper.ssl.quorum.handshakeDetectionTimeoutMillis) +New in 3.5.5: +TBD

    +
  • +
  • +

    ssl.sslProvider : +(Java system property: zookeeper.ssl.sslProvider) +New in 3.9.0: +Allows to select SSL provider in the client-server communication when TLS is enabled. Netty-tcnative native library +has been added to ZooKeeper in version 3.9.0 which allows us to use native SSL libraries like OpenSSL on supported +platforms. See the available options in Netty-tcnative documentation. Default value is "JDK".

    +
  • +
  • +

    sslQuorumReloadCertFiles : +(No Java system property) +New in 3.5.5, 3.6.0: +Allows Quorum SSL keyStore and trustStore reloading when the certificates on the filesystem change without having to restart the ZK process. Default: false

    +
  • +
  • +

    client.certReload : +(Java system property: zookeeper.client.certReload) +New in 3.7.2, 3.8.1, 3.9.0: +Allows client SSL keyStore and trustStore reloading when the certificates on the filesystem change without having to restart the ZK process. Default: false

    +
  • +
  • +

    client.portUnification: +(Java system property: zookeeper.client.portUnification) +Specifies that the client port should accept SSL connections +(using the same configuration as the secure client port). +Default: false

    +
  • +
  • +

    authProvider: +(Java system property: zookeeper.authProvider) +You can specify multiple authentication provider classes for ZooKeeper. +Usually you use this parameter to specify the SASL authentication provider +like: authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider

    +
  • +
  • +

    kerberos.removeHostFromPrincipal +(Java system property: zookeeper.kerberos.removeHostFromPrincipal) +You can instruct ZooKeeper to remove the host from the client principal name during authentication. +(e.g. the zk/myhost@EXAMPLE.COM client principal will be authenticated in ZooKeeper as zk@EXAMPLE.COM) +Default: false

    +
  • +
  • +

    kerberos.removeRealmFromPrincipal +(Java system property: zookeeper.kerberos.removeRealmFromPrincipal) +You can instruct ZooKeeper to remove the realm from the client principal name during authentication. +(e.g. the zk/myhost@EXAMPLE.COM client principal will be authenticated in ZooKeeper as zk/myhost) +Default: false

    +
  • +
  • +

    kerberos.canonicalizeHostNames +(Java system property: zookeeper.kerberos.canonicalizeHostNames) +New in 3.7.0: +Instructs ZooKeeper to canonicalize server host names extracted from server.x lines. +This allows using e.g. CNAME records to reference servers in configuration files, while still enabling SASL Kerberos authentication between quorum members. +It is essentially the quorum equivalent of the zookeeper.sasl.client.canonicalize.hostname property for clients. +The default value is false for backwards compatibility.

    +
  • +
  • +

    multiAddress.enabled : +(Java system property: zookeeper.multiAddress.enabled) +New in 3.6.0: +Since ZooKeeper 3.6.0 you can also specify multiple addresses +for each ZooKeeper server instance (this can increase availability when multiple physical +network interfaces can be used parallel in the cluster). Setting this parameter to +true will enable this feature. Please note, that you can not enable this feature +during a rolling upgrade if the version of the old ZooKeeper cluster is prior to 3.6.0. +The default value is false.

    +
  • +
  • +

    multiAddress.reachabilityCheckTimeoutMs : +(Java system property: zookeeper.multiAddress.reachabilityCheckTimeoutMs) +New in 3.6.0: +Since ZooKeeper 3.6.0 you can also specify multiple addresses +for each ZooKeeper server instance (this can increase availability when multiple physical +network interfaces can be used parallel in the cluster). ZooKeeper will perform ICMP ECHO requests +or try to establish a TCP connection on port 7 (Echo) of the destination host in order to find +the reachable addresses. This happens only if you provide multiple addresses in the configuration. +In this property you can set the timeout in milliseconds for the reachability check. The check happens +in parallel for the different addresses, so the timeout you set here is the maximum time will be taken +by checking the reachability of all addresses. +The default value is 1000.

    +

    This parameter has no effect, unless you enable the MultiAddress feature by setting multiAddress.enabled=true.

    +
  • +
  • +

    fips-mode : +(Java system property: zookeeper.fips-mode) +New in 3.8.2: +Enable FIPS compatibility mode in ZooKeeper. If enabled, the following things will be changed in order to comply +with FIPS requirements:

    +
      +
    • Custom trust manager (ZKTrustManager) that is used for hostname verification will be disabled. As a consequence, +hostname verification is not available in the Quorum protocol, but still can be set in client-server communication.
    • +
    • DIGEST-MD5 Sasl auth mechanism will be disabled in Quorum and ZooKeeper Sasl clients. Only GSSAPI (Kerberos) +can be used.
    • +
    +

    Default: true (3.9.0+), false (3.8.x)

    +
  • +
+

TLS Cipher Suites

+

From 3.5.5 to 3.9 a hard coded default cipher list was used, with the ordering +dependent on whether it is run Java 8 or a later version.

+

The list on Java 8 includes TLSv1.2 CBC, GCM and TLSv1.3 ciphers in ordering: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256

+

The list on Java 9+ includes TLSv1.2 GCM, CBC and TLSv1.3 ciphers in ordering: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256

+

Since 3.10 there is no hardcoded list, and the JDK defaults are used.

+

Experimental Options/Features

+

New features that are currently considered experimental.

+
    +
  • +

    Read Only Mode Server : +(Java system property: readonlymode.enabled) +New in 3.4.0: +Setting this value to true enables Read Only Mode server +support (disabled by default). +localSessionsEnabled has to be activated to serve clients. +A downgrade of an existing connections is currently not supported. +ROM allows clients sessions which requested ROM support to connect to the +server even when the server might be partitioned from +the quorum. In this mode ROM clients can still read +values from the ZK service, but will be unable to write +values and see changes from other clients. See +ZOOKEEPER-784 for more details.

    +
  • +
  • +

    zookeeper.follower.skipLearnerRequestToNextProcessor : +(Java system property: zookeeper.follower.skipLearnerRequestToNextProcessor) +When our cluster has observers which are connected with ObserverMaster, then turning on this flag might help +you reduce some memory pressure on the Observer Master. If your cluster doesn't have any observers or +they are not connected with ObserverMaster or your Observer's don't make much writes, then using this flag +won't help you. +Currently the change here is guarded behind the flag to help us get more confidence around the memory gains. +In Long run, we might want to remove this flag and set its behavior as the default codepath.

    +
  • +
+

Unsafe Options

+

The following options can be useful, but be careful when you use +them. The risk of each is explained along with the explanation of what +the variable does.

+
    +
  • +

    forceSync : +(Java system property: zookeeper.forceSync) +Requires updates to be synced to media of the transaction +log before finishing processing the update. If this option is +set to no, ZooKeeper will not require updates to be synced to +the media.

    +
  • +
  • +

    jute.maxbuffer : +(Java system property:jute.maxbuffer).

    +
      +
    • This option can only be set as a Java system property. +There is no zookeeper prefix on it. It specifies the maximum +size of the data that can be stored in a znode. The unit is: byte. The default is +0xfffff(1048575) bytes, or just under 1M.
    • +
    • If this option is changed, the system property must be set on all servers and clients otherwise +problems will arise.
    • +
    • When jute.maxbuffer in the client side is greater than the server side, the client wants to write the data +exceeds jute.maxbuffer in the server side, the server side will get java.io.IOException: Len error
    • +
    • When jute.maxbuffer in the client side is less than the server side, the client wants to read the data +exceeds jute.maxbuffer in the client side, the client side will get java.io.IOException: Unreasonable length +or Packet len is out of range!
    • +
    • This is really a sanity check. ZooKeeper is designed to store data on the order of kilobytes in size. +In the production environment, increasing this property to exceed the default value is not recommended for the following reasons:
    • +
    • Large size znodes cause unwarranted latency spikes, worsen the throughput
    • +
    • Large size znodes make the synchronization time between leader and followers unpredictable and non-convergent(sometimes timeout), cause the quorum unstable
    • +
    +
  • +
  • +

    jute.maxbuffer.extrasize: +(Java system property: zookeeper.jute.maxbuffer.extrasize) +New in 3.5.7: +While processing client requests ZooKeeper server adds some additional information into +the requests before persisting it as a transaction. Earlier this additional information size +was fixed to 1024 bytes. For many scenarios, specially scenarios where jute.maxbuffer value +is more than 1 MB and request type is multi, this fixed size was insufficient. +To handle all the scenarios additional information size is increased from 1024 byte +to same as jute.maxbuffer size and also it is made configurable through jute.maxbuffer.extrasize. +Generally this property is not required to be configured as default value is the most optimal value.

    +
  • +
  • +

    skipACL : +(Java system property: zookeeper.skipACL) +Skips ACL checks. This results in a boost in throughput, +but opens up full access to the data tree to everyone.

    +
  • +
  • +

    quorumListenOnAllIPs : +When set to true the ZooKeeper server will listen +for connections from its peers on all available IP addresses, +and not only the address configured in the server list of the +configuration file. It affects the connections handling the +ZAB protocol and the Fast Leader Election protocol. Default +value is false.

    +
  • +
  • +

    multiAddress.reachabilityCheckEnabled : +(Java system property: zookeeper.multiAddress.reachabilityCheckEnabled) +New in 3.6.0: +Since ZooKeeper 3.6.0 you can also specify multiple addresses +for each ZooKeeper server instance (this can increase availability when multiple physical +network interfaces can be used parallel in the cluster). ZooKeeper will perform ICMP ECHO requests +or try to establish a TCP connection on port 7 (Echo) of the destination host in order to find +the reachable addresses. This happens only if you provide multiple addresses in the configuration. +The reachable check can fail if you hit some ICMP rate-limitation, (e.g. on macOS) when you try to +start a large (e.g. 11+) ensemble members cluster on a single machine for testing.

    +

    Default value is true. By setting this parameter to 'false' you can disable the reachability checks. +Please note, disabling the reachability check will cause the cluster not to be able to reconfigure +itself properly during network problems, so the disabling is advised only during testing.

    +

    This parameter has no effect, unless you enable the MultiAddress feature by setting multiAddress.enabled=true.

    +
  • +
+

Disabling data directory autocreation

+

New in 3.5: The default +behavior of a ZooKeeper server is to automatically create the +data directory (specified in the configuration file) when +started if that directory does not already exist. This can be +inconvenient and even dangerous in some cases. Take the case +where a configuration change is made to a running server, +wherein the dataDir parameter +is accidentally changed. When the ZooKeeper server is +restarted it will create this non-existent directory and begin +serving - with an empty znode namespace. This scenario can +result in an effective "split brain" situation (i.e. data in +both the new invalid directory and the original valid data +store). As such is would be good to have an option to turn off +this autocreate behavior. In general for production +environments this should be done, unfortunately however the +default legacy behavior cannot be changed at this point and +therefore this must be done on a case by case basis. This is +left to users and to packagers of ZooKeeper distributions.

+

When running zkServer.sh autocreate can be disabled +by setting the environment variable ZOO_DATADIR_AUTOCREATE_DISABLE to 1. +When running ZooKeeper servers directly from class files this +can be accomplished by setting zookeeper.datadir.autocreate=false on +the java command line, i.e. -Dzookeeper.datadir.autocreate=false

+

When this feature is disabled, and the ZooKeeper server +determines that the required directories do not exist it will +generate an error and refuse to start.

+

A new script zkServer-initialize.sh is provided to +support this new feature. If autocreate is disabled it is +necessary for the user to first install ZooKeeper, then create +the data directory (and potentially txnlog directory), and +then start the server. Otherwise as mentioned in the previous +paragraph the server will not start. Running zkServer-initialize.sh will create the +required directories, and optionally set up the myid file +(optional command line parameter). This script can be used +even if the autocreate feature itself is not used, and will +likely be of use to users as this (setup, including creation +of the myid file) has been an issue for users in the past. +Note that this script ensures the data directories exist only, +it does not create a config file, but rather requires a config +file to be available in order to execute.

+

Enabling db existence validation

+

New in 3.6.0: The default +behavior of a ZooKeeper server on startup when no data tree +is found is to set zxid to zero and join the quorum as a +voting member. This can be dangerous if some event (e.g. a +rogue 'rm -rf') has removed the data directory while the +server was down since this server may help elect a leader +that is missing transactions. Enabling db existence validation +will change the behavior on startup when no data tree is +found: the server joins the ensemble as a non-voting participant +until it is able to sync with the leader and acquire an up-to-date +version of the ensemble data. To indicate an empty data tree is +expected (ensemble creation), the user should place a file +'initialize' in the same directory as 'myid'. This file will +be detected and deleted by the server on startup.

+

Initialization validation can be enabled when running +ZooKeeper servers directly from class files by setting +zookeeper.db.autocreate=false +on the java command line, i.e. +-Dzookeeper.db.autocreate=false. +Running zkServer-initialize.sh +will create the required initialization file.

+

Performance Tuning Options

+

New in 3.5.0: Several subsystems have been reworked +to improve read throughput. This includes multi-threading of the NIO communication subsystem and +request processing pipeline (Commit Processor). NIO is the default client/server communication +subsystem. Its threading model comprises 1 acceptor thread, 1-N selector threads and 0-M +socket I/O worker threads. In the request processing pipeline the system can be configured +to process multiple read request at once while maintaining the same consistency guarantee +(same-session read-after-write). The Commit Processor threading model comprises 1 main +thread and 0-N worker threads.

+

The default values are aimed at maximizing read throughput on a dedicated ZooKeeper machine. +Both subsystems need to have sufficient amount of threads to achieve peak read throughput.

+
    +
  • +

    zookeeper.nio.numSelectorThreads : +(Java system property only: zookeeper.nio.numSelectorThreads) +New in 3.5.0: +Number of NIO selector threads. At least 1 selector thread required. +It is recommended to use more than one selector for large numbers +of client connections. The default value is sqrt( number of cpu cores / 2 ).

    +
  • +
  • +

    zookeeper.nio.numWorkerThreads : +(Java system property only: zookeeper.nio.numWorkerThreads) +New in 3.5.0: +Number of NIO worker threads. If configured with 0 worker threads, the selector threads +do the socket I/O directly. The default value is 2 times the number of cpu cores.

    +
  • +
  • +

    zookeeper.commitProcessor.numWorkerThreads : +(Java system property only: zookeeper.commitProcessor.numWorkerThreads) +New in 3.5.0: +Number of Commit Processor worker threads. If configured with 0 worker threads, the main thread +will process the request directly. The default value is the number of cpu cores.

    +
  • +
  • +

    zookeeper.commitProcessor.maxReadBatchSize : +(Java system property only: zookeeper.commitProcessor.maxReadBatchSize) +Max number of reads to process from queuedRequests before switching to processing commits. +If the value < 0 (default), we switch whenever we have a local write, and pending commits. +A high read batch size will delay commit processing, causing stale data to be served. +If reads are known to arrive in fixed size batches then matching that batch size with +the value of this property can smooth queue performance. Since reads are handled in parallel, +one recommendation is to set this property to match zookeeper.commitProcessor.numWorkerThread +(default is the number of cpu cores) or lower.

    +
  • +
  • +

    zookeeper.commitProcessor.maxCommitBatchSize : +(Java system property only: zookeeper.commitProcessor.maxCommitBatchSize) +Max number of commits to process before processing reads. We will try to process as many +remote/local commits as we can till we reach this count. A high commit batch size will delay +reads while processing more commits. A low commit batch size will favor reads. +It is recommended to only set this property when an ensemble is serving a workload with a high +commit rate. If writes are known to arrive in a set number of batches then matching that +batch size with the value of this property can smooth queue performance. A generic +approach would be to set this value to equal the ensemble size so that with the processing +of each batch the current server will probabilistically handle a write related to one of +its direct clients. +Default is "1". Negative and zero values are not supported.

    +
  • +
  • +

    znode.container.checkIntervalMs : +(Java system property only) +New in 3.6.0: The +time interval in milliseconds for each check of candidate container +and ttl nodes. Default is "60000".

    +
  • +
  • +

    znode.container.maxPerMinute : +(Java system property only) +New in 3.6.0: The +maximum number of container and ttl nodes that can be deleted per +minute. This prevents herding during container deletion. +Default is "10000".

    +
  • +
  • +

    znode.container.maxNeverUsedIntervalMs : +(Java system property only) +New in 3.6.0: The +maximum interval in milliseconds that a container that has never had +any children is retained. Should be long enough for your client to +create the container, do any needed work and then create children. +Default is "300000"(a.k.a. 5 minutes) since 3.10.0, for earlier versions, +it is "0" which is used to indicate that containers that have never had +any children are never deleted.

    +
  • +
+

Debug Observability Configurations

+

New in 3.6.0: The following options are introduced to make zookeeper easier to debug.

+
    +
  • +

    zookeeper.messageTracker.BufferSize : +(Java system property only) +Controls the maximum number of messages stored in MessageTracker. Value should be positive +integers. The default value is 10. MessageTracker is introduced in 3.6.0 to record the +last set of messages between a server (follower or observer) and a leader, when a server +disconnects with leader. These set of messages will then be dumped to zookeeper's log file, +and will help reconstruct the state of the servers at the time of the disconnection and +will be useful for debugging purpose.

    +
  • +
  • +

    zookeeper.messageTracker.Enabled : +(Java system property only) +When set to "true", will enable MessageTracker to track and record messages. Default value +is "false".

    +
  • +
+

AdminServer configuration

+

New in 3.9.0: The following +options are used to configure the AdminServer.

+
    +
  • +

    admin.rateLimiterIntervalInMS : +(Java system property: zookeeper.admin.rateLimiterIntervalInMS) +The time interval for rate limiting admin command to protect the server. +Defaults to 5 mins.

    +
  • +
  • +

    admin.snapshot.enabled : +(Java system property: zookeeper.admin.snapshot.enabled) +The flag for enabling the snapshot command. Defaults to true.

    +
  • +
  • +

    admin.restore.enabled : +(Java system property: zookeeper.admin.restore.enabled) +The flag for enabling the restore command. Defaults to true.

    +
  • +
  • +

    admin.needClientAuth : +(Java system property: zookeeper.admin.needClientAuth) +The flag to control whether client auth is needed. Using x509 auth requires true. +Defaults to false.

    +

    New in 3.7.1: The following +options are used to configure the AdminServer.

    +
  • +
  • +

    admin.forceHttps : +(Java system property: zookeeper.admin.forceHttps) +Force AdminServer to use SSL, thus allowing only HTTPS traffic. +Defaults to disabled. +Overwrites admin.portUnification settings.

    +

    New in 3.6.0: The following +options are used to configure the AdminServer.

    +
  • +
  • +

    admin.portUnification : +(Java system property: zookeeper.admin.portUnification) +Enable the admin port to accept both HTTP and HTTPS traffic. +Defaults to disabled.

    +

    New in 3.5.0: The following +options are used to configure the AdminServer.

    +
  • +
  • +

    admin.enableServer : +(Java system property: zookeeper.admin.enableServer) +Set to "false" to disable the AdminServer. By default the +AdminServer is enabled.

    +
  • +
  • +

    admin.serverAddress : +(Java system property: zookeeper.admin.serverAddress) +The address the embedded Jetty server listens on. Defaults to 0.0.0.0.

    +
  • +
  • +

    admin.serverPort : +(Java system property: zookeeper.admin.serverPort) +The port the embedded Jetty server listens on. Defaults to 8080.

    +
  • +
  • +

    admin.idleTimeout : +(Java system property: zookeeper.admin.idleTimeout) +Set the maximum idle time in milliseconds that a connection can wait +before sending or receiving data. Defaults to 30000 ms.

    +
  • +
  • +

    admin.commandURL : +(Java system property: zookeeper.admin.commandURL) +The URL for listing and issuing commands relative to the +root URL. Defaults to "/commands".

    +
  • +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/administrators-guide/data-file-management.data b/content/docs/admin-ops/administrators-guide/data-file-management.data new file mode 100644 index 00000000000..aa4dfe78a24 --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/data-file-management.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/administrators-guide/data-file-management.mdx","url","/docs/admin-ops/administrators-guide/data-file-management","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":197,"_30":198},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,191],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":6,"_19":25,"_13":188,"_27":189,"_21":-7,"_7":8,"_30":190},"Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.",{"_32":6},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/administrators-guide/data-file-management/index.html b/content/docs/admin-ops/administrators-guide/data-file-management/index.html new file mode 100644 index 00000000000..4ba6bca31e8 --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/data-file-management/index.html @@ -0,0 +1,113 @@ +Data File Management | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Data File Management

Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.

ZooKeeper stores its data in a data directory and its transaction +log in a transaction log directory. By default these two directories are +the same. The server can (and should) be configured to store the +transaction log files in a separate directory than the data files. +Throughput increases and latency decreases when transaction logs reside +on a dedicated log devices.

+

The Data Directory

+

This directory has two or three files in it:

+
    +
  • myid - contains a single integer in +human readable ASCII text that represents the server id.
  • +
  • initialize - presence indicates lack of +data tree is expected. Cleaned up once data tree is created.
  • +
  • snapshot.<zxid> - holds the fuzzy +snapshot of a data tree.
  • +
+

Each ZooKeeper server has a unique id. This id is used in two +places: the myid file and the configuration file. +The myid file identifies the server that +corresponds to the given data directory. The configuration file lists +the contact information for each server identified by its server id. +When a ZooKeeper server instance starts, it reads its id from the +myid file and then, using that id, reads from the +configuration file, looking up the port on which it should +listen.

+

The snapshot files stored in the data +directory are fuzzy snapshots in the sense that during the time the +ZooKeeper server is taking the snapshot, updates are occurring to the +data tree. The suffix of the snapshot file names +is the zxid, the ZooKeeper transaction id, of the +last committed transaction at the start of the snapshot. Thus, the +snapshot includes a subset of the updates to the data tree that +occurred while the snapshot was in process. The snapshot, then, may +not correspond to any data tree that actually existed, and for this +reason we refer to it as a fuzzy snapshot. Still, ZooKeeper can +recover using this snapshot because it takes advantage of the +idempotent nature of its updates. By replaying the transaction log +against fuzzy snapshots ZooKeeper gets the state of the system at the +end of the log.

+

The Log Directory

+

The Log Directory contains the ZooKeeper transaction logs. +Before any update takes place, ZooKeeper ensures that the transaction +that represents the update is written to non-volatile storage. A new +log file is started when the number of transactions written to the +current log file reaches a (variable) threshold. The threshold is +computed using the same parameter which influences the frequency of +snapshotting (see snapCount and snapSizeLimitInKb above). The log file's +suffix is the first zxid written to that log.

+

File Management

+

The format of snapshot and log files does not change between +standalone ZooKeeper servers and different configurations of +replicated ZooKeeper servers. Therefore, you can pull these files from +a running replicated ZooKeeper server to a development machine with a +stand-alone ZooKeeper server for troubleshooting.

+

Using older log and snapshot files, you can look at the previous +state of ZooKeeper servers and even restore that state.

+

The ZooKeeper server creates snapshot and log files, but +never deletes them. The retention policy of the data and log +files is implemented outside of the ZooKeeper server. The +server itself only needs the latest complete fuzzy snapshot, all log +files following it, and the last log file preceding it. The latter +requirement is necessary to include updates which happened after this +snapshot was started but went into the existing log file at that time. +This is possible because snapshotting and rolling over of logs +proceed somewhat independently in ZooKeeper. See the +maintenance section +for more details on setting a retention policy +and maintenance of ZooKeeper storage.

+

The data stored in these files is not encrypted. In the case of storing +sensitive data in ZooKeeper, necessary measures need to be taken to prevent +unauthorized access. Such measures are external to ZooKeeper (e.g., control +access to the files) and depend on the individual settings in which it is +being deployed.

+

Recovery - TxnLogToolkit

+

More details can be found in this

Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/administrators-guide/deployment.data b/content/docs/admin-ops/administrators-guide/deployment.data new file mode 100644 index 00000000000..6158953f70a --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/deployment.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/administrators-guide/deployment.mdx","url","/docs/admin-ops/administrators-guide/deployment","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":197,"_30":198},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,161,167,173,179,185,191],{"_11":6,"_19":25,"_13":158,"_27":159,"_21":-7,"_7":8,"_30":160},"Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.",{"_32":6},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/administrators-guide/deployment/index.html b/content/docs/admin-ops/administrators-guide/deployment/index.html new file mode 100644 index 00000000000..82eaa64877c --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/deployment/index.html @@ -0,0 +1,231 @@ +Deployment | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Deployment

Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.

This section contains information about deploying Zookeeper and +covers these topics:

+ +

The first two sections assume you are interested in installing +ZooKeeper in a production environment such as a datacenter. The final +section covers situations in which you are setting up ZooKeeper on a +limited basis - for evaluation, testing, or development - but not in a +production environment.

+

System Requirements

+

Supported Platforms

+

ZooKeeper consists of multiple components. Some components are +supported broadly, and other components are supported only on a smaller +set of platforms.

+
    +
  • Client is the Java client +library, used by applications to connect to a ZooKeeper ensemble.
  • +
  • Server is the Java server +that runs on the ZooKeeper ensemble nodes.
  • +
  • Native Client is a client +implemented in C, similar to the Java client, used by applications +to connect to a ZooKeeper ensemble.
  • +
  • Contrib refers to multiple +optional add-on components.
  • +
+

The following matrix describes the level of support committed for +running each component on different operating system platforms.

+

Support Matrix

+
Operating SystemClientServerNative ClientContrib
GNU/LinuxDevelopment and ProductionDevelopment and ProductionDevelopment and ProductionDevelopment and Production
SolarisDevelopment and ProductionDevelopment and ProductionNot SupportedNot Supported
FreeBSDDevelopment and ProductionDevelopment and ProductionNot SupportedNot Supported
WindowsDevelopment and ProductionDevelopment and ProductionNot SupportedNot Supported
Mac OS XDevelopment OnlyDevelopment OnlyNot SupportedNot Supported
+

For any operating system not explicitly mentioned as supported in +the matrix, components may or may not work. The ZooKeeper community +will fix obvious bugs that are reported for other platforms, but there +is no full support.

+

Required Software

+

ZooKeeper runs in Java, release 1.8 or greater +(JDK 8 LTS, JDK 11 LTS, JDK 12 - Java 9 and 10 are not supported). +It runs as an ensemble of ZooKeeper servers. Three +ZooKeeper servers is the minimum recommended size for an +ensemble, and we also recommend that they run on separate +machines. At Yahoo!, ZooKeeper is usually deployed on +dedicated RHEL boxes, with dual-core processors, 2GB of RAM, +and 80GB IDE hard drives.

+

Clustered (Multi-Server) Setup

+

For reliable ZooKeeper service, you should deploy ZooKeeper in a +cluster known as an ensemble. As long as a majority +of the ensemble are up, the service will be available. Because Zookeeper +requires a majority, it is best to use an +odd number of machines. For example, with four machines ZooKeeper can +only handle the failure of a single machine; if two machines fail, the +remaining two machines do not constitute a majority. However, with five +machines ZooKeeper can handle the failure of two machines.

+

As mentioned in the ZooKeeper Getting Started +Guide, a minimum of three servers are required +for a fault tolerant clustered setup, and it is strongly recommended that you +have an odd number of servers.

Usually three servers is more than enough for a production +install, but for maximum reliability during maintenance, you may +wish to install five servers. With three servers, if you perform +maintenance on one of them, you are vulnerable to a failure on one +of the other two servers during that maintenance. If you have five +of them running, you can take one down for maintenance, and know +that you're still OK if one of the other four suddenly fails.

Your redundancy considerations should include all aspects of +your environment. If you have three ZooKeeper servers, but their +network cables are all plugged into the same network switch, then +the failure of that switch will take down your entire ensemble.

+

Here are the steps to set a server that will be part of an +ensemble. These steps should be performed on every host in the +ensemble:

+

Install the Java JDK. You can use the native packaging system for your system, or download +the JDK from: http://java.sun.com/javase/downloads/index.jsp

Set the Java heap size. This is very important to avoid swapping, which will seriously degrade +ZooKeeper performance. To determine the correct value, use load tests, and make sure you are +well below the usage limit that would cause you to swap. Be conservative — use a maximum heap +size of 3GB for a 4GB machine.

Install the ZooKeeper Server Package. It can be downloaded +from: /releases

Create a configuration file. This file can be called anything. Use the following settings as a +starting point:

tickTime=2000
+dataDir=/var/lib/zookeeper/
+clientPort=2181
+initLimit=5
+syncLimit=2
+server.1=zoo1:2888:3888
+server.2=zoo2:2888:3888
+server.3=zoo3:2888:3888

You can find the meanings of these and other configuration settings in the section +Configuration Parameters. Every machine that is part of the ZooKeeper +ensemble should know about every other machine in the ensemble. You accomplish this with the +series of lines of the form server.id=host:port:port. (The parameters host and port +are straightforward; for each server you need to specify first a Quorum port then a dedicated +port for ZooKeeper leader election). Since ZooKeeper 3.6.0 you can also +specify multiple addresses for each ZooKeeper server instance (this can +increase availability when multiple physical network interfaces can be used parallel in the +cluster). You attribute the server id to each machine by creating a file named myid, one for +each server, which resides in that server's data directory, as specified by the configuration +file parameter dataDir.

The myid file consists of a single line containing only the text of that machine's id. So +myid of server 1 would contain the text "1" and nothing else. The id must be unique within +the ensemble and should have a value between 1 and 255. IMPORTANT: if you enable extended +features such as TTL Nodes (see below) the id must be between 1 and 254 due to internal +limitations.

Create an initialization marker file initialize in the same directory as myid. This file +indicates that an empty data directory is expected. When present, an empty database is created +and the marker file deleted. When not present, an empty data directory will mean this peer will +not have voting rights and it will not populate the data directory until it communicates with +an active leader. Intended use is to only create this file when bringing up a new ensemble.

If your configuration file is set up, you can start a ZooKeeper server:

$ java -cp zookeeper.jar:lib/*:conf org.apache.zookeeper.server.quorum.QuorumPeerMain zoo.conf

QuorumPeerMain starts a ZooKeeper server; JMX +management beans are also registered which allows management through a JMX management console. +The ZooKeeper JMX document contains details on managing ZooKeeper with JMX. +See the script bin/zkServer.sh, which is included in the release, for an example of starting +server instances.

Test your deployment by connecting to the hosts. In Java, you can run the following command to +execute simple operations:

$ bin/zkCli.sh -server 127.0.0.1:2181
+

Single Server and Developer Setup

+

If you want to set up ZooKeeper for development purposes, you will +probably want to set up a single server instance of ZooKeeper, and then +install either the Java or C client-side libraries and bindings on your +development machine.

+

The steps to setting up a single server instance are the similar +to the above, except the configuration file is simpler. You can find the +complete instructions in the Installing and +Running ZooKeeper in Single Server Mode section of the ZooKeeper Getting Started +Guide.

+

For information on installing the client side libraries, refer to +the Bindings +section of the ZooKeeper +Programmer's Guide.

+

Designing a ZooKeeper Deployment

+

The reliability of ZooKeeper rests on two basic assumptions.

+
    +
  1. Only a minority of servers in a deployment +will fail. Failure in this context +means a machine crash, or some error in the network that +partitions a server off from the majority.
  2. +
  3. Deployed machines operate correctly. To +operate correctly means to execute code correctly, to have +clocks that work properly, and to have storage and network +components that perform consistently.
  4. +
+

The sections below contain considerations for ZooKeeper +administrators to maximize the probability for these assumptions +to hold true. Some of these are cross-machines considerations, +and others are things you should consider for each and every +machine in your deployment.

+

Cross Machine Requirements

+

For the ZooKeeper service to be active, there must be a +majority of non-failing machines that can communicate with +each other. For a ZooKeeper ensemble with N servers, +if N is odd, the ensemble is able to tolerate up to N/2 +server failures without losing any znode data; +if N is even, the ensemble is able to tolerate up to N/2-1 +server failures.

+

For example, if we have a ZooKeeper ensemble with 3 servers, +the ensemble is able to tolerate up to 1 (3/2) server failures. +If we have a ZooKeeper ensemble with 5 servers, +the ensemble is able to tolerate up to 2 (5/2) server failures. +If the ZooKeeper ensemble with 6 servers, the ensemble +is also able to tolerate up to 2 (6/2-1) server failures +without losing data and prevent the "brain split" issue.

+

ZooKeeper ensemble is usually has odd number of servers. +This is because with the even number of servers, +the capacity of failure tolerance is the same as +the ensemble with one less server +(2 failures for both 5-node ensemble and 6-node ensemble), +but the ensemble has to maintain extra connections and +data transfers for one more server.

+

To achieve the highest probability of tolerating a failure +you should try to make machine failures independent. For +example, if most of the machines share the same switch, +failure of that switch could cause a correlated failure and +bring down the service. The same holds true of shared power +circuits, cooling systems, etc.

+

Single Machine Requirements

+

If ZooKeeper has to contend with other applications for +access to resources like storage media, CPU, network, or +memory, its performance will suffer markedly. ZooKeeper has +strong durability guarantees, which means it uses storage +media to log changes before the operation responsible for the +change is allowed to complete. You should be aware of this +dependency then, and take great care if you want to ensure +that ZooKeeper operations aren’t held up by your media. Here +are some things you can do to minimize that sort of +degradation:

+
    +
  • ZooKeeper's transaction log must be on a dedicated +device. (A dedicated partition is not enough.) ZooKeeper +writes the log sequentially, without seeking Sharing your +log device with other processes can cause seeks and +contention, which in turn can cause multi-second +delays.
  • +
  • Do not put ZooKeeper in a situation that can cause a +swap. In order for ZooKeeper to function with any sort of +timeliness, it simply cannot be allowed to swap. +Therefore, make certain that the maximum heap size given +to ZooKeeper is not bigger than the amount of real memory +available to ZooKeeper. For more on this, see +Things to Avoid +in the Best Practices guide.
  • +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/administrators-guide/index.html b/content/docs/admin-ops/administrators-guide/index.html new file mode 100644 index 00000000000..ee139172e07 --- /dev/null +++ b/content/docs/admin-ops/administrators-guide/index.html @@ -0,0 +1,39 @@ +Administrator's Guide | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Administrator's Guide

This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.

Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/cli.data b/content/docs/admin-ops/cli.data new file mode 100644 index 00000000000..21f51b0abf6 --- /dev/null +++ b/content/docs/admin-ops/cli.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/cli.mdx","url","/docs/admin-ops/cli","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,202,208,214,220,226,232,238,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":199,"_30":200},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,193],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":188,"_19":25,"_13":189,"_27":190,"_21":-7,"_7":191,"_30":192},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":188},{"_11":194,"_19":25,"_13":195,"_27":196,"_21":-7,"_7":197,"_30":198},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":194},"admin-ops/administrators-guide",{"_115":201},"admin-ops/administrators-guide/meta.json",{"_11":203,"_19":25,"_13":204,"_27":205,"_21":-7,"_7":206,"_30":207},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":203},{"_11":209,"_19":25,"_13":210,"_27":211,"_21":-7,"_7":212,"_30":213},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":209},{"_11":215,"_19":25,"_13":216,"_27":217,"_21":-7,"_7":218,"_30":219},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":215},{"_11":221,"_19":25,"_13":222,"_27":223,"_21":-7,"_7":224,"_30":225},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":221},{"_11":227,"_19":25,"_13":228,"_27":229,"_21":-7,"_7":230,"_30":231},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":227},{"_11":233,"_19":25,"_13":234,"_27":235,"_21":-7,"_7":236,"_30":237},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":233},{"_11":6,"_19":25,"_13":239,"_27":240,"_21":-7,"_7":8,"_30":241},"CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.",{"_32":6},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/cli/index.html b/content/docs/admin-ops/cli/index.html new file mode 100644 index 00000000000..41c2cf9fa2a --- /dev/null +++ b/content/docs/admin-ops/cli/index.html @@ -0,0 +1,475 @@ +CLI | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

CLI

Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.

Connecting

+
# connect to localhost on the default port 2181
+bin/zkCli.sh
+# connect to a remote host with a 3-second timeout
+bin/zkCli.sh -timeout 3000 -server remoteIP:2181
+# wait for connection before executing commands
+bin/zkCli.sh -waitforconnection -timeout 3000 -server remoteIP:2181
+# use a custom client configuration properties file
+bin/zkCli.sh -client-configuration /path/to/client.properties
+

help

+

Show all available ZooKeeper commands.

+
[zkshell: 1] help
+ZooKeeper -server host:port cmd args
+addauth scheme auth
+close
+config [-c] [-w] [-s]
+connect host:port
+create [-s] [-e] [-c] [-t ttl] path [data] [acl]
+delete [-v version] path
+deleteall path
+delquota [-n|-b|-N|-B] path
+get [-s] [-w] path
+getAcl [-s] path
+getAllChildrenNumber path
+getEphemerals path
+history
+listquota path
+ls [-s] [-w] [-R] path
+printwatches on|off
+quit
+reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*]
+redo cmdno
+removewatches path [-c|-d|-a] [-l]
+set [-s] [-v version] path data
+setAcl [-s] [-v version] [-R] path acl
+setquota -n|-b|-N|-B val path
+stat [-w] path
+sync path
+version
+

addauth

+

Add an authorized user for ACL authentication.

+
[zkshell: 9] getAcl /acl_digest_test
+Insufficient permission : /acl_digest_test
+
+[zkshell: 10] addauth digest user1:12345
+[zkshell: 11] getAcl /acl_digest_test
+'digest,'user1:+owfoSBn/am19roBPzR1/MfCblE=
+: cdrwa
+
+# add a super user
+# set zookeeper.DigestAuthenticationProvider.superDigest, e.g.:
+# zookeeper.DigestAuthenticationProvider.superDigest=zookeeper:qW/HnTfCSoQpB5G8LgkwT3IbiFc=
+[zkshell: 12] addauth digest zookeeper:admin
+

close

+

Close the current client session.

+
[zkshell: 0] close
+2019-03-09 06:42:22,178 [myid:] - INFO  [main-EventThread:ClientCnxn$EventThread@528] - EventThread shut down for session: 0x10007ab7c550006
+2019-03-09 06:42:22,179 [myid:] - INFO  [main:ZooKeeper@1346] - Session: 0x10007ab7c550006 closed
+

config

+

Show the current quorum membership configuration.

+
[zkshell: 17] config
+server.1=[2001:db8:1:0:0:242:ac11:2]:2888:3888:participant
+server.2=[2001:db8:1:0:0:242:ac11:2]:12888:13888:participant
+server.3=[2001:db8:1:0:0:242:ac11:2]:22888:23888:participant
+version=0
+

connect

+

Connect to a ZooKeeper server.

+
[zkshell: 4] connect
+2019-03-09 06:43:33,179 [myid:localhost:2181] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@986] - Socket connection established, initiating session, client: /127.0.0.1:35144, server: localhost/127.0.0.1:2181
+2019-03-09 06:43:33,189 [myid:localhost:2181] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1421] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x10007ab7c550007, negotiated timeout = 30000
+connect "localhost:2181,localhost:2182,localhost:2183"
+
+# connect to a remote server
+[zkshell: 5] connect remoteIP:2181
+

create

+

Create a znode.

+
# persistent node
+[zkshell: 7] create /persistent_node
+Created /persistent_node
+
+# ephemeral node (deleted when session ends)
+[zkshell: 8] create -e /ephemeral_node mydata
+Created /ephemeral_node
+
+# persistent sequential node
+[zkshell: 9] create -s /persistent_sequential_node mydata
+Created /persistent_sequential_node0000000176
+
+# ephemeral sequential node
+[zkshell: 10] create -s -e /ephemeral_sequential_node mydata
+Created /ephemeral_sequential_node0000000174
+

Create a node with an ACL schema:

+
[zkshell: 11] create /zk-node-create-schema mydata digest:user1:+owfoSBn/am19roBPzR1/MfCblE=:crwad
+Created /zk-node-create-schema
+[zkshell: 12] addauth digest user1:12345
+[zkshell: 13] getAcl /zk-node-create-schema
+'digest,'user1:+owfoSBn/am19roBPzR1/MfCblE=
+: cdrwa
+

Create a container node (automatically deleted when its last child is deleted):

+
[zkshell: 14] create -c /container_node mydata
+Created /container_node
+[zkshell: 15] create -c /container_node/child_1 mydata
+Created /container_node/child_1
+[zkshell: 16] create -c /container_node/child_2 mydata
+Created /container_node/child_2
+[zkshell: 17] delete /container_node/child_1
+[zkshell: 18] delete /container_node/child_2
+[zkshell: 19] get /container_node
+org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /container_node
+

Create a TTL node (requires zookeeper.extendedTypesEnabled=true; otherwise returns KeeperErrorCode = Unimplemented):

+
[zkshell: 20] create -t 3000 /ttl_node mydata
+Created /ttl_node
+
+# after 3 seconds
+[zkshell: 21] get /ttl_node
+org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /ttl_node
+

delete

+

Delete a node at the specified path.

+
[zkshell: 2] delete /config/topics/test
+[zkshell: 3] ls /config/topics/test
+Node does not exist: /config/topics/test
+

deleteall

+

Delete a node and all of its descendants.

+
[zkshell: 1] ls /config
+[changes, clients, topics]
+[zkshell: 2] deleteall /config
+[zkshell: 3] ls /config
+Node does not exist: /config
+

delquota

+

Delete the quota on a path.

+
[zkshell: 1] delquota /quota_test
+[zkshell: 2] listquota /quota_test
+absolute path is /zookeeper/quota/quota_test/zookeeper_limits
+quota for /quota_test does not exist.
+
+# delete specific quota types
+[zkshell: 3] delquota -n /c1
+[zkshell: 4] delquota -N /c2
+[zkshell: 5] delquota -b /c3
+[zkshell: 6] delquota -B /c4
+

get

+

Get the data stored at a path.

+
[zkshell: 10] get /latest_producer_id_block
+{"version":1,"broker":0,"block_start":"0","block_end":"999"}
+
+# -s: also show node stats
+[zkshell: 11] get -s /latest_producer_id_block
+{"version":1,"broker":0,"block_start":"0","block_end":"999"}
+cZxid = 0x90000009a
+ctime = Sat Jul 28 08:14:09 UTC 2018
+mZxid = 0x9000000a2
+mtime = Sat Jul 28 08:14:12 UTC 2018
+pZxid = 0x90000009a
+cversion = 0
+dataVersion = 1
+aclVersion = 0
+ephemeralOwner = 0x0
+dataLength = 60
+numChildren = 0
+
+# -w: set a watch on data changes (requires printwatches to be on)
+[zkshell: 12] get -w /latest_producer_id_block
+{"version":1,"broker":0,"block_start":"0","block_end":"999"}
+
+[zkshell: 13] set /latest_producer_id_block mydata
+WATCHER::
+WatchedEvent state:SyncConnected type:NodeDataChanged path:/latest_producer_id_block
+

getAcl

+

Get the ACL permissions for a path.

+
[zkshell: 4] create /acl_test mydata ip:127.0.0.1:crwda
+Created /acl_test
+[zkshell: 5] getAcl /acl_test
+'ip,'127.0.0.1
+: cdrwa
+[zkshell: 6] getAcl /testwatch
+'world,'anyone
+: cdrwa
+

getAllChildrenNumber

+

Get the total number of descendant nodes under a path.

+
[zkshell: 1] getAllChildrenNumber /
+73779
+[zkshell: 2] getAllChildrenNumber /ZooKeeper
+2
+[zkshell: 3] getAllChildrenNumber /ZooKeeper/quota
+0
+

getEphemerals

+

Get all ephemeral nodes created by the current session.

+
[zkshell: 1] create -e /test-get-ephemerals "ephemeral node"
+Created /test-get-ephemerals
+[zkshell: 2] getEphemerals
+[/test-get-ephemerals]
+[zkshell: 3] getEphemerals /
+[/test-get-ephemerals]
+[zkshell: 4] create -e /test-get-ephemerals-1 "ephemeral node"
+Created /test-get-ephemerals-1
+[zkshell: 5] getEphemerals /test-get-ephemerals
+test-get-ephemerals     test-get-ephemerals-1
+[zkshell: 6] getEphemerals /test-get-ephemerals
+[/test-get-ephemerals-1, /test-get-ephemerals]
+[zkshell: 7] getEphemerals /test-get-ephemerals-1
+[/test-get-ephemerals-1]
+

history

+

Show the most recent 11 commands executed in this session.

+
[zkshell: 7] history
+0 - close
+1 - close
+2 - ls /
+3 - ls /
+4 - connect
+5 - ls /
+6 - ll
+7 - history
+

listquota

+

List the quota configured for a path.

+
[zkshell: 1] listquota /c1
+absolute path is /zookeeper/quota/c1/zookeeper_limits
+Output quota for /c1 count=-1,bytes=-1=;byteHardLimit=-1;countHardLimit=2
+Output stat for /c1 count=4,bytes=0
+

ls

+

List the child nodes of a path.

+
[zkshell: 36] ls /quota_test
+[child_1, child_2, child_3]
+
+# -s: also show node stats
+[zkshell: 37] ls -s /quota_test
+[child_1, child_2, child_3]
+cZxid = 0x110000002d
+ctime = Thu Mar 07 11:19:07 UTC 2019
+mZxid = 0x110000002d
+mtime = Thu Mar 07 11:19:07 UTC 2019
+pZxid = 0x1100000033
+cversion = 3
+dataVersion = 0
+aclVersion = 0
+ephemeralOwner = 0x0
+dataLength = 0
+numChildren = 3
+
+# -R: recursively list all descendant nodes
+[zkshell: 38] ls -R /quota_test
+/quota_test
+/quota_test/child_1
+/quota_test/child_2
+/quota_test/child_3
+
+# -w: set a watch on child changes (requires printwatches to be on)
+[zkshell: 39] ls -w /brokers
+[ids, seqid, topics]
+[zkshell: 40] delete /brokers/ids
+WATCHER::
+WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/brokers
+

printwatches

+

Toggle whether watch events are printed to the console.

+
[zkshell: 0] printwatches
+printwatches is on
+[zkshell: 1] printwatches off
+[zkshell: 2] printwatches
+printwatches is off
+[zkshell: 3] printwatches on
+[zkshell: 4] printwatches
+printwatches is on
+

quit

+

Quit the CLI.

+
[zkshell: 1] quit
+

reconfig

+

Change ensemble membership at runtime. Before using this command, read the details in Dynamic Reconfiguration, especially the Security section.

+

Prerequisites:

+
    +
  1. Set reconfigEnabled=true in zoo.cfg.
  2. +
  3. Add a super user or set skipACL; otherwise you will get Insufficient permission. For example: addauth digest zookeeper:admin.
  4. +
+
# Change follower 2 to an observer on port 12182, add observer 5, remove observer 4
+[zkshell: 1] reconfig --add 2=localhost:2781:2786:observer;12182 --add 5=localhost:2781:2786:observer;2185 -remove 4
+Committed new configuration:
+server.1=localhost:2780:2785:participant;0.0.0.0:2181
+server.2=localhost:2781:2786:observer;0.0.0.0:12182
+server.3=localhost:2782:2787:participant;0.0.0.0:2183
+server.5=localhost:2784:2789:observer;0.0.0.0:2185
+version=1c00000002
+
+# -members: specify the full new membership list
+[zkshell: 2] reconfig -members server.1=localhost:2780:2785:participant;0.0.0.0:2181,server.2=localhost:2781:2786:observer;0.0.0.0:12182,server.3=localhost:2782:2787:participant;0.0.0.0:12183
+Committed new configuration:
+server.1=localhost:2780:2785:participant;0.0.0.0:2181
+server.2=localhost:2781:2786:observer;0.0.0.0:12182
+server.3=localhost:2782:2787:participant;0.0.0.0:12183
+version=f9fe0000000c
+
+# -file with -v: apply config from file only if current version matches
+[zkshell: 3] reconfig -file /data/software/zookeeper/zookeeper-test/conf/myNewConfig.txt -v 2100000010
+Committed new configuration:
+server.1=localhost:2780:2785:participant;0.0.0.0:2181
+server.2=localhost:2781:2786:observer;0.0.0.0:12182
+server.3=localhost:2782:2787:participant;0.0.0.0:2183
+server.5=localhost:2784:2789:observer;0.0.0.0:2185
+version=220000000c
+

redo

+

Re-execute a command from history by its index.

+
[zkshell: 4] history
+0 - ls /
+1 - get /consumers
+2 - get /hbase
+3 - ls  /hbase
+4 - history
+[zkshell: 5] redo 3
+[backup-masters, draining, flush-table-proc, hbaseid, master-maintenance, meta-region-server, namespace, online-snapshot, replication, rs, running, splitWAL, switch, table, table-lock]
+

removewatches

+

Remove watches from a node.

+
[zkshell: 1] get -w /brokers
+null
+[zkshell: 2] removewatches /brokers
+WATCHER::
+WatchedEvent state:SyncConnected type:DataWatchRemoved path:/brokers
+

set

+

Set or update the data at a path.

+
[zkshell: 50] set /brokers myNewData
+
+# -s: show the node stats after the update
+[zkshell: 51] set -s /quota_test mydata_for_quota_test
+cZxid = 0x110000002d
+ctime = Thu Mar 07 11:19:07 UTC 2019
+mZxid = 0x1100000038
+mtime = Thu Mar 07 11:42:41 UTC 2019
+pZxid = 0x1100000033
+cversion = 3
+dataVersion = 2
+aclVersion = 0
+ephemeralOwner = 0x0
+dataLength = 21
+numChildren = 3
+
+# -v: optimistic locking (CAS) — version from dataVersion in stat
+[zkshell: 52] set -v 0 /brokers myNewData
+[zkshell: 53] set -v 0 /brokers myNewData
+version No is not valid : /brokers
+

setAcl

+

Set ACL permissions on a node.

+
[zkshell: 28] addauth digest user1:12345
+[zkshell: 30] setAcl /acl_auth_test auth:user1:12345:crwad
+[zkshell: 31] getAcl /acl_auth_test
+'digest,'user1:+owfoSBn/am19roBPzR1/MfCblE=
+: cdrwa
+

Use -R to set ACL recursively on all child nodes:

+
[zkshell: 32] ls /acl_auth_test
+[child_1, child_2]
+[zkshell: 33] getAcl /acl_auth_test/child_2
+'world,'anyone
+: cdrwa
+[zkshell: 34] setAcl -R /acl_auth_test auth:user1:12345:crwad
+[zkshell: 35] getAcl /acl_auth_test/child_2
+'digest,'user1:+owfoSBn/am19roBPzR1/MfCblE=
+: cdrwa
+

Use -v to set ACL with optimistic locking (version from aclVersion in stat):

+
[zkshell: 36] stat /acl_auth_test
+cZxid = 0xf9fc0000001c
+ctime = Tue Mar 26 16:50:58 CST 2019
+mZxid = 0xf9fc0000001c
+mtime = Tue Mar 26 16:50:58 CST 2019
+pZxid = 0xf9fc0000001f
+cversion = 2
+dataVersion = 0
+aclVersion = 3
+ephemeralOwner = 0x0
+dataLength = 0
+numChildren = 2
+[zkshell: 37] setAcl -v 3 /acl_auth_test auth:user1:12345:crwad
+

setquota

+

Set a quota on a path. Soft limits (-n, -b) log a warning but do not block operations. Hard limits (-N, -B) reject operations that exceed the quota.

+
# -n: soft limit on node count (includes the node itself)
+[zkshell: 18] setquota -n 2 /quota_test
+[zkshell: 19] create /quota_test/child_1
+Created /quota_test/child_1
+[zkshell: 20] create /quota_test/child_2
+Created /quota_test/child_2
+[zkshell: 21] create /quota_test/child_3
+Created /quota_test/child_3
+# soft limit: creation succeeds but a warning is logged
+2019-03-07 11:22:36,680 [myid:1] - WARN  [SyncThread:0:DataTree@374] - Quota exceeded: /quota_test count=3 limit=2
+2019-03-07 11:22:41,861 [myid:1] - WARN  [SyncThread:0:DataTree@374] - Quota exceeded: /quota_test count=4 limit=2
+
+# -b: soft limit on data bytes
+[zkshell: 22] setquota -b 5 /brokers
+[zkshell: 23] set /brokers "I_love_zookeeper"
+# soft limit: write succeeds but a warning is logged
+WARN  [CommitProcWorkThread-7:DataTree@379] - Quota exceeded: /brokers bytes=4206 limit=5
+
+# -N: hard limit on node count
+[zkshell: 3] create /c1
+Created /c1
+[zkshell: 4] setquota -N 2 /c1
+[zkshell: 5] listquota /c1
+absolute path is /zookeeper/quota/c1/zookeeper_limits
+Output quota for /c1 count=-1,bytes=-1=;byteHardLimit=-1;countHardLimit=2
+Output stat for /c1 count=2,bytes=0
+[zkshell: 6] create /c1/ch-3
+Count Quota has exceeded : /c1/ch-3
+
+# -B: hard limit on bytes
+[zkshell: 3] create /c2
+[zkshell: 4] setquota -B 4 /c2
+[zkshell: 5] set /c2 "foo"
+[zkshell: 6] set /c2 "foo-bar"
+Bytes Quota has exceeded : /c2
+[zkshell: 7] get /c2
+foo
+

stat

+

Show the metadata (stat) of a node.

+
[zkshell: 1] stat /hbase
+cZxid = 0x4000013d9
+ctime = Wed Jun 27 20:13:07 CST 2018
+mZxid = 0x4000013d9
+mtime = Wed Jun 27 20:13:07 CST 2018
+pZxid = 0x500000001
+cversion = 17
+dataVersion = 0
+aclVersion = 0
+ephemeralOwner = 0x0
+dataLength = 0
+numChildren = 15
+

sync

+

Sync the data of a node between the leader and followers (asynchronous).

+
[zkshell: 14] sync /
+[zkshell: 15] Sync is OK
+

version

+

Show the ZooKeeper CLI version.

+
[zkshell: 1] version
+ZooKeeper CLI version: 3.6.0-SNAPSHOT-29f9b2c1c0e832081f94d59a6b88709c5f1bb3ca, built on 05/30/2019 09:26 GMT
+

whoami

+

Show all authentication information for the current session.

+
[zkshell: 1] whoami
+Auth scheme: User
+ip: 127.0.0.1
+[zkshell: 2] addauth digest user1:12345
+[zkshell: 3] whoami
+Auth scheme: User
+ip: 127.0.0.1
+digest: user1
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/dynamic-reconfiguration.data b/content/docs/admin-ops/dynamic-reconfiguration.data new file mode 100644 index 00000000000..d34f152ea08 --- /dev/null +++ b/content/docs/admin-ops/dynamic-reconfiguration.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/dynamic-reconfiguration.mdx","url","/docs/admin-ops/dynamic-reconfiguration","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,202,208,214,220,226,232,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":199,"_30":200},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,193],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":188,"_19":25,"_13":189,"_27":190,"_21":-7,"_7":191,"_30":192},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":188},{"_11":194,"_19":25,"_13":195,"_27":196,"_21":-7,"_7":197,"_30":198},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":194},"admin-ops/administrators-guide",{"_115":201},"admin-ops/administrators-guide/meta.json",{"_11":203,"_19":25,"_13":204,"_27":205,"_21":-7,"_7":206,"_30":207},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":203},{"_11":209,"_19":25,"_13":210,"_27":211,"_21":-7,"_7":212,"_30":213},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":209},{"_11":215,"_19":25,"_13":216,"_27":217,"_21":-7,"_7":218,"_30":219},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":215},{"_11":221,"_19":25,"_13":222,"_27":223,"_21":-7,"_7":224,"_30":225},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":221},{"_11":227,"_19":25,"_13":228,"_27":229,"_21":-7,"_7":230,"_30":231},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":227},{"_11":6,"_19":25,"_13":233,"_27":234,"_21":-7,"_7":8,"_30":235},"Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.",{"_32":6},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/dynamic-reconfiguration/index.html b/content/docs/admin-ops/dynamic-reconfiguration/index.html new file mode 100644 index 00000000000..7e391e965df --- /dev/null +++ b/content/docs/admin-ops/dynamic-reconfiguration/index.html @@ -0,0 +1,606 @@ +Dynamic Reconfiguration | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Dynamic Reconfiguration

How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.

Prior to the 3.5.0 release, the membership and all other configuration +parameters of ZooKeeper were static — loaded during boot and immutable at +runtime. Operators resorted to "rolling restarts" — a manually intensive +and error-prone method of changing the configuration that has caused data +loss and inconsistency in production.

+

Starting with 3.5.0, rolling restarts are no longer needed. +ZooKeeper comes with full support for automated configuration changes: the +set of ZooKeeper servers, their roles (participant / observer), all ports, +and even the quorum system can be changed dynamically, without service +interruption and while maintaining data consistency. Reconfigurations are +performed immediately, just like other operations in ZooKeeper. Multiple +changes can be done using a single reconfiguration command. The dynamic +reconfiguration functionality does not limit operation concurrency, does +not require client operations to be stopped during reconfigurations, has a +very simple interface for administrators, and adds no complexity to other +client operations.

+

New client-side features allow clients to find out about configuration +changes and to update the connection string (list of servers and their +client ports) stored in their ZooKeeper handle. A probabilistic algorithm +is used to rebalance clients across the new configuration servers while +keeping the extent of client migrations proportional to the change in +ensemble membership.

+

This document provides the administrator manual for reconfiguration. +For a detailed description of the reconfiguration algorithms, performance +measurements, and more, see:

+

Shraer, A., Reed, B., Malkhi, D., Junqueira, F. Dynamic Reconfiguration of Primary/Backup Clusters. In USENIX Annual Technical Conference (ATC) (2012), 425–437. +Links: paper (pdf), slides (pdf), video, hadoop summit slides

+

Starting with 3.5.3, the dynamic reconfiguration feature is disabled by +default and must be explicitly turned on via the reconfigEnabled +configuration option.

+

Changes to Configuration Format

+

Specifying the Client Port

+

A client port is the port on which the server accepts plaintext (non-TLS) client connection requests. +A secure client port is the port on which the server accepts TLS client connection requests.

+

Starting with 3.5.0, the clientPort and clientPortAddress configuration parameters should no longer be used in zoo.cfg.

+

Starting with 3.10.0, the secureClientPort and secureClientPortAddress configuration parameters should no longer be used in zoo.cfg.

+

Instead, this information is now part of the server keyword specification:

+
server.<positive id> = <address1>:<quorum port>:<leader election port>[:role];[[<client port address>:]<client port>][;[<secure client port address>:]<secure client port>]
+
    +
  • [New in ZK 3.10.0] The client port specification is optional and is to the right of the +first semicolon. The secure client port specification is also optional and is to the right +of the second semicolon. However, both the client port and secure client port specification +cannot be omitted — at least one of them must be present. If the user intends to omit the client +port specification and provide only the secure client port (TLS-only server), a second +semicolon should still be specified to indicate an empty client port specification (see last +example below). In either spec, the port address is optional and defaults to 0.0.0.0.
  • +
  • Role is also optional — it can be participant or observer (participant by default).
  • +
+

Examples of legal server statements:

+
server.5 = 125.23.63.23:1234:1235;1236                                             (non-TLS server)
+server.5 = 125.23.63.23:1234:1235;1236;1237                                        (non-TLS + TLS server)
+server.5 = 125.23.63.23:1234:1235;;1237                                            (TLS-only server)
+server.5 = 125.23.63.23:1234:1235:participant;1236                                 (non-TLS server)
+server.5 = 125.23.63.23:1234:1235:observer;1236                                    (non-TLS server)
+server.5 = 125.23.63.23:1234:1235;125.23.63.24:1236                                (non-TLS server)
+server.5 = 125.23.63.23:1234:1235:participant;125.23.63.23:1236                    (non-TLS server)
+server.5 = 125.23.63.23:1234:1235:participant;125.23.63.23:1236;125.23.63.23:1237  (non-TLS + TLS server)
+server.5 = 125.23.63.23:1234:1235:participant;;125.23.63.23:1237                   (TLS-only server)
+

Specifying Multiple Server Addresses

+

Since ZooKeeper 3.6.0 it is possible to specify multiple addresses for each +ZooKeeper server (see ZOOKEEPER-3188). +This helps to increase availability and adds network-level resiliency to ZooKeeper. When multiple +physical network interfaces are used for the servers, ZooKeeper is able to bind on all interfaces +and switch to a working interface at runtime in case of a network error. Multiple addresses are +separated by a pipe (|) character.

+

Examples of valid configurations using multiple addresses:

+
server.2=zoo2-net1:2888:3888|zoo2-net2:2889:3889;2188
+server.2=zoo2-net1:2888:3888|zoo2-net2:2889:3889|zoo2-net3:2890:3890;2188
+server.2=zoo2-net1:2888:3888|zoo2-net2:2889:3889;zoo2-net1:2188
+server.2=zoo2-net1:2888:3888:observer|zoo2-net2:2889:3889:observer;2188
+

The standaloneEnabled Flag

+

Prior to 3.5.0, one could run ZooKeeper in Standalone mode or in +Distributed mode. These are separate implementation stacks and switching +between them at runtime is not possible. By default (for backward +compatibility) standaloneEnabled is set to true. The consequence is that +if started with a single server the ensemble will not be allowed to grow, +and if started with more than one server it will not be allowed to shrink +below two participants.

+

Setting the flag to false instructs the system to run the Distributed +software stack even if there is only a single participant in the ensemble. +To achieve this the static configuration file should contain:

+
standaloneEnabled=false
+

With this setting it is possible to start a ZooKeeper ensemble containing +a single participant and to dynamically grow it by adding more servers. +Similarly, it is possible to shrink an ensemble so that just a single +participant remains by removing servers.

+

Since running the Distributed mode allows more flexibility, we recommend +setting the flag to false. The legacy Standalone mode is expected to be +deprecated in the future.

+

The reconfigEnabled Flag

+

Starting with 3.5.0 and prior to 3.5.3, there is no way to disable +dynamic reconfiguration. To address the security concern that a malicious +actor could make arbitrary changes to the ensemble configuration, the +reconfigEnabled option was introduced in 3.5.3. Any attempt +to reconfigure a cluster through the reconfig API — with or without authentication — +will fail by default unless reconfigEnabled is set to true.

+

To enable reconfiguration, add the following to zoo.cfg:

+
reconfigEnabled=true
+

Dynamic Configuration File

+

Starting with 3.5.0, ZooKeeper distinguishes between dynamic configuration +parameters (which can be changed during runtime) and static configuration +parameters (which are read from a configuration file at boot and do not change +during execution). The dynamic configuration keywords are: server, group, +and weight.

+

Dynamic configuration parameters are stored in a separate file on the server +(the dynamic configuration file), linked from the static config file using the +dynamicConfigFile keyword.

+

Example 1

+

zoo_replicated1.cfg

+
tickTime=2000
+dataDir=/zookeeper/data/zookeeper1
+initLimit=5
+syncLimit=2
+dynamicConfigFile=/zookeeper/conf/zoo_replicated1.cfg.dynamic
+

zoo_replicated1.cfg.dynamic

+
server.1=125.23.63.23:2780:2783:participant;2791
+server.2=125.23.63.24:2781:2784:participant;2792
+server.3=125.23.63.25:2782:2785:participant;2793
+

When the ensemble configuration changes, the static configuration parameters +remain the same. The dynamic parameters are pushed by ZooKeeper and overwrite +the dynamic configuration files on all servers. Thus the dynamic configuration +files on different servers are usually identical (they can differ momentarily +while a reconfiguration is in progress or before a new configuration has +propagated to all servers). Once created, the dynamic configuration file should +not be manually altered — changes are made only through the reconfiguration +commands described below. Changing the config of an offline cluster could +result in an inconsistency with configuration information stored in the +ZooKeeper log and is therefore highly discouraged.

+

Example 2

+

Users may prefer to initially specify a single configuration file. The +following is also legal:

+

zoo_replicated1.cfg

+
tickTime=2000
+dataDir=/zookeeper/data/zookeeper1
+initLimit=5
+syncLimit=2
+clientPort=
+

The configuration files on each server will be automatically split into +dynamic and static files if they are not already in this format. The +configuration above will be automatically transformed into the two files in +Example 1. Note that the clientPort and clientPortAddress lines (if +specified) will be automatically removed during this process if they are +redundant (as in the example above). The original static configuration file +is backed up (as a .bak file).

+

Backward Compatibility

+

The old configuration format is still supported. For example, the +following configuration file is acceptable (but not recommended):

+

zoo_replicated1.cfg

+
tickTime=2000
+dataDir=/zookeeper/data/zookeeper1
+initLimit=5
+syncLimit=2
+clientPort=2791
+server.1=125.23.63.23:2780:2783:participant
+server.2=125.23.63.24:2781:2784:participant
+server.3=125.23.63.25:2782:2785:participant
+

During boot, a dynamic configuration file is created containing the dynamic +part of the configuration as explained earlier. In this case, however, the +line clientPort=2791 will remain in the static configuration file of +server 1 since it is not redundant — it was not specified as part of +server.1=... using the format described in +Changes to Configuration Format. If a +reconfiguration is invoked that sets the client port of server 1, clientPort=2791 +is removed from the static configuration file (the dynamic file then contains +this information as part of the server 1 specification).

+

Upgrading to 3.5.0

+

Upgrading a running ZooKeeper ensemble to 3.5.0 should be done only +after upgrading to the 3.4.6 release. This is only necessary for rolling +upgrades — if you are fine with shutting down the system completely, you +do not need to go through 3.4.6. If you attempt a rolling upgrade without +going through 3.4.6 (for example from 3.4.5), you may get the following error:

+
2013-01-30 11:32:10,663 [myid:2] - INFO [localhost/127.0.0.1:2784:QuorumCnxManager$Listener@498] - Received connection request /127.0.0.1:60876
+2013-01-30 11:32:10,663 [myid:2] - WARN [localhost/127.0.0.1:2784:QuorumCnxManager@349] - Invalid server id: -65536
+

During a rolling upgrade, each server is taken down in turn and rebooted +with the new 3.5.0 binaries. Before starting a server with 3.5.0 binaries, +we highly recommend updating the configuration file so that all server +statements server.x=... contain client ports (see +Specifying the Client Port). You may leave +the configuration in a single file and may also leave the +clientPort/clientPortAddress statements (although if you specify client +ports in the new format, these statements become redundant).

+

Dynamic Reconfiguration of the ZooKeeper Ensemble

+

The ZooKeeper Java and C APIs were extended with getConfig and reconfig +commands that facilitate reconfiguration. Both commands have a synchronous +(blocking) variant and an asynchronous one. The examples below use the Java +CLI, but you can similarly use the C CLI or invoke the commands directly from +a program just like any other ZooKeeper command.

+

API

+

There are two sets of APIs for both Java and C clients.

+
    +
  • +

    Reconfiguration API: Used to reconfigure the ZooKeeper cluster. +Starting with 3.5.3, reconfiguration Java APIs are moved into the ZooKeeperAdmin +class from the ZooKeeper class. Use of this API requires ACL setup and user +authentication (see Security for more information).

    +
  • +
  • +

    Get Configuration API: Used to retrieve ZooKeeper cluster configuration +information stored in the /zookeeper/config znode. Use of this API does not +require specific setup or authentication, because /zookeeper/config is readable +by any user.

    +
  • +
+

Security

+

Prior to 3.5.3, there is no enforced security mechanism over reconfig, +so any ZooKeeper client that can connect to the ensemble has the ability to +change its state via reconfig. It is thus possible for a malicious client to +add a compromised server to an ensemble or remove legitimate servers, which +can be a security vulnerability.

+

Starting from 3.5.3, access control over reconfig is enforced: only a +specific set of explicitly configured users can use reconfig commands or APIs, +and the ZooKeeper cluster must have authentication enabled so that clients can +be authenticated.

+

An escape hatch is provided for users operating in a secured environment (e.g. +behind a company firewall) who want to use reconfiguration without the overhead +of configuring an explicit authorized user list: setting +skipACL to yes skips +ACL checks and allows any user to reconfigure the cluster.

+
    +
  • +

    Access Control: The dynamic configuration is stored in the special znode +ZooDefs.CONFIG_NODE = /zookeeper/config. This node is read-only for all users +by default, except the super user and users explicitly configured for write access. +Clients that need to use reconfig commands or the reconfig API must be configured +with write access to CONFIG_NODE. Additional users can be granted write access +through the superuser by setting an ACL with write permission. Examples of how to +set up ACLs and use the reconfiguration API with authentication can be found in +ReconfigExceptionTest.java and TestReconfigServer.cc.

    +
  • +
  • +

    Authentication: Authentication is orthogonal to access control and is +delegated to ZooKeeper's pluggable authentication schemes. See +ZooKeeper and SASL +for more details.

    +
  • +
  • +

    Disable ACL check: ZooKeeper supports the +skipACL option such that +ACL checks are completely skipped when skipACL is set to yes. In such cases +any unauthenticated user can use the reconfig API.

    +
  • +
+

Retrieving the Current Dynamic Configuration

+

The dynamic configuration is stored in a special znode +ZooDefs.CONFIG_NODE = /zookeeper/config. The config CLI command reads +this znode (it is essentially a wrapper around get /zookeeper/config). As +with normal reads, to retrieve the latest committed value you should do a +sync first.

+
[zk: 127.0.0.1:2791(CONNECTED) 3] config
+server.1=localhost:2780:2783:participant;localhost:2791
+server.2=localhost:2781:2784:participant;localhost:2792
+server.3=localhost:2782:2785:participant;localhost:2793
+

Notice the last line of the output — this is the configuration version. The +version equals the zxid of the reconfiguration command that created this +configuration. The version of the first established configuration equals the +zxid of the NEWLEADER message sent by the first successfully established leader. +When a configuration is written to a dynamic configuration file, the version +automatically becomes part of the filename and the static configuration file is +updated with the path to the new dynamic configuration file. Configuration files +corresponding to earlier versions are retained for backup purposes.

+

During boot, the version (if it exists) is extracted from the filename. The +version should never be manually altered — it is used by the system to determine +which configuration is most up-to-date, and manipulating it can result in data +loss and inconsistency.

+

Like the get command, the config CLI command accepts the -w flag for +setting a watch on the znode and the -s flag for displaying its stats. It +additionally accepts a -c flag that outputs only the version and the client +connection string for the current configuration. For example:

+
[zk: 127.0.0.1:2791(CONNECTED) 17] config -c
+400000003 localhost:2791,localhost:2793,localhost:2792
+

Note that when using the API directly, this command is called getConfig.

+

As any read command, it returns the configuration known to the follower your +client is connected to, which may be slightly out-of-date. Use the sync +command for stronger guarantees. For example using the Java API:

+
zk.sync(ZooDefs.CONFIG_NODE, void_callback, context);
+zk.getConfig(watcher, callback, context);
+

Note: in 3.5.0 it doesn't matter which path is passed to sync() since all +server state is brought up to date with the leader (a different path could be +used instead of ZooDefs.CONFIG_NODE). However, this may change in the future.

+

Modifying the Current Dynamic Configuration

+

Configuration is modified through the reconfig command. There are two +modes: incremental and non-incremental (bulk). The non-incremental mode +specifies the complete new dynamic configuration. The incremental mode specifies +changes to the current configuration. The reconfig command returns the new +configuration.

+

A few examples can be found in: ReconfigTest.java, ReconfigRecoveryTest.java, +and TestReconfigServer.cc.

+

General

+

Removing servers: Any server can be removed, including the leader (although +removing the leader will result in a short unavailability, see Figures 6 and 8 in +the paper). +The server will not be shut down automatically. Instead, it becomes a +"non-voting follower" — similar to an observer in that its votes don't count +towards the quorum, but unlike an observer, a non-voting follower still sees +operation proposals and ACKs them. Thus a non-voting follower has a more +significant negative effect on throughput compared to an observer. +Non-voting follower mode should only be used temporarily before shutting the +server down or adding it back as a follower or observer. Servers are not +shut down automatically for two main reasons: first, to avoid immediately +disconnecting all connected clients and causing a flood of reconnection requests +to other servers; second, because removing a server may sometimes be necessary +as a step to change it from observer to participant (see +Additional comments).

+

Note that the new configuration must have some minimum number of participants +to be considered legal. If the proposed change would leave fewer than 2 +participants and standalone mode is enabled (standaloneEnabled=true, see +The standaloneEnabled Flag), the reconfig +will not be processed (BadArgumentsException). If standalone mode is disabled +(standaloneEnabled=false) then 1 or more participants is legal.

+

Adding servers: Before invoking a reconfiguration, the administrator must +ensure that a quorum (majority) of participants from the new configuration are +already connected and synced with the current leader. To achieve this, a new +joining server must be connected to the leader before it officially becomes part +of the ensemble. This is done by starting the joining server with an initial +server list that is not a legal configuration but (a) contains the joiner, and +(b) gives the joiner enough information to find and connect to the current leader. +A few safe options for doing this:

+
    +
  1. +

    The initial configuration of joiners consists of servers in the last committed +configuration plus one or more joiners, where joiners are listed as observers. +For example, if servers D and E are added at the same time to (A, B, C) and C +is being removed, D's initial config could be (A, B, C, D) or (A, B, C, D, E) +with D and E listed as observers. Note that listing joiners as observers does +not actually make them observers — it only prevents them from accidentally +forming a quorum with other joiners. Instead, they contact the servers in the +current configuration and adopt the last committed configuration (A, B, C). +Configuration files of joiners are backed up and replaced automatically. +After connecting to the current leader, joiners become non-voting followers until +the system is reconfigured and they are added to the ensemble.

    +
  2. +
  3. +

    The initial configuration of each joiner consists of servers in the last committed +configuration plus the joiner itself, listed as a participant. For example, +to add a new server D to (A, B, C), start D with an initial config consisting of +(A, B, C, D). If both D and E are added at the same time, D's initial config +could be (A, B, C, D) and E's could be (A, B, C, E). Never list more than one +joiner as participant in the initial configuration (see warning below).

    +
  4. +
  5. +

    Whether listing the joiner as an observer or participant, it is also fine not +to list all current configuration servers, as long as the current leader is +included. For example, when adding D, it could be started with just (A, D) if +A is the current leader. However, this is more fragile since if A fails before +D officially joins, D has no other servers to contact and the administrator +must restart D with another server list.

    +
  6. +
+

Never specify more than one joining server in the same initial configuration +as participants. The joining servers do not know they are joining an existing +ensemble — if multiple joiners are listed as participants they may form an +independent quorum, creating a split-brain situation and processing operations +independently from the main ensemble. It is safe to list multiple joiners as +observers in an initial config.

+

If the configuration of existing servers changes or they become unavailable before +the joiner succeeds in connecting and learning about configuration changes, the +joiner may need to be restarted with an updated configuration file.

+

Finally, note that once connected to the leader, a joiner adopts the last committed +configuration (in which it is absent), and the initial config is backed up before +being rewritten. If the joiner restarts in this state it will not be able to boot +since it is absent from its configuration file — you will need to specify an initial +configuration again.

+

Modifying server parameters: Any of the ports or the role (participant/observer) +of a server can be modified by adding it to the ensemble with different parameters. +This works in both incremental and bulk reconfiguration modes — it is not necessary +to remove the server and re-add it; just specify the new parameters as if the server +is not yet in the system. The server will detect the configuration change and perform +the necessary adjustments. See an example in Incremental mode +and an exception in Additional comments.

+

It is also possible to change the Quorum System used by the ensemble (for example, +change from a Majority Quorum System to a Hierarchical Quorum System on the fly). +This is only allowed using the bulk (non-incremental) reconfiguration mode. Incremental +reconfiguration only works with the Majority Quorum System. Bulk reconfiguration +works with both Hierarchical and Majority Quorum Systems.

+

Performance impact: There is practically no performance impact when removing a +follower, since it is not automatically shut down (the effect of removal is that the +server's votes are no longer counted). When adding a server, there is no leader change +and no noticeable performance disruption. For details and graphs see Figures 6, 7 and +8 in the paper.

+

The most significant disruption occurs when a leader change is triggered, in the +following cases:

+
    +
  1. Leader is removed from the ensemble.
  2. +
  3. Leader's role is changed from participant to observer.
  4. +
  5. The port used by the leader to send transactions to others (quorum port) is modified.
  6. +
+

In these cases a leader hand-off is performed where the old leader nominates a new +leader. The resulting unavailability is usually shorter than when a leader crashes +since failure detection is unnecessary and electing a new leader can usually be +avoided during a hand-off (see Figures 6 and 8 in the paper).

+

When the client port of a server is modified, existing client connections are not +dropped. New connections to the server will use the new client port.

+

Progress guarantees: Up to the invocation of the reconfig operation, a quorum of +the old configuration must be available and connected for ZooKeeper to make progress. +Once reconfig is invoked, a quorum of both the old and new configurations must be +available. The final transition happens once (a) the new configuration is activated and +(b) all operations scheduled before the new configuration was activated by the leader +are committed. Once both (a) and (b) have happened, only a quorum of the new +configuration is required. Note that neither (a) nor (b) are visible to a client — +when a reconfiguration operation commits it only means that an activation message was +sent by the leader, not that a quorum of the new configuration has received it. +To ensure both (a) and (b) have occurred (for example, before safely shutting down +removed servers), invoke an update (set-data or another quorum operation, but not +sync) and wait for it to commit.

+

Incremental Mode

+

The incremental mode allows adding and removing servers from the current +configuration. Multiple changes are allowed at once. For example:

+
> reconfig -remove 3 -add \
+server.5=125.23.63.23:1234:1235;1236
+

Both the add and remove options take comma-separated arguments (no spaces):

+
> reconfig -remove 3,4 -add \
+server.5=localhost:2111:2112;2113,6=localhost:2114:2115:observer;2116
+

The format of the server statement is exactly as described in +Specifying the Client Port and includes the client +port. Note that 5= can be used as a shorthand for server.5=. In the example +above, if server 5 is already in the system with different ports or is not an +observer, it is updated — once the configuration commits it becomes an observer +using the new ports. This is an easy way to turn participants into observers and +vice versa, or change any ports, without rebooting the server.

+

ZooKeeper supports two types of Quorum Systems: the simple Majority system (where +the leader commits operations after receiving ACKs from a majority of voters) and a +more complex Hierarchical system (where votes of different servers have different +weights and servers are divided into voting groups). Incremental reconfiguration is +currently allowed only if the last proposed configuration uses a Majority Quorum +System (BadArgumentsException is thrown otherwise).

+

Incremental mode — examples using the Java API:

+
List<String> leavingServers = new ArrayList<String>();
+leavingServers.add("1");
+leavingServers.add("2");
+byte[] config = zk.reconfig(null, leavingServers, null, -1, new Stat());
+
+List<String> leavingServers = new ArrayList<String>();
+List<String> joiningServers = new ArrayList<String>();
+leavingServers.add("1");
+joiningServers.add("server.4=localhost:1234:1235;1236");
+byte[] config = zk.reconfig(joiningServers, leavingServers, null, -1, new Stat());
+
+String configStr = new String(config);
+System.out.println(configStr);
+

There is also an asynchronous API, and an API accepting comma-separated Strings +instead of List<String>. See +src/java/main/org/apache/zookeeper/ZooKeeper.java.

+

Non-incremental Mode

+

The non-incremental mode accepts a complete specification of the new dynamic +configuration. The new configuration can be given inline or read from a file:

+
> reconfig -file newconfig.cfg
+

newconfig.cfg is a dynamic config file — see Dynamic Configuration File.

+
> reconfig -members \
+server.1=125.23.63.23:2780:2783:participant;2791,server.2=125.23.63.24:2781:2784:participant;2792,server.3=125.23.63.25:2782:2785:participant;2793
+

The new configuration may use a different Quorum System. For example, you may +specify a Hierarchical Quorum System even if the current ensemble uses a Majority +Quorum System.

+

Bulk mode — example using the Java API:

+
List<String> newMembers = new ArrayList<String>();
+newMembers.add("server.1=1111:1234:1235;1236");
+newMembers.add("server.2=1112:1237:1238;1239");
+newMembers.add("server.3=1114:1240:1241:observer;1242");
+
+byte[] config = zk.reconfig(null, null, newMembers, -1, new Stat());
+
+String configStr = new String(config);
+System.out.println(configStr);
+

There is also an asynchronous API, and an API accepting a comma-separated String +containing the new members instead of List<String>. See +src/java/main/org/apache/zookeeper/ZooKeeper.java.

+

Conditional Reconfig

+

Sometimes (especially in non-incremental mode) a proposed configuration depends +on what the client believes to be the current configuration, and should only be +applied to that configuration. The reconfig succeeds only if the last +configuration at the leader has the specified version:

+
> reconfig -file <filename> -v <version>
+

In the Java examples above, instead of -1 you can specify a configuration +version to condition the reconfiguration.

+

Error Conditions

+

In addition to normal ZooKeeper error conditions, a reconfiguration may fail for +the following reasons:

+
    +
  1. Another reconfig is currently in progress (ReconfigInProgress).
  2. +
  3. The proposed change would leave fewer than 2 participants and standalone mode +is enabled, or, if standalone mode is disabled, fewer than 1 participant would +remain (BadArgumentsException).
  4. +
  5. No quorum of the new configuration was connected and up-to-date with the leader +when reconfiguration processing began (NewConfigNoQuorum).
  6. +
  7. -v x was specified but the latest configuration version y is not x +(BadVersionException).
  8. +
  9. An incremental reconfiguration was requested but the last configuration at the +leader uses a Quorum System other than Majority (BadArgumentsException).
  10. +
  11. Syntax error (BadArgumentsException).
  12. +
  13. I/O exception when reading the configuration from a file (BadArgumentsException).
  14. +
+

Most of these are illustrated by test cases in ReconfigFailureCases.java.

+

Additional Comments

+

Liveness: To understand the difference between incremental and non-incremental +reconfiguration, suppose client C1 adds server D while a different client C2 adds +server E. With non-incremental mode, each client first invokes config to find out +the current configuration, then locally creates a new server list by adding its own +suggested server. After both reconfigurations complete, only one of D or E will be +added (not both), depending on which request arrives second at the leader. The other +client can repeat the process until its change takes effect. This guarantees +system-wide progress (for one client) but not for every client. C2 may use +Conditional reconfig to avoid blindly overwriting C1's +configuration if C1's request arrived first.

+

With incremental reconfiguration, both changes take effect as they are applied by +the leader one after the other to the current configuration. Since both clients are +guaranteed to make progress, this method guarantees stronger liveness. In practice, +multiple concurrent reconfigurations are probably rare. Non-incremental reconfiguration +is currently the only way to dynamically change the Quorum System. Incremental +reconfiguration is currently only allowed with the Majority Quorum System.

+

Changing an observer into a follower: Changing a voting server into an observer +may fail if fewer than the minimal allowed number of participants would remain (error 2). +Converting an observer into a participant may sometimes fail for a more subtle reason. +Suppose the current configuration is (A, B, C, D), where A is the leader, B and C are +followers, and D is an observer, and B has crashed. If a reconfiguration makes D a +follower, it will fail with error 3 since a majority of voters in the new configuration +(any 3 voters) must be connected and up-to-date with the leader. An observer cannot +acknowledge the history prefix sent during reconfiguration and therefore does not count +towards the 3 required servers. In this case, a client can achieve the task with two +reconfig commands: first remove D from the configuration, then add it back as a +participant. During the intermediate state D is a non-voting follower and can ACK the +state transfer performed during the second reconfig command.

+

Rebalancing Client Connections

+

When a ZooKeeper cluster is started and each client is given the same connection +string, the client randomly chooses a server to connect to, making the expected +number of client connections per server equal across all servers. ZooKeeper preserves +this property when the set of servers changes through reconfiguration (see Sections +4 and 5.1 in the paper).

+

For the method to work, all clients must subscribe to configuration changes by setting +a watch on /zookeeper/config — either directly or through the getConfig API. When +the watch is triggered, the client should read the new configuration by invoking +sync and getConfig, and if the configuration is indeed new, invoke updateServerList. +To avoid mass client migration at the same time, each client should sleep a random +short period before invoking updateServerList.

+

A few examples can be found in StaticHostProviderTest.java and TestReconfig.cc.

+

Example (simplified to illustrate the general idea, not a production recipe):

+
public void process(WatchedEvent event) {
+    synchronized (this) {
+        if (event.getType() == EventType.None) {
+            connected = (event.getState() == KeeperState.SyncConnected);
+            notifyAll();
+        } else if (event.getPath() != null && event.getPath().equals(ZooDefs.CONFIG_NODE)) {
+            // in prod code never block the event thread!
+            zk.sync(ZooDefs.CONFIG_NODE, this, null);
+            zk.getConfig(this, this, null);
+        }
+    }
+}
+
+public void processResult(int rc, String path, Object ctx, byte[] data, Stat stat) {
+    if (path != null && path.equals(ZooDefs.CONFIG_NODE)) {
+        String config[] = ConfigUtils.getClientConfigStr(new String(data)).split(" ");   // similar to config -c
+        long version = Long.parseLong(config[0], 16);
+        if (this.configVersion == null) {
+            this.configVersion = version;
+        } else if (version > this.configVersion) {
+            hostList = config[1];
+            try {
+                // not blocking, but may cause the client to close the socket and migrate
+                // to a different server; in practice wait a short random period so clients
+                // migrate at different times
+                zk.updateServerList(hostList);
+            } catch (IOException e) {
+                System.err.println("Error updating server list");
+                e.printStackTrace();
+            }
+            this.configVersion = version;
+        }
+    }
+}
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/jmx.data b/content/docs/admin-ops/jmx.data new file mode 100644 index 00000000000..4ab4a4eba15 --- /dev/null +++ b/content/docs/admin-ops/jmx.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/jmx.mdx","url","/docs/admin-ops/jmx","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,202,208,214,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":199,"_30":200},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,193],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":188,"_19":25,"_13":189,"_27":190,"_21":-7,"_7":191,"_30":192},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":188},{"_11":194,"_19":25,"_13":195,"_27":196,"_21":-7,"_7":197,"_30":198},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":194},"admin-ops/administrators-guide",{"_115":201},"admin-ops/administrators-guide/meta.json",{"_11":203,"_19":25,"_13":204,"_27":205,"_21":-7,"_7":206,"_30":207},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":203},{"_11":209,"_19":25,"_13":210,"_27":211,"_21":-7,"_7":212,"_30":213},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":209},{"_11":6,"_19":25,"_13":215,"_27":216,"_21":-7,"_7":8,"_30":217},"JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.",{"_32":6},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/jmx/index.html b/content/docs/admin-ops/jmx/index.html new file mode 100644 index 00000000000..a3578bb7c4d --- /dev/null +++ b/content/docs/admin-ops/jmx/index.html @@ -0,0 +1,96 @@ +JMX | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

JMX

How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.

Apache ZooKeeper has extensive support for JMX, allowing you +to view and manage a ZooKeeper serving ensemble.

+

This document assumes that you have basic knowledge of +JMX. See the Sun JMX Technology page to get started with JMX.

+

See the JMX Management Guide for details on setting up local and +remote management of VM instances. By default the included +zkServer.sh supports only local management — +review the linked document to enable support for remote management +(beyond the scope of this document).

+

Starting ZooKeeper with JMX Enabled

+

The class org.apache.zookeeper.server.quorum.QuorumPeerMain +will start a JMX manageable ZooKeeper server. This class +registers the proper MBeans during initialization to support JMX +monitoring and management of the instance. See bin/zkServer.sh for one +example of starting ZooKeeper using QuorumPeerMain.

+

Running a JMX Console

+

There are a number of JMX consoles available which can connect +to the running server. For this example we will use Sun's jconsole.

+

The Java JDK ships with a simple JMX console +named jconsole +which can be used to connect to ZooKeeper and inspect a running +server. Once you've started ZooKeeper using QuorumPeerMain, +start jconsole, which typically resides in JDK_HOME/bin/jconsole.

+

When the "new connection" window is displayed, either connect +to the local process (if jconsole was started on the same host as the server) or +use the remote process connection.

+

By default the "overview" tab for the VM is displayed. Select +the "MBeans" tab.

+

You should now see org.apache.ZooKeeperService +on the left hand side. Expand this item and depending on how you've +started the server you will be able to monitor and manage various +service related features.

+

Logback MBeans (new in 3.8.0)

+

Logback is the default logging backend of ZooKeeper since version 3.8.0. +It can be configured to register JMX MBeans by adding <jmxConfigurator /> to logback.xml. More +information can be found on Logback's website.

+

Log4j MBeans (deprecated)

+

ZooKeeper will register log4j MBeans if log4j1 is configured as the logging backend of SLF4J. +In the same section along the left hand side you will see +"log4j". Expand that to manage log4j through JMX. Of particular +interest is the ability to dynamically change the logging levels +used by editing the appender and root thresholds. Log4j MBean +registration can be disabled by passing +-Dzookeeper.jmx.log4j.disable=true to the JVM +when starting ZooKeeper. In addition, we can specify the name of +the MBean with the -Dzookeeper.jmx.log4j.mbean=log4j:hierarchy=default +option, in case we need to upgrade an integrated system +using the old MBean name (log4j:hierarchy = default).

+

ZooKeeper MBean Reference

+

Replicated Ensemble MBeans

+

This table details JMX for a server participating in a +replicated ZooKeeper ensemble (i.e. not standalone). This is the +typical case for a production environment.

+
MBeanMBean Object NameDescription
QuorumReplicatedServer_id<#>Represents the Quorum, or Ensemble — parent of all cluster members. Note that the object name includes the "myid" of the server (name suffix) that your JMX agent has connected to.
LocalPeer/RemotePeerreplica.<#>Represents a local or remote peer (i.e. server participating in the ensemble). Note that the object name includes the "myid" of the server (name suffix).
LeaderElectionLeaderElectionRepresents a ZooKeeper cluster leader election which is in progress. Provides information about the election, such as when it started.
LeaderLeaderIndicates that the parent replica is the leader and provides attributes/operations for that server. Note that Leader is a subclass of ZooKeeperServer, so it provides all of the information normally associated with a ZooKeeperServer node.
FollowerFollowerIndicates that the parent replica is a follower and provides attributes/operations for that server. Note that Follower is a subclass of ZooKeeperServer, so it provides all of the information normally associated with a ZooKeeperServer node.
DataTreeInMemoryDataTreeStatistics on the in-memory znode database, also operations to access finer (and more computationally intensive) statistics on the data (such as ephemeral count). InMemoryDataTrees are children of ZooKeeperServer nodes.
ServerCnxn<session_id>Statistics on each client connection, also operations on those connections (such as termination). Note the object name is the session id of the connection in hex form.
+

Standalone Server MBeans

+

This table details JMX for a standalone server. Standalone is typically +only used in development situations.

+
MBeanMBean Object NameDescription
ZooKeeperServerStandaloneServer_port<#>Statistics on the running server, also operations to reset these attributes. Note that the object name includes the client port of the server (name suffix).
DataTreeInMemoryDataTreeStatistics on the in-memory znode database, also operations to access finer (and more computationally intensive) statistics on the data (such as ephemeral count).
ServerCnxn<session_id>Statistics on each client connection, also operations on those connections (such as termination). Note the object name is the session id of the connection in hex form.
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/monitor-and-audit-logs.data b/content/docs/admin-ops/monitor-and-audit-logs.data new file mode 100644 index 00000000000..4a72cd08f16 --- /dev/null +++ b/content/docs/admin-ops/monitor-and-audit-logs.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/monitor-and-audit-logs.mdx","url","/docs/admin-ops/monitor-and-audit-logs","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,202,208,214,220,226,232,238,244,250,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":199,"_30":200},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,193],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":188,"_19":25,"_13":189,"_27":190,"_21":-7,"_7":191,"_30":192},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":188},{"_11":194,"_19":25,"_13":195,"_27":196,"_21":-7,"_7":197,"_30":198},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":194},"admin-ops/administrators-guide",{"_115":201},"admin-ops/administrators-guide/meta.json",{"_11":203,"_19":25,"_13":204,"_27":205,"_21":-7,"_7":206,"_30":207},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":203},{"_11":209,"_19":25,"_13":210,"_27":211,"_21":-7,"_7":212,"_30":213},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":209},{"_11":215,"_19":25,"_13":216,"_27":217,"_21":-7,"_7":218,"_30":219},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":215},{"_11":221,"_19":25,"_13":222,"_27":223,"_21":-7,"_7":224,"_30":225},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":221},{"_11":227,"_19":25,"_13":228,"_27":229,"_21":-7,"_7":230,"_30":231},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":227},{"_11":233,"_19":25,"_13":234,"_27":235,"_21":-7,"_7":236,"_30":237},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":233},{"_11":239,"_19":25,"_13":240,"_27":241,"_21":-7,"_7":242,"_30":243},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":239},{"_11":245,"_19":25,"_13":246,"_27":247,"_21":-7,"_7":248,"_30":249},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":245},{"_11":6,"_19":25,"_13":251,"_27":252,"_21":-7,"_7":8,"_30":253},"Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.",{"_32":6},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/monitor-and-audit-logs/index.html b/content/docs/admin-ops/monitor-and-audit-logs/index.html new file mode 100644 index 00000000000..c9dde97acbe --- /dev/null +++ b/content/docs/admin-ops/monitor-and-audit-logs/index.html @@ -0,0 +1,297 @@ +Monitor & Audit Logs | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Monitor & Audit Logs

How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.

New Metrics System

+

The New Metrics System has been available since 3.6.0. It provides rich metrics covering +znodes, network, disk, quorum, leader election, clients, security, failures, watches/sessions, +request processors, and more.

+

Metrics

+

All available metrics are defined in ServerMetrics.java.

+

Configuring the Metrics Provider

+

Enable the Prometheus MetricsProvider by adding the following to zoo.cfg:

+
metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
+

The HTTP port for Prometheus metrics scraping can be configured with (default is 7000):

+
metricsProvider.httpPort=7000
+

Enabling HTTPS for Prometheus Metrics

+

ZooKeeper supports SSL for the Prometheus metrics endpoint to provide secure data transmission.

+

Define the HTTPS port:

+
metricsProvider.httpsPort=4443
+

Configure the SSL key store (holds the server's private key and certificate):

+
metricsProvider.ssl.keyStore.location=/path/to/keystore.jks
+metricsProvider.ssl.keyStore.password=your_keystore_password
+metricsProvider.ssl.keyStore.type=jks  # Default is JKS
+

Configure the SSL trust store (used to verify client certificates):

+
metricsProvider.ssl.trustStore.location=/path/to/truststore.jks
+metricsProvider.ssl.trustStore.password=your_truststore_password
+metricsProvider.ssl.trustStore.type=jks  # Default is JKS
+

HTTP and HTTPS can be enabled simultaneously by defining both ports:

metricsProvider.httpPort=7000
+metricsProvider.httpsPort=4443
+

Prometheus

+

Prometheus is the easiest way to ingest and record ZooKeeper metrics.

+

Install Prometheus from the official download page.

+

Configure the scraper to target your ZooKeeper cluster endpoints:

+
cat > /tmp/test-zk.yaml <<EOF
+global:
+  scrape_interval: 10s
+scrape_configs:
+  - job_name: test-zk
+    static_configs:
+    - targets: ['192.168.10.32:7000','192.168.10.33:7000','192.168.10.34:7000']
+EOF
+

Start Prometheus:

+
nohup /tmp/prometheus \
+    --config.file /tmp/test-zk.yaml \
+    --web.listen-address ":9090" \
+    --storage.tsdb.path "/tmp/test-zk.data" >> /tmp/test-zk.log 2>&1 &
+

Prometheus will now scrape ZooKeeper metrics every 10 seconds.

+

Alerting with Prometheus

+

Read the Prometheus alerting documentation +for alerting principles, and use Prometheus Alertmanager +to receive alert notifications via email or webhook.

+

The following is a reference alerting rules file for common ZooKeeper metrics. Adjust +thresholds to match your environment.

+

Validate the rules file with:

+
./promtool check rules rules/zk.yml
+

rules/zk.yml:

+
groups:
+  - name: zk-alert-example
+    rules:
+      - alert: ZooKeeper server is down
+        expr: up == 0
+        for: 1m
+        labels:
+          severity: critical
+        annotations:
+          summary: "Instance {{ $labels.instance }} ZooKeeper server is down"
+          description: "{{ $labels.instance }} of job {{$labels.job}} ZooKeeper server is down: [{{ $value }}]."
+
+      - alert: create too many znodes
+        expr: znode_count > 1000000
+        for: 1m
+        labels:
+          severity: warning
+        annotations:
+          summary: "Instance {{ $labels.instance }} create too many znodes"
+          description: "{{ $labels.instance }} of job {{$labels.job}} create too many znodes: [{{ $value }}]."
+
+      - alert: create too many connections
+        expr: num_alive_connections > 50 # suppose we use the default maxClientCnxns: 60
+        for: 1m
+        labels:
+          severity: warning
+        annotations:
+          summary: "Instance {{ $labels.instance }} create too many connections"
+          description: "{{ $labels.instance }} of job {{$labels.job}} create too many connections: [{{ $value }}]."
+
+      - alert: znode total occupied memory is too big
+        expr: approximate_data_size /1024 /1024 > 1 * 1024 # more than 1024 MB (1 GB)
+        for: 1m
+        labels:
+          severity: warning
+        annotations:
+          summary: "Instance {{ $labels.instance }} znode total occupied memory is too big"
+          description: "{{ $labels.instance }} of job {{$labels.job}} znode total occupied memory is too big: [{{ $value }}] MB."
+
+      - alert: set too many watch
+        expr: watch_count > 10000
+        for: 1m
+        labels:
+          severity: warning
+        annotations:
+          summary: "Instance {{ $labels.instance }} set too many watch"
+          description: "{{ $labels.instance }} of job {{$labels.job}} set too many watch: [{{ $value }}]."
+
+      - alert: a leader election happens
+        expr: increase(election_time_count[5m]) > 0
+        for: 1m
+        labels:
+          severity: warning
+        annotations:
+          summary: "Instance {{ $labels.instance }} a leader election happens"
+          description: "{{ $labels.instance }} of job {{$labels.job}} a leader election happens: [{{ $value }}]."
+
+      - alert: open too many files
+        expr: open_file_descriptor_count > 300
+        for: 1m
+        labels:
+          severity: warning
+        annotations:
+          summary: "Instance {{ $labels.instance }} open too many files"
+          description: "{{ $labels.instance }} of job {{$labels.job}} open too many files: [{{ $value }}]."
+
+      - alert: fsync time is too long
+        expr: rate(fsynctime_sum[1m]) > 100
+        for: 1m
+        labels:
+          severity: warning
+        annotations:
+          summary: "Instance {{ $labels.instance }} fsync time is too long"
+          description: "{{ $labels.instance }} of job {{$labels.job}} fsync time is too long: [{{ $value }}]."
+
+      - alert: take snapshot time is too long
+        expr: rate(snapshottime_sum[5m]) > 100
+        for: 1m
+        labels:
+          severity: warning
+        annotations:
+          summary: "Instance {{ $labels.instance }} take snapshot time is too long"
+          description: "{{ $labels.instance }} of job {{$labels.job}} take snapshot time is too long: [{{ $value }}]."
+
+      - alert: avg latency is too high
+        expr: avg_latency > 100
+        for: 1m
+        labels:
+          severity: warning
+        annotations:
+          summary: "Instance {{ $labels.instance }} avg latency is too high"
+          description: "{{ $labels.instance }} of job {{$labels.job}} avg latency is too high: [{{ $value }}]."
+
+      - alert: JvmMemoryFillingUp
+        expr: jvm_memory_bytes_used / jvm_memory_bytes_max{area="heap"} > 0.8
+        for: 5m
+        labels:
+          severity: warning
+        annotations:
+          summary: "JVM memory filling up (instance {{ $labels.instance }})"
+          description: "JVM memory is filling up (> 80%)\n labels: {{ $labels }}  value = {{ $value }}\n"
+

Grafana

+

Grafana has built-in Prometheus support. Add a Prometheus data source with the following settings:

+
Name:   test-zk
+Type:   Prometheus
+Url:    http://localhost:9090
+Access: proxy
+

Download and import the default ZooKeeper dashboard template +and customize it to your needs. If you have improvements to share, send them to dev@zookeeper.apache.org.

+

InfluxDB

+

InfluxDB is an open source time series database often used to store ZooKeeper metrics. +You can download the open source version or +create a free cloud account. In either case, +configure the Apache ZooKeeper Telegraf plugin +to collect and store metrics from your ZooKeeper clusters. There is also an +Apache ZooKeeper InfluxDB template +that includes Telegraf configuration and a pre-built dashboard to get you started quickly.

+

JMX

+

See the JMX guide for details.

+

Four Letter Words

+

See the Four Letter Words section in the Administrator's Guide.

+

Audit Logs

+

Apache ZooKeeper supports audit logging from version 3.6.0. By default audit logs are disabled. +To enable them, set audit.enable=true in conf/zoo.cfg. Audit logs are not written on every +ZooKeeper server — they are written only on the servers to which a client is connected, as +illustrated below.

+

Audit Logs

+

The audit log captures detailed information for audited operations, written as key=value pairs:

+
KeyValue
sessionClient session ID.
userComma-separated list of users associated with the client session. See Who is taken as user in audit logs?
ipClient IP address.
operationThe audited operation. Possible values: serverStart, serverStop, create, delete, setData, setAcl, multiOperation, reconfig, ephemeralZNodeDeleteOnSessionClose.
znodePath of the znode.
znode typeType of the znode (only for create operations).
aclString representation of the znode ACL, e.g. cdrwa (create, delete, read, write, admin). Only logged for setAcl.
resultOutcome of the operation: success, failure, or invoked. The invoked result is used for serverStop because the stop is logged before the server has confirmed it actually stopped.
+

Sample audit logs for all operations, where the client connected from 192.168.1.2, client +principal is zkcli@HADOOP.COM, and server principal is zookeeper/192.168.1.3@HADOOP.COM:

+
user=zookeeper/192.168.1.3 operation=serverStart   result=success
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=create    znode=/a    znode_type=persistent  result=success
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=create    znode=/a    znode_type=persistent  result=failure
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=setData   znode=/a    result=failure
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=setData   znode=/a    result=success
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=setAcl    znode=/a    acl=world:anyone:cdrwa  result=failure
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=setAcl    znode=/a    acl=world:anyone:cdrwa  result=success
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=create    znode=/b    znode_type=persistent  result=success
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=setData   znode=/b    result=success
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=delete    znode=/b    result=success
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=multiOperation    result=failure
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=delete    znode=/a    result=failure
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=delete    znode=/a    result=success
+session=0x19344730001   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=create   znode=/ephemral znode_type=ephemral result=success
+session=0x19344730001   user=zookeeper/192.168.1.3   operation=ephemeralZNodeDeletionOnSessionCloseOrExpire  znode=/ephemral result=success
+session=0x19344730000   user=192.168.1.2,zkcli@HADOOP.COM  ip=192.168.1.2    operation=reconfig  znode=/zookeeper/config result=success
+user=zookeeper/192.168.1.3 operation=serverStop    result=invoked
+

Audit Log Configuration

+

Audit logging is performed using Logback. The following is the default logback configuration +block in conf/logback.xml (the entire block is commented out by default — uncomment it to +activate audit logging):

+
<!--
+  zk audit logging
+-->
+<!--property name="zookeeper.auditlog.file" value="zookeeper_audit.log" />
+<property name="zookeeper.auditlog.threshold" value="INFO" />
+<property name="audit.logger" value="INFO, RFAAUDIT" />
+
+<appender name="RFAAUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender">
+  <File>${zookeeper.log.dir}/${zookeeper.auditlog.file}</File>
+  <encoder>
+    <pattern>%d{ISO8601} %p %c{2}: %m%n</pattern>
+  </encoder>
+  <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+    <level>${zookeeper.auditlog.threshold}</level>
+  </filter>
+  <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+    <maxIndex>10</maxIndex>
+    <FileNamePattern>${zookeeper.log.dir}/${zookeeper.auditlog.file}.%i</FileNamePattern>
+  </rollingPolicy>
+  <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+    <MaxFileSize>10MB</MaxFileSize>
+  </triggeringPolicy>
+</appender>
+
+<logger name="org.apache.zookeeper.audit.Slf4jAuditLogger" additivity="false" level="${audit.logger}">
+  <appender-ref ref="RFAAUDIT" />
+</logger-->
+

Modify this configuration to customize the audit log filename, number of backup files, +maximum file size, or to use a custom audit logger.

+

Who is Taken as User in Audit Logs?

+

There are four built-in authentication providers:

+
    +
  • IPAuthenticationProvider — the authenticated IP address is used as the user.
  • +
  • SASLAuthenticationProvider — the client principal is used as the user.
  • +
  • X509AuthenticationProvider — the client certificate is used as the user.
  • +
  • DigestAuthenticationProvider — the authenticated username is used as the user.
  • +
+

Custom authentication providers can override org.apache.zookeeper.server.auth.AuthenticationProvider.getUserName(String id) +to provide a user name. If a custom provider does not override this method, the value stored in +org.apache.zookeeper.data.Id.id is used as the user. Generally only the user name is stored in +this field, but it is up to the custom provider what they store there.

+

Not all ZooKeeper operations are initiated by clients — some are performed by the server itself. +For example, when a client session closes, any ephemeral znodes it owned are deleted by the server +directly. These are called system operations. For system operations, the user associated with the +ZooKeeper server principal is logged as the user. For example, if the server principal is +zookeeper/hadoop.hadoop.com@HADOOP.COM, it becomes the system user:

+
user=zookeeper/hadoop.hadoop.com@HADOOP.COM operation=serverStart result=success
+

If there is no user associated with the ZooKeeper server, the OS user who started the server +process is used. For example, if the server was started by root:

+
user=root operation=serverStart result=success
+

A single client can attach multiple authentication schemes to a session. In that case all +authenticated identities are taken as the user and presented as a comma-separated list. For +example, if a client is authenticated with principal zkcli@HADOOP.COM and IP 127.0.0.1, +the create operation audit log will be:

+
session=0x10c0bcb0000 user=zkcli@HADOOP.COM,127.0.0.1 ip=127.0.0.1 operation=create znode=/a result=success
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/observers-guide.data b/content/docs/admin-ops/observers-guide.data new file mode 100644 index 00000000000..d5bff89f607 --- /dev/null +++ b/content/docs/admin-ops/observers-guide.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/observers-guide.mdx","url","/docs/admin-ops/observers-guide","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,202,208,214,220,226,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":199,"_30":200},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,193],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":188,"_19":25,"_13":189,"_27":190,"_21":-7,"_7":191,"_30":192},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":188},{"_11":194,"_19":25,"_13":195,"_27":196,"_21":-7,"_7":197,"_30":198},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":194},"admin-ops/administrators-guide",{"_115":201},"admin-ops/administrators-guide/meta.json",{"_11":203,"_19":25,"_13":204,"_27":205,"_21":-7,"_7":206,"_30":207},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":203},{"_11":209,"_19":25,"_13":210,"_27":211,"_21":-7,"_7":212,"_30":213},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":209},{"_11":215,"_19":25,"_13":216,"_27":217,"_21":-7,"_7":218,"_30":219},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":215},{"_11":221,"_19":25,"_13":222,"_27":223,"_21":-7,"_7":224,"_30":225},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":221},{"_11":6,"_19":25,"_13":227,"_27":228,"_21":-7,"_7":8,"_30":229},"Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.",{"_32":6},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/observers-guide/index.html b/content/docs/admin-ops/observers-guide/index.html new file mode 100644 index 00000000000..5b24ba07e84 --- /dev/null +++ b/content/docs/admin-ops/observers-guide/index.html @@ -0,0 +1,117 @@ +Observers | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Observers

How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.

Although ZooKeeper performs very well by having clients connect directly +to voting members of the ensemble, this architecture makes it hard to +scale out to huge numbers of clients. The problem is that as we add more +voting members, write performance drops. This is because a write operation +requires the agreement of at least half the nodes in an ensemble, so the +cost of a vote grows significantly as more voters are added.

+

We have introduced a new type of ZooKeeper node called an Observer which +helps address this problem and further improves ZooKeeper's scalability. Observers +are non-voting members of an ensemble which only hear the results of votes, not the +agreement protocol that leads up to them. Other than this simple distinction, +Observers function exactly the same as Followers — clients may connect to +them and send read and write requests to them. Observers forward these +requests to the Leader like Followers do, but they then simply wait to +hear the result of the vote. Because of this, we can increase the number +of Observers as much as we like without harming vote performance.

+

Observers have other advantages. Because they do not vote, they are not a +critical part of the ZooKeeper ensemble — they can fail or be +disconnected from the cluster without harming the availability of the +ZooKeeper service. The benefit to the user is that Observers may connect +over less reliable network links than Followers. In fact, Observers may be +used to talk to a ZooKeeper server from another data center. Clients of +an Observer will see fast reads, as all reads are served locally, and +writes result in minimal network traffic since the number of messages +required without the vote protocol is smaller.

+

How to Use Observers

+

Setting up a ZooKeeper ensemble that uses Observers requires just two +changes to your config files.

+

First, in the config file of every node that is to be an Observer, add:

+
peerType=observer
+

This tells ZooKeeper that the server is to be an Observer.

+

Second, in every server config file, append :observer to the server +definition line of each Observer. For example:

+
server.1=localhost:2181:3181:observer
+

This tells every other server that server.1 is an Observer and that they +should not expect it to vote. This is all the configuration needed to add +an Observer to your ZooKeeper cluster. You can then connect to it as you +would an ordinary Follower:

+
$ bin/zkCli.sh -server localhost:2181
+

where localhost:2181 is the hostname and port of the Observer as +specified in every config file. You should see a command line prompt +through which you can issue commands like ls to query the ZooKeeper service.

+

How to Use Observer Masters

+

Observers function simply as non-voting members of the ensemble, sharing +the Learner interface with Followers and holding only a slightly different +internal pipeline. Both maintain connections along the quorum port with the +Leader by which they learn of all new proposals on the ensemble.

+

By default, Observers connect to the Leader along its quorum port to learn of +new proposals. There are benefits to allowing Observers to connect to +Followers instead as a means of plugging into the commit stream. This shifts +the burden of supporting Observers off the Leader, allowing it to focus on +coordinating the commit of writes. The result is better performance when the +Leader is under high load — particularly high network load such as after a +leader election when many Learners need to sync. It also reduces the total +number of network connections maintained on the Leader when there are many +Observers. Activating this feature allows the overall number of Observers to +scale into the hundreds, and improves Observer availability since a large +number of Observers finish syncing and start serving client traffic faster.

+

This feature is activated by adding the following entry to the server config +file. It instructs Observers to connect to peers (Leaders and Followers) on +the specified port, and instructs Followers to create an ObserverMaster thread +to listen and serve on that port:

+
observerMasterPort=2191
+

Example Use Cases

+

Wherever you wish to scale the number of clients of your ZooKeeper ensemble, +or where you wish to insulate the critical part of an ensemble from the load +of dealing with client requests, Observers are a good architectural choice. +Two example use cases are:

+
    +
  • Datacenter bridge: Forming a ZooKeeper ensemble between two datacenters is +problematic because high variance in latency between datacenters can lead to +false-positive failure detection and partitioning. However, if the ensemble runs +entirely in one datacenter and the second datacenter runs only Observers, +partitions are not problematic — the ensemble remains connected. Clients of the +Observers may still see and issue proposals.
  • +
  • Message bus integration: Some use cases call for ZooKeeper as a component of +a persistent reliable message bus. Observers provide a natural integration point: +a plug-in mechanism can attach the stream of proposals an Observer sees to a +publish-subscribe system, without loading the core ensemble.
  • +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/quorums.data b/content/docs/admin-ops/quorums.data new file mode 100644 index 00000000000..f65f448cf19 --- /dev/null +++ b/content/docs/admin-ops/quorums.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/quorums.mdx","url","/docs/admin-ops/quorums","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,202,208,214,220,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":199,"_30":200},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,193],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":188,"_19":25,"_13":189,"_27":190,"_21":-7,"_7":191,"_30":192},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":188},{"_11":194,"_19":25,"_13":195,"_27":196,"_21":-7,"_7":197,"_30":198},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":194},"admin-ops/administrators-guide",{"_115":201},"admin-ops/administrators-guide/meta.json",{"_11":203,"_19":25,"_13":204,"_27":205,"_21":-7,"_7":206,"_30":207},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":203},{"_11":209,"_19":25,"_13":210,"_27":211,"_21":-7,"_7":212,"_30":213},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":209},{"_11":215,"_19":25,"_13":216,"_27":217,"_21":-7,"_7":218,"_30":219},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":215},{"_11":6,"_19":25,"_13":221,"_27":222,"_21":-7,"_7":8,"_30":223},"Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.",{"_32":6},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/quorums/index.html b/content/docs/admin-ops/quorums/index.html new file mode 100644 index 00000000000..0dd84a20f13 --- /dev/null +++ b/content/docs/admin-ops/quorums/index.html @@ -0,0 +1,217 @@ +Quorums | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Quorums

How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.

Hierarchical Quorums

+

This document gives an example of how to use hierarchical quorums. The basic idea is +very simple. First, we split servers into groups, and add a line for each group listing +the servers that form this group. Next we have to assign a weight to each server.

+

The following example shows how to configure a system with three groups of three servers +each, and we assign a weight of 1 to each server:

+
group.1=1:2:3
+group.2=4:5:6
+group.3=7:8:9
+
+weight.1=1
+weight.2=1
+weight.3=1
+weight.4=1
+weight.5=1
+weight.6=1
+weight.7=1
+weight.8=1
+weight.9=1
+

When running the system, we are able to form a quorum once we have a majority of votes from +a majority of non-zero-weight groups. Groups that have zero weight are discarded and not +considered when forming quorums. Looking at the example, we are able to form a quorum once +we have votes from at least two servers from each of two different groups.

+

Oracle Quorum

+

Oracle Quorum increases the availability of a cluster of 2 ZooKeeper instances with a failure detector known as the Oracle. +The Oracle is designed to grant permission to the instance which is the only remaining instance +in a 2-instance configuration when the other instance is identified as faulty by the failure detector.

+

The Implementation of the Oracle

+

Every instance accesses a file which contains either 0 or 1 to indicate whether that instance is authorized by the Oracle. +This design can be changed since failure detector algorithms vary. You can override the askOracle() method in QuorumOracleMaj to adapt a preferred way of reading the Oracle's decision.

+

Deployment Contexts

+

The Oracle is designed to increase the availability of a cluster of 2 ZooKeeper instances; thus, the size of the voting member is 2. +In other words, the Oracle solves the consensus problem of a possible faulty instance in a two-instance ensemble.

+

When the size of the voting members exceeds 2, the expected way to make the Oracle work correctly is to reconfigure the cluster size when a faulty machine is identified. +For example, with a configuration of 5 instances, when a faulty machine breaks the connection with the Leader, a reconfig client request is expected to re-form the cluster as 4 instances. +Once the size of the voting member equals 2, the configuration falls into the problem domain which the Oracle is designed to address.

+

Configuring the Oracle in zoo.cfg

+

Regardless of the cluster size, oraclePath must be configured at initialization time, like other static parameters. +The following shows the correct way to specify and enable the Oracle:

+
oraclePath=/to/some/file
+

QuorumOracleMaj reads the result of a failure detector written to a text file — the oracle file. +Suppose you have the result of the failure detector written to /some/path/result.txt; the correct configuration is:

+
oraclePath=/some/path/result.txt
+

The oracle file should contain 1 to authorize the instance, or 0 to deny it. An example file can be created with:

+
echo 1 > /some/path/result.txt
+

Any equivalent file is suitable for the current implementation of QuorumOracleMaj. +The number of oracle files should equal the number of ZooKeeper instances configured to enable the Oracle. +Each ZooKeeper instance should have its own oracle file — files must not be shared, otherwise the issues described in the Safety section will arise.

+

Example zoo.cfg

+
dataDir=/data
+dataLogDir=/datalog
+tickTime=2000
+initLimit=5
+syncLimit=2
+autopurge.snapRetainCount=3
+autopurge.purgeInterval=0
+maxClientCnxns=60
+standaloneEnabled=true
+admin.enableServer=true
+oraclePath=/chassis/mastership
+server.1=0.0.0.0:2888:3888;2181
+server.2=hw1:2888:3888;2181
+

Behavior After Enabling the Oracle

+

QuorumPeerConfig will create an instance of QuorumOracleMaj instead of the default QuorumMaj when it reads an oraclePath in zoo.cfg. +QuorumOracleMaj inherits from QuorumMaj and differs from its superclass by overriding containsQuorum(). +QuorumOracleMaj executes its version of containsQuorum when the Leader loses all of its followers and fails to maintain the quorum. +In all other cases, QuorumOracleMaj behaves identically to QuorumMaj.

+

Considerations When Using the Oracle

+

We consider an asynchronous distributed system which consists of 2 ZooKeeper instances and an Oracle.

+

Liveness Issue

+

When the Oracle satisfies the following property introduced by 1:

+
+

Strong Completeness: There is a time after which every process that crashes is permanently suspected by every correct process.

+
+

Liveness of the system is ensured by the Oracle. +However, when the Oracle fails to maintain this property, loss of liveness is expected. For example:

+

Suppose we have a Leader and a Follower running in the broadcasting state. The system will lose its liveness when:

+
    +
  1. The Leader fails, but the Oracle does not detect the faulty Leader — the Oracle will not authorize the Follower to become a new Leader.
  2. +
  3. A Follower fails, but the Oracle does not detect the faulty Follower — the Oracle will authorize the Leader to move the system forward.
  4. +
+

Safety Issue

+

Loss of Progress

+

Progress can be lost when multiple failures occur in the system at different times. For example:

+

Suppose we have a Leader (Ben) and a Follower (John) in the broadcasting state:

+
    +
  • T1 zxid(0x1_1): L-Ben fails, and F-John takes over under authorization from the Oracle.
  • +
  • T2 zxid(0x2_1): F-John becomes a new Leader (L-John) and starts a new epoch.
  • +
  • T3 zxid(0x2_A): L-John fails.
  • +
  • T4 zxid(0x2_A): Ben recovers and starts leader election.
  • +
  • T5 zxid(0x3_1): Ben becomes the new Leader (L-Ben) under authorization from the Oracle.
  • +
+

In this case, the system loses its progress after L-Ben initially failed.

+

However, loss of progress can be prevented by making the Oracle capable of referring to the latest zxid. +When the Oracle can refer to the latest zxid, at T5 zxid(0x2_A), Ben will not complete leader election because the Oracle would not authorize him while John is still known to be ahead. +This trades liveness for safety.

+

Split Brain Issue

+

We consider the Oracle satisfies the following property introduced by 1:

+
+

Accuracy: There is a time after which some correct process is never suspected by any process.

+
+

The decisions the Oracle gives out must be mutually exclusive.

+

Suppose we have a Leader (Ben) and a Follower (John) in the broadcasting state:

+
    +
  • At any time, the Oracle will not authorize both Ben and John simultaneously, even if each failure detector suspects the other.
  • +
  • Equivalently: for any two Oracle files, their values must not both be 1 at the same time.
  • +
+

Split brain is expected when the Oracle fails to maintain this property during leader election, which can happen at:

+
    +
  1. System start.
  2. +
  3. A failed instance recovering from failure.
  4. +
+

Examples of Failure Detector Implementations

+

A failure detector's role is to authorize the querying ZooKeeper instance whether it has the right to move the system forward without waiting for the faulty instance.

+

Hardware-based Implementation

+

Suppose two dedicated hardware nodes, hw1 and hw2, host ZooKeeper instances zk1 and zk2 respectively, forming a cluster. +A hardware device attached to both nodes can determine whether each is powered on. +When hw1 is not powered on, zk1 is undoubtedly faulty. +The hardware device then updates the oracle file on hw2 to 1, authorizing zk2 to move the system forward.

+

Software-based Implementation

+

Suppose two dedicated hardware nodes, hw1 and hw2, host ZooKeeper instances zk1 and zk2 respectively. +Two services, o1 on hw1 and o2 on hw2, detect whether the other node is alive (for example, by pinging). +When o1 cannot ping hw2, it identifies hw2 as faulty and updates the oracle file of zk1 to 1, authorizing zk1 to move forward.

+

Using a USB Device as the Oracle

+

In macOS 10.15.7 (19H2), external storage devices are mounted under /Volumes. +A USB device containing the required oracle file can serve as the Oracle. +When the device is connected, the oracle authorizes the leader to move the system forward.

+

The following 6 steps demonstrate how this works:

+
    +
  1. +

    Insert a USB device named Oracle. The path /Volumes/Oracle will be accessible.

    +
  2. +
  3. +

    Create a file containing 1 under /Volumes/Oracle named mastership:

    +
    echo 1 > mastership
    +

    The path /Volumes/Oracle/mastership is now accessible to ZooKeeper instances.

    +
  4. +
  5. +

    Create a zoo.cfg like the following:

    +
    dataDir=/data
    +dataLogDir=/datalog
    +tickTime=2000
    +initLimit=5
    +syncLimit=2
    +autopurge.snapRetainCount=3
    +autopurge.purgeInterval=0
    +maxClientCnxns=60
    +standaloneEnabled=true
    +admin.enableServer=true
    +oraclePath=/Volumes/Oracle/mastership
    +server.1=0.0.0.0:2888:3888;2181
    +server.2=hw1:2888:3888;2181
    +
    +

    Note: Split brain will not occur here because there is only a single USB device. mastership must not be shared by multiple instances — only one ZooKeeper instance should be configured with Oracle. See the Safety Issue section for details.

    +
    +
  6. +
  7. +

    Start the cluster. It should form a quorum normally.

    +
  8. +
  9. +

    Terminate the instance that is either not attached to a USB device or whose mastership file contains 0. Two scenarios are expected:

    +
      +
    • A leader failure occurs, and the remaining instance completes leader election on its own via the Oracle.
    • +
    • The quorum is maintained via the Oracle.
    • +
    +
  10. +
  11. +

    Remove the USB device. /Volumes/Oracle/mastership becomes unavailable. According to the current implementation, whenever the Leader queries the oracle and the file is missing, the oracle throws an exception and returns false. Repeating step 5 will result in either the system being unable to recover from a leader failure, or the leader losing the quorum and service being interrupted.

    +
  12. +
+

With these steps, you can observe and practice how the Oracle works with a two-instance system.

+

Reference

+

Footnotes

+
    +
  1. +

    Tushar Deepak Chandra and Sam Toueg. 1991. Unreliable failure detectors for asynchronous systems (preliminary version). In Proceedings of the tenth annual ACM symposium on Principles of distributed computing (PODC '91). Association for Computing Machinery, New York, NY, USA, 325–340. DOI:10.1145/112600.112627 2

    +
  2. +
+
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/quota-guide.data b/content/docs/admin-ops/quota-guide.data new file mode 100644 index 00000000000..c6888163e8e --- /dev/null +++ b/content/docs/admin-ops/quota-guide.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/quota-guide.mdx","url","/docs/admin-ops/quota-guide","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,202,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":199,"_30":200},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,193],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":188,"_19":25,"_13":189,"_27":190,"_21":-7,"_7":191,"_30":192},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":188},{"_11":194,"_19":25,"_13":195,"_27":196,"_21":-7,"_7":197,"_30":198},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":194},"admin-ops/administrators-guide",{"_115":201},"admin-ops/administrators-guide/meta.json",{"_11":6,"_19":25,"_13":203,"_27":204,"_21":-7,"_7":8,"_30":205},"Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.",{"_32":6},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/quota-guide/index.html b/content/docs/admin-ops/quota-guide/index.html new file mode 100644 index 00000000000..f63de4e9309 --- /dev/null +++ b/content/docs/admin-ops/quota-guide/index.html @@ -0,0 +1,87 @@ +Quota Guide | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Quota Guide

ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.

ZooKeeper prints WARN messages if users exceed the quota assigned to them. The messages +are printed in the log of the ZooKeeper.

+

Notice: What the namespace quota means is the count quota which limits the number of children +under the path (included itself).

+
$ bin/zkCli.sh -server host:port
+

The above command gives you a command line option of using quotas.

+

Setting Quotas

+
    +
  • +

    You can use setquota to set a quota on a ZooKeeper node. It has an option of setting quota with +-n (for namespace/count) and -b (for bytes/data length).

    +
  • +
  • +

    The ZooKeeper quota is stored in ZooKeeper itself in /zookeeper/quota. To disable other people from +changing the quotas, users can set the ACL for /zookeeper/quota so that only admins are able to read and write to it.

    +
  • +
  • +

    If the quota doesn't exist in the specified path, create the quota, otherwise update the quota.

    +
  • +
  • +

    The scope of the quota users set is all the nodes under the path specified (included itself).

    +
  • +
  • +

    In order to simplify the calculation of quota in the current directory/hierarchy structure, a complete +tree path (from root to leaf node) can be set only one quota. In the situation when setting a quota in +a path which its parent or child node already has a quota, setquota will reject and tell the specified +parent or child path. Users can adjust allocations of quotas (delete/move-up/move-down the quota) +according to specific circumstances.

    +
  • +
  • +

    Combined with the Chroot, the quota will have a better isolation effectiveness between different +applications. For example:

    +
    # Chroot is:
    +192.168.0.1:2181,192.168.0.2:2181,192.168.0.3:2181/apps/app1
    +setquota -n 100000 /apps/app1
    +
  • +
  • +

    Users cannot set the quota on the path under /zookeeper/quota.

    +
  • +
  • +

    The quota supports soft and hard quotas. The soft quota just logs a warning when exceeding the quota, +but the hard quota also throws a QuotaExceededException. When setting soft and hard quota on the same +path, the hard quota has priority.

    +
  • +
+

Listing Quotas

+

You can use listquota to list a quota on a ZooKeeper node.

+

Deleting Quotas

+

You can use delquota to delete quota on a ZooKeeper node.

Edit on GitHub
\ No newline at end of file diff --git a/content/docs/admin-ops/snapshot-and-restore-guide.data b/content/docs/admin-ops/snapshot-and-restore-guide.data new file mode 100644 index 00000000000..0388b268b48 --- /dev/null +++ b/content/docs/admin-ops/snapshot-and-restore-guide.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/snapshot-and-restore-guide.mdx","url","/docs/admin-ops/snapshot-and-restore-guide","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,202,208,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":199,"_30":200},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,193],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":188,"_19":25,"_13":189,"_27":190,"_21":-7,"_7":191,"_30":192},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":188},{"_11":194,"_19":25,"_13":195,"_27":196,"_21":-7,"_7":197,"_30":198},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":194},"admin-ops/administrators-guide",{"_115":201},"admin-ops/administrators-guide/meta.json",{"_11":203,"_19":25,"_13":204,"_27":205,"_21":-7,"_7":206,"_30":207},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":203},{"_11":6,"_19":25,"_13":209,"_27":210,"_21":-7,"_7":8,"_30":211},"Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.",{"_32":6},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/snapshot-and-restore-guide/index.html b/content/docs/admin-ops/snapshot-and-restore-guide/index.html new file mode 100644 index 00000000000..aac62d28177 --- /dev/null +++ b/content/docs/admin-ops/snapshot-and-restore-guide/index.html @@ -0,0 +1,75 @@ +Snapshot and Restore Guide | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Snapshot and Restore Guide

How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.

ZooKeeper is designed to withstand machine failures. A ZooKeeper cluster can automatically recover +from temporary failures such as machine reboots, and can tolerate up to (N-1)/2 permanent failures +for a cluster of N members due to hardware failures or disk corruption. When a member permanently +fails, it loses access to the cluster. If the cluster permanently loses more than (N-1)/2 members, +it disastrously fails and loses quorum. Once quorum is lost, the cluster cannot reach consensus and +therefore cannot continue to accept updates.

+

To recover from such disastrous failures, ZooKeeper provides snapshot and restore functionalities to +restore a cluster from a snapshot.

+

Key characteristics of snapshot and restore:

+
    +
  1. They operate on the connected server via Admin Server APIs.
  2. +
  3. They are rate-limited to protect the server from being overloaded.
  4. +
  5. They require authentication and authorization on the root path with ALL permission. The supported +auth schemes are digest, x509, and IP.
  6. +
+

Snapshot

+

Recovering a cluster needs a snapshot from a ZooKeeper cluster. Users can periodically take +snapshots from a live server which has the highest zxid and stream out data to local or external +storage/file system (e.g., S3).

+
# Takes a snapshot from the connected server. Rate-limited to once every 5 minutes by default.
+curl -H 'Authorization: digest root:root_passwd' \
+  http://hostname:adminPort/commands/snapshot?streaming=true \
+  --output snapshotFileName
+

Restore

+

Restoring a cluster needs a single snapshot as input stream. Restore can be used for recovering a +cluster after quorum loss or for building a brand-new cluster with seed data.

+

All members should restore using the same snapshot. The recommended steps are:

+
Block traffic on the client port or client secure port before restore starts.

Take a snapshot of the latest database state using the snapshot admin server command, if +applicable.

For each server:

    +
  • Move the files in dataDir and dataLogDir to a different location to prevent the restored +database from being overwritten when the server restarts after restore.
  • +
  • Restore the server using the restore admin server command:
  • +
# Restores the db of the connected server from a snapshot input stream. Rate-limited to once every 5 minutes by default.
+curl -H 'Content-Type: application/octet-stream' \
+  -H 'Authorization: digest root:root_passwd' \
+  -X POST http://hostname:adminPort/commands/restore \
+  --data-binary "@snapshotFileName"
Unblock traffic on the client port or client secure port after restore completes.
Edit on GitHub

On this page

\ No newline at end of file diff --git a/content/docs/admin-ops/tools.data b/content/docs/admin-ops/tools.data new file mode 100644 index 00000000000..05fe9acbeed --- /dev/null +++ b/content/docs/admin-ops/tools.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","admin-ops/tools.mdx","url","/docs/admin-ops/tools","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,202,208,214,220,226,232,238,244,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":199,"_30":200},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,193],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":188,"_19":25,"_13":189,"_27":190,"_21":-7,"_7":191,"_30":192},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":188},{"_11":194,"_19":25,"_13":195,"_27":196,"_21":-7,"_7":197,"_30":198},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":194},"admin-ops/administrators-guide",{"_115":201},"admin-ops/administrators-guide/meta.json",{"_11":203,"_19":25,"_13":204,"_27":205,"_21":-7,"_7":206,"_30":207},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":203},{"_11":209,"_19":25,"_13":210,"_27":211,"_21":-7,"_7":212,"_30":213},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":209},{"_11":215,"_19":25,"_13":216,"_27":217,"_21":-7,"_7":218,"_30":219},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":215},{"_11":221,"_19":25,"_13":222,"_27":223,"_21":-7,"_7":224,"_30":225},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":221},{"_11":227,"_19":25,"_13":228,"_27":229,"_21":-7,"_7":230,"_30":231},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":227},{"_11":233,"_19":25,"_13":234,"_27":235,"_21":-7,"_7":236,"_30":237},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":233},{"_11":239,"_19":25,"_13":240,"_27":241,"_21":-7,"_7":242,"_30":243},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":239},{"_11":6,"_19":25,"_13":245,"_27":246,"_21":-7,"_7":8,"_30":247},"Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.",{"_32":6},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/admin-ops/tools/index.html b/content/docs/admin-ops/tools/index.html new file mode 100644 index 00000000000..26a892f301a --- /dev/null +++ b/content/docs/admin-ops/tools/index.html @@ -0,0 +1,485 @@ +Tools | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Tools

Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.

Scripts

+

zkServer.sh

+

Manage the ZooKeeper server process.

+
# start the server
+./zkServer.sh start
+
+# start the server in the foreground (useful for debugging)
+./zkServer.sh start-foreground
+
+# stop the server
+./zkServer.sh stop
+
+# restart the server
+./zkServer.sh restart
+
+# show the status, mode, and role of the server
+./zkServer.sh status
+JMX enabled by default
+Using config: /data/software/zookeeper/conf/zoo.cfg
+Mode: standalone
+
+# print the startup parameters
+./zkServer.sh print-cmd
+
+# show the ZooKeeper server version
+./zkServer.sh version
+Apache ZooKeeper, version 3.6.0-SNAPSHOT 06/11/2019 05:39 GMT
+

The status command establishes a client connection to execute diagnostic commands. +When the ZooKeeper cluster is started in TLS-only mode (by omitting clientPort from +zoo.cfg), additional SSL configuration must be provided:

+
CLIENT_JVMFLAGS="-Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty \
+  -Dzookeeper.ssl.trustStore.location=/tmp/clienttrust.jks \
+  -Dzookeeper.ssl.trustStore.password=password \
+  -Dzookeeper.ssl.keyStore.location=/tmp/client.jks \
+  -Dzookeeper.ssl.keyStore.password=password \
+  -Dzookeeper.client.secure=true" \
+  ./zkServer.sh status
+

zkCli.sh

+

See ZooKeeper CLI.

+

zkEnv.sh

+

Sets environment variables for the ZooKeeper server. Key variables:

+
    +
  • ZOO_LOG_DIR — the directory where logs are stored.
  • +
+

zkCleanup.sh

+

Clean up old snapshots and transaction logs.

+
# Usage: ./zkCleanup.sh dataLogDir [snapDir] -n count
+#   dataLogDir -- path to the transaction log directory
+#   snapDir    -- path to the snapshot directory (optional)
+#   count      -- number of recent snaps/logs to keep (must be >= 3)
+
+# Keep the latest 5 logs and snapshots
+./zkCleanup.sh -n 5
+

zkTxnLogToolkit.sh

+

Dump and recover transaction log files with broken CRC entries.

+
$ bin/zkTxnLogToolkit.sh
+usage: TxnLogToolkit [-dhrv] txn_log_file_name
+-d,--dump      Dump mode. Dump all entries of the log file. (this is the default)
+-h,--help      Print help message
+-r,--recover   Recovery mode. Re-calculate CRC for broken entries.
+-v,--verbose   Be verbose in recovery mode: print all entries, not just fixed ones.
+-y,--yes       Non-interactive mode: repair all CRC errors without asking
+

The default behavior is safe — it dumps the entries of the given transaction log file +to the screen (same as -d,--dump):

+
$ bin/zkTxnLogToolkit.sh log.100000001
+ZooKeeper Transactional Log File with dbid 0 txnlog format version 2
+4/5/18 2:15:58 PM CEST session 0x16295bafcc40000 cxid 0x0 zxid 0x100000001 createSession 30000
+CRC ERROR - 4/5/18 2:16:05 PM CEST session 0x16295bafcc40000 cxid 0x1 zxid 0x100000002 closeSession null
+4/5/18 2:16:05 PM CEST session 0x16295bafcc40000 cxid 0x1 zxid 0x100000002 closeSession null
+4/5/18 2:16:12 PM CEST session 0x26295bafcc90000 cxid 0x0 zxid 0x100000003 createSession 30000
+4/5/18 2:17:34 PM CEST session 0x26295bafcc90000 cxid 0x0 zxid 0x200000001 closeSession null
+4/5/18 2:17:34 PM CEST session 0x16295bd23720000 cxid 0x0 zxid 0x200000002 createSession 30000
+4/5/18 2:17:34 PM CEST session 0x16295bd23720000 cxid 0x2 zxid 0x200000003 create '/andor,#626262,v{s{31,s{'world,'anyone}}},F,1
+EOF reached after 6 txns.
+

In recovery mode (-r,--recover), the original file is left untouched and all transactions +are copied to a new file with a .fixed suffix. CRC values are recalculated; if the calculated +value does not match the original, the new value is used. By default the tool is interactive, +asking for confirmation on each CRC error:

+
$ bin/zkTxnLogToolkit.sh -r log.100000001
+ZooKeeper Transactional Log File with dbid 0 txnlog format version 2
+CRC ERROR - 4/5/18 2:16:05 PM CEST session 0x16295bafcc40000 cxid 0x1 zxid 0x100000002 closeSession null
+Would you like to fix it (Yes/No/Abort) ?
+
    +
  • Yes — write the recalculated CRC to the new file.
  • +
  • No — copy the original CRC value.
  • +
  • Abort — abort the operation. The .fixed file will not be deleted and may be in a half-complete state.
  • +
+
$ bin/zkTxnLogToolkit.sh -r log.100000001
+ZooKeeper Transactional Log File with dbid 0 txnlog format version 2
+CRC ERROR - 4/5/18 2:16:05 PM CEST session 0x16295bafcc40000 cxid 0x1 zxid 0x100000002 closeSession null
+Would you like to fix it (Yes/No/Abort) ? y
+EOF reached after 6 txns.
+Recovery file log.100000001.fixed has been written with 1 fixed CRC error(s)
+

Use -v,--verbose to print all records (not just broken ones). Use -y,--yes to fix all +CRC errors automatically without prompting.

+

zkSnapShotToolkit.sh

+

Dump a snapshot file to stdout, showing detailed information for each znode.

+
# show usage
+./zkSnapShotToolkit.sh
+USAGE: SnapshotFormatter [-d|-json] snapshot_file
+       -d dump the data for each znode
+       -json dump znode info in json format
+
+# show each znode's metadata without data content
+./zkSnapShotToolkit.sh /data/zkdata/version-2/snapshot.fa01000186d
+/zk-latencies_4/session_946
+  cZxid = 0x00000f0003110b
+  ctime = Wed Sep 19 21:58:22 CST 2018
+  mZxid = 0x00000f0003110b
+  mtime = Wed Sep 19 21:58:22 CST 2018
+  pZxid = 0x00000f0003110b
+  cversion = 0
+  dataVersion = 0
+  aclVersion = 0
+  ephemeralOwner = 0x00000000000000
+  dataLength = 100
+
+# -d: include data content
+./zkSnapShotToolkit.sh -d /data/zkdata/version-2/snapshot.fa01000186d
+/zk-latencies2/session_26229
+  cZxid = 0x00000900007ba0
+  ctime = Wed Aug 15 20:13:52 CST 2018
+  mZxid = 0x00000900007ba0
+  mtime = Wed Aug 15 20:13:52 CST 2018
+  pZxid = 0x00000900007ba0
+  cversion = 0
+  dataVersion = 0
+  aclVersion = 0
+  ephemeralOwner = 0x00000000000000
+  data = eHh4eHh4eHh4eHh4eA==
+
+# -json: output in JSON format
+./zkSnapShotToolkit.sh -json /data/zkdata/version-2/snapshot.fa01000186d
+[[1,0,{"progname":"SnapshotFormatter.java","progver":"0.01","timestamp":1559788148637},[{"name":"\/","asize":0,"dsize":0,"dev":0,"ino":1001},[{"name":"zookeeper","asize":0,"dsize":0,"dev":0,"ino":1002},{"name":"config","asize":0,"dsize":0,"dev":0,"ino":1003},[{"name":"quota","asize":0,"dsize":0,"dev":0,"ino":1004},[{"name":"test","asize":0,"dsize":0,"dev":0,"ino":1005},{"name":"zookeeper_limits","asize":52,"dsize":52,"dev":0,"ino":1006},{"name":"zookeeper_stats","asize":15,"dsize":15,"dev":0,"ino":1007}]]],{"name":"test","asize":0,"dsize":0,"dev":0,"ino":1008}]]
+

zkSnapshotRecursiveSummaryToolkit.sh

+

Recursively collect and display child count and data size for a selected node.

+
$ ./zkSnapshotRecursiveSummaryToolkit.sh
+USAGE:
+SnapshotRecursiveSummary  <snapshot_file>  <starting_node>  <max_depth>
+
+snapshot_file:  path to the ZooKeeper snapshot
+starting_node:  the path in the ZooKeeper tree where traversal begins
+max_depth:      depth limit for output (0 = no limit; 1 = starting node + direct children;
+                2 = one more level, etc.). Only affects display, NOT the calculation.
+
# display stats for the root node and 2 levels of descendants
+./zkSnapshotRecursiveSummaryToolkit.sh /data/zkdata/version-2/snapshot.fa01000186d / 2
+
+/
+   children: 1250511
+   data: 1952186580
+-- /zookeeper
+--   children: 1
+--   data: 0
+-- /solr
+--   children: 1773
+--   data: 8419162
+---- /solr/configs
+----   children: 1640
+----   data: 8407643
+---- /solr/overseer
+----   children: 6
+----   data: 0
+---- /solr/live_nodes
+----   children: 3
+----   data: 0
+

zkSnapshotComparer.sh

+

Compare two snapshots with configurable thresholds and filters, outputting the delta — +which znodes were added, updated, or deleted. Useful for offline consistency checks and +data trend analysis. Only permanent nodes are reported; sessions and ephemeral nodes are ignored.

+

Tuning parameters:

+
    +
  • --nodes — threshold for number of descendant nodes added/removed.
  • +
  • --bytes — threshold for bytes added/removed.
  • +
+

Locating Snapshots

+

Snapshots are stored in the ZooKeeper data directory +configured in conf/zoo.cfg.

+

Supported Snapshot Formats

+

Uncompressed snapshots and compressed formats (snappy, gz) are all supported. +Snapshots in different formats can be compared directly without manual decompression.

+

Running the Tool

+

Running the tool with no arguments prints the help page:

+
usage: java -cp <classPath> org.apache.zookeeper.server.SnapshotComparer
+ -b,--bytes <BYTETHRESHOLD>   (Required) The node data delta size threshold, in bytes, for printing the node.
+ -d,--debug                   Use debug output.
+ -i,--interactive             Enter interactive mode.
+ -l,--left <LEFT>             (Required) The left snapshot file.
+ -n,--nodes <NODETHRESHOLD>   (Required) The descendant node delta size threshold, in nodes, for printing the node.
+ -r,--right <RIGHT>           (Required) The right snapshot file.
+

Example command:

+
./bin/zkSnapshotComparer.sh -l /zookeeper-data/backup/snapshot.d.snappy -r /zookeeper-data/backup/snapshot.44 -b 2 -n 1
+

Example output:

+
...
+Deserialized snapshot in snapshot.44 in 0.002741 seconds
+Processed data tree in 0.000361 seconds
+Node count: 10
+Total size: 0
+Max depth: 4
+Count of nodes at depth 0: 1
+Count of nodes at depth 1: 2
+Count of nodes at depth 2: 4
+Count of nodes at depth 3: 3
+
+Node count: 22
+Total size: 2903
+Max depth: 5
+Count of nodes at depth 0: 1
+Count of nodes at depth 1: 2
+Count of nodes at depth 2: 4
+Count of nodes at depth 3: 7
+Count of nodes at depth 4: 8
+
+Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
+Analysis for depth 0
+Node  found in both trees. Delta: 2903 bytes, 12 descendants
+Analysis for depth 1
+Node /zk_test found in both trees. Delta: 2903 bytes, 12 descendants
+Analysis for depth 2
+Node /zk_test/gz found in both trees. Delta: 730 bytes, 3 descendants
+Node /zk_test/snappy found in both trees. Delta: 2173 bytes, 9 descendants
+Analysis for depth 3
+Node /zk_test/gz/12345 found in both trees. Delta: 9 bytes, 1 descendants
+Node /zk_test/gz/a found only in right tree. Descendant size: 721. Descendant count: 0
+Node /zk_test/snappy/anotherTest found in both trees. Delta: 1738 bytes, 2 descendants
+Node /zk_test/snappy/test_1 found only in right tree. Descendant size: 344. Descendant count: 3
+Node /zk_test/snappy/test_2 found only in right tree. Descendant size: 91. Descendant count: 2
+Analysis for depth 4
+Node /zk_test/gz/12345/abcdef found only in right tree. Descendant size: 9. Descendant count: 0
+Node /zk_test/snappy/anotherTest/abc found only in right tree. Descendant size: 1738. Descendant count: 0
+Node /zk_test/snappy/test_1/a found only in right tree. Descendant size: 93. Descendant count: 0
+Node /zk_test/snappy/test_1/b found only in right tree. Descendant size: 251. Descendant count: 0
+Node /zk_test/snappy/test_2/xyz found only in right tree. Descendant size: 33. Descendant count: 0
+Node /zk_test/snappy/test_2/y found only in right tree. Descendant size: 58. Descendant count: 0
+All layers compared.
+

Interactive Mode

+

Add -i / --interactive to enter interactive mode:

+
./bin/zkSnapshotComparer.sh -l /zookeeper-data/backup/snapshot.d.snappy -r /zookeeper-data/backup/snapshot.44 -b 2 -n 1 -i
+

Three navigation options are available:

+
    +
  • Press Enter to print the current depth layer.
  • +
  • Type a number to jump to and print all nodes at that depth.
  • +
  • Enter an absolute path (starting with /) to print the immediate subtree of that node.
  • +
+

Note: only nodes passing the bytes and nodes thresholds are shown.

+

Press Enter to move to the next depth layer:

+
Current depth is 0
+Press enter to move to print current depth layer;
+...
+Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
+Analysis for depth 0
+Node  found in both trees. Delta: 2903 bytes, 12 descendants
+

Type a number to jump forward or backward to a specific depth:

+
Current depth is 1
+...
+Type a number to jump to and print all nodes at a given depth;
+...
+3
+Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
+Analysis for depth 3
+Node /zk_test/gz/12345 found in both trees. Delta: 9 bytes, 1 descendants
+Node /zk_test/gz/a found only in right tree. Descendant size: 721. Descendant count: 0
+Filtered node /zk_test/gz/anotherOne of left size 0, right size 0
+Filtered right node /zk_test/gz/b of size 0
+Node /zk_test/snappy/anotherTest found in both trees. Delta: 1738 bytes, 2 descendants
+Node /zk_test/snappy/test_1 found only in right tree. Descendant size: 344. Descendant count: 3
+Node /zk_test/snappy/test_2 found only in right tree. Descendant size: 91. Descendant count: 2
+
+Current depth is 3
+...
+Type a number to jump to and print all nodes at a given depth;
+...
+0
+Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
+Analysis for depth 0
+Node  found in both trees. Delta: 2903 bytes, 12 descendants
+

Out-of-range depth is handled gracefully:

+
Current depth is 1
+...
+10
+Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
+Depth must be in range [0, 4]
+

Enter an absolute path to print the immediate subtree of a node:

+
Current depth is 3
+...
+Enter an ABSOLUTE path to print the immediate subtree of a node.
+/zk_test
+Printing analysis for nodes difference larger than 2 bytes or node count difference larger than 1.
+Analysis for node /zk_test
+Node /zk_test/gz found in both trees. Delta: 730 bytes, 3 descendants
+Node /zk_test/snappy found in both trees. Delta: 2173 bytes, 9 descendants
+

Invalid path and invalid input are handled:

+
Enter an ABSOLUTE path to print the immediate subtree of a node.
+/non-exist-path
+Analysis for node /non-exist-path
+Path /non-exist-path is neither found in left tree nor right tree.
+
+12223999999999999999999999999999999999999
+Input 12223999999999999999999999999999999999999 is not valid. Depth must be in range [0, 4]. Path must be an absolute path which starts with '/'.
+

The tool exits interactive mode automatically when all layers are compared, or press ^C to exit at any time.

+

Benchmark

+

YCSB

+

YCSB (Yahoo Cloud Serving Benchmark) can be used to benchmark ZooKeeper. Follow the steps below to get started.

+

Start ZooKeeper Server(s)

Start your ZooKeeper ensemble before running any benchmark.

Install Java and Maven

Ensure a JDK and Maven are installed on the machine running the benchmark.

Set Up YCSB

Clone and build the ZooKeeper binding:

git clone http://github.com/brianfrankcooper/YCSB.git
+cd YCSB
+mvn -pl site.ycsb:zookeeper-binding -am clean package -DskipTests

See the YCSB README for more details.

Configure ZooKeeper Connection Parameters

Set the following properties in your workload file or via the shell:

    +
  • zookeeper.connectString — connection string (e.g. 127.0.0.1:2181/benchmark)
  • +
  • zookeeper.sessionTimeout — session timeout in milliseconds
  • +
  • zookeeper.watchFlag — enable ZooKeeper watches (true or false, default false). This measures the effect of watch overhead on read/write performance, not watch notification latency.
  • +
./bin/ycsb run zookeeper -s -P workloads/workloadb \
+  -p zookeeper.connectString=127.0.0.1:2181/benchmark \
+  -p zookeeper.watchFlag=true

Or set properties directly on the command line (create the /benchmark namespace first using create /benchmark in the CLI):

./bin/ycsb run zookeeper -s -P workloads/workloadb \
+  -p zookeeper.connectString=127.0.0.1:2181/benchmark \
+  -p zookeeper.sessionTimeout=30000

Load Data and Run Tests

Load data:

# -p recordcount: number of znodes to insert
+./bin/ycsb load zookeeper -s -P workloads/workloadb \
+  -p zookeeper.connectString=127.0.0.1:2181/benchmark \
+  -p recordcount=10000 > outputLoad.txt

Run the workload (workloadb is recommended as the most representative read-heavy workload):

# test the effect of value size on performance
+./bin/ycsb run zookeeper -s -P workloads/workloadb \
+  -p zookeeper.connectString=127.0.0.1:2181/benchmark -p fieldlength=1000
+
+# test with multiple fields
+./bin/ycsb run zookeeper -s -P workloads/workloadb \
+  -p zookeeper.connectString=127.0.0.1:2181/benchmark -p fieldcount=20
+
+# HDR histogram output
+./bin/ycsb run zookeeper -threads 1 -P workloads/workloadb \
+  -p zookeeper.connectString=127.0.0.1:2181/benchmark \
+  -p hdrhistogram.percentiles=10,25,50,75,90,95,99,99.9 \
+  -p histogram.buckets=500
+
+# multi-client test (increase maxClientCnxns in zoo.cfg as needed)
+./bin/ycsb run zookeeper -threads 10 -P workloads/workloadb \
+  -p zookeeper.connectString=127.0.0.1:2181/benchmark
+
+# timeseries output
+./bin/ycsb run zookeeper -threads 1 -P workloads/workloadb \
+  -p zookeeper.connectString=127.0.0.1:2181/benchmark \
+  -p measurementtype=timeseries -p timeseries.granularity=50
+
+# cluster test
+./bin/ycsb run zookeeper -P workloads/workloadb \
+  -p zookeeper.connectString=192.168.10.43:2181,192.168.10.45:2181,192.168.10.27:2181/benchmark
+
+# test leader performance only
+./bin/ycsb run zookeeper -P workloads/workloadb \
+  -p zookeeper.connectString=192.168.10.43:2181/benchmark
+
+# large znodes (default jute.maxbuffer = 1 MB; set the same value on all ZK servers)
+./bin/ycsb run zookeeper -jvm-args="-Djute.maxbuffer=4194304" -s -P workloads/workloadc \
+  -p zookeeper.connectString=127.0.0.1:2181/benchmark
+
+# clean up after benchmarking: CLI: deleteall /benchmark
+

zk-smoketest

+

zk-smoketest provides a simple smoketest client +for a ZooKeeper ensemble. Useful for verifying new, updated, or existing installations.

+

Testing

+

Fault Injection Framework

+

Byteman

+

Byteman is a tool for tracing, monitoring, and testing Java +application and JDK runtime code. It injects Java code into methods without requiring +recompilation, repackaging, or redeployment — and injection can be performed at JVM startup +or while the application is running. See the Byteman tutorial +for a quick introduction.

+
# Attach Byteman to 3 ZooKeeper servers at runtime
+# (55001/55002/55003 = Byteman ports; 714/740/758 = ZK server PIDs)
+./bminstall.sh -b -Dorg.jboss.byteman.transform.all -Dorg.jboss.byteman.verbose -p 55001 714
+./bminstall.sh -b -Dorg.jboss.byteman.transform.all -Dorg.jboss.byteman.verbose -p 55002 740
+./bminstall.sh -b -Dorg.jboss.byteman.transform.all -Dorg.jboss.byteman.verbose -p 55003 758
+
+# load a fault injection script
+./bmsubmit.sh -p 55002 -l my_zk_fault_injection.btm
+# unload a fault injection script
+./bmsubmit.sh -p 55002 -u my_zk_fault_injection.btm
+

Example 1: Force a leader re-election by rolling over the leader's zxid.

+
cat zk_leader_zxid_roll_over.btm
+
+RULE trace zk_leader_zxid_roll_over
+CLASS org.apache.zookeeper.server.quorum.Leader
+METHOD propose
+IF true
+DO
+  traceln("*** Leader zxid has rolled over, forcing re-election ***");
+  $1.zxid = 4294967295L
+ENDRULE
+

Example 2: Make the leader drop ping packets to a specific follower. The leader will close +the LearnerHandler for that follower, and the follower will re-enter the quorum.

+
cat zk_leader_drop_ping_packet.btm
+
+RULE trace zk_leader_drop_ping_packet
+CLASS org.apache.zookeeper.server.quorum.LearnerHandler
+METHOD ping
+AT ENTRY
+IF $0.sid == 2
+DO
+  traceln("*** Leader drops ping packet to sid: 2 ***");
+  return;
+ENDRULE
+

Example 3: Make a follower drop ACK packets. This has limited effect during broadcast since +the leader only needs a majority of ACKs to commit a proposal.

+
cat zk_follower_drop_ack_packet.btm
+
+RULE trace zk.follower_drop_ack_packet
+CLASS org.apache.zookeeper.server.quorum.SendAckRequestProcessor
+METHOD processRequest
+AT ENTRY
+IF true
+DO
+  traceln("*** Follower drops ACK packet ***");
+  return;
+ENDRULE
+

Jepsen Test

+

Jepsen is a framework for distributed systems +verification with fault injection. It has been used to verify eventually-consistent databases, +linearizable coordination systems, and distributed task schedulers.

+

Running the Dockerized Jepsen +is the simplest way to get started.

+

Installation:

+
git clone git@github.com:jepsen-io/jepsen.git
+cd docker
+# initial setup may take a while
+./up.sh
+# verify one control node and five DB nodes are running
+docker ps
+     CONTAINER ID        IMAGE               COMMAND                 CREATED             STATUS              PORTS                     NAMES
+     8265f1d3f89c        docker_control      "/bin/sh -c /init.sh"   9 hours ago         Up 4 hours          0.0.0.0:32769->8080/tcp   jepsen-control
+     8a646102da44        docker_n5           "/run.sh"               9 hours ago         Up 3 hours          22/tcp                    jepsen-n5
+     385454d7e520        docker_n1           "/run.sh"               9 hours ago         Up 9 hours          22/tcp                    jepsen-n1
+     a62d6a9d5f8e        docker_n2           "/run.sh"               9 hours ago         Up 9 hours          22/tcp                    jepsen-n2
+     1485e89d0d9a        docker_n3           "/run.sh"               9 hours ago         Up 9 hours          22/tcp                    jepsen-n3
+     27ae01e1a0c5        docker_node         "/run.sh"               9 hours ago         Up 9 hours          22/tcp                    jepsen-node
+     53c444b00ebd        docker_n4           "/run.sh"               9 hours ago         Up 9 hours          22/tcp                    jepsen-n4
+

Running the test:

+
# enter the control container
+docker exec -it jepsen-control bash
+# run the ZooKeeper test
+cd zookeeper && lein run test --concurrency 10
+# passing output looks like:
+INFO [2019-04-01 11:25:23,719] jepsen worker 8 - jepsen.util 8	:ok	:read	2
+INFO [2019-04-01 11:25:23,722] jepsen worker 3 - jepsen.util 3	:invoke	:cas	[0 4]
+INFO [2019-04-01 11:25:23,760] jepsen worker 3 - jepsen.util 3	:fail	:cas	[0 4]
+INFO [2019-04-01 11:25:23,791] jepsen worker 1 - jepsen.util 1	:invoke	:read	nil
+INFO [2019-04-01 11:25:23,794] jepsen worker 1 - jepsen.util 1	:ok	:read	2
+INFO [2019-04-01 11:25:24,038] jepsen worker 0 - jepsen.util 0	:invoke	:write	4
+INFO [2019-04-01 11:25:24,073] jepsen worker 0 - jepsen.util 0	:ok	:write	4
+...............................................................................
+Everything looks good!('ー`)ノ
+

Read this blog post to learn more +about the Jepsen analysis of ZooKeeper.

Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/basic-tutorial.data b/content/docs/developer/basic-tutorial.data new file mode 100644 index 00000000000..1db313441c2 --- /dev/null +++ b/content/docs/developer/basic-tutorial.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/basic-tutorial.mdx","url","/docs/developer/basic-tutorial","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":6,"_19":25,"_13":130,"_27":131,"_21":-7,"_7":8,"_30":132},"Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.",{"_32":6},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/basic-tutorial/index.html b/content/docs/developer/basic-tutorial/index.html new file mode 100644 index 00000000000..aa4a26c1390 --- /dev/null +++ b/content/docs/developer/basic-tutorial/index.html @@ -0,0 +1,617 @@ +Basic tutorial | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Basic tutorial

Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.

Introduction

+

In this tutorial, we show simple implementations of barriers and +producer-consumer queues using ZooKeeper. We call the respective classes Barrier and Queue. +These examples assume that you have at least one ZooKeeper server running.

+

Both primitives use the following common excerpt of code:

+
static ZooKeeper zk = null;
+static Integer mutex;
+
+String root;
+
+SyncPrimitive(String address) {
+    if(zk == null){
+        try {
+            System.out.println("Starting ZK:");
+            zk = new ZooKeeper(address, 3000, this);
+            mutex = new Integer(-1);
+            System.out.println("Finished starting ZK: " + zk);
+        } catch (IOException e) {
+            System.out.println(e.toString());
+            zk = null;
+        }
+    }
+}
+
+synchronized public void process(WatchedEvent event) {
+    synchronized (mutex) {
+        mutex.notify();
+    }
+}
+

Both classes extend SyncPrimitive. In this way, we execute steps that are +common to all primitives in the constructor of SyncPrimitive. To keep the examples +simple, we create a ZooKeeper object the first time we instantiate either a barrier +object or a queue object, and we declare a static variable that is a reference +to this object. The subsequent instances of Barrier and Queue check whether a +ZooKeeper object exists. Alternatively, we could have the application creating a +ZooKeeper object and passing it to the constructor of Barrier and Queue.

+

We use the process() method to process notifications triggered due to watches. +In the following discussion, we present code that sets watches. A watch is internal +structure that enables ZooKeeper to notify a client of a change to a node. For example, +if a client is waiting for other clients to leave a barrier, then it can set a watch and +wait for modifications to a particular node, which can indicate that it is the end of the wait. +This point becomes clear once we go over the examples.

+

Barriers

+

A barrier is a primitive that enables a group of processes to synchronize the +beginning and the end of a computation. The general idea of this implementation +is to have a barrier node that serves the purpose of being a parent for individual +process nodes. Suppose that we call the barrier node "/b1". Each process "p" then +creates a node "/b1/p". Once enough processes have created their corresponding +nodes, joined processes can start the computation.

+

In this example, each process instantiates a Barrier object, and its constructor takes as parameters:

+
    +
  • the address of a ZooKeeper server (e.g., "zoo1.foo.com:2181")
  • +
  • the path of the barrier node on ZooKeeper (e.g., "/b1")
  • +
  • the size of the group of processes
  • +
+

The constructor of Barrier passes the address of the Zookeeper server to the +constructor of the parent class. The parent class creates a ZooKeeper instance if +one does not exist. The constructor of Barrier then creates a +barrier node on ZooKeeper, which is the parent node of all process nodes, and +we call root (Note: This is not the ZooKeeper root "/").

+
/**
+ * Barrier constructor
+ *
+ * @param address
+ * @param root
+ * @param size
+ */
+Barrier(String address, String root, int size) {
+    super(address);
+    this.root = root;
+    this.size = size;
+    // Create barrier node
+    if (zk != null) {
+        try {
+            Stat s = zk.exists(root, false);
+            if (s == null) {
+                zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE,
+                        CreateMode.PERSISTENT);
+            }
+        } catch (KeeperException e) {
+            System.out
+                    .println("Keeper exception when instantiating queue: "
+                            + e.toString());
+        } catch (InterruptedException e) {
+            System.out.println("Interrupted exception");
+        }
+    }
+
+    // My node name
+    try {
+        name = new String(InetAddress.getLocalHost().getCanonicalHostName().toString());
+    } catch (UnknownHostException e) {
+        System.out.println(e.toString());
+    }
+}
+

To enter the barrier, a process calls enter(). The process creates a node under +the root to represent it, using its host name to form the node name. It then wait +until enough processes have entered the barrier. A process does it by checking +the number of children the root node has with "getChildren()", and waiting for +notifications in the case it does not have enough. To receive a notification when +there is a change to the root node, a process has to set a watch, and does it +through the call to "getChildren()". In the code, we have that "getChildren()" +has two parameters. The first one states the node to read from, and the second is +a boolean flag that enables the process to set a watch. In the code the flag is true.

+
/**
+ * Join barrier
+ *
+ * @return
+ * @throws KeeperException
+ * @throws InterruptedException
+ */
+
+boolean enter() throws KeeperException, InterruptedException{
+    zk.create(root + "/" + name, new byte[0], Ids.OPEN_ACL_UNSAFE,
+            CreateMode.EPHEMERAL);
+    while (true) {
+        synchronized (mutex) {
+            List<String> list = zk.getChildren(root, true);
+
+            if (list.size() < size) {
+                mutex.wait();
+            } else {
+                return true;
+            }
+        }
+    }
+}
+

Note that enter() throws both KeeperException and InterruptedException, so it is +the responsibility of the application to catch and handle such exceptions.

+

Once the computation is finished, a process calls leave() to leave the barrier. +First it deletes its corresponding node, and then it gets the children of the root +node. If there is at least one child, then it waits for a notification (obs: note +that the second parameter of the call to getChildren() is true, meaning that +ZooKeeper has to set a watch on the root node). Upon reception of a notification, +it checks once more whether the root node has any children.

+
/**
+ * Wait until all reach barrier
+ *
+ * @return
+ * @throws KeeperException
+ * @throws InterruptedException
+ */
+
+boolean leave() throws KeeperException, InterruptedException {
+    zk.delete(root + "/" + name, 0);
+    while (true) {
+        synchronized (mutex) {
+            List<String> list = zk.getChildren(root, true);
+                if (list.size() > 0) {
+                    mutex.wait();
+                } else {
+                    return true;
+                }
+            }
+        }
+    }
+

Producer-Consumer Queues

+

A producer-consumer queue is a distributed data structure that groups of processes +use to generate and consume items. Producer processes create new elements and add +them to the queue. Consumer processes remove elements from the list, and process them. +In this implementation, the elements are simple integers. The queue is represented +by a root node, and to add an element to the queue, a producer process creates a new node, +a child of the root node.

+

The following excerpt of code corresponds to the constructor of the object. As +with Barrier objects, it first calls the constructor of the parent class, SyncPrimitive, +that creates a ZooKeeper object if one doesn't exist. It then verifies if the root +node of the queue exists, and creates if it doesn't.

+
/**
+ * Constructor of producer-consumer queue
+ *
+ * @param address
+ * @param name
+ */
+Queue(String address, String name) {
+    super(address);
+    this.root = name;
+    // Create ZK node name
+    if (zk != null) {
+        try {
+            Stat s = zk.exists(root, false);
+            if (s == null) {
+                zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE,
+                        CreateMode.PERSISTENT);
+            }
+        } catch (KeeperException e) {
+            System.out
+                    .println("Keeper exception when instantiating queue: "
+                            + e.toString());
+        } catch (InterruptedException e) {
+            System.out.println("Interrupted exception");
+        }
+    }
+}
+

A producer process calls "produce()" to add an element to the queue, and passes +an integer as an argument. To add an element to the queue, the method creates a +new node using "create()", and uses the SEQUENCE flag to instruct ZooKeeper to +append the value of the sequencer counter associated to the root node. In this way, +we impose a total order on the elements of the queue, thus guaranteeing that the +oldest element of the queue is the next one consumed.

+
/**
+ * Add element to the queue.
+ *
+ * @param i
+ * @return
+ */
+
+boolean produce(int i) throws KeeperException, InterruptedException{
+    ByteBuffer b = ByteBuffer.allocate(4);
+    byte[] value;
+
+    // Add child with value i
+    b.putInt(i);
+    value = b.array();
+    zk.create(root + "/element", value, Ids.OPEN_ACL_UNSAFE,
+                CreateMode.PERSISTENT_SEQUENTIAL);
+
+    return true;
+}
+

To consume an element, a consumer process obtains the children of the root node, +reads the node with smallest counter value, and returns the element. Note that +if there is a conflict, then one of the two contending processes won't be able to +delete the node and the delete operation will throw an exception.

+

A call to getChildren() returns the list of children in lexicographic order. +As lexicographic order does not necessarily follow the numerical order of the counter +values, we need to decide which element is the smallest. To decide which one has +the smallest counter value, we traverse the list, and remove the prefix "element" +from each one.

+
/**
+ * Remove first element from the queue.
+ *
+ * @return
+ * @throws KeeperException
+ * @throws InterruptedException
+ */
+int consume() throws KeeperException, InterruptedException{
+    int retvalue = -1;
+    Stat stat = null;
+
+    // Get the first element available
+    while (true) {
+        synchronized (mutex) {
+            List<String> list = zk.getChildren(root, true);
+            if (list.size() == 0) {
+                System.out.println("Going to wait");
+                mutex.wait();
+            } else {
+                Integer min = new Integer(list.get(0).substring(7));
+                for(String s : list){
+                    Integer tempValue = new Integer(s.substring(7));
+                    //System.out.println("Temporary value: " + tempValue);
+                    if(tempValue < min) min = tempValue;
+                }
+                System.out.println("Temporary value: " + root + "/element" + min);
+                byte[] b = zk.getData(root + "/element" + min,
+                            false, stat);
+                zk.delete(root + "/element" + min, 0);
+                ByteBuffer buffer = ByteBuffer.wrap(b);
+                retvalue = buffer.getInt();
+
+                return retvalue;
+                }
+            }
+        }
+    }
+}
+

Complete example

+

In the following section you can find a complete command line application to demonstrate the above mentioned +recipes. Use the following command to run it.

+
ZOOBINDIR="[path_to_distro]/bin"
+. "$ZOOBINDIR"/zkEnv.sh
+java SyncPrimitive [Test Type] [ZK server] [No of elements] [Client type]
+

Queue test

+

Start a producer to create 100 elements

+
java SyncPrimitive qTest localhost 100 p
+

Start a consumer to consume 100 elements

+
java SyncPrimitive qTest localhost 100 c
+

Barrier test

+

Start a barrier with 2 participants (start as many times as many participants you'd like to enter)

+
java SyncPrimitive bTest localhost 2
+

Source Listing

+

SyncPrimitive.Java

+
import java.io.IOException;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.nio.ByteBuffer;
+import java.util.List;
+import java.util.Random;
+
+import org.apache.zookeeper.CreateMode;
+import org.apache.zookeeper.KeeperException;
+import org.apache.zookeeper.WatchedEvent;
+import org.apache.zookeeper.Watcher;
+import org.apache.zookeeper.ZooKeeper;
+import org.apache.zookeeper.ZooDefs.Ids;
+import org.apache.zookeeper.data.Stat;
+
+public class SyncPrimitive implements Watcher {
+
+    static ZooKeeper zk = null;
+    static Integer mutex;
+    String root;
+
+    SyncPrimitive(String address) {
+        if(zk == null){
+            try {
+                System.out.println("Starting ZK:");
+                zk = new ZooKeeper(address, 3000, this);
+                mutex = new Integer(-1);
+                System.out.println("Finished starting ZK: " + zk);
+            } catch (IOException e) {
+                System.out.println(e.toString());
+                zk = null;
+            }
+        }
+        //else mutex = new Integer(-1);
+    }
+
+    synchronized public void process(WatchedEvent event) {
+        synchronized (mutex) {
+            //System.out.println("Process: " + event.getType());
+            mutex.notify();
+        }
+    }
+
+    /**
+     * Barrier
+     */
+    static public class Barrier extends SyncPrimitive {
+        int size;
+        String name;
+
+        /**
+         * Barrier constructor
+         *
+         * @param address
+         * @param root
+         * @param size
+         */
+        Barrier(String address, String root, int size) {
+            super(address);
+            this.root = root;
+            this.size = size;
+
+            // Create barrier node
+            if (zk != null) {
+                try {
+                    Stat s = zk.exists(root, false);
+                    if (s == null) {
+                        zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE,
+                                CreateMode.PERSISTENT);
+                    }
+                } catch (KeeperException e) {
+                    System.out
+                            .println("Keeper exception when instantiating queue: "
+                                    + e.toString());
+                } catch (InterruptedException e) {
+                    System.out.println("Interrupted exception");
+                }
+            }
+
+            // My node name
+            try {
+                name = new String(InetAddress.getLocalHost().getCanonicalHostName().toString());
+            } catch (UnknownHostException e) {
+                System.out.println(e.toString());
+            }
+
+        }
+
+        /**
+         * Join barrier
+         *
+         * @return
+         * @throws KeeperException
+         * @throws InterruptedException
+         */
+
+        boolean enter() throws KeeperException, InterruptedException{
+            zk.create(root + "/" + name, new byte[0], Ids.OPEN_ACL_UNSAFE,
+                    CreateMode.EPHEMERAL);
+            while (true) {
+                synchronized (mutex) {
+                    List<String> list = zk.getChildren(root, true);
+
+                    if (list.size() < size) {
+                        mutex.wait();
+                    } else {
+                        return true;
+                    }
+                }
+            }
+        }
+
+        /**
+         * Wait until all reach barrier
+         *
+         * @return
+         * @throws KeeperException
+         * @throws InterruptedException
+         */
+        boolean leave() throws KeeperException, InterruptedException{
+            zk.delete(root + "/" + name, 0);
+            while (true) {
+                synchronized (mutex) {
+                    List<String> list = zk.getChildren(root, true);
+                        if (list.size() > 0) {
+                            mutex.wait();
+                        } else {
+                            return true;
+                        }
+                    }
+                }
+            }
+        }
+
+    /**
+     * Producer-Consumer queue
+     */
+    static public class Queue extends SyncPrimitive {
+
+        /**
+         * Constructor of producer-consumer queue
+         *
+         * @param address
+         * @param name
+         */
+        Queue(String address, String name) {
+            super(address);
+            this.root = name;
+            // Create ZK node name
+            if (zk != null) {
+                try {
+                    Stat s = zk.exists(root, false);
+                    if (s == null) {
+                        zk.create(root, new byte[0], Ids.OPEN_ACL_UNSAFE,
+                                CreateMode.PERSISTENT);
+                    }
+                } catch (KeeperException e) {
+                    System.out
+                            .println("Keeper exception when instantiating queue: "
+                                    + e.toString());
+                } catch (InterruptedException e) {
+                    System.out.println("Interrupted exception");
+                }
+            }
+        }
+
+        /**
+         * Add element to the queue.
+         *
+         * @param i
+         * @return
+         */
+
+        boolean produce(int i) throws KeeperException, InterruptedException{
+            ByteBuffer b = ByteBuffer.allocate(4);
+            byte[] value;
+
+            // Add child with value i
+            b.putInt(i);
+            value = b.array();
+            zk.create(root + "/element", value, Ids.OPEN_ACL_UNSAFE,
+                        CreateMode.PERSISTENT_SEQUENTIAL);
+
+            return true;
+        }
+
+        /**
+         * Remove first element from the queue.
+         *
+         * @return
+         * @throws KeeperException
+         * @throws InterruptedException
+         */
+        int consume() throws KeeperException, InterruptedException{
+            int retvalue = -1;
+            Stat stat = null;
+
+            // Get the first element available
+            while (true) {
+                synchronized (mutex) {
+                    List<String> list = zk.getChildren(root, true);
+                    if (list.size() == 0) {
+                        System.out.println("Going to wait");
+                        mutex.wait();
+                    } else {
+                        Integer min = new Integer(list.get(0).substring(7));
+                        String minNode = list.get(0);
+                        for(String s : list){
+                            Integer tempValue = new Integer(s.substring(7));
+                            //System.out.println("Temporary value: " + tempValue);
+                            if(tempValue < min) {
+                                min = tempValue;
+                                minNode = s;
+                            }
+                        }
+                        System.out.println("Temporary value: " + root + "/" + minNode);
+                        byte[] b = zk.getData(root + "/" + minNode,
+                        false, stat);
+                        zk.delete(root + "/" + minNode, 0);
+                        ByteBuffer buffer = ByteBuffer.wrap(b);
+                        retvalue = buffer.getInt();
+
+                        return retvalue;
+                    }
+                }
+            }
+        }
+    }
+
+    public static void main(String args[]) {
+        if (args[0].equals("qTest"))
+            queueTest(args);
+        else
+            barrierTest(args);
+    }
+
+    public static void queueTest(String args[]) {
+        Queue q = new Queue(args[1], "/app1");
+
+        System.out.println("Input: " + args[1]);
+        int i;
+        Integer max = new Integer(args[2]);
+
+        if (args[3].equals("p")) {
+            System.out.println("Producer");
+            for (i = 0; i < max; i++)
+                try{
+                    q.produce(10 + i);
+                } catch (KeeperException e){
+
+                } catch (InterruptedException e){
+
+                }
+        } else {
+            System.out.println("Consumer");
+
+            for (i = 0; i < max; i++) {
+                try{
+                    int r = q.consume();
+                    System.out.println("Item: " + r);
+                } catch (KeeperException e){
+                    i--;
+                } catch (InterruptedException e){
+                }
+            }
+        }
+    }
+
+    public static void barrierTest(String args[]) {
+        Barrier b = new Barrier(args[1], "/b1", new Integer(args[2]));
+        try{
+            boolean flag = b.enter();
+            System.out.println("Entered barrier: " + args[2]);
+            if(!flag) System.out.println("Error when entering the barrier");
+        } catch (KeeperException e){
+        } catch (InterruptedException e){
+        }
+
+        // Generate random integer
+        Random rand = new Random();
+        int r = rand.nextInt(100);
+        // Loop for rand iterations
+        for (int i = 0; i < r; i++) {
+            try {
+                Thread.sleep(100);
+            } catch (InterruptedException e) {
+            }
+        }
+        try{
+            b.leave();
+        } catch (KeeperException e){
+
+        } catch (InterruptedException e){
+
+        }
+        System.out.println("Left barrier");
+    }
+}
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/java-example.data b/content/docs/developer/java-example.data new file mode 100644 index 00000000000..06ea053d8c9 --- /dev/null +++ b/content/docs/developer/java-example.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/java-example.mdx","url","/docs/developer/java-example","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":6,"_19":25,"_13":124,"_27":125,"_21":-7,"_7":8,"_30":126},"Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.",{"_32":6},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/java-example/index.html b/content/docs/developer/java-example/index.html new file mode 100644 index 00000000000..6706b19234e --- /dev/null +++ b/content/docs/developer/java-example/index.html @@ -0,0 +1,575 @@ +Java Example | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Java Example

Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.

A Simple Watch Client

+

To introduce you to the ZooKeeper Java API, we develop here a very simple +watch client. This ZooKeeper client watches a znode for changes +and responds to by starting or stopping a program.

+

Requirements

+

The client has four requirements:

+
    +
  • It takes as parameters: +
      +
    • the address of the ZooKeeper service
    • +
    • the name of a znode - the one to be watched
    • +
    • the name of a file to write the output to
    • +
    • an executable with arguments.
    • +
    +
  • +
  • It fetches the data associated with the znode and starts the executable.
  • +
  • If the znode changes, the client re-fetches the contents and restarts the executable.
  • +
  • If the znode disappears, the client kills the executable.
  • +
+

Program Design

+

Conventionally, ZooKeeper applications are broken into two units, one which maintains the connection, +and the other which monitors data. In this application, the class called the Executor +maintains the ZooKeeper connection, and the class called the DataMonitor monitors the data +in the ZooKeeper tree. Also, Executor contains the main thread and contains the execution logic. +It is responsible for what little user interaction there is, as well as interaction with the executable program you +pass in as an argument and which the sample (per the requirements) shuts down and restarts, according to the +state of the znode.

+

The Executor Class

+

The Executor object is the primary container of the sample application. It contains +both the ZooKeeper object, DataMonitor, as described above in +Program Design.

+
// from the Executor class...
+
+public static void main(String[] args) {
+    if (args.length < 4) {
+        System.err
+                .println("USAGE: Executor hostPort znode filename program [args ...]");
+        System.exit(2);
+    }
+    String hostPort = args[0];
+    String znode = args[1];
+    String filename = args[2];
+    String exec[] = new String[args.length - 3];
+    System.arraycopy(args, 3, exec, 0, exec.length);
+    try {
+        new Executor(hostPort, znode, filename, exec).run();
+    } catch (Exception e) {
+        e.printStackTrace();
+    }
+}
+
+public Executor(String hostPort, String znode, String filename,
+        String exec[]) throws KeeperException, IOException {
+    this.filename = filename;
+    this.exec = exec;
+    zk = new ZooKeeper(hostPort, 3000, this);
+    dm = new DataMonitor(zk, znode, null, this);
+}
+
+public void run() {
+    try {
+        synchronized (this) {
+            while (!dm.dead) {
+                wait();
+            }
+        }
+    } catch (InterruptedException e) {
+    }
+}
+

Recall that the Executor's job is to start and stop the executable whose name you pass in on the command line. +It does this in response to events fired by the ZooKeeper object. As you can see in the code above, the Executor passes +a reference to itself as the Watcher argument in the ZooKeeper constructor. It also passes a reference to itself +as DataMonitorListener argument to the DataMonitor constructor. Per the Executor's definition, it implements both these +interfaces:

+
public class Executor implements Watcher, Runnable, DataMonitor.DataMonitorListener {
+...
+

The Watcher interface is defined by the ZooKeeper Java API. +ZooKeeper uses it to communicate back to its container. It supports only one method, process(), +and ZooKeeper uses it to communicates generic events that the main thread would be interested in, +such as the state of the ZooKeeper connection or the ZooKeeper session. The Executor in this example simply +forwards those events down to the DataMonitor to decide what to do with them. It does this simply to illustrate +the point that, by convention, the Executor or some Executor-like object "owns" the ZooKeeper connection, but it is +free to delegate the events to other events to other objects. It also uses this as the default channel on which +to fire watch events. (More on this later.)

+
public void process(WatchedEvent event) {
+    dm.process(event);
+}
+

The DataMonitorListener +interface, on the other hand, is not part of the ZooKeeper API. It is a completely custom interface, +designed for this sample application. The DataMonitor object uses it to communicate back to its container, which +is also the Executor object. The DataMonitorListener interface looks like this:

+
public interface DataMonitorListener {
+    /**
+    * The existence status of the node has changed.
+    */
+    void exists(byte data[]);
+
+    /**
+    * The ZooKeeper session is no longer valid.
+    *
+    * @param rc
+    * the ZooKeeper reason code
+    */
+    void closing(int rc);
+}
+

This interface is defined in the DataMonitor class and implemented in the Executor class. +When Executor.exists() is invoked, the Executor decides whether to start up or shut down per the requirements. +Recall that the requires say to kill the executable when the znode ceases to exist.

+

When Executor.closing() is invoked, the Executor decides whether or not to shut itself down +in response to the ZooKeeper connection permanently disappearing.

+

As you might have guessed, DataMonitor is the object that invokes +these methods, in response to changes in ZooKeeper's state.

+

Here are Executor's implementation of +DataMonitorListener.exists() and DataMonitorListener.closing:

+
public void exists( byte[] data ) {
+    if (data == null) {
+        if (child != null) {
+            System.out.println("Killing process");
+            child.destroy();
+            try {
+                child.waitFor();
+            } catch (InterruptedException e) {
+           }
+        }
+        child = null;
+    } else {
+        if (child != null) {
+            System.out.println("Stopping child");
+            child.destroy();
+            try {
+               child.waitFor();
+            } catch (InterruptedException e) {
+            e.printStackTrace();
+            }
+        }
+        try {
+            FileOutputStream fos = new FileOutputStream(filename);
+            fos.write(data);
+            fos.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        try {
+            System.out.println("Starting child");
+            child = Runtime.getRuntime().exec(exec);
+            new StreamWriter(child.getInputStream(), System.out);
+            new StreamWriter(child.getErrorStream(), System.err);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}
+
+public void closing(int rc) {
+    synchronized (this) {
+        notifyAll();
+    }
+}
+

The DataMonitor Class

+

The DataMonitor class has the meat of the ZooKeeper logic. It is mostly +asynchronous and event driven. DataMonitor kicks things off in the constructor with:

+
public DataMonitor(ZooKeeper zk, String znode, Watcher chainedWatcher,
+        DataMonitorListener listener) {
+    this.zk = zk;
+    this.znode = znode;
+    this.chainedWatcher = chainedWatcher;
+    this.listener = listener;
+
+    // Get things started by checking if the node exists. We are going
+    // to be completely event driven
+    zk.exists(znode, true, this, null);
+}
+

The call to ZooKeeper.exists() checks for the existence of the znode, +sets a watch, and passes a reference to itself (this) +as the completion callback object. In this sense, it kicks things off, since the +real processing happens when the watch is triggered.

+

Don't confuse the completion callback with the watch callback. The ZooKeeper.exists() +completion callback, which happens to be the method StatCallback.processResult() implemented +in the DataMonitor object, is invoked when the asynchronous setting of the watch operation +(by ZooKeeper.exists()) completes on the server.

The triggering of the watch, on the other hand, sends an event to the Executor object, since +the Executor registered as the Watcher of the ZooKeeper object.

As an aside, you might note that the DataMonitor could also register itself as the Watcher +for this particular watch event. This is new to ZooKeeper 3.0.0 (the support of multiple Watchers). In this +example, however, DataMonitor does not register as the Watcher.

+

When the ZooKeeper.exists() operation completes on the server, the ZooKeeper API invokes this completion callback on +the client:

+
public void processResult(int rc, String path, Object ctx, Stat stat) {
+    boolean exists;
+    switch (rc) {
+    case Code.Ok:
+        exists = true;
+        break;
+    case Code.NoNode:
+        exists = false;
+        break;
+    case Code.SessionExpired:
+    case Code.NoAuth:
+        dead = true;
+        listener.closing(rc);
+        return;
+    default:
+        // Retry errors
+        zk.exists(znode, true, this, null);
+        return;
+    }
+
+    byte b[] = null;
+    if (exists) {
+        try {
+            b = zk.getData(znode, false, null);
+        } catch (KeeperException e) {
+            // We don't need to worry about recovering now. The watch
+            // callbacks will kick off any exception handling
+            e.printStackTrace();
+        } catch (InterruptedException e) {
+            return;
+        }
+    }
+    if ((b == null && b != prevData)
+        || (b != null && !Arrays.equals(prevData, b))) {
+        listener.exists(b);
+        prevData = b;
+    }
+}
+

The code first checks the error codes for znode existence, fatal errors, and +recoverable errors. If the file (or znode) exists, it gets the data from the znode, and +then invoke the exists() callback of Executor if the state has changed. Note, +it doesn't have to do any Exception processing for the getData call because it +has watches pending for anything that could cause an error: if the node is deleted +before it calls ZooKeeper.getData(), the watch event set by +the ZooKeeper.exists() triggers a callback; +if there is a communication error, a connection watch event fires when +the connection comes back up.

+

Finally, notice how DataMonitor processes watch events:

+
public void process(WatchedEvent event) {
+    String path = event.getPath();
+    if (event.getType() == Event.EventType.None) {
+        // We are are being told that the state of the
+        // connection has changed
+        switch (event.getState()) {
+        case SyncConnected:
+            // In this particular example we don't need to do anything
+            // here - watches are automatically re-registered with
+            // server and any watches triggered while the client was
+            // disconnected will be delivered (in order of course)
+            break;
+        case Expired:
+            // It's all over
+            dead = true;
+            listener.closing(KeeperException.Code.SessionExpired);
+            break;
+        }
+    } else {
+        if (path != null && path.equals(znode)) {
+            // Something has changed on the node, let's find out
+            zk.exists(znode, true, this, null);
+        }
+    }
+    if (chainedWatcher != null) {
+        chainedWatcher.process(event);
+    }
+}
+

If the client-side ZooKeeper libraries can re-establish the +communication channel (SyncConnected event) to ZooKeeper before +session expiration (Expired event) all of the session's watches will +automatically be re-established with the server (auto-reset of watches +is new in ZooKeeper 3.0.0). See ZooKeeper Watches +in the programmer guide for more on this. A bit lower down in this +function, when DataMonitor gets an event for a znode, it callsZooKeeper.exists() to find out what has changed.

+

Complete Source Listings

+

Executor.java

+
/**
+ * A simple example program to use DataMonitor to start and
+ * stop executables based on a znode. The program watches the
+ * specified znode and saves the data that corresponds to the
+ * znode in the filesystem. It also starts the specified program
+ * with the specified arguments when the znode exists and kills
+ * the program if the znode goes away.
+ */
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import org.apache.zookeeper.KeeperException;
+import org.apache.zookeeper.WatchedEvent;
+import org.apache.zookeeper.Watcher;
+import org.apache.zookeeper.ZooKeeper;
+
+public class Executor
+    implements Watcher, Runnable, DataMonitor.DataMonitorListener
+{
+    String znode;
+    DataMonitor dm;
+    ZooKeeper zk;
+    String filename;
+    String exec[];
+    Process child;
+
+    public Executor(String hostPort, String znode, String filename,
+            String exec[]) throws KeeperException, IOException {
+        this.filename = filename;
+        this.exec = exec;
+        zk = new ZooKeeper(hostPort, 3000, this);
+        dm = new DataMonitor(zk, znode, null, this);
+    }
+
+    /**
+     * @param args
+     */
+    public static void main(String[] args) {
+        if (args.length < 4) {
+            System.err
+                    .println("USAGE: Executor hostPort znode filename program [args ...]");
+            System.exit(2);
+        }
+        String hostPort = args[0];
+        String znode = args[1];
+        String filename = args[2];
+        String exec[] = new String[args.length - 3];
+        System.arraycopy(args, 3, exec, 0, exec.length);
+        try {
+            new Executor(hostPort, znode, filename, exec).run();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    /***************************************************************************
+     * We do process any events ourselves, we just need to forward them on.
+     *
+     * @see org.apache.zookeeper.Watcher#process(org.apache.zookeeper.proto.WatcherEvent)
+     */
+    public void process(WatchedEvent event) {
+        dm.process(event);
+    }
+
+    public void run() {
+        try {
+            synchronized (this) {
+                while (!dm.dead) {
+                    wait();
+                }
+            }
+        } catch (InterruptedException e) {
+        }
+    }
+
+    public void closing(int rc) {
+        synchronized (this) {
+            notifyAll();
+        }
+    }
+
+    static class StreamWriter extends Thread {
+        OutputStream os;
+
+        InputStream is;
+
+        StreamWriter(InputStream is, OutputStream os) {
+            this.is = is;
+            this.os = os;
+            start();
+        }
+
+        public void run() {
+            byte b[] = new byte[80];
+            int rc;
+            try {
+                while ((rc = is.read(b)) > 0) {
+                    os.write(b, 0, rc);
+                }
+            } catch (IOException e) {
+            }
+
+        }
+    }
+
+    public void exists(byte[] data) {
+        if (data == null) {
+            if (child != null) {
+                System.out.println("Killing process");
+                child.destroy();
+                try {
+                    child.waitFor();
+                } catch (InterruptedException e) {
+                }
+            }
+            child = null;
+        } else {
+            if (child != null) {
+                System.out.println("Stopping child");
+                child.destroy();
+                try {
+                    child.waitFor();
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+            }
+            try {
+                FileOutputStream fos = new FileOutputStream(filename);
+                fos.write(data);
+                fos.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+            try {
+                System.out.println("Starting child");
+                child = Runtime.getRuntime().exec(exec);
+                new StreamWriter(child.getInputStream(), System.out);
+                new StreamWriter(child.getErrorStream(), System.err);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+}
+

DataMonitor.java

+
/**
+ * A simple class that monitors the data and existence of a ZooKeeper
+ * node. It uses asynchronous ZooKeeper APIs.
+ */
+import java.util.Arrays;
+
+import org.apache.zookeeper.KeeperException;
+import org.apache.zookeeper.WatchedEvent;
+import org.apache.zookeeper.Watcher;
+import org.apache.zookeeper.ZooKeeper;
+import org.apache.zookeeper.AsyncCallback.StatCallback;
+import org.apache.zookeeper.KeeperException.Code;
+import org.apache.zookeeper.data.Stat;
+
+public class DataMonitor implements Watcher, StatCallback {
+
+    ZooKeeper zk;
+    String znode;
+    Watcher chainedWatcher;
+    boolean dead;
+    DataMonitorListener listener;
+    byte prevData[];
+
+    public DataMonitor(ZooKeeper zk, String znode, Watcher chainedWatcher,
+            DataMonitorListener listener) {
+        this.zk = zk;
+        this.znode = znode;
+        this.chainedWatcher = chainedWatcher;
+        this.listener = listener;
+        // Get things started by checking if the node exists. We are going
+        // to be completely event driven
+        zk.exists(znode, true, this, null);
+    }
+
+    /**
+     * Other classes use the DataMonitor by implementing this method
+     */
+    public interface DataMonitorListener {
+        /**
+         * The existence status of the node has changed.
+         */
+        void exists(byte data[]);
+
+        /**
+         * The ZooKeeper session is no longer valid.
+         *
+         * @param rc
+         *                the ZooKeeper reason code
+         */
+        void closing(int rc);
+    }
+
+    public void process(WatchedEvent event) {
+        String path = event.getPath();
+        if (event.getType() == Event.EventType.None) {
+            // We are are being told that the state of the
+            // connection has changed
+            switch (event.getState()) {
+            case SyncConnected:
+                // In this particular example we don't need to do anything
+                // here - watches are automatically re-registered with
+                // server and any watches triggered while the client was
+                // disconnected will be delivered (in order of course)
+                break;
+            case Expired:
+                // It's all over
+                dead = true;
+                listener.closing(KeeperException.Code.SessionExpired);
+                break;
+            }
+        } else {
+            if (path != null && path.equals(znode)) {
+                // Something has changed on the node, let's find out
+                zk.exists(znode, true, this, null);
+            }
+        }
+        if (chainedWatcher != null) {
+            chainedWatcher.process(event);
+        }
+    }
+
+    public void processResult(int rc, String path, Object ctx, Stat stat) {
+        boolean exists;
+        switch (rc) {
+        case Code.Ok:
+            exists = true;
+            break;
+        case Code.NoNode:
+            exists = false;
+            break;
+        case Code.SessionExpired:
+        case Code.NoAuth:
+            dead = true;
+            listener.closing(rc);
+            return;
+        default:
+            // Retry errors
+            zk.exists(znode, true, this, null);
+            return;
+        }
+
+        byte b[] = null;
+        if (exists) {
+            try {
+                b = zk.getData(znode, false, null);
+            } catch (KeeperException e) {
+                // We don't need to worry about recovering now. The watch
+                // callbacks will kick off any exception handling
+                e.printStackTrace();
+            } catch (InterruptedException e) {
+                return;
+            }
+        }
+        if ((b == null && b != prevData)
+                || (b != null && !Arrays.equals(prevData, b))) {
+            listener.exists(b);
+            prevData = b;
+        }
+    }
+}
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/programmers-guide.data b/content/docs/developer/programmers-guide.data new file mode 100644 index 00000000000..f9d602a39c5 --- /dev/null +++ b/content/docs/developer/programmers-guide.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/programmers-guide/index.mdx","url","/docs/developer/programmers-guide","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":56,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":6,"_19":25,"_13":50,"_27":54,"_21":-7,"_7":8,"_30":55},"This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.",{"_32":6},[57,63,69,75,81,87,93,99,105],{"_11":58,"_19":25,"_13":59,"_27":60,"_21":-7,"_7":61,"_30":62},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":58},{"_11":64,"_19":25,"_13":65,"_27":66,"_21":-7,"_7":67,"_30":68},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":64},{"_11":70,"_19":25,"_13":71,"_27":72,"_21":-7,"_7":73,"_30":74},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":70},{"_11":76,"_19":25,"_13":77,"_27":78,"_21":-7,"_7":79,"_30":80},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":76},{"_11":82,"_19":25,"_13":83,"_27":84,"_21":-7,"_7":85,"_30":86},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":82},{"_11":88,"_19":25,"_13":89,"_27":90,"_21":-7,"_7":91,"_30":92},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":88},{"_11":94,"_19":25,"_13":95,"_27":96,"_21":-7,"_7":97,"_30":98},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":94},{"_11":100,"_19":25,"_13":101,"_27":102,"_21":-7,"_7":103,"_30":104},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":100},{"_11":106,"_19":25,"_13":107,"_27":108,"_21":-7,"_7":109,"_30":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/programmers-guide/access-control-using-acls.data b/content/docs/developer/programmers-guide/access-control-using-acls.data new file mode 100644 index 00000000000..87e757f0003 --- /dev/null +++ b/content/docs/developer/programmers-guide/access-control-using-acls.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/programmers-guide/access-control-using-acls.mdx","url","/docs/developer/programmers-guide/access-control-using-acls","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,87,93,99,105],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":6,"_19":25,"_13":84,"_27":85,"_21":-7,"_7":8,"_30":86},"Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.",{"_32":6},{"_11":88,"_19":25,"_13":89,"_27":90,"_21":-7,"_7":91,"_30":92},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":88},{"_11":94,"_19":25,"_13":95,"_27":96,"_21":-7,"_7":97,"_30":98},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":94},{"_11":100,"_19":25,"_13":101,"_27":102,"_21":-7,"_7":103,"_30":104},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":100},{"_11":106,"_19":25,"_13":107,"_27":108,"_21":-7,"_7":109,"_30":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/programmers-guide/access-control-using-acls/index.html b/content/docs/developer/programmers-guide/access-control-using-acls/index.html new file mode 100644 index 00000000000..028b88513e7 --- /dev/null +++ b/content/docs/developer/programmers-guide/access-control-using-acls/index.html @@ -0,0 +1,296 @@ +Access Control using ACLs | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Access Control using ACLs

Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.

ZooKeeper uses ACLs to control access to its znodes (the +data nodes of a ZooKeeper data tree). The ACL implementation is +quite similar to UNIX file access permissions: it employs +permission bits to allow/disallow various operations against a +node and the scope to which the bits apply. Unlike standard UNIX +permissions, a ZooKeeper node is not limited by the three standard +scopes for user (owner of the file), group, and world +(other). ZooKeeper does not have a notion of an owner of a +znode. Instead, an ACL specifies sets of ids and permissions that +are associated with those ids.

+

Note also that an ACL pertains only to a specific znode. In +particular it does not apply to children. For example, if +/app is only readable by ip:172.16.16.1 and +/app/status is world readable, anyone will +be able to read /app/status; ACLs are not +recursive.

+

ZooKeeper supports pluggable authentication schemes. Ids are +specified using the form scheme:expression, +where scheme is the authentication scheme +that the id corresponds to. The set of valid expressions are defined +by the scheme. For example, ip:172.16.16.1 is +an id for a host with the address 172.16.16.1 +using the ip scheme, whereas digest:bob:password +is an id for the user with the name of bob using +the digest scheme.

+

When a client connects to ZooKeeper and authenticates +itself, ZooKeeper associates all the ids that correspond to a +client with the clients connection. These ids are checked against +the ACLs of znodes when a client tries to access a node. ACLs are +made up of pairs of (scheme:expression, +perms). The format of +the expression is specific to the scheme. For +example, the pair (ip:19.22.0.0/16, READ) +gives the READ permission to any clients with +an IP address that starts with 19.22.

+

ACL Permissions

+

ZooKeeper supports the following permissions:

+
    +
  • CREATE: you can create a child node
  • +
  • READ: you can get data from a node and list its children.
  • +
  • WRITE: you can set data for a node
  • +
  • DELETE: you can delete a child node
  • +
  • ADMIN: you can set permissions
  • +
+

The CREATE +and DELETE permissions have been broken out +of the WRITE permission for finer grained +access controls. The cases for CREATE +and DELETE are the following:

+

You want A to be able to do a set on a ZooKeeper node, but +not be able to CREATE +or DELETE children.

+

CREATE +without DELETE: clients create requests by +creating ZooKeeper nodes in a parent directory. You want all +clients to be able to add, but only request processor can +delete. (This is kind of like the APPEND permission for +files.)

+

Also, the ADMIN permission is there +since ZooKeeper doesn’t have a notion of file owner. In some +sense the ADMIN permission designates the +entity as the owner. ZooKeeper doesn’t support the LOOKUP +permission (execute permission bit on directories to allow you +to LOOKUP even though you can't list the directory). Everyone +implicitly has LOOKUP permission. This allows you to stat a +node, but nothing more. (The problem is, if you want to call +zoo_exists() on a node that doesn't exist, there is no +permission to check.)

+

ADMIN permission also has a special role in terms of ACLs: +in order to retrieve ACLs of a znode user has to have READ or ADMIN +permission, but without ADMIN permission, digest hash values will be +masked out.

+

As of versions 3.9.2 / 3.8.4 / 3.7.3 the exists() call will now verify ACLs +on nodes that exist and the client must have READ permission otherwise +'Insufficient permission' error will be raised.

+

Builtin ACL Schemes

+

ZooKeeper has the following built in schemes:

+
    +
  • world has a +single id, anyone, that represents +anyone.
  • +
  • auth is a special +scheme which ignores any provided expression and instead uses the current user, +credentials, and scheme. Any expression (whether user like with SASL +authentication or user:password like with DIGEST authentication) provided is ignored +by the ZooKeeper server when persisting the ACL. However, the expression must still be +provided in the ACL because the ACL must match the form scheme:expression:perms. +This scheme is provided as a convenience as it is a common use-case for +a user to create a znode and then restrict access to that znode to only that user. +If there is no authenticated user, setting an ACL with the auth scheme will fail.
  • +
  • digest uses +a username:password string to generate +MD5 hash which is then used as an ACL ID +identity. Authentication is done by sending +the username:password in clear text. When +used in the ACL the expression will be +the username:base64 +encoded SHA1 +password digest.
  • +
  • ip uses the +client host IP as an ACL ID identity. The ACL expression is of +the form addr/bits where the most +significant bits +of addr are matched against the most +significant bits of the client host +IP.
  • +
  • x509 uses the client +X500 Principal as an ACL ID identity. The ACL expression is the exact +X500 Principal name of a client. When using the secure port, clients +are automatically authenticated and their auth info for the x509 scheme +is set.
  • +
+

ZooKeeper C client API

+

The following constants are provided by the ZooKeeper C +library:

+
    +
  • const int ZOO_PERM_READ; //can read node’s value and list its children
  • +
  • const int ZOO_PERM_WRITE;// can set the node’s value
  • +
  • const int ZOO_PERM_CREATE; //can create children
  • +
  • const int ZOO_PERM_DELETE;// can delete children
  • +
  • const int ZOO_PERM_ADMIN; //can execute set_acl()
  • +
  • const int ZOO_PERM_ALL;// all of the above flags OR’d together
  • +
+

The following are the standard ACL IDs:

+
    +
  • struct Id ZOO_ANYONE_ID_UNSAFE; //(‘world’,’anyone’)
  • +
  • struct Id ZOO_AUTH_IDS;// (‘auth’,’’)
  • +
+

ZOO_AUTH_IDS empty identity string should be interpreted as “the identity of the creator”.

+

ZooKeeper client comes with three standard ACLs:

+
    +
  • struct ACL_vector ZOO_OPEN_ACL_UNSAFE; //(ZOO_PERM_ALL,ZOO_ANYONE_ID_UNSAFE)
  • +
  • struct ACL_vector ZOO_READ_ACL_UNSAFE;// (ZOO_PERM_READ, ZOO_ANYONE_ID_UNSAFE)
  • +
  • struct ACL_vector ZOO_CREATOR_ALL_ACL; //(ZOO_PERM_ALL,ZOO_AUTH_IDS)
  • +
+

The ZOOOPEN_ACL_UNSAFE is completely open free for all +ACL: any application can execute any operation on the node and +can create, list and delete its children. The +ZOO_READ_ACL_UNSAFE is read-only access for any +application. CREATE_ALL_ACL grants all permissions to the +creator of the node. The creator must have been authenticated by +the server (for example, using “_digest” +scheme) before it can create nodes with this ACL.

+

The following ZooKeeper operations deal with ACLs:

+
    +
  • +

    int zoo_add_auth +(zhandlet *zh,_const char__ +scheme,const char +cert, int certLen, voidcompletion_t +completion, _const void +*data);

    +

    The application uses the zoo_add_auth function to +authenticate itself to the server. The function can be called +multiple times if the application wants to authenticate using +different schemes and/or identities.

    +
  • +
  • +

    int zoo_create +(zhandlet *zh, _const char +*path, const char +*value,int +valuelen, const struct +ACLvector *acl, _int +flags,char +*realpath, int +max_realpath_len);

    +

    zoo_create(...) operation creates a new node. The acl +parameter is a list of ACLs associated with the node. The parent +node must have the CREATE permission bit set.

    +
  • +
  • +

    int zoo_get_acl +(zhandlet *zh, _const char +*path,struct ACLvector +*acl, _struct Stat *stat);

    +

    This operation returns a node’s ACL info. The node must have READ or ADMIN +permission set. Without ADMIN permission, the digest hash values will be masked out.

    +
  • +
  • +

    int zoo_set_acl +(zhandlet *zh, _const char +*path, int +version,const struct +ACL_vector *acl);

    +

    This function replaces node’s ACL list with a new one. The +node must have the ADMIN permission set.

    +
  • +
+

Here is a sample code that makes use of the above APIs to +authenticate itself using the “foo” scheme +and create an ephemeral node “/xyz” with create-only +permissions.

+

This is a very simple example which is intended to show how to interact with +ZooKeeper ACLs specifically. See +.../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example of a +C client implementation

+
#include <string.h>
+#include <errno.h>
+
+#include "zookeeper.h"
+
+static zhandle_t *zh;
+
+/**
+ * In this example this method gets the cert for your
+ *   environment -- you must provide
+ */
+char *foo_get_cert_once(char* id) { return 0; }
+
+/** Watcher function -- empty for this example, not something you should
+ * do in real code */
+void watcher(zhandle_t *zzh, int type, int state, const char *path,
+         void *watcherCtx) {}
+
+int main(int argc, char argv) {
+  char buffer[512];
+  char p[2048];
+  char *cert=0;
+  char appId[64];
+
+  strcpy(appId, "example.foo_test");
+  cert = foo_get_cert_once(appId);
+  if(cert!=0) {
+    fprintf(stderr,
+        "Certificate for appid [%s] is [%s]\n",appId,cert);
+    strncpy(p,cert, sizeof(p)-1);
+    free(cert);
+  } else {
+    fprintf(stderr, "Certificate for appid [%s] not found\n",appId);
+    strcpy(p, "dummy");
+  }
+
+  zoo_set_debug_level(ZOO_LOG_LEVEL_DEBUG);
+
+  zh = zookeeper_init("localhost:3181", watcher, 10000, 0, 0, 0);
+  if (!zh) {
+    return errno;
+  }
+  if(zoo_add_auth(zh,"foo",p,strlen(p),0,0)!=ZOK)
+    return 2;
+
+  struct ACL CREATE_ONLY_ACL[] = {{ZOO_PERM_CREATE, ZOO_AUTH_IDS}};
+  struct ACL_vector CREATE_ONLY = {1, CREATE_ONLY_ACL};
+  int rc = zoo_create(zh,"/xyz","value", 5, &CREATE_ONLY, ZOO_EPHEMERAL,
+                  buffer, sizeof(buffer)-1);
+
+  /** this operation will fail with a ZNOAUTH error */
+  int buflen= sizeof(buffer);
+  struct Stat stat;
+  rc = zoo_get(zh, "/xyz", 0, buffer, &buflen, &stat);
+  if (rc) {
+    fprintf(stderr, "Error %d for %s\n", rc, __LINE__);
+  }
+
+  zookeeper_close(zh);
+  return 0;
+}
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/programmers-guide/bindings.data b/content/docs/developer/programmers-guide/bindings.data new file mode 100644 index 00000000000..ec87a81b8c2 --- /dev/null +++ b/content/docs/developer/programmers-guide/bindings.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/programmers-guide/bindings.mdx","url","/docs/developer/programmers-guide/bindings","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,99,105],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":6,"_19":25,"_13":96,"_27":97,"_21":-7,"_7":8,"_30":98},"Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.",{"_32":6},{"_11":100,"_19":25,"_13":101,"_27":102,"_21":-7,"_7":103,"_30":104},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":100},{"_11":106,"_19":25,"_13":107,"_27":108,"_21":-7,"_7":109,"_30":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/programmers-guide/bindings/index.html b/content/docs/developer/programmers-guide/bindings/index.html new file mode 100644 index 00000000000..eb87e2eaa83 --- /dev/null +++ b/content/docs/developer/programmers-guide/bindings/index.html @@ -0,0 +1,298 @@ +Bindings | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Bindings

Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.

The ZooKeeper client libraries come in two languages: Java and C. +The following sections describe these.

+

Java Binding

+

There are two packages that make up the ZooKeeper Java binding: +org.apache.zookeeper and org.apache.zookeeper.data. The rest of the +packages that make up ZooKeeper are used internally or are part of the +server implementation. The org.apache.zookeeper.data package is made up of +generated classes that are used simply as containers.

+

The main class used by a ZooKeeper Java client is the ZooKeeper class. Its two constructors differ only +by an optional session id and password. ZooKeeper supports session +recovery across instances of a process. A Java program may save its +session id and password to stable storage, restart, and recover the +session that was used by the earlier instance of the program.

+

When a ZooKeeper object is created, two threads are created as +well: an IO thread and an event thread. All IO happens on the IO thread +(using Java NIO). All event callbacks happen on the event thread. +Session maintenance such as reconnecting to ZooKeeper servers and +maintaining heartbeat is done on the IO thread. Responses for +synchronous methods are also processed in the IO thread. All responses +to asynchronous methods and watch events are processed on the event +thread. There are a few things to notice that result from this +design:

+
    +
  • All completions for asynchronous calls and watcher callbacks +will be made in order, one at a time. The caller can do any +processing they wish, but no other callbacks will be processed +during that time.
  • +
  • Callbacks do not block the processing of the IO thread or the +processing of the synchronous calls.
  • +
  • Synchronous calls may not return in the correct order. For +example, assume a client does the following processing: issues an +asynchronous read of node /a with +watch set to true, and then in the completion +callback of the read it does a synchronous read of /a. (Maybe not good practice, but not illegal +either, and it makes for a simple example.) +Note that if there is a change to /a between the asynchronous read and the +synchronous read, the client library will receive the watch event +saying /a changed before the +response for the synchronous read, but because of the completion +callback blocking the event queue, the synchronous read will +return with the new value of /a +before the watch event is processed.
  • +
+

Finally, the rules associated with shutdown are straightforward: +once a ZooKeeper object is closed or receives a fatal event +(SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid. +On a close, the two threads shut down and any further access on zookeeper +handle is undefined behavior and should be avoided.

+

Client Configuration Parameters

+

The following list contains configuration properties for the Java client. You can set any +of these properties using Java system properties. For server properties, please check the +Server configuration section of the Admin Guide. +The ZooKeeper Wiki also has useful pages about +ZooKeeper SSL support, +and SASL authentication for ZooKeeper.

+
    +
  • +

    zookeeper.sasl.client : +Set the value to false to disable +SASL authentication. Default is true.

    +
  • +
  • +

    zookeeper.sasl.clientconfig : +Specifies the context key in the JAAS login file. Default is "Client".

    +
  • +
  • +

    zookeeper.server.principal : +Specifies the server principal to be used by the client for authentication, while connecting to the zookeeper +server, when Kerberos authentication is enabled. If this configuration is provided, then +the ZooKeeper client will NOT USE any of the following parameters to determine the server principal:

    +
    zookeeper.sasl.client.username, zookeeper.sasl.client.canonicalize.hostname, zookeeper.server.realm
    +Note: this config parameter is working only for ZooKeeper 3.5.7+, 3.6.0+
    +
  • +
  • +

    zookeeper.sasl.client.username : +Traditionally, a principal is divided into three parts: the primary, the instance, and the realm. +The format of a typical Kerberos V5 principal is primary/instance@REALM. +zookeeper.sasl.client.username specifies the primary part of the server principal. Default +is "zookeeper". Instance part is derived from the server IP. Finally server's principal is +username/IP@realm, where username is the value of zookeeper.sasl.client.username, IP is +the server IP, and realm is the value of zookeeper.server.realm.

    +
  • +
  • +

    zookeeper.sasl.client.canonicalize.hostname : +Expecting the zookeeper.server.principal parameter is not provided, the ZooKeeper client will try to +determine the 'instance' (host) part of the ZooKeeper server principal. First it takes the hostname provided +as the ZooKeeper server connection string. Then it tries to 'canonicalize' the address by getting +the fully qualified domain name belonging to the address. You can disable this 'canonicalization' +by setting: zookeeper.sasl.client.canonicalize.hostname=false

    +
  • +
  • +

    zookeeper.sasl.client.allowReverseDnsLookup : +New in 3.9.5: +Controls whether reverse DNS lookup is enabled when constructing the server principal for the SASL client. +Default: false

    +
  • +
  • +

    zookeeper.server.realm : +Realm part of the server principal. By default it is the client principal realm.

    +
  • +
  • +

    zookeeper.disableAutoWatchReset : +This switch controls whether automatic watch resetting is enabled. Clients automatically +reset watches during session reconnect by default, this option allows the client to turn off +this behavior by setting zookeeper.disableAutoWatchReset to true.

    +
  • +
  • +

    zookeeper.client.secure : +New in 3.5.5: +If you want to connect to the server secure client port, you need to set this property to +true +on the client. This will connect to server using SSL with specified credentials. Note that +it requires the Netty client.

    +
  • +
  • +

    zookeeper.clientCnxnSocket : +Specifies which ClientCnxnSocket to be used. Possible values are +org.apache.zookeeper.ClientCnxnSocketNIO +and +org.apache.zookeeper.ClientCnxnSocketNetty +. Default is +org.apache.zookeeper.ClientCnxnSocketNIO +. If you want to connect to server's secure client port, you need to set this property to +org.apache.zookeeper.ClientCnxnSocketNetty +on client.

    +
  • +
  • +

    zookeeper.ssl.keyStore.location and zookeeper.ssl.keyStore.password : +New in 3.5.5: +Specifies the file path to a JKS containing the local credentials to be used for SSL connections, +and the password to unlock the file.

    +
  • +
  • +

    zookeeper.ssl.keyStore.passwordPath : +New in 3.8.0: +Specifies the file path which contains the keystore password

    +
  • +
  • +

    zookeeper.ssl.trustStore.location and zookeeper.ssl.trustStore.password : +New in 3.5.5: +Specifies the file path to a JKS containing the remote credentials to be used for SSL connections, +and the password to unlock the file.

    +
  • +
  • +

    zookeeper.ssl.trustStore.passwordPath : +New in 3.8.0: +Specifies the file path which contains the truststore password

    +
  • +
  • +

    zookeeper.ssl.keyStore.type and zookeeper.ssl.trustStore.type: +New in 3.5.5: +Specifies the file format of keys/trust store files used to establish TLS connection to the ZooKeeper server. +Values: JKS, PEM, PKCS12 or null (detect by filename). Default: null. +New in 3.6.3, 3.7.0: +The format BCFKS was added.

    +
  • +
  • +

    jute.maxbuffer : +In the client side, it specifies the maximum size of the incoming data from the server. The default is 0xfffff(1048575) bytes, +or just under 1M. This is really a sanity check. The ZooKeeper server is designed to store and send +data on the order of kilobytes. If incoming data length is more than this value, an IOException +is raised. This value of client side should keep same with the server side(Setting System.setProperty("jute.maxbuffer", "xxxx") in the client side will work), +otherwise problems will arise.

    +
  • +
  • +

    zookeeper.kinit : +Specifies path to kinit binary. Default is "/usr/bin/kinit".

    +
  • +
  • +

    zookeeper.shuffleDnsResponse : +New in 3.10.0: +Specifies whether ZooKeeper client should randomly pick an IP address from the DNS lookup query result when resolving +server addresses or not. This is a feature flag in order to keep the old behavior of the default DNS resolver in +StaticHostProvider, because we disabled it by default. The reason behind that is shuffling the response of DNS queries +shadows JVM network property java.net.preferIPv6Addresses (default: false). This property controls whether JVM's built-in +resolver should prioritize v4 (false value) or v6 (true value) addresses when putting together the list of IP addresses +in the result. In other words the above Java system property was completely ineffective in the case of ZooKeeper server host +resolution protocol and this must have been fixed. In a dual stack environment one might want to prefer one stack over +the other which, in case of Java processes, should be controlled by JVM network properties and ZooKeeper must honor +these settings. Since the old behavior has been with us since day zero, we introduced this feature flag in case you +need it. Such case could be when you have a buggy DNS server which responds IP addresses always in the same order and +you want to randomize that. +Default: false

    +
  • +
  • +

    zookeeper.hostProvider.dnsSrvRefreshIntervalSeconds : +New in 3.10.0: +Specifies the refresh interval in seconds for DNS SRV record lookups when using DnsSrvHostProvider. +A value of 0 disables periodic refresh. +Default: 60 seconds

    +
  • +
+

C Binding

+

The C binding has a single-threaded and multi-threaded library. +The multi-threaded library is easiest to use and is most similar to the +Java API. This library will create an IO thread and an event dispatch +thread for handling connection maintenance and callbacks. The +single-threaded library allows ZooKeeper to be used in event driven +applications by exposing the event loop used in the multi-threaded +library.

+

The package includes two shared libraries: zookeeperst and +zookeeper_mt. The former only provides the asynchronous APIs and +callbacks for integrating into the application's event loop. The only +reason this library exists is to support the platforms were a +_pthread library is not available or is unstable +(i.e. FreeBSD 4.x). In all other cases, application developers should +link with zookeeper_mt, as it includes support for both Sync and Async +API.

+

Installation

+

If you're building the client from a check-out from the Apache +repository, follow the steps outlined below. If you're building from a +project source package downloaded from apache, skip to step 3.

+
    +
  1. Run mvn compile in zookeeper-jute directory (.../trunk/zookeeper-jute). +This will create a directory named "generated" under +.../trunk/zookeeper-client/zookeeper-client-c.
  2. +
  3. Change directory to the*.../trunk/zookeeper-client/zookeeper-client-c* +and run autoreconf -if to bootstrap autoconf, automake and libtool. Make sure you have autoconf version 2.59 or greater installed. +Skip to step4.
  4. +
  5. If you are building from a project source package, +unzip/untar the source tarball and cd to the* +zookeeper-x.x.x/zookeeper-client/zookeeper-client-c* directory.
  6. +
  7. Run ./configure <your-options> to +generate the makefile. Here are some of options the configure utility supports that can be +useful in this step:
  8. +
+
    +
  • --enable-debug +Enables optimization and enables debug info compiler +options. (Disabled by default.)
  • +
  • --without-syncapi +Disables Sync API support; zookeeper_mt library won't be +built. (Enabled by default.)
  • +
  • --disable-static +Do not build static libraries. (Enabled by +default.)
  • +
  • --disable-shared +Do not build shared libraries. (Enabled by +default.) +

    See INSTALL for general information about running configure. 1. Run +make or make install to build the libraries and install them. 1. To +generate doxygen documentation for the ZooKeeper API, run make doxygen-doc. All documentation will be placed in a new subfolder named +docs. By default, this command only generates HTML. For information on other +document formats, run ./configure --help

    +
  • +
+

Building Your Own C Client

+

In order to be able to use the ZooKeeper C API in your application +you have to remember to

+
    +
  1. Include ZooKeeper header: #include <zookeeper/zookeeper.h>
  2. +
  3. If you are building a multithreaded client, compile with +-DTHREADED compiler flag to enable the multi-threaded version of +the library, and then link against the +zookeeper_mt library. If you are building a +single-threaded client, do not compile with -DTHREADED, and be +sure to link against the_zookeeper_st_library.
  4. +
+

See .../trunk/zookeeper-client/zookeeper-client-c/src/cli.c for an example +of a C client implementation

Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.data b/content/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.data new file mode 100644 index 00000000000..f9b767d2ab2 --- /dev/null +++ b/content/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","url","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,105],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":6,"_19":25,"_13":102,"_27":103,"_21":-7,"_7":8,"_30":104},"Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.",{"_32":6},{"_11":106,"_19":25,"_13":107,"_27":108,"_21":-7,"_7":109,"_30":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations/index.html b/content/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations/index.html new file mode 100644 index 00000000000..567c79ad8e5 --- /dev/null +++ b/content/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations/index.html @@ -0,0 +1,116 @@ +Building Blocks: A Guide to ZooKeeper Operations | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Building Blocks: A Guide to ZooKeeper Operations

A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.

This section surveys all the operations a developer can perform +against a ZooKeeper server. It is lower level information than the earlier +concepts chapters in this manual, but higher level than the ZooKeeper API +Reference.

+

Handling Errors

+

Both the Java and C client bindings may report errors. The Java client binding does so by throwing KeeperException, calling code() on the exception will return the specific error code. The C client binding returns an error code as defined in the enum ZOO_ERRORS. API callbacks indicate result code for both language bindings. See the API documentation (javadoc for Java, doxygen for C) for full details on the possible errors and their meaning.

+

Connecting to ZooKeeper

+

Before we begin, you will have to set up a running Zookeeper server so that we can start developing the client. For C client bindings, we will be using the multithreaded library(zookeepermt) with a simple example written in C. To establish a connection with Zookeeper server, we make use of C API - _zookeeper_init with the following signature:

+

int zookeeper_init(const char *host, watcher_fn fn, int recv_timeout, const clientid_t *clientid, void *context, int flags);

+
    +
  • *host : +Connection string to zookeeper server in the format of host:port. If there are multiple servers, use comma as separator after specifying the host:port pairs. Eg: "127.0.0.1:2181,127.0.0.1:3001,127.0.0.1:3002"
  • +
  • fn : +Watcher function to process events when a notification is triggered.
  • +
  • recv_timeout : +Session expiration time in milliseconds.
  • +
  • *clientid : +We can specify 0 for a new session. If a session has already establish previously, we could provide that client ID and it would reconnect to that previous session.
  • +
  • *context : +Context object that can be associated with the zkhandle_t handler. If it is not used, we can set it to 0.
  • +
  • flags : +In an initiation, we can leave it for 0.
  • +
+

We will demonstrate client that outputs "Connected to Zookeeper" after successful connection or an error message otherwise. Let's call the following code zkClient.cc:

+
#include <stdio.h>
+#include <zookeeper/zookeeper.h>
+#include <errno.h>
+using namespace std;
+
+// Keeping track of the connection state
+static int connected = 0;
+static int expired   = 0;
+
+// *zkHandler handles the connection with Zookeeper
+static zhandle_t *zkHandler;
+
+// watcher function would process events
+void watcher(zhandle_t *zkH, int type, int state, const char *path, void *watcherCtx)
+{
+    if (type == ZOO_SESSION_EVENT) {
+
+        // state refers to states of zookeeper connection.
+        // To keep it simple, we would demonstrate these 3: ZOO_EXPIRED_SESSION_STATE, ZOO_CONNECTED_STATE, ZOO_NOTCONNECTED_STATE
+        // If you are using ACL, you should be aware of an authentication failure state - ZOO_AUTH_FAILED_STATE
+        if (state == ZOO_CONNECTED_STATE) {
+            connected = 1;
+        } else if (state == ZOO_NOTCONNECTED_STATE ) {
+            connected = 0;
+        } else if (state == ZOO_EXPIRED_SESSION_STATE) {
+            expired = 1;
+            connected = 0;
+            zookeeper_close(zkH);
+        }
+    }
+}
+
+int main(){
+    zoo_set_debug_level(ZOO_LOG_LEVEL_DEBUG);
+
+    // zookeeper_init returns the handler upon a successful connection, null otherwise
+    zkHandler = zookeeper_init("localhost:2181", watcher, 10000, 0, 0, 0);
+
+    if (!zkHandler) {
+        return errno;
+    }else{
+        printf("Connection established with Zookeeper. \n");
+    }
+
+    // Close Zookeeper connection
+    zookeeper_close(zkHandler);
+
+    return 0;
+}
+

Compile the code with the multithreaded library mentioned before.

+

> g++ -Iinclude/ zkClient.cpp -lzookeeper_mt -o Client

+

Run the client.

+

> ./Client

+

From the output, you should see "Connected to Zookeeper" along with Zookeeper's DEBUG messages if the connection is successful.

Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/programmers-guide/consistency-guarantees.data b/content/docs/developer/programmers-guide/consistency-guarantees.data new file mode 100644 index 00000000000..94540ae73fb --- /dev/null +++ b/content/docs/developer/programmers-guide/consistency-guarantees.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/programmers-guide/consistency-guarantees.mdx","url","/docs/developer/programmers-guide/consistency-guarantees","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,81,87,93,99,105],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":6,"_19":25,"_13":78,"_27":79,"_21":-7,"_7":8,"_30":80},"Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.",{"_32":6},{"_11":82,"_19":25,"_13":83,"_27":84,"_21":-7,"_7":85,"_30":86},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":82},{"_11":88,"_19":25,"_13":89,"_27":90,"_21":-7,"_7":91,"_30":92},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":88},{"_11":94,"_19":25,"_13":95,"_27":96,"_21":-7,"_7":97,"_30":98},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":94},{"_11":100,"_19":25,"_13":101,"_27":102,"_21":-7,"_7":103,"_30":104},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":100},{"_11":106,"_19":25,"_13":107,"_27":108,"_21":-7,"_7":109,"_30":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/programmers-guide/consistency-guarantees/index.html b/content/docs/developer/programmers-guide/consistency-guarantees/index.html new file mode 100644 index 00000000000..7064a791e06 --- /dev/null +++ b/content/docs/developer/programmers-guide/consistency-guarantees/index.html @@ -0,0 +1,106 @@ +Consistency Guarantees | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Consistency Guarantees

Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.

ZooKeeper is a high performance, scalable service. Both reads and +write operations are designed to be fast, though reads are faster than +writes. The reason for this is that in the case of reads, ZooKeeper can +serve older data, which in turn is due to ZooKeeper's consistency +guarantees:

+
    +
  • +

    Sequential Consistency : +Updates from a client will be applied in the order that they +were sent.

    +
  • +
  • +

    Atomicity : +Updates either succeed or fail — there are no partial +results.

    +
  • +
  • +

    Single System Image : +A client will see the same view of the service regardless of +the server that it connects to. i.e., a client will never see an +older view of the system even if the client fails over to a +different server with the same session.

    +
  • +
  • +

    Reliability : +Once an update has been applied, it will persist from that +time forward until a client overwrites the update. This guarantee +has two corollaries:

    +
      +
    1. If a client gets a successful return code, the update will +have been applied. On some failures (communication errors, +timeouts, etc) the client will not know if the update has +applied or not. We take steps to minimize the failures, but the +guarantee is only present with successful return codes. +(This is called the monotonicity condition in Paxos.)
    2. +
    3. Any updates that are seen by the client, through a read +request or successful update, will never be rolled back when +recovering from server failures.
    4. +
    +
  • +
  • +

    Timeliness : +The clients view of the system is guaranteed to be up-to-date +within a certain time bound (on the order of tens of seconds). +Either system changes will be seen by a client within this bound, or +the client will detect a service outage.

    +
  • +
+

Using these consistency guarantees it is easy to build higher level +functions such as leader election, barriers, queues, and read/write +revocable locks solely at the ZooKeeper client (no additions needed to +ZooKeeper). See Recipes and Solutions +for more details.

+

Sometimes developers mistakenly assume one other guarantee that ZooKeeper does +not in fact make. This is: Simultaneously Consistent Cross-Client Views: +ZooKeeper does not guarantee that at every instance in time, two different +clients will have identical views of ZooKeeper data. Due to factors like +network delays, one client may perform an update before another client gets +notified of the change. Consider the scenario of two clients, A and B. If +client A sets the value of a znode /a from 0 to 1, then tells client B to read +/a, client B may read the old value of 0, depending on which server it is +connected to. If it is important that Client A and Client B read the same +value, Client B should call the sync() method from the ZooKeeper API +method before it performs its read. So, ZooKeeper by itself doesn't guarantee +that changes occur synchronously across all servers, but ZooKeeper primitives +can be used to construct higher level functions that provide useful client +synchronization. (For more information, see the ZooKeeper +Recipes).

Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/programmers-guide/data-model.data b/content/docs/developer/programmers-guide/data-model.data new file mode 100644 index 00000000000..a341920c1b6 --- /dev/null +++ b/content/docs/developer/programmers-guide/data-model.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/programmers-guide/data-model.mdx","url","/docs/developer/programmers-guide/data-model","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,63,69,75,81,87,93,99,105],{"_11":6,"_19":25,"_13":60,"_27":61,"_21":-7,"_7":8,"_30":62},"Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.",{"_32":6},{"_11":64,"_19":25,"_13":65,"_27":66,"_21":-7,"_7":67,"_30":68},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":64},{"_11":70,"_19":25,"_13":71,"_27":72,"_21":-7,"_7":73,"_30":74},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":70},{"_11":76,"_19":25,"_13":77,"_27":78,"_21":-7,"_7":79,"_30":80},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":76},{"_11":82,"_19":25,"_13":83,"_27":84,"_21":-7,"_7":85,"_30":86},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":82},{"_11":88,"_19":25,"_13":89,"_27":90,"_21":-7,"_7":91,"_30":92},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":88},{"_11":94,"_19":25,"_13":95,"_27":96,"_21":-7,"_7":97,"_30":98},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":94},{"_11":100,"_19":25,"_13":101,"_27":102,"_21":-7,"_7":103,"_30":104},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":100},{"_11":106,"_19":25,"_13":107,"_27":108,"_21":-7,"_7":109,"_30":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/programmers-guide/data-model/index.html b/content/docs/developer/programmers-guide/data-model/index.html new file mode 100644 index 00000000000..c6209d22b10 --- /dev/null +++ b/content/docs/developer/programmers-guide/data-model/index.html @@ -0,0 +1,215 @@ +Data Model | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Data Model

Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.

ZooKeeper has a hierarchal namespace, much like a distributed file +system. The only difference is that each node in the namespace can have +data associated with it as well as children. It is like having a file +system that allows a file to also be a directory. Paths to nodes are +always expressed as canonical, absolute, slash-separated paths; there are +no relative reference. Any unicode character can be used in a path subject +to the following constraints:

+
    +
  • The null character (\u0000) cannot be part of a path name. (This +causes problems with the C binding.)
  • +
  • The following characters can't be used because they don't +display well, or render in confusing ways: \u0001 - \u001F and \u007F
  • +
  • \u009F.
  • +
  • The following characters are not allowed: \ud800 - uF8FF, +\uFFF0 - uFFFF.
  • +
  • The "." character can be used as part of another name, but "." +and ".." cannot alone be used to indicate a node along a path, +because ZooKeeper doesn't use relative paths. The following would be +invalid: "/a/b/./c" or "/a/b/../c".
  • +
  • The token "zookeeper" is reserved.
  • +
+

ZNodes

+

Every node in a ZooKeeper tree is referred to as a +znode. Znodes maintain a stat structure that +includes version numbers for data changes, acl changes. The stat +structure also has timestamps. The version number, together with the +timestamp, allows ZooKeeper to validate the cache and to coordinate +updates. Each time a znode's data changes, the version number increases. +For instance, whenever a client retrieves data, it also receives the +version of the data. And when a client performs an update or a delete, +it must supply the version of the data of the znode it is changing. If +the version it supplies doesn't match the actual version of the data, +the update will fail. (This behavior can be overridden.)

+

In distributed application engineering, the words node can refer to a +generic host machine, a server, a member of an ensemble, a client process, +etc. In the ZooKeeper documentation, znodes refer to the data nodes. +Servers refers to machines that make up the ZooKeeper service; quorum +peers refer to the servers that make up an ensemble; client refers to any +host or process which uses a ZooKeeper service.

+

Znodes are the main entity that a programmer access. They have +several characteristics that are worth mentioning here.

+

Watches

+

Clients can set watches on znodes. Changes to that znode trigger +the watch and then clear the watch. When a watch triggers, ZooKeeper +sends the client a notification. More information about watches can be +found in the section +ZooKeeper Watches.

+

Data Access

+

The data stored at each znode in a namespace is read and written +atomically. Reads get all the data bytes associated with a znode and a +write replaces all the data. Each node has an Access Control List +(ACL) that restricts who can do what.

+

ZooKeeper was not designed to be a general database or large +object store. Instead, it manages coordination data. This data can +come in the form of configuration, status information, rendezvous, etc. +A common property of the various forms of coordination data is that +they are relatively small: measured in kilobytes. +The ZooKeeper client and the server implementations have sanity checks +to ensure that znodes have less than 1M of data, but the data should +be much less than that on average. Operating on relatively large data +sizes will cause some operations to take much more time than others and +will affect the latencies of some operations because of the extra time +needed to move more data over the network and onto storage media. If +large data storage is needed, the usual pattern of dealing with such +data is to store it on a bulk storage system, such as NFS or HDFS, and +store pointers to the storage locations in ZooKeeper.

+

Ephemeral Nodes

+

ZooKeeper also has the notion of ephemeral nodes. These znodes +exists as long as the session that created the znode is active. When +the session ends the znode is deleted. Because of this behavior +ephemeral znodes are not allowed to have children. The list of ephemerals +for the session can be retrieved using getEphemerals() api.

+

getEphemerals()

+

Retrieves the list of ephemeral nodes created by the session for the +given path. If the path is empty, it will list all the ephemeral nodes +for the session. +Use Case - A sample use case might be, if the list of ephemeral +nodes for the session needs to be collected for duplicate data entry check +and the nodes are created in a sequential manner so you do not know the name +for duplicate check. In that case, getEphemerals() api could be used to +get the list of nodes for the session. This might be a typical use case +for service discovery.

+

Sequence Nodes — Unique Naming

+

When creating a znode you can also request that +ZooKeeper append a monotonically increasing counter to the end +of path. This counter is unique to the parent znode. The +counter has a format of %010d — that is 10 digits with 0 +(zero) padding (the counter is formatted in this way to +simplify sorting), i.e. "<path>0000000001". See +Queue +Recipe for an example use of this feature. Note: the +counter used to store the next sequence number is a signed int +(4bytes) maintained by the parent node, the counter will +overflow when incremented beyond 2147483647 (resulting in a +name "<path>-2147483648").

+

Container Nodes

+

Added in 3.5.3

+

ZooKeeper has the notion of container znodes. Container znodes are +special purpose znodes useful for recipes such as leader, lock, etc. +When the last child of a container is deleted, the container becomes +a candidate to be deleted by the server at some point in the future.

+

Given this property, you should be prepared to get +KeeperException.NoNodeException when creating children inside of +container znodes. i.e. when creating child znodes inside of container znodes +always check for KeeperException.NoNodeException and recreate the container +znode when it occurs.

+

TTL Nodes

+

Added in 3.5.3

+

When creating PERSISTENT or PERSISTENT_SEQUENTIAL znodes, +you can optionally set a TTL in milliseconds for the znode. If the znode +is not modified within the TTL and has no children it will become a candidate +to be deleted by the server at some point in the future.

+

Note: TTL Nodes must be enabled via System property as they +are disabled by default. See the Administrator's Guide for +details. If you attempt to create TTL Nodes without the +proper System property set the server will throw +KeeperException.UnimplementedException.

+

Time in ZooKeeper

+

ZooKeeper tracks time multiple ways:

+
    +
  • Zxid +Every change to the ZooKeeper state receives a stamp in the +form of a zxid (ZooKeeper Transaction Id). +This exposes the total ordering of all changes to ZooKeeper. Each +change will have a unique zxid and if zxid1 is smaller than zxid2 +then zxid1 happened before zxid2.
  • +
  • Version numbers +Every change to a node will cause an increase to one of the +version numbers of that node. The three version numbers are version +(number of changes to the data of a znode), cversion (number of +changes to the children of a znode), and aversion (number of changes +to the ACL of a znode).
  • +
  • Ticks +When using multi-server ZooKeeper, servers use ticks to define +timing of events such as status uploads, session timeouts, +connection timeouts between peers, etc. The tick time is only +indirectly exposed through the minimum session timeout (2 times the +tick time); if a client requests a session timeout less than the +minimum session timeout, the server will tell the client that the +session timeout is actually the minimum session timeout.
  • +
  • Real time +ZooKeeper doesn't use real time, or clock time, at all except +to put timestamps into the stat structure on znode creation and +znode modification.
  • +
+

ZooKeeper Stat Structure

+

The Stat structure for each znode in ZooKeeper is made up of the +following fields:

+
    +
  • czxid +The zxid of the change that caused this znode to be +created.
  • +
  • mzxid +The zxid of the change that last modified this znode.
  • +
  • pzxid +The zxid of the change that last modified children of this znode.
  • +
  • ctime +The time in milliseconds from epoch when this znode was +created.
  • +
  • mtime +The time in milliseconds from epoch when this znode was last +modified.
  • +
  • version +The number of changes to the data of this znode.
  • +
  • cversion +The number of changes to the children of this znode.
  • +
  • aversion +The number of changes to the ACL of this znode.
  • +
  • ephemeralOwner +The session id of the owner of this znode if the znode is an +ephemeral node. If it is not an ephemeral node, it will be +zero.
  • +
  • dataLength +The length of the data field of this znode.
  • +
  • numChildren +The number of children of this znode.
  • +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting.data b/content/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting.data new file mode 100644 index 00000000000..fedf283d64c --- /dev/null +++ b/content/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","url","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":6,"_19":25,"_13":108,"_27":109,"_21":-7,"_7":8,"_30":110},"Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.",{"_32":6},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting/index.html b/content/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting/index.html new file mode 100644 index 00000000000..c67b5faf23c --- /dev/null +++ b/content/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting/index.html @@ -0,0 +1,85 @@ +Gotchas: Common Problems and Troubleshooting | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Gotchas: Common Problems and Troubleshooting

Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.

So now you know ZooKeeper. It's fast, simple, your application +works, but wait ... something's wrong. Here are some pitfalls that +ZooKeeper users fall into:

+
    +
  1. If you are using watches, you must look for the connected watch +event. When a ZooKeeper client disconnects from a server, you will +not receive notification of changes until reconnected. If you are +watching for a znode to come into existence, you will miss the event +if the znode is created and deleted while you are disconnected.
  2. +
  3. You must test ZooKeeper server failures. The ZooKeeper service +can survive failures as long as a majority of servers are active. The +question to ask is: can your application handle it? In the real world +a client's connection to ZooKeeper can break. (ZooKeeper server +failures and network partitions are common reasons for connection +loss.) The ZooKeeper client library takes care of recovering your +connection and letting you know what happened, but you must make sure +that you recover your state and any outstanding requests that failed. +Find out if you got it right in the test lab, not in production - test +with a ZooKeeper service made up of a several of servers and subject +them to reboots.
  4. +
  5. The list of ZooKeeper servers used by the client must match the +list of ZooKeeper servers that each ZooKeeper server has. Things can +work, although not optimally, if the client list is a subset of the +real list of ZooKeeper servers, but not if the client lists ZooKeeper +servers not in the ZooKeeper cluster.
  6. +
  7. Be careful where you put that transaction log. The most +performance-critical part of ZooKeeper is the transaction log. +ZooKeeper must sync transactions to media before it returns a +response. A dedicated transaction log device is key to consistent good +performance. Putting the log on a busy device will adversely effect +performance. If you only have one storage device, put trace files on +NFS and increase the snapshotCount; it doesn't eliminate the problem, +but it can mitigate it.
  8. +
  9. Set your Java max heap size correctly. It is very important to +avoid swapping. Going to disk unnecessarily will +almost certainly degrade your performance unacceptably. Remember, in +ZooKeeper, everything is ordered, so if one request hits the disk, all +other queued requests hit the disk. +To avoid swapping, try to set the heapsize to the amount of +physical memory you have, minus the amount needed by the OS and cache. +The best way to determine an optimal heap size for your configurations +is to run load tests. If for some reason you +can't, be conservative in your estimates and choose a number well +below the limit that would cause your machine to swap. For example, on +a 4G machine, a 3G heap is a conservative estimate to start +with.
  10. +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/programmers-guide/index.html b/content/docs/developer/programmers-guide/index.html new file mode 100644 index 00000000000..746bc441ff5 --- /dev/null +++ b/content/docs/developer/programmers-guide/index.html @@ -0,0 +1,68 @@ +Programmer's Guide | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Programmer's Guide

This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.

The first four sections of this guide present a higher level +discussions of various ZooKeeper concepts. These are necessary both for an +understanding of how ZooKeeper works as well how to work with it. It does +not contain source code, but it does assume a familiarity with the +problems associated with distributed computing.

+

The next four sections provide practical programming +information.

+

Most of the information in this document is written to be accessible as +stand-alone reference material. However, before starting your first +ZooKeeper application, you should probably at least read the chapters on +the ZooKeeper Data Model and ZooKeeper Basic Operations.

+ +

Outside the formal documentation, there're several other sources of +information for ZooKeeper developers.

+

In this section:

Data Model

Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.

Sessions

Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.

Watches

Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.

Consistency Guarantees

Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.

Access Control using ACLs

Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.

Pluggable Authentication

Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.

Bindings

Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.

Building Blocks: A Guide to ZooKeeper Operations

A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.

Gotchas: Common Problems and Troubleshooting

Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/programmers-guide/pluggable-authentication.data b/content/docs/developer/programmers-guide/pluggable-authentication.data new file mode 100644 index 00000000000..a9a3045a753 --- /dev/null +++ b/content/docs/developer/programmers-guide/pluggable-authentication.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/programmers-guide/pluggable-authentication.mdx","url","/docs/developer/programmers-guide/pluggable-authentication","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,93,99,105],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":6,"_19":25,"_13":90,"_27":91,"_21":-7,"_7":8,"_30":92},"Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.",{"_32":6},{"_11":94,"_19":25,"_13":95,"_27":96,"_21":-7,"_7":97,"_30":98},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":94},{"_11":100,"_19":25,"_13":101,"_27":102,"_21":-7,"_7":103,"_30":104},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":100},{"_11":106,"_19":25,"_13":107,"_27":108,"_21":-7,"_7":109,"_30":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/programmers-guide/pluggable-authentication/index.html b/content/docs/developer/programmers-guide/pluggable-authentication/index.html new file mode 100644 index 00000000000..6608d9b3eb2 --- /dev/null +++ b/content/docs/developer/programmers-guide/pluggable-authentication/index.html @@ -0,0 +1,128 @@ +Pluggable Authentication | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Pluggable Authentication

Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.

ZooKeeper runs in a variety of different environments with +various different authentication schemes, so it has a completely +pluggable authentication framework. Even the builtin authentication +schemes use the pluggable authentication framework.

+

To understand how the authentication framework works, first you must +understand the two main authentication operations. The framework +first must authenticate the client. This is usually done as soon as +the client connects to a server and consists of validating information +sent from or gathered about a client and associating it with the connection. +The second operation handled by the framework is finding the entries in an +ACL that correspond to client. ACL entries are <idspec, permissions> pairs. The idspec may be +a simple string match against the authentication information associated +with the connection or it may be a expression that is evaluated against that +information. It is up to the implementation of the authentication plugin +to do the match. Here is the interface that an authentication plugin must +implement:

+
public interface AuthenticationProvider {
+    String getScheme();
+    KeeperException.Code handleAuthentication(ServerCnxn cnxn, byte authData[]);
+    boolean isValid(String id);
+    boolean matches(String id, String aclExpr);
+    boolean isAuthenticated();
+}
+

The first method getScheme returns the string +that identifies the plugin. Because we support multiple methods of authentication, +an authentication credential or an idspec will always be +prefixed with scheme:. The ZooKeeper server uses the scheme +returned by the authentication plugin to determine which ids the scheme +applies to.

+

handleAuthentication is called when a client +sends authentication information to be associated with a connection. The +client specifies the scheme to which the information corresponds. The +ZooKeeper server passes the information to the authentication plugin whose +getScheme matches the scheme passed by the client. The +implementor of handleAuthentication will usually return +an error if it determines that the information is bad, or it will associate information +with the connection using cnxn.getAuthInfo().add(new Id(getScheme(), data)).

+

The authentication plugin is involved in both setting and using ACLs. When an +ACL is set for a znode, the ZooKeeper server will pass the id part of the entry to +the isValid(String id) method. It is up to the plugin to verify +that the id has a correct form. For example, ip:172.16.0.0/16 +is a valid id, but ip:host.com is not. If the new ACL includes +an "auth" entry, isAuthenticated is used to see if the +authentication information for this scheme that is associated with the connection +should be added to the ACL. Some schemes +should not be included in auth. For example, the IP address of the client is not +considered as an id that should be added to the ACL if auth is specified.

+

ZooKeeper invokes matches(String id, String aclExpr) when checking an ACL. It +needs to match authentication information of the client against the relevant ACL +entries. To find the entries which apply to the client, the ZooKeeper server will +find the scheme of each entry and if there is authentication information +from that client for that scheme, matches(String id, String aclExpr) +will be called with id set to the authentication information +that was previously added to the connection by handleAuthentication and +aclExpr set to the id of the ACL entry. The authentication plugin +uses its own logic and matching scheme to determine if id is included +in aclExpr.

+

There are two built in authentication plugins: ip and +digest. Additional plugins can adding using system properties. At +startup the ZooKeeper server will look for system properties that start with +"zookeeper.authProvider." and interpret the value of those properties as the class name +of an authentication plugin. These properties can be set using the +-Dzookeeper.authProvider.X=com.f.MyAuth or adding entries such as +the following in the server configuration file:

+
authProvider.1=com.f.MyAuth
+authProvider.2=com.f.MyAuth2
+

Care should be taking to ensure that the suffix on the property is unique. If there are +duplicates such as -Dzookeeper.authProvider.X=com.f.MyAuth -Dzookeeper.authProvider.X=com.f.MyAuth2, +only one will be used. Also all servers must have the same plugins defined, otherwise clients using +the authentication schemes provided by the plugins will have problems connecting to some servers.

+

Added in 3.6.0: An alternate abstraction is available for pluggable +authentication. It provides additional arguments.

+
public abstract class ServerAuthenticationProvider implements AuthenticationProvider {
+    public abstract KeeperException.Code handleAuthentication(ServerObjs serverObjs, byte authData[]);
+    public abstract boolean matches(ServerObjs serverObjs, MatchValues matchValues);
+}
+

Instead of implementing AuthenticationProvider you extend ServerAuthenticationProvider. Your handleAuthentication() +and matches() methods will then receive the additional parameters (via ServerObjs and MatchValues).

+
    +
  • ZooKeeperServer +The ZooKeeperServer instance
  • +
  • ServerCnxn +The current connection
  • +
  • path +The ZNode path being operated on (or null if not used)
  • +
  • perm +The operation value or 0
  • +
  • setAcls +When the setAcl() method is being operated on, the list of ACLs that are being set
  • +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/programmers-guide/sessions.data b/content/docs/developer/programmers-guide/sessions.data new file mode 100644 index 00000000000..31e7fc8644a --- /dev/null +++ b/content/docs/developer/programmers-guide/sessions.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/programmers-guide/sessions.mdx","url","/docs/developer/programmers-guide/sessions","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,69,75,81,87,93,99,105],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":6,"_19":25,"_13":66,"_27":67,"_21":-7,"_7":8,"_30":68},"Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.",{"_32":6},{"_11":70,"_19":25,"_13":71,"_27":72,"_21":-7,"_7":73,"_30":74},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":70},{"_11":76,"_19":25,"_13":77,"_27":78,"_21":-7,"_7":79,"_30":80},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":76},{"_11":82,"_19":25,"_13":83,"_27":84,"_21":-7,"_7":85,"_30":86},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":82},{"_11":88,"_19":25,"_13":89,"_27":90,"_21":-7,"_7":91,"_30":92},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":88},{"_11":94,"_19":25,"_13":95,"_27":96,"_21":-7,"_7":97,"_30":98},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":94},{"_11":100,"_19":25,"_13":101,"_27":102,"_21":-7,"_7":103,"_30":104},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":100},{"_11":106,"_19":25,"_13":107,"_27":108,"_21":-7,"_7":109,"_30":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/programmers-guide/sessions/index.html b/content/docs/developer/programmers-guide/sessions/index.html new file mode 100644 index 00000000000..0c7b6b9498f --- /dev/null +++ b/content/docs/developer/programmers-guide/sessions/index.html @@ -0,0 +1,309 @@ +Sessions | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Sessions

Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.

A ZooKeeper client establishes a session with the ZooKeeper +service by creating a handle to the service using a language +binding. Once created, the handle starts off in the CONNECTING state +and the client library tries to connect to one of the servers that +make up the ZooKeeper service at which point it switches to the +CONNECTED state. During normal operation the client handle will be in one of these +two states. If an unrecoverable error occurs, such as session +expiration or authentication failure, or if the application explicitly +closes the handle, the handle will move to the CLOSED state. +The following figure shows the possible state transitions of a +ZooKeeper client:

+

State transitions

+

To create a client session the application code must provide +a connection string containing a comma separated list of host:port pairs, +each corresponding to a ZooKeeper server (e.g. "127.0.0.1:4545" or +"127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"). The ZooKeeper +client library will pick an arbitrary server and try to connect to +it. If this connection fails, or if the client becomes +disconnected from the server for any reason, the client will +automatically try the next server in the list, until a connection +is (re-)established.

+

Added in 3.2.0: An +optional "chroot" suffix may also be appended to the connection +string. This will run the client commands while interpreting all +paths relative to this root (similar to the unix chroot +command). If used the example would look like: +"127.0.0.1:4545/app/a" or +"127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a" where the +client would be rooted at "/app/a" and all paths would be relative +to this root - ie getting/setting/etc... "/foo/bar" would result +in operations being run on "/app/a/foo/bar" (from the server +perspective). This feature is particularly useful in multi-tenant +environments where each user of a particular ZooKeeper service +could be rooted differently. This makes re-use much simpler as +each user can code his/her application as if it were rooted at +"/", while actual location (say /app/a) could be determined at +deployment time.

+

When a client gets a handle to the ZooKeeper service, +ZooKeeper creates a ZooKeeper session, represented as a 64-bit +number, that it assigns to the client. If the client connects to a +different ZooKeeper server, it will send the session id as a part +of the connection handshake. As a security measure, the server +creates a password for the session id that any ZooKeeper server +can validate.The password is sent to the client with the session +id when the client establishes the session. The client sends this +password with the session id whenever it reestablishes the session +with a new server.

+

One of the parameters to the ZooKeeper client library call +to create a ZooKeeper session is the session timeout in +milliseconds. The client sends a requested timeout, the server +responds with the timeout that it can give the client. The current +implementation requires that the timeout be a minimum of 2 times +the tickTime (as set in the server configuration) and a maximum of +20 times the tickTime. The ZooKeeper client API allows access to +the negotiated timeout.

+

When a client (session) becomes partitioned from the ZK +serving cluster it will begin searching the list of servers that +were specified during session creation. Eventually, when +connectivity between the client and at least one of the servers is +re-established, the session will either again transition to the +"connected" state (if reconnected within the session timeout +value) or it will transition to the "expired" state (if +reconnected after the session timeout). It is not advisable to +create a new session object (a new ZooKeeper.class or zookeeper +handle in the c binding) for disconnection. The ZK client library +will handle reconnect for you. In particular we have heuristics +built into the client library to handle things like "herd effect", +etc... Only create a new session when you are notified of session +expiration (mandatory).

+

Session expiration is managed by the ZooKeeper cluster +itself, not by the client. When the ZK client establishes a +session with the cluster it provides a "timeout" value detailed +above. This value is used by the cluster to determine when the +client's session expires. Expirations happens when the cluster +does not hear from the client within the specified session timeout +period (i.e. no heartbeat). At session expiration the cluster will +delete any/all ephemeral nodes owned by that session and +immediately notify any/all connected clients of the change (anyone +watching those znodes). At this point the client of the expired +session is still disconnected from the cluster, it will not be +notified of the session expiration until/unless it is able to +re-establish a connection to the cluster. The client will stay in +disconnected state until the TCP connection is re-established with +the cluster, at which point the watcher of the expired session +will receive the "session expired" notification.

+

Example state transitions for an expired session as seen by +the expired session's watcher:

+
    +
  1. 'connected' : session is established and client +is communicating with cluster (client/server communication is +operating properly)
  2. +
  3. .... client is partitioned from the +cluster
  4. +
  5. 'disconnected' : client has lost connectivity +with the cluster
  6. +
  7. .... time elapses, after 'timeout' period the +cluster expires the session, nothing is seen by client as it is +disconnected from cluster
  8. +
  9. .... time elapses, the client regains network +level connectivity with the cluster
  10. +
  11. 'expired' : eventually the client reconnects to +the cluster, it is then notified of the +expiration
  12. +
+

Another parameter to the ZooKeeper session establishment +call is the default watcher. Watchers are notified when any state +change occurs in the client. For example if the client loses +connectivity to the server the client will be notified, or if the +client's session expires, etc... This watcher should consider the +initial state to be disconnected (i.e. before any state changes +events are sent to the watcher by the client lib). In the case of +a new connection, the first event sent to the watcher is typically +the session connection event.

+

The session is kept alive by requests sent by the client. If +the session is idle for a period of time that would timeout the +session, the client will send a PING request to keep the session +alive. This PING request not only allows the ZooKeeper server to +know that the client is still active, but it also allows the +client to verify that its connection to the ZooKeeper server is +still active. The timing of the PING is conservative enough to +ensure reasonable time to detect a dead connection and reconnect +to a new server.

+

Once a connection to the server is successfully established +(connected) there are basically two cases where the client lib generates +connectionloss (the result code in c binding, exception in Java — see +the API documentation for binding specific details) when either a synchronous or +asynchronous operation is performed and one of the following holds:

+
    +
  1. The application calls an operation on a session that is no +longer alive/valid
  2. +
  3. The ZooKeeper client disconnects from a server when there +are pending operations to that server, i.e., there is a pending asynchronous call.
  4. +
+

Added in 3.2.0 — SessionMovedException. There is an internal +exception that is generally not seen by clients called the SessionMovedException. +This exception occurs because a request was received on a connection for a session +which has been reestablished on a different server. The normal cause of this error is +a client that sends a request to a server, but the network packet gets delayed, so +the client times out and connects to a new server. When the delayed packet arrives at +the first server, the old server detects that the session has moved, and closes the +client connection. Clients normally do not see this error since they do not read +from those old connections. (Old connections are usually closed.) One situation in which this +condition can be seen is when two clients try to reestablish the same connection using +a saved session id and password. One of the clients will reestablish the connection +and the second client will be disconnected (causing the pair to attempt to re-establish +its connection/session indefinitely).

+

Updating the list of servers. We allow a client to +update the connection string by providing a new comma separated list of host:port pairs, +each corresponding to a ZooKeeper server. The function invokes a probabilistic load-balancing +algorithm which may cause the client to disconnect from its current host with the goal +to achieve expected uniform number of connections per server in the new list. +In case the current host to which the client is connected is not in the new list +this call will always cause the connection to be dropped. Otherwise, the decision +is based on whether the number of servers has increased or decreased and by how much.

+

For example, if the previous connection string contained 3 hosts and now the list contains +these 3 hosts and 2 more hosts, 40% of clients connected to each of the 3 hosts will +move to one of the new hosts in order to balance the load. The algorithm will cause the client +to drop its connection to the current host to which it is connected with probability 0.4 and in this +case cause the client to connect to one of the 2 new hosts, chosen at random.

+

Another example — suppose we have 5 hosts and now update the list to remove 2 of the hosts, +the clients connected to the 3 remaining hosts will stay connected, whereas all clients connected +to the 2 removed hosts will need to move to one of the 3 hosts, chosen at random. If the connection +is dropped, the client moves to a special mode where he chooses a new server to connect to using the +probabilistic algorithm, and not just round robin.

+

In the first example, each client decides to disconnect with probability 0.4 but once the decision is +made, it will try to connect to a random new server and only if it cannot connect to any of the new +servers will it try to connect to the old ones. After finding a server, or trying all servers in the +new list and failing to connect, the client moves back to the normal mode of operation where it picks +an arbitrary server from the connectString and attempts to connect to it. If that fails, it will continue +trying different random servers in round robin. (see above the algorithm used to initially choose a server)

+

Local session. Added in 3.5.0, mainly implemented by ZOOKEEPER-1147.

+
    +
  • Background: The creation and closing of sessions are costly in ZooKeeper because they need quorum confirmations, +they become the bottleneck of a ZooKeeper ensemble when it needs to handle thousands of client connections. +So after 3.5.0, we introduce a new type of session: local session which doesn't have a full functionality of a normal(global) session, this feature +will be available by turning on localSessionsEnabled.
  • +
+

when localSessionsUpgradingEnabled is disable:

+
    +
  • +

    Local sessions cannot create ephemeral nodes

    +
  • +
  • +

    Once a local session is lost, users cannot re-establish it using the session-id/password, the session and its watches are gone for good. +Note: Losing the tcp connection does not necessarily imply that the session is lost. If the connection can be reestablished with the same zk server +before the session timeout then the client can continue (it simply cannot move to another server).

    +
  • +
  • +

    When a local session connects, the session info is only maintained on the zookeeper server that it is connected to. The leader is not aware of the creation of such a session and +there is no state written to disk.

    +
  • +
  • +

    The pings, expiration and other session state maintenance are handled by the server which current session is connected to.

    +
  • +
+

when localSessionsUpgradingEnabled is enable:

+
    +
  • +

    A local session can be upgraded to the global session automatically.

    +
  • +
  • +

    When a new session is created it is saved locally in a wrapped LocalSessionTracker. It can subsequently be upgraded +to a global session as required (e.g. create ephemeral nodes). If an upgrade is requested the session is removed from local +collections while keeping the same session ID.

    +
  • +
  • +

    Currently, Only the operation: create ephemeral node needs a session upgrade from local to global. +The reason is that the creation of ephemeral node depends heavily on a global session. If local session can create ephemeral +node without upgrading to global session, it will cause the data inconsistency between different nodes. +The leader also needs to know about the lifespan of a session in order to clean up ephemeral nodes on close/expiry. +This requires a global session as the local session is tied to its particular server.

    +
  • +
  • +

    A session can be both a local and global session during upgrade, but the operation of upgrade cannot be called concurrently by two thread.

    +
  • +
  • +

    ZooKeeperServer(Standalone) uses SessionTrackerImpl; LeaderZookeeper uses LeaderSessionTracker which holds +SessionTrackerImpl(global) and LocalSessionTracker(if enable); FollowerZooKeeperServer and ObserverZooKeeperServer +use LearnerSessionTracker which holds LocalSessionTracker. +The UML Graph of Classes about session:

    +
    +----------------+     +--------------------+       +---------------------+
    +|                | --> |                    | ----> | LocalSessionTracker |
    +| SessionTracker |     | SessionTrackerImpl |       +---------------------+
    +|                |     |                    |                              +-----------------------+
    +|                |     |                    |  +-------------------------> | LeaderSessionTracker  |
    ++----------------+     +--------------------+  |                           +-----------------------+
    +          |                                   |
    +          |                                   |
    +          |                                   |
    +          |           +---------------------------+
    +          +---------> |                           |
    +                      | UpgradeableSessionTracker |
    +                      |                           |
    +                      |                           | ------------------------+
    +                      +---------------------------+                         |
    +                                                                            |
    +                                                                            |
    +                                                                            v
    +                                                                          +-----------------------+
    +                                                                          | LearnerSessionTracker |
    +                                                                          +-----------------------+
    +
  • +
+

Q&A

+
    +
  • +

    What's the reason for having the config option to disable local session upgrade?

    +
      +
    • In a large deployment which wants to handle a very large number of clients, we know that clients connecting via the observers +which is supposed to be local session only. So this is more like a safeguard against someone accidentally creates lots of ephemeral nodes and global sessions.
    • +
    +
  • +
  • +

    When is the session created?

    +
      +
    • In the current implementation, it will try to create a local session when processing ConnectRequest and when +createSession request reaches FinalRequestProcessor.
    • +
    +
  • +
  • +

    What happens if the create for session is sent at server A and the client disconnects to some other server B +which ends up sending it again and then disconnects and connects back to server A?

    +
      +
    • When a client reconnects to B, its sessionId won’t exist in B’s local session tracker. So B will send validation packet. +If CreateSession issued by A is committed before validation packet arrive the client will be able to connect. +Otherwise, the client will get session expired because the quorum hasn’t know about this session yet. +If the client also tries to connect back to A again, the session is already removed from local session tracker. +So A will need to send a validation packet to the leader. The outcome should be the same as B depending on the timing of the request.
    • +
    +
  • +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/programmers-guide/watches.data b/content/docs/developer/programmers-guide/watches.data new file mode 100644 index 00000000000..c4a0eb2796c --- /dev/null +++ b/content/docs/developer/programmers-guide/watches.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/programmers-guide/watches.mdx","url","/docs/developer/programmers-guide/watches","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,75,81,87,93,99,105],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":6,"_19":25,"_13":72,"_27":73,"_21":-7,"_7":8,"_30":74},"Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.",{"_32":6},{"_11":76,"_19":25,"_13":77,"_27":78,"_21":-7,"_7":79,"_30":80},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":76},{"_11":82,"_19":25,"_13":83,"_27":84,"_21":-7,"_7":85,"_30":86},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":82},{"_11":88,"_19":25,"_13":89,"_27":90,"_21":-7,"_7":91,"_30":92},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":88},{"_11":94,"_19":25,"_13":95,"_27":96,"_21":-7,"_7":97,"_30":98},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":94},{"_11":100,"_19":25,"_13":101,"_27":102,"_21":-7,"_7":103,"_30":104},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":100},{"_11":106,"_19":25,"_13":107,"_27":108,"_21":-7,"_7":109,"_30":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/programmers-guide/watches/index.html b/content/docs/developer/programmers-guide/watches/index.html new file mode 100644 index 00000000000..568741cd5b3 --- /dev/null +++ b/content/docs/developer/programmers-guide/watches/index.html @@ -0,0 +1,180 @@ +Watches | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Watches

Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.

All of the read operations in ZooKeeper - getData(), getChildren(), and exists() - have the option of setting a watch as a +side effect. Here is ZooKeeper's definition of a watch: a watch event is +one-time trigger, sent to the client that set the watch, which occurs when +the data for which the watch was set changes. There are three key points +to consider in this definition of a watch:

+
    +
  • One-time trigger +One watch event will be sent to the client when the data has changed. +For example, if a client does a getData("/znode1", true) and later the +data for /znode1 is changed or deleted, the client will get a watch +event for /znode1. If /znode1 changes again, no watch event will be +sent unless the client has done another read that sets a new +watch.
  • +
  • Sent to the client +This implies that an event is on the way to the client, but may +not reach the client before the successful return code to the change +operation reaches the client that initiated the change. Watches are +sent asynchronously to watchers. ZooKeeper provides an ordering +guarantee: a client will never see a change for which it has set a +watch until it first sees the watch event. Network delays or other +factors may cause different clients to see watches and return codes +from updates at different times. The key point is that everything seen +by the different clients will have a consistent order.
  • +
  • The data for which the watch was +set +This refers to the different ways a node can change. It +helps to think of ZooKeeper as maintaining two lists of +watches: data watches and child watches. getData() and +exists() set data watches. getChildren() sets child +watches. Alternatively, it may help to think of watches being +set according to the kind of data returned. getData() and +exists() return information about the data of the node, +whereas getChildren() returns a list of children. Thus, +setData() will trigger data watches for the znode being set +(assuming the set is successful). A successful create() will +trigger a data watch for the znode being created and a child +watch for the parent znode. A successful delete() will trigger +both a data watch and a child watch (since there can be no +more children) for a znode being deleted as well as a child +watch for the parent znode.
  • +
+

Watches are maintained locally at the ZooKeeper server to which the +client is connected. This allows watches to be lightweight to set, +maintain, and dispatch. When a client connects to a new server, the watch +will be triggered for any session events. Watches will not be received +while disconnected from a server. When a client reconnects, any previously +registered watches will be reregistered and triggered if needed. In +general this all occurs transparently. There is one case where a watch +may be missed: a watch for the existence of a znode not yet created will +be missed if the znode is created and deleted while disconnected.

+

New in 3.6.0: Clients can also set +permanent, recursive watches on a znode that are not removed when triggered +and that trigger for changes on the registered znode as well as any children +znodes recursively.

+

Semantics of Watches

+

We can set watches with the three calls that read the state of +ZooKeeper: exists, getData, and getChildren. The following list details +the events that a watch can trigger and the calls that enable them:

+
    +
  • Created event: +Enabled with a call to exists.
  • +
  • Deleted event: +Enabled with a call to exists, getData, and getChildren.
  • +
  • Changed event: +Enabled with a call to exists and getData.
  • +
  • Child event: +Enabled with a call to getChildren.
  • +
+

Persistent, Recursive Watches

+

New in 3.6.0: There is now a variation on the standard +watch described above whereby you can set a watch that does not get removed when triggered. +Additionally, these watches trigger the event types NodeCreated, NodeDeleted, and NodeDataChanged +and, optionally, recursively for all znodes starting at the znode that the watch is registered for. Note +that NodeChildrenChanged events are not triggered for persistent recursive watches as it would be redundant.

+

Persistent watches are set using the method addWatch(). The triggering semantics and guarantees +(other than one-time triggering) are the same as standard watches. The only exception regarding events is that +recursive persistent watchers never trigger child changed events as they are redundant. +Persistent watches are removed using removeWatches() with watcher type WatcherType.Any.

+

Remove Watches

+

We can remove the watches registered on a znode with a call to +removeWatches. Also, a ZooKeeper client can remove watches locally even +if there is no server connection by setting the local flag to true. The +following list details the events which will be triggered after the +successful watch removal.

+
    +
  • Child Remove event: +Watcher which was added with a call to getChildren.
  • +
  • Data Remove event: +Watcher which was added with a call to exists or getData.
  • +
  • Persistent Remove event: +Watcher which was added with a call to add a persistent watch.
  • +
+

What ZooKeeper Guarantees about Watches

+

With regard to watches, ZooKeeper maintains these +guarantees:

+
    +
  • +

    Watches are ordered with respect to other events, other +watches, and asynchronous replies. The ZooKeeper client libraries +ensures that everything is dispatched in order.

    +
  • +
  • +

    A client will see a watch event for a znode it is watching +before seeing the new data that corresponds to that znode.

    +
  • +
  • +

    The order of watch events from ZooKeeper corresponds to the +order of the updates as seen by the ZooKeeper service.

    +
  • +
+

Things to Remember about Watches

+
    +
  • +

    Standard watches are one time triggers; if you get a watch event and +you want to get notified of future changes, you must set another +watch.

    +
  • +
  • +

    Because standard watches are one time triggers and there is latency +between getting the event and sending a new request to get a watch +you cannot reliably see every change that happens to a node in +ZooKeeper. Be prepared to handle the case where the znode changes +multiple times between getting the event and setting the watch +again. (You may not care, but at least realize it may +happen.)

    +
  • +
  • +

    A watch object, or function/context pair, will only be +triggered once for a given notification. For example, if the same +watch object is registered for an exists and a getData call for the +same file and that file is then deleted, the watch object would +only be invoked once with the deletion notification for the file.

    +
  • +
  • +

    When you disconnect from a server (for example, when the +server fails), you will not get any watches until the connection +is reestablished. For this reason session events are sent to all +outstanding watch handlers. Use session events to go into a safe +mode: you will not be receiving events while disconnected, so your +process should act conservatively in that mode.

    +
  • +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/recipes.data b/content/docs/developer/recipes.data new file mode 100644 index 00000000000..6ed05775049 --- /dev/null +++ b/content/docs/developer/recipes.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/recipes.mdx","url","/docs/developer/recipes","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":6,"_19":25,"_13":136,"_27":137,"_21":-7,"_7":8,"_30":138},"Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.",{"_32":6},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/recipes/index.html b/content/docs/developer/recipes/index.html new file mode 100644 index 00000000000..cce8e8194d0 --- /dev/null +++ b/content/docs/developer/recipes/index.html @@ -0,0 +1,330 @@ +Recipes and Solutions | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Recipes and Solutions

Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.

A Guide to Creating Higher-level Constructs with ZooKeeper

+

In this article, you'll find guidelines for using +ZooKeeper to implement higher order functions. All of them are conventions +implemented at the client and do not require special support from +ZooKeeper. Hopefully the community will capture these conventions in client-side libraries +to ease their use and to encourage standardization.

+

One of the most interesting things about ZooKeeper is that even +though ZooKeeper uses asynchronous notifications, you +can use it to build synchronous consistency +primitives, such as queues and locks. As you will see, this is possible +because ZooKeeper imposes an overall order on updates, and has mechanisms +to expose this ordering.

+

Note that the recipes below attempt to employ best practices. In +particular, they avoid polling, timers or anything else that would result +in a "herd effect", causing bursts of traffic and limiting +scalability.

+

There are many useful functions that can be imagined that aren't +included here - revocable read-write priority locks, as just one example. +And some of the constructs mentioned here - locks, in particular - +illustrate certain points, even though you may find other constructs, such +as event handles or queues, a more practical means of performing the same +function. In general, the examples in this section are designed to +stimulate thought.

+

Important Note About Error Handling

+

When implementing the recipes you must handle recoverable exceptions +(see the FAQ). In +particular, several of the recipes employ sequential ephemeral +nodes. When creating a sequential ephemeral node there is an error case in +which the create() succeeds on the server but the server crashes before +returning the name of the node to the client. When the client reconnects its +session is still valid and, thus, the node is not removed. The implication is +that it is difficult for the client to know if its node was created or not. The +recipes below include measures to handle this.

+

Out of the Box Applications: Name Service, Configuration, Group Membership

+

Name service and configuration are two of the primary applications +of ZooKeeper. These two functions are provided directly by the ZooKeeper +API.

+

Another function directly provided by ZooKeeper is group +membership. The group is represented by a node. Members of the +group create ephemeral nodes under the group node. Nodes of the members +that fail abnormally will be removed automatically when ZooKeeper detects +the failure.

+

Barriers

+

Distributed systems use barriers +to block processing of a set of nodes until a condition is met +at which time all the nodes are allowed to proceed. Barriers are +implemented in ZooKeeper by designating a barrier node. The +barrier is in place if the barrier node exists. Here's the +pseudo code:

+
    +
  1. Client calls the ZooKeeper API's exists() function on the barrier node, with +watch set to true.
  2. +
  3. If exists() returns false, the +barrier is gone and the client proceeds
  4. +
  5. Else, if exists() returns true, +the clients wait for a watch event from ZooKeeper for the barrier +node.
  6. +
  7. When the watch event is triggered, the client reissues the +exists( ) call, again waiting until +the barrier node is removed.
  8. +
+

Double Barriers

+

Double barriers enable clients to synchronize the beginning and +the end of a computation. When enough processes have joined the barrier, +processes start their computation and leave the barrier once they have +finished. This recipe shows how to use a ZooKeeper node as a +barrier.

+

The pseudo code in this recipe represents the barrier node as +b. Every client process p +registers with the barrier node on entry and unregisters when it is +ready to leave. A node registers with the barrier node via the Enter procedure below, it waits until +x client process register before proceeding with +the computation. (The x here is up to you to +determine for your system.)

+
EnterLeave
1. Create a name n = _b+“/”+_p**1. L = getChildren(b, false)
2. Set watch: exists(b + ‘‘/ready’’, true)2. if no children, exit
3. Create child: create(n, EPHEMERAL)3. if p is only process node in L, delete(n) and exit
4. L = getChildren(b, false)4. if p is the lowest process node in L, wait on highest process node in L
5. if fewer children in L thanx, wait for watch event5. else **delete(n)**if still exists and wait on lowest process node in L
6. else create(b + ‘‘/ready’’, REGULAR)6. goto 1
+

On entering, all processes watch on a ready node and +create an ephemeral node as a child of the barrier node. Each process +but the last enters the barrier and waits for the ready node to appear +at line 5. The process that creates the xth node, the last process, will +see x nodes in the list of children and create the ready node, waking up +the other processes. Note that waiting processes wake up only when it is +time to exit, so waiting is efficient.

+

On exit, you can't use a flag such as ready +because you are watching for process nodes to go away. By using +ephemeral nodes, processes that fail after the barrier has been entered +do not prevent correct processes from finishing. When processes are +ready to leave, they need to delete their process nodes and wait for all +other processes to do the same.

+

Processes exit when there are no process nodes left as children of +b. However, as an efficiency, you can use the +lowest process node as the ready flag. All other processes that are +ready to exit watch for the lowest existing process node to go away, and +the owner of the lowest process watches for any other process node +(picking the highest for simplicity) to go away. This means that only a +single process wakes up on each node deletion except for the last node, +which wakes up everyone when it is removed.

+

Queues

+

Distributed queues are a common data structure. To implement a +distributed queue in ZooKeeper, first designate a znode to hold the queue, +the queue node. The distributed clients put something into the queue by +calling create() with a pathname ending in "queue-", with the +sequence and ephemeral flags in +the create() call set to true. Because the sequence +flag is set, the new pathname will have the form +path-to-queue-node/queue-X, where X is a monotonic increasing number. A +client that wants to be removed from the queue calls ZooKeeper's getChildren( ) function, with +watch set to true on the queue node, and begins +processing nodes with the lowest number. The client does not need to issue +another getChildren( ) until it exhausts +the list obtained from the first getChildren( +) call. If there are no children in the queue node, the +reader waits for a watch notification to check the queue again.

+

There now exists a Queue implementation in ZooKeeper recipes directory. This +is distributed with the release -- zookeeper-recipes/zookeeper-recipes-queue +directory of the release artifact.

+

Priority Queues

+

To implement a priority queue, you need only make two simple +changes to the generic queue +recipe . First, to add to a queue, the pathname ends with +"queue-YY" where YY is the priority of the element with lower numbers +representing higher priority (just like UNIX). Second, when removing +from the queue, a client uses an up-to-date children list meaning that +the client will invalidate previously obtained children lists if a watch +notification triggers for the queue node.

+

Locks

+

Fully distributed locks that are globally synchronous, meaning at +any snapshot in time no two clients think they hold the same lock. These +can be implemented using ZooKeeper. As with priority queues, first define +a lock node.

+

There now exists a Lock implementation in ZooKeeper recipes directory. This is +distributed with the release -- zookeeper-recipes/zookeeper-recipes-lock +directory of the release artifact.

+

Clients wishing to obtain a lock do the following:

+
    +
  1. Call create( ) with a pathname +of "locknode/guid-lock-" and the sequence and +ephemeral flags set. The guid +is needed in case the create() result is missed. See the note below.
  2. +
  3. Call getChildren( ) on the lock +node without setting the watch flag (this is +important to avoid the herd effect).
  4. +
  5. If the pathname created in step 1 has the lowest sequence number suffix, the +client has the lock and the client exits the protocol.
  6. +
  7. The client calls exists( ) with +the watch flag set on the path in the lock directory with the next +lowest sequence number.
  8. +
  9. if exists( ) returns null, go +to step 2. Otherwise, wait for a +notification for the pathname from the previous step before going to +step 2.
  10. +
+

The unlock protocol is very simple: clients wishing to release a +lock simply delete the node they created in step 1.

+

Here are a few things to notice:

+
    +
  • The removal of a node will only cause one client to wake up +since each node is watched by exactly one client. In this way, you +avoid the herd effect.
  • +
  • There is no polling or timeouts.
  • +
  • Because of the way you implement locking, it is easy to see the +amount of lock contention, break locks, debug locking problems, +etc.
  • +
+

Recoverable Errors and the GUID

+
    +
  • If a recoverable error occurs calling create() the +client should call getChildren() and check for a node +containing the guid used in the path name. +This handles the case (noted above) of +the create() succeeding on the server but the server crashing before returning the name +of the new node.
  • +
+

Shared Locks

+

You can implement shared locks by with a few changes to the lock +protocol:

+
Obtaining a read lock:Obtaining a write lock:
1. Call create( ) to create a node with pathname "guid-/read-". This is the lock node use later in the protocol. Make sure to set both the sequence and ephemeral flags.1. Call create( ) to create a node with pathname "guid-/write-". This is the lock node spoken of later in the protocol. Make sure to set both sequence and ephemeral flags.
2. Call getChildren( ) on the lock node without setting the watch flag - this is important, as it avoids the herd effect.2. Call getChildren( ) on the lock node without setting the watch flag - this is important, as it avoids the herd effect.
3. If there are no children with a pathname starting with "write-" and having a lower sequence number than the node created in step 1, the client has the lock and can exit the protocol.3. If there are no children with a lower sequence number than the node created in step 1, the client has the lock and the client exits the protocol.
4. Otherwise, call exists( ), with watch flag, set on the node in lock directory with pathname starting with "write-" having the next lowest sequence number.4. Call exists( ), with watch flag set, on the node with the pathname that has the next lowest sequence number.
5. If exists( ) returns false, goto step 2.5. If exists( ) returns false, goto step 2. Otherwise, wait for a notification for the pathname from the previous step before going to step 2.
6. Otherwise, wait for a notification for the pathname from the previous step before going to step 2
+

Notes:

+
    +
  • It might appear that this recipe creates a herd effect: +when there is a large group of clients waiting for a read +lock, and all getting notified more or less simultaneously +when the "write-" node with the lowest +sequence number is deleted. In fact. that's valid behavior: +as all those waiting reader clients should be released since +they have the lock. The herd effect refers to releasing a +"herd" when in fact only a single or a small number of +machines can proceed.
  • +
  • See the note for Locks on how to use the guid in the node.
  • +
+

Revocable Shared Locks

+

With minor modifications to the Shared Lock protocol, you make +shared locks revocable by modifying the shared lock protocol:

+

In step 1, of both obtain reader +and writer lock protocols, call getData( +) with watch set, immediately after the +call to create( ). If the client +subsequently receives notification for the node it created in step +1, it does another getData( ) on that node, with +watch set and looks for the string "unlock", which +signals to the client that it must release the lock. This is because, +according to this shared lock protocol, you can request the client with +the lock give up the lock by calling setData() on the lock node, writing "unlock" to that node.

+

Note that this protocol requires the lock holder to consent to +releasing the lock. Such consent is important, especially if the lock +holder needs to do some processing before releasing the lock. Of course +you can always implement Revocable Shared Locks with Freaking +Laser Beams by stipulating in your protocol that the revoker +is allowed to delete the lock node if after some length of time the lock +isn't deleted by the lock holder.

+

Two-phased Commit

+

A two-phase commit protocol is an algorithm that lets all clients in +a distributed system agree either to commit a transaction or abort.

+

In ZooKeeper, you can implement a two-phased commit by having a +coordinator create a transaction node, say "/app/Tx", and one child node +per participating site, say "/app/Tx/s_i". When coordinator creates the +child node, it leaves the content undefined. Once each site involved in +the transaction receives the transaction from the coordinator, the site +reads each child node and sets a watch. Each site then processes the query +and votes "commit" or "abort" by writing to its respective node. Once the +write completes, the other sites are notified, and as soon as all sites +have all votes, they can decide either "abort" or "commit". Note that a +node can decide "abort" earlier if some site votes for "abort".

+

An interesting aspect of this implementation is that the only role +of the coordinator is to decide upon the group of sites, to create the +ZooKeeper nodes, and to propagate the transaction to the corresponding +sites. In fact, even propagating the transaction can be done through +ZooKeeper by writing it in the transaction node.

+

There are two important drawbacks of the approach described above. +One is the message complexity, which is O(n²). The second is the +impossibility of detecting failures of sites through ephemeral nodes. To +detect the failure of a site using ephemeral nodes, it is necessary that +the site create the node.

+

To solve the first problem, you can have only the coordinator +notified of changes to the transaction nodes, and then notify the sites +once coordinator reaches a decision. Note that this approach is scalable, +but it is slower too, as it requires all communication to go through the +coordinator.

+

To address the second problem, you can have the coordinator +propagate the transaction to the sites, and have each site creating its +own ephemeral node.

+

Leader Election

+

A simple way of doing leader election with ZooKeeper is to use the +SEQUENCE|EPHEMERAL flags when creating +znodes that represent "proposals" of clients. The idea is to have a znode, +say "/election", such that each znode creates a child znode "/election/guid-n_" +with both flags SEQUENCE|EPHEMERAL. With the sequence flag, ZooKeeper +automatically appends a sequence number that is greater than anyone +previously appended to a child of "/election". The process that created +the znode with the smallest appended sequence number is the leader.

+

That's not all, though. It is important to watch for failures of the +leader, so that a new client arises as the new leader in the case the +current leader fails. A trivial solution is to have all application +processes watching upon the current smallest znode, and checking if they +are the new leader when the smallest znode goes away (note that the +smallest znode will go away if the leader fails because the node is +ephemeral). But this causes a herd effect: upon a failure of the current +leader, all other processes receive a notification, and execute +getChildren on "/election" to obtain the current list of children of +"/election". If the number of clients is large, it causes a spike on the +number of operations that ZooKeeper servers have to process. To avoid the +herd effect, it is sufficient to watch for the next znode down on the +sequence of znodes. If a client receives a notification that the znode it +is watching is gone, then it becomes the new leader in the case that there +is no smaller znode. Note that this avoids the herd effect by not having +all clients watching the same znode.

+

Here's the pseudo code:

+

Let ELECTION be a path of choice of the application. To volunteer to +be a leader:

+
    +
  1. Create znode z with path "ELECTION/guid-n_" with both SEQUENCE and +EPHEMERAL flags;
  2. +
  3. Let C be the children of "ELECTION", and i is the sequence +number of z;
  4. +
  5. Watch for changes on "ELECTION/guid-n_j", where j is the largest +sequence number such that j < i and n_j is a znode in C;
  6. +
+

Upon receiving a notification of znode deletion:

+
    +
  1. Let C be the new set of children of ELECTION;
  2. +
  3. If z is the smallest node in C, then execute leader +procedure;
  4. +
  5. Otherwise, watch for changes on "ELECTION/guid-n_j", where j is the +largest sequence number such that j < i and n_j is a znode in C;
  6. +
+

Notes:

+
    +
  • Note that the znode having no preceding znode on the list of +children do not imply that the creator of this znode is aware that it is +the current leader. Applications may consider creating a separate znode +to acknowledge that the leader has executed the leader procedure.
  • +
  • See the note for Locks on how to use the guid in the node.
  • +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/developer/use-cases.data b/content/docs/developer/use-cases.data new file mode 100644 index 00000000000..1b1d8a08a26 --- /dev/null +++ b/content/docs/developer/use-cases.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","developer/use-cases.mdx","url","/docs/developer/use-cases","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":6,"_19":25,"_13":118,"_27":119,"_21":-7,"_7":8,"_30":120},"Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.",{"_32":6},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":49,"_13":148,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_115":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/developer/use-cases/index.html b/content/docs/developer/use-cases/index.html new file mode 100644 index 00000000000..19856d07730 --- /dev/null +++ b/content/docs/developer/use-cases/index.html @@ -0,0 +1,512 @@ +Use Cases | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Use Cases

A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.

    +
  • Applications and organizations using ZooKeeper include (alphabetically) 1.
  • +
  • If your use case wants to be listed here. Please do not hesitate, submit a pull request or write an email to dev@zookeeper.apache.org, +and then, your use case will be included.
  • +
  • If this documentation has violated your intellectual property rights or you and your company's privacy, write an email to dev@zookeeper.apache.org, +we will handle them in a timely manner.
  • +
+

Free Software Projects

+

AdroitLogic UltraESB

+
    +
  • Uses ZooKeeper to implement node coordination, in clustering support. This allows the management of the complete cluster, +or any specific node - from any other node connected via JMX. A Cluster wide command framework developed on top of the +ZooKeeper coordination allows commands that fail on some nodes to be retried etc. We also support the automated graceful +round-robin-restart of a complete cluster of nodes using the same framework 1.
  • +
+

Akka

+
    +
  • Akka is the platform for the next generation event-driven, scalable and fault-tolerant architectures on the JVM. +Or: Akka is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on the JVM 1.
  • +
+

Eclipse Communication Framework

+
    +
  • The Eclipse ECF project provides an implementation of its Abstract Discovery services using Zookeeper. ECF itself +is used in many projects providing base functionality for communication, all based on OSGi 1.
  • +
+

Eclipse Gyrex

+
    +
  • The Eclipse Gyrex project provides a platform for building your own Java OSGi based clouds.
  • +
  • ZooKeeper is used as the core cloud component for node membership and management, coordination of jobs executing among workers, +a lock service and a simple queue service and a lot more 1.
  • +
+

GoldenOrb

+
    +
  • massive-scale Graph analysis 1.
  • +
+

Juju

+
    +
  • Service deployment and orchestration framework, formerly called Ensemble 1.
  • +
+

Katta

+
    +
  • Katta serves distributed Lucene indexes in a grid environment.
  • +
  • Zookeeper is used for node, master and index management in the grid 1.
  • +
+

KeptCollections

+
    +
  • KeptCollections is a library of drop-in replacements for the data structures in the Java Collections framework.
  • +
  • KeptCollections uses Apache ZooKeeper as a backing store, thus making its data structures distributed and scalable 1.
  • +
+

Neo4j

+
    +
  • Neo4j is a Graph Database. It's a disk based, ACID compliant transactional storage engine for big graphs and fast graph traversals, +using external indices like Lucene/Solr for global searches.
  • +
  • We use ZooKeeper in the Neo4j High Availability components for write-master election, +read slave coordination and other cool stuff. ZooKeeper is a great and focused project - we like! 1.
  • +
+

Norbert

+
    +
  • Partitioned routing and cluster management 1.
  • +
+

spring-cloud-zookeeper

+
    +
  • Spring Cloud Zookeeper provides Apache Zookeeper integrations for Spring Boot apps through autoconfiguration +and binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations +you can quickly enable and configure the common patterns inside your application and build large distributed systems with Zookeeper. +The patterns provided include Service Discovery and Distributed Configuration 2.
  • +
+

spring-statemachine

+
    +
  • Spring Statemachine is a framework for application developers to use state machine concepts with Spring applications.
  • +
  • Spring Statemachine can provide this feature:Distributed state machine based on a Zookeeper [31,32].
  • +
+

spring-xd

+
    +
  • Spring XD is a unified, distributed, and extensible system for data ingestion, real time analytics, batch processing, and data export. +The project’s goal is to simplify the development of big data applications.
  • +
  • ZooKeeper - Provides all runtime information for the XD cluster. Tracks running containers, in which containers modules +and jobs are deployed, stream definitions, deployment manifests, and the like [30,31].
  • +
+

Talend ESB

+
    +
  • Talend ESB is a versatile and flexible, enterprise service bus.
  • +
  • It uses ZooKeeper as endpoint repository of both REST and SOAP Web services. +By using ZooKeeper Talend ESB is able to provide failover and load balancing capabilities in a very light-weight manner 1.
  • +
+

redis_failover

+
    +
  • Redis Failover is a ZooKeeper-based automatic master/slave failover solution for Ruby 1.
  • +
+

Apache Projects

+

Apache Accumulo

+
    +
  • Accumulo is a distributed key/value store that provides expressive, cell-level access labels.
  • +
  • Apache ZooKeeper plays a central role within the Accumulo architecture. Its quorum consistency model supports an overall +Accumulo architecture with no single points of failure. Beyond that, Accumulo leverages ZooKeeper to store and communication +configuration information for users and tables, as well as operational states of processes and tablets 3.
  • +
+

Apache Atlas

+
    +
  • Atlas is a scalable and extensible set of core foundational governance services – enabling enterprises to effectively and efficiently meet +their compliance requirements within Hadoop and allows integration with the whole enterprise data ecosystem.
  • +
  • Atlas uses Zookeeper for coordination to provide redundancy and high availability of HBase,Kafka [31,35].
  • +
+

Apache BookKeeper

+
    +
  • A scalable, fault-tolerant, and low-latency storage service optimized for real-time workloads.
  • +
  • BookKeeper requires a metadata storage service to store information related to ledgers and available bookies. BookKeeper currently uses +ZooKeeper for this and other tasks 4.
  • +
+

Apache CXF DOSGi

+
    +
  • Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming +APIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, +or CORBA and work over a variety of transports such as HTTP, JMS or JBI.
  • +
  • The Distributed OSGi implementation at Apache CXF uses ZooKeeper for its Discovery functionality 5.
  • +
+

Apache Drill

+
    +
  • Schema-free SQL Query Engine for Hadoop, NoSQL and Cloud Storage
  • +
  • ZooKeeper maintains ephemeral cluster membership information. The Drillbits use ZooKeeper to find other Drillbits in the cluster, +and the client uses ZooKeeper to find Drillbits to submit a query 6.
  • +
+

Apache Druid

+
    +
  • Apache Druid is a high performance real-time analytics database.
  • +
  • Apache Druid uses Apache ZooKeeper (ZK) for management of current cluster state. The operations that happen over ZK are 7: +
      +
    • Coordinator leader election
    • +
    • Segment "publishing" protocol from Historical and Realtime
    • +
    • Segment load/drop protocol between Coordinator and Historical
    • +
    • Overlord leader election
    • +
    • Overlord and MiddleManager task management
    • +
    +
  • +
+

Apache Dubbo

+
    +
  • Apache Dubbo is a high-performance, java based open source RPC framework.
  • +
  • Zookeeper is used for service registration discovery and configuration management in Dubbo 8.
  • +
+ +
    +
  • Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. +Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.
  • +
  • To enable JobManager High Availability you have to set the high-availability mode to zookeeper, configure a ZooKeeper quorum and set up a masters file with all JobManagers hosts and their web UI ports. +Flink leverages ZooKeeper for distributed coordination between all running JobManager instances. ZooKeeper is a separate service from Flink, +which provides highly reliable distributed coordination via leader election and light-weight consistent state storage 9.
  • +
+

Apache Flume

+
    +
  • +

    Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts +of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant +with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model +that allows for online analytic application.

    +
  • +
  • +

    Flume supports Agent configurations via Zookeeper. This is an experimental feature 10.

    +
  • +
+

Apache Fluo

+
    +
  • Apache Fluo is a distributed processing system that lets users make incremental updates to large data sets.
  • +
  • Apache Fluo is built on Apache Accumulo which uses Apache Zookeeper for consensus [31,37].
  • +
+

Apache Griffin

+
    +
  • Big Data Quality Solution For Batch and Streaming.
  • +
  • Griffin uses Zookeeper for coordination to provide redundancy and high availability of Kafka [31,36].
  • +
+

Apache Hadoop

+
    +
  • +

    The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across +clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, +each offering local computation and storage. Rather than rely on hardware to deliver high-availability, +the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.

    +
  • +
  • +

    The implementation of automatic HDFS failover relies on ZooKeeper for the following things:

    +
      +
    • Failure detection - each of the NameNode machines in the cluster maintains a persistent session in ZooKeeper. +If the machine crashes, the ZooKeeper session will expire, notifying the other NameNode that a failover should be triggered.
    • +
    • Active NameNode election - ZooKeeper provides a simple mechanism to exclusively elect a node as active. If the current active NameNode crashes, +another node may take a special exclusive lock in ZooKeeper indicating that it should become the next active.
    • +
    +
  • +
  • +

    The ZKFailoverController (ZKFC) is a new component which is a ZooKeeper client which also monitors and manages the state of the NameNode. +Each of the machines which runs a NameNode also runs a ZKFC, and that ZKFC is responsible for:

    +
      +
    • Health monitoring - the ZKFC pings its local NameNode on a periodic basis with a health-check command. +So long as the NameNode responds in a timely fashion with a healthy status, the ZKFC considers the node healthy. +If the node has crashed, frozen, or otherwise entered an unhealthy state, the health monitor will mark it as unhealthy.
    • +
    • ZooKeeper session management - when the local NameNode is healthy, the ZKFC holds a session open in ZooKeeper. +If the local NameNode is active, it also holds a special “lock” znode. This lock uses ZooKeeper’s support for “ephemeral” nodes; +if the session expires, the lock node will be automatically deleted.
    • +
    • ZooKeeper-based election - if the local NameNode is healthy, and the ZKFC sees that no other node currently holds the lock znode, +it will itself try to acquire the lock. If it succeeds, then it has “won the election”, and is responsible for running a failover to make its local NameNode active. +The failover process is similar to the manual failover described above: first, the previous active is fenced if necessary, +and then the local NameNode transitions to active state 11.
    • +
    +
  • +
+

Apache HBase

+
    +
  • HBase is the Hadoop database. It's an open-source, distributed, column-oriented store model.
  • +
  • HBase uses ZooKeeper for master election, server lease management, bootstrapping, and coordination between servers. +A distributed Apache HBase installation depends on a running ZooKeeper cluster. All participating nodes and clients +need to be able to access the running ZooKeeper ensemble 12.
  • +
  • As you can see, ZooKeeper is a fundamental part of HBase. All operations that require coordination, such as Regions +assignment, Master-Failover, replication, and snapshots, are built on ZooKeeper 13.
  • +
+

Apache Helix

+
    +
  • A cluster management framework for partitioned and replicated distributed resources.
  • +
  • We need a distributed store to maintain the state of the cluster and a notification system to notify if there is any change in the cluster state. +Helix uses Apache ZooKeeper to achieve this functionality 14. +Zookeeper provides:
  • +
  • A way to represent PERSISTENT state which remains until its deleted
  • +
  • A way to represent TRANSIENT/EPHEMERAL state which vanishes when the process that created the state dies
  • +
  • A notification mechanism when there is a change in PERSISTENT and EPHEMERAL state
  • +
+

Apache Hive

+
    +
  • The Apache Hive data warehouse software facilitates reading, writing, and managing large datasets residing in distributed +storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.
  • +
  • Hive has been using ZooKeeper as distributed lock manager to support concurrency in HiveServer2 [25,26].
  • +
+

Apache Ignite

+
    +
  • Ignite is a memory-centric distributed database, caching, and processing platform for +transactional, analytical, and streaming workloads delivering in-memory speeds at petabyte scale
  • +
  • Apache Ignite discovery mechanism goes with a ZooKeeper implementations which allows scaling Ignite clusters to 100s and 1000s of nodes +preserving linear scalability and performance [31,34].​
  • +
+

Apache James Mailbox

+
    +
  • The Apache James Mailbox is a library providing a flexible Mailbox storage accessible by mail protocols +(IMAP4, POP3, SMTP,...) and other protocols.
  • +
  • Uses Zookeeper and Curator Framework for generating distributed unique ID's 15.
  • +
+

Apache Kafka

+
    +
  • Kafka is a distributed publish/subscribe messaging system
  • +
  • Apache Kafka relies on ZooKeeper for the following things: +
      +
    • Controller election +The controller is one of the most important broking entity in a Kafka ecosystem, and it also has the responsibility +to maintain the leader-follower relationship across all the partitions. If a node by some reason is shutting down, +it’s the controller’s responsibility to tell all the replicas to act as partition leaders in order to fulfill the +duties of the partition leaders on the node that is about to fail. So, whenever a node shuts down, a new controller +can be elected and it can also be made sure that at any given time, there is only one controller and all the follower nodes have agreed on that.
    • +
    • Configuration Of Topics +The configuration regarding all the topics including the list of existing topics, the number of partitions for each topic, +the location of all the replicas, list of configuration overrides for all topics and which node is the preferred leader, etc.
    • +
    • Access control lists +Access control lists or ACLs for all the topics are also maintained within Zookeeper.
    • +
    • Membership of the cluster +Zookeeper also maintains a list of all the brokers that are functioning at any given moment and are a part of the cluster 16.
    • +
    +
  • +
+

Apache Kylin

+
    +
  • Apache Kylin is an open source Distributed Analytics Engine designed to provide SQL interface and multi-dimensional analysis (OLAP) on Hadoop/Spark supporting extremely large datasets, +original contributed from eBay Inc.
  • +
  • Apache Kylin leverages Zookeeper for job coordination [31,33].
  • +
+

Apache Mesos

+
    +
  • Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), +enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.
  • +
  • Mesos has a high-availability mode that uses multiple Mesos masters: one active master (called the leader or leading master) +and several backups in case it fails. The masters elect the leader, with Apache ZooKeeper both coordinating the election +and handling leader detection by masters, agents, and scheduler drivers 17.
  • +
+

Apache Oozie

+
    +
  • Oozie is a workflow scheduler system to manage Apache Hadoop jobs.
  • +
  • the Oozie servers use it for coordinating access to the database and communicating with each other. In order to have full HA, +there should be at least 3 ZooKeeper servers 18.
  • +
+

Apache Pulsar

+
    +
  • Apache Pulsar is an open-source distributed pub-sub messaging system originally created at Yahoo and now part of the Apache Software Foundation
  • +
  • Pulsar uses Apache Zookeeper for metadata storage, cluster configuration, and coordination. In a Pulsar instance: +
      +
    • A configuration store quorum stores configuration for tenants, namespaces, and other entities that need to be globally consistent.
    • +
    • Each cluster has its own local ZooKeeper ensemble that stores cluster-specific configuration and coordination such as ownership metadata, +broker load reports, BookKeeper ledger metadata, and more 19.
    • +
    +
  • +
+

Apache Solr

+
    +
  • Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene.
  • +
  • In the "Cloud" edition (v4.x and up) of enterprise search engine Apache Solr, ZooKeeper is used for configuration, +leader election and more [12,13].
  • +
+

Apache Spark

+
    +
  • Apache Spark is a unified analytics engine for large-scale data processing.
  • +
  • Utilizing ZooKeeper to provide leader election and some state storage, you can launch multiple Masters in your cluster connected to the same ZooKeeper instance. +One will be elected “leader” and the others will remain in standby mode. If the current leader dies, another Master will be elected, +recover the old Master’s state, and then resume scheduling 20.
  • +
+

Apache Storm

+
    +
  • Apache Storm is a free and open source distributed realtime computation system. Apache Storm makes it easy to reliably +process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing. +Apache Storm is simple, can be used with any programming language, and is a lot of fun to use!
  • +
  • Storm uses Zookeeper for coordinating the cluster 21.
  • +
+

Companies

+

AGETO

+
    +
  • The AGETO RnD team uses ZooKeeper in a variety of internal as well as external consulting projects 1.
  • +
+

Benipal Technologies

+
    +
  • ZooKeeper is used for internal application development with Solr and Hadoop with Hbase 1.
  • +
+

Box

+
    +
  • Box uses ZooKeeper for service discovery, service coordination, Solr and Hadoop support, etc 1.
  • +
+

Deepdyve

+
    +
  • We do search for research and provide access to high quality content using advanced search technologies Zookeeper is used to +manage server state, control index deployment and a myriad other tasks 1.
  • +
+

Facebook

+
    +
  • Facebook uses the Zeus ([17,18]) for configuration management which is a forked version of ZooKeeper, with many scalability +and performance en- hancements in order to work at the Facebook scale. +It runs a consensus protocol among servers distributed across mul- tiple regions for resilience. If the leader fails, +a follower is converted into a new leader.
  • +
+

Idium Portal

+
    +
  • Idium Portal is a hosted web-publishing system delivered by Norwegian company, Idium AS.
  • +
  • ZooKeeper is used for cluster messaging, service bootstrapping, and service coordination 1.
  • +
+

Makara

+
    +
  • Using ZooKeeper on 2-node cluster on VMware workstation, Amazon EC2, Zen
  • +
  • Using zkpython
  • +
  • Looking into expanding into 100 node cluster 1.
  • +
+

Midokura

+
    +
  • We do virtualized networking for the cloud computing era. We use ZooKeeper for various aspects of our distributed control plane 1.
  • +
+

Pinterest

+
    +
  • Pinterest uses the ZooKeeper for Service discovery and dynamic configuration.Like many large scale web sites, Pinterest’s infrastructure consists of servers that communicate with +backend services composed of a number of individual servers for managing load and fault tolerance. Ideally, we’d like the configuration to reflect only the active hosts, +so clients don’t need to deal with bad hosts as often. ZooKeeper provides a well known pattern to solve this problem 22.
  • +
+

Rackspace

+
    +
  • The Email & Apps team uses ZooKeeper to coordinate sharding and responsibility changes in a distributed e-mail client +that pulls and indexes data for search. ZooKeeper also provides distributed locking for connections to prevent a cluster from overwhelming servers 1.
  • +
+

Sematext

+
    +
  • Uses ZooKeeper in SPM (which includes ZooKeeper monitoring component, too!), Search Analytics, and Logsene 1.
  • +
+

Tubemogul

+
    +
  • Uses ZooKeeper for leader election, configuration management, locking, group membership 1.
  • +
+

Twitter

+
    +
  • ZooKeeper is used at Twitter as the source of truth for storing critical metadata. It serves as a coordination kernel to +provide distributed coordination services, such as leader election and distributed locking. +Some concrete examples of ZooKeeper in action include [15,16]: +
      +
    • ZooKeeper is used to store service registry, which is used by Twitter’s naming service for service discovery.
    • +
    • Manhattan (Twitter’s in-house key-value database), Nighthawk (sharded Redis), and Blobstore (in-house photo and video storage), +stores its cluster topology information in ZooKeeper.
    • +
    • EventBus, Twitter’s pub-sub messaging system, stores critical metadata in ZooKeeper and uses ZooKeeper for leader election.
    • +
    • Mesos, Twitter’s compute platform, uses ZooKeeper for leader election.
    • +
    +
  • +
+

Vast.com

+
    +
  • Used internally as a part of sharding services, distributed synchronization of data/index updates, configuration management and failover support 1.
  • +
+

Wealthfront

+
    +
  • Wealthfront uses ZooKeeper for service discovery, leader election and distributed locking among its many backend services. +ZK is an essential part of Wealthfront's continuous deployment infrastructure 1.
  • +
+

Yahoo!

+
    +
  • ZooKeeper is used for a myriad of services inside Yahoo! for doing leader election, configuration management, sharding, locking, group membership etc 1.
  • +
+

Zynga

+
    +
  • ZooKeeper at Zynga is used for a variety of services including configuration management, leader election, sharding and more 1.
  • +
+

Footnotes

+
    +
  1. +

    https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

    +
  2. +
  3. +

    https://spring.io/projects/spring-cloud-zookeeper

    +
  4. +
  5. +

    https://www.youtube.com/watch?v=Ew53T6h9oRw

    +
  6. +
  7. +

    https://bookkeeper.apache.org/docs/4.7.3/getting-started/concepts/#ledgers

    +
  8. +
  9. +

    http://cxf.apache.org/dosgi-discovery-demo-page.html

    +
  10. +
  11. +

    https://mapr.com/blog/apache-drill-architecture-ultimate-guide/

    +
  12. +
  13. +

    https://druid.apache.org/docs/latest/dependencies/zookeeper.html

    +
  14. +
  15. +

    http://dubbo.apache.org/en-us/blog/dubbo-zk.html

    +
  16. +
  17. +

    https://ci.apache.org/projects/flink/flink-docs-release-1.9/ops/jobmanager_high_availability.html

    +
  18. +
  19. +

    https://flume.apache.org/FlumeUserGuide.html

    +
  20. +
  21. +

    https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

    +
  22. +
  23. +

    https://hbase.apache.org/book.html#zookeeper

    +
  24. +
  25. +

    https://blog.cloudera.com/what-are-hbase-znodes/

    +
  26. +
  27. +

    https://helix.apache.org/Architecture.html

    +
  28. +
  29. +

    https://cwiki.apache.org/confluence/display/CURATOR/Powered+By

    +
  30. +
  31. +

    https://www.cloudkarafka.com/blog/2018-07-04-cloudkarafka_what_is_zookeeper.html

    +
  32. +
  33. +

    http://mesos.apache.org/documentation/latest/high-availability/

    +
  34. +
  35. +

    https://oozie.apache.org/docs/4.1.0/AG_Install.html

    +
  36. +
  37. +

    https://pulsar.apache.org/docs/en/concepts-architecture-overview/#metadata-store

    +
  38. +
  39. +

    https://spark.apache.org/docs/latest/spark-standalone.html#standby-masters-with-zookeeper

    +
  40. +
  41. +

    http://storm.apache.org/releases/current/Setting-up-a-Storm-cluster.html

    +
  42. +
  43. +

    https://medium.com/@Pinterest_Engineering/zookeeper-resilience-at-pinterest-adfd8acf2a6b

    +
  44. +
+
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/index.html b/content/docs/index.html new file mode 100644 index 00000000000..bd7b29f39ec --- /dev/null +++ b/content/docs/index.html @@ -0,0 +1,251 @@ +3.9.5 Overview | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

3.9.5 Overview

Official Apache ZooKeeper 3.9.5 documentation covering installation, configuration, the data model, client APIs, administration, and operations.

ZooKeeper: A Distributed Coordination Service for Distributed Applications

+

ZooKeeper is a distributed, open-source coordination service for +distributed applications. It exposes a simple set of primitives that +distributed applications can build upon to implement higher level services +for synchronization, configuration maintenance, and groups and naming. It +is designed to be easy to program to, and uses a data model styled after +the familiar directory tree structure of file systems. It runs in Java and +has bindings for both Java and C.

+

Coordination services are notoriously hard to get right. They are +especially prone to errors such as race conditions and deadlock. The +motivation behind ZooKeeper is to relieve distributed applications the +responsibility of implementing coordination services from scratch.

+

Design Goals

+

ZooKeeper is simple. ZooKeeper +allows distributed processes to coordinate with each other through a +shared hierarchical namespace which is organized similarly to a standard +file system. The namespace consists of data registers - called znodes, +in ZooKeeper parlance - and these are similar to files and directories. +Unlike a typical file system, which is designed for storage, ZooKeeper +data is kept in-memory, which means ZooKeeper can achieve high +throughput and low latency numbers.

+

The ZooKeeper implementation puts a premium on high performance, +highly available, strictly ordered access. The performance aspects of +ZooKeeper means it can be used in large, distributed systems. The +reliability aspects keep it from being a single point of failure. The +strict ordering means that sophisticated synchronization primitives can +be implemented at the client.

+

ZooKeeper is replicated. Like the +distributed processes it coordinates, ZooKeeper itself is intended to be +replicated over a set of hosts called an ensemble.

+

ZooKeeper Service

+

The servers that make up the ZooKeeper service must all know about +each other. They maintain an in-memory image of state, along with a +transaction logs and snapshots in a persistent store. As long as a +majority of the servers are available, the ZooKeeper service will be +available.

+

Clients connect to a single ZooKeeper server. The client maintains +a TCP connection through which it sends requests, gets responses, gets +watch events, and sends heart beats. If the TCP connection to the server +breaks, the client will connect to a different server.

+

ZooKeeper is ordered. ZooKeeper +stamps each update with a number that reflects the order of all +ZooKeeper transactions. Subsequent operations can use the order to +implement higher-level abstractions, such as synchronization +primitives.

+

ZooKeeper is fast. It is +especially fast in "read-dominant" workloads. ZooKeeper applications run +on thousands of machines, and it performs best where reads are more +common than writes, at ratios of around 10:1.

+

Data model and the hierarchical namespace

+

The namespace provided by ZooKeeper is much like that of a +standard file system. A name is a sequence of path elements separated by +a slash (/). Every node in ZooKeeper's namespace is identified by a +path.

+

ZooKeeper's Hierarchical Namespace

+

ZooKeeper's Hierarchical Namespace

+

Nodes and ephemeral nodes

+

Unlike standard file systems, each node in a ZooKeeper +namespace can have data associated with it as well as children. It is +like having a file-system that allows a file to also be a directory. +(ZooKeeper was designed to store coordination data: status information, +configuration, location information, etc., so the data stored at each +node is usually small, in the byte to kilobyte range.) We use the term +znode to make it clear that we are talking about +ZooKeeper data nodes.

+

Znodes maintain a stat structure that includes version numbers for +data changes, ACL changes, and timestamps, to allow cache validations +and coordinated updates. Each time a znode's data changes, the version +number increases. For instance, whenever a client retrieves data it also +receives the version of the data.

+

The data stored at each znode in a namespace is read and written +atomically. Reads get all the data bytes associated with a znode and a +write replaces all the data. Each node has an Access Control List (ACL) +that restricts who can do what.

+

ZooKeeper also has the notion of ephemeral nodes. These znodes +exists as long as the session that created the znode is active. When the +session ends the znode is deleted.

+

Conditional updates and watches

+

ZooKeeper supports the concept of watches. +Clients can set a watch on a znode. A watch will be triggered and +removed when the znode changes. When a watch is triggered, the client +receives a packet saying that the znode has changed. If the +connection between the client and one of the ZooKeeper servers is +broken, the client will receive a local notification.

+

New in 3.6.0: Clients can also set +permanent, recursive watches on a znode that are not removed when triggered +and that trigger for changes on the registered znode as well as any children +znodes recursively.

+

Guarantees

+

ZooKeeper is very fast and very simple. Since its goal, though, is +to be a basis for the construction of more complicated services, such as +synchronization, it provides a set of guarantees. These are:

+
    +
  • Sequential Consistency - Updates from a client will be applied +in the order that they were sent.
  • +
  • Atomicity - Updates either succeed or fail. No partial +results.
  • +
  • Single System Image - A client will see the same view of the +service regardless of the server that it connects to. i.e., a +client will never see an older view of the system even if the +client fails over to a different server with the same session.
  • +
  • Reliability - Once an update has been applied, it will persist +from that time forward until a client overwrites the update.
  • +
  • Timeliness - The clients view of the system is guaranteed to +be up-to-date within a certain time bound.
  • +
+

Simple API

+

One of the design goals of ZooKeeper is providing a very simple +programming interface. As a result, it supports only these +operations:

+
    +
  • create : creates a node at a location in the tree
  • +
  • delete : deletes a node
  • +
  • exists : tests if a node exists at a location
  • +
  • get data : reads the data from a node
  • +
  • set data : writes data to a node
  • +
  • get children : retrieves a list of children of a node
  • +
  • sync : waits for data to be propagated
  • +
+

Implementation

+

ZooKeeper Components shows the high-level components +of the ZooKeeper service. With the exception of the request processor, +each of +the servers that make up the ZooKeeper service replicates its own copy +of each of the components.

+

ZooKeeper Components

+

The replicated database is an in-memory database containing the +entire data tree. Updates are logged to disk for recoverability, and +writes are serialized to disk before they are applied to the in-memory +database.

+

Every ZooKeeper server services clients. Clients connect to +exactly one server to submit requests. Read requests are serviced from +the local replica of each server database. Requests that change the +state of the service, write requests, are processed by an agreement +protocol.

+

As part of the agreement protocol all write requests from clients +are forwarded to a single server, called the +leader. The rest of the ZooKeeper servers, called +followers, receive message proposals from the +leader and agree upon message delivery. The messaging layer takes care +of replacing leaders on failures and syncing followers with +leaders.

+

ZooKeeper uses a custom atomic messaging protocol. Since the +messaging layer is atomic, ZooKeeper can guarantee that the local +replicas never diverge. When the leader receives a write request, it +calculates what the state of the system is when the write is to be +applied and transforms this into a transaction that captures this new +state.

+

Uses

+

The programming interface to ZooKeeper is deliberately simple. +With it, however, you can implement higher order operations, such as +synchronizations primitives, group membership, ownership, etc.

+

Performance

+

ZooKeeper is designed to be highly performance. But is it? The +results of the ZooKeeper's development team at Yahoo! Research indicate +that it is. It is especially high +performance in applications where reads outnumber writes, since writes +involve synchronizing the state of all servers. (Reads outnumbering +writes is typically the case for a coordination service.)

+

ZooKeeper Throughput as the Read-Write Ratio Varies

+

The "ZooKeeper Throughput as the Read-Write Ratio Varies" is a throughput +graph of ZooKeeper release 3.2 running on servers with dual 2Ghz +Xeon and two SATA 15K RPM drives. One drive was used as a +dedicated ZooKeeper log device. The snapshots were written to +the OS drive. Write requests were 1K writes and the reads were +1K reads. "Servers" indicate the size of the ZooKeeper +ensemble, the number of servers that make up the +service. Approximately 30 other servers were used to simulate +the clients. The ZooKeeper ensemble was configured such that +leaders do not allow connections from clients.

+

In version 3.2 r/w performance improved by ~2x compared to

+

the previous 3.1 release.

+

Benchmarks also indicate that it is reliable, too. +Reliability in the Presence of Errors shows how a deployment responds to +various failures. The events marked in the figure are the following:

+
    +
  1. Failure and recovery of a follower
  2. +
  3. Failure and recovery of a different follower
  4. +
  5. Failure of the leader
  6. +
  7. Failure and recovery of two followers
  8. +
  9. Failure of another leader
  10. +
+

Reliability

+

To show the behavior of the system over time as +failures are injected we ran a ZooKeeper service made up of +7 machines. We ran the same saturation benchmark as before, +but this time we kept the write percentage at a constant +30%, which is a conservative ratio of our expected +workloads.

+

Reliability in the Presence of Errors

+

There are a few important observations from this graph. First, if +followers fail and recover quickly, then ZooKeeper is able to sustain a +high throughput despite the failure. But maybe more importantly, the +leader election algorithm allows for the system to recover fast enough +to prevent throughput from dropping substantially. In our observations, +ZooKeeper takes less than 200ms to elect a new leader. Third, as +followers recover, ZooKeeper is able to raise throughput again once they +start processing requests.

+

The ZooKeeper Project

+

ZooKeeper has been +successfully used +in many industrial applications. It is used at Yahoo! as the +coordination and failure recovery service for Yahoo! Message +Broker, which is a highly scalable publish-subscribe system +managing thousands of topics for replication and data +delivery. It is used by the Fetching Service for Yahoo! +crawler, where it also manages failure recovery. A number of +Yahoo! advertising systems also use ZooKeeper to implement +reliable services.

+

All users and developers are encouraged to join the +community and contribute their expertise. See the +Zookeeper Project on Apache +for more information.

Edit on GitHub
\ No newline at end of file diff --git a/content/docs/miscellaneous/internals.data b/content/docs/miscellaneous/internals.data new file mode 100644 index 00000000000..7b140a4a94b --- /dev/null +++ b/content/docs/miscellaneous/internals.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","miscellaneous/internals.mdx","url","/docs/miscellaneous/internals","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,45,48,117,123,129,135,141,146,149,202,208,214,220,226,232,238,244,250,256,259,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":40,"_19":25,"_13":41,"_27":42,"_21":-7,"_7":43,"_30":44},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":40},{"_11":46,"_19":20,"_21":-7,"_13":47},"#3","Developer",{"_19":49,"_13":50,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":53,"_15":58,"_11":113,"_30":114},"folder","Programmer's Guide","defaultOpen","index",{"_11":54,"_19":25,"_13":50,"_27":55,"_21":-7,"_7":56,"_30":57},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":54},[59,65,71,77,83,89,95,101,107],{"_11":60,"_19":25,"_13":61,"_27":62,"_21":-7,"_7":63,"_30":64},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":60},{"_11":66,"_19":25,"_13":67,"_27":68,"_21":-7,"_7":69,"_30":70},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":66},{"_11":72,"_19":25,"_13":73,"_27":74,"_21":-7,"_7":75,"_30":76},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":72},{"_11":78,"_19":25,"_13":79,"_27":80,"_21":-7,"_7":81,"_30":82},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":78},{"_11":84,"_19":25,"_13":85,"_27":86,"_21":-7,"_7":87,"_30":88},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":84},{"_11":90,"_19":25,"_13":91,"_27":92,"_21":-7,"_7":93,"_30":94},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":90},{"_11":96,"_19":25,"_13":97,"_27":98,"_21":-7,"_7":99,"_30":100},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":96},{"_11":102,"_19":25,"_13":103,"_27":104,"_21":-7,"_7":105,"_30":106},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":102},{"_11":108,"_19":25,"_13":109,"_27":110,"_21":-7,"_7":111,"_30":112},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":108},"developer/programmers-guide",{"_115":116},"metaFile","developer/programmers-guide/meta.json",{"_11":118,"_19":25,"_13":119,"_27":120,"_21":-7,"_7":121,"_30":122},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":118},{"_11":124,"_19":25,"_13":125,"_27":126,"_21":-7,"_7":127,"_30":128},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":124},{"_11":130,"_19":25,"_13":131,"_27":132,"_21":-7,"_7":133,"_30":134},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":130},{"_11":136,"_19":25,"_13":137,"_27":138,"_21":-7,"_7":139,"_30":140},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":136},{"_19":25,"_21":-7,"_13":142,"_7":143,"_144":145},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":147,"_19":20,"_21":-7,"_13":148},"#6","Admin & Ops",{"_19":49,"_13":150,"_21":-7,"_12":-7,"_51":-7,"_27":-7,"_52":151,"_15":156,"_11":199,"_30":200},"Administrator's Guide",{"_11":152,"_19":25,"_13":150,"_27":153,"_21":-7,"_7":154,"_30":155},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":152},[157,163,169,175,181,187,193],{"_11":158,"_19":25,"_13":159,"_27":160,"_21":-7,"_7":161,"_30":162},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":158},{"_11":164,"_19":25,"_13":165,"_27":166,"_21":-7,"_7":167,"_30":168},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":164},{"_11":170,"_19":25,"_13":171,"_27":172,"_21":-7,"_7":173,"_30":174},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":170},{"_11":176,"_19":25,"_13":177,"_27":178,"_21":-7,"_7":179,"_30":180},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":176},{"_11":182,"_19":25,"_13":183,"_27":184,"_21":-7,"_7":185,"_30":186},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":182},{"_11":188,"_19":25,"_13":189,"_27":190,"_21":-7,"_7":191,"_30":192},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":188},{"_11":194,"_19":25,"_13":195,"_27":196,"_21":-7,"_7":197,"_30":198},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":194},"admin-ops/administrators-guide",{"_115":201},"admin-ops/administrators-guide/meta.json",{"_11":203,"_19":25,"_13":204,"_27":205,"_21":-7,"_7":206,"_30":207},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":203},{"_11":209,"_19":25,"_13":210,"_27":211,"_21":-7,"_7":212,"_30":213},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":209},{"_11":215,"_19":25,"_13":216,"_27":217,"_21":-7,"_7":218,"_30":219},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":215},{"_11":221,"_19":25,"_13":222,"_27":223,"_21":-7,"_7":224,"_30":225},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":221},{"_11":227,"_19":25,"_13":228,"_27":229,"_21":-7,"_7":230,"_30":231},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":227},{"_11":233,"_19":25,"_13":234,"_27":235,"_21":-7,"_7":236,"_30":237},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":233},{"_11":239,"_19":25,"_13":240,"_27":241,"_21":-7,"_7":242,"_30":243},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":239},{"_11":245,"_19":25,"_13":246,"_27":247,"_21":-7,"_7":248,"_30":249},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":245},{"_11":251,"_19":25,"_13":252,"_27":253,"_21":-7,"_7":254,"_30":255},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":251},{"_11":257,"_19":20,"_21":-7,"_13":258},"#8","Miscellaneous",{"_11":6,"_19":25,"_13":260,"_27":261,"_21":-7,"_7":8,"_30":262},"Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.",{"_32":6},{"_19":25,"_21":-7,"_13":264,"_7":265,"_144":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_144":145},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_144":145},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_144":145},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/miscellaneous/internals/index.html b/content/docs/miscellaneous/internals/index.html new file mode 100644 index 00000000000..a792b95904d --- /dev/null +++ b/content/docs/miscellaneous/internals/index.html @@ -0,0 +1,287 @@ +Internals | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Internals

This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.

Atomic Broadcast

+

At the heart of ZooKeeper is an atomic messaging system that keeps all of the servers in sync.

+

Guarantees, Properties, and Definitions

+

The specific guarantees provided by the ZooKeeper messaging system are:

+
    +
  • Reliable delivery: If a message m is delivered by one server, message m will eventually be delivered by all servers.
  • +
  • Total order: If a message a is delivered before message b by one server, message a will be delivered before b by all servers.
  • +
  • Causal order: If a message b is sent after a message a has been delivered by the sender of b, message a must be ordered before b. If a sender sends c after sending b, c must be ordered after b.
  • +
+

The ZooKeeper messaging system also needs to be efficient, reliable, and easy to +implement and maintain. We make heavy use of messaging, so we need the system to +be able to handle thousands of requests per second. Although we can require at +least k+1 correct servers to send new messages, we must be able to recover from +correlated failures such as power outages. When we implemented the system we had +little time and few engineering resources, so we needed a protocol that is +accessible to engineers and is easy to implement. We found that our protocol +satisfied all of these goals.

+

Our protocol assumes that we can construct point-to-point FIFO channels between +the servers. While similar services usually assume message delivery that can +lose or reorder messages, our assumption of FIFO channels is very practical +given that we use TCP for communication. Specifically we rely on the following property of TCP:

+
    +
  • Ordered delivery: Data is delivered in the same order it is sent and a message m is delivered only after all messages sent before m have been delivered. (The corollary is that if message m is lost, all messages after m will also be lost.)
  • +
  • No message after close: Once a FIFO channel is closed, no messages will be received from it.
  • +
+

FLP proved that consensus cannot be achieved in asynchronous distributed systems +if failures are possible. To ensure that we achieve consensus in the presence of failures +we use timeouts. However, we rely on time for liveness, not for correctness. So, +if timeouts stop working (e.g., skewed clocks) the messaging system may +hang, but it will not violate its guarantees.

+

When describing the ZooKeeper messaging protocol we will talk of packets, +proposals, and messages:

+
    +
  • Packet: A sequence of bytes sent through a FIFO channel.
  • +
  • Proposal: A unit of agreement. Proposals are agreed upon by exchanging packets with a quorum of ZooKeeper servers. Most proposals contain messages; however, the NEW_LEADER proposal is an example of a proposal that does not contain a message.
  • +
  • Message: A sequence of bytes to be atomically broadcast to all ZooKeeper servers. A message is put into a proposal and agreed upon before it is delivered.
  • +
+

As stated above, ZooKeeper guarantees a total order of messages, and it also +guarantees a total order of proposals. ZooKeeper exposes the total ordering using +a ZooKeeper transaction id (zxid). All proposals will be stamped with a zxid when +proposed and exactly reflect the total ordering. Proposals are sent to all +ZooKeeper servers and committed when a quorum of them acknowledge the proposal. +If a proposal contains a message, the message will be delivered when the proposal +is committed. Acknowledgement means the server has recorded the proposal to persistent storage. +Our quorums have the requirement that any pair of quorums must have at least one server +in common. We ensure this by requiring that all quorums have size (n/2+1) where +n is the number of servers that make up a ZooKeeper service.

+

The zxid has two parts: the epoch and a counter. In our implementation the zxid +is a 64-bit number. We use the high order 32-bits for the epoch and the low order +32-bits for the counter. Because a zxid consists of two parts, it can be represented both as a +number and as a pair of integers, (epoch, count). The epoch number represents a +change in leadership. Each time a new leader comes into power it will have its +own epoch number. We have a simple algorithm to assign a unique zxid to a proposal: +the leader simply increments the zxid to obtain a unique zxid for each proposal. +Leadership activation will ensure that only one leader uses a given epoch, so our +simple algorithm guarantees that every proposal will have a unique id.

+

ZooKeeper messaging consists of two phases:

+
    +
  • Leader activation: In this phase a leader establishes the correct state of the system and gets ready to start making proposals.
  • +
  • Active messaging: In this phase a leader accepts messages to propose and coordinates message delivery.
  • +
+

ZooKeeper is a holistic protocol. We do not focus on individual proposals, rather +we look at the stream of proposals as a whole. Our strict ordering allows us to do this +efficiently and greatly simplifies our protocol. Leadership activation embodies +this holistic concept. A leader becomes active only when a quorum of followers +(the leader counts as a follower as well — you can always vote for yourself) has synced +up with the leader: they have the same state. This state consists of all of the +proposals that the leader believes have been committed and the proposal to follow +the leader, the NEW_LEADER proposal. (Hopefully you are thinking: +Does the set of proposals that the leader believes has been committed +include all the proposals that really have been committed? The answer is yes. +Below, we make clear why.)

+

Leader Activation

+

Leader activation includes leader election (FastLeaderElection). +ZooKeeper messaging doesn't care about the exact method of electing a leader as long as the following holds:

+
    +
  • The leader has seen the highest zxid of all the followers.
  • +
  • A quorum of servers have committed to following the leader.
  • +
+

Of these two requirements, only the first — the highest zxid among the followers — +needs to hold for correct operation. The second requirement, a quorum of followers, +just needs to hold with high probability. We are going to recheck the second requirement, +so if a failure happens during or after the leader election and quorum is lost, +we will recover by abandoning leader activation and running another election.

+

After leader election a single server will be designated as a leader and start +waiting for followers to connect. The rest of the servers will try to connect to +the leader. The leader will sync up with the followers by sending any proposals they +are missing, or if a follower is missing too many proposals, it will send a full +snapshot of the state to the follower.

+

There is a corner case in which a follower that has proposals, U, not seen +by a leader arrives. Proposals are seen in order, so the proposals of U will have zxids +higher than zxids seen by the leader. The follower must have arrived after the +leader election, otherwise the follower would have been elected leader given that +it has seen a higher zxid. Since committed proposals must be seen by a quorum of +servers, and a quorum of servers that elected the leader did not see U, the proposals +of U have not been committed, so they can be discarded. When the follower connects +to the leader, the leader will tell the follower to discard U.

+

A new leader establishes a zxid to start using for new proposals by getting the +epoch, e, of the highest zxid it has seen and setting the next zxid to use to be +(e+1, 0). After the leader syncs with a follower, it will propose a NEW_LEADER +proposal. Once the NEW_LEADER proposal has been committed, the leader will activate +and start receiving and issuing proposals.

+

The basic rules of operation during leader activation are:

+
    +
  • A follower will ACK the NEW_LEADER proposal after it has synced with the leader.
  • +
  • A follower will only ACK a NEW_LEADER proposal with a given zxid from a single server.
  • +
  • A new leader will COMMIT the NEW_LEADER proposal when a quorum of followers has ACKed it.
  • +
  • A follower will commit any state it received from the leader when the NEW_LEADER proposal is COMMITted.
  • +
  • A new leader will not accept new proposals until the NEW_LEADER proposal has been COMMITted.
  • +
+

If leader election terminates erroneously, we don't have a problem since the +NEW_LEADER proposal will not be committed because the leader will not have quorum. +When this happens, the leader and any remaining followers will timeout and go back +to leader election.

+

Active Messaging

+

Leader Activation does all the heavy lifting. Once the leader is coronated it can +start blasting out proposals. As long as it remains the leader no other leader can +emerge since no other leader will be able to get a quorum of followers. If a new +leader does emerge, it means that the current leader has lost quorum, and the new +leader will clean up any mess left over during its activation.

+

ZooKeeper messaging operates similar to a classic two-phase commit.

+

Two phase commit

+

All communication channels are FIFO, so everything is done in order. Specifically +the following operating constraints are observed:

+
    +
  • The leader sends proposals to all followers using the same order. Moreover, this order follows the order in which requests were received. Because we use FIFO channels this means that followers also receive proposals in order.
  • +
  • Followers process messages in the order they are received. This means that messages will be ACKed in order and the leader will receive ACKs from followers in order, due to the FIFO channels. It also means that if message m has been written to non-volatile storage, all messages that were proposed before m have been written to non-volatile storage.
  • +
  • The leader will issue a COMMIT to all followers as soon as a quorum of followers have ACKed a message. Since messages are ACKed in order, COMMITs will be sent by the leader and received by the followers in order.
  • +
  • COMMITs are processed in order. Followers deliver a proposal message when that proposal is committed.
  • +
+

Summary

+

Why does it work? Specifically, why does a set of proposals believed by a new leader +always contain any proposal that has actually been committed? First, all proposals have +a unique zxid, so unlike other protocols, we never have to worry about two different +values being proposed for the same zxid; followers (a leader is also a follower) see +and record proposals in order; proposals are committed in order; there is only one active +leader at a time since followers only follow a single leader at a time; a new leader has +seen all committed proposals from the previous epoch since it has seen the highest zxid +from a quorum of servers; any uncommitted proposals from a previous epoch seen by a new +leader will be committed by that leader before it becomes active.

+

Comparisons

+

Isn't this just Multi-Paxos? No. Multi-Paxos requires some way of assuring that +there is only a single coordinator. We do not count on such assurances. Instead +we use leader activation to recover from leadership changes or old leaders +believing they are still active.

+

Isn't this just Paxos? The active messaging phase looks just like phase 2 of Paxos. +Actually, to us active messaging looks just like 2-phase commit without the need to +handle aborts. Active messaging is different from both in the sense that it has +cross-proposal ordering requirements. If we do not maintain strict FIFO ordering of +all packets, it all falls apart. Also, our leader activation phase is different from +both of them. In particular, our use of epochs allows us to skip blocks of uncommitted +proposals and to not worry about duplicate proposals for a given zxid.

+

Consistency Guarantees

+

The consistency guarantees of ZooKeeper lie between +sequential consistency and linearizability.

+

Write operations in ZooKeeper are linearizable. Each write will appear to take effect +atomically at some point between when the client issues the request and receives the +corresponding response. This means that the writes performed by all clients can be totally +ordered in a way that respects their real-time ordering. However, merely stating that writes +are linearizable is meaningless unless we also talk about reads.

+

Read operations in ZooKeeper are not linearizable since they can return stale data. A read +in ZooKeeper is not a quorum operation — a server will respond immediately to a client +performing a read. ZooKeeper prioritizes performance over consistency for reads. However, +reads are sequentially consistent, because read operations appear to take effect in some +sequential order that respects each client's operation order. A common workaround is to issue +a sync before a read. This too does not strictly guarantee up-to-date data because +sync is not currently a quorum operation.

+

To illustrate: consider a scenario where two servers simultaneously think they are the leader, +which could occur if the TCP connection timeout is smaller than syncLimit * tickTime. Note +that this is unlikely +to occur in practice, but is worth keeping in mind. Under this scenario, the sync may be +served by the "leader" with stale data, allowing the following read to be stale as well. +The stronger guarantee of linearizability is provided if an actual quorum operation (e.g., a +write) is performed before a read.

+

Overall, the consistency guarantees of ZooKeeper are formally captured by the notion of +ordered sequential consistency +(OSC(U)), which lies between sequential consistency and linearizability.

+

Quorums

+

Atomic broadcast and leader election use the notion of quorums to guarantee a consistent +view of the system. By default, ZooKeeper uses majority quorums, which means that every +voting operation requires a majority to vote. One example is acknowledging a leader proposal: +the leader can only commit once it receives an acknowledgement from a quorum of servers.

+

If we extract the properties that we really need from our use of majorities, we have that we only +need to guarantee that groups of processes used to validate an operation by voting pairwise +intersect in at least one server. Using majorities guarantees such a property. +However, there are other ways of constructing quorums. For example, we can assign +weights to the votes of servers, and say that the votes of some servers are more important. +To obtain a quorum, we get enough votes so that the sum of weights of all votes is larger +than half of the total sum of all weights.

+

A different construction that uses weights and is useful in wide-area deployments is a +hierarchical one. With this construction, we split the servers into disjoint groups and +assign weights to processes. To form a quorum, we have to get enough servers from a majority +of groups G, such that for each group g in G, the sum of votes from g is larger than half of +the sum of weights in g. Interestingly, this construction enables smaller quorums. If we have +9 servers split into 3 groups with a weight of 1 each, we are able to form quorums of size 4. +Note that two subsets of processes each composed of a majority of servers from a majority of +groups necessarily have a non-empty intersection. It is reasonable to expect that a majority +of co-locations will have a majority of servers available with high probability.

+

ZooKeeper provides users with the ability to configure servers to use majority quorums, +weighted quorums, or a hierarchy of groups.

+

Logging

+

ZooKeeper uses slf4j as an abstraction layer for logging. +Logback has been chosen as the logging backend since ZooKeeper 3.8.0. +For better embedding support, it is planned in the future to leave the choice of logging +implementation to the end user. Therefore, always use the slf4j API for log statements in code, +but configure Logback for runtime logging behavior. +Note that slf4j has no FATAL level; former FATAL-level messages have been moved to ERROR. +For information on configuring Logback for ZooKeeper, see the +Logging section of the +ZooKeeper Administrator's Guide.

+

Developer Guidelines

+

Follow the slf4j manual when creating log statements in +code. Also read the FAQ on logging performance. +Patch reviewers will look for the following:

+

Logging at the Right Level

+

There are several log levels in slf4j, in order of decreasing severity:

+
    +
  1. ERROR — error events that might still allow the application to continue running.
  2. +
  3. WARN — potentially harmful situations.
  4. +
  5. INFO — informational messages that highlight the progress of the application at a coarse-grained level.
  6. +
  7. DEBUG — fine-grained informational events most useful for debugging.
  8. +
  9. TRACE — finer-grained informational events than DEBUG.
  10. +
+

ZooKeeper is typically run in production such that INFO and above are output to the log.

+

Use of Standard slf4j Idioms

+

Static message logging:

+
LOG.debug("process completed successfully!");
+

For parameterized messages, use formatting anchors:

+
LOG.debug("got {} messages in {} minutes", new Object[]{count, time});
+

Naming: Loggers should be named after the class in which they are used.

+
public class Foo {
+    private static final Logger LOG = LoggerFactory.getLogger(Foo.class);
+
+    public Foo() {
+        LOG.info("constructing Foo");
+    }
+}
+

Exception handling:

+
try {
+    // code
+} catch (XYZException e) {
+    // do this
+    LOG.error("Something bad happened", e);
+    // don't do this (generally):
+    // LOG.error(e);
+    // the above hides the stack trace
+
+    // continue, recover, or rethrow as appropriate
+}
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/overview/quick-start.data b/content/docs/overview/quick-start.data new file mode 100644 index 00000000000..95e68c07e50 --- /dev/null +++ b/content/docs/overview/quick-start.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","overview/quick-start.mdx","url","/docs/overview/quick-start","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,37,43,46,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":6,"_19":25,"_13":34,"_27":35,"_21":-7,"_7":8,"_30":36},"Quick Start","This document contains information to get you started quickly with ZooKeeper.",{"_32":6},{"_11":38,"_19":25,"_13":39,"_27":40,"_21":-7,"_7":41,"_30":42},"overview/release-notes.mdx","Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.","/docs/overview/release-notes",{"_32":38},{"_11":44,"_19":20,"_21":-7,"_13":45},"#3","Developer",{"_19":47,"_13":48,"_21":-7,"_12":-7,"_49":-7,"_27":-7,"_50":51,"_15":56,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":52,"_19":25,"_13":48,"_27":53,"_21":-7,"_7":54,"_30":55},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":52},[57,63,69,75,81,87,93,99,105],{"_11":58,"_19":25,"_13":59,"_27":60,"_21":-7,"_7":61,"_30":62},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":58},{"_11":64,"_19":25,"_13":65,"_27":66,"_21":-7,"_7":67,"_30":68},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":64},{"_11":70,"_19":25,"_13":71,"_27":72,"_21":-7,"_7":73,"_30":74},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":70},{"_11":76,"_19":25,"_13":77,"_27":78,"_21":-7,"_7":79,"_30":80},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":76},{"_11":82,"_19":25,"_13":83,"_27":84,"_21":-7,"_7":85,"_30":86},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":82},{"_11":88,"_19":25,"_13":89,"_27":90,"_21":-7,"_7":91,"_30":92},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":88},{"_11":94,"_19":25,"_13":95,"_27":96,"_21":-7,"_7":97,"_30":98},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":94},{"_11":100,"_19":25,"_13":101,"_27":102,"_21":-7,"_7":103,"_30":104},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":100},{"_11":106,"_19":25,"_13":107,"_27":108,"_21":-7,"_7":109,"_30":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":47,"_13":148,"_21":-7,"_12":-7,"_49":-7,"_27":-7,"_50":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/overview/quick-start/index.html b/content/docs/overview/quick-start/index.html new file mode 100644 index 00000000000..1dd754b869e --- /dev/null +++ b/content/docs/overview/quick-start/index.html @@ -0,0 +1,286 @@ +Quick Start | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Quick Start

This document contains information to get you started quickly with ZooKeeper.

Coordinating Distributed Applications with ZooKeeper

+

The document is aimed primarily at developers hoping to try it out, and +contains simple installation instructions for a single ZooKeeper server, a +few commands to verify that it is running, and a simple programming +example. Finally, as a convenience, there are a few sections regarding +more complicated installations, for example running replicated +deployments, and optimizing the transaction log. However for the complete +instructions for commercial deployments, please refer to the ZooKeeper +Administrator's Guide.

+

Pre-requisites

+

See System Requirements in the Admin guide.

+

Download

+

To get a ZooKeeper distribution, download a recent +stable release from one of the Apache Download +Mirrors.

+

Standalone Operation

+

Setting up a ZooKeeper server in standalone mode is +straightforward. The server is contained in a single JAR file, +so installation consists of creating a configuration.

+

Once you've downloaded a stable ZooKeeper release unpack +it and cd to the root

+

To start ZooKeeper you need a configuration file. Here is a sample, +create it in conf/zoo.cfg:

+
tickTime=2000
+dataDir=/var/lib/zookeeper
+clientPort=2181
+

This file can be called anything, but for the sake of this +discussion call +it conf/zoo.cfg. Change the +value of dataDir to specify an +existing (empty to start with) directory. Here are the meanings +for each of the fields:

+
    +
  • tickTime : +the basic time unit in milliseconds used by ZooKeeper. It is +used to do heartbeats and the minimum session timeout will be +twice the tickTime.
  • +
  • dataDir : +the location to store the in-memory database snapshots and, +unless specified otherwise, the transaction log of updates to the +database.
  • +
  • clientPort : +the port to listen for client connections
  • +
+

Now that you created the configuration file, you can start +ZooKeeper:

+
bin/zkServer.sh start
+

ZooKeeper logs messages using logback — more detail +available in the +Logging +section of the Administrator's Guide. You will see log messages +coming to the console (default) and/or a log file depending on +the logback configuration.

+

The steps outlined here run ZooKeeper in standalone mode. There is +no replication, so if ZooKeeper process fails, the service will go down. +This is fine for most development situations, but to run ZooKeeper in +replicated mode, please see Running Replicated +ZooKeeper.

+

Managing ZooKeeper Storage

+

For long running production systems ZooKeeper storage must +be managed externally (dataDir and logs). See the section on +maintenance for +more details.

+

Connecting to ZooKeeper

+

Start zkCli.sh and connect to your ZooKeeper server. bin/zkCli.sh -server 127.0.0.1:2181

Run help to list commands and verify client connectivity.

Create, inspect, update, and delete a test znode to validate end-to-end +operation.

+

This lets you perform simple, file-like operations.

+

Once you have connected, you should see something like:

+
Connecting to localhost:2181
+...
+Welcome to ZooKeeper!
+JLine support is enabled
+[zkshell: 0]
+

From the shell, type help to get a listing of commands that can be executed from the client, as in:

+
[zkshell: 0] help
+ZooKeeper -server host:port cmd args
+addauth scheme auth
+close
+config [-c] [-w] [-s]
+connect host:port
+create [-s] [-e] [-c] [-t ttl] path [data] [acl]
+delete [-v version] path
+deleteall path
+delquota [-n|-b] path
+get [-s] [-w] path
+getAcl [-s] path
+getAllChildrenNumber path
+getEphemerals path
+history
+listquota path
+ls [-s] [-w] [-R] path
+printwatches on|off
+quit
+reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*]
+redo cmdno
+removewatches path [-c|-d|-a] [-l]
+set [-s] [-v version] path data
+setAcl [-s] [-v version] [-R] path acl
+setquota -n|-b val path
+stat [-w] path
+sync path
+

From here, you can try a few simple commands to get a feel for this simple command line interface. First, start by issuing the list command, as +in ls, yielding:

+
[zkshell: 8] ls /
+[zookeeper]
+

Next, create a new znode by running create /zk_test my_data. This creates a new znode and associates the string "my_data" with the node. +You should see:

+
[zkshell: 9] create /zk_test my_data
+Created /zk_test
+

Issue another ls / command to see what the directory looks like:

+
[zkshell: 11] ls /
+[zookeeper, zk_test]
+

Notice that the zk_test directory has now been created.

+

Next, verify that the data was associated with the znode by running the get command, as in:

+
[zkshell: 12] get /zk_test
+my_data
+cZxid = 5
+ctime = Fri Jun 05 13:57:06 PDT 2009
+mZxid = 5
+mtime = Fri Jun 05 13:57:06 PDT 2009
+pZxid = 5
+cversion = 0
+dataVersion = 0
+aclVersion = 0
+ephemeralOwner = 0
+dataLength = 7
+numChildren = 0
+

We can change the data associated with zk_test by issuing the set command, as in:

+
[zkshell: 14] set /zk_test junk
+cZxid = 5
+ctime = Fri Jun 05 13:57:06 PDT 2009
+mZxid = 6
+mtime = Fri Jun 05 14:01:52 PDT 2009
+pZxid = 5
+cversion = 0
+dataVersion = 1
+aclVersion = 0
+ephemeralOwner = 0
+dataLength = 4
+numChildren = 0
+[zkshell: 15] get /zk_test
+junk
+cZxid = 5
+ctime = Fri Jun 05 13:57:06 PDT 2009
+mZxid = 6
+mtime = Fri Jun 05 14:01:52 PDT 2009
+pZxid = 5
+cversion = 0
+dataVersion = 1
+aclVersion = 0
+ephemeralOwner = 0
+dataLength = 4
+numChildren = 0
+

(Notice we did a get after setting the data and it did, indeed, change.

+

Finally, let's delete the node by issuing:

+
[zkshell: 16] delete /zk_test
+[zkshell: 17] ls /
+[zookeeper]
+[zkshell: 18]
+

That's it for now. To explore more, see the Zookeeper CLI.

+

Programming to ZooKeeper

+

ZooKeeper has a Java bindings and C bindings. They are +functionally equivalent. The C bindings exist in two variants: single +threaded and multi-threaded. These differ only in how the messaging loop +is done. For more information, see the Programming +Examples in the ZooKeeper Programmer's Guide for +sample code using the different APIs.

+

Running Replicated ZooKeeper

+

Running ZooKeeper in standalone mode is convenient for evaluation, +some development, and testing. But in production, you should run +ZooKeeper in replicated mode. A replicated group of servers in the same +application is called a quorum, and in replicated +mode, all servers in the quorum have copies of the same configuration +file.

+

For replicated mode, a minimum of three servers are required,

+

and it is strongly recommended that you have an odd number of +servers. If you only have two servers, then you are in a +situation where if one of them fails, there are not enough +machines to form a majority quorum. Two servers are inherently +less stable than a single server, because there are two single +points of failure.

+

The required +conf/zoo.cfg +file for replicated mode is similar to the one used in standalone +mode, but with a few differences. Here is an example:

+
tickTime=2000
+dataDir=/var/lib/zookeeper
+clientPort=2181
+initLimit=5
+syncLimit=2
+server.1=zoo1:2888:3888
+server.2=zoo2:2888:3888
+server.3=zoo3:2888:3888
+

The new entry, initLimit is +timeouts ZooKeeper uses to limit the length of time the ZooKeeper +servers in quorum have to connect to a leader. The entry syncLimit limits how far out of date a server can +be from a leader.

+

With both of these timeouts, you specify the unit of time using +tickTime. In this example, the timeout +for initLimit is 5 ticks at 2000 milliseconds a tick, or 10 +seconds.

+

The entries of the form server.X list the +servers that make up the ZooKeeper service. When the server starts up, +it knows which server it is by looking for the file +myid in the data directory. That file has the +contains the server number, in ASCII.

+

Finally, note the two port numbers after each server +name: " 2888" and "3888". Peers use the former port to connect +to other peers. Such a connection is necessary so that peers +can communicate, for example, to agree upon the order of +updates. More specifically, a ZooKeeper server uses this port +to connect followers to the leader. When a new leader arises, a +follower opens a TCP connection to the leader using this +port. Because the default leader election also uses TCP, we +currently require another port for leader election. This is the +second port in the server entry.

+

If you want to test multiple servers on a single machine, specify the +servername as localhost with unique quorum & leader election ports (i.e. +2888:3888, 2889:3889, 2890:3890 in the example above) for each server.X in +that server's config file. Of course separate _dataDir_s and distinct +_clientPort_s are also necessary (in the above replicated example, running on +a single localhost, you would still have three config files).

+
+

Please be aware that setting up multiple servers on a single +machine will not create any redundancy. If something were to +happen which caused the machine to die, all of the zookeeper +servers would be offline. Full redundancy requires that each +server have its own machine. It must be a completely separate +physical server. Multiple virtual machines on the same physical +host are still vulnerable to the complete failure of that host.

+
+
+

If you have multiple network interfaces in your ZooKeeper machines, +you can also instruct ZooKeeper to bind on all of your interfaces and +automatically switch to a healthy interface in case of a network failure. +For details, see the Configuration Parameters.

+
+

Other Optimizations

+

There are a couple of other configuration parameters that can +greatly increase performance:

+
    +
  • To get low latencies on updates it is important to +have a dedicated transaction log directory. By default +transaction logs are put in the same directory as the data +snapshots and myid file. The dataLogDir +parameters indicates a different directory to use for the +transaction logs.
  • +
Edit on GitHub
\ No newline at end of file diff --git a/content/docs/overview/release-notes.data b/content/docs/overview/release-notes.data new file mode 100644 index 00000000000..65e3d2d0eaa --- /dev/null +++ b/content/docs/overview/release-notes.data @@ -0,0 +1 @@ +[{"_1":2},"routes/_docs/docs",{"_3":4},"data",{"_5":6,"_7":8,"_9":10},"path","overview/release-notes.mdx","url","/docs/overview/release-notes","tree",{"_11":12,"_13":14,"_15":16},"$id","root","name","Multi-Page Documentation","children",[17,23,33,39,43,46,115,121,127,133,139,144,147,200,206,212,218,224,230,236,242,248,254,257,263,266,269,272],{"_11":18,"_19":20,"_21":-7,"_13":22},"#0","type","separator","icon","Getting Started",{"_11":24,"_19":25,"_13":26,"_27":28,"_21":-7,"_7":29,"_30":31},"index.mdx","page","Overview","description","Official Apache ZooKeeper documentation covering installation, configuration, the data model, client APIs, administration, and operations.","/docs","$ref",{"_32":24},"file",{"_11":34,"_19":25,"_13":35,"_27":36,"_21":-7,"_7":37,"_30":38},"overview/quick-start.mdx","Quick Start","This document contains information to get you started quickly with ZooKeeper.","/docs/overview/quick-start",{"_32":34},{"_11":6,"_19":25,"_13":40,"_27":41,"_21":-7,"_7":8,"_30":42},"Release Notes","Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.",{"_32":6},{"_11":44,"_19":20,"_21":-7,"_13":45},"#3","Developer",{"_19":47,"_13":48,"_21":-7,"_12":-7,"_49":-7,"_27":-7,"_50":51,"_15":56,"_11":111,"_30":112},"folder","Programmer's Guide","defaultOpen","index",{"_11":52,"_19":25,"_13":48,"_27":53,"_21":-7,"_7":54,"_30":55},"developer/programmers-guide/index.mdx","This document is a guide for developers wishing to create distributed applications that take advantage of ZooKeeper's coordination services. It contains conceptual and practical information.","/docs/developer/programmers-guide",{"_32":52},[57,63,69,75,81,87,93,99,105],{"_11":58,"_19":25,"_13":59,"_27":60,"_21":-7,"_7":61,"_30":62},"developer/programmers-guide/data-model.mdx","Data Model","Explains ZooKeeper's hierarchical namespace of znodes, including data access rules, ephemeral and sequence nodes, container nodes, TTL nodes, and the stat structure.","/docs/developer/programmers-guide/data-model",{"_32":58},{"_11":64,"_19":25,"_13":65,"_27":66,"_21":-7,"_7":67,"_30":68},"developer/programmers-guide/sessions.mdx","Sessions","Covers ZooKeeper client sessions: connection states, session timeouts, expiration, password-based recovery, and how clients connect to a ZooKeeper ensemble.","/docs/developer/programmers-guide/sessions",{"_32":64},{"_11":70,"_19":25,"_13":71,"_27":72,"_21":-7,"_7":73,"_30":74},"developer/programmers-guide/watches.mdx","Watches","Describes ZooKeeper watches — one-time event triggers sent to clients when znode data or children change — including watch semantics, guarantees, and removal.","/docs/developer/programmers-guide/watches",{"_32":70},{"_11":76,"_19":25,"_13":77,"_27":78,"_21":-7,"_7":79,"_30":80},"developer/programmers-guide/consistency-guarantees.mdx","Consistency Guarantees","Details ZooKeeper's consistency guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness, and how they compare to other distributed systems.","/docs/developer/programmers-guide/consistency-guarantees",{"_32":76},{"_11":82,"_19":25,"_13":83,"_27":84,"_21":-7,"_7":85,"_30":86},"developer/programmers-guide/access-control-using-acls.mdx","Access Control using ACLs","Explains ZooKeeper's ACL-based access control for znodes, including permission types, built-in ACL schemes (world, auth, digest, host, IP), and the C client API.","/docs/developer/programmers-guide/access-control-using-acls",{"_32":82},{"_11":88,"_19":25,"_13":89,"_27":90,"_21":-7,"_7":91,"_30":92},"developer/programmers-guide/pluggable-authentication.mdx","Pluggable Authentication","Describes ZooKeeper's pluggable authentication framework, how authentication plugins authenticate clients and match ACL entries, and how to add a custom scheme.","/docs/developer/programmers-guide/pluggable-authentication",{"_32":88},{"_11":94,"_19":25,"_13":95,"_27":96,"_21":-7,"_7":97,"_30":98},"developer/programmers-guide/bindings.mdx","Bindings","Documents the Java and C client library bindings for ZooKeeper, including the ZooKeeper class, callbacks, POSIX-style C API, multithreaded and single-threaded libraries.","/docs/developer/programmers-guide/bindings",{"_32":94},{"_11":100,"_19":25,"_13":101,"_27":102,"_21":-7,"_7":103,"_30":104},"developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations.mdx","Building Blocks: A Guide to ZooKeeper Operations","A practical reference for all operations a developer can perform against a ZooKeeper server, covering error handling, connecting, and the full synchronous and asynchronous API.","/docs/developer/programmers-guide/building-blocks-a-guide-to-zookeeper-operations",{"_32":100},{"_11":106,"_19":25,"_13":107,"_27":108,"_21":-7,"_7":109,"_30":110},"developer/programmers-guide/gotchas-common-problems-and-troubleshooting.mdx","Gotchas: Common Problems and Troubleshooting","Common pitfalls and troubleshooting tips for ZooKeeper application developers, covering watches, server failures, connection loss, performance, and recoverable errors.","/docs/developer/programmers-guide/gotchas-common-problems-and-troubleshooting",{"_32":106},"developer/programmers-guide",{"_113":114},"metaFile","developer/programmers-guide/meta.json",{"_11":116,"_19":25,"_13":117,"_27":118,"_21":-7,"_7":119,"_30":120},"developer/use-cases.mdx","Use Cases","A catalog of real-world projects and organizations that use Apache ZooKeeper for distributed coordination.","/docs/developer/use-cases",{"_32":116},{"_11":122,"_19":25,"_13":123,"_27":124,"_21":-7,"_7":125,"_30":126},"developer/java-example.mdx","Java Example","Walks through building a complete ZooKeeper watch client in Java, covering the Executor and DataMonitor design, watcher callbacks, and handling connection state changes.","/docs/developer/java-example",{"_32":122},{"_11":128,"_19":25,"_13":129,"_27":130,"_21":-7,"_7":131,"_30":132},"developer/basic-tutorial.mdx","Basic tutorial","Step-by-step tutorial implementing ZooKeeper-based Barrier and Queue primitives in Java, demonstrating watches, ephemeral nodes, and sequential znodes for distributed coordination.","/docs/developer/basic-tutorial",{"_32":128},{"_11":134,"_19":25,"_13":135,"_27":136,"_21":-7,"_7":137,"_30":138},"developer/recipes.mdx","Recipes and Solutions","Guidelines for using ZooKeeper to implement higher-order constructs such as barriers, queues, locks, and leader election.","/docs/developer/recipes",{"_32":134},{"_19":25,"_21":-7,"_13":140,"_7":141,"_142":143},"API Docs","https://zookeeper.apache.org/doc/current/apidocs/zookeeper-server/index.html","external",true,{"_11":145,"_19":20,"_21":-7,"_13":146},"#6","Admin & Ops",{"_19":47,"_13":148,"_21":-7,"_12":-7,"_49":-7,"_27":-7,"_50":149,"_15":154,"_11":197,"_30":198},"Administrator's Guide",{"_11":150,"_19":25,"_13":148,"_27":151,"_21":-7,"_7":152,"_30":153},"admin-ops/administrators-guide/index.mdx","This document is a guide for operators deploying and managing ZooKeeper in production environments. It covers the full lifecycle of running a ZooKeeper ensemble: hardware and software requirements, configuration, day-to-day administration, monitoring, and troubleshooting.","/docs/admin-ops/administrators-guide",{"_32":150},[155,161,167,173,179,185,191],{"_11":156,"_19":25,"_13":157,"_27":158,"_21":-7,"_7":159,"_30":160},"admin-ops/administrators-guide/deployment.mdx","Deployment","Covers ZooKeeper deployment requirements and setup: supported platforms, system requirements, clustered multi-server ensemble configuration, and single-server developer setup.","/docs/admin-ops/administrators-guide/deployment",{"_32":156},{"_11":162,"_19":25,"_13":163,"_27":164,"_21":-7,"_7":165,"_30":166},"admin-ops/administrators-guide/administration.mdx","Administration","Operational guidance for running a ZooKeeper cluster, including provisioning, maintenance tasks, data directory cleanup, supervision, monitoring, logging, and troubleshooting.","/docs/admin-ops/administrators-guide/administration",{"_32":162},{"_11":168,"_19":25,"_13":169,"_27":170,"_21":-7,"_7":171,"_30":172},"admin-ops/administrators-guide/configuration-parameters.mdx","Configuration Parameters","Complete reference for all ZooKeeper configuration parameters, including minimum and advanced settings, cluster options, encryption and authentication, performance tuning, and the AdminServer.","/docs/admin-ops/administrators-guide/configuration-parameters",{"_32":168},{"_11":174,"_19":25,"_13":175,"_27":176,"_21":-7,"_7":177,"_30":178},"admin-ops/administrators-guide/communication-using-the-netty-framework.mdx","Communication using the Netty framework","Explains how to configure ZooKeeper to use Netty instead of NIO for client/server communication, including Quorum TLS setup and zero-downtime migration from non-TLS clusters.","/docs/admin-ops/administrators-guide/communication-using-the-netty-framework",{"_32":174},{"_11":180,"_19":25,"_13":181,"_27":182,"_21":-7,"_7":183,"_30":184},"admin-ops/administrators-guide/commands.mdx","Commands","Reference for ZooKeeper's built-in commands: the four-letter words issued via telnet or nc, and the HTTP-based AdminServer interface with its endpoints and SSL/TLS configuration.","/docs/admin-ops/administrators-guide/commands",{"_32":180},{"_11":186,"_19":25,"_13":187,"_27":188,"_21":-7,"_7":189,"_30":190},"admin-ops/administrators-guide/data-file-management.mdx","Data File Management","Describes how ZooKeeper manages its data and transaction log directories, snapshot and log file lifecycle, file cleanup, and recovery using the TxnLogToolkit.","/docs/admin-ops/administrators-guide/data-file-management",{"_32":186},{"_11":192,"_19":25,"_13":193,"_27":194,"_21":-7,"_7":195,"_30":196},"admin-ops/administrators-guide/best-practices.mdx","Best Practices","Recommended best practices and common pitfalls to avoid when deploying and configuring ZooKeeper, covering server lists, transaction log placement, Java heap sizing, and more.","/docs/admin-ops/administrators-guide/best-practices",{"_32":192},"admin-ops/administrators-guide",{"_113":199},"admin-ops/administrators-guide/meta.json",{"_11":201,"_19":25,"_13":202,"_27":203,"_21":-7,"_7":204,"_30":205},"admin-ops/quota-guide.mdx","Quota Guide","ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas.","/docs/admin-ops/quota-guide",{"_32":201},{"_11":207,"_19":25,"_13":208,"_27":209,"_21":-7,"_7":210,"_30":211},"admin-ops/snapshot-and-restore-guide.mdx","Snapshot and Restore Guide","How to use ZooKeeper's snapshot and restore APIs to recover a cluster from quorum loss or catastrophic failure.","/docs/admin-ops/snapshot-and-restore-guide",{"_32":207},{"_11":213,"_19":25,"_13":214,"_27":215,"_21":-7,"_7":216,"_30":217},"admin-ops/jmx.mdx","JMX","How to enable and use JMX monitoring and management for ZooKeeper ensembles, including starting with JMX, connecting via jconsole, and a full MBean reference for replicated and standalone servers.","/docs/admin-ops/jmx",{"_32":213},{"_11":219,"_19":25,"_13":220,"_27":221,"_21":-7,"_7":222,"_30":223},"admin-ops/quorums.mdx","Quorums","How to configure ZooKeeper quorums: hierarchical quorums using server groups and weights, and Oracle Quorum for increasing availability in two-instance clusters.","/docs/admin-ops/quorums",{"_32":219},{"_11":225,"_19":25,"_13":226,"_27":227,"_21":-7,"_7":228,"_30":229},"admin-ops/observers-guide.mdx","Observers","How ZooKeeper Observers enable scaling to large numbers of clients without hurting write performance, by using non-voting ensemble members that can be added freely without affecting quorum.","/docs/admin-ops/observers-guide",{"_32":225},{"_11":231,"_19":25,"_13":232,"_27":233,"_21":-7,"_7":234,"_30":235},"admin-ops/dynamic-reconfiguration.mdx","Dynamic Reconfiguration","How to use ZooKeeper's dynamic reconfiguration support (available since 3.5.0) to change ensemble membership, server roles, ports, and the quorum system at runtime without service interruption.","/docs/admin-ops/dynamic-reconfiguration",{"_32":231},{"_11":237,"_19":25,"_13":238,"_27":239,"_21":-7,"_7":240,"_30":241},"admin-ops/cli.mdx","CLI","Reference guide for all zkCli.sh commands, with examples showing command syntax, options, and expected output.","/docs/admin-ops/cli",{"_32":237},{"_11":243,"_19":25,"_13":244,"_27":245,"_21":-7,"_7":246,"_30":247},"admin-ops/tools.mdx","Tools","Reference for the scripts and tools bundled with ZooKeeper — including server management scripts, snapshot and transaction log utilities, benchmark tools, and testing frameworks.","/docs/admin-ops/tools",{"_32":243},{"_11":249,"_19":25,"_13":250,"_27":251,"_21":-7,"_7":252,"_30":253},"admin-ops/monitor-and-audit-logs.mdx","Monitor & Audit Logs","How to monitor ZooKeeper with Prometheus, Grafana, and InfluxDB metrics, and how to enable and configure audit logging to track operations performed on the cluster.","/docs/admin-ops/monitor-and-audit-logs",{"_32":249},{"_11":255,"_19":20,"_21":-7,"_13":256},"#8","Miscellaneous",{"_11":258,"_19":25,"_13":259,"_27":260,"_21":-7,"_7":261,"_30":262},"miscellaneous/internals.mdx","Internals","This document covers the inner workings of ZooKeeper, including the atomic broadcast protocol, consistency guarantees, quorum design, and logging conventions.","/docs/miscellaneous/internals",{"_32":258},{"_19":25,"_21":-7,"_13":264,"_7":265,"_142":-7},"Mailing Lists","/mailing-lists",{"_19":25,"_21":-7,"_13":267,"_7":268,"_142":143},"Wiki","https://cwiki.apache.org/confluence/display/ZOOKEEPER",{"_19":25,"_21":-7,"_13":270,"_7":271,"_142":143},"FAQ","https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ",{"_19":25,"_21":-7,"_13":273,"_7":274,"_142":143},"All docs for LLMs","/llms-full.txt"] diff --git a/content/docs/overview/release-notes/index.html b/content/docs/overview/release-notes/index.html new file mode 100644 index 00000000000..fd0af3f2e6d --- /dev/null +++ b/content/docs/overview/release-notes/index.html @@ -0,0 +1,309 @@ +Release Notes | Zookeeper
ZooKeeper favicon

Apache ZooKeeper

Release Notes

Release notes for ZooKeeper 3.9.x, including new features, bug fixes, improvements, and breaking changes.

Release Notes - ZooKeeper - Version 3.9.5

+

Sub-task

+
    +
  • ZOOKEEPER-842 - stat calls static method on org.apache.zookeeper.server.DataTree
  • +
+

Bug

+
    +
  • ZOOKEEPER-4736 - socket fd leak
  • +
  • ZOOKEEPER-4871 - ZooKeeper python module (zkpython) is incompatible with Python 3.12
  • +
  • ZOOKEEPER-4958 - "ssl.clientHostnameVerification" is ignored if "ssl.authProvider" is configured to "x509"
  • +
  • ZOOKEEPER-4974 - Remove enforced JDK 17 compilation warnings
  • +
  • ZOOKEEPER-4984 - Upgrade OWASP plugin to 12.1.6 due to breaking changes in the API
  • +
  • ZOOKEEPER-4986 - Disable reverse DNS lookup in TLS client and server
  • +
  • ZOOKEEPER-4989 - Compilation of client on Windows with MSVC is broken
  • +
+

Improvement

+
    +
  • ZOOKEEPER-3938 - Upgrade jline to version 3.x.
  • +
  • ZOOKEEPER-4955 - Fix interference with jvm ssl properties for ssl.crl and ssl.ocsp
  • +
  • ZOOKEEPER-4962 - Add getPort and getSecurePort for ZooKeeperServerEmbedded
  • +
  • ZOOKEEPER-4965 - Drop unnecessary @SuppressWarnings("deprecation")
  • +
  • ZOOKEEPER-4970 - Deprecate methods of ZKConfig which throw QuorumPeerConfig.ConfigException
  • +
+

Test

+
    +
  • ZOOKEEPER-4780 - Avoid creating temporary files in source directory.
  • +
+

Task

+
    +
  • ZOOKEEPER-4976 - Update Netty to fix CVE-2025-58057
  • +
  • ZOOKEEPER-5017 - Upgrade Netty to 4.1.130.Final to address CVE-2025-67735
  • +
  • ZOOKEEPER-5018 - Upgrade Jetty to 9.4.58.v20250814 in order to fix CVE-2025-5115
  • +
+
+

Release Notes - ZooKeeper - Version 3.9.4

+

Breaking Changes

+

ZOOKEEPER-4891 updates logback-classic to 1.3.15 to solve CVE issues and slf4j-api to 2.0.13 to meet the compatibility requirement of logback.

+

This could cause slf4j to complain "No SLF4J providers were found" and output no further logs in certain conditions:

+
    +
  1. For library or client usage, this could happen if you specify and inherit incompatible slf4j and logback versions, say, slf4j-api:2.0.13 from org.apache.zookeeper:zookeeper and logback-classic:1.2.13 from customized project dependencies.
  2. +
  3. For application or deployment usage, this could happen if you custom and inherit incompatible slf4j and logback versions in classpath, say, slf4j-api:2.0.13 from zookeeper distribution and logback-classic:1.2.13 from customization.
  4. +
+

This can be resolved by specifying compatible slf4j and logback versions in classpath, say, slf4j-api:2.0.13 and logback-classic:1.3.15.

+

Bug

+
    +
  • ZOOKEEPER-4020 - Memory leak in Zookeeper C Client
  • +
  • ZOOKEEPER-4240 - IPV6 support in ZooKeeper ACL
  • +
  • ZOOKEEPER-4604 - Creating a COMPLETION_STRING_STAT would set acl_result completion
  • +
  • ZOOKEEPER-4699 - zh->hostname heap-use-after-free in zookeeper_interest
  • +
  • ZOOKEEPER-4725 - TTL node creations do not appear in audit log
  • +
  • ZOOKEEPER-4787 - Failed to establish connection between zookeeper
  • +
  • ZOOKEEPER-4810 - Fix data race in format_endpoint_info()
  • +
  • ZOOKEEPER-4819 - Can't seek for writable tls server if connected to readonly server
  • +
  • ZOOKEEPER-4846 - Failure to reload database due to missing ACL
  • +
  • ZOOKEEPER-4848 - Possible stack overflow in setup_random
  • +
  • ZOOKEEPER-4858 - Remove the lock contention between snapshotting and the sync operation
  • +
  • ZOOKEEPER-4872 - SnapshotCommand should not perform fastForwardFromEdits
  • +
  • ZOOKEEPER-4886 - observer with small myid can't join SASL quorum
  • +
  • ZOOKEEPER-4889 - Fallback to DIGEST-MD5 auth mech should be disabled in Fips mode
  • +
  • ZOOKEEPER-4900 - Bump patch release of jetty to include CVE fix for CVE-2024-6763
  • +
  • ZOOKEEPER-4907 - Shouldn't throw "Len error" when server closing cause confusion
  • +
  • ZOOKEEPER-4909 - When a spurious wakeup occurs, the client's waiting time may exceed requestTimeout.
  • +
  • ZOOKEEPER-4919 - ResponseCache supposed to be a LRU cache
  • +
  • ZOOKEEPER-4921 - Zookeeper Client 3.9.3 Fails to Reconnect After Network Failures
  • +
  • ZOOKEEPER-4925 - Diff sync introduce hole in stale follower's committedLog which cause data loss in leading
  • +
  • ZOOKEEPER-4928 - Version in zookeeper_version.h is not updated
  • +
  • ZOOKEEPER-4933 - Connection throttle exception causing all connections to be rejected
  • +
  • ZOOKEEPER-4940 - Enabling zookeeper.ssl.ocsp with JRE TLS provider errors out
  • +
  • ZOOKEEPER-4953 - Fixing Typo In ZooKeeper Programmer's Guide
  • +
  • ZOOKEEPER-4960 - Upgrade OWASP plugin to 12.1.3 due to recent parsing errors
  • +
+

New Feature

+
    +
  • ZOOKEEPER-4895 - Introduce a helper function for C client to generate password for SASL authentication
  • +
+

Improvement

+
    +
  • ZOOKEEPER-4790 - TLS Quorum hostname verification breaks in some scenarios
  • +
  • ZOOKEEPER-4852 - Fix the bad "*uuuuu" mark in the ASF license
  • +
  • ZOOKEEPER-4891 - Update logback to 1.3.15 to fix CVE-2024-12798.
  • +
  • ZOOKEEPER-4902 - Document that read-only mode also enables isro 4lw
  • +
  • ZOOKEEPER-4906 - Log full exception details for server JAAS config failure
  • +
  • ZOOKEEPER-4944 - Cache zookeeper dists for end to end compatibility tests
  • +
  • ZOOKEEPER-4954 - Use FIPS style hostname verification when no custom truststore is specified
  • +
  • ZOOKEEPER-4964 - Check permissions individually during admin server auth
  • +
+

Task

+ +
+

Release Notes - ZooKeeper - Version 3.9.3

+

Bug

+
    +
  • ZOOKEEPER-2332 - Zookeeper failed to start for empty txn log
  • +
  • ZOOKEEPER-2623 - CheckVersion outside of Multi causes NullPointerException
  • +
  • ZOOKEEPER-4293 - Lock Contention in ClientCnxnSocketNetty (possible deadlock)
  • +
  • ZOOKEEPER-4394 - Learner.syncWithLeader got NullPointerException
  • +
  • ZOOKEEPER-4409 - NullPointerException in SendAckRequestProcessor
  • +
  • ZOOKEEPER-4508 - ZooKeeper client run to endless loop in ClientCnxn.SendThread.run if all server down
  • +
  • ZOOKEEPER-4712 - Follower.shutdown() and Observer.shutdown() do not correctly shutdown the syncProcessor, which may lead to data inconsistency
  • +
  • ZOOKEEPER-4733 - non-return function error and asan error in CPPUNIT TESTs
  • +
  • ZOOKEEPER-4752 - Remove version files in zookeeper-server/src/main from .gitignore
  • +
  • ZOOKEEPER-4804 - Use daemon threads for Netty client
  • +
  • ZOOKEEPER-4814 - Protocol desynchronization after Connect for (some) old clients
  • +
  • ZOOKEEPER-4839 - When DigestMD5 is used to enable mandatory client authentication, users that do not exist can log in
  • +
  • ZOOKEEPER-4843 - Encountering an 'Unreasonable Length' error when configuring jute.maxbuffer to 1GB or more
  • +
  • ZOOKEEPER-4876 - jetty-http-9.4.53.v20231009.jar: CVE-2024-6763(3.7)
  • +
+

New Feature

+
    +
  • ZOOKEEPER-4747 - Java api lacks synchronous version of sync() call
  • +
+

Improvement

+
    +
  • ZOOKEEPER-4850 - Enhance zkCli Tool to Support Reading and Writing Binary Data
  • +
  • ZOOKEEPER-4851 - Honor X-Forwarded-For optionally in IPAuthenticationProvider
  • +
  • ZOOKEEPER-4860 - Disable X-Forwarded-For in IPAuthenticationProvider by default
  • +
+

Test

+ +

Task

+ +
+

Release Notes - ZooKeeper - Version 3.9.2

+

Sub-task

+
    +
  • ZOOKEEPER-910 - Use SelectionKey.isXYZ() methods instead of complicated binary logic
  • +
  • ZOOKEEPER-4728 - Zookeeper cannot bind to itself forever if DNS is not ready when startup
  • +
+

Bug

+
    +
  • ZOOKEEPER-2590 - exists() should check read ACL permission
  • +
  • ZOOKEEPER-4236 - Java Client SendThread create many unnecessary Login objects
  • +
  • ZOOKEEPER-4415 - Zookeeper 3.7.0 : The client supported protocol versions [TLSv1.3] are not accepted by server preferences
  • +
  • ZOOKEEPER-4730 - Incorrect datadir and logdir size reported from admin and 4lw dirs command
  • +
  • ZOOKEEPER-4785 - Txn loss due to race condition in Learner.syncWithLeader() during DIFF sync
  • +
+

Improvement

+
    +
  • ZOOKEEPER-3486 - add the doc about how to configure SSL/TLS for the admin server
  • +
  • ZOOKEEPER-4756 - Merge script should use GitHub api to merge pull requests
  • +
  • ZOOKEEPER-4778 - Patch jetty, netty, and logback to remove high severity vulnerabilities
  • +
  • ZOOKEEPER-4794 - Reduce the ZKDatabase#committedLog memory usage
  • +
  • ZOOKEEPER-4799 - Refactor ACL check in addWatch command
  • +
  • ZOOKEEPER-4801 - Add memory size limitation policy for ZkDataBase#committedLog
  • +
+

Wish

+ +
+

Release Notes - ZooKeeper - Version 3.9.1

+

Improvement

+ +

Task

+
    +
  • ZOOKEEPER-4751 - Update snappy-java to 1.1.10.5 to address CVE-2023-43642
  • +
  • ZOOKEEPER-4754 - Update Jetty to avoid CVE-2023-36479, CVE-2023-40167, and CVE-2023-41900
  • +
  • ZOOKEEPER-4755 - Handle Netty CVE-2023-4586
  • +
+
+

Release Notes - ZooKeeper - Version 3.9.0

+

Sub-task

+ +

Bug

+
    +
  • ZOOKEEPER-2108 - Compilation error in ZkAdaptor.cc with GCC 4.7 or later
  • +
  • ZOOKEEPER-3652 - Improper synchronization in ClientCnxn
  • +
  • ZOOKEEPER-3908 - zktreeutil multiple issues
  • +
  • ZOOKEEPER-3996 - Flaky test: ReadOnlyModeTest.testConnectionEvents
  • +
  • ZOOKEEPER-4026 - CREATE2 requests embedded in a MULTI request only get a regular CREATE response
  • +
  • ZOOKEEPER-4296 - NullPointerException when ClientCnxnSocketNetty is closed without being opened
  • +
  • ZOOKEEPER-4308 - Flaky test: EagerACLFilterTest.testSetDataFail
  • +
  • ZOOKEEPER-4393 - Problem to connect to zookeeper in FIPS mode
  • +
  • ZOOKEEPER-4466 - Support different watch modes on same path
  • +
  • ZOOKEEPER-4471 - Remove WatcherType.Children break persistent watcher's child events
  • +
  • ZOOKEEPER-4473 - zooInspector create root node fail with path validate
  • +
  • ZOOKEEPER-4475 - Persistent recursive watcher got NodeChildrenChanged event
  • +
  • ZOOKEEPER-4477 - Single Kerberos ticket renewal failure can prevent all future renewals since Java 9
  • +
  • ZOOKEEPER-4504 - ZKUtil#deleteRecursive causing deadlock in HDFS HA functionality
  • +
  • ZOOKEEPER-4505 - CVE-2020-36518 - Upgrade jackson databind to 2.13.2.1
  • +
  • ZOOKEEPER-4511 - Flaky test: FileTxnSnapLogMetricsTest.testFileTxnSnapLogMetrics
  • +
  • ZOOKEEPER-4514 - ClientCnxnSocketNetty throwing NPE
  • +
  • ZOOKEEPER-4515 - ZK Cli quit command always logs error
  • +
  • ZOOKEEPER-4537 - Race between SyncThread and CommitProcessor thread
  • +
  • ZOOKEEPER-4549 - ProviderRegistry may be repeatedly initialized
  • +
  • ZOOKEEPER-4565 - Config watch path get truncated abnormally and fail chroot zookeeper client
  • +
  • ZOOKEEPER-4647 - Tests don't pass on JDK20 because we try to mock InetAddress
  • +
  • ZOOKEEPER-4654 - Fix C client test compilation error in Util.cc.
  • +
  • ZOOKEEPER-4674 - C client tests don't pass on CI
  • +
  • ZOOKEEPER-4719 - Use bouncycastle jdk18on instead of jdk15on
  • +
  • ZOOKEEPER-4721 - Upgrade OWASP Dependency Check to 8.3.1
  • +
+

New Feature

+
    +
  • ZOOKEEPER-4570 - Admin server API for taking snapshot and stream out the data
  • +
  • ZOOKEEPER-4655 - Communicate the Zxid that triggered a WatchEvent to fire
  • +
+

Improvement

+ +

Test

+
    +
  • ZOOKEEPER-4630 - Fix the NPE from ConnectionMetricsTest.testRevalidateCount
  • +
  • ZOOKEEPER-4676 - ReadOnlyModeTest doesn't compile on JDK20 (Thread.suspend has been removed)
  • +
+

Wish

+
    +
  • ZOOKEEPER-3615 - write a TLA+ specification to verify Zab protocol
  • +
  • ZOOKEEPER-4710 - Fix ZkUtil deleteInBatch() by releasing semaphore after set flag
  • +
  • ZOOKEEPER-4714 - Improve syncRequestProcessor performance
  • +
  • ZOOKEEPER-4715 - Verify file size and position in testGetCurrentLogSize.
  • +
+

Task

+
Edit on GitHub
\ No newline at end of file diff --git a/content/documentation.html b/content/documentation.html deleted file mode 100644 index 9264e6ad9ed..00000000000 --- a/content/documentation.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - Apache ZooKeeper - - - - - - - - - - - - - - - - diff --git a/content/events.html b/content/events.html deleted file mode 100644 index a79d1f5d438..00000000000 --- a/content/events.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - Apache ZooKeeper - - - - - - - - - - - -
- -

Events

-

Upcoming events

-

Current Apache Event

-

Past Events

-

FaceBook ZooKeeper Meetup

-

Your ZooKeeper friends @ Facebook would like to invite you to share and learn what’s new with ZooKeeper.

-

We will not only share what we at Facebook have been up to, but we have exciting talks from speakers from the ZooKeeper community lined up who are eager to share what they've been working on as well. And of course, we've got some cool swag for you :-)

-

When: November 8th 2018, 5pm – 8pm (Talks: 5pm - 7pm; Networking & Happy Hour/Networking: 7pm - 8pm)

-

Where: Facebook HQ - MPK 16, 1 Hacker Way, Menlo Park, CA

-

Agenda

-
    -
  • 5pm-5:15pm – Welcome/Registration
  • -
  • 5:15pm – 6:10pm – ZooKeeper @ Facebook
  • -
  • 6:15pm-6:35pm - Whats new in ZooKeeper 3.5 (Andor Molnar)
  • -
  • 6:40pm – 7:00pm – ZooKeeper @ Twitter (Michael Han)
  • -
-

We will have remote viewing locations in our Facebook Seattle office, and the event will also be live streamed. You can indicate how you'd like to attend on the registration page.

-

Recording: https://www.facebook.com/zkmeetup

-

10 years at Apache | ZooKeeper Meetup with Patrick Hunt

-

When: June 6th 2018, 6pm-8pm CEST

-

Where: Cloudera Budapest Office, Széchenyi István tér 7-8, Budapest, Hungary

-

Agenda:

-
    -
  • "Apache ZooKeeper - a short history" (Patrick Hunt)
  • -
-

Abstract: "Ten years at Apache - a short history of the Apache ZooKeeper project including insights on how to use it, when to use it, when not to use it, and experiences from running in production."

-

Interestingly ZooKeeper will be hitting it's 10 year anniversary at Apache while I'm in Budapest, see this: https://issues.apache.org/jira/browse/ZOOKEEPER-1

-
    -
  • What it feels like working on an Open Source project (Andor Molnar)
  • -
-

Abstract: Experiences of a Hungarian software engineer moved to the Open Source world recently from the traditional closed-source proprietary product development. The ladder of Apache: committer, PMC members, etc. Challenges in prioritization. Does scrum work with open source? Importance of socialization: how networking helps you to be successful

-

Recording: no recording

-
- - - - diff --git a/content/events/index.html b/content/events/index.html new file mode 100644 index 00000000000..fa5114ef3d5 --- /dev/null +++ b/content/events/index.html @@ -0,0 +1,66 @@ +Events - Apache ZooKeeper

Events

+

Upcoming Events

+

Current Apache Event

+

Past Events

+

Facebook ZooKeeper Meetup

+

Your ZooKeeper friends @ Facebook would like to invite you to share and learn what's new with ZooKeeper.

+

We will not only share what we at Facebook have been up to, but we have exciting talks from speakers from the ZooKeeper community lined up who are eager to share what they've been working on as well. And of course, we've got some cool swag for you :-)

+

When: November 8th 2018, 5pm – 8pm (Talks: 5pm - 7pm; Networking & Happy Hour: 7pm - 8pm)

+

Where: Facebook HQ — MPK 16, 1 Hacker Way, Menlo Park, CA

+

Agenda:

+
    +
  • 5:00pm – 5:15pm — Welcome/Registration
  • +
  • 5:15pm – 6:10pm — ZooKeeper @ Facebook
  • +
  • 6:15pm – 6:35pm — What's new in ZooKeeper 3.5 (Andor Molnar)
  • +
  • 6:40pm – 7:00pm — ZooKeeper @ Twitter (Michael Han)
  • +
+

We will have remote viewing locations in our Facebook Seattle office, and the event will also be live streamed. You can indicate how you'd like to attend on the registration page.

+

Recording: https://www.facebook.com/zkmeetup 

+
+

10 years at Apache | ZooKeeper Meetup with Patrick Hunt

+

When: June 6th 2018, 6pm – 8pm CEST

+

Where: Cloudera Budapest Office, Széchenyi István tér 7-8, Budapest, Hungary

+

Agenda:

+

"Apache ZooKeeper — a short history" (Patrick Hunt)

+

Ten years at Apache — a short history of the Apache ZooKeeper project including insights on how to use it, when to use it, when not to use it, and experiences from running in production.

+

Interestingly ZooKeeper will be hitting its 10 year anniversary at Apache while in Budapest — see ZOOKEEPER-1 .

+

"What it feels like working on an Open Source project" (Andor Molnar)

+

Experiences of a Hungarian software engineer moved to the Open Source world recently from the traditional closed-source proprietary product development. The ladder of Apache: committer, PMC members, etc. Challenges in prioritization. Does scrum work with open source? Importance of socialization: how networking helps you to be successful.

+

Recording: no recording

\ No newline at end of file diff --git a/content/favicon.ico b/content/favicon.ico new file mode 100644 index 00000000000..a19f0471504 Binary files /dev/null and b/content/favicon.ico differ diff --git a/content/fonts/inter-latin-wght-italic.woff2 b/content/fonts/inter-latin-wght-italic.woff2 new file mode 100644 index 00000000000..2f06c65192b Binary files /dev/null and b/content/fonts/inter-latin-wght-italic.woff2 differ diff --git a/content/fonts/inter-latin-wght-normal.woff2 b/content/fonts/inter-latin-wght-normal.woff2 new file mode 100644 index 00000000000..d15208de03c Binary files /dev/null and b/content/fonts/inter-latin-wght-normal.woff2 differ diff --git a/content/git.html b/content/git.html deleted file mode 100644 index 692f0031c85..00000000000 --- a/content/git.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - Apache ZooKeeper - - - - - - - - - - - -
- -

ZooKeeper Version Control System

-

The ZooKeeper source code resides in the Apache Git repository: https://gitbox.apache.org/repos/asf/zookeeper.git All commits and releases are done on this repository.

-

There is also a github mirror at: https://github.com/apache/zookeeper

-
- - - - diff --git a/content/images/asf-logo-with-feather.png b/content/images/asf-logo-with-feather.png deleted file mode 100644 index fef9e884e6d..00000000000 Binary files a/content/images/asf-logo-with-feather.png and /dev/null differ diff --git a/content/images/dark-theme-large-logo.svg b/content/images/dark-theme-large-logo.svg new file mode 100644 index 00000000000..fe0c9e4bf6c --- /dev/null +++ b/content/images/dark-theme-large-logo.svg @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Apache ZooKeeper logo + + + + image/svg+xml + + Apache ZooKeeper logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/images/favicon.ico b/content/images/favicon.ico deleted file mode 100644 index b6b6c2c6ef1..00000000000 Binary files a/content/images/favicon.ico and /dev/null differ diff --git a/content/images/feather_small.gif b/content/images/feather_small.gif deleted file mode 100644 index 94f1892bb45..00000000000 Binary files a/content/images/feather_small.gif and /dev/null differ diff --git a/content/images/large-logo.svg b/content/images/large-logo.svg new file mode 100644 index 00000000000..695f31dfc29 --- /dev/null +++ b/content/images/large-logo.svg @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Apache ZooKeeper logo + + + + image/svg+xml + + Apache ZooKeeper logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/images/logo.svg b/content/images/logo.svg new file mode 100644 index 00000000000..7d0da946df0 --- /dev/null +++ b/content/images/logo.svg @@ -0,0 +1,19 @@ + + \ No newline at end of file diff --git a/content/images/maven-feather.png b/content/images/maven-feather.png deleted file mode 100644 index b5ada836e9e..00000000000 Binary files a/content/images/maven-feather.png and /dev/null differ diff --git a/content/images/powered-by-apache-logo.png b/content/images/powered-by-apache-logo.png deleted file mode 100644 index 478a4a25360..00000000000 Binary files a/content/images/powered-by-apache-logo.png and /dev/null differ diff --git a/content/images/zookeeper_small.gif b/content/images/zookeeper_small.gif deleted file mode 100644 index 4e8014f8fe7..00000000000 Binary files a/content/images/zookeeper_small.gif and /dev/null differ diff --git a/content/index.html b/content/index.html index 4615e637085..f2aacf45310 100644 --- a/content/index.html +++ b/content/index.html @@ -1,126 +1,38 @@ - - - - - - - Apache ZooKeeper - - - - - - - - - -